Page MenuHomeFreeBSD

No OneTemporary

This file is larger than 256 KB, so syntax highlighting was skipped.
This document is not UTF8. It was detected as EUC-JP and converted to UTF8 for display.
diff --git a/ja/man/man1/ar.1 b/ja/man/man1/ar.1
index 8286323404..9c8968c352 100644
--- a/ja/man/man1/ar.1
+++ b/ja/man/man1/ar.1
@@ -1,314 +1,314 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Hugh Smith at The University of Guelph.
.\"
.\" 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.
.\"
.\" @(#)ar.1 8.1 (Berkeley) 6/29/93
-.\" %Id: ar.1,v 1.2.2.1 1997/06/24 06:35:04 charnier Exp %
+.\" %Id: ar.1,v 1.5 1997/06/23 06:41:29 charnier Exp %
.\" jpman %Id: ar.1,v 1.2 1997/03/29 02:06:03 horikawa Stab %
.\"
.Dd June 29, 1993
.Dt AR 1
.Sh 名称
.Nm ar
.Nd ライブラリアーカイブの作成およびメンテナンス
.Sh 書式
.Nm ar
.Fl d
.Op Fl \Tv
.Ar archive file ...
.Nm ar
.Fl m
.Op Fl \Tv
.Ar archive file ...
.Nm ar
.Fl m
.Op Fl abiTv
.Ar position archive file ...
.Nm ar
.Fl p
.Op Fl \Tv
.Ar archive [file ...]
.Nm ar
.Fl q
.Op Fl cTv
.Ar archive file ...
.Nm ar
.Fl r
.Op Fl cuTv
.Ar archive file ...
.Nm ar
.Fl r
.Op Fl abciuTv
.Ar position archive file ...
.Nm ar
.Fl t
.Op Fl \Tv
.Ar archive [file ...]
.Nm ar
.Fl x
.Op Fl ouTv
.Ar archive [file ...]
.Sh 解説
The
.Nm ar
ユーティリティは、ファイルの集まりであるアーカイブファイルの作成、およ
びそのアーカイブの整備を行ないます。いったんアーカイブを作成した
後は、新しいファイルの追加、存在しているファイルの展開、削除、置き換えな
ども行なうことが可能です。
.Pp
ファイルはアーカイブ内では、一つの要素で名づけられます。
つまり、スラッシュ(``/'')を含むパスで参照されたファイルは
そのパスの最後の要素によって名づけられるのです。
コマンドラインに並べられたパスをアーカイブ内のファイル名と一致させる
ときには、パスの最後の要素のみが比較されます。
.Pp
すべての情報およびエラーメッセージは、コマンドラインにパスが
指定されていれば、それを利用します。指定されていなければ、
アーカイブ内の名前を利用します。もし、アーカイブ内で複数のファイルが
同じ名前で存在しており、ある操作を行うためにアーカイブ
ファイルを``選択''するようコマンドラインにパスを並べた場合は、
.Em 最初に
名前の一致したファイルのみが選択されます。
.Pp
.Nm ar
の通常の利用方法は、ローダ(
.Xr ld 1
を参照してください)に適したライブラリの作成および整備です。しかし、
この目的に限定されているのではありません。
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl a
.Fl r
.Fl m
と共に用いられ、格納位置を修正します。
ファイルはアーカイブ内の要素である
.Ar position
.Em 後ろに
格納もしくは移動されます。
.Ar position
を指定する必要があります。
.It Fl b
.Fl r
.Fl m
と共に用いられ、格納位置を修正します。
ファイルはアーカイブ内の要素である
.Ar position
.Em 前に
格納もしくは移動されます。
.Ar position
を指定する必要があります。
.It Fl c
通常、アーカイブが作成されるときは、その動作状況についての
情報が、標準エラー出力に出力されます。
.Fl c
オプションが指定されると、
.Nm ar
はこの出力を行わなくなります。
.It Fl d
指定されたアーカイブファイルを削除します。
.It Fl i
.Fl b
オプションと同じです。
.It Fl m
指定されたアーカイブファイルをアーカイブ内に移動します。
.Fl a ,
.Fl b ,
.Fl i
のオプションの一つが指定された場合は、ファイルは
アーカイブ内のファイルである
.I position
の前後に移動されます。これらのオプションが指定されなかった場合には、
ファイルはアーカイブの最後に移動されます。
.It Fl o
展開されたファイルのアクセス時刻および修正時刻を、アーカイブに
格納された時点での修正時刻に合わせます。この操作は、ユーザが
そのファイルの所有者でもスーパユーザでもない場合には失敗します。
.It Fl p
指定されたアーカイブファイルの内容を標準出力に出力します。
ファイルが指定されなかった場合には、アーカイブ内のすべての
ファイルの内容が、アーカイブ内にある順番どおりに出力されます。
.It Fl q
指定されたファイルをアーカイブにすばやく追加します。アーカイブが
存在しない場合には、新たなアーカイブファイルが作成されます。
ファイルがアーカイブ内のファイルと重複していないかどうかを
調べないため、大きなアーカイブをすこしづつ作っている場合には
.Fl r
オプションより非常に高速です。
.It Fl r
指定されたファイルをアーカイブに追加、もしくは置換します。
アーカイブが存在しない場合には、新たなアーカイブファイルが
作成されます。すでにあるファイルを置換する場合にも、
アーカイブ内の順序は変化しません。
.Fl a ,
.Fl b ,
.Fl i
のいずれかの
オプションが指定されない限り、追加されるファイルは最後尾に
追加されます。
.It Fl T
アーカイブメンバを選択するとき、およびアーカイブメンバに
名前をつけるとき、アーカイブメンバ名やコマンドラインファイル名の
最初の15文字だけを利用するようにします。古いアーカイブ形式は
名前として16バイトの領域がありましたが、古いアーカイバや
ローダの中には、その領域すべてを使うような名前を扱えない実装の
ものもあったのです。これは、最初の15文字が等しいファイル名は
後で混同されるかもしれない、ということを意味しています。
もし、いずれかのファイル名が切り捨てられた場合には、標準エラー
出力に警告メッセージが出力されます。(さらに情報を得るには、
.Xr ar 5
を参照してください。)
.It Fl t
指定されたファイル名を、アーカイブ内に格納されている順で、
1行に1つずつ出力します。もしファイル名が指定されなかった場合には、
アーカイブ内のすべてのファイル名が出力されます。
.It Fl u
ファイルを更新します。
.Fl r
オプションと共に指定された場合には、
アーカイブ内のファイルの修正時刻よりもディスクのファイルの
修正時刻のほうが新しい場合のみ、アーカイブファイルが
置き換えられます。
.Fl x
オプションと共に指定された場合には、
ディスクのファイルの修正時刻よりもアーカイブ内のファイルの
修正時刻の方が新しい場合のみ、アーカイブファイルが展開されます。
.It Fl v
動作状況を詳しく出力します。
.Fl d ,
.Fl m ,
.Fl q ,
.Xl x
オプションと共に
指定された場合には、
.Nm ar
はアーカイブの変更について、ファイル
ごとに報告します。この情報は、空白で区切られた3つの
フィールド、すなわちオプション名、ダッシュ(``-'') 、
ファイル名から構成されています。
.Fl r
オプションと共に使われた
場合には、
.Nm ar
は上と同様の出力を行いますが、最初の文字は
ファイルがアーカイブに追加された場合は ``a''、アーカイブ内に
既にあるファイルを置き換えた場合には ``r'' となります。
.Pp
.Fl p
オプションと共に指定された場合には、
表示されるファイルそれぞれについて、
改行 1 つ、
``<'' と ``>'' に括られたファイルの名前、
改行 2 つ、
ファイルの内容の順で出力されます。
.Pp
.Fl t
オプションと共に指定された場合には、
.Nm ar
は ``ls -l'' の形式で
アーカイブのメンバについての情報を出力します。この情報は、
空白で区切られた8つのフィールド、すなわち、ファイルの
パーミッション(
.Xr strmode 3
を参照してください)、一つの
スラッシュ(``/'')で区切られた、10進数表現のユーザIDと
グループID、ファイルの大きさ(バイト単位)、ファイルの
修正時刻(
.Xr date 1
の``%b %e %H:%M %Y''形式)、ファイル名
から構成されています。
.It Fl x
指定されたアーカイブのメンバを、コマンドライン引数で
指定されたファイルに展開します。メンバが指定されなかった
場合には、アーカイブ内のすべてのメンバが現在のディレクトリに
展開されます。
.Pp
ファイルが存在しなかった場合には、作成されます。存在していた
場合には、所有者およびグループは変更されません。ファイルの
アクセス時刻および修正時刻は、(
.Fl o
オプションの指定がない限り)
展開を行った時刻となります。ファイルのパーミッションは、
アーカイブ内に格納された時点のものに設定されます。この操作は、
ユーザがそのファイルの所有者でもスーパユーザでもない場合には
失敗します。
.El
.Pp
.Nm ar
ユーティリティは、成功の場合には0、エラーが起きた
場合には0より大きい値を返します。
.Sh 環境変数
.Bl -tag -width indent -compact
.It Ev TMPDIR
テンポラリファイルを作成する時に使用されるディレクトリのパス名
.El
.Sh 関連ファイル
.Bl -tag -width indent -compact
.It Pa /tmp
デフォルトのテンポラリディレクトリ
.It Pa ar.XXXXXX
テンポラリファイル名
.El
.Sh 互換性
デフォルトでは、
.Nm ar
は古いアーカイブと互換性のないアーカイブを
作成するかもしれません。というのも、15文字よりも長いファイル名を
持ったアーカイブメンバの格納に用いるファイル形式が変更されたためです。
現在の
.Nm ar
の実装では、(
.Fl T
オプションを用いることによって)古い
アーカイブ形式の読み書きができるように、以前の
.Nm ar
との下位互換性が
あります。
.Fl T
オプションは互換性のためだけに用意されており、
将来のリリースでは削除されるかもしれません。さらに情報を得るには、
.Xr ar 5
を見てください。
.Sh 規格
.Nm ar
ユーティリティは
.St -p1003.2
の機能のスーパセットを提供しているはずです。
.Sh 関連項目
.Xr ld 1 ,
.Xr ranlib 1 ,
.Xr strmode 3 ,
.Xr ar 5
diff --git a/ja/man/man1/as.1 b/ja/man/man1/as.1
index 3844608f9a..883bbf0831 100644
--- a/ja/man/man1/as.1
+++ b/ja/man/man1/as.1
@@ -1,290 +1,291 @@
.\" Copyright (c) 1991, 1992 Free Software Foundation
.\" See section COPYING for conditions for redistribution
.TH as 1 "21 January 1992" "cygnus support" "GNU Development Tools"
+.\" %Id: as.1,v 1.8 1997/02/22 15:43:24 peter Exp %
.\" jpman %Id: as.1,v 1.3 1997/10/11 07:37:12 horikawa Stab %
.SH 名称
GNU as \- ポータブル GNU アセンブラ
.SH 書式
.na
.B as
.RB "[\|" \-a "\||\|" \-al "\||\|" -as\c
\&\|]
.RB "[\|" \-D "\|]"
.RB "[\|" \-f "\|]"
.RB "[\|" \-I
.I path\c
\&\|]
.RB "[\|" \-k "\|]"
.RB "[\|" \-K "\|]"
.RB "[\|" \-L "\|]"
.RB "[\|" \-o
.I objfile\c
\&\|]
.RB "[\|" \-R "\|]"
.RB "[\|" \-v "\|]"
.RB "[\|" \-w "\|]"
.RB "[\|" \-\^\- "\ |\ " \c
.I files\c
\&\|.\|.\|.\|]
.I i960 だけにあるオプション:
.br
.RB "[\|" \-ACA "\||\|" \-ACA_A "\||\|" \-ACB\c
.RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c
.RB "\||\|" \-AKC "\||\|" \-AMC "\|]"
.RB "[\|" \-b "\|]"
.RB "[\|" \-norelax "\|]"
.I m680x0 だけにあるオプション:
.br
.RB "[\|" \-l "\|]"
.RB "[\|" \-mc68000 "\||\|" \-mc68010 "\||\|" \-mc68020 "\|]"
.ad b
.SH 解説
GNU \c
.B as\c
\& とは、実は一連のアセンブラのことです。
もしあるアーキテクチャで GNU アセンブラを使う (もしくは、使った
ことがある) ならば、他のアーキテクチャで使う時もかなり似た環境となり
ます。それぞれのバージョンは他のバージョンと共通の部分が多くあります。
例えば、オブジェクトファイルフォーマットや
ほとんどのアセンブラディレクティブ (
\c
.I 疑似命令(pseudo-ops)
とも呼ばれます)\c
\& 、アセンブラシンタクスなどです。
GNU \c
.B as\c
のシンタクスや疑似命令(pseudo-ops)に関する情報については、
.B info \c
(もしくは、マニュアル \c
.I
.I
Using as: The GNU Assembler\c
\&)
\& `\|\c
.B as\c
\|' の項を参照してください。
\c
.B as\c
\& が作られた第一の目的は、GNU C コンパイラ \c
.B gcc\c
\& の出力をリンカ
.B ld\c
\& で使用できるようアセンブルすることです。
確かに、
.B as\c
\& が、
ネイティブアセンブラがアセンブルできるものはすべて
正しくアセンブルできるようにしようとしてきました。
このことは、\c
.B as\c
\& の用いるシンタクスが、
同一アーキテクチャの他のアセンブラと同じである、
ということを意味するものではありません。
たとえば、680x0 のアセンブラ言語
のシンタクスには互換性のないバージョンが存在することが知られてい
ます。
.B as\c
\& の起動 1 回ごとに、ちょうどひとつのソースプログラムだけをアセンブルします。
ソースプログラムはひとつ以上のファイルから構成されます。
(標準入力もファイルひとつとみなします。)
もし \c
.B as\c
\& にファイル名が指定されなければ、ひとつの入力ファイルが \c
.B as\c
\& の標準入力 (ふつうは端末) から読み出されます。\c
.B ctl-D\c
\& をタイプすることで、これ以上アセンブルするプログラムが存在しないこと
を \c
.B as\c
\& に通知します。
コマンドライン上で明示的に標準入力を指定する必要のある時は、`\|\c
.B \-\^\-\c
\|' を使ってください。
.B as\c
\& は、警告およびエラーメッセージを標準エラー出力 (通常は端末)
へ出力します。\c
.B as\c
\& が
コンパイラによって自動起動された場合は、この限りではありません。
警告とは、欠陥のあるプログラムのアセンブルを続行するために \c
.B as\c
\& が仮定した内容を報告したものです。
エラーは、アセンブルを続行できない重大な問題を表します。
.SH オプション
.TP
.BR \-a \||\| \-al \||\| \-as
アセンブル時のリスト出力を行ないます。`\|\c
.B \-al\c
\&\|'はリスト出力のみ、`\|\c
.B \-as\c
\&\|'はシンボル出力のみ、
`\|\c
.B \-a\c
\&\|'は両方の出力を行ないます。
.TP
.B \-D
このオプションは、他のアセンブラ呼び出しとの互換のために用意され
たものであり、 \c
.B as\c
\& では何の効果もありません。
.TP
.B \-f
``高速 (fast)''オプションです--プリプロセシングを行ないません (ソースはコンパ
イラの出力したものとみなします)。
.TP
.BI "\-I\ " path
.I path
.B .include
ディレクティブの検索リストに追加します。
.TP
.B \-k
gcc -fpic によって作成された、位置独立なコードを処理します。
.TP
.B \-k
gcc -fPIC によって作成された、位置独立なコードを処理します。
ふつうは -k オプションと同じことです。
.TP
.B \-L
`\|\c
.B L\c
\|' から始まるローカルシンボルを (シンボルテーブル内に) 保持します。
.TP
.BI "\-o\ " objfile
.B as
が出力するオブジェクトファイル名を指定します。
.TP
.B \-R
データセクションをテキストセクション内に押し込みます。
.TP
.B \-v
.B as\c
\& のバージョンを表示します。
.TP
.B \-W
警告メッセージの出力を抑制します。
.TP
.IR "\-\^\-" "\ |\ " "files\|.\|.\|."
アセンブル対象のソースファイルまたは標準入力 (\c
.BR "\-\^\-" ")\c"
を指定します。
.TP
.BI \-A var
.I
(Intel 960 用。)
960 アーキテクチャのどのプロセッサがターゲットかを指定します。
.TP
.B \-b
.I
(Intel 960 用)
条件分岐の統計情報を収集するコードを追加します。
.TP
.B \-norelax
.I
(Intel 960 用。)
ロングディスプレースメントの「比較-分岐」という命令列に対して
変更を加えません。
場合によってはエラーが発生します。
.TP
.B \-l
.I
(Motorola 68000 用)。
.br
2 ワードではなく、1 ワードの短い参照を未定義シンボルに適用します。
.TP
.BR "\-mc68000" "\||\|" "\-mc68010" "\||\|" "\-mc68020"
.I
(Motorola 68000用)。
.br
68000 ファミリのどのプロセッサがターゲットかを指定します
(デフォルトは 68020)。
.PP
オプションの記述順は自由であり、ファイル名の前や後、ファイル名の
間にも記述することができます。ファイル名の記述順は重要な意味を持ちます。
`\|\c
.B \-\^\-\c
\|' (2つのハイフン) をファイル名に指定することで、\c
.B as\c
\& がアセンブルするファイルのひとつとして標準入力を明示的に指定
できます。
ハイフン
(`\|\c
.B \-\c
\|') から始まるコマンドライン引数は、
`\|\c
.B \-\^\-\c
\|' を除き、すべてオプションです。それぞ
れのオプションは、\c
.B as\c
\&の振舞いを変更します。あるオプションが他のオプションの動作を変え
ることはありません。
オプションは `\|\c
.B \-\c
\|' に続けてひとつ以上の文字を書いて指定します; 英文字の大文字
小文字の区別は重要です。すべてのオプションは省略可能です。
`\|\c
.B \-o\c
\|' オプションの後には、ファイル名をひとつだけ指定します。ファイル名
は、オプション文字の直後に記述する (古いアセンブラとの互換) 形式、または
次のコマンド引数 (GNU 標準) として記述する形式の
いずれでも指定することができます。
つまり次の2つのコマンドラインは等価です:
.br
.B
as\ \ \-o\ \ my\-object\-file.o\ \ mumble.s
.br
.B
as\ \ \-omy\-object\-file.o\ \ mumble.s
.SH "関連項目"
.B
info\c
内の
.RB "`\|" as "\|'"
の項
.B
\&;
.I
Using as: The GNU Assembler\c
\&;
.BR gcc "(" 1 "),"
.BR ld "(" 1 ")."
.SH "歴史"
.I as
は、AT&T UNIX のバージョン1で初めて現れました。
.SH COPYING
Copyright (c) 1991, 1992 Free Software Foundation, Inc.
.PP
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.
.PP
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.
.PP
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.
diff --git a/ja/man/man1/at.1 b/ja/man/man1/at.1
index 71afa063b4..f4bf220ab2 100644
--- a/ja/man/man1/at.1
+++ b/ja/man/man1/at.1
@@ -1,264 +1,264 @@
-.\" %Id: at.man,v 1.4.2.1 1998/07/16 23:50:39 jkh Exp %
+.\" %Id: at.man,v 1.8 1998/06/04 21:05:53 steve Exp %
.\" jpman %Id: at.1,v 1.3 1997/08/05 18:36:01 george Stab %
.Dd April 12, 1995
.Dt "AT" 1
.Os "FreeBSD 2.1"
.Sh 名称
.Nm at, batch, atq, atrm
.Nd あとでジョブを実行させるためのキューの設定、確認、ジョブの削除をおこなう
.Sh 書式
.Nm at
.Op Fl V
.Op Fl q Ar queue
.Op Fl f Ar file
.Op Fl mldbv
.Ar time
.Pp
.Nm at
.Op Fl V
.Fl c Ar job Op Ar job ...
.Pp
.Nm atq
.Op Fl V
.Op Fl q Ar queue
.Op Fl v
.Pp
.Nm atrm
.Op Fl V
.Ar job
.Op Ar job ...
.Pp
.Nm batch
.Op Fl V
.Op Fl q Ar queue
.Op Fl f Ar file
.Op Fl mv
.Op Ar time
.Sh 解説
.Nm at
.Nm batch
ユーティリティは、標準入力もしくは指定したファイルからコマンドを読み
込み、あとで
.Xr sh 1
を使って実行します。
.Pp
コマンドの各機能を以下に示します:
.Bl -tag -width indent
.It Nm at
コマンドを、引数で指定した時間に実行します。
.It Nm atq
ユーザの、実行待ち状態のジョブのリストを表示します。
スーパーユーザが実行した場合は全員のジョブが表示されます。
.It Nm atrm
指定したジョブを削除します。
.It Nm batch
ロードアベレージが特定の値以下になったときにジョブを実行
します。この値は、デフォルトでは 1.5 です。
この値は
.Nm atrun
によって指定可能です。
.El
.Pp
.Nm at
では、様々な形式の時間を
.Ar time
として受け付けます。
時刻は
.Ar HHMM
もしくは
.Ar HH:MM
の形で指定します
(もしこの時刻が過ぎていた場合は、次の日のその時刻に設定されます)。また、
.Nm midnight ,
.Nm noon ,
.Nm teatime
(4pm) も受け付けますし、時刻の後ろに
.Nm am
もしくは
.Nm pm
をつけた時間も受け付けます。日付は、
.Ar \%month-name day
およびオプションの
.Ar year
の形で受け付けます。
.Ar MMDDYY
.Ar MM/DD/YY
.Ar DD.MM.YY
も受け付けます。
日付の指定は時刻の指定の後に記述します。
.Op Nm now
.Nm + Ar count \%time-units
のような形式で時間を指定することも可能です。time-units は時間の単位で、
.Nm minutes ,
.Nm hours ,
.Nm days ,
.Nm weeks
のいずれかです。時間のサフィックスの
.Nm today
はジョブを今日に設定すること、
.Nm tommorow
はジョブを明日に設定することを意味します。
たとえば、今から 3 日後の午後 4 時にジョブを走らせるためには
.Nm 4PM + 3 days
と指定します。7 月 31 日の午前 10 時の場合は
.Nm 10am Jul 31
と指定します。明日の午前 1 時は
.Nm 1am tomorrow
です。
.Pp
.Nm at
.Nm batch
では、標準入力または
.Fl f
オプションで指定したファイルからコマンドを読み込み、実行します。
ワーキングディレクトリと環境変数 (
.Ev TERM ,
.Ev TERMCAP ,
.Ev DISPLAY
および
.Nm _
は除く)、umask は実行時のものが保持されます。
.Nm at
もしくは
.Nm batch
.Xr su 1
で起動されたシェルから実行された場合は、カレントの userid を保持します。
出力結果が得られた場合は、
その標準出力と標準エラー出力がメールで送られます。メールは
.Xr sendmail 8
を使って送られます。もし
.Nm at
.Xr su 1
で起動されたシェルから実行された場合は、そのログインシェルの所有者が
メールを受けることになります。
.Pp
スーパユーザはどんな場合でもこれらのコマンドを実行できます。
その他のユーザは
.Pa /var/at/at.allow
.Pa /var/at/at.deny
のファイルによって実行できるか決められます。
.Pp
もし
.Pa /var/at/at.allow
が存在するならば、その中にユーザ名を記述されたユーザだけが
.Nm at
の実行を許可されます。
.Pp
もし
.Pa /var/at/at.allow
が存在しなかったら、
.Pa /var/at/at.deny
がチェックされ、その中にユーザ名が記述されていないすべてのユーザが
.Nm at
の実行を許可されます。
.Pp
もし両方ともなければ、スーパーユーザだけが
.Nm at
を実行できます。
これがデフォルトの設定です。
.Pp
空の
.Pa /var/at/at.deny
は全てのユーザがこれらのコマンドを使用できることを意味します。
.Sh オプション
オプションとしては以下のものがあります:
.Bl -tag -width indent
.It Fl V
標準エラー出力にバージョン番号を出力します。
.It Fl q Ar queue
指定したキューを用います。キューの名称は単一の文字からなります。
有効なキューの名前は
.Nm a
から
.Nm z
.Nm A
から
.Nm Z
です。
.Nm at
のデフォルトのキューは
.Nm c
で、
.Nm batch
のデフォルトのキューは
.Nm E
です。
キューの文字が後の方であればあるほど nice 値が上がります。
もし大文字のキューがジョブに対して指定されたならば、時間を指定して
batch が実行されたものとして扱われます。
もし
.Nm atq
でキューが指定されたときは、そのキューだけの実行待ちのジョブを表示します。
.It Fl m
出力がなかった場合でも、ジョブの完了時にメールをユーザに送ります。
.It Fl f Ar file
標準入力のかわりにファイルからジョブを読み込みます。
.It Fl l
.Nm atq
のエイリアス。
.It Fl d
.Nm atrm
のエイリアス。
.It Fl b
.Nm batch
のエイリアス。
.It Fl v
atq の場合は、キューの中の実行されたがまだ削除されていないジョブを
表示します。さもなければジョブが実行される時間を表示します。
.It Fl c
コマンドラインにリストされたジョブを標準出力に出力します。
.Sh 関連ファイル
.Bl -tag -width /var/at/jobs/.lockfile -compact
.It Pa /var/at/jobs
ジョブファイルを保管しておくディレクトリ
.It Pa /var/at/spool
出力ファイルを保管しておくディレクトリ
.It Pa /var/run/utmp
ログインレコード
.It Pa /var/at/at.allow
許可属性の設定
.It Pa /var/at/at.deny
不許可属性の設定
.It Pa /var/at/jobs/.lockfile
ジョブ作成のロックファイル
.El
.Sh 関連項目
.Xr cron 8 ,
.Xr nice 1 ,
.Xr umask 2 ,
.Xr sh 1 ,
.Xr sendmail 8 ,
.Xr atrun 8
.Sh バグ
.Pa /var/run/utmp
が利用できないか不正であった場合、もしくは
.Nm at
が実行された時にユーザがログインしていない場合、
メールは環境変数
.Nm LOGNAME
で表される userid に出されます。
もし定義されていないか空ならばカレントの userid になります。
.Pp
ユーザ同士でリソースの競合がある場合は現実装の
.Nm at
.Nm batch
は適当ではありません。
もしあなたのサイトがこのような場合にあてはまるのなら、
.Nm nqs
のようなバッチシステムを検討してください。
.Sh 作者
at のほとんどの部分は
.An Thomas Koenig Aq ig25@rz.uni-karlsruhe.de
によって作成されました。
時間の構文解析部分は
.An David Parsons Aq orc@pell.chi.il.us
によって作成されました。
diff --git a/ja/man/man1/awk.1 b/ja/man/man1/awk.1
index 58b1389537..b32a9500bd 100644
--- a/ja/man/man1/awk.1
+++ b/ja/man/man1/awk.1
@@ -1,1938 +1,2534 @@
.\" jpman %Id: awk.1,v 1.3 1997/04/17 13:23:21 horikawa Stab %
+.\" WORD: interval exptession インターバル表現
.ds PX \s-1POSIX\s+1
.ds UX \s-1UNIX\s+1
.ds AN \s-1ANSI\s+1
-.TH AWK 1 "Apr 18 1994" "Free Software Foundation" "Utility Commands"
+.TH GAWK 1 "Dec 19 1996" "Free Software Foundation" "Utility Commands"
.SH 名称
-awk \- GNU awk パターン検索・処理言語
+gawk \- パターン検索・処理言語
.SH 書式
.B awk
[ POSIX or GNU style options ]
.B \-f
.I program-file
[
.B \-\^\-
] file .\^.\^.
.br
-.B awk
+.B gawk
[ POSIX or GNU style options ]
[
.B \-\^\-
]
.I program-text
file .\^.\^.
.SH 解説
.I gawk
は GNU プロジェクトが実装した プログラミング言語 AWK の処理系です。
本処理系は \*(PX 1003.2 コマンド言語とユーティリティ規約に定められた
言語の定義に適合しています。
-本バージョンはまた、Aho、Kernighan、Weinberger の著書『
+本バージョンはまた、Aho, Kernighan, Weinberger の著書『
.I The AWK Programming Language
』の記述にもとづいており、
System V Release 4 \*(UX の
.I awk
の付加機能も含んでいます。
.I gawk
-はまた、GNU 独自の拡張も提供します。
+はまた、ベル研究所の新機能および GNU 独自の拡張も提供します。
.PP
コマンドラインは、
-.I awk
+.I gawk
へのオプション、(もし
.B \-f
または
.B \-\^\-file
オプションにより指定されていなければ)AWK のプログラムテキスト、そして
残りの引数列からなります。
この残りの引数列は、定義済み AWK 変数
.BR ARGC ,
.B ARGV
を用いることで参照できます。
-.SH オプション
+.SH オプションフォーマット
.PP
.I gawk
-へのオプションは、伝統的な \*(PX 形式の一文字オプションと、GNU 形式の
+へのオプションは、伝統的な \*(PX 形式の 1 文字オプションと、GNU 形式の
ロングオプションがあります。
\*(PX 形式のオプションは単一の ``\-'' で始まり、一方 GNU 形式のもの
-は ``\-\^\-'' で始まります。GNU 形式のロングオプションは GNU の独自仕様と
+は ``\-\^\-'' で始まります。ロングオプションは GNU の独自仕様と
\*(PX の必須仕様の両方について用意されています。
-他の実装による AWK では、伝統的な一文字オプションのみを受け付けるものが
-多いようです。
.PP
\*(PX 標準に従い、
-.I awk
+.I gawk
独自仕様のオプションは
.B \-W
オプションへの引数で与えます。
複数の
.B \-W
-オプションを指定することもできますし、
-複数の引数をコンマで区切って、もしくは引用符で括り空白で区切ることで
-一度にまとめて
-.B \-W
-オプションに与えることもできます。
-.B \-W
-オプションへの引数では、大文字小文字の区別は行なわれません。後述の
+オプションを指定することもできます。
+後述の
ように、各
.B \-W
-オプションには、それに対応する GNU 形式のロングオプション
-が存在します。GNU 形式のロングオプションへの引数は、空白を入れずに
+オプションには、それに対応するロングオプション
+が存在します。ロングオプションへの引数は、空白を入れずに
.B =
でつないで指定するか、その次のコマンドライン引数として渡すことができます。
-.PP
+ロングオプションは、短縮形が一意である限り、短縮することができます。
+.SH オプショオン
.I gawk
は以下のオプションを受け付けます。
.TP
.PD 0
.BI \-F " fs"
.TP
.PD
-.BI \-\^\-field-separator= fs
+.BI \-\^\-field-separator " fs"
入力フィールドセパレータ(変数
.B FS
の値)を
.I fs
とします。
.TP
.PD 0
\fB\-v\fI var\fB\^=\^\fIval\fR
.TP
.PD
-\fB\-\^\-assign=\fIvar\fB\^=\^\fIval\fR
+\fB\-\^\-assign \fIvar\fB\^=\^\fIval\fR
プログラムを実行する前に、変数
.I var
に値
.I val
を設定します。このようにして設定
した変数は、 AWK プログラムの
.B BEGIN
ブロック内でも参照できます。
.TP
.PD 0
.BI \-f " program-file"
.TP
.PD
-.BI \-\^\-file= program-file
+.BI \-\^\-file " program-file"
.B awk
-への第一引数を用いるかわりに、AWK プログラムをファイル
+への第 1 引数を用いるかわりに、AWK プログラムをファイル
.I program-file
から読み込みます。
.B \-f
(または
.B \-\^\-file
) オプションは複数回使
用することができます。
.TP
.PD 0
-.BI \-mf= NNN
+.BI \-mf " NNN"
.TP
-.BI \-mr= NNN
+.PD
+.BI \-mr " NNN"
さまざまなメモリの制限値を
.I NNN
に設定します。フラグ
.B f
は最大フィールド数、フラグ
.B r
-は最大レコードサイズを設定します。この2つのフラグと
+は最大レコードサイズを設定します。この 2 つのフラグと
.B \-m
-オプションは、AT&T ベル研究所バージョンの \*(UX
+オプションは、ベル研究所バージョンの \*(UX
.I awk
に由来しています。しかし、
-.I awk
+.I gawk
にはこのような制限はありませんので、
-.I awk
+.I gawk
では本オプションは無視されます。
-.TP \w'\fB\-\^\-copyright\fR'u+1n
+.TP
+.PD 0
+.B "-W traditional"
+.TP
.PD 0
.B "\-W compat"
.TP
+.PD 0
+.B \-\^\-traditional
+.TP
.PD
.B \-\^\-compat
.I 互換
モードで動作します。互換モードでは、
-.I awk
+.I gawk
は \*(UX
.I awk
と等価な動作を行い、GNU 独自拡張は解釈できません。
+このオプションの他の形式よりも、
+.B \-\^\-traditional
+を使用することが好まれます。
詳しくは後述の
.B "GNU 拡張"
を参照してください。
.TP
.PD 0
.B "\-W copyleft"
.TP
.PD 0
.B "\-W copyright"
.TP
.PD 0
.B \-\^\-copyleft
.TP
.PD
.B \-\^\-copyright
-GNU の著作権表示の短いバージョンを標準エラー出力へ書き出します。
+GNU の著作権表示の短いバージョンを標準出力へ書き出し、
+成功状態で終了します。
.TP
.PD 0
.B "\-W help"
.TP
.PD 0
.B "\-W usage"
.TP
.PD 0
.B \-\^\-help
.TP
.PD
.B \-\^\-usage
-短めのオプション一覧を標準エラー出力へ書き出します。GNU コーディング規約に
+短めのオプション一覧を標準出力へ書き出します。
+(GNU コーディング規約に
従い、本オプションを指定すると
.I awk
-はただちに終了し、成功を意味する終了ステータスを返します。
+はただちに終了し、成功を意味する終了ステータスを返します。)
.TP
-.PD 0
+.PD
.B "\-W lint"
.TP
.PD 0
.B \-\^\-lint
他の AWK での処理が疑わしい、あるいは他の AWK との互換性がない構造が
ある場合に警告を行います。
+.TP
+.PD 0
+.B "\-W lint\-old"
+.TP
+.PD
+.B \-\^\-lint\-old
+オリジナルの Unix
+.I awk
+へ移植できない構造に関して警告を行います。
.ig
.\" This option is left undocumented, on purpose.
.TP
.PD 0
.B "\-W nostalgia"
.TP
.PD
.B \-\^\-nostalgia
長い間
.I awk
を使ってきたユーザのために郷愁の瞬間を提供します。
..
.TP
.PD 0
.B "\-W posix"
.TP
.PD
.B \-\^\-posix
.I 互換
モードをオンにし、更に以下の制約が課せられます。
.RS
.TP \w'\(bu'u+1n
\(bu
.B \ex
エスケープシーケンスを解釈しません。
.TP
\(bu
+.B FS
+が単一の空白に設定された場合、空白とタブのみがフィールドを区切り、
+改行はフィールドを区切りません。
+.TP
+\(bu
キーワード
.B function
に対応する別名
.B func
を解釈しません。
.TP
\(bu
演算子
.B ^
.B ^=
のかわりに
.B **
.B **=
を用いることができません。
+.TP
+\(bu
+.B fflush()
+関数は利用できません。
.RE
.TP
.PD 0
-.BI "\-W source=" program-text
+.B "\-W re\-interval"
+.TP
+.PD
+.B \-\^\-re\-interval
+正規表現のマッチングで
+.I "インターバル表現 (interval expressions)"
+を有効にします
+(後述の
+.BR "正規表現"
+を参照してください)。
+インターバル表現は伝統的な AWK 言語では利用できませんでした。
+.I awk
+と
+.I egrep
+が一貫性を持つように、POSIX 標準がこれらを追加しました。
+しかし、これらを使用すると古い AWK プログラムを動かなくしてしまうでしょうから、
+このオプションによって要求されたときと、
+.B \-\^\-posix
+が指定されたときに、
+.I gawk
+はこれらの機能を提供します。
+.TP
+.PD 0
+.BI "\-W source " program-text
.TP
.PD
-.BI \-\^\-source= program-text
+.BI \-\^\-source " program-text"
.I program-text
を AWK プログラムとして用います。本オプションにより、ライブラリ化された関数(
.B \-f
または
.B \-\^\-file
オプションを用いて読み込む)とコマンドラインから入力されたプログラムを
簡単に合成することができます。
これは、主にシェルスクリプトで用いられる中規模から大規模な AWK プログラム
のために用意されました。
-.sp .5
-.B "\-W source="
-形式においては、そのコマンドライン引数の残りの部分を
-.I program-text
-として解釈します。
-よって、同じ引数内でこれ以上
-.B \-W
-のオプション引数を続けることはできません。
.TP
.PD 0
.B "\-W version"
.TP
.PD
.B \-\^\-version
実行された
-.I awk
-プログラムのバージョン情報を標準エラー出力へ書き出します。これは主に、
+.I gawk
+プログラムのバージョン情報を標準出力へ書き出します。これは主に、
あなたが使用している
-.I awk
+.I gawk
プログラムが Free Software Foundation が配布してい
-るプログラムのうち、最新のものであるかどうかを知る場合に便利です。本オ
-プションを指定すると、GNU コーディング規約に従い、
+るプログラムのうち、最新のものであるかどうかを知る場合に便利です。
+またバグレポートのときにも有用です。
+(本オプションを指定すると、GNU コーディング規約に従い、
.I awk
-はただちに終了し、成功を意味する終了ス
-テータスを返します。
+はただちに終了し、成功を意味する終了ステータスを返します。)
.TP
.B \-\^\-
-オプションの終了を意味します。AWK に ``\-'' から始まるオプションではない
+オプションの終了を意味します。AWK プログラムに
+``\-'' から始まるオプションではない
引数を与える場合に便利です。
-これは主に、他の \*(PX プログラムの多くが引数に対して行
-う解釈と一貫性を保つためにあります。
+これは、主に他の \*(PX プログラムの多くが引数に対して行う解釈と
+一貫性を保つためにあります。
.PP
-互換モードでは、他のオプションは不正であるとされるか、無視されます。通
-常の実行において、プログラムテキストがコマンドラインに指定されていれば、
+互換モードでは、他のオプションは不正であるとされるか、無視されます。
+通常の実行において、プログラムテキストがコマンドラインに指定されていれば、
不明なオプションは、AWK プログラムに
.B ARGV
配列を通して渡されます。これ
は、AWK プログラムを ``#!'' 機構を用いて実行する場合に特に便利です。
.SH AWK プログラムの実行
.PP
AWK プログラムは、パターンとアクションの組の列と、(もし必要なら)関数定義か
らなります。
.RS
.PP
\fIpattern\fB { \fIaction statements\fB }\fR
.br
\fBfunction \fIname\fB(\fIparameter list\fB) { \fIstatements\fB }\fR
.RE
.PP
.I gawk
はまず、
.I program-file
(複数可)が指定されていればそれから、
-.B "\-W source="
+.B \-\^\-source
の引数から、あるいは、最初のオプションではない引数から
プログラムを読み込みます。
.B \-f
-.B "\-W source="
+.B \-\^\-source
オプションは、コマンドラインで複数回指定できます。
.I gawk
は、すべての
.I program-file
とコマンドラインで指定したプログラムを結
-合して使用します。新しく作った AWK プログラム一つ一つに
+合して使用します。新しく作った AWK プログラムひとつひとつに
AWK 関数のライブラリを埋め込む必要が無いので、この機能はライブラリの構築に
便利です。
また、ライブラリ関数とコマンドラインで指定したプログラムとを混合して使
うことも可能にしています。
.PP
環境変数
.B AWKPATH
により、
.B \-f
オプションで指定されたファイルを検索するパスを指定できます。
.B AWKPATH
が設定されていない場合のデフォルトパスは
-\fB".:/usr/lib/awk:/usr/local/lib/awk"\fR です。
+\fB".:/usr/local/share/awk"\fR です。
+(実際のディレクトリは
+.I gawk
+がどのように構築/インストールされたかに依存して、さまざまなものとなります。)
.B \-f
オプションで指定したファイル名が ``/'' を含んでいる場合は、
パス検索は行われません。
.PP
-.I awk
-は、 AWK プログラムを以下の順序で実行します。
-.RS
-.TP \w'4.'u+1n
-1.
+.I gawk
+は、 AWK プログラムを次の順序で実行します。
+まず、
.B \-v
-オプションで指定された変数への代入をすべて行う
-.TP
-2.
-プログラムを内部形式にコンパイルする
-.TP
-3.
-(もし存在すれば)
+オプションで指定された変数への代入をすべて行います。
+次に、プログラムを内部形式にコンパイルします。
+そして、(もし存在すれば)
.B BEGIN
-ブロック(複数存在可)を実行する
-.TP
-4.
+ブロック(複数存在可)を実行します。
配列
.B ARGV
-で指定されたファイルを順に読み、処理を行う(コマンドラインでファイル名が
-指定されていなければ、標準入力に対して処理を行う)。
-.RE
+で指定されたファイルを順に読み、処理を行います(コマンドラインでファイル名が
+指定されていなければ、標準入力に対して処理を行います)。
.PP
コマンドラインで指定されたファイル名が
.IB var = val
という形式ならば、それ
は変数への代入であると解釈されます。変数
.I var
は値
.I val
に設定されます
(これは、すべての
.B BEGIN
ブロックを実行したあとに行われます)。コマンドライン
での変数の代入は、AWK が入力をフィールドやレコードに分割するためのセパレータ
-を実行時に変更するのに便利です。また、1つのデータファイルに
+を実行時に変更するのに便利です。また、1 つのデータファイルに
対し数回処理を行う必要がある場合、状態をコントロールするのにも便利です。
.PP
配列
.B ARGV
の要素に空(\fB""\fR)がある場合、
-.I awk
+.I gawk
はその要素を無視します。
.PP
-.I awk
-は、入力された各行に対してマッチする
+.I gawk
+は、入力された各レコードに対してマッチする
.I パターン
が AWK プログラム内にあるかどうかを
-検索します。その行にマッチしたパターンすべてについて、それぞれ対応する
+検索します。そのレコードにマッチしたパターンすべてについて、それぞれ対応する
.I アクション
が実行されます。
パターンは、プログラムテキストに出現した順序で検索されます。
.PP
-入力がつきると、
-.I awk
+入力が尽きると、
+.I gawk
は(もしあれば)
.B END
ブロック(複数存在可)を実行します。
-.SH 変数とフィールド
+.SH 変数、レコード、フィールド
AWK における変数は動的、すなわち、最初に使用されたときに生成されます。
-変数の値は、浮動小数か、文字列か、あるいは両方です。変数の用い
+変数の値は、浮動小数点数か、文字列か、あるいは両方です。変数の用い
られ方により変化します。AWK ではまた、1次元配列を利用することができます。
多次元配列
も、擬似的にではありますが、利用可能です。プログラム実行開始時に、
いくつかの定義済み変数が設定されます。
+これらを必要に応じて説明し、以下でまとめます。
+.SS レコード
+通常、レコードは改行文字により区切られます。
+レコードの区切りは、組み込み変数
+.B RS
+へ値を代入することにより、制御できます。
+.B RS
+が単一文字の場合、その文字がレコードを区切ります。
+そうでない場合は、
+.B RS
+は正規表現となります。
+入力中のテキストで、この正規表現にマッチするものがレコードを区切ります。
+しかし互換モードでは、
+文字列値の最初の文字だけが、レコードセパレータに使用されます。
+.B RS
+が空文字列に設定されているときには、レコードは空行で区切られます。
+.B RS
+が空文字列に設定されたときには、
+.B FS
+の値にかかわらず、改行文字は常にフィールドセパレータとなります。
.SS フィールド
.PP
-入力ファイルから1行を読み込むと、
-.I awk
-はその行を
+入力レコードを読み込むごとに、
+.I gawk
+はそのレコードを
.I フィールド
に分割しま
す。分割する際には、変数
.B FS
の値がフィールドセパレータとして参照されます。
.B FS
の値が1文字なら、その
-文字を境にフィールドが分割されます。1文字でないなら、
+文字を境にフィールドが分割されます。
+.B FS
+が空文字列の場合、個々の文字がフィールドセパレータとなります。
+いずれでもない場合、
.B FS
-は正規表現である
+は完全な正規表現である
と解釈されます。特殊な場合として
.B FS
が単一の空白のときには、フィールドは
-連続した空白とタブにより分割されます。変数
+連続した空白・タブ・改行により分割されます。
+(後述の
+.BR \-\-posix
+の議論を参照してください)。
+変数
.B IGNORECASE
(下記参照)の
値は、
.B FS
-が正規表現の場合、フィールド分割にも影響を与えることに注意してください。
+が正規表現の場合フィールド分割にも影響を与えることと、
+.B RS
+が正規表現の場合レコード分割にも影響を与えることに注意してください。
.PP
変数
.B FIELDWIDTHS
の値が空白で区切られた数字の列である場合、各フィールドは
固定長であると解釈され、
-.I awk
+.I gawk
は指定された幅ごとにフィールドの
分割を行います。この場合、
.B FS
の値は無視されます。
.B FS
に新たに値を設定
することにより、この
.B FIELDWIDTHS
の効果を打ち消し、標準の動作に戻すことができます。
.PP
-各フィールドの値は、左から
+入力レコード中の各フィールドの値は、左から
.BR $1 ,
.B $2
等という名前で参照できます。
.B $0
-行全体です。フィールドに値を代入することもできます。フィールドは定数だ
-けでなく、変数によって参照することもできます。以下の例では、入力行の 5
+レコード全体です。フィールドに値を代入することもできます。フィールドは定数だ
+けでなく、変数によって参照することもできます。以下の例では、入力レコードの 5
番目のフィールドの値を出力します。
.RS
.PP
.ft B
n = 5
.br
print $n
.ft R
.RE
.PP
-変数 NF は、自動的にその行のフィールドの数に設定されます。
+変数 NF は、自動的に入力レコードのフィールドの数に設定されます。
.PP
存在しないフィールド(すなわち、
.B $NF
より右のフィールド)を参照した結果は
空文字列になります。しかしながら、存在しないフィールドへの代入(たとえ
ば、
.BR $(NF+2) = 5
)は
.B NF
の値を増加させ、間のフィールドには空文字が設定されます。
さらに
.B $0
の値は、フィールドの値を変数
.B OFS
-の値で結合したものに再設定されます。
+の値でフィールドを区切ったものとして再計算されます。
負のフィールド番号への参照は致命的エラーとなります。
+.B NF
+を減少させると、新しい値を越えるフィールドの値は失われます。
+.B $0
+の値は、フィールドの値を変数
+.B OFS
+の値でフィールドを区切ったものとして再計算されます。
.SS 組み込み変数
.PP
-AWK の組み込み変数は以下のとおりです。
+.I gawk
+の組み込み変数は以下のとおりです。
.PP
.TP \w'\fBFIELDWIDTHS\fR'u+1n
.B ARGC
コマンドライン引数の個数(
-.I awk
+.I gawk
へのオプションと、プログラム指定は含みま
せん)。
.TP
.B ARGIND
現在処理中のファイル名が格納されている配列
.B ARGV
のインデックス。
.TP
.B ARGV
コマンドライン引数の配列。配列は、 0 から
.B ARGC
\- 1 までのインデックスを
持ちます。
.B ARGV
の内容を変更することで、入力に用いるファイル名を変
更することができます。
.TP
.B CONVFMT
数値の変換フォーマット。デフォルト値は \fB"%.6g"\fR です。
.TP
.B ENVIRON
現在の環境変数の値からなる配列。配列は、環境変数名によりインデックスされ
-、各要素の値はその環境変数の値です(たとえば、環境変数
-.B HOME
-は \fBENVIRON["HOME"]\fP で参照できます)。本配列に
+、各要素の値はその環境変数の値です(例えば
+\fBENVIRON["HOME"]\fP は
+.B /home/arnold
+となるでしょう)。本配列に
代入を行っても、
-.I awk
+.I gawk
からリダイレクトや
.B system()
関数により実行される
プログラムの環境には影響を与えません(これは、将来の
-.I awk
+.I gawk
では変更される可能性があります)。
.\" but don't hold your breath...
.TP
.B ERRNO
.B getline
のリダイレクト、
.B getline
による読み込み、
.B close()
関数の実行時のいずれかにシステムエラーが発生した場合、変数
.B ERRNO
にはエラーの内容を示した文字列が設定されます。
.TP
.B FIELDWIDTHS
空白で区切られたフィールド長のリスト。もしこの値が設定されていれば、
-.I awk
+.I gawk
.B FS
の値を用いてフィールド分割するかわりに、固定長のフィールド分割を行
います。固定長のフィールド分割機能はまだ実験的なもので、
-.I awk
-が改良されるに従
-って意味が変化する可能性があります。
+.I gawk
+が改良されるに従って意味が変化する可能性があります。
.TP
.B FILENAME
現在の入力ファイル名。もし、コマンドラインで入力ファイルが指定されてい
なければ、
.B FILENAME
の値は ``\-'' です。しかしながら、
.B BEGIN
ブロック内では
.B FILENAME
は未定義です。
.TP
.B FNR
現在の入力ファイルにおける入力レコード番号。
.TP
.B FS
入力フィールドセパレータ。デフォルトでは単一の空白です。
+上述の
+.B フィールド
+を参照してください。
.TP
.B IGNORECASE
-すべての正規表現において大文字小文字の区別を制御します。もし、
+すべての正規表現と文字列操作において大文字小文字の区別を制御します。もし、
.B IGNORECASE
-が 0 でない値に設定されていれば、ルールのパターンマッチ、
+が 0 でない値に設定されていれば、文字列比較、ルールのパターンマッチ、
.B FS
によるフィールド分割、
+.B RS
+によるレコード分割、
.B ~
.B !~
による正規表現マッチ、定義済み関数
+.BR gensub() ,
.BR gsub() ,
.BR index() ,
.BR match() ,
.BR split() ,
.B sub()
において大文字と小文字の違いは無視されます。このため、
.B IGNORECASE
-が 0 以外の
-値なら、
+が 0 以外の値なら、
.B /aB/
-は \fB"ab"\fP、\fB"aB"\fP、\fB"Ab"\fP、\fB"AB"\fP のいずれにもマッチすることになります。
+は \fB"ab"\fP, \fB"aB"\fP, \fB"Ab"\fP, \fB"AB"\fP
+のいずれにもマッチすることになります。
他のAWK 変数と同様に
.B IGNORECASE
-のデフォルト値は 0 なので、通常は
-正規表現において大文字と小文字は区別されます。
+の初期値は 0 なので、通常は
+正規表現と文字列操作において大文字と小文字は区別されます。
+Unix では、大文字小文字を無視する場合、
+ISO 8859-1 Latin-1 文字集合全てを使用できます。
+.B 注:
+3.0 以前の
+.I gawk
+では
+.B IGNORECASE
+は正規表現操作のみに影響しました。現在は文字列比較にも影響します。
.TP
.B NF
現在の入力レコードのフィールド数。
.TP
.B NR
現在までに読み込んだ入力レコード数の合計。
.TP
.B OFMT
数字の出力フォーマット。デフォルト値は \fB"%.6g"\fR です。
.TP
.B OFS
出力フィールドセパレータ。デフォルトは空白です。
.TP
.B ORS
出力レコードセパレータ。デフォルトは改行です。
.TP
.B RS
入力レコードセパレータ。デフォルトは改行です。
+.TP
+.B RT
+レコードターミネータ。
+.I gawk
+は、
.B RS
-は例外的な変数で、
-値の最初の1文字のみがレコード分割に用いられます(これは、将来リリースされる
-.I awk
-では変更されているかもしれません)。もし
-.B RS
-が空文字列に設定されていたなら、
-レコードは空行によって分割されます。この場合、
-.B FS
-の値が何であろうとも、改行はつねにフィールドセパレータとしての役割を
-果たします。
+で指定される文字または正規表現にマッチする入力テキストを、
+.B RT
+に設定します。
.TP
.B RSTART
.B match()
によりマッチした最初の文字の位置。0 はマッチしなかったことを示します。
.TP
.B RLENGTH
.B match()
によりマッチした文字列の長さ。\-1 はマッチしなかったことを示します。
.TP
.B SUBSEP
多次元配列を実現する際に用いられる、配列のインデックスを結合する文字。
デフォルト値は \fB"\e034"\fR です。
.SS 配列
.PP
配列は、ブラケット
.RB ( [
.BR ] )
の間の式によってインデックスを指定します。もし式が式
のリスト(式, 式, ...) なら、式の値を変数
.B SUBSEP
の値を区切りとして
結合した文字列をインデックスとして用います。これにより、多次元配列を
-シミュレートしています。たとえば、
+シミュレートしています。例えば、
.PP
.RS
.ft B
-i = "A" ;\^ j = "B" ;\^ k = "C"
+i = "A";\^ j = "B";\^ k = "C"
.br
x[i, j, k] = "hello, world\en"
.ft R
.RE
.PP
は、文字列 \fB"hello, world\en"\fR を、文字列 \fB"A\e034B\e034C"\fR で
インデックスした配列 x の要素に代入しています。
AWK の配列はすべて、文字列によりインデックスを行う連想配列です。
.PP
特殊な演算子
.B in
.B if
または
.B while
ステートメントで用いることによって、あるインデックス値に
おける配列の値が定義されているかを調べることができます。
.PP
.RS
.ft B
.nf
if (val in array)
print array[val]
.fi
.ft
.RE
.PP
もし、配列が多次元インデックスを持つなら、
.B "(i, j) in array"
を用います。
.PP
.B in
はまた、
.B for
ループ中で、配列のすべてのインデックス値について繰り返すために
-用いることができます。以下の方法で、配列のすべての要素の値を表示する
-ことができます。
-.PP
-.RS
-.ft B
-.nf
-for (i in array)
- print array[i]
-.fi
-.ft
-.RE
+用いることができます。
.PP
配列の要素は、
.B delete
ステートメントを用いて削除することができます。
.B delete
ステートメントはまた、
-配列全体を削除するのにも使えます。
+添字を指定せずに配列名のみを指定することにより、
+配列全体を削除するためにも使えます。
.SS 変数の型と変換
.PP
-変数とフィールドは、(浮動小数の)数値または文字列、あるいは両方として
+変数とフィールドは、(浮動小数点数の)数値または文字列、あるいは両方として
扱われます。
変数の値がどのように解釈されるかは、変数の使われ方によって変化します。
数式中で用いられれば変数は数値として解釈され、文字列として用いられれ
ば文字列として解釈されます。
.PP
-変数の値を強制的に数値であると解釈させたい場合は、変数に 0 を加えます
-(var + 0)。文字列と解釈させたい場合は空文字列を結合します(var "")。
+変数の値を強制的に数値であると解釈させたい場合は、変数に 0 を加えます。
+文字列と解釈させたい場合は空文字列を結合します。
.PP
文字列を数値に変換する必要がある場合、変換は
.IR atof (3)
によって行われます。
数値を文字列に変換する場合は、変数
.B CONVFMT
の値をフォーマット文字列として用いて、
.IR sprintf (3)
-により行われます。AWK ではすべての数値は浮動小数ですが、整数値はつねに整数
+により行われます。AWK ではすべての数値は浮動小数点数ですが、整数値は常に整数
として変換が行われます。
-.PP
よって、以下の場合、
.PP
.RS
.ft B
.nf
CONVFMT = "%2.2f"
a = 12
b = a ""
.fi
.ft R
.RE
.PP
変数
.B b
-は文字列値 \fB"12"\fR となり、"12.00" とはなりません。
+は文字列値 \fB"12"\fR となり、\fB"12.00"\fR とはなりません。
.PP
.I gawk
は、以下のようにして比較を行います:
-2つの変数が数値なら数値として比
+2 つの変数が数値なら数値として比
較します。もし片方が数値で片方が`数値'文字列なら、数値として比較されます。
片方が数値でない文字列なら、数値のほうが文字列に変換され、文字列として
比較されます。両方とも文字列なら、文字列として比較されます。\*(PX 標準に従う
なら、両方とも数値文字列の場合は数値として比較しますが、これは明ら
かに間違いです。
-.I awk
+.I gawk
はそのような動作をしません。
.PP
-初期化されていない変数は、数値としては 0 を、文字列としては空文字列を持ちます。
+\fB"57"\fP のような文字列定数は数値文字列では
+.I なく
+、文字列定数です。「数値文字列」の概念は、フィールド、
+.B getline
+の入力、
+.B FILENAME
+、
+.B ARGV
+の要素、
+.B ENVIRON
+の要素、数値文字列から
+.B split()
+によって作成された配列の要素に対してのみ適用されます。
+基本的な考え方では、
+.I ユーザ入力
+、それも数値に見えるユーザ入力のみが数値として扱われます。
+.PP
+初期化されていない変数は、数値としては 0 を、文字列としては "" (空文字列)を
+持ちます。
.SH パターンとアクション
-awk は行指向の言語です。まずパターン、次にアクションが続きます。アクショ
-ンは
+awk は行指向の言語です。まずパターン、次にアクションが続きます。
+アクションは
.B {
.B }
で囲みます。パターンまたはアクションは省略することもできます。
もちろん、両方とも
省略してしまっては意味がありません。
-パターンがない場合、アクションはすべての入力行に
+パターンがない場合、アクションはすべての入力レコードに
対して適用されます。省略されたアクションは以下と等価です。
.RS
.PP
.B "{ print }"
.RE
.PP
-これは行全体を出力します。
+これはレコード全体を出力します。
.PP
-コメントは ``#'' で始まり、行末まで続きます。空行は、複数ステートメントの
+コメントは文字 ``#'' で始まり、行末まで続きます。空行は、複数ステートメントの
間をあけるのに使うことができます。
通常、ステートメントは改行で終わります。ただし、
-以下の記号で行が終わる場合にはこの限りではありません:
-``,'', ``{'', ``?'', ``:'',
-``&&'', ``||''。
+次の記号で行が終わる場合にはこの限りではありません: ``,'',
+.BR { ,
+.BR ? ,
+.BR : ,
+.BR && ,
+.B ||
+。
.B do
または
.B else
で終わる行は、ステートメントが自動的に以降
の行へ継続されます。また、改行の直前に ``\e'' を置くことで、
行を継続することができます。この場合、その改行は無視されます。
.PP
-``;'' で区切ることにより、1行に複数のステートメントを記述することができ
-ます。アクション部におけるステートメントだけではなく、
-パターンとアクションの対自体も ``;'' で区切って複数置くことができます。
+``;'' で区切ることにより、1行に複数のステートメントを記述することができます。
+(通常のように)
+パターン-アクション対中のアクション部におけるステートメントだけではなく、
+パターン-アクション対ステートメント自身も、
+ ``;'' で区切って複数置くことができます。
.SS パターン
AWK のパターンは、以下のうちのいずれかです。
.PP
.RS
.nf
.B BEGIN
.B END
.BI / "regular expression" /
.I "relational expression"
.IB pattern " && " pattern
.IB pattern " || " pattern
.IB pattern " ? " pattern " : " pattern
.BI ( pattern )
.BI ! " pattern"
.IB pattern1 ", " pattern2
.fi
.RE
.PP
.B BEGIN
.B END
は特殊なパターンであり、入力と比較されることはありません。すべての
.B BEGIN
-パターンに対応したアクション部は結合されます。結合されたアクションは
+パターンに対応したアクション部は結合され、
+そのようなすべてのアクション部が単一の
+.B BEGIN
+ブロック中にあるかのように扱われます。
+結合されたアクションは、
すべての入力ファイルの読み込みに先立って実行されます。同様にすべての
.B END
ブロックは結合され、すべての入力ファイルの処理後(あるいは、exit ステートメント
が実行されたとき)に実行されます。
.B BEGIN
.B END
はパターン式内で他のパターンと混ぜて使うことはできません。また、
.B BEGIN
.B END
パターンはアクション部を省略することができません。
.PP
.BI / "regular expression" /
-パターンでは、正規表現にマッチした入力行に対してアクション
+パターンでは、正規表現(regular expression)
+にマッチした入力レコードに対してアクション
が実行されます。正規表現は
.IR egrep (1)
と同じものが使えます。あとに要約を示します。
.PP
-関係式では、後述のアクションについての節で示す演算子を用いることが
+.I 関係式(relational expression)
+では、後述のアクションについての節で示す演算子を用いることが
できます。
これらは概して、特定のフィールドが正規表現にマッチするかどうかを
-調べるために用いられます
-($2 ~ /foo/ 等)。
+調べるために用いられます。
.PP
演算子
.BR && ,
.BR || ,
.B !
は、それぞれ C 言語での論理AND、論理OR、論理NOT と等価です。
C 言語と同様に、評価値が確定した時点で以降の評価を打ち切ります。
これらは複数のパターン式を結合するために使用されます。
他のプログラミング言語と同様、括弧によって評価順序を変更することができます。
.PP
-?\^: 演算子は C 言語のものと同様です。もし、最初のパターンが真なら、
+.B ?\^:
+演算子は C 言語のものと同様です。もし、最初のパターンが真なら、
テストのために 2 番目のパターンが用いられ、そうでなければ 3 番目のパターンが
用いられます。2 番目と 3 番目のパターンのどちらかだけが評価されます。
.PP
.IB pattern1 ", " pattern2
形式は
.I 範囲パターン
と呼ばれます。範囲パターンは、
.I pattern1
にマッチするレコードから、
.I pattern2
-にマッチする行レコードまでのすべてにマッチします。
+にマッチするレコードまでのすべてにマッチします。
この形式は、他のパターン式と混合して用いることはできません。
.SS 正規表現
awk の正規表現は
.I egrep
のものと同様に、拡張された正規表現です。
以下の構成要素から成り立っています。
.TP \w'\fB[^\fIabc...\fB]\fR'u+2n
.I c
メタ文字ではない
.I c
にマッチする。
.TP
.I \ec
リテラル文字
.I c
にマッチする。
.TP
.B .
-改行以外の任意の一文字にマッチする。
+改行を
+.I 含む
+任意の 1 文字にマッチする。
.TP
.B ^
-行頭、または文字列の先頭にマッチする。
+文字列の先頭にマッチする。
.TP
.B $
-行末、または文字列の終端にマッチする。
+文字列の終端にマッチする。
.TP
.BI [ abc... ]
-abc... のいずれか一文字にマッチする(文字クラス)。
+文字リストであり、
+.I abc...
+のいずれか 1 文字にマッチする。
.TP
.BI [^ abc... ]
-abc... と改行を除く任意の一文字にマッチする(否定文字クラス)。
+文字リストの逆であり、
+.I abc...
+以外の 1 文字にマッチする。
.TP
.IB r1 | r2
+選言:
.I r1
または
.I r2
-にマッチする(選言)。
+にマッチする。
.TP
.I r1r2
+結合:
.I r1
の直後に
.I r2
-が続くものにマッチする(結合)。
+が続くものにマッチする。
.TP
.IB r +
.I r
の 1 回以上の繰り返しにマッチする。
.TP
.IB r *
.I r
の 0 回以上の繰り返しにマッチする。
.TP
.IB r ?
.I r
の 0 回または 1 回の繰り返しにマッチする。
.TP
.BI ( r )
+グループ化:
+.I r
+にマッチする。
+.TP
+.PD 0
+.IB r { n }
+.TP
+.PD 0
+.IB r { n ,}
+.TP
+.PD
+.IB r { n , m }
+ブレース中に 1 つか 2 つの数値を記述することにより、
+.I "インターバル表現"
+を表します。ブレース中に数値が 1 つある場合、直前の正規表現
.I r
-にマッチする(グループ化)。
+が
+.I n
+回繰り返されます。2 つの数値がコンマで区切られている場合、
+.I r
+は
+.I n
+回から
+.I m
+回繰り返されます。1 つの数値に続いてコンマがある場合、
+.I r
+は少なくとも
+.I n
+回繰り返されます。
+.sp .5
+インターバル表現は
+.B \-\^\-posix
+または
+.B \-\^\-re\-interval
+がコマンドラインにて指定されているときのみ利用可能です。
+.TP
+.B \ey
+語の先頭または末尾の空文字列にマッチします。
+.TP
+.B \eB
+語の中の空文字列にマッチします。
+.TP
+.B \e<
+語の先頭の空文字列にマッチします。
+.TP
+.B \e>
+語の末尾の空文字列にマッチします。
+.TP
+.B \ew
+語を構成する文字 (レター、数値、アンダスコア) にマッチします。
+.TP
+.B \eW
+語を構成する文字以外の文字にマッチします。
+.TP
+.B \e`
+バッファ (文字列) の先頭の空文字列にマッチします。
+.TP
+.B \e'
+バッファの末尾の空文字列にマッチします。
.PP
文字列定数中で用いることができるエスケープシーケンス(後述参照)は、
正規表現中でも使用することができます。
+.PP
+.I 文字クラス
+は POSIX 標準で導入された新機能です。
+文字クラスは特定の属性を持つ文字列リストの特殊表現ですが、
+実際の文字集合自身は国や文字集合によって様々なものとなります。
+例えば、アルファベット文字はアメリカ合州国とフランスとでは異なります。
+.PP
+文字クラスが有効なのは、
+文字リストのブラケットの中の正規表現だけです。
+文字クラスは、
+.B [:
+と、クラスを表現するキーワードと、
+.B :]
+で構成されます。
+以下に POSIX 表現で定義される文字クラスを示します。
+.TP
+.B [:alnum:]
+アルファベットと数値文字。
+.TP
+.B [:alpha:]
+アルファベット文字。
+.TP
+.B [:blank:]
+空白とタブ文字。
+.TP
+.B [:cntrl:]
+制御文字。
+.TP
+.B [:digit:]
+数値文字。
+.TP
+.B [:graph:]
+印字可能で可視な文字。
+(空白は印字可能ですが見えません。一方
+.B a
+は印字可能かつ可視です。)
+.TP
+.B [:lower:]
+アルファベット文字の小文字。
+.TP
+.B [:print:]
+印字可能な文字 (制御文字以外)。
+.TP
+.B [:punct:]
+句読点文字 (レター、数値、制御文字、空白文字のいずれでもない文字)。
+.TP
+.B [:space:]
+空白文字 (空白、タブ、フォームフィード等の少数の文字を指す)。
+.TP
+.B [:upper:]
+アルファベット文字の大文字。
+.TP
+.B [:xdigit:]
+16 進数の数値。
+.PP
+例えば、POSIX 標準以前では、アルファベットと数値の文字にマッチするためには、
+.B /[A\-Za\-z0\-9]/
+と書きました。しかし、別のアルファベット文字が文字集合に含まれる場合、
+それらにはマッチしません。
+POSIX 文字クラスでは、
+.BR /[[:alnum:]]/
+と記述することができ、文字集合の
+.I すべて
+のアルファベットと数値にマッチします。
+.PP
+文字リスト中には、更に 2 つの特殊シーケンスを使用できます。
+これらは、
+複数の文字によって表現される単一シンボル (
+.I 照合文字
+と呼ばれます) を持ち、
+複数の文字が
+.I 参照
+やソートにおいては等価であるとされる、非 ASCII 文字集合に適用されます。
+(例えば、フランス語では単なる ``e'' とグレーブアクセント付きの e\` とでは
+等価です。)
+.TP
+照合シンボル
+参照シンボルは複数文字の参照要素であり、
+.B [.
+と
+.B .]
+で括ります。
+例えば、
+.B ch
+が参照要素の場合、
+.B [[.ch.]]
+は正規表現となり、この参照要素にマッチします。
+一方、
+.B [ch]
+は
+.B c
+か
+.B h
+にマッチする正規表現です。
+.TP
+等価クラス
+等価クラスは
+等価な文字リストを指すロケール固有の名前です。名前は
+.B [=
+と
+.B =]
+で括ります。
+例えば、名前
+.B e
+は ``e,'' ``e\`,'', ``e\`.'' のすべてを表現するために使用されるかもしれません。
+この場合、
+.B [[=e=]]
+は
+.BR e ,
+.BR e\' ,
+.BR e\`
+のいずれかにマッチする正規表現となります。
+.PP
+これらの機能は英語以外のロケールにて非常に有用です。
+.I gawk
+が正規表現のマッチングに使用するライブラリ関数は、
+現在 POSIX 文字クラスのみを理解し、
+参照シンボルと等価クラスは理解しません。
+.PP
+.BR \ey ,
+.BR \eB ,
+.BR \e< ,
+.BR \e> ,
+.BR \ew ,
+.BR \eW ,
+.BR \e` ,
+.B \e'
+の演算子は
+.IR gawk
+固有であり、GNU 正規表現ライブラリの機能を元にした拡張です。
+.PP
+様々なコマンドラインオプションによって、正規表現中の文字を
+.I gawk
+がどのように解釈するのかを制御できます。
+.TP
+オプション無し
+デフォルトでは、
+.I gawk
+は上述の POSIX 正規表現および GNU 正規表現のすべての機能を提供します。
+しかしながら、インターバル表現はサポートされません。
+.TP
+.B \-\^\-posix
+POSIX 正規表現のみがサポートされ、GNU 演算子はサポートされません
+(例えば、
+.B \ew
+はリテラル
+.B w
+にマッチします)。
+インターバル表現は許されます。
+.TP
+.B \-\^\-traditional
+伝統的な Unix
+.I awk
+の正規表現がサポートされます。GNU 演算子、インターバル表現、
+POSIX 文字クラス (
+.B [[:alnum:]]
+など) はサポートされません。
+8 進または 16 進のエスケープシーケンスで表現される文字は、
+正規表現のメタ文字を表現するとしても、
+リテラルとして扱われます。
+.TP
+.B \-\^\-re\-interval
+.B \-\^\-traditional
+が指定されていたとしても、正規表現中でインターバル表現をサポートします。
.SS アクション
アクションは、ブレース
.B {
.B }
で囲みます。アクションは通常の代入、条件文、
ループ文等からなります。演算子、制御文、入出力文は C 言語とほぼ同様です。
.SS 演算子
.PP
-AWK での演算子を、優先順位の低いものから順に示します。
+AWK での演算子を、優先順位の高いものから順に示します。
.PP
.TP "\w'\fB*= /= %= ^=\fR'u+1n"
-.PD 0
-.B "= += \-="
+.BR ( \&... )
+グループ化。
.TP
-.PD
-.B "*= /= %= ^="
-代入。絶対的な代入
-.BI ( var " = " value )
-と演算子代入(その他の形式)がサポートされています。
+.B $
+フィールド参照。
.TP
-.B ?:
-C 言語の条件式と同様です。
-.IB expr1 " ? " expr2 " : " expr3\c
-の形式で使います。もし
-.I expr1
-が真なら式の値は
-.I expr2
-になり、そうでなければ
-.I expr3
-になります。
-.I expr2
-か
-.I expr3
-のうち片方のみが評価されます。
+.B "++ \-\^\-"
+インクリメント、デクリメント。前置も後置も可能。
.TP
-.B ||
-論理 OR。
+.B ^
+べき乗(\fB**\fR も同様の意味で使用できる。また \fB**=\fR 代入演算子も存在する)。
.TP
-.B &&
-論理 AND。
+.B "+ \- !"
+単項のプラス、マイナス、論理否定。
.TP
-.B "~ !~"
-正規表現マッチ、否定のマッチ。
-.B 注意:
-.B ~
-と
-.B !~
-の左辺に正規表現定数
-.RB ( /foo/ 等)
-を用いてはいけません。正
-規表現定数は右辺にのみ置くことができます。式
-.BI "/foo/ ~ " exp
-は
-\fB(($0 ~ /foo/) ~ \fIexp\fB)\fR と等価であり、これは通常意図するものとは異なります。
+.B "* / %"
+乗算、除算、剰余。
+.TP
+.B "+ \-"
+加算と減算。
+.TP
+.I space
+文字列結合。
.TP
.PD 0
.B "< >"
.TP
.PD 0
.B "<= >="
.TP
.PD
.B "!= =="
通常の関係演算子。
.TP
-.I blank
-文字列の結合。
+.B "~ !~"
+正規表現マッチ、否定のマッチ。
+.B 注意:
+.B ~
+と
+.B !~
+の左辺に正規表現定数
+.RB ( /foo/ 等)
+を用いてはいけません。正規表現定数は右辺にのみ置くことができます。式
+.BI "/foo/ ~ " exp
+は
+\fB(($0 ~ /foo/) ~ \fIexp\fB)\fR と等価であり、これは通常意図するものとは異なります。
.TP
-.B "+ \-"
-加算、減算。
+.B in
+配列のメンバ。
.TP
-.B "* / %"
-乗算、除算、剰余。
+.B &&
+論理 AND。
.TP
-.B "+ \- !"
-単項プラス、単項マイナス、論理否定。
+.B ||
+論理 OR。
.TP
-.B ^
-べき乗(\fB**\fR も同様の意味で使用できる。また \fB**=\fR 代入演算子も存在する)。
+.B ?:
+C 言語の条件式と同様です。
+.IB expr1 " ? " expr2 " : " expr3\c
+の形式で使います。もし
+.I expr1
+が真なら式の値は
+.I expr2
+になり、そうでなければ
+.I expr3
+になります。
+.I expr2
+か
+.I expr3
+のうち片方のみが評価されます。
.TP
-.B "++ \-\^\-"
-インクリメント、デクリメント。前置も後置も可能。
+.PD 0
+.B "= += \-="
.TP
-.B $
-フィールド参照
+.B "*= /= %= ^="
+代入。絶対代入
+.BI ( var " = " value )
+と演算子代入 (他の形式) がサポートされています。
.SS 制御ステートメント
.PP
制御ステートメントは以下のとおりです。
.PP
.RS
.nf
\fBif (\fIcondition\fB) \fIstatement\fR [ \fBelse\fI statement \fR]
\fBwhile (\fIcondition\fB) \fIstatement \fR
\fBdo \fIstatement \fBwhile (\fIcondition\fB)\fR
\fBfor (\fIexpr1\fB; \fIexpr2\fB; \fIexpr3\fB) \fIstatement\fR
\fBfor (\fIvar \fBin\fI array\fB) \fIstatement\fR
\fBbreak\fR
\fBcontinue\fR
\fBdelete \fIarray\^\fB[\^\fIindex\^\fB]\fR
\fBdelete \fIarray\^\fR
\fBexit\fR [ \fIexpression\fR ]
\fB{ \fIstatements \fB}
.fi
.RE
.SS 入出力ステートメント
.PP
入出力ステートメントは以下のとおりです。
.PP
.TP "\w'\fBprintf \fI書式, 式の列\fR'u+1n"
-.BI close( filename )
-ファイルまたはパイプ(下記参照)をクローズします。
+.BI close( file )
+ファイル (またはパイプ、下記参照) をクローズします。
.TP
.B getline
次のレコードを
.B $0
に読み込みます。
.BR NF ,
.BR NR ,
.B FNR
が設定されます。
.TP
.BI "getline <" file
ファイル
.I file
から次のレコードを
.B $0
に読み込みます。
.B NF
が設定されます。
.TP
.BI getline " var"
次のレコードを変数
.I var
に読み込みます。
-.BR NF ,
+.BR NR ,
.B FNR
が設定されます。
.TP
.BI getline " var" " <" file
ファイル
.I file
から次のレコードを変数
.I var
に読み込みます。
.TP
.B next
現在のレコードに対する処理を終了し、次のレコードを読み込み、AWK プログ
ラムの最初のパターンから処理を開始します。
C 言語の continue と類似した意味を持ちます。
もし、入力データの終端に達した場合、
.B END
ブロックが存在すれば実行されます。
.TP
-.B "next file"
+.B "nextfile"
現在の入力ファイルに対する処理を終了し、次の入力ファイルからレコードを
読み込みます。
.B FILENAME
+と
+.B ARGIND
が更新され、
.B FNR
が 1 にリセットされ、AWK プログラムの
最初のパターンから処理が開始されます。入力データの終端に達したときは、
もし存在すれば、
.B END
ブロックが実行されます。
+.B 注:
+以前のバージョンの gawk では
+.BR "next file"
+と 2 語で使用されていました。この用法はまだ認識されますが、
+警告メッセージを生じさせますし、最終的には無くなる表現です。
.TP
.B print
現在のレコードを出力します。
+出力レコードは
+.B ORS
+変数の値にて終端されます。
.TP
.BI print " expr-list"
式を出力します。各式は
.B OFS
の値で区切られます。出力されるレコードの最後に
.B ORS
の値が付加されます。
.TP
.BI print " expr-list" " >" file
式をファイル
.I file
に出力します。各式は
.B OFS
の値で区切られます。出力されるレコードの
最後には
.B ORS
の値が付加されます。
.TP
.BI printf " fmt, expr-list"
書式付き出力です。
.TP
.BI printf " fmt, expr-list" " >" file
ファイル
.I file
への書式付き出力です。
.TP
.BI system( cmd-line )
コマンド
.I cmd-line
を実行し、終了ステータスを返します(\*(PX に対応しない
システムでは使用できない場合があります)。
+.TP
+\&\fBfflush(\fR[\fIfile\^\fR]\fB)\fR
+オープンされている出力ファイルまたはパイプ
+.I file
+に関連づけられているバッファをフラッシュします。
+.I file
+を指定しないと、標準出力がフラッシュされます。
+.I file
+が空文字列の場合、オープンされているすべてのファイルとパイプのバッファを
+フラッシュします。
.PP
その他の形式のリダイレクトとして以下のものが利用可能です。
.B print
.B printf
に対して、
.BI >> file
を指定すると出力はファイル
.I file
に追加され、
.BI | " command"
は出力をパイプに対して行います。同様に、
.IB command "| getline"
はコマンドの出力から
.B getline
を行ないます。
.B getline
はファイル終端では 0 を、エラー時には \-1 を返します。
.SS \fIprintf\fP\^ ステートメント
.PP
AWK での
.B printf
ステートメントと
.B sprintf()
-関数(後述参照)は、以下の変換指定書式を受け付けることができます。
+関数(後述参照)は、以下の変換指定書式を受け付けます。
.TP
.B %c
-1つの \s-1ASCII\s+1 文字。
+1 つの \s-1ASCII\s+1 文字。
.B %c
に対応する引数が数値なら、その値を \s-1ASCII\s+1 コードとみなし
て文字に変換します。そうでなければ、引数は文字列であると解釈され、その1
文字目が出力されます。
.TP
.B %d
-10進数(整数部分)。
+.PD 0
.TP
.B %i
-.B %d
-と同じです。
+10進数(整数部分)。
.TP
+.PD 0
.B %e
-.B [-]d.ddddddE[+-]dd
-という形式の浮動小数。
+.TP
+.PD
+.B %E
+.B [-]d.dddddde[+-]dd
+という形式の浮動小数点数。
+.B %E
+形式では
+.B e
+の代りに
+.B E
+が使用されます。
.TP
.B %f
.B [-]ddd.dddddd
-という形式の浮動小数。
+という形式の浮動小数点数。
.TP
+.PD 0
.B %g
+.TP
+.PD
+.B %G
.B %e
.B %f
-の短い方の形式の浮動小数。余計な 0 は省略されます。
+の短い方の形式の浮動小数点数。余計な 0 は省略されます。
+.B %G
+形式では
+.B %e
+の代りに
+.B %E
+を使用します。
.TP
.B %o
符号なしの 8 進数(整数)。
.TP
.B %s
文字列。
.TP
+.PD 0
.B %x
-符号なしの 16 進数(整数)。
.TP
+.PD
.B %X
-.B %x
-と同様。ただし、
+符号なしの 16 進数(整数)。
+.B %X
+形式では、
.B abcdef
-のかわりに
+の代りに
.B ABCDEF
を用います。
.TP
.B %%
単一の文字
.B %
。引数は使用しません。
.PP
.B %
-と上記のコントロール文字との間にオプショナルな追加のパラメータを置く
+と上記の制御文字との間にオプショナルな追加のパラメータを置く
ことができます。以下にそれらを示します。
.TP
.B \-
左寄せ。
.TP
+.I 空白
+数値変換において、正の値のプレフィックスは空白となり、
+負の値のプレフィックスはマイナス記号となります。
+.TP
+.B +
+プラス記号は幅修正子 (後述) の前に使用し、
+整形されるデータが正であったとしても、
+数値変換に対して常に符号を付けることを指示します。
+.B +
+は空白修正子に優先します。
+.TP
+.B #
+ある制御レターに対して「別の形式」を使用します。
+.BR %o
+に対しては先行する 0 を与え、
+.BR %x
+と
+.BR %X
+に対しては非 0 の結果に対して先行する
+.BR 0x
+と
+.BR 0X
+を与えます。
+.BR %e ,
+.BR %E ,
+.B %f
+に対しては結果に常に小数点を含めます。
+.BR %g ,
+.B %G
+に対しては結果の後尾から 0 を取り除きません。
+.TP
+.B 0
+先頭の
+.B 0
+(ゼロ) はフラグとして動作し、
+出力を空白ではなく 0 でパディングすることを示します。
+これは非数値の出力書式に対しても適用されます。
+このフラグが有効なのは、フィールド幅が印字される値の幅より広いときだけです。
+.TP
.I width
フィールドが指定した幅
.I width
-になるように拡張されます。もし、
-.I width
-が 0 で始まる数値の場合、
-フィールドは 0 によって拡張されます。さもなければ、空白で拡張されます。
-これは数値ではない出力に対しても適用できます。
+になるようにパディングされます。フィールドは通常空白でパディングされます。
+.B 0
+フラグが使用された場合には 0 でパディングされます。
.TP
.BI . prec
-文字列の最大長、または、小数点以下の桁数を指定します。
+印字において使用する精度を数値で指定します。
+.BR %e ,
+.BR %E ,
+.B %f
+の書式に対しては、小数点の右側に印字される数字の数を指定します。
+.BR %g ,
+.B %G
+の書式に対しては、仮数部の最大数を指定します。
+.BR %d ,
+.BR %o ,
+.BR %i ,
+.BR %u ,
+.BR %x ,
+.B %X
+の書式に対しては、印字される数字の最小数を指定します。
+文字列に対しては、印字される文字列からとりだされる最大の文字数を指定します。
.PP
\*(AN C の
.B printf()
の動的な幅
.I width
と精度
.I prec
-の指定機能が使用できます。幅または精
-度の指定部分に
+の指定機能が使用できます。
+.B 幅
+または
+.B 精度
+の指定部分に
.B *
を指定することで、その値を
.B printf
または
.B sprintf()
への引数で指定できます。
.SS 特殊ファイル名
.PP
+.B print
+や
+.B printf
+で書き込みときでも、
+.B getline
+でファイルから読み取るときでも、
入出力リダイレクトを行う場合、
-.I awk
-が内部で解釈する特殊なファイル名があります。
+.I gawk
+は内部的な特殊なファイル名を解釈します。
これらのファイル名により、親プロセス(通常はシェルです)から受け継いだ
-ファイルディスクリプタを用いて入出力を行ったり、実行中の
-.I awk
+オープン状態のファイルディスクリプタを用いて入出力を行ったり、実行中の
+.I gawk
プロセスに関する情報を得ることができます。
特殊ファイル名は以下のとおりです。
.TP \w'\fB/dev/stdout\fR'u+1n
.B /dev/pid
-現在の
-.I awk
-プロセスのプロセスID(10進数で、最後に改行が付きます)を
+現在のプロセスのプロセスID(10進数で、最後に改行が付きます)を
読み込むことができます。
.TP
.B /dev/ppid
-親プロセスのプロセスID(10進数で、最後に改行が付きます)を
+現在のプロセスの親のプロセスのプロセスID(10進数で、最後に改行が付きます)を
読み込むことができます。
.TP
.B /dev/pgrpid
-現在の awk プロセスのプロセスグループ ID(10進数で、最後に改行が付きます)
+現在のプロセスのプロセスグループ ID(10進数で、最後に改行が付きます)
を読み込むことができます。
.TP
.B /dev/user
このファイルを読むことで、改行で終わる単一のレコードが得られます。
各フィールドは空白で区切られています。
.B $1
.IR getuid (2)
システムコールの値、
.B $2
.IR geteuid (2)
システムコールの値、
.B $3
.IR getgid (2)
-システムコールの値、$4
+システムコールの値、
+.B $4
.IR getegid (2)
システムコールの値です。もし、さらにフィールドがあれば、
それは
.IR getgroups (2)
システムコールが返すグループ ID のリストです。
全てのシステムで複数のグループがサポートされているわけではありません。
.TP
.B /dev/stdin
標準入力。
.TP
.B /dev/stdout
標準出力。
.TP
.B /dev/stderr
標準エラー出力。
.TP
.BI /dev/fd/\^ n
オープンされたファイルディスクリプタ
.I n
に対応しているファイル。
.PP
エラーメッセージを出力するには、以下の方法が便利です。
.PP
.RS
.ft B
print "You blew it!" > "/dev/stderr"
.ft R
.RE
.PP
もしこの機能が無かったら、次のようにするしかないところです。
.PP
.RS
.ft B
print "You blew it!" | "cat 1>&2"
.ft R
.RE
.PP
これらのファイル名は、コマンドラインのデータファイル指定で使うこともできます。
.SS 数値関数
.PP
AWK は以下の定義済み数値関数を持っています。
.PP
-.TP \w'\fBsrand(\^\fIexpr\^\fB)\fR'u+1n
+.TP \w'\fBsrand(\fR[\fIexpr\^\fR]\fB)\fR'u+1n
.BI atan2( y , " x" )
.I y/x
-の逆正接(ラジアン単位)。
+の逆正接をラジアンで与えます。
.TP
.BI cos( expr )
-余弦(与える値はラジアン)。
+.I expr
+の余弦をラジアンで与えます。
.TP
.BI exp( expr )
指数関数。
.TP
.BI int( expr )
整数への切捨て。
.TP
.BI log( expr )
自然対数。
.TP
.B rand()
-0 から 1 の間の乱数。
+0 から 1 の間の乱数を与えます。
.TP
.BI sin( expr )
-正弦(与える値はラジアン)。
+.I expr
+の正弦をラジアンで与えます。
.TP
.BI sqrt( expr )
平方根。
.TP
-.BI srand( expr )
-式
+\&\fBsrand(\fR[\fIexpr\^\fR]\fB)\fR
.I expr
の値を乱数生成関数の種として用います。式が指定されなかった場合は、
時刻が用いられます。直前の種の値を返します。
.SS 文字列関数
.PP
-AWK は以下の定義済み文字列関数を持っています。
+.I gawk
+は以下の定義済み文字列関数を持っています。
.PP
.TP "\w'\fBsprintf(\^\fIfmt\fB\^, \fIexpr-list\^\fB)\fR'u+1n"
-\fBgsub(\fIr\fB, \fIs\fB, \fIt\fB)\fR
+\fBgensub(\fIr\fB, \fIs\fB, \fIh \fR[\fB, \fIt\fR]\fB)\fR
+対象文字列
+.I t
+から正規表現
+.I r
+のマッチを探します。
+.I h
+が
+.B g
+または
+.B G
+で開始する文字列の場合、マッチする
+.I r
+をすべて
+.I s
+に置き換えます。
+そうでない場合、
+.I h
+は何番目の
+.I r
+のマッチを置き換えるのかを示します。
+.I t
+が与えられない場合、代りに
+.B $0
+が使用されます。
+置換テキスト
+.I s
+では、シーケンス
+.BI \e n\fR
+ただし
+.I n
+は 1 から 9 までの数字を使用して、
+.I n
+番目にマッチした括弧付きサブ式を示すことができます。
+シーケンス
+.B \e0
+は文字
+.B &
+と同様、マッチしたテキスト全体を表します。
+.B sub()
+や
+.B gsub()
+とは異なり、修正された文字列が関数の結果として返され、
+元の対象テキストは変更され
+.I ません
+。
+.TP "\w'\fBsprintf(\^\fIfmt\fB\^, \fIexpr-list\^\fB)\fR'u+1n"
+\fBgsub(\fIr\fB, \fIs \fR[\fB, \fIt\fR]\fB)\fR
文字列
.I t
中で正規表現
.I r
にマッチした部分をすべて
.I s
に置換します。置換の個数を返します。
.I t
を指定しなかった場合は
.B $0
が用いられます。
+置換テキストでは、
+.B &
+は実際にマッチしたテキストで置き換えられます。
+.B \e&
+を使用するとリテラルの
+.B &
+を得ることができます。
+.BR sub() ,
+.BR gsub() ,
+.B gensub()
+における
+.B &
+とバックスラッシュに関する完全な議論は
+.I "AWK Language Programming"
+を参照してください。
.TP
.BI index( s , " t" )
文字列
.I s
中に含まれる文字列
.I t
の位置を返します。
.I t
が含まれていない場合は 0 を返します。
.TP
-.BI length( s )
+\fBlength(\fR[\fIs\fR]\fB)
文字列
.I s
の長さを返します。
.I s を指定しなかった場合には
.B $0
の長さを返します。
.TP
.BI match( s , " r" )
文字列
.I s
中で正規表現
.I r
にマッチする位置を返します。マッチしない場合は 0 を
返します。
.B RSTART
.B RLENGTH
の値が設定されます。
.TP
-\fBsplit(\fIs\fB, \fIa\fB, \fIr\fB)\fR
+\fBsplit(\fIs\fB, \fIa \fR[\fB, \fIr\fR]\fB)\fR
文字列
.I s
を正規表現
.I r
を用いて分割し、配列
.I a
に格納します。
フィールド数を返します。
.I r
が省略され
た場合は
.B FS
が用いられます。配列
.I a
の内容は、分割前にクリアされます。
+分割は、上述のフィールド分割と同じ動作を行います。
.TP
.BI sprintf( fmt , " expr-list" )
書式
.I fmt
に従って
.I exp-list
を整形表示し、結果の文字列を返します。
.TP
-\fBsub(\fIr\fB, \fIs\fB, \fIt\fB)\fR
+\fBsub(\fIr\fB, \fIs \fR[\fB, \fIt\fR]\fB)\fR
.B gsub()
と似てますが、最初にマッチした文字列のみが置換されます。
.TP
-\fBsubstr(\fIs\fB, \fIi\fB, \fIn\fB)\fR
+\fBsubstr(\fIs\fB, \fIi \fR[\fB, \fIn\fR]\fB)\fR
文字列
.I s
.I i
-文字目から始まる
+文字目から始まる最大
.I n
文字の部分文字列を返します。
.I n
が省略された場合、
.I i
文字目以降の部分文字列が返されます。
.TP
.BI tolower( str )
文字列
.I str
をコピーし、大文字をすべて小文字に変換したものを返します。
アルファベットでない文字は変化しません。
.TP
.BI toupper( str )
文字列
.I str
をコピーし、小文字をすべて大文字に変換したものを返します。
アルファベットでない文字は変化しません。
.SS 時間関数
.PP
タイムスタンプを含んだログファイルの処理は
AWK プログラムの主な使い道の1つですから、
-.I awk
+.I gawk
はタイムスタンプを取り出したり、フォーマット
するための 2 つの関数を提供します。
.PP
.TP "\w'\fBsystime()\fR'u+1n"
.B systime()
-エポックからの経過秒数を返します
-(\*(PX システムでは、エポックは UTC で 1970 年 1 月 1 日 0:00 です)。
+基準時点からの経過秒数を返します
+(\*(PX システムでは、基準時点は UTC で 1970 年 1 月 1 日 0:00 です)。
.TP
-\fBstrftime(\fIformat\fR, \fItimestamp\fB)\fR
+\fBstrftime(\fR[\fIformat \fR[\fB, \fItimestamp\fR]]\fB)\fR
書式
.I format
に従って
.I timestamp
をフォーマットします。
.I timestamp
.B systime()
が返す値と同じ形式でなければなりません。
.I timestamp
-が省略された
-場合、現在の
-.B systime()
-の値が用いられます。利用可能なフォーマットにつ
-いては、\*(AN C の
+が省略された場合、現在の日付が使用されます。
+.I format
+が省略された場合、
+.IR date (1)
+が出力に使用するものと同じデフォルトフォーマットが使用されます。
+利用可能なフォーマットについては、\*(AN C の
.B strftime()
-関数の仕様を参照して下さい。パブリックドメイン
-な
+関数の仕様を参照して下さい。パブリックドメインな
.IR strftime (3)
とそのマニュアルページが
-.I awk
+.I gawk
とともに配布されています。もし、
-.I awk
+.I gawk
を作成するためにその
.B strftime
-を用いた場合は、そのマニュアルに記述さ
-れている変換書式が
-.I awk
+を用いた場合は、そのマニュアルに記述されている変換書式が
+.I gawk
でも利用可能です。
.SS 文字列定数
.PP
AWK での文字列定数は、ダブルクォート(\fB"\fR)に狭まれた文字の列です。
文字列内では、C 言語のようにいくつかの
.I エスケープシーケンス
が使えます。
.PP
.TP \w'\fB\e\^\fIddd\fR'u+1n
.B \e\e
バックスラッシュそのもの。
.TP
.B \ea
「警告」文字。通常は \s-1ASCII\s+1 \s-1BEL\s+1 文字です。
.TP
.B \eb
バックスペース。
.TP
.B \ef
-改ページ。
+改ページ(フォームフィード)。
.TP
.B \en
改行。
.TP
.B \er
復帰(キャリッジリターン)。
.TP
.B \et
水平タブ。
.TP
.B \ev
垂直タブ。
.TP
.BI \ex "\^hex digits"
.B \ex
に続く 16 進数で表現された文字。\*(AN C と同様に、
.B \ex
に続くすべての 16 進数字
はエスケープシーケンスの一部であるとみなされます。
(この機能によりコミッティによる言語デザインが分かります。)
-たとえば、\fB"\ex1B"\fR は
+例えば、\fB"\ex1B"\fR は
\s-1ASCII\s+1 \s-1ESC\s+1 (エスケープ) 文字です。
.TP
.BI \e ddd
-1桁か2桁か3桁の 8 進数で表現された文字。たとえば、 \fB"\e033"\fR は
+1桁か2桁か3桁の 8 進数で表現された文字。例えば、 \fB"\e033"\fR は
\s-1ASCII\s+1 \s-1ESC\s+1 (エスケープ) 文字です。
.TP
.BI \e c
文字 c そのもの。
.PP
-エスケープシーケンスは正規表現定数内でも用いることができます(たとえば、
+エスケープシーケンスは正規表現定数内でも用いることができます(例えば、
.B "/[\ \et\ef\en\er\ev]/"
は空白文字にマッチします)。
+.PP
+互換モードでは、8 進および 16 進のエスケープシーケンスで表現される文字は、
+正規表現定数として使用された場合、リテラルとして扱われます。
+それゆえ、
+.B /a\e52b/
+は
+.B /a\e*b/
+と等価です。
.SH 関数
AWK では関数を以下のようにして定義します。
.PP
.RS
\fBfunction \fIname\fB(\fIparameter list\fB) { \fIstatements \fB}\fR
.RE
.PP
-関数は、アクション部から呼び出されたときに実行されます。
+関数は、パターンまたはアクションの式から呼び出されたときに実行されます。
関数呼び出しにおいて与えられた実引数が、関数宣言における仮引数に
受け渡されます。
このとき配列の場合は参照渡しが行われ、他の変数の場合は値渡しで行われます。
.PP
元々 AWK に関数は備わっていませんでしたので、局所変数の機構はあまり
スマートではありません。
局所変数は引数リストの余分な引数として宣言します。局所変数と関
-数引数を区別するため、余分な空白で区切るのが慣習です。たとえば、以下のよ
+数引数を区別するため、余分な空白で区切るのが慣習です。例えば、以下のよ
うにします。
.PP
.RS
.ft B
.nf
-function f(p, q, a, b) { # a と b は局所変数
- ..... }
+function f(p, q, a, b) # a & b は局所変数
+{
+ \&.....
+}
/abc/ { ... ; f(1, 2) ; ... }
.fi
.ft R
.RE
.PP
関数呼び出しにおける左括弧は、空白を狭まずに関数名の直後に
置かなければいけません。
これは、文字列結合演算子との曖昧さを生じさせないために必要です。
この制限は、上述の組み込み関数にはあてはまりません。
.PP
関数は、他の関数を呼び出したり、自分自身を再帰的に呼び出すことができます。
局所変数として用いられる関数引数は、関数起動時に空文字列および 0
に初期化されます。
.PP
+.B \-\^\-lint
+が指定されたとき、
+.I gawk
+は実行時ではなくパーズ時に未定義関数の呼び出しに関して警告します。
+実行時の未定義関数の呼び出しは致命的なエラーとなります。
+.PP
.B function
のかわりに
.B func
を用いることができます。
-.SH 例
+.SH 使用例
.nf
``/etc/passwd'' から全ユーザのログイン名を取り出し、ソートして出力する。
.ft B
BEGIN { FS = ":" }
{ print $1 | "sort" }
.ft R
ファイルの行数を数える。
.ft B
{ nlines++ }
END { print nlines }
.ft R
行番号をつける。
.ft B
{ print FNR, $0 }
.ft R
全ファイルを通した行番号をつける。
.ft B
{ print NR, $0 }
.ft R
.fi
.SH 関連項目
.IR egrep (1),
.IR getpid (2),
.IR getppid (2),
.IR getpgrp (2),
.IR getuid (2),
.IR geteuid (2),
.IR getgid (2),
.IR getegid (2),
.IR getgroups (2)
.PP
.IR "The AWK Programming Language" ,
Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger,
Addison-Wesley, 1988. ISBN 0-201-07981-X.
.PP
-.IR "The AWK Manual" ,
-Edition 0.15, published by the Free Software Foundation, 1993.
+.IR "AWK Language Programming" ,
+Edition 1.0, published by the Free Software Foundation, 1995.
.SH POSIX 互換
-.I awk
+.I gawk
は最新版の \*(UX
.I awk
との互換性だけでなく、\*(PX 標準との互換性も追求しています。
このため
-.I awk
+.I gawk
には以下のような機能が取り入れられています。
これらの機能は AWK 本には述べられていませんが、
-System V Release 4 および \*(PX 標準の
+ベル研究所および \*(PX 標準の
.I awk
が有している機能です。
.PP
プログラム実行前に変数代入を行なう
.B \-v
オプションは新しい物です。
AWK 本によれば、コマンドラインで指定された変数代入は
.I awk
が引数をファイル名としてオープンする際に行なわれることになります。つまり
これは
.B BEGIN
ブロックの実行後です。しかしながら初期の頃の実装では、引数の中でファイル名に
先立って変数代入が指定されている場合には、代入は
.B BEGIN
ブロック実行の
.I 前に
行われていました。そしてアプリケーションは、この「仕様」に依存する
ようになりました。
.I awk
がそのドキュメントに合うように直された時、昔の動作に依存している
アプリケーションの便宜を図るためにこのオプションが加えられました。
(この仕様は AT&T および GNU の開発者達によって合意されました。)
.PP
独自機能のための
.B \-W
オプションは \*(PX 標準に従ったものです。
.PP
引数の列に特別なオプション ``\fB\-\^\-\fP'' を指定すると、
-.I awk
+.I gawk
はそこがオプションの終わりであると解釈します。
互換モードにおいては未定義オプションは警告が出力され、それ以外のものは
無視されます。
通常の実行においては残りの引数は AWK プログラムに引き渡されます。
.PP
AWK 本は
.B srand()
の返り値を定義していません。
-System V Release 4 版の \*(UX
-.I awk
-(と \*(PX 標準)
-では、その関数が使っている種を返します。
+\*(PX 標準
+では、その関数が使っている種を返し、
+乱数シーケンスを追跡できるようにしています。
したがって
-.I awk
+.I gawk
における
.B srand()
も現在の種を返すようにしてあります。
.PP
その他にも以下のような新機能があります。
.B \-f
オプションの複数回使用 (MKS
.IR awk に倣いました);
.B ENVIRON
配列;
エスケープシーケンス
.B \ea
.B \ev
(
-.I awk
+.I gawk
で最初に実装され、AT&T の
.I awk
にフィードバックされました);
組み込み関数
.B tolower()
.B toupper()
(AT&T に倣いました);
.B printf
における \*(AN C 変換指定
(AT&T 版で最初に実装されました)。
.SH GNU 拡張
.I gawk
は \*(PX
.I awk
-に対していくつかの拡張が行なわれています。
+に対して多くの拡張が行なわれています。
この節ではそれらについて解説します。
-.B "\-W compat"
+.B \-\^\-traditional
オプション付きで
-.I awk
+.I gawk
を起動することによって、
ここで述べられている拡張機能をすべて禁止することができます。
.PP
-.I awk
+.I gawk
が持つ以下の機能は
\*(PX
.I awk
では使用できません。
.RS
.TP \w'\(bu'u+1n
\(bu
エスケープシーケンス
.B \ex
-。
+。(
+.B \-\^\-posix
+で抑止できます。)
+.TP \w'\(bu'u+1n
+\(bu
+.B fflush()
+関数。(
+.B \-\^\-posix
+で抑止できます。)
.TP
\(bu
-関数
-.B systime()
-および
-.B strftime()
-。
+.BR systime() ,
+.BR strftime() ,
+.B gensub()
+の各関数。
.TP
\(bu
-入出力リダイレクトで利用可能な特殊ファイル名。
+入出力リダイレクトで利用可能な特殊ファイル名は理解されません。
.TP
\(bu
変数
-.B ARGIND
-および
-.B ERRNO
+.BR ARGIND ,
+.BR ERRNO ,
+.B RT
は特殊変数ではありません。
.TP
\(bu
変数
.B IGNORECASE
とその副作用は利用できません。
.TP
\(bu
変数
.B FIELDWIDTHS
と固定長フィールド分割。
.TP
\(bu
+.B RS
+の正規表現としての使用。
+.TP
+\(bu
+.B FS
+に空文字列を設定することにより各文字を切り出す能力と、
+.B split()
+の 3 番目の引数。
+.TP
+\(bu
.B \-f
-オプションで指定されたファイル名について行われるパス検索。
+オプションで指定されたファイル名についてパス検索を行わないこと。
よって、環境変数
.B AWKPATH
は特殊な変数ではありません。
.TP
\(bu
現在の入力ファイルに対する処理を終わらせるために使用される
-.B "next file"
+.B "nextfile"
.TP
\(bu
配列全体を削除するために使用される
.BI delete " 配列"
.RE
.PP
AWK 本は関数
.B close()
の返り値を定義していません。
.I gawk
.B close()
は、ファイルやパイプをクローズする際に呼び出す
-.IR fclose (3)、
+.IR fclose (3)
.IR pclose (3)、
からの返り値を返します。
.PP
オプション
-.B "\-W compat"
+.B \-\^\-traditional
付きで
-.I awk
+.I gawk
を起動し
.B \-F
オプションへの引数
.I fs
として ``t'' を与えた場合に、
.B FS
の値はタブ文字に設定されます。
+.B "gawk \-F\et \&..."
+とタイプしても、シェルが単に ``t'' をクォートするので、``\et'' は
+.B \-F
+オプションに渡されません。
これは少々見苦しい特殊事例ですので、デフォルトの動作としては
採用されていません。
-.B "\-W posix"
+.B \-\^\-posix
を指定した場合にも、この動作は行なわれません。
+タブ文字をフィールドセパレータとして使用したい場合には、
+クォートを使用するのが最良です:
+.BR "gawk \-F'\et' \&..." .
.ig
.PP
If
.I awk
was compiled for debugging, it will
accept the following additional options:
.TP
.PD 0
.B \-Wparsedebug
.TP
.PD
.B \-\^\-parsedebug
Turn on
.IR yacc (1)
or
.IR bison (1)
debugging output during program parsing.
This option should only be of interest to the
-.I awk
+.I gawk
maintainers, and may not even be compiled into
-.IR awk .
+.IR gawk .
..
.SH 歴史的機能
-.I awk
-は歴代の AWK の実装にあった二つの機能を備えています。
-一つめとして、組み込み関数
+.I gawk
+は歴代の AWK の実装にあった 2 つの機能を備えています。
+1 つめとして、組み込み関数
.B length()
は引数無しで呼び出せるだけでなく、さらに括弧無しでも呼び出せます!
したがって
.RS
.PP
.ft B
-a = length
+a = length # Holy Algol 60, Batman!
.ft R
.RE
.PP
は以下の2例と同じです。
.RS
.PP
.ft B
a = length()
.br
a = length($0)
.ft R
.RE
.PP
\*(PX 標準ではこの機能は ``deprecated'' と注意書きされており、
-.I awk
+.I gawk
ではコマンドラインで
-.B "\-W lint"
+.B \-\^\-lint
を指定した場合に、この機能の使用に対して警告を出力します。
.PP
-もう一つは、
-.BR while 、
-.BR for 、
+もう 1 つは、
+.BR while ,
+.BR for ,
.B do
ループ本体の外でも
-.B continue
+.BR continue ,
+.B break
ステートメントを使用できるという機能です。
伝統的な AWK の実装では、このように使用した
.B continue
ステートメントを
.B next
ステートメントと等価なものとして扱ってきました。
.I gawk
では
-.B "\-W posix"
-が指定されていない場合に、この機能を使うことができます。
+.B \-\^\-traditional
+が指定された場合に、この機能を使うことができます。
.SH 環境変数
環境に
.B POSIXLY_CORRECT
が存在する場合には、
-.I awk
+.I gawk
はコマンドラインで
-.B \-\-posix
+.B \-\^\-posix
が指定されている時と全く同じ動作をします。
このとき
-.B \-\-lint
+.B \-\^\-lint
が指定されていると
-.I awk
+.I gawk
はこの作用についての警告メッセージを出力します。
+.PP
+.B AWKPATH
+環境変数を使用して、
+.I gawk
+が
+.B \-f
+および
+.B \-\^\-file
+オプションで指定されたファイル名を検索するディレクトリを指定できます。
.SH バグ
コマンドラインでの変数代入機能を使用するには、変数への代入を直接
コマンドラインに書けばよく、
.B \-F
オプションをつける必要はありません。
このオプションは昔の
.I awk
との互換性のためだけに残されています。
.PP
ファイル
.B /dev/fd
および
-.BR /dev/stdin 、
-.BR /dev/stdout 、
+.BR /dev/stdin ,
+.BR /dev/stdout ,
.B /dev/stderr
を実際にサポートしているシステムでの
-.I awk
+.I gawk
からは、それらがないシステムとは違った出力が得られるかもしれません。
-.I awk
+.I gawk
はそれらのファイルを内部で解釈する際に標準出力への出力を
.B /dev/stdout
への出力と同期させますが、それらのファイルを持つシステムでは
出力はそれぞれ異なるファイルへ向けられます。
利用者の方で気を付けるようにしてください(Caveat Emptor)。
+.PP
+文法的に誤った単一文字プログラムはパーズスタックを溢れさせる傾向があり、
+まったく分からないメッセージを生成する傾向にあります。
+このようなプログラムの診断は驚くべきことに一般に難しく、
+診断の努力はまったく無意味になります。
.SH バージョン情報
このマニュアルは
-.I awk
-バージョン 2.15 について書かれています。
-.PP
-バージョン 2.11 にあったオプション
-.BR \-c 、
-.BR \-V 、
-.BR \-C 、
-.ig
-.BR \-D 、
-..
-.BR \-a 、
-.B \-e
-は、バージョン 2.15 以降では使用できません。
-バージョン 2.16 のマニュアルでは、この事実の記述さえ無くなるでしょう。
+.IR gawk
+バージョン 3.0.2 について記載しています。
.SH 作者
\*(UX
.I awk
の最初のバージョンは、AT&T ベル研究所の Alfred Aho と
Peter Weinberger および Brian Kernighan によって設計、実装されました。
Brian Kernighan はその保守と改良を続けています。
.PP
Free Software Foundation の Paul Rubin と Jay Fenlason
が、Seventh Edition \*(UX で配布された最初のバージョンの
.I awk
と互換性を持つように
.I gawk
を書きました。
John Woods は数々のバグ修正を送って下さいました。
David Trueman は、Arnold Robbins が送って下さった内容をもとに、
.I gawk
を新バージョンの \*(UX
.I awk
互換にしました。
.PP
DOS への最初の移植は Conrad Kwok と Scott Garfinkle によって
行なわれました。
現在は Scott Deifik が DOS 版の保守をしています。
Pat Rankin は VMS への移植を行ない、Michal Jaegermann は Atari ST への
移植を行ないました。
OS/2 への移植は Kai Uwe Rommel が Darrel Hankerson の助けを借りて
行ないました。
+Fred Fish が Amiga サポートの提供を行いました。
+.SH バグレポート
+.I gawk
+のバグを見付けたら、電子メールを
+.B bug-gnu-utils@prep.ai.mit.edu
+宛に送るとともに、カーボンコピーを
+.B arnold@gnu.ai.mit.edu
+宛に送ってください。
+電子メールには、オペレーティングシステムとそのリビジョン、
+.I gawk
+のリビジョン、コンパイルに使用した C コンパイラ、
+問題を再現するできるだけ小さなテストプログラムとデータを記述してください。
+.PP
+バグレポートを送る前に 2 つのことを行ってください。
+第 1 に、最新の
+.I gawk
+を使用されていることを確認してください。
+多くの (通常微妙な) バグが各々のリリースで修正されていますので、
+ご使用のものが古い場合には問題は既に解決されているかもしれません。
+第 2 に、このマニュアルページとリファレンスマニュアルを注意深く読み、
+あなたがバグだと思うものが確かにバグであり、
+大きく変わった言語仕様ではないことを確認してください。
+.PP
+バグレポートを
+.B comp.lang.awk
+に投稿することだけはしないでください。
+.I gawk
+の開発者達は時々このニュースグループを読みますが、
+バグレポートをこのニュースグループに投稿しても
+バグレポートとして信頼性がありません。
+上記のアドレスへの電子メールでお願いします。
.SH 謝辞
ベル研究所の Brian Kernighan はテストおよびデバッグの間、貴重な助力を
提供して下さいました。
感謝致します。
+.SH 複製許諾
+Copyright \(co\) 1996 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual page provided the copyright notice and this permission
+notice are preserved on all copies.
+.ig
+Permission is granted to process this file through troff and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual page).
+..
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual page 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.
+.PP
+Permission is granted to copy and distribute translations of this
+manual page into another language, under the above conditions for
+modified versions, except that this permission notice may be stated in
+a translation approved by the Foundation.
diff --git a/ja/man/man1/basename.1 b/ja/man/man1/basename.1
index 382003dfa0..d3f9e93db2 100644
--- a/ja/man/man1/basename.1
+++ b/ja/man/man1/basename.1
@@ -1,98 +1,99 @@
.\" Copyright (c) 1990 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)basename.1 8.2 (Berkeley) 4/18/94
+.\" %Id: basename.1,v 1.5 1998/04/14 22:08:48 danny Exp %
+.\"
.\" jpman %Id: basename.1,v 1.2 1997/03/26 15:20:48 jsakai Stab %
-.\" %Id: basename.1,v 1.2.2.1 1998/04/14 22:10:40 danny Exp %
.\"
.Dd April 18, 1994
.Dt BASENAME 1
.Os
.Sh 名称
.Nm basename , dirname
.Nd 指定したパスのファイル名部分やディレクトリ名部分を返す
.Sh 書式
.Nm basename
.Ar string
.Op Ar suffix
.br
.Nm dirname
.Ar string
.Sh 解説
.Nm basename
.Ar string
から最後の
.Ql \&/
までを
削除し、
.Ar suffix
が指定された場合はこれも削除します。
(まず後続する複数のスラッシュを取り除いた)
.Ar string
に残された文字列と
.Ar suffix
がまったく同じ場合には、削除しません。
そして、その結果得られるファイル名を標準出力に書き出します。
存在しない
.Ar suffix
は無視します。
.Pp
.Nm dirname
(まず後続する複数のスラッシュを取り除いた)
.Ar string
中の最後の
.Ql \&/
から最後尾までをファイル名とみなしてこの部分を削除し、
残りを標準出力に書き出します。
.Sh 使用例
次の行は、シェル変数 FOO に /usr/bin を設定するものです。
.Pp
.Dl FOO=`dirname /usr/bin/trail`
.Pp
.Nm basename
および
.Nm dirname
は共に、成功した場合は 0 を、
エラーが起きた場合は 0 より大きな値を返します。
.Sh 関連項目
.Xr csh 1 ,
.Xr sh 1
.Sh 規格
.Nm basename
および
.Nm dirname
の機能は、POSIX 1003.2 準拠であると思われます。
diff --git a/ja/man/man1/bc.1 b/ja/man/man1/bc.1
index c1f9c36b08..c269c58c41 100644
--- a/ja/man/man1/bc.1
+++ b/ja/man/man1/bc.1
@@ -1,740 +1,792 @@
.\"
.\" bc.1 - the *roff document processor source for the bc manual
.\"
-.\" This file is part of bc written initially for MINIX.
-.\" Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+.\" This file is part of GNU bc.
+.\" Copyright (C) 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License , or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; see the file COPYING. If not, write to
.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.\"
.\" You may contact the author by:
.\" e-mail: phil@cs.wwu.edu
.\" us-mail: Philip A. Nelson
.\" Computer Science Department, 9062
.\" Western Washington University
.\" Bellingham, WA 98226-9062
.\"
-.\" %Id: bc.1,v 1.3.2.1 1996/11/06 09:23:50 phk Exp %
.\" jpman %Id: bc.1,v 1.3 1997/07/26 10:23:05 konuma Stab %
.\"
-.TH bc 1 .\" "Command Manual" v1.03 "Nov 2, 1994"
+.TH bc 1 .\" "Command Manual" v1.04 "June 22, 1995"
.SH 名称
bc - 任意精度の計算言語
.SH 書式
-\fBbc\fR [ \fB-lws\fR ] [ \fI file ...\fR ]
+\fBbc\fR [ \fB-lwsqv\fR ] [long-options] [ \fI file ...\fR ]
.SH バージョン
-このマニュアルは GNU bc version 1.03 について記述してあります。
+このマニュアルは GNU bc version 1.04 について記述してあります。
.SH 解説
\fBbc\fR は、任意の精度の数値を扱う事ができ、プログラミング言語 C の文法に
-よく似た形の入力をインタラクティブに実行する言語です。
+よく似た形の入力を対話的に実行する言語です。
コマンドラインのオプションの指定により、標準数学ライブラリを使用することも
できます。これを指定した場合は、どのファイルを処理するよりも前に
数学ライブラリが定義されます。
\fBbc\fR は動作を開始するとまず最初にコマンドラインで指定したファイルを
-順に処理します。全てのファイルを処理した後は、\fBbc\fR は
-標準入力からの読み込みを行います。全てのコードは、それが読み込ま
+順に処理します。すべてのファイルを処理した後は、\fBbc\fR は
+標準入力からの読み込みを行います。すべてのコードは、それが読み込ま
れた時点で実行されていきます。(もし、ファイル中にプロセッサを止める
コマンドが含まれていた場合は、標準入力からの読み込みは行われません。)
.PP
-本バージョンの \fBbc\fR は、伝統的な \fBbc\fR のインプリメントおよび POSIX
-のドラフトよりも拡張されています。コマンドラインオプションにより、
+本バージョンの \fBbc\fR は、伝統的な \fBbc\fR の実装および
+POSIX のドラフト規格よりも拡張されています。コマンドラインオプションにより、
これらの拡張に対して警告を表示したり拒絶したりすることが可能です。
本ドキュメントでは、このプロセッサが受理する言語について説明します。
拡張機能についてはその旨明記します。
.SS オプション
.IP -l
標準数学ライブラリを定義します。
.IP -w
POSIX \fBbc\fR に対する拡張機能が入力された場合は警告を出します。
.IP -s
-POSIX \fBbc\fR の言語仕様に従って、厳密に処理します。
+POSIX \fBbc\fR の言語仕様に厳密に従って処理します。
+.IP -q
+GNU bc 導入メッセージを表示しません。
+.IP -v
+バージョン番号と著作権を表示して終了します。
+.IP --mathlib
+標準数学ライブラリを定義します。
+.IP --warn
+POSIX \fBbc\fR に対する拡張機能が入力された場合は警告を出します。
+.IP --standard
+POSIX \fBbc\fR の言語仕様に厳密に従って処理します。
+.IP --quiet
+GNU bc 導入メッセージを表示しません。
+.IP --version
+バージョン番号と著作権を表示して終了します。
.SS 数
\fBbc\fR における最も基本的な要素は `数' です。数は、整数部と小数部があり、
-任意の精度をとることができます。全ての数は、内部では 10 進数で表現されており、
+任意の精度をとることができます。すべての数は、内部では 10 進数で表現されており、
計算も 10 進数で行われます。(本バージョンでは、除算と乗算で結果に切捨てが
起こります。) 数には length と scale という 2 つの属性があります。
-length は 10 進での有効桁数で、 scale は小数点以下の 10 進での有効桁数です。
+length は 10 進での有効桁数で、scale は小数点以下の 10 進での有効桁数です。
例えば、
.nf
.RS
.000001 は、lengthが 6 で、scale も 6 です。
1935.000 は、lengthが 7 で、scale が 3 です。
.RE
.fi
.SS 変数
数は、単純変数と配列の 2 種類の変数に保存されます。単純変数と配列変数には共に
名前が付けられます。この名前は、最初の 1 文字目がアルファベットで、後は、
アルファベット、数字およびアンダスコアを任意の文字数組み合わせて
-使うことができます。全てのアルファベットは小文字でなければなりません。
+使うことができます。すべてのアルファベットは小文字でなければなりません。
(アルファベットと数字を使った名前の機能は拡張機能です。
POSIX \fBbc\fR では、変数に英小文字 1 文字しか許されません。)
配列変数の名前には必ずブラケット ([]) がつくので、変数の型は文脈において
はっきりしています。
.PP
特殊な変数として \fBscale, ibase, obase, last\fR の 4 つの変数があります。
\fBscale\fR で計算時の小数点以下の有効桁数を指定します。
\fBscale\fR のデフォルトは 0 です。
-\fBibase\fR と \fBobase\fR で入力および出力の基数を指定します。
+\fBibase\fR と \fBobase\fR で入力および出力の変換基数を指定します。
デフォルトでは、入力、出力の基数は共に 10 です。
\fBlast\fR は、最後に \fBbc\fR が出力した数を保持しています
(これは拡張機能です)。これらについては、後で適切なところで詳しく説明します。
これらの変数には、式で使われる代入と同様の代入を行うことが可能です。
.SS コメント
\fBbc\fR は、\fB/*\fR から \fB*/\fR の間をコメントとして扱います。
コメントはどこから始まっていてもよく、1 文字の空白として扱われます。
(これにより、コメントはその前後の入力アイテムを切り離します。たとえば、
変数名の途中にコメントを置くことはできません。)
コメントの中にはいくつ改行があってもかまいません。
+.PP
+\fBbc\fR をスクリプトとしても使えるようにするため、1 行コメントが
+拡張機能として追加されました。1 行コメントは \fB#\fR で始まり、
+次の改行まで有効です。その改行文字自体はコメントの一部とはみなされず、
+普通に処理されます。
.SS 式
`数' は、式および文によって操作されます。
-この言語はインタラクティブになるように設計されているため、
-文および式は即座に実行されます。
+この言語は対話的になるように設計されているため、
+文および式は可能な限り即座に実行されます。
"main" プログラムといったものはなく、そのかわり、コードは
それに出くわした時点で実行されます。
(後で述べる`関数'は、それに出くわした時点で定義されます。)
.PP
式の最も単純なものは、ただの定数です。\fBbc\fR は、入力された
定数を、変数 \fBibase\fR で指定される現在の基数を元に、内部的には 10 進表現の
数に変換します。(関数の場合には例外があります。)
-\fBibase\fR には、2 から 16 (F) までが使用できます。
+\fBibase\fR には、2 から 16 までが使用できます。
この範囲を越える値を \fBibase\fR に代入しようとすると、
2 あるいは 16 を指定したことになります。
数の入力には、0-9 および A-F の文字が利用できます。(注意:
これは大文字でなければなりません。小文字は変数名です。)
1 桁の数は \fBibase\fR の値に関係なくその値を持ちます (すなわち A=10)。
-複数桁の数の場合、\fBbc\fR は ibase 以上の値をもつ全ての入力桁を
+複数桁の数の場合、\fBbc\fR は ibase 以上の値をもつすべての入力桁を
\fBibase\fR-1に変更します。これにより、数 \fBFFF\fR は常に、
その入力基数を使って 3 桁で表現可能な最大の値を表します。
.PP
-全ての演算式が、他の多くの高級言語に似たものとなっています。
+すべての演算式が、他の多くの高級言語に似たものとなっています。
数の型は 1 種類しかないため、型変換の規則はありません。
そのかわり、式の有効桁数に関する規則があります。
-全ての式に有効桁数があり、これはその被演算数の有効桁数と
+すべての式に有効桁数があり、これはその被演算数の有効桁数と
+施される演算、それに多くの場合、
変数 \fBscale\fR から決定されます。\fBscale\fR には、0 から
C の整数で表現できる最大の値までが指定可能です。
.PP
以下、bc で使用可能な演算子を説明します。なお、完全形の式を "expr"、
単純変数または配列変数を "var" と表記します。
単純変数は単に
.RS
\fIname\fR
.RE
と表し、配列変数は
.RS
\fIname\fR[\fIexpr\fR]
.RE
と表します。特に言及しない限り、結果の有効桁数は、注目している式の
最大有効桁数になります。
.IP "- expr"
結果はその式の符号を反転したものとなります。
.IP "++ var"
変数を 1 だけインクリメントし、その新しい値が式の結果となります。
.IP "-- var"
変数を 1 だけデクリメントし、その新しい値が式の結果となります。
.IP "var ++"
式の結果はその変数の値となり、それからその変数を 1 だけ
インクリメントします。
.IP "var --"
式の結果はその変数の値となり、それからその変数を 1 だけ
デクリメントします。
.IP "expr + expr"
式の結果は 2 つの式の和となります。
.IP "expr - expr"
式の結果は 2 つの式の差となります。
.IP "expr * expr"
式の結果は 2 つの式の積となります。
.IP "expr / expr"
式の結果は 2 つの式の商となります。
結果の scale は変数 \fBscale\fR の値となります。
.IP "expr % expr"
結果は、以下のようにして求められる剰余です。a%b を求めるために、まず a/b を
\fBscale\fR の有効桁数で計算します。この結果を用いて、a-(a/b)*b を、
\fBscale\fR+scale(b) と scale(a) の大きい方の有効桁数で計算します。
もし \fBscale\fR に 0 がセットされ、両方の式が整数であれば、
整数の剰余が求められます。
.IP "expr ^ expr"
式の結果は、1 番目の式の値を 2 番目の回数だけ乗じたものになります。
2 番目の式は、整数でなければなりません。
(2 番目の式が整数でない場合は警告が表示され、
整数に切り詰めた値が使用されます。) 結果の scale は、べき指数が
負なら \fBscale\fR になります。べき指数が正なら、
"1 番目の式の scale とべき指数との積" および
"\fBscale\fR と 1 番目の式の scale の大きい方" のうちの小さい方
-(つまり、scale(a^b) = min(scale(expr1)*expr2, max(scale, scale(expr1))))
+(つまり、scale(a^b) = min(scale(a)*b, max( \fBscale,\fR scale(a))))
となります。
expr^0 は常に 1 を返します。
.IP "( expr )"
標準の優先度を使わずに、この式の評価を優先します。
.IP "var = expr"
式の値が変数に代入されます。
.IP "var <op>= expr"
"var" が一度しか評価されないこと以外は "var = var <op> expr" と同じです。
"var" が配列の場合は動作が違うことがあり得ます。
.PP
関係演算は特殊な演算で、結果は常に 0 か 1 になります。関係が偽の時 0、
真の時 1 になります。関係演算は、演算式のどこでも使う事ができます。
(POSIX bcでは、関係演算は、if, while, for 文の中だけで、しかも
1 つの関係式しか使用できません。)
関係演算子は以下の通り。
.IP "expr1 < expr2"
expr1 が expr2 より小さい場合 1 になります。
.IP "expr1 <= expr2"
expr1 が expr2 より小さいか等しい場合 1 になります。
.IP "expr1 > expr2"
expr1 が expr2 より大きい場合 1 になります。
.IP "expr1 >= expr2"
expr1 が expr2 より大きいか等しい場合 1 になります。
.IP "expr1 == expr2"
expr1 と expr2 が等しい場合 1 になります。
.IP "expr1 != expr2"
expr1 と expr2 が等しくない場合 1 になります。
.PP
論理演算も使えます。(POSIX \fBbc\fR には論理演算はありません。)
-論理演算も関係演算と同様、0 と 1 の 2 つの値 (各々偽および真)
-だけをとる演算です。
+論理演算も関係演算と同様、結果は 0 か 1 (各々偽および真) になります。
論理演算子は以下の通り。
.IP "!expr"
expr が 0 なら 1 になります。
.IP "expr && expr"
expr1 と expr2 が両方とも 0 でないなら、1 になります。
.IP "expr || expr"
expr1 と expr2 のどちらか一方が 0 でないなら、1 になります。
.PP
各演算子の優先順位と結合規則は次の通りです。
(最初のものほど低く、後にいくほど高い優先順位で先に実行されます。)
.nf
.RS
-|| operator, left associative
-&& operator, left associative
-! operator, nonassociative
-Relational operators, left associative
-Assignment operator, right associative
-+ and - operators, left associative
-*, / and % operators, left associative
-^ operator, right associative
-- (単項マイナス), nonassociative
-++ and -- operators, nonassociative
+|| (左から結合)
+&& (左から結合)
+! (結合せず)
+関係演算 (左から結合)
+代入演算 (右から結合)
++ - (左から結合)
+* / % (左から結合)
+^ (右から結合)
+- (単項マイナス) (結合せず)
+++ -- (結合せず)
.RE
.fi
.PP
この優先順位は、POSIX \fBbc\fR のプログラムがそのまま正しく動くように
配慮して決められています。このため、関係演算と論理演算を
代入文と共に用いた場合、通常とは異なる振る舞いをします。
次の例を考えてみましょう:
.RS
a = 3 < 5
.RE
.PP
C プログラマのほとんどは、
-``3 < 5'' の関係演算が実行された結果が変数 ``a'' に代入される、
+``3 < 5'' の関係演算が実行された結果 (つまり 1) が変数 ``a'' に代入される、
と考えるでしょう。
ところが \fBbc\fR では、まず 3 が変数 ``a'' に代入され、
それから 3 と 5 の比較が行われるのです。
この間違いを避けるために、
関係演算や論理演算を代入演算と共に用いる場合は、
括弧を使うのが最良です。
.PP
\fBbc\fR には特別な式がさらにいくつか備わっています。
それはユーザ定義関数と標準関数に関するもので、
すべて "\fIname\fB(\fIparameters\fB)\fR" という形をしています。
ユーザ定義関数については関数の章を参照して下さい。
標準関数は以下の通りです:
.IP "length ( expression )"
expression の有効桁数を返します。
.IP "read ( )"
(拡張機能) 関数の出現位置に関係なく、標準入力から数を読み取ります。
データとプログラムの両方を標準入力から与えるような場合には、
問題を生じうることに注意して下さい。
最良の方法は、
ユーザからデータの入力の必要があるなら、プログラムはあらかじめ作っておき、
標準入力からプログラムを入力しないようにすることです。
read 関数の値は標準入力から読み込んだ数です。
その際、変換基数として変数 \fBibase\fR の現在の値が用いられます。
.IP "scale ( expression )"
expression の小数点以下の有効桁数を返します。
.IP "sqrt ( expression )"
expression の平方根を返します。
expression に負の値を指定した場合は、ランタイムエラーになります。
.SS 文
文は (ほとんどの算術言語がそうであるように)、処理を順番に実行していく単位です。
\fBbc\fR では文は「できるだけ早い段階で」実行されます。
改行が入力された時点で、実行可能な文が存在していれば、即座に実行します。
このため \fBbc\fR では改行が重要な役割を持っています。
実際、セミコロンと改行が文の区切りとして使用されます。
-不適当な場所で改行を入力すると、シンタックスエラーになります。
+不適当な場所で改行を入力すると、文法エラーになります。
改行は文の区切りですが、バックスラッシュを用いて改行を隠すことができます。
\fBbc\fR にとって、"\e<nl>" (<nl>は改行) は改行ではなく空白に見えます。
文のリストは、セミコロンと改行で区切られた文の並びです。
以下、\fBbc\fR の文の種類とその動作について説明します。
(なお、以下の説明で ([]) で括った部分は省略可能な項です。)
.IP "演算式"
-演算式には次の 2 つの種類があります。
+演算式には次の 2 つの種類があります。
演算式が "<variable> <assignment> ..." で始まっていれば、
それは代入文として扱われます。
そうでなければ、演算式は評価されて出力に表示されます。
結果が表示された後、改行が表示されます。
例えば、"a=1" は代入文であり、
"(a=1)" は代入文が埋め込まれた演算式です。
-表示される数値は全て、変数 \fBobase\fR で決まる基数で表示されます。
+表示される数値はすべて、変数 \fBobase\fR で決まる基数で表示されます。
\fBobase\fR に指定できる値は 2 から BC_BASE_MAX までです。
(「制限」の章を参照。)
基数 2 から 16 まででは、通常の数表記法が用いられます。
基数が 16 より大きい場合、\fBbc\fR は、
各桁を 10 進表記する複数桁文字表記法で表示します。
複数桁文字表記法では、各桁は空白で区切られます。
各桁は "obase-1" を 10 進で表記するのに必要な桁数の数字から成ります。
数の精度は任意に選べるため、数によっては 1 行に表示できない場合もあります。
そのような長い数は、行末に "\e" を付けて次行に継続します。
1 行に表示できる文字数は 70 です。
\fBbc\fR の対話的性質により、ある数を表示すると、
表示した値が特殊変数 \fBlast\fR に代入されるという副作用が生じます。
ユーザはタイプし直すことなく最後に表示された値を再利用できます。
\fBlast\fR に値を代入することも可能で、
その場合、前回表示された値が代入値で上書きされます。
新しく代入した値は、次に数が表示されるか別の値が \fBlast\fR に代入される
まで有効です。(bc の実装によっては、
数の一部になっていない単一のピリオド (.) を \fBlast\fR の短縮表記として
用いることができます。)
.IP "string"
文字列 string が出力に表示されます。
-文字列は二重引用符で始まり、次の二重引用符までの全ての文字を含みます。
-改行を含め、全ての文字は文字通りに解釈されます。
+文字列は二重引用符で始まり、次の二重引用符までのすべての文字を含みます。
+改行を含め、すべての文字は文字通りに解釈されます。
文字列の後に改行は出力されません。
.IP "\fBprint\fR list"
-print 文 (これは拡張機能です) は、もう一つの出力方法です。
+print 文 (これは拡張機能です) は、もうひとつの出力方法です。
"list" はコンマで区切った文字列および演算式のリストであり、
各文字列あるいは演算式がリストの順に表示されます。
最後に改行は出力されません。
演算式は評価され、その値が表示されるとともに、
変数 \fBlast\fR に代入されます。
print 文中の文字列は出力に表示されますが、特殊文字を含めることができます。
特殊文字はバックスラッシュ (\e) で始まります。
\fBbc\fR で使える特殊文字は、
"a" (ベル)、"b" (バックスペース)、
"f" (フォームフィード)、"n" (改行)、"r" (復帰)、"q" (二重引用符)、
"t" (タブ)、"\e" (バックスラッシュ) です。
これ以外は無視されます。
.IP "{ statement_list }"
複文です。複数の文を 1 つのグループにまとめて実行します。
-.IP "\fBif\fR ( expression ) \fBthen\fR statement1 [\fBelse\fR statement2]"
+.IP "\fBif\fR ( expression ) statement1 [\fBelse\fR statement2]"
if 文は演算式 expression を評価し、その値に応じて
文 statement1 または文 statement2 を実行します。
-expression の値がゼロでなければ statement1 が実行されます。
+expression の値が 0 でなければ statement1 が実行されます。
statement2 が存在し、expression の値が 0 ならば、statement2 が実行されます。
(else 節は拡張機能です。)
.IP "\fBwhile\fR ( expression ) statement"
-while 文は expression がゼロでない間、繰り返し statement を実行します。
+while 文は expression が 0 でない間、繰り返し statement を実行します。
statement の実行前に毎回 expression を評価します。
-expression の値がゼロになるか、break 文を実行すると、
+expression の値が 0 になるか、break 文を実行すると、
ループが終了します。
.IP "\fBfor\fR ( [expression1] ; [expression2] ; [expression3] ) statement"
for 文は statement の繰り返し実行を制御します。
expression1 はループ実行の前に評価されます。
expression2 は statement の実行前に毎回評価され、
-その値がゼロでなければ statement が実行されます。
-expression2 の値がゼロになると、ループは終了します。
+その値が 0 でなければ statement が実行されます。
+expression2 の値が 0 になると、ループは終了します。
各 statement 実行の後、再び expression2 が評価される前に expression3 が
評価されます。
expression1 あるいは expression3 が省略されていると、
そこでは何も評価されません。
expression2 が省略されている場合、expression2 が 1 であるのと
同様に扱われます。
(各 expression が省略可能なのは拡張機能です。
POSIX \fBbc\fR では、3 つの expression はどれも省略できません。)
- 以下は for 文と等価なコードです:
+以下は for 文と等価なコードです:
.nf
.RS
expression1;
while (expression2) {
statement;
expression3;
}
.RE
.fi
.IP "\fBbreak\fR"
それを含む最も内側の while もしくは for 文による繰り返しを強制的に中断します。
.IP "\fBcontinue\fR"
-それを含む最も内側の for 文による繰り返しで、最初の文に戻って実行を続けます。
+それを含む最も内側の for 文における次の繰り返しに進みます。
(continue 文は拡張機能です)
.IP "\fBhalt\fR"
実行されると \fBbc\fR プロセッサを終了させます(拡張機能)。
例えば "if (0 == 1) halt" の場合は \fBbc\fR は終了しません。
halt 文が実行されないからです。
.IP "\fBreturn\fR"
関数から戻ります。関数の結果は 0 になります。(関数の章を参照)
.IP "\fBreturn\fR ( expression )"
関数から戻ります。関数の結果は expression になります。(関数の章を参照)
.SS 疑似文
これらは今までの文とは動作が異なります。
疑似文は実行文ではなく、「コンパイル」時点で処理されます。
.IP "\fBlimits\fR"
\fBbc\fR のローカルバージョンにより制限される限界値を表示します。
(limits は拡張機能です)
.IP "\fBquit\fR"
\fBbc\fR を終了します。どんな場所にあっても、quit 文は
入力された時点で実行されます。例えば、
"if (0 == 1) quit"
という記述であっても、\fBbc\fR は終了します。
.IP "\fBwarranty\fR"
保証に関する注意を長めに表示します。
(warranty は拡張機能です)
.SS 関数
関数は、後で実行されるべき計算手順を定義する機能です。
.B bc
の関数は常に値を計算し、それを呼びだし側に返します。
関数定義は、それが入力から読み込まれた時点で定義が行われるという点で
「ダイナミック(動的)」です。
一度定義された関数は、同じ名前で別の関数が定義されるまで使用可能で、
新しい関数が定義された場合は、前の関数が置き換えられます。
関数の定義は、以下のように行います:
.nf
.RS
\fBdefine \fIname \fB( \fIparameters \fB) { \fInewline
\fI auto_list statement_list \fB}\fR
.RE
.fi
関数呼び出しは、
"\fIname\fB(\fIparameters\fB)\fR"
という形式の演算式です。
.PP
パラメータ parameters は数あるいは配列 (拡張機能) です。
-関数定義では、ゼロあるいは 1 個以上のパラメータ名を
+関数定義では、0 あるいは 1 個以上のパラメータ名を
コンマで区切って並べることで定義します。
数は値渡し(call by value)でのみ渡され、配列は変数渡し(call by variable)で
のみ渡されます。
配列はパラメータ定義中で "\fIname\fB[]\fR" のように表記して指定します。
関数呼び出しでは、数のパラメータに対して完全な演算式の実パラメータを
記述します。
配列を渡す表記は配列パラメータ定義と同様です。
名前付き配列は変数(variable)によって関数に渡されます。
関数定義はダイナミックゆえ、
パラメータの数と型は関数呼び出しの際にチェックされます。
パラメータの数あるいは型に何らかの不整合があると、
ランタイムエラーが発生します。
未定義関数を呼び出した場合もランタイムエラーとなります。
.PP
\fIauto_list\fR は省略可能で、ローカル変数として使用する変数のリスト
です。auto_list が存在するなら、その文法は
"\fBauto \fIname\fR, ... ;"
-となります。(セミコロンはオプションです。)
+となります。(セミコロンは省略可能です。)
各 \fIname\fR がローカル変数の名前となります。
配列はパラメータと同様の表記で指定できます。
これらの変数は、関数の最初でその値がスタックにプッシュされたのち
-値ゼロに初期化され、関数の実行中に使用されます。
+値 0 に初期化され、関数の実行中に使用されます。
これらの変数は関数出口にてポップされ、
(関数呼び出し時の)元の値が復元されます。
パラメータは実際にはローカル変数であり、
関数呼び出しで与えられた値に初期化されます。
bc のローカル変数は伝統的な意味でのローカル変数と異なり、
関数 A が関数 B を呼び出しているような場合、関数 B の中に
関数 A のローカル変数と同じ名前のローカル変数がない限り、
関数 A のローカル変数名をそのまま使って、
関数 B から関数 A のローカル変数をアクセスできます。
ローカル変数とパラメータはスタックにプッシュされるため、
\fBbc\fR は再帰的な関数呼び出しをサポートしています。
.PP
関数本体は \fBbc\fR の文のリストです。
繰り返し述べますと、文はセミコロンか改行で区切られています。
return 文により関数は終了し、値を返します。
return 文には 2 つの形式があり、
ひとつめの形式 "\fBreturn\fR" は、呼び出し元に値 0 を返します。
もうひとつの形式 "\fBreturn ( \fIexpression \fB)\fR" は、
expression の値を計算し、それを呼び出し元に返します。
各関数の最後には "\fBreturn (0)\fR" があるものと解釈されます。
これにより、明示的に return 文を置かなくても、
関数は終了して値 0 を返します。
.PP
関数の中では、変数 \fBibase\fR の動作が変わります。関数の中で使われて
いる定数は、関数の呼びだし時点の \fBibase\fR を元に変換が行われます。
このため、関数内部で \fBibase\fR を変更しても無視されます。ただし、標
準関数 \fBread\fR を呼び出した場合は例外で、これは常に現在の
\fBibase\fR の値をもとに変換が行われます。
.SS 数学ライブラリ
\fBbc\fR に \fB-l\fR オプションを付けて起動した場合は、数学ライブラリが
読み込まれ、デフォルトの scale が 20 に設定されます。
数学関数は、それを呼び出した時点の scale の値に従って計算を行います。
数学ライブラリによって使用可能になる関数は、次の通りです:
.IP "s (\fIx\fR)"
sin (x の単位はラジアン)
.IP "c (\fIx\fR)"
-cos
+cos (x の単位はラジアン)
.IP "a (\fIx\fR)"
-atan
+atan (返り値の単位はラジアン)
.IP "l (\fIx\fR)"
log (自然対数)
.IP "e (\fIx\fR)"
-exp
+exp (指数関数)
.IP "j (\fIn,x\fR)"
-ベッセル関数
+整数 n 次のベッセル関数
.SS 使用例
次の例は、/bin/sh でシェル変数 \fBpi\fR に ``パイ'' の値を代入します。
.RS
\f(CW
pi=$(echo "scale=10; 4*a(1)" | bc -l)
\fR
.RE
.PP
-次の例は、数学ライブラリで使われている ``e (x)'' の定義です
+次の例は、数学ライブラリで使われている ``e (x)'' の定義です。
この関数は POSIX \fBbc\fR で記述されています。
.nf
.RS
\f(CW
scale = 20
/* Uses the fact that e^x = (e^(x/2))^2
When x is small enough, we use the series:
e^x = 1 + x + x^2/2! + x^3/3! + ...
*/
define e(x) {
auto a, d, e, f, i, m, v, z
/* Check the sign of x. */
if (x<0) {
m = 1
x = -x
}
/* Precondition x. */
z = scale;
scale = 4 + z + .44*x;
while (x > 1) {
f += 1;
x /= 2;
}
/* Initialize the variables. */
v = 1+x
a = x
d = 1
for (i=2; 1; i++) {
e = (a *= x) / (d *= i)
if (e == 0) {
if (f>0) while (f--) v = v*v;
scale = z
if (m) return (1/v);
return (v/1);
}
v += e
}
}
\fR
.RE
.fi
.PP
次の例は、\fBbc\fR の拡張機能を使って、``checkbook balances''
(小切手帳残高) を計算する簡単なプログラムです。
このプログラムをファイルにしておくと、
毎回タイプしなおさずに何度も使うことができます。
.nf
.RS
\f(CW
scale=2
print "\enCheck book program!\en"
print " Remember, deposits are negative transactions.\en"
print " Exit by a 0 transaction.\en\en"
print "Initial balance? "; bal = read()
bal /= 1
print "\en"
while (1) {
"current balance = "; bal
"transaction? "; trans = read()
if (trans == 0) break;
bal -= trans
bal /= 1
}
quit
\fR
.RE
.fi
.PP
次の例は、再帰呼び出しにより階乗を計算する関数です。
.nf
.RS
\f(CW
define f (x) {
if (x <= 1) return (1);
return (f(x-1) * x);
}
\fR
.RE
.fi
+.SS readline オプション
+GNU \fBbc\fR は (configure のオプションによって) GNU \fBreadline\fR
+入力エディタライブラリを使うようにコンパイルできます。
+これは、\fBbc\fR に入力する前に、行の編集を可能にします。
+以前に入力した行のヒストリも利用可能になります。このオプションで
+コンパイルされた \fBbc\fR では、さらに 1 つの特殊な変数
+\fBhistory\fR が追加され、ヒストリに保存される行の数を指定します。
+その値が -1 (デフォルト値)なら、ヒストリ行は制限なく保存されます。
+正の数を指定すると、ヒストリ行がその数に制限されます。
+0 ならヒストリ機能が無効になります。詳しくは、ユーザマニュアルの
+GNU \fBreadline\fR と \fBhistory\fR ライブラリをご覧下さい。
.SS 相違点
このバージョンの
.B bc
は POSIX P1003.2/D11 ドラフトから実装されており、
そのドラフトや以前の実装に比べていくつかの相違点や拡張点があります。
伝統的に行われていたような
.I dc(1)
を用いた実装ではありません。
このバージョンは単一プロセスであり、
プログラムをバイトコードに変換したものを解析して実行します。
「ドキュメントに記載されていない」オプション (-c) があり、
プログラムを実行する代わりに、それをバイトコードに変換した結果を
標準出力に出力します。
これは主として、パーザのデバッグと数学ライブラリの準備に用いられました。
.PP
主な相違点は拡張機能によるものです。
機能を高めたり追加したりするために機能が拡張されたり、
新機能が追加されたりしています。
相違点と拡張点のリストを以下に示します。
.IP LANG
このバージョンは、
-環境変数 LANG および LC_ で始まる全ての環境変数の処理に関して POSIX に
+環境変数 LANG および LC_ で始まるすべての環境変数の処理に関して POSIX 標準に
準拠していません。
.IP 名前
伝統的な
.B bc
および POSIX
.B bc
は、関数、変数、配列の名前として単一の文字を使います。
このバージョンでは、
-先頭が文字で始まり、文字と数字とアンダースコアから成る文字で
+先頭が文字で始まり、文字と数字とアンダースコアで
構成される 2 文字以上の名前が使えるように拡張されています。
.IP 文字列
文字列には NUL 文字を含むことはできません。
POSIX では、文字列にはあらゆる文字を含めることができなければならない、
としています。
.IP last
POSIX \fBbc\fR には変数 \fBlast\fR はありません。
\fBbc\fR の実装によっては、\fBlast\fR と同じ意味で
ピリオド (.) を用いるものがあります。
.IP 比較
POSIX \fBbc\fR では、比較は if 文、while 文、for 文の第 2 式の中でのみ
用いることができます。
-また、これらの文の中ではただ一つの関係演算しか使えません。
+また、これらの文の中ではただ 1 つの関係演算しか使えません。
.IP "if 文, else 節"
POSIX \fBbc\fR には else 節はありません。
.IP "for 文"
POSIX \fBbc\fR では for 文の各演算式は省略できません。
.IP "&&, ||, !"
POSIX \fBbc\fR には論理演算子はありません。
.IP "read 関数"
POSIX \fBbc\fR には read 関数はありません。
.IP "print 文"
POSIX \fBbc\fR には print 文はありません。
.IP "continue 文"
POSIX \fBbc\fR には continue 文はありません。
.IP "配列パラメータ"
-POSIX \fBbc\fR では配列パラメータは使えません。
-他の \fBbc\fR の実装では、値渡しで配列パラメータを使えるものがあります。
+POSIX \fBbc\fR では (現在のところ) 配列パラメータは完全には使えません。
+POSIX の文法では、関数定義では配列を使えますが、実際に呼び出すときの
+パラメータに配列を指定することができません。(これはおそらく、文法上の
+見落としでしょう。) 伝統的な \fBbc\fR の実装では、配列パラメータは値渡し
+のみでした。
.IP "=+, =-, =*, =/, =%, =^"
POSIX \fBbc\fR ではこれらの「旧式」の代入演算子を定義する必要はありません。
このバージョンではこれらの「旧式」代入演算子が使えるかも知れません。
limits 文を使って、インストールしたバージョンがこれらをサポートしているか
どうか、確かめてみて下さい。
もしそのバージョンが「旧式」代入演算子をサポートしていれば、
文 "a =- 1" は \fBa\fR に値 -1 を代入する代わりに \fBa\fR を 1 減じます。
.IP "数字表記中の空白"
他の \fBbc\fR 実装では、数字表記の中に空白を含めることが許されます。
例えば、"x=1 3" は変数 x に値 13 を代入します。
このバージョンの \fBbc\fR では、先の文は文法エラーになります。
.IP "エラーと実行"
このバージョンの bc は、
プログラムに文法上のエラーや他のエラーが見つかった場合に
どういうコードが実行されるか、
という点で、他の実装と異なっています。
ある関数定義中で文法エラーが見つかると、
エラー回復機構は文の先頭を見つけて関数のパーズを続けようと努力します。
ひとたび関数の中で文法エラーが見つかると、
その関数は呼び出せなくなり、未定義状態となります。
対話的実行コードで文法エラーがあると、
現在の実行ブロックが無効になります。
実行ブロックとは、ひと続きの完全な文のあとの行末までのことです。
例えば、次のコード
.nf
.RS
a = 1
b = 2
.RE
.fi
には 2 つの実行ブロックがあり、
.\" ↑ここで groff 時の字下げ量がおかしくなっているようだが、
.\" 元の英語マニュアルでもそうなっているようだ。(jpman 酒井)
.nf
.RS
{ a = 1
b = 2 }
.RE
.fi
には 1 つの実行ブロックがあります。
ランタイムエラーが発生すると、現在の実行ブロックの実行が終了します。
ランタイムの警告が発生しても、現在の実行ブロックは終了しません。
.IP "割り込み"
対話セッションの間、SIGINT シグナル (通常、端末からの Control-C 入力で
発生します) によって現在の実行ブロックの実行が中断され、
どの関数が中断されたかを示す「ランタイム」エラーが表示されます。
-ランタイムのデータ構造を全てクリアした後メッセージが表示され、
+ランタイムのデータ構造をすべてクリアした後メッセージが表示され、
\fBbc\fR は次の入力を受け付ける状態になったことを示します。
-これまでに定義した関数は全て定義されて残っており、
+これまでに定義した関数はすべて定義されて残っており、
ローカルでない変数の値は割り込み発生時点の値のままになっています。
-ローカル変数と関数パラメータは全て、クリア処理によって消去されます。
+ローカル変数と関数パラメータはすべて、クリア処理によって消去されます。
非対話セッションでは、SIGINT シグナルで \fBbc\fR の実行全体が終了します。
.SS 限界
以下の項目が現在の
.B bc
プロセッサの限界値となっています。
このうちいくつかは、インストール時に変更できます。
実際の値を得るには limits 文を使って下さい。
.IP BC_BASE_MAX
現在のところ、出力の基数の最大値は 999 に設定されています。
入力側の基数の最大値は 16 です。
.IP BC_DIM_MAX
現在のところ 65535 として配布されていますが、
インストールしたバージョンでは異なっているかも知れません。
.IP BC_SCALE_MAX
小数点以下の桁数は INT_MAX 桁に制限されています。
また、小数点より上の桁数も INT_MAX 桁に制限されています。
.IP BC_STRING_MAX
文字列中の文字数は INT_MAX 文字に制限されています。
.IP 指数
累乗演算 (^) の指数の値は LONG_MAX に制限されています。
.IP 乗算
全部で LONG_MAX / 90 桁以上になる数の積を計算すると
誤った結果になることがあります。
32 ビット long では、この数は 23,860,929 桁です。
.IP コードサイズ
各関数および "main" プログラムはバイトコードで 16384 バイト以内に
制限されています。
この限界値 (BC_MAX_SEGS) は 1024 バイトの 16 セグメント以上になるように
容易に変更可能です。
.IP 変数名
単純変数、配列、関数各々について、一意に識別される名前は 32767 個に
制限されています。
+.SH 環境変数
+\fBbc\fR は以下の環境変数を解釈します。
+.IP "POSIXLY_CORRECT"
+\fB-s\fR オプションと同じです。
+.IP "BC_ENV_ARGS"
+これは \fBbc\fR に引き数を渡す別の方法で、コマンドライン引き数と
+同じ書式です。この引き数が最初に処理されるので、この環境変数で
+指定されたファイルはコマンドライン引数で指定されたファイルよりも
+先に処理されます。これにより、毎回 \fBbc\fR を呼び出すごとに
+処理する「標準の」オプションやファイルを設定できます。この環境変数で
+指定するファイルには、\fBbc\fR を走らせるたびに定義しておきたいような
+関数の定義を書いておくとよいでしょう。
+.IP "BC_LINE_LENGTH"
+数字を出力するときの 1 行の文字数を整数で指定します。
+数字が長過ぎると、バックスラッシュと改行を含めた出力となります。
.SH 関連ファイル
-ほとんどの実装では、\fBbc\fR は完全に自分自身で独立しています。
+ほとんどの実装では、\fBbc\fR は完全に自己完結しています。
実行ファイルのサイズが重要視される場合や、
C コンパイラが長い文字列を扱えない場合は、
\fBbc\fR は /usr/local/lib/libmath.b から標準の数学ライブラリを読み込みます。
(実際のディレクトリ位置はこれとは異なり、
例えば /lib/libmath.b かも知れません。)
.SH 診断
コマンドラインで指定したファイルがオープンできない場合、
\fBbc\fR はファイルが利用できない旨を表示して終了します。
また、コンパイル時あるいはランタイムの診断メッセージもありますが、
それらは自身で理解できるようになっているはずです。
.SH バグ
エラーリカバリがまだうまくいっていません。
+.PP
+バグ報告は、
+.BR bug-gnu-utils@prep.ai.mit.edu
+に電子メールでお願いします。
+単語 ``bc'' を ``Subject:'' フィールドのどこかに入れておいてください。
.SH 作者
.nf
Philip A. Nelson
phil@cs.wwu.edu
.fi
.SH 謝辞
実装をテストする際に
広範囲に手助けしてくれた Steve Sommars (Steve.Sommars@att.com) に感謝します。
たくさんの素晴らしい意見をもらいました。
彼のおかげでとてもよいものになりました。
diff --git a/ja/man/man1/biff.1 b/ja/man/man1/biff.1
index c6a1865bdb..090d031f6c 100644
--- a/ja/man/man1/biff.1
+++ b/ja/man/man1/biff.1
@@ -1,96 +1,97 @@
.\" 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.
.\"
.\" from: @(#)biff.1 6.5 (Berkeley) 3/14/91
+.\" %Id: biff.1,v 1.5 1997/06/23 06:45:37 charnier Exp %
+.\"
.\" jpman %Id: biff.1,v 1.2 1997/04/01 07:08:32 mutoh Stab %
-.\" %Id: biff.1,v 1.2.2.1 1997/06/24 06:43:41 charnier Exp %
.\"
.Dd June 6, 1993
.Dt BIFF 1
.Os BSD 4
.Sh 名称
.Nm biff
.Nd メールの到着時に、メールの着信とメールの発信人を報告するかどうか設定する
.Sh 書式
.Nm biff
.Op Cm n | y
.Sh 解説
.Nm biff
は、現在の端末を利用している間、メールの到着を
システムから報告してもらうかどうかを設定します。
.Pp
.Nm biff
がサポートしているオプションとしては、以下のものがあります:
.Bl -tag -width 4n
.It Cm n
報告しないように設定します。
.It Cm y
報告するように設定します。
.El
.Pp
.\" 以下の一文は元の英語版マニュアルには含まれていないので
.\" とりあえずコメントアウトしてある --- jpman project sakai@csl.cl.nec.co.jp
.\"
.\" オプションを指定しない場合は現在状態を表示します。
.\"
メールの到着を報告するように設定しているときにメールが届いた場合、
メールのヘッダとメッセージの最初の数行が自分の画面に表示されます。
ログインするたびに設定されるように、たいてい
.Pa \&.login
.Pa \&.profile
ファイルに
.Dq Li biff y
コマンドの記述が含められます。
.Pp
.Nm biff
は非同期に動作します。同期して動作させる場合は、
.Xr sh 1
.Ev MAIL
変数を用いるか、
.Xr csh 1
.Ev mail
変数を利用してください。
.Sh 関連項目
.Xr csh 1 ,
.Xr mail 1 ,
.Xr sh 1 ,
.Xr comsat 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
.Nm biff
コマンドの名前は、 Heidi Stettner の犬の名前にちなんでいます。
彼は、1993年の8月に15歳で亡くなりました。
diff --git a/ja/man/man1/c89.1 b/ja/man/man1/c89.1
index 6498209396..6c092e825e 100644
--- a/ja/man/man1/c89.1
+++ b/ja/man/man1/c89.1
@@ -1,169 +1,169 @@
.\"
.\" Copyright (c) 1997 Joerg Wunsch
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: c89.1,v 1.2.2.2 1998/01/12 06:21:14 obrien Exp %
+.\" %Id: c89.1,v 1.2 1997/09/18 20:55:48 joerg Exp %
.\" "
.Dd September 17, 1997
.Os
.Dt C89 1
.Sh 名称
.Nm c89
.Nd Posix.2 対応 C 言語コンパイラ
.Sh 書式
.Nm c89
.Op Fl c
.Op Fl D Ar name Ns Op Ar =value
.Op ...
.Op Fl E
.Op Fl g
.Op Fl I Ar directory ...
.Op Fl L Ar directory ...
.Op Fl o Ar outfile
.Op Fl O
.Op Fl s
.Op Fl U Ar name ...
.Ar operand ...
.Sh 解説
これは
.St -p1003.2
標準にて要求されている、C 言語コンパイラの名称です。
.Pp
.Nm
コンパイラは以下のオプションを受け付けます:
.Bl -tag -offset indent -width "-D name = value"
.It Fl c
コンパイル時にリンクエディットフェーズを実行しません。
生成されたオブジェクトファイルを一切削除しません。
.It Fl D Ar name Ns Op Ar =value
C 言語の
.Ql #define
ディレクティブ(前処理指令)で指定したかのように名前を定義します。
.Ar =value
が与えられない場合、値 1 が使用されます。
.Fl D
オプションは
.Fl U
オプションより低い優先度を持ちます。
すなわち
.Ar name
.Fl U
.Fl D
の両方で使用された場合、オプションの順序によらず、
.Ar name
は未定義になります。
.Fl D
オプションは複数回指定可能です。
.It Fl E
全プリプロセッサディレクティブを展開し、
C 言語ソースファイルを標準出力へコピーします。
コンパイルは行いません。
.It Fl g
オブジェクトや実行ファイル中にシンボル情報を生成します。
.It Fl I Ar directory
絶対パス名ではないヘッダを検索するアルゴリズムを、
通常の場所を検索する前に
.Ar directory
で指定されるディレクトリを探すという方法に変更します。
ダブルクォート (\&"\&") で括られた名前のヘッダは、
.Ql #include
行を指定したファイルのディレクトリ、
次に
.Fl I
オプションで指定したディレクトリ、
最後に通常の場所で探します。
アングルブラケット (<>) で括られた名前のヘッダは、
.Fl I
オプションで指定したディレクトリと
通常の場所のみで探します。
.Fl I
オプションで指定したディレクトリは指定した順番で探します。
.Fl I
オプションは複数回指定可能です。
.It Fl L Ar directory
.Fl l
で指定されるライブラリを検索するアルゴリズムを、
通常の場所を検索する前に
.Ar directory
で指定されるディレクトリを探すという方法に変更します。
.Fl L
オプションで指定したディレクトリは指定した順番で探します。
.Fl L
は複数回指定可能です。
.It Fl o Ar outfile
パス名
.Ar outfile
をデフォルトの
.Pa a.out
の代りに使用し、実行可能ファイルを生成します。
.It Fl O
コンパイル時に最適化を行います。
.It Fl s
オブジェクトや実行ファイルを生成する時、
実行に不要な、シンボルおよびその他の情報を取り除きます
(ストリップします)。
.It Fl U Ar name
.Ar name
の初期定義を取り除きます。
.Fl U
オプションは複数回指定可能です。
.El
.Pp
オペランドは、パス名、もしくは
.Fl l
ライブラリの形式です。
パス名オペランドが少くとも一つは指定されなければなりません。
サポートされているオペランドの形式を以下に示します:
.Bl -tag -offset indent -width "-l library"
.It Pa file Ns \&.c
C 言語ソースファイルであり、コンパイルされます。場合によっては
リンクされます。
.Fl c
オプション使用時には、オペランドはこの形式でなければなりません。
.It Pa file Ns \&.a
オブジェクトファイルのライブラリであり、
.Xr ar 1
によって生成され、直接リンクエディタに渡されます。
.It Pa file Ns \&.o
オブジェクトファイルであり、
.Nm
.Fl c
によって生成され、直接リンクエディタに渡されます。
.It Fl l Pa library
.Dl lib Ns Em library Ns \&.a
という名前のライブラリを探します。
ライブラリの名前が出てきた時点でそのライブラリ内部が検索されるので、
.Fl l
オペランドの位置は重要です。
.El
.Sh 関連項目
.Xr ar 1 ,
.Xr cc 1
.Sh 規格
.Nm
コマンドは
.St -p1003.2
に準拠していると確信しております。
diff --git a/ja/man/man1/cap_mkdb.1 b/ja/man/man1/cap_mkdb.1
index b477d0cc07..d54147e693 100644
--- a/ja/man/man1/cap_mkdb.1
+++ b/ja/man/man1/cap_mkdb.1
@@ -1,112 +1,112 @@
.\" Copyright (c) 1992 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: @(#)cap_mkdb.1 5.4 (Berkeley) 3/6/93
-.\" %Id: cap_mkdb.1,v 1.2.2.1 1997/09/14 20:39:28 jkh Exp %
+.\" %Id: cap_mkdb.1,v 1.5 1997/06/23 04:02:49 steve Exp %
.\" jpman %Id: cap_mkdb.1,v 1.2 1997/05/17 15:50:47 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt CAP_MKDB 1
.Os
.Sh 名称
.Nm cap_mkdb
.Nd ケーパビリティ・データベースを作る
.Sh 書式
.Nm cap_mkdb
.Op Fl v
.Op Fl f Ar outfile
.Ar file1
.Op Ar file2 ...
.Pp
.Sh 解説
.Nm cap_mkdb
は、指定したファイルを連結して形成した
.Xr getcap 3
論理データベースから、ハッシュ化
されたデータベースを作ります。
.Pp
データベースの名前は、先頭に指定したファイルのベース名に文字列
.Dq .db
を付け加えたものになります。
.Xr getcap 3
ルーチンの検索速度は、オリジナルのテキストファイルよりも、
このデータベースのほうがずっと高速です。
.Pp
ファイル内の ``tc'' エントリは、データベースにストアされる前に展開され
ます。
.Pp
オプションとしては、以下のものがあります:
.Bl -tag -width XXXXXX -indent
.It Fl f Ar outfile
データベースのベース名として別のものを指定します。
.It Fl v
データベース内のケーパビリティレコードの登録数を表示します。
.El
.Pp
.Sh 書式
個々のレコードは二種類の異なるキーを用いてデータベース内に格納されます。
.Pp
第一の形式は、キーがレコードの最初のケーパビリティ
(末端のコロン(``:'')は含みません)から構成され、
データフィールドがスペシャルバイトとレコードの残りの部分から構成されています。
スペシャルバイトの値は、0 あるいは 1 のいずれかです。ここで 0 はレコードの
状態が良好であることを、1 はレコード中に展開することができなかっ
た ``tc'' ケーパビリティが存在することを示します。
.Pp
第二の形式は、キーがレコード最初のケーパビリティの中の名前の一つで
構成され、データフィールドがスペシャルバイトとレコードの最初のケーパビリティ
から構成されています。この場合スペシャルバイトの値は 2 です。
.Pp
通常の動作においては、まずデータベースから名前を検索します。
その結果得られるのは、第二の形式のキー/データ組です。
このキー/データ組のデータフィールドを用いて、
第一の形式のキー/データ組を検索します。これが
与えられた名前に対する実際のデータになります。
.Sh 戻り値
.Nm cap_mkdb
ユーティリティは成功した場合 0 を、エラーが起こった場合は 0 より大きな値を
返します。
.\"
.\" 以下の使用例の章は FreeBSD オリジナルマニュアルには無い。
.\" このような使用例の正当性を容易には確認できないので、
.\" 残念だがこの章はコメントアウトすることにした。 --- jpman J.Sakai
.\"
.\".Sh 使用例
.\"termcap ファイルにエントリを追加した場合などは、
.\"このコマンドを用いてデータベースファイルを更新しておきます。
.\".Pp
.\".Dl # cap_mkdb -v /usr/share/misc/termcap
.\".Dl cap_mkdb: 555 capability records
.Sh 関連項目
.Xr dbopen 3 ,
.Xr getcap 3 ,
.Xr termcap 5
diff --git a/ja/man/man1/cat.1 b/ja/man/man1/cat.1
index dec6797228..d8bedb689e 100644
--- a/ja/man/man1/cat.1
+++ b/ja/man/man1/cat.1
@@ -1,118 +1,119 @@
.\" Copyright (c) 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)cat.1 8.3 (Berkeley) 5/2/95
+.\" %Id: cat.1,v 1.8 1998/05/13 07:16:36 charnier Exp %
+.\"
.\" jpman %Id: cat.1,v 1.3 1997/08/31 14:09:30 horikawa Stab %
-.\" %Id: cat.1,v 1.3.2.3 1998/07/15 02:01:01 jkh Exp %
.\"
.Dd May 2, 1995
.Dt CAT 1
.Os BSD 3
.Sh 名称
.Nm cat
.Nd ファイルの連結、表示を行う
.Sh 書式
.Nm cat
.Op Fl benstuv
.Op Fl
.Op Ar
.Sh 解説
.Nm
はファイルを連続的に読み込み、標準出力に書き出します。
.Ar file
はコマンドラインに記述された順番で処理されます。
``-'' は標準入力を表します。
.Pp
オプションは以下のとおりです。
.Bl -tag -width width
.It Fl b
非空白行に、1 から開始する番号を付けます。
.It Fl e
表示できない文字を目に見える形で表示し (
.Fl v
オプション参照)、各行の最後に
.Pq Ql \&$
を表示します。
.It Fl n
行番号を付け加えます。行番号は 1 から始まります。
.It Fl s
連続した空行を圧縮します。連続した空行は 1 行の空行
として出力されます。
.It Fl t
表示できない文字を目に見える形で表示し (
.Fl v
オプション参照)、タブを
.Ql ^I
で表示します。
.It Fl u
出力のバッファリングを行いません。
.It Fl v
表示できない文字を目に見える形で表示します。
control-X は
.Ql ^X
、削除文字 (8進数で 0177) は
.Ql ^?
と表示されます。
.Tn ASCII
文字でないもの ( 最上位ビットが立っているもの )
は、
.Ql M-
(メタ) のあとに残りの7ビットで表されるキャラクタを
表示します。
.El
.Pp
.Nm
は実行に成功すると 0 を返し、エラーが起こると 0 より
大きな値を返します。
.Sh バグ
シェルの出力リダイレクトのメカニズムが原因で、
.Dq Li cat file1 file2 > file1
は file1 に最初に入っているデータを消去してしまいます!
.Sh 関連項目
.Xr head 1 ,
.Xr more 1 ,
.Xr pr 1 ,
.Xr tail 1 ,
.Xr vis 1
.Rs
.%A Rob Pike
.%T "UNIX Style, or cat -v Considered Harmful"
.%J "USENIX Summer Conference Proceedings"
.%D 1983
.Re
.Sh 歴史
.Nm
は Version 1 AT&T UNIX から登場しました。
.An Dennis Ritchie
がマニュアルの初版をデザインし、執筆しました。
diff --git a/ja/man/man1/catman.1 b/ja/man/man1/catman.1
index ee2d849caa..562e6d7d77 100644
--- a/ja/man/man1/catman.1
+++ b/ja/man/man1/catman.1
@@ -1,142 +1,136 @@
.\" Copyright (c) March 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" /usr/bin/catman - preformat man pages
.\"
-.\" %Id: catman.1,v 1.8.2.2 1998/02/15 16:05:21 jkh Exp %
+.\" %Id: catman.1,v 1.15 1998/03/31 06:52:28 charnier Exp %
.\" jpman %Id: catman.1,v 1.3 1997/04/01 14:14:59 horikawa Stab %
.Dd Mar 12, 1995
.Dt CATMAN 1
.Os
.Sh 名称
.Nm catman
.Nd オンラインマニュアルを事前にフォーマットする
.Sh 書式
.Nm catman
.Op Fl f | Fl force
.Op Fl h | Fl help
.Op Fl p | Fl print
.Op Fl r | Fl remove
.Op Fl v | Fl verbose
.Op Ar directories...
.Sh 解説
.Nm catman
はマニュアルを ASCII 形式にフォーマットします。これは
.Ar directories
で全てのマニュアルについて
.Sq man program
とタイプするのと似ています。
.Ar directories
はマニュアルの格納されているディレクトリやサブディレクトリを
スペースかコロンで区切ったものです。
.Ar directories
が指定されなかった場合、デフォルトとして
.Ar /usr/share/man
が使われます。
.Sh オプション
.Bl -tag -width Ds
.It Fl f , Fl force
既にある cat 形式のマニュアルへの上書きを強制します。
普通は、マニュアルが古くなったときだけ、
フォーマットしなおされるべきものです。
このオプションは時間と CPU と RAM の無駄使いです。
.It Fl h , Fl help
オプションを表示して終了します。
.It Fl p , Fl print
実際にはマニュアルのフォーマットを行わず、何を行うかのみを表示します。
.It Fl r , Fl remove
不要ファイルを削除します。例えば、
man 形式の無い cat 形式、
圧縮された cat 形式がある非圧縮の cat 形式、
英数字で構成されていないファイル名を持つファイル、
圧縮された man 形式がある非圧縮の man 形式です。
.It Fl v , Fl verbose
より多くの警告を表示します。
.Sh 使用例
.Pp
.Dl $ catman
.Pp
.Ar /usr/share/man
以下のマニュアルを、必要な分だけフォーマットします。
.Pp
.Dl $ catman $MANPATH
.Pp
ユーザの全てのマニュアルパス以下の
マニュアルを、必要な分だけフォーマットします。
.Pp
.Dl $ catman -f /usr/local/man/man1 /usr/local/man/manl
.Pp
.Pa /usr/local/man/man1
.Pa /usr/local/man/manl
以下のマニュアルを強制的にフォーマットしなおします。
.Pp
.Dl $ catman -p /usr/X11/man
.Pp
何が行われるかを表示するだけです。
.Sh 関連ファイル
-.Bl -tag -width /etc/weeklyxxx -compact
-.Pa /etc/weekly
+.Pa /etc/periodic/weekly/330.catman
このプログラムを起動します
-.Po
-または
-.Pa /etc/daily
-.Pc
-.El
.Sh 特徴
既に全てのマニュアルがフォーマットされている場合、
動作が非常に速くなります。
いくつかのシステムで採用されている
.Fl w
はサポートされていません。
.Ql whatis
データベースを再構築するには
.Xr makewhatis 1
を使って下さい。
.Sh バグ
.Xr man 1
は setuid プログラムです。ユーザ
.Sq man
が cat 形式のマニュアルを格納するディレクトリに
対して書き込み権限を持つように注意して下さい。
.Nm catman
.Sq .so
というマニュアルをチェックしません。
マニュアルの必要以上のフォーマットを避けるには
ハードリンク、シンボリックリンクを使って下さい。
.Sh 関連項目
.Xr makewhatis 1 ,
.Xr man 1 ,
.Xr manpath 1
.Sh 歴史
このバージョンの
.Nm catman
.Fx 2.1
から付属されました。
.Sh 作者
Wolfram Schneider
.Aq wosch@FreeBSD.org ,
Berlin.
diff --git a/ja/man/man1/cd.1 b/ja/man/man1/cd.1
index d9b54041ee..5a46e0dc8a 100644
--- a/ja/man/man1/cd.1
+++ b/ja/man/man1/cd.1
@@ -1,99 +1,99 @@
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)cd.1 8.1 (Berkeley) 6/5/93
-.\" %Id: cd.1,v 1.1.1.1.8.1 1997/03/07 04:17:49 mpp Exp %
+.\" %Id: cd.1,v 1.2 1997/03/07 03:27:49 jmg Exp %
.\" jpman %Id: cd.1,v 1.2 1997/03/26 14:56:29 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt CD 1
.Os BSD 4
.Sh 名称
.Nm cd
.Nd ワーキングディレクトリを変更する
.Sh 書式
.Nm cd
.Ar directory
.Sh 解説
.Ar directory
には、新しいワーキングディレクトリになる絶対もしくは相対パス名
を記述します。
cd の相対パス名の解釈は、環境変数のCDPATH
に依存します(下記参照)。
.Sh 環境変数
以下の環境変数が cd の実行に影響します:
.Pp
.Bl -tag -width indent
.It Ev CDPATH
もし、オペランド
.Ar directory
がスラッシュ (/) で始まらず、かつ、最初がドット (.) やドット-ドット (..)
でもない場合、
.Nm cd
は環境変数
.Ev CDPATH
に記述された各ディレクトリの相対ディレクトリを順番に検索します。
新しいワーキングディレクトリは最初に見つかったディレクトリになります。
.Ev CDPATH
でディレクトリ名として空の文字列を指定した場合にはカレントディレクトリを
表します。
新しいワーキングディレクトリが
.Ev CDPATH
を用いて展開された場合には、その値が標準出力に表示されます。
.It Ev HOME
もし
.Nm cd
が引数無しで起動された場合で、環境変数
.Ev HOME
が存在しディレクトリ名が書かれている場合には、
そのディレクトリが新しいワーキングディレクトリになります。
.El
.Pp
環境変数に関する詳細については
.Xr csh 1
を参照して下さい。
.Pp
.Nm cd
は成功時には 0 を、エラーが起こった時は
0 より大きな値を返します。
.Sh 関連項目
.Xr csh 1 ,
.Xr pwd 1 ,
.Xr sh 1 ,
.Xr chdir 2
.Sh 規格
.Nm cd
.St -p1003.2
互換のはずです。
diff --git a/ja/man/man1/cdcontrol.1 b/ja/man/man1/cdcontrol.1
index 918f635f2e..d8d36a2932 100644
--- a/ja/man/man1/cdcontrol.1
+++ b/ja/man/man1/cdcontrol.1
@@ -1,181 +1,181 @@
-.\" %Id: cdcontrol.1,v 1.8.2.5 1998/06/13 19:30:22 steve Exp %
+.\" %Id: cdcontrol.1,v 1.16 1998/06/13 19:28:51 steve Exp %
.\" jpman %Id: cdcontrol.1,v 1.3 1997/07/22 09:20:03 mutoh Stab %
.\"
.Dd July 3, 1995
.Dt CDCONTROL 1
.Os FreeBSD
.Sh 名称
.Nm cdcontrol
.Nd コンパクトディスク制御ユーティリティ
.Sh 書式
.Nm cdcontrol
.Op Fl s
.Op Fl v
.Op Fl f Ar discname
.Op Ar command args ...
.Sh 解説
.Nm
はオーディオ CD プレイヤーを操作するためのプログラムです。
device には
.Pa cd0
.Pa mcd0
などを指定します。
.Pp
もし、device が指定されなかった場合、環境変数
.Ev MUSIC_CD ,
.Ev CD_DRIVE ,
.Ev DISC
を (この順番で) 使用して、cd デバイスを探します。
.Pp
コマンドを指定しない場合、
.Nm
は対話モードになり、標準入力からコマンドを読み込みます。
.Pp
以下のオプションを使用可能です。
.Bl -tag -width indent
.It Fl s
サイレントモード - テーブルヘッダ及び人間が可読なコメントを表示しません。
.It Fl v
冗長モード - 表示できる情報は全て表示します。
.It Fl f Ar discname
.Pa /dev/cd0c
.Pa mcd0
といったデバイス名を指定します。
絶対パス及び
.Pa /dev
からの相対パスの指定が可能です。
必要ならば最後に `c' を追加します。
.El
.Pp
現時点では以下のコマンドが利用できます。
コマンドをユニークに特定できるために必要な文字だけ指定する
必要があります。
.Em play
は省略可能です。
.Bl -tag -width Cm
.It Cm play first_track last_track
.Ar first_track
で指定されたトラックから
.Ar last_track
で指定されたトラックまで演奏します。最初のトラックが1番になります。
.It Cm play start_m:start_s.start_f Op Ar end_m:end_s.end_f
絶対アドレス (MSF) を元に演奏します。演奏開始する時間は
.Ar start_m
に演奏開始する分を、
.Ar start_s
に秒を、
.Ar start_f
にはフレーム番号を指定します。演奏終了の時間は
.Ar end_m
に演奏終了する分を、
.Ar end_s,
に秒を、
.Ar end_f
にフレーム番号を指定することで指定できます。分指定で指定できる数値は 0
から 99 の範囲の値です。秒には 0 から 59 までが指定できます。フレーム
番号は 0 から 74 までの範囲で指定できます。
.It Cm play Op Ar #start_block Op length
論理ブロック
.Ar start_block
から
.Ar length
論理ブロック分だけ演奏します。
.It Cm pause
演奏を停止します。ディスクは停止しません。
.It Cm resume
演奏を再開します。
.Em pause
で一時停止した後に使います。
.It Cm stop
ディスクを停止します。
.It Cm eject
ディスクを取り出します。
.It Cm close
ディスクを挿入します。
.It Cm setvol left_channel right_channel
左チャンネルのボリュームを
.Ar left_channel
にセットし、右チャンネルを
.Ar right_channel
にセットします。指定できる値は 0 から 255 の範囲の値です。
.It Cm volume Ar mute
音を消します。
.It Cm volume Ar mono
モノラルモードにします。
.It Cm volume Ar stereo
ステレオモードにします。
.It Cm volume Ar left
左サブトラックを左と右の両チャネルで演奏します。
.It Cm volume Ar right
右サブトラックを左と右の両チャネルで演奏します。
.It Cm info
目次を表示します。
.It Cm status
.Op Ar audio | media | volume
ディスクに関する以下のような情報を表示します:
.Nm audio
現在の演奏の状態と位置、
.Nm media
現在のメディアカタログ状態、
.Nm volume
現在の左チャネル及び右チャネルのボリューム値。
.It Cm help
利用可能なコマンドの一覧を表示します。
.It Cm debug Ar on
CD デバイスドライバのデバッグモードを有効にします。
.It Cm debug Ar off
ドライバのデバッグモードを無効にします。
.It Cm reset
デバイスに対するハードウェアリセットを実行します。
.It Cm set Ar msf
minute-second-frame ioctl モードに設定します (デフォルト)。
.It Cm set Ar lba
LBA ioctl モードに設定します。
.It Cm quit
プログラムを終了します。
.Sh 関連ファイル
.Bl -tag -width /dev/rmcd0c -compact
.It Pa /dev/rcd0c
.It Pa /dev/rmcd0c
.It Pa /dev/rwcd0c
.El
.Sh 作者
.An Jean-Marc Zucconi ,
.An Andrey A.\ Chernov ,
.An Serge V.\ Vakulenko
.Sh 歴史
.Nm
コマンドは
.Fx 2.1
から登場しました。
diff --git a/ja/man/man1/checknr.1 b/ja/man/man1/checknr.1
index 170e020daf..789d740aec 100644
--- a/ja/man/man1/checknr.1
+++ b/ja/man/man1/checknr.1
@@ -1,160 +1,160 @@
.\" 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.
.\"
.\" @(#)checknr.1 8.1 (Berkeley) 6/6/93
.\" jpman %Id: checknr.1,v 1.3 1997/06/18 14:14:50 jsakai Stab %
.\"
.Dd June 6, 1993
.Dt CHECKNR 1
.Os BSD 4
.Sh 名称
.Nm checknr
.Nd nroff および troff ファイルをチェックする
.Sh 書式
.Nm checknr
.Op Fl a Ns Ar \&.x1.y1.x2.y2. ... \&.xn.yn
.Op Fl c Ns Ar \&.x1.x2.x3 ... \&.xn
.Op Fl s
.Op Fl f
.Ar file
.Sh 解説
.Nm checknr
は、
.Xr nroff 1
.Xr troff 1
の入力ファイルのリストに対して、デリミタの開始および終了の不一致や
間違ったコマンドを含む、ある種類のエラーをチェックします。
ファイルが指定されなかった場合、
.Nm checknr
は標準入力をチェックします。
.Pp
オプション
.Bl -tag -width Ds
.It Fl a
既知マクロのリストに追加のマクロペアを追加します。
その後ろには 6 文字のグループが続かなくてはなりません。
各グループはマクロのペアを定義します。
6 文字はピリオドと最初のマクロ名、更にピリオドと2番目のマクロ名です。
例えば、 .BS と .ES のペアを定義するためには、
.Sq Li \-a.BS.ES
を使ってください。
.It Fl c
通常なら未定義であるといわれるコマンドを定義します。
.It Fl f
.Nm checknr
.Ql \ef
のフォント変更を無視させます。
.It Fl s
.Ql \es
のサイズ変更を無視させます。
.El
.Pp
デリミタのチェックは以下の通りです。
.Bl -enum
.It
\efx ... \efP を使ったフォントの変更。
.It
\esx ... \es0 を使ったサイズの変更。
.It
- .TS と .TEマクロのようにいつもペアで使われる、
+\&.TS と .TEマクロのようにいつもペアで使われる、
``開始...終了''形式のマクロ。
.El
.Pp
.Nm checknr
は、
.Xr lint 1
と同じように、
.Nm checknr
によるチェックを念頭に置いて作成されたドキュメントを
チェックするのに用いることを意図しています。
.\"(チェック者注) この部分若干意訳。原文は以下の通り。(sakai@jp.freebsd.org)
.\".Nm Checknr
.\"is intended for use on documents that are prepared with
.\".Nm checknr
.\"in mind, much the same as
.\".Xr lint 1 .
コマンドは、記述形式が
.Ql \ef
.Ql \es
コマンドに対して、
.Ql \efx
.Ql \efP
で終了されており、
.Ql \esx
.Ql \es0
で終了されているようなものを期待しています。
直接次のフォントに切替えたり、
明示的にもとのフォントやポイントサイズを指定したりしても動作しますし、
実際そのようにしているドキュメントは数多く存在しますが、
.Nm checknr
はそのような使用法に対して警告を発します。
おそらく
.Ql \efP
.Ql \es0
形式を使うほうがよいはずなので、
このようなスタイルを用いることは、
ドキュメント執筆スタイルの向上に寄与すると考えて下さい。
.Pp
.Nm checknr
は、
.Xr ms 7
.Xr me 7
マクロパッケージを認識します。
.Sh 関連項目
.Xr nroff 1 ,
.Xr troff 1 ,
.Xr me 7 ,
.Xr ms 7
.\" .Xr checkeq 1 ,
.Sh 診断
.Bd -ragged -compact
デリミタが一致しない時に、警告を出します。
コマンドを認識できない時に、警告を出します。
コマンドの文法について、さまざまな警告を出します。
.Ed
.Sh バグ
.Fl a
を用いて 1 文字のマクロ名を定義する方法がありません。
.Pp
条件文のような、ある種の正当な構造を認識できません。
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja/man/man1/chflags.1 b/ja/man/man1/chflags.1
index 737ebd82c1..01dd987399 100644
--- a/ja/man/man1/chflags.1
+++ b/ja/man/man1/chflags.1
@@ -1,143 +1,143 @@
.\" Copyright (c) 1989, 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)chflags.1 8.2 (Berkeley) 3/31/94
-.\" %Id: chflags.1,v 1.2.6.3 1997/06/29 08:48:52 julian Exp %
+.\" %Id: chflags.1,v 1.6 1997/06/24 06:57:11 charnier Exp %
.\" jpman %Id: chflags.1,v 1.3 1997/06/18 14:15:48 jsakai Stab %
.\"
.Dd March 31, 1994
.Dt CHFLAGS 1
.Os
.Sh 名称
.Nm chflags
.Nd ファイルのフラグを変更する
.Sh 書式
.Nm chflags
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Ar flags
.Ar file ...
.Sh 解説
.Nm chflags
は指定したファイルのフラグを、
.Ar flags
で指定した値に変更します。
.Pp
オプションは以下のとおりです。
.Bl -tag -width Ds
.It Fl H
.Fl R
オプションが指定されていれば、引数で指定されたシンボリックリンクを
たどります
(木構造の検索中にみつかったシンボリックリンクはたどりません)。
.It Fl L
.Fl R
オプションが指定されていれば、全てのシンボリックリンクをたどります。
.It Fl P
.Fl R
オプションが指定されていれば、どのシンボリックリンクもたどりません。
.It Fl R
指定されたファイル自身ではなく、
そのファイル以下のディレクトリ階層すべての
フラグを変更します。
.El
.Pp
フラグはキーワードをコンマで区切ったものです。
現在定義されているキーワードは以下のとおりです:
.Bd -literal -offset indent compact
arch archived フラグをセットします (スーパユーザのみ)
dump dump フラグをセットします
sappnd system append-only (システムレベルでの追加専用) フラグをセットします
(スーパユーザのみ)
schg system immutable (システムレベルでの変更不可) フラグをセットします
(スーパユーザのみ)
sunlnk system undeletable (システムレベルでの削除不可) フラグをセットします
(スーパユーザのみ)
uappnd user append-only (ユーザレベルでの追加専用) フラグをセットします
(所有者またはスーパユーザのみ)
uchg user immutable (ユーザレベルでの変更不可) フラグをセットします
(所有者またはスーパユーザのみ)
uunlnk user undeletable (ユーザレベルでの削除不可) フラグをセットします
(所有者またはスーパユーザのみ)
archived、sappend、schange、simmutable、uappend、uchange、uimmutable,
sunlink, uunlink
は上記のキーワードのエイリアスです。
.Ed
.Pp
オプションキーワードの前に
.Dq no
をつけると、そのフラグを無効にします。
例えば、
.Bd -literal -offset indent compact
nodump dump フラグをクリアします
.Ed
.Pp
シンボリックリンクにはフラグはありません。
よって、
.Fl H
あるいは
.Fl L
オプションを指定せずにシンボリックリンクに
対して
.Nm chflags
を実行した場合、常に成功しますが、何の効果もありません。
.Fl H
.Fl L
.Fl P
オプションは
.Fl R
オプションを指定しない限り無視されます。
また、これらのオプションはお互いの効果を上書きするため、
最後に指定されたオプションによってコマンドの動作が決まります。
.Pp
ファイルのフラグを見るには "ls -lo" とします。
.Pp
.Nm chflags
は実行に成功すると 0 を、エラーが発生すると 0 より大きい値を
戻り値として返します。
.Sh 関連項目
.Xr ls 1 ,
.Xr chflags 2 ,
.Xr stat 2 ,
.Xr fts 3 ,
.Xr symlink 7
.Sh 歴史
.Nm chflags
.Bx 4.4
に初めて登場しました。
diff --git a/ja/man/man1/chio.1 b/ja/man/man1/chio.1
index 6e578a09c0..25db855e78 100644
--- a/ja/man/man1/chio.1
+++ b/ja/man/man1/chio.1
@@ -1,219 +1,219 @@
.\" %NetBSD: %
.\"
.\" Copyright (c) 1996 Jason R. Thorpe <thorpej@and.com>
.\" 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 acknowledgements:
.\" This product includes software developed by Jason R. Thorpe
.\" for And Communications, http://www.and.com/
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: chio.1,v 1.1.1.1.2.3 1998/07/15 02:01:03 jkh Exp %
+.\" %Id: chio.1,v 1.6 1998/06/04 21:05:19 steve Exp %
.\"
.\" jpman %Id: chio.1,v 1.3 1997/08/31 14:04:42 horikawa Stab %
.Dd April 2, 1996
.Dt CHIO 1
.Os
.Sh 名称
.Nm chio
.Nd メディアチェンジャ制御ユーティリティ
.Sh 書式
.Nm chio
.Op Fl f Ar changer
.Ar command
.Ar arg1
.Ar arg2
.Oo
.Ar arg3 Oo ...
.Oc
.Oc
.Sh 解説
.Nm chio
は、テープや光ディスクなどのジュークボックスに見られるような
メディアチェンジャの動作を制御するために使われます。
.Pp
オプションには以下のものがあります:
.Bl -tag -width indent
.It Fl f Ar changer
デフォルトの
.Pa /dev/ch0
デバイスのかわりに
.Pa changer
を使用します。
.El
.Pp
環境変数
.Ev CHANGER
にデバイス名をセットしておくと、
それをデフォルトのチェンジャとして使用することができます。
.Pp
メディアチェンジャ装置は複数の
.Em element
から成り立っています。
element には 4 種類あり、それぞれ
.Em picker
(メディア搬送)、
.Em slot
(保管)、
.Em portal
(出し入れ)、
.Em drive
(データ転送)です。このコマンドの解説では省略形
.Em ET
で element の種類を表し、
.Em EU
で element の装置番号を表します。
たとえば、チェンジャ内の一つめのロボットアームを表現する場合には、
.Em ET
.Dq picker
となり、
.Em EU
.Dq 0
となります。
.Pp
.Sh サポートされるコマンド
.Bl -tag -width indent
.It Xo Nm chio move
.Ar <from ET> <from EU> <to ET> <to EU>
.Op Ar inv
.Xc
メディアユニットを
.Pa <from ET/EU>
から
.Pa <to ET/EU>
へと移動します。
オプションの修飾子
.Pa inv
が指定された場合は、挿入前にメディアユニットが裏返されます。
.It Xo Nm chio exchange
.Ar <src ET> <src EU> <dst1 ET> <dst1 EU>
.Op Ar <dst2 ET> <dst2 ET>
.Op Ar inv1
.Op Ar inv2
.Xc
メディアユニットの交換作業をおこないます。
.Pa <src ET/EU>
にあるメディアユニットは
.Pa <dst1 ET/EU>
に移され、以前に
.Pa <dst1 ET/EU>
にあったメディアユニットは
.Pa <dst2 ET/EU>
に移されます。
単純に交換する場合には、
.Pa <dst2 ET/EU>
を省略すると
.Pa <src ET/EU>
が代りに使われます。
オプションの修飾子
.Pa inv1
.Pa inv2
が指定された場合には、それぞれ
.Pa <dst1 ET/EU>
.Pa <dst2 ET/EU>
への挿入前にメディアユニットが裏返されます。
.Pp
すべてのメディアチェンジャが
.Nm exchange
操作をサポートしているわけではないことに注意してください。
exchange 操作のためには、チェンジャが複数の空き picker を持っているか、
一時的な保管場所を用いて複数の空き picker をエミュレートする必要があります。
.Pp
.It Xo Nm chio position
.Ar <to ET> <to EU>
.Op Ar inv
.Xc
picker を
.Pa <to ET/EU>
で指定した element の前に配置します。
もしオプションの修飾子
.Pa inv
が指定された場合は、挿入前にメディアユニットが裏返されます。
.Pp
このコマンドを発行しても、すべてのチェンジャが期待通りの動作をするとは
限らないことに注意してください。
.It Nm chio params
チェンジャ内の slot, drive, picker, portal の数と、
現在どの picker が使用可能になっているかを報告します。
.It Nm chio getpicker
.Pp
現在どの picker が使用可能になっているかを報告します。
.It Xo Nm chio setpicker
.Ar <unit>
.Xc
.Pa <unit>
番の picker を使用可能にします。
.It Xo Nm chio status
.Op Ar <type>
.Xc
チェンジャ内のすべての element の状態を報告します。もし
.Pa <type>
が指定されていると、
.Pa <type>
型の elememt の状態を報告します。
.El
.Pp
ステータスビットは以下のように定義されています:
.Bl -tag -width indent
.It FULL
element にメディアユニットが入っています。
.It IMPEXP
外部の人間の操作により element にメディアが挿入されました。
.It EXCEPT
element が異常な状態になっています。
.It ACCESS
この element 内のメディアは picker でアクセス可能です。
.It EXENAB
element は外部の人間の操作によるメディアの取り出しが可能です。
.It INENAB
element は外部の人間の操作によるメディアの挿入が可能です。
.El
.Sh 使用例
.Bl -tag -width indent
.It Nm chio move slot 3 drive 0
スロット 3 (4 番目のスロット) のメディアをドライブ 0 (1 番目のドライブ) に
移動させます。
.It Nm chio setpicker 2
チェンジャが picker 2 (3 番目の picker) を作業に使用するように設定します。
.El
.Sh 関連ファイル
.Bl -tag -width /dev/ch0 -compact
.It Pa /dev/ch0
デフォルトのチェンジャデバイス
.El
.Sh 関連項目
.Xr mt 1 ,
.Xr ch 4 ,
.Xr mount 8
.Sh 作者
.Nm chio
プログラムと SCSI チェンジャドライバは
And Communications 社 (http://www.and.com/) の
.An Jason R. Thorpe Aq thorpej@and.com
によって書かれました。
diff --git a/ja/man/man1/chmod.1 b/ja/man/man1/chmod.1
index a39d4dc92f..46d6dda687 100644
--- a/ja/man/man1/chmod.1
+++ b/ja/man/man1/chmod.1
@@ -1,320 +1,320 @@
.\" Copyright (c) 1989, 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)chmod.1 8.4 (Berkeley) 3/31/94
+.\" %Id: chmod.1,v 1.10 1998/05/19 06:24:50 jkoshy Exp %
.\" jpman %Id: chmod.1,v 1.2 1997/04/01 01:37:14 mutoh Stab %
-.\" %Id: chmod.1,v 1.4.2.4 1998/07/15 02:01:04 jkh Exp %
.\"
.Dd March 31, 1994
.Dt CHMOD 1
.Os
.Sh 名称
.Nm chmod
.Nd ファイルのモードを変更する
.Sh 書式
.Nm chmod
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Ar mode
.Ar file ...
.Sh 解説
.Nm
は指定されたファイルのモードを
.Ar mode
で指定したものに変更します。
.Pp
オプションとして以下のものがあります:
.Bl -tag -width Ds
.It Fl H
.Fl R
オプションが指定されていれば、引数がシンボリックリンクのとき、それを
たどって変更します。
(ディレクトリツリー探索中に見つかったシンボリックリンクは
それ以上追跡しません)
.It Fl L
.Fl R
オプションが指定されていれば、すべてのシンボリックリンクをたどり、
リンク先のファイルを変更します。
.It Fl P
.Fl R
オプションが指定されていても、どのシンボリックリンクもたどりません。
.It Fl R
指定されたファイル自身だけではなく、それらをルートとする
ディレクトリ階層を再帰的に検索してモードを変更します。
.El
.Pp
シンボリックリンクはモードを持たないので、
.Fl H
または
.Fl L
オプションが指定されていなければ、シンボリックリンクに対する
.Nm
実行結果は常に真となり、何も変えません。
.Fl H ,
.Fl L ,
.Fl P
オプションは、
.Fl R
オプションが指定されていなければ無視されます。また、これらが
複数指定されると最後に指定したものが有効になります。
.Pp
ファイルのモードの変更はそのファイルの所有者とスーパユーザだけにしか
許されていません。
.Pp
.Nm
は正常終了時には 0 を、エラーが生じたときは 0 より大きい値を返します。
.Sh モード
モードには、数値を用いた絶対値指定と、シンボルによる指定があります。
数値指定では、以下の値を
.Ar ``or''
で組み合わせた 8 進数を用います:
.Pp
.Bl -tag -width 6n -compact -offset indent
.It Li 4000
(set-user-ID-on-execution ビット)
このビットがセットされている実行可能ファイルは、
ファイルを所有するユーザ ID に実効ユーザ ID を設定されて実行されます。
set-user-id ビットをセットされているディレクトリは、
その中で作成される全てのファイルおよびディレクトリの所有者を
ディレクトリの所有者に設定することを強制し、
作成するプロセスのユーザ ID は無関係となります。
これは、ディレクトリが存在するファイルシステムが
この機能をサポートしている場合に限られます:
.Xr chmod 2
.Xr mount 1
.Ar suiddir
オプションを参照してください。
.It Li 2000
(set-group-ID-on-execution ビット)
このビットがセットされている実行可能ファイルは、
ファイルを所有するグループ ID に実効グループ ID を設定されて実行されます。
.It Li 1000
(スティッキービット)
ディレクトリに設定した時には、
非特権ユーザは、所有するファイルのみ削除およびリネーム可能となり、
ディレクトリのパーミッションは無関係となります。
FreeBSD では、実行可能ファイルに設定されたスティッキービットは無視され、
ディレクトリにのみ設定可能です (
.Xr sticky 8
参照)。
.It Li 0400
所有者の読み込みを許可。
.It Li 0200
所有者の書き込みを許可。
.It Li 0100
ファイルの場合、所有者の実行を許可。
ディレクトリの場合、所有者の検索を許可。
.It Li 0040
グループのメンバの読み込みを許可。
.It Li 0020
グループのメンバの書き込みを許可。
.It Li 0010
ファイルの場合、グループのメンバの実行を許可。
ディレクトリの場合、グループのメンバの検索を許可。
.It Li 0004
他者の読み込みを許可。
.It Li 0002
他者の書き込みを許可。
.It Li 0001
ファイルの場合、他者の実行を許可。
ディレクトリの場合、他者の検索を許可。
.El
.Pp
例えば、所有者に読み込み・書き込み・実行を許可し、
グループのメンバに読み込み・実行を許可し、
他者に読み込み・実行を許可し、
set-uid と set-gid を指定しない絶対値指定のモードは、
755 (400+200+100+040+010+004+001) となります。
.Pp
シンボルによる指定は以下の文法に従います。
.Bd -literal -offset indent
mode ::= clause [, clause ...]
clause ::= [who ...] [action ...] last_action
action ::= op [perm ...]
last_action ::= op [perm ...]
who ::= a | u | g | o
op ::= + | \- | =
perm ::= r | s | t | w | x | X | u | g | o
.Ed
.Pp
.Ar who
シンボルの ``u'', ``g'', ``o'' はそれぞれユーザ、グループ、それ以外に
相当します。``a'' シンボルは ``ugo'' を指定した場合と同じになります。
.Pp
.ne 1i
.Ar perm
シンボルはモードの各ビットを以下のように表現します。
.Pp
.Bl -tag -width Ds -compact -offset indent
.It r
読み込み許可ビット
.It s
実行時 setuid および実行時 setgid ビット
.It t
sticky ビット
.It w
書き込み許可ビット
.It x
実行/検索 許可ビット
.It X
対象がディレクトリであるか、変更前のモードで誰かの実行/検索許可ビット
が立っている場合に、実行/検索許可ビットがセットされます。
.Ar perm
シンボルでの ``X'' の指定は、
.Ar op
シンボルを ``+''で連結する時のみ意味があり、他の場合は無視されます。
.It u
元ファイルの所有者許可ビット
.It g
元ファイルのグループ許可ビット
.It o
元ファイルの所有者とグループ以外の許可ビット
.El
.Pp
.Ar op
シンボルの働きは以下のようになります
.Bl -tag -width 4n
.It +
.Ar perm
値が指定されなければ、``+'' は何の作用もありません。
.Ar who
シンボルが指定されていなければ、
.Ar perm
値はそれぞれのwhoシンボルの対応するビットに作用し、それを umask で
マスクしたビットがセットされます。
.Ar who
シンボルが指定されていれば、その
.Ar perm
値が設定されます。
.It \&\-
.Ar perm
値が指定されていなければ、``\-'' は何の作用もありません。
.Ar who
シンボルが指定されていなければ、
.Ar perm
値はそれぞれのwhoシンボルの対応するビットに作用し、それを umaskで
マスクしたビットがクリアされます。
.Ar who
シンボルが指定されていれば、その
.Ar perm
値がクリアされます。
.It =
.Ar who
シンボルで指定されたモードビットがクリアされます。whoシンボルが指定
されていなければ、所有者、グループ、その他の各モードビットがクリアされ
ます。
.Ar who
シンボルが指定されていなければ、
permで指定したビットが、所有者、グループ、その他のそれぞれを umaskで
マスクしたものだけ設定されます。
.Ar who
シンボルと
.Ar perm
が指定されていれば、その値がそのまま設定されます。
.El
.Pp
.Ar clause
では、モードビットを操作するためのオペレーションを 1 つ以上記述しなけ
ればなりません。そして各オペレーションは記述した順番で適用されます。
.Pp
所有者とグループ以外の ``o'' のみに対して、 ''s'' や ``t'' の組合せの
.Ar perm
値が指定されても無視されます。
.Sh 使用例
.Bl -tag -width "u=rwx,go=u-w" -compact
.It Li 644
ファイルを誰にでも読めるようにして、ファイルの所有者のみ書き込み可能に
します。
.Pp
.It Li go-w
ファイルの所有者以外の書き込みを禁止します。
.Pp
.It Li =rw,+X
umask でマスクされていないビットの読み書きを許可しますが、実行許可は
現在設定されているものを保持します。
.Pp
.It Li +X
誰かが実行/検索可能なファイルやディレクトリならば、すべてのユーザが
実行/検索できるファイルやディレクトリとします。
.Pp
.It Li 755
.It Li u=rwx,go=rx
.It Li u=rwx,go=u-w
誰にでも読み込みと実行ができて、所有者のみ書き込み可能になるようにしま
す。
.Pp
.It Li go=
グループやその他のユーザにいかなる許可も与えません。
.Pp
.It Li g=u-w
グループビットをユーザビットと同じにしますが、グループの書き込みは禁止
します。
.El
.Sh バグ
naughty bitのための
.Ar perm
オプションが無い。
.Sh 関連項目
.Xr chflags 1 ,
.Xr install 1 ,
.Xr mount 1 ,
.Xr chmod 2 ,
.Xr stat 2 ,
.Xr umask 2 ,
.Xr fts 3 ,
.Xr setmode 3 ,
.Xr symlink 7 ,
.Xr chown 8 ,
.Xr sticky 8
.Sh 規格
.Nm
ユーティリティは、規格にない
.Ar perm
シンボルの
.Dq t
.Dq X
を除いては
.St -p1003.2
互換になるように作られています。
.Sh 歴史
.Nm
コマンドは
.At v1
から導入されました.
diff --git a/ja/man/man1/chpass.1 b/ja/man/man1/chpass.1
index 6411012672..5a37790750 100644
--- a/ja/man/man1/chpass.1
+++ b/ja/man/man1/chpass.1
@@ -1,414 +1,414 @@
.\" Copyright (c) 1988, 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.
.\"
.\" @(#)chpass.1 8.2 (Berkeley) 12/30/93
-.\" %Id: chpass.1,v 1.7.2.4 1998/08/14 03:38:01 thepish Exp %
+.\" %Id: chpass.1,v 1.11 1998/08/14 03:47:38 thepish Exp %
.\" jpman %Id: chpass.1,v 1.2 1997/03/31 14:06:36 horikawa Stab %
.\"
.Dd December 30, 1993
.Dt CHPASS 1
.Os
.Sh 名称
.Nm chpass, chfn, chsh, ypchpass, ypchfn, ypchsh
.Nd ユーザデータベース内の情報を編集する
.Sh 書式
.Nm chpass
.Op Fl a Ar list
.Op Fl p Ar encpass
.Op Fl s Ar newshell
.Op user
.Sh 解説
.Nm chpass
.Ar user
もしくはデフォルトでは実行したユーザのユーザデータベースの情報を変更します。
情報はフォーマットされ、必要な部分をエディタで変更します。
.Pp
ユーザが変更することができる情報だけが表示されます。
.Pp
オプションとしては、以下のものがあります:
.Bl -tag -width flag
.It Fl a
スーパユーザは、ユーザデータベースのエントリを
.Xr passwd 5
で定義されたフォーマットで引数として直接指定できます。
この引数はコロン(``:'')で区切られたリストであり、
空きの部分があっても許されますが、
すべてのフィールドをリストにしなければなりません。
.It Fl p
スーパユーザは、暗号化されたパスワードフィールドを
.Xr crypt 3
で用いられているフォーマットで引数として直接指定することができます。
.It Fl s
.Fl s
オプションは、ユーザのシェルを
.Ar newshell
に変更します。
.El
.Pp
表示されるエントリには以下のものがあります:
.Pp
.Bl -tag -width "Other Information:" -compact -offset indent
.It Login:
ユーザのログイン名
.It Password:
ユーザの暗号化されたパスワード
.It Uid:
ユーザの ID
.It Gid:
ユーザのグループ ID
.It Change:
パスワードの変更時間
.It Expire:
アカウントの有効期限
.It Class:
ユーザの一般的な分類
.It Home Directory:
ユーザのホームディレクトリ
.It Shell:
ユーザのログインシェル
.It Full Name:
ユーザの実際の名前
.It Location:
ユーザが通常いる場所
.It Home Phone:
ユーザの自宅の電話番号
.It Office Phone:
ユーザのオフィスの電話番号
.It Other Information:
ユーザに関するローカル定義情報
.El
.Pp
.Ar login
フィールドは計算機にアクセスするときに使われるユーザ名です。
.Pp
.Ar password
フィールドはユーザの暗号化されたパスワードが収められています。
.Pp
.Ar uid
フィールドは
.Ar login
フィールドと関連した番号です。ファイルのアクセスを制御するために、
どちらのフィールドもシステム (しばしば、複数のシステム) の中で
一意である必要があります。
.Pp
複数のエントリが同一のログイン名や同一のユーザ ID を持つことは可能ですが、
そのようにすることは通常誤りです。
これらのファイルを操作する手順では、
それらの複数のエントリ内から無作為に選んだものの一つだけを返すでしょう。
.Pp
.Ar group
フィールドはユーザがログイン時に所属するグループです。BSD が複数の
グループを採用してから(
.Xr groups 1
参照)
このフィールドはほとんど意味がありません。
このフィールドは番号やグループ名(
.Xr group 5
参照) のどちらかが記述されます。
.Pp
.Ar change
フィールドはパスワードが変更されているべき日付です。
.Pp
.Ar expire
フィールドはアカウントの満了する日付です。
.Pp
.Ar change
.Ar expire
の両方のフィールドは ``month day year'' の形式で入力し、
.Ar month
は、英語の月の名前 (はじめの3文字でも十分です) で、
.Ar day
は、その月の中の日で、
.Ar year
は、その年です。
.Pp
.Ar class
フィールドは現在では使われてません。近い将来には、
.Xr termcap 5
形式のユーザ属性のデータベースへの手がかりとなるでしょう。
.Pp
ユーザの
.Ar home directory
はユーザがログイン時にいる場所への絶対 UNIX パス名です。
.Pp
.Ar shell
フィールドはユーザの好むコマンドインタプリタです。
もし
.Ar shell
フィールドが空であれば、ボーンシェル
.Pa /bin/sh
であると仮定します。
ログインシェルを変更するときに、スーパユーザではないユーザは、
非標準シェルから、または非標準シェルへの変更は許されていません。
非標準シェルとは
.Pa /etc/shells
で見つけられないシェルのことです。
.Pp
最後の 5 つのフィールドはユーザの
.Ar 実際の名前
.Ar オフィスの場所
.Ar 職場
.Ar 家で使う電話
番号、そして
.Ar その他の情報
を保管しています。
.Ar その他の情報
は、コンマで区切った単一文字列であり、追加の gcos フィールドを表現します。
(典型的にはサイト固有のユーザ情報のために使用します)。
.Pp
一度情報が確認されたら
.Nm chpass
はユーザデータベースを更新するために
.Xr pwd_mkdb 8
を用います。
.Sh 環境変数
環境変数 EDITOR を設定して他のエディタを指定している場合を除き、
.Xr vi 1
エディタが使われます。エディタが終了すると、その情報は再度読み込まれ、
ユーザデータベースを変更するための情報とします。
ユーザの情報を変更できるのは、そのユーザかスーパユーザのみです。
.Sh NIS との相互作用
いくつかの制限が適用されますが、
.Nm chpass
を NIS と同時に使うこともできます。現在
.Nm chpass
.Xr rpc.yppasswdd 8
を通じて NIS のパスワードマップ中で変更できるのは、
通常はユーザのパスワード、シェル、GECOS フィールドだけです。
NIS マスタサーバ上でスーパユーザによって起動された場合を除き、
.Nm chpass
(同様に
.Xr passwd 1 )
は、ユーザ情報の変更および新レコードの追加のために
.Xr rpc.yppasswdd 8
サーバを使用出来ません。
なお、
.Xr rpc.yppasswdd 8
は、どのような変更を行う前にもパスワード認証を要求します。
パスワード無しで変更要求できるユーザは
NIS マスタサーバ上のスーパユーザだけです;
他の全てのユーザはパスワードを入力する必要があります。
他の全てのユーザには NIS クライアント(および NIS スレーブサーバ)上の
ルート権限を持つユーザも含まれます。
(NIS マスタサーバ上のスーパユーザがこの制約をバイパスできる理由は、
主に簡便さのためです:
NIS マスタサーバへのルートアクセス権限をもつユーザは
既に NIS マップを更新するための権限を持っています。
それにもかかわらずマップソースファイルを手で編集することは面倒です。
.Pp
注: これらの例外が適用されるのは
NIS マスタサーバが FreeBSD システムの時だけです。)
.Pp
その結果として、上述の例外を除き、NIS 環境で
.Nm chpass
を使う場合には以下の制限が適用されます:
.Bl -enum -offset indent
.It
.Pa シェルと GECOS 情報だけを変更できます。
たとえ
.Nm chpass
がスーパユーザによって起動された場合であってもです。
他のフィールドの変更がサポートされるようになっても、
他の NIS システムとの互換性の問題を引き起こすでしょう。
スーパユーザがあるエントリを編集している時に、
他のフィールドにデータを書いても、余分な情報として
(パスワードは例外 -- 以下を参照してください) だまって廃棄されるでしょう。
.Pp
例外: NIS マスタサーバ上のスーパユーザは、
任意のフィールドの変更が許されています。
.Pp
.It
.Pa パスワード認証が要求されます。
どのような変更を行う前にも
.Nm chpass
はユーザの NIS パスワードを要求します。もしパスワードが間違っていたら、
どのような変更も行われません。
.Pp
例外: NIS マスタサーバ上のスーパユーザはパスワード無しに変更要求できます。
(スーパユーザは、後述するように
.Fl o
フラグを指定する事によりこの仕様を無効にする事が選択できます。)
.It
.Pa 新しいレコードのローカルパスワードデータベースへの追加は勧められません。
NIS が動作しているときに、管理者が
.Nm chpass
によって新しいレコードをローカルのパスワードデータベースに追加可能です。
しかし、新しいレコードがマスタパスワードファイルの最後、
通常は NIS の特別な '+' エントリの後に追加されるため、
いくつかの混乱を招きかねません。
.Xr vipw 8
を使ってローカルのパスワードファイルを変更するべきです。
.Pp
NIS マスタサーバ上のスーパユーザによる
NIS パスワードマップへの新レコードの追加が許可されるのは、
.Xr rpc.yppasswdd 8
サーバが
.Fl a
フラグ付で起動された場合、すなわち追加を許可して起動された場合のみです
(通常は追加を拒否します)。
.Nm chpass
はデフォルトではローカルのパスワードデータベースを更新しようとします;
NIS マップを変更する場合には chpass を
.Fl y
フラグ付で起動してください。
.It
.Pa パスワードの変更は許可されていません。
ユーザが、自分の NIS のパスワードを変更するときには
.Xr passwd 1
.Xr yppasswd 1
を使うべきです。スーパユーザは新しいパスワードを指定することを許され
ています(たとえ、``Password:'' フィールドがエディタのテンプレートに
あらわれていなくても、スーパユーザは手動で加えることができます) 。
しかしながら、スーパユーザであってもユーザの元のパスワードがなければ
.Xr rpc.yppasswdd 8
が NIS マップの更新を拒否するでしょう。
.Pp
例外: NIS マスタサーバ上のスーパユーザは
.Nm chpass
を使用して、ユーザの NIS パスワードを変更する事が許されています。
.El
.Pp
.Nm chpass
が NIS をサポートしてコンパイルされたときに、数個の特別なフラグが有効
になります:
.Bl -tag -width flag
.It Fl l
.Fl l
フラグは、ローカルと NIS の両方のデータベースにユーザが存在していても、
ユーザのパスワード情報のローカルのコピーを修正することを
.Nm chpass
に強制します。
.It Fl y
このフラグは
.Fl l
と反対の効果があります。もし NIS が動作していれば、
デフォルトでは
.Nm chpass
は NIS のエントリを操作するので、
このフラグはまったく冗長です。
.It Fl d Ar domain
NIS ドメインを指定します。
.Nm chpass
はデフォルトではシステムのドメイン名を使用します。
これは
.Xr domainname 1
コマンドにて設定されています。
.Fl d
オプションは、
このデフォルトを上書きするため、
もしくはドメイン名が設定されていない場合にドメイン名を指定するために
使用できます。
.It Fl h Ar host
問い合わせるべき NIS サーバの名前もしくはアドレスを指定します。
通常
.Nm chpass
.Pa master.passwd
もしくは
.Pa passwd
マップにて指定される NIS マスタホストと通信します。
NIS クライアントとして構成されていないホスト上では、
この情報を決定するための方法がプログラムにはありませんので、
ユーザがサーバのホスト名を指定します。
指定するホスト名は NIS マスタサーバである必要が無い事に注意してください;
NIS ドメイン内のマスタサーバ名でもスレーブサーバ名でも良いのです。
.Pp
.Fl d
オプション使用時には、ホスト名のデフォルトは ``localhost'' です。
.Fl h
オプションを
.Fl d
とともに使用し、ユーザが指定するホスト名でこのデフォルトを上書きできます。
.Pp
.It Fl o
.Xr rpc.yppasswdd 8
に RPC ベースの更新を強制します(``旧モード'')。
NIS マスタサーバ上でスーパユーザにより起動された場合、
.Nm chpass
は専用の非 RPC ベースの機構を使用し、
NIS パスワードマップに対する無制限の変更を許可します
(この場合 UNIX ドメインソケットを使用します)。
.Fl o
フラグを使用する事により
.Nm chpass
に標準の更新メカニズムを使用させる事が出来ます。
このオプションは主にテスト目的のために提供されています。
.El
.Pp
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd -compact
.It Pa /etc/master.passwd
ユーザデータベース
.It Pa /etc/passwd
Version 7 フォーマットのパスワードファイル
.It Pa /etc/chpass.XXXXXX
パスワードファイルのテンポラリ用コピー
.It Pa /etc/shells
利用できるシェルのリスト
.El
.Sh 関連項目
.Xr finger 1 ,
.Xr login 1 ,
.Xr passwd 1 ,
.Xr getusershell 3 ,
.Xr passwd 5 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8
.Rs
.%A Robert Morris
and
.%A Ken Thompson
.%T "UNIX Password security"
.Re
.Sh 注釈
.Xr chfn 1 ,
.Xr chsh 1 ,
.Xr ypchpass 1 ,
.Xr ypchfn 1 ,
.Xr upchsh 1
コマンドは実際には
.Nm chpass
にリンクしているだけです。
.Sh バグ
ユーザ情報の保存はどこか他の場所にするべきです
(し、いつかはそうなるでしょう)。
.Sh 歴史
.Nm chpass
コマンドは
.Bx 4.3 Reno
から登場しました。
diff --git a/ja/man/man1/ci.1 b/ja/man/man1/ci.1
index eb08f520d0..1b8c1b0532 100644
--- a/ja/man/man1/ci.1
+++ b/ja/man/man1/ci.1
@@ -1,887 +1,887 @@
.\" jpman %Id: ci.1,v 1.2 1997/06/01 11:29:01 horikawa Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: ci.1,v 1.3 1996/02/12 04:56:44 mpp Exp %
+.Id %Id: ci.1,v 1.5 1997/02/22 15:47:18 peter Exp %
.ds i \&\s-1ISO\s0
.ds r \&\s-1RCS\s0
.ds u \&\s-1UTC\s0
.if n .ds - \%--
.if t .ds - \(em
.TH CI 1 \*(Dt GNU
.SH 名称
ci \- RCSファイルにリビジョンをチェックインする
.SH 書式
.B ci
.RI [ options ] " file " .\|.\|.
.SH 解説
.B ci
は \*r ファイルに新たなリビジョンを格納します。
引数のうち、\*r ファイルの拡張子形式に一致する
ファイル名を \*r ファイルとみなします。
それ以外のファイル名は、新たなリビジョンを含んだワークファイルとみなします。
.B ci
はワークファイルの内容を対応した \*r ファイルに格納します。
もしワークファイルのみが指定されたなら、
.B ci
はサブディレクトリ \*r、次にワークファイルがあるディレクトリの順に
対応する \*r ファイルを検索します。
詳細は後述の
.SM "ファイル名規則"
の項を参照してください。
.PP
.B ci
が動作するには、
.B ci
を起動したユーザが
\*r ファイルのアクセスリスト
に登録されているか、アクセスリストが空であるか、
ユーザが \*r ファイルの持ち主であるか、
あるいはスーパーユーザである必要があります。
すでに存在する枝(branch)に新しいリビジョンを追加するには、
枝の先端(tip)リビジョンが、
追加しようとするユーザによってロックされていなければなりません。
ロックされていない場合、新たな枝のみ作成可能です。
非厳格モード(
.BR rcs (1)
参照)の場合、
ファイルの所有者に対してはこの制限はありません。
他人が行っているロックは、
.B rcs
コマンドによって解除できます。
.PP
.B \-f
オプションが指定されていなければ、
.B ci
は追加しようとするリビジョンと直前のリビジョンとの比較を行います。
違いがなかった場合、新たなリビジョンを作成するかわりに、
ワークファイルを元のリビジョンのものに復元します。
復元するときには、ci はいったんワークファイルを削除し、
ロックを解除します。
.B "ci\ \-l"
はロックし、
.B "ci\ \-u"
はロックを解除します。
これらのオプションが指定されていれば、あたかも直前のリビジョンに対して
.B "co\ \-l"
または
.B "co\ \-u"
を実行したかのようにして直前のリビジョンの内容を取り出します。
復元が行われる場合、
.B \-n
.B \-s
オプションは復元されるリビジョンに対して作用します。
.PP
リビジョンを格納するときに、
.B ci
はログメッセージの入力を促すプロンプトを表示します。
ログメッセージは、そのリビジョンの変更点の要約です。
ファイル終端(EOF)あるいは、
ピリオド
.B \&.
のみからなる行によって入力を完了させます。
複数のファイルが登録される場合、
.B ci
は前に入力したログメッセージを
再利用するかどうかを聞いてきます。
もし標準入力が端末でなければ、
.B ci
は確認を行わず、
登録されるすべてのファイルに対して同じログメッセージを使用します。
.B \-m
オプションの項も参照してください。
.PP
もし \*r ファイルが存在しなければ、
.B ci
は新規に \*r ファイルを作成し、
ワークファイルの内容を初期リビジョン(デフォルトでは
.BR 1.1 )
として格納します。
その場合、アクセスリストは空に初期化されます。
初期リビジョンを格納するときは、
ログメッセージのかわりに
ファイルの内容を記述したテキストを入力します(後述の
.B \-t
オプションの項を参照してください)。
.PP
登録するリビジョン番号(
.I rev )
は、
.BR \-f ,
.BR \-i ,
.BR \-I ,
.BR \-j ,
.BR \-k ,
.BR \-l ,
.BR \-M ,
.BR \-q ,
.BR \-r ,
.B \-u
のオプションのうちのいずれかで指定することができます。
.I rev
はシンボル、数値、あるいは両者の組合せたものです。
.I rev
で使用するシンボル名は定義済みでなければなりません;
チェックイン時にシンボル名を割り当てる方法については
.B \-n
および
.B \-N
を参照して下さい。
もし
.I rev
.B $
ならば、
.B ci
はワークファイル中のキーワードからリビジョン番号を決定します。
.PP
もし
.I rev
がピリオドから始まる場合、デフォルトの枝(通常は幹(trunk))に格納されます。
もし
.I rev
が枝番号に続いてピリオドである場合、当該枝の最新のリビジョンが使用されます。
.PP
.I rev
がリビジョン番号の場合、
それは登録する枝のなかで最も大きな値である必要があります。
さもなければ、新しい枝を作成する必要があります。
.PP
.I rev
がリビジョン番号ではなく枝番号の場合、
その枝に対する新しいリビジョンが作成されます。
新しいリビジョン番号は、その枝の先端リビジョン番号に1を加えたものとなります。
もし
.I rev
が存在しない枝番号ならば、新たな枝が作成され、初期リビジョンとして
.IB rev .1
が作成されます。
.br
.ne 8
.PP
.I rev
が省略された場合、
.B ci
はユーザが行った最後のロックからリビジョン番号を決定します。
ユーザがある枝の先端リビジョンをロックしている場合は、
新たなリビジョンがその枝に追加されます。
新しいリビジョン番号は
先端リビジョン番号に 1 を加えたものになります。
ユーザが先端ではないリビジョンをロックしている場合は、
新たな枝が作成されます。
新たな枝番号は、ロック対象のリビジョンの
最も大きな枝番号に1を加えたものになります。
デフォルトでは、新たな枝やリビジョンの番号は
.B 1
となります。
.PP
.I rev
が省略され、ユーザがロックを行わず、そのファイルの所有者であり、
かつロックが
.I 非厳格モード
であるなら、
デフォルトの枝(通常は幹(trunk);
.BR rcs (1)
.B \-b
オプションの項を参照)に新たなリビジョンが作成されます。
.PP
例外: 幹(trunk)においてリビジョンを追加することはできますが、
途中に挿入することはできません。
.SH オプション
.TP
.BI \-r rev
リビジョン
.I rev
をチェックインします。
.TP
.B \-r
.B \-r
オプションをリビジョン抜きで使用した場合、
.B ci
にとって特別な意味が有ります。他の \*r コマンドでは
.B \-r
オプションを単体で使用するとデフォルト枝の最新のリビジョンを指定します。
しかし、
.B ci
ではロック解除、ワークファイル削除を行い、
シェルのエイリアスやスクリプトによりデフォルトとされてしまった
.B \-l
.B \-u
オプションの効果を打ち消します。
.TP
.BR \-l [\f2rev\fP]
.B \-r
と同様の動作を行ったあと、
.B "co\ \-l"
と同様の動作も行います。
すなわち、登録されたリビジョンは即座にロックされ、チェックアウトされます。
これは、リビジョンをチェックインしてさらに編集を続けたい場合に便利です。
.TP
.BR \-u [\f2rev\fP]
.B \-l
とほぼ同様の動作をしますが、登録されたリビジョンはロックされません。
これは、チェックインしたリビジョンの内容をすぐに参照したい場合に便利です。
.RS
.PP
.BR \-l
、リビジョン無し
.BR \-r ,
.B \-u
オプションは、最後に指定したもののみが効力を持ちます。
たとえば、
.B "ci\ \-u\ \-r"
.B "ci\ \-r"
と等価です。
リビジョン無し
.B \-r
.B \-u
に優先するからです。
.RE
.TP
.BR \-f [\f2rev\fP]
強制的に登録します。
直前のリビジョンとの違いがない場合にも、
新しいリビジョンとして登録します。
.TP
.BR \-k [\f2rev\fP]
リビジョン番号などをローカルに算出せずに、
ワークファイルからキーワードを探し、
リビジョン番号、作成日時、状態、作者(
.BR co (1)
を参照)を検索し、登録されるリビジョンに割り当てます。
さらに、
.B ci
を起動したユーザ名と実際にチェックインされた日付を含む
デフォルトのログメッセージを作成します。
本オプションは、配布されたソフトウェアを登録するのに便利です。
複数のサイトに配布されたリビジョンは、
元のリビジョン番号、作成日付、状態、作者を保存するために、
.B \-k
オプションを使って登録するべきです。
ワークファイルのキーワードから取り出した値とログメッセージは、
.BR \-d ,
.BR \-m ,
.BR \-s ,
.B \-w
や、他のリビジョン番号を生成するようなオプションにより
変更することができます。
.TP
.BR \-q [\f2rev\fP]
沈黙モードです。
診断メッセージを表示しません。
直前のリビジョンから変更がない場合、
.B \-f
オプションを指定していなければ、登録を行いません。
.TP
.BR \-i [\f2rev\fP]
最初のチェックイン; \*r ファイルが既に有る時にはエラー報告します。
特定のアプリケーションのレース状態を避けます。
.TP
.BR \-j [\f2rev\fP]
初期化を行わず、チェックインします;
\*r ファイルが無いとエラー報告します。
.TP
.BR \-I [\f2rev\fP]
対話モードで動作します。
たとえ標準入力が端末でなくても、ユーザに対して問い合わせを行います。
.TP
.BR \-d "[\f2date\fP]"
チェックイン日付として指定された
.I date
を用います。
.I date
.BR co (1)
で記述された自由形式で指定することができます。
これは、チェックイン日時をごまかしたい場合や、
日付キーワードがワークファイルにないにもかかわらず
.B \-k
オプションを使いたい場合に便利です。
.I date
が指定されなかった場合、ワークファイルの最終更新日付が用いられます。
.TP
.BR \-M [\f2rev\fP]
作成されるワークファイルの最終更新日付を、
取り出されたリビジョンの日付にします。
たとえば、
.BI "ci\ \-d\ \-M\ \-u" "\ f"
は、
.I f
の内容がキーワード置換により変更された場合も最終更新日時を変更しません。
本オプションを指定すると
.BR make (1)
に影響を与えるので、注意して使用する必要があります。
.TP
.BI \-m "msg"
チェックインするすべてのリビジョンのログメッセージとして
.I msg
を用います。
慣習的に
.B #
で始まるログメッセージはコメントであり、GNU Emacs の
.B vc
パッケージのようなプログラムはこれを無視します。
また、
.BI { clumpname }
(の後に空白が続く)ログメッセージは可能であればまとめられることを意味します。
それはたとえ別々のファイルに関連づけられていてもです;
.BI { clumpname }
ラベルは、まとめる目的でのみ使用されます。
それ自身はログメッセージであるとは見なされません。
.TP
.BI \-n "name"
チェックインしたリビジョンにシンボリック名
.I name
をつけます。
もし同じシンボリック名が別のリビジョンに割り当てられていた場合、
.B ci
はエラーメッセージを出力します。
.TP
.BI \-N "name"
.B -n
と同様の動作を行います。
ただし、同じシンボリック名が他のリビジョンに割り当てられていた場合は、
再割り当てを行います(こちらを優先します)。
.TP
.BI \-s "state"
チェックインされるリビジョンの状態を
.I state
とします。デフォルトは
.B Exp
(Experimental: 実験的)です。
.TP
.BI \-t file
\*r ファイル中の内容記述テキストをファイル
.I file
の内容で置き換えます。
すでに内容記述テキストがある場合はこれを削除します。ファイル名
.I file
.B \-
で始まってはいけません。
.TP
.BI \-t\- string
\*r ファイル中の内容記述テキストを文字列
.I string
で置き換えます。
すでに内容記述テキストがある場合は削除されます。
.RS
.PP
.B \-t
オプションは、どちらの形式で使う場合も、
最初のチェックイン時にしか意味を持ちません。
それ以外の場合は単に無視されます。
.PP
最初のチェックイン時に
.B \-t
オプションが指定されなかった場合、
.B ci
は標準
入力から内容記述テキストを読み込みます。
テキストは、ファイル終端(EOF)あるいはピリオド(
.Br \&.
)のみの行で終了します。
ユーザへの問い合わせが可能な場合には、
テキストの入力を促すプロンプトが表示されます(
.B \-I
オプション参照)。
.PP
旧バージョンとの互換性のため、引数のない
.B \-t
オプションは無視されます。
.RE
.TP
.B \-T
新しいリビジョンが存在し、
\*r ファイルの修正時刻が新しいリビジョンの時刻よりも古ければ、
\*r ファイルの修正時刻に対して新しいリビジョンの時刻を代入します;
そうでない場合は \*r ファイルの修正時刻は保たれます。
リビジョンをロックした場合は、
.B ci
は通常 \*r ファイルの修正時刻を現在の時刻に設定します。
なぜならロックが \*r ファイルに格納され、
ロックの削除は \*r ファイルの変更を要するからです。
\*r ファイルがワークファイルよりも新しくなる方法として 2 通り有ります:
まず、
.B "ci\ \-M"
は現在時刻以前の日付でワークファイルを作成します;
2 番目に、直前のバージョンを回復する時、
ワークファイルを変更しない場合にも \*r ファイルは変更され得ます。
\*r ファイルのワークファイルにおける
.BR make (1)
依存により、上記 2 ケースは過剰の再コンパイルという結果になり得ます。
.B \-T
オプションを使用することで、\*r ファイルの日付をごまかし、
再コンパイルを禁止します。
このオプションは注意して使って下さい;
あるワークファイルのチェックインが、
同じ \*r ファイルに関連づけられている別のワークファイルに影響を及ぼすべき
時でも、再コンパイルを抑制し得ます。
例えば、\*r ファイルの時刻を 01:00、
(変更された) ワークファイルの時刻を 02:00、
別のワークファイルのコピーの時刻を 03:00、
現在の時刻を 04:00 とします。
ここで、
.B "ci\ \-d\ \-T"
とすると、\*r ファイルの時刻は通常の 04:00 ではなく 02:00 になります;
この結果、
.BR make (1)
は別のコピーが \*r ファイルよりも新しいと(誤って)認識します。
.TP
.BI \-w "login"
指定された
.I login
をリビジョンの作者として登録します。
作者名をごまかしたい場合や、
作者キーワードがワークファイルにないにもかかわらず
.B -k
オプションを使いたい場合に便利です。
.BI \-V
\*r のリビジョン番号を表示します。
.TP
.BI \-V n
\*r システムのバージョン
.I n
のエミュレーションを行います。詳細は
.BR co (1)
を参照してください。
.TP
.BI \-x "suffixes"
\*r ファイルの拡張子を指定します。
拡張子が空ではない場合、
拡張子まで含めたすべてのパス名を \*r ファイル名であるとみなします。
拡張子が空の場合は、
.BI RCS/ path
または
.IB path1 /RCS/ path2
形式のものを \*r ファイル名であるとみなします。
本オプションの場合、
.B /
で区切ることにより、複数の拡張子を指定できます。たとえば、
.B \-x,v/
は、
.B ,v
と空の拡張子の 2 つの拡張子を持つ \*r ファイルを指定します。
複数の拡張子が指定された場合、指定された順に \*r ファイルを検索します。
最初に見つかったサフィックスが \*r ファイルに対して用いられます。
\*r ファイルを生成できるが、 \*r ファイルが見つからないときは、
これらのサフィックスを新しいファイル名に対して用います。
デフォルトの拡張子は、インストールされる環境により異なります。
UNIXのようなコンマをファイル名中に含めることの出来る計算機では、通常
.B \-x,v/
が、それ以外の計算機では空の拡張子が用いられます。
.TP
.BI \-z zone
キーワード置換での日付の出力書式の指定を行い、また、
.BI \-d date
オプションでの
.I date
のデフォルトのタイムゾーンの指定を行います。
.I zone
は、省略する事も、UTC からの数値差で指定する事も、特別な文字列
.B LT
を使ってローカル時間で指定する事もできます。
デフォルトでは
.I zone
は空であり、
この場合は伝統的な \*r フォーマット、
すなわちタイムゾーン無しの \*u であり日付をスラッシュで区切ります;
そうでない場合は時刻はタイムゾーン付の \*i 8601 フォーマットです。
例えば、ローカルタイムが 1990 年 1 月 11 日 太平洋標準時間
(\*u の 8 時間西)午後 8 時の場合、時間の出力は次のようになります:
.RS
.LP
.RS
.nf
.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u
.ne 4
\f2オプション\fP\f2時刻の出力\fP
\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(デフォルト)\fP
\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP
\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP
.ta 4n +4n +4n +4n
.fi
.RE
.LP
.B \-z
オプションは \*r ファイルに格納されている日付(常に \*u です)には影響しません。
.SH "ファイル名規則"
\*r ファイルとワークファイルの組合せは3通りの方法で指定することができます。
(使用例の項目も参照してください。)
.PP
1) \*r ファイルとワークファイルの両方を指定する。
\*r ファイルのパス名は
.IB path1 / workfileX
形式、ワークファイルのパス名は
.IB path2 / workfile
形式をとります。この場合の
.IB path1 /
.IB path2 /
はパス(異なるパスや、空でも可)を示し、
.I workfile
はファイル名、
.I X
は \*r ファイルの拡張子です。もし
.I X
が空なら、
.IB path1 /
.B RCS/
で始まるか、
.B /RCS/
を含まねばなりません。
.PP
2) \*r ファイルのみを指定する。
ワークファイルがカレントディレクトリに作成され、\*r ファイル名から
.IB path1 /
と拡張子
.I X
を取り除いたファイル名になります。
.PP
3) ワークファイルのみを指定する。
.B ci
はまず、各 \*r 拡張子
.I X
に対して、
.IB path2 /RCS/ workfileX
形式の名前で検索を行います。
さらに、(もしこれが見つからず、
.I X
が空でなければ、)
.IB path2 / workfileX
を検索します。
.PP
1) または 2) の方法で \*r ファイルが指定されていない場合、
.I ci
はまずディレクトリ
.B ./RCS
を検索し、次にカレントディレクトリを検索します。
.PP
異常により \*r ファイルのオープンに失敗すると、
.I ci
はエラー報告します。
他に \*r ファイルのパス名の候補があってもです。
たとえばディレクトリ
.I d
で \*r コマンドを利用できないようにするには、
.IB d /RCS
なる名前の通常ファイルを作成しておきます。
すると、\*r コマンドは
.IB d /RCS
をディレクトリとしてオープンしようとしますが、
ディレクトリではないのでオープンすることができず失敗します。
.SH 使用例
\*r 拡張子が
.B ,v
、カレントディレクトリには \*r ファイルを含む
.B RCS
というサブディレクトリがあり、
.B io.c,v
があると仮定します。
ここで、以下に示したコマンドを実行すると、
どれもカレントディレクトリにある
.B io.c
.B RCS/io.c,v
にチェックインし、
.B io.c
を削除します。
.LP
.RS
.nf
.ft 3
ci io.c; ci RCS/io.c,v; ci io.c,v;
ci io.c RCS/io.c,v; ci io.c io.c,v;
ci RCS/io.c,v io.c; ci io.c,v io.c;
.ft
.fi
.RE
.PP
\*r 拡張子が空、カレントディレクトリには \*r ファイルを含む
.B RCS
というサブディレクトリがあり、
.B io.c
があると仮定します。ここで以下に示すコマンドは、どれも新しい
リビジョンのチェックインを行います。
.LP
.RS
.nf
.ft 3
ci io.c; ci RCS/io.c;
ci io.c RCS/io.c;
ci RCS/io.c io.c;
.ft
.fi
.RE
.SH "ファイルモード"
.B ci
が作成した \*r ファイルは、
ワークファイルの読み込みと実行の許可属性を受け継ぎます。
すでに \*r ファイルが存在すれば、
.B ci
はその読み込みと実行の許可属性を保持します。
.B ci
は、つねに \*r ファイルの書き込み許可属性を不許可にします。
.SH 関連ファイル
いくつかの一時ファイルが、ワークファイルの存在するディレクトリまたは
一時ディレクトリ(環境変数の項の
.B \s-1TMPDIR\s0
参照)に作成されます。
セマフォファイル等のファイルが
\*r ファイルが存在するディレクトリに作成されます。
空ではない拡張子を用いている場合、
セマフォファイル名の先頭文字には、
拡張子の先頭文字と同じ文字が用いられます;
よって、拡張子として、ワークファイルの拡張子の先頭文字と同じ文字を
指定しないように注意してください。
空の拡張子を指定している場合、
セマフォファイル名の最後の文字がアンダースコア(
.B _
) となります。
.PP
.B ci
は、 \*r ファイルやワークファイルを変更しません。通常
.B ci
はそれらのファイルをアンリンクし、新しいファイルを作成します;
ただし、\*r ファイルへのシンボリックリンクの鎖を壊す代わりに、
目的のファイルをアンリンクします。
よって、
.B ci
は変更されるワークファイルへの
ハードリンク、シンボリックリンクを全て壊します;
さらに、\*r ファイルへのハードリンクは無効となり、
シンボリックリンクは保存されます。
.PP
実効ユーザは、\*r ファイルを含むディレクトリの
検索および書き込み権を持っていなければなりません。
通常実ユーザは、 \*r ファイルとワークファイルの読み込み許可と、
それらを含むディレクトリの検索および書き込み権を持っていなければなりません。
しかし、古い計算機のなかには実ユーザと実効ユーザの間を
容易に行き来することができないものもあります。
これらの計算機では、実効ユーザのみが利用されます。
.B ci
.B co
のコピーに setuid が設定されていなければ、
実ユーザと実効ユーザは同一です。
次節で説明するように、
もし実効ユーザが全 \*r ファイルとそれを含むディレクトリを所有し、
実効ユーザのみが \*r ディレクトリに書き込めるように設定できるなら、
\*r ファイルのセキュリティを強化することが可能です。
.PP
ユーザは \*r ファイルを含むディレクトリの許可属性を変更することで、
\*r ファイルに対するアクセスを制限できます;
そのディレクトリに書き込み権のあるユーザだけが、
\*r ファイルを変更する \*r コマンドを使用することができます。
たとえば、ユーザが複数のグループに属することが出来る計算機では、
\*r ディレクトリをあるグループのみが書き込み権を持つように設定します。
これは、略式のプロジェクトでは十分ですが、
グループに所属するユーザが自由に \*r ファイルを変更することができ、
\*r ファイルすべてを削除することもできます。
そのため、正式なプロジェクトでは、
\*r ファイルを自由に操作きる \*r 管理者と、
新たなリビジョンをチェックインすること以外の操作はできない他のユーザとを、
区別することがあります。
.SH SETUID の使用
\*r 管理者以外のユーザがリビジョンを削除できないようにするには、
以下のように setuid 特権を使用することができます。
.nr n \w'\(bu'+2n-1/1n
.ds n \nn
.if \n(.g .if r an-tag-sep .ds n \w'\(bu'u+\n[an-tag-sep]u
.IP \(bu \*n
その計算機で \*r にて setuid が使用できるか確認します。
疑問があるときは、信頼できる専門家に意見を聞いてください。
最も良いのは、
.B seteuid()
システムコールが Posix 1003.1a Draft 5 に
記述されているように動作することです。
なぜなら、実ユーザが
.BR root
であっても、\*r は実ユーザと実行ユーザを簡単に切替えることができるからです。
その次に良いのは、
.B setuid()
システムコールが saved setuid
(Posix 1003.1-1990の {\s-1_POSIX_SAVED_IDS\s0} の動作)を
サポートしている場合です;
この場合、実ユーザもしくは実効ユーザが
.BR root
である時のみ失敗します。
\*r は setuid に失敗すると、ただちに終了します。
.IP \(bu \nn
ユーザグループの \*r 管理者として、ユーザ
.I A
を選びます。
.I A
だけが、\*r ファイルに対して
.B rcs
コマンドを実行することができます。
.I A
.B root
や、特権を持ったユーザであってはいけません。
相互に異なるユーザグループには、異なる管理者を使用するべきです。
.IP \(bu \nn
ユーザが実行するファイルのディレクトリに、パス名
.I B
を選びます。
.IP \(bu \nn
以下のように、通常のインストールディレクトリ
.I D
から、
.B ci
.B co
.I B
にコピーし、
.I A
へ setuid します:
.LP
.RS
.nf
.ne 3
\f3mkdir\fP \f2B\fP
\f3cp\fP \f2D\fP\^\f3/c[io]\fP \f2B\fP
\f3chmod go\-w,u+s\fP \f2B\fP\f3/c[io]\fP
.fi
.RE
.IP \(bu \nn
以下のように、各ユーザのパスに
.I B
を加えます:
.LP
.RS
.nf
.ne 2
\f3PATH=\fP\f2B\fP\f3:$PATH; export PATH\fP # ordinary shell
\f3set path=(\fP\f2B\fP \f3$path)\fP # C shell
.fi
.RE
.IP \(bu \nn
以下のように、
.I A
だけが書き込み許可を持つ \*r ディレクトリ
.I R
を作成します:
.LP
.RS
.nf
.ne 2
\f3mkdir\fP \f2R\fP
\f3chmod go\-w\fP \f2R\fP
.fi
.RE
.IP \(bu \nn
特定のユザーだけに \*r ファイルの読み込みを許可したい場合、
そのユーザをユーザグループ
.IR G
に入れて、さらに
.I A
が以下のように、\*r ディレクトリを保護します:
.LP
.RS
.nf
.ne 2
\f3chgrp\fP \f2G R\fP
\f3chmod g\-w,o\-rwx\fP \f2R\fP
.fi
.RE
.IP \(bu \nn
(存在すれば)古い \*r ファイルを
.IR R
にコピーし、
.I A
が所有であることを保証します。
.IP \(bu \nn
\*r ファイルのアクセスリストは、
リビジョンをチェックインおよびロックできるユーザを制限します。
デフォルトのアクセスリストは空で、
\*r ファイルを読むことのできる全てのユーザに、登録の権限を与えます。
チェックインを制限したい場合は、
.I A
がそのファイルに対して
.B "rcs\ \-a"
を実行します;
.BR rcs (1)
を参照してください。
特に
.BI "rcs\ \-e\ \-a" A
は、
.IR A
だけにアクセスを制限します。
.IP \(bu \nn
初めてチェックインを行う前に、
.I A
.B "rcs\ \-i"
によって新しい \*r ファイルを初期化します。
チェックインを制限したい場合、
.B \-a
オプションを付け加えます。
.IP \(bu \nn
setuid 特権は、
.BR ci ,
.BR co ,
.BR rcsclean
のみに与えます;
.B rcs
や他のコマンドに、setuid 特権を与えてはなりません。
.IP \(bu \nn
\*r コマンドに対して、他の setuid コマンドを実行しないでください。
setuid はあなたが考えるより扱いにくいものです。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
本変数に空白で区切ったオプションを設定することで、
コマンドライン引数に先立って処理されます。
空白はバックスラッシュによってエスケープすることができます。
.B \s-1RCSINIT\s0
はほとんどの \*r コマンドで参照されます。特に
.BR \-q ,
.BR \-V ,
.BR \-x ,
.B \-z
オプションを指定しておくと便利です。
.TP
.B \s-1TMPDIR\s0
一時ディレクトリ名を指定します。
設定されていない場合は、環境変数
.B \s-1TMP\s0
.B \s-1TEMP\s0
とを調べ、始めに見つかった値を用います;
どれも設定されていない場合は、
計算機依存のデフォルトのディレクトリ(たいていは
.B /tmp
)を使用します。
.SH 診断
各リビジョンに対して、
.I ci
は \*r ファイル名、ワークファイル名、追加するリビジョン番号、直前の
リビジョン番号を表示します。全ての処理が成功した場合のみ、
終了ステータスが 0 になります。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 by Paul Eggert.
.SH 関連項目
co(1),
ident(1), make(1), rcs(1), rcsclean(1), rcsdiff(1),
rcsintro(1), rcsmerge(1), rlog(1), setuid(2), rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.br
diff --git a/ja/man/man1/cksum.1 b/ja/man/man1/cksum.1
index 8e0f6ac345..d868b2cbca 100644
--- a/ja/man/man1/cksum.1
+++ b/ja/man/man1/cksum.1
@@ -1,188 +1,188 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)cksum.1 8.2 (Berkeley) 4/28/95
-.\" %Id: cksum.1,v 1.1.1.1.8.6 1997/11/09 16:11:13 obrien Exp %
+.\" %Id: cksum.1,v 1.7 1997/11/09 16:08:11 obrien Exp %
.\" jpman %Id: cksum.1,v 1.4 1997/08/10 18:27:42 horikawa Stab %
.\"
.Dd April 28, 1995
.Dt CKSUM 1
.Os BSD 4.4
.Sh 名称
.Nm cksum
.Nd ファイルのチェックサムとブロックカウントを表示する
.Sh 書式
.Oo
.Fl o Ar \&1 Xo
.No \&|
.Ar \&2
.No \&|
.Ar \&3
.Xc
.Oc
.Op Ar file ...
.Nm sum
.Op Ar file ...
.Sh 解説
.Nm cksum
ユーティリティは、各入力ファイルに対して、
空白で区切られた 3 つのフィールドを標準出力に出力します。
これら 3 フィールドはそれぞれ、
チェックサム
.Tn CRC
、ファイル中のオクテット数、そしてファイル名です。
ファイルが一つも指定されない場合は標準入力が用いられ、
ファイル名は表示されません。
.Pp
.Nm sum
ユーティリティは
.Nm cksum
ユーティリティと同じですが、
以降で解説するデフォルトで歴史的アルゴリズム 1 を使用する点が異なります。
互換性のためだけに提供されています。
.Pp
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl o
デフォルトの(より優れた)アルゴリズムに代えて、
歴史的なアルゴリズムを用います。
.Pp
アルゴリズム 1 は
.Xr sum 1
のアルゴリズムとして歴史的な
.Bx
システムにおいて、また、
.Fl r
オプション付きで用いる場合の
.Xr sum
アルゴリズムとして歴史的な
.At V
システムにおいて用いられてきたものです。
これは加算のたびに右ローテーションを行う 16 ビットチェックサムであり、
算出あふれは無視されます。
.Pp
アルゴリズム 2 はデフォルトの
.Xr sum
アルゴリズムとして歴史的な
.At V
システムで用いられてきたものです。
これは 32 ビットのチェックサムであり、以下のように定義されます:
.Bd -unfilled -offset indent
s = sum of all bytes;
r = s % 2^16 + (s % 2^32) / 2^16;
cksum = (r % 2^16) + r / 2^16;
.Ed
.Pp
アルゴリズム 3 は一般に
.Ql 32bit CRC
アルゴリズムと呼ばれているものです。これは 32-bit チェックサムです。
.Pp
アルゴリズム 1, 2 のいずれも、デフォルトアルゴリズムと同じフィールドを
標準出力に書き出します。
ただし、ファイルサイズはバイト単位ではなくブロック単位となります。
歴史的理由から、アルゴリズム 1 ではブロックサイズは 1024、
アルゴリズム 2 では 512 となっています。
ブロックに満たない部分は切り上げられます。
.El
.Pp
デフォルトで用いられる
.Tn CRC
は、
ネットワークの規格
.St -iso8802-3
における
.Tn CRC
エラーチェックに用いられる多項式に基づいています。
.Tn CRC
チェックサムエンコーディングは、次の生成多項式で定義されます:
.Pp
.Bd -unfilled -offset indent
G(x) = x^32 + x^26 + x^23 + x^22 + x^16 + x^12 +
x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1
.Ed
.Pp
数学的には、与えられたファイルに対応する
.Tn CRC
値は次の手順で定義されます。
.Bd -filled -offset indent
評価される
.Ar n
ビットは、2 を法とする
.Ar n Ns \-1
次多項式 M(x) の係数とみなされます。
これらの
.Ar n
ビットはファイルから得られますが、
ファイルの最初のオクテットの最上位ビットを最上位、
最後のオクテットの最下位ビットを最下位とします。
(必要なら)ゼロビットを埋めてオクテット単位に取りまとめ、
ファイルの長さをバイナリ値で表現した 1 個あるいは
それ以上のオクテット(最下位オクテットが先)がそれに続きます。
この整数を表現可能な最小個数のオクテットが用いられます。
.Pp
M(x) は x^32 倍(すなわち 32 ビットの左シフト)し、
2 を法として G(x) で割ります。
その結果 31 次以下の剰余 R(x) が得られます。
.Pp
R(x) の係数は 32 ビットのビット列と見なされます。
.Pp
そのビット列を反転した結果が CRC です。
.Ed
.Pp
.Nm cksum
および
.Nm sum
ユーティリティは成功時には 0 を、エラー発生時には正の値を返します。
.Sh 関連項目
.Xr md5 1
.Rs
デフォルトの計算方法は、次の
.Tn ACM
論文で疑似コードを用いて記述されているものと等価です。
.Rs
.%T "Computation of Cyclic Redundancy Checks Via Table Lookup"
.%A Dilip V. Sarwate
.%J "Communications of the \\*(tNACM\\*(sP"
.%D "August 1988"
.Re
.Sh 規格
.Nm cksum
ユーティリティは
.St -p1003.2-92
を満していると考えられています。
.Sh 歴史
.Nm cksum
ユーティリティは
.Bx 4.4
から登場しました。
diff --git a/ja/man/man1/cmp.1 b/ja/man/man1/cmp.1
index 8f5ad873ad..0e4c9e1c90 100644
--- a/ja/man/man1/cmp.1
+++ b/ja/man/man1/cmp.1
@@ -1,111 +1,111 @@
.\" Copyright (c) 1987, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)cmp.1 8.1 (Berkeley) 6/6/93
-.\" %Id: cmp.1,v 1.2.2.2 1998/05/26 00:40:10 steve Exp %
+.\" %Id: cmp.1,v 1.6 1998/05/26 00:39:12 steve Exp %
.\" jpman %Id: cmp.1,v 1.2 1997/03/26 15:40:44 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt CMP 1
.Os
.Sh 名称
.Nm cmp
.Nd 2 つのファイルを比較する
.Sh 書式
.Nm cmp
.Op Fl l | Fl s
.Ar file1 file2
.Op Ar skip1 Op Ar skip2
.Sh 解説
.Nm cmp
ユーティリティは、2つのファイル内容を比較して、その結果を標準出力に出力します。
ファイル内容が一致していれば、デフォルトでは
.Nm cmp
は何も表示しません。ファイル内容に違いがあった場合は、最初に
違いが見つかった場所の、
バイト位置と行番号を出力します。
.Pp
バイト位置と行番号は、1 から数え始めます。
.Pp
オプションは以下のものがあります:
.Bl -tag -width Ds
.It Fl l
全ての違いに対し、
違いのあった場所のファイル先頭からのバイト位置 (10進数表現) と、
各々のファイル中の値 (8進数表現) を表示します。
.It Fl s
何も表示しないようにします。結果は終了コードにのみ反映されます。
.El
.Pp
.Ar file1
.Ar file2 ,
の開始バイト位置を
.Ar skip1
.Ar skip2
を使って、各々指定して比較することができます。
この値は 10 進数表記がデフォルトで、先頭に ``0x'' か ``0'' があると、
16 進数や 8 進数表現と解釈されます。
.Pp
.Nm cmp
は、戻り値として以下の値のうちの一つをとります:
.Bl -tag -width 4n
.It 0
ファイル内容が一致した。
.It 1
ファイル内容に違いがあったか、どちらかのファイルが先に
ファイルエンドに達した。
後者の場合、
.Fl s
オプションが指定されていない場合には、
.Nm cmp
は、短い方のファイルで(違いが見付かる前に)
EOF に到達したことを標準エラー出力に出力します。
.It >1
エラーが起きた。
.El
.Sh 関連項目
.Xr diff 1 ,
.Xr diff3 1
.Sh 規格
.Nm cmp
.St -p1003.2
準拠です。
.Sh 歴史
.Nm cmp
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/co.1 b/ja/man/man1/co.1
index 0e4b4e8b6f..942e1564b0 100644
--- a/ja/man/man1/co.1
+++ b/ja/man/man1/co.1
@@ -1,743 +1,743 @@
.\" jpman %Id: co.1,v 1.2 1997/06/01 11:30:43 horikawa Stab %
.de Id
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: co.1,v 1.3 1995/10/28 21:49:11 peter Exp %
+.Id %Id: co.1,v 1.5 1997/02/22 15:47:21 peter Exp %
.ds i \&\s-1ISO\s0
.ds r \&\s-1RCS\s0
.ds u \&\s-1UTC\s0
.if n .ds - \%--
.if t .ds - \(em
.TH CO 1 \*(Dt GNU
.SH 名称
co \- RCS ファイルからリビジョンをチェックアウトする
.SH 書式
.B co
.RI [ options ] " file " .\|.\|.
.SH 解説
.B co
は、各 \*r ファイルからリビジョンを取り出し、
対応したワークファイルに格納します。
.PP
\*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、
その他のファイル名はワークファイルであるとみなします。
ファイル名の対応に関しては、
.BR ci (1)
を参照してください。
.PP
\*r ファイルのリビジョンは、ロックしてもしなくともチェックアウトできます。
リビジョンをロックすることにより、
同時に複数の更新が行われることを防止します。
内容を表示したり、読むだけの処理(たとえば、コンパイル)で用いたりする場合は
ロックする必要はありません。
編集し後にチェックインするつもりで \*r ファイルから取り出す場合は、
通常、ロックしなければなりません。
他のユーザによってロックされているリビジョンを
ロックしてチェックアウトしようとするとエラーになります(ロックは
.BR rcs (1)
によって解除することができます)。
更に、リビジョンをロックしてチェックアウトするには、
チェックアウトする人が \*r ファイルのアクセスリストに登録されているか、
そのファイルの所有者もしくはスーパユーザであるか、
アクセスリストが空である必要が有ります。
ロックしないで取り出す場合は、
アクセスリストや他人のロックに影響されることはありません。
.PP
取り出されるリビジョンを、リビジョン番号、枝番号、
チェックイン日時、作者、状態によって指定するオプションが存在します。
複数のオプションが組み合わされて指定された場合、
.B co
はすべての条件に合致するリビジョンのうちで最新のものを取り出します。
リビジョン指定オプションが指定されなかった場合、
.B co
は、デフォルト枝(通常は幹:
.BR rcs (1)
.B \-b
オプションの項を参照)の最新のリビジョンを取り出します。
リビジョン番号あるいは枝番号は、
以下のオプションを使って指定することができます:
.BR \-f ,
.BR \-I ,
.BR \-l ,
.BR \-M ,
.BR \-p ,
.BR \-q ,
.BR \-r ,
.B \-u
オプション
.B \-d
(日時)、
.B \-s
(状態)、
.B \-w
(作者)は、単一の枝から取り出します。
この枝は
.I 選択された
枝であり、
.BR \-f ,
\&.\|.\|.,
.B \-u
オプションもしくはデフォルト枝により指定されます。
.PP
リビジョンを 1 つも持たない \*r ファイルに対して
.B co
コマンドを適用すると、長さ 0 のワークファイルが作成されます。
.B co
は、つねにキーワード置換を行います
(下記参照)。
.SH オプション
.TP
.BR \-r [\f2rev\fP]
リビジョン番号
.I rev
以前(
.I rev
と同じものも含む)で最新のリビジョンを取り出します。
.I rev
がリビジョンではなく枝を指定している場合、その枝上の最新
のリビジョンが取り出されます。
.I rev
が省略された場合、デフォルト枝
(
.BR rcs (1)
.B \-b
オプションの項を参照)の最新のリビジョンが取り出されます。
.I rev
.B $
の場合、
.B co
はリビジョン番号をワークファイルのキーワードから
取り出します。これら以外の場合、
.I rev
はリビジョンを示すピリオドで区切られた数字またはシンボルの列です。
.I rev
がピリオドで始まる場合、デフォルトの枝(通常は幹)が設定されます。
.I rev
がピリオドを後ろに付けた枝番号であるならば、
その枝の最新のリビジョンが使われます。
シンボルは、
.BR ci (1)
.BR rcs (1)
によりリビジョン番号と結びつけることができます。
.TP
.BR \-l [\f2rev\fP]
.B \-r
と同様の動作ですが、取り出したリビジョンを呼び出したユーザにてロックします。
.TP
.BR \-u [\f2rev\fP]
.B \-r
と同様の動作ですが、取り出したリビジョンが呼び出したユーザによって
ロックされていたならば、そのロックを解除します。
.I rev
が省略された場合、
.B co
を起動したユーザがロックしたリビジョンが 1 つあれば、
そのリビジョンを取り出します;
そうでなければ、デフォルト枝の最新のリビジョンを取り出します。
.TP
.BR \-f [\f2rev\fP]
ワークファイルの上書きを強制します;
後述の
.B \-q
オプションを使用する場合、いっしょに
.B \-f
オプションも
指定すると便利な場合があります。
.SM "ファイルモード"
の項も参照してください。
.TP
.B \-kkv
ワークファイルにデフォルト形式のキーワード文字列を埋め込みます。たとえば、
キーワード
.B Revision
に対しては、文字列
.B "$\&Revision: \*(Rv $"
を生成します。
.B "ci\ \-l"
.B "co\ \-l"
でファイルがロックされる時のみ、
.BR Header ,
.BR Id ,
.B Locker
キーワードにロック者名を挿入します。これがデフォルトの動作です。
.TP
.B \-kkvl
.B \-kkv
とほぼ同様ですが、指定されたリビジョンがロックされていた場合にはいつも、
ロック者名を挿入します。
.TP
.BR \-kk
キーワード文字列中のキーワード名のみの文字列を生成し、値は省略します。
後述の
.SM "キーワード置換"
を参照して下さい。
たとえば、キーワード
Revision に対しては、通常の
.B "$\&Revision: \*(Rv $"
のかわりに、
.B "$\&Revision$"
を生成します。これは、異なるリビジョンの内容を比較する場合、キーワード
値の違いを無視できるので、便利です。
.B -kk
が指定されても、キーワード
.B "$\&Log$"
の後にはログメッセージが挿入されます。これはリビジョンを統合する変更に、
より便利であることを意図しています。
.TP
.BR \-ko
チェックインされる前の
ワークファイル中のキーワード文字列をそのまま出力します。たとえば、
キーワード
.B "$\&Revision$"
に対しては、
チェックインされる前に展開されていた文字列
.B "$\&Revision: 1.1 $"
が、
.B "$\&Revision: \*(Rv $"
の代わりに展開されます。
キーワード文字列の形式を取るバイト列が置換されてしまっては困るような
場合(訳注:バイナリファイル等)に便利でしょう。
.TP
.BR \-kb
元のキーワード文字列のバイナリイメージを生成します。これは、
.B \-ko
とほぼ同じですが、入出力する全てのワークファイルをバイナリモードで
扱う点が違います。これは、Posix と Unix のホスト間ではたいした違いでは
ありません。が、DOS のようなシステムではバイナリファイルを扱う場合、
\*r ファイルの初期化には
.B rcs \-i \-kb
を使わねばならないでしょう。
また、全ての環境において、
.BR rcsmerge(1)
は通常、
.B \-kb
が働いている場合はファイルの統合を受け付けません。
.TP
.BR \-kv
キーワード文字列としてキーワード値のみを生成します。たとえば、キーワード
.B Revision
に対して、通常の
.B "$\&Revision: \*(Rv $"
のかわりに
.B \*(Rv
を生成します。
これは、キーワード文字列から
.B "$\&Revision: $"
のようなキーワード区切りを取
り除くことが困難なプログラミング言語用のファイル等を生成するために
使用します。しかしながら、キーワード名が取り除かれてしまうと、それ以降に
キーワード置換を行うことができないので、注意が必要です。
キーワードを失うことはこのように危険であるため、本オプションを
.B \-l
オプションと組み合わせて使うことはできません。また、ワークファイルの
書き込み権はオフになります;
後でワークファイルを編集する場合は、
.B \-kv
オプションを指定せずにワークファイルを取り出してから行います。
.TP
.BR \-p [\f2rev\fP]
ワークファイルに格納する代わりに、
対象となるリビジョンを標準出力に書き出します。
.B co
をパイプの一部として使用する場合に便利です。
.TP
.BR \-q [\f2rev\fP]
静かなモード; 診断メッセージを表示しません。
.TP
.BR \-I [\f2rev\fP]
対話モード; たとえ標準入力が端末でなくても、ユーザに対して
問い合わせを行います。
.TP
.BI \-d date
選択された枝上の、
.I date
以前の登録日付を持つ、最新のリビジョンを取り出します。
日付と時刻は自由形式で指定します。タイムゾーンとして
.B LT
を指定することにより、ローカルタイムを使用することができます;
他の一般的なタイムゾーンも使用することができます。
たとえば、以下に挙げるいくつかの
.I date
指定は、
太平洋標準時における 1990 年 1 月 11 日午後 8 時と同時刻を示します
(太平洋標準時は標準時 (\*u) よりも 8 時間遅れです)。
.RS
.LP
.RS
.nf
.ta \w'\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP 'u
.ne 9
\f38:00 pm lt\fP
\f34:00 AM, Jan. 12, 1990\fP デフォルトは \*u
\f31990-01-12 04:00:00+00\fP \*i 8601 (\*u)
\f31990-01-11 20:00:00\-08\fP \*i 8601 (ローカル時刻)
\f31990/01/12 04:00:00\fP 伝統的 \*r 形式
\f3Thu Jan 11 20:00:00 1990 LT\fP \f3ctime\fP(3) + \f3LT\fP出力
\f3Thu Jan 11 20:00:00 PST 1990\fP \f3date\fP(1)出力
\f3Fri Jan 12 04:00:00 GMT 1990\fP
\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP インターネット RFC 822
\f312-January-1990, 04:00 WET\fP
.ta 4n +4n +4n +4n
.fi
.RE
.LP
ほとんどの日付の項目にはデフォルト値があります。
デフォルトのタイムゾーンは \*u です。
これは
.B \-z
オプションにて優先指定することが出来ます。
他のデフォルト値は、年、月、日、時、分、秒 の順番で決定されます。
これらの項目のうち、少なくとも 1 つが指定されなければいけません。
指定のある項目よりも先に決定される項目が省略されている場合には、
タイムゾーンにおける現在の値を使用します。
他の省略されたフィールドには最小値が採用されます。
たとえば、
.B \-z
無しの
.B "20, 10:30"
の場合は、\*u タイムゾーンの現在の年月の 20 日 10:30:00 \*u が採用されます。
日付の指定に空白が含まれる場合には、
日付の指定をクオートでくくる必要があることに注意してください。
.RE
.TP
.BR \-M [\f2rev\fP]
作成されるワークファイルの最終更新日付を、取り出されるリビジョンの日付に
します。本オプションを指定すると
.BR make (1)
が正しく動作しなくなるので、注意して使用する必要があります。
.TP
.BI \-s state
選択された枝上の、状態
.I state
を持つ最新のリビジョンを取り出します。
.TP
.BR \-T
\*r ファイルの変更日付を変更しません。
ロックされたりロック解除されたりして \*r ファイルが変更された場合でもです。
このオプションは、コピーした \*r ファイルのワークファイルを使って
.BR make (1)
をかける際に再コンパイルをさせたくない場合に便利でしょう。
このオプションは必要であるにもかかわらず再コンパイルを行なわないことに
なってしまう場合があるので注意が必要です。
それは、ロックの変更が別のワークファイルのキーワード文字列の変更を行う時です。
.TP
.BR \-w [\f2login\fP]
選択された枝上の、ユーザ名
.I login
によって登録された最新のリビジョンを取り出します。
.I login
が省略された場合は、
.B co
を起動したユーザ名を使います。
.TP
.BI \-j joinlist
.I joinlist
で指定されたリビジョンを結合した新しいリビジョンを作成します。
本オプションは、旧バージョンとの互換性のために残されています。
通常、リビジョンの結合には
.BR rcsmerge (1)
を用います。
.RS
.PP
.I joinlist
.IB rev2 : rev3
形式のリビジョンの対をコロンで区切って並べたリストです。
ここで、
.I rev2
.I rev3
は(シンボリックまたは数字の)リビジョン番号です。
以下の説明で、
.I rev1
は以下のリビジョンを示します: (1) joinlist に列挙さ
れた対のうち、最初のものは、上記の
.BR \-f ,
\&.\|.\|.,
.B \-w
オプションによって選択されたリビジョンです。
(2) それ以外の対に対しては、直前の対から作成されたリビジョン
(すなわち、1 つの対によって作成されたリビジョンは次の結合
のための入力となります)。
.PP
それぞれの対に対して、
.B co
.I rev1
.I rev3
.I rev2
と比較しながら結合します。つまり、
.I rev2
.I rev1
と同一にするための変更を、
.I rev3
のコピーに対して適用します。
.I rev2
を同一の祖先とする 2 つの枝の末端のリビジョン
.I rev1
.I rev3
を結合するのによく用いられます。もし、3 つのリビジョンが同一の
枝上にあり、リビジョン番号が
.IR rev1 < rev2 < rev3
ならば、結合の結果は、
.I rev3
の内容のうち、
.I rev1
から
.I rev2
への変更を無効にしたものになります。
もし、
.I rev2
から
.I rev1
への変更が
.I rev2
から
.I rev3
への変更と重複している
なら、
.B co
.BR merge (1)
に示したような報告を行います。
.PP
最初に指定する対では
.I rev2
を省略することができます。この場合は、
.I rev1
.I rev3
の共通の祖先
.ig
/*?-> 共通の祖先リビジョン以外に言いかたを思いつきません
共通の祖先リビジョンで良いと思います(horikawa@jp.freebsd.org)
共通の祖先リビジョン
| | |
revX rev3 revY
|
rev1
*/
..
リビジョンを
.I rev2
として使用します。もし、いずれかの引数
がリビジョンではなく枝を示しているなら、その枝上の最新のリビジョンが用
いられます。同時に
.B \-l
オプションや
.B \-u
オプションを指定すると、
.I rev1
がロックまたはロック解除されます。
.RE
.TP
.BI \-V
\*r's のバージョン番号を表示します。
.TP
.BI \-V n
バージョン
.I n
の \*r システムの動作をエミュレートします。
.I n
.BR 3 ,
.BR 4 ,
.B 5
のいずれかです。これは、古い \*r を使っているユーザと \*r ファイルを交
換するときに便利です。使用している \*r がどのバージョンかを調べるには、
.BR "rcs \-V"
を実行します; これは最近のバージョンの \*r では動作します。
これが動作しない場合は適当な \*r ファイルに対して
.B rlog
を起動します; 最初の数行に文字列
.B branch:
がなければ、それはバージョン 3 です;
また、日付に現れる年が 2 桁の数字ならば、それはバージョン 4 です;
どちらでもなければ、バージョン 5 です。
\*r バージョン 3 をエミュレートして作成された \*r ファイルからはデフォルト
枝の情報が失われます。
バージョン 4 またはそれ以前のバージョンをエミュレートして作成された
リビジョンは、最大 13 時間ずれた日付を持つことになります。
バージョン 4 またはそれ以前のバージョンをエミュレートして取り出された
ファイルには
.IB yy / mm / dd
形式の日付がキーワード中に展開されます。また、
.B $\&Log$
キーワードでは空白の入り方が異なります。
.TP
.BI \-x "suffixes"
\*r ファイルの拡張子として
.I suffixes
を使用します。詳細は
.BR ci (1)
を参照して下さい。
.TP
.BI \-z zone
キーワード置換での日付の出力書式の指定を行い、また、
.BI \-d date
オプションでの
.I date
のデフォルトのタイムゾーンの指定を行います。
.I zone
は、省略する事も、UTC からの数値差で指定する事も、特別な文字列
.B LT
を使ってローカル時間で指定する事もできます。
デフォルトでは
.I zone
は空であり、
この場合は伝統的な \*r フォーマット、
すなわちタイムゾーン無しの \*u であり日付をスラッシュで区切ります;
そうでない場合は時刻はタイムゾーン付の \*i 8601 フォーマットです。
例えば、ローカルタイムが 1990 年 1 月 11 日 太平洋標準時間
(\*u の 8 時間西)午後 8 時の場合、時間の出力は次のようになります:
.RS
.LP
.RS
.nf
.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u
.ne 4
\f2オプション\fP\f2時刻の出力\fP
\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(デフォルト)\fP
\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP
\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP
.ta 4n +4n +4n +4n
.fi
.RE
.LP
.B \-z
オプションは \*r ファイルに格納されている日付(常に \*u です)には影響しません。
.RE
.SH "キーワード置換"
テキスト中に存在する
.BI $ keyword $
または
.BI $ keyword : .\|.\|. $
形式の文字列は、
.BI $ keyword : value $
形式の文字列に置換されます。
.I keyword
.I value
の対については後述します。キーワードはリテラルな文字列として、あるいは
リビジョンを特定するためのコメントとして埋められることがあります。
.PP
まず、ユーザは
.BI $ keyword $
なる形式の文字列を入力します。
チェックアウト時に、
.B co
はこの文字列を
.BI $ keyword : value $
に置換します。
.BI $ keyword : value $
形式の文字列を含むものがチェックインされた場合、
.I value
の部分は次にチェックアウトされたときに新たな値に置換されます。
このように、チェックアウトを行うごとにキーワードの値は
更新されていきます。この自動更新は
.B \-k
オプションにより変更することができます。
.PP
キーワードの種類とその値:
.TP
.B $\&Author$
リビジョンを登録したユーザのログイン名。
.TP
.B $\&Date$
リビジョンが登録された日時。
.BI \-z zone
を指定した場合、数値によるタイムゾーンオフセットが追加されます;
指定しない場合は、日時は \*u です。
.TP
.B $\&Header$
標準的なヘッダ。\*r ファイルのフルパス名、リビジョン番号、日時、作者、
状態、ロック者(ロックされている場合)が含まれます。
.BI \-z zone
を指定した場合、数値によるタイムゾーンオフセットが追加されます;
指定しない場合は、日時は \*u です。
.TP
.B $\&Id$
.B $\&Header$
とほぼ同様です。\*r ファイル名はパスをつけずに埋め込まれます。
.TP
.B $\&Locker$
リビジョンをロックしたユーザのログイン名(ロックされていない場合は空です)。
.TP
.B $\&Log$
チェックイン時に与えたログメッセージ。その前に、\*r ファイル名、リビジョン
番号、作者、日時が埋め込まれます。
.BI \-z zone
を指定した場合、数値によるタイムゾーンオフセットが追加されます;
指定しない場合は、日時は \*u です。
すでに埋め込まれているログメッセージは変更
.I されません。
新たなログメッセージのみが
.BR $\&Log: .\|.\|. $
のあとに追加されます。
ソースファイルの完全なログを記録するときに便利です。
.RS
.LP
挿入される行の前には
.B $\&Log$
の行の前のプレフィックス文字列が付きます。例えば、
.B $\&Log$
の行が
.RB \*(lq "//\ $\&Log: tan.cc\ $" \*(rq
である場合、ログの各行の前の \*r プレフィックスは
.RB \*(lq "//\ " \*(rq
となります。
これはコメントが行末まで及ぶ言語にて便利です。
別の言語に対しては、複数行コメント内部にて
.RB \*(lq " \(** " \(rq
プレフィックスを使用するのが慣例です。
例えば、C プログラムの最初のログのコメントは慣例的に以下の形式です:
.RS
.LP
.nf
.ft 3
.ne 3
/\(**
.in +\w'/'u
\(** $\&Log$
\(**/
.in
.ft
.fi
.RE
.LP
古いバージョンの \*r とのバックワードコンパチビリティのため、
ログのプレフィックスが
.B /\(**
または
.B (\(**
でありオプションの空白で囲まれている場合、挿入されるログの行は
.B /
.B (
の代わりに空白が用いられます;
しかしこの使用方法は古くさく、この動作に依存してはなりません。
.RE
.TP
.B $\&Name$
存在する場合、リビジョンをチェックアウトするために使用したシンボリック名。
例えば
.B "co\ \-rJoe"
.B "$\&Name:\ Joe\ $"
を生成します。
単に
.B co
を指定した場合は、
.B "$\&Name:\ \ $"
となります。
.TP
.B $\&RCSfile$
パス名を含まない \*r ファイル名。
.TP
.B $\&Revision$
リビジョン番号。
.TP
.B $\&Source$
\*r ファイルのフルパス名。
.TP
.B $\&State$
リビジョンに
.BR rcs (1)
.BR ci (1)
.B \-s
オプションにより割り付けられた状態。
.PP
キーワード文字列の体裁を整えるために、
以下の文字をキーワード中に用いるには、
エスケープシーケンスを使用します。
.LP
.RS
.nf
.ne 6
.ta \w'newline 'u
\f2文字 エスケープシーケンス\fP
tab \f3\et\fP
newline \f3\en\fP
space \f3\e040
$ \e044
\e \e\e\fP
.fi
.RE
.SH "ファイルモード"
ワークファイルは、\*r ファイルの読み込みと実行の許可属性を受け継ぎます。
さらに、ユーザに対する書き込み権が設定されます。
.B \-kv
オプションが設定されている場合と、厳格ロックモード(
.BR rcs (1)
参照)にてロックせずに取り出した場合は、書き込み権が設定されません。
.PP
すでに、ワークファイルと同名の書き込み可能なファイルが存在していると、
.B co
は取り出しを中断し、もし可能ならば削除するかどうかを問い合わせます。
もし、すでに存在するファイルが書き込み禁止であったり、
.B -f
オプションが
指定されていた場合には、問い合わせを行わずに削除します。
.SH 関連ファイル
.B co
.B ci
とほぼ同じくらいのファイルにアクセスします。ただし、
.B $
が指定されていなければワークファイルを読むことはありません。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
本変数に空白で区切ったオプションを設定することで、
コマンドライン引数に先立って処理されます。
詳しくは
.BR ci (1)
を参照してください。
.SH 診断
\*r パス名、ワークファイルパス名、
取り出されるリビジョンの番号を診断出力します。
全ての処理が成功した場合のみ、終了ステータス 0 を返します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
rcsintro(1), ci(1), ctime(3), date(1), ident(1), make(1),
rcs(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1),
rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.SH 制限事項
\*r ファイル、ワークファイルのリンクは保存されません。
.PP
キーワードを
.B "$\&keyword:$"
以外の形式に書換える以外に、一部のキーワードの
みを展開させる方法がありません。nroff や troff ではキーワード中にヌル文字
.B \e&
を埋め込むことにより展開を防ぐことができます。
.br
diff --git a/ja/man/man1/colldef.1 b/ja/man/man1/colldef.1
index 166fc91663..53e337957c 100644
--- a/ja/man/man1/colldef.1
+++ b/ja/man/man1/colldef.1
@@ -1,237 +1,237 @@
.\" Copyright (c) 1995 Alex Tatmanjants <alex@elvisti.kiev.ua>
.\" 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.
.\"
-.\" %Id: colldef.1,v 1.3.2.2 1997/06/27 06:19:42 charnier Exp %
+.\" %Id: colldef.1,v 1.5 1997/06/26 11:25:16 charnier Exp %
.\"
.\" jpman %Id: colldef.1,v 1.3 1997/09/04 16:33:17 horikawa Stab %
.\"
.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 colldef
は、照合シークエンスのソース定義を
.Fn strxfrm
.Fn strcoll
関数で使えるフォーマットに変換します。すなわち、文字列をソートや照合で
きるようにする様々な方法を定義するために使われます。
.Fn strxfrm
は、その第一引数を変換して第二引数の結果に置き換えます。
変換された文字列は、
.Fn strcmp ,
.Fn strncmp ,
.Fn memcmp
を使って別の変換された文字列と比較して正しくソートできるようになります。
.Fn strcoll
はその引数を変換し、比較を行ないます。
.Pp
.Nm colldef
は、標準入力から照合シークエンスソース定義を読み込み、変換された定義を
filename に格納します。
生成される出力ファイルの内容は、システムコマンドやシステムルーチンが
使える形式の照合シークエンス情報を持つデータベースです。
.Pp
オプションリスト:
.Bl -tag -width 4n
.It Cm Fl I Ar map_dir
このオプションは
.Ar charmap
ファイルを探すディレクトリ名を設定します。
デフォルトでカレントディレクトリです。
.It Cm 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 #
で始まる行はコメントと扱われ、無視されます。空行も無視されます。
.Pp
.Ar charmap charmapfile
.Pp
.Ar charmap
は、文字のマッピングと実際の文字エンコーディングへの照合要素シンボル
が見つかる場所を定義します。
.Pp
.Ar charmapfile
のフォーマットを以下に示します。
シンボル名とその値は、タブまたは空白文字によって区切られます。
symbol-value は 16 進 (\ex\fI??\fR) または 8 進 (\e\fI???\fR)
表現で指定でき、長さは一文字を意味します。
.Pp
.Ar symbol-name1 symbol-value1
.br
.Ar symbol-name2 symbol-value2
.br
.Ar ...
.Pp
シンボル名は
.Ar substitute
フィールドでは指定できません。
.Pp
.Ar charmap
ステートメントはオプション指定です。
.Pp
.Ar substitute
"\fIchar\fR"
.Ar with
"\fIrepl\fR"
.Pp
.Ar substitute
ステートメントは、文字
.Ar char
を文字列
.Ar repl
に置き換えます。
.Pp
.Ar substitute
ステートメントはオプション指定です。
.Pp
.Ar order order_list
.Pp
.Ar order_list
は、セミコロンで区切られた、照合シークエンスを定義する
シンボルのリストです。
特殊シンボル
.Ar ...
は、簡略な形の機械語順で連なったシンボルを指定します。
.Pp
orderリストの要素は、次の方法のうちのどれかで表現できます。
.Bl -bullet
.It
シンボル自身 (例えば、小文字の
.Ar a
.Ar a
と書きます)
.It
シンボルチェーン (例えば、
.Ar abc )
.It
8 進表現 (例えば、文字
.Ar a
には
.Ar \e141 )
.It
16 進表現 (例えば、文字
.Ar a
には
.Ar \ex61 )
.It
.Ar charmap
ファイル内で定義されたシンボル名 (例えば、
.Ar charmapfile
.Ar abc \e023
に対して
.Ar <abc>
)。文字マップ名が、文字
.Ar >
を持つ場合は、
.Ar /> ,
のようにエスケープされなければならず、
文字
.Ar /
.Ar //
のようにエスケープされなければなりません。
.It
シンボル
.Ar \ea ,
.Ar \eb ,
.Ar \ef ,
.Ar \en ,
.Ar \er ,
.Ar \ev
は、通常の C言語の意味で使うことが許されています。
.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 colldef
は、次の戻り値で終了します。
.Ar 0
エラーがなく、出力の生成に成功した場合
.Ar !=0
エラーが見つかった場合
.Sh 関連ファイル
.Ar /usr/share/locale/<language>/LC_COLLATE
localeの配下で、localeの照合順序のための標準共有位置
.Sh 関連項目
.Xr mklocale 1 ,
.Xr setlocale 3 ,
.Xr strcoll 3 ,
.Xr strxfrm 3
diff --git a/ja/man/man1/comm.1 b/ja/man/man1/comm.1
index 5c946239fe..d8e0ba045a 100644
--- a/ja/man/man1/comm.1
+++ b/ja/man/man1/comm.1
@@ -1,101 +1,101 @@
.\" %NetBSD: comm.1,v 1.4 1995/03/26 09:25:50 glass Exp %
.\"
.\" Copyright (c) 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" From: @(#)comm.1 8.1 (Berkeley) 6/6/93
-.\" %Id: comm.1,v 1.1.1.1.8.2 1997/09/14 23:20:44 jkh Exp %
+.\" %Id: comm.1,v 1.3 1997/09/07 15:09:17 joerg Exp %
.\" jpman %Id: comm.1,v 1.3 1997/11/11 13:58:57 horikawa Stab %
.\"
.Dd June 6, 1993
.Os
.Dt COMM 1
.Sh 名称
.Nm comm
.Nd 2つのファイルの共通な行もしくは共通でない行を出力する
.Sh 書式
.Nm comm
.Op Fl 123i
.Ar file1 file2
.Sh 解説
.Nm comm
は、
.Ar file1
.Ar file2
を読み込んで(辞書的にソートされている必要があります)、
3 つのテキストカラムを出力します:
それぞれ、
.Ar file1
のみにある行;
.Ar file2
のみにある行;
両方のファイルにある行です。
.Pp
ファイル名 ``-'' は標準入力を意味します。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width Ds
.It Fl 1
第 1 カラムの表示をしません。
.It Fl 2
第 2 カラムの表示をしません。
.It Fl 3
第 3 カラムの表示をしません。
.It Fl i
行比較を大文字と小文字を区別せずに行います。
.El
.Pp
それぞれのカラムの前にタブが付属しますが、
タブの数はそのカラムより番号の若いカラムで表示されるカラムの数に等しいです。
例えば、第 2 カラムの表示をしない場合、
第 1 カラムを表示する行では先頭にタブは付属せず、
第 3 カラムを表示する行では先頭にタブが 1 つ付属します。
.Pp
.Nm comm
はファイルが辞書的にソートされている事を期待します;
全ての文字が行の比較に使用されるからです。
.Sh 診断
成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
.Pp
.Sh 関連項目
.Xr cmp 1 ,
.Xr diff 1 ,
.Xr sort 1 ,
.Xr uniq 1
.Sh 規格
.Nm comm
ユーティリティは
.St -p1003.2-92
を満します。
diff --git a/ja/man/man1/compile_et.1 b/ja/man/man1/compile_et.1
index 47dfd45055..716db23909 100644
--- a/ja/man/man1/compile_et.1
+++ b/ja/man/man1/compile_et.1
@@ -1,80 +1,80 @@
.\" Copyright (c) 1988 Massachusetts Institute of Technology,
.\" Student Information Processing Board. All rights reserved.
.\"
-.\" %Header: /home/ncvs/src/usr.bin/compile_et/compile_et.1,v 1.1.6.2 1997/09/14 23:21:48 jkh Exp %
+.\" %Header: /home/ncvs/src/usr.bin/compile_et/compile_et.1,v 1.2 1997/06/30 06:42:38 charnier Exp %
.\"
.\" jpman %Id: compile_et.1,v 1.3 1997/08/20 12:20:14 horikawa Stab %
.Dd November 22, 1988
.Os
.Dt COMPILE_ET 1
.Sh 名称
.Nm compile_et
.Nd エラーテーブルコンパイラ
.Sh 書式
.Nm compile_et
.Ar file
.Sh 解説
.Nm compile_et
は、エラーコード名とそれに対応するメッセージをリストアップしたテーブルを、
.Xr com_err 3
ライブラリと共に用いるのに適した C のソースファイルに変換します。
.Pp
ソースファイル名は末尾が ``.et'' で終わっていなければなりません。
このファイルは以下のものから成ります。
まず、エラーコードテーブル名の宣言(4文字まで):
.Em error_table name
続いて以下の形式のエントリ(256 エントリまで):
.Em error_code name ,
"
.Em string
"
そして最後にテーブルの終わりを示す次の行です:
.Em end
.Pp
上のテーブル名はサブルーチン名
.Em initialize_XXXX_error_table
を構築するのに用いられます。
このサブルーチンは
.Xr com_err 3
ライブラリがエラーテーブルを認識するために呼び出される必要があります。
.Pp
ここで定義された様々なエラーコードには、
連続した昇順の番号(最初の数は、テーブル名のハッシュ関数として求められた、
ある大きな数です)が割り当てられます。
従って、互換性を保つために、新しいコードは既存のテーブルの末尾にのみ
追加し、また既存のコードはテーブルから削除しないように
すべきです。
.Pp
このテーブルで定義された名前は C のヘッダファイルに置かれ、
プリプロセッサディレクティブによって
最大 32 ビットの大きさの整定数として定義されます。
.Pp
同時に C のソースファイルが生成されます。
このファイルはコンパイルされ、
これらのエラーコードを参照するオブジェクトファイルとリンクされます。
この C ソースファイルには、
メッセージテキストと初期化ルーチンが含まれます。
いずれの C のファイルも、オリジナルソースファイル
末尾の ``.et'' を ``.c'' および ``.h'' で置き換えた名前になります。
.Pp
ソースファイル中の ``#'' はコメント文字として扱われ、
そこから行末までのテキストは無視されます。
.Sh バグ
.Nm compile_et
.Xr yacc 1
に基づく極めて単純なパーサを用いているため、
エラー回復処理には改良すべき点が数多く残されています。
.Sh 関連項目
.Xr yacc 1 ,
.Xr comm_err 3
.Pp
.Rs
.%A Ken Raeburn
.%T "A Common Error Description Library for UNIX"
.Re
diff --git a/ja/man/man1/cp.1 b/ja/man/man1/cp.1
index 043a5590a5..4ab9ba549a 100644
--- a/ja/man/man1/cp.1
+++ b/ja/man/man1/cp.1
@@ -1,218 +1,218 @@
.\" Copyright (c) 1989, 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)cp.1 8.3 (Berkeley) 4/18/94
-.\" %Id: cp.1,v 1.6.2.2 1998/07/15 02:01:05 jkh Exp %
+.\" %Id: cp.1,v 1.10 1998/05/06 06:50:19 charnier Exp %
.\" jpman %Id: cp.1,v 1.2 1997/03/26 15:42:56 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt CP 1
.Os BSD 4
.Sh 名称
.Nm cp
.Nd ファイルをコピーする
.Sh 書式
.Nm cp
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl f | i
.Op Fl p
.Ar source_file target_file
.br
.Nm cp
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl fip
.Ar source_file ... target_directory
.Sh 解説
1 番目の書式の場合、
.Nm
.Ar source_file
の内容を
.Ar target_file
にコピーします。
2 番目の書式の場合、
.Ar source_file
の各々が
.Ar target_directory
の中へコピーされます。このとき
名前は変更されません。
コピー先が元のファイル自身になるような
指定を
.Nm
が検出した場合、コピーは失敗します。
.Pp
以下のオプションが使用できます。
.Bl -tag -width flag
.It Fl H
.Fl R
オプションが指定されている時、コマンド行で指定されたシンボリックリンク
を追跡します。(木構造の検索中に見つかったシンボリックリンクは追跡
しません)
.It Fl L
.Fl R
オプションが指定されている時、すべてのシンボリックリンクを追跡します。
.It Fl P
.Fl R
オプションが指定されている時、シンボリックリンクを一切追跡しません。
.It Fl R
.Ar source_file
としてディレクトリが指定された場合、
.Nm
はそのディレクトリとそれ以下の
部分木を構成するすべてのファイルをコピーします。シンボリックリンクに
ついては、それが指している先のファイルをコピーするのではなく
シンボリックリンクのままコピーします。特殊ファイルについても
通常ファイルとしてではなく
.Nm
が特殊ファイルを生成することでコピーします。
作成されるディレクトリの属性はプロセスのumask値の
影響を受けず、対応するコピー元ディレクトリと同じ属性となります。
.It Fl f
コピー先にすでに同名のファイルが存在する場合、そのファイルのパー
ミッションに関わらず、確認を求めずにそれを消去して新しくファイル
を作成します。(
.Fl f
オプションより前の
.Fl i
オプションは無視されます。)
.It Fl i
すでに存在するファイルへの上書きを伴うコピーを実行する前に、
上書きするかどうかの確認プロンプトを標準エラー出力へ出力するよう
.Nm
に指示します。標準入力からの返答が
文字
.Sq Li y
.Sq Li Y
で始まっていればコピーが実行されます。
(
.Fl i
オプションより前の
.Fl f
オプションは無視されます。)
.It Fl p
ファイルの変更時刻・アクセス時刻・フラグ・モード・ユーザID・グループID
などを、パーミッションが許す範囲内で可能な限り保存してコピーするよう
.Nm
に指示します。
.Pp
ユーザIDやグループIDが保存できない場合でも、エラーメッセージは出力されず
戻り値も変化しません。
.Pp
コピー元ファイルにSETUIDビットが立っておりかつそのユーザIDが保存できない
場合、SETUIDビットは保存されません。コピー元ファイルにSETGIDビットが
立っておりかつそのグループIDが保存できない場合、SETGIDビットは保存されません。
コピー元のファイルにSETUIDビットとSETGIDビットが共に
立っておりかつそのユーザIDかグループIDのいずれか一方でも保存できない場合、
SETUIDビットとSETGIDビットの両方が保存されません。
.El
.Pp
すでに存在するコピー先ファイルについては、パーミッションが許せば
内容は上書きされますが、モード・ユーザID・グループIDは変化しません。
.Pp
2 番目の書式では、
.Ar source_file
としてディレクトリが一つだけ指定されかつ
.Fl R
オプションが指定されている場合を除き、
.Ar target_directory
は存在していなければなりません。
.Pp
コピー先ファイルが存在しない場合、コピー元ファイルのモードに
ファイルモード生成マスク
.Pf ( Ic umask ,
.Xr csh 1 を参照 )
を適用したものがコピー先ファイルのモードとして使用されます。
コピー元ファイルのSETUIDビットが立っていても、コピー元ファイルとコピー先
ファイルの所有者が同一でない限り、それは落とされます。
コピー元ファイルのSETGIDビットが立っていても、コピー元ファイルとコピー先
ファイルが同一グループに属しかつコピーを行うユーザがそのグループ
に入っていない限りそれは落とされます。
SETUIDビットとSETGIDビットの両方が立っている場合、上記のすべての
条件が満たされない限り、両方のビットが落とされます。
.Pp
ファイルの生成および上書きには、適切なパーミッションがなければなりません。
.Pp
.Fl R
フラグが指定されるとシンボリックリンクは追跡されませんが、
そうでない限りデフォルトでシンボリックリンクは常に追跡されます。
.Fl H
または
.Fl L
フラグ (
.Fl R
フラグと併用) を用いると、シンボリックリンクの追跡を前述したように動作さ
せることができます。
.Fl H ,
.Fl L ,
.Fl P
オプションは、
.Fl R
オプションが指定されていなければ無視されます。
また、これらのオプションは互いに打ち消し合い、
最後に指定されたものが有効になります。
.Pp
.Nm
は成功すると戻り値 0 を、エラーが発生すると戻り値 >0 を返します。
.Pp
.Sh 互換性
従来版の
.Nm
には
.Fl r
オプションがありました。本実装でもこのオプションはサポートされていますが、
特殊ファイル・シンボリックリンク・FIFOなどを正しくコピーできないため、
これを使用することは奨められません。
.Sh 関連項目
.Xr mv 1 ,
.Xr rcp 1 ,
.Xr umask 2 ,
.Xr fts 3 ,
.Xr symlink 7
.Sh 標準
.Nm
コマンドは、
.St -p1003.2
互換を想定しています。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/crontab.1 b/ja/man/man1/crontab.1
index 9dd3c9506a..d2b0fa4cb1 100644
--- a/ja/man/man1/crontab.1
+++ b/ja/man/man1/crontab.1
@@ -1,120 +1,120 @@
.\"/* Copyright 1988,1990,1993 by Paul Vixie
.\" * All rights reserved
.\" *
.\" * Distribute freely, except: don't remove my name from the source or
.\" * documentation (don't take credit for my work), mark your changes (don't
.\" * get me blamed for your possible bugs), don't alter or remove this
.\" * notice. May be sold if buildable source is provided to buyer. No
.\" * warrantee of any kind, express or implied, is included with this
.\" * software; use at your own risk, responsibility for damages (if any) to
.\" * anyone resulting from the use of this software rests entirely with the
.\" * user.
.\" *
.\" * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
.\" * I'll try to keep a version up to date. I can be reached as follows:
.\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul
.\" */
.\"
-.\" %Id: crontab.1,v 1.1.1.1.8.2 1998/07/18 11:09:14 jkh Exp %
+.\" %Id: crontab.1,v 1.5 1998/03/23 08:21:29 charnier Exp %
.\" jpman %Id: crontab.1,v 1.2 1997/04/18 06:38:25 yugawa Stab %
.\"
.Dd December 29, 1993
.Dt CRONTAB 1
.Os
.Sh 名称
.Nm crontab
.Nd 個人用の crontab の編集を行う (V3)
.Sh 書式
.Nm crontab
.Op Fl u Ar user
.Ar file
.Nm crontab
.Op Fl u Ar user
{
.Fl l |
.Fl r |
.Fl e
}
.Sh 解説
.Nm crontab
は、
Vixie Cron の
.Xr cron 8
デーモンが扱うテーブル内のエントリの
追加、削除、およびリスト表示を行います。各ユーザは、自分用の contab
ファイルを持つことができます。このファイルは
.Pa /var
内にありますが、
これはエディタで直接変更するためのものではありません。
.Pp
もし
.Pa allow
ファイル
.Pq Pa /var/cron/allow
が存在した場合、このコマンドを
使うためには、あなたの名前がこの
.Pa allow
ファイルになければなりません。また、
.Pa allow
ファイルは存在しないが
.Pa deny
ファイル
.Pq Pa /var/cron/deny
が存在した場合に、
このコマンドを使うためには、あなたの名前がこの
.Pa deny
ファイルにあっては
.Em いけません
どちらのファイルも存在しない場合、サイト依存の設定パラメータにより
スーパーユーザだけがこのコマンドを使うことができるか、
すべてのユーザがこのコマンドを使うことができるかが決定されます。
.Pp
このコマンドの最初の書式は file から新しい crontab をインストールする
場合に使います。ファイル名として ``-'' が指定された時は、標準入力から
読み込みます。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl u
指定した
.I user
の crontab ファイルに対して操作を行います。
このオプションがない場合には、コマンドを実行した人
の crontab ファイルに対しての操作になります。
.Xr su 8
をしている場合は混乱する可能性がありますから、正確を期するため、この場合には
.Fl u
をつねにつけるようにすべきです。
.It Fl l
現在の crontab ファイルを標準出力に表示します。
.It Fl r
現在の crontab ファイルを削除します。
.It Fl e
現在の crontab を編集します。環境変数
.Ev VISUAL
もしくは
.Ev EDITOR
があれば、この環境変数で指定したエディタを利用します。
エディタを終了すれば、crontab ファイルが自動的にインストールされます。
.El
.Sh 関連項目
.Xr crontab 5 ,
.Xr cron 8
.Sh 関連ファイル
.Bl -tag -width /var/cron/allow -compact
.It Pa /var/cron/allow
.It Pa /var/cron/deny
.El
.Sh 規格
.Nm
コマンドは
.St -p1003.2
準拠です。
この新しい文法は以前の Vixie Cron のものとも
古典的な SVR3 のものとも異なっています。
.Sh 診断
誤ったコマンドラインを与えて実行した場合、
使用法についてのかなり有益なメッセージが出力されます。
.Sh 作者
.An Paul Vixie Aq paul@vix.com
diff --git a/ja/man/man1/csh.1 b/ja/man/man1/csh.1
index dcd54f50d8..01260d26d1 100644
--- a/ja/man/man1/csh.1
+++ b/ja/man/man1/csh.1
@@ -1,2194 +1,2206 @@
.\" 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.
.\"
.\" @(#)csh.1 8.2 (Berkeley) 1/21/94
-.\" %Id: csh.1,v 1.5.2.3 1998/07/15 02:01:07 jkh Exp %
+.\" %Id: csh.1,v 1.11 1998/07/27 21:31:19 nectar Exp %
.\" jpman %Id: csh.1,v 1.2 1997/04/08 00:35:51 h-nokubi Stab %
.\"
.\" Japanese translation for jpman-0.2 checked by jpman project 96.12.23
.\"
.Dd January 21, 1994
.Dt CSH 1
.Os BSD 4
.Sh 名称
.Nm csh
.Nd C 言語ライクな文法を持つシェル(コマンドインタプリタ)
.Sh 書式
.Nm csh
.Op Fl bcefimnstvVxX
.Op arg ...
.Nm csh
.Op Fl l
.Sh 解説
.Nm
は、履歴(参照:
.Sx ヒストリ置換
の項)、ジョブ制御(参照:
.Sx ジョブ
の項)、対話的なファイル名とユーザ名の補完(参照:
.Sx ファイル名補完
の項)、C 言語ライクな文法を特徴とするコマンドインタプリタです。
対話的なログイン・シェル、また
シェル・スクリプトのコマンド・プロセッサの両方の用途で使われます。
.Ss 引数リスト処理
シェルへの最初の引数(第 0 引数)が
.Ql Fl \&
で始まる場合、シェルはログイン・シェルとなります。
シェルを
.Ql Fl l
フラグを指定して起動することでもログイン・シェルにできます。
.Pp
残りのフラグは以下のように解釈されます:
.Bl -tag -width 5n
.It Fl b
このフラグは、オプションの処理を強制的に中断させる場合に使用します。この
フラグ以降の引数はすべて、オプションではない引数として処理されます。
これにより、シェル・スクリプトに混乱やごまかしを行わずにオプションを
渡すことが可能になります。
set-user ID スクリプトは本オプションなしでは実行できません。
.It Fl c
コマンドを本フラグの次にくる 1 つの引数から読み込みます。
この引数は省略できません。残りの引数は
.Ar argv
に代入されます。
.It Fl e
起動したコマンドが異常終了したり、0 でない終了ステータスを返したときに、
ただちにシェルを終了します。
.It Fl f
起動したユーザのホーム・ディレクトリにある
.Pa \&.cshrc
を捜さず、また読み込まないため高速に起動します。
.It Fl i
たとえ端末上で実行されていなくても、対話的に動作しプロンプトを表示します。
入力と出力が端末である場合、本オプションなしでもシェルは対話的に動作します。
.It Fl l
ログイン・シェルとなります。(
.Fl l
が、指定された唯一のフラグの場合にのみ有効です。)
.It Fl m
シェルは、実効ユーザに属していなくても
.Pa .cshrc
をロードします。
.Xr su 1
.Fl m
をシェルに渡すことができます。
.It Fl n
コマンドの解析は行いますが、実行しません。シェル・スクリプトの
文法検査に役立ちます。
.It Fl s
標準入力からコマンドを読み込みます。
.It Fl t
入力から1行だけ読み込み、それを実行します。改行の直前に
.Ql \e
を置くことで、次の行への継続を行うことができます。
.It Fl v
.Ar verbose
変数を設定します。これにより、ヒストリ置換された状態のコマンド行を
表示するようになります。
.It Fl x
.Ar echo
変数を設定します。これにより、実行直前に、実行するコマンドを
表示するようになります。
.It Fl V
.Pa .cshrc
を実行するより前に
.Ar verbose
変数を設定します。
.It Fl X
.Pa .cshrc
を実行するより前に
.Ar echo
変数を設定します。
.El
.Pp
.Fl X
に対する
.Fl x
の関係は、ちょうど
.Fl V
に対する
.Fl v
の関係に相当します。
.Pp
フラグ引数の処理のあと、もし引数が残っていて、かつ、
.Fl c ,
.Fl i ,
.Fl s ,
.Fl t
のいずれのフラグも指定されていなければ、残っている最初の引数は
コマンドファイル名であるとみなされます。シェルはこのファイルをオープンし、
`$0' による置換に備えてファイル名を保存します。多くのシステムは version 6
または version 7 の標準のシェルを使っており、また、それらの
シェル・スクリプトは本シェルとは互換性がないので、
スクリプトの先頭の文字が `#' でない場合、
つまりスクリプトがコメントから始まらない場合、
本シェルはそれらの `標準' シェルを起動して実行します。
残りの引数は変数
.Ar argv
に初期値として設定されます。
.Pp
.Nm
は、実行開始に際し、まず、ファイル
.Pa /etc/csh.cshrc
を読み込み実行します。ログイン・シェルであれば、さらに、ファイル
.Pa \&/etc/csh.login
を読み込み実行します。
次にシェルを起動したユーザの
.Ar ホーム
・ディレクトリにあるファイル
.Pa \&.cshrc
を読み込み実行します。ログイン・シェルであるなら、
さらに、同じディレクトリのファイル
.Pa \&.login
を読み込み、実行します。
.Pa \&.login
の通常の使い方としては、ユーザが CRT 画面の設定のために
``stty crt'' を実行したり、
.Xr tset 1
を実行したりするために用いられます。
.Pp
通常、シェルはプロンプト `% ' を表示し、端末からコマンドを読み込みます。
引数の処理やコマンド・スクリプトを含むファイルの処理については後述します。
.Pp
シェルは以下の動作を繰り返します: 読み込んだ行を
.Ar 単語
に分解します。この単語の列をコマンド履歴に格納し、解析します。
最後にその行の各コマンドを実行します。
.Pp
ログイン・シェルが終了するとき、ユーザの
.Ar ホーム
ディレクトリのファイル
.Pa .logout
.Pa /etc/csh.logout
を読み込み実行します。
.Ss 字句構造
シェルは、読み込んだ行を空白とタブを区切りとして単語に分割します。ただし、
以下の例外があります。文字
`&' `\&|' `;' `<' `>' `(' `)'
は独立した単語となります。`&&', `\&|\&|', `<<', `>>' のように
2つ繰り返されている場合はペアで1単語を形成します。
これらのメタキャラクタは、直前に `\e' を置くことによって、単語の一部としたり、
特別な意味を無視させることができます。改行の直前に `\e' を置くと、
単一の空白と等価になります。
.Pp
対応したクォート記号
`'\|', `\*(ga', `"' に狭まれた文字列は、単語の一部分となります。
このような文字列中のメタキャラクタやブランク、
タブによって単語が分割されることはありません。
これらのクォートの意味はあとで説明します。
`\'' または `"' の内側で改行文字の直前に `\e' を置くと、
改行文字そのものになります。
.Pp
シェルの入力が端末からではない場合、
`#' 文字から改行まではコメントとして扱われます。
直前に `\e' を置くか `\`', `\'', `"" でクォートすることにより、
この意味を抑制することができます。
.Ss コマンド
単純コマンドは単語の列であり、最初の単語が実行すべきコマンドを示します。
`\&|' 記号で区切られた、単純コマンドあるいは単純コマンドの列は
パイプラインを形成します。パイプラインの各コマンドの出力は、次のコマンドの
入力に接続されます。パイプラインの列を `;' によって区切ることで逐次実行が
行えます。パイプラインの列に続けて `&' を置くと、そのパイプラインの終了を
待つことなく、次のパイプラインが実行されます。
.Pp
上記のいずれかを `(' と `)' で囲むことにより、単純コマンドを形成することが
できます (これはパイプライン等の構成要素として使えます)。
また、パイプラインを `\&|\&|' または `&&' で区切ることにより、C
言語のように、第 2 のパイプラインが第 1 のパイプラインが失敗あるいは
成功したときにのみ実行させることができます(
.Em 式
の項参照)。
.Ss ジョブ
シェルはパイプラインの各々に対し
.Ar ジョブ
を 1 つづつ関連付けます。シェルは、現在実行中のジョブの一覧表を保持しており、
これは、
.Ar jobs
コマンドによって表示することができます。
ジョブには整数の番号が割り当てられます。ジョブが `&' を用いて非同期に
起動された場合、シェルは以下のような出力を行います:
.Bd -filled -offset indent
.Op 1
1234
.Ed
.Pp
これは、非同期に起動したジョブがジョブ番号 1 であり、プロセス ID が 1234 である
(トップレベルの) プロセスを 1 つ持っていることを示します。
.Pp
もし、あるジョブを実行中に他のことをしたくなった場合、
.Em ^Z
キー
(control-Z) を押すことにより実行中のジョブに STOP シグナルを
送信することができます。通常、シェルはそのジョブが停止した(Stopped)ことを
出力し、プロンプトを表示します。ここで、停止したジョブの状態を操作することが
できます。つまり、
.Ar bg
コマンドにより停止したプロセスを
.Em バックグラウンド
で走行させたり、他のコマンドを実行してから、停止していたジョブを
.Ar fg
コマンドにより
.Em フォアグラウンド
で再実行させることなどができます。
.Em ^Z
は即座に効力を発揮し、インタラプトと同様に、それまで待たされていた
出力とまだ読み込まれていない入力は捨てられます。
ほかに特殊キーとして
.Nm ^Y
があり、これを押すと、プログラムが
.Xr read 2
によって読み込もうとした時点で STOP シグナルが送信されます。
これは、実行中のジョブに対していくつかの入力を先に入力しておき、
先行入力を読み終えた時点でジョブを停止させたいときに便利です。
.Pp
バックグラウンドで実行しているジョブが端末からの入力を試みた場合、その
ジョブは停止します。通常、バックグラウンドジョブが端末に出力することは
可能ですが、これは、コマンド ``stty tostop'' により禁止することができます。
もし、この tty オプションを指定したなら、バックグラウンドで実行している
ジョブは、端末から入力を試みたときと同様に、端末に出力を試みたときに
停止します。
.Pp
シェルでジョブを参照するにはいくつかの方法があります。文字 `%' は
ジョブ名を表すのに用いられます。番号 1 のジョブを参照する場合は `%1' とします。
単にジョブ名を入力した場合、そのジョブはフォアグラウンドに移動されます。
すなわち `%1' は `fg %1' と等価で、番号 1 のジョブをフォアグラウンドで
実行させます。同様に `%1 &' は番号 1 のジョブをバックグラウンドで
走行させます。ジョブはそのジョブを起動したときにタイプされた文字列の
先頭部分によって参照することもできます。ただし、この先頭部分は
あいまいでない必要があります。すなわち、`%ex' は、`ex' という文字列で
始まる名前のサスペンドされたジョブが 1 つしかない場合に限り、サスペンドされた
.Xr ex 1
のジョブを再開します。文字列
.Ar string
を含むジョブが 1 つしかない場合、`%?string' と入力することで、
それを指定することもできます。
.Pp
シェルは現在のジョブと直前のジョブを覚えています。jobs コマンドの
出力では、`+' 記号が付加されているのが現在のジョブ、`\-' 記号が
付加されているのが直前のジョブです。`%+' は現在のジョブ、`%\-' は
直前のジョブの省略形です。後述する
.Ar ヒストリ
の文法から類推される記法として、`%%' があります。
これもまた現在のジョブの省略形です。
.Pp
ジョブ制御機構を用いるには、
.Xr stty 1
のオプション
.Ic new
を設定しておく必要があります。ジョブ制御機構は、
.Em 新型
の端末ドライバの実装の上に構築されているからです。
新型の端末ドライバにより、ジョブを停止させるためのシグナルを
キーボードから入力できるわけです。
新型の端末ドライバのオプション設定については stty(1) を参照してください。
.Ss 状態通知
シェルは、プロセスが状態の変化を起こすと、すぐにそれを検知します。通常、
プロンプトが表示される直前にのみ、あるジョブが停止し、それ以上処理が
進まなくなったことを通知します。これは、ユーザの仕事を邪魔しないように
するためです。
しかしながら、シェル変数
.Ar notify
をセットすることにより、シェルにバックグラウンド・ジョブの状態が
変化したことをただちに通知させることができます。
また、シェルコマンド
.Ar notify
により、特定のジョブの状態の変化をただちに通知させる
ようにマークすることもできます。引数なしの
.Ar notify
は現在のプロセスに対してマークをつけます。
バックグラウンド・ジョブの開始直後に単に `notify' と打つと
そのジョブをマークします。
.Pp
停止したジョブがある状態でシェルを終了しようとすると、`You have
stopped jobs.' という警告を受けます。このとき、
.Ar jobs
コマンドによりどのジョブが停止中であるのかを確認することができます。
警告を受けた直後に
.Ar jobs
コマンドで確認した場合と、
警告を受けた直後に再度シェルを終了させようとした場合には、
シェルは 2 度目の警告を行わず、停止中のジョブは終了させてから
シェルを終了します。
.Ss ファイル名補完
シェル変数
.Ar filec
がセットされてファイル名補完機能が有効になっている場合、
(
.Ic set
の項参照)
.Nm
はファイル名やユーザ名の補完を対話的に行います。文字列に続けて
エスケープ文字 (エスケープキー、または control-[) キーを端末から
入力することにより補完が行われます。
たとえば、以下のファイルがカレント・ディレクトリにあったとします。
.Bd -literal -offset indent
DSC.OLD bin cmd lib xmpl.c
DSC.NEW chaosnet cmtest mail xmpl.o
bench class dev mbox xmpl.out
.Ed
.Pp
ここで、以下のように入力します。
.Pp
.Dl % vi ch<escape>
.Pp
このとき、
.Nm
は ``ch'' を補完し、それにマッチする唯一のファイル名 ``chaosnet''
にします。補完後の入力行は以下のようになります。
.Pp
.Dl % vi chaosnet
.Pp
以下のように入力した場合は、
.Pp
.Dl % vi D<escape>
.Pp
.Nm
は、次のように補完を行います。
.Pp
.Dl % vi DSC.
.Pp
ここで、端末ベルを鳴らし、補完が完了しなかったことをユーザに伝えます。
なぜなら、``D'' で始まるファイル名が複数あったからです。
.Pp
不完全なファイル名に続いて end-of-file 文字(通常は control-D)を入力すると、
名前の補完を行うかわりに、その名前にマッチするファイル名の一覧を出力します。
たとえば、以下のように入力すると、
.Pp
.Dl % vi D<control-D>
.Pp
``D'' で始まるファイル名の一覧が以下のように出力されます:
.Pp
.Dl DSC.NEW DSC.OLD
.Pp
このとき、入力行は変化しません。
.Pp
エスケープ文字と、end-of-file 文字を用いる同様の機構は、
ユーザ名を補完する場合にも用いることができます。この場合、``~'' で
名前を開始します。たとえば、次のように入力すると、
.Pp
.Dl cd ~ro<escape>
.Pp
以下のように補完されます。
.Pp
.Dl cd ~root
.Pp
シェル変数
.Ar nobeep
をセットすることにより、複数の候補があったり、補完に
失敗した場合に端末ベルを鳴らすのを禁止することができます。
.Pp
通常、そのディレクトリにあるすべてのファイル名が補完の候補となります。
ある特定の拡張子を持つファイルを補完の候補から外すのに、変数
.Ar fignore
を用いる
ことができます。以下のコマンドで、変数
.Ar fignore
を設定すると、
.Pp
.Dl % set fignore = (.o .out)
.Pp
以下のように入力した場合に、
.Pp
.Dl % vi x<escape>
.Pp
次のように補完が行われます。
.Pp
.Dl % vi xmpl.c
.Pp
つまり、"xmpl.o" と "xmpl.out" が無視されて補完が行われました。もし、
.Ar fignore
で無視するように指定されたファイル名しか補完の対象になり得なかった場合、
.Ar fignore
の設定は無視されます。また、
.Ar fignore
は end-of-file 文字によるファイル名の一覧には影響を与えません。
一覧ではすべてのファイル名が出力されます。
.Ss 置換
ここからは、シェルが入力に対して行うさまざまな置換を、
処理が行われる順に記述します。
.Ss ヒストリ置換
ヒストリ置換は、以前に入力されたコマンド中の単語を、
新たなコマンドの一部として置き換えることで、
コマンドの繰り返し実行を容易にしたり、直前のコマンドの引数を次のコマンドで
再び使用したり、直前に入力した行の綴り間違いを修正する際に、
タイプ入力の手間を減らし、自信をもって修正できるようにするための機能です。
ヒストリ置換は文字 `!' により始まり、入力ストリームの
.Ar どの位置にでも
置くことができます(ただし、入れ子にすることは
.Em できません
)。`\e' を `!' の前に置くことにより、`!' の特殊な意味を打ち消すことが
できます。また、利便のために、`!' の直後に空白、タブ、改行文字、
`=', `(' が続いた場合、ヒストリ置換は行われず、入力された文字がそのまま
用いられます(ヒストリ置換は、入力行が `\*(ua' で始まっている場合にも
起こります。これについては後述します)。入力行にヒストリ置換が含まれている
場合は、実行直前にヒストリ置換を行った結果が端末に出力されます。
.Pp
端末から入力された、1 つあるいはそれ以上の単語からなるコマンドは
ヒストリ・リストに記録されます。ヒストリ置換は、この記録された
単語の列を入力ストリームに挿入することにより行われます。
ヒストリ・リストの大きさは、変数
.Ar history
により制御されます。直前のコマンドは
.Ar history
の値に関わらず必ず
保存されます。記録されているコマンドは 1 から順にイベント番号が
割り当てられます。
.Pp
.Ar history
コマンドにより、以下の出力が得られたとします:
.Bd -literal -offset indent
\09 write michael
10 ex write.c
11 cat oldwrite.c
12 diff *write.c
.Ed
.Pp
コマンドはイベント番号とともに出力されています。必ずしもイベント番号を
用いる必要はありませんが、プロンプト文字列に `!' を埋めることにより、
現在のイベント番号を
.Ar プロンプト
中に表示させることができます。
.Pp
現在のイベント番号が 13 だとすると、以前のイベントを指定するには、
イベント番号を用いて `!11' としたり、
相対指定を用いて `!\-2' としたり(同じイベントを表します)する方法があります。
また、コマンドの単語の先頭部分を用いて指定することもできます。例えば、`!d'
でイベント番号 12 を指定したり、 `!wri' でイベント番号 9 を指定できます。また、
ある文字列を含むコマンドを指定するのに `!?mic?' (これはイベント番号 9 の
コマンドを示します)のような記法も使えます。これらの記法は、指定された
イベントの各単語を単一の空白で区切った単語列に置換します。特殊な
場合として、`!!' は直前のコマンドを参照します。すなわち、`!!' だけを
入力することは直前のコマンドの
.Ar 再実行
を意味します。
.Pp
あるイベント中のいくつかの単語だけを指定するために、イベント指定に続けて `:'
と単語指示子を書くことができます。イベントの単語は 0 から順に番号が
振られています。最初の単語(通常はコマンドです)が 0 で、2 番目の単語
(第1引数)が 1 ということになります。基本的な単語指示子は以下のとおりです:
.Pp
.Bl -tag -width Ds -compact -offset indent
.It \&0
最初の(コマンド)単語
.It Ar n
.Ar n
番目の単語
.It \*(ua
最初の引数(すなわち 1 と同じ)
.It $
最後の引数
.It %
直前の
.No \&? Ns Ar s Ns \&?
検索でマッチした単語
.It Ar \&x\-y
.Ar x
番目から
.Ar y
番目までの単語
.It Ar \&\-y
.Ar `\&0\-y\'
の省略形
.It *
`\*(ua\-$' の省略形。イベントが1語のみからなる場合は空になる
.It Ar x*
.Ar `x\-$\'
の省略形
.It Ar x\-
.Ar `x*\'
から最後の単語を除いたもの。
.El
.Pp
イベント指定と単語指示子とを区切る `:' は、引数選択子が `\*(ua', `$', `*',
`\-', `%' で始まっている場合には省略することができます。
単語指示子の直後に、 `:' に続けて
修飾子を複数個置くことができます。以下の修飾子が定義されています:
.Pp
.Bl -tag -width Ds -compact -offset indent
.It h
パス名の最後の要素を削除します(head)
.It r
最後の `.xxx' 要素を削除します(root)
.It e
`.xxx' 以外の部分を削除します(extension)
.It s Ns Ar /l/r/
Substitute
.Ar l
.Ar r
で置換します(substitution)
.It t
最後の要素を残して、それより前のパス名の要素全てを削除します。
.It \&&
直前の修飾子の作用を繰り返します。
.It g
上記の修飾子の直前に置き、変更を、各単語に 1 回だけ及ぼすことを指定します。
- 例) `g&'
+例) `g&'
.It a
上記の修飾子の直前に置き、1 つの単語に対して可能な限り繰り返して
変更を行います。変更が全単語に及ぶようにするには `g' と組み合わせて使います。
.It p
置換結果を表示しますが、実行はしません(print only)
.It q
さらに置換が行われないように、置換結果をクォートします(quote)
.It x
q と同様ですが、空白、タブ、改行によって単語を分割します
.El
.Pp
`g' が指定されなかった場合、適用可能な最初の単語のみが修飾子の影響を受けます。
置換については、適用可能な単語がなかった場合にはエラーとなります。
.Pp
置換(s/l/r/) における左辺 (
.Ar l
) は、エディタなどで使うような正規表現ではなく単なる文字列です。`/'
のかわりに自由な文字を区切りに指定することができます。`\e' によって、
.Ar l
または
.Ar r
中の区切り文字をクォートすることができます。右辺 (
.Ar r
) 中の文字 `&' は
左辺の文字列に置換されます。`&' もまた `\e' によって
クォートすることができます。
空の左辺値
.Ar l
(`//') の場合、直前の左辺値
.Ar l
または、
.No \&`!? Ns Ar s Ns ?'
中のコンテキストスキャン文字列
.Ar s
から左辺値が取られます。置換指定の直後に改行がくる場合には、
最後の区切り文字を省略することができます。
コンテキストスキャンの後ろ側の文字 `?' も、直後に改行がくる場合、
同様に省略できます。
.Pp
ヒストリは、 `!$' のようにイベント指定なしで参照することができます。
同じ行においてそれ以前にヒストリ参照が行われた場合はそのイベントを、
さもなければ直前のコマンドが参照されます。`!?foo?\*(ua !$' は `?foo?' に
マッチするイベントの最初と最後の単語に置換されます。
.Pp
入力行の最初の非空白文字が `\*(ua' の場合、特殊なヒストリ参照の省略形であると
みなします。これは `!:s\*(ua' と等価で、直前に入力したコマンド行の
文字列置換を行うことができます。たとえば、`\*(ualb\*(ualib' は
直前のコマンドの `lib' の綴り間違いを修正します。
最後に、後ろに続く文字とヒストリ置換とを隔離するために、
ヒストリ置換を `{' と `}' によって囲むことができます。`ls -ld ~paul' なる
コマンドを実行した直後に`!{l}a' と
入力することで、`ls -ld ~paula' に展開されます。一方、`{}' を
使わずに `!la' とした場合は `la' で始まるイベントを検索します。
.Pp
.Ss \' と \&" によるクォート
文字列を `\'' または `"' によって
クォートすることにより、残りの置換のすべてあるいは一部を
抑制することができます。`'' によってクォートされた文字列には
本マニュアルのこれ以降に説明する置換が適用されません。`"' によって
クォートされた文字列は、後述するように一部の置換が適用されます。
.Pp
どちらのクォートの結果も単一の単語 (の全体または一部) となります。
ただし、`"' クォートされたコマンド置換は複数の単語になる特殊な場合が
1 つだけあります(後述の
.Sx コマンド置換
の項を参照)。
`\'' クォートの場合は、このようなことはありません。
.Ss エイリアス置換
シェルはエイリアス(別名定義)を管理しており、
.Ar alias
コマンドと
.Ar unalias
コマンドに
より設定、表示、修正等を行うことができます。コマンド行がスキャンされたあと、
個々のコマンドに解析され、各コマンドの最初の単語に対応するエイリアスが
あるかどうかチェックします。もし存在すれば、入力されたコマンド行の内容を
直前のコマンドとみなして、エイリアスの内容をヒストリ展開します。
コマンド行全体は展開結果と置き換えられます。エイリアスの内容が
ヒストリ参照を含まなかった場合、入力したコマンド行の引数は変更せずに
残されます。
.Pp
`ls' に対するエイリアスが `ls -l' だった場合、`ls /usr' は `ls -l
/usr' に展開されます。この場合、エイリアスにはヒストリ参照がなかったため、
引数の `/usr' は変更せずに残されました。`lookup' に対するエイリアスが
`grep !\*(ua /etc/passwd' だった場合、`lookup bill' は
`grep bill /etc/passwd' に展開されます。
.Pp
エイリアスが展開された場合、展開結果に対して単語分割とエイリアス検索が
再度行われます。展開結果の最初の単語が展開前の最初の単語と同一になった場合、
再度エイリアス検索が行われることはありません。それ以外の、エイリアスによる
ループは検出され、エラー扱いとなります。
.Pp
このメカニズムによってエイリアスでパーサのメタ記法を利用できます。
よって `alias print \'pr \e!* \&| lpr\'' とエイリアスすることで
.Ar pr
引数をプリンタに出力させるというようなことができます。
.Ss 変数置換
シェルは変数を管理しており、それらは 0 個またはそれ以上の単語のリストを
値として持ちます。変数のうちいくつかはシェルがセットしたり参照したりします。
たとえば、変数
.Ar argv
はシェルへの引数を保持しており、この変数の値である単語は、特殊な方法で
参照されます。
.\" #### jpman kuma 96.12.05 here checked ... TO BE CONTINUED
.Pp
変数の値は
.Ar set
および
.Ar unset
コマンドにより参照、変更することができます。シェルが
参照する変数のうちいくつかは、それがセットされているかどうかだけが重要
であり、値が何であっても意味を持たないものがあります。たとえば、変数
.Ar verbose
は入力行がエコーされるかどうかを制御する変数であり、この変数を
セットすることは、
.Nm
.Fl v
オプションを指定したのと同じ意味になります。
.Pp
変数を数値として扱う操作もあります。`@' コマンドによって変数に対して数値演算
を適用し、演算結果を変数に代入することができます。しかしながら、変数の
値はつねに文字列として表現されます。数値演算の場合、空文字列は 0 と
みなし、変数の値が複数の単語からなる場合 2 番目以降の単語は無視されます。
.Pp
入力行にエイリアス置換を行い、構文解析を行ったあと、コマンドが実行される
前に文字 `$' をキーとして変数置換を行います。`$' の直前に `\e'
を置くことにより、変数置換を抑制することができます。
ただし、`"' クォート中では変数置換は
.Em 必ず
行われますが、`\'' クォート中では
.Em 決して行われません。
`\*(ga' クォートのなかはさらにあとで解釈されるため(後述の
.Sx コマンド置換
の項を参照)、ここでは変数置換は行いません。`$' の直後に空白、タブ、
改行がくる場合、`$' はそのまま残されます。
.Pp
入出力リダイレクトは変数置換より前に解釈され、別々に変数置換が行われます。
それ以外のコマンド名と引数は同時に展開されます。このため、最初の
単語(コマンド)が展開の結果、複数の単語となったり、展開された結果の
最初の単語がコマンド名、それ以外が引数の一部になることもあります。
.Pp
`"' でクォートされておらず、変数置換に `:q' 修飾子も指定されなかった
場合には、変数置換の結果にコマンドとファイル名置換が
行われます。`"' クォート内では複数の単語からなる値を持つ変数は、各単語を
1つの空白で区切った単一の単語 (の一部) に展開されます。`:q' 修飾子が
指定された場合は、各単語は 1 つの空白で区切られ、
この後のコマンドとファイル名置換を抑止するために、個々にクォートされた
単語の列に展開されます。
.Pp
変数置換には以下の形式があります。特に記述していない場合、
セットされていない変数の参照はエラーになります。
.Pp
.Bl -tag -width Ds -compact -offset indent
.It $name
.It ${name}
.\" #### modified by kuma 96.12.21 ####
変数
.Ar name
の値の各単語を 1 つの空白文字で区切ったものに展開されます。中括弧は
.Ar 変数名
と後続する文字を分離し、後続する文字が変数名の一部と解釈されないように
するために用いられます。シェル変数は 20 文字までの名前を持ちます。
変数名の先頭はアルファベットで、それ以降はアルファベット、数字、
アンダースコアを使用することができます。
.Ar name
という名前のシェル変数は存在しないが、同名のセットされた環境変数が
存在する場合には、その値に置換されます(ただし、環境変数に対しては
.Nm :
修飾子と以降に説明する書式を
用いることはできません)。
.It $name Ns Op selector
.It ${name Ns [ selector ] }
変数
.Ar name
の値のうちいくつかの単語を選択して展開します。
.Ar selector
は 1
つの数字、範囲を示す2つの数字を `\-' でつないだもの、あるいはそのような
結果になる変数置換のいずれかです。単語は 1 から順序づけられています。
範囲の最初の数字が省略された場合は 1 が用いられます。範囲の第2の数字が
省略された場合は `$#name' が用いられます。selector として `*' が用いられた
場合には、すべての単語に展開されます。範囲の第2の数字が省略されるか、
単語数より小さい場合には、範囲が空になってもエラーとはなりません。
.It $#name
.It ${#name}
変数の値の単語数に展開されます。
この機能は後述する
`$argv[selector]'
で有用です。
.It $0
コマンドを読み込んでいるファイル名に展開されます。ファイル名が不明の場合は
エラーとなります。
.It $number
.It ${number}
`$argv[number]' と等価です。
.It $*
`$argv[*]' と等価です。
.El
.Pp
修飾子 `:e', `:h', `:t', `:r', `:q', `:x' や
`:gh', `:gt', `:gr' を適用することができます。中括弧 `{' `}' で
囲まれている場合は、中括弧内に修飾子が存在しなければなりません。
現在の csh の実装では、各 `$' 展開につき1つの修飾子のみ指定することができます。
.Pp
以下の置換を行なう場合は `:' 修飾子を指定することはできません。
.Bl -tag -width Ds -compact -offset indent
.It $?name
.It ${?name}
変数 name がセットされていれば `1' に、さもなければ `0' に展開されます。
.It $?0
現在の入力ファイル名がわかっていれば `1' に、不明ならば `0' に展開されます。
.It \&$\&$\&
親のシェルの (10進の) プロセス番号に展開されます。
.It $!
そのシェルから起動された最後のバックグラウンド・プロセスの
(10進の) プロセス番号に展開されます。
.It $<
標準入力から1行を読み込み、その内容に展開されます。読み込んだ内容の解釈は
行いません。スクリプト中でキーボードからの入力を受けるのに用いられます。
.El
.Ss コマンドとファイル名置換
残りの置換であるコマンド置換とファイル名置換は、
組み込みコマンドの引数に対しては
適用されたり、されなかったりします。
.\" #### changed by kuma 96.12.21 ####
すなわち、式の中で評価が行われない部分に関しては
以下の置換が行なわれません。組み込みコマンドではないコマンドにおいては、
コマンド名は引数とは別に置換が行なわれます。
.\" #### changed by kuma 96.12.21 ####
コマンド名に対する置換が生じるのは一連の置換処理の最後の方で、
入出力リダイレクトの設定後、メインシェルの子供の中で行われます。
.Ss コマンド置換
コマンド置換は、コマンドを `\*(ga' で囲むことによって指示します。
コマンドからの
出力は空白、タブ、改行によって単語に分割され、空の単語を削除したあとに
元の文字列と置換されます。
`"' の内部では、改行のみが単語分割の区切りとして扱われ、空白とタブは
そのまま残されます。
.Pp
どちらの場合も、コマンドの出力の最後の改行は単語の区切りとはならず、単に
削除されます。
よってコマンド置換によって、コマンドの出力が完全な 1 行であっても、
単語の一部分のみを生成することが可能です。
.Ss ファイル名置換
単語が文字 `*', `?', `[', `{' を含んでいるか、単語の先頭文字が `~' の
.\" #### modified by kuma 96.12.21 ####
場合、その単語はファイル名展開(あるいはグロブ(glob)と呼ばれます)の
候補となります。
.\" #### modified by kuma 96.12.21 ####
候補となった単語はパターンとみなされ、パターンにマッチするファイル名が
アルファベット順にソートされた列に置換されます。
ファイル名置換を含む単語の列がどれもファイル名にマッチしなかった場合には
エラーとなりますが、
すべての単語パターンがマッチする必要はありません。
メタキャラクタ`*', `?', `['
のみがパターンマッチ文字であり、`~' と `{' は省略形といったほうが近いで
しょう。
.Pp
ファイル名マッチにおいて、ファイル名先頭、または `/' の直後の `.' は、
`/' と同様に明示的にマッチさせなければなりません(`*' や `?' は
これらにマッチしません)。
`*' は、空文字列を含むどのような文字列にもマッチします。`?' は、
どのような1文字にもマッチします。
.Sq Op ...
は、括弧のなかで指定した文字のいずれかにマッチします。
.Sq Op ...
内では、文字の対を `\-' でつなぐことで、
文字の範囲を指定することができます(両側の文字も含まれます)。
.Pp
ファイル名の先頭の `~' はホーム・ディレクトリを示すのに用いられます。
単独で用いられた場合には、シェルを起動したユーザのホーム・ディレクトリ
.\" #### modified by kuma 96.12.21 ####
(変数
.Ar home
の値に反映されているとおり)に展開されます。`~' に続けてアルファベット、
数字、`-' からなる単語が続いた場合は、その単語をユーザ名とみなして、
そのユーザのホーム・ディレクトリに展開されます。たとえば、ユーザ ken の
ホーム・ディレクトリが `/usr/ken' ならば、`~ken' は
`/usr/ken' に、 `~ken/chmach' は `/usr/ken/chmach' に展開されます。
直後にアルファベットと `/' 以外が続く`~'と、ファイル名の先頭にない `~' は
変更されずにそのまま残されます。
.Pp
メタ記法 `a{b,c,d}e' は `abe ace ade' の短縮形です。
.\" #### modified by kuma 96.12.21 ####
この記法の左から右への出現順序は保存されます。
展開結果は下位のレベルで個別にソートされ、出現順序は保存されます。
この記法は入れ子にすることができます。
source のホーム・ディレクトリが `/usr/source' ならば、
`~source/s1/{oldls,ls}.c' は `/usr/source/s1/oldls.c
/usr/source/s1/ls.c' に展開されます。このとき oldls.c や ls.c が
存在しなくともエラーにはなりません。同様に、`../{memo,*box}' は
`../memo ../box ../mbox' 等に展開されます(`memo' と `*box' の
展開結果がいっしょに
ソートされたりしていないことに注意してください)。特殊な場合として、
単独の`{' と `}', `{}' は変更されずにそのまま残されます。
.Ss 入出力
コマンドの標準入出力は、以下の方法によりリダイレクトすることができます:
.Pp
.Bl -tag -width Ds -compact -offset indent
.It < name
ファイル
.Ar name
(変数、コマンド、ファイル名展開を受けます)をオープンし、
コマンドの標準入力とします。
.It << word
.Ar word
と同一の行が出現するまで、シェルの入力を読み込みます。
.Ar word
は変数、ファイル名、コマンド置換を受けません。シェル入力の行は
読み込まれるとすぐに
.Ar word
と比較されます(置換を行う前に)。その後、
.Ar word
`\e', `"', `\'', `\*(ga' クォートが出現しないなら、読み込まれた行には
変数置換と
.\" #### ^^^^^^^ `\'' だと思う(1次チェック者のコメント?jpman kuma 961205)
.\" #### kuma agree with you, changed as specified 96.12.22
コマンド置換が適用されます。この置換を抑制するために、`\e' によって
`$', `\e', `\*(ga' をクォートすることができます。コマンド置換において、
すべての空白、タブ、改行は保存されますが、最後の改行は削除されます。
読み込んだ行はすべて中間的なファイルに保存され、コマンドの標準入力として
用いられます。
.It > name
.It >! name
.It >& name
.It >&! name
ファイル
.Ar name
を標準出力として用います。ファイルが存在しなければ作成され、
すでにファイルが存在すればその内容は切り捨てられ、以前の内容は失われます。
.Pp
変数
.Ar noclobber
がセットされている場合、ファイルが存在しないか文字型特殊ファイル (端末や
`/dev/null' のような) でなければエラーになります。これは、
すでに存在するファイルを思いがけず削除してしまうことを防止します。`!' を
用いた形式を使うと、この検査を抑制することができます。
.Pp
`&' を用いた形式では、標準出力とともに標準エラー出力もファイルへ
リダイレクトされます。
.Ar name
.\" #### modified by kuma 96.12.21 ####
は、 `<' の入力ファイル名の場合と同様の展開を受けます。
.It >> name
.It >>& name
.It >>! name
.It >>&! name
`>' と同様に、ファイル
.Ar name
を標準出力として用います。ただし、コマンドの出力はファイルへ追加されます。
変数
.Ar noclobber
がセットされている場合、
ファイルが存在しなければエラーとなります(`!' を用いることで、
この検査を抑制することができます)。
他は `>' と同様です。
.El
.Pp
コマンドは、シェルが起動されたときの環境を、入出力リダイレクトと
パイプラインによって変更したもののなかで実行されます。以前のいくつかの
シェルとは異なり、
シェルコマンドファイルから起動されたコマンドは、デフォルトでは標準入力に
よってシェルコマンドファイル自体にアクセスすることはできません。
かわりに、シェルが起動した環境の標準入力をそのまま受け継いでいます。
`<<' 機構はインラインデータのために用いるべきです。
このように制限することにより、
シェルコマンドスクリプトをパイプラインの一部として用いることができます。
バックグラウンドで実行されているコマンドの標準入力も
.Pa /dev/null
等にリダイレクトされることは
.Ar なく
、シェルの標準入力をそのまま受け継いでいます。もし標準入力が端末で、
コマンドが端末から読み込もうとした場合、そのプロセスはブロックされ、
シェルはユーザにそのことを通知します(参照:
.Sx ジョブ
の項)。
.Pp
標準エラー出力もパイプにリダイレクトすることができます。単純に `\&|' の
かわりに `\&|&' を使います。
.Ss 式
.\" #### modified by kuma 96.12.21 ####
いくつかの組み込みコマンド(後述します)は、引数として式を取ります。式は C
言語のものと類似しており、同じ優先順位を持ちます。式は
.Em @ ,
.Em exit ,
.Em if ,
.Em while
コマンド中で用います。以下の演算子が使用可能です:
.Bd -ragged -offset indent
\&|\&| && \&| \*(ua & == != =~ !~ <= >=
< > << >> + \- * / % ! ~ ( )
.Ed
.Pp
上記の演算子は右にいくほど優先順位が高くなっています。
`==' `!=' `=~' `!~', `<=' `>=' `<' `>', `<<' `>>', `+' `\-',
`*' `/' `%' の 5グループは各グループ内では同じ優先度です。
`==', `!=', `=~', `!~' は文字列の比較を行い、他の演算子は数値演算を
行います。`=~', `!~' は `!=', `==' と同様ですが、右辺を
.Ar パターン
(`*', `?', `[...]' を含んだ) とみなして、左辺とのパターンマッチが行われます。
これにより、シェル
スクリプトにおいてパターンマッチのみが必要な局面では
.Ar switch
ステートメントを使わずに済ませることができます。
.Pp
先頭が `0' の文字列は 8 進数の数値とみなされます。空または省略された引数
は `0' とみなされます。すべての演算結果は 10 進数数値の文字列となります。
式の 2 つの要素が同一の単語中に出現してはいけません。つまり、
.\" #### modified by kuma 96.12.21 ####
要素の前後が、構文解析において特殊な意味を持つ
`&', `\&|', `<', `>', `(', `)' でない場合は、
その要素は空白で囲まれていることが必要です。
.Pp
数式中では、`{' と `}' で囲んだコマンドと、
以下のファイル検査演算子を用いることができます。
ファイル検査演算子は
.Fl l
.Ar name
の形式で、
.Ic l
は以下のうちのいずれかです:
.Bd -literal -offset indent
r 読み込みアクセス
w 書き込みアクセス
x 実行アクセス
e 存在
o 所有
z サイズがゼロ
f 通常ファイル
d ディレクトリ
.Ed
.Pp
指定された name は、コマンド、ファイル名置換を適用したのちに
実ユーザの権限において検査されます。ファイルが存在しないか、
アクセス不可なら演算結果は false すなわち `0' になります。
コマンド実行においては、コマンドが成功したなら演算結果は true `1' に、
コマンドが 0 以外の終了ステータスを返してきたら、すなわち、
失敗なら演算結果は false `0' になります。
終了ステータスの値自体を知りたい場合は、コマンドを式以外の文脈で実行し、変数
.Ar status
の値を調べます。
.Ss 制御構造
シェルにはコマンドファイル(シェル・スクリプト)中で、
あるいは(制限されてはいるが、便利な方法で)端末から、
制御の流れを変更するためのいくつかのコマンドがあります。
これらのコマンドはシェルに入力を読み直させたり、
スキップさせたりすることができます。実装の制限上、
これらのコマンドを書くことのできる位置に制限があります。
.Pp
.Ic foreach ,
.Ic switch ,
.Ic while ,
文、および、
.Ic if\-then\-else
.Ic if
ステートメントは、
後述するように入力行の単一の単純コマンドとして現れる必要があります。
.Pp
シェルの入力がシーク不可能な場合、
シェルは繰り返しが必要なときには入力をバッファに保存し、
.\" #### modified by kuma 96.12.23 ####
この内部バッファに対してシークを行います(このため、シーク不可能な入力の場合も、
後方への goto が可能です)。
.Ss 組み込みコマンド
組み込みコマンドは通常シェルのプロセス内部で実行されます。
ただし、組み込みコマンドがパイプラインの最後以外に用いられた場合は、
サブシェル上で実行されます。
.Pp
.Bl -tag -width Ds -compact -offset indent
.It Ic alias
.It Ic alias Ar name
.It Ic alias Ar name wordlist
1行目の形式はすべてのエイリアスを出力します。2 行目の形式は
.Ar name
に対応したエイリアスの値を出力します。最後の形式は
.Ar wordlist
.Ar name
のエイリアスとして登録します。
.Ar wordlist
にはコマンド置換、ファイル名置換が適用されます。
.Ar name
として
.Ar alias
または
.Ar unalias
を指定することはできません。
.Pp
.It Ic alloc
.Nm
が獲得したメモリのうちの使用量と空き容量を表示します。
なんらかの引数をつけると、ブロックサイズごとの使用中/空ブロック数を表示します。
ブロックサイズは 8、16、32、.. となります。
本コマンドの出力はシステムによって異なります。
VAX 以外のシステムは、異なるメモリ管理を行っているかもしれないからです。
.Pp
.It Ic bg
.It Ic bg \&% Ns Ar job ...
現在のジョブあるいは指定されたジョブをバックグラウンドに移動します。
もしそれらのジョブが停止されていたなら、実行が再開されます。
.Pp
.It Ic break
最も内側の
.Ic foreach
または
.Ic while
ループに対応する
.Ic end
の後へ脱出します。同じ行にある残りのコマンドは実行されます。複数の
.Ic break
を同一行に記述することで複数レベルの脱出が行えます。
.Pp
.It Ic breaksw
.Ic switch
から脱出し、
.Ic endsw
のあとで実行を再開します。
.Pp
.It Ic case Ar label :
.Ic switch
ステートメントのラベルを指定します。
.Pp
.It Ic cd
.It Ic cd Ar name
.It Ic chdir
.It Ic chdir Ar name
.\" #### modified by kuma 96.12.23 ####
シェルの作業ディレクトリをディレクトリ
.Ar name
に変更します。引数が指定されなかった場合には、
ユーザのホーム・ディレクトリに変更します。
カレント・ディレクトリにディレクトリ
.Ar name
がない場合(かつ
.Ar name
が `/', `./', `../'
で始まっていない場合)、変数
.Ic cdpath
の各要素のサブディレクトリとして
.Ar name
がないかどうかを調べます。最後に、シェル変数
.Ar name
に `/' で始まる値が設定されているなら、
その値のディレクトリが存在しないかを調べます。
.Pp
.It Ic continue
最も内側の
.Ic while
または
.Ic foreach
ループの先頭に戻ります。戻る前に、同じ行に記述されたコマンドが実行されます。
.Pp
.It Ic default :
.Ic switch
ステートメントのデフォルトを指定します。
.Ic default
は、すべての
.Ic case
ラベルのあとに出現しなければなりません。
.Pp
.It Ic dirs
ディレクトリ・スタックを表示します。
スタックの先頭(カレント・ディレクトリ)を左端にして表示します。
.Pp
.It Ic echo Ar wordlist
.It Ic echo Fl n Ar wordlist
指定された単語を空白で区切った文字列をシェルの標準出力に書き出します。
.Fl n
オプションが指定されなければ、最後に改行が出力されます。
.Pp
.It Ic else
.It Ic end
.It Ic endif
.It Ic endsw
.Ic foreach ,
.Ic if ,
.Ic switch ,
.Ic while
ステートメントの項を参照してください。
.Pp
.It Ic eval Ar arg ...
(
.Xr sh 1
と同様)引数をシェルへの入力であるとみなして読み込み、
現在のシェルのコンテキストで実行します。
コマンド置換や変数置換の結果として生成されたコマンド列を実行する場合に用いられます。
通常は、それらの置換に先立って文法解析が行われてしまうからです。
.Ic eval
の使い方の例が
.Xr tset 1
にあります。
.Pp
.It Ic exec Ar command
指定された command を現在のシェルと置き換えて実行します。
.Pp
.It Ic exit
.It Ic exit Ar (expr )
1行目の形式では変数
.Ic status
の値、2 行目の形式では式
.Ic expr
の値を返り値としてシェルを終了します。
.Pp
.It Ic fg
.It Ic fg % Ns Ar job ...
現在のジョブあるいは指定されたジョブをフォアグラウンドに移動します。
停止していたジョブは実行を再開します。
.Pp
.It Ic foreach Ar name (wordlist)
.It ...
.It Ic end
変数
.Ic name
.Ic wordlist
の各値を順次セットしながら対応する
.Ic end
までのコマンドを繰り返し実行します(
.Ic foreach
.Ic end
.\" #### modified by kuma 96.12.23 ####
は単独で行に置かなければなりません)。組み込みコマンド
.Ic continue
を使って中途でループの次の繰り返しを実行させたり、
.Ic break
コマンドによって中途でループを脱出させたりすることができます。
このコマンドが端末から読み込まれる場合、ループすべての内容が(プロンプト
? を表示しながら)読み込まれてから実行が開始されます。
端末からループ中でタイプ・ミスした場合は修正できます。
.Pp
.It Ic glob Ar wordlist
.Ic echo
コマンドと似ていますが、`\e' によるエスケープは解釈されず、
.\" #### modified by kuma 96.12.23 ####
単語はヌル文字によって区切られます。プログラムから、
シェルをファイル名置換のために利用する場合に便利です。
.Pp
.It Ic goto Ar word
.Ic word
にファイル名置換、およびコマンド置換が適用されたのち、それを `label'
とみなします。シェルは可能なかぎり入力を遡って読み直し、`label:'
のある行を検索し、そこから実行を開始します。
ラベルの前には空白またはタブを置くことが可能です。
.Pp
.It Ic hashstat
コマンドを検索するのに、
内部キャッシュがどの程度効率的に働いているか
(そして
.Ic exec
をどの程度回避できているかを)を表示します。
.\" #### modified by kuma 96.12.23 ####
.Em path
の要素のうち、ハッシュ関数がヒットの可能性を示すものと、
`/' で始まらないものについて
.Ic exec
が試みられます。
.Pp
.It Ic history
.It Ic history Ar n
.It Ic history Fl r Ar n
.It Ic history Fl h Ar n
ヒストリのリストを表示します。数字
.Ar n
が指定された場合には、最近の
.Ar n
個のイベントが表示されます。
.Fl r
オプションは表示順序を逆にします。
.\" #### modified by kuma 96.12.23 ####
すなわち、最も古いものを先に表示するのではなく、
最も新しいものを先に表示します。
.Fl h
オプションを指定すればイベント番号が省略されます。これは
.Ic source
コマンドで \-h を使って読み込むためのファイルを生成する場合に用いることができます。
.Pp
.It Ic if ( Ar expr ) No command
.\" #### modified by kuma 96.12.23 ####
指定された式が true と評価されたなら、単一のコマンド
.Ar command
が実行されます。
.Ar command
.\" #### modified by kuma 96.12.23 ####
に対する変数置換は、実行に先だって
.Ic if
コマンドの残りの部分と同時に行なわれます。
.Ar command
は単純コマンドのみが許され、パイプライン、コマンドリスト、括弧でくく
られたコマンドであってはいけません。入出力リダイレクションは式
.Ar expr
が false
と評価され、それゆえ
.Ar command
が実行
.Sy されなかった
場合にも処理されます(これはバグです)。
.Pp
.It Ic if ( Ar expr ) Ic then
.It ...
.It Ic else if ( Ar expr2 ) Ic then
.It ...
.It Ic else
.It ...
.It Ic endif
.Ar expr
が true なら最初の
.Ic else
までのコマンドが実行されます。さもなければ、式
.Ar expr2
が true なら次の
.Ic else
までのコマンドが実行されます。
いくつでも
.Ic else-if
の対を繰り返すことができます。最後に 1 つの
.Ic endif
が必要です。
最後の
.Ic else
部分はあってもなくてもかまいません。
(単語
.Ic else
.Ic endif
は入力行の最初に置く必要があります。また、
.Ic if
は行内に単独で、または
.Ic else
のあとに置く必要があります)。
.Pp
.It Ic jobs
.It Ic jobs Fl l
アクティブなジョブの一覧を出力します。
.Fl l
.\" #### modified by kuma 96.12.23 ####
オプションを指定すると、通常の情報に加えてプロセス ID も出力します。
.Pp
.It Ic kill % Ns Ar job
.It Ic kill Ar pid
.It Ic kill Fl sig Ar pid ...
.It Ic kill Fl l
TERM(terminate) シグナルあるいは指定したシグナルを、
指定されたジョブまたはプロセスに送ります。
シグナルは番号または名前で指定できます(名前は
.Pa /usr/include/signal.h
にある名前から `SIG' を取り除いたものです)。
シグナル名の一覧を ``kill \-l'' により表示できます。
kill にはデフォルト動作はなく、
単に `kill' を実行しても現在のジョブにシグナルが送られるようなことはありません。
送るシグナルが TERM(terminate) または HUP(hangup) の場合、
CONT(continue) シグナルも同時に送られます。
.Pp
.It Ic limit
.It Ic limit Ar resource
.It Ic limit Ar resource maximum-use
.It Ic limit Fl h
.It Ic limit Fl h Ar resource
.It Ic limit Fl h Ar resource maximum-use
現在のプロセスと、それが生成するプロセスのそれぞれについて、
.\" #### modified by kuma 96.12.23 ####
指定されたリソース
.Ar resource
を、指定された
.Ar maximum-use
を超えて使用しないように設定します。
.Ar maximum-use
が指定されなかった場合、現在の制限値が表示されます。
.Ar resource
が指定されなかった場合、すべての制限値が表示されます。
.Fl h
オプションが指定された場合、
現在の制限値のかわりにハードリミットの表示/設定を行います。
.\" #### modified by kuma 96.12.23 ####
ハードリミットは現在の制限値の上限の値です。
スーパーユーザのみがハードリミットを増加させることができます。
一般ユーザは現在の制限値を可能な範囲で増減することができます。
.Pp
.\" #### modified by kuma 96.12.23 ####
現在のところ、制御可能なリソースは、
.Ar cputime
(各プロセスが使うことのできる最大の CPU 秒数)、
.Ar filesize
(1つのファイルの最大サイズ)、
.Ar datasize
(
.Xr sbrk 2
.\" #### modified by kuma 96.12.23 ####
を用いてプログラムのテキスト領域の末尾を超えて増加させることのできる
data+stack 領域の最大サイズ)、
.Ar stacksize
.\" #### modified by kuma 96.12.23 ####
(自動的に拡張されるスタックの最大サイズ)、
.Ar coredumpsize
(最大のコアファイルのサイズ)です。
.Pp
最大値
.Ar maximum-use
は、(整数あるいは浮動小数の)
数値とそれに続くスケールファクタによって指定します。
.Ar cputime
以外の制限値のデフォルトのスケールファクタは
`k' あるいは `kilobytes'(1024 バイト)です。
.\" #### modified by kuma 96.12.23 ####
スケールファクタとして `m' あるいは `megabytes'
を使用することもできます。
.Ar cputime
のデフォルトのスケールファクタは `seconds'(秒)です。
`m'(分)、`h'(時間) をスケールファクタとして指定したり、
`mm:ss' 形式で分秒を指定したりすることができます。
.Pp
.\" #### modified by kuma 96.12.23 ####
リソース名
.Ar resource
とスケールファクタを指定する際には、
.\" #### modified by kuma 96.12.23 ####
一意に決定できるなら、名前の先頭部分だけを指定することができます
.\" #### jpman kuma: not found in freebsd-2.1.5-RELEASE manpage (st を stacksize のかわりに用いる等)。
.Pp
.It Ic login
ログイン・シェルを終了し、
.Pa /usr/bin/login
と置き換えます。これは
.Xr sh 1
との互換性のために用意されたログオフの手段です。
.Pp
.It Ic logout
ログイン・シェルを終了します。
.Ic ignoreeof
がセットされている場合に便利です。
.Pp
.It Ic nice
.It Ic nice Ar +number
.It Ic nice Ar command
.It Ic nice Ar +number command
1 行目の形式は、シェルのスケジューリング・プライオリティを 4 に設定します。
2 行目の形式は、プライオリティを指定された値
.Ar number
に設定します。残りの 2 つの形式は、コマンド
command をプライオリティ 4 または指定した
.Ar number
で実行します。
.\" #### modified by kuma 96.12.23 ####
大きい数値を指定するとプロセスが利用できる CPU がその分少なくなります。
スーパーユーザのみがプライオリティとして負の値を `nice \-number ...'
のように指定することができます。
.Ar command
はつねにサブシェルで実行され、
単純な
.Ic if
.\" #### modified by kuma 96.12.23 ####
文のコマンドと同様の制限を受けます。
.Pp
.It Ic nohup
.It Ic nohup Ar command
1 行目の形式は、シェル・スクリプト内で使用し、
スクリプトのそれ以降で hangup シグナルを無視するように設定します。
2 行目の形式は、指定されたコマンドが、
hangup シグナルを無視するように設定して実行します。
`&' をつけて実行されたプログラムは、
.Ic nohup
を指定して実行したのと同様に hangup シグナルを無視します。
.Pp
.It Ic notify
.It Ic notify % Ns Ar job ...
現在のジョブまたは指定されたジョブの状態が変化したときに、
.\" #### modified by kuma 96.12.23 ####
コマンド待ちかどうかに関わりなく即座に通知するように指定します。
通常は、プロンプトが表示される直前に通知が行われます。
シェル変数
.Ic notify
が指定されている場合は、すべてのジョブに対して同様の設定が行われます。
.Pp
.It Ic onintr
.It Ic onintr Fl
.It Ic onintr Ar label
割り込みに対するシェルの動作を制御します。1行目の形式は、
シェルをデフォルトの動作、すなわち、スクリプトの実行が中断される、
またはコマンド入力状態に戻るように設定します。
2 行目の形式は、すべての割り込みを無視するように設定します。
3行目の形式は、シェルが割り込みを受けるか、
チャイルドプロセスが割り込みによって停止した場合に
goto label が実行されるように設定します。
.Pp
シェルがバックグラウンドで、かつ、
シグナルを無視するように設定して実行されている場合は、
.Ic onintr
は効力を持たず、
割り込みはシェルとそこから起動されるすべてのコマンドで
引続き無視されます。
最後に
.Ic onintr
文はシステムのスタートアップ・ファイル
(/etc/csh.cshrc, /etc/csh.login) 中でも、
割り込みが禁止されているので無視されます。
.Pp
.It Ic popd
.It Ic popd Ar +n
ディレクトリ・スタックをポップし、
新たにスタックの先頭になったディレクトリにカレント・ディレクトリを変更します。
引数
.Ns \`+ Ar n Ns \'
が指定された場合、スタックの
.Ar n
番目の要素が捨てられます。ディレクトリ・スタックの要素は、
スタックの先頭から 0 から順に番号がつけられます。
.Pp
+.It Ic printf Ar format-string values
+.Ar format-string
+と
+.Ar values
+を評価した後、組み込み版の
+.Ic printf
+を起動します。
+詳細はマニュアルページ
+.Xr printf 1
+を参照してください。
+.Pp
.It Ic pushd
.It Ic pushd Ar name
.It Ic pushd Ar n
引数を指定しなかった場合、
.Ic pushd
はスタックの先頭の 2 つの要素を入れ替えます。引数
.Ar name
が指定された場合、
.Ic cd
と同様にカレント・ディレクトリを変更したあと、
古いカレント・ディレクトリ
.\" cwd の typo だと思うが わからない
.\" (as in
.\" .Ic csw )
.\" #### kuma agree with you on 96.12.23 ####
をディレクトリ・スタックにプッシュします。
数字引数が指定された場合、ディレクトリ・スタックの
.Ar n
番目の要素が
スタックの先頭にくるようにローテートし、
カレント・ディレクトリをその要素が指すディレクトリに変更します。
ディレクトリ・スタックの要素は、スタックの先頭から
0 から順に番号がつけられます。
.Pp
.It Ic rehash
変数
.Ic path
に指定されているディレクトリ内の、ファイルに関するハッシュ・テーブルを
再計算させます。ログイン中に、新しいコマンドが
.Ic path
に含まれるディレクトリに追加された場合、
.\" #### modified by kuma 96.12.23 ####
rehash コマンドを実行する必要があります。
これは、あなたが個人的なディレクトリの 1 つにコマンドを追加したか、
システムの管理者がシステム・ディレクトリの内容を変更したような
場合にのみ必要です。
.Pp
.It Ic repeat Ar count command
指定されたコマンド
.Ar command
.Ar count
回繰り返し実行します。
.Ar command
.\" #### modified by kuma 96.12.23 ####
に指定するものは、先の 1 行
.Ic if
文で指定する
.Ar command
と同様の制限を受けます。
入出力リダイレクションは
.Ar count
が たとえ 0 であっても、必ず 1回だけ処理されます。
.Pp
.It Ic set
.It Ic set Ar name
.It Ic set Ar name Ns =word
.It Ic set Ar name[index] Ns =word
.It Ic set Ar name Ns =(wordlist)
1 行目の形式はすべてのシェル変数の値を表示します。
複数の単語からなる値を持つ変数は括弧で囲まれた値のリストで表示します。
2 行目の形式は、
.Ar name
に空文字列を設定します。3 行目の形式は
.Ar name
に単一の単語
.\" #### modified by kuma 96.12.23
.Ar word
を設定します。4 行目の形式は
.Ar name
.Ar index
番目の要素に
.Ar word
を設定します。
.Ar index
番目の要素はすでに存在していなければなりません。5 行目の形式は
.Ar name
.Ar wordlist
で指定した単語列を設定します。すべての形式で、
値にはコマンド置換とファイル名置換が適用されます。
.Pp
複数の変数を設定するために、set コマンドへの引数を繰り返すことができます。
ただし、引数に対する変数展開処理は、代入処理に先だって行われます。
.Pp
.It Ic setenv
.It Ic setenv Ar name
.It Ic setenv Ar name value
1 行目の形式はすべての環境変数の一覧を出力します。
これは
.Xr printenv 1
と等価です。
3 行目の形式は環境変数
.Ar name
に値
.Ar value
を設定します。2 行目の形式は環境変数
.Ar name
.\" #### modified by kuma 96.12.23 ####
に空文字列を設定します。最も一般的に用いられる環境変数である
.Ev USER ,
.Ev TERM ,
.Ev PATH
.Nm
の起動時にシェル変数
.Ar user ,
.Ar term ,
.Ar path
にそれぞれ設定され、
.Nm
から実行するプログラムの環境変数には、シェル変数
.Ic user ,
.Ic term ,
.Ic path
の値が反映されます。そのため、これらの変数を明示的に
.Ic setenv
する必要はありません。
.Pp
.It Ic shift
.It Ic shift Ar variable
(リスト)変数
.Ic argv
.\" #### modified by kuma 96.12.23 ####
の各要素を左にシフトし、
.Ic argv Ns Bq 1
の値を捨てます。
.Ic argv
に値が設定されていないか、
1 つ以上の要素を持たない場合にはエラーになります。
2 行目の形式は、指定された変数
.Ar variable
に対して同様の処理を行います。
.Pp
.It Ic source Ar name
.It Ic source Fl h Ar name
シェルは、指定されたファイル
.Ar name
からコマンドを読み込みます。
.Ic source
コマンドはネストすることができます。あまりに深くネストさせると、
.\" #### modified by kuma 96.12.23 ####
ファイル識別子を使い切ってしまう場合があります。いずれかのレベルの
.Ic source
コマンド中でエラーが発生すると、ネストしているすべての
.Ic source
コマンドが中断されます。通常、
.Ic source
の実行中に実行されたコマンドはヒストリに記録されませんが、
.Fl h
オプションを指定することにより、
ファイルに記述してあるコマンドを実行せずに、
ヒストリにのみ記録することができます。
.Pp
.It Ic stop
.It Ic stop % Ns Ar job ...
バックグラウンドで走行中の現在のジョブ、あるいは指定されたジョブを停止します。
.Pp
.It Ic suspend
シェル自身を停止させます。
.Em ^Z
でストップ・シグナルを送られたかのように振舞います。
.Xr su 1
によって起動したシェルを停止する場合によく用いられます。
.Pp
.It Ic switch Ar (string)
.It Ic case Ar str1 :
.It \ \ \ \ \&...
.It Ic \ \ \ \ breaksw
.It \ \ \ \ \&...
.It Ic default :
.It \ \ \ \ \&...
.It Ic \ \ \ \ breaksw
.It Ic endsw
.\" #### modified by kuma 96.12.23 ####
.Ic case
ラベルを順に、指定された文字列
.Ar string
でマッチングを行います。
.Ar string
には、まず、コマンド置換とファイル名置換が行われます。
.Ic case
ラベルには変数置換が行われ、ファイル名メタキャラクタの
`*', `?', `[...]' を用いることができます。
.\" #### modified by kuma 96.12.23 ####
.Ic default
ラベルが出てくるまでにどの
.Ic case
ラベルともマッチしなかった場合は、
.Ic default
ラベルの直後から実行が始まります。
.Ic case
ラベルと
.Ic default
ラベルは行の最初に書かれなければなりません。
.Ic breaksw
コマンドによって
.Ic endsw
以降のコマンドから実行が再開されます。
.Ic breaksw
を用いない場合は、 C 言語の場合と同様に、
.Ic case
ラベル、
.Ic default
ラベルを通過して実行が続けられます。
.Ic default
がなく、どのラベルもマッチしなかった場合には、
.Ic endsw
以降から実行が再開されます。
.Pp
.It Ic time
.It Ic time Ar command
1 行目の形式では、
シェルとそのチャイルドプロセスが使用した時間が表示されます。
.\" #### modified by kuma 96.12.23 ####
2 行目の形式では、指定された単純コマンドの実行時間が計測され、
.\" #### modified by kuma 96.12.23 ####
変数
.Ic time
の項で説明する形式で、使用時間情報の要約が表示されます。
必要ならば、コマンド終了時に時間を表示するための追加のシェルが生成されます。
.Pp
.It Ic umask
.It Ic umask Ar value
ファイル作成マスクを表示(第 1 の形式)または設定(第 2 の形式)します。
マスクは 8 進数で与えます。一般的な値としては、
グループにすべての権限を与え、
そのほかには読み込みと実行のみを許可する 002 や、
所有者以外には読み込みと実行しか許可しない 022 があります。
.Pp
.It Ic unalias Ar pattern
.Ar pattern
にマッチするすべてのエイリアスを削除します。
`unalias *' とすることですべてのエイリアスを削除することができます。
削除するものがなかった場合にもエラーにはなりません。
.Pp
.It Ic unhash
実行プログラムの位置検索を高速化する内部ハッシュ・テーブルの使用を禁止します。
.Pp
.It Ic unlimit
.It Ic unlimit Ar resource
.It Ic unlimit Fl h
.It Ic unlimit Fl h Ar resource
リソースの制限を解除します。
.Ar resource
が指定されない場合、すべてのリソースに対する制限が解除されます。
.Fl h
が指定された場合、対応するハードリミットが解除されます。
これはスーパーユーザのみが行うことができます。
.Pp
.It Ic unset Ar pattern
指定された
.Ar pattern
にマッチするすべての変数を削除します。
`unset *' と指定するとすべての変数が削除され、
悲惨な結果を生じることがあります。
.Ic unset
するものがない場合もエラーになりません。
.Pp
.It Ic unsetenv Ar pattern
指定された
.Ar pattern
にマッチするすべての環境変数を削除します。前述の
.Ic setenv
の項と
.Xr printenv 1
を参照してください。
.Pp
.It Ic wait
すべてのバックグラウンドジョブの終了を待ちます。
対話的にシェルが実行されている場合、
インタラプトにより wait を停止することができます。
このとき、シェルはいまだに終了していないジョブの名前とジョブ番号を表示します。
.It Ic which Ar command
.\" #### modified by kuma 96.12.23 ####
.Ar command
を指定したとき、シェルが実行するコマンドの位置を表示します。
.Pp
.It Ic while Ar (expr)
.It \&...
.It Ic end
指定された式の評価結果がゼロでないかぎり、
.Ic while
と対応する
.Ic end
の間のコマンドを繰り返し実行します。
.Ic break
.Ic continue
によりループを終了したり、途中から繰り返しを再開させたりすることができます。
(
.Ic while
.Ic end
は、その行に単独で書かれなければなりません。)入力が端末の場合、
.Ic foreach
ステートメントの場合と同様に、
ループのすべてを入力するまでプロンプトが表示され、
すべての入力を終えた時点でループが実行されます。
.Pp
.It Ic % Ns Ar job
指定されたジョブをフォアグラウンドに移動します。
.Pp
.It Ic % Ns Ar job Ic &
指定されたジョブをバックグラウンドで再開実行させます。
.Pp
.It Ic @
.It Ic @ Ar name Ns = Ns expr
.It Ic @ Ar name[index] Ns = Ns expr
1 行目の形式は、すべてのシェル変数の値を表示します。2 行目の形式は、
指定された名前
.Ar name
の変数に式
.Ar expr
の値を代入します。式のなかに `<', `>', `&', `|'を含んでいる場合、
少なくともそのような部分は `(' と `)' で囲まれている必要があります。
3 行目の形式は、変数の
.Ar index
番目の要素に式
.Ar expr
の値を代入します。
.Ar name
と、その
.Ar index
番目の要素はすでに存在していなければいけません。
.El
.Pp
C 言語と同様に、演算子 `*=', `+=' 等が利用可能です。
変数名と演算子の間の空白はあってもなくてもかまいません。
しかしながら、式の各要素の間には空白が必須です。
さもなければ、単一の単語とみなされてしまいます。
.Pp
特別な後置演算子 `+\|+' と `\-\|\-' により変数の値を 1 だけ増加させたり、
減少させたりすることができます。たとえば、`@ i++' のように使います。
.Ss 定義済み変数と環境変数
以下の変数は、シェルにとって特別な意味があります。これらのうち、
.Ar argv ,
.Ar cwd ,
.Ar home ,
.Ar path ,
.Ar prompt ,
.Ar shell ,
.Ar status
はシェルが設定します。そのうち、
.Ar cwd
.Ar status
以外の変数の設定はシェルの起動時にのみ行われます。
そのような変数は、ユーザが明示的に変更しないかぎり、
値が変化することはありません。
.Pp
シェルは、環境変数
.Ev USER
をシェル変数
.Ar user
に、
.Ev TERM
.Ar term
に、
.Ev HOME
.Ar home
にそれぞれコピーします。また、
これらのシェル変数が再度セットされた場合は環境変数にコピーしなおします。
環境変数
.Ev PATH
も同様に扱われます。サブシェルは環境変数によって
.Ar path
の値を得て、もしそれが変更されれば環境変数にコピーしなおすので
.Ar \&.cshrc
以外での
.Ar path
変数の設定について気をつける必要はありません。
.Bl -tag -width histchars
.It Ic argv
シェルへの引数が設定されます。位置パラメータは argv の値に展開されます。
すなわち、 `$1' は `$argv[1]' の値に置換されます。
.It Ic cdpath
.Ar chdir
.\" #### modified by kuma 96.12.23 ####
コマンドにおいてサブディレクトリを検索するためのディレクトリのリストです。
.It Ic cwd
.\" #### modified by kuma 96.12.23 ####
カレント・ディレクトリのフルパス名です。
.It Ic echo
.Fl x
オプションが指定された場合にセットされます。セットすることにより、
コマンドが実行される前にコマンド名とその引数が表示されるようになります。
.\" #### modified by kuma 96.12.23 ####
組み込みコマンド以外では、表示の前にすべての展開が行われます。
組み込みコマンドではコマンド置換とファイル名置換が行われる前に表示されます。
なぜなら、これらの置換は選択的に行われるからです。
.It Ic filec
ファイル名補完を有効にします。
.It Ic histchars
ヒストリ置換に用いる文字を文字列で指定します。
指定した文字列の最初の文字はヒストリ置換文字(デフォルトは `!')、
2 文字目は簡易置換文字(デフォルトは `\*(ua') を指定します。
.It Ic histfile
ヒストリをセーブ/リストアするパス名を指定できます。
.It Ic history
ヒストリ・リストのサイズを指定します。
このサイズを超えたコマンド履歴は削除されます。
あまりに大きな値を設定すると、シェルがメモリを使いつくすかもしれません。
最後に実行したコマンドは
.Ar history
の値にかかわらず、つねにヒストリ・リストに保存されます。
.It Ic home
.\" #### modified by kuma 96.12.23 ####
シェルを起動したユーザのホーム・ディレクトリです。
起動時に環境変数から設定されます。
ファイル名置換において
.Sq Pa ~
は本変数を参照して展開されます。
.It Ic ignoreeof
セットされると、端末のファイル終端(EOF)を無視するようになります。
間違って control-D を押してシェルを終了させてしまうのを防ぐことができます。
.It Ic mail
シェルがメールの到着をチェックするためのメールファイルを指定します。
コマンド実行が完了しプロンプトが表示されるときに、
.\" #### modified by kuma 96.12.23 ####
指定された時間が経過していればメイル到着のチェックが行われます。
最終修正時刻が最終アクセス時刻以降の場合、
シェルは `You have new mail' と出力します。
.Pp
.Ar mail
の値の最初の単語が数値の場合には、
その数値でメール検査の間隔を秒単位で指定します。
指定がなかった場合のデフォルト値は 10分です。
.Pp
複数のメールファイルが指定された場合、
メールが到着していた場合のメッセージは `New mail in
.Ar name Ns '
となります。ここで、
.Ar name
は到着したメールが あるファイル名です。
.It Ic noclobber
.Sx 入出力
の項で説明したように、
出力リダイレクトによって意図せずにファイルを削除しないように制限したり、
`>>' リダイレクトがすでに存在するファイルにしか適用できないようにします。
.It Ic noglob
セットされると、ファイル名展開が禁止されます。
ファイル名を扱わないシェルスクリプト内や、すでにファイル名展開を行ったあとで、
それ以上の展開を望まない場合に設定します。
.It Ic nonomatch
.\" #### modified by kuma 96.12.23 ####
セットされると、ファイル名展開の結果が空になってもエラーとせず、
展開前のパターンをそのまま残します。
.\" #### modified by kuma 96.12.23 ####
ただし、`echo [' のような、
展開前のパターンが文法的に正しくない場合はエラーになります。
.It Ic notify
セットされると、シェルがジョブの終了を随時報告するようになります。
通常はプロンプトの表示直前にのみ報告が行われます。
.It Ic path
.\" #### modified by kuma 96.12.23 ####
path 変数の各単語は、コマンドファイルを検索すべきディレクトリ名を表します。
空の単語はカレント・ディレクトリを示します。
.Ar path
変数が設定されて
いない場合、フルパス指定によるコマンド実行のみが可能になります。
通常の検索パスは
- `.', `/bin', `/usr/bin' です。しかし、これらの値はシステムによって異なります。
+`.', `/bin', `/usr/bin' です。しかし、これらの値はシステムによって異なります。
スーパーユーザのデフォルトの検索パスは `/etc', `/bin', `/usr/bin' です。
.Fl c
オプションも
.Fl t
オプションも指定されなかった場合、
シェルは
.Ar path
変数で指定されたディレクトリの内容をハッシュ・テーブルに保存します。
ハッシュ・テーブルは、起動時に
.Ar \&.cshrc
を読み込んだ後と
.Ar path
変数を再設定した時に再構築されます。
シェルの実行中に、
新しいコマンドがハッシュされているディレクトリに追加された場合は、
.Ic rehash
コマンドによりハッシュを再構築しなければなりません。
.\" #### modified by kuma 96.12.23 ####
さもなければ、コマンドが見付からない可能性があります。
.It Ic prompt
端末上で対話的に実行されているシェルにおいて、
.\" #### modified by kuma 96.12.23 ####
コマンド読み込み時に表示される文字列を指定します。
`!' が含まれる場合、現在のイベント番号に置換されます。
`\e' を指定することにより、この解釈を抑制することができます。
デフォルトの値は `% 'です。スーパーユーザの場合は `# ' となります。
.It Ic savehist
ログアウト時にファイル ~/.history に保存されるコマンド履歴の数を指定
します。
.\" #### modified by kuma 96.12.23 ####
この値で指定される数のイベントが保存されます。
起動時に、シェルは ~/.history の内容を読み込みます。あまりに
大きな値を指定すると、シェルの起動が遅くなる場合があります。
.Ar savehist
がセットされているだけの場合は
.Ar history
に指定された値を使用します。
.It Ic shell
シェルのフルパス名を示します。実行属性が立っているが、
.\" #### modified by kuma 96.12.23 ####
システムが起動できないファイルを
実行する際に起動するシェルとして用いられます(後述の
.Sx 非組み込みコマンドの実行
の項を参照)。システム依存の値で初期化されます。
.It Ic status
最後に実行したコマンドの終了ステータス値を保持します。
異常終了した場合は、値に 0200 が加算されます。
組み込みコマンドが失敗した場合は `1' に、成功した場合は `0' になります。
.It Ic time
.\" #### modified by kuma 96.12.23 ####
コマンドの自動計時を制御します。値が設定されている場合、
コマンドがその値よりも長く CPU 秒数を消費した場合には、
コマンド終了時にユーザ時間、システム時間、実時間と、
利用率すなわちユーザ+システム時間と実時間のパーセンテージが出力されます。
.It Ic verbose
.Fl v
コマンドラインオプションが指定されていた場合にセットされます。
ヒストリ置換が行われたあと、コマンドの内容が出力されます。
.El
.Ss 非組み込みコマンドの実行
実行すべきコマンドが組み込みコマンドでなかった場合、シェルはコマンドを
.Xr execve 2
システムコールによって起動しようとします。シェル変数
.Ar path
.\" #### modified by kuma 96.12.23 ####
の各単語は、シェルがコマンドを実行しようとするディレクトリ名を表します。
.Fl c
オプションも
.Fl t
オプションも指定されなかった場合、
.\" #### modified by kuma 96.12.23 ####
シェルはそれらのディレクトリ内にあるファイル名のハッシュ値を計算し、
シェル内部のテーブルに格納します。これは、
コマンドが存在する可能性のあるディレクトリだけで
.Ic exec
を試みるようにするためです。
この近道によって、サーチ・パスにたくさんのディレクトリが指定されている時、
コマンドの位置決定が著しく高速化されます。
この機能が(
.Ic unhash
.\" #### modified by kuma 96.12.23 ####
コマンドによって)停止されている場合、または
.Fl c
または
.Fl t
オプションが起動時に指定された場合、または
.Ar path
.\" #### modified by kuma 96.12.23 ####
中の単語で `/'
から始まらないものについては、ハッシュが用いられることはありません。
この場合は、
.Ar path
の要素にコマンドラインで指定されたコマンドを連結した名前を持つ
ファイルを実行しようと試みます。
.Pp
括弧で囲まれたコマンドは、つねにサブシェルによって実行されます。ですから、
.Pp
.Dl (cd ; pwd) ; pwd
.Pp
はホーム・ディレクトリの値を表示しますが、カレント・ディレクトリ(ホーム・
.\" #### modified by kuma 96.12.23 ####
ディレクトリの後に表示されます)は移動しません。
一方、
.Pp
.Dl cd ; pwd
.Pp
を実行すると、カレント・ディレクトリがホーム・ディレクトリに移動します。
括弧で囲まれたコマンドは、現在のシェルのカレント・ディレクトリに
影響を与えずにコマンドを実行する場合にしばしば用いられます。
.Pp
実行属性が立っているにもかかわらず、
システムによって実行可能ではないファイルは
シェルコマンドファイルであるとみなし、
サブシェルを起動してそのファイルを読み込ませます。
.Pp
.Ic shell
という名前のエイリアスが存在する場合、
エイリアスの値はシェルコマンドファイルを実行する場合の
引数リストの前に挿入されます。エイリアスの値の最初の単語は
シェルのフルパス名でなければいけません(たとえば `$shell')。
.\" #### modified by kuma 96.12.23 ####
これはエイリアス展開としては特別のもので、かなり後の時点に行われ、
引数リストを修正せずに、その前に単語を挿入するための手段を提供します。
.Ss シグナル処理
シェルは、通常
.Ar quit
シグナルを無視します。バックグラウンドのジョブ(
.Ic \&&
または
.Ic bg
または
.Ic %... &
.\" #### modified by kuma 96.12.23 ####
によるコマンド)はキーボードから入力されたシグナルに影響されません
(hangup も含みます)。他のシグナルに対する挙動は親の環境を引き継ぎます。
シェル・スクリプトでの interrupt と terminate シグナルに対する処理は
.Ic onintr
によって制御することができます。ログイン・シェルは
.Ar terminate
シグナルを捕捉します。それ以外のシェルでは、
.Ar terminate
シグナルはシェルの親の状態に従ってチャイルドプロセスに渡されます。
ログイン・シェルが
.Pa \&.logout
ファイルを読み込んでいる間は
interrupt は無視されます。
.Sh 作者
.An William Joy
ジョブ制御とディレクトリ・スタックは
.An J.E. Kulp ,
IIASA, Laxenburg, Austria によって、
.\" #### modified by kuma 96.12.23 ####
現在とは異なる文法のものが実装されました。
ファイル名補完は
.An Ken Greer ,
HP Labs が、
.\" #### modified by kuma 96.12.23 ####
8 bit クリーンな実装は
.An Christos S. Zoulas ,
Cornell University
によって行われました。
.Sh 関連ファイル
.Bl -tag -width /etc/passwd -compact
.It Pa ~/.cshrc
シェルが起動されるときに読み込まれる。
.It Pa ~/.login
ログイン・シェルの場合、ログイン時に `.cshrc' の後に読み込まれる。
.It Pa ~/.logout
ログイン・シェルにおいてログアウト時に読み込まれる。
.It Pa /bin/sh
標準シェル。`#' で始まらないシェル・スクリプトの実行に用いる。
.It Pa /tmp/sh*
`<<' の処理に用いられる一時ファイル。
.It Pa /etc/passwd
`~name' 展開時に用いられるホーム・ディレクトリに関する情報を得る。
.El
.Sh 制限事項
.\" #### modified by kuma 96.12.23 ####
単語の長さは 1024 文字に制限されます。引数リストは、システムによって 10240
文字に制限されています。ファイル名展開を含む引数の数は、
引数リストの文字数の 6 分の 1 に制限されています。
コマンド置換の結果は、引数リストと同数の制限があります。
ループ検出のため、1 行に対するエイリアス展開は 20 回までに制限されています。
.Sh 関連項目
+.Xr printf 1 ,
.Xr sh 1 ,
.Xr su 1 ,
.Xr access 2 ,
.Xr execve 2 ,
.Xr fork 2 ,
.Xr killpg 2 ,
.Xr pipe 2 ,
.Xr setrlimit 2 ,
.Xr sigvec 2 ,
.Xr umask 2 ,
.Xr wait 2 ,
.Xr tty 4 ,
.Xr a.out 5 ,
.Xr environ 7
.br
.Em An introduction to the C shell
.Sh 歴史
.Nm
.Bx 3
で追加されました。
.\" #### modified by kuma 96.12.23 ####
コマンドインタプリタとしては、履歴(参照:
.Sx ヒストリ置換
)、ジョブ制御 (参照:
.Sx ジョブ
.\" #### modified by kuma 96.12.23 ####
参照)、対話的なファイル名補完とユーザ名補完(参照:
.Sx ファイル名補完
.\" #### modified by kuma 96.12.23 ####
)、C言語ライクな文法を採用して実装した最初のものです。
これらの機構にいくつかの追加機能(といくらかのバグの可能性)を
持つシェルは、現在ではたくさんあります。
これらは usenet から入手することができます。
.Sh バグ
コマンドが停止状態から復帰したとき、もしそのコマンドが起動したときの
ディレクトリとカレント・ディレクトリが異なるなら、
シェルはコマンドを起動したときのカレント・ディレクトリの値を表示します。
.\" #### modified by kuma 96.12.23 ####
これは、そのジョブが内部的にディレクトリを変更した場合は誤解(間違った情報)
を与える可能性があります。
.Pp
シェルの組み込みコマンドは中断(suspend)も再開もできません。
`a ; b ; c' のようなコマンド列も適切には中断することができません。
たとえば、 `b' の実行を中断した場合には、
すぐに `c' の実行が開始されてしまいます。これは
.Ar alias
としてコマンド列を指定している場合に特に目立ちます。
このようなコマンド列は `()'
で囲んでサブシェルで実行されるようにすることによって、
適切に停止させることが可能になります(`( a ; b ; c )'のように)。
.Pp
プロセスを起動したあとの端末出力の制御が貧弱です。おそらく、
このために、
.\" #### modified by kuma 96.12.23 ####
もっと良い仮想端末インタフェースを開発したいと考える人がいても何ら不思議はないです。
仮想端末インタフェース上なら、
もっと おもしろい端末出力の制御が可能になるでしょう。
.Pp
.\" #### modified by kuma 96.12.23 ####
シェル関数をシミュレートするために、エイリアスを不格好に用いてしまうことが
よくあります。シェル関数がサポートされるべきです。
.Pp
ループ中のコマンド入力において、
`?' プロンプトに続けて入力された内容はヒストリに残りません。
制御構造は組み込みコマンドとして解釈されるのではなく、
文法的に解釈するようにするべきです。これにより制御コマンドをどこにでも
置けるようになり、`\&|', `&', `;' との組み合わせが
自由にできるようになります。
.Pp
コマンド置換の出力にも `:' 修飾子が適用できるべきです。
.Pp
.\" #### modified by kuma 96.12.23 ####
ファイル名補完機構の実装は不細工かつ非効率的です。
diff --git a/ja/man/man1/ctm.1 b/ja/man/man1/ctm.1
index 73aaaf0219..d48c222fe5 100644
--- a/ja/man/man1/ctm.1
+++ b/ja/man/man1/ctm.1
@@ -1,315 +1,315 @@
.\"----------------------------------------------------------------------------
.\""THE BEER-WARE LICENSE" (Revision 42):
.\"<joerg@freebsd.org> wrote this file. As long as you retain this notice you
.\"can do whatever you want with this stuff. If we meet some day, and you think
.\"this stuff is worth it, you can buy me a beer in return. Joerg Wunsch
.\"----------------------------------------------------------------------------
.\"
.\" This manual page is partially obtained from Poul-Hennings CTM README
.\" file.
.\"
.\" CTM and ctm(1) by <phk@login.dknet.dk>
.\"
-.\" %Id: ctm.1,v 1.9.2.3 1998/07/18 11:09:42 jkh Exp %
+.\" %Id: ctm.1,v 1.14 1998/04/20 20:57:16 rnordier Exp %
.\" jpman %Id: ctm.1,v 1.3 1997/09/27 16:26:57 ryo2 Stab %
.\"
.Dd Mar 25, 1995
.Os
.Dt CTM 1
.Sh 名称
.Nm ctm
.Nd ソースコードをミラーするプログラム
.Sh 書式
.Nm ctm
.Op Fl cFklquv
.Op Fl b Ar basedir
.Op Fl B Ar backup-file
.Op Fl e Ar include-regex
.Op Fl t Ar tar-command
.Op Fl T Ar tmpdir
.Op Fl V Ar level
.Op Fl x Ar exclude-regex
.Ar
.Sh 解説
.Nm
は、元々
.Dq Cvs Through eMail
でしたが、今は代わりに
.Dq Current Through eMail
と呼ぶのがふさわしいようです。
.Nm
は、今や 2 つのバージョンのディレクトリツリーの間でデルタを作成して
適用するための最も信頼できる方法を意味します。
これにはデルタの作成と適用という 2 つの部分があります。2 つは
全く異なるものです。
.Ss 使用例
CTM デルタを適用するには、それを
.Nm
コマンドに渡します。CTM デルタを標準入力、またはファイル名を引数として
渡すことができます。後者の方法を取ると、とても簡単に
することができます。なぜなら このプログラムは gzip で圧縮された
ファイルを受け付けて、ファイルの一時的なコピーを作る必要が無いからです。
複数のデルタを一度に指定でき、それらは一度にひとつずつ処理されます。
すでに適用されているデルタは無視されます。
.Nm
コマンドの実行はたくさんのパスにわかれています。
次のパスを始める前に、それぞれのパスで入力ファイルの全体が処理されます。
.Ar name
で指定されたファイルを処理する前に
.Nm
は まず
.Ar name.ctm
というファイルが存在するかどうかをチェックします。
存在すれば、
.Nm
は、かわりにそちらを処理します。
パス 1 では、入力ファイルが正常かどうかを確認します。
文法、データ、全体の MD5 によるチェックサムがチェックされます。
いずれか 1 つでも異常があれば、
.Nm
は単純に入力ファイルを拒否します。
パス 2 ではディレクトリツリーが CTM デルタの期待している状態に
なっているかどうかを確認します。これは存在する/しないはずの
ファイルとディレクトリファイルとディレクトリを捜して
ファイルの MD5 によるチェックサムをチェックすることで行われます。
もし
.Ar backup-file
.Fl B
オプションで指定されていると、その
.Nm
の呼び出しで変更されるファイルが
.Fl t
オプションで指定されたアーカイバコマンドを使って、そのファイルに
バックアップされます。デフォルトのアーカイバコマンドは
.Nm "tar -rf %s -T -"
です。
パス 3 では実際にデルタが適用されます。
.Nm
によって変更されるファイルのリストは、
.Fl e
.Fl x
オプションで指定された正規表現によるフィルタの対象になります。
.Fl e
.Fl x
オプションは、コマンドラインで指定された順に適用されます。
与えられたファイル名に最後にマッチしたフィルタが、そのファイルを
.Nm
の適用対象とするかどうかを決定します。
.Nm
は、その作業ディレクトリ下にファイルの階層を展開します。
絶対パスや
.Sq \&.
.Sq \&.\&.
の参照を含むファイル名は、セキュリティのために明確に禁止されています。
.Ss オプション
.Bl -tag -width indent -compact
.It Fl b Ar basedir
各ファイル名に
.Ar basedir
で指定されたパスを前置します。
.It Fl B Ar backup-file
この CTM の実行で変更されるすべてのファイルを
.Ar backup-file
にバックアップします。
.Fl e
.Fl x
オプションで何らかのフィルタが指定されると、
CTM の実行時にフィルタが適用され、変更されたファイルが、
最終的にバックアップされるファイルのセットとなります。
.It Fl c
確認だけを行ない、他には何もしません。
.It Fl e Ar regular_expression
CTM ファイル中の各ファイル名が
.Ar regular_expression
にマッチするかどうかを調べ、マッチすればそのファイルを処理し、
マッチしなければ何もせずそのまま残します。
このオプションは何個でも指定できます。このオプションを指定すると
.Pa .ctm_status
のシーケンス番号のチェックが行なわれません。
例えば、
.Ic ^usr.sbin/ctm
と指定すると、
.Nm usr.sbin/ctm
というソースディレクトリと、その下のすべてのパス名を指定した事に
なります。
CTM の処理対象からパス名を外すには
.Fl x
オプションを使います。
.It Fl F
強行します。
.It Fl k
ファイルとディレクトリを保存し、CTM ファイルで削除するように
指定されているものでも削除しません。
.Fl B
オプションが指定されると、そのファイルとディレクトリは
バックアップされません。
.It Fl l
その CTM の実行で変更されるはずのファイルと、それに対して
行われるアクションをリストします。
.Fl l
オプションを使うと
.Pa .ctm_status
のチェックと作業対象のソースツリーの正当性チェックが行なわれません。
.Fl l
オプションは、
.Fl e
.Fl x
オプションを組み合わせることで、与えるコマンドラインオプションで
どのファイルが変更されるかを見定めることができます。
.It Fl q
表示を減らします。
.It Fl t Ar tar-command
デフォルトのアーカイバである
.Nm tar
の代わりに
.Ar tar-command
を使います。
このオプションは、バックアップファイルが
.Fl B
オプションで指定された場合にのみ効果があります。
tar command 中には一つだけ %s を置くことができ、
バックアップファイルの名前に置き換えられます。
.It Fl T Ar tmpdir
一時ファイルを
.Ar tmpdir
に置きます。
.It Fl u
作成、変更されるファイルの更新時刻を CTM デルタが作成された
時刻に設定します。
.It Fl v
表示を増やします。
.It Fl V Ar level
表示を増やします。
.Ar level
は饒舌さの程度です。
.It Fl x Ar regular_expression
CTM ファイル中の各ファイル名を
.Ar regular_expression
とマッチするかどうかを調べ、マッチすればそのファイルを除外します。
このオプションは何個でも指定できます。このオプションを指定すると
.Pa .ctm_status
のシーケンス番号のチェックが行なわれません。
CTM の処理対象にパス名を加えるには
.Fl e
オプションを使います。
.El
.Sh 環境変数
.Ev TMPDIR
にパス名がセットされていると、ctm は一時ファイルの置き場所として
そのパス名を使います。
これに関しての詳細は
.Xr tempnam 3
を参照して下さい。
同じ効果は
.Fl T
フラグでも得られます。
.Sh 関連ファイル
.Pa .ctm_status
には、最後に適用した CTM デルタのシーケンス番号が含まれます。
このファイルを変更したり削除したりすると、
.Nm
は、とても混乱します。
.Fl e
.Fl x
オプションを使うとソースツリーの一部分を更新することができ、
ソースを一貫性のない状態にすることになります。
これらのオプションを使うときには、何をしているのかを理解していることが
仮定されています。
.Sh 使用例
.Bd -literal
cd ~cvs
/usr/sbin/ctm ~ctm/cvs-*
.Ed
`lib' 以下のすべてのソースを取り出してパッチを当てるには
以下のようにします。
.Bd -literal
cd ~/lib-srcs
/usr/sbin/ctm -e '^lib' ~ctm/src-cur*
.Ed
.Sh 診断
充分に説明的であるはずの沢山のメッセージが出力されます。
.Dq ノイズレベル
.Fl q ,
.Fl v ,
.Fl V
オプションで調整できます。
.Sh 関連項目
.Xr ctm_rmail 1 ,
.Xr ctm 5
.Sh 歴史
最初の試みは
.Xx 1.1.5
の作業中に行われました。そして、たくさんの
バグと手法について徹底的に議論されました。
.Nm
コマンドは
.Fx 2.1
から登場しました。
.Sh 作者
CTM システムは
.An Poul-Henning Kamp Aq phk@FreeBSD.org
によってデザインされ実装されました。
このマニュアルページは
.An Joerg Wunsch Aq joerg@FreeBSD.org
が書きました。
.Sh 日本語訳
野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳
diff --git a/ja/man/man1/ctm_rmail.1 b/ja/man/man1/ctm_rmail.1
index 4628f5f164..17e1f8d2ba 100644
--- a/ja/man/man1/ctm_rmail.1
+++ b/ja/man/man1/ctm_rmail.1
@@ -1,502 +1,502 @@
.\" NOTICE: This is free documentation. I hope you get some use from these
.\" words. In return you should think about all the nice people who sweat
.\" blood to document their free software. Maybe you should write some
.\" documentation and give it away. Maybe with a free program attached!
.\"
.\" Author: Stephen McKay
.\"
.Dd January 24, 1995
.\" jpman %Id: ctm_rmail.1,v 1.3 1997/09/27 16:25:48 ryo2 Stab %
.Dt CTM_MAIL 1
.Os
.Sh 名称
.Nm ctm_smail, ctm_rmail
.Nd メールを介しての
.Nm ctm
デルタの送受信
.Sh 書式
.Nm ctm_smail
.Op Fl l Ar log
.Op Fl m Ar maxmsgsize
.Op Fl c Ar maxctmsize
.Op Fl q Ar queue-dir
.Ar ctm-delta
.Ar mail-alias
.Nm ctm_dequeue
.Op Fl l Ar log
.Op Fl n Ar numchunks
.Ar queue-dir
.Nm ctm_rmail
.Op Fl Dfuv
.Op Fl l Ar log
.Op Fl p Ar piecedir
.Op Fl d Ar deltadir
.Op Fl b Ar basedir
.Op Ar
.Sh 解説
.Nm ctm_smail ,
.Nm ctm_dequeue ,
.Nm ctm_rmail
.Xr ctm 1
コマンドと組み合わせて、
ソースツリーへの変更を電子メールで配布するために使われます。
.Nm ctm_smail
には圧縮した
.Xr ctm
のデルタとそれを送るメーリングリストを与えます。
するとデルタを送信できる大きさに切り分けて、メールメッセージとして
エンコードしたものをメーリングリストに送ります
(メールの負荷を分散させるためにキューに入れるように選択できます)。
各受信者は
.Nm ctm_rmail
を使い (手動または自動で) デルタのデコードと再組み立てを行い、
それをソースツリーに適用するために
.Xr ctm
を呼び出すようにも指定できます。
現在、
いくつかのソースツリーが、いくつかのサイトによって配布されています。
その中には
.Li freefall.FreeBSD.org
が配布している FreeBSD-current のソースと CVS のツリーもあります。
.Pp
.Nm ctm_smail
のコマンドラインの引数には以下があります:
.Bl -tag -width indent
.It Fl l Ar log
.Em stderr
に出力する代わりに、
(コマンドラインのエラー以外の) エラー診断と情報メッセージ
にタイムスタンプを付けた物がファイル
.Em log
に書き込まれます。
.It Fl m Ar maxmsgsize
.Nm ctm_smail
が送信できるメールメッセージの最大サイズを制限します。
メールヘッダとその他の細かい物をこの制限に入れていないため
およその値となります。
指定されないとデフォルトは、メールの限界と噂される 64k に対して
ヘッダのための 1535 バイトを残した 64000 バイトです。
.It Fl c Ar maxctmsize
送信されるデルタの最大サイズを制限します。この制限より大きいデルタは
謝罪メールをメーリングリストに送り出します。
これは大幅な変更でユーザのメールボックスを圧迫してしまうのを
避けるためです。これはエンコードする前のサイズなので注意して下さい。
エンコードされるとメールヘッダを付ける前でサイズは 4/3 倍になります。
指定されないと無制限になります。
.It Fl q Ar queue-dir
デルタのかけらをメールする代わりに、後で
.Nm ctm_dequeue
を使ってメールされるように指定されたディレクトリに格納します。
この機能によって、巨大なデルタを数時間または数日にも渡って分散させ、
ネットワークのバンド幅が狭かったりメールのスプール領域が小さい
受信者へのインパクトを押えることが可能です。
.El
.Pp
.Ar ctm-delta
は送信されるデルタで、
.Ar mail-alias
はデルタを送信するメーリングリストです。
メールメッセージは
.Xr sendmail 8
を使って送信されます。
.Pp
.Nm ctm_dequeue
のコマンドラインの引数には以下があります:
.Bl -tag -width indent
.It Fl l Ar log
.Em stderr
に出力する代わりに、
(コマンドラインのエラー以外の) エラー診断と情報メッセージ
にタイムスタンプを付けた物がファイル
.Em log
に書き込まれます。
.It Fl n Ar numchunks
1 回の
.Nm ctm_dequeue
の実行で送信するメールメッセージの数を制限します。
デフォルトでは、
.Nm ctm_dequeue
は 1 回の実行で 1 つのメールメッセージを送信します。
.El
.Pp
.Ar queuedir
.Nm ctm_smail
が格納したメールメッセージのあるディレクトリです。
.Ar numchunks
個までのメールメッセージが実行ごとに送信されます。
受信者のメーリングリストは、溜められたファイルに
すでにエンコードされています。
.Pp
.Nm ctm_smail
がキューにエントリを追加している最中や、複数の
.Nm ctm_smail
を並行に実行している最中でも
.Nm ctm_dequeue
を安全に実行できますが、配布される各ツリーごとに独立した
キューのディレクトリを使うべきです。
これはエントリがアルファベット順に処理されるので、デルタの
作成時刻ではなく、デルタ名に従って 1 つのツリーが他の物より
前に処理されて不公平になるからです。
.Pp
.Nm ctm_rmail
のコマンドラインの引数には以下があります:
.Bl -tag -width indent
.It Fl l Ar log
.Em stderr
に出力する代わりに、
(コマンドラインのエラー以外の) エラー診断と情報メッセージ
にタイムスタンプを付けた物がファイル
.Em log
に書き込まれます。
.It Fl p Ar piecedir
デルタのかけらをこのディレクトリに集めます。
それぞれのかけらは 1 つのメールメッセージに対応します。
かけらは完全なデルタが出来上がると削除されます。
もし このフラグが指定されないと、入力ファイルは読まれませんが、
.Fl b
フラグが指定されていれば完成しているデルタは
.Xr ctm
を使って適用されるかもしれません。
.It Fl d Ar deltadir
このディレクトリ内の完成したデルタを集めます。デルタは、すべてのかけらが
揃っている時に 1 つ以上のかけらから組み立てられます。
.It Fl b Ar basedir
完成しているデルタを このソースツリーに適用します。このフラグが
指定されていない場合、デルタは格納されますが適用はされません。
ユーザは手動、または
.Nm ctm_rmail
.Fl p
フラグ無しで使ってデルタを適用できます。
もしデルタが
.Ar basedir
.Li .ctm_status
ファイルとマッチしない場合 (もしくは
.Li .ctm_status
が存在しない場合) には、デルタは適用されません。
.It Fl D
.Xr ctm
による適用が成功した後でデルタを削除します。
.Xr ctm
はデルタのフルセットからファイルの小グループを回復する機能を
持つので、このフラグを避けて (そしてすべてのデルタを取って) おくのが
良いでしょう。
.It Fl f
fork して
.Xr ctm
でのデルタの適用をバックグラウンドで実行します。
これは
.Xr sendmail
から
.Nm ctm_rmail
を自動的に呼び出す場合に有効です。なぜなら
.Xr ctm
は終了までに、とても長い時間を要し、それによって他の人のメールを
遅らせる原因になり、理論的にはリモート側の
.Xr sendmail
のタイムアウトによるメールの不要な再送信や、
.Xr "MH"
.Xr slocal
のようなメールフィルタによる
.Nm ctm_rmail
の強制終了を引き起こす可能性があるからです。
膨大な数のバックグラウンドの
.Xr ctm
プロセスでマシンに負荷がかかる心配はありません。同時に 2 つ以上の
.Xr ctm
が起動されないようにロックが行われているからです。
.It Fl u
完成したデルタを適用する時に
.Fl u
フラグを
.Xr ctm
コマンドに渡します。これによって作成、変更されたファイルの
変更時刻が CTM デルタの作成時刻にセットされます。
.It Fl v
完成したデルタを適用する時に
.Fl v
フラグを
.Xr ctm
コマンドに渡します。これによってより多くの情報出力が得られます。
すべての
.Xr ctm
からの出力は
.Nm ctm_rmail
のログファイルに記録されます。
.El
.Pp
引数のファイル (もし無ければ
.Em 標準入力
) がデルタのかけらとしてスキャンされます。
1 つのファイルから複数のデルタのかけらを読む事ができるので、
メールドロップ全体を 1 回のコマンドでスキャンして処理できます。
.Pp
.Nm ctm_rmail
を並行に (異なる入力ファイルで) 複数回起動しても安全です。
.Xr sendmail
.nh
がメールを非同期に配送した時にこのようなことが起こり得ます。
これは処理を順序通りに保つためにロックが行われているからです。
.Sh ファイルフォーマット
以下は実際の (とても小さい) デルタのかけらの重要部分です:
.Bd -literal
From: owner-src-cur
To: src-cur
Subject: ctm-mail src-cur.0003.gz 1/4
CTM_MAIL BEGIN src-cur.0003.gz 1 4
H4sIAAAAAAACA3VU72/bNhD9bP0VByQoEiyRSZEUSQP9kKTeYCR2gDTdsGFAwB/HRogtG5K8NCj6
v4+UZSdtUQh6Rz0eee/xaF/dzx8up3/MFlDkBNrGnbttAwyo1pxoRgoiBNX/QJ5d3c9/X8DcPGGo
lggkPiXngE4W1gUjKPJCYyk5MZRbIqmNW/ASglIFcdwIzTUxaAqhnCPcBqloKEkJVNDMF0Azk+Bo
dDzzk0Ods/+A5gXv9YyJHjMCtJwQNeESNma7hOmXDRxn
CTM_MAIL END 61065
.Ed
.Pp
メッセージのサブジェクトは常に
.Dq ctm-mail
で始まりデルタの名前、いくつ目のかけらか、そして全部でいくつの
かけらがあるのかが続きます。データは
.Dq CTM_MAIL BEGIN
.Dq CTM_MAIL END
という行で囲まれており、サブジェクト行の情報の複製、加えて単純な
チェックサムが付きます。
.Pp
デルタが
.Ar maxctmsize
を超えると、代わりに以下のようなメッセージが送られます:
.Bd -literal
From: owner-src-cur
To: src-cur
Subject: ctm-notice src-cur.0999.gz
src-cur.0999.gz is 792843 bytes. The limit is 300000 bytes.
このデルタは ftpmail か、または大学の仲良しから得られます。
.Ed
.Pp
これでもうあなたのものです!
.Sh 使用例
.Em src-cur
の 32 番目のデルタを
.Em src-guys
として
.Xr sendmail
に登録されている素晴らしいコードハッカーのグループに、
メールのサイズをおよそ 60000 バイトに制限して送るためには
以下のように出来ます:
.Bd -literal -offset indent
ctm_smail -m 60000 /wherever/it/is/src-cur.0032.gz src-guys
.Ed
.Pp
メールボックスの各
.Nm ctm-mail
メッセージをデコードして、それらを完全なデルタに組み立て、そして
出来上がったデルタやそこらに転がっているデルタはどれも、
以下のように適用出来ます:
.Bd -literal -offset indent
ctm_rmail -p ~/pieces -d ~/deltas -b /usr/ctm-src-cur $MAIL
.Ed
.Pp
(
.Nm ctm_rmail
はメッセージを削除しないので注意して下さい。
削除には どんなメールリーダでも使用できます。)
.Pp
.Em receiver-dude
という名前の自動的にデコードとデルタの組み立てを行うけれども、
それらの適用は行わないようなメールエイリアスは、以下の行を
.Pa /etc/aliases
ファイルに入れる事で作成可能です (
.Pa /ctm/tmp
.Pa /ctm/deltas
ディレクトリ そして
.Pa /ctm/log
ファイルが
.Em daemon
ユーザか
.Em wheel
グループで書き込み可能な事を仮定しています) :
.Bd -literal -offset indent
receiver-dude: "|ctm_rmail -p /ctm/tmp -d /ctm/deltas -l /ctm/log"
owner-receiver-dude: real_dude@wherever.you.like
.Ed
.Pp
2 行目は、失敗した場合にそれを通常のメールボックスか、または
どこか好きな所へ転送するためにあります。
.Pp
集められた全デルタを適用して、適用したものを削除するには以下のように
します:
.Bd -literal -offset indent
ctm_rmail -D -d /ctm/deltas -b /ctm/src-cur -l /ctm/apply.log
.Ed
.Pp
柔軟性を最大限生かすためには、この
.Xr procmail
スクリプトからの引用の利用を考えてみて下さい:
.Bd -literal -offset indent
PATH=$HOME/bin:$PATH
:0 w
* ^Subject: ctm-mail cvs-cur
| ctm_incoming
.Ed
.Pp
以下のシェルスクリプト
.Pa ~/bin/ctm_incoming
と一緒に使います:
.Bd -literal -offset indent
#! /bin/sh
PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"
export PATH
cd $HOME/ctm && ctm_rmail -f -p pieces -d deltas -l log -b /ctm
.Ed
.Pp
これは全部の
.Xr ctm
デルタを
.Pa ~/ctm/deltas
に置き、それらを
.Pa /ctm
内のツリーに適用し、失敗したものは、すべてあなたの通常の
メールボックスに落します。
.Pa ctm_incoming
での
.Ev PATH
の操作は、このサンプルを取って来た (FreeBSD でない) マシンで
.Nm ctm_rmail
から
.Xr ctm
の実行を可能にするためのものです。
.Sh セキュリティ
自動的にメールを取ってファイルツリーへのパッチプログラムに
渡している場合、あなたのシステムへの鍵をクラッカーに手渡していると
考えるかも知れません。幸い、損害を起こす窓はとても小さいのです。
.Nm ctm_rmail
は、
(デルタ名中の いかなる
.Dq /
文字も信用しないことによって)
与えられたディレクトリのみにしか書き込まないように注意しています。
そして最新の
.Xr ctm
では操作するファイルに絶対パス名と
.Dq \&\.\.
を許可していないので、最悪でも失われる可能性のあるのは
(デルタから復元できる) 二、三のソースツリーのファイルだけなのです。
.Xr ctm
はファイルにさわる前に
.Xr md5
によるチェックサムが合致する事を要求するので、ソースの受信者だけが
偽造したデルタを生成できる可能性を持ち、そして そういう人達が
そんなことを考えるはずもありません! :-)
.Pp
この可能性さえも暗号化された署名で取り除く事が可能です。
将来の強化の可能性は、
.Nm PGP
を使った安全なラッパの提供があります。
.\" This next request is for sections 1, 6, 7 & 8 only
.Sh 環境変数
デルタを適用するのならば
.Xr ctm 1
.Xr gunzip 1
.Ev PATH
に含まれていなければなりません。
.Sh 関連ファイル
.Bl -tag -width indent
.It Pa QUEUEDIR/*
メールメッセージとしてエンコードされて、メーリングリストに
送信されるのを待っているデルタのかけら。
.It Pa PIECEDIR/*
残りのかけらの到着を待っているデルタのかけら。
.It Pa DELTADIR/*
完成したデルタ。
.It Pa BASEDIR/.ctm_status
このソースツリーに次に適用されるべきデルタの名前と番号を含むファイル。
.\" This next request is for sections 1, 6, 7 & 8 only
.\" (command return values (to shell) and fprintf/stderr type diagnostics)
.Sh 診断
.Nm ctm_smail ,
.Nm ctm_dequeue ,
.Nm ctm_rmail
は正常に終了するとステータスとして 0 を、何らかの障害が
あった場合は 1 を返します。
.Nm ctm_rmail
は、メールの配送プログラムから呼ばれる事を想定しています。そして
そのため入力されたメールメッセージが (送信者にではなく、
なるべく あなたの通常のメールドロップに) 返送されるべき状態に
なった時にのみ障害を通知するようになっています。
いいかえれば、完成したデルタを
.Xr ctm
で適用する際に発生した障害はメールを返送する程に重要なエラーでは
ないと判断されて、
.Nm ctm_rmail
は終了ステータスとして 0 を返すということです。
.Pp
通常の操作では、
.Nm ctm_smail
は以下のようなメッセージで報告します:
.Bd -literal -offset indent
ctm_smail: src-cur.0250.gz 1/2 sent to src-guys
.Ed
.Pp
または、キューに入れたなら、
.Bd -literal -offset indent
ctm_smail: src-cur.0250.gz 1/2 queued for src-guys
.Ed
.Pp
.Nm ctm_dequeue
は以下のようなメッセージで報告します:
.Bd -literal -offset indent
ctm_dequeue: src-cur.0250.gz 1/2 sent
.Ed
.Pp
.Nm ctm_rmail
は以下のようなメッセージで報告します:
.Bd -literal -offset indent
ctm_rmail: src-cur.0250.gz 1/2 stored
ctm_rmail: src-cur.0250.gz 2/2 stored
ctm_rmail: src-cur.0250.gz complete
.Ed
.Pp
もし入力ファイルのいずれもが正しいデルタのかけらを含んでいないと、
.Nm ctm_rmail
は以下のように報告します:
.Bd -literal -offset indent
ctm_rmail: message contains no delta
.Ed
.sp \n(Ppu
そして終了ステータスとして 1 を返します。もしメールフィルタが
当てにならないのなら、これを使って気まぐれなメッセージを
リダイレクトして本当のメールボックスに入れる事ができます。
.Pp
これらのメッセージは
.Em stderr
かログファイルに出力されます。
.Xr ctm
からのメッセージも同様にここに現れます。
エラーメッセージは それ自身が説明的であるべきです。
.\" The next request is for sections 2 and 3 error and signal handling only.
.\" .Sh ERRORS
.Sh 関連項目
.Xr ctm 1 ,
.Xr ctm 5
.\" .Sh STANDARDS
.\" .Sh HISTORY
.Sh 作者
Stephen McKay <mckay@FreeBSD.org>
.\" .Sh BUGS
.\" Gosh! No bugs here!
.\" This message brought to you by the Coalition for More Humour in Man Pages.
.\"
-.\" %Id: ctm_rmail.1,v 1.7.2.4 1998/07/18 11:09:52 jkh Exp %
+.\" %Id: ctm_rmail.1,v 1.14 1998/04/08 12:00:48 cracauer Exp %
.Sh 日本語訳
野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳
diff --git a/ja/man/man1/cu.1 b/ja/man/man1/cu.1
index 9122d5e51b..70f9b3c0d0 100644
--- a/ja/man/man1/cu.1
+++ b/ja/man/man1/cu.1
@@ -1,324 +1,324 @@
-''' %Id: cu.1,v 1.1 1993/08/04 19:31:53 jtc Exp %
+''' %Id: cu.1,v 1.6 1997/02/22 15:27:05 peter Exp %
.\" jpman %Id: cu.1,v 1.2 1997/03/28 10:54:42 mutoh Stab %
.TH cu 1 "Taylor UUCP 1.06"
.SH 名称
cu \- 別のマシンと接続する
.SH 書式
.B cu
[ options ] [ system | phone | "dir" ]
.SH 解説
.I cu
コマンドは、他のシステムを呼び出し、ダイヤルイン端末として働きます。
本コマンドは、
エラーチェックを行わない、
簡単なファイル転送プログラムとしても使用できます。
.I cu
は、1 つの引数を、オプションとともに指定可能です。引数として指定する
文字列が "dir" の場合には、cu はポートとの直接接続を行ないます。
本オプションは、ユーザがポートへのライトアクセスを行なう場合にのみ
使用され、通常はモデム等の設定のために用いられます。
引数が数字の場合には、その引数は電話番号として解釈されます。そうで
ない場合には、その引数は呼びだすシステム名として解釈されます。
.B \-z
または
.B \-\-system
オプションは、数字で始まるシステム名を引数で指定する場合に指定しなけ
ればならないものであり、
.B \-c
または
.B \-\-phone
オプションは、数字以外の記号で始まる電話番号を引数で指定する場合に指
定しなければなりません。
.I cu
は、UUCP設定ファイルに記述されたポートを用います。もし単にシステム名
だけが引数で与えられた場合、そのシステムへの発呼に最も適したポートが
選ばれます。
.B \-p,\-\-port,\-l,\-\-line,\-s
.B \-\-speed
オプションが指定された場合、ポート選択を制御することが可能です。
リモートシステムとの間でコネクションが設定された場合、
.I cu
は 2 プロセスを fork します。1 プロセスは、ポートからのデータ読みだしと
端末へのデータ書き込みを行ない、もう 1 プロセスは、端末からのデータ読み
出しとポートへのデータ書き込みを受け持ちます。
.I cu
は、通信中に使用可能なコマンドがあります。
それらのコマンドはすべて、エスケープ文字から始まります。
エスケープ文字は、デフォルトでは
.B ~
(チルダ)です。エスケープ文字は、行頭において入力された場合にのみ認識
されます。エスケープ文字を行頭に含むデータをリモートホストに送り
たい場合には、当該エスケープ文字を 2 回入力しなければなりません。全
てのコマンドは、1 文字か、もしくは
.B %
文字(パーセント記号)に続く複数文字です。
.I cu
では、以下のコマンドを使用できます。
.TP 5
.B ~.
通信を終了します。
.TP 5
.B ~! command
シェル経由でコマンドを実行します。コマンドが指定されない場合には、
シェルが起動されます。
.TP 5
.B ~$ command
コマンドを起動します。その結果、標準出力に出力されたデータを、リ
モートシステムに送ります。
.TP 5
.B ~| command
コマンドを起動します。リモートシステムからの出力
データをこのコマンドの標準入力とします。
.TP 5
.B ~+ command
コマンドを起動します。リモートシステムからの出力
データをこのコマンドの標準入力とします。そして、コマンドから標準出力に出力さ
れたデータを、リモートシステムに送ります。
.TP 5
.B ~#, ~%break
可能であればブレーク信号を送ります。
.TP 5
.B ~c directory, ~%cd directory
ローカルディレクトリを変更します。
.TP 5
.B ~> file
ファイルをリモートシステムに送ります。本コマンドは、ファイルを通信路を
経由して、ファイルをダンプするのに用いられます。この場合、リモートシス
テムがこの動作を想定して動作しているものとみなして動作しますので、注意
して下さい。
.TP 5
.B ~<
リモートシステムからファイルを受信します。このコマンドを実行すると、
.I cu
コマンドは、ローカルファイル名と、ファイル転送のためにリモート側で実
行すべきコマンドの入力を促します。本コマンドは、
.B eofread
変数で指定される文字を受信するまでデータ受信を継続します。
.TP 5
.B ~p from to, ~%put from to
ファイルをリモート Unix システムに送信します。本コマンドは、リモート
システムがファイルを受信するために必要なコマンドを自動的に起動します。
.TP 5
.B ~t from to, ~%take from to
リモート Unix システムから、ファイルを取得します。本コマンドは、リモート
システムからファイルを送信するために必要なコマンドを自動的に起動します。
.TP 5
.B ~s variable value
.I cu
の変数を、指定した値に設定します。値が指定されなかった場合、変数は
.B true
に設定されます。
.TP 5
.B ~! variable
.I cu
の変数を
.B false
に設定します。
.TP 5
.B ~z
cu セッションをサスペンドします。この機能は、そんなに多くのシステムで
サポートされているわけではありません。
^Z によってジョブをサスペンドできるシステムでは、
.B ~^Z
も、セッションをサスペンドします。
.TP 5
.B ~%nostop
XON/XOFF 制御を無効にします。
.TP 5
.B ~%stop
XON/XOFF 制御を有効にします。
.TP 5
.B ~v
全ての変数と、その変数に設定された値を表示します。
.TP 5
.B ~?
使用可能なすべてのコマンドを表示します。
.I cu
は、いろんな変数を備えています。これらの環境変数一覧は、
.B ~v
コマンドを用いて表示することができ、
.B ~s
もしくは
.B ~!
コマンドを用いて設定することが可能です。
.TP 5
.B escape
エスケープ文字。初期値は
.B ~
(チルダ)です。
.TP 5
.B delay
この変数が true の場合には、
.I cu
はエスケープ文字を受信してからローカルシステム名を出力するまでに
1 秒のウェイトが入ります。デフォルトでは true です。
.TP 5
.B eol
行末文字として認識される文字の一覧を表示します。エスケープ文字は
以下のいずれかが現れた後にしか認識されません。デフォルトでは、
復帰
および、^U, ^C, ^O, ^D, ^S, ^Q, ^R の各文字です。
.TP 5
.B binary
ファイルを送信する時に、バイナリデータを転送するかしないかを設定します。
本変数が false の場合には、ファイル中のニューライン記号はすべて、キャリッ
ジリターンに変換されます。
デフォルトでは false です。
.TP 5
.B binary-prefix
.B binary
変数が true の状態でファイル転送を行う時に、
バイナリ文字を送る前に使われる文字列の設定を決めます。
デフォルトでは ^V に設定されます。
.TP 5
.B echo-check
リモートシステムのエコーバックをチェックすることで、ファイル転送のチェ
ックをするかどうか決めます。しかし、あまりちゃんと動かないでしょう。
デフォルトでは false です。
.TP 5
.B echonl
ファイル中の1行を送信した後に検出しようとする文字を設定します。
デフォルトでは、復帰文字です。
.TP 5
.B timeout
エコーバックもしくは
.B echonl
文字の検出をタイムアウトとする時間を秒単位で設定します。
デフォルトでは 30 です。
.TP 5
.B kill
エコーチェックが失敗した場合に、1 行削除に使う文字を設定します。
デフォルトでは ^U です。
.TP 5
.B resend
エコーチェックが失敗しつづけた場合に、1 行を再送する回数を設定します。
デフォルトでは 10 です。
.TP 5
.B eofwrite
.B ~>
コマンドを用いてファイルを送信し終った場合に、最後に送信する文字列を
設定します。デフォルトでは、^D です。
.TP 5
.B eofread
.B ~<
コマンドを用いてファイルを受信する場合に、検出する文字列を設定します。
デフォルトでは $ です。この文字列は、典型的なシェルプロンプトです。
.TP 5
.B verbose
ファイル転送時に、転送情報を表示するかどうか設定します。デフォルトで
は true です。
.SH オプション
.I cu.
コマンドでは、以下のオプションが指定可能です。
.TP 5
.B \-e, \-\-parity=even
偶数パリティを用います。
.TP 5
.B \-o, \-\-parity=odd
奇数パリティを用います。
.TP 5
.B \-\-parity=none
パリティは用いません。
.B \-e
.B \-o
が同時に指定された場合もパリティなしになります。
.TP 5
.B \-h, \-\-halfduplex
文字のローカルエコーを許可します(半二重モード)。
.TP 5
.B \-\-nostop
XON/XOFF 制御を無効にします。デフォルトでは有効です。
.TP 5
.B \-E char, \-\-escape char
エスケープ文字を指定します。初期値は
.B ~
(チルダ)です。
.B \-E ''
とすることにより、エスケープ文字を無視できます。
.TP 5
.B \-z system, \-\-system system
発呼先のシステムを指定します。
.TP 5
.B \-c phone-number, \-\-phone phone-number
発呼先の電話番号を指定します。
.TP 5
.B \-p port, \-\-port port
使用するポートを指定します。
.TP 5
.B \-a port
.B \-\-port port
と同じです。
.TP 5
.B \-l line, \-\-line line
使用する回線を、デバイス名で指定します。本オプションは、UUCP 設定ファイル
に記述されていないポートを用いて通信を行なう場合に使用されます。当該デバ
イスには、write パーミッションが許可されていることが必要になります。
.TP 5
.B \-s speed, \-\-speed speed
通信速度(ボーレート)を設定します。
.TP 5
.B \-#
# に位置するのは数字です。
.B \-\-speed #
と同じです。
.TP 5
.B \-n, \-\-prompt
使用する電話番号の問い合わせプロンプトを出力します。
.TP 5
.B \-d
デバッグモードに入ります。これは
.B \-\-debug all
と同様です。
.TP 5
.B \-x type, \-\-debug type
特定のデバッグタイプを有効にします。タイプとしては、abnormal, chat,
handshake, uucp-proto, proto, port, config, spooldir, execute, incoming,
outgoing があります。
.I cu
では、abnormal, chat, handshake, port, config, incoming, outgoing
が意味を持ちます。
本オプションでは、コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
.B \-\-debug
オプションは、1回のコマンド起動で複数回指定可能です。
また、タイプとして数字を指定することも可能です。例えば、
.B \-\-debug 2
という指定は、
.B \-\-debug abnormal,chat
と同じ意味です。
.B \-\-debug all
は、すべてのデバッグオプションが指定されたのと同じです。
.TP 5
.B \-I file, \-\-config file
使用する設定ファイルの指定を行ないます。ただし、本オプションは、
.I cu
のコンパイル条件によっては使用できないことがあります。
.TP 5
.B \-v, \-\-version
バージョンを表示し、終了します.
.TP 5
.B \-\-help
ヘルプメッセージを表示し、終了します。
.SH バグ
本プログラムは、あまり良好に動作しません。
.SH 関連ファイル
ファイル名は、コンパイル環境や設定ファイルの内容によって変わることが
あります。ここに挙げるのは、一例でしかありません。
.br
/etc/uucp/config - 設定ファイル
.SH 作者
Ian Lance Taylor
<ian@airs.com>
diff --git a/ja/man/man1/date.1 b/ja/man/man1/date.1
index 69d8e28470..a5b4d7c256 100644
--- a/ja/man/man1/date.1
+++ b/ja/man/man1/date.1
@@ -1,317 +1,317 @@
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)date.1 8.2 (Berkeley) 11/17/93
-.\" %Id: date.1,v 1.8.2.9 1998/07/15 02:01:17 jkh Exp %
+.\" %Id: date.1,v 1.25 1998/05/13 07:56:44 phk Exp %
.\" jpman %Id: date.1,v 1.2 1997/03/31 23:25:55 mutoh Stab %
.\"
.Dd November 17, 1993
.Dt DATE 1
.Os
.Sh 名称
.Nm date
.Nd 日付と時刻の表示、設定
.Sh 書式
.Nm date
.Op Fl nu
.Op Fl d Ar dst
.Op Fl r Ar seconds
.Op Fl t Ar minutes_west
.Op Fl v Ns Ar [+|-]val Ns Op ymwdHM
.Ar ...
.Op Fl f Ar fmt Ar date | [[[[yy]mm]dd]HH]MM[\&.ss]
.Op Cm + Ns Ar format
.Sh 解説
引数なしで実行すると、
.Nm
は現在の日付と時刻を表示します。
引数を与えると、ユーザが定義したフォーマットに従った日付や時刻の表示、
あるいは日時の設定を行います。
なお、日付と時刻を設定できるのはスーパーユーザだけです。
.Pp
オプション:
.Bl -tag -width Ds
.It Fl d
夏時間用のカーネル値を設定します。もし
.Ar dst
が 0 でなければ、そのあとの
.Xr gettimeofday 2
呼び出しでは
.Ql tz_dsttime
に 0 以外の値が返ります。
.It Fl f
デフォルトの
.Ar [[[[yy]mm]dd]HH]MM[.ss]
フォーマットの代りに
.Ar fmt
を、時刻をパーズするフォーマットとして使用します。
.Xr strptime 3
を使用してパーズします。
.It Fl n
.Xr timed 8
を利用して、グループ内のマシン間で時計を同期させます。
.Xr timed
が動作している場合、デフォルトでは
.Nm
コマンドによりグループ内のすべてのマシンの時刻が変更されます。しかし、
.Fl n
オプションを指定した場合には、他のマシンの時刻は変更しません。
.It Fl r
エポック (1970年1月1日) から
.Ar seconds
秒経過した日時を表示します。
.It Fl t
カーネルに
.Tn GMT
(グリニッジ標準時) からの時差を設定します。このあとに呼ばれる
.Xr gettimeofday 2
では、ここで指定された値が
.Ql tz_minuteswest
に入ります。
.It Fl u
.Tn UTC
(協定世界時) の日付を表示、設定します。
.\" 訳注(Mar.1996):UTC (Universal Time Coordinate)
.It Fl v
分、時、日、曜日、月、年のいずれかを
.Ar val
にもとづき修正します。
.Ar val
の前にプラスもしくはマイナスが付いている場合、
時刻はそれに従い前後に修正されます。
そうでない場合は、指定した部分が設定されます。
必要なら任意個このフラグを指定して時刻を修正することが出来ます。
フラグは指定した順序に処理されます。
.Pp
分の範囲は 0-59、時の範囲は 1-12、日の範囲は 1-31、曜日の範囲は 0-6
(Sun-Sat)、月の範囲は 1-12 (Jan-Dec)、
年の範囲は 80-38 もしくは 1980-2038 です。
.Pp
.Ar val
が数値の場合、
.Ar y ,
.Ar m ,
.Ar w ,
.Ar d ,
.Ar H ,
.Ar M
のいずれかを使用して、時刻のどの部分を修正するのかを指定する必要があります。
.Pp
曜日もしくは月は数値の代りに名前で指定可能です。
名前と共にプラス(もしくはマイナス)記号を使用した場合、
日付は適合する次の(前の)曜日もしくは月に進みます(戻ります)。
曜日もしくは月が現在のものと変らない場合、日は修正しません。
.Pp
詳細に関しては、下記の例を参照して下さい。
.El
.Pp
プラス (``+'') で始まるオプションは、日付と時刻の表示方法を指定する
フォーマット文字列です。フォーマット文字列には、
.Xr strftime 3
で記述されているような変換文字列と、任意のテキストを含むことができます。
フォーマット文字列によって指定された文字の後には、つねに改行文字が
出力されます。
.Nm
のデフォルトの表示形式は、
.Bd -literal -offset indent
``+%+''
.Ed
.Pp
としたものと同じです。
.Pp
もし、引数が``+''記号で始まる文字列でなければ、それはシステムに
日時を設定するための値と解釈されます。日時を設定するための正式な
表現は以下のとおりです:
.Pp
.Bl -tag -width Ds -compact -offset indent
.It Ar yy
西暦の省略表現です。西暦の 10の位と 1 の位です(1989年なら89、06なら2006)。
.It Ar mm
月の数字表現です。1から12までの数字です。
.It Ar dd
日です。1から31までの数字です。
.It Ar HH
時です。0から23までの数字です。
.It Ar MM
分です。0から59までの数字です。
.It Ar .ss
秒です。0から61までの数字です。 (59 秒 + 2 秒までのうるう秒)
.El
.Pp
分の指定以外はすべて省略可能です。
.Pp
夏時間と標準時の切り替えや、閏秒や閏年の取り扱いは自動的に行われます。
.Pp
.Sh 使用例
以下のコマンド:
.Bd -literal -offset indent
date "+DATE: 19%y-%m-%d%nTIME: %H:%M:%S"
.Ed
.Pp
は、下のような表示を行ないます。
.Bd -literal -offset indent
DATE: 1987-11-21
TIME: 13:36:16
.Ed
.Pp
以下のコマンド:
.Pp
.Bd -literal -offset indent
date -v1m -v+1y
.Ed
.Pp
は以下を表示します:
.Bd -literal -offset indent
Sun Jan 4 03:15:24 GMT 1998
.Ed
.Pp
(現在 Mon Aug 4 04:15:24 BST 1997 の場合)。
.Pp
以下のコマンド:
.Bd -literal -offset indent
date -v1d -v3m -v0y -v-1d
.Ed
.Pp
は 2000 年 2 月の最後の日を表示します:
.Bd -literal -offset indent
Tue Feb 29 03:18:00 GMT 2000
.Ed
.Pp
以下のコマンド:
.Bd -literal -offset indent
date -v1d -v+1m -v-1d -v-fri
.Ed
.Pp
は今月最後の金曜日を表示します:
.Bd -literal -offset indent
Fri Aug 29 04:31:11 BST 1997
.Ed
.Pp
(現在 Mon Aug 4 04:31:11 BST 1997 の場合)。
.Pp
以下のコマンド:
.Bd -literal -offset indent
date 8506131627
.Ed
.Pp
は、
.Dq Li "1985年6月13日午後4時27分"
に日時を設定します。
.Pp
以下のコマンド:
.Pp
.Bd -literal -offset indent
date 1432
.Ed
.Pp
は、日を修正することなく、時だけを
.Li "午後2時32分"
に設定します。
.Sh 環境変数
.Nm
の実行は以下の環境変数の影響を受けます.
.Bl -tag -width Ds
.It Ev TZ
日時を表示する際に用いられるタイムゾーンを設定します。
通常のフォーマットは
.Pa /usr/share/zoneinfo
からの相対パス名です。例えば、コマンド
.Dq TZ=America/Los_Angeles date
はカリフォルニアの現在の時刻を表示します。
詳しいことは、
.Xr environ 7
を参照してください。
.El
.Sh 関連ファイル
.Bl -tag -width /var/log/messages -compact
.It Pa /var/log/wtmp
日付のリセットおよび時刻変更の記録がこのファイルに残されます。
.It Pa /var/log/messages
日付を変更したユーザの記録がこのファイルに残されます。
.El
.Sh 関連項目
.Xr gettimeofday 2 ,
.Xr strftime 3 ,
.Xr strptime 3 ,
.Xr utmp 5 ,
.Xr timed 8
.Rs
.%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD"
.%A R. Gusella
.%A S. Zatti
.Re
.Sh 診断
成功した場合は 0 を、日時を設定できなかった場合は 1 を、
ローカルマシンの設定はできたが、グループのマシン全体の設定に失敗した
場合は2を返します。
.Pp
timed が多数のマシンの時計をあわせる場合には、新しい時刻のセットに
数秒かかることがあります。このとき
.Nm
は、
.Ql Network time being set
と表示します。
.Nm
.Xr timed
との間で通信に失敗した場合は、
.Ql Communication error with timed
が表示されます。
.Sh バグ
システムは
.Tn VMS
と高い互換性を持つフォーマットで日時を保持しようとしています。しかし、
.Tn VMS
.Tn GMT
ではなくローカルな時刻を使っており、夏時間を理解しません。そのため、
.Tn UNIX
.Tn VMS
を同時に使う場合は、
.Tn VMS
.Tn GMT
で使うべきでしょう。
.Sh 規格
.Nm
コマンドは
.St -p1003.2
互換であると想定しています。
.Sh 歴史
A
.Nm date
コマンドは
.At v1
から導入されました。
diff --git a/ja/man/man1/dc.1 b/ja/man/man1/dc.1
index ff057edc36..10ee296b9b 100644
--- a/ja/man/man1/dc.1
+++ b/ja/man/man1/dc.1
@@ -1,365 +1,402 @@
-.TH DC 1 "07 Apr 1994" "GNU Project"
+.\"
+.\" dc.1 - the *roff document processor source for the dc manual
+.\"
+.\" This file is part of GNU dc.
+.\" Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License , or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; see the file COPYING. If not, write to
+.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+.\"
.\" jpman %Id: dc.1,v 1.4 1997/07/26 21:29:52 horikawa Stab %
+.\"
+.TH DC 1 "1997-03-25" "GNU Project"
.ds dc \fIdc\fP
.ds Dc \fIDc\fP
.SH 名称
dc \- 任意精度の計算機
.SH 書式
dc
-.SH
-解説
+.SH 解説
.PP
\*(dc は、逆ポーランド形式の無限精度の計算が行える卓上計算機です。
この電卓は、定義やマクロ呼び出しも行えます。
-普通、 \*(dc は標準入力から読み込みます。
+普通、\*(dc は標準入力から読み込みます。
コマンドライン引数が与えられた時は、それはファイル名となり、
\*(dc はそのファイルを読み込み、ファイルの内容を実行した後で、
標準入力から入力を取ります。
-全ての正常な出力は標準出力へ送られます。
-全てのエラー出力は標準出力へ送られます。
+通常の出力はすべて標準出力へ、エラー出力はすべて標準エラー出力へ
+送られます。
.PP
逆ポーランド記法計算機は、数をスタックに保存します。
数字を入力すると、それをスタックに積み上げます。
計算操作は、引数をスタックから取り出し、結果をスタックに積み上げます。
.PP
数字を
-.IR dc
+.IR dc
に入力するためには、数字 (小数点が有っても構いません) を入力します。
指数表現はサポートされていません。
-負の数字を入力するためには、 ``_'' で始まる数字を入力します。
+負の数字を入力するためには、``_'' で始まる数字を入力します。
``-'' は減算の二項演算子として使われているので、
このために利用することはできません。
引き続いて 2 つの数字を入力するためには、あいだに空白文字か改行文字を
入力します。
これらは、コマンドとしての意味はありません。
.PD
.SH
表示コマンド
.TP
.B p
スタックを変更することなく、スタックの先頭の値を表示します。
改行文字が、数値の後に表示されます。
.TP
.B P
スタックの先頭の値を表示し、スタックから取り出します。
改行文字は、後に表示されません。
.TP
.B f
変更することなく、
.ig
-全てのレジスタの内容と
+すべてのレジスタの内容と
..
スタックの内容全部を表示します。
これは、忘れてしまった時に使ったり、あるコマンドがどのような効果を
もたらすのかを知りたい時には、良いコマンドです。
.PD
.SH
計算
.TP
.B +
-二つの値をスタックから取り出し、加算を行い、結果をスタックに積みます。
+2 つの値をスタックから取り出し、加算を行い、結果をスタックに積みます。
結果の精度は、引数の値にだけによって決まり、十分正確です。
.TP
.B -
-二つの値を取り出し、最初に取り出した値を 2 番目に取り出した値から
+2 つの値を取り出し、最初に取り出した値を 2 番目に取り出した値から
引きます。その後、結果をスタックに積みます。
.TP
.B *
-二つの値を取り出し、かけ算を行い、結果をスタックに積みます。
-結果の小数の桁数は、現在の精度値 ( 以下参照 ) によって制御され、
+2 つの値を取り出し、かけ算を行い、結果をスタックに積みます。
+結果の小数の桁数は、現在の精度値 (以下参照) によって制御され、
かけ算を行った値には依存しません。
.TP
.B /
-二つの値を取り出し、最初に取り出した値を 2 番目に取り出した値で割り、
+2 つの値を取り出し、2 番目に取り出した値を最初に取り出した値で割り、
結果をスタックに積みます。
小数の桁数は、精度値によって指定されます。
.TP
.B %
-二つの値を取り出し、
+2 つの値を取り出し、
.B /
で計算された割算の余りを計算し、結果をスタックに積みます。
割算は、精度値で指定された小数の桁数で行われ、
余りも同じ小数の桁数で計算されます。
.TP
+.B ~
+2 つの値を取り出し、2 番目に取り出した値を最初に取り出した値で割り、
+その商を先にスタックに積み、続いて余りを積みます。
+割算に使われる小数の桁数は、精度値によって指定されます。
+(エラーチェック機構はわずかに異なりますが、文字列 \fBSdSn lnld/ LnLd%\fP
+もこの機能と同様に働くでしょう。)
+.TP
.B ^
-二つの値を取り出し、最初に取り出した値を指数とし、
+2 つの値を取り出し、最初に取り出した値を指数とし、
2 つめの値を底として指数計算します。
指数の小数点以下は無視されます。
精度値は、結果の小数の桁数を指定します。
.TP
+.B |
+3 つの値を取り出し、べき剰余 (modular exponentiation) を計算します。
+最初に取り出した値は法 (reduction modulus) (この値は 0 以外の整数で
+なくてはいけません。) 、2 番目に取り出した値は指数 (この値は
+非負の数字でなければならず、小数点以下は無視されます。)、
+3 番目に取り出した値は累乗される底として用いられます。
+精度値は、結果の小数の桁数を指定します。
+小さな数字に関しては、この機能は文字列 \fBSm lble^ Lm%\fP のように
+働きます。しかし、\fB^\fP を使う場合と違い、このコマンドは指数が
+非常に大きくても働くはずです。
+.TP
.B v
-一つの値を取り出し、自乗根を求め、結果をスタックに積みます。
+1 つの値を取り出し、平方根を求め、結果をスタックに積みます。
精度値は、結果の小数の桁数を指定します。
.PP
-ほとんどの演算子は、 ``精度値'' に影響を受けます。
-``精度値'' は、
+ほとんどの演算子は、``精度値'' に影響を受けます。
+精度値は、
.B k
コマンドで設定することができます。
-デフォルトの精度値はゼロです。これは、足し算と引き算を除く全ての算術は
+デフォルトの精度値は 0 です。これは、足し算と引き算を除くすべての算術は
整数値の結果を出すことを意味しています。
.PP
剰余演算
.B %
には、少し説明が必要です。
引数 ``a'' と ``b'' にて ``a - (b * (a / b))'' を計算しますが、
``a / b'' は現在の精度値に基づいて計算されます。
.SH
スタックの制御
.TP
.B c
スタックを消去し、空にします。
.TP
.B d
スタック先頭の値を複製し、スタックに積みます。
-したがって、 ``4d*p'' は 4 の自乗を計算し、表示します。
+したがって、``4d*p'' は 4 の自乗を計算し、表示します。
+.TP
+.B r
+スタック先頭の値と 2 番目の値の順番を入れ換えます。(交換します。)
.SH
レジスタ
.PP
\*(dc は、256 個のメモリレジスタを持っています。
-各レジスタは、一文字の名前を持っています。
+各レジスタは、1 文字の名前を持っています。
数字や文字列をレジスタに保存し、後で取り出すことができます。
.TP
.BI s r
スタックの先頭から値を取り出し、レジスタ
-.IR r
+.IR r
に保存します。
.TP
.BI l r
レジスタ
.I r
の値を複製し、それをスタックに積みます。
これは、
-.IR r
+.IR r
の内容を変更しません。
.PP
各レジスタは、それ自身のスタックを持っています。
現在のレジスタ値は、レジスタスタックの先頭です。
.TP
.BI S r
-( メイン ) スタックの先頭の値を取り出し、レジスタ
-.IR r
+(メイン) スタックの先頭の値を取り出し、レジスタ
+.IR r
のスタックにそれを積みます。
レジスタの以前の値は、アクセスできなくなります。
.TP
.BI L r
レジスタ
-.IR r
+.IR r
のスタックの先頭の値を取り出し、それをメインスタックに積みます。
レジスタ
-.IR r
+.IR r
のスタックにあった以前の値がもしあれば、
.BI l r
コマンドを使ってアクセス可能となります。
.ig
.PP
.B f
-コマンドは、全ての内容が保存されているレジスタのリストを、
+コマンドは、すべての内容が保存されているレジスタのリストを、
その内容ともに表示します。
-各レジスタの現在の内容 ( つまりレジスタスタックの先頭 )
+各レジスタの現在の内容 (つまりレジスタスタックの先頭)
だけが表示されます。
..
.SH
パラメータ
.PP
\*(dc は、その操作を制御するための 3 つのパラメータを持っています:
精度と、入力の基数、出力の基数です。
精度は、ほとんどの算術操作の結果で保存される小数の桁数を指定します。
入力の基数は、入力された数字の解釈を制御します。
-入力された全ての数字はこの基数をつかっているとされます。
+入力されたすべての数字はこの基数をつかっているとされます。
出力の基数は、表示する数字で使われます。
.PP
入力と出力の基数は、分離されたパラメータです。
等しく設定しなくてもいいですが、これは便利だったり紛らわしかったりします。
入力の基数は 2 から 36 の範囲でなければなりません。
出力の基数は最低 2 でなければなりません。
-精度はゼロ以上でなければなりません。
+精度は 0 以上でなければなりません。
精度は、現在の入力基数や出力基数に関係なく、いつも 10 進の桁数で決められます。
.TP
.B i
スタックの先頭から値を取り出し、入力基数を設定するために使います。
.TP
.B o
スタックの先頭から値を取り出し、出力基数を設定するために使います。
.TP
.B k
スタックの先頭から値を取り出し、精度を設定するために使います。
.TP
.B I
現在の入力基数をスタックに積みます。
.TP
.B O
現在の出力基数をスタックに積みます。
.TP
.B K
現在の精度をスタックに積みます。
.SH
文字列
.PP
\*(dc は、数と同じように文字列を操作できます。
文字列に対してできる唯一のことは、それを表示し、マクロとして
-実行することです。
-マクロとは、 \*(dc コマンドとして実行される文字列の内容のことです。
-全てのレジスタとスタックは文字列を保存できます。
-そして、 \*(dc はいつも、与えられたデータが文字列か数字かを
+実行することです。
+マクロとは、\*(dc コマンドとして実行される文字列の内容のことです。
+すべてのレジスタとスタックは文字列を保存できます。
+そして、\*(dc はいつも、与えられたデータが文字列か数字かを
知っています。
算術操作のようないくつかのコマンドは、数を必要としており、
文字列が与えられた場合はエラーが表示されます。
他のコマンドは、数字か文字列を受け入れることができます。
例えば、
.B p
コマンドは、両方を受け付けることができ、データをその型に応じて
表示します。
.TP
.BI [ characters ]
(左右の釣合のとれた、
.B [
.B ]
で囲まれた
)
.I characters
という文字列を作り、それをスタックに積みます。
例えば、
.B [foo]P
は文字列
.B foo
を表示します (が、改行文字は表示しません)。
.TP
+.B a
+スタック先頭の値を取り出し、それが数字なら、その低位バイトを
+文字列に変換し、スタックに積みます。文字列なら、その最初の文字が
+スタックに積み戻されます。
+.TP
.B x
スタックから値を取り出し、マクロとして実行します。
普通、これは文字列です。数の場合は、単純にその値がスタックに
積み戻されます。
例えば、
.B [1p]x
は、マクロ
.B 1p
を実行します。
.B 1p
は、
.B 1
をスタックに積み、別の行に
.B 1
を表示します。
.PP
マクロは、しばしばレジスタにも保存されます。
.B [1p]sa
は、
.B 1
を表示するためのマクロを
レジスタ
-.BR a
+.BR a
に保存します。
.B lax
でこのマクロは実行できます。
.TP
.BI > r
スタックから 2 つの値を取り出し、それらを数と仮定して比較し、
もともとのスタックの先頭が大きい場合、レジスタ
.I r
の内容を実行します。
したがって、
.B 1 2>a
は、レジスタ
-.BR a
+.BR a
の内容を実行しますが、
.B 2 1>a
では実行しません。
.TP
.BI < r
似ていますが、もともとのスタックの先頭が小さい場合にマクロを実行します。
.TP
.BI = r
-似ていますが、二つの取り出された値が等しい場合にマクロが実行されます。
+似ていますが、2 つの取り出された値が等しい場合にマクロが実行されます。
.ig
-これは、二つの文字列の等価性を比較するためにも使うことができます。
+これは、2 つの文字列の等価性を比較するためにも使うことができます。
..
.TP
.B ?
端末から行を読み込み、実行します。
このコマンドは、ユーザからの入力を要求するためのマクロで使えます。
.TP
.B q
-マクロを終了し、実行されたマクロからも終了します。
+マクロを終了し、それを呼び出したマクロからも終了します。
一番上のレベルか、一番上のレベルから直接呼ばれたマクロから呼ばれると、
.B q
コマンドは \*(dc を終了します。
.TP
.B Q
スタックから値を取り出し、それを終了すべきマクロレベル数として、
その数のマクロを終了します。
したがって、
.B 3Q
-は、 3 つのレベルを終了します。
+は、3 つのレベルを終了します。
.B Q
-コマンドでは、 \*(dc を終了することはありません。
+コマンドでは、\*(dc を終了することはありません。
.SH
状態の問い合わせ
.TP
.B Z
スタックから値を取り出し、その桁数 (文字列の場合は、文字数) を計算し、
その値をスタックに積みます。
.TP
.B X
スタックから値を取り出し、その小数点以下の桁数を計算し、
その値をスタックに積みます。文字列の場合、スタックには
.\" -1.
0
が積まれます。
.TP
.B z
現在のスタックの深さを、スタックに積みます。
スタックの深さとは、
.B z
コマンドが実行される前のスタックのデータ数です。
.SH
その他のさまざまなこと
.TP
.B !
-与えられた行をシステムコマンドとして実行します ( シェルエスケープ ) 。
+行の末尾までををシステムコマンドとして実行します (シェルエスケープ) 。
.\"(訳注)シェルエスケープは、訳者が付け足しました。
.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
.TP
.B #
-与えられた行をコメントとして取り扱います。
+行の末尾までをコメントとして取り扱います。
.TP
.BI : r
スタックから 2 つの値を取り出します。
-スタックの先頭から 2 番目だった値で配列
-.IR r
-をインデックスし、スタックの先頭だった値をそこに保存します。
+スタックの先頭だった値で配列
+.IR r
+をインデックスし、スタックの先頭から 2 番目だった値をそこに保存します。
.TP
.BI ; r
スタックから値を取り出し、配列
-.IR r
+.IR r
のインデックスとして利用します。
配列から選ばれた値は、その後でスタックに積まれます。
.SH
注釈
.PP
配列操作
.B :
.B ;
は、普通
-.IR bc
-の歴史的な実装だけで使われます
-( GNU の
+.IR bc
+の伝統的な実装だけで使われます
+(GNU の
.I bc
-は、自分でそれを含んでおり、 \*(dc を実行する必要はありません) 。
-コメント操作
-.B #
-は、歴史的な
-.IR dc
-の実装には含まれない、新しいコマンドです。
+は自己完結しており、\*(dc を実行する必要はありません) 。
.SH
バグ
.PP
バグ報告は、
-.BR bug-gnu-utils@prep.ai.mit.edu
+.BR bug-gnu-utils@prep.ai.mit.edu
に電子メールでお願いします。
単語 ``dc'' を ``Subject:'' フィールドのどこかに入れておいてください。
-.SH 歴史
-.I dc
-コマンドは、
-Version 1 AT&T UNIX
-から導入されました。
+
diff --git a/ja/man/man1/dd.1 b/ja/man/man1/dd.1
index cb17d8ae0c..a8f4377529 100644
--- a/ja/man/man1/dd.1
+++ b/ja/man/man1/dd.1
@@ -1,334 +1,334 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Keith Muller of the University of California, San Diego.
.\"
.\" 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.
.\"
.\" @(#)dd.1 8.2 (Berkeley) 1/13/94
-.\" %Id: dd.1,v 1.2.8.4 1998/07/15 02:01:18 jkh Exp %
+.\" %Id: dd.1,v 1.7 1998/05/06 06:51:35 charnier Exp %
.\" jpman %Id: dd.1,v 1.3 1997/05/16 00:16:21 h-nokubi Stab %
.\"
.Dd January 13, 1994
.Dt DD 1
.Os
.Sh 名称
.Nm dd
.Nd ファイルのコンバートおよびコピー
.Sh 書式
.Nm dd
.Op operands ...
.Sh 解説
.Nm
ユーティリティは、標準入力を標準出力にコピーします。入力データは
ブロック単位 (デフォルトでは512バイト) で読み書きされます。
入力データのブロック数が短かった場合は、何回か読み込みを行い、
ブロック数単位にまとめて出力します。
終了時に、
.Nm
は、入力と出力の各々について、ブロック単位で処理できたブロック数と
最終ブロックを満たさず半端になったブロック数を
標準エラー出力に表示します。ブロック単位の変換で切り捨てられた
入力レコードがあった場合には、そのブロック数も表示します。
.Pp
以下のオペランドが利用可能です:
.Bl -tag -width of=file
.It Cm bs= Ns Ar n
入出力両方のブロックサイズを設定します。
.Cm ibs , obs
の指定に優先します。
.Cm noerror ,
.Cm notrunc ,
.Cm sync
以外の変換指定がない場合は、入力ブロック数が小さい場合のまとめ処理なしで
入力ブロックを出力ブロックに 1 ブロック単位でコピーします。
.It Cm cbs= Ns Ar n
変換レコードサイズを
.Va n
バイトにします。
レコード指向の変換が指定された場合には変換レコードサイズが必要です。
.It Cm count= Ns Ar n
入力のうち
.Va n
個のブロックだけをコピーします。
.It Cm files= Ns Ar n
.Va n
個の入力ファイルをコピーします。このオペランドは入力デバイスが
テープのときだけ有効です。
.It Cm ibs= Ns Ar n
入力ブロックのサイズを、デフォルトの 512 バイトに代えて
.Va n
バイトにします。
.It Cm if= Ns Ar file
標準入力のかわりに
.Ar file
から入力を行います。
.It Cm obs= Ns Ar n
出力ブロックのサイズをデフォルトの 512 バイトに代えて
.Va n
バイトにします。
.It Cm of= Ns Ar file
標準出力のかわりに
.Ar file
に対し出力を行います。
.Cm notrunc
が指定されないかぎり、普通の出力ファイルでは最後の 1 ブロックサイズに
満たないデータは切り詰められます。
出力ファイルの最初の部分がスキップされる場合は (
.Cm seek
オペランド参照)
出力ファイルは そこまで切り詰められます。
.It Cm seek= Ns Ar n
コピーする前に、出力側ファイルの開始位置を先頭から
.Va n
ブロックだけ進めます。出力がテープデバイスでない場合は、
.Xr lseek 2
システムコールを使ってシークが実行され
ます。テープデバイスの場合は、既存のブロックを読み捨てる事で指定位置まで
進める処理を実行します。もしユーザがテープデバイスに対し読み込みのアクセス権
を持っていないときは、テープデバイスに対する
.Xr ioctl 2
システムコールを使います。シーク処理がファイルの最後を超えて行われる場合は、
ファイルの末尾から指定のシーク位置に相当する部分まで
.Tn NUL
データのブロックを挿入します。
.It Cm skip= Ns Ar n
コピーする前に、入力側ファイルの開始位置を先頭から
.Va n
ブロックだけ進めます。入力がシーク機能を持っているなら、
.Xr lseek 2
システムコールが使用されます。シーク機能がなければ、既存のブロックを
読み捨てる事で指定位置まで進める処理を実行します。入力がパイプから渡される
場合は、正確に指定されたバイト数が読まれます。
それ以外のデバイスでは、読まれたブロックのサイズが指定のブロックサイズに
満たない物や完全な物の区別をせずに、正確に指定されたブロック数が
読まれます。
.It Xo
.Cm conv=
.Ns Cm value Ns Op \&, Cm value \&...
.Xc
.Cm value
に以下のリストから 1 つのシンボルを指定して変換を行います。
.Bl -tag -width unblock
.It Cm ascii , oldascii
レコードの変換を行う前に
.Tn EBCDIC
から
.Tn ASCII
への文字コード変換を行います。そのほかは
.Cm unblock
と同じです。
(これらの指定では
.Cm cbs
も指定されている場合は暗黙の内に
.Cm unblock
も指定された事になります。)
.Tn ASCII
用に 2 つの変換マップがあります。
.Cm ascii
System V
互換の お奨め変換マップです。
.Cm oldascii
は昔の
.Tn AT&T
および
pre-4.3BSD-reno
システムで使われていた変換マップです。
.It Cm block
入出力のブロック境界に関係なく、入力を newline (改行) もしくは
end-of-file (ファイル末) で区切られる可変長レコード列として
扱います。各入力レコードは
.Cm cbs
で指定する長さの固定長レコードに変換されます。
変換するレコード・サイズより短い入力レコードは space (空白) で
パディングされます。変換するレコード・サイズより長い入力レコードは
長い部分が切り捨てられます。切り捨てがあった入力レコード数は、
もしあれば、コピーの終了時に標準エラー出力に表示されます。
.It Cm ebcdic , ibm , oldebcdic , oldibm
レコードが変換された後で
.Tn ASCII
から
.Tn EBCDIC
への変換を行う以外は
.Cm block
と同じです。
(これらの指定では
.Cm cbs
も指定されている場合は暗黙の内に
.Cm block
も指定された事になります。)
.Tn EBCDIC
用に 4 つの変換マップがあります。
.Cm ebcdic
.At V
互換の お奨め変換マップです。
.Cm ibm
は微妙に違う変換マップで、
.At V
で変換に
.Cm ibm
を指定した場合に相当します。
.Cm oldebcdic
.Cm oldibm
は、昔の
.Tn AT&T
および
pre-4.3BSD-reno
システムで使われていた変換マップです。
.It Cm lcase
英大文字を小文字に変換します。
.It Cm noerror
入力にエラーがあっても処理を止めないようにします。入力エラーが
起こったときは、診断メッセージに続けて その時の入力と出力の
ブロック数を、正常動作終了時に表示するメッセージと同じ
フォーマットで標準エラー出力に表示します。
もし
.Cm sync
変換も指定されていた場合は、入力データのうち失われた物を
.Tn NUL
バイト (ブロック指向の変換のときは space) に置き換えて、
通常の入力バッファとして処理します。
.Cm sync
変換が指定されていなければ、その入力ブロックは出力から削除されます。
テープかパイプ以外の入力ファイルでは、ファイル・オフセットは
.Xr lseek 2
を使ってエラーの発生したブロック以降にも設定されます。
.It Cm notrunc
出力ファイルを切り詰めません。
これによって出力ファイルのブロックの内で明らかに
.Nm
によって書き込まれる部分以外は保存されます。
.Cm notrunc
はテープではサポートされません。
.It Cm osync
最後の出力ブロックを出力ブロックサイズを満たすようにパディングします。
もし変換後に入力ファイルが出力ブロックサイズの整数倍でなかった場合に、
書き込む際に一定サイズのブロックが必要なデバイスで使う時のため、
最後の出力ブロックが直前のブロックと同じなるようにします。
このオプションは
.Cm bs= Ns Ar n
によるブロックサイズ指定とは両立しません。
.It Cm sparse
一つ以上の出力ブロックが
.Tn NUL
バイトのみからなる場合、
.Tn NUL
で埋める代りに、必要な空間だけ出力ファイルのシークを試みます。
結果として、疎なファイルとなります。
.It Cm swab
入力データを 2 バイトごとのペアとみなし、入れ替えます。入力が奇数
バイトだった場合、最後のデータはそのままになります。
.It Cm sync
各入力ブロックを入力バッファ・サイズになるようにパディングします。
パディングには、ブロック指向の変換の場合は空白を、そうでなければ
.Tn NUL
バイトを使います。
.It Cm ucase
英小文字を大文字に変換します。
.It Cm unblock
入出力のブロック境界に関係なく、入力を固定長レコード列として扱います。
入力レコードの長さは
.Cm cbs
オペランドで指定します。
データの後ろにパディングされている space を除去して
newline をつけます。
.El
.El
.Pp
サイズの指定は 10 進のバイト数が期待されます。
数字の最後に ``b'', ``k'', ``m'', ``w'' をつけた場合は、
それぞれ数字に 512、1024 (1K)、1048576 (1M)、integer (整数) のバイト数が
乗ぜられます。
2つ以上の数字を ``x'' でつないだ物を積の意味で使用できます。
.Pp
終了時に、
.Nm
は、きちんともしくは部分的に入出力を行ったブロックの数、
切り詰められた入力レコードの数、奇数長のバイト入れ換えを行った
ブロックの数を標準エラー出力に表示します。
部分的入力ブロックとは、入力ブロックサイズより少なく読まれた
物のことです。
部分出力ブロックとは、出力ブロックサイズより少なく書かれた
物のことです。
テープデバイスで部分出力ブロックが出た場合は致命的なエラーとみなされます。
それ以外の場合は、そのブロックの残りが書かれます。
キャラクタ・デバイスで部分出力ブロックが出た場合は警告メッセージが出ます。
切り詰められた入力ブロックとは、可変長レコード指向の変換が
指定され入力行が変換レコードに合わせるには長すぎるか newline で
終っていない場合の物です。
.Pp
通常、入力または変換の もしくは両方の結果のデータは
指定されたサイズの出力ブロックに集められます。
入力データが最後に達した場合、残っている出力データはブロックとして
出力されます。これは、最後の出力ブロックのサイズは
出力ブロックサイズより短くなる可能性がある事を意味します。
.Pp
.Nm
.Dv SIGINFO
(
.Xr stty 1
の引数 ``status'' 参照)
シグナルを受けた場合、その時点の入出力ブロック数を標準エラー出力に
通常の処理完了時と同じフォーマットで出力します。
.Nm
.Dv SIGINT
シグナルを受けた場合、その時点の入出力ブロック数を標準エラー出力に
通常の処理完了時と同じフォーマットで出力して
.Nm
は終了します。
.Pp
.Nm
ユーティリティは成功した場合は 0 を、
エラーが起きた場合は 0 より大きな値を返します。
.Sh 関連項目
.Xr cp 1 ,
.Xr mt 1 ,
.Xr tr 1
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2
規格のスーパーセットです。
.Cm files
オペランドおよび、
.Cm ascii ,
.Cm ebcdic ,
.Cm ibm ,
.Cm oldascii ,
.Cm oldebcdic ,
.Cm oldibm
.Tn POSIX
規格を拡張しています。
diff --git a/ja/man/man1/df.1 b/ja/man/man1/df.1
index e91fcf8f86..df0aca5a05 100644
--- a/ja/man/man1/df.1
+++ b/ja/man/man1/df.1
@@ -1,149 +1,149 @@
.\" 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.
.\"
-.\" @(#)df.1 8.2 (Berkeley) 1/13/94
-.\" %Id: df.1,v 1.4.2.4 1998/07/15 02:01:22 jkh Exp %
+.\" @(#)df.1 8.3 (Berkeley) 5/8/95
+.\" %Id: domainname.1,v 1.6 1998/05/13 07:37:23 charnier Exp %
.\" jpman %Id: df.1,v 1.2 1997/04/07 05:31:08 mutoh Stab %
.\"
-.Dd January 13, 1994
+.Dd May 8, 1995
.Dt DF 1
.Os BSD 4
.Sh 名称
.Nm df
.Nd ディスクの空き領域等の表示
.Sh 書式
.Nm df
.Op Fl ikn
.Op Fl t Ar type
.Op Ar file | Ar filesystem ...
.Sh 解説
.Nm
は、
.Ar file_system
で指定したファイルシステム、
もしくは
.Ar file
で指定したファイルが実際に格納されているファイルシステムの空きディスク容量の
表示を行います。
ディスク容量は、512 バイトを 1 ブロックとしたブロック数で表示
します。
.Nm
の引数として、
.Ar file_system
.Ar file
も指定されなかった場合は、マウントされているすべてのファイ
ルシステムについての情報を表示します。
ただし、
.Fl t
オプションによって、表示するファイルタイプの指示が可能です。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width Ds
.It Fl i
フリーな i ノードの情報も表示します。
.It Fl k
デフォルトの 512 バイトではなく、 1024 バイト (1K バイト)
を 1 ブロックとしてディスク容量を表示します。
このオプションは、環境変数
.Ev BLOCKSIZE
の指示を無効にします。
.It Fl n
.Fl n
オプションが指定されると、
.Nm
は、ファイルシステムから以前に得た情報を返します。
情報の問い合わせに長い時間を要するおそれのあるファイルシステムに対して
用いるオプションです。
このオプションを指定すると、
.Nm
はファイルシステムに新しい情報を問い合わせず、
以前に取得しておいた最新ではない可能性のある情報を表示します。
.It Fl t
指示されたタイプのファイルシステムに関する情報のみ
を表示します。
複数のタイプをコンマで区切ってリスト指定可能です。
リスト中のファイルシステムタイプの前に
.Dq no
を付けて、そのファイルシステムタイプに対しては動作
.Em しない
ように指定可能です。
例えば、
.Nm
コマンド:
.Bd -literal -offset indent
df -t nonfs,mfs
.Ed
.Pp
.Tn NFS
および
.Tn MFS
以外の全ファイルシステムを表示します。
システム上で利用可能なファイルシステムタイプは
.Xr sysctl 8
コマンドを使用して調べられます:
.Bd -literal -offset indent
sysctl vfs
.Ed
.El
.Sh 環境変数
.Bl -tag -width BLOCKSIZE
.It Ev BLOCKSIZE
環境変数
.Ev BLOCKSIZE
が設定されていれば、指定された値をブロックサイズとしてブロック数を表示します。
.El
.Sh バグ
.Ar file_system
または
.Ar file
が指示されてた場合は、
.Fl n
オプションと
.Fl t
オプションは
無効になります。
.Sh 関連項目
.Xr quota 1 ,
.Xr fstatfs 2 ,
.Xr getfsstat 2 ,
.Xr statfs 2 ,
.Xr getmntinfo 3 ,
.Xr fstab 5 ,
.Xr mount 8 ,
.Xr quot 8 ,
.Xr sysctl 8
.Sh 歴史
.Nm
ユーティリティは
.At v1
から登場しています。
diff --git a/ja/man/man1/dig.1 b/ja/man/man1/dig.1
index 9697b07b39..ceef0e6b06 100644
--- a/ja/man/man1/dig.1
+++ b/ja/man/man1/dig.1
@@ -1,354 +1,669 @@
-.\" %Id: dig.1,v 8.2 1997/06/01 20:34:33 vixie Exp %
+.\" %Id: dig.1,v 8.3 1998/03/21 01:01:23 halley Exp %
.\" jpman %Id: dig.1,v 1.4 1997/07/26 21:31:55 horikawa Stab %
.\"
.\" ++Copyright++ 1993
.\" -
.\" 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.
.\" -
.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies, and that
.\" the name of Digital Equipment Corporation not be used in advertising or
.\" publicity pertaining to distribution of the document or software without
.\" specific, written prior permission.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" -
.\" --Copyright--
.\"
.\" Distributed with 'dig' version 2.0 from University of Southern
.\" California Information Sciences Institute (USC-ISI).
.\"
.\" dig.1 2.0 (USC-ISI) 8/30/90
.\"
-.\" Man page reformatted for this release by Andrew Cherenson
-.\" (arc@sgi.com)
-.\"
-.TH DIG 1 "August 30, 1990"
-.SH 名称
+.Dd August 30, 1990
+.Dt DIG 1
+.Os BSD 4
+.Sh 名称
dig \- ドメイン名問い合わせパケットをネームサーバに送る
-.SH 書式
-.B dig
-.RI [ @\fIserver\fP ]
-.I domain
-.RI [ "<query-type>" ]
-.RI [ "<query-class>" ]
-.RI [ "+<query-option>" ]
-.RI [ "\-<dig-option>" ]
-.RI [ "%comment" ]
-.SH 解説
-\fIdig\fP (ドメイン情報手探り器; domain information groper) は、
+.Sh 書式
+.Nm dig
+.Op Ic @ Ns Ar server
+.Ar domain
+.Op Aq Ar query-type
+.Op Aq Ar query-class
+.Op Ic + Ns Aq Ar query-option
+.Op Fl Aq Ar dig-option
+.Op Ar %comment
+.Sh 解説
+.Ic dig
+(ドメイン情報手探り器; domain information groper) は、
DNS (Domain Name System) サーバから情報を集めるために使われる
柔軟なコマンドラインツールです。
-\fIdig\fP は二つのモードを持っています。
-これは、一つの問い合わせを行う単純な対話的利用モードと、
+.Ic dig
+は 2 つのモードを持っています。
+これは、1 つの問い合わせを行う単純な対話的利用モードと、
いくつかの問い合わせ行のリスト中の各問い合わせを実行するバッチモードです。
-全ての問い合わせオプションは、コマンドラインから利用可能です。
-.PP
-普通の簡単な \fIdig\fP の使用方は、以下のような形式です。
-.sp 1
- dig @server domain query-type query-class
-.sp 1
+すべての問い合わせオプションは、コマンドラインから利用可能です。
+.Pp
+普通の簡単な
+.Ic dig
+の使用法は、以下のような形式です。
+.Pp
+.Bd -ragged -offset indent-two
+.Ic dig @ NS Ar server domain query-type query-class
+.Ed
+.Pp
ここで、
-.IP \fIserver\fP
+.Bl -tag -width Fl
+.It Ar server
は、ドメイン名かドット表記のインターネットアドレスのどちらかです。
-もし、このオプションフィールドが省略された場合、 \fIdig\fP
+もし、このオプションフィールドが省略された場合、
+.Ic dig
は、そのマシンのデフォルトのネームサーバを利用しようとします。
-.sp 1
-\fB注意:\fP ドメイン名が指定された時は、ドメイン名システムリゾルバ
-(つまり、 BIND) を使うことで解決しようとします。システムが DNS を
+.Pp
+.Em 注釈:
+ドメイン名が指定された時は、ドメイン名システムリゾルバ
+(つまり、BIND) を使うことで解決しようとします。システムが DNS を
提供していない時は、ドット形式のアドレスを指定する必要があります。
-その代わりに、処理できるどこかにサーバがある場合は、
-/etc/resolv.conf が存在し、デフォルトネームサーバがどこにあるかが
-記述されている、つまり、 \fIserver\fP 自身が解決可能であることが
-求められています。
-/etc/resolv.conf についての情報は
-.IR resolver (5)
+利用できるサーバがどこかにある場合は、必要なことは
+.Pa /etc/resolv.conf
+が存在し、
+.Ar server
+自身が解決できるように、そのデフォルトネームサーバがどこにあるかが
+記述されていることだけです。
+.Pa /etc/resolv.conf
+についての情報は
+.Xr resolver 5
を参照してください。
-( 注意 : /etc/resolv.conf を変更すると、標準のリゾルバライブラリと
-それを使ういくつかのプログラムに影響を与えます。)
-オプションとして、ユーザは環境変数 LOCALRES を
-/etc/resolv.conf の代わりに使うためのファイルに設定できます。
-(LOCALRES 変数は、 \fIdig\fP リゾルバ固有のもので、標準のリゾルバでは、
-参照されません。) LOCALRES 変数が設定されていないか、
-設定されたファイルが読み込めない場合は、 /etc/resolv.conf が使われます。
-.IP \fIdomain\fP
+.Sy 警告:
+.Pa /etc/resolv.conf
+を変更すると、標準のリゾルバライブラリと
+.Pq 潜在的に
+それを使ういくつかのプログラムに影響を与えます。
+オプションとして、ユーザは環境変数
+.Ev LOCALRES
+を設定し、
+.Pa /etc/resolv.conf
+の代わりに使うファイルの名前を指定できます。
+.Po Ns Ev LOCALRES
+変数は
+.Ic dig
+リゾルバ固有のもので、標準のリゾルバでは
+参照されません
+.Pc 。
+.Ev LOCALRES 変数が設定されていないか、
+設定されたファイルが読み込めない場合は、
+.Pa /etc/resolv.conf
+が使われます。
+.It Ar domain
は、あなたが情報を要求しているドメイン名です。
-逆アドレスの問い合わせのための便利な方法は、-x オプションを見てください。
-.IP \fIquery-type\fP
+逆アドレスの問い合わせのための便利な方法は、
+.Fl x
+オプションを参照してください(この節の
+.Sx その他のオプション
+の項で述べられています)。
+.It Ar query-type
は、あなたが要求している情報のタイプ(DNS 問い合わせタイプ)です。
-省略された場合のデフォルトは、"a" (T_A = アドレス)
+省略された場合のデフォルトは、
+.Dq Ar a
+.Pq Dv T_A = アドレス
が使われます。以下のタイプが認識されます。
-.sp 1
-.ta \w'hinfoXX'u +\w'T_HINFOXX'u
-.nf
-a T_A ネットワークアドレス
-any T_ANY 指定されたドメインの全て/任意の情報
-mx T_MX ドメインのメール交換情報 (MX)
-ns T_NS ネームサーバ
-soa T_SOA 認証レコードのゾーン
-hinfo T_HINFO ホスト情報
-axfr T_AXFR ゾーン転送情報
- (権威を持ったサーバに尋ねなければなりません)
-txt T_TXT 任意の数の文字列
-.fi
-.sp 1
+.Pp
+.Bl -hang -width "hinfo T_HINFO " -compact
+.It Ar a\ \ \ \ \ \ Dv T_A
+ネットワークアドレス
+.It Ar any\ \ \ \ Dv T_ANY
+指定されたドメインのすべて/任意の情報
+.It Ar mx\ \ \ \ \ Dv T_MX
+ドメインのメール交換情報 (MX)
+.It Ar ns\ \ \ \ \ Dv T_NS
+ネームサーバ
+.It Ar soa\ \ \ \ Dv T_SOA
+ゾーンの権威者を表すレコード
+.It Ar hinfo\ \ Dv T_HINFO
+ホスト情報
+.It Ar axfr\ \ \ Dv T_AXFR
+ゾーン転送情報(権威を持ったサーバに尋ねなければなりません)
+.It Ar txt\ \ \ \ Dv T_TXT
+任意の数の文字列
+.El
+.Pp
(完全なリストは、RFC 1035 を参照してください。)
-.IP \fIquery-class\fP
+.It Ar query-class
は、問い合わせで要求されるネットワーククラスです。
-省略された場合のデフォルトは、 "in" (C_IN = Internet) です。
+省略された場合のデフォルトは、
+.Dq Ar in
+.Pq Dv C_IN = Internet
+です。
以下のクラスが認識されます。
-.sp 1
-.ta \w'hinfoXX'u +\w'T_HINFOXX'u
-.nf
-in C_IN インターネット・クラス・ドメイン
-any C_ANY 全て/任意のクラスの情報
-.fi
-.sp 1
-(完全なリストに付いては、 RFC 1035 を参照してください。)
-.sp 1
-\fB注意:\fP
-"any" は、クラスや問い合わせのタイプを指定するために使われます。
-\fIdig\fP は、最初に現れた "any" を query-type = T_ANY として解析します。
-query-class = C_ANY にするためには、 "any" を2度指定するか、
-"-c" オプション(以下参照)を利用して問い合わせクラスを
+.Pp
+.Bl -tag -width "hinfo T_HINFO " -compact
+.It Ar in\ \ \ \ \ Dv C_IN
+インターネットクラスドメイン
+.It Ar any\ \ \ \ Dv C_ANY
+すべて/任意のクラスの情報
+.El
+.Pp
+(完全なリストは、RFC 1035 を参照してください。)
+.Pp
+.Em 注釈:
+.Dq Ar any
+は、
+.Em クラス
+や問い合わせの
+.Em タイプ
+を指定するために使われます。
+.Ic dig
+は、最初に現れた
+.Dq Ar any
+を
+.Ar query-type = Dv T_ANY
+として解析します。
+.Ar query-class = Dv C_ANY
+にするためには、
+.Dq any
+を 2 度指定するか、
+.Fl c
+オプション(以下参照)を利用して問い合わせクラスを
指定しなければなりません。
-.SH その他のオプション
-.IP "%ignored-comment"
-"%" は、単に解析されない引数を含むために使われます。
-これは、 \fIdig\fP をバッチモードで実行する時に有効です。
-問い合わせリスト中の全ての @server-domain-name をリゾルブする代わりに、
+.El
+.Ss その他のオプション
+.Bl -tag -width Fl
+.It % Ns Ar ignored-comment
+.Dq %
+は、単に解析されない引数を含むために使われます。
+これは、
+.Ic dig
+をバッチモードで実行する時に有効です。
+問い合わせリスト中のすべての
+.Ar @server-domain-name
+を解決する代わりに、
そのオーバヘッドを避けつつコマンドライン上にドメイン名を書くことが出来ます。
以下の例を参照。
-.sp 1
- dig @128.9.0.32 %venera.isi.edu mx isi.edu
-.sp 1
-.IP "\-<dig option>"
-"\-" は、 \fIdig\fP の操作に影響を与えるオプションを指定するために
-指定されます。以下のオプションが現在利用可能です
+.Pp
+.Bd -ragged -offset indent-two
+.Ic dig @128.9.0.32 %venera.isi.edu mx isi.edu
+.Ed
+.Pp
+.It Fl Aq Ar dig option
+.Dq Fl
+は、
+.Ic dig
+の操作に影響を与えるオプションを指定するために
+使われます。以下のオプションが現在利用可能です
( 便利であるかどうかは保証しません )。
-.RS
-.IP "\-x \fIdot-notation-address\fP"
+.Bl -tag -width Fl
+.It Fl x Ar dot-notation-address
逆アドレス変換を指定する便利な形式です。
-"dig 32.0.9.128.in-addr.arpa" の代わりに、"dig -x 128.9.0.32"
+.Dq Ic dig 32.0.9.128.in-addr.arpa
+の代わりに、
+.Dq Ic dig -x 128.9.0.32
と指定できます。
-.IP "\-f \fIfile\fP"
-\fIdig\fP のバッチモードのためのファイルです。ファイルは、
-つづいて実行される問い合わせの指定 (\fIdig\fP のコマンドライン) の
+.It Fl f Ar file
+.Ic dig
+のバッチモードのためのファイルです。ファイルは、
+つづいて実行される問い合わせの指定 (
+.Ns Ic dig
+のコマンドライン) の
リストを含んでいます。
-';', '#', '\\n' で始まる行は無視されます。その他のオプションは、
+.Sq \&; ,
+.Sq # ,
+.Sq \en
+で始まる行は無視されます。その他のオプションは、
コマンドラインで現れるものは、個々のバッチによる問い合わせでも
影響があります。
-.IP "\-T \fItime\fP"
+.It Fl T Ar time
バッチモードで実行した時、連続した問い合わせの始まる時間間隔を秒で与え
-ます。2 つ以上のバッチ \fIdig\fP コマンドの実行を大体同期することができる
+ます。2 つ以上のバッチ
+.Ic dig
+コマンドの実行を大体同期することができる
ようになります。デフォルトは 0 です。
-.IP "\-p \fIport\fP"
+.It Fl p Ar port
ポート番号です。標準でないポート番号で待つネームサーバに問い合わせます。
デフォルトは 53 です。
-.IP "\-P[\fIping-string\fP]"
+.It Fl p Ns Bq Ar ping-string
問い合わせからかえってきた後で、
-.IR ping (8)
+.Xr ping 8
コマンドを応答時間の比較のために実行します。これは、美しくないのですが、
-シェルを呼出します。統計の最後の 3 行がコマンドのために
+シェルを呼び出します。統計の最後の 3 行がコマンドのために
表示されます。
-.sp 1
- ping \-s server_name 56 3
-.sp 1
-オプションの "ping string" が存在した時は、シェルコマンドでは
-"ping \-s" を置き換えます。
-.IP "\-t \fIquery-type\fP"
+.Pp
+.Bd -ragged -offset indent-two
+.Ic ping Fl s server_name 56 3
+.Ed
+.Pp
+オプションの
+.Dq Ar ping-string
+が存在した時は、シェルコマンドでは
+.Dq Ic ping Fl s
+を置き換えます。
+.It Fl t Ar query-type
問い合わせのタイプを指定します。タイプフィールド内の整数値か、
-上で述べたニーモニック表現 (つまり mx = T_MX) かで
+上で述べたニーモニック表現 (つまり
+.Ar mx = Dv T_MX
+) かで
指定することができます。
-.IP "\-c \fIquery-class\fP"
+.It Fl c Ar query-class
問い合わせのクラスを指定します。クラスフィールド内の整数値か、
上で述べたニーモニック表現 (つまり in = C_IN) で
指定することができます。
-.IP "\-envsav"
-このフラグは、全ての引数が解析された後で、
-\fIdig\fP 環境 (デフォルトや表示オプション等) を
-デフォルト環境としてファイルに保存するために指定します。
-標準のデフォルトが気に入らなく、たくさんのオプションを \fIdig\fP を
-使う度に指定することが嫌な場合は便利です。
-環境は、\fIdig\fP 出力 (以下参照) で詳しく述べられるフラグと同じように、
+.It Fl envsav
+このフラグを指定すると、すべての引数が解析された後で
+.Ic dig 環境 (デフォルトや表示オプション等) を
+デフォルト環境としてファイルに保存します。
+標準のデフォルトが気に入らず、
+.Ic dig
+を使う度にたくさんのオプションを指定することが嫌な場合は便利です。
+環境は、
+.Ic dig
+出力 (以下参照) で詳しく述べられるフラグと同じように、
リゾルバの状態変数フラグや、タイムアウト、再試行回数からなります。
-シェル環境変数 LOCALDEF がファイルの名前に設定されている場合、
-これが、デフォルトの \fIdig\fP 環境が保存される場所となります。
-そうでない場合は、ファイル "DiG.env" が現在の作業ディレクトリに
+シェル環境変数
+.Ev LOCALDEF
+がファイルの名前に設定されている場合、
+これが、デフォルトの
+.Ic dig
+環境が保存される場所となります。
+そうでない場合は、ファイル
+.Dq DiG.env
+が現在の作業ディレクトリに
作成されます。
-.sp 1
-\fB注意:\fP LOCALDEF は、 \fIdig\fP のリゾルバ固有であり、
+.Pp
+.Em 注釈:
+.Ev LOCALDEF
+は、
+.Ic dig
+のリゾルバ固有であり、
標準のリゾルバライブラリの操作には影響を与えません。
-.sp 1
-\fIdig\fP が実行される度に、 "./DiG.env" またはシェル環境変数
-LOCALDEF で指定されたファイルが探されます。そのようなファイルが
+.Pp
+.Ic dig
+が実行される度に、
+.Dq ./DiG.env
+またはシェル環境変数
+.Ev LOCALDEF
+で指定されたファイルが探されます。そのようなファイルが
存在し読める場合は、引数を解析する前にこのファイルから環境が
読み込まれます。
-.IP "\-envset"
+.It Fl envset
このフラグは、バッチ問い合わせを実行する時にだけ影響があります。
-\fIdig\fP バッチファイル中で "\-envset" が指定されていると、
-この引数が解析された後の \fIdig\fP 環境は、
-バッチファイルが実行されている間もしくは、
-次の "\-envset" が指定されるまでの間は
+.Ic dig
+バッチファイル中で
+.Dq Fl envset
+が指定されていると、
+この引数が解析された後の
+.Ic dig
+環境は、バッチファイルが実行されている間もしくは、次の
+.Dq Fl envset
+が指定されるまでの間は、
デフォルトの環境となります。
-.IP "\-[no]stick"
+.It Xo
+.Fl Op Cm no
+.Ns Cm stick
+.Xc
このフラグは、バッチ問い合わせ実行にだけ影響を与えます。
-これは、 \fIdig\fP 環境を \fIdig\fP バッチファイル中での
-各問い合わせ (行) の前に (初期状態もしくは、"\-envset" で設定された)
+これは、
+.Ic dig
+環境を
+.Ic dig
+バッチファイル中での
+各問い合わせ (行) の前に (初期状態もしくは、
+.Dq Fl envset
+で設定された)
元の状態に戻すことを指定します。
-デフォルトの "\-nostick" は、 \fIdig\fP 環境を回復しないという意味ですので、
-\fIdig\fP バッチファイルの各行で指定されたオプションは、
-後の行でもその効果が残ったままになります (つまり "sticky" の
-デフォルトに回復されません)。
-
-.RE
-.IP "+<query option>"
-"+" はパケット問い合わせ中のオプション変更や
-\fIdig\fP 出力仕様を変更するために使われます。
+デフォルトの
+.Dq Fl nostick
+は、
+.Ic dig
+環境を回復しないという意味ですので、
+.Ic dig
+バッチファイルの各行で指定されたオプションは、
+後の行でもその効果が残ったままになります (つまり
+.Dq sticky
+時のデフォルトのようには回復されません)。
+.El
+.It Ic + Ns Aq Ar query option
+.Dq +
+はパケット問い合わせ中のオプション変更や
+.Ic dig
+出力仕様を変更するために使われます。
これらの多くは、
-.IR nslookup (8)
+.Xr nslookup 8
で受け入れられるパラメータと同じものです。
オプションが値を必要とする場合、その指定形式は以下のようになります。
-.sp 1
- +keyword[=value]
-.sp 1
+.Pp
+.Bd -ragged -offset indent-two
+.Ic +
+.Ns Ar keyword
+.Ns Op = Ns Ar value
+.Ed
+.Pp
ほとんどのキーワードは、省略が可能です。
-"+" オプションの解釈は非常に単純です。
+.Dq +
+オプションの解釈は非常に単純です。
値はキーワードとスペースで区切ってはなりません。
以下のキーワードが現在利用可能です。
-.sp 1
-.nf
-.ta \w'domain=NAMEXX'u +\w'(deb)XXX'u
+.Pp
+.Pp
キーワード 省略形 意味 [デフォルト]
-
-[no]debug (deb) デバッグモードを変更 [deb]
-[no]d2 追加のデバッグモードを変更 [nod2]
-[no]recurse (rec) 再帰的探索を使うかどうか指定 [rec]
-retry=# (ret) 再試行の回数を # に設定 [4]
-time=# (ti) タイムアウト時間を # 秒に設定 [4]
-[no]ko 繋げておくオプション(vc を暗黙指定) [noko]
-[no]vc 仮想回線を使うかどうか指定 [novc]
-[no]defname (def) デフォルトドメイン名を使うかどうか指定 [def]
-[no]search (sea) ドメインサーチリストを使うかどうか指定 [sea]
-domain=NAME (do) デフォルトドメイン名を NAME に指定
-[no]ignore (i) trunc. エラーを無視するかどうか指定 [noi]
-[no]primary (pr) プライマリサーバを使うかどうか指定 [nopr]
-[no]aaonly (aa) 権威を持った問い合わせのみのフラグ [noaa]
-[no]sort (sor) リソースレコードを整列 [nosor]
-[no]cmd 解析された引数を表示 [cmd]
-[no]stats (st) 問い合わせの統計を表示 [st]
-[no]Header (H) 基本的なヘッダを表示 [H]
-[no]header (he) ヘッダフラグを表示 [he]
-[no]ttlid (tt) TTL を表示 [tt]
-[no]cl クラス情報を表示 [nocl]
-[no]qr 出て行った問い合わせを表示 [noqr]
-[no]reply (rep) 応答節を表示 [rep]
-[no]ques (qu) 質問節を表示 [qu]
-[no]answer (an) 解答節を表示 [an]
-[no]author (au) 権威節を表示 [au]
-[no]addit (ad) 加えられた節を表示 [ad]
-pfdef デフォルト表示フラグを設定
-pfmin 最小のデフォルト表示フラグを設定
-pfset=# 表示フラグを # に設定
- (# は 16 進 /8 進/10 進が可能です)
-pfand=# 表示フラグに # とのビット論理積 (and) 適用
-pfor=# 表示フラグに # とのビット論理和 (or) 適用
-.fi
-.sp 1
-再試行回数と時間のオプションは、問い合わせデータグラムを送る際に、
+.Pp
+.Bl -tag -width "[no]primary (ret) " -compact
+.It Xo
+.Op Cm no
+.Ns Cm debug\ \ \ \
+.Pq Cm deb
+.Xc
+デバッグモードを変更
+.Bq Cm deb
+.It Xo
+.Op Cm no
+.Ns Cm d2\ \ \ \ \ \ \ \ \ \
+.Xc
+追加のデバッグモードを変更
+.Bq Cm nod2
+.It Xo
+.Op Cm no
+.Ns Cm recurse\ \
+.Pq Cm rec
+.Xc
+再帰的探索を使うかどうか指定
+.Bq Cm rec
+.It Xo
+.Cm retry= Ns Ar #
+.Cm \ \ \ \ \
+.Pq Cm ret
+.Xc
+再試行の回数を # に設定
+.Bq 4
+.It Xo
+.Cm time= Ns Ar #
+.Cm \ \ \ \ \ \
+.Pq Cm ti
+.Xc
+タイムアウト時間を # 秒に設定
+.Bq 4
+.It Xo
+.Op Cm no
+.Ns Cm ko
+.Xc
+繋げておくオプション(vc を暗黙指定)
+.Bq Cm noko
+.It Xo
+.Op Cm no
+.Ns Cm vc
+.Xc
+仮想回線を使うかどうか指定
+.Bq Cm novc
+.It Xo
+.Op Cm no
+.Ns Cm defname\ \
+.Pq Cm def
+.Xc
+デフォルトドメイン名を使うかどうか指定
+.Bq Cm def
+.It Xo
+.Op Cm no
+.Ns Cm search\ \ \
+.Pq Cm sea
+.Xc
+ドメインサーチリストを使うかどうか指定
+.Bq Cm sea
+.It Xo
+.Cm domain= Ns Ar NAME\ \
+.Pq Cm do
+.Xc
+デフォルトドメイン名を
+.Ar NAME
+に指定
+.It Xo
+.Op Cm no
+.Ns Cm ignore\ \ \
+.Pq Cm i
+.Xc
+trunc. エラーを無視するかどうか指定
+.Bq Cm noi
+.It Xo
+.Op Cm no
+.Ns Cm primary\ \
+.Pq Cm pr
+.Xc
+プライマリサーバを使うかどうか指定
+.Bq Cm nopr
+.It Xo
+.Op Cm no
+.Ns Cm aaonly\ \ \
+.Pq Cm aa
+.Xc
+権威を持った問い合わせのみのフラグ
+.Bq Cm noaa
+.It Xo
+.Op Cm no
+.Ns Cm cmd
+.Xc
+解析された引数を表示
+.Bq Cm cmd
+.It Xo
+.Op Cm no
+.Ns Cm stats\ \ \ \
+.Pq Cm st
+.Xc
+問い合わせの統計を表示
+.Bq Cm st
+.It Xo
+.Op Cm no
+.Ns Cm Header\ \ \
+.Pq Cm H
+.Xc
+基本的なヘッダを表示
+.Bq Cm H
+.It Xo
+.Op Cm no
+.Ns Cm header\ \ \
+.Pq Cm he
+.Xc
+ヘッダフラグを表示
+.Bq Cm he
+.It Xo
+.Op Cm no
+.Ns Cm ttlid\ \ \ \
+.Pq Cm tt
+.Xc
+TTL を表示
+.Bq Cm tt
+.It Xo
+.Op Cm no
+.Ns Cm cl
+.Xc
+クラス情報を表示
+.Bq Cm nocl
+.It Xo
+.Op Cm no
+.Ns Cm qr
+.Xc
+出て行った問い合わせを表示
+.Bq Cm noqr
+.It Xo
+.Op Cm no
+.Ns Cm reply\ \ \ \
+.Pq Cm rep
+.Xc
+応答節を表示
+.Bq Cm rep
+.It Xo
+.Op Cm no
+.Ns Cm ques\ \ \ \ \
+.Pq Cm qu
+.Xc
+質問節を表示
+.Bq Cm qu
+.It Xo
+.Op Cm no
+.Ns Cm answer\ \ \
+.Pq Cm an
+.Xc
+回答節を表示
+.Bq Cm an
+.It Xo
+.Op Cm no
+.Ns Cm author\ \ \
+.Pq Cm au
+.Xc
+権威節を表示
+.Bq Cm au
+.It Xo
+.Op Cm no
+.Ns Cm addit\ \ \ \
+.Pq Cm ad
+.Xc
+追加節を表示
+.Bq Cm ad
+.It Cm pfdef
+デフォルト表示フラグを設定
+.It Cm pfmin
+最小のデフォルト表示フラグを設定
+.It Cm pfset= Ns Ar #
+表示フラグを # に設定
+(# は 16 進 /8 進/10 進が可能です)
+.It Cm pfand= Ns Ar #
+表示フラグに # とのビット論理積 (and) 適用
+.It Cm pfor= Ns Ar #
+表示フラグに # とのビット論理和 (or) 適用
+.El
+.Pp
+.Cm 再試行回数
+と
+.Cm 時間
+のオプションは、問い合わせデータグラムを送る際に、
リゾルバライブラリによって使われる再送戦略に影響を与えます。
アルゴリズムは以下の通りです
-.sp 1
-.in +5n
-.nf
-for i = 0 to retry \- 1
+.Pp
+.Bd -literal -offset indent
+for i = 0 to retry - 1
for j = 1 to num_servers
send_query
wait((time * (2**i)) / num_servers)
end
end
-.fi
-.in -5n
-.sp 1
-(注意: \fIdig\fP はいつも num_servers として値 1 を使います。)
-.SH 詳細
-\fIdig\fP は、かつて BINDの
-.IR resolver (3)
+.Ed
+.Pp
+(注釈:
+.Ic dig
+はいつも
+.Dq Li num_servers
+として値 1 を使います。)
+.El
+.Ss 詳細
+.Ic dig
+は、かつて BINDの
+.Xr resolver 3
ライブラリの変更版を要求しました。
-BIND のリゾルバは、(BIND 4.9のように) \fIdig\fP を正しく
-動作させるようになって来ています。本質的に、 \fIdig\fP は、
-引数の解釈に(とても良くは無いですが)努力し、適当なパラメータを
-設定します。\fIdig\fP は
-リゾルバの関数 res_init(), res_mkquery(), res_send() を使い、
-また _res 構造体を操作します。
-.SH 関連ファイル
-.ta \w'/etc/resolv.confXX'u
-/etc/resolv.conf 初期状態のドメイン名とネームサーバ
-\&./DiG.env デフォルトオプションを保存するデフォルトファイル
-.br
-.SH 環境変数
-LOCALRES /etc/resolv.conf の代わりに使うファイル
-.br
-LOCALDEF デフォルトの環境ファイル
-.SH 作者
+BIND のリゾルバは、(BIND 4.9のように)
+.Ic dig
+を正しく動作させるようになって来ています。本質的には、
+.Ic dig
+は、引数の解釈と適切なパラメータ設定を(見事にではなく)卒直に行うものです。
+.Ic dig
+はリゾルバの関数
+.Fn res_init ,
+.Fn res_mkquery ,
+.Fn res_send
+を使い、また
+.Ft _res
+構造体を操作します。
+.Sh 環境変数
+.Bl -tag -width "LOCALRES " -compact
+.It Ev LOCALRES
+.Pa /etc/resolv.conf
+の代わりに使うファイル
+.It Ev LOCALDEF
+デフォルトの環境ファイル
+.El
+.Pp
+上述した
+.Fl envsav ,
+.Fl envset ,
+.Xo
+.Fl Op Cm no
+.Ns Cm stick
+.Xc
+オプションの説明も参照してください。
+.Sh 関連ファイル
+.Bl -tag -width "/etc/resolv.conf " -compact
+.It Pa /etc/resolv.conf
+初期状態のドメイン名とネームサーバのアドレス
+.It Pa \./DiG.env
+デフォルトオプションを保存するデフォルトファイル
+.El
+.Sh 関連項目
+.Xr named 8 ,
+.Xr resolver 3 ,
+.Xr resolver 5 ,
+.Xr nslookup 8
+.Sh 規格
+RFC 1035
+.Sh 作者
Steve Hotz
hotz@isi.edu
-.SH 謝辞
-\fIdig\fP は、 Andrew Cherenson によって書かれた
-.IR nslookup (8)
+.Sh 謝辞
+.Ic dig
+は、Andrew Cherenson によって書かれた
+.Xr nslookup 8
の関数を使っています。
-.SH バグ
-\fIdig\fP は "這い回る機能主義 (creeping featurism)" の深刻事例 --
+.Sh バグ
+.Ic dig
+は "這い回る機能主義 (creeping featurism)" の深刻事例 --
開発中に潜在的な用途をいくつか考えた結果です。
おそらく苛酷なダイエットが有効でしょう。
同様に、表示フラグと項目の粒度は、その場限りで
生まれたもので、存在理由はそれほどありません。
-.PP
+.Pp
問題がリゾルバ中のどこかで起こった時に、
-\fIdig\fP は、 (適切な状態を持って)一貫性のあるように終了しません
-(注意:大部分の共通の終了状態はちゃんと扱います)。
+.Ic dig
+は、(適切な状態を持って)一貫性のあるように終了しません
+.Po Sy 注釈:
+大部分の共通の終了状態はちゃんと扱います
+.Pc 。
これは、バッチモードで実行している時に特に悩まされます。
異常終了した時(さらにそれを捕まえられなかった時)、バッチ全体が終了します。
-そのようなイベントをとらえた時、 \fIdig\fP は単に次の問い合わせを
+そのようなイベントをとらえた時、
+.Ic dig
+は単に次の問い合わせを
続けます。
-.SH 関連項目
-named(8), resolver(3), resolver(5), nslookup(8)
diff --git a/ja/man/man1/dnsquery.1 b/ja/man/man1/dnsquery.1
index 90843421bf..2d563a00fc 100644
--- a/ja/man/man1/dnsquery.1
+++ b/ja/man/man1/dnsquery.1
@@ -1,163 +1,180 @@
-.TH DNSQUERY 1 "10 March 1990"
+.\" %Id: dnsquery.1,v 8.2 1997/03/14 02:29:41 vixie Exp %
+.\"
+.\"Copyright (c) 1995, 1996 by Internet Software Consortium
+.\"
+.\"Permission to use, copy, modify, and distribute this software for any
+.\"purpose with or without fee is hereby granted, provided that the above
+.\"copyright notice and this permission notice appear in all copies.
+.\"
+.\"THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+.\"ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+.\"OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+.\"CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+.\"DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+.\"PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+.\"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+.\"SOFTWARE.
+.\"
.\" jpman %Id: dnsquery.1,v 1.3 1997/08/20 12:21:56 horikawa Stab %
-.UC 6
-.SH 名称
-dnsquery \- リゾルバを用いて DNS に問い合わせる
-.SH 書式
-.B dnsquery
-[-n
-.I nameserver]
-[-t
-.I type]
-[-c
-.I class]
-[-r
-.I retry]
-[-p
-.I retry period]
-[-d] [-s] [-v] host
-.SH 解説
-.IR dnsquery
+.\"
+.Dd March 10, 1990
+.Dt DNSQUERY 1
+.Os BSD 4
+.Sh 名称
+.Nm dnsquery
+.Nd リゾルバを用いて DNS に問い合わせる
+.Sh 書式
+.Nm dnsquery
+.Op Fl n Ar nameserver
+.Op Fl t Ar type
+.Op Fl c Ar class
+.Op Fl r Ar retry
+.Op Fl p Ar period
+.Op Fl d
+.Op Fl s
+.Op Fl v
+.Ar host
+.Sh 解説
+.Ic dnsquery
プログラムは、BIND リゾルバのライブラリ呼び出しによって
ネームサーバとやりとりする一般的なインタフェースです。
本プログラムはオペコード QUERY によるネームサーバ問い合わせを
サポートしています。
本プログラムは、nstest, nsquery, nslookup のようなプログラムを
置き換えるあるいは補うものとして作成されました。
-.IR host
+.Ar host
-.IR ns
+.Ar nameserver
以外の引数は大文字小文字を区別しません。
-.SH オプション
-.TP 1i
-.B \-n
+.Sh オプション
+.Bl -tag -width Fl
+.It Fl n Ar nameserver
問い合わせに用いるネームサーバ。
ネームサーバ指定は、w.x.y.z 形式のインターネットアドレス表記でも、
ドメインネーム表記でも構いません。
-(デフォルト: /etc/resolv.conf の指定)
-.TP 1i
-.B \-t
+(デフォルト:
+.Pa /etc/resolv.conf
+の指定。)
+.It Fl t Ar type
関心あるリソースレコード型。型には以下のものがあります:
-.RS 1.5i
-.TP 1i
-A
+.Bl -tag -width "AFSDB " -compact -offset indent
+.It Ar A
アドレス
-.PD 0
-.TP 1i
-NS
+.It Ar NS
ネームサーバ
-.TP 1i
-CNAME
+.It Ar CNAME
正式名
-.TP 1i
-PTR
-ドメインネームポインタ
-.TP 1i
-SOA
-Start of Authority
-.TP 1i
-WKS
-よく知られたサービス(well-known service)
-.TP 1i
-HINFO
+.It Ar PTR
+ドメインネームへのポインタ
+.It Ar SOA
+権威の開始 (Start of Authority)
+.It Ar WKS
+よく知られたサービス (well-known service)
+.It Ar HINFO
ホスト情報
-.TP 1i
-MINFO
+.It Ar MINFO
メールボックス情報
-.TP 1i
-MX
-メール交換(mail exchange)
-.TP 1i
-RP
-responsible person
-.TP 1i
-MG
+.It Ar MX
+メールエクスチェンジ (mail exchange)
+.It Ar RP
+責任者 (responsible person)
+.It Ar MG
メールグループメンバ
-.TP 1i
-AFSDB
+.It Ar AFSDB
DCE または AFS サーバ
-.TP 1i
-ANY
+.It Ar ANY
ワイルドカード
-.RE
-.PD
-.IP
-大文字小文字どちらでも使用できます。(デフォルト: ANY)
-.TP 1i
-.B \-c
+.El
+.Pp
+大文字小文字どちらでも使用できます。(デフォルト:
+.Ar ANY
+)。
+.It Fl c Ar class
関心あるリソースレコードのクラス。クラスには以下のものがあります:
-.RS 2i
-.TP 1i
-IN
+.Bl -tag -width "CHAOS " -compact -offset indent
+.It Ar IN
インターネット
-.PD 0
-.TP 1i
-HS
+.It Ar HS
Hesiod
-.TP 1i
-CHAOS
+.It Ar CHAOS
Chaos
-.TP 1i
-ANY
+.It Ar ANY
ワイルドカード
-.RE
-.PD
-.IP
-大文字小文字どちらでも使用できます。(デフォルト: IN)
-.TP 1i
-.B \-r
+.El
+.Pp
+大文字小文字どちらでも使用できます。(デフォルト:
+.Ar IN
+)。
+.It Fl r Ar retry
ネームサーバが応答しない場合のリトライ回数。(デフォルト: 4)
-.TP 1i
+.It Fl p Ar period
.B \-p
-タイムアウト時間(秒)。 (デフォルト: RES_TIMEOUT)
-.\" 以下の 2行は前後のつながり不明。英語版の段階で欠落あり?? (jpman 酒井)
-.\" .IR options
-.\" field. (default: any answer)
-.\" -a オプション削除時のゴミだと思います(horikawa@jp.freebsd.org)
-.TP 1i
-.B \-d
+タイムアウト時間(秒)。(デフォルト:
+.Dv RES_TIMEOUT
+)。
+.It Fl d
デバッグ機能を有効にする。リゾルバの
-.IR options
-フィールドの RES_DEBUG ビットをセットします。(デフォルト: デバッグ機能オフ)
-.TP 1i
-.B \-s
+.Ft options
+フィールドの
+.Dv RES_DEBUG
+ビットをセットします。(デフォルト: デバッグ機能オフ)
+.It Fl s
パケットではなく
-.IR ストリーム
+.Em ストリーム
を用います。つまり、ネームサーバとの接続に UDP データグラムではなく、
TCP ストリームを用います。リゾルバの
-.IR options
-フィールドの RES_USEVC ビットをセットします。(デフォルト: UDP)
-.TP 1i
-.B \-v
-オプション 's' と同じ意味です。
-.TP 1i
-.B host
+.Ft options
+フィールドの
+.Dv RES_USEVC
+ビットをセットします。(デフォルト: UDP データグラム)
+.It Fl v
+オプション
+.Dq Fl s
+と同じ意味です。
+.It Ar host
関心あるホスト名(あるいはドメイン名)。
-.SH 関連ファイル
-/etc/resolv.conf デフォルトのネームサーバと検索リスト
-.br
-<arpa/nameser.h> 利用できる RR タイプとクラスの一覧
-.br
-<resolv.h> リゾルバのフラグ一覧
-.SH 関連項目
-nslookup(8), nstest(1), nsquery(1),
-named(8), resolver(5)
-.SH 診断
+.El
+.Sh 関連ファイル
+.Bl -tag -width "<arpa/nameser.h> " -compact
+.It Pa /etc/resolv.conf
+デフォルトのネームサーバと検索リスト
+.It Pa <arpa/nameser.h>
+利用できる RR タイプとクラスの一覧
+.It Pa <resolv.h>
+リゾルバのフラグ一覧
+.El
+.Sh 診断
リゾルバが問い合わせの回答に失敗し、デバッグ機能が有効になっていない場合、
-.IR dnsquery
+.Ic dnsquery
は単に以下のようなメッセージを表示します:
-.TP 1i
-Query failed (rc = 1) : Unknown host
-.LP
-リターンコードの値は h_errno から得ます。
-.SH バグ
-IN 以外のクラスを問い合わせると面白い結果が得られることがあります。
-というのは、ネームサーバは普通、クラス IN のリソースレコードとして
+.Dl Query failed (rc = 1) : Unknown host
+.Pp
+リターンコードの値は
+.Ft h_errno
+から得ます。
+.Sh 関連項目
+.Xr nslookup 8 ,
+.Xr nstest 1 ,
+.Xr nsquery 1 ,
+.Xr named 8 ,
+.Xr resolver 5
+.Sh 作者
+Bryan Beecher
+.Sh バグ
+.Ar IN
+以外のクラスを問い合わせると面白い結果が得られることがあります。
+というのは、ネームサーバは普通、クラス
+.Ar IN
+のリソースレコードとして
ルートネームサーバのリストだけしか持っていないからです。
-.PP
-本コマンドは、inet_addr() を呼び出して `-n' オプションが
+.Pp
+本コマンドは、
+.Fn inet_addr
+を呼び出して
+.Dq Fl n
+オプションが
正しいインターネットアドレスかどうかを判断します。
-残念ながら、inet_addr() は一部の(正しくない)アドレス(例えば 1.2.3.4.5)に
+残念ながら、
+.Fn inet_addr
+は一部の(正しくない)アドレス(例えば 1.2.3.4.5)に
対してセグメンテーションフォールトを起こすことがあるようです。
-.SH 作者
-Bryan Beecher
diff --git a/ja/man/man1/du.1 b/ja/man/man1/du.1
index 01dc8e86b0..1d58281470 100644
--- a/ja/man/man1/du.1
+++ b/ja/man/man1/du.1
@@ -1,134 +1,134 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)du.1 8.2 (Berkeley) 4/1/94
-.\" %Id: du.1,v 1.6.2.3 1998/07/16 23:51:21 jkh Exp %
+.\" %Id: du.1,v 1.11 1998/05/13 07:57:39 phk Exp %
.\" jpman %Id: du.1,v 1.3 1997/06/18 16:43:08 horikawa Stab %
.\"
.Dd April 1, 1994
.Dt DU 1
.Os
.Sh 名称
.Nm du
.Nd ディスク使用統計の表示
.Sh 書式
.Nm du
.Op Fl P | Fl H | Fl L
.Op Fl a | s | d Ar depth
.Op Fl c
.Op Fl k
.Op Fl x
.Op Ar file ...
.Sh 解説
.Nm du
ユーティリティは、引数に指定された各ファイル、および
引数に指定された各ディレクトリを根とするファイル階層内にある
各ディレクトリ内のディスク使用統計をブロック単位で表示します。
引数にファイルが指定されなかった場合には、カレントディレクトリを
根とするファイル階層内のブロック単位の使用統計を表示します。
.Fl k
フラグを指定した場合、表示は 1024 バイトブロックにて行います。
指定しなかった場合は、
.Xr getbsize 3
が使用され、どのブロックサイズを使用するかを決定します。
端数となるブロック数は切り上げられます。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl P
シンボリックリンクを全くたどりません。(デフォルト)
.It Fl H
コマンドラインに指定されたシンボリックリンクをたどります。
階層内を調べている途中で見つかったシンボリックリンクはたどりません。
.It Fl L
コマンドラインのシンボリックリンク
および階層内を調べている途中で見つかったシンボリックリンクをたどります。
.It Fl a
ファイル階層内の各ファイルの情報も表示します。
.It Fl s
指定したファイルのエントリを表示します。(
.Fl d
0 と等価です)
.It Fl d Ar depth
深さ
.Ar depth
までの全てのファイルとディレクトリだけを表示します.
.It Fl c
総計を表示します。
.It Fl k
1024 バイト (1 キロバイト) ブロックとして報告します。
.It Fl x
ファイルシステムマウントポイントはたどりません。
.El
.Pp
.Nm du
は、
.Fl H
もしくは
.Fl L
オプションが指定されない限り、シンボリックリンクの大きさは
リンクの参照先の大きさではなく、シンボリックリンク自身の
占める大きさとして数えます。
もし
.Fl H
もしくは
.Fl L
のどちらかのオプションが指定された場合には、
たどられた全てのシンボリック
リンクの大きさは数えられず、また表示もされません。
.Pp
複数のハードリンクを持つファイルは、
.Nm du
の実行中、1 回しか数えられず、1 回しか表示されません。
.Sh 環境変数
.Bl -tag -width BLOCKSIZE
.It Ev BLOCKSIZE
.Ev BLOCKSIZE
環境変数が指定されていて
.Fl k
オプションが指定されていないと、ブロック数は 1024 ブロックサイズ単位で
表示されます。
.Ev BLOCKSIZE
環境変数が指定されておらず
.Fl k
オプションが指定されていないと、ブロック数は 512 ブロックサイズ単位で
表示されます。
.El
.Sh 関連項目
.Xr df 1 ,
.Xr fts 3 ,
.Xr symlink 7 ,
.Xr quot 8
.Sh 歴史
.Nm du
コマンドは、
.At v1
で登場しました。
diff --git a/ja/man/man1/echo.1 b/ja/man/man1/echo.1
index ffec74b583..2dad7b2f43 100644
--- a/ja/man/man1/echo.1
+++ b/ja/man/man1/echo.1
@@ -1,70 +1,70 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)echo.1 8.1 (Berkeley) 7/22/93
-.\" %Id: echo.1,v 1.3.2.1 1998/07/16 09:35:41 jkh Exp %
+.\" %Id: echo.1,v 1.6 1998/05/13 07:39:07 charnier Exp %
.\" jpman %Id: echo.1,v 1.2 1997/04/02 00:07:04 mutoh Stab %
.\"
.Dd July 22, 1993
.Dt ECHO 1
.Os
.Sh 名称
.Nm echo
.Nd 引数の文字列を標準出力に出力する
.Sh 書式
.Nm echo
.Op Fl n
.Op "string ..."
.Sh 解説
.Nm
は、各引数の間を 1 つの空白文字 (`` '') で区切り、最後に改行 (``\en'') を
付加したものを標準出力に書き出します。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width flag
.It Fl n
改行を付加しません。
これは、iBCS2 互換システムで行われていたように、
文字列の最後に `\ec' を付け加える事で実現しています。
.El
.Pp
.Sh 戻り値
成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
.Sh 関連項目
.Xr printf 1
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2
準拠です。
diff --git a/ja/man/man1/ed.1 b/ja/man/man1/ed.1
index 45166b70d5..8dd6502f12 100644
--- a/ja/man/man1/ed.1
+++ b/ja/man/man1/ed.1
@@ -1,883 +1,883 @@
-.\" %Id: ed.1,v 1.8.2.4 1998/07/21 06:48:51 jkoshy Exp %
+.\" %Id: ed.1,v 1.14 1998/07/21 04:53:18 jkoshy Exp %
.\" jpman %Id: ed.1,v 1.2 1997/06/09 15:03:56 jsakai Stab %
.Dd May 21, 1993
.Dt ED 1
.Os
.Sh 名称
.\" ed, red \- text editor
.Nm ed
.Nd 行指向のテキストエディタ
.Sh 書式
.Nm ed
.Op Fl
.Op Fl sx
.Op Fl p Ar string
.Op Ar file
.\" .LP
.\" red [-] [-sx] [-p \fIstring\fR] [\fIfile\fR]
.Sh 解説
.Nm ed
は、行指向のテキストエディタです。
本コマンドを用いることで、テキストファイルの生成、表示、変更その他の操作を
行なうことができます。
.\" .B red
.\" is a restricted
.\" .BR ed :
.\" it can only edit files in the current
.\" directory and cannot execute shell commands.
.Ar file
引数を指定して本コマンドを起動すると、ファイル
.Ar file
のコピーをエディタのバッファに読み込みます。
以後の変更はそのコピーに対して行なわれ、
.Ar file
で指定したファイル自身が直接変更されることはありません。
.Nm
コマンドを終了する際、
.Em w
コマンドで明示的にセーブしなかった変更点はすべて失われます。
編集は、
.Em コマンド
モードと
.Em 入力
モードの 2 つの異なるモードを使い分けて行ないます。
.Nm
を起動したら、まずコマンドモードに入ります。
本モードでは、標準入力からコマンドを読み込み、それを実行することで
エディタバッファの内容操作を行ないます。
典型的なコマンドは、以下のようなものです。
.Pp
.Sm off
.Cm ,s No / Em old Xo
.No / Em new
.No / Cm g
.Xc
.Sm on
.Pp
これは、編集しているテキストファイル中に
.Em old
という文字列があったら、これらをすべて文字列
.Em new
に置き換えるコマンドです。
.Pp
.Em a
(append)、
.Em i
(insert)、あるいは
.Em c
(change) といった入力コマンドが入力された場合、
.Nm
は入力モードに移行します。これが、ファイルにテキストを追加する
主たる方法です。
このモードでは、コマンドを実行することはできません。
そのかわり、標準入力から入力されたデータは、
直接エディタバッファへと書き込まれます。行は、改行キャラクタまで
のテキストデータおよび、最後の
.Em 改行
キャラクタを含むデータから構成されます。
ピリオド 1 つだけ
.Pf ( Em . Ns )
の行を入力すると、入力モードを終了します。
.Pp
すべての
.Nm
コマンドは、全ての行もしくは指定した範囲の行の操作が可能です。例えば、
.Em d
コマンドは指定した行を削除し、
.Em m
コマンドは指定した行を移動します。
上に示した例のように、置換によってある行の一部分のみを変更することは
可能ですが、
.Em s
コマンドは、一度に全部の行にわたって変更を行なうことも可能です。
.Pp
一般的には、
.Nm
コマンドは、0 個以上の行番号および、それに連なる 1 文字コマンドから
成り立ちます。場合によっては追加のパラメータをもつこともあります。
いうなれば、コマンドは以下の構造を持ちます。
.Pp
.Sm off
.Xo Op "address\ " Op ,address
.No command Op parameters
.Xc
.Sm on
.Pp
行番号はコマンドの操作対象行あるいは対象行範囲を示します。
行番号の指定個数が、コマンドが受け付け可能な個数よりも少ない場合には、
デフォルトの行番号が採用されます。
.Sh オプション
以下のオプションが使用できます。
.Bl -tag -width indent
.It Fl s
診断メッセージを抑制します。本オプションは、
.Nm
の入力がスクリプトによって行なわれる場合に有効です。
.It Fl x
続く読み書きの際に行なわれる暗号化に用いる鍵の入力を促します
(
.Em x
コマンドを参照して下さい)。
.It Fl p Ar string
コマンドプロンプトとして表示する文字列を指定します。
コマンドプロンプトは、コマンドモードで
.Em p
コマンドを実行することで、表示する/しないを切り替えることが可能です。
.It Ar file
編集対象のファイルを指定します。
.Ar file
名の先頭に感嘆符 (!) が付加されていた場合、そのファイル名はシェルコマンドと
して解釈されます。この場合、編集対象として読み込まれるテキストは、
.Xr sh 1
.Ar file
で指定したコマンドを実行した結果、標準出力に出力されるデータです。
先頭が感嘆符で始まるファイルを編集する場合には、ファイル名の先頭に
バックスラッシュ (\\) を付加して下さい。
感嘆符以外の文字で始まるファイル名については、編集対象のファイル名は
.Ar file
となります。
.El
.Sh 行指定
行は、バッファ内の行番号で表現されます。
.Nm
.Em 現在行
を管理しており、
コマンドに行番号が指定されない場合は、
現在行がデフォルト行として用いられます。
ファイルが最初に読み出された直後は、現在行はファイルの最後の行となります。
一般的に、現在行はコマンドが操作した最後の行となります。
.Pp
行番号は、以下の一覧のうち 1 つおよび、補助的に付加される
相対行番号 (オフセット) から構成されます。
相対行番号は、任意の数字の組合せと演算子、そして空白文字を含みます
( 例えば
.Em + ,
.Em -
.Em ^
が演算子に含まれます ) 。
行番号は、左から右に解釈され、それらの演算子を含む値は、現在行からの相対行番
号と解釈されます。
.Pp
行番号の表現に関して上記の規則が適用される中で、行番号
.Em 0
( ゼロ )
に関しては、例外的な扱いがされます。
これは「最初の行より前」を意味し、
それが正しい意味を持つ場合は常に利用可能です。
.Pp
行範囲は、カンマもしくはセミコロンで区切られた 2 つのアドレスで示されます。
最初に指定される行番号は、2番目に指定される行番号を超える値を指定して
はいけません。行範囲指定で行番号が 1 つしか指定されなかった場合には、2番目に
指定されるアドレスとして最初に指定されたアドレスが設定され
ます。ここで 3個以上の行番号が指定されると、最後の 2 つの行番号で
決定される範囲がコマンド実行対象になります。行番号の指定を 1 つだけしか
想定していないコマンドの場合、最後の 1 つの行番号の行がコマンド実行対象
となります。
.Pp
コンマで区切られた各行番号は、現在行からの相対行を指し示します。
セミコロンで区切られている場合は、範囲の始めの行は現在行が設定され、
範囲の終りは始めの行からの相対行で表わされます。
.Pp
行番号の指定には、以下のシンボルが使用可能です。
.Bl -tag -width indent
.It .
バッファ中の現在行を表します。
.It $
バッファ中の最終行を表します。
.It n
バッファ内の
.Em n
番目の行を表します。
.Em n
は、
.Em [0,$]
の間です。
.It - or ^
1 行前の行です。
相対行指定
.Em -1
と同等であり、複数指定することで効果を累積することが可能です。
.\" --- という指定をすることで、2 行前を示すことができます。
.\" ↑原文中に無いのでコメントアウト sakai@jp.freebsd.org (Jun 9,1997)
.It -n or ^n
.Em n
行前の行を表します。
.Em n
は、負でない整数です。
.It +
次の行を表します。
これは、
.Em +1
と同様であり、
.Em -
と同様の累積的指定が可能です。
.It +n or whitespace
.Em n
行後ろの行を表します。
.Em n
は、負でない整数です。
.Em n
の前に
.Em whitespace ( 空白文字 )
を付加して指定した場合も
.Em +n
と解釈されます。
.\" ↓原文中に無いのでコメントアウト sakai@jp.freebsd.org (Jun 9,1997)
.\" ただし、空白文字による指定を行なった場合は、単独では現在行からの相対行数を
.\" 指定することはできず、相対行指定の基準となる行をその前に指定しなければなり
.\" ません。
.It , or %
バッファの最初から最後までを表します。これは、
.Em 1,$
と指定した場合と同等です。
.It ;
バッファ中の現在行から最後の行までを表します。これは、
.Em .,$
と指定した場合と同等です。
.It /re/
指定された正規表現
.Em re
を含む、(現在行よりも後ろの) 次の行を表します。
必要であれば、文字列検索はテキスト先頭に折り返し、
現在行に達するまで検索を行ないます。
// は、最後に行なった検索を繰り返します。
.It ?re?
指定した正規表現
.Em re
を含む、現在行より前の行を表します。
必要であれば、文字列検索はテキストの最後に折り返し、
現在行に達するまで検索を行ないます。
?? は、最後に行なった検索を繰り返します。
.It 'lc
.Em k
(mark) コマンドでマークをつけた行を表します。ここで
.Em lc
は、英小文字1文字です。
.El
.Sh 正規表現
正規表現はテキストを選択する際に用いるパターンです。
例えば次の
.Em ed
コマンド
.Pp
.Sm off
.Cm g No / Em string Xo
.No /
.Xc
.Sm on
.Pp
.Em string
を含む全ての行を表示します。
正規表現は
.Em s
コマンドで古いテキストを新しいテキストで置き換える際にも用いられます。
.Pp
文字リテラルを指定するのに加え、
正規表現は文字列のクラスを表現することができます。
このようにして表現された文字列は、それに対応する正規表現に「マッチする」と
言います。
ある正規表現が一つの行の中の複数の文字列にマッチする場合、
マッチする部分のうち最も左にあって最も長いものが選択されます。
.Pp
正規表現を組み立てる際には以下のシンボルが用いられます:
.Bl -tag -width indent
.It c
以下に挙げるものを除く任意の文字
.Em c
は、その文字自身にマッチします。
このような文字には `{', '}', `(', `)', `<', `>' が含まれます。
.It Pf \e c
バックスラッシュでエスケープした文字
.Em c
は、その文字自身にマッチします。
ただし `{', '}', `(', `)', `<', `>' を除きます。
.It .
任意の一文字にマッチします。
.It Op char-class
文字クラス
.Em char-class
に含まれる任意の一文字にマッチします。
文字クラス
.Em char-class
に `]' を含めるには、文字 `]' を最初の文字に指定します。
文字の範囲を指定するには、範囲の両端の文字の間を `-' でつなぎます。
例えば `a-z' は小文字全体を表します。
以下のようなリテラル表記も、文字集合を指定するために文字クラス
.Em char-class
で使用することができます:
.Pp
\ \ [:alnum:]\ \ [:cntrl:]\ \ [:lower:]\ \ [:space:]
.PD 0
\ \ [:alpha:]\ \ [:digit:]\ \ [:print:]\ \ [:upper:]
.PD 0
\ \ [:blank:]\ \ [:graph:]\ \ [:punct:]\ \ [:xdigit:]
.Pp
文字クラス
.Em char-class
の最初あるいは最後の文字として `-' が用いられると、
それはその文字自身にマッチします。
文字クラス
.Em char-class
中のこれ以外の文字は全て、それら自身にマッチします。
.Pp
以下の形式の文字クラス中のパターン:
.Pp
\ \ [.\fIcol-elm\fR.] or,
.PD 0
\ \ [=\fIcol-elm\fR=]
.Pp
.Xr locale 5
に沿って解釈されます (現在のところサポートされません)。ここで
.Em col-elm
.Em collating element
です。詳しい説明は
.Xr regex 3
を参照して下さい。
.It Op ^char-class
文字クラス
.Em char-class
に含まれない、改行以外の任意の一文字にマッチします。
文字クラス
.Em char-class
は上で定義しています。
.It ^
.Em ^
が正規表現の最初の文字である場合、
その正規表現は行頭でのみマッチします。
それ以外の場合、
.Em ^
はそれ自身にマッチします。
.It $
.Em $
が正規表現の最後の文字である場合、
その正規表現は行末でのみマッチします。
それ以外の場合、
.Em $
はそれ自身にマッチします。
.It Pf \e <
これに続く単一文字の正規表現あるいはその部分式が、
単語の先頭でのみマッチするようにします (この機能は利用できない
場合があります)。
.It Pf \e >
これに続く単一文字の正規表現あるいはその部分式が、
単語の末尾でのみマッチするようにします (この機能は利用できない
場合があります)。
.It Pf \e (re\e)
部分式 (subexpression)
.Em re
を定義します。部分式はネストできます。
これ以降、
.Em Pf ^e n
(
.Em n
は [1,9] の範囲の数)
の形式の後方参照は、
.Em n
番目の部分式にマッチしたテキストに展開されます。
例えば、正規表現 `\e(.*\e)\e1' は、
同じ文字列が隣接しているような任意の文字列にマッチします。
部分式は左側のデリミタから順に番号が振られます。
.It *
直前にある単一文字の正規表現あるいはその部分式のゼロ回以上の繰り返しに
マッチします。
.Em *
が正規表現あるいはその部分式の最初の文字として用いられた場合、
.Em *
はその文字自身にマッチします。
.Em *
演算子は時に予期しない結果をもたらすことがあります。
例えば、正規表現 `b*' は文字列 `abbb' の先頭に
マッチします (部分文字列 `bbb' ではありません)。
これはヌルへのマッチが最も左にあるマッチだからです。
.It \e{n,m\e} or \e{n,\e} or \e{n\e}
直前にある単一文字の正規表現あるいはその部分式の、
.Em n
回以上
.Em m
回以下の繰り返しにマッチします。
.Em m
が省略された場合、
.Em n
回以上の繰り返しにマッチします。
更にコンマも省略された場合、ちょうど
.Em n
回の繰り返しにのみマッチします。
.El
.Pp
.Xr regex 3
の実装によっては、
更に正規表現演算子がいくつか定義されていることがあります。
.Sh コマンド
全ての
.Nm
コマンドは、1 文字からなりますが、追加パラメータが必要なコマンドもあります。
コマンドのパラメータが複数の行にわたる場合には、そのパラメータを含めたコマンド
の終りを含む行を除き、行末にバックスラッシュ (\\) を付加して下さい。
一般的には、1 行ごとに 1 コマンドを入れることが許されています。
しかしながら、ほとんどのコマンドは、コマンド実行を行なった後のデータ更新
その他を確認するために、
.Em p
(print)、
.Em l
(list)、
.Em n
(enumerate),
のような表示系のコマンドを同時に指定できます。
インタラプト (一般的には ^C) を入力することで、現在実行しているコマンドを
強制終了し、コマンドモードに戻すことができます。
.Nm
は、以下のコマンドを使用できます。コマンド実行時に何の指定もない場合の
デフォルトの行番号もしくは行範囲が括弧内に示されています。
.Bl -tag -width indent
.It (.)a
指定した行の後にテキストを追加します。
テキストは入力モードで入力されていきます。
現在行番号は、入力された最後の行に設定されます。
.It (.,.)c
バッファ内の指定した行を変更します。指定した行のデータは、バッファから消去
され、そこに対してテキストデータを入力するようになります。
テキストは入力モードで入力されていきます。
現在行番号は、入力した最後の行に設定されます。
.It (.,.)d
指定した範囲をバッファから削除します。
削除した範囲の後に行が続いている場合、現在行番号は、その行に設定されます。
そうでない場合には、現在行番号は、削除された範囲の前の行に設定されます。
.It e Ar file
.Ar file
を編集し、デフォルトのファイル名を設定します。
もし
.Ar file
が指定されなかった場合には、デフォルトのファイル名が使用されます。
本コマンド実行時に、それまで別のファイルを編集していた場合には、
その内容はすべて消去され、新しいファイルが読み込まれます。
現在行番号は、入力された最後の行に設定されます。
.It e Ar !command
.Ar !command
で指定されたコマンドを実行し、その結果として標準出力へ
出力されたデータを編集します (後述する
.Ar ! command
を参照して下さい)。
デフォルトのファイル名は変更されません。
.Ar command
の出力が読み込まれる前に、バッファ内に存在した行はすべて消去されます。
現在行番号は、入力された最後の行に設定されます。
.It E Ar file
無条件で
.Ar file
で指定したファイルを読み込み、編集します。
.Em e
コマンドと動作は似ていますが、すでにバッファ上のデータに変更が加えられ
ている場合でも、未書き込みの変更を警告を出さずに捨ててしまう点が異なります。
現在行番号は、入力された最後の行に設定されます。
.It f Ar file
デフォルトファイル名を
.Ar file
に設定します。
.Ar file
名が指定されない場合には、デフォルトファイル名が表示されます。
.It (1,$)g/re/command-list
.Ar command-list
で指定されたコマンドを、指定した正規表現
.Ar re
に一致する各行に対して実行します。
現在行番号は、
.Ar command-list
で指定されたコマンドが実行される前に、指定した正規表現に一致した行
に設定されます。
.Em g
コマンドが終了した場合、現在行番号は最後に
.Ar command-list
実行の影響を受けた行に設定されます。
.Pp
.Ar command-list
で指定されるコマンドは、1 行ごとに 1 つずつ書かれる必要があります。各コマンド
行の終りには、一番最後のコマンド行を除いてはバックスラッシュ (\\) を記述する
必要があります。
コマンド
.Em g ,
.Em G ,
.Em v ,
.Em V
を除くすべてのコマンドを指定可能です。
.Ar command-list
中の空行は、
.Em p
コマンドと同等に扱われます。
.It (1,$)G/re/
指定した正規表現
.Ar re
に一致した行に対して、対話編集を行ないます。
指定した正規表現に一致する文字列を含む行があると、その行を表示し、現在行番号を
設定します。
そして、ユーザに
.Ar command-list
の入力を促します。
.Em G
コマンドが終了した場合、現在行番号は、
.Ar command-list
実行の影響を受けた最後の行に設定されます。
.Pp
.Ar command-list
の記述形式は、
.Em g
コマンドで指定するものと同じです。改行のみの場合は、コマンド実行をしない
- ( ヌルコマンドリストを指定した ) ものとみなされます。
+( ヌルコマンドリストを指定した ) ものとみなされます。
`&' 文字のみを入力した場合には、
直前に実行した ( ヌルコマンドリストではない ) コマンドを再実行します。
.It H
エラーメッセージの出力の有無を切り替えます。
デフォルトでは、エラーメッセージは出力されません。
ed スクリプトを作成する場合、スクリプトのデバッグのために、本コマンドを
最初に実行することをおすすめします。
.It h
最後に表示されたエラーメッセージを表示します。
.It (.)i
編集バッファ中の現在行の前に、テキストを挿入します。
テキストは入力モードで入力されていきます。
現在行番号は、入力された最後の行に設定されます。
.It (.,.+1)j
指定した範囲の行を 1 行に連結します。指定した行はバッファから削除され、
その行の内容を含む 1 行に置き換えられます。
現在行番号は、置き換えられた行に設定されます。
.It (.)klc
行に、英小文字
.Em lc
で指定したマークをつけます。
その後、マークをつけられた行は、コマンド中で
.Em 'lc
(つまり、シングルクォートと小文字
.Em lc
) として指定できるようになります。
マークは、その行が削除されるかもしくは変更されるかしない限り、消えることは
ありません。
.It (.,.)l
指定した範囲の行の内容を見やすく表示します。
もし 1 つの行が 1 画面以上を占める場合 ( 例えばバイナリファイルを見ている
場合など )
`--More--' プロンプトが最下行に表示されます。
次の画面を表示する前に
.Nm
はリターンキーが入力されるまで待ちます。
現在行番号は、表示された最後の行に設定されます。
.It (.,.)m(.)
指定した範囲の行をバッファ内で移動します。指定した行は、
コマンドの右辺で指定した行の後ろに
移動されます。移動先の行としては、
.Em 0
- (ゼロ) が指定可能です。
+(ゼロ) が指定可能です。
現在行番号は、移動された最後の行に設定されます。
.It (.,.)n
指定した行の内容を、行番号つきで表示します。
現在行番号は、表示された最後の行に設定されます。
.It (.,.)p
指定した範囲の行の内容を表示します。
現在行番号は、表示された最後の行に設定されます。
.It P
コマンドプロンプト表示の有無を切り替えます。
コマンド起動時のオプション
.Fl p Ar string
でプロンプトが指定されていなければ、
コマンドプロンプトの表示はデフォルトでオフになっています。
.It q
.Nm
を終了します。
.It Q
無条件に
.Nm
を終了します。
このコマンドは
.Em q
コマンドと似ていますが、まだファイルに書き出されていない
変更があっても警告せずに終了する点が異なります。
.It ($)r Ar file
.Ar file
で指定されたファイルを、指定した行の後ろに読み込みます。
.Ar file
が指定されない場合、デフォルトのファイル名が読み込みに使用されます。
このコマンドに先だってデフォルトのファイル名が設定されていない場合、
デフォルトのファイル名には、
.Ar file
で指定されたものが設定されます。
それ以外の場合、デフォルトのファイル名は変更されません。
現在行番号は、読み込まれたファイルの最後の行に設定されます。
.It ($)r Ar !command
.Ar command
で指定されたコマンドを実行し、その結果として標準出力へ出力された
データを指定した行の後ろに読み込みます (後述する
.Ar ! command
を参照して下さい)。
デフォルトのファイル名は変更されません。現在行番号は、読み込まれた最後の行の
行番号に設定されます。
.It (.,.)s/re/replacement/
.It (.,.)s/re/replacement/g
.It (.,.)s/re/replacement/n
指定した行のテキスト中の、正規表現
.Ar re
に一致する文字列を、文字列
.Ar replacement
に置き換えます。
デフォルトでは、それぞれの行で最初に一致した文字列のみを置き換えます。
.Em g
(global) サフィックスが指定された場合、一致した文字列はすべて置き換えられます。
.Em n
サフィックス (
.Em n
は正の整数) が指定された場合、
.Em n
回目に一致した文字列だけを置き換えます。
指定した範囲で一度も文字列の置換が起こらなかった場合、エラーとみなされます。
現在行番号は、最後に置換が発生した行に設定されます。
.Pp
.Ar re
および
.Ar replacement
は、スペースおよび改行を除くすべてのキャラクタを用いて区切ることが
可能です (後述する
.Em s
コマンドを見て下さい)。
最後のデリミタのうち 1 つか 2 つが省略された場合、
最後に文字列置換が発生した行は、
.Em p
コマンドが指定された場合と同様に表示されます。
.Pp
.Ar replacement
中のエスケープされていない `&' は、一致した文字列と置き換えられます。
キャラクタシーケンス
.Em \em
(
.Em m
は [1,9] の範囲の整数です ) は、一致した文字列の
.Em m
番目の後方参照で置き換えられます。
.Ar replacement
の中に入る文字が `%' のみだった場合、
最後に行なった置換の
.Ar replacement
が使用されます。
改行を
.Ar replacement
に指定したい場合は、バックスラッシュを用いてエスケープすれば可能です。
.It (.,.)s
最後の置換を繰り返します。
この形式の
.Em s
コマンドは、回数を示すサフィックス
.Em n
もしくは、他の
.Em r 、
.Em g 、
.Em p
のどのキャラクタとの組合せも可能です。
.Em n
が指定されると、
.Em n
回目に一致した文字列だけが置換されます。
.Em r
サフィックスが指定されると、最後の置換が発生した文字列の変わりに、
最後に指定した正規表現が使用されます。
.Em g
サフィックスは、最後の置換で用いたグローバルサフィックスの使用の
有効/無効を切り替えます。
.Em p
サフィックスは、最後の置換に指定されたプリントサフィックスを反転します。
現在行番号は、最後に置換が発生した行に設定されます。
.It (.,.)t(.)
指定した範囲の行を、コマンド文字の右辺に指定した行番号の後に
コピー (つまり転送) します。コピー先の行番号としては、
.Em 0
(ゼロ) の指定が許されています。
現在行番号は、コピーした一番最後の行の行番号に設定されます。
.It u
最後に実行したコマンドの実行結果を取り消し、現在行番号を、取り消したい
コマンドが実行される前のものに戻します。
グローバルコマンドである
.Em g 、
.Em G 、
.Em v 、
.Em V
については、その改変は 1 コマンドで行なわれたとして扱います。
.Em u
は自分自身の動作を取り消すこともできます。
.It (1,$)v/re/command-list
指定した範囲の行のうち、指定した正規表現
.Ar re
と一致する文字列が含まれていない行について、
.Ar command-list
で指定したコマンドを実行します。
これは
.Em g
コマンドに動作が似ています。
.It (1,$)V/re/
指定した範囲の行のうち、指定した正規表現
.Ar re
に一致する文字列が含まれていない行について、対話編集を行ないます。
これは
.Em G
コマンドに動作が似ています。
.It (1,$)w Ar file
指定した範囲の行を、
.Ar file
で指定したファイルに書き出します。
それまで
.Ar file
に格納されていた内容は、警告なしに消去されます。
デフォルトファイル名が設定されていない場合、デフォルトファイル名は
.Ar file
に設定されます。それ以外の場合では、デフォルトファイル名は変更されません。
ファイル名が指定されなかった場合には、デフォルトファイル名が使用されます。
現在行番号は変更されません。
.It (1,$)wq Ar file
指定した範囲の行を
.Ar file
で指定したファイルに書き出し、
.Em q
コマンドを実行します。
.It (1,$)w Ar !command
指定した範囲の行の内容を
.Ar !command
の標準入力に書き出します (
.Em !command
については、以下の説明を参照して下さい)。
デフォルトファイル名および現在行番号は変更されません。
.It (1,$)W Ar file
指定した範囲の行の内容を、
.Ar file
で指定したファイルの後ろに追加書き込みします。
.Em w
コマンドと似ていますが、指定したファイルにそれまで格納されていた内容
がなくなることはありません。
現在行番号は変更されません。
.It x
以降の読み書きで用いられる暗号化鍵の入力を促します。
改行のみが入力されると、暗号化は解除されます。
それ以外の場合、キー読み込み中のエコーは抑制されます。
暗号化および復号化は
.Xr bdes 1
アルゴリズムを用いて行われます。
.It Pf (.+1)z n
指定した行から一度に
.Ar n
行だけスクロールします。
.Ar n
が指定されない場合には、現在のウィンドウサイズだけスクロールします。
現在行番号は、最後に表示した行の行番号に設定されます。
.It !command
.Ar command
で指定したコマンドを、
.Xr sh 1
を用いて実行します。
.Ar command
の最初の文字が `!'の場合には、その文字は直前に
.Ar !command
で実行したコマンド文字列が格納されます。
.Ar command
文字列をバックスラッシュ(\\)でエスケープした場合には、
.Nm
は処理を行ないません。
しかし、エスケープされない
.Em %
文字があった場合には、その文字列はデフォルトファイル名に置き換えられます。
シェルがコマンド実行から戻ってきた場合には、`!' が標準出力に出力されます。
現在行番号は変更されません。
.It ($)=
指定された行の行番号を表示します。
.It (.+1)newline
指定した行を表示します。そして、現在行番号を表示した行のものに
設定します。
.El
.Sh 関連ファイル
.Bl -tag -width /tmp/ed.* -compact
.It /tmp/ed.*
バッファファイル
.It ed.hup
端末が回線切断した場合に、
.Nm
がバッファ内容を書き出すファイル
.El
.Sh 関連項目
.Xr bdes 1 ,
.Xr sed 1 ,
.Xr sh 1 ,
.Xr vi 1 ,
.Xr regex 3
USD:12-13
.Rs
.%A B. W. Kernighan and P. J. Plauger
.%B Software Tools in Pascal
.%O Addison-Wesley
.%D 1981
.Re
.Sh 制限
.Nm
.Ar file
引数に対してバックスラッシュエスケープ処理を施します。
つまり、ファイル名中でバックスラッシュ (\\) を前につけた文字は、
リテラルとして解釈されます。
(バイナリではない) テキストファイルの最後が改行文字で終っていない場合、
.Nm
はそれを読み書きする際に改行文字を追加します。
バイナリファイルの場合は、
.Nm
はこのような改行文字追加は行いません。
1 行あたりのオーバヘッドは整数 4 つ分です。
.Sh 診断
エラーが発生すると、
.Nm
は `?' を表示し、コマンドモードに戻るか、スクリプトによる実行のエラーの場合には
プログラムを終了します。
最後のエラーメッセージについての説明は、
.Em h
(help) コマンドを用いることで表示可能です。
.Em g
(global) コマンドは、検索や置換が失敗したというエラーを隠蔽します。
そのため、スクリプトの中で条件つきコマンド実行を行なわせるのによく使われます。
例えば
.Pp
.Sm off
.Cm g No / Em old Xo
.No / Cm s
.No // Em new
.No /
.Xc
.Sm on
.Pp
は、出現した文字列
.Em old
をすべて文字列
.Em new
に置き換えます。
.Em u
(undo) コマンドがグローバルコマンドリスト内で実行された場合、コマンドリストは
1 度だけの実行になります。
診断が無効にされていないと、
.Nm
を終了しようとする場合やバッファ内のデータを書き出さずに他のファイルを
編集しようとする場合にエラーになります。
その場合でも、同一のコマンドを 2 回入力すると、コマンドは成功します。
しかし、それまでの未保存の編集結果は、すべて失われます。
.Sh 歴史
.Nm
コマンドは Version 1 AT&T UNIX で登場しました。
diff --git a/ja/man/man1/ee.1 b/ja/man/man1/ee.1
index 4f991b7ade..75b8f268c2 100644
--- a/ja/man/man1/ee.1
+++ b/ja/man/man1/ee.1
@@ -1,581 +1,581 @@
.\"
-.\" %Id: ee.1,v 1.3.4.2 1998/03/08 08:09:00 jkh Exp %
+.\" %Id: ee.1,v 1.6 1998/02/02 07:09:36 charnier Exp %
.\"
.Dd August 30, 1995
.Dt EE 1
.Os
.Sh 名称
.Nm ee
.Nd 簡単エディタ
.Sh 書式
.Nm ee
.Op Fl eih
.Op +#
.Op Ar
.Nm ree
.Op Fl eih
.Op +#
.Op Ar
.Sh 解説
コマンド
.Nm
はシンプルなスクリーンエディタで、端末の下部にプロンプトがあるか、
(端末中央の箱の中に) メニューがあるとき以外は、
常にテキスト挿入モードになっています。
コマンド
.Nm ree
.Nm
と同じものですが、指定されたファイルの編集しかできない (ファィル操作やシェル
を使うことができない) ように機能が制限されています。
.Pp
.Nm
を正常に動作させるためには、使用する端末のタイプに合わせて、環境変数
.Ev TERM
を正しく設定しなければなりません。例えば、
.Tn HP 700/92
端末の場合は、
.Ev TERM
変数を "70092" に設定する必要があります。
更に詳しい情報が必要な場合は、システム管理者にお尋ねください。
.Pp
下記のオプションが使用可能です:
.Bl -tag -width indent
.It Fl e
タブからスペースへの展開を禁止します。
.It Fl i
端末上部に情報ウィンドウを表示しません。
.It Fl h
ウィンドウとメニューの縁の強調表示を止めます (一部の端末で
表示速度が向上します)。
.It Sy +#
スタート時のカーソルを行番号 '#' で指定される行に置きます。
.El
.Ss "コントルールキー"
テキストの挿入以外の操作では、コントロールキー (
.Li Control
キーは "^" で表示され、例えば ^a のように、
アルファベットキーと組み合わせて使われます) や、
キーボード上にあるファンクションキー (
.Em "Next Page" ,
.Em "Prev Page" ,
矢印キー等) を使わなければなりません。
.Pp
すべての端末がファンクションキーを持っているわけではありませんから、
.Nm
ではコントロールキーに割り当てられた基本的なカーソル移動は、
キーボードに装備された、より直感的なキーでも扱えるようにしてあります。例えば、
カーソルの上方移動は、上向き矢印キーと
.Em ^u
のいずれでも可能です。
.Bl -tag -width indent
.It ^a
挿入文字を ASCII の 10 進数で指定。
.It ^b
テキストの終わりに移動。
.It ^c
コマンド入力。
.It ^d
カーソルを下に移動。
.It ^e
検索文字列を入力。
.It ^f
最後に削除した文字の復元。
.It ^g
行の先頭に移動。
.It ^h
バックスペース。
.It ^i
タブ。
.It ^j
改行を挿入。
.It ^k
カーソル上の文字を消去。
.It ^l
カーソルを左に移動。
.It ^m
改行を挿入
.It ^n
次ページに移動。
.It ^o
行末に移動。
.It ^p
前ページに移動。
.It ^r
カーソルを右に移動。
.It ^t
テキスト先頭に移動。
.It ^u
カーソルを上に移動。
.It ^v
最後に削除した単語を復元。
.It ^w
カーソル位置以降の単語を削除。
.It ^x
文字列検索。
.It ^y
カーソル位置から行末まで削除。
.It ^z
最後に削除した行の復元。
.It ^[ (ESC)
メニュー表示。
.El
.Ss "EMACS キーモード"
多くのシェルは (カーソル移動その他の編集操作で) Emacs モードを
用意していますから、それらのキー割当に慣れた利用者のために、
いくつかのキー割当が別途用意さています。これは
.Em 設定
メニューないしは初期化ファイル (下記を参照) から利用することができ、
その内容は次のとおりです:
.Bl -tag -width indent
.It ^a
行の先頭に移動。
.It ^b
1 文字後退。
.It ^c
コマンド入力。
.It ^d
カーソル位置の文字を消去。
.It ^e
行末に移動。
.It ^f
1 文字前進。
.It ^g
1 ページ戻る。
.It ^h
バックスペース。
.It ^i
タブ。
.It ^j
最後に削除した文字の復元。
.It ^k
行の削除。
.It ^l
最後に削除した行の復元。
.It ^m
改行の挿入。
.It ^n
次行に移動。
.It ^o
挿入文字を ASCII の 10 進数で指定。
.It ^p
前行に戻る。
.It ^r
最後に削除した後の復元。
.It ^t
テキストの先頭に移動。
.It ^u
テキストの最後に移動。
.It ^v
次ページに移動。
.It ^w
カーソル以降の単語を削除。
.It ^y
検索文字列の入力。
.It ^z
次の単語。
.It ^[ (ESC)
メニュー表示。
.El
.Ss "ファンクションキー"
.Bl -tag -width indent
.It Next Page
次ページに移動。
.It Prev Page
前ページに移動。
.It Delete Char
カーソル位置の文字を消去。
.It Delete Line
カーソル位置から行末まで消去。
.It Insert line
カーソル位置に改行を挿入。
.It Arrow keys
表示された方向にカーソルを移動。
.El
.Ss コマンド
ある種の操作では単一のキー操作で得られる以上の情報を必要とします。
基本的な操作のほとんどには、
.Tn ESC
キーで表示されるメニューが用意されていますが、
それらに加え、いくつかの操作は、コマンド入力 (^c) に続いて
下記のうち一つをタイプすることで実行できます。
.Bl -tag -width indent
.It ! Ns Ar cmd
シェルを使って
.Ar cmd
を実行。
.It 0-9
指定された行番号に移動。
.It case
文字列検察で大文字と小文字を区別。
.It character
カーソル位置の文字の ASCII 値を表示。
.It exit
編集したテキストを保存して終了。
.It expand
タブをスペースに展開。
.It file
ファイル名を表示。
.It help
ヘルプ画面を表示。
.It line
現在行の行番号を表示。
.It nocase
文字列検索で大文字と小文字を区別しない (デフォルト)。
.It noexpand
TAB キーが押されたとき、タブをスペースに展開しない。
.It quit
テキストに加えられた変更を保存せずに終了。
.It read Ar file
指定されたファイル
.Ar file
を読み込む。
.It write Ar file
指定されたファイル
.Ar file
にテキストを書き込む。
.El
.Ss "メニュー操作"
.Em escape
キー (存在しない場合は
.Em ^[
) を押すとメニューがでてきます。
メニューの中で escape キーを押すと、何もしないでメニューから抜け出すことが
できます。上向き矢印と下向き矢印ないしは、上なら
.Em ^u
下なら
.Em ^d
で希望する項目に移動して、
.Em return
キーを押せば、その処理が実行されます。
.Pp
メニュー項目の左側の文字のキーを押すと、そのメニューエントリを
選択することになります。
.Pp
.Nm
のメインメニューは次のとおりです:
.Bl -tag -width indent
.It leave editor
終了。
変更されている場合は、変更後のテキストを保存するかどうかの問い合わせ
メニューが出ます。
.It help
ヘルプ。
すべてのキー操作とコマンドを含むヘルプ画面を表示。
.It file operations
ファイル操作。
ファイルの読み込み、書き込み、保存に加え、
編集内容の印刷コマンドへの送信メニュー (
.Sx "ファイルによる ee の初期化"
を参照) 。
.It redraw screen
画面再描画。
画面が乱れたとき画面を再描画するための手段。
.It settings
設定。
現在の操作モードと右マージンを表示。特定の項目上で return キーを押すと、
その値を変更できます。
このメニューから抜ける場合は
.Em escape
キーを押します。(下記の
.Sx モード
を参照。)
.It search
検索。
新しい検索文字列ないしは既に設定した検索文字列で検索するためのメニュー。
.It miscellaneous
その他。
現在の段落の整形、シェルコマンドの実行、編集中のテキストのスペルチェック
を行うためのメニュー。
.El
.Ss "段落整形"
.Nm
の段落 (paragraph) は、下記のいずれかで囲まれた部分を意味します:
.Bl -bullet -width indent
.It
ファイルの先頭と終わり。
.It
文字を含まないない行、ないしは、スペースとタブのみの行。
.It
ピリオド ('.') か 大なり記号 ('>') で始まる行。
.El
.Pp
段落整形を行う方法としては、メニューの
.Em 段落整形(format paragraph)
を選択して明示的に行う方法と、段落の自動整形を行うように
.Nm
を設定する方法の二つがあります。
自動モードはメニューからでも、初期化ファイルからでも設定可能です。
.Pp
.Nm
のテキスト操作には、自由形式 (free-form)、マージン (margins)、
自動整形 (automatic formatting) の3つの状態があります:
.Pp
「自由形式」はプログラミングのような仕事に最適で、行の長さの制限がなく、
整形も行われません。
.Pp
「マージン」を使うと、右マージン (これは
.Em 設定(settings)
メニューで指定しますが、
デフォルトは端末の右縁になっています) を越えていないかどうかを気にせずに
テキストをタイプすることができます。
このモードでは
.Em 段落整形(format paragraph)
メニュー項目が動作します。
.Pp
「自動整形」はワードプロセッサのようなふるまいをします。
ユーザがテキストを入力する一方で、
空白文字が入力されるかテキストを削除するたびに、
.Nm
は段落全体が端末の幅を越えないように調整します。
自動整形を使う場合は、マージンも有効にしておかなければなりません。
.Ss モード
.Nm
そのものは「モードなし」(modeless) エディタ (常にテキスト挿入モードに
なっています) ですが、その動作の中には次のようなモードをもつものもあります:
.Bl -tag -width indent
.It タブ拡張
タブ文字として挿入するか、空白文字に置換するかを決めます。
.It 大文字と小文字の区別
文字列検索では、大文字と小文字を区別することもできますし、
同一視させることもできます。
.It マージン監視
行の長さを右マージンまでに制限することもできますし、
無限に長くすることもできます。
.It 段落の自動整形
テキストの入力中、うまく画面の幅に収まるように、
エディタに調整させることができます。
.It 8 ビット文字
8 ビット文字をそのまま表示させるか、
その値を角括弧で囲んで表示 ("<220>" 等) させるかの切り替えです。
.It 情報ウィンドウ
実行可能なキー操作を表示するウィンドウを出すか出さないかを選択します。
.It emacs キー割り当て
コントロールキーの割り当てを emacs 方式にするかどうかを決めます。
.El
.Pp
これらのモードは初期化ファイル (下記を参照) とメニュー (上記を参照) の
いずれでも設定可能です。
.Ss "スペルチェック"
.Nm
でテキストに含まれる単語のスペルをチェックする方法には、
伝統的な
.Xr spell 1
コマンドを使う方法と、オプションの
.Xr ispell 1
コマンドを使う方法の二つがあります。
.Pp
.Nm spell
を使う場合は、認識できない単語はファイルの先頭に置かれます。
.Nm ispell
の場合は、ファィルをいったんディスクに書き出し、
.Nm ispell
にそのファイルを処理させてから、
.Nm ispell
が書き換えたファイルを再度読み込みます。
.Ss "編集内容の印刷"
メニューの中に編集内容を印刷する項目があります。
.Nm
は初期化コマンドの
.Em printcommand
(下記の
.Sx "ファイルによる ee の初期化"
を参照) で指定されたコマンドに編集中のテキストをパイプで転送します。
デフォルトでは
.Xr lp 1
コマンドに転送します。
.Pp
.Em printcommand
で指定されたコマンドは、標準入力からテキストを読み込むものでなければ
なりません。詳細はシステム管理者に聞いてください。
.Ss "シェルの操作"
.Em その他(miscellaneous)
のメニューで
.Em シェルコマンド(shell command)
を選ぶか、
.Em command:
プロンプトで感嘆符 ("!") に続けて実行したいコマンドを書くことで、
.Nm
の中からシェルにコマンドを実行させることができます。さらに、"!' の前に
「大なり記号」(">") を書くことで、編集バッファの内容をシェルコマンドに
リダイレクトすることができます。
同様に、感嘆符の前に「小なり記号」("<") を書くと、
シェルコマンドの実行結果を編集バッファに取り込みます。
これらを同時に指定することで、シェルコマンドに出力した後、コマンドの
実行結果を読み直すことも可能です。
従って、エディタで編集中の単語のリストをソートしたい場合は、
コマンド入力で次のようにタイプすることができます:
.Dl ><!sort
これでエディタの内容を
.Xr sort 1
ユーティリティにパイプ出力し、その結果を編集バッファの現在の
カーソル位置に取り込むことができます。
必要なら、自分で古い情報を消去してください。
.Ss "ファイルによる ee の初期化"
ユーザの好みはまちまちですから、
.Nm
も簡単なカスタマイズ機能を備えています。
.\" ↑ 原文は configurability であるがカスタマイズ機能と意訳した
.\" by sakai@jp.freebsd.org 1997.6.19
.Nm
の初期化ファィルの置き場所は、
.Pa /usr/share/misc/init.ee\fR
、ユーザのホームディレクトリ中の
.Pa .init.ee
、カレントディレクトリ (ホームティレクトリと一致しない場合) 中の
.Pa .init.ee
の 3 つです。
これを使うと、システム管理者がシステム全体の
標準 (例えば、
.Em 印刷
コマンド) を設定したり、
ユーザがディレクトリ毎に設定を変える (一つはメイルの読み書き用、
もう一つはプログラミング用など) ことができます。
.Pp
最初に読み込まれるファイルは
.Pa /usr/share/misc/init.ee\fR
で、次に
.Pa $HOME/.init.ee
、最後に
.Pa .init.ee\fR
を読みます。
後から読み込んだファイルの指定が優先されます。
.Pp
初期化ファィルには、次の項目を記入することができます:
.Bl -tag -width indent
.It case
文字列検索で大文字と小文字を区別します。
.It nocase
文字列検索で大文字と小文字を区別しません (デフォルト)。
.It expand
.Nm
にタブを空白文字に展開させます (デフォルト)。
.It noexpand
.Nm
にタブを単一の文字として挿入させます。
.It info
小さな情報ウィンドウを端末の上部に表示します (デフォルト)。
.It noinfo
情報ウィンドウを表示しません。
.It margins
テキスト入力中にユーザが設定した右マージンを越えないように、
.Nm
に行を折り返させます (デフォルト)。
.It nomargins
右マージンを越える行を許します。
.It autoformat
.Nm
に、テキストの挿入時に、現在の段落を自動整形させます。
.It noautoformat
段落の自動整形をしないようにします (デフォルト)。
.It printcommand
印刷コマンドを設定します (デフォルト値は "lp")。
.It rightmargin
右マージンの値を選択します (画面の最初の桁を 0 とします)。
.It highlight
情報ウィンドウとメニューウィンドウの縁を強調表示します (デフォルト)。
.It nohighlight
情報ウィンドウとメニューウィンドウの縁の強調表示をやめます。
.It eightbit
8 ビット文字を表示します。
.It noeightbit
8 ビット文字の表示をやめます (例えば、"<220>" のように角括弧で囲まれた数値
で表示します)。
.It emacs
emacs のキー割り当てにします。
.It noemacs
emacs のキー割り当てをやめます。
.El
.Ss "エディタの設定の保存"
.Em settings
メニューからこのエントリを使用すると、
ユーザは現在のエディタの設定 (前記
.Sx "ファイルによる ee の初期化"
参照) を現在のディレクトリもしくはユーザのホームディレクトリのファイル
.Pa .init.ee
に保存できます。
既に存在するファイル
.Pa .init.ee
.Pa .init.ee.old
にリネームされます。
.Sh CAVEATS
(原文)
.\" こういう部分は日本語訳により細かなニュアンスが変わって問題になる
.\" かもしれないので、原文のままにしてあります。 sakai@jp.freebsd.org 1997.6.19
THIS MATERIAL IS PROVIDED "AS IS". THERE ARE
NO WARRANTIES OF ANY KIND WITH REGARD TO THIS
MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. Neither
Hewlett-Packard nor Hugh Mahon shall be liable
for errors contained herein, nor for
incidental or consequential damages in
connection with the furnishing, performance or
use of this material. Neither Hewlett-Packard
nor Hugh Mahon assumes any responsibility for
the use or reliability of this software or
documentation. This software and
documentation is totally UNSUPPORTED. There
is no support contract available. Hewlett-Packard
has done NO Quality Assurance on ANY
of the program or documentation. You may find
the quality of the materials inferior to
supported materials.
.Pp
Always make a copy of files that cannot be easily reproduced before
editing. Save files early, and save often.
.Pp
(上記段落の日本語訳 −参考−)
.br
このプログラムはこのままの状態 (AS IS) で供給されるもので、実用性や特定用途
に対する適合性を含む、いかなる保証もありません。Hewlett-Packard と Hugh Mahon
のいずれも、このプログラムの間違い、あるいは、設置や使用に付随ないしは結果と
して生ずるいかなる問題についても責任を負いません。Hewlett-Packard と Hugh
Mahon のいずれも、このプログラムとドキュメントの信頼性に対する責任を負いませ
ん。このプログラムとドキュメントに対するサポートはありませんし、サポートの窓
口もありません。Hewlett-Packard はプログラムとドキュメントの品質検査行ってい
ません。サポートのある製品にくらべて品質が劣る可能性もあります。
.Pp
編集前の状態に戻すのが困難なファイルについては、常にコピーを残してください。
早めにファイルに保存し、小刻みに保存操作を行ってください。
.Ss "国際コードセットのサポート"
.Nm
は 8 ビット文字コードをサポートしています (8 ビットクリーン)。
.Sh 警告
低速システムでは、段落自動整形は極端に遅くなります。
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/init.ee -compact
.It Pa /usr/share/misc/init.ee
.It Pa $HOME/.init.ee
.It Pa .init.ee
.Sh 作者
ソフトウェア
.Nm
.An Hugh Mahon
が開発しました。
.Pp
.\" 以下の部分も原文を残し、和訳併記としてあります。
.\" sakai@jp.freebsd.org 1997.6.19
This software and documentation contains
proprietary information which is protected by
copyright. All rights are reserved.
.Pp
(上記段落の日本語訳 −参考−)
.br
このプログラムとドキュメントは著作権法により保護されており、
すべての権利は著作者が有します。
.Pp
Copyright (c) 1990, 1991, 1992, 1993, 1995 Hugh Mahon.
.Sh "関連項目"
.Xr ispell 1 ,
.Xr lp 1 ,
.Xr spell 1 ,
.Xr termcap 5 ,
.Xr terminfo 5 ,
.Xr environ 7
.Sh 日本語マニュアル
平林浩一 (kh@mogami-wire.co.jp) による ee 日本語化キットに含まれている
日本語化 ee の日本語マニュアルをベースに、
酒井淳嗣 (sakai@jp.freebsd.org) が一部修正。
diff --git a/ja/man/man1/expr.1 b/ja/man/man1/expr.1
index d8abe8d978..1e9157656b 100644
--- a/ja/man/man1/expr.1
+++ b/ja/man/man1/expr.1
@@ -1,140 +1,140 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 1993 Winning Strategies, 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 Winning Strategies, Inc.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software withough specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: expr.1,v 1.4.2.1 1998/07/15 02:01:24 jkh Exp %
+.\" %Id: expr.1,v 1.7 1998/05/13 07:43:56 charnier Exp %
.\" jpman %Id: expr.1,v 1.2 1997/04/03 02:39:40 mutoh Stab %
.\"
.Dd July 3, 1993
.Dt EXPR 1
.Os
.Sh 名称
.Nm expr
.Nd 式を評価する
.Sh 書式
.Nm expr
.Ar expression
.Sh 解説
.Nm
は、与えられた式
.Ar expression
を評価し、その結果を標準出力に書き出します。
.Pp
.Nm
は、式で使われるすべての演算子を個別の引数として扱います。
シェルが特殊キャラクタと解釈するような文字は、エスケープしておかなければ
なりません。
.Pp
以下に、使える演算子を優先度の低い順に示します。
同じ優先度の演算子は、{ } で括ってあります。
.Bl -tag -width indent
.It Ar expr1 Li | Ar expr2
.Ar expr1
が空の文字列でも 0 でもない場合は
.Ar expr1
を評価した結果を返し、さもなければ
.Ar expr2
を評価した結果を返します。
.It Ar expr1 Li & Ar expr2
.Ar expr1
.Ar expr2
の各々の評価結果が、ともに空の文字列でも 0 でもない場合は
.Ar expr1
を評価した結果を返し、さもなければ 0 を返します。
.It Ar expr1 Li "{=, >, >=, <, <=, !=}" Ar expr2
.Ar expr1
.Ar expr2
がともに整数ならば整数としての比較結果を返し、さもなければ
文字列とみなして、ロカールに従った照合方法を用いた比較結果を
返します。
いずれの場合も、指定された関係が「真」ならば 1 を、「偽」ならば
0 を返します。
.It Ar expr1 Li "{+, -}" Ar expr2
整数値の引数に関して、加算あるいは減算した結果を返します。
.It Ar expr1 Li "{*, /, %}" Ar expr2
整数値の引数に関して、乗算、整数除算、または剰余の結果を返します。
.It Ar expr1 Li : Ar expr2
.Dq \:
演算子は、
.Ar expr1
.Ar expr2
のパターンマッチを行います。
.Ar expr2
は、正規表現でなければなりません。
またこの正規表現は、暗黙のうちに
.Dq ^
が仮定されることにより、文字列の先頭から比較を始めることに
なります。
.Pp
パターンマッチが成功した場合、もし正規表現中に少なくとも1つ
.Dq "\e(...\e)"
の形の部分正規表現が含まれていたならば、このうち
.Dq "\e1"
に相当する文字列を返します。
このような部分正規表現が含まれていなければ、マッチした文字列の
長さを返します。
またパターンマッチが失敗した場合、もし部分正規表現が含まれて
いたならば空の文字列を返し、含まれていない場合は 0 を返します。
.El
.Pp
丸括弧
.Dq "()"
は通常と同じくグループ分けに用いることができます。
.Sh 使用例
.Bl -enum
.It
以下の例は、変数 a に 1 を足します。
.Dl a=`expr $a + 1`
.It
以下の例は、変数 a に設定されたパス名のうち、
ファイル名に当たる部分を返します。
文字列 // は、除算演算子との混同を防ぐために用います。
.Dl expr "//$a" Li : '.*/\e(.*\e)'
.It
以下の例は、変数 a に含まれる文字の数を返します。
.Dl expr $a Li : '.*'
.El
.Sh 診断
.Nm
ユーティリティは、以下の値のうち1つを返して終了します。
.Bl -tag -width indent -compact
.It 0
式は空文字列でも 0 でもない
.It 1
式は空文字列か、0 であった
.It 2
式が無効だった
.Sh 規格
.Nm expr
ユーティリティは
.St -p1003.2
準拠です。
diff --git a/ja/man/man1/f2c.1 b/ja/man/man1/f2c.1
index 3ac27fe7b2..18bb5b805e 100644
--- a/ja/man/man1/f2c.1
+++ b/ja/man/man1/f2c.1
@@ -1,323 +1,325 @@
.\" mdoc translation of the f2c.1 manpage (deprecated -man format) supplied
.\" with f2c. The original manpage did not have a copyright statement, but
.\" the file /usr/src/bin/f2c/Notice states:
.\"
.\"/****************************************************************
.\"Copyright 1990 - 1997 by AT&T Bell Laboratories and Bellcore.
.\"
.\"Permission to use, copy, modify, and distribute this software
.\"and its documentation for any purpose and without fee is hereby
.\"granted, provided that the above copyright notice appear in all
.\"copies and that both that the copyright notice and this
.\"permission notice and warranty disclaimer appear in supporting
.\"documentation, and that the names of AT&T Bell Laboratories or
.\"Bellcore or any of their entities not be used in advertising or
.\"publicity pertaining to distribution of the software without
.\"specific, written prior permission.
.\"
.\"AT&T and Bellcore disclaim all warranties with regard to this
.\"software, including all implied warranties of merchantability
.\"and fitness. In no event shall AT&T or Bellcore be liable for
.\"any special, indirect or consequential damages or any damages
.\"whatsoever resulting from loss of use, data or profits, whether
.\"in an action of contract, negligence or other tortious action,
.\"arising out of or in connection with the use or performance of
.\"this software.
.\"****************************************************************/
.\"
.Dd April 19, 1996
.\" jpman %Id: f2c.1,v 1.3 1997/08/20 12:23:39 horikawa Stab %
.Os "AT&T Bell Lab and Bellcore"
.Dt F2C 1
.Sh 名称
.Nm f2c
.Nd Fortran 77 から C または C++ への変換
.Sh 書式
.Nm f2c
-.Op Fl AaCcEfgpRrsUuw
+.Op Fl AaCcEfgpRrsUuvw
.Op Fl C++
.Op Fl cd
.Op Fl d Ar dir
.Op Fl ec
.Op Fl e1c
.Op Fl ext
.Op Fl h Ns Op Cm d
.Op Fl \&I2
.Op Fl \&i2
.Op Fl i90
.Op Fl kr Ns Op Cm d
.Op Fl o Ar name
.Op Fl onetrip
.Op Fl P Ns Op Cm s
.Op Fl r8
.Op Fl 72
.Op Fl T Ar dir
.Op Fl w8
.Op Fl W Ns Ar n
.Op Fl z
.Op Fl !bs
.Op Fl !c
.Op Fl !I
.Op Fl !i8
.Op Fl !it
.Op Fl !P
.Ar file ...
.Sh 解説
.Nm f2c
は、
ファイル名が
.So \&.f Sc
あるいは
.So \&.F Sc
で終わるファイル
.Ar files
に記述された Fortran 77 ソースコードを、
カレントディレクトリ内の、
末尾の
.So \&.f Sc
または
.So \&.F Sc
.So \&.c Sc
に置き換えたファイル名の C (または C++) のソースファイルに変換します。
Fortran ファイルが指定されない場合、
.Nm f2c
は標準入力から Fortran コードを読み込み、
標準出力に C を出力します。
ファイル名が
.So \&.p Sc
または
.So \&.P Sc
で終わる
.Ar file
は、
.Fl P
オプションで生成されるプロトタイプファイルとみなされ、
最初に読み込まれます。
.Sh オプション
.Bl -tag -width flag
.It Fl A
ANSI C を生成します。デフォルトは旧スタイルの C です。
.It Fl a
ローカル変数を static 変数ではなく automatic 変数とします。
ただし DATA , EQUIVALENCE , NAMELIST , SAVE 文に現れるものを除きます。
.It Fl C
添字値が宣言された配列範囲内にあるかどうかをチェックするコードを
生成します。
.It Fl C++
C++ コードを生成します。
.It Fl c
オリジナルの Fortran ソースをコメントとして挿入します。
.It Fl cd
cdabs, cdcos, cdexp, cdlog, cdsin, cdsqrt をそれぞれ
虚数組み込み関数 zabs, zcos, zexp, zlog, zsin, zsqrt として理解することを
止めます。
.It Fl d Ar dir
`.c' ファイルを、現在のディレクトリの代りに、ディレクトリ
.Ar dir
に書き込みます。
.It Fl E
初期化されない COMMON を Extern として宣言します(
.Pa f2c.h
において重複して
.Em extern
定義されます)。
.It Fl ec
初期化されていない COMMON ブロックを別々のファイルに配置します。
COMMON ABC はファイル abc_com.c に置かれます。
オプション
.Fl e1c
によってそれらの別々のファイルを出力ファイルに束ねます。
その際、元のファイルにほどくための
.Xr sed 1
スクリプトがコメントとして与えられます。
.It Fl e1c
.Fl ec
の説明を参照。
.It Fl ext
Fortran 77 拡張を見つけると警告します。
.It Fl f
自由形式(free-format)入力を仮定します。
72 カラム目以降のテキストも受理し、
72 文字より短い固定形式の行に対して空白のパディングを行いません。
.It Fl 72
72 カラム目以降に書かれたテキストをエラーとします。
.It Fl g
オリジナルの Fortran の行番号を
.Sy #line
行として埋め込みます。
.It Fl h Ns Op Cm d
Fortran 66 の Hollerith の取り扱いをエミュレートします。すなわち、
文字列をワード(または、
.Fl hd
オプション指定時はダブルワード)境界にアラインしようとします。
.It Fl \&I2
INTEGER および LOGICAL を short 型、INTEGER*4 を long int 型とします。
デフォルトの
.Em libF77
および
.Em libI77
は INQUIRE においては INTEGER*4 だけ (LOGICAL は無し) を許可している
ものと仮定します。
.Fl \&I4
オプションは、INTEGER を long int とするデフォルト処理を確認します。
.It Fl \&i2
.Fl \&I2
と同様ですが、修正された
.Em libF77
および
.Em libI77
(
.Fl Df2c_i2
でコンパイルしたもの) を仮定します。
INTEGER および LOGICAL 変数は INQUIRE で代入でき、
配列長は short int で格納されます。
.It Fl i90
Fortran 90 のビット操作組み込み関数
btest, iand, ibclr, ibits, ibset, ieor, ior, ishft, ishftc を理解することを
止めます。
.It Fl kr Ns Op Cm d
K&R (第 1 版) の括弧つけ規則で再配置(rearrangement)可能な部分において、
Fortran の式評価を行うために一時変数を用います。
.Fl krd
オプションの場合、
単精度オペランドに対しても倍精度一時変数を使用します。
.It Fl o Ar name
C のソースコードをファイル
.Ar name
に書き出します。
.It Fl onetrip
DO ループを、もしそこに到達すれば少なくとも一回は実行されるように
コンパイルします。
(Fortran 77 の DO ループは、もし上限値が下限値より小さければ、
全く実行されません。)
.It Fl P Ns Op Cm s
入力ファイル
.Ar file Ns \&.f
あるいは
.Ar file Ns \&.F
に含まれる定義に対する ANSI (あるいは C++) プロトタイプ宣言を
ファイル
.Ar file Ns \&.P
に書き出します。
Fortran コードを標準入力から読み込んでいる場合は、
標準出力の最初に書き出します。
.Fl Ps
オプションは
.Fl P
オプションと同様ですが、
再度
.Nm f2c
を実行するとプロトタイプあるいは宣言が変化する場合、
終了ステータス 4 で終了します。
.It Fl p
プリプロセッサ定義を出力して、
コモンブロックのメンバがローカル変数のように見えるようにします。
+.It Fl v
+コンパイル中に、ファイル名、プログラム名、プロシジャ名(複数) を表示します。
.It Fl R
REAL 型の関数や演算を DOUBLE PRECISION に拡張しません。
.Fl !R
オプションを用いるとデフォルトの、Fortran 77 と同様の動作になります。
.It Fl r
REAL 関数(組み込み関数を含む)の値を REAL にキャストします。
.It Fl r8
REAL を DOUBLE PRECISION に、COMPLEX を DOUBLE COMPLEX に拡張します。
.It Fl s
多次元の添字式を保存します。
.It Fl T Ar dir
一時ファイルをディレクトリ
.Ar dir
に生成します。
.It Fl U
変数や外部名の大文字小文字を区別します。
Fortran キーワードは
.Em 小文字
でなければなりません。
.It Fl u
変数のデフォルトの型は、Fortran のデフォルト規則に従うのではなく、
.So 未定義 Sc
とします。
.It Fl w
全ての警告メッセージを抑制します。
.Fl w66
オプションの場合は、Fortran 66 との互換警告メッセージのみ抑制します。
.It Fl w8
COMMON あるいは EQUIVALENCE 文で double 値が不正なワード境界に
配置された場合の警告を抑制します。
.It Fl W Ns Ar n
数値変数を文字データで初期化する際、
1 ワードを
.Ar n
文字分と仮定します(デフォルトは 4)。
.It Fl z
暗黙的には DOUBLE COMPLEX を認識しません。
.It Fl !bs
文字列中の
.Em バックスラッシュ
エスケープ
(\e", \e', \e0, \e\e, \eb, \ef, \en, \er, \et, \ev)
を認識しません。
.It Fl !c
C の出力は抑制し、
.Fl P
出力を行います。
.It Fl !I
.Sy include
文を不許可とします。
.It Fl !i8
INTEGER*8 を不許可とします。
.It Fl !it
既に定義あるいはプロトタイプ宣言された手続きへの引数として
使われた部分から、型宣言していない EXTERNAL 手続きの型を推測しません。
.It Fl !P
使われ方から ANSI あるいは C++ のプロトタイプを推測しないようにします。
.El
.Pp
オブジェクトコードは
.Xr ld 1
または
.Xr cc 1
でロードしなければならず、
次のライブラリを指定する必要があります:
.Fl lf2c lm
.Sh 関連ファイル
.Ar file Ns \&.[fF]
入力ファイル
.Ar file Ns \&.c
出力ファイル
.Pa /usr/include/f2c.h
ヘッダファイル
.Pa /usr/lib/libf2c.a
組み込み関数ライブラリおよび Fortran 77 I/O ライブラリ
.Sh 関連項目
.Rs
.%A S. I. Feldman
.%A P. J. Weinberger
.%T A Portable Fortran 77 Compiler
.%B UNIX Time Sharing System Programmer's Manual
.%V Volume 2
.%D 1990
.%O AT&T Bell Laboratories
.%N Tenth Edition
.Re
.Sh 診断
.Nm f2c
が出力する診断メッセージは、
それ自身で理解可能なものであるはずです。
.Sh バグ
浮動小数点定数表記は
.Nm f2c
を実行するマシンの浮動小数点演算を用いて単純化されていますので、
普通、その精度は高々 10 進 16 ないし 17 桁です。
.Pp
型なし EXTERNAL 関数は int として宣言されます。
.Pp
.Nm f2c
の有効オプションのうち、
ここに記述されていないものがいくつかあります。
これらは
.Pa /usr/src/usr.bin/f2c/main.c
の先頭部分で説明されています。
diff --git a/ja/man/man1/f77.1 b/ja/man/man1/f77.1
index 00328c3f30..e4e231ded1 100644
--- a/ja/man/man1/f77.1
+++ b/ja/man/man1/f77.1
@@ -1,77 +1,77 @@
-.\" %Id: f77.1,v 1.1.4.1 1998/03/03 06:15:50 jkh Exp %
+.\" %Id: f77.1,v 1.4 1997/02/22 15:45:06 peter Exp %
.\" jpman %Id: f77.1,v 1.3 1997/08/20 12:25:22 horikawa Stab %
.\"
.\"
.Dd July 22, 1995
.Dt F77 1
.Os FreeBSD
.Sh 名称
.Nm f77
.Nd FORTRAN コンパイラドライバ
.Sh 書式
.Nm f77
.Op options | files
.Sh 解説
.Nm f77
は FreeBSD で FORTRAN コンパイルを行うためのシンプルなドライバです。
.Pp
.Nm f77
は FORTRAN から C へのトランスレータ
.Nm f2c
を呼び出して FORTRAN ソースを C に変換します。
次に
.Nm f77
.Nm cc
を呼び出して変換後の C コードをコンパイルし、更に
.Nm as
を呼び出してアセンブルします。
それが済むと
.Nm ld
を呼び出して、オブジェクトファイルを
.Nm f2c
ライブラリの
.Nm libf2c
や、
.Nm 数学
ライブラリの
.Nm libm
、その他指定したライブラリと共にリンクし、実行形式を生成します。
コマンドラインには .f 以外の拡張子 (.o, .c, ...) で終わるファイルも
記述でき、それらは適切なプログラムで処理されます。
.Pp
ユーザの観点から見ると、この FORTRAN から C への変換は
完全に透過的です。
すなわち
.Nm f77
は伝統的な FORTRAN コンパイラに見えます。
.Pp
利用可能なオプション:
.Pp
.Nm f77
が認識するオプションは
.Nm f2c
および
.Nm cc
のオプションのスーパセットです。
詳細は各々のマニュアルを参照して下さい。
.Pp
.Sh 関連ファイル
file.f FORTRAN ソースファイル
.Pp
file.o オブジェクトファイル
.Pp
a.out リンクエディタの出力ファイル
.Pp
/usr/lib/libf2c.a f2c ライブラリ (libF77 と libI77 を含む)
.Pp
/usr/lib/libf2c.so.x.y f2c 共有ライブラリ
.Pp
.Sh 関連項目
.Xr as 1 ,
.Xr cc 1 ,
.Xr f2c 1 ,
.Xr ld 1
.Sh バグ
入力ファイルは .f で終わっていなければなりません。
例えば .for のようになっていると問題が生じます。
diff --git a/ja/man/man1/fdwrite.1 b/ja/man/man1/fdwrite.1
index b068e1a634..c6c67524dd 100644
--- a/ja/man/man1/fdwrite.1
+++ b/ja/man/man1/fdwrite.1
@@ -1,123 +1,123 @@
.\"
.\" ----------------------------------------------------------------------------
.\" "THE BEER-WARE LICENSE" (Revision 42):
.\" <phk@login.dkuug.dk> wrote this file. As long as you retain this notice you
.\" can do whatever you want with this stuff. If we meet some day, and you think
.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
.\" ----------------------------------------------------------------------------
.\"
-.\" %Id: fdwrite.1,v 1.2.2.4 1998/06/27 21:30:44 steve Exp %
+.\" %Id: fdwrite.1,v 1.9 1998/06/27 21:29:35 steve Exp %
.\" jpman %Id: fdwrite.1,v 1.4 1997/07/26 21:35:54 horikawa Stab %
.\"
.\"
.Dd September 16, 1993
.Os FreeBSD
.Dt FDWRITE 1
.Sh 名称
.Nm fdwrite
.Nd フロッピディスクのフォーマットと書き込み
.Sh 書式
.Nm fdwrite
.Op Fl v
.Op Fl y
.Op Fl f Ar inputfile
.Op Fl d Ar device
.Sh 解説
.Nm fdwrite
は、複数のフロッピディスクをフォーマットし書き込みます。
フォーマットできるフロッピディスクデバイスを使うことができます。
.Nm fdwrite
は、
.Pq /dev/tty
のユーザに新しいフロッピをいれてリターンキーを押すように指示します。
デバイスがその後にオープンされ、パラメータが尋ねられ、
その後トラックがフォーマットされ、
.Ar inputfile
で指定されたデータが書き込まれ、ベリファイされます。
フロッピディスクがいっぱいになった時は、この仮定が次のディスクに対して
繰り返されます。これは、プログラムが中断されるか
.Ar inputfile
の終り (EOF) に達するまで続けられます。
以下のようなオプションがあります。
.Bl -tag -width 10n -offset indent
.It Fl v
標準出力への出力情報の状態をトグルで変更します。
デフォルトのモードは ``on'' です。
はじめてデバイスがオープンされた後で、フォーマットが出力されます。
操作の間には、現在のフロッピディスクの残りのトラック数と
文字 I, Z, F, W, R, C,の文字が出力されます。各文字は、現在のトラックに
対して、入力 (I) 、ゼロで埋める (Z) 、フォーマット (F) 、書き込み (W) 、
読み込み (R) 、比較 (C) のそれぞれを行っていることをあらわします。
.It Fl y
ドライブにフロッピディスクがあるかどうか問いあわせません。
この非対話オプションはシェルスクリプトで使用するのに便利です。
.It Fl f Ar inputfile
読み込むための入力ファイルです。もし、与えられていない場合は標準入力が
仮定されます。
.It Fl d Ar device
書き込むためのフロッピデバイスの名前です。
デフォルトは、 ``/dev/rfd0'' です。
.El
.Nm fdwrite
は、ユーザがリターンを押すのを待っている間は
.Ar device
をクローズしています。したがって、この時には完全にドライブを別の目的で
使うことができ、あとで次のフロッピの書き込みを再開できます。
.Ar device
からかえって来たパラメータは、フォーマットのために使われます。
もし、特別なフォーマットが必要な時には、
.Xr fdformat 1
を代わりに使ってください。
.Sh 使用例
.Nm fdwrite
は、複数枚数のフロッピへの書き込みを
簡単に行えるようにと考えらえて作成されたツールです。
そのような使用例は、以下の tar アーカイブの書き込みがあります。
.ce 1
tar cf - . | gzip -9 | fdwrite -d /dev/rfd0.1720 -v
.Xr tar 1
のマルチボリューム機能との主要な違いは、
もちろんフロッピのフォーマットです。フォーマットは実行中に行われるので、
フロッピに対する仕事の量を減らすことができます。
.Sh 関連項目
.Xr fdformat 1
.Sh 歴史
.Nm fdwrite
は、 ``make world'' が終了するのを待つ間に書かれました。
コードのうちいくつかは、
.Xr fdformat 1
から持って来ました。
.Sh 作者
このプログラムは、
.An Poul-Henning Kamp Aq phk@login.dknet.dk
によるコントリビューションです。
.Sh バグ
診断機能は現在は完全ではありません。
フロッピがおかしい時に
.Ar inputfile
がシーク可能であれば、ユーザにディスクを無げ捨て、
別のフロッピを入れて、正しい場所まで戻って操作を続けるように指示すべきです。
この方法は、シークできない入力に対しても同様に一時ファイルを
使用することで、拡張可能です。
オプション ( デフォルトは 0) で、ユーザに失敗した時の再試行回数を
尋ねるべきでしょう。
現在は、フロッピのマルチボリュームを読み戻すための適当なツールが
ありません。
データが圧縮されていない時には、代わりに
.Xr tar 1
の様なプログラムで、そのような仕事を行うことができます。
このような状態の時にはもちろん、いつも
.Xr dd 1
を信用することもできます。
diff --git a/ja/man/man1/fetch.1 b/ja/man/man1/fetch.1
index cdee0b2b2d..55344c1c5a 100644
--- a/ja/man/man1/fetch.1
+++ b/ja/man/man1/fetch.1
@@ -1,352 +1,352 @@
-.\" %Id: fetch.1,v 1.9.2.8 1998/07/16 23:51:46 jkh Exp %
+.\" %Id: fetch.1,v 1.23 1998/05/09 21:39:49 wollman Exp %
.\" jpman %Id: fetch.1,v 1.4 1997/08/15 06:31:28 horikawa Stab %
.Dd July 2, 1996
.Dt FETCH 1
.Os FreeBSD 2.2
.Sh 名称
.Nm fetch
.Nd URL(Uniform Resource Locator)形式でのファイルの取得
.Sh 書式
.Nm fetch
.Op Fl MPabmnpqr
.Op Fl o Ar file
.Ar URL
.Op Ar ...
.Nm fetch
.Op Fl MPRmnpqr
.Op Fl o Ar file
.Op Fl c Ar dir
.Fl f Ar file
.Fl h Ar host
.Sh 解説
.Nm fetch
は、
.Tn FTP
もしくは
.Tn HTTP
プロトコルを使ってネットワークの遠隔サイトから、ファイルの転送を
行います。コマンドの最初の書式の
.Ar URL
は、
.Li http://site.domain/path/to/the/file
もしくは、
.Li ftp://site.domain/path/to/the/file
の形式をしています。
複製もしくはリンクされる(以下の
.Fl l
フラグを参照)ローカルでのファイル名を指定するために、
.Em file:/path/to/the/file
という URL 形式が使えます。後述の URL 文法を参照してください。
.Pp
コマンドの 2 番目の形式は、
ファイル名と遠隔ホスト名を
.Fl h
.Fl f
フラグで指定して、
.Tn FTP
プロトコルを使ってファイルを取得するために使われます。
.Pp
以下のオプションが使用可能です。
.Bl -tag -width Fl
.It Fl a
ソフト上での失敗の場合に自動的に転送を再試行します。
.It Fl b
.Tn TCP
プロトコルを正しく実装していない
.Tn HTTP
サーバのバグ対応を行います。
.It Fl c Ar dir
遠隔ホストの
.Ar dir
ディレクトリのファイルを取得します。
.It Fl f Ar file
遠隔ホストの
.Ar file
という名前のファイルを取得します
.It Fl h Ar host
ホスト名が
.Ar host
にあるファイルを取得します。
.It Fl l
目標が
.Ar file:/
形式のURLだった場合、目標を複製しようとするのではなく、
リンクを作成します。
.It Fl M
.It Fl m
ミラーモード: ファイルの変更時間を遠隔ホストの変更時間と同じに
設定します。ローカルホストにファイルが既に存在しサイズと
変更時間が同じである場合、転送は行われません。
.It Fl n
転送されるファイルの変更時間を保存せず、現在の時間を使います。
.It Fl o Ar file
出力ファイル名を
.Ar file
にします。
デフォルトでは、``パス名''が指定された URI から取り出され、その
ベースネームが出力ファイルの名前として使われます。
.Ar file
引数として
.Sq Li \&-
を与えると、結果は標準出力に出力されます。
.It Fl P
.It Fl p
.Tn FTP
プロトコルをパッシブモードで使います。これは、防火壁 (firewall)
を跨いだ場合に有効です。
.It Fl q
沈黙モード。端末に転送の進行状態を報告しません。
.It Fl R
転送が失敗もしくは不完全であった時でさえ、与えられたファイル名は
``大事にされ''、どんな状況下でもファイル名は消去されません.
.It Fl r
以前に中断された転送を再開します。
.It Fl t
別のバグがある
.Tn TCP
実装に対する対処を行います。
.It Fl T Ar second
タイムアウト時間を
.Ar second
秒に設定します。
ftp での転送に対しては
.Ev FTP_TIMEOUT
環境変数が、 http での転送に関しては
.Ev HTTP_TIMEOUT
環境変数が,設定されていた場合は、それを上書きします。
.It Fl v
冗長性を増加させます。
複数の
.Fl v
を指定することで、より情報が得られるようになります。
.El
.Pp
多くのオプションは、環境によってのみ制御されます
(これはバグです)。
.Sh URL 文法
.Nm
は、RFC1738 に記述されている
.Tn http
および
.Tn ftp
の URL を受け付けます。
.Tn ftp
の URL ではユーザ名とパスワードを指定可能であり、
.Li ftp://user:password@host/
という文法で指定します。
パスがユーザのホームディレクトリの相対指定ではなく、絶対指定の場合には、
パスを %2F で開始する必要があり、
.Li ftp://root:mypass@localhost/%2Fetc/passwd
のように指定します。
.Sh プロキシサーバ
防火壁の中の多くのサイトは、信用できるプロトコルで防火壁を通して
通信を行なうためにアプリケーションゲートウェイ( ``プロキシサーバ'' )
を利用します。
.Nm
プログラムは、プロキシサーバを使った
.Tn FTP
.Tn HTTP
プロトコルの両方を利用可能です。
.Tn FTP
プロキシサーバは
.Tn FTP
の要求だけを取り次ぎ、
.Tn HTTP
プロキシサーバは
.Tn FTP
.Tn HTTP
の両方の要求を取り次ぎます。
プロキシサーバは、環境変数
.Dq Va PROTO Ns Ev _PROXY
を定義することで設定されます。
ここで、
.Va PROTO
はプロトコルの名前で、英大文字で記述します。
環境変数の値には、ホスト名と必要ならばコロン (:) に続けてポート番号を
指定します。
.Pp
.Tn FTP
プロキシクライアントは、
.Do Va remoteuser Ns Li \&@ Ns Va remotehost
.Op Li \^@ Ns Va port
.Dc
という形式の ホスト名とポート番号を遠隔地のユーザ名として送ります。
.Tn HTTP
プロキシクライアントは、
.Tn HTTP
.Dq Li GET
要求を出した時に、単純に要求を出した元の URI を遠隔サーバに送ります。
HTTP プロキシによる認証は、いまはまだ実装されていません。
.Sh HTTP による認証
.Tn HTTP
プロトコルは、さまざまな種類の認証方法の提供を含んでいます。
現在、
.Nm fetch
がサポートしている方式は
.Dq basic
方式だけです。
この方法は、パケットの盗み見や人間が間に介在した攻撃にはセキュリティを
提供しません。
認証は、
.Ev HTTP_AUTH
.Ev HTTP_PROXY_AUTH
環境変数を設定することで可能となります。
両環境変数は、次のような同じ形式をしています。
空白で区切られたパラメータの設定リストからなり、個々の設定はコロンで
分けられたパラメータのリストからなります。最初の二つのパラメータはいつも
( 大文字でも小文字でも構わない ) 認証方法名と認証が行われる範囲です。
認証範囲が
.Sq Li \&*
の形式で指定されている時、他に指定されていない全ての範囲とみなされます。
.Pp
.Li basic
認証方式は、二つのオプションのパラメータを利用します。
一つ目はユーザ名で、 2 番目はそれに付けられたパスワードです。
環境でパスワードもしくは両方のパラメータが指定されていなく、
.Nm
の標準入力が端末である時には、
.Nm
は欠けているパラメータの入力をユーザにうながします。
したがって、ユーザが
.Dq Li jane
.Dq Li WallyWorld
範囲の認証で、パスワードが
.Dq Li QghiLx79
であるなら、彼女は
.Ev HTTP_AUTH
環境変数を以下のように設定します。
.Bl -enum -offset indent
.It
.Dq Li basic:WallyWorld:jane:QghiLx79
.It
.Dq Li basic:WallyWorld:jane
.It
.Dq Li basic:WallyWorld
.El
.Pp
.Nm
は欠けている情報が必要な場合は、尋ねてきます。
彼女は、認証範囲を
.Dq Li WallyWorld
と指定する代わりに、
.Dq Li \&*
と指定することで、どんな範囲でも認証を行うことを示せます。
これは、
.Dq Li basic:*
の様なもっとも一般的に使われる設定です。
この設定は、
.Nm
にどんな認証範囲であっても
.Li basic
認証を行わせることを指示します。
.Sh エラー
.Nm
は成功した時は 0 を返します。
また、失敗した場合には、
.Aq Pa sysexits.h
で定義される 0 でない値が返されます。
複数の URI が再試行のために与えられた時、
.Nm
は全てを試して、全て成功した場合だけ 0 を返します
(それ以外の場合は、最後の失敗のエラーを返します)。
.Sh 環境変数
.Bl -tag -width FTP_PASSIVE_MODE -offset indent
.It Ev FTP_TIMEOUT
.Tn FTP
接続を中断するまでの最大時間を秒で指定します。
.It Ev FTP_LOGIN
.Tn FTP
転送で使われるログイン名です。
デフォルトは ``anonymous'' が使われます。
.It Ev FTP_PASSIVE_MODE
パッシブモードで FTP を行います。
.It Ev FTP_PASSWORD
.Tn FTP
転送で使われるパスワードです。
デフォルトは
.Dq Va yourname Ns Li \&@ Ns Va yourhost
です。
.It Ev FTP_PROXY
.Tn FTP
を理解するプロキシサーバのアドレスを
.Do Va hostname Ns
.Op Li : Ns Va port
.Dc
の形式で与えます。
.It Ev HTTP_AUTH
.Tn HTTP
認証パラメータを定義します。
.It Ev HTTP_PROXY
.Tn HTTP
を理解するプロキシサーバのアドレスを
.Do Va hostname Ns
.Op Li : Ns Va port
.Dc
の形式で与えます。
.It Ev HTTP_PROXY_AUTH
.Tn HTTP
プロキシサーバのための認証パラメータを定義します。
.It Ev HTTP_TIMEOUT
.Tn HTTP
接続を中断するまでの最大時間を秒で指定します。
.Sh 関連項目
.Xr ftp 1 ,
.Xr tftp 1
.Sh 歴史
.Nm fetch
コマンドは
.Fx 2.1.5
から導入されました。
.Sh 作者
.Nm
のオリジナル実装は
.An Jean-Marc Zucconi
が行いました。
.Fx 2.2
のために、拡張を行ったのは
.An Garrett Wollman
です。
.Sh バグ
たくさんの環境変数とコマンドラインオプションがあります。
.Pp
.Fl a
オプションは、ある種類の
.Tn HTTP
の接続失敗のために実装されており、
.Tn FTP
の接続失敗のためではありません。
.Pp
.Tn HTTP
のために、
.Dq basic
認証モードだけが実装されています。
これは、ダイジェスト認証に置き換えられるべきものです。
.Pp
(
.Tn FreeBSD
以外の) 実装には、データが含まれるパケットに
.Dv SYN
.Dv FIN
の制御フラグが含まれている状況を正しく実装していないものがあります。
.Sq Fl t
フラグは後者に対する対処を行い、
.Sq Fl b
フラグは前者に対する対処を行います。
これらはサーバの
.Tn TCP
スタックのエラーですから、我々ができる最良の解はこれらの対処です。
正しいサーバとの通信の場合には、
.Fl t
および
.Fl b
を含まない最良の
.Tn HTTP
転送が実現されます。
(少ない返答の場合) ラウンドトリップ回数は最小の 2 回となり、
他の実装よりも 1 回少なくなります。
diff --git a/ja/man/man1/file.1 b/ja/man/man1/file.1
index 84021fa29d..a6aa4a2f0f 100644
--- a/ja/man/man1/file.1
+++ b/ja/man/man1/file.1
@@ -1,405 +1,405 @@
-.\" %Id: file.1,v 1.6.2.2 1998/07/16 23:52:05 jkh Exp %
+.\" %Id: file.1,v 1.12 1998/03/23 07:43:13 charnier Exp %
.Dd July 30, 1997
.Dt FILE 1 "Copyright but distributable"
.Os
.Sh 名称
.Nm file
.Nd ファイルの種類を判定する
.Sh 書式
.Nm file
.Op Fl vczL
.Op Fl f Ar namefile
.Op Fl m Ar magicfiles
.Ar
.Sh 解説
このマニュアルは
.Nm
コマンドのバージョン 3.22 について記載しています。
.Nm
は、namefile で指定されたファイルの種類を判定するプログラムです。判定の
ために、ファイルシステムテスト、マジックナンバテスト、言語テストの
3 つのテストをこの順に実行し、
.Em 最初に
判定できた結果からファイルの種類を表示します。
.Pp
ファイルの種類として表示されるのは、
.Em text
(
.Tn ASCII
キャラクタだけのファイルで、
.Tn ASCII
端末に表示した場合、
問題が起こらないもの)、
.Em executable
(
.Ux
カーネル等に理解可能な形にコンパイルされたプログラムを
含むファイル)、その他のものを意味する
.Em data
(data は、通常 `バイナリ' か表示不能なもの) のうちの 1 つです。
例外は、内部フォーマットがよく知られた、
バイナリデータを含むファイル (コアファイルや tar アーカイブ) です。
ファイル
.Pa /usr/share/misc/magic
やプログラムそのものを変更するときは、
.Em "これらのキーワードを残して下さい"
.Pp
ディレクトリ内のすべての可読なファイルは、
単語 ``text'' を表示することが期待されています。
Berkeley で行われたように、``shell commands text'' を
``shell script'' と変更するようなことはしないで下さい。
.Pp
ファイルシステムテストは、
.Xr stat 2
システムコールからの戻り値を調べることに基づいています。
このプログラムは、ファイルが空であるかどうか、ある種の
特殊ファイルであるかどうかを調べます。
使っているシステムに合った既知のファイルの種類
(システムに実装されたソケット、シンボリックリンク、
名前付きパイプ (FIFO)) は、システムヘッダファイル
.Pa sys/stat.h
で定義されていれば表示されます。
.Pp
マジックナンバテストは、ファイルが固定フォーマットのデータであるか
どうかをチェックするために使われます。
よい例が、実行可能なバイナリ実行形式 (コンパイルされたプログラム)
.Pa a.out
ファイルです。このフォーマットは標準インクルードディレクトリ内の
.Pa a.out.h
や場合により
.Pa exec.h
で定義されています。
実行ファイルは、
ファイルの先頭近くの特定の場所に、`マジックナンバ' を持ちます。
これは
.Ux
オペレーティングシステムに対し、
ファイルがバイナリ実行形式であり、
どのタイプの実行可能ファイルであるかを知らせます。
`マジックナンバ' の概念は拡張され、データファイルにも適用されています。
ファイルの先頭に近い固定位置に固定識別子があるファイルは、
このように記述できます。
これらのファイルの情報は、マジックファイル
.Pa /usr/share/misc/magic
から読み込まれます。
.Pp
もしファイルが
.Tn ASCII
ファイルのようであるなら、
.Nm
は、その言語を推定しようとします。
言語テストは、ファイルの始めの数ブロックに
特定の文字列 (
.Pa Inames.h
を参照)
があるかどうかを探します。たとえばキーワード
.Em .br
があればそれはおそらく
.Xr troff 1
の入力ファイルであり、
.Em struct
というキーワードは、C 言語のプログラムであることを示しています。
こうした推定方法は、前述の 2 つのテストより信頼性が低いため、
最後に行われます。言語テストルーチンは (
.Xr tar 1
アーカイブのような) その他のファイルもチェックし、未知のファイルを
`ascii text' とすべきか、 `data' とすべきかを決定します。
.Sh OPTIONS
.Bl -tag -width indent
.It Fl v
プログラムのバージョンを表示して、終了します。
.It Fl m Ar list
マジックナンバを含む別のファイルの
.Ar list
を指定します。
これは、1 つのファイルか、コロン (:) で分けられたファイルのリストです。
.It Fl z
compress で圧縮されたファイルの中身を見ようとします。
.It Fl c
マジックファイルを解析した形式を、調査できるように表示します。
通常、
新しいマジックナンバファイルを使う前にデバッグするために、
.It Fl m
オプションとともに用います。
.It Fl f Ar namefile
引数の前に
.Ar name_file
から調べるべきファイル名を (1 行に 1 つ) 読み込みます。
.Ar name_file
もしくは引数の filename は少なくとも 1 つは指定しなければなりません。
標準入力のファイルの種類を判定させる場合は、
ファイル名として、``-'' を指定します。
.It Fl L
オプションは(システムがシンボリックリンクを提供していれば)、
.Xr ls 1
コマンドの
.Fl L
オプションと同様にシンボリックリンクをたどって実際のファイルの中
身の種類を判定します。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/magic -compact
.It Pa /usr/share/misc/magic
デフォルトのマジックナンバのリスト
(以前のバージョンの
.Bx Free では
.Pa /etc/magic
でした)
.El
.Sh 環境変数
環境変数
.Em MAGIC
は、デフォルトのマジックナンバファイルを指定するために
使うことができます。
.Sh 関連項目
.Xr od 1 ,
.Xr strings 1 ,
.Xr magic 5
.Sh 標準適合性
このプログラムは、その中に含まれる曖昧な言語をできるだけ特定できる
ようになっており、
System V の FILE(CMD) で定義されるインタフェースを越えているはずです。
同名の System V のプログラムと、ほとんど動作は同じです。
しかし、このバージョンはより多くのマジックを知っているので、多くの場合に
異なった (より正確な) 出力を出します。
.Pp
このバージョンと System V のものとの大きな違いは、
このバージョンは全ての空白を区切り文字として扱うため
パターン内の空白はエスケープしなければならないということです。
たとえば、
.br
>10 string language impress\ (imPRESS data)
.br
とマジックファイルに書かれていた場合は、次のように
変更せねばなりません。
.br
>10 string language\e impress (imPRESS data)
.br
またこのバージョンでは、バックスラッシュを含んでいる
パターンもエスケープしなくてはいけません。たとえば、
.br
0 string \ebegindata Andrew Toolkit document
.br
とマジックファイルに書かれていた場合は、次のように
変更せねばなりません。
.br
0 string \e\ebegindata Andrew Toolkit document
.br
.Pp
Sun Microsystems の SunOS リリース 3.2 もしくはそれ以降には、
System V 由来の
.Xr file 1
コマンドが含まれていますが、拡張がなされています。
このバージョンは SUN のものとは、細かい点でしか異なりません。
このバージョンには `&' 演算子の拡張が含まれています。
使い方は、次のようなものです。
.br
>16 long&0x7fffffff >0 not stripped
.Sh マジックディレクトリ
マジックファイルのエントリは様々なソース (主に USENET)
から集められたり、様々な作者から提供されました。
.An Chirstos Zoulas
(下記のアドレス) が、
マジックファイルエントリをさらに集めたり訂正するでしょう。
統合したマジックファイルエントリは、定期的に配布されるでしょう。
.Pp
マジックファイルにおけるエントリの順序は
重要です。
使っているシステムによって、エントリの順序が正しくなくなることが
あります。
もし、あなたの古い
.Nm
コマンドがマジックファイルを使っているのなら、
比較のため古いマジックファイルを保存して下さい
(たとえば、
.Pa /usr/share/misc/magic.orig
という名前に変更します) 。
.Sh 歴史
.Nm
コマンドは、少なくとも Research Version 6
(マニュアルページの日付は、1975 年 1 月)
からはどの
.Ux
にもありました。
System V バージョンはある重要な変更、
すなわち外部マジックナンバリストを導入しました。
これによってプログラムのスピードはわずかに低下しましたが、
更にまた柔軟になりました。
.Pp
このプログラムは、System V バージョンを基づいており、
.An Ian Darwin
によって、他の誰かのソースコードを見ることなく
書かれました。
.Pp
.An John Gilmore
はコードを拡張し、最初の版よりも
よいものにしました。
.An Geoff Collyer
は 不適当なところが数箇所あるのを
発見し、いくつかマジックファイルエントリを
提供しました。
プログラムは、ずっと発展し続けています。
.SH 作者
.An Ian F. Darwin Aq ian@sq.com ,
UUCP アドレス {utzoo | ihnp4}!darwin!ian,
住所 P.O. Box 603, Station F, Toronto, Ontario, CANADA M4Y 2L8.
により書かれました。
.Pp
.An Rob McMahon Aq cudcv@warwick.ac.uk
が 1989 年に、`&' 演算子を単純な
`x&y != 0' から `x&y op z' に拡張するため変更しました。
.Pp
.An Guy Harris Aq guy@auspex.com
が 1993 年に、
.Bl -item -offset indent
.It
``旧型'' の `&' 演算子を元のように戻しました。理由は、
.Bl -enum -offset indent
.It
Rob McMahon の変更によりこれまでの使用法ができなくなった。
.It
このバージョンの
.Nm
がサポートする SunOS の ``新型'' の `&' 演算子で、`x&y op z' も扱える。
.It
Rob の変更はドキュメントに書かれていなかった。
.El
.It
他段階の `>' 追加。
.It
``beshort'', ``leshort'' などのキーワードの追加。
.Nm
が動いているプロセスのバイトオーダではなく、
ファイル特有のバイトオーダで数字を見るようにするキーワードです。
.El
.Pp
.An Ian Darwin
.An Christos Zoulas Aq christos@deshaw.com
を含む
多くの作者による 1990-1992 年の変更。
.Sh 法律上の注意
Copyright (c) Ian F. Darwin, Toronto, Canada,
1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993.
.Pp
This software is not subject to and may not be made subject to any
license of the American Telephone and Telegraph Company, Sun
Microsystems Inc., Digital Equipment Inc., Lotus Development Inc., the
Regents of the University of California, The X Consortium or MIT, or
The Free Software Foundation.
.Pp
This software is not subject to any export provision of the United States
Department of Commerce, and may be exported to any country or planet.
.Pp
Permission is granted to anyone to use this software for any purpose on
any computer system, and to alter it and redistribute it freely, subject
to the following restrictions:
.Pp
.Bl -enum -offset indent
.It
The author is not responsible for the consequences of use of this
software, no matter how awful, even if they arise from flaws in it;
.It
The origin of this software must not be misrepresented, either by
explicit claim or by omission. Since few users ever read sources,
credits must appear in the documentation;
.It
Altered versions must be plainly marked as such, and must not be
misrepresented as being the original software. Since few users
ever read sources, credits must appear in the documentation;
.It
This notice may not be removed or altered.
.El
.Pp
A few support files (
.Fn getopt ,
.Fn strtok )
distributed with this package
are in the public domain; they are so marked.
.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 restrictions.
.Sh バグ
マジックディレクトリから
マジックファイルを自動的に作成するよりよい方法があるはずです。
それは何なのでしょうか。より起動を速くするため
マジックファイルをバイナリにコンパイルするとよいでしょう。
(たとえば
.Xr ndbm 3
あるいは、異機種ネットワーク環境では固定長の
.Tn ASCII
文字)。
そうすれば、同名の バージョン 7 のプログラムと同じぐらいの速さで
System V バージョンの柔軟性を持ったプログラムとなるでしょう。
.Pp
.Nm
には、正確さよりも 速度を重視したアルゴリズムが
いくつかあるので
.Tn ASCII
ファイルの内容については
間違うことがあります。
.Pp
.Tn ASCII
ファイルのサポート ( 元々はプログラミング言語のため ) は
単純で、不十分であり、更新には再コンパイルが必要です。
.Pp
複数の行に渡るものをサポートするため
``else'' 項があるべきです。
.Pp
マジックファイルと キーワードの正規表現を
サポートするべきです。
.Tn ASCII TAB
をフィールドの識別子にすることは醜く、
ファイルの編集を難しくしていますが、残されています。
.Pp
キーワードに大文字を許すことが勧められます。たとえば、
.Xr troff 1
コマンドと man page マクロの区別です。
正規表現のサポートで、このことは簡単になるでしょう。
.Pp
\s-2FORTRAN\s0 に対してプログラムが働きません。
行の先頭にインデントされているキーワードを見ることにより
\s-2FORTRAN\s0 だと判別すべきです。
正規表現のサポートによりこれは簡単になるでしょう。
.Pp
.Em ascmagic
に入っている
キーワードのリストは、おそらくマジックファイルに
入れるべきものです。
これはオフセットの値として `*' のようなキーワードを
使うことで可能でしょう。
.Pp
最初の文字、最初の語、最初の long などに関する
テストを 最初に読み込んだときに全て行うことができるよう
マジックファイルを並べ直す最適化法はないだろうか。
マジックファイルの矛盾について述べるようにならないか。
エントリーの順序を
マジックファイル上の位置ではなく、
ファイルオフセット順にすることはできないだろうか。
.Pp
プログラムは、推定が「どれぐらいよい」のかを知る方法を
提供すべきです。ファイルの最初の 5 文字が ``From ''
であるときに推測をしても、 ``Newsgroups:'' や "Return-Path:"
といった文字による推測ほどよくはないので、推測結果を
捨てることになります。しかし、もしそういった文字が
現れなければ最初の推定を使わなければなりません。
.Pp
このプログラムは、いくつかの商用の
.Nm
コマンドより遅いです。
.Pp
このマニュアルページ、特にこの節が長過ぎます。
.Sh 入手性
オリジナル作者の最新のバージョンを anonymous FTP で、
.Em ftp.deshaw.com
.Pa /pub/file/file-X.YY.tar.gz
から手に入れることができます。
diff --git a/ja/man/man1/file2c.1 b/ja/man/man1/file2c.1
index a89993e6a3..c9b4522436 100644
--- a/ja/man/man1/file2c.1
+++ b/ja/man/man1/file2c.1
@@ -1,53 +1,53 @@
.\"----------------------------------------------------------------------------
.\" "THE BEER-WARE LICENSE" (Revision 42):
.\" <phk@freebsd.org> wrote this file. As long as you retain this notice, you
.\" can do whatever you want with this file. If we meet some day, and you think
.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
.\" ---------------------------------------------------------------------------
.\"
-.\" %Id: file2c.1,v 1.1.6.2 1997/09/15 08:07:08 jkh Exp %
+.\" %Id: file2c.1,v 1.5 1997/07/02 06:30:51 charnier Exp %
.\" jpman %Id: file2c.1,v 1.3 1997/07/27 11:56:01 horikawa Stab %
.\"
.Dd January 28, 1995
.Dt FILE2C 1
.Os
.Sh 名称
.Nm file2c
.Nd ファイルの内容を C 言語のソースに変換する
.Sh 書式
.Nm
.Op "string"
.Op "string"
.Sh 解説
.Nm
は標準入力からファイルを読み込み、
各バイトを10進数の数字の文字列に変換して、標準出力に出力します。
.Pp
1番目の
.Op string
が指定されると、
.Op string
を出力してから変換した文字列を出力します。
2番目の
.Op string
が指定されると、
変換した文字列を出力した後に、2番目の
.Op string
を出力します。
.Pp
このプログラムは、バイナリなどの
データを C 言語のソースに、char[] のデータとして埋め込むときに
使われます。
.Sh 使用例
次のコマンド
.Bd -literal -offset indent
date | file2c 'const char date[] = {' ',0};'
.Ed
.Pp
は以下の文字列を生成します。
.Bd -literal -offset indent
const char date[] = {
83,97,116,32,74,97,110,32,50,56,32,49,54,58,50,56,58,48,53,
32,80,83,84,32,49,57,57,53,10
,0};
.Ed
diff --git a/ja/man/man1/find.1 b/ja/man/man1/find.1
index 432b680b0f..df03cd1638 100644
--- a/ja/man/man1/find.1
+++ b/ja/man/man1/find.1
@@ -1,499 +1,520 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)find.1 8.4 (Berkeley) 4/1/94
-.\" %Id: find.1,v 1.4.2.5 1998/05/22 11:03:35 jkoshy Exp %
+.\" @(#)find.1 8.7 (Berkeley) 5/9/95
+.\" %Id: find.1,v 1.15 1998/05/15 11:22:36 jkoshy Exp %
.\" jpman %Id: find.1,v 1.4 1997/09/23 14:13:10 horikawa Stab %
.\"
-.Dd April 1, 1994
+.Dd May 9, 1995
.Dt FIND 1
.Os
.Sh 名称
.Nm find
.Nd ディレクトリツリーを再帰的に下ってファイルを捜す
.Sh 書式
.Nm find
.Op Fl H | Fl L | Fl P
.Op Fl Xdx
.Op Fl f Ar file
.Op Ar file ...
.Ar expression
.Sh 解説
.Nm find
は、
.Ar file
に対してディレクトリツリーを再帰的に下って、
ツリー上の各ファイルについて
.Ar expression
(後に示す ``プライマリ'' と ``演算子'' から構成されます)
で指定された処理を実行します。
.Pp
オプションとしては以下のものがあります:
.Pp
.Bl -tag -width Ds
.It Fl H
.Ar file
で指定したファイルがシンボリックリンクファイルだった場合、シンボリックリンク
自体ではなく、リンク先のファイルに関してファイル情報とファイルタイプ(
.Xr stat 2
参照) を使って
.Ar expression
の処理をするように指定します。
もしリンク先のファイルがなければ、
シンボリックリンク自体を処理の対象とします。
コマンドラインからの
.Ar file
で直接指定されたのではなく、
ディレクトリツリー上で見つかったシンボリックリンクファイルに関しては、
シンボリックリンク自体を処理の対象とします。
.It Fl L
.Ar file
で指定したファイルがシンボリックリンクファイルだった場合、シンボリックリンク
自体ではなく、リンク先のファイルに関してファイル情報とファイルタイプ(
.Xr stat 2
参照) を使って
.Ar expression
の処理をするように指定します。もしリンク先のファイルがな
ければ、シンボリックリンク自体を処理の対象とします。
.It Fl P
シンボリックリンク自体に関して
ファイル情報とファイルタイプ(
.Xr stat 2
参照) を使って
.Ar expression
の処理をするように指定します。
これがデフォルトです。
.It Fl X
.Xr xargs 1
と組み合わせて使うときのため、より安全に動作するようにします。もし
.Xr xargs
によりデリミタ文字 (single quote (`` ' ''), double quotes (`` " ''),
backslash (``\e''), space, tab, newline)
が含まれるファイル名
が使われた場合、診断メッセージを標準エラー出力に表示して、
そのファイル名をスキップします。
.It Fl d
ファイルに対する処理順序を深さ優先の探索方式にします。
すなわち、ディレクトリ自体に
対する処理を行う前に、ディレクトリ内の個々のファイルに対して処理を
実行します。デフォルトでは、ディレクトリは最初に処理されます。
(デフォルトの方式は幅優先探索方式ではないです。)
.It Fl f Ar file
明示的にファイルを指定します。ファイル名の先頭が ``\-'' で始まっていたり、
あとで述べる
.Ar expression
の指定と混同してしまうようなファイル名を指定したりするときに使用します。
(ファイルはオプション直後のオペランドとしても指定可能です。)
.It Fl x
ディレクトリツリーを下って行くとき、最初に file のあったファイルシステムとは
異なるファイルシステム上のファイルに対する処理になる場合は、実行しないように
します。
.El
.Sh プライマリ
.Bl -tag -width Ds
+.It Ic -amin Ar n
+最後にファイルがアクセスされた時刻と、
+.Nm find
+を起動した時刻との差(1 分単位で切り上げます)が
+.Ar n
+分であれば、真とします。
.It Ic -atime Ar n
最後にファイルがアクセスされた時刻と、
.Nm find
を起動した時刻との差(24 時間単位で切り上げます)が
.Ar n
日であれば、真とします。
.It Ic -ctime Ar n
最後にファイルのステータスが変更された時刻と、
.Nm find
を起動した時刻の差 (24 時間単位で切り上げます) が
.Ar n
日であれば、真とします。
.It Ic -delete
見付けたファイルやディレクトリを消去します。常に真を返します。
現在の作業ディレクトリから
.Nm
は再帰的にディレクトリツリーを下ります。
セキュリティ上の理由から、
"." からの相対パス名に ``/'' 文字を含むファイル名のファイルを
消去しようとはしません。
このオプションにより暗示的に深さ優先の処理が指定されます。
.It Ic -exec Ar utility Op argument ... ;
.Ar utility
で指定した名前のプログラムを実行し、終了コードが 0
の場合、真とします。argument は、utility への引き数として渡されます。この
指定は、最後に必ずセミコロン (``;'') をつけてください。
utility もしくは argument の指定
のなかで ``{}'' が使われていた場合は、その部分が、現在
.Nm find
が対象としてい
るファイルのパス名に置き換えられます。ただし、
.Ar utility
が実行されるときのカレントディレクトリは、
.Nm find
が起動されたディレクトリのままです。
+.It Ic -execdir Ar utility Op argument ... ;
+.Ic \&-execdir
+プライマリは
+.Ic -exec
+プライマリと同様ですが、
+.Ar utility
+が現在のファイルを持つディレクトリにおいて実行される点が異なります。
+文字列 ``{}'' に対して置換されるファイル名は適切ではありません。
.It Ic -fstype Ar type
対象ファイルが格納されているファイルシステムのタイプが、
.Ar type
-で指定されたものである場合に真となります。type としては、
-``local'', ``mfs'', ``nfs'', ``msdos'', ``rdonly'', `'ufs''
-を指定することができます。
-``local'' と ``rdonly'' は特定のファイルシステムを指すものではありません。
+で指定されたものである場合に真となります。
+.Xr sysctl 8
+コマンドを使用して、
+システム上で利用可能なファイルシステムタイプを調べることができます:
+.Bd -literal -offset indent
+sysctl vfs
+.Ed
+さらに、2 つの 擬似タイプ ``local'' と ``rdonly'' があります。
``local'' は、
.Nm find
を実行しているシステム上に物理的
にマウントされているファイルシステムです。``rdonly'' は、リードオンリーで
マウントされているファイルシステムです。
.It Ic -group Ar gname
ファイルが
.Ar gname
で指定したグループに属している場合、真になります。
.Ar gname
が数字で、そのようなグループ名がない場合は、
.Ar gname
をグループ ID として扱います。
.It Ic -inum Ar n
ファイルの i ノード番号が
.Ar n
なら、真になります。
.It Ic -links Ar n
ファイルのリンク数が
.Ar n
なら、真になります。
.It Ic -ls
このプライマリは常に真になります。対象となっているファイルの情報を
標準出力に出力します。出力する内容は i ノード番号、
512 バイトブロックでのファイルの大きさ、
ファイルのパーミッション、ハードリンクの数、所有者、グループ、
バイトで表したファイルの大きさ、最後にファイルが修正された時刻、パス名です。
ファイルがブロック型もしくはキャラクタ型のスペシャルファイルならば、
バイトで表したファイルの大きさの代わりにメジャー番号とマイナー番号を
出力します。ファイルがシンボリックリンクならば、
`\`->''の後にリンク先のファイルのパス名を表示します。
フォーマットは
``ls -dgils'' の出力結果と同じです。
.It Ic -mtime Ar n
最後にファイルが修正された時刻と、
.Nm find
を起動した時刻との差(24 時間単位で切り上げます)が
.Ar n
日であれば、真とします。
.It Ic \&-ok Ar utility Op argument ... ;
.Ic exec
とほぼ同じですが、
.Ar utility
を実行するかどうかの確認をユーザに求め、端末にメッセージを出力します。
``y'' 以外の返答をした場合は、
コマンドは実行されず、
このプライマリの値は偽になります。
.It Ic -name Ar pattern
対象ファイルのパス名の最後のファイル名部分が
.Ar pattern
で指定したものとマッチするかどうかを調べ、マッチした場合は真になります。
.Ar pattern
としては、シェルで使われるパターンマッチ
指定 (``['', ``]'', ``*'', ``?'') を使用することができます。これらの文字は
バックスラッシュ(``\e'')を前において、パターンマッチ指定ではなく文字として
扱う事を明示することができます。
.It Ic -newer Ar file
対象ファイルの修正日付が、
.Ar file
で指定したファイルのものより新しい場合は、真になります。
.It Ic -nouser
対象ファイルの所有者が unknown の場合、真になります。
.It Ic -nogroup
対象ファイルのグループが unknown の場合、真になります。
.It Ic -path Ar pattern
対象ファイルのパス名が、
.Ar pattern
で指定したものとマッチす
るかどうかを調べます、マッチした場合は真になります。
.Ar pattern
としては、シェルで使われるパターンマッチ
指定 (``['', ``]'', ``*'', ``?'') を使用することができます。これらの文字は
バックスラッシュ (``\e'') を前において、パターンマッチ指定ではなく文字として
扱う事を明示することができます。
``/'' は、そのままパスのディレクトリの区切りにマッチします。
.It Ic -perm Op Ns Ar mode
ファイルのモードを、
.Ar mode
と比較します。
.Ar mode
は、シンボル
形式(
.Xr chmod 1
参照) もしくは 8 進数形式で指定します。シンボル形式の場合は、
00000 から開始してパーミッションのセットとクリアを行います。
(プロセスのファイル生成マスクとは無関係です。)
8 進数形式の場合は、
ファイルのモードビットのうち、07777
.Pf ( Dv S_ISUID
|
.Dv S_ISGID
|
.Dv S_ISTXT
|
.Dv S_IRWXU
|
.Dv S_IRWXG
|
.Dv S_IRWXO )
の部分が比較対象になります。
.Ar mode
の最初に ``\-'' を指定した場合は、
.Ar mode
でセットされているすべてのビットが
ファイルのモードでもセットされていれば真となります。
``\-'' が指定されていない場合は、ファイルのモードと
.Ar mode
が完全に一致した場合にのみ真となります。
なお、
シンボル形式でモード指定をする場合は、少なくとも最初が ``\-'' にならない
ようにする必要があります。
.It Ic -print
このプライマリは常に真になります。
対象となっているファイルのパス名を標準出力に出力して改行します。
.Ic -exec ,
.Ic -ls ,
.Ic -ok ,
.Ic -print0
のどのプライマリも指定されなかった場合は、
-本プライマリが指定されているものとみなします。
+与えられた式 given expression は
+.Cm \&( Ns Ar given\& expression Ns Cm \&)
+.Ic -print
+で置き換えられます。
.It Ic -print0
.Ic -print
とほぼ同じですが、標準出力に対象となっているファイルのパス名を出力
したあと、改行ではなく、
.Tn ASCII
.Tn NUL
文字(文字コード 0)を出力します。
.It Ic -prune
このプライマリは常に真になります。
対象となっているファイル配下のディレクトリに下りないようにします。
.Fl d
オプションが指定されている場合は、
.Ic -prune
の指定は無効になります。
.It Ic -size Ar n Ns Op Cm c
ファイルサイズを 512 バイトのブロック単位で数えたとき (端数は切り上げ)、
.Ar n
ブロックであれば真になります。
.Ar n
のあとに ``c'' が指定されていた場合は、ファイルサイズが
.Ar n
バイトであれば真になります。
.It Ic -type Ar t
ファイルタイプが
.Ar t
で指定されたタイプに一致すれば真になります。
タイプとして、次のような指定が可能です:
.Pp
.Bl -tag -width flag -offset indent -compact
.It Cm b
ブロックスペシャル
.It Cm c
キャラクタスペシャル
.It Cm d
ディレクトリ
.It Cm f
普通のファイル
.It Cm l
シンボリックリンク
.It Cm p
FIFO
.It Cm s
ソケット
.El
.Pp
.It Ic -user Ar uname
ファイルの所有者が、
.Ar uname
で指定されたユーザと一致すれば真になります。もし
.Ar uname
が数字で、そのようなユーザ名がなければ、
ユーザ ID が指定されたものとして扱います。
.El
.Pp
なお、数字を引数にとるプライマリは、
数字の前に ``+'' および ``\-'' をつけることができます。
それぞれ ``n より大'' および ``n より小'' の意味になり、
``正確に n''という意味ではなくなります。
.Sh 演算子
.Pp
以下の演算子を使って、プライマリを組み合わせることができます。
演算子は優先度が下がる順番で示されています。
.Bl -tag -width (expression)
.It Cm \&( Ns Ar expression Ns Cm \&)
もし、括弧内の
.Ar expression
が真なら、真になります。
.Pp
.It Cm \&! Ns Ar expression
単項否定演算子(
.Tn NOT
)です。
.Ar expression
が偽なら、真となります。
.Pp
.It Ar expression1 Cm -and Ar expression2
.It Ar expression1 expression2
論理積(
.Tn AND
)演算子です。
.Ar expression1
.Ar expression2
の両方とも真のとき、真になります。
もし
.Ar expression1
が偽なら、
.Ar expression2
は実行されません。
.Ic -and
を書かずに、単に 2 つの expression を並べて
.Pp
.Ar expression1 expression2
.Pp
と書いても同じです。
.Pp
.It Ar expression1 Cm -or Ar expression2
論理和(
.Tn OR
)演算子です。
.Ar expression1
.Ar expression2
のどちらか一方でも真であれば、真になります。もし
.Ar expression1
が真なら、
.Ar expression2
は実行されません。
.El
.Sh 使用例
.Pp
コマンドラインからのタイプ例です。
.Nm find
の演算子がシェルの特殊文字と間違われないように、
エスケープ文字 ``\e'' を使用しています。
.Bl -tag -width findx
.It Li "find / \e! -name \*q*.c\*q -print"
探索をルートディレクトリから開始し、ファイル名の終わりが
``.c'' でないものを表示します。
.It Li "find / -newer ttt -user wnj -print"
探索をルートディレクトリから開始し、
ファイルが ``ttt'' というファイルより新しく、
所有者が ``wnj'' であるようなものを表示します。
.It Li "find / \e! \e( -newer ttt -user wnj \e) -print"
探索をルートディレクトリから開始し、
``ttt'' というファイルより古いか、
所有者が ``wnj'' 以外のファイルを表示します。
.It Li "find / \e( -newer ttt -or -user wnj \e) -print"
探索をルートディレクトリから開始し、
ファイルが ``ttt'' というファイルより新しいか、
所有者が ``wnj'' であるようなものを表示します。
.El
.Sh 関連項目
.Xr chmod 1 ,
.Xr locate 1 ,
.Xr whereis 1 ,
.Xr which 1 ,
.Xr stat 2 ,
.Xr fts 3 ,
.Xr getgrent 3 ,
.Xr getpwent 3 ,
.Xr strmode 3 ,
.Xr symlink 7
.Sh 規格
.Nm find
ユーティリティの文法は
.St -p1003.2
の仕様で決められた文法のスーパセットです。
全 1 文字オプションと
.Ic -inum ,
.Ic -print0 ,
.Ic -delete ,
.Ic -ls
のプライマリは
.St -p1003.2
の拡張です。
.Pp
昔は
.Fl d ,
.Fl h ,
.Fl x
のオプションは
それぞれ ``\-depth'', ``\-follow'', ``\-xdev'' のプライマリを
用いて実装されていました。
これらのプライマリは常に真に評価されていました。
これらのプライマリは
探索が始まる前に効果を与える本当のグローバル変数であったので、
いくつかの合法的な expression が予期しない結果となりました。
一例として ``\-print \-o \-depth''の expression があります。
\-print が常に真に評価されるため
標準の評価の順番では \-depth は決して評価されないはずですが、
そうではありませんでした。
.Pp
演算子の ``-or'' は ``\-o'' として実装されていました。
演算子の ``-and'' は ``\-a'' として実装されていました。
.Pp
昔の実装では
.Ic exec
.Ic ok
のプライマリでは、
utility 名やその引数中において、
空白以外の文字が前後に続く ``{}'' を置き換えませんでした。
このバージョンでは utility 名やその引数のどの場所に ``{}'' が現れても
置き換えます。
.Sh バグ
.Nm find
によって使われる特殊文字は多くのシェルにとっても
特殊文字です。
特に ``*'', ``['', ``?'', ``('', ``)'', ``!'', ``\e'', ``;'' は、
シェルからエスケープされなくてはならないでしょう。
.Pp
オプションとファイル名との間および
ファイル名と
.Ar expression
との間を区切るデリミタが存在しませんので、
ファイル名にオプションと間違えるようなもの (``-xdev'' のようなもの) や、
.Ar expression
と間違えるようなもの (``!'' のようなもの) を指定することは難しいです。
このようなファイル名を指定する場合は
.Fl f
オプションを使うか、
.Xr getopt 3
で使われるオプション指定の終了記号 ``--'' を使用します。
.Pp
.Ic -delete
プライマリは、ファイルシステムツリーの検索順序に影響する
他のオプションとは十分には連係しません。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/finger.1 b/ja/man/man1/finger.1
index 0591728a6d..4f5bd8f102 100644
--- a/ja/man/man1/finger.1
+++ b/ja/man/man1/finger.1
@@ -1,219 +1,219 @@
.\" Copyright (c) 1989, 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)finger.1 8.3 (Berkeley) 5/5/94
-.\" %Id: finger.1,v 1.5.2.2 1998/03/08 09:07:55 jkh Exp %
+.\" %Id: finger.1,v 1.7 1997/08/01 20:26:47 wollman Exp %
.\" jpman %Id: finger.1,v 1.2 1997/04/07 05:53:49 mutoh Stab %
.\"
.Dd August 1, 1997
.Dt FINGER 1
.Os BSD 4
.Sh 名称
.Nm finger
.Nd ユーザ情報を調べるプログラム
.Sh 書式
.Nm finger
.Op Fl lmpshoT
.Op Ar user ...
.Op Ar user@host ...
.Sh 解説
.Nm finger
はシステムのユーザに関する情報を表示します。
.Pp
オプションは以下の通りです:
.Bl -tag -width flag
.It Fl s
.Nm finger
はユーザのログイン名、本名、端末名、端末への書き込み
状態(書き込みが不可の場合は、端末名の前に``*''が付きます)、
アイドル時間、ログイン時間、また、オフィスの所在地と電話番号もしくは
リモートホスト名を表示します。もし
.Fl h
が指定されていた場合(デフォルト)は、リモートホスト名が表示
されます。また、
.Fl o
が指定されていた場合は、オフィスの所在地と電話番号が
リモートホスト名の代わりに表示されます。
.Pp
アイドル時間の単位は、数字だけの場合は
何分か、``:''がある場合は何時間何分か、``d''がある場合は何日か、です。
ログイン時間は、6日以内の場合は何曜日の何時何分からか、それ以上の
場合は何月何日の何時何分からかが表示されます。もし6ヶ月を超えて
いる場合は、何年何月何日からかが表示されます。
.Pp
アイドル時間やログイン時間がない場合と同様に、
不明なデバイスは一つのアスタリスクとして表示されます。
.Pp
.It Fl h
.Fl s
オプションと共に指定されたとき、オフィスの所在地と電話番号の代わりに
リモートホスト名を表示します。
.Pp
.It Fl o
.Fl s
オプションと共に指定されたとき、リモートホスト名の代わりに
オフィスの所在地と電話番号を表示します。
.Pp
.It Fl l
ユーザのホームディレクトリ、自宅の電話番号、ログインシェル、
メールの状態、そしてユーザのホームディレクトリの
.Dq Pa .forward
.Dq Pa .plan
および
.Dq Pa .project
の内容に加えて、
.Fl s
オプションの解説で述べた情報全てが複数行にわたる形式で出力されます。
.Pp
アイドル時間は1分以上1日以内の場合は、``hh:mm''の形式と
なります。1日よりも大きいときには、``d day[s]hh:mm''の
形式となります。
.Pp
電話番号は、11桁の場合には``+N-NNN-NNN-NNNN''と表示
されます。10桁もしくは7桁の場合には、上の文字列の適切な
部分として表示されます。5桁の場合は``xN-NNNN''、4桁の
場合は``xNNNN''と表示されます。
.Pp
デバイスの書き込み許可がない場合、デバイス名を含む
行に``(messages off)''という語句が追加されます。
.Fl l
オプションを指定すると、1人のユーザにつき1つの項目が表示されます。
もしあるユーザが複数回ログインしている場合には、端末の情報は
その各ログインについて表示されます。
.Pp
メールの状態は、全くメールがない場合には``No Mail.''、その人が自分の
メールボックスに届いた新着メールを全て読んでいた場合
には``Mail last read DDD MMM ## HH:MM YYYY (TZ)''、その人あての新着
メールがあれば``New mail received ...''や``Unread since ...''の
ように表示されます。
.Pp
.It Fl p
オプションは、
.Nm finger
.Fl l
オプションが、
.Dq Pa .forward
.Dq Pa .plan
および
.Dq Pa .project
のファイルの内容を表示するのを抑制します。
.It Fl m
ユーザの本名と
.Ar user
とが名前の比較で一致しないようにします。
.Ar user
は、たいていはログイン名なのですが、
.Fl m
オプションを指定しない限り、ユーザの本名との比較もまた行われてしまいます。
.Nm finger
によって比較される名前は、大文字小文字を区別しません。
.Pp
.It Fl T
T/TCP の使用を行いません(
.Xr ttcp 4
を参照してください)。
このオプションは,いい加減な TCP の実装が行われている
ホストに finger を行う時に必要です。
.El
.Pp
オプションが指定されなかった場合は、
.Nm finger
は、対象が与えられた場合は
.Fl l
の出力形式、与えられなかった場合は
.Fl s
の出力形式をデフォルトの形式とします。
どちらの形式であったとしても、情報が有効でなかった場合には、その
フィールドは欠けているかもしれないことに注意してください。
.Pp
引数が全く指定されていない場合は、
.Nm finger
は、現在システムにログインしている各ユーザについての情報を表示します。
.Pp
.Nm finger
は、リモートマシン上のユーザを調べることにも利用できます。
これには、
.Ar user
として
.Dq Li user@host
もしくは
.Dq Li @host
と指定する形式を使います。デフォルトでは、前者は
.Fl l
形式の出力、後者は
.Fl s
形式の出力となります。
.Fl l
オプションは、リモートマシンに渡される唯一のオプションかも知れません。
.Pp
もし、ユーザのホームディレクトリに
.Dq Pa .nofinger
というファイルが存在した場合、
.Nm finger
は、そのユーザが存在していないかのように振る舞います。
.Sh 環境変数
.Nm finger
は、もし設定されていれば、以下の環境変数を利用します:
.Bl -tag -width Fl
.It Ev FINGER
.Nm finger
に好みのオプションがあれば、この環境変数に設定しておくとよいでしょう。
.El
.Sh 関連ファイル
.Bl -tag -width /var/log/lastlog -compact
.It Pa /var/log/lastlog
最後にログインした時間のデータベース
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr w 1 ,
.Xr who 1 ,
.Xr ttcp 4 .
.Rs
.%A D. Zimmerman
.%T The Finger User Information Protocol
.%R RFC 1288
.%D December, 1991
.Re
.Sh 歴史
.Nm finger
コマンドは、
.Bx 3.0
で登場しました。
.Sh バグ
現在の FINGER プロトコルの RFC では、
サーバが接続を閉じるまでクライアントはフルに接続をオープンする必要があります。
これでは、最適な 3 パケット T/TCP 交換を妨げてしまいます。
(この仕様に依存するサーバは壊れていますが、
広いインターネットにはこのようなサーバが存在します。)
diff --git a/ja/man/man1/ftp.1 b/ja/man/man1/ftp.1
index 87f07bf5bc..2a181cf48f 100644
--- a/ja/man/man1/ftp.1
+++ b/ja/man/man1/ftp.1
@@ -1,1379 +1,1379 @@
-.\" %Id: ftp.1,v 1.4.2.3 1998/03/01 18:59:42 steve Exp %
+.\" %Id: ftp.1,v 1.8 1998/03/01 18:58:03 steve Exp %
.\" %NetBSD: ftp.1,v 1.21 1997/06/10 21:59:58 lukem Exp %
.\"
.\" Copyright (c) 1985, 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.
.\"
.\" @(#)ftp.1 8.3 (Berkeley) 10/9/94
.\" jpman %Id: ftp.1,v 1.3 1997/08/20 12:54:33 horikawa Stab %
.\"
.Dd August 18, 1997
.Dt FTP 1
.Os BSD 4.2
.Sh 名称
.Nm ftp , pftp , gate-ftp
.Nd
.Tn ARPANET
ファイル転送プログラム
.Sh 書式
.Nm
.Op Fl a
.Op Fl d
.Op Fl e
.Op Fl g
.Op Fl i
.Op Fl n
.Op Fl U
.Op Fl p
.Op Fl P Ar port
.Op Fl t
.Op Fl v
.Op Fl V
.Op Ar host Op Ar port
.Nm ftp
ftp://[\fIuser\fR:\fIpassword\fR@]\fIhost\fR[:\fIport\fR]/\fIfile\fR[/]
.Nm ftp
http://\fIhost\fR[:\fIport\fR]/\fIfile\fR
.Nm ftp
\fIhost\fR:[/\fIpath\fR/]\fIfile\fR[/]
.Sh 解説
.Nm
は、
.Tn ARPANET
標準のファイル転送プロトコルを用いてファイル転送を実現するためのコマンドです。
本コマンドは、ネットワークを介して接続されているコンピュータ間で
ファイルを転送する手段をユーザに提供します。
.Pp
書式の後ろから 3 つの使用例の形式では HTTP または FTP プロトコルの
いずれかを使ってファイルをカレンドディレクトリに取得します。
これはスクリプト用に理想的です。
より詳しい情報については
.Sx ファイルの自動的な取得
を参照して下さい。
.Pp
オプションは、コマンドライン上か、コマンドインタプリタで指定できます。
.Bl -tag -width "port "
.It Fl a
.Nm
は通常のログイン手続きを飛ばして、かわりに anonymous ログインを
使います。
.It Fl d
デバッグを有効にします。
.It Fl e
コマンドラインでの編集を無効にします。
.It Fl g
ファイル名展開を無効にします。
.It Fl U
データポートの範囲制限を無効にします。
.It Fl i
複数ファイル転送を行っている間の対話的プロンプトモードを
オフにします。
.It Fl n
.Nm
が最初に接続する際の
.Dq 自動ログイン
を行いません。
自動ログインが許可された場合は、
.Nm
は起動したユーザのホームディレクトリの
.Pa .netrc
(下記参照) ファイルに、リモートマシンのアカウントを記述している
エントリがあるかどうかを調べます。
そのファイルにエントリがない場合には、
.Nm
はリモートマシン上のログイン名 (デフォルトはローカルマシンでのユーザ
ID) を要求します。
そして、もし必要があればログイン用のパスワードと
アカウントの入力も促します。
.It Fl p
防火壁を越える接続のためのパッシブモード操作を有効にします。
.Nm pftp
コマンドを使うのと同じです。
.It Fl P Ar port
ポート番号を
.Ar port
に設定します。
.It Fl t
パケットのトレースを有効にします。
.It Fl v
饒舌モードを有効にします。
入力が端末からの場合はこれがデフォルトです。
.Nm
はデータ転送状況と、
リモートサーバからのすべてのレスポンスを表示します。
.It Fl V
入力が端末からの場合に、デフォルトで有効になっているのを無視して
饒舌モードを無効にします。
.El
.Pp
.Nm
は、通信相手をコマンドラインで指定することが出来ます。通信相手を
コマンドラインで指定した場合、
.Nm
は指定したリモートマシンの
.Tn FTP
サーバプログラムとの接続を試みます。それ以外の場合、
.Nm
は内部のコマンドインタプリタに入り、ユーザからの
コマンド入力を待ちます。このとき
.Nm
は、
.Ql ftp>
というプロンプトを出力します。
本状態の時には、
.Nm
は以下のコマンドを受け付けます。
.Bl -tag -width Fl
.It Ic \&! Op Ar command Op Ar args
ローカルマシン上でシェルを起動します。
引数が指定された場合、最初の引数をコマンドとして実行し、
それ以降の引数はそのコマンドに対する引数として処理されます。
.It Ic \&$ Ar macro-name Op Ar args
.Ar macro-name
で定義されたマクロを実行します。マクロは、
.Ic macdef
コマンドで定義出来ます。
.Ar args
で指定された文字列は、展開されずにマクロに対して引き渡されます。
.It Ic account Op Ar passwd
一旦ログインに成功したユーザが、資源を扱うためにリモートマシンから
要求された追加のパスワードを入力します。
引数が指定されない場合、ユーザに対してパスワード入力を促す表示がされます。
この場合はパスワードはエコーバックされません。
.It Ic append Ar local-file Op Ar remote-file
ローカルファイルをリモートマシン上のファイルに追加書き込みします。
もし、
.Ar remote-file
が指定されていなければ、ローカルファイルの名前を
.Ic ntrans
.Ic nmap
で修正した名前をリモートファイル名として使います。
ファイル転送では
.Ic type ,
.Ic format ,
.Ic mode ,
.Ic structure
の現在の設定が使われます。
.It Ic ascii
転送ファイルの
.Ic type
をネットワーク
.Tn ASCII
形式にします。
これはデフォルト時の設定です。
.It Ic bell
各ファイル転送コマンド終了時にベルを鳴らすかどうかを指定します。
.It Ic binary
転送ファイルの
.Ic type
をバイナリ形式にします。
イメージファイルなど、バイナリファイルを転送する時には本指定は必須です。
.It Ic bye
リモートサーバとの
.Tn FTP
セッションを終了し、
.Nm
を終了します。
EOF を入力した場合も同様です。
.It Ic case
.Ic mget
コマンドで連続してファイルを取得する場合、リモートマシン上の
ファイル名の大文字小文字の対応を切り替えます。
デフォルトでは
.Ic case
はオフですが、オンの場合にはリモートマシンファイル名の
すべての大文字が小文字に変換されて、ローカル マシンのディレクトリに
書き込まれます。
.It Ic \&cd Ar remote-directory
リモートマシン上での作業ディレクトリを
.Ar remote-directory
へ変更します。
.It Ic cdup
リモートマシン上での作業ディレクトリを一つ上に変更させます。
.It Ic chmod Ar mode file-name
.Ar file-name
で指定したリモートマシン上のファイルの属性を、
.Ar mode
で指定したものに変更します。
.It Ic close
リモートサーバとの
.Tn FTP
セッションを終了します。そしてコマンド入力待ちのプロンプトを表示します。
すでに定義されたマクロはすべて無効になります。
.It Ic \&cr
ASCII 形式ファイルの転送を行なう場合に、
復帰コードの除去を行なうかどうかを変更します。
ASCII 形式のファイル転送時には、
復帰/改行
の文字列によってレコードが認識されます。
.Ic \&cr
がオン(デフォルト)の時には、改行コードのみでレコードを区切る
.Ux
に適合するように、
復帰コードが文字列から除去されます。
.Ux
以外のリモートのシステムのレコードは
単独の改行コードを含む可能性があります。
ASCII 形式で転送を行った時には、そういった改行コードは
.Ic \&cr
がオフの場合にだけレコード区切り記号と区別して扱われます。
.It Ic delete Ar remote-file
リモートマシン上のファイル
.Ar remote-file
を削除します。
.It Ic debug Op Ar debug-value
デバッグモードを切り替えます。
.Ar debug-value
が指定されるとデバッグレベルとして設定されます。
デバッグモードが有効になると、
.Nm
はリモートマシンに送信されたコマンドを
.Ql \-\->
に続けて表示します。
.It Ic dir Op Ar remote-directory Op Ar local-file
リモートマシン上のディレクトリの内容を表示します。
表示内容にはサーバが選択したシステム依存の情報を含みます。
例えば大部分の
.Ux
システムは
.Ql ls \-l
コマンドから得られる出力を表示します。
(
.Ic ls
も参照して下さい)
もし
.Ar remote-directory
が指定されなければ、リモートマシン上のカレントディレクトリの内容が
表示されます。
もしプロンプトがオンだったら、
.Nm
は、最後の引数が本当に
.Ic dir
の出力を書き込むローカルファイルかどうか問い合わせます。
ローカルファイルの指定が無い場合、または
.Ar local-file
の指定が
.Sq Fl
だった場合は出力は画面に表示されます。
.It Ic disconnect
.Ic close
と同じです。
.It Ic edit
コマンドラインの編集機能、そして文脈に応じたコマンドとファイルの
補完機能を切り替えます。
これは入力が端末の場合は自動的に有効になり、そして
そうでなければ無効になります。
.It Ic exit
.Ic bye
と同じです。
.It Ic ftp Ar host Op Ar port
.Ic open
と同じです。
.It Ic form Ar format
ファイル転送様式を
.Ar format
と指定します。
デフォルトでは、様式は \*(Lqfile\*(Rq となります。
.It Ic get Ar remote-file Op Ar local-file
リモートマシン上のファイル
.Ar remote-file
を取得してローカルマシン上に格納します。
ローカルファイル名
.Ar local file
が指定されない場合、
ローカルファイル名は取得したファイルの
リモートマシン上の名前と同じになります。
ただし、その名前は
.Ic case ,
.Ic ntrans ,
.Ic nmap
の設定により変更される事があります。
ファイル転送の時には現在の
.Ic type ,
.Ic form ,
.Ic mode ,
.Ic structure
の設定が使用されます。
.It Ic gate Op Ar host Op Ar port
gate-ftp モードを切り替えます。
これは gate-ftp サーバが設定されていないと有効になりません
(ユーザによって明示的に、または
.Ev FTPSERVER
環境変数によって)。
.Ar host
が与えられると、
gate-ftp モードが有効になり、そして
gate-ftp サーバが
.Ar host
に設定されます。
.Ar port
も同時に与えられると、それが
gate-ftp サーバへ接続する際のポートとして使用されます。
.It Ic glob
.Ic mdelete ,
.Ic mget ,
.Ic mput
を行なう場合のファイル名の展開のオン/オフを切り替えます。
.Ic glob
がオフの場合には、ファイル名は展開されずにそのままになります。
.Ic mput
でのファイル名展開の規則は
.Xr csh 1
のファイル名展開規則と同様です。
.Ic mdelete
.Ic mget
の場合には、
各々のリモートファイル名はリモートマシン上で別々に展開され、
リストはマージされません。
ディレクトリ名の展開は普通のファイル名の展開と異なる事があります。
つまり、展開の結果はリモートの OS と FTP サーバに依存しています。
これは
.Ql mls remote-files \-
を実行する事によってあらかじめ知ることができます。
注意:
.Ic mget
.Ic mput
はファイルのディレクトリ・サブツリーを全て転送する物ではありません。
そのようにしたい時はサブツリーの
.Xr tar 1
のアーカイブを作成してバイナリモードで転送します。
.It Ic hash Op Ar size
1 データブロック転送するごとに
ハッシュサイン (``#'') を出力するかどうかを切り替えます。
デフォルトでは 1 データブロックは 1024byte です。
これは
.Ar size
でバイト単位で指定する事で変更できます。
.It Ic help Op Ar command
引数
.Ar command
で指定したコマンドのヘルプメッセージを出力します。
引数が与えられない場合、
.Nm
は使用可能なコマンドの一覧を出力します。
.It Ic idle Op Ar seconds
リモートサーバ上のアイドルタイマを
.Ar seconds
秒に設定します。
.Ar seconds
が与えられない場合は現在のアイドルタイマ値を表示します。
.It Ic lcd Op Ar directory
ローカルマシン上の作業ディレクトリを変更します。
.Ar directory
名が与えられない場合はユーザのホームディレクトリに移動します。
.It Ic less Ar file
.Ic page
と同じです。
.It Ic lpwd
ローカルマシン上の作業ディレクトリを表示します。
.It Ic \&ls Op Ar remote-directory Op Ar local-file
リモートマシンのディレクトリの内容のリストを表示します。
.Ar remote-directory
の指定が無い場合には、
代わりに現在の作業ディレクトリが使われます。
もしプロンプトモードになっているならば,
.Nm
は、最後の引数が
.Ic ls
の出力を受け取るローカルのファイルであるかをユーザーに問い合わせます。
.Ar local-file
の指定がない場合や
.Fl
が指定されている場合には、
出力は画面に表示されます。
.It Ic macdef Ar macro-name
マクロ定義を行ないます。
後続の行がマクロ
.Ar macro-name
として格納されます。
空行 (1 つのファイル内での連続した改行文字や端末からの連続した
復帰文字) は
マクロの入力モードを終了させます。
マクロの数の制限は 16 個で、定義されたマクロ全部で 4096
文字までがゆるされています。マクロは
.Ic close
コマンドが実行されるまで持続します。
マクロプロセッサは `$' と `\e' を特別な文字として解釈します。
1つ以上の数字が続く `$' は、コマンドラインで呼び出したマクロの
対応する引数によって置き換えられます。
後ろに `i' が続く `$' は、マクロプロセッサに対して実行している
マクロのループを指示します。
最初のパスで `$i' はマクロを呼び出したコマンドラインの最初の引数に
置き換えられ、2 回目のパスで 2 つ目の引数に置き換えられ、それ以降も
同様に置き換えられます。
後ろに任意の文字が続いている `\e' はその文字に置き換えられます。
`\e' は `$' の特別な扱いを避けるために使用します。
.It Ic mdelete Op Ar remote-files
リモートマシンの
.Ar remote-files
を削除します。
.It Ic mdir Ar remote-files local-file
複数のリモートファイルを指定出来る点を除くと
.Ic dir
と同様です。
プロンプトがオンの時には、
.Nm
は最後の引数が
.Ic mdir
の出力を受け取るローカルファイルであるかをユーザーに問い合わせます。
.It Ic mget Ar remote-files
リモートマシンで
.Ar remote-files
で指定されたファイルを展開し、展開後の各ファイル名のファイルに対して
.Ic get
を実行します。
ファイル名の展開の詳細は
.Ic glob
を参照してください。
生成されたファイル名は
.Ic case ,
.Ic ntrans ,
.Ic nmap
の設定に従い処理されます。
ファイルはローカルの作業ディレクトリに転送されます。
そのディレクトリは
.Ql lcd directory
で変更できます。
ローカルの新しいディレクトリは
.Ql "\&! mkdir directory"
で作成できます。
.It Ic mkdir Ar directory-name
リモートマシンにディレクトリを作ります。
.It Ic mls Ar remote-files local-file
複数のリモートファイル名を指定できる点と
.Ar local-file
を必ず指定しなければならない点を除くと
.Ic ls
と同様です。
プロンプトがオンの時には、
.Nm
は最後の引数が
.Ic mls
の出力を受け取る目標のローカルファイルであるかをユーザに確認します。
.It Ic mode Op Ar mode-name
ファイル転送モード
.Ic mode
.Ar mode-name
で指定したものに設定します。
デフォルトは \*(Lqstream\*(Rq です。
.It Ic modtime Ar file-name
リモートマシン上の指定ファイルの最終更新日時を参照します。
.It Ic more Ar file
.Ic page
と同じです。
.It Ic mput Ar local-files
引数として与えられたローカルファイルのリスト中の
ワイルドカードを展開し、
展開後の各ファイル名のファイルに対して
.Ic put
を実行します。
ファイル名の展開の詳細については
.Ic glob
を参照してください。
生成されたファイル名は
.Ic ntrans
.Ic nmap
の設定に従って処理されます。
.It Ic msend Ar local-files
.Ic mput
と同じです。
.It Ic newer Ar file-name
リモートマシンのファイルの最終更新日時の方が
ローカルマシンのファイルより新しい場合にのみファイルを取得します。
現在のシステムにファイルが無いときには、リモートファイルの方が
.Ic 新しい
ものとして扱われます。
その他については
.Ar get
と同じです。
.It Ic nlist Op Ar remote-directory Op Ar local-file
.Ic ls
と同じです。
.It Ic nmap Op Ar inpattern outpattern
ファイル名のマッピング機能を設定したり解除したりします。
引数が無い場合にはマッピング機能が解除されます。
引数がある場合には、出力先のリモートファイル名の指定されていない
.Ic mput
コマンドと
.Ic put
コマンドの実行時に、リモートファイル名がマップされます。
同様な事が
.Ic mget
コマンドと
.Ic get
コマンドのローカルファイル名についても行われます。
このコマンドはファイルの命名規則が異なる
.Ux
ではないリモートマシンとの接続時に便利です。
マッピングは
.Ar inpattern
.Ar outpattern
によって設定されたパターンに従って行われます。
.Op Ar inpattern
は (すでに
.Ic ntrans
.Ic case
によって処理されているかもしれない)
入力ファイル名のためのテンプレートです。
.Ar inpattern
に`$1', `$2', ..., `$9' の文字列を含むことによって、
変数を使用したテンプレートも使えます。
`$' を特別扱いしたくない時には
`\\' を使ってください。
他の文字はそのままその文字として扱われ、
.Ic nmap
.Op Ar inpattern
変数の値を決めるのに用いられます。
例えば、
.Ar inpattern
として $1.$2 が、
リモートファイルの名前として "mydata.data" が
与えられた時に、$1 は "mydata" という値となり,
$2 は "data" という値になります。
.Ar outpattern
は生成されるマッピング後のファイル名を決定します。
文字列の `$1', `$2', ...., `$9' は
.Ar inpattern
のテンプレートから生成される値に置き換えられます。
文字列の `$0' は元のファイル名で置き換えられます。
さらに、文字列の
.Ql Op Ar seq1 , Ar seq2
.Ar seq1
が空文字列でない時には
.Op Ar seq1
に、
空文字列の時には
.Op Ar seq2
に置き換えられます。
例えばコマンド
.Pp
.Bd -literal -offset indent -compact
nmap $1.$2.$3 [$1,$2].[$2,file]
.Ed
.Pp
は、
入力ファイル名 "myfile.data" と "myfile.data.old"
に対して出力ファイル名が "myfile.data" になり、
入力ファイル名 "myfile"
に対して出力ファイル名が "myfile.file" になり、
入力ファイル名 ".myfile" に対して
出力ファイル名が "myfile.myfile"になります。
例えば、`nmap $1 sed "s/ *$//" > $1'
のように、
.Ar outpattern
にはスペースが入っていても構いません。
文字 `$', `[', `]', `,' を特別扱いしたくない時には
`\e' を使ってください。
.It Ic ntrans Op Ar inchars Op Ar outchars
ファイル名の文字変換機能を設定したり解除したりします。
引数が無い場合には文字変換機能が解除されます。
引数がある場合には、出力先のリモートファイル名の指定されていない
.Ic mput
コマンドと
.Ic put
コマンドの実行時にリモートファイル名が変換されます。
同様な事が
.Ic mget
コマンドと
.Ic get
コマンドでもローカルファイルに対して行われます。
このコマンドは、
.Ux
とは異なるファイル命名規則のリモートマシンとの接続時に有効です。
ファイル名中の文字で、
.Ar inchars
の中の文字に一致するものが
.Ar outchars
の対応する文字に置き換えられます。
.Ar inchars
の中での文字の位置が
.Ar outchars
の長さを越えている時には、その文字はファイル名から削除されます。
.It Ic open Ar host Op Ar port
指定した
.Ar host
.Tn FTP
サーバとのコネクションを確立します。
ポート番号
.Ar port
を指定した場合、
.Nm
は指定したポート番号を用いて
.Tn FTP
サーバとのコネクションの確立を試みます。
.Ic 自動ログイン
オプションがオン ( デフォルト時 ) の場合には、
.Nm
は自動的に
.Tn FTP
サーバに対してログインを行ないます ( 以下を参照 ) 。
.It Ic page Ar file
.Ic file
を取得して、
.Ev PAGER
で指定されたプログラム
(デフォルトは
.Xr less 1
)を使って表示します。
.It Ic passive
パッシブモードを切り替えます。パッシブモードがオン
(デフォルトはオフ) なら、ftp クライアントは
すべてのデータコネクションにおいて、通常の
.Dv PORT
コマンドの代わりに
.Dv PASV
コマンドを送ります。
.Dv PASV
コマンドはリモートのサーバにデータコネクションのためのポートを
開いて、そのポートのアドレスを返すよう要求します。
リモートサーバはそのポートで待ち、クライアントはそこに接続します。
より伝統的な
.Dv PORT
コマンドを使う場合は、クライアントがポートで待ち、そしてそのアドレスを
リモートサーバに送ってリモートサーバはそこに接続して来ます。
パッシブモードは
ゲートウェイ・ルータやトラフィックの方向を制御しているホストを
経由して
.Nm
を使う場合に有用です。
(注意: ftp サーバが RFC 1123 の
.Dv PASV
コマンドをサポートしている必要がありますが、サポートしていない
場合もあります。)
.It Ic preserve
受け取ったファイルの更新日時を保存するかどうかを切り替えます。
.It Ic progress
転送の進行状況を表す棒グラフ表示を切り替えます。
この棒グラフは、
.Ar ローカルファイル
として
.Sq Fl
.Sq \&|
で始まるコマンドが指定された転送では表示されません。
詳しくは
.Sx ファイル名の規則
を参照して下さい。
.It Ic prompt
対話的プロンプトモードを切り替えます。
対話的プロンプトモードをオンにすることで、
複数ファイル転送時に転送ファイルの選択を行なえます。
対話的プロンプトモードをオフにすると (デフォルトはオン)、
.Ic mget
.Ic mput
で指定したファイルはすべて転送され、
.Ic mdelete
で指定したファイルはすべて削除されます。
.Pp
プロンプトモードがオンの時には、プロンプトにおいて以下の
コマンドが使用できます:
.Bl -tag -width 2n -offset indent
.It Ic n
ファイルを転送しません。
.It Ic a
現在のファイルについて
.Sq yes
とし、自動的に現在のコマンドに対する残りのすべての
ファイルに対しても
.Sq yes
とします。
.It Ic p
現在のファイルについて
.Sq yes
とし、プロンプトモードをオフにします
(あたかも
.Dq prompt off
が指定されたかのように)。
.El
.Pp
これ以外の応答は現在のファイルに対する
.Sq yes
として扱われます。
.It Ic proxy Ar ftp-command
ftp コマンドを 2次制御接続上で実行します。
本コマンドを用いることで、同時に 2 つのリモートマシンとコネクションを確立し、
2つのサーバ間でファイル転送を行なうようにすることができるようになります。
最初の
.Ic proxy
コマンドは
.Ic open
コマンドである必要があります。
これは、2 次的な制御コネクションを確立するために必要な操作です。
"proxy ?" とコマンドを実行することで、
2 次接続下で使用可能なコマンド一覧が表示されます。
以下のコマンドは
.Ic proxy
の後におかれた時には異なった働きをします。
.Ic open
は自動ログイン処理中には新しいマクロの定義を行いません。
.Ic close
はマクロの削除を行いません。
.Ic get
.Ic mget
は 1次制御接続のホストから 2次制御接続のホストにファイルの転送を行います。
.Ic put
.Ic mput
.Ic append
は 2次制御接続のホストから 1次制御接続のホストにファイルの転送を行います。
第三者のファイル転送は、2次制御接続のサーバが FTP プロトコルの
.Dv PASV
コマンドをサポートしているかどうかに依存します。
.It Ic put Ar local-file Op Ar remote-file
ローカルマシン上の指定ファイルをリモートマシンに転送します。
.Ar remote-file
が指定されない場合には、転送先でのファイル名は、
.Ic ntrans
.Ic nmap
の設定に基づく処理を行ったローカルファイルの名前が用いられます。
ファイル転送には
.Ic type ,
.Ic format ,
.Ic mode ,
.Ic structure
の現在の設定が用いられます。
.It Ic pwd
現在のリモートマシン上での作業ディレクトリを表示します。
.It Ic quit
.Ic bye
と同じです。
.It Ic quote Ar arg1 arg2 ...
引数で指定した文字列を、そのままリモート
.Tn FTP
サーバに送信します。
.It Ic recv Ar remote-file Op Ar local-file
.Ic get
と同じです。
.It Ic reget Ar remote-file Op Ar local-file
getと似ていますが、
.Ar local-file
が存在しており
.Ar remote-file
よりサイズが小さい場合には、
.Ar local-file
がリモートファイルの一部であるとみなして続きをコピーする点が異なります。
本コマンドは、大きいファイルの転送中にコネクションが
切断されてしまった場合の続きを受信しなおす場合などに有用です。
.It Ic remotehelp Op Ar command-name
リモート
.Tn FTP
サーバのヘルプメッセージを要求します。
.Ar command-name
が指定された場合にはそのコマンドのヘルプが表示されます。
.It Ic rstatus Op Ar file-name
引数がない場合にはリモートマシンのステータスが表示されます。
.Ar file-name
が指定されている場合には、
リモートマシン上の指定ファイルのステータスが表示されます。
.It Ic rename Op Ar from Op Ar to
リモートマシン上のファイル
.Ar from
が、
.Ar to
というファイル名にリネームされます。
.It Ic reset
リプライキューをクリアします。
本コマンドはコマンド/リプライのシーケンスの再同期をとるのに使われます。
再同期を取ることは ftp プロトコル上の障害が発生した時に必要な操作です。
.It Ic restart Ar marker
.Ic get
.Ic put
を指定した
.Ar marker
位置から再開します。
.Ux
システムにおいては、通常 marker はファイルのバイトオフセットで指定します。
.It Ic restrict
データポートの幅を制限するかをオン/オフします。
パッシブモードでない時に、
.Nm
クライアントはリモートサーバに対して、独立したデータポートで
クライアントホストに接続してくることを要求します。
前のバージョンでは、そのリモートポートは 1024 から 4999 までの幅に
収まっていました。
しかしほとんどの防火壁 (fire wall) では、その範囲に他のサービスが
あるために TCPポートをフィルタリングしています。
現在のデフォルトの動作では、ポート番号が 40000 から 44999 の間で、
サーバがクライアントに対して接続してくることを要求します。
もしセキュリティ上の危険性がないと考えるならば、防火壁管理者は
その幅での TCP 接続に対して許可を行うという選択ができます。
.It Ic rmdir Ar directory-name
リモートマシン上のディレクトリを消去します。
.It Ic runique
ローカルマシンに保存されるファイルに対して
ユニークな名前を付加するかどうかを切り替えます。
.Ic get
.Ic mget
コマンドで目的のローカルファイルと同じ名前のファイルが既に存在する時には、
".1" が名前に付加されます。
その名前も既に存在する時には
".2" が付加されます。
このように順番に処理をし、
".99" になっても存在する時には
エラーメッセージが表示され、転送は行われません。
生成されたユニークなファイル名は報告されます。
注意:
.Ic runique
はシェルコマンドで生成されるファイル名には効果がありません
(下記参照)。
デフォルトではオフになっています。
.It Ic send Ar local-file Op Ar remote-file
.Ic put
と同じです。
.It Ic sendport
.Dv PORT
コマンドを使用するかどうか切り替えます。
デフォルトでは、
.Nm
は各データ転送用のコネクションの確立の際に
.Dv PORT
コマンドの使用を試みます。
.Dv PORT
を使うことで複数ファイル転送を行なう場合の遅延を避けることが出来ます。
.Dv PORT
コマンドが失敗した場合、
.Nm
はデフォルトのデータ・ポートを使用します。
.Dv PORT
コマンドが無効になった場合、データ転送時に
.Dv PORT
コマンドは使われません。
これはある種の
.Tn FTP
の実装で
.Dv PORT
コマンドは無視するが、誤っていて、受け入れたと返事を返すような
物に対して有効です。
.It Ic site Ar arg1 arg2 ...
引数で指定した文字列を、
.Dv SITE
コマンドの引数としてそのまま
.Tn FTP
サーバに送信します。
.It Ic size Ar file-name
リモートマシン上の
.Ar file-name
で指定したファイルのサイズを表示します。
.It Ic status
.Nm
の現在の状態を表示します。
.It Ic struct Op Ar struct-name
ファイル転送の
.Ar structure
.Ar struct-name
に設定します。
デフォルトでは、\*(Lqstream\*(Rq に設定されています。
.It Ic sunique
リモートマシン上に転送するファイルのファイル名に対して、
一意な名前を付与するかどうかを切り替えます。
この機能が使えるためには、
リモートの FTP サーバが FTP のプロトコルの
.Dv STOU
コマンドをサポートしていなければなりません。
リモートサーバがユニークな名前を報告します。
デフォルトではこの機能はオフになっています。
.It Ic system
リモートマシンで稼働している OS のタイプを表示します。
.It Ic tenex
.Tn TENEX
マシンと
通信するために必要なファイル転送モードを設定します。
.It Ic trace
パケットトレースをするかどうかを切り替えます。
.It Ic type Op Ar type-name
ファイル転送の
.Ic type
.Ar type-name
に変更します。引数が指定されない場合には
現在のファイル転送タイプを表示します。
デフォルトタイプはネットワーク
.Tn ASCII
です。
.It Ic umask Op Ar newmask
リモートサーバのデフォルトの umask 値を
.Ar newmask
で指定した値に変更します。
.Ar newmask
が指定されていない場合は現在の umask 値を表示します。
.It Xo
.Ic user Ar user-name
.Op Ar password Op Ar account
.Xc
ユーザをリモート
.Tn FTP
サーバに認識させます。
.Ar password
が指定されていなくて、
.Tn FTP
サーバが必要とする場合は
( ローカルエコーをオフにしてから )
.Nm
がユーザに問い合わせます。
.Ar account
が指定されていなくて、
.Tn FTP
サーバが必要とする場合には、
.Nm
がユーザに問い合わせます。
リモートサーバがログイン時にアカウントを必要としないのに
.Ar account
フィールドが指定された場合には、ログイン処理の完了後に
account コマンドがリモートサーバに渡されます。
「自動ログイン」を無効にした状態で
.Nm
が呼び出されない限り、
この処理は
.Tn FTP
サーバに最初につながった時に自動的に行われます。
.It Ic verbose
饒舌モードの切り替えをします。
饒舌モードの時には
.Tn FTP
サーバからの全ての応答が表示されます。
さらにこのモードがオンの時には、ファイル転送が終了した時に
転送効率に関する統計が報告されます。
デフォルトではオンになっています。
.It Ic ? Op Ar command
.Ic help
コマンドと同じです。
.El
.Pp
スペースを含むコマンドの引数は、`"' マークで括って下さい。
.Pp
設定を切り替えるコマンドでは、設定を指定するために明示的に
.Ic on
.Ic off
を引数として指定できます。
.Pp
.Nm
が転送中に
.Dv SIGINFO
(
.Xr stty 1
の引数
.Dq status
を参照)
シグナルを受けると、その時点での転送レートの統計情報が
終了時の標準的なフォーマットと同じ形式で標準エラー出力に書き出されます。
.Sh ファイルの自動取得
標準的なコマンドに加えて、
このバージョンの
.Nm
は自動取得の機能をサポートします。
単にホスト名/ファイルのリストをコマンドラインで渡すと
自動取得が有効になります。
.Pp
自動取得の指定では以下の形式を認識します:
.Bl -tag -width "host:/file"
.It host:/file
.Dq 古典的な
ftp の形式
.It ftp://[user:password@]host[:port]/file
ftp URL形式で、
.Ev ftp_proxy
が定義されていなければ ftpプロトコルで取得します。
そうでなければ
.Ev ftp_proxy
で指定されたプロキシを経由した http を使って転送します。
.Ar user:password@
が指定されていて
.Ev ftp_proxy
が定義されていない場合は、
パスワードに
.Ar password
を使って
.Ar user
でログインします。
.It http://host[:port]/file
HTTP URL形式、http プロトコルで取得します。
.Ev http_proxy
が定義されている場合は、その内容が HTTPプロキシサーバの
URL として使用されます。
.El
.Pp
古典的な形式または ftp URL形式で最後に
.Sq /
がある場合は、
.Nm
はサイトに接続して与えられたパスのディレクトリに
.Ic cd
し、以降の入力を受け付けるために対話モードに入ります。
.Pp
自動取得の対象が複数指定されていて、連続しているものが同じホストを
参照している時は、接続の確立と切断によるオーバヘッドを避けるために
複数の転送にわたって接続が維持されます。
.Pp
ファイル名の展開がオンで
.Ic file
が展開の対象となる文字を含んでいるなら
(
.Ic glob
参照)
.Ic "mget file"
と同じ事を行います。
.Pp
.Ic file
のディレクトリ部分が展開の対象となる文字を含まなければ、
ファイルは
.Ic file
から
.Xr basename 1
で得られる名前で現在のディレクトリに置かれます。
そうでなければリモートの名前をローカルでの名前として使います。
.Sh ファイル転送の中止
ファイル転送を中断するためには、
端末のインタラプトキー (通常は Ctrl-C) を打鍵してください。
データ送信はただちに停止します。
データ受信は、ftp プロトコルの
.Dv ABOR
コマンドをリモートサーバに送ることでサーバからのデータ送信がとまります。
そしてそれ以降の受信データは捨てられます。
これが行われる速度は、リモートサーバが
.Dv ABOR
コマンドをサポートする方式に依存します。
リモートサーバが
.Dv ABOR
コマンドをサポートしていない時には、
リモートサーバが要求したファイルを送り終るまで
.Ql ftp>
というプロンプトは現れません。
.Pp
端末からの割り込みキー入力は、
.Nm
が何かローカルの処理をすでに完了していて
リモートサーバからの応答を待っている時には無視されます。
このモードでの長い遅延は上でも述べたように ABOR 処理の結果に
よるものか、 ftp のプロトコル違反を含めたリモートサーバによる
予期せぬ動作のどちらかによるものです。
もしリモートサーバの予期せぬ動作の結果による遅延であるならば、
ローカルの
.Nm
プログラムは手動で終了 (kill) しなければなりません。
.Sh ファイル名の規則
.Nm
コマンドの引数として指定されたファイル名は、以下の規則で処理されます。
.Bl -enum
.It
ファイル名として
.Sq Fl
が指定された場合、
入力ファイル名の場合には標準入力
.Ar stdin
が、
出力ファイル名の場合には標準出力
.Ar stdout
が使用されます。
.It
ファイル名の先頭の文字が
.Sq \&|
の場合には、その後に指定された文字列はすべてシェルコマンドと解釈されます。
.Nm
は与えられた引数をつけて
.Xr popen 3
を用いてシェルを呼び出し、標準入力から(標準出力へ)読み出し(書き込み)ます。
シェルコマンドにスペースが含まれている時には
引数は引用符で囲まれなければなりません。
(例:
\*(Lq" ls -lt"\*(Rq
)
特に有用な例としては \*(Lqdir \&|more\*(Rq があります。
.It
上記のチェックにひっかからず、 ``globbing'' が許可されている場合、
ローカルファイル名は
.Xr csh 1
のファイル名展開規則にしたがって展開されます。
(詳細は
.Ic glob
コマンドを参照)
ただし、
.Nm
のコマンドが 1 つのファイル名しか必要としない場合
(例えば
.Ic put
) は、ファイル名が展開された後の最初のファイル名だけが使用されます。
.It
.Ic mget
コマンドと
.Ic get
コマンドにおいてローカルファイル名が指定されない場合、
ローカルファイル名はリモートファイル名と同一になります。
ただし、これらのファイル名は
.Ic case ,
.Ic ntrans ,
.Ic nmap
の設定によって変わることもあります。
結果として得られたファイル名は、
.Ic runique
が設定されていればさらに変わるかもしれません。
.It
.Ic mput
コマンドと
.Ic put
コマンドにおいてリモートファイル名が指定されない場合、
リモートファイル名はローカルファイル名と同一になります。
ただし、これらのファイル名は
.Ic ntrans ,
.Ic nmap
の設定によって変わることもあります。
結果として得られたファイル名は、
.Ic sunique
が設定されていればリモートサーバによって
さらに変えられるかも知れません。
.El
.Sh ファイル転送パラメータ
FTPの仕様にはファイル転送時に影響を及ぼす多くのパラメータがあります。
.Ic type
は、\*(Lqascii\*(Rq, \*(Lqimage\*(Rq (binary), \*(Lqebcdic\*(Rq,
\*(Lqlocal byte size\*(Rq (
.Tn PDP Ns -10
および
.Tn PDP Ns -20
でよく使われます) が指定可能です。
.Nm
は、ascii と image のタイプを指定可能なのに加えて、
.Ic tenex
モードの転送を指定することにより
ローカルバイトサイズ 8 を指定することが可能です。
.Pp
.Nm
では、他の
.Ic mode ,
.Ic form ,
.Ic struct
のパラメータではデフォルト値だけが使用可能です。
.Sh .netrc ファイル
.Pa .netrc
ファイルは、自動ログイン処理においてのログインおよび初期設定情報を記述します。
.Pa .netrc
ファイルは、ユーザのホームディレクトリに置きます。
.Pa .netrc
では以下の予約語が解釈されます。これらはスペース、タブそして
new-line によって分割されます。
.Bl -tag -width password
.It Ic machine Ar name
リモートマシン名
.Ar name
を定義します。
自動ログイン処理は
.Pa .netrc
ファイル中に
.Ic machine
トークンがあるかどうか探し、そのエントリが
.Nm
のコマンドラインもしくは
.Ic open
コマンドの引数と一致するかどうかチェックします。
一致するエントリがあった場合は後に続く
.Pa .netrc
トークンが処理され、その処理はファイル最後尾に行き着くか他の
.Ic machine
トークンまたは
.Ic default
トークンに出くわすまで続きます。
.It Ic default
いろんな名前と一致するワイルドカード的な働きがあることを除けば
.Ic machine
.Ar name
と同様です。
.Ic default
トークンは、
.Pa .netrc
ファイル中に 1 エントリだけが許され、
しかも他の全ての
.Ic machine
トークンより後ろでなければなりません。
通常は
.Pp
.Dl default login anonymous password user@site
.Pp
のように使用されます。
本エントリによって
.Pa .netrc
に指定の無い ftp サイトに自動で anonymous ログインを試みるようになります。
.Fl n
フラグを付加して ftp を起動することで
.Pa .netrc
ファイルを無視することが出来ます。
.It Ic login Ar name
リモートマシンにおけるログイン名を指定します。
本トークンが与えられている場合、自動ログイン処理は
.Ar name
をログイン名としてログインしようとします。
.It Ic password Ar string
パスワードを指定します。
本トークンが指定されている場合でリモートサーバがログイン処理中に
パスワードを要求する場合は、自動ログイン処理は指定した文字列を
送ります。
.Pa .netrc
ファイルにおいて、
.Ar anonymous
以外のユーザエントリにおいて本トークンが登録されており、なおかつ
.Pa .netrc
がユーザ以外から読める属性である場合には
.Nm
は自動ログイン処理を中断します。
.It Ic account Ar string
追加のアカウントパスワードを登録します。
このトークンがあると、
もし追加のアカウントパスワードをリモートホストが必要とする時に
自動ログインプロセスが指定された文字列を与えます。
そうでない場合には、自動ログインプロセスは
.Dv ACCT
コマンドを与えます。
.It Ic macdef Ar name
マクロを定義します。
このトークンの機能は
.Nm
.Ic macdef
コマンドの機能に似ています。
マクロは指定された名前を用いて定義されます。
その内容は
.Pa .netrc
の次の行から始まり、空行 ( 改行文字の連続 ) が現れるまで続きます。
.Ic init
というマクロが定義されているならば、
自動ログイン処理の中での最後の段階で自動的に実行されます。
.El
.Sh コマンドラインの編集機能
.Nm
.Xr editline 3
ライブラリを使った対話的なコマンドラインの編集をサポートします。
これは
.Ic edit
コマンドによって有効になり、そして入力が tty からの場合は
デフォルトで有効になっています。
カーソルキーで以前の行を呼び出して編集できます。
そして他にも GNU Emacs スタイルの編集用のキーが使えます。
.Pp
.Xr editline 3
ライブラリは
.Pa .editrc
ファイルで設定できます - より詳しくは
.Xr editrc 5
を参照して下さい。
.Pp
.Nm
には、文脈に依存したコマンドとファイル名の補完
(リモートファイルの補完を含む) 機能を提供するための
追加のキー割り当てが用意されています。
これを使うためには
.Xr editline 3
.Ic ftp-complete
コマンドにキーを割り当てて下さい。
これはデフォルトで TAB キーに割り当てられています。
.Sh 環境変数
.Nm
は、以下の環境変数を使用します。
.Bl -tag -width "FTP_PASSIVE_MODE"
.It Ev FTP_PASSIVE_MODE
パッシブモードの FTP をデフォルトで使用します。
.It Ev FTPSERVER
.Ic gate
が有効な時に gate-ftpサーバとして使用するホスト。
.It Ev FTPSERVERPORT
.Ic gate
が有効な時に gate-ftpサーバに接続するのに使うポート。
デフォルトは
.Dq ftpgate/tcp
.Fn getservbyname
を呼び出して返って来たポート。
.It Ev HOME
定義されていれば
.Pa .netrc
ファイルのデフォルトの置き場所となります。
.It Ev PAGER
.Ic page
でファイルを表示する際に使われます。
.It Ev SHELL
デフォルトで起動するシェルを定義します。
.It Ev ftp_proxy
FTP URLリクエストを発行する時に使う FTPプロキシの URL
(定義されていなければ標準の ftpプロトコルを使います)。
.It Ev http_proxy
HTTP URLリクエストを発行する時に使う HTTPプロキシの URL。
.El
.Sh 関連項目
.Xr getservbyname 3 ,
.Xr editrc 5 ,
.Xr services 5 ,
.Xr ftpd 8
.Sh 注釈
.Xr pftp 1
.Xr gate-ftp 1
コマンドは
.Nm
にリンクされています。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から実装されました。
.Pp
コマンドラインの編集、文脈に依存したコマンドとファイルの補完、
進行状況を表す棒グラフ、ファイルの自動的な取得、
ftp と http 形式の URL、更新時刻の保存といった各種の機能は
.Nx 1.3
Luke Mewburn によって、Jason Thorpe のアシスタントを得て実装されました。
.Sh バグ
多くのコマンドの正しい動作は、リモートサーバの適切な動作に依存します。
.Pp
.Bx 4.2
の ascii モードでの転送時の復帰文字の取り扱いのエラーは訂正されています。
この訂正の結果として、
.Bx 4.2
のサーバとの間でバイナリファイルを ascii タイプを使用して転送した時に
不正転送をひき起こすことが
あります。この問題を回避するためにはバイナリモードを用いて
ファイル転送をして下さい。
diff --git a/ja/man/man1/gcc.1 b/ja/man/man1/gcc.1
index da6233c3e9..27e57d60e1 100644
--- a/ja/man/man1/gcc.1
+++ b/ja/man/man1/gcc.1
@@ -1,4008 +1,4019 @@
.\" Copyright (c) 1991, 1992, 1993, 1994 Free Software Foundation -*-Text-*-
.\" See section COPYING for conditions for redistribution
.\"
.\" jpman %Id: gcc.1,v 1.4 1997/10/11 07:52:34 horikawa Stab %
.\" Set up \*(lq, \*(rq if -man hasn't already set it up.
.if @@\*(lq@ \{\
. ds lq "
. if t .ds lq ``
. if !@@\(lq@ .ds lq "\(lq
.\}
.if @@\*(rq@ \{\
. ds rq "
. if t .ds rq ''
. if !@@\(rq@ .ds rq "\(rq
.\}
.de Id
.ds Rv \\$3
.ds Dt \\$4
..
.de Sp
.if n .sp
.if t .sp 0.4
..
.Id %Id: gcc.1,v 1.4 1993/10/13 23:19:12 pesch Exp %
.TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools"
.SH 名称
gcc, g++ \- GNU プロジェクト C コンパイラ および C++ コンパイラ (v2.7)
.SH 書式
.B gcc
.RI "[ " option " | " filename " ].\|.\|."
.br
.SH 注意
このマニュアルに書かれた情報は GNU C コンパイラの完全な
ドキュメンテーションからの抜粋であり、オプションの意味の記述にとどめます。
.PP
このマニュアルはボランティアのメンテナンスが行なわれた時にのみ更新され
るもので、常に最新の情報を示しているわけではありません。
もしこのマニュアルと実際のソフトウェアの間に矛盾点があれば、
正式なドキュメントである Info ファイルのほうを参照して下さい。
.PP
このマニュアル中の古い記述が重大な混乱や不具合をきたすことになれば、
このマニュアルページの配布は中止します。
GNU CCのメンテナンス作業の都合上、
Info ファイルを更新した時にマニュアルページも併せて更新することは
できません。マニュアルページは時代遅れであり、
これに時間をかけるべきではないと GNU プロジェクトでは考えています。
.PP
完全な最新のドキュメンテーションが必要な場合は、Info ファイルの`\|\c
.B gcc\c
\&\|' またはマニュアルの
.I
Using and Porting GNU CC (for version 2.0)\c
\& を参照して下さい。この双方は Texinfo のソースファイル
.B gcc.texinfo
から生成されます。
.SH 解説
C と C++ のコンパイラは統合されています。どちらの場合も、入力ファイル
は、プリプロセス、コンパイル、アセンブル、リンクの 4 つの処理ステージの
うちの 1 つ以上のステージを踏んで処理されます。
ソースファイル名の拡張子によってソースの言語を識別しますが、
デフォルトの動作は、どちらの名前でコンパイラを使うかに依存しています:
.TP
.B gcc
プリプロセス済みの (\c
.B .i\c
\&) ファイルを C のファイルと仮定し、C スタイルのリンクを行います。
.TP
.B g++
プリプロセス済みの(\c
.B .i\c
\&) ファイルを C++ のファイルと仮定し、C++ スタイルのリンクを行います。
.PP
ソースファイル名の拡張子は、その言語が何であるかと、どのような処理が行われる
べきかを示します:
.Sp
.nf
.ta \w'\fB.cxx\fP 'u
\&\fB.c\fP C言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
\&\fB.C\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
\&\fB.cc\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
\&\fB.cxx\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
\&\fB.m\fP Objective-C 言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
\&\fB.i\fP プリプロセッサにかけられたC言語ソースです。コンパイラ、アセンブラにかけられます。
\&\fB.ii\fP プリプロセッサにかけられたC++言語ソースです。コンパイラ、アセンブラにかけられます。
\&\fB.s\fP アセンブリ言語ソースです。アセンブラにかけられます。
\&\fB.S\fP アセンブリ言語ソースです。プリプロセッサ、アセンブラにかけられます。
\&\fB.h\fP プリプロセッサファイルです。通常はコマンドラインには現れません。
.Sp
.fi
その他の拡張子を持つファイルはリンカに渡されます。以下のものがあります。
.Sp
.nf
\&\fB.o\fP オブジェクトファイルです。
\&\fB.a\fP アーカイブファイルです。
.br
.fi
.Sp
リンクは、オプション
.BR \-c ,
.BR \-S ,
.B \-E
を指定して抑制しないかぎり(もしくはコンパイルエラーによってすべての処理が中断
しないかぎり)、常に最終ステージで実行されます。
リンクのステージにおいては、ソースファイルに対応した全ての
.B .o
ファイルと、
.B \-l
で指定したライブラリと、認識されなかったファイル名 (名前に
.B .o
のついたオブジェクトファイルや
.B .a
のついたアーカイブを含む) は、
コマンドラインに並べられた順番でリンカに渡されます。
.SH オプション
オプションは分割されていなければなりません。すなわち `\|\c
.B \-dr\c
\&\|' は `\|\c
.B \-d \-r
\&\|'とは異なった扱いを受けます。
.PP
ほとんどの `\|\c
.B \-f\c
\&\|' と `\|\c
.B \-W\c
\&\|' 形式のオプションには、
.BI \-f name
.BI \-fno\- name\c
\& (または
.BI \-W name
.BI \-Wno\- name\c
\&) の形式の、対照的な表現があります。ここではデフォルトでない形式の
みを示します。
.PP
すべてのオプションを種類別に分けてまとめました。詳しい解説は
以下の節で行ないます。
.hy 0
+.SH FreeBSD 固有のオプション
+.TP
+.BI "\-pthread"
+スレッド化ユーザプロセスに libc の代りに libc_r をリンクします。
+スレッド化ユーザプロセスにリンクされるオブジェクトは -D_THREADSAFE 付きで
+コンパイルする必要があります。
+.TP
+.BI "\-kthread"
+スレッド化カーネルプロセスに libc に加えて libpthread をリンクします。
+スレッド化カーネルプロセスにリンクされるオブジェクトは -D_THREADSAFE 付きで
+コンパイルする必要があります。
.na
.TP
.B 全体的なオプション
.br
\-c
\-S
\-E
.RI "\-o " file
\-pipe
\-v
.RI "\-x " language
.TP
.B 言語オプション
\-ansi
\-fall\-virtual
\-fcond\-mismatch
\-fdollars\-in\-identifiers
\-fenum\-int\-equiv
\-fexternal\-templates
\-fno\-asm
\-fno\-builtin
\-fno\-strict\-prototype
\-fsigned\-bitfields
\-fsigned\-char
\-fthis\-is\-variable
\-funsigned\-bitfields
\-funsigned\-char
\-fwritable\-strings
\-traditional
\-traditional\-cpp
\-trigraphs
.TP
.B 警告オプション
\-fsyntax\-only
\-pedantic
\-pedantic\-errors
\-w
\-W
\-Wall
\-Waggregate\-return
\-Wcast\-align
\-Wcast\-qual
\-Wchar\-subscript
\-Wcomment
\-Wconversion
\-Wenum\-clash
\-Werror
\-Wformat
.RI \-Wid\-clash\- len
\-Wimplicit
\-Winline
\-Wmissing\-prototypes
\-Wmissing\-declarations
\-Wnested\-externs
\-Wno\-import
\-Wparentheses
\-Wpointer\-arith
\-Wredundant\-decls
\-Wreturn\-type
\-Wshadow
\-Wstrict\-prototypes
\-Wswitch
\-Wtemplate\-debugging
\-Wtraditional
\-Wtrigraphs
\-Wuninitialized
\-Wunused
\-Wwrite\-strings
.TP
.B デバッグオプション
\-a
.RI \-d letters
\-fpretend\-float
\-g
.RI \-g level
\-gcoff
\-gxcoff
\-gxcoff+
\-gdwarf
\-gdwarf+
\-gstabs
\-gstabs+
\-ggdb
\-p
\-pg
\-save\-temps
.RI \-print\-file\-name= library
\-print\-libgcc\-file\-name
.TP
.B 最適化オプション
\-fcaller\-saves
\-fcse\-follow\-jumps
\-fcse\-skip\-blocks
\-fdelayed\-branch
\-felide\-constructors
\-fexpensive\-optimizations
\-ffast\-math
\-ffloat\-store
\-fforce\-addr
\-fforce\-mem
\-finline\-functions
\-fkeep\-inline\-functions
\-fmemoize\-lookups
\-fno\-default\-inline
\-fno\-defer\-pop
\-fno\-function\-cse
\-fno\-inline
\-fno\-peephole
\-fomit\-frame\-pointer
\-frerun\-cse\-after\-loop
\-fschedule\-insns
\-fschedule\-insns2
\-fstrength\-reduce
\-fthread\-jumps
\-funroll\-all\-loops
\-funroll\-loops
\-O
\-O2
.TP
.B プリプロセッサオプション
.RI \-A assertion
\-C
\-dD
\-dM
\-dN
.RI \-D macro [\|= defn \|]
\-E
\-H
.RI "\-idirafter " dir
.RI "\-include " file
.RI "\-imacros " file
.RI "\-iprefix " file
.RI "\-iwithprefix " dir
\-M
\-MD
\-MM
\-MMD
\-nostdinc
\-P
.RI \-U macro
\-undef
.TP
.B アセンブラオプション
.RI \-Wa, option
.TP
.B リンカオプション
.RI \-l library
\-nostartfiles
\-nostdlib
\-static
\-shared
\-symbolic
.RI "\-Xlinker\ " option
.RI \-Wl, option
.RI "\-u " symbol
.TP
.B ディレクトリオプション
.RI \-B prefix
.RI \-I dir
\-I\-
.RI \-L dir
.TP
.B ターゲットオプション
.RI "\-b " machine
.RI "\-V " version
.TP
.B コンフィギュレーション依存オプション
.I M680x0\ オプション
.br
\-m68000
\-m68020
\-m68020\-40
\-m68030
\-m68040
\-m68881
\-mbitfield
\-mc68000
\-mc68020
\-mfpa
\-mnobitfield
\-mrtd
\-mshort
\-msoft\-float
.Sp
.I VAX オプション
.br
\-mg
\-mgnu
\-munix
.Sp
.I SPARC オプション
.br
\-mepilogue
\-mfpu
\-mhard\-float
\-mno\-fpu
\-mno\-epilogue
\-msoft\-float
\-msparclite
\-mv8
\-msupersparc
\-mcypress
.Sp
.I Convex オプション
.br
\-margcount
\-mc1
\-mc2
\-mnoargcount
.Sp
.I AMD29K オプション
.br
\-m29000
\-m29050
\-mbw
\-mdw
\-mkernel\-registers
\-mlarge
\-mnbw
\-mnodw
\-msmall
\-mstack\-check
\-muser\-registers
.Sp
.I M88K オプション
.br
\-m88000
\-m88100
\-m88110
\-mbig\-pic
\-mcheck\-zero\-division
\-mhandle\-large\-shift
\-midentify\-revision
\-mno\-check\-zero\-division
\-mno\-ocs\-debug\-info
\-mno\-ocs\-frame\-position
\-mno\-optimize\-arg\-area
\-mno\-serialize\-volatile
\-mno\-underscores
\-mocs\-debug\-info
\-mocs\-frame\-position
\-moptimize\-arg\-area
\-mserialize\-volatile
.RI \-mshort\-data\- num
\-msvr3
\-msvr4
\-mtrap\-large\-shift
\-muse\-div\-instruction
\-mversion\-03.00
\-mwarn\-passed\-structs
.Sp
.I RS6000 オプション
.br
\-mfp\-in\-toc
\-mno\-fop\-in\-toc
.Sp
.I RT オプション
.br
\-mcall\-lib\-mul
\-mfp\-arg\-in\-fpregs
\-mfp\-arg\-in\-gregs
\-mfull\-fp\-blocks
\-mhc\-struct\-return
\-min\-line\-mul
\-mminimum\-fp\-blocks
\-mnohc\-struct\-return
.Sp
.I MIPS オプション
.br
\-mcpu=\fIcpu type\fP
\-mips2
\-mips3
\-mint64
\-mlong64
\-mlonglong128
\-mmips\-as
\-mgas
\-mrnames
\-mno\-rnames
\-mgpopt
\-mno\-gpopt
\-mstats
\-mno\-stats
\-mmemcpy
\-mno\-memcpy
\-mno\-mips\-tfile
\-mmips\-tfile
\-msoft\-float
\-mhard\-float
\-mabicalls
\-mno\-abicalls
\-mhalf\-pic
\-mno\-half\-pic
\-G \fInum\fP
\-nocpp
.Sp
.I i386 オプション
.br
\-m486
\-mno\-486
\-msoft\-float
\-mrtd
\-mregparm
\-msvr3\-shlib
\-mno\-ieee\-fp
\-mno\-fp\-ret\-in\-387
\-mfancy\-math\-387
\-mno\-wide\-multiply
\-mdebug\-addr
\-mno\-move
\-mprofiler\-epilogue
\-reg\-alloc=LIST
.Sp
.I HPPA オプション
.br
\-mpa\-risc\-1\-0
\-mpa\-risc\-1\-1
\-mkernel
\-mshared\-libs
\-mno\-shared\-libs
\-mlong\-calls
\-mdisable\-fpregs
\-mdisable\-indexing
\-mtrailing\-colon
.Sp
.I i960 オプション
.br
\-m\fIcpu-type\fP
\-mnumerics
\-msoft\-float
\-mleaf\-procedures
\-mno\-leaf\-procedures
\-mtail\-call
\-mno\-tail\-call
\-mcomplex\-addr
\-mno\-complex\-addr
\-mcode\-align
\-mno\-code\-align
\-mic\-compat
\-mic2.0\-compat
\-mic3.0\-compat
\-masm\-compat
\-mintel\-asm
\-mstrict\-align
\-mno\-strict\-align
\-mold\-align
\-mno\-old\-align
.Sp
.I DEC Alpha オプション
.br
\-mfp\-regs
\-mno\-fp\-regs
\-mno\-soft\-float
\-msoft\-float
.Sp
.I System V オプション
.br
\-G
\-Qy
\-Qn
.RI \-YP, paths
.RI \-Ym, dir
.TP
.B コード生成オプション
.RI \-fcall\-saved\- reg
.RI \-fcall\-used\- reg
.RI \-ffixed\- reg
\-finhibit\-size\-directive
\-fnonnull\-objects
\-fno\-common
\-fno\-ident
\-fno\-gnu\-linker
\-fpcc\-struct\-return
\-fpic
\-fPIC
\-freg\-struct\-return
\-fshared\-data
\-fshort\-enums
\-fshort\-double
\-fvolatile
\-fvolatile\-global
\-fverbose\-asm
.ad b
.hy 1
.SH 全体的なオプション
.TP
.BI "\-x " "language"
このオプションに続く入力ファイルの言語を
.I language\c
\& であると明示的に指定します
(拡張子に基づくデフォルトの選択よりも優先されます)。このオプションは、
次の `\|\c
.B \-x\c
\&\|' オプションが出てくるまで、後続する全ての入力ファイルに対して
適用されます。\c
.I language\c
\& としては、
`\|\c
.B c\c
\&\|', `\|\c
.B objective\-c\c
\&\|', `\|\c
.B c\-header\c
\&\|', `\|\c
.B c++\c
\&\|',
`\|\c
.B cpp\-output\c
\&\|', `\|\c
.B assembler\c
\&\|', `\|\c
.B assembler\-with\-cpp\c
\&\|' を指定することが可能です。
.TP
.B \-x none
言語の指定を解除します。このオプションのあとに続くファイルは、それらの拡張子に
基づいて (あたかも何の `\|\c
.B \-x\c
\&\|'
オプションも使用されたことがないように) 処理されます。
.PP
もし、4 つのステージ (プリプロセス、コンパイル、アセンブル、リンク) の
うちの一部のみが必要な場合は、
`\|\c
.B \-x\c
\&\|' オプション (またはファイル名の拡張子) を使用して \c
.B gcc\c
\& に対してどのステージから開始するかを伝え、さらに
`\|\c
.B \-c\c
\&\|', `\|\c
.B \-S\c
\&\|', `\|\c
.B \-E\c
\&\|' のオプションのうちのどれかを使用して
.B gcc\c
\& に対してどこで処理を停止させるかを指定します。ここで、
いくつかの組合せ (例えば
`\|\c
.B \-x cpp\-output \-E\c
\&\|') は \c
.B gcc\c
\& に対して何の動作も行なわないように指定することになることに注意してください。
.TP
.B \-c
ソースファイルを、コンパイルまたはアセンブルまではしますが、リンクはしません。
コンパイラの出力は、それぞれのソースファイルに対応したオブジェクトファイル
となります。
.Sp
デフォルトでは、GCC はオブジェクトファイルのファイル名として、
ソースファイルの拡張子
`\|\c
.B .c\c
\&\|', `\|\c
.B .i\c
\&\|', `\|\c
.B .s\c
\&\|' 等を `\|\c
.B .o\c
\&\|' で置き換えたものを使用します。
.B \-o\c
\& オプションを使用することによって、他の名前を指定することも可能です。
.Sp
GCC は
.B \-c
オプションを使用した場合は、理解できない入力ファイル (コンパイルやアセンブル
を必要としないファイル) を無視します。
.TP
.B \-S
コンパイルが終った所で処理を停止し、アセンブルは行いません。
アセンブラコードではない入力ファイルが指
定された場合は、出力はアセンブラコードのファイルになります。
.Sp
デフォルトでは、GCC はアセンブラファイルのファイル名として、
ソースファイルの拡張子
`\|\c
.B .c\c
\&\|', `\|\c
.B .i\c
\&\|' 等を `\|\c
.B .s\c
\&\|' で置き換えたものを使用します。
.B \-o\c
\& オプションを使用することによって、他の名前を指定することも可能です。
.Sp
GCC はコンパイルを必要としない入力ファイルを全て無視します。
.TP
.B \-E
プリプロセス処理が終了したところで停止します。コンパイルはしません。
出力はプリプロセス済みのソースコードであり、標準出力へと送られます。
.Sp
GCC はプリプロセスを必要としない入力ファイルを全て無視します。
.TP
.BI "\-o " file
出力先を \c
.I file\c
\& に指定します。このオプションは GCC が実行可能ファイル、
オブジェクトファイル、アセンブラファイル、プリプロセス済み C コードなどの、
いかなる種類の出力を行なう場合にも適用可能です。
.Sp
出力ファイルは 1 つしか指定できないため、
`\|\c
.B \-o\c
\&\|' を複数の入力ファイルをコンパイルする際に使用することは、実行ファ
イルを出力する時以外は無意味です。
.Sp
`\|\c
.B \-o\c
\&\|'オプションを指定しなかった場合のデフォルトは、実行ファイルを作る場
合は `\|\c
.B a.out\c
\&\|' という名前であり、`\|\c
.I source\c
.B \&.\c
.I suffix\c
\&\c
\&\|' の形式のファイル名を持ったソースファイルのオブジェクトファイルは
`\|\c
.I source\c
.B \&.o\c
\&\|' であり、アセンブラのファイルは `\|\c
.I source\c
.B \&.s\c
\&\|' です。
プリプロセス済みの C 言語は、全て標準出力に送られます。
.TP
.B \-v
(標準エラー出力に対して) コンパイルの各ステージで実行されるコマンドを
表示します。コンパイラドライバ、プリプロセッサおよび本来のコンパイラの
各バージョン番号も表示します。
.TP
.B -pipe
コンパイル時のステージの間のデータの受け渡しに、テンポラリファイルではなく
パイプを使用します。いくつかのシステムではアセンブラがパイプからの入力を受け
付けることができないために、このオプションを指定すると失敗します。
GNU アセンブラでは問題なく使用できます。
.PP
.SH 言語オプション
.TP
以下のオプションは、コンパイラが受け付ける C の方言に関する制御を行ないます:
.TP
.B \-ansi
全ての ANSI 標準の C プログラムをサポートします。
.Sp
このオプションは、GNU C が持つ ANSI C との非互換な機能を全て排除します。
例えば、\c
.B asm\c
\&, \c
.B inline\c
\&, \c
.B typeof
などのキーワードや、\c
.B unix\c
\& や \c
.B vax
などの現在使用しているシステムを規定する定義済みマクロなどが抑制されます。
さらに、好ましくなくかつほとんど使用されない ANSI のトライグラフの機能を使
用可能とし、さらに `\|\c
.B $\c
\&\|' を識別子の一部として使用できないようにします。
.Sp
代替キーワードである\c
.B _\|_asm_\|_\c
\&, \c
.B _\|_extension_\|_\c
\&,
.B _\|_inline_\|_\c
\&, \c
.B _\|_typeof_\|_\c
\& は、
`\|\c
.B \-ansi\c
\&\|' が指定された場合でも使用することが可能です。もちろん、
これらを ANSI C プログラムで使用することが望ましくないのは当然ですが、`\|\c
.B \-ansi\c
\&\|' をつけてコンパイルされる場合でも、インクルードされるヘッダファイル中に
これらが記述できるということは有用です。
\c
.B _\|_unix_\|_\c
\& や \c
.B _\|_vax_\|_\c
\& などの代替定義済みマクロは、
`\|\c
.B \-ansi\c
\&\|' を指定する場合でも指定しない場合でも、利用可能となっています。
.Sp
`\|\c
.B \-ansi\c
\&\|' オプションは、ANSI 準拠でないプログラムを不必要に拒否することは
ありません。もしこのような動作を行なわせたい場合には`\|\c
.B \-ansi\c
\&\|'に加えて\c
.B \-pedantic\c
\&\|' オプションを指定する必要があります。
.Sp
プリプロセッサ定義済みマクロ \c
.B _\|_STRICT_ANSI_\|_\c
\& が `\|\c
.B \-ansi\c
\&\|'
オプションを使用した際には定義されます。いくつかのヘッダファイルは、この
マクロを識別して、ANSI 標準が望まない関数やマクロの定義を抑制します。
これは、
それらの関数やマクロと同じ名前を別の目的で使用するプログラム
を混乱させないようにするためです。
.TP
.B \-fno\-asm
\c
.B asm\c
\&, \c
.B inline\c
\&, \c
.B typeof\c
\& をキーワードとして解釈しません。
これらの単語は識別子として解釈されるようになります。これらの代用として
\c
.B _\|_asm_\|_\c
\&, \c
.B _\|_inline_\|_\c
\&, \c
.B _\|_typeof_\|_\c
\& が使用できます。
`\|\c
.B \-ansi\c
\&\|' を指定すると、暗黙のうちに `\|\c
.B \-fno\-asm\c
\&\|' を指定したものとみなされます。
.TP
.B \-fno\-builtin
ビルトイン関数のうち、2 つのアンダースコアで始まるもの以外を認識しなくなり
ます。現在、この指定は\c
.B _exit\c
\&,
.B abort\c
\&, \c
.B abs\c
\&, \c
.B alloca\c
\&, \c
.B cos\c
\&, \c
.B exit\c
\&,
.B fabs\c
\&, \c
.B labs\c
\&, \c
.B memcmp\c
\&, \c
.B memcpy\c
\&, \c
.B sin\c
\&,
.B sqrt\c
\&, \c
.B strcmp\c
\&, \c
.B strcpy\c
\&, \c
.B strlen\c
\& の関数に影響を及ぼします。
.Sp
`\|\c
.B \-ansi\c
\&\|' オプションを指定すると、\c
.B alloca\c
\& と \c
.B _exit\c
\& はビルトイン関数として扱われなくなります。
.TP
.B \-fno\-strict\-prototype
`\|\c
.B int foo
();\c
\&\|' のような、引数を指定しない関数宣言を、C 言語のように引数の数や
型について何の仮定もしないという扱いにします (C++ のみ)。通常はこのよう
な宣言は、C++ では \c
.B foo\c
\& という関数が 1 つも引数をとらないことを意味します。
.TP
.B \-trigraphs
ANSI C のトライグラフを使用可能とします。`\|\c
.B \-ansi\c
\&\|' オプションを指定すると、暗黙のうちに `\|\c
.B \-trigraphs\c
\&\|' を指定したものとみなされます。
.TP
.B \-traditional
伝統的な C コンパイラのいくつかの特徴をサポートします。詳しくは GNU C の
マニュアルを参照してください。以前はここにそのリストの複製を載せていましたが、
それらが完全に時代遅れになった時に我々に文句が来ないように削除してしまいま
した。
.Sp
しかし、C++ のプログラムだけについて (C ではありません) 特記しておくこと
が 1 つあります。
`\|\c
.B \-traditional\c
\&\|' オプションは C++ に対して 1 つだけ特別な効果を持ちます。それは、
.B this
への代入を許可するというものです。これは `\|\c
.B \-fthis\-is\-variable\c
\&\|'オプションの指定が及ぼす効果と同一のものです。
.TP
.B \-traditional\-cpp
伝統的な C プリプロセッサのいくつかの特徴をサポートします。これは上に挙
げた中で特にプリプロセッサに関係したものを含みますが、
`\|\c
.B \-traditional\c
\&\|' の指定によって引き起こされる以外の効果を及ぼすことはありません。
.TP
.B \-fdollars\-in\-identifiers
識別子中の `\|\c
.B $\c
\&\|' の使用を許可します (C++ のみ)。
`\|\c
.B \-fno\-dollars\-in\-identifiers\c
\&\|' を使用することによって、明示的に
`\|\c
.B $\c
\&\|'の使用を禁止することも可能です。(GNU C++ では、デフォルトで `\|\c
.B $\c
\&\|' を許可しているシステムと禁止しているシステムがあります)。
.TP
.B \-fenum\-int\-equiv
\c
.B int\c
\& から列挙型への暗黙の変換を許可します (C++ のみ)。通常は GNU C++ は \c
.B enum\c
\& から \c
.B int\c
\& への変換は許可していますが、
逆は許していません。
.TP
.B \-fexternal\-templates
テンプレート関数について、その関数が定義された場所にのみ単一のコピー
を生成することによって、テンプレート宣言に対してより小さなコードを生成
します (C++ のみ)。このオプションを使用して正しいコードを得るためには、
テンプレートを使用する全てのファイルにおいて、`\|\c
.B #pragma implementation\c
\&\|' (定義) または
`\|\c
.B #pragma interface\c
\&\|' (宣言) を記述しておく必要があります。
`\|\c
.B \-fexternal\-templates\c
\&\|' を指定してコンパイルを行なう場合には、全てのテンプレートの
実体は external となります。全ての使用される実体はインプリメンテーション
ファイル中にまとめて記述しておかなければなりません。これはその必要とされ
る実体に対応した \c
.B typedef\c
\& 宣言を行なうことによって実現できます。
逆に、デフォルトのオプション
`\|\c
.B \-fno\-external\-templates\c
\&\|' でコンパイルした場合には全てのテンプレートの実体は internal と
なります。
.TP
.B \-fall\-virtual
可能な限り全てのメンバ関数を暗黙のうちに仮想関数として扱います。
全てのメンバ関数 (コンストラクタと
.B new
,
.B delete
メンバ演算子を除きます) は、出現した時点でそのクラスの仮想関数とし
て扱われます。
.Sp
これは、これらのメンバ関数への全ての呼び出しが仮想関数のための内部
テーブルを参照して間接的に決定されるということを意味しません。特定の状況
においては、コンパイラは与えられた仮想関数への呼び出しを直接決定できます。
このような場合にはその関数呼び出しは常に直接呼び出しとなります。
.TP
.B \-fcond\-mismatch
条件演算子の第 2, 第 3 引数の型が異なる記述を許します。このような式の型は void
となります。
.TP
.B \-fthis\-is\-variable
\c
.B this\c
\& への代入を許可します (C++ のみ)。ユーザ定義による記憶管理が可
能となった現在では、
`\|\c
.B this\c
\&\|' への代入は時代遅れのものとなりました。従ってデフォルトでは、クラスの
メンバ関数からの \c
.B this\c
\& への代入は不当なものとして扱われています。しかし、後方互換性のために、
`\|\c
.B \-fthis-is-variable\c
\&\|' を指定することによってこの効果を得ることができます。
.TP
.B \-funsigned\-char
\c
.B char\c
\& 型を \c
.B unsigned char\c
\& のように符号無しとして扱います。
.Sp
それぞれのマシンには
\c
.B char\c
\& がどちらであるべきかというデフォルトがあります。
デフォルトで \c
.B unsigned char\c
\& であることもあれば、デフォルトで
.B signed char\c
\& であることもあります。
.Sp
理想的には、可搬性のあるプログラムは、オブジェクトの符号の有無に依
存する記述を行なう場合には常に \c
.B signed char\c
\&、もしくは
.B unsigned char\c
\& を使用すべきです。
しかし実際には多くのプログラムが単なる \c
.B char\c
\& を用いて記述されており、さらにそのプログラムを記述した
環境に依存して、符号付きである、あるいは符号無しであるという暗黙の仮定が
行なわれています。このオプション、あるいはこの逆のオプションは、デフォル
トと逆の動作を行なわせることにより、これらのプログラムを正しく動作させ
ることを可能にします。
.Sp
\c
.B char\c
\& 型は常に
.B signed char\c
\& あるいは \c
.B unsigned char\c
\& とは区別された型として扱われます。常にそれらの振舞いがそのどち
らかと全く同じであるということに関わらず、このような扱いを行います。
.TP
.B \-fsigned\-char
\c
.B char\c
\& 型を \c
.B signed char\c
\& 型のように符号付きとして扱います。
.Sp
ただし、このオプションは `\|\c
.B \-fno\-unsigned\-char\c
\&\|' と等価です。これは `\|\c
.B \-funsigned\-char\c
\&\|'の否定形です。同様に
`\|\c
.B \-fno\-signed\-char\c
\&\|' は `\|\c
.B \-funsigned\-char\c
\&\|' と等価です。
.TP
.B \-fsigned\-bitfields
.TP
.B \-funsigned\-bitfields
.TP
.B \-fno\-signed\-bitfields
.TP
.B \-fno\-unsigned\-bitfields
これらのオプションは、明示的に
`\|\c
.B signed\c
\&\|' または `\|\c
.B unsigned\c
\&\|' の指定が行なわれていないビットフィールドに対して、符号つきであるかある
いは符号なしであるかを制御します。デフォルトではこのようなビットフィール
ドは符号つきとなっています。なぜなら、
.B int\c
\& のような基本的な型は符号つきであるという点で、整合性がとれるからです。
.Sp
ただし、`\|\c
.B \-traditional\c
\&\|' を指定した場合は、ビットフィールドは常に全て符号無しであるとされます。
.TP
.B \-fwritable\-strings
文字列定数を書き込み可能なデータセグメントに配置し、同内容の文字列を 1
つの共有オブジェクトにする処理を行いません。これは、文字定数に書き込む
ことができることを仮定した昔のプログラムとの互換性をとるために提供され
ています。`\|\c
.B \-traditional\c
\&\|' オプションも同様の効果を含みます。
.Sp
文字定数に書き込むという考えは非常によくない考えです。\*(lq定数\*(rq
はまさに定数であり、変化すべきではありません。
.PP
.SH プリプロセッサオプション
これらのオプションは C プリプロセッサを制御します。
各 C ソースファイルは、実際にコンパイルする前に、C プリプロセッサに
かけられます。
.PP
`\|\c
.B \-E\c
\&\|' オプションを使用すると、GCC はプリプロセス以外の処理を行いません。
以下に示すオプションのうちのいくつかは、`\|\c
.B \-E\c
\&\|' と同時に使用された時のみ意味をもちます。なぜならば、これらのオプション
によって、実際のコンパイルには不適当なプリプロセッサ出力が生成されるためです。
.TP
.BI "\-include " "file"
\c
.I file\c
\& を、通常の入力ファイルが処理される前に処理します。結果的に \c
.I file\c
\& に含まれる内容は、一番最初にコンパイルされることになります。コマンドラ
インに指定されたすべての `\|\c
.B \-D\c
\&\|'
や `\|\c
.B \-U\c
\&\|' オプションは、その記述された順番に関わらず常に `\|\c
.B \-include \c
.I file\c
\&\c
\&\|' が処理される前に処理されます。全ての `\|\c
.B \-include\c
\&\|' や `\|\c
.B \-imacros\c
\&\|' オプションは、それらが記述された順番通りに処理されます。
.TP
.BI "\-imacros " file
通常の入力ファイルを処理する前に\c
.I file\c
\& を入力として処理しますが、その結果の出力を捨てます。
.I file\c
\& によって生成された出力は捨てられるため、`\|\c
.B \-imacros \c
.I file\c
\&\c
\&\|' の処理結果の影響は、\c
.I file\c
\& 中に記述されたマクロがメインの入力ファイル中で使用可能になることだけです。
プリプロセッサは、`\|\c
.B \-imacros \c
.I file\c
\&\|' が記述された順番に関わらず、これを処理する前に、
コマンドラインから与えられた全ての `\|\c
.B \-D\c
\&\|' や `\|\c
.B \-U\c
\&\|' オプションを評価します。全ての `\|\c
.B \-include\c
\&\|' および `\|\c
.B \-imacros\c
\&\|'
オプションは、それらが記述された順番通りに処理されます。
.TP
.BI "\-idirafter " "dir"
ディレクトリ \c
.I dir\c
\& を第 2 インクルードパスに加えます。第 2 インクルードパス中のディレクトリは、
メインインクルードパス (オプション
`\|\c
.B \-I\c
\&\|' によって追加されます) 中にヘッダファイルを探した結果発見できな
かった場合に検索されます。
.TP
.BI "\-iprefix " "prefix"
\c
.I prefix\c
\& を、その後に続く `\|\c
.B \-iwithprefix\c
\&\|'
オプション用のプレフィックスとして使用します。
.TP
.BI "\-iwithprefix " "dir"
ディレクトリを第 2 インクルードパスに追加します。ディレクトリ名は \c
.I prefix\c
\& と \c
.I dir\c
\& を連結することによって得られます。ここで \c
.I prefix
は、`\|\c
.B \-iprefix\c
\&\|' オプションによって指定されたものです。
.TP
.B \-nostdinc
ヘッダファイルのための標準のシステムディレクトリを検索しません。`\|\c
.B \-I\c
\&\|' オプションによって指定したディレクトリ (またはカレントディレクト
リ) のみを検索します。
.Sp
`\|\c
.B \-nostdinc\c
\&\|' と `\|\c
.B \-I\-\c
\&\|'を使用することにより、インクルードファイルの検索パスを明示的に指
定したディレクトリのみに限定することが可能となります。
.TP
.B \-nostdinc++
ヘッダファイルの検索に、C++\-固有の標準ディレクトリを用いません。ただ
しそれ以外の標準ディレクトリは検索されます。
(このオプションは `\|\c
.B libg++\c
\&\|' の構築に使用されます。)
.TP
.B \-undef
標準でない定義済みマクロ(アーキテクチャフラグも含めて)を定義しません。
.TP
.B \-E
C プリプロセッサの処理のみを行います。指定された全ての C のソースファイル
に対してプリプロセスを行ない、標準出力、または指定された出力ファイルに
対して出力を行います。
.TP
.B \-C
プリプロセッサに対してコメントの削除を行なわないように指示します。
`\|\c
.B \-E\c
\&\|' オプションとともに使用されます。
.TP
.B \-P
プリプロセッサに対して `\|\c
.B #line\c
\&\|' コマンドを生成しないように指示します。
`\|\c
.B \-E\c
\&\|' オプションとともに使用されます。
.TP
.B \-M\ [ \-MG ]
プリプロセッサに対して\c
.B make
で使用可能な、オブジェクト間の依存関係を記述した出力を生成するように指示
します。それぞれのソースファイルに対して、プリプロセッサは\c
.B make\c
\& のための規則を 1 つ出力します。この出力は、ターゲットとして
そのソースファイルから生成されるオブジェクトファイルのファイル名をとり、
依存するファイルのリストとしては
`\|\c
.B #include\c
\&\|' によってソースファイルに
読み込まれる全てのファイルの名前が並びます。この
規則は 1 行、あるいは長い場合には`\|\c
.B \e\c
\&\|' と改行を入れて複数行で出力されます。この規則のリストは、プリプロセス済
みの C プログラムのかわりに、標準出力へと出力されます。
.Sp
`\|\c
.B \-M\c
\&\|' は暗黙のうちに `\|\c
.B \-E\c
\&\|' を含みます。
.Sp
`\|\c
.B \-MG\c
\&\|' を指定すると、見つからないヘッダファイルは生成されたファイルであり、
それらはソースファイルと同じディレクトリに存在するとみなします。
これは `\|\c
.B \-M\c
\&\|' と同時に指定しなければなりません。
.TP
.B \-MM\ [ \-MG ]
`\|\c
.B \-M\c
\&\|' と似ていますが、`\|\c
.B
#include "\c
.I file\c
.B
\&"\c
\&\|'によってインクルードされるユーザ定義のヘッダファイルのみを対象に
した出力ファイルを生成します。`\|\c
.B
#include <\c
.I file\c
.B
\&>\c
\&\|' によってインクルードされるシステムヘッダファイルは省略されます。
.TP
.B \-MD
`\|\c
.B \-M\c
\&\|' と似ていますが、依存情報は出力ファイル名の最後の `\|\c
.B .o\c
\&\|' を `\|\c
.B .d\c
\&\|' に置き換えたファイル名のファイルに対して出力されます。
\&`\|\c
.B \-MD\c
\&\|' を指定したファイルのコンパイルもこれに加えて行なわれ、
`\|\c
.B \-M\c
\&\|' のように通常のコンパイルを抑制することはありません。
.Sp
Mach のユーティリティである`\|\c
.B md\c
\&\|' は、これらの複数の `\|\c
.B .d\c
\&\|' ファイルを `\|\c
.B make\c
\&\|'
コマンドによって使用できる単一の依存記述ファイルへとマージするのに使用
することができます。
.TP
.B \-MMD
`\|\c
.B \-MD\c
\&\|' と似ていますが、ユーザヘッダファイルのみを対象とし、システムヘッダ
ファイルを無視します。
.TP
.B \-H
通常の動作に加えて、使用されたヘッダファイルの名前を表示します。
.TP
.BI "\-A" "question" ( answer )
.I question\c
に対するアサーション
.I answer
\& を定義します。これは `\|\c
.BI "#if #" question ( answer )\c
\&\|' のようなプリプロセッサ条件節によってテストされます。`\|\c
.B \-A\-\c
\&\|' は標準のアサーション(通常はターゲットマシンに関
する情報を表している)を禁止します。
.TP
.BI \-D macro
マクロ \c
.I macro\c
\& に対して文字列 `\|\c
.B 1\c
\&\|' を定義として与えます。
.TP
.BI \-D macro = defn
マクロ \c
.I macro\c
\& を \c
.I defn\c
\& として定義します。コマンドライン上の全ての `\|\c
.B \-D\c
\&\|' オプションは `\|\c
.B \-U\c
\&\|' オプションの処理を行なう前に処理されます。
.TP
.BI \-U macro
マクロ \c
.I macro\c
\& の定義を無効にします。`\|\c
.B \-U\c
\&\|' オプションは全ての `\|\c
.B \-D\c
\&\|' オプションの処理が終了した後、`\|\c
.B \-include\c
\&\|' と `\|\c
.B \-imacros\c
\&\|' オプションの処理の前に処理されます。
.TP
.B \-dM
プリプロセッサに対して、プリプロセス終了時に有効であったマクロの定義の
みを出力するように指示します。`\|\c
.B \-E\c
\&\|'
オプションとともに使用します。
.TP
.B \-dD
プリプロセッサに対して、全てのマクロ定義を適切な順番で出力中にそのまま
出力するように指示します。
.TP
.B \-dN
`\|\c
.B \-dD\c
\&\|' と似ていますが、マクロの引数と内容を削除します。
出力には`\|\c
.B #define \c
.I name\c
\&\c
\&\|' のみが含まれます。
.PP
.SH アセンブラオプション
.TP
.BI "\-Wa," "option"
\c
.I option\c
\& をアセンブラに対するオプションとして渡します。\c
.I option
がコンマを含む場合は、そのコンマで区切られた複数のオプションとして与え
られます。
.PP
.SH リンカオプション
これらのオプションは、コンパイラがオブジェクトファイル群をリンクして 1 つ
の実行可能ファイルを出力する際に使用されるものです。これらはコンパイラが
リンクステップを行なわない場合には意味を持ちません。
.TP
.I object-file-name
特別に認識される拡張子で終っていないファイル名は、オブジェクトファイル、
またはライブラリであると認識されます。(オブジェクトファイルとライブラリ
はリンカがその内容を参照することで区別されます。) GCC がリンクステップを
行なう場合は、これらのファイルはリンカへの入力として使用されます。
.TP
.BI \-l library
名前が
.I library\c
\& であるライブラリをリンク時に使用します。
.Sp
リンカは、標準のライブラリ用ディレクトリのリスト中から、
実際のファイル名が `\|\c
.B lib\c
.I library\c
\&.a\c
\&\|' であるファイルを検索します。リンカはこのファイルを、ファイル
名で直接指定した場合と同様に使用します。
.Sp
検索するディレクトリには、いくつかの標準システムディレクトリと、`\|\c
.B \-L\c
\&\|' によって指定したディレクトリが含まれます。
.Sp
通常、この方法で発見されるファイルはライブラリファイル、つまりいくつかの
オブジェクトファイルをメンバとして含むアーカイブファイルです。
リンカは、アーカイブファイルの中を検索して、
参照されているが定義されていないシンボルを定義しているメンバを
探し出します。
しかし、もしリンカがライブラリでなく通常のオブジェクトファイルを発見した
場合は、そのオブジェクトファイルを通常の方法でリンクします。`\|\c
.B \-l\c
\&\|' オプションを使用する場合とファイル名を直接指定する場合の違いは、`\|\c
.B \-l\c
\&\|' の場合が
.I library
を `\|\c
.B lib\c
\&\|' と `\|\c
.B .a\c
\&\|' で囲み、いくつものディレクトリを検索することだけです。
.TP
.B \-lobjc
Objective C のプログラムをリンクする場合は、この特別な
.B \-l
オプションを指定する必要があります。
.TP
.B \-nostartfiles
リンク時に、標準のシステムスタートアップファイルを使用しません。
標準ライブラリは通常通りに使用されます。
.TP
.B \-nostdlib
リンク時に、標準のシステムライブラリとスタートアップファイルを使用しません。
指定したファイルのみがリンカに渡されます。
.TP
.B \-static
ダイナミックリンクをサポートするシステムにおいて、このオプションは共有
ライブラリとのリンクを抑制します。それ以外のシステムではこのオプションは
意味を持ちません。
.TP
.B \-shared
他のオブジェクトとリンクして実行可能プログラムを形成し得る共有オブジェクトを
生成します。ごく少数のシステムでのみ、このオプションはサポートされ
ています。
.TP
.B \-symbolic
共有オブジェクトを構築する際に、グローバルなシンボルへの参照をバインド
します。全ての解決できなかった参照に対して警告を与えます
(ただしリンクエディタオプション `\|\c
.B
\-Xlinker \-z \-Xlinker defs\c
\&\|' によってこれを無効化した場合を除きます)。ごく少数のシステムでのみ、
このオプションはサポートされています。
.TP
.BI "\-Xlinker " "option"
オプション \c
.I option
をリンカに対して渡します。リンカに渡すシステム固有のオプションが、
GNU CC が理解できないものである場合に利用できます。
.Sp
引数を持ったオプションを渡したい場合は、
`\|\c
.B \-Xlinker\c
\&\|' を 2 度使用すれば可能です。1 度目でオプションを渡し、2 度目で引数を
渡します。例えば `\|\c
.B
\-assert definitions\c
\&\|' を渡すには、
`\|\c
.B
\-Xlinker \-assert \-Xlinker definitions\c
\&\|' のように記述すれば可能です。
`\|\c
.B
\-Xlinker "\-assert definitions"\c
\&\|' のように指定した場合は正常に動作しません。なぜならこれは、文字列全
体を 1 つの引数として渡してしまい、リンカの期待する形式と異なってしま
うからです。
.TP
.BI "\-Wl," "option"
オプション \c
.I option\c
\& をリンカに渡します。\c
.I option\c
\& がコンマを含む場合は、それらのコンマで複数のオプションとして分割されます。
.TP
.BI "\-u " "symbol"
シンボル
.I symbol
が未定義であるかのように振舞います。これは強制的にこのシンボルを定義してい
るライブラリモジュールをリンクするために使用します。`\|\c
.B \-u\c
\&\|' は異なったシンボルに対して複数回使用することができます。これによっ
て、さらに多くのライブラリモジュールを読み込ませることができます。
.SH ディレクトリオプション
これらのオプションは、ヘッダファイル、ライブラリ、コンパイラの一部を検
索するディレクトリを指定するために使用されます。
.TP
.BI "\-I" "dir"
ディレクトリ \c
.I dir\c
\& を、インクルードファイルの検索するディレクトリのリスト中に追加します。
.TP
.B \-I\-
`\|\c
.B \-I\-\c
\&\|' オプション指定前に `\|\c
.B \-I\c
\&\|'
オプションによって指定された全てのディレクトリは、`\|\c
.B
#include "\c
.I file\c
.B
\&"\c
\&\|' の形式によってのみ検索されます。
これらのディレクトリは `\|\c
.B
#include <\c
.I file\c
.B
\&>\c
\&\|' によっては検索されません。
.Sp
\&\|`
.B \-I\-\c
\&\|' オプション指定後に `\|\c
.B \-I\c
\&\|' で指定したディレクトリは、全ての `\|\c
.B #include\c
\&\|'
命令によって検索されます。(通常は \c
.I 全ての\c
\& `\|\c
.B \-I\c
\&\|' で指定されたディレクトリは
この方法で検索されます。)
.Sp
これに加えて `\|\c
.B \-I\-\c
\&\|' オプションは、カレントディレクトリ (現在の入力ファイルが存在する
ディレクトリ) が `\|\c
.B
#include "\c
.I file\c
.B
\&"\c
\&\|' に対する最初の検索対象となることを抑制します。`\|\c
.B \-I\-\c
\&\|' によるこの効果を上書きする方法はありません。`\|\c
.B \-I.\c
\&\|' を指定することによって、コンパイラが起動されたディレクトリが検索
されることを指定することは可能です。これはプリプロセッサが行なう
デフォルトの動作とは異なりますが、たいていはこれで十分です。
.Sp
`\|\c
.B \-I\-\c
\&\|' は、ヘッダファイルの検索に標準のシステムディレクトリを使うことを抑制
するわけではありません。
従って、`\|\c
.B \-I\-\c
\&\|' と `\|\c
.B \-nostdinc\c
\&\|' は
独立です。
.TP
.BI "\-L" "dir"
ディレクトリ\c
.I dir\c
\& を `\|\c
.B \-l\c
\&\|' による検索が行なわれるディレクトリのリストに加えます。
.TP
.BI "\-B" "prefix"
このオプションはコンパイラ自身の実行形式、ライブラリ、データファイルの
検索場所を指定します。
.Sp
コンパイラドライバはサブプログラム
`\|\c
.B cpp\c
\&\|', `\|\c
.B cc1\c
\&\|' (または C++ においては `\|\c
.B cc1plus\c
\&\|'), `\|\c
.B as\c
\&\|', そして `\|\c
.B ld\c
\&\|' を 1 つ、あるいはそれ以上起動します。コンパイラドライバは、
起動するプログラムのプレフィックスとして
.I prefix\c
\& に `\|\c
.I machine\c
.B /\c
.I version\c
.B /\c
\&\|' をつけたものとつけないものの双方を
使用します。
.Sp
コンパイラドライバは各サブプログラムの起動時に、
`\|\c
.B \-B\c
\&\|' プレフィックスの指定がある場合は、それを最初に利用します。もしその
名前が見つからなければ、または `\|\c
.B \-B\c
\&\|'
が指定されていなければ、ドライバは 2 つの標準プレフィックス `\|\c
.B /usr/lib/gcc/\c
\&\|' と `\|\c
.B /usr/local/lib/gcc-lib/\c
\&\|' を試します。このどちらにも見つからなければ、コンパイラドライバは、
環境変数 `\|\c
.B PATH\c
\&\|' のディレクトリリストを利用して、そのプログラム名を検索します。
.Sp
ランタイムサポートファイル `\|\c
.B libgcc.a\c
\&\|' も、必要ならば
`\|\c
.B \-B\c
\&\|' プレフィックスを用いて検索されます。もしそこに見つからなければ、
前記 2 つの標準プレフィックスが試みられますが、それで終りです。この場合は
リンクの対象から外されます。ほとんどの場合、またほとんどのマシンでは、`\|\c
.B libgcc.a\c
\&\|' は実際には必要ではありません。
.Sp
これと同じ効果を、環境変数
.B GCC_EXEC_PREFIX\c
\& によっても得ることができます。もしこの環境変数が定義されていれば、こ
の値がプレフィックスとして同様に使用されます。もし `\|\c
.B \-B\c
\&\|' オプションと
.B GCC_EXEC_PREFIX\c
\& 環境変数の双方が存在した場合は、`\|\c
.B \-B\c
\&\|' オプションが最初に使用され、環境変数は次に使用されます。
.SH 警告オプション
警告は、本質的に間違いであるわけではありませんが、危険な構造を報告したり、
エラーがあるかもしれないような部分を示唆する診断メッセージです。
.Sp
以下のオプションは、GNU CC が生成する警告の量と種類を制御します。
.TP
.B \-fsyntax\-only
コードの文法エラーをチェックしますが、一切出力は行いません。
.TP
.B \-w
全ての警告メッセージを抑制します。
.TP
.B \-Wno\-import
.BR #import
の利用による警告メッセージを抑制します。
.TP
.B \-pedantic
厳密な ANSI 標準 C 言語で規定している全ての警告を表示し、許されていない拡張を
使用したプログラムを全て拒否します。
.Sp
正当な ANSI 標準 C プログラムは、このオプションの有無に関わらず
コンパイルできるべきです (もっとも、ほんのわずかではありますが `\|\c
.B \-ansi\c
\&\|' を必要とするものはあります)。しかし、このオプションを使用しない場合、
GNU 拡張や伝統的な C の特徴も、これに加えてサポートされます。このオプション
を使用すれば、それらは拒絶されます。このオプションを\c
.I 使う\c
\&理由はありませんが、こだわりのある人々を満足させるためにのみ
存在しています。
.Sp
`\|\c
.B \-pedantic\c
\&\|' は、始まりと終りとが `\|\c
.B _\|_\c
\&\|' である代替キーワードの使用については、警告しません。
同様に
.B _\|_extension_\|_\c
\& に続く表現についても警告しません。しかし、システムヘッダファイルのみ
がこの抜け道を使用すべきであり、アプリケーションプログラムはこれを避け
るべきです。
.TP
.B \-pedantic\-errors
`\|\c
.B \-pedantic\c
\&\|' と似ていますが、警告のかわりにエラーを出します。
.TP
.B \-W
以下のイベントに対して、特別な警告メッセージを表示します。
.TP
\ \ \ \(bu
volatile でない自動変数が
.B longjmp\c
\& の呼び出しによって変更され得る場合です。これらの警告は、最適化コンパイル
の時のみ問題になり得ます。
.Sp
コンパイラは
.B setjmp\c
\& の呼び出しのみを見ています。コンパイラは、どこで \c
.B longjmp\c
\& が呼び出されるかを知ることはできません。実際には、シグナルハンドラは
コード中の任意の場所で
.B longjmp\c
\& を呼び出すことができます。従って、実際には \c
.B longjmp\c
\& への呼び出しが危険な部分からはおこなわれていないために問題のないプ
ログラムであっても、警告が発せられることになります。
.TP
\ \ \ \(bu
関数が、値を伴ってリターンする場合と、値を伴わずにリターンする場合の両方
が起こりうる場合です。
(関数の最後を抜けていくことは、値を伴わずに関数をリターンするとみなされます。)
例えば、次の関数がこの種類の警告を引き起こします。
.Sp
.nf
foo (a)
{
if (a > 0)
return a;
}
.Sp
.fi
ある関数 (\c
.B abort\c
\& や\c
.B longjmp\c
\& を含む)
が決してリターンしないということを GNU CC が理解できないために、にせの警告
が発生するかもしれません。
.TP
\ \ \ \(bu
式文 (expression-statement) またはコンマ式の左部分が
一切の副作用を含まない場合です。
警告を抑制するには、使用しない式を void にキャストして下さい。
例えば `\|\c
.B x[i,j]\c
\&\|' といった式は警告されますが、`\|\c
.B x[(void)i,j]\c
\&\|' は警告されません。
.TP
\ \ \ \(bu
符号無しの値が 0 と `\|\c
.B >\c
\&\|' または `\|\c
.B <=\c
\&\|' で比較される場合です。
.PP
.TP
.B \-Wimplicit
関数やパラメータに対する暗黙の宣言に対して常に警告します。
.TP
.B \-Wreturn\-type
関数の戻り値の型が、デフォルトである \c
.B int\c
\& に定義された時に常に警告します。また、戻り値の型が \c
.B void\c
でない関数内に、戻り値のない \c
.B return\c
\& 文がある場合にも常に警告します。
.TP
.B \-Wunused
ローカル変数が宣言されたにも関わらず使用されていない場合、静的に宣言さ
れた関数の実体が定義されていない場合、計算結果が明らかに
利用されていない場合に常に警告します。
.TP
.B \-Wswitch
.B switch\c
\& 文がインデックスとして列挙型をとっている時、その列挙型中のいくつ
かの値に対する \c
.B case\c
\& が欠けている場合に常に警告します。(\c
.B default\c
\& ラベルが存在する場合、この警告は出ません。) このオプションを使用した場合
には、列挙型の範囲を越えた \c
.B case\c
\& ラベルも、常に警告されます。
.TP
.B \-Wcomment
コメントの開始文字列 `\|\c
.B /\(**\c
\&\|' がコメント中に現れた時に常に警告します。
.TP
.B \-Wtrigraphs
トライグラフの出現を常に警告します (トライグラフが使用可能であると仮定します)。
.TP
.B \-Wformat
.B printf\c
\&, \c
.B scanf\c
\& などへの呼び出しに対して、与えられた引数が、フォーマット文字列の指
定を満足する型を持っているかを検査します。
.TP
.B \-Wchar\-subscripts
配列の添字の型が
.BR char
であった場合に警告します。これはよくある間違いのもとです。
いくつかのマシンにおいてはこの型が符号付きであることを、
プログラマはしばしば忘れてしまいます。
.TP
.B \-Wuninitialized
初期化されていない自動変数が使用されています。
.Sp
これらの警告は、最適化コンパイルを行なう時のみ発生します。なぜなら、
コンパイラは最適化を行なう時にのみデータフロー情報を必要とするからです。
もし `\|\c
.B \-O\c
\&\|' を指定しなかった場合は、この警告を得ることはできません。
.Sp
これらの警告は、レジスタ割り当ての対象となった変数についてのみ発生します。
従って、\c
.B volatile\c
\& であると宣言された変数や、アドレス上に割り当てられた変数、サイズが
1, 2, 4, 8 バイト以外の変数に関してはこれらの警告は発生しません。
さらに、構造体、共用体、配列については、たとえそれらがレジスタに
割り当てられたとしても、これらの警告は発生しません。
.Sp
ある変数によって計算された値が結局使用されないような変数については、一切の
警告が生じないことに注意して下さい。このような計算は、警告が表示される前に
データフロー解析によって削除されます。
.Sp
これらの警告をオプションにした理由の一つは、GNU CC がまだあまり賢くなくて、
あるコードが一見間違いを含むかのように見えても
それは実は正しいものかもしれない、
ということを GNU CC が理解できない、というものです。
ここにその 1 つの例を挙げます。
.Sp
.nf
{
int x;
switch (y)
{
case 1: x = 1;
break;
case 2: x = 4;
break;
case 3: x = 5;
}
foo (x);
}
.Sp
.fi
もし \c
.B y\c
\& の値が常に 1, 2 あるいは 3 である限りは \c
.B x\c
\& は常に
初期化されます。しかし GNU CC はこれを知ることはできません。もう 1 つの一般
的な例を挙げます。
.Sp
.nf
{
int save_y;
if (change_y) save_y = y, y = new_y;
.\|.\|.
if (change_y) y = save_y;
}
.Sp
.fi
これはバグを含みません。なぜなら \c
.B save_y\c
\& は、その値が設定された時のみ使用されるからです。
.Sp
いくつかのにせの警告は、使用している決してリターンしない関数全てに対して
.B volatile\c
\& と宣言することによって防ぐことが可能です。
.TP
.B \-Wparentheses
ある特定の文脈中で括弧が省略されていた場合に警告します。
.TP
.B \-Wtemplate\-debugging
C++ プログラムにおいてテンプレートを使用している際に、デバッグが完全に
可能でない場合を警告します (C++ のみ)。
.TP
.B \-Wall
全ての上に挙げた `\|\c
.B \-W\c
\&\|' オプションを結合したものです。これらのオプションは全て、
たとえマクロとの組合せ
であっても、避けたほうがいいと我々が推奨する用法や、
簡単に避けることができると我々が信じている用法に関するものです。
.PP
残りの `\|\c
.B \-W.\|.\|.\c
\&\|' オプションは `\|\c
.B \-Wall\c
\&\|'
によっては暗黙のうちに指定されません。なぜならこれらは、クリーンなプ
ログラムにおいても、ある状況においては使用することが妥当であると我々が
考える構造についての警告を行なうオプションだからです。
.TP
.B \-Wtraditional
伝統的な C と ANSI C において異なった振舞いをする特定の構造について警
告します。
.TP
\ \ \ \(bu
マクロ引数がマクロ本体内の文字列定数に現れるものです。これは、伝統的な C に
おいてはその引数で置換しましたが、ANSI C においては定数の一部として扱わ
れます。
.TP
\ \ \ \(bu
ブロック内で外部宣言であると宣言され、かつそのブロックの終端の後で
使用されている関数です。
.TP
\ \ \ \(bu
オペランドとして \c
.B long\c
\& 型をとる \c
.B switch\c
\& 文です。
.PP
.TP
.B \-Wshadow
ローカル変数が他のローカル変数を隠している時に常に警告します。
.TP
.BI "\-Wid\-clash\-" "len"
2 つの全く別の識別子の最初の \c
.I len
文字が一致した時に警告します。これはある種の旧式な
おばかさんコンパイラでコンパイルされ得るプログラムを作る場合に役に立ちます。
.TP
.B \-Wpointer\-arith
関数型や \c
.B void\c
\& の \*(lqサイズ\*(rq に依存するものを全て警告します。GNU C はこれらに対して、
サイズ 1 を割り当てています。これは \c
.B void \(**\c
\& ポインタと関数へのポインタにおける計算を簡便にするためです。
.TP
.B \-Wcast\-qual
ポインタが、型修飾子が削除されるようにキャストされる全ての場合に警告します。
例えば \c
.B const char \(**\c
\& を
普通の \c
.B char \(**\c
\& にキャストした場合に警告がなされます。
.TP
.B \-Wcast\-align
ポインタのキャストにおいて、そのターゲットに要求される境界条件が
大きくなるようなキャストを全て警告します。例えば \c
.B char \(**\c
\& が \c
.B int \(**\c
\& へとキャストされると、整数が 2、あるいは 4 バイト境界でしかアクセスで
きないマシンにおいては警告が発せられます。
.TP
.B \-Wwrite\-strings
文字定数に対して、型 \c
.B const char[\c
.I length\c
.B ]\c
\& を与え、非-\c
.B const\c
\& の \c
.B char \(**
ポインタへのアドレスのコピーに対して警告するようにします。この警告は、
宣言とプロトタイプにおいて \c
.B const\c
\& の使用を非常に注意深くおこなっていさえすれば、
文字列定数に書き込みをしそうなコードをコンパイル時に発見することを助けますが、
そうでない場合は有害無益な指定です。これが、我々がこの警告を `\|\c
.B \-Wall\c
\&\|' のリクエストに含めなかった理由です。
.TP
.B \-Wconversion
同じ引数が与えられた時に、プロトタイプが存在する場合とプロトタイプが
存在しない場合とで、異なった型変換を引き起こす場合について警告します。
これは固定小数点から浮動小数点への変換やその逆、デフォルトの動作と異なる固定
小数点引数の幅や符号の有無の変換が含まれます。
.TP
.B \-Waggregate\-return
構造体や共用体を返す関数を定義した場合や、
それらを呼び出す全ての場合に警告します。
(配列を返すことができる言語においても、これは警告を引き起こします。)
.TP
.B \-Wstrict\-prototypes
引数の型を指定せずに関数を宣言、あるいは定義した場合に警告します。
(以前に引数の型を指定した宣言が存在する場合には、旧式の関数宣言に対しては
警告をしません。)
.TP
.B \-Wmissing\-declarations
グローバルな関数を、その前にプロトタイプ宣言をせずに定義した場合に
警告します。
この警告は、たとえその定義自身がプロトタイプを含んでいたとしても発生します。
この警告の目的は、ヘッダファイル中にグローバル関数の定義を忘れるこ
とを防ぐことにあります。
.TP
.B \-Wredundant-decls
同一スコープ中で複数回、同一対象を宣言した場合に、たとえそれが正当で何も
変化させない場合であっても警告します。
.TP
.B \-Wnested-externs
関数内で \c
.B extern\c
\& 宣言を行なった場合に警告します。
.TP
.B \-Wenum\-clash
異なる列挙型の間で変換を行なった際に警告します (C++ のみ)。
.TP
.B \-Woverloaded\-virtual
(C++ のみ。)
導出クラスにおいて、仮想関数の定義は基底クラスで定義された仮想関数の型
の記述と一致していなければなりません。このオプションを使用することによっ
て、基底クラスにおける仮想関数と同一の名前を持ち、基底クラスのいかなる
仮想関数とも異なった型の記述を持つ関数に対して警告が行われます。これに
よって、導出クラスが仮想関数を定義しようとして失敗する場合を警告するこ
とができます。
.TP
.B \-Winline
関数がインライン宣言されている、あるいは
.B \-finline\-functions
オプションが与えられている場合に、関数をインライン展開できなかった場合
に警告します。
.TP
.B \-Werror
警告をエラーとして扱います。警告の後にコンパイルを中断します。
.SH デバッグオプション
GNU CC は、ユーザのプログラムや GCC の双方をデバッグするために、
多くのオプションを備えています。
.TP
.B \-g
オペレーティングシステムのネイティブのフォーマット (stabs, COFF,
XCOFF, DWARF) でデバッグ情報を生成します。GDB はこのデバッグ情報に基づい
て動作することができます。
.Sp
stabs フォーマットを使用するほとんどのシステムにおいては、`\|\c
.B \-g\c
\&\|' を指定すると、GDB だけが使用できる余分なデバッグ情報が使用可能に
なります。
この特別の情報は GDB に対してはよりよいデバッグを行なうことを可能
としますが、おそらく他のデバッガに対してはクラッシュ、あるいはそのプログラムを
読めなくしてしまいます。この特別な情報の生成を制御するためには `\|\c
.B \-gstabs+\c
\&\|', `\|\c
.B \-gstabs\c
\&\|',
`\|\c
.B \-gxcoff+\c
\&\|', `\|\c
.B \-gxcoff\c
\&\|', `\|\c
.B \-gdwarf+\c
\&\|', `\|\c
.B \-gdwarf\c
\&\|'
を使用してください (下記参照)。
.Sp
他の多くの C コンパイラと異なり、GNU CC は `\|\c
.B \-g\c
\&\|' を
`\|\c
.B \-O\c
\&\|' とともに使用することを許しています。最適化されたコードが通る近道は、
時には驚くべき結果を生み出すかもしれません。
定義したはずの変数が存在しなかったり、
制御の流れが予想もしなかった場所に移動したり、結果が定数とわかる計算や、
結果がすでに手元にある文は実行されなくなり、ある文がループの外に追い出されて
別の場所で実行されたりします。
.Sp
それにも関わらず、このオプションは最適化された出力のデバッグを可能とし
ています。これによって、バグを含むかもしれないプログラムに対して
オプティマイザを使用することができるようになります。
.PP
以下のオプションは、GNU CC を 1 つ以上のデバッグフォーマットを扱
えるように作成してある場合に有益です。
.TP
.B \-ggdb
(もしサポートされていれば)ネイティブのフォーマットでデバッグ情報を生成
します。これは可能な限りの全ての GDB 拡張を含みます。
.TP
.B \-gstabs
(もしサポートされていれば) stabs フォーマットでデバッグ情報を生成します。
ただし GDB 拡張は含みません。このフォーマットはほとんどの BSD システム上
の DBX で利用できるフォーマットです。
.TP
.B \-gstabs+
(もしサポートされていれば) stabs フォーマットでデバッグ情報を生成します。
ただし GNU デバッガ (GDB) でしか理解できない GNU 拡張を使用します。
この拡張を使用すると、他のデバッガでは、クラッシュや
プログラムが読めなくなるなどの影響がおそらく出ます。
.TP
.B \-gcoff
(サポートされていれば) COFF フォーマットでデバッグ情報を生成します。
これは、System V Release 4 より前の ほとんどの System V 上の
SDB で利用できるフォーマットです。
.TP
.B \-gxcoff
(サポートされていれば) XCOFF フォーマットでデバッグ情報を生成します。こ
れは IBM RS/6000 システムにおいて DBX デバッガによって使用される
フォーマットです。
.TP
.B \-gxcoff+
(もしサポートされていれば) XCOFF フォーマットでデバッグ情報の生成を行
います。ただし、GNU デバッガ (GDB) によってのみ理解され得る GNU 拡張を使
用します。これらの拡張を使用すると、他のデバッガに対してはクラッシュやプ
ログラムを読みとり不能にするなどの影響を及ぼし得ます。
.TP
.B \-gdwarf
(もしサポートされていれば) DWARF フォーマットでデバッグ情報の生成を行
います。これはほとんどの System V Release 4 システムにおいて SDB によっ
て使用される形式です。
.TP
.B \-gdwarf+
(もしサポートされていれば) DAWRF フォーマットでデバッグ情報の生成を行
います。ただし、GNU デバッガ (GDB) によってのみ理解され得る GNU 拡張を使
用します。これらの拡張を使用すると、他のデバッガに対してはクラッシュや
プログラムを読みとり不能にするなどの影響を及ぼし得ます。
.PP
.BI "\-g" "level"
.br
.BI "\-ggdb" "level"
.br
.BI "\-gstabs" "level"
.br
.BI "\-gcoff" "level"
.BI "\-gxcoff" "level"
.TP
.BI "\-gdwarf" "level"
デバッグ情報を要求しますが、同時に \c
.I level\c
\& によってどの程度の情報が必要かを指定します。デフォルトのレベルは 2 です。
.Sp
レベル 1 は、デバッグを予定しないプログラムの部分に対してバックトレース
を生成するに十分な最低限の情報を生成します。これは関数と外部変数の記述
を含みますが、ローカル変数や行番号に関する情報は含みません。
.Sp
レベル 3 はプログラムに含まれる全てのマクロ定義などの特別な情報を含みます。
いくつかのデバッガは `\|\c
.B \-g3\c
\&\|' の使用によってマクロの展開をサポートします。
.TP
.B \-p
プログラム \c
.B prof\c
\& によって使用されるプロファイル情報を書き込む特別なコードを生成します。
.TP
.B \-pg
プログラム \c
.B gprof\c
\& によって使用されるプロファイル情報を書き込む特別なコードを生成します。
.TP
.B \-a
基本ブロックのプロファイル情報を書き込む特別なコードを生成します。これは
それぞれのブロックが何回実行されたかを記録します。このデータは \c
.B tcov\c
\& のようなプログラムによって解析されます。ただし、このデータフォーマットは \c
.B tcov\c
\& が期待するものとは異なっています。最終的には、GNU \c
.B gprof\c
\& が処理できるように拡張されるべきです。
.TP
.BI "\-d" "letters"
コンパイル中の
.I letters\c
\& で指定されるタイミングに、デバッグ用のダンプを生成するように指示します。
これはコンパイラをデバッグするために使用されます。ほとんどのダンプのファイル
名はソースファイル名に 1 単語をつなげたものになります。(例えば、`\|\c
.B foo.c.rtl\c
\&\|' や `\|\c
.B foo.c.jump\c
\&\|' などです)。
.TP
.B \-dM
全てのマクロ定義をダンプし、プリプロセス終了時に出力に書き出します。
その他には何も書き出しません。
.TP
.B \-dN
全てのマクロ名をダンプし、プリプロセス終了時に出力に書き出します。
.TP
.B \-dD
全てのマクロ定義をプリプロセス終了時に通常の出力に加えてダンプします。
.TP
.B \-dy
パース中にデバッグ情報を標準エラー出力にダンプします。
.TP
.B \-dr
RTL 生成後に `\|\c
.I file\c
.B \&.rtl\c
\&\|' に対してダンプします。
.TP
.B \-dx
関数をコンパイルするかわりに、RTL を生成するのみの処理を行います。通常は
`\|\c
.B r\c
\&\|' とともに使用されます。
.TP
.B \-dj
最初のジャンプ最適化の後に、`\|\c
.I file\c
.B \&.jump\c
\&\|' に対してダンプします。
.TP
.B \-ds
共通部分式削除 (しばしば共通部分式削除に続くジャンプ最適化も含みます) の終了
時に `\|\c
.I file\c
.B \&.cse\c
\&\|' に対してダンプします。
.TP
.B \-dL
ループ最適化終了時に `\|\c
.I file\c
.B \&.loop\c
\&\|' に対してダンプします。
.TP
.B \-dt
第 2 共通部分式削除段階 (しばしば共通部分式削除に続くジャンプ最適化も
含みます) の終了時に、`\|\c
.I file\c
.B \&.cse2\c
\&\|' に対してダンプします。
.TP
.B \-df
フロー解析終了後に、`\|\c
.I file\c
.B \&.flow\c
\&\|' に対してダンプします。
.TP
.B \-dc
命令コンビネーション終了時に `\|\c
.I file\c
.B \&.combine\c
\&\|' に対してダンプします。
.TP
.B \-dS
第 1 命令スケジューリング段階終了時に `\|\c
.I file\c
.B \&.sched\c
\&\|' に対してダンプします。
.TP
.B \-dl
ローカルレジスタ割り当て終了時に `\|\c
.I file\c
.B \&.lreg\c
\&\|' に対してダンプします。
.TP
.B \-dg
グローバルレジスタ割り当て終了時に `\|\c
.I file\c
.B \&.greg\c
\&\|' に対してダンプします。
.TP
.B \-dR
第 2 命令スケジューリング段階終了時に `\|\c
.I file\c
.B \&.sched2\c
\&\|' に対してダンプします。
.TP
.B \-dJ
最終ジャンプ最適化終了時に `\|\c
.I file\c
.B \&.jump2\c
\&\|' に対してダンプします。
.TP
.B \-dd
遅延分岐スケジューリング終了時に `\|\c
.I file\c
.B \&.dbr\c
\&\|' に対してダンプします。
.TP
.B \-dk
レジスタからスタックへの転換終了時に `\|\c
.I file\c
.B \&.stack\c
\&\|' に対してダンプします。
.TP
.B \-da
以上の全てのダンプを生成します。
.TP
.B \-dm
処理の終了時に、メモリ使用に関する統計情報を標準エラー出力に出力します。
.TP
.B \-dp
どのようなパターンや選択肢が使用されたかを示すコメントをアセンブラ出力
中のコメントで解説します。
.TP
.B \-fpretend\-float
クロスコンパイラで処理を行なう際に、ホストマシンと同じ浮動小数点フォーマット
をターゲットマシンが持つかのように振舞わせます。これは浮動小数点定
数の誤った出力を引き起こしますが、実際の命令列はおそらく GNU CC を
ターゲットマシンで起動した場合と同じものとなるでしょう。
.TP
.B \-save\-temps
通常の \*(lq一時\*(rq 中間ファイルを消去せずに保存します。これらは
カレントディレクトリに置かれ、ソースファイルに基づいた名前が付けられます。
従って、`\|\c
.B foo.c\c
\&\|' を `\|\c
.B \-c \-save\-temps\c
\&\|' を使用してコンパイルした場合は、
`\|\c
.B foo.cpp\c
\&\|', `\|\c
.B foo.s\c
\&\|' が、`\|\c
.B foo.o\c
\&\|' と同様に生成されます。
.TP
.BI "\-print\-libgcc\-file\-name=" "library"
ライブラリファイル `\|\c
.nh
.I library
.hy
\&\|' の完全な絶対名を表示します。このファイルはリンクの際のみに使用され、
それ以外の働きはありません。このオプションが指定された場合は、GNU CC は
コンパイルやリンクを何も行なわず、ただファイル名を表示するのみです。
.TP
.B \-print\-libgcc\-file\-name
`\|\c
.B \-print\-file\-name=libgcc.a\c
\&\|' と同じです。
.TP
.BI "\-print\-prog\-name=" "program"
`\|\c
.B \-print\-file\-name\c
\&\|' と似ていますが、`\|\c
cpp\c
\&\|' のような program を検索します。
.SH 最適化オプション
これらのオプションは様々な種類の最適化処理を制御します。
.TP
.B \-O
.TP
.B \-O1
最適化を行います。最適化コンパイルは幾分長めの処理時間と、大きな関数に対
する非常に多くのメモリを必要とします。
.Sp
`\|\c
.B \-O\c
\&\|' が指定されなかった場合は、コンパイラの目標はコンパイルのコストを
低減することや、目的の結果を得るためのデバッグを可能とすることに置かれ
ます。それぞれの文は独立しています。つまり、ブレークポイントでプログラムを
停止させることによって、任意の変数に新し
い値を代入したり、プログラムカウンタを他の文へと変更することを可能とし、
そのソースコードにプログラマが望む正しい結果を得ることを可能にします。
.Sp
`\|\c
.B \-O\c
\&\|' を指定しなかった場合は、\c
.B register\c
\& と宣言した変数のみがレジスタへと割り当てられます。コンパイルの結果と
して得られるコードは、PCC を `\|\c
.B \-O\c
\&\|' なしで使用した場合と比較して若干良くないものとなります。
.Sp
`\|\c
.B \-O\c
\&\|' が指定されると、コンパイラはコードのサイズと実行時間を減少させる
ことを試みます。
.Sp
`\|\c
.B \-O\c
\&\|' を指定することによって、 `\|\c
.B \-fthread\-jumps\c
\&\|' と
`\|\c
.B \-fdefer\-pop\c
\&\|' のフラグが指定されます。遅延スロットをもつマシンでは `\|\c
.B \-fdelayed\-branch\c
\&\|' が指定されます。フレームポインタを使わないデバッグをサポートしている
マシンでは、`\|\c
.B \-fomit\-frame\-pointer\c
\&\|' も指定されます。マシンによってはさらにその他のフラグが
指定されることもあります。
.TP
.B \-O2
さらに最適化を行います。サポートされている最適化手段のうち、
空間と速度のトレードオフを含まないものはほとんどの全て使用されます。
例えばループのアンローリングや関数のインライン化は行われません。
.B \-O\c
\&
と比較して、このオプションはコンパイル時間と生成コードの性能の双方を増加
させます。
.TP
.B \-O3
さらなる最適化を行います。これは
.B \-O2
が行う全ての最適化手段に加えて
.B \-finline\-functions
も有効にします。
.TP
.B \-O0
最適化を行いません。
.Sp
複数の
.B \-O
オプションを指定した場合は、レベル番号の有無に関わらず、最後に指定した
ものが有効になります。
.PP
`\|\c
.B \-f\c
.I flag\c
\&\c
\&\|' の形式を持ったオプションは、マシン独立のフラグです。ほとんどの
フラグは有効形式と無効形式の双方を持っています。`\|\c
.B \-ffoo\c
\&\|' の無効形式は `\|\c
.B \-fno\-foo\c
\&\|' です。以下のリストでは、デフォルトではない方の形式のみを示します。
これに対して `\|\c
.B no\-\c
\&\|' を削除する、あるいは追加することによって双方の形式を生成すること
が可能です。
.TP
.B \-ffloat\-store
浮動小数点変数をレジスタに格納しません。このオプションは 68000 のように
(68881 の) 浮動小数点レジスタが \c
.B double\c
\& よりも高い精度を持っていると思われるマシンにおいて、望まない超過精度を
抑制することを可能にします。
.Sp
ほとんどのプログラムにおいては、超過精度は単に良い結果を生むだけですが、
いくつかのプログラムは正確な IEEE の浮動小数点フォーマット定義に依
存しています。
このようなプログラムに対して `\|\c
.B \-ffloat\-store\c
\&\|' を使用します。
.TP
.B \-fmemoize\-lookups
.TP
.B \-fsave\-memoized
コンパイルを高速に行なうために、ヒューリスティックスを使用します
(C++ のみ)。これらのヒューリスティックスはデフォルトでは有効になってい
ません。なぜなら、これはある種の入力ファイルにしか効果がなく、その他の
ファイルではかえってコンパイルが低速になるからです。
.Sp
最初に、コンパイラはメンバ関数への呼び出し (あるいはデータメンバへの参
照) を構築します。これは (1) どのクラスでその名前のメンバ関数が実装さ
れているかを決定し、(2) どのメンバ関数への呼び出しであるかという問題
(これはどの種類の型変換が必要となるかという決定も含みます) を解決し、(3)
呼び出し側に対するその関数の可視性を検査するという作業を行なう必要があります。
これらは全て、コンパイルをより低速にしてしまいます。通常は、そのメンバ
関数への 2 度目の呼び出しが起こった場合も、この長い処理がまた行なわれ
ることになります。これは次のようなコード
.Sp
\& cout << "This " << p << " has " << n << " legs.\en";
.Sp
は、これらの 3 つの手順を 6 回繰り返すということを意味します。これに対し
て、ソフトウェアキャッシュを使用すると、そのキャッシュへの\*(lqヒット
\*(rqは、コストを劇的に低減することが期待できます。不幸なことに、キャッシュ
の導入によって異なったレイヤの機構を実装することが必要となり、それ
自身のオーバヘッドが生じてしまいます。`\|\c
.B \-fmemoize\-lookups\c
\&\|' はこのソフトウェアキャッシュを有効にします。
.Sp
メンバとメンバ関数へのアクセス特権 (可視性) はある関数におけるコンテキスト
と別の関数におけるものとでは異なるので、
.B g++
はキャッシュをフラッシュしなければなりません。`\|\c
.B \-fmemoize\-lookups\c
\&\|' フラグを使用すると、全ての関数をコンパイルするたびに毎回キャッシュを
フラッシュします。`\|\c
.B \-fsave\-memoized\c
\&\|' フラグは同一のソフトウェアキャッシュについて、コンパイラが前回
コンパイルした関数のコンテキストが、次にコンパイルするコンテキストと同
一のアクセス特権を有しているとみなせる時には、キャッシュを保持します。
これは同一クラス中に多くのメンバ関数を定義している時に特に有効です。
他のクラスのフレンドになっているメンバ関数を除き、同一のクラスに属して
いる全てのメンバ関数のアクセス特権は、全て同一です。このような場合は
キャッシュをフラッシュする必要はありません。
.TP
.B \-fno\-default\-inline
クラススコープ中に定義されたメンバ関数をデフォルトでインライン関数とす
る処理を行ないません (C++ のみ)。
.TP
.B \-fno\-defer\-pop
それぞれの関数呼び出しに対して、関数のリターン直後に常に引数をポップします。
関数呼出後に引数をポップしなければならないマシンにおいては、
コンパイラは通常、いくつかの関数の引数をスタックに積んで、
それらを同時にポップします。
.TP
.B \-fforce\-mem
メモリオペランドに対して、それらに対する演算が行なわれる前に、
レジスタにコピーします。これは全てのメモリ参照を、潜在的な共通部分式であると
定めることによって、より良いコードを生成します。もしそれが共通部分式でな
かった場合は、命令コンビネーションによってレジスタへの読み込みは削
除されます。私はこれがどのような違いを生み出すかということに興味があります。
.TP
.B \-fforce\-addr
メモリアドレス定数について、それらに対する演算が行なわれる前にレジスタ
にコピーします。これは `\|\c
.B \-fforce\-mem\c
\&\|' と同じ手法でより良いコードを生成します。私はこれがどのような違いを
生み出すかということに興味があります。
.TP
.B \-fomit\-frame\-pointer
フレームポインタをレジスタに格納する必要のない関数において、この処理を
行いません。これはフレームポインタの保存、設定、復帰にかかる命令を省略
し、さらに、多くの関数でレジスタ変数として使用できる余分なレジスタを
得ることを可能にします。\c
.I ただし、このオプションはほとんどのマシンにおいてデバッグを不可能にします。
.Sp
Vax などのいくつかのマシンでは、このフラグは効果を持ちません。なぜならこ
れらのマシンでは標準の呼び出し手順が自動的にフレームポインタの設定を
行なってしまい、これが存在しないとしたところで何も節約ができないからです。
マシン記述マクロ \c
.B FRAME_POINTER_REQUIRED\c
\& が、ターゲットマシンがこのフラグをサポートするかどうかを制御しています。
.TP
.B \-finline\-functions
全ての単純な関数を呼び出し側に組み込んでしまいます。コンパイラは
ヒューリスティックスを用いて、
どの関数がこの方法で組み込むに足りるほど単純かを決定します。
.Sp
もし、ある関数に対する全ての呼び出しを組み込むことができ、かつその関数が \c
.B static\c
\& と宣言されていた場合は、GCC はその関数を独立したアセンブラコードと
しては出力をしません。
.TP
.B \-fcaller\-saves
関数呼び出しにおいて破壊されるであろう値を、レジスタに保持することを可
能とします。これはこのような呼び出しの周囲にレジスタに対する保存、復帰の
特別なコードを出力することによって実現されます。このような割り当ては、そ
れが通常よりも良いコードを出力するとみなされる場合にのみ行われます。
.Sp
このオプションは特定のマシンではデフォルトで有効となっています。これらは
通常、このオプションの処理の代わりに使うことができる呼び出し時保存
レジスタが存在しないマシンです。
.TP
.B \-fkeep\-inline\-functions
ある関数への呼び出しが全て呼び出し側に組み込むことができて、かつその関数が \c
.B static\c
\& と宣言されていたとしても、実行時に呼び出し可能な関数も生成します。
.TP
.B \-fno\-function\-cse
関数のアドレスをレジスタに置きません。つまり、定まった関数を呼び出すコードは、
それぞれ明示的な関数のアドレスを含むコードとなります。
.Sp
このオプションは効率の低いコードを生成しますが、アセンブラ出力を書き換え
るようなハックを行なう場合には、このオプションを使用しなければ
混乱させられることでしょう。
.TP
.B \-fno\-peephole
マシン固有のピープホール最適化を禁止します。
.TP
.B \-ffast-math
このオプションは生成コードのスピードのために、GCC に対して、いくつかの
ANSI または IEEE の規則/規格を侵させます。例えば、このオプションは \c
.B sqrt\c
\& 関数の引数は非負の数であることを仮定します。
.Sp
このオプションはどの `\|\c
.B \-O\c
\&\|' オプションによっても有効とされません。なぜなら、このオプションは数
学関数に関する IEEE または ANSI の規則/規格の厳密な実装に依存して書かれた
プログラムに対して誤った出力を与えるからです。
.PP
以下のオプションは特殊な最適化に関する制御を行います。`\|\c
.B \-O2\c
\&\|'
オプションは`\|\c
.B \-funroll\-loops\c
\&\|'
と `\|\c
.B \-funroll\-all\-loops\c
\&\|' を除くこれらの全てのオプションを有効にします。
.PP
`\|\c
.B \-O\c
\&\|' オプションは通常 `\|\c
.B \-fthread\-jumps\c
\&\|' と `\|\c
.B \-fdelayed\-branch\c
\&\|' を有効とします。ただし、特殊なマシンではデフォルトの最適化に対して
変更が加えられているかもしれません。
.PP
最適化に関する \*(lqきめ細かいチューニング\*(rq が必要な場合に、以下の
フラグを使用することが可能です。
.TP
.B \-fstrength\-reduce
ループのストレングスリダクションと繰り返し変数の除去を行います。
.TP
.B \-fthread\-jumps
分岐ジャンプによってある場所にジャンプした時に、最初の分岐に包括される
比較が存在した時に、最初の分岐のジャンプ先を後者の分岐先に変更します。
この変更先は、2 番目の分岐条件の真偽によって、2 番目の分岐のジャンプ先か、
あるいは2 番目の分岐の直後に定められます。
.TP
.B \-funroll\-loops
ループ展開の最適化を行います。これはループの繰り返し数がコンパイル時、
あるいはランタイムに決定できる時においてのみ、実行されます。
.TP
.B \-funroll\-all\-loops
ループ展開の最適化を行います。これは全てのループに対して行われます。この
オプションは大抵、より遅く動作するプログラムを生成します。
.TP
.B \-fcse\-follow\-jumps
共通部分式削除の処理において、ジャンプ命令の行先が
他の経路から到達できない場合は、そのジャンプ命令を越えてスキャンを行
ないます。例えば、共通部分式削除処理中に \c
.B else \c
\& 節を伴った
.B if \c
\& 文に出会った場合、条件が偽ならば分岐先に対しても共通部分式削除を続けます。
.TP
.B \-fcse\-skip\-blocks
これは `\|\c
.B \-fcse\-follow\-jumps\c
\&\|' に似ていますが、ブロックを跨ぐジャンプに対しても共通部分式削除を継
続します。共通部分式削除処理中に、else 節を持たない単純な \c
.B if\c
\& 文にであった時、
`\|\c
.B \-fcse\-skip\-blocks\c
\&\|' は \c
.B if\c
\& のボディを跨いだジャンプに対する共通部分式削除処理を継続します。
.TP
.B \-frerun\-cse\-after\-loop
ループ最適化が行なわれた後に、再度共通部分式削除の処理を行います。
.TP
.B \-felide\-constructors
コンストラクタへの呼び出しが省略できるように思われる場合に、その呼び出
しを省略します (C++ のみ)。このフラグを指
定した場合は、GNU C++ は以下のコードに対して、一時オブジェクトを経由せずに \c
.B y\c
\& を \c
.B foo
への呼び出しの結果から直接初期化します。
.Sp
A foo ();
A y = foo ();
.Sp
このオプションを使用しない場合は、GNU C++ は最初に \c
.B y\c
\& を\c
.B A\c
\& 型の適切なコンストラクタを呼び出すことによって初期化します。そして、
.B foo\c
\& の結果を一時オブジェクトに格納し、最終的には
`\|\c
.B y\c
\&\|' の値を一時オブジェクトの値に入れ換えます。
.Sp
デフォルトの振舞い (`\|\c
.B \-fno\-elide\-constructors\c
\&\|') が、ANSI C++ 標準のドラフトには規定されています。コンストラクタ
が副作用を含むプログラムに対して、`\|\c
.B \-felide-constructors\c
\&\|' を指定すると、そのプログラムは異なった動作をする可能性があります。な
ぜなら、いくつかのコンストラクタの呼び出しが省略されるからです。
.TP
.B \-fexpensive\-optimizations
比較的コストの高いいくつかの些細な最適化を行います。
.TP
.B \-fdelayed\-branch
ターゲットマシンにおいてこのフラグがサポートされている場合は、遅延分岐
命令後の命令スロットを命令の順番変更によって利用するように設定します。
.TP
.B \-fschedule\-insns
ターゲットマシンにおいてこのフラグがサポートされている場合は、必要な
データを利用可能になるまで待つことによる実行の遅滞を防ぐために、命令
の順番の変更を行います。これは遅い浮動小数点命令やメモリ読み込み命令の実
行において、それらの結果を必要とする命令の前に他の命令を詰め込みます。
.TP
.B \-fschedule\-insns2
`\|\c
.B \-fschedule\-insns\c
\&\|' と似ていますが、レジスタ割当て処理の後にもう一度命令スケジューリングの
段階を置きます。これは、比較的レジスタ数が少なく、メモリロード命令
が 1 サイクルよりも多くを要するマシンにおいて、特に効果的です。
.SH ターゲットオプション
デフォルトでは、GNU CC コンパイラは、現在使用しているマシンと同じタイプの
コードをコンパイルします。しかし、GNU CC はクロスコンパイラ
としてもインストールすることが可能です。実際には、異なったターゲット
マシンのための様々なコンフィギュレーションの GNU CC は、同時にいくつ
もインストールすることが可能です。そこで、どの GNU CC を使用するかを
指定するために、`\|\c
.B \-b\c
\&\|' オプションを使用することができます。
.PP
これに加えて、古い、あるいはより新しいバージョンの GNU CC も同時にいく
つもインストールしていくことができます。これらのうち 1 つ (おそらくもっ
とも新しいもの) がデフォルトとなります。しかし、ひょっとしたら別のものを使
いたくなるかもしれません。
.TP
.BI "\-b " "machine"
引数 \c
.I machine\c
\& は、コンパイルのターゲットマシンを規定します。これは GNU CC をクロス
コンパイラとしてインストールした時に有用です。
.Sp
.I machine\c
\& に指定する値は、GNU CC をクロスコンパイラとしてコンフィギュレーション
した時に与えたマシンタイプと同じです。例えば、80386 上の System V
で実行されるプログラムのために `\|\c
.B configure
i386v\c
\&\|' というコンフィギュレーションを行なったクロスコンパイラを起動した
い場合は、`\|\c
.B \-b i386v\c
\&\|' と指定します。
.Sp
`\|\c
.B \-b\c
\&\|' の設定を省略した場合は、通常は使用しているマシンと同タイプのマシン
のためのコンパイルが行われます。
.TP
.BI "\-V " "version"
引数 \c
.I version\c
\& は、起動される GNU CC のバージョンを規定します。これは複数のバージョンが
インストールされている場合に有用です。例えば、
.I version\c
\& が `\|\c
.B 2.0\c
\&\|' ならば、GNU CC バージョン 2.0 を起動することを意味します。
.Sp
`\|\c
.B \-V\c
\&\|' を指定しなかった場合のデフォルトのバージョンは、GNU CC をインストール
する時に調整可能です。通常は、もっとも一般的な使用に勧めることができる
バージョンがここに指定されます。
.SH マシン依存オプション
それぞれのターゲットマシンタイプは、それぞれの特別なオプションを持つ
ことが可能です。`\|\c
.B \-m\c
\&\|' で始まるオプション群は、様々なハードウェアモデルや
コンフィギュレーション\(em\&例えば 68010 と 68020、
浮動小数点コプロセッサの有無\(em\&
などを選択できます。このオプションを指定することによって、コンパイラは
どれか 1 つのモデル、
あるいはコンフィギュレーションに対するコンパイルが可能です。
.PP
いくつかのコンフィギュレーションは、通常はそのプラットホーム上の
他のコンパイラとのコマンドラインに関するの互換性をとるため
の特別なオプションを用意しています。
.PP
以下は 68000 シリーズのために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-m68000
.TP
.B \-mc68000
68000 のためのコードを生成します。これは 68000 ベースのシステムに対して
コンフィギュレーションを行なったコンパイラのデフォルトです。
.TP
.B \-m68020
.TP
.B \-mc68020
(68000 ではなく) 68020 のためのコードを生成します。これは 68020 ベースの
システムに対してコンフィギュレーションを行なったコンパイラのデフォルト
です。
.TP
.B \-m68881
浮動小数点演算のために 68881 命令を含んだ出力を行います。これはほとんどの
68020 ベースのシステムにおいて、コンパイラのコンフィギュレーション時に
.B \-nfp
を指定されなかった場合のデフォルトです。
.TP
.B \-m68030
68030 のためのコードを生成します。これは 68030 ベースのシステムに対して
コンフィギュレーションを行なったコンパイラのデフォルトです。
.TP
.B \-m68040
68040 のためのコードを生成します。これは 68040 ベースのシステムに対して
コンフィギュレーションを行なったコンパイラのデフォルトです。
.TP
.B \-m68020\-40
68040 のためのコードを生成しますが、新しい命令を使用しません。この結果とし
て得られるコードは、68020/68881, 68030, 68040 のいずれのシステムにおいても、
比較的高い性能を持ちます。
.TP
.B \-mfpa
浮動小数点演算のために Sun FPA 命令を含んだ出力を行います。
.TP
.B \-msoft\-float
浮動小数点演算のためにライブラリを呼び出す出力を行います。
.I 警告:
この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシン
の一般的な C コンパイラの提供するものを使用しますが、これは通常の方法
ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行
ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。
.TP
.B \-mshort
.B int\c
\& 型を \c
.B short int\c
\& 型のように 16 ビット幅とみなします。
.TP
.B \-mnobitfield
ビットフィールド命令を使用しません。`\|\c
.B \-m68000\c
\&\|' は暗黙のうちに
`\|\c
.B \-mnobitfield\c
\&\|' を含みます。
.TP
.B \-mbitfield
ビットフィールド命令を使用します。`\|\c
.B \-m68020\c
\&\|' は暗黙のうちに
`\|\c
.B \-mbitfield\c
\&\|' を含みます。これは変更されていないソースの場合のデフォルトです。
.TP
.B \-mrtd
固定個数の引数をとる関数に対して、異なった関数呼び出し規約を使用します。
これは、リターン時に引数をポップする \c
.B rtd
命令を利用するものです。これは呼び出し側で引数をポップさせる必要がな
いために、1 命令を省略することが可能となります。
.Sp
この呼び出し規約は通常の Unix で使用されている方式とは互換性がありません。そ
のため、Unix コンパイラでコンパイルされたライブラリを呼び出す必要があ
る限りは、使用することはできません。
.Sp
さらに、全ての可変引数をとり得る関数 (
.B printf\c
を含みます) に対して、関数プロトタイプを用意する必要があります。さもないと、
これらの関数に対して誤ったコードが生成されます。
.Sp
さらに、関数に対して多過ぎる引数をつけて呼び出すコードを書いた場合、こ
れは深刻な誤ったコードを生成します。(通常は多過ぎる変数は害を及ぼすこと
なく無視されます。)
.Sp
.B rtd\c
\& 命令は 68010 と 68020 によってサポートされますが、 68000 では使用でき
ません。
.PP
以下は Vax のために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-munix
特定のいくつかのジャンプ命令 (\c
.B aobleq\c
\& 等)
を出力しません。これらの命令で長いレンジを使用した場合、
Vax 用の Unix アセンブラはこれを処理できません。
.TP
.B \-mgnu
これらのジャンプ命令を出力します。アセンブルには GNU アセンブラの使用
を仮定します。
.TP
.B \-mg
浮動小数点数について、d-フォーマットではなく、g-フォーマットのための
コードを出力します。
.PP
以下は SPARC でサポートされている `\|\c
.B \-m\c
\&\|' スイッチです。
.PP
.B \-mfpu
.TP
.B \-mhard\-float
浮動小数点命令を含む出力を行います。これはデフォルトです。
.PP
.B \-mno\-fpu
.TP
.B \-msoft\-float
浮動小数点の処理のためにライブラリを呼び出す出力を行います。
.I 警告:
SPARC 用の GNU 浮動小数点ライブラリは存在しません。
通常はそのマシンの一般的な C コンパイラの提供するものを使用しますが、
これは通常の方法ではクロスコンパイルで直接使用することはできません。
クロスコンパイルを行ないたい場合は、
自分自身で必要なライブラリ関数を用意する必要があります。
.Sp
.B \-msoft\-float
は呼び出し規約を変更します。したがって、
.I 全て
のプログラムをこのオプションでコンパイルしない限り、
このオプションは意味をなしません。
.PP
.B \-mno\-epilogue
.TP
.B \-mepilogue
.B \-mepilogue
を指定することによって (デフォルト)、コンパイラは関数を抜けるため
のコードを常に関数の最後に出力します。関数の途中で関数を抜けるコードは全て、
関数の最後の終了コードへのジャンプとして生成されます。
.Sp
.BR \-mno\-epilogue
を設定することによって、コンパイラは関数から抜けるコードをインライン化
することを試みます。
.PP
.B \-mno\-v8
.TP
.B \-mv8
.TP
.B \-msparclite
これらの 3 つのオプションは SPARC アーキテクチャのバリエーションを選択
するために使用されます。
.Sp
デフォルトでは、(Fujitsu SPARClite 用にコンフィギュレーションしない限
りは) GCC は SPARC アーキテクチャ v7 用のコードを生成します。
.Sp
.B \-mv8
は、SPARC v8 用コードを生成します。v7 コードとの違いは、整数の乗算と整数
の除算が v7 では存在しないが v8 には存在するという点のみです。
.Sp
.B \-msparclite
は、SPARClite 用のコードを生成します。これは v7 には存在せず SPARClite
に存在する、整数乗算、整数除算とスキャン (ffs) 命令を追加します。
.PP
.B \-mcypress
.TP
.B \-msupersparc
これら 2 つのオプションはコード最適化対象のプロセッサを選択するための
ものです。
.Sp
.B \-mcypress
を用いると(これがデフォルト)、
コンパイラは Cypress CY7C602 チップ用にコードを最適化します。
このチップは SparcStation/SparcServer 3xx シリーズに用いられています。
このオプションは古い SparcStation 1, 2, IPX などにも適用できます。
.Sp
.B \-msupersparc
を用いると、コンパイラは SuperSparc CPU 用にコードを最適化します。
このチップは SparcStation 10, 1000, 2000 シリーズに用いられています。
このオプションを用いると、SPARC v8 の全命令セットを用いるようになります。
.PP
以下は Convex のために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-mc1
C1 用の出力を行います。これはコンパイラが C1 用にコンフィギュレーション
を行なわれた時のデフォルトです。
.TP
.B \-mc2
C2 用の出力を行います。これはコンパイラが C2 用にコンフィギュレーション
を行なわれた時のデフォルトです。
.TP
.B \-margcount
引数列の前に、引数の数をワードに置くコードを生成します。いくつかの可搬性
のない Convex や Vax のプログラムはこのワードを必要とします。(デバッガは
不定長引数リストを持つ関数を除いて、このワードを必要としません。これらの
情報はシンボルテーブルに書かれます。)
.TP
.B \-mnoargcount
引数の数を示すワードを省略します。これは変更されていないソースを使用した
場合のデフォルトです。
.PP
以下は、AMD Am29000 のために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-mdw
DW ビットが立っていることを仮定したコードを出力します。これは、ハードウェア
によってバイト操作やハーフワード操作がサポートされているということを
意味します。これはデフォルトです。
.TP
.B \-mnodw
DW ビットが立っていないことを仮定したコードを出力します。
.TP
.B \-mbw
システムがバイト操作やハーフワード書き込み操作をサポートしていることを仮定した
コードを生成します。これはデフォルトです。
.TP
.B \-mnbw
システムがバイト操作やハーフワード書き込み操作をサポートしていないことを仮定し
たコードを生成します。これは暗黙のうちに `\|\c
.B \-mnodw\c
\&\|' を含みます。
.TP
.B \-msmall
スモールメモリモデルを使用します。これは全ての関数のアドレスが単一の
256KB のセグメント内に入ることと、関数の絶対アドレスが 256K 以下にある
ことを仮定します。このオプションは \c
.B call\c
\& 命令を \c
.B const\c
\&, \c
.B consth\c
\&, \c
.B calli\c
\& シーケンスの代わりに使用することを可能にします。
.TP
.B \-mlarge
.B call\c
\& 命令が使用できることを仮定しません。これはデフォルトです。
.TP
.B \-m29050
Am29050 用のコードを生成します。
.TP
.B \-m29000
Am29000 用のコードを生成します。これはデフォルトです。
.TP
.B \-mkernel\-registers
.B gr96-gr127\c
\& レジスタへの参照の代わりに
.B gr64-gr95\c
\& を参照するコードを生成します。このオプションは、ユーザのコードか
ら使用できるグローバルレジスタから区別されたグローバルレジスタの集合
を利用するカーネルのコードをコンパイルする時に使用できます。
.Sp
ただし、このオプションが使用されている時にも `\|\c
.B \-f\c
\&\|'
フラグ中のレジスタ名は通常のユーザモードでの名前を使用します。
.TP
.B \-muser\-registers
通常のグローバルレジスタの集合 \c
.B gr96-gr127\c
\& を使用します。これはデフォルトです。
.TP
.B \-mstack\-check
.B _\|_msp_check\c
\& への呼び出しをそれぞれのスタック調整の後に挿入します。これはしばしば
カーネルのコードにおいて用いられます。
.PP
以下は、Motorola 88K アーキテクチャのために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-m88000
m88100 と m88110 の双方で比較的高性能で動作するコードを生成します。
.TP
.B \-m88100
m88100 に最適なコードを生成します。ただし m88110 においても動作します。
.TP
.B \-m88110
m88110 に最適なコードを生成します。
ただし m88100 においては動作しないかも知れません
.TP
.B \-midentify\-revision
アセンブラ出力中に、ソースファイル名、コンパイラ名とバージョン、
タイムスタンプ、使用されたコンパイルフラグを記した \c
.B ident\c
\& ディレクティブを挿入します。
.TP
.B \-mno\-underscores
シンボル名の最初にアンダースコアキャラクタをつけないアセンブラ出力を生
成します。デフォルトでは個々の名前に対して、アンダースコアをプレフィック
スとして使用します。
.TP
.B \-mno\-check\-zero\-division
.TP
.B \-mcheck\-zero\-division
初期の 88K のモデルはゼロによる除算の処理に問題を持っていました。特に、そ
れらの多くにおいてトラップが生じなかったことは問題でした。これ
らのオプションを使用することによって、ゼロ除算を発見し、例外を知らせる
コードを埋め込むことを禁止 (あるいは明示的に許可) することができます。全
ての 88K 用の GCC のコンフィギュレーションは `\|\c
.B \-mcheck\-zero\-division\c
\&\|' をデフォルトとして使用しています。
.TP
.B \-mocs\-debug\-info
.TP
.B \-mno\-ocs\-debug\-info
88Open Object Compatibility Standard \*(lqOCS\*(rq で定義された
(それぞれのスタックフレーム中で使用されるレジスタに関する) 付加的なデバッグ
情報を取り込みます (または省略します)。これらの付加的な情報は GDB によっ
ては必要とされません。DG/UX, SVr4, Delta 88 SVr3.2 ではデフォルトでこの情
報を含めます。その他の 88K コンフィギュレーションではデフォルトで省略します。
.TP
.B \-mocs\-frame\-position
.TP
.B \-mno\-ocs\-frame\-position
OCS で規定されているように、レジスタの値に対して、スタックフレーム中の
特定の場所に保存されるという動作を強制します (あるいは要求しません)。
DG/UX, Delta88 SVr3.2, BCS のコンフィギュレーションでは `\|\c
.B \-mocs\-frame\-position\c
\&\|' をデフォルトとして、それ以外の 88k コンフィギュレーションでは `\|\c
.B \-mno\-ocs\-frame\-position\c
\&\|' をデフォルトとして使用しています。
.TP
.B \-moptimize\-arg\-area
.TP
.B \-mno\-optimize\-arg\-area
関数の引数がどのような方法でスタックフレームに格納されるかを指定します。
`\|\c
.B \-moptimize\-arg\-area\c
\&\|' はスペースを節約しますが、いくつかのデバッガ (GDB は含まれない) を
クラッシュさせます。`\|\c
.B \-mno\-optimize\-arg\-area\c
\&\|' はより標準に従っています。デフォルトでは GCC は引数エリアの最適化
を行いません。
.TP
.BI "\-mshort\-data\-" "num"
データ参照時に、それらの処理を \c
.B r0\c
\& からの相対参照で行なうことによって小さなコードにすることを可能とします。
これは値のロードを (その他の場合は 2 命令かかるところを) 1 命令で行な
うことを可能にします。\c
.I num\c
\& をこのオプションとともに指定することによって、どのデータ参照が影響
を受けるかを指定することができます。例えば `\|\c
.B \-mshort\-data\-512\c
\&\|' を指定すると、512 バイト以内のディスプレースメントのデータ参照が
影響を受けることになります。
`\|\c
.B \-mshort\-data\-\c
.I num\c
\&\c
\&\|' は \c
.I num\c
\& が 64K よりも大きな時は効果を持ちません。
.PP
.B \-mserialize-volatile
.TP
.B \-mno-serialize-volatile
volatile なメモリへの参照について、シーケンシャルな整合性を持った
コードを生成する、あるいは生成しません。
.Sp
GNU CC はデフォルトではどのプロセッササブモデルを選んだ場合においても、
整合性を常に保証します。これがどのように実現されているかは、サブモデルに
依存しています。
.Sp
m88100 プロセッサはメモリ参照の順番を入れ換えないので、常にシーケンシャルな
整合性は保たれます。もし `\|\c
.B \-m88100\c
\&\|' を使用した場合は、GNU CC はシーケンシャルな整合性を保つための特
別な命令を生成しません。
.Sp
m88110 プロセッサにおけるメモリ参照の順番は、必ずしもそれらの要求を行
なった命令の順番とは一致しません。特に、読み込み命令は、先行する書き込み
命令よりも先に実行され得ます。このような順番の入れ換えは、マルチプロセッサ時に
volatile なメモリの参照におけるシーケンシャルな整合性を崩してしまいます。
`\|\c
.B \-m88000\c
\&\|' または `\|\c
.B \-m88110\c
\&\|' を指定した場合には、GNU CC は、必要な場合は特別な命令を生成し、
命令の実行が正しい順番で行なわれることを強制します。
.Sp
ここで生成される整合性を保証するための特別な命令はアプリケーションの性
能に対して影響を及ぼします。もしこの保証無しで問題がないということがわかっ
ている場合は、`\|\c
.B \-mno-serialize-volatile\c
\&\|' を使用することができます。
.Sp
`\|\c
.B \-m88100\c
\&\|' オプションを使用しているが、m88110 における実行時にシーケンシャルな
整合性が必要とされる場合は、`\|\c
.B \-mserialize-volatile\c
\&\|' を使用するべきです。
.PP
.B \-msvr4
.TP
.B \-msvr3
System V release 4 (SVr4) に関連したコンパイラの拡張を有効 (`\|\c
.B \-msvr4\c
\&\|') あるいは無効 (`\|\c
.B \-msvr3\c
\&\|') にします。これは以下の内容を制御します。
.TP
\ \ \ \(bu
生成するアセンブラの文法の種類 (これは
`\|\c
.B \-mversion\-03.00\c
\&\|' を使用することによって独立に制御できます)。
.TP
\ \ \ \(bu
`\|\c
.B \-msvr4\c
\&\|' は C プリプロセッサに対して `\|\c
.B #pragma weak\c
\&\|' を理解させます。
.TP
\ \ \ \(bu
`\|\c
.B \-msvr4\c
\&\|' は、GCC に SVr4 によって使用されている付加的な宣言ディレクティブ
を生成させます。
.PP
`\|\c
.B \-msvr3\c
\&\|' は、SVr4 を除く全ての m88K コンフィギュレーションにおけるデフォ
ルトです。
.TP
.B \-mtrap\-large\-shift
.TP
.B \-mhandle\-large\-shift
31 ビットより大きいビットシフトを検出するコードを埋め込みます。これらの
オプションを指定することによって、それぞれトラップ、あるいは適切に処理す
るコードが埋め込まれます。デフォルトでは GCC は大きなビットシフトには
特別な対策を行いません。
.TP
.B \-muse\-div\-instruction
非常に初期の 88K アーキテクチャのモデルは除算命令を持っていません。従っ
て、GCC はデフォルトでは除算命令を生成しません。このオプションは除算命令
が安全に使用できるということを指定します。
.TP
.B \-mversion\-03.00
DG/UX コンフィギュレーションには、2 つの SVr4 の種類があります。このオプション
.B \-msvr4
オプションによって hybrid-COFF と real-ELF のどちらが使用されるかを選択します。
他のコンフィギュレーションはこのオプションを無視します。
.TP
.B \-mwarn\-passed\-structs
関数に対して構造体を渡した場合と、関数が構造体を返した場合に警告します。
構造体を渡す規約は C 言語の発展の中で変化しており、移植性の問題をしば
しば生じることになります。デフォルトでは GCC はこの警告を行いません。
.PP
以下のオプションは IBM RS6000 のために定義されたものです。
.PP
.B \-mfp\-in\-toc
.TP
.B \-mno\-fp\-in\-toc
浮動小数点定数を Table of Contents (TOC) に入れるかどうかを指定します。
このテーブルは全てのグローバル変数と関数のアドレスを格納します。デフォルト
では GCC は浮動小数点定数をここに格納します。もし TOC が算術あふれをおこす
場合は、`\|\c
.B \-mno\-fp\-in\-toc\c
\&\|' を使用することによって TOC のサイズを小さくすることが可能であり、
算術あふれを防ぐことができるでしょう。
.PP
以下は IBM RT PC 用に定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-min\-line\-mul
整数の乗算に対してインラインのコード列を生成します。これはデフォルトです。
.TP
.B \-mcall\-lib\-mul
整数の乗算に対して \c
.B lmul$$\c
\& を呼び出します。
.TP
.B \-mfull\-fp\-blocks
フルサイズの浮動小数点データブロックを生成します。これは IBM によって推
奨されている最低限のスクラッチスペースの量を包含します。これはデフォルトです。
.TP
.B \-mminimum\-fp\-blocks
浮動小数点データブロック内に特別なスクラッチスペースを含めません。これに
よって、より小さなコードが生成されますが、実行は遅くなります。
なぜならスクラッチスペースが動的に確保されるからです。
.TP
.B \-mfp\-arg\-in\-fpregs
IBM の関数呼び出し規約とは互換性のない呼び出し手順を使用します。
この規約では浮動小数点引数を浮動小数点レジスタに入れて渡します。
このオプションを指定すると、\c
.B varargs.h\c
\& や \c
.B stdarg.h\c
\& で浮動小数点オペランドが使用できなくなることに注意して下さい。
.TP
.B \-mfp\-arg\-in\-gregs
浮動小数点に対して通常の関数呼び出し規約を使用します。これはデフォルトです。
.TP
.B \-mhc\-struct\-return
1 ワードより大きな構造体を返す時に、レジスタではなくメモリを使用して返します。
これは MetaWare HighC (hc) コンパイラとの互換性を提供します。`\|\c
.B \-fpcc\-struct\-return\c
\&\|' を使用することによって Portable C Compiler (pcc) との互換性を得
ることができます。
.TP
.B \-mnohc\-struct\-return
1 ワードより大きな構造体を返す時に、レジスタによって返される場合があります。
これはその方が便利であると考えられる時に使用されます。これはデフォルトです。
IBM が提供するコンパイラとの互換性を得るためには、`\|\c
.B \-fpcc\-struct\-return\c
\&\|' と
`\|\c
.B \-mhc\-struct\-return\c
\&\|' の双方を使用します。
.PP
以下は MIPS ファミリのために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.BI "\-mcpu=" "cpu-type"
命令スケジューリング時に、デフォルトのマシンタイプを
.I cpu-type
に仮定します。デフォルトの
.I cpu-type
.BR default
です。この選択はすべてのマシンに対する最長のサイクル数を元にコードを
生成します。これは、生成されるコードがどの MIPS cpu においても適当な速度
で処理されるようにするためです。これ以外の
.I cpu-type
の選択としては、
.BR r2000 ,
.BR r3000 ,
.BR r4000 ,
.BR r6000
があります。特定の
.I cpu-type
を選択した場合は、その特定のチップに適したスケジュールが行われます。
コンパイラは、
.B \-mips2
または
.B \-mips3
スイッチが使用されていない場合は、MIPS ISA (instruction set
architecture) のレベル 1 に合致しないコードを生成することはありません。
.TP
.B \-mips2
MIPS ISA のレベル 2 (branch likely 命令, 平方根命令) による命令群
を出力します。
.B \-mcpu=r4000
.B \-mcpu=r6000
スイッチは、
.BR \-mips2
と共に使用される必要があります。
.TP
.B \-mips3
MIPS ISA のレベル 3 (64 ビット命令) を含む命令群を出力します。
.B \-mcpu=r4000
スイッチは、
.BR \-mips2
と同時に使用する必要があります。
.TP
.B \-mint64
.TP
.B \-mlong64
.TP
.B \-mlonglong128
これらのオプションは現在動作しません。
.TP
.B \-mmips\-as
MIPS アセンブラのためのコードを生成し、
.B mips\-tfile
を起動して通常のデバッグ情報を追加します。
これは OSF/1 リファレンスプラットフォーム
以外の全てのプラットフォームにおけるデフォルトです。
OSF/1 リファレンスプラットフォームは OSF/rose オブジェクトフォーマットを
使用します。スイッチ
.BR \-ggdb ,
.BR \-gstabs ,
.B \-gstabs+
のうちのどれかが使用されている場合は、
.B mips\-tfile
プログラムは、stabs を MIPS ECOFF 中にカプセル化します。
.TP
.B \-mgas
GNU アセンブラ用のコードを生成します。これは OSF/1 リファレンスプラットフォーム
におけるデフォルトです。OSF/1 リファレンスプラットフォームは
OSF/rose オブジェクトフォーマットを使用します。
.TP
.B \-mrnames
.TP
.B \-mno\-rnames
.B \-mrnames
スイッチは出力コードにおいて、レジスタの名前として、ハードウェア名の代
わりに MIPS ソフトウェア名を使用することを指定します。(つまり、
.B a0
.BR $4
の代わりに使用します)。
GNU アセンブラは
.B \-mrnames
スイッチをサポートしません。MIPS アセンブラはソースファイルに対して MIPS
C プリプロセッサを起動するでしょう。
.B \-mno\-rnames
スイッチがデフォルトです。
.TP
.B \-mgpopt
.TP
.B \-mno\-gpopt
.B \-mgpopt
スイッチは、全てのデータ宣言をテキストセクション中の全命令の前に書き出
すことを指定します。これによって、全ての MIPS アセンブラは、
ショートグローバル、あるいは静的なデータアイテムに対して、2 ワードではなく、1 ワードのメモリ参照命令を生成します。
これは最適化が指定された場合のデフォルトです。
.TP
.B \-mstats
.TP
.B \-mno\-stats
.B \-mstats
が指定された場合は、コンパイラによってインラインでない関数が処理される
ごとに、標準エラー出力ファイルに対して、そのプログラムに対する統計情報
を示す 1 行のメッセージを出力します。このメッセージは、保存したレジスタ
の数、スタックのサイズなどを示します。
.TP
.B \-mmemcpy
.TP
.B \-mno\-memcpy
.B \-mmemcpy
スイッチは、全てのブロック転送に対して、インラインコードを生成する代わ
りに、適切なストリング関数
.RB ( memcpy
または
.BR bcopy )
を呼び出すコードを生成します。
.TP
.B \-mmips\-tfile
.TP
.B \-mno\-mips\-tfile
.B \-mno\-mips\-tfile
スイッチを指定すると、
MIPS アセンブラがデバッグサポートのために生成したオブジェクトファイルに対し、
.B mips\-tfile
を使用した後処理を行いません。
.B mips\-tfile
が実行されないと、デバッガからはローカル変数を扱うことができません。
さらに、
.B stage2
.B stage3
のオブジェクトはアセンブラに渡される一時的なファイル名をオブジェクトファイル
中に埋め込まれて持っており、このためそれらを比較した場合に同一のも
のとはみなされません。
.TP
.B \-msoft\-float
浮動小数点演算のためにライブラリを呼び出す出力を行います。
.I 警告:
この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシンの
一般的な C コンパイラの提供するものを使用しますが、これは通常の方法
ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行
ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。
.TP
.B \-mhard\-float
浮動小数点命令を含んだ出力を生成します。これは変更されないソースを使用し
た場合のデフォルトです。
.TP
.B \-mfp64
ステータスワード中の
.B FR
ビットが立っていることを仮定します。これは 32 個の 32 ビット浮動小数点
レジスタの代わりに、32 個の 64 ビットの浮動小数点レジスタが存在するとい
うことを示します。この場合は、同時に
.B \-mcpu=r4000
.B \-mips3
スイッチを指定する必要があります。
.TP
.B \-mfp32
32 個の 32 ビット浮動小数点レジスタが存在するということを仮定します。こ
れはデフォルトです。
.PP
.B \-mabicalls
.TP
.B \-mno\-abicalls
いくつかの System V.4 の移植が位置独立コードのために使用する疑似命令
.BR \&.abicalls ,
.BR \&.cpload ,
.B \&.cprestore
を出力する、あるいは出力しません。
.TP
.B \-mhalf\-pic
.TP
.B \-mno\-half\-pic
.B \-mhalf\-pic
スイッチは、テキストセクション中に参照を配置する代わりに、外部参照を行
なうポインタをデータセクションに配置し、それをロードする動作を指定します。
このオプションは現在まだ動作しません。
.B
.BI \-G num
.I num
バイト以下のグローバル、あるいは静的なアイテムを、通常のデータや bss
セクションではなく、小さなデータ、または bss セクションに配置することを
指定します。
これによりアセンブラは、通常では 2 ワードの参照を行うところを、
グローバルポインタ
.RB ( gp
または
.BR $28 )
を基準とした 1 ワードのメモリ参照命令を生成可能となります。
デフォルトでは MIPS アセンブラが使用される場合、
.I num
は 8 です。また、GNU アセンブラが使用される場合のデフォルトは 0 です。
.BI \-G num
スイッチはアセンブラ、リンカにも同様に渡されます。全てのモジュールは同一の
.BI \-G num
の値でコンパイルされなければなりません。
.TP
.B \-nocpp
MIPS アセンブラに、ユーザアセンブラファイル (`\|\c
.B .s\c
\&\|' 拡張子を持ちます) に対するアセンブル時のプリプロセッサの起動を抑制さ
せます。
.PP
以下は、Intel 80386 ファミリ用に定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-m486
.TP
.B \-mno\-486
386 ではなく 486 に最適化されたコードを出力する、あるいはその逆を行な
う指定を行います。486 用に生成されたコードは 386 で実行可能であり、逆も
また可能です。
.TP
.B \-msoft\-float
浮動小数点演算のためにライブラリを呼び出す出力を行います。
.I 警告:
この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシンの
一般的な C コンパイラの提供するものを使用しますが、これは通常の方法
ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行
ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。
.Sp
関数が浮動小数点数を返す時に 80387 レジスタスタックを使用するマシンに
おいては、`\|\c
.B \-msoft-float\c
\&\|' を使用した場合でも、いくつかの浮動小数点命令が生成されます。
.TP
.B \-mno-fp-ret-in-387
関数からの返り値に FPU のレジスタを使用しません。
.Sp
通常の関数呼び出し規約は、たとえ FPU が存在しなくても
.B float\c
\& と \c
.B double\c
\& の結果を FPU レジスタに入れて返します。したがってこの場合、
オペレーティングシステムは FPU をエミュレートしなければなりません。
.Sp
`\|\c
.B \-mno-fp-ret-in-387\c
\&\|' オプションを指定すると、浮動小数点数も通常の CPU レジスタに入れ
て返されます。
.TP
.B \-mprofiler-epilogue
.TP
.B \-mno-profiler-epilogue
関数から抜けるコードにてプロファイル情報を書き出す追加コードを生成します。
.PP
以下は HPPA ファミリ用に定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-mpa-risc-1-0
PA 1.0 プロセッサ用のコードを出力します。
.TP
.B \-mpa-risc-1-1
PA 1.1 プロセッサ用のコードを出力します。
.TP
.B \-mkernel
カーネルに適したコードを生成します。特に、引数の 1 つとして DP レジスタを
とる
.B add\c
\& 命令の使用を抑制し、その代わりに、\c
.B addil\c
\& 命令を生成します。これは HP-UX リンカの深刻なバグを避けるための措置です。
.TP
.B \-mshared-libs
HP-UX 共有ライブラリとリンクさせるコードを生成します。このオプションはま
だ完全に動作しているわけではなく、どの PA ターゲットにおいてもデフォルト
になっていません。このオプションを指定すると、コンパイラは誤ったコード
を出力し得ます。
.TP
.B \-mno-shared-libs
共有ライブラリとリンクしないコードを生成します。これは全ての PA ターゲット
においてデフォルトのオプションです。
.TP
.B \-mlong-calls
関数の呼び出し先と呼び出し元が同一ファイルに含まれた場合、呼び出し時の
距離が 256K を越える場合でも動作するようなコードを出力します。
このオプションは、リンカから \*(lqbranch out of range errors\*(rq で
リンクを拒否された時以外には使用しないようにしてください。
.TP
.B \-mdisable-fpregs
いかなる形においても、浮動小数点レジスタの使用を禁止します。
これは浮動小数点レジスタに配慮しないコンテキストスイッチを行なう
カーネルに対して有効です。
このオプションを使用して、浮動小数点処理を行なおうとすると、
コンパイラはアボートします。
.TP
.B \-mdisable-indexing
コンパイラに対して、indexing addressing mode を使用しないように指定します。
これによって MACH において MIG によって生成されたコードをコンパイルす
る際の、あまり重要でないいくつかの問題を防ぐことができます。
.TP
.B \-mtrailing-colon
ラベル定義の後にコロンを加えます (ELF アセンブラ用)。
.PP
以下は、Intel 80960 ファミリ用に定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.BI "\-m" "cpu-type"
デフォルトのマシンタイプを
.I cpu-type
に仮定します。これは生成する命令とアドレッシングモード、そして境界条件に
関係します。
デフォルトの
.I cpu-type
.BR kb
です。その他の選択としては
.BR ka ,
.BR mc ,
.BR ca ,
.BR cf ,
.BR sa ,
.BR sb
があります。
.TP
.B \-mnumerics
.TP
.B \-msoft\-float
.B \-mnumerics
オプションはプロセッサが浮動小数点命令をサポートすることを示します。
.B \-msoft\-float
オプションは浮動小数点サポートを仮定しないことを示します。
.TP
.B \-mleaf\-procedures
.TP
.B \-mno\-leaf\-procedures
葉に位置する手続きについて、
.IR call
命令と同様に
.I bal
命令でも呼び出すことを可能とします (あるいは、しません)。これは
.I bal
命令がアセンブラ、またはリンカによって置き換えられ得る場合には、直接呼
び出しに対して効率の良いコードを得ることができます。ただし、それ以外の場
合は効率の良くないコードを生成します。例えば、関数へのポインタ経由の呼び
出しや、この最適化をサポートしないリンカを使用した場合などがこれ
に該当します。
.TP
.B \-mtail\-call
.TP
.B \-mno\-tail\-call
(マシン非依存の部分を越えて) 末尾再帰を分岐に変換する処理に関するさ
らなる最適化を行います(または行いません)。
この手法の適用が正当でないということに関する判断
が完全ではないので、まだこのオプションを使用することは適当でないかも
しれません。デフォルトは
.BR \-mno\-tail\-call
です。
.TP
.B \-mcomplex\-addr
.TP
.B \-mno\-complex\-addr
この i960 の実装では複雑なアドレッシングモードの使用が優位であると仮定
します (あるいは仮定しません)。複雑なアドレッシングモードは K-シリーズでは
使用する価値は無いかも知れませんが、
C-シリーズでは確かに使用する価値があります。
現在は
.B \-mcomplex\-addr
が、CB と CC を除く全てのプロセッサにおけるデフォルトです。
.TP
.B \-mcode\-align
.TP
.B \-mno\-code\-align
より高速なフェッチのためにコードを 8 バイトにアラインします (または何も
しません)。現在では C シリーズの実装においてのみデフォルトで有効にしています。
.TP
.B \-mic\-compat
.TP
.B \-mic2.0\-compat
.TP
.B \-mic3.0\-compat
iC960 v2.0 または v3.0 との互換性を持たせます。
.TP
.B \-masm\-compat
.TP
.B \-mintel\-asm
iC960 アセンブラとの互換性を持たせます。
.TP
.B \-mstrict\-align
.TP
.B \-mno\-strict\-align
アラインされないアクセスを許可しません (あるいは許可します)。
.TP
.B \-mold\-align
Intel による gcc リリースバージョン 1.3 (gcc 1.37 ベース) との構造体の
境界条件に関する互換性を持たせます。現在は、
.B #pragma align 1
が同時に仮定されてしまい、無効化できないというバグを持っています。
.PP
以下は、DEC Alpha 用に定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-mno-soft-float
.TP
.B \-msoft-float
浮動小数点操作に対して、ハードウェアによる浮動小数点命令を使用します (し
ません)。もし、\c
.B \-msoft-float\c
\& が指定された場合は、`\|\c
.B libgcc1.c\c
\&\|' 内の関数が浮動小数点演算に使用されます。ただし、これらのルーチンが
浮動小数点演算をエミュレートするルーチンによって置き換えられているか、
そのようなエミュレーションルーチンを呼び出すようにコンパイルされている
のでない限り、これらのルーチンは浮動小数点演算を行なってしまいます。浮動小
数点演算のない Alpha のためのコンパイルを行なうためには、ライブラリも
これらを呼び出さないようにコンパイルされていなければなりません。
.Sp
浮動小数点演算のない Alpha の実装は、浮動小数点レジスタを必要とすると
いうことに注意して下さい。
.TP
.B \-mfp-reg
.TP
.B \-mno-fp-regs
浮動小数点レジスタセットを使用する (使用しない)コードを生成します。
.B \-mno-fp-regs\c
\& は暗黙のうちに \c
.B \-msoft-float\c
\& を含みます。浮動小数点レジスタセットが使用されない場合は、浮動小数点
オペランドは整数レジスタに入れられて渡され、浮動小数点数の結果は $f0 では
なく $0 に入れて返されます。これは非標準の関数呼び出し手順であり、
浮動小数点数の引数や返り値を持つ関数で、\c
.B \-mno-fp-regs\c
\& をつけてコンパイルされたコードから呼び出される関数はすべてこのオプションを
つけてコンパイルされている必要があります。
.Sp
このオプションの典型的な用法は、浮動小数点レジスタを使用せず、したがっ
て浮動小数点レジスタへのセーブもリストアも必要のないカーネルを構築する
時などがあるでしょう。
.PP
ここに追加するオプションは System V Release 4 において、これらのシステム上の
他のコンパイラとの互換性のために提供されるものです。
.TP
.B \-G
SVr4 システムにおいて、\c
.B gcc\c
\& は `\|\c
.B \-G\c
\&\|' オプションを受け付けます (そして
これをシステムリンカに渡します)。これは他のコンパイラとの互換性のためです。
しかし、リンカオプションを \c
.B gcc
のコマンドラインから渡すよりも、我々は `\|\c
.B \-symbolic\c
\&\|' または `\|\c
.B \-shared\c
\&\|' の使用が適当であると考えています。
.TP
.B \-Qy
コンパイラが使用したそれぞれのツールのバージョンを
.B .ident\c
\& アセンブラディレクティブを使用して、出力で明示します。
.TP
.B \-Qn
.B .ident\c
\& ディレクティブを出力に加えることを抑制します (これは
デフォルトです)。
.TP
.BI "\-YP," "dirs"
`\|\c
.B \-l\c
\&\|' で指定されたライブラリに対して、
.I dirs\c
で規定されたディレクトリのみを検索し、他は検索しません。
.I dirs\c
\& 中は、1 つのコロンで区切ることにより、
複数のディレクトリエントリを記述します。
.TP
.BI "\-Ym," "dir"
M4 プリプロセッサを \c
.I dir\c
\& に検索します。アセンブラがこのオプションを使用します。
.SH コード生成オプション
これらのマシン独立オプションは、
コード生成にて使用されるインタフェース規約を制御します。
.PP
これらのほとんどは `\|\c
\-f\c
\&\|' で始まります。これらのオプションは有効形式と無効形式の 2 つの形式を持っ
ています。`\|\c
.B \-ffoo\c
\&\|' の無効形式は `\|\c
.B \-fno\-foo\c
\&\|' です。以下に挙げる表においては、このうち、デフォルトではない片
方のみが挙げられています。`\|\c
.B no\-\c
\&\|' を追加するか、削除するかによって双方の形式を得ることができます。
.TP
.B \-fnonnull\-objects
参照型によって参照されるオブジェクトはヌルでないと仮定します (C++ のみ)。
.Sp
通常は GNU C++ は参照型によって参照されるオブジェクトに関しては保守的
な仮定を行います。例えば、コンパイラは \c
.B a
が以下のコードにおいてヌルでないことをチェックする必要があります。
.Sp
obj &a = g ();
a.f (2);
.Sp
この種の参照がヌルでないことのチェックは、特別なコードを必要とします。
しかし、これは多くのプログラムにとって無用なものです。
このヌルに対するチェックを必要のない場合 `\|\c
.B \-fnonnull-objects\c
\&\|' を使用することにより、省略することができます。
.TP
.B \-fpcc\-struct\-return
.B struct\c
\& と \c
.B union
の値を返す場合に、普通の C コンパイラが行なうのと同じ規約を使用します。
この規約は小規模な構造体に対して非効率なものとなり、また多くのマシンでその
関数を再入不可能としてしまいます。しかしこれは、GCC でコンパイルされたコード
と PCC でコンパイルされたコードを相互に呼び出すことを可能とするとい
う利点を持ちます。
.TP
.B \-freg\-struct\-return
.B struct
.B union
の値を返す場合に、可能な場合はレジスタを使用する規約を使用します。これは
.BR \-fpcc\-struct\-return
を使用した場合と比較して、小さな構造体を返す場合に高い性能を発揮します。
.Sp
.B \-fpcc\-struct\-return
.BR \-freg\-struct\-return
のどちらも使用しなかった場合には、GNU CC は各ターゲットに対して標準で
あると考えられる規約をデフォルトとして使用します。
もし標準規約がなかった場合は、
.BR \-fpcc\-struct\-return
をデフォルトとして使用します。
.TP
.B \-fshort\-enums
.B enum\c
\& 型に対して、ちょうど取り得る値の範囲に応じたバイト数の型を与えます。
具体的には、\c
.B enum\c
\& 型は、その値域を格納するに十分な最小の整数型と等価になります。
.TP
.B \-fshort\-double
.B double
.B float
\& と同サイズにします。
.TP
.B \-fshared\-data
データと非 \c
.B const\c
\& 変数を、プライベートなデータではなく、共有データとしてコンパイルします。
このオプションは、走行中の同じプログラム間は共有データが共有され、
プライベートデータがそれぞれのプロセスに 1 つずつ与えられるような一部
のオペレーティングシステムで意味を持ちます。
.TP
.B \-fno\-common
bss セクション中の初期化されていないグローバル変数に対してでも、共通ブロック
に生成するのではなく、領域を割り当てます。このオプションは、(\c
.B extern\c
\& をつけずに) 同一の変数を宣言した 2 つのコンパイルに対して、リンク時
にエラーを発生するという効果があります。このオプションは、常にこのような動
作を行なうシステムにおいても、プログラムが正常に動作するかどうかを検査
する場合にのみ有用です。
.TP
.B \-fno\-ident
`\|\c
.B #ident\c
\&\|' ディレクティブを無視します。
.TP
.B \-fno\-gnu\-linker
(C++ のコンストラクタとデストラクタのような) グローバルな初期化のコードを
(GNU リンカがこれらを扱う標準のシステムであるようなシステムにおいて)
GNU リンカで使用される形式で出力しません。これは GNU リンカではない
リンカを使用する場合に指定します。この場合、
.B collect2\c
\& を使用して、確実にシステムリンカにコンストラクタとデストラクタを含
んだコードを出力させる必要があります。(\c
.B collect2\c
\& は GNU CC
のディストリビューションに含まれます。) \c
.B collect2 \c
を\c
.I 必ず使用しなければならない\c
\& システムにおいては、
コンパイラドライバ \c
.B gcc\c
\& は自動的にそのようにコンフィギュレーションされます。
.TP
.B \-finhibit-size-directive
.B .size\c
アセンブラディレクティブなど、関数が途中で分割され、メモリ上の異なった
位置にそれぞれの部分が配置されるような場合に不都合が生じるような要素を
出力しません。このオプションは `\|\c
.B crtstuff.c\c
\&\|' をコンパイルする時に使用されます。それ以外の場所ではこれを使用する
必要はありません。
.TP
.B \-fverbose-asm
出力のアセンブラ中に特別なコメント情報を追加し、可読性を高めます。この
オプションは一般的には、出力のアセンブラコードを本当に読みたい場合 (例え
ばコンパイラ自身をデバッグしているような場合) にのみ効果があります。
.TP
.B \-fvolatile
ポインタによるメモリの参照を全て volatile として扱います。
.TP
.B \-fvolatile\-global
外部変数やグローバルデータアイテムへのメモリ参照を全て volatile として
扱います。
.TP
.B \-fpic
このオプションがターゲットマシンでサポートされていれば、位置独立なコードを
出力します。このオプションは共有ライブラリでの使用に適します。
.TP
.B \-fPIC
このオプションがターゲットマシンでサポートされていれば、位置独立なコードを
出力します。このオプションはダイナミックリンクに適しており、分岐にお
いて大きなディスプレースメントを要求する場合にも適応します。
.TP
.BI "\-ffixed\-" "reg"
名前が \c
.I reg\c
\& のレジスタを固定レジスタとして扱います。生成されたコードはこのレジスタ
を参照しません (ただし、スタックポインタ、フレームポインタ、その他固定用
途の場合を除きます)。
.Sp
.I reg\c
\& はレジスタ名でなければなりません。受け付けられるレジスタ名はマシン固
有であり、マシン記述マクロファイル内の \c
.B REGISTER_NAMES
マクロに記述されたものです。
.Sp
このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で
あるからです。
.TP
.BI "\-fcall\-used\-" "reg"
名前が \c
.I reg\c
\& のレジスタを、関数呼び出しによって破壊される割り当て可能のレジスタ
として取り扱います。これは、関数呼び出しを跨いで存在しない一時領域や変数
として割り当ることができます。この指定でコンパイルされた関数は、レジスタ \c
.I reg\c
\& の保存や復帰を行いません。
.Sp
このフラグをマシンの実行モデルにおいて、ある固定的で特殊な役割を持って
いるレジスタ、例えばスタックポインタやフレームポインタに対して適用する
ことは、破滅的な結果を生みます。
.Sp
このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で
あるからです。
.TP
.BI "\-fcall\-saved\-" "reg"
名前が \c
.I reg\c
\& のレジスタを、関数によって保存される割り当て可能なレジスタとして取
り扱います。これは、関数呼び出しを跨いで存在する一時領域や変数としても割り
当てることができます。この指定でコンパイルされた関数は、レジスタ \c
.I reg\c
\& を使用する場合、その保存と復帰を行います。
.Sp
このフラグをマシンの実行モデルにおいて、ある固定的で特殊な役割を持って
いるレジスタ、例えばスタックポインタやフレームポインタに対して適用する
ことは、破滅的な結果を生みます。
.Sp
また、このフラグを関数の返り値が格納されるレジスタに使用すると、これも
破滅的な結果を生みます。
.Sp
このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で
あるからです。
.SH プラグマ
2 つの `\|\c
.B #pragma\c
\&\|' ディレクティブ(指令)が GNU C++ によってサポートされています。これは、1
つのヘッダファイルを 2 つの目的、つまりあるオブジェクトクラスのための
インタフェースの定義としての目的と、オブジェクトクラスに含まれる内容
の完全な定義としての目的の、両方の目的で使用するためのものです。
.TP
.B #pragma interface
(C++ のみ)
このディレクティブを、オブジェクトクラスを定義しているヘッダファイル中
に使用することによって、それらのクラスを使用するほとんどのオブジェクト
ファイルの大きさを減少させることができます。通常は、
特定の情報 (インラインメンバ関数のバックアップコピー、デバッグ情報、
仮想関数実現のための内部テーブル) の複製がそのクラス定義をインクルードした
それぞれのオブジェクトファイル中に置かれます。
このプラグマを使用することによって、このような複製を防ぐことが
可能となります。`\|\c
.B #pragma interface\c
\&\|' を含んだヘッダファイルをインクルードした場合は、これらの追加情報
は生成されません (ただし、メインの入力ソースファイル自身が `\|\c
.B #pragma implementation\c
\&\|' を含んでいる場合を除きます)。そのかわり、オブジェクトファイルは
リンク時に解決される参照を含むことになります。
.TP
.B #pragma implementation
.TP
\fB#pragma implementation "\fP\fIobjects\fP\fB.h"\fP
(C++ のみ)
インクルードされたヘッダファイルによる完全な出力を生成させたい (またそ
れをグローバルに可視化したい) 場合には、メインの入力ファイル中でこの
プラグマを使用します。この場合、インクルードされるヘッダファイルは、`\|\c
.B #pragma interface\c
\&\|' を使用していなければなりません。インライン関数のバックアップ情報、
デバッグ情報、仮想関数実現用の内部テーブルは、全てインプリメンテーション
ファイル中に生成されます。
.Sp
`\|\c
.B #pragma implementation\c
\&\|' を、引数をつけずに使用した場合は、これはそのソースファイルと同じ
ベースネーム(basename)を持つファイルに対して適用されます。例えば、`\|\c
.B allclass.cc\c
\&\|' 中の `\|\c
.B #pragma implementation\c
\&\|' は、`\|\c
.B #pragma implementation \*(lqallclass.h\*(rq \c
\&\|' と等価です。もし複数のヘッダファイルに対して、
1 つのインプリメンテーションファイルを対応させたい場合は、
文字列の引数を使用する必要があります。
.Sp
1 つのヘッダファイルに対して、複数のインプリメンテーションファイルを対
応させる方法はありません。
.SH 関連ファイル
.nf
.ta \w'LIBDIR/g++\-include 'u
file.c C 言語ソースファイル
file.h C 言語ヘッダ (プリプロセッサ) ファイル
file.i プリプロセス済みの C 言語ソースファイル
file.C C++ ソースファイル
file.cc C++ ソースファイル
file.cxx C++ ソースファイル
file.m Objective-C ソースファイル
file.s アセンブリ言語ファイル
file.o オブジェクトファイル
a.out リンクエディット済みの出力
\fITMPDIR\fR/cc\(** 一時ファイル群
\fILIBDIR\fR/cpp プリプロセッサ
\fILIBDIR\fR/cc1 C 言語コンパイラ
\fILIBDIR\fR/cc1plus C++ コンパイラ
\fILIBDIR\fR/collect いくつかのマシンで必要となるリンカのフロントエンド
\fILIBDIR\fR/libgcc.a GCC サブルーチンライブラリ
/lib/crt[01n].o スタートアップルーチン
\fILIBDIR\fR/ccrt0 C++ 用の付加的なスタートアップルーチン
/lib/libc.a 標準ライブラリ、\c
.IR intro (3) \c
を参照
/usr/include \fB#include\fP ファイルのための標準ディレクトリ
\fILIBDIR\fR/include \fB#include\fP ファイルのための GCC 標準ディレクトリ
\fILIBDIR\fR/g++\-include \fB#include\fP ファイルのための付加的な g++ ディレクトリ
.Sp
.fi
.I LIBDIR
は通常
.B /usr/local/lib/\c
.IR machine / version
の形式を持ちます
.br
.I TMPDIR
は環境変数
.B TMPDIR
(もし使用可能ならば
.B /usr/tmp
を、そうでなければ
.B /tmp\c
\& を使用します) からとられます。
.SH "関連項目"
cpp(1), as(1), ld(1), gdb(1).
.br
.B info \c
中の
.RB "`\|" gcc "\|', `\|" cpp \|',
.RB "`\|" as "\|', `\|" ld \|',
.RB `\| gdb \|'
\& エントリ
.br
.I
Using and Porting GNU CC (for version 2.0)\c
, Richard M. Stallman;
.I
The C Preprocessor\c
, Richard M. Stallman;
.I
Debugging with GDB: the GNU Source-Level Debugger\c
, Richard M. Stallman and Roland H. Pesch;
.I
Using as: the GNU Assembler\c
, Dean Elsner, Jay Fenlason & friends;
.I
ld: the GNU linker\c
, Steve Chamberlain and Roland Pesch.
.SH バグ
バグを報告する方法については、GCC マニュアルを参照してください。
.SH COPYING
Copyright
.if t \(co
1991, 1992, 1993 Free Software Foundation, Inc.
.PP
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.
.PP
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.
.PP
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.
.SH 作者
GNU CC に対して貢献した人々に関しては、GNU CC マニュアルを参照してください。
.SH 日本語訳
細川 達己(hosokawa@mt.cs.keio.ac.jp): NetBSD 用に翻訳
.br
sakai@csl.cl.nec.co.jp,
h-nokubi@nmit.mt.nec.co.jp,
.br
kumano@strl.nhk.or.jp,
horikawa@isrd.hitachi.co.jp: FreeBSD 向けに修正, 査閲
diff --git a/ja/man/man1/gdb.1 b/ja/man/man1/gdb.1
index 2ed4c1d304..ca5c6e6483 100644
--- a/ja/man/man1/gdb.1
+++ b/ja/man/man1/gdb.1
@@ -1,366 +1,381 @@
.\" Copyright (c) 1991 Free Software Foundation
.\" See section COPYING for conditions for redistribution
-.\" %Id: gdb.1,v 1.2 1994/12/30 23:25:45 jkh Exp %
+.\" %Id: gdb.1,v 1.6 1997/04/27 21:36:49 gj Exp %
.\" jpman %Id: gdb.1,v 1.2 1997/04/08 00:36:23 h-nokubi Stab %
.TH gdb 1 "4nov1991" "GNU Tools" "GNU Tools"
.SH 名称
gdb \- GNU デバッガ
.SH 書式
.na
.TP
.B gdb
.RB "[\|" \-help "\|]"
.RB "[\|" \-nx "\|]"
.RB "[\|" \-q "\|]"
.RB "[\|" \-batch "\|]"
.RB "[\|" \-cd=\c
.I dir\c
\|]
.RB "[\|" \-f "\|]"
+.RB "[\|" \-k "\|]"
+.RB "[\|" \-wcore "\|]"
.RB "[\|" "\-b\ "\c
.IR bps "\|]"
.RB "[\|" "\-tty="\c
.IR dev "\|]"
.RB "[\|" "\-s "\c
.I symfile\c
\&\|]
.RB "[\|" "\-e "\c
.I prog\c
\&\|]
.RB "[\|" "\-se "\c
.I prog\c
\&\|]
.RB "[\|" "\-c "\c
.I core\c
\&\|]
.RB "[\|" "\-x "\c
.I cmds\c
\&\|]
.RB "[\|" "\-d "\c
.I dir\c
\&\|]
.RB "[\|" \c
.I prog\c
.RB "[\|" \c
.IR core \||\| procID\c
\&\|]\&\|]
.ad b
.SH 解説
GDB をはじめとするデバッガは、プログラムが実行中もしくはクラッシュした時にその
プログラムの ``内部'' で何が行なわれているか/行われていたかを調べるのに
使用されます。
GDB は、4 つの機能 (加えてこれらをサポートする機能) によって
実行中にバグを見つけることを手助けします。
.TP
\ \ \ \(bu
プログラムの動作を詳細に指定してプログラムを実行させる。
.TP
\ \ \ \(bu
指定した条件でプログラムを停止させる。
.TP
\ \ \ \(bu
プログラムが止まった時に、何が起こったか調べる。
.TP
\ \ \ \(bu
バグによる副作用を修正し、別のバグを調べるためプログラムの状態を変更する。
.PP
GDB では C, C++, Modula-2 などで書かれたプログラムのデバッグが行なえます。
GNU Fortran コンパイラが完成すれば Fortran もサポートされます。
GDB はシェルコマンド\c
.B gdb\c
\&で起動されます。いったん起動すると、GDB コマンド\c
.B quit\c
\&を実行して終了するまで、端末からコマンドを読み続けます。
.B gdb\c
\&のオンラインヘルプは(\c
.B gdb\c
の中で)
.B help\c
\&コマンドを実行すれば表示されます。
.B gdb\c
\& は引数やオプション無しで起動できますが、
たいてい、1 つか 2 つの引数を付けて起動します。実行プログラムを
引数にする場合は以下のようになります:
.sp
.br
gdb\ program
.br
.sp
また実行プログラムと core ファイルの両方を指定することもできます:
.sp
.br
gdb\ program\ core
.br
.sp
もし実行中のプロセスのデバッグを行ないたい場合には、
第 2 引数として core の代わりにプロセス ID を指定します:
.sp
.br
gdb\ program\ 1234
.br
.sp
これは GDB をプロセス ID \c
.B 1234\c
\& のプロセスに接続します(このとき`\|\c
.B 1234\c
\&\|'という名前のファイルが存在してはいけません。
GDB はまず core ファイルを最初にチェックしにいくからです)。
よく利用される GDB コマンドには以下のようなものがあります:
.TP
.B break \fR[\|\fIfile\fB:\fR\|]\fIfunction
\&
プレークポイントを \c
\& (\c
.I file\c
\&内の)
.I function\c
に設定します。
.TP
.B run \fR[\|\fIarglist\fR\|]
プログラムの実行を開始します(もしあれば
.I arglist\c
\&を\c
引数として)。
.TP
.B bt
バックトレース: プログラムのスタックを表示します。
.TP
.BI print " expr"\c
\&
式の値を表示します。
.TP
.B c
プログラムの実行を再開します。(たとえばブレークポイントで実行を中断した後で)
.TP
.B next
次のプログラム行を実行します 。
その行内の全ての関数は 1 ステップで実行されます。
.TP
.B step
次のプログラム行を実行します。
もしその行に関数が含まれていれば、その関数内をステップ実行していきます。
.TP
.B help \fR[\|\fIname\fR\|]
GDB コマンド \c
.I name\c
\&についての情報や、
GDB を使う上での一般的な情報を表示します。
.TP
.B quit
GDB を終了します。
.PP
GDB の詳細については\c
.I
Using GDB: A Guide to the GNU Source-Level Debugger\c
\&, by Richard M. Stallman and Roland H. Pesch. を参照して下さい。
同じテキストは、
.B info\c
\& プログラム内の
.B gdb\c
\& エントリからオンラインで参照できます。
.SH オプション
オプション以外の引数は、実行ファイルと core ファイル (もしくはプロセス ID)
を表します。つまりオプションフラグでもオプションフラグの引数でもない最初の
引数は `\|\c
.B \-se\c
\&\|' オプションで指定するファイルと同じになり、(もしあれば)次の 2 番目の引数は
`\|\c
.B \-c\c
\&\|' オプションで指定するファイルと同じになります。
オプションの多くは、長い表記法と短い表記法の両方で指定することができま
すが、ここではその両方を示します。
長い表記法は、どのオプションであるのかが明確であれば、短く切り詰めても
構いません。
(好みにより `\|\c
.B \-\c
\&\|' の代わりに
`\|\c
.B +\c
\&\|' が使用できますが、ここではよく用いられる表記で記します。)
全てのオプションとコマンドライン引数は指定した順番に処理されます。
`\|\c
.B \-x\c
\&\|' オプションが使用されると、この順番は変わってきます。
.TP
.B \-help
.TP
.B \-h
短い説明つきで、全てのオプションを表示します。
.TP
.BI "\-symbols=" "file"\c
.TP
.BI "\-s " "file"\c
\&
シンボルテーブルをファイル \c
.I file\c
\&から読みます。
.TP
.BI "\-exec=" "file"\c
.TP
.BI "\-e " "file"\c
\&
ファイル \c
.I file\c
\& を実行可能ファイルとして利用します。
core dump と連係して pure data を調べるのにも用いられます。
.TP
.BI "\-se=" "file"\c
\&
ファイル \c
.I file\c
\& からシンボルテーブルを読み、同時にそれを実行可能ファイルとして利用します。
.TP
.BI "\-core=" "file"\c
.TP
.BI "\-c " "file"\c
\&
ファイル \c
.I file\c
\& を core dump として利用します。
.TP
.BI "\-command=" "file"\c
.TP
.BI "\-x " "file"\c
\&
ファイル \c
.I file\c
\&から GDB のコマンドを読み込み、実行します。
.TP
.BI "\-directory=" "directory"\c
.TP
.BI "\-d " "directory"\c
\&
ソースファイルを探すサーチパスに \c
.I directory\c
\& を追加します。
.PP
.TP
.B \-nx
.TP
.B \-n
初期化ファイル `\|\c
.B .gdbinit\c
\&\|' からコマンドを読み込みません。
通常は、
全てのコマンドオプションと引数が処理された後で、
初期化ファイル内のコマンドが実行されます。
.TP
.B \-quiet
.TP
.B \-q
起動時のメッセージおよび copyright を表示しません。
これらのメッセージはバッチモードでも抑制されます。
.TP
.B \-batch
バッチモードで動作します。`\|\c
.B \-x\c
\&\|' で指定したファイル(および、-nx か -n で抑制されていなければ `\|\c
.B .gdbinit\c
\&\|') 内の全てのコマンドを
処理した後、戻り値として \c
.B 0\c
\& を返して終了します。
コマンドファイル内の GDB コマンドの実行中にエラーが生じた場合は、
0 以外の値で終了します。
バッチモードは GDB をフィルタとして実行する場合、
たとえばプログラムをダウンロードして別のコンピュータ上で実行したりする場合
に便利です。
以下のメッセージ
.sp
.br
Program\ exited\ normally.(プログラムは正常に終了しました。)
.br
.sp
は通常、GDB の制御端末上で実行されるプログラムが終了するたびに
出力されるものですが、
バッチモードではこのようなメッセージは出力されません。
.TP
.BI "\-cd=" "directory"\c
\&
カレントディレクトリの代わりに \c
.I directory\c
\& を GDB の作業用ディレクトリとして実行します。
.TP
.B \-fullname
.TP
.B \-f
Emacs が GDB をサブプロセスとして実行する際にこのオプションを付加します。
このとき GDB は、スタックフレームが表示される度(プログラムが中断する度を
含みます)に、完全なファイル名と行番号を標準的な認識しやすい形式で表示します。
この表示書式は 2 つの
`\|\c
.B \032\c
\&\|'
文字、ファイル名、コロンで区切られた行番号と文字位置、改行の順になっ
ています。これは Emacs→GDB インタフェースプログラムにおいて、
フレームに対応するソースコードを表示するために 2 つの
`\|\c
.B \032\c
\&\|' 文字を使うことになっているからです。
+.TP
+.B \-kernel
+.TP
+.B \-k
+gdb をカーネルデバッグモードで使用します。
+プロンプトは ``(kgdb)'' になります。
+
+.TP
+.B \-wcore
+このオプションはカーネルデバッグモードで
+「動作中の」カーネルをデバッグしている時のみ使用可能であり、
+コアファイル (/dev/mem) を書き込み可能にします。
+
.TP
.BI "\-b " "bps"\c
\&
リモートデバッグ用に GDB が利用するシリアルインタフェースの転送速度を
(ボーレートまたはビット/秒で)セットします。
.TP
.BI "\-tty=" "device"\c
\&
プログラムの標準入出力に \c
.I device\c
\& を利用します。
.PP
.SH "関連項目"
.B info\c
内の
.RB "`\|" gdb "\|'"
エントリ
\&;
.I
Using GDB: A Guide to the GNU Source-Level Debugger\c
, Richard M. Stallman and Roland H. Pesch, July 1991.
.SH COPYING
Copyright (c) 1991 Free Software Foundation, Inc.
.PP
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.
.PP
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.
.PP
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.
diff --git a/ja/man/man1/getNAME.1 b/ja/man/man1/getNAME.1
index 8fdf3d2ceb..a06ff3aecd 100644
--- a/ja/man/man1/getNAME.1
+++ b/ja/man/man1/getNAME.1
@@ -1,65 +1,65 @@
.\" Copyright (c) July 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: getNAME.1,v 1.3.2.2 1998/02/20 17:32:18 jkh Exp %
+.\" %Id: getNAME.1,v 1.7 1997/11/21 07:40:47 charnier Exp %
.\" jpman %Id: getNAME.1,v 1.3 1997/07/22 17:20:08 horikawa Stab %
.Dd July 8, 1996
.Dt getNAME 1
.Os FreeBSD 2.2
.Sh 名称
.Nm getNAME
.Nd マニュアルから ``名称 (Name)'' の章を取り出す
.Sh 書式
.Nm /usr/libexec/getNAME
.Op Fl itw
.Ar
.Sh 解説
.Nm
は、マニュアルから名称の章を取り出します。
オプションが指定されていない場合は、
.Nm
は、
.Xr apropos 1
データベースのエントリを作成します。
.Pp
オプションには、以下のようなものがあります。
.Bl -tag -width indent
.It Fl i
導入エントリを作成します。
.It Fl t
目次を作成します。
.It Fl w
マニュアルのタイプを OLD, NEW, UNKNOWN のいずれかで表示します。
.El
.\" .Sh バグ
.Sh 関連項目
.Xr apropos 1 ,
.Xr makewhatis 1 ,
.Xr man 1
.Sh 歴史
.Nm
コマンドのためのマニュアルは
.Fx 2.2
から導入されました。
diff --git a/ja/man/man1/grep.1 b/ja/man/man1/grep.1
index acf488132f..0344107757 100644
--- a/ja/man/man1/grep.1
+++ b/ja/man/man1/grep.1
@@ -1,369 +1,377 @@
.TH GREP 1 "1992 September 10" "GNU Project"
.\" jpman %Id: grep.1,v 1.3 1997/07/21 07:22:12 konuma Stab %
.SH 名称
-grep, egrep, fgrep \- パターンにマッチする行を表示する
+grep, egrep, fgrep, zgrep \- パターンにマッチする行を表示する
.SH 書式
.B grep
[\-[AB] num]
[\-HRPS]
[\-CEFGLVabchilnqsvwx]
[\-e expr]
[\-f file]
files...
.SH 解説
.B grep
は、
.I files
で名前を指定されたファイル (ファイルが指定されてないか
.I files
の部分に
.B \-
が指定された場合は標準入力) を読み込み、
.I pattern
で指定したパターンにマッチする部分を含んでいるかどうかを、行毎に調べます。
デフォルト動作では、マッチした行を表示します。
.PP
.B grep
は、以下のオプションにより大きく 3 つの動作に分かれます。
.PD 0
.TP
.B \-G
.I pattern
として、基本的な正規表現を扱うモードです (下記参照)。デフォルトです。
.TP
.B \-E
.I pattern
として、拡張された正規表現を扱うモードです (下記参照)。
.TP
.B \-F
.I pattern
として、改行で区切られた固定の文字列パターンのリストを扱うモードです。
その文字列のどれかにマッチするかどうか調べます。
.LP
さらに、2 つの同種のプログラム
.B egrep
.B fgrep
が利用可能です。
.B egrep
は、
.B "grep\ \-E"
と似ています (が等価ではありません) し、歴史的な UNIX の
.B egrep
と互換性があります。
.B fgrep
は、
.B "grep\ \-F"
と同じです。
+.BR zgrep
+として呼ばれた場合には、
+.BR \-Z
+オプションが仮定されます。
.PD
.LP
全ての
.B grep
の変種は、以下のようなオプションを理解します:
.PD 0
.TP
.BI \- num
.I num
で指定した行数だけ、パターンにマッチした行の前後の行も表示します。
ただし、同じ行を 2 度以上表示する事はありません。
.TP
.BI \-A " num"
.I num
で指定した行数だけ、パターンにマッチした行の後の行も表示します。
.TP
.BI \-B " num"
.I num
で指定した行数だけ、パターンにマッチした行の前の行も表示します。
.TP
.B \-C
.B \-2
を指定した事と同じです。
.TP
.B \-V
.B grep
のバージョン番号を標準エラー出力に表示します。バグレポート
には、この番号を付記してください (下記参照)。
.TP
.B \-a
バイナリファイルの検索を行いません。
.TP
.B \-b
各行の前に、ファイルの先頭からのバイト単位のオフセットを表示します。
.TP
.B \-c
各行の表示はせず、マッチした行数だけを表示します。
.B \-v
オプションと共に指定した場合は、
マッチしなかった行数の表示となります (下記参照)。
.TP
.BI \-e " pattern"
パターンを指定します。
.B \-
で始まっているパターンを保護するために有効です。
.TP
.BI \-f " file"
パターンを
.I file
から読み込みます。
.TP
.B \-h
複数ファイルを検索した時に、出力の前にファイル名を付けることを抑制します。
.TP
.B \-i
パターンマッチにおいて、英大文字と小文字の区別をしないようにします。
.TP
.B \-L
通常の表示を抑止します;
このオプションを指定しなかったときに
全く出力されない入力ファイルの名前を表示します。
.TP
.B \-l
通常の表示を抑止します;
このオプションを指定しなかったときに
出力される入力ファイルの名前を表示します。
.TP
.B \-n
各行の出力の前に、入力ファイルにおける行番号を表示します。
.TP
.B \-q
静粛; 通常の表示を抑止します。
.TP
.B \-s
指定されたファイルが存在しないことや読み込みできないことを示す
エラーメッセージを抑止します。
.TP
.B \-v
マッチの意味を逆転します。すなわち、マッチしない行を対象にします。
.TP
.B \-w
完全な語にマッチする行のみを選択します。
部分文字列が行頭から始まっているか、
語でない文字列が前にあることがテストされます。
同様に、行末か語でない文字列が後に付いいる必要があります。
単語とは、レター・数字・アンダスコアからなる文字列です。
.TP
.B \-x
行全体がマッチする行のみを選択します。
.PP
FTS ライブラリとともにコンパイルした場合、以下のオプションが
利用可能です:
.PD 0
.TP
.BI \-H
.I \-R
オプション指定時に、
コマンドラインのシンボリックリンクを辿ります
(木を探索している時に遭遇したシンボリックリンクは辿りません) 。
.TP
-
.BI \-L
.I \-R
オプション指定時に、全てのシンボリックリンクを辿ります。
.TP
-
.BI \-P
.I \-R
オプション指定時に、シンボリックリンクを辿りません。
.TP
-
.BI \-R
ファイルのみを検索する代わりに、ファイルを根とするファイル階層を検索します。
.TP
-
+.LP
+次のオプションは zlib ライブラリと共にコンパイルした場合のみ使用可能です:
+.PD 0
+.TP
+.BI \-Z
+.I \-Z
+オプションが指定されると、検索前に入力ファイルを伸長します。
+.TP
.PD
.SH "正規表現"
.PP
正規表現は、文字列の集合を表現するパターンの事です。正規表現は、より小さな
表現を組み合わせるさまざまな演算子を用いる事により、数式表現と同じような
表現を作成する事ができます。
.PP
.B grep
は、「基本」正規表現と
「拡張」正規表現の 2 種類の正規表現を扱う事ができます。
.RB "GNU\ " grep
では、どちらの表現も機能的に違いありません。
他の実装では、基本正規表現は拡張正規表現より能力が低くなっています。
ここでは、拡張正規表現について説明します。
基本正規表現との違いは、その後に説明します。
.PP
正規表現の基本単位は、1 文字にマッチします。
レターや数字などの多くの文字は、それ自身にマッチします。
また、特殊な意味があるメタ文字も、その文字の前にバックスラッシュ
を付ける事で、その本来の文字にマッチするようになります。
.PP
.B [
.B ]
で囲まれた文字のリストは、そのリストの中に含まれるどれか 1 文字にマッチします。
ただし、リストの先頭がキャレット
.B ^
の場合は、そのリストに含まれ
.I ない
文字にマッチします。
例えば、正規表現
.B [0123456789]
は数字 1 文字にマッチします。
ASCII 文字の範囲は最初と最後の文字をハイフン (`-') でつなぐことで
指定できます。最後に、特定の名前を持つ文字クラスが既定義されています。
名前が内容を示しており、それらは、
.BR [:alnum:] ,
.BR [:alpha:] ,
.BR [:cntrl:] ,
.BR [:digit:] ,
.BR [:graph:] ,
.BR [:lower:] ,
.BR [:print:] ,
.BR [:punct:] ,
.BR [:space:] ,
.BR [:upper:] ,
.B [:xdigit:]
です。
例えば、
.B [[:alnum:]]
.B [0-9A-Za-z]
と同じですが、後者は ASCII コード順に依存しますので、前者の方が可搬的です。
(注: クラス名の鈎括弧はシンボル名の一部であり、
リストを区切る鈎括弧とは別に指定する必要があります。)
リストの中では、ほとんどの特殊文字は、通常の文字として扱われます。
リテラル
.B ]
を含むためにはリストの先頭に置いてください。同様に、リテラル
.B ^
を含むためには先頭以外に置いてください。リテラル
.B \-
を含むためには、最後に置いてください。
.PP
ピリオド
.B .
は、任意の 1 文字にマッチします。
シンボル
.B \ew
は、
.B [[:alnum:]]
と同じで、
シンボル
.B \eW
は、
.B [^[:alnum:]]
と同じです。
.PP
キャレット
.B ^
と、
ドル記号
.B $
は、それぞれ行頭と行末の空文字列にマッチするメタ文字です。
シンボル
.B \e<
とシンボル
.B \e>
は、それぞれ単語の先頭と単語の末尾の空文字列にマッチするメタ文字です。
シンボル
.B \eb
は単語の端の空文字列にマッチします。
シンボル
.B \eB
は単語の端
.I 以外
の空文字列にマッチします。
.PP
1 文字にマッチする正規表現の後には、繰り返し演算子が付くことがあります:
.PD 0
.TP
.B ?
直前の項目はオプションであり、最大 1 回マッチします。
.TP
.B *
直前の項目は 0 回以上マッチします。
.TP
.B +
直前の項目は 1 回以上マッチします。
.TP
.BI { n }
直前の項目は厳密に
.I n
回マッチします。
.TP
.BI { n ,}
直前の項目は
.I n
回以上マッチします。
.TP
.BI {, m }
直前の項目はオプションであり、最大
.I m
回マッチします。
.TP
.BI { n , m }
直前の項目は、最低
.I n
回、最大
.I m
回マッチします。
.PD
.PP
2 つの正規表現は結合可能です;
結果としてできあがる正規表現は、
結合された 2 つの部分表現にそれぞれマッチする
2 つの部分文字列を結合した任意の文字列にマッチします。
2 つの正規表現は
.B |
インフィクス演算子で繋ぐことができます;
結果としてできあがる正規表現は、
どちらかの部分表現にマッチする任意の文字列にマッチします。
.PP
繰り返しは結合に優先します。また結合は選言に優先します。
部分表現全体は括弧で括って、この順序に優先させることができます。
.PP
.I n
が 1 つの数字であるような、
後方参照
.BI \e n\c
\& は、正規表現中で括弧で囲まれた
.I n
番目の部分表現にマッチします。
.PP
基本正規表現では、メタ文字
.BR ? ,
.BR + ,
.BR { ,
.BR | ,
.BR ( ,
.B )
は、特殊な意味を失います; 代わりに、バックスラッシュを付けた
.BR \e? ,
.BR \e+ ,
.BR \e{ ,
.BR \e| ,
.BR \e( ,
.B \e)
を使用してください。
.PP
.B egrep
では、
.B {
は、特殊な意味を失います; 代わりに、
.B \e{
を使う必要があります。
.SH 診断
通常、パターンにマッチした行が見つかった場合は 0 を、
見つからなかった場合は 1 を返します。(ただし、
.B \-v
オプションを指定した場合は、逆になります。)
パターンの指定の仕方が間違っていたり、ファイルがアクセスできないなどの
エラーが発生した場合は、2 を返します。
.SH バグ
バグレポートは、
.B bug-gnu-utils@prep.ai.mit.edu
まで Email してください。この時、``Subject:'' のどこにでもいいですから
``grep'' という単語を
忘れずに入れてください。
.PP
.BI { m , n }
の表現で非常に大きな繰り返しを指定すると、非常に多くのメモリを消費します。
さらに、ある種のあいまいな正規表現を指定すると、必要となる時間とメモリ領域は
指数的に増大し、メモリ不足を起こす可能性があります。
.PP
後方参照は非常に動作が遅く、必要となる時間は指数的に増大します。
diff --git a/ja/man/man1/grops.1 b/ja/man/man1/grops.1
index 4d9305bdca..8449583714 100644
--- a/ja/man/man1/grops.1
+++ b/ja/man/man1/grops.1
@@ -1,796 +1,796 @@
.\" jpman %Id: grops.1,v 1.2 1997/06/15 11:25:35 horikawa Stab %
.ig \"-*- nroff -*-
Copyright (C) 1989-1995 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.
..
.\" Like TP, but if specified indent is more than half
.\" the current line-length - indent, use the default indent.
.de Tp
.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
.el .TP "\\$1"
..
.TH GROPS 1 "8 September 1996" "Groff Version 1.10"
.SH 名称
grops \- groff 用 PostScript ドライバ
.SH 書式
.B grops
[
.B \-glmv
] [
.BI \-b n
] [
.BI \-c n
] [
.BI \-w n
] [
.BI \-F dir
] [
.IR files \|.\|.\|.
]
.SH 解説
.B grops
は GNU
.B troff
の出力を PostScript に変換します。
通常
.B grops
は groff コマンドを
.B \-Tps
オプション付きで起動した時に起動されます。
.if 'ps'ps' (groff のデフォルトです。)
ファイルを指定しないと、
.B grops
は標準入力を読みます。
ファイル名
.B \-
を指定しても、
.B grops
は標準入力を読みます。
PostScript 出力は標準出力に書きます。
.B grops
.B groff
から起動する場合、
.B groff
.B \-P
により、オプションを
.B grops
に渡せます。
.SH オプション
.TP
.BI \-b n
不良なスプーラとプレビュアのための対処をします。
通常、
.B grops
Document Structuring Conventions version 3.0 を満たす出力を生成します。
.I n
は、不良プログラムが受理可能な出力を
.B grops
が行うように制御します。
値 0 は grops に何も対処しないようにさせます。
.B %%BeginDocumentSetup
.B %%EndDocumentSetup
のコメントを生成してはならない場合 1 を加えます;
初期バージョンの TranScript は
.B %%EndProlog
コメントと最初の
.B %%Page
コメントとの間で混乱させられましたので、これが必要です。
インクルードされたファイルで
.B %!
から始まる行を取り除かねばならない時には 2 を加えます;
Sun の pageview プレビュアで必要です。
インクルードされたファイルから
.BR %%Page ,
.BR %%Trailer ,
.B %%EndProlog
コメントを取り除かねばならない時には 4 を加えます;
.B %%BeginDocument
.B %%EndDocument
のコメントを理解しないスプーラに対して必要です。
PostScript 出力の最初の行が
.B %!PS-Adobe-3.0
ではなく
.B %!PS-Adobe-2.0
でなければならない時には 8 を加えます;
Sun の Newsprint をページ逆順を要求するプリンタと共に使用する時に必要です。
デフォルト値は
.RS
.IP
.BI broken\ n
.LP
コマンドを DESC ファイルに記述することで指定可能です。
そうでない場合はデフォルト値は 0 です。
.RE
.TP
.BI \-c n
各ページを
.I n
部ずつ印刷します。
.TP
.BI \-g
ページ長を予測します。
ページ長を予測する PostScript コードを生成します。
イメージ領域が垂直位置でページの中心に有る時のみ、予測は正しいはずです。
このオプションにより、変更無しで
letter (8.5\(mu11) と A4 の両方に印刷可能な文書を生成可能です。
.TP
.B \-l
文書をランドスケープ形式にて印刷します。
.TP
.B \-m
文書に対し手動フィードを有効にします。
.TP
.BI \-F dir
ディレクトリ
.IB dir /dev name
からフォントとデバイス記述ファイルを探します;
.I name
はデバイス名であり、通常
.B ps
です。
.TP
.BI \-w n
線の太さを M の横幅 (em) の 1000 分の
.I n
にて描画します。
.TP
.B \-v
バージョン番号を表示します。
.SH 使用方法
.BR R ,
.BR I ,
.BR B ,
.B BI
と呼ばれるスタイルがフォント位置 1 から 4 までにマウントされます。
フォントはファミリ
.BR A ,
.BR BM ,
.BR C ,
.BR H ,
.BR HN ,
.BR N ,
.BR P ,
.B T
にまとめられ、これらのスタイル中にメンバを持ちます:
.de FT
.if '\\*(.T'ps' .ft \\$1
..
.TP
.B AR
.FT AR
AvantGarde-Book
.FT
.TP
.B AI
.FT AI
AvantGarde-BookOblique
.FT
.TP
.B AB
.FT AB
AvantGarde-Demi
.FT
.TP
.B ABI
.FT ABI
AvantGarde-DemiOblique
.FT
.TP
.B BMR
.FT BMR
Bookman-Light
.FT
.TP
.B BMI
.FT BMI
Bookman-LightItalic
.FT
.TP
.B BMB
.FT BMB
Bookman-Demi
.FT
.TP
.B BMBI
.FT BMBI
Bookman-DemiItalic
.FT
.TP
.B CR
.FT CR
Courier
.FT
.TP
.B CI
.FT CI
Courier-Oblique
.FT
.TP
.B CB
.FT CB
Courier-Bold
.FT
.TP
.B CBI
.FT CBI
Courier-BoldOblique
.FT
.TP
.B HR
.FT HR
Helvetica
.FT
.TP
.B HI
.FT HI
Helvetica-Oblique
.FT
.TP
.B HB
.FT HB
Helvetica-Bold
.FT
.TP
.B HBI
.FT HBI
Helvetica-BoldOblique
.FT
.TP
.B HNR
.FT HNR
Helvetica-Narrow
.FT
.TP
.B HNI
.FT HNI
Helvetica-Narrow-Oblique
.FT
.TP
.B HNB
.FT HNB
Helvetica-Narrow-Bold
.FT
.TP
.B HNBI
.FT HNBI
Helvetica-Narrow-BoldOblique
.FT
.TP
.B NR
.FT NR
NewCenturySchlbk-Roman
.FT
.TP
.B NI
.FT NI
NewCenturySchlbk-Italic
.FT
.TP
.B NB
.FT NB
NewCenturySchlbk-Bold
.FT
.TP
.B NBI
.FT NBI
NewCenturySchlbk-BoldItalic
.FT
.TP
.B PR
.FT PR
Palatino-Roman
.FT
.TP
.B PI
.FT PI
Palatino-Italic
.FT
.TP
.B PB
.FT PB
Palatino-Bold
.FT
.TP
.B PBI
.FT PBI
Palatino-BoldItalic
.FT
.TP
.B TR
.FT TR
Times-Roman
.FT
.TP
.B TI
.FT TI
Times-Italic
.FT
.TP
.B TB
.FT TB
Times-Bold
.FT
.TP
.B TBI
.FT TBI
Times-BoldItalic
.FT
.LP
ファミリのメンバではない以下のフォントもあります:
.TP
.B ZCMI
.FT ZCMI
ZapfChancery-MediumItalic
.FT
.LP
.B SS
および
.B S
と呼ばれる特別なフォントも有ります。
Zapf Dingbats は
.BR ZD
として、逆バージョンの ZapfDingbats (シンボルが逆向き) は
.B ZDR
として使用可能です;
これらのフォントのほとんどの文字は名前が無いので、
.B \eN
にてアクセスせねばなりません。
.LP
.B grops
.B \eX
エスケープシーケンスにより生成された様々な X コマンドを理解します;
.B grops
.B ps:
タグから始まるコマンドのみを翻訳します:
.TP
.BI \eX'ps:\ exec\ code '
.I code
中の任意の PostScript コマンドを実行します。
.I code
実行前に PostScript の現在位置は
.B \eX
の位置に設定されます。
原点はページの左上になり、y 座標はページを下ると増加します。
プロシジャ
.B u
は、groff の単位を有効な座標系のものに変更するように定義されます。
例えば、
.RS
.IP
.B
\&.nr x 1i
.br
.B
\eX'ps: exec \enx u 0 rlineto stroke'
.br
.RE
.IP
は 1 インチ長の水平線を描画します。
.I code
はグラフィックステートを変更し得ますが、ページの終端までしか継続しません。
.B def
.B mdef
により指定される定義を含む辞書は、辞書スタックの頭に有るでしょう。
あなたのコードがこの辞書に定義を付加するなら、
.BI \eX'ps\ mdef \ n '\fR
を使用して、そのための空間を割り当てる必要が有ります。
定義はページの終りまでしか継続しません。
.B \eY
エスケープシーケンスをマクロを名付ける引数と共に使うと、
.I code
を複数行に渡らせることが出来ます。
例えば、
.RS
.IP
.nf
.ft B
\&.nr x 1i
\&.de y
\&ps: exec
\&\enx u 0 rlineto
\&stroke
\&..
\&\eYy
.fi
.ft R
.LP
は 1 インチ長の水平線を描画する別の方法です。
.RE
.TP
.BI \eX'ps:\ file\ name '
.B exec
コマンドと同様ですが、コードをファイル
.I name
から読みます。
.TP
.BI \eX'ps:\ def\ code '
.I code
の PostScript 定義をプロログ部に置きます。
.B \eX
コマンドに対し最大 1 定義までです。
長い定義は複数の
.B \eX
コマンドに渡り分割できます;
全ての
.I code
引数は、改行で区切られ、単純に連結されます。
定義は、
.B exec
コマンド実行時に辞書スタックに自動的にプッシュされる辞書に置かれます。
.B \eY
エスケープシーケンスをマクロを名付ける引数と共に使うと、
.I code
を複数行に渡らせることが出来ます。
.TP
.BI \eX'ps:\ mdef\ n\ code '
.B def
と同様ですが、
.I code
.I n
個まで定義を保持し得ます。
.B grops
は何個の定義を
.I code
が含むのかを知る必要が有るので、これらを含む適切な大きさの PostScript 辞書
を生成できます。
.TP
.BI \eX'ps:\ import\ file\ llx\ lly\ urx\ ury\ width\ \fR[\fP\ height\ \fR]\fP '
-PostScript グラフィクスを
+PostScript グラフィックスを
.I file
からインポートします。
引数
.IR llx ,
.IR lly ,
.IR urx ,
.I ury
は、デフォルトの PostScript 座標系における
グラフィックのバウンディングボックスを与えます;
すべて整数である必要が有ります;
.I llx
.I lly
はグラフィックの左下の x y 座標です;
.I urx
.I ury
はグラフィックの右上の x y 座標です;
.I width
.I height
は整数であり、groff の単位でグラフィックの幅と高さを与えます。
グラフィックは延び縮みして、この幅と高さになり、
グラフィックの左下角は
.B \eX
コマンドにて関連づけられた場所に位置します。
引数 height を省略すると、x y 方向が同等に縮尺され、
指定した幅になります。
.B \eX
コマンドの内容は
.B troff
が解釈しないことに注意して下さい;
グラフィックのための垂直方向の空白は自動的に付加されず、
.I width
.I height
の引数にスケーリングインジケータを付加することは許されません。
PostScript ファイルが Adobe Document Structuring Conventions から成り、
.B %%BoundingBox
コメントを含む場合、
.B sy
リクエストによる
.B psbb
コマンド実行により、groff 中でバウンディングボックスを自動的に取得可能です。
.RS
.LP
.B \-mps
マクロ (
.B grops
が groff コマンドから起動された時には自動的にロードされます) は、
画像を容易にインポート出来るようにする
.B PSPIC
マクロをインクルードします。
フォーマットは以下です。
.IP
\&\fB.PSPIC\fP [ \fB\-L\fP | \fB-R\fP | \fB\-I\fP \fIn\fP ]\ \"
\fI\|file\fP [ \fIwidth\fP [ \fIheight\fP ]]
.LP
.I file
は画像を含むファイル名;
.I width
.I height
は要求する画像の横幅と高さです。
引数
.I width
.I height
にはスケーリングインジケータを付けても構いません;
デフォルトのスケーリングインジケータは
.B i
です。
このマクロは、
画像の幅が
.I width
以下および
画像の高さが
.I height
以下の範囲において、画像を x y 方向同等で縮尺します。
デフォルトで、画像は水平的に中心に置かれます。
.BI \-L
および
.BI \-R
はそれぞれ画像を左寄せおよび右寄せします。
.B \-I
オプションは、画像を
.I n
だけインデントします。
.RE
.TP
.B \eX'ps:\ invis'
.br
.ns
.TP
.B \eX'ps:\ endinvis'
これらの
.B \eX
コマンドにて囲まれたテキストと描画コマンドは出力を生成しません。
このコマンドは、
.B troff
の出力を
.B grops
で処理する前に見るために有ります;
プレビュアがある文字または構造を表示できない時、
これらの
.B \eX
コマンドで囲むことにより、
代わりの文字または構造をプレビュー用に使えます。
.RS
.LP
例えば、標準の X11 フォントには含まれませんので、
.B gxditview
.B \e(em
文字を正しく表示できません;
この問題は以下のリクエストを実行することにより解決できます。
.IP
.ft B
.nf
\&.char \e(em \eX'ps: invis'\e
\eZ'\ev'-.25m'\eh'.05m'\eD'l .9m 0'\eh'.05m''\e
\eX'ps: endinvis'\e(em
.ft
.fi
.LP
この場合、
.B gxditview
.B \e(em
文字を表示できず線を引きますが、
.B grops
.B \e(em
文字を印刷し線を無視します。
.RE
.LP
.B grops
への入力は
.B troff (1)
の出力形式である必要が有ります。
これは
.B groff_out (5)
に記載してあります。
また、使用するデバイスに関するデバイス及びフォントの記述ファイルは
仕様に合致する必要が有ります。
.B ps
デバイスに対して提供されているデバイス及びフォントの記述ファイルは
完全にこの仕様に合致します。
.BR afmtodit (1)
を使って AFM ファイルからフォントファイルを生成可能です。
解像度は、整数値かつ
.B sizescale
の 72 倍の倍数である必要が有ります。
.B ps
デバイスは解像度 72000 および sizescale 1000 を使用します。
デバイス記述ファイルはコマンド
.IP
.BI paperlength\ n
.LP
を含む必要が有ります。これは生成される出力が、ページ長
.I n
マシン単位に適していることを意味します。
各フォント記述ファイルはコマンド
.IP
.BI internalname\ psname
.LP
を含む必要が有ります。これは PostScript におけるフォント名が
.I psname
であることを意味します。
また、コマンド
.IP
.BI encoding\ enc_file
.LP
を含む場合も有ります。これは PostScript フォントが
.I enc_file
に記載されたエンコード方式で再度エンコードする必要が有ることを意味します;
このファイルは以下の形式の行のシーケンスから成ります:
.IP
.I
pschar code
.LP
ここで
.I pschar
は PostScript における文字名であり、
.I code
はエンコードにおける位置を 10 進整数で表したものです。
フォントファイルにおいて与えられる各文字のコードは、
エンコードファイルにおける文字のコードに対応するか、
もしくは PostScript フォントが再度エンコードされていない場合は
デフォルトエンコードにおけるコードに対応する必要が有ります。
このコードを
.B \eN
エスケープシーケンスと共に
.B troff
中で使うことにより文字を選択可能です。
これは、文字が groff での名前を持たなくても可能です。
フォントファイル中の全ての文字は PostScript フォント中に存在することが
必要であり、
フォントファイル中で与えられる幅は PostScript フォントで使用される幅に
マッチする必要が有ります。
.B grops
は、groff における名前が
.B space
である文字をブランク (ページ上に何も印を付けない) であるとしています;
これにより、効率の良い小さな PostScript 出力が得られます。
.LP
.B grops
は文書印刷に必要なダウンロード可能なフォントを自動的にインクルードします。
要求時に
.B grops
にインクルードされるダウンロード可能な全てのフォントは
.B /usr/share/groff_font/devps/download
に列挙する必要が有ります;
これは以下の形式の複数の行から成ります。
.IP
.I
font filename
.LP
ここで
.I font
はフォントの PostScript における名前であり、
.I filename
はフォントを含むファイルの名前です;
.B #
から始まる行と空行は無視されます;
フィールドはタブもしくは空白により区切ります;
.I filename
の検索は、groff のフォントメトリックファイルの検索と同じ方式で行われます。
.B download
ファイル自身も同じ方式で検索されます。
.LP
ダウンロード可能なフォントもしくはインポートされた文書を含むファイルが
Adobe Document Structuring Conventions を満たす場合、
.B grops
はファイル中のコメントを十分解釈し、出力もこれを満たすようにします。
また、
.B download
ファイルに列挙された必要なフォントリソースおよびファイルリソースを提供します。
また、リソース間の依存関係を扱うことも可能です。
例えば、ダウンロード可能な Garamond フォントおよび
ダウンロード可能な Garamond-Outline フォントが有り、
後者が前者に依存すると仮定すると
(概して、後者は前者のフォント辞書をコピーして PaintType を変更したものと
定義されます)、PostScript 文書中で Garamond が Garamond-Outline より前に
現れる必要が有ります。
.B grops
がこれを自動的に扱うためには、
Garamond-Outline 用のダウンロード可能なフォントファイルが
Garamond に依存することを
Document Structuring Conventions を使用して示します。
例えば以下のように始めることで示します。
.IP
.B
%!PS-Adobe-3.0 Resource-Font
.br
.B
%%DocumentNeededResources: font Garamond
.br
.B
%%EndComments
.br
.B
%%IncludeResource: font Garamond
.LP
この場合、Garamond と Garamond-Outline を
.B download
ファイルに列挙する必要が有ります。
ダウンロード可能なフォントは、自身の名前を
.B %%DocumentSuppliedResources
コメントに含んではなりません。
.LP
.B grops
.B %%DocumentFonts
コメントを解釈しません。
.BR %%DocumentNeededResources ,
.BR %%DocumentSuppliedResources ,
.BR %%IncludeResource ,
.BR %%BeginResource ,
.BR %%EndResource
コメント
(もしくは古い
.BR %%DocumentNeededFonts ,
.BR %%DocumentSuppliedFonts ,
.BR %%IncludeFont ,
.BR %%BeginFont ,
.BR %%EndFont
コメント) は使用されます。
.SH 関連ファイル
.Tp \w'\fB/usr/share/groff_font/devps/download'u+2n
.B /usr/share/groff_font/devps/DESC
デバイス記述ファイル。
.TP
.BI /usr/share/groff_font/devps/ F
フォント
.I F
のフォント記述ファイル。
.TP
.B /usr/share/groff_font/devps/download
ダウンロード可能なフォントのリスト。
.TP
.B /usr/share/groff_font/devps/text.enc
テキストフォント用のエンコード方法。
.TP
.B /usr/share/tmac/tmac.ps
.B grops
が使用するマクロ;
.B troffrc
により自動的にロードされます。
.TP
.B /usr/share/tmac/tmac.pspic
.B PSPIC
マクロの定義。
.B tmac.ps
から自動的にロードされます。
.TP
.B /usr/share/tmac/tmac.psold
古い PostScript プリンタには存在しない文字の使用を禁止するマクロ;
.B tmac.ps
から自動的にロードされます。
.TP
.B /usr/share/tmac/tmac.psnew
.B tmac.psold
の効果を打ち消すマクロ。
.TP
.BI /tmp/grops XXXXXX
一時ファイル。
.SH "関連項目"
.\" .BR afmtodit (1),
.BR groff (1),
.BR troff (1),
.BR psbb (1),
.BR groff_out (5),
.BR groff_font (5),
.BR groff_char (7)
diff --git a/ja/man/man1/head.1 b/ja/man/man1/head.1
index 2f39b23ba6..f9ddcc8ab8 100644
--- a/ja/man/man1/head.1
+++ b/ja/man/man1/head.1
@@ -1,85 +1,73 @@
.\" 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.
.\"
.\" @(#)head.1 8.1 (Berkeley) 6/6/93
.\" jpman %Id: head.1,v 1.2 1997/04/09 23:35:30 mutoh Stab %
.\"
.Dd June 6, 1993
.Dt HEAD 1
.Os BSD 3
.Sh 名称
.Nm head
.Nd ファイルの先頭の数行を表示する
.Sh 書式
.Nm head
.Op Fl n Ar count
.Op Fl c Ar bytes
.Op Ar file ...
.Sh 解説
フィルタ
.Nm head
は、fileが指定されていればそのファイルを、指定されていなければ標準入力を読み
込み、先頭から
.Ar count
で指定された行数だけ、もしくは
.Ar bytes
だけ表示します。
.Ar count
が指定されていなかった場合は、デフォルトの 10 行を表示します。
.Pp
-1個以上のファイルが指定された場合は、
+複数のファイルが指定された場合は、
.Dq ==> XXX <==
という形式の文字列からなるヘッダを付けられます。ここで、
.Dq XXX
は、ファイル名です。
.Pp
.Nm head
ユーティリティは、成功時には 0 を返し、エラーの場合は 0 より大きい数を
返します。
-.Sh 互換性
-.\"(訳注)FreeBSD 2.2.1Rのmanには、本節の記述は無い。
-.\" 前任者の意向が分からないので、このまま残す。
-.\" 2.2.1R 対象(1997/04/10) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
-昔の UNIX の
-.Nm head
-コマンドのオプションの書式と互換を取るため、行数指定の
-オプションとして -count
-の表記も受け付けます。
.Sh 関連項目
.Xr tail 1
-.Sh 規格
-.Nm head
-ユーティリティは IEEE Std1003.2 (POSIX) 互換です。
.Sh 歴史
.Nm head
ユーティリティは
.Bx 3.0
から登場しました。
diff --git a/ja/man/man1/hexdump.1 b/ja/man/man1/hexdump.1
index 3b46746b7f..de7d243396 100644
--- a/ja/man/man1/hexdump.1
+++ b/ja/man/man1/hexdump.1
@@ -1,322 +1,322 @@
.\" 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.
.\"
.\" @(#)hexdump.1 8.2 (Berkeley) 4/18/94
-.\" %Id: hexdump.1,v 1.5 1996/10/05 22:27:09 wosch Exp %
+.\" %Id: hexdump.1,v 1.7 1997/02/22 19:55:06 peter Exp %
.\" jpman %Id: hexdump.1,v 1.2 1997/03/29 04:26:20 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt HEXDUMP 1
.Os
.Sh 名称
.Nm hexdump, hd
.Nd ASCII, 10進, 16進, 8進でのダンプ
.Sh 書式
.Nm hexdump
.Op Fl bcCdovx
.Op Fl e Ar format_string
.Op Fl f Ar format_file
.Op Fl n Ar length
.Bk -words
.Op Fl s Ar skip
.Ek
.Ar file ...
.Nm hd
.Op Fl bcdovx
.Op Fl e Ar format_string
.Op Fl f Ar format_file
.Op Fl n Ar length
.Bk -words
.Op Fl s Ar skip
.Ek
.Ar file ...
.Sh 解説
.Nm hexdump
ユーティリティは、ファイルが指定されていればそのファイル、
指定されていなければ標準入力を読み込み、ユーザの指定した
フォーマットに従って表示するフィルタです。
.Pp
オプションは以下の通りです:
.Bl -tag -width Fl
.It Fl b
.Em 1バイト 8進表示。
入力のオフセットを16進数で表示し、次に、
入力の1バイトずつを、0詰めした3桁の8進数で、1行あたり16個、
空白で区切って表示します。
.It Fl c
.Em 1バイト キャラクタ表示。
入力のオフセットを16進数で表示し、次に、
入力の1バイトずつを、空白詰めした3桁のASCII文字で、1行あたり16個、
空白で区切って表示します。
.It Fl C
.Em 標準的な hex+ASCII 表示。
入力オフセットを 16 進数で表示し、
引続いて 16 バイトを 16 進数 2 桁で空白で区切って表示し、
引き続いて同じ 16 バイトを %_p フォーマットで ``|'' 文字で括って表示します。
.Pp
コマンド
.Nm hd
を実行すると、このオプションで
.Nm hexdump
実行したことを意味します。
.It Fl d
.Em 2バイト 10進表示。
入力のオフセットを16進数で表示し、次に、
入力の2バイトずつを、0詰めした5桁の10進数で、1行あたり8個、
空白で区切って表示します。
.It Fl e Ar format_string
データの表示形式を決めるフォーマット文字列を指定します。
.It Fl f Ar format_file
一つあるいはそれ以上のフォーマット文字列(改行で区切る)
の書かれたファイルを指定します。空行、および、
空白を除いた最初の文字が
ハッシュ記号
.Pf ( Cm \&# )
である行は無視されます。
.It Fl n Ar length
入力のうち
.Ar length
バイト分だけを処理します。
.It Fl o
.Em 2バイト 8進表示。
入力のオフセットを16進数で表示し、次に、
入力の2バイトずつを、0詰めした6桁の8進数で、1行あたり8個、
空白で区切って表示します。
.It Fl s Ar offset
入力の先頭から
.Ar offset
バイトを読み飛ばします。
デフォルトでは
.Ar offset
は10進数として解釈されます。
.Cm 0x
または
.Cm 0X ,
を頭に付けると
.Ar offset
は16進数として解釈されます。また、
.Cm 0
を頭に付けると
.Ar offset
は8進数として解釈されます。
.Cm b ,
.Cm k ,
.Cm m
.Ar offset
の後ろにつけると、それぞれ
.Li 512 ,
.Li 1024 ,
.Li 1048576
倍と解釈されます。
.It Fl v
.Fl v
オプションは hexdump に対してすべての入力を表示させます。
.Fl v
オプションを指定しない場合、直前の行と
内容(オフセットは除く)が全く同じ行は何行であっても、
アスタリスク1個の1行で置き換えられます。
.It Fl x
.Em 2バイト 16進表示。
入力のオフセットを16進数で表示し、次に、
入力の2バイトづつを、0詰めした4桁の16進数で、1行あたり8個、
空白で区切って表示します。
.El
.Pp
.Nm hexdump
は、各々の入力ファイルの内容を、それらが指定された順に、
.Fl e
および
.Fl f
オプションによって指示されたフォーマット文字列に従って変換しながら、
シーケンシャルに標準出力へコピーします。
.Ss フォーマット
フォーマット文字列は、任意の数のフォーマット単位を空白で区切って
並べたものです。フォーマット単位は最大3個までの要素すなわち
繰り返し回数・バイト数・フォーマットによって構成されます。
.Pp
繰り返し回数は正の整数で、省略時の値は1です。それぞれのフォーマットは
この繰り返し回数だけ適用されます。
.Pp
バイト数も正の整数で、省略することもできます。指定された場合には
繰り返し一回あたりに処理されるバイト数を示します。
.Pp
繰り返し回数とバイト数はスラッシュ(/)で区切ります。どちらか一方だけ
指定する時も、繰り返し回数の場合は直後、バイト数の場合は直前にスラッシュを
付け、曖昧にならないようにします。スラッシュの前後にある空白は無視されます。
.Pp
フォーマットは必須であり、ダブルクォート(" ")で囲みます。フォーマットは
fprintf形式のフォーマット文字列(
.Xr fprintf 3
を参照)
ですが、以下の例外があります。
.Bl -bullet -offset indent
.It
フィールドの幅あるいは精度としてアスタリスク(*)を使用することはできません。
.It
``s'' 変換文字にはバイト数または精度を指定しなければなりません。
(精度が指定されなかった場合は文字列全体を表示するという
.Xr fprintf 3
のデフォルトとは異なります))
.It
変換文字 ``h'', ``l'', ``n'', ``p'' , ``q'' は
サポートされていません。
.It
Cの標準規格の中で記述されている
以下の一文字エスケープシーケンスをサポートしています。
.Bd -ragged -offset indent -compact
.Bl -column <alert_character>
.It NUL \e0
.It <alert character> \ea
.It <backspace> \eb
.It <form-feed> \ef
.It <newline> \en
.It <carriage return> \er
.It <tab> \et
.It <vertical tab> \ev
.El
.Ed
.El
.Pp
hexdump はさらに以下の変換文字をサポートします。
.Bl -tag -width Fl
.It Cm \&_a Ns Op Cm dox
次に表示されるバイトのオフセット(複数の入力ファイルを通算しての
値)を表示します。文字
.Cm d ,
.Cm o ,
.Cm x
を付加すると、表示をそれぞれ10進、8進、16進形式にします。
.It Cm \&_A Ns Op Cm dox
.Cm \&_a
変換文字とほぼ同じですが、すべての入力が処理された後で一度だけ実行
されるという点が異なります。
.It Cm \&_c
デフォルトの文字セット中における文字を表示します。
表示不能な文字は0詰めして3桁にした8進数で表示します。ただし標準のエスケープ
表記(上述)ができるものについてはその2文字で表示します。
.It Cm _p
デフォルトの文字セット中における文字を表示します。
表示不能な文字は
.Dq Cm \&.
として表示します。
.It Cm _u
文字セット US ASCII 中での文字を表示します。ただし制御文字については
以下に示す小文字名で表示します。16進で0xffより大きな文字に
ついては16進表記の文字列として表示します。
.Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo
.It \&000\ nul\t001\ soh\t002\ stx\t003\ etx\t004\ eot\t005\ enq
.It \&006\ ack\t007\ bel\t008\ bs\t009\ ht\t00A\ lf\t00B\ vt
.It \&00C\ ff\t00D\ cr\t00E\ so\t00F\ si\t010\ dle\t011\ dc1
.It \&012\ dc2\t013\ dc3\t014\ dc4\t015\ nak\t016\ syn\t017\ etb
.It \&018\ can\t019\ em\t01A\ sub\t01B\ esc\t01C\ fs\t01D\ gs
.It \&01E\ rs\t01F\ us\t0FF\ del
.El
.El
.Pp
各々の変換文字について、サポートされているバイト数とデフォルトの
バイト数は以下の通りです:
.Bl -tag -width "Xc,_Xc,_Xc,_Xc,_Xc,_Xc" -offset indent
.It Li \&%_c , \&%_p , \&%_u , \&%c
1バイトのみ使用できます。
.It Xo
.Li \&%d , \&%i , \&%o ,
.Li \&%u , \&%X , \&%x
.Xc
デフォルトでは4バイトで、1バイト・2バイト・4バイトが使用できます。
.It Xo
.Li \&%E , \&%e , \&%f ,
.Li \&%G , \&%g
.Xc
デフォルトでは8バイトで、4バイトも使用できます。
.El
.Pp
各フォーマット文字列によって処理されるデータの量は、
各フォーマット単位が必要とするデータ量の合計であり、これは
バイト数の繰り返し回数倍、あるいはバイト数が指定されていない場合には
フォーマットの必要とするバイト数の繰り返し回数倍になります。
.Pp
入力は``ブロック''ごとに処理されます。ブロックとは、フォーマット
文字列によって指定されるデータの塊のうちで最も大きいものです。
1ブロック分のデータを処理し切らないフォーマット文字列で、その中の
最後のフォーマット単位が何バイトかを処理し、かつ繰り返し
回数が指定されていないものは、ブロック全体が処理され切るか、
フォーマット文字列に合致するデータがブロック中になくなるまで
繰り返し回数を増やされます。
.Pp
ユーザの指定またはhexdumpが上記のように繰り返し回数を変更した結果、
繰り返し回数が1より大きくなった場合、最後の繰り返しにおける
末尾の空白は出力されません。
.Pp
バイト数を複数の変換文字と共に指定すると、一つを除いた全ての変換文字が
.Cm \&_a
または
.Cm \&_A
である時以外、エラーになります。
.Pp
入力がフォーマット文字列の一部分しか満たしていない状態で
.Fl n
オプションで指定したバイト数あるいはEOFに到達した場合、
有効なデータをすべて表示できるよう、入力ブロックには適当な数の0が
補われます。(すなわち、データの終端にまたがっている
フォーマット単位は何バイトかの0を表示します。)
.Pp
そのようなフォーマット文字列によるさらなる出力は、等数の空白で
置き換えられます。等数の空白とは、
もとの変換文字あるいは変換文字列とフィールド幅と精度は同じで
.Dq Li \&+ ,
.Dq \&\ \& ,
.Dq Li \&#
を取り除いた
.Cm s
変換文字が、NULL文字列を指した場合に出力される数の空白です。
.Pp
フォーマット文字列が指定されない場合、デフォルトの表示形式は
.Fl x
オプションが指定された場合のものと同じになります。
.Pp
.Nm hexdump
は成功すれば0を、エラーが発生すれば >0 を返します。
.Sh 実行例
入力を perusal 形式で表示する:
.Bd -literal -offset indent
"%06.6_ao " 12/1 "%3_u "
"\et\et" "%_p "
"\en"
.Ed
.Pp
\-x オプションを実装:
.Bd -literal -offset indent
"%07.7_Ax\en"
"%07.7_ax " 8/2 "%04x " "\en"
.Ed
.Sh 関連項目
.Xr gdb 1
diff --git a/ja/man/man1/host.1 b/ja/man/man1/host.1
index 43b094d842..332669f92a 100644
--- a/ja/man/man1/host.1
+++ b/ja/man/man1/host.1
@@ -1,200 +1,309 @@
.\" ++Copyright++ 1993
.\" -
.\" 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.
.\" -
.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies, and that
.\" the name of Digital Equipment Corporation not be used in advertising or
.\" publicity pertaining to distribution of the document or software without
.\" specific, written prior permission.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" -
.\" --Copyright--
-.\" %Id: host.1,v 8.1 1994/12/15 06:24:10 vixie Exp %
+.\" %Id: host.1,v 8.2 1997/03/14 02:29:44 vixie Exp %
.\" jpman %Id: host.1,v 1.3 1997/08/20 12:10:27 horikawa Stab %
-.TH HOST 1
-.SH 名称
-host \- ドメインサーバを使ってホスト名の検索を行なう
-.SH 書式
-host [-l] [-v] [-w] [-r] [-d] [-t querytype] [-a] host [ server ]
-.SH 解説
-.I host
+.Dd December 15, 1994
+.Dt HOST 1
+.Os BSD 4
+.Sh 名称
+.Nm host
+.Nd ドメインサーバを使ってホスト名の検索を行なう
+.Sh 書式
+.Nm host
+.Op Fl l
+.Op Fl v
+.Op Fl w
+.Op Fl r
+.Op Fl d
+.Op Fl t Ar querytype
+.Op Fl a
+.Ar host
+.Op Ar server
+.Sh 解説
+.Ic host
はインターネットホストに関する情報の検索を行ないます。情報は世界中に広
がった相互に接続されたサーバ群から得ます。デフォルトではホスト名と
-インターネットアドレス間の変換のみを行ないます。-t や -a オプションととも
-に使うと、そのホストに関するドメインサーバによって保守されている情報の
-全てを使うことができます。
-.PP
+インターネットアドレス間の変換のみを行ないます。
+.Dq Fl t
+や
+.Dq Fl a
+オプションとともに使うと、そのホストに関するドメインサーバによって保守
+されている情報のすべてを得ることができます。
+.Pp
引数にはホスト名かホスト番号のいずれかを指定できます。本プログラムはま
-ず引数を数字として解釈を試みます。それがうまく行かなければ、ホスト名と
+ず引数をホスト番号として解釈を試みます。それがうまくいかなければ、ホスト名と
して扱います。ホスト番号は 128.6.4.194 のようにドットによって区切られ
た 4 つの 10 進数からなります。
ホスト名は topaz.rutgers.edu のようにドットで区切られた複数の名前から
なります。
名前がドットで終っていなければ、ローカルドメインが自動的に末尾に付け加
-えられます。たとえば Rutgers のユーザは "host topaz" というように使う
+えられます。たとえば Rutgers のユーザは
+.Pp
+.D1 Ic host topaz
+.Pp
+というように使う
ことができ、これは実際には "topaz.rutgers.edu" が検索されます。
-これがうまく行かなければ、名前は変更されずに (この例では "topaz" とし
+これがうまくいかなければ、名前は変更されずに (この例では "topaz" とし
て) 試みられます。このやりかたはメールやその他のネットワークユーティリティ
でも使うことができます。
-実際に末尾に付け加えられる接尾子は "hostname" コールの結果から得られる
-ものの最初のドット以降となります。(ホスト名の検索のカスタマイズ方法に
-ついては下記を参照してください。)
-.PP
-最初の引数は検索を行なうホスト名となります。これが数字の場合、"逆引き"
+実際に末尾に付け加えられる接尾辞は、
+.Xr hostname 1
+を呼び出した結果の最初のドット以降となります。(下記の
+.Sx ホスト名検索のカスタマイズ
+の節を参照してください。)
+.Pp
+最初の引数は検索を行なうホスト名となります。これが数字の場合、
+.Dq 逆引き
が実行されます。すなわちドメインシステムは数字を名前に変換するための別
のデータベース群を参照します。
-.PP
+.Pp
2 番目の引数は省略可能です。ここでは問い合わせを行なうサーバを指定する
ことができます。この引数が指定されなければ、デフォルトのサーバ (通常は
ローカルマシン) が使われます。
-.PP
+.Pp
名前が指定された場合、3 つの異なった種類の結果が出力されます。
以下はそれらの例です。
-.br
- % host sun4
-.br
- sun4.rutgers.edu is a nickname for ATHOS.RUTGERS.EDU
-.br
- ATHOS.RUTGERS.EDU has address 128.6.5.46
-.br
- ATHOS.RUTGERS.EDU has address 128.6.4.4
-.br
- ATHOS.RUTGERS.EDU mail is handled by ARAMIS.RUTGERS.EDU
-.br
-ここでユーザはコマンド "host sun4" を入力しています。最初の行は名前
-"sun4.rutgers.edu" は実際にはニックネームであることを示しています。
-正式なホスト名は "ATHOS.RUTGERS.EDU' です。続く 2 行ではアドレスが表示
+.Pp
+.D1 Ic % host sun4
+.Dl sun4.rutgers.edu is a nickname for ATHOS.RUTGERS.EDU
+.Dl ATHOS.RUTGERS.EDU has address 128.6.5.46
+.Dl ATHOS.RUTGERS.EDU has address 128.6.4.4
+.Dl ATHOS.RUTGERS.EDU mail is handled by ARAMIS.RUTGERS.EDU
+.Pp
+ここでユーザはコマンド
+.Dq Ic host sun4
+を入力しています。最初の行は名前
+.Dq Li sun4.rutgers.edu
+は実際にはニックネームであることを示しています。
+正式なホスト名は
+.Dq Li ATHOS.RUTGERS.EDU
+です。続く 2 行ではアドレスが表示
されています。もし複数のネットワークインタフェースをもつシステムであ
-れば、その各々は別のアドレスを持ちます。最後の行では ATHOS.RUTGERS.EDU
+れば、その各々は別のアドレスを持ちます。最後の行では
+.Li ATHOS.RUTGERS.EDU
は自分に対するメールは受け取らないことを示しています。このホスト宛ての
-メールは ARAMIS.RUTGERS.EDU によって取り込まれます。いくつかのシステム
+メールは
+.Li ARAMIS.RUTGERS.EDU
+によって取り込まれます。いくつかのシステム
ではそのメールを扱うシステムが複数存在することがあり、その場合はこの行
のような情報がさらに出力されます。技術的にはメールを受け取ることのでき
-る全てのシステムがこのようなエントリを持つと考えられます。もしシステム
-がそのメールを自分自身で受け取る場合、"XXX mail is handled by XXX" の
-ように、そのシステム自身について言及したエントリがあるはずです。しかし、
+るすべてのシステムがこのようなエントリを持つと考えられます。もしシステム
+がそのメールを自分自身で受け取る場合、
+.Pp
+.D1 Li XXX mail is handled by XXX
+.Pp
+のように、そのシステム自身について言及したエントリがあるはずです。しかし、
メールを自分で受け取る多くのシステムではわざわざその事実について言及し
-ていません。もしあるシステムに "mail is handled by" のエントリがあるの
-にアドレスがなければ、それは本当はインターネットの構成員ではないが、
+ていません。もしあるシステムに
+.Dq Li mail is handled by
+のエントリがあるのにアドレスがなければ、
+それは本当はインターネットの構成員ではないが、
ネットワーク上のあるシステムがメールをそこに転送してくることを示しています。
Usenet や Bitnet やその他の多くのネットワーク上のシステムではこの種の
エントリを持っています。
-.PP
+.Sh オプション
ホスト名の前に指定できるオプションは沢山あります。これらのオプションの
ほとんどはドメインデータベースを保守しているスタッフにのみ意味のあるも
のです。
-.PP
-オプション -w を指定すると、host は応答があるまで永遠に待ち続けます。通
-常は 1 分程でタイムアウトになります。
-.PP
-オプション -v を指定すると、"verbose" 形式で表示されます。これは正式な
-ドメインマスタのファイル形式となります。この形式については "named" の
-man ページに文書化されています。このオプションがなくても出力の形式は一
-般的な意味ではこの正式な形式に準拠したものとなりますが、通常のユーザに
-とって分かりやすいものにされます。-v が指定されなければ、"a"、"mx"、
-"cname" の各レコードはそれぞれ"has address"、"mail is handled by"、
-"is a nickname for" と出力され、TTL とクラスフィールドは表示されません。
-.PP
-オプション -r を指定すると、再帰的な問い合わせを行ないません。これは
+.Bl -tag -width Fl
+.It Fl w
+このオプションを指定すると、
+.Ic host
+は応答があるまで永遠に待ち続けます。通常は
+1 分程でタイムアウトになります。
+.It Fl v
+「冗長」な (verbose) 形式で表示されます。これは正式な
+ドメインマスタのファイル形式となります。この形式については
+.Xr named 8
+の man ページに文書化されています。このオプションがなくても出力の形式は
+一般的な意味ではこの正式な形式に準拠したものとなりますが、通常のユーザに
+とって分かりやすいものにされます。
+.Dq Fl v
+が指定されなければ、"a", "mx", "cname" の各レコードは
+それぞれ "has address", "mail is handled by", "is a nickname for"
+と出力され、TTL とクラスフィールドは表示されません。
+.It Fl r
+再帰的な問い合わせを行ないません。これは
ネームサーバがそのサーバ自身のデータベースに所持しているデータのみを返すこ
とを意味します。サーバは他のサーバに情報の問い合わせを行ないません。
-.PP
-オプション -d を指定すると、デバッグモードとなります。ネットワーク
-トランザクションが詳細に表示されます。
-.PP
-オプション -t によって特定のタイプの情報の検索を指定することができます。
-引数は "named" の man ページにおいて定義されています。現在サポートされ
-ているタイプには a、ns、md、mf、cname、soa、mb、mg、mr、null、wks、ptr、
-hinfo、minfo、mx、uinfo とワイルドカード (これは "any" か "*" として指
-定されます) があります。タイプは小文字で指定しなければなりません。
-デフォルトでは最初に "a" が検索され、次に "mx" が検索されます。ただし、
-"verbose" オプションが指定されていると、デフォルトでは "a" のみの検索
-を行ないます。
-.PP
-オプション -a ("all" の意) は "-v -t any" と同じです。
-.PP
-オプション -l を指定すると完全なドメインのリストを表示します。例えば
-.br
- host -l rutgers.edu
-.br
-を実行すると、rutgers.edu ドメインの全てのホストのリストを表示します。
--t オプションを使うことによって表示する情報にフィルタをかけることがで
+.It Fl d
+デバッグモードとなります。ネットワークトランザクションが詳細に表示されます。
+.It Fl t Ar querytype
+特定の
+.Ar querytype
+の情報の検索を指定することができます。
+引数は
+.Xr named 8
+の man ページにおいて定義されています。現在サポートされ
+ているタイプには以下のものが含まれます:
+.Dq Cm a ,
+.Dq Cm ns ,
+.Dq Cm md ,
+.Dq Cm mf ,
+.Dq Cm cname ,
+.Dq Cm soa ,
+.Dq Cm mb ,
+.Dq Cm mg ,
+.Dq Cm mr ,
+.Dq Cm null ,
+.Dq Cm wks ,
+.Dq Cm ptr ,
+.Dq Cm hinfo ,
+.Dq Cm minfo ,
+.Dq Cm mx ,
+.Dq Cm uinfo ,
+.Dq Cm uid ,
+.Dq Cm gid ,
+.Dq Cm unspec
+さらに、ワイルドカード (これは
+.Dq Cm any
+か
+.Dq Cm *
+として指定されます) があり、上記のすべてのタイプを指定するためにつかいます。
+タイプは小文字で指定しなければなりません。
+デフォルトでは最初に
+.Dq Cm a
+が検索され、次に
+.Dq Cm mx
+が検索されます。ただし、verbose オプションが指定されていると、デフォルトでは
+.Dq Cm a
+のみの検索を行ないます。オプション
+.Dq Fl t
+は
+.Ic host
+が返す情報にフィルタをかけるのに特に有効です。
+それ以上の情報は下記の
+.Dq Fl l
+オプションの説明を参照してください。
+.It Fl a
+.Dq all
+の意。
+.Dq Fl v Fl t Cm any
+と同じです。
+.It Fl l
+完全なドメインのリストを表示します。例えば
+.Pp
+.D1 Ic host -l rutgers.edu
+.Pp
+を実行すると、rutgers.edu ドメインのすべてのホストのリストを表示します。
+.Dq Fl t
+オプションを使うことによって表示する情報にフィルタをかけることがで
きます。デフォルトでは PTR と NS レコードを含んだアドレス情報が表示さ
れます。
-.br
- host -l -v -t any rutgers.edu
-.br
-のコマンドでは rutgers.edu の完全なゾーンデータを正式なマスタファイル
+.Pp
+.D1 Ic host -l -v -t any rutgers.edu
+.Pp
+このコマンドでは rutgers.edu の完全なゾーンデータを正式なマスタファイル
の形式でダウンロードします。(しかし不思議な理由により SOA レコードは 2
-回リストされます。) ノート : -l フラグは完全なゾーン転送を行なった後、
+回リストされます。)
+.Pp
+.Sy 注:
+.Dq Fl l
+フラグは完全なゾーン転送を行なった後、
要求した情報をフィルタリングするように実装されています。このコマンドは
絶対に必要な時に限って使うべきです。
-.SH ホスト名検索のカスタマイズ
+.Sh ホスト名検索のカスタマイズ
一般にユーザによって指定された名前にドットが含まれていなければ、
デフォルトのドメインがその末尾に付け加えられます。このドメインは
-/etc/resolv.conf において定義することができますが、通常はローカルの
+.Pa /etc/resolv.conf
+において定義することができますが、通常はローカルの
ホスト名の最初のドット以降を取ることによって求められます。ユーザは環境変数
-.I LOCALDOMAIN
+.Ev LOCALDOMAIN
を使って異なるデフォルトドメインを指定することによって、これを
オーバーライドすることができます。さらに、ユーザはホスト名の独自の略称を使うこ
ともできます。略称は 1 つの略称につき 1 行からなるファイルにおいて指定
します。各行には略称、スペース、そして完全なホスト名が含まれます。この
ファイルは環境変数
-.I HOSTALIASES
+.Ev HOSTALIASES
にてファイル名を指定します。
-.SH 関連項目
-named (8)
-.SH バグ
+.Sh 環境変数
+.Bl -tag -width "/etc/resolv.conf " -compress
+.It Ev HOSTALIASES
+.Pq Ar ホストの別名 , 完全なホスト名
+のペアを含んでいるファイルのファイル名
+.El
+.Sh 関連ファイル
+.Bl -tag -width "/etc/resolv.conf " -compress
+.It Pa /etc/resolv.conf
+.Xr resolver 5
+を参照してください。
+.It Ev HOSTALIASES
+.Pq Ar ホストの別名 , 完全なホスト名
+のペアを含んでいるファイルのファイル名
+.El
+.Sh 関連項目
+.Xr named 8 、
+.Xr resolver 5
+.Sh バグ
ローカルドメインに含まれない名前を入力すると予期できない影響が起こり得
-ます。名前がドットで終っていない限り、ローカルドメイン名が全ての名前の
+ます。名前がドットで終っていない限り、ローカルドメイン名がすべての名前の
末尾に付加されることをいつも心に留めておいてください。
ローカルドメインの補完に失敗した時のみ、名前は変更されずに使用されます。
-.PP
--l オプションでは要求されたドメインにおいてリストされている最初の
+.Pp
+.Dq Fl l
+オプションでは要求されたドメインにおいてリストされている最初の
ネームサーバにのみ問い合わせを行ないます。もしこのサーバが死んでいれば、
サーバをマニュアルで指定しなければなりません。たとえば foo.edu のリストを
-得るには、"host -t ns foo.edu" と指定して foo.edu の全てのネームサーバ
-のリストを得てから、動作するものが見つかるまでリストにある全ての
-ネームサーバについて "host -l foo.edu xxx" (ここで xxx はネームサーバ) を試
-みれば良いでしょう。
+得るには、
+.Pp
+.D1 Ic host -t ns foo.edu
+.Pp
+と指定して foo.edu のすべてのネームサーバ
+のリストを得てから、動作するものが見つかるまでリストにあるすべての
+ネームサーバについて
+.Pp
+.D1 Ic host -l foo.edu xxx
+.Pp
+(ここで
+.Dq Ic xxx
+はネームサーバ) を試みれば良いでしょう。
diff --git a/ja/man/man1/hostname.1 b/ja/man/man1/hostname.1
index a31ef11955..c3f39b6b4d 100644
--- a/ja/man/man1/hostname.1
+++ b/ja/man/man1/hostname.1
@@ -1,65 +1,65 @@
.\" Copyright (c) 1983, 1988, 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.
.\"
.\" @(#)hostname.1 8.2 (Berkeley) 4/28/95
-.\" %Id: hostname.1,v 1.3.2.4 1998/07/15 02:01:26 jkh Exp %
+.\" %Id: hostname.1,v 1.8 1998/05/13 07:45:46 charnier Exp %
.\" jpman %Id: hostname.1,v 1.2 1997/04/10 07:27:59 mutoh Stab %
.\"
.Dd April 28, 1995
.Dt HOSTNAME 1
.Os BSD 4.2
.Sh 名称
.Nm hostname
.Nd 現在のホスト名の表示、設定
.Sh 書式
.Nm hostname
.Op Fl s
.Op Ar name-of-host
.Sh 解説
.Nm
は、現在のホストの名前を表示します。
スーパーユーザは、引数を与えることでホスト名の設定をすることもできます。
これは通常、ブート時にネットワークの初期化スクリプトである
.Pa /etc/rc.network
の中で行なわれます。
.Pp
オプションとしては、以下のものがあります。
.Bl -tag -width flag
.It Fl s
名前からドメイン情報を取り除いて表示します。
.El
.Sh 関連項目
.Xr gethostname 3
.Sh 歴史
.Nm
ユーティリティは
.Bx 4.2
から登場しています。
diff --git a/ja/man/man1/id.1 b/ja/man/man1/id.1
index a817f708e7..6123176b65 100644
--- a/ja/man/man1/id.1
+++ b/ja/man/man1/id.1
@@ -1,145 +1,150 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)id.1 8.1 (Berkeley) 6/6/93
-.\" %Id: id.1,v 1.1.1.1.8.3 1998/02/28 22:11:14 alex Exp %
+.\" %Id: id.1,v 1.5 1998/08/21 06:47:58 obrien Exp %
.\" jpman %Id: id.1,v 1.2 1997/03/29 04:26:50 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt ID 1
.Os BSD 4.4
.Sh 名称
.Nm id
.Nd ユーザの、ユーザ名とグループ名および各番号を表示する
.Sh 書式
.Nm
.Op Ar user
.Nm id
.Fl G Op Fl n
.Op Ar user
.Nm id
+.Fl P
+.Op Ar user
+.Nm id
.Fl g Op Fl nr
.Op Ar user
.Nm id
.Fl p
.Nm id
.Fl u Op Fl nr
.Op Ar user
.Sh 解説
.Nm
ユーティリティは、
呼び出したプロセスのユーザとグループとを、
名称と ID 番号で標準出力に表示します。
もし実 ID と実効 ID が異なっている場合は、両方とも表示します。
.Pp
もし、
.Ar user
(ユーザ名かユーザ ID)
が指定された場合は、そのユーザのユーザ ID とグループ ID が表示されます。
この場合、実 ID と実効 ID とは同じものとみなされます。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width Ds
.It Fl G
グループ ID
(実効グループ、実グループ、その他)を、空白で区切って列挙します。
表示する順序に意味はありません。
+.It Fl P
+id としてパスワードファイルエントリを表示します。
.It Fl g
実効グループ ID を ID 番号で表示します。
.It Fl n
.Fl G ,
.Fl g ,
.Fl u
のオプションによる表示を、ID 番号ではなく名前による表示にします。
ID 番号に対応する名前がなかった場合は、通常通り ID 番号で表示します。
.It Fl p
人間が見やすい形で表示します。
.Xr getlogin 2
が返すユーザ名がユーザ ID から得られるログイン名と異なっている場合は、
行頭に
.Dq login
とキーワードがついて
.Xr getlogin 2
で得られる名前が表示されます
.Pf ( Xr su 1
している場合など)。
名前で表示されるユーザ ID は、頭に
.Dq uid
というキーワードをつけて表示されます。
実ユーザ ID が実効ユーザ ID
と異なっていると、
.Dq euid
というキーワードが頭について実ユーザ ID が表示されます。
実グループ ID が実効グループ ID と異なっていると、頭に
.Dq rgid
がついて実グループ名を表示します。
ユーザが属しているグループのリストを、行頭に
.Dq groups
というキーワードをつけて名前で表示します。それぞれ、行を改めて表示されます。
.It Fl r
.Fl g ,
.Fl u
のオプションで実効ユーザ ID/グループ ID ではなく、
実ユーザ ID/グループ ID を表示するようにします。
.It Fl u
実効ユーザ ID を ID 番号で表示します。
.El
.Pp
.Nm
ユーティリティは
成功の場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
.Sh 関連項目
.Xr who 1
.Sh 規格
.Nm
.St -p1003.2
準拠です。
.Sh 歴史
伝統的な
.Xr groups 1
コマンドは
.Dq Nm id Fl Gn Op Ar user
と同一です。
.Pp
伝統的な
.Xr whoami 1
コマンドは
.Dq Nm id Fl un
と同一です。
.Pp
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja/man/man1/ident.1 b/ja/man/man1/ident.1
index 009ea79412..c7ff5be5f1 100644
--- a/ja/man/man1/ident.1
+++ b/ja/man/man1/ident.1
@@ -1,186 +1,186 @@
.de Id
.\" jpman %Id: ident.1,v 1.2 1997/05/08 13:28:03 mitchy Stab %
.ds Rv \\$3
.ds Dt \\$4
.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
..
-.Id %Id: ident.1,v 1.2 1995/10/28 21:49:18 peter Exp %
+.Id %Id: ident.1,v 1.4 1997/02/22 15:47:27 peter Exp %
.ds r \&\s-1RCS\s0
.ds u \&\s-1UTC\s0
.if n .ds - \%--
.if t .ds - \(em
.TH IDENT 1 \*(Dt GNU
.SH 名称
ident \- ファイル内の RCS キーワードを読み出す
.SH 書式
.B ident
[
.B \-q
] [
.B \-V
] [
.I file
\&.\|.\|. ]
.SH 解説
.B ident
は、指定されたファイルがあればそのファイルから、指定がない場合には標準入力から、
.BI $ keyword : "\ text\ " $
なるパターンを検索します。
.PP
これらのパターンは、通常 \*r の
.BR co (1)
コマンドにより自動的に挿入されますが、
手作業で入れることも可能です。オプション
.B \-q
を指定すると、ファイル中に
キーワードが発見できなくても警告メッセージを出力しません。
.B \-V
を指定すると、
.BR ident
のバージョン番号を表示します。
.PP
.B ident
は、テキストファイルと同様にオブジェクトファイルやダンプファイルにも使
用することができます。
たとえば、以下の C 言語プログラム
.B f.c
で、
.IP
.ft 3
#include <stdio.h>
.br
static char const rcsid[] =
.br
\&"$\&Id: f.c,v \*(iD $\&";
.br
int main() { return printf(\&"%s\en\&", rcsid) == EOF; }
.ft P
.LP
.B f.c
.B f.o
にコンパイルされているなら、以下のコマンド
.IP
.B "ident f.c f.o"
.LP
は、次のような出力を行います。
.nf
.IP
.ft 3
f.c:
$\&Id: f.c,v \*(iD $
f.o:
$\&Id: f.c,v \*(iD $
.ft
.fi
.PP
C 言語プログラムで上記のような文字列
.B rcsid
が定義され、かつ使われていないとき、
.BR lint (1)
が警告を出したり、 C コンパイラによっては最適化により文字列を削除する
場合があります。もっとも、よい解決策は上のプログラム例のように文字列
.B rcsid
を使うことです。
.PP
.B ident
は、 \r* がサポートする
.I keyword
でなくても、すべての
.BI $ keyword : "\ text\ " $
パターンを表示します。
これにより、
.BR $\&XConsortium$
のような非標準の keyword についても情報が得られます。
.SH KEYWORDS
つぎに現在、
.BR co (1)
が扱う keyword を挙げます。デフォルトでは、すべての時刻は協定標準時
(\*u しばしば \&\s-1GMT\s0と呼ばれます) で表されますが、
チェックアウトのときに、
.BR co
.BI \-z zone
オプションを使ったファイルについては、数字によるタイムゾーンが付加され
ます。
.TP
.B $\&Author$
そのリビジョンをチェックインしたユーザ名です。
.TP
.B $\&Date$
そのリビジョンをチェックインした日付と時刻です。
.TP
.B $\&Header$
\*r ファイルのフルパス名を含んだ標準のヘッダ、リビジョン番号、
作者、状態、およびロックされている場合にはロックした人です。
.TP
.B $\&Id$
\*r ファイルの名前がフルパスでないことを除いて、
.BR $\&Header$ ,
と同じです。
.TP
.B $\&Locker$
そのリビジョンをロックした人のユーザ名 (ロックされていない場合は空白)
です。
.TP
.B $\&Log$
チェックインのときに書かれたログメッセージです。
.BR ident
の目的としては、
.BR $\&RCSfile$
と等価です。
.TP
.B $\&Name$
リビジョンをチェックアウトするときに使うシンボル名です(ないかもしれま
せん)。
.TP
.B $\&RCSfile$
フルパスでない \*r ファイルの名前です。
.TP
.B $\&Revision$
そのリビジョンのリビジョン番号です。
.TP
.B $\&Source$
\*r ファイルのフルパス名です。
.TP
.B $\&State$
.BR rcs (1)
or
.BR ci (1)
.B \-s
オプションで付けられたそのリビジョンの状態です。
.PP
.BR co (1)
は以下の文字をエスケープシーケンスで表現することにより、
キーワードの文字列の形を保ちます。
.LP
.RS
.nf
.ne 6
.ta \w'newline 'u
\f2char escape sequence\fP
tab \f3\et\fP
newline \f3\en\fP
space \f3\e040
$ \e044
\e \e\e\fP
.fi
.RE
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1992, 1993 Paul Eggert.
.SH 関連項目
ci(1), co(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1),
rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
diff --git a/ja/man/man1/install-info.1 b/ja/man/man1/install-info.1
index ca2d1fd2d9..1318994f7f 100644
--- a/ja/man/man1/install-info.1
+++ b/ja/man/man1/install-info.1
@@ -1,56 +1,58 @@
.\"
.\" Copyright (c) 1997 David E. O'Brien (obrien@FreeBSD.org)
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: install-info.1,v 1.1.2.1 1997/08/29 09:11:26 obrien Exp %
+.\" %Id: install-info.1,v 1.2 1998/04/01 06:29:16 charnier Exp %
.\"
.\" .TH install-info 1
.Dd August 29, 1997
.Dt INSTALL-INFO 1
.Os BSD
.Sh 名称
.Nm install-info
.Nd GNU info ハイパーテキストシステム用の info/dir ファイルを編集する
.Sh 書式
.Nm install-info
.Ar program.info info/dir
.Sh 解説
.Nm
は FreeBSD ports コレクションでよく利用されます。
.Sh 関連ファイル
/usr/share/info/dir
/usr/local/info/dir
.I F
.Sh 関連項目
.Xr info 1
.Sh 診断
なし。
.Sh バグ
知られているものはありません。
.Sh 作者
-このマニュアルページは David O'Brien (obrien@NUXI.com) によって
+このマニュアルページは
+.An David O'Brien Aq obrien@NUXI.com
+によって
書かれました。
.\" .Sh HISTORY
.\" .Nm
.\" appeared in FreeBSD 2.1.
diff --git a/ja/man/man1/install.1 b/ja/man/man1/install.1
index 98acd9e7ae..142bfce14a 100644
--- a/ja/man/man1/install.1
+++ b/ja/man/man1/install.1
@@ -1,183 +1,183 @@
.\" Copyright (c) 1987, 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: @(#)install.1 8.1 (Berkeley) 6/6/93
-.\" %Id: install.1,v 1.7.2.2 1998/07/17 07:26:30 jkh Exp %
+.\" %Id: install.1,v 1.13 1998/06/10 07:17:59 peter Exp %
.\"
.\" jpman %Id: install.1,v 1.3 1997/11/12 13:03:24 horikawa Stab %
.Dd September 22, 1996
.Dt INSTALL 1
.Os BSD 4.2
.Sh 名称
.Nm install
.Nd バイナリのインストール
.Sh 書式
.Nm install
.Op Fl CcDMps
.Op Fl f Ar flags
.Op Fl g Ar group
.Op Fl m Ar mode
.Op Fl o Ar owner
.Ar file1 file2
.Nm install
.Op Fl CcDMps
.Op Fl f Ar flags
.Op Fl g Ar group
.Op Fl m Ar mode
.Op Fl o Ar owner
.Ar file1
\&...
.Ar fileN directory
.Nm install
.Fl d
.Op Fl g Ar group
.Op Fl m Ar mode
.Op Fl o Ar owner
.Ar directory
\&...
.Sh 解説
ファイルを指定したファイルもしくはディレクトリへ移動 (
.Fl c
オプションが指定されていればコピー) します。
もしもターゲットがディレクトリであれば、
.Ar file
は元のファイル名のままで
.Ar directory
の中に移動されます。もし指定ファイルがすでに存在してい
る場合、パーミッションが許せば上書きされます。
.Pp
.Bl -tag -width Ds
.It Fl C
.Fl c
オプションが指定されたのと同じように、コピーを行います。
コピー先ファイルがすでに存在しかつ内容が同一である場合には、
ターゲットの修正時刻を変更しないことが異なります。
.It Fl c
ファイルをコピーします。デフォルトでは
.Nm
はターゲットのファイルを作った後にオリジナルのファイルを削除しますが、
.Fl c
オプションはこの動作をオフにします。
.It Fl D
デバッグ情報を表示します。
.Fl D
が一回以上指定されている時、
.Fl C
でのリネーム処理も表示します。
.Fl D
が 2 回以上指定されている時は、
.Fl C
オプションでインストールできなかったファイルに対して警告を発します。
.It Fl d
ディレクトリを作成します。
必要であれば、無い親ディレクトリも作成されます。
.It Fl f
ターゲットファイルのファイルフラグを指定します;
指定可能なフラグのリストとその意味は
.Xr chflags 1
を参照して下さい。
.It Fl g
グループを指定します。数値指定の GID が利用できます。
.It Fl M
.Xr mmap 2
の使用を全面的に禁止します。
.It Fl m
モードを指定します。デフォルトのモードは rwxr-xr-x
(0755) にセットされます。モード指定は 8 進数もしくは
シンボリックな値のどちらでも可能です; 指定可能なモードの値については
.Xr chmod 1
を参照して下さい。
.It Fl o
所有者を指定します。数値指定の UID が利用できます。
.It Fl p
修正時刻を保存します。
.Fl C
(比較してコピー) オプションが指定された場合のようにコピーを行いますが、
ターゲットファイルが存在しないもしくは内容が異る場合、
ファイルの修正時刻を保存します。
.It Fl s
.Nm
.Xr strip 1
コマンドを実行してバイナリをストリップします。
.Nm strip
コマンドを別に起動するため、多くのシステムやバイナリ形式に対して
移植性のある方法となっています。
.El
.Pp
デフォルトでは
.Nm
は全てのファイルフラグを保存します。ただし ``nodump'' フラグは例外です。
.Pp
.Nm
ユーティリティは、ファイルをそれ自身に移動しないように試みます。
.Pp
.Pa /dev/null
をインストールすると、空のファイルを作ります。
.Pp
正常終了時は 0 が返ります。他の場合は 1 が返ります。
.Pp
.Sh 関連ファイル
.Bl -tag -width INS@XXXX -compact
.It Pa INS@XXXX
.Fl C
もしくは
.Fl p
オプションが使われている時は、一時ファイル名を INS@XXXXとします。
ここで、 XXXX 部分は
.Xr mkstemp 3
で決定され、ターゲットディレクトリに作成されます。
.Sh 関連項目
.Xr chflags 1 ,
.Xr chgrp 1 ,
.Xr chmod 1 ,
.Xr cp 1 ,
.Xr mv 1 ,
.Xr strip 1 ,
.Xr mmap 2 ,
.Xr chown 8
.Sh 歴史
.Nm
ユーティリティは
.Bx 4.2
から登場しました。
.Sh バグ
.Nm install
が異常終了した場合に、
一時ファイルがターゲットディレクトリに残るかも知れません。
.Pp
NFS ファイルシステム経由では
.Xr fchflags 2
でファイルフラグを設定できません。
他のファイルシステムはフラグの概念がありません。
フラグをサポートしないファイルシステムにおいてフラグ設定に失敗した場合には、
.Nm
は警告だけ行います。
diff --git a/ja/man/man1/intro.1 b/ja/man/man1/intro.1
index a5dd798ef9..3d155a500f 100644
--- a/ja/man/man1/intro.1
+++ b/ja/man/man1/intro.1
@@ -1,97 +1,97 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)intro.1 8.2 (Berkeley) 12/30/93
-.\" %Id: intro.1,v 1.4.2.3 1997/06/13 21:13:27 max Exp %
+.\" %Id: intro.1,v 1.10 1997/06/13 21:11:27 max Exp %
.\" jpman %Id: intro.1,v 1.2 1997/05/17 15:58:13 horikawa Stab %
.\"
.Dd December 30, 1993
.Dt INTRO 1
.Os
.Sh 名称
.Nm intro
.Nd 通常コマンド (ツールとユーティリティ) の手引
.Sh 解説
マニュアルのセクション1は、
.Bx
ユーザ環境を構成するコマンドのほとんどについて書かれています。
セクション1に含まれるコマンドを以下にいくつか列挙します。
.de OP
.ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]"
.el .RB "[\ " "\\$1" "\ ]"
..
.Pp
テキストエディタ
.Pp
コマンドシェルインタープリタ
.Pp
検索およびソートツール
.Pp
ファイル操作コマンド
.Pp
システム状態参照コマンド
.Pp
遠隔ファイルコピーコマンド
.Pp
メールコマンド
.Pp
コンパイラおよびコンパイラ関連ツール
.Pp
整形出力ツール
.Pp
ラインプリンタコマンド
.Pp
.Pp
すべてのコマンドは終了 (exit) 時にステータス値をセットするので、
その値を調べることで
コマンドが正常に終了したかどうかを判断することができるようになって
います。
exit 値とそれが意味するものは、個々のマニュアルに明記されていま
す。伝統的に、値 0 はコマンドが完全に成功したことを表します。
.Sh 関連項目
.Xr apropos 1 ,
.Xr man 1 ,
.Xr intro 2 ,
.Xr intro 3 ,
.Xr intro 4 ,
.Xr intro 5 ,
.Xr intro 6 ,
.Xr intro 7 ,
.Xr intro 8 ,
.Xr intro 9
.Pp
.%T "UNIX User's Manual Supplementary Documents"
の中のチュートリアル
.Sh 歴史
.Nm
マニュアルは
.At v6
から登場しました。
diff --git a/ja/man/man1/ipcrm.1 b/ja/man/man1/ipcrm.1
index e58827bab3..4bfde524fb 100644
--- a/ja/man/man1/ipcrm.1
+++ b/ja/man/man1/ipcrm.1
@@ -1,79 +1,79 @@
.\" Copyright (c) 1994 Adam Glass
.\" 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. 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 Adam Glass ``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 Adam Glass 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: ipcrm.1,v 1.1.8.2 1997/09/15 08:32:01 jkh Exp %
+.\" %Id: ipcrm.1,v 1.5 1997/07/15 09:54:34 charnier Exp %
.\" jpman %Id: ipcrm.1,v 1.2 1997/05/04 07:58:04 horikawa Stab %
.\""
.Dd August 8, 1994
.Dt ipcrm 1
.Os
.Sh 名称
.Nm ipcrm
.Nd 指定したメッセージキュー、セマフォセット、共有メモリセグメントを削除する
.Sh 書式
.Nm
.Op Fl q Ar msqid
.Op Fl m Ar shmid
.Op Fl s Ar semid
.Op Fl Q Ar msgkey
.Op Fl M Ar shmkey
.Op Fl S Ar semkey
.Ar ...
.Sh 解説
.Nm ipcrm
は、指定したメッセージキュー、セマフォ、共有メモリセグメントを
削除します。これらの System V IPC オブジェクトは、
作成時につけられるID、もしくはキーで指定することができます。
.Pp
次のようなオプションにて、削除する IPC オブジェクトを指定します。
これらのオプションはいくつでも組み合わせて使用することができます:
.Bl -tag -width indent
.It Fl q Ar msqid
.Nm msqid
で指定した ID のメッセージキューを削除します。
.It Fl m Ar shmid
.Nm shmid
で指定した ID の共有メモリセグメントに対し、削除マークを付けます。
このマークが付けられた共有メモリは、最後のプロセスがデタッチした後、
解放されます。
.It Fl s Ar semid
.Nm semid
で指定した ID のセマフォセットを削除します。
.It Fl Q Ar msgkey
.Nm msgkey
で指定したキーに対応するメッセージキューを削除します。
.It Fl M Ar shmkey
.Nm shmkey
で指定したキーに対応する共有メモリセグメントに対し、削除マークをつけます。
このマークが付けられた共有メモリは、最後のプロセスがデタッチした後、
解放されます。
.It Fl S Ar semkey
.Nm semkey
で指定したキーに対応するセマフォセットを削除します。
.El
.Pp
System V IPC オブジェクトの ID とキーは、
.Xr ipcs 1
を使って知ることができます。
.Sh 関連項目
.Xr ipcs 1
diff --git a/ja/man/man1/ipcs.1 b/ja/man/man1/ipcs.1
index 0bf10e84f4..2c85330bc6 100644
--- a/ja/man/man1/ipcs.1
+++ b/ja/man/man1/ipcs.1
@@ -1,148 +1,148 @@
.\"
.\" Copyright (c) 1994 SigmaSoft, Th. Lockert
.\" 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 SigmaSoft, Th. Lockert.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ipcs.1,v 1.3.2.3 1998/07/17 04:18:20 jkh Exp %
+.\" %Id: ipcs.1,v 1.8 1998/03/23 07:43:36 charnier Exp %
.\" jpman %Id: ipcs.1,v 1.2 1997/05/04 07:59:32 horikawa Stab %
.\"
.Dd June 18, 1994
.Dt "IPCS" 1
.Os FreeBSD 2.0
.Sh 名称
.Nm ipcs
.Nd System V プロセス間通信機構の利用状況を報告する
.Pp
.Sh 書式
.Nm
.Op Fl abcmopqstMQST
.Op Fl C Ar system
.Op Fl N Ar core
.Sh 解説
.Nm
プログラムは、システムの System V プロセス間通信 (IPC) 機構
に関する情報を提供します。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl a
使用中のセマフォ、メッセージキュー、共有メモリセグメントに関し、
可能な限り多くの情報を表示します(これは
.Fl b ,
.Fl c ,
.Fl o ,
.Fl p ,
.Fl t
オプションを同時に指定したのと同じです)。
.It Fl b
使用中のセマフォ、メッセージキュー、共有メモリセグメントの
最大許容サイズを表示します。
.Dq 最大許容サイズ(maximum allowed size)
とは、メッセージキュー中の1つのメッセージの最大バイト数、
共有メモリセグメントのサイズの最大バイト数、もしくは一組のセマフォ中の
セマフォの数を意味します。
.It Fl c
使用中のセマフォ、メッセージキュー、共有メモリセグメント作成者の名前、
グループを表示します。
.It Fl m
使用中の共有メモリセグメントの情報を表示します。
.It Fl o
使用中のメッセージキュー、共有メモリセグメントの特徴的な利用状況を表示します。
.Dq 特徴的な利用状況(outstanding usage)
とは、メッセージキューにあるメッセージ数や共有メモリセグメントを
アタッチしているプロセスの数のことです。
.It Fl p
使用中のセマフォ、メッセージキュー、共有メモリセグメントの
プロセスID情報を表示します。
.Dq プロセスID情報(process ID information)
とは、メッセージキューにメッセージを送ったり、
メッセージキューからメッセージを受け取ったりした最後のプロセス、
またはセマフォを作ったプロセスや、共有メモリセグメントをアタッチしたり、
デタッチしたりした最後のプロセスのことです。
.It Fl q
使用中のメッセージキューに関する情報を表示します。
.It Fl s
使用中のセマフォに関する情報を表示します。
.It Fl t
使用中のセマフォ、メッセージキュー、共有メモリセグメントの
アクセス時間を表示します。アクセス時間とは、
IPC オブジェクトに対する最後の制御操作を行った時間や、
メッセージを最後に送ったり受け取ったりした時間、
共有メモリセグメントを最後にアタッチしたりデタッチしたりした時間、
セマフォを最後に操作した時間のことです。
.It Fl C Ar system
デフォルトの
.Dq Pa /kernel
のかわりに、指定した
.Ar system
から名前リストを取り出します。
.It Fl M
共有メモリに関するシステム情報を表示します。
.It Fl N Ar core
デフォルトの
.Dq Pa /dev/kmem
のかわりに、指定した
.Ar core
から名前リストに関連した値を取り出します。
.It Fl Q
メッセージキューに関するシステム情報を表示します。
.It Fl S
セマフォに関するシステム情報を表示します。
.It Fl T
共有メモリ、メッセージキュー、セマフォに関するシステム情報を表示します。
.El
.Pp
もし、
.Fl M ,
.Fl m ,
.Fl Q ,
.Fl q ,
.Fl S ,
.Fl s
オプションがいずれも指定されていなければ、使用中の IPC 機構に関する情報が
表示されます。
.Sh 制限
システムデータの構造は、
.Nm
の実行中にも変化するかもしれません;
.Nm
の出力が矛盾のないものであることは保証されません。
.Sh バグ
このマニュアルページは、完全なものではありません。なぜなら、
.Nm ipcs
で表示される情報について説明していないからです。
.Sh 関連ファイル
.Bl -tag -width /etc/passwd -compact
.It Pa /dev/kmem
デフォルトのカーネルメモリ
.It Pa /kernel
デフォルトのシステム名前リスト
.El
.Sh 関連項目
.Xr ipcrm 1
.Sh 作者
.An Thorsten Lockert Aq tholo@sigmasoft.com
diff --git a/ja/man/man1/kbdcontrol.1 b/ja/man/man1/kbdcontrol.1
index 0aaa5c5ac0..76c31a5bf4 100644
--- a/ja/man/man1/kbdcontrol.1
+++ b/ja/man/man1/kbdcontrol.1
@@ -1,110 +1,110 @@
.\"
.\" kbdcontrol - a utility for manipulating the syscons keyboard driver section
.\"
.\" 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.
.\"
.\" @(#)kbdcontrol.1
.\" jpman %Id: kbdcontrol.1,v 1.3 1997/07/26 21:37:54 horikawa Stab %
.\"
.Dd May 22, 1994
.Dt kbdcontrol 1
.Os FreeBSD
.Sh 名称
.Nm kbdcontrol
.Nd syscons のキーボードドライバ部分を操作するユーティリティ
.Sh 書式
.Nm
.Op Fl dFx
.Op Fl b Ar duration.pitch | Ar belltype
.Op Fl r Ar delay.repeat | Ar speed
.Op Fl l Ar mapfile
.Op Fl f Ar # Ar string
.Op Fl h Ar size
.Op Fl L Ar mapfile
.Sh 解説
.Nm
コマンドは、
キーマップ、リピート速度/ディレイ時間、ベル
といった様々なキーボード関連オプションを syscons に対して
設定するのに用いられます。
.Pp
以下のコマンドラインオプションを使用可能です:
.Bl -tag -width indent
.It Fl b Ar duration.pitch | Ar belltype
-ベルの持続時間(duration)及びピッチ(pitch)を設定します。
+ベルの持続時間(duration)をミリ秒で、ピッチ(pitch)をヘルツで設定します。
代わりに
.Ar belltype
引数が指定された場合、この引数は
.Ar normal
(サウンドパラメータを標準値に戻します)か
.Ar visual
(ベルをビジュアルモードにします、
すなわち音を鳴らす代わりに画面をフラッシュさせます)
のいずれかでなければなりません。
.It Fl r Ar delay.repeat | Ar speed
キーボードの
.Ar delay
(250, 500, 750, 1000)
.Ar repeat
(34, 38, 42, 46, 50, 55, 59, 63, 68, 76, 84, 92, 100, 110, 118, 126,
136, 152, 168, 184, 200, 220, 236, 252, 272, 304, 336, 368, 400, 440,
472, 504)
レートを設定します。
代わりに
.Ar speed
引数が指定された場合、この引数は
.Ar slow
(1000.504),
.Ar fast
(250.34),
.Ar normal
(500.126)
でなければなりません。
.It Fl l Ar mapfile
キーボードマップをファイル
.Ar mapfile
から読み取って設定します。
.It Fl d
現在のキーボードマップを標準出力にダンプします。
.It Fl f Ar # Ar string
.BI "\-f\ " #\ string
.Ar #
番のファンクションキーで文字列
.Ar string
が送られるように設定します。
.It Fl F
ファンクションキー設定を標準状態に戻します。
.It Fl x
キーボードマップのダンプを 16 進数表示で行います。
.It Fl h Ar size
ヒストリバッファの大きさを
.Ar size
行に設定します。
.It Fl L Ar mapfile
キーボードマップをファイル
.Ar mapfile
から読み取り、これをコンパイルした結果の
.Ft "struct keymap"
を標準出力に書き出します。
.Sh 関連ファイル
.Bl -tag -width /usr/share/syscons/keymaps -compact
.Pa /usr/share/syscons/keymaps
.El
.Sh バグ
もし見つかったら報告してください。
.Sh 関連項目
.Xr vidcontrol 1 ,
.Xr keyboard 4 ,
.Xr screen 4
.Sh 作者
.An Soren Schmidt Aq sos@FreeBSD.org
.Sh 日本語訳
酒井 淳嗣(sakai@csl.cl.nec.co.jp): FreeBSD 向けに翻訳
diff --git a/ja/man/man1/kbdmap.1 b/ja/man/man1/kbdmap.1
index 9730fc2e5b..69e6ca2015 100644
--- a/ja/man/man1/kbdmap.1
+++ b/ja/man/man1/kbdmap.1
@@ -1,133 +1,133 @@
.\" Copyright (c) March 1995 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: kbdmap.1,v 1.6.2.6 1998/07/18 11:10:31 jkh Exp %
+.\" %Id: kbdmap.1,v 1.14 1998/03/23 08:23:11 charnier Exp %
.\" jpman %Id: kbdmap.1,v 1.3 1997/08/10 18:29:41 horikawa Stab %
.Dd Mar 25, 1995
.Dt KBDMAP 1
.Os FreeBSD
.Sh 名称
.Nm kbdmap ,
.Nm vidfont
.Nd syscons 用フロントエンド
.Sh 書式
.Nm kbdmap
.Op Fl K
.Op Fl V
.Op Fl d | Fl default
.Op Fl h | Fl help
.Op Fl l | Fl lang Ar language
.Op Fl p | Fl print
.Op Fl r | Fl restore
.Op Fl s | Fl show
.Op Fl v | Fl verbose
.Sh 解説
.Nm kbdmap
は有効なキーマップを容易に設定するコマンドです。
同様に
.Nm vidfont
はフォントを設定します。
いずれもデータベース中の記述(description)を探します。
この記述は英語(デフォルト)あるいは他の言語で書かれています。
両コマンドともキーマップおよびフォントのデータベースを検査します。
デフォルトでは英語で記述されていますが、他の言語でなされても構いません。
.Pp
.Tn MSDOS
コードページのキーマップやフォントを使用しないよう強く勧めます。
可能であれば
.Tn ISO
標準バージョンを使ってください!
.Tn X11
.Tn MSDOS
コードページをサポートしません。
.Sh オプション
.Bl -tag -width Ds
.It Fl K
.Xr kbdmap 1
としてコマンドを実行します。
.It Fl V
.Xr vidfont 1
としてコマンドを実行します。
.It Fl d , Fl default
デフォルト言語を使用します。$LANG は無視されます。
.It Fl h , Fl help
オプション一覧を表示して終了します。
.It Fl l , Fl lang Ar language
記述およびメニューの表示に言語
.Ar language
を用います。
.It Fl p , Fl print
標準出力に使用可能なキーマップもしくはフォントを表示し、終了します。
.It Fl r , Fl restore
.Pa /etc/rc.conf
からデフォルトフォントをロードします。
.It Fl s , Fl show
現在サポートしている言語を表示して終了します。
.It Fl v , Fl verbose
通常よりきめ細かく警告メッセージを出力します。
.Sh 環境変数
.Bl -tag -width /etc/master.passwdxx -compact
.Pa LANG
希望する言語。
.Sh 関連ファイル
.Bl -tag -width /usr/share/syscons/keymaps/INDEX.keymaps -compact
.It Pa /usr/share/syscons/keymaps/INDEX.keymaps
キーマップのデータベース。
.It Pa /usr/share/syscons/fonts/INDEX.fonts
フォントのデータベース。
.It Pa /etc/rc.conf
デフォルトのフォント。
.It Pa /usr/X11/lib/X11/locale/locale.alias
共通な LANG に関する記述。
.Sh バグ
.\" .Nm kbdmap/vidfont
.\" does not know which font is in use. E.g. if the current font
.\" is iso-8859-1 and you chose lang 'ru' (for Russian)
.\" you get funny latin1 characters and not russkij shrift.
.\"
.Nm vidcontrol
および
.Nm kbdcontrol
は(仮想)コンソールでのみ機能します。X11 上では動作しません。
.Sh 関連項目
.Xr dialog 1 ,
.Xr kbdcontrol 1 ,
.Xr vidcontrol 1 ,
.Xr rc.conf 5
.Sh 歴史
.Nm kbdmap
および
.Nm vidfont
コマンドは
.Fx 2.1
から登場しました。
.Sh 作者
.An Wolfram Schneider
.Aq wosch@FreeBSD.org ,
Berlin.
.Sh 日本語訳
酒井 淳嗣(sakai@csl.cl.nec.co.jp): FreeBSD向けに翻訳
diff --git a/ja/man/man1/kdump.1 b/ja/man/man1/kdump.1
index 16eb0c5dd7..8f133a754a 100644
--- a/ja/man/man1/kdump.1
+++ b/ja/man/man1/kdump.1
@@ -1,100 +1,100 @@
.\" 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.
.\"
.\" @(#)kdump.1 8.1 (Berkeley) 6/6/93
-.\" %Id: kdump.1,v 1.2.2.3 1997/09/15 08:32:05 jkh Exp %
+.\" %Id: kdump.1,v 1.4 1997/07/16 06:49:48 charnier Exp %
.\" jpman %Id: kdump.1,v 1.2 1997/05/16 00:24:29 mutoh Stab %
.\"
.Dd June 6, 1993
.Dt KDUMP 1
.Os BSD 4.4
.Sh 名称
.Nm kdump
.Nd カーネルのトレースデータを表示する
.Sh 書式
.Nm
.Op Fl dnlRT
.Op Fl f Ar file
.Op Fl m Ar maxdata
.Op Fl t Op cnisuw
.Sh 解説
.Nm
は、
.Xr ktrace 1
が作成したカーネルトレースファイルを
可読形式で表示します。デフォルトでは、カレントディレクトリにある
.Pa ktrace.out
ファイルを変換して表示します。
.Pp
オプションとしては、以下のものがあります:
.Bl -tag -width Fl
.It Fl d
すべての数値を 10 進数で表示します。
.It Fl f Ar file
.Pa ktrace.out
のかわりに、指定したファイルを変換して表示します。
.It Fl l
トレースファイルを何度も読みます。いったん EOF に達すると、
新たなデータが書かれるまで待ちます。
.It Fl m Ar maxdata
.Tn I/O
をデコードする際に最高
.Ar maxdata
バイトまで表示します。
.It Fl n
各動作専用に用意されている変換を行わないようにします。通常
.Nm
は多くのシステムコールを、より読みやすい形にデコードします。たとえば、
.Xr ioctl 2
の値はマクロ名に置き換えられたり、
.Va errno
の値は
.Xr strerror 3
を利用して文字列に置き換えられたりします。この動作をやめて一貫したフォー
マットで出力することで、この出力をさらに処理して分析を行うことが容易
になります。
.It Fl R
時間の表示に、前のエントリからの相対時間を使います。
.It Fl T
時間の表示に、各エントリの絶対時間を利用します。
.It Fl t Ar cnisuw
.Xr ktrace 1
.Fl t
オプションを参照してください。
.El
.Sh 関連項目
.Xr ktrace 1
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja/man/man1/key.1 b/ja/man/man1/key.1
index 75057837df..666e18e9a1 100644
--- a/ja/man/man1/key.1
+++ b/ja/man/man1/key.1
@@ -1,53 +1,53 @@
.\" from: @(#)key.1 1.0 (Bellcore) 12/2/91
-.\" %Id: key.1,v 1.2.2.2 1998/07/17 04:18:24 jkh Exp %
+.\" %Id: key.1,v 1.4 1998/03/23 07:43:42 charnier Exp %
.\" jpman %Id: key.1,v 1.3 1997/07/22 17:45:51 horikawa Stab %
.\"
.Dd December 2, 1991
.Dt KEY 1
.Os
.Sh 名称
.Nm key
.Nd S/Key 試行の応答を計算するための独立プログラム
.Sh 書式
.Nm
.Op Fl n Ar count
.Ar sequence
.Ar key
.Sh 解説
.Nm key
は、オプションの count を表示すべき一回利用パスワード
(one time access password) の数として、
そして (最大の) シーケンス番号とキーをコマンドライン引数として取ります。
そして、ユーザに秘密のパスワードの入力を促し、
単語と 16 進フォーマットの両方の応答を作成します。
.Sh 使用例
使用例です。
.sp 0
>key \-n 5 99 th91334
.sp 0
Enter password: <あなたの秘密のパスワードをここに入力>
.sp 0
OMEN US HORN OMIT BACK AHOY
.sp 0
.... あと 4 つパスワードを表示します。
.sp 0
>
.Sh オプション
.Bl -tag -width indent
.It Fl n Ar count
出力する一回利用パスワードの数です。
デフォルトは 1 です。
.El
.Sh 関連項目
.Xr keyinfo 1 ,
.Xr keyinit 1 ,
.Xr skey 1
.Sh 作者
コマンドは、
.An Phil Karn ,
.An Neil M. Haller ,
.An John S. Walden
によって
作られました。
.Sh 連絡先
.Aq staff@thumper.bellcore.com
diff --git a/ja/man/man1/keyinfo.1 b/ja/man/man1/keyinfo.1
index 97660fa7cf..357fc7fc8d 100644
--- a/ja/man/man1/keyinfo.1
+++ b/ja/man/man1/keyinfo.1
@@ -1,58 +1,58 @@
.\" from: @(#)keyinfo.1 1.1 (Bellcore) 7/20/93
-.\" %Id: keyinfo.1,v 1.2.2.2 1998/07/17 04:18:28 jkh Exp %
+.\" %Id: keyinfo.1,v 1.6 1998/03/23 07:43:53 charnier Exp %
.\" jpman %Id: keyinfo.1,v 1.2 1997/04/18 07:31:28 mutoh Stab %
.\"
.Dd April 26, 1996
.Dt KEYINFO 1
.Os
.Sh 名称
.Nm keyinfo
.Nd 現在の S/Key シーケンスナンバーとキーを表示する
.Sh 書式
.Nm
.Op Ar username
.Sh 解説
.Nm keyinfo
はユーザ名のオプションをとり、
ユーザの現在の S/Key データベースである
.Pa /etc/skeykeys
にあるシーケンスナンバとキーが表示されます。
このコマンドはフォームの中での
.Nm key
コマンドの結合によって、旅行に出かける時に使うパスワードの一覧表を
生成する時に有用です。
.sp
>key \-n <number of passwords> `keyinfo`|lpr
.Sh 使用例
実行例を以下に示します:
.sp 0
> keyinfo
.sp 0
0098 ws91340
.LP
.Sh 引数
.Bl -tag -width indent
.It Ar username
このユーザの情報を表示します。
デフォルトでは S/Key の情報はコマンドを実行したユーザのものが
表示されます。
.El
.Sh 診断
.Nm keyinfo
は、要求されたユーザのキーが見付かったときに終了コード 0 を返し、
そうでない場合に終了コード 1 を返します。
.Sh 関連項目
.Xr key 1 ,
.Xr keyinit 1
.Sh 作者
もともとのコマンドは、
.An Phil Karn ,
.An Neil M. Haller ,
.An John S. Walden
よって作成されました。
perl 用に書き直したのは、
.ie t J\(:org \%Wunsch
.el Joerg Wunsch
です。この版では setuid をしていますので、 S/Key のキーファイルは
ユーザから読めない用にしておくことができます。
diff --git a/ja/man/man1/kill.1 b/ja/man/man1/kill.1
index 5440845b58..820dface05 100644
--- a/ja/man/man1/kill.1
+++ b/ja/man/man1/kill.1
@@ -1,150 +1,150 @@
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)kill.1 8.2 (Berkeley) 4/28/95
-.\" %Id: kill.1,v 1.3.2.3 1998/07/15 02:01:27 jkh Exp %
+.\" %Id: kill.1,v 1.8 1998/05/18 03:33:07 jkoshy Exp %
.\" jpman %Id: kill.1,v 1.2 1997/04/18 07:37:46 mutoh Stab %
.\"
.Dd April 28, 1995
.Dt KILL 1
.Os
.Sh 名称
.Nm kill
.Nd プロセスを終了させる、もしくは、プロセスにシグナルを送る
.Sh 書式
.Nm kill
.Op Fl s signal_name
.Ar pid
\&...
.Nm kill
.Fl l
.Op Ar exit_status
.Nm kill
.Fl signal_name
.Ar pid
\&...
.Nm kill
.Fl signal_number
.Ar pid
\&...
.Sh 解説
.Nm
は、
.Ar pid
で指定されたプロセス番号のプロセスに対し
シグナルを送ります。
.Pp
他のユーザのプロセスにシグナルを送ることができるのは、スーパユーザ
だけです。
.Pp
オプションとしては以下のものがあります:
.Pp
.Bl -tag -width Ds
.It Fl s Ar signal_name
デフォルトの
.Dv TERM
シグナルのかわりに、
シンボルによるシグナル名で指定したシグナルを送ります。
.It Fl l Op Ar exit_status
オペランドを指定しない場合、シグナル名をリストします;
オペランドを指定する場合、
.Ar exit_status
に対応するシグナル名を表示します。
.It Fl signal_name
デフォルトの
.Dv TERM
シグナルのかわりに、
シンボルによるシグナル名で指定したシグナルを送ります。
.It Fl signal_number
負でない整数値を指定すると、
デフォルトの
.Dv TERM
シグナルのかわりに、その番号のシグナルを送ります。
.El
.Pp
以下のプロセス番号には特別な意味があります:
.Bl -tag -width Ds -compact
.It -1
スーパユーザの場合、全てのプロセスに対しシグナルを放送します;
そうでない場合、そのユーザの全てのプロセスに対しシグナルを放送します。
.El
.Pp
主なシグナル番号とシグナル名は次のとおりです:
.Bl -tag -width Ds -compact
.It 1
HUP (hang up)
.It 2
INT (interrupt)
.It 3
QUIT (quit)
.It 6
ABRT (abort)
.It 9
KILL (non-catchable, non-ignorable kill)
.It 14
ALRM (alarm clock)
.It 15
TERM (software termination signal)
.El
.Pp
.Nm
.Xr csh 1
では組み込みコマンドです;
組み込みコマンドではプロセス番号のかわりに ``%...'' の形でジョブ番号を
指定することができるので、プロセス番号はあまり使いません。
詳しくは
.Xr csh 1
を参照して下さい。
.Sh 関連項目
.Xr csh 1 ,
.Xr killall 1 ,
.Xr ps 1 ,
.Xr kill 2 ,
.Xr sigaction 2
.Sh 規格
.Nm
の機能は
.St -p1003.2
互換であることが期待されています。
.Sh 歴史
.Nm
コマンドは
.At v6
から登場しました。
.Sh バグ
.Xr csh 1
ユーザのために
.Dq Li kill 0
の代替コマンドを用意するべきです。
diff --git a/ja/man/man1/killall.1 b/ja/man/man1/killall.1
index 83cfb21f77..a56b659ab4 100644
--- a/ja/man/man1/killall.1
+++ b/ja/man/man1/killall.1
@@ -1,141 +1,141 @@
.\" Copyright (C) 1995 by Joerg Wunsch, Dresden
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: killall.1,v 1.6.2.2 1998/07/17 04:18:38 jkh Exp %
+.\" %Id: killall.1,v 1.10 1998/03/23 07:44:10 charnier Exp %
.\" jpman %Id: killall.1,v 1.3 1997/07/22 18:03:26 horikawa Stab %
.\"
.Dd June 25, 1995
.Os FreeBSD 2.2
.Dt KILLALL 1
.Sh 名称
.Nm killall
.Nd 名前で指定されるプロセスにシグナルを送る
.\"(訳注)原文では、 kill processes by name であるが、機能から考えて
.\" "プロセスにシグナルを送る"と訳した。
.\" 2.2.1R 対象(1997/04/13) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
.Sh 書式
.Nm killall
.Op Fl d \&| Ns Fl v
.Op Fl h \&| Ns Fl \&?
.Op Fl help
.Op Fl l
.Op Fl m
.Op Fl s
.Op Fl SIGNAL
.Ar procname ...
.Sh 解説
.Nm killall
は、
.Xr kill 1
がプロセス id で指定されるプロセスにシグナルを送るのに対して、
名前で指定されるプロセスにシグナルをおくります。
デフォルトでは、
.Dv TERM
シグナルを、
.Nm
実行者と同じ実効 UID を持つ、
.Ar procname
に名前が一致する全てのプロセスに送ります。
スーパユーザはどんなプロセスにたいしてもシグナルを送ることができます。
.Pp
以下のようなオプションがあります。
.Bl -tag -width 10n -offset indent
.It Fl d \&| Ns Fl v
これから、行おうとすることをより冗長に報告します。一つの
.Fl d
オプションによって、シグナルを送ろうとするプロセスの一覧が表示されるか、
一つも一致するプロセスが見付からなかったことが示されます。
.Fl d
オプションが少なくとも 2 回指定された時は、
.Xr procfs 5
で見付かった全てのプロセスの実効 UID, PID とプロセスの名前が更に
付け加えて表示されます。
.It Fl h \&| Ns Fl \&?
.It Fl help
コマンドの使い方のヘルプを表示し、終了します。
.It Fl l
.Xr kill 1
の様に利用可能なシグナルの名前の一覧を表示し、終了します。
.It Fl m
引数
.Ar procname
を ( 大文字小文字を区別しない ) 正規表現として、
.Xr procfs 5
から得られた名前に対して対応を取ります。
注意! 一つのドット (.) は、呼び出しユーザと同一の実効 UID を持つ
全てのプロセスに一致し、
危険です。正規表現の文法は
.Xr perl 1
で使っているものと同じです。
.It Fl s
何が行われるのかだけを表示し、シグナルは送られません。
.It Fl SIGNAL
デフォルトの
.Dv TERM
とは違うシグナルを送ります。シグナルは、
(頭に
.Dv SIG
を付けても付けなくても良い) 名前もしくは数字で指定します。
.El
.Sh 全てのプロセス
uid が
.Nm XYZ
である全てのプロセスに対してシグナルを送る動作は、
.Xr kill 1
で既にサポートされています。したがって、このような仕事を行うためには
.Xr kill 1
を使ってください(たとえば、 $ kill -TERM -1 もしくは、 root になって、
$ echo kill -TERM -1 |su -m <user> で可能です。)。
.Sh 診断
.Nm
コマンドは、コマンドエラーが起こった場合は、短い利用法のメッセージを
表示し、終了状態 2 で終了します。
終了状態 1 は、一致するプロセスが見付からなかった時か、全ての
プロセスに対してシグナルを送ることに成功しなかった時に返されます。
それ以外の場合は、終了状態 0 が返されます。
.Pp
診断メッセージは、
.Fl d
オプションで要求された場合だけ表示されます。
.Sh 関連項目
.Xr kill 1 ,
.Xr procfs 5
.Sh 歴史
.Nm
コマンドは
.Fx 2.1
から導入されました。
.Nm
コマンドは他のプラットホームでも利用可能なように設計されています。
.Sh 作者
このプログラムは、
.An Wolfram Schneider
によって提供されました。
このマニュアルページは
.if n Joerg Wunsch.
.if t J\(:org Wunsch
によって書かれました。
diff --git a/ja/man/man1/ktrace.1 b/ja/man/man1/ktrace.1
index bdea6b75f1..e6d45187ab 100644
--- a/ja/man/man1/ktrace.1
+++ b/ja/man/man1/ktrace.1
@@ -1,173 +1,173 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)ktrace.1 8.1 (Berkeley) 6/6/93
-.\" %Id: ktrace.1,v 1.4.2.4 1997/12/23 07:25:07 charnier Exp %
+.\" %Id: ktrace.1,v 1.7 1997/11/24 07:23:59 charnier Exp %
.\" jpman %Id: ktrace.1,v 1.2 1997/05/16 00:27:14 mutoh Stab %
.\"
.Dd June 6, 1993
.Dt KTRACE 1
.Os BSD 4.4
.Sh 名称
.Nm ktrace
.Nd カーネルプロセスのトレースを行う
.Sh 書式
.Nm ktrace
.Op Fl aCcdi
.Op Fl f Ar trfile
.Op Fl g Ar pgrp
.Op Fl p Ar pid
.Op Fl t Ar trstr
.Nm ktrace
.Op Fl adi
.Op Fl f Ar trfile
.Op Fl t Ar trstr
command
.Sh 解説
.Nm
は、指定したプロセスのカーネルのトレースログを
とります。カーネルトレース情報はファイル
.Pa ktrace.out
に記録されます。
トレースされるカーネル動作には、
システムコール、namei 変換、シグナル処理、
.Tn I/O
処理が含まれます。
.Pp
いったんプロセスのトレースを行うようにすると、トレースデータは
プロセスが終了するか、トレースポイントがクリアされるまで記録され続けます。
トレースしたプロセスは膨大な量のログを急速に作るため、ユーザはプロセスの
トレースを行う前にトレースを取り消す方法を覚えておくことを強くお勧めします。
ユーザが実行している全てのプロセスのトレース動作を取り消すには、
以下のコマンドで十分です。このコマンドが root 権限で実行された場合には、
全てのプロセスに対してトレースの取消しが行われます。
.Pp
.Dl \&$ ktrace -C
.Pp
トレースファイルはそのままでは読めませんので、
.Xr kdump 1
を使って解析してください。
.Pp
オプションとしては、以下のものがあります。
.Bl -tag -width indent
.It Fl a
既存のトレースファイルを再構築しないで、後ろに追加していきます。
.It Fl C
ユーザが実行している全てのプロセスのトレース動作をオフにします。
root が実行した場合はシステムのすべてのプロセスのトレースがオフになります。
.It Fl c
指定したファイルやプロセスに対するトレースポイントをクリアします。
.It Fl d
指定したプロセスの現在の子プロセスすべてに対してトレースを行います。
.It Fl f Ar file
トレース記録を
.Pa ktrace.out
のかわりに
.Ar file
に記録します。
.It Fl g Ar pgid
プロセスグループ内の全てのプロセスのトレースをオン (オフ) にします(
.Fl g
フラグは 1 つしか指定できません)。
.It Fl i
指定したプロセスが今後生成するすべての子プロセスに対し、トレースフラグを
継承させます。
.It Fl p Ar pid
指定したプロセス ID のトレースを行います (または 取り消します) (
.Fl p
フラグは 1 つしか指定できません)。
.It Fl t Ar trstr
この文字列引数は、カーネルトレースポイントの 1 つを 1 文字で表現しています。
以下の表は、文字とトレースポイントの対応関係を表しています。
.Pp
.Bl -tag -width flag -compact
.It Cm c
システムコールのトレース
.It Cm n
namei 変換のトレース
.It Cm i
.Tn I/O
のトレース
.It Cm s
シグナル処理のトレース
.It Cm u
ユーザでのトレース
.It Cm w
コンテキストスイッチ
.El
.It Ar command
指定したトレースフラグで
.Ar command
を実行します。
.El
.Pp
.Fl p ,
.Fl g ,
.Ar command
は相互に排他的です。同時に利用することはできません。
.Sh 使用例
# プロセス ID 34 のプロセスすべてのカーネル動作のトレースを行います。
.Dl $ ktrace -p 34
.Pp
# プロセスグループ ID 15 のすべてのプロセスのカーネル動作のトレースを行い、
現在および未来の子プロセスすべてにトレースフラグを渡します。
.Dl $ ktrace -idg 15
.Pp
# プロセス ID 65 のプロセスのすべてのトレースを取り消します。
.Dl $ ktrace -cp 65
.Pp
# プロセス ID 70 のプロセスとそのすべての子プロセスの、シグナルに関する
トレースを取り消します。
.Dl $ ktrace -t s -cdp 70
.Pp
# プロセス ID 67 のプロセスの
.Tn I/O
に関するトレースを有効にします。
.Dl $ ktrace -ti -p 67
.Pp
# コマンド "w" を実行し、システムコールのみのトレースを行います。
.Dl $ ktrace -tc w
.Pp
# "tracedata" ファイルに対するすべてのトレースを取り消します。
.Dl $ ktrace -c -f tracedata
.Pp
# ユーザが所有しているすべてのプロセスのトレースを取り消します。
.Dl $ ktrace -C
.Sh 関連項目
.Xr kdump 1
.Sh バグ
.Ar file
が普通のファイルの場合だけ働きます。
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から実装されました。
diff --git a/ja/man/man1/lastcomm.1 b/ja/man/man1/lastcomm.1
index c5b8fba3d6..4fb6bb8b97 100644
--- a/ja/man/man1/lastcomm.1
+++ b/ja/man/man1/lastcomm.1
@@ -1,172 +1,172 @@
.\" 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.
.\"
.\" From: @(#)lastcomm.1 8.1 (Berkeley) 6/6/93
-.\" %Id: lastcomm.1,v 1.3.2.1 1997/07/22 07:16:38 charnier Exp %
+.\" %Id: lastcomm.1,v 1.6 1997/07/21 12:01:45 charnier Exp %
.\" jpman %Id: lastcomm.1,v 1.2 1997/03/29 06:18:35 horikawa Stab %
.\"
.Dd September 18, 1996
.Dt LASTCOMM 1
.Os BSD 3
.Sh 名称
.Nm lastcomm
.Nd 過去に実行されたコマンドの情報を逆順に表示する
.Sh 書式
.Nm
.Op Fl EScesu
.Op Fl f Ar file
.Op Ar command ...
.Op Ar user ...
.Op Ar terminal ...
.Sh 解説
.Nm
は、以前に実行されたコマンドの情報を表示します。引数が
ないときは、現在のアカウント情報ファイルが存在している間に実行されたすべて
のコマンドの記録を表示します。
.Pp
.\" この部分原文にはありませんが、正しいことを確認しています。
.\" Kazuo HORIKAWA <horikawa@isrd.hitachi.co.jp>
このコマンドを使用するには、あらかじめ
.Xr accton 8
で、アカウント
情報ファイルを設定しておく必要があります。このファイルはデフォルトでは、
.Pa /var/account/acct
ですが、存在しない場合にはあらかじめrootで
touch /var/account/acctとしておいてから、accton /var/account/acct
を実行しなければなりません(通常 /etc/rc で起動されます)。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width XXfXfileX -compact
.Pp
.It Fl E
プロセスが終了した時刻を表示します。
.It Fl S
プロセスが開始した時刻を表示します。
.It Fl c
プロセスが使用した CPU 時間を表示します。
.It Fl e
プロセスが経過した時間を表示します。
.It Fl s
プロセスが使用したシステム時間を表示します。
.It Fl u
プロセスが使用したユーザ時間を表示します。
.It Fl f Ar file
デフォルトの
.Pa /var/account/acct
のかわりに
.Ar file
を読み
込みます。
.El
.Pp
オプションが指定されない場合には
.Fl cS
が仮定されます。
.Nm
が引数付きで呼ばれたときは、引数で与えられた
.Ar command ,
.Ar user ,
.Ar terminal
にマッチする情報を表示します。
たとえば:
.Pp
.Dl lastcomm a.out root ttyd0
.Pp
では、
.Pa a.out
というコマンド名か、
.Ar root
というユーザか、
.Ar ttyd0
というターミナルで実行されたコマンド全てのリストが出力されます。
.Pp
表示される情報は、次のようなものです。
.Pp
.Bl -bullet -offset indent -compact
.It
ユーザが実行したプロセスの名前
.It
システムのアカウント機能によってつけられるフラグ
.It
コマンドを実行したユーザ名
.It
コマンドを実行した端末名
.It
プロセスが使用した CPU
.Pq Fl c
または実
.Pq Fl e
またはシステム
.Pq Fl s
またはユーザ
.Pq Fl u
時間の合計(秒)
.It
プロセスが開始
.Pq Fl S
または終了
.Pq Fl E
した時刻
.El
.Pp
フラグには次のようなものがあります:
``S''
コマンドはスーパーユーザーによって実行されました。
``F''
コマンドが
.Xr fork 2
を行いましたが、その後、
.Xr exec 3
を行っていません。
.\" ``C''
.\" コマンドがPDP-11互換モードで実行されました (これはVAXでのみ有効です)。
``D''
コマンドが
.Pa core
ファイルを生成して終了しました。
``X''
コマンドがシグナルで終了しました。
.Pp
.Sh 関連ファイル
.Bl -tag -width /var/account/acct -compact
.It Pa /var/account/acct
デフォルトのアカウント情報ファイル
.El
.Sh 関連項目
.Xr last 1 ,
.Xr sigvec 2 ,
.Xr acct 5 ,
.Xr core 5
.Sh 歴史
.Nm
コマンドは
.Bx 3.0
から登場しました。
diff --git a/ja/man/man1/ld.1 b/ja/man/man1/ld.1
index d53d509e14..70a97c532c 100644
--- a/ja/man/man1/ld.1
+++ b/ja/man/man1/ld.1
@@ -1,291 +1,291 @@
.\"
.\" 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.
.\"
-.\" %Id: ld.1,v 1.12.2.4 1998/07/26 04:13:21 jkoshy Exp %
+.\" %Id: ld.1,v 1.20 1998/07/26 04:16:04 jkoshy Exp %
.\" jpman %Id: ld.1,v 1.4 1997/11/12 13:02:08 horikawa Stab %
.\"
.Dd October 14, 1993
.Dt LD 1
.Os FreeBSD
.Sh 名称
.Nm ld
.Nd リンクエディタ
.Sh 書式
.Nm ld
.Op Fl fMNnrSstXxz
.Bk -words
.Op Fl A Ar symbol-file
.Op Fl assert Ar keyword
.Op Fl B Ns Ar linkmode
.Op Fl D Ar datasize
.Op Fl d Ar c
.Op Fl d Ar p
.Op Fl e Ar entry
.Op Fl l Ns Ar library-specifier
.Op Fl L Ns Ar library-search-path
.Op Fl nostdlib
.Op Fl O Ar filename
.Op Fl o Ar filename
.Op Fl R Ns Ar record-library-search-path
.Op Fl T Ar address
.Op Fl u Ar symbol
.Op Fl V Ar shlib-version
.Op Fl y Ar symbol
.Ek
.Sh 解説
.Nm
はコマンドラインで指定されたオブジェクトとアーカイブファイルを結合
し、新しいオブジェクトファイルを生成します。生成されるオブジェクトファイルは
実行可能プログラム、実行時ロードに対応した共有オブジェクト、もう一度
.Nm
により処理可能なオブジェクトのいずれかになります。オブジェクト
ファイルとアーカイブはコマンドラインで指定された順に処理します。
.Pp
オプションは以下の通りです。
.Pp
.Bl -tag -width indent
.It Fl A Ar symbol-file
symbol-file を、コマンドラインで指定されたオブジェクトファイルをリンクする
ためのベースとして用います。
.It Fl assert Ar keyword
本オプションは主に SunOS の
.Nm ld
との互換性のために存在します。
Sun の assert が失敗する条件のほとんどは、本
.Nm
ではエラーになるか、警告メッセージが発せられます。
.Nm ld
が実装している唯一のキーワードは
.Nm pure-text
です。これを使用すると、位置独立オブジェクトが生成され、
位置独立でないファイルとリンクされるときに警告が生成されます。
.It Fl B Ns Ar dynamic
ダイナミックライブラリとのリンクを指定します。
ライブラリが -lx オプションによりコマンドラインから指定されると、libx.so.n.m
.Po
.Fl l
オプションの項を参照
.Pc
を検索ルールに基づき有効な範囲で検索します。もしこの形式
のライブラリが発見できなければ、検索ルールに基づき通常の libx.a を検索します。
本オプションはコマンドラインのどこにでも置くことが可能であり、
.Fl B Ns Ar static
と相補的なものです。
.It Fl B Ns Ar forcedynamic
これは
.Fl B Ns Ar dynamic
と似ていますが、ダイナミックライブラリとリンクしようとしなくても、
.Nm ld
はダイナミックな実行可能ファイルを生成します。
スタティックプログラムでありかつ、
実行時にダイナミックオブジェクトをロードする
プログラムに有用です。
.It Fl B Ns Ar static
.Fl B Ns Ar dynamic
の逆の効果を持ちます。本オプション以降に指定されたライブラリに
関しては、もう一度
.Fl B Ns Ar dynamic
が指定されるまで、ダイナミックリンクが行われなくなります。
.Fl B Ns Ar static
が有効な位置においてコマンドラインから明示的に共有オブジェクトが
指定された場合は、エラーとなります。
.It Fl B Ns Ar shareable
通常の実行可能イメージではなく、共有オブジェクトを生成するよう指示します。
.It Fl B Ns Ar symbolic
リンク時に、すべてのシンボル参照が解決されるように指示します。
実行時に必要なリロケーションは
.Em ベース相対
リロケート、すなわちロードアドレスに関する変換のみです。
シンボル参照の解決に失敗した場合はエラーとなります。
.It Fl B Ns Ar forcearchive
アーカイブ中の全メンバをロードします。
メンバが通常のオブジェクトファイルに対して定義を提供するか否かには無関係です。
PIC オブジェクトのアーカイブを展開することなく、共有ライブラリを
作成するのに便利です。
.It Fl B Ns Ar silly
共有オブジェクトのための愚かな
.Em \.sa
アーカイブを作成します。これは、version 3
の共有オブジェクトとの互換性のために存在します。
.It Fl D Ar data-size
データセグメントのサイズを設定します。
正気を保つためには、
サイズを入力ファイルの全データサイズの合計より大きくすべきです。
.It Fl d Ar c
リロケータブルな出力を作成している時でも、
コモンエリアのアロケートを強制します。
.It Fl d Ar p
非 PIC コード中の手続き呼び出しの別名定義を強制します。
手続きリンク表 (Procedure Linkage Table) による呼び出しのリダイレクト
のような、実行時リロケーションを含む共有コードを作成するのに便利です。
.Po
.Xr link 5
を参照
.Pc
.It Fl e Ar entry-symbol
実行可能ファイルのエントリのシンボルを指定します。
.It Fl f
全てのオブジェクトファイルとライブラリの解決されたパスを
標準出力にリストし、終了します。
.It Fl L Ns Ar path
.Fl l
オプションで指定したライブラリの検索パスに
.Ar path
を追加します。
.It Fl l Ns Ar lib-spec
出力に含めるとされるライブラリを指定します。もし、
.Fl B Ns Ar dynamic
オプションが有効ならば、まず lib<spec>.so.m.n
.Po
.Em m
はメジャーバージョン番号、
.Em n
はマイナーバージョン番号
.Pc
形式の共有ライブラリを検索します。検索パス中に見つかった、
最もバージョンが高いライブラリを選択します。共有ライブラリが見つからないか、
.Fl B Ns Ar static
オプションが有効なら、lib<spec>.a 形式のアーカイブを
ライブラリ検索パスより探します。
.It Fl M
入力ファイルのセグメントマッピングと、
出力ファイルの
.Pq 大域
シンボルに割り付けられた値
に関する報告を出力します。
.It Fl N
OMAGIC 形式ファイル
を生成します。
.It Fl n
NMAGIC 形式ファイル
を生成します。
.It Fl nostdlib
.Fl l
で指定されたライブラリの検索時に、組み込みのライブラリ検索パス
.Po
通常は
.Dq /usr/lib
.Pc
を使用しません。
.It Fl O Ar filename
出力ファイル名を指定します。
ファイルは
.Ar filename .tmp
として生成され、出力が完了すると、
.Ar filename
にリネームされます。
.It Fl o Ar filename
出力ファイル名を指定します。デフォルトは
.Dq a.out
です。
.It Fl Q
QMAGIC (FreeBSD/BSDi-i386)形式のファイルを生成します。これがデフォルトです。
.It Fl r
さらに、
.Nm
によって処理可能なリロケータブルオブジェクトを生成します。
.It Fl R
実行時のライブラリ検索のために、与えられたバスを実行可能ファイルに記録します。
ダイナミックリンクされた実行可能ファイルにのみ適用されます。
.It Fl S
出力にデバッガシンボルを含めません。
.It Fl s
出力にすべてのシンボルを含めません。
.It Fl T
テキストセグメントの開始アドレスを指定します。このアドレスを基準に、すべ
ての入力ファイルがリロケートされます。
.It Fl t
入力ファイルの処理状況を出力します。
.It Fl u Ar symbol
シンボル
.Ar symbol
を強制的に未定義とマークします。
他からの参照がない状況で、あるアーカイブのメンバをロードするのに便利です。
.It Fl V Ar version
.Pq 共有ライブラリ生成時に
共有ライブラリにバージョン番号を埋め込みます。SunOS 4.x 等の他
のシステムと互換性のある共有ライブラリを作成するのに便利です。
SunOS 4.x ではバージョン番号は 3、本 ld のデフォルトは 8 です。
.It Fl X
入力ファイル中の文字
.Dq L
から始まるローカルシンボルを削除します。
.It Fl x
入力ファイル中のすべてのローカルシンボルを削除します。
.It Fl y Ar symbol
シンボル
.Ar symbol
に関する処理状況を報告します。
.It Fl Z
386BSD ZMAGIC 形式ファイルを生成します。
.It Fl z
NetBSD ZMAGIC 形式ファイルを生成します。
.Sh 環境変数
.Nm
は以下の環境変数を使用します:
.Bl -tag -width "LD_LIBRARY_PATH"
.It Ev LD_LIBRARY_PATH
これはコロンで区切るディレクトリリストであり、ライブラリ検索パスとして、
.Fl L
オプションで指定されたディレクトリの後であり組み込みパスの前であるところに
挿入されます。
.\" .It Ev LD_NOSTD_PATH
.\" When set, do not search the built-in path for libraries.
.\" This is an alternative to the
.\" .Fl nostdlib
.\" command-line flag.
.El
.Sh 関連ファイル
.Sh 関連項目
.Xr ldd 1 ,
.Xr rtld 1 ,
.Xr link 5 ,
.Xr ldconfig 8
.Sh 警告
通常の実行可能ファイルを生成するなら、エントリポイントを明示する必要が
あります。以前のバージョンの
.Nm ld
では、このようなことは不要でした。
.Sh バグ
共有オブジェクトに対しては、正しく未定義シンボルの検査が行われません。
.Pp
共有オブジェクトをカスケードすると
.Dq -Bstatic
オプションは失敗します。
.Pp
実行時に必要なシンボルを必要とされなくとも、
.Nm
に指定された共有オブジェクトは実行時ロードのためのマークが含まれます。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
.Nm
による共有ライブラリモデルは SunOS 4.0 より登場しています。
diff --git a/ja/man/man1/lex.1 b/ja/man/man1/lex.1
index e5e402fa79..18dab704e6 100644
--- a/ja/man/man1/lex.1
+++ b/ja/man/man1/lex.1
@@ -1,4071 +1,4071 @@
.\" jpman %Id: lex.1,v 1.3 1997/05/19 16:38:22 horikawa Stab %
.TH FLEX 1 "April 1995" "Version 2.5"
.SH 名称
flex \- 高速な字句解析処理系の生成ツール
.SH 書式
.B flex
.B [\-bcdfhilnpstvwBFILTV78+? \-C[aefFmr] \-Pprefix \-Sskeleton]
.I [filename ...]
.SH 概説
本マニュアルは、
テキストのパターンマッチングを行うプログラムを生成するツール
.I flex
を扱います。
本マニュアルはチュートリアルとリファレンス節とを含みます:
.nf
解説
ツールの短い概説
簡単な例
入力ファイルのフォーマット
パターン
flex が使用する拡張した正規表現
入力のマッチ方法
何がマッチするかを決定する規則
アクション
パターンがマッチした時に何を行うかを指定する方法
生成されたスキャナ
flex が生成するスキャナに関する詳細;
入力元の制御方法
開始条件
スキャナへの文脈の導入と、
"ミニスキャナ" の制御方法
複数の入力バッファ
複数の入力元を扱う方法;
ファイルではなく文字列からスキャンする方法
ファイルの終りのルール
ファイルの終りにマッチする特別なルール
雑多なマクロ
アクションで使用可能なマクロのまとめ
ユーザが使用可能な値
アクションで使用可能な値のまとめ
Yacc とのインタフェース
lex スキャナと yacc パーサとの結合
オプション
flex のコマンドラインオプションと、
"%option" ディレクティブ
性能関連
スキャナを可能な限り高速にする方法
C++ スキャナの生成
C++ スキャナクラス生成のための
(実験的な) 機能
Lex および POSIX との非互換性
AT&T lex および POSIX lex 標準と
flex との違い
診断
flex (もしくは生成したスキャナ) が出力する
エラーメッセージで意味が明確でないもの
関連ファイル
flex が使用するファイル
欠陥 / バグ
flex の既知の問題
関連項目
ツールに関係する他のドキュメント
作者
連絡方法を含みます
.fi
.SH 解説
.I flex
.I スキャナ
を生成するためのツールです。
ここで、スキャナとは、
テキスト内の字句パターンを解析するプログラムです。
.I flex
は指定したファイル、もしくはファイル名が与えられなかった場合は
標準入力から、生成するスキャナの記述を読み込みます。
この記述は、
正規表現と C コードのペアの形をとっています。
これは
.I ルール
と呼ばれます。
.I flex
は、出力として C ソースファイルの
.B lex.yy.c
を生成しますが、その中に
.B yylex()
ルーチンが定義されます。
このファイルはコンパイルされ、
.B \-ll
ライブラリとともにリンクされて、
実行形式となります。
実行形式が走り始めると、
正規表現をマッチさせるために
入力が解析されます。
マッチするものを見つけると、対応する C コードが実行されます。
.SH 簡単な例
.PP
まず簡単な例から、
.I flex
の使い方を見て行きましょう。
次の
.I flex
の入力は、"username" という文字列に出会うとユーザのログイン名に置き換える
スキャナを指定しています:
.nf
%%
username printf( "%s", getlogin() );
.fi
デフォルトでは、
.I flex
スキャナにマッチしなかったテキストは出力にコピーされますので、
"username" を展開しながら入力を出力にコピーすることが
このスキャナの最終的な結果となります。
この入力にはただ一つのルールだけがあります。
"username" は
.I パターン
であり、"printf" は
.I アクション
です。
"%%" はルールの始まりの印です。
.PP
別の例を見て見ましょう:
.nf
%{
int num_lines = 0, num_chars = 0;
%}
%%
\\n ++num_lines; ++num_chars;
. ++num_chars;
%%
main()
{
yylex();
printf( "# of lines = %d, # of chars = %d\\n",
num_lines, num_chars );
}
.fi
このスキャナは入力の文字数および行数を数えます
(数えた最終結果を報告するだけです)。
最初の行は 2 つの大域変数 "num_lines" と "num_chars" を宣言します。
これらの変数は、2 番目の "%%" の後に宣言されている
.B yylex()
.B main()
のルーチンからアクセス可能です。
ここには 2 つのルールがあります。
1 つ目は改行文字 ("\\n") にマッチし、行数と文字数のカウントを増加させます。
もう 1 つは、改行文字以外の全ての文字
("." という正規表現で表されています)にマッチします。
.PP
次はもうちょっと複雑な例です:
.nf
/* scanner for a toy Pascal-like language */
%{
/* need this for the call to atof() below */
#include <math.h>
%}
DIGIT [0-9]
ID [a-z][a-z0-9]*
%%
{DIGIT}+ {
printf( "An integer: %s (%d)\\n", yytext,
atoi( yytext ) );
}
{DIGIT}+"."{DIGIT}* {
printf( "A float: %s (%g)\\n", yytext,
atof( yytext ) );
}
if|then|begin|end|procedure|function {
printf( "A keyword: %s\\n", yytext );
}
{ID} printf( "An identifier: %s\\n", yytext );
"+"|"-"|"*"|"/" printf( "An operator: %s\\n", yytext );
"{"[^}\\n]*"}" /* eat up one-line comments */
[ \\t\\n]+ /* eat up whitespace */
. printf( "Unrecognized character: %s\\n", yytext );
%%
main( argc, argv )
int argc;
char **argv;
{
++argv, --argc; /* skip over program name */
if ( argc > 0 )
yyin = fopen( argv[0], "r" );
else
yyin = stdin;
yylex();
}
.fi
これは Pascal のような言語の単純なスキャナの原型です。
異なったタイプの
.I トークン
を定義し、これを見付けると報告します。
.PP
この例の詳細は、以降の節で説明します。
.SH 入力ファイルのフォーマット
.I flex
の入力ファイルは 3 つの部分からなり、
.B %%
だけからなる行により分けられます:
.nf
定義
%%
ルール
%%
ユーザコード
.fi
.I 定義
部分は、スキャナの宣言を単純化する単純な
.I 名前
の定義の宣言と、後で説明する
.I 開始条件
の宣言とからなります。
.PP
名前の定義は次の形式です:
.nf
名前\ 定義
.fi
"名前" は語であり、
レターかアンダースコア ('_') から始まって 0 個以上のレター・数字・'_'・'-'
(ダッシュ)が続きます。
定義は、名前に続く最初の非空白文字から始まり、行末まで続くものとされます。
定義は後で "{名前}" で参照でき、"(定義)" を展開します。
例えば、
.nf
DIGIT [0-9]
ID [a-z][a-z0-9]*
.fi
は、
"DIGIT" が単一の数字にマッチする正規表現であると定義し、
"ID" がレターに 0 個以上のレターか数字が続く正規表現であると定義します。
後で出て来る参照
.nf
{DIGIT}+"."{DIGIT}*
.fi
.nf
([0-9])+"."([0-9])*
.fi
と同じであり、1 個以上の数字に '.' が続き、
0 個以上の数字が続くものにマッチします。
.PP
.I flex
の入力の
.I ルール
は次の形式の一連のルールからなります:
.nf
パターン\ \ \ アクション
.fi
ここで、パターンはインデントされていてはならず、
アクションは同じ行から始まる必要があります。
.PP
パターンとアクションの詳細は後の解説を見て下さい。
.PP
最後に、ユーザコードの部分は単純にそのままの形で
.B lex.yy.c
にコピーされます。
スキャナを呼び出すまたは呼び出される付随ルーチンのために使用されます。
この部分はあっても無くても構いません;
無い場合には、入力ファイル中の 2 番目の
.B %%
も省略できます。
.PP
定義とルールの部分では、
.I インデントされた
テキストと
.B %{
.B %}
との間のテキストはそのままの形で出力にコピーされます
(この際 %{} は削除されます)。
%{} はインデントされていない行に現れる必要があります。
.PP
ルールの部分では、
最初のルールの前に現れるインデントされたもしくは %{} 部分のテキストは、
スキャンルーチンにローカルな変数と、
(宣言の後では)スキャンルーチンに入るたびに実行されるコードとを宣言します。
ルール部分の他のインデントされたもしくは %{} 部分のテキストは
出力にコピーされますが、
意味はちゃんと定義されておらずコンパイル時にエラーとなるかも知れません
(この仕様は
.I POSIX
互換のためにあります; 他のこのような仕様は以降を見て下さい)。
.PP
定義の部分(ルールの部分ではないです)では、
インデントされていないコメント("/*" から始まる行) は次の "*/" まで
そのままの形でコピーされます。
.SH パターン
入力ファイルのパターンは拡張した正規表現を使って記述します。
以下に示します:
.nf
x 文字 'x' にマッチ。
. 改行を除く全ての文字(バイト)。
[xyz] "文字クラス"; この場合、'x', 'y', 'z' のいずれにも
マッチします。
[abj-oZ] 範囲指定を含む "文字クラス"; この場合、'a', 'b' と
'j' から 'o' までの任意のレターと 'Z' にマッチします。
[^A-Z] "否定文字クラス"; クラスに含まれない任意の文字に
マッチします。 この場合、'A' から 'Z' までの大文字
「以外の」文字にマッチします。
[^A-Z\\n] 大文字と改行を「除く」全ての文字。
r* 0 もしくはそれ以上の r。r は任意の正規表現。
r+ 1 もしくはそれ以上の r。
r? 0 もしくは 1つの r (「おまけ」の r)
r{2,5} 2 つから 5つまでの r。
r{2,} 2 つ以上の r。
r{4} ちょうど 4つ の r。
{名前} "名前" の定義の展開。
(上を参照)
"[xyz]\\"foo"
文字列 [xyz]"foo
\\X X が 'a', 'b', 'f', 'n', 'r', 't', 'v' のいずれかの
とき、ANSI-C での \\X の解釈となります。
それ以外の場合、文字 'X' ('*' のようなオペレータの
意味を打ち消し、その文字自体を指定する際に使います)。
\\123 8進数で 123 と表される文字。
\\x2a 16進数で 2a と表される文字。
(r) r にマッチ; ()は 優先順位を変えるために使用。
(以下を参照)
rs 正規表現 r に正規表現 s が続く; 「連結(concatenation)」
と呼びます。
r|s r もしくは s。
r/s 後ろに s が続く時の r。
s にマッチするテキストはこのルールの "最長適合" を判定する
時には含まれますが、アクションが実行される前に
入力に戻されます。
アクションは r にマッチするテキストだけを見ます。
このパターンは "右文脈(trailing context)" と呼ばれます。
(flex が正確にマッチ不能な r/s の組合せは複数あります;
"危険な右文脈" については、
以降の、欠陥 / バグ の節の記述を見て下さい。)
^r 行頭にある r。(スキャンの始まりもしくは
スキャンされた改行の右です)。
r$ 行末にある r。"r/\\n" と等価(改行の前です)。
"r/\\n" と同じです。
flex の "改行" の表現は flex をコンパイルした
C コンパイラが解釈する '\\n' と完全に一致することに
注意して下さい;
特定のシステム DOS では \\r を入力から取り除くか
"r$" を表すために明示的に r/\\r\\n を使用する必要があります。
<s>r 開始条件 s における r。(開始条件については以下を
参照)。
<s1,s2,s3>r
上に同じ。ただし開始条件は s1, s2, s3 のいずれでもよい。
<*>r 任意の開始条件の r。開始条件は排他的なものでもよい。
<<EOF>> ファイルの終了。
<s1,s2><<EOF>>
開始条件が s1 もしくは s2 であるときのファイルの終了。
.fi
文字クラス中では、全ての正規表現のオペレータは、
エスケープ ('\\') および
文字クラスオペレータである '-' と ']' とクラスの先頭の '^' を除き
特別な意味を失うことに注意して下さい。
.PP
上に挙げた正規表現は優先順位によってグループに分けられています。
一番上のグループが最も高い優先度で、
一番下のグループの優先順位が最も低くなっています。
グループ内では同じ優先順位です。例えば、
.nf
foo|bar*
.fi
.nf
(foo)|(ba(r*))
.fi
と同じです。なぜなら '*' オペレータは連結より優先度が高く、
連結は選言 ('|') より優先度が高いからです。このパターンは
文字列 "foo"
.I もしくは
文字列 "ba" に 0 個以上の r がつづくものの
.I どちらにも
マッチします。
"foo" もしくは 0 個以上の "bar" にマッチさせるためには次の表現を使用して下さい:
.nf
foo|(bar)*
.fi
0 個以上の "foo" または "bar" にマッチするためには次の表現を使用して下さい:
.nf
(foo|bar)*
.fi
.PP
文字もしくは文字範囲に加え、文字クラスも文字クラスの
.I 表現
を含みます。
これらの表現は
.B [:
および
.B :]
のデリミタに囲まれます (文字クラスの '[' と ']' との間に現れる必要があります;
他の要素が文字クラス中に現れても構いません)。
有効な表現は以下の通りです:
.nf
[:alnum:] [:alpha:] [:blank:]
[:cntrl:] [:digit:] [:graph:]
[:lower:] [:print:] [:punct:]
[:space:] [:upper:] [:xdigit:]
.fi
これらの表現は対応する標準 C の
.B isXXX
関数に適合する全ての文字集合を指示します。例えば、
.B [:alnum:]
.B isalnum()
が真を返す文字を指示します - すなわちすべてのアルファベットと数字です。
.B isblank(),
が無いシステムでは、flex は
.B [:blank:]
を空白とタブと定義します。
.PP
例えば以下の表現は全て同じです:
.nf
[[:alnum:]]
[[:alpha:][:digit:]]
[[:alpha:]0-9]
[a-zA-Z0-9]
.fi
スキャナが大文字小文字を意識しない場合(
.B \-i
フラグ指定時)
.B [:upper:]
.B [:lower:]
.B [:alpha:]
と同じです。
.PP
パターンに関する注意点です:
.IP -
否定文字クラス、例えば上の "[^A-Z]" は
"\\n" (もしくはこれを表すエスケープシーケンス) が明示的に
否定文字クラスに現れている場合 (例えば "[^A-Z\\n]") を除き
.I 改行にマッチします。
これは他の正規表現ツールが否定文字クラスを扱う方法とは異なりますが、
不幸なことにこの矛盾は歴史的に確立しています。
改行にマッチするとは、
入力に別のクオートが存在しない場合に [^"]* のようなパターンが
入力全体にマッチすることを意味します。
.IP -
ルールは右文脈('/' オペレータもしくは '$' オペレータ)
を高々一つしか持てません。
開始条件 '^' と "<<EOF>>" パターンは
パターンの最初になければならず、 '/', '$'
同様に () 内にいれることは出来ません。
ルールの先頭ではない '^' もしくはルールの終りではない '$' は
特別な意味を失い、通常の文字として扱われます。
.IP
以下は無効です:
.nf
foo/bar$
<sc1>foo<sc2>bar
.fi
前者は "foo/bar\\n" と書けます。
.IP
以下では '$' と '^' とは通常の文字として扱われます:
.nf
foo|(bar$)
foo|^bar
.fi
"foo" もしくは "改行が続く bar" を指定したい場合は、
次の表現を使用して下さい (特別な '|' の動作は後で説明します):
.nf
foo |
bar$ /* action goes here */
.fi
同じ方法で、foo もしくは 行頭の bar を指定可能です。
.SH 入力のマッチ方法
生成したスキャナを実行すると、
スキャナは入力を見てパターンにマッチする文字列を探します。
1 より多くのマッチを見付けると、最長テキストのマッチを採用します
(右文脈(trailing context rule)の後ろの部分も長さに含みますが、
後ろの部分は入力に戻されます)。
同じ長さのマッチを 2 つ以上見付けた場合、
.I flex
入力ファイルで最初に記述されたルールを採用します。
.PP
マッチが決定すると、マッチに対応するテキスト(
.I トークン
と呼ばれます)がグローバル文字ポインタ
.B yytext
により使用可能となり、長さがグローバル整数
.B yyleng
により使用可能となります。
その後、マッチしたパターンに対応する
.I アクション
が実行され(アクションの詳細な記述は後で行います)、
残りの入力が残りのマッチのためにスキャンされます。
.PP
マッチが見付からないと、
.I デフォルトルール
が実行されます: 入力の次の文字がマッチしたと見倣され、
標準出力にコピーされます。最も簡単で正当な
.I flex
の入力は以下の通りです:
.nf
%%
.fi
これは、入力を単純に出力にコピー(1 度に 1 文字ずつ)するスキャナを生成します。
.PP
.B yytext
は 2 つの異なった方法により定義されうることに注意して下さい: 文字
.I ポインタ
もしくは文字
.I 配列
です。
.I flex
がどちらの定義を使用するかは特別なディレクティブ
.B %pointer
もしくは
.B %array
を flex の入力の最初の(定義)部分に含めることにより制御できます。
デフォルトは
.B %pointer
であり、
.B -l
lex 互換オプションを使用した場合には例外的に
.B yytext
は配列になります。
.B %pointer
を使用する利点はスキャンが高速であること、
非常に大きなトークンにマッチする時にも
(動的メモリを使用し尽くさない限り)バッファオーバフローとならないことです。
欠点は、アクションが
.B yytext
を修正することが制限されること(次節参照)、
.B unput()
呼び出しが
.B yytext
の現在の内容を破壊することです。
これは異なる
.I lex
バージョン間での移植性に関する頭痛の種です。
.PP
.B %array
の利点は
.B yytext
の内容を思った通りに変更できること、
.B unput()
を呼び出しても
.B yytext
の内容が破壊されないことです(下記参照)。
その上、既存の
.I lex
プログラムは
.B yytext
を外部から次の形式の宣言を使用してアクセスしていることがあります:
.nf
extern char yytext[];
.fi
この定義は
.B %pointer
使用時には誤りですが、
.B %array
使用時には正しいです。
.PP
.B %array
.B yytext
を文字数
.B YYLMAX
(デフォルトは十分大きな値)の配列であると定義します。
この大きさは、
.I flex
の入力の最初の部分で単純に
.B YYLMAX
を異なった値に #define することにより変更できます。
上記の通り、
.B %pointer
使用時には yytext は大きなトークンを格納するために動的に大きくなります。
このことは
.B %pointer
を使用したスキャナは非常に大きなトークン
(例えばコメントブロック全体)を格納可能であることを意味しますが、
スキャナが
.B yytext
の大きさを変えるたびにトークン全体を先頭から再スキャンすることが必要となるため
このようなトークンに対するマッチングは遅くなりうることを覚えておいて下さい。
現在、
.B yytext
.B unput()
が結果として返すテキストが大きい時には動的には大きくなり
.I ません;
実行時エラーとなります。
.PP
また、
.B %array
C++ スキャナクラスでは使用できないことに注意して下さい(
.B c++
オプションに関しては下記参照)。
.SH アクション
ルール中のパターンは対応するアクションを持ちます。
アクションは任意の C の文です。
パターンは最初のエスケープされていない空白文字で終ります;
行の残りがアクションです。
アクションが空である場合、
パターンがマッチした時に入力トークンは単純に捨てられます。
例えば入力から全ての "zap me" を削除するプログラムの仕様を示します:
.nf
%%
"zap me"
.fi
(入力の他の全ての文字を出力にコピーします。
なぜならデフォルトルールにマッチするからです。)
.PP
次は、複数の空白や文字を単一の空白に圧縮し行末の空白を捨てるプログラムです:
.nf
%%
[ \\t]+ putchar( ' ' );
[ \\t]+$ /* ignore this token */
.fi
.PP
アクションが '{' を含む場合、アクションは対応する '}' まで続き、
複数行に渡る場合もあります。
.I flex
は C の文字列およびコメントに関して知っており、
それらの中のブレースを誤解することはありませんが、
アクションが
.B %{
で始まることを許し、次の
.B %}
までのテキストがアクションであるとします
(アクション内部の任意個のブレースには関係ありません)。
.PP
垂直バー ('|') のみからなるアクションは
"次のルールと同じ" を意味します。説明は以下を見て下さい。
.PP
アクションは任意の C コードを含むことが出来ます。
これには、
.B yylex()
を呼び出したルーチンに対して値を返す
.B return
文も含まれます。
.B yylex()
が呼ばれるたび、最後に残ったトークンから処理を再開し、
ファイルの終了もしくは return を実行するまで処理を行います。
.PP
アクションは自由に
.B yytext
を変更できますが、例外は長さを増やすことです
(文字を末尾に加えることになり、
これは入力ストリームの後続する文字を上書きします)。
これは
.B %array
使用時には当てはまりません(上述); この場合
.B yytext
を自由に変更できます。
.PP
アクションは自由に
.B yyleng
を変更できますが、アクションが
.B yymore()
を使用する時には例外的に変更してはいけません(後述)。
.PP
多くの特別なディレクティブがあり、アクション中に含めることが出来ます:
.IP -
.B ECHO
yytext をスキャナの出力にコピーします。
.IP -
.B BEGIN
後ろに開始条件の名前を書くと、スキャナを対応する開始条件に設定します(後述)。
.IP -
.B REJECT
入力(もしくは入力の頭)に "2 番目によく(second best)" マッチするルール
に進むようにスキャナに指示します。
"入力のマッチ方法" で示したようにルールは選択され、
.B yytext
.B yyleng
は適切に設定されます。
選択されるルールは、最初に選択されたルールと同じ長さであるが
.I flex
の入力ファイルにて後で出て来るもの、もしくは少ない文字数にマッチするものです。
例えば次の例では入力中の語を数え、
"frob" が見付かるたびにルーチン special() を呼びます:
.nf
int word_count = 0;
%%
frob special(); REJECT;
[^ \\t\\n]+ ++word_count;
.fi
.B REJECT
が無い場合、
入力中の "frob" は語として数えられず、
スキャナは通常通りトークン毎に 1 つのアクションだけを行います。
複数の
.B REJECT
を使用可能であり、それぞれ現在有効なルールの次に良い選択を見付けます。
例えば次のスキャナは、"abcd" というトークンをスキャンし、
出力に "abcdabcaba" を書きます:
.nf
%%
a |
ab |
abc |
abcd ECHO; REJECT;
.|\\n /* eat up any unmatched character */
.fi
(前の 3 つのルールは 4 番目のルールのアクションを共有します。
なぜなら特別な '|' アクションが使用されているからです。)
.B REJECT
はスキャナの性能という点で特にコストのかかる機能です;
もしスキャナのアクションの
.I いずれか
にでも REJECT が使われたなら、スキャナの
.I 全ての
マッチング速度を低下させるということです。
さらに
.B REJECT
をオプション
.I -Cf
.I -CF
と共に用いることは出来ません。
.IP
また、他の特別アクションと違い
.B REJECT
.I 分岐(branch)
であることに注意してください; すなわち REJECT 直後のアクションは
実行
.I されません。
.IP -
.B yymore()
次にルールとマッチしたときには、対応するトークンは、
現在の
.B yytext
の内容と入れ換えるのではなく
.B yytext
.I 追加
するようスキャナに指示します。
例えば、入力 "mega-kludge" が与えられると、以下は
"mega-mega-kludge" を出力に書きます:
.nf
%%
mega- ECHO; yymore();
kludge ECHO;
.fi
最初の "mega-" はマッチし出力にエコーされます。
次に "kludge" がマッチしますが、直前の "mega-" がまだ
.B yytext
の先頭に残っており、"kludge" の
.ECHO
ルールは実際には "mage-kludge" を書きます。
.PP
.B yymore()
の使用に関し 2 つの注意点があります。
まず、
.B yymore()
は現在のトークンの大きさを反映する
.I yyleng
の値の正確さに依存することであり、
.B yymore()
使用時には
.I yyleng
を変更してはなりません。
次に、
スキャナのアクションに
.B yymore()
があると、スキャナのマッチ速度に若干悪影響があります。
.IP -
.B yyless(n)
現在のトークンから最初の
.I n
文字を除いたものを入力ストリームに戻します。
戻した文字列はスキャナが次のマッチングをとるときに再度スキャンされます。
.B yytext
.B yyleng
は適切に調整されます(例えば
.B yyleng
.I n
となります)。
例えば、入力 "foobar" が与えられると、以下は
"foobarbar" を書きます:
.nf
%%
foobar ECHO; yyless(3);
[a-z]+ ECHO;
.fi
引数 0 を
.B yyless
に与えると、現在の入力文字列全体が再度スキャンされます。
(例えば
.B BEGIN
を使用して)次にスキャナが入力する方法を変更していないと、無限ループとなります。
.PP
.B yyless
はマクロであり、flex 入力ファイルでのみ使用可能であり、
別のソースファイルからは使用不能であることに注意して下さい。
.IP -
.B unput(c)
文字
.I c
を入力ストリームへ戻します。戻した文字は次にスキャンされる文字になります。
次のアクションは現在のトークンを取り上げ、
括弧内に入れて再スキャンします。
.nf
{
int i;
/* Copy yytext because unput() trashes yytext */
char *yycopy = strdup( yytext );
unput( ')' );
for ( i = yyleng - 1; i >= 0; --i )
unput( yycopy[i] );
unput( '(' );
free( yycopy );
}
.fi
.B unput()
は文字を入力ストリームの
.I 先頭
に戻すので、文字列を戻す場合には後ろから前に向かって戻す必要があります。
.PP
.B unput()
使用時の重要な潜在的な問題は、
.B %pointer
使用時(デフォルト)に
.B unput()
を呼び出すと、
右端の文字から開始し 1 文字ずつ左に向かって消費され、
.I yytext
の内容が
.I 破壊
されることです。
(上記例のように)
.B unput()
呼び出し後も
.I yytext
の内容を保存するためには、始めに別の場所にコピーするか、
スキャナを
.B %array
を使うように構築することです(入力のマッチ方法参照)。
.PP
最後に、
.B EOF
を戻して入力ストリームにファイルの終りをマークするとは
出来ないことに注意して下さい。
.IP -
.B input()
次の文字を入力ストリームから読みます。
次の例は C コメントを食べます:
.nf
%%
"/*" {
register int c;
for ( ; ; )
{
while ( (c = input()) != '*' &&
c != EOF )
; /* eat up text of comment */
if ( c == '*' )
{
while ( (c = input()) == '*' )
;
if ( c == '/' )
break; /* found the end */
}
if ( c == EOF )
{
error( "EOF in comment" );
break;
}
}
}
.fi
(スキャナが
.B C++
でコンパイルされたときは、このルーチンは
.B yyinput()
という名称になり、
.B C++
ストリームの
.I input
と名前が衝突することを避けます。)
.IP -
.B YY_FLUSH_BUFFER
スキャナの内部バッファをフラッシュし、
次にスキャナがトークンをマッチしようとした時
バッファを
.B YY_INPUT
にてリフィルします(生成されたスキャナで後述)。
このアクションは、
複数の入力バッファにおいて後述する
より一般的な
.B yy_flush_buffer()
関数の特別なケースです。
.IP -
.B yyterminate()
アクションの return 文の代わりに使うことが出来ます。
.B yyterminate()
はスキャナを終了し、"全て終了" を意味する 0 を呼び出し元関数に返します。
デフォルトでは
.B yyterminate()
はファイルの終わりに達したときにも呼ばれます。
.B yyterminate()
はマクロであり、定義しなおすことができます。
.SH 生成されたスキャナ
.I flex
の出力は
.B lex.yy.c
というファイルであり、スキャンルーチン
.B yylex()
と、トークンのマッチングに使用する複数のテーブルと、
複数の付属ルーチンとマクロからなります。デフォルトでは、
.B yylex()
は次のように宣言されます:
.nf
int yylex()
{
... various definitions and the actions in here ...
}
.fi
(環境が関数プロトタイプをサポートしている場合、
"int yylex( void )" となります。)
この定義は "YY_DECL" マクロを定義することにより変更できます。
例えば次のように使用することが出来ます:
.nf
#define YY_DECL float lexscan( a, b ) float a, b;
.fi
これはスキャンルーチンの名前を
.I lexscan
とし、浮動小数点数を返すようにし、2 つの浮動小数点数を引数とします。
K&R の非プロトタイプの関数宣言を使用してスキャンルーチンに対して引数を
与える場合、定義をセミコロン(;)で終了する必要があります。
.PP
.B yylex()
は呼ばれるたび、グローバル入力ファイル
.I yyin
(デフォルトでは標準入力)からトークンをスキャンします。
ファイルの終りになる(この場合 0 を返します)か、
アクションが
.I return
文を実行するまで、実行を続けます。
.PP
スキャナがファイルの終りに到達すると、
.I yyin
が新たなファイルを指さないか
(新たなファイルを指す場合はこのファイルのスキャンを続けます)、
.B yyrestart()
が呼ばれない限り、
後続する呼び出しは未定義です。
.B yyrestart()
.B FILE *
ポインタ(
.B YY_INPUT
を設定して
.I yyin
以外のソースをスキャンするようにした場合には nil も可です)
である引数を 1 つとり、そのファイルからのスキャンのために
.I yyin
を初期化します。
本質的に、
.I yyin
を新しい入力ファイルに割り当てることと
.B yyrestar()
を使用することとは同じです;
後者は前のバージョンの
.I flex
との互換性のために使用可能であり、
またスキャンの途中で入力ファイルを変えることが可能です。
引数を
.I yyin
として呼び出すことにより、現在の入力バッファを捨てることも出来ます;
ただし、
.B YY_FLUSH_BUFFER
(上述)を使用する方が良いです。
.B yyrestart()
.B INITIAL
の開始条件を変更し
.I ない
ことに注意して下さい
(後述の開始条件参照)。
.PP
あるアクション中で
.I return
文を実行することにより
.B yylex()
がスキャンを止めた場合、スキャナは再度呼び出し可能であり、
この場合スキャンの残りの部分から再開します。
.PP
デフォルトで(効率のため)、スキャナは単純な
.I getc()
コールではなくブロックリードを行い、
.I yyin
から文字を読みます。
入力取得方法は
.B YY_INPUT
マクロを定義することにより制御できます。
YY_INPUT 呼び出し手順は "YY_INPUT(buf,result,max_size)" です。
このアクションは、
.I buf
文字配列中に最大
.I max_size
文字を用意し、整数変数
.I result
中に読めた文字数もしくは定数 YY_NULL (Unix システムでは 0)を入れて返します。
デフォルトの YY_INPUT はグローバルファイルポインタ "yyin" から読みます。
.PP
YY_INPUT のサンプル定義です(入力ファイルの定義部に格納):
.nf
%{
#define YY_INPUT(buf,result,max_size) \\
{ \\
int c = getchar(); \\
result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \\
}
%}
.fi
この定義により、入力処理は 1 度に 1 文字ずつ行うように変更されます。
.PP
スキャナが YY_INPUT からファイルの終りを通知された場合、
スキャナは
.B yywrap()
関数をチェックします。
.B yywrap()
関数が偽(ゼロ)を返す場合、関数は続行中であるとされ、
.I yyin
を別の入力ファイルを指すように設定し、スキャンを続行します。
関数が真(非ゼロ)を返す場合、スキャナは終了し、呼び出し元に 0 を返します。
どちらの場合も開始条件は変化しないことに注意して下さい;
つまり
.B INITIAL
には戻り
.I ません。
.PP
独自の
.B yywrap()
を設定しない場合、
.B %option noyywrap
(この場合スキャナは
.B yywrap()
が 1 を返したかのように動作します)を使用するか、フラグ
.B \-ll
を指定してデフォルトのルーチン(常に 1 を返します)を使用しなければなりません。
.PP
ファイルではなくメモリ中のバッファからスキャンするための 3 つのルーチンを
使用可能です:
.B yy_scan_string(), yy_scan_bytes(), yy_scan_buffer()
これらに関する議論は複数の入力バッファの節を参照して下さい。
.PP
スキャナは、自己の
.B ECHO
出力を
.I yyout
グローバル(デフォルトでは標準出力であり、
別の
.B FILE
ポインタに割り当てることで再定義できます)に書きます。
.SH 開始条件
.I flex
は、条件的に有効となるルールのための機構を提供します。
パターンのプレフィックスが "<sc>" となっているルールは、
スキャナが "sc" という名前の開始条件にいる場合のみ有効です。
例えば、
.nf
<STRING>[^"]* { /* eat up the string body ... */
...
}
.fi
はスキャナが "STRING" 開始条件にいる時のみ有効であり、
.nf
<INITIAL,STRING,QUOTE>\\. { /* handle an escape ... */
...
}
.fi
は現在の開始条件が、
"INITIAL", "STRING", "QUOTE" のいずれかの場合のみ有効です。
.PP
開始条件は、入力の定義(先頭)部において、インデントされない行で
.B %s
もしくは
.B %x
から始まり名前が続く行において宣言されます。
前者は
.I 内包的
開始条件を、
後者は
.I 排他的
開始条件を、それぞれ宣言します。
開始条件を有効にするのは
.B BEGIN
アクションです。
次の
.B BEGIN
アクションが実行されるまで、与えられた開始条件のルールは有効であり、
他の開始条件のルールは無効です。
開始条件が
.I 内包的
な場合、開始条件を持たないルールもまた有効です。
開始条件が
.I 排他的
な場合、
開始条件を満たすルール
.I だけ
が有効です。
同じ排他開始条件に依存するルールの組は、
.I flex
入力中の別のルールとは独立なスキャナを記述します。
そのため、排他開始条件を使用すれば、"ミニスキャナ"
(別部分とは文法的に異なる部分(例えばコメント)に対するスキャナ)
を簡単に指定できます。
.PP
内包的開始条件と排他的開始条件とがまだ少し曖昧であるなら、
両者の関係を表す例を示して説明します。以下のルールの組:
.nf
%s example
%%
<example>foo do_something();
bar something_else();
.fi
.nf
%x example
%%
<example>foo do_something();
<INITIAL,example>bar something_else();
.fi
と等価です。
.B <INITIAL,example>
が無いと、2 番目の例における
.I bar
パターンは、開始条件が
.B example
の場合、有効となりません(すなわちマッチしません)。
.B <example>
だけを
.I bar
につけると、
.B example
だけにおいて有効となり、
.B INITIAL
では有効となりません。一方、最初の例ではどちらの場合でも有効です。
なぜなら最初の例では
.B example
開始条件は
.I 内包的
.B (%s)
開始条件だからです。
.PP
特殊な開始条件指定子
.B <*>
は全ての開始条件にマッチすることに注意して下さい。
このため、上の例は次のようにも書けます;
.nf
%x example
%%
<example>foo do_something();
<*>bar something_else();
.fi
.PP
デフォルトルール(マッチしなかった文字に対しては
.B ECHO
です)は開始条件中でも有効です。
これは次のものと等価です:
.nf
<*>.|\\n ECHO;
.fi
.PP
.B BEGIN(0)
は、開始条件の無いルールだけが有効である、最初の状態に戻ります。
この状態は開始条件 "INITIAL" として参照できるため、
.B BEGIN(INITIAL)
.B BEGIN(0)
と等価です。
(開始条件名を括る括弧は不要ですが、良いスタイルであるとされています。)
.PP
.B BEGIN
アクションは、ルール部の先頭のインデントされたコード中に現れても良いです。
例えば以下の例では、
.B yylex()
が呼ばれグローバル変数
.I enter_special
が真の場合には、スキャナは "SPECIAL" 開始条件に入ります:
.nf
int enter_special;
%x SPECIAL
%%
if ( enter_special )
BEGIN(SPECIAL);
<SPECIAL>blahblahblah
...more rules follow...
.fi
.PP
開始条件を説明するために、
"123.456" のような文字列を 2 通りの異なった解釈をするスキャナを示します。
デフォルトではこれは、
整数 "123" とドット ('.') と整数 "456" の 3 トークンに数えられます。
しかし、この文字列の前に "expect-floats" の文字列がある場合、
これは単一のトークンであるとされ、浮動小数点数 123.456 とされます:
.nf
%{
#include <math.h>
%}
%s expect
%%
expect-floats BEGIN(expect);
<expect>[0-9]+"."[0-9]+ {
printf( "found a float, = %f\\n",
atof( yytext ) );
}
<expect>\\n {
/* that's the end of the line, so
* we need another "expect-number"
* before we'll recognize any more
* numbers
*/
BEGIN(INITIAL);
}
[0-9]+ {
printf( "found an integer, = %d\\n",
atoi( yytext ) );
}
"." printf( "found a dot\\n" );
.fi
次は、C のコメントを理解(して捨てる)一方で、
現在の入力行を数えるスキャナです。
.nf
%x comment
%%
int line_num = 1;
"/*" BEGIN(comment);
<comment>[^*\\n]* /* eat anything that's not a '*' */
<comment>"*"+[^*/\\n]* /* eat up '*'s not followed by '/'s */
<comment>\\n ++line_num;
<comment>"*"+"/" BEGIN(INITIAL);
.fi
このスキャナは各ルールで可能な最大のテキストにマッチしようとする場合、
ちょっとした問題が起こります。
一般的には、高速なスキャナを記述する場合、
各ルールで最大のマッチを得ようとすることが最も成功します。
.PP
開始条件名は実際には整数値であり、格納することが出来ることに注意して下さい。
そのため、上記例は以下のように拡張できます:
.nf
%x comment foo
%%
int line_num = 1;
int comment_caller;
"/*" {
comment_caller = INITIAL;
BEGIN(comment);
}
...
<foo>"/*" {
comment_caller = foo;
BEGIN(comment);
}
<comment>[^*\\n]* /* eat anything that's not a '*' */
<comment>"*"+[^*/\\n]* /* eat up '*'s not followed by '/'s */
<comment>\\n ++line_num;
<comment>"*"+"/" BEGIN(comment_caller);
.fi
さらに、現在の開始条件を整数値であるマクロ
.B YY_START
にてアクセスできます。
例えば、上記の
.I comment_caller
への代入は次のように記述できます。
.nf
comment_caller = YY_START;
.fi
flex は
.B YYSTATE
.B YY_START
のエイリアスとして提供します
(AT&T の
.I lex
が使用しています)。
.PP
開始条件は独自の名前空間を持たないことに注意して下さい;
%s や %x の宣言における名前宣言の扱いは #define と同じです。
.PP
最後に、排他的開始条件を使用する、
展開されたエスケープシーケンスを含む(長すぎる文字列のチェックは含みません)
C スタイルのクオート文字列へのマッチ方法を示します:
.nf
%x str
%%
char string_buf[MAX_STR_CONST];
char *string_buf_ptr;
\\" string_buf_ptr = string_buf; BEGIN(str);
<str>\\" { /* saw closing quote - all done */
BEGIN(INITIAL);
*string_buf_ptr = '\\0';
/* return string constant token type and
* value to parser
*/
}
<str>\\n {
/* error - unterminated string constant */
/* generate error message */
}
<str>\\\\[0-7]{1,3} {
/* octal escape sequence */
int result;
(void) sscanf( yytext + 1, "%o", &result );
if ( result > 0xff )
/* error, constant is out-of-bounds */
*string_buf_ptr++ = result;
}
<str>\\\\[0-9]+ {
/* generate error - bad escape sequence; something
* like '\\48' or '\\0777777'
*/
}
<str>\\\\n *string_buf_ptr++ = '\\n';
<str>\\\\t *string_buf_ptr++ = '\\t';
<str>\\\\r *string_buf_ptr++ = '\\r';
<str>\\\\b *string_buf_ptr++ = '\\b';
<str>\\\\f *string_buf_ptr++ = '\\f';
<str>\\\\(.|\\n) *string_buf_ptr++ = yytext[1];
<str>[^\\\\\\n\\"]+ {
char *yptr = yytext;
while ( *yptr )
*string_buf_ptr++ = *yptr++;
}
.fi
.PP
上記例のように同一の開始条件を持つ全てのルールの前に
開始条件を書かねばならないことが多いです。
flex はこれを簡単かつ綺麗にするため開始条件
.I スコープ
を導入しました。
開始条件スコープは次のように始まります:
.nf
<SCs>{
.fi
ここで
.I SCs
は 1 つ以上の開始条件のリストです。
開始条件スコープ内では、
最初の
.I '{'
にマッチするまでの
.I '}'
において、全てのルールは自動的に
.I <SCs>
のプレフィックスが付きます。
そのため、例えば
.nf
<ESC>{
"\\\\n" return '\\n';
"\\\\r" return '\\r';
"\\\\f" return '\\f';
"\\\\0" return '\\0';
}
.fi
は次のものと等価です:
.nf
<ESC>"\\\\n" return '\\n';
<ESC>"\\\\r" return '\\r';
<ESC>"\\\\f" return '\\f';
<ESC>"\\\\0" return '\\0';
.fi
開始条件スコープはネストすることが出来ます。
.PP
開始条件のスタックを制御するために 3 つのルーチンを使用可能です:
.TP
.B void yy_push_state(int new_state)
現在の開始条件を開始条件スタックの先頭にプッシュし、
.B BEGIN new_state
を使用したかのように
.I new_state
に切替えます
(開始条件名は整数値でもあることを思い出して下さい)。
.TP
.B void yy_pop_state()
スタックの先頭をポップし、
.B BEGIN
を使用してその開始条件に切替えます。
.TP
.B int yy_top_state()
スタックの内容を変更せずに、スタックの先頭を返します。
.PP
開始条件スタックは動的に大きくなり、
また組み込み時のサイズ制限はありません。
メモリを使い切ると、プログラム実行は中止されます。
.PP
開始条件スタックを使用するためには、スキャナは
.B %option stack
ディレクティブをインクルードする必要があります
(下記オプションを参照して下さい)。
.SH 複数の入力バッファ
スキャナによっては(ファイルの "include" をサポートする等)
複数の入力ストリームを扱う必要があります。
.I flex
スキャナでは大きなバッファリングを行うため、
スキャンコンテキストに影響される
.B YY_INPUT
を単純に書き換えるだけでは次の入力がどこから読まれるのかを制御できません。
.B YY_INPUT
が呼ばれるのはスキャナがバッファの終りに到達する時だけですので、
例えば "include" のように入力元を切替える必要のある文をスキャンした後でも
長時間を費す場合があります。
.PP
この様な問題を解決するため、
.I flex
は複数の入力バッファを生成して切替える機構を提供します。
入力バッファは次のように生成されます:
.nf
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
.fi
これは
.I FILE
ポインタと size を取り、与えられる file に関連し
.I size
文字を保持するに十分なバッファを生成します
(疑わしい場合には size には
.B YY_BUF_SIZE
を使用して下さい)。
これは、別のルーチン(下記参照)に渡すための
.B YY_BUFFER_STATE
ハンドルを返します。
.B YY_BUFFER_STATE
のタイプは
.B struct yy_buffer_state
構造体へのポインタであるため、
安全のため YY_BUFFER_STATE 変数を
.B ((YY_BUFFER_STATE) 0)
と初期化することが出来、
スキャナではなくソースファイルにおいて
入力バッファを正しく宣言するためにこの構造体を参照することが出来ます。
.B yy_create_buffer
呼び出しにおける
.I FILE
ポインタは
.B YY_INPUT
から見える
.I yyin
の値と同じようにだけ使用されることに注意して下さい;
.B YY_INPUT
を再定義して
.I yyin
を使わないようにすることにより、
.B yy_create_buffer
に対して安全にニル
.I FILE
ポインタを渡せます。
スキャンするバッファを選択するためには次のようにします:
.nf
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
.fi
これはスキャナの入力バッファを切替え、
トークンが
.I new_buffer
から来るようになります。
新たなファイルをオープンして
.I yyin
を指すのではなく、スキャンを継続するために yywrap() から
.B yy_switch_to_buffer()
を使用することがあることに注意して下さい。
また、
.B yy_switch_to_buffer()
または
.B yywrap()
による入力元の切替えは開始条件を変更し
.I ない
ことにも注意して下さい。
.nf
void yy_delete_buffer( YY_BUFFER_STATE buffer )
.fi
はバッファに関連づけられたストレージの返還要求に使用します。(
.B buffer
はニルでも構いませんがこの場合このルーチンは何もしません。)
現在のバッファの内容をクリアするには次のようにします:
.nf
void yy_flush_buffer( YY_BUFFER_STATE buffer )
.fi
この関数はバッファの内容を捨てるため、
次にスキャナがこのバッファとトークンのマッチを行う場合、
スキャナはまず
.B YY_INPUT
を使用してこのバッファをフィルします。
.PP
.B yy_new_buffer()
.B yy_create_buffer()
のエイリアスであり、動的オブジェクトの生成と破壊のために使用する C++ の
.I new
.I delete
との互換性のために提供しています。
.PP
最後に
.B YY_CURRENT_BUFFER
マクロは、現在のバッファに対する
.B YY_BUFFER_STATE
ハンドルを返します。
.PP
この機能を使用してインクルードファイルを展開するスキャナの記述例です(
.B <<EOF>>
機能は後述します):
.nf
/* the "incl" state is used for picking up the name
* of an include file
*/
%x incl
%{
#define MAX_INCLUDE_DEPTH 10
YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
int include_stack_ptr = 0;
%}
%%
include BEGIN(incl);
[a-z]+ ECHO;
[^a-z\\n]*\\n? ECHO;
<incl>[ \\t]* /* eat the whitespace */
<incl>[^ \\t\\n]+ { /* got the include file name */
if ( include_stack_ptr >= MAX_INCLUDE_DEPTH )
{
fprintf( stderr, "Includes nested too deeply" );
exit( 1 );
}
include_stack[include_stack_ptr++] =
YY_CURRENT_BUFFER;
yyin = fopen( yytext, "r" );
if ( ! yyin )
error( ... );
yy_switch_to_buffer(
yy_create_buffer( yyin, YY_BUF_SIZE ) );
BEGIN(INITIAL);
}
<<EOF>> {
if ( --include_stack_ptr < 0 )
{
yyterminate();
}
else
{
yy_delete_buffer( YY_CURRENT_BUFFER );
yy_switch_to_buffer(
include_stack[include_stack_ptr] );
}
}
.fi
ファイルではなくメモリ上の文字列をスキャンするための
入力バッファを設定するための 3 つのルーチンを使用可能です。
いずれも文字列をスキャンする新しい入力バッファを生成し、対応する
.B YY_BUFFER_STATE
ハンドル(終了時には
.B yy_delete_buffer()
にて消去します)を返します。新しいバッファに切替える時には
.B yy_switch_to_buffer()
を使用し、次の
.B yylex()
の呼び出し時にはこの文字列をスキャン開始します。
.TP
.B yy_scan_string(const char *str)
NUL ターミネートされた文字列をスキャンします。
.TP
.B yy_scan_bytes(const char *bytes, int len)
.I len
バイト (NUL が含まれるかも知れません)を位置
.I bytes
からスキャンします。
.PP
どちらの関数も文字列もしくはバイト列の
.I コピー
を生成してからスキャンします。(
.B yylex()
はスキャンするバッファの内容を変更するため、これが望ましいのです。)
コピーを避けるためには次のようにします:
.TP
.B yy_scan_buffer(char *base, yy_size_t size)
バッファ内で
.I base
から
.I size
バイトの長さをスキャンします。最後の 2 バイトは
.B YY_END_OF_BUFFER_CHAR
(ASCII NUL)
である
.I 必要があります。
これらの最後の 2 バイトはスキャンされません;
そのためスキャンの内容は
.B base[0]
から
.B base[size-2]
までで両端を含みます。
.IP
この様になるように
.I base
を設定しなかった場合(つまり最後の 2 つの
.B YY_END_OF_BUFFER_CHAR
バイトを忘れた場合)、
.B yy_scan_buffer()
は新しいバッファを生成するのではなくニルポインタを返します。
.IP
.B yy_size_t
は整数型であり、
バッファの大きさを反映する整数式をこの型にキャストすることが出来ます。
.SH ファイルの終りのルール
特別ルール "<<EOF>>" は、
ファイルの終了時もしくは
yywrap() が非ゼロ(すなわち処理するファイルが無いことを表す)の時に
行われるべきアクションを表します。
アクションは以下の 4 つのうちのいずれかで終る必要があります。
.IP -
.I yyin
に新しいファイルを割り当てる(前のバージョンの flex では、
割り当て後に特別なアクション
.B YY_NEW_FILE
を呼び出す必要がありました;
今では不要です。);
.IP -
.I return
文を実行する;
.IP -
特別な
.B yyterminate()
アクションを実行する;
.IP -
.B yy_switch_to_buffer()
を使用して新たなバッファに切替える
(上記例で示した通り)。
.PP
<<EOF>> ルールを他のパターンと共に使用してはなりません;
他のパターンは開始条件のリストともにだけ満たされるからです。
満たされない <<EOF>> ルールが与えられた場合、
<<EOF>> アクションをまだ持っていない
.I 全ての
開始条件に適用されます。
<<EOF>> ルールを最初の開始条件だけに指定するためには次のようにして下さい。
.nf
<INITIAL><<EOF>>
.fi
.PP
これらのルールは閉じていないコメントを捕まえる場合等に便利です。
例えば:
.nf
%x quote
%%
...other rules for dealing with quotes...
<quote><<EOF>> {
error( "unterminated quote" );
yyterminate();
}
<<EOF>> {
if ( *++filelist )
yyin = fopen( *filelist, "r" );
else
yyterminate();
}
.fi
.SH 雑多なマクロ
マクロ
.B YY_USER_ACTION
にはマッチルールアクションに先だって常に行うアクションを定義できます。
例えば、yytext を小文字に変換するルーチンを呼ぶように #define 出来ます。
.B YY_USER_ACTION
起動時には、変数
.I yy_act
はマッチしたルールの番号を与えます(ルールは 1 番から数えます)。
各ルールがマッチする頻度を知りたい場合を想像して下さい。
以下に仕掛けを示します:
.nf
#define YY_USER_ACTION ++ctr[yy_act]
.fi
ここで
.I ctr
は配列であり、それぞれのルールがマッチした回数を計数します。
マクロ
.B YY_NUM_RULES
はルールの総数を表すため(
.B \-s
を使った時でさえデフォルトルールを含みます)、
正しい
.I ctr
の宣言は次のようになります:
.nf
int ctr[YY_NUM_RULES];
.fi
.PP
マクロ
.B YY_USER_INIT
には最初のスキャンの前に常に行うアクションを再定義できます
(スキャナの内部初期化の前に行われます)。
例えばデータ表を読み込んだり、ログファイルをオープンするために使用できます。
.PP
マクロ
.B yy_set_interactive(is_interactive)
は現在のバッファが
.I 対話的
と見倣されているか否かを制御するために使用します。
対話的なバッファの処理は遅くなりますが、
スキャナの入力元が対話的でありバッファをフィルするのを待つことに起因する
問題を避けるためには指定しなければなりません(以下の
.B \-I
フラグに関する議論を参照して下さい)。
マクロ起動時に非ゼロを指定するとバッファは対話的になり、
ゼロを指定すると非対話的になります。
このマクロの使用は
.B %option always-interactive
.B %option never-interactive
に優先します(下記オプションを参照して下さい)。
バッファをスキャンして対話的である(もしくはでない)と判断される前に、
.B yy_set_interactive()
を起動して下さい。
.PP
マクロ
.B yy_set_bol(at_bol)
は現在のバッファにおける次のトークンに対するマッチのためのスキャンが
行頭から始まるか否かを制御します。
非ゼロのマクロ引数は、'^' が付いたルールを有効にしますが、
ゼロのマクロ引数は '^' が付いたルールを無効にします。
.PP
現在のバッファからスキャンされた次のトークンが有効な '^' ルールを持つ時、
マクロ
.B YY_AT_BOL()
は真を返します。
そうでない場合は偽を返します。
.PP
生成されたスキャナでは、全てのアクションは大きな一つの switch 文に
集められ、
.B YY_BREAK
で分けられています。
.B YY_BREAK
は再定義可能です。デフォルトではそれぞれのルールのアクションを
分けるための単なる "break" です。
.B YY_BREAK
を再定義することにより、例えば C++ ユーザが
#define YY_BREAK を何もしないように定義し
(ただし全てのルールが "break" か "return" で終るように
注意しなければなりません!)、
ルールのアクションが "return" で終ることにより
.B YY_BREAK
がアクセスできないことに起因する、
到達できない文があるという警告を避けることが出来ます。
.SH ユーザが使用可能な値
この節ではユーザがルールのアクション部分で使用可能な値をまとめます。
.IP -
.B char *yytext
現トークンのテキストを保持しています。内容を変更しても構いませんが、
その長さを伸ばしてはいけません(終りに文字を追加してはいけない)。
.IP
スキャナの記述の最初の部分に特別な指示である
.B %array
が書かれているとき、
.B yytext
.B char yytext[YYLMAX]
と定義されます。
.B YYLMAX
はマクロで、デフォルトの値 (多くの場合8KB) を変更したい場合には
最初の部分で再定義可能です。
.B %array
を使うといくらか遅いスキャナになりますが、
.B yytext
の値は
.I input()
.I unput()
の呼び出しでも破壊されなくなります。
.B yytext
が文字ポインタである場合、
これらの関数呼び出しは
.B yytext
を破壊する可能性があります。
.B %array
と対称な指定
.B %pointer
がデフォルトです。
.IP
C++ のスキャナクラスを生成する (オプション
.B \-+
) ときには
.B %array
は使えません。
.IP -
.B int yyleng
現トークンの長さを保持しています。
.IP -
.B FILE *yyin
はデフォルトで
.I flex
が読むファイルです。再定義することは可能ですが、スキャンを
始める前か EOF に到達した後でのみ再定義は意味を持ちます。
スキャンの途中で変更すると予想外の結果をもたらします。
というのも
.I flex
は入力をバッファリングしているからです;
そのような場合には、直接再定義せず
.B yyrestart()
を使って下さい。
ファイルの終わりでスキャンが終了した場合には
.I yyin
を新しい入力ファイルに割り当て、
再びスキャナを呼び出してスキャンを続けることが出来ます。
.IP -
.B void yyrestart( FILE *new_file )
を呼ぶことで
.I yyin
が新しい入力ファイルを指すように出来ます。新しいファイルへの変更は
すぐに行われます (それまでにバッファに読み込まれていた入力は失われます)。
.I yyin
を引数として
.B yyrestart()
を呼ぶと、現在の入力バッファを捨てて同じ入力ファイルを
スキャンし続けることに注意して下さい。
.IP -
.B FILE *yyout
.B ECHO
アクションが行われる対象のファイルです。
ユーザが再割当することが出来ます。
.IP -
.B YY_CURRENT_BUFFER
カレントバッファの
.B YY_BUFFER_STATE
ハンドルを返します。
.IP -
.B YY_START
現在の開始条件に対応する整数値を返します。
続いてこの値を
.B BEGIN
と共に使うことで、スキャナをその開始条件へ戻すことが出来ます。
.SH YACC とのインタフェース
.I flex
の主な使用方法の一つは、
.I yacc
パーサジェネレータと共に使用することです。
.I yacc
パーサは
.B yylex()
と言う名前のルーチンを呼び、次の入力トークンを見付けるものとしています。
このルーチンは、次のトークンの型を返し、
関連する値をグローバルの
.B yylval
に格納するものとされています。
.I flex
.I yacc
と共に使うには、
.I yacc
.B \-d
オプションを指定して、
.I yacc
の入力に現れる全ての
.B %tokens
の定義を含む
.B y.tab.h
ファイルを生成させます。
このファイルは
.I flex
スキャナにインクルードされます。
例えばトークンの一つが "TOK_NUMBER" である場合、
スキャナの一部分は次のようになっています:
.nf
%{
#include "y.tab.h"
%}
%%
[0-9]+ yylval = atoi( yytext ); return TOK_NUMBER;
.fi
.SH オプション
.I flex
には以下のようなオプションがあります:
.TP
.B \-b
バックアップ情報を
.I lex.backup
に出力します。
このファイルには、スキャナのバックアップ(backing-up)を必要とする状態と
それに対応する入力文字の一覧がリストされます。
ルールを追加することでバックアップ状態を取り除くこと
ができます。バックアップ状態が
.I 全て
取り除かれ、
.B \-Cf
または
.B \-CF
を指定すると、生成されたスキャナの実行速度が向上します(
.B \-p
フラグを見て下さい)。
スキャナをぎりぎりまで最適化しようとしてるユーザのみが
このオプションに関係あります。
(後述の性能関連の節を見て下さい。)
.TP
.B \-c
何もしません。POSIX 互換のために用意されています。
.TP
.B \-d
生成されたスキャナが
.I デバッグ
モードで実行されます。
.B yy_flex_debug
が非ゼロの場合(デフォルト)、
パターンが認識されるたびに、スキャナは次のようなメッセージを
.I 標準エラー出力
へ出力します。
.nf
--accepting rule at line 53 ("the matched text")
.fi
行番号はスキャナを定義しているファイル (flexに与えられたファイル)
でのルールの位置です。
スキャナがバックアップしたとき、デフォルトルールを受け入れたとき、
入力バッファの最後に到達したとき (あるいは、NULに到達したとき;
スキャナには、この二つの区別はつきません) 、ファイルの最後に到達した
ときにもメッセージが出力されます。
.TP
.B \-f
.I 高速なスキャナ
を指定します。
テーブル圧縮は行われず、標準入出力をバイパスします。
その結果生成されるスキャナは大きくなりますが、高速なものになります。
このオプションは
.B \-Cfr
と同等です (以下を参照)。
.TP
.B \-h
.I flex
のオプションの要約からなる "ヘルプ" を
.I 標準出力
に書き出し終了します。
.B \-?
.B \-\-help
とは
.B \-h
と同じです。
.TP
.B \-i
.I 大文字小文字を区別しない
スキャナを生成します。
.I flex
の入力パターンに与えられる文字が大文字であるか小文字であるかは区別されず、
スキャナに入力される文字列は大文字小文字に関係なくマッチします。
マッチしたテキスト
.I yytext
では入力時の大文字小文字が保存されます (大文字を小文字に変換したりしません)。
.TP
.B \-l
AT&T の
.I lex
の実装に対して最大限の互換性を持たせます。これは
.I 完全な
互換性を意味しません。
このオプションを使用すると性能に大きな影響があります。
このオプションは、
.B \-+, \-f, \-F, \-Cf, \-CF
と同時に使用できません。詳しくは、
後述の "Lex および POSIX との非互換性" の節を御覧下さい。
またこのオプションを使用すると、
.B YY_FLEX_LEX_COMPAT
が生成されたスキャナの名前に #define されます。
.TP
.B \-n
何もしません。POSIX 互換のためにだけ用意されたオプションです。
.TP
.B \-p
性能情報を標準エラー出力に出力します。
.I flex
入力ファイルの記述のうち、
生成されるスキャナの性能低下の深刻な原因となる部分について、
コメントされます。
オプションを2回指定すると、より細かな性能低下についても
コメントが出力されます。
.IP
.B REJECT
.B %option yylineno
・可変長右文脈(欠陥/バグの節で後述)は多大なる性能への悪影響があります;
.I yymore()
の使用・
.B ^
オペレータ・
.B \-I
フラグは小さな性能の悪影響があります。
.TP
.B \-s
.I デフォルトルール
(マッチしないスキャナの入力を
.I 標準出力
に出力する)
が抑制されます。ルールにマッチしない入力が表れたとき、スキャナは
エラーで異常終了します。
スキャナのルールの組に抜けが無いかを確認する場合に有効です。
.TP
.B \-t
.B lex.yy.c
ではなく、標準出力にスキャナを書き出します。
.TP
.B \-v
生成するスキャナの特徴の要約を
.I 標準エラー出力
に出力するように
.I flex
に指示します。
ほとんどの特徴は通常の
.I flex
ユーザには意味がありませんが、最初の行は
.I flex
のバージョンを表示し(
.B \-V
で表示されるもと同じです)、次の行はデフォルトを含むスキャナ生成時のフラグです。
.TP
.B \-w
警告メッセージを抑制します。
.TP
.B \-B
.I 対話的
なスキャナ (以下の
.B \-I
の項を参照) ではなく
.I バッチ的
なスキャナを生成するよう
.I flex
に指示します。
通常
.B \-B
を使用するのは、スキャナを対話的に使用しないことが
.I 分かっている
時であり、
.I 少しでも
性能を追求したい時です。
より大きい性能を追求する場合には、
.B \-Cf
もしくは
.B \-CF
オプションを使用すべきです(後述)。
.B \-B
を自動的に設定します。
.TP
.B \-F
.ul
高速な
スキャナテーブルの表現を使う(標準入出力はバイパスする)ことを指定します。
この表現は、完全テーブル表現
.B (-f)
とほぼ同じぐらい高速で、
ある種のパターンに対してはかなり小さく (ある種に対しては大きく)
なります。
通常、次のように、パターンの組が "keywords" とその対応
および "identifier" ルールからなる場合:
.nf
"case" return TOK_CASE;
"switch" return TOK_SWITCH;
...
"default" return TOK_DEFAULT;
[a-z]+ return TOK_ID;
.fi
この場合、完全テーブル表現を使用する方が良いです。
もし "identifier" ルールからのみ表現され、
キーワードを検知するためにハッシュ表等を使用する場合は、
.B -F
を使用する方が良いです。
.IP
このオプションは
.B \-CFr
と等価です (以下を参照)。
これは
.B \-+
オプションとは同時に指定できません。
.TP
.B \-I
.I flex
.I 対話的
なスキャナを生成するように指示します。
対話的なスキャナは、
先読みすることによりマッチするトークンが完全に決まる場合のみ先読みします。
現在のトークンが既に明らかな場合でも常に先読みする方法は、
必要時のみ先読みする方法より少し速いです。
しかし、常に先読みする方法では対話性能に著しく悪影響があります;
例えばユーザが改行を入力した場合、
.I 別の
トークンを入力するまでそれは改行として認識されません。
大概の場合、次の行全体を入力することになります。
.IP
.I flex
のスキャナのデフォルトは
.I 対話的
であり、例外は
.B \-Cf
.B \-CF
といったテーブル圧縮オプション(後述)使用時です。
高性能追求時にはこれらのオプションを使用しているべきですので、
これらのオプションを使用していない場合には、
.I flex
は実行時性能を少し犠牲にして直観的な対話的な振舞いを取っているものとします。
.B \-I
オプションを
.B \-Cf
.B \-CF
と共に
.I 使用できない
ことにも注意して下さい。
実際はこのオプションは不要です;
許される場合、デフォルトで有効になっています。
.IP
スキャナを対話的で
.I 無い
ように強制するには
.B \-B
(先述)を使用します。
.TP
.B \-L
.I flex
.B #line
ディレクティブを
.B lex.yy.c
中に生成しないように指示します。
デフォルトではこの #line ディレクティブを生成するので、
アクションにおけるエラーメッセージは、オリジナルの
.I flex
入力ファイル(
エラーが入力ファイルのコードに起因する場合)もしくは
ファイル
.B lex.yy.c
(
.I flex
の誤り -- 以下の電子メールアドレスに報告して下さい)
における正しい位置を与えます。
.TP
.B \-T
.I flex
.I トレース
モードで実行します。
入力の形式とその結果として出力される非決定性/決定性有限
オートマトンに関して
.I 標準エラー出力
に多量のメッセージを出力します。
このオプションは主に
.I flex
をメンテナンスするために使われます。
.TP
.B \-V
バージョン番号を
.I 標準出力
に出力して終了します。
.B \-\-version
.B \-V
と同じです。
.TP
.B \-7
7 ビットのスキャナを生成します。
すなわち、入力に 7 ビットの文字のみを使用することを意味します。
.B \-7
を指定する利点は、
.B \-8
オプション(後述)を指定して生成するテーブルの半分まで小さくなりうることです。
欠点は、入力に 8 ビット文字が含まれている時に、
スキャナがハングもしくはクラッシュすることです。
.IP
しかしながら、
.B \-Cf
.B \-CF
といったテーブル圧縮オプション使用時にはテーブル圧縮の効果は少なく、
移植性が著しく低下することに注意して下さい。
.I flex
のデフォルトの動作では、
.B \-Cf
.B \-CF,
を指定しない限り 8 ビットスキャナを生成します。
指定時には、
あなたのサイトが常に 8 ビットスキャナを生成するように
(USA 以外のサイトでは良くあります)していない場合には、
7 ビットスキャナを生成します。
flex が 7 ビットもしくは 8 ビットのいずれのスキャナを生成するのかを
知りたい場合には、上述の
.B \-v
の出力のフラグの要約を調べて下さい。
.IP
.B \-Cfe
もしくは
.B \-CFe
(これらのテーブル圧縮オプションおよび等価クラスは後述)
を使用しても、flex はデフォルトで 8 ビットスキャナを生成することに
注意して下さい。
なぜなら、完全な 8 ビットテーブルは 7 ビットテーブルと比べても
たいして高価にはならないからです。
.TP
.B \-8
8 ビットのスキャナを生成するように
.I flex
に指示します。すなわち 8 ビット文字を解釈します。
圧縮オプション
.B \-Cf
.B \-CF
使用時にのみ必要です。
なぜなら flex はデフォルトでは 8 ビットスキャナを生成するからです。
.IP
flex のデフォルト動作と 7 ビットおよび 8 ビットスキャナの
トレードオフに関しては、上記
.B \-7
の議論を見て下さい。
.TP
.B \-+
C++ のスキャナクラスを生成します。
詳しくは C++ スキャナの生成で後述します。
.TP
.B \-C[aefFmr]
テーブル圧縮の程度と、
より一般的には小さいスキャナと高速なスキャナとのトレードオフを指定します。
.IP
.B \-Ca
("アライン")
生成されるスキャナのテーブルは、
メモリアクセスおよび計算のためにアラインされるため、より大きなものになります。
RISC アーキテクチャではロングワードのフェッチおよび操作は
ショートワードといったより小さな大きさのものに対するものより効率的です。
場合によってはスキャナのテーブルサイズが通常の 2倍になることもあります。
.IP
.B \-Ce
.I 等価クラス
(同一の字句属性を持つ文字セット)を構築します
(例えば、
.I flex
入力中に数字が現れるのが文字クラス "[0-9]" のみの場合、
数字 '0', '1', ..., '9' は全て同じ等価クラスになります)。
多くの場合、等価クラスを用いることで最終的なテーブル/
オブジェクトファイルのサイズを劇的(平均して 1/2-1/5)に減らすことが出来ます。
また、その際の性能コストは非常に低く抑えられます
( 1文字スキャンするごとに 1回の配列検索を行うだけです)。
.IP
.B \-Cf
.I 完全(full)
スキャナテーブルを生成することを指示します -
.I flex
は、別の状態に関する類似した遷移関数をうまく利用するという、
テーブル圧縮手法を用いません。
.IP
.B \-CF
別の高速スキャナ表現(
.B \-F
フラグにて記述)を用いることを指定します。
このオプションは
.B \-+
と同時に使用できません。
.IP
.B \-Cm
.I flex
.I メタ等価クラス
を構築するよう指示します。
メタ等価クラスは一緒に使われることの多い等価クラス
(等価クラスが使われていないときには文字群) の集合です。
圧縮テーブルを使っているとき、
メタ等価クラスは多くの場合にかなりの効果的をもたらしますが、
やや性能に影響します
(1-2 回の条件テストと 1 回の配列検索がスキャンした文字ごとに行われます)。
.IP
.B \-Cr
生成されたスキャナは入力に対しては標準入出力ライブラリ(標準入出力)を
.I バイパス
します。
スキャナは、
.B fread()
.B getc()
ではなく、
.B read()
システムコールを使用します。
性能改善結果はシステムに依存します。
オプション
.B \-Cf
もしくは
.B \-CF
を使用していない場合には、
一般にこのオプションは性能をあまり改善しません。
.B \-Cr
を指定すると、例えばスキャナを設定する前に標準入出力を使用して
.I yyin
を読み取る等した場合奇妙な動作となり得ます
(標準入出力の入力バッファに以前読み込んだものを、スキャナは読めません)。
.IP
.B \-Cr
.B YY_INPUT
を定義した場合意味がありません
(前述の生成されたスキャナを参照)。
スキャナの呼出に先だって標準入力を使って
.I yyin
から読みだしているときには、予想外の振る舞いをすることがあります。
.IP
.B \-C
のみを指定したときには、スキャナはテーブル圧縮は行いますが、
等価クラスもメタ等価クラスも使いません。
.IP
オプション
.B \-Cf
.B \-CF
はオプション
.B \-Cm
を同時に指定しても意味をなしません -
なぜなら、テーブル圧縮が行われないときメタ等価クラス
は現れないからです。
それ以外のオプションは自由に組み合わせることが出来ます。
.IP
デフォルトの設定は
.B \-Cem
です。このとき
.I flex
は等価クラスとメタ等価クラスを生成します。
この設定は最も高いテーブル圧縮を行います。
テーブルサイズの大きさと実行の高速性はトレードオフの関係にあり、
一般に
.nf
遅いが 小さい
-Cem
-Cm
-Ce
-C
-C{f,F}e
-C{f,F}
-C{f,F}a
速いが 大きい
.fi
となります。
小さいテーブルのスキャナは通常生成もコンパイルも高速であるため、
通常の開発時は最大の圧縮を行うでしょう。
.IP
製品のスキャナでは、
.B \-Cfe
が速度と大きさの良いバランスです。
.TP
.B \-ooutput
.B lex.yy.c
ではなくファイル
.B output
にスキャナを書くように flex に指示します。
.B \-o
.B \-t
オプションを組み合わせると、
スキャナは
.I 標準出力
に書かれますが、
.B #line
ディレクティブ(
.B \\-L
にて上述)はファイル
.B output
を参照します。
.TP
.B \-Pprefix
.I flex
の使うデフォルトのプレフィックス
.I "yy"
の代わりに
.I prefix
を使います。これはグローバル変数とファイル名に影響します。
例えば
.B \-Pfoo
とすると、
.B yytext
の名前は
.B footext
となります。
またデフォルトの出力ファイル名を
.B lex.yy.c
から
.B lex.foo.c
に変えます。
影響を受ける名前の一覧です:
.nf
yy_create_buffer
yy_delete_buffer
yy_flex_debug
yy_init_buffer
yy_flush_buffer
yy_load_buffer_state
yy_switch_to_buffer
yyin
yyleng
yylex
yylineno
yyout
yyrestart
yytext
yywrap
.fi
(C++ スキャナ使用時には
.B yywrap
.B yyFlexLexer
だけが影響を受けます。)
スキャナの中では、グローバル変数および関数を
どちらの名前ででも参照できます;
外部的には修正した名前のみ持ちます。
.IP
このオプションを使用することにより、複数の
.I flex
プログラムを同一の実行形式に容易にリンクすることが出来ます。
しかし、このオプションは
.B yywrap()
の名前をも変えますので、
独自の(適切に名前を付けた)ルーチンをスキャナのために用意するか、
.B %option noyywrap
を使用して
.B \-ll
とリンクする
.I 必要があります。
どれもデフォルトでは提供されません。
.TP
.B \-Sskeleton_file
.I flex
がスキャナを構築するのに使うデフォルトの
スケルトンファイルに優先します。
.I flex
のメンテナンスや開発をする場合以外、このオプションは必要ありません。
.PP
.I flex
は、flex のコマンドラインではなく、
スキャナ仕様記述中からオプションを制御する機構を提供します。
これはスキャナの最初の部分に
.B %option
ディレクティブを含めることで実現できます。
単一の
.B %option
ディレクティブにおいて複数のオプションを指定でき、
また複数のディレクティブを flex 入力ファイルの最初の部分に置くことが出来ます。
.PP
ほとんどのオプションが単純な名前であり、
オプションとして前に "no" という語(空白をはさみません)を付けて
意味を反転できます。
数値は flex のフラグやその反転と等価です。
.nf
7bit -7 オプション
8bit -8 オプション
align -Ca オプション
backup -b オプション
batch -B オプション
c++ -+ オプション
caseful または
case-sensitive -i オプションの逆(デフォルト)
case-insensitive または
caseless -i オプション
debug -d オプション
default -s オプションの逆
ecs -Ce オプション
fast -F オプション
full -f オプション
interactive -I オプション
lex-compat -l オプション
meta-ecs -Cm オプション
perf-report -p オプション
read -Cr オプション
stdout -t オプション
verbose -v オプション
warn -w オプションの逆
(-w オプションには "%option nowarn" を使用して下さい)
array "%array" と等価
pointer "%pointer" と等価(デフォルト)
.fi
.B %option
には、他では利用できない機能を提供するものもあります:
.TP
.B always-interactive
入力を常に "対話的" に扱うスキャナを生成するように flex に指示します。
通常、新たな入力ファイル毎にスキャナは
.B isatty()
を呼び出し、スキャナの入力元が対話的であり 1 度に 1 文字ずつ読むべきか
どうか判定しようとします。
一方このオプションを使用するとこの様な呼び出しは行いません。
.TP
.B main
スキャナに対し、
.B yylex()
を呼び出すだけのデフォルトの
.B main()
プログラムを提供するように指示します。
このオプションは
.B noyywrap
(後述)も暗黙的に指示します。
.TP
.B never-interactive
入力を "対話的" とはしないスキャナを生成するように flex に指示します
(これもまた
.B isatty()
を呼び出しません)。
これは
.B always-interactive
の逆です。
.TP
.B stack
開始条件スタックの使用を有効にします(前述の開始条件を参照)。
.TP
.B stdinit
設定されている場合 (すなわち
.B %option stdinit)
.I yyin
および
.I yyout
を、
デフォルトの
.I nil
ではなく、
.I 標準入力
.I 標準出力
に設定します。
既存の
.I lex
プログラムには、
ANSI C 互換ではないものの、この動作に依存しているものがあります。
ANSI C では
.I 標準入力
.I 標準出力
がコンパイル時の定数である必要はありません。
.TP
.B yylineno
入力から読み取った現在の行番号をグローバル変数
.B yylineno
に保持するスキャナを生成するように、
.I flex
に指示します。
このオプションは
.B %option lex-compat
から暗黙的に指定されます。
.TP
.B yywrap
セットされていない場合 (すなわち
.B %option noyywrap)
、スキャナはファイルの終りに際し
.B yywrap()
を呼ばず単にスキャンすべきファイルがもう無いものとするようになります(
ユーザが
.I yyin
を新しいファイルを指すようにし、再度
.B yylex()
を呼び出すまでです)。
.PP
.I flex
はルールアクションをスキャンし、
.B REJECT
.B yymore()
の機能が使われているかどうかを調べます。
.B reject
.B yymore
のオプションを使用すると、
オプションで指定した通りにこの判定に優先します。
オプションの指定は、セットして機能を使用していることを示す(例えば
.B %option reject)
、もしくはアンセットして機能を使用していないことを示す(例えば
.B %option noyymore)
ものとします。
.PP
次のオプションは文字列の値を取り、'=' で区切ります:
.nf
%option outfile="ABC"
.fi
これは
.B -oABC
と同じであり、
.nf
%option prefix="XYZ"
.fi
.B -PXYZ
と同じです。
最後に、
.nf
%option yyclass="foo"
.fi
は C++ スキャナ生成時のみ有効(
.B \-+
オプション)です。これは
.I flex
に対して、
.B foo
.B yyFlexLexer
のサブクラスであることを知らせますので、
.I flex
はアクションを
.B yyFlexLexer::yylex()
ではなく
.B foo::yylex()
のメンバ関数とします。
また、(
.B yyFlexLexer::LexerError()
を起動することにより)呼び出すと実行時エラーを除去する
.B yyFlexLexer::yylex()
メンバ関数を生成します。
詳細は後述の C++ スキャナの生成を見て下さい。
.PP
生成されたスキャナから不要なルーチンを除きたい lint 純正主義者のために
多くのオプションが用意されています。
以下をアンセットすると(例えば
.B %option nounput
)、対応するルーチンは生成されるスキャナから除かれます:
.nf
input, unput
yy_push_state, yy_pop_state, yy_top_state
yy_scan_buffer, yy_scan_bytes, yy_scan_string
.fi
(
.B yy_push_state()
等は
.B %option stack
を使用しない場合には現れません)。
.SH 性能関連
.I flex
の主なデザインゴールは高性能なスキャナを生成することです。
多くのルールセットを良く扱うことで最適化されます。
既に概説した
.B \-C
オプション使用によるテーブル圧縮に起因する速度への影響の他に、
性能を悪化させる多くのオプション/アクションがあります。
それらを高価なものから安価なものへと並べます:
.nf
REJECT
%option yylineno
自由長の右文脈(trailing context)
バックアップが必要なパターンの組
%array
%option interactive
%option always-interactive
'^' 行頭オペレータ
yymore()
.fi
最初の 3 つは非常に高価であり、最後の 2 つは非常に安価です。
.B unput()
は潜在的に非常に大きな仕事をするルーチン呼び出しとして実装されているのに対し、
.B yyless()
は非常に安価なマクロです;
ですからスキャンした余分なテキストを戻すだけの場合には
.B yyless()
を使って下さい。
.PP
性能が重要な場合には、出来うる限りの努力でもって
.B REJECT
を避けて下さい。
これは特に高価なオプションです。
.PP
バックアップを取り除くと、乱雑になり、
ひどく苦労して複雑なスキャナを作ることになります。
実際的には
.B \-b
フラグを指定して
.I lex.backup
ファイルを生成することから始めます。例えば、入力
.nf
%%
foo return TOK_KEYWORD;
foobar return TOK_KEYWORD;
.fi
に対しては、ファイルは次のようになります:
.nf
State #6 is non-accepting -
associated rule line numbers:
2 3
out-transitions: [ o ]
jam-transitions: EOF [ \\001-n p-\\177 ]
State #8 is non-accepting -
associated rule line numbers:
3
out-transitions: [ a ]
jam-transitions: EOF [ \\001-` b-\\177 ]
State #9 is non-accepting -
associated rule line numbers:
3
out-transitions: [ r ]
jam-transitions: EOF [ \\001-q s-\\177 ]
Compressed tables always back up.
.fi
最初の数行は、
-'o' に遷移できるが他の文字には遷移できない状態があり、
+\&'o' に遷移できるが他の文字には遷移できない状態があり、
その状態では現在スキャンされたテキストは他のルールにはマッチしないことを
表します。
この状態が発生したのは、
入力ファイルの行 2, 3 のルールにマッチしようとした時です。
スキャナがこの様な状態にあり 'o' 以外の文字を読んだ場合には、
マッチするルールを探すためのバックアップが必要となります。
少し考えれば、これは "fo" を見た時にある状態に違いないことが分かるでしょう。
この様な時、'o' 以外のものが現れると、
スキャナは、単に 'f' にマッチする(デフォルトルール)ところまで
戻り(バックアップし)ます。
.PP
状態 #8 に関係するコメントは、
"foob" がスキャンされた時に問題があることを表しています。
実際、'a' 以外の文字に出会うと、スキャナは "foo" を受理するところまで戻ります。
同様に状態 #9 に関係するコメントは、
"fooba" がスキャンされ 'r' が続かない場合に関係します。
.PP
最後のコメントが通知するのは、
.B \-Cf
.B \-CF
を使っているのでなければ
バックアップを取り除こうと努力することは無意味であることです。
なぜなら、圧縮されたスキャナに対してそのようなことをしても、
性能上の利益は無いからです。
.PP
バックアップを取り除くためには "エラー" ルールを追加します:
.nf
%%
foo return TOK_KEYWORD;
foobar return TOK_KEYWORD;
fooba |
foob |
fo {
/* false alarm, not really a keyword */
return TOK_ID;
}
.fi
.PP
キーワードのリストからバックアップを取り除くには、"全てを捕まえる"
ルールを使用することが出来ます:
.nf
%%
foo return TOK_KEYWORD;
foobar return TOK_KEYWORD;
[a-z]+ return TOK_ID;
.fi
通常、適切な時にはこれは一番良い解決策です。
.PP
バックアップメッセージはカスケードすることが多いです。
複雑なルールの組では、数百ものメッセージを得るのは普通のことです。
しかし、これを解析すれば、バックアップを除去するためには
大抵の場合数ダースのルールにだけ関係あることが分かるでしょう
(しかし、間違えることが多く、誤ったルールが偶然有効なトークンにマッチし得ます。
将来の
.I flex
の機能では、
自動的にバックアップを除去するルールを追加するようになるかも知れません)。
.PP
バックアップを除去することにより利益があるのは、
.I 全ての
バックアップを除去した時だけということを覚えておくことは重要です。
たった一つを残しても何も得ることが出来ません。
.PP
.I 可変長の
右文脈 (左部分と右部分のいずれかもしくは両方が可変長)は
.B REJECT
とほぼ同じだけの(すなわち相当の)性能劣化となります。
そのため次のようなルール:
.nf
%%
mouse|rat/(cat|dog) run();
.fi
は次のように書くか:
.nf
%%
mouse/cat|dog run();
rat/cat|dog run();
.fi
次のように書いた方が良いです:
.nf
%%
mouse|rat/cat run();
mouse|rat/dog run();
.fi
特別な '|' アクションは助けにはなり
.I ません
し、かえって状況を悪くします
(後述の欠陥/バグを参照)。
.LP
スキャナの性能を向上させるための余地(実現は最も容易)は、
マッチするトークンが長ければスキャナが高速になることにあります。
長いトークンではほとんどの入力処理は(短い)内部ループで処理され、
アクションのためにスキャナ環境を設定する追加の仕事(例えば
.B yytext)
をほとんどしないからです。
C コメントのスキャナを思い出しましょう:
.nf
%x comment
%%
int line_num = 1;
"/*" BEGIN(comment);
<comment>[^*\\n]*
<comment>"*"+[^*/\\n]*
<comment>\\n ++line_num;
<comment>"*"+"/" BEGIN(INITIAL);
.fi
次のように書くと高速になります:
.nf
%x comment
%%
int line_num = 1;
"/*" BEGIN(comment);
<comment>[^*\\n]*
<comment>[^*\\n]*\\n ++line_num;
<comment>"*"+[^*/\\n]*
<comment>"*"+[^*/\\n]*\\n ++line_num;
<comment>"*"+"/" BEGIN(INITIAL);
.fi
今度は、改行毎に別のアクションの処理を行うのではなく、
改行認識はルール間で "分散" され、
可能な限り長いテキストにマッチするようになっています。
ルールの
.I 追加
はスキャナを遅く
.I しません!
スキャナの速度は、ルール数とも、
オペレータ '*' や '|' といったものに基づくルールの複雑さ
(この節の始めで扱いました)とも独立です。
.\" 括弧内自信無しです
.\" Apr 29 1997, horikawa@jp.freebsd.org
.PP
最後の高速化の例です:
1 行に 1 つずつであり別の文字は付かないような、
識別子とキーワードを全てファイルからスキャンすることを考えます。
最初は次のようになるでしょう:
.nf
%%
asm |
auto |
break |
... etc ...
volatile |
while /* it's a keyword */
.|\\n /* it's not a keyword */
.fi
後戻りを避けるために全てを捕まえるルールを導入します:
.nf
%%
asm |
auto |
break |
... etc ...
volatile |
while /* it's a keyword */
[a-z]+ |
.|\\n /* it's not a keyword */
.fi
1 行に正確に 1 語だけあることが保証されている場合、
改行の認識を別のトークンと併せることで、
マッチの総数を半分に減らすことが出来ます:
.nf
%%
asm\\n |
auto\\n |
break\\n |
... etc ...
volatile\\n |
while\\n /* it's a keyword */
[a-z]+\\n |
.|\\n /* it's not a keyword */
.fi
ここで、再度バックアップをスキャナに組み込んだことに
気を付けなければなりません。
実際
.I 我々は
入力ストリームはレターと改行だけであることを知っていますが、
.I flex
はこれが分からないため、
トークン "auto" などをスキャンした次の文字が改行でもレターでもない場合には
バックアップが必要であると考えます。
以前は "auto" ルールに適合しそれで終りでしたが、
今は "auto" ルールは無く、"auto\\n" ルールだけがあります。
バックアップの可能性を除去するためには、
最後の改行以外のルールを二重化するか、
そのような入力に出くわさないので分類は不要と分かっているため、
改行を導入しないもう一つの全てを捕まえるルールを導入することが出来ます:
.nf
%%
asm\\n |
auto\\n |
break\\n |
... etc ...
volatile\\n |
while\\n /* it's a keyword */
[a-z]+\\n |
[a-z]+ |
.|\\n /* it's not a keyword */
.fi
.B \-Cf
を付けてコンパイルすると、実際問題上
.I flex
で得られるほぼ最速になります。
.PP
最後の注意事項:
.I flex
は NUL にマッチする時には遅く、トークンが複数の NUL を含む時には特に遅いです。
テキストがしばしば NUL を含むものと予想される場合には、テキストの
.I 短い
部分とマッチするようにルールを書くべきです。
.PP
もう一つの性能に関する最終注意事項:
入力のマッチ方法の節で既に示したように、
大きなトークンを納めるために
.B yytext
のサイズを動的に変更すると処理が遅くなります。
なぜなら、(巨大な)トークンを再度先頭からスキャンしなおさねばならないからです。
性能が重要な場合、
テキストの "大きな" 部分にマッチさせるべきですが "巨大な" 部分にマッチさせる
べきではありません。
両者の堺目は 8K 文字/トークンです。
.SH C++ スキャナの生成
.I flex
は 2 通りの C++ スキャナ生成方法を提供します。
最初の方法は
.I flex
が生成したスキャナを単に C コンパイラではなく C++ コンパイラで
コンパイルするというものです。
この場合コンパイルエラーには出会わないはずです
(見付けた場合には作者の節で後述する電子メールアドレスに報告して下さい)。
この場合ルールにおいて C コードではなく C++ コードを書くことが出来ます。
スキャナのデフォルトの入力元は
.I yyin
のままであり、
デフォルトのエコー先は
.I yyout
のままであることに注意して下さい。
どちらも
.I FILE *
変数のままであり、C++
.I streams
ではないです。
.PP
.I flex
に C++ スキャナクラスを生成させることも出来ます。
.B \-+
オプションを指定する(もしくは等価的に
.B %option c++
を使う)とこのように実行され、
flex の実行形式名が '+' で終っている場合には自動的に指定されます。
このオプションを指定すると flex が生成するスキャナのデフォルトはファイル
.B lex.yy.cc
となり
.B lex.yy.c
ではありません。
生成されたスキャナは
2 つの C++ クラスとのインタフェースを定義するヘッダファイル
-.I FlexLexer.h
+.I g++/FlexLexer.h
をインクルードします。
.PP
最初のクラス
.B FlexLexer
は一般的なスキャナクラスを定義する抽象基盤クラスを提供します。
以下のメンバ関数を提供します:
.TP
.B const char* YYText()
最後にマッチしたテキストを返します。
.B yytext
と等価です。
.TP
.B int YYLeng()
最後にマッチしたトークンの長さを返します。
.B yyleng
と等価です。
.TP
.B int lineno() const
現在の入力の行番号(
.B %option yylineno
参照)もしくは
.B %option yylineno
を使用していない場合には
.B 1
を返します。
.TP
.B void set_debug( int flag )
スキャナのデバッグフラグをセットします。
.B yy_flex_debug
に代入するのと同じです(オプションの節で前述)。
スキャナ構築時に
.B %option debug
を使用してデバッグ情報を組み込む必要があることに注意して下さい。
.TP
.B int debug() const
現在のデバッグフラグの設定を返します。
.PP
また次のものと等価なメンバ関数も提供されます
.B yy_switch_to_buffer(),
.B yy_create_buffer()
(最初の引数は
.B istream*
オブジェクトポインタであり
.B FILE*
ではありません),
.B yy_flush_buffer(),
.B yy_delete_buffer(),
.B yyrestart()
(これもまた最初の引数は
.B istream*
オブジェクトポインタです)。
.PP
2 番目のクラスは
.I FlexLexer.h
で定義される
.B yyFlexLexer
であり、
.B FlexLexer
から導出したものです。
以下の追加のメンバ関数を定義します:
.TP
.B
yyFlexLexer( istream* arg_yyin = 0, ostream* arg_yyout = 0 )
与えられた入出力ストリームを使う
.B yyFlexLexer
オブジェクトを構築します。
指定しない場合にはそれぞれストリームのデフォルト
.B cin
.B cout
になります。
.TP
.B virtual int yylex()
これは
.B yylex()
が通常の flex スキャナに対して行ったのと同様の役割を担います:
ルールのアクションが値を返すまで、
入力ストリームをスキャンし、トークンを消費します。
.B yyFlexLexer
からサブクラス
.B S
を導出し
.B yylex()
から
.B S
のメンバ関数および変数をアクセスしたい場合、
.B %option yyclass="S"
を指定して
.B yyFlexLexer
ではなくサブクラスを使用することを
.I flex
に知らせる必要があります。
この場合
.B yyFlexLexer::yylex()
を生成するのではなく、
.I flex
.B S::yylex()
(および呼び出されたなら
.B yyFlexLexer::LexerError()
を呼び出すダミーの
.B yyFlexLexer::yylex()
も)を生成します。
.TP
.B
virtual void switch_streams(istream* new_in = 0,
.B
ostream* new_out = 0)
.B yyin
.B new_in
(非ニルの場合)
に再割当し、
.B yyout
.B new_out
(同様)に再割当します。
.B yyin
が再割当された場合には以前の入力バッファは消去されます。
.TP
.B
int yylex( istream* new_in, ostream* new_out = 0 )
まず入力ストリームを
.B switch_streams( new_in, new_out )
を使用して切替え、
.B yylex()
の値を返します。
.PP
さらに、
.B yyFlexLexer
は次のプロテクトされた仮想関数を定義します。
スキャナにあわせてこれらを導出クラスにおいて再定義出来ます:
.TP
.B
virtual int LexerInput( char* buf, int max_size )
最大
.B max_size
文字を
.B buf
に読み込み、読めた文字数を返します。
入力の終りを示すには 0 文字を返します。"対話的" スキャナ(
.B \-B
.B \-I
フラグを参照)はマクロ
.B YY_INTERACTIVE
を定義することに注意して下さい。
.B LexerInput()
を再定義し、
対話的な入力元をスキャンする可能性があるかどうかに依存して
異なるアクションが必要となる場合、
この名前が存在するかどうかのテストは
.B #ifdef
にて可能です。
.TP
.B
virtual void LexerOutput( const char* buf, int size )
.B size
文字をバッファ
.B buf
から書き出します。
スキャナのルールが NUL を含むテキストにマッチ可能な場合、
NUL 終端されているこのバッファは "内部に" NUL を含んでいても構いません。
.TP
.B
virtual void LexerError( const char* msg )
致命的なエラーメッセージを報告します。
デフォルトのこの関数はメッセージをストリーム
.B cerr
に書き、終了します。
.PP
.B yyFlexLexer
オブジェクトは
.I 全ての
スキャン時の状態を含むことに注意して下さい。
それゆえこの様なオブジェクトをリエントラントなスキャナとして使用できます。
同一の
.B yyFlexLexer
クラスの複数のインスタンスを具体化可能であり、
複数の C++ スキャナクラスを組み合わせ上記
.B \-P
オプションを使用することで同一のプログラムで使用可能です。
.PP
最後に
.B %array
機能は C++ スキャナクラスでは使用できないことに注意して下さい;
.B %pointer
を使用しなければなりません(デフォルト)。
.PP
単純な C++ スキャナの例を以下に示します:
.nf
// An example of using the flex C++ scanner class.
%{
int mylineno = 0;
%}
string \\"[^\\n"]+\\"
ws [ \\t]+
alpha [A-Za-z]
dig [0-9]
name ({alpha}|{dig}|\\$)({alpha}|{dig}|[_.\\-/$])*
num1 [-+]?{dig}+\\.?([eE][-+]?{dig}+)?
num2 [-+]?{dig}*\\.{dig}+([eE][-+]?{dig}+)?
number {num1}|{num2}
%%
{ws} /* skip blanks and tabs */
"/*" {
int c;
while((c = yyinput()) != 0)
{
if(c == '\\n')
++mylineno;
else if(c == '*')
{
if((c = yyinput()) == '/')
break;
else
unput(c);
}
}
}
{number} cout << "number " << YYText() << '\\n';
\\n mylineno++;
{name} cout << "name " << YYText() << '\\n';
{string} cout << "string " << YYText() << '\\n';
%%
int main( int /* argc */, char** /* argv */ )
{
FlexLexer* lexer = new yyFlexLexer;
while(lexer->yylex() != 0)
;
return 0;
}
.fi
複数の(異なった)字句解析クラスを生成したい場合、
.B \-P
フラグ (もしくは
.B prefix=
オプション) を使用して各
.B yyFlexLexer
.B xxFlexLexer
等の別の名前にします。
次に字句解析クラスのソースごとに
.B <FlexLexer.h>
をインクルードします。
以下のように
.B yyFlexLexer
をリネームします:
.nf
#undef yyFlexLexer
#define yyFlexLexer xxFlexLexer
#include <FlexLexer.h>
#undef yyFlexLexer
#define yyFlexLexer zzFlexLexer
#include <FlexLexer.h>
.fi
これはあるスキャナに対し
.B %option prefix="xx"
を使用しもう一方に対し
.B %option prefix="zz"
を使用した場合です。
.PP
重要: 現在のスキャンクラスの形式は
.I 実験的
であり、メジャーリリースが変わると大きく変更される可能性があります。
.SH LEX および POSIX との非互換性
.I flex
は AT&T Unix の
.I lex
ツールのリライトですが(2 つの実装はいかなるコードも共有しません)、
いくばくかの拡張と非互換性を持っており、
どちらの実装でも受理可能なスキャナを書きたい方は
これを意識しなければなりません。
flex は POSIX
.I lex
仕様に完全合致しますが、例外は
.B %pointer
(デフォルト)使用と
.B unput()
呼び出しにより
.B yytext
の内容を破壊することであり、これは POSIX 仕様に反します。
.PP
この節では、
flex と AT&T lex と POSIX 仕様との間の全ての既知の非互換性を扱います。
.PP
.I flex
.B \-l
オプションはオリジナルの AT&T
.I lex
実装との最大の互換性を有効にしますが、
生成されたスキャナの性能は大きく低下します。
.B \-l
オプションを使用しても発生しうる非互換性は後で述べます。
.PP
.I flex
は以下の例外を除き
.I lex
と完全互換です:
.IP -
ドキュメントに記載されていない
.I lex
スキャナ内部の変数
.B yylineno
.B \-l
もしくは
.B %option yylineno
を使用しないとサポートされません。
.IP
.B yylineno
はスキャナ毎(単一のグローバル変数)ではなく、バッファ毎に管理されるべきです。
.IP
.B yylineno
は POSIX 仕様ではありません。
.IP -
.B input()
ルーチンは再定義できませんが、
ルールにマッチしたものに後続する文字を読むために呼ばれえます。
.B input()
がファイルの終りに到達すると、通常の
.B yywrap()
処理は終了します。``実際の'' ファイルの終りは
.I EOF
として返されます。
.IP
実際には入力は
.B YY_INPUT
マクロを定義することにより制御されます。
.IP
.B input()
を再定義できないという
.I flex
の制限は、最初に
.I yyin
を設定する以外のスキャナ入力制御方法を単に規定していないという、
POSIX 仕様と合致します。
.IP -
.B unput()
ルーチンは再定義できません。この制限は POSIX に合致しています。
.IP -
.I flex
スキャナは
.I lex
スキャナとは異なりリエントラントではありません。
実際、対話的なスキャナにおいて、
割り込みハンドラにてロングジャンプを用いてスキャナから脱出し、
その後スキャナを再度呼び出す場合、以下のメッセージを得るでしょう:
.nf
fatal flex scanner internal error--end of buffer missed
.fi
スキャナに再度入るためには、まず以下のようにして下さい
.nf
yyrestart( yyin );
.fi
この呼び出しにより入力バッファは捨てられることに注意して下さい;
通常これは対話的スキャナでは問題ではありません。
.IP
また、C++ スキャナクラスはリエントラント
.I です
ので、C++ を使用できるのなら、C++ を使用すべきです。
前述の "C++ スキャナの生成" を参照して下さい。
.IP -
.B output()
はサポートされていません。
.B ECHO
マクロからの出力はファイルポインタ
.I yyout
(デフォルトでは
.I 標準出力
)に対して行われます。
.IP
.B output()
は POSIX 仕様にはありません。
.IP -
.I lex
は排他的開始条件 (%x) をサポートしませんが、これは POSIX 仕様にあります。
.IP -
定義を展開する時、
.I flex
では括弧で括ります。
lex では以下は:
.nf
NAME [A-Z][A-Z0-9]*
%%
foo{NAME}? printf( "Found it\\n" );
%%
.fi
文字列 "foo" にはマッチしません。
なぜなら展開されたマクロはルール "foo[A-Z][A-Z0-9]*?" と等価になり、
優先度にて `?' は "[A-Z0-9]*" と結び付きます。
.I flex
ではルールが展開されると "foo([A-Z][A-Z0-9]*)?" となり、
文字列 "foo" がマッチします。
.IP
.B ^
で始まるか
.B $
で終る定義は、展開時に括弧で括らず、
これらのオペレータが定義において特別な意味を失わないようにすることに
注意して下さい。
しかし
.B <s>, /,
.B <<EOF>>
オペレータは
.I flex
の定義では使用できません。
.IP
.B \-l
を使用すると、
.I lex
の振舞いと同じく定義を括弧で括りません。
.IP
POSIX 仕様では、定義を括弧で括ります。
.IP -
.I lex
の実装によっては、
ルールのパターンの右側に空白がある場合、
ルールのアクションを別の行から始めることを許します:
.nf
%%
foo|bar<space here>
{ foobar_action(); }
.fi
.I flex
はこの機能をサポートしません。
.IP -
.I lex
.B %r
(Ratfor スキャナの生成)オプションはサポートされていません。
これは POSIX 仕様には含まれません。
.IP -
スキャナを
.B %array
を使用して構築したのではない限り、
.B unput()
呼び出し後には、次のトークンにマッチするまで
.I yytext
は未定義です。
これは
.I lex
にも POSIX 仕様にも当てはまりません。
.B \-l
オプションを指定するとこの非互換性を取り除きます。
.IP -
.B {}
(数値範囲)オペレータの優先度が異なります。
.I lex
は "abc{1,3}" を "1 度か 2 度か 3 度の 'abc' にマッチ" と解釈しますが、
.I flex
は "'ab' に 1 度か 2 度か 3 度の 'c' が続くものにマッチ" と解釈します。
後者が POSIX 仕様に合致します。
.IP -
.B ^
オペレータの優先度が異なります。
.I lex
は "^foo|bar" を "行頭の 'foo' か任意位置の 'bar' にマッチ" と解釈しますが、
.I flex
は "行頭の 'foo' か 'bar' にマッチ" と解釈します。
後者が POSIX 仕様に合致します。
.IP -
.I lex
でサポートされている
.B %a
等の特別なテーブルサイズの宣言は
.I flex
スキャナでは不要です;
.I flex
はこれらを無視します。
.IP -
.I flex
.I lex
のどちらでもスキャナを使用可能に書けるように、
.bd
FLEX_SCANNER
という名前を定義します。
スキャナを生成した
.I flex
のバージョンを表す
.B YY_FLEX_MAJOR_VERSION
.B YY_FLEX_MINOR_VERSION
を、スキャナは含みます
(例えば 2.5 リリースではこれらはそれぞれ 2 と 5 になります)。
.PP
以下の
.I flex
の機能は
.I lex
および POSIX 仕様には含まれません:
.nf
C++ スキャナ
%option
開始条件スコープ
開始条件スタック
対話的/非対話的スキャナ
yy_scan_string() 等
yyterminate()
yy_set_interactive()
yy_set_bol()
YY_AT_BOL()
<<EOF>>
<*>
YY_DECL
YY_START
YY_USER_ACTION
YY_USER_INIT
#line ディレクティブ
アクションの周りの %{}
単一行における複数のアクション
.fi
さらにほぼ全ての flex フラグです。
リストの最後の機能の意味は、
.I flex
では複数のアクションをセミコロンで区切って同一行に記述可能ですが、
.I lex
では次の
.nf
foo handle_foo(); ++num_foos_seen;
.fi
は (驚くべきことに) 次のように切り詰められるということです。
.nf
foo handle_foo();
.fi
.I flex
はアクションを切り詰めません。
ブレースで括られないアクションは単純に行末で終了します。
.SH 診断
.PP
.I warning, rule cannot be matched
常に同じテキストにマッチするルールが前にあるので、
与えられたルールがマッチしません。
例えば以下の "foo" は "全てを捕まえる" ルールの後ろにありますので
決してマッチしません:
.nf
[a-z]+ got_identifier();
foo got_foo();
.fi
スキャナ中で
.B REJECT
を使用するとこの警告を抑制します。
.PP
.I warning,
.B \-s
.I
option given but default rule can be matched
(おそらくある特定の開始条件のもとでは)
デフォルトルール (任意の一文字にマッチする) しか特定の入力に
対してはマッチしないことがあります。
.B \-s
を指定しているので、おそらくそうなりません。
.PP
.I reject_used_but_not_detected undefined
あるいは
.I yymore_used_but_not_detected undefined -
これらのエラーは コンパイル時に起きます。スキャナが
.B REJECT
もしくは
.B yymore()
を使っていますが
.I flex
がそのことに気づかなかったということです。
つまり、
.I flex
は最初の 2 つの部分を探しても
これらのアクションの出現を見つけられなかったのですが、
実際には何らかの方法
(例えば #include ファイルを介して)でこれらが記述されていた、ということです。
.B %option reject
.B %option yymore
を使用して、flex にこれらの機能を実際に使用していることを教えて下さい。
.PP
.I flex scanner jammed -
.B \-s
でコンパイルされたスキャナが、どのルールにもマッチしない
入力文字列に遭遇しました。
内部的な問題に起因してこのエラーが起こることもあります。
.PP
.I token too large, exceeds YYLMAX -
スキャナが
.B %array
を使っている場合に、あるルールが定数
.B YYLMAX
(デフォルトで 8K バイト) より大きな文字列とマッチしました。
.I flex
の入力ファイルの定義部で
.B YYLMAX
を #define することで値を大きくできます。
.PP
.I scanner requires \-8 flag to
.I use the character 'x' -
スキャナの記述に 8 ビットの文字
.I 'x'
を識別する部分があり、
.B \-Cf
もしくは
.B \-CF
のテーブル圧縮オプションのためにデフォルトの 7 ビットになっている
にもかかわらず、
\-8 オプションをつけていないということです。
詳細は
.B \-7
フラグのオプションの議論を参照して下さい。
.PP
.I flex scanner push-back overflow -
.B unput()
でテキストを戻しすぎたため、スキャナのバッファは
戻したテキストと現トークンを
.B yytext
に保てません。
この場合、理想的にはスキャナが動的にバッファの大きさを変えるべきですが、
現在のところそうなってはいません。
.PP
.I
input buffer overflow, can't enlarge buffer because scanner uses REJECT -
スキャナは非常に大きなトークンのマッチを調べていて、入力バッファを
拡張する必要が起きました。しかしながら、バッファの拡張は
.B
REJECT
を使うスキャナでは働きません。
.PP
.I
fatal flex scanner internal error--end of buffer missed -
スキャナが使用しているフレームから(を越えて)ロングジャンプした後、
再度スキャナに入った場合に起こります。
再度スキャナに入る前に:
.nf
yyrestart( yyin );
.fi
を使うか、前述のように C++ スキャナクラスを使用するようにして下さい。
.PP
.I too many start conditions in <> construct! -
存在するより多くの開始条件を <> 中に記載しました
(少なくとも一つを二度記載しました)。
.SH 関連ファイル
.TP
.B \-ll
スキャナがリンクしなければならないライブラリ。
.TP
.I lex.yy.c
生成されたスキャナ(システムによっては
.I lexyy.c
という名前になります)。
.TP
.I lex.yy.cc
.B -+
を使った時に作成された C++ スキャナクラス。
.TP
.I <FlexLexer.h>
C++ スキャナベースクラス
.B FlexLexer
とその導出クラス
.B yyFlexLexer
を定義するヘッダファイル。
.TP
.I flex.skl
スケルトンスキャナ。
このファイルは flex の実行時ではなく、flex を構築する時のみ利用されます。
.TP
.I lex.backup
.B \-b
フラグ用のバックアップ情報(システムによっては
.I lex.bck
という名前になります)。
.SH 欠陥 / バグ
.PP
右文脈(trailing context)パターンの中には、正しくマッチせず
警告メッセージ ("dangerous trailing context") を出すものがあります。
これらのパターンは、
ルールの最初の部分が 2番目の頭の部分とマッチするようなものです。
例えば "zx*/xy*" の場合、'x*' は右文脈の頭の 'x' とマッチします。
(POSIX ドラフトではそのようなパターンにマッチするテキストは
未定義であると述べていることに注意して下さい。)
.PP
右文脈の中には、実際には固定長であるのにそうとは解釈されないものがあり、
上に述べた性能の低下が起こります。
特に、 '|' や {n} (例えば "foo{3}") は常に可変長であると解釈されます。
.PP
右文脈と特別なアクション '|' を組み合わせると
.I 固定の
右文脈がよりコストのかかる
.I 可変の
右文脈となります。例えば、次のようなものです:
.nf
%%
abc |
xyz/def
.fi
.PP
.B %array
もしくは
.B \-l
オプションを指定しない場合、
.B unput()
を使うと yytext と yyleng を破壊します。
.PP
NUL のパターンマッチングは他の文字の比較よりかなり遅くなっています。
.PP
入力バッファの動的な大きさの再調整は時間がかかります。これは現トークン
(一般に巨大)までのマッチした全テキストの再スキャンを伴うためです。
.PP
入力のバッファリングと先読みのため、 <stdio.h> ルーチンと
混合して使うことが出来ません。例えば、
.B getchar()
.I flex
のルールはうまく行きません。代わりに
.B input()
を使って下さい。
.PP
.B \-v
オプションで表示される全テーブルエントリには、
どのルールがマッチしたのかを決定するのに必要なテーブルエントリ数が
含まれていません。エントリの数はスキャナが
.B REJECT
を使っていないときには DFA 状態数に等しく、
使っているときには DFA 状態数よりいくらか大きくなります。
.PP
.B REJECT
がオプション
.B \-f
もしくは
.B \-F
とともに使えません。
.PP
.I flex
の内部アルゴリズムについてのドキュメントが必要です。
.SH 関連項目
.PP
lex(1), yacc(1), sed(1), awk(1).
.PP
John Levine, Tony Mason, and Doug Brown,
.I Lex & Yacc,
O'Reilly and Associates.
第 2 版を入手すること。
.PP
M. E. Lesk and E. Schmidt,
.I LEX \- Lexical Analyzer Generator
.PP
Alfred Aho, Ravi Sethi and Jeffrey Ullman,
.I Compilers: Principles, Techniques and Tools,
Addison-Wesley (1986).
.I flex
で使用しているパターンマッチング技法を解説している(決定性オートマトン)。
.SH 作者
Vern Paxson が多くのアイディアとインスピレーションを得る助けを
Van Jacobson から受けました。
オリジナルバージョンは Jef Poskanzer が作成しました。
高速テーブル表現は Van Jacobson のデザインの部分実装です。
この実装は Kevin Gong と Vern Paxson が行いました。
.PP
多くの
.I flex
ベータテスタ、フィードバッカ、コントリビュータ、特に Francois Pinard,
Casey Leedom,
Robert Abramovitz,
Stan Adermann, Terry Allen, David Barker-Plummer, John Basrai,
Neal Becker, Nelson H.F. Beebe, benson@odi.com,
Karl Berry, Peter A. Bigot, Simon Blanchard,
Keith Bostic, Frederic Brehm, Ian Brockbank, Kin Cho, Nick Christopher,
Brian Clapper, J.T. Conklin,
Jason Coughlin, Bill Cox, Nick Cropper, Dave Curtis, Scott David
Daniels, Chris G. Demetriou, Theo Deraadt,
Mike Donahue, Chuck Doucette, Tom Epperly, Leo Eskin,
Chris Faylor, Chris Flatters, Jon Forrest, Jeffrey Friedl,
Joe Gayda, Kaveh R. Ghazi, Wolfgang Glunz,
Eric Goldman, Christopher M. Gould, Ulrich Grepel, Peer Griebel,
Jan Hajic, Charles Hemphill, NORO Hideo,
Jarkko Hietaniemi, Scott Hofmann,
Jeff Honig, Dana Hudes, Eric Hughes, John Interrante,
Ceriel Jacobs, Michal Jaegermann, Sakari Jalovaara, Jeffrey R. Jones,
Henry Juengst, Klaus Kaempf, Jonathan I. Kamens, Terrence O Kane,
Amir Katz, ken@ken.hilco.com, Kevin B. Kenny,
Steve Kirsch, Winfried Koenig, Marq Kole, Ronald Lamprecht,
Greg Lee, Rohan Lenard, Craig Leres, John Levine, Steve Liddle,
David Loffredo, Mike Long,
Mohamed el Lozy, Brian Madsen, Malte, Joe Marshall,
Bengt Martensson, Chris Metcalf,
Luke Mewburn, Jim Meyering, R. Alexander Milowski, Erik Naggum,
G.T. Nicol, Landon Noll, James Nordby, Marc Nozell,
Richard Ohnemus, Karsten Pahnke,
Sven Panne, Roland Pesch, Walter Pelissero, Gaumond
Pierre, Esmond Pitt, Jef Poskanzer, Joe Rahmeh, Jarmo Raiha,
Frederic Raimbault, Pat Rankin, Rick Richardson,
Kevin Rodgers, Kai Uwe Rommel, Jim Roskind, Alberto Santini,
Andreas Scherer, Darrell Schiebel, Raf Schietekat,
Doug Schmidt, Philippe Schnoebelen, Andreas Schwab,
Larry Schwimmer, Alex Siegel, Eckehard Stolz, Jan-Erik Strvmquist,
Mike Stump, Paul Stuart, Dave Tallman, Ian Lance Taylor,
Chris Thewalt, Richard M. Timoney, Jodi Tsai,
Paul Tuinenga, Gary Weik, Frank Whaley, Gerhard Wilhelms, Kent Williams, Ken
Yap, Ron Zellar, Nathan Zelle, David Zuhn,
および私の最低のメールアーカイブ能力から滑り落ちた方々、
それらの方々の協力にも同様に感謝します。
.PP
Keith Bostic, Jon Forrest, Noah Friedman,
John Gilmore, Craig Leres, John Levine, Bob Mulcahy, G.T.
Nicol, Francois Pinard, Rich Salz, Richard Stallman
には多くの悩みの分散に関して感謝します。
.PP
Esmond Pitt と Earle Horton には 8 ビット文字サポートに関して;
Benson Margulies と Fred Burke には C++ サポートに関して;
Kent Williams と Tom Epperly には C++ クラスサポートに関して;
Ove Ewerlid には NUL のサポートに関して;
Eric Hughes には複数バッファのサポートに関して、それぞれ感謝します。
.PP
この作品は当初、私が CA Berkeley の Lawrence Berkeley Laboratory
における Real Time Systems Group にいた時に作成されました。
私に協力してくれた方々に感謝します。
.PP
コメントは vern@ee.lbl.gov に送って下さい。
diff --git a/ja/man/man1/limits.1 b/ja/man/man1/limits.1
index b10adfb172..3ed5796de2 100644
--- a/ja/man/man1/limits.1
+++ b/ja/man/man1/limits.1
@@ -1,297 +1,297 @@
.\" Copyright (c) 1996 David Nugent <davidn@blaze.net.au>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, is permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice immediately at the beginning of the file, without modification,
.\" this list of conditions, and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. This work was done expressly for inclusion into FreeBSD. Other use
.\" is permitted provided this notation is included.
.\" 4. Absolutely no warranty of function or purpose is made by the author
.\" David Nugent.
.\" 5. Modifications may be freely made to this file providing the above
.\" conditions are met.
.\"
-.\" %Id: limits.1,v 1.2.2.6 1998/07/17 04:18:48 jkh Exp %
+.\" %Id: limits.1,v 1.8 1998/06/04 21:05:58 steve Exp %
.\" jpman %Id: limits.1,v 1.3 1997/06/23 15:04:52 horikawa Stab %
.\"
.Dd January 15, 1996
.Dt LIMITS 1
.Os FreeBSD
.Sh 名称
.Nm limits
.Nd リソースの制限値の設定および表示
.Sh 書式
.Nm limits
.Op Fl C Ar class
.Op Fl SHB
.Op Fl ea
.Op Fl cdflmnstu Op val
.Nm limits
.Op Fl C Ar class
.Op Fl SHB
.Op Fl cdflmnstu Op val
.Op Fl E
.Op Ar name=value ...
.Op Ar command
.Nm limits
.Op Fl U Ar user
.Op Fl SHB
.Op Fl ea
.Op Fl cdflmnstu Op val
.Nm limits
.Op Fl U Ar user
.Op Fl SHB
.Op Fl cdflmnstu Op val
.Op Fl E
.Op Ar name=value ...
.Op Ar command
.Sh 解説
.Nm limits
はカーネルのリソース制限の表示および設定を行ないます。また、
.Xr env 1
のように環境変数を設定して、プログラムを選択したリソースで動作させるこ
ともできます。
.Nm limits
コマンドは以下の 3 通りの使い方ができます:
.Pp
.Bl -hang -width indent
.It Nm limits Op Ar limitflags
.Op Ar name=value
.Ar command
.Pp
この使い方では
.Ar limitflags
にしたがって制限をセットし、オプションで
.Ar name=value
のペアで与えられた環境変数をセットし、指定されたコマンドを実行します。
.It Nm limits Op Ar limitflags
.Pp
この使い方ではリソースの設定の値は実際には設定せずに、設定値を
.Ar limitflags
にしたがって決定し、標準出力に出力します。
デフォルトでは、呼び出しプロセスにおいて有効な
現在のカーネルのリソースの設定値を出力します。
.Fl C Ar class
.Fl U Ar user
フラグを使って、ログイン能力データベース
.Xr login.conf 5
で設定されている、ログインクラスのリソース制限エントリによって変更され
る現在のリソース設定を表示することもできます。
.It Nm limits Fl e Op Ar limitflags
.Pp
この使い方では
.Ar limitflags
にしたがってリソースの設定値を決定しますが、実際には設定は行ないません。
前の使い方のように、これらの設定値を標準出力しますが、
シェルをコールするのに都合の良いように
.Em eval
の形式で出力します。
コールされるシェルは、親プロセスの
.Pa /proc
ファイルシステム中のエントリを調べて決定されます。
もし、シェルが判明すると (すなわち sh, csh, bash, tcsh, ksh, pdksh, rc
のいずれか)、
.Nm limits
は 'limit' もしくは 'ulimit' コマンドをそのシェルが解釈できるフォーマットで
出力します。シェル名が決定できなかった場合は、
.Pa /bin/sh
によって使われる 'ulimit' 形式で出力します。
.Pp
これはスクリプトで制限を設定したり、
デーモンや他のバックグランドタスクを
リソースを制限して起動したりする場合に非常に便利な機能です。
また、ログインクラスデータベースを設定し中央データベースを保守することにより、
最大使用リソースをグローバルに設定することができるという利点があります。
.Pp
.Nm limits
は通常
シェルスクリプト中では次のようにバッククォーテーションに囲み評価するよ
うにして使われます。
.Pp
.Dl eval `limits -e -C daemon`
.Pp
これで
.Nm limits
の出力が評価され、現在のシェルで設定されます。
.El
.Pp
上記の中で指定された limitflags の値には以下のオプションのうちの
1 つ以上のものが含まれます:
.Pp
.Bl -tag -width "-d [limit]"
.It Fl C Ar class
現在のリソースの値をもとに、ログインクラス "class" で適用される
リソースエントリによって変更したものを使います。
.It Fl U Ar user
現在のリソースの値をもとに、"user" が属するログインクラスに適用される
リソースエントリによって変更したものを使います。
user がどのクラスにも属していない場合、"default" クラスが存在すればそ
のリソース能力が使用され、もしそのユーザがスーパユーザアカウントであれ
ば、"root" クラスが使用されます。
.It Fl S
リソースの "soft" (もしくは現在の) 制限を表示もしくは設定します。
このスイッチに続いて指定される制限の設定は、
.Fl H
.Fl B
フラグでオーバライドしない限り、soft リミットに対する設定となります。
.It Fl H
リソースの "hard" (もしくは最大の) 制限を表示もしくは設定します。
このスイッチに続いて指定される制限の設定は、
.Fl S
.Fl B
フラグでオーバライドしない限り、hard リミットに対する設定となります。
.It Fl B
リソースの "soft" (現在の) および "hard" (最大の) 制限を表示もしくは設
定します。
このスイッチに続いて指定される制限の設定は、
.Fl S
.Fl H
フラグでオーバライドしない限り、soft リミットおよび hard リミットの
両者に対する設定となります。
.It Fl e
出力を "eval mode" (評価モード) の書式にします。
これは表示モードでのみ有効であり、コマンドを実行するときには使えません。
出力に使用される正確なシンタックスは
.Nm limits
が起動されたシェルのタイプに依存します。
.It Fl c Op Ar limit
.Em coredumsize
のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。
値に 0 を指定するとコアダンプしないようになります。
.It Fl d Op Ar limit
.Em datasize
のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。
.It Fl f Op Ar limit
.Em filesize
のリソースの制限を選択もしくは設定します。
.It Fl l Op Ar limit
.Em memorylocked
のリソースの制限を選択もしくは設定します。
.It Fl m Op Ar limit
.Em memoryuse
のサイズの制限を選択もしくは設定します。
.It Fl n Op Ar limit
.Em openfiles
のリソースの制限を選択もしくは設定します。
.It Fl s Op Ar limit
.Em stacksize
のリソースの制限を選択もしくは設定します。
.It Fl t Op Ar limit
.Em cputime
のリソースの制限を選択もしくは設定します。
.It Fl u Op Ar limit
.Em maxproc
のリソースの制限を選択もしくは設定します。
.Pp
上記のフラグのセットにおける有効な 'limit' の値は、無限値 (もしくは
カーネルにおいて定義されている最大値) を設定する場合は文字列 'infinity'
もしくは 'inf' を指定し、それ以外の場合は接尾子つきの数字を指定しま
す。サイズに関する値はデフォルトではバイトでの値となります。また以下の
接尾子の 1 つを付けることによってその単位となります。
.Pp
.Bl -tag -offset indent -width "xxxx" -compact
.It b
512 バイトブロック。
.It k
キロバイト (1024 バイト)。
.It m
メガバイト (1024*1024 バイト)。
.It g
ギガバイト。
.It t
テラバイト。
.El
.Pp
.Em cputime
リソースについてはデフォルトでは秒による値となります。
また以下の接尾子を付加することにより、それぞれの単位で指定可能です。
有効な複数の単位指定を並べると、その和を指定したことになります:
.Bl -tag -offset indent -width "xxxx" -compact
.It s
秒。
.It m
分。
.It h
時間。
.It d
日。
.It w
週。
.It y
年 (365 日)。
.El
.Pp
.It Fl E
.Sq Fl E
オプションを使用すると
.Nm limits
は継承している環境を完全に無視します。
.It Fl a
このオプションは特定のリソースの設定が指定されていても、
全てのリソースの設定を表示させます。
例えば、USENET ニュースシステムの立ち上げ時にコアダンプを無効にしたい
が、'news' アカウントに適用されるその他の全てのリソースの設定を行ない
たい場合は、次のように使います:
.Pp
.Dl eval `limits -U news -aBec 0`
.Pp
.Xr setrlimit 3
コールのように、スーパユーザのみが "hard" リソース制限を引き上げるこ
とができます。
root 以外のユーザはそれを引き下げるか、リソースの "soft" リミットを
hard リミットの範囲で変更することができます。
プログラムを実行する場合、
.Nm limits
が hard リミットを引き上げようとすると、それは致命的エラーとして扱われ
ます。
.El
.Sh 診断
.Nm limits
はユーザが何らかの方法で誤使用をすると EXIT_FAILURE で終了します。誤
使用には不正なオプションを使用した場合や、同時に設定と表示のオプション
を指定した場合、または
.Fl e
がプログラムを起動する時に使われた場合などが含まれます。
表示モードもしくは評価モードにて実行されたとき、
.Nm limits
は EXIT_SUCCESS の終了ステータスで終了します。
コマンドモードで実行されコマンドの実行が成功したときには、終了ステータスは
実行されたプログラムが返すものになります。
.Sh 関連項目
.Xr csh 1 ,
.Xr env 1 ,
.Xr limit 1 ,
.Xr sh 1 ,
.Xr getrlimit 2 ,
.Xr setrlimit 2 ,
.Xr login_cap 3 ,
.Xr login.conf 5
.Sh バグ
明らかな理由により、
.Nm limits
は等号 (``='') がその名称に含まれるコマンドを扱うことができません。
.Pp
評価用の出力が選択された場合、シェルを正しく認識し、そのシェルにとって
出力が正しいシンタックスとなるためには、/proc ファイルシステムがインス
トールされマウントされていなければなりません。
デフォルトの出力は /bin/sh にとって有効なものとなります。そのため、
/proc マウント前に
.Nm limits
を使用できるのは、標準の bourne シェルスクリプト中でのみとなります。
.Pp
.Nm limits
は出力や表示するリソースの設定が現在のユーザで有効であるかや、設定可能
であるかについては確認を行ないません。スーパユーザアカウントのみが
hard リミットを引き上げることができます。与えられた値が大きすぎる場合は
FreeBSD カーネルは何も出力せずにその制限値を指定された値より低く設定
します。
diff --git a/ja/man/man1/ln.1 b/ja/man/man1/ln.1
index 8498bf8e7c..57a380b7c7 100644
--- a/ja/man/man1/ln.1
+++ b/ja/man/man1/ln.1
@@ -1,134 +1,134 @@
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)ln.1 8.2 (Berkeley) 12/30/93
-.\" %Id: ln.1,v 1.3.2.1 1998/07/15 02:01:30 jkh Exp %
+.\" %Id: ln.1,v 1.6 1998/05/15 06:19:02 charnier Exp %
.\" jpman %Id: ln.1,v 1.2 1997/04/15 00:24:41 mutoh Stab %
.\"
.Dd December 30, 1993
.Dt LN 1
.Os BSD 4
.Sh 名称
.Nm ln
.Nd リンクファイルの作成
.Sh 書式
.Nm ln
.Op Fl fs
.Ar source_file
.Op target_file
.Nm ln
.Op Fl fs
.Ar source_file ...
.Op target_dir
.Sh 解説
.Nm
は新しいディレクトリエントリ(リンクファイル)を作成するユーティリティです。
リンクファイルのモードはオリジナルファイルと同じになります。
リンクファイルは
.Dq ファイルの内容のコピー
ではなく、
.Dq ファイルを指し示すポインタ
であり、1 つのオリジナル
ファイルを多くのディレクトリで取り扱えるようにするのに有効です。
リンクファイルには、ハードリンクとシンボリックリンクの 2 つの形式があり
ます。違いは、リンクの方法です。
.Pp
オプションとしては以下のものがあります。
.Bl -tag -width flag
.It Fl f
リンクが成功するように、target_file を削除してから
source_file を target_file にリンクします。
.It Fl s
シンボリックリンクを作成します。
.El
.Pp
デフォルトでは、
.Nm
.Em ハードリンク
を作成します。
ファイルへのハードリンクはオリジナルのディレクトリエントリと区別できません。
ファイルの参照に使われる名前にかかわらず、
そのファイルへのいかなる修正も同じように有効です。
通常、ハードリンクはディレクトリを指すことはできませんし、
ファイルシステムを拡張することもできません。
.Pp
シンボリックリンクはリンク先ファイルの名前を保持します。
リンクに対して
.Xr open 2
操作を行うと、その参照先ファイルが用いられます。
シンボリックリンクに対して
.Xr stat 2
操作を行うと、参照先ファイルの情報を返します。
リンクそのものの情報を得るには
.Xr lstat 2
を用いなければなりません。
.Xr readlink 2
呼び出しによってシンボリックリンクの内容を読むこともできます。
シンボリックリンクによってファイルシステムを拡張したり、
ディレクトリを参照したりすることが可能です。
.Pp
1つあるいは 2つの引数が与えられた場合、
.Nm
は既存のファイル
.Ar source_file
に対するリンクを作成します。
.Ar target_file
が指定された場合、リンクの名前はそれと同一になります。
.Ar target_file
はリンクファイルを置くディレクトリであっても構いません。
それ以外の場合はリンクはカレントディレクトリに置かれます。
ディレクトリ名だけが指定された場合は、
.Ar source_file
のパス名の最後のファイル名が指定されたものとみなします。
.Pp
2つ以上の引数が与えられた場合、
.Nm
はディレクトリ
.Ar target_file
内に指定された全てのファイルのリンクを作成します。作られるリンクの
名前は、リンクされるファイルの名前と同じになります。
.Pp
.Sh 関連項目
.Xr link 2 ,
.Xr lstat 2 ,
.Xr readlink 2 ,
.Xr stat 2 ,
.Xr symlink 2 ,
.Xr symlink 7
.Sh 歴史
.Nm ln
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/locate.1 b/ja/man/man1/locate.1
index 26d866cb83..1e40aaad8c 100644
--- a/ja/man/man1/locate.1
+++ b/ja/man/man1/locate.1
@@ -1,264 +1,264 @@
.\" Copyright (c) 1995 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" 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.
.\"
.\" @(#)locate.1 8.1 (Berkeley) 6/6/93
-.\" %Id: locate.1,v 1.5.2.3 1998/05/22 11:03:37 jkoshy Exp %
+.\" %Id: locate.1,v 1.11 1998/05/15 11:22:38 jkoshy Exp %
.\" jpman %Id: locate.1,v 1.3 1997/05/19 16:39:18 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt LOCATE 1
.Os BSD 4.4
.Sh 名称
.Nm locate
.Nd ファイル名を高速に検索する
.Sh 書式
.Nm
.Op Fl Scims
.Op Fl l Ar limit
.Op Fl d Ar database
pattern ...
.Sh 解説
.Nm locate
はデータベースを使って全てのパスを検索し、
.Ar pattern
にマッチしたファイル名を表示します。
データベースは定期的に(普通は週1回か毎日)再構築されます。
データベースの内容は、全ユーザがアクセスすることのできる
全てのファイル名です。
.Pp
.Ar pattern
にはシェルで使われるワイルドカード
.Po
.Dq *
.Dq ?
.Dq \e
.Dq [
.Dq \]
.Pc
を使用することができます。
その場合、ワイルドカードをシェルに解釈されないように
エスケープしなくてはいけません。
直前にバックスラッシュ
.Pq Dq \e
をつけると、いかなる文字も、
その文字が持つ特殊な意味が打ち消されます。
スラッシュ
.Pq Dq /
も含め、いかなる文字も特殊な意味を
持ちません。
.Pp
また、ワイルドカードを含まないパターン
.Pq Dq foo
指定した場合、
.Nm
.Dq *foo*
が指定されたものと解釈します。
歴史的な事情で、以前の
.Nm
は 32 から 127 までのキャラクタコード
しか扱うことができませんでした。
現在の処理方法では改行
.Pq Sq \en
とヌル
.Pq Sq \e0
以外のキャラクタ
コードを処理できます。
これまでサポートされていたプレインASCIIのみで構成された
ファイル名については、使用するメモリの量は増えていません。
32 未満、あるいは 127 をこえるキャラクタコードを含むファイル名
については、2 バイトを使って格納されます。
使用可能なオプションは以下のとおりです。
.Bl -tag -width 10n indent
.It Fl S
データベースの統計を表示して終了します。
.It Fl c
通常の出力を行わず、マッチしたファイル名の数を表示します。
.It Fl d Ar database
デフォルトのデータベースを使わず、
.Ar database
を使って検索します。
複数回
.Fl d
を指定することで、複数のデータベースを
使うことができます。
オプションの
.Ar database
はコロンで区切ることで複数のデータベースを使うことができます。
また、1つのコロンはデフォルトのデータベースを表します。
$ locate -d $HOME/lib/mydb: foo
.Dq foo
をパターンとして、
最初に
.Pa $HOME/lib/mydb
を、次に
.Pa /var/db/locate.database
を検索します。
$ locate -d $HOME/lib/mydb::/cdrom/locate.database foo
は、
.Dq foo
をパターンとして
.Pa $HOME/lib/mydb
.Pa /var/db/locate.database
.Pa /cdrom/locate.database
の順番で検索します。
.Do
$ locate -d db1 -d db2 -d db3 pattern
.Dc
.Dq $ locate -d db1:db2:db3 pattern
.Dq $ locate -d db1:db2 -d db3 pattern
と同じです。
データベースの名前として
.Ar -
を指定した場合、標準入力から読み込みます。
例えば、次のようにデータベースを圧縮して使うことができます。
$ zcat database.gz | locate -d - pattern
これは、高速な CPU 、少ない RAM 、遅い I/O を持つコンピュータを
使っている場合に便利です。
この場合、1つのパターンしか指定することができません。
.It Fl i
パターンとデータベースの間での大文字と小文字の違いを無視します。
.It Fl l Ar number
マッチしたファイル名の表示を、最大
.Ar number
個に制限します。
.It Fl m
.Xr stdio 3
ライブラリのかわりに
.Xr mmap 2
ライブラリを使います。
これはデフォルトの動作です。ほとんどの場合で、高速に動作します。
.It Fl s
.Xr mmap 2
ライブラリのかわりに
.Xr stdio 3
ライブラリを使います。
.Sh 関連ファイル
-.Bl -tag -width /usr/libexec/locate.updatedb -compact
+.Bl -tag -width /etc/periodic/weekly/310.locate -compact
.It Pa /var/db/locate.database
locate データベース
.It Pa /usr/libexec/locate.updatedb
locate データベースを更新するためのスクリプト
-.It Pa /etc/weekly
-通常、locate.updatedb が起動されるスクリプト
+.It Pa /etc/periodic/weekly/310.locate
+データベース再構築を起動するスクリプト
.El
.Sh 環境変数
.Bl -tag -width LOCATE_PATH -compact
.It Pa LOCATE_PATH
データベースのパスを指定します。空文字の場合は無効です。
.Fl d
オプションが指定された場合も無効になります。
.El
.Sh 関連項目
.Xr find 1 ,
.Xr whereis 1 ,
.Xr which 1 ,
.Xr fnmatch 3 ,
.Xr locate.updatedb 8
.Rs
.%A Woods, James A.
.%D 1983
.%T "Finding Files Fast"
.%J ";login"
.%V 8:1
.%P pp. 8-10
.Re
.Sh バグ
.Nm
が実際には存在するファイルをリストアップできない場合や、
逆に、すでに削除されたはずのファイルをリストアップ
してしまう場合があります。
これは
.Nm
-.Pa /etc/weekly
+.Pa /etc/periodic/weekly/310.locate
スクリプトで週に一度更新されるデータベースから
情報を得ているためです。
データベースの構築に
.Xr find 1
を使うのは一時的な処置です。
.Nm
データベースファイルの所有者は
.Dq nobody
となっています。
.Xr find 1
はユーザ名
.Dq nobody
、グループ名
.Dq nobody
、あるいはその他のユーザに対してリード属性がない
ディレクトリを見付けた場合、
そのディレクトリの検索をスキップします。
例えば、ユーザのホームディレクトリに読み込み属性が
なかったときは、そのユーザの全てのファイルはデータベースに
登録されません。
.Nm
データベースの内容について、バイト順序の問題が解決されていません。
バイト順序が違うコンピュータ同士では、
データベースの共有ができません。
両方のアーキテクチャで int のサイズが同じ場合、
.Nm
はホストのバイト順序、ネットワークのバイト順序の
違いに対応します。
そのため、FreeBSD/i386 (リトルエンディアン) 上で
.Nm
SunOS/sparc (ビッグエンディアン) 上で構築された
データベースを使うことができます。
.Sh 歴史
.Nm locate
.Bx 4.4
から登場しました。
.Fx 2.2
で、新たに多くの機能が付け加えられました。
diff --git a/ja/man/man1/lockf.1 b/ja/man/man1/lockf.1
index 5c0b6e8b48..b658a4b775 100644
--- a/ja/man/man1/lockf.1
+++ b/ja/man/man1/lockf.1
@@ -1,123 +1,123 @@
.\"
.\" Copyright (C) 1998 John D. Polstra. 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 JOHN D. POLSTRA 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 JOHN D. POLSTRA 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: lockf.1,v 1.1.1.1.2.2 1998/07/08 05:33:44 jdp Exp %
+.\" %Id: lockf.1,v 1.6 1998/07/08 05:29:04 jdp Exp %
.\" jpman %Id: lockf.1,v 1.3 1997/08/20 12:32:03 horikawa Stab %
.\"
.Dd July 7, 1998
.Os FreeBSD
.Dt LOCKF 1
.Sh 名称
.Nm lockf
.Nd ファイルをロックしてコマンドを実行する
.Sh 書式
.Nm
.Op Fl ks
.Op Fl t Ar seconds
.Ar file
.Ar command
.Op Ar arguments
.Sh 解説
.Nm
はファイル
.Ar file
に対して排他的ロックを獲得します。
この際、必要ならこのファイルを生成します。
そしてそのロックを保持したまま、
引数
.Ar arguments
をつけてコマンド
.Ar command
を実行します。
.Ar command
の実行が完了すると、
.Nm
はロックを開放し、
.Fl k
オプションが指定されていなければ
ファイル
.Ar file
を削除します。
.Xr flock 2
に述べられている BSD スタイルのロック方式が用いられます。
すなわち、
.Ar file
が存在するだけではロックされているとは見なされません。
.Pp
以下のオプションが利用可能です。
.Bl -tag -width Fl
.It Fl k
コマンド完了後もロックを保存します (削除しません)。
.It Fl s
メッセージ出力を行いません。
ロック獲得の失敗は、終了ステータスにのみ反映されます。
.It Fl t Ar seconds
ロック待ちのタイムアウト値を指定します。
デフォルトでは、
.Nm
はロック獲得を永遠に待ち続けます。
このオプションによりタイムアウト値が指定されていれば、
.Nm
はロック獲得をあきらめるまでに最大
.Ar seconds
秒待ちます。
タイムアウトとしては 0 を指定することもでき、
その場合
.Nm
はロック獲得に失敗すると即座に終了します。
.El
.Pp
いかなる場合でも、
他のプロセスが保持しているロックを
.Nm
が破棄することはありません。
.Sh 診断
ロック獲得に成功すると、
.Nm
.Ar command
の終了ステータスを返します。
それ以外の場合、
.Nm
.Xr sysexits 3
にて定義されている以下のいずれかの終了コードを返します。
.Bl -tag -width F_CANTCREATX
.It Dv EX_TEMPFAIL
指定されたロックファイルは他のプロセスによって既にロックされています。
.It Dv EX_CANTCREAT
.Nm
はロックファイルを生成できませんでした。
原因としては、例えば、適切なアクセス権がないことが考えられます。
.It Dv EX_USAGE
.Nm
のコマンドラインにエラーがあります。
.It Dv EX_OSERR
システムコール(例えば fork)が予期せず失敗しました。
.El
.Sh 関連項目
.Xr flock 2 ,
.Xr sysexits 3 .
.Sh 作者
.An John Polstra Aq jdp@polstra.com .
diff --git a/ja/man/man1/login.1 b/ja/man/man1/login.1
index 9228d832f5..2d63be0f4b 100644
--- a/ja/man/man1/login.1
+++ b/ja/man/man1/login.1
@@ -1,189 +1,189 @@
.\" %NetBSD: login.1,v 1.5 1994/12/23 06:53:00 jtc Exp %
.\"
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)login.1 8.2 (Berkeley) 5/5/94
-.\" %Id: login.1,v 1.4.2.4 1998/01/07 10:44:20 obrien Exp %
+.\" %Id: login.1,v 1.10 1998/01/07 10:42:57 obrien Exp %
.\" jpman %Id: login.1,v 1.3 1997/05/19 16:39:53 horikawa Stab %
.\"
.Dd May 5, 1994
.Dt LOGIN 1
.Os BSD 4
.Sh 名称
.Nm login
.Nd 指定したユーザでログインする
.Sh 書式
.Nm
.Op Fl fp
.Op Fl h Ar hostname
.Op Ar user
.Sh 解説
.Nm
は、指定したユーザでログインするものです。
.Pp
user を指定しなかった場合、もしくは指定した user でのログインに失敗した
ときには、
.Nm
は、再度ユーザ名の入力を求めるプロンプトを表示します。
ユーザの確認は入力されたパスワードにより行われます。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width Ds
.It Fl f
パスワードによるユーザの確認を省略します。このオプションは、スーパーユーザ
か、すでにログインしているユーザが同じユーザ名で login を実行す
るときのみ指定可能です。
.It Fl h
コネクションを受信可能なホスト名を指定します。この機能は
.Xr telnetd 8
などのデーモンによって使われています。このオプションはスーパーユーザ
しか指定することができません。
.It Fl p
.Nm
は、デフォルトでは実行時の環境 (環境変数など) を引き継ぎ
ませんが、このオプションを指定すると、実行時の環境を引き継ぎます。
.El
.Pp
もし
.Pa /etc/nologin
ファイルが存在した場合、
.Nm
はそのファイル内容
を表示してログイン処理をせずに終了します。この機能は
.Xr shutdown 8
で使用されており、システムの終了処理実行中にユーザがログインしないよう
にしています。
.Pp
もし
.Pa /etc/login.access
ファイルが存在した場合、
.Nm
はそのファイルから、ユーザとホストの組が特別に許可されている、もしくは
拒否されているかどうかをチェックします。
.Pp
もし
.Pa /etc/fbtab
ファイルが存在した場合、
.Nm
はそのファイルに記述された幾つかのデバイスのプロテクトと所有者を変えます。
.Pp
ファイル
.Pa /etc/skeykeys
が存在する場合、このファイル中にユーザのエントリが存在する時には、
.Nm
は S/key パスワード認証を行います。
.Pa /etc/skey.access
により、
接続元のホストやネットワークに応じて S/key パスワード使用の義務を制御します。
.Pp
通常、ユーザがログインすると、
.Nm
はシステムのコピーライト表示、
ユーザが最後にログインした日付と時間、その日のメッセージなどの
情報を表示します。ただし、ユーザのホームディレクトリに
.Dq Pa .hushlogin
というファイルが存在した場合は、これらのメッセージを表示
しないようにします (これは
.Xr uucp 1
のようなプログラムがユーザとしてログインするためにあります)。
このあと、
.Nm
.Xr wtmp 5
.Xr utmp 5
ファイルに記録し、ユーザのコマンドインタプリタ (シェル) を起動します。
.Pp
なお、環境変数 (
.Xr environ 7 )
HOME, SHELL, PATH, TERM, LOGNAME, USER は
.Nm
によりセットされます。
他の環境変数はログインクラスケーパビリティデータベースの
エントリにより設定されるかも知れません。
ログインクラスはユーザのシステムパスワードレコードに割り当てられています。
ログインクラスは、当該ログインに許された最大および現在の資源制約、
プロセス優先度や他の多くのユーザログイン環境を制御します。
.Pp
標準シェルである
.Xr csh 1
.Xr sh 1
は、
.Nm
が実行されてから起動します。
.Sh 関連ファイル
.Bl -tag -width /var/mail/userXXX -compact
.It Pa /etc/fbtab
デバイスのプロテクトの変更
.It Pa /etc/login.access
ログインアクセス制御表
.It Pa /etc/login.conf
ログインクラスケーパビリティデータベース
.It Pa /etc/motd
ログイン時に最初に表示するメッセージ
.It Pa /etc/nologin
ログインを拒否する時に表示するメッセージ
.It Pa /etc/skey.access
skey パスワード制御表
.It Pa /etc/skeykeys
skey パスワードデータベース
.It Pa /var/run/utmp
現在のログイン状況
.It Pa /var/log/lastlog
最後にログインした記録
last login account records
.It Pa /var/log/wtmp
ログイン・ログアウト状況
.It Pa /var/mail/user
ユーザーごとのメイルボックス
.It Pa \&.hushlogin
ログインメッセージを抑止するファイル
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr passwd 1 ,
.Xr rlogin 1 ,
.Xr skey 1 ,
.Xr getpass 3 ,
.Xr fbtab 5 ,
.Xr login.access 5 ,
.Xr login.conf 5 ,
.Xr skey.access 5 ,
.Xr utmp 5 ,
.Xr environ 7 ,
.Xr nologin 8
.Sh 歴史
.Nm login
ユーティリティは
.At v6
から登場しました。
diff --git a/ja/man/man1/logname.1 b/ja/man/man1/logname.1
index 61d6f646fa..c3dd7361af 100644
--- a/ja/man/man1/logname.1
+++ b/ja/man/man1/logname.1
@@ -1,73 +1,73 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)logname.1 8.1 (Berkeley) 6/9/93
-.\" %Id: logname.1,v 1.2.2.2 1997/09/15 08:32:19 jkh Exp %
+.\" %Id: logname.1,v 1.4 1997/06/23 04:03:06 steve Exp %
.\" jpman %Id: logname.1,v 1.2 1997/04/24 00:27:29 mutoh Stab %
.\"
.Dd June 9, 1993
.Dt LOGNAME 1
.Os BSD 4.4
.Sh 名称
.Nm logname
.Nd ログイン名を表示する
.Sh 書式
.Nm
.Sh 解説
.Nm
は、ユーザのログイン名とその後に改行文字を付けたものを標準出力に出力します。
.Pp
.Nm
は、環境変数
.Ev LOGNAME
.Ev USER
が信頼できないため、これらの環境変数を無視します。
.Pp
.Nm
は成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
.Sh 関連項目
.Xr who 1 ,
.Xr whoami 1 ,
.Xr getlogin 3
.Sh 規格
.Nm
.St -p1003.2
に準拠しています。
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja/man/man1/lp.1 b/ja/man/man1/lp.1
index b25381a2b4..f992b62875 100644
--- a/ja/man/man1/lp.1
+++ b/ja/man/man1/lp.1
@@ -1,113 +1,113 @@
.\"
.\" Copyright (c) 1995 Joerg Wunsch
.\"
.\" All rights reserved.
.\"
.\" This program is free software.
.\"
.\" 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 Joerg Wunsch
.\" 4. The name of the developer may not be used to endorse or promote
.\" products derived from this software without specific prior written
.\" permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: lp.1,v 1.2.2.3 1998/07/18 11:10:42 jkh Exp %
+.\" %Id: lp.1,v 1.7 1998/03/23 08:23:34 charnier Exp %
.\" jpman %Id: lp.1,v 1.3 1997/07/01 19:59:08 ken Stab %
.\"
.Dd January 22, 1995
.Dt LP 1
.Os
.Sh 名称
.Nm lp
.Nd プリントスプーラのフロントエンド
.Sh 書式
.Nm lp
.Op Fl c
.Op Fl d Ar printer
.Op Fl n Ar num
.Op Ar name ...
.Sh 解説
.Nm lp
.St -p1003.2
規格で必要とされるプリントスプーラのフロントエンドです。実際には
.Nm
は、適切な引数をつけて
.Xr lpr 1
を起動します。
通常、
.Nm
は指定されたファイルをターゲットとするプリンタでプリントします。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl c
入力ファイルにそれ以上アクセスする必要がなくなるまで
.Nm
は終了しません。
.Nm
が終了すると、アプリケーションはプリント出力処理に影響を与えることなく、
ファイルを安全に削除あるいは修正できます。
.It Fl d Ar dst
特定のプリンタを指定します。
コマンドラインに
.Fl d
オプションが指定されない場合、環境変数
.Ev LPDEST
あるいは
.Ev PRINTER
の値が
.Pq この順で
用いられます。
.It Fl n Ar num
指定された各ファイルを
.Ar num
部ずつプリント出力します。
.El
.Sh 環境変数
上で述べたように、環境変数
.Ev LPDEST
および
.Ev PRINTER
がターゲットとするプリンタを選択するのに用いられます。
.Sh 関連項目
.Xr lpr 1
.Sh 規格
.Nm lp
コマンドは
.St -p1003.2
規格を満たすと考えられます。
.Sh 作者
この
.Nm
コマンドの実装は
.if t J\(:org Wunsch
.if n Joerg Wunsch
によって作成されました。
.Sh バグ
.St -p1003.2
規格ではテキスト以外のファイルのプリント手段が提供されていません。
プリントするファイルは、行の長さが妥当で文字も印字可能文字に限定されている
テキストファイルであることが求められています。
diff --git a/ja/man/man1/lpr.1 b/ja/man/man1/lpr.1
index 71707752fc..abea91d085 100644
--- a/ja/man/man1/lpr.1
+++ b/ja/man/man1/lpr.1
@@ -1,242 +1,242 @@
.\" 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.
.\"
.\" @(#)lpr.1 8.1 (Berkeley) 6/6/93
-.\" %Id: lpr.1,v 1.5.2.1 1997/09/25 06:33:03 charnier Exp %
+.\" %Id: lpr.1,v 1.8 1997/09/24 06:48:07 charnier Exp %
.\" jpman %Id: lpr.1,v 1.3 1997/08/11 14:28:54 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt LPR 1
.Os BSD 4
.Sh 名称
.Nm lpr
.Nd 印刷ジョブを生成し、キューに登録する
.Sh 書式
.Nm lpr
.Op Fl P Ns Ar printer
.Op Fl \&# Ns Ar num
.Op Fl C Ar class
.Op Fl J Ar job
.Op Fl T Ar title
.Op Fl U Ar user
.Op Fl i Ar numcols
.Op Fl 1234 Ar font
.Op Fl w Ns Ar num
.Op Fl cdfghlnmprstv
.Op Ar name ...
.Sh 解説
.Nm lpr
は、プリンタが利用可能になったときにファイルをプリント
アウトするためにスプーリングデーモンを利用します。
もしファイル名が指定されないようなら、標準入力から読みます。
.Pp
以下の単一文字のオプションは、ファイルが通常のテキストファイルでないこ
とをラインプリンタのスプールデーモンに教えるためのものです。スプールデー
モンはそのデータを適切に出力するために、データにふさわしいフィルタを使
うようになります。
.Bl -tag -width indent
.It Fl c
ファイルが
.Xr cifplot 1
で作成されたデータを含んでいるものとみなします。
.It Fl d
ファイルが
.Tn TeX
.Tn DVI
フォーマットであるとみなします。
.It Fl f
各行の最初の文字を、標準的な FORTRAN のキャリッジコントロール
キャラクタとして処理するフィルタを使うようになります。
.It Fl g
ファイルが
.Xr plot
ルーチンで作成された 標準的な plot データであるとみなします。
.It Fl l
コントロールキャラクタを通し、ページの区切りを抑制するフィルタを利用します。
.It Fl n
ファイルが
.Em ditroff
(デバイスに依存しないtroff) からのデータであるとみなします。
.It Fl p
ファイルの整形に
.Xr pr 1
を利用します。
.It Fl t
ファイルが(写植印字コマンドである)
.Xr troff 1
からのデータであるとみなします。
.It Fl v
ファイルが Benson Varian のようなデバイスのためのラスターイメージを
含むものとみなします。
.El
.Pp
以下のオプションは、プリントジョブを操作するときに適用します:
.Bl -tag -width indent
.It Fl P
指定したプリンタに出力します。これを指定しない通常の場合は、
デフォルトプリンタが使われる (これはサイトごとに依存します)か、
環境変数
.Ev PRINTER
の値が使われます。
.It Fl h
バーストページを出力しないようにします。
.It Fl m
終了時にメールを送ってきます。
.It Fl r
スプーリングの終了時、もしくは、出力の終了時にファイルを削除します (
.Fl s
オプション使用時)。
.It Fl s
シンボリックリンクを利用します。通常、ファイルはスプールディ
レクトリにコピーされますが、大きなファイルをコピーするよりは
.Fl s
オプションで
.Xr symlink 2
を使ってデータファイルにリンクを張ったほうがよ
いでしょう。つまり、これはファイルのプリントアウトが完了するまではファ
イルに変更を加えたり、削除したりするべきではないということを意味します。
.El
.Pp
残りのオプションはコピーを行ったり、ページの表示やヘッダの表示を行います:
.Bl -tag -width indent
.It Fl \&# Ns Ar num
.Ar num
は、各ファイルのコピーの枚数です。例えば、
.Bd -literal -offset indent
lpr \-#3 foo.c bar.c more.c
.Ed
は、foo.cのコピーを3回行った後、bar.cのコピーを3回行います。一方、
.Bd -literal -offset indent
cat foo.c bar.c more.c \&| lpr \-#3
.Ed
.Pp
は、連結されたファイルのコピーを3回行います。
をこの機能を禁止してコピー機の使用を推奨しているサイトがあるかもしれません。
.It Xo
.Fl Ns Oo Cm 1234 Oc Ar font
.Xc
フォントポジション
.Ar i
のフォントを指定します。デーモンはフォントのパス名を参照する
.Li .railmag
ファイルを作成します。
.It Fl C Ar class
バーストページで使うジョブ見出しです。例えば、
.Bd -literal -offset indent
lpr \-C EECS foo.c
.Ed
.Pp
は、バーストページのシステム名(
.Xr hostname 1
で返される)を EECS に置き換えて、foo.c をプリントします。
.It Fl J Ar job
バーストページに書くジョブ名です。通常は、
一番最初のファイルの名前が使われます。
.It Fl T Ar title
.Xr pr 1
のタイトル名に、ファイル名のかわりにこのタイトルを使います。
.It Fl U Ar user
バーストページで使うユーザー名であり、課金目的でも利用されます。
このオプションは実ユーザidがデーモン(あるいはデーモンの代わりに
printcap中で指定されているユーザ)のみ使用できます。
.It Fl i numcols
出力が
.Pq Ar numcols
でインデントされます。
.It Fl w Ns Ar num
.Xr pr 1
のページ幅を
.Ar num
にします。
.El
.Sh 環境変数
以下の環境変数が存在すると、
.Nm lpr
が使用します:
.Bl -tag -width PRINTER
.It Ev PRINTER
かわりのデフォルトプリンタを指定する
.El
.Sh 関連ファイル
.Bl -tag -width /var/spool/output/*/tf* -compact
.It Pa /etc/passwd
個人の識別を行うためのファイル
.It Pa /etc/printcap
プリンタの特徴を記述したデータベース
.It Pa /usr/sbin/lpd
ラインプリンタデーモン
.It Pa /var/spool/output/*
スプーリングのために利用するディレクトリ
.It Pa /var/spool/output/*/cf*
デーモンの制御のためのファイル
.It Pa /var/spool/output/*/df*
``cf'' ファイルが指定するデータファイル
.It Pa /var/spool/output/*/tf*
``cf'' ファイルの一時的なコピー
.El
.Sh 関連項目
.Xr lpq 1 ,
.Xr lprm 1 ,
.Xr pr 1 ,
.Xr symlink 2 ,
.Xr printcap 5 ,
.Xr lpc 8 ,
.Xr lpd 8
.Sh 歴史
.Nm
コマンドは
.Bx 3
から登場しました。
.Sh 診断
もしとても大きいファイルをスプールしようとするなら、途中で切れてしまう
でしょう。
.Nm
はバイナリファイルを印刷することを目的としています.
もしルート以外のあるユーザーがファイルを印刷しようとしてスプールに
失敗したら、
.Nm
はその旨のメッセージを印刷してそのファイルは印刷されません。
もしローカルマシンの
.Xr lpd 8
との接続ができなければ、
.Nm
はデーモンを起動できなかったと言うでしょう。その結果は
.Xr lpd 8
によってファイルのスプールに失敗したとデーモンのログファイルに
残されるでしょう。
.Sh バグ
.Xr troff 1
.Xr tex
のフォントは,プリンタがつながっているホストにないといけません。
これは,現在はローカルのフォントライブラリを使うことができないことを
意味します。
diff --git a/ja/man/man1/ls.1 b/ja/man/man1/ls.1
index ce12ac43ea..ec07baeb0c 100644
--- a/ja/man/man1/ls.1
+++ b/ja/man/man1/ls.1
@@ -1,367 +1,376 @@
.\" Copyright (c) 1980, 1990, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgment:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)ls.1 8.6 (Berkeley) 4/18/94
-.\" %Id: ls.1,v 1.5.2.6 1998/07/15 02:01:34 jkh Exp %
+.\" @(#)ls.1 8.7 (Berkeley) 7/29/94
+.\" %Id: ls.1,v 1.24 1998/07/29 00:46:08 hoek Exp %
.\" jpman %Id: ls.1,v 1.3 1997/05/19 17:21:06 horikawa Stab %
.\"
-.Dd April 18, 1994
+.Dd July 29, 1994
.Dt LS 1
.Os
.Sh 名称
.Nm ls
.Nd ディレクトリの内容のリストを表示する
.Sh 書式
.Nm ls
.Op Fl ABCFHLPRTWabcdfgikloqrstu1
.Op Ar file ...
.Sh 解説
.Nm
.Ar file
で指定されたファイル名およびオプションの指定にしたがって、
ファイルに関する各種の情報を表示します。なお、
.Ar file
としてディレクトリが指定された場合は、そのディレクトリ配下のファイル
に関する情報を表示します。
.Pp
.Ar file
が指定されなかった場合は、カレントディレクトリのファイルを表示します。
表示はファイル名のアルファベット順にソートされます。ただし、
.Ar file
としてディレクトリファイルとそれ以外のファイルを混在して指定した
場合は、ディレクトリ以外のファイルが先に表示され、その後
ディレクトリ配下のファイルが表示されます。
.Pp
オプションとしては、以下のものがあります。
.Bl -tag -width indent
.It Fl A
.Ql \&.
.Ql \&..
を除く全てのエントリを表示します。スーパユーザの場合は、通常
このオプションがセットされています。
.It Fl B
ファイル名中の非グラフィック文字を強制的に \\xxx の形式で表示します。
xxx は文字の数値であり 8 進数です。
.It Fl C
マルチカラム形式で出力します。端末への出力の場合は、
これがデフォルトになります。
.It Fl F
それぞれのパス名の最後に、ディレクトリならばスラッシュ (/)、
実行可能ファイルならばアスタリスク (*)、
シンボリックリンクならばアットマーク (@)、ソケットファイルならば等号 (=)、
.Tn FIFO
ならば縦棒 (|) をつけて表示します。
.It Fl H
コマンドラインのシンボリックリンクを追跡します。
.Fl F ,
.Fl d ,
.Fl l
オプションが指定された場合、
このオプションが仮定されます。
.It Fl L
引数がシンボリックリンクファイルの場合、リンクファイル自体ではなく、
リンク先のファイルやディレクトリを表示します。
このオプションは
.Fl P
オプションを打ち消します。
.It Fl P
引数がシンボリックリンクの場合、リンクが参照しているオブジェクトではなく
リンク自身を表示します。
このオプションは
.Fl H ,
.Fl L
オプションを打ち消します。
.It Fl R
サブディレクトリを再帰的に表示します。
.It Fl T
ファイルの日付と時間に関する詳細情報(月・日・時・分・秒・年)を表示します。
.It Fl W
ディレクトリ走査時にホワイトアウトも表示します。
.It Fl a
ドット (.) で始まるファイルも含めて表示します。
.It Fl b
.Fl B
と同様ですが、可能であれば C のエスケープコードを使用します。
.It Fl c
ファイルソートや時刻出力の際、ファイルステータスの最終変更日付を使用します。
.It Fl d
引数がディレクトリの場合、ディレクトリそのものの情報について表示します
(再帰的に表示しません)。
.It Fl f
ソートせずに表示します
.It Fl g
このオプションは、
.Bx 4.3
との互換性のためにだけ利用すべきです。
これは、
ロングフォーマットオプション
.Pq Fl l
を使ってグループの名前を表示したい時に使います。
.It Fl i
各ファイルについて、iノード番号を表示します。
.It Fl k
.Fl s
オプションとともに使用し、ファイルサイズを
ブロック単位ではなく Kバイト単位で表示します。
このオプションは環境変数 BLOCKSIZE に優先します。
.It Fl l
(``エル(L)''の小文字)。ファイルの詳細情報をロングフォーマットで
表示します(下記参照)。
端末に出力している場合、ロングフォーマットの前の行に、全ファイル
のサイズの合計値を表示します。
.It Fl o
.Pq Fl l
オプションによる詳細情報に、ファイルフラグも含めて表示します。
.It Fl q
ファイル名に表示できない文字が使われていたとき、`?' として表示します。
端末に表示するときは、デフォルトでこの指定になります。
.It Fl r
辞書式順序で逆順または時刻の古い順にソートします。
.It Fl s
各ファイルがファイルシステム上で実際に占有している
ブロック数(512バイト単位)を表示します。
ブロックの一部だけ占有しているものも整数値に切り上げられます。
端末に表示するときは、表示の先頭行に、全ファイルのサイズの合計値
を表示します。
環境変数 BLOCKSIZE は単位サイズ 512 バイトに優先します。
.It Fl t
ファイルをアルファベット順に表示する前に、ファイルの最終修正日時の順
(新しいものほど先にくる)にソートします。
.It Fl u
.Pq Fl t
オプションや
.Pq Fl l
オプションで、ファイルの最終修正日時の代わりに、ファイルの最終アクセ
ス日時を使用します。
.It Fl \&1
(数字の ``1'')。 1行につき 1エントリの形式で表示します。
端末への出力でない場合には、これがデフォルトです。
.El
.Pp
.Fl 1 ,
.Fl C ,
.Fl l
オプションは、互いに他を上書きします。最後に指定されたオプションが有
効となります。
.Pp
.Fl c
.Fl u
オプションは、互いに他を上書きします。最後に指定されたオプションが有効と
なります。
.Pp
.Fl B ,
.Fl b ,
.Fl q
オプションは互いに優先し合う関係にあります。
最後に指定されたものが印字不可文字の書式を決定します。
.Pp
.Fl H,
.Fl L ,
.Fl P
オプションは互いに優先し合う関係にあります(部分的もしくは全体的)。
指定された順序で適用されます。
.Pp
デフォルトでは
.Nm
は標準出力に1行1エントリずつ表示します。
ただし、出力先が端末である場合および
.Fl C
オプションが指定された場合は別です。
.Pp
.Fl i ,
.Fl s ,
.Fl l
オプションが指定された場合、関連するファイルの情報は 1個以上の空白
をあけて表示されます。
.Ss ロングフォーマット
.Fl l
オプションがつけられた場合、それぞれのファイルに対して以下に示す情
報が表示されます:
ファイルモード・
リンク数・所有者名・所有グループ名・
ファイルのバイト数・月の短縮形・最終更新が行なわれた際の日付・時・分・
パス名。
さらに、各ディレクトリに対して、
ディレクトリ内のファイル情報が表示される直前に、
ファイルサイズの合計値が 512 バイトブロック単位で表示されます。
.Pp
ファイルの修正修正時刻が 6 ヶ月以上過去もしくは未来の場合、
最終修正年が時間と分のフィールドに表示されます。
.Pp
所有者または所有グループ名が不明の場合、
ID 番号で表示されます。
.Pp
ファイルがキャラクタ型もしくはブロック型スペシャルファイルである場合、
ファイルサイズフィールドには
ファイルのメジャー番号とマイナー番号が表示されます。
ファイルがシンボリックリンクファイルである場合、
リンク先ファイルのパス名が
.Dq \->
によって表示されます。
.Pp
.Fl l
オプションのもとで表示されるファイルモードは、エントリタイプ、
所有者アクセス許可、所有グループアクセス許可などで成り立っています。
エントリタイプの文字はファイルのタイプを表しており、
各文字の意味は次のとおりです:
.Pp
.Bl -tag -width 4n -offset indent -compact
.It Sy b
ブロック型スペシャルファイル
.It Sy c
キャラクタ型スペシャルファイル
.It Sy d
ディレクトリ
.It Sy l
シンボリックリンクファイル
.It Sy s
ソケットファイル
.It Sy p
.Tn FIFO
.It Sy \-
通常ファイル
.El
.Pp
次の 3つのフィールドは、それぞれ 3つの文字からなっています:
所有者に対するアクセス許可・
グループに属するユーザに対するアクセス許可・
他のユーザに対するアクセス許可。
これらのフィールドはそれぞれ 3つの文字からなっています:
.Bl -enum -offset indent
.It
もし
.Sy r
ならば読みだし可能。もし
.Sy \-
ならば読みだし不能。
.It
もし
.Sy w
ならば書き込み可能。もし
.Sy \-
ならば書き込み不能。
.It
その他の場合: 以下のうち最初に該当するものが用いられる。
.Bl -tag -width 4n -offset indent
.It Sy S
所有者に対するアクセス許可において、ファイルが実行可能ではなく、かつ、
実効ユーザ ID (set-user-ID) モードがセットされている場合。
所有グループに対するアクセス許可において、ファイルが実行可能ではなく、
かつ、実効グループ ID (set-group-ID) モードがセットされている場合。
.It Sy s
所有者に対するアクセス許可において、ファイルが実行可能で、かつ、
実効ユーザ ID モードがセットされている場合。
所有グループに対するアクセス許可の中で、ファイルが実行可能で、
かつ、実効グループ ID モードがセットされている場合。
.It Sy x
ファイルが実効可能またはディレクトリが検索可能である場合。
.It Sy \-
ファイルは、読み出し、書き込み、実行のいずれも許可されておらず、
実効ユーザ ID も実効グループ ID もスティッキービットも設定されていない場合
(以下参照)。
.El
.Pp
次の2つは他のユーザに対するアクセス許可の三番目の文字に使用されます。
.Bl -tag -width 4n -offset indent
.It Sy T
スティッキービットがセットされている(モード
.Li 1000 ) が、
実行不能あるいは検索不能である場合(
.Xr chmod 1
または
.Xr sticky 8
参照)。
.It Sy t
スティッキービットがセットされており(モード
.Li 1000 ) 、
かつ、検索可能または実行可能である場合
(
.Xr chmod 1
または
.Xr sticky 8
参照)。
.El
.El
.Pp
.Nm
ユーティリティは、成功時には 0 を、エラー発生時には 0 より大きい値を
返します。
.Sh 環境変数
以下の環境変数は
.Nm
の動作に影響を与えます:
.Bl -tag -width BLOCKSIZE
.It Ev BLOCKSIZE
ブロック数の表示を行う際、1ブロックのサイズとして環境変数
.Ev BLOCKSIZE
で指定された値が使用されます
(
.Fl s
オプション参照)。
.It COLUMNS
ターミナルのカラム幅を指定します。マルチカラム表示の際、
1 行あたりいくつのファイル名を表示できるかを算出するために参照されます
(
.Fl C
参照)。
.It Ev TZ
日時を表示するときに使われるタイムゾーンを指定します。
詳細は
.Xr environ 7
を参照してください。
+.It Ev LS_COLWIDTHS
+この変数が設定されている場合、
+コロン区切りのリストで各フィールドの最小幅を指定しているものとみなされます。
+適切でなかったり不十分だったりする幅は無視されます
+(よって 0 を指定すると、フィールド幅が動的に決まります)。
+すべてのフィールドの幅を変えられるわけではありません。
+フィールドの順序は次の通りです:
+iノード、ブロック数、リンク数、ユーザ名、グループ名、フラグ、ファイルサイズ、
+ファイル名。
.El
.Sh 互換性
.St -p1003.2
互換とするため、
ロングフォーマット形式の出力には所有グループ名フィールドが自動的に
含められます。
.Sh 関連項目
.Xr chmod 1 ,
.Xr symlink 7 ,
.Xr sticky 8
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
.Sh 規格
.Nm
コマンドの機能は
.St -p1003.2
のスーパセットであると想定しています。
.Sh バグ
過去との互換性のために、多くのオプションの関係が複雑になっています。
diff --git a/ja/man/man1/lsvfs.1 b/ja/man/man1/lsvfs.1
index 4b2fb91283..c3598c2341 100644
--- a/ja/man/man1/lsvfs.1
+++ b/ja/man/man1/lsvfs.1
@@ -1,57 +1,57 @@
-.\" %Id: lsvfs.1,v 1.3 1996/01/30 13:49:39 mpp Exp %
+.\" %Id: lsvfs.1,v 1.5 1997/02/22 19:55:59 peter Exp %
.\" jpman %Id: lsvfs.1,v 1.4 1997/08/28 12:09:24 horikawa Stab %
.\" Garrett A. Wollman, September 1994
.\" This file is in the public domain.
.\"
.Dd March 16, 1995
.Dt LSVFS 1
.Os
.Sh 名称
.Nm lsvfs
.Nd インストール済の仮想ファイルシステム一覧を表示する
.Sh 書式
.Nm lsvfs
.Op Ar vfsname Ar ...
.Sh 解説
.Nm lsvfs
コマンドは現在ロードされている仮想ファイルシステムモジュールに
関する情報を表示します。
引数
.Ar vfsname
が与えられると、
.Nm lsvfs
は指定された VFS モジュールに関する情報を表示します。
それ以外の場合、
.Nm lsvfs
は現在ロードされている全てのモジュールを表示します。
表示される情報は以下の通り:
.Pp
.Bl -tag -compact -width Filesystem
.It Filesystem
ファイルシステム名。
.Xr mount 8
.Fl t
オプションで指定されるもの。
.It Index
このファイルシステムに対するカーネルのファイルシステムスイッチスロット番号。
.Xr mount 2
.Ar type
パラメータに用いられるもの。
.It Refs
この VFS への参照数。
つまり、このタイプのファイルシステムのうち現在マウントされているものの数。
.It Flags
フラグビット(現在のところ
.Dq static
のみ定義されています)。
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr mount 8
.Sh 歴史
.Nm
コマンドは
.Tn FreeBSD
2.0 で登場しました。
diff --git a/ja/man/man1/m4.1 b/ja/man/man1/m4.1
index 3c6b08791c..c2df5d9611 100644
--- a/ja/man/man1/m4.1
+++ b/ja/man/man1/m4.1
@@ -1,196 +1,196 @@
.\"
-.\" @(#) %Id: m4.1,v 1.1.8.3 1998/07/17 04:19:19 jkh Exp %
+.\" @(#) %Id: m4.1,v 1.6 1998/06/26 14:25:18 rnordier Exp %
.\" jpman %Id: m4.1,v 1.3 1997/10/05 12:55:54 horikawa Stab %
.\"
.Dd January 26, 1993
.Dt m4 1
.Os
.Sh 名称
.Nm m4
.Nd マクロ言語プロセッサ
.Sh 書式
.Nm m4
.Oo
.Fl D Ns Ar name Ns Op Ar =value
.Oc
.Op Fl U Ns Ar name
.Op Ar filename
\|.\|.\|.
.Sh 解説
.Nm m4
ユーティリティは、さまざまな言語
(たとえば C, ratfor, fortran, lex, yacc など) のフロントエンドとして
利用できるマクロプロセッサです。
引数で指定されたファイルが指定された順に処理されます。
ファイルが指定されていないか、ファイル名が \`-\' なら
標準入力が読まれます。処理されたテキストは標準出力へ送られます。
.Pp
マクロの呼出しは name(argument1[, argument2, ...,] argumentN) の
形式を取っています。
.Pp
マクロ名とそれに続く開き括弧 `(' との間にはスペースがあってはいけません。
もしマクロ名の直後に開き括弧が続いていなければ引数なしのマクロ呼出しとして
処理されます。
.Pp
マクロ名として先頭はアルファベットまたはアンダースコアが、2 文字目以降は
英数字またはアンダースコアが使えます。
よって正しいマクロ名にマッチする正規表現は [a-zA-Z_][a-zA-Z0-9_]*
となります。
.Pp
マクロの引数のうちで、先頭のクォートされていない空白、タブ、
改行文字は無視されます。
文字列をクォートするためには、左、および右シングルクォートを使用して
ください (例: ` this is a string with a leading space')。
組み込みマクロ changequote を使ってクォート文字を変更することができます。
.Pp
オプションは以下の通りです:
.Bl -tag -width "-Dname[=value]xxx"
.It Fl D Ns Ar name Ns Oo
.Ar =value
.Oc
シンボル
.Ar name
の値を value (無指定時は NULL) と定義します。
.It Fl "U" Ns Ar "name"
シンボル
.Ar name
を未定義にします。
.El
.Sh 文法
.Nm m4
には以下に示す組み込みマクロが実装されています。
これらのマクロは再定義可能であり、その場合には元の定義は失われます。
特に記述のない限り戻り値は NULL です。
.Bl -tag -width changequotexxx
.It changecom
コメントの開始文字列と終了文字列を変更します。
デフォルトでは、ポンド記号 `#' と改行文字です。
引数を指定しなかった場合はコメント機能がオフになります。
設定できる文字列の長さは最大で 5 文字です。
.It changequote
第 1、第 2 引数をクォートシンボルとして定義します。
シンボルの長さは 5 文字までです。
引数が与えられなかった場合にはデフォルトの左右シングルクォートに
設定されます。
.It decr
引数の値を 1 だけ減少させます。
引数は正しく数値を表現する文字列でなければなりません。
.It define
第 1 引数で指定した名前の新しいマクロを定義します。
定義内容は第 2 引数で与えます。
定義中での $n (n は 0 から 9 まで) は それぞれそのマクロに与えられる
第 n 引数に置換されます。$0 はマクロ名そのものです。
指定されなかった引数は NULL 文字列に置換されます。
また $# は引数の数を表し、$* はコンマで区切られた全引数になります。
$@ は $* と同様ですが、更なる置換が行われないように全部の引数が
クォートされます。
.It defn
各引数で指定されたマクロの定義内容をクォートして返します。
これはマクロ定義の名称変更 (組み込みマクロであっても) に利用できます。
.It divert
.Nm m4
には 10 本の出力キューが用意されています
(0 から 9 までの番号がついています)。
処理の最後に、全てのキューは番号順に連結されて最終的な出力を
生成するようになっています。
初期状態では出力キューは 0 番に設定されています。
divert マクロを使って新しい出力キューを選ぶことが出来ます
(divert に不正な引数を与えると出力が破棄されてしまいます)。
.It divnum
現在の出力キューの番号を返します。
.It dnl
改行文字を含めた行末までの入力文字を破棄します。
.It dumpdef
引数で指定した項目に関して、その名前と定義を出力します。
引数が与えられなかった場合は全てのマクロについて出力します。
.It errprint
第 1 引数を標準エラー出力ストリームへ出力します。
.It eval
第 1 引数を計算式とみなして 32-bit 幅の算術演算を用いて計算します。
演算子としては標準の C で用いられるもの、すなわち 3 項、
算術、論理、シフト、関係、ビットの各演算子、および括弧が
利用可能です。
また数値も C と同様に 8 進、10 進、16 進で記述できます。
第 2 引数で (もしあれば) 演算結果の基数を指定でき、
第 3 引数で (もしあれば) 演算結果の最小桁数を指定できます。
.It expr
eval の別名です。
.It ifdef
第 1 引数で指定した名前のマクロが定義されていれば第 2 引数を返し、
定義されていなければ第 3 引数を返します。
第 3 引数が省略されていた場合は、その値は NULL になります。
ちなみに `unix' という単語があらかじめ定義されています。
.It ifelse
第 1 引数が第 2 引数とマッチしたら第 3 引数を返します。
マッチしなかった場合、その 3 個の引数は捨てられて次の 3 引数を
用いて同様の検査を繰り返します。
この処理は引数がなくなるか あるいは 1 つだけ残るまで繰り返され、
どれにもマッチしなかった場合には その最後に残った引数または NULL
(引数がなくなった場合) が返されます。
.It include
第 1 引数で指定されたファイルの内容を返します。
ファイルが読み込めなかった場合にはエラーメッセージを出力して処理を
中断します。
.It incr
引数を 1 だけ増加させます。
引数は正しく数値を表現する文字列でなければいけません。
.It index
第 2 引数が、第 1 引数の中で、何文字目に出現するかを返します
(たとえば index(the quick brown fox jumped, fox) では 16 が返ります)。
第 2 引数が第 1 引数の中に含まれていなかった場合には -1 を返します。
.It len
第 1 引数の文字数を返します。余分な引数は無視されます。
.It m4exit
第 1 引数 (指定されなかった場合は 0) を終了コードとして即座に終了します。
.It m4wrap
入力が最後の EOF に達したときに、どのような動作を行うかを設定します。
一般には種々の後始末を行うマクロを設定します
(たとえば、m4wrap("cleanup(tempfile)") とすると他の全ての処理が終了した
後に cleanup マクロが呼び出されます)。
.It maketemp
第 1 引数の中の文字列 XXXXX を現在のプロセス ID に置換します。
その他の部分はそのままです。
これはユニークなテンポラリファイル名の生成に利用できます。
.It paste
第 1 引数で指定されたファイルの内容をマクロ処理を一切行わずに include
します。
もしファイルが読み込めない場合にはエラーメッセージを出力して処理を
中断します。
.It popdef
各引数へ pushdef されている定義を戻します。
.It pushdef
define と同様の引数をとってマクロを定義しますが元の定義をスタックへ
保存しておきます。
保存された定義は後で popdef で戻すことができます。
.It shift
第 1 引数を除いた全ての引数を返します。
残りの引数はクォートされてコンマで区切られます。
クォートすることによって以降の処理で置換が行われないようにしています。
.It sinclude
エラーが起きても無視される点を除いて include と同じです。
.It spaste
エラーが起きても無視される点を除いて paste と同じです。
.It substr
第 1 引数の文字列のうちの、第 2 引数で指定されるオフセットから始まり
第 3 引数で指定される文字数の範囲の部分文字列を返します。
第 3 引数が省略された場合は残りの文字列全てを返します。
.It syscmd
第 1 引数をシェルに渡します。戻り値はありません。
.It sysval
最後に実行した syscmd の戻り値を返します。
.It translit
第 1 引数の中の文字を、第 2 引数で指定された文字集合から第 3 引数で
指定された文字集合へ書き直します。ただし
.Xr tr 1
式の省略指定を用いることはできません。
.It undefine
第 1 引数で指定されたマクロを未定義にします。
.It undivert
指定された出力キュー (引数がない場合は全てのキュー) の内容を掃き出します。
.It unix
OS プラットフォームを調べるために予め定義されているマクロです。
.El
.Sh 作者
.An Ozan Yigit Aq oz@sis.yorku.ca
および
.An Richard A. O'Keefe Aq ok@goanna.cs.rmit.OZ.AU
diff --git a/ja/man/man1/mail.1 b/ja/man/man1/mail.1
index fd12c6f100..a96aeb5ce9 100644
--- a/ja/man/man1/mail.1
+++ b/ja/man/man1/mail.1
@@ -1,1003 +1,1003 @@
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mail.1 8.2 (Berkeley) 12/30/93
-.\" %Id: mail.1,v 1.8.2.5 1998/04/14 01:00:35 steve Exp %
+.\" %Id: mail.1,v 1.15 1998/04/14 00:59:29 steve Exp %
.\" jpman %Id: mail.1,v 1.3 1997/10/30 01:42:49 h-nokubi Stab %
.\"
.Dd December 30, 1993
.Dt MAIL 1
.Os BSD 4
.Sh 名称
.Nm mail
.Nd メールの送信と受信
.Sh 書式
.Nm mail
.Op Fl iInv
.Op Fl s Ar subject
.Op Fl c Ar cc-addr
.Op Fl b Ar bcc-addr
.Ar to-addr ...
.Op \&- Ar sendmail-option ...
.Nm mail
.Op Fl iInNv
.Fl f
.Op Ar name
.Nm mail
.Op Fl iInNv
.Op Fl u Ar user
.Sh イントロダクション
.Nm mail
はインテリジェントなメール処理システムです。
コマンドシンタックスは
.Xr \&ed 1
に似ており、
.Xr \&ed 1
での行の代わりにメッセージを扱う形になっています。
.Pp
.Bl -tag -width flag
.It Fl v
冗長 (verbose) モードです。
メールの配送の詳細がユーザのターミナルに表示されます。
.It Fl i
tty の割り込みシグナルを無視します。
これは特に雑音の多い電話回線を通して
.Nm mail
を使う場合に役に立ちます。
.It Fl I
入力がターミナルでない場合にでも強制的に mail を対話モードで実行します。
特にメールを送る時の特殊文字
.Sq Ic \&~
は対話モードでのみ有効となります。
.It Fl n
起動時にシステム全体の
.Pa mail.rc
ファイルを読み込みません。
.It Fl N
メールを読んだりメールフォルダを編集する時に、最初のメッセージヘッダの
表示を行いません。
.It Fl s
コマンドラインからサブジェクトを指定します。
(
.Fl s
フラグの後の最初の引数だけがサブジェクトとして使われます。空白を含む
サブジェクトは引用符で囲むように注意して下さい。)
.It Fl c
カーボンコピーをユーザの
.Ar list
へ送ります。
.It Fl b
ブラインドカーボンコピーを
.Ar list
へ送ります。
.Ar list
はカンマで区切られた名前のリストとなります。
.It Fl f
あなたの
.Ar mbox
(もしくは指定されたファイル) の内容を処理対象として読み込みます。
.Ar quit
した時には
.Nm mail
は削除されなかったメッセージをこのファイルに書き戻します。
.It Fl u
これは以下と等価です。
.Pp
.Dl mail -f /var/mail/user
.El
.Ss メールを送る
メッセージを 1 人かそれ以上の人に送るために
.Nm mail
をメールが送られる相手の名前を引数として起動することができます。
メッセージをタイプした後、行の先頭で
.Sq Li control\-D
を入力します。
下記の
.Ar 「メールにリプライしたり、メールを始める」
のセクションでは手紙を編集する際に役に立つ
.Nm mail
の機能について説明しています。
.Pp
.Ss メールを読む
通常の使い方では
.Nm mail
は引数を指定しないで起動すると、ポストオフィスのメールをチェックし、見
つかった各メッセージにつき 1 行ずつヘッダを表示します。
現在のメッセージは初期状態では最初のメッセージ ( 1 番に番号が振られて
います) となっており、
.Ic print
コマンド (省略形
.Ic p
を使うことができます) によって表示することができます。
メッセージの位置を
.Xr \&ed 1
と同様に
.Ql Ic \&+
.Ql Ic \&\-
のコマンドを使って後や前に移動したり、単に数字を指定して移動したりする
ことができます。
.Pp
.Ss メールを廃棄する
メッセージをチェックした後、メッセージを
.Ic delete
コマンド
.Pq Ic d
で削除したり、それに
.Ic reply
コマンド
.Pq Ic r
でリプライ (返事を出す) したりすることができます。
メッセージを削除すると
.Nm mail
プログラムはそのメッセージのことを忘れますが、
この操作は取り消すことができます。
メッセージは
.Ic undeleted
コマンド
.Pq Ic u
を使ってメッセージの番号を指定するか、
.Nm mail
のセッションを
.Ic exit
コマンド
.Pq Ic x
で中途終了することによって削除をとりやめることができます。
しかし、削除されたメッセージは通常はなくなり二度と見ることはできませ
ん。
.Pp
.Ss メッセージを指定する
.Ic print
.Ic delete
のようなコマンドは、引数に複数のメッセージの番号を指定することによって
複数のメッセージに対して一度に適用することができます。
たとえば
.Dq Li delete 1 2
はメッセージ 1 と 2 を削除し、
.Dq Li delete 1\-5
は 1 から 5 のメッセージを削除します。
特別な名前
.Ql Li \&*
は全てのメッセージを意味し、
.Ql Li \&$
は最後のメッセージを意味します。
メッセージの最初の数行を表示するコマンド
.Ic top
を使って
.Dq Li top \&*
で全てのメッセージの最初の数行を表示することができます。
.Pp
.Ss メールにリプライしたり、メールを始める
.Ic reply
コマンドを使ってメッセージに対する返事を用意して、それをメッセージの差
出人に送り返すことができます。
タイプインしたメッセージは end-of-file までがメッセージの内容として定
義されます。
メッセージを編集している時に
.Nm mail
文字
.Ql Ic \&~
で始まる行を特別に扱います。
例えば、
.Ql Ic \&~m
とタイプする(行にこれだけタイプします)と現在のメッセージを
タブの分 (下記の変数
.Em indentprefix
を参照) だけ右にシフトして返事のメッセージにコピーします。
他のエスケープはサブジェクトの設定や、メッセージの受取人の追加や削除を
行なったり、またメッセージを修正するためにエディタを起動したり、コマン
ドを実行するためにシェルを起動したりします。
(下にこれらのオプションの要約があります。)
.Pp
.Ss メールの処理セッションを終了する
.Nm mail
セッションは
.Ic quit
コマンド
.Pq Ic q
で終了することができます。
チェックされたメッセージは削除されていなければ
.Ar mbox
ファイルにセーブされます。削除されている場合は本当に廃棄されます。
チェックされていないメッセージはポストオフィスに書き戻されます
(上記の
.Fl f
オプション参照)。
.Pp
.Ss 個人の配布リストとシステム全体の配布リスト
たとえば
.Dq Li cohorts
へメールを送ると複数の人に配布されるように、個人の配布リストを作成する
こともできます。
このようなリストは
.Pp
.Dl alias cohorts bill ozalp jkf mark kridle@ucbcory
.Pp
というような行をホームディレクトリの
.Pa \&.mailrc
ファイルに書いておくことによって定義できます。
このようなエイリアス (別名) の現在のリストは
.Nm mail
内で
.Ic alias
コマンドを使って表示することができます。
システム全体にわたる配布リストは
.Pa /etc/aliases
を編集することによって作成することができます。
これについては
.Xr aliases 5
.Xr sendmail 8
を参照してください。これらでは違った形式で記述されます。
あなたが送ったメールの中では個人のエイリアスが展開され、そのメールの受取
人が他の受取人に
.Ic reply
できるようになります。
システム全体の
.Ic aliases
はメールが送られた時には展開されませんが、
そのマシンに返信されたメールは
.Xr sendmail
によって処理される際にシステム全体のエイリアスで展開されます。
.Pp
.Ss ネットワークメール (ARPA, UUCP, Berknet)
ネットワークアドレスの説明については
.Xr mailaddr 7
を参照してください。
.Pp
.Nm mail
には
.Pa .mailrc
ファイルの中でセットして動作方法を変更するためのオプションがたくさんあ
ります。
たとえば
.Dq Li set askcc
.Ar askcc
機能を有効にします。
(これらのオプションについては下にまとめてあります。)
.Sh 要約
(`Mail Reference Manual' より抜粋)
.Pp
各コマンドは行中に単独入力されるか、またコマンドの後に引数をとることも
あります。
コマンドは全て入力する必要はありません。途中まで入力されたも
のに最初にマッチしたコマンドが使われます。
メッセージリストを引数として取るコマンドについては、メッセージリストが
与えられなければコマンドに要求されるものを満たす次のメッセージが使われ
ます。
次のメッセージがない場合にはサーチは逆順に行なわれ、もし適用されるメッ
セージが発見できない場合には
.Nm mail
.Dq Li No applicable messages
と表示しコマンドを中断します。
.Bl -tag -width delete
.It Ic \&\-
前のメッセージを表示します。
数字の引数
.Ar n
が指定されると、
.Ar n
個前に移動してメッセージを表示します。
.It Ic \&#
行中のこれ以降をコメントとして無視します。
.It Ic \&?
コマンドの短い要約を表示します。
.It Ic \&!
これに引き続くシェルコマンドを実行します
(
.Xr sh 1
.Xr csh 1
を参照) 。
.It Ic Print
.Pq Ic P
.Ic print
と同様ですが、無視されるヘッダフィールドも表示されます。
.Ic print ,
.Ic ignore ,
.Ic retain
を参照してください。
.It Ic Reply
.Pq Ic R
発信者に返信します。
元のメッセージの他の受取人には返信されません。
.It Ic Type
.Pq Ic T
.Ic Print
と同じです。
.It Ic alias
.Pq Ic a
引数がない場合は、現在定義されている全てのエイリアスを表示します。
引数がひとつ伴うと、そのエイリアスを表示します。
複数の引数が指定されると、新しいエイリアスを作成するか、古いものを変更
します。
.It Ic alternates
.Pq Ic alt
.Ic alternates
コマンドはいくつかのマシンにアカウントがある場合に便利な機能です。
.Nm mail
に対してリストされたアドレスがあなたのアドレスであることを指示するため
に使われます。
.Ic reply
コマンドによってメッセージに返信するときに
.Nm mail
.Ic alternates
リストにリストされているアドレスにはメッセージのコピーを送付しません。
.Ic alternates
コマンドが引数なしで指定された場合、現在の alternate の内容が表示され
ます。
.It Ic chdir
.Pq Ic c
ユーザの作業ディレクトリを指定されたものに変更します。
ディレクトリが指定されていなければ、ユーザのログインディレクトリに変更
します。
.It Ic copy
.Pq Ic co
.Ic copy
コマンドは
.Ic save
と同様のことを行ないますが、終了時に削除を行なうためのマークをメッセー
ジにつけません。
.It Ic delete
.Pq Ic d
メッセージのリストを引数として取り、それら全てを削除されたものとしてマー
クします。
削除されるメッセージは
.Ar mbox
にはセーブされず、また他のほとんどのコマンドの対象となりません。
.It Ic dp
(もしくは
.Ic dt )
現在のメッセージを削除し、次のメッセージを表示します。
次のメッセージがなければ、
.Nm mail
.Dq Li "at EOF"
と表示します。
.It Ic edit
.Pq Ic e
メッセージのリストを引数として取り、各々を順にテキストエディタで開きま
す。
メッセージはテキストエディタから戻ってきた時に再度読み込まれます。
.It Ic exit
.Pf ( Ic ex
もしくは
.Ic x )
ユーザのシステムメールボックス、
.Ar mbox
ファイル、
.Fl f
での編集ファイルを変更せずにシェルへ直ちに戻ります。
.It Ic file
.Pq Ic fi
.Ic folder
と同様です。
.It Ic folders
フォルダディレクトリ内のフォルダ名をリストします。
.It Ic folder
.Pq Ic fo
.Ic folder
コマンドは新しいメールファイルかフォルダに切替えます。
引数がないと、現在どのファイルを読んでいるかを表示します。
引数を指定すると、現在のファイルに対して行なった変更 (削除など) を書き
出し、新しいファイルを読み込みます。
引数の名前にはいくつかの特別な記法を使うことができます。
# は前のファイルを意味します。
% はあなたのシステムメールボックスを意味します。
%user は user のシステムメールボックスを意味します。
& はあなたの
.Ar mbox
ファイルを意味します。
\&+\&folder はあなたのフォルダディレクトリ中のファイルを意味します。
.It Ic from
.Pq Ic f
メッセージのリストを引数として取り、それらのメッセージのヘッダを表示し
ます。
.It Ic headers
.Pq Ic h
現在の範囲のヘッダをリストします。現在の範囲は 18 個のメッセージのグルー
プです。
引数として
.Ql \&+
が指定されると次の 18 個のメッセージのグループが表示され、
.Ql \&\-
が指定されると前の 18 個のメッセージのグループが表示されます。
.It Ic help
.Ic \&?
と同じです。
.It Ic hold
.Pf ( Ic ho ,
もしくは
.Ic preserve )
メッセージのリストを引数として取り、各メッセージを
.Ar mbox
ではなくユーザのシステムメールボックスにセーブするためのマークをつけ
ます。
.Ic delete
によってマークが付けられているメッセージにはマークはつけません。
.It Ic ignore
.Ar ignored list
にヘッダフィールドのリストを追加します。
ignore list (無視リスト) に登録されているヘッダフィールドは
メッセージを表示する際にターミナルに表示されません。
このコマンドはマシンが生成するヘッダフィールドの表示を省略するのに非常
に便利です。
.Ic Type
.Ic Print
コマンドを使うと表示の際に無視するフィールドも含めメッセージの全てを表
示することができます。
.Ic ignore
が引数なしで実行されると現在の無視するフィールドのリストが表示されます。
.It Ic mail
.Pq Ic m
ログイン名と配布グループ名を引数として取り、メールをそれらの人々に送付
します。
.It Ic more
.Pq Ic \mo
メッセージのリストを引数として取り、そのリストに対してページャを起動し
ます。
.It Ic mbox
終了時にあなたのホームディレクトリの
.Ic mbox
へ書き込むメッセージのリストを指定します。
.Ic hold
オプションをセットして
.Em いなければ
、これはメッセージに対するデフォルトの動作となります。
.It Ic next
.Pq Ic n
(
.Ic \&+
.Tn CR
と同様)
次のメッセージへ進み、それを表示します。
引数リストを指定すると、次にマッチするメッセージを表示します。
.It Ic preserve
.Pq Ic pre
.Ic hold
と同様です。
.It Ic print
.Pq Ic p
メッセージリストを引数として取り、各メッセージをユーザのターミナルに表
示します。
.It Ic quit
.Pq Ic q
セッションを終了し、全ての未削除のまだセーブしていないメッセージをユー
ザのホームディレクトリの
.Ar mbox
ファイルへセーブし、
.Ic hold
.Ic preserve
でマークされたメッセージか参照されなかったメッセージはシステムメールボッ
クスに残し、その他の全てのメッセージをシステムメールボックスから削除し
ます。
もし新しいメールがセッション中に届いていたら、メッセージ
.Dq Li "You have new mail"
を表示します。
もしメールボックスのファイルを
.Fl f
フラグ付きで編集している途中であれば、編集中のファイルは再度書き込まれ
ます。
編集中のファイルの再書き込みが失敗しなければシェルに戻ります。
編集中のファイルの再書き込みが失敗した場合、ユーザは
.Ic exit
コマンドによって抜け出すことができます。
.It Ic reply
.Pq Ic r
メッセージリストを引数として取り、メールを指定されたメッセージの差出人
と全ての受取人に送ります。
デフォルトのメッセージは削除されていてはいけません。
.It Ic respond
.Ic reply
と同様です。
.It Ic retain
.Ar retained list
(保持リスト) にヘッダフィールドのリストを追加します。
メッセージを表示する時には、retain list に登録されているヘッダーフィー
ルドのみがターミナルに表示されます。
他の全てのフィールドは省略されます。
.Ic Type
.Ic Print
コマンドを使うとメッセージの全てを表示することができます。
.Ic retain
が引数を指定されずに実行されると、現在 retain list に登録されているフィー
ルドのリストを表示します。
.It Ic save
.Pq Ic s
メッセージのリストとファイル名を引数として取り、各メッセージを順にファ
イルの末尾に追加します。
ファイル名が引用符で囲まれて表示され、それに続いて行数と文字数がユーザ
のターミナルにエコーされます。
.It Ic set
.Pq Ic se
引数がない場合には全ての変数の値を表示します。
引数が指定された場合はオプションをセットします。
引数は
.Ar option=value
( = の前後にはスペースは入りません) か
.Ar option
の形式を取ります。
空白やタブを代入式に含めるために引用符を代入文の どの部分にでも
置いてかまいません。例えば次のようになります。
.Dq Li "set indentprefix=\*q->\*q"
.It Ic saveignore
.Ic saveignore
.Ic ignore
コマンドが
.Ic print
.Ic type
の際に行なうことを
.Ic save
の際に行なうものです。
これでマークされたヘッダフィールドは
.Ic save
コマンドによって保存される時や自動的に
.Ar mbox
へ保存される時にフィルタリングされて取り除かれます。
.It Ic saveretain
.Ic saveretain
.Ic retain
.Ic print
.Ic type
の際に行なうことを
.Ic save
の際におこなうものです。
.Ic save
コマンドによって保存される時や自動的に
.Ar mbox
へ保存される時には、これでマークされたヘッダフィールドのみが保存されます。
.Ic saveretain
.Ic saveignore
に優先します。
.It Ic shell
.Pq Ic sh
シェルを対話モード起動します。
.It Ic size
メッセージのリストを引数として取り、各メッセージのサイズを文字数で表示
します。
.It Ic source
.Ic source
コマンドはファイルからコマンドを読み込みます。
.It Ic top
メッセージのリストを引数として取り、各メッセージの先頭の数行を表示しま
す。
表示する行数は変数
.Ic toplines
によって制御でき、デフォルトでは 5 行となっています。
.It Ic type
.Pq Ic t
.Ic print
と同様です。
.It Ic unalias
.Ic alias
コマンドによって定義された名前のリストを引数として取り、記憶されている
ユーザのグループを無効にします。
グループの名前は以後意味を持たなくなります。
.It Ic undelete
.Pq Ic u
メッセージのリストを引数として取り、各メッセージを削除されて
.Ic いない
ものとしてマークします。
.It Ic unread
.Pq Ic U
メッセージのリストを引数として取り、各メッセージを
.Ic 未読
としてマークします。
.It Ic unset
オプションの名前のリストを引数として取り、それらの記憶されている値を無
効とします。
.Ic set
の逆です。
.It Ic visual
.Pq Ic v
メッセージのリストを引数として取り、各メッセージについてスクリーンエディ
タを起動します。
.It Ic write
.Pq Ic w
.Ic save
と同様ですが、
.Pq Ar ヘッダを除いて
メッセージの本文
.Ic のみ
が保存されます。
メッセージシステムを使ってソースプログラムテキストを送受信するような作
業で非常に便利です。
.It Ic xit
.Pq Ic x
.Ic exit
と同様です。
.It Ic z
.Nm mail
.Ic headers
コマンドにて説明されているようにウィンドウいっぱいにメッセージヘッダを
表示します。
.Nm mail
が指し示しているメッセージの位置は
.Ic \&z
コマンドによって次のウィンドウに進めることができます。
また、
.Ic \&z\&\-
コマンドを使って前のウィンドウに戻ることもできます。
.El
.Ss チルダ/エスケープ
.Pp
ここではチルダエスケープを要約します。
チルダエスケープはメッセージを編集している時に特別の機能を実行するため
に使われます。
チルダエスケープは行の先頭でのみ認識されます。
実際のエスケープ文字は
.Ic escape
オプションによってセットできるので、
.Dq Em チルダエスケープ
という呼び方は多少間違ったものです。
.Bl -tag -width Ds
.It Ic \&~! Ns Ar command
指定されたシェルコマンドを実行し、メッセージに戻ります。
.It Ic \&~b Ns Ar name ...
カーボンコピーの受取人のリストへ指定された name を追加します。
ただし name は Cc: 行へは表示されません ("ブラインド" カーボ
ンコピー)。
.It Ic \&~c Ns Ar name ...
指定された name をカーボンコピーの受取人のリストに追加します。
.It Ic \&~d
ホームディレクトリの
.Dq Pa dead.letter
ファイルをメッセージ中に読み込みます。
.It Ic \&~e
今までに編集したメッセージをテキストエディタで開きます。
編集セッションの終了後、メッセージに続けてテキストを追加することができ
ます。
.It Ic \&~f Ns Ar messages
指定されたメッセージを送ろうとしているメッセージ中に読み込みます。
メッセージが指定されない場合は、現在のメッセージを読み込みます。
現在無視されているメッセージヘッダ (
.Ic ignore
.Ic retain
コマンドによる) は読み込まれません。
.It Ic \&~F Ns Ar messages
.Ic \&~f
と同様ですが、全てのメッセージヘッダが含まれます。
.It Ic \&~h
メッセージヘッダを順に各々を入力して編集し、テキストを末尾に追加したり、
現在のターミナルの erase 文字や kill 文字を使ってフィールドを変更した
りします。
.It Ic \&~m Ns Ar messages
指定されたメッセージを現在送ろうとしているメッセージの中に読み込み、タ
ブか
.Ar indentprefix
に設定されている値でインデントします。
メッセージが指定されていない場合は現在のメッセージが読み込まれます。
現在無視されているメッセージヘッダ (
.Ic ignore
.Ic retain
コマンドによる) は読み込まれません。
.It Ic \&~M Ns Ar messages
.Ic \&~m
と同様ですが、全てのメッセージヘッダが読み込まれます。
.It Ic \&~p
今までに修正したメッセージをメッセージヘッダフィールドと共に表示します。
.It Ic \&~q
送ろうとしているメッセージを中断し、
.Ic save
がセットされている場合はホームディレクトリの
.Dq Pa dead.letter
にメッセージをセーブします。
.It Ic \&~r Ns Ar filename
指定されたファイルをメッセージに読み込みます。
.It Ic \&~R Ns Ar string
.Ar string
を Reply-To: フィールドとして使用します。
.It Ic \&~s Ns Ar string
指定された文字列を現在のサブジェクトフィールドに設定します。
.It Ic \&~\&t Ns Ar name ...
指定された名前を受取人のリストに追加します。
.It Ic \&~\&v
別のエディタ (
.Ev VISUAL
オプションによって定義されているもの) で現在までに修正したメッセージを
開きます。
通常は別のエディタはスクリーンエディタとなります。
エディタを終了した後、メッセージの末尾にテキストを追加できるようになり
ます。
.It Ic \&~w Ns Ar filename
指定されたファイルにメッセージを書き込みます。
.It Ic \&~\&| Ns Ar command
指定されたコマンドをフィルタとし、パイプを通してメッセージに適用します。
コマンドから何の出力もないか、コマンドが異常終了した場合は、メッセージ
のテキストは元のままとなります。
メッセージを整形するためによく
.Xr fmt 1
コマンドが
.Ic command
として使われます。
.It Ic \&~: Ns Ar mail-command
指定されたメールコマンドを実行します。
しかし全てのコマンドが使えるわけではありません。
.It Ic \&~~ Ns Ar string
メッセージに単独の ~ で始まるテキスト文字列を挿入します。
エスケープ文字が変更されている場合は、それを送るためにはエスケープ文字
を 2 つ指定しなければなりません。
.El
.Ss メールオプション
オプションは
.Ic set
.Ic unset
コマンドで制御します。
オプションは 2 値か文字列となります。
2 値の場合はセットされているか、されていないかだけが意味を持ちます。
文字列の場合は実際にセットしている値が意味を持ちます。
2 値のオプションには次のものがあります。
.Bl -tag -width append
.It Ar append
メッセージを
.Ar mbox
にセーブする場合、先頭に書くのではなく、末尾に追加します。
これは常にセットされていなければなりません (システムの
.Pa mail.rc
ファイルにおいて設定することが望ましいです)。
.It Ar ask
.Nm mail
は送ろうとしている各メッセージのサブジェクトの入力を促します。
改行のみを入力するとサブジェクトフィールドは送られません。
.It Ar askcc
各メッセージの編集後に追加のカーボンコピーの受取人の入力を促します。
現在のリストで十分な場合は改行のみを入力してください。
.It Ar autoprint
.Ic delete
コマンドを
.Ic dp
のように動作させます。
すなわちメッセージの削除後、次のものが自動的に表示されます。
.It Ar debug
2 値のオプション
.Ar debug
をセットするとコマンド行で
.Fl d
を指定した時と同じ動作になり、
.Nm mail
はデバッグに有用な全ての種類の情報を出力します。
.It Ar dot
2 値のオプション
.Ar dot
をセットすることによって、
.Nm mail
は行中にピリオドが単独で入力されると、送ろうとしているメッセージが終了した
ものとみなします。
.It Ar hold
このオプションはデフォルトでメッセージをシステムメールボックス中に保持
するために使われます。
.It Ar ignore
ターミナルからの割り込み信号を無視し、@ としてエコーします。
.It Ar ignoreeof
.Ar ignoreeof
.Ar dot
に関連するオプションであり、
.Nm mail
にメッセージの最後での control-d を無視させます。
.Ar Ignoreeof
.Nm mail
のコマンドモード中でも有効となります。
.It Ar metoo
通常、差出人を含むグループの展開時には差出人は取り除かれます。
このオプションをセットすることによって差出人も展開されたグループに含ま
れるようになります。
.It Ar noheader
.Ar noheader
オプションをセットすると、コマンド行で
.Fl N
フラグを指定するのと同様の動作となります。
.It Ar nosave
普通は
.Tn RUBOUT
(erase もしくは delete) を 2 回入力してメッセージの編集を中断する時、
.Nm mail
はホームディレクトリのファイル
.Dq Pa dead.letter
に中断した手紙をコピーします。
この 2 値のオプション
.Ar nosave
をセットすると、ファイルへのコピーは行なわれません。
.It Ar Replyall
.Ic reply
コマンドと
.Ic Reply
コマンドの意味を逆転させます。
.It Ar quiet
最初に起動された時にバージョンの表示を省略します。
.It Ar searchheaders
このオプションがセットされていると、``/x:y'' の形式でのメッセージリス
トの指定はヘッダフィールド ``x'' 中にサブストリング ``y'' を含む全ての
メッセージに展開されます。ストリングのサーチは大文字と小文字を区別しま
せん。
.It Ar verbose
.Ar verbose
オプションをセットするとコマンド行で
.Fl v
フラグをセットした時と同様の動作となります。
.Nm mail
が verbose (饒舌) モードで実行されている時、実際のメッセージの配送の様
子がターミナルに表示されます。
.El
.Ss オプションストリング値
.Bl -tag -width Va
.It Ev EDITOR
.Ic edit
コマンドと
.Ic \&~e
エスケープで使われるテキストエディタのパス名です。
定義されていない場合はデフォルトのエディタが使われます。
.It Ev LISTER
.Ic folders
コマンドで使われるディレクトリをリストするコマンドのパス名です。
デフォルトは
.Pa /bin/ls
です。
.It Ev PAGER
.Ic more
コマンドや変数
.Ic crt
がセットされている時に使われるプログラムのパス名です。
このオプションが定義されていないとデフォルトのページャ
.Xr more 1
が使われます。
.It Ev REPLYTO
設定されている場合、送信メッセージの Reply-To フィールドの初期化に使用
されます。
.It Ev SHELL
.Ic \&!
コマンドや
.Ic \&~!
エスケープで使われるシェルのパス名です。
このオプションが定義されていないとデフォルトのシェルが使われます。
.It Ev VISUAL
.Ic visual
コマンドや
.Ic \&~v
エスケープで使われるテキストエディタのパス名です。
.It Va crt
値をとるオプション
.Va crt
は、メッセージを読むために
.Ev PAGER
が使われるメッセージの長さの閾値として使われます。
.Va crt
が値なしでセットされていると、システムに保存されているターミナルの画面
の高さが閾値の計算に使われます (
.Xr stty 1
を参照して下さい)。
.It Ar escape
これが定義されていると、このオプションの最初のキャラクタがエスケープを
示すための ~ の代わりに使われます。
.It Ar folder
メッセージのフォルダを置くためのディレクトリ名です。
これが `/' で始まっていると
.Nm mail
は絶対パスとして解釈します。それ以外の場合はフォルダのディレクトリはホー
ムディレクトリからの相対パスとして扱われます。
.It Ev MBOX
.Ar mbox
の名前です。
これはフォルダの名前とすることもできます。
デフォルトはホームディレクトリの
.Dq Li mbox
となります。
.It Ar record
これが定義されていると、全ての発信されるメールを記録するために使われる
ファイルのパス名となります。
定義されていない場合は、発信メールはセーブされません。
.It Ar indentprefix
チルダエスケープ ``~m'' で、通常のタブ文字 (^I) の代わりにメッセージを
インデントするために使われる文字列となります。
これにスペースやタブが含まれている場合は引用符で囲んで下さい。
.It Ar toplines
これが定義されていると、
.Ic top
コマンドで表示するメッセージの行数となります。通常は先頭の 5 行が表示
されます。
.El
.Sh 環境変数
.Nm mail
は環境変数
.Ev HOME
.Ev USER
を使用します。また、環境変数
.Ev MAIL
がセットされていると、デフォルトの /var/mail の代わりにユーザのメール
ボックスの位置として使われます。
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/mail.*help -compact
.It Pa /var/mail/*
ポストオフィスです。
.It ~/mbox
ユーザの古いメールです。
.It ~/.mailrc
起動時に実行されるメールコマンドを指定するファイルです。
.It Pa /tmp/R*
一時ファイルです。
.It Pa /usr/share/misc/mail.*help
ヘルプファイルです。
.sp
.It Pa /usr/share/misc/mail.rc
.It Pa /usr/local/etc/mail.rc
.It Pa /etc/mail.rc
システムの初期化ファイルです。
各ファイルが存在すればこの順に読み込まれます。
.El
.Sh 関連項目
.Xr fmt 1 ,
.Xr newaliases 1 ,
.Xr vacation 1 ,
.Xr aliases 5 ,
.Xr mailaddr 7 ,
.Xr sendmail 8 ,
.Rs
.%T "The Mail Reference Manual" .
.Re
.Sh 歴史
.Nm
コマンドは
.At v1
で登場しました。
本マニュアルページは
元々 Kurt Shoens によって書かれた
.%T "The Mail Reference Manual"
をベースにしています。
.Sh バグ
ここに文書化されていないフラグがいくつか存在します。
ほとんどは一般のユーザには役に立たないものです。
.Pp
混乱しやすいのですが、通常
.Nm mail
.Nm Mail
への単なるリンクとなっています。
diff --git a/ja/man/man1/mailq.1 b/ja/man/man1/mailq.1
index bb91e6cfb8..2c3a4db272 100644
--- a/ja/man/man1/mailq.1
+++ b/ja/man/man1/mailq.1
@@ -1,83 +1,62 @@
-.\" Copyright (c) 1983, 1997 Eric P. Allman
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1985, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" 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.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)mailq.1 8.5 (Berkeley) 2/1/97
+.\" @(#)mailq.1 8.10 (Berkeley) 5/19/98
+.\"
.\" jpman %Id: mailq.1,v 1.2 1997/03/29 06:21:16 horikawa Stab %
.\"
-.Dd February 1, 1997
+.Dd May 19, 1998
.Dt MAILQ 1
.Os BSD 4
.Sh 名称
.Nm mailq
.Nd メールのキューを表示する
.Sh 書式
.Nm mailq
.Op Fl v
.Sh 解説
.Nm mailq
は、後で配送するためにキューに蓄えたメールを一覧表示します。
.Pp
各メッセージの 1 行目は、ホストがメッセージにつける内部の識別子、
メッセージのバイト数、キューに入れられた日付と時間、
メッセージの送り手を表示します。
2 行目は、このメールがキューに入れられる原因となったエラーを表示します。
このメッセージは、
キューのなかでメールが最初に処理されているときには表示されません。
そのあとの行には、メールの受け手が 1 行に 1 人ずつ表示されます。
.Pp
.Nm mailq
は、``sendmail -bp'' とまったく同じです。
.Pp
オプション:
.Bl -tag -width flag
.It Fl v
詳細な情報を表示します。
通常の表示に加え、メッセージの優先度と、
警告メッセージを送ったか否かを示す 1 文字の記号 (``+'' か空白)
を最初の行に追加します。
さらに、メールの受け手の ``制御ユーザ (controlling user)'' 情報を表示します;
これは、このメールによって実行されるプログラムの所有者および、
存在するのであれば、このコマンドが展開される元のエイリアス名です。
.El
.Pp
.Nm mailq
は成功した場合は0を、エラーが起きた場合は0より大きな
値を返します。
.Pp
.Sh 関連項目
.Xr sendmail 8
.Pp
.Sh 歴史
.Nm mailq
.Bx 4.0
から登場しました。
diff --git a/ja/man/man1/make.1 b/ja/man/man1/make.1
index bc96ac8ba3..b54594b033 100644
--- a/ja/man/man1/make.1
+++ b/ja/man/man1/make.1
@@ -1,925 +1,925 @@
.\" 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.
.\"
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
-.\" %Id: make.1,v 1.6.2.4 1998/06/04 22:33:18 steve Exp %
+.\" %Id: make.1,v 1.12 1998/05/25 03:28:37 steve 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
.\" jpman %Id: make.1,v 1.2 1997/05/27 00:42:17 mutoh Stab %
.\"
.Dd March 19, 1994
.Dt MAKE 1
.Os
.Sh 名称
.Nm make
.Nd プログラムの依存関係をメンテナンスする
.Sh 書式
.Nm make
.Op Fl Beiknqrst
.Op Fl D Ar variable
.Op Fl d Ar flags
.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=value
.Op Ar target ...
.Sh 解説
.Nm make
は、プログラムのメンテナンスを単純化するためのツールです。その入力は
ファイル毎の依存関係指定のリストで、それぞれのファイルがどのプログラム、
どのファイルに依存するか記述されています。
その指定リストとして、ファイル
.Ql Pa makefile
が存在すればそれを、無ければ
.Ql Pa Makefile
を読み込みます。
.Ql Pa .depend
というファイルがあれば、それも読み込みます
.Pq Xr mkdep 1 を参照
.Pp
本マニュアルはリファレンスのためのみのドキュメントです。
.Nm make
と makefile に関する詳しい記述は
.%T "Make \- A Tutorial"
を参照してください。
.Pp
オプションは以下のとおりです。
.Bl -tag -width Ds
.It Fl B
シーケンス中の依存行のソースを作成するために、各コマンドに対して
1 つのシェルを実行する、バックワード互換モードで実行しようとします。
.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 "g1"
処理を行う前に、入力のグラフを表示します。
.It Ar "g2"
すべての処理を行ったあと、あるいはエラーにより終了する前に入力のグラフを
表示します。
.It Ar j
複数のシェルを起動する場合の情報を表示します。
.It Ar m
ターゲットの作成と変更日付に関する情報を表示します。
.It Ar s
拡張子解釈に関する情報を表示します。
.It Ar t
ターゲットリストのメンテナンスに関する情報を表示します。
.It Ar v
変数の値に関する情報を表示します。
.El
.It Fl e
環境変数で makefile 中の変数の値を上書きするように指示します。
.It Fl f Ar makefile
デフォルトの
.Ql Pa makefile
.Ql Pa Makefile
のかわりに、読み込むファイルを指定します。もし
.Ar makefile
.Ql Fl
なら標準入力から読み込みます。複数のファイルが指定可能で、
指定した順に読み込まれます。
.It Fl I Ar directory
makefile と、インクルードされる makefile を検索するためのディレクトリを
指定します。システムで定義してある makefile のあるディレクトリ (または、
複数のディレクトリ;
.Fl m
オプションを参照) は自動的にリストに含まれ、検索されます。
.It Fl i
makefile から実行されたシェルコマンドが 0 でない終了ステータスを返し
ても無視します。makefile 中でコマンドの先頭に
.Ql Fl
を指定するのと同じです。
.It Fl j Ar max_jobs
.Nm make
が同時に起動できるジョブの数を指定します。互換性モードをオフにするには、
.Ar B
フラグも指定してください。
.It Fl k
エラーが発生しても処理を続行します。ただし、発生したエラーによって作成
が不能になったターゲットに依存したターゲットに関しては処理が中断されます。
.It Fl m Ar directory
<...> 形式で読み込まれる sys.mk や makefile を検索するための
ディレクトリを指定します。複数のディレクトリを検索パスに加えることが
できます。このパスは、デフォルトのシステムインクルードパス
/usr/share/mk を上書きします。
さらに、システムインクルードパスを "..." 形式のインクルードによって
追加することができます(
.Fl I
オプションを参照)。
.It Fl n
make が実行するであろうコマンド内容の表示のみを行い、実行はしません。
.It Fl q
いっさいのコマンドを実行せず、指定されたターゲットが最新のものであれば 0
を、そうでなければ 1 を終了ステータスとして返します。
.It Fl r
システムの makefile で定義された組み込みのルールを使用しません。
.It Fl s
実行するコマンドを表示しません。makefile のなかで、コマンドの先頭に
.Ql Ic @
を指定するのと同じです。
.It Fl t
makefile で指定されたターゲットを作り直すのではなく、ターゲットを作成
するか、あるいは最終更新日付を現在の時刻に設定することにより、
ターゲットが最新であるかのようにします。
.It Fl V Ar variable
グローバルな文脈での
.Nm make
.Ar variable
の値を表示します。如何なるターゲットも生成しません。
このオプションで複数のインスタンスを指定することができます。
変数は、各行毎に表示されます。未定義もしくは空の変数は、空行で
表現されます。
.It Ar variable=value
変数
.Ar variable
の値を
.Ar value
に設定します。
.El
.Pp
makefile には 7 種類の行があります: 依存関係記述、シェルコマンド、変数
代入、インクルード文、条件命令、for ループ、コメントです。
.Pp
一般に、行は行末にバックスラッシュ
.Pq Ql \e
を置くことにより次行へ継続させることがで
きます。この場合、バックスラッシュ直後の改行と、次の行の先頭の
空白部分は 1 つの空白に置き換えられます。
.Sh ファイル依存関係記述
入力ファイルにおける依存関係記述行は、1 つ以上のターゲット、オペレータ、
0 個 以上のソースからなります。
これは、ターゲットがソースに「依存」しているという関係を
定義しており、通常は、ソースからターゲットが作成されます。ターゲットと
ソースとの厳密な関係はオペレータによって、両者間に指定します。
オペレータには以下の種類があります。
.Bl -tag -width flag
.It Ic \&:
ターゲットの最終更新日付が、いずれかのソースの最終更新日付よりも
古いものであれば、ターゲットは古いものであり、作り直されるべきものと
判断されます。
別の行でこのオペレータによる同じターゲットに関するソースの記述があれば、
それらはすべて 1 つにまとめられます。ターゲットの作成中に
.Nm make
が中断されると、ターゲットは削除されます。
.It Ic \&!
ターゲットはつねに作り直されます。ただし、作り直されるのは、
すべてのソースが検査され、必要と判断されたソースが作り直されたあとです。
このオペレータによる同じターゲットに関するソースの記述が別の行にもあれば、
それらはすべて 1 つにまとめられます。ターゲットの作成中に
.Nm make
が中断されると、ターゲットは削除されます。
.It Ic \&::
ソースが指定されていなかった場合、つねにターゲットは作り直されます。
指定されていた場合にはソースのいずれかがターゲットよりも新しい時だけ
ターゲットは作り直されます。本オペレータでは、別の行において同じ
ターゲットに関するソースの記述があっても 1 つにまとめません。
ターゲットの作成中に
.Nm make
が中断されても、ターゲットは削除されません。
.El
.Pp
ターゲットとソースは、シェルのワイルドカードとして
.Ql ? ,
.Ql * ,
.Ql [] ,
.Ql {}
を含むことができます。
.Ql ? ,
.Ql * ,
.Ql []
は、ターゲットまたはソースの最後の要素として記述でき、
存在するファイルを指定するものでなければなりません。
.Ql {}
はファイルが存在しなくてもかまいません。シェルのように辞書順に並べられて
展開されることはなく、ファイルシステム上に並んでいる順番のまま行われます。
.Sh シェルコマンド
ターゲットは、シェルコマンドの列と関連付けることができ、通常はそれによって
ターゲットを作成します。
これに含まれる各コマンドは、
.Em 必ず
行頭のタブに続けて記述します。同一のターゲットに
対して複数の依存記述行がある場合、
.Ql Ic ::
オペレータを使用したのでなければ、それらのうちの 1 つにのみコマンド行を
続けることができます。
.Pp
コマンドラインの先頭もしくは先頭 2 文字が
.Ql Ic @
.Ql Ic \-
ならば、コマンドは特別な扱いを受けます。
.Ql Ic @
は、コマンドが実行前に、コマンド内容の表示を抑制します。
.Ql Ic \-
は、コマンドの 0 ではない終了ステータスを無視するように指示します。
.Sh 変数代入
.Nm make
で使われる変数はシェルでの変数に類似しています。そして、歴史的な経緯から、
すべて大文字からなる名前が用いられます。変数代入には以下の 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 make
の環境中で有効な変数
.It グローバル変数
makefile とインクルードされた makefile 内で有効な変数。
.It コマンドライン変数
コマンドラインで指定された変数。
.It ローカル変数
あるターゲットのみに対して定義される変数。ローカル変数には、
以下の 7 種類があります:
.Bl -tag -width ".ARCHIVE"
.It Va .ALLSRC
このターゲットに対するすべてのソースのリスト。
.Ql Va \&>
も同じです。
.It Va .ARCHIVE
アーカイブファイル名
.It Va .IMPSRC
ターゲット名に変換するのに使用するソースのファイル名またはパス名
.Pq 「暗黙の」ソース
.Ql Va \&<
も同じです。
.It Va .MEMBER
アーカイブのメンバ
.It Va .OODATE
ターゲットよりも新しいソースのリスト。
.Ql Va \&?
も同じです。
.It Va .PREFIX
ターゲットのディレクトリ名と拡張子を取り除いた名前。
.Ql Va *
も同じです。
.It Va .TARGET
ターゲットの名前。
.Ql Va @
も同じです。
.El
.Pp
短い形式
.Ql Va @ ,
.Ql Va ? ,
.Ql Va \&> ,
.Ql Va *
は古い makefile での互換性のためのものですが、利用することは推奨できません。
また、
.Ql Va "@F" ,
.Ql Va "@D" ,
.Ql Va "<F" ,
.Ql Va "<D" ,
.Ql Va "*F" ,
.Ql Va "*D"
.At V
の makefile との互換性のために存在していますが、利用することは
推奨できません。
.Pp
次の 4 つのローカル変数は依存関係記述行のソースに使うことができます。
これらは、その行のターゲット毎の値に展開されます。
これらのローカル変数は
.Ql Va .TARGET ,
.Ql Va .PREFIX ,
.Ql Va .ARCHIVE ,
.Ql Va .MEMBER
です。
.Pp
さらに、
.Nm make
では以下の変数を利用することができます。
.Bl -tag -width MAKEFLAGS
.It Va \&$
単一のドル記号
.Ql \&$
。すなわち、
.Ql \&$$
は単一のドル記号に置換されます。
.It Va .MAKE
.Nm make
の起動に使用された名前
.Pq Va argv Op 0
.It Va .CURDIR
.Nm make
が実行されたディレクトリ。
.It Ev PWD
現在のディレクトリへの異なったパス。
.Nm make
は普通、
.Ql Va .CURDIR
.Xr getcwd 2
で得られた正式なパスに設定します。しかしながら、環境変数
.Ql Ev PWD
が設定されており、与えられたパスがカレントディレクトリの時、
.Nm make
は、
.Ql Va .CURDIR
.Ql Ev PWD
の値に設定します。
.Nm make
が実行している全てのプログラムに対しては、
.Ql Ev PWD
.Ql Va .OBJDIR
の値を設定します。
.El
.Pp
変数展開において、その変数内の単語を選択したり、変更したりすることが
できます
.Pq 単語とは空白で区切られた文字列です
。変数展開の一般形は、次のとおりです。
.Pp
.Dl {variable[:modifier[:...]]}
.Pp
各修飾子は、コロンと以下に示すいずれかの文字のうち 1 文字からなります。
リテラルなコロン
.Pq Ql \&:
を指定するにはコロンの前にバックスラッシュ
.Pq Ql \e
を置きます。
.Bl -tag -width Cm E\&
.It Cm E
変数中の各単語を拡張子で置換します。
.It Cm H
変数中の各単語を、パスの最後の要素
を除いた部分で置換します。
.It Cm M Ns Ar pattern
pattern にマッチする単語を選択します。標準的なワイルドカード
.Pf ( Ql * ,
.Ql ? ,
.Ql Op )
が使用できます。ワイルドカード文字はバックスラッシュ
.Pq Ql \e
によりエスケープできます。
.It Cm N Ns Ar pattern
pattern にマッチしない単語を選択します。それ以外は
.Ql Cm M
と同様です。
.It Cm R
変数中の各単語から拡張子を取り除きます。
.Sm off
.It Cm S No \&/ Ar old_pattern Xo
.No \&/ Ar new_pattern
.No \&/ Op Cm g
.Xc
.Sm on
各単語中の最初の
.Ar old_pattern
.Ar new_pattern
に置換します。もし、最後のスラッシュのあとに
.Ql g
が指定されていれば、各単語中に出現したすべての
.Ar old_pattern
.Ar new_pattern
に置換されます。
.Ar old_pattern
がキャレット
.Pq Ql ^
で始まっているなら、そのパタンを各単語の先頭からマッチさせることを
意味します。
.Ar old_pattern
がドル記号
.Pq Ql $
で終わっているなら、そのパタンを各単語の終端にマッチさせることを
意味します。
.Ar new_string
中のアンパサンド
.Pq Ql &
.Ar old_pattern
に置換されます。修飾文字列の区切りにはどんな文字を使ってもかまいません。
.Ql ^
,
.Ql $
,
.Ql &
と区切り文字はバックスラッシュ
.Pq Ql \e
によりエスケープできます。
.Pp
.Ar old_string
.Ar new_string
中では通常の変数置換が行われます。ただし、ドル記号
.Pq Ql \&$
の展開を抑制するためには、通常のドル記号の前置ではなく、
バックスラッシュでエスケープします。
.It Cm T
変数中の各単語をパスの最後の要素
で置換します。
.It Ar old_string=new_string
これは
.At V
での変数置換の形式です。これは最後の修飾子として指定する必要があります。
もし、パタンマッチ文字
.Ar %
.Ar new_string
にも
.Ar old_string
にも含まれないなら、
.Ar new_string
.Ar old_string
はどちらも単語の最後にマッチするものとみなされます。すなわち、
拡張子のみか、または単語全部が置換されることになります。そうでなければ、
.Ar %
.Ar old_string
に含まれており、それは
.Ar new_string
に置換されます。
.El
.Sh ディレクティブ、条件式、FOR ループ
.Nm make
では、C 言語を彷彿させるディレクティブ、条件文、ループを使用することが
できます。これらの制御構造は、行頭に単一のドット
.Pq Ql \&.
がくることで識別されます。以下のディレクティブがサポートされています:
.Bl -tag -width Ds
.It Ic \&.include Ar <file>
.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 make
は終了コード 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 Ar target
.Op Ar operator target ...
.Xc
ターゲット
.Ar target
が作成中かどうかをテストします。
.It Ic .else
最後に行った条件文の意味を逆にします。
.It Xo
.Ic .elif
.Oo \&! Oc Ar expression
.Op Ar operator expression ...
.Xc
.Ql Ic .else
と直後の
.Ql Ic .if
を対にしたものです。
.It Xo
.Ic .elifdef
.Oo \&! Oc Ns Ar variable
.Op Ar operator variable ...
.Xc
.Ql Ic .else
と直後の
.Ql Ic .ifdef
を対にしたものです。
.It Xo
.Ic .elifndef
.Oo \&! Oc Ns Ar variable
.Op Ar operator variable ...
.Xc
.Ql Ic .else
と直後の
.Ql Ic .ifndef
を対にしたものです。
.It Xo
.Ic .elifmake
.Oo \&! Oc Ns Ar target
.Op Ar operator target ...
.Xc
.Ql Ic .else
と直後の
.Ql Ic .ifmake
を対にしたものです。
.It Xo
.Ic .elifnmake
.Oo \&! Oc Ns Ar target
.Op Ar operator target ...
.Xc
.Ql Ic .else
と直後の
.Ql Ic .ifnmake
を対にしたものです。
.It Ic .endif
条件文の本体を終了させます。
.El
.Pp
オペレータ
.Ar operator
は、以下のうちのいずれかです。
.Bl -tag -width "Cm XX"
.It Cm \&|\&|
論理 OR。
.It Cm \&&&
論理 AND。
.Ic ||
より優先順位が上です。
.El
.Pp
C 言語と同様、
.Nm make
は条件式を、式の値を決定するのに必要なところまでしか評価しません。
評価順序を変更するには括弧を使います。論理オペレータ
.Ql Ic \&!
は条件式全体の値を反転するのに使用します。
.Ql Ic \&!
.Ql Ic \&&&
より優先順位が上です。
.Pp
.Ar expression
は、以下のいずれかの形式です:
.Bl -tag -width Ic defined
.It Ic defined
引数として変数名をとり、変数が定義されていれば真となる。
.It Ic make
引数としてターゲット名をとり、そのターゲットが
.Nm make
のコマンドライン引数に指定されているか、デフォルトのターゲット
.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
オペレータを適用します。条件式が
.Ql Ic .ifdef
または
.Ql Ic .ifndef
ならば
.Dq defined
を、条件式が
.Ql Ic .ifmake
または
.Ql Ic .ifnmake
ならば
.Dq make
を、それぞれ適用します。
.Pp
条件式が真と評価されたなら、makefile の解析はそのまま続行されます。
偽と評価されたなら、
.Ql Ic .else
または
.Ql Ic .endif
が見つかるまで
makefile の解析をスキップします。
.Pp
for ループは、いくつかのルールを一連のファイルに適用するのによく
用いられます。以下がループの形式です:
.Bl -tag -width Ds
.It Xo
.Ic \&.for
.Ar variable
.Ic in
.Ar expression
.Xc
.It Xo
<make-rules>
.Xc
.It Xo
.Ic \&.endfor
.Xc
.El
.Ic expression
は評価されたあとに単語に分解され、それぞれを
.Ic variable
に代入
しながら、
.Ic make-rules
部分を繰り返し展開します。
.Sh コメント
コメントはハッシュ記号
.Pq Ql \&#
から始まり、シェルコマンド行以外のどこにでも置くことができます。
コメントは改行で終わります。
.Sh 特殊ソース
.Bl -tag -width Ic .IGNORE
.It Ic .IGNORE
本ターゲットに関連したコマンドでのエラーを無視します。シェルコマンドの
先頭にダッシュ
.Ql \-
を指定したのと等価です。
.It Ic .MAKE
たとえ、
.Fl n や
.Fl t
オプションが指定されていても、このターゲットに関連したシェルコマンドを
実行します。通常、再帰的な
.Nm make
のために用いられます。
.It Ic .NOTMAIN
通常
.Nm make
は、最初に発見したターゲットをデフォルトのターゲットとみなします。
.Ic .NOTMAIN
が指定されたターゲットはデフォルトのターゲットとはみなされなくなります。
.It Ic .OPTIONAL
もし
.Ic .OPTIONAL
が指定されたターゲットの作り方がわからなくても、エラーとはせず、
そのターゲットは必要ないか、すでに存在しているものとみなします。
.It Ic .PRECIOUS
通常
.Nm make
が中断されたときは、作成途中のターゲットは削除されます。本ソースを
指定することで、そのターゲットを削除しなくなります。
.It Ic .SILENT
指定されたターゲットに関連づけられたシェルコマンドを実行するときに
エコーを行いません。シェルコマンドの先頭に
.Ql @
を指定したのと等価です。
.It Ic .USE
指定されたターゲットをマクロ的に扱います。
.Ic .USE
をソースに持つターゲット
.Pq 以下ではマクロと呼びます
が別のターゲットのソースとなった場合、その
ターゲットはコマンド、ソース、属性(
.Ic .USE
は除く)
をマクロから受け取ります。もし、すでにターゲットにコマンドが指定されていた
場合は、マクロのコマンドが追加されます。
.It Ic .WAIT
特別な
.Ic .WAIT
ソースが依存関係行に現れた時には、ソースはその行中でソースが
作成されるまで待ちます。ループは検出されず、ループ形式のターゲットは
単に無視されます。
.El
.Sh 特殊ターゲット
特殊ターゲットは、他のターゲットとともに使用してはいけません。すなわち、
依存関係記述行の唯一のターゲットとして指定する必要があります。
.Bl -tag -width Ic .BEGIN
.It Ic .BEGIN
本ターゲットに指定されたシェルコマンドは他の処理に先立って実行されます。
.It Ic .DEFAULT
これは、作成方法がわからないどんなターゲットにも適用される
.Ic .USE
ルールのようなものです。シェルスクリプトのみを使用します。
.Ic .DEFAULT
に指定されたコマンド中の
.Ic .IMPSRC
変数はターゲット自身の名前に置換されます。
.It Ic .END
本ターゲットに指定されたシェルコマンドは、他のすべての処理の終了後に
実行されます。
.It Ic .IGNORE
指定されたソースに
.Ic .IGNORE
属性を付与します。もしソースが指定されていなければ、
.Fl i
オプションを指定したのと同じ意味になります。
.It Ic .INTERRUPT
.Nm make
が中断されたとき、本ターゲットに指定されたコマンドを実行します。
.It Ic .MAIN
ターゲットを指定せずに
.Nm make
が起動された場合、本ターゲットを処理します。
.It Ic .MAKEFLAGS
ソースにおいて、
.Nm make
に指定するフラグを指定します。フラグはシェルでタイプしたのと同様に
渡されますが、
.Fl f
オプションは無効になります。
.\" XXX: NOT YET!!!!
.\" .It Ic .NOTPARALLEL
.\" この名前のターゲットは、並列モードを使わすに実行されます。
.\" ターゲットが指定されていない時には、全てのターゲットが非並列モード
- \" で実行されます。
+.\" で実行されます。
.It Ic .NOTPARALLEL
並列モードを使いません。
.It Ic .NO_PARALLEL
上と同じですが、 pmake の変種のための互換性のためにあります。
.It Ic .ORDER
シーケンス中の名前付きターゲットが作成されます。
.\" XXX: NOT YET!!!!
.\" .It Ic .PARALLEL
.\" 名前付きターゲットが並列モードで実行されます。
.\" ターゲットが指定されない時には、全てのターゲットが並列モードで実行
.\" されます。
.It Ic .PATH
カレントディレクトリに発見できなかったときのファイルの検索パスを、
本ターゲットのソースとして指定します。ソースが指定されなかった場合、
以前に設定されていたディレクトリが無効になります。
.It Ic .PHONY
.Ic .PHONY
属性を指定したソースに適用します。この属性を持ったターゲットは
いつでも更新されていると考えられます。
.It Ic .PRECIOUS
指定されたソースに
.Ic .PRECIOUS
属性を付与します。もし、ソースが指定されなかった場合、
すべてのターゲットに
.Ic .PRECIOUS
属性を与えます。
.It Ic .SILENT
指定されたソースに
.Ic .SILENT
属性を付与します。もし、ソースが指定されなかった場合、
ファイル中のすべてのコマンドに
.Ic .SILENT
属性を与えます。
.It Ic .SUFFIXES
ソースにおいて、
.Nm make
で用いる拡張子を指定します。ソースが指定されなかった場合は、
以前の指定が無効になります。
.Sh 環境変数
.Nm make
は以下の環境変数の値を用います:
.Ev MACHINE ,
.Ev MAKE ,
.Ev MAKEFLAGS ,
.Ev MAKEOBJDIR ,
.Ev MAKEOBJDIRPREFIX ,
.Ev PWD
.Sh 関連ファイル
.Bl -tag -width /usr/share/doc/psd/12.make -compact
.It .depend
依存関係リスト
.It Makefile
依存関係リスト
.It makefile
依存関係リスト
.It sys.mk
システム定義の makefile
.It /usr/share/mk
システム定義の makefile が置かれるディレクトリ
.It /usr/share/doc/psd/12.make
PMake のチュートリアル
.El
.Sh 関連項目
.Xr mkdep 1
.Rs
.%T "PMake - A Tutorial"
.Re
.Sh 歴史
.Nm make
.At v7
において追加されました。
diff --git a/ja/man/man1/makewhatis.1 b/ja/man/man1/makewhatis.1
index 9ff87e1ae7..7e8cde95f0 100644
--- a/ja/man/man1/makewhatis.1
+++ b/ja/man/man1/makewhatis.1
@@ -1,150 +1,151 @@
.\" Copyright (c) 1994-1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: makewhatis.1,v 1.6.2.2 1996/12/22 23:05:27 mpp Exp %
+.\" %Id: makewhatis.1,v 1.12 1998/04/01 06:22:28 charnier Exp %
.\" jpman %Id: makewhatis.1,v 1.2 1997/04/01 14:15:46 horikawa Stab %
-.Dd Jan, 12, 1995
+.Dd January 12, 1995
.Dt MAKEWHATIS 1
.Os FreeBSD 2.1
.Sh 名称
.Nm makewhatis
.Nd whatis databaseを作る
.Sh 書式
.Nm makewhatis
.Op Fl a | Fl append
.Op Fl h | Fl help
.Op Fl i | Fl indent Ar column
.Op Fl n | Fl name Ar name
.Op Fl o | Fl outfile Ar file
.Op Fl v | Fl verbose
.Op Ar directories ...
.Sh 解説
.Nm
コマンドはフォーマットされていないマニュアルページから名称と短い記述を抽出し、
.Xr whatis 1
データベースを作成します。
.Nm
コマンドは gzip されたマニュアルページを読むことができます。
.Ar directory
.Pq Pa man.+ という名の
マニュアルページサブディレクトリを持つディレクトリの名前です。
コロンは空白として扱われますので、
.Ic makewhatis $MANPATH
.Ic makewhatis `manpath`
も許されます。
.Sh オプション
.Bl -tag -width Ds
.It Fl a , Fl append
追加モード。
whatis データベースに既にあるエントリは削除しません。
注: 新しくできるデータベースはソートされ、同じ項目の行は削除されますが、
.Nm
は古いエントリが有効かどうかは判定しません。
.It Fl h , Fl help
使用可能なオプションを表示し、終了します。
.It Fl i , Fl indent Ar column
解説の文字列の長さを
.Ar column にします Pq デフォルトは 24 です
.It Fl n , Fl name Ar name
.Pa whatis
の代わりに
.Ar name
を使用します。
.It Fl o , Fl outfile Ar file
.Pa dirname/whatis
の代わりに全ての出力を
.Ar file
に書き込みます。
.It Fl v, Fl verbose
多くの警告を
.Pq 標準エラー出力に対して
出力します。
パースした全てのマニュアルに対して次の 1 文字を表示します:
.Ql \&.
は圧縮されていないページ、
.Ql *
は圧縮されているページ、
.Ql +
はリンクをそれぞれ表します。
.Sh 使用例
.Pp
.Ic makewhatis $MANPATH
.Pp
ユーザの
.Pa $MANPATH
にある全てのディレクトリに対して whatis データベースを作成します。
.Pp
.Ic makewhatis -outfile /tmp/mywhatis /usr/local/man $HOME/man
.Pp
whatis データベース
.Pa /tmp/mywhatis
を作成します。
ディレクトリは
.Pa /usr/local/man
.Pa $HOME/man
を見ます。
.Pa /usr/local/man/whatis
および
.Pa $HOME/man/whatis
は作成しません。
.Pp
.Ic makewhatis -name windex $HOME/man
.Pp
.Pa whatis
の代わりに
whatis データベース
.Pa windex
を作成します。
おそらく Solaris で有効です。
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwdxx -compact
.It Pa */man/whatis
whatis データベース。
.It Pa /etc/weekly
毎週
.Nm makewhatis.local
を実行します。
.El
.Sh 関連項目
.Xr apropos 1 ,
.Xr catman 1 ,
.Xr getNAME 1 ,
.Xr man 1 ,
.Xr manpath 1 ,
.Xr sort 1 ,
.Xr uniq 1 ,
.Xr whatis 1 ,
-.Xr makewhatis.local 8 .
+.Xr makewhatis.local 8
.Sh 歴史
この
.Nm
コマンドは
.Fx 2.1
から登場しました。
.Sh 作者
-Wolfram Schneider, Berlin.
+.An Wolfram Schneider ,
+Berlin.
diff --git a/ja/man/man1/merge.1 b/ja/man/man1/merge.1
index 3a5c9f1465..2424bc47a1 100644
--- a/ja/man/man1/merge.1
+++ b/ja/man/man1/merge.1
@@ -1,147 +1,147 @@
.de Id
.\" jpman %Id: merge.1,v 1.4 1997/07/26 21:43:56 horikawa Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: merge.1,v 1.2.2.1 1998/02/16 18:22:13 jkh Exp %
+.Id %Id: merge.1,v 1.5 1997/08/23 15:50:53 steve Exp %
.ds r \&\s-1RCS\s0
.TH MERGE 1 \*(Dt GNU
.SH 名称
merge \- 3 つのファイル併合
.SH 書式
.B merge
[
.I "options"
]
.I "file1 file2 file3"
.SH 解説
.B merge
は、
.I file2
から
.I file3
への全ての変更を
.IR file1
に併合します。
結果は普通
.IR file1
に入ります。
.B merge
は、原盤に対して別々に施した変更を併合するのに便利です。
.I file2
を原盤だとし、
.I file1
.I file3
.IR file2
を変更したファイルとします。
この場合
.B merge
は、両方の変更を併合します。
.PP
.I file1
.I file3
の両方に共通の行集合の内容が異なっている時、衝突が起こります。
衝突が見付かった場合、通常
.B merge
は、警告および
.B <<<<<<<
.B >>>>>>>
とで括った衝突を表す行を出力します。
典型的な衝突は以下のようなものです。
.LP
.RS
.nf
.BI <<<<<<< " file A"
.I "lines in file A"
.B "======="
.I "lines in file B"
.BI >>>>>>> " file B"
.RE
.fi
.LP
衝突がある場合、ユーザは結果を編集して必要無い方を消去しなければ
なりません。
.SH オプション
.TP
.B \-A
.BR diff3
によって提供されていれば、
.BR diff3 (1)
.B \-A
形式をつかって衝突を出力します。
これは、
.I file2
から
.I file3
への全ての変更を
.IR file1
に併合し、もっとも冗長な出力をします。
.TP
\f3\-E\fP, \f3\-e\fP
これらのオプションは、
.BR \-A
オプションに比べて少ない情報を生成するような衝突形式を指定します。
詳細は、
.BR diff3 (1)
を見てください。
デフォルトは、
.BR \-E
です。
.BR \-e
を指定すると、
.B merge
は衝突を警告しません。
.TP
.BI \-L " label"
このオプションは、 3 回まで指定可能であり、
衝突報告中のファイル名の場所のラベルを指定します。
すなわち、
.B "merge\ \-L\ x\ \-L\ y\ \-L\ z\ a\ b\ c"
とすると、実際はファイル
.B a ,
.B b ,
.B c
からの出力ですが、
ファイル
.B x ,
.B y ,
.B z
からできたような出力が作られます。
.TP
.BI \-p
結果を
.IR file1
に上書きするのではなく、
標準出力に出力します。
.TP
.BI \-q
沈黙モード。衝突に対して警告を出しません。
.TP
.BI \-V
\*r のバージョン番号を出力します。
.SH 診断
衝突が無い場合には、 0 で終了します。
1 で終了した場合はいくつかの衝突があり、 2 は何か問題がおこったことを
あらわします。
.SH 記名
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
diff3(1), diff(1), rcsmerge(1), co(1).
.SH バグ
テキストファイルの様に、バイナリファイルを併合することは、
普通できません。
しかし、
.B merge
は何がなんでも行おうとします。
.br
diff --git a/ja/man/man1/mesg.1 b/ja/man/man1/mesg.1
index d8cf0bb439..0c57ff0ef8 100644
--- a/ja/man/man1/mesg.1
+++ b/ja/man/man1/mesg.1
@@ -1,94 +1,94 @@
.\" Copyright (c) 1987, 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.
.\"
.\" @(#)mesg.1 8.1 (Berkeley) 6/6/93
-.\" %Id: mesg.1,v 1.2.2.2 1997/07/28 06:50:32 charnier Exp %
+.\" %Id: mesg.1,v 1.6 1997/07/24 06:59:00 charnier Exp %
.\" jpman %Id: mesg.1,v 1.3 1997/05/19 16:43:45 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt MESG 1
.Os
.Sh 名称
.Nm mesg
.Nd 他ユーザからのメッセージを表示する (表示しない)
.Sh 書式
.Nm
.Op Cm n | Cm y
.Sh 解説
.Nm
ユーティリティは他ユーザからのメッセージの書き込み権限を制御します。
このメッセージはターミナルデバイスから標準エラー出力に
出力されるものです。
デフォルトでは、他ユーザからの書き込みは許可されています。
例えば
.Xr talk 1
.Xr write 1
などのプログラムを使って他ユーザの端末に
メッセージを表示できます。
.Pp
オプションは以下のとおりです。
.Bl -tag -width flag
.It Cm n
メッセージを表示しません。
.It Cm y
メッセージを表示します。
.El
.Pp
引数なしで起動された場合、
.Nm
は現在のメッセージ表示の許可・不許可についての設定を、
標準エラー出力に出力します。
.Pp
.Nm
は以下のうちのいずれかを戻り値として返します。
.Bl -tag -width flag -compact -offset indent
.Pp
.It Li "\ 0"
メッセージを表示します。
.It Li "\ 1"
メッセージを表示しません。
.It Li "\>1"
エラーが発生しました。
.El
.Sh 関連ファイル
.Bl -tag -width /dev/[pt]ty[pq]? -compact
.It Pa /dev/[pt]ty[pq]?
.El
.Sh 関連項目
.Xr biff 1 ,
.Xr talk 1 ,
.Xr write 1
.Sh 歴史
.Nm
.At v1
から登場しました。
diff --git a/ja/man/man1/minigzip.1 b/ja/man/man1/minigzip.1
index 7f5de7af4d..357671e588 100644
--- a/ja/man/man1/minigzip.1
+++ b/ja/man/man1/minigzip.1
@@ -1,69 +1,69 @@
.\" Copyright (c) 1997
.\" Michael Smith
.\"
.\" 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: minigzip.1,v 1.2.2.2 1998/01/14 14:11:16 tg Exp %
+.\" %Id: minigzip.1,v 1.2 1998/01/05 07:14:54 charnier Exp %
.\"
.Dd December 13, 1997
.Dt MINIGZIP 1
.Os
.Sh 名称
.Nm minigzip
.Nd 'gzip' 圧縮ツールの最小限度の実装
.Sh 書式
.Nm minigzip
.Op Fl d
.Op Ar file ...
.Sh 解説
.Nm
.Xr gzip 1
ユーティリティの最小限度の実装です。
標準入出力を通してのストリーム圧縮・伸長と、
個々のファイルの圧縮・伸長を提供します。
.Pp
デフォルトの操作は圧縮で、伸長は
.Fl d
フラグをコマンドラインで与えることで選択されます。
.Pp
もしも
.Ar file
引数が与えられた場合、この操作は個々のファイルに別々に適用されます。
圧縮すると、オリジナルファイルを、
.Pa .gz
サフィックスをつけたファイルと置き換えます。
伸長は
.Pa .gz
サフィックスが存在すればそれを取り除きます。
.Pp
.Ar file
引数が与えられなかった場合、
.Nm
は標準入力から読み込み、操作の結果を標準出力に書き出します。
.Sh 関連項目
.Xr gzip 1
.Sh 作者
.Nm
は、
.An Jean-loup Gailly
によって書かれました。
diff --git a/ja/man/man1/mkdir.1 b/ja/man/man1/mkdir.1
index 726f8e7ab2..12a8771850 100644
--- a/ja/man/man1/mkdir.1
+++ b/ja/man/man1/mkdir.1
@@ -1,103 +1,103 @@
.\" Copyright (c) 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mkdir.1 8.2 (Berkeley) 1/25/94
-.\" %Id: mkdir.1,v 1.3.2.3 1998/07/16 09:35:42 jkh Exp %
+.\" %Id: mkdir.1,v 1.7 1998/05/15 06:23:43 charnier Exp %
.\" jpman %Id: mkdir.1,v 1.2 1997/03/29 06:22:04 horikawa Stab %
.\"
.Dd January 25, 1994
.Dt MKDIR 1
.Os
.Sh 名称
.Nm mkdir
.Nd ディレクトリの作成
.Sh 書式
.Nm mkdir
.Op Fl p
.Op Fl m Ar mode
.Ar directory_name ...
.Sh 解説
.Nm
は、
オペランドで指定されたディレクトリを作成します。
作成する順番は指定された順番です。
作成されるディレクトリのパーミッションは、
.Li rwxrwxrwx (\&0777)
.Xr umask 2
の修正を加えたものです。
.Pp
オプションとしては以下のものがあります:
.Pp
.Bl -tag -width indent
.It Fl m Ar mode
作成されるディレクトリのパーミッションを指定します。
.Ar mode
の書式は
.Xr chmod 1
コマンドと同じです。シンボリック形式で指定する場合、
.Dq +
および
.Dq -
は、最初のパーミッションが
.Dq a=rwx
であるものとして解釈されます。
.It Fl p
必要に応じて途中のディレクトリを作成します。
このオプションが指定されていない場合には、
.Ar directory_name
で指定するパスの途中のディレクトリは既に存在している必要があります。
途中に作成されるディレクトリのパーミッションは、
.Li rwxrwxrwx (\&0777)
に現在の umask の修正を加えたものに、
所有者に対する書き込みと検索パーミッションが加わった値となります。
.El
.Pp
ユーザは親ディレクトリに対する
書き込みパーミッションを持っている必要があります。
.Pp
.Nm
は成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
.Sh 関連項目
.Xr rmdir 1
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2
互換です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/mkfifo.1 b/ja/man/man1/mkfifo.1
index 2976ac5900..492b47d97a 100644
--- a/ja/man/man1/mkfifo.1
+++ b/ja/man/man1/mkfifo.1
@@ -1,74 +1,74 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mkfifo.1 8.2 (Berkeley) 1/5/94
-.\" %Id: mkfifo.1,v 1.2.2.3 1997/09/15 09:20:46 jkh Exp %
+.\" %Id: mkfifo.1,v 1.4 1997/04/27 08:45:45 jmg Exp %
.\" jpman %Id: mkfifo.1,v 1.3 1997/09/04 16:41:11 horikawa Stab %
.\"
.Dd January 5, 1994
.Dt MKFIFO 1
.Os BSD 4.4
.Sh 名称
.Nm mkfifo
.Nd FIFO パイプをつくる
.Sh 書式
.Nm
.Ar fifo_name ...
.Sh 解説
.Nm
コマンドは、指定された名前で、指定された順にモード
.Li \&0777
の FIFO パイプをつくります。
.Pp
.Nm
コマンドには、親ディレクトリに書き込みパーミッションが必要です。
.Pp
.Nm
コマンドは、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
.Sh 標準
.Nm
コマンドは、
.St -p1003.2
準拠であると考えられています。
.Sh 関連項目
.Xr mkdir 1 ,
.Xr rm 1 ,
.Xr mkfifo 2 ,
.Xr mknod 2 ,
.Xr mknod 8
.Sh 歴史
.Nm
.Bx 4.4
から登場しました。
diff --git a/ja/man/man1/mktemp.1 b/ja/man/man1/mktemp.1
index 50b91501a3..0474f79c9b 100644
--- a/ja/man/man1/mktemp.1
+++ b/ja/man/man1/mktemp.1
@@ -1,172 +1,174 @@
-.\" %FreeBSD: src/usr.bin/mktemp/mktemp.1,v 1.1.2.1 1998/04/18 10:56:45 obrien Exp %
+.\" %FreeBSD: src/usr.bin/mktemp/mktemp.1,v 1.2 1998/05/05 06:13:47 charnier Exp %
.\" From: %OpenBSD: mktemp.1,v 1.8 1998/03/19 06:13:37 millert Exp %
.\"
.\" Copyright (c) 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd November, 20, 1996
.Dt MKTEMP 1
.Os
.Sh 名称
.Nm mktemp
.Nd (ユニークな) 一時ファイル名を作成する
.Sh 書式
.Nm mktemp
.Op Fl d
.Op Fl q
.Op Fl t Ar prefix
.Op Fl u
.Op Ar template ...
.Sh 解説
-.Nm mktemp
+.Nm
ユーティリティは、引数のファイル名テンプレートの一つ一つに対して、
その一部を上書きすることにより、ファイル名を生成します。
このファイル名はユニークであり、アプリケーションが使用するのに適しています。
テンプレートは、いくつかの
.Ql X
が後続する任意のファイル名であり、例えば
.Pa /tmp/temp.XXXX
です。
後続する
.Ql X
は、現在のプロセス番号やユニークな文字の組み合わせと置き換えられます。
.Nm
が返すことが可能なユニークなファイル名の数は、指定した
.Ql X
の数に依存します;
.Ql X
を 6 つ指定した場合には、およそ 26 ** 6 の組み合わせを
.Nm
が扱えることとなります。
.Pp
.Nm
がユニークなファイル名を生成することに成功した場合、
ファイルがモード 0600 (
.Fl u
フラグ未指定時) で作成され、ファイル名が標準出力に出力されます。
.Pp
.Fl t Ar prefix
オプション指定時には、
.Nm
はテンプレート文字列を
.Ar prefix
と、
.Ev TMPDIR
環境変数が設定されていればそれも用いて生成します。
.Ev TMPDIR
が設定されていない場合の、デフォルトの場所は
.Pa /tmp
です。ユーザが指定したかもしれない環境変数の使用が適切であると保証
できるかどうかに注意を払ってください。
.Pp
1 回の起動でいくつでも一時ファイルを作ってかまいません。これには、
.Fl t
フラグの結果の内部テンプレートをもとにするものひとつも含まれます。
.Pp
-.Nm mktemp
+.Nm
は、シェルスクリプトが安全に一時ファイルを使用するために提供されています。
伝統的に多くのシェルスクリプトが、
プログラム名に pid を付けた名前を一時ファイル名として使用しています。
この種の命名法は予測されうるので、
レース状態となった場合に容易に攻撃者が勝ってしまいます。
より安全、しかしながらまだ劣ったアプローチとして、
同じ命名法でディレクトリを作るというものがあります。
この方法では一時ファイルが壊されないことを保証できますが、
単純なサービス停止攻撃を許してしまいます。
上記のような理由により、
.Nm
の使用をお勧めします。
.Sh オプション
-.Bl -tag -width indent
使用可能なオプションを以下に示します:
+.Bl -tag -width indent
.It Fl d
ファイルではなくディレクトリを作成します。
.It Fl q
エラーが発生した場合、黙って失敗します。
エラー出力が標準エラーに出力されることが望ましくないスクリプトで有用です。
.It Fl t Ar prefix
ファイル名テンプレートを生成するために必要なテンプレートを生成します
(与えられた
.Ar prefix
と、設定されている場合には
.Ev TMPDIR
を使用します)。
.It Fl u
.Dq 安全ではない
モードで操作します。一時ファイルは
.Nm
が終了する前にアンリンクされます。これは
-.Fn mktemp 3
+.Xr mktemp 3
よりは少しましですが、依然レース状態を引き起こします。
このオプションの使用はお勧めしません。
.El
.Sh 戻り値
.Nm
ユーティリティは、成功時には値 0 で終了します。
いかなる失敗時にも値 1 で終了します。
.Sh 使用例
以下の
.Xr sh 1
スクリプトの一部で、
.Nm
の簡単な使用方法を説明します。
このスクリプトは、安全な一時ファイルを取得できない場合には終了します。
.Bd -literal -offset indent
TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1
echo "program output" >> $TMPFILE
.Ed
.Pp
$TMPDIR を使用する場合には次のようにします:
.Bd -literal -offset indent
TMPFILE=`mktemp -t $0` || exit 1
echo "program output" >> $TMPFILE
.Ed
.Pp
次の場合、スクリプト自身でエラーをつかまえます。
.Bd -literal -offset indent
TMPFILE=`mktemp -q /tmp/$0.XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file, exiting..."
exit 1
fi
.Ed
.Sh 関連項目
.Xr mktemp 3 ,
.Xr mkdtemp 3 ,
.Xr mkstemp 3 ,
.Xr environ 7
.Sh 歴史
.Nm
ユーティリティは
.Ox 2.1
に登場しました。この実装はマニュアルページとは独立に記述されました。
-このマニュアルページは OpenBSD 由来です。
+このマニュアルページは
+.Bx Open
+由来です。
.\" Our stupid .Ox macro won't allow me to use .Ox alone.
diff --git a/ja/man/man1/more.1 b/ja/man/man1/more.1
index 78dd9d7374..f86a591ae9 100644
--- a/ja/man/man1/more.1
+++ b/ja/man/man1/more.1
@@ -1,309 +1,308 @@
.\" Copyright (c) 1988, 1990 The Regents of the University of California.
.\" Copyright (c) 1988 Mark Nudleman
.\" 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: @(#)more.1 5.15 (Berkeley) 7/29/91
.\" jpman %Id: more.1,v 1.4 1997/08/11 14:30:57 horikawa Stab %
.\" %Id: more.1,v 1.5 1994/01/11 18:22:48 jtc Exp %
.\"
.Dd April 18, 1994
.Dt MORE 1
.Os
.Sh 名称
.Nm more
.Nd CRT 上でファイルをページ単位に閲覧する
.Sh 書式
.Nm
-.Op Fl ceinus
+.Op Fl ceinsu
.Op Fl t Ar tag
.Op Fl x Ar tabs
.Op Fl / Ar pattern
-.Op Fl #
.Op Ar
.Sh 解説
.Nm
は、画面上に一度に表示できる量の行数を 1 ページの行数とみなし、
.Ar file
が指定されていれば
そのファイルを、指定されていないか ``-'' の場合は、標準入力 (標準入力が
端末の場合は、何もせずに終了します) を読み込んで、1 ページ分表示する毎に
キー入力を待つようにします。
.Pp
さまざまな端末に対応するため、
.Xr termcap 3
を使用します。また、制限はありますが、ハードコピー形式の端末も
サポートしています。ハードコピー端末では、画面の上端に対応する位置に
``^'' が印刷されます。
.Sh オプション
オプションとしては以下のものがあります。なお、これらのオプションは、
あらかじめ環境変数
.Ev MORE
で指定しておくことができます(``-'' をつけること)。
コマンドラインオプションでオーバーライドします。
.Bl -tag -width flag
.It Fl c
通常、
.Nm
は次のページを表示する時、現在表示されている画面を 1 行づつ
スクロールしていって新しいページを表示していきますが、
このオプションを指定した場合、画面の上端から書き替えます。
.It Fl e
通常
.Nm
は、ファイルの最後に達し次に表示すべきファイルがない
場合には終了しますが、このオプションを指定した場合にはファイルの最後に
達した時点でキー入力待ちになります。このオプションは、最後まで見た後、
前のページに遡って見たい場合に便利です。
.\"ただし、元々ファイルが小さく、最初の 1 ページに納まっている場合は、
.\"すぐ終了します。
.\"(訳中)原文で内容が削られていますが、とりあえずコメントで残します。
.\" 2.2.1R 対象(1997/05/06) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
.It Fl i
サーチするとき、大文字と小文字を区別しないようにします。
.It Fl n
行番号の処理をしないようにします。デフォルトで、
.Xr more
は、
.Cm =
コマンドを使用した行情報の表示や、
.Cm v
コマンドでエディタを起動して現在見ている行にジャンプさせるために、
行番号を内部で管理しています。しかし、この処理のために動作が
遅くなっており、これは、大きなファイルを扱う場合、特に顕著です。
このオプションを指定して行番号を使用しないことを
明示すれば、速度の低下を回避することができます。
.It Fl s
複数の空行が連続している場合、空行を 1 行にします。
.It Fl t Ar tag
タグ情報を含むファイル ``tags'' から、tag で指定されたエントリを検索し、
対応するファイルの指定位置から表示を開始します。
タグファイル ``tags'' については、
.Xr ctags 1
を参照してください。
.It Fl u
デフォルトでは、
.Nm
.Dv BS
.Dv CR-LF
などのシーケンスを特別に処理します。
.Dv BS
とアンダースコア文字があった場合は、文字にアンダーラインをつけて
表示しますし、2 つの同じ文字の間にBSがあったら、強調表示にします。
.Dv CR-LF
は、1 つの改行にします。
このオプションは、これらの処理をやめ、
.Dv BS
は ``^H'' に、
.Dv CR-LF
は ``^M'' と改行にします。
.It Fl x
タブ幅を
.Ar N
文字にします。デフォルトでは 8 です。
.It Fl /
.Ar pattern
で指定した検索を実行し、見つかった位置から表示します。
.El
.Pp
.Sh コマンド
.Nm
は、1 ページ表示する毎に、キーボードから各種のコマンドを受け付けます。
コマンドは、
.Xr vi 1
のコマンド体系をベースにしたものです。
以下の説明で、``^''は``Control''キーを押しながら入力するキーの意味です。
また、コマンドのキーを押す前に数字を入力することで、そのコマンドに
対する引数を与えることができます。これは、説明のなかで``N''として
記述しています。
.Bl -tag -width Ic
.It Ic h
コマンドのヘルプを表示します。もし他の全てのコマンドを忘れても、
このコマンドは覚えておいてください。
.It Xo
.Ic q
.No or
.Ic \&:q
.No or
.Ic ZZ
.Xc
.Nm
を終了します。
.It Xo
.Ic SPACE
.No or
.Ic f
.No or
.Ic \&^F
.Xc
引数を指定しなかった場合は、1 ページ分スクロールします。
引数を指定した場合は、N 行分スクロールします。
.It Ic b No or Ic \&^B
テキストを 1 ページ分前にスクロールします(-zオプション参照)。
引数を指定した場合は、N 行分前にスクロールします。
.It Ic j No or Ic RETURN
1 行だけスクロールします。引数を指定した場合は、
N 行分スクロールします。
.It Ic k
1 行だけ前に戻るようにスクロールします。引数を指定
した場合は、N行分戻ります。
.It Ic d No or Ic \&^D
画面の半分の行数を単位としてスクロールします。引数を
指定した場合は N 行分スクロールします。指定後は、この ``d'' コマンド
および次の ``u'' コマンドでは、引数を指定しないでも半画面ではなく、
ここで指定した N 行単位でスクロールするようになります。
.It Ic u No or Ic \&^U
画面の半分の行数を単位として前の画面にスクロールします。
引数を指定した場合は、N 行分スクロールし、以後、N 行単位で
スクロールするようになります。
.It Ic g
ファイルの N 行目から表示します。引数を指定しなかった場合は、
ファイル先頭から表示します。
.It Ic G
ファイルの N 行目から表示します。引数を指定しなかった場合は、
ファイルの最後から表示します。
.It Ic p No or Ic \&%
ファイルの N パーセント目から表示します。 N は 0 から 100 までです。
file で指定したファイルの場合では、標準入力を読み込んで
表示するようにしている場合は、ファイルエンドに達してからでないと、
このコマンドは使用できません。
これは速いのですが、いつも有効とは限りません。
.It Ic r No or Ic \&^L
画面を表示し直します。
.It Ic R
バッファに入っている入力を捨て、再読み込みして同じ行番号に当たる所から
画面を表示し直します。これは、表示を見ている間にファイルが
変更されたような場合に有効です。
.It Ic m
行マークをするコマンドです。``m'' を押すと、画
面下に ``mark: '' と表示されるので、a から z までの英小文字を使ってマークの
指定をすることができます。これで、現在の表示行がその文字にマーク
されます。次の `` ' '' コマンドによって、ここでマークした行に
ジャンプさせることができます。
.It Ic \&'
m コマンドでマークした行にジャンプするコマンドで
す。画面下に ``goto mark: '' と表示されますので、m コマンドで
マークした a から z までの英小文字を入力すれば、
その行にジャンプできます。
なお、a から z のかわりに再度 `` ' '' を
入力すると、その前に大きく移動した位置に戻ります。この場合の大きな移動とは、
`` ' ''コマンドによる移動や、``g'' コマンドでのファイル先頭に移動することを
指します。
このあと、`` '' ''と入力すると、移動前の位置に戻ることができます。
全てのマークは、新しいファイルを読み込んだ時に失われます。
.It Ic \&/ Ns Ar pattern
現在行 (画面の一番上に表示されている行) の次の
行からファイルの末端に向かって、pattern で指定した検索を実行し、
一致した行から表示します。引数が指定された場合は、検索を繰り返し
実行し、N回目に一致した行からの表示になります。pattern には、
.Xr re_format 7
で解説されているPOSIX.2
.Dq extended format
正規表現が使用できます。
.It Ic \&? Ns Ar pattern
現在行 (画面の一番上に表示されている行) の直前から
ファイルの先頭に向かって、
.Ar pattern
で指定した検索を実行します。
.It Ic \&/\&! Ns Ar pattern
.Ar pattern
に一致しない行を検索する以外は ``/'' と同じです。
.It Ic \&?\&! Ns Ar pattern
.Ar pattern
に一致しない行を検索する以外は ``?'' と同じです。
.It Ic n
直前に実行した検索コマンドを再実行します。
.It Ic E Ns Op Ar filename
コマンドラインのファイルリストの中から現在表示しているファイル
(N,Pコマンド参照)にかわって、
filename で指定したファイルを表示対象にします。
ファイルが見つからない場合は、現在のファイルを再度表示します。
ファイル名が"#"なら、一つ前に読み込んだファイルを再度表示します。
.It Ic N No or Ic \&:n
コマンドラインから file として複数のファイルを指
定して起動した場合に、現在表示しているファイルの次のファイルに表示を
切り替えます。引数を指定した場合は、N 個先のファイルになります。
.It Ic P No or Ic \&:p
コマンドラインから file として複数のファイルを指
定して起動した場合に、現在表示しているファイルの 1 つ前のファイルに
表示を切り替えます。引数を指定した場合は、N 個前のファイルになります。
.It Ic \&:t
タグエントリの入力をします。
``:t'' を押すと、画面下に ``Tag: '' と表示されるので、新しいタグエントリの
入力をします。
対応するタグエントリが見つからなかった場合は、その旨を表示して、
前のファイルを表示します。
.It Ic v
現在表示しているファイルを編集対象にして、エディタを起動します。
エディタはデフォルトでは
.Xr vi 1
が起動されるようになっていますが、
環境変数
.Ev EDITOR
が指定されていた場合には、そこで指定したエディタが起動されます。
.It Ic \&= No or Ic \&^G
現在表示しているファイルについて、画面の最下行がファイル全体の
何行目にあたるか、また、ファイルの総バイト数に対する現在行の
バイト数とそのパーセンテージを表示します。
.Nm
が標準入力から読み込んでいるか、ファイルが一画面より短い場合は、
いくつかの情報は有効ではありません。これらの情報は、画面の最下行の最初の
1 バイトによって得られる事を覚えておいてください。
.El
.Sh 環境変数
.Bl -tag -width Fl
.It Ev MORE
コマンドラインで指定するかわりに、あらかじめよく使うオプションを
設定しておくことができます。
.It Ev EDITOR
起動するエディタを指定します。
.It Ev SHELL
起動するシェルを指定します。通常、この変数はログイン時
にシェルが自分でセットします。
.It Ev TERM
端末のタイプを指定します。
.El
.Sh 関連項目
.Xr ctags 1 ,
.Xr vi 1
.Sh バグ
CRLF が改行符号である普通のファイルをアクセスする時、
- -u フラグ無しでは正しくない出力が結果として得られます。
+-u フラグ無しでは正しくない出力が結果として得られます。
.Sh 作者
このソフトウェアは
.An Mark Nudleman
によって Berkeley に寄贈されました。
.Sh 歴史
.Nm
コマンドは
.Bx 3.0
から登場しました。
diff --git a/ja/man/man1/mv.1 b/ja/man/man1/mv.1
index 1d32c5d790..6ed941e090 100644
--- a/ja/man/man1/mv.1
+++ b/ja/man/man1/mv.1
@@ -1,150 +1,150 @@
.\" %NetBSD: mv.1,v 1.8 1995/03/21 09:06:51 cgd Exp %
.\"
.\" Copyright (c) 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mv.1 8.1 (Berkeley) 5/31/93
-.\" %Id: mv.1,v 1.7.2.2 1998/07/16 09:35:42 jkh Exp %
+.\" %Id: mv.1,v 1.11 1998/05/15 06:25:16 charnier Exp %
.\" jpman %Id: mv.1,v 1.2 1997/03/29 06:23:50 horikawa Stab %
.\"
.Dd May 31, 1993
.Dt MV 1
.Os
.Sh 名称
.Nm mv
.Nd ファイルの移動
.Sh 書式
.Nm mv
.Op Fl fi
.Ar source target
.Nm mv
.Op Fl fi
.Ar source ... directory
.Sh 解説
1 番目の書式の場合、
.Nm
ユーティリティは
.Ar source
オペランドで指定される名前のファイルの名前を、
.Ar target
オペランドで指定される名前のデスティネーションパスに変更します。
最後に指定されるオペランドが既に存在するディレクトリの名前ではない場合に
この書式であるとされます。
.Pp
2 番目の書式の場合、各々の
.Ar source
オペランドで指定される名前のファイルを、
.Ar directory
オペランドで指定される名前で既に存在するディレクトリの中の
デスティネーションファイルに移動します。
各々のオペランドに対応するデスティネーションパスは、
``最後のオペランド''と``スラッシュ''と``ファイルのパス名の最後の部分''
の結合によって生成されるパス名です。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width flag
.It Fl f
デスティネーションパスを上書きする前に、
書き込みパーミッションがあるなしにかかわらず、確認せず実行します。
(
.Fl f
オプションが指定されると、それ以前の
.Fl i
オプションは無視されます。)
.It Fl i
すでに移動先に同名のファイルが存在する場合、実行してよいかどうか確認を
標準エラー出力を使用して
求めます。標準入力から
.Sq Li y
または
.Sq Li Y
で始まる文字列が入力されると、実行されます。
(
.Fl i
オプションが指定されると、それ以前の
.Fl f
オプションは無視されます。)
.El
.Pp
.Ar source
オペランドとデスティネーションパスがともにディレクトリである場合を除き、
オペランドもしくはデスティネーションパスに
ディレクトリを指定することは誤りです。
.Pp
デスティネーションパスが書き込み許可をしていない場合、
.Nm
は、
.Fl i
オプションと同じように、
ユーザの確認を求めます。
.Pp
.Nm
は、通常、システムコール
.Xr rename 2
を使ってファイルの移動をします。しかし、
.Xr rename 2
は、ファイルシステムを越えてファイルを移動することがで
きません。このため、
.Ar source
.Ar target
が違うファイルシステム上の場合、
.Nm
は、
.Xr cp 1
.Xr rm 1
を使って移動を行います。これは、次の結果と等価です。
.Bd -literal -offset indent
rm -f destination_path && \e
\tcp -pRP source_file destination && \e
\trm -rf source_file
.Ed
.Pp
.mv
ユーティリティは成功時には 0 を、エラー時には >0 を返し、終了します。
.Sh 関連項目
.Xr cp 1 ,
.Xr rm 1 ,
.Xr symlink 7
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2
互換です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/ncal.1 b/ja/man/man1/ncal.1
index 715994727e..4a9f4d492d 100644
--- a/ja/man/man1/ncal.1
+++ b/ja/man/man1/ncal.1
@@ -1,119 +1,119 @@
.\" Copyright (c) 1997 Wolfgang Helbig
.\" 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: ncal.1,v 1.5.2.3 1998/07/17 04:20:14 jkh Exp %
+.\" %Id: ncal.1,v 1.7 1998/04/26 06:21:29 phk Exp %
.\" jpman %Id: cal.1,v 1.2 1997/05/17 15:48:43 horikawa Stab %
.\".
.Dd December 16, 1997
.Dt CAL 1
.Os
.Sh 名称
.Nm cal ,
.Nm ncal
.Nd カレンダおよびイースターの日付を表示する
.Sh 書式
.Nm cal
.Op Fl jy
.Op Oo Ar month Oc Ar \ year
.Nm ncal
.Op Fl jJpwy
.Op Fl s Ar country_code
.Op Oo Ar month Oc Ar \ year
.Nm ncal
.Op Fl Jeo
.Op Ar year
.Sh 解説
.Nm cal
は簡単なカレンダを表示します。
また
.Nm ncal
は別のフォーマット、追加のオプション、イースターの日付も提供します。
新しいフォーマットは込み入っていますが、
25x80 文字の端末で一年が表示できます。
引数が指定されなかった場合は今月のものを表示します。
.Pp
オプションには以下のものがあります:
.Bl -tag -width indent
.It Fl J
ユリウス暦でカレンダーを表示します。
.Fl e
オプションと共に使用すると、ユリウス暦でのイースターを表示します。
.It Fl e
イースターの日付を表示します (西方教会)。
.It Fl j
ユリウス日で表示します。(1 月 1 日を第 1 日とする通日です)
(訳注:天文学での定義とは異なります。[Mar.1996])
.It Fl o
東方正教会のイースターの日付を表示します (ギリシャおよびロシアの東方正教会)。
.It Fl p
カントリーコードと、ユリウス暦からグレゴリオ暦へ移行したと
.Nm ncal
が見なす日付を表示します。
ローカル環境で定義されるカントリーコードにはアスタリスクが表示されます。
.It Fl s Ar country_code
ユリウス暦からグレゴリオ暦へ移行した日付を
.Ar country_code
に基づくものとします。
指定しない場合には、
.Nm ncal
はローカル環境に基づき推定しますが、
推定に失敗した場合は、1752 年 9 月 2 日であるとします。
この日付は、英国およびその植民地がグレゴリオ暦に移行した日付です。
.It Fl w
週のカラムの下に週の番号を表示します。
.It Fl y
今年のカレンダを表示します。
.El
.Pp
パラメータが 1 つの時は西暦年 (1 - 9999) を指定したものとして、
その年のカレンダを表示します。
年は完全な形で指定して下さい。例えば
.Dq Li cal 89
では 1989 年のカレンダを表示
.Em しません
。パラメータが 2 つの時は月 (1 - 12) と年を指定します。
.Pp
一年は 1 月 1 日から始まります。
.Pp
.Sh 関連項目
.Xr calendar 3 ,
.Xr strftime 3
.Rs
.Sh 歴史
.Nm cal
コマンドは
.At v6
から登場しました。
.Nm ncal
.Fx 2.2.6
に登場しました。
.Sh 作者
.Nm ncal
コマンドとマニュアルは
.An Wolfgang Helbig Aq helbig@FreeBSD.ORG
が作成しました。
.Sh バグ
ユリウス暦からグレゴリオ暦に移行した日付とカントリーコードの対応は、
多くの国にについて不適当です。
diff --git a/ja/man/man1/netstat.1 b/ja/man/man1/netstat.1
index 57bf51afeb..f34b063a32 100644
--- a/ja/man/man1/netstat.1
+++ b/ja/man/man1/netstat.1
@@ -1,305 +1,305 @@
.\" Copyright (c) 1983, 1990, 1992, 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: @(#)netstat.1 8.8 (Berkeley) 4/18/94
.\" jpman %Id: netstat.1,v 1.4 1997/10/11 07:45:56 horikawa Stab %
.\" %Id: netstat.1,v 1.6.2.1 1994/08/06 06:32:37 mycroft Exp %
.\"
.Dd April 18, 1994
.Dt NETSTAT 1
.Os BSD 4.2
.Sh 名称
.Nm netstat
.Nd ネットワークの状態を表示する
.Sh 書式
.Nm netstat
.Op Fl Aan
.Op Fl f Ar address_family
.Op Fl M Ar core
.Op Fl N Ar system
.Nm netstat
.Op Fl bdghimnrs
.Op Fl f Ar address_family
.Op Fl M Ar core
.Op Fl N Ar system
.Nm netstat
.Op Fl bdn
.Op Fl I Ar interface
.Op Fl M Ar core
.Op Fl N Ar system
.Op Fl w Ar wait
.Nm netstat
.Op Fl p Ar protocol
.Op Fl M Ar core
.Op Fl N Ar system
.Sh 解説
.Nm netstat
コマンドは、ネットワークに関連したさまざまな情報を、シンボル表示を
交えてわかりやすく表示します。
出力の形式は指定オプションによって何種類かにわかれます。
第1の形式は、プロトコルごとのアクティブソケットの一覧です。
第2の形式は、選択したオプションによる、他のネットワークのデータ構造です。
第3の形式は、コンフィギュレーションされているネットワークインタフェースの
パケットトラフィックを
.Ar wait
で指定したインターバル毎に継続して表示します。
第4の形式は、指定したプロトコルに関する統計情報を表示します。
.Pp
本コマンドでは、以下のオプションを指定可能です。
.Bl -tag -width flag
.It Fl A
デフォルトの表示では、ソケットと関係したすべてのプロトコル制御ブロックの
アドレスが表示されます。通常これらはデバッグに用いられます。
.It Fl a
デフォルトの表示では、すべてのソケットの状態が表示されます。通常
は、サーバプロセスで利用されているソケットは表示されません。
.It Fl b
本オプションをネットワークインタフェース表示
(後述の
.Fl i
オプション)と併用した場合には、入力、出力したバイト数を表示します。
.It Fl d
本オプションをネットワークインタフェース表示(
.Fl i
オプション、もしくは後述のインターバルオプション)
と併用した場合には、欠落したパケット数を併せて表示します。
.It Fl f Ar address_family
表示する統計情報あるいはアドレス制御ブロック情報を
.Ar address family
の指定に合致するアドレスファミリのものに限定します。
アドレスファミリについては、
.Ar inet
.Dv AF_INET
(インターネットプロトコルファミリ)として、
.Ar ipx
.Dv AF_IPX
として、
.Ar atalk
.Dv AF_APPLETALK (ddp)
(アップルトークプロトコル)として、
.\".Ar ns
.\"が
.\".Dv AF_NS
.\"(XEROX NSプロトコルファミリ)として、
.\".Ar iso
.\"が
.\".Dv AF_ISO
.\"(ISOプロトコルファミリ)として、そして
.Ar unix
.Dv AF_UNIX
(UNIXドメインプロトコルファミリ)として解釈されます。
.It Fl g
マルチキャスト(グループアドレス)ルーティングに関連した情報を表示します。
デフォルトでは、IPマルチキャスト仮想インタフェースおよびルーティング
テーブルについて表示します。
.Fl s
オプションが同時に指定された場合、マルチキャストルーティングについての
統計情報も表示します。
.It Fl h
.Tn IMP
ホストテーブルの状態を表示します(時代遅れ)。
.It Fl I Ar interface
指定したインタフェースについての情報を表示します。本オプションは、
インターバルオプション
.Ar wait
と同時に指定し
て使われます。このインターバルオプションについての詳細は後述します。
.It Fl i
自動コンフィギュレーションされているネットワークインタフェースの状態
を表示します(静的にシステムにコンフィギュレーションされているインタ
フェースについて表示しますが、ブート時にコンフィギュレーションされて
いないものについては表示しません)。
.Fl a
オプションが同時に指定されている場合には、各イーサネットインタフェース
および各IPインタフェースアドレス
について、現在使用されているマルチキャストアドレスが表示
されます。マルチキャストアドレスは、
各々対応するインタフェースアドレスに続いて表示
されます。
.It Fl M
デフォルトで使用される
.Pa /dev/kmem
の代わりに指定した core から、ネームリストに関連する各値を
取り出します。
.It Fl m
メモリ管理ルーチンによって記録されているメモリ使用の統計情報を表
示します。
(ネットワーク管理システムは、独自にメモリバッファを確保しています)。
.It Fl N
.Pa /kernel
のかわりに、指定したカーネルモジュールからネームリストを取り出します。
.It Fl n
ネットワークアドレスを数字で表示します(通常、
.Nm netstat
コマンドは、IPアドレスを可能な限りホスト名などのシンボリックなものに置
き換えようとします)。
本オプションは、どのような表示形式の場合にも使用できます。
.It Fl p Ar protocol
.Ar protocol
で指定したプロトコルについての統計情報を表示します。
プロトコルとしては、よく知られている名称、もしくは別名定義されている名称
を指定します。プロトコルのいくつかは
.Pa /etc/protocols
の中で定義されています。
プロトコルについて情報が表示されない場合は、通常、
報告すべき有意な数値がないことを意味します。
.Ar protocol
で指定したプロトコルが未知のものである場合、もしくはそのプロトコルの統
計情報記録ルーチンがない場合には、プログラムはその旨メッセージを出しま
す。
.It Fl s
プロトコルごとの統計情報を表示します。
このオプションが複数指定された場合、カウンタの値がゼロのものは
表示が抑制されます。
.It Fl r
ルーティングテーブルを表示します。
.Fl s
オプションが同時に指定された場合には、ルーティングの統計情報について
表示します。
.It Fl w Ar wait
ネットワークインタフェースの統計情報について、
.Ar wait
で指定した秒ごとに定期的に表示します。
.El
.Pp
デフォルトのアクティブソケット表示では、ローカルおよびリモートアドレス、送
受信キューのサイズ(バイト単位)、プロトコル、そしてプロトコルの内部状態が
それぞれ表示されます。
アドレス形式については、``host.port''もしくは、ソケットのアドレスが
ネットワーク単位でしか特定できない場合には``network.port''という形式が採用
されます。
ホストもしくはネットワークアドレスがデータベース
.Pa /etc/hosts
.Pa /etc/networks
の内容にしたがって変換可能である場合、各アドレスは名前で
表示されます。このような変換が不可能な場合、もしくは
.Fl n
オプションが指定された場合には、アドレスはアドレスファミリに従って
数値で表示されます。
インターネットアドレスの形式についてさらに知りたい場合には、
.Xr inet 3
を参照して下さい。
特にアドレスが指定されてない場合や、アドレスがワイルドカード
指定されている場合には、その部分のアドレスやポート番号のところには
``*'' が表示されます。
.Pp
インタフェース表示では、パケット転送、エラー、コリジョンに関する
累積情報を見ることができます。また、インタフェースの
ネットワークアドレスおよび最大転送可能ユニットサイズ(``mtu'')も
見ることができます。
.Pp
ルーティングテーブル表示では、利用可能な経路とその状態が表示
されます。各経路は、到達先ホストもしくはネットワークと、
パケットの転送(forward)に使用されるゲートウェイから成ります。
フラグフィールドは、
ルーティングに関する状態の集合が表示されます。フラグフィールドの
各フラグについては、
.Xr route 8
および
.Xr route 4
を参照して下さい。
表示される文字とフラグの間の対応は以下の通りです。
.Bl -column XXXX RTF_BLACKHOLE
-1 RTF_PROTO2 ルーティングフラグ#1にて特定されるプロトコル
-2 RTF_PROTO1 ルーティングフラグ#2にて特定されるプロトコル
+1 RTF_PROTO1 ルーティングフラグ#1にて特定されるプロトコル
+2 RTF_PROTO2 ルーティングフラグ#2にて特定されるプロトコル
3 RTF_PROTO3 ルーティングフラグ#3にて特定されるプロトコル
B RTF_BLACKHOLE 破棄されるパケット
b RTF_BROADCAST ブロードキャストアドレスを表現する経路
C RTF_CLONING 新しい経路を生成する
c RTF_PRCLONING 使用時に、プロトコル専用の新しい経路を生成する
D RTF_DYNAMIC (リダイレクトによって)動的に生成される
G RTF_GATEWAY ゲートウェイ等による中継を必要としている到達先
H RTF_HOST ホストエントリ(これ以外はネットワーク)
L RTF_LLINFO アドレス変換を連動させられる正当なアドレス
M RTF_MODIFIED (リダイレクトによって)動的に変更される
R RTF_REJECT 到達不可能なホストもしくはネットワーク
S RTF_STATIC 手動で追加された
U RTF_UP 使用可能経路
W RTF_WASCLONED クローンした結果として作成された経路
X RTF_XRESOLVE 外部のdaemonがプロトコルからリンクアドレス変換を行なう
.El
.Pp
直接到達可能な経路は、ローカルホストにアタッチされた各インタフェースごとに
生成されます。このようなエントリのゲートウェイフィールドは、
対外インタフェースのアドレスを表します。
refcntフィールドは、使用されている経路の現在数を示します。
コネクション指向のプロトコルは、通常、コネクションの間じゅう
単一の経路を保持します。
他方で、コネクションレス型のプロトコルは、同じ到達先に対して
パケットを送る場合にも、新たに経路を確保します。
useフィールドは、その経路を通って送られたパケット数を表示します。
インタフェースエントリは、その経路用に用いられる
ネットワークインタフェースを表示します。
.Pp
.Nm netstat
.Fl w
オプションと
.Ar wait
インターバル引数を与えられて起動された場合、ネットワークインタフェースに
関連した統計情報を定期的に表示します。
ほとんど使われませんが、オプション指定なしで数字だけをnetstatの引数と
して指定することもでき、本オプションと同様の動作をさせることができます。
しかし、この使い方は過去との互換性のためにのみ存在します。
デフォルトでは、本表示は
すべてのインタフェースについてのサマリ情報からなります。
.Fl I
オプションを用いることで、特定の
インタフェースの情報を表示させることが可能です。
.Sh 関連項目
.Xr nfsstat 1 ,
.Xr ps 1 ,
.Xr hosts 5 ,
.Xr networks 5 ,
.Xr protocols 5 ,
.Xr services 5 ,
.Xr iostat 8 ,
.Xr trpt 8 ,
.Xr vmstat 8
.Sh 歴史
.Nm netstat
コマンドは、
.Bx 4.2
にはじめて登場しました。
.\" .Sh 関連ファイル
.\" .Bl -tag -width /dev/kmem -compact
.\" .It Pa /netbsd
.\" default kernel namelist
.\" .It Pa /dev/kmem
.\" default memory file
.\" .El
.Sh バグ
エラーの概念については、定義が間違っています。
diff --git a/ja/man/man1/newaliases.1 b/ja/man/man1/newaliases.1
index 9710e662b4..b173312037 100644
--- a/ja/man/man1/newaliases.1
+++ b/ja/man/man1/newaliases.1
@@ -1,75 +1,53 @@
-.\" Copyright (c) 1983, 1997 Eric P. Allman
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1985, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" 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.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)newaliases.1 8.5 (Berkeley) 2/1/97
+.\" @(#)newaliases.1 8.10 (Berkeley) 5/19/98
.\" jpman %Id: newaliases.1,v 1.2 1997/05/07 02:31:13 mutoh Stab %
.\"
-.Dd February 1, 1997
+.Dd May 19, 1998
.Dt NEWALIASES 1
.Os BSD 4
.Sh 名称
.Nm newaliases
.Nd メールエイリアスのデータベースを再構築する
.Pp
.Sh 書式
.Nm newaliases
.Sh 解説
.Nm newaliases
は、
.Pa /etc/aliases
ファイルに記述されているメール
エイリアスのデータベースを再構築します。
.Pa /etc/aliases
の内容を変更したときには、その内容を反映させるために、
このコマンドを実行しなければなりません。
.Pp
.Nm newaliases
は、
.Dq Li sendmail \-bi
とまったく同じです。
.Sh 戻り値
.Nm newaliases
は、成功すると 0 を、エラーが起きた場合は 0 より大きな値を
返します。
.Sh 関連ファイル
.Bl -tag -width /etc/aliases -compact
.It Pa /etc/aliases
メールエイリアスファイル
.El
.Sh 関連項目
.Xr aliases 5 ,
.Xr sendmail 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja/man/man1/nfsstat.1 b/ja/man/man1/nfsstat.1
index 839d4261ef..d0e6b362a3 100644
--- a/ja/man/man1/nfsstat.1
+++ b/ja/man/man1/nfsstat.1
@@ -1,100 +1,100 @@
.\" 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: @(#)nfsstat.1 8.1 (Berkeley) 6/6/93
-.\" %Id: nfsstat.1,v 1.4.2.2 1997/09/15 09:20:54 jkh Exp %
+.\" %Id: nfsstat.1,v 1.7 1997/04/27 08:45:45 jmg Exp %
.\" jpman %Id: nfsstat.1,v 1.3 1997/05/19 16:46:42 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt NFSSTAT 1
.Os BSD 4.4
.Sh 名称
.Nm nfsstat
.Tn NFS
に関する統計を
.Nd 表示する
.Pp
.Sh 書式
.Nm
.Op Fl M Ar core
.Op Fl N Ar system
.Op Fl w Ar wait
.Pp
.Sh 解説
.Nm
コマンドは、
.Tn NFS
クライアントと
.Tn NFS
サーバの実行状況に関して、持っている
統計を表示します。
.Pp
オプション:
.Bl -tag -width Ds
.It Fl M Ar core
名前のリストから値を取り出す際に、デフォルトの
.Pa /dev/kmem
のかわりに
.Ar core
を使います。
.It Fl N Ar system
名前のリストを取り出す際に、デフォルトの
.Pa /kernel
のかわりに
.Ar system
を使います。
.It Fl w Ar wait
.Tn NFS
のクライアントとサーバに関する実行状況の簡単なサマリを、
.Ar wait
秒ごとに表示します。
.El
.Sh 関連ファイル
.Bl -tag -width /dev/kmem -compact
.It Pa /kernel
デフォルトのカーネルの名前リスト
.It Pa /dev/kmem
デフォルトのメモリファイル
.El
.Sh 関連項目
.Xr fstat 1 ,
.Xr netstat 1 ,
.Xr ps 1 ,
.Xr systat 1 ,
.Xr sysctl 3 ,
.Xr iostat 8 ,
.Xr pstat 8 ,
.Xr vmstat 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja/man/man1/nice.1 b/ja/man/man1/nice.1
index e2c2c8420e..e0cf036f44 100644
--- a/ja/man/man1/nice.1
+++ b/ja/man/man1/nice.1
@@ -1,117 +1,117 @@
.\" 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.
.\"
.\" @(#)nice.1 8.1 (Berkeley) 6/6/93
-.\" %Id: nice.1,v 1.1.1.1.8.4 1998/07/17 04:20:23 jkh Exp %
+.\" %Id: nice.1,v 1.7 1998/03/23 07:45:40 charnier Exp %
.\" jpman %Id: nice.1,v 1.2 1997/05/04 08:01:38 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt NICE 1
.Os BSD 4
.Sh 名称
.Nm nice
.Nd スケジュールの優先度を下げてコマンドを実行する
.Sh 書式
.Nm nice
.Op Fl Ns Ar number
.Ar command
.Op Ar arguments
.Sh 解説
.Nm
はスケジュールの優先度を低くして
.Ar command
を実行します (優先度を低くすると実行速度が遅くなると考えてください)。
もし
.Fl Ns Ar number
が指定されない場合、
.Nm
は値を 10 であるとします。
優先度は -20 から 20 までの値です。
デフォルトの優先度は 0 であり、優先度 20 がもっとも低いです。
.Nm
は、
.Ar command
の実行優先度として、
.Ar number
.Nm
の優先度に対して相対的に指定されたものとします。
現在のプロセスの優先度よりも高い優先度はスーパユーザのみ要求可能です。
負の数を指定する場合には
.Fl - Ns Ar number
とします。
.Pp
終了ステータスは
.Nm
が実行したコマンドの終了ステータスです。
.Sh 使用例
.Pp
$ nice -5 date
.Pp
シェルの優先度が 0 の時、コマンド
.Sq date
を、優先度 5 にて実行します。
.Pp
# nice -16 nice --35 date
.Pp
シェルの優先度が 0 であり、スーパユーザの場合、コマンド
.Sq date
を優先度 -10 にて実行します。
.Sh 関連項目
.Xr csh 1 ,
.Xr idprio 1 ,
.Xr getpriority 2 ,
.Xr setpriority 2 ,
.Xr renice 8
.Sh 歴史
.Nm
.At v6
で追加されました。
.Sh バグ
.Nm
.Xr sh 1
向けのコマンドです。
もし
.Xr csh 1
を使っているのなら、``&'' をつけて実行されたコマンドは、
バックグラウンドで実行されている間は
自動的に hangup を無視します。
.Pp
.Xr csh 1
では、
.Nm
は組み込みコマンドであり、ここで説明したものとは少し異なる書式になります。
.Ql nice +10
は優先度を低くし、
.Ql nice \-10
はスーパユーザが用いた時に優先度を高くします。
diff --git a/ja/man/man1/nm.1 b/ja/man/man1/nm.1
index 038d314e17..cf3b8366b9 100644
--- a/ja/man/man1/nm.1
+++ b/ja/man/man1/nm.1
@@ -1,128 +1,128 @@
.\" 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.
.\"
.\" @(#)nm.1 8.1 (Berkeley) 6/6/93
-.\" %Id: nm.1,v 1.4.2.2 1997/08/01 06:33:52 charnier Exp %
+.\" %Id: nm.1,v 1.8 1997/07/31 06:53:36 charnier Exp %
.\" jpman %Id: nm.1,v 1.2 1997/05/17 16:01:54 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt NM 1
.Os BSD 4
.Sh 名称
.Nm nm
.Nd 名前リスト (シンボルテーブル) を表示する
.Sh 書式
.Nm
.Op Fl agnoprtuwW
.Op Ar
.Sh 解説
.Nm
は、指定された各
.Ar file
内のオブジェクトのシンボルテーブル (名前リスト) を
表示します。ライブラリ (アーカイブ) が指定されると、
.Nm
はアーカイブされた各オブジェクトメンバのリストを表示します。
.Ar file
が指定されなければ、
.Nm
.Pa a.out
ファイルを探索し、存在すれば
.Pa a.out
ファイルのシンボルテーブルを表示します。
.Bl -tag -width flag
.It Fl a
デバッガ用に挿入されているシンボルテーブルを表示します。
.It Fl g
外部参照 (グローバル) シンボルのみを表示します。
.It Fl n
数値順に表示します。
.It Fl o
オブジェクトのフルパス名またはライブラリ名を各行に表示します。
.It Fl p
ソートを行いません。
.It Fl r
逆順にソートします。
.It Fl t
要約プログラムにとってより適した表形式で出力します。
.It Fl u
未定義シンボルのみを表示します。
.It Fl w
アーカイブ中のオブジェクトではないメンバーについての警告を表示します。
通常
.Nm
は、オブジェクトファイルではないアーカイブのメンバーを無視し
警告を出しません。
.It Fl W
弱いシンボルを表す ``W'' のためのカラムを含めて出力します。
.El
.Pp
各シンボル名にはその値 (未定義シンボルの場合は空欄)
と、以下のうちの一文字が続きます。
.Pp
.Bl -tag -width Ds -compact -offset indent
.It Fl
デバッガのためのシンボルテーブル (
.Fl a
オプション参照)
.It Li A
絶対値シンボル
.It Li B
bss セグメントシンボル
.It Li C
コモンシンボル
.It Li D
データセグメントシンボル
.It Li f
ファイル名
.It Li I
間接参照シンボル
.It Li T
テキストセグメントシンボル
.It Li U
未定義シンボル
.It Li W
次のシンボルが参照されると警告
.El
.Pp
シンボルがローカル (外部定義ではない) ならば、上記の文字は小文字で表示
されます。出力はアルファベット順にソートされます。
.Sh 関連項目
.Xr ar 1 ,
.Xr a.out 5 ,
.Xr ar 5 ,
.Xr stab 5
.Sh 歴史
.Nm
コマンドは
.At v1
に登場しました。
diff --git a/ja/man/man1/od.1 b/ja/man/man1/od.1
index 7f78e81c02..76e5220ef7 100644
--- a/ja/man/man1/od.1
+++ b/ja/man/man1/od.1
@@ -1,84 +1,84 @@
.\" 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.
.\"
.\" @(#)od.1 8.1 (Berkeley) 6/6/93
-.\" %Id: od.1,v 1.3.2.1 1997/09/15 08:17:22 jkh Exp %
+.\" %Id: od.1,v 1.6 1997/06/23 04:52:04 steve Exp %
.\" jpman %Id: od.1,v 1.4 1997/06/04 03:47:49 jsakai Stab %
.\"
.Dd May 27, 1994
.Os
.Dt OD 1
.Sh 名称
.Nm od
.Nd 8進, 10進, 16進, ASCIIでのダンプ
.Sh 書式
.Nm od
.Op Fl aBbcDdeFfHhIiLlOovXx
.Sm off
.Oo
.Op Cm \&+
.Li offset
.Op Cm \&.
.Op Cm Bb
.Oc
.Ar file
.Sh 解説
.Nm od
.Xr hexdump 1
が登場してからは価値がありません。
.Pp
.Xr hexdump
.Nm od
という名前で起動された場合、上記の
.Nm od
のオプションと互換の動作をします。
.Pp
.Fl s
オプション (
.Xr strings 1
を参照) および
.Fl P ,
.Fl p ,
.Fl w
オプションに対応する互換性は提供されていません。
また offset 使用時の ``label'' に対応する互換性も提供されていません。
.Sh 関連項目
.Xr hexdump 1 ,
.Xr strings 1
.Sh バグ
ほとんどありません。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/opieinfo.1 b/ja/man/man1/opieinfo.1
index 22669faf45..f991092fd2 100644
--- a/ja/man/man1/opieinfo.1
+++ b/ja/man/man1/opieinfo.1
@@ -1,100 +1,100 @@
.\" opieinfo.1: Manual page for the opieinfo(1) program.
.\"
-.\" %%% portions-copyright-cmetz
-.\" Portions of this software are Copyright 1996 by Craig Metz, All Rights
+.\" %%% portions-copyright-cmetz-96
+.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
.\" you didn't get a copy, you may request one from <license@inner.net>.
.\"
.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan
.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned
.\" to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and
.\" License Agreement applies to this software.
.\"
.\" History:
.\"
.\" Modified by cmetz for OPIE 2.2. Removed MJR DES documentation.
.\" Modified at NRL for OPIE 2.0.
.\" Written at Bellcore for the S/Key Version 1 software distribution
.\" (keyinfo.1).
.\"
.ll 6i
.pl 10.5i
.lt 6.0i
.TH OPIEINFO 1 "January 10, 1995"
.AT 3
.SH 名称
opieinfo \- 将来の OPIE チャレンジのために、シーケンス番号と種を取り出す
.SH 書式
.B opieinfo
[\-v] [\-h] [
.I user_name
]
.SH 解説
.I opieinfo
はオプションとしてユーザ名を取り、
現在のユーザもしくは指定されたユーザの現在のシーケンス番号と種を
OPIE キーデータベースから取り出して表示します。
opiekey は
Bellcore's S/Key Version 1 の
.IR keyinfo (1)
プログラムと互換ですが、リモートシステム名を指定できないところが違います。
.sp
.I opieinfo
を使用して将来の OPIE 応答リストを生成しておくことにより、
OPIE 計算機を持たずに出かけてもシステムにログインできるようになります。
そのためには、次のように実行します:
.sp
.B opiekey \-n 42 `opieinfo`
.SH オプション
.TP
.B \-v
バージョン番号とコンパイル時のオプションを表示し、終了します。
.TP
.B \-h
短いヘルプメッセージを表示し、終了します。
.TP
.B <user_name>
キー情報を表示したいユーザの名前です。
デフォルトは opieinfo を実行したユーザです。
.SH 使用例
.sp 0
wintermute$ opieinfo
.sp 0
495 wi01309
.sp 0
wintermute$
.LP
.SH 関連ファイル
.TP
/etc/opiekeys -- OPIE システム用のキー情報データベース
.SH SEE ALSO
.BR opie (4),
.BR opiekey (1),
.BR opiepasswd (1),
.BR su (1),
.BR login (1),
.BR ftpd (8),
.BR opiekeys (5)
.BR opieaccess (5)
.SH 作者
Bellcore の S/Key は Bellcore の Phil Karn, Neil M. Haller,
John S. Walden によって書かれました。
OPIE は NRL で Randall Atkinson, Dan McDonald, Craig Metz によって作成
されました。
S/Key は Bell Communications Research (Bellcore) のトレードマークです。
.SH 連絡先
OPIE は Bellcore の "S/Key Users" メーリングリストで議論されました。
参加するためには、電子メールを以下の所に送って下さい:
.sp
skey-users-request@thumper.bellcore.com
diff --git a/ja/man/man1/opiekey.1 b/ja/man/man1/opiekey.1
index 00b1864e21..997ed3b53d 100644
--- a/ja/man/man1/opiekey.1
+++ b/ja/man/man1/opiekey.1
@@ -1,180 +1,180 @@
.\" opiekey.1: Manual page for the opiekey(1) program.
.\"
-.\" %%% portions-copyright-cmetz
-.\" Portions of this software are Copyright 1996 by Craig Metz, All Rights
+.\" %%% portions-copyright-cmetz-96
+.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
.\" you didn't get a copy, you may request one from <license@inner.net>.
.\"
.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan
.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned
.\" to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and
.\" License Agreement applies to this software.
.\"
.\" History:
.\"
.\" Modified by cmetz for OPIE 2.3. Added -t documentation. Removed
.\" opie-bugs pointer. Removed opie-md5 and opie-md4 names. Fixed
.\" a bolding bug. Added -f flag. Added escapes on flags. Minor
.\" editorial changes. Updated example.
.\" Modified by cmetz for OPIE 2.2. Removed MJR DES documentation.
.\" Re-worded retype documentation. Added opiegen reference.
.\" Added -x documentation.
.\" Modified at NRL for OPIE 2.0.
.\" Written at Bellcore for the S/Key Version 1 software distribution
.\" (key.1).
.\"
.ll 6i
.pl 10.5i
.lt 6.0i
.TH OPIEKEY 1 "February 20, 1996"
.AT 3
.SH 名称
opiekey, otp-md4, otp-md5 \- OTP チャレンジに対する応答を計算するプログラム
.SH 書式
.B opiekey
|
.B otp-md4
|
.B otp-md5
[\-v] [\-h] [\-f] [\-x]
.sp 0
[\-t
.I
type
] [\-4|\-5]
[\-a] [\-n
.I count
]
.I sequence_number seed
.sp 0
.SH 解説
.I opiekey
のコマンドライン引数は、表示すべき返答数をオプションとして、
(最大の) シーケンス番号と種と共に指定します。
このコマンドはユーザに秘密のパスフレーズの入力を促し、
OPIE 応答を 6 語で生成します。
ミスタイプによるエラーが発生することを防ぐために、
コンパイル時の設定により、
ユーザの秘密のパスフレーズを 2 度入力させることが可能です。
この場合、2 番目のパスワードエントリに end of line のみを入力することで、
再入力せずに済ませることが可能です。
.I opiekey
Bellcore S/Key Version 1 distribution やその変形の
.IR key (1)
プログラムの下位互換となっています。
.SH オプション
.TP
.B \-v
バージョン番号とコンパイル時のオプションを表示し、終了します。
.TP
.B \-h
短いヘルプメッセージを表示し、終了します。
.TP
.B \-4, \-5
応答を生成するアルゴリズムとして、それぞれ MD4 または MD5 を選択します。
otp-md4 のデフォルトは MD4 であり、 opie-md5 のデフォルトは MD5 です。
opiekey のデフォルトはコンパイル時の設定に依存しますが、MD5 にすべきです。
MD4 は Bellcore S/Key Version 1 distribution 互換です。
.TP
.B \-f
通常時には停止してしまう場合においても
.I opiekey
が実行継続するように強制します。
現在では、安全ではないと思われる端末からでも
opiekey が「コンソール」モードで動作するよう強制する場合に使用します。
これはまた、ユーザの秘密のパスフレーズを攻撃者に公開してしまうことになります。
OPIE システム構築時のコンパイルオプション指定により、-f フラグ
を指定できないようにすることが可能です。
.TP
.B \-a
チェックを行わず、任意の秘密のパスフレーズを入力できるようにします。
現在は、任意とはいえ '\0' 文字と '\n' 文字は除外します。
このオプションは、
パスワードをチェックしないキー計算機との下位互換性を保つために使用します。
.TP
.B \-n <count>
表示する一回利用パスワードの個数を指定します。
デフォルトは 1 です。
.TP
.B \-x
OTP を、6 語でなく、16 進数で表示します。
.TP
.B \-t <type>
指定したタイプの拡張応答を生成します。サポートされているタイプは以下です:
.sp 1
word 6 語
.sp 0
hex 16 進数
.sp 0
init 16 進数で再初期化
.sp 0
init-word 6 語で再初期化
.sp 1
再初期化の返答は
.I 常
に簡単な能動攻撃に対する防御となります。
.TP
.SH 使用例
.sp 0
wintermute$ opiekey \-5 \-n 5 495 wi01309
.sp 0
Using MD5 algorithm to compute response.
.sp 0
Reminder: Don't use opiekey from telnet or dial-in sessions.
.sp 0
Enter secret pass phrase:
.sp 0
491: HOST VET FOWL SEEK IOWA YAP
.sp 0
492: JOB ARTS WERE FEAT TILE IBIS
.sp 0
493: TRUE BRED JOEL USER HALT EBEN
.sp 0
494: HOOD WED MOLT PAN FED RUBY
.sp 0
495: SUB YAW BILE GLEE OWE NOR
.sp 0
wintermute$
.LP
.SH バグ
ユーザがリモートログインしている時には
.BR opiekey(1)
はユーザがパスワードを公開してしまうことを許してしまい、
OPIE の目的をだいなしにしてしまいます。
これは xterm においては特に問題となります。
.BR opiekey(1)
は簡単なチェックを行うことで、ユーザがこの誤りを犯す危険を軽減します。
よりよいチェック機構が必要です。
.LP
.SH 連絡先
.BR ftpd (8),
.BR login (1),
.BR opie (4),
.BR opiepasswd (1),
.BR opieinfo (1),
.BR opiekeys (5),
.BR opieaccess (5),
.BR opiegen (1)
.BR su (1),
.SH 作者
Bellcore の S/Key は Bellcore の Phil Karn, Neil M. Haller,
John S. Walden によって書かれました。
OPIE は NRL で Randall Atkinson, Dan McDonald, Craig Metz によって作成
されました。
S/Key は Bell Communications Research (Bellcore) のトレードマークです。
.SH 連絡先
OPIE は Bellcore の "S/Key Users" メーリングリストで議論されました。
参加するためには、電子メールを以下の所に送って下さい:
.sp
skey-users-request@thumper.bellcore.com
diff --git a/ja/man/man1/opiepasswd.1 b/ja/man/man1/opiepasswd.1
index c9053c1831..36043b11fa 100644
--- a/ja/man/man1/opiepasswd.1
+++ b/ja/man/man1/opiepasswd.1
@@ -1,179 +1,179 @@
.\" opiepasswd.1: Manual page for the opiepasswd(1) program.
.\"
-.\" %%% portions-copyright-cmetz
-.\" Portions of this software are Copyright 1996 by Craig Metz, All Rights
+.\" %%% portions-copyright-cmetz-96
+.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
.\" you didn't get a copy, you may request one from <license@inner.net>.
.\"
.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan
.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned
.\" to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and
.\" License Agreement applies to this software.
.\"
.\" History:
.\"
.\" Modified by cmetz for OPIE 2.3. Added -f flag documentation.
.\" Updated console example.
.\" Modified by cmetz for OPIE 2.2. Removed MJR DES documentation.
.\" Modified at NRL for OPIE 2.0.
.\" Written at Bellcore for the S/Key Version 1 software distribution
.\" (keyinit.1).
.\"
.ll 6i
.pl 10.5i
.lt 6.0i
.TH OPIEPASSWD 1 "January 10, 1995"
.AT 3
.SH 名称
opiepasswd \- OPIE 認証システムのユーザパスワードを変更または設定する
.SH 書式
.B opiepasswd
[\-v] [\-h] [\-c|\-d] [\-f]
.sp 0
[\-n
.I inital_sequence_number
]
[\-s
.I seed
] [
.I user_name
]
.SH 解説
.I opiepasswd
ユーザが OPIE を使用してログインできるように、システム情報を初期化します。
.I opiepasswd
は Bellcore S/Key Version 1 distribution の keyinit(1) の下位互換
となっています。
.SH オプション
.TP
.TP
.B \-v
バージョン番号とコンパイル時のオプションを表示し、終了します。
.TP
.B \-h
短いヘルプメッセージを表示し、終了します。
.TP
.B \-c
コンソールモード、
すなわちユーザがシステムへの安全なアクセスを行っていると指定します。
コンソールモードでは、あなたは
OPIE 計算機を使用せずに、直接パスワードを入力するように促されます。
システムへの安全なアクセスを行っていない場合
(つまりシステムコンソールにいる場合以外) にこのモードを使用すると、
あなたのパスワードを攻撃者へ提供することになってしまいます。
.TP
.B \-d
指定したアカウントの OTP ログインを無効にします。
.TP
.B \-f
通常時には停止してしまう場合においても
.I opiepasswd
が実行継続するように強制します。
現在では、安全ではないと思われる端末からでも
opiepasswd が「コンソール」モードで動作するよう強制する場合に使用します。
これはまた、ユーザの秘密のパスフレーズを攻撃者に公開してしまうことになります。
OPIE システム構築時のコンパイルオプション指定により、-f フラグ
を指定できないようにすることが可能です。
.TP
.B \-n
初期シーケンス番号を手動で指定します。デフォルトは 499 です。
.TP
.B \-s
ランダムではない種を指定します。デフォルトでは、
ホスト名の最初の 2 文字と 5 桁の擬似乱数を使用して、
「ランダム」な種を生成します。
.SH 使用例
コンソールから
.I opiepasswd
を使用します:
.LP
.sp 0
wintermute$ opiepasswd \-c
.sp 0
Updating kebe:
.sp 0
Reminder \- Only use this method from the console; NEVER from remote. If you
.sp 0
are using telnet, xterm, or a dial\-in, type ^C now or exit with no password.
.sp 0
Then run opiepasswd without the \-c parameter.
.sp 0
Using MD5 to compute responses.
.sp 0
Enter old secret pass phrase:
.sp 0
Enter new secret pass phrase:
.sp 0
Again new secret pass phrase:
.sp 0
.sp 0
ID kebe OPIE key is 499 be93564
.sp 0
CITE JAN GORY BELA GET ABED
.sp 0
wintermute$
.LP
.I opiepasswd
を遠隔地から使用します:
.LP
.sp 0
wintermute$ opiepasswd
.sp 0
Updating kebe:
.sp 0
Reminder: You need the response from your OPIE calculator.
.sp 0
Old secret password:
.sp 0
otp-md5 482 wi93563
.sp 0
Response: FIRM BERN THEE DUCK MANN AWAY
.sp 0
New secret password:
.sp 0
otp-md5 499 wi93564
.sp 0
Response: SKY FAN BUG HUFF GUS BEAT
.sp 0
.sp 0
ID kebe OPIE key is 499 wi93564
.sp 0
SKY FAN BUG HUFF GUS BEAT
.sp 0
wintermute$
.LP
.SH 関連ファイル
.TP
/etc/opiekeys -- OPIE システム用のキー情報データベース
.SH 関連項目
.BR ftpd (8),
.BR login (1),
.BR passwd (1),
.BR opie (4),
.BR opiekey (1),
.BR opieinfo (1),
.BR su (1),
.BR opiekeys (5),
.BR opieaccess (5)
.SH 作者
Bellcore の S/Key は Bellcore の Phil Karn, Neil M. Haller,
John S. Walden によって書かれました。
OPIE は NRL で Randall Atkinson, Dan McDonald, Craig Metz によって作成
されました。
S/Key は Bell Communications Research (Bellcore) のトレードマークです。
.SH 連絡先
OPIE は Bellcore の "S/Key Users" メーリングリストで議論されました。
参加するためには、電子メールを以下の所に送って下さい:
.sp
skey-users-request@thumper.bellcore.com
diff --git a/ja/man/man1/passwd.1 b/ja/man/man1/passwd.1
index d5eba9d9ea..d26c924d6e 100644
--- a/ja/man/man1/passwd.1
+++ b/ja/man/man1/passwd.1
@@ -1,206 +1,206 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)passwd.1 8.1 (Berkeley) 6/6/93
-.\" %Id: passwd.1,v 1.5.2.3 1998/03/08 12:04:11 jkh Exp %
+.\" %Id: passwd.1,v 1.9 1998/08/24 00:56:20 steve Exp %
.\" jpman %Id: passwd.1,v 1.4 1997/07/21 09:41:51 konuma Stab %
.\"
.Dd June 6, 1993
.Dt PASSWD 1
.Os BSD 4
.Sh 名称
.Nm passwd, yppasswd
.Nd ユーザのパスワードを変更する
.Sh 書式
.Nm passwd
.Op Fl l
.Op Ar user
.Nm yppasswd
.Op Fl l
.Op Fl y
.Op Fl d Ar domain
-.Op Fl s Ar host
+.Op Fl h Ar host
.Op Fl o
.Sh 解説
.Nm passwd
は、ユーザの local, Kerberos, NIS パスワードを変更します。
パスワードの変更にあたっては、最初に、現在のパスワードの入力を求
められます。現在のパスワードが正しく入力されたら、新しいパスワードの入
力を求められます。新しいパスワードは、タイプミスを避けるため、2 回入力しな
ければなりません。
.Pp
新しいパスワードは、少なくとも 6 文字以上 (ユーザのログインクラスに対する
.Xr login.cap 5
の "minpasswordlen" 設定が優先します) で、アルファベットだけにならな
いようにすべきです。パスワードの最大文字数は、
.Dv _PASSWORD_LEN
(現在は128文字) より短くなければなりません。
数字、アルファベットの大文字、メタキャラクタの使用を推奨します。
.Pp
新しいパスワードが確認されたら
.Nm passwd
は新しいパスワードを Kerberos 認証ホストに伝えます。
.Bl -tag -width flag
.It Fl l
Kerberosデータベースではなく、
ローカルマシンのパスワードだけを変更します。
ローカルマシンのパスワードだけを変更する場合は、
.Xr pwd_mkdb 8
がパスワードデータベースの更新に使われます。
.Pp
.El
ローカルまたは NIS パスワードを変更する場合、
ユーザのログインクラスの "passwordperiod" ケーパビリティに基づき、
次にパスワードを変更すべき日付が設定されます。
.Pp
別のユーザの Kerberos パスワードを変更するには、
.Xr kinit 1
を実行してから、
.Xr passwd 1
を実行する必要があります。
スーパユーザがローカルマシンのパスワードを修正するときにかぎり、現在の
パスワードの入力は不要です。
.Sh NIS との相互作用
.Nm passwd
は NIS のサポートが組み込まれています。
もしユーザ名が NIS のパスワードデータベースの中にあり、
ローカルにはない場合、
.Nm passwd
は自動的に ``yppasswd'' に切り替わります。
指定されたユーザ名がローカルのパスワードデータベースにも、
NIS のパスワードマップにも存在しない場合、
.Nm passwd
はエラーを返します。
.Pp
NIS のパスワードを変更するとき、非特権ユーザーは
確認のために現在のパスワードの入力を求められます (
.Xr rpc.yppasswdd 8
デーモンはいかなる変更でも NIS パスワードマップに加える前に
現在のパスワードの入力を求めます)。
この制限はスーパユーザにも適用されますが、大きな例外があります。
NIS マスタサーバのスーパユーザはパスワードの確認が省略されるの
です。
したがって、NIS マスタサーバのスーパユーザは、すべてのユーザの
NIS パスワードを無制限に変更できます。
しかし、NIS クライアントや NIS スレーブサーバのスーパユーザは
変更にパスワードが必要です。
.Pp
以下のオプションは NIS のためのものです:
.Bl -tag -width flag
.It Fl y
.Nm passwd
は強制的に NIS 用になります。
.It Fl l
NIS が有効な場合に
.Nm passwd
を強制的にローカル用にします。
このフラグは同じログイン名で NIS のユーザと
ローカルなユーザが存在するときに、ローカルユーザの
パスワードエントリを変更するために使われます。
例えば、システム用の
.Pa bin
.Pa daemon
といったエントリは NIS パスワードマップとローカルユーザデータベース
の両方に存在することが、よくあります。
この場合デフォルトでは
.Nm passwd
は NIS のパスワードを変更しようとします。 NIS ではなくローカルの
パスワードを変更するとき
.Fl l
を使います。
.It Fl d Ar domain
NIS パスワードを変更するとき、ドメイン名を指定します。デフォルトで
.Nm passwd
は、システムのデフォルトドメイン名を使います。このフラグは主に
NIS マスタサーバのスーパユーザが使用するものです。一つの NIS
マスタサーバが複数のドメインを扱っている場合や、NIS マスタサーバでは
ドメイン名が設定されていない (NIS サーバーは必ずしもクライアントになる
必要はありません) 場合に、
.Nm passwd
コマンドがどのドメインを扱うのかを指定する必要があります。
.It Fl s Ar host
NIS サーバの名前を指定します。このオプションを
.Fl d
オプションと共に用いることで、非ローカルな NIS サーバ上の NIS
パスワードを変えることが出来ます。
.Fl d
オプションでドメイン名を指定し、 NIS マスタサーバの名前が決定できな
い (おそらく、ローカルのドメイン名が設定されていないため) ときには、
NIS マスタサーバは、 ``localhost'' であると仮定されます。
このサーバ名を
.Fl s
で指定することが出来ます。指定するホスト名は NIS マスタサーバ
でなくても構いません。 NIS マスターサーバー名はドメイン内の
NIS (マスタもしくはスレーブ) サーバに問い合わせることで決定される
ので、スレーブサーバを指定しても構いません。
.Pp
.It Fl o
NIS マスタサーバにおいて、スーパユーザの確認を省略しません。
\'old' モードにします。このフラグはあまり実用的ではありませんが、
パスワードのテストに使うことが出来ます。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd -compact
.It Pa /etc/master.passwd
パスワードのマスタファイル
.It Pa /etc/passwd
Version 7 形式のパスワードファイル
.It Pa /etc/passwd.XXXXXX
パスワード変更時に作られるテンポラリファイル
.It Pa /etc/login.conf
ログインクラスケーパビリティデータベース
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr kerberos 1 ,
.Xr kinit 1 ,
.Xr login 1 ,
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr kpasswdd 8 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8
.Rs
.%A Robert Morris
.%A Ken Thompson
.%T "UNIX password security"
.Re
.Sh 注釈
.Xr yppasswd 1
は実際には
.Nm passwd
へのリンクです。
.Sh 歴史
.Nm passwd
コマンドは
.At v6
から登場しました。
diff --git a/ja/man/man1/patch.1 b/ja/man/man1/patch.1
index 1aebf0104d..33d240145f 100644
--- a/ja/man/man1/patch.1
+++ b/ja/man/man1/patch.1
@@ -1,593 +1,603 @@
.\" -*- nroff -*-
.rn '' }`
.\" jpman %Id: patch.1,v 1.3 1997/09/10 04:34:14 yugawa Stab %
-'\" %Header: /home/ncvs/src/gnu/usr.bin/patch/patch.1,v 1.5.2.3 1998/01/22 07:45:53 ache Exp %
+'\" %Header: /home/ncvs/src/gnu/usr.bin/patch/patch.1,v 1.9 1998/01/22 07:44:03 ache Exp %
'\"
'\" %Log: patch.1,v %
+'\" Revision 1.9 1998/01/22 07:44:03 ache
+'\" Add PATCH_INDEX_FIRST environment variable to do the same as -I option
+'\"
+'\" Revision 1.8 1998/01/21 15:10:13 ache
+'\" Add -I or --index-first option to take Index: precedence over context diff,
+'\" as it was in hacked FreeBSD version
+'\"
+'\" Revision 1.7 1998/01/21 14:37:21 ache
+'\" Resurrect patch 2.1 without FreeBSD Index: hack
+'\"
'\" Revision 1.5.2.1 1998/01/11 20:45:30 ache
'\" Back out rev1.5 change, Index: precedence restored to historycal behaviour
'\"
'\" Revision 1.4 1994/02/25 21:45:59 phk
'\" added the -C/-check again.
'\"
.\" Revision 1.3 1994/02/17 22:20:33 jkh
.\" Put this back - I was somehow under the erroneous impression that patch was in
.\" ports, until I saw the the commit messages, that is! :-) All changed backed out.
.\"
.\" Revision 1.2 1994/02/17 22:16:02 jkh
.\" From Poul-Henning Kamp - Implement a -C option to verify the integrity of
.\" a patch before actually applying it.
.\"
.\" Revision 1.1.1.1 1993/06/19 14:21:51 paul
.\" b-maked patch-2.10
.\"
'\" Revision 2.0.1.2 88/06/22 20:47:18 lwall
'\" patch12: now avoids Bell System Logo
'\"
'\" Revision 2.0.1.1 88/06/03 15:12:51 lwall
'\" patch10: -B switch was contributed.
'\"
'\" Revision 2.0 86/09/17 15:39:09 lwall
'\" Baseline for netwide release.
'\"
'\" Revision 1.4 86/08/01 19:23:22 lwall
'\" Documented -v, -p, -F.
'\" Added notes to patch senders.
'\"
'\" Revision 1.3 85/03/26 15:11:06 lwall
'\" Frozen.
'\"
'\" Revision 1.2.1.4 85/03/12 16:14:27 lwall
'\" Documented -p.
'\"
'\" Revision 1.2.1.3 85/03/12 16:09:41 lwall
'\" Documented -D.
'\"
'\" Revision 1.2.1.2 84/12/05 11:06:55 lwall
'\" Added -l switch, and noted bistability bug.
'\"
'\" Revision 1.2.1.1 84/12/04 17:23:39 lwall
'\" Branch for sdcrdcf changes.
'\"
'\" Revision 1.2 84/12/04 17:22:02 lwall
'\" Baseline version.
'\"
.de Sh
.br
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp
.if t .sp .5v
.if n .sp
..
'\"
'\" Set up \*(-- to give an unbreakable dash;
'\" string Tr holds user defined translation string.
'\" Bell System Logo is used as a dummy character.
'\"
.ie n \{\
.tr \(*W-\*(Tr
.ds -- \(*W-
.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.ds L" ""
.ds R" ""
.ds L' '
.ds R' '
'br \}
.el \{\
.ds -- \(em\|
.tr \*(Tr
.ds L" ``
.ds R" ''
.ds L' `
.ds R' '
'br\}
.TH PATCH 1 LOCAL
.SH 名称
patch - diff ファイルをオリジナルのファイルに適用する
.SH 書式
.B patch
[options] [origfile [patchfile]] [+ [options] [origfile]]...
.sp
ですが、たいていは以下のようにします。
.sp
.B patch
<patchfile
.SH 解説
.I patch
は、
.I diff
プログラムによって生成された 4 つの形式の差分情報を含むパッチファイル
を受け付け、オリジナルファイルにその差分を当てて、パッチ済みのバージョ
ンを生成します。
デフォルト動作では、オリジナルは \*(L".orig\*(R" の拡張子
(長いファイル名を扱えないシステムでは \*(L"~\*(R")
を付けてバックアップとして残した上で、
オリジナルファイルはパッチ済みのバージョンに置き換えられます。
オリジナルをバックアップする拡張子はオプション
\fB\-b\fP (\fB\-\-suffix\fP),
\fB\-B\fP (\fB\-\-prefix\fP)
あるいは
\fB\-V\fP (\fB\-\-version\-control\fP)
によって、あるいは環境変数
.B SIMPLE_BACKUP_SUFFIX
によっても変更できます。
環境変数による指定はオプション指定によって上書きされます。
.PP
バックアップファイルが既に存在していた場合、
.B patch
は新しいバックアップファイル名として、
ファイル名本体の中で最初に出てくる英小文字の部分を大文字に替えたもの
を使います。
英小文字の部分がなかった場合は、ファイル名の最初の 1 文字削除したものとし、
既存のバックアップファイル名と合致しなくなるまでこれを繰り返します。
.PP
ファイルの出力先は
\fB\-o\fP (\fB\-\-output\fP)
で指定することができますが、
もしそこに既に同じファイル名のファイルが存在していたら、
まずバックアップが作られます。
.PP
.I patchfile
が指定されない場合やハイフンである場合、
パッチは標準入力から読み込まれます。
.PP
.I patch
が最初に行う作業は、差分情報がどんな形式か判別することです。
これは、オプション
\fB\-c\fP (\fB\-\-context\fP),
\fB\-e\fP (\fB\-\-ed\fP),
\fB\-n\fP (\fB\-\-normal\fP),
\fB\-u\fP (\fB\-\-unified\fP)
によって形式を指定することもできます。
context diff (old-style, new-style, unified) および normal diff は
.I patch
自身によりパッチが当てられます。
ed diff
だった場合は、パイプを通して単にパッチファイルをエディタ
.I ed
に入力するだけです。
.PP
.I patch
は、差分情報の前に含まれるゴミをスキップし、差分を適用し、
そして後に含まれるゴミをスキップしようとします。
ですから差分情報が入った記事やメッセージなどをそのまま
.I patch
に与えても、うまく動作するはずです。
差分全体が一定量だけインデントされていても、
そのことを考慮のうえ処理されます。
.PP
context diff の場合、そして normal diff の場合もいくらかあてはまりますが、
.I patch
はパッチに書かれた行番号が正しくない場合にそれを検知し、
各 hunk (パッチの各々の単位)を適用する正しい場所を見つけようと試みます。
まず hunk に書かれた行番号に対し、
前回 hunk を適用した際に用いたオフセットを加算あるいは減算します。
それが正しい場所でなければ、
.I patch
は一定の行数だけその前後を走査し、hunk のコンテキスト(context)にマッチする行を
探します。
一番最初は、
.I patch
はコンテキスト中の全ての行が一致する場所を探します。
一致する場所が見つからない場合、
パッチが context diff 形式であり、
しかも最大曖昧度(maximum fuzz factor)が 1 以上に設定されていれば、
コンテキストの最初と最後の行を無視して再度走査を行います。
それでも見つからない場合、
最大曖昧度が 2 以上なら、コンテキストの最初と最後の 2 行を無視して
再度走査します。
(デフォルトの最大曖昧度は 2 です)
もし
.I patch
がパッチを当てる場所を見つけられなかった場合、その部分の差分情報を
リジェクトファイルに出力します。リジェクトファイルは、通常、
出力ファイルに \*(L".rej\*(R" の拡張子
(長いファイル名を扱えないシステムでは \*(L"#\*(R")
を付けたものになります。
(注意: 入力パッチが context diff であっても normal diff であっても、
リジェクト部分は context diff 形式で出力されます。
入力が normal diff の場合、コンテキストの多くは単なる null になります。)
このリジェクトファイルに出力される時の差分情報に付けられている行番号は、
元のパッチファイルにあるものと違ったものになっている可能性もありますが、
元のものよりは場所的により近い位置になっていると思われる行番号になります。
.PP
パッチの各 hunk が処理される毎に、そのパッチ処理が
成功した(succeeded)のか失敗した(failed)のかの別と、
.I patch
が推定したパッチ適用行位置(新しいファイルにおける行番号)
が報告されます。
この位置が差分中に示された行番号と異なる場合、
そのズレ(オフセット)も報告されます。
hunk のひとつだけが大きなオフセットで適用された場合、
それは誤った位置に適用されたことを意味する「かも」しれません。
またパッチ適用に際して曖昧度(fuzz factor)が用いられた場合も
その旨報告されます。この場合は少し疑ってみるべきでしょう。
.PP
もし、オリジナルファイルがコマンドラインで指定されなかった場合、
.I patch
は、エディットすべきファイル名を、差分情報の前に付加されているゴミの中
から見つけようとします。
context diff のヘッダの場合、ファイル名は
\*(L"***\*(R" もしくは \*(L"---\*(R" で始まる行から探し、
既存ファイルに一致する最も短い名前が用いられます。
context diffには上のような行が含まれますが、
もしヘッダに \*(L"Index:\*(R" いう行があったら
.I patch
はここから得たファイル名を使うことを試みます。
context diff ヘッダは Index 行に優先して用いられます。
もしファイル名を見つけることができなかった場合、
パッチすべきファイル名を入力するよう求めます。
.PP
もしオリジナルファイルが見つからないかリードオンリーであるけれども、
SCCS か RCS ファイルが存在する場合、
.I patch
はそのファイルのゲットもしくはチェックアウトを試みます。
.PP
加えて、もし差分の前のゴミの中に \*(L"Prereq: \*(R" という行が含まれていれば、
.I patch
はその行に必要条件 (通常はバージョン番号) が書いてあるものとみなして
最初の word を取りだし、オリジナルファイルの中に同じ word があるかどうかを
調べます。もしその word が発見できなければ、
.I patch
は処理を実行してよいか、確認を求めるようになります。
.PP
結局のところ、ニュースリーダを使っているときに、
パッチを含んだ記事に対して
.Sp
| patch -d /usr/src/local/blurfl
.Sp
のように指示してやれば、blurfl ディレクトリにあるファイルに
記事から直接パッチをあてることができる、
ということです。
.PP
パッチファイルに、1 つ以上のパッチが含まれていた場合、
.I patch
は、各々が別々のパッチファイルであるものと思って処理を実行します。
この場合、パッチを当てるべきオリジナルファイルは、今まで説明したように、
各々の差分情報の中から抽出でき、
また、各差分記述の前にあるゴミの部分を調べることで
ファイル名やリビジョンレベル等の重要事項が得られる、
と仮定しています。
この他に、\*(L'+\*(R' で繋げてファイル名を並べることで、
2 番目以降のファイル名を指定することもできます
(ただし、この場合でも、パッチ当てた後の新しいファイル名を
指定することはできません)。
.PP
.I patch
には次のようなオプションがあります:
.TP 5
.B "\-b suff, \-\-suffix=suff"
\*(L".orig\*(R" や \*(L"~\*(R" の代わりに
.B suff
がバックアップファイルの拡張子として解釈されるようにします。
.TP 5
.B "\-B pref, \-\-prefix=pref"
.B pref
が、バックアップファイル名の前に付けるプレフィックスとして
解釈されるようにします。
この指定を行うと
.B \-b
の指定は無視されます。
.TP 5
.B "\-c, \-\-context"
パッチファイルを context diff 形式として解釈します。
.TP 5
.B "\-C, \-\-check"
どういう処理が行われるか確認します。しかし実行はしません。
.TP 5
.B "\-d dir, \-\-directory=dir"
.B dir
をディレクトリとみなし、処理の前にそのディレクトリに移動します。
.TP 5
.B "\-D sym, \-\-ifdef=sym"
"#ifdef...#endif" 構造を用いて差分を示します。
差分情報を切り替えるシンボルとして
.B sym
が用いられます。
.TP 5
.B "\-e, \-\-ed"
パッチファイルを
.I ed
スクリプト形式として解釈します。
.TP 5
.B "\-E, \-\-remove\-empty\-files"
パッチ適用後、空のファイルは削除するようにします。
.TP 5
.B "\-f, \-\-force"
ユーザは処理内容を正確に把握しているものとみなし、
.I patch
は何も尋ねず、次のように仮定して処理を進めます。すなわち、
パッチすべきオリジナルファイル見つけることができなかった場合は
スキップします。
``Prereq:'' のバージョンが正しくなくても、パッチを実行します。
パッチ済みと思われても、リバースパッチではないと仮定します。
なお、このオプションは、
.I patch
が表示するメッセージを抑制しません。メッセージを止めるには
.B \-s
を使います。
.TP 5
.B "\-t, \-\-batch"
.BR \-f
と同様ですが、次のように仮定します。
パッチすべきオリジナルファイルを見つけることができなかった場合は
スキップします(
.BR \-f
と同じ)。
``Prereq:'' のバージョンが正しくない場合は、スキップします。
パッチ済みと思われる場合は、リバースパッチと仮定します。
.TP 5
.B "\-F number, \-\-fuzz=number"
最大曖昧度を設定します。
このオプションは context diff 形式にのみ適用され、
hunk の適用位置を探す際に最大 number 行だけ無視します。
この値を大きくするとパッチが間違ってあたる可能性も増えることに
注意して下さい。
デフォルト値は 2 であり、
context の行数(通常は 3)より大きい値にはしません。
.TP 5
.B "\-I, \-\-index-first"
.I patch
に、``Index:'' 行を context diff のヘッダより優先して扱わせます。
.B PATCH_INDEX_FIRST
環境変数を設定すれば同じ効果が得られます。
.TP 5
.B "\-l, \-\-ignore\-whitespace"
パターンマッチの条件を緩くし、タブおよび空白に関する違いは無視します。
パターン中の連続する任意個の空白は、入力ファイル中の連続する任意個の
空白にマッチします。
.\" ↑ 原文は以下のようになっているが、
.\" Any sequence of whitespace in the pattern line will match any sequence
.\" in the input file. ^^^^^^^^^^^^
.\" 下線部分は "any sequence of whitespace" という意味だと解釈した。
しかし普通の文字は正確に合致しなければなりません。
context の各行に対して入力ファイル中にマッチする行がなければなりません。
.TP 5
.B "\-n, \-\-normal"
パッチファイルを normal diff 形式として解釈します。
.TP 5
.B "\-N, \-\-forward"
リバースパッチ、もしくはすでにパッチ済みであると思われるパッチを
スキップします。
.B \-R
も参照して下さい。
.TP 5
.B "\-o file, \-\-output=file"
.B file
を出力ファイル名と解釈します。
.TP 5
.B "\-p[number], \-\-strip[=number]"
パス名の除去カウント(strip count)を設定します。
パッチ作成者と異なるディレクトリにファイルを置いている場合、
パッチファイル中のパス名をどのように解釈するか、を指示します。
除去カウントは、パス名の先頭から何個のスラッシュを除去するか、
を指定するものです(その間にあるディレクトリ名も取り除かれます)。
例えば、パッチファイル中のファイル名が
.sp
/u/howard/src/blurfl/blurfl.c
.sp
であった場合、
.B \-p
あるいは
.B \-p0
オプションを指定すると、パス名は全く修正されません。
.B \-p1
を指定すると、最初のスラッシュがない
.sp
u/howard/src/blurfl/blurfl.c
.sp
となり、
.B \-p4
を指定すると
.sp
blurfl/blurfl.c
.sp
、そして
.B \-p
を全く指定しないと
"blurfl.c"
となります。
ただし、その前のパス(u/howard/src/blurfl)が相対パスとして存在する場合は別で、
その場合、パス名全体は無修正のままです。
最後に、こうして得られたファイルを、カレントディレクトリあるいは
.B \-d
オプションで指定したディレクトリ内で探します。
.TP 5
.B "\-r file, \-\-reject\-file=file"
.B file
をリジェクトファイル名として解釈します。
.TP 5
.B "\-R, \-\-reverse"
このパッチが新旧 2 つのファイルを入れ換えて作成したものであることを
.I patch
に知らせます。
(ええ、たまにはそういうことも起きると思っています。
人間ってそういうものです。)
.I patch
は各 hunk を適用する前に新旧を入れ換えます。
リジェクトファイルは入れ換え後の形式で出力されます。
.B \-R
オプションは
.I ed
スクリプト形式の差分には使えません。
逆操作の手順をつくり出すには情報が不足しているからです。
.Sp
もしパッチ中の最初の hunk が失敗すれば、
.I patch
はそれをリバースパッチにしてうまく適用できるかどうか試します。
もしうまくいけば、
.B \-R
オプションをセットしてパッチを当てますか、と尋ねられます。
そうしないと答えれば、パッチは通常通り適用されていきます。
(注: パッチが normal diff 形式で、しかも最初のコマンドが追加
(つまり本来は削除)であると、この方法ではリバースパッチを検出できません。
空のコンテキストはどこにでもマッチするので、追加操作は常に成功してしまう
からです。
幸い、発見的には、
パッチは行を削除するよりも追加あるいは修正するものがほとんどであるため、
normal diff 形式のリバースパッチは削除から始まって失敗におわることが
ほとんどです。)
.TP 5
.B "\-s, \-\-silent, \-\-quiet"
エラーの場合以外、静かに処理を行います。
.TP 5
.B "\-S, \-\-skip"
パッチファイル中のこのパッチを無視し、
次のパッチから処理を続けるように指示します。
例えば
.sp
patch -S + -S + <patchfile
.sp
と指定すると、3 つのパッチのうち、1 番目と 2 番目のパッチを無視します。
.TP 5
.B "\-u, \-\-unified"
パッチファイルを unified diff 形式 (unidiff) として解釈します。
.TP 5
.B "\-v, \-\-version"
.I patch
コマンドのリビジョンヘッダとパッチレベルを表示します。
.TP 5
.B "\-V method, \-\-version\-\-control=method"
バックアップファイル名の作成方法として
.B method
を用います。
作成されるバックアップのタイプは環境変数
.B VERSION_CONTROL
でも指定できますが、このオプションはそれに優先します。
.B -B
はこのオプションに優先し、バックアップファイルを作る際に
常にプレフィックスが用いられるようにします。
環境変数
.B VERSION_CONTROL
および
.B -V
オプションの引数の指定は、GNU Emacs の `version-control' 変数と同様です。
より分かりやすい同義語も認識されます。
有効な値は以下の通り(一意に短縮するのも可):
.RS
.TP
`t' または `numbered'
常に数字を付けたバックアップファイルを作ります。
.TP
`nil' または `existing'
すでにバックアップファイルが存在すれば数字付きバックアップ、
それ以外は単純なバックアップを行います。
これがデフォルトです。
.TP
`never' または `simple'
常に単純なバックアップを行います。
.RE
.TP 5
.B "\-x number, \-\-debug=number"
内部のデバッグフラグに値を設定します。
.I patch
コマンドにパッチをあてる人だけに関係するものです。
.SH 作者
Larry Wall <lwall@netlabs.com>
.br
および多くの貢献者の方々。
.SH 環境変数
.TP
.B TMPDIR
テンポラリファイルを置くディレクトリ。デフォルトでは /tmp
.TP
.B SIMPLE_BACKUP_SUFFIX
バックアップファイルに付ける拡張子を指定します。デフォルトでは、
\*(L".orig\*(R" もしくは
\*(L"~\*(R"。
.TP
.B VERSION_CONTROL
数字付きバックアップファイルが作成される際に選択します。
.SH 関連ファイル
$TMPDIR/patch*
.SH 関連項目
diff(1)
.SH パッチ作成者への注意
パッチを作って送付しようとする際に留意すべき点がいくつかあります。
第 1 に、patchlevel.h というファイルを管理することで皆は大変幸せに
なれます。作成したパッチファイルの最初の差分はこの patchlevel.h に
パッチをあて、パッチレベルをインクリメントします。
パッチの中に Prereq: 行を入れておけば、
順番通りにパッチを適用しない限り警告が出ます。
第 2 に、context diff ヘッダか Index: 行で正しくファイル名を指定している
ことを確認して下さい。
サブディレクトリにあるファイルにパッチをあてようとする場合は、
必要に応じて
.B \-p
オプションを指定するよう、ユーザに伝えて下さい。
第 3 に、空のファイルと新規ファイルを比較する差分を送付することで、
新しいファイルを生成することができます。
これは、ターゲットディレクトリにその新ファイルがまだ存在しない場合にのみ
有効です。
第 4 に、リバースパッチを送付しないように気を付けて下さい。
そのパッチは適用済なのかと皆が混乱します。
第 5 に、例えば 582 個の差分をたったひとつのファイルに突っ込んで
ハイサヨナラとすることもできることはできますが、
何か発狂しそうになったときに備えて、
関係あるパッチをいくつかの独立したファイルにまとめあげるほうが
おそらく賢明でしょう。
.SH 診断
ここに列挙しきれないほどたくさんありますが、一般に
.I patch
がパッチファイルを解釈できないことを示しています。
.PP
メッセージ \*(L"Hmm...\*(R" は、
パッチファイル中に処理できないテキストが存在していること、
そして
.I patch
はそのテキスト中にパッチがあるかどうか、もし存在すれば
どういう形式のパッチであるかを推測しようとしていることを
示しています。
.PP
ひとつでもリジェクトファイルが作成されれば、
.I patch
はゼロでない終了ステータスで終了します。
いくつものパッチを繰り返し適用する場合は、
この終了ステータスをチェックし、
パッチが部分的にしか適用されていないファイルに対して
さらなるパッチをあてないようにすべきです。
.SH 警告
.I patch
.I ed
スクリプト形式では行番号のズレを示せません。
また normal diff 形式でも、行番号の誤りを指摘できるのは
\*(L"change\*(R" コマンドや \*(L"delete\*(R" コマンドが現れる場合だけです。
context diff 形式で曖昧度 3 を指定した場合も同様の問題があります。
適切な対話インタフェースが追加されるまでは、
こういう場合は context diff を見比べて修正が意味的に正しいかどうか
確認すべきでしょう。
もちろん、エラーなくコンパイルできれば、
パッチはうまく適用されたという小さなサインにはなりますが、
必ずしもいつもそうだというわけではありません。
.PP
たとえ多くの類推を行わなくてはならない場合でも、
.I patch
は通常、正しい結果を生成します。
しかし、結果が正しいと保証できるのは、
パッチを作成したのと正確に同じバージョンのファイルに対して
パッチを適用した場合だけです。
.SH バグ
多めの \&deviant オフセットと入れ換えコードにより、
部分的なマッチングに関して更に賢くできますが、
そのためにはパスを追加する必要がありそうです。
.PP
コードが複製されている場合(例えば #ifdef OLDCODE ... #else ... #endif に
よって)、
.I patch
は両者にパッチをあてることができません。
そしてそこでパッチコマンドがうまくいった場合、
そのパッチはおそらく誤って適用されており、
おまけに「成功しました」と報告してきます。
.PP
既に適用済のパッチをあてると、
.I patch
はそれをリバースパッチと考え、適用したパッチを外すかどうか尋ねてきます。
これも特徴の一つと解釈可能でしょう。
.rn }` ''
diff --git a/ja/man/man1/pax.1 b/ja/man/man1/pax.1
index 73d76ab2c5..965c9aaf4c 100644
--- a/ja/man/man1/pax.1
+++ b/ja/man/man1/pax.1
@@ -1,1175 +1,1175 @@
.\" Copyright (c) 1992 Keith Muller.
.\" Copyright (c) 1992, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Keith Muller of the University of California, San Diego.
.\"
.\" 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.
.\"
.\" @(#)pax.1 8.4 (Berkeley) 4/18/94
-.\" %Id: pax.1,v 1.3.2.3 1998/07/16 09:35:43 jkh Exp %
+.\" %Id: pax.1,v 1.8 1998/05/31 22:43:57 steve Exp %
.\" jpman %Id: pax.1,v 1.4 1997/08/25 03:45:37 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt PAX 1
.Os BSD 4.4
.Sh 名称
.Nm pax
.Nd ファイルアーカイブの読み書きやディレクトリ階層のコピーを行う
.Sh 書式
.Nm pax
.Op Fl cdnv
.Bk -words
.Op Fl f Ar archive
.Ek
.Bk -words
.Op Fl s Ar replstr
.Ar ...
.Ek
.Bk -words
.Op Fl U Ar user
.Ar ...
.Ek
.Bk -words
.Op Fl G Ar group
.Ar ...
.Ek
.Bk -words
.Oo
.Fl T
.Op Ar from_date
.Op Ar ,to_date
.Oc
.Ar ...
.Ek
.Op Ar pattern ...
.Nm pax
.Fl r
.Op Fl cdiknuvDYZ
.Bk -words
.Op Fl f Ar archive
.Ek
.Bk -words
.Op Fl o Ar options
.Ar ...
.Ek
.Bk -words
.Op Fl p Ar string
.Ar ...
.Ek
.Bk -words
.Op Fl s Ar replstr
.Ar ...
.Ek
.Op Fl E Ar limit
.Bk -words
.Op Fl U Ar user
.Ar ...
.Ek
.Bk -words
.Op Fl G Ar group
.Ar ...
.Ek
.Bk -words
.Oo
.Fl T
.Op Ar from_date
.Op Ar ,to_date
.Oc
.Ar ...
.Ek
.Op Ar pattern ...
.Nm pax
.Fl w
.Op Fl dituvHLPX
.Bk -words
.Op Fl b Ar blocksize
.Ek
.Oo
.Op Fl a
.Op Fl f Ar archive
.Oc
.Bk -words
.Op Fl x Ar format
.Ek
.Bk -words
.Op Fl s Ar replstr
.Ar ...
.Ek
.Bk -words
.Op Fl o Ar options
.Ar ...
.Ek
.Bk -words
.Op Fl U Ar user
.Ar ...
.Ek
.Bk -words
.Op Fl G Ar group
.Ar ...
.Ek
.Bk -words
.Op Fl B Ar bytes
.Ek
.Bk -words
.Oo
.Fl T
.Op Ar from_date
.Op Ar ,to_date
.Op Ar /[c][m]
.Oc
.Ar ...
.Ek
.Op Ar file ...
.Nm pax
.Fl r
.Fl w
.Op Fl diklntuvDHLPXYZ
.Bk -words
.Op Fl p Ar string
.Ar ...
.Ek
.Bk -words
.Op Fl s Ar replstr
.Ar ...
.Ek
.Bk -words
.Op Fl U Ar user
.Ar ...
.Ek
.Bk -words
.Op Fl G Ar group
.Ar ...
.Ek
.Bk -words
.Oo
.Fl T
.Op Ar from_date
.Op Ar ,to_date
.Op Ar /[c][m]
.Oc
.Ar ...
.Ek
.Op Ar file ...
.Ar directory
.Sh 解説
.Nm
は、アーカイブファイルの読み込み、書きだし、アーカイブファイルに
格納されているファイルの一覧読みだし、そしてディレクトリ階層のコピーを
行います。
.Nm
の操作は指定したアーカイブフォーマットとは独立しており、また
.Nm
は広範囲に渡る種類のアーカイブフォーマットの操作をサポートします。
.Nm
のサポートするアーカイブフォーマット一覧は、
.Fl x
オプションの説明時に示します。
.Pp
.Fl r
および
.Fl w
は、以下の
.Nm
の機能モードのいずれかを指定するのに用いられます。その機能モードとは、
.Em 一覧表示モード、読み込みモード、書き込みモード、コピーモード
の 4 つです。
.Bl -tag -width 6n
.It <none>
.Em 一覧表示モードです。
.Nm
は、
.Dv 標準入力
から読み込まれたアーカイブ内の格納ファイルのリストを
.Dv 標準出力
へ書き出します。標準入力から読み込まれるファイルのパス名は、指定した
.Ar pattern
に一致するものが採用されます。
ファイル一覧は 1 行に 1 つのファイル名を含み、1 行バッファリングを行って
書き出されます。
.It Fl r
.Em 読み込みモードです。
.Nm
は、
.Dv 標準入力
からアーカイブ読み込み、その内に格納されたファイルのうち指定した
.Ar pattern
に一致するファイル名を持つファイルを展開します。
アーカイブフォーマット及びブロック化係数は、自動的に入力から決定されます。
展開されるファイルがディレクトリの場合、そのディレクトリ配下に連なる
ファイル階層は完全な形で展開されます。
展開される全てのファイルは、現在のファイル階層からの相対ディレクトリに
生成されます。展開されるファイルの所有権、アクセス時刻、更新時刻、
そしてファイルモードの設定についての詳細は、
.Fl p
オプションのところで述べます。
.It Fl w
.Em 書き込みモードです。
.Nm
は、
.Ar file
オペランドで指定したファイル群のアーカイブを
指定したフォーマットで標準出力に書き出します。
.Ar file
オペランドが指定されない場合には、1 行に 1 つずつ
コピーするファイルを記述したリストを標準入力から読み込みます。
.Ar file
オペランドがディレクトリの場合、そのディレクトリ配下の
全ファイルが作成されるアーカイブに含まれます。
.It Fl r Fl w
.Em コピーモードです。
.Nm
は、ファイルオペランドで指定したファイル群を、指定した
.Ar ディレクトリ
にコピーします。
.Ar file
オペランドが指定されない場合には、1 行に 1 つずつ
コピーするファイルを記述したリストを標準入力から読み込みます。
.Ar file
オペランドがディレクトリの場合、そのディレクトリ配下のファイルがすべて、
コピー先として指定したディレクトリ配下に作成されます。
.Em コピーモード
は、ファイルがアーカイブファイルに対して書き込まれ、
そして一方でそのアーカイブファイルが展開されるかのように見ます。
ただし、これはオリジナルファイルとコピーファイルの間に
ハードリンクが張られるかも知れない事を除きます
.Ns ( Fl l
オプションを参照して下さい)。
.Pp
.Em 注意
コピー先の
.Ar ディレクトリ
には、コピー元にあるものと同じファイル名の
.Ar file
オペランドや
.Ar file
オペランドで指定されるディレクトリ階層の配下にあるファイル名などを
指定してはいけません。
そのような場合、
.Em コピー
の結果は予測できないものになります。
.El
.Pp
.Em 読み込み
操作や
.Em 一覧表示
動作において壊れたアーカイブを処理する場合、
.Nm
は媒体破損を可能な限り復旧し、
アーカイブの中から可能な限りのファイルを処理しようと試みます (エラー時の
処理の詳細は
.Fl E
オプションを参照して下さい)。
.Sh オペランド
.Pp
.Ar directory
オペランドは、コピー先ディレクトリの指定を行います。
.Ar directory
オペランドが存在しない場合、もしくはユーザが書き込みを出来ない、
もしくは指定したオペランドがディレクトリでない場合には、
.Nm
は、0 以外のステータスでプログラムを終了します。
.Pp
.Ar pattern
オペランドは、アーカイブに格納されているファイルの名前を選択するために
用いられます。
アーカイブメンバは、
.Xr fnmatch 3
に記述のある表記に一致するパターンを用いて選択されます。
.Ar pattern
オペランドが指定されない場合には、アーカイブ内に格納されている
全てのメンバが選択されます。
.Ar pattern
がディレクトリ名と一致する場合には、そのディレクトリ配下の階層に
位置する全てのファイルが選択されます。
もしアーカイブ内に
.Ar pattern
オペランドの指定と一致する名前のファイルがない場合には、
.Nm
.Ar 標準エラー出力
に出力される診断メッセージにこの
.Ar pattern
オペランドを書き出し、0 以外のステータスでプログラムを終了します。
.Pp
.Ar file
オペランドは、コピーもしくはアーカイブされるファイルのパス名を指定します。
.Ar file
オペランドが 1 つもアーカイブメンバを選択しない場合には、
.Nm
.Dv 標準エラー出力
に出力される診断メッセージにこの
.Ar file
オペランドの内容を書き出し、0 以外のステータスでプログラムを終了します。
.Sh オプション
.Pp
.Nm
では、以下のオプションが使用可能です。
.Bl -tag -width 4n
.It Fl r
アーカイブファイルを
.Dv 標準入力
から読み込み、
.Ar files
で指定したファイルを展開します。
アーカイブされているファイルの展開に中間ディレクトリの作成が必要な場合、
これらのディレクトリは、
.Xr mkdir 2
の mode 引数のところに
.Dv S_IRWXU , S_IRWXG , S_IRWXO
.Dv 論理和
を指定して呼び出された場合と同様に作成されます。
選択されたアーカイブ形式がリンクファイルの指定をサポートし、
かつアーカイブ展開時にリンク不可能である場合には、
.Nm
は、処理が終了する時に、診断メッセージを
.Dv 標準エラー出力
に書き出し、0 以外のステータスで終了します。
.It Fl w
指定したアーカイブフォーマットで、
.Dv 標準出力
にアーカイブを書き出します。
.Ar file
オペランドが指定されない場合には、1 行につき展開するファイルのパス名 1 つを
記述したリストを
.Dv 標準入力
から読み込みます。
このリストの各行の先頭や末尾には
.Aq 空白
を入れてはいけません。
.It Fl a
すでに存在するアーカイブファイルの後ろに、ファイル
.Ar files
を追加書き込みします。
.Fl x
オプションによるアーカイブフォーマット指定がされない場合、
アーカイブフォーマットは追加書き込み対象となるアーカイブファイルの
フォーマットと同一になります。
アーカイブファイルに対して、そのアーカイブファイルのフォーマットと
異なるフォーマットを用いてファイルを追加書き込みをしようとした場合、
.Nm
は即時に 0 以外の終了ステータスでプログラム終了します。
アーカイブボリュームに最初に書き込んだブロックサイズを引き継いで、
残りのアーカイブボリュームのブロックサイズとします。
.Pp
.Em 注意 :
多くの記憶装置は追加書き込み処理に必要な操作をサポートできません。
そのようなサポートしていないデバイスに対するアーカイブの追加書き込みは、
アーカイブの破損もしくは他の予期せぬ結果を招くことになります。
特に、テープドライブに対する追加書き込み処理は、最もサポートしそうにない
ものです。
普通のファイルシステムのファイルとして、もしくはディスクデバイス上に
保存されているアーカイブについては、通常は追加書き込み処理をサポートします。
.It Fl b Ar blocksize
アーカイブを
.Em 書き出す
際、アーカイブへと書き出す内容を blocksize (正の整数) で指定したバイト数
でブロック化します。
.Ar blocksize
で指定出来る値は、512 の倍数でなくてはならず、最大は 32256 です。
.Ar blocksize
で指定する数は、その最後に
.Li k
もしくは
.Li b
を付加することで、1024(1K) もしくは 512 の倍数として指定できます。
.Ar blocksizes
に指定する数字を
.Li x
で区切ることで、文字 x で区切られた数字の積がブロックサイズとして採用されます。
アーカイブの書き込みのために指定するデバイスによっては、
ブロックサイズに対してさらに制限がかかることがあります。
ブロック化が指定されない場合には、デフォルトの
.Ar blocksize
は使用される特定のアーカイブフォーマットに依存します。
.Ns ( Fl x
オプションを参照して下さい)。
.It Fl c
.Ar pattern
に指定されたパターンにマッチしたファイルおよび
.Ar file
オペランドで指定されたファイル
.Em 以外
の、全てのファイルもしくはアーカイブ内メンバにマッチします。
.It Fl d
コピーもしくはアーカイブされるディレクトリ、もしくはアーカイブに格納され
ているディレクトリについて、指定パターンに一致した名前のディレクトリもし
くはアーカイブ内に格納されているディレクトリのみ処理し、そのディレクトリ
配下にあるファイルについては処理しません。
.It Fl f Ar archive
.Ar archive
で指定したファイルを入力元のアーカイブもしくは出力先のアーカイブに指定し
ます。この場合、デフォルトの
.Dv 標準入力
.Ns ( Em 一覧表示モード
および
.Em 読み込みモード
の場合) もしくは
.Dv 標準出力
.Ns ( Em 書き込みモード
) については無視されます。
1 つのアーカイブが複数のファイルもしくは異なるアーカイブデバイスに渡って
も構いません。必要があった場合、
.Nm
は、アーカイブの格納されている次のボリュームのファイルもしくはデバイスの
パス名の入力を促します。
.It Fl i
対話的にファイルもしくはアーカイブ内に格納されるファイルのリネームを行います。
.Ar pattern
で指定した文字列パターンに一致するアーカイブ内の格納ファイルもしくは
.Ar file
オペランドの指定に一致するファイルについて、
.Nm
.Pa /dev/tty
に対してファイルの名前やファイルモード、そしてファイルの更新時刻を表示して
入力を促します。
それから
.Nm
.Pa /dev/tty
からデータを 1 行読み込みます。
その行が空行だった場合には、その時のファイルもしくはアーカイブ内の
格納ファイルについては、処理を行いません。
その行がピリオド 1 つだけの行だった場合には、その時のファイルもしくは
アーカイブ内の格納ファイルについては、ファイル名についての更新は行いません。
それ以外の場合には、ファイル名はその行の文字列で指定した名前に変更されます。
上記操作中に
.Dv <EOF>
.Pa /dev/tty
から受けとった場合、もしくは何らかの理由で
.Pa /dev/tty
をオープン出来なかった場合、
.Nm
は 0 以外の終了ステータスで即座に終了します。
.It Fl k
すでに存在するファイルに対する上書きをしません。
.It Fl l
(アルファベットの ``エル'' ) ファイルをリンクします。
.Em コピーモード
.Ns ( Fl r
.Fl w
) の場合には、コピー元コピー先間には可能な限りハードリンクが作成されます。
.It Fl n
アーカイブに格納されるファイルのうち、各
.Ar pattern
オペランドに指定した文字列パターンに一致するファイル名を持つ最初のものを
選択します。
アーカイブに格納されるファイルのうち
.Ar pattern
オペランドに指定した文字列パターン
に一致するもので、2 つめ以降のものは選択されません。
文字列パターンで指定した条件に合致するものがディレクトリだった場合、
そのディレクトリ配下のファイルについても選択されたものとみなされます(ただし、
.Fl d
オプションが指定された場合にはこの限りではありません)。
.It Fl o Ar options
.Fl x
で指定されるアーカイブフォーマットから特定される、
アーカイブファイル展開/書き出しアルゴリズムの更新情報を指定します。
一般的に、
.Ar options
.Cm name=value
のように指定されます。
.It Fl p Ar string
1 つ以上のファイルの属性操作に関する動作をオプション指定します。
.Ar string
オプション引数は、ファイル展開時に、展開ファイルの属性を保存するか破棄す
るかを指定する文字列です。
string は、
.Cm a , e , m , o , p
の 5 つの指定文字から成ります。
複数の属性を同じ文字列の中につなげて記述したり、複数の
.Fl p
オプションを指定したりすることもできます。
これらの文字は、以下のように動作の指定を行います:
.Bl -tag -width 2n
.It Cm a
ファイルのアクセス時間を保存しません。
デフォルトでは、ファイルのアクセスタイムは可能な限り保存されます。
.It Cm e
ファイルのユーザ ID, グループ ID, ファイルモードのビット、ファイルの
アクセス時間、ファイルの更新時間、これらの
.Sq 全ての属性を保存します。
本オプションは、
.Em スーパユーザ、
もしくは適正な権限を持ったユーザによって
使用されることを推奨します。
これは、アーカイブ内に格納されたすべてのファイルについて、
そのファイルの特性を保存するためです。
フラグを指定した場合は、
.Cm o
および
.Cm p
フラグを指定したのと同様の効果を持ちます。
.It Cm m
ファイルの更新時間を保存しません。
デフォルトでは、ファイルの更新時間は可能な限り保存されます。
.It Cm o
ユーザ ID とグループ ID を保存します。
.It Cm p
ファイルモードのビットを
.Sq 保存します。
本オプションは、
ファイルについて、所有者情報以外の全ての情報の保存を希望するなど適正な
権限を持った
.Em ユーザ
に使用されることを推奨しています。
ファイルの時刻はデフォルトで保存されますが、
これを無効にしたり、展開時の時刻を用いるようにするために
別に 2 つのフラグが用意されています。
.El
.Pp
先述のオプション一覧にて、
.Sq 属性の保存
とは、起動したプロセスの権限に応じて
アーカイブ内に保存された属性が展開ファイルに反映されることを意味します。
これ以外の場合は、展開されるファイルの属性は、
通常のファイル生成と同様に決定されます。
.Cm e
.Cm o
のどちらも指定されない場合、あるいは
ユーザ ID とグループ ID がいかなる理由にせよ保存されない場合、
.Nm
はファイル属性中の
.Dv S_ISUID
.Em ( setuid )
および
.Dv S_ISGID
.Em ( setgid )
のビットを設定しません。
これらの情報の引き継ぎが何らかの理由で失敗した場合、
.Nm
は診断メッセージを
.Dv 標準エラー出力
に書き出します。
これらの情報の保存失敗は、最終的な終了ステータスに影響しますが、
展開されたファイルが削除されるようなことはありません。
ファイル属性の操作に関するオプション文字が重複していたり、
他のオプション文字と処理上の競合を起こす場合には、
それらのオプションの中で一番最後に記述されたものの処理が採用されます。
例えば、
.Dl Fl p Ar eme
が指定された場合には、ファイルの更新時間は保存されます。
.It Fl s Ar replstr
アーカイブ内に格納されているファイルのうち、
.Ar pattern
オペランドもしくは
.Ar file
オペランドで指定されたもののファイル名を、
.Ar replstr
で指定された置換表現にしたがって更新します。この置換表現は、
.Xr ed 1
にて記述されている正規表現の書法に準じます。
これらの正規表現の書式は
.Dl /old/new/[gp]
です。
.Xr ed 1
に示されるように、
.Cm old
は基本的な正規表現であり、
.Cm new
はアンパサンド (&)、後方参照 \\n (nの部分は数字が入ります)、
補助表現を含むことができます。
文字列
.Cm old
には、
.Dv 改行文字
を含んでも構いません。
ヌル文字以外のいかなる文字も、区切り文字として用いることが可能です
(ここでは / を示しました)。
また、複数の
.Fl s
表現を指定することが許されています。
これらの表現はコマンドラインで指定された順に適用され、
最初の置換が成功した時点でその置換を終了します。
置換処理の追加処理指定として、
.Cm g
を指定した場合には、継続してファイル名の置換を行うことを指示します。
この場合、前回置換に成功した直後の文字から継続して置換を行います。
そして最初に置換を失敗したときに
.Cm g
オプションの処理を終了します。
置換処理の追加処理指定として
.Cm p
を指定した場合には、最初の置換成功結果を
.Dv 標準エラー出力
に以下のフォーマットで書き出します:
.Dl <original pathname> >> <new pathname>
空白文字に置換される通常ファイルもしくはアーカイブ内に格納されたファイルの
ファイル名は、処理対象として選択されず、そのファイル名に対する
処理はスキップされます。
.It Fl t
.Nm
が読み込んだ、もしくはアクセスした全てのファイルやディレクトリの
アクセス時間を、
.Nm
がそれらのファイルやディレクトリを処理する前のものに再設定します。
.It Fl u
同じ名前ですでに存在するファイルやアーカイブ内に格納されているファイルより
古い (ファイル更新時刻が古い) ファイルを無視します。
.Em 読み込み処理
においては、アーカイブ内のファイルにファイルシステム上にすでに存在するものと
同じ名前のファイルがあり、アーカイブ内のファイルの方が新しい場合に、
アーカイブ内のファイルが展開されます。
.Em 書き込み処理
においては、ファイルシステム上のファイルとアーカイブ内のファイルの名前が
同じもので、かつファイルシステム上のファイルの方がアーカイブ内のものより
も新しい場合に、ファイルシステム上のファイルのアーカイブへの格納が行われます。
.Em コピー処理
においては、コピー先にあるファイルとコピー元にあるファイルが同一のファイル名
を持ち、かつコピー元にあるファイルの方が新しい場合に、
コピーあるいはリンクが行われます。
.It Fl v
.Em 一覧表示処理
において、
.Xr ls 1
コマンドの
.Fl l
オプションを用いた時の表示と同じ形式を用いて、アーカイブ内容の表示を行います。
アーカイブの他のメンバとの間にハードリンクを構成するファイルのパス名に
ついては、以下のフォーマットで出力されます。
.Dl <ls -l listing> == <link name>
アーカイブの他のメンバとの間にシンボリックリンクを構成するファイルの
パス名については、以下のフォーマットで出力されます。
.Dl <ls -l listing> => <link name>
ここで <ls -l listing> の箇所は、
.Xr ls 1
コマンドを
.Fl l
オプションを付けて実行した場合の出力形式になります。
他のオプショナルモード (読み込みモード、書き込みモード、そしてコピーモード)
の場合には、当該ファイルもしくはアーカイブ内のファイルの処理が始まるとすぐに、
それらのパス名が末尾の
.Dv 改行文字
なしで
.Dv 標準エラー出力
に書き込まれ、フラッシュされます。
ファイル名に付随する
.Dv 改行文字
はバッファリングされることなく、ファイルが読み込まれたもしくは書き込まれた
直後に書き出されます。
.It Fl x Ar format
出力されるアーカイブフォーマットを指定します。デフォルトフォーマットは、
.Ar ustar
フォーマットです。
.Nm
は、現在以下のアーカイブフォーマットをサポートします:
.Bl -tag -width "sv4cpio"
.It Ar cpio
.St -p1003.2
標準にて規定される、拡張 cpio 交換形式です。
本フォーマットのデフォルトブロックサイズは、5120 バイトです。
このフォーマットで欠落するファイルの inode およびデバイス情報 (この
フォーマットでファイルのハードリンクの検出に用いられます) は、
.Nm
にて検出され、復元されます。
.It Ar bcpio
古い binary cpio フォーマットです。
本フォーマットのデフォルトのブロックサイズは、5120 バイトです。
本フォーマットはポータビリティがそれほどよくないので、別のフォーマットが
使えるならば、そちらを使用したほうがよいでしょう。
このフォーマットで欠落するファイルの inode およびデバイス情報 (この
フォーマットでファイルのハードリンクの検出に用いられます) は、
.Nm
にて検出され、復元されます。
.It Ar sv4cpio
Unix System V Release 4(SVR4) の cpio フォーマットです。
本フォーマットのデフォルトのブロックサイズは 5120 バイトです。
このフォーマットで欠落するファイルの inode およびデバイス情報 (この
フォーマットでファイルのハードリンクの検出に用いられます) は、
.Nm
にて検出され、復元されます。
.It Ar sv4crc
SVR4 で使用される、ファイルの crc チェックサムつきの cpio フォーマットです。
本フォーマットのデフォルトのブロックサイズは 5120 バイトです。
このフォーマットで欠落するファイルの inode およびデバイス情報 (この
フォーマットでファイルのハードリンクの検出に用いられます) は、
.Nm
にて検出され、復元されます。
.It Ar tar
BSD4.3 から用いられている古い BSD tar フォーマットです。
本フォーマットのデフォルトのブロックサイズは、10240 バイトです。
本フォーマットでは、アーカイブ内に格納されるファイルのパス名は 100 文字以内
でなくてはなりません。
.Em 通常ファイル、ハードリンクファイル、
.Em シンボリックリンクファイル、ディレクトリ
のみがアーカイブ内に格納されます (他のファイルシステムタイプについては、
サポートされません)。
さらに古い tar フォーマットとの過去の互換性は、
.Fl o
オプションを用いて、アーカイブへのファイル保存時に
ディレクトリを無視することで実現されます。
本オプションは、以下のように指定します:
.Dl Fl o Cm write_opt=nodir
.It Ar ustar
.St -p1003.2
標準にて規定される、
拡張 tar 交換形式です。
本フォーマットのデフォルトのブロックサイズは、10240 バイトです。
本フォーマットのアーカイブ内に保存されるファイルのパス名は、250 文字以下
の長さでなくてはなりません。
.El
.Pp
.Nm
は、指定したアーカイブフォーマットの制限に起因して、ファイルの
アーカイブへの格納もしくはアーカイブからのファイルの展開が出来ない場合には、
それを検出し、報告します。
各アーカイブフォーマットを使用した場合には、
使用時に更にそのアーカイブフォーマットの制限が課せられることがあります。
典型的なアーカイブフォーマットの制限は、ファイルのパス名の長さ、
ファイルサイズ、リンクファイルの指すファイルのパス名の長さ、
そしてファイルタイプなど。
(なお、制限要素はこれらに限られるわけではありません。)
.It Fl B Ar bytes
単一のアーカイブボリュームに書き出される最大データ長を、
.Ar bytes
で制限します。
.Ar bytes
パラメータの末尾には
.Li m ,
.Li k ,
.Li b
のいずれかの文字を付加でき、それぞれ 1048576 (1M), 1024 (1K), 512 の倍数を
意味します。
また、
.Ar bytes
に指定する数字を
.Li x
で区切ることで、文字 x で区切られた数字の積がブロックサイズとして採用されます。
.Pp
.Em 警告 :
最後の (もしくは最大の) 書き込み時のオフセットに基づいた EOF をサポートする
デバイス (テープや通常ファイルなどのようなもの) にアーカイブを書き出す時
にのみ本オプションを使って下さい。
本オプションをフロッピーやハードディスクデバイスファイルに対して用いる
ことは、推奨しません。
.It Fl D
本オプションは、
.Fl u
オプションと同様の動作を行いますが、ファイルの更新時間の代わりに
ファイルの inode 変更時間がチェックされるところが異なります。
ファイルの inode 変更時間は、inode 情報 (ユーザ ID、グループ ID、その他) が
コピー先のディレクトリ
.Ar directory
にあるものよりも新しいファイルを選択するのに用いられます。
.It Fl E Ar limit
部分的に破損したアーカイブの読み込みをリトライする際、その読み込み失敗回数を
.Ar limit
までに制限します。
.Ar limit
に正の数を指定した場合、
.Nm
はアーカイブの読み込みエラーからの復帰を試行し、アーカイブに格納されて
いる次のファイルから処理を継続します。
.Ar limit
が 0 の場合、
.Nm
は最初のリードエラーがアーカイブボリュームに発生したところで処理を停止します。
.Ar limit
.Li NONE
の場合には、読み込み失敗からの復帰を永遠に試行します。
デフォルトの
.Ar limit
の値は、小さい正の整数(リトライ回数)です。
.Pp
.Em 警告 :
.Nm
コマンドを、本オプションを
.Li NONE
指定して起動する場合には十分に気をつけて下さい。
というのも、処理対象となるアーカイブがぼろぼろに破損していた場合には、
処理が無限ループに陥る可能性があるからです。
.It Fl G Ar group
グループ名が
.Ar group
で指定したものであるファイルを選択します。
グループ名が
.Cm #
で始まる場合には、ファイルのグループ ID がそれに連なる数字のものを
選択します。'\\' を用いて
.Cm #
をエスケープすることができます。
.Fl G
オプションは、複数指定することが可能です。
この場合、最初にグループ名もしくはグループIDが一致したらところで
チェックは停止します。
.It Fl H
物理的にファイルシステムトラバースを行いながら、
コマンドラインで指定されたファイルについてのみ
シンボリックリンクをたどります。
.It Fl L
全てのシンボリックリンクファイルをたどります。
すなわち、論理的にファイルシステムトラバースを行います。
.It Fl P
シンボリックリンクをたどりません。
すなわち、物理的にファイルシステムトラバースを行います。
デフォルトはこのモードです。
.It Fl T Ar [from_date][,to_date][/[c][m]]
ファイル更新時間もしくは inode 更新時間が
.Ar from_date
から
.Ar to_date
の間 (それぞれで指定した時間も含みます) にあるファイルを選択します。
.Ar from_date
のみ指定された場合には、ファイル更新時間もしくは inode 更新時間が
その時間と同じかそれより新しいもののみ選択されます。
.Ar to_date
のみ指定された場合には、ファイル更新時間もしくは inode 更新時間が
その時間と同じかそれより古いもののみ選択されます。
.Ar from_date
.Ar to_date
が等しい場合には、ファイル更新時間もしくは inode 更新時間が
その時間と等しいものが選択されます。
.Pp
.Nm
.Em 書き込みモード
もしくは
.Em コピーモード
の場合には、オプションフィールドとして
.Ar [c][m]
を指定することが可能です。このフィールドは、時間の比較に inode更新時間と
ファイル更新時間のどちら(あるいは両方)を使うかを決定します。
どちらも指定されない場合(デフォルト時)には、ファイル更新時間のみが用いられます。
.Ar m
は、ファイル更新時間 (ファイルへの書き込みが最後に行われた時間) を
比較対象として用います。
.Ar c
は、inode 更新時間 (inode が最後に更新された時間。例えば所有者、
グループ、モードその他が更新された時間) を比較対象として用います。
.Ar c
.Ar m
の両者が指定された場合、ファイル更新時間と inode 更新時間の両者が比較対象
になります。
inode 更新時間の比較は、最近属性が変更されたファイルや
最近作成されたファイル、そしてファイル更新時間が古いものに再設定された
ファイル (ファイル更新時間を保存するオプションを用いてアーカイブから
展開されたファイルなどがこれにあたります) を選択するのに便利です。
ファイル時間も併用して時間比較をする機能は、
.Nm
を用いて、
時間を基準にしたインクリメンタルアーカイブ (指定した期間内に更新された
ファイルのみアーカイブすること) を行うのに便利です。
.Pp
時間の範囲は、6 つの異なるフィールドから成り、各フィールドは 2 ケタの数字を
含む必要があります。
その形式は以下の通りです:
.Dl [yy[mm[dd[hh]]]]mm[.ss]
.Cm yy
は、年号 (西暦) の最後の 2 桁です。
最初の
.Cm mm
は、月 (01 から 12) です。
.Cm dd
は、日付 (01 から 31 まで) です
.Cm hh
は、時 (00 から 23 まで) です。
2 番めの
.Cm mm
は、分 (00 から 59 まで)です。
そして、
.Cm ss
は、秒 (00 から 59 まで)です。
分のフィールドの
.Cm mm
は、省略不可であり、他のフィールドはオプションであり、以下の順序で
付加されなければなりません:
.Dl Cm hh , dd , mm , yy
ただし、
.Cm ss
フィールドだけは、他のフィールドとは独立して付加可能です。
時間の範囲は、現在時刻からの相対値で表され、
.Dl Fl T Ar 1234/cm
は、本日の 12:34 PM から後のファイル更新時間、もしくは inode 更新時間を持つ
ファイルを選択することを表します。
複数の
.Fl T
による時間範囲指定を行うことが許可されており、
指定した範囲のうちいずれかと一致したら、その後の範囲チェックは行いません。
.It Fl U Ar user
ファイルの所有者名
.Ar user
に基づいて、ファイル選択が行われます。所有者名が
.Cm #
で始まる場合には、ファイルの UID がそれに連なる数字のものを
選択します。'\\' を用いて
.Cm #
をエスケープすることができます。
複数の
.Fl U
オプションを指定することが許されており、その指定の中で最初にユーザが
一致した場合には、それ以降のユーザ名のチェックは行いません。
.It Fl X
パス名で指定されたファイル階層をトラバースする場合に、異なるデバイス ID を
持つディレクトリへは下りていきません。
デバイス ID について詳細な情報を取得したい場合には、
.Xr stat 2
.Li st_dev
フィールドを参照して下さい。
.It Fl Y
本オプションは、
.Fl D
オプションと動作が似ていますが、全てのファイル名更新が終了した後、
生成されたパス名を用いて inode 更新時間をチェックするところが異なります。
.It Fl Z
本オプションは、
.Fl u
オプションと動作が似ていますが、全てのファイル名更新が終了した後、
生成されたパス名を用いて、ファイル更新時間をチェックするところが異なります。
.El
.Pp
ファイルもしくはアーカイブ内に格納されたファイルについての操作を制御する
オプション (
.Fl c ,
.Fl i ,
.Fl n ,
.Fl s ,
.Fl u ,
.Fl v ,
.Fl D ,
.Fl G ,
.Fl T ,
.Fl U ,
.Fl Y ,
.Fl Z )
は、相互に以下のような影響を及ぼします。
.Pp
.Em 読み込み
処理におけるファイル展開時には、
展開されるファイルは、まず、アーカイブ内に格納されるファイルのうち
.Fl c ,
.Fl n ,
.Fl u ,
.Fl D ,
.Fl G ,
.Fl T ,
.Fl U
のそれぞれのオプションを用いて指定されるユーザ指定のパターンオペランド
に基づいて選択されます。
それらのファイルの中から
.Fl s
および
.Fl i
オプションがこの順に、選択されたファイル名を修正します。
それから、最終的なファイル名にて
.Fl Y
および
.Fl Z
オプションによる条件を用いて絞り込みを行い、処理するファイルのパス名が
決まります。
そして最後に、
.Fl v
オプションは、これまでの処理結果として得られた名前をファイル名として
書き出します。
.Pp
.Em 書き込み
操作や
.Em コピー
操作のファイルアーカイブでは、以下のオプション
.Fl n ,
.Fl u ,
.Fl D ,
.Fl G ,
.Fl T ,
.Fl U
(
.Fl D
オプションはコピー操作時のみ適用されます) によって
アーカイブメンバのファイルを選択します。
続いて、それらのファイルの中から
.Fl s
および
.Fl i
オプションがこの順に、選択されたファイル名を修正します。
それから
.Em コピー
処理においては、最終的なファイル名にて
.Fl Y
および
.Fl Z
オプションによる条件を用いて絞り込みを行い、処理するファイルのパス名が
決まります。
そして最後に、
.Fl v
オプションは、これまでの処理結果として得られた名前をファイル名として
書き出します。
.Pp
.Fl n
といっしょに
.Fl u
オプションあるいは
.Fl D
オプションのどちらか、もしくは両方が指定された場合、そのファイルが
比較対象のファイルより新しくなければ、そのファイルは選択されたとは
みなされません。
.Sh 使用例
コマンド:
.Dl pax -w -f /dev/rst0 .\
は、カレントディレクトリの内容を
.Pa /dev/rst0
にコピーします。
.Pp
コマンド:
.Dl pax -v -f filename
は、
.Pa filename
で指定したアーカイブに格納されているファイル内容の詳細な一覧を表示します。
.Pp
以下のコマンド:
.Dl mkdir /tmp/foo
.Dl cd /tmp/bar
.Dl pax -rw .\ /tmp/foo
を実行すると、
.Pa /tmp/bar
配下のディレクトリ階層全体を
.Pa /tmp/foo
にコピーします。
.Pp
コマンド:
.Dl pax -r -s ',^//*usr//*,,' -f a.pax
は、アーカイブファイル
.Pa a.pax
からデータを読み込み、アーカイブ中の ``/usr'' 配下のファイルを全て、
カレントディレクトリからの相対ディレクトリに展開します。
.Pp
コマンド:
.Dl pax -rw -i .\ dest_dir
は、カレントディレクトリから
.Pa dest_dir
ディレクトリにコピーしますが、ファイルをコピーするかどうかを
対話的に選択します。
.Pp
コマンド:
.Dl pax -r -pe -U root -G bin -f a.pax
は、
.Pa a.pax
中に格納されているファイルのうち、所有者が
.Em root
でグループが
.Em bin
であるファイルを選択し、すべてのファイル属性を保存して展開します。
.Pp
コマンド:
.Dl pax -r -w -v -Y -Z home /backup
は、コピー先ディレクトリ
.Pa /backup
にあるファイルのうち、コピー元ディレクトリ
.Pa home
に存在する同名のファイルより (inode 更新時刻もしくは
ファイル更新時刻が) 古いものについて更新を行い、一覧表示します。
.Sh 規格
.Nm
ユーティリティは、
.St -p1003.2
標準のスーパセットです。
オプション
.Fl B ,
.Fl D ,
.Fl E ,
.Fl G ,
.Fl H ,
.Fl L ,
.Fl P ,
.Fl T ,
.Fl U ,
.Fl Y ,
.Fl Z
、アーカイブ形式
.Ar bcpio ,
.Ar sv4cpio ,
.Ar sv4crc ,
.Ar tar
、および
.Ar 一覧表示
モードと
.Ar 読み込み
モードにおける破損したアーカイブの取り扱いは、
.Tn POSIX
標準に対する拡張です。
.Sh 作者
.An Keith Muller
at the University of California, San Diego
.Sh エラー
.Nm
は、以下の値のいずれかで終了します:
.Bl -tag -width 2n
.It 0
すべてのファイルは正常に処理されました。
.It 1
エラーが発生しました。
.El
.Pp
アーカイブ読み込み中に
.Nm
がファイルを作成できない場合やリンクを張れない場合、
アーカイブに書き込み中にファイルが見つからない場合、
.Fl p
オプション指定時にユーザ ID、グループ ID、ファイル属性を保存できない場合には、
診断メッセージが
.Dv 標準エラー出力に
書き出され、0 以外の終了ステータスが返却されますが、
処理自体は継続して行われます。
ファイルへのリンクを作成できない場合には、
.Nm
はファイルの二次コピーを作成しません。
.Pp
アーカイブからのファイルの展開が、シグナル受信もしくはエラー発生により
途中で異常終了した場合、
.Nm
はユーザが指定したファイルの一部分だけを展開して終了する可能性があります。
更に、展開したファイルやディレクトリの属性が不正であったり、
アクセス時間、更新時間も不正である可能性があります。
.Pp
アーカイブの生成が、シグナル受信もしくはエラー発生により
途中で異常終了した場合、
.Nm
は中途半端なアーカイブを生成している可能性があります。
このようなアーカイブは
特定のアーカイブフォーマット規定を満足していない可能性があります。
.Pp
.Em コピー
を行っている最中に、
.Nm
が読み出したのと同じファイルへの書き込みを検出した場合、
そのファイルはコピーされず、診断メッセージが
.Dv 標準エラー出力
へ書き出され、
.Nm
は 0 以外の終了ステータスでプログラム終了します。
diff --git a/ja/man/man1/perl.1 b/ja/man/man1/perl.1
index f16e794d1f..0ce690e653 100644
--- a/ja/man/man1/perl.1
+++ b/ja/man/man1/perl.1
@@ -1,5933 +1,5936 @@
.rn '' }`
.\" jpman %Id: perl.1,v 1.5 1997/10/11 07:57:22 horikawa Stab %
-''' %RCSfile: perl.1,v %%Revision: 1.3.2.1 %%Date: 1997/10/12 08:11:42 %
+''' %RCSfile: perl.1,v %%Revision: 1.5 %%Date: 1998/06/04 21:05:33 %
'''
''' %Log: perl.1,v %
-''' Revision 1.3.2.1 1997/10/12 08:11:42 jmg
-''' MFC: spelling fixes
+''' Revision 1.5 1998/06/04 21:05:33 steve
+''' Fix a bunch of spelling errors.
+'''
+''' PR: 6856
+''' Submitted by: Josh Gilliam <josh@quick.net>
'''
''' Revision 1.4 1997/08/30 12:22:46 jmg
''' fix a few spelling changes
'''
''' Submitted by: Josh Gilliam
'''
''' Closes PR's: 4429, 4431-4438
'''
''' PS: He has agreed to submit all contrib fixes back to the original author.
'''
''' Revision 1.3 1996/10/05 22:26:23 wosch
''' delete doubled words, e.g.: "the the" -> "the"
'''
''' Revision 1.2 1994/10/27 23:16:52 wollman
''' Convince Perl to that is is part of the system, as /usr/bin/perl (binary)
''' and /usr/share/perl (library). The latter was chosen as analogous to other
''' directories already present in /usr/share, like /usr/share/groff_font and
''' (particularly) /usr/share/mk.
'''
.\" Revision 1.1.1.1 1994/09/10 06:27:36 gclarkii
.\" Initial import of Perl 4.046 bmaked
.\"
.\" Revision 1.1.1.1 1993/08/23 21:29:37 nate
.\" PERL!
.\"
''' Revision 4.0.1.6 92/06/08 15:07:29 lwall
''' patch20: documented that numbers may contain underline
''' patch20: clarified that DATA may only be read from main script
''' patch20: relaxed requirement for semicolon at the end of a block
''' patch20: added ... as variant on ..
''' patch20: documented need for 1; at the end of a required file
''' patch20: extended bracket-style quotes to two-arg operators: s()() and tr()()
''' patch20: paragraph mode now skips extra newlines automatically
''' patch20: documented PERLLIB and PERLDB
''' patch20: documented limit on size of regexp
'''
''' Revision 4.0.1.5 91/11/11 16:42:00 lwall
''' patch19: added little-endian pack/unpack options
'''
''' Revision 4.0.1.4 91/11/05 18:11:05 lwall
''' patch11: added sort {} LIST
''' patch11: added eval {}
''' patch11: documented meaning of scalar(%foo)
''' patch11: sprintf() now supports any length of s field
'''
''' Revision 4.0.1.3 91/06/10 01:26:02 lwall
''' patch10: documented some newer features in addenda
'''
''' Revision 4.0.1.2 91/06/07 11:41:23 lwall
''' patch4: added global modifier for pattern matches
''' patch4: default top-of-form format is now FILEHANDLE_TOP
''' patch4: added $^P variable to control calling of perldb routines
''' patch4: added $^F variable to specify maximum system fd, default 2
''' patch4: changed old $^P to $^X
'''
''' Revision 4.0.1.1 91/04/11 17:50:44 lwall
''' patch1: fixed some typos
'''
''' Revision 4.0 91/03/20 01:38:08 lwall
''' 4.0 baseline.
'''
'''
.de Sh
.br
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp
.if t .sp .5v
.if n .sp
..
.de Ip
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
'''
''' Set up \*(-- to give an unbreakable dash;
''' string Tr holds user defined translation string.
''' Bell System Logo is used as a dummy character.
'''
.tr \(*W-|\(bv\*(Tr
.ie n \{\
.ds -- \(*W-
.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.ds L" ""
.ds R" ""
.ds L' '
.ds R' '
'br\}
.el\{\
.ds -- \(em\|
.tr \*(Tr
.ds L" ``
.ds R" ''
.ds L' `
.ds R' '
'br\}
.TH PERL 1 "\*(RP"
.UC
.SH 名称
perl \- 実用的抽出とレポートのための言語
.SH 書式
.B perl
[options] filename args
.SH 解説
.I perl
は、任意のテキストファイルを走査し、そこから情報を取り出し、情報に基づ
いたレポートを出力するために最適化されたインタプリタ言語です。
また、多くのシステム管理作業に適した言語でもあります。
.I perl
は美しい (小さい、エレガント、最小) というよりは、むしろ実用的
(使いやすい、効率的、完全) であることをめざしています。
.I perl
は、C, \fIsed\fR, \fIawk\fR, and \fIsh\fR, の最も良いところを
組み合わせてある (作者の意向としては、でありますが) ので、これらの言語に
なじみのある人には、容易に使えるでしょう。
(言語歴史学者なら、\fIcsh\fR, Pascal, そして BASIC-PLUS の痕跡にさえも
気がつくでしょう。)
式の書式は、C のものに極めて似ています。
他の多くの UNIX ユーティリティと異なり、
.I perl
は、データのサイズを勝手に制限するようなことはなく (メモリのある限りです)、
ファイル全体を一つの文字列として読み込んでしまえます。
再帰の深さには制限がありません。連想配列で使われるハッシュテーブルは、
パフォーマンスの低下を防ぐため、必要に応じて大きくなります。
.I perl
は、大量のデータを非常に迅速に走査する洗練されたパターンマッチ
テクニックを使います。
テキスト走査に最適化されてはいますが、
.I perl
はバイナリデータも扱うこともできて、(dbm が使えるなら) 連想配列に似た
dbm ファイルを作れます。
setuid
.I perl
スクリプトは、多くの馬鹿らしいセキュリティホールを防ぐデータフロー追跡
機構により、C のプログラムより安全です。
普通なら \fIsed\fR, \fIawk\fR, \fIsh\fR を使うような問題で、その能力を
越えていたり、もう少し速く走らせなければならなかったり、
くだらないことを C で書きたくないような場合に
.I perl
がぴったりです。
既存の
.I sed
.I awk
スクリプトを
.I perl
スクリプトにする変換プログラムもあります。
さあ、宣伝はこれで十分でしょう。
.PP
まず始めに、
.I perl
次の場所からスクリプトを探します。
.Ip 1. 4 2
コマンドライン上の
.B \-e
スイッチで指定された行。
.Ip 2. 4 2
コマンドライン上で、最初に指定されたファイルの内容。
(#! の表記をサポートするシステムは、インタプリタをこうして起動します)
.Ip 3. 4 2
標準入力から暗黙のうちに読み込まれます。これは、ファイル名の指定が一つ
もない場合にだけ働きます。\*(--
.I 標準入力
スクリプトに引数を渡すには、スクリプト名として明示的に \- を
指定しなければなりません。
.PP
スクリプトを見つけると、
.I perl
は内部形式にコンパイルし、スクリプトが文法的に正しければ
それを実行します。
.Sh "オプション"
注意: 最初にこのセクションを読んでも意味がわからないかもしれません。
簡単なリファレンスとして前半部分になっています。
.PP
一文字オプションは、次に続くオプションとくっつけてもかまいません。
#! 構造を使うスクリプトを起動する際には一つの引数しか許されないの
で、特に便利です。
例:
.nf
.ne 2
#!/usr/bin/perl \-spi.bak # \-s \-p \-i.bak と同じ
.\|.\|.
.fi
以下のオプションがあります:
.TP 5
.BI \-0 数字
レコードセパレータ ($/) を 8 進数で指定します。
数字がないと、ヌルキャラクタがセパレータになります。
他のコマンドラインスイッチは、前に置くか、もしくは数字の後に続けます。
例えば、ヌル文字を終端としたファイル名を表示可能なバージョンの
.I find
なら、このように書けます。
.nf
find . \-name '*.bak' \-print0 | perl \-n0e unlink
.fi
00 は特殊な値で、
.I perl
はファイルをパラグラフモードで読み込みます。
0777 という値を使うと、この値の文字はないので、ファイル全体を
読み込みます。
.TP 5
.B \-a
.B \-n
.BR \-p
オプションと一緒に用いて、オートスプリットモードを ON にします。
.B \-n
.BR \-p
オプションで自動的に生成される while ループの内側の
最初のところで、@F 配列に対して暗黙の split コマンドが行なわれます。
.nf
perl \-ane \'print pop(@F), "\en";\'
は、次の例と同等になります。
while (<>) {
@F = split(\' \');
print pop(@F), "\en";
}
.fi
.TP 5
.B \-c
.I perl
スクリプトの文法をチェックし、実行せずに終了します。
.TP 5
.BI \-d
perl デバッガのもとでスクリプトを実行します。
デバッグのセクションを参照して下さい。
.TP 5
.BI \-D 数字
デバッグフラッグをセットします。
スクリプトがどのように実行されるかを見るには、
.BR \-D14
を使います。
(これはデバッグ機能を
.IR perl
に組み込んでコンパイルした時にのみ動作します。)
\-D1024 も有用な値で、コンパイルされた文法ツリーをリストします。
\-D512 を使うと、コンパイルされた正規表現を出力します。
.TP 5
.BI \-e " コマンドライン"
一行スクリプトを入力する場合に使えます。
複数行スクリプトを組み立てるには、複数の
.B \-e
コマンドを指定すればできます。
.B \-e
が与えられると、
.I perl
は引数のリストの中からスクリプトファイル名を探しません。
.TP 5
.BI \-i 拡張子
<> 構造で処理されるファイルをその場で修正することを指定します。
入力ファイルをリネームし、出力ファイルを元の名前でオープンし、出力ファイルを
print 文のデフォルト出力にすることで処理されます。
拡張子が与えられれば、バックアップファイルの名前として元のファイル名に
その拡張子を加えたものが使われます。
拡張子が与えられなければ、バックアップファイルは作成されません。
\*(L"perl \-p \-i.bak \-e "s/foo/bar/;" .\|.\|. \*(R" を実行することは、
次のスクリプトと同じです。
.nf
.ne 2
#!/usr/bin/perl \-pi.bak
s/foo/bar/;
これは以下のものとも同等になります。
.ne 14
#!/usr/bin/perl
while (<>) {
if ($ARGV ne $oldargv) {
rename($ARGV, $ARGV . \'.bak\');
open(ARGVOUT, ">$ARGV");
select(ARGVOUT);
$oldargv = $ARGV;
}
s/foo/bar/;
}
continue {
print; # 元の名前のファイルに出力する
}
select(STDOUT);
.fi
ただし、
.B \-i
を用いた方法では、ファイル名が変更された時刻を知るために $ARGV と $oldargv を
比較する必要がないという点が異なります。
実際にはファイルハンドルとして ARGVOUT がセレクトされて使われます。
.I STDOUT
がデフォルト出力のファイルハンドルとして保存され、
ループのあとで戻されることに注意して下さい。
.Sp
入力ファイルすべてに追加を行なう場合や、行番号をリセットしたりする場合、
各入力ファイルの終わりを知るために `eof' を使うことができます。
(eof の例を参照して下さい)
.TP 5
.BI \-I ディレクトリ
.B \-P
と一緒に用いて C プリプロセッサにインクルードファイルの位置を
知らせます。デフォルトでは、/usr/include と /usr/lib/perl を検索します。
.TP 5
.BI \-l 8進数
行末処理を自動的に行ないます。これには二つの効果があります。
まず、
.B \-n
.B \-p
と共に使われることで、行ターミネータを自動的に除きます。
二つ目は、$\e が、
.I 8進数
をセットし、print 文がすべて最後に行末文字をつけるということです。
.I 8進数
が省略された場合は、$\e に $/ の現在の値をセットします。
例えば、行を 80 桁に切り揃えるためには:
.nf
perl -lpe \'substr($_, 80) = ""\'
.fi
$\e = $/ という代入はコマンドラインスイッチが処理される時に
行なわれるので、
.B \-l
スイッチに
.B \-0
が続くときは、入力レコードセパレータと出力レコードセパレータが
異なることもあり得るということに注意して下さい。
.nf
gnufind / -print0 | perl -ln0e 'print "found $_" if -p'
.fi
これは、$\e に改行をセットし、$/ にはヌル文字をセットします。
.TP 5
.B \-n
スクリプトの前後に下に示すループがあるものとして
.I perl
を起動します。こうすると、引数のファイル全部について
\*(L"sed \-n\*(R" または \fIawk\fR と同じような繰り返しが行なわれます:
.nf
.ne 3
while (<>) {
.\|.\|. # ここにスクリプトが来ます
}
.fi
デフォルトで入力行の出力はされないことに注意して下さい。
出力したければ
.B \-p
を参照して下さい。
以下は、1 週間より古いファイルすべてを削除する効率的な方法です。
.nf
find . \-mtime +7 \-print | perl \-nle \'unlink;\'
.fi
この場合、ファイルが見つかるたびにプロセスを開始する必要がないので、
find の \-exec スイッチを使うより速くなります。
.TP 5
.B \-p
スクリプトの前後に下に示すループがあるものとして
.I perl
を起動します。こうすると、引数のファイル全部について
\fIsed\fR と同じような繰り返しが行なわれます:
.nf
.ne 5
while (<>) {
.\|.\|. # ここにスクリプトが来ます
} continue {
print;
}
.fi
入力行は自動的に出力されることに注意して下さい。
出力を抑制したければ、
.B \-n
スイッチを使って下さい。
.B \-p
は、
.B \-n
スイッチに優先します。
.TP 5
.B \-P
.IR perl
によるコンパイルの前に C プリプロセッサを通します。
(perl のコメントも cpp の命令も # の文字で始まるので、
コメントを C プリプロセッサが理解する単語、例えば
\*(L"if\*(R" や \*(L"else\*(R" や \*(L"define\*(R" で始めてはなりません。)
.TP 5
.B \-s
コマンドライン上で、スクリプト名とファイル名の引数
(または \-\|\-) の間にある各スイッチについて基本的な解析を行ないます。
スイッチが見つかると、@ARGV から除かれ、対応する変数を
.I perl
スクリプト内でセットします。
以下のスクリプトでは、\-xyz スイッチをつけてスクリプトを起動したとき
だけ、\*(L"true\*(R" を出力します。
.nf
.ne 2
#!/usr/bin/perl \-s
if ($xyz) { print "true\en"; }
.fi
.TP 5
.B \-S
スクリプトを探すのに、環境変数 PATH を用います
(スクリプト名が / で始まらないかぎり) 。
通常は、#! をサポートしないマシンにおいて #! を
エミュレートするために用いられます。
次のような使い方です:
.nf
#!/usr/bin/perl
eval "exec /usr/bin/perl \-S $0 $*"
if $running_under_some_shell;
.fi
システムは 1 行目を無視し、スクリプトを /bin/sh に渡します。 /bin/sh は
.I perl
スクリプトをシェルスクリプトとして実行しようとします。シェルは 2 行目
を通常のシェルコマンドとして実行し、perl インタプリタを起動する
ことになります。
システムによっては $0 は必ずしもフルパス名にならないので、
.B \-S
を用いて
.I perl
に必要ならばスクリプトを探すように指示します。
.I perl
がスクリプトを見つけたあと、解析を行ないますが、変数
$running_under_some_shell が真になることはないので、2 行目を無視します。
ファイル名などに含まれるスペースを正しく扱うには、$* よりも
${1+"$@"} の方がよいでしょうが、csh が解釈する場合には動作しません。
csh ではなく sh で起動するには、あるシステムでは #! 行を、perl で
無視されるコロンのみに書き換える必要があるかもしれません。その他の
システムではこの方法は使えず、次のように、csh, sh, perl のどの下で
も動作するような、とてもまわりくどい方法をとる必要があります:
.nf
.ne 3
eval '(exit $?0)' && eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
& eval 'exec /usr/bin/perl -S $0 $argv:q'
if 0;
.fi
.TP 5
.B \-u
スクリプトのコンパイルの後、
.I perl
はコアダンプします。
このコアダンプから、`undump' プログラム(提供していません)を用いて
実行可能ファイルに変換できます。
こうすると、ディスク消費が増えるかわりに (実行ファイルを strip すれば
最小にできます)、スタートアップが速くなります。
(しかし、私のマシンでは "hello world" の実行形式が約 200K の大きさ
になります。)
実行形式を set-id プログラムとして走らせるのなら、通常の perl ではなく
多分 taintperl を用いてコンパイルすべきです。
ダンプする前に実行したいスクリプトがある場合は、代わりに dump 演算子を
使って下さい。
注意 : undump が使えるかどうかはプラットフォームに依存するので、perl の
移植によっては利用できないものもあるかもしれません。
.TP 5
.B \-U
安全でない操作を可能にします。
現在の所、\*(L"安全でない\*(R" 操作とは、スーパユーザ権限での
実行時にディレクトリを unlink すること、および汚れチェックで
警告が出るような setuid プログラムを走らせることだけです。
.TP 5
.B \-v
.I perl
のバージョンとパッチレベルを出力します。
.TP 5
.B \-w
一度だけ出てくる識別子、セットする前に使用されるスカラ変数に対して、
警告を出します。
サブルーチンが再定義されたとき、定義されていないファイルハンドルの参照
があるとき、リードオンリーでオープンしたファイルハンドルへ書き込もうと
したときにも警告を出します。数値ではなさそうな値に == を使ったときや、
サブルーチンが 100 回以上再帰したときにも警告を出します。
.TP 5
.BI \-x ディレクトリ
スクリプトがメッセージに埋め込まれていることを
.I perl
に知らせます。#! で始まり、"perl" という文字列を含む最初の行が現れる
までは、ゴミとして無視されます。
その行に指定した意味のあるスイッチはすべて適用されます
(ただし通常の #! 処理と同じく、スイッチのかたまり一つだけです)。
ディレクトリ名を指定すると、perl はスクリプトを実行する前にその
ディレクトリに移ります。
.B \-x
スイッチは、先頭のゴミを捨てるだけです。
スクリプトの後にゴミがある場合は、スクリプトは _\|_END_\|_
で終わらせなければなりません (望むなら、スクリプトで後ろのゴミの一部
または全部をファイルハンドル DATA 経由で処理することが可能です) 。
.Sh "データの型とオブジェクト"
.PP
.I perl
には 3 種類のデータ型が有ります: スカラ、スカラ配列、
および連想配列です。
通常の配列は添え字が数字ですが、連想配列の場合は文字列です。
.PP
perl における演算や値の解釈は、演算や値のコンテキスト(文脈)からの要求
にしばしば依存します。
主なコンテキストは三つ: すなわち文字列、数値、配列です。
演算の中には、配列を要求するコンテキストでは配列を、そうでなければ
スカラ値を返すものもあります。
(そのような演算子についてはドキュメント内のその演算子のところに
記載されています。)
スカラ値を返す演算子は、コンテキストが文字列あるいは
数値のどちらを要求しているかは考慮しませんが、スカラ変数および
スカラ値は文字列あるいは数値のコンテキストの適切な方に解釈されます。
スカラはそれがヌル文字列あるいは 0 でなければ論理的に真であると
解釈されます。
演算子が返す論理値は、真の場合は 1、偽の場合は 0 または \'\'
(ヌル文字列)です。
.PP
実際には、ヌル文字には二種類あります。define と undefined です。
undefined のヌル文字列は、エラー、ファイル終端、初期化されていない変数や
配列要素を参照しようとしたときなど、実際の値が存在しない場合に返ります。
undefined のヌル文字列は、最初にそれにアクセスしたときに defined となる
ことがありますが、その前に defined() 演算子を用いて値が defined かどう
かを知ることができます。
.PP
スカラ変数への参照は、それが配列の一部であっても、常に \*(L'$\*(R'
で始めます。
つまりこうです:
.nf
.ne 3
$days \h'|2i'# 単純なスカラ変数
$days[28] \h'|2i'# 配列 @days の 29 番目の要素
$days{\'Feb\'}\h'|2i'# 連想配列の値の一つ
$#days \h'|2i'# 配列 @days の最後の添え字
しかし、配列全部や一部の取り出しは \*(L'@\*(R' で始めます:
@days \h'|2i'# ($days[0], $days[1],\|.\|.\|. $days[n])
@days[3,4,5]\h'|2i'# @days[3.\|.5] と同じ
@days{'a','c'}\h'|2i'# ($days{'a'},$days{'c'}) と同じ
そして、連想配列全部を扱うには \*(L'%\*(R' で始めます:
%days \h'|2i'# (key1, val1, key2, val2 .\|.\|.)
.fi
.PP
これら 8 つはすべて左辺値として扱うことができます。すなわち、代入可能
ということです。
(さらに、あるコンテキストでは代入操作自体も左辺値となり得ます。
\*(-- s, tr, chop のところの例を参照して下さい。)
スカラへの代入を行なうと、右辺をスカラのコンテキストで評価するのに
対し、配列や配列の一部への代入は右辺を配列のコンテキストで評価します。
.PP
配列 @days の長さを
.IR csh
のように
\*(L"$#days\*(R" で評価してもかまいません。
(実際には、通常 0 番目の要素があるので、配列の長さではなく、最後の要素
の添え字になります。)
$#days に代入すると、配列の長さが変わります。
この方法によって配列を小さくしても、実際には値は破壊されません。
すでに小さくした配列を大きくすると、もともとあった要素が元に戻ります。
大きくなりそうな配列をあらかじめ大きくしておくと、
効率をいくらか良くすることもできます。
(配列を大きくするには、配列の最後を超える要素に代
入を行なう方法もあります。この方法と、$#whatever へ代入する方法との
違いは、間の要素にヌルがセットされることです)
配列を縮めて空にするには、ヌルリスト () を代入すればできます。
次の二つは全く同等となります。
.nf
@whatever = ();
$#whatever = $[ \- 1;
.fi
.PP
配列をスカラのコンテキストで評価すると、配列の長さが返ります。
次の式は常に真となります:
.nf
scalar(@whatever) == $#whatever \- $[ + 1;
.fi
連想配列をスカラのコンテキストで評価すると、配列が要素を含む場合
かつその場合に限り真の値を返します。
(要素がある場合に返る値は、使用している bucket の数およびアロケートさ
れている bucket の数から成る文字列で、/ で区切られます。)
.PP
多次元配列は直接はサポートされていませんが、連想配列を用いて複数の
添え字をエミュレートする方法については、$; 変数の項を参照して下さい。
多次元の添え字を 1 次元の添え字に変換するサブルーチンを書くことも
できます。
.PP
各々のデータ型に応じて、それぞれの名前空間があります。衝突を心配する
ことなく、同じ名前をスカラ変数、配列、連想配列、ファイルハンドル、
サブルーチン名、またはラベルにつけることができます。
変数や配列への参照は常に \*(L'$\*(R', \*(L'@\*(R', \*(L'%\*(R'
で始まるので、\*(L"予約\*(R" 語は変数名については実際には
使用可能です。
(しかし、ラベルやファイルハンドルについては予約語は使用できません。
特殊な文字で始まらないからです。
.br
ヒント: open(log,\'logfile\') より open(LOG,\'logfile\') を使った方が
良いです。大文字のファイルハンドル名を使うと、読み易さも向上し、
将来の予約語になるものとの衝突も避けることができるからです。)
大文字小文字の区別は重要です
\*(--\*(L"FOO\*(R", \*(L"Foo\*(R", \*(L"foo\*(R" はすべて異なる
名前です。アルファベットで始まる名前は数字や下線を含んでもかまいません。
アルファベットで始まらない名前は 1 文字に限られます。
例えば、\*(L"$%\*(R" や \*(L"$$\*(R" です。
(ほとんどの一文字名は
.IR perl
の予約変数として意味があります。
詳細は後ほど述べます。)
.PP
数値文字列は通常の浮動小数点や整数の形式で指定します。
.nf
.ne 6
12345
12345.67
.23E-10
0xffff # 16 進
0377 # 8 進
4_294_967_296
.fi
文字列はシングルクォートまたはダブルクォートで区切られます。
動作はシェルにおけるクォートとよく似ています。
ダブルクォートで囲まれた文字列にはバックスラッシュや変数の置換が
行なわれます。シングルクォートで囲まれた文字列には行なわれません
(\e\' と \e\e を除きます)。
通常のバックスラッシュ規則が改行やタブなどの文字を表すのに使え、
更に以下のちょっと変わった形式も使えます:
.nf
\et タブ
\en 改行
\er リターン
\ef フォームフィード
\eb バックスペース
\ea アラーム (ベル)
\ee エスケープ
\e033 8進文字
\ex1b 16進文字
\ec[ コントロール文字
\el 次の文字を小文字にします
\eu 次の文字を大文字にします
\eL \eE までを小文字にします
\eU \eE までを大文字にします
\eE 大小文字の修飾の終り
.fi
改行を直接文字列に書き入れることもできます。すなわち、文字列は始まった
行と異なる行で終わることができることになります。これは便利ですが、
最後にクォートを忘れると、クォートを含むかなり離れた別の行を見つけるまで
.I perl
はエラーを報告しないでしょう。
文字列内の変数置換はスカラ変数、通常の配列、配列の一部に限られます。
(言い換えると、$ や @ で始まる識別子と、それに括弧で囲まれた添え字が
ある場合だけです。)
次のコードは \*(L"The price is $100.\*(R" を出力します。
.nf
.ne 2
$Price = \'$100\';\h'|3.5i'# 解釈されません
print "The price is $Price.\e\|n";\h'|3.5i'# 解釈されます
.fi
後に続くアルファベットや数字と区別するために、識別子を {} で囲う
ことができることを覚えておいて下さい。
また、シングルクォートは識別子として有効な文字であるため、
シングルクォートで囲まれた文字列は、前の単語とは空白で区切られて
いなければならないことも覚えておきましょう
(パッケージの項を参照して下さい) 。
.PP
プログラムのその時点での行番号とファイル名を表す
_\|_LINE_\|_ と _\|_FILE_\|_ という二つの特殊な文字があります。
これらは独立したトークンとしてのみ使用でき、文字列中に
書き入れることはできません。
さらにトークン _\|_END_\|_ は、実際のファイルが終了する前で、スクリプト
の論理的な終了を示すために使えます。残りのテキストはすべて無視されますが、
ファイルハンドル DATA から読むことができます。
(ファイルハンドル DATA は、メインスクリプトからのみデータを
読み込めますが、require されたファイルや評価された文字列からは
読み込めません。)
^D と ^Z の二つのコントロールキャラクタは _\|_END_\|_ と同義になります。
.PP
文法的に解釈不可能な単語は、それがシングルクォートで囲まれている
かのように扱われます。このため、アルファベット、数字、下線のみからなり、
単語はアルファベットで始まらなければなりません。
ファイルハンドルやラベルと同じく、小文字のみからなる裸の単語は、
将来の予約語と衝突する危険があります。
.B \-w
スイッチを使えば、perl はそのような単語について警告してくれます。
.PP
配列値をダブルクォートで囲まれた文字列に入れた場合は、配列の全要素を
$" 変数で指定される区切り (デフォルトは空白) で連結して一つにした
文字列になります。
(3.0 以前のバージョンの perl では、@ はダブルクォートで囲まれた文字列
の中のメタキャラクタではなかったので、@array, $array[EXPR],
@array[LIST], $array{EXPR}, @array{LIST} の文字列への挿入は、
配列がプログラムのどこかで参照されている場合、もしくは予約されている
場合にのみ起こります。)
次の二つは同等になります。
.nf
.ne 4
$temp = join($",@ARGV);
system "echo $temp";
system "echo @ARGV";
.fi
検索パターン (これにもダブルクォートと同じ置換が行なわれます) に
おいては、あいまいな場合があります。 /$foo[bar]/ は /${foo}[bar]/
([bar]は正規表現の文字クラス) でしょうか、
それとも /${foo[bar]}/ ([bar]は配列 @foo の添字) なのでしょうか 。
@foo が存在しないなら、それは明らかに文字クラスです。
@foo が存在するなら、perl は [bar]について考え、大抵の場合正しい類推を
します。それが間違っていたり、あなたが単に偏執狂なら、
上記のように中括弧 {} を入れることで、正しい解釈をさせることができます。
.PP
行指向の引用法はシェルと同様の文法に基づいています。
<< の後に引用文の終わりを示す文字列を指定すると、現在行からその文字列
が現れるまでの行すべてがその値になります。終わりを示す文字列は識別子
(単語) でも、クォートされたテキストでもかまいません。
クォートされているテキストの場合、通常クォートで囲む場合と同じく
クォートの種類がテキストの扱い方を決めます。クォートされていない識別子
はダブルクォートされている場合と同じ動作となります。
(スペースを入れた場合、それは有効なヌル識別子として扱われ、
最初の空行にマッチします。 \*(--下の Merry Christmas の例を見て下さい。)
終わりを示す文字列はそれだけで (クォートされず、空白を前後につけずに)
書かれていなければなりません。
.nf
print <<EOF; # 前の例と同じです
The price is $Price.
EOF
print <<"EOF"; # 上の例と同じです
The price is $Price.
EOF
print << x 10; # ヌル識別子が終わりを示します
Merry Christmas!
print <<`EOC`; # コマンドを実行します
echo hi there
echo lo there
EOC
print <<foo, <<bar; # スタックに積むことができます
I said foo.
foo
I said bar.
bar
.fi
配列のリテラルは、個々の値をコンマで区切り、リストを括弧で囲みます:
.nf
(LIST)
.fi
配列値を要求しないコンテキストでは、C のコンマ演算子と同じく、最後の要
素の値が配列の値となります。例えば、
.nf
.ne 4
@foo = (\'cc\', \'\-E\', $bar);
は配列 foo に全配列値を代入しますが、
$foo = (\'cc\', \'\-E\', $bar);
.fi
は変数 bar の値を変数 foo に代入します。
変数として実際に存在する配列のスカラのコンテキストとしての値は、
配列の長さになることに注意して下さい。
次の例では $foo に 3 を代入します:
.nf
.ne 2
@foo = (\'cc\', \'\-E\', $bar);
$foo = @foo; # $foo は 3 になります
.fi
配列リテラルの括弧を閉じる前に余分なコンマがあっても大丈夫で、
以下のように書けます:
.nf
@foo = (
1,
2,
3,
);
.fi
リストが評価されるとき、リストの要素はすべて配列のコンテキストとして
評価され、結果として得られる配列値に、個々の要素がリストのメンバで
あったかのようにリストに挿入されます。
たとえば、@foo のすべての要素、@bar のすべての要素、サブルーチン
SomeSub が返すすべての要素を含むリスト\*(--以下
(@foo,@bar,&SomeSub)
の中では、配列の識別ができなくなります。
.PP
リストの値は通常の配列と同様に添え字をつけて使えます。
例:
.nf
$time = (stat($file))[8]; # stat は配列値を返します
$digit = ('a','b','c','d','e','f')[$digit-10];
return (pop(@foo),pop(@foo))[0];
.fi
.PP
配列のリストは、そのすべての要素が左辺値であるときに限り代入可能です:
.nf
($a, $b, $c) = (1, 2, 3);
($map{\'red\'}, $map{\'blue\'}, $map{\'green\'}) = (0x00f, 0x0f0, 0xf00);
最後の要素は配列や連想配列であってもかまいません:
($a, $b, @rest) = split;
local($a, $b, %rest) = @_;
.fi
実際には、リストのどこに配列を入れてもいいのですが、リスト中の最初の
配列がすべての値を埋めてしまうので、その後の要素はヌルの値になります。
これは local() において便利かもしれません。
.PP
連想配列のリテラルは、キーと値として解釈される値の組を含んでいます:
.nf
.ne 2
# 上記 map への代入と同じ
%map = ('red',0x00f,'blue',0x0f0,'green',0xf00);
.fi
スカラのコンテキストへの配列の代入は、代入の右辺の式により生成される
要素の数を返します:
.nf
$x = (($foo,$bar) = (3,2,1)); # $x に 2 でなく 3 をセット
.fi
.PP
知っておかなければならない幾つかの疑似リテラルがあります。
文字列を `` (低アクセント) で囲んだ場合、ちょうどダブルクォートと
同じ変数置換が行なわれます。次にシェルの中のように、コマンドであると
解釈され、そのコマンドの出力がこの擬似リテラルの値となります。
スカラのコンテキストでは、全出力から成る一つの文字列が返されます。
配列のコンテキストでは、出力の各行がそれぞれ一つの要素となった配列値
が返されます。
(行ターミネータを変えたい場合には、$/ をセットできます。)
コマンドは擬似リテラルが評価されるたびに実行されます。コマンドの戻り値
は、$? に返されます
($? の解釈については予約変数のセクションを参照して下さい) 。
\f2csh\f1 の場合と異なり、返されるデータに置換は行なわれません
\*(-- 改行は改行として残ります。
どのシェルとも違って、シングルクォートで囲んでもコマンド内の変数名は解
釈されてしまいます。
$ をシェルに渡すには、バックスラッシュが必要です。
.PP
カギ括弧 <> に囲まれたファイルハンドルを評価すると、そのファイルから次の
行を読み込みます (改行が含まれるため EOF までは決して偽に成りません。
EOF では undefined 値が返ります) 。
通常はその値を変数に代入する必要がありますが、一つだけ
自動的に代入が起こる状況があります。入力シンボルだけが while ループの
条件文の中にある場合は(そしてこの場合にかぎり)、値は変数
\*(L"$_\*(R" に自動的に代入されます。
(奇妙に思うかもしれませんが、ほとんどの
.I perl
スクリプトにおいて、この構文を使うことになるでしょう。)
とにかく、次の例はすべて同等となります。
.nf
.ne 5
while ($_ = <STDIN>) { print; }
while (<STDIN>) { print; }
for (\|;\|<STDIN>;\|) { print; }
print while $_ = <STDIN>;
print while <STDIN>;
.fi
ファイルハンドル
.IR STDIN ,
.IR STDOUT ,
.I STDERR
は予約されています。
(ファイルハンドル
.IR stdin ,
.IR stdout ,
.I stderr
でも動作しますが、パッケージの中ではグローバルではなくローカルな識別子
として解釈されるので、働きません。)
これ以外のファイルハンドルは、
.I open
関数で作成できます。
.PP
配列を探すコンテキストの中で <FILEHANDLE> が使われると、すべての入力行
の一行が一要素である配列が返ります。この方法で*巨大*なデータ空間が簡単
に作られるので、注意して使って下さい。
.PP
ヌルファイルハンドル <> は特殊で、\fIsed\fR や \fIawk\fR の動作を
エミュレートするために使えます。
<> からの入力には、標準入力やコマンドラインに並べられた全ファイルが
入ります。動作の仕方はこうなります。 <> の最初の評価では、ARGV 配列が
チェックされ、それがヌルであると、$ARGV[0] は標準入力をオープンする \'-\'
にセットされます。
次に ARGV 配列がファイル名のリストとして処理されます。
次のループは、
.nf
.ne 3
while (<>) {
.\|.\|. # 各行に対するコード
}
.ne 10
以下の疑似コードと同等になります。
unshift(@ARGV, \'\-\') \|if \|$#ARGV < $[;
while ($ARGV = shift) {
open(ARGV, $ARGV);
while (<ARGV>) {
.\|.\|. # 各行に対するコード
}
}
.fi
前者は、書くのが面倒でないというだけで、同じように動作します。
実際には、前者でも 配列 ARGV を shift し、現在のファイル名を変数 ARGV
に代入します。
内部では、ファイルハンドル ARGV を使います \*(--<> は、魔術的な <ARGV>
とまったく同義です。
(上の疑似コードでは、<ARGV> を魔術的でないものとして扱うので、
動きません)
.PP
ファイル名のリストの配列が残っている限り、最初の <> の前に @ARGV を
変更することができます。
行番号 ($.) は入力が一つの大きなファイルであるかのように増えていきます。
(ファイル毎に行番号をリセットする方法については eof の例を参照して
下さい。)
.PP
.ne 5
@ARGV に自分でファイルのリストをセットしたい場合は、そうして下さい。
スクリプトにスイッチを渡したい場合、スクリプトの前の方に次のような
ループを置くことでできます:
.nf
.ne 10
while ($_ = $ARGV[0], /\|^\-/\|) {
shift;
last if /\|^\-\|\-$\|/\|;
/\|^\-D\|(.*\|)/ \|&& \|($debug = $1);
/\|^\-v\|/ \|&& \|$verbose++;
.\|.\|. # 他のスイッチ
}
while (<>) {
.\|.\|. # 各行に対するコード
}
.fi
<> シンボルは一回だけ*偽*を返します。
その後、もう一度呼ぶと、別の @ARGV リストを処理しているとみなして、
@ARGV がセットされていない場合は
.IR STDIN
から入力されることになります。
.PP
カギ括弧の中の文字列がスカラ変数への参照であるとき (例えば <$foo>) 、
その変数の内容が読み込むべきファイルハンドル名となります。
.PP
カギ括弧の中の文字列がファイルハンドルではないとき、検索 (glob) される
ファイルパターンと解釈され、コンテキストによってファイル名の配列
またはリストの中の次のファイルが返されます。
最初に $ の解釈の一レベルが行なわれますが、<$foo> は前の段落で
説明されたような間接ファイルハンドルとなるため使えません。
強制的にファイル名検索と解釈させさければ <${foo}> のように
中括弧 {} を挿入できます。
例:
.nf
.ne 3
while (<*.c>) {
chmod 0644, $_;
}
は以下と等価です。
.ne 5
open(foo, "echo *.c | tr \-s \' \et\er\ef\' \'\e\e012\e\e012\e\e012\e\e012\'|");
while (<foo>) {
chop;
chmod 0644, $_;
}
.fi
実際、現在のところこのように実装されてます。
(これは、マシン上に /bin/csh がなければ、空白を含むファイル名では
動かないことを意味します。)
もちろん、上の操作を行なう一番短い方法は、
.nf
chmod 0644, <*.c>;
.fi
です。
.Sh "文法"
.PP
.I perl
スクリプトは、一連の宣言とコマンドからなります。
.I perl
の中で宣言されなければならないものは、レポートフォーマットと
サブルーチンです。
これらの宣言の詳しい説明は下のセクションを参照して下さい。
初期化されていないユーザが作成したオブジェクトは、それが代入のように
明示的に定義されるまでは、ヌルまたは 0 の値であるとみなされます。
コマンド列が各入力行に対して実行される
.I sed
.I awk
スクリプトと違って、コマンド列は一度だけ実行されます。
入力ファイル (または複数のファイル) の各行について繰り返しを行うには
明示的にループを設けなければなりませんが、
着目するファイル、行をよりよくコントロールすることができます。
(実は、正しくありません \*(--
.B \-n
.B \-p
スイッチで、暗黙のループを行なうことができます。)
.PP
宣言は、コマンドを書くことができる場所ならどこにでも書くことができますが、
コマンド実行の基本的な流れには影響を与えません \*(-- 宣言は、
コンパイル時だけにしか影響を与えません。通常、すべての宣言は
スクリプトの最初か最後のどちらかに置きます。
.PP
.I perl
は、ほとんどの部分において自由形式言語です。
(唯一の例外はフォーマット宣言で、理由は実に明白です。)
コメントは、# 文字で指示され、行末までとなります。
/* */ という C のコメントを使おうとすると、コンテキストにより
除算またはパターンマッチと解釈されるので、そういうことはしないで下さい。
.Sh "複合文"
.IR perl
では、複数のコマンド列を中括弧 {} で囲むことで、一つのコマンドとして
扱うことになり、これをブロックと呼びます。
.PP
次のような複合コマンドは、フローコントロールに使われます:
.nf
.ne 4
if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK .\|.\|. else BLOCK
LABEL while (EXPR) BLOCK
LABEL while (EXPR) BLOCK continue BLOCK
LABEL for (EXPR; EXPR; EXPR) BLOCK
LABEL foreach VAR (ARRAY) BLOCK
LABEL BLOCK continue BLOCK
.fi
C や Pascal と違って、これらは文ではなく*ブロック*として定義されているこ
とに注意して下さい。
これは、中括弧 {} が、\fI必要である\fR ことを意味します \*(-- 一つの
文を置くことは許されません。
中括弧 {} なしで書きたい場合は、別の方法があります。
以下はすべて同等のことを行ないます:
.nf
.ne 5
if (!open(foo)) { die "Can't open $foo: $!"; }
die "Can't open $foo: $!" unless open(foo);
open(foo) || die "Can't open $foo: $!"; # foo でなければ終わり
open(foo) ? \'hi mom\' : die "Can't open $foo: $!";
# 最後のものは、ちょっとエキゾチック
.fi
.PP
.I if
文は単純です。
*ブロック*は、常に中括弧 {} で囲まれるため、
.I else
が、どの
.I if
にかかるかという曖昧さは生じません。
.I unless
.IR if
の代わりに使うと、逆の意味となります。
.PP
.I while
文は、式が真 (ヌル文字列または 0 でない) である限り、ブロックを
実行し続けます。
識別子とコロンからなるラベルをつけることもできます。
ラベルはループ制御文
.IR next ,
.IR last ,
.I redo
(以下を参照)
によって指し示すループの名前となります。
.I continue
ブロックがあると、条件文が再評価される前に必ず実行され、C における
.I for
ループの三番目の部分と同様となります。
こうして、たとえ
.I next
文で継続された場合でもループ変数はインクリメントできることになります
(C の \*(L"continue\*(R" 文と同じ) 。
.PP
.I while
.IR until
に置き換えられると テストの意味は逆になりますが、条件判断は最初のループ
の前に行なわれます。
.PP
.I if
.I while
文では、\*(L"(EXPR)\*(R" をブロックに置き換えることができ、
ブロックの最後のコマンドの値が真なら、条件判断は真となります。
.PP
.I for
ループは、対応する
.I while
と全く同じように動作します:
.nf
.ne 12
for ($i = 1; $i < 10; $i++) {
.\|.\|.
}
は、以下と同じになります。
$i = 1;
while ($i < 10) {
.\|.\|.
} continue {
$i++;
}
.fi
.PP
foreach ループは、通常の配列値について、配列の各要素を変数 VAR に順に
セットしながら繰り返します。
その変数は、ループに対して暗黙のうちにローカルであり、それ以前の値はルー
プを抜けると元の値に戻ります。
\*(L"foreach\*(R" キーワードは、実は \*(L"for\*(R" キーワードと同じで、
\*(L"foreach\*(R" を可読性のために、\*(L"for\*(R" を簡潔さのために
使うことができます。
VAR が省略されると、$_ が各値にセットされます。
ARRAY が実際の配列 (配列を返す式ではなく) の場合、ループ内の VAR を変
更することによって、配列の各要素を変更することができます。
例:
.nf
.ne 5
for (@ary) { s/foo/bar/; }
foreach $elem (@elements) {
$elem *= 2;
}
.ne 3
for ((10,9,8,7,6,5,4,3,2,1,\'BOOM\')) {
print $_, "\en"; sleep(1);
}
for (1..15) { print "Merry Christmas\en"; }
.ne 3
foreach $item (split(/:[\e\e\en:]*/, $ENV{\'TERMCAP\'})) {
print "Item: $item\en";
}
.fi
.PP
ブロックそれ自身 (ラベルが付いていても、付いていなくても) は、一度だけ
実行されるループと等価です。
だから、ブロックを抜けたり再実行するために、すべてのループ制御文を使う
ことができます。
.I continue
ブロックも付けられます。
この構成は、case 構造を作成するには特に有用です。
.nf
.ne 6
foo: {
if (/^abc/) { $abc = 1; last foo; }
if (/^def/) { $def = 1; last foo; }
if (/^xyz/) { $xyz = 1; last foo; }
$nothing = 1;
}
.fi
同等のものを記述する方法が、既にいくつもあるので、perl には公式の
switch 文がありません。
上記のものに加えて、
.nf
.ne 6
foo: {
$abc = 1, last foo if /^abc/;
$def = 1, last foo if /^def/;
$xyz = 1, last foo if /^xyz/;
$nothing = 1;
}
または
.ne 6
foo: {
/^abc/ && do { $abc = 1; last foo; };
/^def/ && do { $def = 1; last foo; };
/^xyz/ && do { $xyz = 1; last foo; };
$nothing = 1;
}
または
.ne 6
foo: {
/^abc/ && ($abc = 1, last foo);
/^def/ && ($def = 1, last foo);
/^xyz/ && ($xyz = 1, last foo);
$nothing = 1;
}
さらに
.ne 8
if (/^abc/)
{ $abc = 1; }
elsif (/^def/)
{ $def = 1; }
elsif (/^xyz/)
{ $xyz = 1; }
else
{$nothing = 1;}
.fi
とも書けます。
これらはすべて内部で switch 構造に最適化されるため、perl は直接目的の
文にジャンプするので、同じ単純なスカラ変数を == や eq や上記のような
パターンマッチで判定する限り、50 個の elsif を使っても perl がたくさん
の不要な文を実行するのでは、という心配は不要となります。
(ある特定の case ステートメントが最適化されているかどうかに興味があるなら、
\-D1024 スイッチを付けて実行前に文法ツリーを表示することができます。)
.Sh "単文"
単文のみがその副作用を評価される式となります。
どの単文もブロックの最後の文でない限り、セミコロンで終らなければ
なりません。最後の文では、セミコロンはなくてもかまいません。
(それでも、ブロックが一行以上を含んでいるのなら、
セミコロンはあった方が望ましいです)
.PP
どの単文も、セミコロンで終る前に一つの修飾子を続けることができます。
可能な修飾子は以下の通りです:
.nf
.ne 4
if EXPR
unless EXPR
while EXPR
until EXPR
.fi
.I if
.I unless
修飾子は見かけ通りの意味があります。
.I while
.I until
修飾子も見かけ通りの意味 (条件文が始めに評価されます) ですが、
do ブロックや do サブルーチンコマンドが付けられたときには異なり、
条件式が評価される前に一度だけ実行されます。
これは、以下のようなループが記述できるようにするためです:
.nf
.ne 4
do {
$_ = <STDIN>;
.\|.\|.
} until $_ \|eq \|".\|\e\|n";
.fi
(後述の
.I do
演算子を参照のこと。修飾子は、どれもループラベルを持てないため、
後に書かれたループ制御コマンドはこの構造では動かないことに
気をつけて下さい。あしからず。)
.Sh "式"
.I perl
の式は、ほとんど C の式と同じに動作しますが、違いをここに述べます。
.PP
以下が
.I perl
にあって、C にないものです:
.Ip ** 8 2
指数演算子。
.Ip **= 8
指数代入演算子。
.Ip (\|) 8 3
配列をヌルに初期化するために使う、ヌルリスト。
.Ip . 8
2 つの文字列の結合演算子。
.Ip .= 8
結合代入演算子。
.Ip eq 8
文字列の同値性 (== は数値の同値性) 。
覚えるためには、\*(L"eq\*(R" が文字列であると考えれば良いです。
(状況に応じて、== が文字列と数値の両方の同値性を表す
.I awk
に慣れている人は、ここでは明示しなければならないことに気をつけて下さい !)
.Ip ne 8
文字列の非同値性 (!= は数値の非同値性) 。
.Ip lt 8
文字列の less than
.Ip gt 8
文字列の greater than
.Ip le 8
文字列の less than or equal
.Ip ge 8
文字列の greater than or equal
.Ip cmp 8
文字列の比較。 -1, 0, 1 を返します。
.Ip <=> 8
数値の比較。 -1, 0, 1 を返します。
.Ip =~ 8 2
演算には、検索、変更をデフォルトで文字列 \*(L"$_\*(R" に対して行うもの
があります。
この演算子を用いると、別の文字列に対してその演算が行われます。
右の引数は、検索パターン、置換、変換です。
左の引数は、デフォルトの \*(L"$_\*(R" の代わりに検索、置換、変換が
行なわれる対象となるものです。
戻り値は、演算の成否を示します。
(右の引数が検索パターン、置換、変換以外の式なら、実行時に検索パターン
として解釈されますが、パターンは式が評価される度にコンパイルされなけれ
ばならないので、明示的な検索より効率的ではありません。)
この演算子の優先度は単項マイナス演算子 (-) 、autoincrement/decrement
(++, --) より低く、他のどの演算子よりも高くなります。
.Ip !~ 8
戻り値が否定されることを除いて =~ と同じです。
.Ip x 8
繰り返し演算子。
左オペランドを右オペランドで指定した回数だけ繰り返した文字列を返します。
配列のコンテキストでは、左オペランドが括弧に入ったリストの場合、
リストを繰り返します。
.nf
print \'\-\' x 80; # ダッシュの列を出力します
print \'\-\' x80; # 不正、x80 は識別子
print "\et" x ($tab/8), \' \' x ($tab%8); # タブに変換
@ones = (1) x 80; # 80 個 1 が並んだ配列
@ones = (5) x @ones; # 全要素を 5 にセット
.fi
.Ip x= 8
繰り返し代入演算子。
スカラに対してのみ動作します。
.Ip .\|. 8
範囲演算子。コンテキストによって、実際は二つの異なる演算子になります。
配列のコンテキストでは、左の値から右の値まで一つずつ数を増やした配列を
返します。
これは、\*(L"for (1..10)\*(R" というループや配列の切り出し (slice) を
行なうときに便利です。
.Sp
スカラのコンテキストでは、.\|. は論理値を返します。
この演算子は、flip-flop のように二つの値を取り、
sed や awk やいろいろなエディタの行範囲 (comma) 演算子をエミュレート
します。
各 .\|. 演算子はそれ自身の論理値を保持し、左のオペランドが偽である限り
偽となります。
左のオペランドが真になると、範囲演算子は、右のオペランドが真になるまで
真となります。その後、範囲演算子が再び偽となります。
(次に範囲指定演算子が評価されるまで、偽にはなりません。
真になったのと同じ評価を行った時 (awkと同様) に右のオペランドをテスト
して、偽になることがあり得ますが、一度は真を返します。
次の評価まで右のオペランドをテストしたくなければ (sed のように) 、二つ
にするかわりに三つのドット (.\|.\|.) を使って下さい。)
右のオペランドは、演算子が \*(L"偽\*(R" の状態である間は、
評価されず、左のオペランドは演算子が \*(L"真\*(R" である間は
評価されません。
|| や && より優先度はやや低くなります。
戻り値は、偽ではヌル文字列に、真では (1で始まる) 連続した数に
なります。
この数は、範囲指定毎にリセットされます。
連続した範囲の最後の数は、文字列 \'E0\' を持っていて、数値には影響しま
せんが、終点を除きたい場合に検索のきっかけになります。
数字が 1 より大きくなるのを待つことで、始点を除くことができます。
スカラ .\|. の両方のオペランドが静的である場合、オペランドは暗黙の
うちに現在の行番号を表す $. 変数と比べられます。
例:
.nf
.ne 6
スカラ演算子としては:
if (101 .\|. 200) { print; } # 100行台を出力します
next line if (1 .\|. /^$/); # ヘッダ行を読み飛ばします
s/^/> / if (/^$/ .\|. eof()); # 本体をクォートします
.ne 4
配列としては:
for (101 .\|. 200) { print; } # $_ を 100回表示します
@foo = @foo[$[ .\|. $#foo]; # 高価なノーオペレーション
@foo = @foo[$#foo-4 .\|. $#foo]; # 最後の 5 要素を取り出します
.fi
.Ip \-x 8
ファイルテスト。
この単項演算子は一つの引数として、ファイル名またはファイルハンドルを取
り、そのファイルについて、何かが真であるかどうかを見るものです。
引数が省略されると、$_ を調べますが、例外として \-t は
.IR STDIN
を調べます。
真の場合は 1 を、偽の場合は \'\' を返し、ファイルが存在していない場合
は、undefined の値を返します。
優先度は、論理値や関係演算子より高くなりますが、算術演算子より低くなり
ます。
演算子は以下の通りです:
.nf
\-r ファイルを実効 uid/gid で読み込める。
\-w ファイルに実効 uid/gid で書き込める。
\-x ファイルを実効 uid/gid で実行できる。
\-o ファイルの所有者が、実効 uid である。
\-R ファイルを実 uid/gid で読み込める。
\-W ファイルを実 uid/gid で書き込める。
\-X ファイルを実 uid/gid で実行できる。
\-O ファイルの所有者が、実 uid である。
\-e ファイルが存在する。
\-z ファイルサイズが 0 である。
\-s ファイルサイズが 0 でない (サイズを返す) 。
\-f ファイルはプレーンファイルである。
\-d ファイルはディレクトリである。
\-l ファイルはシンボリックリンクである。
\-p ファイルは名前付きパイプ (FIFO) である。
\-S ファイルはソケットである。
\-b ファイルはブロック特殊ファイルである。
\-c ファイルはキャラクタ特殊ファイルである。
\-u ファイルには setuid ビットが立っている。
\-g ファイルには setgid ビットが立っている。
\-k ファイルには sticky ビットが立っている。
\-t ファイルハンドルが tty にオープンされている。
\-T ファイルはテキストファイルである。
\-B ファイルはバイナリファイルである (\-T の逆) 。
\-M スクリプトを開始した時点でのファイルの古さ(単位は日) 。
\-A アクセス時刻と同じ。
\-C inode 変更時刻と同じ。
.fi
ファイルパーミッション演算子 \-r, \-R, \-w, \-W, \-x, \-X の解釈は、
単にファイルのモードとユーザの uid, gid に基づきます。
他の理由で、実際にファイルを読み、書き、実行ができないことがあるかも
しれません。
また、気をつけなけらばならないのは、スーパユーザにとって
\-r, \-R, \-w, \-W は常に 1 を返し、そのモードでいずれかの実行ビットが
立っていれば、\-x, \-X も常に 1 を返すというところです。
従って、スーパユーザが実行するスクリプトは、ファイルの実際のモードを決
めるために stat() を実行したり、一時的に他の uid を立てる必要があるか
もしれません。
.Sp
例:
.nf
.ne 7
while (<>) {
chop;
next unless \-f $_; # 特殊ファイルを無視
.\|.\|.
}
.fi
\-s/a/b/ としても、否定した置換をするわけではないことに注意して
下さい。
\-exp($foo) とすると、期待通りに動きますが、\*(-- マイナスの後が一文字
の場合、ファイルテストと解釈されます。
.Sp
\-T と \-B は以下のように動作します。
ファイルの先頭のブロックあたりに、変なコントロールコードや
メタキャラクタのような、おかしな文字がないかどうかを調べます。
おかしな文字が (10%以上) 見つかると、それは \-B ファイル、
でなければ \-T ファイルとなります。
最初のブロックにヌルが含まれるファイルもバイナリファイルとみなされます。
\-T や \-B がファイルハンドルに使われると、最初のブロックではなく、
そのときの標準入力バッファが調べられます。
ヌルファイル(サイズ 0 のファイル)の場合やファイルハンドルをテストしていて
、それが EOF である場合、\-T と \-B は共に真を返します。
.PP
すべてのファイルテスト (と stat 演算子)は、アンダライン一つ _ から
成る特殊ファイルハンドルを与えられると、システムコールを保存することに
よって、その直前に行なわれたファイルテスト (または stat演算子) で使わ
れた stat 構造体が使われます。
(この _ の働きは \-t では動作せず、lstat と -l が stat 構造体に
実ファイルではなく、シンボリックリンクの値を残すことを覚えて
おかなければなりません。)
例:
.nf
print "Can do.\en" if -r $a || -w _ || -x _;
.ne 9
stat($filename);
print "Readable\en" if -r _;
print "Writable\en" if -w _;
print "Executable\en" if -x _;
print "Setuid\en" if -u _;
print "Setgid\en" if -g _;
print "Sticky\en" if -k _;
print "Text\en" if -T _;
print "Binary\en" if -B _;
.fi
.PP
C にあって、
.I perl
にないもの:
.Ip "単項 &" 12
アドレス演算子
.Ip "単項 *" 12
"アドレスを通しての"参照演算子
.Ip "(TYPE)" 12
型変換演算子。
.PP
C のように、
.I perl
は、演算子への引数が皆、静的で、副作用がない場合だけコンパイル時にある
程度の式の評価を行なってしまいます。
特に、変数置換を行なわないリテラル間での文字列の結合は、コンパイル時に
行なわれます。
バックスラッシュの解釈もコンパイル時に起こります。
.nf
.ne 2
\'Now is the time for all\' . "\|\e\|n" .
\'good men to come to.\'
.fi
これは全部、内部では一つの文字列にされてしまいます。
.PP
++ 演算子にはちょっと拡張した細工が施されています。
数値変数や数値コンテキストとして使われた変数をインクリメントすると、通
常のインクリメントになりますが、変数がヌルでない文字コンテキストとして
だけ使われて来ていて、パターン /^[a\-zA\-Z]*[0\-9]*$/ にマッチする場合は、
各文字の範囲をキャリー付きで保存し、文字としてインクリメントされます:
.nf
print ++($foo = \'99\'); # prints \*(L'100\*(R'
print ++($foo = \'a0\'); # prints \*(L'a1\*(R'
print ++($foo = \'Az\'); # prints \*(L'Ba\*(R'
print ++($foo = \'zz\'); # prints \*(L'aaa\*(R'
.fi
-- 演算子には、このような細工はありません。
.PP
(配列のコンテキストにおける) 範囲演算子は、最大値と最小値が文字列の
場合に、細工した自動インクリメントアルゴリズムを使います。
すべてのアルファベット文字を得るには、
@alphabet = (\'A\' .. \'Z\');
16 進数を得るには、
$hexdigit = (0 .. 9, \'a\' .. \'f\')[$num & 15];
始めに 0 を付けた日付を得るには、
@z2 = (\'01\' .. \'31\'); print @z2[$mday];
と書けます。
(最後に指定された値が、細工したインクリメントの生成するシークエンスに
含まれていない場合、次の値が最後に指定された値より長くなるまでシークエ
ンスを続けます。)
.PP
|| と && は、0 や 1 を返す C のそれとは違って、最後に評価された値を
返します。
だから、ホームディレクトリをみつける移植性の高い方法は、こうなります。
.nf
$home = $ENV{'HOME'} || $ENV{'LOGDIR'} ||
(getpwuid($<))[7] || die "You're homeless!\en";
.fi
.PP
前述のリテラルや変数に合わせ、以降の節で説明する演算は
式中で項として使えます。
これらの演算の幾つかは、引数に*リスト*を取ります。
リストは、スカラや配列値からなります。
配列値がリストの中にあると、その場所に挿入されたように個々の値がリスト
の中に含まれて、長い一次元配列値を作ることになります。
*リスト* の要素はコンマで区切られていなければなりません。
引数を括弧で囲んでも囲まなくても、演算をリスト出来ます。
これは関数呼び出しと同様単項演算子として、
演算を使うことができることを意味します。
関数呼び出しとして使うには、同じ行の次のトークンは左括弧でなければなり
ません。
(空白が間にはさまってもかまいません。)
そのような関数は、予想される通り最優先となります。
左括弧を持っていないトークンが続くとすれば、それは単項演算子で、リスト
演算子かどうかによって、優先度が決まります。
リスト演算子は最も優先度が低くなります。
すべての単項演算子は、関係演算子よりも優先されますが、算術演算子よりも
優先度は低くなります。
優先度のセクションを参照して下さい。
.PP
スカラや配列のコンテキストで使われる演算子の場合、失敗すると一般に、
スカラコンテキストでは undefined 値を返し、配列のコンテキストでは
ヌルリストを返します。
しかし、*リストをスカラに変換する一般的な規則はない* ということを
忘れないで下さい。
それぞれの演算子は、どの種のスカラを返すのが最も適当であるかを決めます。
ある演算子は、配列のコンテキストとして返されるようなリストの長さを返し
ます。リストの最初の値を返す演算子、リストの最後の値を返す演算子、
操作に成功した回数を返す演算子などもあります。
一般に、一貫性を求めなければ、演算子は求めるものを返します。
.Ip "/PATTERN/" 8 4
m/PATTERN/ を参照して下さい。
.Ip "?PATTERN?" 8 4
これは、
.I reset
演算子呼び出しの間で一回しかマッチしないことを除けば、
/pattern/ 検索と全く同じです。
これは例えば、一群のファイルの中で、各ファイルに最初に何かが出現すること
を見たいとき、便利な最適化です。
そのときのパッケージにローカルな ?? パターンだけは、リセットされます。
.Ip "accept(NEWSOCKET,GENERICSOCKET)" 8 2
accept システムコールと同じことをします。
成功すると真を、失敗すると偽を返します。
プロセス間通信のセクションの例を参照して下さい。
.Ip "alarm(SECONDS)" 8 4
.Ip "alarm SECONDS" 8
指定した秒数 (実際には、1 を引いたもの) が経過したあと、自分の
プロセスに SIGALRM を伝えます。
つまり、alarm(15) なら、14 秒以上経ったある時点で SIGALRM を生じます。
一度に一つのタイマしかカウントされません。呼び出される毎にそれ以前の
タイマは無効となり、引数 0 で呼び出すと以前のタイマをキャンセルし
て、新しいタイマは始動しません。
戻り値は、直前のタイマの残り時間です。
.Ip "atan2(Y,X)" 8 2
Y/X の アークタンジェント を
.if t \-\(*p から \(*p.
.if n \-π から π
の範囲で返します。
.Ip "bind(SOCKET,NAME)" 8 2
bind システムコールと同じことをします。
成功すれば真を、失敗すれば偽を返します。
NAME は、ソケットに合った適切な型の pack されたアドレスでなければなりません。
プロセス間通信のセクションの例を参照して下さい。
.Ip "binmode(FILEHANDLE)" 8 4
.Ip "binmode FILEHANDLE" 8 4
バイナリファイルとテキストファイルを区別するオペレーティングシステム上
で、そのファイルを \*(L"バイナリ\*(R" として読み込まれるようにします。
バイナリモードで読み込まれないファイルは、CR LF が入力時に LF に変換
され、出力時には、LF が CR LF に変換されます。
binmode は、UNIX では無効です。
FILEHANDLE が式のときは、値がファイルハンドルの名前として扱われます。
.Ip "caller(EXPR)"
.Ip "caller"
現在のサブルーチン呼び出しのコンテキストを返します:
.nf
($package,$filename,$line) = caller;
.fi
EXPRがあると、デバッガがスタックトレースに出力して使う拡張情報も
返します。
EXPRの値は、現在のサブルーチンの前にいくつの call フレームがあるかを
示します。
.Ip "chdir(EXPR)" 8 2
.Ip "chdir EXPR" 8 2
動作しているディレクトリを、もしできるなら EXPR に変更します。
EXPRが省略されると、ホームディレクトリになります。
成功すれば 1 を、失敗すれば 0 を返します。
.IR die
の例を参照して下さい。
.Ip "chmod(LIST)" 8 2
.Ip "chmod LIST" 8 2
ファイルのリストのパーミッションを変更します。
リストの最初の要素は、数値モードでなければなりません。
成功したファイルの数を返します。
.nf
.ne 2
$cnt = chmod 0755, \'foo\', \'bar\';
chmod 0755, @executables;
.fi
.Ip "chop(LIST)" 8 7
.Ip "chop(VARIABLE)" 8
.Ip "chop VARIABLE" 8
.Ip "chop" 8
文字列の最後の文字を削り、削られた文字を返します。
基本的には、入力されたレコードの終りから改行文字を除くために使われます
が、文字列のコピーをスキャンするわけではないので、s/\en// より
効率的です。
VARIABLE を省略すると、$_ を chop します。
例:
.nf
.ne 5
while (<>) {
chop; # 最後のフィールドの \en を除く
@array = split(/:/);
.\|.\|.
}
.fi
実際には、代入を含む左辺値のいかなるものも chop できます。
.nf
chop($cwd = \`pwd\`);
chop($answer = <STDIN>);
.fi
リストを chop するとすべての要素が chop され、
最後に chop された値が返されます。
.Ip "chown(LIST)" 8 2
.Ip "chown LIST" 8 2
ファイルのリストの所有者 (と所有グループ) を変えます。
リストの最初の二つの要素は数値で表した uid と gid がこの順で指定され
なければなりません。
変更に成功したファイルの数を返します。
.nf
.ne 2
$cnt = chown $uid, $gid, \'foo\', \'bar\';
chown $uid, $gid, @filenames;
.fi
.ne 23
以下は、passwd ファイルから数値でない uid を検索する例です:
.nf
print "User: ";
$user = <STDIN>;
chop($user);
print "Files: "
$pattern = <STDIN>;
chop($pattern);
.ie t \{\
open(pass, \'/etc/passwd\') || die "Can't open passwd: $!\en";
'br\}
.el \{\
open(pass, \'/etc/passwd\')
|| die "Can't open passwd: $!\en";
'br\}
while (<pass>) {
($login,$pass,$uid,$gid) = split(/:/);
$uid{$login} = $uid;
$gid{$login} = $gid;
}
@ary = <${pattern}>; # ファイルを得ます
if ($uid{$user} eq \'\') {
die "$user not in passwd file";
}
else {
chown $uid{$user}, $gid{$user}, @ary;
}
.fi
.Ip "chroot(FILENAME)" 8 5
.Ip "chroot FILENAME" 8
同名のシステムコールと同じことをします。
これが何をするのか知らないとしても、気にしないで下さい。
FILENAME を省略すると、$_ に chroot します。
.Ip "close(FILEHANDLE)" 8 5
.Ip "close FILEHANDLE" 8
ファイルハンドルに結びつけられたファイルやパイプをクローズします。
別のファイルをオープンしようとしている場合は、FILEHANDLE を閉じる
必要がありません。オープンした際に前のファイルをクローズしてくれる
からです。
(
.IR open
を参照して下さい)
しかし、明示的に入力ファイルのクローズをすると行カウンタ ($.) が
リセットされるのに対し、
.I open
のときに行なわれる暗黙のクローズでは、リセットされません。
また、後でパイプの出力を見たい場合は、パイプをクローズするとパイプで
起動されたプロセスの完了を待ちます。
パイプを明示的にクローズすると、コマンド情報の戻り値が $? に
入れられます。
例:
.nf
.ne 4
open(OUTPUT, \'|sort >foo\'); # sort へパイプ
.\|.\|. # print stuff to output
close OUTPUT; # sort の終了を待ちます
open(INPUT, \'foo\'); # sortの結果を得ます
.fi
FILEHANDLE は実際のファイルハンドル名を与える式でもかまいません。
.Ip "closedir(DIRHANDLE)" 8 5
.Ip "closedir DIRHANDLE" 8
opendir() でオープンされたディレクトリをクローズします。
.Ip "connect(SOCKET,NAME)" 8 2
connect システムコールと同じことをします。
成功すると真を、失敗すると偽を返します。
NAME はソケットに合った適当な型のパッケージアドレスでなければ
なりません。
プロセス間通信のセクションの例を参照して下さい。
.Ip "cos(EXPR)" 8 6
.Ip "cos EXPR" 8 6
EXPR (ラジアンで表現) のコサインを返します。
EXPR を省略すると $_ のコサインを取ります。
.Ip "crypt(PLAINTEXT,SALT)" 8 6
C ライブラリの crypt() 関数と正確に同じように encrypt された文字列
を返します。
パスワードファイルを調べて、粗野なパスワードを見つけるのに便利です。
白い帽子をかぶっている奴だけがこれをしなければなりません。
.Ip "dbmclose(ASSOC_ARRAY)" 8 6
.Ip "dbmclose ASSOC_ARRAY" 8
dbm ファイルと連想配列の結び付きを解除します。
連想配列に残っている値は、dbm ファイルのキャッシュに何が入っているか
を知りたいのでなければ、意味がないものとなります。
この関数は、ndbm を使う場合にのみ有用です。
.Ip "dbmopen(ASSOC,DBNAME,MODE)" 8 6
dbm や ndbm ファイルと連想配列を結び付けます。
ASSOC は連想配列の名前です。
(通常の open と違って、最初の引数はファイルハンドルのように見えても、
ファイルハンドルでは*ありません*) 。
DBNAME は、(.dir や .pag の拡張子を除いた) データベースの名前です。
データベースが存在しないと、(umaskで修飾された) MODE で指定された
プロテクションで作成します。
古い dbm 関数しかサポートしないシステムでは、プログラムの中で一つの
dbmopen しか許されないかもしれません。
dbm も ndbm もないシステムでは、dbmopen 呼び出しは致命的なエラーを生
じます。
.Sp
それまでの dbmopen で関連付けられた連想配列の値は失われます。
dbm ファイルのうち、ある量の値はメモリにキャッシュされます。
デフォルトでその量は 64 ですが、dbmopen の前に連想配列の
ガーベッジエントリの数をあらかじめ確保しておくことで、
増やすことができます。必要なら、reset コマンドでキャッシュを
フラッシュすることができます。
.Sp
dbm ファイルへの書き込み許可を持っていない場合、連想配列変数を
読み出すだけで、それをセットすることはできません。
書き込めるかどうかをテストしたければ、ファイルテストを使うか、エラーを
トラップできる eval の中で、ダミーの配列エントリをセットしようと
してみて下さい。
.Sp
keys() や valuse() のような関数は、大きな dbm ファイルを使ったときに、
巨大な配列値を返すかもしれません。
大きな dbm ファイルで繰り返しをするときは、each() 関数を使った方が
良いかもしれません。
例:
.nf
.ne 6
# 履歴ファイルのオフセットを表示します
dbmopen(HIST,'/usr/lib/news/history',0666);
while (($key,$val) = each %HIST) {
print $key, ' = ', unpack('L',$val), "\en";
}
dbmclose(HIST);
.fi
.Ip "defined(EXPR)" 8 6
.Ip "defined EXPR" 8
左辺値 EXPR が、実際に値を持っているかどうかを表す論理値を返します。
多くの演算で、ファイル終端、初期化されていない変数、システムエラーなど
の例外処理条件で undefined 値が返されます。
この関数は、本当のヌル文字列を返すかもしれない操作、特に配列要素を参照
する操作の際に、未定義のヌル文字列と定義されたヌル文字列の判別を可能に
します。
配列やサブルーチンが存在するかどうかを調べることもできます。
予約済み変数を使うときは、直観的に期待するような結果になるとは保証されて
いません。
例:
.nf
.ne 7
print if defined $switch{'D'};
print "$val\en" while defined($val = pop(@ary));
die "Can't readlink $sym: $!"
unless defined($value = readlink $sym);
eval '@foo = ()' if defined(@foo);
die "No XYZ package defined" unless defined %_XYZ;
sub foo { defined &$bar ? &$bar(@_) : die "No bar"; }
.fi
undef も参照して下さい。
.Ip "delete $ASSOC{KEY}" 8 6
指定した連想配列から、指定した値を削除します。
削除された値が返りますが、何も削除されなかった場合は undefined 値が
返ります。
$ENV{} から削除すると、環境変数を変更します。
dbm ファイルに結びつけられた配列を削除すると、dbm ファイルからその項
目を削除します。
.Sp
以下の例は、連想配列のすべての値を削除します:
.nf
.ne 3
foreach $key (keys %ARRAY) {
delete $ARRAY{$key};
}
.fi
(しかし、
.I reset
コマンドを使った方が速いでしょう。undef %ARRAY ならもっと速いでしょう)
.Ip "die(LIST)" 8
.Ip "die LIST" 8
eval の外で、LIST の値を
.I STDERR
に表示して、そのときの $! (errno) の値で終了 (exit) します。
$! が 0 なら、($? >> 8) (\`command\` のステータス) の値で終了します。
($? >> 8) が 0 なら、255 で終了します。
eval の中では、エラーメッセージは $@ に詰め込まれ、eval は undefined
値で終了します。
.Sp
同等の例:
.nf
.ne 3
.ie t \{\
die "Can't cd to spool: $!\en" unless chdir \'/usr/spool/news\';
'br\}
.el \{\
die "Can't cd to spool: $!\en"
unless chdir \'/usr/spool/news\';
'br\}
chdir \'/usr/spool/news\' || die "Can't cd to spool: $!\en"
.fi
.Sp
EXPR の値が改行で終らない場合、スクリプトの現在の行番号と (もしあれば)
入力行番号が出力され、改行が加えられます。
ヒント: \*(L", stopped\*(R" をメッセージに加えておくと、
\*(L"at foo line 123\*(R" が加えられたときにわかり易くなるので良い
でしょう。
スクリプト \*(L"canasta\*(R" を走らせているとすると、
.nf
.ne 7
die "/etc/games is no good";
die "/etc/games is no good, stopped";
は、多分
/etc/games is no good at canasta line 123.
/etc/games is no good, stopped at canasta line 123.
.fi
と出力されます。
.IR exit
を参照して下さい。
.Ip "do BLOCK" 8 4
BLOCK 内で指定されたうち、最後のコマンドの値を返します。
ループ修飾子に修飾されたときは、ループ条件をテストする前に BLOCK が
一度実行されます。
(他の文では、ループ修飾子は、条件を始めにテストします。)
.Ip "do SUBROUTINE (LIST)" 8 3
.I sub
で宣言されたサブルーチンを実行し、SUBROUTINE で最後に評価された式の値
を返します。
その名前のサブルーチンがない場合、致命的エラーを生じます。
(サブルーチンが存在しているかどうかを判定したいなら、\*(L"defined\*(R"
演算子を使うのが良いでしょう。)
配列をリストの一部として渡したいなら、各配列の前に配列の長さを付けて
渡すのが良いでしょう。
(後に出てくるサブルーチンのセクションを参照して下さい。)
\*(L"do EXPR\*(R" の形との混乱を避けるため、括弧は必要となります。
.Sp
SUBROUTINE は、一つのスカラ変数でもかまいません。その場合、
実行されるサブルーチン名は、変数から得られます。
.Sp
別の (好まれる) 形として、アンパサンド & を前に付ける &foo(@args) の
ように、サブルーチンを呼んでもかまいません。
引数を渡さないなら、括弧を使う必要はありません。
括弧を省略すると、サブルーチンには @_ 配列は渡されません。
& 型は、defined や undef 演算子にサブルーチンを指示するのにも
使われます:
.nf
if (defined &$var) { &$var($parm); undef &$var; }
.fi
.Ip "do EXPR" 8 3
ファイル名として EXPR の値を使い、
.I perl
スクリプトとして、ファイルの内容を実行します。
これは基本的に
.I perl
サブルーチンライブラリからサブルーチンをインクルードするという使い方を
します。
.nf
do \'stat.pl\';
は、
eval \`cat stat.pl\`;
.fi
とほとんど同じです。
違うのは、より効率的で、より簡潔で、エラーメッセージ中の現在ファイル名
は正しく、カレントディレクトリに stat.pl がなければ
.B \-I
で指定されたライブラリをすべて探すということです。
(予約変数のセクション中の @INC 配列を参照して下さい) 。
しかし、呼び出しのたびにファイルを解析し直すのは同じなので、ループの
内側でこのファイルを使うなら、起動時間は少し余計にかかるとしても、
\-P と #include を使った方が良いでしょう。
(この #include を使う問題点は、cpp が # コメントを認識してくれない
ことです。\*(--逃げ道は、コメント単独として \*(L";#\*(R" を使うことです。)
次のものは等価ではないことに注意して下さい:
.nf
.ne 2
do $foo; # ファイルを eval します
do $foo(); # サブルーチンを呼びます
.fi
ライブラリルーチンのインクルードとしては、
\*(L"require\*(R" 演算子の方がより良いことを覚えておいて下さい。
.Ip "dump LABEL" 8 6
ただちにコアダンプします。
もともと、これは、プログラムの始めにすべての変数を初期化した後に
ダンプされたコアを undump プログラムを使って実行バイナリを作るために
あります。
新しいバイナリが実行されるとき、"goto LABEL" を実行することから
始まります
(goto が受けるすべての制限は適用されます) 。
コアダンプで止まったところから、goto で再び始まると考えれば良いです。
LABEL が省略されると、プログラムは先頭から再スタートします。
警告: ダンプされたときに open されていたどのファイルも、プログラムが
再生したときにはもう open されておらず、perlの側では混乱する可能性が
あります。
\-u も参照して下さい。
.Sp
例:
.nf
.ne 16
#!/usr/bin/perl
require 'getopt.pl';
require 'stat.pl';
%days = (
'Sun',1,
'Mon',2,
'Tue',3,
'Wed',4,
'Thu',5,
'Fri',6,
'Sat',7);
dump QUICKSTART if $ARGV[0] eq '-d';
QUICKSTART:
do Getopt('f');
.fi
.Ip "each(ASSOC_ARRAY)" 8 6
.Ip "each ASSOC_ARRAY" 8
連想配列の次のキーと値の 2 つの要素から成る配列を順次返し、
それを繰り返すことができます。
各エントリはランダムのように見える順序で返されます。
配列全部が読み込まれたとき、ヌル配列 (代入されると FALSE(0) 値となる)
が返されます。
その後、次の each() の呼び出しで繰り返しを再び始めます。
繰り返し情報は、配列からすべての要素を読み込むことによってのみ
リセットできます。
繰り返しの間は、配列を変更してはいけません。
各連想配列につき一つずつ繰り返し情報があり、プログラム中のすべての
each(), keys(), values() 関数呼び出しで共有されます。
次の例は、順序は異なるものの printenv プログラムのように環境変数を
表示します:
.nf
.ne 3
while (($key,$value) = each %ENV) {
print "$key=$value\en";
}
.fi
keys() 関数と values() 関数も参照して下さい。
.Ip "eof(FILEHANDLE)" 8 8
.Ip "eof()" 8
.Ip "eof" 8
次に FILEHANDLE を読んだときファイル終端であるか、
または FILEHANDLE がオープンされていないとき、1 を返します。
FILEHANDLE は実際のファイルハンドル名を値に持つ式でもかまいません。
(この関数は、実際には一文字読み込んでは、ungetc するので、対話的な
コンテキストではそれほど有用ではありません。)
引数無しの eof は、最後に読んだファイルの eof 状態を返します。
空の括弧 () は、コマンドラインで指定されたファイル群からなる
擬似ファイルを指します。つまり、eof() は while (<>) の内側で最後の
ファイルの終端を検出するときに意味があります。
while (<>) ループの中で各ファイルを調べたいときは、eof(ARGV) または
括弧のない eof を使って下さい。
例:
.nf
.ne 7
# 最後のファイルの最終行の直前にダッシュを挿入します
while (<>) {
if (eof()) {
print "\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\en";
}
print;
}
.ne 7
# 各入力ファイル毎に、行番号をリセットします
while (<>) {
print "$.\et$_";
if (eof) { # Not eof().
close(ARGV);
}
}
.fi
.Ip "eval(EXPR)" 8 6
.Ip "eval EXPR" 8 6
.Ip "eval BLOCK" 8 6
EXPR は解析され、一つの小さな
.I perl
プログラムであるかのように実行されます。
.I perl
プログラムのコンテキストの中で実行されるので、どの変数設定、
サブルーチン、フォーマット定義もその後に残ります。
戻り値は、丁度サブルーチンと同様に、最後に評価された式が返ります。
文法エラーや実行時エラーがあるか、die 文があれば、eval により undefined
が返り、$@ にエラーメッセージがセットされます。
もしエラーがなければ、$@ はヌル文字列であることが保証されます。
EXPRを省略すると、$_ を評価します。
最後のセミコロンはどれも式から除かれます。
.Sp
eval はしかし、致命的エラーまでトラップするので、
(dbmopen や symlinkのような) ある機能が実装されているかどうかを
決めるには便利なことを覚えておいて下さい。
die 演算子が例外を起こすように使われるのは、perl の例外トラップ機構
でもあります。
.Sp
実行されるコードが変わらないなら、その度に再コンパイルされる時間を
費すよりは、実行時エラーをトラップする eval-BLOCK の形をとった方が良い
かもしれません。
どんなエラーも起これば $@ にメッセージが返ります。
EXPR のような、シングルクォートされた文字列を評価すると、同じ効果が
ありますが、eval-BLOCK の形ではコンパイル時に文法エラーを報告するのに
対し、eval-EXPR の形では $@ を通して実行時に文法エラーを報告する点が
異なります。
eval-EXPR の形は、最初に成功したときに eval-BLOCK に最適化されます。
(e 修飾子を使った場合、置換される側はシングルクォートされた文字列と
みなされ、同じ最適化が起こります。)
例:
.nf
.ne 11
# 0 除算を致命的エラーにしません
eval { $answer = $a / $b; }; warn $@ if $@;
# 初回使用後、同じものに最適化されます。
eval '$answer = $a / $b'; warn $@ if $@;
# コンパイル時エラー
eval { $answer = };
# 実行時エラー
eval '$answer ='; # sets $@
.fi
.Ip "exec(LIST)" 8 8
.Ip "exec LIST" 8 6
LIST の中に一つ以上の引数があるか、LIST が一つ以上の値を持つ配列ならば、
リストの引数を付けて execvp() を呼びます。
一つのスカラ引数だけなら、引数にシェルのメタキャラクタがあるかどうか
を調べます。あれば、解析のために引数を丸ごと \*(L"/bin/sh \-c\*(R" に
渡し、無ければ、引数は単語に split され、execvp() に直接渡されます。
その方が効率が良いからです。
注意: exec (と system) は出力バッファをフラッシュしないので、出力が
失われるのを避けるために $| をセットする必要があるかもしれません。
例:
.nf
exec \'/bin/echo\', \'Your arguments are: \', @ARGV;
exec "sort $outfile | uniq";
.fi
.Sp
もし、最初の引数を本当に実行したいのでなく、実行しようとしている
プログラムの名前を詐称したいだけなら、本当に走らせたいプログラムを変数に
割り当てて、LIST の前に変数の名前をカンマを付けずに置くように
指定できます。
(これは、たとえ単一スカラしかリストに無くても、常に多くの値を持つ
リストとして LIST の解釈を強制します。)
例:
.nf
.ne 2
$shell = '/bin/csh';
exec $shell '-sh'; # ログインシェルのふりをします
.fi
.Ip "exit(EXPR)" 8 6
.Ip "exit EXPR" 8
EXPR を評価し、ただちにその値で終了します。
例:
.nf
.ne 2
$ans = <STDIN>;
exit 0 \|if \|$ans \|=~ \|/\|^[Xx]\|/\|;
.fi
.IR die
を参照して下さい。
EXPR が省略されると、値 0 の状態で終了します。
.Ip "exp(EXPR)" 8 3
.Ip "exp EXPR" 8
.I e
の EXPR 乗を返します。 EXPR を省略すると、exp($_) を返します。
.Ip "fcntl(FILEHANDLE,FUNCTION,SCALAR)" 8 4
fcntl(2) 関数の実装です。
正しい関数定義を得るには、多分
.nf
require "fcntl.ph"; # 多分 /usr/local/lib/perl/fcntl.ph
.fi
を始めに書いておかなければならないでしょう。
もし、fcntl.ph が存在しないか、もしくは正しい定義がされていない場合、
<sys/fcntl.h> のような C のヘッダファイルに基づいて、
自分で何とかしなければなりません。
(perl kit から来る h2ph と呼ばれる perl スクリプトがあり、
このことを助けてくれるでしょう)
引数の処理と戻り値を返すことは、
この後に書かれている ioctl のように動作します。
fcntl は、fcntl(2) が実装されていないマシンで使われると
致命的エラーを生じます。
.Ip "fileno(FILEHANDLE)" 8 4
.Ip "fileno FILEHANDLE" 8 4
ファイルハンドルに対するファイルディスクリプタを返します。
select() のビットマップを構成するのに便利です。
FILEHANDLE が式だと、その値がファイルハンドルの名前と解釈されます。
.Ip "flock(FILEHANDLE,OPERATION)" 8 4
ファイルハンドルに対し flock(2) を呼びます。
OPERATION の定義については、flock(2) のマニュアルを参照して下さい。
成功すれば真を、失敗すれば偽を返します。
flock(2) が実装されていないマシンで使うと、致命的エラーになります。
以下は、BSD システムのメールボックスにメールを追加します。
.nf
.ne 20
$LOCK_SH = 1;
$LOCK_EX = 2;
$LOCK_NB = 4;
$LOCK_UN = 8;
sub lock {
flock(MBOX,$LOCK_EX);
# 待っている間に、他の誰かが追加する
# 場合のために...
seek(MBOX, 0, 2);
}
sub unlock {
flock(MBOX,$LOCK_UN);
}
open(MBOX, ">>/usr/spool/mail/$ENV{'USER'}")
|| die "Can't open mailbox: $!";
do lock();
print MBOX $msg,"\en\en";
do unlock();
.fi
.Ip "fork" 8 4
fork() システムコールを実行します。
親プロセスに子の pid を返し、子プロセスには 0 を返します。
注意: フラッシュされていないバッファは、両方のプロセスでフラッシュ
されずに残ります。これは二重出力を避けるために、$| をセットする必要が
あるかもしれないということを意味します。
.Ip "getc(FILEHANDLE)" 8 4
.Ip "getc FILEHANDLE" 8
.Ip "getc" 8
FILEHANDLE に結びつけられた入力ファイルから、次の文字を返します。
EOF ではヌルを返します。 FILEHANDLE を省略すると、STDIN から読み込み
ます。
.Ip "getlogin" 8 3
現在のログイン状況が /etc/utmp から得られれば、それを返します。
得られなければ、getpwuid を使って下さい。
$login = getlogin || (getpwuid($<))[0] || "Somebody";
.Ip "getpeername(SOCKET)" 8 3
SOCKET 接続の向こう側の pack された sockaddr アドレスを返します。
.nf
.ne 4
# 内部 sockaddr
$sockaddr = 'S n a4 x8';
$hersockaddr = getpeername(S);
.ie t \{\
($family, $port, $heraddr) = unpack($sockaddr,$hersockaddr);
'br\}
.el \{\
($family, $port, $heraddr) =
unpack($sockaddr,$hersockaddr);
'br\}
.fi
.Ip "getpgrp(PID)" 8 4
.Ip "getpgrp PID" 8
指定された PID に対する現在のプロセスグループを返します。
現在のプロセスでは 0 です。
getpgrp(2) が実装されていないマシンで使うと、致命的エラーになります。
EXPR が省略されると、現在のプロセスのプロセスグループが返ります。
.Ip "getppid" 8 4
親プロセスのプロセス ID を返します。
.Ip "getpriority(WHICH,WHO)" 8 4
プロセス、プロセスグループ、ユーザの現在のプライオリティを返します。
(getpriority(2)を参照して下さい。)
getpriority(2) を実装していないマシンで使うと致命的エラーになります。
.Ip "getpwnam(NAME)" 8
.Ip "getgrnam(NAME)" 8
.Ip "gethostbyname(NAME)" 8
.Ip "getnetbyname(NAME)" 8
.Ip "getprotobyname(NAME)" 8
.Ip "getpwuid(UID)" 8
.Ip "getgrgid(GID)" 8
.Ip "getservbyname(NAME,PROTO)" 8
.Ip "gethostbyaddr(ADDR,ADDRTYPE)" 8
.Ip "getnetbyaddr(ADDR,ADDRTYPE)" 8
.Ip "getprotobynumber(NUMBER)" 8
.Ip "getservbyport(PORT,PROTO)" 8
.Ip "getpwent" 8
.Ip "getgrent" 8
.Ip "gethostent" 8
.Ip "getnetent" 8
.Ip "getprotoent" 8
.Ip "getservent" 8
.Ip "setpwent" 8
.Ip "setgrent" 8
.Ip "sethostent(STAYOPEN)" 8
.Ip "setnetent(STAYOPEN)" 8
.Ip "setprotoent(STAYOPEN)" 8
.Ip "setservent(STAYOPEN)" 8
.Ip "endpwent" 8
.Ip "endgrent" 8
.Ip "endhostent" 8
.Ip "endnetent" 8
.Ip "endprotoent" 8
.Ip "endservent" 8
これらのルーチンは、システムライブラリ中の同名の関数を実行します。
配列のコンテキストの中では、これらの各 get ルーチンの戻り値は、
以下のようになります:
.nf
($name,$passwd,$uid,$gid,
$quota,$comment,$gcos,$dir,$shell) = getpw.\|.\|.
($name,$passwd,$gid,$members) = getgr.\|.\|.
($name,$aliases,$addrtype,$length,@addrs) = gethost.\|.\|.
($name,$aliases,$addrtype,$net) = getnet.\|.\|.
($name,$aliases,$proto) = getproto.\|.\|.
($name,$aliases,$port,$proto) = getserv.\|.\|.
.fi
(もしエントリが存在しなければ、ヌルリストになります。)
.Sp
スカラのコンテキストでは、
name による検索でない場合には name が得られ、
name による検索の場合には name 以外が得られます。
(エントリが存在しない場合は、undefined 値となります。)
例:
.nf
$uid = getpwnam
$name = getpwuid
$name = getpwent
$gid = getgrnam
$name = getgrgid
$name = getgrent
.fi
getgr.\|.\|. の返す $menbers 値は、空白で区切られたグループメンバの
ログイン名のリストです。
.Sp
gethost.\|.\|. 関数では、h_errno 変数が C でサポートされていれば、
関数のコールが失敗したとき $? を介して返されます。
成功した関数コールの返す @addrs 値は、相当するシステムライブラリ
呼び出しに返された raw address のリストです。
インターネットドメイン (INET) では、各アドレスは 4 バイト長で
以下のように書くと unpack できます。
.nf
($a,$b,$c,$d) = unpack('C4',$addr[0]);
.fi
.Ip "getsockname(SOCKET)" 8 3
pack された、SOCKET接続のこちら側の sockaddr アドレスを返します。
.nf
.ne 4
# An internet sockaddr
$sockaddr = 'S n a4 x8';
$mysockaddr = getsockname(S);
.ie t \{\
($family, $port, $myaddr) = unpack($sockaddr,$mysockaddr);
'br\}
.el \{\
($family, $port, $myaddr) =
unpack($sockaddr,$mysockaddr);
'br\}
.fi
.Ip "getsockopt(SOCKET,LEVEL,OPTNAME)" 8 3
要求したソケットのオプションを返します。エラーの場合は undefined を
返します。
.Ip "gmtime(EXPR)" 8 4
.Ip "gmtime EXPR" 8
time 関数に返された時刻を、Greenwich timezone として 9 要素の配列に
変換します。
通常は次のように使います:
.nf
.ne 3
.ie t \{\
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
'br\}
.el \{\
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
gmtime(time);
'br\}
.fi
すべての配列要素は数値で、構造体 tm から直接得られるものです。
これにより $mon は 0.\|.11 の範囲で $wday は 0.\|.6 の範囲であることに
なります。
EXPR を省略すると、gmtime(time) を実行します。
.Ip "goto LABEL" 8 6
LABEL というラベルを付けられた文を探し、そこから実行を再開します。
現在のところ、プログラムの本体内で do {} 構造の内側が
入れ子になっていない文にしか行けません。
この文は効率的には実装されておらず、
.IR sed -to- perl
翻訳プログラムを簡単にできるようにするためだけあります。
翻訳された
.I sed
スクリプトの一貫性のサポートはしますが、このセマンティックスを私がいつ
変更するかわからないので、自らの責任で使って下さい。
全く使わない方が良いでしょう。
.Ip "grep(EXPR,LIST)" 8 4
LIST の各要素に対して (ローカルには各要素を $_ にセット) 、EXPR を
評価して、式が真であると評価された要素だけからなる配列を返します。
スカラのコンテキストでは、式が真になった回数を数値で返します。
.nf
@foo = grep(!/^#/, @bar); # コメントを除きます
.fi
$_ は配列値への参照なので、配列の要素を変更する場合に使えることを
覚えておきましょう。
これは便利ですが、LIST が名前のついた配列でないと、おかしな結果を
引き起こすことになります。
.Ip "hex(EXPR)" 8 4
.Ip "hex EXPR" 8
10 進値 EXPR を 16 進文字列にして返します。
(0 または 0x で始まる文字列を解釈するなら、oct() を参照して下さい。)
EXPR を省略すると $_ を使います。
.Ip "index(STR,SUBSTR,POSITION)" 8 4
.Ip "index(STR,SUBSTR)" 8 4
STR の中で、POSITION かそれ以降に最初に SUBSTR が現れる位置を返します。
POSITION を省略すると、文字列の先頭から検索します。
戻り値は、0 か $[ 変数に設定されたものがベースになります。
SUBSTR がみつからないと、ベースから 1 を引いた値を返し、通常 \-1 に
なります。
.Ip "int(EXPR)" 8 4
.Ip "int EXPR" 8
EXPR の整数部を返します。
EXPR が省略されると、$_ を使います。
.Ip "ioctl(FILEHANDLE,FUNCTION,SCALAR)" 8 4
これは、ioctl(2) 関数を実装しています。
正しい関数定義を得るには、多分始めの方で
.nf
require "ioctl.ph"; # 多分 /usr/local/lib/perl/ioctl.ph
.fi
と書かなければならないでしょう。
ioctl.ph が存在しないか、または正しく定義されていない場合、
<sys/ioctl.h> のような C のヘッダファイルから自分自身でなんとかしな
ければなりません。
(perl キットにある h2ph というスクリプトがこの助けになるでしょう。)
SCALAR は、FUNCTIONに依存して、参照または書き込みがされます。
FUNCTION \*(--SCALAR の文字列値へのポインタは、実際の ioctl 呼び出しの
第 3 引数に渡されます。
(SCALAR が文字列値でなく数値であった場合、文字列値へのポインタでなく
数値そのものが渡されます。これが真であることを保証するには、このスカラを
使う前に 0 を加えて下さい。)
ioctl() に使われる構造体の値を扱うには、pack() 関数と unpack() 関数が
便利です。
次の例は、DEL に erase 文字をセットします。
.nf
.ne 9
require 'ioctl.ph';
$sgttyb_t = "ccccs"; # chars 4 個と short 1 個
if (ioctl(STDIN,$TIOCGETP,$sgttyb)) {
@ary = unpack($sgttyb_t,$sgttyb);
$ary[2] = 127;
$sgttyb = pack($sgttyb_t,@ary);
ioctl(STDIN,$TIOCSETP,$sgttyb)
|| die "Can't ioctl: $!";
}
.fi
ioctl (と fcntl) の戻り値は以下の通りです:
.nf
.ne 4
OS の戻り値:\h'|3i'perlの戻り値:
-1\h'|3i' undefined 値
0\h'|3i' 文字列 "0 but true"
それ以外\h'|3i' その数
.fi
このように、perl は成功時に真を、失敗時に偽を返しますが、
オペレーティングシステムから返される実際の値も簡単に判定することができます:
.nf
($retval = ioctl(...)) || ($retval = -1);
printf "System returned %d\en", $retval;
.fi
.Ip "join(EXPR,LIST)" 8 8
.Ip "join(EXPR,ARRAY)" 8
分割されている LIST や ARRAY の文字列を、フィールドセパレータとして
値 EXPR をはさんだ一つの文字列につなげて、その文字列を返します。
例:
.nf
.ie t \{\
$_ = join(\|\':\', $login,$passwd,$uid,$gid,$gcos,$home,$shell);
'br\}
.el \{\
$_ = join(\|\':\',
$login,$passwd,$uid,$gid,$gcos,$home,$shell);
'br\}
.fi
.IR split
を参照して下さい。
.Ip "keys(ASSOC_ARRAY)" 8 6
.Ip "keys ASSOC_ARRAY" 8
名前のついた連想配列のすべてのキーからなる普通の配列を返します。
キーは、見かけ上ランダムな順で返されますが、values() 関数や each() 関数
(これによって連想配列は変更されません) が生成するものと同じ順になります。
以下は、環境変数を表示する別の方法です:
.nf
.ne 5
@keys = keys %ENV;
@values = values %ENV;
while ($#keys >= 0) {
print pop(@keys), \'=\', pop(@values), "\en";
}
キーでソートすると:
.ne 3
foreach $key (sort(keys %ENV)) {
print $key, \'=\', $ENV{$key}, "\en";
}
.fi
.Ip "kill(LIST)" 8 8
.Ip "kill LIST" 8 2
プロセスのリストにシグナルを送ります。
リストの最初の要素は、送られるシグナルでなければなりません。
シグナル送信に成功したプロセスの数を返します。
.nf
$cnt = kill 1, $child1, $child2;
kill 9, @goners;
.fi
シグナルが負の場合、プロセスの代わりにプロセスグループを kill します。
(System Vでは、負の \fIプロセス\fR 番号はプロセスグループも kill
しますが、互換性はありません。)
クォートでくくられたシグナル名も使えます。
.Ip "last LABEL" 8 8
.Ip "last" 8
.I last
コマンドは、(ループ内で使われるような) C の
.I break
文に似ていて、該当するループを直ちに終了します。
LABEL が省略されると、このコマンドは最も内側のループを抜けます。
.I continue
ブロックがあったとしても、実行されません:
.nf
.ne 4
line: while (<STDIN>) {
last line if /\|^$/; # ヘッダが終ったら抜けます
.\|.\|.
}
.fi
.Ip "length(EXPR)" 8 4
.Ip "length EXPR" 8
EXPR の値の文字列長を返します。
EXPR を省略すると、$_ の長さを返します。
.Ip "link(OLDFILE,NEWFILE)" 8 2
OLDFILE にリンクされた NEWFILE を作成します。
成功すると 1 を、失敗すると 0 を返します。
.Ip "listen(SOCKET,QUEUESIZE)" 8 2
listen システムコールと同じことを行ないます。
成功すると真を、失敗すると偽を返します。
プロセス間通信のセクションの例を参照して下さい。
.Ip "local(LIST)" 8 4
閉じたブロック、サブルーチン、eval 、\*(L"do\*(R" に局所的な
変数リストを宣言します。
リストされたすべての要素は左辺値として妥当なものでなければなりません。
この演算子は、LIST 内のその時点での変数を隠れたスタックに保存し、
ブロックやサブルーチンや eval を抜けるときに戻すように動作します。
これは、呼ばれたサブルーチンもグローバル変数でなく、ローカル変数を
参照することを意味します。
そうしたければ、LIST に代入してローカル変数を初期化してもかまいません。
(初期値が特定の値として与えられていなければ、undefined 値として
生成されます。)
普通、これはサブルーチンのパラメータに名前をつけるのに使われます。
例:
.nf
.ne 13
sub RANGEVAL {
local($min, $max, $thunk) = @_;
local($result) = \'\';
local($i);
# 多分 $thunk は $i を参照しています
for ($i = $min; $i < $max; $i++) {
$result .= eval $thunk;
}
$result;
}
.ne 6
if ($sw eq \'-v\') {
# グローバルな配列でローカルな配列を初期化します
local(@ARGV) = @ARGV;
unshift(@ARGV,\'echo\');
system @ARGV;
}
# @ARGV が元に戻されます
.ne 6
# 一時的に digits という連想配列に追加をしています。
if ($base12) {
# (注意: これが効率的と言いたいわけではありません)
local(%digits) = (%digits,'t',10,'e',11);
do parse_num();
}
.fi
local() は実行時のコマンドで、ループ終了時に全部を一度に開放するまでは、
ループを通るたびに実行され、毎回スタックを消費していきます。
.Ip "localtime(EXPR)" 8 4
.Ip "localtime EXPR" 8
time 関数に返された時刻を、ローカルタイムゾーンとして解析された 9 要素の
配列に変換します。
通常次のように使われます:
.nf
.ne 3
.ie t \{\
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
'br\}
.el \{\
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);
'br\}
.fi
すべての配列要素は数字で、構造体 tm から直接得られたものです。
これにより $mon は 0.\|.11 の範囲で $wday は 0.\|.6 の範囲であることに
なります。
EXPR を省略すると、localtime(time) を実行します。
.Ip "log(EXPR)" 8 4
.Ip "log EXPR" 8
EXPR の (底が
.IR e
の) 対数を返します。
EXPR を省略すると、$_ の log を返します。
.Ip "lstat(FILEHANDLE)" 8 6
.Ip "lstat FILEHANDLE" 8
.Ip "lstat(EXPR)" 8
.Ip "lstat SCALARVARIABLE" 8
stat() 関数と同じことを実行しますが、シンボリックリンクでは指している
先のファイルの代わりにシンボリックリンク自身の状態を返します。
シンボリックリンクが実装されていないシステムでは、通常の stat を
実行します。
.Ip "m/PATTERN/gio" 8 4
.Ip "/PATTERN/gio" 8
パターンマッチに合う文字列を検索し、真 (1) か偽 (\'\') を
返します。
=~ や !~ を介した文字列の指定がなければ、文字列 $_ が検索されます。
(=~ で指定された文字列は、左辺値である必要はありません。
式の評価結果でもかまいませんが、=~ はどちらかというと優先度が高いことを
覚えておいて下さい。)
正規表現のセクションを参照して下さい。
.Sp
/ が区切り文字である場合、始めの \*(L'm\*(R' は省略可能です。\*(L'm\*(R' が
あると、英数字以外のどの文字でも区切りにできます。
これは、特に \*(L'/\*(R' を含む UNIX のパス名へのマッチに便利です。
最後の区切りの後にオプション文字 \*(L'i\*(R' が続くと、マッチングが
大文字小文字の区別なく行なわれます。
PATTERN は、スカラ変数への参照を含んでいてもよく、それはパターン検索
が評価される毎に挿入されます (パターンはリコンパイルされます) 。
( $) と $| は文字列終端のテストに見えるため、挿入は行なわれません。)
パターンを一度だけコンパイルさせたい場合は、後ろの区切り文字
の後に \*(L"o\*(R" を加えて下さい。
これにより、余分な実行時再コンパイルを避けられるので、挿入したい値が
スクリプトの動いている間中、変わらないときには便利です。
PATTERN がヌル文字に評価されたときは、最後に成功した正規表現が代わりに
使われます。
.Sp
配列値が必要なコンテキストで使われると、パターンマッチはパターンの中で
マッチした subexpression を括弧でくくったものすなわち、
($1, $2, $3.\|.\|.)
からなる配列を返します。
この場合、実際には $1, $2 等をセットは*せず*、
$+, $`, $&, $' もセットしません。
マッチが失敗すると、ヌル配列が返ります。
マッチが成功しても括弧がないと、配列値 (1) が返ります。
.Sp
例:
.nf
.ne 4
open(tty, \'/dev/tty\');
<tty> \|=~ \|/\|^y\|/i \|&& \|do foo(\|); # y なら foo を実行
if (/Version: \|*\|([0\-9.]*\|)\|/\|) { $version = $1; }
next if m#^/usr/spool/uucp#;
.ne 5
# 恵まれない人の grep
$arg = shift;
while (<>) {
print if /$arg/o; # 一度だけコンパイル
}
if (($F1, $F2, $Etc) = ($foo =~ /^(\eS+)\es+(\eS+)\es*(.*)/))
.fi
この最後の例は、$foo を最初の二語と残りに split し、三つのフィールド
を $F1 、$F2 、$Etc に代入します。
どれかの変数が代入された場合、すなわちパターンがマッチした場合、
この条件は真となります。
.Sp
\*(L"g\*(R" 修飾子は、グローバルパターンマッチの指定です\*(--つまり、
文字列の中でできるだけ多くのマッチを行ないます。
どのように振舞うかは、コンテキストに依存します。
配列のコンテキストでは、正規表現の中ですべての括弧にマッチした文字列の
リストを返します。括弧がなければ、パターン全体を囲む括弧があるか
のようにマッチした文字列すべてのリストを返します。
スカラのコンテキストでは、文字列を通してマッチする毎に*真*を返し、
マッチしなかったとき*偽*を返します。 (言いかえると、最後にテストした
場所を覚えていて、そこから再び検索を始めるということです。)
最後のマッチから文字列が変更されていないことを仮定しています。
マッチとマッチの間で文字列を変更することは、未定義な動作を引き起こす
かもしれません。
(実際には substr()を使って、全文字列の長さを変えずにその場で変更する
なら、できます。しかし、一般にはそういう変更は s///g を使うべきです。)
例:
.nf
# 配列のコンテキスト
($one,$five,$fifteen) = (\`uptime\` =~ /(\ed+\e.\ed+)/g);
# スカラのコンテキスト
$/ = ""; $* = 1;
while ($paragraph = <>) {
while ($paragraph =~ /[a-z][\'")]*[.!?]+[\'")]*\es/g) {
$sentences++;
}
}
print "$sentences\en";
.fi
.Ip "mkdir(FILENAME,MODE)" 8 3
FILENAME で指定されたディレクトリを、(umask で修飾された) MODE で指定
されたパーミッションで作成します。
成功すると 1 を、失敗すると 0 を返し、$! (errno) をセットします。
.Ip "msgctl(ID,CMD,ARG)" 8 4
System V IPC 関数の msgctl を呼びます。 CMD が &IPC_STAT なら、ARG は
返された msqid_ds 構造を保持する変数でなければなりません。
ioctl のように、エラーのときは undefined 値を、0 のとき
には "0 but true" を、でなければ実際の戻り値を返します。
.Ip "msgget(KEY,FLAGS)" 8 4
System V IPC 関数の msgget を呼びます。成功時はメッセージキュー ID を、
エラーが起これば undefined value を返します。
.Ip "msgsnd(ID,MSG,FLAGS)" 8 4
System V IPC 関数の msgsnd を呼び、メッセージ MSGS をメッセージキュー
ID に送信します。 MSG は、pack("L", $type) で作られる long integer
のメッセージ型で始めなければなりません。成功すれば真を、エラーが起こる
と偽を返します。
.Ip "msgrcv(ID,VAR,SIZE,TYPE,FLAGS)" 8 4
System V IPC 関数 msgrcv を呼び、
メッセージキュー ID からメッセージを受け取り、
最大メッセージサイズ SIZE で変数 VAR に格納します。
メッセージを受け取ると、VAR に最初に格納されたものがメッセージ型
となり、VAR の最大長は、SIZE にメッセージ型のサイズを加えたものに
なることに注意して下さい。
成功すると真を、エラーでは偽を返します。
.Ip "next LABEL" 8 8
.Ip "next" 8
.I next
コマンドは、C の
.I continue
文と同様に、ループの次の繰り返しを始めます。
.nf
.ne 4
line: while (<STDIN>) {
next line if /\|^#/; # コメントを捨てます
.\|.\|.
}
.fi
上の例で
.I continue
ブロックがあると、行が捨てられた場合でも実行されることを覚えておいて
下さい。
LABEL が省略されると、このコマンドは最も内側のループを続けます。
.Ip "oct(EXPR)" 8 4
.Ip "oct EXPR" 8
10 進数 EXPR を、8 進文字列にして返します。
(EXPRが 0x で始まる文字列なら、10 進の代わりに 16 進として変換します。)
以下は、10 進、8 進、16 進の標準的な記法を扱います。
.nf
$val = oct($val) if $val =~ /^0/;
.fi
EXPR が省略されると、$_ を使います。
.Ip "open(FILEHANDLE,EXPR)" 8 8
.Ip "open(FILEHANDLE)" 8
.Ip "open FILEHANDLE" 8
EXPR で与えられたファイル名のファイルをオープンし、FILEHANDLE に結び
つけます。
FILEHANDLE が式の場合、その値を実際にファイルハンドルが求める名前
として使います。
EXPR が省略されると、FILEHANDLE と同名のスカラ変数が保持する値が
ファイル名となります。
ファイル名の前に \*(L"<\*(R" を付けるか、何も付けない場合、ファイルは
入力用にオープンされます。
ファイル名が \*(L">\*(R" で始まると、ファイルは出力用にオープンされます。
ファイル名が \*(L">>\*(R" で始まると、ファイルは追加書き込み用に
オープンされます。
(\'>\' や \'<\' の前に \'+\' を付けると、ファイルを読み書き両用に
できます。)
ファイル名が \*(L"|\*(R" で始まると、ファイル名は出力がパイプされる
コマンドと解釈され、ファイル名が \*(L"|\*(R" で終ると、入力が
パイプされるコマンドと解釈されます。
(入出力共パイプするコマンドは必要がないでしょう。) \'\-\' をオープンすると
.I STDIN
を、\'>\-\' をオープンすると
.IR STDOUT
をオープンします。
open は成功したとき、0 でない値を、失敗したとき undefined 値を
返します。
open がパイプを含む場合、戻り値はサブプロセスの pid となります。
例:
.nf
.ne 3
$article = 100;
open article || die "Can't find article $article: $!\en";
while (<article>) {\|.\|.\|.
.ie t \{\
open(LOG, \'>>/usr/spool/news/twitlog\'\|); # (ログ保存)
'br\}
.el \{\
open(LOG, \'>>/usr/spool/news/twitlog\'\|);
# (ログ保存)
'br\}
.ie t \{\
open(article, "caesar <$article |"\|); # 記事を decrypt
'br\}
.el \{\
open(article, "caesar <$article |"\|);
# 記事を decrypt
'br\}
.ie t \{\
open(extract, "|sort >/tmp/Tmp$$"\|); # $$ は現在のプロセス
'br\}
.el \{\
open(extract, "|sort >/tmp/Tmp$$"\|);
# $$ は現在のプロセス
'br\}
.ne 7
# 引数リストのファイルを、それがインクルードするものも
# 含めて処理します
foreach $file (@ARGV) {
do process($file, \'fh00\'); # no pun intended
}
sub process {
local($filename, $input) = @_;
$input++; # 文字列インクリメント
unless (open($input, $filename)) {
print STDERR "Can't open $filename: $!\en";
return;
}
.ie t \{\
while (<$input>) { # 間接指定に注意
'br\}
.el \{\
while (<$input>) { # 間接指定に注意
'br\}
if (/^#include "(.*)"/) {
do process($1, $input);
next;
}
.\|.\|. # 続く
}
}
.fi
Bourne shell の慣習により、EXPR は \*(L">&\*(R" で始めるような指定も
できます。その場合、文字列の残りはファイルハンドル (数字なら
ファイルディスクリプタ) の名前と解釈され、dup して open します。
>>, <, +>, +>>, +< の後に & を使ってもかまいません。
指定するモードは、元のファイルハンドルのモードと一致していなくては
なりません。
以下は、
.I STDOUT
.IR STDERR
を保存し、リダイレクトを行なって、その後で書き戻します:
.nf
.ne 21
#!/usr/bin/perl
open(SAVEOUT, ">&STDOUT");
open(SAVEERR, ">&STDERR");
open(STDOUT, ">foo.out") || die "Can't redirect stdout";
open(STDERR, ">&STDOUT") || die "Can't dup stdout";
select(STDERR); $| = 1; # バッファリングしません
select(STDOUT); $| = 1; # バッファリングしません
print STDOUT "stdout 1\en"; # これもサブプロセスで
print STDERR "stderr 1\en"; # 動作します
close(STDOUT);
close(STDERR);
open(STDOUT, ">&SAVEOUT");
open(STDERR, ">&SAVEERR");
print STDOUT "stdout 2\en";
print STDERR "stderr 2\en";
.fi
コマンド \*(L"\-\*(R" でパイプをオープンする、すなわち \*(L"|\-\*(R"
や \*(L"\-|\*(R" をオープンすると、暗黙のうちに fork され、open の
戻り値として親プロセスには、子プロセスの pid が返され、子プロセスには
0 が返されます。
(open が成功したかどうかは、defined($pid) を使って判断して下さい。)
ファイルハンドルは、親にとって普通の挙動をしますが、子には
.IR STDOUT / STDIN
にパイプされたファイルハンドルの i/o となります。
子プロセスでファイルハンドルがオープンされず、\*(--新しく
ファイルハンドルは、新しい
.I STDIN
から
.IR STDOUT
へのパイプとなります。
よく使われるのは、普通のパイプのオープンと同様、パイプコマンドの
実行状態をコントロールしたいとき、setuid されたプログラムを走らせるとき、
シェルコマンドでメタキャラクタのチェックをする必要がないときです。
次の二つは、それぞれある程度同等です:
.nf
.ne 5
open(FOO, "|tr \'[a\-z]\' \'[A\-Z]\'");
open(FOO, "|\-") || exec \'tr\', \'[a\-z]\', \'[A\-Z]\';
open(FOO, "cat \-n '$file'|");
open(FOO, "\-|") || exec \'cat\', \'\-n\', $file;
.fi
パイプされたファイルハンドルを明示的に close すると、親プロセスは
子プロセスが終了するのを待つことになり、$? に状態を返します。
fork を行う操作では、両方のプロセスでフラッシュされないバッファが
そのまま残ることに注意して下さい。これは、二重出力を避けるために $| を
セットした方が良いことを意味します。
.Sp
open に渡されたファイル名は、前後の空白が除かれます。
意図的に変な文字を含むファイル名を持つファイルをオープンしたいときは、
前後の空白もこのように守ってやる必要があります:
.nf
.ne 2
$file =~ s#^(\es)#./$1#;
open(FOO, "< $file\e0");
.fi
.Ip "opendir(DIRHANDLE,EXPR)" 8 3
EXPR という名前のディレクトリを readdir(), telldir(), seekdir(),
rewinddir(), closedir() で処理できるようにオープンします。
成功すると真を返します。
DIRHANDLE は、FILEHANDLE とは別個のそれ自身の名前空間を持ちます。
.Ip "ord(EXPR)" 8 4
.Ip "ord EXPR" 8
EXPR の最初の文字のアスキー値を数値で返します。
EXPR が省略されると、$_ を使います。
''' Comments on f & d by gnb@melba.bby.oz.au 22/11/89
.Ip "pack(TEMPLATE,LIST)" 8 4
配列または値のリストを引数に取り、バイナリ構造体にパックし、
構造体を含む文字列を返します。
TEMPLATE は値の順序と型を与える文字のシークエンスで、以下のように
なります:
.nf
A アスキー文字列(スペースが padding される)
a アスキー文字列(ヌルが padding される)
c signed char
C unsigned char
s signed short
S unsigned short
i signed integer
I unsigned integer
l signed long
L unsigned long
n short (\*(L"network\*(R" order)
N long (\*(L"network\*(R" order)
f 単精度浮動小数点 (native format)
d 倍精度浮動小数点 (native format)
p 文字列へのポインタ
v short (\*(L"VAX\*(R" (little-endian) order)
V long (\*(L"VAX\*(R" (little-endian) order)
x null byte
X Back up a byte
@ 絶対位置にまでヌルで埋める
u uuencode された文字列
b ビット文字列 (vec()のような昇順).
B ビット文字列 (降順).
h 16 進文字列 (低 nybble が先).
H 16 進文字列 (高 nybble が先).
.fi
どの文字も繰り返し回数を表す数を続けることができます。
"a", "A", "b", "B", "h", "H" 以外の型では、pack 関数は
LIST から回数を指定された数だけ値を取ります。
繰り返し数として * を使うと、残りすべての分だけ繰り返します。
"a" と "A" の型は値一つしか取りませんが、繰り返し指定を文字列長
として pack するので、ヌルや空白での padding が必要になります。
(unpack するときは、"A" は、後に続く空白を削りますが、"a" はしません。)
同様に、"b" と "B" フィールドは、指定したビット長を pack します。
"h" と "H" フィールドは、指定した長さの nybbles をパックします。
実数 (float と double) は、そのマシンの機械語フォーマットのみです。
浮動小数点フォーマット関係の多様性と標準の \*(L"network\*(R" 表現が
無いことから、交換することはできません。これは、
あるマシンで pack された浮動小数点データは、他のマシンでは、
たとえ両方が IEEE 浮動小数点数演算を行っていても
(メモリ表現の endian は IEEE の仕様には無いから)、
読めないかもしれないということを意味します。
perl は、すべての数値計算を内部的には double を用い、
double -> float -> double という変換は精度を失うだろうということに
注意して下さい
(すなわち、unpack("f",pack("f", $foo)) は一般に $foo にはなりません) 。
.br
例:
.nf
$foo = pack("cccc",65,66,67,68);
# foo は "ABCD"
$foo = pack("c4",65,66,67,68);
# 上と同じ
$foo = pack("ccxxcc",65,66,67,68);
# foo は "AB\e0\e0CD"
$foo = pack("s2",1,2);
# little-endian の "\e1\e0\e2\e0"
# big-endian の "\e0\e1\e0\e2"
$foo = pack("a4","abcd","x","y","z");
# "abcd"
$foo = pack("aaaa","abcd","x","y","z");
# "axyz"
$foo = pack("a14","abcdefg");
# "abcdefg\e0\e0\e0\e0\e0\e0\e0"
$foo = pack("i9pl", gmtime);
# 実際の tm 構造体 (少なくとも私のシステムでは)
sub bintodec {
unpack("N", pack("B32", substr("0" x 32 . shift, -32)));
}
.fi
一般に unpack 関数でも同じテンプレートが使われます。
.Ip "pipe(READHANDLE,WRITEHANDLE)" 8 3
相当するシステムコールのように一対の接続されたパイプをオープンします。
パイプでつながったプロセスのループを設定するときは、注意深くしないと
デッドロックを起こすことがあることに気をつけて下さい。
それに加えて、perl のパイプは標準入力のバッファリングを使うので、
アプリケーションに依っては、$| をセットして
コマンド毎に WRITEHANDLE をフラッシュする必要があるかもしれません。
[perl バージョン 3.0 パッチレベル 9 以上が必要]
.Ip "pop(ARRAY)" 8
.Ip "pop ARRAY" 8 6
配列の最後の値を取り出し、配列の長さを 1 だけ短くします。
.nf
$tmp = $ARRAY[$#ARRAY\-\|\-];
.fi
同じ結果となります。
配列に要素がない場合は、undefined 値を返します。
.Ip "print(FILEHANDLE LIST)" 8 10
.Ip "print(LIST)" 8
.Ip "print FILEHANDLE LIST" 8
.Ip "print LIST" 8
.Ip "print" 8
文字列または、カンマ区切りの文字列のリストを表示します。
成功すると、0 以外を返します。
FILEHANDLE は、ファイルハンドルの名前を保持したスカラ変数名でも
かまいません。これにより 1 レベルの間接指定ができます。
(注意: FILEHANDLE が変数で次のトークンが項の場合、+ を挿入するか
引数に括弧を付けないと、演算子として解釈の間違いをするかもしれません。)
FILEHANDLE が省略されると、デフォルトで標準出力 (または最後に select
された出力チャンネル\*(-- select()を参照して下さい) に出力します。
LIST が省略されると、$_ を
.IR STDOUT
に出力します。
デフォルト出力チャンネルを
.I STDOUT
以外に設定するには、select 演算子を使って下さい。
print は LIST を取るので、LIST の中のものは何でも配列のコンテキストで
評価され、サブルーチン呼び出しなら配列のコンテキストで評価された式を
持つことになるのを覚えておきましょう。
また、print キーワードの後に左括弧を置くときは、対応する右括弧が
print の引数の終りを示す
\*(--すなわち + を挿入するか、括弧をすべての引数に付ける
のでなければ、左括弧を置いてはいけません。
.Ip "printf(FILEHANDLE LIST)" 8 10
.Ip "printf(LIST)" 8
.Ip "printf FILEHANDLE LIST" 8
.Ip "printf LIST" 8
\*(L"print FILEHANDLE sprintf(LIST)\*(R" と同等です。
.Ip "push(ARRAY,LIST)" 8 7
ARRAY (@ は省略可能) をスタックとして扱い、LIST の値を ARRAY の終りに
追加します。
ARRAY の長さは、LIST の長さだけ増えます。
これは、以下と同じことになります。
.nf
for $value (LIST) {
$ARRAY[++$#ARRAY] = $value;
}
.fi
が、より効率的です。
.Ip "q/STRING/" 8 5
.Ip "qq/STRING/" 8
.Ip "qx/STRING/" 8
これは、実際には関数ではありませんが、クォートされた文字列に
バックスラッシュをたくさん置き過ぎるのを避けるための、単なる
簡略記法です。
q 演算子はシングルクォートを生成し、qq 演算子はダブルクォートを
生成します。
qx 演算子は、バッククォートを生成します。
英数字でない文字なら、改行を含めて何でも、/ の代わりに区切り文字
にできます。
区切りが ( か { なら、終了の区切りは、対応する ) か } になります。
(埋め込み文字としての } には通常通り \ が必要になります。)
例:
.nf
.ne 5
$foo = q!I said, "You said, \'She said it.\'"!;
$bar = q(\'This is it.\');
$today = qx{ date };
$_ .= qq
*** The previous line contains the naughty word "$&".\en
if /(ibm|apple|awk)/; # :-)
.fi
.Ip "rand(EXPR)" 8 8
.Ip "rand EXPR" 8
.Ip "rand" 8
ランダムな 0 から EXPR までの小数点数を返します。
(EXPR は正でなければなりません。)
EXPR が省略されると、0 から 1 の範囲の値が返されます。
srand() を参照して下さい。
.Ip "read(FILEHANDLE,SCALAR,LENGTH,OFFSET)" 8 5
.Ip "read(FILEHANDLE,SCALAR,LENGTH)" 8 5
指定された FILEHANDLE から、LENGTH バイトのデータを読み込み、変数
SCALAR に格納します。
実際に読み込めたバイト数を返し、エラーの場合は undef を返します。
SCALAR は実際に読み込まれた長さに合わせて、伸縮します。
読んだデータを文字列の始めでなく、他の場所に格納するために、OFFSET を
指定することもできます。
これは、実際には stdio の fread コールで実装されています。
本当の read システムコールを使うには、sysread を参照して下さい。
.Ip "readdir(DIRHANDLE)" 8 3
.Ip "readdir DIRHANDLE" 8
opendir() にオープンされたディレクトリ内の、次のディレクトリエントリを
返します。
配列のコンテキストの中で使うと、残りすべてのディレクトリエントリを
返します。
エントリが残っていない場合、スカラのコンテキストでは undefined が、
配列のコンテキストではヌルリストを返します。
.Ip "readlink(EXPR)" 8 6
.Ip "readlink EXPR" 8
シンボリックリンクが実装されていれば、シンボリックリンクの値を返します。
実装されていなければ、致命的エラーを返します。
システムエラーが起こったときは、undefined 値を返し、$! (errno) を
セットします。
EXPR を省略すると、$_ を使います。
.Ip "recv(SOCKET,SCALAR,LEN,FLAGS)" 8 4
ソケットからメッセージを受け取ります。指定した SOCKET ファイルハンドル
から、LENGTH バイトのデータを受け取り、変数 SCALAR に格納します。
sender のアドレスを返し、エラーの場合は undefined 値を返します。
SCALAR は、実際に読み込まれた長さに合わせて、伸縮します。
同名のシステムコールと同じフラグを用います。
.Ip "redo LABEL" 8 8
.Ip "redo" 8
.I redo
コマンドは、条件を再評価することなしに、ループブロックのコマンドを
再開します。
.I continue
ブロックがあっても実行されません。
LABEL が省略されると、最も内側のループを参照します。
通常このコマンドは、入力された内容について、自分自身をだますような
プログラムで使われます:
.nf
.ne 16
# 単純化した Pascal のコメント除去
# (警告: 文字列中には { や } はないものと仮定しています)
line: while (<STDIN>) {
while (s|\|({.*}.*\|){.*}|$1 \||) {}
s|{.*}| \||;
if (s|{.*| \||) {
$front = $_;
while (<STDIN>) {
if (\|/\|}/\|) { # コメント終了?
s|^|$front{|;
redo line;
}
}
}
print;
}
.fi
.Ip "rename(OLDNAME,NEWNAME)" 8 2
ファイル名を変更します。
成功すると 1 を、失敗すると 0 を返します。
ファイルシステムの境界を越えては働きません。
.Ip "require(EXPR)" 8 6
.Ip "require EXPR" 8
.Ip "require" 8
EXPR か EXPR が与えられなければ $_ で指定された、ライブラリファイルを
インクルードします。
以下のようなサブルーチンと同じ意味になります:
.nf
sub require {
local($filename) = @_;
return 1 if $INC{$filename};
local($realfilename,$result);
ITER: {
foreach $prefix (@INC) {
$realfilename = "$prefix/$filename";
if (-f $realfilename) {
$result = do $realfilename;
last ITER;
}
}
die "Can't find $filename in \e@INC";
}
die $@ if $@;
die "$filename did not return true value" unless $result;
$INC{$filename} = $realfilename;
$result;
}
.fi
同じ名前で指定されたファイルは、二度はインクルードされないことに
注意して下さい。
どの初期化コードの起動も成功したこと示すため、ファイルの最後の文で、
真を返さなければなりません。だから、慣習的にそういうファイルは、
必ず真を返すということが確かでなければ、\*(L"1;\*(R" で
終るようにします。
.Ip "reset(EXPR)" 8 6
.Ip "reset EXPR" 8
.Ip "reset" 8
一般にループの終りで変数をクリアするのに
.I continue
ブロックの中で使われ、再びそれが働くように ?? 検索をリセットします。
式は 1 文字ずつ分けてリストしたもの (ハイフンで範囲指定) として解釈されます。
それらの文字の一つで始まる変数や配列はみな初期状態にリセットされます。
式を省略すると、一度だけマッチする検索 (?pattern?) をリセットし、
再びマッチするようにします。
現パッケージ内の変数と検索のみをリセットします。
常に 1 を返します。
例:
.nf
.ne 3
reset \'X\'; \h'|2i'# すべての X 変数をリセットします
reset \'a\-z\';\h'|2i'# 小文字の変数すべてをリセットします。
reset; \h'|2i'# ?? 検索をリセットします。
.fi
注意: ARGV や ENV を消してしまうため、\*(L"A\-Z\*(R" をリセットする
のは勧められません。
.Sp
dbm 連想配列に reset を使っても、dbm ファイルを変更しません。
(しかし、perl がキャッシュしたエントリは皆フラッシュするので、
dbm ファイルを共有している場合は、便利です。便利でないかもしれませんが。)
.Ip "return LIST" 8 3
指定した値で、サブルーチンから返ります。
(サブルーチンは、自動的に最後に評価された式の値を返すことに
注意して下さい。
これは、好まれる方法です\*(--明示的な
.I return
の使用で、やや遅くなります。)
.Ip "reverse(LIST)" 8 4
.Ip "reverse LIST" 8
配列のコンテキストでは、LIST の要素を逆順に並べた配列を返します。
スカラのコンテキストでは、LIST の最初の要素のバイト列を逆順にした
文字列を返します。
.Ip "rewinddir(DIRHANDLE)" 8 5
.Ip "rewinddir DIRHANDLE" 8
DIRHANDLE に関し、readdir() で読み始める現在位置を、
ディレクトリの先頭にセットします。
.Ip "rindex(STR,SUBSTR,POSITION)" 8 6
.Ip "rindex(STR,SUBSTR)" 8 4
STR 内で、SUBSTR が最後に現れる位置を返す他は、index と全く同じに
動作します。
POSITION が指定されると、その位置の前で最後に現れた位置を返します。
.Ip "rmdir(FILENAME)" 8 4
.Ip "rmdir FILENAME" 8
FILENAME で指定されたディレクトリが空なら消去します。
成功すると 1 を、失敗すると 0 を返し、$! (errno) をセットします。
FILENAME が省略されると、$_ を使います。
.Ip "s/PATTERN/REPLACEMENT/gieo" 8 3
パターンに合う文字列を検索し、見つかると置換テキストに置き換えて、
置換が行なわれた数を返します。
でなければ、偽 (0) を返します。
\*(L"g\*(R" はオプションです。もしあれば、マッチしたパターンはすべて
置換されることを意味します。
\*(L"i\*(R" もオプションです。もしあれば、マッチングは大文字小文字の
区別なく行なわれることを意味します。
\*(L"e\*(R" もオプションです。もしあれば、置換文字列は
ダブルクォートで囲まれた文字列のようにというより、
式として評価されなければならないことを意味します。
英数字でない文字ならなんでも、/ に置き換えて区切り文字にできます。
シングルクォートが使われると、置換文字列の中で変数の挿入が
行なわれません (e 修飾子はこれに優先します)。
バッククォート ` が使われると、置換文字列はコマンドとして実行され、
その出力が実際の置換テキストとして使われることになります。
PATTERN が <>, () で区切られると、REPLACEMENT は、それ自身のクォートを
持ち、それは <>, () であっても、そうでなくても良いことになります。
例えば、s(foo)(bar) や s<foo>/bar/ のように。
=~ や !~ 演算子を介する文字列指定がされなかったときは、$_ 文字列が
検索、置換されます。
(=~ で指定された文字列は、スカラ変数、配列の要素、それらへの代入等で
なくてはなりません。すなわち左辺値ということです。)
パターンが、文字列の終りをテストする $ でなく、変数に見える $ を含む
場合は、その変数が実行時にパターンに挿入されます。
初回だけ変数が挿入されてコンパイルされるパターンを使いたいなら、
終りに \*(L"o\*(R" を付けて下さい。
PATTERN がヌル文字列に評価されたときは、代わりに最後に成功した正規表現
が使われます。
正規表現のセクションを参照して下さい。
例:
.nf
s/\|\e\|bgreen\e\|b/mauve/g; # wintergreen を変更しません
$path \|=~ \|s|\|/usr/bin|\|/usr/local/bin|;
s/Login: $foo/Login: $bar/; # 実行時パターン
($foo = $bar) =~ s/bar/foo/;
$_ = \'abc123xyz\';
s/\ed+/$&*2/e; # \*(L'abc246xyz\*(R' になる
s/\ed+/sprintf("%5d",$&)/e; # \*(L'abc 246xyz\*(R' になる
s/\ew/$& x 2/eg; # \*(L'aabbcc 224466xxyyzz\*(R' になる
s/\|([^ \|]*\|) *\|([^ \|]*\|)\|/\|$2 $1/; # 始めの2フィールドを交換
.fi
(最後の例では \|\e\| の代わりに $ を使っていることに注意。
正規表現のセクションを参照して下さい。)
.Ip "scalar(EXPR)" 8 3
EXPR を強制的にスカラのコンテキストで解釈させて、EXPR の値を返します。
.Ip "seek(FILEHANDLE,POSITION,WHENCE)" 8 3
FILEHANDLE のポインタを、丁度 stdio の fseek() のように任意の
位置にします。
FILEHANDLE は、ファイルハンドルの名前を与える式でもかまいません。
成功すると 1 を、失敗すると 0 を返します。
.Ip "seekdir(DIRHANDLE,POS)" 8 3
DIRHANDLE について readdir() の読む現在位置をセットします。
POS は、telldir() の返す値でなければなりません。
相当するシステムライブラリルーチン同様、directory compaction について
は同じ注意が必要です。
.Ip "select(FILEHANDLE)" 8 3
.Ip "select" 8 3
現在 select されたファイルハンドルを返します。
FILEHANDLE を与えられると、出力用の現在のデフォルトファイルハンドルを
セットします。
これには二つの効果があります。一つは、ファイルハンドルの無い
.I write
.I print
が、デフォルトでこの FILEHANDLE に行なわれるということです。
二つ目は、出力に関連する変数参照が、この出力チャンネルを参照する
ということです。
例えば、form フォーマットの先頭を、一つ以上の出力チャンネルに
セットしなければならないとき、次のようにすると良いでしょう:
.nf
.ne 4
select(REPORT1);
$^ = \'report1_top\';
select(REPORT2);
$^ = \'report2_top\';
.fi
FILEHANDLE は、実際のファイルハンドルの名前を与える式でもかまいません。
このように:
.nf
$oldfh = select(STDERR); $| = 1; select($oldfh);
.fi
.Ip "select(RBITS,WBITS,EBITS,TIMEOUT)" 8 3
これは、ビットマスクを指定して select システムコールを呼び出しします。
ビットマスクは、以下のように fileno() や vec() を使って作成されます。
.nf
$rin = $win = $ein = '';
vec($rin,fileno(STDIN),1) = 1;
vec($win,fileno(STDOUT),1) = 1;
$ein = $rin | $win;
.fi
たくさんのファイルハンドルを select したいときは、サブルーチンを書いた
方が良いかもしれません。
.nf
sub fhbits {
local(@fhlist) = split(' ',$_[0]);
local($bits);
for (@fhlist) {
vec($bits,fileno($_),1) = 1;
}
$bits;
}
$rin = &fhbits('STDIN TTY SOCK');
.fi
通常の使い方は、
.nf
($nfound,$timeleft) =
select($rout=$rin, $wout=$win, $eout=$ein, $timeout);
また、何かが ready となるまでブロックしておくには、こうなります。
.ie t \{\
$nfound = select($rout=$rin, $wout=$win, $eout=$ein, undef);
'br\}
.el \{\
$nfound = select($rout=$rin, $wout=$win,
$eout=$ein, undef);
'br\}
.fi
ビットマスクはどれも undef にもできます。
TIMEOUT は秒で指定され、小数点数でもかまいません。
注意: すべての実装で $timeleft を返せるわけではありません。
できない場合、常に与えられた $timeout に等しい値の $timeleft を
返します。
.Ip "semctl(ID,SEMNUM,CMD,ARG)" 8 4
System V IPC 関数の semctl を呼び出します。 CMD が &IPC_STAT か
&GETALL なら、ARG は返って来た semid_ds 構造体か、セマフォ値配列を
保持する変数でなければなりません。
ioctl 同様、エラーの場合 undefined 値が、0 の場合 "0 but true" が、
それ以外の場合実際の戻り値が返されます。
.Ip "semget(KEY,NSEMS,SIZE,FLAGS)" 8 4
System V IPC 関数 semget を呼び出します。セマフォ id を返し、エラーの
場合は undefined 値を返します。
.Ip "semop(KEY,OPSTRING)" 8 4
シグナルや wait のようなセマフォ操作を実行する System V IPC 関数 semop
を呼び出します。
OPSTRING は、semop 構造体に pack された配列でなければなりません。
各 semop 構造体は \&'pack("sss", $semnum, $semop, $semflag)' で
生成できます。セマフォ操作の数は、OPSTRING の長さによります。
成功すると真を、エラーでは偽を返します。例として、以下のコードでは
セマフォ id $semid のセマフォ $semnum を待ちます。
.nf
$semop = pack("sss", $semnum, -1, 0);
die "Semaphore trouble: $!\en" unless semop($semid, $semop);
.fi
セマフォにシグナルを送るには、"-1" を "1" にします。
.Ip "send(SOCKET,MSG,FLAGS,TO)" 8 4
.Ip "send(SOCKET,MSG,FLAGS)" 8
ソケットにメッセージを送ります。
同名のシステムコールと同じフラグを用います。
接続されていないソケットでは、送り先を TO として指定しなければ
なりません。送った文字数を返します。エラーの場合は undefined 値を
返します。
.Ip "setpgrp(PID,PGRP)" 8 4
指定した PID のカレントプロセスグループをセットします。 PID は、
カレントプロセスでは 0 です。
setpgrp(2) が実装されていないマシンでは、致命的エラーとなります。
.Ip "setpriority(WHICH,WHO,PRIORITY)" 8 4
プロセス、プロセスグループ、ユーザのカレントプライオリティを
セットします。 (setpriority(2) を参照して下さい。)
setpriority(2) が実装されていないマシンでは、致命的エラーになります。
.Ip "setsockopt(SOCKET,LEVEL,OPTNAME,OPTVAL)" 8 3
リクエストされたソケットオプションをセットします。
エラーでは undefined を返します。
引数を渡したいので無ければ、OPTVAL は undef 値を指定しても
かまいません。
.Ip "shift(ARRAY)" 8 6
.Ip "shift ARRAY" 8
.Ip "shift" 8
配列の最初の要素を配列から除き、その要素を返します。
配列は 1 だけ短くなり、他のすべての要素はずれます。
配列に要素がないときは、undefined 値を返します。
ARRAY を省略すると、メインプログラムでは @ARGV 配列を shift し、
サブルーチンでは @_ 配列を shift します。
(これは、辞書的に決められています)
unshift(), push(), pop() を参照して下さい。
shift() と unshift() は、push() と pop() が配列の右端に行なうのと
同じことを、配列の左端で行ないます。
.Ip "shmctl(ID,CMD,ARG)" 8 4
System V IPC 関数 shmctl を呼び出します。 CMD が &IPC_STAT のとき、
ARG は、返された shmid_ds 構造体を保持する変数でなくてはなりません。
ioctl 同様の戻り値を返します。エラーでは undefined 値を、0 では
"0 but true" を、それ以外では実際の値を返します。
.Ip "shmget(KEY,SIZE,FLAGS)" 8 4
System V IPC 関数 shmget を呼び出します。
共有メモリのセグメント id を返します。エラーでは、undefined 値を
返します。
.Ip "shmread(ID,VAR,POS,SIZE)" 8 4
.Ip "shmwrite(ID,STRING,POS,SIZE)" 8
Syste V の共有メモリセグメント ID を、位置 POS から始まる
サイズ SIZE にて attach し、copy in/out し、detach することで、読み込み
と書き込みを行ないます。
読み込み時、VAR は読まれたデータを保持する変数でなければ
なりません。書き込み時に、STRING が長過ぎると、SIZE バイトだけが
使われます。STRING が短過ぎると、SIZE バイトを埋めるのにヌルが
書き込まれます。成功すると真を、エラーでは偽を返します。
.Ip "shutdown(SOCKET,HOW)" 8 3
ソケット接続を HOW で指示された流儀に従ってシャットダウンします。
同名のシステムコールと同様に HOW を解釈します。
.Ip "sin(EXPR)" 8 4
.Ip "sin EXPR" 8
EXPR (ラジアンで表現) のサインを返します。
EXPR を省略すると $_ のサインを取ります。
.Ip "sleep(EXPR)" 8 6
.Ip "sleep EXPR" 8
.Ip "sleep" 8
EXPR 秒間スクリプトを止めます。 EXPR がなければ永久に止めます。
プロセスに SIGALRM を送ることで、割り込まれます。
実際に sleep した秒数を返します。
sleep() は、しばしば alarm() を使って実装されているので、おそらく
alarm() と sleep() は 混在させることはできないでしょう。
.Ip "socket(SOCKET,DOMAIN,TYPE,PROTOCOL)" 8 3
指定された種類のソケットをオープンして、ファイルハンドル SOCKET に
結びつけます。
DOMAIN, TYPE, PROTOCOL は、同名のシステムコールと同様に指定します。
perl ライブラリファイルから簡単に適当な値を得るには、h2ph を
sys/soket.h に対して実行する必要があるかもしれません。
成功すると真を返します。
プロセス間通信のセクションの例を参照して下さい。
.Ip "socketpair(SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL)" 8 3
指定されたドメインの指定された型で、無名のソケットペアを生成します。
DOMAIN, TYPE, PROTOCOL は、同名のシステムコールと同じように指定します。
実装されていない場合は、致命的エラーとなります。
成功すると真を返します。
.Ip "sort(SUBROUTINE LIST)" 8 9
.Ip "sort(LIST)" 8
.Ip "sort SUBROUTINE LIST" 8
.Ip "sort BLOCK LIST" 8
.Ip "sort LIST" 8
LIST をソートし、ソート済みの配列値を返します。
存在しない配列値は、削られます。
SUBROUTINE や BLOCK が省略されると、標準的な文字の比較による順でソート
します。
0 より小さい整数、0 、0 より大きい整数を返すような SUBROUTINE の名前
を指定すると、配列の要素の並べ方に従って順に並べ直します。
(<=> と cmp 演算子は、このようなルーチンでは非常に便利です)
SUBROUTINE は、スカラ変数名でもかまいません。その値として使用する
サブルーチンの名前が入っていれば良いのです。
SUBROUTINE 名の代わりに、BLOCK を指定して、
無名のインラインソートサブルーチンとして用いることもできます。
.Sp
効率を良くするため、通常のサブルーチン呼び出しコードをバイパスしています。
そのため、次のような影響があります。
サブルーチンは再帰的であってはならず、
比較される 2 要素は @_ を介してではなく、$a と $b を介して
サブルーチンに渡されます。 (以下の例を参照して下さい。)
これらは参照渡しなので、$a や $b を変更してはいけません。
.Sp
例:
.nf
.ne 2
# 辞書順のソート
@articles = sort @files;
.ne 2
# 同じものだが、明示的なソートルーチン
@articles = sort {$a cmp $b} @files;
.ne 2
# 同じものだが逆順
@articles = sort {$b cmp $a} @files;
.ne 2
# 数値的に昇順でソート
@articles = sort {$a <=> $b} @files;
.ne 2
# 数値的に降順でソート
@articles = sort {$b <=> $a} @files;
.ne 5
# 明示的にサブルーチン名を使ったソート
sub byage {
$age{$a} <=> $age{$b}; # 整数と仮定
}
@sortedclass = sort byage @class;
.ne 9
sub reverse { $b cmp $a; }
@harry = (\'dog\',\'cat\',\'x\',\'Cain\',\'Abel\');
@george = (\'gone\',\'chased\',\'yz\',\'Punished\',\'Axed\');
print sort @harry;
# AbelCaincatdogx と出力
print sort reverse @harry;
# xdogcatCainAbel と出力
print sort @george, \'to\', @harry;
# AbelAxedCainPunishedcatchaseddoggonetoxyz と出力
.fi
.Ip "splice(ARRAY,OFFSET,LENGTH,LIST)" 8 8
.Ip "splice(ARRAY,OFFSET,LENGTH)" 8
.Ip "splice(ARRAY,OFFSET)" 8
配列から OFFSET と LENGTH で指定された要素を除き、LIST の要素と
入れ替えます。
配列から除かれた要素を返します。
配列は必要に応じて伸縮されます。
LENGTH を省略すると、OFFSET から先はすべて除かれます。
以下は皆同等となります。 ($[ == 0 であると仮定した場合)
.nf
push(@a,$x,$y)\h'|3.5i'splice(@a,$#a+1,0,$x,$y)
pop(@a)\h'|3.5i'splice(@a,-1)
shift(@a)\h'|3.5i'splice(@a,0,1)
unshift(@a,$x,$y)\h'|3.5i'splice(@a,0,0,$x,$y)
$a[$x] = $y\h'|3.5i'splice(@a,$x,1,$y);
次の例では、配列長は配列の前に渡されると仮定しています:
sub aeq { # compare two array values
local(@a) = splice(@_,0,shift);
local(@b) = splice(@_,0,shift);
return 0 unless @a == @b; # 同じ長さ?
while (@a) {
return 0 if pop(@a) ne pop(@b);
}
return 1;
}
if (&aeq($len,@foo[1..$len],0+@bar,@bar)) { ... }
.fi
.Ip "split(/PATTERN/,EXPR,LIMIT)" 8 8
.Ip "split(/PATTERN/,EXPR)" 8 8
.Ip "split(/PATTERN/)" 8
.Ip "split" 8
文字列を文字列の配列に分けて、その配列を返します。
(配列のコンテキストではない場合、見つかったフィールドの数を返し、
split したものは @_ 配列に入れます。
(配列のコンテキストでは、パターン区切りとして ?? を使うことで強制的に
@_ に split させられますが、それでも配列値を返します。))
EXPR を省略すると、$_ 文字列を split します。
PATTERN も省略すると、空白文字 (/[\ \et\en]+/) で split します。
PATTERN にマッチするものは何でもフィールドを分ける区切りと解釈されます。
(区切りは 1 文字より長くてもよいことに注意して下さい。)
LIMIT が指定されると、それを越えない数に split されます (少ない場合も
あります) 。
LIMIT が指定されないと、後に続くヌルフィールドは除かれます
(pop()を使う人は良く覚えておいた方がよいでしょう) 。
ヌル文字にマッチするパターン (ヌルパターン // と混同しないで下さい。
// はヌル文字にマッチするパターンの一つにすぎません。) は、
マッチするすべての点で EXPR を一文字ずつに split します。
例えば:
.nf
print join(\':\', split(/ */, \'hi there\'));
.fi
は、\*(L'h:i:t:h:e:r:e\*(R' を出力します。
.Sp
LIMIT パラメータは、行を部分的に split することに使われます。
.nf
($login, $passwd, $remainder) = split(\|/\|:\|/\|, $_, 3);
.fi
(リストに代入するとき、LIMIT が省略されていると perl は不必要な動作を
避けるためにリストの変数の数より一つ大きい LIMIT を与えます。
上記のリストでは LIMIT はデフォルトで 4 だったはずです。
時間に制限のあるアプリケーションでは、本当に必要な数以上のフィールドに
は split しないようにすべきです。)
.Sp
PATTERN が括弧を含むときは、区切りとしてマッチする文字列により、
更に配列要素が作成されます。
.Sp
split(/([,-])/,"1-10,20");
.Sp
は以下の配列値を作ります。
.Sp
(1,'-',10,',',20)
.Sp
パターン /PATTERN/ は、実行時に変わるパターンを指定する式で
置き換え可能です。
(実行時コンパイルを一回にしたければ、/$variable/o を使って下さい。)
特別なケースとして空白 (\'\ \') を指定すると、引数無しで split する
場合と同様ですが、先頭に空白があってもヌルフィールドは作られません。
つまり split(\'\ \') は、
.IR awk
のデフォルトの動作をエミュレートすることができるわけで、split(/\ /)
は先頭に空白があると、最初にその数だけヌルフィールドを作ります。
.Sp
例:
.nf
.ne 5
open(passwd, \'/etc/passwd\');
while (<passwd>) {
.ie t \{\
($login, $passwd, $uid, $gid, $gcos, $home, $shell) = split(\|/\|:\|/\|);
'br\}
.el \{\
($login, $passwd, $uid, $gid, $gcos, $home, $shell)
= split(\|/\|:\|/\|);
'br\}
.\|.\|.
}
.fi
(上の例の $shell は改行文字を含みます。 chop() を参照して下さい。)
.IR join
を参照して下さい。
.Ip "sprintf(FORMAT,LIST)" 8 4
通常の printf 変換でフォーマットされる文字列を返します。
* 文字はサポートされていません。
.Ip "sqrt(EXPR)" 8 4
.Ip "sqrt EXPR" 8
EXPR の平方根を返します。
EXPR を省略すると、$_ の平方根を返します。
.Ip "srand(EXPR)" 8 4
.Ip "srand EXPR" 8
.I rand
演算子のために、乱数用の seed をセットします。
EXPR を省略すると、srand(time) を実行します。
.Ip "stat(FILEHANDLE)" 8 8
.Ip "stat FILEHANDLE" 8
.Ip "stat(EXPR)" 8
.Ip "stat SCALARVARIABLE" 8
EXPR という名前のファイルや FILEHANDLE でオープンされたファイルの
情報を示す 13 要素の配列を返します。
stat が失敗するとヌルリストを返します。
普通次のように使います:
.nf
.ne 3
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
= stat($filename);
.fi
stat に特殊ファイルハンドル _ を渡すと、stat は実行されず最後に
行なわれた stat やファイルテストで使われた stat 構造体の内容を
返します。
例:
.nf
.ne 3
if (-x $file && (($d) = stat(_)) && $d < 0) {
print "$file is executable NFS file\en";
}
.fi
(この例は、NFS 下でデバイス番号が負になるマシンでのみ動作します。)
.Ip "study(SCALAR)" 8 6
.Ip "study SCALAR" 8
.Ip "study"
SCALAR (指定しなければ $_) について、それが次に変更される前に多くの
パターンマッチを予想してあらかじめ行います。
検索をするパターンの性質や数、検索される文字列中の文字の出現頻度分布
によっては、時間を節約できるかもしれませんし、できないかもしれません。
\*(--多分これを使った場合と使わない場合で、実行時どちらが速いかを
比べてみたいでしょう。たくさんの短い定数文字列(より複雑なパターンの
定数部を含む)をスキャンするループで最も恩恵にあずかれるでしょう。
一度に一つの study しか効果がありません。\*(--別のスカラを study
すると、先に study したものは \*(L"unstudied\*(R" となってしまいます。
(study の動作の仕方は次の通りです: 検索される文字列のすべての文字の
リンクリストを作ります。そうすると例えば、どこに \*(L'k\*(R' の文字が
あるかがすべてわかるわけです。いくつかの C のプログラムと英文から
作成された統計頻度表に基づき、各検索文字について、最も頻度が少ない
文字を選びます。この \*(L"頻度が少ない\*(R" 文字を調べるのです。)
.Sp
次の例は、あるパターンを含むすべての行の前にインデックスを含むエントリを
挿入します:
.nf
.ne 8
while (<>) {
study;
print ".IX foo\en" if /\ebfoo\eb/;
print ".IX bar\en" if /\ebbar\eb/;
print ".IX blurfl\en" if /\ebblurfl\eb/;
.\|.\|.
print;
}
.fi
/\ebfoo\eb/ を検索するとき、\*(L'f\*(R' は \*(L'o\*(R' よりも頻度が
少ないため、$_ の中で \*(L'f\*(R' を含む位置が探されます。
一般に、病的な場合を除いて、これは非常にうまくいきます。
唯一、最初の時点でリンクリストを作成するためにかかる以上の
時間を節約できるかが問題になります。
.Sp
実行するまで解らない文字列を検索しなければならない場合、全ループを
一つの文字列として解析し eval することで、すべてのパターンを毎回
再コンパイルするのを避けることができることを覚えておきましょう。
それに加えて全ファイルが 1 レコードになるように $/ を undef すると、
大変速くなり、fgrep のように特殊化したプログラムより速くなることも
多いです。
以下の例は、ファイルのリスト (@files) と単語のリスト (@words) を
検索し、マッチするファイル名を出力します:
.nf
.ne 12
$search = \'while (<>) { study;\';
foreach $word (@words) {
$search .= "++\e$seen{\e$ARGV} if /\e\eb$word\e\eb/;\en";
}
$search .= "}";
@ARGV = @files;
undef $/;
eval $search; # これは(メモリ不足で)泣きそう
$/ = "\en"; # 普通の入力区切りに戻そう
foreach $file (sort keys(%seen)) {
print $file, "\en";
}
.fi
.Ip "substr(EXPR,OFFSET,LEN)" 8 2
.Ip "substr(EXPR,OFFSET)" 8 2
EXPR から部分文字列を取り出し、それを返します。
$[ をセットしない限り、最初の文字はオフセット 0 です。
OFFSET が負だと、文字列の終りから OFFSET だけ離れた位置から始めます。
LEN を省略すると、終端までのすべての文字列を返します。
substr() 関数は左辺値としても使えます。その場合 EXPR は左辺値
でなくてはなりません。
LEN より短いものを代入すると、文字列は短くなり、長いものを代入すると
それを含められるように長くなります。
文字列を同じ長さに保つためには、sprintf() を使ってパディングまたは
切り捨てをしなければならないかもしれません。
.Ip "symlink(OLDFILE,NEWFILE)" 8 2
OLDFILE へのシンボリックリンク NEWFILE を作成します。
成功すると 1 を、失敗すると 0 を返します。
シンボリックリンクをサポートしないシステムでは、実行時に致命的エラー
となります。
これをチェックするには、eval を使います:
.nf
$symlink_exists = (eval \'symlink("","");\', $@ eq \'\');
.fi
.Ip "syscall(LIST)" 8 6
.Ip "syscall LIST" 8
リストの最初の要素で指定されたものに、残りの要素を引数として付けて、
システムコールを呼び出します。
実装されていないと致命的エラーとなります。
引数は次のように解釈されます: 与えられた引数が数字なら、引数は
整数として渡されます。そうでなければ、文字列へのポインタが渡されます。
結果が受け取れるように、書き込まれるべき文字列を十分長くしておくのは、
あなたの責任です。
数字の引数がリテラルでなく、それまで数字のコンテキストで解釈されて
いなかったものなら、強制的に数字に見せるように、
0 を足す必要があるかもしれません。
.nf
# h2ph を実行しておく必要があるかもしれません
require 'syscall.ph';
syscall(&SYS_write, fileno(STDOUT), "hi there\en", 9);
.fi
.Ip "sysread(FILEHANDLE,SCALAR,LENGTH,OFFSET)" 8 5
.Ip "sysread(FILEHANDLE,SCALAR,LENGTH)" 8 5
システムコール read(2) を使って、指定した FILEHANDLE から
LENGTH バイトのデータを読み込み、変数 SCALAR に格納します。
これは標準入出力を経由しないので、read と混在して使うと、
混乱するかもしれません。
実際に読み込まれたバイト数を返します。エラーの場合は undef を返します。
SCALAR は実際に読み込まれた長さによって伸縮します。
文字列の始めでなく途中にデータを格納するように、OFFSET を指定できます。
.Ip "system(LIST)" 8 6
.Ip "system LIST" 8
\*(L"exec LIST\*(R" と全く同じことを行ないますが、違いは最初に fork が
実行されて、親プロセスは子プロセスが終了するのを待つことです。
引数の処理は、引数の数によって変わることに注意して下さい。
戻り値は、wait() で返るプログラムの終了時ステータスになります。
実際の終了時ステータスを得るには、256 で割って下さい。
.IR exec
を参照。
.Ip "syswrite(FILEHANDLE,SCALAR,LENGTH,OFFSET)" 8 5
.Ip "syswrite(FILEHANDLE,SCALAR,LENGTH)" 8 5
システムコール write(2) を使って、指定した FILEHANDLE に
変数 SCALAR から LENGTH バイトのデータを書き込みます。
これは標準入出力を経由しないので、print と混在して使うと、
混乱するかもしれません。
実際に書き込まれたバイト数を返します。エラーの場合は undef を返します。
OFFSET で、文字列の始めでなく途中からデータを読むように指定できます。
.Ip "tell(FILEHANDLE)" 8 6
.Ip "tell FILEHANDLE" 8 6
.Ip "tell" 8
FILEHANDLE の現在のファイル位置を返します。
FILEHANDLE は、実際のファイルハンドルの名前を与える式でもかまいません。
FILEHANDLE を省略すると、最後に読んだファイルを使います。
.Ip "telldir(DIRHANDLE)" 8 5
.Ip "telldir DIRHANDLE" 8
DIRHANDLE について readdir() ルーチンの現在の位置を返します。
この値は、ディレクトリの特定の位置をアクセスするために、seekdir() の
引数に使います。
相当するシステムライブラリルーチン同様、directory compaction について
は同じ注意が必要です。
.Ip "time" 8 4
1970 年 1 月 1 日 00:00:00 (UTC) からの通算の秒数(閏秒無し)を返します。
gmtime() や localtime() に使うことができます。
.Ip "times" 8 4
現在のプロセスと子プロセスのユーザ、システム時間(秒)からなる 4 要素の
配列を返します。
.Sp
($user,$system,$cuser,$csystem) = times;
.Sp
.Ip "tr/SEARCHLIST/REPLACEMENTLIST/cds" 8 5
.Ip "y/SEARCHLIST/REPLACEMENTLIST/cds" 8
SEARCHLIST にある文字が出現したら、すべて REPLACEMENTLIST の相当する
文字に変換します。
変換または削除された文字の数を返します。
=~ や !~ 演算子を介した文字列の指定をしなかった場合、$_ 文字列が
変換されます。
(=~ で指定した文字列は、スカラ変数か配列の要素かそれらへの代入
でなければいけません。つまり、左辺値ということになります。)
.I sed
信者のために、
.I tr
の別名
.I y
が用意されています。
SEARCHLIST が [], <>, () で区切られていると、REPLACEMENTLIST は、
それ自身のクォートを持ち、それは [], <>, () であっても、そうでなくても
良いことになります。例えば、
tr[A-Z][a-z] または tr(+-*/)/ABCD/ のようになります。
.Sp
c 修飾子が指定されると、SEARCHLIST の文字セットは補間されます。
d 修飾子が指定されると、SEARCHLIST で指定された文字で REPLACEMENTLIST
に対応するものがないものは皆、削除されます。
(これは、SEARCHLIST で見つかったものを何でも削除してしまう
ような
.I tr
プログラムの挙動よりも、やや柔軟です。)
s 修飾子が指定されると、変換されて同じ文字が続いたとき、
それを 1 文字に縮めます。
.Sp
d 修飾子が使われると、REPLACEMENTLIST は常に指定された通りに
解釈されます。それ以外の場合で、REPLACEMENTLIST が SEARCHLIST より
短いときは、同じ長さになるまで最後の文字が繰り返されます。
REPLACEMENTLIST がヌルだと、SEARCHLIST がコピーされます。
これは、あるクラスに含まれる文字をカウントしたり、あるクラスの文字の
重複を縮めるときに便利です。
.Sp
例:
.nf
$ARGV[1] \|=~ \|y/A\-Z/a\-z/; \h'|3i'# 小文字に統一します
$cnt = tr/*/*/; \h'|3i'# $_ の中の * を数えます
$cnt = tr/0\-9//; \h'|3i'# $_ の中の数字を数えます
tr/a\-zA\-Z//s; \h'|3i'# bookkeeper \-> bokeper
($HOST = $host) =~ tr/a\-z/A\-Z/;
y/a\-zA\-Z/ /cs; \h'|3i'# アルファベット以外を 1 文字の空白にします
tr/\e200\-\e377/\e0\-\e177/;\h'|3i'# 8 ビット目を消します
.fi
.Ip "truncate(FILEHANDLE,LENGTH)" 8 4
.Ip "truncate(EXPR,LENGTH)" 8
FILEHANDLE や EXPR の名前のファイルを指定した長さに切り詰めます。
システムに truncate が実装されていないと、致命的エラーになります。
.Ip "umask(EXPR)" 8 4
.Ip "umask EXPR" 8
.Ip "umask" 8
プロセスに umask をセットし、変更前の値を返します。
EXPR が省略されると、単に現在の umask を返します。
.Ip "undef(EXPR)" 8 6
.Ip "undef EXPR" 8
.Ip "undef" 8
EXPR の値を undefined とします。これは左辺値でなければなりません。
スカラ値、配列全体、サブルーチン名 (& を使う) の場合でのみ使えます。
(undef は、多分ほとんどの予約変数、dbm 配列値では期待する動作となりません。)
undef は、常に undefined 値を返します。
EXPR を省略することもできます。その場合は何も undef されませんが、
それでも undefined 値を得ることができます。
例えば、サブルーチンから return するときです。
例:
.nf
.ne 6
undef $foo;
undef $bar{'blurfl'};
undef @ary;
undef %assoc;
undef &mysub;
return (wantarray ? () : undef) if $they_blew_it;
.fi
.Ip "unlink(LIST)" 8 4
.Ip "unlink LIST" 8
リストに含まれるファイルを削除します。
削除に成功したファイルの数を返します。
.nf
.ne 2
$cnt = unlink \'a\', \'b\', \'c\';
unlink @goners;
unlink <*.bak>;
.fi
注意: unlink は、自分がスーパユーザで
.IR perl
.B \-U
フラグを付けている場合を除くとディレクトリを消去はしません。
これらの条件がそろったとしても、ディレクトリの unlink は
システムにダメージを与えることがあるので、気をつけて下さい。
代わりに rmdir を使って下さい。
.Ip "unpack(TEMPLATE,EXPR)" 8 4
unpack は pack の逆を行ないます: 構造体を示す文字列を引数に取り、
それを配列値に出力し、配列値を返します。
(スカラのコンテキストでは、生成された最初の値のみを返します。)
TEMPLATE は、pack 関数と全く同じフォーマットになります。
以下は、substr を実行するサブルーチンです:
.nf
.ne 4
sub substr {
local($what,$where,$howmuch) = @_;
unpack("x$where a$howmuch", $what);
}
.ne 3
そして、
sub ord { unpack("c",$_[0]); }
.fi
というのもあります。
更に、フィールドの前に %<数字> の添字を付けることにより、
項目そのものの代わりに、項目の<数字>ビットのチェックサムが欲しいと
いう指定になります。
デフォルトは、16 ビットのチェックサムです。
次の例で、System V の sum プログラムと同じ数が計算されます:
.nf
.ne 4
while (<>) {
$checksum += unpack("%16C*", $_);
}
$checksum %= 65536;
.fi
.Ip "unshift(ARRAY,LIST)" 8 4
視点によって、
.IR shift
の逆、または
.IR push
の逆を行ないます。
LIST を配列の前に付け加え、新しい配列の要素の数を返します。
.nf
unshift(ARGV, \'\-e\') unless $ARGV[0] =~ /^\-/;
.fi
.Ip "utime(LIST)" 8 2
.Ip "utime LIST" 8 2
リストの各ファイルのアクセス時刻と最終変更時刻を変えます。
リストの最初の二つの要素には、*数値*で表されたアクセス時刻と変更時刻が
この順で入っていなければなりません。
変更に成功したファイルの数が返ります。
各ファイルの inode 変更時刻には現在時間がセットされます。
以下は、\*(L"touch\*(R" コマンドの例です:
.nf
.ne 3
#!/usr/bin/perl
$now = time;
utime $now, $now, @ARGV;
.fi
.Ip "values(ASSOC_ARRAY)" 8 6
.Ip "values ASSOC_ARRAY" 8
名前付き連想配列のすべての値からなる普通の配列を返します。
値は、見かけ上ランダムな順で返るように見えますが、同じ連想配列に対して、
keys() 関数 や each() 関数が生成するものと同じ順になります。
keys() と each() を参照して下さい。
.Ip "vec(EXPR,OFFSET,BITS)" 8 2
文字列を unsigned integer のベクトルとして扱い、指定した
ビットフィールドの値を返します。
代入もできます。
BITSは、2 の累乗で 1 から 32 まででなければなりません。
.Sp
vec() に生成されたベクトルは、論理演算子 |, &, ^ で操作することができ、
両方のオペランドが文字列のとき、
ビットベクトル演算をするものとみなされます。
古いプログラムを守るために、プログラム中に少なくとも一つの vec() が
ないと、この解釈はなされません。
.Sp
ビットベクトルを 0 や 1 の文字列や配列に変換するには、
以下を使って下さい:
.nf
$bits = unpack("b*", $vector);
@bits = split(//, unpack("b*", $vector));
.fi
ビットの正確な長さがわかるならば、* の代わりに使うことができます。
.Ip "wait" 8 6
子プロセスが終了するのを待ち、死んだプロセスの pid を返します。
子プロセスがないときは、-1 を返します。
終了時ステータスは $? に返されます。
.Ip "waitpid(PID,FLAGS)" 8 6
特定の子プロセスが終了するのを待ち、死んだプロセスの pid を返します。
そのような子プロセスがなければ、-1 を返します。
終了時ステータスは $? に返されます。
次のように書くと、
.nf
require "sys/wait.h";
.\|.\|.
waitpid(-1,&WNOHANG);
.fi
どのプロセスに対しても、non-blocking wait を実行できます。
non-blocking wait は、
.I waitpid (2)
か、または
.I wait4 (2)
システムコールをサポートしているマシンでのみ使えます。
しかし、FLAGS 0 での 特殊な pid の wait はどこでも実装されています。
(perl は、終了したものの perl スクリプトには採り入れられていない
プロセスのステータス値を覚えていることでシステムコールをエミュレート
します。)
.Ip "wantarray" 8 4
現在実行しているサブルーチンのコンテキストが配列値なら真を返します。
スカラのコンテキストに見えれば、偽を返します。
.nf
return wantarray ? () : undef;
.fi
.Ip "warn(LIST)" 8 4
.Ip "warn LIST" 8
\*(L"die\*(R" と同じようなメッセージを標準エラー出力に出しますが、
終了しません。
.Ip "write(FILEHANDLE)" 8 6
.Ip "write(EXPR)" 8
.Ip "write" 8
指定したファイルに、関連付けられたフォーマットを使って、
フォーマットレコード (複数行も可) を書き込みます。
デフォルトで、フォーマットはファイルハンドルと同じ名前を持つものに
なりますが、$~ 変数にフォーマットの名前を明示的に割り当てることで、
現在の出力チャンネル (
.IR select
を参照して下さい) に対するフォーマットをセットしてもかまいません。
.Sp
最上位の form 生成は自動的に行なわれます:
フォーマットされたレコードに対して、現在のページに十分な空きがない
場合、改頁が書き込まれて、次のページに移ります。
新しいページのヘッダには、特別なページ先頭フォーマットが使われ、
その後レコードが書き込まれます。
デフォルトでページ先頭フォーマットは、
ファイルハンドルの名前に \*(L"_TOP\*(R" を付け加えたものになりますが、
ファイルハンドルが select されているときは、$^ 変数に名前を割り当てる
ことで、好きなフォーマットを動的にセットしてもかまいません。
現在のページに残っている行数は、変数 $- に保持されていますが、0 を
セットすることがで、強制的に新しいページに移ることができます。
.Sp
FILEHANDLE が指定されないと、現在のデフォルト出力チャンネルに
出力されます。デフォルト出力は、起動時
.I STDOUT
ですが、
.I select
演算子で変更できます。
FILEHANDLE が EXPR のとき、その式が実行時に評価され、結果の文字列が
FILEHANDLE の名前として用いられます。
フォーマットについての詳細は、後述のフォーマットのセクションを
参照して下さい。
.Sp
write は read の*逆ではない*ことに注意して下さい。
.Sh "優先度"
.I perl
の演算子は次のような結合規則と優先度を持っています:
.nf
なし\h'|1i'print printf exec system sort reverse
\h'1.5i'chmod chown kill unlink utime die return
左から右\h'|1i',
右から左\h'|1i'= += \-= *= など
右から左\h'|1i'?:
なし\h'|1i'.\|.
左から右\h'|1i'||
左から右\h'|1i'&&
左から右\h'|1i'| ^
左から右\h'|1i'&
なし\h'|1i'== != <=> eq ne cmp
なし\h'|1i'< > <= >= lt gt le ge
なし\h'|1i'chdir exit eval reset sleep rand umask
なし\h'|1i'\-r \-w \-x など
左から右\h'|1i'<< >>
左から右\h'|1i'+ \-
左から右\h'|1i'* / % x
左から右\h'|1i'=~ !~
右から左\h'|1i'! ~ 単項の-
右から左\h'|1i'**
なし\h'|1i'++ \-\|\-
左から右\h'|1i'\*(L'(\*(R'
.fi
始めの方で述べたように、リストを引数にする演算子 (print 他) や、
任意の単項演算子 (chdir 他) のすぐ後に同じ行の次のトークンとして
左括弧がある場合、括弧の中の演算子と引数は、丁度通常の
ファンクションコールと同様に再優先とみなされます。
例:
.nf
chdir $foo || die;\h'|3i'# (chdir $foo) || die
chdir($foo) || die;\h'|3i'# (chdir $foo) || die
chdir ($foo) || die;\h'|3i'# (chdir $foo) || die
chdir +($foo) || die;\h'|3i'# (chdir $foo) || die
しかし、* は || よりも優先度が高いので:
chdir $foo * 20;\h'|3i'# chdir ($foo * 20)
chdir($foo) * 20;\h'|3i'# (chdir $foo) * 20
chdir ($foo) * 20;\h'|3i'# (chdir $foo) * 20
chdir +($foo) * 20;\h'|3i'# chdir ($foo * 20)
rand 10 * 20;\h'|3i'# rand (10 * 20)
rand(10) * 20;\h'|3i'# (rand 10) * 20
rand (10) * 20;\h'|3i'# (rand 10) * 20
rand +(10) * 20;\h'|3i'# rand (10 * 20)
.fi
括弧がないと、print, sort, chmod といったリストを引数に持つ演算子は、
演算子の左側を見ているか右側を見ているかによって、非常に高くも
非常に低くもなります。
例えば、次の例で
.nf
@ary = (1, 3, sort 4, 2);
print @ary; # 1324 を出力
.fi
sort の右側のコンマは、sort の前に評価されますが、左側のコンマは、
後で評価されます。
言い換えると、リストを引数に取る演算子は、それに続くすべての引数を
拾う傾向にあり、前の式にしたがって単一の命令語のように振舞います。
括弧に注意深くなければいけないことを覚えておいて下さい:
.nf
.ne 3
# これらを評価すると、print を実行する前に exit します。
print($foo, exit); # 明らかにやりたいこととは違います
print $foo, exit; # これもそう
.ne 4
# これらは、exit を評価する前に print を実行します。
(print $foo), exit; # これはやりたいことです
print($foo), exit; # これもそう
print ($foo), exit; # さらにこれも
また、これは
print ($foo & 255) + 1, "\en";
.fi
多分一目見て期待する動作とは違うことを実行するでしょう。
.Sh "サブルーチン"
サブルーチンは次のように宣言されます:
.nf
sub NAME BLOCK
.fi
.PP
ルーチンに渡されたすべての引数は、配列 @_ に入ります。
これは、($_[0], $_[1], .\|.\|.) です。
配列 @_ はローカル配列ですが、その値は実際のスカラパラメータへの参照
になります。
サブルーチンの戻り値は、最後の式が評価されたときの値で、配列値にも
スカラ値にもなり得ます。
また、リターン文は戻り値を指定してサブルーチンを抜けることにも
使われます。
ローカル変数を作成するには、
.I local
演算子を参照して下さい。
.PP
サブルーチンは、
.I do
演算子かまたは & 演算子を使って呼ばれます。
.nf
.ne 12
例:
sub MAX {
local($max) = pop(@_);
foreach $foo (@_) {
$max = $foo \|if \|$max < $foo;
}
$max;
}
.\|.\|.
$bestday = &MAX($mon,$tue,$wed,$thu,$fri);
.ne 21
例:
# 行を取得し、空白で始まる行は
# 続きの行として結合されます。
sub get_line {
$thisline = $lookahead;
line: while ($lookahead = <STDIN>) {
if ($lookahead \|=~ \|/\|^[ \^\e\|t]\|/\|) {
$thisline \|.= \|$lookahead;
}
else {
last line;
}
}
$thisline;
}
$lookahead = <STDIN>; # 最初の行を取得します
while ($_ = do get_line(\|)) {
.\|.\|.
}
.fi
.nf
.ne 6
引数に名前を付けるには、ローカルリストへの配列の代入を使います:
sub maybeset {
local($key, $value) = @_;
$foo{$key} = $value unless $foo{$key};
}
.fi
代入は値をコピーするので、これは参照呼び出しを値呼び出しに換える効果も
あります。
.Sp
サブルーチンは再帰的に呼び出せます。
サブルーチンが & の型を使って呼び出されるとき、引数リストは省略
できます。
省略されると、サブルーチンには @_ 配列がセットされません;
その代わり、呼び出し時に @_ 配列は、サブルーチンには可視となります。
.nf
do foo(1,2,3); # 三つの引数を渡します
&foo(1,2,3); # 上と同じです
do foo(); # ヌルリストを渡します
&foo(); # 上と同じです
&foo; # 引数を渡しません\*(--より効率的
.fi
.Sh "参照渡し"
サブルーチンへ配列の値を渡すのではなく、その名前を渡して、サブルーチン
がローカルなコピーに対してではなくグローバルな配列を変更できるように
したいときがあるでしょう。
perl では名前を持つすべてのオブジェクトに対して、その名前の前に * を
つけて参照できます: *foo のように。
これが評価されると、ファイルハンドル、フォーマット、サブルーチンを含む、
その名前を持つすべてのオブジェクトを表すスカラ値となります。
local() 演算子に代入されたとき、その名前がそれに代入された * 値を
参照するようになります。
例:
.nf
sub doubleary {
local(*someary) = @_;
foreach $elem (@someary) {
$elem *= 2;
}
}
do doubleary(*foo);
do doubleary(*bar);
.fi
*name への代入は今のところ local() の中でしか勧められません。
実際には *name への代入はどこででもできますが、それ以前の *name への
参照が永遠に尾を引くかもしれません。
これにより困ったことになるかもしれませんし、ならないかもしれません。
.Sp
スカラはすでに参照渡しですが、このメカニズムを用いなくても、
関心のある $_[nnn] への明示的な参照を行うことで、スカラの引数を
変更することができます。
すべての要素をスカラで渡すことで、すべての配列の要素を変更することが
できますが、push や pop 、配列のサイズの変更には * メカニズムを
使わなければなりません。
どんな場合でも、* メカニズムは多分、より効率が良いはずです。
.Sp
*name 値は表示不能なバイナリデータを含むので、print の引数または printf
や sprintf の %s 引数として使われると、表示を綺麗にするため '*name' と
いう値になります。
.Sp
通常 LIST メカニズムはすべての配列値をマージしてしまって、個々の配列を
取り出せなくなってしまうので、配列を変更したくないとしても、
このメカニズムは一つの LIST にたくさんの配列を渡すのに便利です。
.Sh "正規表現"
パターンマッチで使われるパターンは、バージョン 8 regexp ルーチンで供給
されているものと同じ正規表現です。
(実際、このルーチンは Henry Spencer の自由に再配布可能な再実装 V8 ルーチン
から抜き取って使われています。)
それに加えて、\ew は英数字 (\*(L"_\*(R" を含む) にマッチし、
\eW は非英数字にマッチします。
単語境界は \eb に、非単語境界は \eB に。
空白文字は \es に、非空白文字は \eS に。
数字は \ed に、非数字は \eD にマッチします。
\ew, \es, \ed はキャラクタクラスでも使えます。
また、\en, \er, \ef, \et, \eNNN は通常と同じ意味となります。
キャラクタクラスの中では、\eb は単語境界ではなく、
バックスペースを表します。
選択候補は、| で区切ります。
括弧構造 \|(\ .\|.\|.\ \|) を使うと、\e<数字> はその数字番目の
部分文字列にマッチします。
(パターンの外では、数字の前に \e の代わりに常に $ を用いなければ
なりません。$<数字> (と $\`, $&, $\') の有効範囲は、閉じたブロックの
終りか、eval 文字列か、次のパターンマッチまでとなります。
\e<数字> 記述は、ときに現在のパターンの外に作用しますが、それに頼って
はいけません。)
括弧は好きなだけたくさん使ってかまいません。9 個以上の部分文字列が
あると、変数 $10, $11, ... が対応する部分文字列を参照します。
後方参照の前に少なくともその数の左括弧があると、パターンの中では、
\e10, \e11 等が部分文字列を後方参照します。
そうでなければ (以前との互換性のために) \e10 は \e010 のバックスペースと
同じ、\e11 は \e011 のタブと同じというようになります。
(\e1 から \e9 は常に後方参照です。)
.PP
$+ は、最後の括弧でマッチしたものを返します。
$& は、マッチした文字列全体を返します。
($0 が同じものを返していましたが、今は違います。)
$\` はマッチした文字列の前の全文字列を返します。
$\' はマッチした文字列の後の全文字列を返します。
例:
.nf
s/\|^\|([^ \|]*\|) \|*([^ \|]*\|)\|/\|$2 $1\|/; # 最初の二語を交換
.ne 5
if (/\|Time: \|(.\|.\|):\|(.\|.\|):\|(.\|.\|)\|/\|) {
$hours = $1;
$minutes = $2;
$seconds = $3;
}
.fi
デフォルトで、^ 文字は文字列の先頭に、$ 文字は文字列の最後
(または最後の改行文字の前) にマッチすることが保障されており、
.I perl
は文字列が一行しか含んでいないという仮定のもとで、
ある最適化を行なっています。
改行が埋め込まれた場合の ^ や $ の振舞いは、矛盾を生じるでしょう。
しかし、^ が文字列内の任意の改行の後に、$ が改行の前にマッチするよう
な、文字列を複数行バッファとして使いたい場合があるかもしれません。
少々のオーバヘッドを覚悟すれば、変数 $* に 1 をセットすることで、
それができます。
$* を 0 に設定し直せば、
.I perl
は元の動作に戻ります。
.PP
複数行の置換を用意にするために、. 文字は改行文字にはマッチしません
(たとえ $* が 0 であっても) 。
特に次の例では、改行文字が $_ 文字列に残ります:
.nf
$_ = <STDIN>;
s/.*(some_string).*/$1/;
改行文字が要らないなら、次のどれかを試して下さい。
s/.*(some_string).*\en/$1/;
s/.*(some_string)[^\e000]*/$1/;
s/.*(some_string)(.|\en)*/$1/;
chop; s/.*(some_string).*/$1/;
/(some_string)/ && ($_ = $1);
.fi
正規表現のどの要素の後でも中括弧で囲んだ数字を {n,m} の形で
置くことができ、n で要素がマッチする最小の回数を、m で最大の回数を
指定します。
{n} の形は、{n,n} と同等で、正確に n 回にマッチします。
{n,} の形は、n 回以上にマッチします。
(中括弧が他のコンテキストの中に出て来た場合は、通常の文字として
扱われます。)
* 修飾子は {0,} と、+ 修飾子は {1,} と、? 修飾子は {0,1} と
同等となります。
n と m のサイズには制限がありませんが、大きい数字はより多くのメモリを
消費するでしょう。
.Sp
.I perl
では、
\eb, \ew, \en のような
バックスラッシュのつくメタキャラクタは、すべて英数字であること
に気がつかれることでしょう。
他の正規表現言語とは違って、英数字でないバックスラッシュシンボルは
ありません。
従って、\e\e, \e(, \e), \e<, \e>, \e{, \e} というようなものは皆、
メタキャラクタではなく、文字そのものとして解釈されます。
これにより、メタキャラクタに含まれるのではないかと心配になるような
文字列をパターンに使って、引用することが容易になります。
英数字でないすべての文字の引用は、このようにします:
.nf
$pattern =~ s/(\eW)/\e\e$1/g;
.fi
.Sh "フォーマット"
.I write
演算子で使う出力レコードフォーマットは、次のように
宣言します:
.nf
.ne 3
format NAME =
FORMLIST
.
.fi
NAME を省略すると、\*(L"STDOUT\*(R" フォーマットが定義されます。
FORMLIST は複数行から成り、各行は次の三つの型のいずれかとなります:
.Ip 1. 4
コメント
.Ip 2. 4
一つの出力行のフォーマットを示す \*(L"picture\*(R" 行
.Ip 3. 4
picture 行に値を与える引数行
.PP
picture 行は、その中で値が置換される特定のフィールドを除けば、
見た目そのままに出力されます。
各 picture フィールドは、@ か ^ で始まります。
@ フィールド (配列の先頭の @ と混乱しないように) は通常の場合
で、^ フィールドは基本的な複数行テキストブロックを埋めるのに
使われます。
フィールドの長さは、<, >, | の繰り返しで埋めることで指定し、それぞれ
左寄せ、右寄せ、センタリングを意味します。
右寄せの別な形として、# 文字を (それに . を付けても良い)
数字フィールドの指定として使うこともできます。
(@ のかわりに ^ を使うと、undefined なフィールドが空白になります。)
これらのフィールドに与えられた値が改行を含むと、改行までのテキスト
のみが出力されます。
特殊フィールド @* は複数行の値の出力に使われます。
その行に書かれているのは @* だけでなくてはいけません。
.PP
値は、次の行で指定され、picture フィールドと同じ順となります。
値はカンマで区切られていなければなりません。
.PP
@ でなく ^ で始まる picture フィールドは、特別な扱いになります。
指定する値は、テキスト文字列が入っているスカラ変数名でなければ
いけません。
.I perl
は、フィールドに入れられるだけたくさんのテキストを入れ、変数が次に参照
されるときに続きが出力されるように、文字列の先頭からそのテキストを削ります。
通常、テキストのブロックを出力するには、垂直なスタックの中にフィールド
の一続きを入れて使います。
全部を入れるにはテキストが長すぎるとき、そうしたければ
最後のフィールドを .\|.\|. で終らせることもできます。
変数 $: を好きな文字のリストにすることで、テキストを分割する文字を
変えることができます。
.PP
^ フィールドを使うと、可変長のレコードを生成するので、テキストの
フォーマットを短くしたいとき、チルダ (~) 文字を行のどこかに入れて
空行を抑制することができます。
(可読性を高めるため、普通はできれば行頭に入れるべきです。)
チルダは出力時には空白に変換されます。
一つ目に続けて二つ目のチルダを書くと、行中のすべてのフィールドが
なくなるまで、その行を繰り返します。
(いろいろな @ のフィールドを使うとき、与える式はいつも同じ値ではない方が
良いでしょう。)
.PP
例:
.nf
.lg 0
.cs R 25
.ft C
.ne 10
# /etc/passwd ファイルの形式
format STDOUT_TOP =
\& Passwd File
Name Login Office Uid Gid Home
------------------------------------------------------------------
\&.
format STDOUT =
@<<<<<<<<<<<<<<<<<< @||||||| @<<<<<<@>>>> @>>>> @<<<<<<<<<<<<<<<<<
$name, $login, $office,$uid,$gid, $home
\&.
.ne 29
# バグレポート形式
format STDOUT_TOP =
\& Bug Reports
@<<<<<<<<<<<<<<<<<<<<<<< @||| @>>>>>>>>>>>>>>>>>>>>>>>
$system, $%, $date
------------------------------------------------------------------
\&.
format STDOUT =
Subject: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $subject
Index: @<<<<<<<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $index, $description
Priority: @<<<<<<<<<< Date: @<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $priority, $date, $description
From: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $from, $description
Assigned to: @<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $programmer, $description
\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $description
\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $description
\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $description
\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $description
\&~ ^<<<<<<<<<<<<<<<<<<<<<<<...
\& $description
\&.
.ft R
.cs R
.lg
.fi
同じ出力チャンネルに対して、write を使って出力を混ぜることはできます
が、$\- (ページの残り行数) を自分でいじらなければなりません。
.PP
ほとんどが空白のフィールドがたくさんあるとき、
レコード間で reset 演算子を使うことを考えるべきです。
効率的であるというだけでなく、別のフィールドを加えてしまい、0 に
し忘れてしまうというバグを防ぐことができます。
.Sh "プロセス間通信"
perl の プロセス間通信(IPC)の能力は Berkeley のソケット機構に
基づいています。
ソケットが無ければ、このセクションは無視できます。
この呼び出しは、同名のシステムコールに相当しますが、
二つの理由で大抵引数は異なります。
一つ目は、perl のファイルハンドルは C ファイルディスクリプタとは
異なる動作をするということです。
二つ目は、perl は文字列の長さを知っているので、その情報を渡さなくても
良いということです。
以下がクライアントのサンプル (未テスト) です:
.nf
($them,$port) = @ARGV;
$port = 2345 unless $port;
$them = 'localhost' unless $them;
$SIG{'INT'} = 'dokill';
sub dokill { kill 9,$child if $child; }
require 'sys/socket.ph';
$sockaddr = 'S n a4 x8';
chop($hostname = `hostname`);
($name, $aliases, $proto) = getprotobyname('tcp');
($name, $aliases, $port) = getservbyname($port, 'tcp')
unless $port =~ /^\ed+$/;
.ie t \{\
($name, $aliases, $type, $len, $thisaddr) = gethostbyname($hostname);
'br\}
.el \{\
($name, $aliases, $type, $len, $thisaddr) =
gethostbyname($hostname);
'br\}
($name, $aliases, $type, $len, $thataddr) = gethostbyname($them);
$this = pack($sockaddr, &AF_INET, 0, $thisaddr);
$that = pack($sockaddr, &AF_INET, $port, $thataddr);
socket(S, &PF_INET, &SOCK_STREAM, $proto) || die "socket: $!";
bind(S, $this) || die "bind: $!";
connect(S, $that) || die "connect: $!";
select(S); $| = 1; select(stdout);
if ($child = fork) {
while (<>) {
print S;
}
sleep 3;
do dokill();
}
else {
while (<S>) {
print;
}
}
.fi
これがサーバ側です:
.nf
($port) = @ARGV;
$port = 2345 unless $port;
require 'sys/socket.ph';
$sockaddr = 'S n a4 x8';
($name, $aliases, $proto) = getprotobyname('tcp');
($name, $aliases, $port) = getservbyname($port, 'tcp')
unless $port =~ /^\ed+$/;
$this = pack($sockaddr, &AF_INET, $port, "\e0\e0\e0\e0");
select(NS); $| = 1; select(stdout);
socket(S, &PF_INET, &SOCK_STREAM, $proto) || die "socket: $!";
bind(S, $this) || die "bind: $!";
listen(S, 5) || die "connect: $!";
select(S); $| = 1; select(stdout);
for (;;) {
print "Listening again\en";
($addr = accept(NS,S)) || die $!;
print "accept ok\en";
($af,$port,$inetaddr) = unpack($sockaddr,$addr);
@inetaddr = unpack('C4',$inetaddr);
print "$af $port @inetaddr\en";
while (<NS>) {
print;
print NS;
}
}
.fi
.Sh "予約変数"
次の変数名は、
.IR perl
にとって特別な意味があります。
これらのうち幾つかはアルファベットのシンボルにもしても良かったのですが、
reset \*(L"a\-zA\-Z\*(R" で予約変数まで消されてしまうようなことに
したくなかったのです。
そのため、これらのおかしなシンボル名に悩まされなければならないでしょう。
そのうち多くは筋が通ったニーモニック (記憶方法) で、シェルのものと
類似になっています。
.Ip $_ 8
入力およびパターン検索のデフォルト。
次の組はそれぞれ同等です:
.nf
.ne 2
while (<>) {\|.\|.\|. # while の中でのみ同等
while ($_ = <>) {\|.\|.\|.
.ne 2
/\|^Subject:/
$_ \|=~ \|/\|^Subject:/
.ne 2
y/a\-z/A\-Z/
$_ =~ y/a\-z/A\-Z/
.ne 2
chop
chop($_)
.fi
(覚え方: 下線は実行されるとわかる。)
.Ip $. 8
最後に読み込まれたファイルハンドルの現在の行番号。
読み出し専用。
明示的なファイルハンドルの close でのみ行番号がリセットされることを
覚えておいて下さい。
<> は明示的な close を行なわないので、ARGV ファイル全部を通して行番号
が増えていきます (eof の例を参照して下さい) 。
(覚え方: 多くのプログラムは . を現在行番号の意味で使う。)
.Ip $/ 8
入力レコードの区切り文字。デフォルトは改行。
ヌル文字列にセットされると空行を区切りとして扱うことも含めて、
.IR awk
の RS 変数と同じ働きをします。
複数文字にセットすると複数文字区切りにマッチさせることができます。
ファイルに空行が連続してあるとき、
この変数を "\en\en" にセットすると、"" にセットする場合と
少々異なる意味を持つことに注意して下さい。
"" にセットすると、二つかそれ以上の連続した空行を一つの空行として
扱います。 "\en\en" にセットすると、空行の後にたとえ改行文字が
続いていても、次の段落に含まれているものと盲目的に解釈されます。
(覚え方: / は詩をクォートするとき行境界の区切りとして使える。)
.Ip $, 8
print 演算子のための出力フィールド区切り文字。
通常は、print 演算子は単にカンマ区切りで指定したフィールドを
出力します。より
.IR awk
に似た挙動をさせるためには、フィールド間に出力する文字を
指定する
.IR awk
の OFS 変数と同じものを、この変数をセットして下さい。
(覚え方: print文に , があるとき出力すべきもの。)
.Ip $"" 8
$, と似ていますが、この変数の異なる点は、"" で囲まれた
文字列 (または同様な挿入文字) に挿入される配列値に適用されることです。
デフォルトは空白文字です。
(覚え方: これは明白。)
.Ip $\e 8
print 演算子の出力レコードセパレータ文字。
通常 print 演算子は、後に改行やレコードセパレータ文字を続いていないと
推定して、単にカンマ区切りの指定フィールドを出力します。
より
.IR awk
に似た挙動をさせるためには、print の終りに出力する文字を指定する
.IR awk
の ORS 変数と同じものをこの変数にセットして下さい。
(覚え方: print の終りに \en を加える代わりに $\e をセット。)
/ にも似ていますが、
.IR perl
から \*(L"得る\*(R" ものです。)
.Ip $# 8
数字の出力のための出力フォーマット。
この変数は
.IR awk
の OFMT 変数を半分だけ受け継いでいます。
しかし
.I awk
.I perl
では、実際に何が数字であるかという概念の異なることがしばしばあります。
初期値も、%.6g でなく %.20g ですので、
.IR awk
の値を得るには、明示的に $# をセットする必要があります。
(覚え方: # は数字の記号。)
.Ip $% 8
現在 select されている出力チャンネルの現在のページ番号。
(覚え方: % は nroff におけるページ番号。)
.Ip $= 8
現在 select されている出力チャンネルの現在のページ長 (出力可能行) 。
デフォルトは 60 。
(覚え方: = は平行線。)
.Ip $\- 8
現在 select されている出力チャンネルのページの残り行数。
(覚え方: 1 ページの行数 \- 出力済み行数)
.Ip $~ 8
現在 select されている出力チャンネルの現在のレポートフォーマット名。
デフォルトは、ファイルハンドル名。
(覚え方: $^ の仲間。)
.Ip $^ 8
現在 select されている出力チャンネルの現在のページ先頭フォーマット名。
デフォルトは、ファイルハンドル名に \*(L"_TOP\*(R" を加えたもの。
(覚え方: 先頭ページを指す。)
.Ip $| 8
0 でない値をセットすると、現在 select されている出力チャンネルに
write や print が行なわれる毎にフラッシュします。
デフォルトは 0 。
通常
.I STDOUT
は、端末に出力するときは行バッファが使われ、それ以外では
ブロックバッファが使われることに注意して下さい。
この変数をセットするのは、
.I perl
スクリプトを rsh の基で走らせている時等、
パイプに出力している時に、
出力が起こる度に確認したい場合に便利です。
(覚え方: パイプを常に動かしておきたい。)
.Ip $$ 8
.I perl
が走らせているスクリプトのプロセス番号。
(覚え方: シェルと同じ。)
.Ip $? 8
最後に close したパイプや (\`\`) コマンドや
.I system
演算子の戻り値。
これは、wait() システムコールが返すステータスなので、サブプロセスの
終了値は実際は ($? >> 8) です。
プロセスを終了させたシグナルがあった場合、$? & 255 は
どのシグナルであるか、dump された core があるかどうかを返します。
(覚え方: sh や ksh と同じ。)
.Ip $& 8 4
最後に成功したパターンマッチでマッチした文字列。
(ブロック内や現在のブロックで閉じた eval でのマッチは含まれません。)
(覚え方: あるエディタの & と同じ。)
.Ip $\` 8 4
最後にパターンマッチに成功したパターンの前にある文字列。
(ブロック内や現在のブロックで閉じた eval でのマッチは含まれません。)
(覚え方: \` は大抵クォートされた文字列の前。)
.Ip $\' 8 4
最後にパターンマッチに成功したパターンの後ろにある文字列。
(ブロック内や現在のブロックで閉じた eval でのマッチは含まれません。)
(覚え方: \' は大抵クォートされた文字列の後。)
例:
.nf
.ne 3
$_ = \'abcdefghi\';
/def/;
print "$\`:$&:$\'\en"; # abc:def:ghi を出力
.fi
.Ip $+ 8 4
最後に検索したパターンの最後の括弧にマッチします。
これは、複数候補のパターンマッチでどちらにマッチするかわからない
ときに便利です。
例:
.nf
/Version: \|(.*\|)|Revision: \|(.*\|)\|/ \|&& \|($rev = $+);
.fi
(覚え方: 正で、前方を見ること。)
.Ip $* 8 2
文字列内で、複数行のマッチを行なうとき 1 をセットし、
パターンマッチの最適化の目的で、単一行を含む文字列であると
.I perl
に決め打ちにさせるときに 0 とします。
$* が 0 のときに複数の改行を含む文字列のパターンマッチをすると、
混乱した結果となります。
デフォルトは 0 。
(覚え方: * は複数のものにマッチする。)
この変数は、^ や $ の解釈に影響するだけであるということに
注意して下さい。
改行のリテラルは、when $* == 0 としても検索できます。
.Ip $0 8
.I perl
起動したスクリプトのファイル名を保持しています。
$0 修飾子への代入は、ps(1) プログラムの引数の部分を参照して下さい。
(覚え方: sh や ksh と同じ)
.Ip $<数字> 8
最後に行なったパターンマッチで対応する数字番目の括弧のサブパターン。
入れ子になったブロック内で既に終了したパターンマッチの数は含まれません。
(覚え方: \e数字と同じ。)
.Ip $[ 8 2
配列中の最初の要素や部分文字列の最初の文字の添字。
デフォルトは 0 ですが、index() や substr() 関数の
添字のつけ方や評価に関して、
.I perl
.I awk
(や Fortran)
の動作にさせるには、この変数に 1 をセットすることでできます。
(覚え方: [ は添字の始まり。)
.Ip $] 8 2
\*(L"perl -v\*(R" で出力される文字列。
これは、perl インタープリタが正しいバージョンの範囲でスクリプトを
実行しているかどうかを決めるために、スクリプトの始めの方で使われます。
数値のコンテキストで使われると、バージョン + パッチレベル / 1000 を
返します。
例:
.nf
.ne 8
# getcがつかえるかどうかを調べます
($version,$patchlevel) =
$] =~ /(\ed+\e.\ed+).*\enPatch level: (\ed+)/;
print STDERR "(No filename completion available.)\en"
if $version * 1000 + $patchlevel < 2016;
また、数値で使われると、
warn "No checksumming!\en" if $] < 3.019;
.fi
(覚え方: このバージョンの perl は right(正しい、右) 括弧に入ってるか? )
.Ip $; 8 2
多次元配列エミュレーションの際の添字の区切り。
連想配列の要素を次のように参照するとき、
.nf
$foo{$a,$b,$c}
実際には
$foo{join($;, $a, $b, $c)}
を意味しますが、
@foo{$a,$b,$c} # スライス\*(--@ に注意
と書いてはいけません。
($foo{$a},$foo{$b},$foo{$c})
.fi
を意味することになってしまうからです。
デフォルトは "\e034" で、
.IR awk
の SUBSEP と同じです。
キーとしてバイナリデータを使うと、$; として安全な値はないだろうという
ことに気をつけて下さい。
(覚え方: カンマ (文法上添字の区切り) はセミコロンの半分。
これは、ちょっとひどいね。でも、$, は他のもっと重要なことに
取られているので。)
.Ip $! 8 2
数値のコンテキストで使うと、通常の警告の文字列と共に errono の
現在の値を返します。
(これは、システムエラーのような特別なエラーを除くと、$! の値に
依存した動作をさせてはいけないということを意味します。)
文字列のコンテキストで使うと、相当するシステムエラー文字列を返します。
errno をセットするために $! に代入することができます。
例えば、エラー番号 n に対して $! が文字列を返したいときや、
die 演算子に終了値をセットしたいときなどです。
(覚え方: 一体何が爆発したの? )
.Ip $@ 8 2
最後に評価したコマンドからくる perl の文法エラーメッセージ。
ヌルなら、最後の評価が、正常に解析、実行されたことになります
(起動された演算は普通の形で失敗したかもしれません) 。
(覚え方: 文法エラーはどこに \*(L"アット (at where)\*(R" ?)
.Ip $< 8 2
現在のプロセスの実 uid 。
(覚え方: setuid で走らせているとき、*どこから* きた uid か。)
.Ip $> 8 2
現在のプロセスの実効 uid 。
例:
.nf
.ne 2
$< = $>; # 実効 uid に実 uid をセットします
($<,$>) = ($>,$<); # 実 uid と実効 uid を取り換えます
.fi
(覚え方: setuid で走らせているとき、*行く先の* uid 。)
注意: $< と $> は setreuid() をサポートしているマシンでだけ
交換できます。
.Ip $( 8 2
現在のプロセスの実 gid 。
同時に複数グループのメンバとなることをサポートしたマシンで、
属しているグループの空白区切りのリストが得られます。
最初の数は getgid() の返すもので、残りが getgroups() の返すものです。
残りの中には最初の数値と同じものも含まれているかもしれません。
(覚え方: 括弧は GROUP に使われる。 setgid スクリプトを走らせているとき、
実 gid は LEFT(残っている、左) のグループ。)
.Ip $) 8 2
現在のプロセスの実効 gid 。
同時に複数グループのメンバとなることをサポートしたマシンで、
属しているグループの空白区切りのリストが得られます。
最初の数は getegid() の返すもので、残りが getgroups() の返すものです。
残りの中には最初の数値と同じものも含まれているかもしれません。
(覚え方: 括弧は GROUP に使われる。 setgid スクリプトを走らせているとき、
実効 gid はあなたの RIGHT(正しい、右の)グループ。)
.Sp
注意: $<, $>, $(, $) は、相当する set[re][ug]id() ルーチンを
サポートしているマシンでだけセットできます。
$( と $) は setregid() をサポートしているマシンでだけ交換できます。
.Ip $: 8 2
format の (^ で始まる) 継続フィールドを埋めるように文字列を分ける
際の直前の文字列セット。
デフォルトは "\ \en-" で、空白やハイフンで分けられます。
(覚え方: 詩では \*(L"コロン\*(R" は行の一部)
.Ip $^D 8 2
デバッグフラグの現在の値。
(覚え方:
.B \-D
スイッチの値。)
.Ip $^F 8 2
最大システムファイルディスクリプタ数。通常は 2 。
システムファイルディスクリプタは、子プロセスに渡されますが、
それより数字が上のファイルディスクリプタは渡されません。
open する間は、たとえ open に失敗したとしても、
システムファイルディスクリプタは保存されます。
open が試みられる前に、通常のディスクリプタは close されます。
.Ip $^I 8 2
ファイルをその場で変更する場合の拡張子の値。
その場で変更できないようにするには、この変数を undef します。
(覚え方:
.B \-i
スイッチの値)
.Ip $^L 8 2
改ページするために出力するフォーマット。デフォルトは \ef です。
.Ip $^P 8 2
デバッガが、自分自身をデバッグしないためにクリアする内部フラグ。
これをクリアしておくと、デバッグを不可能にさせられると考えられます。
.Ip $^T 8 2
スクリプトが走り始めた時刻を、epoch からの秒で保持します。
.B \-M ,
.B \-A ,
.B \-C
ファイルテストで返された値は、この変数の値に基づいています。
.Ip $^W 8 2
警告スイッチの現在の値。
(覚え方:
.B \-w
スイッチに関係する。)
.Ip $^X 8 2
argv[0] から来る、起動された perl 自身の名前。
.Ip $ARGV 8 3
<> から読み込んでいるとき、読み込み中のファイル名を保持します。
.Ip @ARGV 8 3
配列 ARGV は、スクリプトに渡されたコマンドライン引数を保持します。
$ARGV[0] はコマンド名ではなく、最初の引数なので、$#ARGV は一般に
引数の数 -1 です。
コマンド名については、$0 を参照して下さい。
.Ip @INC 8 3
配列 INC は、
.I perl
スクリプトが \*(L"do EXPR\*(R" や \*(L"require\*(R" で評価されるときに
探されるべきディレクトリのリストを保持します。
初期値として、
.B \-I
コマンドラインスイッチの引数、
これに続きデフォルトの
.I perl
ライブラリ (おそらく \*(L"/usr/share/perl\*(R")、
これに続きカレントディレクトリを示す \*(L".\*(R" です。
.Ip %INC 8 3
連想配列 INC は、\*(L"do\*(R" や \*(L"require\*(R" を介してインクルー
ドされる各ファイル名のためのエントリを含んでいます。
キーは、指定したファイル名で、値は実際にファイルが見つかった
位置の値です。
この配列は、\*(L"require\*(R" コマンドが与えるファイルが既に
インクルード済みかどうかを決めるのに使われます。
.Ip $ENV{expr} 8 2
連想配列 ENV は、現在の環境変数を保持しています。
ENV へ値を設定すると、子プロセスの環境が変わります。
.Ip $SIG{expr} 8 2
連想配列 SIG は、各シグナルハンドラをセットするのに使われます。
例:
.nf
.ne 12
sub handler { # 第一引数はシグナル名
local($sig) = @_;
print "Caught a SIG$sig\-\|\-shutting down\en";
close(LOG);
exit(0);
}
$SIG{\'INT\'} = \'handler\';
$SIG{\'QUIT\'} = \'handler\';
.\|.\|.
$SIG{\'INT\'} = \'DEFAULT\'; # デフォルト動作に戻す
$SIG{\'QUIT\'} = \'IGNORE\'; # SIGQUIT を無視する
.fi
SIG 配列は、perl スクリプトで実際にシグナル用にセットされた値を
保持しています。
.Sh "パッケージ"
perl は、パッケージ間で異なる名前空間持つメカニズムを用意しており、
各々の変数がぶつからないように、パッケージを守っています。
デフォルトで、perl スクリプトはパッケージ \*(L"main\*(R" として
コンパイルを始めます。
.I package
宣言を使うことによって、名前空間を切り替えることができます。
パッケージ宣言の有効範囲は、宣言それ自身から、閉じたブロックの終端まで
です (local() 演算子と同じ有効範囲) 。
普通 \*(L"require\*(R" 演算子によりインクルードされたファイルの中の
最初の宣言として使われます。
複数箇所で同一パッケージに入ることが出来ます;
ブロック中でコンパイラがどのシンボルテーブルを使うかに影響するだけです。
他のパッケージの変数やファイルハンドルは、識別子の前にパッケージ名と
シングルクォートを付けることで、参照できます。
パッケージ名がヌルの場合、\*(L"main\*(R" と解釈されます。
.PP
文字で始まる識別子は、パッケージシンボルテーブルに保存されます。
それ以外のすべてのシンボルは、パッケージ \*(L"main\*(R" に保持されます。
更に、識別子 STDIN, STDOUT, STDERR, ARGV, ARGVOUT, ENV, INC, SIG は、
たとえ組み込みの変数、関数と異なる目的で使われたとしても、
強制的にパッケージ \*(L"main\*(R" に属するものとして扱われます。
仮に、\*(L"m\*(R", \*(L"s\*(R", \*(L"y\*(R" と呼ばれるパッケージを
持っていたとすると、パターンマッチ、代入、変換として解釈されるので、
識別子を適した形で使うことができないことに注意しましょう。
.PP
eval された文字列は、eval がコンパイルされたパッケージ内で
コンパイルされます。
(しかし、$SIG{} への代入は、main パッケージで指定された
シグナルハンドラと解釈されます。パッケージ内でシグナルハンドラを
持ちたい場合、シグナルハンドラ名を適切に指定して下さい。)
例えば、perl ライブラリ内の perldb.pl を調べてみましょう。
これは始めに DB パッケージに切り替わり、デバッガがデバッグしようとして
いるスクリプト内の変数を変更しないようになっています。
しかし、いろいろな時点で、main パッケージのコンテキストのいろいろな
式を評価するために、これは main パッケージに一時的に戻って来ています。
.PP
パッケージのシンボルテーブルは、パッケージ名の前に下線のついた連想配列に
蓄えられることになります。
連想配列の各エントリの値は、*name 表記を使うときに参照しようと
しているものになります。
実際、次の例は同じ効果 (もちろん main パッケージの場合) がありますが、
最初のものの方がコンパイル時にシンボルテーブルを見るので、
より効率が良くなります:
.nf
.ne 2
local(*foo) = *bar;
local($_main{'foo'}) = $_main{'bar'};
.fi
例えば、以下によりパッケージ内のすべての変数を出力できます。
これは perl ライブラリの dumpvar.pl から取ってます:
.nf
.ne 11
package dumpvar;
sub main'dumpvar {
\& ($package) = @_;
\& local(*stab) = eval("*_$package");
\& while (($key,$val) = each(%stab)) {
\& {
\& local(*entry) = $val;
\& if (defined $entry) {
\& print "\e$$key = '$entry'\en";
\& }
.ne 7
\& if (defined @entry) {
\& print "\e@$key = (\en";
\& foreach $num ($[ .. $#entry) {
\& print " $num\et'",$entry[$num],"'\en";
\& }
\& print ")\en";
\& }
.ne 10
\& if ($key ne "_$package" && defined %entry) {
\& print "\e%$key = (\en";
\& foreach $key (sort keys(%entry)) {
\& print " $key\et'",$entry{$key},"'\en";
\& }
\& print ")\en";
\& }
\& }
\& }
}
.fi
たとえサブルーチンがパッケージ dumpvar でコンパイルされるとしても、
サブルーチン名がパッケージ \*(L"main\*(R" に挿入されるように、
サブルーチン名の前にパッケージ名をつけなければならないことに注意して
下さい。
.Sh "スタイル"
各々のプログラマは、フォーマットに関してもちろん自分自身の好みが
あるでしょうが、自分のプログラムを読み易くするための一般的な
ガイドラインがあります。
.Ip 1. 4 4
あることを特別な方法で*できる*からといって、そうしなければならない
ということはありません。
.I perl
は、一つのことをするときに、幾つかの方法があるように設計されている
ので、最も読み易いものを選ぶように考えて下さい。
例えば
open(FOO,$foo) || die "Can't open $foo: $!";
は、
die "Can't open $foo: $!" unless open(FOO,$foo);
よりも良いです。なぜなら、後者の方法は文の主題を修飾子内に隠しているからです。
一方、
print "Starting analysis\en" if $verbose;
$verbose && print "Starting analysis\en";
より良いです。主となるのは、ユーザが -v を打ったかどうかでは
ないからです。
.Sp
同様に、演算子がデフォルトの引数を仮定しているからといって、
それはデフォルトを用いなければならないということではありません。
デフォルトというものは、ちょっとしたプログラムを書く、怠け者の
システムプログラマのためにあります。
読み易いプログラムをしたければ、引数を付けるようにして下さい。
.Sp
同じようなこととして、
あちこちで括弧を省略
.I できる
ということは、以下のように書けということではありません:
.nf
return print reverse sort num values array;
return print(reverse(sort num (values(%array))));
.fi
疑わしいときは、括弧をつけて下さい。
もしかすると、物好きな輩が、vi で % キーを叩くかもしれません。
.Sp
たとえ疑わしくなかったとしても、自分の後でそのコードを管理する人間の
精神衛生上好ましいですし、その人が間違ったところに括弧をつける可能性も
大いにあります。
.Ip 2. 4 4
無理にこじつけて、ループの先頭や終わりで終了しようとしないで下さい。
.I perl
には、真ん中からでも抜けられるように "last" 演算子が
用意されているのですから。
少々はみ出しても、より見易くなるようにして下さい:
.nf
.ne 7
line:
for (;;) {
statements;
last line if $foo;
next line if /^#/;
statements;
}
.fi
.Ip 3. 4 4
ループラベルを使うのを恐がらないで下さい\*(--多重ループの抜けだしがで
きるようにするためだけでなく、可読性を高めるためにあるのですから。
最後の例を参照して下さい。
.Ip 4. 4 4
可搬性のため、すべてのマシンには実装されていない機能を使うときは、
失敗しないかどうか、eval の中で構成を確かめてみて下さい。
どのバージョンやパッチレベルで特定の仕様が実装されているかを
知っているなら、$] を調べて、実装されているかどうかを確認できます。
.Ip 5. 4 4
覚え易い識別子を選んで下さい。
.Ip 6. 4 4
一貫性を持たせましょう。
.Sh "デバッグ"
.I perl
.B \-d
スイッチを付けて起動すると、デバッグモニタの基でスクリプトが走ります。
最初の実行文の前で一時停止し、以下のようなコマンド入力を促します:
.Ip "h" 12 4
ヘルプメッセージを出力する。
.Ip "T" 12 4
スタックトレース。
.Ip "s" 12 4
シングルステップ。
次の文の始めに達するまでを実行します。
.Ip "n" 12 4
次。
サブルーチンコール内では止まらずに、次の文に達するまで実行します。
.Ip "f" 12 4
終了。
現在のサブルーチンが終了するまで、文を実行し続けます。
.Ip "c" 12 4
継続。
次のブレークポイントに達するまで実行します。
.Ip "c line" 12 4
指定した行まで実行します。
指定した行に、一回きりのブレークポイントを挿入します。
.Ip "<CR>" 12 4
最後に実行した n または s を繰り返します。
.Ip "l min+incr" 12 4
min 行目から incr+1 行を表示します。
min を省略すると、最後に表示した残りから始めます。
incr を省略すると、前回の incr 値が使われます。
.Ip "l min-max" 12 4
指定範囲内の行を表示します。
.Ip "l line" 12 4
指定行を表示します。
.Ip "l" 12 4
次のウィンドウを表示します。
.Ip "-" 12 4
前のウィンドウを表示します。
.Ip "w line" 12 4
その行と前後のウィンドウを表示します。
.Ip "l subname" 12 4
サブルーチンを表示します。
長いサブルーチンの場合は、始めの方だけを表示します。
それ以上表示するには、\*(L"l\*(R" を使って下さい。
.Ip "/pattern/" 12 4
正規表現の前方検索。最後の / は省略可能です。
.Ip "?pattern?" 12 4
正規表現の後方検索。最後の ? は省略可能です。
.Ip "L" 12 4
ブレークポイントまたはアクションの設定された行を表示します。
.Ip "S" 12 4
すべてのサブルーチン名を表示します。
.Ip "t" 12 4
トレースモードを on/off するトグル。
.Ip "b line condition" 12 4
ブレークポイントをセットします。
line を省略すると、実行されようとしている行にセットされます。
condition が指定されると、
ブレークポイントの文に達する毎に condition が評価され、
condition が真のときだけブレークします。
ブレークポイントは実行文の先頭にだけセットできます。
.Ip "b subname condition" 12 4
ブレークポイントをサブルーチンの最初の実行文にセットします。
.Ip "d line" 12 4
ブレークポイントを削除します。
line を省略すると、実行しようとしている行のブレークポイントが
削除されます。
.Ip "D" 12 4
すべてのブレークポイントを削除します。
.Ip "a line command" 12 4
行にアクションをセットします。
バックスラッシュの直後に改行すれば、複数行コマンドも入力できます。
.Ip "A" 12 4
すべての行のアクションを削除します。
.Ip "< command" 12 4
デバッガがプロンプトを出す前に実行するアクションをセットする。
バックスラッシュの直後に改行すれば、複数行コマンドも入力できます。
.Ip "> command" 12 4
コマンドを入力してスクリプト実行に移る時に、
プロンプトの後に実行するアクションをセットします。
バックスラッシュの直後に改行すれば、複数行コマンドも入力できます。
.Ip "V package" 12 4
パッケージ内のすべての変数をリストします。
デフォルトは、メインパッケージです。
.Ip "! number" 12 4
デバッグコマンドの再実行を行ないます。
number が省略されると、直前のコマンドを再実行します。
.Ip "! -number" 12 4
幾つか前のコマンドを再実行します。
.Ip "H -number" 12 4
最後の n 個のコマンドを表示します。
1 文字より長いコマンドをリストします。
number を省略すると、すべてをリストします。
.Ip "q or ^D" 12 4
終了します。
.Ip "command" 12 4
コマンドを perl の文として実行します。
足りないセミコロンは補われます。
.Ip "p expr" 12 4
\*(L"print DB'OUT expr\*(R" と同じことです。
DB'OUT ファイルハンドルは、どこに STDOUT がリダイレクトされているか
に関わらず、/dev/tty にオープンされます。
.PP
デバッガを変更したいときは、perldb.pl ファイルを perl のライブラリ
から、カレントディレクトリにコピーして、必要に応じて修正して下さい。
(コマンドラインに -I. を付けなければならないでしょう。)
初期化コードを含む .perldb ファイルを設定することで、カスタマイズが
できます。例えば、以下のようなエイリアスを作ることができます:
.nf
$DB'alias{'len'} = 's/^len(.*)/p length($1)/';
$DB'alias{'stop'} = 's/^stop (at|in)/b/';
$DB'alias{'.'} =
's/^\e./p "\e$DB\e'sub(\e$DB\e'line):\et",\e$DB\e'line[\e$DB\e'line]/';
.fi
.Sh "setuid スクリプト"
.I perl
は、安全な setuid スクリプトや setgid スクリプトを簡単に書けるように
デザインされています。
スクリプトの各行が何回も置換されるシェルとは違って、
.I perl
は、隠された \*(L"わけの判らないもの\*(R" を少なくして、より伝統的な
評価機構を使っています。
それに加え、この言語は組み込み機構をより多く備えていて、目的を達成する
ために外部の (すなわち信頼できない可能性がある) プログラムに
頼らなければならないことは、ほとんどありません。
.PP
パッチが当たっていない 4.2 または 4.3bsd カーネルでは、
setuid スクリプトは本質的に危険をはらんでいますが、このカーネルの
機能は無効にできます。
この場合、
perl スクリプトに (無意味な) setuid/gid ビットが付いていると、
.I perl
は setuid と setgid 機構をエミュレートできます。
カーネルの機能が無効でない場合、
.I perl
は setuid スクリプトが安全でないことをうるさく訴えるでしょう。
カーネルの setuid スクリプト機能を無効にするか、そうでなければ
スクリプトに C のラッパをかぶせる必要があるでしょう。
.PP
perl が setuid スクリプトを実行しているとき、明らかなトラップに
はまらないように特別な注意を払います。
(いくつかの点で、perl スクリプトは同等の C プログラムより安全です。)
コマンドライン引数と環境変数と入力は、\*(L"汚れ\*(R" とみなされ、
サブシェルを起動するコマンドや、ファイル、ディレクトリ、プロセスを
変更するようなコマンドの中では、直接にも間接的にも使われません。
それ以前に汚れた値を参照したような式の中でセットされた変数も、
また汚れていることなります。
(汚れた値が変数に影響することが、たとえ論理的に不可能だとしても)
.br
例えば:
.nf
.ne 5
$foo = shift; # $foo は汚れています
$bar = $foo,\'bar\'; # $bar も汚れています
$xxx = <>; # 汚れています
$path = $ENV{\'PATH\'}; # 汚れていますが、以下を見て下さい
$abc = \'abc\'; # 汚れていません
.ne 4
system "echo $foo"; # 危険です
system "/bin/echo", $foo; # 安全です (shを使わないので)
system "echo $bar"; # 危険です
system "echo $abc"; # PATH がセットされるまで、
# 安全ではありません
.ne 5
$ENV{\'PATH\'} = \'/bin:/usr/bin\';
$ENV{\'IFS\'} = \'\' if $ENV{\'IFS\'} ne \'\';
$path = $ENV{\'PATH\'}; # 汚れていません
system "echo $abc"; # もはや汚れていません!
.ne 5
open(FOO,"$foo"); # OK
open(FOO,">$foo"); # 駄目です
open(FOO,"echo $foo|"); # 駄目だけど..
open(FOO,"-|") || exec \'echo\', $foo; # OK
$zzz = `echo $foo`; # 危険。 zzz は汚れてます。
unlink $abc,$foo; # 危険
umask $foo; # 危険
.ne 3
exec "echo $foo"; # 危険
exec "echo", $foo; # 安全 (sh を使いません)
exec "sh", \'-c\', $foo; # 安全と見なされてしまう、嗚呼
.fi
汚れは、各スカラ値と関係するので、配列の要素は汚れているものも、
汚れていないものもあります。
.PP
何か安全でないことをしようとすると、
\*(L"Insecure dependency\*(R" とか \*(L"Insecure PATH\*(R" というような
致命的エラーになります。
それでも、危険なシステムコールや exec を書くことができますが、
上記の最後の例のようなことを明示的に行なった場合に限るということを
覚えておいて下さい。
サブパターンを参照することでも、汚れの機構を避けることが
できます \*(--\c
.I perl
は、$1, $2 などを使った部分文字列の参照では、自分のしていることを
知っているはずだと解釈します。
次のようなパターンの場合です:
.nf
$ARGV[0] =~ /^\-P(\ew+)$/;
$printer = $1; # 汚れていません
.fi
これは、\ew+ がシェルのメタキャラクタにマッチしないので、
まず安全です。 .+ を使うと危険でしょうが、
.I perl
はそこまで調べないので、パターン指定には注意を払うべきです。
これは、ファイル操作をしたいときに ($> を $< と同じにしなければ) 、
ユーザが与えるファイル名を汚さないための唯一の機構です。
.PP
汚れた値を使うことを気にしないような他の操作でもトラブルを起こす場合が
あります。
ユーザが与えたファイル名を扱うファイルテストは、慎重に使って下さい。
できれば、$> = $< というようにセットした後で open して下さい。
.I perl
では、汚れたファイルをオープンして読みだすことが制限されないので、
出力する内容については注意して下さい。
汚れの機構は、ばかな間違いを防ぐように作られているのであって、
考える必要がなくなるようにするためではありません。
.SH 環境
.Ip HOME 12 4
chdir に引数がないときに使われます。
.Ip LOGDIR 12 4
chdir に引数が無く、HOME がセットされていないときに使われます。
.Ip PATH 12 4
サブプロセスを実行するとき、および \-S が使われたときは
スクリプトを探す際に使われます。
.Ip PERLLIB 12 4
標準ライブラリやカレントディレクトリを見る前に、perl ライブラリ
ファイルを探すディレクトリのコロン区切りのリストです。
.Ip PERLDB 12 4
デバッガコードを得るのに使われるコマンドのことです。セットされて
いないと、
.br
require 'perldb.pl'
を使います。
.PP
これらを別にすると、
.I perl
は、スクリプト実行時と子プロセスに渡された環境変数しか使いません。
しかし、setuid で走っているスクリプトは、だまされないようにするために
何より先に以下の行を実行しておいた方が良いでしょう:
.nf
.ne 3
$ENV{\'PATH\'} = \'/bin:/usr/bin\'; # 必要なパスを入れましょう
$ENV{\'SHELL\'} = \'/bin/sh\' if $ENV{\'SHELL\'} ne \'\';
$ENV{\'IFS\'} = \'\' if $ENV{\'IFS\'} ne \'\';
.fi
.SH 作者
Larry Wall <lwall@netlabs.com>
.br
MS-DOS への移植 Diomidis Spinellis <dds@cc.ic.ac.uk>
.SH 関連ファイル
/tmp/perl\-eXXXXXX
.B \-e
コマンドのためのテンポラリファイル
.SH 関連項目
a2p awk から perl への変換プログラム
.br
s2p sed から perl への変換プログラム
.SH 診断
コンパイルエラーは、エラーの行番号と次にあるべきトークンか、または
調べられたトークンの型を教えてくれます。
(
.B \-e
スイッチで
.I perl
に渡されたスクリプトの場合、各
.B \-e
が一行に数えられます。)
.PP
setuid スクリプトには、更に \*(L"Insecure dependency\*(R" のような
エラーメッセージを生じるという制約があります。
setuid スクリプトのセクションを参照して下さい。
.SH トラップ
.IR awk
に慣れたユーザは、以下のことに特に注意を払わなければなりません:
.Ip * 4 2
.I perl
では、(ブロックの終わりを除く) すべての単文の後にセミコロンが必要です。
改行は文の区切りではありません。
.Ip * 4 2
if や while には、中括弧 {} が必要です。
.Ip * 4 2
.IR perl
では、変数は $ か @ で始まります。
.Ip * 4 2
配列の添字は、$[ をセットしなければ 0 で始まります。
substr() と index() の文字位置も同様です。
.Ip * 4 2
配列の添字が数字であるか文字列であるかを決めなければなりません。
.Ip * 4 2
連想配列は、参照するだけでは存在することになりません。
.Ip * 4 2
比較の際には、文字列比較か、数値比較かを決めなければなりません。
.Ip * 4 2
入力行を読み込んだだけでは、split は行なわれません。自分で split して、
配列に入れなければなりません。
そして、
.I split
演算子は、異なる引数を取ります。
.Ip * 4 2
現在の入力行は、通常 $0 ではなく $_ です。
一般に改行コードは除かれません。
($0 は実行されたプログラム名です。)
.Ip * 4 2
$<数字> は、フィールドの参照ではありません\*(--最後にマッチした
パターンの部分文字列を参照します。
.Ip * 4 2
.I print
文は $, と $\e を設定しなければ、フィールド区切りやレコード区切りを
出力しません。
.Ip * 4 2
ファイルに出力する前には、オープンしなければなりません。
.Ip * 4 2
範囲演算子は \*(L".\|.\*(R" であって、コンマではありません。
(コンマ演算子は、C と同じ動作です。)
.Ip * 4 2
マッチ演算子は、\*(L"~\*(R" でなく \*(L"=~\*(R" です。
(\*(L"~\*(R" は C と同じく補数の演算子です。)
.Ip * 4 2
指数演算子は、\*(L"^\*(R" でなく \*(L"**\*(R" 演算子です。
(\*(L"^\*(R" は、C と同じく XOR 演算子です。)
.Ip * 4 2
結合演算子は \*(L".\*(R" であり、ヌル文字列ではありません。
(ヌル文字列を使うと 3 番目の / が除算演算子と解釈されるため、
\*(L"/pat/ /pat/\*(R" が解析不能になります。\*(--トークン解析は、実際
のところ /, ?, < のような演算子ではコンテキストにやや敏感です。
そして、実は、. 自身は数字の始めになり得ます。)
.Ip * 4 2
.IR next ,
.IR exit,
.I continue
の動作は異なります。
.Ip * 4 2
次の変数の動作は異なります。
.nf
Awk \h'|2.5i'Perl
ARGC \h'|2.5i'$#ARGV
ARGV[0] \h'|2.5i'$0
FILENAME\h'|2.5i'$ARGV
FNR \h'|2.5i'$. \- 何か
FS \h'|2.5i'(何でもよい)
NF \h'|2.5i'$#Fld かそのようなもの
NR \h'|2.5i'$.
OFMT \h'|2.5i'$#
OFS \h'|2.5i'$,
ORS \h'|2.5i'$\e
RLENGTH \h'|2.5i'length($&)
RS \h'|2.5i'$/
RSTART \h'|2.5i'length($\`)
SUBSEP \h'|2.5i'$;
.fi
.Ip * 4 2
疑わしいときは、
.I awk
のプログラムを a2p に通して、出て来たもの見て下さい。
.PP
C に洗脳されたプログラマは、次のことを特に心に留めておかなければなりま
せん:
.Ip * 4 2
if や while には、中括弧 {} が必要です。
.Ip * 4 2
\*(L"else if\*(R" でなく、\*(L"elsif\*(R" を使わなければなりません。
.Ip * 4 2
.I break
.I continue
は、それぞれ
.I last
.IR next
になります。
.Ip * 4 2
switch 文はありません。
.Ip * 4 2
.IR perl
では、
変数は $ か @ で始まります。
.Ip * 4 2
printf には * は実装されていません。
.Ip * 4 2
コメントは、/* でなく # で始まります。
.Ip * 4 2
何者のアドレスを得ることもできません。
.Ip * 4 2
ARGV は大文字でなければなりません。
.Ip * 4 2
link, unlink, rename 等のシステムコールは、成功時に 0 でな
く、非 0 を返します。
.Ip * 4 2
シグナルハンドラは、数字ではなくシグナル名を扱います。
.PP
経験豊かな
.I sed
プログラマは、次のことを心に留めておかなければなりません:
.Ip * 4 2
置換の後方参照では、\e でなく $ を使います。
.Ip * 4 2
パターンマッチメタキャラクタ (, ), | の前にはバックスラッシュをつけません。
.Ip * 4 2
範囲演算子は、コンマでなく .\|. です。
.PP
鋭い shell プログラマは、次のことを心に留めておかなければなりません:
.Ip * 4 2
`` 演算子のコマンド内では、'' にくくられていないと変数置換が行なわれます。
.Ip * 4 2
`` 演算子は csh と違って、戻り値の変換をしません。
.Ip * 4 2
シェル (特に csh) は、各コマンド行で複数レベルの置換を行ないます。
.I perl
は、"", ``, <>, // のような決まった構造においてのみ、置換が行なわれます。
.Ip * 4 2
シェルは、スクリプトを一度に少しだけ解釈します。
.I perl
は、すべてのプログラムを実行前にコンパイルします。
.Ip * 4 2
引数は、$1, $2,.. ではなく、@ARGV を介して利用できます。
.Ip * 4 2
環境は、変数として自動的に利用可能とはなりません。
.SH 訂正と追加
perl の本、
.I Programming\0Perl
には以下のような省略と抜けがあります。
.PP
5 ページの例
.nf
eval "/usr/bin/perl
は、以下でなければいけません。
eval "exec /usr/bin/perl
.fi
.PP
195 ページの System V の sum 相当のプログラムは、極めて小さなファイル
でしか動作しません。大きなファイルでは、以下を使って下さい。
.nf
undef $/;
$checksum = unpack("%32C*",<>) % 32767;
.fi
.PP
alarm と sleep に関する記述は、シグナル SIGALARM と言っていますが、
SIGALRM でなければなりません。
.PP
$/ の初期値をセットする
.B \-0
スイッチは、この本が出版後に perl に追加されました。
.PP
.B \-l
スイッチでは、自動行末処理を行なうようになっています。
.PP
qx// 構造は バックスラッシュ `` と同義です。
.PP
$0 は、
.I ps (1)
の引数表示を変更するために、代入可能となりました。
.PP
新しい @###.## フォーマットは、フォーマットの記述から
偶然省略されました。
.PP
s///ee が置換式の多重評価を生じることが、出版時に
知られていませんでした。これは、仕様と解釈されるべきです。
.PP
(LIST) x $count は、配列の繰り返しを実行します。
.PP
正規表現には、括弧の数に制限がなくなっています。
.PP
ダブルクォート "" のコンテキストでは、更に以下のエスケープがサポート
されています:
\ee, \ea, \ex1b, \ec[, \el, \eL, \eu, \eU, \eE
最後の 5 つの制御コードは、大文字小文字の変換です。
.PP
.B $/
変数には、複数の区切り文字をセットできます。
.PP
通常のパターンマッチに g 修飾子が使えます。
これにより、文字列から複数のマッチを検索することで、
パターンマッチを繰り返します。
.PP
$^T を除いて、すべての $^X 変数が増えてます。
.PP
FILEHANDLE に対するデフォルトのページ先頭フォーマットは、top でなく
FILEHANDLE_TOP になっています。
.PP
eval {} と sort {} 構造は、version 4.018 で追加されました。
.PP
pack と unpack の v と V (リトルエンディアン) テンプレートオプションは、
vertion 4.019 で追加されました。
.SH バグ
.PP
.I perl
型のキャスト、atof() 、sprintf() のようないろいろな操作は、
マシンの定義に左右されます。
.PP
あるストリームで、stdio が各 read や write の間に seek や eof を
必要とする場合、
.IR perl
はそのようにします。
(これは、sysread() と syswrite() には適用されません。)
.PP
どの組み込みデータタイプも勝手なサイズ制限は持っていません
(メモリサイズは別です) が、それでもいくらかは限界はあります:
識別子は 255 文字以上にはできませんし、
\-S を使うとき、PATH の要素は 255 を超えてはいけません。
正規表現は、内部的に 32767 バイトを超えられません。
.PP
.I perl
は、実は
病理学的折衷主義のがらくたリスター (Pathologically Eclectic Rubbish Lister)
なんですが、私がそう言ったとは誰にも話さないで下さい。
.rn }` ''
diff --git a/ja/man/man1/pkg_add.1 b/ja/man/man1/pkg_add.1
index 0f56694470..02565824f4 100644
--- a/ja/man/man1/pkg_add.1
+++ b/ja/man/man1/pkg_add.1
@@ -1,422 +1,422 @@
.\"
.\" FreeBSD install - a package for the installation and maintainance
.\" of non-core utilities.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" Jordan K. Hubbard
.\"
.\"
.\" @(#)pkg_add.1
-.\" %Id: pkg_add.1,v 1.17.2.9 1998/07/18 11:11:38 jkh Exp %
+.\" %Id: pkg_add.1,v 1.26 1998/07/14 08:27:58 jkoshy Exp %
.\" jpman %Id: pkg_add.1,v 1.3 1997/06/09 04:19:05 jsakai Stab %
.\"
.Dd November 25, 1994
.Dt pkg_add 1
.Os FreeBSD
.Sh 名称
.Nm pkg_add
.Nd ソフトウェア配布パッケージをインストールするプログラム
.Sh 書式
.Nm
.Op Fl vInfRMS
.Op Fl t Ar template
.Op Fl p Ar prefix
.Ar pkg-name [pkg-name ...]
.Sh 解説
.Nm
コマンドは、
.Xr pkg_create 1
コマンドにより作成されたパッケージを展開するのに用いられます。
.Sh 警告
.Bf -emphasis
.Nm
コマンドはパッケージファイルに含まれるスクリプトやプログラムを
実行することがあるので、あなたのシステムは、危険な配布ファイルを
作る極悪人からの「トロイの木馬」や他の巧妙な攻撃などを受ける
可能性があります。
.Pp
パッケージファイルを提供する人物の能力と身元を確認するとよいでしょう。
より進んだ安全のためには、パッケージを展開するのに
.Fl M
フラグを用い、その内容と、スクリプトがシステムに害をおよぼさないかを
確認します。
+INSTALL 、 +DEINSTALL 、 +REQUIRE 、 +MTREE_DIRS の各ファイルには
特に注意を払い、+CONTENTS ファイルの
.Cm @cwd
.Cm @mode
(setuid をチェック)、
.Cm @dirrm
.Cm @exec
.Cm @unexec
ディレクティブを調べてください。
パッケージファイルを調べるのには
.Xr pkg_info 1
コマンドも使えます。
.Ef
.Sh オプション
以下のコマンドラインオプションが提供されています:
.Bl -tag -width indent
.It Ar pkg-name [... pkg-name]
指定されたパッケージがインストールされます。
- という名前が指定されると、
.Nm
は stdin から読み込みます。
パッケージがカレントディレクトリに見つからないと、
.Nm
.Ev PKG_PATH
で指定された各ディレクトリを探します。
.It Fl v
饒舌な出力に切り替えます。
.It Fl I
パッケージにインストール用スクリプトが存在しても、それを実行しません。
.It Fl n
実際にはインストールを行わず、インストールした場合に実行されるであろう
ステップを表示します。
.It Fl R
パッケージのインストール結果を記録しません。
このオプションは、後でアンインストールすることを不可能にするため、
自分が何をしているかを理解している人のみ使ってください。
.It Fl f
あらかじめ必要なパッケージがインストールされていなかったり、
requirements スクリプトが失敗した場合にも強制的にインストールします。
これは
.Nm
が見つからない必要なパッケージを探して自動的にインストールすることを
止めるわけではなく、見つからない場合でも中断しないようにします。
.It Fl p Ar prefix
パッケージからファイルを展開するディレクトリの前に
.Ar prefix
を付けます。
パッケージがデフォルトディレクトリを保持している場合には、
このオプションで変更できます。
.Nm
はディレクトリ設定が相対的に行われているか、絶対的に行われているか
を知る術がないので、最初の
.Cm @cwd
ディレクティブのみが変更されることに注意してください。
複数回のディレクトリ変更が行われることはまれですが、
実際にあった場合、すべてのディレクトリ変更を制御したくなる
でしょう。この場合、
.Cm MASTER
モード、
.Cm SLAVE
モードの使用を検討してみてください (オプション
.Fl M
.Fl S
を参照)。
.It Fl t Ar template
``作業領域'' を作成する際に、
.Xr mktemp 3
への入力として
.Ar template
を用います。
これはデフォルトでは
.Pa /var/tmp/instmp.XXXXXX
という文字列ですが、
.Pa /var/tmp
ディレクトリの容量が制限されているような状況では
変更する必要があるかもしれません。
.Xr mktemp 3
が一意の ID を用いるために必要な `X' の文字をいくつか残しておく
ことを忘れないでください。
.Pp
作業領域
.Ar template
をパッケージファイルがインストールされるディレクトリと同じディスク
パーティションに設定することによって、パフォーマンスを高めることが
可能です (大抵は
.Pa /usr
)。
.It Fl M
.Cm MASTER
モードで実行します。これは
.Nm
のとても特殊な実行モードであり、
.Cm SLAVE
モードと共に実行しなければなりません。
このモードで実行されると、
.Nm
は一時的な作業領域 (
.Fl t
オプションを参照) へパッケージを展開する以上のことはせず、
現在の作業領域ディレクトリ名を頭に付加した packing list を標準出力に
出力します(標準出力は
.Xr sed 1
のようなプログラムにフィルタされているかもしれません)。
.Cm SLAVE
モードと共に用いると、中身を処理する前にパッケージ構造に
大きな変更を加えることが可能になります。
.It Fl S
.Cm SLAVE
モードで実行します。これは
.Nm
のとても特殊な実行モードであり、
.Cm MASTER
モードと共に実行しなければなりません。
このモードで実行されると、
.Nm
はパッケージの内容がすでに作業領域に展開され、その場所が
標準入力から文字列として入力されることを想定します。
完全な packing list も stdin から読み込まれ、その後中身が
通常どおり処理されます。
.El
.Pp
一つ以上の
.Ar pkg-name
引数を指定することが可能で、それらはパッケージを含むファイル名(通常
拡張子 ``.tgz'' で終わります)か、ftp サイトにあるファイルを
示す URL のどちらかになります。
したがって、anonymous ftp から直接ファイルを展開することが
可能です (例えば
.Nm
ftp://ftp.freebsd.org/pub/FreeBSD/packages/shells/bash-1.14.4.tgz
)。
注意: もし上記のような転送で用いる ftp で
.Bf -emphasis
passive mode
.Ef
を利用したいなら、環境変数
.Bf -emphasis
FTP_PASSIVE_MODE
.Ef
に何らかの値を設定する必要があります。
そうでなければ、より一般的な ACTIVE モードが利用されます。
もしうまく動作していることがわかっているサイトからパッケージを
得ようとして
.Nm
が常に失敗する場合、あなたが
.Bf -emphasis
passive mode
.Ef
の ftp を使う必要のあるファイアウォールの中にいるのが原因である場合が
あります。
.Sh 技術詳細
.Nm
はきわめて単純です。各パッケージの "packing list" を
特別な作業ディレクトリに展開し、
中身を解析し、内容を完全に展開するために
以下の手順を実行します:
.Bl -enum -indent indent
.It
パッケージがすでにインストールされている、と記録されているかどうかを
チェックします。もしそうならインストールを中断します。
.It
.Cm @pkgdep
ディレクティブ (
.Xr pkg_create 1
を参照) による
パッケージのすべての依存関係をチェックし、各々が存在するかどうかを
確認します。もし存在しなければ、足りないパッケージを見つけて自動的に
インストールしようとします。もし見つからなければ、
インストールを中断します。
.It
パッケージがどのようにシステムに追加されるかを制御する
.Cm @option
ディレクティブを検索します。このマニュアルページを書いている時点では、
実装されているオプションは
.Cm @option extract-in-place
のみであり、これは
.Pa /tmp
内の作業領域を経由しないで、
パッケージを最終的なディレクトリに直接展開するようにします。
.It
.Cm @option extract-in-place
が指定されていれば、パッケージは最終的な場所に直接展開され、
そうでなければ作業領域内に展開されます。
.It
パッケージが
.Ar require
ファイル (
.Xr pkg_create 1
を参照) を含んでいる場合、そのファイルを以下の引数を付けて実行します:
.Bd -filled -offset indent -compact
.Ar pkg-name
.Ar INSTALL
.Ed
ここで
.Ar pkg-name
は問題としているパッケージの名前であり、
.Ar INSTALL
キーワードはインストールの requirements チェックであることを
示しています (これは複数の機能を提供するひとつのスクリプトを
用いようとする場合に有用です)。
.It
パッケージに
.Ar install
スクリプトが存在する場合、以下の引数を付けて実行されます:
.Bd -filled -offset indent -compact
.Ar pkg-name
.Ar PRE-INSTALL
.Ed
ここで
.Ar pkg-name
は問題としているパッケージの名前であり、
.Ar PRE-INSTALL
はこれがインストール前のステップであることを示すキーワードです。
.It
.Cm @option extract-in-place
が指定されていない場合、packing list (
.Pa +CONTENTS
ファイル) が作業領域から最終的な場所に
ファイルを移動 (必要ならコピー) するために参照されます。
.It
パッケージが
.Ar mtreefile
ファイル (
.Xr pkg_create 1
を参照) を含む場合、mtree が以下の引数を付けて実行されます:
.Bd -filled -offset indent -compact
.Cm mtree
.Fl u
.Fl f
.Ar mtreefile
.Fl d
.Fl e
.Fl p
.Pa prefix
.Ed
ここで
.Pa prefix
.Fl p
フラグが指定されていればその prefix、
.Fl p
フラグが指定されていない場合にはこのパッケージの最初の
.Cm @cwd
ディレクティブのディレクトリ名が prefix になります。
.It
パッケージに
.Ar install
スクリプトが含まれる場合、
.Bd -filled -offset indent -compact
.Cm script
.Ar pkg-name
.Ar POST-INSTALL
.Ed
として実行されます。これによりインストール前とインストール後の
両方の手続きをこなす一つの
.Ar install
スクリプトを用いることが可能になります。
.It
インストールが終了すると、後で
.Xr pkg_delete 1
で使うために packing list 、
.Ar deinstall
スクリプト、 description 、 display の各ファイルが
.Pa /var/db/pkg/<pkg-name>
にコピーされます。
パッケージの依存関係は、他のパッケージの
.Pa /var/db/pkg/<other-pkg>/+REQUIRED_BY
ファイル (PKG_DBDIR 環境変数が設定してある場合、上記の
.Pa /var/db/pkg/
が置き換えられます) に記録されます。
.It
最後に、作業領域が削除されプログラムは終了します。
.El
.Pp
すべてのスクリプトは環境変数
.Ev PKG_PREFIX
にインストール時の prefix (
前述の
.Fl p
オプションを参照) が設定された状態で実行されます。
このことにより、パッケージの作者は
.Cm pkg_add
.Fl p
フラグによりパッケージがインストールされるディレクトリが
変更されても、きちんとふるまうスクリプトを書くことが可能になります。
.Sh 環境変数
.Ev PKG_PATH
の値は、指定されたパッケージが見つからない時に用いられます。
環境変数はコロンで区切られた一連のエントリです。
各エントリはディレクトリ名からなります。
カレントディレクトリは空欄のディレクトリ名で暗黙のうちに指定されるか、
一つのピリオドで明示的に指定します。
.Pp
環境変数
.Ev PKG_DBDIR
は、インストールされたパッケージについてのデータベースの位置を指定します。
.Pp
.Nm
が作業領域の生成を試みる作業用ディレクトリの名前は、環境変数
.Ev PKG_TMPDIR
.Ev TMPDIR
とから(この順で)取られます。
これらの変数が存在しないか、指定されたディレクトリに十分な空き容量が
ない場合、
.Nm
は、
.Pa /var/tmp
.Pa /tmp
.Pa /usr/tmp
のうちで、十分な空き容量を持つ最初のディレクトリを使います。
.Sh ファイル
.Bl -tag -width /var/db/pkg -compact
.It Pa /var/tmp
環境変数
.Ev PKG_TMPDIR
.Ev TMPDIR
のどちらも適切なディレクトリを指定しない場合に、作業領域を作成するため
に用いる作業用ディレクトリ。
.It Pa /tmp
.Pa /var/tmp
が存在しないか、十分な空き容量を持たない場合、その次に選ばれる
ディレクトリ。
.It Pa /usr/tmp
.Pa /var/tmp
.Pa /tmp
のどちらも作業領域を作成するには適切でない場合、最後に選ばれる
ディレクトリ。
.It Pa /var/db/pkg
インストールされたパッケージについてのデータベースのデフォルトの位置。
.El
.Sh 関連項目
.Xr pkg_create 1 ,
.Xr pkg_delete 1 ,
.Xr pkg_info 1 ,
.Xr mktemp 3 ,
.Xr sysconf 3 ,
.Xr mtree 8
.Sh 作者
.An Jordan Hubbard
最初の仕事およびそれに続く開発。
.An John Kohl
NetBSD 向け改良。
.El
.Sh バグ
配布物のファイル間のハードリンクは、
(1) 作業領域が、ファイルへのすべてのリンクの最終的な
ディレクトリと同じファイルシステムの場合もしくは、
(2) ファイルへのすべてのリンクが contents ファイル内で
.Cm @cwd
ディレクティブで括られている場合にのみ保存されます。
.Em さらに
その上、リンク名は単一の
.Cm tar
コマンド (
.Fn sysconf _SC_ARG_MAX
により返される値に依存する実行時の引数の長さの制限により、複数の
実行には分割できません) で展開されなければなりません。
.Pp
バグは他にもあるはずです。
diff --git a/ja/man/man1/pkg_create.1 b/ja/man/man1/pkg_create.1
index 0153b3c6f6..03fba472e3 100644
--- a/ja/man/man1/pkg_create.1
+++ b/ja/man/man1/pkg_create.1
@@ -1,441 +1,441 @@
.\"
.\" 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
-.\" %Id: pkg_create.1,v 1.16.2.10 1998/07/18 11:11:43 jkh Exp %
-.\" jpman %Id: pkg_create.1,v 1.3 1997/06/09 10:11:56 jsakai Stab %
+.\" %Id: pkg_create.1,v 1.26 1998/06/26 07:15:37 jkoshy 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.
.\"
+.\" jpman %Id: pkg_create.1,v 1.3 1997/06/09 10:11:56 jsakai Stab %
.Dd April 21, 1995
.Dt pkg_create 1
.Os FreeBSD
.Sh 名称
.Nm pkg_create
.Nd ソフトウェア配布パッケージを作成するプログラム
.Sh 書式
.Nm
.Op Fl YNOhv
.Op Fl P Ar pkgs
.Op Fl p Ar prefix
.Op Fl f Ar contents
.Op Fl i Ar iscript
.Op Fl k Ar dscript
.Op Fl r Ar rscript
.Op Fl s Ar rscript
.Op Fl t Ar template
.Op Fl X Ar excludefile
.Op Fl D Ar displayfile
.Op Fl m Ar mtreefile
.Fl c Ar comment
.Fl d Ar description
.Fl f Ar packlist
.Ar pkg-name
.Sh 解説
この
.Nm
コマンドは、パッケージ展開/情報プログラムに渡されるパッケージを
作成します。
パッケージ作成のために入力する説明とコマンドライン引数
は本来人間が生成することを意図していませんが、
そうすることも簡単にできます。
自力でどうにかすることも可能ですが、作成にはフロントエンドツールを
用いた方がいいでしょう。
とはいうものの、入力書式の概略はこの文書に含まれています。
.Sh オプション
以下のコマンドラインオプションが提供されています:
.Bl -tag -width indent
.It Fl f Ar packinglist
ファイル
.Ar packinglist
から、もしくは
.Ar packinglist
.Cm -
(ダッシュ)であれば
.Cm stdin
から、パッケージ用の ``packing list'' を取得します。
.It Fl c Ar [-]desc
ファイル
.Ar desc
から、もしくは先頭が
.Cm -
で始まっていれば引数自身から、パッケージの ``一行説明'' を取得します。
この文字列は、パッケージが提供するもののバージョンを知る
手がかりとなるべきです。
.It Fl d Ar [-]desc
ファイル
.Ar desc
から、もしくは先頭が
.Cm -
で始まっていれば引数自身から、パッケージの長い説明を取得します。
.It Fl Y
質問に対してのデフォルトの解答を `Yes' とします。
.It Fl N
質問に対してのデフォルトの解答を `No' とします。
.It Fl O
`packing list Only' モードに移行します。
これは
.Em "FreeBSD Ports Collection"
のための特別な修正であり、port がインストールされる時の
`fake pkg_add' を行うために用いられます。
このような場合には、調整された最終的な packing list が
どのようなものになるかを知る必要があるのです。
.It Fl v
饒舌な出力に切り替えます。
.It Fl h
tar がシンボリックリンクをたどるようにします。
この結果、リンク自身ではなくリンク先のファイルが出力されます。
.It Fl i Ar iscript
パッケージのインストール手続きとして
.Ar iscript
を用います。
これは実行可能なプログラム (もしくはシェルスクリプト) なら
なんでも構いません。
これはパッケージがインストールされる時に自動的に起動されます。
.It Fl P Ar pkgs
初期のパッケージ依存リストとして
.Ar pkgs
を用います。
これはホワイトスペースで区切られたパッケージの名前となります。
また、packing list (後述の「PACKING LIST 詳細」セクションを参照)
内の複数の
.Cm @pkgdep
ディレクティブを指定する手っ取り早い方法でもあります。
.It Fl p Ar prefix
パッケージのファイルを選択する際に基準となる初期ディレクトリとして
.Ar prefix
を用います。
.It Fl k Ar dscript
パッケージのアンインストール手続きとして
.Ar dscript
を用います。
これは実行可能なプログラム (もしくはシェルスクリプト) なら
なんでも構いません。
これはパッケージがアンインストールされる時に自動的に起動されます。
.It Fl r Ar rscript
パッケージの ``requirements'' 手続きとして
.Ar rscript
を用います。
これは実行可能なプログラム (もしくはシェルスクリプト) なら
なんでも構いません。
これはインストール時、アンインストール時に自動的に起動され、
インストール、アンインストールを継続するべきかどうかを決定するのに
用いられます。
.It Fl s Ar srcdir
パッケージ作成中に
.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
最終的にパッケージを作成する際に、
.Ar excludefile
.Cm tar
.Fl exclude-from
引数として渡します。
このオプションを使うにあたっての詳しい情報は、
.Cm tar
のマニュアルページ (もしくは
.Fl -help
引数を付けて
.Cm tar
を実行) を参照してください。
.It Fl D Ar displayfile
パッケージをインストールした後にファイルを (
.Xr more 1
を用いて) 表示します。
「ほとんど free なソフトウェア」などにおいて、
法的な通知のようなものなどに便利でしょう。
.It Fl m Ar mtreefile
パッケージがインストールされる前に、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
ディレクティブにより名付けられた最初のディレクトリの名前)。
.El
.Pp
.Sh PACKING LIST 詳細
``packing list'' の書式 (
.Fl f
を参照) は単純で、パッケージに含めるファイル名を一行につきひとつずつ
並べたものにすぎません。
どこにインストールされるかわからないパッケージに対して絶対パスを
用いるのは一般的に悪い方法なので、
どこにインストールされることを想定しているのか、
そしてどんな 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
に設定します。
パッケージ作成時に
.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"
完全な(フルパスの)ファイル名の ``basename'' へ置換されます。
これはカレントディレクトリプレフィックスに最後の filespec を
加え、末尾のファイル名部分を除いたものです。
この例では、
.Pa /usr/local/bin
になります。
.It Cm "%f"
完全な (フルパスを含む) ファイル名の ``filename'' 部分へ置換されます。
.Cm %B
と対応していて、この例では
.Pa emacs
となります。
.El
.It Cm @unexec Ar command
アンインストール処理の一環として
.Ar command
を実行します。特別な
.Cm %
文字列の置換は
.Cm @exec
と同様です。
このコマンドは
.Cm @exec
のようにパッケージを加える際に実行されるのではなく、パッケージが
削除されるときに実行されます。
これは、パッケージを加えるときに作られたリンクや他の
付随ファイル (パッケージの内容一覧に記されているファイルは自動的に
削除されるので除く) を削除するのに便利です。
アンインストールスクリプトよりも
.Cm @unexec
を用いる方が有利な点は、どこにインストールされているかわからない (
.Fl p
を参照) ファイルの場所を得るのに ``特殊文字列置換'' を用いることが
可能なことです。
.It Cm @mode Ar mode
この後で展開されるすべてのファイルのデフォルトの許可属性を
.Ar mode
に設定します。
書式は
.Cm chmod
コマンドで用いられているものと同じです (というよりも、そのまま
渡されています)。
引数無しで用いると、デフォルトの(展開)許可属性に戻します。
.It Cm @option Ar option
内部用パッケージオプションを設定します。
現在二つのオプションのみがサポートされています。
ひとつは
.Ar extract-in-place
で、これは pkg_add コマンドにパッケージの tarball を
staging area に展開せずに、目的の階層に直接展開するよう指示します
(これは主に配布物や他の特殊なパッケージなどに用いられます)。
もうひとつは
.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
パッケージの名前を設定します。
これは必須項目であり、通常先頭に置かれます。
この名前はパッケージが提供するファイルの名前とは異なる可能性があり、
後でアンインストールする時のために
パッケージの記録を残しておくのに使われます。
名前が指定されなかった場合には、
.Nm
はパッケージ名から推定し、自動的に設定することに注意してください。
.It Cm @dirrm Ar name
ディレクトリ
.Pa name
がアンインストール時に削除されるよう宣言します。デフォルトでは、
パッケージのインストール時に作成されたディレクトリは
アンインストール時には削除されませんが、このディレクティブは明示的な
ディレクトリ削除方法を提供します。
このディレクティブはパッケージリストの最後で用いるようにしてください。
一つ以上の
.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
パッケージ
.Ar pkgname
に依存することを宣言します。
パッケージ
.Ar pkgname
はこのパッケージがインストールされる前にインストールされていなければ
ならず、またこのパッケージはパッケージ
.Ar pkgname
がアンインストールされる前にアンインストールされなければなりません。
パッケージが複数のパッケージに依存する場合には、複数の
.Cm @pkgdep
ディレクティブが用いられます。
.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 sysconf 3
.Sh 歴史
.Nm
コマンドは
.Bx Free
で最初に登場しました。
.Sh 作者
.An Jordan Hubbard
ほとんどの仕事
.An John Kohl
NetBSD 向け修正
.El
.Sh バグ
パッケージが展開される際にハードリンクを保存しておくために、
配布物のファイル間でのハードリンクは
.Cm @cwd
ディレクティブで括られていなければなりません。
その上、実行時の引数の長さの制限 (これは
.Fn sysconf _SC_ARG_MAX
により返される値に依存します) のために、それらのハードリンクは単一の
.Cm tar
実行内で行われなければなりません。
.Pp
バグは他にもあるはずです。
diff --git a/ja/man/man1/pkg_info.1 b/ja/man/man1/pkg_info.1
index 0d76a25edc..c741429abd 100644
--- a/ja/man/man1/pkg_info.1
+++ b/ja/man/man1/pkg_info.1
@@ -1,173 +1,173 @@
.\"
.\" 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_info.1
-.\" %Id: pkg_info.1,v 1.11.2.7 1998/07/18 11:11:52 jkh Exp %
+.\" %Id: pkg_info.1,v 1.18 1998/07/14 08:28:15 jkoshy Exp %
.\" jpman %Id: pkg_info.1,v 1.3 1997/06/08 14:11:48 jsakai Stab %
.\"
.Dd November 25, 1994
.Dt pkg_info 1
.Os FreeBSD
.Sh 名称
.Nm pkg_info
.Nd ソフトウェア配布パッケージの情報を表示するプログラム
.Sh 書式
.Nm pkg_info
.Op Fl cdDikrRpLqImv
.Op Fl e Ar package
.Op Fl l Ar prefix
.Ar pkg-name [pkg-name ...]
.Nm pkg_info
.Fl a
.Op Ar flags
.Sh 解説
.Nm
コマンドはファイル中に納められたパッケージや
.Xr pkg_create 1
によりすでにシステムにインストールされたパッケージの情報を表示するために
用いられます。
.Sh オプション
以下のコマンドラインオプションが提供されています。
.Bl -tag -width indent
.It Ar pkg-name ...
指定されたパッケージが表示されます。指定されるのはイントール済みの
パッケージの名前か、パッケージ配布ファイルへのパス、ftp 可能な
パッケージへの URL のいずれかになります。
.It Fl a
現在インストールされているすべてのパッケージを表示します。
.It Fl v
饒舌な出力に切り替えます。
.It Fl p
各パッケージのインストール用 prefix を表示します。
.It Fl q
レポートヘッダのような情報を出力する際に余分な出力を省略し、
生の情報のみ出力します (基本的に人が読みやすいものではありません)。
.It Fl c
各パッケージの (一行) コメントフィールドを表示します。
.It Fl d
各パッケージの長い説明フィールドを表示します。
.It Fl D
各パッケージのインストールメッセージファイルを表示します。
.It Fl f
各パッケージの packing list instructions を表示します。
.It Fl i
もしあれば、各パッケージのインストールスクリプトを表示します。
.It Fl I
各パッケージのインデックス行を表示します。このオプションは他のパッケージ
書式整形オプションの全てに優先します。
.It Fl k
もしあれば、各パッケージのアンインストールスクリプト
を表示します。
.It Fl r
もしあれば、各パッケージの requirements スクリプトを表示します。
.It Fl R
(指定した)各パッケージを必要とするパッケージのうちで、インストールされて
いるもののリストを表示します。
.It Fl m
もしあれば、各パッケージの mtree ファイルを表示します。
.It Fl L
各パッケージに含まれるファイルを表示します。
これは packing list をただ見るのとは異なり、
生成されるすべてのフルパス名が表示されます。
.It Fl e Ar pkg-name
.Ar pkg-name
で示されるパッケージが現在インストールされている場合には 0 を
返し、そうでなければ 1 を返します。
このオプションにより、スクリプトから (おそらく必要不可欠な)
他のパッケージの存在を簡単に確認することが可能になります。
.It Fl l Ar str
各 information category header (
.Fl q
を参照) の前に
.Ar str
を付加します。
これは本来、パッケージに関する多くの information fields を一度に
得たいが、そのごっちゃになった出力で混乱したくない、という
フロントエンドプログラムのためにあります。
このオプションで各 field の先頭に特別な文字列を付け加えることが
できます。
.It Fl t Ar template
「作業場所」を作成する際に、
.Xr mktemp 3
への入力として
.Ar template
を用います。
これはデフォルトでは
.Pa /tmp/instmp.XXXXXX
という文字列ですが、
.Pa /tmp
ディレクトリの容量が制限されているような状況では
変更する必要があるかもしれません。
.Xr mktemp 3
が一意の ID を用いるために必要な `X' の文字をいくつか残しておく
ことを忘れないでください。
.Bd -filled -offset indent -compact
Note: pkg_info は各パッケージからとても小さな情報しか
抽出しないので、実際にはこのオプションは必要ありません。
溢れさせるには非常に小さな
.Pa /tmp
でなければならないでしょう。
.Ed
.Sh 技術詳細
パッケージの情報は、コマンドラインから指定されたパッケージのファイル名か、
.Pa /var/db/pkg/<pkg-name>
にあるすでにインストールされたパッケージの情報から抽出されます。
.Sh 環境変数
.Ev PKG_TMPDIR
で、
.Nm
が作業用ファイルを生成するディレクトリを指定します。
この変数が設定されていない場合、
.Ev TMPDIR
が用いられます。両方とも設定されていない場合、
組み込みのデフォルトディレクトリが用いられます。
.Pp
.Ev PKG_DBDIR
で、インストールされたパッケージについてのデータベースの位置を指定します。
.Sh ファイル
.Bl -tag -width /var/db/pkg -compact
.It Pa /var/tmp
環境変数
.Ev PKG_TMPDIR
.Ev TMPDIR
がともに設定されていない場合、もしくはこれらのディレクトリの空き領域が
十分でない場合に用いられます。
.It Pa /tmp
.Pa /var/tmp
が存在しないか、十分な空き領域を持たない場合に、次の選択肢として
用いられます。
.It Pa /usr/tmp
.Pa /tmp
が適切でない場合の最後の選択肢です。
.It Pa /var/db/pkg
インストールされたパッケージについてのデータベースのデフォルトの
位置です。
.El
.Sh 関連項目
.Xr pkg_add 1 ,
.Xr pkg_create 1 ,
.Xr pkg_delete 1 ,
.Xr mktemp 3 ,
.Xr mtree 8
.Sh 作者
.An Jordan Hubbard
ほとんどの仕事
.An John Kohl
NetBSD 向け修正
.El
.Sh バグ
まだあるはずです。
diff --git a/ja/man/man1/pr.1 b/ja/man/man1/pr.1
index f5e6119713..e90729f11d 100644
--- a/ja/man/man1/pr.1
+++ b/ja/man/man1/pr.1
@@ -1,331 +1,331 @@
.\" Copyright (c) 1991 Keith Muller.
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Keith Muller of the University of California, San Diego.
.\"
.\" 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.
.\"
.\" @(#)pr.1 8.3 (Berkeley) 4/18/94
-.\" %Id: pr.1,v 1.2.2.1 1997/08/05 06:31:54 charnier Exp %
+.\" %Id: pr.1,v 1.5 1997/08/04 06:39:19 charnier Exp %
.\" jpman %Id: pr.1,v 1.3 1997/06/30 16:45:20 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt PR 1
.Os BSD 4.4
.Sh 名称
.Nm pr
.Nd ファイルの表示
.Sh 書式
.Nm
.Bk -words
.Op Ar \&+page
.Ek
.Bk -words
.Op Fl Ar column
.Ek
.Op Fl adFmrt
.Bk -words
.Oo
.Op Fl e
.Op Ar char
.Op Ar gap
.Oc
.Ek
.Bk -words
.Op Fl h Ar header
.Ek
.Bk -words
.Oo
.Op Fl i
.Op Ar char
.Op Ar gap
.Oc
.Ek
.Bk -words
.Op Fl l Ar lines
.Ek
.Bk -words
.Op Fl o Ar offset
.Ek
.Bk -words
.Oo
.Op Fl s
.Op Ar char
.Oc
.Ek
.Bk -words
.Oo
.Op Fl n
.Op Ar char
.Op Ar width
.Oc
.Ek
.Bk -words
.Op Fl w Ar width
.Ek
.Op -
.Op Ar file ...
.Sh 解説
.Nm
ユーティリティは、テキストファイルをページ単位に整形し、
出力します。複数の入力ファイルが指定された場合はそれぞれについて読み、
整形し、標準出力に書き出します。デフォルトでは、入力ファイルは
1 ページ 66 行に分割され、各ページに以下のものがつきます。
.sp
.in +2
.ti -2
\(bu ページ番号、日付、時間、ファイルのパス名のついた 5 行のヘッダ
.sp
.ti -2
\(bu 空行からなる 5 行のトレーラ
.in -2
.Pp
標準出力が端末の場合、
.Nm
が処理を完了するまで、診断メッセージを出しません.
.Pp
マルチカラム出力が指定された場合、テキストの各列は同一の幅で出力されます。
デフォルトでテキストの各列は 1 つ以上の
.Em <blank>
で分割されます。入力行がテキストの幅からはみ出るときは切り捨てられます。
単一列の出力の場合は切り捨てられません。
.Sh オプション
.Pp
以下のオプションの記述において、 column, lines, offset, page, width は
10 進の正の整数で、gap は 10 進の負でない整数です。
.Bl -tag -width 4n
.It Ar \&+page
入力を整形したあと、ページ番号
.Ar page
から出力をはじめます。
.It Fl Ar column
.Ar column
列で出力します (デフォルトは 1)。テキストは
入力ファイルから読んだ順に、各列に垂直に書かれます。このオプションを
指定すると、
.Fl e
.Fl i
オプションも指定されたものとみなされます。このオプションは、
.Fl m
と一緒に使用することはできません。
.Fl t
と一緒に使用すると、出力の表示行数が最小になります。
.It Fl a
このオプションは
.Fl column
オプションを変更し、 同一ページで行毎に、順次複数列の出力を行います
(例えば, 列数が 2 の場合、最初の入力行を第 1 列先頭、2 番目の入力行を
第 2 列先頭、3 番目の出力を第一列第 2 行にという具合です)。
このオプションを使うには
.Fl column
オプションの指定が必要です。
.It Fl d
ダブルスペースで出力します。入力に
.Em <newline>
を見つけると、続けて余分な
.Em <newline>
を一つ出力します。
.It Fl e Ar \&[char\&]\&[gap\&]
入力中の各
.Em <tab>
を、式
.Ar n*gap+1
で表される位置のうちの現在位置の次に大きい列位置まで展開します。
この
.Em n
は 0 より大きい整数です。
.Ar gap
が 0 もしくは省略された場合、デフォルトとして 8 が指定されたことになります。
入力中のすべての
.Em <tab>
キャラクタは、適切な個数の
.Em <space>
に展開されます。
数字でない文字
.Ar char
が指定された場合、この文字がその入力のタブキャラクタとして使われます。
.It Fl F
デフォルトの
.Em <newline>
キャラクタシーケンスの代わりに、
改ページに
.Em <form-feed>
キャラクタを使います。
.It Fl h Ar header
ヘッダ行内のファイル名を、文字列
.Ar header
に置き換えます。
.It Fl i Ar \&[char\&]\&[gap\&]
出力において、2 個以上の空白が、
.Ar gap+1
.Ar 2*gap+1
などの列まで連続していた場合に、
この複数の
.Em <space>
.Em <tab>
で置き換えます。
.Ar gap
が 0 もしくは省略された場合、デフォルトとしてタブ位置が 8 列ごとと指定された
ことになります。
数字でない文字
.Ar char
が指定された場合、それがその出力のタブキャラクタとして使われます。
.It Fl l Ar lines
ページ長をデフォルトの 66 行のかわりに
.Ar lines
行にします。
.Ar lines
がヘッダとトレーラの行数の和より大きくないときには、
.Fl t
オプションをつけたときのように、ヘッダとトレーラを出力しません。
.It Fl m
複数のファイルの中身をマージします。引数で指定した各ファイルから
読み込まれた一つの行は、同一の幅で並べて書かれます。テキストの列の数は、
引数で指定したファイルのうちのオープンに成功したものの数になります。
マージするファイルの最大値は、ページ幅とプロセスがオープンできる
ファイルの最大数に依存します。このオプションを指定すると、
.Fl e
.Fl i
オプションも指定されたものとみなされます。
.It Fl n Ar \&[char\&]\&[width\&]
.Ar width
桁の
行番号をつけます。
.Ar width
のデフォルト値は 5 です。
各列の
.Ar width
で指定された位置、 または
.Fl m
による出力の各行に、行番号がつきます。
.Ar char
(数字でない文字)が与えられた場合は、
行番号とテキストの間をその文字で区切ります。
.Ar char
のデフォルトは
.Em <tab>
です。
.Ar width
より長い行番号は
切り詰められます。
.It Fl o Ar offset
出力の各行の先頭には
.Ar offset
個の
.Em <space>
がつきます。
.Fl o
オプションの指定がなければ、デフォルトは 0 になります。
このスペースは出力の幅に追加されます。
.It Fl r
ファイルのオープンに失敗したときのエラーメッセージを出力しません。
.It Fl s Ar char
テキストの各列間を、複数個の
.Em <space>
の代わりに単一の文字
.Ar char
で分割します (
.Ar char
のデフォルトは
.Em <tab>
です)。
.It Fl t
通常ならば各ページに付加される 5 行の識別ヘッダと 5 行のトレーラを
どちらも表示しなくなります。各ファイルの最終行が出力されたあと、
ページの最後までの空白を作らずに、そこで動作をやめてしまいます。
.It Fl w Ar width
マルチカラム出力のために、1 行の幅を
.Ar width
文字分にします。
.Fl w
オプションも
.Fl s
オプションも指定されなかった場合、デフォルト幅は 72 です。
.Fl w
オプションが指定されずに
.Fl s
オプションが指定された場合は、デフォルト幅は 512 になります。
.It Ar file
表示するファイルのパス名です。
.Ar file
が指定されなかった場合、もしくは
.Ar file
.Sq Fl
だった場合は、標準入力が利用されます。
標準入力が使用されるのは、
.Ar file
が指定されなかった場合、もしくは
.Ar file
.Sq Fl
だった場合のみです。
.El
.Pp
.Fl s
オプションでは、オプション文字 (`s') と その引数 (
.Ar char
)
との間を空けることは許されていません。また、
.Fl e ,
.Fl i ,
.Fl n
は両方の引数が必要で、オプション文字と分割できません。
.Sh エラー
.Pp
.Nm
が端末に出力中に割り込みを受け取ると、 保存していたエラーメッセージを
スクリーン上に全てフラッシュしてから終了します。
.Pp
.Nm
ユーティリティは, 正常終了時には 0 を、 エラー終了時には 1 を返します。
.Pp
エラーメッセージは、(出力がリダイレクトされている場合は)整形作業中に、
(端末に出力されている場合は)整形に成功したすべてのファイル出力が完了した後、
標準エラー出力に表示されます。
.Sh 関連項目
.Xr cat 1 ,
.Xr more 1
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2
に準拠しています。
.Sh 歴史
.Nm
コマンドは
.At v1
に登場しました。
diff --git a/ja/man/man1/ps.1 b/ja/man/man1/ps.1
index fafa2dee95..8398e0f570 100644
--- a/ja/man/man1/ps.1
+++ b/ja/man/man1/ps.1
@@ -1,525 +1,527 @@
.\" 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
-.\" %Id: ps.1,v 1.11.2.2 1998/02/18 22:54:59 dima Exp %
+.\" %Id: ps.1,v 1.19 1998/06/04 07:02:59 jkoshy Exp %
.\" jpman %Id: ps.1,v 1.2 1997/05/20 01:19:55 mutoh Stab %
.\"
.Dd April 18, 1994
.Dt PS 1
.Os BSD 4
.Sh 名称
-.Nm \&ps
+.Nm ps
.Nd プロセスの状態の表示
.Sh 書式
-.Nm \&ps
+.Nm ps
.Op Fl aCcefhjlmrSTuvwx
.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
.Op Fl W Ar swap
.br
-.Nm \&ps
+.Nm ps
.Op Fl L
.Sh 解説
-.Nm \&ps
+.Nm ps
は、制御端末を持つ自分(あなた)のプロセスの情報を、
ヘッダ行に続いて表示します。
この情報はプロセス
.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
自分のプロセスに加え自分以外のプロセスの情報も同様に表示します。
.It Fl c
``コマンド'' 桁の出力を、全てのコマンドラインを表示するのではなく、
実行形式名だけを表示するように変更します。
.It Fl C
cpu パーセンテージの計算を、``常駐'' 時間を無視する ``生''
cpu 時間を使う方法に変更します(通常これは影響ありません)。
.It Fl e
環境(変数)も同時に表示します。
.It Fl f
-より詳しいプロセス情報を得るように、働きます。
+スワップアウトされたプロセスに関して、
+コマンドラインと環境の情報を表示します。
+ユーザの uid が 0 である場合のみ、このオプションが有効になります。
.It Fl h
ページ毎に一つヘッダが入るようにします。
.It Fl j
次のキーワードに関する情報を表示します:
user, pid, ppid, pgid, sess, jobc, state, tt, time, command。
.It Fl L
有効なキーワードの一覧を表示します。
.It Fl l
次のキーワードに関する情報を表示します:
uid, pid, ppid, cpu, pri, nice, vsz, rss, wchan, state, tt, time, command。
.It Fl M
名前リストの値を取り出すとき、
デフォルトの
-.Dq Pa /dev/kmem
+.Pa /dev/kmem
の代わりに、指定した
.Ar core
から取り出します。
.It Fl m
プロセス
.Tn ID
順ではなく、メモリ使用量順に整列します。
.It Fl N
デフォルトの
-.Dq Pa /kernel
+.Pa /kernel
の代わりに、指定された
.Ar system
から名前リストを取り出します。
.It Fl O
デフォルトで表示される情報に加え、
指定されたキーワードに関する情報を、
プロセス
.Tn ID
の後に挿入する形式で表示します。
.\"キーワードの列
.\".Ar fmt
.\"は、空白あるいはカンマで区切って指定します。
.\"(訳中)2.2.1Rの記述には確認できないのでコメントアウトしました。
.\" 2.2.1R 対象(1997/05/16) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
各キーワードの後ろには、等号 (``='') と文字列を追加しても構いません。
この場合、標準のヘッダの代わりに指定された文字列が表示されます。
.It Fl o
指定されたキーワードに関する情報を、表示します。
.\"キーワードの列
.\".Ar fmt
.\"は、空白あるいはカンマで区切って指定します。
.\"(訳中)2.2.1Rの記述には確認できないのでコメントアウトしました。
.\" 2.2.1R 対象(1997/05/16) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
各キーワードの後ろには、等号(``='')と文字列を追加しても構いません。
この場合、標準のヘッダの代わりに指定された文字列が表示されます。
.It Fl p
指定したプロセス
.Tn ID
に関する情報を表示します。
.It Fl r
プロセス
.Tn ID
順ではなく、現在の cpu 利用率順に整列します。
.It Fl S
プロセス時間を計算するのに、
終了した子プロセスの時間を親プロセスに合計するように変更します。
.It Fl T
標準入力のデバイスに取り付けられたプロセスの情報を表示します。
.It Fl t
指定された端末デバイスに取り付けられたプロセスの情報を表示します。
.It Fl U
指定された
.Tn 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
デフォルトの
-.Dq Pa /dev/drum
+.Pa /dev/drum
の代わりに指定したファイルからスワップ情報を取り出します。
.It Fl w
デフォルトの現行ウィンドウ幅ではなく、132桁幅で表示します。
一度より多く
.Fl w
オプションを指定すると、
-.Nm \&ps
+.Nm ps
はウィンドウ幅にかかわらず、必要なだけの幅を使用します。
.It Fl x
制御端末のないプロセスの情報も表示します。
.El
.Pp
有効なキーワードの全リストを以下に示します。
いくつかのキーワードに関してはさらに詳しく述べます。
.Bl -tag -width indent
.It %cpu
プロセスの cpu 利用率です。実時間で最近 1 分間の減衰平均です。
計算の基点となる時間は変化するので
(プロセスはまだ生れたばかりかもしれないので)、
.Tn \&%CPU
フィールド全部の合計は 100% を越える可能性もあります。
.It %mem
プロセスで使われている実メモリのパーセンテージです。
.It flags
インクルードファイル
.Aq Pa 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 選択されている;wakeup/waiting は危険である"
.It Dv "P_SINTR" Ta No "0x00080 スリープは停止可能"
.It Dv "P_SUGID" Ta No "0x00100 最後の実行以来 特権セット id されている"
.It Dv "P_SYSTEM" Ta No "0x00200 システム proc: sigs や stat や swap が無い"
.It Dv "P_TIMEOUT" Ta No "0x00400 スリープ中にタイムアウトした"
.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_NOSWAP" Ta No "0x08000 別のフラグがスワップアウトを妨げている"
.It Dv "P_PHYSIO" Ta No "0x10000 物理 I/O をおこなっている"
.It Dv "P_OWEUPC" Ta No "0x20000 次の ast プロセスが addupc() 呼び出しの借り"
.It Dv "P_SWAPPING" Ta No "0x40000 プロセスはスワップされている"
.El
.It lim
.Xr setrlimit 2
の呼び出しで指定される、メモリ使用量のソフトリミットです。
.It lstart
コマンドの実行が始まった正確な時刻を、
.Xr strftime 3
に記述された ``%c'' フォーマットで表示します。
.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 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 vadvise 2
における
.Dv VA_ANOM
のことで、例えば、
.Xr lisp 1
でのガーベージコレクション)を要求しました。
.It E
プロセスは終了しようとしています。
.It L
プロセスは実メモリ中にロックされたページ
(例えば、raw
.Tn I/O
用)を持っています。
.It N
プロセスは
.Tn CPU
スケジューリング優先度(
.Xr setpriority 2
参照)が下げられています。
.It S
プロセスは
.Tn FIFO
ページ置換(
.Xr vadvise 2
における
.Dv VA_SEQL
のことで、
例えば、仮想記憶の多量のデータを順次アクセスする
大規模画像処理プログラム)を要求しました。
.It s
プロセスはセッションリーダです。
.It V
プロセスは
.Xr vfork 2
の間、一時中断されています。
.It W
プロセスはスワップアウトされています。
.It X
プロセスはトレースされているか、デバッグされています。
.El
.It tt
もしあれば、制御端末のパス名の省略形です。
省略形は
-.Dq Pa /dev/tty
-に続く2文字か、コンソール場合の ``co'' です。
+.Pa /dev/tty
+に続く3文字か、コンソール場合の ``con'' です。
もはやプロセスがその制御端末に到達できない(即ち、revoke された)場合、
後に ``-'' が付きます。
.It wchan
プロセスが待っているイベント(システム内のアドレス)。
数字で表示される時には、アドレスの最初の部分は削られて
その結果が16進で表示されます。例えば 0x80324000 では 324000 と表示されます。
.El
.Pp
キーワード command には、
すでに終了しているのに親がまだ wait してくれていない
プロセス(即ちゾンビ)は ``<defunct>'' と表示されます。
終了しようとしてブロックされているプロセスは ``<exiting>'' と表示されます。
-.Nm \&ps
+.Nm ps
は、メモリやスワップ領域を検査して、
プロセスが生成されたときのファイル名や引数を推測します。
この方法は、本質的に少々信頼できるものではなく、
プロセスはとにかくこの情報を破壊することができます。
だから、表示されるコマンド名や引数をあまり信用しすぎてはなりません。
一方、キーワード 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 ktracep
トレース中の vnode
.It lim
メモリ利用のリミット
.It logname
プロセスを開始したユーザのログイン名
.It lstart
開始時刻
.It majflt
総ページフォールト数
.It minflt
総ページ再生数
.It msgrcv
総メッセージ受信数(パイプ/ソケットからの読み込み)
.It msgsnd
総メッセージ送信数(パイプ/ソケットへの書き込み)
.It nice
nice 値(別名 ni)
.It nivcsw
総強制的コンテキストスィッチ数
.It nsigs
総シグナル受け入れ数(別名 nsignals)
.It nswap
総スワップイン/スワップアウト数
.It nvcsw
総自発的コンテキストスィッチ数
.It nwchan
wait チャネル(アドレスで表示)
.It oublk
総ブロック書き込み数(別名oublock)
.It p_ru
リソース利用量(ゾンビに対してのみ有効)
.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 rlink
run 行列における逆リンク(あるいは 0)
.It rss
常駐セットサイズ
.It rsz
常駐セットサイズ+(テキストのサイズ/テキストの利用総数) (別名rssize)
.\" つまり、共通テキストを複数プロセスで分担しているわけだ
.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 tsess
制御端末セッションポインタ
.It tsiz
テキストサイズ(Kbyte 単位)
.It tt
制御端末名(2 文字の省略形)
.It tty
制御端末の完全な名前
.It uprocp
プロセスポインタ
.It ucomm
アカウンティングで使われるコマンド名
.It uid
実効ユーザ
.Tn ID
.It upr
システムコールから帰る時のスケジューリング優先度(別名 usrpri)
.It user
ユーザ名(uid から得たもの)
.It vsz
kByte 単位の仮想記憶サイズ(別名vsize)
.It wchan
wait チャネル(シンボル名で表示)
.It xstat
終了ステータスまたは stop ステータス
(stop プロセスかゾンビプロセスの時のみに有効)
.El
.Sh 関連ファイル
.Bl -tag -width /var/run/kvm_kernel.db -compact
.It Pa /dev
スペシャルファイルとデバイスの名前
.It Pa /dev/drum
デフォルトのスワップデバイス
.It Pa /dev/kmem
デフォルトのカーネルメモリデバイス
.It Pa /var/run/dev.db
.Pa /dev
名前データベース
.It Pa /var/run/kvm_kernel.db
システム(カーネル)の名前リストデータベース
.It Pa /kernel
デフォルトのシステムの名前リスト
.El
.Sh 関連項目
.Xr kill 1 ,
.Xr w 1 ,
.Xr kvm 3 ,
.Xr strftime 3 ,
.Xr pstat 8
.Sh バグ
.Nm \&ps
はシステムより速く実行できず、
他のプロセスと同様にスケジュールされて実行されるので、
表示される情報は正確ではあり得ません。
diff --git a/ja/man/man1/pwd.1 b/ja/man/man1/pwd.1
index cc42961e19..cce650b158 100644
--- a/ja/man/man1/pwd.1
+++ b/ja/man/man1/pwd.1
@@ -1,67 +1,67 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)pwd.1 8.2 (Berkeley) 4/28/95
-.\" %Id: pwd.1,v 1.2.8.3 1998/07/16 09:35:45 jkh Exp %
+.\" %Id: pwd.1,v 1.6 1998/05/15 06:30:57 charnier Exp %
.\" jpman %Id: pwd.1,v 1.2 1997/04/21 08:09:42 mitchy Stab %
.\"
.Dd April 28, 1995
.Dt PWD 1
.Os BSD 4
.Sh 名称
.Nm pwd
.Nd ワーキングディレクトリの表示
.Sh 書式
.Nm pwd
.Sh 解説
.Nm
は、現在のワーキングディレクトリを絶対パスで標準出力に出力します。
.Pp
.Nm
は、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
.Sh 規格
.Nm
コマンドは
.St -p1003.2
互換です。
.Sh 関連項目
.Xr cd 1 ,
.Xr csh 1 ,
.Xr getcwd 3
.Sh バグ
.Xr csh 1
の内部コマンド
.Ic dirs
は pwd より高速ですが、実装が違うため、まれに
サブディレクトリに移動したときの表示結果が異なることがあります。
diff --git a/ja/man/man1/quota.1 b/ja/man/man1/quota.1
index 596f621c0b..d28cc8e7ad 100644
--- a/ja/man/man1/quota.1
+++ b/ja/man/man1/quota.1
@@ -1,141 +1,141 @@
.\" 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.
.\"
.\" @(#)quota.1 8.1 (Berkeley) 6/6/93
-.\" %Id: quota.1,v 1.3.2.1 1997/08/05 06:36:34 charnier Exp %
+.\" %Id: quota.1,v 1.6 1997/08/04 06:45:11 charnier Exp %
.\" jpman %Id: quota.1,v 1.2 1997/05/17 16:06:48 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt QUOTA 1
.Os BSD 4.2
.Sh 名称
.Nm quota
.Nd ディスクの使用状況と割り当て制限を表示する
.Sh 書式
.Nm
.Op Fl g
.Op Fl u
.Op Fl v | Fl q
.Nm quota
.Op Fl u
.Op Fl v | Fl q
.Ar user
.Nm quota
.Op Fl g
.Op Fl v | Fl q
.Ar group
.Sh 解説
.Nm
は、ユーザのディスク使用量と割り当て制限を表示します。デフォルトで
はユーザに対する割り当て制限に関する情報のみが表示されます。
.Pp
オプション
.Pp
.Bl -tag -width Ds
.It Fl g
ユーザが所属するグループに対するグループ割り当て制限を表示します。
これに対し、
.Fl u
オプションはデフォルトの動作と同じです。
.It Fl v
.Nm
は使用していないファイルシステムについても割り当て制限を表示します。
.It Fl q
使用量が割り当てを越えたファイルシステムに関する情報だけが含まれる簡潔
なメッセージを表示します。
.El
.Pp
.Fl g
.Fl u
の両方を指定した場合は、(そのユーザの)ユーザ割り当て制限とグループ割
り当て制限の両方が表示されます。
.Pp
スーパユーザに限り、
.Fl u
オプションとユーザ名を引数に指定して
他のユーザの割り当て制限を見ることができます。
スーパユーザ以外でも自分が所属するグループについては、
.Fl g
オプションと
.Ar group
引数を指定することで、自分が属するグループの割り当て制限だけは
見ることができます。
.Pp
.Fl q
オプションは
.Fl v
オプションより優先されます。
.Pp
.Nm
はマウントされている全てのファイルシステムに関して報告しようとします。
ファイルシステムが
.Nm NFS
を介してマウントされている場合、
.Xr rpc.rquotad 8
.Nm NFS
サーバのデーモンと連絡しようとします。
.Nm UFS
ファイルシステムでは、
.Nm
.Pa /etc/fstab
にて有効にされている必要が有ります。
.Nm
が 0 以外の値を返して終了した場合、割り当て制限を越えているファイルシステムが
あります。
.Sh 関連ファイル
.Bl -tag -width quota.group -compact
.It Pa quota.user
ファイルシステムのルートディレクトリに置かれたユーザの割り当て制限に関
するデータ
.It Pa quota.group
ファイルシステムのルートディレクトリに置かれたグループの割り当て制限に
関するデータ
.It Pa /etc/fstab
ファイルシステムの名前と位置
.El
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
で登場しました。
.Sh 関連項目
.Xr quotactl 2 ,
.Xr fstab 5 ,
.Xr edquota 8 ,
.Xr quotacheck 8 ,
.Xr quotaon 8 ,
.Xr repquota 8 ,
.Xr rpc.rquotad 8
diff --git a/ja/man/man1/ranlib.1 b/ja/man/man1/ranlib.1
index 78b3bb310d..60240489c3 100644
--- a/ja/man/man1/ranlib.1
+++ b/ja/man/man1/ranlib.1
@@ -1,92 +1,92 @@
.\" 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.
.\"
.\" @(#)ranlib.1 8.1 (Berkeley) 6/6/93
-.\" %Id: ranlib.1,v 1.3.2.1 1997/08/05 06:39:14 charnier Exp %
+.\" %Id: ranlib.1,v 1.6 1997/08/04 06:48:23 charnier Exp %
.\" jpman %Id: ranlib.1,v 1.3 1997/08/20 12:40:27 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt RANLIB 1
.Os
.Sh 名称
.Nm ranlib
.Nd アーカイブライブラリの目次テーブルの作成
.Sh 書式
.Nm
.Op Fl t
.Ar file ...
.Sh 解説
.Nm
は、
アーカイブライブラリの外部参照テーブルを作成します。
このテーブルは通常、ローダ
.Xr ld 1
に用いられます。
このテーブルには ``__.SYMDEF'' という名前が付けられ、
アーカイブの先頭に追加されます。
アーカイブ中の非実行可能ファイルやローダに関係のないシンボルは無視されます。
.Pp
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl t
__.SYMDEF ファイルの最終修正時刻をセットします。
ローダの中には、この時刻をアーカイブの最終修正時刻と比較し、
テーブルがアーカイブに対して最新の状態であることを確認するものが
あります(FreeBSD のローダはそうではありません)。
もしアーカイブに何ら変更を加えないまま最終修正時刻が書き換えられた場合
(例えば
.Xr cp 1
によって)、
.Fl t
オプションを用いて最終修正時刻を ``touch'' し、
テーブルが最新状態であるように見せかけることができます。
この機能は
.Xr make 1
.Fl t
オプションを使用した後でも有用です。
.El
.Sh 関連ファイル
.Bl -tag -width /tmp/ranlib.XXXXXX -compact
.It Pa /tmp/ranlib.XXXXXX
一時ファイル名
.El
.Sh 関連項目
.Xr ar 1 ,
.Xr ld 1 ,
.Xr lorder 1 ,
.Xr nm 1 ,
.Xr ranlib 5
.Sh 歴史
.Nm
コマンドは
.At v7
から登場しました。
diff --git a/ja/man/man1/rcp.1 b/ja/man/man1/rcp.1
index cf52d22dfb..7f270bc9e7 100644
--- a/ja/man/man1/rcp.1
+++ b/ja/man/man1/rcp.1
@@ -1,145 +1,145 @@
.\" 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.
.\"
.\" @(#)rcp.1 8.1 (Berkeley) 5/31/93
-.\" %Id: rcp.1,v 1.2.8.2 1998/07/16 09:35:45 jkh Exp %
+.\" %Id: rcp.1,v 1.6 1998/05/18 06:36:02 charnier Exp %
.\" jpman %Id: rcp.1,v 1.2 1997/05/20 01:30:55 mutoh Stab %
.\"
.Dd May 31, 1993
.Dt RCP 1
.Os BSD 4.3r
.Sh 名称
.Nm rcp
.Nd リモートファイルのコピー
.Sh 書式
.Nm rcp
.Op Fl Kpx
.Op Fl k Ar realm
.Ar file1 file2
.Nm rcp
.Op Fl Kprx
.Op Fl k Ar realm
.Ar file ...
.Ar directory
.Sh 解説
.Nm
は、ネットワークでつながれた複数のマシンの間でコピーをするプログラムです。
.Ar file
および
.Ar directory
として ``rname@rhost:path'' の形式で指定する
ことにより、それがリモートマシン上のファイルであるとみなされます。
ファイル指定に ``:'' が含まれていないか、含まれていても``/''のあとにある
場合は、ローカルマシンのファイルとみなされます。
.Pp
次のオプションを利用可能です:
.Bl -tag -width flag
.It Fl K
全ての Kerberos による認証を無効にします。
.It Fl k
.Xr krb_realmofhost 3
で決定されるリモートホストの realm のかわりに、
.Ar realm
で指定したリモートホストの チケットを得るようにします。
.It Fl p
.Ar umask
を無視し、転送元のファイルの修正日付とアクセスモードを維持したままコピー
します。デフォルトでは、転送先に同じファイル名のファイルがすでに
存在していれば、そのファイルのモードと所有者が引き継がれ、もしファイルが
存在していなければ、転送元のファイルのモードに転送先のマシンで使われている
.Xr umask 2
のマスクを施したアクセスモードになります。
.It Fl r
転送元としてディレクトリが指定された場合、ディレクトリ下の各ファイルも
再帰的にコピーします。この場合、転送先にはディレクトリを指定しなければ
なりません。
.It Fl x
.Nm
で送るすべてのデータを
.Tn DES
暗号化します。これによりレスポンスタイムと
.Tn CPU
の利用率に影響が生じますが、セキュリティは向上します。
.El
.Pp
.Ar file
がフルパスでなかった場合は、リモートマシン
.Ar rhost
上のユーザ
.Ar ruser
のログインディレクトリ
(リモートユーザー名が指定されていなければ、現在のユーザー名の
ログインディレクトリ)からの相対パスと解釈します。
リモートマシン上のファイル指定にワイルドカードなどのメタキャラクタを
含める場合は、ローカルマシンのシェルによりワイルドカードが
展開されないよう \e、" または \(aa でクォートする必要があります。
.Pp
.Nm
では
.Xr rsh 1
を使用するため同様のユーザーの認証が必要とされ、パスワードを要求する
プロンプトを出しません。
.Pp
.Nm
では転送元、転送先ともにリモートマシンを指定し、第3者によるリモートマシン間での
ファイルのコピーを行うこともできます。
.Sh 関連項目
.Xr cp 1 ,
.Xr ftp 1 ,
.Xr rlogin 1 ,
.Xr rsh 1
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
このバージョンの
.Nm
は、
.Bx 4.3 Reno
において Kerberos を組み込んで再インプリメントされました。
.Sh バグ
ディレクトリが指定されるべき場所にファイルが指定されている場合を検出で
きるとは限りません。
.Pp
リモートホストの
.Pa \&.login ,
.Pa \&.profile
または
.Pa \&.cshrc
内のコマンドの出力によって混乱することがあります。
.Pp
転送先のマシンにバージョン
.Bx 4.2
.Nm
が動作している場合、``rhost.rname''のように転送先のユーザー名とホスト
名を指定しなければなりません。
diff --git a/ja/man/man1/rcs.1 b/ja/man/man1/rcs.1
index 9f07ac0bd5..ca58610edb 100644
--- a/ja/man/man1/rcs.1
+++ b/ja/man/man1/rcs.1
@@ -1,448 +1,448 @@
.de Id
.\" jpman %Id: rcs.1,v 1.2 1997/05/30 07:33:50 yugawa Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcs.1,v 1.2 1995/10/28 21:50:11 peter Exp %
+.Id %Id: rcs.1,v 1.4 1997/02/22 15:47:53 peter Exp %
.ds r \&\s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.if !\n(.g \{\
. if !\w|\*(lq| \{\
. ds lq ``
. if \w'\(lq' .ds lq "\(lq
. \}
. if !\w|\*(rq| \{\
. ds rq ''
. if \w'\(rq' .ds rq "\(rq
. \}
.\}
.TH RCS 1 \*(Dt GNU
.SH 名称
rcs \- RCS ファイルの属性を変更する
.SH 書式
.B rcs
.IR "options file " .\|.\|.
.SH 解説
.B rcs
は、\*r ファイルの新規作成および \*r ファイルの属性変更を行います。
\*r ファイルは、複数のリビジョン、アクセスリスト、変更履歴、
内容記述、制御属性からなります。
.B rcs
コマンドが実行できるのは、
実行したユーザが \*r ファイルのアクセスリストに登録されているか、
アクセスリストが空であるか、ユーザが \*r ファイルの所有者であるか、
スーパーユーザであるか、あるいは
.B \-i
オプションが指定されている場合に限られます。
.PP
\*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、その他
のファイル名はワークファイルであるとみなします。詳しくは、
.BR ci (1)
を参照してください。リビジョン番号は
.BR ci (1)
に記述されている形式を用います。
.SH オプション
.TP
.B \-i
新たな \*r ファイルを作成し、初期化します。ただし、リビジョンは作成しません。
指定されたファイル名にディレクトリ名が含まれていない場合、
.B rcs
はまずカレントディレクトリにある
.BR ./RCS
ディレクトリにファイルを作成しよう
と試みます。これに失敗したら、カレントディレクトリに作成しようと試みます。
もしすでに \*r
ファイルが存在した場合はエラーとなります。
.TP
.BI \-a "logins"
\*r ファイルのアクセスリストに
.I logins
で指定したユーザ名を追加します。
.I logins
は、コンマで区切ったユーザ名のリストです。
.TP
.BI \-A "oldfile"
.I oldfile
で指定した \*r ファイルのアクセスリストに登録されているユーザ名を、
対象の \*r ファイルのアクセスリストに追加します。
.TP
.BR \-e [\f2logins\fP]
.I logins
で指定したユーザ名を、\*r ファイルのアクセスリストから消去します。
.I logins
が省略された場合は、アクセスリスト全体を消去します。
.TP
.BR \-b [\f2rev\fP]
.I rev
をデフォルトの枝とします。
.I rev
が省略された場合、デフォルト枝は
幹上で最も大きな番号を持つ枝になります。
.TP
.BI \-c string
コメント開始文字列を
.IR string
に設定します。
最初に
.BR ci
を起動した時、あるいは
.B "rcs\ \-i"
.BR \-c
オプションを指定しなかった時は、コメント開始文字列は
ワークファイルの拡張子から自動的に推測されます。
.RS
.PP
通常、\*r はチェックアウト (
.BR co (1)
参照) 時の記録行を挿入する際に、
.B $\&Log$
行の行頭部を使用するので、このオプションは現在廃止の方向にあります。
しかしながら、\*r の古いバージョンでは、
.B $\&Log$
行の行頭部ではなくコメント開始文字列を使用しているので、
\*r の新旧両方のバージョンのファイルを使用する場合は、
そのコメント開始文字列が
.B $\&Log$
行の行頭部と一致するようにしなければなりません。
.RE
.TP
.BI \-k subst
デフォルトのキーワード展開方式を
.IR subst
に設定します。キーワード展開の効果については
.BR co (1)
に記述してあります。
.BR co ,
.BR rcsdiff ,
.B rcsmerge
.B \-k
オプションを指定することで、デフォルトの展開方式を無効にすることができます。
.B "rcs\ \-kv"
を用いるときは注意してください。なぜなら、
.B \-kv
をデフォルトにすると
.B "co\ \-l"
あいいれなくなるからです。
.B "rcs\ \-kkv"
によって、通常のデフォルト値に戻すことができます。
.TP
.BR \-l [\f2rev\fP]
リビジョン
.I rev
をロックします。
.I rev
が枝を示す場合、枝上の最新のリビジョンがロックされます。
.I rev
が省略された場合、デフォルト枝上の最新のリビジョンがロックされます。
ロックすることにより、そのリビジョンのファイルに対して複数の人が
変更することを防止できます。別の人が既にロックしている場合、
.B "rcs\ \-u"
により、ロックを解除することができます(下記参照)。
.TP
.BR \-u [\f2rev\fP]
リビジョン
.I rev
をロック解除します。
.I rev
が枝を示す場合、枝上の最新のリビジョンがロック解除されます。
.I rev
が省略された場合、コマンドを実行したユーザがロックした
最新のリビジョンがロック解除されます。
通常、ロックしたユーザのみがロックを解除することができます。
他のユーザがロックを解除しようとすると、
ロックしたユーザへメールが送信されます。
メールにはロックを解除する理由等を書いた
コメントを付加します。コメントはロックを解除しようとしたユーザが入力し、
ファイル終端あるいは
.B \&.
のみを含む行を入力することで終了します。
.TP
.B \-L
ロックを厳格に行なうモード (以下、厳格モード) に設定します。
厳格ロックを指定すると、\*r ファイルの
所有者であっても、ロックしているファイルをチェックインすることが
できなくなります。
複数のユーザで共有するようなファイルは本モードで利用すべきです。
.TP
.B \-U
ロックを厳格には行なわないモード (以下、非厳格モード) に設定します。
非厳格ロックを指定すると、\*r ファイルの所有者はロックすることなく、
新しいリビジョンをチェックインすることができます。複数の
ユーザで共有するファイルは本モードで使用すべきではありません。
デフォルトのロックモードを厳格にするか非厳格にするかは、\*r システムを
インストールしたシステム管理者が決めますが、通常は厳格モードです。
.TP
\f3\-m\fP\f2rev\fP\f3:\fP\f2msg\fP
リビジョン
.I rev
のログメッセージを
.I msg
に置換します。
.TP
.B \-M
ロックしたユーザ以外のユーザがロックを解除した際に、メールを送りません。
これは使用を簡便にする目的のオプションではありません。他の方法により
ユーザに警告を行うようなプログラムを使用し、
.B "rcs\ \-u"
を単に低いレベルのロック解除の目的で使用するような場合のために
用意されています。
.TP
\f3\-n\fP\f2name\fP[\f3:\fP[\f2rev\fP]]
枝またはリビジョン
.I rev
にシンボリック名
.I name
を関連付けます。
.B :
.I rev
も省略した場合、シンボリック名
.I name
は削除されます。
.I name
がすでに別の
リビジョンに関連付けられていた場合はエラーとなります。
.I rev
がシンボリック名の場合も
.I name
との関連付けは番号によって行われます。枝番号に
.I \&.
を付加したものは、その枝での最新のリビジョンを示します。
.B :
だけで
.I rev
を省略した場合、デフォルト枝(通常は幹)の最新のリビジョンが関連付けられます。
たとえば、
.BI "rcs\ \-n" name ":\ RCS/*"
はすべての \*r ファイルの最新のリビジョンに対してシンボリック名
.I name
を関連付けます。一方、
.BI "rcs\ \-n" name ":$\ RCS/*"
は各 \*r ファイルに対応したワークファイル中のキーワードに含まれる
リビジョン番号と
.I name
を関連付けます。
.TP
\f3\-N\fP\f2name\fP[\f3:\fP[\f2rev\fP]]
.B -n
と同様に動作します。ただし、同じ
.I name
が別のリビジョンに関連付けられていてもエラーとはせず、
関連付けをしなおします。
.TP
.BI \-o range
.I range
で指定したリビジョンを削除します。
.I range
がただ 1 つのリビジョン番号ならば、そのリビジョンを削除します。
.I range
に枝番号が含まれれば、その枝の最新のリビジョンを削除します。
.IB rev1 : rev2
形式の範囲指定では、同じ枝上の
.I rev1
から
.I rev2
までのすべてのリビジョンが削除されます。
.BI : rev
は枝の開始から
.I rev
までのリビジョンを、
.IB rev :
は同じ枝上の
.I rev
以降のリビジョンのすべてを削除します。
削除されるリビジョンにロックや枝があってはいけません。
.TP
.B \-q
診断メッセージは表示されません。
.TP
.B \-I
対話モードで動作します。たとえ標準入力が端末でなくても、ユーザに対して
問い合わせを行います。
.TP
.B \-s\f2state\fP\f1[\fP:\f2rev\fP\f1]\fP
リビジョン
.I rev
の状態を
.I state
にします。
.I rev
が枝番号なら、その枝の最新のリビジョンの状態を変更します。
.I rev
が省略されたなら、デフォルト枝の最新リビジョンを変更します。
.I state
としては自由な識別子を指定できます。一般に用いられる識別子としては、
.B Exp
(experimental: 実験的)、
.B Stab
(stable: 安定した)、
.B Rel
(released: リリースした)があります。デフォルトでは、
.BR ci (1)
は状態を
.B Exp
にします。
.TP
.BR \-t [\f2file\fP]
\*r ファイルの内容記述テキストをファイル
.I file
の内容で置換します。すでに存在していた内容記述は削除されます。ファイル名は
.B \-
で始まってはいけません。
.I file
が省略された場合、
テキストは標準入力から読み込まれ、ファイル終端または
.B \&.
のみを含む行で終了します。可能ならば、テキストの入力を
促すプロンプトが表示されます(
.B \-I
オプションの項を参照)。
.B \-i
オプションを指定すると、
.B \-t
オプションが指定されていなくても内容記述テキストの入力を求めます。
.TP
.BI \-t\- string
\*r ファイルの内容記述テキストを文字列
.I string
で置換します。すでに存在していた内容記述は削除されます。
.TP
.B \-T
リビジョンが削除されない限り、\*r ファイルの変更時刻を保存します。
このオプションを使うことにより、\*r ファイルの中のワークファイルの
コピーによって生ずる
.BR make (1)
の依存関係に伴う必要以上の再コンパイルを防ぐことができます。
このオプションを使用する際には注意が必要です。本当に再コンパイルが必要な
場合にも再コンパイルされない場合が生じます。つまり、\*r ファイルへの変更が
ワークファイル中のキーワードの変更を意味する場合があるからです。
.TP
.BI \-V
\*r システムのバージョン番号を表示します。
.TP
.BI \-V n
\*r システムのバージョン
.I n
のエミュレーションを行います。詳細は
.BR co (1)
を参照してください。
.TP
.BI \-x "suffixes"
\*r ファイル拡張子を
.I suffixes
に指定します。詳しくは
.BR ci (1)
を参照してください。
.TP
.BI \-z zone
デフォルトのタイムゾーンとして
.I zone
を使用します。
このオプションは何の効果もありません。他の \*r コマンドとの互換性を保つ
ために存在します。
.PP
.B rcs
コマンドの将来予定されている拡張との互換性を維持するには、
少なくともひとつのオプションを明示的に指定する必要があります。
.SH 互換性
.BI \-b rev
オプションを指定すると、 \*r バージョン 3 以前では処理できない \*r
ファイルが生成されます。
.PP
.BI \-k subst
オプション(
.B \-kkv
を除く)を指定すると、 \*r バージョン 4 以前では
処理できない \*r ファイルが生成されます。
.PP
バージョン
.I n
の \*r で処理できる \*r ファイルを生成するために
.BI "rcs \-V" n
を利用することができます。これにより、バージョン
.I n
で処理できない情報を削除することができます。
.PP
バージョン 5.5 以前の \*r は
.B \-x
オプションをサポートしません。\*r ファイルの拡張子としては
.B ,v
が用いられます。
.SH 関連ファイル
.B rcs
.BR ci (1)
とほぼ同様のファイル群にアクセスします。ただし、アクセスは
すべて実効ユーザ ID によって行われます。
また、ワークファイルやそのディレクトリには書き込みを
行いません。リビジョン番号として
.B $
を指定した場合を除き、ワークファイルを読むこともありません。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
コマンドライン引数に先立って与えられるオプションを指定します。
各オプションは空白で区切って指定します。詳しくは
.BR ci (1)
を参照してください。
.SH 診断
\*r ファイル名およびひとつ古い(outdated)リビジョン番号が診断出力として
表示されます。
すべての処理が成功した場合に限り終了ステータス 0 を返します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 by Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
rcsintro(1), co(1), ci(1), ident(1), rcsclean(1), rcsdiff(1),
rcsmerge(1), rlog(1), rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.SH バグ
システムクラッシュ等の大惨事があると、\*r はセマフォファイルを
残してしまうため、後に \*r を実行しようとすると、\*r ファイルが使用中であると
警告します。
これを直すにはセマフォファイルを消去する必要があります。
通常、セマフォファイル名前は
.B ,
で始まるか、
.B _
で終了します。
.PP
以前の版の
.B rcs
では
.B -o
オプションにおけるリビジョンの区切りは
.BR :
ではなく
.B \-
でした。
しかし、これはシンボリック名が
.B \-
を含んでいるときに混乱を生じます。
従来の版との互換性のため
.B "rcs \-o"
.B \-
を用いた記法もサポートしますが、
この記法を用いた場合は警告メッセージを表示します。
.PP
シンボリック名が指しているリビジョンが存在するとは限りません。例えば、
.B \-o
オプションによってリビジョンが削除されてもそれを指すシンボリック名は削
除されずに残っています。シンボリック名を削除するには
.B \-n
オプションを用いる必要があります。
.br
diff --git a/ja/man/man1/rcsclean.1 b/ja/man/man1/rcsclean.1
index 91883d2611..9f5b54b4f5 100644
--- a/ja/man/man1/rcsclean.1
+++ b/ja/man/man1/rcsclean.1
@@ -1,204 +1,204 @@
.de Id
.\" jpman %Id: rcsclean.1,v 1.2 1997/05/30 07:41:49 yugawa Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsclean.1,v 1.2 1995/10/28 21:50:24 peter Exp %
+.Id %Id: rcsclean.1,v 1.4 1997/02/22 15:47:57 peter Exp %
.ds r \&\s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.TH RCSCLEAN 1 \*(Dt GNU
.SH 名称
rcsclean \- ワークファイルの後片付け
.SH 書式
.B rcsclean
.RI [ options "] [ " file " .\|.\|. ]"
.SH 解説
.B rcsclean
は、RCS ファイルからチェックアウトされた後に変更を受けていない
ワークファイルを削除します。
.B "rcsclean \-u"
は、対象となるワークファイルのロックを解除し、削除します。
.PP
.I file
について
.B rcsclean
は、ワークファイルとそれに対応する \*r ファイルに格納されている
リビジョンとを比較します。
違いが見つかった場合には何もしません。
違いが無い場合、
.B \-u
オプションが指定されていたら、まずそのリビジョンのロックを
解除します。
そして、
ワークファイルが書き込み可能でなくそのリビジョンがロックされて
いないなら、ワークファイルを消去します。
.B rcsclean
は、実行した処理の内容を
.B "rcs \-u"
.B "rm \-f"
コマンドを使って表現し、標準出力に表示します。
.PP
.I file
を指定しなかった場合、カレントディレクトリにあるすべての
ワークファイルを処理対象にします。
\*r の拡張子を持つパス名は、\*r ファイルを表しています。
その他のファイルはワークファイルを意味します。
ファイル名については、
.BR ci (1)
で詳しく説明されています。
.PP
ワークファイルと比較するリビジョン番号は、
.BR \-n ,
.BR \-q ,
.BR \-r ,
.BR \-u
オプションのいずれかで指定することができます。
リビジョン番号を指定せず、
.B \-u
オプションが指定されていて、呼び出したユーザがロックしたリビジョンが
一つだけ存在すれば、
.B rcsclean
はそのリビジョンを使用します。
それ以外の場合には、
.B rcsclean
はデフォルト枝 (普通は幹) の最新リビジョンを使用します。
.PP
.B rcsclean
を Makefile の中の
.B clean
ターゲットで用いると便利です。
.BR rcsdiff (1)
(差分の表示)
や、
.BR ci (1)
(ワークファイルに変更が無い時、チェックインするかどうか確認する)
のマニュアルも参照して下さい。
.SH オプション
.TP
.BI \-k subst
比較のためにリビジョンを取り出すときに、
.I subst
で指定した方式でキーワード置換を行います。詳しくは
.BR co (1)
を参照して下さい。
.TP
.BR \-n [\f2rev\fP]
ファイルの消去やリビジョンのロック解除を行ないません。
このオプションによって、
.B rcsclean
が何を実行しようとするかを、実際の動作を行なわずに知ることができます。
.TP
.BR \-q [\f2rev\fP]
処理の内容を標準出力に表示しません。
.TP
.BR \-r [\f2rev\fP]
比較対象のリビジョンの指定のみを行い、他には何の効果も与えません。
.TP
.B \-T
\*r ファイルがロックの解除により変更された場合でも、
\*r ファイルの変更時刻を保存します。
このオプションを使うことにより、\*r ファイルの中のワークファイルの
コピーによって生ずる
.BR make (1)
の依存関係に伴う必要以上の再コンパイルを防ぐことができます。
このオプションを使用する際には注意が必要です。本当に再コンパイルが必要な
場合にも再コンパイルされない場合が生じます。つまり、ロックの解除により
他のワークファイル中のキーワードの変更を意味する場合があるからです。
.TP
.BR \-u [\f2rev\fP]
違いが見つからなかったファイルがロックされているなら、
ロックを解除します。
.TP
.BI \-V
\*r システムのバージョン番号を表示します。
.TP
.BI \-V n
\*r システムのバージョン
.IR n
のエミュレーションを行います。
詳細は
.BR co (1)
を参照してください。
.TP
.BI \-x "suffixes"
.I suffixes
を \*r ファイル拡張子として指定します。
詳細は
.BR ci (1)
を参照してください。
.TP
.BI \-z zone
キーワードの置換の際、タイムゾーンとして
.I zone
を使用します。
詳細は
.BR co (1)
を参照して下さい。
.SH 使用例
.LP
.RS
.ft 3
rcsclean *.c *.h
.ft
.RE
.LP
チェックアウトされてから変更されていない
.B .c
.B .h
で終る名前のワークファイルをすべて削除します。
.LP
.RS
.ft 3
rcsclean
.ft
.RE
.LP
チェックアウトされてから変更されていない、
カレントディレクトリにあるすべてのワークファイルを削除します。
.SH 関連ファイル
.B rcsclean
は、
.BR ci (1)
と同じファイルにアクセスします。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
引数リストに前置されるオプションを空白で区切って指定します。
オプションの中に含まれる空白は、バックスラッシュでエスケープします。
.B \s-1RCSINIT\s0
オプションは、大部分の \*r コマンドの引数リストに前置されます。
.BR \-q ,
.BR \-V ,
.BR \-x ,
.B \-z
などを指定するのに有用です。
.SH 診断
すべての動作が成功した時にのみ、終了ステータス 0 を返します。
ワークファイルや \*r ファイルがなくても無視します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 by Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993 Paul Eggert.
.SH 関連項目
ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1),
rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.SH バグ
ディレクトリ参照操作を持たない古いバージョンの UNIX では、
少なくとも一つの
.I file
を指定しなければなりません。
.br
diff --git a/ja/man/man1/rcsdiff.1 b/ja/man/man1/rcsdiff.1
index 1ff9bdb927..2ebd829249 100644
--- a/ja/man/man1/rcsdiff.1
+++ b/ja/man/man1/rcsdiff.1
@@ -1,158 +1,158 @@
.de Id
.\" jpman %Id: rcsdiff.1,v 1.2 1997/05/29 08:32:23 jsakai Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsdiff.1,v 1.2 1995/10/28 21:50:32 peter Exp %
+.Id %Id: rcsdiff.1,v 1.4 1997/02/22 15:48:00 peter Exp %
.ds r \&\s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.TH RCSDIFF 1 \*(Dt GNU
.SH 名称
rcsdiff \- RCS で管理されているリビジョンを比較する
.SH 書式
.B rcsdiff
[
.BI \-k subst
] [
.B \-q
] [
.BI \-r rev1
[
.BI \-r rev2
] ] [
.B \-T
] [
.RI "\f3\-V\fP[" n ]
] [
.BI \-x suffixes
] [
.BI \-z zone
] [
.I "diff options"
]
.I "file .\|.\|."
.SH 解説
.B rcsdiff
は、
.BR diff (1)
を起動して、
指定された \*r ファイルの 2 つのリビジョンを比較します。
.PP
\*r 拡張子にマッチするパス名は \*r ファイル、
その他のパス名はワークファイルであるとみなします。
ファイルの対応づけについては
.BR ci (1)
を参照してください。
.PP
.B \-q
オプションが指定されると診断メッセージの表示を行いません。
.BR \-r
オプションにより 0、1 あるいは 2 個のリビジョンを指定できます。
.BI \-k subst
オプションはリビジョンを取り出す際のキーワード置換の方法を変更します。
.BR co (1)
を参照してください。
たとえば、
.B "\-kk\ \-r1.1\ \-r1.2"
と指定すると、
リビジョン
.B 1.1
.BR 1.2
を比較する際にキーワードの違いを無視します。
以下に示す 4 つの場合、
ロック者キーワードの違いから余計な差分が出力されるのを抑止するために、
.B \-kkvl
オプションが指定されたものとみなします。
(1) たかだか 1 つのリビジョンしか指定されていない、
(2)
.B \-k
オプションが指定されていない、
(3) デフォルトのキーワード置換方式が
.B \-kkv
と設定されている、
(4) ワークファイルのファイルモードが
.BR "co\ \-l"
が作成するものと同じである。
.BR \-T ,
.BR \-V ,
.BR \-x ,
.B \-z
オプションの詳細については
.BR co (1)
を参照してください。
その他、通常ファイルに対して用いられる
.BR diff (1)
のすべてオプションは、同じ意味で rcsdiff に対して用いることができます。
.PP
.I rev1
.I rev2
が両方とも指定されなかった場合、
.B rcsdiff
はデフォルト枝 (branch) (デフォルトでは幹(trunk)) の
最新のリビジョンとワークファイルとを比較します。
これは、
最後にチェックインした後、
ワークファイルに対して加えられた変更を知るのに便利です。
.PP
.I rev1
のみが指定された場合、
.B rcsdiff
は \*r
ファイル中のリビジョン
.I rev1
の内容とワークファイルの内容を比較します。
.PP
.I rev1
.I rev2
の両方が与えられた場合、
.B rcsdiff
は \*r
ファイル中の指定された 2 つのリビジョンを比較します。
.PP
.I rev1
.I rev2
は、
数字またはシンボルで指定することができます。
.SH 例
以下のコマンド
.LP
.B " rcsdiff f.c"
.LP
は、 \*r
ファイルのデフォルト枝の最新リビジョンとワークファイル
.BR f.c
を比較します。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
コマンドライン引数に先立って与えられるオプションを指定します。
各オプションは空白で区切って指定します。
詳しくは
.BR ci (1)
を参照してください。
.SH 診断
比較したリビジョン間に違いがなければ終了ステータス 0 を、
違いがあれば 1 を、
エラーが発生した場合は 2 を返します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993 Paul Eggert.
.SH 関連項目
ci(1), co(1), diff(1), ident(1), rcs(1), rcsintro(1), rcsmerge(1), rlog(1)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.br
diff --git a/ja/man/man1/rcsfreeze.1 b/ja/man/man1/rcsfreeze.1
index 58215c7822..963c6183e1 100644
--- a/ja/man/man1/rcsfreeze.1
+++ b/ja/man/man1/rcsfreeze.1
@@ -1,67 +1,67 @@
.de Id
.\" jpman %Id: rcsfreeze.1,v 1.2 1997/05/30 07:53:15 yugawa Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsfreeze.1,v 1.2 1995/10/28 21:50:42 peter Exp %
+.Id %Id: rcsfreeze.1,v 1.4 1997/02/22 15:48:03 peter Exp %
.ds r \s-1RCS\s0
.TH RCSFREEZE 1 \*(Dt GNU
.SH 名称
rcsfreeze \- RCS に登録されているファイルの構成を記録する
.SH 書式
.B rcsfreeze
.RI [ "name" ]
.SH 解説
.B rcsfreeze
は、\*r ファイルの有効な組合せにシンボリックなリビジョン番号を割り当てます。
.PP
.B rcsfreeze
は、ソフトウェアの新しい版が登録されるたびに実行されるような
使われ方を想定しています。一意のシンボル名 (\c
.BI C_ number,
.I number
.B rcsfreeze
が実行される毎に増加します ) が各 \*r ファイルの主幹の最新
のリビジョンに対して与えられます。
.PP
引数によって与えるシンボル名を指定できます。指定された場合も、
.B rcsfreeze
は一意のシンボル名を生成し、ログファイル中に記録します。しかし、実際の \*r
ファイルには記録されません。
.PP
.B rcsfreeze
は、将来に参照するためのログを入力するように要求します。
.PP
本シェルスクリプトは全ての \*r ファイルに一括して作用します。
新しい版を構成するファイル
は、あらかじめ \*r ファイルに登録されている必要があります。まず、
.BR rcsclean (1)
を実行して、登録されずに残っているファイルがカレントディレクトリに
残っていないかどうかを確認してください。
.SH 関連ファイル
.TP
.B RCS/.rcsfreeze.ver
バージョン番号
.TP
.B RCS/.rcsfreeze.log
ログ。最新のものが先頭になる。
.SH 作者
Stephan v. Bechtolsheim
.SH 関連項目
co(1), rcs(1), rcsclean(1), rlog(1)
.SH バグ
.B rcsfreeze
は、変更されているのに登録されていないワークファイルがあるか
どうかを検査しません。
.PP
\*r ファイル名とワークファイル名の両方をコマンドラインに
指定することが可能ですが、
通常の \*r コマンドのように \*r ファイルとワークファイルの組を指定する
ものではありません。
.PP
エラー検査が不十分です。
.PP
.B rcsfreeze
は、単なるシェルスクリプトの例であり、まともに利用すべきもので
はありません。より完全な解決法を求めるなら、\s-1CVS\s0 を参照してください。
diff --git a/ja/man/man1/rcsintro.1 b/ja/man/man1/rcsintro.1
index 3fd6cdc255..a720e9f566 100644
--- a/ja/man/man1/rcsintro.1
+++ b/ja/man/man1/rcsintro.1
@@ -1,315 +1,315 @@
.de Id
.\" jpman %Id: rcsintro.1,v 1.2 1997/05/13 01:05:09 mitchy Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsintro.1,v 1.2 1995/10/28 21:50:20 peter Exp %
+.Id %Id: rcsintro.1,v 1.4 1997/02/22 15:47:55 peter Exp %
.ds r \&\s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.if !\n(.g \{\
. if !\w|\*(lq| \{\
. ds lq ``
. if \w'\(lq' .ds lq "\(lq
. \}
. if !\w|\*(rq| \{\
. ds rq ''
. if \w'\(rq' .ds rq "\(rq
. \}
.\}
.am SS
.LP
..
.TH RCSINTRO 1 \*(Dt GNU
.SH 名称
rcsintro \- RCS 入門
.SH 解説
\*r (Revision Control System) は、ファイルのリビジョンを複数管理します。
\*r は格納、取り出し、ログ、識別、リビジョンの併合を自動化します。\*r
は頻繁に更新されるテキスト、たとえば、プログラム、ドキュメント、
グラフィックス、論文、定型手紙等を扱うのに便利です。
.PP
基本的なユーザインタフェースはとても単純です。初心者は 2 つのコマンド、
.BR ci (1)
.BR co (1)
を覚えるだけで使用できます。
.B ci
はチェックイン
\*(lqcheck in\*(rq を省略した名前です。これは、ファイルの内容を
「\*r ファイル」と呼ばれる記録用のファイルに格納します。
\*r ファイルは、特定ファイルの全リビジョンを含んでいます。
.B co
はチェックアウト\*(lqcheck out\*(rq を省略した名前です。
これは、\*r ファイルからリビジョンを取り出します。
.SS "\*r の機能"
.IP \(bu
テキストの複数のリビジョンの保存と取り出しを行います。\*r は
すべての古いリビジョンを効率的な方法で保存します。
ファイルを変更しても
元のリビジョンが失なわれることはなく、いずれも取り出すことが
可能です。リビジョンは、リビジョン番号、シンボル名、日付、作者、
状態を指定して取り出せます。
.IP \(bu
完全な変更の履歴を管理します。\*r は、すべての変更点を自動的に
記録します。各リビジョンの内容とともに、作者、チェックインした日時、
変更点を要約したログメッセージが記録されます。
ログによって、どのような変更が行われたのかがひと目でわかります。
ソースリストを見比べたり、一緒に作業している
プログラマにたずねたりする必要はありません。
.IP \(bu
アクセス矛盾を解決します。複数のプログラマがあるファイルの
同じリビジョンに対して変更を加えようとした場合、
\*r は警告を発し、他者が行った変更を台無しにしてしまう
のを防ぎます。
.IP \(bu
リビジョンの木を管理します。\*r はモジュールごとに独立した
開発ラインを管理できます。
\*r は、リビジョンの系図を表現した木を保存します。
.IP \(bu
リビジョンを併合し、矛盾を解決します。あるモジュールの 2 つの
リビジョンを併合することができます。
併合しようとする 2 つのリビジョンが、あるコードの同じ部分に
対する変更を含んでいた場合、\*r は変更が重複していると警告します。
.IP \(bu
リリースと構成を管理します。リビジョンにはシンボル名を
つけることができます。また、「リリース版(released)」、「安定版(stable)」、
「実験版(experimental)」といった状態をつけることもできます。
これにより、単純かつ直接的にモジュールの構成を表すことができます
.IP \(bu
リビジョン番号、作成日時、作者等を自動的に識別することができます。
識別情報は、消印のようにテキストの適当な場所に埋め込むことが
できます。これにより、あるソフトウェアの構成に
どのモジュールのどのリビジョンが使用されているかを
判断することが容易になります。
.IP \(bu
必要なディスク容量を最小にします。\*r は、リビジョンのために
最小のスペース(差分のみ)しか消費しません。もし途中のリビジョンが
削除されたなら、記録されていた差分もそれに従って小さくなります。
.SS "\*r 事始め"
\*r の管理下に置きたい
.B f.c
というファイルがあるとします。もし、まだ作成していなければ、
\*r ディレクトリを以下のコマンドにより作成します。
.IP
.B "mkdir RCS"
.LP
次に ci (チェックイン) コマンドを実行します。
.IP
.B "ci f.c"
.LP
これにより、
.B f.c
の内容をリビジョン 1.1 として記録
した \*r ファイルが
.B RCS
ディレクトリ内に
作成され、
.B f.c
は削除されます。また、
.B ci
.B f.c
関する説明文の入力を促します。
説明文にはファイルの内容を要約して書きます。
以降
.B ci
を実行するたびに、ファイルに加えた変更の要約を入力するように促します。
.PP
\*r ディレクトリにあるファイルは \*r ファイルと呼ばれ、
それ以外のファイルはワークファイルと
呼ばれます。先の例で挙げたワークファイル
.B f.c
を取り戻す
には
.B co
(チェックアウト) コマンドを実行します。
.IP
.B "co f.c"
.LP
このコマンドは \*r ファイル中の最新のリビジョンを取り出してファイル
.B f.c
に書き出します。
もし、
.B f.c
に変更を加えたければ、次のコマンドを使ってチェックアウトしロック
しなければいけません。
.IP
.B "co \-l f.c"
.LP
これで
.B f.c
を編集することができます。
.PP
ある程度編集したところで、どのような変更を加えたか
知りたくなるときがあります。
この場合は、以下のコマンドを実行します。
.IP
.B "rcsdiff f.c"
.LP
このコマンドは、最後にチェックインしたリビジョンと
ワークファイルの違いを表示します。編集が終わったら、
以下のコマンドにより、もう一度チェックインすることができます。
.IP
.B "ci f.c"
.LP
これにより、リビジョン番号が自動的に付け直されます。
.PP
もし
.B ci
.IP
.BI "ci error: no lock set by " "your name"
.LP
というエラーメッセージを出力したなら、
それは、ロックせずにチェックアウトしたファイルを
チェックインしようとしたからです。もちろん、
ここでロックしチェックアウトし直すのでは遅すぎます。
ここでチェックアウトすると、あなたが行った編集は
上書きされて失われてしまうからです。
かわりに、以下のコマンドを実行します。
.IP
.B "rcs \-l f.c"
.LP
これは、ほかに誰もロックしていなければ、最新のリビジョンを
ロックします。もし、すでに誰かがロックしてしまっていたなら、
その人と相談しなければなりません。
.PP
ロックすることにより、あなただけがファイルを更新(チェックイン)
できるようになり、同時に複数の人が同じファイルを編集する際の
厄介な問題を回避することができます。たとえリビジョンが
ロックされていても、そのファイルをチェックアウトして内容を見たり、
コンパイルすることは可能です。ロック機構は、ロックした人
以外が
.I チェックイン
できないようにするだけです。
.PP
もし扱う \*r ファイルが個人的なもの、すなわち
そのファイルに対して新しいリビジョンをチェックインするのが
あなただけである場合、厳格なロック機構は必要ないでしょう。
厳格なロック機構はオフにすることもできます。
もし厳格なロックモードがオフになっているなら、
\*r ファイルの所有者はロックしていないファイルをチェックイン
することができます(それ以外の人はロックが必要です)。
厳格なロックモードのオンとオフは、
それぞれ以下のコマンドにより行います。
.IP
.BR "rcs \-L f.c" " 及び " "rcs \-U f.c"
.LP
もしワークディレクトリに \*r ファイルをまき散らしたく
ないなら、\*r という名前のディレクトリを作成し、\*r ファイルを
すべてその下に移動します。\*r コマンドは \*r ファイルを探すとき、
まず、
.B RCS
ディレクトリを検索します。この場合も、これまでに述べてきたコマンドは
引数をいっさい変更せずに実行できます(実際は \*r に \*r ファイルと
ワークファイルの対を指示する方法は 3 通りあります:
(a) 両方を指定する、(b) ワークファイルのみを指定する、
(c) \*r ファイルのみを指定する。\*r ファイルとワークファイルは
自由なパスに置くことができますが、\*r コマンドはファイルの対を
インテリジェントに探します)。
.PP
チェックインしたときにワークファイルが削除されないようにする
(編集を続けたり、コンパイルしたりする場合)には以下のコマンドを使います。
.IP
.BR "ci \-l f.c" " あるいは " "ci \-u f.c"
.LP
これらのコマンドは通常どおり
.B f.c
をチェックインします。しかし、自動的にチェックアウトも行います。
最初の例ではロックを行い、2 番目の例ではロックを行いません。
このようにすればチェックアウト操作を 1 回省けます。
最初の例は編集を続ける場合に、2 番目の例は単にファイルを
読みたかったりコンパイルしたりする場合に便利です。どちらの場合も、
ワークファイル中の識別用マーカ(後述)が更新されます。
.PP
.B ci
にチェックインするリビジョンの番号を指定することができます。
それまでのリビジョンが 1.1、1.2、1.3... だったときに、以下の
コマンドによりリリース2 を開始することができます。
.IP
.BR "ci \-r2 f.c" " あるいは " "ci \-r2.1 f.c"
.LP
これにより、新しいリビジョンには番号 2.1 がつけられます。以降、
.I ci
はこの
ファイルの新しいリビジョンに 2.2、2.3...と番号をつけていきます。
対応した以下の
.B co
コマンド
.IP
.BR "co \-r2 f.c" " 及び " "co \-r2.1 f.c"
.PP
は、リビジョン番号が
.RI 2. x
である最新のリビジョン、リビジョン 2.1 をそれぞれ
チェックアウトします。
.B co
にリビジョン番号を指定しない場合、幹(trunk)の上の最新のリビジョン
(すなわち、x.x の形式で最大のリビジョン番号を持つリビジョン)が
チェックアウトされます。リビジョンの枝(branch)を用いるためには 3 つ
以上の番号が必要になります。
たとえば、1.3 から枝を作成するには、以下のコマンドを実行します。
.IP
.B "ci \-r1.3.1 f.c"
.LP
これにより、リビジョン 1.3 上に番号 1 の枝を作成し、
枝上の最新リビジョンとして 1.3.1.1 を割り当てます。
枝の詳細については
.BR rcsfile (5)
を参照してください。
.SS "自動識別"
\*r は、リビジョンの識別のために特別な文字列をソースや
オブジェクトコードに埋め込むことができます。
リビジョンの識別を行うためには、以下の文字列(マーク)
.IP
.B "$\&Id$"
.LP
をコメントなどのテキスト部分に書きます。
\*r は、このマークを次の形式の文字列に置換します。
.IP
.BI $\&Id: " ファイル名 リビジョン 日付 時刻 作者 状態 " $
.LP
このようなマークをモジュールのソースコードの 1 ページ目に
置くことにより、編集しているファイルのリビジョンを
すぐに判断することができます。\*r はマークの更新を自動的に行います。
マークをオブジェクトコードに組み込むには、それをリテラルな
文字列中に含めます。C 言語では、以下のようにします。
.IP
.ft 3
static char rcsid[] = \&"$\&Id$\&";
.ft
.LP
.B ident
コマンドは、オブジェクトファイルやダンプ出力からもマークを探し表示することが
できます。従って
.B ident
コマンドを用いることにより、あるプログラムがどのモジュールの
どのリビジョンによって作成されたかを知ることができます。
.PP
マーク
.B $\&Log$
をテキストやコメント内に含めることも有用かもしれません。
このマークはチェックインのときに要求されたログを蓄えていきます。
これにより、変更の履歴を直接、ファイルに記録するこができます。
\*r にはほかにもいくつかのマークがあります。詳しくは
.BR co (1)
を参照してください。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993 Paul Eggert.
.SH 関連項目
ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.br
diff --git a/ja/man/man1/rcsmerge.1 b/ja/man/man1/rcsmerge.1
index e4970f3554..b7201a55b7 100644
--- a/ja/man/man1/rcsmerge.1
+++ b/ja/man/man1/rcsmerge.1
@@ -1,192 +1,192 @@
.de Id
.\" jpman %Id: rcsmerge.1,v 1.3 1997/08/19 03:05:27 h-nokubi Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsmerge.1,v 1.2 1995/10/28 21:50:50 peter Exp %
+.Id %Id: rcsmerge.1,v 1.4 1997/02/22 15:48:06 peter Exp %
.ds r \&\s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.TH RCSMERGE 1 \*(Dt GNU
.SH 名称
rcsmerge \- RCS ファイルのリビジョンを併合する
.SH 書式
.B rcsmerge
.RI [ options ] " file"
.SH 解説
.B rcsmerge
は \*r の 2 つのリビジョン間の変更点を対応するワークファイルに適用します。
.PP
\*r 拡張子にマッチするパス名は \*r ファイルであるとみなし、
その他はワークファイルであるとみなします。
名前の対応については
.BR ci (1)
を参照してください。
.PP
後述するオプション(通常は
.B -r
)によって、少なくとも1つのリビジョンを指定する必要があります。
最大で 2 つのリビジョンを指定することができます。
1 つのリビジョンのみが指定された場合、もう1つのリビジョンとして、
デフォルト枝(通常は幹で最大の番号を持つ枝) の最新リビジョンが用いられます。
リビジョンは、数字またはシンボルで指定できます。
.PP
もし重複が発生すると、
.B rcsmerge
は警告メッセージを表示し、重複した領域
.BR merge (1)
で説明されているような形式で出力します。
本コマンドはチェックアウトしたリビジョンに一連の変更を加えるのに便利です。
.SH オプション
.TP
.B \-A
もしサポートされていれば、
.BR diff3 (1)
.B \-A
スタイルで矛盾点を出力します。
.I file2
から
.I file3
への変更点全てを
.IR file1
に適用し、大変詳細な情報を出力します。
.TP
\f3\-E\fP, \f3\-e\fP
これらは、
.BR \-A
よりも情報量が少ない形式で矛盾点を出力するスタイルを指定するものです。
詳細は
.BR diff3 (1)
を参照して下さい。
デフォルトは
.BR \-E
です。
.BR \-e
を指定すると、
.B rcsmerge
は矛盾点の警告を行ないません。
.TP
.BI \-k subst
キーワード置換において、
.I subst
で指定された形式を用います。詳細は
.BR co (1)
を参照してください。例えば、
.B "\-kk\ \-r1.1\ \-r1.2"
.B 1.1
から
.B 1.2
への変更を併合する際に、キーワードの違いを無視します。
バイナリファイルをテキストであるかのようにリビジョン併合することは、普通、
意味を持ちません。
ですから
.B rcsmerge
.B \-kb
が指定されているとファイルのリビジョン併合を行ないません。
.TP
.BR \-p [\f2rev\fP]
結果をワークファイルに上書きせずに、標準出力に書き出します。
.TP
.BR \-q [\f2rev\fP]
静かに動作します。診断メッセージは表示されません。
.TP
.BR \-r [\f2rev\fP]
リビジョン
.I rev
に関して併合を行います。
.I rev
を指定しない場合は、デフォルト枝の最新リビジョン(通常は先頭)を使用します。
.TP
.B \-T
このオプションは意味を持ちません。
他の \*r コマンドとの互換性のために存在します。
.TP
.BI \-V
\*r のバージョン番号を表示します。
.TP
.BI \-V n
\*r システムのバージョン
.I n
のエミュレーションを行います。詳細は
.BR co (1)
を参照してください。
.TP
.BI \-x "suffixes"
\*r ファイル拡張子を
.I suffixes
とします。詳しくは
.BR ci (1)
を参照してください。
.TP
.BI \-z zone
キーワード置換時のタイムゾーンを
.I zone
とします。詳しくは
.BR co (1)
を参照してください。
.SH 例
すでにリリースしたリビジョン 2.8 の
.B f.c
というファイルがあるとします。
ここで、まだリリースしていないリビジョン 3.4 が完成したときに、
他人から 2.8 を改良したものを受けとったとします。
この改良と、あなたが 2.8 から 3.4 の間に行った変更を併合するには
次のようにします。
.LP
.B " rcsmerge \-p \-r2.8 \-r3.4 f.c >f.merged.c"
.PP
ここで、併合された
.B f.merged.c
を検査します。
もし、2.8 に対する更新部分を \*r ファイル中に保存しておきたいと考えるなら、
それを 2.8.1.1 というリビジョンでチェックインし、その後で
.BR "co \-j"
を実行します。
.LP
.B " ci \-r2.8.1.1 f.c"
.br
.B " co \-r3.4 \-j2.8:2.8.1.1 f.c"
.PP
別の例として、以下のコマンドはリビジョン 2.4 から 2.8 への変更をすでに
チェックアウトいるワークファイル
.B f.c
から取り消します。
.LP
.B " rcsmerge \-r2.8 \-r2.4 f.c"
.PP
指定するリビジョン番号の順番に注意してください。また、
.B f.c
が上書きされ
ることにも注意してください。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
コマンドライン引数に先立って指定すべきオプションを空白で区切って指定します。
詳しくは
.BR ci (1)
を参照してください。
.SH 診断
併合によって重複が生じなければ終了ステータス 0 を、重複があれば 1 を、
問題が発生した場合は 2 を返します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
ci(1), co(1), ident(1), merge(1), rcs(1), rcsdiff(1), rcsintro(1), rlog(1),
rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.br
diff --git a/ja/man/man1/rdist.1 b/ja/man/man1/rdist.1
index 836e8c155e..56a953817b 100644
--- a/ja/man/man1/rdist.1
+++ b/ja/man/man1/rdist.1
@@ -1,442 +1,444 @@
.\" Copyright (c) 1985, 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.
.\"
.\" @(#)rdist.1 8.3 (Berkeley) 3/17/94
.\" jpman %Id: rdist.1,v 1.2 1997/06/05 02:50:01 yugawa Stab %
.\" Original revision: 1.3.2.5
.\"
.Dd March 17, 1994
.Dt RDIST 1
.Os BSD 4.3
.Sh 名称
.Nm rdist
.Nd リモートファイル配布プログラム
.Sh 書式
.Nm rdist
-.Op Fl nqbRhivwy
+.Op Fl nqbRhivwyD
.Op Fl P Ar rshcmd
.Op Fl f Ar distfile
.Op Fl d Ar var=value
.Op Fl m Ar host
.Op Ar name ...
.Nm rdist
-.Op Fl nqbRhivwy
+.Op Fl nqbRhivwyD
.Op Fl P Ar rshcmd
.Fl c
.Ar name ...
.Oo login@ Oc Ns Ar host Ns Op :dest
.Sh 解説
.Nm
は、複数のホストに対し、ファイルの内容を同一に維持するためのプログラムです。
本プログラムによるファイルコピーでは、可能な限り所有者、グループ、
アクセスモード、そして更新時刻を保存しようとします。
そして、現在実行中のプログラムの更新も可能です。
.Nm
は、コマンドを
.Ar distfile
から読み出し、その内容に従ってファイルやディレクトリの更新を制御します。
.Pp
第 1 の書式特有のオプション:
.Pp
.Bl -tag -width indent
.It Fl
.Ar distfile
.Sq Fl
を指定した場合、標準入力からデータを入力します。
.It Fl f Ar distfile
指定した
.Ar distfile
を使用します。
.El
.Pp
.Fl f
オプションも
.Sq Fl
オプションも指定されない場合には、本プログラムは最初に
.Dq Pa distfile
を、次に
.Dq Pa Distfile
を探し、入力として使用します。
コマンド行にて何の指定も与えられない場合には、
.Nm
は、
.Ar distfile
に記述されたすべてのファイルとディレクトリを更新します。
それ以外の場合では、引数は、更新対象となるファイル名あるいは
実行されるコマンドのラベルと解釈されます。
ラベルやファイル名が衝突する場合には、すべてラベルとして取り扱います。
これらの名前は、指定したコマンドを用いて指定したファイルを更新するのに
用いられます。
.Pp
第 2 の書式特有のオプション:
.Pp
.Bl -tag -width Fl c
.It Fl c
.Nm
に、残りの引数を小規模の
.Ar distfile
として解釈するように指示します。
.Pp
このオプションを使用した場合と等価な distfile は、以下のようになります。
.Pp
.Bd -filled -offset indent -compact
.Pq Ar name ...
.Li ->
.Op Ar login@
.Ar host
.Bd -filled -offset indent -compact
.Li install
.Op Ar dest ;
.Ed
.Ed
.El
.Pp
両方の書式に共通のオプション:
.Pp
.Bl -tag -width Ic
.It Fl P Ar rshcmd
.Xr rsh 1
と同様な機能を持つ他のプログラムをリモートサーバへの転送に使用します。
指定したプログラムはリモートサーバへバイナリ透過な経路を使用できる必要が
あり、コマンド引数の書式が
.Xr rsh 1
と互換でなければなりません。
.It Fl d Ar var=value
.Ar var
に対して
.Ar value
を代入することを定義します。
.Fl d
オプションは、変数を定義したり、
.Ar distfile
中の変数を変更したりするのに用いられます。
.Ar value
には、空白文字列、名前、もしくは括弧で囲まれて、タブやスペースで区切ら
れた名前の列挙が指定可能です。
.It Fl h
シンボリックリンクを追いかけます。リンクしてあるファイルの場合、リンクファ
イルそのものでなく、リンク先にある実体をコピーします。
.It Fl i
解決できないリンクを無視します。
.Nm
は、通常はリンクファイルについてもコピーを行ない、リンクが解決出来ない場合
には、その旨をユーザに通知します。
.It Fl m Ar host
ファイルを更新するホストを制限します。
複数の
.Fl m
引数を指定する事で、
.Ar distfile
に記述のあるホスト名の中から複数のホスト名を選択して与えることが可能です。
.It Fl n
実行しないで、コマンド自身を表示します。本オプションは
.Ar distfile
のデバッグに有効です。
.It Fl q
QUIETモードに入ります。更新されるファイルについては、通常は標準出力に
表示されますが、
.Fl q
オプションはこの出力を抑制します。
.It Fl R
無関係なファイルを削除します。ディレクトリを更新する場合に、
リモートホスト上に存在するファイルが、配布元のディレクトリ中に存在しないなら、
該当するファイルを削除します。本オプションは、配布元と配布先で完全にディ
レクトリ配下の内容を一致させたい場合に有効です。
.It Fl v
すべてのホストのファイルが最新の物であるかの確認を行ないます。すべての
古いファイルについては一覧が表示されますが、そのファイルが変更されたり、
そのファイルに関してシステムからメールが届いたりすることはありません。
.It Fl w
WHOLE モードを有効にします。指定されたファイル名全体が、配布先ディレクトリ名の
後に付加されます。通常は、ファイル名からディレクトリ名を取り除いた
最後の部分のみがファイル名を変更する時に使われます。
本オプションは、ディレクトリ構造をフラットにせず、配布元のディレクトリ
構造をそのまま配布先に持っていきたい場合に用いられます。例えば、
( dir1/f1 dir2/f2 )のように表されるファイルを、dir3 というディレクトリに
配布した場合、配布先では dir3/f1 や dir3/f2 ではなく、
dir3/dir1/f1 や dir3/dir2/f2 が作成されます。
.It Fl y
YOUNGERモードを有効にします。通常、ファイルの更新は、
.Ar mtime
.Ar size
(
.Xr stat 2
参照)
が一致しない場合に行なわれます。しかし、
.Fl y
オプションが有効になっている場合には、
.Nm
は、配布元のファイルより新しいファイルは更新しません。
通常本オプションは、他のホストに存在する、より新しいファイルを置き換えない
目的で用いられます。
-配布元より新しいファイルが配布先にあった場合には、その旨を通知するメッセー
-ジが表示されます。
+配布元より新しいファイルが配布先にあった場合には、その旨を通知する
+メッセージが表示されます。
+.It Fl D
+デバッグモード。
.El
.Pp
.Ar distfile
は、コピーされるファイル、配布先ホスト、そして更新のための手順を指定
するエントリを含みます。各エントリは、以下の形式のいずれかに分類され
ます。
.Pp
.Bd -literal -offset indent -compact
<variable name> `=' <name list>
[label:]<source list> `\->' <destination list> <command list>
[label:]<source list> `::' <time_stamp file> <command list>
.Ed
.Pp
一番目の形式は、値を定義するのに用いられます。
二番目の形式は、他のホストへファイルを配布するのに用いられます。
三番目の形式は、指定した日付以降に更新されたファイルの一覧を作成するのに
用いられます。
.Ar source list
は、配布元のファイルやディレクトリの一覧を指定します。
.Ar destination list
は、ファイルの配布先のホスト一覧です。配布元ファイルリスト (source
list) 中の各ファイルが、更新を行なおうとしているホストにおいて古いもの
である(二番目の形式)か、または、指定のファイルのタイムスタンプより新し
い場合(三番目の形式)には、変更対象リストに追加されます。
.Pp
ラベルの使用は、任意です。ラベルについては、部分的な変更を行う場合
に、コマンドを識別するために用いられます。
.Pp
改行、タブ、そして空白は、セパレータとしてのみ用いられ、それ以外の場で
用いられた場合には無視されます。コメントは、`#' で始まり改行で終ります。
.Pp
`$' で始まり、1文字もしくは `{''}' でくくられた名前の変数については、処理中に
その値に置き換えられます(最後に出てくる例を参照して下さい)。
.Pp
配布元ファイルリストと配布先ホストリストの一覧は、以下の形式を取ります。
.Bd -literal -offset indent
<名前>
.Ed
または
.Bd -literal -offset indent -compact
`(' <空白で区切られた 0 個以上の名前> `)'
.Ed
.Pp
シェルのメタ文字であるところの `[', `]', `{', `}', `*', そして `?'
は、(配布元のホスト上でのみ)
.Xr csh 1
同様に解釈され、展開されます。
これは、バックスラッシュを用いて回避する事が出来ます。
`~' 文字もまた、
.Xr csh 1
同様に展開されますが、配布元と配布先のホストで別々に展開されます。
.Fl w
オプションが `~' ではじまるファイル名とともに用いられた場合、ホームディ
レクトリを除くすべてのファイル/ディレクトリ名が配布先の名前に加えられます。
`/' や `~' 以外の文字ではじまるファイル名は、配布先のユーザのホームディ
レクトリをルートディレクトリとみなして、指定されたファイルの名前を
追加して配布先でのファイル名を作成します。
.Pp
コマンドリストは、以下の形式に従った、0 個以上のコマンドからなります。
.Bd -ragged -offset indent -compact
.Bl -column except_patx pattern\ listx
.It `install' <options> opt_dest_name `;'
.It `notify' <name list> `;'
.It `except' <name list> `;'
.It `except_pat' <pattern list> `;'
.It `special' <name list> string `;'
.El
.Ed
.Pp
.Ic install
コマンドは、古いファイルやディレクトリをコピーするのに用いられます。
各配布元のファイルは、配布先ホストリスト中の各ホストへコピーさ
れます。ディレクトリも同様にして、再帰的にコピーされます。
.Ar Opt_dest_name
は、ファイル名を変更するための任意的なパラメータです。
.Ic install
コマンドがコマンドリストに存在しない場合や、配布先での
ファイル名が指定されていない場合、配布元のファイル名がそ
のまま配布先でのファイル名として採用されます。
パス名に含まれるディレクトリが配布先のホスト上に存在しない
場合には、そのディレクトリを作成します。
不慮の事故を回避するために、配布先のホスト上に空でないディレクトリがあっ
ても、通常のファイルやシンボリックリンクに置き換えたりはしません。
しかし、`\-R'オプションを付加して実行した場合には、配布元のディレクト
リに当該ファイルが存在しなければ、空でないディレクトリでも削除されます。
.Ar option
には、`\-R', `\-h', `\-i', `\-v', `\-w', `\-y', `\-b'
があり、それらが配布元ファイルリストに記述されたファイルに対
してのみ適用される事を除いて、コマンドライン中に指定した事と同じ意味と
なります。
配布先ホストにおけるログイン名は、配布元でのログイン名と同じですが、配
布先のログイン名が ``login@host" という形式で指定されている場合にはこの
限りではありません。
.Pp
.Ic notify
コマンドは、更新されたファイル一覧(および、発生した何らかのエラー)をメール
によって通知する場合に用いられます。
指定のメールアドレス中に `@' がない場合には、配布先のホスト名がメールア
ドレスに付加されます(例: name1@host, name2@host, ...)。
.Pp
.Ic except
コマンドは、
.Ar name list
に列挙されているファイルを除き、配布元ファイルリストに記述されているすべての
ファイルを更新するのに用いられます。
本コマンドは、特定ファイルを除くすべてのファイルをコピーするのに用い
られます。
.Pp
.Ic except_pat
コマンドは、
.Ic except
コマンドと似てますが、
.Ar pattern list
として正規表現を用いたリストを指定できるところが異なります
(詳細については、
.Xr re_format 7
を参照して下さい)。
ファイル名に含まれる文字列が、正規表現のパターンに一致すると、そのファ
イルは無視されます。
`\e' が文字をクオートする事に注意して下さい。正規表現に含めるためには、
2 個続ける必要があります。
.Ar pattern list
の中の変数は展開されますが、シェルのファイルパターンマッチ方法とは異なります。
`$' を含めるためには、`\e' を用いてエスケープする必要があります。
.Pp
.Ic special
コマンドは、
.Ar name list
にて指定されたファイルを更新、または、コピーした後に、配布先の
ホスト上で実行される
.Xr sh 1
コマンドを指定するのに用いられます。
.Ar name list
が省略された場合には、シェルコマンドは各ファイルの更新が終了する度に
実行されます。シェル変数 `FILE' には、
文字列
.Ar string
で指定したコマンドを実行する前に、直前に処理したファイル名が格納されます。
文字列
.Ar string
を、`"'で囲む事で、
.Ar distfile
において複数行にわたって記述する事が出来ます。
シェルに対する複数の実行コマンドは、`;'で区切られる必要があります。
指定されたコマンドは、ファイルの更新を行なおうとしている配布先ホストの
当該ユーザのホームディレクトリで実行されます。
.Ar special
コマンドは、プログラムがファイルを更新した後にプライベートデータベース
を再構築する用途をはじめとして、いろいろな場面で用いる事が出来ます。
.Pp
以下に示す例は簡単な一例です。
.Bd -literal -offset indent
HOSTS = ( matisse root@arpa )
FILES = ( /bin /lib /usr/bin /usr/games
\t/usr/include/{*.h,{stand,sys,vax*,pascal,machine}/*.h}
\t/usr/lib /usr/man/man? /usr/ucb /usr/local/rdist )
EXLIB = ( Mail.rc aliases aliases.dir aliases.pag crontab dshrc
\tsendmail.cf sendmail.fc sendmail.hf sendmail.st uucp vfont )
${FILES} -> ${HOSTS}
\tinstall -R ;
\texcept /usr/lib/${EXLIB} ;
\texcept /usr/games/lib ;
\tspecial /usr/lib/sendmail "/usr/lib/sendmail -bz" ;
srcs:
/usr/src/bin -> arpa
\texcept_pat ( \e\e.o\e$ /SCCS\e$ ) ;
IMAGEN = (ips dviimp catdvi)
imagen:
/usr/local/${IMAGEN} -> arpa
\tinstall /usr/local/lib ;
\tnotify ralph ;
${FILES} :: stamp.cory
\tnotify root@cory ;
.Ed
.Sh 関連ファイル
.Bl -tag -width /tmp/rdist* -compact
.It Pa distfile
入力コマンドファイル
.It Pa /tmp/rdist*
更新リストのために用いられる一時ファイル
.El
.Sh 関連項目
.Xr csh 1 ,
.Xr sh 1 ,
.Xr stat 2 ,
.Xr re_format 7
.Sh 歴史
.Nm
コマンドは、
.Bx 4.3
から登場しました。
.Sh 診断
.Nm
のバージョン不一致についての通知は、実際にはシェルを起動する際の
何らかの問題に起因して発生します。例えば、ユーザの所属グループがあまり
多すぎるなどが挙げられます。
.Pp
.Nm
は、
.Xr rcmd 3
タイプのリモートサービス実行が、静かに成功することに依存します。
よくある誤りとしては、非対話の初期化スクリプト、例えば
.Pa .cshrc
が出力を行なってしまうことがあります
(出力を行う他のプログラムを実行するものの、
そのプログラムが端末に接続されていないということもあります --
よくある原因が
.Xr stty 1
です)。
このような余計な出力のために、
.Nm
が失敗して次のようなエラーメッセージが表示されます:
.Pp
.Dl rdist: connection failed: version numbers don't match
.Sh バグ
配布元ファイルは、
.Nm
コマンドが起動される配布元ホストに存在しなければなりません。
.Pp
ディレクトリ配下のすべてのファイルが更新された後に特定のコマンドを実行
するのは困難です。
.Pp
変数の置換は、name list に対してのみ働きます。より一般的なマクロ
の機能があるべきでしょう。
.Pp
.Nm
は、負 (1970 年 1 月 1 日以前の日付)の mtime を持つファイルに対してのアクセスを
行うと異常終了します。
.Pp
空でないディレクトリを通常ファイルやシンボリックリンクで置換できる、
`force' オプションがあるべきでしょう。内容自体は一致しているファイルのモード
や所有者を更新する方法も必要でしょう。
diff --git a/ja/man/man1/rlog.1 b/ja/man/man1/rlog.1
index 4f6e2ed633..a92a07031d 100644
--- a/ja/man/man1/rlog.1
+++ b/ja/man/man1/rlog.1
@@ -1,309 +1,309 @@
.de Id
.\" jpman %Id: rlog.1,v 1.2 1997/06/03 11:46:09 bobson Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rlog.1,v 1.4.2.1 1997/01/26 07:48:21 mpp Exp %
+.Id %Id: rlog.1,v 1.7 1997/02/22 15:48:10 peter Exp %
.ds i \&\s-1ISO\s0
.ds r \&\s-1RCS\s0
.ds u \&\s-1UTC\s0
.if n .ds - \%--
.if t .ds - \(em
.TH RLOG 1 \*(Dt GNU
.SH 名称
rlog \- RCS ファイルのログメッセージや、その他の関連情報を表示する
.SH 書式
.B rlog
.RI [ " options " ] " file " .\|.\|.
.SH 解説
.B rlog
は \*r ファイルに関する情報を表示します。
.PP
\*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、
その他のファイル名はワークファイルであるとみなします。
.BR ci (1)で説明しているように、ファイル名は RCS ファイルと
ワークファイルのペアになっています。
.PP
.B rlog
は、各 \*r ファイルの以下の情報を表示します: \*r ファイルのパス名、
ワークファイルのパス名、ヘッド(幹で最新のリビジョン)、デフォルト枝、
アクセスリスト、ロック状況、シンボル名、拡張子、総リビジョン数、
指定されたリビジョンの数、内容記述。以上の情報に加え、新しいものから順に
選択されたリビジョンのリストが表示されます。各リビジョンに関して、
.B rlog は、
リビジョン番号、作者、日時、状態、(直前のリビジョンから)追加/削除された行数、
ロック者、ログメッセージを表示します。
デフォルトでは、表示されるすべての時刻は Coordinated Universal Time (\*u)
です ;
これは
.BR \-z
オプションで書き換え可能です。
オプションを指定しない場合、
.B rlog
は以上のすべての情報を表示します。
以下のオプションにより表示する内容を限定することができます。
.nr n \w'\f3\-V\fP\f2n\fP'+2n-1/1n
.ds n \nn
.if \n(.g .if r an-tag-sep .ds n \w'\f3\-V\fP\f2n\fP'u+\n[an-tag-sep]u
.TP \*n
.B \-L
ロックされていない \*r ファイルを無視します。
.B \-h
.B \-l
.B \-R
オプションと組み合わせると便利です。
.TP
.B \-R
\*r ファイル名のみを表示します。ワークファイルのパス名を \*r ファイル
名に変換するのに便利です。
.TP
.BI \-v "[string]"
ワーキングファイルの名前とデフォルト枝(の枝)の先端リビジョンだけを表示します。
.I [string]
で指定した文字列は出力行の先頭に出力されます。
.TP
.B \-h
\*r ファイルのパス名、ワークファイルのパス名、ヘッド、デフォルト枝、ア
クセスリスト、ロック者、シンボル名、拡張子を表示します。
.TP
.B \-t
.BR \-h
の情報に追加して内容記述を表示します。
.TP
.B \-N
シンボル名を表示しません。
.TP
.B \-b
デフォルト枝に関する情報を表示します。通常は、幹の最も大きな番号を持つ枝
です。
.TP
.BI \-d "dates"
セミコロンで区切られた、登録日時の範囲にあるリビジョンに関する情報を
表示します。
.IB d1 < d2
または
.IB d2 > d1
なる形式の範囲は、日時
.I d1
から日時
.I d2
までの間 (d1とd2は除く) に登録されたリビジョンを指定します。
.BI < d
または
.IB d >
なる形式の範囲は、日時
.IR d
より前に登録されたすべてのリビジョンを指定します。
.IB d <
または
.BI > d
なる形式の範囲は日時
.IR d
より後を指定します。
もし
.B <
または
.B >
.B =
が続いていれば、範囲は両端を含むようになります。
.I d
なる形式の範囲は日時
.I d
以前の最新のリビジョンを指定します。
.I d
.I d1
.I d2
.BR co (1)
に記述されている自由形式の日時です。
通常
.B <
.B >
を使う場合にはクォートが必要です。要素の区切りがセミコロンであることに
注意してください。
.TP
.BR \-l [\f2lockers\fP]
ロックされているリビジョンに関する情報のみを表示します。コンマで区切られた
ユーザ名のリスト
.I lockers
が指定された場合は、指定されたユーザがロックしたリビジョンに関する情報のみを
表示します。例えば、
.BI "rlog\ \-L\ \-R\ \-l" wft "\ RCS/*"
はユーザ
.I wft
がロックしている \*r ファイル名を表示します。
.TP
.BR \-r [\f2revisions\fP]
コンマで区切られたリビジョンのリスト
.I revisions
で指定されたリビジョンに関する情報のみを表示します。
.IB rev1 : rev2
の形式の範囲指定は、同一枝上の
.I rev1
から
.I rev2
までを、
.BI : rev
は枝上の最初のリビジョンからリビジョン
.I rev
までを、
.IB rev :
はリビジョン
.I rev
から枝上の最後のリビジョンまでを示します。引数に枝番号を指定した場合は、
その枝上のすべてのリビジョンに関する情報が表示されます。
枝番号による範囲指定は、範囲内の枝上のすべてのリビジョンを示します。
.I revisions
が省略された場合は、デフォルト枝(通常は幹)上の最新リビジョンの情報のみを
表示します。
.TP
.BI \-s states
状態が
.I states
であるリビジョンの情報のみを表示します。
.I states
はコンマで区切った状態名のリストです。
.TP
.BR \-w [\f2logins\fP]
.I logins
で指定したユーザが登録したリビジョンに関する情報のみを表示します。
.I logins
はコンマで区切ったユーザ名のリストです。
.I logins
が省略された場合は、
.B rlog
を起動したユーザ名が用いられます。
.TP
.B \-T
このオプションの効果はありません ;
ほかの \*r コマンドとの互換性を保つために存在しています。
.TP
.BI \-V
\*r システムのバージョンを表示します。
.TP
.BI \-V n
ログの生成時に、\*r システムのバージョン
.I n
のエミュレーションを行います。詳細は
.BR co (1)
を参照してください。
.TP
.BI \-x "suffixes"
\*r ファイル拡張子を指定します。詳しくは
.BR ci (1)
を参照してください。
.PP
.B rlog
は指定されたオプション
.B \-d
.B \-l
.B \-s
.B \-w
のすべてに適合し、かつ
.B \-b
.B \-r
いずれかに適合したリビジョンに関する情報のみを表示します。
.TP
.BI \-z zone
日時の出力形式を指定し、
.BI \-d dates
オプションの
.I date
に対するデフォルトのタイムゾーンを指定します。
.I zone
には何も指定しないか、数字の \*u を指定するか、ローカルタイムのための
特別な文字列
.B LT
を指定します。
デフォルトは何も指定しない空の
.IR zone
で、伝統的な \*u の \*r 形式ですが、タイムゾーンを示す表示はなく、
日付の部分を分割するのにスラッシュを用います ;
他では、\*i 形式でタイムゾーンの表示と一緒に時間を出力します。
例えば、ローカルタイムが 太平洋標準時の 1990 年 1 月 11 日、午後 8 時で、
\*u から 8 時間、西である(遅れている)場合、時間の出力は以下のようになります :
.RS
.LP
.RS
.nf
.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u
.ne 4
\f2option\fP \f2time output\fP
\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(default)\fP
\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP
\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP
.ta 4n +4n +4n +4n
.fi
.RE
.SH 例
.LP
.nf
.B " rlog \-L \-R RCS/*"
.LP
ロックされたすべての \*r ファイル名を出力します。
.LP
.B " rlog \-L \-h RCS/*"
.LP
ロックされたすべての \*r ファイルのヘッダを出力します。
.LP
.B " rlog \-L \-l RCS/*"
.LP
ロックされたすべての \*r ファイルのヘッダとログメッセージを出力します。
.LP
.B " rlog RCS/*"
.LP
すべての \*r ファイルに関するすべての情報を出力します。
.fi
.LP
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
コマンドライン引数に先立って指定すべきオプションを指定します。オプションは
空白で区切って指定します。詳しくは
.BR ci (1)
を参照してください。
.SH 診断
すべての動作が成功した場合に終了ステータス 0 を返します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1),
rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.SH バグ
以前の版の
.B rlog では
.B \-r
オプションにおけるリビジョンの区切りは
.B \-
でした。
しかし、これはシンボリック名が
.B \-
を含んでいるときに混乱を生じます。
従来の版との互換性のため、
.B \-
を用いた記法もサポートしますが、この記法を用いた場合は
警告メッセージを表示します。
.br
diff --git a/ja/man/man1/rm.1 b/ja/man/man1/rm.1
index b4379fdeef..5cb0a5ab41 100644
--- a/ja/man/man1/rm.1
+++ b/ja/man/man1/rm.1
@@ -1,167 +1,167 @@
.\" %NetBSD: rm.1,v 1.7 1995/03/21 09:08:22 cgd Exp %
.\"
.\" Copyright (c) 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
-.\" @(#)rm.1 8.2 (Berkeley) 4/18/94
-.\" %Id: rm.1,v 1.4.2.3 1998/07/16 09:35:46 jkh Exp %
+.\" @(#)rm.1 8.5 (Berkeley) 12/5/94
+.\" %Id: rm.1,v 1.12 1998/05/18 06:37:35 charnier Exp %
.\" jpman %Id: rm.1,v 1.3 1997/05/19 16:49:44 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt RM 1
.Os
.Sh 名称
.Nm rm
.Nd ディレクトリエントリの削除
.Sh 書式
.Nm rm
.Op Fl f | Fl i
.Op Fl dPRrW
.Ar file ...
.Sh 解説
.Nm
は、
コマンドラインから指定された非ディレクトリタイプのファイルを削除します。
指定されたファイルに書き込みパーミッションがなく、
標準入力がターミナルだった場合、
削除を実行してよいかどうかの確認を(標準エラー出力を使って)求めます。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width flag
.It Fl d
ディレクトリも、他のタイプのファイルと同様に削除します。本オプション
なしに file としてディレクトリを指定した場合、エラーになります。
.It Fl f
ファイルのパーミッションに関わらす、確認せずにファイルの
削除を行います。
ファイルが存在しない場合にもエラーメッセージは表示せず、終了ステータス
もエラーを返しません。
.Fl f
オプション以前に書かれた
.Fl i
オプションを無視します。
.It Fl i
ファイルのパーミッションや標準入力がターミナルであるかどうかに関わらず、
指定された各ファイルを削除する前に、確認を求めるようになります。
.Fl i
オプション以前に書かれた
.Fl f
オプションを無視します。
.It Fl P
ファイルを削除する前に上書きします。まず0xffのバイトパターンで、次に
0x00で、そして最後にもう一度0xffで上書きし、削除します。
.It Fl R
引数 file として指定したディレクトリを再帰的に削除します。
.Fl R
オプションは、暗黙のうちに
.Fl d
オプションが指定されたものとします。
.Fl i
オプションが指定されているときには、最初にディレクトリを
削除する/しないの確認が求められ、さらに奥のディレクトリについても
各ディレクトリの中身の削除に移る前に確認が求められます。
確認に対して削除すると答えなかった場合には、それ以下のディレクトリは
スキップされます。
.Pp
.It Fl r
.Fl R
と同じです。
.It Fl W
削除したファイルを回復しようとします。
現在このオプションは、
ホワイトアウトされたファイルを回復するためにのみ使用可能です。
.El
.Pp
.Nm
は、シンボリックリンクを削除するときリンクは削除しますが、
リンクが参照しているファイルは削除しません。
.Pp
ファイル``.''と``..''を削除しようとするとエラーになります。
.Pp
指定したファイルをすべて削除した場合か、
.Fl f
オプションが指定され、存在するファイルがすべて削除された場合に 0 を返します。
エラーが起きた場合は 1 以上の値を返します。
.Sh 注釈
.Nm
は引数をパースするために
.Xr getopt 3
を使用します。getopt は
.Sq Li --
引数を受け付けます。これはフラグオプションの読み込みを終了させます。
それゆえ、ダッシュ
.Sq Li -
で始まるファイルを削除できます。
例えば:
.Dl $ rm -- -filename
絶対もしくは相対参照を用いることで同様の効果が得られます。
例えば:
.Dl rm /home/user/-filename
.Dl rm ./-filename
これはコマンドライン引数を
.Xr getopt 3
で処理しないコマンドにおいて有効です。
.Sh 関連項目
.Xr rmdir 1 ,
.Xr undelete 2 ,
.Xr unlink 2 ,
.Xr fts 3 ,
.Xr getopt 3 ,
.Xr symlink 7
.Sh バグ
.Fl P
オプションではファイルシステムが固定ブロック長であると仮定されます。
UFS は固定長ファイルシステムですが、LFS はそうではありません。
さらに、通常ファイルは上書きされますが、それ以外の種類のファイルは
上書きされません。
.Sh 可搬性
.Nm
は、
.Fl f
オプションが存在しないファイルに対するエラーのみをマスクする点が伝統的
実装と異なります。
.Pp
また、伝統的
.Bx
実装では標準エラー出力ではなく標準出力に確認が出力されていました。
.Sh 規格
.Nm
コマンドは
.St -p1003.2
互換です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/rmdir.1 b/ja/man/man1/rmdir.1
index 82f893a94a..a982e63b34 100644
--- a/ja/man/man1/rmdir.1
+++ b/ja/man/man1/rmdir.1
@@ -1,98 +1,98 @@
.\" %NetBSD: rmdir.1,v 1.9 1995/03/21 09:08:29 cgd Exp %
.\"
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)rmdir.1 8.1 (Berkeley) 5/31/93
-.\" %Id: rmdir.1,v 1.3.2.3 1998/07/16 09:35:48 jkh Exp %
+.\" %Id: rmdir.1,v 1.7 1998/05/18 06:40:54 charnier Exp %
.\" jpman %Id: rmdir.1,v 1.2 1997/03/29 12:05:03 horikawa Stab %
.\"
.Dd May 31, 1993
.Dt RMDIR 1
.Os
.Sh 名称
.Nm rmdir
.Nd ディレクトリの削除
.Sh 書式
.Nm rmdir
.Op Fl p
.Ar directory ...
.Sh 解説
.Nm
は、
.Ar directory
で指定したディレクトリが空の場合、削除を行います。
.Pp
.Nm
は、
.Ar directory
で指定した順番にディレクトリの削除を試みます。
親ディレクトリとそのサブディレクトリを削除する場合は、先にサブディ
レクトリが削除されるようにしなければなりません。
.Nm
が親ディレクトリを削除する時に、
当該親ディレクトリが空となっている必要があるからです。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width indent
.It Fl p
.Ar directory
引数を構成する各ディレクトリに関しても、
そのディレクトリが空の場合、削除を行います。
削除は最後の要素から行います。(
.Xr rm 1
の完全な無差別再帰削除を参照して下さい。)
.El
.Pp
.Nm
は以下のいずれかの値を返します:
.Bl -tag -width Ds
.It Li \&0
引数で指定されるディレクトリは空であり、削除に成功しました。
.It Li \&>\&0
エラーが発生しました。
.El
.Sh 関連項目
.Xr rm 1
.Sh 規格
.Nm
コマンドは
.St -p1003.2
互換です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/rtld.1 b/ja/man/man1/rtld.1
index 5dc91b4e9a..2258842696 100644
--- a/ja/man/man1/rtld.1
+++ b/ja/man/man1/rtld.1
@@ -1,227 +1,227 @@
-.\" %Id: rtld.1,v 1.6.2.3 1997/12/25 09:35:56 hoek Exp %
+.\" %Id: rtld.1,v 1.15 1997/09/13 16:01:41 wosch Exp %
.\"
.\" Copyright (c) 1995 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 acknowledgment:
.\" 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.
.\"
.\" translated to japanese by Mochida Shuji 1995/03/31
.\" jpman %Id: rtld.1,v 1.3 1997/07/06 17:03:02 horikawa Stab %
.Dd June 27, 1995
.Dt RTLD 1
.Os FreeBSD
.Sh 名称
.Nm ld.so
.Nd 実行時リンクエディタ
.Sh 解説
.Nm
は、実行時にシェアードオブジェクトをプロセスのアドレス空間へロードし、
リンク編集する機能を提供する、自己完結・位置非依存のプログラムイメージです。
動的リンクされたプログラム内のデータ構造
.Po
.Xr link 5
参照
.Pc
から、どのシェアードライブラリが必要かを調べ、
.Xr mmap 2
システムコールを使って、それらを適当な仮想アドレスへロードします。
.Pp
全てのシェアードライブラリのロードが完了すると、次に
.Nm
はメインプログラムと、ロードされた全オブジェクトからの大域参照の解決を
行います。初期化ルーチン呼び出しの仕組みが各オブジェクトの単位で提供されて
おり、プログラムが実際に開始される前に、各シェアードオブジェクトに独自の
セットアップを行わせることができます。このことは、静的なコンストラクタを
含む C++ のライブラリに有用です。
.Pp
.Nm
はそれ自体一つのシェアードオブジェクトであり、
.Em crt0
初期化モジュールによって最初にロードされます。
.Xr a.out 5
形式は実行中のプロセス内からファイルヘッダに容易にはアクセスできないので、
.Em crt0
.Va _DYNAMIC
という特殊なシンボルによって、プログラムが動的にリンクされているがどうかを
判別します。たとえリンカ
.Xr ld 1
がこのシンボルを 0 以外の位置に再配置した場合、
.Em crt0
.Nm
による処置が必要と想定します
.Po
詳細は
.Xr link 5
を参照
.Pc \&。
.Em crt0
はプログラムの
.Fn main
ルーチンが呼び出されるより前に
.Nm
のエントリ位置へ制御を移します。こうして、
.Nm
は動的プログラムがダイナミックライブラリ内のサービスを呼び出すより前に、
リンク編集操作を完了します。
.Pp
要求されたシェアードオブジェクトをファイルシステムから迅速に配置するために、
.Nm
.Dq hints
ファイルを使用することがあります。このファイルは
.Xr ldconfig 8
ユーティリティで作成され、シェアードオブジェクトのフルパス指定が 3 つのタプル
.Ao
ライブラリ名, メジャーバージョン番号, マイナーバージョン番号
.Ac
でハッシュ化され格納されています。
.Pp
.Nm
は、以下の種々の環境変数によって動作を変えることができます:
.Pp
.Bl -tag -width "LD_IGNORE_MISSING_OBJECTS"
.It Ev LD_LIBRARY_PATH
コロン区切りのディレクトリリストで、
シェアードライブラリのデフォルト検索パスを上書きします。
セットユーザ ID およびセットグループ ID されているプログラムに関しては
無視されます。
.It Ev LD_PRELOAD
コロン区切りのシェアードライブラリのリストで、
他のシェアードライブラリのリンク前にリンクされます。
ディレクトリが指定されていない場合は、
LD_LIBRARY_PATH で指定されるディレクトリをまず探し、
次に組み込みの標準のディレクトリを探します。
セットユーザ ID およびセットグループ ID されているプログラムに関しては
無視されます。
.It Ev LD_BIND_NOW
空文字列以外に設定すると、
.Nm
はプログラム実行開始前に外部関数呼び出しをリロケートします。
通常、関数呼び出しの結合は各関数の最初の呼び出しまで遅延されます。
.Ev LD_BIND_NOW
はプログラムのスタートアップ時間を増加させますが、
実行中に予期せぬ未定義関数にでくわすことを防ぎます。
.It Ev LD_WARN_NON_PURE_CODE
空文字列以外に設定すると、リンク編集作業でロードされたオブジェクトの
テキストセグメントの修正が必要になる度に警告を出します。
これは通常、ライブラリの作成が正しくないということを示します。
.It Ev LD_SUPPRESS_WARNINGS
空文字列以外に設定すると、どんな種類の警告メッセージも出しません。
通常は、適正なバージョンのライブラリが見つからなければ警告を出します。
.It Ev LD_IGNORE_MISSING_OBJECTS
空文字列以外に設定すると、要求された 1 つ以上のシェアードオブジェクト
がロードできなくとも致命的な状態であるとは扱いません。
ロードおよび実行は利用可能なものを使用して行います。
環境変数
.Ev LD_SUPPRESS_WARNINGS
が空文字列以外に設定されている場合以外は、
存在しないオブジェクトごとに警告を生成します。
.Pp
セットユーザ ID プログラムおよびセットグループ ID プログラム
に関しては、無視されます。
.Pp
以下の条件が全て満される場合には、
存在しないシェアードオブジェクトは無視されます:
.Bl -bullet
.It
要求されているデータシンボルの定義を
これらのシェアードオブジェクトが提供しない。
.It
これらのシェアードオブジェクトが定義する関数を
プログラム実行中に呼出さない。
.It
環境変数
.Ev LD_BIND_NOW
が設定されていないか空文字列に設定されている。
.El
.It Ev LD_TRACE_LOADED_OBJECTS
空文字列以外に設定すると、
.Nm
はシェアードライブラリをロードした後、
全てのオブジェクトの絶対パスを含むサマリを標準出力に出力して終了します。
.It Ev LD_TRACE_LOADED_OBJECTS_FMT1
.It Ev LD_TRACE_LOADED_OBJECTS_FMT2
設定した場合、
.Xr printf 3
風のフォーマット文字列を解釈して
トレース出力のカスタマイズします。
.Xr ldd 1
.Fl f
オプションにて使用可能であり、
.Xr ldd 1
をより便利に使用することが出来ます。
以下の変換を使用可能です:
.Bl -tag -indent "LD_TRACE_LOADED_OBJECTS_FMT1 " -width "xxxx"
.It \&%a
メインプログラム名
.Po
.Dq __progname
と同じ
.Pc 。
.It \&%A
環境変数
.Ev LD_TRACE_LOADED_OBJECTS_PROGNAME
の値。
.It \&%o
ライブラリ名。
.It \&%m
ライブラリのメジャーバージョン番号。
.It \&%n
ライブラリのマイナバージョン番号。
.It \&%p
.Nm rtld
のライブラリ検索規則にて決定されるフルパス名。
.It \&%x
ライブラリのロードアドレス。
.El
.Pp
さらに、
.Sy \en
.Sy \et
とが解釈され、いつも通りの意味を持ちます。
.\" .It Ev LD_NO_INTERN_SEARCH
.\" 設定すると、
.\" .Nm
.\" は実行ファイル内に記録されている検索パスを無視します。
.\" .It Ev LD_NOSTD_PATH
.\" 設定すると、組み込みの標準検索パスを使用しません。
.\" 標準と全く異なったファイルシステムレイアウトのシステムを
.\" 使用する場合に便利です。
.El
.Pp
.Sh 関連ファイル
/var/run/ld.so.hints
.Pp
.Sh 関連項目
.Xr ld 1 ,
.Xr link 5 ,
.Xr ldconfig 8
.Sh 歴史
採用している shared library モデルが最初に登場したのは SunOS 4.0 です。
diff --git a/ja/man/man1/rtprio.1 b/ja/man/man1/rtprio.1
index ebc0e43115..69888f9a7f 100644
--- a/ja/man/man1/rtprio.1
+++ b/ja/man/man1/rtprio.1
@@ -1,200 +1,200 @@
.\"
.\" Copyright (c) 1994, Henrik Vestergaard Draboel
.\" 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 Henrik Vestergaard Draboel.
.\" 4. 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 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: rtprio.1,v 1.6.2.6 1998/07/18 11:12:23 jkh Exp %
+.\" %Id: rtprio.1,v 1.15 1998/03/23 08:28:58 charnier Exp %
.\" jpman %Id: rtprio.1,v 1.3 1997/09/23 16:41:42 horikawa Stab %
.\"
.Dd July 23, 1994
.Dt RTPRIO 1
.Os
.Sh 名称
.Nm rtprio ,
.Nm idprio
.Nd リアルタイム/アイドルタイムスケジューリング優先度の実行・確認・修正
.Sh 書式
.Nm [id|rt]prio
.Nm [id|rt]prio
.Ar [-]pid
.Nm [id|rt]prio
.Ar priority
.Ar command
.Op args
.Nm [id|rt]prio
.Ar priority
.Ar -pid
.Nm [id|rt]prio
.Fl t
.Ar command
.Op args
.Nm [id|rt]prio
.Fl t
.Ar -pid
.Sh 解説
.Nm
はリアルタイムプロセススケジューリングに使用します。
.Pp
.Nm idprio
はアイドルタイムプロセススケジューリングに使用し、
.Nm
と同じオプションにて使用します。
.Pp
リアルタイム優先度のプロセスは優先度低下対象とはならず、
同じもしくはそれ以上のリアルタイム優先度のプロセスのみに横取りされます。
.Pp
アイドル優先度のプロセスは、
実行可能な他のプロセスが存在せず、
優先度が同じもしくはより高い実行可能なアイドル優先度プロセスが存在しない
場合のみ実行します。
.Pp
.Nm
.Nm idprio
を引数無しで実行すると、現在のプロセスのリアルタイム優先度を表示します。
.Pp
.Nm
を引数 1 つと共に実行すると、指定した
.Ar pid
のリアルタイム優先度を返します。
.Pp
.Ar priority
を指定すると、プロセスまたはプログラムをリアルタイム優先度にて実行します。
.Fl t
を指定すると、プロセスまたはプログラムを通常のプロセス
(非リアルタイムプロセス)として実行します。
.Pp
.Ar -pid
を指定すると、
.Ar pid
をプロセス識別子として持つプロセスを修正します。
そうではなく、
.Ar command
を指定すると、プログラムを引数付きで実行します。
.Pp
.Ar Priority
は 0 から RTP_PRIO_MAX (通常 31) の整数値です。
0 は最高の優先度です。
.Pp
.Ar pid
に 0 を指定すると "現在のプロセス" を意味します。
.Pp
root のみがリアルタイム優先度およびアイドル優先度を設定可能です。
.Sh 戻り値
.Nm
がコマンドを実行した場合、このコマンドの終了値が終了値となります。
その他の場合、
.Nm
は成功時には 0 を、エラー時には 1 を終了値とします。
.Sh 使用例
現在のプロセスのリアルタイム優先度を見ます:
.Bd -literal -offset indent -compact
.Sy "rtprio"
.Ed
.Pp
プロセス
.Em 1423
のリアルタイム優先度を見ます:
.Bd -literal -offset indent -compact
.Sy "rtprio 1423"
.Ed
.Pp
.Xr cron 8
を最低のリアルタイム優先度にて実行します:
.Bd -literal -offset indent -compact
.Sy "rtprio 31 cron"
.Ed
.Pp
プロセス
.Em 1423
のリアルタイム優先度を
.Em 16
に変更します:
.Bd -literal -offset indent -compact
.Sy "rtprio 16 -1423"
.Ed
.Pp
.Xr tcpdump 8
を非リアルタイム優先度にて実行します:
.Bd -literal -offset indent -compact
.Sy "rtprio -t tcpdump"
.Ed
.Pp
リアルタイム優先度のプロセス
.Em 1423
.Dv RTP_PRIO_NORMAL
(非リアルタイム/通常の優先度)に変更します:
.Bd -literal -offset indent -compact
.Sy "rtprio -t -1423"
.Ed
.Pp
他のマシンの使用の邪魔をせずに make depend します:
.Bd -literal -offset indent -compact
.Sy "idprio 31 make depend"
.Ed
.Sh 関連項目
.Xr nice 1 ,
.Xr ps 1 ,
.Xr rtprio 2 ,
.Xr setpriority 2 ,
.Xr nice 3 ,
.Xr renice 8
.Sh 歴史
.Nm
.Fx 2.0
から登場しましたが、HP-UX のものに似たバージョンでした。
.Sh 警告
CPU を大量消費するプロセスをリアルタイム優先度で実行すると
システムを操作できなくなります。
.Sh バグ
プロセス 0 (swapper) のリアルタイム優先度を設定及び確認する方法は有りません(
.Xr ps 1
を参照)。
.Pp
.Bx Free
ではプロセスのページがメモリ中に存在することを保証できないため、
プロセスがページインのために停止することが有ります(
.Xr mprotect 2 ,
.Xr madvise 2
参照)。
.Pp
.Bx Free
では、今のところシステムコール内で実行権を横取りされることはありません。
非リアルタイムプロセスが実行中であるために
リアルタイムプロセスに実行権が割り当てられないことや、
アイドルプロセスが実行中であるために
通常優先度プロセスに実行権が割り当てられないことがあります。
.Sh 作者
.An Henrik Vestergaard Draboel Aq hvd@terry.ping.dk
はオリジナルの作者です。
.An David Greenman
.Bx Free
への実装時に、ほとんどを書き直しました。
diff --git a/ja/man/man1/rup.1 b/ja/man/man1/rup.1
index e5e1419d55..39c878f959 100644
--- a/ja/man/man1/rup.1
+++ b/ja/man/man1/rup.1
@@ -1,93 +1,93 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 1985, 1991 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.
.\"
-.\" %Id: rup.1,v 1.3.2.1 1997/08/08 12:06:40 charnier Exp %
+.\" %Id: rup.1,v 1.6 1997/08/07 06:50:02 charnier Exp %
.\" jpman %Id: rup.1,v 1.2 1997/05/07 02:31:39 mutoh Stab %
.\"
.Dd June 7, 1993
.Dt RUP 1
.Os BSD 4.3
.Sh 名称
.Nm rup
.Nd ローカルネットワーク上のマシンの現在のシステム状態を表示する
.Sh 書式
.Nm
.Op Ar host ...
.Sh 解説
.Nm
は、特定の
.Em host
、もしくはローカルネットワーク上のすべてのマシンについて、
現在のシステム状態を表示します。コマンド出力には、現在時刻、システムが立ち上
がってからの経過時間、そしてロードアベレージが表示されます。ロードアベレージ
は、実行キューにつながれているジョブの数を、過去 1 分、5 分、15 分間にわたって
平均化したものです。
.Pp
本コマンドを使用する場合、対象ホスト上で
.Xr rpc.rstatd 8
デーモンが起動している必要があります。
.Nm
は /usr/include/rpcsvc/rstat.x に定義されている RPC プロトコルを
使用します。
.Sh 使用例
.Bd -unfilled -offset indent -compact
example% rup otherhost
otherhost 7:36am up 6 days, 16:45, load average: 0.20, 0.23, 0.18
example%
.Ed
.Sh 診断
.Bl -tag -width indent
.It rup: RPC: Program not registered
rup の対象となるリモートホスト上で
.Xr rpc.rstatd 8
が動作していません。
.It rup: RPC: Timed out
通信エラーが発生しました。ネットワークが極端に混雑しているか、
.Xr rpc.rstatd 8
がリモートホスト上で異常終了しました。
.It rup: RPC: Port mapper failure - RPC: Timed out
リモートホスト上で portmapper (
.Xr portmap 8
参照) が動作しておらず、
RPC ベースのサービスが受けられません。ホストがダウンしている可能性が
あります。
.Sh 関連項目
.Xr portmap 8 ,
.Xr rpc.rstatd 8
.Sh 歴史
.Nm
コマンドは
.Tn SunOS
から登場しました。
.Sh バグ
ソート用のオプションは実装されていません。
diff --git a/ja/man/man1/ruptime.1 b/ja/man/man1/ruptime.1
index b99a40748c..60f76edb05 100644
--- a/ja/man/man1/ruptime.1
+++ b/ja/man/man1/ruptime.1
@@ -1,82 +1,83 @@
.\" Copyright (c) 1983, 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.
.\"
.\" @(#)ruptime.1 8.2 (Berkeley) 4/5/94
+.\" %Id: ruptime.1,v 1.4 1997/02/22 19:56:50 peter Exp %
+.\"
.\" jpman %Id: ruptime.1,v 1.2 1997/05/20 01:35:36 mutoh Stab %
-.\" %Id: ruptime.1,v 1.2 1996/09/23 22:24:20 wosch Exp %
.\"
.Dd April 5, 1994
.Dt RUPTIME 1
.Os BSD 4.2
.Sh 名称
.Nm ruptime
.Nd ローカルネットワーク上の各マシンについて uptime と同様のステータスを表示する
.Sh 書式
.Nm ruptime
.Op Fl alrtu
.Sh 解説
.Nm ruptime
は、ローカルネットワーク上に接続された全マシンについて、
.Ar uptime
と同様の表示を行ないます。この表示は、ネットワーク上の各ホストから 1 分ごとに
ブロードキャストされるパケットをもとに作成されます。
.Pp
状態レポートのブロードキャストが 11 分以上途切れているホストについては、
システムダウンしているものとみなします。
.Pp
以下のオプションが使用可能です。
.Bl -tag -width Ds
.It Fl a
アイドル時間が 1 時間以上のユーザについても表示します。
.It Fl l
ロードアベレージ順にソートします。
.It Fl r
ソート順を逆にします。
.It Fl t
uptime 順にソートします。
.It Fl u
ユーザ数の順にソートします。
.El
.Pp
デフォルトではリストをホスト名でソートします。
.Sh 関連ファイル
.Bl -tag -width /var/rwho/whod.* -compact
.It Pa /var/rwho/whod.*
データファイル
.El
.Sh 関連項目
.Xr rwho 1 ,
.Xr uptime 1
.Sh 歴史
.Nm ruptime
.Bx 4.2
から登場しました。
diff --git a/ja/man/man1/rusers.1 b/ja/man/man1/rusers.1
index 34e6a8b853..ccb1daa9eb 100644
--- a/ja/man/man1/rusers.1
+++ b/ja/man/man1/rusers.1
@@ -1,99 +1,99 @@
.\" Copyright (c) 1983, 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.
.\"
.\" from: @(#)rusers.1 6.7 (Berkeley) 4/23/91
-.\" %Id: rusers.1,v 1.2.2.2 1997/08/11 07:11:23 charnier Exp %
+.\" %Id: rusers.1,v 1.6 1997/08/08 12:12:54 charnier Exp %
.\" jpman %Id: rusers.1,v 1.3 1997/08/20 12:45:29 horikawa Stab %
.\"
.Dd April 23, 1991
.Dt RUSERS 1
.Os BSD 4.2
.Sh 名称
.Nm rusers
.Nd ローカルネットワークの各マシンに誰がログインしているか
.Sh 書式
.Nm
.Op Fl al
.Op Ar host ...
.Sh 解説
.Nm
コマンドは
.Xr who
と同様の結果を出力しますが、
指定したホストのリスト、あるいはローカルネットワーク上の全マシンに対する
結果を出力します。
rusers の問い合わせに返答した各ホストに対して、
現在ログインしているユーザ名がホスト名と共に各行に出力されます。
返答の遅いホストのために rusers コマンドは 1 分間待ちます。
.Pp
以下のオプションが利用可能です:
.Bl -tag -width indent
.It Fl a
たとえ誰もログインしていなくても、応答してきた全てのマシンの情報を
出力します。
.It Fl l
長いフォーマットで出力します。
以下の情報が表示されます。
ユーザ名、ホスト名、ユーザがログインしている tty 名、
ユーザがログインした日付と時刻、
ユーザがキーボードを最後にタイプしてからの時間、
(もし適用可能ならば)ログイン元のリモートホスト名。
.El
.Sh 診断
.Bl -tag -width indent
.It rusers: RPC: Program not registered
リモートホスト上で
.Xr rpc.rusersd 8
デーモンが起動されていません。
.It rusers: RPC: Timed out
通信エラーが生じました。
ネットワークが非常に混んでいるか、リモートホスト上の
.Xr rpc.rusersd 8
デーモンが終了しました。
.It rusers: RPC: Port mapper failure - RPC: Timed out
リモートホストで portmapper (
.Xr portmap 8
参照)が動いておらず、全ての RPC ベースのサービスが利用できません。
ホストがダウンしている可能性があります。
.El
.Sh 関連項目
.Xr rwho 1 ,
.Xr users 1 ,
.Xr who 1 ,
.Xr portmap 8 ,
.Xr rpc.rusersd 8
.Sh 歴史
.Nm
コマンドは
.Em Sun-OS
で登場しました。
.Sh バグ
ソートオプションが実装されていません。
diff --git a/ja/man/man1/rwall.1 b/ja/man/man1/rwall.1
index 495138a4b9..7eafcf200b 100644
--- a/ja/man/man1/rwall.1
+++ b/ja/man/man1/rwall.1
@@ -1,79 +1,79 @@
.\" Copyright (c) 1983, 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.
.\"
.\" from: @(#)rwall.1 6.7 (Berkeley) 4/23/91
-.\" %Id: rwall.1,v 1.1.1.1.8.2 1997/08/11 07:13:00 charnier Exp %
+.\" %Id: rwall.1,v 1.5 1997/08/08 12:18:16 charnier Exp %
.\" jpman %Id: rwall.1,v 1.2 1997/05/21 00:38:04 mutoh Stab %
.\"
.Dd April 23, 1991
.Dt RWALL 1
.Os BSD 4.2
.Sh 名称
.Nm rwall
.Nd 指定したホストにログインしているユーザにメッセージを送る
.Sh 書式
.Nm
.Ar host
.Op Ar file
.Sh 解説
.Nm
は、指定したホストにログインしているユーザにメッセージを送信します。
送信するメッセージとしては、端末から入力され EOF で終了するものか、
.Ar file
に記述されているものを用いることが出来ます。
.Sh 診断
.Bl -tag -width indent
.It rwall: RPC: Program not registered
.Xr rpc.rwalld 8
デーモンがリモートホスト上で動作していません。
.It rwall: RPC: Timed out
通信エラーが発生しました。ネットワークが非常に混雑しているか、あるいは
.Xr rpc.rwalld 8
デーモンがリモートホスト上で異常終了しました。
.It rwall: RPC: Port mapper failure - RPC: Timed out
リモートホスト上で
.Xr portmap 8
が動作しておらず (
.Xr portmap 8
参照)、RPC を用いたサービスを受けることが出来ません。
ホストがダウンしている可能性があります。
.El
.Sh 関連項目
.Xr who 1 ,
.Xr portmap 8 ,
.Xr rpc.rwalld 8
.Sh 歴史
.Nm
コマンドは
.Tn SunOS
から登場しました。
.Sh バグ
ソートオプションは実装されていません。
diff --git a/ja/man/man1/sasc.1 b/ja/man/man1/sasc.1
index b613df2899..5fa5c46382 100644
--- a/ja/man/man1/sasc.1
+++ b/ja/man/man1/sasc.1
@@ -1,97 +1,97 @@
.\" sasc(1) - manual page for the `asc' scanner device driver utility
.\"
.\"
.\" Copyright (c) 1995 Gunther Schadow. 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 Gunther Schadow.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: sasc.1,v 1.3.2.2 1998/07/17 04:21:08 jkh Exp %
+.\" %Id: sasc.1,v 1.7 1998/03/23 07:46:41 charnier Exp %
.\" jpman %Id: sasc.1,v 1.3 1997/07/22 17:55:16 horikawa Stab %
.\"
.Dd January 6, 1995
.Dt SASC 1
.Os
.Sh 名称
.Nm sasc
.Nd asc スキャナデバイスのオプションを設定する
.Sh 書式
.Nm
.Op Fl sq
.Op Fl b Ar len
.Op Fl f Ar file
.Op Fl h Ar height
.Op Fl r Ar resolution
.Op Fl t Ar timeout
.Op Fl w Ar width
.Sh 解説
.Nm
ユーティリティは、ハンディデバイスドライバ
asc によって提供される ioctl への、シェルレベルのアクセスを提供します。
リクエストの正確な意味に付いては、
.Xr asc 4
を参照してください。
一般に、asc スキャナデバイスの出力と振舞いを変更します。
.Nm
がオプション無しで呼び出された場合、現在の設定が
報告されます。
.Sh オプション
.Bl -tag -width indent
以下のオプションを使用可能です。
.It Fl s Bq ASC_SRESSW
スキャナの解像度選択スイッチの値を設定します。
.It Fl q
沈黙モードで動作します。つまり、現在の設定に付いて一切の報告をしません。
通常は、変更が行われた後で、パラメータが表示されます。
.TP
.It Fl f Ar file
ファイル名で与えられたスキャナデバイスノードを操作します。
同じデバイスユニットを参照しているいくつかの異なる
スキャナデバイスノードが存在できることに注意してください。
変更は、アクセスされているデバイスノードに無関係に行われます。
.It Fl r Ar resolution Bq ASC_SRES
解像度を dpi (インチ当たりのドット数) で指定します。
.It Fl w width Bq ASC_SWIDTH
ビットマップの幅をピクセル数で設定します。
.It Fl h height Bq ASC_SHEIGHT
ビットマップの高さをピクセル数で設定します。
.It Fl b len Bq ASC_SBLEN
内部 DMA バッファを大きさ
.Ar len
行に設定します。
.It Fl t timeout Bq ASC_SBTIME
一つの DMA バッファを読み込む際のタイムアウトを設定します。
.Sh 関連ファイル
.It Pa /dev/asc0
.Em raw
出力のためのデバイスノード
.It Pa /dev/asc0p
.Em pbm
ファイルフォーマット出力のためのデバイスノード
.El
.Sh 関連項目
.Xr asc 4
.Sh 作者
.An Gunther Schadow Aq gusw@fub46.zedat.fu-berlin.de
diff --git a/ja/man/man1/script.1 b/ja/man/man1/script.1
index e283a4fd50..8e60a4d80a 100644
--- a/ja/man/man1/script.1
+++ b/ja/man/man1/script.1
@@ -1,147 +1,147 @@
.\" 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
-.\" %Id: script.1,v 1.1.1.1.8.3 1998/07/17 04:21:14 jkh Exp %
+.\" %Id: script.1,v 1.5 1998/06/04 21:06:02 steve Exp %
.\" jpman %Id: script.1,v 1.2 1997/03/29 08:26:02 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt SCRIPT 1
.Os BSD 4
.Sh 名称
.Nm script
.Nd 端末上に表示したすべてのもののログをとる
.Sh 書式
.Nm
.Op Fl a
.Op Fl k
.Op Fl q
.Op Fl t Ar time
.Op Ar file
.Op Ar command ...
.Sh 解説
.Nm
は、端末上に表示したすべてのもののログ (typescript) をとります。記録後に
.Xr lpr 1
で印刷することもできるので、
学生の宿題の証明等で対話的セッションのハードコピー
が必要なときなどには有効です。
.Pp
.Ar file
が指定されていればそのファイルに、指定されていなければ
.Pa typescript
というファイル名で記録されます。
.Pp
引数
.Ar command ...
を指定すると、
.Nm
は対話シェルの代りに指定したコマンドをオプションの引数ベクタ付きで実行します。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width xxxxxxx
.It Fl a
.Ar file
もしくは
.Pa typescript
がすでに存在している場合には、それに追加する形で記録していきます。
.It Fl k
出力だけでなくプログラムに送られたキー入力も記録します。
.It Fl q
静かなモードで実行します。開始時と終了時のステータスメッセージを省略します。
.It Fl t Ar time
スクリプト出力ファイルにフラッシュする間隔を指定します。
値 0 を指定すると
.Nm
は全ての文字 I/O 事象をフラッシュします。
.El
.Pp
.Nm
は、フォークしたシェル(またはコマンド)を終了したとき (
ボーン・シェル
.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
が設定されていない場合はボーン・シェルが使われます。
(ほとんどのシェルはこの変数を自動的に設定します)
.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/man/man1/sh.1 b/ja/man/man1/sh.1
index 8d723271ce..b432de5d0c 100644
--- a/ja/man/man1/sh.1
+++ b/ja/man/man1/sh.1
@@ -1,1204 +1,1198 @@
.\" 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
-.\" %Id: sh.1,v 1.9.2.10 1998/07/28 14:47:36 thepish Exp %
+.\" %Id: sh.1,v 1.21 1998/07/30 04:47:56 jkoshy Exp %
.\"
.\" jpman %Id: sh.1,v 1.2 1997/05/31 16:40:31 jsakai Stab %
.\" 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 May 5, 1995
.Dt SH 1
.Os BSD 4
.Sh 名称
.Nm sh
.Nd コマンドインタプリタ(シェル)
.Sh 書式
.Nm
.Op Fl /+abCEefIimnpsuVvx
.Op Fl /+o Ar longname
.Op Fl c Ar string
.Op Ar arg ...
.Sh 解説
.Nm
はシステムの標準コマンドインタープリタです。
現在
.Nm
.St -p1003.2
のシェル規約に対応する途上にあります。
本バージョンのシェルは、見方によっては Korn shell と同様に
見える機能を多数持っていますが、
Korn shell のクローンではありません(もし Korn shell クローンを望むなら、
Gnu の bash を使いましょう)。
このシェルには、POSIX で規定された仕様といくつかの Berkeley 拡張のみが
取り入れられています。
本マニュアルは、shell のチュートリアルでは
ありませんし、仕様を完全に記述するものでもありません。
.Ss 概要
シェルは、ファイルまたは端末から 1 行ずつ読み込み、それを解釈し、
コマンドを実行します。シェルはユーザがシステムにログインしたときに起動
されるプログラムです(ただし、ユーザは chsh(1)
コマンドによって他のシェルを選択することもできます)。
シェルは、制御構文を持つ言語であり、
データ記憶をはじめとして多様な機能を提供するマクロ機能、
ヒストリ、行編集機能も内蔵しています。
このシェルは対話的に使うときに便利な機能を多くとり入れており、
対話的に用いるときも非対話的に (シェルスクリプトとして) 用いるときも、
共通のインタプリタ言語を用いることができる利点があります。
すなわち、コマンド名をシェルに直接タイプする
ことも、コマンド名をファイルに書いておいてそのファイルをシェルに
実行させることもできます。
.Ss 起動
引数が与えられず、かつシェルの標準入力が端末の場合 (または -i フラグが指定
された場合)、シェルは対話的に動作します。対話的シェルは、通常、コマンド
入力時にプロンプトを表示し、文法的なエラーとコマンドエラーを
異なった方法で処理します (後述します)。
起動時に、シェルは 0 番目の引数を検査します。もしそれが
ダッシュ `-' で始まっているなら、シェルはログインシェルとして
動作します。ユーザがシステムにログインした場合は自動的にこの状況に
なります。ログインシェルは、まず (以下の各ファイルが存在する場合)、
.Pa /etc/profile
.Pa .profile
ファイルからコマンドを読み込みます。
シェル起動時に、もしくはログインシェルで
.Pa .profile
を実行中に環境変数
.Ev ENV
が設定されているなら、シェルは、その次に環境変数
.Ev ENV
で示されたファイルからコマンドを読み込みます。
つまり、ユーザはログイン時にのみ実行したいコマンドを
.Pa .profile
に書き、シェルが起動されるたびに実行したいコマンドを環境変数
.Ev ENV
で示すファイルに書くことになります。
環境変数
.Ev ENV
を設定するには、ユーザのホームディレクトリ下のファイル
.Pa .profile
に以下のように記述します。
.sp
.Dl ENV=$HOME/.shinit; export ENV
.sp
ここで、
.Pa .shinit
のかわりに好きな名前を指定することができます。
オプション以外にコマンドライン引数が指定された場合、シェルは最初の引数
を、コマンドを読み込むべきファイル (シェルスクリプト) の名前であると解釈し、
それ以後の引数はシェルの位置パラメータ ($1, $2, ...) に設定します。
それ以外の場合、シェルはコマンドを標準入力から読み込みます。
.Pp
古いバージョンの
.Nm
とは異なり、環境変数
.Ev ENV
で指定したスクリプトが実行されるのは、対話的シェルの呼び出し時のみです。
これにより、いい加減に書かれた
.Ev ENV
スクリプトに起因する、簡単に食いものにされることが多い有名な
セキュリティホールがふさがれたことになります。
.Ss 引数リスト処理
.Nm
の 1 文字からなるオプションはそれぞれ対応する名前を持っており、
.Xr set 1
組み込みコマンド (後述) の引数として用いることができます。
これらの名前は、以下の説明で 1 文字オプションのすぐあとに書いてあります。
マイナス記号
.Dq -
でオプションを指定することは、そのオプションを有効にすることを意味し、
プラス記号
.Dq +
でオプションを指定することは、そのオプションを無効にすることを意味します。
+.Dq --
+または、単なる
+.Dq -
+はオプション処理を終了させ、
+コマンドラインの残りの語を引数として解釈することを強制します。
.Bl -tag -width Ds
.It Fl a Li allexport
値が代入された変数の全てをエクスポートします(未実装です)。
.It Fl b Li notify
バックグラウンドジョブ実行の完了を、コマンドが実行中でも即座に報告しま
す(未実装です)。
.It Fl C Li noclobber
すでに存在するファイルに対して
.Dq >
リダイレクトにより上書きしません (未実装です)。
.It Fl E Li emacs
組み込みの
.Xr emacs 1
風のコマンド行編集機能を有効にします (それ以前に
.Fl V
-オプションが指定された場合、それを無効にします)。'set -o emacs' も
-参照してください (後述します)。
+オプションが指定された場合、それを無効にします)。
.It Fl e Li errexit
非対話的シェルで、テスト状態にないコマンドの実行に失敗した場合、
直ちにシェルを終了します。
コマンドは、if, elif, while, until 構文を
制御するのに用いられている場合に、テスト状態であるとみなされます。
また、
.Dq &&
.Dq ||
の左辺値として用いられているコマンドも、テスト状態とみなされます。
.It Fl f Li noglob
パス名展開を行ないません。
.It Fl I Li ignoreeof
対話的シェルの場合、入力の EOF を無視します。
.It Fl i Li interactive
シェルが対話的に動作するように強制します。
.It Fl m Li monitor
ジョブ制御を可能にします (対話的シェルの場合は自動的に設定されます)。
.It Fl n Li noexec
非対話的シェルの場合、コマンドを読み込みますが、そのコマンドの実行は
しません。シェルスクリプトの文法を検査する場合に便利です。
.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
コマンドを標準入力から読み込みます (引数でファイル名が指定されていない
場合には、このオプションが自動的に設定されます)。
シェルが実行されてから本オプションを(
.Xr set 1
などによって)設定しても効果はありません。
.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
各コマンドを実行する前に、そのコマンドを標準エラー出力に (各コマンドの
前に `+' を付加して) 書き出します。デバッグのときに便利です。
.It Fl c Ar string
文字列引数 string はシェルに渡され、入力として解釈されます。このオプショ
ンは引数として文字列を一つだけ受け取ることに注意して下さい。ですから、複
数の単語からなる文字列は引用符で囲う必要があります。
.El
.Ss 構文構造
シェルは、ファイルを行単位で読み込み、空白文字 (ブランクおよびタブ) や
シェルにとって特別な意味を持つ特定の文字列 (
.Dq 演算子
と呼ばれるもので
す) を区切りとして、複数の単語に分割します。演算子には、制御演算子とリ
ダイレクト演算子の 2 種類があります (これらの意味については後述します)。
以下に、それらの一覧を示します。
.Bl -tag -width Ds
.It No 制御演算子:
& && ( ) ; ;; | ||
.No \en
.It No リダイレクト演算子:
< > >| << >> <& >& <<- <>
.El
.Ss 引用(クォート)
引用は、特殊な意味を持つ文字や単語 (演算子、空白、キーワードなど) の意味
を打ち消すために用います。引用には、シングルクォート文字のペアを使う方法、
ダブルクォート文字のペアを使う方法、バックスラッシュ文字を使う方法
の 3 種類があります。
.Bl -tag -width Ds
.It シングルクォート文字
シングルクォートのペアで囲まれた文字は、すべてその文字そのまま(リテラ
ル)として扱われます (ただしシングルクォートは別です。シングルクォート
で囲った文字列の中にシングルクォートを含めることはできません)。
.It ダブルクォート文字
ダブルクォートのペアで囲まれた文字は、ドル記号文字($)、バッククォート
文字(`)、バックスラッシュ文字(\\) を除き、すべてリテラルとして扱われま
す。ダブルクォート文字による引用の中にあるバックスラッシュ文字は、歴史
的経緯によりすこし変わった扱いを受けます。つまり、直後に $, `, ", \\,
改行文字 が来るときにのみ、それらの文字がリテラルとして扱われます。そ
れ以外の文字が来る場合、バックスラッシュ文字自体がリテラルとして扱われ
ます。
.It バックスラッシュ
バックスラッシュは、その後ろの 1 文字を、リテラルとして扱うように指示
します。ただし改行文字は別です。改行文字の直前のバックスラッシュは、行
の継続であるとみなされます。
.El
.Ss 予約語
予約語はシェルにとって特別な意味を持つ単語で、行の先頭または制御演算子
の直後でのみ予約語として認識されます。以下に予約語の一覧を挙げます。
.Bd -literal -offset indent
! { } case do
done elif else esac fi
for if then until while
.Ed
.Ss エイリアス
エイリアスは、名前とそれと対応する値が対になったもので、
組み込みコマンド
.Xr alias 1
によって定義されます。
シェルは、予約語が現れる可能性がある場所(上記を参照)で、
ある単語に対して、それが予約語かどうかの検査を済ませたのち、
それがエイリアスに一致するかどうかを検査します。
もし一致したならば、入力行の中で、その単語をエイリアスの値に置き換えます。
たとえば、``lf'' という名前で ``ls -F'' という値を持つエイリアスが
存在したとすると、次の入力行
.Bd -literal -offset indent
lf foobar <return>
.Ed
.Pp
は、以下のように置換されます。
.Bd -literal -offset indent
ls -F foobar <return>
.Ed
.Pp
エイリアスは、初心者に対し、引数付きの関数を生成する面倒を求めることなく、
短いコマンドをつくり出す便利な方法を提供するものです。
しかし、構文的にあいまいなコードを作り出すことにもつながりかねません。
そのような使い方はお勧めできません。
.Ss コマンド
シェルは、読み込んだ単語を、文法に従って解釈します。
本マニュアルでは文法については解説しません。
.St -p1003.2
の BNF 表記を参照してください。要するに、行を1行を読み込み、読み込んだ
行の最初の単語 (制御演算子がある場合は、そのあとの最初の単語) が予約語
でない場合、シェルはその行を単純コマンドとして解釈します。それ以外の場
合、複合コマンドあるいは特殊構造であると解釈します。
.Ss 単純コマンド
単純コマンドを解釈する場合、シェルは以下のような動作をします。
.Bl -enum
.It
単語の前にある ``name=value'' の形式の単語を取り除き、
単純コマンドの環境に代入します。
リダイレクト演算子とその引数 (後述) を取り除き、
あとで処理できるように保存します。
.It
残った単語を、「展開」の節で説明する方法で展開します。
展開後の最初の単語をコマンド名とみなし、コマンドの位置を探索します。
残りの単語はコマンドへの引数とみなされます。
処理の結果、コマンド名が残らなかった場合、手順 1) で
取り出した ``name=value'' の変数代入を、現在のシェルの環境に反映します。
.It
次節で説明する方法で、リダイレクトを行ないます。
.El
.Ss リダイレクト
リダイレクトは、コマンドがどこから入力するか、どこへ出力するかを
変更するときに用います。
一般には、リダイレクトでは、ファイルのオープン、クローズ、または
ファイルへの参照の複写 (duplicate) を行います。
リダイレクトで用いられる全般的な形式は、以下のとおりです。
.sp
.Dl [n] redir-op file
.sp
ここで、redir-op は前述したリダイレクト演算子のいずれかです。
これらの演算子をどのように利用するかの例をいくつか以下に挙げます。
.Bl -tag -width "1234567890" -offset indent
.It [n]> file
標準出力 (またはファイル記述子 n への出力) をファイル file に書き出します。
.It [n]>| file
上と同様。ただし、-C オプションの効果を打ち消します。
.It [n]>> file
標準出力 (またはファイル記述子 n への出力) をファイル file に追加します。
.It [n]< file
標準入力 (またはファイル記述子 n からの入力) をファイル file から取ります。
.It [n1]<&n2
ファイル記述子 n2 を標準入力 (またはファイル記述子 n1) に複写します。
.It [n]<&-
標準入力 (またはファイル記述子 n) をクローズします。
.It [n1]>&n2
ファイル記述子 n2 を標準出力 (またはファイル記述子 n1) に複写します。
.It [n]>&-
標準出力 (またはファイル記述子 n) をクローズします。
.It [n]<> file
標準入力 (あるいはファイル記述子 n) により、ファイル file を
読み書きするようにします。
.El
.Pp
以下のリダイレクトは、しばしば``ヒア・ドキュメント(here-document)''と
呼ばれます。
.Bd -literal -offset indent
[n]<< delimiter
here-doc-text...
delimiter
.Ed
.Pp
シェルは、delimiter までの行を保存し、コマンドへの標準入力またはファイ
ル記述子 n にリダイレクトします。最初の行の delimiter が引用 (クォー
ト) されていた場合、here-doc-text の内容をリテラルとして扱います。そ
うでない場合、パラメータ展開、コマンド置換、数値演算 (「展開」の節で説
明します) を適用します。演算子が (``<<'' でなく) ``<<-'' の場合は、
here-doc-text の各行の行頭のタブを取り除きます。
.Ss コマンド検索と実行
コマンドには、シェル関数、組み込みコマンド、通常プログラムの 3 種類があり、
コマンドを検索する際には、シェルは名前の検索をこの順序で行います。
それぞれのコマンドは異なる方法で実行されます。
.Pp
シェル関数を実行するとき、$0 を除くすべての位置パラメータ ($1, $2,..)
をシェル関数への引数として設定します。$0 は変更されません。シェル関数
の環境として指定された変数 (関数名の直前に ``name=value'' を置いて指定
されたもの) は、その関数に局所的な変数となり、指定された初期値が設定さ
れます。そして、シェルは関数定義で与えられたコマンドを実行します。コマ
ンドの実行が完了すると、位置パラメータを元の値に戻します。これは全て現
在のシェルの中で処理されます。
.Pp
組み込みコマンドは、新たなプロセスを作成せずにシェル内部で実行されます。
.Pp
コマンドが関数でも組み込みコマンドでもない場合は、通常のプログラムとみなし
(次節で説明するとおり) ファイルシステムの中でそのコマンドを検索します。
通常のプログラムを実行する場合、シェルは引数と
環境をプログラムに渡して、そのプログラムを実行します。
プログラムが通常の実行ファイル形式ではない場合 (つまり、
.Tn ASCII
表現で "#!" となる「マジックナンバ」でファイルが始まっておらず、
.Fn execve 2
.Er ENOEXEC
を返す場合)、
サブシェルの中でそのプログラムを解釈実行します。この場合、あたかも新た
にシェルが起動されたかのような効果を得るために、子シェルは自分自身を再
初期化します。ただし、子プロセスは、親シェル中のハッシュされたコマンド
位置情報を憶えており、これは再初期化されません。
.Pp
本ドキュメントの古いバージョンや古いソースコードでは、ときおり、マジッ
クナンバのないシェルスクリプトのことを「シェルプロシージャ」と呼んでい
て、まぎらわしい場合がありますので注意して下さい。
.Ss パス検索
コマンドを検索するとき、シェルは、まず、その名前のシェル関数があるかどうかを
調べます。次に、その名前の組み込みコマンドがあるかどうかを調べます。
組み込みコマンドでもない場合、以下のいずれかの処理が行われます:
.Bl -enum
.It
コマンド名にスラッシュが含まれていれば、検索は行わず、
単にそのコマンドが実行されます。
.It
変数
.Ev PATH
に含まれる各エントリに対して、順にそのコマンドを検索します。
変数
.Ev PATH
の値はコロン(``:'')で区切られたエントリの列でなければなりません。
各エントリは、それぞれディレクトリ名一つに対応します。
カレントディレクトリは、
空のディレクトリ名を指定することで暗黙的に、
あるいは 1 個のピリオドを指定することで明示的に
指示することができます。
.El
.Ss コマンドの実行ステータス
各コマンドは終了ステータスを持ち、それにより他のシェルコマンドの動作に
影響を与えることができます。基本的な考え方として、終了ステータス 0 は
通常の終了または成功を示します。0 以外の終了ステータスは失敗、エラーを
意味します。各コマンドのマニュアルにそれぞれの終了ステータスがどのよう
な意味を持つかが記述されているはずです。組み込みコマンドと(実行された)
関数も終了ステータスを返します。
.Pp
コマンドがシグナルにより終了(terminate)させられた場合、
終了ステータスは 128 にシグナル番号を加えたものになります。
シグナル番号はヘッダファイル
.Aq Pa sys/signal.h
に定義されています。
.Ss 複合コマンド(Complex Commands)
複合コマンドは、単純コマンドの組み合わせで作ります。
制御演算子または予約語と組み合わせることで、より大きな複合コマンドを生
成します。一般に、コマンドは以下のうちのいずれかです。
.Bl -item -offset indent
.It
単純コマンド
.It
パイプライン
.It
リストまたは合成リスト(compound-list)
.It
合成コマンド(compound command)
.It
関数定義
.El
.Pp
特に指定のない場合、コマンドの終了ステータスは最後に実行された
単純コマンドの終了ステータスとなります。
.Ss パイプライン
パイプラインは、複数のコマンドを制御演算子 `|' によってつないだものです。
最後のコマンドを除くすべてのコマンドの標準出力は、次のコマンドの標準入力に
接続されます。
最後のコマンドの標準出力は、通常通り、シェルから受け継がれます。
.Pp
パイプラインの形式は次のとおりです。
.Bd -literal -offset indent
[!] command1 [ | command2 ...]
.Ed
.Pp
command1 の標準出力は command2 の標準入力に接続されます。コマンドの標
準入出力がパイプラインによって割り当てられるのは、各コマンドに属するリ
ダイレクト演算子で指定されたリダイレクトを処理する前のことだと考えて下
さい。
.Pp
パイプラインがバックグラウンド (後述) でなければ、シェルはすべての
コマンドが終了するのを待ちます。
.Pp
パイプラインの直前に予約語 `!' が置かれなかった場合、終了ステータスは
パイプラインの最後のコマンドの終了ステータスとなります。
`!' が前置された場合、終了ステータスはパイプラインの最後のコマンドの
終了ステータスの論理否定を取った値となります。
すなわち、最後のコマンドが 0 を返した場合、パイプラインの
終了ステータスは 1 に、最後のコマンドが 0 より大きな値を返した場合、
終了ステータスは 0 になります。
.Pp
パイプラインによる標準入出力の接続はリダイレクトに先立って行われるため、
パイプラインの接続をリダイレクトによって修正することができます。たとえば、
.Bd -literal -offset indent
$ command1 2>&1 | command2
.Ed
.Pp
は、command1 の標準出力と標準エラー出力の両方を command2 の標準入力に
接続します。
.Pp
\&; または改行文字を終端として用いることにより、直前の AND-OR リスト (後述) を
順次実行します。& は、直前の AND-OR リストを非同期に実行します。
.Pp
注: 他のいくつかのシェルと異なり、パイプラインの各プロセスは
起動したシェルの子プロセスとなります (シェルの組み込みコマンドである
ときは別です。その場合は現在のシェルで実行されます --- ただし
環境に対して行った操作は取り消されます)。
.Ss バックグラウンドコマンド -- &
コマンドが制御演算子 & で終了している場合、シェルはそのコマンドを
非同期に実行します。すなわち、シェルはそのコマンドの終了を待たずに、
次のコマンドの実行を開始します。
.Pp
コマンドをバックグラウンドで実行させるための形式は以下のとおりです。
.Bd -literal -offset indent
command1 & [command2 & ...]
.Ed
.Pp
シェルが対話的でない場合、非同期コマンドの標準入力には /dev/null が
接続されます。
.Ss リスト -- 一般的な話
リストは 0 個またはそれ以上のコマンドを改行文字、セミコロン文字、アン
パーサント文字 (&) で区切った列です。リストは、これら 3 つの記号のいず
れかで終了させることもできます。リスト中のコマンドは並べられた順に実行
されます。もし、コマンドに続けてアンパーサント文字が置かれている場合、
シェルはそのコマンドを起動したあと、すぐに次のコマンドの処理を開始しま
す。その他の場合、そのコマンドの終了を待ってから次のコマンドの処理を開
始します。
.Ss 短絡リスト演算子(Short-Circuit List Operators)
``&&'' と ``||'' は AND-OR リスト演算子です。 ``&&'' は最初のコマンド
を実行し、もし最初のコマンドの終了ステータスが 0 ならば次のコマンドを
実行します。 ``||'' も同様ですが、最初のコマンドの終了ステータスが 0
でない場合に、次のコマンドを実行します。 ``&&'' と ``||'' の優先順位は
同じです。
.Ss 制御構造 -- if, while, for, case
if コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
if list
then list
[ elif list
then list ] ...
[ else list ]
fi
.Ed
.Pp
while コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
while list
do list
done
.Ed
.Pp
最初のリストの終了ステータスが 0 であるかぎり、2 つのリストを繰り返し
実行します。until コマンドも同様に実行しますが、
単語 while の代わりに単語 until を使うことと、
最初のリストの終了ステータスが 0 になるまで、
2 つのリストを繰り返し実行することが異なります。
.Pp
for コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
for variable in word...
do list
done
.Ed
.Pp
各 word は展開され、変数 variable に word を順に設定しながらリストを
繰り返し実行します。do と done は ``{'' と ``}'' で置き換えることができます。
.Pp
break と continue コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
break [ num ]
continue [ num ]
.Ed
.Pp
break は内側から num 個の for ループまたは while ループを終了します。
continue は、 num 個目のループの次の繰り返しに制御を移します。
.\" 上の文、原文では以下のようになっているが、the *num* innermost loop が
.\" 正しいと思われる。実際の sh の動作もそうなっているようだ。
.\" --- 97/05/31 sakai@jp.freebsd.org ↓
.\" Continue continues with the next iteration of the innermost loop.
これらのコマンドは組み込みコマンドとして実装されています。
.Pp
case コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
case word in
pattern) list ;;
...
esac
.Ed
.Pp
pattern は、1 つあるいは複数のパターン (後述の「シェルパターン」を参照
のこと) を ``|'' で接続したものです。
.Ss 複数のコマンドのグループ化
コマンドは、以下のいずれかの方法によりグループ化することができます
.Bd -literal -offset indent
(list)
.Ed
.Pp
または、
.Bd -literal -offset indent
{ list; }
.Ed
.Pp
最初の形式では、コマンドはサブシェル上で実行されます。
(list) のなかの組み込みコマンドは、現在のシェルには影響を与えません。
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 は
通常、``{'' と ``}'' で囲まれたリストです。
.Pp
local コマンドを用いて関数に局所的な変数を宣言することができます。
これは関数定義中の最初の文で行わなければなりません。構文は次のとおりです。
.Bd -literal -offset indent
local [ variable | - ] ...
.Ed
.Pp
local コマンドは、組み込みコマンドとして実装されています。
.Pp
変数を局所変数にする場合、関数を呼び出した環境に同じ名前の変数があれば、
新しい局所変数は値と export、readonly フラグを引き継ぎます。もし同じ名
前の変数がなければ、局所変数は初期値を持ちません。シェルは動的スコープ
を用います。すなわち、関数 f に局所的な変数 x を作成し、関数 f から関
数 g を呼び出した場合、関数 g 内部での変数 x に対する操作は大域変数 x
ではなく、関数 f で宣言された変数 x への操作となります。
.Pp
特殊パラメータのうち局所宣言できるのは ``-'' だけです。 ``-'' を
局所宣言すると、関数内で set コマンドを用いてシェルオプションを
変更しても、関数が終了するとそれらのオプションは元の値に戻ります。
.Pp
return コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
return [ exitstatus ]
.Ed
.Pp
return は現在実行中の関数を終了させます。return は組み込みコマンドとして
実装されています。
.Ss 変数とパラメータ
シェルはパラメータの集合を管理しています。名前を持つパラメータを
変数と呼びます。シェルは、起動時にすべての環境変数をシェル変数に取り込みます。
新たな変数は、次の形式によって設定できます。
.Bd -literal -offset indent
name=value
.Ed
.Pp
ユーザが設定する変数は、アルファベット、数字、アンダースコア (_) のみ
からなる名前を持つ必要があります。また、最初の文字が数字であっては
いけません。
パラメータは、以下に示す数字または特殊記号により参照することもできます。
.Ss 位置パラメータ
位置パラメータは、数字 (n > 0) によって参照されるパラメータです。シェルは
位置パラメータの初期値としてシェルスクリプト名に続く引数を設定します。
組み込みコマンド
.Xr set 1
により再設定や消去ができます。
.Ss 特殊パラメータ
特殊パラメータは、以下に挙げる特殊文字のいずれかにより参照される
パラメータです。各パラメータの値の説明を各文字の後ろに示します。
.Bl -hang
.It *
位置パラメータ 1,2,... に展開されます。ダブルクォート文字列内部で展開
される場合、展開結果は各位置パラメータの間を変数 IFS の先頭の文字 (IFS
が設定されていない場合は空白文字) で区切った単一の文字列になります。
.It @
位置パラメータ 1,2,... に展開されます。ダブルクォート引用の内部で展開
される場合、各位置パラメータは別々の引数となります。
もし、位置パラメータが設定されていない場合には、
@ の展開結果は 0 個の引数となります (ダブルクォート引用の内部であっても)。
すなわち、$1 が ``abc''、$2 が ``def ghi'' であっ
た場合、"$@" は次の 2 つの引数に展開されます。
.Bd -literal -offset indent
"abc" "def ghi"
.Ed
.It #
位置パラメータの数に展開されます。
.It ?
最後に実行したパイプラインの終了ステータスに展開されます。
.It -
(ハイフン) 現在のオプションフラグ (1文字オプション名をつないだ文字列)
に展開されます。起動時に指定されたもの、組み込みコマンド set で指定した
もの、シェルが暗黙に設定したもののすべてを含みます。
.It $
起動されたシェルのプロセス ID に展開されます。
サブシェルも親シェルと同じ値を持ちます。
.It !
現在のシェルが最後にバックグラウンドで実行したコマンドのプロセス ID に
展開されます。パイプラインの場合、パイプラインの最後のコマンドの
プロセス ID になります。
.It 0
(ゼロ) シェルの名前またはシェルスクリプト名に展開されます。
.El
.Ss 単語展開
本節では、単語に対して適用されるさまざまな展開について説明します。あとで
述べるように、すべての展開がすべての単語に対して適用されるわけではありません。
.Pp
単一の単語に対して適用されたチルダ展開、パラメータ展開、コマンド置換、
数式展開、クォート削除の結果は単一のフィールドになります。単一の単語が
複数のフィールドに分割される可能性があるのは、フィールド分割または
パス名展開の場合だけです。この規則の唯一の例外は、ダブルクォート中の
パラメータ @ の展開です (前述)。
.Pp
単語展開の順序は以下のとおりです。
.Bl -enum
.It
チルダ展開、パラメータ展開、コマンド置換、数式展開 (これらはすべて
同時に行われます)
.It
変数 IFS の値が空でなければ、(1) の結果の各フィールドに対して
フィールド分割が行われる
.It
パス名展開 (-f オプションが無効の場合)
.It
クォート削除
.El
.Pp
文字 $ はパラメータ展開、コマンド置換、数式評価を行うきっかけになります。
.Ss チルダ展開 (ユーザのホームディレクトリ名への置換)
引用されていないチルダ文字 (~) で始まる単語は、チルダ展開の対象になります。
チルダ文字からスラッシュ文字または単語の終端までのすべての文字がユーザ名
とみなされ、そのユーザのホームディレクトリに置換されます。もしユーザ名が
省略された場合(たとえば ~/foobar)、チルダ文字は変数 HOME の値(現在のユーザ
のホームディレクトリ)に置換されます。
.Ss パラメータ展開
パラメータ展開の形式は以下のとおりです。
.Bd -literal -offset indent
${expression}
.Ed
.Pp
ここで、expression は対応した `}' までのすべての文字です。対応する`}'
を調べる際に、バックスラッシュ文字によりエスケープされたり、クォート文字に
狭まれた `}' や、数式展開に埋め込まれている文字や、コマンド置換や変数展開中に
ある文字は調べる対象になりません。
.Pp
パラメータ展開の形式のうちもっとも単純なものは以下のとおりです。
.Bd -literal -offset indent
${parameter}
.Ed
.Pp
そのパラメータに値が存在する場合、その値に置き換えられます。
.Pp
パラメータ名やシンボルを中括弧({})で囲んでも構いません。この中括弧は、
数字 2 文字以上からなる位置パラメータの場合や、パラメータ名の直後に
パラメータ名の一部であるとみなし得る文字が続く場合を除き、
省略可能です。ダブルクォート引用中のパラメータ展開は以下
のようになります。
.Bl -enum
.It
パラメータ展開を行った結果の単語に対しては、パス名展開は適用されません。
.It
パラメータが @ の場合を除き、フィールド分割は適用されません。
.El
.Pp
さらに、以下の形式を用いることにより、パラメータ展開の結果に修正を加える
ことができます。
.Bl -tag -width Ds
.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 を展開した結果に置換されます。
.Pp
以上のパラメータ展開において、`:' を用いた場合はパラメータが設定されていない
かまたは空の値であることが検査され、`:' を省略するとパラメータが
設定されていないことのみを検査します。
.It Li ${#parameter}
文字列の長さ: パラメータの値の(文字列としての)長さに置換されます。
.Pp
以下の 4 通りのパラメータ展開は部分文字列切り出し処理を行います。各場合
において、パターンは正規表現ではなく、パターンマッチ記法 (シェルパターン
の項を参照) が用いられます。パラメータが` * 'または` @ 'の場合、展開の結果
がどうなるかは規定しません (unspecified)。
パラメータ展開全体をダブルクォートで囲んでも
パターンは引用されません。中括弧のなかで引用することにより
パターンを引用することができます。
.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 が標準出力
に出力したものから最後の改行文字を削除した結果で置換します (最後以外の
改行は削除しません。ただし、フィールド分割の際に、IFS の値や引用のされかたに
よっては、ここで残った改行文字が結局は空白に置換されることもあります)。
.Ss 数式展開
数式展開とは、数式を評価し、その値に置換する仕組みです。数式展開の形式は以下
のとおりです。
.Bd -literal -offset indent
$((expression))
.Ed
.Pp
数式 expression は、その中のダブルクォート文字が特別扱いを受けないという
点を除いては、ダブルクォート文字で囲まれている文字列と同様に扱われます。
シェルは expression 中のすべてのトークンにパラメータ展開、コマンド置換、
クォート削除を適用します。
.Pp
次にシェルはその結果を数式として扱い、その値に置換します。
-.Pp
-あるいは、数式評価は組み込みの
-.Xr let 1
-で実行可能です。この文法は
-.Xr expr 1
-のものと同じです。
-.Xr exp 1
-は
-.Xr let 1
-の別名です。
.Ss 空白文字による分割 (フィールド分割)
パラメータ展開、コマンド置換、数式展開のあと、シェルは展開結果を調べて、
ダブルクォートの外にある部分に対してフィールド分割を適用します。
その結果、複数のフィールドになる場合もあります。
.Pp
シェルは、変数 IFS に設定されている文字それぞれ区切り文字とみなし、
パラメータ展開の結果、およびコマンド置換の結果をフィールドに分割します。
.Ss パス名展開 (ファイル名生成)
-f フラグが設定されていなければ、フィールド分割が行われたあと、ファイル名生成
が行われます。各単語は、スラッシュで区切られたパターンの列であるとみなさ
れます。パス名展開処理において、単語は、条件を満たすファイル
すべてのファイル名の列で置換されます。この各ファイル名は、単語の
各パターン部分を、そのパターンに一致する文字列に置換することで
生成されるものです。
これには 2 つの制限があります: まず、パターンはスラッシュを含む文字列には
一致しません。次に、パターンは、そのパターンがピリオドで始まらないかぎり、
ピリオドで始まる文字列に一致しません。
次節では、パス名展開と
.Xr case 1
コマンドで用いられるパターンについて説明します。
.Ss シェルパターン
パターンは、通常の文字とメタキャラクタからなります。通常の文字は、
その文字そのものに一致します。
メタキャラクタは ``!''、 ``*''、 ``?''、 ``['' です。これらの文字を引用
すると、各々の特殊な意味を失います。コマンド置換や変数置換において、
ドル記号やバッククォート文字がダブルクォート文字の中にない場合には、
変数の値やコマンドの出力の中に、これらの特殊な文字が存在するかどうかが
調べられ、それらがあれば、メタキャラクタとして扱われます。
.Pp
アスタリスク文字 (``*'') は、どのような文字列とも一致します。
クエスチョンマーク文字 (``?'') は、任意の文字 1 文字と一致します。
左大括弧 (``['') は文字クラスを開始します。
文字クラスの最後は右大括弧 (``]'') です。``]'' がない場合
は、``['' は文字そのものに一致し、文字クラスの開始とは見なされません。文字
クラスは大括弧内に出現するすべての文字に一致します。
マイナス記号を用いれば、文字の範囲を指定することができます。
文字クラスの最初にエクスクラメーションマーク (``!'') を置くことで、
文字クラスの意味を反転させることができます。
.Pp
文字クラスに文字 ``]'' を含めるには、 ``]'' を文字クラスの最初 (``!'' を
置く場合はそのあと) に置きます。
文字クラスにマイナス記号を含めるときも同様で、
リストの最初もしくは最後に置きます。
.Ss 組み込みコマンド
本節では、別プロセスでは実行できない処理を行なうために組み込まれている
コマンドを列挙します。
さらに、効率を上げるために組み込まれているかもしれないコマンド (例えば
.Xr printf 1 ,
.Xr echo 1 ,
.Xr test 1 ,
等) もあわせて列挙します。
.Bl -tag -width Ds
.It :
終了ステータス 0 (真) を返すヌルコマンドです。
.It \&. file
指定されたファイル file に記述されたコマンドがシェルに読み込まれ、
実行されます。
.Ar file
.Ql /
文字を含む場合、その通りに扱われます。
そうでなければ、シェルは
.Ev PATH
を使用して、ファイルを検索します。
.Ev PATH
を使用しても見付からない場合、カレントディレクトリを検索します。
.It alias [ name[=string] ... ]
name=string が指定されている場合、シェルは名前 ``name'' を持つ値
``value'' のエイリアスを定義します。単に ``name'' だけが指定された場合、
エイリアス ``name'' の値が表示されます。引数が指定されない場合、定義さ
れているすべてのエイリアスの名前と値を表示します (unalias も参照)。
.It bg [ job ] ...
指定されたジョブ (指定されなかった場合は現在のジョブ) を、
続けてバックグラウンドで実行させます。
.It command command arg ...
指定された組み込みコマンドを実行します (組み込みコマンドと同じ名前のシェル関数
がある場合に使います)。
.It cd [ directory ]
指定されたディレクトリに移動します (directory 無指定時は $HOME
に移動します)。
cd コマンドの
環境に CDPATH 変数があるか、シェル変数 CDPATH が設定されていて、かつ
指定されたディレクトリ directory がスラッシュ文字から始まっていないなら、
CDPATH に列挙されたディレクトリ以下に
指定されたディレクトリ directory がないか検索されます。
CDPATH の形式は PATH と同様です。対話的シェルでは、ユーザ
が指定したディレクトリと異なる場所に移動した場合、移動先のディレクトリ名
を表示します。これは、CDPATH の機構が動作した場合と、シンボリックリンクを
辿った場合に発生します。
.It eval string ...
指定されたすべての引数を空白で結合し、その結果を解析し直してから
コマンドとして実行します。
.It exec [ command arg ... ]
コマンドが省略されない場合、そのシェルプロセスは指定されたプログラムに
置き換えられます (command は、シェル組み込みコマンドや関数ではない、本物の
プログラムでなければなりません)。exec コマンドにおけるリダイレクトは、
永久性を持つと見なされ、 exec コマンド完了後にも引き続き効力を持ちます。
.It exit [ exitstatus ]
シェルを終了します。指定された exitstatus は、シェルの終了ステータスに
なります。exitstatus が省略された場合、直前に実行したコマンドの
終了ステータスがシェルの終了ステータスとなります。
.It export name ...
それ以後にシェルから実行されるコマンドの環境に、指定された名前の変数が
含まれるようにします (変数のエクスポート)。
変数のエクスポートを取り消す唯一の方法は、変数を unset することです。
以下のように記述することで、エクスポートすると
同時に変数の値を設定することができます。
.Bd -literal -offset indent
export name=value
.Ed
.Pp
引数を指定しない場合、すべてのエクスポートされている名前と値が表示されます。
.It fc [-e editor] [first [last]]
.It fc -l [-nr] [first [last]]
.It fc -s [old=new] [first]
fc は、対話的シェルにそれ以前に入力されたコマンドの内容を
表示、編集、再実行します。
.Bl -tag -width Ds
.It -e editor
編集に際し、指定されたエディタ editor を使用します。
editor は変数 PATH を通して検索できるコマンド名です。
-e が指定されなかった場合は、変数 FCEDIT の値が
用いられます。FCEDIT が設定されていないか空に設定されている場合は
EDITOR の値が用いられ、それも設定されていないか空ならば
.Xr ed 1
が用いられます。
.It -l (ell)
(小文字のエル)
エディタを起動せずに、コマンド履歴の内容を一覧出力します。
パラメータ first と last で指定した範囲のコマンドが順に
(出力の順番は -r オプションの影響を受けます)出力されます。
各コマンドの出力の際にはコマンド番号が付加されます。
.It -n
-l で一覧出力する際にコマンド番号を付加しません。
.It -r
-l オプションでの一覧や、
編集時 (-l も -s も指定されなかった場合) の順序を反転します。
.It -s
エディタを起動せずにコマンドを再実行します。
.It first
.It last
一覧出力や編集の対象となるコマンドを選択します。アクセス可能なコマンド
の数は変数 HISTSIZE の値で決まります。
first、last の値は以下のいずれかの形式で指定します。
.It [+]number
正の数で、コマンド番号を指定します。コマンド番号は -l オプションで表示させて
調べることができます。
.It -number
負の数で、指定された数だけ現在から遡ったコマンドを指定します。たとえば、
-1 は直前に実行されたコマンドを指定します。
.It string
文字列 string は、過去に実行されたコマンドのうち、
その文字列から始まる最新のものを指定します。
もし -s オプションが指定されて ``old=new'' が指定されていなければ、
最初のオペランドにイコール記号(``='')を含めることはできません。
.El
.\" 次の行の .Pp はもともとコメントアウトされていた
.Pp
fc コマンドの実行にあたり、以下の環境変数の影響を受けます。
.Bl -tag -width Ds
.It Va FCEDIT
使用するエディタ名
.It Va HISTSIZE
アクセス可能なコマンド数
.El
.It fg [ job ]
指定されたジョブまたは現在のジョブをフォアグラウンドに移動します。
.It getopts optstring var
POSIX に準拠した getopts コマンドです。
この getopts コマンドにより、以前の getopt コマンドの必要性は減少しました。
最初の引数は文字の列です。各文字の後ろにはコロンをつけることができ、
そのオプションが引数をとることを指示します。
指定された変数に、解析され見つかったオプションが設定されます。
見つかったオプションの次の引数のインデックスはシェル変数 OPTIND に格納されます。
あるオプションが引数をとる場合、その引数はシェル変数 OPTARG に置かれます。
有効でないオプションに出くわすと、変数 var には `?' がセットされます。
getopts はオプション群の末尾に到達すると偽の値 (1) を返します。
.It hash -rv command ...
シェルは、コマンドの位置を保持するハッシュテーブルを維持管理しています。
hash コマンドに引数が指定されなかった場合、このテーブルの内容が出力されます。
最後に cd コマンドが実行されてから参照されていない項目には
アスタリスク文字 (``*'') が表示されます。
この項目は無効になっているかもしれません。
.Pp
引数を指定した場合、hash コマンドは指定したコマンドをハッシュテーブル
から削除し (command が関数ではない場合)、その後でそのコマンドを検索します。
-v オプションを指定した場合、発見したコマンドの位置を表示します。-r オ
プションを指定した場合、関数以外のすべてのエントリをハッシュテーブルから
削除します。
.It jobid [ job ]
ジョブ job 中の各プロセスのプロセス ID を表示します。引数 job が
省略された場合、現在のジョブに対して処理を行います。
.It jobs
バックグラウンドで走行中の、現在のシェルプロセスの子プロセスの
一覧を出力します。
.It pwd
カレントディレクトリを表示します。組み込みコマンドの pwd は
カレントディレクトリ名を覚えており、表示するときに再計算しないので、
組み込みコマンドの pwd は同名のプログラムとは異なった表示をする場合があります。
このため処理は高速ですが、カレントディレクトリ
の名前を変更した場合でも、以前のディレクトリ名を表示し続けます。
.It Li "read [ -p prompt ] [ -e ] variable ...
-p オプションが指定され、かつ標準入力が端末の場合、
prompt をプロンプトとして表示します。
そして標準入力から 1 行入力します。行端の改行文字を削除し、行を前述の
単語分割の方法に従って分割し、各単語を、valiable... で指定する各変数に
順に代入します。
もし、指定された変数の数より分割された単語の数が多ければ、最後の変数に
残りの単語すべて (IFS の文字を区切りにしてそれらも一緒に) が代入されます。
分割された単語の数より多くの変数が指定されていたなら、
余った変数には空文字列が設定されます。
.Pp
-t オプションが指定され、かつ入力がなされる前にタイムアウトすると、
read コマンドは値を割当てずに戻ります。
タイムアウト値の後にはオプションで 's', 'm', 'h' のいずれかの一文字
を付けることが出来、それぞれ秒, 分, 時間を陽に指定します。
どれも指定しない場合には 's' であるものとします。
.Pp
-e オプションを指定すると、入力中のバックスラッシュ文字を特別扱いします。
バックスラッシュ文字が改行文字の直前にある場合、
バックスラッシュ文字と改行文字は削除されます。
その他の文字の直前にバックスラッシュがある場合、バックスラッシュは削除され、
文字が IFS に含まれていても、IFS の文字でないかのように扱われます。
.It readonly name ...
指定された名前の変数を読み出し専用とし、あとで値を変更したり unset した
りすることができないようにします。以下のように記述することで、
変数を読み出し専用と宣言するのと同時に値を設定することも可能です。
.Bd -literal -offset indent
readonly name=value
.Ed
.Pp
引数が指定されない場合、読み出し専用になっている変数の名前の一覧が表示され
ます。
.It Li "set [ { -options | +options | -- } ] arg ...
set コマンドは 3 通りの異なった機能を持ちます。
.Bl -item
.It
引数を指定しなかった場合、すべてのシェル変数の名前と値の一覧を表示します。
.It
options が指定された場合、「引数リスト処理」の節で説明した方法で、
指定されたオプションフラグを設定あるいは解除します。
.It
第 3 の用法は、シェルの位置パラメータを変更する際に使用します。オプションの
設定を変更せずに位置パラメータのみを変更したい場合は set コマンドへの最初
の引数として ``--'' を指定します。arg が指定されない場合、
すべての位置パラメータはクリアされます (``shift $#'' を実行することと
等価です)。
.El
.Pp
.It setvar variable value
変数に値を代入します。(一般に、setvar を使うよりも variable=value と書くほう
が望ましいといえます。setvar は、関数内で、パラメータとして渡された名前を持つ
変数に値を代入するためのものです。)
.It shift [ n ]
位置パラメータを n 回シフトします。1 回のシフトにより、$2 の値が $1 に、$3 の
値が $2 に代入されます (以下同様)。また、$# の値は 1 減少します。
位置パラメータがない場合、shift は何もしません。
.It trap [ action ] signal ...
シェルが指定されたシグナル signal を受けとったときに、action を解析し実行する
ように設定します。シグナルはシグナル番号で指定します。action は空文字列に
したり、省略したりすることができます。空文字列の場合、指定されたシグナルは
無視され、省略した場合は、指定したシグナルを受けとったときデフォルトの処理を
行ないます。シェルがサブシェルを起動するとき、trap で指定された (かつ
無視するように設定されていない) シグナルの動作をデフォルトの処理に戻します。
シェルが起動したときにすでに無視されるように設定されていたシグナルに対して
trap コマンドを使用しても効果はありません。
.It type [name] ...
各 name をコマンドとして解釈し、コマンド検索の結果を出力します。出力さ
れる結果は以下のものがあります。シェルのキーワード、エイリアス、シェル
の組み込みコマンド、コマンド、痕跡つきエイリアス(tracked alias)、最後に
not found (見つからず)があります。エイリアスについては、エイリアス展開
の結果が出力されます。コマンドと痕跡つきエイリアスについては、そのコマ
ンドの完全なパス名が印刷されます。
.It ulimit [ -HSacdflmnust ] [ limit ]
リソースのリミット値 (リミット値については
.Xr getrlimit 2
参照) を設定あるいは表示します。
``limit'' が指定されている場合、指定されたリソースが設定されます。
それ以外の場合、現在のリソース設定値が表示されます。
.Pp
``-H'' が指定された場合、ハードリミットが設定ないし表示されます。
ハードリミット値を下げることは誰にでもできますが、
それを増やすことができるのはスーパユーザだけです。
オプション ``-S'' を指定した場合はソフトリミットになります。
リミット値を表示する場合、``-S'' か ``-H'' のいずれか一方だけしか
指定できません。
デフォルトでは、表示はソフトリミット、設定はハード/ソフトリミット両方です。
.Pp
オプション ``-a'' を指定すると全リソースの設定値が表示されます。
この場合、パラメータ ``limit'' は指定できません。
.Pp
この他のオプションは、表示あるいは設定するリソースの種類を指定するものです。
これらは互いに排他的です。
.Bl -tag -width Ds
.It -c coredumpsize
コアダンプファイルの最大サイズ。512 バイトのブロック単位。
.It -d datasize
プロセスのデータセグメントの最大サイズ。キロバイト単位。
.It -f filesize
ファイルの最大サイズ。512 バイトブロック単位。これがデフォルトです。
.It -l lockedmem
プロセスがロックできるメモリサイズの最大値。キロバイト単位。
.It -m memoryuse
プロセスの常駐セットサイズの最大値。キロバイト単位。
.It -n nofiles
あるプロセスがオープンできるファイル記述子の最大数。
.It -s stacksize
スタックセグメントサイズの最大値。キロバイト単位。
.It -t time
各プロセスで消費できる CPU 時間の最大値。秒単位。
.It -u userproc
このユーザ ID で同時に走らせうる最大プロセス数。
.El
.It umask [ mask ]
umask の値 (
.Xr umask 2
を参照) を、指定された 8 進数の値に設定します。引数が
省略された場合、現在の umask の値が表示されます。
.It unalias [-a] [name]
``name'' が指定された場合、指定された名前のエイリアスを削除します。
``-a'' オプションが指定された場合、すべてのエイリアスを削除します。
.It unset name ...
指定された変数または関数を unset し、エクスポートされていない状態にします。
指定された名前の変数も関数も存在する場合、変数と関数の両方が unset されます。
.It wait [ job ]
指定されたジョブ job が終了するのを待ち、ジョブ内の最後のプロセスの
終了ステータスを返します。引数が省略された場合、すべてのジョブが終了する
まで待ち、終了ステータス 0 を返します。
.El
.Ss コマンド行編集
.Nm
が端末から対話的に実行されている場合、現在入力中のコマンドおよび
コマンド履歴 (組み込みコマンド fc 参照) を vi モードのコマンド行編集機能
により編集することができます。
このモードでは、vi のマニュアルに示されているコマンドのサブセットを用います。
コマンド `set -o vi' により vi モードが開始され、vi の挿入モードに移行します。
vi モード中では、
挿入モードとコマンドモードの両方を自由に切り替えることが可能です。
vi モードは vi と同様であり、<ESC> キー
によりコマンドモードに移行し、コマンドモードで <return> キーを叩くことで、
行の内容がシェルに渡されます。
.Pp
同様に、コマンド `set -o emacs' により emacs 風のコマンド行編集機能の
サブセットを使うことができるようになります。
.Sh 歴史
.Nm
コマンドは、
.At V.1
で登場しました。
.\" -Amended by N.Kumagai 97.12.30
diff --git a/ja/man/man1/shar.1 b/ja/man/man1/shar.1
index d2742a25f4..71a2d83b7a 100644
--- a/ja/man/man1/shar.1
+++ b/ja/man/man1/shar.1
@@ -1,113 +1,113 @@
.\" %NetBSD: shar.1,v 1.3 1994/12/21 08:42:03 jtc Exp %
.\"
.\" 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.
.\"
.\" @(#)shar.1 8.1 (Berkeley) 6/6/93
-.\" %Id: shar.1,v 1.1.1.1.8.5 1998/03/08 12:13:51 jkh Exp %
+.\" %Id: shar.1,v 1.6 1997/08/11 07:22:04 charnier Exp %
.\" jpman %Id: shar.1,v 1.3 1997/05/19 16:58:30 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt SHAR 1
.Os BSD 4.4
.Sh 名称
.Nm shar
.Nd ファイルのシェルアーカイブを作成する
.Sh 書式
.Nm
.Ar
.Sh 解説
.Nm
コマンドは、コマンドラインで指定したファイル階層を再生成するための
.Xr sh 1
のスクリプトファイルを生成するものです (ちなみに、
.Nm
自身、シェルスクリプトです)。
.Nm
で生成されるスクリプトファイルでディレクトリ
を再生成する場合、コマンドライン上での指定は、その中に作成されるファイルより
も先にディレクトリを指定しなくてはなりません (
.Xr find 1
の出力はこの順番で出るので、正しく動作します)。
.Pp
.Nm
コマンドは、通常は少数のファイルを
.Xr ftp 1
.Xr mail 1
を用いて配布する場合に用いられます。
.Sh 関連ファイル
.Xr compress 1 ,
.Xr mail 1 ,
.Xr tar 1 ,
.Xr uuencode 1
.Sh バグ
.Nm
は、特殊な形式のファイルや、特定の文字をサポートするようには出来ていません。
.Nm
コマンドは最後の文字として改行 ('\\n') を含まないファイルを扱えません。
.Pp
.Nm
ファイルにトロイの木馬 (ウイルスの一種) をもぐり込ませることは
簡単に出来ます。
すべてのシェルアーカイブファイルは、
.Xr sh 1
を用いて走行させる前に、十分に点検を行なうことを強くおすすめします。
このインプリメントの
.Nm
を用いて作成されたアーカイブならは、以下の
コマンドで簡単に点検ができます。
.Bd -literal -offset indent
egrep -v '^[X#]' shar.file
.Ed
.Sh 使用例
プログラム
.Xr ls 1
のシェルアーカイブを作成して Rick にメールするには以下のようにします:
.Bd -literal -offset indent
cd ls
shar `find . -print` \&| mail -s "ls source" rick
.Ed
.Pp
このプログラムを再作成するには以下のようにします:
.Bd -literal -offset indent
mkdir ls
cd ls
\&...
<メールのヘッダを削除してアーカイブの検査をします>
\&...
sh archive
.Ed
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja/man/man1/sleep.1 b/ja/man/man1/sleep.1
index 8499883637..ef0afe6eff 100644
--- a/ja/man/man1/sleep.1
+++ b/ja/man/man1/sleep.1
@@ -1,120 +1,120 @@
.\" Copyright (c) 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)sleep.1 8.3 (Berkeley) 4/18/94
-.\" %Id: sleep.1,v 1.2.8.4 1998/07/16 09:35:51 jkh Exp %
+.\" %Id: sleep.1,v 1.8 1998/05/18 06:46:11 charnier Exp %
.\" jpman %Id: sleep.1,v 1.2 1997/05/04 13:38:26 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt SLEEP 1
.Os
.Sh 名称
.Nm sleep
.Nd 一定の時間実行を停止する
.Sh 書式
.Nm
.Ar seconds
.Sh 解説
.Nm
コマンドは、少なくとも
.Ar seconds
で指定した秒数だけ実行を停止します。
.Nm
コマンドは
他のコマンドの実行のスケジューリングに用いられます(以下の
.Sx 使用例
を参照)。
.Pp
.Nm
コマンドが SIGALRM シグナルを受信すると終了ステータス 0 にて終了します。
その他のシグナルでは標準の動作を行います。
.Pp
.Nm
コマンドは終了時に以下の値のいずれかを返します。
.Bl -tag -width flag
.It Li \&0
正常終了した場合、もしくは
.Dv SIGALRM
シグナルを受信した場合。
.It Li \&>\&0
エラーが起きた場合。
.El
.Sh 使用例
あるコマンドの実行を
.Va x
秒後に設定したい場合:
.Pp
.Dl (sleep 1800; sh command_file >& errors)&
.Pp
上記の例では、command_file で指定したスクリプトを実行する前に
30 分間待ちます(
.Xr at 1
ユーティリティの項を参照)。
.Pp
あるコマンドを(
.Xr csh 1
を使って)繰り返し実行したい場合:
.Pp
.Bd -literal -offset indent -compact
while (1)
if (! -r zzz.rawdata) then
sleep 300
else
foreach i (`ls *.rawdata`)
sleep 70
awk -f collapse_data $i >> results
end
break
endif
end
.Ed
.Pp
このようなスクリプトが必要とされるのは以下のような場合でしょう:
現在実行中のプログラムが、一連のファイル群を処理するのに予想以上の
時間を必要としていて、このプログラムが処理結果をファイル
(zzz.rawdata)に出力したらすぐに別のプログラムを起動して
そのファイルを処理したほうがよい場合があります。
上記のスクリプトでは、zzz.rawdata が生成されたかどうかを
5 分おきに確認し、生成が確認されたら 70 秒待って awk ジョブを
実行する、という操作を繰り返します。
.Sh 関連項目
.Xr at 1 ,
.Xr setitimer 2 ,
.Xr alarm 3 ,
.Xr sleep 3
.Sh 規格
.Nm
コマンドは、おそらく
.St -p1003.2
互換です。
diff --git a/ja/man/man1/startslip.1 b/ja/man/man1/startslip.1
index 81d65dd5cb..0f998a95f3 100644
--- a/ja/man/man1/startslip.1
+++ b/ja/man/man1/startslip.1
@@ -1,211 +1,215 @@
.\" 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 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.
.\"
.\" @(#)startslip.1 8.1 (Berkeley) 6/5/93
-.\" %Id: startslip.1,v 1.10.2.2 1998/08/12 06:37:07 charnier Exp %
+.\" %Id: startslip.1,v 1.14 1998/08/03 06:32:57 charnier Exp %
.\"
.\" jpman %Id: startslip.1,v 1.3 1997/08/19 03:06:09 h-nokubi Stab %
.\"
.Dd June 5, 1993
.Dt STARTSLIP 1
.Os BSD 4.4
.Sh 名称
.Nm startslip
.Nd 電話をかけ、slip サーバにログインする
.Sh 書式
.Nm startslip
.Op Fl d
.Op Fl b Ar speed
[
.Fl s Ar string1
.Op Fl s Ar string2 Op Ar ...
]
.Op Fl h
.Op Fl l
.Op Fl L
.Op Fl A Ar annexname
.Op Fl U Ar upscript
.Op Fl D Ar downscript
.Op Fl t Ar script_timeout
.Op Fl W Ar maxtries
.Op Fl w Ar retry_pause
.Op Fl K Ar keepalive
.Op Fl O Ar outfill
.Op Fl S Ar unit
-.Ar device user passwd
+.Ar device user password
.Sh 解説
-.Pp
-.Nm startslip
+.Nm
は指定された
.Ar device
をオープンします。
ひとたびキャリアが確認されると(モデム制御が有効にされている場合)、
-.Nm startslip
+.Nm
は指定された
.Ar user
および
.Ar password
でのログインを試みます。
Annex オプション (
.Fl A
参照) が指定されない限り、
標準的な login: および Password: の方式を想定します。
成功すると、
.Nm
はその device を slip の回線規約に設定し、
.Ar upscript
を呼び出してウェイトモードに入ります。
キャリアが落ちる (モデム制御有効の場合) あるいは
.Dv SIGHUP
シグナルがに送られると、
-.Nm startslip
+.Nm
は device をクローズし、
.Ar downscript
を呼び出し、ダイアルアップとログインのシーケンスを繰り返し試みます。
.Dv SIGTERM
シグナルが送られると、
-.Nm startslip
+.Nm
は device をクローズし、
.Ar downscript
を呼び出し、そして終了します。
同一 device に対して
-.Nm startslip
+.Nm
が 2 回呼び出されると、処理を行う前に
ひとつめの
-.Nm startslip
+.Nm
.Dv SIGTERM
シグナルによって kill されます。
.Pp
-利用可能オプション:
-.Bl -tag -width Ar
+以下のオプションを利用可能です:
+.Bl -tag -width indent
.It Fl d
行おうとしている処理に関するデバッグ情報を出力します。
.It Fl b Ar speed
.Ar device
に用いるボーレートを決定します。デフォルトは 9600 です。
.It Fl t Ar script_timeout
ログインスクリプトのタイムアウトを秒単位で指定します。デフォルトは 90 です。
.It Fl w Ar retry_pause
接続再試行の間の待ち時間を秒単位で指定します(再試行のたびに長くなります)。
デフォルトは 60 です。
.It Fl W Ar maxtries
一つのセッション内で接続再試行する最大回数を設定します。
デフォルトは 6 回です。0 を指定すると無限回という意味になります。
.It Fl s Ar stringN
オプション文字列
.Ar stringN
.Ar device
に書き出します。改行は自動的に付加されます。
ダイアルアップモデムの場合、
この文字列を用いてダイアルシーケンスを指定します。
デフォルトでは文字列は全く書き出しません。
複数個の
.Fl s Ar stringN
引数を指定して、例えばいくつかのホストの電話番号を
接続試行毎に切り替えるように指定できます。
.It Fl A Ar annexname
Xylogics の Annex box に接続しているものとみなし、引数
.Ar user
および
-.Ar passwd
+.Ar password
を用いて適切なダイアログを行います。引数
.Ar annexname
は Annex プロンプトとマッチさせて接続が確立したことを判断するのに
用いる文字列です。
.It Fl h
.Ar device
に対してハードウェアフロー制御 (CTS/RTS) を用います。
デフォルトではフロー制御は行いません。
.It Fl l
.Ar device
に対してのモデム制御 (キャリアを待つ およびキャリアドロップの検出) を
無効化します。
デフォルトではモデム制御は有効になっています。
.It Fl U Ar upscript
SLIP インタフェースが接続されたときに実行するスクリプトを指定します。
-このスクリプトには ifconfig, route その他適切なコマンドを含めることが
+このスクリプトには
+.Xr ifconfig 8 ,
+.Xr route 8
+や、その他適切なコマンドを含めることが
できます。
スクリプトには "slX up" が引数として渡されます。
デフォルトは
.Pa /sbin/ifconfig
です。
ダイアルシーケンス番号 (
.Fl s
参照) は環境変数
.Ev LINE
を通じて渡されます。
.It Fl D Ar downscript
SLIP インタフェースが切断されたときに実行するスクリプトを指定します。
スクリプトには引数として "slX down" が渡されます。
-デフォルトは "/sbin/ifconfig" です。
+デフォルトは
+.Pa /sbin/ifconfig
+です。
ダイアルシーケンス番号 (
.Fl s
参照) は環境変数
-.Dv LINE
+.Ev LINE
を通じて渡されます。
.It Fl K Ar keepalive
SLIP の "keep alive" タイムアウトの秒数を設定します。
この時間内に FRAME_END を受信しなければ、再接続が行われます。
向こう側からのアクティブな "out fill" タイムアウトを期待します。
デフォルトではタイムアウトなしです。
.It Fl O Ar outfill
SLIP の "out fill" タイムアウトの秒数を設定します。
この時間内に FRAME_END を少なくとも 1 回送信するようにします。
向こう側で "keep alive" タイムアウトが設定されている必要があります。
デフォルトではタイムアウトなしです。
.It Fl S Ar unit
SLIP ユニットナンバを直接設定します。
2 つのインタフェースが同一のナンバを使っていることはチェックしないので、
注意して使用して下さい。
デフォルトではダイナミックな割り当てを行います。
.It Fl L
UUCP 形式のデバイスロックを行います。
既に UUCP ロックを行っている外部プログラムから
-.Nm startslip
+.Nm
を実行する場合以外は、これが必要です。
デフォルトの場合、そのようなプログラムを満足させる UUCP ロックは行いません。
.El
.Sh 関連ファイル
.Bl -tag -width /var/run/startslip.<device>.pid -compact
.It Pa /var/run/startslip.<device>.pid
PID がここに格納されます。
+.It Pa /usr/share/examples/startslip/*
.Sh 関連項目
.Xr uustat 1 ,
.Xr slattach 8 ,
-.Xr sliplogin 8 ,
-/usr/share/examples/startslip
+.Xr sliplogin 8
.Sh 歴史
-.Nm startslip
+.Nm
.Bx 4.4
で登場しました。
diff --git a/ja/man/man1/strip.1 b/ja/man/man1/strip.1
index 550205ee3e..7f094e159e 100644
--- a/ja/man/man1/strip.1
+++ b/ja/man/man1/strip.1
@@ -1,72 +1,72 @@
.\" 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.
.\"
.\" @(#)strip.1 8.1 (Berkeley) 6/6/93
-.\" %Id: strip.1,v 1.3.2.1 1997/08/13 06:37:16 charnier Exp %
+.\" %Id: strip.1,v 1.6 1997/08/12 06:44:56 charnier Exp %
.\" jpman %Id: strip.1,v 1.4 1997/06/05 11:10:48 bobson Stab %
.\"
.Dd June 6, 1993
.Dt STRIP 1
.Os
.Sh 名称
.Nm strip
.Nd 実行可能ファイルから実行に不要な情報を削除する
.Sh 書式
.Nm
.Op Fl d
.Op Fl x
.Ar
.Sh 解説
.Nm
は実行可能ファイルから、アセンブラ、ローダ、デバッガが使用する
リロケーション情報とシンボルテーブルを削除します。これにより、
インストールされる実行可能ファイルのサイズを減少させ、
ディスク使用量を抑えることができます。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl d
デバッギング情報と空のシンボルのみを削除します。
.It Fl x
デバッギング情報、コンパイラ情報、ローカルシンボルのみを削除します。
.El
.Pp
.Nm
は成功すれば 0 を、エラーが発生すれば 1 を、終了ステータスとして返します。
.Sh 関連項目
.Xr cc 1 ,
.Xr ld 1 ,
.Xr stab 5
.Sh 歴史
.Nm
.At v1
に登場しました。
diff --git a/ja/man/man1/stty.1 b/ja/man/man1/stty.1
index df205127df..e28e3f8c61 100644
--- a/ja/man/man1/stty.1
+++ b/ja/man/man1/stty.1
@@ -1,530 +1,530 @@
.\" Copyright (c) 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)stty.1 8.4 (Berkeley) 4/18/94
-.\" %Id: stty.1,v 1.4.2.5 1998/07/16 09:35:52 jkh Exp %
+.\" %Id: stty.1,v 1.10 1998/06/03 04:07:59 jkoshy Exp %
.\" jpman %Id: stty.1,v 1.2 1997/06/05 04:05:59 yugawa Stab %
.\"
.Dd April 18, 1994
.Dt STTY 1
.Os
.Sh 名称
.Nm stty
.Nd 端末の設定を行なう
.Sh 書式
.Nm stty
.Op Fl a | Fl e | Fl g
.Op Fl f Ar file
.Op operands
.Sh 解説
.Nm
は、標準入力になっているデバイスの端末属性を設定もしくは表示する
プログラムです。オプションや引数を指定しなかった場合、
設定されている属性の一部や、デフォルト値と違う値が設定されている属性
を表示します。
指定した場合は、指定された引数に従って端末の状態を変更します。
ターミナルの種類によっては相互に排他的な引数の組み合わせもあります。
.Pp
オプションとしては以下のものがあります。
.Bl -tag -width indent
.It Fl a
.St -p1003.2
に規定された形式で、
現在の端末属性をすべて標準出力に出力します。
.It Fl e
.Tn BSD
の伝統的な ``all'' や ``everything'' の形式で、
現在の端末属性をすべて標準出力に出力します。
.It Fl f
標準入力ではなく、
.Ar file
で指定された端末を使います。
このファイルは
.Fn open
関数に
.Dv O_NONBLOCK
フラグを付けてオープンされるので、端末の設定や表示をブロックされず
に行なうことができます。
.It Fl g
端末変更後に端末の状態を復帰させられるように、
.Nm
の引数として指定できる形式で、現在の端末属性を標準出力に
出力します。
この形式は
.St -p1003.2
に規定されています。
.El
.Pp
端末属性の設定には、以下の引数が使えます。
.Ss 制御モード:
.Pp
制御モードのフラグは端末と関連するハードウェアの属性
に影響します。これは termios 構造体の c_cflag に相当します。
.Bl -tag -width Fl
.It Cm parenb Pq Fl parenb
パリティ生成および検出を有効 (無効) にします。
.It Cm parodd Pq Fl parodd
奇数パリティ (偶数パリティ) にします。
.It Cm cs5 cs6 cs7 cs8
可能なら 1 文字のビット幅を設定します。
.It Ar number
可能なら、端末のボーレートを
.Ar number
に設定します。0 を指定した場合は、モデムの制御を切ります。
.It Cm ispeed Ar number
可能なら、入力のボーレートを
.Ar number
に設定します。0 を設定した場合は、出力のボーレートと同じ値に設定されます。
.It Cm ospeed Ar number
可能なら、出力のボーレートを
.Ar number
に設定します。0 を設定した場合は、モデムの制御を切ります。
.It Cm speed Ar number
.Cm ispeed
.Cm ospeed
の両方を
.Ar number
に設定します。
.It Cm hupcl Pq Fl hupcl
そのデバイスをオープンしているプロセスがクローズ処理を行ったとき、ほか
にこのデバイスをオープンしているプロセスがなければ、モデムの制御機能に
より切断処理を行います (行いません)。
.It Cm hup Pq Fl hup
hupcl
.Pq Fl hupcl
と同じです。
.It Cm cstopb Pq Fl cstopb
ストップビットを 2ビット (1ビット) にします。
.It Cm cread Pq Fl cread
受話器を有効 (無効) にします。
.It Cm clocal Pq Fl clocal
回線に対してモデム制御が不要である (必要である) とみなします。
.It Cm crtscts Pq Fl crtscts
RTS/CTS フロー制御を有効 (無効) にします。
.El
.Ss 入力モード:
これは termios 構造体の c_iflag に相当します。
.Bl -tag -width Fl
.It Cm ignbrk Pq Fl ignbrk
入力のブレーク信号を無視します (無視しません)。
.It Cm brkint Pq Fl brkint
ブレークを受信したとき、シグナル
.Dv INTR
を出します (出しません)。
.It Cm ignpar Pq Fl ignpar
パリティエラーを無視します (無視しません)。
.It Cm parmrk Pq Fl parmrk
パリティエラーをマークします (マークしません)。
.It Cm inpck Pq Fl inpck
入力のパリティチェックを有効 (無効) にします。
.It Cm istrip Pq Fl istrip
入力した文字の 8 ビット目を捨てて 7 ビットにします (8 ビット目
を捨てません)。
.It Cm inlcr Pq Fl inlcr
入力の
.Dv NL
.Dv CR
に変換します (変換しません)。
.It Cm igncr Pq Fl igncr
入力の
.Dv CR
を無視します (無視しません)。
.It Cm icrnl Pq Fl icrnl
入力の
.Dv CR
.Dv NL
に変換します (変換しません)。
.It Cm ixon Pq Fl ixon
制御コードの
.Dv START/STOP
を使った出力フロー制御を有効 (無効) にします。
システムから端末への出力において、システムが
.Dv STOP
を受信したら出力を中断し、
.Dv START
を受信するか、
.Cm ixany
が設定されている場合は何らかの文字を受信すると、
出力を再開するようになります。
.It Cm ixoff Pq Fl ixoff
システムの入力キューが
空/満杯に近づいたら、それぞれ
.Dv START/STOP
を出力するようにします (近づいても、出力しません)。
.It Cm ixany Pq Fl ixany
どんな文字が来ても (
.Dv START
が来た場合のみ) 出力を再開します。
.It Cm imaxbel Pq Fl imaxbel
システムによって入力キューの
.Dv MAX_INPUT
(一般的には 255) の最大文字数が規定されており、
.Cm imaxbel
がセットされていると、入力キューの制限を越えた入力に対して
ASCII BEL キャラクタを出力キューに送ります (端末が鳴ります)。
.Cm imaxbel
がセットされていなくて入力キューが一杯になった場合、次の文字入力で
すべての入力、出力キューは捨てられます。
.El
.Ss 出力モード:
これは termios 構造体の c_oflag に相当します。
.Bl -tag -width Fl
.It Cm opost Pq Fl opost
プロセス後の処理を行った上で出力をします (プロセス後の処理を行わずに出力します。
この指定をすると、他のすべての出力モードが無視されます)。
.It Cm onlcr Pq Fl onlcr
出力の
.Dv NL
.Dv CR-NL
に変換します (変換しません)。
.It Cm oxtabs Pq Fl oxtabs
出力のタブをスペースに展開します (展開しません)。
.El
.Ss ローカルモード:
.Pp
ローカルモードのフラグ (lflags) は端末処理のさまざまな属性に影響します。
歴史的には、"local"という名前のつけられた新しいジョブコントロール機能
は Jim Kulp によって
.Tn IIASA
.Tn Pdp 11/70
に実装されました。
その後このドライバは、
Evans Hall, UC Berkeley の最初の
.Tn VAX
上で走りました。その際ジョブコントロールの細部は大幅に変更されましたが、
構造体の定義と名前は根本的には変わりませんでした。
lflag の 'l' の二つ目の解釈は、
.Ar termios
構造体の
.Ar c_lflag
に相当する ``line discipline flag''(行制御規則フラグ) です。
.Bl -tag -width Fl
.It Cm isig Pq Fl isig
特殊な制御文字
.Dv INTR , QUIT ,
.Dv SUSP
に対する処理を有効 (無効) にします。
.It Cm icanon Pq Fl icanon
.Dv ERASE
.Dv KILL
処理による入力制御を有効 (無効) にします。
.It Cm iexten Pq Fl iexten
icanon, isig, ixon で制御に使われているもの以外の特殊な
制御文字の処理を有効 (無効) にします。
.It Cm echo Pq Fl echo
タイプされた文字をエコーバックします (エコーバックしません)。
.It Cm echoe Pq Fl echoe
.Dv ERASE
文字の入力があった場合、可能ならディスプレイ上に見える現在の出力行の
最後の文字を消します (消しません)。
.It Cm echok Pq Fl echok
.Dv KILL
文字の入力があった場合、そのあとに
.Dv NL
を出力します (出力しません)。
.It Cm echoke Pq Fl echoke
可能なら、
.Dv KILL
文字でディスプレイ上の現在の行を消します (消しません)。
.It Cm echonl Pq Fl echonl
echo が無効になっているときでも
.Dv NL
文字だけはエコーバックさせます (エコーバックしません)。
.It Cm echoctl Pq Fl echoctl
.Cm echoctl
をセットすると、制御文字は ^X のように表示されます。
セットしなければ、その文字自身が表示されます。
.It Cm echoprt Pq Fl echoprt
プリンタ端末に対するもので、設定された場合、削除された文字を
``\\'' と ``/'' で囲んで逆方向にエコーします。
設定されていなければ、この機能を無効にします。
.It Cm noflsh Pq Fl noflsh
.Dv INTR , QUIT , SUSP
のあとのフラッシュ処理を無効 (有効) にします。
.It Cm tostop Pq Fl tostop
バックグラウンドジョブが出力を行おうとした時に
.Dv SIGTTOU
を送ります (送りません)。これによってバックグラウンドジョブは画面出力を
行おうとすると停止するようになります。
.It Cm altwerase Pq Fl altwerase
.Dv WERASE
文字を処理するときに、別の単語消去アルゴリズムを用います (用いません)。
このアルゴリズムは英数字とアンダースコアの並びを単語とみなします。
また、分類上直前の文字をスキップします (便宜的に、直前の文字を
.Dv ERASE
一文字で消すことができるようにするため)。
.It Cm mdmbuf Pq Fl mdmbuf
セットされると、CD 信号の検出によるフロー制御の出力を行います。
セットされなければ、CD 信号の低下に対してエラーを出力します
(キャリア信号は
.Dv CLOCAL
フラグによっても無視されません)。
.It Cm flusho Pq Fl flusho
出力を捨てます (捨てません)。
.It Cm pendin Pq Fl pendin
入力を非標準 (non-canonical) モードから標準 (canonical) モードへ切り換えた
あと、入力を保留します
(保留しません)。読み込みが保留されたとき、または更に入力があったときに
再入力されます。
.El
.Ss 制御文字:
.Bl -tag -width Fl
.It Ar control-character Ar string
.Ar string
.Ar control-character
を割り当てます。もし string が 1 文字だけなら、その文字に
.Ar control-character
が割り当てられます。
string が二文字の "^-" もしくは "undef" の場合は
.Ar control-character
は無効にされます (つまり、
.Pf { Dv _POSIX_VDISABLE Ns }
になります)。
.Pp
認識される制御文字:
.Bd -ragged -offset indent
.Bl -column character Subscript
.It 制御文字 記号   説明
.It _________ _________ _______________
.It eof Ta Tn VEOF EOF No character
.It eol Ta Tn VEOL EOL No character
.It eol2 Ta Tn VEOL2 EOL2 No character
.It erase Ta Tn VERASE ERASE No character
.It werase Ta Tn VWERASE WERASE No character
.It intr Ta Tn VINTR INTR No character
.It kill Ta Tn VKILL KILL No character
.It quit Ta Tn VQUIT QUIT No character
.It susp Ta Tn VSUSP SUSP No character
.It start Ta Tn VSTART START No character
.It stop Ta Tn VSTOP STOP No character
.It dsusp Ta Tn VDSUSP DSUSP No character
.It lnext Ta Tn VLNEXT LNEXT No character
.It reprint Ta Tn VREPRINT REPRINT No character
.It status Ta Tn VSTATUS STATUS No character
.El
.Ed
.It Cm min Ar number
.It Cm time Ar number
min あるいは time の値を
.Ar number
にします。
.Dv MIN
.Dv TIME
は非標準的なモード (-icanon) での入力処理に使われます。
.El
.Ss 複合モード:
.Pp
.Bl -tag -width Fl
.It Ar saved settings
現在の端末属性を
.Fl g
オプションによって保存された属性にする。
.It Cm evenp No or Cm parity
parenb と cs7 を有効にし、parodd を無効にします。
.It Cm oddp
parenb, cs7, parodd を有効にします。
.It Fl parity , evenp , oddp
parenb を無効にして、cs8 をセットします。
.It Cm \&nl Pq Fl \&nl
icrnl を有効 (無効) にします。
それに加えて、-nl は inlcr と igncr を解除します。
.It Cm ek
.Dv ERASE
.Dv KILL
に割り当てられている文字をシステムのデフォルトのものに戻します。
.It Cm sane
すべてのモードを対話的な端末利用に妥当な値にリセットします。
.It Cm tty
行制御規則を標準端末の規則
.Dv TTYDISC
に設定します。
.It Cm crt Pq Fl crt
CRT ディスプレイ用に適合するモードをすべて有効 (無効) にします。
.It Cm kerninfo Pq Fl kerninfo
.Dv STATUS
文字 (通常 ^T に設定されています) に結びつけられた
システムステータス行の生成を有効 (無効) にします。
このステータス行はシステムの負荷、現在のコマンドの名前、プロセス ID、
プロセスが待っているイベント (あるいはプロセスの状態)、
ユーザー時間とシステム時間、CPU利用率、現在のメモリ使用状況
からなっています。
.It Cm columns Ar number
端末の大きさを
.Ar number
列とします。
.It Cm cols Ar number
.Cm columns
の別名定義です。
.It Cm rows Ar number
端末の大きさを
.Ar number
行とします。
.It Cm dec
Digital Equipment Corporation systems の端末設定にします。
(
.Dv ERASE ,
.Dv KILL ,
.Dv INTR
をそれぞれ ^?, ^U, ^Cとし、
.Dv ixany
を無効、
.Dv crt
を有効にします)
.It Cm extproc Pq Fl extproc
設定されると、一部の端末処理が端末機器ないし pty に接続されたリモート側
で行なわれるようになります。
.It Cm raw Pq Fl raw
端末モードを全く入出力処理を行なわないモードにします。
これを無効にすると、端末を入出力処理を行なう普通のモードに戻します。
注意すべきなのは、端末用のドライバは単一の
.Dv RAW
ビットを持つわけではないので、
.Cm raw
モードに設定する前にどのようなフラグが設定してあったのかを知ることがで
きないということです。つまり、
.Cm raw
モードを解除するだけでは、
.Cm raw
モード設定前の状態には戻りません。
端末を raw 状態にして、それを正確に元に戻すためには、以下のような
シェルコマンドを使うことを薦めます。
.nf
save_state=$(stty -g)
stty raw
\&...
stty "$save_state"
.fi
.It Cm size
端末の大きさを行、列の順に並べた一行で表示します。
.El
.Ss 互換モード:
.Pp
以下のモードは旧バージョンの stty コマンドとの互換性保持のために残され
ています。
.Bl -tag -width Fl
.It Cm all
縦覧式でコントール文字を表示する以外は、
.Cm stty Fl a
と同様に端末設定を表示します。
.It Cm everything
.Cm all
と同じです。
.It Cm cooked
.Cm sane
と同じです。
.It Cm cbreak
.Cm brkint , ixon , imaxbel , opost ,
.Cm isig , iexten ,
.Cm Fl icanon
を有効にします。
解除した場合は
.Cm sane
と同じです。
.It Cm new
.Cm tty
と同じです。
.It Cm old
.Cm tty
と同じです。
.It Cm newcrt Pq Fl newcrt
.Cm crt
と同じです。
.It Cm pass8
.Cm parity
の反対です。
.It Cm tandem Pq Fl tandem
.Cm ixoff
と同じです。
.It Cm decctlq Pq Fl decctlq
.Cm ixany
の反対です。
.It Cm crterase Pq Fl crterase
.Cm echoe
と同じです。
.It Cm crtbs Pq Fl crtbs
.Cm echoe
と同じです。
.It Cm crtkill Pq Fl crtkill
.Cm echoke
と同じです。
.It Cm ctlecho Pq Fl ctlecho
.Cm echoctl
と同じです。
.It Cm prterase Pq Fl prterase
.Cm echoprt
と同じです。
.It Cm litout Pq Fl litout
.Cm opost
の反対です。
.It Cm tabs Pq Fl tabs
.Cm oxtabs
の反対です。
.It Cm brk Ar value
制御文字
.Cm eol
と同じです。
.It Cm flush Ar value
制御文字
.Cm discard
と同じです。
.It Cm rprnt Ar value
制御文字
.Cm reprint
と同じです。
.El
.Pp
.Nm
は成功した場合は 0 を、エラーが起きた場合は 0 より大きい値を返します。
.Sh 関連項目
.Xr termios 4
.Sh 規格
.Nm
.St -p1003.2
互換です。
.Fl e
.Fl f
のフラグは規格を拡張しています。
diff --git a/ja/man/man1/su.1 b/ja/man/man1/su.1
index 1c150533c2..5e49d7ba36 100644
--- a/ja/man/man1/su.1
+++ b/ja/man/man1/su.1
@@ -1,229 +1,228 @@
.\" 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
-.\" %Id: su.1,v 1.3.2.9 1998/07/17 04:21:29 jkh Exp %
-.\" %Id: su.1,v 1.3.2.8 1998/06/08 05:44:03 jkoshy Exp %
+.\" %Id: su.1,v 1.14 1998/06/08 05:29:51 jkoshy Exp %
.\" jpman %Id: su.1,v 1.3 1997/05/19 16:52:17 horikawa Stab %
.\"
.\" this is for hilit19's braindeadness: "
.Dd April 18, 1994
.Dt SU 1
.Os
.Sh 名称
.Nm su
.Nd 一時的に他のユーザになりかわる
.Sh 書式
.Nm
.Op Fl Kflm
.Op Fl c Ar class
.Op Ar login Op Ar args
.Sh 解説
.Nm
.Ar login
するときに Kerberos パスワード
(もしくはログイン (
.Ar login
) が指定されない場合には、
.Dq Ar login Ns .root
のパスワード)を要求し、Kerberos 認証を得たあとにユーザとグループ ID を
切替えます。シェルはそのあとに実行されます。もし Kerberos エラーがあれ
ば、
.Nm
は、
.Ar login
のためのパスワードを見つけるためにローカルパスワードファイルを調べま
す。もし
.Nm
が root によって実行された場合、パスワードは要求されず、適当なユーザ
ID をもったシェルが実行されます。付加的な Kerberos 認証は一つも得られ
ません。
.Pp
デフォルトでは、
.Ev USER ,
.Ev HOME ,
.Ev SHELL
以外の環境変数は引き継がれます。
.Ev HOME
.Ev SHELL
はターゲットとなるログインのデフォルト値になります。
.Ev USER
は、ターゲットログインのユーザ ID が 0 以外であれば、ターゲットログイ
ンのものがセットされます。0 の場合は変更されません。実行されるシェルは
ターゲットログインのログインシェルです。これは
.Nm
の伝統的なふるまいです。
オリジナルユーザのログインクラス(
.Xr login.conf 5
参照)の資源制約とセッション優先度も通常保たれます。
例外はターゲットログインがユーザ ID 0 の場合です。
.Pp
オプションとしては、以下のものがあります:
.Bl -tag -width Ds
.It Fl K
ユーザ認証に Kerberos を使用しません。
.It Fl f
シェルとして
.Xr csh 1
が実行される場合、
.Dq Pa .cshrc
ファイルを読み込みません。
.It Fl l
通常にログインした場合と同様になるように環境変数が設定されます。
すなわち、環境変数は
.Ev HOME ,
.Ev SHELL ,
.Ev PATH ,
.Ev TERM ,
.Ev USER
以外は捨てられます。
.Ev HOME
.Ev SHELL
は上記のように変更されます。
.Ev USER
はターゲットログインの値になります。
.Ev PATH
.Dq Pa /bin:/usr/bin
になります。
.Ev TERM
は、あなたの現在の環境変数の値になります。
ターゲットログインのクラスにより、
ログインクラスケーパビリティデータベースに基づき、
環境変数が設定もしくは変更されることがあります。
実行されるシェルはターゲット
ログインのログインシェルになり、
ターゲットログインのホームディレクトリに移動します。
資源制約とセッション優先度は、
ターゲットアカウントのログインクラスのものに変更されます。
.It Fl m
環境変数は変化しません。
実行されるシェルは自分のログインシェルで、ディレクトリの移動も行われません。
セキュリティの用心として、もしターゲットユーザのシェルが
非標準シェル (
.Xr getusershell 3
で定義される) であったり、呼出側の実ユーザ ID が 0 でなければ、
.Nm
は失敗します。
.It Fl c Ar class
指定されたログインクラスの設定を使用します。
スーパユーザのみが使用を許されます。
.El
.Pp
.Fl l
.Fl m
は、同時に指定することはできません。最後に指定したものが優先されます。
.Pp
オプションの
.Ar args
がコマンドラインに指定されると、
それらはターゲットログインのログインシェルに引き渡されます。
.Pp
グループ 0 (通常は
.Dq wheel )
のメンバのみ
.Dq root
となることが可能です。
グループ 0 が存在しないか空の場合には、どのユーザでも
.Dq root
.Nm
することが可能です。
.Pp
デフォルトでは (設定がされていなければ) スーパユーザのプロンプトは
.Dq Sy \&#
に設定されます。
.Sh 関連項目
.Xr csh 1 ,
.Xr kerberos 1 ,
.Xr kinit 1 ,
.Xr login 1 ,
.Xr sh 1 ,
.Xr group 5 ,
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr environ 7
.Sh 環境変数
.Nm
で利用される環境変数は以下の通りです:
.Bl -tag -width HOME
.It Ev HOME
上記で示した書き換えがない限り、
実ユーザ ID のデフォルトのホームディレクトリです。
.It Ev PATH
上記で示した書き換えがない限り、実ユーザ ID のデフォルトのサーチパスで
す。
.It Ev TERM
なり代わる人が所有している端末のターミナルタイプです。
.It Ev USER
ユーザ ID が 0 (root) 以外の場合は、ユーザ ID は常に
.Nm
後の effective ID (ターゲットとなるユーザ ID) です。
.El
.Sh 使用例
.Bl -tag -width 5n -compact
.It Li "su man -c catman"
コマンド
.Li catman
をユーザ
.Li man
で実行します。
あなたの実 UID が 0 でない場合は、man のパスワードを尋ねられます。
.It Li "su man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'"
上と同様ですが、コマンドが複数の語から構成されています。
.Fl c
オプションをシェルに渡すためにクォートしています
(ほとんどのシェルでは
.Fl c
への引数が単一語であると期待します)。
.It Li "su -c staff man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'"
上と同様ですが、ログインクラス
.Dq staff
の資源制限にてターゲットコマンドを実行します。
注釈: この例では、最初の
.Fl c
オプションは
.Nm
に適用され、2 番目のものは起動されるシェルの引数となります。
.It Li "su -l foo"
ユーザ
.Li foo
のログインの振舞をします。
.El
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/systat.1 b/ja/man/man1/systat.1
index 9190589b1b..6cf4751ec7 100644
--- a/ja/man/man1/systat.1
+++ b/ja/man/man1/systat.1
@@ -1,399 +1,487 @@
.\" Copyright (c) 1985, 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.
.\"
.\" @(#)systat.1 8.2 (Berkeley) 12/30/93
.\" jpman %Id: systat.1,v 1.3 1997/10/05 12:58:19 horikawa Stab %
.\"
-.Dd December 30, 1993
+.Dd September 9, 1997
.Dt SYSTAT 1
.Os BSD 4.3
.Sh 名称
.Nm systat
.Nd システムの統計情報を CRT に表示します
.Sh 書式
.Nm systat
.Op Fl display
.Op Ar refresh-interval
.Sh 解説
.Nm systat
はシステムの各種統計情報をスクリーン指向な方法で
.Xr curses 3
の curses スクリーンディスプレイライブラリを用いて表示します。
.Pp
.Nm systat
の走行中はスクリーンが通常 2 つのウィンドウに分割されます
(例外は vmstat を表示する場合で この時はスクリーン全体を使います)。
上のウィンドウはその時のシステムのロードアベレージを表示します。
下のウィンドウに表示される情報は、ユーザのコマンドに応じて
変化するかもしれません。スクリーンの最終行はユーザの入力と
エラーメッセージのために予約されています。
.Pp
デフォルトでは
.Nm systat
はプロセッサ使用率が最大のプロセスを下のウィンドウに表示します。
他にはスワップ領域の使用状況、ディスク
.Tn I/O
の統計情報 (
.Xr iostat 8
式に)、仮想記憶の統計情報 (
.Xr vmstat 8
-式に)、ネットワークの ``mbuf'' 利用率、ネットワークコネクション (
+式に)、ネットワークの ``mbuf'' 利用率、
+.Tn TCP/IP
+統計情報、
+ネットワークコネクション (
.Xr netstat 1
式に) を表示します。
.Pp
入力は 2 つの異なるレベルで解釈されます。
``グローバル'' なコマンドインタプリタがすべてのキーボード入力を
処理します。もしこのコマンドインタプリタがコマンドを認識できないと、
入力行は表示する種類毎のコマンドインタプリタに渡されます。
これによって各表示内容に応じたコマンドを持つ事が可能になります。
.Pp
コマンド行のオプション:
.Bl -tag -width "refresh_interval"
.It Fl Ns Ar display
.Fl
に続けて
.Ar display
として以下のいずれか一つを指定します:
-.Ic pigs ,
+.Ic icmp ,
.Ic iostat ,
-.Ic swap ,
+.Ic ip ,
.Ic mbufs ,
-.Ic vmstat ,
-.Ic netstat
+.Ic netstat ,
+.Ic pigs ,
+.Ic swap ,
+.Ic tcp ,
+.Ic vmstat
。これらの表示内容は対話的にも (
.Dq Fl
無しに) 指定でき、そして詳細は以下の説明にあります。
.It Ar refresh-interval
.Ar refresh-value
にスクリーンの更新間隔を秒数で指定します。
.El
.Pp
いくつかの文字は
.Nm systat
を即座に反応させます。
そういった文字には以下の物があります
.Bl -tag -width Fl
.It Ic \&^L
スクリーンを更新します。
.It Ic \&^G
その時点で下のウィンドウに表示されている ``表示内容'' の名称と
更新間隔を表示します。
.It Ic \&^Z
.Nm systat
を停止します。
.It Ic \&:
カーソルをコマンドラインに移動して打ち込まれた入力行を
コマンドとして解釈します。コマンドの入力中は
現位置文字消去、単語消去、行取消の各編集機能が使えます。
.El
.Pp
以下のコマンドは ``グローバル'' なコマンドインタプリタによって
解釈されます。
.Bl -tag -width Fl
.It Ic help
指定可能な表示内容をコマンドラインに表示します。
.It Ic load
過去 1、5、15分間のロードアベレージをコマンドラインに表示します。
.It Ic stop
スクリーンの更新を止めます。
.It Xo
.Op Ic start
.Op Ar number
.Xc
スクリーンの更新を開始 (継続) します。もし数値で秒数指定の
引数が与えられると更新間隔 (の秒数) として解釈されます。
数値のみを与えると更新間隔がその値にセットされます。
.It Ic quit
.Nm systat
を終了します。
(これは
.Ic q
と省略できます。)
.El
.Pp
指定可能な表示内容には以下があります:
.Bl -tag -width Ic
.It Ic pigs
下のウィンドウに、主記憶を占めプロセッサ利用率が最大のプロセスを
表示します (デフォルトの表示内容です)。
ユーザプロセスへのプロセッサの割当が 100% 未満の時は、
残りは ``idle'' プロセスに割り当てられているものと扱います。
+.It Ic icmp
+下のウィンドウに、
+Internet Control Message Protocol
+.Pq Dq Tn ICMP
+で送受信されたメッセージの統計情報を表示します。
+スクリーンの左半分には受信したパケットの情報を表示し、
+右半分には送信されたと考えられるパケットの情報を表示します。
+.Pp
+表示内容が
+.Ic icmp
+の場合は 2つのコマンドが利用できます:
+.Ic mode
+と
+.Ic reset
+です。
+.Ic mode
+コマンドは与えられた引数に応じて 4つの表示モードから 1つを選ぶために使います:
+.Bl -tag -width absoluteXX -compact
+.It Ic rate :
+それぞれの値の変動を秒単位にパケット数で表示します (デフォルトです)
+.It Ic delta :
+それぞれの値の変動を更新間隔単位にパケット数で表示します
+.It Ic since :
+表示が最後にリセットされてからのそれぞれの値の変動の総計を表示します
+.It Ic absolute :
+各統計の絶対値を表示します
+.El
+.Pp
+.Ic reset
+コマンドは
+.Ic since
+モードの基点をリセットします。
+引数なしの
+.Ic mode
+コマンドはその時点のモードをコマンドラインに表示します。
+.It Ic ip
+.Tn IP
+と
+.Tn UDP
+の統計情報を表示するという点を除いて
+.Ic icmp
+と同じです。
+.It Ic tcp
+.Ic icmp
+に似ていますが、
+.Tn TCP
+の統計情報を表示します。
.It Ic iostat
下のウィンドウに、プロセッサ利用率とディスクのスループットの
統計情報を表示します。プロセッサ利用率の統計情報は
ユーザモード (``user'')、低いプライオリティで実行された
ユーザモードのプロセス (``nice'')、システムモード (``system'')、
割り込みモード (``interrupt'')、アイドル (``idle'') での総実行時間
の棒グラフとして表示されます。
ディスクのスループットの統計情報としては、各ドライブについて、
転送データのキロバイト数、実行されたディスクトランザクション数、
平均シーク時間 (単位はミリ秒) が表示されます。
この情報は棒グラフまたは下へスクロールする数値の列で表示されます。
棒グラフでの表示がデフォルトです;
.Pp
以下のコマンドは表示内容が
.Ic iostat
の場合に特有です; 先頭からの一意に識別可能な文字数だけで指定可能です。
.Pp
.Bl -tag -width Fl -compact
.It Cm numbers
ディスク
.Tn I/O
の統計情報を数値形式で表示します。値は下へスクロールする
数値の列として表示されます。
.It Cm bars
ディスク
.Tn I/O
の統計情報を棒グラフ形式で表示します (デフォルト)。
.It Cm msps
平均シーク時間の表示を切替えます (デフォルトではシーク時間は
表示されません)。
.El
.It Ic swap
カーネルに組み込まれている全スワップ領域について
利用状況に関する情報を表示します。
最初の列はパーティションのデバイス名です。
次の列はパーティションの総容量です。
.Ar Used
の列は それまでに使われた総ブロックを示します;
グラフは各パーティションで使用中の部分の割合を示します。
2つ以上の使用中のスワップパーティションがある場合は、
合計の行も表示されます。
カーネルに組み込まれているものの、使われていない物は
使用不可として表示されます。
.It Ic mbufs
下のウィンドウに、何らかの用途、すなわち、データ、ソケット構造体等々に
確保された mbuf の個数を表示します。
.It Ic vmstat
画面全体を使って、
仮想記憶の利用状況、プロセススケジューリング、
デバイスからの割り込み、システムの名前変換キャッシュ、
ディスク
.Tn I/O
等々に関する (やや込み入った) 統計情報の要約を表示します。
.Pp
画面の左上の領域にはログインしているユーザ数と過去 1、5、15分間の
ロードアベレージが表示されます。
この行の下はメモリ利用率の統計情報です。
この表の 1行目はアクティブなプロセス、つまり過去 20秒以内に
走行状態だったことのあるプロセスのみのメモリ利用率を報告します。
2番目の行は全プロセスのメモリ利用状況を報告しています。
1番目の列はプロセスによって要求された物理ページ数を表示します。
2番目の列は読みだし専用のテキストページに当てられた
物理ページ数を表示します。
3番目と 4番目の列は同じ物に関して仮想ページの情報を表示します。
これは全プロセスが全ページを持つとした時に必要となるページ数を表します。
最後に、最終列はフリーリスト上の物理ページ数を示します。
.Pp
メモリ情報の下は平均プロセス数のリスト (1更新期間前からのもの) で、
走行可能 (`r')、ページ待ち中 (`p')、
ページング以外のディスク待ち中 (`d')、
スリープ状態 (`s')、スワップアウトされているが実行されるのを
-待っている状態 (`w') です。このキューの長さのリストの下は
+待っている状態 (`w') です。
+この行にはコンテキストスイッチの平均回数 (`Csw')、
+トラップ (`Trp'; ページフォルトを含む)、
+システムコール (`Sys')、割り込み (`Int')、
+ネットワークソフトウェア割り込み (`Sof')、
+ページフォルト (`Flt') も表示します。
+.Pp
+このプロセスキューの長さのリストの下は
時間の総計をシステム (`=' で示されます)、割り込み (`+' で示されます)、
ユーザ (`>' で示されます)、ナイス (`-' で示されます)、
アイドル (` ' で示されます) について数値のリストと棒グラフで
表した物です。
.Pp
-.\" この文は原文では もっと後ろにあったが、画面構成が変わっているようなので
-.\" 移動した (訳注)
-平均プロセス数の右にコンテキストスイッチ (`Csw')、
-トラップ (`Trp'; ページフォルトを含む)、
-システムコール (`Sys')、割り込み (`Int')、
-ネットワークソフトウェア割り込み (`Sof')、
-ページフォルト (`Flt') の
-1更新間隔での秒あたりの平均回数を報告します。
-.Pp
プロセス情報の下はファイル名変換の統計情報です。
これは前の更新期間中に行われたファイル名から iノード番号への変換の
回数、システム全体で共通の変換キャッシュで処理された物の回数と
割合、プロセス毎の変換キャッシュで処理された物の回数と割合を
表示しています。
.Pp
左下はディスクアクセス状況です。
ここでは 1更新間隔 (デフォルトでは 5秒) のシーク回数、転送回数、
平均転送量をキロバイト/秒で報告します。
ディスクによっては平均シーク時間をミリ秒単位で報告します。
-システムは最大で 8台 (これは /sys/dkstat.h の定数 DK_NDRIVE で
-決まるカーネルのコンパイル時定数です) のディスクまでしか
+システムは最大で 8台
+(これは
+.Aq Pa sys/dkstat.h
+の定数
+.Dv DK_NDRIVE
+で決まるカーネルのコンパイル時定数です) のディスクまでしか
統計情報を管理しないことに注意して下さい。
.Pp
右上の日時の下はページングとスワップの稼働状況です。
最初の 2列は、1更新間隔の間にページフォルトとページデーモンによって、
読み込まれたページ数と掃き出されたページ数の 1秒あたりの平均を報告します。
3番目と 4番目の列は、1更新間隔の間にスケジューラによって発行された
スワップ要求により
読み込まれたページ数と掃き出されたページ数の 1秒あたりの平均を報告します。
この情報の 1行目は 1更新間隔での秒あたりの平均ディスク転送回数を
示します; この情報の 2行目は 1更新間隔での秒あたりの平均転送ページ数を
示します。
.Pp
-.\" この文は原文が VAX 4.3BSD のままのようだったので直した (訳注)
-ページングの統計情報の下は
-copy-on-writes が行われたページ数 (`cow')、
+ページングの統計情報の下は仮想記憶システムの以下の項目の平均数を
+表示する列です。それぞれ、
+書き込み時にコピーが行われたページ数 (`cow')、
要求時 0クリアが行われたページ数 (`zfod')、
-I/O等のためにページング対象から外され、固定されているページ数 (`wire')、
+ページング対象から外され、固定されているページ数 (`wire')、
最近参照されたページ数 (`act')、
ページングの候補になっているページ数 (`inact')、
-クリーンな状態のキャッシュページ数 (`cache')、
+バッファキャッシュキューにあるページ数 (`cache')、
フリーページ数 (`free')、
-デーモンが解放したページ数 (`daefr')、
+ページデーモンが解放したページ数 (`daefr')、
プロセスが終了した事によって解放されたページ数 (`prcfr')、
-フリーリストから最近参照されたか、
-またはページングの候補になったページ数 (`react')、
-デーモンが起こされた回数 (`pdwak')、
-デーモンが調べたページ数 (`pdpgs')、
-フォルトしたページが読み込み途中だった回数 (`intrn')、
-キロバイト単位のバッファキャッシュのサイズ (`buf')
+フリーリストから再有効化されたページ数 (`react')、
+ページデーモンが起こされた回数 (`pdwak')、
+ページデーモンが調べたページ数 (`pdpgs')、
+読み込み途中でページフォルトがブロックされた回数 (`intrn')
の 1更新間隔での秒あたりの平均値です。
.Pp
+この列のいちばん下は、以下の用途に使われている
+メモリの総量をそれぞれについてキロバイト単位で示しています。
+バッファキャッシュのために使われている分 (`buf')、
+vノードキャッシュの望まれる最大サイズ (`desiredvnodes')
+(ネームキャッシュのサイズまでを除くと、大部分は未使用)、
+実際に確保された vノード数 (`numvnodes')、
+確保された vノードでフリーな物の数 (`freevnodes')
+.Pp
画面の右下はシステムによって処理された割り込みの詳細です。
リストのトップは更新期間中の秒あたりの総割り込み数です。
列の残りの部分は総割り込み数のデバイス毎の詳細です。
ブートしてから少なくとも 1回は割り込みを発生したデバイスについてのみ
表示されます。
.Pp
以下のコマンドは表示内容が
.Ic vmstat
の場合に特有です; 先頭からの一意に識別可能な文字数だけで指定可能です。
.Pp
.Bl -tag -width Ar -compact
.It Cm boot
システムがブートしてからの累積の統計情報を表示します。
.It Cm run
このコマンドが与えられてからの走行中のトータルとして統計情報を表示します。
.It Cm time
更新期間の平均で統計情報を表示します (デフォルト)。
.It Cm zero
走行中の統計情報を 0 にリセットします。
.El
.It Ic netstat
下のウィンドウにネットワーク接続状況を表示します。デフォルトでは、
リクエストを待っているネットワークサーバは表示されません。
各アドレスは ``host.port'' のフォーマットで、可能であれば
シンボルで表示されます。アドレスを数字で表示することや、
ポート、ホスト、プロトコルの表示を制限することが可能です。
(先頭からの一意に識別可能な文字数だけで指定可能です):
.Pp
.Bl -tag -width Ar -compact
.It Cm all
リクエストを待っているサーバプロセスの表示を切り替えます (これは
.Xr netstat 1
.Fl a
フラグと等価です)。
.It Cm numbers
ネットワークアドレスを数字で表示します。
.It Cm names
ネットワークアドレスをシンボルで表示します。
-.It Ar protocol
-指定されたプロトコルを使っているネットワークコネクションのみを
-表示します (現在の所 ``tcp'' か ``udp'' のいずれかです)。
+.It Cm proto Ar protocol
+.Ar protocol
+で指定されたプロトコルを使っているネットワークコネクションのみを
+表示します (サポートしているプロトコルは ``tcp'',``udp'',``all'')。
.It Cm ignore Op Ar items
指定されたホストまたはポートとの接続に関する情報を表示しません。
ホストとポートは名前 (``vangogh'' や ``ftp'')、または数字で
指定できます。ホストのアドレスはインターネットのドット表記を
使用します (``128.32.0.9'')。空白で区切って 1つのコマンドに
複数の指定が可能です。
.It Cm display Op Ar items
指定されたホストまたはポートとの接続に関する情報を表示します。
.Ar ignore
と同様に、
.Op Ar items
は名前または数字が使用可能です。
.It Cm show Op Ar ports\&|hosts
コマンドラインに、その時点で選択されているプロトコル、
ホスト、ポートを表示します。無視されるホストとポートには
`!' を前置します。もし
.Ar ports
.Ar hosts
.Cm show
の引数として与えられると、
指定された情報だけが表示されます。
.It Cm reset
ポート、ホスト、プロトコルの選択メカニズムをデフォルト
(あらゆるプロトコル、ポート、ホスト)の状態にリセットします。
.El
.El
.Pp
表示内容の切り替えコマンドは先頭からの一意に識別可能な
文字数に短縮できます; 例えば ``iostat'' は ``io'' と省略できます。
画面サイズが表示内容に不十分な時は情報が捨てられる可能性があります。
例えば、10台のドライブがあるマシンでは
.Ic iostat
の棒グラフは 24行の端末では 3ドライブ分しか表示しません。
棒グラフが割り当てられた画面のスペースに収まらない時は
切り詰められて実際の値は棒の ``先端部分'' に表示されます。
.Pp
以下のコマンドはディスクドライブに関する情報を表示する物に
共通です。これらのコマンドは、あなたのシステムに、通常
画面に表示しきれない数のドライブがある場合に、情報を表示する
ドライブのセットを選択するために使うためのものです。
.Pp
.Bl -tag -width Tx -compact
.It Cm ignore Op Ar drives
指定されたドライブに関する情報を表示しません。複数のドライブを
空白で区切って指定できます。
.It Cm display Op Ar drives
指定されたドライブに関する情報を表示します。複数のドライブを
空白で区切って指定できます。
.El
+.Sh 関連項目
+.Xr iostat 1 ,
+.Xr netstat 1 ,
+.Xr vmstat 1 ,
+.Xr icmp 4 ,
+.Xr ip 4 ,
+.Xr tcp 4 ,
+.Xr udp 4
.Sh 関連ファイル
.Bl -tag -width /etc/networks -compact
.It Pa /kernel
ネームリストを読み出します。
.It Pa /dev/kmem
主記憶の情報を取ります。
.It Pa /dev/drum
スワップアウトされたプロセスの情報のために使います。
.It Pa /etc/hosts
ホスト名をひきます。
.It Pa /etc/networks
ネットワーク名をひきます。
.It Pa /etc/services
ポート名をひきます。
.El
.Sh 歴史
.Nm systat
プログラムは
.Bx 4.3
に初めて登場しました。
+.Ic icmp ,
+.Ic ip ,
+.Ic tcp
+の表示は
+.Fx 3.0
+に初めて登場しました;
+.Tn ICMP ,
+.Tn IP ,
+.Tn TCP ,
+.Tn UDP
+の統計情報のために別の表示モードを用意するという考え方は、
+Silicon Graphics の
+.Tn IRIX
+システムの
+.Xr netstat 1
+の
+.Fl C
+オプションから借用しました。
.Sh バグ
CPU の 2-10 パーセントを消費します。
表示内容によっては 1行に最低で 80文字が表示できる事を想定しています。
.Ic vmstat
は表示領域が足りないようです。なぜなら (訳注: 原文が切れています)
(新規のプログラムとしてではなく独立した表示画面として追加されました)。
.Sh 日本語訳
-野首 寛高(h-nokubi@nmit.tmg.nec.co.jp): FreeBSD 用に翻訳
+野首 寛高(hnokubi@yyy.or.jp): FreeBSD 用に翻訳
diff --git a/ja/man/man1/tar.1 b/ja/man/man1/tar.1
index 5ab54c2946..786f64c490 100644
--- a/ja/man/man1/tar.1
+++ b/ja/man/man1/tar.1
@@ -1,483 +1,493 @@
.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*-
.\" See /usr/src/gnu/COPYING for conditions of redistribution
.\"
.\" Written by John F. Woods <jfw@jfwhome.funhouse.com>
.\" Updated by Robert Eckardt <roberte@mep.ruhr-uni-bochum.de>
.\"
-.\" %Id: tar.1,v 1.6.2.4 1998/07/20 02:30:06 jkoshy Exp %
+.\" %Id: tar.1,v 1.16 1998/07/09 04:28:19 jkoshy Exp %
.\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab %
.\"
.Dd 25 August 1997
.Os FreeBSD
.Dt TAR 1
.Sh 名称
.Nm tar
.Nd
テープアーカイバ; "tar" アーカイブファイルの操作
.Sh 書式
.Nm tar
.Op [-] Ns Ar bundled-options
.Op Ar gnu-style-flags
.Op Ar tarfile
.Op Ar blocksize
.Op Ar exclude-file
.Op Ar filenames
.Op Fl C Ar directory-name
.Sh 解説
.Nm
は、歴史的な理由により
.Dq tape archiver
を省略して名付けられました。
.Nm
プログラムは、
.Ar tarfile
と呼ばれる
.Dq tar
フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、
またアーカイブからファイルを抽出したりします。
tarfile は通常磁気テープを指しますが、フロッピディスケットや
通常のファイルでも構いません。
.Pp
通常、
.Nm
コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、
その前に ダッシュ(-)をつけてもつけなくてもいいようになっています。
単語には、次の機能文字のうちちょうど 1 つを含んでいなければなりません:
.Cm A ,
.Cm c ,
.Cm d ,
.Cm r ,
.Cm t ,
.Cm u ,
.Cm x ,
これらはそれぞれ 追加 (append) 、作成 (create) 、差分 (difference) 、
置換 (replace) 、リスト表示 (table of contents) 、更新 (update) 、
そして抽出 (extract) を意味しています (下記に詳細があります) 。
これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に
含めることができます。それらのいくつかは、コマンド単語内と同じ順で
コマンドライン引数を要求します (使用例の節を参照) 。
機能文字と機能変更文字は、GNU 形式の引数で指定することもできます
(2 つのダッシュを最初につけ、1 つのコマンド単語ごとに機能文字か
機能変更文字を 1 つだけ指定する) 。
アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために
コマンドライン指定するファイル名には、
シェルのパターンマッチ文字列を使用することができます。
.Sh 機能
以下の機能のいずれか1つだけを必ず指定しなければなりません。
.Pp
.Bl -tag -width "--concatenate" -compact
.It Fl A
.It Fl -catenate
.It Fl "-concatenate"
指定された(tar アーカイブ形式の)ファイルを tar アーカイブの末尾
に追加します。(追加する前の古い end-of-archive ブロックは削除さ
れます。)
これは、指定されたファイルがアーカイブの中の1ファイルとなるので
はなく、指定したファイルの中に含まれているファイルを、最初に指定
したアーカイブに追加するという効果を持ちます。
.Em 注:
このオプションは tarfile を再書き込みする必要があるため、1/4
インチカートリッジテープでは動作しません。
.It Fl c
.It Fl -create
新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定
されたファイルをアーカイブに書き込みます。
.It Fl d
.It Fl -diff
.It Fl -compare
アーカイブの中のファイルと、それに相当するファイルシステム内の
ファイルとの違いを調査します。
.It Fl -delete
指定されたファイルをアーカイブから削除します。(1/4 インチテープ
では動作しません。)
.It Fl r
.It Fl -append
アーカイブの末尾にファイルを追加します。(1/4 インチテープでは
動作しません。)
.It Fl t
.It Fl -list
アーカイブ内容のリスト表示をします。もし引数としてファイル名が
指定されていれば、そのファイルだけがリスト表示されます。そうでなけ
れば、アーカイブに含まれるすべてのファイルリストが表示されます。
.It Fl u
.It Fl -update
指定したファイルのうち、アーカイブ内のファイルよりもディスク上の
ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ
では動作しません。
.It Fl x
.It Fl -extract
.It Fl -get
アーカイブからファイルを抽出します。可能ならば、所有者、
変更時刻、ファイル属性はリストアされます。もし
.Ar file
引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。
もし
.Ar filename
引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと
ディレクトリ内のファイルが抽出されます。(ディレクトリ内のす
べてのディレクトリについても同様に抽出されます。)
もしアーカイブ内に、相当する同じファイルが複数含まれていれば(上記の
.Fl -append
コマンドを参照)、最後に含まれているものが他のすべてのファイルを
上書きする形で抽出されます。
.Sh オプション
.Nm
の他のオプションは、組み合わせて使用することができます。
1文字オプションは、コマンド単語の中で指定することができます。
引数を与えるべきオプションの場合、オプションに続けて引数を指定し
ます。1文字オプションであれば、これに続くコマンドライン引数を
使用します (以下の
.Sx 使用例
を参照してください。)
.Pp
.Bl -tag -width "--preserve-permissions" -compact
.It Fl -help
.Nm
のすべてのコマンドオプションについて一覧と解説を表示します。
.It Fl -atime-preserve
テープに書かれている、ファイルのアクセス時刻をリストアします。
(inodeの変更時刻が変更されることに注意してください!)
.It Fl b
.It Fl -block-size Ar number
読み書きするブロックサイズを
.Ar number
* 512-byte ブロック に設定します。
.It Fl B
.It Fl -read-full-blocks
短い読みだしブロックを、完全なブロックに再組み立てします。
(4.2BSD パイプの読み込み用。)
.It Fl C Ar directory
.It Fl -directory Ar directory
残りの引数を処理する前に
.Ar directory
へ移動します。
.It Fl -checkpoint
アーカイブを読み書きする間に読み書きしたバッファの数を表示します。
.It Fl f Ar [hostname:]file
.It Fl -file Ar [hostname:]file
指定された
.Ar file
(デフォルトは /dev/rst0) を読み書きします。
もし
.Ar hostname
が指定されていれば、
.Nm
.Xr rmt 8
を使って、リモートマシン上の
.Ar file
を読み書きします。"-" はファイルネームとして使用されることもありますが、
これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。
.It Fl -force-local
コロンがある時でさえ、アーカイブファイルはローカルのものとします。
.It Fl F Ar file
.It Fl -info-script Ar file
.It Fl -new-volume-script Ar file
それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の
.Fl M
指定が行なわれます。)
.It Fl -fast-read
ワイルドカードで指定されていないすべての抽出ターゲットが
アーカイブ内に見つかったら、その時点で終了します。
.It Fl G
.It Fl -incremental
古い GNU-format インクリメンタルバックアップファイルを作成/リスト/
抽出します。
.It Fl g Ar file
.It Fl -listed-incremental Ar file
新しい GNU-format インクリメンタルバックアップファイルを作成/リスト/
抽出します。
.It Fl h
.It Fl -dereference
シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが
指しているデータを書き込みます。
.It Fl i
.It Fl -ignore-zeros
アーカイブの中のゼロブロック(通常、End-Of-File を意味する)を無視します。
.It Fl -ignore-failed-read
ファイルが読めなくても、非 0 のステータスで exit しません。
.It Fl k
.It Fl -keep-old-files
ディスク上に既にあるファイルを保持します。つまり、アーカイブから
抽出するファイルは、ディスク上のファイルへ上書きしません。
.It Fl K Ar file
.It Fl -starting-file Ar file
アーカイブの中の
.Ar file
から(抽出、リストなどを)始めます。
.It Fl l
.It Fl -one-file-system
あるファイルシステム内にあるファイルだけでアーカイブを作成します。
(他ファイルシステムへのマウントポイントを跨ぎません。)
.It Fl L Ar number
.It Fl -tape-length Ar number
.Ar number
* 1024 バイト書き込んだ後でテープの交換を要求します。
.It Fl m
.It Fl -modification-time
ファイルの変更時刻を抽出しません。
.It Fl M
.It Fl -multi-volume
マルチボリュームアーカイブを作成/リスト/抽出します。
.It Fl n
.It Fl -norecurse
作成時に再帰的にサブディレクトリを走査しません。
.It Fl -volno-file Ar file
ボリューム番号付きのファイル名です。
.It Fl N Ar date
.It Fl -after-date Ar date
.It Fl -newer Ar date
作成時間が
.Ar date
より新しいファイルだけを抽出します。
.It Fl -newer-mtime Ar date
変更時間が
- .Ar date
+.Ar date
より新しいファイルだけを抽出します。
.It Fl o
.It Fl -old-archive
.It Fl -portability
POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。
.It Fl O
.It Fl -to-stdout
ファイルを標準出力に抽出します。
.It Fl p
.It Fl -same-permissions
.It Fl -preserve-permissions
保護情報を完全に抽出します。
.It Fl -preserve
.Fl p s
の指定と同じ効果を持ちます。
.It Fl P
.It Fl -absolute-paths
ファイル名から先頭の `/' をとりません。
.It Fl R
.It Fl -record-number
メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。
.It Fl -remove-files
アーカイブに追加したファイルを、追加後に削除します。
.It Fl s
.It Fl -same-order
.It Fl -preserve-order
アーカイブ内から抽出するファイルを、指定された順のままにします。
.It Fl -show-omitted-dirs
アーカイブ作成中に除外されたディレクトリを表示します。
.It Fl S
.It Fl -sparse
「少ない」ファイルを効率的に扱うようにします。
.It Fl T Ar file
.It Fl -files-from Ar file
.Ar file
から抽出もしくは作成するファイル名を得ます。(1行1ファイル名。)
.It Fl -null
nullで終わっている名前を考慮し、
.Fl T
の振舞を変更します。
これは
.Fl C
指定を無効にします。
.It Fl -totals
.Fl -create
によって書かれたトータルバイト数を表示します。
.It Fl v
.It Fl -verbose
.Fl -create
でアーカイブに書くファイルや
.Fl -extract
でアーカイブから
取り出すファイル名をリスト表示します。
ファイルの保護情報をファイル名とともに表示させるには、
.Fl -list
を使います。
.It Fl V Ar volume-name
.It Fl -label Ar volume-name
指定された
.Ar volume-name
を持ったアーカイブを作成します。
.It Fl -version
.Nm
プログラムのバージョン番号を表示します。
.It Fl w
.It Fl -interactive
.It Fl -confirmation
すべての動作に対して、確認を求めるようになります。
.It Fl W
.It Fl -verify
アーカイブを書き込んだ後、ベリファイを試みます。
.It Fl -exclude Ar pattern
.Ar pattern
にマッチするファイルを除外します。
(抽出しません。追加しません。リスト表示しません。)
.It Fl X Ar file
.It Fl -exclude-from Ar file
.Ar file
に一覧されているファイルを除外します。
.It Fl Z
.It Fl -compress
.It Fl -uncompress
アーカイブを
.Xr compress 1
でフィルタリングします。
.It Fl z
.It Fl -gzip
.It Fl -gunzip
アーカイブを
.Xr gzip 1
でフィルタリングします。
.It Fl -use-compress-program Ar program
アーカイブを
.Ar program
でフィルタリングします。
(これは、
.Fl d
が指定されたときは ``decompress'' を意味しなければなりません。)
.It Fl -block-compress
テープもしくはフロッピのために、圧縮プログラムの出力をブロック
化します。(そうしないと、ブロック長がおかしくなり、デバイスドライバは
そのブロックを拒絶するでしょう。)
.It Fl [0-7][lmh]
テープドライブと密度を指定します。
.It Fl -unlink
ファイルを作成する前に、いったん削除します。
.El
.Sh 使用例
"bert" と "ernie" というファイルを含む、
ブロックサイズが 20 ブロックのアーカイブを、
テープドライブ /dev/rst0 に作るには、
.Pp
.Dl tar cfb /dev/rst0 20 bert ernie
.Pp
もしくは
.Pp
.Dl tar\ --create\ --file\ /dev/rst0\ --block-size\ 20\ bert\ ernie
.Pp
と入力します。
.Fl f
および
.Fl b
フラグは両方とも引数を必要としていることに注意してください。
この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから
取得されます。
.Pp
/dev/rst0 はデフォルトのデバイスであり、20 はデフォルトのブロック
サイズですので、上記の例は次のように単純化できます。
.Pp
.Dl tar c bert ernie
.Pp
"backup.tar" というアーカイブから、すべての C ソース及びヘッダを
抽出するには、次のようにタイプします。
.Pp
.Dl tar xf backup.tar '*.[ch]'
.Pp
シェルがカレントディレクトリ内のファイル名に展開しないよう、パタ
ーンをクォートしなければならないことに注意してください。(当然、
シェルはアーカイブ内のファイル一覧にアクセスすることはできません。)
.Pp
ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください:
.Bd -literal
tar cf - -C srcdir . | tar xpf - -C destdir
.Ed
.Pp
ディスケットに、gzip を使った圧縮アーカイブを作成するには、次の
ようなコマンドラインを使うといいでしょう。
.Pp
.Dl tar --block-compress -z -c -v -f /dev/rfd1a -b 36 tar/
.Pp
まとめ指定フラグと --スタイルのフラグを混在させることができない
ことに注意してください。次のようにタイプしなければならないわけで
はなく、上記のような書き方で1文字フラグを使うことができます。
.Pp
.Dl tar --block-compress --gzip --verbose --file /dev/rfd1a --block-size 20 tar
/
.Pp
上のようにして作成したディスクの内容は、次のようにすればリスト表
示できます。
.Pp
.Dl tar tvfbz /dev/rfd1a 36
.Pp
2 つの tar アーカイブを 1 つのアーカイブにまとめるには、
.Pp
.Dl tar Af archive1.tar archive2.tar
.Pp
を使います。こうすると、archive2.tar に含まれているファイルが
archive1.tar の末尾に追加されます。(単純に
.Pp
.Dl cat archive2.tar >> archive1.tar
.Pp
とタイプしてもうまくいかないことに注意してください。なぜなら、
tar アーカイブの末尾には end-of-file ブロックがあるからです。)
.Pp
srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた
全てのファイルをアーカイブするためには、以下の形式を使って下さい。
.Dl tar\ -c\ -f\ backup.tar\ --newer-mtime\ 'Feb\ 9\ 13:15\ 1997'\ srcdir/
.Pp
他の時間指定形式としては、'02/09/97 13:15',
\&'1997-02-09 13:15', '13:15 9 Feb 1997', '9 Feb 1997 13:15',
\&'Feb. 9, 1997 1:15pm', '09-Feb', '3 weeks ago', 'May first Sunday'
があります。
正しいタイムゾーンを指定するためには、
`13:15 CEST' や `13:15+200' を使用して下さい。
.Sh 環境変数
.Nm
プログラムは、以下の環境変数を参照します。
.Bl -tag -width "POSIXLY-CORRECT"
.It POSIXLY-CORRECT
通常、
.Nm
はファイル指定の中に混ざったフラグを処理します。
この環境変数を設定すると、
.Nm
は最初のフラグ以外の引数を見つける
とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様
に合わせた動作を行なうようになります。
.It SHELL
インタラクティブモードにおいて、サブシェルの起動が要求されたとき、
SHELL 変数が設定されていればそれが、設定されていなければ
"/bin/sh" が使用されます。
.It TAPE
tar のデフォルトのテープドライブを変更します。(これは、さらに
.Fl f
フラグによって変更することができます。)
.El
.Sh 関連ファイル
.Bl -tag -width "/dev/rst0"
.It Pa /dev/rst0
デフォルトのテープドライブ
.El
.\" This next request is for sections 1, 6, 7 & 8 only
.\" (command return values (to shell) and fprintf/stderr type diagnostics)
.\" .Sh 診断
.Sh 関連項目
.Xr compress 1 ,
.Xr gzip 1 ,
.Xr pax 1 ,
.Xr ft 8 ,
.Xr rmt 8
.\" .Sh 規格
.Sh 歴史
.Nm
フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に
原点があります。
この
.Nm
の実装は GNU 実装であり、John Gilmore によって書かれた
パブリックドメイン tar が元になっています。
.Sh 作者
次の人を含む、大変多くの人々。[ソースの中の ChangeLog ファイルに記
-述されている人々] John Gilmore (オリジナルのパブリックドメイン版の
-作者), Fenlason (最初の GNU 作者), Joy Kendall, Jim Kingdon, David
-J. MacKenzie, Michael I Bushnell, Noah Friedman, そして
+述されている人々]
+.An John Gilmore
+(オリジナルのパブリックドメイン版の作者),
+.An Jay Fenlason
+(最初の GNU 作者),
+.An Joy Kendall ,
+.An Jim Kingdon ,
+.An David J. MacKenzie ,
+.An Michael I Bushnell ,
+.An Noah Friedman
+そして
バグフィックスや追加を貢献してくれた無数の人々。
-このマニュアルページは NetBSD 1.0 release から、FreeBSD グループが
+このマニュアルページは NetBSD 1.0 release から、
+.Bx Free
+グループが
取り込んだものです。
.Sh バグ
特徴的な
.Fl C
-オプションは、これまでの tar プログラムのようには動作しないため、
-おそらく信頼できません。
+オプションの動作は、伝統的な tar プログラムのそれとは異なるので、
+あまり頼りにはできません。
.Pp
--A コマンドは、任意の数の tar アーカイブを結合するよう動くべきで
-すが、そうは動作しません。2 番目やそれ以降のアーカイブの
-end-of-archive ブロックを取り除くことを試みます。
+-A コマンドで任意の数の tar アーカイブを結合できればいいのですが、
+それはできません。これをやろうとしても、 2 つ目以降のアーカイブの
+end-of-archive ブロックが削除されずに残ってしまいます。
diff --git a/ja/man/man1/tconv.1 b/ja/man/man1/tconv.1
index 2dbbc2023a..9eeed768cf 100644
--- a/ja/man/man1/tconv.1
+++ b/ja/man/man1/tconv.1
@@ -1,168 +1,168 @@
.\" @(#) mytinfo tconv.1 3.2 92/02/01 public domain, By Ross Ridge
-.\" %Id: tconv.1,v 1.5.2.1 1997/08/14 06:37:58 charnier Exp %
+.\" %Id: tconv.1,v 1.8 1997/08/13 06:58:44 charnier Exp %
.\"
.\" jpman %Id: tconv.1,v 1.3 1997/09/21 06:56:54 konuma Stab %
.Dd February 1, 1992
.Dt TCONV 1
.Os
.Sh 名称
.Nm tconv
.Nd termcap, terminfo ソースと terminfo バイナリを相互変換する
.Sh 書式
.Nm tconv
.Op Fl b
.Op Fl c Op Fl OUGd
.Op Fl i
.Op Fl B Op Fl D Ar dir
.Op Fl I
.Op Fl k
.Op Fl V
.Op Fl t Ar term
.Op Ar file
.Nm tic
.Op Ar file
.Nm captoinfo
.Op Fl t Ar term
.Op Fl OUGdk
.Op Ar file
.Sh 解説
.Nm tconv
は、termcap、terminfo ソースと
.Em tinfo
ライブラリが使用する terminfo バイナリ
の 3 つの端末記述を互いに変換します。
このプログラムは
System V の
.Xr captoinfo 1
および
.Xr tic 1
と同じ機能を提供します。
また、System V の
.Xr infocmp 1
の機能の 1 つと同じく、terminfo バイナリから terminfo ソース
リスティングを出力するのに使うこともできます。
.Pp
翻訳オプション
.Bl -tag -width indent
.It Fl c
termcap から変換します。
.It Fl i
terminfo ソースから変換します。
.It Fl b
terminfo バイナリから変換します。
.It Fl B
terminfo バイナリに変換します。
.It Fl I
terminfo ソースに変換します。
.El
.Pp
ファイルを指定する場合、
.Fl c
または
.Fl i
オプションのどちらか一方と、翻訳されるファイルの完全な名前
を指定する必要があります。
ファイル名を指定しなかった場合、入力オプションは単に、
翻訳されるべき端末がある、要求された型の記述がありそうな場所を
検索するのを制限するだけに用いられます。
(すなわち、
.Fl c
オプション指定時には
.Ev TERMCAP
環境変数と
.Pa /usr/share/misc/termcap
を、
.Fl i
オプション指定時には
.Ev TERMINFO
環境変数と
.Pa /usr/lib/terminfo
を検索します。) それ以外の時は
.Nm
は全ての利用可能なデータベースを検索します。
もし、
.Fl I
.Fl B
のどちらのオプションも指定していない場合は、
.Fl I
オプションを指定したものと仮定します。
.Fl B
オプションを指定した場合、コンパイル結果の出力は terminfo データベースに
出力され、指定していない場合は標準出力に出力されます。
.Pp
terminfo バイナリから terminfo バイナリへの翻訳はできません。
terminfo ソースから terminfo ソースへの翻訳は可能ですが、
.Em use=
フィールドで参照している記述が、出力される端末記述に展開されるような場合を
除いては、ほとんどの場合あまり役に立ちません。
.Pp
.Nm
は標準 termcap の全てのパラメータ化された文字列を terminfo フォーマットに
翻訳できるはずですが、GNU の %a コードを使った複雑な文字列は難しすぎて
翻訳できません。
もし、
.Nm
が、termcap 文字列が 既に terminfoフォーマットに翻訳されていると見なした場合
(%p コードが文字列に含まれている場合)、
それを翻訳しようと試みることはありません。
パラメータを持たない文字列型機能記述は翻訳されません。
.Pp
termcap オプション:
以下のオプションは、termcap エントリを翻訳するとき
(
.Fl c
オプションを指定したとき) に利用可能です。
.Bl -tag -width indent
.It Fl d
欠けている機能記述を、一切デフォルトで補いません。
.It Fl O
時代遅れの termcap 機能記述を含めます。
.It Fl G
GNU の機能記述を含めます。
.It Fl U
UW の機能記述を含めます。
.El
.Pp
その他のオプション
.Bl -tag -width indent
.It Fl k
ファイルを翻訳する時にコメントを保存します。
.It Fl V
バージョン情報を表示して終了します。
.It Fl D Ar dir
terminfo バイナリを置くディレクトリ。
.It Fl t Ar term
翻訳の対象となる端末の名前。
.El
.Pp
もし
.Fl t
オプションで端末名を指定しなかった場合、翻訳の対象となる端末名は環境変数
.Ev TERM
から取られます。
.Sh 関連ファイル
.Bl -tag -width /usr/lib/terminfo/terminfo.src -compact
.It Pa /usr/lib/terminfo
terminfo バイナリを読み書きするデフォルトの場所。
.It Pa /usr/lib/terminfo/terminfo.src
terminfo ソースファイルのデフォルトのファイル名。
.It Pa /etc/termcap
termcap データベースのデフォルトのファイル名。
.El
.Sh 関連項目
.Xr curses 3 ,
.Xr termcap 3 ,
.Xr term 5 ,
.Xr termcap 5 ,
.Xr terminfo 5 .
.Sh 診断
ファイルを翻訳しているときの警告メッセージの行番号は
エントリ内の警告の原因となった行ではなく、そのエントリの最後の行の番号です。
.Sh バグ
もっと多くの警告を出力できるはずです。
.Nm
は termcap を翻訳できません。
生成されたバイナリはキャンセルされた機能記述をキャンセルされた
物とマークしたうえで含めていますが、これは
System V Release 2.0 の terminfo と非互換です。
diff --git a/ja/man/man1/tcpdump.1 b/ja/man/man1/tcpdump.1
index 5f22c63204..b26275c589 100644
--- a/ja/man/man1/tcpdump.1
+++ b/ja/man/man1/tcpdump.1
@@ -1,1280 +1,1280 @@
-.\" @(#) %Header: tcpdump.1,v 1.61 96/07/14 19:45:00 leres Exp % (LBL)
+.\" @(#) %Header: tcpdump.1,v 1.65 96/11/29 01:03:01 leres Exp % (LBL)
.\" jpman %Id: tcpdump.1,v 1.3 1997/05/23 22:18:59 yugawa Stab %
.\"
.\" Copyright (c) 1987, 1988, 1989, 1990, 1991, 1992, 1994, 1995, 1996
.\" The Regents of the University of California. All rights reserved.
.\" 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.
.\"
-.TH TCPDUMP 1 "14 July 1996"
+.TH TCPDUMP 1 "29 November 1996"
.SH 名称
tcpdump \- ネットワーク上のトラフィックデータをダンプします
.SH 書式
.na
.B tcpdump
[
.B \-deflnNOpqStvx
] [
.B \-c
.I count
] [
.B \-F
.I file
]
.br
.ti +8
[
.B \-i
.I interface
] [
.B \-r
.I file
]
[
.B \-s
.I snaplen
]
.br
.ti +8
[
.B \-T
.I type
]
[
.B \-w
.I file
]
[
.I expression
]
.br
.ad
.SH 解説
.LP
\fItcpdump\fP は、オプションで指定されたネットワークインタフェース上で
取得可能なパケットのヘッダのうち \fIexpression\fP にマッチするものを出力
します。
+.LP
.B SunOS 上の nit ないし bpf の場合:
.I tcpdump
を実行するには、
.I /dev/net
ないし
.IR /dev/bpf*
への読み込みアクセス権が必要です。
.B Solaris 上の dlpi の場合:
.IR /dev/le
等のネットワーク仮想デバイスへの読み込みアクセス権が必要です。
.B HP-UX 上の dlpi の場合:
root か root に setuid されてインストールされている場合のみ実行可能です。
.B IRIX 上の snoop の場合:
root か root に setuid されてインストールされている場合のみ実行可能です。
-.B Ultrix の場合:
+.B Linux の場合:
+root か root に setuid されてインストールされている場合のみ実行可能です。
+.B Ultrix および Digital UNIX の場合:
スーパユーザが、
.IR pfconfig (8)
を用いて promiscuous-mode での操作を許可していれば、どのユーザも
.BR tcpdump
を起動できます。
.B BSD の場合:
.IR /dev/bpf*
への読み込みアクセス権が必要です。
.SH オプション
.TP
.B \-c
\fIcount\fP で指定した数のパケットを受信した後に終了します。
.TP
.B \-d
解釈されたパケットマッチングコードを読みやすい形に整形した後、
標準出力にダンプして停止します。
.TP
.B \-dd
.B C
プログラムの断片の形でパケットマッチングコードをダンプします。
.TP
.B \-ddd
(先頭に個数を付加した)十進数の形でパケットマッチングコードをダンプします。
.TP
.B \-e
各ダンプ行ごとに、リンクレベルのヘッダを出力します。
.TP
.B \-f
外部ホストの IP アドレスについては、シンボルでなく数値で表示します。
(本オプションは、Sun の yp サーバに重大な障害が発生するのを回避するこ
とを意図してます。\(em 通常は、Sun の yp サーバは、ローカルに存在しない
IP アドレスを永久に変換しつづけてハングします。)
.TP
.B \-F
フィルタの表現として、\fIfile\fP に記述してある内容を用います。
コマンドラインで指定された追加表現は、無視されます。
.TP
.B \-i
\fIinterface\fP で指定されたインタフェースを監視します。
指定されない場合には、\fItcpdump\fP はシステムインタフェースリストの中で
最も小さい番号の稼働中のものを検索し、監視するインタフェースとして設定
します(ループバックインタフェースは検索しません)。
この動作は、最初にインタフェースが選択された時点で終了します。
.TP
.B \-l
標準出力を行バッファリングにします。データを捕捉しつつ、
そのデータを見たい場合には、本オプションは有効です。例えば
.br
``tcpdump\ \ \-l\ \ |\ \ tee dat'' や
``tcpdump\ \ \-l \ \ > dat\ \ &\ \ tail\ \ \-f\ \ dat''
のように使用します。
.TP
.B \-n
アドレス(IP アドレスやポート番号など)を名前に変換しません。
.TP
.B \-N
ホスト名のうち、ドメイン名の表示をしません。例えば、本オプションを
指定すると、``nic.ddn.mil'' とは表示されず、かわりに ``nic'' とだけ表示し
ます。
.TP
.B \-O
パケットマッチングコードのオプティマイザを動かしません。本オプションは、
オプティマイザ中のバグを疑う場合にのみ有効なものです。
.TP
.B \-p
ネットワークインタフェースを、promiscuous mode に設定しません。
ネットワークインタフェースは、何らかの理由により promiscuous mode に設定
されることもあり得るということに注意してください。ゆえに `-p'
オプションは、`ether host {local-hw-addr} or ether broadcast'
の短縮形として使うことは出来ません。
.TP
.B \-q
素早い(静かな?)出力を行ないます。出力する行を短くするために、通常出力
されるプロトコル情報の一部は出力されません。
.TP
.B \-r
パケットを、\fIfile\fR で指定したファイル (-w オプションで作成されます)か
ら読み込みます。\fIfile\fR として``-''が指定された場合は標準入力が用いら
れます。
.TP
.B \-s
デフォルトの 68 バイト(SunOS の NIT では最小値は実際には 96)ではなくて、
\fIsnaplen\fP だけのデータを各パケットから取得します。68 バイトという
データ長は、IP, ICMP, TCP, UDP のパケットを取得する分には十分ですが、
ネームサーバや NFS のパケットについてはプロトコル情報が切り詰められるこ
とがあります(これについては、以後の説明を参照して下さい)。
スナップショットが限られた量しかとれずに切り
詰められたパケットは、出力に ``[|\fIproto\fP]'' という文字列がいっしょ
に表示されます。 \fIproto\fP は、切り詰めが行われたプロトコルレベルの名
前です。大きなスナップショットをとる場合には、それだけパケット処理の時
間がかかるということと、パケットバッファリング用のバッファの量が減ると
いうことに注意してください。これにより、パケットが消失するかもしれませ
ん。\fIsnaplen\fP の大きさを、必要なプロトコル情報を取得できる最小の値に
とどめるようにしてください。
.TP
.B \-T
"\fIexpression\fP" により選択されたパケットを強制的に \fItype\fR で
指定されたタイプと解釈します。有効なタイプは、
\fBrpc\fR (リモートプロシージャコール)
\fBrtp\fR (リアルタイムアプリケーションプロトコル)
\fBrtcp\fR (リアルタイムアプリケーション制御プロトコル)
\fBvat\fR (ビジュアルオーディオツール)
\fBwb\fR (ディストリビューテッドホワイトボード)
です。
.TP
.B \-S
TCP シーケンス番号を相対番号ではなく、絶対番号で出力します。
.TP
.B \-t
各ダンプ行のタイムスタンプを出力しません。
.TP
.B \-tt
各行毎にタイムスタンプを人間が読みやすい形に変換せずに出力します。
.TP
.B \-v
(少しではありますが)出力情報を増やします。例えば、IP パケット中の
TTL や、サービス情報の型を出力します。
.TP
.B \-vv
さらに多くの情報を出力します。例えば、NFS の返答パケットの追加
フィールドを出力します。
.TP
.B \-w
受信した生パケットを、解析したり画面に出力したりせずに \fIfile\fR で指定
したファイルに出力します。本オプションを用いて取得したパケットは \-r
オプションを用いることで情報を見ることができます。\fIfile\fR で指定す
るファイル名が ``-'' の場合には、標準出力を用います。
.TP
.B \-x
リンクレベルヘッダを除いた各パケットの内容を 16 進出力します。
パケットサイズが
.I snaplen
バイトより小さい場合にはパケットの全部の内容を、それ以外の場合には、
.I snaplen
バイト分のデータをパケットごとに出力します。
.IP "\fI expression\fP"
.RS
ダンプするパケットを選択します。\fIexpression\ が指定されない場合には、
ネットワーク上のすべてのパケットがダンプ対象になります。それ以外の場
合には、\fIexpression\fP の条件が真になるパケットのみダンプします。
.LP
\fIexpression\fP は、1 つ以上の
.I プリミティブ
から成り立ちます。
プリミティブは通常 1 つ以上の限定子のついた
.I id
(名前もしくは番号)から成り立ちます。限定子は、3 種類あります。
.IP \fI型\fP
限定子は id 名や番号が参照するものの種類を指します。型には
.BR host 、
.B net 、
.B port
があります。例えば、`host foo', `net 128.3', `port 20' のように用います。
型限定子が指定されない場合には、
.B host
が指定されたものとみなされます。
.IP \fI方向\fP
限定子は、
パケットが
.I id
へ出ていく方向か、
.I id
から来る方向か、
もしくはその両方かという、特定の転送方向を指定します。
指定可能な方向は、
.BR src、
.BR dst、
.B "src or dst"、
.BR "src and dst"
の 4 つです。
例えば、`src foo'、 `dst net 128.3'、 `src or dst port ftp-data' のように
指定します。もし方向限定子が指定されない場合には、
.B "src or dst"
が指定されたものとみなします。
`null' リンクレイヤ
(つまり、slip などポイント・トゥ・ポイント・プロトコル)
では、
必要な方向を指定するのに
.B inbound
.B outbound
限定子を用いる事ができます。
.IP \fIプロトコル\fP
限定子は、特定のプロトコルに一致するパケットのみに制限します。
プロトコルとして指定可能なものは、
.BR ether,
.BR fddi,
.BR ip,
.BR arp,
.BR rarp,
.BR decnet,
.BR lat,
.BR sca,
.BR moprc,
.BR mopdl,
.BR iso,
.BR esis,
.BR isis,
.B tcp,
.BR udp
です。
例えば `ether src foo'、 `arp net 128.3'、 `tcp port 21' のように使用
します。もしプロトコル限定子が指定されない場合には、上記のプロトコルの
うち、型に矛盾しないすべてのものが指定されたものとみなします。
例えば `src foo' は、`(ip or arp or rarp) src foo' (これが正しい形式でな
い事を除いて)と、`net bar' は `(ip or arp or rarp) net bar' と同義であ
り、また `port 53' は `(tcp or udp) port 53' と同義です。
.LP
[`fddi' は実際には `ether' の別名になっています。解析ではこれらを``特定の
ネットワークインタフェースで使われるデータリンクレベル''を意味するもの
として同様に扱います。FDDI ヘッダはイーサネットに似た送信元と宛先
アドレスを含み、そしてしばしばイーサネットに似たパケット型を含むので、
イーサネットのフィールドと同じように FDDI のフィールドをフィルタリング
できます。FDDI ヘッダは他のフィールドも含みますが、フィルタ表現の中で
明示的にそれらを指定することはできません。]
.LP
上記に追加して、いくつかの特別な`プリミティブ'キーワードがあります。
これらのキーワードは
.BR gateway,
.BR broadcast,
.BR less,
.B greater,
と算術演算表現
です。これらの後ろにパターンが続く事はありません。
プリミティブキーワードについては後述します。
.LP
より複雑なフィルタの表現は、プリミティブの結合に
.BR and,
.B or,
.B not
を用いることで実現されます。例えば、
`host foo and not port ftp and not port ftp-data'
です。
タイプ量を少なくするために、同一の限定子リストは、省略することが可能です。
例えば、`tcp dst port ftp or ftp-data or domain' は、
`tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain'
と同じ意味です。
.LP
許されるプリミティブは、以下の通りです。
.IP "\fBdst host \fIhost\fR"
IP パケットの宛先フィールドが \fIhost\fP で指定したものの場合に真となります。
\fIhost\fP は、ホスト名もしくは IP アドレスです。
.IP "\fBsrc host \fIhost\fR"
IP パケットの送信元フィールドが \fIhost\fP で指定したものの場合に真となります。
.IP "\fBhost \fIhost\fP
IP パケットの送信元フィールドもしくは宛先フィールドが \fIhost\fP で指定した
ものの場合に真となります。
上記の host プリミティブの表現には、\fBip\fP, \fBarp\fP, \fBrarp\fP を
以下のように付加することが可能です。
.in +.5i
.nf
\fBip host \fIhost\fR
.fi
.in -.5i
という表記は、
.in +.5i
.nf
\fBether proto \fI\\ip\fB and host \fIhost\fR
.fi
.in -.5i
と同じ意味です。
\fIhost\fR が複数の IP アドレスを持つホスト名であった場合、それぞれのアドレス
について照合を検査します。
.IP "\fBether dst \fIehost\fP
イーサネットパケットの宛先アドレスが \fIehost\fP だった場合に真となります。
\fIehost\fP
は、/etc/ethers に記述された名前もしくはイーサネットアドレスの値が用いられます
(イーサネットアドレスの形式については、
.IR ethers (3N)
を参照)。
.IP "\fBether src \fIehost\fP
イーサネットパケットの送信元アドレスが \fIehost\fP だった場合に真となります。
.IP "\fBether host \fIehost\fP
イーサネットパケットの送信元アドレスもしくは宛先アドレスが \fIehost\fP だった
場合に真となります。
.IP "\fBgateway\fP \fIhost\fP
パケットが \fIhost\fP で指定したアドレスのマシンをゲートウェイとしている場合に
真となります。言い替えると、送信元もしくは宛先のイーサネットアドレスが
\fIhost\fP であり、送信元と宛先のどちらの IP アドレスも \fIhost\fP でない
ということです。
\fIhost\fP は /etc/hosts ファイルと /etc/ethers の両方で定義されている名前を
指定する必要があります(等価な表現は、
.in +.5i
.nf
\fBether host \fIehost \fBand not host \fIhost\fR
.fi
.in -.5i
です。この場合 \fIhost / ehost\fP のどちらにも名前もしくは値を用いることが
可能になります。)
.IP "\fBdst net \fInet\fR"
パケットの宛先 IP アドレスが、\fInet\fP で指定されたネットワークに属するもので
ある場合に真となります。\fInet\fP は、アドレス値もしくは /etc/networks で
定義されたネットワーク名のいずれかを指定可能です(詳しくは、\fInetworks(4)\fP
を参照)。
.IP "\fBsrc net \fInet\fR"
パケットの送信元 IP アドレスが、\fInet\fP で指定されたネットワークに属するもので
ある場合に真となります。
.IP "\fBnet \fInet\fR"
送信元 IP アドレスもしくは宛先 IP アドレスが \fInet\fP で指定された
ネットワークに属するものである場合に真となります。
.IP "\fBnet \fInet\fR \fBmask \fImask\fR"
IP アドレスが、指定された \fInet\fR および netmask の値で決まる
ネットワークに属するものである場合に真となります。
\fBsrc\fR や \fBdst\fR を指定する事も可能です。
.IP "\fBnet \fInet\fR/\fIlen\fR"
IP アドレスが、指定された \fInet\fR および \fIlen\fR のビット長のネットマスクで
決まるネットワークに属するものである場合に真となります。
\fBsrc\fR や \fBdst\fR を指定する事も可能です。
.IP "\fBdst port \fIport\fR"
パケットが ip/tcp (TCP パケット)もしくは ip/udp(UDP パケット)であり、宛先
ポート番号が \fIport\fP の場合に真となります。
\fIport\fP で指定されるポート番号は、値もしくは /etc/services で定義
されているサービス名で指定可能です(
.IR tcp (4P)
.IR udp (4P)
を参照)。
ポート番号がサービス名にて指定された場合、ポート番号とプロトコルの両方がチェック
対象になります。ポート番号や、あいまいなサービス名が指定された場合には、
ポート番号のみがチェック対象となります(例えば、\fBdst port 513\fR は、
tcp/login と udp/who の両方を出力し、\fBport domain\fR は、tcp/domain
と udp/domain の両方を出力します)。
.IP "\fBsrc port \fIport\fR"
パケットが \fIport\fP で指定した送信元ポート番号を保持している場合に
真となります。
.IP "\fBport \fIport\fR"
パケットの送信元ポート番号もしくは宛先ポート番号が \fIport\fP の場合に真と
なります。上記のポート番号の指定については、すべてキーワード \fBtcp\fP もし
くは \fBudp\fP を用いて、ある程度候補を絞り込むことが可能です。例えば、
.in +.5i
.nf
\fBtcp src port \fIport\fR
.fi
.in -.5i
と指定した場合には、tcp パケットのみが条件一致の評価対象となります。
.IP "\fBless \fIlength\fR"
パケットが \fIlength\fP で指定した長さ以下の場合、真となります。
これは、
.in +.5i
.nf
\fBlen <= \fIlength\fR
.fi
.in -.5i
の指定と等価です。
.IP "\fBgreater \fIlength\fR"
パケットが \fIlength\fP で指定した長さ以上の場合、真となります。
これは、
.in +.5i
.nf
\fBlen >= \fIlength\fR
.fi
.in -.5i
と等価です。
.IP "\fBip proto \fIprotocol\fR"
パケットが \fIprotocol\fP で指定したプロトコル型の IP パケット(
詳細は
.IR ip (4P)
を参照)の場合に真となります。
\fIprotocol\fP は、数字もしくは
\fIicmp\fP, \fIigrp\fP, \fIudp\fP, \fInd\fP, \fItcp\fP
のいずれかの名前が指定可能です。\fItcp\fP, \fIudp\fP, \fIicmp\fP の
各識別子はキーワードでもであり、バックスラッシュ(\\)(C-shell では \\\\)を用
いてエスケープしなければならないことに注意してください。
.IP "\fBether broadcast\fR"
パケットがイーサネットブロードキャストパケットの場合に真となります。\fIether\fP
キーワードは、省略可能です。
.IP "\fBip broadcast\fR"
パケットが IP ブロードキャストパケットの場合に真となります。オール 1 と
オール 0 の二つの形式のブロードキャストアドレスを検査し、そして
ローカルサブネットマスクを調べます。
.IP "\fBether multicast\fR"
パケットがイーサネットマルチキャストパケットの場合に真となります。\fIether\fP
キーワードは、省略可能です。
なお、この指定は、`\fBether[0] & 1 != 0\fP' の短縮系です。
.IP "\fBip multicast\fR"
パケットが IP マルチキャストパケットの場合に真となります。
.IP "\fBether proto \fIprotocol\fR"
パケットが \fIprotocol\fR で指定した ether 型の場合に真になります。
\fIprotocol\fP は、数字もしくは \fIip\fP, \fIarp\fP, \fIrarp\fP のような
名前を指定可能です。
これらの識別子はキーワードでもあり、バックスラッシュ(\\)でエスケープし
なければならないことに注意してください。
[FDDI の場合(例えば `\fBfddi protocol arp\fR')、プロトコルの識別は
IEEE802.2 の論理リンク制御(LLC)ヘッダによって行われます。通常これは FDDI
ヘッダの上の層にあります。\fItcpdump\fP は、プロトコル識別子で
フィルタリングするときは、すべての FDDI パケットは LLC ヘッダを含み、
かつその LLC ヘッダがいわゆる SNAP 形式であると仮定します。]
.IP "\fBdecnet src \fIhost\fR"
DECNET パケットの送信元アドレスが
.IR host
の場合に真となります。これは ``10.123'' という形式のアドレスでも DECNET の
ホスト名でも構いません。[DECNET のホスト名は DECNET を動かすように設定され
た Ultrix システムのみでサポートされます。]
.IP "\fBdecnet dst \fIhost\fR"
DECNET パケットの宛先アドレスが
.IR host
の場合に真となります。
.IP "\fBdecnet host \fIhost\fR"
DECNET パケットの送信元あるいは宛先アドレスが
.IR host
の場合に真となります。
.IP "\fBip\fR, \fBarp\fR, \fBrarp\fR, \fBdecnet\fR, \fBiso\fR"
.in +.5i
.nf
\fBether proto \fIp\fR
.fi
.in -.5i
の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
.IP "\fBlat\fR, \fBmoprc\fR, \fBmopdl\fR"
.in +.5i
.nf
\fBether proto \fIp\fR
.fi
.in -.5i
の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
\fItcpdump\fP は今のところこれらのプロトコルを解釈できない事に注意して
ください。
.IP "\fBtcp\fR, \fBudp\fR, \fBicmp\fR"
.in +.5i
.nf
\fBip proto \fIp\fR
.fi
.in -.5i
の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
.IP "\fBesis\fR, \fBisis\fR"
.in +.5i
.nf
\fBiso proto \fIp\fR
.fi
.in -.5i
の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
\fItcpdump\fR はこれらのプロトコルを完全には解釈できない事に注意して
ください。
.IP "\fIexpr relop expr\fR"
\fIrelop\fRは、>, <, >=, <=, =, != のいずれかであり、\fIexpr\fR の部分に
は、(標準 C 言語の構文で表現された)整数定数や通常の二項演算子 [+, -, *, /,
&, |]、length 演算子、そして特殊なパケットデータへのアクセス演算子などか
らなる算術表現が入って、その関係が成立する場合に真となります。
パケット内部のデータにアクセスするためには、以下の構文を用います。
.in +.5i
.nf
\fIproto\fB [ \fIexpr\fB : \fIsize\fB ]\fR
.fi
.in -.5i
\fIproto\fRは、\fBether, fddi, ip, arp, rarp, tcp, udp, \fR, または
\fBicmp\fR のいずれかであり、インデックス操作を行うプロトコル層を指示
します。
指示したプロトコル層からの相対バイトオフセットは、\fIexpr\fR で指定します。
\fIsize\fR は省略可能で、取得するフィールドのデータ長を表します。
データ長としては、1,2,4 のいずれかを指定することが可能であり、デフォルトでは
1 が指定されたものとみなされます。
キーワード \fBlen\fP で示されるデータ長演算子は、パケット長を与えます。
例えば、`\fBether[0] & 1 != 0\fP' は、全てのマルチキャストパケットを捕捉します。
`\fBip[0] & 0xf != 5\fP' という表現は、すべてのオプション付きIPパケットを捕捉す
ることを意味します。`\fBip[6:2] & 0x1fff = 0\fP' という表現は、フラグメントのな
いデータグラムパケット、もしくはフラグメント化されたデータグラムのうち
最初のフラグメントを捕捉します。
この検査は、\fBtcp\fP および \fBudp\fP のインデックス操作においては、暗黙のうち
に適用されます。
例えば、\fBtcp[0]\fP は常に TCP ヘッダの先頭バイトを指し、
決して各フラグメントの先頭バイトを指すものではありません。
.LP
プリミティブは、以下のように組み合わせることが可能です。
.IP
括弧で括られた一連のプリミティブや演算子
(括弧はシェルの特殊文字なのでエスケープする必要があります)。
.IP
否定 (`\fB!\fP' or `\fBnot\fP').
.IP
論理積 (`\fB&&\fP' or `\fBand\fP').
.IP
論理和 (`\fB||\fP' or `\fBor\fP').
.LP
否定は、最も高い演算優先度を持ちます。論理和と論理積は、同じ演算優先度を持ち、
左から右へ評価されます。論理積の場合には、単に識別子を並べるのではなく、
明示的に \fBand\fR を使用しなければならないことに注意して下さい。
.LP
キーワードなしで識別子が与えられている場合には、最も最近用いられたキーワードが
付加されているものと仮定されます。
例えば、
.in +.5i
.nf
\fBnot host vs and ace\fR
.fi
.in -.5i
は、
.in +.5i
.nf
\fBnot host vs and host ace\fR
.fi
.in -.5i
の短縮形ですが、
.in +.5i
.nf
\fBnot ( host vs or ace )\fR
.fi
.in -.5i
と混同してしまいがちなので気をつけましょう。
.LP
引数 expression は、単一の引数としても複数の引数としても、どちらか便利な
方で、tcpdump に渡すことができます。
一般的に、引数がシェルのメタキャラクタを含む場合、その引数をクォート
された単一の引数としてプログラムに渡す方が容易です。
複数の引数は、解析される前にスペースで連結されます。
.SH 使用例
.LP
\fIsundown\fP に到達する、もしくはそこから送信されるパケットのすべてを
表示する場合には、以下のように実行します。
.RS
.nf
\fBtcpdump host sundown\fP
.fi
.RE
.LP
\fIhelios\fR と、\fIhot\fR もしくは \fIace\fR の間のトラフィックを表示する
場合には、以下のように実行します。
.RS
.nf
\fBtcpdump host helios and \\( hot or ace \\)\fP
.fi
.RE
.LP
\fIace\fR と、\fIhelios\fR 以外のホストとの間でやりとりされるすべての
IP パケットを表示する場合には、以下のように実行します。
.RS
.nf
\fBtcpdump ip host ace and not helios\fP
.fi
.RE
.LP
ローカルなホストと Berkeley のホストとの間でやりとりされるすべての
トラフィックを表示する場合には、以下のように実行します。
.RS
.nf
.B
tcpdump net ucb-ether
.fi
.RE
.LP
インターネットゲートウェイ \fIsnup\fP を通過するすべての ftp
トラフィックを表示する場合には、以下のように実行します
(シェルが括弧を誤って解釈しないよう、フィルタを表現する引数がクォートさ
れていることに注意して下さい)。
.RS
.nf
.B
tcpdump 'gateway snup and (port ftp or ftp-data)'
.fi
.RE
.LP
送信元アドレスと宛先アドレスの両方がローカルネットワーク内のホスト
のものでないトラフィックについて表示する場合には、以下のように実行しま
(実行するホストが他のネットワークに対するゲートウェイの場合、そのホスト
が属すローカルネットワークでは、このコマンドは成功しないでしょう)。
.RS
.nf
.B
tcpdump ip and not net \fIlocalnet\fP
.fi
.RE
.LP
ローカルネットワーク外のホストとの通信において、TCP による各通信単位
のスタートパケットとエンドパケット(SYN と FIN パケット)を表示するには、以
下のように実行します。
.RS
.nf
.B
tcpdump 'tcp[13] & 3 != 0 and not src and dst net \fIlocalnet\fP'
.fi
.RE
.LP
ゲートウェイ \fIsnup\fP を中継される IP パケットのうち、576 バイトより大きいもの
を表示するには、以下のように実行します。
.RS
.nf
.B
tcpdump 'gateway snup and ip[2:2] > 576'
.fi
.RE
.LP
イーサネット上でブロードキャストもしくはマルチキャストを経由して送られる
もの以外の IP ブロードキャストもしくはマルチキャストパケットを表示するには、
以下のように実行します。
.RS
.nf
.B
tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'
.fi
.RE
.LP
echo 要求/応答以外(つまり ping パケット以外)の全ての ICMP パケットを
表示するには、以下のように実行します。
.RS
.nf
.B
tcpdump 'icmp[0] != 8 and icmp[0] != 0"
.fi
.RE
.SH 出力形式
.LP
\fItcpdump\fP の出力は、プロトコル依存です。以下の説明では、簡単な
パラメータの記述と、おおよそのフォーマットの説明を行ないます。
.de HD
.sp 1.5
.B
..
.HD
リンクレベルヘッダ
.LP
もし '-e' オプションが指定されると、リンクレベルヘッダが出力されます。
イーサネットにおいては、送信元と宛先のアドレス、プロトコル、そして
パケット長が出力されます。
.LP
FDDI ネットワークにおいては、'-e' オプションが指定されると \fItcpdump\fP
は、`フレーム制御'フィールド、発信元と宛先アドレス、そしてパケット長を
出力します。`フレーム制御'フィールドはパケットの残りの部分の解釈を決定
します。(IP データグラムを含むような)通常のパケットは `async' パケットで、
0 から 7 の間の優先順位を持ちます。例えば、`\fBasync4\fR' です。こうした
パケットは IEEE802.2 の論理リンク制御 (LLC) パケットを含むと仮定されます。
LLC ヘッダは、それが ISO データグラムでない場合やいわゆる SNAP パケットのと
きには出力されます。
.LP
\fI(注意:以下の記述は、利用者が RFC1144 に記述されている SLIP 圧縮ア
ルゴリズムについての知識がある前提で書いてます。)\fP
.LP
SLIP によるリンクにおいては、方向指示子(``I'' が入力方向、``O''
が出力方向)、パケット型、そして圧縮情報が出力されます。
パケット型は、最初に出力されます。パケット型には \fIip\fP、\fIutcp\fP、そして
\fIctcp\fP の 3 つがあります。
\fIip\fR 型パケットの場合、上記以上のリンク情報は表示されません。
TCP パケットの場合には、コネクション識別子がパケット型に続いて出力されます。
パケットが圧縮されている場合、符号化されたヘッダが出力されます。
特殊な場合は \fB*S+\fIn\fR や \fB*SA+\fIn\fR のように出力されます。ここ
で \fIn\fR は、シーケンス番号(もしくはシーケンス番号および ack)が変更された回
数です。特殊な場合でなければ、0 回以上の変更について出力されます。
変更は、U (緊急(urgent)ポインタ)、W(ウィンドウ)、A(ack)、S(シーケンス番号)、
そして I(パケット ID)で示され、変動量(+n or -n)もしくは新しい値(=n)が続きます。
最後に、パケット内のデータの総量および圧縮ヘッダ長が出力されます。
.LP
例えば、以下の行は、出力方向の圧縮 TCP パケットを、暗黙のコネクション識別子
とともに表示しています。ack は 6 変わり、シーケンス番号は 49 変わり、パケット
ID は 6 変わってます。3 バイトのデータと6 バイトの圧縮ヘッダが存在します。
.RS
.nf
\fBO ctcp * A+6 S+49 I+6 3 (6)\fP
.fi
.RE
.HD
ARP/RARP パケット
.LP
arp/rarp パケットの出力は、要求型とその引数を示してい
ます。出力形式は、その出力のみで理解可能なように作られています。
以下に、ホスト \fIrtsg\fP からホスト \fIcsam\fP への `rlogin' 開始時の
パケットの実例を示します。
.RS
.nf
.sp .5
\f(CWarp who-has csam tell rtsg
arp reply csam is-at CSAM\fP
.sp .5
.fi
.RE
1行目は、ホスト rtsg が、ホスト csam のイーサネットアドレスを問い合わせる
目的で arp パケットを送信していることを意味します。ホスト csam は、自分自身
のイーサネットアドレスを返答しています(この例では、イーサネットアドレス
は大文字で、インターネットアドレス部は小文字で表記してます)。
.LP
\fBtcpdump \-n\fP として起動した場合には、少し冗長になります。
.RS
.nf
.sp .5
\f(CWarp who-has 128.3.254.6 tell 128.3.254.68
arp reply 128.3.254.6 is-at 02:07:01:00:01:c4\fP
.fi
.RE
.LP
\fBtcpdump \-e\fP として起動した場合には、最初のパケットはブロードキャスト
パケットであり、次のパケットはポイントツーポイントのパケットであることが
わかります。
.RS
.nf
.sp .5
\f(CWRTSG Broadcast 0806 64: arp who-has csam tell rtsg
CSAM RTSG 0806 64: arp reply csam is-at CSAM\fP
.sp .5
.fi
.RE
最初のパケットについては、送信元のイーサネットアドレスは RTSG であり、
宛先はイーサネットブロードキャストアドレス、型フィールドには 16 進数の値
0806(ETHER_ARP を意味します)が格納されており、総パケット長は 64 バイトである
と表示してます。
.HD
TCP パケット
.LP
\fI(注意:以下の記述は、RFC793 に記述されている TCP プロトコルについての知識
があることを前提に記述されてます。この知識がない場合、本記述と tcpdump の
いずれもあなたには役に立たないでしょう。)\fP
.LP
TCP プロトコル行の一般的な形式は、以下の通りです。
.RS
.nf
.sp .5
\fIsrc > dst: flags data-seqno ack window urgent options\fP
.sp .5
.fi
.RE
\fIsrc\fP と \fIdst\fP は、それぞれ送信元と宛先の IP アドレスと
ポート番号です。\fIflags\fP の部分には、S (SYN),F (FIN), P (PUSH) ,R (RST)
の組合せ、もしくは単なる `.' (フラグなし)が入ります。
\fIdata-seqno\fP は、このパケット内のデータがシーケンス空間のどの部分に
あたるかを示します(以下の例を参照して下さい)。
\fIack\fP は、本コネクション上を逆方向に次に流れるデータパケットの
シーケンス番号です。
\fIwindow\fP は、本コネクションの逆方向のパケットを格納するバッファサイズ
です。
\fIurg\fP は、パケット中に `urgent'(緊急)データが格納されていることを示しま
す。
\fIoptions\fP は、例えば <mss 1024> のように、アングルブラケット(大小記号)で
くくられた tcp オプションです。
.LP
\fIsrc、dst\fP、そして \fIflags\fP は、常に表示されます。他のフィールドは、
パケットの TCP ヘッダに依存し、表示できる場合だけ表示されます。
.LP
以下の例は、ホスト \fIrtsg\fP からホスト \fIcsam\fP への rlogin
開設時のシーケンスの一部です。
.RS
.nf
.sp .5
\s-2\f(CWrtsg.1023 > csam.login: S 768512:768512(0) win 4096 <mss 1024>
csam.login > rtsg.1023: S 947648:947648(0) ack 768513 win 4096 <mss 1024>
rtsg.1023 > csam.login: . ack 1 win 4096
rtsg.1023 > csam.login: P 1:2(1) ack 1 win 4096
csam.login > rtsg.1023: . ack 2 win 4096
rtsg.1023 > csam.login: P 2:21(19) ack 1 win 4096
csam.login > rtsg.1023: P 1:2(1) ack 21 win 4077
csam.login > rtsg.1023: P 2:3(1) ack 21 win 4077 urg 1
csam.login > rtsg.1023: P 3:4(1) ack 21 win 4077 urg 1\fP\s+2
.sp .5
.fi
.RE
最初の行は、ホスト rtsg の TCP ポート 1023 番からホスト csam の \fIlogin\fP
ポートに対してパケットを送信していることを意味します。\fBS\fP は、
パケットの \fISYN\fP フラグが設定されていることを意味します。
パケットのシーケンス番号は 768512 番であり、データは含みません。
(表記は `first:last(nbytes)' であり、これは`シーケンス番号 \fIfirst\fP か
ら \fIlast\fP までの \fIlast\fP を含まない \fInbytes\fP のユーザデータという
こと'を意味しています。)
このパケット中に ack はなく、有効な受信ウィンドウの大きさは 4096 バイトで
あり、1024 バイトの最大セグメントサイズ要求を行なうオプションが付加され
ています。
.LP
csam は、rtsg から送られたパケットと類似したパケットを送り返しますが、
rtsg の送った SYN に対する ack が含まれるところが異なり
ます。続いて、rtsg は csam の SYN に対する ack を返します。
`.' は、S (SYN),F (FIN), P (PUSH) ,R (RST) のいずれのフラグも
立っていないことを意味します。
パケットはデータを含まないため、データシーケンス番号は入りません。
ack シーケンス番号が小さい整数 (1) であることに注意して下さい。
\fBtcpdump\fP は、初めて TCP の`通信'を検出すると、パケットから取得した
シーケンス番号を表示します。通信のその後のパケットについては、現在の
パケットシーケンス番号と、この最初のシーケンス番号の間の差を表示します。
このことは、最初に取得した以降のシーケンス番号は、通信データストリーム
の相対位置として解釈できることを意味します(最初の各方向のデータバイト
は 1 です)。`-S' は、本機能を無効にし、元のシーケンス番号を表示します。
.LP
6 行目では、rtsg は csam に 19 バイトのデータを送信しています (rtsg \(-> csam の
方向の通信における、2 バイト目から 20 バイト目までのデータ)。PUSH フラグが
このパケットでは設定されています。
7 行目では、csam は rtsg から 20 バイトまでのデータを受けとった旨の
レスポンスを rtsg に返してます。csam の受信ウィンドウが19バイト小さくなっ
たことから、これらのデータのほとんどは、ソケットバッファの中に存在する
ことが分かります。
csam は、rtsg に 1 バイトのデータを送信してます。
8 行めと 9 行めでは、csam は緊急 (urgent) で PUSH フラグの設定された
2 バイトデータを送信しています。
-.HD
+.LP
+スナップショットが小さ過ぎて \fBtcpdump\fP が
+TCP ヘッダ全体を捕えなかった場合、
+可能な限りのヘッダを解釈し、``[|\fItcp\fP]'' を表示して
+残りを解釈できなかったことを示します。
+(短か過ぎるまたはヘッダを越えてしまうといった) 不正なオプションを
+ヘッダが持つ場合には、tcpdump は ``[\fIbad opt\fP]'' を表示して
+残りのオプションを解釈しません (どこから開始したら良いのか分からないからです)。
+ヘッダ長によりオプションが存在することが分かるが、
+IP データグラム長がオプションがそこにあるために十分な長さではない場合に、
+tcpdump は ``[\fIbad hdr length\fP]'' を表示します。
+HD
.B
UDP パケット
.LP
UDP フォーマットは、以下の rwho パケットで例示します。
.RS
.nf
.sp .5
\f(CWactinide.who > broadcast.who: udp 84\fP
.sp .5
.fi
.RE
これは、ホスト \fIactinide\fP の \fIwho\fP ポートが UDP データグラムを
インターネットブロードキャストアドレスであるホスト \fIbroadcast\fP の
\fIwho\fP ポートに対して送信していることを意味します。本パケットは、
84 バイトのユーザデータを含みます。
.LP
いくつかの UDP サービスは(送信元もしくは宛先のポート番号から)種
類の判断が可能で、さらに上位レベルのプロトコル情報が出力されます。
ドメインネームサービス要求 (RFC1034/1035)、そして、Sun RPC 呼びだし
(RFC1050) を用いた NFS サービスなどがこの条件に該当します。
.HD
UDP ネームサーバ要求
.LP
\fI(注意:以下の記述は、RFC1035 に記述されている
ドメインサービスプロトコルの知識があることを前提に書かれてます。もしこ
れらの知識がない場合には、以下の記述は未知の言語で書かれているかのよう
に見えるでしょう。)\fP
.LP
ネームサーバ要求は、以下のような表示になります。
.RS
.nf
.sp .5
\fIsrc > dst: id op? flags qtype qclass name (len)\fP
.sp .5
\f(CWh2opolo.1538 > helios.domain: 3+ A? ucbvax.berkeley.edu. (37)\fP
.sp .5
.fi
.RE
ホスト \fIh2opolo\fP は、\fIhelios\fP 上のドメインサーバに対して
\fIucbvax.berkeley.edu\fP のホスト名に対応するアドレスレコード (qtype=A)
を問い合わせてます。
問い合わせの ID は `3' であり、`+' は\fI再帰要求\fPフラグが設定されて
いることを意味します。問い合わせの長さは 37 バイトであり、この中に UDP および
IP のプロトコルヘッダの長さは含みません。質問操作は普通の操作 (\fIQuery\fP)
であり、op フィールドは省略されます。op が他のいずれかであった場合、
その op は `3' と `+' の間に表示されます。
これと同様に、qclass は普通のもの (\fIC_IN\fP) であり、省略されます。
他の qclass が入った場合、`A' の直後に表示されます。
.LP
少数の変則的なパケットは検査され、カギカッコで囲まれた付加
フィールドにその結果が表示されます。query が返答、ネームサーバ
もしくはオーソリティセクションを含む場合、
.IR ancount ,
.IR nscount ,
もしくは
.I arcount
が、`[\fIn\fPa]'、 `[\fIn\fPn]' 、もしくは `[\fIn\fPau]' のような形式で
表示されます。\fIn\fP は、それぞれの個数です。
応答ビットのいずれかが設定されている(AA, RA もしくは rcode)場合、
もしくは`0 でなければならない'ビットが 2 バイト目と 3 バイト目に設定されてい
る場合には、`[b2&3=\fIx\fP]' が出力されます。\fIx\fP は、ヘッダの 2 バイト
目および 3 バイト目の値を 16 進で表したものです。
.HD
UDP ネームサーバ応答
.LP
ネームサーバ応答の形式は、以下の通りです。
.RS
.nf
.sp .5
\fIsrc > dst: id op rcode flags a/n/au type class data (len)\fP
.sp .5
\f(CWhelios.domain > h2opolo.1538: 3 3/3/7 A 128.32.137.3 (273)
helios.domain > h2opolo.1537: 2 NXDomain* 0/1/0 (97)\fP
.sp .5
.fi
.RE
最初の例は、\fIh2opolo\fP からの質問 ID 3 の要求に対し、\fIhelios\fP が
3 つのアンサーレコード、3 つのネームサーバレコード、そして 7 つの
オーソリティレコードを持っているパケットで返答しているというものです。
最初のアンサーレコードは、タイプ A(アドレス)であり、そのデータは
IP アドレス 128.32.137.3 です。UDP と IP のヘッダを除いた総サイズは
273 バイトです。
A レコードのクラス (C_IN) と同様に, op (Query) および応答コード
(NoError) は、省略されます。
.LP
2 つめの例は、\fIhelios\fP が質問 ID 2 の要求に対し、存在しない
ドメイン (NXDomain) という返答コードとともに、0 個のアンサーレコード、1 つ
のネームサーバレコード、そして 0 個のオーソリティレコードを含んだ
レスポンスを返しています。`*' は、\fIauthoritative answer\fP ビットが設定され
ていることを示します。
アンサーレコードがないため、型、クラス、データは出力されません。
.LP
出力される可能性のある他のフラグキャラクタは、`\-' (再帰利用,RA,が
設定されていない)および `|' (メッセージ切捨て, TC, が設定されてい
る)です。
`question' セクションに含まれるエントリがちょうど 1 つでない場合には、
`[\fIn\fPq]' が出力されます。
.LP
ネームサーバ要求および応答は、大きくなる傾向にあり、デフォルトの
\fIsnaplen\fP の値である 68 バイトの長さは、パケットを捕捉してその内容を
表示するには十分でないかも知れないことに注意して下さい。
もしネームサーバトラフィックの調査を真剣に
行なおうとするならば、\fB\-s\fP オプションを用いて、\fIsnaplen\fP を増やし
て下さい。自分の経験上、`\fB\-s 128\fP' で十分使い物になります。
.HD
NFS 要求と応答
.LP
Sun NFS (Network File System) 要求および応答は、以下のように
表示されます。
.RS
.nf
.sp .5
\fIsrc.xid > dst.nfs: len op args\fP
\fIsrc.nfs > dst.xid: reply stat len op results\fP
.sp .5
\f(CW
sushi.6709 > wrl.nfs: 112 readlink fh 21,24/10.73165
wrl.nfs > sushi.6709: reply ok 40 readlink "../var"
sushi.201b > wrl.nfs:
144 lookup fh 9,74/4096.6878 "xcolors"
wrl.nfs > sushi.201b:
reply ok 128 lookup fh 9,74/4134.3150
\fP
.sp .5
.fi
.RE
最初の行では、ホスト \fIsushi\fP が ID\fI6709\fP のトランザクションを
\fIwrl\fP に送信します(送信元ホストに続く数字はトランザクション ID
であり、送信元ポート番号で\fIない\fPことに注意して下さい)。要求
サイズは、UDP および IP ヘッダのサイズを除いて 112 バイトです。操作は、
ファイルハンドル (\fIfh\fP) 21,24/10.731657119 に対する \fIreadlink\fP
(シンボリックリンク読み込み)です。
(この例のように運が良ければ、ファイルハンドルはデバイスのメジャー、
マイナー番号のペアと、それに続く i ノード番号と世代番号と解釈することがで
きます。)
\fIwrl\fP はリンクの内容とともに `ok' と返答しています。
.LP
3 行めでは、\fIsushi\fP は \fIwrl\fP に対し、ファイルハンドル
9,74/4096.6878 のディレクトリ中の `xcolors' ファイルの検索を要求していま
す。出力されたデータは、操作の型に依存することに注意して下さい。本形式
は、NFS のプロトコル仕様とともに読めば、それ自身を見れば分かるよう
に意図して作成されています。
.LP
\-v (verbose, 冗長) フラグがある場合、追加情報が出力されます。
例えば
.RS
.nf
.sp .5
\f(CW
sushi.1372a > wrl.nfs:
148 read fh 21,11/12.195 8192 bytes @ 24576
wrl.nfs > sushi.1372a:
reply ok 1472 read REG 100664 ids 417/0 sz 29388
\fP
.sp .5
.fi
.RE
(\-v は IP ヘッダの TTL, ID, そしてフラグメンテーションフィールドも出力し
ますが、この例では省略しています。)最初の行では、\fIsushi\fP は
\fIwrl\fP に対してファイル 21,11/12.195 のオフセット 24576 バイト目か
ら 8192 バイトを読むように要求しています。\fIwrl\fP は `ok' と返答してい
ます。2 行めに示したパケットは応答の最初のフラグメントなので、1472
バイトしかありません(その他のデータは継続するフラグメント中に続きます
が、これらのフラグメントは NFS ヘッダも UDP ヘッダさえも持たないので、使わ
れるフィルタリングの表現によっては出力されないでしょう)。\-v フラグがあ
るのでいくつかのファイル属性(ファイルデータに追加されて返されてくる)が
出力されます。それらはファイルの型(普通のファイルなら``REG'')、(8 進数
表現の)ファイルモード、uid と gid、そしてファイルの大きさです。
.LP
\-v フラグが 2 回以上指定されると、さらに詳しい情報が出力されます。
.LP
NFS 要求は非常に大きなデータになるため、\fIsnaplen\fP を大きくし
ないと詳しい出力は得られません。NFS トラフィックを監視するには、
`\fB\-s 192\fP' と指定してみて下さい。
.LP
NFS 応答パケットは RPC 操作であることを明示的には示しません。その代わ
り、\fItcpdump\fP は``最近の''要求を追跡して、トランザクション ID を用い
て応答と照合します。応答が対応する要求のすぐ後に続かないと、解
析することはできません。
.HD
KIP Appletalk (DDP in UDP)
.LP
UDP データグラムでカプセル化された Appletalk DDP パケットは、カプセル化
を解かれ、DDP パケットとしてダンプされます(全ての UDP ヘッダ情報は破棄
されます)。
ファイル
.I /etc/atalk.names
が、Appletalk ネットワークおよびノード番号を名前に変換するのに用い
られます。
本ファイルの内容は、以下のように記述されます。
.RS
.nf
.sp .5
\fInumber name\fP
\f(CW1.254 ether
16.1 icsd-net
1.254.110 ace\fP
.sp .5
.fi
.RE
最初の 2 行は、Appletalk ネットワーク名を決めています。3 行めは、
特定のホストの名前を決めています(ホストは、3 オクテット目の有無で
ネットワークと区別されます。ネットワーク番号は、2 オクテットの数字
から、ホスト番号は 3 オクテットの数字から構成される必要があります。)
数字と名前は、空白文字もしくはタブ文字で区切られます。この
.I /etc/atalk.names
ファイルは、空行もしくは、`#' 文字で始まるコメント行を含んでもかま
いません。
.LP
Appletalk アドレスは、以下のように表示されます。
.RS
.nf
.sp .5
\fInet.host.port\fP
\f(CW144.1.209.2 > icsd-net.112.220
office.2 > icsd-net.112.220
jssmag.149.235 > icsd-net.2\fP
.sp .5
.fi
.RE
(もし、この
.I /etc/atalk.names
がないか、このファイルの中にホスト番号及びネットワーク番号のエントリが
存在しない場合には、アドレスは数字で表示されます。)
最初の例は、ネットワーク 144.1 の中のノード 209
の NBP(DDP port 2) が、ネットワーク icsd のノード 112 のホストの
ポート 220 を開いている何者かにデータを送信しています。
次の行は、1 行めとほぼ同じ例ですが、送信元のノード名が既知である
(`office') ところが異なります。
3 行目の例は、ネットワーク jssmag のノード 149 のポート 235 から、icsd-net の
NBP ポートにブロードキャストでデータ送信をしています
(ブロードキャストアドレス(255)は、ホスト番号なしでネットワーク番号のみ
が表示されているところでわかります。このことから、/etc/atalk.names では
ノード名とネットワーク名を区別する方がよいことが分かります)。
.LP
NBP (name binding protocol) および ATP (Appletalk transaction protocol)
パケットでは、その内容は解釈されます。
他のプロトコルは、プロトコル名(もしくは、プロトコルが登録されていない場
合には、プロトコル番号)およびパケットサイズをダンプします。
\fBNBP パケット\fP は、以下のような形式で表示されます。
.RS
.nf
.sp .5
\s-2\f(CWicsd-net.112.220 > jssmag.2: nbp-lkup 190: "=:LaserWriter@*"
jssmag.209.2 > icsd-net.112.220: nbp-reply 190: "RM1140:LaserWriter@*" 250
techpit.2 > icsd-net.112.220: nbp-reply 190: "techpit:LaserWriter@*" 186\fP\s+2
.sp .5
.fi
.RE
最初の行は、レーザライタの名前検索要求であり、ネットワーク icsd のホスト
112 から送られ、ネットワーク jssmag へとブロードキャストされています。
検索のための nbp の ID は 190 です。
次の行は jssmag.209 からの、この要求の応答(同じ ID を持つことに注意して下さ
い)で、 ポート 250 に登録された RM1140 という名前のレーザライタがあると答
えています。
3 行めは、同じ要求に対する他のホストからの応答で、
ホスト techpit が、ポート 186 に登録されたレーザライタ "techpit" を持ってい
ると答えています。
\fBATP パケット\fP の形式は、以下のように表示されます。
.RS
.nf
.sp .5
\s-2\f(CWjssmag.209.165 > helios.132: atp-req 12266<0-7> 0xae030001
helios.132 > jssmag.209.165: atp-resp 12266:0 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:1 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:2 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:3 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:4 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:5 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:6 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp*12266:7 (512) 0xae040000
jssmag.209.165 > helios.132: atp-req 12266<3,5> 0xae030001
helios.132 > jssmag.209.165: atp-resp 12266:3 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:5 (512) 0xae040000
jssmag.209.165 > helios.132: atp-rel 12266<0-7> 0xae030001
jssmag.209.133 > helios.132: atp-req* 12267<0-7> 0xae030002\fP\s+2
.sp .5
.fi
.RE
jssmag.209 は、ホスト helios に対し最大8個 ('<0-7>') までのパケットを
要求することで、トランザクション ID 12266 を開始します。行の最後の 16 進数は、
要求の中の`ユーザデータ'のフィールドの値です。
.LP
helios は、8 つの 512 バイトのパケットで応答しています。トランザクション ID
の後につづく`:数'は、パケットシーケンス番号を、括弧中の数値は ATP ヘッダ
を除いたパケット中のデータ量を示してます。パケットシーケンス 7 のところ
の `*' は、EOM ビットが設定されていることを示してます。
.LP
jssmag.209 は、パケットシーケンス番号 3 と 5 のパケットの再送要求をしてます。
helios はそれらを再送し、その後 jssmag.209 はトランザクションを解放します。
最後の行で、jssmag.209 は次の要求を開始します。この要求の表示
で付加されている `*' は、XO(`exactly once') が設定されていないことを示します。
.HD
IP フラグメンテーション
.LP
フラグメントのあるインターネットデータグラムは、以下のように表示されます。
.RS
.nf
.sp .5
\fB(frag \fIid\fB:\fIsize\fB@\fIoffset\fB+)\fR
\fB(frag \fIid\fB:\fIsize\fB@\fIoffset\fB)\fR
.sp .5
.fi
.RE
(最初の形式では、まだフラグメントがあることを示し、2 番めの形式は、
これが最後のフラグメントであることを示してます。)
.LP
\fIId\fP は、フラグメント ID です。\fIsize\fP は、フラグメントサイズを
バイト単位であらわしたものです。ただし IP ヘッダサイズは含みません。
\fIoffset\fP は、元のデータグラムでの本フラグメントのオフセットをバイト
単位であらわしたものです。
.LP
フラグメント情報は、各フラグメントごとに表示されます。最初の
フラグメントには、上位レベルのプロトコルヘッダが含まれるので、フラグ情
報がプロトコル情報の後に表示されます。2 つ目以降のフラグメントについて
は、上位レベルのプロトコルヘッダを含まないので、フラグ情報は送信元およ
び宛先アドレスの後ろに表示されます。
例えば、これは arizona.edu から lbl-rtsg.arpa への CSNET 接続での ftp
の様子の一部分ですが、どうやら 576 バイト以上ののデータグラムを扱えないよ
うです。
.RS
.nf
.sp .5
\s-2\f(CWarizona.ftp-data > rtsg.1170: . 1024:1332(308) ack 1 win 4096 (frag 595a:328@0+)
arizona > rtsg: (frag 595a:204@328)
rtsg.1170 > arizona.ftp-data: . ack 1536 win 2560\fP\s+2
.sp .5
.fi
.RE
注意すべきことがいくつかあります。まず最初に、2 行目は
ポート番号を含みません。これは、TCP プロトコル情報は、最初のフラグメント
に全て入っており、後のフラグメントを出力する時にはポート番号やシーケンス
番号を知る術がないからです。
次に、最初の行の TCP シーケンス情報は、パケットが 308 バイトのユーザデータ
を持ってるかのように表示されますが、実際には 512 バイトのユーザデータを
持ってます(308 バイトが最初のフラグ分で、204 バイトが 2 番目のフラグ分で
す)。シーケンススペースの穴をさがしたり、パケットの ack の対応が正しい
かをこのデータで見ようとしてはいけません。
.LP
フラグメント不可フラグが設定されたパケットは、最後の部分に \fB(DF)\fP と
印が付けられます。
.HD
タイムスタンプ
.LP
デフォルトでは、すべての出力行は最初にタイムスタンプが出力されます。
タイムスタンプは、以下の形式で、現在のクロックタイムを表示します
.RS
.nf
\fIhh:mm:ss.frac\fP
.fi
.RE
そして、クロックの精度は、カーネルクロックの精度に依存します。
タイムスタンプは、カーネルが最初にパケットを見つけた時間を反映します。
イーサネットインタフェースがケーブルからパケットを取り出してカーネルが
`新規パケット'割り込みを受け付けるまでのタイムラグなどは補正されません
.SH 関連項目
traffic(1C), nit(4P), bpf(4), pcap(3)
.SH 作者
-Van Jacobson (van@ee.lbl.gov),
-Craig Leres (leres@ee.lbl.gov) and
-Steven McCanne (mccanne@ee.lbl.gov), all of the
-Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
+Van Jacobson,
+Craig Leres and
+Steven McCanne, all of the
+Lawrence Berkeley National Laboratory, University of California, Berkeley, CA.
+.LP
+.RS
+.I ftp://ftp.ee.lbl.gov/tcpdump.tar.Z
+.RE
.SH バグ
-バグレポートは、tcpdump@ee.lbl.gov または libpcap@ee.lbl.gov へ送って下さい。
+バグレポートは、tcpdump@ee.lbl.gov へ送って下さい。
.LP
NIT では、外に出ていくトラフィックを観察できません。BPF ならできます。
-tcpdump を用いる場合には、後者を用いることを推奨します。
-.LP
-Ultrix 上で \fItcpdump\fP を使う場合には、Ultrix のバージョンは 4.0 以降のもの
-を用いて下さい。この場合には、\fIpacketfilter\fP 仮想デバイスドライバ
-を追加して、カーネルの再構成を行なう必要があります。
-(
-.IR packetfilter (4)
-参照)。
-外に出るトラフィックもしくは入ってくるトラフィックのどちらかを監視する
-には、Ultrix のバージョン 4.2 以降が必要で、
-.IR pfconfig (8)
-コマンドを用いて ``copyall'' モードにしなければなりません。
-.LP
-SunOS 4.1 では、パケットキャプチャコード(もしくは Streams NIT)は効率良く
-ありません。トラフィックの多いネットワークを監視する場
-合には、そんなには多くのことを行なわないで下さい。
-.LP
-SunOS 3.2 以前のものは、NIT が非常に不安定(buggy)です。古いシステムで
-tcpdump を動作させた場合、システムがクラッシュする可能性があります。
+後者を用いることを推奨します。
.LP
IP フラグメントを再構成するか、もしくは少なくとも上位プロトコルの正し
いデータサイズを計算するように設計しなおす必要があります。
.LP
ネームサーバについての逆引きについては、正しくダンプされません。
実際の要求ではなく、(empty)クエスチョンセクションが、
アンサーセクションに出力されます。
逆引きについてはそれ自体がバグであると信じ、tcpdump ではなく逆引きを要求する
プログラムを修正するべきと考える人達もいます。
.LP
Apple Ethertalk DDP パケットは、KIP DDP パケットと同様に簡単にダンプ出来
るようにしたいのですが、実際はそうではありません。
もし我々が、Ethertalk の利用を奨めるために何かやろうという気になったとし
ても(そうではないのですが)、LBL(Lawrence Berkeley Laboratory) のどの
ネットワーク上にも Ethertalk を通すことは許されていませんから、そのコード
の試験は出来ません。
.LP
夏時間との変更の時にパケットトレースを行うと、タイムスタンプは変更後の
時刻とはずれてしまいます(時間変化は無視されます)。
.LP
FDDI ヘッダを操作するようなフィルタの表現においては、全ての
FDDI パケットはカプセル化された Ethernet パケットであると仮定します。
これは、IP, ARP, DECNET フェーズ 4 については正しいですが、ISO の CLNS 等の
プロトコルについては正しくありません。したがって、フィルタ表現に正しく
マッチしないようなパケットを偶然に受け入れてしまうことがあります。
diff --git a/ja/man/man1/tcpslice.1 b/ja/man/man1/tcpslice.1
index f017a570a8..699836e09c 100644
--- a/ja/man/man1/tcpslice.1
+++ b/ja/man/man1/tcpslice.1
@@ -1,254 +1,268 @@
.\" @(#) %Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/tcpslice.1,v 1.4 1995/05/14 15:21:36 gpalmer Exp % (LBL)
.\" jpman %Id: tcpslice.1,v 1.3 1997/09/07 14:12:55 horikawa Stab %
.\"
.\" Copyright (c) 1988-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: (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.
.\"
-.TH TCPSLICE 1 "14 Oct 1991"
-.SH 名称
-tcpslice \- tcpdump ファイルの分割/結合
-.SH 書式
-.na
-.B tcpslice
-[
-.B \-dRrt
-] [
-.B \-w
-.I file
-]
-.br
-.ti +9
-[
-.I start-time
-[
-.I end-time
-] ]
-.I file ...
-.br
-.ad
-.SH 解説
-.LP
-.I tcpslice
+.Dd October 14, 1991
+.Dt TCPSLICE 1
+.Os
+.Sh 名称
+.Nm tcpslice
+.Nd tcpdump ファイルの切り出し/結合
+.Sh 書式
+.Nm tcpslice
+.Op Fl dRrt
+.Op Fl w Ar file
+.Op Ar start-time Op end-time
+.Ar
+.Sh 解説
+.Nm
は、
-\fItcpdump(1)\fP
+.Xr tcpdump 1
-.B \-w
+.Fl w
フラグ
を用いて作成されたパケットトレースファイルの一部を切り出すプログラムです。
また、以下に示すように、複数のパケットトレースファイルを結合する事も
できます。
-.LP
-.I tcpslice
-の基本機能は、入力となるファイルに含まれるパケットの時刻が与えられた範囲に
-あるものを
-.I stdout
-にコピーする事です。
+.Pp
+.Nm
+の基本機能は、入力ファイルに含まれるパケットのうち、指定された時間内の
+ものを
+.Pa stdout
+に出力する事です。
開始時刻および終了時刻の範囲は、コマンド行で指定できます。範囲は指定した
-時刻自身を含みます。開始時刻のデフォルトは最初の入力ファイルの最初の
-パケットの時刻で、これを
-.I first time
-と呼びます。終了時刻のデフォルトは開始時刻の 10 年後です。
+時刻自身を含みます。デフォルトでは、開始時刻は最初の入力ファイルの一つ目の
+パケットの時刻です。この時刻を
+.Em first time
+と呼びます。デフォルトでは、終了時刻は開始時刻の 10 年後です。
したがって、
-.I tcpslice trace-file
+.Nm
+.Ar trace-file
というコマンドは単に
-.I trace-file
-を \fIstdout\fP にコピーします(ファイルには 10 年分のデータがない事を
+.Ar trace-file
+を
+.Pa stdout
+に出力します(ファイルには 10 年分のデータがない事を
想定しています)。
-.LP
+.Pp
時刻の指定にはいくつかの方法があります。ひとつは
-.I sssssssss.uuuuuu
-の形式の Unix 時刻形式を用いる方法です
-(これは、\fItcpdump\fP の
-.B \-tt
+.Em sssssssss.uuuuuu
+の形をとる Unix 時刻形式を用いる方法です
+(これは、
+.Xr tcpdump 1
+の
+.Fl tt
フラグで指定される形式です)。
例えば、
-.B 654321098.7654
+.Em 654321098.7654
は、1990 年 9 月 25 日、午後 8 時 51 分 (PDT) から、
38 秒と 765,400 マイクロ秒後の時刻を示します。
-.LP
+.Pp
このマニュアルの例は全て PDT の時刻で示しますが、
以下で示すように時刻を表示したり解釈したりする場合、
-.I tcpslice
-は、\fItcpdump\fP のファイルがどのタイムゾーンで生成されたかに関わらず、
+.Nm
+は、
+.Xr tcpdump 1
+のファイルがどのタイムゾーンで生成されたかに関わらず、
ローカルのタイムゾーンを使用します。
夏時間の設定は、対象となる日のローカルのタイムゾーンで適切な物が用いられます。
-例えば、夏季の期間の時刻は、夏時間の影響を反映し、冬季の期間の時刻は
+例えば、夏季の時刻には、夏時間の影響を反映し、冬季の時刻には
影響しません。
-.LP
+.Pp
時刻は
-秒数の前に `+' を付けて指定する事により、
-.I first time
-(開始時刻を指定する場合)
-や開始時刻(終了時刻を指定する場合)
-からの相対的な時刻として指定する事もできます。
+.Em first time
+から(開始時刻を指定する場合)、
+あるいは開始時刻から(終了時刻を指定する場合)
+の相対的な時刻として指定する事もできます。
+指定するには秒数の前に `+' を付けます。
例えば、
-.B +200
-は
-.I first time
-から 200 秒後を示し、ふたつの引数
-.B +200 +300
+.Em +200
+は開始時刻が
+.Em first time
+から 200 秒後であることを示し、ふたつの引数
+.Em +200 +300
-.I first time
+.Em first time
から 200 秒後から、
-.I first time
-から 500 秒後までを示します。
-.LP
+.Em first time
+から 500 秒後までの範囲を示します。
+.Pp
時刻は、年 (y)、月 (m)、日 (d)、時 (h)、分 (m)、秒 (s)、マイクロ秒 (u) で
-指定する事もできます。例えば、上記で示した Unix 時刻 654321098.7654 は、
-.B 90y9m25d20h51m38s765400u
+指定する事もできます。例えば、上記の Unix 時刻 654321098.7654 は、
+.Em 90y9m25d20h51m38s765400u
と指定する事もできます。
-.LP
-この形式で時刻を指定した場合、省略されたフィールドのデフォルトは以下の様に
-なります。省略されたフィールドが最初に指定されたフィールドより
-.I 大きい
-単位ならば、そのデフォルト値は、
-.I first time
+.Pp
+この形式で時刻を指定した場合、省略されたフィールドのデフォルト値は以下
+のようになります。最初に指定されたフィールドより
+.Em 大きい
+単位の省略されたフィールドについてのデフォルト値は、
+.Em first time
(開始時刻を指定する場合) または開始時刻(終了時刻を指定する場合)と同じ
値となります。
-省略されたフィールドが最初に指定されたフィールドより
-.I 小さい
-単位ならば、そのデフォルト値はゼロとなります。
+最初に指定されたフィールドより
+.Em 小さい
+単位の省略されたフィールドについてのデフォルト値はゼロとなります。
例えば、入力ファイルの
-.I first time
-の Unix 時刻が上記の値、すなわち、1990 年 9 月 25 日、午後 8 時 51 分 (PDT)
+.Em first time
+が Unix 時刻で上記の値、すなわち、1990 年 9 月 25 日、午後 8 時 51 分 (PDT)
から 38 秒と 765,400 マイクロ秒後としましょう。この時、同じ日の 午後 9 時
36 分 (PDT) ちょうどを指定するには、
-.B 21h36m
+.Em 21h36m
と表す事ができます。
午後 9 時 36 分 (PDT) から翌日の午前 1 時 54 分 (PDT) までを指定するには、
-.B 21h36m 26d1h54m
+.Em 21h36m 26d1h54m
と表す事ができます。
-.LP
-.I ymdhmsu
-形式を使用する時にも相対時刻を指定する事ができます。
-この時、省略されたフィールドが指定された最初のフィールドより
-.I 大きい
+.Pp
+.Em ymdhmsu
+形式を使用する時にも相対時刻で指定する事ができます。
+この時、省略されたフィールドの単位が指定された最初のフィールドより
+.Em 大きい
単位ならば、デフォルト値は 0 となり、
-省略されたフィールドが指定された最初のフィールドより
-.I 小さい
+省略されたフィールドの単位が指定された最初のフィールドより
+.Em 小さい
単位ならば、デフォルト値は
-.I first time
+.Em first time
あるいは開始時刻と同じ値となります。
-.I first time
-が上記で示した Unix 時刻だった場合、
-.B 22h +1h10m
+.Em first time
+が上記の Unix 時刻だった場合、
+.Em 22h +1h10m
はその日の午後 10 時 00 分 (PDT) から 午後 11 時 10 分 (PDT) までを示し、
-.B +1h +1h10m
+.Em +1h +1h10m
は午後 9 時 51 分 (PDT) の 38.7654 秒後から 午後 11 時 01 分 (PDT) の
38.7654 秒後までを示します。
-.B +0 +1h
+.Em +0 +1h
と指定すれば、ファイルの最初から 1 時間分のデータを取り出す事ができます。
-.LP
-.I ymdhmsu
+.Pp
+.Em ymdhmsu
形式を用いる場合、
-.I m
+.Em m
が、`月' を示すのか `分' を示すのかが曖昧になります。
-この曖昧さは、以下のように決定されます。もし、
-.I m
+いずれになるかは、以下のように決定されます。
+.Em m
フィールドの後に
-.I d
-フィールドが来た場合、それは月であると判断され、それ以外の場合は、
-分であると判断されます。
-.LP
+.Em d
+フィールドが来た場合、月が指定されたと判断します。それ以外の場合は、
+分が指定された判断します。
+.Pp
複数の入力ファイルが指定された場合、
-.I tcpslice
-はまず、最初のファイルの与えられた時刻の範囲にあるパケットをコピーします。
+.Nm
+はまず、最初のファイル内の指定された時刻の範囲にあるパケットを出力します。
次に、範囲の開始時刻を最初のファイルの最後のパケットの時刻の直後に変更し、
-次のファイルを処理し、以降これを繰り返します。したがって、時間的に
-分散したパケットを含むような複数のファイルをまとめる事は
-.I できません。
+次のファイルを処理し、以降これを繰り返します。したがって、時間順に
+ならんでいないパケットを含む複数のファイルをまとめる事は
+.Em できません。
与えられたファイルのうち、先に処理されたファイルより新しいパケットに対して
のみ処理されます。この機構によりひとつのパケットが複数回出力に現れる
事を防ぐ事ができます。
-.SH オプション
-.LP
-.B \-R,
-.B \-r,
-.B \-t
+.Sh オプション
+.Pp
+.Fl R ,
+.Fl r ,
+.Fl t
のいずれかが指定された場合、
-.I tcpslice
+.Nm
は、各入力ファイルの最初および最後のパケットの時刻を表示して終了します。
-これらの 3 個のオプションのうち、ひとつだけを指定することができます。
-.TP
-.B \-d
-指定された範囲の開始時刻と終了時刻をダンプして終了します。
+これらの 3 個のオプションのうち、1 つだけを指定することができます。
+.Pp
+以下のオプションが指定できます:
+.Bl -tag -width indent
+.It Fl d
+指定された範囲の開始時刻と終了時刻を表示して終了します。
このオプションは、指定した範囲が想定している時間と本当に一致しているかどうかを
確認するのに有効です。
-.B \-R,
-.B \-r,
-.B \-t
-のいずれかが指定された場合、それらに相当する形式で時刻をダンプします。
-指定がない場合は、加工しない形式 (\fB \-R\fP) が使用されます。
-.TP
-.B \-R
-各入力ファイルの最初および最後のパケットの時刻を加工しない形式
-(つまり、\fI sssssssss.uuuuuu\fP の形式) でダンプします。
-.TP
-.B \-r
-.B \-R
-と同じですが、\fI date(1)\fP で使用される物と同様の、読みやすい形式で
-時刻をダンプします。
-.TP
-.B \-t
-.B \-R
+.Fl R ,
+.Fl r ,
+.Fl t
+のいずれかが指定された場合、それらに相当する形式で時刻を表示します。
+指定がない場合は、内部形式 (
+.Fl R )
+となります。
+.It Fl R
+各入力ファイルの最初および最後のパケットの時刻を内部形式
+(つまり、
+.Em sssssssss.uuuuuu
+の形式) で表示します。
+.It Fl r
+.Fl R
+と同じですが、
+.Xr date 1
+と同様の、読みやすい形式で時刻を表示します。
+.It Fl t
+.Fl R
と同じですが、時刻を
-.I tcpslice
+.Nm
形式、すなわち、上記に示した
-.I ymdhmsu
-の形でダンプします。
-.TP
-.B \-w
-結果を \fIstdout\fP ではなく、\fIfile\fR に出力します。
-.SH 関連項目
-tcpdump(1)
-.SH 作者
-Vern Paxson (vern@ee.lbl.gov), of
-Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
-.SH バグ
+.Em ymdhmsu
+の形で表示します。
+.It Fl w Ar file
+出力を
+.Pa stdout
+ではなく、
+.Ar file
+とします。
+.El
+.Sh 関連項目
+.Xr tcpdump 1
+.Sh 作者
+.An Vern Paxson Aq vern@ee.lbl.gov ,
+of Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
+.Sh バグ
数字や `+' で始まるファイル名を入力ファイルとして指定すると、
-開始/終了時刻と区別できません。このようなファイル名は、たとえば、
-`04Jul76.trace' というファイル名ならば `./04Jul76.trace' のように、
-先頭に `./' をつけて指定して下さい。
-.LP
-.I tcpslice
+開始/終了時刻と間違うことがあります。このようなファイル名は、
+先頭に `./' をつけて指定します。たとえば、
+`04Jul76.trace' というファイル名ならば `./04Jul76.trace' とします。
+.Pp
+.Nm
は、入力ファイルをくまなく探すためにランダムアクセスを使用するため、
-\fIstdin\fP から入力を読み込むことはできません。
-.LP
-.I tcpslice
-は、出力を (\fIisatty(3)\fP で示される) 端末へ出力しようとしません。
-これはバグではなく仕様で、ユーザの端末にバイナリデータをまき散らすことを
-防ぎます。つまり、\fIstdout\fP をリダイレクトするか、\fB\-w\fP により
-出力ファイルを指定する必要があります。
-.LP
-.I tcpslice
-は、1 年以上にわたる \fItcpdump\fP のファイルや、
+.Pa stdin
+から入力することはできません。
+.Pp
+.Nm
+は、出力先が端末 (
+.Xr isatty 3
+で示される) である場合、出力しません。
+これはバグではなく、ユーザの端末にバイナリデータをまき散らすことを
+防ぐための仕様です。つまり、
+.Pa stdout
+をリダイレクトするか、
+.Fl w
+により出力ファイルを指定しなければなりません。
+.Pp
+.Nm
+は、1 年以上にわたる
+.Xr tcpdump 1
+のファイルや、
もともとのパケットの長さが 65,535 バイトを超えるようなパケットの一部を
-含むようなファイル、3 パケットより少ないパケットしかないファイル
+含むようなファイル、3 パケット未満のパケットしか含まれないファイル
に対しては正しく働かないでしょう。
これらのファイルを処理しようとすると、
`couldn't find final packet in file' というエラーメッセージが出力されます。
これらの問題は、大きなトレースファイルを扱う場合に、
-.I tcpslice
-が処理速度を大きく改善するために使用している補間機能に起因します。
+.Nm
+が処理速度を大きく改善するために使用している機構に起因します。
一方、
-.I tcpslice
+.Nm
は、如何なるサイズのトレースファイルでも中央のスライスを効率的に取り出す
-ことができ、分断されたトレースファイル (ファイルの中の最後のパケットが
-一部しか存在しない様なファイル、\fItcpdump\fP が強制的に終了させられた
-場合にできる場合がある) に対しても正しく動作します。
+ことができ、不完全なトレースファイル (例えば、ファイル中の最後のパケットが
+途中で切れているファイル、
+.Xr tcpdump 1
+が強制的に終了させられた
+場合によくできる) に対しても正しく動作します。
diff --git a/ja/man/man1/telnet.1 b/ja/man/man1/telnet.1
index 65c01cf8b2..ae7b13bf84 100644
--- a/ja/man/man1/telnet.1
+++ b/ja/man/man1/telnet.1
@@ -1,1325 +1,1325 @@
.\" Copyright (c) 1983, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)telnet.1 8.5 (Berkeley) 3/1/94
-.\" %Id: telnet.1,v 1.3.2.4 1998/03/08 13:48:34 jkh Exp %
+.\" %Id: telnet.1,v 1.9 1997/12/27 18:58:27 steve Exp %
.\" jpman %Id: telnet.1,v 1.2 1997/05/23 00:55:09 mutoh Stab %
.\"
.Dd March 1, 1994
.Dt TELNET 1
.Os BSD 4.2
.Sh 名称
.Nm telnet
.Nd
.Tn TELNET
プロトコルを用いて他のホストと通信する
.Sh 書式
.Nm
.Op Fl 8EFKLacdfrx
.Op Fl S Ar tos
.Op Fl X Ar authtype
.Op Fl e Ar escapechar
.Op Fl k Ar realm
.Op Fl l Ar user
.Op Fl n Ar tracefile
.Oo
.Ar host
.Op Ar port
.Oc
.Sh 解説
.Nm
コマンドは、
他のマシンとの間で
.Tn TELNET
プロトコルを用いた通信を行なう時に用いられます。
.Nm
が、
.Ar host
引数なしで起動された場合には、
.Pq Nm telnet\&>
プロンプトを表示して、コマンドを受け付けるモードに移行します。
本モードでは、telnet は、後述のコマンドを解釈し、実行できます。
.Nm
.Ar host
引数を付加して起動された場合には、
.Ic open
コマンドをその引数で実行した場合と同様の動作を行ないます。
.Pp
.Nm
コマンドでは、以下のオプションが使用可能です。
.Bl -tag -width indent
.It Fl 8
8ビットデータをそのまま通すよう指示します。本オプションは、データ入出力時に
.Dv TELNET BINARY
オプションを使用することを意味します。
.It Fl E
エスケープ文字の解釈を禁止します。
.It Fl F
もし Kerberos V5 ユーザ認証を使用している場合
.Fl F
オプションはローカル credential をリモートシステムに送るのを許可します。
すでにローカルに送られている全ての credential を含みます。
.It Fl K
リモートシステムへの自動ログインを行なわないよう指示します。
.It Fl L
出力を8ビットクリーンにします。
本オプションは、データ出力時に
.Dv BINARY
オプションを使用することを意味します。
.It Fl S Ar tos
IPのサービス型(TOS)を設定します。 TOS は、数字で指定するか、システムが
.Pa /etc/iptos
ファイルをサポートしている場合には、そのファイル中で定義された
値と対応するシンボルを指定します。
.It Fl X Ar atype
.Ar atype
で指定されたユーザ認証を無効にします。
.It Fl a
自動ログインを行ないます。リモートシステムで ENVIRON オプションの
サポートをしている場合には、
.Ev ENVIRON
オプションの
.Ev USER
変数をログイン名として用います。
使用されるログイン名は、カレントユーザIDとログイン名の対応が
一致する場合には、
.Xr getlogin 2
で取得される名前です。それ以外の場合は、 UID に対応する名前が
用いられます。
.It Fl c
ユーザの
.Pa \&.telnetrc
ファイルを使いません
(本マニュアル中の
.Ic toggle skiprc
コマンドを参照してください)。
.It Fl d
変数
.Ic debug
の初期値を
.Dv TRUE
に設定します。
.It Fl e Ar escapechar
.Nm
のエスケープ文字の初期値を
.Ar escapechar
に設定します。
.Ar escapechar
が省略された場合には、
エスケープ文字は無いことになります。
.It Fl f
もし Kerberos V5 ユーザ認証を使用している場合
.Fl f
オプションはローカル credential をリモートシステムに送るのを許可します。
.It Fl k Ar realm
もし Kerberos ユーザ認証を使用している場合
.Fl k
オプションを指定すると、
.Xr krb_realmofhost 3
で決定されるリモートホストの realm の代わりに、
.Ar realm
からリモートホストに対するチケットが得られるように要求します。
.It Fl l Ar user
リモートシステムが
.Ev ENVIRON
オプションをサポートしている場合、リモートシステムへの接続時に
リモートシステムに変数
.Ev USER
の値として
.Ar user
を送信します。
本オプションは、
.Fl a
オプションとともに使用します。
また、本オプションは、
.Ic open
コマンドととも一緒に使用します。
.It Fl n Ar tracefile
トレース情報を記録するために
.Ar tracefile
をオープンします。
後述の
.Ic set tracefile
コマンドを参照して下さい。
.It Fl r
.Xr rlogin 1
と似たインタフェースを提供します。
本モードでは、エスケープ文字はチルダ文字(~)に設定されます。
ただし、
.Fl e
オプションで変更された場合には、この限りではありません。
.It Fl x
可能であれば、データストリームの暗号化を有効にします。本オプション
は、米国およびカナダ以外の国では使用できません。
.It Ar host
リモートホストの公式な名前、別名、またはIPアドレスを指定し
ます。
.It Ar port
telnetが叩くリモートホストのTCPポート番号を指定します。指定されない
場合には、デフォルトの
.Nm
ポート番号が使われます。
.El
.Pp
rlogin モードでは、~. をコマンドラインの先頭で入力すると、
リモートホストとの接続が切れます。この時、 ~ は
.Nm
のエスケープ文字
として働きます。
また、~^Z をコマンドラインの先頭で入力すると、
.Nm
セッションはサスペンドされます。
そして、~^] をコマンドラインの先頭で入力すると、通常の
.Nm
のエスケーププロンプトが出力され、コマンド入力モードに移行します。
.Pp
コネクションが開設されると、
.Nm
.Dv TELNET LINEMODE
を有効にしようとします。
これが失敗すると、次に
.Nm
は \*(Lqcharacter at a time\*(Rq と \*(Lqold line by line\*(Rq の
2つの入力モードのうち、どちらか1つを選択します。
これは、リモートシステムがサポートするモードに依存します。
.Pp
.Dv LINEMODE
が有効になった場合、
文字処理は、
リモートシステムの制御のもとでローカルシステムで行なわれます。
入力行の編集や、文字エコーは無効になり、
リモートシステムがそれらの操作情報を中継します。
リモートシステムは、
リモートシステムで生成された特殊文字をすべてローカルシステムに送ります。
その結果、ローカルシステムの制御が可能になります。
.Pp
\*(Lqcharacter at a time\*(Rq モードでは、ほとんどのテキスト入力は、
すぐにリモートシステムに送られて処理されます。
.Pp
\*(Lqold line by line\*(Rqモードでは、全てのテキストはローカルにエコーバック
されます。そして、通常、完全な行のみがリモートホストに送信されます。
.Pp
\*(Lqold line by line\*(Rq モードでは、全てのテキストはローカルに
エコーされ (普通は) 完全な行だけがリモートホストに送られます。
\*(Lqlocal echo character\*(Rq (初期設定は\*(Lq^E\*(Rq)は、ローカルエコー
の有効/無効を切り替えるのに用いられます(これは、パスワードをエコーバックし
ないために、パスワード入力時によく用いられる機能です)。
.Pp
.Dv LINEMODE
オプションが有効になっている場合、もしくは
.Ic localchars
.Dv TRUE
になっている場合には(デフォルトでは、\*(Lqold line by line\*(Rq に設定されて
います。以下を参照)、ユーザの
.Ic quit ,
.Ic intr ,
および
.Ic flush
文字はローカルでトラップされます。そして、
.Tn TELNET
プロトコルシーケンスとしてリモートホストに送信されます。
.Dv LINEMODE
が有効になっている場合には、
ユーザの
.Ic susp
および
.Ic eof
もまた
.Tn TELNET
プロトコルシーケンスとしてリモートホストに送信されます。そして、
.Ic quit
.Dv BREAK
のかわりに
.Dv TELNET ABORT
として送信されます。
また、
(リモートホストが TELNET シーケンスを認識するまで)
端末へのサブシーケンス出力をフラッシュするオプション(
.Ic toggle ,
.Ic autoflush ,
.Ic toggle ,
.Ic autosynch
を参照して下さい)
や、(
.Ic quit ,
.Ic intr
の場合に)
端末の先行入力をフラッシュするオプション
もあります。
.Pp
リモートホストと接続中に \*(Lqescape character\*(Rq (初期値は
\*(Lq^]\*(Rq です)を入力することで、
.Nm
コマンドモードに移行できます。
コマンドモードに移行すると、通常の対話的画面編集が可能になります。
.Pp
.Nm
のコマンドモードでは、以下のコマンドが使用できます。
コマンドを入力する場合には、先頭からコマンドを特定できるだけの文字を入れ
るだけでコマンドが認識されます。
(
.Ic mode ,
.Ic set ,
.Ic toggle ,
.Ic unset ,
.Ic slc ,
.Ic environ ,
そして
.Ic display
コマンドの引数についても同じことがいえます)。
.Pp
.Bl -tag -width "mode type"
.It Ic auth Ar argument ...
auth コマンドは、
.Dv TELNET AUTHENTICATE
オプションを用いて送られる認証情報を操作します。
.Ic auth
コマンドのとりうる引数は、以下の通りです。
.Bl -tag -width "disable type"
.It Ic disable Ar type
指定した認証タイプを無効にします。認証タイプの一覧を見たい場合には、
.Ic auth disable \&?
とコマンドを実行して下さい。
.It Ic enable Ar type
指定された認証タイプを有効にします。
認証タイプの一覧を見たい場合には、
.Ic auth enable \&?
とコマンドを実行して下さい。
.It Ic status
認証タイプの現在の状態一覧を表示します。
.El
.It Ic close
.Tn TELNET
セッションを終了し、コマンドモードに復帰します。
.It Ic display Ar argument ...
.Ic set
および
.Ic toggle
で設定された値(後述)のすべて、もしくは一部を表示します。
.It Ic encrypt Ar argument ...
encrypt コマンドは、
.Dv TELNET ENCRYPT
オプションによって送られる情報を操作します。
.Pp
注意: 輸出規制の関係上、
.Dv TELNET ENCRYPT
オプションは、米国およびカナダ以外の国ではサポートされません。
.Pp
.Ic encrypt
コマンドのとりうる引数は以下の通り:
.Bl -tag -width Ar
.It Ic disable Ar type Ic [input|output]
指定されたタイプの暗号化を無効にします。
input か output かが省略された場合、両方が無効になります。
.Ic encrypt disable \&?
コマンドを使えば type として何が使用できるかを表示できます。
.It Ic enable Ar type Ic [input|output]
指定されたタイプの暗号化を有効にします。
input か output かが省略された場合、両方が無効になります。
.Ic encrypt enable \&?
コマンドを使えば type として何が使用できるかを表示できます。
.It Ic input
.Ic encrypt start input
コマンドと同じです。
.It Ic -input
.Ic encrypt stop input
コマンドと同じです。
.It Ic output
.Ic encrypt start output
コマンドと同じです。
.It Ic -output
.Ic encrypt stop output
コマンドと同じです。
.It Ic start Ic [input|output]
暗号化を開始します。
.Ic input
.Ic output
かが省略された場合、
両方が暗号化されます。
.Ic encrypt enable \&?
コマンドを使えば type として何が使用できるかを表示できます。
.It Ic status
暗号化の現在の状態を表示します。
.It Ic stop Ic [input|output]
暗号化を中止します。
input か output かを省略した場合は
両方に対して作用します。
.It Ic type Ar type
.Ic encrypt start
.Ic encrypt stop
が使われた時のデフォルトの暗号化タイプを設定します。
.El
.It Ic environ Ar arguments...
.Ic environ
コマンドは、
.Dv TELNET ENVIRON
オプションを用いて送られる変数を取り扱うのに用いられます。
最初に設定される変数は、ユーザ環境変数から取られ、
デフォルトでは
.Ev DISPLAY
および
.Ev PRINTER
のみ値が環境に取り込まれます。
変数
.Ev USER
が環境に取り込まれるのは、
.Fl a
もしくは
.Fl l
オプションが起動時に指定された場合です。
.Pp
.Ic environ
コマンドの取りうる引数は、以下の通りです。
.Bl -tag -width Fl
.It Ic define Ar variable value
変数
.Ar variable
.Ar value
と定義します。
本コマンドで定義された変数は、自動的に環境に取り込まれます。
.Ar value
については、スペースやタブを含む場合には、シングルクォーテー
ション、もしくはダブルクォーテーションで囲んでも構いません。
.It Ic undefine Ar variable
環境変数
.Ar variable
の定義を無効にします。
.It Ic export Ar variable
変数
.Ar variable
が、リモートホストの環境に取り込まれるように設定します。
.It Ic unexport Ar variable
変数
.Ar variable
を、リモートホストに取り込まないように設定します。ただし、リモートホストへ
明示的に取り込むよう指定された変数に関しては、意味を持ちません。
.It Ic list
現在設定されている環境変数の一覧を表示します。
.Cm *
マークが付加されている環境変数については、リモートホストに自動的に取り込ま
れます。他の変数は、明示的に要求されない限り、取り込まれることはありません。
.It Ic \&?
.Ic environ
コマンドのヘルプメッセージを表示します。
.El
.It Ic logout
.Dv TELNET LOGOUT
オプションをリモートホストに送信します。
本コマンドは、
.Ic close
と似てますが、リモートホストが
.Dv LOGOUT
オプションをサポートしていない場合には、何も起きません。
しかしながら、リモートホストが
.Dv LOGOUT
オプションをサポートしている場合には、本コマンドはリモートホストに
.Tn TELNET
コネクションの切断を指示します。
リモートホストが再接続のためにセッションのサスペンドもサポートしている場合には、
logout 引数は、セッションを即時切断することを示します。
.It Ic mode Ar type
.Ar type
は、
.Tn TELNET
セッションの状態に依存するオプションの 1 つです。
リモートホストはリクエストモードに入るための許可を求められます。
リモートホストが許可を得られればリクエストモードに入ります。
.Bl -tag -width Ar
.It Ic character
.Dv TELNET LINEMODE
オプションを無効にする、
あるいはリモートホストが
.Dv LINEMODE
オプションを解釈できない場合に
\*(Lqcharacter at a time\*(Rq
モードに入ります。
.It Ic line
.Dv TELNET LINEMODE
オプションを有効にする、
あるいはリモートホストが
.Dv LINEMODE
オプションを解釈できない場合に
\*(Lqold-line-by-line\*(Rq
モードに入ろうとします。
.It Ic isig Pq Ic \-isig
.Dv LINEMODE
オプションの
.Dv TRAPSIG
モードを有効(無効)にします。
.Dv LINEMODE
オプションが有効になっている必要があります。
.It Ic edit Pq Ic \-edit
.Dv LINEMODE
オプションの
.Dv EDIT
モードを有効(無効)にします。
.Dv LINEMODE
オプションが有効になっている必要があります。
.It Ic softtabs Pq Ic \-softtabs
.Dv LINEMODE
オプションの
.Dv SOFT_TAB
モードを有効(無効)にします。
.Dv LINEMODE
オプションが有効になっている必要があります。
.It Ic litecho Pq Ic \-litecho
.Dv LINEMODE
オプションの
.Dv LIT_ECHO
モードを有効(無効)にします。
.Dv LINEMODE
オプションが有効になっている必要があります。
.It Ic \&?
.Ic mode
コマンドのヘルプメッセージを表示します。
.El
.It Xo
.Ic open Ar host
.Op Fl l Ar user
.Oo Op Fl
.Ar port Oc
.Xc
指定されたホストとの間で、コネクションを開設します。
ポート番号が指定されない場合は、
.Nm
は、デフォルトのポート番号を用いて、指定されたホストの
.Tn TELNET
サーバとの接続を試みます。
ホストの指定については、ホスト名(
.Xr hosts 5
を参照して下さい)もしくは、
ドット表記のIPアドレス(
.Xr inet 3
を参照して下さい)で指定します。
.Fl l
オプションは
.Ev ENVIRON
オプションによってリモートシステムに渡されるユーザ名を指定するのに
使われます。
標準でないポートにつなげた時は
.Nm
は全ての
.Tn TELNET
オプションの自動初期化を省略します。
マイナス記号の後にポート番号が指定されている場合は、
初期オプション交渉 (initial option negotiation) が行なわれます。
接続した後、ホームディレクトリの
.Pa \&.telnetrc
ファイルが読み込まれます。
# で始まる行はコメントです。
空行は無視されます。
空白以外で始まっている行は
マシンエントリの始まりです。
最初の項目は接続しているマシンの名前です。
その後の項目、およびそれに続く空白で始まっている
行は
.Nm
コマンドであるとみなされ、
.Nm
コマンドプロンプトでそのコマンドを入力した場合と
同じように処理されます。
.It Ic quit
.Tn TELNET
セッションをただちに切断し、
.Nm
を終了します。
コマンドモードにおいて、 EOF を入力した場合も同様です。
.It Ic send Ar arguments
1つ以上の特殊文字シーケンスをリモートホストに送信します。
以下は指定可能な引数です
(1度に複数の引数を指定できます)。
.Pp
.Bl -tag -width escape
.It Ic abort
.Dv TELNET ABORT
(Abort
processes)
シーケンスを送ります。
.It Ic ao
.Dv TELNET AO
(Abort Output)
シーケンスを送ります。
これはリモートシステム
.Em に
端末
.Em へ
全ての出力をフラッシュさせます。
.It Ic ayt
.Dv TELNET AYT
(Are You There)
シーケンスを送ります。
リモートシステムはそれに応答するかしないかを選択できます。
.It Ic brk
.Dv TELNET BRK
(Break)
シーケンスを送ります。
リモートシステムにとって
重要な意味があるかもしれません。
.It Ic ec
.Dv TELNET EC
(Erase Character)
シーケンスを送ります。
これはリモートシステムに最後に入力された文字を
消去させます。
.It Ic el
.Dv TELNET EL
(Erase Line)
シーケンスを送ります。
これはリモートシステムに現在入力中の行を
消去させます。
.It Ic eof
.Dv TELNET EOF
(End Of File)
シーケンスを送ります。
.It Ic eor
.Dv TELNET EOR
(End of Record)
シーケンスを送ります。
.It Ic escape
現在の
.Nm
エスケープ文字を送ります
(初期値は \*(Lq^\*(Rq です)。
.It Ic ga
.Dv TELNET GA
(Go Ahead) シーケンスを送ります。
おそらくリモートシステムにとってたいした意味は無いでしょう。
.It Ic getstatus
リモートシステムが
.Dv TELNET STATUS
コマンドをサポートしていれば、
.Ic getstatus
はサーバに現在のオプションステータスを送るように要求します。
.It Ic ip
.Dv TELNET IP
(Interrupt Process)
シーケンスを送ります。
これはリモートシステムに現在実行中のプロセスを
中断させます。
.It Ic nop
.Dv TELNET NOP
(No OPeration)
シーケンスを送ります。
.It Ic susp
.Dv TELNET SUSP
(SUSPend process)
シーケンスを送ります。
.It Ic synch
.Dv TELNET SYNCH
シーケンスを送ります。
このシーケンスはリモートシステムに、
それまでに送られた(しかしまだ読み込まれていない)入力を
捨てさせます。
このシーケンスは
.Tn TCP
緊急データとして送られます
(しかしリモートシステムが
.Bx 4.2
の場合、効かないかも知れません。
もし効かなかった場合は端末に \*(Lqr\*(Rq が返される場合があります)。
.It Ic do Ar cmd
.It Ic dont Ar cmd
.It Ic will Ar cmd
.It Ic wont Ar cmd
.Dv TELNET DO
.Ar cmd
シーケンスを送ります。
.Ar cmd
は 0 から 255 までの十進数か、
特定の
.Dv TELNET
コマンドに対するシンボル名です。
.Ar cmd
として
既知のシンボル名のリストを含むヘルプメッセージを表示する
.Ic help
または
.Ic \&?
を指定可能です。
.It Ic \&?
.Ic send
コマンドのヘルプメッセージを表示します。
.El
.It Ic set Ar argument value
.It Ic unset Ar argument value
.Ic set
コマンドは、指定した
.Nm
変数の1つを、特定の値を設定するか、
.Dv TRUE
にします。
特別な値
.Ic off
は、変数に関連する機能を無効にします。これは、
.Ic unset
コマンドと同じです。
.Ic unset
コマンドは、指定された機能を無効にするか、
.Dv FALSE
に設定します。
変数の値は
.Ic display
コマンドによって調べることができます。
トグルでなく設定、無効にされる変数を以下に示します。
また
.Ic toggle
コマンドに対する変数は
.Ic set
および
.Ic unset
コマンドによって明示的に
設定および無効にすることができます。
.Bl -tag -width escape
.It Ic ayt
.Tn TELNET
がローカル文字モードになっているか、
あるいは
.Dv LINEMODE
が有効になっていて、
ステータス文字が入力された場合、
.Dv TELNET AYT
シーケンス(前述の
.Ic send ayt
参照)
がリモートホストに送られます。\*(LqAre You There\*(Rq 文字の初期値は
ターミナルステータス文字です。
.It Ic echo
これは
\*(Lqline by line\*(Rq モード時に
入力された文字をローカルに表示する(通常処理)か
しないか(たとえばパスワード入力時)を
切替えるのに使われる値(初期値は \*(Lq^E\*(Rq )です。
.It Ic eof
.Nm
.Dv LINEMODE
あるいは
\*(Lqold line by line\*(Rq モードで動作していれば、
行の最初の文字としてこの文字を入力すると、
この文字をリモートシステムに送ります。
初期値として、端末の
.Ic eof
文字が使われます。
.It Ic erase
.Nm
.Ic localchars
モード(後述の
.Ic toggle
.Ic localchars
を参照)
になっていて、
.Sy そして
\*(Lqcharacter at a time\*(Rq モードで動作していれば、
この文字が入力された時に
.Dv TELNET EC
シーケンス(前述の
.Ic send
.Ic ec
を参照)が
リモートシステムに送られます。
初期値として、端末の
.Ic erase
文字が使われます。
.It Ic escape
これは
(リモートシステムと接続している時に)
.Nm
コマンドモードに入る
.Nm
エスケープ文字(初期値 \*(Lq^[\*(Rq) です。
.It Ic flushoutput
.Nm
.Ic localchars
モード(後述の
.Ic toggle
.Ic localchars
を参照)
になっていて、
.Ic flushoutput
文字が入力された時に
.Dv TELNET AO
シーケンス(前述の
.Ic send
.Ic ao
を参照)が
リモートシステムに送られます。
初期値として、端末の
.Ic flush
文字が使われます。
.It Ic forw1
.It Ic forw2
.Nm
.Dv LINEMODE
で動作している時に
この文字が入力されると
行の一部がリモートシステムに送られます。
初期値として、端末の eol および eol2 文字が
使われます。
.It Ic interrupt
.Nm
.Ic localchars
モード(後述の
.Ic toggle
.Ic localchars
を参照)
になっている時に、
.Ic interrupt
文字が入力されると
.Dv TELNET IP
シーケンス(前述の
.Ic send
.Ic ip
を参照)が
リモートホストに送られます。
初期値として、端末の
.Ic intr
文字が使われます。
.It Ic kill
.Nm
.Ic localchars
モード(後述の
.Ic toggle
.Ic localchars
を参照)
になっていて、
.Ic そして
\*(Lqcharacter at a time\*(Rq
モードで動作していれば、この文字が入力された時に
.Dv TELNET EL
シーケンス(前述の
.Ic send
.Ic el
を参照)がリモートシステムに送られます。
初期値として、端末の
.Ic kill
文字が使われます。
.It Ic lnext
.Nm
.Dv LINEMODE
\*(Lqold line by line\*(Rq モードで動作している時に、端末の
.Ic lnext
文字がこの文字として使われます。
初期値として、端末の
.Ic lnext
文字が使われます。
.It Ic quit
.Nm
.Ic localchars
モード(後述の
.Ic toggle
.Ic localchars
を参照)
になっていて、
.Ic quit
文字が入力されると、
.Dv TELNET BRK
シーケンス(前述の
.Ic send
.Ic brk
を参照)が
リモートホストに送られます。
初期値として、端末の
.Ic quit
文字が使われます。
.It Ic reprint
.Nm
.Dv LINEMODE
あるいは
\*(Lqold line by line\*(Rq モードで動作している時に、端末の
.Ic reprint
文字がこの文字として使われます。
初期値として、端末の
.Ic reprint
文字が使われます。
.It Ic rlogin
これは rlogin エスケープ文字です。
もし設定されていれば、行の最初でこの文字が入力されている場合を除き、
通常の
.Nm
エスケープ文字は無視されます。
行の最初でこの文字に続けて "." が入力された場合、
接続が切れます。
続けて ^Z が入力された場合、
.Nm
コマンドが中断されます。
初期状態では
.Nm rlogin
エスケープ文字は
無効になっています。
.It Ic start
もし
.Dv TELNET TOGGLE-FLOW-CONTROL
オプションが有効になっていれば、端末の
.Ic start
文字としてこの文字が使われます。
初期値として、端末の
.Ic start
文字が使われます。
.It Ic stop
もし
.Dv TELNET TOGGLE-FLOW-CONTROL
オプションが有効になっていれば
端末の
.Ic stop
文字がこの文字として使われます。
初期値として、端末の
.Ic stop
文字が使われます。
.It Ic susp
.Nm
.Ic localchars
モードになっているか、
.Dv LINEMODE
が有効になっている場合に
.Ic suspend
文字が入力されると、
.Dv TELNET SUSP
シーケンス(前述の
.Ic send
.Ic susp
を参照)が
リモートホストに送られます。
初期値として、端末の
.Ic suspend
文字が使われます。
.It Ic tracefile
これは
.Ic netdata
あるいは
.Ic option
によって
トレースが
.Dv TRUE
になっている場合に、出力が書き出されるファイルです。
もし
.Dq Fl
に設定されていれば、
トレース情報は標準出力(デフォルト)に書き出されます。
.It Ic worderase
.Nm
.Dv LINEMODE
\*(Lqold line by line\*(Rq モードで動作している時に、端末の
.Ic worderase
文字がこの文字として使われます。
初期値として、端末の
.Ic worderase
文字が使われます。
.It Ic \&?
.Ic set
.Pq Ic unset
コマンドのヘルプメッセージを表示します。
.El
.It Ic slc Ar state
.Ic slc
(Set Local Characters) コマンドは、
.Dv TELNET LINEMODE
オプションが有効な時に働く特殊文字を設定したり変更したりします。
特殊文字は(
.Ic ip
.Ic quit
のような)
.Tn TELNET
コマンドシーケンスや、(
.Ic erase
.Ic kill
のような)
ラインエディット文字に割り付けられます。
特殊文字はデフォルトで環境に取り込まれます。
.Bl -tag -width Fl
.It Ic check
現在の特殊文字の設定を確認します。
現在の全ての特殊文字の設定を送るように
リモートに要求を送り、
もしローカルな設定と違いがあれば、
ローカルな設定をリモートの値にします。
.It Ic export
ローカルの特殊文字のデフォルトを変えます。
ローカルの特殊文字のデフォルトは
.Nm
を起動した時の端末の特殊文字です。
.It Ic import
リモートの特殊文字のデフォルトを変えます。
リモートの特殊文字のデフォルトは
.Tn TELNET
接続が確立した時のリモートの特殊文字です。
.It Ic \&?
.Ic slc
コマンドのヘルプメッセージを表示します。
.El
.It Ic status
.Nm
の現在のステータスを表示します。
これには現在のモードと同じくらい接続先のモードについての状態が含まれています。
.It Ic toggle Ar arguments ...
.Nm
の動作を制御するさまざまな変数の値(
.Dv TRUE
.Dv FALSE
) を切替えます。
この変数は前述の
.Ic set
.Ic unset
を使って明示的に
.Dv TRUE
または
.Dv FALSE
に設定できます。複数の引数を指定可能です。
これらの変数の値は
.Ic display
コマンドによって調べることができます。
有効な引数の値は以下の通りです。
.Bl -tag -width Ar
.It Ic authdebug
認証コードに対するデバッグ情報を有効にする。
.It Ic autoflush
.Ic autoflush
.Ic localchars
が両方とも
.Dv TRUE
で、
.Ic ao
または
.Ic quit
文字が設定されている(そして
.Tn TELNET
シーケンスに変換されている;
詳細は前述の
.Ic set
を参照)場合、
リモートシステムが(
.Dv TELNET TIMING MARK
によって)
それらの
.Tn TELNET
シーケンスを処理したと認められるまで、
.Nm
がどんなデータも端末に表示しないようにします。
初期値は、端末で "stty noflsh" を実行していなければ
.Dv TRUE
、 していれば
.Dv FALSE
です(
.Xr stty 1
参照)。
.It Ic autodecrypt
.Dv TELNET ENCRYPT
オプションが交渉 (negotiate) されている時、デフォルトでは
データの暗号(復号)化は自動的には始まりません。
autoencrypt (autodecrypt) コマンドは
出力 (入力) の暗号化ができるだけ早く有効になるようにします。
.Pp
注意: 輸出規制の関係上、
.Dv TELNET ENCRYPT
オプションは、米国およびカナダ以外の国ではサポートされません。
.It Ic autologin
もしリモートで
.Dv TELNET AUTHENTICATION
オプションがサポートされている場合、
.Nm
は自動認証を行うために、それを使おうとします。
.Dv AUTHENTICATION
オプションがサポートされていない場合、
ログイン名は
.Dv TELNET ENVIRON
オプションを使用して伝えられます。
このコマンドは
.Ic open
コマンドで
.Fl a
オプションが指定された場合と同じです。
.It Ic autosynch
.Ic autosynch
.Ic localchars
が両方とも
.Dv TRUE
になっている時に
.Ic intr
または
.Ic quit
文字が入力されると(
.Ic intr
および
.Ic quit
文字の詳細は前述の
.Ic set
を参照)、
.Tn TELNET
シーケンスが送られた結果は
.Dv TELNET SYNCH
に従います。
これは、リモートシステムに、
両方の
.Tn TELNET
シーケンスが読み込まれて作用するまで、
それまでの全ての入力を捨てさせる
.Ic べき
です。
初期値は
.Dv FALSE
です。
.It Ic binary
入力と出力の両方に対して、
.Dv TELNET BINARY
オプションを有効または無効にします。
.It Ic inbinary
入力に対する
.Dv TELNET BINARY
オプションを有効または無効にします。
.It Ic outbinary
出力に対する
.Dv TELNET BINARY
オプションを有効または無効にします。
.It Ic crlf
もし
.Dv TRUE
なら、キャリッジリターンが
.Li <CR><LF>
として送られます。
.Dv FALSE
なら
.Li <CR><NUL>
として送られます。
初期値は
.Dv FALSE
です。
.It Ic crmod
キャリッジリターンモードを切替えます。
このモードが有効なら
リモートホストから受けとられたほとんどのキャリッジリターンは
キャリッジリターンとラインフィードに割り当てられます。
このモードはこれらの文字が入力された時には作用せず、
受けとらえた時にだけ作用します。
このモードはリモートホストがキャリッジリターンだけを送らなければ、
ラインフィードしないので、必ず役に立つというわけではありません。
初期値は
.Dv FALSE
です。
.It Ic debug
ソケットレベルデバッグ(
.Ic スーパユーザ
にのみ役立つ) を切替えます。
初期値は
.Dv FALSE
です。
.It Ic encdebug
暗号化コードに対するデバッグ情報を有効にする。
.It Ic localchars
もし
.Dv TRUE
ならば、
.Ic flush ,
.Ic interrupt ,
.Ic quit ,
.Ic erase ,
そして
.Ic kill
文字(前述の
.Ic set
参照)はローカルに認識され、(うまくいけば)適当な
.Tn TELNET
コントロールシーケンス(それぞれ
.Ic ao ,
.Ic ip ,
.Ic brk ,
.Ic ec ,
および
.Ic el ;
前述の
.Ic send
参照)に変換されます。
初期値は
\*(Lqold line by line\*(Rq モードでは
.Dv TRUE
\*(Lqcharacter at a time\*(Rq モードでは
.Dv FALSE
です。
.Dv LINEMODE
オプションが有効の時は、
.Ic localchars
の値は無視されて、常に
.Dv TRUE
になります。
もし
.Dv LINEMODE
が有効になったことがあれば、
.Ic quit
.Ic abort
として送られ、
.Ic eof and
.Ic suspend
.Ic eof and
.Ic susp
として送られます
(前述の
.Ic send
参照)。
.It Ic netdata
(16進フォーマットによる)全てのネットワークデータの表示を切替えます。
初期値は
.Dv FALSE
です。
.It Ic options
(
.Tn TELNET
オプションを処理する時の) 内部の
.Nm
プロトコルの処理の表示を切替えます。
初期値は
.Dv FALSE
です。
.It Ic prettydump
.Ic netdata
が有効になっている時、
.Ic prettydump
が有効になっていれば、
.Ic netdata
コマンドの出力を、より見やすいフォーマットにします。
出力の各文字の間にはスペースがはさまれ、
.Nm
エスケープシーケンスの前には、
探しやすいように '*' が置かれます。
.It Ic skiprc
skiprc が
.Dv TRUE
になっていると、
.Nm
はコネクションが開設される時に
ホームディレクトリから
.Pa \&.telnetrc
を読まないようにします。
初期値は
.Dv FALSE
です。
.It Ic termdata
(16進フォーマットによる)全ての端末データの表示を切替えます。
初期値は
.Dv FALSE
です。
.It Ic verbose_encrypt
.Ic verbose_encrypt
.Dv TRUE
になっていると、
.Nm
はメッセージを表示するたびに暗号化が有効か無効かを表示します。
初期値は
.Dv FALSE
です。
注意: 輸出規制の関係上、
データの暗号化は、米国およびカナダ以外の国ではサポートされません。
.It Ic \&?
.Ic toggle
コマンドのヘルプメッセージを表示します。
.El
.It Ic z
.Nm
コマンドをサスペンドします。このコマンドは、ユーザが
.Xr csh 1
を使用している時にのみ使用可能です。
.It Ic \&! Op Ar command
ローカルシステムのサブシェルで、コマンドを1つ実行できます。
.Ar command
が指定されなかった場合、サブシェルが対話モードで起動されます。
.It Ic \&? Op Ar command
ヘルプメッセージを表示します。
引数が指定されなかった場合、
.Nm
はコマンド一覧を表示します。
.Ar command
が指定された場合、
.Nm
はそのコマンドのヘルプメッセージを表示します。
.El
.Sh 環境変数
.Nm
は、少なくとも
.Ev HOME ,
.Ev SHELL ,
.Ev DISPLAY ,
および
.Ev TERM
環境変数を用います。
他の環境変数は、
.Dv TELNET ENVIRON
オプションによりリモートホストに送られます。
.Sh 関連項目
.Xr rlogin 1 ,
.Xr rsh 1 ,
.Xr hosts 5 ,
.Xr nologin 5 ,
.Xr telnetd 8
.Sh 関連ファイル
.Bl -tag -width ~/.telnetrc -compact
.It Pa ~/.telnetrc
ユーザカスタマイズ可能なtelnet初期設定ファイル
.El
.Sh 歴史
.Nm
コマンドは、
.Bx 4.2
ではじめて実装されました。
.Sh 注意
リモートシステムの中には、\*(Lqold line by line\*(Rq モードで
手動でエコーバックを切り替えなければならない場合があります。
.Pp
\*(Lqold line by line\*(Rq モードもしくは
.Dv LINEMODE
では、端末の
.Ic eof
文字は、
それが行の先頭にある時だけ
認識され(リモートシステムに送られ)ます。
diff --git a/ja/man/man1/test.1 b/ja/man/man1/test.1
index 8fd8cfbc98..6968448942 100644
--- a/ja/man/man1/test.1
+++ b/ja/man/man1/test.1
@@ -1,220 +1,220 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)test.1 8.1 (Berkeley) 5/31/93
-.\" %Id: test.1,v 1.2.8.2 1998/07/16 09:35:53 jkh Exp %
+.\" %Id: test.1,v 1.6 1998/05/18 06:51:56 charnier Exp %
.\" jpman %Id: test.1,v 1.2 1997/03/31 03:43:49 ryo2 Stab %
.\"
.Dd May 31, 1993
.Dt TEST 1
.Os
.Sh 名称
.Nm test
.Nd 条件式を評価する
.Sh 書式
.Nm test
.Ar expression
.Sh 解説
.Nm
ユーティリティは、式を評価し、結果が真なら 0 (true)を、
偽なら 1 (false) を戻り値として返します。引数の式がない
場合も 1 (false) を返します。
.Pp
演算子やフラグなどは、一つ一つ独立な引数として
.Nm
ユーティリティに渡します。
.Pp
式は以下の基本要素から構成されます:
.Bl -tag -width indent
.It Fl b Ar file
.Ar file
が存在し、それがブロック特殊ファイルであるならば真になります。
.It Fl c Ar file
.Ar file
が存在し、それがキャラクタ特殊ファイルであるならば真になります。
.It Fl d Ar file
.Ar file
が存在し、それがディレクトリであるならば真になります。
.It Fl e Ar file
.Ar file
が存在すれば真になります (ファイルの種類に依りません)。
.It Fl f Ar file
.Ar file
が存在し、それが通常ファイルであるならば真になります。
.It Fl g Ar file
.Ar file
が存在し、それに setgid (フラグが立っていれば真になります。
.It Fl h Ar file
.Ar file
が存在し、それがシンボリックリンクであるならば真になります。
.It Fl n Ar string
.Ar string
の長さが 0 でなければ真になります。
.It Fl p Ar file
.Ar file
が名前つきパイプ
.Po Tn FIFO Pc
であるならば真になります。
.It Fl r Ar file
.Ar file
が存在し、それが読み込み可能であれば真になります。
.It Fl s Ar file
.Ar file
が存在し、そのファイルサイズが 0 より大きければ真になります。
.It Fl t Ar [file_descriptor]
ファイルディスクリプタ番号が
.Ar file_descriptor
(デフォルトでは1) であるファイルがオープンされており、これが端末に
結びつけられていれば
真になります。
.It Fl u Ar file
.Ar file
が存在し、それに setuid フラグが立っていれば真になります。
.It Fl w Ar file
.Ar file
が存在し、書き込み可能であれば真になります。真ということは、
書き込み可能フラグが立っていることを表すに過ぎません。
ファイルが読み込み専用のファイルシステム上にあると、たとえ
この判定が真であっても書き込みはできません。
.It Fl x Ar file
.Ar file
が存在し、実行可能であれば真になります。真ということは、
実行可能フラグが立っていることを表すに過ぎません。
.Ar file
がディレクトリの場合、真は
.Ar file
が検索可能であることを表します。
.It Fl z Ar string
.Ar string
の長さが 0 であれば真になります。
.It Ar string
.Ar string
がナル文字列でなければ真になります。
.It Ar \&s\&1 Cm \&= Ar \&s\&2
文字列
.Ar \&s\&1
.Ar \&s\&2
が同一であれば真になります。
.It Ar \&s\&1 Cm \&!= Ar \&s\&2
文字列
.Ar \&s\&1
.Ar \&s\&2
が同一でなければ真になります。
.It Ar \&n\&1 Fl \&eq Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
が等しければ真になります。
.It Ar \&n\&1 Fl \&ne Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
が等しくなければ真になります。
.It Ar \&n\&1 Fl \&gt Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
がより大きければ真になります。
.It Ar \&n\&1 Fl \&ge Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
より大きいか等しければ真になります。
.It Ar \&n\&1 Fl \&lt Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
より小さければ真になります。
.It Ar \&n\&1 Fl \&le Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
より小さいか等しければ真になります。
.El
.Pp
これらの基本要素は以下の演算子と組み合わせることができます:
.Bl -tag -width Ar
.It Cm \&! Ar expression
.Ar expression
が偽ならば真になります。
.It Ar expression1 Fl a Ar expression2
.Ar expression1
.Ar expression2
の両方が真ならば真になります。
.It Ar expression1 Fl o Ar expression2
.Ar expression1
.Ar expression2
のどちらかが真ならば真になります。
.It Cm \&( Ns Ar expression Ns Cm \&)
.Ar expression
が真ならば真になります。
.El
.Pp
.Fl a
演算子は
.Fl o
演算子より優先されます。
.Sh 文法の曖昧性
.Nm
に使用されている文法は本質的に曖昧です。ある程度の一貫性を確保するため、
.St -p1003.2
の D11.2/4.62.4 節で述べられているケースに関しては、この標準化文書が
規定する規則に一貫して従った評価が行われます。しかしその他のケース
では、コマンドの持つ意味の曖昧さに左右されます。
.Sh 戻り値
.Nm
ユーティリティは次のいずれかの値を返します。
.Bl -tag -width Ds
.It 0
式を評価した結果が真である
.It 1
式を評価した結果が偽であるか、式がない
.It >1
エラーが発生した
.El
.Sh 標準
.Nm
の機能は、
.St -p1003.2
互換を想定しています。
diff --git a/ja/man/man1/time.1 b/ja/man/man1/time.1
index c11bcac695..a4b4023ccc 100644
--- a/ja/man/man1/time.1
+++ b/ja/man/man1/time.1
@@ -1,92 +1,102 @@
.\" 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.
.\"
.\" @(#)time.1 8.1 (Berkeley) 6/6/93
.\" jpman %Id: time.1,v 1.3 1997/07/27 12:00:02 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt TIME 1
.Os BSD 4
.Sh 名称
.Nm time
.Nd コマンドの実行時間の計測
.Sh 書式
.Nm
-.Op Fl l
+.Op Fl al
+.Op Fl o Ar file
.Ar command
.Sh 解説
.Nm
タイマーを初期化して、シェルに
.Ar command
を実行させ、処理に要した時間を計測します。
.Ar command
の実行を終えると、
標準エラー出力に
実行開始から実際に経過した時間、
システムのオーバヘッドに費された時間、
.Ar command
の実行に要した時間を秒単位で
出力します。
.Pp
使用可能なオプション:
.Bl -tag -width Ds
+.It Fl a
+.Fl o
+が使用されている場合、上書きするのではなく、指定されたファイルに追加します。
+.Fl o
+が使用されていない場合には、このオプションは効果ありません。
.It Fl l
デフォルトの出力に加え、
.Em rusage
構造体の内容を表示します。
+.It Fl o Ar file
+出力を標準エラー出力ではなく
+.Ar file
+に対して行います。
+.Ar file
+が存在し、
+.Fl a
+フラグが指定されなかった場合、ファイルは上書きされます。
.El
.Pp
.Xr csh 1
は独自の
.Nm
をビルトインコマンドとして実装しています。
シェルに
.Xr csh
を使用している場合、
ここで説明されている
.Nm
を実行するときは
.Pa /usr/bin/time
とタイプして下さい。
-.Sh バグ
-マイクロプロセッサで扱える時間の精度は低く、
-また、表示される時間には、実行時間の報告自体に要する時間も含まれます。
-この誤差は、秒単位にしては大きすぎます。
.Sh 関連項目
.Xr csh 1 ,
.Xr getrusage 2 ,
.Xr wait 2
.Sh 歴史
.Nm
.At v6
から登場しました。
diff --git a/ja/man/man1/top.1 b/ja/man/man1/top.1
index 2010490cf4..1614f82dba 100644
--- a/ja/man/man1/top.1
+++ b/ja/man/man1/top.1
@@ -1,381 +1,382 @@
.\" NOTE: changes to the manual page for "top" should be made in the
.\" file "top.X" and NOT in the file "top.1".
.\" jpman %Id: top.1,v 1.3 1997/08/19 03:06:41 h-nokubi Stab %
.nr N %topn%
.nr D %delay%
.TH TOP 1 Local
.UC 4
.SH 名称
top \- CPU プロセスの上位リストに関する情報を表示/更新する
.SH 書式
.B top
[
.B \-SbiInqut
] [
.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 5
.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
.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 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<swapped>\*(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 システムイメージ
.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 2.x 版
.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/man/man1/tput.1 b/ja/man/man1/tput.1
index 22dfe3daf1..9e07317df2 100644
--- a/ja/man/man1/tput.1
+++ b/ja/man/man1/tput.1
@@ -1,130 +1,130 @@
.\" 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.
.\"
.\" @(#)tput.1 8.2 (Berkeley) 3/19/94
-.\" %Id: tput.1,v 1.1.1.1.8.3 1998/03/08 14:04:57 jkh Exp %
+.\" %Id: tput.1,v 1.3 1997/04/27 08:45:46 jmg Exp %
.\" jpman %Id: tput.1,v 1.3 1997/08/11 14:35:00 horikawa Stab %
.\"
.Dd March 19, 1994
.Dt TPUT 1
.Os BSD 4.4
.Sh 名称
.Nm tput
.Nd 端末属性を利用するためのインタフェース
.Sh 書式
.Nm tput
.Op Fl T Ar term
.Ar attribute
.Sh 解説
.Nm
コマンドは、端末の属性情報を取り出して、ユーザやシェルアプリケーションから
利用できるようにします。
オプションは、次の通りです。
.Bl -tag -width Ds
.It Fl T
.Xr termcap
データベースの中の端末名 (
.Dq vt100
.Dq xterm
) を指定します。
端末名が指定されない場合には、環境変数
.Dq Ev TERM
の内容を参照します。
.El
.Pp
.Ar attribute
で指定する端末属性が文字列型の場合、
.Nm
コマンドはその文字列を出力します。
端末属性が整数型の場合、その数値を出力します。
どちらでもなければ
.Nm
は余分な動作をせずに、
端末が属性を持っているなら 0 、そうでないなら 1 を
終了コードにして終了します。
.Pp
.Ar attribute
が文字列型で引数を取る場合 (例えばカーソル移動 : termcap の
.Dq cm
シーケンス) には、引数は属性名 (attribute) のすぐ後ろから取られます。
.Pp
次の属性は、特別な意味を持っています。
.Bl -tag -width Ar
.It clear
画面をクリアします (
.Xr termcap
.Dq cl
シーケンス)
.It init
端末を初期化します (
.Xr termcap
.Dq is
シーケンス)
.It longname
ユーザの端末タイプの詳細名称を表示します。
.It reset
端末をリセットする (
.Xr termcap
.Dq rs
シーケンス)
.Sh 診断
.Nm
の終了コードは、最後に指定された属性 (attribute) によります。
属性が文字列型か整数型なら、
端末に属性が定義されていたら 0 、定義されていなければ 1 で終了します。
属性が論理型なら、
端末がこの属性を持っていたら 0 、持っていなければ 1 で終了します。
何かエラーが起きた場合、
.Nm
コマンドは 2 で終了します。
.Sh 関連項目
.Xr termcap 3 ,
.Xr termcap 5
.Sh バグ
.Nm
は属性毎の正しい型を知っているわけではありません。
.Pp
termcap エントリによっては
.Sq %
のみからなる
.Sq %
を持つことに依存しているものがあります。
現在、有効なタイプ宣言を持たないものに関しては警告を発っします。
これらの警告は標準エラー出力へと送られます。
.Sh 歴史
.Nm
コマンドは、
.Bx 4.4
から登場しました。
diff --git a/ja/man/man1/tty.1 b/ja/man/man1/tty.1
index bb0cfa11d4..37b08a2aba 100644
--- a/ja/man/man1/tty.1
+++ b/ja/man/man1/tty.1
@@ -1,78 +1,78 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)tty.1 8.1 (Berkeley) 6/6/93
-.\" %Id: tty.1,v 1.2.2.1 1997/08/20 07:22:28 charnier Exp %
+.\" %Id: tty.1,v 1.5 1997/08/18 07:30:14 charnier Exp %
.\" jpman %Id: tty.1,v 1.2 1997/03/29 11:52:12 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt TTY 1
.Os
.Sh 名称
.Nm tty
.Nd 端末名を返す
.Sh 書式
.Nm
.Op Fl s
.Sh 解説
.Nm
は、標準入力になっている端末の名前を標準出力へ出力します。この名前は、
.Xr ttyname 3
で得られる文字列です。標準入力が端末でない場合は、
``not a tty'' と出力します。
オプションとしては以下のものがあります。
.Bl -tag -width Ds
.It Fl s
端末名を表示しません。結果は終了コードだけに反映されます。ただし、この
オプションを使うよりは
.Dq Li "test -t 0"
コマンドを使ったほうがよりよいでしょう。
.El
.Pp
.Nm
は標準入力が端末だった場合は 0 を、端末でなかった場合
は 1 を、エラーが起きた場合は 2 以上の値を返します。
.Sh 関連項目
.Xr test 1 ,
.Xr ttyname 3
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2-92
準拠であると考えられています。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/uniq.1 b/ja/man/man1/uniq.1
index 9068d0e731..b7d8ffd57d 100644
--- a/ja/man/man1/uniq.1
+++ b/ja/man/man1/uniq.1
@@ -1,132 +1,132 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" From: @(#)uniq.1 8.1 (Berkeley) 6/6/93
-.\" %Id: uniq.1,v 1.1.1.1.8.2 1998/03/08 14:07:56 jkh Exp %
+.\" %Id: uniq.1,v 1.3 1997/09/07 15:09:22 joerg Exp %
.\" jpman %Id: uniq.1,v 1.2 1997/03/29 11:56:16 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt UNIQ 1
.Os
.Sh 名称
.Nm uniq
.Nd ファイル内の重複行の報告または、フィルタ出力
.Sh 書式
.Nm
.Op Fl c | Fl d | Fl u
.Op Fl i
.Op Fl f Ar fields
.Op Fl s Ar chars
.Oo
.Ar input_file
.Op Ar output_file
.Oc
.Sh 解説
.Nm
ユーティリティは、標準入力を読み込み、隣り合う行同士を比較し、
重複した行を取り除いて標準出力へ書き込みます。
隣り合った行が同じ内容だったら 2 行目以降を出力しません。
同じ内容でも行が隣り合っていない場合は比較の対象になりませんので、
まずファイルをソートする事が必要になるかもしれません。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width Ds
.It Fl c
各出力行の先頭に、行が入力中に続けて出現した回数を表示し、空白一つあけて
その行の内容を表示します。
.It Fl d
重複した行のみを出力します。
.It Fl f Ar fields
比較する時に、各入力行の先頭から
.Ar fields
個のフィールドを無視します。
フィールドとは、空白文字で区切られた、空白以外の文字からなる文字列です。
.Ar fields
を指定するときは、最初のフィールドを 1 として数えます。
.It Fl s Ar chars
比較する時に、各入力行の先頭から
.Ar chars
文字を無視します。
本オプションを
.Fl f
オプションと一緒に指定した場合は、
.Ar fields
個のフィールドに続く
.Ar chars
文字が無視されます。
.Ar chars
を指定するときは、最初の文字を 1 として数えます。
.It Fl u
入力の重複がなかった行のみを出力します。
.It Fl i
行の比較において大文字小文字を区別しません。
.\".It Fl Ns Ar n
.\"(Deprecated; replaced by
.\".Fl f ) .
.\"Ignore the first n
.\"fields on each input line when doing comparisons,
.\"where n is a number.
.\"A field is a string of non-blank
.\"characters separated from adjacent fields
.\"by blanks.
.\".It Cm \&\(pl Ns Ar n
.\"(Deprecated; replaced by
.\".Fl s ) .
.\"Ignore the first
.\".Ar m
.\"characters when doing comparisons, where
.\".Ar m
.\"is a
.\"number.
.El
.Pp
コマンドラインにさらに引数が指定されると、その最初の引数を入力ファイルの
名前として使用し、その次の引数を出力ファイルの名前として使用します。
.Pp
.Nm
ユーティリティは、成功した場合は 0 を、
エラーが発生した場合は 0 より大きな値を返します。
.Sh 互換性
古くからある
.Cm \&\(pl Ns Ar number
.Fl Ns Ar number
のオプションは時代遅れですが、この実装ではまだサポートしています。
.Sh 関連項目
.Xr sort 1
.Sh 規格
.Nm
ユーティリティは、
.St -p1003.2
互換であるはずです。
diff --git a/ja/man/man1/units.1 b/ja/man/man1/units.1
index f250a9432f..46e047bec9 100644
--- a/ja/man/man1/units.1
+++ b/ja/man/man1/units.1
@@ -1,160 +1,160 @@
-.\" %Id: units.1,v 1.2.2.3 1998/07/17 07:25:36 jkh Exp %
+.\" %Id: units.1,v 1.7 1998/03/23 07:46:50 charnier Exp %
.\" jpman %Id: units.1,v 1.3 1997/07/21 09:42:33 konuma Stab %
.Dd July 14, 1993
.Dt UNITS 1
.Os
.Sh 名称
.Nm units
.Nd いろいろな単位の換算を行う
.Sh 書式
.Nm
.Op Fl f Ar filename
.Op Fl qv
.Op Ar to-unit from-unit
.Sh まとめ
.Bl -tag -width indent
.It Fl f Ar filename
単位換算用のデータファイル名を指定します。
.It Fl q
求める単位の入力プロンプトと、
換算する単位の入力プロンプトの表示を抑制します。
.It Fl v
バージョン番号を表示します。
.It Ar from-unit to-unit
コマンドラインから直接、単位換算を行ないます。
プロンプトは表示せず、
指定した換算結果を表示し終了します。
.Sh 解説
.Nm
プログラムは様々な単位で表された量を他の単位に換算します。
乗算で求められる単位の換算のみ行なえますが、
摂氏から華氏への変換などはできません。
入力プロンプトを介して、対話的に動作します。
.Bd -literal
You have: meters
You want: feet
* 3.2808399
/ 0.3048
You have: cm^3
You want: gallons
* 0.00026417205
/ 3785.4118
You have: meters/s
You want: furlongs/fortnight
* 6012.8848
/ 0.00016630952
You have: 1|2 inch
You want: cm
* 1.27
/ 0.78740157
.Ed
.Pp
単位の中で累乗を表す部分は、上の例のように `^' を用いて表すか、
あるいは単に連結して表記します。例えば `cm3' は `cm^3' と等価です。
単位の掛け算を表すには、空白、ダッシュあるいはアスタリスクを用います。
単位の割り算には `/' を用います。
掛け算は割り算より高い優先度を持ちますから、
`m/s/s' は `m/s^2' あるいは `m/s s' と同じ意味になります。
数値の割り算には縦棒(`|')を用いなければなりません。
例えば 1 メートルの半分を変換するには、`1|2 meter' と書きます。
もし `1/2 meter' と書くと、
.Nm
はそれを `0.5/meter' と解釈します。
換算できない単位型を指定すると、
.Nm
はそれに対応していない旨の
メッセージを表示し、各単位の簡略形を示します。
.Bd -literal
You have: ergs/hour
You want: fathoms kg^2 / day
conformability error
2.7777778e-11 kg m^2 / sec^3
2.1166667e-05 kg^2 m / sec
.Ed
.Pp
換算に必要な情報は、換算用データベースファイルから読み込まれます。
デフォルトのファイルには、よく用いられる単位のほとんど、
省略形、メートル法の接頭語、などの定義が含まれています。
以下のような自然定数もいくつか含まれています:
.Pp
.Bl -inset -offset indent -compact
.It pi 円周率
.It c 光速
.It e 電子の電荷
.It g 重力加速度
.It force g と同じ
.It mole アボガドロ数
.It water 単位水柱の圧力
.It mercury 単位水銀柱の圧力
.It au 天文単位
.El
.Pp
`pound' (ポンド) は質量の単位です。
複合した単位名は連結して記述します。
`poundforce' は力の単位です。
`ounce' (オンス) もまた質量の単位です。
液体のオンスは `floz' です。
英米で同じ単位の値が異なる場合、英国式単位の前に `br' を付けます。
通貨単位の場合には `belgiumfranc' や `britainpound' のように頭に国名を付けて区
別します。
単位を探す際に指定された文字列そのものが単位名として見つからない場合、
.Nm
は末尾の `s' や `es' を取り除いて再度チェックします。
.Pp
どのような単位が利用可能か、については、標準の単位ファイルを参照して
下さい。
独自の単位を追加したいなら、独自のファイルを指定できます。
単位の指定は、1 行に名前とそれに相当する量を書きます。
新しい単位は古い単位に基づいて定義し、
単位を変換していくと `!' 印を付した原始単位にたどりつく
ように注意してください。
不注意で単位定義に無限ループがあっても
.Nm
はそれを検知しません。
単位定義ファイル中において `/' で始まる行はコメントです。
.Pp
接頭語の定義も標準的な単位と同形式で行ないますが、
接頭語名の末尾にダッシュをつけます。
末尾の `s' や `es' を取り除いても、単位名として見つからない場合は、
接頭語かどうかがチェックされ、
接頭語を取り除くと有効な基本単位名となるかを調べます。
.Pp
基本的な単位を定義する簡単な単位ファイルの例を以下に示します。
.Pp
.Bl -inset -offset indent -compact
.It m !a!
.It sec !b!
.It micro- 1e-6
.It minute 60 sec
.It hour 60 min
.It inch 0.0254 m
.It ft 12 inches
.It mile 5280 ft
.El
.Sh バグ
.Pp
接頭語に `/' が含まれるとびっくりする結果を生みます。
.Pp
ユーザが入力する累乗部分は 1 桁でなければなりません。
必要なら何度か掛け合わせて下さい。
.Pp
数の除算には `|' を用い、シンボルの除算には `/' を用いなければなりませんが、
このような区別は不要にすべきです。
.Pp
このプログラムは、換算した表示桁数の制限がばらばらですし、
データファイルの長さにも制限があります。
.Pp
単位を格納するのにハッシュ表を用い、
単位表のロードと重複チェックの時間を軽減すべきです。
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/units.lib -compact
.It Pa /usr/share/misc/units.lib
標準単位ライブラリ
.El
.Sh 作者
.An Adrian Mariano Aq adrian@cam.cornell.edu
diff --git a/ja/man/man1/uucp.1 b/ja/man/man1/uucp.1
index 0e5019e19f..4bdd590c65 100644
--- a/ja/man/man1/uucp.1
+++ b/ja/man/man1/uucp.1
@@ -1,218 +1,218 @@
-''' %Id: uucp.1,v 1.4 1995/08/19 21:30:08 ache Exp %
+''' %Id: uucp.1,v 1.6 1997/02/22 15:28:40 peter Exp %
.\" jpman %Id: uucp.1,v 1.3 1997/08/19 00:44:58 h-nokubi Stab %
.TH uucp 1 "Taylor UUCP 1.06"
.SH 名称
uucp \- Unix 間のコピー
.SH 書式
.B uucp
[ options ] source-file destination-file
.PP
.B uucp
[ options ] source-file... destination-directory
.SH 解説
.I uucp
コマンドはシステム間でのファイルのコピーを行います。各
.I file
引数は、ローカルマシンのパス名か、
.IP
system!path
.LP
の形式のリモートシステムのファイル名のどちらかになります。
第一の書式では、最初のファイルの内容が二番目のファイルにコピーされます。
第二の書式では、全てのソースファイルが宛先ディレクトリにコピーされます。
.I system1
経由で
.I system2
へ、あるいは、
.I system1
経由で
.I system2
から転送されるファイルは、
.IP
system1!system2!path
.LP
という形で表す事ができます。
.B \-W
あるいは
.B \--noexpand
オプションがなければ、/ あるいは ~ で始まらないパス名はその前に
カレントディレクトリのパス名が付けられます。
このパスはリモートシステムに存在している必要はありません。~ のみで始まる
パス名は UUCP パブリックディレクトリと解釈され、~name で始まる
パス名は name というユーザのホームディレクトリと
解釈されます。~ は、適切なシステムで解釈されます。ある種のシェルは、~ を
.I uucp
が解釈する前にローカルのホームディレクトリと解釈してしまいます。
これを避けるためには、~ をクォートしなければいけません。
シェルのメタキャラクタの ? * [ ] は、ローカルのシェルが解釈して
しまわない様にクォートされていれば、適切なシステムで解釈されます。
実際のコピーはすぐには実行されず、
.I uucico
(8) デーモンのキューに蓄積されます。
.B \-r
あるいは
.B \-\-nouucico
オプションがなければ、デーモンはすぐに実行されます。いずれの場合も、
次にリモートシステムが呼び出された時にファイルがコピーされます。
.SH オプション
以下のオプションが
.I uucp
で使用可能です。
.TP 5
.B \-c, \-\-nocopy
ローカルファイルをスプールディレクトリにコピーしません。
もし、
.I uucico
(8) デーモンにより実際のコピーを行う前に、そのローカルファイルが
消去されてしまった場合、コピーは失敗します。
ファイルは
.I uucico
(8) デーモンと
.I uucp
を起動したユーザの両者から read 可能でなければなりません。
.TP 5
.B \-C, \-\-copy
ローカルファイルをスプールディレクトリにコピーします。
デフォルトはこの設定です。
.TP 5
.B \-d, \-\-directories
コピーを行う際に、必要な全てのディレクトリを作成します。
デフォルトはこの設定です。
.TP 5
.B \-f, \-\-nodirectories
もし、宛先パスに必要なディレクトリが存在しなければコピーを中止します。
.TP 5
.B \-R, \-\-recursive
ソースファイルにひとつでもディレクトリが含まれていた場合、その中身を
再帰的に宛先にコピーします。宛先は、ディレクトリでなければいけません。
.TP 5
.B \-g grade, \-\-grade grade
ファイル転送の優先度を指定します。高い優先度を持つジョブが
先に実行されます。優先度は、高い方から 0 ... 9 A ... Z a ... z
となっています。
.TP 5
.B \-m, \-\-mail
.I mail
(1) を使用して、ファイル転送の完了あるいは失敗を通知します。
.TP 5
.B \-n user, \-\-notify user
.I mail
(1) を使用して、リモートシステムの指定されたユーザに
ファイル転送の完了あるいは失敗を通知します。
.TP 5
.B \-r, \-\-nouucico
.I uucico
(8) デーモンを即時実行しません。後で処理されるように単にファイル転送をキューに
貯めるだけです。
.TP 5
.B \-j, \-\-jobid
ジョブの id を標準出力に表示します。ジョブの id を
.I uustat
(1) コマンドの
.B \-k
スイッチとともに指定する事により、ジョブを取り消す事ができます。
複雑な操作をした場合、複数のジョブ id がそれぞれ独立の行として
表示される場合があります。例えば、
.br
.in +0.5i
.nf
uucp sys1!~user1/file1 sys2!~user2/file2 ~user3
.fi
.in -0.5i
を実行するとシステム
.I sys1
向けのジョブと、システム
.I sys2
向けのジョブの二つのジョブが発生します。
.TP 5
.B \-W, \-\-noexpand
リモートの相対ファイル名の前にカレントディレクトリを補完しません。
.TP 5
.B \-t, \-\-uuto
このオプションは
.I uuto
シェルスクリプトにより使用されます。このオプションがあると、
.I uucp
は、最後の引数を
.I system!user
と解釈します。
ファイルはリモートシステムの
.I ~/receive/USER/LOCAL
に送られます。ここで、
.I USER
は最後の引数の user で、
.I LOCAL
は、ローカルの UUCP システム名です。
更に、
.I uucp
.I \-\-notify user
オプションが指定されたとみなして動作します。
.TP 5
.B \-x type, \-\-debug type
特定のデバッグタイプを指定します。タイプとしては、
abnormal、chat、handshake、uucp-proto、proto、port、
config、spooldir、execute、incoming、outgoing があります。
.I uucp
では、
abnormal、config、spooldir および execute だけが意味を持ちます。
コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
.B \-\-debug
オプションは、1回のコマンド起動で複数回指定可能です。
また、タイプとして数字を指定することも可能で、前述のリストから
指定した数のデバッグタイプを有効にします。
例えば、
.B \-\-debug 2
は、
.B \-\-debug abnormal,chat
と同じ意味です。
.TP 5
.B \-I file, \-\-config file
使用する初期設定ファイルを指定します。
ただし、本オプションが使用可能かどうかは、
.I uucp
がどのようにコンパイルされたかによります。
.TP 5
.B \-v, \-\-version
バージョンを表示し、終了します。
.TP 5
.B \-\-help
ヘルプを表示し、終了します。
.SH 関連ファイル
関連ファイル名は、コンパイル時の指定ないしは初期設定ファイルにより
変化します。以下に挙げるものは、その一例です。
.br
/etc/uucp/config - 初期設定ファイル
.br
/var/spool/uucp -
UUCP スプールディレクトリ
.br
/var/spool/uucp/Log -
UUCP ログファイル
.br
/var/spool/uucppublic -
デフォルトの UUCP パブリックディレクトリ
.SH 関連項目
mail(1), uux(1), uustat(1), uucico(8)
.SH バグ
オプションのいくつかは、リモートシステムの
.I uucico
(8) デーモンによっては使用できません。
.I \-n
および
.I \-m
オプションは、ファイルをリモートシステムから別のリモートシステムへ
転送する場合は動作しません。
実行ビットを除いて、ファイルのモードは保存されません。転送されたファイルの
所有者は uucp ユーザになります。
.SH 作者
Ian Lance Taylor
<ian@airs.com>
diff --git a/ja/man/man1/uuencode.1 b/ja/man/man1/uuencode.1
index 655b4faa90..1807b42995 100644
--- a/ja/man/man1/uuencode.1
+++ b/ja/man/man1/uuencode.1
@@ -1,145 +1,145 @@
.\" 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.
.\"
.\" @(#)uuencode.1 8.1 (Berkeley) 6/6/93
-.\" %Id: uuencode.1,v 1.3.2.2 1998/03/08 14:29:22 jkh Exp %
+.\" %Id: uuencode.1,v 1.7 1998/01/25 19:26:05 wosch Exp %
.\" jpman %Id: uuencode.1,v 1.2 1997/03/29 11:57:08 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt UUENCODE 1
.Os BSD 4
.Sh 名称
.Nm uuencode ,
.Nm uudecode
.Nd バイナリファイルのエンコード、デコード
.Sh 書式
.Nm uuencode
.Op Ar file
.Ar name
.Nm uudecode
.Op Fl cips
.Op Ar
.Sh 解説
.Nm uuencode
および
.Nm uudecode
.Tn ASCII
データ以外のデータ転送をサポートしてない伝送路を用いてバイナリファイル
を送る場合に用いられます。
.Pp
.Nm uuencode
.Ar file
(無指定時には標準入力) よりデータを読み込み、符号化されたデータを標準
出力へ出力します。出力データには、
.Tn ASCII
キャラクタしか含まれません。また、このデータには、
.Nm uudecode
を用いて元のファイルを復元する時に必要となるファイルのモードと
.Ar name
が含まれます。
.Pp
.Nm uudecode
.Em uuencode
によって生成されたファイル (もしくは、標準入力からのデータ) を元の形式
に変換します。生成されるファイルは、
.Nm uudecode
時に指定された名前 (
.Ar name
) になり、ファイルモードなどは変換前のものが採用されま
すが、setuid ビットと実行ビットは引き継がれません。本プログラムは
.Nm uuencode
された部分の前および後ろにいかなる情報が付加されていようと、それらを無視して
.Nm uuencode
された部分にのみ処理をかけます。
.Pp
以下のオプションを
.Nm uudecode
で使用可能です:
.Bl -tag -width ident
.It Fl c
.Ar file
から、可能であるならば複数の uuencode されたファイルをデコードします。
.It Fl i
ファイルの上書きをしません。
.It Fl p
.Ar file
をデコードし、標準出力に出力します。
.It Fl s
出力パス名をベース名に縮めません。
セキュリティのために、デフォルトでは
.Nm uuencode
は最後のスラッシュ '/' より前のプレフィックスを除去します。
.Sh 使用例
ソースツリーを compress し、uuencode し、別のシステムにメールで送る例を
以下に示します。
.Nm uudecode
が転送される側のシステムで実行されると、
``src_tree.tar.Z'' が生成されます。
このファイルはその後 uncompress され、元のツリーが展開されるでしょう。
.Pp
.Bd -literal -offset indent -compact
tar cf \- src_tree \&| compress \&|
uuencode src_tree.tar.Z \&| mail sys1!sys2!user
.Ed
以下の例では、すべての uuencode されたファイルを、
あなたのメールボックスから現在の作業ディレクトリへ展開します。
.Pp
.Bd -literal -offset indent -compact
uudecode -c < $MAIL
.Ed
以下の例では、compress された tar アーカイブをあなたのメールボックスから
展開します。
.Pp
.Bd -literal -offset indent -compact
uudecode -p < $MAIL | zcat | tar xfv -
.Ed
.Sh 関連項目
.Xr basename 1 ,
.Xr compress 1 ,
.Xr mail 1 ,
.Xr uucp 1 ,
.Xr uuencode 5
.Sh バグ
符号化されたファイルの大きさは、元のファイルの大きさに比較して 35% ほ
ど大きくなります。これは、3byte のデータを 4byte + 制御符号に変換する
ためです。
.Sh 歴史
.Nm uuencode
および
.Nm uudecode
.Bx 4.0
から登場しました。
diff --git a/ja/man/man1/uulog.1 b/ja/man/man1/uulog.1
index e0b6368260..f80bc34525 100644
--- a/ja/man/man1/uulog.1
+++ b/ja/man/man1/uulog.1
@@ -1,86 +1,86 @@
-''' %Id: uulog.1,v 1.1.2.1 1998/03/16 15:11:49 hoek Exp %
+''' %Id: uulog.1,v 1.2 1998/03/16 15:07:50 hoek Exp %
.TH uulog 1 "Taylor UUCP 1.06"
.SH 名称
uulog \- UUCP のログの記述を表示する
.SH 書式
.B uulog
[-#] [-n lines] [-sf system] [-u user] [-DSF] [--lines lines]
[--system system] [--user user] [--debuglog] [--statslog]
[--follow] [--follow=system] [standard UUCP options]
.SH 解説
.B uulog
プログラムは UUCP ログファイル中の記述を表示するために使われます。特定の
システム、もしくは特定のユーザに関する記述を選択することができます。この
プログラムを使うことで、過去に処理行列に投入したジョブに何が起ったのかを
調べることができます。
.SH オプション
.B uulog
には次のオプションを与えることができます。
.TP 5
.B \-#, \-n lines, \-\-lines lines
ここで `#' は数字で、たとえば `-10' などと指定します。ログファイルの最後
から、指定された行数が表示されます。デフォルトではファイル全てを表示しま
す。`-f'、`-F' もしくは `--follow' オプションを指定した場合は例外で、こ
の場合にはデフォルトで 10 行表示します。
.TP 5
.B \-s system, \-\-system system
指定されたシステムに関係する記述のみを表示します。
.TP 5
.B \-u user, \-\-user user
指定されたユーザに関係する記述のみを表示します。
.TP 5
.B \-D, \-\-debuglog
デバッグログファイルを表示します。
.TP 5
.B \-S, \-\-statslog
統計ログファイルを表示します。
.B \-F, \-\-follow
オプションを指定するとログファイルを永遠に表示し続けます。ログファイルに
新しい行が追加されると、それを表示します。
.TP 5
.B \-f system, \-\-follow=system
ログファイルを永遠に表示し続けます。ただし、指定されたシステムに関する記
述のみを表示します。
.TP 5
.B \-X type
.TP 5
.B \-\-debug type
.TP 5
.B \-I file
.TP 5
.B \-\-config file
.TP 5
.B \-v, \-\-version
.TP 5
.B \-\-help
標準的な UUCP オプションです。
ただし
.B uulog
はデバッグ種別を指定するのに一般の `-x' ではなく `-X' を使うことに注意し
てください。
.PP
ある程度
.B uulog
の操作は UUCP プログラムによって生成されるログファイルの形式に依存します。
これはコンパイル時にオプションで指定されます。
UUCP プログラムが HDB 形式のログファイルを用いるようにコンパイルされてい
た場合
.BB uulog
は以下のように変更します。
.PP
新しいオプション `-x' と `--uuxqtlog' は
.B uuxqt
ログファイルを表示するのに使われます。
.PP
全てのオプションを省略することはできません。
`--system'、 `-f'、 `--follow=system'、 `-D'、 `--debuglog'、 `-S'、
`--statslog'、 `-x' もしくは `--uuxqtlog' のうち一つは用いられなければな
りません。
.PP
システムに関係なく全てのログファイルを表示するために `--system ANY' オプ
ションを用いることができます。
.SH 関連項目
uucp(1)
.SH 作者
Ian Lance Taylor (ian@airs.com)
このマニュアルは Taylor UUCP 1.06 texinfo ドキュメントに基づいています。
diff --git a/ja/man/man1/uustat.1 b/ja/man/man1/uustat.1
index 90b9e96521..170450cc66 100644
--- a/ja/man/man1/uustat.1
+++ b/ja/man/man1/uustat.1
@@ -1,555 +1,555 @@
-''' %Id: uustat.1,v 1.6 1996/02/02 00:26:06 mpp Exp %
+''' %Id: uustat.1,v 1.8 1997/02/22 15:28:49 peter Exp %
.\" jpman %Id: uustat.1,v 1.2 1997/03/29 11:58:00 horikawa Stab %
.TH uustat 1 "Taylor UUCP 1.06"
.SH 名称
uustat \- UUCP システム状態のチェックや制御を行なう
.SH 書式
.B uustat \-a
.PP
.B uustat \-\-all
.PP
.B uustat
[
.B \-eKRiMNQ ] [
.B \-sS
system ] [
.B \-uU
user ] [
.B \-cC
command ] [
.B \-oy
hours ] [
.B \-B
lines ] [
.B \-\-executions
] [
.B \-\-kill-all
] [
.B \-\-rejuvenate-all
] [
.B \-\-prompt
] [
.B \-\-mail
] [
.B \-\-notify
] [
.B \-\-no-list
] [
.B \-\-system
system ] [
.B \-\-not-system
system ] [
.B \-\-user
user ] [
.B \-\-not-user
user ] [
.B \-\-command
command ] [
.B \-\-not-command
command ] [
.B \-\-older-than
hours ] [
.B \-\-younger-than
hours ] [
.B \-\-mail-lines
lines ]
.PP
.B uustat
[
.B \-kr
jobid ] [
.B \-\-kill
jobid ] [
.B \-\-rejuvenate
jobid ]
.PP
.B uustat \-q [
.B \-sS
system ] [
.B \-oy
hours ] [
.B \-\-system
system ] [
.B \-\-not-system
system ] [
.B \-\-older-than
hours ] [
.B \-\-younger-than
hours ]
.PP
.B uustat \-\-list [
.B \-sS
system ] [
.B \-oy
hours ] [
.B \-\-system
system ] [
.B \-\-not-system
system ] [
.B \-\-older-than
hours ] [
.B \-\-younger-than
hours ]
.PP
.B uustat \-m
.PP
.B uustat \-\-status
.PP
.B uustat \-p
.PP
.B uustat \-\-ps
.SH 解説
.I uustat
コマンドは、UUCPシステムに関するいろんな情報を表示します。また、
本コマンドを用いることで、
.I uucp
(1) や
.I uux
(1)で作成されたジョブを取り消したり、ジョブのタイムスタンプの若返りを行なったりすることが
出来ます。
デフォルトでは、
.I uustat
は、コマンド
を起動したユーザが要求したジョブをすべて表示します。これは、
.B \-\-user
オプションで自分を指定した場合の動作と同じです。
.B \-a,
.B \-\-all,
.B \-e,
.B \-\-executions,
.B \-s,
.B \-\-system,
.B \-S,
.B \-\-not-system,
.B \-u,
.B \-\-user,
.B \-U,
.B \-\-not-user,
.B \-c,
.B \-\-command,
.B \-C,
.B \-\-not-command,
.B \-o,
.B \-\-older-than,
.B \-y,
.B \-\-younger-than
のいずれかのオプションが指定されると、指定条件の組合せに合致するすべてのジョブを
表示します。
.B \-K
または
.B \-\-kill-all
オプションは、要求してから7日間経過した全てのジョブのような、選択したグルー
プのジョブを削除出来ます。
.SH オプション
.I uustat
では、以下のオプションが使用可能です。
.TP 5
.B \-a, \-\-all
キューイングされたすべてのファイル転送要求を表示します。
.TP 5
.B \-e, \-\-executions
ファイル転送要求ではなく、
コマンド実行要求を表示します。キューイングされた
コマンド実行要求は、
.I uucico
(8) ではなく
.I uuxqt
(8) にて処理されます。
キューイング中のコマンド実行要求には、リモートシステムから転送される
ファイルを待っているものもあります。これらの要求は、
.I uux
(1)を起動することで作成されます。
.TP 5
.B \-s system, \-\-system system
指定したシステムに対するジョブをすべて表示します。本オプションは、
1回のコマンド起動時に複数指定することが可能です。
この場合、指定したシステムに対応するジョブが全て表示されます。
.B \-\-list
オプションと共に指定したときは、指定したシステムのジョブだけが表示されます。
.TP 5
.B \-S system, \-\-not-system system
指定したシステム向け以外のジョブをすべて表示します。本オプションは、
1回のコマンド起動時に複数指定することが可能です。
この場合、指定しなかったシステムのジョブが全て表示されます。
.B \-\-list
オプションと共に指定したときは、指定しなかったシステムのジョブだけが表示されます。
なお、本オプションは、
.B \-s
.B \-\-system
とは同時に指定してはいけません。
.TP 5
.B \-u user, \-\-user user
指定したユーザのジョブをすべて表示します。本オプションは、
1回のコマンド起動時に複数指定することが可能です。
この場合、指定したユーザのジョブが全て表示されます。
.TP 5
.B \-U user, \-\-not-user user
指定したユーザのジョブを除くジョブをすべて表示します。本オプションは、
1回のコマンド起動時に複数指定することが可能です。
この場合、指定しなかったユーザのジョブが全て表示されます。
なお、本オプションは、
.B \-u
.B \-\-user
とは同時に指定してはいけません。
.TP 5
.B \-c command, \-\-command command
指定したコマンドの実行を要求するジョブをすべて表示します。
.B command
.I ALL
と指定した場合、すべての(単なる
.I uucp
ファイル転送ではない)コマンドの実行を要求するジョブ
を表示します。本オプションは、1回のコマンド起動時に複数指定することが
可能です。
この場合、指定したコマンドの実行を要求するジョブが全て表示されます。
.TP 5
.B \-C command, \-\-not-command command
指定したコマンド以外の実行を要求するジョブをすべて表示します。
.B command
.I ALL
と指定した場合、
単なる
.I uucp
ファイル転送要求がすべて表示されます。
本オプションは、1回のコマンド起動時に複数指定することが
可能です。
この場合、指定したコマンドの実行を要求しないジョブが全て表示されます。
なお、本オプションは、
.B \-c
.B \-\-command
と同時に指定してはいけません。
.TP 5
.B \-o hours, \-\-older-than hours
キューイングされてから指定した時間(単位:時間)以上超過した
ジョブを全て表示します。
.B \-\-list
オプションと共に指定した場合は、
そのシステムに関するもっとも古いジョブが、指定した時間より
古いという条件を満たすシステムの名前だけを表示します。
.TP 5
.B \-y hours, \-\-younger-than hours
キューイングされてから経過した時間が指定した時間(単位:時間)を
超過していないジョブを全て表示します。
.B \-\-list
オプションと共に指定した場合は、
そのシステムに関するもっとも古いジョブが指定した時間より
新しいという条件を満たすシステムの名前だけを表示します。
.TP 5
.B \-k jobid, \-\-kill jobid
指定したジョブを削除します。jobidは、デフォルトの出力結果から取得可能
です。また、
.I uucp
(1) や
.I uux
(1)にて
.B \-j
.B \-\-jobid
オプションを付加して実行することで、当該ジョブのジョブidを取得する
ことも出来ます。
ジョブの削除を行なうことが出来るのは、ジョブを要求したユーザ、UUCP
システム管理者、もしくはスーパーユーザです。
.B \-k
.B \-\-kill
オプションは、1回のコマンド実行で複数回指定することが可能です。
.TP 5
.B \-r jobid, \-\-rejuvenate jobid
指定したジョブのジョブ時刻を、本コマンドを起動した時刻に変更します。
このことにより、
.B \-o,
.B \-\-older-than,
.B \-y,
.B \-\-younger-than
の各オプションの出力結果に影響が出ます。
このオプションの使用により、
クリーンアップデーモンにより削除されるのを免れることができます。
jobidは、デフォルトの出力結果から取得可能
です。また、
.I uucp
(1) や
.I uux
(1)にて
.B \-j
.B \-\-jobid
オプションを付加して実行することで、当該ジョブのジョブidを取得する
ことも出来ます。
本操作を行なうことが出来るのは、ジョブを要求したユーザ、UUCPシステム管
理者、もしくはスーパーユーザです。
.B \-r
.B \-\-rejuvenate
オプションは、1回のコマンド実行で複数回指定することが可能です。
.TP 5
.B \-q, \-\-list
要求がキューイングされている全てのリモートシステムに対する要求の
ステータス、そして対話のステータスを表示します。
.B \-s,
.B \-\-system,
.B \-S,
.B \-\-not-system,
.B \-o,
.B \-\-older-than,
.B \-y,
.B \-\-younger-than
の各オプションはシステムの表示を制限するために用います。要求がキューイングさ
れていないシステムは表示されません。
.TP 5
.B \-m, \-\-status
すべてのリモートシステムとの対話のステータスを表示します。
.TP 5
.B \-p, \-\-ps
UUCPロックまたはポートを保持するすべての処理のステータスを表示します。
.TP 5
.B \-i, \-\-prompt
各ジョブについて、削除するかどうかを問い合わせるよう指示します。その
問い合わせに対してユーザが
.I y
もしくは
.I Y
を先頭に含む文字列を入力した場合(y もしくは Y だけでも)、そのジョブ
は削除されます。
.TP 5
.B \-K, \-\-kill-all
各ジョブを自動的に削除します。本機能は、
.B \-\-mail
.B \-\-notify
オプションと組み合わせて使用することで、自動メンテナンスを行なう
スクリプトを作成するのに役立ちます。
.TP 5
.B \-R, \-\-rejuvenate-all
指定したジョブを自動的に若返らせます。本オプションは
.B \-\-kill-all
と同時に指定できません。
.TP 5
.B \-M, \-\-mail
各ジョブについて、UUCPシステム管理者に対してメールを送ります。もし
ジョブが(
.B \-\-kill-all
.B \-\-prompt
を用いることで)削除された場合、その旨がメールに明記されます。
.B \-\-comment
オプションで指定したコメントについても、そのメールの中に含まれます。
ジョブが実行された場合、標準入力から入力された最初の部分がメールの
メッセージに含まれます。
メールに含まれる行数は、
.B \-\-mail-lines
オプションで設定可能です(デフォルトでは100行です)。
標準入力からの入力データがNULLキャラクタを含む場合、そのファイルはバイナリ
ファイルであるとみなされ、メールには含まれません。
.TP 5
.B \-N, \-\-notify
各ジョブについて、要求を行なったユーザに対してメールを送ります。メール
の内容については、
.B \-M
.B \-\-mail
オプションで説明したものと同一です。
.TP 5
.B \-W comment, \-\-comment comment
.B \-M,
.B \-\-mail,
.B \-N,
.B \-\-notify
の各オプションでメールを送る際に、そのメールに含めるコメントを指定します。
.TP 5
.B \-B lines, \-\-mail-lines lines
.B \-M,
.B \-\-mail,
.B \-N,
.B \-\-notify
のいずれかのオプションで、
標準入力を用いるコマンドを実行するジョブの結果をメールで送るように
指定している場合、メールに含める標準入力の行数を指定します。
デフォルトは 100行です。
.TP 5
.B \-Q, \-\-no-list
.B \-i,
.B \-\-prompt,
.B \-K,
.B \-\-kill-all,
.B \-M,
.B \-\-mail,
.B \-N
.B \-\-notify
オプションと同時に使用します。ジョブの表示を行なわず、
指定した動作のみ行います。
.TP 5
.B \-x type, \-\-debug type
特定のデバッグタイプを指定します。タイプとしては、abnormal, chat,
handshake, uucp-proto, proto, port, config, spooldir, execute, incoming,
outgoing がありますが、
.I uustat
では、abnormal, config, spooldir ,execute のみが意味を持ちます。
本オプションでは、コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
.B \-\-debug
オプションは、1回のコマンド起動で複数回指定可能です。
また、タイプとして数字を指定することも可能です。例えば、
.B \-\-debug 2
という指定は、
.B \-\-debug abnormal,chat
と同じ意味です。
.TP 5
.B \-I file, \-\-config file
使用する設定ファイルの指定を行ないます。ただし、本
オプションは、本コマンドの
コンパイル条件によっては使用できないことがあります。
.TP 5
.B \-v, \-\-version
バージョン情報を表示します。実行は行ないません。
.TP 5
.B \-\-help
ヘルプメッセージを表示します。実行は行ないません。
.SH 使用例
.br
.nf
uustat --all
.fi
全てのジョブのステータスを表示します。出力例を以下に示します。
.br
.in +0.5i
.nf
bugsA027h bugs ian 04-01 13:50 Executing rmail ian@airs.com (sending 1283 bytes)
.fi
.in -0.5i
フォーマットは、以下の通りです。
.br
.in +0.5i
.nf
jobid system user queue-date command (size)
.fi
.in -0.5i
jobid は、
.B \-\-kill
もしくは
.B \-\-rejuvenate
オプションで主に使用します。
size は、リモートシステムにどれだけのデータが転送されるかを示します。
また、ファイル受信要求の場合は表示されません。
.B \-\-system,
.B \-\-not-system,
.B \-\-user,
.B \-\-not-user,
.B \-\-command,
.B \-\-not-command,
.B \-\-older-than,
.B \-\-younger-than
オプションは、ジョブの表示制御のために用いられます。
.br
.nf
uustat --executions
.fi
キューイングされたコマンド実行ジョブのステータスを表示します。出力
例を以下に示します。
.br
.in +0.5i
.nf
bugs bugs!ian 05-20 12:51 rmail ian
.fi
.in -0.5i
フォーマットは以下の通りです。
.br
.in +0.5i
.nf
system requestor queue-date command
.fi
.in -0.5i
.B \-\-system,
.B \-\-not-system,
.B \-\-user,
.B \-\-not-user,
.B \-\-command,
.B \-\-not-command,
.B \-\-older-than,
.B \-\-younger-than
オプションは、ジョブの表示制御のために用いられます。
.br
.nf
uustat --list
.fi
全てのシステムについてキューイングされたコマンドのステータスを表示します。以
下に出力例を示します。
.br
.in +0.5i
.nf
bugs 4C (1 hour) 0X (0 secs) 04-01 14:45 Dial failed
.fi
.in -0.5i
システム、キューイングされたコマンド数、
もっとも古いコマンドがキューイングされてからの時間、
キューイングされたローカル実行数と
もっとも古いコマンドがローカル実行キューイングされてからの時間、
最後の対話の日時とステータスが表示されています。
.br
.nf
uustat --status
.fi
全てのリモートシステムについて対話のステータスを表示します。出力例を以下に示
します。
.br
.in +0.5i
.nf
bugs 04-01 15:51 Conversation complete
.fi
.in -0.5i
システム、最後の対話の日時とステータスが示されています。最後の対話が失敗した
場合、
.I uustat
はシステムを呼び出そうとした回数を表示します。
次のリトライ間隔までシステムを呼び出せないときには
.I uustat
は次にコールできる時刻を表示します。
.br
.nf
uustat --ps
.fi
UUCPロックしている全てのプロセスのステータスを表示します。
.I uustat
は単にロックしている各プロセス上で
.I ps
(1) を起動するだけなので、出力書式はシステムにより異なります。
.br
.in +0.5i
.nf
uustat --command rmail --older-than 168 --kill-all --no-list --mail --notify --comment "Queued for over 1 week"
.fi
.in -0.5i
これは一週間(168 時間)以上配送待ちになっているキューイングされている全ての
.I rmail
コマンドの実行を取り止めます。各コマンドに対し、UUCP 管理者と rmail の実行を
要求したユーザの双方にメールが送られます。メールには
.B \-\-comment
オプションで指定した文字列が含まれています。
.B \-\-no-list
オプションはジョブの出力を端末に出力しません。このときプログラムから出力される
のはエラーメッセージだけです。
.SH 関連ファイル
関連ファイル名は、コンパイル時の指定により変化します。以下に挙げるものは、
一例です。
.br
/usr/lib/uucp/config - 初期化ファイル
.br
/usr/spool/uucp -
UUCP スプールディレクトリ
.SH 関連項目
ps(1), rmail(8), uucp(1), uux(1), uucico(8), uuxqt(8)
.SH 作者
Ian Lance Taylor
(ian@airs.com)
diff --git a/ja/man/man1/uux.1 b/ja/man/man1/uux.1
index 9bf6fd31e0..2c14c2bf6a 100644
--- a/ja/man/man1/uux.1
+++ b/ja/man/man1/uux.1
@@ -1,265 +1,265 @@
-''' %Id: uux.1,v 1.4 1995/08/19 21:30:25 ache Exp %
+''' %Id: uux.1,v 1.6 1997/02/22 15:28:53 peter Exp %
.\" jpman %Id: uux.1,v 1.2 1997/03/29 11:58:56 horikawa Stab %
.TH uux 1 "Taylor UUCP 1.06"
.SH 名称
uux \- UUCP を用いて、リモートマシン上でコマンドを実行する
.SH 書式
.B uux
[ options ] command
.SH 解説
リモートシステム上でコマンドを実行する時、
またはリモートシステム上のファイルを用いて、
ローカルシステム上でコマンドを実行する時に
.I uux
コマンドを用います。
コマンドは即座に実行される訳ではなく、
.I uucico
(8) デーモンがシステムを呼び出し、ジョブを実行するまではキューイングされます。
デーモンは、
.B \-r
または、
.B \-\-nouucico
オプションを指定して本コマンドを実行しない限り、自動的に呼び出されます。
実際のコマンド実行は、
.I uuxqt
(8) デーモンが行います。
引数に指定されたファイルは、リモートシステムから実際にコマンド実行を行う
システムに集めることができます。
標準入力についても同様です。標準出力は、
リモートシステム上のファイルに出力することができます。
リモートシステムでコマンドを実行する場合は、[システム名] ! の後に、
[コマンド名] を記述します。
システム名が空白の場合には、
ローカルシステム上でのコマンドの実行であるとみなされます。
"!" マークを含む引数は、ファイル名を示しているものとみなされます。
"!" マークの前にはファイルが存在するシステム名を、
後にはファイルへのパス名を記
述します。
システム名が空白の場合には、ローカルシステム上のファイルであるとされます。
この場合、コマンドの実行されるリモートシステムへファイル転送が発生します。
ファイル名が絶対パス名でない場合、
現在のローカルシステム上の作業ディレクトリ名がその前に付加されます。
この場合、リモートシステム上で無効なパスとなってしまうかも知れません。
また、パス名として ~/ が先頭に付加される場合、
これはUUCPパブリックディレクトリ(通常は/usr/spool/uucppublic)からの
相対パスであるとみなされます。一般的に、~name/ で始まるディレクトリは、
ユーザ name のホームディレクトリであるとして処理されます。
標準入出力は普通にリダイレクトされます。パス名の中に "!" を含む時は、
そのファイルがリモートシステム上にあるものとして扱われます。
リダイレクトキャラクタを引数の一部として扱う時には、
シェルに解釈されずに
.I uux
に渡すことが出来るようにクオートしなくてはなりません。また、追加書き込み
のリダイレクション (>>) は使用できません。
指定された全てのファイルは、
コマンド実行前に1つのディレクトリに集められます。
このため、各ファイルは異なるベースネームを持つ必要があります。
例えば
.br
.in +0.5i
.nf
uux 'sys1!diff sys2!~user1/foo sys3!~user2/foo >!foo.diff'
.fi
.in -0.5i
は、コマンド実行時に失敗します。なぜなら、sys2 の ~user1/foo と、sys3 の
~usr2/foo の両方のファイルを、
sys1 の同一の名前のファイル foo にコピーするためです。
括弧で囲むことで "!" が解釈されるのをエスケープできます。これは
.I uucp
コマンドをリモートシステム上で実行する際に有用です。
コマンド名なしで実行(例:
.I uux sys!)
すると、システム sys の記録ファイル (原文: poll file) を作ります。
.SH オプション
以下のオプションが
.I uux
で使用可能です。
.TP 5
.B \-, \-p, \-\-stdin
標準入力から読み込んで、それを実行するコマンドの標準入力の内容とします。
.TP 5
.B \-c, \-\-nocopy
ローカルファイルをスプールディレクトリにコピーしません。デフォルトはこの
設定です。もし、
.I uucico
(8) デーモン実行前にそのローカルファイルが消去されてしまった場合、コピー
は失敗します。ファイルは、
.I uucico
(8) デーモンと
.I uux
を起動したユーザの両者から read 可能でなければなりません。
.TP 5
.B \-C, \-\-copy
ローカルファイルをスプールディレクトリにコピーします。
.TP 5
.B \-l, \-\-link
ローカルファイルをスプールディレクトリの下にハードリンクします。ファイル
がスプールディレクトリとは異なる物理デバイス上に存在する場合、
リンクは張れません。この場合、
.B \-c
か、
.B \-\-nocopy
オプションが指定されていない限り、スプールディレクトリの下に対象ファイル
がコピーされます(これは、
.B \-\-link
.B \-\-nocopy
のかわりに
.B \-\-copy
をデフォルト設定すると言うことです)。
ファイルが
.I uucico
(8) デーモンの処理前に変更された場合、
転送されるファイルは変更後のファイルです。ファイルは、
.I uucico
(8) デーモンと、
.I uux
を起動したユーザの両者から read 可能でなければなりません。
.TP 5
.B \-g grade, \-\-grade grade
ファイル転送の優先度を設定します。高い優先度を持つジョブが先に実行されます。
優先度は、高い方から 0 ... 9 A ... Z a ... z となっています。
.TP 5
.B \-n, \-\-notification=no
ジョブの結果を通知するメールを送りません。例えジョブが失敗してもです。
.TP 5
.B \-z, \-\-notification=error
エラー発生時に、ジョブの結果についてメールを送ります。
Taylor UUCP
.I uuxqt
を含む多くの
.I uuxqt
デーモンでは、これがデフォルトの動作であり、
.B \-\-notification=error
は何の効果もありません。しかし、
.B \-\-notification=error
オプションを設定していないと、ジョブが成功した場合にメール
を送る
.I uuxqt
デーモンもあれば、
.B \-\-notification=error
オプションを指定しないと、ジョブが失敗した時にメールを送ってくれないとい
.I uuxqt
デーモンもあります。
.TP 5
.B \-r, \-\-nouucico
.I uucico
(8) デーモンを即時実行しません。
後で処理されるように要求をキューに貯めるだけです。
.TP 5
.B \-j, \-\-jobid
ジョブの id を標準出力に表示します。
ジョブの id は、各ファイルコピー操作が実際に処理を開始するように要求された時、
生成されます。これらのファイルコピー操作は、
.B \-\-kill
スイッチとともに
.I uustat
(1)に ジョブ id を渡すことで取消可能かも知れませんが、
そうするとジョブは完了不能となります。
.TP 5
.B \-a address, \-\-requestor address
指定したE-mailアドレスに対してジョブの結果報告を送ります。
.TP 5
.B \-x type, \-\-debug type
特定のデバッグタイプを指定します。タイプとしては、abnormal, chat,
handshake, uucp-proto, proto, port, config, spooldir, execute, incoming,
outgoing がありますが、
.I uux
では、abnormal, config, spooldir, execute の4つだけが意味を持ちます。
コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
.B \-\-debug
オプションは、1回のコマンド起動で複数回指定可能です。
また、タイプとして数字を指定することも可能です。例えば、
.B \-\-debug 2
という指定は、
.B \-\-debug abnormal,chat
と同じ意味です。
.TP 5
.B \-I file, \-\-config file
使用する初期設定ファイルの指定を行ないます。
ただし、本オプションが使用可能かどうかは、
.I uux
がどのようにコンパイルされたかによります。
.TP 5
.B \-v, \-\-version
バージョンを表示し、終了します。
.TP 5
.B \-\-help
ヘルプを表示し、終了します。
.SH 使用例
.br
.nf
uux -z - sys1!rmail user1
.fi
コマンド``rmail user1'' を、システム sys1 上で実行します。コマンドへの入力
データは、標準入力が用いられます。ジョブが失敗した場合、
.I mail
(1) コマンドによって通知します。
.br
.nf
uux 'diff -c sys1!~user1/file1 sys2!~user2/file2 >!file.diff'
.fi
システム sys1 とシステム sys2 上にあるファイルを取得し、
.I diff
を実行した上で、カレントディレクトリのファイル file.diff に結果を
出力します。カレントディレクトリは、
.I uuxqt
(8) デーモンによって write 可能である必要があります。
.br
.nf
uux 'sys1!uucp ~user1/file1 (sys2!~user2/file2)'
.fi
.I uucp
を、sys1 上で実行し、sys1 上のファイル file1 を sys2 上にコピーします。
この例では、引数をクオートするために括弧を用いる方法を示しています。
.SH 制限
リモートシステムでは、実行が許可されないコマンドがあるかもしれません。
多くのリモートシステムでは、
.I rmail
.I rnews
に限って実行を許可しています。
実行されるかどうかは、リモートシステムの
.I uuxqt
(8) デーモンに依存するオプションがあります。
.SH 関連ファイル
関連ファイル名は、
コンパイル時の指定ないしは初期設定ファイルにより変化します。
以下に挙げるものは、その一例です。
.br
/usr/lib/uucp/config - 初期設定ファイル
.br
/usr/spool/uucp -
UUCP スプールディレクトリ
.br
/usr/spool/uucp/Log -
UUCP ログファイル
.br
/usr/spool/uucppublic -
デフォルトの UUCP パブリックディレクトリ
.SH 関連項目
mail(1), uustat(1), uucp(1), uucico(8), uuxqt(8)
.SH バグ
複数のシステムにまたがって、ファイル参照をすることは出来ません。
.B \-\-jobid
オプションを使うと、ジョブ id が非常に多く出力されてしまいます。
また、リモートファイルを必要とするローカルなコマンドの実行を
キャンセルする良い方法は存在しません。
.SH 作者
Ian Lance Taylor
(ian@airs.com)
diff --git a/ja/man/man1/vacation.1 b/ja/man/man1/vacation.1
index ba38a547c9..1ad86129f3 100644
--- a/ja/man/man1/vacation.1
+++ b/ja/man/man1/vacation.1
@@ -1,187 +1,188 @@
.\" Copyright (c) 1985, 1987, 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.
.\"
.\" From: @(#)vacation.1 8.1 (Berkeley) 6/16/93
+.\" %Id: vacation.1,v 1.6 1997/02/22 19:57:38 peter Exp %
+.\"
.\" jpman %Id: vacation.1,v 1.3 1997/08/19 03:07:07 h-nokubi Stab %
-.\" %Id: vacation.1,v 1.4 1996/09/28 13:37:36 joerg Exp %
.\"
.Dd June 16, 1993
.Dt VACATION 1
.Os BSD 4.3
.Sh 名称
.Nm vacation
.Nd 不在の通知を返送する
.Sh 書式
.Nm vacation
.Fl i
.Op Fl r Ar interval
.Nm vacation
.Fl l
.Nm vacation
.Op Fl a Ar alias
.Ar login
.Sh 解説
.Nm vacation
は、メールの送信者に対して、あなたが現在メールを
読んでいない旨を通知するメッセージを返送します。通常、
.Pa .forward
ファイルの中で使われます。
例えば、あなたの
.Pa .forward
ファイルの中で次のように記述します。
.Bd -literal -offset indent
\eeric, "|/usr/bin/vacation -a allman eric"
.Ed
これで、あなた自身(ここではログイン名がericであるとします)にメッセージを送るとともに、
.Dq eric
もしくは
.Dq allman
に宛てられたメッセージに自動応答します。
.Pp
以下のオプションを指定することができます。
.Bl -tag -width Ds
.It Fl a Ar alias
.Ar alias
宛てのメッセージをユーザのログイン名に送られたメールと同様に処理します。
.It Fl i
Vacationデータベースを初期化します。
これは、
.Pa .forward
ファイルを変更する前に行なっておく必要があります。
.It Fl r
自動応答の間隔を
.Ar interval
日に設定します。デフォルトは1週間です。間隔を
.Dq 0
に設定すると、全てのメッセージに対して自動応答を行ないます。
.Dq Li infinite
(実際には数字以外の文字ならなんでも)を設定すると、同じ送信者には一度しか自動応答を
行ないません。間隔を
.Dq Li \&0
に設定すると
.Dq I am on vacation
メールがループすることがあり、非常に危険です。
.It Fl l
Vacationデータベースファイルの内容を表示します。
それぞれのエントリについて自動応答が送られたアドレスとその時間が
標準出力に表示されます。
.El
.Pp
.Ar login
(もしくは
.Fl a
オプションによって指定された
.Ar alias
) がメールの
.Dq To:
もしくは
.Dq Cc:
ヘッダになければ、自動応答は送られません。また、
.Dq ???-REQUEST
.Dq Postmaster
.Dq Tn UUCP
.Dq MAILER
.Dq MAILER-DAEMON
から(大文字、小文字は区別されません)のメールや、
.Dq Precedence: bulk
.Dq Precedence: junk
の行がヘッダに含まれているメールに対しても自動応答は送られません。
あなたへのメールの送信者のアドレスは
ホームディレクトリの
.Pa .vacation.db
ファイル中で
.Xr hash 3
を使用して管理されます。
.Pp
.Nm Vacation
ではホームディレクトリに
.Pa .vacation.msg
ファイルを置くことによって、
あなたへのメールの送信者へのメッセージを指定します。
このファイルは(ヘッダを含む)完全なメッセージでなければなりません。
以下に例を示します。
.Pp
.Bd -unfilled -offset indent -compact
From: eric@CS.Berkeley.EDU (Eric Allman)
Subject: I am on vacation
Delivered-By-The-Graces-Of: The Vacation program
Precedence: bulk
わたしは7月22日まで休暇をとっています。緊急の場合は
Keith Bostic <bostic@CS.Berkeley.EDU> に連絡願います。
--eric
.Ed
(訳註)返答メッセージに日本語を使う場合には、
漢字コードは JIS (ISO-2022-JP) でなければいけません。
.\" 上記(訳註)は日本語対応のために追加しました。
.\" 2.2.1-RELEASE 対象
.\" by mihara@prd.fc.nec.co.jp (Apr. 4, 1997)
.Pp
.Nm Vacation
はメールの送信者を決定するために標準入力の1行目の
.Ux
.Dq From
行を読みます。この
.Dq From
行は
.Xr sendmail 8
が自答的に付加するものです。
.Pp
.Nm vacation
が不正な引数で呼ばれたり、
.Ar login
名が存在しないような致命的なエラーはシステムのログファイルに
.Xr syslog 3
を使って記録されます。
.Sh 関連ファイル
.Bl -tag -width "vacation.dirxxx" -compact
.It Pa ~/.vacation.db
データベースファイル
.It Pa ~/.vacation.msg
送信するメッセージ
.El
.Sh 関連項目
.Xr syslog 3 ,
.Xr sendmail 8 ,
.Xr syslogd 8
.Sh 歴史
.Nm vacation
コマンドは
.Bx 4.3
から登場しました。
diff --git a/ja/man/man1/vidcontrol.1 b/ja/man/man1/vidcontrol.1
index 2c69712733..0e12f22158 100644
--- a/ja/man/man1/vidcontrol.1
+++ b/ja/man/man1/vidcontrol.1
@@ -1,135 +1,135 @@
.\"
.\" vidcontrol - a utility for manipulating the syscons video driver
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" @(#)vidcontrol.1
-.\" %Id: vidcontrol.1,v 1.8.2.3 1998/07/18 11:37:51 jkh Exp %
+.\" %Id: vidcontrol.1,v 1.12 1997/10/27 07:52:08 charnier Exp %
.\" jpman %Id: vidcontrol.1,v 1.3 1997/08/04 01:31:25 mitchy Stab %
.\"
.Dd May 22, 1994
.Dt VIDCONTROL 1
.Os
.Sh 名称
.Nm vidcontrol
.Nd syscons 画面ドライバの操作ユーティリティ
.Sh 書式
.Nm
.Op Fl r Ar fg Ar bg
.Op Fl b Ar color
.Op Fl c Ar appearance
.Op Fl d
.Op Fl l Ar scrmap
.Op Fl L
.Op Fl m Ar on|off
.Op Fl f Ar size Ar file
.Op Fl s Ar number
.Op Fl t Ar N|off
.Op Fl x
.Op mode
.Op fgcol Op bgcol
.Op show
.Sh 解説
.Nm
コマンドを用いて syscons 画面ドライバの様々なオプション、例えば、
画面モード、色、カーソル、画面マップ(scrnmap)、
フォント、スクリーンセーバタイムアウトを設定することができます。
.Pp
以下のコマンドラインオプションをサポートしています:
.Bl -tag -width indent
.It mode
新しいビデオモードを選択します。
現在サポートしているモードは以下の通りです:
.Ar VGA_40x25 ,
.Ar VGA_80x25 ,
.Ar VGA_80x50 ,
.Ar EGA_80x25 ,
.Ar EGA_80x43 .
ラップトップによっては画面モード
.Ar VGA_80x30
および
.Ar VGA_80x60
も使用できます。また、グラフィックモード
.Ar VGA_320x200
も選択できます。
.It fgcol Op bgcol
テキストを表示する際の色を変更します。
前景色(例: "vidcontrol white")、あるいは
前景色および背景色(例: "vidcontrol yellow blue")を指定することにより
変更できます。
.It show
指定したプラットフォームでサポートされている色を表示します。
.It Fl r Ar foreground Ar background
反転表示モードで用いる色を前景色
.Ar foreground
および背景色
.Ar background
に変更します。
.It Fl b Ar color
ボーダ色を
.Ar color
に設定します(VGA ハードウェアでのみサポートされています)。
.It Fl c Ar normal|blink|destructive
カーソルの外観を変更します。
カーソルは、反転ブロック(normal)、反転ブロックの点滅(blink)、
あるいは古いハードウェアカーソル様のもの(destructive)のいずれかです。
後者は実際にはシミュレートしています。
.It Fl d
現在の画面出力マップを表示します。
.It Fl l Ar scrmap
画面出力マップをファイル
.Ar scrmap
から読み込んで設定します。
.It Fl L
画面出力マップをデフォルトに設定します。
.It Fl m Ar on|off
マウスポインタを
.Ar on
または
.Ar off
します。
テキストモードでのカット&ペースト機能を利用するために moused デーモンと共に
使用します。
.It Fl f Ar size Ar file
サイズ
.Ar size
用のフォントをファイル
.Ar file
から読み込みます。
現在のところ
.Ar size
には 8x8, 8x14, 8x16 のみが指定できます。
フォントファイルは uuencode された形式でも
生のバイナリフォーマットでも構いません。
.It Fl s Ar number
現在の vty を
.Ar number
に設定します。
.It Fl t Ar N|off
スクリーンセーバのタイムアウト値を
.Ar N
秒に設定、あるいはスクリーンセーバを無効(
.Ar off
)にします。
.It Fl x
出力に 16 進数を用います。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/share/syscons/scrnmaps -compact
.It Pa /usr/share/syscons/fonts
.It Pa /usr/share/syscons/scrnmaps
.El
.Sh 関連項目
.Xr kbdcontrol 1 ,
.Xr keyboard 4 ,
.Xr screen 4 ,
.Xr moused 8
.Sh 作者
.An Sen Schmidt Aq sos@FreeBSD.org
diff --git a/ja/man/man1/w.1 b/ja/man/man1/w.1
index e27a3c7a7e..bb1d94d71f 100644
--- a/ja/man/man1/w.1
+++ b/ja/man/man1/w.1
@@ -1,146 +1,147 @@
.\" Copyright (c) 1980, 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.
.\"
.\" @(#)w.1 8.1 (Berkeley) 6/6/93
-.\" %Id: w.1,v 1.2.8.6 1998/03/22 19:17:50 steve Exp %
+.\" %Id: w.1,v 1.10 1998/03/22 17:39:08 steve Exp %
+.\"
.\" jpman %Id: w.1,v 1.2 1997/04/16 01:03:05 mitchy Stab %
.\"
.Dd June 6, 1993
.Dt W 1
.Os BSD 4
.Sh 名称
.Nm w
.Nd ログインしているユーザと、その作業内容を表示する
.Sh 書式
.Nm w
.Op Fl dhin
.Op Fl M Ar core
.Op Fl N Ar system
.Op Ar user
.Sh 解説
.Nm
は、システムの現在の動作状況や、ユーザの作業内容を表示します。
最初の行は現在時刻、システムの稼働時間、ログインしているユーザ数、
システムの平均負荷を表示します。
平均負荷は、最近の1分、5分、15分間における実行キュー内の
ジョブ数の平均値を表します。
.Pp
出力項目は、ユーザのログイン名とユーザが現在いる端末の名前、ユーザが
ログイン してきたホスト、ユーザがログイン している時間、ユーザが
最後にコマンドを入力してからの経過時間、現在実行しているプロセスの
名前と引数です。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl d
トップレベルのプロセスだけではなく、
制御 tty ごとの全プロセスリストをダンプします。
.It Fl h
最初の行を出力しません。
.It Fl i
アイドル時間の順に出力します。
.It Fl M
デフォルトの
.Dq /dev/kmem
のかわりに、指定された
.Ar core
ら名前のリストに関係する値を取り出します。
.It Fl N
デフォルトの
.Dq /kernel
のかわりに、指定された
.Ar system
から
名前のリストを取り出します。
.It Fl n
ネットワークアドレスを数字で表示します
(通常
.Nm
は、アドレスを解釈してホスト名で表示しようとします)。
.El
.Pp
.Ar ユーザ名
が指定されると、指定されたユーザのものだけ出力を行います。
.Sh 関連ファイル
.Bl -tag -width /var/run/utmp -compact
.It Pa /var/run/utmp
システム上のユーザのリスト
.El
.Sh 関連項目
.Xr finger 1 ,
.Xr ps 1 ,
.Xr uptime 1 ,
.Xr who 1
.Sh バグ
.Dq 現在実行しているプロセス
の意味はかなりいい加減なものです。現在のアルゴリズムは、
.Dq 端末の割り込みを無視していない、もっともプロセス-ID の大きいプロセス、それが見つからなければ、その端末のもっともプロセス-IDの大きいプロセスを見つける
という仕組みになっています。
これは失敗する場合があります。たとえば、シェルやエディタのように
プログラムがクリティカルセクション(ほかからの割り込みを受け付けるべき
ではないような重要な操作をする状態)にいる場合や、
不完全なプログラムがバックグラウンドで動いていて、割り込みを無視する
のに失敗しているような場合です (プロセスを見つけることができなかった
場合、
.Nm
.Dq Fl
を表示します) 。
.Pp
.Tn CPU
時間は推定でしかありません。特に、誰かがバックグラウンドでプロセスを
動かしたままログアウトすると、そのプロセスの時間が、
現在その端末を使用している人の
.Tn CPU
時間に加算されます。
.Pp
バックグラウンドで動いているプロセスは、たとえその負荷が非常に
大きくても出力されません。
.Pp
バックグラウンドである場合に典型的ですが、プロセスに空白やゴミの引数が
ついて表示されることがあります。このような場合、コマンドの名前は丸括弧で
括られて表示されます。
.Pp
.Nm
はバックグラウンドジョブを発見する新しい、便利な法則を知りません。そのため、
正しいものでなく、バックグラウンドジョブを見つけてしまうことがあります。
.Sh 互換性
.Fl f ,
.Fl l ,
.Fl s ,
.Fl w
オプションはサポートされなくなりました。
.Sh 歴史
.Nm
.Ux 3.0
から登場しました。
diff --git a/ja/man/man1/wait.1 b/ja/man/man1/wait.1
index 9eee9847d2..2f0aeb60c4 100644
--- a/ja/man/man1/wait.1
+++ b/ja/man/man1/wait.1
@@ -1,89 +1,90 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)wait.1 8.1 (Berkeley) 6/5/93
+.\" %Id: wait.1,v 1.2 1997/03/07 03:27:50 jmg Exp %
+.\"
.\" jpman %Id: wait.1,v 1.3 1997/07/20 08:00:43 konuma Stab %
-.\" %Id: wait.1,v 1.1.1.1.8.1 1997/03/07 04:17:49 mpp Exp %
.\"
.Dd June 5, 1993
.Dt WAIT 1
.Os FreeBSD
.Sh 名称
.Nm wait
.Nd プロセスの終了を待つ
.Sh 書式
.Nm wait
.Op Ar pid
.Sh 解説
引数なしで起動された場合、
.Nm wait
はバックグラウンドで実行されている子プロセスが全て終了するまで待ちます。
.Pp
オプションは以下のとおりです。
.Bl -tag -width Ds
.It Ar pid
.Ar pid
が指定され、それがバックグラウンドで実行されている
子プロセスのプロセスIDであった場合、
.Nm wait
はそのプロセスが終了するまで待ち、そのプロセスの
ステータス情報を取得します。他のプロセスのステータス情報は
取得しません。
.Pp
pidが指定され、そのプロセスIDがバックグラウンドで
実行されている子プロセスのものでなかったら、
.Nm wait
はプロセスの終了を待たず終了します。
.El
.Pp
.Nm wait
は以下のうちのいずれかの戻り値を返します。
.Bl -tag -width Ds
.It \&0
.Nm wait
が引数なしで起動されて、全てのバックグラウンドの
子プロセスが終了するか、pidによって指定されたプロセスが
0を返して正常に終了した場合。
.It \&>\&0
指定されたプロセスが存在せず、その終了ステータスが無効で
あるか、または、指定されたプロセスが存在するかその終了ステータス
が有効で、戻り値が0でない場合。
.El
.Pp
指定されたプロセスがシグナルを受けて異常終了した場合は
.Nm wait
はそのプロセスの戻り値を返します。
.Sh 規格
.Nm wait
.St -p1003.2
互換となるように作られています。
diff --git a/ja/man/man1/wc.1 b/ja/man/man1/wc.1
index 1b6e7d9394..4fecce6e32 100644
--- a/ja/man/man1/wc.1
+++ b/ja/man/man1/wc.1
@@ -1,108 +1,108 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)wc.1 8.2 (Berkeley) 4/19/94
-.\" %Id: wc.1,v 1.2.2.1 1997/08/26 06:52:00 charnier Exp %
+.\" %Id: wc.1,v 1.5 1997/08/25 06:44:58 charnier Exp %
.\" jpman %Id: wc.1,v 1.2 1997/03/29 20:55:21 iwasaki Stab %
.\"
.Dd April 19, 1994
.Dt WC 1
.Os
.Sh 名称
.Nm wc
.Nd 行数、単語数、バイト数を数える。
.Sh 書式
.Nm wc
.Op Fl clw
.Op Ar
.Sh 解説
.Nm
は各入力ファイル
.Ar file
(デフォルトでは標準入力)
に含まれる行数、単語数、バイト数を数えて標準出力に表示します。
行は改行文字で区切られた文字列、
単語は空白文字で区切られた文字列、と定義されます。
ここで空白文字とは
.Xr isspace 3
が真を返すような文字をいいます。
複数のファイルが指定された場合は、
最後に行数、単語数、バイト数の各項目別の合計も表示します。
.Pp
オプションとしては以下のものがあります。
.Bl -tag -width Ds
.It Fl c
各入力ファイルのバイト数を標準出力に表示します。
.It Fl l
各入力ファイルの行数を標準出力に表示します。
.It Fl w
各入力ファイルの単語数を標準出力に表示します。
.El
.Pp
オプションが指定された場合、
.Nm
は要求された情報のみを表示します。
デフォルトの動作はすべてのオプションが指定された場合と同じです。
.Pp
.Ar file
が指定されなかった場合は、標準入力から読み込まれ、
ファイル名は出力されません。
.Pp
.Nm
は、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
.Sh 関連項目
.Xr isspace 3
.Sh 互換性
歴史的には、
.Nm
では単語は「スペース、タブ、改行文字で区切られる最長の文字列」として
定義する、とドキュメントに記述されていました。
しかしこの実装は非表示文字を正しく扱いませんでした。
例えば ``foo^D^Ebar'' を 8 文字と数える一方、`` ^D^E '' を 6 つの空白と
数えたのでした。4.3BSD 以降の 4BSD では
ドキュメントと矛盾のないよう修正され、
.St -p1003.2
で要求されているように、
.Xr isspace 3
を用いて「単語」を定義するよう実装し直されました。
.Sh 規格
.Nm
.St -p1003.2
準拠です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/what.1 b/ja/man/man1/what.1
index 5313a0894b..e98c78151d 100644
--- a/ja/man/man1/what.1
+++ b/ja/man/man1/what.1
@@ -1,81 +1,81 @@
.\" 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.
.\"
.\" @(#)what.1 8.1 (Berkeley) 6/6/93
.\"
-.\" %Id: what.1,v 1.2.2.3 1998/07/17 07:26:00 jkh Exp %
+.\" %Id: what.1,v 1.9 1998/05/04 22:26:55 rnordier Exp %
.\" jpman %Id: what.1,v 1.3 1997/06/14 16:05:25 kubo Stab %
.\"
.Dd June 6, 1993
.Dt WHAT 1
.Os BSD 4
.Sh 名称
.Nm what
.Nd ファイルを構成するオブジェクトモジュールのバージョンを表示する
.Sh 書式
.Nm
.Op Fl s
.Ar file Ar ...
.Sh 解説
.Nm
ユーティリティは、
指定された
.Ar file
を読み込み、SCCS (source code control
system) が挿入した
.Dq \&@(#)
形式のシーケンスを検索し、このマークのあと
に挿入されている文字列を NUL 文字か、改行か、ダブルクォート (") か、
.Dq \&>
文字かバックスラッシュが現れるまで表示します。
.Pp
次のオプションを使用可能です:
.Bl -tag -width Ds
.It Fl s
最初にマッチしたときに検索を停止します。
.El
.Pp
なにかがマッチしたら終了値は 0 となり、そうでない場合は 1 となります。
.Sh バグ
これは本来の
.Tn SCCS
のシステムに属する
.Nm
コマンドを書き直したものです。
このため、正確には同じ動作をしないかもしれません。
.Sh 関連項目
.Xr ident 1 ,
.Xr strings 1
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja/man/man1/whereis.1 b/ja/man/man1/whereis.1
index 7944cdb780..abc5196c8e 100644
--- a/ja/man/man1/whereis.1
+++ b/ja/man/man1/whereis.1
@@ -1,134 +1,135 @@
.\" 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.
.\"
.\" @(#)whereis.1 8.2 (Berkeley) 12/30/93
+.\" %Id: whereis.1,v 1.5 1998/05/15 11:22:40 jkoshy Exp %
+.\"
.\" jpman %Id: whereis.1,v 1.3 1997/06/14 16:06:45 kubo Stab %
-.\" %Id: whereis.1,v 1.2.2.1 1998/05/22 11:03:38 jkoshy Exp %
.\"
.Dd June 15, 1996
.Dt WHEREIS 1
.Os FreeBSD
.Sh 名称
.Nm whereis
.Nd プログラムのパスを表示します
.Sh 書式
.Nm whereis
.Op Fl bms
.Op Fl u
.Op Fl BMS dir ... Fl f
.Ar program ...
.Sh 解説
.Nm whereis
は標準のバイナリディレクトリやマニュアルページそして、特定のプログラム
のソースファイルディレクトリを検索し、指定されたプログラムのパスが
見つかれば表示します。与えられた名前は、はじめに
.Ql .ext
形式のプレフィックスをひとつはずし、
ソースコード制御システムのためのファイル名のはじめの
.Ql s.
や最後の
.Ql ,v
を外し、パス名にされます。
.Pp
検索されるディレクトリは
.Xr sysctl 8
に文字列
.Dq user.cs_path
を与えた時に返される文字列と
.Pa /usr/libexec
および現在のユーザの
.Ev $PATH
です。マニュアルは、デフォルトでは
.Ev $MANPATH
にしたがって検索されます。プログラムソースは、
.Pa /usr/src
.Pa /usr/ports
の全てのサブディレクトリを含む、標準の場所のリストにあるものとされます。
.Pp
以下のようなオプションが利用可能です。
.Bl -tag -width indent
.It Fl B
バイナリを検索するためのディレクトリを指定します。
.Fl f
オプションが必要です。
.It Fl M
マニュアルページを検索するためのディレクトリを指定します。
.Fl f
オプションが必要です。
.It Fl S
プログラムソースを検索するためのディレクトリを指定します。
.Fl f
オプションが必要です。
.It Fl b
バイナリを検索します。
.It Fl f
.Fl B ,
.Fl M ,
.Fl S
オプションが指定された後で、ディレクトリのリストの境界を設定し、
.Ar name
リストのはじめを指定します。
.It Fl m
マニュアルページを検索します。
.It Fl s
ソースディレクトリを検索します。
.It Fl u
.Dq unusual
エントリを検索します。ファイルは、要求されたそれぞれのタイプのエントリがない場合に
普通でない (unusual) といわれます。
.El
.Sh 実行例
以下では、
.Pa /usr/bin
以下のドキュメントがない全てのユーティリティを見つけます。
.Dl whereis -m -u /usr/bin/*
.Sh 関連項目
.Xr find ,
.Xr locate 1 ,
.Xr which 1 ,
.Xr man 1 ,
.Xr sysctl 8
.Sh バグ
ソースの検索は、ソースディレクトリのリストの各要素の第一レベルの
サブディレクトリを検索するクイック検索で実装されています。
これが成功しない場合、
.Xr locate 1
ユーティリティがサブディレクトリのより深いところまで検索するために
呼び出されます。これは、時間がかかりますし、ロケートデーターベースが
更新されている時にだけ成功します。
.Sh 歴史
.Nm whereis
コマンドは、
.Bx 3.0
で導入されました。この版は
.Bx 4.4
で失われた歴史的な機能を再実装しました。
diff --git a/ja/man/man1/which.1 b/ja/man/man1/which.1
index a1f21dea03..1d587d80b7 100644
--- a/ja/man/man1/which.1
+++ b/ja/man/man1/which.1
@@ -1,70 +1,70 @@
.\" Manpage Copyright (c) 1995, Jordan Hubbard <jkh@freebsd.org>
.\"
.\" 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 FreeBSD Project
.\" its contributors.
.\" 4. Neither the name of the FreeBSD 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 CONTRIBUTOR ``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 CONTRIBUTOR 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: which.1,v 1.6.2.3 1998/07/17 07:26:06 jkh Exp %
+.\" %Id: which.1,v 1.12 1998/05/22 11:09:01 jkoshy Exp %
.\" jpman %Id: which.1,v 1.3 1997/06/14 16:24:02 kubo Stab %
.Dd January 26, 1995
.Dt WHICH 1
.Os FreeBSD
.Sh 名称
.Nm which
.Nd "ユーザパスからプログラムを見つける"
.Sh 書式
.Nm which
.Op Fl as
.Op Ar command
.Ar ...
.Sh 解説
.Nm
は、コマンド名のリストを受け取り、
実際に起動したならば実行できる実行形式ファイルを探します。
.Pp
オプションには以下のものがあります:
.Bl -tag -width indent
.It Fl a
(最初に見つけたものだけでなく) みつけたすべての実行形式を表示します。
.It Fl s
実行形式が見つかれば 0 を返し、見つからなければ 1 を返します。
表示はしません。
.Sh 歴史
.Nm
コマンドは
.Fx 2.1
から登場しました。
.Sh 関連ファイル
.Xr find 1 ,
.Xr locate 1 ,
.Xr perl 1 ,
.Xr whereis 1
.Sh 作者
新しいバージョンの
.Nm
PERL スクリプトは
.An Wolfram Schneider Aq wosch@FreeBSD.org
によって書かれました。
diff --git a/ja/man/man1/who.1 b/ja/man/man1/who.1
index 2881c08252..96af8e097c 100644
--- a/ja/man/man1/who.1
+++ b/ja/man/man1/who.1
@@ -1,104 +1,104 @@
.\" Copyright (c) 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.
.\"
.\" @(#)who.1 8.2 (Berkeley) 12/30/93
-.\" %Id: who.1,v 1.2.2.2 1998/05/25 18:06:39 steve Exp %
+.\" %Id: who.1,v 1.6 1998/04/14 06:42:18 phk Exp %
.\" jpman %Id: who.1,v 1.3 1997/06/14 16:25:35 kubo Stab %
.\"
.Dd December 30, 1993
.Dt WHO 1
.Os
.Sh 名称
.Nm who
.Nd 誰がログインしているかを表示する
.Sh 書式
.Nm who
.Ar am I
.Nm who
.Sh 解説
.Nm
ユーティリティは、現在ログインしている全ユーザについて、ユーザごとに
ログイン名、端末名、ログインした日時、ホスト名 (リモートログイン
しているときのみ) を表示します。
.Pp
オプションは以下の通りです:
.Bl -tag -width file
.It Ar \&am I
このコマンドを起動したユーザの本当のユーザ名 (real user name) を表示します。
.It Ar file
.Nm
はデフォルトで
.Pa /var/run/utmp
を調べますが、
.Ar file
が指定された場合、そのファイルからユーザ情報を得るようにします。
.Ar file
には、普通、
.Pa /var/run/wtmp
を指定します (あるいは、サイトの方針次第ですが、
.Pa /var/run/wtmp.[0-6]
であるかもしれません。というのも、
.Pa wtmp
ファイルは大変大きくなるかもしれないので、
.Xr ac 8
によって圧縮した後には、
日毎のファイルを保存していない場合もあるからです)。
.Pa wtmp
には、最後に
.Pa wtmp
を作成するか、またはそのファイルサイズをゼロにして以来の
全てのログイン、ログアウト、クラッシュ、シャットダウン、および
date コマンドでの日時の変更が記録されています。
.El
.Pp
.Pa /var/log/wtmp
ファイルが記録ファイルとして使用されている場合には、
ユーザ名は空、あるいは特殊文字 '|', '}', '~' のうちの
ひとつであるかもしれません。その際には、ログアウトすることで、ユーザ名
が記録されていない出力行を生成します。より詳しくは、
.Xr utmp 5
を参照してください。
.Sh 関連ファイル
.Bl -tag -width /var/log/wtmp.[0-6] -compact
.It Pa /var/run/utmp
.It Pa /var/log/wtmp
.It Pa /var/log/wtmp.[0-6]
.El
.Sh 関連項目
.Xr last 1 ,
.Xr users 1 ,
.Xr getuid 2 ,
.Xr utmp 5
.Sh 歴史
.Nm
ユーティリティは
.At v1
から登場しました。
diff --git a/ja/man/man1/whois.1 b/ja/man/man1/whois.1
index 28195a7d6d..52377f2c86 100644
--- a/ja/man/man1/whois.1
+++ b/ja/man/man1/whois.1
@@ -1,114 +1,114 @@
.\" Copyright (c) 1985, 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: @(#)whois.1 8.1 (Berkeley) 6/6/93
-.\" %Id: whois.1,v 1.1.1.1.8.3 1998/02/19 19:10:22 wollman Exp %
+.\" %Id: whois.1,v 1.4 1998/02/19 19:07:49 wollman Exp %
.\" jpman %Id: whois.1,v 1.3 1997/06/14 04:30:33 kubo Stab %
.\"
.Dd February 19, 1998
.Dt WHOIS 1
.Os BSD 4.3
.Sh 名称
.Nm whois
.Nd インターネットのドメイン名とネットワーク番号のディレクトリサービス
.Sh 書式
.Nm whois
.Op Fl adpr
.Op Fl h Ar host
.Ar name ...
.Sh 解説
.Nm
はネットワークインフォメーションセンタ
.Pq Tn NIC
のデータベースのレコード検索を行ないます。
.Pp
オプションとしては以下のものがあります。
.Bl -tag -width Ds
.It Fl a
American Registry for Internet Numbers
.Pq Tn ARIN
データベースを使用します。
ここには、
.Tn APNIC
および
.Tn RIPE
以外がカバーする全世界の IP 番号があります。
.It Fl d
(US Military) Defense Data Network
.Pq Tn DDN
データベースを使用します。
.Tn \&.MIL
のサブドメインの連絡先があります。
.It Fl h Ar host
デフォルトの NIC (whois.internic.net) に代えて、指定したホスト用います。
ホスト名もしくは IP 番号を指定可能です。
.It Fl p
Asia/Pacific Network Information Center
.Pq Tn APNIC
データベースを使用します。
ここには、東アジア、オーストラリア、ニュージーランド、太平洋諸島の
IP 番号があります。
.It Fl r
R\(aaeseaux IP Europ\(aaeens
.Pq Tn RIPE
データベースを使用します。
ここには、ヨーロッパのドメイン番号とドメインの連絡先情報があります。
.El
.Pp
.Nm
コマンドに指定されたオペランドは空白をはさんで結合され、
指定された
.Nm
サーバに渡されます。
.Pp
特に
.Ar name
で指定されなければ、デフォルトでは
データベース中のすべてのレコードのほとんどの
フィールド (名前、通称 (nicknames)、ホスト名、ネットアドレス、その他) に
ついて
.Ar name
に一致するものを探すという、広範囲な検索を実行します。
.Ar name
オペランドの持つ特別な意味や
検索の進め方に関してさらに情報を得るには、
特別な名前
.Dq Ar help
.Ar name
に指定して下さい。
.Sh 関連項目
RFC 812: Nicname/Whois
.Sh 歴史
.Nm
コマンドは
.Bx 4.3
から登場しました。
diff --git a/ja/man/man1/write.1 b/ja/man/man1/write.1
index 4205cbb8de..99c34fefe5 100644
--- a/ja/man/man1/write.1
+++ b/ja/man/man1/write.1
@@ -1,100 +1,100 @@
.\" Copyright (c) 1989, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Jef Poskanzer and Craig Leres of the Lawrence Berkeley Laboratory.
.\"
.\" 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.
.\"
.\" @(#)write.1 8.1 (Berkeley) 6/6/93
-.\" %Id: write.1,v 1.2.2.2 1997/08/27 06:23:09 charnier Exp %
+.\" %Id: write.1,v 1.6 1997/08/26 11:23:31 charnier Exp %
.\" jpman %Id: write.1,v 1.3 1997/05/19 16:54:42 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt WRITE 1
.Os
.Sh 名称
.Nm write
.Nd 別のユーザにメッセージを送る
.Sh 書式
.Nm
.Ar user
.Op Ar ttyname
.Sh 解説
.Nm
は、あなたの端末入力行を他の端末に送ることで、
他のユーザとのコミュニケーションを可能にします。
.Pp
.Nm
を使ってメッセージを書くと、指定されたユーザは次のような
書き出しで始まるメッセージを受け取ります:
.Pp
.Dl Message from yourname@yourhost on yourtty at hh:mm ...
.Pp
この後の行は、1行入力するたびにその内容が相手の端末にコピーされます。
もし相手が返事をしたいと思ったら、その人も
.Nm
を実行して同じようにメッセージを送る必要があります。
.Pp
メッセージを送り終わったら、ファイルの終り文字か割り込み文字を入力します。
相手には、通信の終りを表す
.Ql EOF
が表示されます。
.Pp
他のユーザからのメッセージを拒否したいときは
(ただしスーパユーザからのメッセージは拒否できません)、
.Xr mesg 1
を使います。
.Pp
2つ以上の端末にログインしているユーザにメッセージを送りたい場合には、
どの端末にメッセージを送るかを、
.Nm
の2番目の引数で指定することができます。
端末名を指定しなければ、もっともアイドル時間の短い端末が選択されます。
事務所でログインしたままになっているユーザが、今は自宅からモデムでログイン
している場合などは、これによって正しい端末が選択されるでしょう。
.Pp
.Nm
コマンドで人とやりとりする時には、次のようなプロトコルが使われてきました。
行末の
.Ql \-o
や、
.Ql \-o
だけの行は、あなたが話す番ですよ、という意味であり、
.Ql oo
は、会話を終りにしましょうという意味になります。
.Sh 関連項目
.Xr mesg 1 ,
.Xr talk 1 ,
.Xr who 1
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja/man/man1/xten.1 b/ja/man/man1/xten.1
index 69a7138fcf..884cbb20cb 100644
--- a/ja/man/man1/xten.1
+++ b/ja/man/man1/xten.1
@@ -1,113 +1,113 @@
.\" Copyright (c) 1992, 1993 Eugene W. Stark
.\" 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 Eugene W. Stark.
.\" 4. 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 EUGENE W. STARK (THE AUTHOR) ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: xten.1,v 1.2.2.4 1998/07/18 11:38:07 jkh Exp %
+.\" %Id: xten.1,v 1.8 1998/03/23 08:30:11 charnier Exp %
.\" jpman %Id: xten.1,v 1.3 1997/06/12 17:21:13 kubo Stab %
.\"
.Dd October 30, 1993
.Dt XTEN 1
.Os
.Sh 名称
.Nm xten
.Nd X-10 コマンドを転送する
.Sh 書式
.Nm xten
.Op Fl ""
.Ar house Ar key Ns Op Ar :cnt
.Oo
.Op Ar house
.Ar key Ns Op Ar :cnt
.Ar ...
.Oc
.Sh 解説
.Nm
は、 X-10 デーモンへのコマンドラインインタフェースです。
一文字のハウスコード (A-P) と一連のキー/ユニットコードが引数として
与えられて呼び出された時、X-10 デーモンへ対応する一連の X-10
パケットの転送を要求します。
コマンドが実際に受け取られて実行されるかどうかをリモートの X-10 デバイスによって
知ることは一般的にできませんが、X-10 デーモンは、パケットがすべて正しく転送されるように、
最大限努力します。
.Pp
一つの引数
.Fl
付きで呼び出された時は、
.Nm
は、インタラクティブモードに入ります。ここでは、標準入力を繰り返し
読み込み、X-10 デーモンに送り、デーモンからの一行の応答が標準出力に表示されます。
.Sh オプション
ハウス(
.Ar house
)引数は、 A-P の範囲の一文字のハウスコードです。
全ての X-10 リクエストは、ハウスコードを参照します。
各キー(
.Ar key
)は 1-16 の数値コードか、X-10 機能を指定する文字列です。
可能な機能コード文字列は以下の通りです。
.Bl -diag
.It AllUnitsOff
.It AllLightsOn
.It On
.It Off
.It Dim
.It Bright
.It AllLightsOff
.It ExtendedCode
.It HailRequest
.It HailAcknowledge
.It PreSetDim0
.It PreSetDim1
.It ExtendedData
.It StatusOn
.It StatusOff
.It StatusRequest
.El
.Pp
各キー(
.Ar key
)にはオプションの数字(
.Ar cnt
)が続きます。この数字は、間隙がないキーコード
によっておくられるパケットの数を指定します。
この引数が省略された時、二つのパケットが転送されます。
X-10 の
.Em Dim
.Em Bright
コマンドでは、二つ以外のパケット数を指定して使うことができます。
.Sh 関連項目
.Xr tw 4 ,
.Xr xtend 8
.Sh 関連ファイル
.Bl -tag -width /var/spool/xten/Status -compact
.It Pa /dev/tw0
TW523 スペシャルファイル
.El
.Sh 作者
.An Eugene W. Stark Aq stark@cs.sunysb.edu
diff --git a/ja/man/man1/yacc.1 b/ja/man/man1/yacc.1
index 9dc1032f48..996fd3536a 100644
--- a/ja/man/man1/yacc.1
+++ b/ja/man/man1/yacc.1
@@ -1,143 +1,143 @@
.\" Copyright (c) 1989, 1990 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Robert Paul Corbett.
.\"
.\" 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.
.\"
.\" @(#)yacc.1 5.8 (Berkeley) 5/24/93
-.\" %Id: yacc.1,v 1.1.1.1.8.2 1998/03/08 14:53:14 jkh Exp %
+.\" %Id: yacc.1,v 1.8 1997/08/28 06:33:53 charnier Exp %
.\" jpman %Id: yacc.1,v 1.3 1997/06/12 16:37:49 kubo Stab %
.\"
.Dd May 24, 1993
.Dt YACC 1
.Os
.Sh 名称
.Nm yacc
.Nd LALR(1) パーサジェネレータ
.Sh 書式
.Nm
.Op Fl dlrtv
.Op Fl b Ar file_prefix
.Op Fl o Ar output_filename
.Op Fl p Ar symbol_prefix
.Ar filename
.Sh 解説
.Nm
は、
.Ar filename
から文法仕様を読み取り、その仕様から LR(1) パーサを生成します。
パーサは、C 言語で書かれた LALR(1)
解析テーブルとドライバルーチンのセットから構成されています。
.Nm
は通常、
.Pa y.tab.c
というファイルに解析テーブルとドライバルーチンを書き込みます。
.Pp
以下のオプションが使えます:
.Bl -tag -width indent
.It Fl b Ar file_prefix
出力ファイル名の先頭に加えるプレフィックス文字列を
.Ar file_prefix
に変更します。
デフォルトのプレフィックスは
.Pa y
です。
.It Fl d
ヘッダファイル
.Pa y.tab.h
を生成するよう指示します。
.It Fl l
もし
.Fl l
オプションが指定されていなければ、
.Nm
は生成コードに #line ディレクティブを挿入します。
#line ディレクティブは、生成されたコードの中のエラーと
ユーザのオリジナルコードとの関連づけを C コンパイラに行わせます。
もし
.Fl l
オプションが指定されていれば、
.Nm
は #line ディレクティブを挿入しません。
ユーザによって指定された #line ディレクティブはそのまま残されます。
.It Fl o Ar output_filename
.Nm
に対し、デフォルトファイルの
.Pa y.tab.c
の代りに
.Ar output_filename
に生成コードを出力させます。
.It Fl p Ar symbol_prefix
yacc によって生成されたシンボルの先頭につけるプレフィックスを
.Ar symbol_prefix
で指定された文字列に変更します。
デフォルトのプレフィックスは、文字列
.Pa yy
です。
.It Fl r
.Nm
はコードとテーブルを別々のファイルに出力します。コードファイル名は
.Pa y.code.c
となり、テーブルファイル名は
.Pa y.tab.c
となります。
.It Fl t
.Nm
によって生成されるプリプロセッサディレクティブを変更し、デバッグ
用の文をコンパイルされたコードの中に埋め込みます。
.It Fl v
生成されたパーザの詳細を人間に読める形式で、
ファイル
.Pa y.output
に出力します。
.El
.Pp
もし環境変数
.Ev TMPDIR
が設定されていれば、
.Ev TMPDIR
に設定されている文字列はテンポラリファイルが作られる
ディレクトリ名として使用されます。
.Sh 関連ファイル
.Bl -tag -width /tmp/yacc.aXXXXXX -compact
.It Pa y.code.c
.It Pa y.tab.c
.It Pa y.tab.h
.It Pa y.output
.It Pa /tmp/yacc.aXXXXXX
.It Pa /tmp/yacc.tXXXXXX
.It Pa /tmp/yacc.uXXXXXX
.El
.Sh 診断
もし還元できないルールがあった場合、そのルール数が標準エラー
出力に表示されます。
もし何らかの LALR(1) の衝突があった場合、衝突数も標準エラー出力に表
示されます。
diff --git a/ja/man/man1/ypcat.1 b/ja/man/man1/ypcat.1
index ff12a216de..89daddc3f2 100644
--- a/ja/man/man1/ypcat.1
+++ b/ja/man/man1/ypcat.1
@@ -1,72 +1,72 @@
.\" Copyright (c) 1993 Winning Strategies, 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 Winning Strategies, Inc.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ypcat.1,v 1.3.2.2 1998/07/17 08:19:35 jkh Exp %
+.\" %Id: ypcat.1,v 1.7 1998/03/23 07:48:19 charnier Exp %
.\" jpman %Id: ypcat.1,v 1.3 1997/06/12 16:24:33 kubo Stab %
.\"
.Dd December 3, 1993
.Dt YPCAT 1
.Os
.Sh 名称
.Nm ypcat
.Nd "YP データベースのすべてのキーの値を表示する"
.Sh 書式
.Nm ypcat
.Op Fl kt
.Op Fl d Ar domainname
.Ar mapname
.Nm ypcat
.Fl x
.Sh 解説
.Nm ypcat
は、
.Ar mapname
(マップの名前またはニックネーム) で指定された
.Tn YP
データベース中のすべてのキーに関連付けられた値を表示します。
.Pp
オプションは以下のとおりです:
.Bl -tag -width indent
.It Fl d Ar domainname
デフォルトとは異なったドメイン名を用いたいときに指定します。
.It Fl k
指定したマップのキーも表示します。値が空のマップや、値にキーが含ま
れていないマップの内容を表示するのに便利です。
.It Fl t
マップのニックネームを、対応したマップ名に変換することを禁止します。
.It Fl x
マップのニックネームテーブルを表示します。
.El
.Sh 関連項目
.Xr domainname 1 ,
.Xr ypmatch 1 ,
.Xr yp 4 ,
.Xr ypbind 8 ,
.Xr ypset 8
.Sh 作者
.An Theo De Raadt .Aq deraadt@theos.com .
diff --git a/ja/man/man1/ypmatch.1 b/ja/man/man1/ypmatch.1
index bfefe540da..def9a787b0 100644
--- a/ja/man/man1/ypmatch.1
+++ b/ja/man/man1/ypmatch.1
@@ -1,74 +1,74 @@
.\" Copyright (c) 1993 Winning Strategies, 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 Winning Strategies, Inc.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ypmatch.1,v 1.3.2.2 1998/07/17 08:19:39 jkh Exp %
+.\" %Id: ypmatch.1,v 1.7 1998/03/23 07:48:31 charnier Exp %
.\" jpman %Id: ypmatch.1,v 1.3 1997/06/12 15:46:11 kubo Stab %
.\"
.Dd December 3, 1993
.Dt YPMATCH 1
.Os
.Sh 名称
.Nm ypmatch
.Nd "YP データベースのキーの値を表示する"
.Sh 書式
.Nm ypmatch
.Op Fl kt
.Op Fl d Ar domainname
.Ar key ...
.Ar mapname
.Nm ypmatch
.Fl x
.Sh 解説
.Nm ypmatch
は、
.Ar mapname
(マップの名前またはニックネーム) で指定された
.Tn YP
データベースを、
指定された 1 つまたは複数のキーで検索し、キーに対応する値を表示します。
.Pp
オプションは以下のとおりです:
.Bl -tag -width indent
.It Fl d Ar domainname
デフォルトとは異なったドメイン名を用いたいときに指定します。
.It Fl k
指定したマップのキーも表示します。値が空のマップや、値にキーが含ま
れていないマップの内容を表示するのに便利です。
.It Fl t
マップのニックネームを、対応したマップ名に変換することを禁止します。
.It Fl x
マップのニックネームテーブルを表示します。
.El
.Sh 関連項目
.Xr domainname 1 ,
.Xr ypcat 1 ,
.Xr yp 4 ,
.Xr ypbind 8 ,
.Xr ypset 8
.Sh 作者
.An Theo De Raadt Aq deraadt@theos.com .
diff --git a/ja/man/man1/ypwhich.1 b/ja/man/man1/ypwhich.1
index 3ce83f8b3f..f39d6ee0f6 100644
--- a/ja/man/man1/ypwhich.1
+++ b/ja/man/man1/ypwhich.1
@@ -1,100 +1,100 @@
.\" %NetBSD: ypwhich.1,v 1.3 1996/05/13 02:43:46 thorpej Exp %
.\"
.\" Copyright (c) 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 acknowledgement:
.\" This product includes software developed by Christopher G. Demetriou.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ypwhich.1,v 1.1.2.2 1998/07/17 08:19:43 jkh Exp %
+.\" %Id: ypwhich.1,v 1.3 1998/06/04 21:06:04 steve Exp %
.\"
.Dd February 23, 1994
.Dt YPWHICH 1
.Os
.Sh 名称
.Nm ypwhich
.Nd YP サーバのホスト名、もしくはマップのマスタを表示する
.Sh 書式
.Nm ypwhich
.Op Fl d Ar domain
.Oo
.Op Fl t
.Fl m Op Ar mname
|
.Ar host
.Oc
.Nm ypwhich
.Fl x
.Sh 解説
.Nm
はどの
.Tn YP
サーバが
.Tn YP
サービスをクライアントに提供しているか、または、どれがマップのマスタ
なのかを、知らせます。
引数なしで用いられると、ローカルマシンの
.Tn YP
サーバを返します。
.Ar host
を指定した場合には、どの
.Tn YP
サーバを使っているのか、指定したマシンに問合せます。
.Pp
オプションには以下のものが有ります:
.Bl -tag -width indent
.It Fl d Ar domain
デフォルトのドメインの代わりに
.Ar domain
を使用します。
.It Fl t
ニックネームを対応するマップネームに展開するのを抑制します。
.It Fl m Op Ar mname
指定したマップの
.Tn YP
サーバを探します。
.Fl m
オプションでは、
.Ar host
は指定できません。
.Ar mname
は、マップネームでもニックネームでもかまいません。もし
.Ar mname
が省略されていると、
.Nm
は、利用できるマップのリストを作成します。
.It Fl x
マップのニックネームのテーブルを表示します。
.El
.Sh 関連項目
.Xr domainname 1 ,
.Xr ypcat 1 ,
.Xr ypmatch 1 ,
.Xr yp 4 ,
.Xr ypbind 8 ,
.Xr yppoll 8 ,
.Xr ypset 8
.Sh 作者
.An Theo De Raadt
diff --git a/ja/man/man1/yyfix.1 b/ja/man/man1/yyfix.1
index 708e9a71cc..7cce78e6ef 100644
--- a/ja/man/man1/yyfix.1
+++ b/ja/man/man1/yyfix.1
@@ -1,116 +1,116 @@
.\" Copyright (c) 1990, 1991 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.
.\"
.\" @(#)yyfix.1 5.4 (Berkeley) 3/23/93
-.\" %Id: yyfix.1,v 1.1.1.1.8.2 1998/03/08 14:53:21 jkh Exp %
+.\" %Id: yyfix.1,v 1.2 1997/04/27 08:45:46 jmg Exp %
.\" jpman %Id: yyfix.1,v 1.3 1997/06/12 14:39:52 kubo Stab %
.\"
.Dd March 23, 1993
.Dt YYFIX 1
.Os BSD 4.4
.Sh 名称
.Nm yyfix
.Nd y.tab.c ファイルからテーブルを取り出す
.Sh 書式
.Nm yyfix
.Ar file
.Op Ar tables
.Sh 解説
歴史的には、
.Xr yacc 1
が生成したファイル
.Pa y.tab.c
からテーブルを取り出すために、
あるスクリプト (大抵は
.Dq :yyfix
という名前のもの) が用いられてきました。
現在のバージョンの
.Xr yacc
が生成するテーブル名は、これまでのバージョンの
.Xr yacc
が生成するものと異なるので、
この変換を簡単にするためにシェルスクリプト
.Nm
が提供されています。
.Pp
.Nm
の最初の (そして必須の) 引数は、
取り出したテーブルを格納するファイルの名前です。
.Pp
コマンドライン引数が更に指定された場合、
それらは取り出すテーブルのリストと解釈されます。
それ以外の場合、
.Nm
はファイル
.Pa y.tab.c
が新旧いずれの
.Xr yacc
から生成されたものかを判定し、
適切なテーブルを取り出そうとします。
.Pp
以前の
.Xr yacc
から取り出されるテーブルは以下の通りです:
.Dq yyexca ,
.Dq yyact ,
.Dq yypact ,
.Dq yypgo ,
.Dq yyr1 ,
.Dq yyr2 ,
.Dq yychk ,
.Dq yydef
.Pp
現バージョンの
.Xr yacc
から取り出されるテーブルは以下の通りです:
.Dq yylhs ,
.Dq yylen ,
.Dq yydefred ,
.Dq yydgoto ,
.Dq yysindex ,
.Dq yyrindex ,
.Dq yygindex ,
.Dq yytable ,
.Dq yyname ,
.Dq yyrule ,
.Dq yycheck
.Sh 関連ファイル
.Bl -tag -width y.tab.c
.It Pa y.tab.c
テーブルを取り出す元となるファイル
.El
.Sh 関連項目
.Xr yacc 1
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja/man/man5/a.out.5 b/ja/man/man5/a.out.5
index cec7ab4db5..dc8791f577 100644
--- a/ja/man/man5/a.out.5
+++ b/ja/man/man5/a.out.5
@@ -1,485 +1,485 @@
.\" 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
-.\" %Id: a.out.5,v 1.4.2.1 1996/12/31 22:50:38 mpp Exp %
+.\" %Id: a.out.5,v 1.7 1997/02/22 13:25:56 peter Exp %
.\"
.\" jpman %Id: a.out.5,v 1.3 1998/08/09 12:51:56 horikawa Stab %
.\" 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 書式
.Fd #include <a.out.h>
.Sh 解説
インクルードファイル
.Aq Pa 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) で格納されます。
このフィールドはいくつかのサブコンポーネントを持っており、それらは
以下のマクロ
.Dv N_GETFLAG() ,
.Dv N_GETMID() ,
.Dv N_GETMAGIC()
で参照され、マクロ
.Dv N_SETMAGIC()
で設定されます。
.Pp
マクロ
.Dv 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
マクロ
.Dv N_GETMID()
はマシン識別コード (machine-id) を返します。
これは、バイナリファイルが実行されるべきマシンを示しています。
.Pp
.Dv 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 になるように、
プログラムをロードします。
.It Fa a_syms
シンボルテーブルセクションのサイズ (バイト単位) を保持します。
.It Fa a_entry
カーネルがバイナリファイルをロードした後の、
プログラムのエントリポイントのメモリアドレスを保持します。
カーネルは、このアドレスにある機械命令からプログラムの実行を開始します。
.It Fa a_trsize
テキストリロケーションテーブルのサイズ (バイト単位) を保持します。
.It Fa a_drsize
データリロケーションテーブルのサイズ (バイト単位) を保持します。
.El
.Pp
インクルードファイル
.Pa 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
のいずれかをとります
.Po
これらの定義については
.Aq Pa link.h
を参照してください
.Pc 。
.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 link 5 ,
.Xr stab 5
.Sh 歴史
インクルードファイル
.Pa a.out.h
.At v7
で登場しました。
.Sh バグ
必ずしも全てのサポート対象アーキテクチャが
.Fa a_midmag
フィールドを用いるわけではないので、
あるバイナリがどのようなアーキテクチャ上で実行されるのかは、
実際のマシンコードを調べない限り判定困難な可能性があります。
マシン ID があったとしても、
.Fa exec
ヘッダのバイト順はマシン依存です。
.Pp
.Em bss
が何の略なのか、に関する合意はないようです。
.Pp
将来、新しいバイナリファイルフォーマットがサポートされるかも知れませんが、
その新フォーマットは恐らく、
あらゆるレベルでこの太古のフォーマットと互換性がないでしょう。
diff --git a/ja/man/man5/acct.5 b/ja/man/man5/acct.5
index dca16ef9fc..de5145913d 100644
--- a/ja/man/man5/acct.5
+++ b/ja/man/man5/acct.5
@@ -1,115 +1,115 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)acct.5 8.1 (Berkeley) 6/5/93
-.\" %Id: acct.5,v 1.1.1.1.8.4 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: acct.5,v 1.5 1998/06/28 21:33:41 hoek Exp %
.\"
.\" jpman %Id: acct.5,v 1.3 1998/05/27 11:45:48 kuma Stab %
.\"
.\" WORD: account アカウント[acct.5]
.\" WORD: accounting file アカウンティングファイル[acct.5]
.\" WORD: structure 構造体(C言語の)[C]
.\"
.Dd June 5, 1993
.Dt ACCT 5
.Os
.Sh 名称
.Nm acct
.Nd 実行アカウントファイル
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <sys/acct.h>
.Sh 解説
カーネルは、下記の
.Fa acct
情報構造を、全プロセスに対して管理します。
プロセスが終了すると、アカウンティングが有効になっている場合には、
カーネルは
.Xr acct 2
関数呼び出しを行い、アカウンティングファイルに記録を追加します。
.Bd -literal
/*
* アカウンティング構造体; これらは、基底値 8 の 3 ビット指数部および
* 13 ビット小数部の ``浮動小数点数'' である comp_t 型を使用します。
* 単位は 1/AHZ 秒です。
*/
typedef u_short comp_t;
#define AC_COMM_LEN 16
struct acct {
char ac_comm[AC_COMM_LEN]; /* コマンド名 */
comp_t ac_utime; /* ユーザ時間 */
comp_t ac_stime; /* システム時間 */
comp_t ac_etime; /* 経過時間 */
time_t ac_btime; /* 開始時刻 */
uid_t ac_uid; /* ユーザ ID */
gid_t ac_gid; /* グループ ID */
short ac_mem; /* 平均メモリ使用量 */
comp_t ac_io; /* 入出力ブロック数 */
dev_t ac_tty; /* 制御 tty */
#define AFORK 0x01 /* fork したが exec されていない */
#define ASU 0x02 /* スーパユーザ権限を使用した */
#define ACOMPAT 0x04 /* 互換モードを使用した */
#define ACORE 0x08 /* コアダンプした */
#define AXSIG 0x10 /* シクナルにより kill された */
char ac_flag; /* アカウンティングフラグ */
};
/*
* 1/AHZ の粒度で、データは comp_t フィールドにエンコードされます。
* 必ずしも周波数と同一となるとは限りません。
*/
#define AHZ 64
.Ed
.Pp
終了したプロセスが
.Xr execve 2
により生成されたものだった場合、
実行されたファイルのファイル名 (最大 10 文字まで) が
.Fa ac_comm
フィールドに保存され、その状態は
.Fa ac_flag
の次のフラグの 1 つ以上を設定することにより保存されます:
.Dv AFORK ,
.Dv ASU ,
.Dv ACOMPAT ,
.Dv ACORE ,
.Dv ASIG
.Sh 関連項目
.Xr acct 2 ,
.Xr execve 2 ,
.Xr sa 8
.Sh 歴史
.Nm
ファイルフォーマットは
.At v7
から登場しました。
diff --git a/ja/man/man5/aliases.5 b/ja/man/man5/aliases.5
index 3b8503862c..2f3e336bc3 100644
--- a/ja/man/man5/aliases.5
+++ b/ja/man/man5/aliases.5
@@ -1,108 +1,85 @@
-.\" Copyright (c) 1983, 1997 Eric P. Allman
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1985, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" 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.
+.\" 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.
.\"
-.\" 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.
-.\"
-.\" @(#)aliases.5 8.3 (Berkeley) 2/1/97
+.\" @(#)aliases.5 8.8 (Berkeley) 5/19/98
.\" jpman %Id: aliases.5,v 1.3 1998/05/28 15:47:09 kuma Stab %
.\"
.\" WORD: alias (名)別名(sendmail),エイリアス(csh)(動)エイリアスする(sendmail)[aliases.5,csh.1]
.\"
-.Dd February 1, 1997
+.Dd May 19, 1998
.Dt ALIASES 5
.Os BSD 4
.Sh 名称
.Nm aliases
.Nd sendmail のためのエイリアスファイル
.Sh 書式
.Nm aliases
.Sh 解説
このファイルには、
.Pa /usr/sbin/sendmail
が使用する、ユーザ
.Tn ID
の別名を記述します。
このファイルは
.Pa /etc
に置かれる、下記の形式の一連の行です。
.Bd -filled -offset indent
name: name_1, name_2, name_3, . . .
.Ed
.Pp
.Em name
はエイリアスする名前、
.Em name_n
はその名前の別名です。
空白ではじまる行は継続行です。
.Ql #
ではじまる行はコメントです。
.Pp
エイリアスはローカル名でのみ適用されます。
ループは起りえません。
なぜなら、メッセージは同じ人に複数回送られないからです。
.Pp
エイリアス適用後、ローカルかつ有効な受信者で
.Dq Pa .forward
ファイルをホームディレクトリに持つ人のメッセージは、
このファイルに定義された一連のユーザに転送されます。
.Pp
これは単なる生のデータファイルです;
実際のエイリアス情報は
.Xr newaliases 1
プログラムを使用することにより、バイナリ形式でファイル
.Pa /etc/aliases.db
に置かれます。aliases ファイルを更新したときには、その内容を反映させるために、
.Xr newaliases
コマンドを実行する必要があります。
.Sh 関連項目
.Xr newaliases 1 ,
.Xr dbm 3 ,
.Xr dbopen 3 ,
.Xr sendmail 8
.Rs
.%T "SENDMAIL Installation and Operation Guide"
.Re
.Rs
.%T "SENDMAIL An Internetwork Mail Router"
.Re
.Sh バグ
.Xr sendmail
を NEWDB サポート付きではなく DBM サポート付きでコンパイルした時には、
エイリアス 1 つがおよそ 1000 バイトまでの情報に限るという
.Xr dbm 3
の制約が問題となるかもしれません。
このような場合に長いエイリアスを使用するためには ``連鎖'' を使用します;
これは別名の最後の名前をダミーの名前にし、
これを引続き別の別名として使用するというものです。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.0
に登場しました。
diff --git a/ja/man/man5/bootparams.5 b/ja/man/man5/bootparams.5
index 800eb21aa5..8f46e7c86a 100644
--- a/ja/man/man5/bootparams.5
+++ b/ja/man/man5/bootparams.5
@@ -1,78 +1,78 @@
.\"
.\" Copyright (c) 1994 Gordon W. Ross
.\" 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.
.\"
.\" from: Id: bootparams.5,v 1.2 1994/10/03 19:26:13 gwr Exp
-.\" %Id: bootparams.5,v 1.2.2.5 1998/03/09 13:50:33 jkh Exp %
+.\" %Id: bootparams.5,v 1.8 1998/01/01 11:02:45 bde Exp %
.\" jpman %Id: bootparams.5,v 1.3 1998/04/29 11:35:09 kuma Stab %
.\"
.Dd October 2, 1994
.Dt BOOTPARAMS 5
.Os
.Sh 名称
.Nm bootparams
.Nd ブートパラメータデータベース
.Sh 書式
.Nm /etc/bootparams
.Sh 解説
.Nm
ファイルは、
ディスクレスクライアントがネットワーク越しにブートする時に要求する、
ブートパラメータを指定します。
このサーバがサポートする各クライアントは、
.Nm
ファイル中に、
.Nm root
のパス名と (オプションで)
.Nm swap
領域のパス名を含むエントリを持つ必要があります。
.Pp
ファイル中の各行 (# から初まるコメント行以外) は、
クライアント名、
それに続いてクライアントの論理名にて要求するパス名から成ります。
行内部の要素は空白もしくはタブで区切られ、
バックスラッシュを使用すれば複数行を続けて使用することができます。
.Pp
例を以下に示します:
.Bd -literal -offset indent
dummy root=host:/export/dummy/root \\
swap=host:/export/dummy/swap \\
dump=host:/export/dummy/swap
.Ed
.Pp
名前が "dummy" のクライアントが、自らの論理 "root" のパス名を要求した時、
この
.Tn RPC
リクエストに対してパス名
.Dq Pa "host:/export/dummy/root"
が返答として与えられます。"host:" 部分は必ず指定する必要があります。
.Sh 関連ファイル
.Bl -tag -width /etc/bootparams -compact
.It Pa /etc/bootparams
デフォルトの構成ファイル
.El
.Sh 関連項目
.Xr bootparamd 8 ,
.Xr diskless 8
diff --git a/ja/man/man5/bootptab.5 b/ja/man/man5/bootptab.5
index e2e8849165..d480205969 100644
--- a/ja/man/man5/bootptab.5
+++ b/ja/man/man5/bootptab.5
@@ -1,395 +1,413 @@
.\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University
.\"
-.\" %Header: /home/ncvs/src/libexec/bootpd/bootptab.5,v 1.1.1.2.2.2 1998/02/18 05:55:30 jkh Exp %
+.\" %Id: bootptab.5,v 1.2 1998/02/03 07:30:22 charnier Exp %
.\"
-.TH BOOTPTAB 5 "October 31, 1991" "Carnegie Mellon University"
.\" jpman %Id: bootptab.5,v 1.3 1998/07/02 18:50:36 kumano Stab %
-.UC 6
-
-.SH 名称
-bootptab \- インターネットブートストラッププロトコルサーバのデータベース
-.SH 解説
-.I bootptab
+.Dd October 31, 1991
+.Dt BOOTPTAB 5
+.Os "Carnegie Mellon University"
+.Sh 名称
+.Nm bootptab
+.Nd インターネットブートストラッププロトコルサーバのデータベース
+.Sh 解説
+.Nm
ファイルは、
-.IR bootpd
+.Xr bootpd 8
すなわちインターネットブートストラッププロトコルサーバの
設定データベースファイルです。
このフォーマットは
-.IR termcap (5)
+.Xr termcap 5
のものに似ており、2 文字の大文字小文字を区別するタグシンボルが
ホストパラメータを表現します。
これらのパラメータ宣言はコロン (:) によって分けられ、次のような形式になります。
-.PP
-.I " hostname:tg=value. . . :tg=value. . . :tg=value. . . ."
-.PP
+.Pp
+.Dl "hostname:tg=value. . . :tg=value. . . :tg=value. . . ."
+.Pp
ここで
-.I hostname
+.Em hostname
は実際の bootp クライアントの名前 (もしくは「ダミーエントリ」) であり、
-.I tg
+.Em tg
は 2 文字のタグシンボルです。
ダミーエントリは不正なホスト名 ("." を最初の文字とする名前) を持ち、
-.B tc=.dummy-entry
+.Em tc=.dummy-entry
機構を介して他のエントリにデフォルト値を提供します。
ほとんどのタグの後には、上記のように等号と値を続ける必要があります。
値を伴わないブール形式のものもあります (すなわち
-.RI : tg :
+.Em :tg:
の形式です)。
現在、認識されるタグを示します:
-.PP
-.br
- bf ブートファイル
-.br
- bs 512 オクテットブロックでのブートファイルの大きさ
-.br
- cs クッキーサーバのアドレスリスト
-.br
- df メリットダンプファイル
-.br
- dn ドメイン名
-.br
- ds ドメインネームサーバのアドレスリスト
-.br
- ef 拡張ファイル
-.br
- gw ゲートウェイのアドレスリスト
-.br
- ha ホストのハードウェアアドレス
-.br
- hd ブートファイルのホームディレクトリ
-.br
- hn クライントのホスト名をクライアントに送る
-.br
- ht ホストのハードウェアタイプ (Assigned Numbers RFC を参照)
-.br
- im インプレスサーバのアドレスリスト
-.br
- ip ホストの IP アドレス
-.br
- lg ログサーバのアドレスリスト
-.br
- lp LPR サーバのアドレスリスト
-.br
- ns IEN-116 ネームサーバのアドレスリスト
-.br
- nt NTP (時刻) サーバ (RFC 1129)
-.br
- ra 返答アドレスの上書き
-.br
- rl リソースロケーションプロトコルサーバのアドレスリスト
-.br
- rp ルートとしてマウントするルートパス
-.br
- sa クライアントが使用すべき TFTP サーバのアドレス
-.br
- sm ホストのサブネットマスク
-.br
- sw スワップサーバのアドレス
-.br
- tc テーブル継続 (同様の「テンプレート」ホストエントリを指します)
-.br
- td 「安全な」 TFTP サーバが使用するルートディレクトリ
-.br
- to 秒で表現した UTC からのオフセット
-.br
- ts タイムサーバのアドレスリスト
-.br
- vm ベンダマジッククッキーセレクタ
-.br
- yd YP (NIS) のドメイン名
-.br
- ys YP (NIS) のサーバアドレス
-
-.PP
+.Pp
+.Bl -tag -width xxx -compact
+.It bf
+ブートファイル
+.It bs
+512 オクテットブロックでのブートファイルの大きさ
+.It cs
+クッキーサーバのアドレスリスト
+.It df
+メリットダンプファイル
+.It dn
+ドメイン名
+.It ds
+ドメインネームサーバのアドレスリスト
+.It ef
+拡張ファイル
+.It gw
+ゲートウェイのアドレスリスト
+.It ha
+ホストのハードウェアアドレス
+.It hd
+ブートファイルのホームディレクトリ
+.It hn
+クライントのホスト名をクライアントに送る
+.It ht
+ホストのハードウェアタイプ (Assigned Numbers RFC を参照)
+.It im
+インプレスサーバのアドレスリスト
+.It ip
+ホストの IP アドレス
+.It lg
+ログサーバのアドレスリスト
+.It lp
+LPR サーバのアドレスリスト
+.It ns
+IEN-116 ネームサーバのアドレスリスト
+.It nt
+NTP (時刻) サーバ (RFC 1129)
+.It ra
+返答アドレスの上書き
+.It rl
+リソースロケーションプロトコルサーバのアドレスリスト
+.It rp
+ルートとしてマウントするルートパス
+.It sa
+クライアントが使用すべき TFTP サーバのアドレス
+.It sm
+ホストのサブネットマスク
+.It sw
+スワップサーバのアドレス
+.It tc
+テーブル継続 (同様の「テンプレート」ホストエントリを指します)
+.It td
+「安全な」 TFTP サーバが使用するルートディレクトリ
+.It to
+秒で表現した UTC からのオフセット
+.It ts
+タイムサーバのアドレスリスト
+.It vm
+ベンダマジッククッキーセレクタ
+.It yd
+YP (NIS) のドメイン名
+.It ys
+YP (NIS) のサーバアドレス
+.El
+.Pp
包括的な
-.RI T n
+.Pf T Em n
タグもあります。ここで
-.I n
+.Em n
は RFC1084 のベンダフィールドタグ番号です。
これにより、まず
-.I bootpd
+.Nm bootpd
を変更しなくとも、
RFC1084 に対する将来の拡張の利点をすぐに利用することができます。
包括的なデータは、
-16 進数のストリームもしくはクォートされた ASCII 文字列として表現されます。
+16 進数のストリームもしくはクォートされた
+.Tn ASCII
+文字列として表現されます。
包括的なデータの長さは自動的に判定され、
RFC1084 スタイルのブートストラップリプライの適切なフィールドに挿入されます。
-.PP
+.Pp
以下のタグは空白で区切られた IP アドレスのリストを取ります:
-.BR cs ,
-.BR ds ,
-.BR gw ,
-.BR im ,
-.BR lg ,
-.BR lp ,
-.BR ns ,
-.BR nt ,
-.BR ra ,
-.BR rl ,
-.BR ts
+.Em cs ,
+.Em ds ,
+.Em gw ,
+.Em im ,
+.Em lg ,
+.Em lp ,
+.Em ns ,
+.Em nt ,
+.Em ra ,
+.Em rl ,
+.Em ts
。また
-.BR ip ,
-.BR sa ,
-.BR sw ,
-.BR sm ,
-.B ys
+.Em ip ,
+.Em sa ,
+.Em sw ,
+.Em sm ,
+.Em ys
タグはそれぞれ単一の IP アドレスを取ります。
IP アドレスは全て標準のインターネット「ドット」表記で指定されます。
10 進数、8 進数、16 進数のいずれも使用可能です
(8 進数は 0 から始まり、16 進数は '0x' または '0X' から始まります)。
IP アドレスは代りにホスト名で指定可能です。
この場合、
-.I bootpd
-はそのホスト名の IP アドレスを得るために gethostbyname(3) を使用します。
+.Nm bootpd
+はそのホスト名の IP アドレスを得るために
+.Xr gethostbyname 3
+を使用します。
もし
-.B ip
+.Em ip
タグが指定されなかった場合、
-.I bootpd
+.Nm bootpd
はエントリ名をホスト名とすることにより IP アドレスを判定します。
(ダミーエントリは不正なホスト名とすることにより、
自動的な IP 検索を避けます)
-.PP
-.B ht
+.Pp
+.Em ht
タグは、10 進数・8 進数・16 進数の符号無し整数、
もしくは以下のいずれかのシンボル名をもって、
ハードウェアタイプコードを指定します。
-.BR ethernet ,
-.B ether
+.Em ethernet ,
+.Em ether
は 10Mb イーサネットを、
-.BR ethernet3 ,
-.B ether3
+.Em ethernet3 ,
+.Em ether3
は 3Mb の実験的イーサネットを、
-.BR ieee802 ,
-.BR tr ,
-.B token-ring
+.Em ieee802 ,
+.Em tr ,
+.Em token-ring
は IEEE 802 ネットワークを、
-.B pronet
+.Em pronet
は Proteon ProNET Token Ring を、
-.BR chaos ,
-.BR arcnet ,
-.B ax.25
+.Em chaos ,
+.Em arcnet ,
+.Em ax.25
は Chaos, ARCNET, AX.25 Amateur Radio networks を、それぞれ表現します。
-.B ha
+.Em ha
タグは、ホスト名もしくは数値形式で、ハードウェアアドレスを指定します。
数値形式は 16 進数で指定する
-.I 必要があります
+.Em 必要があります
。可読性のためにピリオドを付けたり、前に '0x' を付けても良いです。
-.B ha
+.Em ha
タグの前に
-.B ht
+.Em ht
タグがある必要があります (明示的でも暗黙的でもかまいません。後述の
-.B tc
+.Em tc
参照)。ハードウェアアドレスが指定されない場合、指定されたタイプが
\&"ethernet" もしくは
\&"ieee802" の場合、
-.I bootpd
-は ether_hostton(3) を使用してハードウェアアドレスを決定しようとします。
-.PP
-ホスト名・ホームディレクトリ・ブートファイルは ASCII 文字列であり、
+.Nm bootpd
+は
+.Xr ether_hostton 3
+を使用してハードウェアアドレスを決定しようとします。
+.Pp
+ホスト名・ホームディレクトリ・ブートファイルは
+.Tn ASCII
+文字列であり、
ダブルクォート (") で括ることもできます。
クライアントのリクエストおよび
-.B hd
+.Em hd
シンボルと
-.B bf
+.Em bf
シンボルの値は、bootp リプライパケットのブートファイルフィールドを
サーバがどのように埋めるかを決定します。
-.PP
+.Pp
クライアントがファイル名を指定した場合、それはそのまま残されます。
そうでない場合は、
-.B bf
+.Em bf
オプションが指定されていれば、その値がリプライパケットにコピーされます。
もし
-.B hd
+.Em hd
オプションも指定されている場合には、
その値がリプライパケットにコピーされるブートファイルの前に付きます。
ブートファイルの存在確認は
-.BR bs =auto
+.Em bs Ns =auto
オプションが使用されているときのみ行われます
(ブートファイルサイズ確認のためです)。
ブートファイルが存在しようとしまいと、リプライは送られます。
-.PP
+.Pp
新しいバージョンの
-.I tftpd
+.Xr tftpd 8
では、
-.IR chroot (2)
+.Xr chroot 2
システムコールを使用してルートディレクトリを変更するという
セキュリティ機能を提供します。
-.B td
+.em td
タグは、
-.IR tftpd
+.Nm tftpd
が使用するこの特殊ルートディレクトリを
-.I bootpd
+.Nm bootpd
に通知するために使用します。
(代りに
-.I bootpd
-"-c chdir" オプションを使用したいかもしれません。)
+.Nm bootpd
+.Fl c Ar chdir
+オプションを使用したいかもしれません。)
実際、
-.B hd
+.Em hd
タグは
-.B td
+.Em td
タグにより指定されるルートディレクトリからの相対指定です。
例えば、BOOTP クライアントブートファイルの現実の絶対パスが
-/tftpboot/bootfiles/bootimage であり、
-.IR tftpd
-が /tftpboot を「安全な」ディレクトリとする場合、
-.IR bootptab
+.Pa /tftpboot/bootfiles/bootimage
+であり、
+.Nm tftpd
+が
+.Pa
+/tftpboot
+を「安全な」ディレクトリとする場合、
+.Pa bootptab
では次のように指定します。
-.PP
-.br
- :td=/tftpboot:hd=/bootfiles:bf=bootimage:
-.PP
-ブートファイルを直接 /tftpboot に置く場合には次のようにします。
-.PP
-.br
- :td=/tftpboot:hd=/:bf=bootimage:
-.PP
-.B sa
+.Pp
+.Fl :td=/tftpboot:hd=/bootfiles:bf=bootimage:
+.Pp
+ブートファイルを直接
+.Pa /tftpboot
+に置く場合には次のようにします。
+.Pp
+.Dl :td=/tftpboot:hd=/:bf=bootimage:
+.Pp
+.Em sa
タグは、あなたがクライアントに使用させたい特定の TFTP サーバの IP アドレスを
指定するために使用します。
このタグを指定しないと、
-.I bootpd
+.Nm bootpd
が実行されているのと同じマシンに対して TFTP を行うように、
.I bootpd
はクライアントに指示します。
-.PP
+.Pp
時刻オフセット
-.B to
+.Em to
は、クライアントの UTC からのタイムゾーンオフセットを秒で表現した
符号付き 10 進数、
またはサーバのタイムゾーンオフセットを使用することを意味するキーワード
-.B auto
+.Em auto
です。
-.B to
+.Em to
シンボルをブール値として指定することは、
-.B auto
+.Em auto
を値として指定するのと同じ効果があります。
-.PP
+.Pp
ブートファイルサイズ
-.B bs
+.Em bs
は、10 進数・8 進数・16 進数の整数で
ブートファイルのサイズを 512 オクテットブロックで表現したもの、
またはサーバが各リクエストに際して
ブートファイルサイズを自動的に計算することを示すキーワード
-.B auto
+.Em auto
です。
時刻オフセットと同じく、
-.B bs
+.Em bs
シンボルをブール値として指定することは、
-.B auto
+.Em auto
を値として指定するのと同じ効果があります。
-.PP
+.Pp
ベンダマジッククッキーセレクタ (
-.B vm
+.Em vm
タグ) は以下のキーワードのいずれかを取ります。
-.B auto
+.Em auto
(ベンダ情報をクライアントリクエストから判別)、
-.B rfc1048
+.Em rfc1048
または
-.B rfc1084
+.Em rfc1084
(常に RFC1084 スタイルのリプライを強制)、または
-.B cmu
+.Em cmu
(常に CMU スタイルのリプライを強制) です。
-.PP
-.B hn
+.Pp
+.Em hn
タグは厳密にブール値のタグです。通常の等号および値を取りません。
このタグが存在すると、ホスト名を RFC1084 クライアントに送ることを意味します。
-.I bootpd
+.Nm bootpd
は、構成ファイルで指定されるホスト名全体を送ろうとします。
リプライパケットに収まらない場合、
名前は (存在するならば最初のピリオドまでの) ホストフィールドのみに縮められ、
再度試されます。
任意の長さに縮められたホスト名が送られてしまうということはありません
(収まるものがない場合には、なにも送られません)。
-.PP
+.Pp
しばしば、多くのホストエントリが特定のタグの共通の値を共有します
(ネームサーバなど)。
これらのタグを何度も書くのではなく、
全体仕様を 1 つのホストエントリに記述してこれを
-.B tc
+.Em tc
(テーブル継続) 機構を介して共有することができます。
多くの場合、このテンプレートエントリは実際には存在しないダミーホストであり、
bootp リクエストを送ることはありません。
この機能は、
-.IR termcap (5)
+.Xr termcap 5
で似た端末を記述するための
-.B tc
+.Em tc
機能に似ています。
-.I termcap
+.Pa termcap
では最後のタグでなければなりませんが、
-.I bootpd
+.Nm bootpd
では
-.B tc
+.Em tc
タグシンボルがホストエントリ中のどこにあらわれても良いことに注意してください。
ホストに対して明示的に指定した情報は、エントリ中の
-.B tc
+.Em tc
タグシンボルの位置にかかわらず、これにより暗黙に指定される情報を上書きします。
-.B tc
+.Em tc
タグの値はホスト名もしくは構成ファイルで前に記述されている IP アドレスです。
-.PP
-.BR tc
+.Pp
+.Em tc
タグで暗示された特定のタグの削除が必要になることがあります。
これは
-.IB tag @
+.Em tag Ns @
構造を使用することにより、
-.IR termcap (5)
+.Xr termcap 5
の場合と同様に
-.I tag
+.Em tag
の効果を削除することにより実現できます。
例えば、IEN-116 ネームサーバ仕様を完全に無効にしたい場合には、
構成ファイルのエントリの適切な位置に
-\&":ns@:" を置きます。
-.BR @
+.Em :ns@:
+を置きます。
+.Em @
を使用して削除を行った後には、
-.B tc
+.Em tc
機構を使用してそのタグを再度設定することができます。
-.PP
+.Pp
構成ファイル中の、空行および "#" で始まる行は無視されます。
ホストエントリは改行で分けられます。
単一のホストエントリは、
行がバックスラッシュ (\\) で終る場合に複数行にまたがることができます。
行が 80 文字を越えることも許されます。
タグは任意の順序で現われてかまいませんが、次のような例外があります。
ホスト名はエントリの最初のフィールドである必要があり、
ハードウェアタイプはハードウェアアドレスの前に指定する必要があります。
-.PP
-.I /etc/bootptab
+.Pp
+.Pa /etc/bootptab
ファイルの例を示します:
-.PP
+.Pp
.nf
# Sample bootptab file (domain=andrew.cmu.edu)
.default:\\
:hd=/usr/boot:bf=null:\\
:ds=netserver, lancaster:\\
:ns=pcs2, pcs1:\\
:ts=pcs2, pcs1:\\
:sm=255.255.255.0:\\
:gw=gw.cs.cmu.edu:\\
:hn:to=-18000:
carnegie:ht=6:ha=7FF8100000AF:tc=.default:
baldwin:ht=1:ha=0800200159C3:tc=.default:
wylie:ht=1:ha=00DD00CADF00:tc=.default:
arnold:ht=1:ha=0800200102AD:tc=.default:
bairdford:ht=1:ha=08002B02A2F9:tc=.default:
bakerstown:ht=1:ha=08002B0287C8:tc=.default:
# Special domain name server and option tags for next host
butlerjct:ha=08002001560D:ds=128.2.13.42:\\
:T37=0x12345927AD3BCF:\\
:T99="Special ASCII string":\\
:tc=.default:
gastonville:ht=6:ha=7FFF81000A47:tc=.default:
hahntown:ht=6:ha=7FFF81000434:tc=.default:
hickman:ht=6:ha=7FFF810001BA:tc=.default:
lowber:ht=1:ha=00DD00CAF000:tc=.default:
mtoliver:ht=1:ha=00DD00FE1600:tc=.default:
.fi
-.SH 関連ファイル
-/etc/bootptab
-
-.SH "関連項目"
-bootpd (8), tftpd(8)
+.Sh 関連ファイル
+.Bl -tag -width /etc/bootptab -compact
+.It /etc/bootptab
+.El
+.Sh "関連項目"
+.Xr bootpd 8 ,
+.Xr tftpd 8
.br
DARPA Internet Request For Comments RFC951, RFC1048, RFC1084, Assigned Numbers
diff --git a/ja/man/man5/core.5 b/ja/man/man5/core.5
index 39069976e4..10fe67e28c 100644
--- a/ja/man/man5/core.5
+++ b/ja/man/man5/core.5
@@ -1,110 +1,132 @@
.\" 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
-.\" %Id: core.5,v 1.2.2.2 1998/05/11 03:42:44 steve Exp %
+.\" %Id: core.5,v 1.7 1998/07/21 18:16:00 joerg Exp %
.\"
.\" jpman %Id: core.5,v 1.3 1998/06/12 15:55:30 kumano Stab %
.\"
.Dd December 11, 1993
.Dt CORE 5
.Os BSD 4
.Sh 名称
.Nm core
.Nd メモリイメージのファイルフォーマット
.Sh 書式
.Fd #include <sys/param.h>
.Sh 解説
プロセスを異常終了させる少数のシグナルは、
プロセスのメモリ内状態の記録をディスクに書き出させる効果もあります。
これにより、デバッガを使用して後で検査を行うことが可能です。(
.Xr sigaction 2
を参照してください。)
-このメモリイメージは作業ディレクトリの
+このメモリイメージは、デフォルトでは作業ディレクトリの
.Nm プログラム名.core
という名前のファイルに書かれます。
ただし、終了したプロセスがそのディレクトリに書きこみ権限を持ち、
発生した異常がシステムを破壊しないことが前提です。
(システムが破壊された場合には、
コアファイルを保存するかどうかの決定は不定です。
.Xr savecore 8
を参照してください。)
.Pp
-.Nm プログラム名.core
-ファイルの最大サイズは
+コアファイルの最大サイズは
.Xr setrlimit 2
により制限されます。
制限よりも大きくなるファイルは生成されません。
-.Pp
-.Nm プログラム名.core
-ファイルは、(ページ数での) 大きさが
+ファイル名は
+.Xr sysctl 8
+変数
+.Va kern.corefile
+にて制御されます。
+この変数の内容がコアイメージを格納するファイルの名前を示します。
+このファイル名は絶対でも相対でもかまいません
+(後者の場合、コアを生成するプログラムの現在のディレクトリから解決されます)。
+このファイル名テンプレート中のシーケンス
+.Em \&%N
+はプロセス名で置き換えられ、
+.Em \&%P
+はプロセスの PID で置き換えられ、
+.Em \&%U
+は UID で置き換えられます。
+デフォルトの名前は
+.Em \&%N.core
+であり、伝統的な FreeBSD の振舞いとなります。
+コアファイルは、(ページ数での) 大きさが
.Aq Pa sys/param.h
ファイルで
.Dv UPAGES
と定義されている
.Fa u .
領域からなります。
.Fa u .
領域は
.Aq Pa sys/user.h
に記述されている
.Fa user
構造体から始まります。
-.Nm プログラム名.core
-の残りの部分には、
+コアの残りの部分には、
データページに続いてプロセスイメージのスタックページが格納されます。
-.Nm プログラム名.core
-ファイル中のデータ空間イメージの (ページ数での) 大きさは、
+コアファイル中のデータ空間イメージの (ページ数での) 大きさは、
.Fa u .
領域の変数
.Fa u_dsize
で与えられます。
コアファイル中のスタックイメージの (ページ数での) 大きさは、
.Fa u .
領域の変数
.Fa u_ssize
で与えられます。
``ページ'' サイズは定数
.Dv PAGE_SIZE
-.\" docs/6573 の内容を反映 horikawa@jp.freebsd.org 1998/05/18
で与えられます (これも
.Aq Pa sys/param.h
から与えられます)。
+.Sh 使用例
+全コアイメージを、
+.Pa /var/coredumps
+以下のユーザごとのプライベート領域に格納するためには、
+次のように
+.Xr sysctl 8
+コマンドを使用します:
+.Pp
+.Dl sysctl -w kern.corefile="/var/coredumps/\&%U/\&%N.core"
.Sh 関連項目
.Xr gdb 1 ,
.Xr kgdb 1 ,
.Xr setrlimit 2 ,
-.Xr sigaction 2
+.Xr sigaction 2 ,
+.Xr sysctl 8
.Sh 歴史
.Nm core
ファイルのフォーマットは
.At v6
に登場しました。
diff --git a/ja/man/man5/crontab.5 b/ja/man/man5/crontab.5
index dddc38f22a..70e8eedb52 100644
--- a/ja/man/man5/crontab.5
+++ b/ja/man/man5/crontab.5
@@ -1,223 +1,223 @@
.\"/* Copyright 1988,1990,1993,1994 by Paul Vixie
.\" * All rights reserved
.\" *
.\" * Distribute freely, except: don't remove my name from the source or
.\" * documentation (don't take credit for my work), mark your changes (don't
.\" * get me blamed for your possible bugs), don't alter or remove this
.\" * notice. May be sold if buildable source is provided to buyer. No
.\" * warrantee of any kind, express or implied, is included with this
.\" * software; use at your own risk, responsibility for damages (if any) to
.\" * anyone resulting from the use of this software rests entirely with the
.\" * user.
.\" *
.\" * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
.\" * I'll try to keep a version up to date. I can be reached as follows:
.\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul
.\" */
.\"
-.\" %Id: crontab.5,v 1.1.1.1.8.4 1998/07/18 11:09:18 jkh Exp %
+.\" %Id: crontab.5,v 1.8 1998/03/23 08:21:36 charnier Exp %
.\"
.\" jpman %Id: crontab.5,v 1.3 1998/07/02 14:12:25 horikawa Stab %
.\"
.\" WORD: day of the week 曜日
.Dd January 24, 1994
.Dt CRONTAB 5
.Os
.Sh 名称
.Nm crontab
.Nd cron を駆動するための一覧表
.Sh 解説
1 つの
.Nm
ファイルには ``この日のこの時間にこのコマンドを実行せよ''
という一般的な形式の
.Xr cron 8
デーモンへの複数の指示が含まれています。
各々ユーザは各自所有の crontab を持ち、crontab に書かれたコマンドはその
crontab を所有するユーザとして実行されることになります。UUCP と News は
通常それ自身所有の crontab を持ち、cron コマンドの一部として
.Xr su 1
を実際に実行させる必要のないようにしています。
.Pp
空行と、先頭の空白およびタブは無視されます。
最初の非空白文字がポンド記号 (#) である行は注釈行であり、無視されます。
注釈は cron コマンドと同じ行にあってはいけません。
なぜなら、注釈自身がコマンドの一部とみなされるからです。
同様に、注釈は環境変数を設定する行と同じ行にあって
はいけません。
.Pp
crontab の中で有効なのは環境変数の設定かまたは cron コマンドのどちらかです。
環境変数の設定は次のような形で行います。
.Pp
name = value
.Pp
ここで等号 (=) の周囲の空白は有っても良いですが、
.Em value
の中で = に引き続くスペースでない部分だけが
.Em name
に割当てられる値となります。
.Em value
文字列はクォート
(シングルクォートまたはダブルクォートですがどちらかに統一します)
で囲うこともでき、そのときには = に続くブランクや末尾のブランク
を含むことができます。
.Pp
いくつかの環境変数は自動的に
.Xr cron 8
デーモンによって設定されます。
.Ev SHELL
.Pa /bin/sh
に設定され、
.Ev LOGNAME
.Ev HOME
はその crontab の所有者の
.Pa /etc/passwd
行を元に設定されます。
.Ev HOME
.Ev SHELL
は、crontab ファイル中で設定することで上書きできますが、
.Ev LOGNAME
はできません。
.Pp
(別注:
.Ev LOGNAME
変数は BSD システム上では
.Ev USER
と呼ばれることがあります。このようなシステム上では
.Ev USER
も設定されます。)
.Pp
.Ev LOGNAME ,
.Ev HOME ,
.Ev SHELL
に加え、
``この'' crontab で実行したコマンドの実行結果をメールで送る理由がある場合、
.Xr cron 8
.Ev MAILTO
を見ます。
.Ev MAILTO
が定義されていて (かつ空でない) とき、そこで指定された名前のユーザへメール
が送られます。
.Ev MAILTO
が定義されているが空のとき (MAILTO="")、メールは送られません。
その他の場合にはメールは crontab の所有者に送られます。
cron インストール時に、メーラとして
.Pa /usr/lib/sendmail
ではなく
.Pa /bin/mail
を使う場合、このオプションは有用です
--
.Pa /bin/mail
はエリアスを行いませんし、UUCP は通常自分宛のメールを読みません。
.Pp
cron コマンドのフォーマットはほとんど V7 標準であり、多くの上位互換拡張を
持っています。各行は 5 つの時間と日付の欄、システム crontab
ファイルの場合は続いてユーザ名
(``:<グループ>'' および ``/<ログインクラス>'' の添字が付くこともあります)、
その後にコマンドが続きます。分、時間、月の欄と現在の時刻が一致し、
.Em かつ
2 つの日付欄 (月における日または曜日) のうちの少なくとも 1 つと
現在の時刻が一致したとき (下記の ``注'' 参照) に、コマンドは
.Xr cron 8
により実行されます。
.Xr cron 8
は 1 分ごとに cron エントリを調べます。時間と日付の欄は次のとおりです。
.Bd -literal -offset indent
欄          許される値
------------ ------------------------------------------------
分 0-59
時間 0-23
月における日 1-31
月 1-12 (または名前、下記参照)
曜日 0-7 (0 および 7 は日曜のこと。名前を用いてもよい)
.Ed
.Pp
欄はアスタリスク (*) でも良いですが、このときには常に "最初-最後" を表すこ
とになります。
.Pp
数値領域を指定できます。領域指定は、2 つの数をハイフンでつなげたものです。
指定された領域は、両端を含みます。
たとえば ``時間'' エントリの 8-11 は、
8, 9, 10, 11 時の実行を指定することになります。
.Pp
リスト指定もできます。リスト指定はコンマによって数 (または領域指定) をつな
げた 1 組のことです。例: ``1,2,5,9'', ``0-4,8-12''。
.Pp
間隔値は領域指定と共に用いることができます。領域指定に続けて
``/<数>'' を指定すると、その領域を通じてその数の値だけ飛ばす値になります。
たとえば ``0-23/2'' は時間の欄で用いられると、2 時間おきにコマンドを実行
することになります (別の方法で V7 標準で表せば
``0,2,4,6,8,10,12,14,16,18,20,22'' となります)。間隔指定はアスタリスクの
後で付けても構いません。たとえば ``2 時間おきに全て'' ということをしたい
なら ``*/2'' とするだけです。
.Pp
``月'' および ``曜日'' の指定には、名前を使用することができます。
曜日と月の指定には、最初の 3 文字を使ってください (この場合、
大文字・小文字の区別はありません)。名前による領域指定やリスト指定はでき
ません。
.Pp
``6 番目'' の欄 (行の残りの部分) には実行したいコマンドを指定します。行の
中のコマンド部全体、これは改行または % 文字までですが、は
.Pa /bin/sh
かまたはその cron ファイルの
.Ev SHELL
変数で指定されたシェルによって実行されます。コマンド内のパーセント記号
(%) はバックスラッシュ (\\) でエスケープされない限り改行文字に変換され、そ
の最初の % 以降の全てのデータはそのコマンドの標準入力となります。
.Pp
注: コマンド実行の日付は 2 つの欄 \(em 1 ヶ月中の日 および曜日
\(em で指定できます。両方の欄が領域限定されている (すなわち * でない
) 場合、コマンドは
.Em どちらかの
欄が現在の時刻と一致するときに実行されます。たとえば
.br
``30 4 1,15 * 5''
は各月の 1 日および 15 日に加えて全ての金曜日において、
午前 4:30 にコマンドを実行させます。
.Sh cron ファイルの例
.Bd -literal
# /etc/passwd の設定に関係なく、コマンドの実行には /bin/sh を用いる
SHELL=/bin/sh
# これが誰の crontab であっても、全ての出力は `paul' にメールする
MAILTO=paul
#
# 毎月 深夜 0時5分 に実行する
5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
# 毎月の最初の日の PM 2:15 に実行する -- 出力結果は paul にメールされる
15 14 1 * * $HOME/bin/monthly
# ウィークディの PM 10 時に実行して Joe をうるさがらせる
0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?%
23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday"
5 4 * * sun echo "run at 5 after 4 every sunday"
.Ed
.Sh 関連項目
.Xr crontab 1 ,
.Xr cron 8
.Sh 機能拡張項目
曜日を指定するとき、日 0 と日 7 は日曜日とみなされます。BSD お
よび ATT はこれに同意しないようです。
.Pp
リスト指定および領域指定は同じ欄内で指定できます。"1-3,7-9" は ATT や
BSD cron では受け付けません -- "1-3" や "7,8,9" だけが許されます。
.Pp
領域指定は ``間隔指定'' を含むことができますので "1-9/2" は "1,3,5,7,9" と
同じことになります。
.Pp
月の名前や曜日の名前は、名前で指定できます。
.Pp
環境変数は crontab の中で指定できます。BSD や ATT では 子プロセスに渡さ
れた環境変数は基本的に
.Pa /etc/rc
から渡された環境変数です。
.Pp
crontab 所有者へメールされる (BSD はできません) コマンド出力結果は、
crontab 所有者以外の人へメールしたり (SysV はできません)、
この機能を停止して誰にもメールを送らなくできます
(SysV はこれもできません) 。
.Sh 作者
.An Paul Vixie Aq paul@vix.com
diff --git a/ja/man/man5/ctm.5 b/ja/man/man5/ctm.5
index c3a02f9e1a..1082672d29 100644
--- a/ja/man/man5/ctm.5
+++ b/ja/man/man5/ctm.5
@@ -1,225 +1,225 @@
.\"----------------------------------------------------------------------------
.\""THE BEER-WARE LICENSE" (Revision 42):
.\"<joerg@freebsd.org> wrote this file. As long as you retain this notice you
.\"can do whatever you want with this stuff. If we meet some day, and you think
.\"this stuff is worth it, you can buy me a beer in return. Joerg Wunsch
.\"----------------------------------------------------------------------------
.\"
.\" This manual page is partially obtained from Poul-Hennings CTM README
.\" file.
.\"
.\" CTM and ctm(1) by <phk@login.dknet.dk>
.\"
-.\" %Id: ctm.5,v 1.3.2.2 1998/07/18 11:09:44 jkh Exp %
+.\" %Id: ctm.5,v 1.7 1998/06/10 12:33:41 phk Exp %
.\"
.\" jpman %Id: ctm.5,v 1.3 1998/07/02 14:18:10 horikawa Stab %
.\"
.Dd March 25, 1995
.Os
.Dt CTM 5
.Sh 名称
.Nm ctm
.Nd source code mirror system
.Sh 解説
.Nm
は CTM デルタと呼ばれる特別のファイルフォーマットでデータを送ります。
CTM デルタは制御行とデータ塊を含みます。
各制御行は
.Dq CTM
という文字で始まり、CTM 文と制御データが続いて、文字 '\en'
で終ります。
データ塊は常に先行する制御行に属して、その制御行の
最後のフィールドにはデータ塊のバイト数が入っています。
後に続く改行文字 '\en' が各データ塊に続き、この
改行は塊には含まれずバイト数にも数えられません。
CTM 文は以下の形式をとります。
.Bl -tag -width indent
.It _BEGIN Ar version name number timestamp prefix
これが CTM デルタファイル全体の始まりです。
.Ar version
フィールドはプログラムのバージョンと一致しなければなりません
.Pq 現在は 2.0
.Ar name
は名前で
.Ar number
は CTM サービスの通し番号です。通し番号はファイル
.Pa .ctm_status
と照合され、そのデルタがすでに適用されていないかの確認に使われます。
.Ar timestamp
はデルタ生成日時の年、月、日、時、分、秒を参考のために含みます
.Po
文字
.Sq Z
が続いて UTC のタイムスタンプであることを示します
.Pc
.Ar prefix
フィールドは現在実装されていません。
.It _END Ar md5
この文で CTM デルタは終了します。
.Ar md5
は全体のチェックサムで
デルタ全体の MD5 チェックサムと照合されます。
デルタ全体とは ``_END'' に続く空白 (0x20) 文字までのことです。
.It \&FM Ar name uid gid mode md5 count
ファイル
.Ar name
を作成します。元のファイルは uid として
.Ar uid
.Pq 数値、10進
を、
gid として
.Ar gid
.Pq 数値、10進
を、モードとして
.Ar mode
.Pq 数値、8進
を、そして MD5 チェックサムとして
.Ar md5
を持ちます。
続く
.Ar count
バイトのデータが新しいファイルの内容です。
.It \&FS Ar name uid gid mode md5before md5after count
ファイル
.Ar name
の内容を置き換えます。
元のファイルは新しい uid として
.Ar uid
.Pq 数値、10進
を、新しい gid として
.Ar gid
.Pq 数値、10進
を、新しいモードとして
.Ar mode
.Pq 数値、8進
を、古い MD5 チェックサムとして
.Ar md5before
を、そして新しい MD5 チェックサムとして
.Ar md5after
を持ちます。
続く
.Ar count
バイトのデータが新しいファイルの内容です。
ファイルを編集するためのコマンドがファイルサイズを超えてしまい
置き換えの方が効率的な場合に、ファイルの置き換えが使われます。
.It \&FN Ar name uid gid mode md5before md5after count
ファイル
.Ar name
を編集します。引数は上にある通りですが、データ部分には
.Xr diff 1
の -n スクリプトを含み該当ファイルに適用されます。
.It \&FR Ar name md5
ファイル
.Ar name
を削除します。
対象ファイルの MD5 チェックサムが
.Ar md5
と一致しなければなりません。
.It \&AS Ar name uid gid mode
元のファイル
.Ar name
の所有者を
.Ar uid
に、グループを
.Ar gid
に、そして/またはモードを
.Ar mode
に変更します。
.It \&DM Ar name uid gid mode
ディレクトリ
.Ar name
が作成されます。元々、ディレクトリの所有者は
.Ar uid
、グループは
.Ar gid
、そしてモードは
.Ar mode
でした。
.It \&DR name
ディレクトリ
.Ar name
を削除します。
.El
.Sh 使用例
以下の使用例では、長い行は表示できるように改行してあります
.Pq バックスラッシュを付けてあります
.Bd -literal
CTM_BEGIN 2.0 cvs-cur 485 19950324214652Z .
CTMFR src/sys/gnu/i386/isa/scd.c,v 5225f13aa3c7e458f9dd0d4bb637b18d
CTMFR src/sys/gnu/i386/isa/scdreg.h,v e5af42b8a06f2c8030b93a7d71afb223
CTMDM src/sys/gnu/i386/isa/Attic 0 552 775
CTMFS .ctm_status 545 552 664 d9ccd2a84a9dbb8db56ba85663adebf0 \\
e2a10c6f66428981782a0a18a789ee2e 12
cvs-cur 485
CTMFN CVSROOT/commitlogs/gnu 545 552 664 \\
5d7bc3549140d860bd9641b5782c002d 7fb04ed84b48160c9b8eea84b4c0b6e3 394
a6936 21
ache 95/03/24 09:59:50
Modified: gnu/lib/libdialog kernel.c prgbox.c
Log:
[...]
CTM_END 74ddd298d76215ae45a077a4b6a74e9c
.Ed
.Sh 関連項目
.Xr ctm 1 ,
.Xr ctm_rmail 1 ,
.Xr ed 1 .
.Sh 歴史
最初の試用は
.Fx 1.1.5
で行われて、多くのバグと手法が出されました。
CTM システムは
.Fx 2.1
で公開されました。
.Sh 作者
CTM システムは
.An Poul-Henning Kamp
.Aq phk@FreeBSD.org
によって設計、実装が行われました。
このマニュアルページは
.An Joerg Wunsch
.Aq joerg@FreeBSD.org
が書きました。
diff --git a/ja/man/man5/devfs.5 b/ja/man/man5/devfs.5
index 55e3799e6f..1a379f643a 100644
--- a/ja/man/man5/devfs.5
+++ b/ja/man/man5/devfs.5
@@ -1,95 +1,95 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved.
.\"
.\" Copyright (c) 1992, 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
.\" Jan-Simon Pendry.
.\"
.\" 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.
.\"
-.\" %Id: devfs.5,v 1.2.2.2 1998/07/19 06:52:11 jkh Exp %
+.\" %Id: devfs.5,v 1.4 1998/03/12 07:30:47 charnier Exp %
.\"
.\" jpman %Id: devfs.5,v 1.3 1998/04/29 11:36:05 kuma Stab %
.\"
.\" WORD: mount point マウントポイント
.\" WORD: namespace 名前空間
.\"
.Dd December 14, 1996
.Dt devfs 5
.Os FreeBSD 2.2
.Sh 名称
.Nm devfs
.Nd デバイスファイルシステム
.Sh 書式
devfs /devs devfs rw 0 0
.Sh 解説
デバイスファイルシステム、または
.Nm devfs
は、グローバルファイルシステム名前空間において、
カーネルのデバイス名前空間へのアクセスを提供します。
伝統的なマウントポイントは
.Pa /devs
です。
.Pp
このファイルシステムは、ディレクトリ、リンク、シンボリックリンク、
デバイスを含みます。
それらの中には書き込み可能なものがあります。
chroot した環境では、
.Nm
を使用して新しい
.Pa /devs
マウントポイントを作成可能です。
.Sh 関連ファイル
.Bl -tag -width /devs/XXXX -compact
.It Pa /devs
通常の
.Nm
マウントポイント
.El
.Sh 関連項目
.Xr mount_devfs 8
.Sh 歴史
.Nm
ファイルシステムは、最初に
.Fx 2.0
に登場しました。
.Nm
マニュアルページは、最初に
.Fx 2.2
に登場しました。
.Sh 作者
.Nm
マニュアルページは、
.Xr mount_devfs 8
マニュアルページを元に、
.An Mike Pritchard Aq mpp@FreeBSD.org
が記述しました。
diff --git a/ja/man/man5/dir.5 b/ja/man/man5/dir.5
index 5b3766a1c4..6ccdb8a9e3 100644
--- a/ja/man/man5/dir.5
+++ b/ja/man/man5/dir.5
@@ -1,174 +1,163 @@
.\" 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
+.\" %Id: dir.5,v 1.9 1998/02/24 02:39:00 bde Exp %
+.\"
.\" jpman %Id: dir.5,v 1.3 1998/07/19 22:22:07 yohta Stab %
-.\" %Id: dir.5,v 1.4.2.1 1997/02/28 03:27:22 mpp Exp %
.\"
.\" WORD: graft 接合 [mount.8]
.Dd April 19, 1994
.Dt DIR 5
.Os BSD 4.2
.Sh 名称
.Nm dir ,
.Nm dirent
.Nd ディレクトリファイルフォーマット
.Sh 書式
.Fd #include <sys/types.h>
-.Fd #include <sys/dir.h>
+.Fd #include <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 dirent.h
-で定義されています:
+.Aq sys/dirent.h
+で定義されています
+(これは直接アプリケーションからはインクルードされません):
.Bd -literal
-#ifndef _DIRENT_H_
-#define _DIRENT_H_
+#ifndef _SYS_DIRENT_H_
+#define _SYS_DIRENT_H_
/*
-* ディレクトリエントリはその先頭に dirent 構造体を持ちます。dirent
-* 構造体は inode 番号、そのエントリの長さ、そのエントリに含まれる
-* 名前の長さを保持します。その後に、ナルで 4 バイト境界までパディング
-* した名前が続きます。名前は全てナルで終端していることが保証されます。
-* ディレクトリ中の名前の長さの最大値は MAXNAMLEN です。
-*/
+ * dirent 構造体は、getdirentries(2) システムコールで返される
+ * ディレクトリエントリのフォーマットを定義します。
+ *
+ * ディレクトリエントリはその先頭に dirent 構造体を持ちます。dirent
+ * 構造体は inode 番号、そのエントリの長さ、そのエントリに含まれる
+ * 名前の長さを保持します。その後に、ナルで 4 バイト境界までパディング
+ * した名前が続きます。名前は全てナルで終端していることが保証されます。
+ * ディレクトリ中の名前の長さの最大値は MAXNAMLEN です。
+ */
struct dirent {
- u_long d_fileno; /* エントリのファイル番号 */
- u_short d_reclen; /* このレコードの長さ */
- u_char d_type; /* ファイルタイプ, 以下参照 */
- u_char d_namlen; /* d_name の文字列長 */
+ u_int32_t d_fileno; /* エントリのファイル番号 */
+ u_int16_t d_reclen; /* このレコードの長さ */
+ u_int8_t d_type; /* ファイルタイプ, 以下参照 */
+ u_int8_t d_namlen; /* d_name の文字列長 */
#ifdef _POSIX_SOURCE
- char d_name[255 + 1]; /* 名前の長さの最大値 */
+ char d_name[255 + 1]; /* 名前はこの長さを越えてはならない */
#else
#define MAXNAMLEN 255
- char d_name[MAXNAMLEN + 1]; /* 名前の長さの最大値 */
+ 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_LKN 10
-#define DT_SOCK 12
-#define DT_WHT 14
-
-#ifdef _POSIX_SOURCE
-typedef void * DIR;
-#else
-
-#define d_ino d_fileno /* 下位互換性 */
+#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
-/* ディレクトリ操作ライブラリルーチン用定義 */
-#define DIRBLKSIZ 1024
-
-/* オープンしたディレクトリを記述する構造体 */
-typedef struct _dirdesc {
- int dd_fd; /* ディレクトリに対応するファイル記述子 */
- long dd_loc; /* 現バッファ中のオフセット */
- long dd_size; /* getdirentriesが返すデータ量 */
- char *dd_buf; /* データバッファ */
- int dd_len; /* データバッファのサイズ */
- long dd_seek; /* getdirentriesが返すマジッククッキー */
- long dd_rewind;/* 巻き戻し用マジッククッキー */
-} DIR;
+/*
+ * stat 構造体型とディレクトリ型との変換
+ */
+#define IFTODT(mode) (((mode) & 0170000) >> 12)
+#define DTTOIF(dirtype) ((dirtype) << 12)
-#define dirfd(dirp) ((dirp)->dd_fd)
+/*
+ * _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))
-#ifndef NULL
-#define NULL 0
+#ifdef KERNEL
+#define GENERIC_DIRSIZ(dp) _GENERIC_DIRSIZ(dp)
#endif
-#endif /* _POSIX_SOURCE */
-
-#ifndef KERNEL
-
-#include <sys/cdefs.h>
-
-#endif /* !KERNEL */
-
-#endif /* !_DIRENT_H_ */
.Ed
.Sh 関連項目
.Xr fs 5 ,
.Xr inode 5
.Sh 歴史
ファイル形式
.Nm
.At v7
で登場しました。
diff --git a/ja/man/man5/disklabel.5 b/ja/man/man5/disklabel.5
index a5f8481d35..96a8d08456 100644
--- a/ja/man/man5/disklabel.5
+++ b/ja/man/man5/disklabel.5
@@ -1,394 +1,394 @@
.\" Copyright (c) 1987, 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.5.5 8.1 (Berkeley) 6/5/93
-.\" %Id: disklabel.5,v 1.2.2.2 1998/07/17 20:12:59 jkh Exp %
+.\" %Id: disklabel.5,v 1.4 1998/06/04 06:49:12 charnier Exp %
.\"
.\" jpman %Id: disklabel.5,v 1.3 1998/06/12 15:48:23 kumano Stab %
.\"
.\" WORD: initial bootstrap 初期ブートストラップ
.\" WORD: initial label 初期ラベル
.\" WORD: primary bootstrap 一次ブートストラップ
.\" WORD: secondary bootstrap 二次ブートストラップ
.\" WORD: ratio of physical sectors traversed per logical sector 論理セクタあたりの物理セクタ通過率
.\"
.Dd June 5, 1993
.Dt DISKLABEL 5
.Os
.Sh 名称
.Nm disklabel
.Nd ディスクパックラベル
.Sh 書式
.Fd #include <sys/disklabel.h>
.Sh 解説
システム上のそれぞれのディスクやディスクパックは、ディスクのジオメトリ
やディスクを分割しているパーティションについての詳細な情報を提供する
ディスクラベルを持っています。
ディスクラベルはディスクがフォーマットされたときに
初期化されなければならず、
後から
.Xr disklabel 8
プログラムによって変更することができます。
システムディクスドライバやブートストラッププログラムがこの情報を使って、
ドライブのプログラム方法や、ディスクパーティション上の
ファイルシステムの見つけ方を決定します。
ファイルシステムは、付加的な情報を使ってディスクを最も効果的に使い、
重要なファイルシステム情報の位置を特定します。
各パーティションの記述は、パーティションタイプ(標準ファイル、スワップ
領域等)の識別子を含みます。
ラベルのメモリ内コピーにあるファイルシステム情報が不完全な場合には、
ファイルシステムはそれを更新します。
.Pp
ラベルは、ドライブのセクタ番号
.Dv LABELSECTOR
にあります。
通常は、ディスクジオメトリについての情報がなくても見つけられる、
セクタ 0 にあります。
ラベルは、初期ブートストラップの場所を確保するために、
セクタの先頭からオフセット
.Dv LABELOFFSET
にあります。
ラベルを含むディスクセクタは、通常読み込み専用になっています。
これは、
パックからパックへの複写やスワップ操作時に
.Xr disklabel 8
プログラムによって必要に応じて行なわれる
.Dv DIOCWLABEL
.Xr ioctl 2
により不用意に上書きされないようにするためです。
.Pp
ディスクのメモリ内ラベルコピーは
.Dv DIOCGDINFO
.Xr ioctl 2
で得られます。
この操作は、ディスクの任意のパーティションに対するブロックデバイスや
キャラクタ (``raw'') デバイスへのファイル記述子に対して
行うことができます。
また、ディスクのメモリ内ラベルコピーは
.Dv DIOCSDINFO
.Xr ioctl 2
によりセットされます。
パーティションのオフセットは、一般にパーティションがオープンされている
ときには変更したり小さくしたりはできません。
ただし例外として、ディスクにラベルが見つからず、ドライバが
パーティション情報を含まない骨組みのラベルだけを構築できるときには、
どんな変更も許されます。
最後に、
.Dv DIOCWDINFO
.Xr ioctl 2
操作がメモリ内のラベルをセットし、ディスク上のラベルを更新します。
この操作が成功するためにはディスク上にラベルが存在しなければなりません。
つまり、ディスクやディスクパックの初期ラベルは生の (raw) ディスクに
対して書き込むことでインストールされなければなりません。
これらの操作はすべて、普通
.Xr disklabel 8
コマンドを使って行なわれます。
.Pp
.Pa <sys/disklabel.h>
で指定されるようにディスクラベルのフォーマットは以下のようになります。
.Bd -literal
/*
* ディスク記述テーブル, disktab(5) を参照
*/
#define DISKTAB "/etc/disktab"
/*
* 各ディスクはハードウェアディスクジオメトリ、ファイルシステムパーティション、
* ドライブ固有の情報についての情報を含むラベルを持っています。
* ラベルはブロック 0 か 1 、つまりブートストラップ等のための場所を空けて
* なるべく先頭のオフセットにあります。
*/
#ifndef LABELSECTOR
#define LABELSECTOR 0 /* ラベルを含むセクタ */
#endif
#ifndef LABELOFFSET
#define LABELOFFSET 64 /* セクタ内のラベルのオフセット */
#endif
#define DISKMAGIC ((u_long) 0x82564557) /* ディスクのマジックナンバ */
#ifndef MAXPARTITIONS
#define MAXPARTITIONS 8
#endif
#ifndef LOCORE
struct disklabel {
u_long d_magic; /* マジックナンバ */
short d_type; /* ドライブタイプ */
short d_subtype; /* コントローラ/d_type に固有 */
char d_typename[16]; /* タイプ名、たとえば "eagle" */
/*
* d_packname は、パック識別子を含み、ディスク上やメモリ内コピーの
* ディスクラベルを読んだときに返されます。
* d_boot0 と d_boot1 は、/usr/mdec にある一次 (block 0) または
* 二次 (block 1-15) ブートストラップの (省略可能な) 名前です。
* この名は、/etc/disktab から値を取り出すために getdiskbyname(3)
* を使う場合に返されます。
*/
#if defined(KERNEL) || defined(STANDALONE)
char d_packname[16]; /* パック識別子 */
#else
union {
char un_d_packname[16]; /* パック識別子 */
struct {
char *un_d_boot0; /* 一次ブートストラップ名 */
char *un_d_boot1; /* 二次ブートストラップ名 */
} un_b;
} d_un;
#define d_packname d_un.un_d_packname
#define d_boot0 d_un.un_b.un_d_boot0
#define d_boot1 d_un.un_b.un_d_boot1
#endif /* ! KERNEL or STANDALONE */
/* ディスクジオメトリ */
u_long d_secsize; /* セクタあたりのバイト数 */
u_long d_nsectors; /* トラックあたりのデータセクタ数 */
u_long d_ntracks; /* シリンダあたりのトラック数 */
u_long d_ncylinders; /* ユニットあたりのデータシリンダ数 */
u_long d_secpercyl; /* シリンダあたりのデータセクタ数 */
u_long d_secperunit; /* ユニットあたりのデータセクタ数 */
/*
* 以下の予備 (不良セクタ置換) は in d_nsectors や d_secpercyl
* には数えられません。
* 予備セクタは、各トラックまたはシリンダの末尾の場所を占める
* 物理セクタにあることにします。
*/
u_short d_sparespertrack; /* トラックあたりの予備セクタ */
u_short d_sparespercyl; /* シリンダあたりの予備セクタ */
/*
* メインテナンス、置換、コンフィグレーション記述領域等を
* 含む交替シリンダ
*/
u_long d_acylinders; /* ユニットあたりの交替シリンダ */
/* ハードウェア特性 */
/*
* d_interleave, d_trackskew, d_cylskew は、遅いコントローラの
* 埋め合わせに使うための、メディアフォーマット中の
* ぶれを記述します。
* interleave は、フォーマット時にフォーマッタやコントローラに
* よって設定される物理セクタインタリーブです。
* インタリーブが使われているとき、論理的に隣り合ったセクタは
* 物理的には連続ではなく、幾つかのセクタに分断されています。
* これは論理セクタあたりの物理セクタ通過率として指定されます。
* すなわち、1:1 のインタリーブは連続したレイアウトを意味し、
* 2:1 は論理セクタ 0 が論理セクタ 1 から 1 セクタ離れていること
* を意味します。
* d_trackskew は、同一シリンダ上でトラック N-1 上のセクタ 0 から
* トラック N のセクタ 0 の相対的なオフセットです。
* 最後の d_cylskew は、シリンダ N-1 上のセクタ 0 からシリンダ N
* 上のセクタ 0 の相対的なオフセットです。
*/
u_short d_rpm; /* 回転スピード */
u_short d_interleave; /* ハードウェアセクタインタリーブ */
u_short d_trackskew; /* トラックあたりのセクタ 0 スキュー */
u_short d_cylskew; /* シリンダあたりのセクタ 0 スキュー */
u_long d_headswitch; /* ハードスイッチ時間 usec */
u_long d_trkseek; /* トラック間シーク usec */
u_long d_flags; /* 一般フラグ */
#define NDDATA 5
u_long d_drivedata[NDDATA]; /* ドライブの型固有の情報 */
#define NSPARE 5
u_long d_spare[NSPARE]; /* 将来使うための予備 */
u_long d_magic2; /* マジックナンバ (再度) */
u_short d_checksum; /* データを含むパーティションの xor */
/* ファイルシステムとパーティション情報 */
u_short d_npartitions; /* 後に続くパーティション数 */
u_long d_bbsize; /* sn0 のブート領域の大きさ(バイト単位) */
u_long d_sbsize; /* fs スーパブロックの最大サイズ(バイト単位) */
struct partition { /* パーティションテーブル */
u_long p_size; /* パーティション内のセクタ数 */
u_long p_offset; /* 開始セクタ */
u_long p_fsize; /* ファイルシステム規定フラグメントサイズ */
u_char p_fstype; /* ファイルシステムタイプ、下記参照 */
u_char p_frag; /* ブロックあたりのファイルシステムフラグメント */
union {
u_short cpg; /* UFS: FS グループあたりのシリンダ数 */
u_short sgs; /* LFS: FS セグメントシフト */
} __partition_u1;
#define p_cpg __partition_u1.cpg
#define p_sgs __partition_u1.sgs
u_short p_cpg; /* グループあたりのファイルシステムシリンダ数 */
} d_partitions[MAXPARTITIONS]; /* 実際にはもっとある */
};
/* d_type values: */
#define DTYPE_SMD 1 /* SMD, XSMD; VAX hp/up */
#define DTYPE_MSCP 2 /* MSCP */
#define DTYPE_DEC 3 /* その他の DEC (rk, rl) */
#define DTYPE_SCSI 4 /* SCSI */
#define DTYPE_ESDI 5 /* ESDI インタフェース */
#define DTYPE_ST506 6 /* ST506 他 */
#define DTYPE_HPIB 7 /* CS/80 on HP-IB */
#define DTYPE_HPFL 8 /* HP ファイバリンク */
#define DTYPE_FLOPPY 10 /* フロッピー */
#ifdef DKTYPENAMES
static char *dktypenames[] = {
"unknown",
"SMD",
"MSCP",
"old DEC",
"SCSI",
"ESDI",
"ST506",
"HP-IB",
"HP-FL",
"type 9",
"floppy",
0
};
#define DKMAXTYPES (sizeof(dktypenames) / sizeof(dktypenames[0]) - 1)
#endif
/*
* ファイルシステムタイプとバージョン
* パーティションあたりの他のファイルシステム固有情報に使われます。
*/
#define FS_UNUSED 0 /* 未使用 */
#define FS_SWAP 1 /* スワップ */
#define FS_V6 2 /* 第 6 版 */
#define FS_V7 3 /* 第 7 版 */
#define FS_SYSV 4 /* System V */
#define FS_V71K 5 /* 7 版 1K ブロック (4.1, 2.9) */
#define FS_V8 6 /* 8 版 4K ブロック */
#define FS_BSDFFS 7 /* 4.2BSD fast ファイルシステム */
#define FS_MSDOS 8 /* MSDOS ファイルシステム */
#define FS_BSDLFS 9 /* 4.4BSD log-structured ファイルシステム */
#define FS_OTHER 10 /* 使用中だが未知/未サポート */
#define FS_HPFS 11 /* OS/2 high-performance ファイルシステム */
#define FS_ISO9660 12 /* ISO 9660, 通常は CD-ROM */
#define FS_BOOT 13 /* ブートストラップを含むパーティション */
#ifdef DKTYPENAMES
static char *fstypenames[] = {
"unused",
"swap",
"Version 6",
"Version 7",
"System V",
"4.1BSD",
"Eighth Edition",
"4.2BSD",
"MSDOS",
"4.4LFS",
"unknown",
"HPFS",
"ISO9660",
"boot",
0
};
#define FSMAXTYPES (sizeof(fstypenames) / sizeof(fstypenames[0]) - 1)
#endif
/*
* 多様なドライブが共有するフラグ
*/
#define D_REMOVABLE 0x01 /* リムーバブルメディア */
#define D_ECC 0x02 /* ECC サポート */
#define D_BADSECT 0x04 /* バッドセクタフォワードのサポート */
#define D_RAMDISK 0x08 /* ディスクエミュレータ */
#define D_CHAIN 0x10 /* back-back 転送ができる */
/*
* SMD のドライブデータ
*/
#define d_smdflags d_drivedata[0]
#define D_SSE 0x1 /* セクタスキップのサポート */
#define d_mindist d_drivedata[1]
#define d_maxdist d_drivedata[2]
#define d_sdist d_drivedata[3]
/*
* ST506 のドライブデータ
*/
#define d_precompcyl d_drivedata[0]
#define d_gap3 d_drivedata[1] /* フォーマット時にのみ使われる */
/*
* SCSI のドライブデータ
*/
#define d_blind d_drivedata[0]
#ifndef LOCORE
/*
* フォーマットや生の操作をする際に使われる
* 構造体で、データやレジスタ値を返します。
* レジスタの識別とフォーマットは、
* デバイス依存、ドライバ依存です。
*/
struct format_op {
char *df_buf;
int df_count; /* 値-結果 */
daddr_t df_startblk;
int df_reg[8]; /* 結果 */
};
/*
* ディスク上のパーティションに関する情報を
* 引き出すために内部で使われる構造体
*/
struct partinfo {
struct disklabel *disklab;
struct partition *part;
};
/*
* ディスク固有の ioctl
*/
/* ディスクラベルの取得と設定; 内部では DIOCGPART が使われる */
#define DIOCGDINFO _IOR('d', 101, struct disklabel) /* 取得 */
#define DIOCSDINFO _IOW('d', 102, struct disklabel) /* 設定 */
#define DIOCWDINFO _IOW('d', 103, struct disklabel) /* 設定、ディスク更新 */
#define DIOCGPART _IOW('d', 104, struct partinfo) /* パーティション取得 */
/* do format operation, read or write */
#define DIOCRFORMAT _IOWR('d', 105, struct format_op)
#define DIOCWFORMAT _IOWR('d', 106, struct format_op)
#define DIOCSSTEP _IOW('d', 107, int) /* ステップレート設定 */
#define DIOCSRETRIES _IOW('d', 108, int) /* リトライ回数の設定 */
#define DIOCWLABEL _IOW('d', 109, int) /* 書き込み可/不可のラベル */
#define DIOCSBAD _IOW('d', 110, struct dkbad) /* カーネル dkbad の設定 */
#endif LOCORE
.Ed
.Sh 関連項目
.Xr disktab 5 ,
.Xr disklabel 8
diff --git a/ja/man/man5/disktab.5 b/ja/man/man5/disktab.5
index 60cb458ab0..5bfddc2399 100644
--- a/ja/man/man5/disktab.5
+++ b/ja/man/man5/disktab.5
@@ -1,140 +1,140 @@
.\" 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.
.\"
.\" @(#)disktab.5 8.1 (Berkeley) 6/5/93
+.\" %Id: disktab.5,v 1.3 1997/03/07 03:27:58 jmg Exp %
.\" jpman %Id: disktab.5,v 1.3 1998/06/12 15:50:37 kumano Stab %
-.\" %Id: disktab.5,v 1.1.1.1.8.2 1997/03/07 04:18:02 mpp Exp %
.\"
.Dd June 5, 1993
.Dt DISKTAB 5
.Os BSD 4.2
.Sh 名称
.Nm disktab
.Nd ディスク記述ファイル
.Sh 書式
.Fd #include <disktab.h>
.Sh 解説
.Nm disktab
は、ディスクジオメトリとディスクパーティション特性を記述する
簡単なデータベースで、
.\"by the formatter(\c
.\"IR.Xr format 8 )
.\"to determine how to format the disk, and
ディスク上のディスクラベルを初期化する際に使われます。
フォーマットは
.Xr termcap 5
端末データベースと同様のパターンです。
.Nm disktab
内のエントリは、たくさんの `:' で区切られたフィールドからなります。
各ディスクの最初のエントリは `|' 文字で区切られていて、そのディスクの
既知の名前を与えます。最後の名前はディスクをディスクを識別する完全に
長い名前でなければなりません。
.Pp
以下のリストは、各ディスクエントリのための通常の値です。
.Bl -column "indent" "boolx"
.It Sy 名前 型 解説
.It "\&ty str ディスクの種類 (例えば removable, winchester)"
.It "\&dt str コントローラの種類 (例えば "
.Tn SMD , ESDI ,
フロッピー)
.It "\&ns num トラックあたりのセクタ数"
.It "\&nt num シリンダあたりのトラック数"
.It "\&nc num ディスク上の総シリンダ数"
.It "\&sc num シリンダあたりのセクタ数、デフォルトは nc*nt"
.It "\&su num ユニットあたりのセクタ数、デフォルトは sc*nc"
.It "\&se num バイト単位のセクタサイズ"
デフォルトは
.Dv DEV_BSIZE
.It "\&sf bool コントローラが bad144 スタイルのバッドセクタフォワードをサポートする"
.It "\&rm num 回転スピード (rpm), デフォルトは 3600"
.It "\&sk num トラックあたりのセクタスキュー、デフォルトは 0"
.It "\&cs num シリンダあたりのセクタスキュー、デフォルトは 0"
.It "\&hs num ヘッドスイッチ時間 (usec), デフォルトは 0"
.It "\&ts num 1 シリンダシーク時間 (usec), デフォルト 0"
.It "\&il num セクタインタリーブ (n:1), デフォルトは 1"
.It "\&d[0-4] num ドライブタイプ依存パラメータ"
.It "\&bs num ブートブロックサイズ、デフォルト"
.Dv BBSIZE
.It "\&sb num スーパブロックサイズ、デフォルト"
.Dv SBSIZE
.It "\&ba num パーティション `a' のブロックサイズ (bytes)"
.It "\&bd num パーティション `d' のブロックサイズ (bytes)"
.It "\&be num パーティション `e' のブロックサイズ (bytes)"
.It "\&bf num パーティション `f' のブロックサイズ (bytes)"
.It "\&bg num パーティション `g' のブロックサイズ (bytes)"
.It "\&bh num パーティション `h' のブロックサイズ (bytes)"
.It "\&fa num パーティション `a' のフラグメントサイズ (bytes)"
.It "\&fd num パーティション `d' のフラグメントサイズ (bytes)"
.It "\&fe num パーティション `e' のフラグメントサイズ (bytes)"
.It "\&ff num パーティション `f' のフラグメントサイズ (bytes)"
.It "\&fg num パーティション `g' のフラグメントサイズ (bytes)"
.It "\&fh num パーティション `h' のフラグメントサイズ (bytes)"
.It "\&oa num パーティション `a' のセクタ内オフセット"
.It "\&ob num パーティション `b' のセクタ内オフセット"
.It "\&oc num パーティション `c' のセクタ内オフセット"
.It "\&od num パーティション `d' のセクタ内オフセット"
.It "\&oe num パーティション `e' のセクタ内オフセット"
.It "\&of num パーティション `f' のセクタ内オフセット"
.It "\&og num パーティション `g' のセクタ内オフセット"
.It "\&oh num パーティション `h' のセクタ内オフセット"
.It "\&pa num パーティション `a' セクタサイズ"
.It "\&pb num パーティション `b' セクタサイズ"
.It "\&pc num パーティション `c' セクタサイズ"
.It "\&pd num パーティション `d' セクタサイズ"
.It "\&pe num パーティション `e' セクタサイズ"
.It "\&pf num パーティション `f' セクタサイズ"
.It "\&pg num パーティション `g' セクタサイズ"
.It "\&ph num パーティション `h' セクタサイズ"
.It "\&ta str パーティション `a' のパーティションタイプ"
.Pf ( Bx 4.2
ファイルシステム, スワップ他)
.It "\&tb str パーティション `b のパーティションタイプ"
.It "\&tc str パーティション `c のパーティションタイプ"
.It "\&td str パーティション `d のパーティションタイプ"
.It "\&te str パーティション `e のパーティションタイプ"
.It "\&tf str パーティション `f のパーティションタイプ"
.It "\&tg str パーティション `g のパーティションタイプ"
.It "\&th str パーティション `h のパーティションタイプ"
.El
.Sh 関連ファイル
.Bl -tag -width /etc/disktab -compact
.It Pa /etc/disktab
.El
.Sh 関連項目
.Xr getdiskbyname 3 ,
.Xr disklabel 5 ,
.Xr disklabel 8 ,
.Xr newfs 8
.Sh 歴史
.Nm
この記述ファイルは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man5/ethers.5 b/ja/man/man5/ethers.5
index 53fde9ab51..f4c3b7f5f7 100644
--- a/ja/man/man5/ethers.5
+++ b/ja/man/man5/ethers.5
@@ -1,101 +1,101 @@
.\" Copyright (c) 1995
.\" Bill Paul <wpaul@ctr.columbia.edu>. 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 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: ethers.5,v 1.2.2.2 1998/01/07 00:55:01 steve Exp %
+.\" %Id: ethers.5,v 1.6 1998/01/07 00:57:31 steve Exp %
.\" jpman %Id: ethers.5,v 1.3 1998/04/29 11:33:25 kuma Stab %
.\"
.\" WORD: Internetworking インターネット
.\" WORD: fully-qualified-host-name 完全な形でのホスト名
.\"
.Dd April 12, 1995
.Dt ETHERS 5
.Os FreeBSD 2.1
.Sh 名称
.Nm ethers
.Nd イーサネットアドレスのデータベース
.Sh 解説
.Nm ethers
データベースは、
インターネット上のホストの既知の 48 ビットイーサネットアドレスを格納します。
データは
.Pa /etc/ethers
と呼ばれるファイルに次のフォーマットで格納されます:
.Bd -unfilled -offset indent
.Pa イーサネットアドレス 完全な形でのホスト名
.Ed
.Pp
項目は任意個の空白文字やタブ文字で区切ります。
行頭の ``#'' は行末まで続くコメントの開始を表します。
行頭に ``+'' があると、
.Xr ethers 3
ライブラリ関数は、
.Pa /etc/ethers
ファイルのデータだけでなく、
.Xr NIS 4
.Pa ethers.byname
.Pa ethers.byaddr
のマップのデータも使用します。
.Pp
イーサネットアドレスは
.Tn ASCII
形式で "x:x:x:x:x:x" と表記されます。ここで、
.Ar x
は 0x00 から 0xFF までの 16 進数です。
アドレス値はネットワークオーダである必要があります。
.Pa /etc/ethers
データベースで指定するホスト名は、
.Xr hosts 5
ファイルのエントリに対応する必要があります。
.Pp
標準 C ライブラリの
.Fn ether_line
関数を使用して、
.Pa /etc/ethers
データベースの各行を、個々のコンポーネントに分割可能です:
バイナリのイーサネットアドレスは
.Pa ether_addr
構造として、ホスト名は文字列として格納されます。
.Sh 関連ファイル
.Bl -tag -width /etc/services -compact
.It Pa /etc/ethers
.Nm ethers
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr ethers 3 ,
.Xr yp 4
.Sh 歴史
.Nm ethers
フォーマットは SunOS 4.1.x で使用されている形式を元にしています。
diff --git a/ja/man/man5/exports.5 b/ja/man/man5/exports.5
index 4734f49a94..36c6aaacb9 100644
--- a/ja/man/man5/exports.5
+++ b/ja/man/man5/exports.5
@@ -1,257 +1,294 @@
.\" Copyright (c) 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)exports.5 8.3 (Berkeley) 3/29/95
-.\" %Id: exports.5,v 1.3.2.2 1998/08/12 06:44:25 charnier Exp %
+.\" %Id: exports.5,v 1.7 1998/07/15 06:21:37 charnier Exp %
.\"
.\" jpman %Id: exports.5,v 1.3 1998/07/02 14:10:07 horikawa Stab %
.\"
.Dd March 29, 1995
.Dt EXPORTS 5
.Os
.Sh 名称
.Nm exports
.Nd
.Tn NFS
マウント要求に対するリモートマウント点を定義する
.Sh 書式
.Nm exports
.Sh 解説
.Nm exports
ファイルは
.Tn NFS
サーバの指定 1 つについて
.Tn NFS
マウントプロトコルに対するリモートマウント点を指定します。
.%T "Network File System Protocol Specification \\*(tNRFC\\*(sP 1094, Appendix A"
および
.%T "NFS: Network File System Version 3 Specification, Appendix I"
を参照してください。
.Pp
.Nm exports
ファイルの各行 (# で始まる注釈行以外) は、1 つ以上のホスト向けに、
1 つのローカルサーバファイルシステム内の
マウント点 (複数) とエクスポートフラグを指定します。
あるホストは、
サーバの各ローカルファイルシステムに関して唯 1 度だけ指定可能です。
また他の全てのホストに適用されるデフォルトエントリは、
各サーバファイルシステムに関して唯 1 つだけ指定できます。
後者は ``世界'' に対しそのファイルシステムを公開することになるので、
そのファイルシステムが公の情報を含むときにのみ用いるべきです。
.Pp
マウントエントリ内の最初の欄 (複数) には、
対応するクライアント (複数) がマウント可能である
サーバファイルシステム内ディレクトリパス (複数) を指定します。
この指定には 2 つの形式があります。
最初の指定形式は、
全マウント点のリストであり、絶対ディレクトリパスを空白で区切ったものです。
次の指定形式は、そのファイルシステムのルートパス名に続いて
.Fl alldirs
フラグを指定するものです。この形式は、そのファイルシステム内の任意の点を
ホスト (複数) がマウントすることを可能にします。mountd で
.Fl r
オプションを用いれば、任意の点には通常ファイルを含むことができます。
パス名中には、シンボリックリンクを含んではなりませんし、また "." または ".."
を含んではなりません。
1 つのファイルシステムに対するマウント点を複数指定することが可能であり、
それぞれ異ったホストとエクスポートオプションの組を指定することができます。
.Pp
行の 2 番目の部分には、そのファイルシステムがホストの組にどのように
エクスポートされているかを指定します。
オプションフラグは、
そのファイルシステムを読み取り専用でエクスポートしているのか
それとも読み書き可でエクスポートしているのかを指定したり、
クライアントの UID がサーバ上のユーザ資格にどのように
マップされているのかを指定します。
.Pp
エクスポートオプションは以下のとおりです。
.Pp
.Sm off
.Fl maproot No = Sy user
.Sm on
指定されたユーザの資格を、root によるリモートアクセスに対して使用します。
その資格には、ローカルマシン上でユーザが属する全てのグループを含みます (
.Xr id 1
参照)。ユーザは名前または数字です。
.Pp
.Sm off
.Fl maproot No = Sy user:group1:group2:...
.Sm on
コロンによって区切られたリストは、
root によるリモートアクセスに対して使用する正確な資格を指定するために
使用します。
リストの要素は名前または数字です。
グループを含まない資格をユーザに関する完全な資格と区別するためには、
user: を使用すべきであることに注意してください。
.Pp
.Sm off
.Fl mapall No = Sy user
.Sm on
または
.Sm off
.Fl mapall No = Sy user:group1:group2:...
.Sm on
.Fl maproot
と同じ指定方法で、
(root を含む) 全てのクライアントの UID に対するマッピングを指定します。
.Pp
.Fl r
オプションは
.Fl maproot
と同じ意味です。
これは古い export ファイル形式と互換性を保つために用意されました。
.Pp
.Fl maproot
および
.Fl mapall
オプションのない場合には、
root によるリモートアクセスは -2:-2 という資格を用いることになります。
その他の全てのユーザはそれぞれのリモート資格にマップされます。
.Fl maproot
オプションを指定すると、root によるリモートアクセスは -2:-2 の代りに
指定した資格にマップされます。
.Fl mapall
オプションを指定すると、root を含む全てのユーザはそれら自身の資格の代りに
指定した資格にマップされます。
.Pp
.Fl kerb
オプションを指定すると、Kerberos 認証サーバを使用して
認証とクライアント資格のマップを行います。
このオプションを利用するには、カーネルを NFSKERB オプション付きで
構築してある必要があります。
.Pp
.Fl ro
オプションは、ファイルシステムが読み取り専用としてエクスポートされることを
指定します (デフォルトは読み書き可)。
.Fl o
オプションは
.Fl ro
と同じ意味です。
これは古い export ファイル形式と互換性を保つために用意されました。
.Pp
+仕様 (RFC 2054 と RFC 2055) に厳密に従う
+.Tn WebNFS
+エクスポートは
+.Fl public
+フラグにて実現されます。
+しかしながら、このフラグ自身は、ファイルシステム中の全ファイルに対して
+読み書きアクセスを与えますが、予約ポートを必要としませんし、
+uid のマッピングも行いません。
+これは仕様を満すためだけに提供されており、通常は使用すべきではありません。
+.Tn WebNFS
+エクスポートのためには、
+.Fl webnfs
+フラグを使用します。これは
+.Fl public ,
+.Sm off
+.Fl mapall No = Sy nobody ,
+.Sm on
+.Fl ro
+を意味します。
+.Pp
+.Sm off
+.Fl index No = Sy file
+.Sm on
+オプションを使用して、パブリックファイルハンドル (
+.Tn WebNFS Ns )
+を使用してディレクトリが検索された時にハンドルが返される
+ファイルを指定できます。
+これは URL の動作のまねをします。
+.Fl index
+オプションが指定されないと、通常通りディレクトリファイルハンドルが返されます。
+.Fl index
+オプションは
+.Fl public
+または
+.Fl webnfs
+フラグと組み合わせたときのみ意味があります。
+.Pp
行の 3 番目の部分には、その行が適用されるホストの組を指定します。
この組は 3 つの方法で指定できます。
最初の方法はホスト名 (複数) を空白で区切って並べる方法です。
(名前の代りに、標準的なインターネット ``ドット'' アドレスを用いることも
できます)。2 番目の方法はネットグループファイル (
.Xr netgroup 5
参照) の中で定義した ``netgroup'' を指定する方法です。
3 番目の方法は、 1 つのネットワークとネットワークマスクを用いることにより、
1 つのインターネットサブネットワークを指定する方法です。
これは、
そのサブネットワーク内のアドレスを持つ全てのホストの組として定義されます。
この最後の方法はカーネルのオーバヘッドを低く押えられるため、
1 つの管理サブネット内の多くのクライアントを
エクスポートの行が参照する場合に推奨されます。
.Pp
最初の 2 つの指定方法では、単に空白で区切られた名前 (複数) を並べて指定します。
全ての名前は、まずそれらが ``netgroup'' 名であるかチェックされ、
そうでなければホスト名であると仮定されます。
ホスト名に完全ドメイン指定をすれば、
ネットグループと同じ名前を持つホストの問題を通常避けることができます。
3 番目の指定方法は、
.Sm off
.Fl network No = Sy netname
.Sm on
フラグとオプションの
.Sm off
.Fl mask No = Sy netmask
.Sm on
フラグによって指定します。マスクが指定されないと、そのネットワーククラス
(A, B, C のどれかです。
.Xr inet 4
を参照してください) に対するマスクとなります。
.Pp
例:
.Bd -literal -offset indent
/usr /usr/local -maproot=0:10 friends
/usr -maproot=daemon grumpy.cis.uoguelph.ca 131.104.48.16
/usr -ro -mapall=nobody
/u -maproot=bin: -network 131.104.48 -mask 255.255.255.0
/u2 -maproot=root friends
/u2 -alldirs -kerb -network cis-net -mask cis-mask
.Ed
.Pp
.Sy /usr ,
.Sy /u ,
.Sy /u2
がローカルファイルシステムマウント点とすると、上の例は以下を指定します:
.Sy /usr
はネットクグープファイルで指定されるホスト群
.Em friends
にエクスポートされ、
この際ユーザはそれぞれのリモート資格にマップされ、
root は UID 0 およびグループ 10 にマップされます。
このファイルシステムは読み書き可でエクスポートされ、
``friends'' 内のホストは /usr と /usr/local のどちらもマウントできます。
このファイルシステムは
.Em 131.104.48.16
および
.Em grumpy.cis.uoguelph.ca
にエクスポートされ、
この際ユーザはそれぞれのリモート資格にマップされ、
root は ``daemon'' に結び付けられたユーザおよびグループにマップされます。
このファイルシステムは残りの世界へ読み出しのみでエクスポートされ、
この際全てのユーザは ``nobody'' に結び付けられたユーザおよびグループに
マップされます。
.Pp
.Sy /u
はサブネットワーク
.Em 131.104.48
上の全てのホストにエクスポートされ、
この際 root は ``bin'' の UID にマップされてグループアクセスを持ちません。
.Pp
.Sy /u2
は ``friends'' 中のホストにエクスポートされ、
その際 root は ``root'' に結び付けられた UID とグループにマップされます。
このファイルシステムは ``cis-net'' ネットワーク上の全てのホストへ
エクスポートされ、
この際 /u2 内のどんなディレクトリへもマウントを許し、
Kerberos 許可書によって認証される principal についての資格に
全 UID をマップします。
.Sh 関連ファイル
.Bl -tag -width /etc/exports -compact
.It Pa /etc/exports
デフォルトリモートマウント点ファイル
.El
.Sh 関連項目
.Xr netgroup 5 ,
.Xr mountd 8 ,
.Xr nfsd 8 ,
.Xr showmount 8
.Sh バグ
エクスポートオプションはカーネル内ではローカルマウント点に結び付けられます。
ローカルサーバマウント点のサブディレクトリでエクスポートされたものに、
エクスポートオプションの矛盾があってはいけません。
同じファイルシステム内の全てのエクスポートされたディレクトリは、
木を下る順に隣り合った行で指定されることが推奨されます。
ネットグループ名と同じ名前のホスト名は指定できません。
完全ドメイン指定でホスト名を指定すれば通常は問題ありません。
diff --git a/ja/man/man5/fbtab.5 b/ja/man/man5/fbtab.5
index 49aeba9793..06ce65131a 100644
--- a/ja/man/man5/fbtab.5
+++ b/ja/man/man5/fbtab.5
@@ -1,49 +1,49 @@
.\"
-.\" %Id: fbtab.5,v 1.1.8.3 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: fbtab.5,v 1.4 1998/03/12 07:30:47 charnier Exp %
.\"
.\" jpman %Id: fbtab.5,v 1.3 1998/04/29 11:36:22 kuma Stab %
.\"
.\" WORD: permission パーミッション
.\" WORD: device デバイス(/dev 下のデバイスファイル関連のもの)
.\" WORD: comment コメント
.\" WORD: whitespace 空白
.\" WORD: ownership 所有権(ファイルの)
.\"
.Dd August 22, 1994
.Dt FBTAB 5
.Os FreeBSD 2.0
.Sh 名称
.Nm fbtab
.Nd ログイン時にデパイスの保護状態を変更する
.Sh 解説
.Nm fbtab
ファイルには、
単一デバイス・複数デバイスのリスト・それらのパーミッション
の 3 つを指定する行が複数個格納されます。
コメントは # から開始し、行末まで続きます。
.Pp
空行もしくはコメントのみの行は無視されます。
.Pp
他の行は空白で区切られる次の 3 フィールドからなります:
ログインデバイス (/dev/ttyv0)・8 進数でのパーミッション値 (0600)・
そして ":" で区切ったデバイスリスト (/dev/console) です。
デバイス名は全て絶対パスで記述します。
\&"/*" で終るパスは "." と ".." 以外の全ディレクトリエントリを参照します。
.Pp
tty 引数 (相対パス) がログインデバイス名 (絶対パス) にマッチする場合、
\&":" 区切りでリストされるデバイスのパーミッションが
第 2 フィールドで指定される値に設定され、
所有者が UID と GID 引数の値に設定されます。
.Sh 関連ファイル
.Bl -tag -width /etc/fbtab -compact
.It Pa /etc/fbtab
.Nm fbtab
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr login 1 ,
.Xr getty 8
.Sh 作者
.An Guido van Rooij
diff --git a/ja/man/man5/fdesc.5 b/ja/man/man5/fdesc.5
index 71d9b3b40a..6123b77bd8 100644
--- a/ja/man/man5/fdesc.5
+++ b/ja/man/man5/fdesc.5
@@ -1,152 +1,152 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved.
.\"
.\" Copyright (c) 1992, 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
.\" Jan-Simon Pendry.
.\"
.\" 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.
.\"
-.\" %Id: fdesc.5,v 1.2.2.2 1998/07/19 06:52:11 jkh Exp %
+.\" %Id: fdesc.5,v 1.4 1998/03/12 07:30:47 charnier Exp %
.\"
.\" jpman %Id: fdesc.5,v 1.3 1998/07/30 15:24:07 horikawa Stab %
.\" WORD: file descriptor ファイル記述子
.\" WORD: augment (union マウントによる)重ね合わせ
.\"
.Dd December 14, 1996
.Dt fdesc 5
.Os BSD 4.4
.Sh 名称
.Nm fdesc
.Nd ファイル記述子ファイルシステム
.Sh 書式
fdesc /dev fdesc rw 0 0
.Sh 解説
ファイル記述子ファイルシステム、別名
.Nm fdesc
は、プロセス毎のファイル記述子の名前空間をグローバルなファイルシステムの
名前空間からアクセスする機能を提供します。
通常のマウントポイントは
.Pa /dev
であり、
.Pa /dev
の既存のエントリを置き換えるのではなく重ね合わせるために、
ファイルシステムを union マウントする必要があります。
.Pp
マウントポイントの内容は
.Pa fd ,
.Pa stderr ,
.Pa stdin ,
.Pa stdout
および
.Pa tty
です。
.Pp
.Pa fd
はディレクトリで、その中身は、番号で表したファイルのリストとして見えます。
これらのファイルは、ディレクトリを読むプロセスが現在オープンしている
ファイルに対応しています。
.Pa /dev/fd/0
から
.Pa /dev/fd/#
までのファイルは記述子への参照であり、
ファイルシステムを通じてアクセスすることができます。
ファイル記述子がオープンされていて、ファイルをオープンしたときのモードが
既存の記述子のモードのサブセットである場合は、システムコール呼び出し
.Bd -literal -offset indent
fd = open("/dev/fd/0", mode);
.Ed
.Pp
と、システムコール呼び出し
.Bd -literal -offset indent
fd = fcntl(0, F_DUPFD, 0);
.Ed
.Pp
は等価です。
.Pp
ファイル
.Pa /dev/stdin ,
.Pa /dev/stdout
および
.Pa /dev/stderr
.Pa /dev/fd
サブディレクトリの対応するエントリへのシンボリックリンクとなります。
これらをオープンするのは、以下のシステムコール呼び出しと等価です。
.Bd -literal -offset indent
fd = fcntl(STDIN_FILENO, F_DUPFD, 0);
fd = fcntl(STDOUT_FILENO, F_DUPFD, 0);
fd = fcntl(STDERR_FILENO, F_DUPFD, 0);
.Ed
.Pp
.Xr open 2
呼び出し時のフラグは
.Dv O_RDONLY ,
.Dv O_WRONLY
および
.Dv O_RDWR
以外は無視されます。
.Pp
.Pa /dev/tty
エントリはカレントプロセスの制御端末への間接参照です。
これは見かけ上は名前つきパイプ (FIFO) ですが、本物の制御端末デバイスと
全く同じ振舞いをします。
.Sh 関連ファイル
.Bl -tag -width /dev/stderr -compact
.It Pa /dev/fd/#
.It Pa /dev/stdin
.It Pa /dev/stdout
.It Pa /dev/stderr
.It Pa /dev/tty
.El
.Sh 関連項目
.Xr tty 4 ,
.Xr mount_devfs 8 ,
.Xr mount_fdesc 8
.Sh 歴史
.Nm
ファイルシステムは
.Bx 4.4
で最初に登場しました。
.Nm
マニュアルページは
.Fx 2.2
で最初に登場しました。
.Sh 作者
.Nm
マニュアルページは
.An Mike Pritchard Aq mpp@FreeBSD.org
によって書かれたもので、
.An Jan-Simon Pendry
による
.Xr mount_fdesc 8
マニュアルページに基づいています。
diff --git a/ja/man/man5/forward.5 b/ja/man/man5/forward.5
index 6751a2bde4..1d0b5c13a4 100644
--- a/ja/man/man5/forward.5
+++ b/ja/man/man5/forward.5
@@ -1,83 +1,83 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. 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 Mike Pritchard and
.\" contributors.
.\" 4. Neither the name of the author 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 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: forward.5,v 1.1.2.1 1997/03/07 04:18:03 mpp Exp %
+.\" %Id: forward.5,v 1.2 1997/03/07 03:28:00 jmg Exp %
.\" jpman %Id: forward.5,v 1.3 1998/04/29 11:32:30 kuma Stab %
.\"
.\" WORD: quote クォート(単一引用符または二重引用符文字のこと)
.\"
.Dd July 2, 1996
.Dt FORWARD 5
.Os
.Sh 名称
.Nm forward
.Nd メールの転送指示
.Sh 解説
.Nm .forward
ファイルは、ユーザのメールの転送先の
メールアドレスもしくはプログラムのリストを格納します。
このファイルが存在しない場合には、メール転送は行なわれません。
行頭に標準のシェルパイプシンボル (|) を付けることにより、
メールはプログラムの標準入力として転送されます。
引数をコマンドに渡す場合には、行全体をクォートで括る必要があります。
セキュリティ上の理由で、
.Nm .forward
ファイルはメール送付先のユーザもしくは root が所有者である必要があり、
ユーザのシェルが
.Pa /etc/shells
にリストされている必要があります。
.Pp
例えば、
.Nm .forward
ファイルが以下の行を含む場合:
.Bd -literal -offset indent
nobody@FreeBSD.org
"|/usr/bin/vacation nobody"
.Ed
.Pp
メールは
.Ar nobody@FreeBSD.org
に転送され、
単一引数
.Ar nobody
を伴なってプログラム
.Pa /usr/bin/vacation
に転送されます。
.Sh 関連ファイル
.Bl -tag -width $HOME/.forward -compact
.It Pa $HOME/.forward
ユーザによる転送指示
.El
.Sh 関連項目
.Xr mailaddr 7 ,
.Xr sendmail 8
diff --git a/ja/man/man5/fs.5 b/ja/man/man5/fs.5
index 1c87cedba3..c9f0d3edbf 100644
--- a/ja/man/man5/fs.5
+++ b/ja/man/man5/fs.5
@@ -1,363 +1,371 @@
.\" 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
+.\" %Id: fs.5,v 1.8 1997/03/24 00:33:38 mpp Exp %
+.\"
.\" jpman %Id: fs.5,v 1.3 1998/06/22 11:05:13 kumano Stab %
-.\" %Id: fs.5,v 1.3.2.2 1997/03/07 04:18:04 mpp Exp %
.\"
.Dd April 19, 1994
.Dt FS 5
.Os BSD 4.2
.Sh 名称
.Nm fs ,
.Nm inode
.Nd ファイルシステムボリュームのフォーマット
.Sh 書式
-.Fd #include <sys/types.h>
+.Fd #include <sys/param.h>
.Fd #include <ufs/ffs/fs.h>
+.Pp
+.Fd #include <sys/types.h>
+.Fd #include <sys/lock.h>
+.Fd #include <ufs/ufs/quota.h>
.Fd #include <ufs/ufs/inode.h>
.Sh 解説
ファイル
.Aq Pa fs.h
.Aq Pa inode.h
は、ランダムアクセスデバイス (ディスク) 上のファイルシステムオブジェクト
の基本フォーマットを作成、管理する際に使われるいくつかの構造体、
定義済み変数、マクロを宣言します。
.Pp
ファイルシステムはブロックサイズとブロック数から構成されており、
これらはファイルシステムのパラメータになります。
.Dv BBLOCK
から始まり
大きさ
.Dv BBSIZE
だけ続くセクタは、
ディスクラベルといくつかの一次、二次ハードウェアブートストラッププログラム
のために使われます。
.Pp
実際のファイルシステムは、
.Dv SBLOCK
セクタから始まり、そこには
大きさが
.Dv SBSIZE
である
.Em スーパブロック
があります。
ファイル
.Aq Pa ufs/ffs/fs.h
にある以下の構造体は、スーパブロックを記述しています。
.Bd -literal
/*
- * ファイルシステムのスーパブロック
+ * FFS ファイルシステムのスーパブロック
*/
struct fs {
- struct fs *fs_link; /* 内部スーパブロック用に使われるファイルシステムの */
- struct fs *fs_rlink; /* リンク済みリスト */
- daddr_t fs_sblkno; /* ファイルシステム内のスーパブロックのアドレス */
- daddr_t fs_cblkno; /* ファイルシステム内のシリンダブロックのオフセット */
- daddr_t fs_iblkno; /* ファイルシステム内の inode ブロックのオフセット */
- daddr_t fs_dblkno; /* cg 後の最初のデータのオフセット */
- long fs_cgoffset; /* シリンダ内のシリンダグループオフセット */
- long fs_cgmask; /* mod fs_ntrak の計算に使われる */
- time_t fs_time; /* 最後に書き込まれた時刻 */
- long fs_size; /* fs 内のブロック数 */
- long fs_dsize; /* fs 内のデータブロック数 */
- long fs_ncg; /* シリンダグループの数 */
- long fs_bsize; /* fs 内の基本ブロックサイズ */
- long fs_fsize; /* fs 内のフラグメントブロックサイズ */
- long fs_frag; /* fs の 1 ブロック中のフラグメント数 */
+ int32_t fs_firstfield; /* 内部スーパブロック用に使われる、歴史的な
+ int32_t fs_unused_1; /* ファイルシステムのリンク済みリスト */
+ ufs_daddr_t fs_sblkno; /* ファイルシステム内のスーパブロックのアドレス */
+ ufs_daddr_t fs_cblkno; /* ファイルシステム内のシリンダブロックのオフセット */
+ ufs_daddr_t fs_iblkno; /* ファイルシステム内の inode ブロックのオフセット */
+ ufs_daddr_t fs_dblkno; /* cg 後の最初のデータのオフセット */
+ int32_t fs_cgoffset; /* シリンダ内のシリンダグループオフセット */
+ int32_t fs_cgmask; /* mod fs_ntrak の計算に使われる */
+ time_t fs_time; /* 最後に書き込まれた時刻 */
+ int32_t fs_size; /* fs 内のブロック数 */
+ int32_t fs_dsize; /* fs 内のデータブロック数 */
+ int32_t fs_ncg; /* シリンダグループの数 */
+ int32_t fs_bsize; /* fs 内の基本ブロックサイズ */
+ int32_t fs_fsize; /* fs 内のフラグメントブロックサイズ */
+ int32_t fs_frag; /* fs の 1 ブロック中のフラグメント数 */
/* 以下はコンフィグレーションパラメータ */
- long fs_minfree; /* フリーブロックの最小パーセンテージ */
- long fs_rotdelay; /* 最適な次ブロックのための ms 数 */
- long fs_rps; /* 1 秒あたりのディスク回転 */
+ int32_t fs_minfree; /* フリーブロックの最小パーセンテージ */
+ int32_t fs_rotdelay; /* 最適な次ブロックのための ms 数 */
+ int32_t fs_rps; /* 1 秒あたりのディスク回転 */
/* これらのフィールドは他のフィールドから計算できる */
- long fs_bmask; /* ``blkoff'' ブロックオフセットの計算 */
- long fs_fmask; /* ``fragoff'' フラグメントオフセットの計算 */
- long fs_bshift; /* ``lblkno'' 論理ブロック番号の計算 */
- long fs_fshift; /* ``numfrags'' フラグメント数の計算 */
+ int32_t fs_bmask; /* ``blkoff'' ブロックオフセットの計算 */
+ int32_t fs_fmask; /* ``fragoff'' フラグメントオフセットの計算 */
+ int32_t fs_bshift; /* ``lblkno'' 論理ブロック番号の計算 */
+ int32_t fs_fshift; /* ``numfrags'' フラグメント数の計算 */
/* 以下はコンフィグレーションパラメータ */
- long fs_maxcontig; /* 連続したブロックの最大数 */
- long fs_maxbpg; /* シリンダグループあたりの最大ブロック数 */
+ int32_t fs_maxcontig; /* 連続したブロックの最大数 */
+ int32_t fs_maxbpg; /* シリンダグループあたりの最大ブロック数 */
/* これらのフィールドは他のフィールドから計算できる */
- long fs_fragshift; /* フラグメントシフトするブロック */
- long fs_fsbtodb; /* fsbtodb と dbtofsb シフト定数 */
- long fs_sbsize; /* スーパブロックの実際の大きさ */
- long fs_csmask; /* csum ブロックオフセット */
- long fs_csshift; /* csum ブロック数 */
- long fs_nindir; /* NINDIR の値 */
- long fs_inopb; /* INOPB の値 */
- long fs_nspf; /* NSPF の値 */
+ int32_t fs_fragshift; /* フラグメントシフトするブロック */
+ int32_t fs_fsbtodb; /* fsbtodb と dbtofsb シフト定数 */
+ int32_t fs_sbsize; /* スーパブロックの実際の大きさ */
+ int32_t fs_csmask; /* csum ブロックオフセット */
+ int32_t fs_csshift; /* csum ブロック数 */
+ int32_t fs_nindir; /* NINDIR の値 */
+ int32_t fs_inopb; /* INOPB の値 */
+ int32_t fs_nspf; /* NSPF の値 */
/* 別のコンフィグレーションパラメータ */
- long fs_optim; /* 最適化の選択、以下を参照 */
+ int32_t fs_optim; /* 最適化の選択、以下を参照 */
/* これらのフィールドはハードウェアから引き出される */
- long fs_npsect; /* 予備を含むトラックあたりのセクタ数 */
- long fs_interleave; /* ハードウェアセクタインタリーブ */
- long fs_trackskew; /* トラックあたりのセクタ 0 ゆがみ */
- long fs_headswitch; /* ヘッドスイッチ時間 (usec) */
- long fs_trkseek; /* トラック間シーク (usec) */
+ int32_t fs_npsect; /* 予備を含むトラックあたりのセクタ数 */
+ int32_t fs_interleave; /* ハードウェアセクタインタリーブ */
+ int32_t fs_trackskew; /* トラックあたりのセクタ 0 ゆがみ */
+/* fs_id は未使用の fs_headswitch と fs_trkseek のフィールドの空間を保持 */
+ int32_t fs_id[2]; /* ユニークなファイルシステム ID */
/* シリンダグループの数とサイズにより決められるサイズ */
- daddr_t fs_csaddr; /* シリンダグループ総括領域のブロックアドレス */
- long fs_cssize; /* シリンダグループ総括領域のサイズ */
- long fs_cgsize; /* シリンダグループサイズ */
+ ufs_daddr_t fs_csaddr; /* シリンダグループ総括領域のブロックアドレス */
+ int32_t fs_cssize; /* シリンダグループ総括領域のサイズ */
+ int32_t fs_cgsize; /* シリンダグループサイズ */
/* これらのフィールドはハードウェアから引き出される */
- long fs_ntrak; /* シリンダあたりのトラック数 */
- long fs_nsect; /* トラックあたりのセクタ数 */
- long fs_spc; /* シリンダあたりのセクタ数 */
+ int32_t fs_ntrak; /* シリンダあたりのトラック数 */
+ int32_t fs_nsect; /* トラックあたりのセクタ数 */
+ int32_t fs_spc; /* シリンダあたりのセクタ数 */
/* これはディスクドライバパーティション作成時のもの */
- long fs_ncyl; /* ファイルシステムのシリンダ数 */
+ int32_t fs_ncyl; /* ファイルシステムのシリンダ数 */
/* これらのフィールドは他のフィールドから計算できる */
- long fs_cpg; /* グループあたりのシリンダ数 */
- long fs_ipg; /* グループあたりの inode 数 */
- long fs_fpg; /* グループあたりのブロック数 * fs_frag */
+ int32_t fs_cpg; /* グループあたりのシリンダ数 */
+ int32_t fs_ipg; /* グループあたりの inode 数 */
+ int32_t fs_fpg; /* グループあたりのブロック数 * fs_frag */
/* このデータはクラッシュ後に再計算されなければならない */
- struct csum fs_cstotal; /* シリンダ総括情報 */
+ struct csum fs_cstotal;/* シリンダ総括情報 */
/* 以下のフィールドはマウント時にクリアされる */
- char fs_fmod; /* スーパブロック変更フラグ */
- char fs_clean; /* ファイルシステムがクリーンであるフラグ */
- char fs_ronly; /* 読み込み専用でマウントされたフラグ */
- char fs_flags; /* 現在未使用のフラグ */
- char fs_fsmnt[MAXMNTLEN]; /* マウントされている名前 */
+ int8_t fs_fmod; /* スーパブロック変更フラグ */
+ int8_t fs_clean; /* ファイルシステムがクリーンであるフラグ */
+ int8_t fs_ronly; /* 読み込み専用でマウントされたフラグ */
+ int8_t fs_flags; /* 現在未使用のフラグ */
+ int8_t fs_fsmnt[MAXMNTLEN]; /* マウントされている名前 */
/* これらのフィールドは現在のブロックの配置情報を保持する */
- long fs_cgrotor; /* 最後に検索された cg */
+ int32_t fs_cgrotor; /* 最後に検索された cg */
struct csum *fs_csp[MAXCSBUFS]; /* fs_cs 情報バッファのリスト */
- long fs_cpc; /* postbl 内のサイクルあたりのシリンダ */
- short fs_opostbl[16][8]; /* 旧回転ブロックリストヘッド */
- long fs_sparecon[50]; /* 将来のために予約された定数 */
- long fs_contigsumsize;/* クラスタ総括配列の大きさ */
- long fs_maxsymlinklen;/* 内部シンボリックリンクの最大長 */
- long fs_inodefmt; /* ディスク上の inode のフォーマット */
- u_quad_t fs_maxfilesize;/* 最大表示可能ファイルサイズ */
- quad fs_qbmask; /* ~fs_bmask - quad サイズで使う */
- quad fs_qfmask; /* ~fs_fmask - quad サイズで使う */
- long fs_postblformat; /* 位置レイアウトテーブルのフォーマット */
- long fs_nrpos; /* 回転位置の数 */
- long fs_postbloff; /* (short) 回転ブロックリストヘッド */
- long fs_rotbloff; /* (u_char) 各回転毎のブロック */
- long fs_magic; /* マジックナンバ */
- u_char fs_space[1]; /* 各回転毎のブロックのリスト */
+ int32_t *fs_maxcluster;/* 各シリンダグループの最大クラスタ */
+ int32_t fs_cpc; /* postbl 内のサイクルあたりのシリンダ */
+ int16_t fs_opostbl[16][8]; /* 旧回転ブロックリストヘッド */
+ int32_t fs_sparecon[50]; /* 将来のために予約された定数 */
+ int32_t fs_contigsumsize; /* クラスタ総括配列の大きさ */
+ int32_t fs_maxsymlinklen; /* 内部シンボリックリンクの最大長 */
+ int32_t fs_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_postblformat;/* 位置レイアウトテーブルのフォーマット */
+ int32_t fs_nrpos; /* 回転位置の数 */
+ int32_t fs_postbloff; /* (u_int16) 回転ブロックリストヘッド */
+ int32_t fs_rotbloff; /* (u_int8) 各回転毎のブロック */
+ int32_t fs_magic; /* マジックナンバ */
+ u_int8_t fs_space[1]; /* 各回転毎のブロックのリスト */
/* 実際はもっと長い */
};
/*
* ファイルシステム識別
*/
#define FS_MAGIC 0x011954 /* fast ファイルシステムのマジックナンバ */
#define FS_OKAY 0x7c269d38 /* スーパブロックチェックサム */
#define FS_42INODEFMT -1 /* 4.2BSD inode フォーマット */
-#define FS_44INODEFMT 2 /* 4.4BSD inode フォーマット */
+#define FS_44INODEFMT 2 /* 4.4BSD inode フォーット
+ */
/*
* 最適化のための選択
*/
#define FS_OPTTIME 0 /* 最小アロケーション時間 */
#define FS_OPTSPACE 1 /* 最小ディスクフラグメンテーション */
/*
* 回転レイアウトテーブルフォーマットタイプ
*/
#define FS_42POSTBLFMT -1 /* 4.2BSD 回転テーブルフォーマット */
#define FS_DYNAMICPOSTBLFMT 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_rotdelay
は、同一シリンダ上で別のディスク転送を開始する
最小ミリ秒数を与えます。
これは、あるファイル中のディスクブロックの周回の中での最適な配置を
決定するのに使われます。
デフォルトの
.Fa fs_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 SBSIZE
の大きさ以上ではないということに注意して下さい。
.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 SBSIZE
の大きさを持つことにより制限されています。
これらのテーブルの大きさは、ファイルシステムのブロックサイズに
.Em 逆比例
します。
セクタサイズが 2 のべき乗でないときには、周回パターンを
.Pq Fa fs_cpc
だけ繰り返すまでに含まれるシリンダ数が増加するので、
同様にテーブルの大きさも増加します。
周回レイアウトテーブルの大きさは、
.Pq Fa struct fs
に残っているバイト数から割り出されます。
.Pp
シリンダグループあたりのデータブロック数は、シリンダグループが
たかだか 1 ブロックであるので、制限されています。
inode と空きブロックテーブルは、単一ブロックから
シリンダグループ構造体
.Pq Fa struct cg
のための領域を除いた残りにぴったり合っていなければなりません。
.Pp
.Em Inode :
inode は、
.Tn UNIX
ファイルシステム内のすべてのファイルに関する動作の中心です。
各アクティブなファイル、カレントディレクトリ、マウントされたファイル、
テキストファイル、root には、それぞれユニークな inode が割り当てられます。
inode はそのデバイス / i 番号によって `名前付け' されています。
詳しくはインクルードファイル
-.Aq Pa sys/inode.h
+.Aq Pa ufs/ufs/inode.h
を参照して下さい。
.Sh 歴史
filsys と名付けられたスーパブロック構造は
.At v6
から登場しました。このマニュアルで記述されているファイルシステムは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man5/fstab.5 b/ja/man/man5/fstab.5
index 43d542ba7a..63f8a33ed3 100644
--- a/ja/man/man5/fstab.5
+++ b/ja/man/man5/fstab.5
@@ -1,246 +1,246 @@
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)fstab.5 8.1 (Berkeley) 6/5/93
-.\" %Id: fstab.5,v 1.4.2.5 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: fstab.5,v 1.9 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: fstab.5,v 1.3 1998/06/12 11:00:49 mutoh Stab %
.\"
.Dd June 5, 1993
.Dt FSTAB 5
.Os BSD 4
.Sh 名称
.Nm fstab
.Nd ファイルシステムに関する静的情報
.Sh 書式
.Fd #include <fstab.h>
.Sh 解説
.Nm fstab
ファイルは、さまざまなファイルシステムについて記述した情報を格納します。
.Nm fstab
はプログラムによって読み出されるだけで、書き込みはされません。
このファイルを適切に作成、保守するのはシステム管理者の責務です。
各ファイルシステムは個別の行に記述されます。
各々の行のフィールドはタブまたはスペースによって区切られます。
.Xr fsck 8 ,
.Xr mount 8 ,
および
.Xr umount 8
.Nm fstab
を通じて必要な処理を連続して繰り返すため、
.Nm fstab
のレコードの順序は重要な意味を持ちます。
.Pp
第1フィールド
.Pq Fa fs_spec
はマウントされるブロックスペシャルデバイス、またはリモートのファイル
システムを表します。
.Em ufs
形式のファイルシステムでは、スペシャルファイル名はブロックスペシャル
ファイル名であり、キャラクタスペシャルファイル名ではありません。
プログラムがキャラクタスペシャルファイル名を必要とする場合、そのプログラム
がスペシャルファイル名の中の最後の ``/'' の後ろに ``r'' を追加することで
キャラクタスペシャルファイル名を作成しなければなりません。
.Pp
第2フィールド
.Pq Fa fs_file
はファイルシステムのマウントポイントを表します。
スワップパーティションでは、このフィールドには ``none'' と記述すべきです。
.Pp
第3フィールド
.Pq Fa fs_vfstype
はファイルシステムの形式を表します。
システムはさまざまなファイルシステム形式をサポートできます。
ルート、 /usr および /tmp のファイルシステムだけはカーネルに静的に組み
込まれている必要があります。
他の全てのファイルシステムはマウント時に自動的にロードされます
(例外 : UFS 系 - FFS , MFS および LFS は現在のところデマンドロードは
できません)。
いまだに他のファイルシステムも同様に静的に組み込むのを好む人もいるようです。
.Bl -tag -width indent -offset indent
.It Em ufs
ローカルの
.Tn UNIX
ファイルシステム
.It Em mfs
ローカルのメモリベース
.Tn UNIX
ファイルシステム
.It Em nfs
Sun Microsystems 互換 ``Network File System''
.It Em swap
スワッピングに使用されるディスクパーティション
.It Em msdos
DOS 互換ファイルシステム
.It Em cd9660
( ISO 9660 による) CD-ROM ファイルシステム
.\" おそらく、例えばRock Ridge extension形式なども処理される?
.It Em procfs
プロセスデータへのアクセスのためのファイルシステム
.It Em kernfs
カーネルパラメータへのアクセスのためのファイルシステム
.El
.Pp
第4フィールド
.Pq Fa fs_mntops
は、ファイルシステムに関連するマウントオプションを表します。
これはコンマで区切られたオプションのリストとして記述されます。
これは少なくともマウントの形式(以下の
.Fa fs_type
参照)を含み、加えてファイルシステム形式に特有のいくつかの追加の
オプションを含みます。
.Pp
``userquota'' および ``groupquota'' オプションの双方、またはいずれかが
指定されている場合、ファイルシステムは自動的に
.Xr quotacheck 8
コマンドによって処理され、ユーザおよびグループクォータが
.Xr quotaon 8
で有効にされます。
デフォルトでは、ファイルシステムのクォータは関連するファイルシステムの
ルートに置かれた
.Pa quota.user
および
.Pa quota.group
というファイルで管理されます。
これらのデフォルトは、クォータオプションの直後に等号とデフォルトに代わる
絶対パス名を置くことで変更することができます。
従って、
.Pa /tmp
のユーザクォータファイルを
.Pa /var/quotas/tmp.user
に置く場合、そのファイルの場所は以下のように指定されます。
.Bd -literal -offset indent
userquota=/var/quotas/tmp.user
.Ed
.Pp
``noauto'' オプションが指定されている場合、ファイルシステムはシステム
起動時に自動的にマウントされません。
.Pp
マウント形式は
.Fa fs_mntops
フィールドから取り出され、
.Fa fs_type
フィールドに個別に保存されます(
.Fa fs_mntops
フィールドからは削除されません)。
.Fa fs_type
が ``rw'' または ``ro'' ならば、
.Fa fs_file
フィールドで指定されたファイルシステムは、読み書き可能、または読み出し
専用で指定のスペシャルファイルに正常にマウントされます。
.Fa fs_type
が ``sw'' ならば、スペシャルファイルはシステムのリブート処理の最後に
.Xr swapon 8
コマンドによってスワップ領域の一部として使用されます。
.Fa fs_spec
.Fa fs_type
以外のフィールドは使用されません。
.Fa fs_type
が ``xx'' と指定されている場合、このエントリは無視されます。
これは、現在使用されていないディスクパーティションを表すのに便利です。
.Pp
第5フィールド
.Pq Fa fs_freq
は、どのファイルシステムがダンプされる必要があるか決定するために
.Xr dump 8
コマンドによって使用されます。
第5フィールドが与えられていない場合は 0 が返され、
.Nm dump
コマンドはそのファイルシステムをダンプする必要がないと見なします。
.Pp
第6フィールド
.Pq Fa fs_passno
は、リブート時にファイルシステムのチェックが行われる順序を決定するために
.Xr fsck 8
プログラムによって使用されます。
ルートファイルシステムは
.Fa fs_passno
に 1 、他のファイルシステムは
.Fa fs_passno
に 2 が指定されているべきです。
1つのドライブ内のファイルシステムは逐次的にチェックされますが、
異なるドライブ上のファイルシステムは、ハードウェアの並列性を利用して
同時にチェックされます。
第6フィールドが与えられていないか 0 の場合、0 が返され、
.Xr fsck 8
コマンドはそのファイルシステムをチェックする必要がないと見なします。
.Bd -literal
#define FSTAB_RW "rw" /* 読み書き可能デバイス */
#define FSTAB_RQ "rq" /* クォータ付き読み書き可能デバイス */
#define FSTAB_RO "ro" /* 読み出し専用デバイス */
#define FSTAB_SW "sw" /* スワップデバイス */
#define FSTAB_XX "xx" /* 完全に無視 */
struct fstab {
char *fs_spec; /* ブロックスペシャルデバイス名 */
char *fs_file; /* ファイルシステムのパスのプレフィックス */
char *fs_vfstype; /* ufs,nfs などのファイルシステム形式 */
char *fs_mntops; /* -o に準拠したマウントオプション */
char *fs_type; /* fs_mntops から FSTAB_* のコピー */
int fs_freq; /* ダンプ周期の日数 */
int fs_passno; /* 並列 fsck のパス番号 */
};
.Ed
.Pp
.Pa fstab
のレコードを適切に読み出すには、
.Xr getfsent 3 ,
.Xr getfsspec 3 ,
.Xr getfstype 3 ,
および
.Xr getfsfile 3
ルーチンを使用します。
.Sh 関連ファイル
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
.Nm fstab
ファイルは
.Pa /etc
に存在します。
.El
.Sh 関連項目
.Xr getfsent 3 ,
.Xr getvfsbyname 3 ,
.Xr dump 8 ,
.Xr fsck 8 ,
.Xr mount 8 ,
.Xr quotacheck 8 ,
.Xr quotaon 8 ,
.Xr swapon 8 ,
.Xr umount 8
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.0
から登場しました。
diff --git a/ja/man/man5/gettytab.5 b/ja/man/man5/gettytab.5
index 22c153e70a..5484ec2de5 100644
--- a/ja/man/man5/gettytab.5
+++ b/ja/man/man5/gettytab.5
@@ -1,521 +1,521 @@
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)gettytab.5 8.4 (Berkeley) 4/19/94
-.\" %Id: gettytab.5,v 1.7.2.8 1998/07/19 06:53:01 jkh Exp %
+.\" %Id: gettytab.5,v 1.18 1998/06/10 12:34:25 phk Exp %
.\"
.\" jpman %Id: gettytab.5,v 1.3 1998/07/30 15:25:14 horikawa Stab %
.\" "
.\" WORD: terminal line 端末回線
.\" WORD: .Sh CAPABILITIES ケーパビリティ
.\" WORD: erase 文字消去
.\" WORD: kill 行削除
.\" WORD: delay 遅延
.\" WORD: comma コンマ
.\" WORD: banner バナー
.\" WORD: answer chat script アンサーチャットスクリプト
.\" WORD: screen 画面 [termcap.5 gettytab.5]
.\" "
.Dd April 19, 1994
.Dt GETTYTAB 5
.Os BSD 4.2
.\" turn off hyphenation
.hym 999
.Sh 名称
.Nm gettytab
.Nd 端末設定データベース
.Sh 書式
.Nm gettytab
.Sh 解説
.Nm
ファイルは
.Xr termcap 5
データベースを単純化したバージョンで、
端末回線を記述するのに用いられます。
冒頭に起動される端末ログインプロセス
.Xr getty 8
は起動されるたびに
.Nm
ファイルにアクセスするので、
比較的簡単に端末の特性を再設定することができます。
データベースの各エントリは、それぞれ1個の端末クラスを記述するのに用いられます。
.Pp
デフォルトの端末クラス
.Em default
が存在し、
他の全てのクラスに対するグローバルなデフォルト値を記述するのに
用いられます。
(言い替えれば、まず、
.Em default
エントリを読み込み、その後で、必要なクラスのエントリを読み込み、
デフォルトの設定をクラス固有の設定で上書きします。)
.Sh ケーパビリティ
ファイルレイアウトの解説については、
.Xr termcap 5
を参照して下さい。
以下の
.Em デフォルト
欄は、
使用する端末用のテーブルに値がなく、特別の
.Em default
テーブルにも値がない場合に用いられる値です。
.Bl -column 名称 文字列 /usr/bin/login
.It Sy 名称 型 デフォルト 解説
.It "ac 文字列 unused モデム応答のための想定文字列-応答チャットスクリプト"
.It "ap bool 偽 端末はどのパリティでも受け付ける"
.It "bk 文字列 0377 代用の行末文字 (入力ブレーク)"
.It "c0 数値 unused メッセージ書き出しのための tty コントロールフラグ群"
.It "c1 数値 unused ログイン名読み込みのための tty コントロールフラグ群"
.It "c2 数値 unused 端末を去るときのコントロールフラグ群"
.It "ce bool 偽 crt 文字消去アルゴリズムを用いる"
.It "ck bool 偽 crt 行削除アルゴリズムを用いる"
.It "cl 文字列" Ta Dv NULL Ta
.No "画面削除シーケンス"
.It "co bool 偽 コンソール -"
.Ql \en
をログインプロンプトの後に追加する
.It "ct 数値 10 ac/ic スクリプトのためのチャットタイムアウト"
.It "dc 数値 0 チャットデバッグ用ビットマスク"
.It "de 数値 0 この秒数だけ待って、最初のプロンプトを描く前に入力をフラッシュする"
.It "ds 文字列" Ta So Li ^Y Sc Ta
.No "遅延されたサスペンド文字"
.It "dx bool 偽 "
.Dv DECCTLQ
をセットする
.It "ec bool 偽 echo を残す"
.Tn OFF
.It "ep bool 偽 端末は偶数パリティを用いる"
.It "er 文字列" Ta So Li ^? Sc Ta
.No "消去文字"
.It "et 文字列" Ta So Li ^D Sc Ta
.No "テキストの終り"
.Pq Dv EOF
文字
.It "ev 文字列" Ta Dv NULL Ta
.No "環境変数の初期設定"
.It "f0 数値 unused メッセージ書き出しのための tty モードフラグ群"
.It "f1 数値 unused ログイン名読み込みのための tty モードフラグ群"
.It "f2 数値 unused 端末を去るときの tty モードフラグ群"
.It "fl 文字列" Ta So Li ^O Sc Ta
.No "出力フラッシュ文字"
.It "hc bool 偽 "
最後のクローズのときに回線をハングアップ
.Tn させない
.It "he 文字列" Ta Dv NULL Ta
.No "ホスト名編集文字列"
.It "hn 文字列 hostname ホスト名"
.It "ht bool 偽 端末に本物のタブが実装されている"
.It "hw bool 偽 cts/rts によるハードウェアフロー制御を行う"
.It "i0 数値 unused メッセージ書き出しのための tty 入力フラグ群"
.It "i1 数値 unused ログイン名読み込みのための tty 入力フラグ群"
.It "i2 数値 unused 端末を去るときの tty 入力フラグ群"
.It "ic 文字列 unused モデム初期化のための、想定入力-出力チャットスクリプト"
.It "if 文字列 unused プロンプトの前に、/etc/issue のように名前で指定したファイルを表示する"
.It "ig bool 偽 ログイン名に含まれるガベージ文字を無視する"
.It "im 文字列" Ta Dv NULL Ta
.No "冒頭の (バナー) メッセージ"
.It "in 文字列" Ta So Li ^C Sc Ta
.No "割り込み文字"
.It "is 数値 unused 入力スピード"
.It "kl 文字列" Ta So Li ^U Sc Ta
.No "行消去文字"
.It "l0 数値 unused メッセージ書き出しのための tty ローカルフラグ群"
.It "l1 数値 unused ログイン名読み込みのための tty ローカルフラグ群"
.It "l2 数値 unused 端末を去るときの tty ローカルフラグ群"
.It "lm 文字列 login: ログインプロンプト"
.It "ln 文字列" Ta So Li ^V Sc Ta
.No "次の文字がリテラル値であることを示す文字"
.It "lo 文字列" Ta Pa /usr/bin/login Ta
.No "名前を得たときに実行するプログラム"
.It "mb bool 偽 キャリアに基づいたフロー制御を行う"
.It "nl bool 偽 端末には改行文字がある (あるいは、あるはずである)"
.It "np bool 偽 端末はパリティを用いない (つまり 8bit 文字)"
.It "nx 文字列 default (速度の自動選択のための) 次のテーブル"
.It "o0 数値 unused メッセージ書き出しのための tty 出力フラグ群"
.It "o1 数値 unused ログイン名読み込みのための tty 出力フラグ群"
.It "o2 数値 unused 端末を去るときの tty 出力フラグ群"
.It "op bool 偽 端末は奇数パリティを用いる"
.It "os 数値 unused 出力スピード"
.It "pc 文字列" Ta So Li \e0 Sc Ta
.No "パッド文字"
.It "pe bool 偽 プリンタの (ハードコピー) 文字消去アルゴリズムを用いる"
.It "pf 数値 0 最初のプロンプトと"
引き続くフラッシュの間の遅延 (秒数)
.It "pp 文字列 unused PPP 認証プログラム"
.It "ps bool 偽 回線は"
.Tn MICOM
ポートセレクタに接続されている
.It "qu 文字列" Ta So Li \&^\e Sc Ta
.No "終了文字"
.It "rp 文字列" Ta So Li ^R Sc Ta
.No "行の再タイプ文字"
.It "rt 数値 unused ac 使用時の ring タイムアウト"
.It "rw bool 偽 入力に raw モードを"
.Tn 用いずに
、cbreak を用いる
.It "sp 数値 unused (入力および出力の) 回線速度"
.It "su 文字列" Ta So Li ^Z Sc Ta
.No "サスペンド文字"
.It "tc 文字列 none テーブルの続き"
.It "to 数値 0 タイムアウト (秒数)"
.It "tt 文字列" Ta Dv NULL Ta
.No "端末の型 (環境変数用)"
.It "ub bool 偽 (プロンプトなどの) バッファリングしない出力を行う"
.It "we 文字列" Ta So Li ^W Sc Ta
.No "単語消去文字"
.It xc bool 偽 コントロール文字を
.Ql ^X
の形で出力
.Tn しない
.It "xf 文字列" Ta So Li ^S Sc Ta Dv XOFF
(出力ストップ) 文字
.It "xn 文字列" Ta So Li ^Q Sc Ta Dv XON
(出力開始) 文字
.It "Lo 文字列 C バナーメッセージでの \&%d のために用いるロケール"
.El
.Pp
以下のケーパビリティはもはや
.Xr getty 8
によってサポートされていません。
.Bl -column 名称 文字列 /usr/bin/login
.It "bd 数値 0 バックスペースでの遅延"
.It "cb bool 偽 crt バックスペースモードを用いる"
.It "cd 数値 0 復帰 (carriage return) での遅延"
.It "fd 数値 0 フォームフィード (垂直移動) での遅延"
.It "lc bool 偽 端末では小文字が使える"
.It "nd 数値 0 改行 (ラインフィード) での遅延"
.It "uc bool 偽 端末では大文字しか使えない"
.El
.Pp
回線速度が指定されていない場合、 getty が起動された時に設定されている速度は
変更されません。
入力速度または出力速度を指定したときは、
指定した方向の回線速度のみが上書き更新されます。
.Pp
メッセージの出力時、ログイン名の入力時、
getty が処理を済ませて端末を手放す時に用いる
端末モードの値は
ブール型フラグの指定に基づいて決定されます。
もしこの決定が適切でないことが分かった場合、
これら3つのどれか (あるいはすべて) の値は、数値指定
.Em \&c0 ,
.Em \&c1 ,
.Em \&c2 ,
.Em \&i0 ,
.Em \&i1 ,
.Em \&i2 ,
.Em \&l0 ,
.Em \&l1 ,
.Em \&l2 ,
.Em \&o0 ,
.Em \&o1 ,
または
.Em \&o2
のどれかで上書きされます。
これらの数値指定では、フラグの値
(通常は、0 を頭につけた 8 進数)
そのものを指定することができます。
これらのフラグは termio の
.Em c_cflag ,
.Em c_iflag ,
.Em c_lflag ,
および
.Em c_oflag
の各フィールドにそれぞれ対応します。
それらのセットの各々は、完全に指定しなければ有効になりません。
.Em \&f0 ,
.Em \&f1 ,
および
.Em \&f2
はTTYサブシステムの旧版の実装に対する後方互換性を意図した物です。
これらのフラグには、sgttyb の
.Em sg_flags
フィールドの (32ビット) 値の下位16ビットが含まれます。また、上位16ビットは
ローカルモードを収めるワードを表します。
.Pp
もし
.Xr getty 8
がナル文字 (回線ブレークを示すものと見なされます) を受け取った場合、
プログラムは
.Em nx
エントリに示されたテーブルを用いて再始動します。
もしこのエントリがなければ、今まで用いていたテーブルを再び用います。
.Pp
遅延はミリ秒単位で指定し、tty ドライバが使用可能な遅延のうち最も
近いものが用いられます。
より大きな確実性が必要な場合は、0 から 1, 2, 3 までの値の
遅延はドライバの特別な遅延アルゴリズムから選択するものと解釈されます。
.Pp
.Em \&cl
画面消去文字列には、その前に必要な遅延時間をミリ秒単位の
(10 進数) 数値で (termcap 風に) 書くことができます。
この遅延はパディング文字
.Em \&pc
を繰り返して用いることによりシミュレートされます。
.Pp
初期化メッセージ
.Em \&im
ログインメッセージ
.Em \&lm
および初期化ファイル
.Em \&if
は、以下の文字の並びをどれでも含めることができます。これらは
.Xr getty 8
が実行されている環境から得た情報に展開されます。
.Pp
.Bl -tag -offset indent -width \&%xxxxxxxxxxxxxx
.It \&%d
現在の日付と時間を、
.Em \&Lo
文字列で指定したロケールでの表記法 (
.Xr strftime 3
の \&%+ フォーマット) で表したもの。
.It \&%h
マシンのホスト名。通常は
.Xr gethostname 3
によってシステムから得ますが、テーブルの
.Em \&hn
エントリで指定して、この値を書き換えることができます。
どちらの場合でも、これは
.Em \&he
文字列を用いて編集することができます。
.Em \&he
文字列の中にある 1 個の '@' は 実際のホスト名から最終的なホスト名に
1文字のコピーを引き起こします。
.Em \&he
文字列中の '#' は実際のホスト名の次の1文字をスキップさせます。
-'@' でも '#' でもない各文字は最終的なホスト名にコピーされます。
+\&'@' でも '#' でもない各文字は最終的なホスト名にコピーされます。
余分な '@' と '#' は無視されます。
.It \&%t
tty の名前。
.It "\&%m, \&%r, \&%s, \&%v"
それぞれ、
.Xr uname 3
が返す
マシンの型、オペレーティングシステムのリリース、オペレーティングシステムの
名前、そしてカーネルのバージョンです。
.It \&%%
1個の
.Dq %
文字。
.El
.Pp
getty がログインプロセス
(通常は
.Dq Pa /usr/bin/login
ですが、
.Em \&lo
文字列で指定されていればそれ)を実行するとき、このプロセスの環境には
.Em \&tt
文字列 (が存在すれば) で指定した
端末の型が設定されます。
.Em \&ev
文字列は、プロセスの環境にデータを追加するために使用することができます。
これはコンマで区切られた文字列からなり、それぞれは、
.Em name=value
という形式になっていると仮定されます。
.Pp
もしタイムアウトとして、
.Em \&to
に 0 以外の値を指定した場合、
指定された秒数経過した後に終了します。
すなわち、getty はログイン名を受け取って制御を
.Xr login 1
に渡すか、または alarm シグナルを受け取って終了します。
これはダイアルイン回線をハングアップするために有用です。
.Pp
.Xr getty 8
からの出力は、
.Em \&op
.Em \&np
が指定された場合を除いて、偶数パリティを用います。
.Em \&op
文字列と
.Em \&ap
を一緒に指定すると、
入力としてはパリティが何であっても許可し、出力としては奇数パリティを
生成します。
注意: これは、getty が実行されているときのみ適用され、端末ドライバの
制限によりここまで完全な実装ができないかもしれません。
.Xr getty 8
.Dv RAW
モードのときは入力文字のパリティ検査を行いません。
.Pp
もし
.Em \&pp
文字列が指定されていて、 PPP リンク確立シーケンスが認識されると、
getty は pp オプションで指定されているプログラムを起動します。
これは PPP 着信を取り扱うために用いることができます。
.Pp
.Nm getty
は以下の2つのケーパビリティを用いて利用できるチャットスクリプト機能を
提供します。これによって、
基本的なインテリジェントモデムをある程度取り扱えるようにします。
.Pp
.Bl -tag -offset indent -width \&xxxxxxxx -compact
.It ic
モデムを初期化するチャットスクリプト。
.It ac
コールに答えるチャットスクリプト。
.El
.Pp
チャットスクリプトは、受信を想定した文字列/送信する文字列の対の連なり
からなります。チャット文字列が始まるとき、
.Nm getty
は最初の文字列を待ち、その文字列を見つけたら 2 番目の文字列を送ります。
以後も同様に処理を進めます。
指定された文字列は 1 個以上のタブあるいはスペースで区切られています。
文字列には標準 ASCII 文字と、特別な「エスケープ」を含めることが
できます。エスケープは、バックスラッシュに続き1文字以上の文字が
続いたもので、それは
以下のように解釈されます。
.Pp
.Bl -tag -offset indent -width \&xxxxxxxx -compact
.It \ea
ベル文字。
.It \eb
バックスペース。
.It \en
改行。
.It \ee
エスケープ。
.It \ef
フォームフィード。
.It \ep
0.5秒の一時停止。
.It \er
復帰文字。
.It \eS, \es
空白文字。
.It \et
タブ。
.It \exNN
16 進数のバイト値。
.It \e0NNN
8 進数のバイト値。
.El
.Pp
.Ql \ep
文字列は送信文字列でのみ有効で、前の文字と次の文字を送る間に 0.5 秒の
一時停止を発生することに注意のこと。
16 進数値は最大で 16 進数 2 桁で、 8 進数値は最大で 8 進数 3 桁です。
.Pp
.Em \&ic
チャットシーケンスはモデムやそれに類似したデバイスを初期化するのに
用いられます。ヘイズ互換のコマンドセットを持つモデム用の初期化チャット
スクリプトの典型例は、以下のようなものでしょう。
.Pp
.Dl :ic="" ATE0Q0V1\er OK\er ATS0=0\er OK\er:
.Pp
このスクリプトは何も待たず (つまり常に成功し)、モデムが正しいモード
(コマンドエコーを抑制し、応答を返す際に冗長モードで返す)
に確実になるようなシーケンスを送り、それから自動応答を
切ります。
終了する前に、 "OK" という反応を待ちます。
この初期化シーケンスは、モデムの応答をチェックして
モデムが正しく機能しているかを確かめるために
用いられます。
初期化スクリプトが完了するのに失敗した場合、
.Nm getty
はこれを致命的な状態であると見なし、その結果として、
.Xr syslogd 8
を用いてログを残してから終了します。
.Pp
同様に、アンサーチャットスクリプトは
(通常) "RING" に対して手動で電話に応答するために
用いることができます。
アンサースクリプトを指定して起動した場合、
.Nm getty
はポートをノンブロッキングモードでオープンし、それ以前の余分な入力をすべて
消去し、ポートへのデータを待ちます。
何らかのデータが取得可能になるとすぐ、アンサーチャットスクリプトが
開始し、文字列がスキャンされ、アンサーチャットスクリプトに従って
応答します。
ヘイズ互換のモデムでは、スクリプトは通常以下のような感じのものになるでしょう。
.Pp
.Dl :ac=RING\er ATA\er CONNECT:
.Pp
これは、"ATA" コマンドによってモデムに応答させ、続いて
入力をスキャンして文字列 "CONNECT" を探します。
もし
.Em \&ct
タイムアウトが生じる前にこの文字列を受け取った場合、
通常のログインシーケンスが開始されます。
.Pp
.Em \&ct
ケーパビリティはすべての送信文字列および想定される入力文字列
に適用されるタイムアウトの値を指定します。このタイムアウトは
文字列待ちを行うごと、および文字列送信を行うごとに設定されます。
少なくともリモートとローカルのモデムの間のコネクションが確立される
のにかかる時間 (通常およそ10秒) だけの長さは必要です。
.Pp
ほとんどの情況で、コネクションが検出された後に
追加の入力のすべてをフラッシュしたいと思うものですが、
この目的には
.Em \&de
ケーパビリティを使うことができます。これは、
コネクションが確立された後で短時間の遅延をかけ、
その間に接続データがすべてモデムによって送られてしまうのと
同じ効果を持ちます。
.Pp
.Sh 関連項目
.Xr login 1 ,
.Xr gethostname 3 ,
.Xr uname 3 ,
.Xr termcap 5 ,
.Xr getty 8 ,
.Xr telnetd 8 .
.Sh バグ
特殊文字 (文字消去、行削除など) は
.Xr login 1
によってシステムのデフォルトに再設定されてしまいます。
.Em 常に、
ログイン名としてタイプした '#' あるいは '^H' は1文字消去として
扱われ、 '@' は行消去として扱われます。
.Pp
遅延機能は実クロックです。
全般的に柔軟性がないという問題はさておき、遅延アルゴリズムのいくつかは
実装されていません。
端末ドライバが正常な遅延の設定をサポートしている必要があります。
.Pp
.Em \&he
ケーパビリティは全く知的ではありません。
.Pp
忌まわしい
.Xr termcap 5
フォーマットより、もっと合理的なものを選ぶべきでした。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
で登場しました。
diff --git a/ja/man/man5/group.5 b/ja/man/man5/group.5
index 362a6acff6..e4175af70d 100644
--- a/ja/man/man5/group.5
+++ b/ja/man/man5/group.5
@@ -1,149 +1,165 @@
.\" 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
-.\" %Id: group.5,v 1.4.2.2 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: group.5,v 1.13 1998/06/28 21:33:42 hoek Exp %
.\" jpman %Id: group.5,v 1.3 1998/07/02 14:08:51 horikawa Stab %
.\"
.Dd September 29, 1994
.Dt GROUP 5
.Os
.Sh 名称
.Nm group
.Nd グループ許可ファイルのフォーマット
.Sh 解説
.Aq Pa /etc/group
ファイルは改行で区切られた
.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
エントリ中にグループが指定されていれば自動的にそのグループに入ることに
なりますので、
.Pa /etc/group
ファイル中にそのユーザを追加する必要はありません。
.\" .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 :
.\" .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 YP/NIS との相互作用
.Pa /etc/group
ファイルは YP/NIS グループデータベースを有効にするように作成可能です。
C ライブラリ内部としては、
.Ar name
欄が 1 つのプラス符号 (`+') に続く 1 つのグループ名から成るエントリは、
その名前のグループに対する YP/NIS グループエントリで置き換えられます。
.Ar name
欄が引き続いてグループ名を持たない 1 つのプラス符号から成るエントリは、
YP/NIS の
.Dq Li group.byname
マップ全体で置き換えられます。
.Pp
何らかの理由で YP/NIS グループデータベースが有効になった場合、
少数のグループのみが有効であるときですら、全ての逆検索 (すなわち
.Fn getgrgid
) ではデータベース全体を利用することになるでしょう。それ故、
.Fn getgrgid
が返すグループ名が正しい前方マッピングを持つことは保証できません。
.Sh 制限
-1 つのグループは 200 以上のメンバを持つことはできません。
+様々な制限事項が該当する機能のところで説明されています。
+.Sx 関連項目
+の節を参照してください。
+
+古い実装においては、
+1 つのグループは 200 以上のメンバを持つことはできず、
.Pa /etc/group
-の最大行長は 1024 文字です。それより長い行は読み飛ばされます。
+の最大行長は 1024 文字でした。それより長い行は読み飛ばされました。
+この制限は
+.Fx 3.0
+でなくなりました。
+静的にリンクされた古いバイナリ、古い共有ライブラリに依存する古いバイナリ、
+互換モードにおける非 FreeBSD のバイナリには、まだこの制限があるかもしれません。
.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 yp 4 ,
.Xr passwd 5
.Sh バグ
.Xr passwd 1
コマンドは
.Nm group
パスワードを変更しません。
.Sh 歴史
.Nm
ファイルフォーマットは
.At v6
で現われました。
YP/NIS の機能は
.Tn SunOS
を手本に作られ、
.Tn FreeBSD
1.1 で初めて現われました。
+コメントサポートは
+.Fx 3.0
+で最初に現われました。
diff --git a/ja/man/man5/hosts.5 b/ja/man/man5/hosts.5
index a3f2bde98e..e95b01820c 100644
--- a/ja/man/man5/hosts.5
+++ b/ja/man/man5/hosts.5
@@ -1,102 +1,102 @@
.\" 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.
.\"
.\" @(#)hosts.5 8.2 (Berkeley) 12/11/93
-.\" %Id: hosts.5,v 1.2.2.2 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: hosts.5,v 1.4 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: hosts.5,v 1.3 1998/06/12 15:52:05 kumano Stab %
.Dd December 11, 1993
.Dt HOSTS 5
.Os BSD 4.2
.Sh 名称
.Nm hosts
.Nd ホスト名データベース
.Sh 解説
.Nm hosts
ファイルはネットワーク上の既知のホストに関する情報を保持します。
各ホストに対して、1つの行に以下の情報を与えます。
.Bd -unfilled -offset indent
インターネットアドレス
正式なホスト名
別名
.Ed
.Pp
各項目は任意の数の空白やタブ文字で区切られます。
``#'' はコメントの開始を表し、これ以降の行末までの文字はこの
ファイルを検索するルーチンによって解釈されません。
.Pp
ネームサーバ
.Xr named 8
使用時には、このファイルはネームサーバが動作していない時の予備として
機能します。
ネームサーバのために、ごく少数のアドレスがこのファイルに含まれて
いなければなりません。
これらはブート時に
.Xr ifconfig 8
が必要とするローカルインタフェースのアドレス、およびローカルネットワーク
上の少数のマシンを含みます。
.Pp
このファイルは Network Information Control Center
.Pq Tn NIC
で保守された正式なホストデータベースから作成されますが、非公式な別名や
未知のホストに関しては、ローカルでの変更を最新に保つ必要があります。
.Tn NIC
で保守されたデータベースは不完全なので、
.Tn DARPA
インターネット上のサイトではネームサーバの使用が推奨されます。
.Pp
ネットワークアドレスは、インターネットアドレス操作ライブラリ
.Xr inet 3
.Xr inet_addr 3
ルーチンを用いた伝統的な ``.'' (ドット) 表記で指定されます。
ホスト名は、フィールド区切り文字、改行、およびコメント文字
以外のあらゆる印字可能文字を含むことができます。
.Sh 関連ファイル
.Bl -tag -width /etc/hosts -compact
.It Pa /etc/hosts
.Nm hosts
ファイルは
.Pa /etc
に存在します。
.El
.Sh 関連項目
.Xr gethostbyname 3 ,
.Xr ifconfig 8 ,
.Xr named 8
.Rs
.%T "Name Server Operations Guide for BIND"
.Re
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man5/hosts.equiv.5 b/ja/man/man5/hosts.equiv.5
index a141911bf4..999e84e9fa 100644
--- a/ja/man/man5/hosts.equiv.5
+++ b/ja/man/man5/hosts.equiv.5
@@ -1,124 +1,124 @@
.\" 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.
.\"
-.\" %Id: hosts.equiv.5,v 1.2.2.2 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: hosts.equiv.5,v 1.6 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: hosts.equiv.5,v 1.3 1998/06/12 11:02:12 mutoh Stab %
.Dd Feb 1996
.Dt HOSTS.EQUIV 5
.Os FreeBSD
.Sh 名称
.Nm hosts.equiv ,
.Nm .rhosts
.Nd 信頼できるリモートホスト名、およびユーザのデータベース
.Sh 解説
.Nm hosts.equiv
および
.Nm .rhosts
ファイルは、ネットワーク上の信頼できるホストとユーザに関する情報を格納
します。
各ホストに対して、1つの行に以下の情報を与えます。
単純に
.Bd -unfilled -offset indent
hostname [username]
.Ed
あるいは、より冗長に以下のようにします。
.Bd -unfilled -offset indent
[+-][hostname|@netgroup] [[+-][username|@netgroup]]
.Ed
.Pp
``@'' は netgroup というグループによってホスト、またはユーザを表します。
単独の ``+'' は全てのホスト、またはユーザと一致します。
前に ``-'' を伴うホスト名は、一致する全てのホストとそのホスト上の全ての
ユーザを拒否します。
前に ``-'' を伴うユーザ名は、指定されたホスト上の一致したユーザ全てを
拒否します。
.Pp
各項目は任意の数の空白やタブ文字で区切られます。
``#'' はコメントの開始を表し、これ以降の行末までの文字はこのファイルを
検索するルーチンによって解釈されません。
.Pp
ホスト名は、インターネットアドレス操作ライブラリ
.Xr inet 3
.Xr inet_addr 3
ルーチンを用いた伝統的な ``.'' (ドット) 表記で指定されます。
ホスト名は、フィールド区切り文字、改行、およびコメント文字
以外のあらゆる印字可能文字を含むことができます。
.Pp
セキュリティ上の理由から、ユーザの
.Nm .rhosts
が通常ファイルでないか、所有者がそのユーザでないか、あるいはその
ユーザ以外のユーザが書き込み可能な場合、そのファイルは無視されます。
.Sh 使用例
.Pp
.Dl bar.com foo
.Pp
ホスト ``bar.com'' の ユーザ ``foo'' を信頼します。
.Pp
.Dl +@allclient
.Pp
ネットグループ ``allclient'' の全てのホストを信頼します。
.Pp
.Dl +@allclient -@dau
.Pp
ネットグループ ``allclient'' の全てのホストとそのユーザを信頼しますが、
ネットグループ ``dau'' のユーザは例外です。
.Sh 関連ファイル
.Bl -tag -width /etc/hosts.equivxxx -compact
.It Pa /etc/hosts.equiv
.Nm hosts.equiv
ファイルは
.Pa /etc
に存在します。
.It Pa $HOME/.rhosts
.Nm .rhosts
ファイルは
.Pa $HOME
に存在します。
.El
.Sh 関連項目
.Xr rcp 1 ,
.Xr rlogin 1 ,
.Xr rsh 1 ,
.Xr gethostbyname 3 ,
.Xr inet 3 ,
.Xr innetgr 3 ,
.Xr ruserok 3 ,
.Xr yp 4 ,
.Xr ifconfig 8 ,
.Xr named 8
.Sh バグ
このマニュアルページは不完全です。
より詳細については、 lib/libc/net/rcmd.c のソースか、 SunOS の
マニュアルページを参照してください。
diff --git a/ja/man/man5/hosts.lpd.5 b/ja/man/man5/hosts.lpd.5
index 21e4b10261..cd25cf54aa 100644
--- a/ja/man/man5/hosts.lpd.5
+++ b/ja/man/man5/hosts.lpd.5
@@ -1,57 +1,57 @@
.\" 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.
.\"
-.\" %Id: hosts.lpd.5,v 1.2.2.1 1997/03/07 04:18:06 mpp Exp %
+.\" %Id: hosts.lpd.5,v 1.3 1997/03/07 03:28:02 jmg Exp %
.\" jpman %Id: hosts.lpd.5,v 1.3 1998/04/29 11:35:23 kuma Stab %
.\"
.\" WORD: trusted host 信頼できるホスト
.\"
.Dd June 1, 1996
.Dt HOSTS.LPD 5
.Os FreeBSD
.Sh 名称
.Nm hosts.lpd
.Nd ローカルプリントサービスを使用可能な信頼できるホスト
.Sh 解説
.Nm hosts.lpd
ファイルは、あなたのマシンのローカルプリントサービスを許可するホストの
ホスト名もしくは IP アドレスのリストを含みます。
ホスト名および IP アドレスは、各々 1 行に 1 つずつ記述します。
.Sh 関連ファイル
.Bl -tag -width /etc/hosts.lpdxxxxx -compact
.It Pa /etc/hosts.lpd
.Nm hosts.lpd
ファイルは
.Pa /etc
にあります。
.Sh 関連項目
.Xr printcap 5 ,
.Xr lpd 8 .
diff --git a/ja/man/man5/kernfs.5 b/ja/man/man5/kernfs.5
index 5411aca7a8..140f1e4e9c 100644
--- a/ja/man/man5/kernfs.5
+++ b/ja/man/man5/kernfs.5
@@ -1,138 +1,138 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. 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 Mike Pritchard.
.\" 4. Neither the name of author 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 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: kernfs.5,v 1.2.2.4 1998/07/19 06:52:11 jkh Exp %
+.\" %Id: kernfs.5,v 1.6 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: kernfs.5,v 1.3 1998/07/21 23:04:50 jsakai Stab %
.\"WORD: machine independent 機種に依存しない
.\"WORD: decimal ASCII ASCII 表記の 10 進数
.\"WORD: mount point マウントポイント
.\"
.Dd December 14, 1996
.Dt kernfs 5
.Os BSD 4.4
.Sh 名称
.Nm kernfs
.Nd カーネルファイルシステム
.Sh 書式
.Bd -literal
kern /kern kernfs rw 0 0
.Ed
.Sh 解説
カーネルファイルシステム
.Nm kernfs
は、現在実行中のカーネルに関する情報へのアクセス手段を提供するものです。
これは通常
.Pa /kern
にマウントされます。
このファイルシステムは読み取り可能な数個の通常ファイルを含んでおり、
これらのファイルの一部には書き込むこともできます。
ファイルの内容は文字列と ASCII 表記の 10 進整数からなり、
機種に依存しない書式になっています。
数値が返されるときは、後ろに改行文字が付け加えられます。
.Pp
マウントポイントには以下のファイルが含まれます。
.Bl -tag -width copyright
.It Pa bootfile
現在のカーネルが起動したパス。
.It Pa boottime
システムが最後に起動した時間 (ASCII 表記の 10 進数)。
.It Pa copyright
カーネルの著作権標示。
.It Pa hostname
現在のホスト名。後ろに改行がつきます。
このファイルに書き込むことにより、現在のホスト名を変更することが
できます。
ホスト名に後続する改行文字は書き込み時には取り除かれます。
.It Pa hz
システムクロックの周波数 (ASCII 表記の 10 進数)。
.It Pa loadavg
過去 1 分間、5 分間および 15 分間のロードアベレージで、カーネル固定小数点
フォーマットで表されます。最後の整数は固定小数のスケーリングファクタ
です。全ての数値は ASCII 10 進数で表されます。
.It Pa pagesize
マシンのページサイズ (ASCII 10進数)。
.It Pa physmem
マシンの物理メモリのページ数 (ASCII 表記の 10 進数)。
.It Pa root
システムのルートディレクトリ。chroot した環境では、
.Xr mount_kernfs 8
を、新しい
.Pa /kern
マウントポイントを生成するために用いることができます。
.Pa /kern/root
はカレントプロセスのルートではなく、システム全体のルートを示すことに
なる予定です。現在はまだ利用できません。
.It Pa rootdev
ルートデバイス。現在はまだ利用できません。
.It Pa rrootdev
raw ルートデバイス。現在はまだ利用できません。
.It Pa time
システムクロックの秒数およびマイクロ秒数 (ASCII 表記の 10 進数)。
.It Pa version
カーネルのバージョン文字列。
.Pa /etc/motd
のヘッドラインは
.Dq Ic "sed 1q /kern/version"
を実行することによって生成することができます。
.El
.Pp
.Nm
によって得られる情報のほとんどは
.Xr sysctl 8
からも入手可能です。
.Sh 関連ファイル
.Bl -tag -width /kern/XXXXXXX
.It Pa /kern
.Nm kernfs
のための通常のマウントポイント。
.El
.Sh 関連項目
.Xr sysctl 3 ,
.Xr mount_kernfs 8 ,
.Xr sysctl 8
.Sh 歴史
.Nm
ファイルシステムは
.Bx 4.4
で最初に登場しました。
.Nm
マニュアルページは
.Fx 2.2
で最初に登場しました。
.Sh 作者
.Nm
マニュアルページは
.An Mike Pritchard Aq mpp@FreeBSD.org
によって書かれたもので、
.An Jan-Simon Pendry
による
.Xr mount_kernfs 8
マニュアルページに基づいています。
diff --git a/ja/man/man5/keycap.5 b/ja/man/man5/keycap.5
index 37c5de613e..4b07e8ab97 100644
--- a/ja/man/man5/keycap.5
+++ b/ja/man/man5/keycap.5
@@ -1,128 +1,129 @@
.\"
.\" Copyright (c) 1992,1993,1994 Hellmuth Michaelis
.\"
.\" Copyright (c) 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.
.\"
+.\" @(#)keycap.5, 3.00, Last Edit-Date: [Sun Jan 2 13:45:59 1994]
+.\" %Id: keycap.5,v 1.5 1997/02/22 16:09:10 peter Exp %
+.\"
+.\" jpman %Id: keycap.5,v 1.3 1998/06/22 10:45:11 kumano Stab %
.\"WORD: keyboard mapping キーボードマッピング
.\"WORD: .Sh CAPABILITIES ケーパビリティ
.\"
-.\" @(#)keycap.5, 3.00, Last Edit-Date: [Sun Jan 2 13:45:59 1994]
-.\" jpman %Id: keycap.5,v 1.3 1998/06/22 10:45:11 kumano Stab %
-.\" %Id: keycap.5,v 1.2.2.1 1997/01/02 17:48:10 mpp Exp %
.\"
.Dd January 3, 1993
.Dt KEYCAP 5
.Sh 名称
.Nm keycap
.Nd キーボードマッピングデータベース
.Sh 書式
.Nm keycap
.Sh 解説
.Nm keycap
ファイルはキーボードマッピングを記述するデータベースで、
.Xr kcon 1
が用います。
.Pp
.Nm keycap
のエントリは `:' で区切られた多数のフィールドからなります。
各マッピングの最初のエントリは、そのマッピングの名称として
認識される名前を、文字 `|' で区切って並べたものです。
最初と最後以外の全ての名前は全部小文字で、空白文字を含まない必要があります。
最後の名前は可読性を高めるために、大文字や空白文字を含めることができます。
.Sh ケーパビリティ
.Pp
.Bl -column indent indent
.Sy 名称 型 解説
.It "de bool キーボードマッピングをコンパイル時に入れたデフォルトにリセットする"
.It "D<n> bool キー <n> を完全に使用不可にする"
.It "m<n> num ALT キーのキー番号を指定する
.It "l<n> num ALTGR キーのキー番号を指定する
.It "h<n> num SHIFT キーのキー番号を指定する
.It "t<n> num CONTROL キーのキー番号を指定する
.It "ca<n> num CAPS LOCK キーのキー番号を指定する
.It "sh<n> num SHIFT LOCK キーのキー番号を指定する
.It "nl<n> num NUM LOCK キーのキー番号を指定する
.It "sc<n> num SCROLL LOCK キーのキー番号を指定する
.It "K<n> str シフトなし (通常) のキーに文字列を対応させる
.It "S<n> str シフト (SHIFT キーと同時に押す) 時のキーに文字列を対応させる
.It "C<n> str CONTROL キーと同時に押したときの文字列を対応づける
.It "A<n> str ALTGR キーと同時に押したときの文字列を対応づける
.It "tc str 指定箇所以外が同じマップを持つエントリ \- 最後に指定する必要があります。"
.El
キー番号を記述するパラメータ <n> は 1 から 128 までの番号を取ることが
できます。
文字列パラメータは 15 文字までの値を取ることができます。
.Pp
.Ss エントリの例
以下のエントリはテスト用のエントリ記述で、
.Nm keycap
ファイルの中のごく単純なエントリ記述の1つに、この記述通りのものが存在します。
.Pp
.Bd -literal
tt\||test\||Test entry which swaps y and z:\e
:K22=z:S22=Z:C22=\e032:\e
:K46=y:S46=Y:C46=\e031:
.Ed
.Pp
行の最後に \e を置くことによって、エントリを複数行に続けることができます。
コメントは
.Dq #
で始まる行に含めることができます。
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/keycap.pcvt -compact
.It Pa /usr/share/misc/keycap.pcvt
キーボードマッピングの記述を含むファイル
.El
.Sh 関連項目
.Xr kcon 1 ,
.Xr keycap 3
.Sh 使用例
.Dq Li l1#60
は、 ALTGR キーのキー番号として、 60 を指定します。
.Dq Li K100=hugo
は、キー番号 100 のキーに文字列 'hugo' を対応させます。
.Dq Li K100=^D
は、キー番号 100 のキーにコントロール文字 EOT (0x04) を対応させます。
.Dq Li K100=\e000
は、キー番号 100 のキーにコントロール文字 NUL (0x00) を対応させます。
diff --git a/ja/man/man5/link.5 b/ja/man/man5/link.5
index 6f80378dc5..cc75e32b42 100644
--- a/ja/man/man5/link.5
+++ b/ja/man/man5/link.5
@@ -1,617 +1,617 @@
.\" 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.
.\"
-.\" %Id: link.5,v 1.7.2.4 1998/03/07 09:07:03 jkh Exp %
+.\" %Id: link.5,v 1.12 1997/03/21 20:14:05 mpp Exp %
.\" jpman %Id: link.5,v 1.3 1998/08/09 12:52:25 horikawa Stab %
.\"
.Dd October 23, 1993
.Dt LINK 5
.Os
.Sh 名称
.Nm link
.Nd ダイナミックローダとリンクエディタインタフェース
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <nlist.h>
.Fd #include <link.h>
.Sh 解説
インクルードファイル
.Aq Pa link.h
では、ダイナミックにリンクされたプログラムやライブラリに含まれる
数種の構造体が宣言されています。
その構造体は、リンクエディタとローダ機構のいくつかの構成要素間の
インタフェースを定義します。
バイナリ中でのこれらの構造体のレイアウトは
多くの点で a.out 形式に類似しており、
シンボル定義 (付随する文字列テーブルを含む) や外部エンティティへの参照を
解決するのに必要なリロケーションレコードといった、
よく似た機能を提供します。
それに加え、ダイナミックロードとリンク処理に固有のいくつかのデータ構造も
記録しています。このようなデータ構造としては、
リンクエディット処理を完結するのに必要な他のオブジェクトへの参照や、
異なるプロセス間でコードページの共有を進めるための
.Em 位置独立コード
(Position Independent Code 略して PIC) を機能させるための
間接テーブルがあります。
ここで述べるデータ構造全体を
.Em ランタイムリロケーションセクション (RRS)
と呼び、ダイナミックにリンクされるプログラムや共有オブジェクトの
標準テキスト及びデータセグメントに埋め込まれます。
これは、既存の
.Xr a.out 5
形式には RRS のための場所が他にないからです。
.Pp
あるプログラムを実行可能とする処理が、
システムリソースの使用を最適化しつつ正しく完了するよう、
複数のユーティリティが協調して働きます。
コンパイラは PIC コードを出力し、
それから
.Xr ld 1
によって共有ライブラリが作られます。
コンパイラはまた、初期化される各データアイテムのサイズ情報を
アセンブラディレクティブ .size を用いて記録します。
PIC コードは、ある間接テーブルを通じてデータ変数にアクセスする点で
従来のコードと異なっています。
この表はグローバルオフセットテーブルと呼ばれ、
慣習によって、予約名
.Em _GLOBAL_OFFSET_TABLE_
によってアクセス可能です。
ここで用いられるメカニズムの詳細は機種依存ですが、通常は
そのマシンのレジスタ 1 本がこの用途に予約されます。
このような仕組みの背景にある合理性は、
実際のロードアドレスとは独立したコードを生成することです。
実行時には、アドレス空間において様々な共有オブジェクトがロードされるアドレス
に応じて、グローバルオフセットテーブルに含まれる値のみ変更すればよいのです。
.Pp
同様に、大域的に定義された関数の呼び出しは、
コアイメージのデータセグメント中に置かれている
プロシージャリンケージテーブル (PLT) を通じて間接的に行われます。
これもまた、実行時にテキストセグメントを修正せずに済ませるためのものです。
.Pp
リンクエディタがグローバルオフセットテーブルとプロシージャリンケージテーブルを
配置するのは、
複数の PIC オブジェクトファイルを結合して
プロセスのアドレス空間にマップするのに適した 1 つのイメージにする時です。
リンクエディタはまた、実行時のリンクエディタが必要とする全てのシンボルを集め、
それらをイメージのテキストとデータのビット列と共にストアします。
もう 1 つの予約シンボル
.Em _DYNAMIC
は、実行時のリンク構造が存在することを示すのに用いられます。
_DYNAMIC が 0 にリロケートされる場合は、実行時リンクエディタを起動する
必要はありません。
もし _DYNAMIC が非 0 なら、_DYNAMIC は、必要なリロケーション情報と
シンボル情報の位置を引き出すことができるデータ構造を指しています。
これは特に、スタートアップモジュール
.Em crt0
で利用されます。
慣習として、_DYNAMIC 構造体は、
それが属するイメージのデータセグメントの最初に置かれます。
.Pp
.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
構造体
.Po
.Xr a.out 5
参照
.Pc
の配列の位置。
.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
構造体は、それを含むオブジェクトのリンクエディット処理を完了するのに
必要な共有オブジェクトを記述します。
そのようなオブジェクトのリスト
.Po
.Fa sod_next
で連結されます
.Pc
は 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
が検索することになるライブラリを指定します。
そのパス名は、あるディレクトリ群
.Po
.Xr ldconfig 8
参照
.Pc
.Em lib\&<sod_name>\&.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
.Po
.Xr nlist 3
参照
.Pc 。
.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
.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 クリアされたデマンドページを得ます。
.Tn FreeBSD
ではこのフィールドは -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/man/man5/login.access.5 b/ja/man/man5/login.access.5
index 3b44941375..df33c907e2 100644
--- a/ja/man/man5/login.access.5
+++ b/ja/man/man5/login.access.5
@@ -1,56 +1,56 @@
.\" this is comment
.\" jpman %Id: login.access.5,v 1.3 1998/04/29 11:37:56 kuma Stab %
.\"
.\" WORD: access granted アクセス許可(許可された状態)
.\"
.Dd April 30, 1994
.Dt LOGIN.ACCESS 5
.Os FreeBSD 1.2
.Sh 名称
.Nm login.access
.Nd ログインアクセス制御表
.Sh 解説
.Nm
ファイルは、ログインを許可または拒否する
(ユーザ, ホスト) の組や (ユーザ, tty) の組を指定します。
.Pp
誰かがログインする際に、
.Nm
から (ユーザ, ホスト) の組にマッチする最初のエントリを探します。
非ネットワークログインの場合には、
(ユーザ, tty) の組にマッチする最初のエントリを探します。
表のエントリ中のパーミッションフィールドは、
ログインを許可するか拒否するかを決定します。
.Pp
ログインアクセス制御表の各行は、":" 文字で区切られる
次のような 3 フィールドから成ります: パーミッション : ユーザ : 起点
.Pp
第 1 フィールドは、"+" (アクセス許可) もしくは "-" (アクセス不許可) の
文字です。
第 2 フィールドは、ログイン名・グループ名・ALL (常にマッチ)
を 1 つ以上含むリストです。
第 3 フィールドは、tty 名 (非ネットワークログイン用)・ホスト名・
ドメイン名 ("." から開始)・ホストアドレス・インターネットのネットワーク番号
("." で終了)・ALL (常にマッチ)・LOCAL ("." を含まない文字列にマッチ)
を 1 つ以上含むリストです。
NIS 使用時には、ホストおよびユーザの指定に @netgroupname を使用できます。
.Pp
EXCEPT 演算子を使用すると、非常に小さいルールを記述できます。
.Pp
名前がログインしたユーザ名にマッチしない場合のみ、
グループファイルが検索されます。
ユーザが明示的にリストされている
グループのみがマッチします。
このプログラムはユーザのプライマリグループ ID 値を見ません。
.Sh 関連ファイル
.Bl -tag -width /etc/login.access -compact
.It Pa /etc/login.access
.Nm
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr login 1
.Sh 作者
-Guido van Rooij
+.An Guido van Rooij
diff --git a/ja/man/man5/login.conf.5 b/ja/man/man5/login.conf.5
index 6f654f9e3e..49f37433aa 100644
--- a/ja/man/man5/login.conf.5
+++ b/ja/man/man5/login.conf.5
@@ -1,354 +1,354 @@
.\" Copyright (c) 1996 David Nugent <davidn@blaze.net.au>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, is permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice immediately at the beginning of the file, without modification,
.\" this list of conditions, and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. This work was done expressly for inclusion into FreeBSD. Other use
.\" is permitted provided this notation is included.
.\" 4. Absolutely no warranty of function or purpose is made by the author
.\" David Nugent.
.\" 5. Modifications may be freely made to this file providing the above
.\" conditions are met.
.\"
-.\" %Id: login.conf.5,v 1.8.2.7 1998/02/21 23:36:10 fenner Exp %
+.\" %Id: login.conf.5,v 1.15 1998/02/21 23:29:59 fenner Exp %
.\" jpman %Id: login.conf.5,v 1.3 1998/07/21 23:10:00 jsakai Stab %
.\"
.Dd November 22, 1996
.Dt LOGIN.CONF 5
.Os FreeBSD
.Sh 名称
.Nm login.conf
.Nd ログインクラス ケーパビリティ データベース
.Sh 書式
.Pa /etc/login.conf ,
.Pa ~/.login_conf
.Sh 解説
login.conf には、ログインクラスについてのさまざまな属性やケーパビリティが
含まれています。
ログインクラス (ユーザアカウントデータベースである
.Pa /etc/master.passwd
のそれぞれの行について自由に設定できる注釈) は、セッションの
アカウンティングやリソース制限、ユーザ環境設定などを決定します。
ログインクラスはシステム内のさまざまなプログラムから利用され、
ユーザのログイン環境を設定するほか、
ポリシー、アカウンティング及び管理上の制限を設定します。
ログインクラスはまた、
システムや利用可能な種々の認証機構に対するユーザ認証手段を提供します。
.Pp
システムのユーザクラスケーパビリティデータベースである
.Pa /etc/login.conf
の中の "default" という特別なレコードは、
.Pa /etc/master.passwd
内に有効なログインクラスを持たない root 以外のすべてのユーザに
よって自動的に使われます。有効なログインクラスを持たない uid が 0 の
ユーザは、"root" レコードが存在する場合はそのレコードが、
存在しない場合は "default" レコードがログインクラスとして使われます。
.Pp
FreeBSD においては、個々のユーザは
.Pa .login_conf
というファイルをホームディレクトリに作成することができます。
このファイルは (/etc/login.conf と) 同じフォーマットで、
レコード id が "me" である 1 エントリのみで構成されます。
もし .login.conf が存在するならば、このファイルは
.Xr login 1
によって使用され、システムのログインケーパビリティデータベースによって
指定されたユーザ環境設定を上書き設定します。
その際、ログインケーパビリティのサブセット、
典型的には承認やリソース制限そしてアカウンティングを含まないもの
のみが上書きされます。
.Pp
クラスケーパビリティデータベースのレコードは、コロンで区切られた
いくつかのフィールドから構成されています。
各レコードの最初のフィールドは、レコードを特定するための
1 つまたは複数の名前で、それらは '|' 文字で区切られます。
その最初の名前が、最も一般化された短縮名称です。
最後の名前は、ログインケーパビリティエントリをより分かりやすく説明した
長い名前であるべきで、他の名前はその同義語です。
すべての名前は小文字かつ空白を含まないようにすべきですが、
最後の名前は可読性を考慮して、大文字やブランクを含んでいてもよいでしょう。
.Pp
ケーパビリティデータベースのフォーマットについての詳細な説明は
.Xr getcap 3
を参照してください。
.Sh ケーパビリティ
データベース内のそれぞれの行に含まれるフィールドは、
.Xr getcap 3
の慣習に従い、ブール型、文字列型
.Ql \&=
数値型
.Ql \&#
があります。
しかしながら数値データのところは、数値型が拒否され文字列型が
受け入れられることがあったり、両方の書式が両方の書式が受け入れられることも
あります。
値は次のカテゴリに分類されます。
.Bl -tag -width "program"
.It file
データファイルへのパス名
.It program
実行可能ファイルへのパス名
.It list
コンマや空白で区切られた値のリスト (または値の組)
.It path
普通の csh の慣習に従った、空白やコンマで区切られたパス名のリスト
(先頭のユーザ名を伴う/伴わないチルダはホームディレクトリに展開される等)
.It number
10進数(デフォルト)、16進数(0xで始まる)、または 8進数(0で始まる)の
数値型の値。数値型の場合、設定できる値は 1 つだけです。
数値型は文字列型のフォーマットでも指定できる場合があります
(ケーパビリティタグ '#' の代わりに '=' で値が区切られているなど)。
どの方法が使われた場合でも、データベース中のすべての行は修正したい行の値を
正確に上書きするために、同じ方法を用いなければなりません。
.It size
サイズを表す文字。単位のデフォルトの解釈はバイトで、サフィックスに
よって別の単位を指定できます。
.Bl -tag -offset indent -compact -width xxxx
.It b
512バイトブロックの明示的な指定
.It k
キロバイトの指定 (1024バイト)
.It m
1 メガバイトの乗数の指定 (1048576 バイト)
.It g
ギガバイト単位の指定。そして
.It t
テラバイトの記述。
.El
サイズの値は数値であり、サフィックスの大文字小文字は重要ではありません。
連続した値は足し込まれます。
.It time
時間の期間。デフォルトの単位は秒。
プレフィックスによって別の単位を指定できます。
.Bl -tag -offset indent -compact -width xxxx
.It y
1 年を 365 日で数えた年数の指定
.It w
週の数の指定
.It d
日数
.It h
時間数
.It m
分数
.It s
秒数
.El
連続した値は足し込まれます。
たとえば 2 時間 40 分は 9600s、160m または 2h40m と
表現することができます。
.El
.Pp
特別な
.Em tc=value
表記を使用することにより、通常の約束事であるケーパビリティエントリの
補間が可能です。
.Pp
.Sh リソース制限
.Bl -column coredumpsize indent indent
.Sy Name Type Notes Description
.It cputime time CPU 使用制限
.It filesize size ファイルサイズの最大値制限
.It datasize size データサイズの最大値制限
.It stacksize size スタックサイズの最大値制限
.It coredumpsize size コアダンプサイズの最大値制限
.It memoryuse size コアメモリ使用量の最大値制限
.It memorylocked size コアメモリロック可能量の最大値制限
.It maxproc number プロセス数の最大値制限
.It openfiles number プロセスごとにオープンできるファイル数の最大値制限
.El
.Pp
これらのリソース制限エントリは、実際には最大値と現在の
制限値の両方を指定します (
.Xr getrlimit 2
を参照してください)。
普通は現在の制限値 (ソフトリミット) が使われますが、
ユーザは現在の制限値を最大制限値 (ハードリミット) まで増やすことが
許されています。
最大制限値と現在の制限値はケーパビリティ名に各々 -max 及び -cur を
追加することによって指定できます。
.Pp
.Sh 環境
.Bl -column ignorenologin indent xbinxxusrxbin
.Sy Name Type Notes Description
.It charset string $MM_CHARSET 環境変数の明示的な設定値
.It hushlogin bool false ~/.hushlogin ファイルがある場合と同じ
.It ignorenologin bool false nologin によってログインを禁止されません
.It lang string $LANG 環境変数を指定した値に設定します
.It manpath path マニュアルページのデフォルト検索パス
.It nologin file このファイルが存在する場合、ファイルの内容が画面に表示され、そのログインセッションは終了されます
.It path path /bin /usr/bin デフォルトコマンド検索パス
.It priority number 優先度 (nice) レベルの初期値
.It requirehome bool false ログインのために有効なホームディレクトリが必要
.It setenv list コンマで区切られた環境変数とその設定値のリスト
.It shell prog パスワードファイルで指定されているシェルより優先して実行されるセッションシェル。SHELL 環境変数の値は、パスワードファイルで指定されているものになります。
.It term string su 他の手段によって決定できない場合のデフォルトの端末タイプ
.It timezone string $TZ 環境変数のデフォルト値
.It umask number 022 umask の初期値。続く数字が 8進数と解釈されるように、常に 0 から始めます
.It welcome file /etc/motd ウェルカムメッセージが入っているファイル
.El
.Pp
.Sh 認証
.Bl -column minpasswordlen indent indent
.Sy Name Type Notes Description
.It minpasswordlen number 6 ローカルパスワード文字列長の最小値
.\" .It approve program Program to approve login.
.It auth list passwd 許可される認証形式。 最初の値がデフォルトの形式になります。
.It auth-<type> list 'type' で指定された認証タイプで許可される認証形式。
.It copyright file 追加のコピーライト情報を含んだファイル
.\".It widepasswords bool false Use the wide password format. The wide password
.\" format allows up to 128 significant characters in the password.
.It host.allow list クラス内のユーザがアクセス可能なリモートホストワイルドカードのリスト
.It host.deny list クラス内のユーザがアクセス不可なリモートホストワイルドカードのリスト
.It times.allow list ログインが許されている時間帯のリスト
.It times.deny list ログインが許されない時間帯のリスト
.It ttys.allow list クラス内のユーザがアクセスに使用できる端末と端末グループのリスト
.It ttys.deny list クラス内のユーザがアクセスに使用不可な端末と端末グループのリスト
.El
.Pp
これらのフィールドは、ログイン認証システムの中で
.Xr passwd 1
や、その他のプログラムから使用される予定です。
.Pp
環境変数を設定するケーパビリティは、その中の文字
.Ql \&~
.Ql \&$
の両方がスキャンされ、これらはそれぞれ
ユーザのホームディレクトリ及びユーザ名に置換されます。
環境変数中にこれらの文字をそのまま含める場合には、
その前にバックスラッシュ '\\' をつけてエスケープします。
.Pp
.Em host.allow
.Em host.deny
エントリはコンマで区切られたリストで、システムへのリモートアクセスの
チェックに使われます。
これらはホスト名か IP アドレスまたはその両方を含むリストからなり、
それらに対してリモートログインのチェックが行われます。
このリストの各項目は、ワイルドカード一致用にシェルプログラムが使用しているのと
同じ書式のワイルドカードを含むことができます
(実装の詳細は
.Xr fnmatch 3
を参照してください)。
ホストのチェックは、リモートシステムのインターネットアドレス
と (もし有効なら) ホスト名の両方をつきあわせて行われます。
両方のリストが空かもしくは指定されていない場合、あらゆるリモートホスト
からのログインは許可されます。
host.allow が 1 つかそれ以上のホストを含む場合、リスト中の
各項目のどれかにマッチしたリモートシステムのみがログインを許されます。
host.deny が 1 つかそれ以上のホストを含む場合、そのリストのどれかに
マッチしたホストからのログインが禁止されます。
.Pp
.Em times.allow
.Em times.deny
エントリはコンマで区切られた期間のリストであり、この期間はクラス内の
ユーザがログインを許されます。
これらは 1 つ以上の日のコード指定と、これに続けて 24 時間表記の開始時刻と
終了時刻をハイフンまたはダッシュで区切ったものとして表現されます。
たとえば MoThSa0200-1300 は、月、木、土の
午前 2 時から午後 1 時と解釈されます。
これらの時間指定リストの両方が空だった場合、クラス内のユーザはいつでもアクセス
可能になります。
.Em times.allow
が指定されている場合、ログインは指定された期間のみ許可されます。
もし
.Em times.deny
が指定されている場合、
.Em times.allow
の中で期間が指定されているかどうかに関わらず、指定された期間は
ログインできなくなります。
.Pp
.Xr login 1
が強制することは、これらのエントリにより許可された期間内に実際の
ログインが行なわれることのみである点に注意して下さい。
セッションの生存期間に関して更なる規制をかけるには、別のデーモンを用意し、
許可されている期間から許可されていない期間への
遷移を監視する必要があります。
.Pp
.Em ttys.allow
.Em ttys.deny
エントリは、クラス内のユーザがシステムにアクセスするために使う
コンマで区切られた(/dev/ プレフィックスを除く)端末デバイスと、
端末グループ (ttygroup) のリストです (ttygroup の詳細は
.Xr getttyent 3
.Xr ttys 5
を参照して下さい)。
どちらのエントリも存在しない場合、ユーザが使用するログインデバイスの選択には
制限はありません。
.Em ttys.allow
のみ指定されている場合、ユーザの使えるデバイスは指定されたグループ
またはデバイスリストのみに制限されます。
.Em ttys.deny
のみ指定されている場合、ユーザは指定されたデバイスやデバイス
グループを使用できません。
両方が与えられていてかつどちらも空でない場合、ユーザは ttys.allow
で指定されていて、ttys.deny では指定されていないデバイス群のみ
使用できます。
.Sh アカウント制限
.Bl -column passwordperiod indent indent
.Sy Name Type Notes Description
.It accounted bool false このクラス内の全ユーザの
セッション時間アカウウンティングを有効化
.It autodelete time アカウント失効後自動で削除されるまでの時間
.It bootfull bool false セッション終了時の「ttygroup が一杯の場合にのみブート」戦略を
有効にする
.It daytime time 1 日あたりのログイン最大時間
.It expireperiod time 期限切れまでの割り当て時間
.It graceexpire time 失効したアカウントの猶予日数
.It gracetime time 追加された、猶予ログイン許可時間
.It host.accounted list ログインセッションがアカウントされる
リモートホストワイルドカードのリスト
.It host.exempt list ログインセッションのアカウンティング
を免除されたリモートホストワイルドカードのリスト
.It idletime time ログアウトまでの最大アイドル時間
.It monthtime time 月毎の最大ログイン時間
.It passwordtime time パスワードが無効になるまでの時間
.It refreshtime time アカウントのリフレッシュ許可時間
.It refreshperiod str リフレッシュが行なわれる頻度
.It sessiontime time セッション毎の最大ログイン時間
.It sessionlimit number すべてのグループに対する tty 上の
同時最大ログイン数
.It ttys.accounted list ログインアカウントが有効な tty と ttygroup のリスト
.It ttys.exempt list ログインアカウントが無効な tty と ttygroup のリスト
.It warnexpire time 失効しそうなアカウントに対する事前の注意を
行なう時間
.It warnpassword time 失効しそうなパスワードに対する事前の
注意を行なう時間
.It warntime time 時間切れになりそうな場合に対する事前の注意を
行なう時間
.It weektime time 1 週間毎の最大ログイン時間
.El
.Pp
これらのフィールドは、ユーザのログインアクセスを規制、コントロール、記録する
タイムアカウンティングシステムによって使われます。
.Pp
.Em ttys.accounted
.Em ttys.exempt
フィールドは、先に述べた
.Em ttys.allow
.Em ttys.deny
と同じような方法で状態を操作します。
.Em host.accounted
.Em host.exempt
のリストも同様です。
.Sh 関連項目
.Xr login 1 ,
.Xr getcap 3 ,
.Xr getttyent 3 ,
.Xr login_cap 3 ,
.Xr login_class 3 ,
.Xr passwd 5 ,
.Xr ttys 5
diff --git a/ja/man/man5/magic.5 b/ja/man/man5/magic.5
index ab5572edef..8e33a177ed 100644
--- a/ja/man/man5/magic.5
+++ b/ja/man/man5/magic.5
@@ -1,230 +1,230 @@
.\"
-.\" @(#)%Id: magic.5,v 1.4.2.3 1998/07/16 23:52:12 jkh Exp %
+.\" @(#)%Id: magic.5,v 1.9 1998/02/04 07:29:20 charnier Exp %
.\"
.\" install as magic.4 on USG, magic.5 on V7 or Berkeley systems.
.\"
.\" jpman %Id: magic.5,v 1.3 1998/07/21 05:29:49 jsakai Stab %
.Dd September 3, 1994
.Dt MAGIC 5
.Os "Public Domain"
.Sh 名称
.Nm magic
.Nd file コマンドのマジック番号ファイル
.Sh 解説
このマニュアルページでは
.Xr file 1
コマンド バージョン 3.22 で使用されるマジックファイルのフォーマットに
ついて説明します。
.Nm file
コマンドは、他のテストと共に、ファイルがある
.Em "マジック番号"
で始まっているかどうかをテストして、ファイルのタイプを識別します。
ファイル
.Pa /usr/share/misc/magic
では、どのマジック番号をテストするか、
あるマジック番号が見つかったときにどのようなメッセージを出力するか、
また、そのファイルから抽出するべき追加情報について指定しています。
.Pp
このファイルの各行ではテストすべき項目について指定しています。
テストは、ファイル中のある特定のオフセットで始まるデータを
1 バイト、2 バイトもしくは 4 バイトの数値あるいは文字列と
比較して行います。
もしテストが成功するとメッセージが出力されます。
各行は以下のフィールドから構成されます。
.Bl -tag -width indent
.It offset
テストするファイルのデータのオフセットをバイト数で指定する数字です。
.It type
テストするデータの型です。指定できる値は
.Bl -tag -width indent
.It byte
1 バイトの値。
.It short
(ほとんどのシステムにおいて) 2 バイトの値。
そのマシンの固有のバイト順で指定します。
.It long
(ほとんどのシステムにおいて) 4 バイトの値。
そのマシンの固有のバイト順で指定します。
.It string
バイトの文字列。
.It date
UNIX 日時として解釈される 4 バイトの値。
.It beshort
(ほとんどのシステムにおいて) 2 バイトの値。
ビッグエンディアンのバイト順です。
.IP belong
(ほとんどのシステムにおいて) 4 バイトの値。
ビッグエンディアンのバイト順です。
.IP bedate
UNIX 日時として解釈される (ほとんどのシステムにおいて) 4 バイトの値。
ビッグエンディアンのバイト順です。
.IP leshort
(ほとんどのシステムにおいて) 2 バイトの値。
リトルエンディアンのバイト順です。
.IP lelong
(ほとんどのシステムにおいて) 4 バイトの値。
リトルエンディアンのバイト順です。
.IP ledate
UNIX 日時として解釈される (ほとんどのシステムにおいて) 4 バイトの値。
リトルエンディアンのバイト順です。
.El
.El
.Pp
数字の型にはオプションとして
.Em &
と数値を続けることができ、
これにより比較を行う前に AND をとる数値を指定します。
型の前に
.Em u
を付加すると比較は符号なしで行なわれます。
.Bl -tag -width indent
.It test
ファイル中の値と比較される値。
型が数字の場合、この値は C 言語の形式で指定されます。
これが文字列の場合、
通常のエスケープ記法 (たとえば改行では\en) が可能な C 言語文字列として
指定されます。
.It ""
数値の前には実行される操作を示す文字を付加することができます。
その文字には
ファイルの値が指定された値と等価であることを指定する
.Em =
、ファイルの値が指定された値より小さいことを指定する
.Em <
、ファイルの値が指定された値より大きいことを指定する
.Em >
、指定された値の中でセットされているすべてのビットが
ファイルでの値ですべてセットされていることを指定する
.Em &
、指定された値の中でセットされているどれかのビットが
ファイルでの値でオフであることを指定する
.Em ^
、何らかの値がマッチすることを指定する
.Em x
があります。
これらの文字がない場合は
.Em =
が指定されているものとみなされます。
.It ""
数値は C 言語の形式で指定されます。例えば
.Em 13
は 10 進数、
.Em 013
は 8 進数、
.Em 0x13
は 16 進数となります。
.It ""
文字列値については、
ファイル中のバイト文字列は指定されたバイト文字列に
マッチしなければなりません。
オペレータ
.Em =
.Em <
.Em >
(
.Em &
を除く)
が文字列に適用できます。
マッチングに使用される長さは
マジックファイルでの文字列の引数の長さとなります。
これは
.Em >\e0
とすることにより、
その行はどの文字列にもマッチすることが可能であり、
おそらくその文字列が出力されることを意味します
(すべての文字列はヌル文字列より長いため)。
.It message
比較が成立したときに出力されるメッセージです。
文字列に
.Xr printf 3
指定形式が含まれている場合は、ファイルから得た値 (指定されたマスクを
適用したもの) が、そのメッセージをフォーマット文字列として用いて出力さ
れます。
.El
.Pp
いくつかのファイルフォーマットは、ファイルタイプと共に出力される追加情報
を含んでいます。文字
.Em >
で始まる行は追加テストと出力されるメッセージを指定します。
その行での
.Em >
の数はテストのレベルを指定します。行頭に
.Em >
がない行はレベル 0 とみなされます。
レベル
.Em n+1
の各行はマジックファイル中でその行より前にあるもっとも近いレベル
.Em n
の行の制御下にあります。レベル
.Em n
での行のテストが成功した場合、それに続く行で指定されたすべてのレベル
.Em n+1
のテストが実施され、
それらのテストが成功するとメッセージが出力されます。
次のレベル
.Em n
の行でこれが終了します。
最後の
.Em >
に続く最初の文字が
.Em (
であれば、その括弧の後の文字列は間接オフセットとして解釈されます。
これは括弧の後の数字がそのファイル中のオフセットとして使用されることを
意味します。そのオフセットでの値が読み込まれ、再度ファイルのオフセット
として使用されます。間接オフセットは
.Em (x[.[bsl]][+-][y])
の形式をとります。値
.Em x
はファイル中でのオフセットとして使われます。
型指定子
.Em [bsl]
によりそれぞれバイト、short もしくは long として読み込まれます。
その数字に値
.Em y
が加算され、その結果はファイルの中でのオフセットとして使用されます。型
指定子がない場合は long がデフォルトの型となります。
.Pp
オフセットは、その前にあるフィールドの長さに依存するため、
正確な値が分からない場合があります。
そのような場合は最後の上位レベルのフィールドの最後からの
相対的なオフセットを指定することができます。
(もちろんこれは下位レベルのテスト、すなわち
.Em >
で始まるテストでのみ可能です。)
この場合の相対オフセットは
.Em &
をオフセットのプレフィックスとして使用して指定します。
.Sh バグ
フォーマット
.Em long ,
.Em belong ,
.Em lelong ,
.Em short ,
.Em beshort ,
.Em leshort ,
.Em date ,
.Em bedate ,
.Em ledate
はシステムに依存します。
テストされるファイルは通常それらの長さが不変であるシステムのものであり、
これらはおそらくバイト数 (2B とか 4B とか) として指定すべきででょう。
.Pp
間接オフセットで使用されるエンディアンを指定したデータは
(現在は) サポートされていません。
.Sh 関連項目
.Xr file 1
.\"
.\" From: guy@sun.uucp (Guy Harris)
.\" Newsgroups: net.bugs.usg
.\" Subject: /etc/magic's format isn't well documented
.\" Message-ID: <2752@sun.uucp>
.\" Date: 3 Sep 85 08:19:07 GMT
.\" Organization: Sun Microsystems, Inc.
.\" Lines: 136
.\"
.\" Here's a manual page for the format accepted by the "file" made by adding
.\" the changes I posted to the S5R2 version.
.\"
.\" Modified for Ian Darwin's version of the file command.
diff --git a/ja/man/man5/networks.5 b/ja/man/man5/networks.5
index 4c0d3dfd3e..96355f774d 100644
--- a/ja/man/man5/networks.5
+++ b/ja/man/man5/networks.5
@@ -1,90 +1,90 @@
.\" 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.
.\"
.\" @(#)networks.5 8.1 (Berkeley) 6/5/93
-.\" %Id: networks.5,v 1.2.2.2 1998/06/28 21:34:27 hoek Exp %
+.\" %Id: networks.5,v 1.4 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: networks.5,v 1.3 1998/06/12 15:54:06 kumano Stab %
.\"
.Dd June 5, 1993
.Dt NETWORKS 5
.Os BSD 4.2
.Sh 名称
.Nm networks
.Nd ネットワーク名のデータベース
.Sh 解説
.Nm networks
ファイルは、
.Tn DARPA
インターネットを含む既知のネットワークの情報を保持します。
各ネットワーク毎に、以下の情報を表す 1 行が存在します。
.Bd -unfilled -offset indent
公式ネットワーク名
ネットワーク番号
別名
.Ed
.Pp
各項目は任意個の空白文字やタブ文字で分けられます。
``#'' はコメント開始を表し、
行末までの文字はファイルを検索するルーチンに解釈されません。
このファイルは通常
Network Information Control Center
.Pq Tn NIC
が管理する公式ネットワークデータベースから生成しますが、
非公式な別名や未知のネットワークに関する情報を最新とするために、
ローカルでの変更が必要になるかもしれません。
.Pp
ネットワーク番号は、
インターネットアドレス操作ライブラリ
.Xr inet 3
.Xr inet_network 3
ルーチンが使用する、伝統的な ``.'' (ドット) 表記で指定します。
ネットワーク名は、フィールド区切り文字・改行文字・コメント文字以外の、
任意の表示可能文字からなります。
.Sh 関連ファイル
.Bl -tag -width /etc/networks -compact
.It Pa /etc/networks
.Nm networks
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr getnetent 3
.Sh バグ
静的ファイルの代わりに、ネームサーバを使用すべきです。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
に登場しました。
diff --git a/ja/man/man5/nologin.5 b/ja/man/man5/nologin.5
index 23c6a820b2..c9ebb0846c 100644
--- a/ja/man/man5/nologin.5
+++ b/ja/man/man5/nologin.5
@@ -1,67 +1,67 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)nologin.8 8.1 (Berkeley) 6/19/93
-.\" %Id: nologin.5,v 1.2.2.2 1998/07/17 20:13:42 jkh Exp %
+.\" %Id: nologin.5,v 1.4 1998/07/15 06:37:06 charnier Exp %
.\"
.\" jpman %Id: nologin.5,v 1.3 1998/06/13 09:47:03 kumano Stab %
.\"
.Dd June 19, 1993
.Dt NOLOGIN 5
.Os FreeBSD 2.1
.Sh 名称
.Nm nologin
.Nd ログインを拒否する
.Sh 解説
.Nm
は、
.Pa /etc/nologin
ファイルがあるとログインを拒否します。
このプログラムはユーザに
.Pa /etc/nologin
の内容を表示し、終了します。
.Sh セキュリティ
ユーザ root の
.Xr login 1
では無視されます。
.Sh 関連ファイル
.Bl -tag -width /etc/nologinxxx -compact
.It Pa /etc/nologin
.Nm
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr login 1 ,
.Xr rlogin 1 ,
.Xr telnet 1 ,
.Xr shutdown 8
diff --git a/ja/man/man5/opiekeys.5 b/ja/man/man5/opiekeys.5
index 07a5c00f76..21fc6498ac 100644
--- a/ja/man/man5/opiekeys.5
+++ b/ja/man/man5/opiekeys.5
@@ -1,67 +1,67 @@
.\" opieaccess.5: Manual page describing the /etc/opiekeys file.
.\"
.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan
.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned
.\" to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and
.\" License Agreement applies to this software.
.\"
.\" History:
.\"
.\" Written at NRL for OPIE 2.0.
.\"
.ll 6i
.\" jpman %Id: opiekeys.5,v 1.3 1998/07/03 09:08:53 mutoh Stab %
.pl 10.5i
-.\" @(#)opiekeys.1 2.0 (NRL) 1/10/95
+.\" @(#)opiekeys.5 2.0 (NRL) 1/10/95
.\"
.lt 6.0i
-.TH OPIEKEYS 1 "January 10, 1995"
+.TH OPIEKEYS 5 "January 10, 1995"
.AT 3
.SH 名称
/etc/opiekeys \- ユーザキー情報の OPIE(One-time Password In Everything) データベース
.SH 解説
.I opiekeys
ファイルには
OPIE ソフトウェアがユーザ認証のために使用するユーザ情報が格納されます。
.I opiekeys
ファイルは S/Key の
.I /etc/skeykeys
データベースファイルに対して下位互換ですが、これは
ハッシングアルゴリズム (MD4 および MD5) が S/Key と OPIE で同一の
場合に限られます (すなわち、 MD5 OPIE は MD4 S/Key キーを使用できません)。
.I opiekeys
ファイルは、空白 (タブは正しく解釈されますが、代りにスペースを使うべきです)
で区切られた次のような 6 フィールドから成ります:
.PP
.nf
.ta \w' 'u
フィールド名 内容
name ユーザのログイン名。
sequence ユーザのシーケンス番号。
seed ユーザの種。
key ユーザの最後のレスポンス (16 進数)。
date 最後に変更された日付。
time 最後に変更された時刻。
.fi
.SH 関連項目
.BR ftpd (8)
.BR login (1),
.BR opie (4),
.BR opiekeys (5),
.BR opiepasswd (1),
.BR opieinfo (1),
.BR su (1),
.SH 作者
Bellcore の S/Key は、
Bellcore の Phil Karn, Neil M. Haller, John S. Walden が記述しました。
OPIE は NRL にて Randall Atkinson, Dan McDonald, Craig Metz が作成しました。
S/Key は Bell Communications Research (Bellcore) の商標です。
.SH 連絡先
OPIE は Bellcore の "S/Key Users" メーリングリストで議論されています。
加入要求は電子メールを下記アドレスに送ってください:
.sp
skey-users-request@thumper.bellcore.com
diff --git a/ja/man/man5/passwd.5 b/ja/man/man5/passwd.5
index 39620cd015..f2635882fb 100644
--- a/ja/man/man5/passwd.5
+++ b/ja/man/man5/passwd.5
@@ -1,678 +1,678 @@
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" From: @(#)passwd.5 8.1 (Berkeley) 6/5/93
-.\" %Id: passwd.5,v 1.6.2.8 1998/07/19 06:52:11 jkh Exp %
+.\" %Id: passwd.5,v 1.21 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: passwd.5,v 1.3 1998/07/30 15:26:15 horikawa Stab %
.\"
.\" WORD: NIS/YP INTERACTION NIS/YP との相互作用 [yppasswd.1]
.\" WORD: accounting アカウンティング (パスワード期限等の意味)
.\" WORD: epoch 基準時点
.Dd September 29, 1994
.Dt PASSWD 5
.Os
.Sh 名称
.Nm passwd
.Nd パスワードファイルのフォーマット
.Sh 解説
.Nm passwd
ファイルは改行で区切られたレコードから成ります。
ユーザごとに 1 レコードが対応し、
コロン(``:'')で区切られた 10 個の欄が含まれます。
これらの欄は以下の通りです:
.Pp
.Bl -tag -width password -offset indent
.It name
ユーザのログイン名。
.It password
ユーザの
.Em 暗号化された
パスワード。
.It uid
ユーザのid。
.It gid
ユーザのログイングループid。
.It class
ユーザのログインクラス。
.It change
パスワードの変更時間。
.It expire
アカウントの有効期限。
.It gecos
ユーザについての一般的な情報。
.It home_dir
ユーザのホームディレクトリ。
.It shell
ユーザのログインシェル。
.El
.Pp
最初の空白文字でない文字がポンド記号(#)であるような行は注釈であり、無視
されます。スペース、タブ、改行だけからなる空行もまた無視されます。
.Pp
.Ar name
欄はコンピュータアカウントにアクセスするのに用いられるログインであり、
.Ar uid
欄はそれに結び付けられた数字です。これらはファイルアクセスを制御するので、
両方共そのシステム(またしばしば複数のシステムにわたる1つのグループ)の中
で一意であるべきです。
.Pp
同じログイン名や同じユーザidのエントリを複数持つことは可能で
すが、普通それは誤りです。これらのファイルを取り扱うルーチンはしばしばそ
の複数エントリの 1 つだけを返しますし、
そしてそれはランダムな選択によるものです。
.Pp
ログイン名は決してハイフン(``-'')で始めてはいけません。また、メーラを
混乱させる傾向にあるので、大文字やドット(``.'')も絶対に名前の一部にしな
いことを強く推奨します。コロン(``:'')は歴史的にユーザデータベース中の欄
を分けるために用いられてきたので、いかなる欄にも含まれません。
.Pp
password欄はパスワードの
.Em 暗号化された
形です。
.Ar password
欄が空ならば、そのマシンへアクセスするのに何のパスワードも必要としないで
しょう。これはほとんど恒常的に誤りです。これらのファイルは暗号化された
ユーザパスワードを含んでいるので、
適当な権利無しにはいかなる人によっても可読であっ
てはいけません。管理上のアカウントは1個のアスタリスク
.Ql \&*
を含むパスワード欄を有しており、これは通常のログインを許しません。
.Pp
group欄はユーザがログインした上で位置付けられるグループです。このシステムは
マルチグループ(
.Xr groups 1
参照)
をサポートしますが、この欄はユーザの1次グループを指名します。2次グループの
メンバは
.Pa /etc/group
の中で選ばれます。
.Pp
.Ar class
欄はユーザのログインクラスに対するキーです。ログインクラスは
.Xr login.conf 5
の中で定義されます。
.Xr login.conf 5
は、ユーザの属性、アカウンティング、リソース、環境設定に関する
.Xr termcap 5
形式のデータベースです。
.Pp
.Ar change
欄は
.Dv GMT
における基準時点からの秒数を表したものであり、
この時までにアカウントに対するパスワードを変更する必要があります。
パスワードエージング機能をなくすには、
この欄を空欄にしておくか0をセットしておけば良いです。
.Pp
.Ar expire
欄は
.Dv GMT
における基準時点からの秒数を表したものであり、
その時にアカウントが消滅します。
アカウント再設定機能をなくすには、
この欄を空にセットしておくか0をセットしておけば良いです。
.Pp
.Ar gecos
欄はコンマ(``,'')で区切られた以下のような副欄を通常含んでいます:
.Pp
.Bd -unfilled -offset indent
fullname ユーザのフルネーム
office ユーザの職場の位置
wphone ユーザの職場の電話番号
hphone ユーザの自宅の電話番号
.Ed
.Pp
この情報は
フィンガープログラム
.Xr finger 1
によって利用され、最初の欄はシステムのメーラ
によって使われます。fullname 欄内にアンパサンド文字
.Ql \&&
が現われると、この欄を使うプログラムはそれをそのアカウントのログイン名の
大文字版に置き換えます。
.Pp
ユーザのホームディレクトリは、ユーザがログインして位置付けられる完全な
.Tn UNIX
パス名です。
.Pp
shell欄はユーザの好むインタプリタです。
.Ar shell
欄になにも無ければ Bourne シェル
.Pq Pa /bin/sh
が仮定されます。セキュリティ上の理由により、シェルがシステムへのアクセス
を許さないスクリプト(例えば
.Xr nologin 8
スクリプト)に設定されている場合、いかなる環境変数も渡されないように配慮さ
れるべきです。
.Xr sh 1
については、これは
.Fl p
フラグを指定することで可能です。これが他のシェルでどのように行なわれるか
は、特定のシェルの文書を調べてください。
.Sh YP/NIS との相互作用
.Ss NISパスワードデータへのアクセスを可能にする
システム管理者は
.Pa /etc/master.passwd
ファイルに特別なレコードを付け加えることによって、パスワード情報について
NIS/YPを用いるように
.Tn FreeBSD
を設定できます。ハッシュされたパスワードデータベースおよび
.Pa /etc/passwd
ファイル(
.Pa /etc/passwd
は絶対に手動で編集してはいけません)に変更が適切にマージされるように、
エントリは
.Xr vipw 8
で付加するべきです。別の方法としては、なんらかの方法で
.Pa /etc/master.passwd
を修正した後、
.Xr pwd_mkdb 8
を用いてパスワードデータベースを手動で更新することができます。
.Pp
NISを活性化するための最も簡単な方法は、名前欄にプラス符号(`+')だけを持つ、
以下のような空のレコードを付け加えることです。
.Bd -literal -offset indent
+:::::::::
.Ed
`+' は、
.Tn FreeBSD
の標準Cライブラリの
.Xr getpwent 3
ルーチンに対し、
検索において NIS パスワードマップを使用開始するよう指示します。
.Pp
上記のエントリは
.Em ワイルドカード
エントリとして知られていることに注意してください。なぜなら、それは全ての
ユーザと一致し (他に情報を持たない `+' は、全員に一致します)、
全 NIS パスワードデータを無変更にて引き出すことを許します。
一方、
NIS エントリで `+' の次にユーザ名やネットグループ名を指定することによって、
どのようなデータが NIS パスワードマップから展開されるのか、
およびそれがどのように解釈されるのかについて、
管理者が影響を与えることができます。
この特徴を示す、少数のレコード例を挙げます(1 つの
.Pa master.passwd
ファイル中には複数の NIS エントリを持つことが可能であることに注意):
.Bd -literal -offset indent
-mitnick:::::::::
+@staff:::::::::
+@permitted-users:::::::::
+dennis:::::::::
+ken:::::::::/bin/csh
+@rejected-users::32767:32767::::::/bin/false
.Ed
特定のユーザ名は明示的にリストされますが、ネットグループは `@' を前に付け
て表されます。
上の例では、``staff'' および ``permitted-users'' ネットグループ
のユーザは、NIS から読まれ無変更で使用されるパスワード情報を持ちます。
言い換えれば、それらのユーザはそのマシンに通常のアクセスを許される
ということです。ユーザ ``ken'' および ``dennis'' は、
ネットグループを通じてではなく明示的に名前が指定されており、
NIS から読まれるパスワード情報を持ちます。
例外は、ユーザ ``ken'' のシェルが
.Pa /bin/csh
に再マップされることです。
これは、NISパスワードマップで指定されたシェルの値が、ローカル
.Pa master.passwd
ファイルの特別なNISエントリで指定された値によって上書きされることを意味します。
ユーザ ``ken'' は csh シェルを割り当てておいても良いかも知れません。
なぜなら、
政治的あるいは技術的な理由でクライアントマシンにインストールされていない
別のシェルを、彼の NIS パスワードエントリに指定されているかもしれないためです。
他方、``rejected-users''ネットグループのユーザは、そのUID、
GID、シェルが不正な値で上書きされているのでログインできなくなります。
.Pp
ユーザ ``mitnick'' は、そのエントリが `+' ではなく `-' で指定されているので、
完全に無視されることになります。
マイナスエントリは、
ある NIS エントリを完全に遮断するために用いることができます。
このような方法でパスワードデータが除外されたユーザは、
システムから全く認識されません。(マイナスエントリで指定された
上書き情報は無視されます。
なぜなら、システムが最初に認識しないことにしたユーザの上書き情報を処理
することは無駄だからです。)
一般にマイナスエントリは、
ある権限のあるネットグループのメンバとなってアクセスを許されるかもしれない
ユーザを特別に除外するために使用します。
例えば ``mitnick'' が ``permitted-users'' ネットグループのメンバであり、
いかなる理由があってもそのネットグループ内に留まることを許す必要がある場合
(おそらくそのドメイン内の他のマシンにアクセスすることを保証するため)、
管理者はマイナスエントリを使用することにより、
特定のシステムへのアクセスを拒否し続けるこ
とができます。また、アクセスを許されたユーザおよびその残りを削除したよう
なよくありそうな混み入ったユーザのリストを生成するよりは、むしろアクセスを
許されないユーザを明示的にリストする方が容易なことが多いです。
.Pp
プラスおよびマイナスエントリは、先行一致優先で最初から最後の順で評価されま
す。これはシステムが特定のユーザに一致する最初のエントリだけを使用するこ
とを意味します。例えば、``staff'' ネットグループと ``rejected-users''
ネットグループの両方のメンバとなっているようなユーザ ``foo'' は、
上の例では
``rejected-users'' のエントリの前に ``staff'' のエントリがありますので、
システムに許可されます。もし順序が逆なら、今度はユーザ ``foo'' は
``rejected-users'' として認識され、アクセスは拒否されます。
.Pp
最後に、
.Pa /etc/master.passwd
ファイルの NIS アクセスエントリで指定されたユーザまたはネットグループ
のどれとも一致しないNISパスワードデータベースレコードは、(マイナスエントリ
を使って指定した全てのユーザと共に)全て無視されます。先に示した例
ではリストの最後にワイルドカードエントリが無いので、
``ken'' と ``dennis'' と ``staff'' ネットグループと
``permitted-users'' ネットグループとを除く全てのユーザを
システムは権限があるユーザとして認識しないでしょう。
``rejected-users'' ネットグループは認識されますが、
全メンバのシェルは再マップされますので、
アクセスは拒否されるでしょう。他の全てのNISパスワードレコードは無視され
るでしょう。 管理者は以下のようなワイルドカードエントリをリストの最後に
付けても良いでしょう。
.Bd -literal -offset indent
+:::::::::/usr/local/bin/go_away
.Ed
このエントリは他の全てのエントリと一致しない全てのユーザを一挙にとらえる
働きをします。
.Pa /usr/local/bin/go_away
は、システムにアクセスを許可されないユーザに伝えるメッセージを出力する短か
いスクリプトまたはプログラムでしょう。
必ずしもログインアクセスを許可せずに、
特定のNISドメイン内の全ユーザをシステムが認識可能であることが望ましいときには、
このテクニックが有効なことがあります。
ログインシェルとシェルスクリプトを使用するときのセキュリティに関する事柄
について、上記のシェル欄の記述を参照してください。
.Pp
この
.Pa 上書き
機能の主な用途は、
管理者がNISクライアント上でアクセス制限を強化可能とすることです。
単に特定のネットグループに対してユーザを追加したり削除したりするだけで、
そのユーザにあるマシン群へのアクセスを許可し、
かつ他のマシン群へのアクセスを拒否することができます。
ネットグループデータベースもまた NIS 経由でアクセスできるので、
1 個所すなわち NIS マスタサーバからアクセス制限を管理できます。
一旦ホストのアクセスリストが
.Pa /etc/master.passwd
に設定されると、新にネットグループが作られない限りそれは再度変更する必要
はありません。
.Sh 注釈
.Ss NIS経由のシャドウパスワード
.Tn FreeBSD
はシャドウパスワード法を採用しており、
ユーザの暗号化されたパスワードはスーパユーザだけが読み書き可能な
.Pa /etc/master.passwd
および
.Pa /etc/spwd.db
にのみに記憶されます。
暗号化されたパスワードをパスワード推測プログラムに通すことにより、
ユーザが他のユーザアカウントに対して不正アクセスすることを防ぐためです。
NIS にはパスワード隠蔽のための標準的な方法がありません。
これは、
パスワードデータを全てNISパスワードマップに置き換えることは、
.Tn FreeBSD
のパスワード隠蔽システムのセキュリティを無効にしてしまうことを意味します。
.Pp
.Tn FreeBSD
にはこの問題を回避するのに役立つ少数の特別な特徴が備わっています。
.Tn FreeBSD
NIS クライアントと
.Tn FreeBSD
NIS サーバとの間でパスワード隠蔽を実装することは可能です。
.Xr getpwent 3
ルーチンは
.Pa /etc/master.passwd
と同じデータを含む
.Pa master.passwd.byname
.Pa master.passwd.byuid
マップを検索します。マップが存在すれば
.Tn FreeBSD
は標準の
.Pa passwd.byname
および
.Pa passwd.byuid
マップの代りにそれらをユーザ認証に利用しようとします。
.Tn FreeBSD
.Xr ypserv 8
はまたクライアントの要求をチェックして、
クライアントの要求が特権ポートから来たことを確認します。
スーパユーザのみが特権ポートにアクセスすることが許されるので、
要求しているユーザがスーパユーザであるか否か判断可能です。
.Pa master.passwd
マップにアクセスする権限の無いユーザからの全ての要求は拒否されるでしょう。
全てのユーザ認証プログラムはスーパユーザの権限で実行されるので、
ユーザの暗号化されたパスワードデータへの必要なアクセスを持ちますが、
通常ユーザはパスワード情報を含まない標準
.Pa passwd
マップへのアクセスのみ許されます。
.Pp
この特徴は
.Tn FreeBSD
以外のシステムがある環境では利用できないことに注意してください。
また、ネットワーク
に無制限にアクセスできる真に限定されたユーザは依然
.Pa master.passwd
マップを危うくすることにも注意してください。
.Ss NISの上書きに伴なうUIDおよびGIDの再マップ
.Tn SunOS
や Sun の NIS コードを利用しているオペレーティングシステムとは異なり、
.Tn FreeBSD
ではユーザがNIS
.Pa passwd
エントリ中の
.Pa 全て
の欄を上書きすることを許しています。例えば以下のような
.Pa /etc/master.passwd
エントリを考えてみましょう。
.Bd -literal -offset indent
+@foo-users:???:666:666:0:0:0:Bogus user:/home/bogus:/bin/bogus
.Ed
このエントリにより、`foo-users' ネットグループ中の全てのユーザは、
UID、GID、パスワードを含めて
.Pa 全て
のパスワード情報を上書きされます。この結果、彼等のパスワードは不正な
値に再マップされるので、全ての `foo-users' はシステムから締め出さ
れることになるでしょう。
.Pp
以下のようにNISワイルドカードエントリを使う習慣のある人が多いので、
このことは覚えておくべき重要なことです。
.Bd -literal -offset indent
+:*:0:0:::
.Ed
これはしばしば新米の
.Tn FreeBSD
管理者が以下のように
.Pa master.passwd
ファイルのNISエントリを選んでしまうことにつながります。
.Bd -literal -offset indent
+:*:0:0::::::
.Ed
更に悪く、以下のようにしてしまうこともあります。
.Bd -literal -offset indent
+::0:0::::::
.Ed
.Sy Pa master.passwd
.Sy ファイルには「絶対に」このようなエントリは入れないでください!!
最初のものは、
全てのパスワードを `*' に再マップし (これは誰もログインできなくします)、
全ての UID および GID を 0 に再マップする (これは皆をスーパユーザにします)
ことを
.Tn FreeBSD
に指示します。
2 番目のものは全 UID および GID をちょうど 0 にマップします
が、これは
.Pa 全てのユーザがrootになってしまう
ことを意味します!
.Pp
.Ss NIS上書き評価の互換性
Sunが最初に
.Xr getpwent 3
ルーチンにNISサポートを追加したとき、
.Tn SunOS
のパスワードファイル
.Pa /etc/passwd
はプレーン
.Tn ASCII
フォーマットであるということが考慮されていました。
.Tn SunOS
のドキュメントによれば、パスワードファイルに '+' エントリを付け加えると、
パスワードファイル中の '+' エントリがある位置に
NIS パスワードデータベースの内容が「挿入」されます。例えば
管理者が
.Pa /etc/passwd
の中央に +:::::: エントリを置いた場合、
NIS パスワードマップの全体の内容が
パスワードファイルの中央にコピーされたかのように現われるでしょう。
管理者が +:::::: エントリを
.Pa /etc/passwd
の中央と最後の両方に置けばNISパスワードマップは2度現われることになるでしょ
う。すなわち 1 度目はそのファイルの中央に現れ、もう 1 度は最後に現れます
(単純なワイルドカードの代りに上書きエントリを用いることで、
他の組合せが可能です)。
.Pp
これに対し
.Tn FreeBSD
では単一の
.Tn ASCII
パスワードファイルを持つというわけではありません。
.Tn FreeBSD
ではハッシュ化されたパスワードデータベースを持ちます。このデータベースで
は最初や中央や最後を容易に定義できませんので、
.Tn SunOS
に 100% 互換の手法を設計することは非常に困難です。例えば
.Tn FreeBSD
.Fn getpwnam
関数と
.Fn getpwuid
関数は、線形検索ではなくハッシュデータベースに直接問い合わせするように設計さ
れています。パスワードデータベースが大きいシステムでは、
このアプローチの方が高速です。
しかしデータベースへ直接問い合わせを利用するとき、
システムは元のパスワードファイルの順序を知り得ませんし気にしませんので、
.Tn SunOS
が使用するものと同じ上書き論理は容易に適用できません。
.Pp
代りに
.Tn FreeBSD
では全ての NIS 上書きエントリを一緒のグループにまとめ、それらから 1 つ
のフィルタを作ります。各 NIS パスワードエントリはちょうど 1 回上書きフィルタ
に対して比較され、それに応じて取り扱われます。フィルタがエントリを変更せ
ずに通すことを許すならエントリは変更されないものとして取り扱われ、フィルタ
が欄の再マップを要求するなら欄は再マップされ、フィルタが明白な除外を要求
するなら(すなわちエントリが '-' 上書きと一致するなら)エントリは無視され、
エントリがフィルタ指定のどれとも一致しないならエントリは捨てられます。
.Pp
また、NIS の '+' および '-' エントリ自身は、
.Pa /etc/master.passwd
の中で指定された順序で取り扱われることに再度注意してください。
それ以外の方法で取り扱うと、予測不可能な振舞いとなってしまうからです。
.Pp
結局のところ、データベースのパラダイムを保ちつつ
.Tn FreeBSD
では
.Tn SunOS
と非常によく似た動作を行いますが、
.Xr getpwent 3
関数は
.Tn SunOS
のものとはいくぶん異なった振舞いをします。主な違いは以下の通りです。
.Bl -bullet -offset indent
.It
NIS パスワードマップの各々のレコードは、ローカルパスワード空間のパスワードに
1 度だけマップすることができます。
.It
NIS の '+' および '-' のエントリの位置は、
NIS パスワードレコードがパスワード空間にマップされる場所に
必ずしも影響を与えません。
.El
.Pp
あらゆる
.Tn FreeBSD
の構成のうち99%においてはNISクライアントの振舞いは
.Tn SunOS
や他の同種のシステムのそれと区別できないものとなるでしょう。それでもこれ
らのアーキテクチャ的な違いを知っておくことは必要です。
.Pp
.Ss NIS上書きに関しネットグループの代りにグループを用いる
.Tn FreeBSD
はネットグループではなくユーザグループに基づいた上書き照合を行なう能力
を提供します。例えば NIS エントリが以下のように指定されたとき、
.Bd -literal -offset indent
+@operator:::::::::
.Ed
システムはまず `operator' と呼ばれるネットグループに対してユーザを
照合しようとします。
`operator' ネットグループが存在しないとき、
システムは代りに通常の `operator' グループに対して照合しようとします。
.Ss FreeBSDの古いバージョンからの動作の変遷
.Tn FreeBSD
のNIS/YPの取り扱いについてはいくつかのバグフィックスと改善がありました。
そのいくつかは動作上の変化をもたらしました。動作上の変化は一般に良い方向
にありますが、ユーザおよびシステム管理者がそれらについて知っておくことは
重要です。
.Bl -enum -offset indent
.It
2.0.5 以前のバージョンでは、逆方向検索 (つまり
.Fn getpwuid
を用いる) には上書きは適用されませんでした。つまり、
.Fn getpwuid
.Fn getpwnam
が認識しないログイン名を返すことがありました。
これは現在では
.Pa /etc/master.passwd
で指定された上書きを全ての
.Xr getpwent 3
関数に適用することで解決されました。
.It
.Fx 2.0.5
以前では、ネットグループの上書きは全く動作しませんでした。
これは主に
.Tn FreeBSD
が NIS を通してネットグループを読むことをサポートしなかったことが原因です。
これもまた修正され、
.Tn SunOS
や同種の NIS を使用可能なシステムと全く同様に、
ネットグループを指定可能となりました。
.It
.Tn FreeBSD
は現在NISサーバの能力を持っており、標準第6版形式の
.Pa passwd
マップに加え
.Pa master.passwd
NIS マップの使用もサポートしています。このことは、NIS サーバとして
.Tn FreeBSD
システムを利用するなら、変更情報、有効期限の情報、クラス情報を指定可能であ
るということを意味しています。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd -compact
.It Pa /etc/passwd
パスワードを除いた
.Tn ASCII
パスワードファイル
.It Pa /etc/pwd.db
パスワードを除いた
.Xr db 3
形式のパスワードデータベース
.It Pa /etc/master.passwd
パスワードの入った
.Tn ASCII
パスワードファイル
.It Pa /etc/spwd.db
パスワードの入った
.Xr db 3
形式のパスワードデータベース
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr login 1 ,
.Xr passwd 1 ,
.Xr getpwent 3 ,
.Xr login.conf 5 ,
.Xr login_getclass 3 ,
.Xr yp 4 ,
.Xr login.conf 5 ,
.Xr adduser 8 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8 ,
.Xr pw 8
.Sh バグ
ユーザ情報は他のどこか に入れるべき(そして結局は入れることになる)でしょう。
.Pp
YP/NISパスワードデータベースでは、
普通のユーザには暗号化されたパスワードが見えてしまいます。したがって
.Pa master.passwd
マップのシャドウパスワードおよび
.Tn FreeBSD
.Xr ypserv 8
サーバを利用しないと、
簡単にパスワードクラッキングを許してしまうことになります。
.Pp
.Pa master.passwd
タイプのマップの使用をサポートする
.Tn FreeBSD
.Xr ypserv 8
を使用しないと、
YP/NIS パスワードデータベースは
古いスタイル (第 6 版) のフォーマットになります。これは、
.Tn FreeBSD
システムを標準 NIS サーバのクライアントとして利用するとき、
ユーザのログインクラスやパスワード期限等の
現在のフォーマットにある欄の値については
サイトワイドな値が利用できなくなることを意味します。
.Sh 互換性
パスワードファイル形式は
.Bx 4.3
以降で変更されました。以下の awk スクリプトは、古いスタイルの
パスワードファイルを新しいスタイルのパスワードファイルに
変換するのに利用できます。
.Dq class ,
.Dq change ,
.Dq expire
欄が追加されましたが、デフォルトでは無効になっています。
これらの欄を設定するには
.Xr vipw 8
もしくは
.Xr pw 8
を使用してください。
.Bd -literal -offset indent
BEGIN { FS = ":"}
{ print $1 ":" $2 ":" $3 ":" $4 "::0:0:" $5 ":" $6 ":" $7 }
.Ed
.Sh 歴史
.Nm
ファイルは
.At v6
で現われました。YP/NISの機能は
.Tn SunOS
を雛型として
.Fx 1.1
で初めて現われました。上書き機能は
.Fx 2.0
において新しく組み込まれました。上書き機能はネットグループを適切に
サポートするために
.Fx 2.0.5
で更新されました。注釈のサポートは
.Fx 3.0
で初めてサポートされました。
diff --git a/ja/man/man5/pbm.5 b/ja/man/man5/pbm.5
index 3ac9ff653d..496ac61e62 100644
--- a/ja/man/man5/pbm.5
+++ b/ja/man/man5/pbm.5
@@ -1,88 +1,88 @@
.\"
-.\" %Id: pbm.5,v 1.1.2.4 1998/07/19 06:52:12 jkh Exp %
+.\" %Id: pbm.5,v 1.5 1998/03/12 07:30:48 charnier Exp %
.\" jpman %Id: pbm.5,v 1.3 1998/04/29 11:36:38 kuma Stab %
.\"
.\" WORD: whitespace 空白
.\"
.Dd September 27, 1991
.Dt PBM 5
.Sh 名称
.Nm pbm
.Nd ボータブルビットマップファイルのフォーマット
.Sh 解説
ポータブルビットマップフォーマットは、
最低位の共通の白黒画像ファイルフォーマットです。
元々は、異なったタイプのマシン間で、
ビットマップ転送には適さないネットワークメーラを使用して、
ビットマップをメールで受け渡しする妥当な方法としてデザインされました。
現在は、多くのビットマップ変換フィルタ群の共通語として使用されています。
定義を以下に示します:
.Pp
.Bl -bullet -compact
.It
ファイルタイプを識別するための "マジックナンバ"。
pbm ファイルのマジックナンバは "P1" の 2 文字です。
.It
空白 (複数のブランク・TAB・CR・LF から成ります)。
.It
幅を ASCII 10 進数で表記します。
.It
空白。
.It
高さを ASCII 10 進数で表記します。
.It
空白。
.It
幅 * 高さの数のビット。各ビットは '1' または '0' で表し、
ビットマップ左上角を起点として通常の英語を読む向きに連続します。
.It
文字 '1' は黒を、'0' は白を表します。
.It
ビット部の空白は無視されます。
.It
\&"#" から行末までの文字列は無視されます (コメント)。
.It
長さが 70 文字を越える行は許されません。
.El
.Pp
以下に、このフォーマットでの小さなビットマップの例を示します:
.Bd -literal
P1
# feep.pbm
24 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.Ed
.Pp
このフォーマットを読むプログラムは可能な限り寛大になるべきで、
少しでもビットマップのように見えるものはなんでも受け付けるべきです。
.Pp
このフォーマットには派生形式があり、
RAWBITS オプションをコンパイル時にセットすることで利用可能です。
この派生形式は、以下の点が異なります:
.Pp
.Bl -bullet -compact
.It
\&"マジックナンバ" が "P1" ではなく "P4" です。
.It
8 ビットが 1 バイトに格納されます。上位ビットが先で下位ビットが後になります。
.It
ビット部には空白は許されませんし、
高さの後には単一の空白 (通常は改行) のみが許されます。
.It
ファイルは 1/8 の大きさになり、読み書きが何倍も高速になります。
.El
.Sh 作者
Copyright (C) 1989, 1991 by
.An Jef Poskanzer .
.\" Permission to use, copy, modify, and distribute this software and its
.\" documentation for any purpose and without fee is hereby granted, provided
.\" that the above copyright notice appear in all copies and that both that
.\" copyright notice and this permission notice appear in supporting
.\" documentation. This software is provided "as is" without express or
.\" implied warranty.
diff --git a/ja/man/man5/phones.5 b/ja/man/man5/phones.5
index fcab2f29bb..33f5546b7a 100644
--- a/ja/man/man5/phones.5
+++ b/ja/man/man5/phones.5
@@ -1,80 +1,80 @@
.\" 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.
.\"
.\" @(#)phones.5 8.1 (Berkeley) 6/5/93
+.\" %Id: phones.5,v 1.2 1997/03/07 03:28:04 jmg Exp %
.\" jpman %Id: phones.5,v 1.3 1998/07/21 23:07:26 jsakai Stab %
-.\" %Id: phones.5,v 1.1.1.1.8.1 1997/03/07 04:18:08 mpp Exp %
.\"
.Dd June 5, 1993
.Dt PHONES 5
.Os BSD 4.2
.Sh 名称
.Nm phones
.Nd リモートホストの電話番号のデータベース
.Sh 解説
ファイル
.Pa /etc/phones
には、
.Xr tip 1
プログラムが使用する、
システム内のプライベートな電話番号が格納されます。
このファイルは通常は読めませんので、特権情報を格納することができます。
このファイルのフォーマットは、次の形式の一連の行です:
<システム名>[\ \et]*<電話番号>。
システム名は
.Xr remote 5
ファイルで定義されているものの 1 つであり、
電話番号は ``,'' もしくは行末で終わる任意の文字列からなります。
``='' および ``*'' の文字は、(交換機を通す場合)
一旦停止して次のダイアルトーンを待つように自動電話機能に指示します。
``='' は
.Tn DF02-AC
にて必要ですし、``*'' は
.Tn BIZCOMP
1030
にて必要です。
.Pp
1 行には 1 つの電話番号のみ記述可能です。
しかしながら、ファイル中に同じシステム名が含まれる場合、
.Xr tip 1
は接続を確立するまで順番に各番号にダイアルしようとします。
.Sh 関連ファイル
.Bl -tag -width /etc/phones -compact
.It Pa /etc/phones
.El
.Sh 関連項目
.Xr tip 1 ,
.Xr remote 5
.Sh 歴史
.Nm
ファイルは
.Bx 4.2
に登場しました。
diff --git a/ja/man/man5/printcap.5 b/ja/man/man5/printcap.5
index 7b2647f8d4..3781dde94b 100644
--- a/ja/man/man5/printcap.5
+++ b/ja/man/man5/printcap.5
@@ -1,279 +1,360 @@
.\" 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.
.\"
.\" @(#)printcap.5 8.2 (Berkeley) 12/11/93
-.\" %Id: printcap.5,v 1.5.2.5 1998/04/28 13:49:50 danny Exp %
+.\" %Id: printcap.5,v 1.15 1998/08/21 18:08:46 brian Exp %
.\"
.\" jpman %Id: printcap.5,v 1.3 1998/07/21 23:12:17 jsakai Stab %
.Dd December 11, 1993
.Dt PRINTCAP 5
.Os BSD 4.2
.Sh 名称
.Nm printcap
.Nd プリンタケーパビリティデータベース
.Sh 書式
.Nm printcap
.Sh 解説
.Nm printcap
は、
ラインプリンタの記述に使われる
.Xr termcap 5
を簡略化したものです。
スプールシステムは利用のたび毎に
.Nm printcap
ファイルにアクセスするため、
プリンタを動的に追加したり削除することが可能です。
データベース中の各々のエントリが、1 台のプリンタを記述するのに使われます。
.Xr termcap 5
とは異なり、このデータベースは代替できません。
これは、アカウント情報がバイパスされてしまうことがあるからです。
.Pp
デフォルトのプリンタは通常
.Em lp
ですが、環境変数
.Ev PRINTER
によって上書きすることもできます。
各スプーリングユーティリティはオプション
.Fl P Ar printer
をサポートし、出力先のプリンタ名を明示することが可能です。
.Pp
あるプリンタに対するデータベースをセットアップする方法の詳細については、
.%T "4.3 BSD Line Printer Spooler Manual"
を参照してください。
.Sh ケーパビリティ
ファイルレイアウトの解説については
.Xr termcap 5
を参照してください。
.Bl -column Namexxx Typexx "/var/spool/lpdxxxxx"
.Sy Name Type Default Description
.It "af str" Ta Dv NULL Ta No "アカウンティングファイル名"
.It "br num none lp が tty の場合、ボーレートを設定 "
.Pf ( Xr ioctl 2
call)
.It "cf str" Ta Dv NULL Ta No "cifplot データ用フィルタ"
.It "ct num 120 TCP コネクションのタイムアウト時間(秒)"
.It "df str" Ta Dv NULL Ta No "tex データ用フィルタ"
.Pf ( Tn DVI
フォーマット)
.It "ff str" Ta So Li \ef Sc Ta No "フォームフィード送信文字"
.It "fo bool false デバイスオープン時にフォームフィードを印字"
.It "gf str" Ta Dv NULL Ta No "グラフデータフィルタ"
.Pf ( Xr plot 3
フォーマット
.It "hl bool false バーストヘッダページを最後に印刷"
.It "ic bool false 字下げ出力の用の(非標準の) ioctl をサポートした
ドライバ"
.It "if str" Ta Dv NULL Ta No "アカウンティングを行うためのテキストフィルタ名"
.It "lf str" Ta Pa /dev/console Ta No "エラーロギングファイル名"
.It "lo str" Ta Pa lock Ta No "ロックファイル名"
.It "lp str" Ta Pa /dev/lp Ta No "出力時にオープンするデバイス名"
.It "ms str" Ta Dv NULL Ta No "lp が tty の場合、コンマで区切ったリスト。"
tty モード記述用の
.Xr stty 1
リストに似ている。
.It "mx num 1000 最大ファイルサイズ ("
.Dv BUFSIZ
ブロック単位)。0 = 制限なし。
.It "nd str" Ta Dv NULL Ta No "キューのリスト用の次のディレクトリ (未実装)"
.It "nf str" Ta Dv NULL Ta No "ditroff データ用フィルタ (device independent troff)"
.It "of str" Ta Dv NULL Ta No "出力用フィルタリングプログラム名"
.It "pc num 200 1 フィートまたは 1 ページあたりの
費用 (1/100 セント単位)"
.It "pl num 66 1 ページの行数"
.It "pw num 132 1 行の文字数"
.It "px num 0 ピクセル単位のページ幅 (水平方向)"
.It "py num 0 ピクセル単位のページ長 (垂直方向)"
.It "rf str" Ta Dv NULL Ta No ""
.Tn FORTRAN
形式のテキストファイル出力用フィルタ
.It "rg str" Ta Dv NULL Ta No "グループ制限。許可されたグループのメンバのみアクセスが許可される"
.It "rm str" Ta Dv NULL Ta No "リモートプリンタ名"
.It "rp str ``lp'' リモートプリンタ名引数"
.It "rs bool false ローカルにアカウントを持つリモートユーザに対する制限"
.It "rw bool false 読み書き用にオープンするプリンタデバイス名"
.It "sb bool false 短いバナー (1 行のみ)"
.It "sc bool false 複数コピーの抑制"
.It "sd str" Ta Pa /var/spool/lpd Ta No "スプール ディレクトリ"
.It "sf bool false フォームフィードの抑制"
.It "sh bool false バーストページヘッダの出力抑制"
.It "st str" Ta Pa status Ta No "状態ファイル名"
.It "tf str" Ta Dv NULL Ta No "troff データ用フィルタ (cat phototypesetter)"
.It "tr str" Ta Dv NULL Ta No "キューが空の時に印刷するトレイラ文字列"
.It "vf str" Ta Dv NULL Ta No "ラスタイメージ用フィルタ"
.El
.Pp
+2 文字のケーパビリティは、別の読み易い名前があります。
+.Bl -column "短い形式" "長い形式"
+.Sy "短い形式 長い形式"
+.It "af acct.file"
+.It "br tty.rate"
+.It "cf filt.cifplot"
+.It "ct remote.timeout"
+.It "df filt.dvi"
+.It "du daemon.user"
+.It "ff job.formfeed"
+.It "fo job.topofform"
+.It "gf filt.plot"
+.It "hl banner.last"
+.It "if filt.input"
+.It "lf spool.log"
+.It "lo spool.lock"
+.It "lp tty.device"
+.It "mc max.copies"
+.It "ms tty.mode"
+.It "mx max.blocks"
+.It "nf filt.ditroff"
+.It "of filt.output"
+.It "pc acct.price"
+.It "pl page.length"
+.It "pw page.width"
+.It "px page.pwidth"
+.It "py page.plength"
+.It "rf filt.fortran"
+.It "rg daemon.restrictgrp"
+.It "rm remote.host"
+.It "rp remote.queue"
+.It "rs daemon.restricted"
+.It "rw tty.rw"
+.It "sb banner.short"
+.It "sc job.no_copies"
+.It "sd spool.dir"
+.It "sf job.no_formfeed"
+.It "sh banner.disable"
+.It "st spool.status"
+.It "tr job.trailer"
+.It "vf filt.raster"
+.El
+.Pp
ローカルラインプリンタのドライバが字下げをサポートしているならば、
プリンタデーモンはその使い方を理解しなければなりません。
.Sh フィルタ
.Xr lpd 8
デーモンは
.Em filters
のパイプラインを作成し、さまざまなタイプのプリンタ用に処理を行います。
フィルタは
.Xr lpr 1
へ渡されるフラグに応じて選択されます。
パイプラインは次のように設定されます。
.Bd -literal -offset indent
p pr | if 通常テキスト + pr(1)
none if 通常テキスト
c cf cifplot
d df DVI (tex)
g gf plot(3)
n nf ditroff
f rf Fortran
t tf troff
v vf ラスタイメージ
.Ed
.Pp
.Sy if
フィルタは次の引数をとります。
.Bd -filled -offset indent
.Cm if
.Op Fl c
.Fl w Ns Ar width
.Fl l Ns Ar length
.Fl i Ns Ar indent
.Fl n Ar login
.Fl h Ar host acct-file
.Ed
.Pp
.Fl c
フラグは
.Fl l
フラグ (コントロール文字をそのまま通過させます) が
.Xr lpr 1
に指定された場合のみ渡されます。
.Ar width
機能と
.Ar length
機能はページ幅とページ長を
(それぞれ
.Cm pw
.Cm pl
によって) 文字単位で指定します。
.Fl n
.Fl h
パラメータでそれぞれのジョブの所有者のログイン名とログイン先ホスト名を
指定します。
.Ar acct-file
機能は
.Nm printcap
.Cm af
エントリがそのまま使われます。
.Pp
.Cm if
が指定されなかった場合、
.Cm of
が代わりに使われます。
.Cm of
.Cm if
が個々のジョブ毎にオープンされるのに対して、たった 1 回だけ
オープンされると言う特徴を持っています。
そのため、アカウンティングを行うには
.Cm if
の方が向いています。
.Cm of
には、
.Ar width
.Ar length
フラグのみが与えられます。
.Pp
その他の全てのフィルタは次のように呼び出されます。
.Bd -filled -offset indent
.Nm filter
.Fl x Ns Ar width
.Fl y Ns Ar length
.Fl n Ar login
.Fl h Ar host acct-file
.Ed
.Pp
.Ar width
.Ar length
はピクセル単位で表され、それぞれ
.Cm px
.Cm py
エントリで指定されます。
.Pp
全てのフィルタはファイルを
.Em stdin
から読み込み
.Em stdout
からの出力をプリンタに送られ、
.Em stderr
または
.Xr syslog 3
がログ出力に使われます。
フィルタは
.Dv SIGINT
を無視してはいけません。
+.Sh リモートプリンティング
+.Cm rm
+を使用してリモートプリンタに印刷する時、
+.Cm if
+または
+.Cm of
+を使用できます。両方を指定した場合、
+.Cm of
+は無視されます。
+どちらのフィルタも同様に振舞いますが、上述の通り異なった引数を渡されます。
+特に、出力フィルタはファイルが転送されるたびに、停止・再起動されます。
+このように動作することが必要な理由は、フィルタを通した結果の大きさをリモート
+.Xr lpd 8
+に渡すためです。
+.Pp
+.Fl p
+フラグが
+.Xr lpr 1
+に渡されると、
+.Xr pr 1
+はローカルでは実行されませんが、リモートの
+.Xr lpd 8
+に対して要求されます。それゆえ、
+.Cm if
+を介したフィルタリングは、
+.Xr pr 1
+が実行される後ではなく前に実行されることになります。
+.Pp
+.Cm lp
+が
+.Em port Ns No @ Ns Em machine
+で指定された場合 (そして
+.Cm rm
+が使用されない場合)、印刷は指定された
+.Em machine
+の指定された
+.Em port
+に直接転送されます。
.Sh ロギング
ラインプリンタプログラム自身 (つまり
.Xr lpd 8
とそれに関連するプログラム) が生成したエラーメッセージは、
.Xr syslog 3
.Dv LPR
ファシリティを使ってロギングされます。
フィルタの 1 つから
.Em stderr
に出力されたメッセージは、対応する
.Cm lf
で指定されたファイルに送られます。
当然、フィルタ自身もまた
.Xr syslog 8
を使うことがあるかも知れません。
.Pp
コンソールに送られるエラーメッセージには、ラインフィードだけではなく
キャリッジリターンとラインフィードが追加されます。
.Sh 関連項目
.Xr lpq 1 ,
.Xr lpr 1 ,
.Xr lprm 1 ,
.Xr hosts.lpd 5 ,
.Xr termcap 5 ,
.Xr lpc 8 ,
.Xr lpd 8 ,
.Xr pac 8
.Rs
.%T "4.3 BSD Line Printer Spooler Manual"
.Re
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man5/procfs.5 b/ja/man/man5/procfs.5
index 17230a3e05..08e94c1762 100644
--- a/ja/man/man5/procfs.5
+++ b/ja/man/man5/procfs.5
@@ -1,216 +1,221 @@
-.\" %Id: procfs.5,v 1.2.8.4 1998/06/28 21:34:27 hoek Exp %
+.\" %Id: procfs.5,v 1.10 1998/06/28 21:33:42 hoek Exp %
.\" jpman %Id: procfs.5,v 1.3 1998/07/03 09:09:33 mutoh Stab %
.\" Written by Garrett Wollman
.\" This file is in the public domain.
.\"
.Dd August 10, 1994
.Dt PROCFS 5
.Os BSD 4.4
.Sh 名称
.Nm procfs
.Nd プロセスファイルシステム
.Sh 書式
.Bd -literal
proc /proc procfs rw 0 0
.Ed
.Sh 解説
プロセスファイルシステム、すなわち
.Nm procfs
はファイルシステム中でシステムプロセステーブルの閲覧を可能にします。
.Nm procfs
は通常
.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 etype
.Pa file
項目によって参照される実行形式のタイプ。
.It Pa file
プロセステキストが読まれる vnode への参照。
これはプロセスのシンボルテーブルへのアクセスを得る、
またはプロセスのもう 1 つのコピーを始めるために使われます。
.It Pa fpregs
.Pa <machine/reg.h>
中の
.Dv "struct fpregs"
で定義される浮動小数点レジスタ。
.Pa fpregs
は、汎用レジスタセットと浮動小数点レジスタセットが明確に区別されたマシンにのみ
実装されています。
.It Pa map
プロセスの仮想メモリのマップ。
.It Pa mem
プロセスの完全な仮想メモリイメージ。
プロセス中に存在するアドレスのみがアクセスできます。
このファイルに対する読み書きはプロセスを修正します。
テキストセグメントに対する書き込みはそのプロセスのみに留まります。
.It Pa note
プロセスへシグナルを送るために使われます。実装されていません。
.It Pa notepg
プロセスグループへシグナルを送るために使われます。実装されていません。
.It Pa regs
プロセスのレジスタセットへの読み書き手段を提供します。
このファイルは
.Pa <machine/reg.h>
中で定義されている
.Dv "struct regs"
バイナリデータ構造体を含んでいます。
.Pa regs
はプロセスが停止しているときのみ書き込みできます。
.It Pa status
プロセスの状態。
このファイルは読み込みのみで、空白で分けられた以下の多数のフィールドを
含んだ 1 行を返します:
.Pp
.Bl -bullet -compact
.It
コマンド名
.It
プロセス ID
.It
親プロセス ID
.It
プロセスグループ ID
.It
セッション ID
.It
制御端末の
.Ar major,minor
、またはもし制御端末がない場合には
.Dv -1,-1 。
.It
プロセスフラグのリスト:
.Dv ctty
制御端末がある、
.Dv sldr
プロセスがセッションリーダである、
.Dv noflags
他の 2 つのフラグがセットされていない。
.It
コンマで区切った秒とマイクロ秒によるプロセス開始時刻
.It
コンマで区切った秒とマイクロ秒によるユーザ時間
.It
コンマで区切った秒とマイクロ秒によるシステム時間
.It
ウェイトチャンネルメッセージ
.It
実効ユーザ ID と全てコンマで区切られた
グループリスト(最初の項目は実効グループ ID) から成っている
プロセスクリデンシャル
.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 procfs
の通常のマウントポイント。
.It Pa /proc/pid
プロセス
.Pa pid
のプロセス情報を含んだディレクトリ
.It Pa /proc/curproc
カレントプロセスのプロセス情報を含んだディレクトリ
.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/status
プロセスの現在の状態
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr sigaction 2 ,
.Xr unmount 2 ,
.Xr mount_procfs 8
.Sh 作者
-このマニュアルページは Jan-Simon Pendry によって提供された記述に基づいて
-Garrett Wollman によって書かれ、
-後に Mike Pritchard によって手直しされました。
+このマニュアルページは
+.An Jan-Simon Pendry
+によって提供された記述に基づいて
+.An Garrett Wollman
+によって書かれ、
+後に
+.An Mike Pritchard
+によって手直しされました。
diff --git a/ja/man/man5/protocols.5 b/ja/man/man5/protocols.5
index 93bec4853f..48443ee4bc 100644
--- a/ja/man/man5/protocols.5
+++ b/ja/man/man5/protocols.5
@@ -1,76 +1,76 @@
.\" 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.
.\"
.\" @(#)protocols.5 8.1 (Berkeley) 6/5/93
+.\" %Id: protocols.5,v 1.2 1997/03/07 03:28:05 jmg Exp %
.\" jpman %Id: protocols.5,v 1.3 1998/06/17 07:52:20 kumano Stab %
-.\" %Id: protocols.5,v 1.1.1.1.8.1 1997/03/07 04:18:09 mpp Exp %
.\"
.Dd June 5, 1993
.Dt PROTOCOLS 5
.Os BSD 4.2
.Sh 名称
.Nm protocols
.Nd プロトコル名のデータベース
.Sh 解説
.Nm protocols
ファイルには
.Tn DARPA
インターネットで使用される既知のプロトコルの情報が格納されます。
各プロトコル毎に、以下の情報を表す 1 行が存在します。
.Bd -unfilled -offset indent
公式なプロトコル名
プロトコル番号
別名
.Ed
.Pp
項目は任意個の空白文字やタブ文字で分けられます。
``#'' はコメント開始を表し、
行末までの文字はファイルを検索するルーチンに解釈されません。
.Pp
プロトコル名は、フィールド区切り文字・改行文字・コメント文字以外の、
任意の表示可能文字からなります。
.Sh 関連ファイル
.Bl -tag -width /etc/protocols -compact
.It Pa /etc/protocols
.Nm protocols
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr getprotoent 3
.Sh バグ
静的ファイルの代わりに、ネームサーバを使用すべきです。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
に登場しました。
diff --git a/ja/man/man5/pw.conf.5 b/ja/man/man5/pw.conf.5
index 717fee09b6..20c16ee083 100644
--- a/ja/man/man5/pw.conf.5
+++ b/ja/man/man5/pw.conf.5
@@ -1,283 +1,295 @@
.\" 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.
.\"
-.\" %Id: pw.conf.5,v 1.1.1.1.2.5 1997/12/25 09:35:59 hoek Exp %
+.\" %Id: pw.conf.5,v 1.8 1997/12/25 09:36:42 hoek Exp %
.\" jpman %Id: pw.conf.5,v 1.3 1998/07/02 18:49:55 kumano Stab %
.\"
.Dd December 9, 1996
.Dt PW.CONF 5
.Os
.Sh 名称
.Nm pw.conf
.Nd pw.conf 設定ファイルのフォーマット
.Sh 解説
ファイル
.Aq Pa /etc/pw.conf
には
.Xr pw 8
プログラムで使用される設定データが含まれています。
.Xr pw 8
プログラムはシステムのパスワードとグループファイルのメンテナンスに使用され、
ユーザやグループを追加、削除、変更します。
このファイルは
.Xr pw 8
コマンドによって
.Ar useradd
コマンドと
.Fl D
オプション
を使うか、テキストエディタによって直接編集することによって変更されます。
.Pp
.Aq Pa /etc/pw.conf
における各行は、コメントもしくは設定データとして扱われます。
空白行と
.Ql \&#
文字によって開始している行はコメントとなります。
それら以外の行はキーワードが最初に指定され、
それに対応するデータが続くものとして処理されます。
.Pp
.Xr pw 8
によって認識されるキーワードには以下のものがあります。
.Bl -tag -width password_days -offset indent -compact
.It defaultpasswd
新規ユーザのパスワードとなります。
.It reuseuids
UID の空き番号を再使用します。
+.It nispasswd
+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
+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
を指定すると、対応する (アカウントかパスワードの) 期限切れを抑止します。
.Pp
.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/man/man5/rc.conf.5 b/ja/man/man5/rc.conf.5
index c8cf62d30b..c1a63b0b00 100644
--- a/ja/man/man5/rc.conf.5
+++ b/ja/man/man5/rc.conf.5
@@ -1,880 +1,901 @@
.\" Copyright (c) 1995
.\" Jordan K. Hubbard
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: rc.conf.5,v 1.1.2.11 1998/06/27 21:23:28 steve Exp %
+.\" %Id: rc.conf.5,v 1.22 1998/07/08 23:31:28 nectar Exp %
.\"
.\" jpman %Id: rc.conf.5,v 1.3 1998/06/26 09:39:58 jsakai Stab %
.\"
.Dd April 26, 1997
.Dt RC.CONF 5
.Os FreeBSD 2.2.2
.Sh 名称
.Nm rc.conf
.Nd ローカルコンフィギュレーションの情報
.Sh 解説
.Nm rc.conf
ファイルはローカルホスト名、全ての潜在的なネットワークインタフェースに
関するコンフィギュレーションの詳細、システムの初期起動時に立ち上げるべき
サービスに関する記述可能な情報を含んできます。初めてインストールする際に
は、一般に
.Nm rc.conf
ファイルはシステムインストールユーティリティ
.Pa /stand/sysinstall
によって初期化されます。
.Pp
ローカルホスト上で変化が生じるたびにこのファイルを適切に保守することはシ
ステム管理者の仕事です。
.Sh 関連ファイル
.Bl -tag -width /etc/rc.conf -compact
.It Pa /etc/rc.conf
.El
.Sh 解説
.Nm
の目的は、
コマンドの実行やシステム起動操作を直接行うことではありません。
それに代わり、
そこに見出される設定にしたがって内部操作を条件付きで制御する
.Pa /etc
下のいろいろな類の起動スクリプトの一部をなしています。
.Pp
以下に示すのは
.Nm
ファイル中で設定可能な各変数について、
その名前と簡単な解説をリストしたものです。
.Bl -tag -width Ar
.It Ar swapfile
(文字列)
.Ar NO
にセットすると
スワップファイルはインストールされません。
.Ar NO
以外の場合、その値は追加スワップ領域のために利用するファイルの
完全パス名として用いられます。
.It Ar apm_enable
(ブール値)
.Ar YES
にセットすると
.Xr apm 8
コマンドでの自動電源管理(Automatic Power Management)のサポートを有効に
します。
.It Ar pccard_enable
(ブール値)
.Ar YES
にセットすると起動時にPCCARDのサポートを有効にします。
.It Ar pccard_mem
(文字列) PCCARDコントローラメモリアドレスをセットします。
.Ar DEFAULT
とするとデフォルト値になります。
.It Ar pccard_ifconfig
(文字列) 挿入または起動時に動的にifconfigされるべきイーサネットデバイス
のリストです。
(例
.Ar "ed0 ed1 ep0 ..." )
.It Ar local_startup
(文字列) 起動スクリプトファイルを検索するためのディレクトリのリストです。
+.It Ar local_periodic
+(文字列) 定期的に実行するスクリプトを検索するディレクトリのリストです
+(3.0 のみ)。
.It Ar hostname
(文字列) ネットワーク上でのあなたのホストの完全な形のドメイン名 (The
Fully Qualified Domain Name) です。あなたがネットワークに接続されていない
場合でも、この変数は確実に何か意味のあるものに設定すべきです。
.It Ar nisdomainname
(文字列) あなたのホストの NIS ドメイン名。NIS が動いてないときは
.Ar NO
とします。
.It Ar firewall_enable
(ブール値) 起動時にロードされるファイアウォール規則を持ちたくないときには
.Ar NO
、持ちたいときには
.Ar YES
をセットします。
.Ar YES
にセットし、かつカーネルが IPFIREWALL 付きで作られなかった場合、
ipfw カーネルモジュールがロードされます。
.It Ar firewall_type
(文字列)
.Pa /etc/rc.firewall
中で選択されたファイアウォールのタイプまたはローカルファイアウォール規則
の組を含むファイルを名付けます。
.Pa /etc/rc.firewall
中では以下のものが選択可能です:
``open''- 無制限の IP アクセス;
``closed''- lo0 経由を除く全ての IP サービスを禁止;
``client''- ワークステーション向けの基本的な保護;
``simple''- LAN 向けの基本的な保護。
ファイル名が指定される場合には完全なパス名でなければなりません。
.It Ar firewall_quiet
(ブール値)
.Ar YES
にセットすると起動時にコンソール上で ipfw 規則の表示を行ないません。
.It Ar natd_enable
(ブール値)
.Ar YES
にセットすると natd を有効にします。
.Ar firewall_enable
もまた
.Ar YES
にセットされ、
.Xr divert 4
ソケットがカーネルで有効にされている必要があります。
.It Ar natd_interface
natd が実行されるパブリックインタフェースの名前です。
.Ar natd_enable
.Ar YES
にセットされている場合には、これを設定する必要があります。
+インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。
.It Ar natd_flags
追加の natd フラグはここに記述する必要があります。
.Fl n
-フラグは上記
+または
+.Fl a
+のフラグは上記
.Ar natd_interface
とともに自動的に引数として追加されます。
.It Ar tcp_extensions
(ブール値) デフォルトでは
.Ar YES
です。これは RFC 1323 や 1644 で述べられているような
ある TCP オプションを有効にします。
もしネットワークコネクションが不規則にハングアップしたり、
それに類する他の不具合がある場合には、これを
.Ar NO
にセットして様子をみてみるのもよいかもしれません。世間に出回っている
ハードウェア/ソフトウェアの中には、これらのオプションでうまく動作しない
ものがあることが知られています。
.It Ar network_interfaces
(文字列) このホスト上で形成されるネットワークインタフェースのリストを
設定します。
たとえば、ループバックデバイス (標準) および SMC Elite Ultra NIC があるなら
.Qq Ar "lo0 ed0"
という 2 つのインタフェースを設定します。
.Em interface
の各値に対して
.No ifconfig_ Ns Em interface
という変数が存在すると仮定されます。
1 つのインタフェースに複数の IP アドレスを登録したい場合は、
ここに IP エイリアスのエントリを追加することも可能です。
対象とするインタフェースが ed0 であると仮定すると、
.Bd -literal
ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff"
ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff"
.Ed
というようになります。
見つかった各 ifconfig_<interface>_alias<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
のようにすると、alias4 は追加され\fB ない\fR ことに注意してください。これは
alias3 エントリを抜かしたことで検索が中止されるからです。
.It Ar syslogd_enable
(ブール値)
.Ar YES
にセットすると
.Xr syslogd 8
デーモンを起動します。
.It Ar syslogd_flags
(文字列) syslogd_enable が
.Ar YES
の場合、これらは
.Xr syslogd 8
に渡すフラグになります。
.It Ar inetd_enable
(ブール値)
.Ar YES
にセットすると
.Xr inetd 8
デーモンを起動します。
.It Ar inetd_flags
(文字列)inetd_enable が
.Ar YES
の場合、これらは
.Xr inetd 8
へ渡すフラグとなります。
.It Ar named_enable
(ブール値)
.Ar YES
にセットすると
.Xr named 8
デーモンを起動します。
.It Ar named_program
(文字列)
.Xr named 8
のパス。(デフォルトは
.Pa /usr/sbin/named )
.It Ar named_flags
(文字列)
.Ar named_enable
.Ar YES
の場合、これらは
.Xr named 8
に渡すフラグとなります。
.It Ar kerberos_server_enable
(ブール値) ブート時に Kerberos 認証サーバを起動したい場合は
.Ar YES
にセットします。
.It Ar kadmind_server_enable
.Xr kadmind 8
(Kerberos 管理デーモン) を実行したい場合は
.Ar YES
とします。スレーブサーバ上では
.Ar NO
にセットします。
.It Ar kerberos_stash
(文字列)
.Ar YES
なら (唯一
.Ar kerberos_server_enable
.Ar YES
にセットされ、かつ
.Xr kerberos 1
および
.Xr kadmind 8
の両方を用いるときにのみ) 隠されたマスタキーのプロンプト入力を行なう代りに、
そのキーを用いるよう Kerberos サーバに指示します。
.It Ar rwhod_enable
(ブール値)
.Ar YES
にセットするとブート時に
.Xr rwhod 8
デーモンを起動します。
.It Ar amd_enable
(ブール値)
.Ar YES
にセットするとブート時に
.Xr amd 8
デーモンを起動します。
.It Ar amd_flags
(文字列)
.Ar amd_enable
.Ar YES
にセットされている場合、これらは amd に渡すフラグとなります。
詳しくは\fBinfo amd\fR コマンドを利用してください。
.It Ar nfs_client_enable
(ブール値)
.Ar YES
にセットするとブート時に NFS クライアントデーモンを起動します。
.It Ar nfs_client_flags
(文字列)
.Ar nfs_client_enable
.Ar YES
の場合、これらは
.Xr nfsiod 8
デーモンに渡すフラグとなります。
.It Ar nfs_server_enable
(ブール値)
.Ar YES
にセットするとブート時に NFS サーバデーモンを起動します。
.It Ar nfs_server_flags
(文字列)
.Ar nfs_server_enable
.Ar YES
の場合、これらは
.Xr nfsd 8
デーモンに渡すフラグとなります。
.It Ar weak_mountd_authentication
(ブール値)
.Ar YES
にセットすると、権限付けられていないマウント要求を行なうために
\fBPCNFSD\fR のようなサービスを許可します。
.It Ar nfs_reserved_port_only
(ブール値)
.Ar YES
にセットすると、安全なポート上でのみ NFS サービスを提供します。
.It Ar rcp_lockd_enable
(ブール値) この変数が
.Ar YES
にセットされ、しかも NFS サーバである場合、ブート時に
.Xr rpc.lockd 8
を起動します。
.It Ar rcp_statd_enable
(ブール値) この変数が
.Ar YES
にセットされ、しかも NFS サーバである場合、ブート時に
.Xr rpc.statd 8
を起動します。
.It Ar portmap_enable
(ブール値)
.Ar YES
の場合、ブート時に
.Xr portmap 8
サービスを起動します。
.It Ar portmap_flags
(文字列)
.Ar portmap_enable
.Ar YES
の場合、これらは
.Xr portmap 8
デーモンに渡すフラグとなります。
.It Ar xtend_enable
(ブール値)
.Ar YES
にセットすると、ブート時に
.Xr xtend 8
デーモンを起動します。
.It Ar xtend_flags
(文字列)
.Ar xtend_enable
.Ar YES
の場合、これらは
.Xr xtend 8
デーモンに渡すフラグとなります。
.It Ar timed_enable
(ブール値)
.Ar YES
なら、ブート時に
.Xr timed 8
サービスを実行します。このコマンドは、全ホストについて一貫した
.Qq "ネットワーク時間"
が確立されなければならないマシンネットワークのためにあります。
これが有用である典型例は、
ファイルのタイムスタンプがネットワークワイドで一貫性をもつことが
期待されるような、大規模 NFS 環境です。
.It Ar timed_flags
(文字列)
.Ar timed_enable
.Ar YES
の場合、これらは
.Xr timed 8
サービスに渡すフラグとなります。
.It Ar ntpdate_enable
(ブール値)
.Ar YES
にセットすると、システムスタートアップ時に ntpdate を実行します。
このコマンドは、ある標準的な参照先を元に、ただ
.Ar 1 回
だけシステム時刻を同期させるためにあります。
また、システムを最初にインストールする際、
これを (知られているサービスのリストから) 最初にセットアップするオプションが
.Pa /stand/sysinstall
プログラムによって提供されます。
.It Ar ntpdate_program
(文字列)
.Xr ntpdate 8
のパス
(デフォルトは
.Pa /usr/sbin/ntpdate
です)。
.It Ar ntpdate_flags
(文字列)
.Ar ntpdate_enable
.Ar YES
の場合、これらは
.Xr ntpdate 8
コマンドに渡すフラグとなります (典型的にはホスト名)。
.It Ar xntpd_enable
(ブール値)
.Ar YES
にセットすると、ブート時に
.Xr xntpd 8
コマンドが起動されます。
.It Ar xntpd_program
(文字列)
.Xr xntpd 8
のパス
(デフォルトは
.Pa /usr/sbin/xntpd
です)。
.It Ar xntpd_flags
(文字列)
.Ar xntpd_enable
.Ar YES
の場合、これらは
.Xr xntpd 8
デーモンに渡すフラグとなります。
.It Ar tickadj_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr tickadj 8
コマンドを実行します。
.It Ar tickadj_flags
(文字列)
.Ar tickadj_enable
.Ar YES
の場合、これらは
.Xr tickadj 8
コマンドに渡すフラグとなります。
.It Ar nis_client_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr ypbind 8
サービスを起動します。
.It Ar nis_client_flags
(文字列)
.Ar nis_client_enable
.Ar YES
の場合、これらは
.Xr ypbind 8
サービスに渡すフラグとなります。
.It Ar nis_ypset_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr ypset 8
デーモンを起動します。
.It Ar nis_ypset_flags
(文字列)
.Ar nis_ypset_enable
.Ar YES
の場合、これらは
.Xr ypset 8
デーモンに渡すフラグとなります。
.It Ar nis_server_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr ypserv 8
デーモンを起動します。
.It Ar nis_server_flags
(文字列)
.Ar nis_server_enable
.Ar YES
の場合、これらは
.Xr ypserv 8
デーモンに渡すフラグとなります。
.It Ar nis_ypxfrd_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr ypxfrd 8
デーモンを起動します。
.It Ar nis_ypxfrd_flags
(文字列)
.Ar nis_ypxfrd_enable
.Ar YES
の場合、これらは
.Xr ypxfrd 8
デーモンに渡すフラグとなります。
.It Ar nis_yppasswdd_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr yppasswdd 8
デーモンを起動します。
.It Ar nis_yppasswdd_flags
(文字列)
.Ar nis_yppasswdd_enable
.Ar YES
の場合、これらは
.Xr yppasswdd 8
デーモンに渡すフラグとなります。
.It Ar defaultrouter
(文字列)
.Ar NO
をセットしないと、このホスト名または IP アドレスへのデフォルトルートを
作成します (このルータがネームサーバへたどりつく必要がある
場合は IPアドレスを使用すること!)。
.It Ar static_routes
(文字列) システムブート時に追加したいスタティックルートのリストを
セットします。
.Ar NO
以外をセットした場合、その値を空白で区切った各要素について、
.Em element
毎に変数
.No route_ Ns em element
が存在すると仮定され、その後、``route add'' 操作に渡されます。
.It Ar gateway_enable
(ブール値)
.Ar YES
にセットすると、IP ルータとして動作する、
たとえばインタフェース間でパケットをフォワードするように
ホストを設定します。
.It Ar router_enable
(ブール値)
.Ar YES
にセットすると、
.Ar router
および
.Ar router_flags
の設定に基づいて、ある種のルーティングデーモンを実行します。
.It Ar router
(文字列)
.Ar router_enable
.Ar YES
にセットされると、これが使用するルーティングデーモン名になります。
.It Ar router_flags
(文字列)
.Ar router_enable
.Ar YES
にセットされると、これらがルーティングデーモンへ渡すフラグとなります。
.It Ar mrouted_enable
(ブール値)
.Ar YES
にセットすると、マルチキャストルーティングデーモン
.Xr mrouted 8
を起動します。
.It Ar mrouted_flags
(文字列)
.Ar mrouted_enable
.Ar YES
の場合、これらはマルチキャストルーティングデーモンへ渡すフラグとなります。
.It Ar ipxgateway_enable
(ブール値)
.Ar YES
にセットすると、IPX トラフィックのルーティングを有効にします。
.It Ar ipxrouted_enable
(ブール値)
.Ar YES
にセットすると、ブート時に
.Xr ipxrouted 8
デーモンを起動します。
.It Ar ipxrouted_flags
(文字列)
.Ar ipxrouted_enable
.Ar YES
の場合、これらは
.Xr ipxrouted 8
デーモンへ渡すフラグとなります。
.It Ar arpproxy_all
.Ar YES
にセットするとグローバルプロキシ ARP を有効にします。
.It Ar forward_sourceroute
これが
.Ar YES
にセットされ、更に
.Ar gateway_enable
もまた
.Ar YES
にセットされている場合、
送信元が経路指定したパケット (source routed packets) はフォワードされます。
.It Ar accept_sourceroute
.Ar YES
にセットすると、
システムは自分宛の送信元経路指定パケットを受け付けます。
.It Ar rarpd_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr rarpd 8
デーモンを起動します。
.It Ar rarpd_flags
(文字列)
.Ar rarpd_enable
.Ar YES
の場合、これらは
.Xr rarpd 8
デーモンへ渡すフラグとなります。
.It Ar keymap
(文字列)
.Ar NO
にセットするとキーマップはインストールされません。それ以外の場合、
ここで指定した
.Ar value
がキーマップファイル
.Pa /usr/share/syscons/keymaps/<value>.kbd
をインストールするのに用いられます。
.It Ar keyrate
(文字列) キーボードのリピートスピードです。以下のいずれかにセットします。
.Ar slow ,
.Ar normal ,
.Ar fast
デフォルト値を希望する場合は
.Ar NO
とします。
.It Ar keychange
(文字列)
.Ar NO
以外にセットすると、その値でファンクションキーをプログラムしようとします。
指定できる値は単一の文字列で,
.Qq Ar "<funkey_number> <new_value> [<funkey_number> <new_value>]..."
という形式でないといけません。
.It Ar cursor
(文字列) カーソルの動作を明示的に指定する場合は
.Ar normal ,
.Ar blink ,
.Ar destructive
のいずれかの値にセットします。デフォルト動作を選ぶには
.Ar NO
とします。
.It Ar scrnmap
(文字列)
.Ar NO
にセットすると、スクリーンマップはインストールされません。
それ以外の場合には、ここで指定した
.Ar value
がスクリーンマップファイル
.Pa /usr/share/syscons/scrnmaps/<value>
をインストールするのに用いられます。
.It Ar font8x16
(文字列)
.Ar NO
にセットするとスクリーンサイズの要求に対しデフォルトの 8x16 フォント値が
用いられます。それ以外の場合は
.Pa /usr/share/syscons/fonts/<value>
の値が用いられます。
.It Ar font8x14
(文字列)
.Ar NO
にセットするとスクリーンサイズの要求に対しデフォルトの 8x14 フォント値が
用いられます。それ以外の場合は
.Pa /usr/share/syscons/fonts/<value>
の値が用いられます。
.It Ar font8x8
(文字列)
.Ar NO
にセットすると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が
用いられます。それ以外の場合は
.Pa /usr/share/syscons/fonts/<value>
の値が用いられます。
.It Ar blanktime
(整数)
.Ar NO
にセットすると、デフォルトのスクリーンブランク時間間隔が用いられます。
それ以外の場合は
.Ar value
秒にセットされます。
.It Ar saver
(文字列)
.Ar NO
以外にセットすると、これが実際に使用する
スクリーンセーバ (ブランク, 蛇, デーモンなど) となります。
.It Ar moused_enable
(文字列)
.Ar YES
にセットすると、コンソール上でのカット/ペーストセレクション用に
.Xr moused 8
デーモンが起動されます。
.It Ar moused_type
(文字列) 利用したいマウスのプロトコルのタイプ。
.Ar moused_enable
.Ar YES
の場合、この変数は必ず設定しなければなりません。
多くの場合、
.Xr moused 8
デーモンは適切なマウスタイプを自動的に検出することができます。
デーモンにマウスを検出させるには、この変数を
.Ar auto
にセットします。
自動検出が失敗する場合、以下のリストから 1 つを選びます。
.Bd -literal
microsoft Microsoft マウス
intellimouse Microsoft IntelliMouse
mousesystems Mouse system 社製のマウス
mmseries MM シリーズのマウス
logitech Logitech 製のマウス
busmouse バスマウス
mouseman Logitech の MouseMan および TrackMan
glidepoint ALPS 製の GlidePoint
thinkingmouse Kensignton 製の ThinkingMouse
ps/2 PS/2 マウス
mmhittab MM の HitTablet
+x10mouseremote X10 MouseRemote
.Ed
お使いのマウスが上記のリストにない場合でも、
リスト中のいずれかと互換性があるかも知れません。
互換性に関する情報については
.Xr moused 8
のマニュアルページを参照してください。
.Pp
また、
この変数が有効であるときは、(Xサーバのような) 他の全てのマウスクライアントは
仮想マウスデバイス
.Pa /dev/sysmouse
を通してマウスにアクセスし、
それを sysmouse タイプのマウスとして構成すべきであると
いうことにも注意すべきです。これは、
.Xr moused 8
使用時は、全てのマウスデータがこの単一の標準フォーマットに変換されるためです。
クライアントプログラムが sysmouse タイプを
サポートしないなら次に望ましいタイプとして mousesystems を指定してください。
.It Ar moused_port
(文字列)
.Ar moused_enable
.Ar YES
の場合、これはマウスが接続されている実際のポートになります。
たとえば、COM1 シリアルマウスに対しては
.Pa /dev/cuaa0
、PS/2 マウスに対しては
.Pa /dev/psm0
、バスマウスに対しては
.Pa /dev/mse0
となります。
.It Ar moused_flags
(文字列)
.Ar moused_type
がセットされている場合、これらは
.Xr moused 8
デーモンに渡す追加のフラグとなります。
.It Ar cron_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr cron 8
デーモンを起動します。
.It Ar lpd_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr lpd 8
デーモンを起動します。
.It Ar lpd_flags
(文字列)
.Ar lpd_enable
.Ar YES
の場合、これらは
.Xr lpd 8
デーモンに渡すフラグとなります。
.It Ar sendmail_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr sendmail 8
デーモンを起動します。
.It Ar sendmail_flags
(文字列)
.Ar sendmail_enable
.Ar YES
の場合、これらは
.Xr sendmail 8
デーモンに渡すフラグとなります。
.It Ar savecore_enable
(ブール値)
.Ar YES
にセットすると、クラッシュ後システムが復旧するとき、デバッグ用にカーネル
のクラッシュダンプを保存します。クラッシュイメージは通常
.Pa /var/crash
ディレクトリに格納されます。
.It Ar dumpdev
(文字列)
.Ar NO
にセットしないと、カーネルクラッシュダンプ出力先を
.Em value
で指定したスワップデバイスに向けます。
.It Ar check_quotas
(ブール値)
.Xr quotacheck 8
コマンドによってユーザディスクのクォータチェックを有効にしたいなら、
.Ar YES
にセットします。
.It Ar accounting_enable
(ブール値)
.Xr accton 8
ファシリティでシステムアカウンティングを有効にしたいなら
.Ar YES
にセットします。
.It Ar ibcs2_enable
(ブール値)
システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にしたいなら
.Ar YES
にセットします。
.It Ar linux_enable
(ブール値)
システムブート時に Linux/ELF バイナリエミュレーションを有効にしたいなら
.Ar YES
にセットします。
.It Ar rand_irqs
(文字列) 乱数生成用に監視する IRQ のリストをセットします (
.Xr rndcontrol 8
のマニュアル参照)。
.It Ar clear_tmp_enable
(ブール値)
起動時に
.Pa /tmp
下を消去したいなら
.Ar YES
をセットします。
.It Ar ldconfig_paths
(文字列)
.Xr ldconfig 8
で使用する共有ライブラリのパスのリストをセットします。注意:
.Pa /usr/lib
は常に先頭に追加されるので、このリストに指定する必要はありません。
+.It Ar kern_securelevel_enable
+(ブール値)
+カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、
+.Ar YES
+にセットします。
+.It Ar kern_securelevel
+(整数)
+スタートアップ時にセットされるカーネルセキュリティレベルです。
+.Ar 値
+として許される範囲は -1 (コンパイル時のデフォルト) から 2 (最も安全) です。
+利用可能なセキュリティレベルとシステム操作への影響については、
+.Xr init 8
+を参照してください。
.Sh 関連項目
.Xr gdb 1 ,
.Xr info 1 ,
.Xr exports 5 ,
.Xr accton 8 ,
.Xr amd 8 ,
.Xr apm 8 ,
.Xr cron 8 ,
.Xr gated 8 ,
.Xr ifconfig 8 ,
.Xr inetd 8 ,
.Xr lpd 8 ,
.Xr moused 8 ,
.Xr mrouted 8 ,
.Xr named 8 ,
.Xr nfsd 8 ,
.Xr nfsiod 8 ,
.Xr ntpdate 8 ,
.Xr pcnfsd 8 ,
.Xr portmap 8 ,
.Xr quotacheck 8 ,
.Xr rc 8 ,
.Xr rndcontrol 8 ,
.Xr route 8 ,
.Xr routed 8 ,
.Xr rpc.lockd 8 ,
.Xr rpc.statd 8 ,
.Xr rwhod 8 ,
.Xr sendmail 8 ,
+.Xr sysctl 8 ,
.Xr syslogd 8 ,
.Xr swapon 8 ,
.Xr tickadj 8 ,
.Xr timed 8 ,
.Xr vnconfig 8 ,
.Xr xntpd 8 ,
.Xr xtend 8 ,
.Xr ypbind 8 ,
.Xr ypserv 8 ,
.Xr ypset 8
.Sh 歴史
.Nm
ファイルは
.Fx 2.2.2 で登場しました。
.Sh 作者
-Jordan K. Hubbard.
+.An Jordan K. Hubbard .
diff --git a/ja/man/man5/rcsfile.5 b/ja/man/man5/rcsfile.5
index 2f19c9f8e1..5a2a7d97c3 100644
--- a/ja/man/man5/rcsfile.5
+++ b/ja/man/man5/rcsfile.5
@@ -1,426 +1,426 @@
.\" jpman %Id: rcsfile.5,v 1.3 1998/06/17 07:53:51 kumano Stab %
.\" FreeBSD jpman project 訳語表
.\" WORD: phrase 句
.\" WORD: meta syntax メタ文法
.\" WORD: altanatives 選言
.\" WORD: trunk 幹
.\" WORD: branch 枝
.\" WORD: branch point 分岐点
.\" WORD: numebr (RCSのリビジョン番号1.1, 1.2.2.1等を意味する時は) 番号
.lf 1 ./rcsfile.5in
.\" Set p to 1 if your formatter can handle pic output.
.if t .nr p 1
.de Id
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsfile.5,v 1.2 1995/10/28 21:50:16 peter Exp %
+.Id %Id: rcsfile.5,v 1.4 1997/02/22 15:47:55 peter Exp %
.ds r \s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.TH RCSFILE 5 \*(Dt GNU
.SH 名称
rcsfile \- RCS ファイルの書式
.SH 解説
\*r ファイルの内容は以下の文法に基づき記述されます。
.PP
テキストはフリーフォーマットであり、
文字列中のスペース、バックスペース、
タブ、改行、垂直タブ、改頁、復帰 (まとめて
.IR "空白"
と呼びます) は意味を持ちません。
例外として、id, num, sym 内では空白があってはならず、
\*r ファイルは改行で終わらなければなりません。
.PP
文字列は
.BR @
で括られます。文字列が
.BR @
自身を含む場合、2 重化されなければならず、それ以外は任意の
バイナリデータを含むことができます。
.PP
以下、簡便のためにメタ文法を用います。
`|' (縦棒) は選言を分けます。
`{' と `}' は省略可能な句を括ります。
`{' と `}*' は 0 回以上繰り返される句を括ります。
`{' と `}+' は 1 回以上繰り返される句を括ります。
終端記号は
.BR 太字
で、非終端記号は
.IR 斜体
で表記します。
.LP
.nr w \w'\f3deltatext\fP '
.nr y \w'\f3newphrase\fP '
.if \nw<\ny .nr w \ny
.nr x \w'\f3branches\fP'
.nr y \w'{ \f3comment\fP'
.if \nx<\ny .nr x \ny
.nr y \w'\f3{ branch\fP'
.if \nx<\ny .nr x \ny
.ta \nwu +\w'::= 'u +\nxu+\w' 'u
.fc #
.nf
\f2rcstext\fP ::= \f2admin\fP {\f2delta\fP}* \f2desc\fP {\f2deltatext\fP}*
.LP
\f2admin\fP ::= \f3head\fP {\f2num\fP}\f3;\fP
{ \f3branch\fP {\f2num\fP}\f3;\fP }
\f3access\fP {\f2id\fP}*\f3;\fP
\f3symbols\fP {\f2sym\fP \f3:\fP \f2num\fP}*\f3;\fP
\f3locks\fP {\f2id\fP \f3:\fP \f2num\fP}*\f3;\fP {\f3strict ;\fP}
{ \f3comment\fP {\f2string\fP}\f3;\fP }
{ \f3expand\fP {\f2string\fP}\f3;\fP }
{ \f2newphrase\fP }*
.LP
\f2delta\fP ::= \f2num\fP
\f3date\fP \f2num\fP\f3;\fP
\f3author\fP \f2id\fP\f3;\fP
\f3state\fP {\f2id\fP}\f3;\fP
\f3branches\fP {\f2num\fP}*\f3;\fP
\f3next\fP {\f2num\fP}\f3;\fP
{ \f2newphrase\fP }*
.LP
\f2desc\fP ::= \f3desc\fP \f2string\fP
.LP
\f2deltatext\fP ::= \f2num\fP
\f3log\fP \f2string\fP
{ \f2newphrase\fP }*
\f3text\fP \f2string\fP
.LP
\f2num\fP ::= {\f2digit\fP | \f3.\fP}+
.LP
\f2digit\fP ::= \f30\fP | \f31\fP | \f32\fP | \f33\fP | \f34\fP | \f35\fP | \f36\fP | \f37\fP | \f38\fP | \f39\fP
.LP
\f2id\fP ::= {\f2num\fP} \f2idchar\fP {\f2idchar\fP | \f2num\fP}*
.LP
\f2sym\fP ::= {\f2digit\fP}* \f2idchar\fP {\f2idchar\fP | \f2digit\fP}*
.LP
\f2idchar\fP ::= \f2special\fP を除く任意の可視文字 (visible graphic character)
.LP
\f2special\fP ::= \f3$\fP | \f3,\fP | \f3.\fP | \f3:\fP | \f3;\fP | \f3@\fP
.LP
\f2string\fP ::= \f3@\fP{任意の文字、ただし \f3@\fP は 2 重化される}*\f3@\fP
.LP
\f2newphrase\fP ::= \f2id\fP \f2word\fP* \f3;\fP
.LP
\f2word\fP ::= \f2id\fP | \f2num\fP | \f2string\fP | \f3:\fP
.fi
.PP
識別子は大文字小文字を区別します。
キーワードは小文字のみです。
キーワードと識別子の集合は重複可能です。
ほとんどの環境では、\*r は \s-1ISO\s0 8859/1 エンコーディングを用います。
このコードでは、可視文字のコードが 041\-176 と 240\-377 で、
空白文字のコードが 010\-015 と 040 です。
.PP
.B date
キーワードの後に現れる日時は
\f2Y\fP\f3.\fP\f2mm\fP\f3.\fP\f2dd\fP\f3.\fP\f2hh\fP\f3.\fP\f2mm\fP\f3.\fP\f2ss\fP
という書式で、それぞれ
.I Y
が年を、
.I mm
が月 (01\-12) を、
.I dd
が日 (01\-31) を、
.I hh
が時 (00\-23) を、
.I mm
が分 (00\-59) を、
.I ss
が秒 (00\-60) を表します。
.I Y
は 1900 年から 1999 年までは年の最後の 2 桁で表し、それ以降は
年のすべての桁で表します。
日付はグレゴリオ暦を用い、時刻は UTC (世界標準時) で表します。
.PP
文法中の
.I newphrase
は \*r ファイル書式の今後の拡張のために予約されています。
すでに使われているキーワードでは
.I newphrase
は始まりません。
.PP
複数の
.I delta
ノードが集まって、木を形成します。
単一の組からなる番号のノード (例えば 2.3, 2.1, 1.3 など) は
すべて幹 (trunk) であり、降順で
.B next
フィールドを通してリンクされています。
.I admin
ノードの
.B head
フィールドは、このシーケンスの先頭 (head; すなわち最高位の組) を示します。
admin ノードの
.B branch
ノードは、
ほとんどの \*r 操作が利用するデフォルトの枝 (もしくはリビジョン) を示します。
もしこれが存在しなければ、幹の最高位の枝が用いられます。
.PP
.RI 2 n
.RI ( n \(>=2)
のフィールドからなる番号を持つ全
.I delta
ノード (例えば 3.1.1.1, 2.1.2.2 など) は、次のようにリンクされます。
すなわち、先頭の
.RI 2 n \-1
個のフィールドの番号が等しい全ノードは、昇順で
.B next
フィールドを通してリンクされます。
シーケンス中の delta ノードの番号の先頭
.RI 2 n \-2
個分と等しい番号を持つ
.I delta
ノードは、そのシーケンスの分岐点と呼ばれます。
ノードの
.B branches
フィールドは、
そのノードが分岐点となっている全シーケンスに対し、
最初のノード番号のリストを保持しています。
このリストは昇順で並べられています。
.LP
以下の図は \*r ファイルの構成の例を示しています。
.if !\np \{\
.nf
.vs 12
.ne 36
.cs 1 20
.eo
Head
|
|
v / \
--------- / \
/ \ / \ | | / \ / \
/ \ / \ | 2.1 | / \ / \
/ \ / \ | | / \ / \
/1.2.1.3\ /1.3.1.1\ | | /1.2.2.2\ /1.2.2.1.1.1\
--------- --------- --------- --------- -------------
^ ^ | ^ ^
| | | | |
| | v | |
/ \ | --------- / \ |
/ \ | \ 1.3 / / \ |
/ \ ---------\ / / \-----------
/1.2.1.1\ \ / /1.2.2.1\
--------- \ / ---------
^ | ^
| | |
| v |
| --------- |
| \ 1.2 / |
----------------------\ /---------
\ /
\ /
|
|
v
---------
\ 1.1 /
\ /
\ /
\ /
.ec
.cs 1
.vs
.fi
.\}
.if \np \{\
.lf 232
.PS 4.250i 3.812i
.\" -2.0625 -4.25 1.75 0
.\" 0.000i 4.250i 3.812i 0.000i
.nr 00 \n(.u
.nf
.nr 0x 1
\h'3.812i'
.sp -1
.lf 242
\h'2.062i-(\w'Head'u/2u)'\v'0.125i-(0v/2u)+0v+0.22m'Head
.sp -1
\h'2.062i'\v'0.250i'\D'l0.000i 0.500i'
.sp -1
\h'2.087i'\v'0.650i'\D'l-0.025i 0.100i'
.sp -1
\h'2.062i'\v'0.750i'\D'l-0.025i -0.100i'
.sp -1
\h'1.688i'\v'1.250i'\D'l0.750i 0.000i'
.sp -1
\h'2.438i'\v'1.250i'\D'l0.000i -0.500i'
.sp -1
\h'2.438i'\v'0.750i'\D'l-0.750i 0.000i'
.sp -1
\h'1.688i'\v'0.750i'\D'l0.000i 0.500i'
.sp -1
.lf 244
\h'2.062i-(\w'2.1'u/2u)'\v'1.000i-(0v/2u)+0v+0.22m'2.1
.sp -1
\h'2.062i'\v'1.250i'\D'l0.000i 0.500i'
.sp -1
\h'2.087i'\v'1.650i'\D'l-0.025i 0.100i'
.sp -1
\h'2.062i'\v'1.750i'\D'l-0.025i -0.100i'
.sp -1
.lf 246
\h'2.062i-(\w'1.3'u/2u)'\v'2.000i-(1v/2u)+0v+0.22m'1.3
.sp -1
\h'2.062i'\v'2.250i'\D'l-0.375i -0.500i'
.sp -1
\h'1.688i'\v'1.750i'\D'l0.750i 0.000i'
.sp -1
\h'2.438i'\v'1.750i'\D'l-0.375i 0.500i'
.sp -1
\h'1.875i'\v'2.000i'\D'~-0.500i 0.000i 0.000i -0.500i'
.sp -1
\h'1.350i'\v'1.600i'\D'l0.025i -0.100i'
.sp -1
\h'1.375i'\v'1.500i'\D'l0.025i 0.100i'
.sp -1
.lf 249
\h'1.375i-(\w'1.3.1.1'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.3.1.1
.sp -1
\h'1.375i'\v'1.000i'\D'l-0.375i 0.500i'
.sp -1
\h'1.000i'\v'1.500i'\D'l0.750i 0.000i'
.sp -1
\h'1.750i'\v'1.500i'\D'l-0.375i -0.500i'
.sp -1
\h'2.062i'\v'2.250i'\D'l0.000i 0.500i'
.sp -1
\h'2.087i'\v'2.650i'\D'l-0.025i 0.100i'
.sp -1
\h'2.062i'\v'2.750i'\D'l-0.025i -0.100i'
.sp -1
.lf 252
\h'2.062i-(\w'1.2'u/2u)'\v'3.000i-(1v/2u)+0v+0.22m'1.2
.sp -1
\h'2.062i'\v'3.250i'\D'l-0.375i -0.500i'
.sp -1
\h'1.688i'\v'2.750i'\D'l0.750i 0.000i'
.sp -1
\h'2.438i'\v'2.750i'\D'l-0.375i 0.500i'
.sp -1
\h'1.875i'\v'3.000i'\D'~-0.500i 0.000i -0.500i 0.000i -0.500i 0.000i 0.000i -0.500i'
.sp -1
\h'0.350i'\v'2.600i'\D'l0.025i -0.100i'
.sp -1
\h'0.375i'\v'2.500i'\D'l0.025i 0.100i'
.sp -1
.lf 255
\h'0.375i-(\w'1.2.1.1'u/2u)'\v'2.250i-(1v/2u)+1v+0.22m'1.2.1.1
.sp -1
\h'0.375i'\v'2.000i'\D'l-0.375i 0.500i'
.sp -1
\h'0.000i'\v'2.500i'\D'l0.750i 0.000i'
.sp -1
\h'0.750i'\v'2.500i'\D'l-0.375i -0.500i'
.sp -1
\h'0.375i'\v'2.000i'\D'l0.000i -0.500i'
.sp -1
\h'0.350i'\v'1.600i'\D'l0.025i -0.100i'
.sp -1
\h'0.375i'\v'1.500i'\D'l0.025i 0.100i'
.sp -1
.lf 257
\h'0.375i-(\w'1.2.1.3'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.2.1.3
.sp -1
\h'0.375i'\v'1.000i'\D'l-0.375i 0.500i'
.sp -1
\h'0.000i'\v'1.500i'\D'l0.750i 0.000i'
.sp -1
\h'0.750i'\v'1.500i'\D'l-0.375i -0.500i'
.sp -1
\h'2.250i'\v'3.000i'\D'~0.500i 0.000i 0.000i -0.500i'
.sp -1
\h'2.725i'\v'2.600i'\D'l0.025i -0.100i'
.sp -1
\h'2.750i'\v'2.500i'\D'l0.025i 0.100i'
.sp -1
.lf 261
\h'2.750i-(\w'1.2.2.1'u/2u)'\v'2.250i-(1v/2u)+1v+0.22m'1.2.2.1
.sp -1
\h'2.750i'\v'2.000i'\D'l-0.375i 0.500i'
.sp -1
\h'2.375i'\v'2.500i'\D'l0.750i 0.000i'
.sp -1
\h'3.125i'\v'2.500i'\D'l-0.375i -0.500i'
.sp -1
\h'2.938i'\v'2.250i'\D'~0.500i 0.000i 0.000i -0.500i 0.000i -0.500i'
.sp -1
\h'3.413i'\v'1.350i'\D'l0.025i -0.100i'
.sp -1
\h'3.438i'\v'1.250i'\D'l0.025i 0.100i'
.sp -1
.lf 264
\h'3.438i-(\w'\s-21.2.2.1.1.1\s0'u/2u)'\v'1.000i-(1v/2u)+1v+0.22m'\s-21.2.2.1.1.1\s0
.sp -1
\h'3.438i'\v'0.750i'\D'l-0.375i 0.500i'
.sp -1
\h'3.062i'\v'1.250i'\D'l0.750i 0.000i'
.sp -1
\h'3.812i'\v'1.250i'\D'l-0.375i -0.500i'
.sp -1
\h'2.750i'\v'2.000i'\D'l0.000i -0.500i'
.sp -1
\h'2.725i'\v'1.600i'\D'l0.025i -0.100i'
.sp -1
\h'2.750i'\v'1.500i'\D'l0.025i 0.100i'
.sp -1
.lf 267
\h'2.750i-(\w'1.2.2.2'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.2.2.2
.sp -1
\h'2.750i'\v'1.000i'\D'l-0.375i 0.500i'
.sp -1
\h'2.375i'\v'1.500i'\D'l0.750i 0.000i'
.sp -1
\h'3.125i'\v'1.500i'\D'l-0.375i -0.500i'
.sp -1
\h'2.062i'\v'3.250i'\D'l0.000i 0.500i'
.sp -1
\h'2.087i'\v'3.650i'\D'l-0.025i 0.100i'
.sp -1
\h'2.062i'\v'3.750i'\D'l-0.025i -0.100i'
.sp -1
.lf 270
\h'2.062i-(\w'1.1'u/2u)'\v'4.000i-(1v/2u)+0v+0.22m'1.1
.sp -1
\h'2.062i'\v'4.250i'\D'l-0.375i -0.500i'
.sp -1
\h'1.688i'\v'3.750i'\D'l0.750i 0.000i'
.sp -1
\h'2.438i'\v'3.750i'\D'l-0.375i 0.500i'
.sp -1
.sp 4.250i+1
.if \n(00 .fi
.br
.nr 0x 0
.lf 271
.PE
.lf 272
.\}
.PP
.SH 作者
.de VL
\\$2
..
Author: Walter F. Tichy,
Purdue University, West Lafayette, IN, 47907.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
rcsintro(1), ci(1), co(1), ident(1), rcs(1), rcsclean(1), rcsdiff(1),
rcsmerge(1), rlog(1)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
diff --git a/ja/man/man5/remote.5 b/ja/man/man5/remote.5
index e01f533a7c..87f394e83e 100644
--- a/ja/man/man5/remote.5
+++ b/ja/man/man5/remote.5
@@ -1,193 +1,193 @@
.\" 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.
.\"
.\" @(#)remote.5 8.1 (Berkeley) 6/5/93
-.\" %Id: remote.5,v 1.2.2.2 1998/06/28 21:34:27 hoek Exp %
+.\" %Id: remote.5,v 1.4 1998/06/28 21:33:42 hoek Exp %
.\" jpman %Id: remote.5,v 1.3 1998/07/02 14:12:58 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt REMOTE 5
.Os BSD 4.2
.Sh 名称
.Nm remote
.Nd リモートホスト記述ファイル
.Sh 解説
.Xr tip 1
によって知られるシステムとその属性は、
.Xr termcap 5
ファイルのような構造の
.Tn ASCII
ファイルに記録されます。
ファイルの各行は、1 つの
.Em システム
についての記述を提供します。
フィールドはコロン (``:'') で分けられています。
\e 文字の直後に改行がある行末は、次の行へ継続されます。
.Pp
最初のエントリはホストシステムの (複数の) 名称です。
システムの名称が 1 つ以上ある場合、名称は縦棒で区切られます。
システムの名称の後に記述フィールドが続きます。
`=' 記号が続くフィールド名は、文字列型を示します。
`#' 記号が続くフィールド名は、数値を示します。
.Pp
``tip*'' と ``cu*'' という名前が付いたエントリは、
.Xr tip 1
や、以下で述べるように
.Nm tip
に対するインタフェース
.Xr cu 1
でデフォルトのエントリとして使われます。
.Nm tip
が電話番号だけをつけて呼び出された時、 ``tip300'' の形式のエントリを探
します。 ここで、 300 は接続が張られたボーレートです。
.Nm cu
インタフェースが使われた時は、 ``cu300'' という形式のエントリが使わ
れます。
.Sh ケーパビリティ
ケーパビリティは、文字列 (str) ・数値 (num) ・ブーリアンフラグ (bool)
のいずれかです。文字列ケーパビリティは
.Em capability Ns Ar = Ns Em value
のように指定されます。例えば、 ``dv=/dev/harris'' のように指定します。
数値ケーパビリティは
.Em capability Ns Ar # Ns Em value
のように指定されます。例えば、 ``xa#99'' のように指定します。
ブーリアンケーパビリティは単にケーパビリティを記述するだけで
指定されます。
.Bl -tag -width indent
.It Cm \&at
(str)
自動呼び出しユニットの形式です。
.It Cm \&br
(num)
リモートホストと接続を確立するために使われるボーレート。
これは、10 進の数値です。デフォルトのボーレートは 300 ボーです。
.It Cm \&cm
(str)
リモートホストに送られる初期接続メッセージです。
例えば、ホストにポート選択器を通して到達する場合、
ここにはホストに切替えるために必要とされる適切なシーケンスが設定されて
いるべきです。
.It Cm \&cu
(str)
電話の呼び出しが行われる場合の呼び出しユニットです。
デフォルトは、 `dv' フィールドと同じです。
.It Cm \&di
(str)
ユーザによって切断が要求されている時にホストに送られる
切断メッセージです。
.It Cm \&du
(bool)
このホストはダイアルアップ線上にあることを示します。
.It Cm \&dv
(str)
接続を確立するためにオープンする (複数の)
.Tn UNIX
デバイスです。このファイルが端末線を参照している場合、
.Xr tip 1
は、1 度に 1 ユーザだけがポートにアクセスすることを保証するために、
デバイスを排他的にオープンします。
.It Cm \&el
(str)
行末 (end-of-line) を示す文字です。
デフォルトでは
.Dv NULL
文字です。`el' 中の 1 文字もしくは復帰文字 (carriage return) の後の
`~' エスケープは
.Nm tip
だけで認識されます。
.It Cm \&fs
(str)
転送のためのフレームサイズです。
デフォルトフレームサイズは
.Dv BUFSIZ
と同じです。
.It Cm \&hd
(bool)
ホストが半 2 重通信を使い、ローカルエコーが行われることを示します。
.It Cm \&ie
(str)
入力のファイル終了 (end-of-file) マークです。
デフォルトは
.Dv NULL
です。
.It Cm \&oe
(str)
出力のファイル終了 (end-of-file) 文字列です。
デフォルトは
.Dv NULL
です。
.Nm tip
がファイルを転送している時、この文字列はファイル終了時に送られます。
.It Cm \&pa
(str)
データをホストに送っている時に使われるパリティの形式です。
これは ``even'', ``odd'', ``none'', ``zero'' (いつでも 8 ビット目を 0
に設定する), ``one'' (いつでも 8 ビット目を 1 に設定する)のいずれかです。
デフォルトではイーブンパリティです。
.It Cm \&pn
(str)
ホストに対する (複数の) 電話番号です。
電話番号フィールドが @ 符号を含んでいる場合、
.Nm tip
は電話番号の一覧を
.Pa /etc/phones
ファイルから検索します (
.Xr phones 5
参照)。
.It Cm \&tc
(str)
ケーパビリティのリストが、名前で与えられた記述に継続されることを示し
ます。これは主に共通のケーパビリティ情報を共有するために使われます。
.El
.Pp
ここで、ケーパビリティの継続機能の利用をしめす短い例をお見せしましょう:
.Bd -literal
UNIX-1200:\e
:dv=/dev/cau0:el=^D^U^C^S^Q^O@:du:at=ventel:ie=#$%:oe=^D:br#1200:
arpavax|ax:\e
:pn=7654321%:tc=UNIX-1200
.Ed
.Sh 関連ファイル
.Bl -tag -width /etc/remote -compact
.It Pa /etc/remote
.Pa /etc
に置かれた
.Nm リモート
ホスト記述ファイル。
.El
.Sh 関連項目
.Xr tip 1 ,
.Xr phones 5
.Sh 歴史
.Nm
ファイル書式は
.Bx 4.2
から登場しました。
diff --git a/ja/man/man5/resolver.5 b/ja/man/man5/resolver.5
index 7449f62af3..9dffe39f7d 100644
--- a/ja/man/man5/resolver.5
+++ b/ja/man/man5/resolver.5
@@ -1,137 +1,188 @@
.\" Copyright (c) 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.
.\"
.\" @(#)resolver.5 8.1 (Berkeley) 6/5/93
+.\" %Id: resolver.5,v 1.5 1997/09/01 01:19:23 brian Exp %
.\" jpman %Id: resolver.5,v 1.3 1998/07/22 02:40:21 issei Stab %
-.\" %Id: resolver.5,v 1.2.2.1 1997/03/07 04:18:10 mpp Exp %
.\"
-.Dd June 5, 1993
+.Dd November 11, 1993
.Dt RESOLVER 5
.Os BSD 4
.Sh 名称
.Nm resolver
.Nd リゾルバ設定ファイル
.Sh 書式
.Nm resolv.conf
.Sh 解説
.Xr resolver 3
はインターネットドメインネームシステムへのアクセスを提供する
C ライブラリのルーチン群です。
リゾルバ設定ファイルは、はじめてリゾルバルーチンがプロセスによって呼び出
されたときに読み込まれる情報を含んでいます。
ファイルは人に可読なように設計されており、様々な種類のリゾルバ情報を
提供する、値を伴うキーワードのリストを含んでいます。
.Pp
普通に構成されたシステムでは、このファイルは必要ではありません。
問い合わせされる唯一のネームサーバはローカルマシン上にあり、ホスト名
からドメイン名が決定され、ドメインの検索パスがそのドメイン名から作成
されます。
.Pp
様々な設定オプションは以下の通りです。
.Bl -tag -width nameserver
.It Sy nameserver
リゾルバが問い合わせをするネームサーバのインターネットアドレス
(ドット表記)です。
キーワード毎に 1 つづつ、計
.Dv MAXNS
(現状では 3)台までのネームサーバが記述できます。
複数のサーバが記述されている場合、リゾルバライブラリは記述された順に
問い合わせを出します。
.Sy nameserver
エントリが記述されていない場合、デフォルトではローカルマシン上のネーム
サーバを使用します
(ここで使われるアルゴリズムは以下のようになります。まず、あるネーム
サーバに問い合わせを試みます。この問い合わせがタイムアウトになれば、
次のネームサーバに問い合わせを試み、これをネームサーバがなくなるまで
続けます。応答がない場合、この一連の問い合わせの試みをリトライ最大回
数に達するまで繰り返します)。
.It Sy domain
ローカルドメイン名。
そのドメイン内での名前の問い合わせのほとんどが、ローカルドメインにおける
短い名前を使用することができます。
.Sy domain
エントリが記述されていない場合、
.Xr gethostname 3
で得たローカルホスト名からドメインを決定します。
ドメイン部は最初の `.' 以降の全てとなります。
ホスト名がドメイン部を含んでいない場合、最終的にはルートドメインが使用されます。
.It Sy search
ホスト名調査のための検索リスト。
通常、検索リストはローカルドメイン名から決定されます。
-デフォルトでは、ローカルドメイン名から始まり、次に少なくとも 2 つの構成要素を
-持つ親ドメインを検索します。
+デフォルトでは、ローカルドメイン名のみを含みます。
検索リストは、
.Sy search
キーワードの後にスペースまたはタブで区切られたドメイン検索パス名を羅列することで
変更できます。
ほとんどのリゾルバの問い合わせは、検索パスの各構成要素を一致するエントリが
見つかるまでまで順に試します。
記述されたドメインのサーバがローカルではない場合、この処理は低速で多くの
ネットワークトラフィックを発生させる可能性があることと、それらのいずれかの
ドメインに関して、使用可能なサーバが 1 つも存在しない場合には問い合わせが
タイムアウトすることに注意する必要があります。
.Pp
現在のところ、検索リストは 6 ドメイン、計 256 文字に制限されます。
+.It Sy sortlist
+sortlist を用いて gethostbyname により返されるアドレスをソートできます。
+sortlist は IP アドレスとネットマスクの組で指定されます。
+ネットマスクはオプションであり、
+デフォルトのネットマスクはネットに対する自然なネットマスク (natural netmask)
+です。
+IP アドレスとオプションのネットマスクの組はスラッシュで区切ります。
+10 組まで指定可能です。
+.Pp
+例 sortlist 130.155.160.0/255.255.240.0 130.155.0.0
+.It Sy options
+options によりリゾルバの内部変数を修正できます。
+文法は
+.Pp
+\fBoptions\fP \fIoption\fP \fI...\fP
+.Pp
+であり、
+.Sy option
+は以下のいずれかです:
+.Pp
+.Bl -tag -width no_tld_query
+.It Sy debug
+_res.options の
+.Dv RES_DEBUG
+を設定します。
+.It Sy ndots:n
+.Em 最初の絶対問い合わせ
+が行われる前に、
+.Fn res_query
+(
+.Xr resolver 3
+参照) に与えられる名前に含まれるべきドット数の閾値を設定します。
+.Em n
+のデフォルトは
+.Dq 1
+です。これは、名前中にドットがあれば、
+.Em search list
+要素が追加される前に、
+その名前がまず絶対名として試されることを意味します。
+.It Sy no_tld_query
+リゾルバにトップレベルのドメイン名、すなわちドットを持たない名前を
+解決しないようにさせます。
+このオプションを使用しても、リゾルバが与えられた名前を使用して標準の
+.Sy domain
+と
+.Sy search
+のルールに従うことを防ぐことはできません。
+.El
+.Pp
+options は
+.Dv RES_OPTIONS
+環境変数を使用して、空白またはタブ区切りのリストとして指定できます。
.El
.Pp
.Sy domain
.Sy search
キーワードは排他的です。
これらのキーワードが 1 つ以上記述されている場合、
最後のキーワードが有効になります。
.Pp
キーワードと値は同一行に存在する必要があり、キーワード
(例えば
.Sy nameserver )
は行の先頭にある必要があります。
値はキーワードに続いて空白で区切って記述します。
.Sh 関連ファイル
.Bl -tag -width /etc/resolv.conf -compact
.It Pa /etc/resolv.conf
.Nm resolv.conf
.Pa /etc
に存在します。
.El
.Sh 関連項目
.Xr gethostbyname 3 ,
.Xr resolver 3 ,
.Xr hostname 7 ,
.Xr named 8
.Rs
.%T "Name Server Operations Guide for BIND"
.Re
.Sh 歴史
.Nm resolv.conf
ファイルフォーマットは
.Bx 4.3
から登場しました。
diff --git a/ja/man/man5/rpc.5 b/ja/man/man5/rpc.5
index 07904b0358..9e7dab01b0 100644
--- a/ja/man/man5/rpc.5
+++ b/ja/man/man5/rpc.5
@@ -1,33 +1,33 @@
.\" @(#)rpc.5 2.2 88/08/03 4.0 RPCSRC; from 1.4 87/11/27 SMI;
.\" jpman %Id: rpc.5,v 1.3 1998/06/25 08:44:57 jsakai Stab %
-.Dd "September 26, 1985"
+.Dd September 26, 1985
.Dt RPC 5
.Sh 名称
.Nm rpc
.Nd rpc プログラム番号データベース
.Sh 書式
/etc/rpc
.Sh 解説
.Pa /etc/rpc
ファイルには、rpc プログラム番号の代わりに使用可能な、
ユーザが可読な名前が記述されています。
各行は以下の情報から成ります。
.Pp
.Bl -bullet -compact
.It
rpc プログラムのサーバ名
.It
rpc プログラム番号
.It
別名
.El
.Pp
各項目は任意個の空白文字もしくはタブ文字で分けられます。
``#'' はコメントの開始を示します。
行末までの文字はファイルを検索するルーチンには解釈されません。
.Sh 関連ファイル
.Bl -tag -compact -width /etc/rpc
.Pa /etc/rpc
.El
.Sh "関連項目"
.Xr getrpcent 3
diff --git a/ja/man/man5/services.5 b/ja/man/man5/services.5
index 17b2ca32b7..092dec96f4 100644
--- a/ja/man/man5/services.5
+++ b/ja/man/man5/services.5
@@ -1,88 +1,88 @@
.\" 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.
.\"
.\" @(#)services.5 8.1 (Berkeley) 6/5/93
+.\" %Id: services.5,v 1.4 1997/03/07 03:28:06 jmg Exp %
.\" jpman %Id: services.5,v 1.3 1998/06/17 07:53:27 kumano Stab %
-.\" %Id: services.5,v 1.3.2.1 1997/03/07 04:18:11 mpp Exp %
.\"
.Dd June 5, 1993
.Dt SERVICES 5
.Os BSD 4.2
.Sh 名称
.Nm services
.Nd サービス名のデータベース
.Sh 解説
.Nm services
ファイルには
.Tn DARPA
インターネットで利用可能な既知のサービスの情報が格納されます。
各サービス毎に、以下の情報を表す 1 行が存在します。
.Bd -unfilled -offset indent
公式なサービス名
ポート番号
プロトコル名
別名
.Ed
.Pp
項目は任意個の空白文字やタブ文字で分けられます。
ポート番号およびプロトコル名は単一の
.Em 項目
とみなされ、
``/'' を 1 つ使用してポートとプロトコルを分けます (例 ``512/tcp'')。
``#'' はコメント開始を表し、
行末までの文字はファイルを検索するルーチンに解釈されません。
.Pp
サービス名は、フィールド区切り文字・改行文字・コメント文字以外の、
任意の表示可能文字からなります。
.Sh NIS との相互作用
NIS の
.Pa services.byname
マップへのアクセスを有効にするには、単一の ``+'' のみからなる行を
.Pa /etc/services
ファイルに追加します。
こうすると、NIS のサービスマップの内容が ``+'' のある位置に挿入されます。
.Sh 関連ファイル
.Bl -tag -width /etc/services -compact
.It Pa /etc/services
.Nm services
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr getservent 3
.Sh バグ
静的ファイルの代わりに、ネームサーバを使用すべきです。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
に登場しました。
diff --git a/ja/man/man5/shells.5 b/ja/man/man5/shells.5
index 5bbcbc97be..43b0939a06 100644
--- a/ja/man/man5/shells.5
+++ b/ja/man/man5/shells.5
@@ -1,64 +1,64 @@
.\" Copyright (c) 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.
.\"
.\" @(#)shells.5 8.1 (Berkeley) 6/5/93
+.\" %Id: shells.5,v 1.2 1997/03/07 03:28:08 jmg Exp %
.\" jpman %Id: shells.5,v 1.3 1998/06/25 08:44:02 jsakai Stab %
-.\" %Id: shells.5,v 1.1.1.1.8.1 1997/03/07 04:18:11 mpp Exp %
.\"
.Dd June 5, 1993
.Dt SHELLS 5
.Os BSD 4.2
.Sh 名称
.Nm shells
.Nd シェルデータベース
.Sh 解説
.Nm shells
ファイルはシステム上のシェルのリストを格納します。
各シェルごとに 1 行ずつ、ルートからの相対でシェルのパスを記述します。
.Pp
ハッシュマーク (``#'') はコメントの開始を意味します。
それ以降行末までの文字列はファイルを検索するルーチンには解釈されません。
空行もまた無視されます。
.Sh 関連ファイル
.Bl -tag -width /etc/shells -compact
.It Pa /etc/shells
.Nm shells
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr getusershell 3
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.3 tahoe
から登場しました。
diff --git a/ja/man/man5/stab.5 b/ja/man/man5/stab.5
index 76b273ea70..55a8ec9c19 100644
--- a/ja/man/man5/stab.5
+++ b/ja/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
-.\" %Id: stab.5,v 1.2.2.1 1997/03/07 04:18:12 mpp Exp %
+.\" %Id: stab.5,v 1.3 1997/03/07 03:28:08 jmg Exp %
.\" jpman %Id: stab.5,v 1.3 1998/07/21 23:07:45 jsakai Stab %
.\" WORD: symbol table シンボルテーブル
.\" WORD: directive ディレクティブ(命令、指令の類)
.\"
.Dd June 5, 1993
.Dt STAB 5
.Os BSD 4
.Sh 名称
.Nm stab
.Nd シンボルテーブルの型
.Sh 書式
.Fd #include <stab.h>
.Sh 解説
.Aq Pa stab.h
ファイルは
a.out ファイルで使われる、シンボルテーブルのいくつかの
.Fa n_type
フィールド値の定義します。
これらは、恒久的なシンボル形式であり
(つまり、ローカルなラベルなどではない)、古いデバッガである
.Em sdb
や Berkeley パスカルコンパイラ
.Xr pc 1
で使われます。
.\" (訳注) BerkeleyパスカルコンパイラはFreeBSDディストリビューション
.\" に含まれない。
.\" 1998/05/05 Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
シンボルテーブルエントリは
.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
内で定義されている以下のマスクに基づきます。
これらのセグメントビットを設定しないようにすることで、シンボルをどの
セグメントにも属さないようにすることができます。
.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 のいくつかのビットが
* セットされています。これらは、<stab.h> 内に記述があります。
*/
#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 バグ
.Pp
もっと基本的な形式が必要でしょう。
.Sh 歴史
.Nm stab
ファイルは
.Bx 4.0
から登場しました。
diff --git a/ja/man/man5/syslog.conf.5 b/ja/man/man5/syslog.conf.5
index a4ef1a8edf..3ae1ed0760 100644
--- a/ja/man/man5/syslog.conf.5
+++ b/ja/man/man5/syslog.conf.5
@@ -1,358 +1,358 @@
.\" 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 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: @(#)syslog.conf.5 8.1 (Berkeley) 6/9/93
-.\" %Id: syslog.conf.5,v 1.3.2.7 1998/08/06 01:43:46 jkoshy Exp %
+.\" @(#)syslog.conf.5 8.1 (Berkeley) 6/9/93
+.\" %Id: syslog.conf.5,v 1.11 1998/07/22 06:15:16 phk Exp %
.\"
.\" jpman %Id: syslog.conf.5,v 1.3 1998/07/16 01:34:25 yohta Stab %
.\"
.Dd June 9, 1993
.Dt SYSLOG.CONF 5
.Os
.Sh 名称
.Nm syslog.conf
.Nd
.Xr syslogd 8
設定ファイル
.Sh 解説
.Nm
ファイルは
.Xr syslogd 8
プログラムの設定ファイルです。
このファイルは
.Em program
指定によって分けられた行ブロックから構成されています。
それぞれの行は 2つのフィールドを含みます。
その行が適用されるメッセージのタイプと優先度を指定する
.Em selector
フィールドと、
.Xr syslogd
が選んだ基準とマッチしたマッチしたメッセージを受けとった場合の動作を指定する
.Em action
フィールドです。
.Em selector
フィールドと
.Em action
フィールドは 1 つ以上のタブ文字で区切られています。
.Pp
.Em selector
機能は、
.Em facility
とピリオド
.Pq Dq \&.
とオプションの比較フラグ
.Pq Bq <=>
そして
.Em level
で符合化され、間に空白は含みません。
.Em facility
.Em level
の双方とも、大文字小文字の違いはありません。
.Pp
.Em facility
はシステムが発するメッセージの一部を表し、次にあげるキーワード群の
1 つで表されます : auth, authpriv, cron, daemon, ftp, kern, lpr, mail,
mark, news, ntp, syslog, user, uucp と local0 から local7。
これらのキーワード(markを除く)は
.Xr openlog 3
.Xr syslog 3
ライブラリルーチンで指定される
.Dq Dv LOG_
で始まる値と一致します。
.Em 比較フラグ
を使用して、何を記録するのかを正確に指定できます。
比較フラグのデフォルト組は
.Dq =>
(またはあなたが好むのなら
.Do >=
.Dc ) であり、
指定した
.Em facility
リストからの
.Em level
以上のレベルのメッセージを記録することを意味します。
.Pp
.Pp
.Em level
はメッセージの重要度を表し、以下のキーワードの順に高から低になります:
emerg, alert, crit, err, warning, notice, info, debug。
これらのキーワードは
.Xr syslog 3
ライブラリルーチンで指定される
.Dq Dv LOG_
で始まる値と一致します。
.Pp
それぞれの行ブロックはタグによって前のブロックと区別されます。
タグは行の先頭が
.Em #!prog
または
.Em !prog
(前者は以前の syslogd との互換性のためのものです。
例えば syslog.conf ファイルを共有したい時などに便利です)
で始まり、それぞれのブロックは syslog を呼び出す特定のプログラムと
関連付けられています。
また、タグ ``foo'' は、
``foo: '' というプレフィックスを持つ
カーネルログメッセージにもマッチします。
.Pp
.Em facility
.Em level
の両方のキーワードとその意味のより詳細な説明を知りたい場合は
.Xr syslog 3
を見てください。
選択は
.Em facility
で行なう方が
.Em program
で行なうよりも好まれています。
なぜなら、後者はネットワーク環境の中では
簡単に変化してしまう場合があるからです。しかし、適切な
.Em facility
が本当に存在しない場合もあります。
.Pp
もし
.Em facility
指定に一致したメッセージを受けとり、なおかつそれが
指定した
.Em level
.Em (もしくはそれ以上の level)
だった場合、またはメッセージ中の日付の後ろの最初の単語が
.Em program
と一致した場合、
.Em action
フィールドで指定された動作が選択されます。
.Pp
複数の
.Em selector
を、セミコロン
.Pq Dq \&;
によって区切ることにより、1 つの
.Em action
に対して指定することができます。
しかしそれぞれの
.Em selector
はその前にある指定を上書き修正できてしまいますので注意してください。
.Pp
複数の
.Em facility
は、コンマ
.Pq Dq \&,
によって区切ることにより 1 つの
.Em level
を指定することができます。
.Pp
アスタリスク
.Pq Dq *
は、全ての
.Em facility
、全ての
.Em levels
、または全ての
.Em programs
を指定するのに使用できます。
.Pp
特別な
.Em facility
である
.Dq mark
は、20分毎に
.Dq info
の優先度を持つメッセージを受け取ります
(
.Xr syslogd 8
を参照 )。これは
アスタリスクを含む
.Em facility
フィールドには適用されません。
.Pp
特別な
.Em level
である
.Dq none
は、特定の
.Em facility
を無効にします。
.Pp
それぞれの行の
.Em action
フィールドは、
.Em selector
フィールドに指定されたメッセージを受け取った際の動作を指定します。
動作指定には次の 5つの形式があります:
.Bl -bullet
.It
パス名 (先頭がスラッシュで始まります)。
該当するメッセージは、そのファイルに追加されます。
.It
ホスト名 (
.Pq Dq @
文字から始まる必要があります)。
該当するメッセージは、指定されたホストの
.Xr syslogd
プログラムに転送されます。
.It
コンマで区切られたユーザのリスト。
該当するメッセージは、指定されたユーザがログインしていれば、
そのユーザの画面に出力されます。
.It
1 つのアスタリスク。
該当するメッセージは、ログイン中の全てのユーザの画面に出力されます。
.It
垂直バー
.Pq Dq \&|
とそれに続くコマンド。該当したメッセージをパイプを使って
コマンドに渡すことができます。
このコマンドは、
.Pa /bin/sh
によって評価されるので、通常のシェルメタキャラクタや入力/出力
リダイレクトを利用できます。
(しかし実行されたコマンドからの
.Xr stdio 3
バッファされた出力のリダイレクトは余計な遅延を引き起こしたり、
あるいはシグナルによってロギング中のサブプロセスが終了した場合など
出力データを失うことがあるかもしれないことに注意してください)
コマンドそれ自身は
.Em stdout
.Em stderr
.Pa /dev/null
にリダイレクトして動作します。
.Dv SIGHUP
を受け取ると、
.Nm
はそのプロセスとのパイプを閉じます。もしそのプロセスが自発的に終了しない
場合は、60秒の猶予期間の後
.Dv SIGTERM
を送ります。
.Pp
コマンドはパイプでつながれるデータが到着した際に 1 度だけ起動されます。
その後、コマンドが終了した場合には必要に応じて再起動されます。
そのため、1行の入力だけをサブプロセスが手に入れるよう望んでいるなら、
(もし多くのメッセージが速く流れる場合には、
資源を大量に消費する可能性がありますが)
1行の入力があった後に終了する事によって達成する事ができます。
必要ならば、この効果のためにラッパスクリプトを書くこともできます。
.Pp
そのコマンドが完全なパイプラインでない場合、コマンドを
.Em exec
で起動すると、起動したシェルプロセスがコマンドの完了を待たなくなるので
便利かもしれません。
警告: このプロセスは
.Xr syslogd 8
の UID のもとで動きます。通常はスーパユーザです。
.El
.Pp
空行と最初の空白でない文字がハッシュ
.Pq Dq #
文字である行は無視されます。
.Sh 使用例
.Pp
設定ファイルは次のようになります:
.Bd -literal
# err レベル以上の全てのメッセージ、全てのレベルの kernel メッセージ、
# notice レベルの auth メッセージをコンソールに出力します。
# プライベートな認証メッセージは記録をとりません!
*.err;kern.*;auth.notice;authpriv.none /dev/console
# info 以上のレベルを持つ(mail を除く)全てのメッセージを記録します。
# プライベートな認証メッセージは記録をとりません!
*.info;mail.none;authpriv.none /var/log/messages
# debug レベルのみの daemon メッセージを記録します
daemon.=debug /var/log/daemon.debug
# authpriv ファイルはアクセス制限を持ちます。
.\" /var/log/secure の read permission を限定するということ?
.\" 2.2.6-RELEASE 対象
.\" By yohta@bres.tsukuba.ac.jp (July 8 1998)
authpriv.* /var/log/secure
# 全てのレベルの mail メッセージを一箇所にまとめて記録します。
mail.* /var/log/maillog
# emerg(非常事態)レベルの全てのメッセージは全員が受け取ります。
*.emerg *
*.emerg @arpa.berkeley.edu
# alert レベル以上のメッセージを root と eric の画面に表示されます。
.\" 原文は Root and Eric get alert and higher messages を意訳
.\" 2.2.6-RELEASE 対象
.\" By yohta@bres.tsukuba.ac.jp (July 10 1998)
*.alert root,eric
# err レベル以上の mail と news の エラーを特別なファイルに保存します。
mail;news.err /var/log/spoolerr
.\" 原文は uucp,news.crit / send-pr 予定
.\" 2.2.6-RELEASE 対象
.\" By yohta@bres.tsukuba.ac.jp (July 10 1998)
# 全てのレベルの認証メッセージをフィルタにパイプします。
auth.* |exec /usr/local/sbin/authfilter
# ftpd のトランザクションを mail と news にあわせて保存します。
!ftpd
*.* /var/log/spoolerr
# カーネルのファイヤウォールレポートを別のファイルに保存します。
!ipfw
*.* /var/log/ipfw
.Ed
.Sh 関連ファイル
.Bl -tag -width /etc/syslog.conf -compact
.It Pa /etc/syslog.conf
.Xr syslogd 8
設定ファイル
.El
.Sh バグ
複数のセレクタ指定は、時々思ったように効果を発揮しない事があります。
例えば、
.Dq mail.crit,*.err
と設定すると、
.Dq mail
ファシリティのメッセージのレベルは
.Dq err
かそれ以上となり、
.Dq crit
かそれ以上のレベルにはなりません。
.Pp
ネットワーク環境においては、全てのオペレーティングシステムが
同じ facility 名のセットを実装しているわけではない点に注意してください。
authpriv, cron, ftp, ntp といったこの実装において知られた facility が、
目的のシステムには存在しないかもしれません。更に悪い事に、
DEC UNIX は AdvFS ファイルシステムのログイベントに facility 番号 10
(この実装では authpriv です) を使っています。
.Sh 関連項目
.Xr syslog 3 ,
.Xr syslogd 8
diff --git a/ja/man/man5/termcap.5 b/ja/man/man5/termcap.5
index 589ba18120..e298828a5b 100644
--- a/ja/man/man5/termcap.5
+++ b/ja/man/man5/termcap.5
@@ -1,2081 +1,2081 @@
.\" Copyright (c) 1985, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)termcap.5 8.3 (Berkeley) 4/16/94
.\"
.\" /***************************************************************************
.\" * COPYRIGHT NOTICE *
.\" ****************************************************************************
.\" * ncurses is copyright (C) 1992-1995 *
.\" * Zeyd M. Ben-Halim *
.\" * zmbenhal@netcom.com *
.\" * Eric S. Raymond *
.\" * esr@snark.thyrsus.com *
.\" * *
.\" * Permission is hereby granted to reproduce and distribute ncurses *
.\" * by any means and for any fee, whether alone or as part of a *
.\" * larger distribution, in source or in binary form, PROVIDED *
.\" * this notice is included with any such distribution, and is not *
.\" * removed from any of its header files. Mention of ncurses in any *
.\" * applications linked with it is highly appreciated. *
.\" * *
.\" * ncurses comes AS IS with no warranty, implied or expressed. *
.\" * *
.\" ***************************************************************************/
.\"
-.\" %Id: termcap.5,v 1.2.2.2 1998/06/23 05:31:20 hoek Exp %
+.\" %Id: termcap.5,v 1.9 1998/06/23 05:30:26 hoek Exp %
.\"
.\" jpman %Id: termcap.5,v 1.4 1998/06/13 12:34:58 horikawa Stab %
.\" FreeBSD jpman project 訳語表
.\" WORD: terminal 端末
.\" WORD: text テキスト
.\" WORD: convention 約束
.\" WORD: virtual terminal 仮想端末
.\" WORD: print 印字
.\" WORD: display 描画
.\" WORD: screen 画面
.\" WORD: CRT CRT
.\" WORD: attribute 属性
.\" WORD: underline 下線
.\" WORD: standout 強調表示
.\" WORD: column 桁
.\" WORD: row 行
.\" WORD: carriage return キャリッジリターン
.\" WORD: home など ホーム(ホームポジション)、home(home キー)
.\" など、キーそのものについては英語のままとした
.\" WORD: foreground color 前景色
.\" WORD: background color 背景色
.\" WORD: bottom margin 下マージン
.\" WORD: top margin 上マージン
.\" WORD: bold mode ボールドモード
.\" WORD: scroll forward 前進スクロール
.\" WORD: scroll backward 後退スクロール
.\" WORD: glitch グリッチ (他の端末と不整合な機能)
.\" その他 Beehive はメーカ名です(.Ss Glitches and Braindamages 参照)。
.Dd April 16, 1994
.Dt TERMCAP 5
.Os BSD 3
.Sh 名称
.Nm termcap
.Nd 端末ケーパビリティのデータベース
.Sh 書式
.Nm
.Sh 解説
.Nm
ファイルは端末に関するデータベースであり、例えば
.Xr \&vi 1
.Xr curses 3
が使用します。
.Nm
には、端末が持つケーパビリティと、
操作がどのように行われるのかが記述されています。
パディングの必要性および初期化シーケンスも
.Nm
に記述されています。
.Pp
.Nm
のエントリは `:' で区切られた複数個のフィールドからなります。
各端末の最初のエントリは、`|' 文字で区切った端末名です。
最初の名前は、その端末の最も一般的な省略形です。
最後の名前は端末を完全に識別するための長い名前であり、
その他は端末名の類義語です。
最後以外の名前は小文字を使い、空白を含まないようにしてください;
最後の名前は、可読性のために大文字や空白を含んでかまいません。
.Pp
端末名 (最後の冗長なエントリを除く) は次の約束に従い選んでください。
端末を構成するハードウェアの特定の一部を、
.Dq hp2621
のように根幹の名前として選びます。
この名前はハイフンを含んではなりません。
ハードウェアのモードやユーザのプリファレンスは、
ハイフンとモード指示子を追加して示します。
ですから、132 桁モードの
.Dq vt100
.Dq vt100-w
になります。可能ならば、以下の接尾辞を使用してください:
.Pp
.Bd -filled -offset indent
.Bl -column indent "With automatic margins (usually default)xx"
.Sy 接尾辞 意味 例
-w 広いモード (80 桁超) vt100-w
-am 自動マージン付 (通常はデフォルト) vt100-am
-nam 自動マージン無し vt100-nam
.Pf \- Ar n Ta No "画面上の行数 aaa-60"
-na 矢印キー無し (ローカルのままにする) concept100-na
.Pf \- Ar \&np Ta No "メモリページ数 concept100-4p"
-rv 反転表示 concept100-rv
.El
.Ed
.Sh ケーパビリティ
記述フィールドに、ケーパビリティの意味を示そうとしています。
記述フィールドには次のようなコードが書いてあることがあります:
.Pp
.Bl -tag -width #[1-9]
.It (P)
パディングが指定されるかもしれないことを表します。
.It #[1-9]
記述フィールドでは、文字列が (#\fIi\fP) として与えられる引数として
.Xr tparm
.Xr tgoto
を介して渡されることを示します。
.It (P*)
影響を受ける行数に従いパディングが変化することを示します。
.It (#\d\fIi\fP\u)
\fIi\fP 番目のパラメータを表します。
.El
.Pp
以下、ブール値のケーパビリティです:
.Bd -literal
\fBブール値 TCap 記述\fR
\fB変数 コード\fR
auto_left_margin bw cursor_left は桁 0 から最後の桁に回り込む
auto_right_margin am 端末は自動マージンを持つ
no_esc_ctlc xb beehive (f1=escape, f2=ctrl C)
ceol_standout_glitch xs 強調表示は上書きによって消去されない (hp)
eat_newline_glitch xn 80 桁より後の改行は無視される (concept)
erase_overstrike eo 空白を上打ちすることで消去可能
generic_type gn 一般的な行タイプ
hard_copy hc ハードコピー端末
has_meta_key km メタキーを持ち、最上位ビットをセットする
has_status_line hs 追加のステータス行を持つ
insert_null_glitch in 挿入モードはナルを区別する
memory_above da 画面より上の描画が保存される
memory_below db 画面より下の描画が保存される
move_insert_mode mi 挿入モードでの移動が安全
move_standout_mode ms 強調表示モードでの移動が安全
over_strike os 端末は上打ちが可能
status_line_esc_ok es ステータス行でエスケープを使用可能
dest_tabs_magic_smso xt 破壊的タブ、強調文字の奇妙な動作 (t1061)
tilde_glitch hz ~ を印字できない (hazeltine)
transparent_underline ul 下線文字の上打ち
xon_xoff xo 端末は xon/xoff のハンドシェークを使用
needs_xon_xoff nx パディングは動作しないので xon/xoff が必要
prtr_silent 5i プリンタ出力は画面にエコーしない
hard_cursor HC カーソルが見にくい
non_rev_rmcup NR enter_ca_mode は exit_ca_mode を反転しない
no_pad_char NP パディング文字が存在しない
non_dest_scroll_region ND スクロール領域が非破壊的
can_change cc 端末は既存の色を再定義可能
back_color_erase ut 画面は背景色で消される
hue_lightness_saturation hl 端末は HLS カラー表現のみ使用
(tektronix)
col_addr_glitch YA 桁位置指定および micro_column_address
ケーパビリティは正方向の動きのみ
cr_cancels_micro_mode YB cr を使用するとマイクロモードがオフになる
has_print_wheel YC オペレータが文字セットを変更する必要がある
プリンタ
row_addr_glitch YD row_address および micro_row_address は
正方向の動きのみ
semi_auto_right_margin YE 最終桁で印字すると cr となる
cpi_changes_res YF 文字ピッチを変えると解像度が変わる
lpi_changes_res YG 行ピッチを変えると解像度が変わる
.Ed
.Pp
以下、数値のケーパビリティです:
.Bd -literal
\fB数値 TCap 記述\fR
\fB変数 コード\fR
columns co 1 行の桁数
init_tabs it タブの初期設定は # 個の空白ごと
lines li 画面もしくはページの行数
lines_of_memory lm 行より大きい場合はメモリの行数、
0 の場合はさまざま
.\" => は大小関係を表すのではない See .Sh その他
magic_cookie_glitch sg enter_standout_mode や exit_standout_mode
が残す空白文字数
padding_baud_rate pb パディングが必要な最低ボーレート
virtual_terminal vt 仮想端末番号 (CB/unix)
width_status_line ws ステータス行の桁数
num_labels Nl 画面上のラベル数
label_height lh 各ラベルの行数
label_width lw 各ラベルの桁数
max_attributes ma 端末が扱える属性の最大の組み合わせ
maximum_windows MW 定義可能なウィンドウ数の最大
magic_cookie_glitch_ul ug 下線により残される空白数
#
# 以下は SVr4 のカラーサポートにより導入
#
max_colors Co 画面上の最大色数
max_pairs pa 画面上の色の組の最大数
no_color_video NC 色付きでは使用できないビデオ属性
#
# 以下の数値ケーパビリティは SVr4.0 の term 構造体に存在しますが、
# マニュアルには記述されていません。
# これらは SVr4 のプリンタサポートにより追加されました。
#
buffer_capacity Ya 印字前にバッファされるバイト数
dot_vert_spacing Yb 1 インチあたりのピン数で表した垂直ピン間隔
dot_horz_spacing Yc 1 インチあたりのドット数で表した水平
ドット間隔
max_micro_address Yd micro_..._address での最大値
max_micro_jump Ye parm_..._micro での最大値
micro_char_size Yf マイクロモードでの文字サイズ
micro_line_size Yg マイクロモードでの行サイズ
number_of_pins Yh プリントヘッドのピン数
output_res_char Yi 行あたりのユニット数による水平解像度
output_res_line Yj 行あたりのユニット数による垂直解像度
output_res_horz_inch Yk インチあたりのユニット数による水平解像度
output_res_vert_inch Yl インチあたりのユニット数による垂直解像度
print_rate Ym 1 秒あたりの文字数による印字レート
wide_char_size Yn 倍幅モードでの文字ステップサイズ
buttons BT マウスのボタン数
bit_image_entwining Yo 各ビットイメージ行として渡される数
bit_image_type Yp ビットイメージデバイスのタイプ
.Ed
.Pp
以下、文字列ケーパビリティです:
.Bd -literal
\fB文字列 TCap 記述\fR
\fB変数 コード\fR
back_tab bt 後退タブ (P)
bell bl 可聴シグナル (ベル) (P)
carriage_return cr キャリッジリターン (P*)
change_scroll_region cs 領域を行 #1 から行 #2 までに変更 (P)
clear_all_tabs ct 全タブストップをクリア (P)
clear_screen cl 画面を消去しカーソルをホームに移動 (P*)
clr_eol ce 行末までクリア (P)
clr_eos cd 画面末までクリア (P*)
column_address ch 絶対指定での水平位置 #1 (P)
command_character CC 端末がプロトタイプで設定可能なコマンド文字
cursor_address cm 行 #1 桁 #2 に移動
cursor_down do 1 行下に移動
cursor_home ho カーソルをホームに移動
cursor_invisible vi カーソルを見えなくする
cursor_left le 1 つ左に移動
cursor_mem_address CM メモリ相対のカーソル位置指定
cursor_normal ve 通常のカーソル表示にする
(cursor_invisible/cursor_visible の無効化)
cursor_right nd 1 つ右に移動
cursor_to_ll ll 最終行の最初の桁
cursor_up up 1 行上に移動
cursor_visible vs カーソルを非常に見易くする
delete_character dc 文字削除 (P*)
delete_line dl 行削除 (P*)
dis_status_line ds ステータス行を無効にする
down_half_line hd 半行下に移動
enter_alt_charset_mode as 別の文字セット開始 (P)
enter_blink_mode mb 点滅オン
enter_bold_mode md ボールド (さらに明るい) モードオン
enter_ca_mode ti cursor_address を使用するプログラムを開始
する文字列
enter_delete_mode dm 削除モードへ入る
enter_dim_mode mh 半輝度モードオン
enter_insert_mode im 挿入モードへ入る
enter_secure_mode mk ブランクモードオン (文字が見えません)
enter_protected_mode mp 保護モードオン
enter_reverse_mode mr 反転表示モードオン
enter_standout_mode so 強調表示モード開始
enter_underline_mode us 下線モード開始
erase_chars ec #1 個文字を削除 (P)
exit_alt_charset_mode ae 別の文字セット終了 (P)
exit_attribute_mode me 全属性をオフ
exit_ca_mode te cup 使用のプログラムを終了する文字列
exit_delete_mode ed 削除モード終了
exit_insert_mode ei 挿入モードから抜ける
exit_standout_mode se 強調表示モードから抜ける
exit_underline_mode ue 下線モードから抜ける
flash_screen vb 可視ベル (カーソルは移動しません)
form_feed ff ハードコピー端末でのページ排出 (P*)
from_status_line fs ステータス行からの復帰
init_1string i1 初期化文字列
init_2string is 初期化文字列
init_3string i3 初期化文字列
init_file if 初期化ファイルの名前
insert_character ic 文字挿入 (P)
insert_line al 行挿入 (P*)
insert_padding ip 挿入された文字の後にパディングを挿入
key_backspace kb backspace キー
key_catab ka clear-all-tabs キー
key_clear kC clear-screen または erase キー
key_ctab kt clear-tab キー
key_dc kD delete-character キー
key_dl kL delete-line キー
key_down kd down-arrow キー
key_eic kM 挿入モードで mir や smir により送られる
key_eol kE clear-to-end-of-line キー
key_eos kS clear-to-end-of-screen キー
key_f0 k0 F0 ファンクションキー
key_f1 k1 F1 ファンクションキー
key_f10 k; F10 ファンクションキー
key_f2 k2 F2 ファンクションキー
key_f3 k3 F3 ファンクションキー
key_f4 k4 F4 ファンクションキー
key_f5 k5 F5 ファンクションキー
key_f6 k6 F6 ファンクションキー
key_f7 k7 F7 ファンクションキー
key_f8 k8 F8 ファンクションキー
key_f9 k9 F9 ファンクションキー
key_home kh home キー
key_ic kI insert-character キー
key_il kA insert-line キー
key_left kl left-arrow キー
key_ll kH last-line キー
key_npage kN next-page キー
key_ppage kP prev-page キー
key_right kr right-arrow キー
key_sf kF scroll-forward キー
key_sr kR scroll-backward キー
key_stab kT set-tab キー
key_up ku up-arrow キー
keypad_local ke 'キーボード送出' モードから抜ける
keypad_xmit ks 'キーボード送出' モードに入る
lab_f0 l0 非 f0 の時、ファンクションキー f0 のラベル
lab_f1 l1 非 f1 の時、ファンクションキー f1 のラベル
lab_f10 la 非 f10 の時、ファンクションキー f10 の
ラベル
lab_f2 l2 非 f2 の時、ファンクションキー f2 のラベル
lab_f3 l3 非 f3 の時、ファンクションキー f3 のラベル
lab_f4 l4 非 f4 の時、ファンクションキー f4 のラベル
lab_f5 l5 非 f5 の時、ファンクションキー f5 のラベル
lab_f6 l6 非 f6 の時、ファンクションキー f6 のラベル
lab_f7 l7 非 f7 の時、ファンクションキー f7 のラベル
lab_f8 l8 非 f8 の時、ファンクションキー f8 のラベル
lab_f9 l9 非 f9 の時、ファンクションキー f9 のラベル
meta_off mo メタモードオフ
meta_on mm メタモードオン (8 ビット目をオン)
newline nw 改行 (cr の後に lf が来たように振舞います)
pad_char pc パディング文字 (ナルの代り)
parm_dch DC #1 文字を削除 (P*)
parm_delete_line DL #1 行を削除 (P*)
parm_down_cursor DO #1 行下に移動 (P*)
parm_ich IC #1 文字を挿入 (P*)
parm_index SF #1 行の前進スクロール (P)
parm_insert_line AL #1 行を挿入 (P*)
parm_left_cursor LE #1 文字左に移動 (P)
parm_right_cursor RI #1 文字右に移動 (P*)
parm_rindex SR #1 行の後退スクロール (P)
parm_up_cursor UP #1 行上に移動 (P*)
pkey_key pk 文字列 #2 をタイプする
プログラムファンクションキー #1
pkey_local pl 文字列 #2 を実行する
プログラムファンクションキー #1
pkey_xmit px 文字列 #2 を転送する
プログラムファンクションキー #1
print_screen ps 画面の内容を印字
prtr_off pf プリンタオフ
prtr_on po プリンタオン
repeat_char rp 文字 #1 を #2 回繰り返す (P*)
reset_1string r1 リセット文字列
reset_2string r2 リセット文字列
reset_3string r3 リセット文字列
reset_file rf リセットファイルの名前
restore_cursor rc save_cursor の最後の位置へカーソルを戻す
row_address cv 絶対指定での垂直位置 #1 (P)
save_cursor sc 現在のカーソル位置を保存 (P)
scroll_forward sf テキストを上にスクロール (P)
scroll_reverse sr テキストを下にスクロール (P)
set_attributes sa ビデオ属性 #1-#9 を定義 (PG9)
set_tab st 全ての行において今いる桁にタブを設定
set_window wi 現在のウィンドウを、行 #1-#2 桁 #3-#4 に
設定
tab ta 次の 8 スペースハードウェアタブストップへ
タブ
to_status_line ts ステータス行へ移動
underline_char uc 文字に下線を引きその後に移動
up_half_line hu 半行上に移動
init_prog iP 初期化プログラムのパス名
key_a1 K1 キーパッドの左上キー
key_a3 K3 キーパッドの右上キー
key_b2 K2 キーパッドの中央キー
key_c1 K4 キーパッドの左下キー
key_c3 K5 キーパッドの右下キー
prtr_non pO #1 バイトだけプリンタをオンする
termcap_init2 i2 2 番目の初期化文字列
termcap_reset rs 端末リセット文字
#
# SVr1 のケーパビリティはここまでです。
# IBM の terminfo はここまでは SVr4 と同じですが、ここから先は異なります。
#
char_padding rP insert_padding と似ていますが挿入モード時
に使用
acs_chars ac 図形文字セットの組 - def=vt100
plab_norm pn プログラムラベル #1 は文字列 #2 を表示
key_btab kB back-tab キー
enter_xon_mode SX xon/xoff ハンドシェークオン
exit_xon_mode RX xon/xoff ハンドシェークオフ
enter_am_mode SA 自動マージンオン
exit_am_mode RA 自動マージンオフ
xon_character XN XON 文字
xoff_character XF XOFF 文字
ena_acs eA 別の文字セットを有効にする
label_on LO ソフトラベルオン
label_off LF ソフトラベルオフ
key_beg @1 begin キー
key_cancel @2 cancel キー
key_close @3 close キー
key_command @4 command キー
key_copy @5 copy キー
key_create @6 create キー
key_end @7 end キー
key_enter @8 enter/send キー
key_exit @9 exit キー
key_find @0 find キー
key_help %1 help キー
key_mark %2 mark キー
key_message %3 message キー
key_move %4 move キー
key_next %5 next キー
key_open %6 open キー
key_options %7 options キー
key_previous %8 previous キー
key_print %9 print キー
key_redo %0 redo キー
key_reference &1 reference キー
key_refresh &2 refresh キー
key_replace &3 replace キー
key_restart &4 restart キー
key_resume &5 resume キー
key_save &6 save キー
key_suspend &7 suspend キー
key_undo &8 undo キー
key_sbeg &9 シフト状態の begin キー
key_scancel &0 シフト状態の cancel キー
key_scommand *1 シフト状態の command キー
key_scopy *2 シフト状態の copy キー
key_screate *3 シフト状態の create キー
key_sdc *4 シフト状態の delete char キー
key_sdl *5 シフト状態の delete line キー
key_select *6 select キー
key_send *7 シフト状態の end キー
key_seol *8 シフト状態の end-of-line キー
key_sexit *9 シフト状態の exit キー
key_sfind *0 シフト状態の find キー
key_shelp #1 シフト状態の help キー
key_shome #2 シフト状態の home キー
key_sic #3 シフト状態の insert char キー
key_sleft #4 シフト状態の left キー
key_smessage %a シフト状態の message キー
key_smove %b シフト状態の move キー
key_snext %c シフト状態の next キー
key_soptions %d シフト状態の options キー
key_sprevious %e シフト状態の previous キー
key_sprint %f シフト状態の print キー
key_sredo %g シフト状態の redo キー
key_sreplace %h シフト状態の replace キー
key_sright %i シフト状態の right キー
key_srsume %j シフト状態の resume キー
key_ssave !1 シフト状態の save キー
key_ssuspend !2 シフト状態の suspend キー
key_sundo !3 シフト状態の undo キー
req_for_input RF 次の入力文字を送る (pty で使用)
key_f11 F1 F11 ファンクションキー
key_f12 F2 F12 ファンクションキー
key_f13 F3 F13 ファンクションキー
key_f14 F4 F14 ファンクションキー
key_f15 F5 F15 ファンクションキー
key_f16 F6 F16 ファンクションキー
key_f17 F7 F17 ファンクションキー
key_f18 F8 F18 ファンクションキー
key_f19 F9 F19 ファンクションキー
key_f20 FA F20 ファンクションキー
key_f21 FB F21 ファンクションキー
key_f22 FC F22 ファンクションキー
key_f23 FD F23 ファンクションキー
key_f24 FE F24 ファンクションキー
key_f25 FF F25 ファンクションキー
key_f26 FG F26 ファンクションキー
key_f27 FH F27 ファンクションキー
key_f28 FI F28 ファンクションキー
key_f29 FJ F29 ファンクションキー
key_f30 FK F30 ファンクションキー
key_f31 FL F31 ファンクションキー
key_f32 FM F32 ファンクションキー
key_f33 FN F33 ファンクションキー
key_f34 FO F34 ファンクションキー
key_f35 FP F35 ファンクションキー
key_f36 FQ F36 ファンクションキー
key_f37 FR F37 ファンクションキー
key_f38 FS F38 ファンクションキー
key_f39 FT F39 ファンクションキー
key_f40 FU F40 ファンクションキー
key_f41 FV F41 ファンクションキー
key_f42 FW F42 ファンクションキー
key_f43 FX F43 ファンクションキー
key_f44 FY F44 ファンクションキー
key_f45 FZ F45 ファンクションキー
key_f46 Fa F46 ファンクションキー
key_f47 Fb F47 ファンクションキー
key_f48 Fc F48 ファンクションキー
key_f49 Fd F49 ファンクションキー
key_f50 Fe F50 ファンクションキー
key_f51 Ff F51 ファンクションキー
key_f52 Fg F52 ファンクションキー
key_f53 Fh F53 ファンクションキー
key_f54 Fi F54 ファンクションキー
key_f55 Fj F55 ファンクションキー
key_f56 Fk F56 ファンクションキー
key_f57 Fl F57 ファンクションキー
key_f58 Fm F58 ファンクションキー
key_f59 Fn F59 ファンクションキー
key_f60 Fo F60 ファンクションキー
key_f61 Fp F61 ファンクションキー
key_f62 Fq F62 ファンクションキー
key_f63 Fr F63 ファンクションキー
clr_bol cb 行頭までクリア
clear_margins MC 左右のソフトマージンをクリア
set_left_margin ML 左のソフトマージンを設定
set_right_margin MR 右のソフトマージンを設定
label_format Lf ラベルフォーマット
set_clock SC 時刻を #1 時 #2 分 #3 秒に設定
display_clock DK 位置 (#1,#2) に時計を表示
remove_clock RC 時計を取り除く
create_window CW ウィンドウ #1 を #2, #3 から #4, #5 までと
定義
goto_window WG ウィンドウ #1 に移動
hangup HU 電話をハングアップする
dial_phone DI 番号 #1 にダイアルする
quick_dial QD チェックせずに番号 #1 にダイアルする
tone TO タッチトーンダイアルを選択
pulse PU パルスダイアルを選択
flash_hook fh スイッチフックをフラッシュする
fixed_pause PA 2-3 秒待つ
wait_tone WA ダイアルトーンを待つ
user0 u0 ユーザ文字列 #0
user1 u1 ユーザ文字列 #1
user2 u2 ユーザ文字列 #2
user3 u3 ユーザ文字列 #3
user4 u4 ユーザ文字列 #4
user5 u5 ユーザ文字列 #5
user6 u6 ユーザ文字列 #6
user7 u7 ユーザ文字列 #7
user8 u8 ユーザ文字列 #8
user9 u9 ユーザ文字列 #9
#
# SVr4 は以下のケーパビリティを追加してカラーをサポートしました
#
orig_pair op デフォルトのペアを元の値に戻す
orig_colors oc 色のペア全てを元に戻す
initialize_color Ic 色 #1 を (#2,#3,#4) に設定
initialize_pair Ip 色のペア #1 を fg=(#2,#3,#4),
bg=(#5,#6,#7) に設定
set_color_pair sp 現在の色のペアを #1 に設定
set_foreground Sf 前景色を #1 に設定
set_background Sb 背景色を #1 に設定
#
# SVr4 は以下のケーパビリティを追加してプリンタをサポートしました
#
change_char_pitch ZA 1 インチあたりの文字数を変更
change_line_pitch ZB 1 インチあたりの行数を変更
change_res_horz ZC 水平解像度を変更
change_res_vert ZD 垂直解像度を変更
define_char ZE 文字を定義
enter_doublewide_mode ZF 倍幅モードに入る
enter_draft_quality ZG ドラフト印字モードに入る
enter_italics_mode ZH イタリックモードに入る
enter_leftward_mode ZI キャリッジの左向き移動開始
enter_micro_mode ZJ マイクロ移動モードに入る
enter_near_letter_quality ZK NLQ 印字モードに入る
enter_normal_quality ZL 通常品質印字モードに入る
enter_shadow_mode ZM シャドウプリントモード開始
enter_subscript_mode ZN 下付き文字モード
enter_superscript_mode ZO 上付き文字モード
enter_upward_mode ZP キャリッジの上向き移動開始
exit_doublewide_mode ZQ 倍幅印字モード終了
exit_italics_mode ZR イタリックモード終了
exit_leftward_mode ZS 左向き移動モード終了
exit_micro_mode ZT マイクロ移動モード終了
exit_shadow_mode ZU シャドウプリントモード終了
exit_subscript_mode ZV 下付き文字モード終了
exit_superscript_mode ZW 上付き文字モード終了
exit_upward_mode ZX 逆向き文字移動終了
micro_column_address ZY マイクロモードの column_address
micro_down ZZ マイクロモードの cursor_down
micro_left Za マイクロモードの cursor_left
micro_right Zb マイクロモードの cursor_right
micro_row_address Zc マイクロモードの row_address
micro_up Zd マイクロモードの cursor_up
order_of_pins Ze ソフトウェアビットを印字ヘッドピンに
あわせる
.\" Match software bits to print-head pins ?
parm_down_micro Zf マイクロモードの parm_down_cursor
parm_left_micro Zg マイクロモードの parm_left_cursor
parm_right_micro Zh マイクロモードの parm_right_cursor
parm_up_micro Zi マイクロモードの parm_up_cursor
select_char_set Zj 文字セットの選択
set_bottom_margin Zk 現在の行を下マージンに設定
set_bottom_margin_parm Zl 下マージンを行 #1 または下から #2 行に設定
set_left_margin_parm Zm 左 (右) マージンを桁 #1 (#2) に設定
set_right_margin_parm Zn 右マージンを桁 #1 に設定
set_top_margin Zo 上マージンを現在の行に設定
set_top_margin_parm Zp 上 (下) マージンを行 #1 (#2) に設定
start_bit_image Zq ビットイメージグラフィクスの印刷開始
start_char_set_def Zr 文字セットの定義開始
stop_bit_image Zs ビットイメージグラフィクスの印刷停止
stop_char_set_def Zt 文字セットの定義終了
subscript_characters Zu 下付き文字となりうる文字のリスト
superscript_characters Zv 上付き文字となりうる文字のリスト
these_cause_cr Zw 印字すると CR となる文字
zero_motion Zx 次の文字表示では移動しない
#
# 以下の文字列ケーパビリティは SVr4.0 の term 構造体にありますが、
# マニュアルページには記述されていません。
#
char_set_names Zy 文字セット名のリスト
key_mouse Km マウスイベントが発生した
mouse_info Mi マウス状態の情報
req_mouse_pos RQ マウス位置の要求
get_mouse Gm curses がボタンイベントを取得すべき
set_a_foreground AF ANSI 前景色を設定
set_a_background AB ANSI 背景色を設定
pkey_plab xl 文字列 #2 をタイプし、文字列 #3 を表示する
プログラムファンクションキー
device_type dv 言語/コードセットサポートの表示
code_set_init ci 複数コードセットシーケンスの初期化
set0_des_seq s0 コードセット 0 へシフト
(EUC セット 0, ASCII)
set1_des_seq s1 コードセット 1 へシフト
set2_des_seq s2 コードセット 2 へシフト
set3_des_seq s3 コードセット 3 へシフト
set_lr_margin ML 左右マージンをそれぞれ #1, #2 に設定
set_tb_margin MT 上下マージンをそれぞれ #1, #2 に設定
bit_image_repeat Xy ビットイメージセル #1 を #2 回繰り返す
bit_image_newline Zz ビットイメージの次の行に移動
bit_image_carriage_return Yv 同一行の先頭に移動
color_names Yw 色 #1 の名前を与える
define_bit_image_region Yx 長方形のビットイメージ領域を定義
end_bit_image_region Yy ビットイメージ領域の終了
set_color_band Yz 色リボン #1 に変更
set_page_length YZ ページ長を #1 行に設定
#
# SVr4 は以下のケーパビリティを追加し、直接 PC クローンをサポートしました
#
display_pc_char S1 PC 文字を表示
enter_pc_charset_mode S2 PC 文字表示モードに入る
exit_pc_charset_mode S3 PC 文字表示モード終了
enter_scancode_mode S4 PC スキャンコードモードに入る
exit_scancode_mode S5 PC スキャンコードモードから抜ける
pc_term_options S6 PC 端末オプション
scancode_escape S7 スキャンコードエミュレーションのための
エスケープ
alt_scancode_esc S8 スキャンコードエミュレーションのための
別のエスケープ
#
# XSI curses 標準は、以下のケーパビリティを追加しました。
#
enter_horizontal_hl_mode Xh 水平ハイライトモードに入る
enter_left_hl_mode Xl 左ハイライトモードに入る
enter_low_hl_mode Xo 下ハイライトモードに入る
enter_right_hl_mode Xr 右ハイライトモードに入る
enter_top_hl_mode Xt 上ハイライトモードに入る
enter_vertical_hl_mode Xv 垂直ハイライトモードに入る
.Pp
以下は廃れた termcap ケーパビリティです。
新しいソフトウェアはどれにも依存しないようにしてください。
.Bd -literal
\fBブール値 TCap 記述\fR
\fB変数 コード\fR
linefeed_is_newline NL ^J で下に移動
even_parity EP 端末は偶数パリティを要求
odd_parity OP 端末は奇数パリティを要求
half_duplex HD 端末は半 2 重
lower_case_only LC 端末は小文字のみ持つ
upper_case_only UC 端末は大文字のみ持つ
has_hardware_tabs pt ^I で起動される 8 文字タブがある
return_does_clr_eol xr リターンは行をクリアする
tek_4025_insert_line xx Tektronix 4025 の insert-line グリッチ
backspaces_with_bs bs 左に移動するために ^H を使用
crt_no_scrolling ns crt はスクロールできない
no_correctly_working_cr nc 行頭に行く手段が無い
.Ed
.Bd -literal
\fB数値 TCap 記述\fR
\fB変数 コード\fR
backspace_delay dB ^H に必要なパディング
form_feed_delay dF ^L に必要なパディング
horizontal_tab_delay dT ^I に必要なパディング
vertical_tab_delay dV ^V に必要なパディング
number_of_function_keys kn ファンクションキーの数
carriage_return_delay dC CR に必要なパディング
new_line_delay dN LF に必要なパディング
.Ed
.Bd -literal
\fB文字列 TCap 記述\fR
\fB変数 コード\fR
other_non_function_keys ko 自己にマップされたキーのリスト
arrow_key_map ma 矢印キーを rogue(1) の移動キーにマップ
memory_lock_above ml 現在の行より上の画面で見える部分のメモリを
ロック
memory_unlock mu 現在の行より上の画面で見える部分のメモリの
ロックを解除
linefeed_if_not_lf nl 下に移動するために使用
backspace_if_not_bs bc ^H でない場合に左に移動
.Ed
.Ss エントリのサンプル
以下のエントリは Concept\-100 について記述しており、
本書の中でも最も複雑なエントリの 1 つです。
.Pp
.Bd -literal
ca\||\|concept100\||\|c100\||\|concept\||\|c104\||\|concept100-4p\||\|HDS Concept\-100:\e
:al=3*\eE^R:am:bl=^G:cd=16*\eE^C:ce=16\eE^U:cl=2*^L:cm=\eEa%+ %+ :\e
:co#80:.cr=9^M:db:dc=16\eE^A:dl=3*\eE^B:do=^J:ei=\eE\e200:eo:im=\eE^P:in:\e
:ip=16*:is=\eEU\eEf\eE7\eE5\eE8\eEl\eENH\eEK\eE\e200\eEo&\e200\eEo\e47\eE:k1=\eE5:\e
:k2=\eE6:k3=\eE7:kb=^h:kd=\eE<:ke=\eEx:kh=\eE?:kl=\eE>:kr=\eE=:ks=\eEX:\e
:ku=\eE;:le=^H:li#24:mb=\eEC:me=\eEN\e200:mh=\eEE:mi:mk=\eEH:mp=\eEI:\e
:mr=\eED:nd=\eE=:pb#9600:rp=0.2*\eEr%.%+ :se=\eEd\eEe:sf=^J:so=\eEE\eED:\e
:.ta=8\et:te=\eEv \e200\e200\e200\e200\e200\e200\eEp\er\en:\e
:ti=\eEU\eEv 8p\eEp\er:ue=\eEg:ul:up=\eE;:us=\eEG:\e
:vb=\eEk\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\eEK:\e
:ve=\eEw:vs=\eEW:vt#8:xn:\e
:bs:cr=^M:dC#9:dT#8:nl=^J:ta=^I:pt:
.Ed
.Pp
行末文字に \e を使用すれば、複数行にエントリを続けることができます。
また空のフィールドを含めて可読性を上げることもできます
(ある行の最後のフィールドから次の行の最初のフィールドまでです)。
コメントは
.Dq #
で始まる行に含めることができます。
.Ss ケーパビリティの型
.Nm
のケーパビリティには次の 3 種類があります:
特定の機能を端末が持つかどうかを示す、ブール値ケーパビリテイ;
画面の大きさや他の属性の大きさを与える、数値ケーパビリティ;
そして特定の端末操作を行うために使用可能な文字列を与える、
文字列ケーパビリティです。
全てのケーバビリティが 2 文字のコードを持ちます。
例えば、Concept が
.Em 自動マージン
(行末に到達すると、自動的にリターンおよびラインフィードする機能)
を持つという事実は、ブール値ケーパビリティ
.Sy \&am
で示されます。
それゆえ Concept の記述は
.Sy \&am
を含みます。
.Pp
数値ケーパビリティの後には文字 `#' が続き、そして値が続きます。
上の例では、画面の桁数を示す
.Sy \&co
は Concept に対しては値 `80' を与えます。
.Pp
最後に、文字列値のケーパビリティ、例えば
.Sy \&ce
(行末までクリアのシーケンス) は、2 文字のコード、単一の `='、
そして次の `:' までの文字列で与えられます。
このケーパビリティにおいては、ミリ秒指定の遅延を `=' の後に指定可能です。
この場合、残りの文字列が送られた後、パディング文字が
.Xr tputs
により与えられ、この遅延を発生させます。
遅延は `20' のような数値または `3*' のような `*' が続く数値です。
`*' は、
この操作により影響を受ける行数に必要なパディングが比例すること、
そして指定量は影響を受ける各行に必要なパディングであることを示します。
(insert-character の場合でも、係数は影響を受ける
.Em 行
数です; ただし、端末が
.Sy \&in
を持っていてソフトウェアがこれを使用する場合以外は、この値は常に 1 です。)
`*' が指定される時、`3.5' のような形式により 1/10 ミリ秒単位で
行あたりの遅延を指定するのが便利な場合があります。
(10 進数 1 桁分のみ許されます。)
.Pp
多くのエスケープシーケンスが文字列値のケーパビリティで提供されますので、
ここでは容易に制御文字をエンコードできます。
.Sy \&\eE
.Dv ESC
文字にマップし、
.Sy \&^X
は適切な X に対して control-X にマップし、シーケンス
.Sy \&\en
.Sy \&\er
.Sy \&\et
.Sy \&\eb
.Sy \&\ef
はそれぞれ、ラインフィード、リターン、タブ、バックスペース、フォームフィード
にマップします。
最後に、文字は
.Sy \&\e
の後に 3 桁 8 進数として指定可能ですし、
.Sy \&^
.Sy \&\e
の文字は
.Sy \&\e^
.Sy \&\e\e
として与えられます。
ケーパビリティ中に
.Sy \&:
を入れる必要がある場合、8 進数で
.Sy \&\e072
とエスケープする必要があります。
文字列ケーパビリティ中に
.Dv NUL
文字を入れる必要がある場合、
.Sy \&\e200
とエンコードする必要があります。(
.Nm
を扱うルーチンは C の文字列を使用し、
出力の最上位ビットをかなり遅い段階で取り除くので、
.Sy \&\e200
.Sy \&\e000
として出力されます。)
.Pp
個々のケーパビリティをコメントアウトする必要があるかもしれません。
その場合には、ケーパビリティ名の前にピリオドを付けます。
例えば、例における最初の
.Sy \&cr
.Sy \&ta
を見てください。
.Ss 記述の準備
端末記述を準備する最も効果的な方法は、
.Nm
中の似た端末の記述を真似し、
.Xr \&vi
を使用して部分記述の正しさを確認することにより、
徐々に記述を構築するというものです。
非常に稀なことですが、端末によっては、
.Nm
ファイルの記述能力不足や
.Xr \&vi
のバグが露呈することがありますので注意してください。
あなたが新しく作った端末記述を簡単にテストするには、
あなたのホームディレクトリに
.Pa .termcap
という名前のファイルとして置き、
プログラムが
.Pa /usr/share/misc/termcap
の前にこれを見るようにします。
環境変数
.Ev TERMPATH
をあなたが作成した記述を含む絶対ファイルパス名のリスト
(空白もしくはコロンで区切ります) に設定することにより、
プログラムはこれらをリスト順に検索し、他は検索しないようになります。
.Xr termcap 3
を参照してください。
.Ev TERMCAP
環境変数は、通常
.Nm
エントリ自身に設定され、プログラム起動時にファイルを読むことを避けます。
.Pp
行挿入に対する適切なパディングを得るためには
(端末製造元が記述しなかった場合には)、
.Xr \&vi
を使用して
.Pa /etc/passwd
を 9600 ボーで編集し、およそ 16 行を画面中央から削除し、
それから `u' キーを何度か素早く押すという、厳しいテストを行います。
画面がぐちゃぐちゃになった場合には、
通常はより多くのパディングが必要となります。
同様のテストを文字挿入に対しても行うことが可能です。
.Ss 基本ケーパビリティ
表示の各行の桁数は
.Sy \&co
数値ケーパビリティで与えられます。
表示が
.Tn CRT
になされる場合、画面の行数は
.Sy \&li
ケーパビリティで与えられます。
カーソルが右マージンに到達した時に、表示が次の行の先頭に回り込む場合には、
.Sy \&am
ケーパビリティを持ちます。
端末が画面をクリア可能な場合には、そうするためのコードが
.Sy \&cl
文字列ケーパビリティで与えられます。
端末が (上書きされる文字の位置をクリアするのではなく) 上打ちする場合には、
.Sy \&os
ケーパビリティがあります。
端末がプリント端末でソフトコピーユニットを持たない場合、
.Sy \&hc
.Sy \&os
を指定してください。
.Pf ( Sy \&os
があてはまるのは Tektronix 4010 シリーズのようなストレージスコープ端末、
ハードコピー端末、そして
.Tn APL
端末です。)
カーソルを直ちに左端に移動するためのコードがある場合には、それを
.Sy \&cr
で指定します。
(通常これは復帰文字(キャリッジリターン)、すなわち
.Sy \&^M
です。)
可聴シグナル (ベルやビープなど) を発生するコードがある場合には、それを
.Sy \&bl
で指定します。
.Pp
(バックスペースのように) カーソルを 1 つ左に移動するコードがある場合には、
このケーパビリテイは
.Sy \&le
で指定します。
同様に、右上下に移動するコードはそれぞれ
.Sy \&nd ,
.Sy \&up ,
.Sy \&do
で指定します。
これらの
.Em ローカルなカーソル移動
は、カーソルが通過する文字を変化させてはなりません;
例えば、通常は
.Dq nd=\ \&
を使用してはなりません。例外は
端末が
.Sy \&os
ケーパビリティを持つ場合です。
この理由は、通過する文字を空白が消してしまうからです。
.Pp
ここで非常に重要なポイントは、
.Nm
でエンコードされるローカルなカーソル移動は、
.Tn CRT
表示の左端および上端では動作が未定義だということです。
ローカルなカーソル移動を使用している場合には、
左端においては
.Sy \&bw
が与えられているのでなければ、
プログラムはバックスペースを試してはなりませんし、
上端においては上への移動を試してはなりません。
.Pp
テキストを上にスクロールするには、プログラムは画面左下角に移動して、
.Sy \&sf
(インデックス) 文字列を送ります。
テキストを下にスクロールするには、プログラムは画面左上角に移動して、
.Sy \&sr
(逆インデックス) 文字列を送ります。
期待された角以外での
.Sy \&sf
および
.Sy \&sr
文字列の動作は未定義です。
パラメータ化したバージョンのスクロールシーケンスは
.Sy \&SF
および
.Sy \&SR
で、
.Sy \&sf
および
.Sy \&sr
と同様の意味ですが、
1 つパラメータを取ってその行数だけスクロールさせるというところが違います。
これらもまた、画面上の適切な角以外での動作は未定義です。
.Pp
.Sy \&am
ケーパビリティは、画面の右端にてテキスト出力を行った時に、
カーソルがその位置に留まるか否かを示します。
しかしこれは、最後の桁での
.Sy \&nd
を必ずしも意味しません。
左端らかの左向きのローカル移動は、
.Sy \&bw
が与えられている場合のみ定義されます;
この場合、左端における
.Sy \&le
は、直前行の右端へ移動します。
例えば、画面の周囲に箱を描画する場合に便利です。
端末が切替選択式の自動マージンを持つ場合には、
.Nm
記述は通常この機能、
.Em すなわち
.Sy \&am
がオンであることを仮定します。
次行の先頭桁への移動コマンドを端末が持つ場合、このコマンドは
.Sy \&nw
(改行) で与えることができます。
これを使用して現在の行の残りの部分をクリアすることができますので、
正しく動作する
.Tn \&CR
および
.Tn \&LF
を持たない場合には、これらの代りに使用することができます。
.Pp
これらの機能で、ハードコピー端末および
.Dq ガラスの tty
端末を記述するためには十分です。
Teletype model 33 は以下のように記述されています
.Bd -literal -offset indent
T3\||\|tty33\||\|33\||\|tty\||\|Teletype model 33:\e
:bl=^G:co#72:cr=^M:do=^J:hc:os:
.Ed
.Pp
また Lear Siegler
.Tn ADM Ns \-3
は以下のように記述されています
.Bd -literal -offset indent
l3\||\|adm3\||\|3\||\|LSI \s-1ADM\s0-3:\e
:am:bl=^G:cl=^Z:co#80:cr=^M:do=^J:le=^H:li#24:sf=^J:
.Ed
.Ss パラメータ化された文字列
カーソル位置設定などのパラメータを要求する文字列は、
パラメータ化された文字列ケーパビリティで記述します。
ここでは
.Xr printf 3
に似たエスケープ
.Sy \&%x
を使用します。その他の文字は変更されずに渡されます。
例えば、カーソル位置設定のために
.Sy \&cm
ケーパビリティが与えられますが、これは 2 つのパラメータを使用します:
それぞれ移動先の行と桁です。
(行と桁は 0 から番号が振られ、ユーザから見える物理画面を参照します。
見えないメモリは参照しません。
端末がメモリ相対のカーソル位置設定機能を持つ場合には、
.Sy \&CM
という似たケーパビリティで指定されます。)
.Pp
.Sy \&%
エンコードは以下の意味を持ちます:
.Bl -column xxxxx
.It %% Ta No `%'
を出力
.It "%d 値を"
.Xr printf
%d のように出力
.It "%2 値を"
.Xr printf
%2d のように出力
.It "%3 値を"
.Xr printf
%3d のように出力
.It "%. 値を"
.Xr printf
%c のように出力
.It "%+" Ns Em x Ta No 値に
.Em x
を加え、% を実行
.It "%>" Ns Em \&xy Ta No もし
値 \&>
.Em x
の場合には
.Em y
を加える。無出力
.It "%r 2 つのパラメータの順を逆転。無出力"
.It "%i 1 増加。無出力"
.It "%n 全パラメータに関した 0140 との排他的論理和 (Datamedia 2500)"
.It "%B" Ta Tn BCD No "(16*(value/10)) + (value%10) を実行。無出力"
.It "%D 逆コーディング (value \- 2*(value%16))。無出力 (Delta Data)"
.El
.Pp
Hewlett-Packard 2645 において第 3 行第 12 桁に移動する場合、
.Dq \eE&a12c03Y
を送って 6 ミリ秒パディングする必要があります。
行と桁の関係がここでは逆であり、行および桁は 2 桁の整数として送る
ことに注意してください。
よって、この端末の
.Sy \&cm
ケーパビリティは
.Dq Li cm=6\eE&%r%2c%2Y
となります。
.Pp
Datamedia 2500 は現在の行と桁を
.Dq \&%.
でバイナリエンコードして送る必要があります。
.Dq \&%.
を使用する端末は、カーソルをバックスペース
.Po Sy \&le Pc
させる機能と画面上で 1 行カーソルを上に移動
.Po Sy \&up Pc
する機能を持つ必要があります。
なぜなら
.Sy \&\en ,
.Sy \&^D ,
.Sy \&\er
を送出するのは常に安全というわけではなく、
システムがこれらに変更を加えたり捨てたりする場合があるからです。(
.Nm
を使用するプログラムは、タブが展開されないように端末モードを設定し、
.Sy \&\et
が安全に送られるようにしなければなりません。
これは Ann Arbor 4080 において本質的です。)
.Pp
最後の例は Lear Siegler
.Tn ADM Ns \-3a
です。この端末では行と桁は空白文字で与えますので、
.Dq Li cm=\eE=%+ %+\
となります。
.Pp
絶対値での行や桁のカーソル位置設定は、単一パラメータのケーパビリティ
.Sy \&ch
(水平絶対位置) および
.Sy \&cv
(垂直絶対位置) で与えられます。
一般的な 2 パラメータシーケンスよりもこれらを使用する方が短かいことがあり
(Hewlett-Packard 2645 の場合)、
.Sy \&cm
よりも好んで使用され得ます。
パラメータ化されたローカル移動
.Pf ( Em 例えば
.Ar n
個右に移動) の機能がある場合、
.Sy \&DO ,
.Sy \&LE ,
.Sy \&RI ,
.Sy \&UP
として与えられます。これらは単一パラメータを取り、
いくつ移動するのかを示します。
第 1 に Tektronix 4025 のような
.Sy \&cm
を持たない端末で有用です。
.Ss カーソル移動
.Pp
端末が高速にカーソルをホーム (画面の左上角) に移動する方法がある場合、これは
.Sy \&ho
として与えられます。
同様に、高速に左下角に移動する方法は、
.Sy \&ll
で与えられます;
これには、ホームポジションにて
.Sy \&up
を使用することによる上への移動を含みますが、
プログラム自身がこれを実行してはなりません (ただし
.Sy \&ll
が実行する場合を除く)。
なぜならプログラムはホームポジションでの上への移動の効果を
仮定できないからです。)
ホームポジションは、カーソル位置 (0,0) と同じです:
画面の左上角であり、メモリは無関係です。
(それゆえ、Hewlett-Packard 端末の
.Dq \eEH
シーケンスは、
.Sy \&ho
としては使用できません。)
.Ss 領域クリア
端末が、現在位置に留まりつつ、現在位置から行末までクリア可能である場合には、
この機能は
.Sy \&ce
として与えられます。
端末が、現在位置から描画終端までをクリア可能である場合には、この機能は
.Sy \&cd
として与えられます。
.Sy \&cd
は行の最初の桁においてのみ起動可能です。(よって、真の
.Sy \&cd
が利用できない場合、この機能は多数の行を削除する要求にてシミュレート可能です。)
.Ss 行の挿入および削除
端末が、カーソルがいる行の前に新しい空行を開けることが可能な場合、この機能は
.Sy \&al
として与えられます; この機能を起動するには行頭にいる必要があります。
行を開けると、カーソルは新しい空行の左端に移動します。
端末が、カーソルがいる行を削除可能な場合、この機能は
.Sy \&dl
として与えられます;
この機能を起動するには削除する行の先頭にいる必要があります。
1 つパラメータを取ってその数だけ行を挿入および削除する
.Sy \&al
および
.Sy \&dl
の変形は、
.Sy \&AL
および
.Sy \&DL
として与えられます。
端末が、(VT100 のように) 設定可能なスクロール領域を持つ場合、
設定コマンドは 2 つのパラメータを取る
.Sy \&cs
ケーパビリティとして記述されます:
パラメータはスクロール領域の上端行および下端行です。
なんとしたことか、このコマンド使用後のカーソル位置は未定義です。
行挿入および行削除の効果はこのコマンドを使用することで得られます \(em
.Sy \&sc
および
.Sy \&rc
(カーソルの保存と回復) コマンドもまた有用です。
画面の上端または下端における行挿入は、
真の行挿入/削除を持たない多くの端末において、
.Sy \&sr
または
.Sy \&sf
にて実行できます。
また、真の行挿入/削除機能を持つ端末においても、
こちらの方が高速な場合が多いです。
.Pp
メモリの一部を、
全コマンドが影響するウィンドウとして定義する能力を端末が持つ場合、
これはパラメータ化された文字列
.Sy \&wi
で与えられます。
4 つのパラメータは順番に、メモリにおける開始行・終了行・開始桁・終了桁です。
(この
.Xr terminfo
ケーパビリティは完全性のために記述しています。
.Nm
を使用するプログラムはこの機能を使ってはいないでしょう。)
.Pp
端末が画面より上方の表示メモリを保存する場合、
.Sy \&da
ケーパビリティが与えられます;
下方の表示メモリが保存される場合、
.Sy \&db
が与えられます。
これらの機能は、
行削除やスクロールにより非空白行が下から現れることや、
.Sy \&sr
による後退スクロールにより非空白行が上から現れることを示します。
.Ss 文字の挿入および削除
.Nm
にて記述可能な文字挿入および削除に関しては、
基本的に 2 種類のインテリジェント端末があります。
最も一般的な文字の挿入/削除操作は現在行の文字にのみ作用し、
行末までの文字を厳格にシフトします。
他の端末、Concept\-100 や Perkin Elmer Owl では、
タイプされた空白とタイプされたものではない空白を区別し、
挿入/削除に際するシフトは
画面上のタイプされたものではない空白にのみ適用されます。
タイプされたものではない空白は、削除されるか、
2 つのタイプされたものではない空白に拡張されます。
使用している端末の種類を判別するためには、
画面をクリアし、カーソル移動を含めてテキストをタイプします。例えば
.Dq Li abc\ \ \ \ def
を、
.Dq abc
.Dq def
の間でローカルなカーソル移動 (空白ではありません) を行ってタイプします。
その後、カーソルを
.Dq abc
の前に移動し、端末を挿入モードにします。
そこで文字をタイプすると
行の残りの部分が厳密にシフトされ終端から出て行く場合、
あなたの端末は空白とタイプされたものではない位置とを区別しません。
もし挿入に際して、
.Dq abc
.Dq def
のところまでシフトし、
それから一緒に現在の行の終端まで移動して次行に移動する場合、
あなたの端末は 2 番目の種類の端末を持っていますので、
.Dq ナル挿入
を表すケーパビリティ
.Sy \&in
を指定します。
これら 2 つは論理的に別の属性
(1 行
.Em 対
複数行の挿入モードでタイプされたものではない空白を特別に扱う) ですが、
挿入モードをどちらかで記述できない端末を我々は見たことがありません。
.Pp
.Nm
エントリは、挿入モードを持つ端末も、
単純なシーケンスを送って現在の行に空白位置を開ける端末も、両方記述可能です。
.Sy \&im
は挿入モードに入るシーケンスを表します。
.Sy \&ei
は挿入モードから抜けるシーケンスを表します。そして、
.Sy \&ic
は、挿入する文字を送る直前に送る必要があるシーケンスを表します。
真の挿入モードを持つほとんどの端末は、
.Sy \&ic
を指定しません;
一方、画面上の位置を開けるためにシーケンスを使用する端末は、
これを指定する必要があります。
(端末が両方の機能を持つ場合には、挿入モードは通常
.Sy \&ic
が好まれます。実際に両機能を組み合せる必要がある端末の場合以外は、
両方を指定しないでください。)
挿入後にパディングが必要な場合、ミリ秒数にて
.Sy \&ip
(文字列オプション) で与えます。
1 文字挿入後に送る必要があるシーケンスもまた
.Sy \&ip
で指定します。`挿入モード' である必要があり、
なおかつ挿入文字の前に特別のコードを送る必要がある端末の場合、
.Sy \&im Ns / Sy \&ei
.Sy \&ic
が与えられ、両方を使用します。
単一のパラメータ
.Em n
を取る
.Sy \&IC
ケーパビリティは、
.Sy \&ic
の効果を
.Em n
回繰り返します。
.Pp
挿入モード中で同一行の文字を削除するために、時々移動が必要になります
.Pf ( Em 例えば
挿入位置の後にタブがある場合)。
挿入モード中で移動を許す端末の場合、ケーパビリティ
.Sy \&mi
を指定して、このような場合の挿入を高速化できます。
.Sy \&mi
を省略しても速度に影響するだけです。
端末によっては (特に Datamedia のものでは)、挿入モードの動作方法の理由により、
.Sy \&mi
を指定してはなりません。
.Pp
最後に、1 文字削除のために
.Sy \&dc
を指定可能です。
.Sy \&DC
は単一パラメータ
.Em n
を取り
.Em n
文字削除します。
そして削除モードは、
.Sy \&dm
および
.Sy \&ed
で、削除モードの入り方および抜け方を示します (削除モードとは、
.Sy \&dc
が動作するために端末がいるべきモードです)。
.Ss ハイライト・下線・可視ベル
端末が 1 つまたはそれ以上の種類の表示属性を持つ場合、
これらは様々な方法で表現されていることでしょう。
1 つの表示形式を
.Em 強調表示モード
として選択してください。このモードは十分高いコントラストで見易く、
エラーメッセージや注意を引く表示のハイライトに適します。
(選択可能ならば、反転表示に半分の明るさ、もしくは反転表示のみが良いでしょう。)
強調表示モードに入るシーケンスおよび出るシーケンスは、それぞれ
.Sy \&so
および
.Sy \&se
で与えられます。
.Tn TVI
912 や Teleray 1061 のように、
強調表示モードの出入りのコードが、
1 つ 2 つの空白やごみの文字を画面上に残す場合、
.Sy \&sg
を指定して、何文字残されるのかを指定してください。
.Pp
下線の開始および下線の終了は、それぞれ
.Sy \&us
および
.Sy \&ue
で指定します。
下線モード変更によるごみは、
.Sy \&sg
同様
.Sy \&ug
として指定します。
Microterm Mime のように、現在位置の文字に下線を引き、
カーソルをひとつ右の位置に移動するコードを端末が持つ場合、
このコードは
.Sy \&uc
で指定します。
.Pp
その他もろもろのハイライトモードに入るケーパビリティには、
.Sy \&mb
(点滅)、
.Sy \&md
(ボールドまたは更に明るい)、
.Sy \&mh
(暗いまたは半輝度)、
.Sy \&mk
(空白または見えないテキスト)、
.Sy \&mp
(保護状態)、
.Sy \&mr
(反転表示)、
.Sy \&me
.Pf ( Em 全て
の属性モードをオフ)、
.Sy \&as
(別の文字セットモードに入る) そして
.Sy \&ae
(別の文字セットモードから抜ける) があります。
これらのモードを単独でオンにした場合、
他のモードをオフにする場合もありますし、オフにしない場合もあります。
.Pp
モードの任意の組み合わせを設定するシーケンスがある場合、
これは 9 個のパラメータを取る
.Sy \&sa
(属性設定) で指定します。
それぞれのパラメータは 0 または 1 であり、
対応する属性がオンまたはオフされます。
9 個のパラメータは順番に次の通りです: 強調表示・下線・反転・点滅・
暗い・ボールド・空白・保護・別の文字セット。
全モードが
.Sy \&sa
によりサポートされている必要は無く、
サポートされているものに対応するコマンドが存在することのみ必要です。(
.Nm
を使用するプログラムはこのケーパビリティをサポートしていないでしょう。
このケーパビリティは
.Xr terminfo
との互換性のために定義しています。)
.Pp
各文字セルに追加された属性ビットを管理するのではなく、
.Dq マジッククッキー
グリッチ
.Pf ( Sy \&sg
および
.Sy \&ug )
を持つ端末では、
描画アルゴリズムに影響するモード設定シーケンスを受信した時に、
特別な
.Dq クッキー
または
.Dq ごみ文字
を画面に残します。
.Pp
Hewlett-Packard 2621 のように、
新しい行へ移動した時やカーソル位置を設定した時に
自動的に強調表示モードから抜ける端末があります。
このような端末においては、強調表示モードを使用するプログラムは、
カーソル移動や改行送信前に強調表示モードから抜ける必要があります。
このような問題が無い端末では、
.Sy \&ms
ケーパビリティが存在し、このオーバヘッドが不要であることを示します。
.Pp
エラーを静かに伝えるために端末が画面をフラッシュさせる方法を持つ場合
(ベルの代りです)、これは
.Sy \&vb
として指定します; この機能はカーソルを移動してはなりません。
.Pp
カーソルが最下行になくても、
通常時よりも見易くする必要がある場合
(例えば、点滅していない下線を、
より見付け易いブロックや点滅する下線に変更する場合)、このシーケンスは
.Sy \&vs
で与えます。
カーソルを完全に見えなくする方法がある場合には、これは
.Sy \&vi
ケーパビリティで指定します。
これらのモードの効果を打ち消すケーパビリティ
.Sy \&ve
も指定する必要があります。
.Pp
(特別なコードを必要とせずに) 下線を引かれた文字を端末が正しく表示する場合、
しかもその機能が上打ちではない場合、
このケーパビリティを
.Sy \&ul
で示します。
上打ちを空白にて消去可能な場合、これは
.Sy \&eo
で示します。
.Ss キーパッド
キーを押した時にコードを送出するキーパッドを持つ端末では、
この情報を指定することができます。
キーパッドがローカルモードにおいてのみ動作する端末は
扱うことができないことに注意してください。
(これは例えば Hewlett-Packard 2621 でシフト状態でないキーにあてはまります)。
キーコードの送出 / 非送出をキーパッドに設定できる場合は、
設定のためのコードは
.Sy \&ks
および
.Sy \&ke
で指定します。
そうでない場合はキーパッドは常にコードを送出するものと仮定されます。
left-arrow, right-arrow, up-arrow, down-arrow, home のキーで送出されるコードは
それぞれ
.Sy \&kl ,
.Sy \&kr ,
.Sy \&ku ,
.Sy \&kd ,
.Sy \&kh ,
で指定します。
f0, f1, ..., f9 のようなファンクションキーがある場合には、
これらのキーが送るコードは
.Sy \&k0 ,
.Sy \&k1 ,
...,
.Sy \&k9
で指定します。
これらのキーがデフォルトの f0 から f9 以外のラベルを持つ場合、このラベルは
.Sy \&l0 ,
.Sy \&l1 ,
...,
.Sy \&l9
で指定します。
その他の特殊キーで送出されるコードは次のように与えられます:
.Sy \&kH
(ホームダウン)、
.Sy \&kb
(バックスペース)、
.Sy \&ka
(全タブクリア)、
.Sy \&kt
(この桁のタブストップをクリア)、
.Sy \&kC
(画面クリアまたは消去)、
.Sy \&kD
(文字削除)、
.Sy \&kL
(行削除)、
.Sy \&kM
(挿入モードから抜ける)、
.Sy \&kE
(行末までクリア)、
.Sy \&kS
(画面の終りまでクリア)、
.Sy \&kI
(文字挿入または挿入モードに入る)、
.Sy \&kA
(行挿入)、
.Sy \&kN
(次のページ)、
.Sy \&kP
(前のページ)、
.Sy \&kF
(前進/下降スクロール)、
.Sy \&kR
(後退/上昇スクロール)、
.Sy \&kT
(この桁にタブストップを設定)。
更に、キーパッドが 4 つの矢印キーを含む 3 × 3 のキー配列を持つ場合、
他の 5 つのキーは
.Sy \&K1 ,
.Sy \&K2 ,
.Sy \&K3 ,
.Sy \&K4 ,
.Sy \&K5
で指定します。
3 × 3 の方向パッドが必要な時、これらのキーは有用です。
以前
.Dq その他
のファンクションキーを記述するために使用された、廃れた
.Sy \&ko
ケーパビリティは、上記のケーパビリティにより完全に置き換えられました。
.Pp
.Sy \&ma
エントリはまた、
端末の矢印キーが 1 文字矢印キーであることを示すためにも使用されます。
これは廃れた方法ですが、
.Sy \&vi
のバージョン 2 で未だ使用されています。
メモリ制約の理由で、このコマンドを使用しているミニコンピュータがあるでしょう。
このフィールドは
.Sy \&kl ,
.Sy \&kr ,
.Sy \&ku ,
.Sy \&kd ,
.Sy \&kh
と冗長関係にあります。
このフィールドは 2 文字の複数グループから構成されます。
各グループにおいては、最初の文字は矢印キーが何を送るかを表し、
2 番目の文字は対応する
.Sy \&vi
のコマンドを表します。
コマンドは、
.Ar h
.Sy \&kl
に、
.Ar j
.Sy \&kd
に、
.Ar k
.Sy \&ku
に、
.Ar l
.Sy \&kr
に、
.Ar H
.Sy \&kh
に対応します。
例えば Mime では
.Dq Li ma=^Hh^Kj^Zk^Xl
となり、矢印キーの left (^H), down (^K), up (^Z), down (^X) を示します。
(Mime には home キーはありません。)
.Ss タブおよび初期化
これらのケーパビリティを使用するプログラムを実行する時に
端末を特別なモードにすることが必要な場合、
このモードに入るコードおよび出るコードは
.Sy \&ti
.Sy \&te
で指定します。
これが関係あるのは、例えば Concept のようなメモリページを複数持つ端末です。
端末がメモリ相対のカーソル位置設定のみ持ち、
画面相対のカーソル位置設定を持たない場合には、
画面サイズのウィンドウに表示を固定し、
カーソル位置設定が正しく動作するようにする必要があります。
これは Tektronix 4025 でも使用され、
.Sy \&ti
はコマンド文字を
.Nm
が使うように設定します。
.Pp
他のケーパビリティとしては、端末初期化文字列
.Sy \&is
や、長い初期化文字列を格納するファイル名
.Sy \&if
があります。
これらの文字列は、端末を
.Nm
記述と矛盾がないモードに設定するものと期待されています。
これらは通常、ユーザがログインするたびに、
.Xr tset
プログラムによって端末に送られます。
印字は次の順に行われます: まず
.Sy \&is ;
次に
.Sy \&ct
.Sy \&st
によるタブ設定;
そして最後に
.Sy \&if
です。
.Pf ( Xr terminfo
では
.Sy \&is
の代りに
.Sy \&i\&1-i2
を使用し、プログラム
.Sy \&iP
を実行し、他の初期化の後
.Sy "\&i\&3"
を印字します。)
まったくわけがわからない状態から回復するためのよりハードな
リセットシーケンスの組が、類推できる名前
.Sy \&rs
および
.Sy \&rf
で与えられます。
これらの文字列は、端末がはまった状態に陥いった時に使用される
.Xr reset
プログラムにより出力されます。
.Pf ( Xr terminfo
.Sy \&rs
の代りに
.Sy "\&r1-r3"
を使用します。)
これらのコマンドが画面上を騒がせ、
なおかつログイン時に必ずしも必要ではない場合に限り、
通常これらは
.Sy \&rs
および
.Sy \&rf
に格納します。
例えば、VT100 を 80 桁モードに設定するコマンドは、普通に考えると
.Sy \&is
の一部に入れるでしょうが、これは画面に困ったゴミを生じさせますし、
端末は普段既に 80 桁モードですので、実際は入れる必要はありません。
.Pp
端末がハードウェアタブを持つ場合、
次のタブストップまで進むコマンドは
.Sy \&ta
で指定します (通常は
.Sy \&^I
です)。
直前のタブストップへ左向きに移動する
.Dq バックタブ
コマンドは、
.Sy \&bt
で指定します。
タブストップが端末には送られずに計算機により展開されることを
端末ドライバモードが示す場合、
.Sy \&ta
.Sy \&bt
が存在するとしても、プログラムでこれらを使用しないというのが約束になって
います。
なぜなら、ユーザがタブストップを正しく設定していないかもしれないからです。
端末電源オン時に各
.Ar n
位置ごとにハードウェアタブが初期設定される端末の場合、
数値パラメータ
.Sy \&it
を使用し、タブストップ間隔を示します。
このコマンドは通常
.Xr tset
コマンドが使用し、ドライバモードをハードウェアタブ展開に設定するか否か、
およびタブストップを設定するか否かを決定します。
端末が不揮発性メモリにタブストップを保存可能な場合、
.Nm
記述はタブストップが正しく設定されるものと仮定できます。
.Pp
タブストップを設定およびクリアするコマンドが存在する場合、
これらのコマンドは
.Sy \&ct
(全タブストップをクリア) および
.Sy \&st
(全ての行における現在の桁にタブストップを設定) で指定します。
タブ設定のために、ここで示した方法より複雑なシーケンスが必要な場合、
このシーケンスは
.Sy \&is
.Sy \&if
で指定します。
.Ss 遅延
端末ドライバのパディングを制御するケーパビリティもあります。
これらのケーパビリティは、第 1 にハードコピー端末にて必要とされ、
.Xr tset
プログラムにより端末ドライバのモードを適切に設定するために使用されます。
ケーパビリティ
.Sy \&cr ,
.Sy \&sf ,
.Sy \&le ,
.Sy \&ff ,
.Sy \&ta
に埋め込まれる遅延は、端末ドライバの適切な遅延ビットを設定する効果があります。
.Sy \&pb
(パディングボーレート) を指定した場合、
この値より低いボーレートにおいては、これらの値は無視されます。
.Bx 4.2
.Xr tset
では、遅延は別の数値ケーパビリティ
.Sy \&dC ,
.Sy \&dN ,
.Sy \&dB ,
.Sy \&dF ,
.Sy \&dT
で与えられます。
.Ss その他
端末が
.Dv NUL
(0) 文字以外のパディング文字を必要とする場合には、
.Sy \&pc
で指定します。
.Sy \&pc
文字列の最初の文字のみが使用されます。
.Pp
端末がカーソル位置を保存および回復するコマンドを持つ場合には、これらは
.Sy \&sc
および
.Sy \&rc
で指定します。
.Pp
通常はソフトウェアが使用しない追加の
.Dq ステータス行
を端末が持つ場合、この事実を示すことができます。
ステータス行が最下行の下に追加の行として見える場合には、ケーパビリティ
.Sy \&hs
を指定します。
ステータス行の位置への移動およびステータス行からの復帰のための特別な文字列は、
.Sy \&ts
および
.Sy \&fs
で指定します。
.Pf ( Sy \&ts
の前にカーソルが存在した位置に、
.Sy \&fs
はカーソルを戻す必要があります。必要ならば、
.Sy \&sc
および
.Sy \&rc
の文字列を
.Sy \&ts
および
.Sy \&fs
に含めてこの効果を得ることができます。)
ケーパビリティ
.Sy \&ts
は、ステータス行の何桁目にカーソルが移動すべきを示すパラメータを 1 つ取ります。
エスケープシーケンスや他の特殊コマンド、
例えばタブがステータス行でも動作するならば、フラグ
.Sy \&es
を指定します。
ステータス行をオフにする (または内容を消去する) 文字列は、
.Sy \&ds
で指定します。
通常、ステータス行の幅は画面の他の部分、
.Em すなわち
.Sy \&co
と同じであると仮定されます。(端末が行全体の使用を許さない等の理由で)
ステータス行の幅が異なる場合には、その幅を桁数で数値パラメータ
.Sy \&ws
で指定します。
.Pp
端末が半行上下に移動可能な場合、
.Sy \&hu
(半行上) および
.Sy \&hd
(半行下) で指定します。
これは、ハードコピー端末で上付き文字および下付き文字を使用するために有用です。
ハードコピー端末がページを排出して次のページに移動 (フォームフィード) する
ことができる場合、これは
.Sy \&ff
(通常
.Sy \&^L
です) で指定します 。
.Pp
指定した文字を指定した回数繰り返すコマンド
(同一文字を何度も送出する時間を節約します) がある場合、
パラメータ化された文字列
.Sy \&rp
で指定します。
最初のパラメータは繰り返される文字であり、2 番目のパラメータは
繰り返す回数です。(これは
.Xr terminfo
の機能であり、
.Nm
を使用するプログラムはこの機能をサポートしていないでしょう。)
.Pp
Tektronix 4025 のように端末が設定可能なコマンド文字を持つ場合、
.Sy \&CC
で指定します。
全ケーパビリティで使用されるプロトタイプコマンド文字が選択されます。
この文字を識別するために、この文字が
.Sy \&CC
ケーパビリティにより与えられます。
次の約束をサポートしている
.Ux
システムがあります: すなわち、
.Ev \&CC
環境変数を検査し、もし設定されている場合には、
プロトタイプ文字を環境変数で設定されているものと置き換えるという約束です。
このように
.Ev \&CC
環境変数を使用することは、
.Xr make 1
との衝突が発生しますので、非常に悪い考えです。
.Pp
特定の既知の端末を表現するものではない端末記述、
.Em switch ,
.Em dialup ,
.Em patch ,
.Xr network
では
.Sy \&gn
(一般) ケーパビリティを設定し、
端末に対してどのように話しかければよいのか分らないと
プログラムが文句を言えるようにします。
(このケーパビリティは、エスケープシーケンスが既知である
.Em 仮想
端末記述にはあてはまりません。
.Pp
端末が xoff/xon
.Pq Tn DC3 Ns / Ns Tn DC1
ハンドシェークを使用してフロー制御する場合、
.Sy \&xo
を指定します。
コストに関するより良い判定を可能とするために
依然としてパディング情報を指定する必要がありますが、
実際にパディング文字が送出されるということはありません。
.Pp
シフトキーのように動作し、送出される文字の 8 ビット目をセットする
.Dq メタキー
を端末が備える場合、
.Sy \&km
を設定してこの事実を示すことができます。
これが指定されない場合は、ソフトウェアは 8 ビット目はパリティであると仮定し、
通常これをクリアしてしまいます。
.Dq メタモード
をオンおよびオフする文字列が存在する場合、これらは
.Sy \&mm
および
.Sy \&mo
で指定します。
.Pp
画面 1 枚分より多くのメモリ行を端末が備える場合、
メモリの行数を
.Sy \&lm
で指定します。
明示的に値 0 を指定すると、行数は固定ではないものの
画面分より多くのメモリがあることを示します。
.Pp
.Ux
システムの仮想端末プロトコルにてサポートされる端末である場合、
端末番号は
.Sy \&vt
で与えられます。
.Pp
端末に接続された外部プリンタを制御するメディアコピー文字列は、
次のように与えられます。すなわち
.Sy \&ps :
画面内容の印字;
.Sy \&pf :
プリンタオフ; および
.Sy \&po :
プリンタオンです。
プリンタオン時には、端末に送られる全てのテキストはプリンタに送られます。
プリンタオン時に端末画面にもテキストが表示されるか否かは未定義です。
このバリエーションである
.Sy \&pO
は単一のパラメータを取り、
パラメータ値で指定される文字数だけプリンタをオンにし、
その後プリンタをオフにします。
このパラメータは 255 を越えてはなりません。
.Sy \&pf
を含む全テキストは、
.Sy \&pO
が有効である間、透過的にプリンタに渡されます。
.Pp
プログラムファンクションキーへの文字列は
.Sy \&pk ,
.Sy \&pl ,
.Sy \&px
で指定します。
これらの文字列は次の 2 つのパラメータを取ります:
それぞれ、プログラム対象のファンクションキー番号 (0 から 9 まで) と、
プログラムの文字列です。
この範囲外のファンクションキー番号を指定すると、
ここでは定義できないキーを端末依存の方式でプログラムするかもしれません。
これらのケーパビリティの差異は、
.Sy \&pk
は指定したキーを押すと指定した文字列を
ユーザがタイプしたものとして扱うものであり;
.Sy \&pl
はローカルモードの端末にて指定した文字列を実行させるものであり;
.Sy \&px
は指定した文字列を計算機に送出させるものである点です。
不幸なことに、
.Nm
では文字列パラメータが定義されていないため、
.Xr terminfo
のみがこれらのケーパビリティをサポートします。
.Ss グリッチと不良
文字 `~' を表示できない Hazeltine 端末は
.Sy \&hz
を指定する必要があります。
.Pp
.Sy \&nc
ケーパビリティは現在廃れていますが、
以前は Datamedia 端末を表すために使用していました。
この端末では、キャリッジリターンに対して
.Sy \&\er \en
をエコーし、続くラインフィードを無視します。
.Pp
Concept のように
.Sy \&am
による折り返しの直後のラインフィードを無視する端末では、
.Sy \&xn
を指定します。
.Pp
強調表示を取り除くために (単に通常のテキストを上書きするだけで済まず)
.Sy \&ce
が必要な場合、
.Sy \&xs
を指定します。
.Pp
タブによって移動された全ての文字が空白にされてしまう Teleray 端末では、
.Sy \&xt
(破壊的なタブ) を指定する必要があります。
このグリッチは、\*(lqマジッククッキー\*(rq の先頭に
カーソル位置を設定できないことと、
強調表示を消すためには行削除と行挿入が必要であることも表現します。
.Pp
.Dv ESC
.Sy \&^C
の文字を正しく送出できない Beehive Superbee は
.Sy \&xb
を指定し、
.Dq \&f\&1
キーが
.Dv ESC
として使用され、
.Dq \&f\&2
キーが ^C として使用されることを示します。(
特定の Superbee のみがこの問題を持ち、これは
.Tn ROM
に依存します。)
.Pp
ある特定の端末に他の問題がある場合、
.Sy x Ns Em x
の形式のケーパビリティを追加することにより正しく動作するようにしても
構いません。
.Ss 似た端末
2 つの非常によく似た端末がある場合、
例外はあるもののもう一方にそっくりであると、
一方を定義することができます。
文字列ケーパビリティ
.Sy \&tc
には似た端末の名前を与えます。
このケーパビリティは
.Em 最後
である必要があり、組み合わせたエントリの長さは 1024 を越えてはなりません。
.Sy \&tc
の前に指定したケーパビリティは
.Sy \&tc
により呼び出される端末タイプの記述に優先します。
ケーパビリティのキャンセルのためには
.Sy \&xx@
.Sy \&tc
の呼び出しの左に置きます。
.Sy \&xx
はキャンセルされるケーパビリティです。
例えば、エントリ
.Bd -literal -offset indent
hn\||\|2621\-nl:ks@:ke@:tc=2621:
.Ed
.Pp
は、ビジュアルモードでファンクションキーラベルをオンにしないために
.Sy \&ks
.Sy \&ke
のケーパビリティを持たない
.Dq 2621\-nl
を定義します。
端末の種々のモードやユーザの種々のプリファレンスを記述するために有用です。
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/termcap.db -compact
.It Pa /usr/share/misc/termcap
端末記述を格納するファイル
.It Pa /usr/share/misc/termcap.db
端末記述を格納するハッシュデータベースファイル
.Pf ( Xr cap_mkdb 1
を参照)。
.El
.Sh 関連項目
.Xr cap_mkdb 1 ,
.Xr ex 1 ,
.Xr more 1 ,
.Xr tset 1 ,
.Xr ul 1 ,
.Xr vi 1 ,
.Xr curses 3 ,
.Xr printf 3 ,
.Xr termcap 3 ,
.Xr term 5
.Sh 警告およびバグ
.Em 注 :
.Nm
の機能は
.At V
Release 2.0 の
.Xr terminfo
に置き換えられました。
.Dq 廃れた
とされるケーパビリティを使用していなければ、
移行のための苦痛は比較的少ないです。
.Pp
現在、行数および桁数は、
termcap エントリに格納するものと同様に、カーネルが格納します。
現在、ほとんどのプログラムはカーネルの情報を最初に使用します;
このファイルに記述されている情報は、
カーネルが情報を持たない時のみ使用されます。
.Pp
.Xr \&vi 1
プログラムは文字列ケーパビリティには 256 文字しか許しませんが、
.Xr termlib 3
のルーチンはこのバッファの溢れをチェックしません。
単一エントリの総計の長さは 1024 を越えてはなりません
(エスケープされた改行は除きます)。
.Pp
全てのプログラムが全てのエントリをサポートしているわけではありません。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 3
に登場しました。
diff --git a/ja/man/man5/ttys.5 b/ja/man/man5/ttys.5
index 660431d84d..338286aa8a 100644
--- a/ja/man/man5/ttys.5
+++ b/ja/man/man5/ttys.5
@@ -1,167 +1,167 @@
.\" 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.
.\"
.\" WORD: line 回線
.\"
.\" from: @(#)ttys.5 8.1 (Berkeley) 6/4/93
+.\" %Id: ttys.5,v 1.9 1997/11/21 07:43:53 charnier Exp %
.\" jpman %Id: ttys.5,v 1.3 1998/06/17 07:52:43 kumano Stab %
-.\" %Id: ttys.5,v 1.3.2.3 1997/12/15 07:10:54 charnier Exp %
.\" "
.Dd November 17, 1996
.Dt TTYS 5
.Os
.Sh 名称
.Nm ttys
.Nd 端末初期設定情報
.Sh 解説
ファイル
.Nm
は端末特殊ファイルを初期化したり制御するあらゆるルーチンが使用する
情報を含んでいます。
この情報は
.Xr getttyent 3
ライブラリルーチンで読まれます。
.Nm
ファイルの中には 1 つのスペシャルデバイスファイルにつき 1 行の記述が
あります。
フィールドはタブやスペースにより区切られます。
1 語以上からなるフィールドはダブルクォート (``"'') で括られていなければ
なりません。
空行やコメントはファイル中のどこに現れても構いません。
コメントはハッシュ記号 (``#'') および改行によって区切られます。
指定されていないフィールドはデフォルトでナルです。
.Pp
最初のフィールドは
.Pa /dev
にあるような端末特殊ファイルの名前です。
.Pp
2 番目のフィールドはその回線に対して実行するコマンドで、
通常
.Xr getty 8
です。これは回線を初期化して開くプログラムで、スピードを設定したり、
ユーザ名を待ったり
.Xr login 1
プログラムを実行します。
しかしながら、それはどんな希望するコマンド、例えばウィンドウシステム
の端末エミュレータやデーモンプロセスの起動コマンドでも構いません。
そして、もしクォートで括られているのなら複数語を含む事もできます。
.Pp
3 番目のフィールドは通常その tty 回線に接続される端末のタイプで、普通
.Xr termcap 5
データベースファイル中に収められています。
環境変数
.Ev TERM
.Xr getty 8
または
.Xr login 1
による値に初期化されます。
.Pp
残りのフィールドは
.Fa ty_status
エントリ
.Xr (getttyent 3
参照) 中のフラグを指定したり、その端末回線に対して
.Xr init 8
が維持するウィンドウシステムのプロセスを指定したり、
オプションで tty のタイプ
(ダイアルインか、ネットワークか、またはそれ以外か) を決定したり、
またログインクラスのデータベース
.Xr (login.conf 5
参照) が多くの tty をグループとして参照できるような
tty グループ名を指定します。
これはグループとして tty に対して選択的にアクセスを許可または
拒否したりアカウンティング機能を可能または不可能にするためです。
.Pp
フラグの値としては、文字列 ``on'' と ``off'' は
.Xr init 8
が 2 番目のフィールドで与えられるコマンドを実行するか(しないか)を
指定します。一方 ``secure'' は ( ``on'' も与えられていれば) uid が
0 のユーザがこの回線にログインすることを許可します。
フラグ ``dialin'' は tty エントリがダイアルイン回線であることを
示しており、 ``network'' は tty エントリがネットワーク接続で
あることを示しています。
端末タイプのフィールドには、これらの文字列のどちらかが指定できます。
文字列 ``window='' の後には
.Xr init 8
が 2 番目のフィールドで指定されるコマンドを開始する
.Em 前
に実行するコマンド列をクォートで括って続けます。
.Pp
文字列 ``group='' の後には、
多くの tty 回線をアクセスの許可/拒否やアカウンティング機能の
可能/不可能を決めるためのグループとして参照するために
.Xr login.conf 5
で使われる、文字・数字のグループ名を続けます。
何のグループも指定されなかった場合、ttyはグループ "none" に属するように
なります。
以前との互換性のために、 ``group='' は行の最後に、任意のコメントのすぐ前
に現れなければなりません。
.Sh 使用例
.Bd -literal
# 1200 ボーでコンソール、root でのログイン可
console "/usr/libexec/getty std.1200" vt100 on secure
# 1200 ボーでダイアルアップ、root でのログイン不可
ttyd0 "/usr/libexec/getty d1200" dialup on group=dialup # 555-1234
# Mike の端末: hp2621
ttyh0 "/usr/libexec/getty std.9600" hp2621-nl on group=dialup # 457 Evans
# John の端末: vt100
ttyh1 "/usr/libexec/getty std.9600" vt100 on group=dialup # 459 Evans
# 端末エミュレート/ウィンドウシステム
ttyv0 "/usr/new/xterm -L :0" vs100 on window="/usr/new/Xvs100 0"
# ネットワーク仮想 tty -- getty は使用しません
ttyp0 none network group=pty
ttyp1 none network off group=pty
.Ed
.\" 「使用例」1行目 `root login on ...'
.\" 3行目の `no root logins' との対比であるから、
.\" 3行目の訳と対比させて「root でのログイン可」と訳した。
.\" (98/06/17 kumano@jp.freebsd.org)
.Sh 関連ファイル
.Bl -tag -width /etc/ttys -compact
.It Pa /etc/ttys
.El
.Sh 関連項目
.Xr login 1 ,
.Xr getttyent 3 ,
.Xr ttyslot 3 ,
.Xr gettytab 5 ,
.Xr login.conf 5 ,
.Xr termcap 5 ,
.Xr getty 8 ,
.Xr init 8
.\".Xr init 8 ,
.\".Xr ttyflags 8
.Sh 歴史
.Nm
ファイルは
.At v6
で登場しました。
diff --git a/ja/man/man5/types.5 b/ja/man/man5/types.5
index 7b82d564b0..2bf9a4aecb 100644
--- a/ja/man/man5/types.5
+++ b/ja/man/man5/types.5
@@ -1,196 +1,220 @@
.\" 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.
.\"
.\" @(#)types.5 8.1 (Berkeley) 6/5/93
+.\" %Id: types.5,v 1.8 1998/02/24 02:19:02 bde Exp %
.\" jpman %Id: types.5,v 1.3 1998/07/30 15:28:11 horikawa Stab %
-.\" %Id: types.5,v 1.3.2.2 1997/02/28 05:53:25 mpp Exp %
.\"
.Dd June 5, 1993
.Dt TYPES 5
.Os BSD 4
.Sh 名称
.Nm types
.Nd システムのデータ型
.Sh 書式
.Fd #include <sys/types.h>
.Sh 解説
ファイル
.Pa sys/types.h
はカーネル内部で (ほとんどの物はシステム全体を通じて) 用いられる、
定義済みのデータ型を含みます。
.Bd -literal
#ifndef _SYS_TYPES_H_
#define _SYS_TYPES_H_
/* 機種に依存するパラメータ。 */
#include <machine/ansi.h>
#include <machine/types.h>
#ifndef _POSIX_SOURCE
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort; /* Sys V との互換性 */
typedef unsigned int uint; /* Sys V との互換性 */
#endif
typedef u_int64_t u_quad_t; /* quads */
typedef int64_t quad_t;
typedef quad_t * qaddr_t;
typedef char * caddr_t; /* コアアドレス */
typedef int32_t daddr_t; /* ディスクアドレス */
typedef u_int32_t dev_t; /* デバイス番号 */
+typedef u_int32_t fixpt_t; /* 固定小数点数 */
typedef u_int32_t fixpt_t; /* 固定小数点数 */
typedef u_int32_t gid_t; /* グループ ID */
typedef u_int32_t ino_t; /* i ノード番号 */
typedef long key_t; /* IPC キー (Sys V プロセス間通信用) */
typedef u_int16_t mode_t; /* パーミッション */
typedef u_int16_t nlink_t; /* リンクカウント */
typedef _BSD_OFF_T_ off_t; /* ファイルオフセット */
typedef _BSD_PID_T_ pid_t; /* プロセス ID */
+typedef quad_t rlim_t; /* リソースリミット */
typedef int32_t segsz_t; /* セグメントサイズ */
typedef int32_t swblk_t; /* スワップオフセット */
typedef u_int32_t uid_t; /* ユーザ id */
-typedef quad_t rlim_t; /* リソースリミット */
-
#ifdef KERNEL
typedef int boolean_t;
typedef struct vm_page *vm_page_t;
#endif
-/*
- * これは unistd.h にあるべきですが、lseek の第 2 引数を off_t にキャスト
- * しているプログラムが正しい版の lseek を用いることを確実にするために
- * ここに置かれています。
- */
-#ifndef KERNEL
-#include <sys/cdefs.h>
-__BEGIN_DECLS
-off_t lseek __P((int, off_t, int));
-__END_DECLS
-#endif
-
#ifndef _POSIX_SOURCE
/*
* minor() はインデックスの代わりにクッキーを与えます。これは、ビット0-15
* の意味を変更したり、ビット 16-31 をシフトして、それを使わないデバイス
* にとって時間とスペースの無駄遣いになることをしたくないからです。
*/
#define major(x) ((int)(((u_int)(x) >> 8)&0xff)) /* メジャー番号 */
#define minor(x) ((int)((x)&0xffff00ff)) /* マイナー番号 */
#define makedev(x,y) ((dev_t)(((x) << 8) | (y))) /* dev_t を生成する */
#endif
#include <machine/endian.h>
#ifdef _BSD_CLOCK_T_
typedef _BSD_CLOCK_T_ clock_t;
#undef _BSD_CLOCK_T_
#endif
+#ifdef _BSD_CLOCKID_T_
+typedef _BSD_CLOCKID_T_ clockid_t;
+#undef _BSD_CLOCKID_T_
+#endif
+
#ifdef _BSD_SIZE_T_
typedef _BSD_SIZE_T_ size_t;
#undef _BSD_SIZE_T_
#endif
#ifdef _BSD_SSIZE_T_
typedef _BSD_SSIZE_T_ ssize_t;
#undef _BSD_SSIZE_T_
#endif
#ifdef _BSD_TIME_T_
typedef _BSD_TIME_T_ time_t;
#undef _BSD_TIME_T_
#endif
+#ifdef _BSD_TIMER_T_
+typedef _BSD_TIMER_T_ timer_t;
+#undef _BSD_TIMER_T_
+#endif
+
+#ifdef _BSD_UINT8_T_
+typedef _BSD_UINT8_T_ uint8_t;
+#undef _BSD_UINT8_T_
+#endif
+
+#ifdef _BSD_UINT16_T_
+typedef _BSD_UINT16_T_ uint16_t;
+#undef _BSD_UINT16_T_
+#endif
+
+#ifdef _BSD_UINT32_T_
+typedef _BSD_UINT32_T_ uint32_t;
+#undef _BSD_UINT32_T_
+#endif
+
#ifndef _POSIX_SOURCE
#define NBBY 8 /* 1 バイトに含まれるビット数 */
/*
* select は long 型のファイル記述子ビットマスクを用います。これらの
* マクロはこの型のビットフィールドを操作します (ファイルシステムの
* マクロは char 型を用います)。
* FD_SETSIZE はユーザによって定義することもできますが、ほとんどの
* ユーザにとっては、ここに示すデフォルトで十分でしょう。
*/
#ifndef FD_SETSIZE
-#define FD_SETSIZE 256
+#define FD_SETSIZE 1024
#endif
-typedef long fd_mask;
-#define NFDBITS (sizeof(fd_mask) * NBBY) /* マスクごとのビット */
+typedef long fd_mask;
+#define NFDBITS (sizeof(fd_mask) * NBBY) /* マスクごとのビット */
#ifndef howmany
#define howmany(x, y) (((x) + ((y) - 1)) / (y))
#endif
typedef struct fd_set {
fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
} fd_set;
#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
#define FD_COPY(f, t) bcopy(f, t, sizeof(*(f)))
#define FD_ZERO(p) bzero(p, sizeof(*(p)))
-#if defined(__STDC__) && defined(KERNEL)
/*
- * 関数プロトタイプのための構造体の先行定義。サブシステムの境界を越えて
- * 用いられる共通の構造体をここに含めます。その他の構造体は、ほとんど
- * 定義されたのと同じ場所でしか使用されません。
+ * これらの宣言は別のところに属しますが、ここと <stdio.h> で繰り返して
+ * います。壊れたプログラムが 64 ビットの off_t で動作するようにする
+ * 機会を増すためです。
*/
-struct proc;
-struct pgrp;
-struct ucred;
-struct rusage;
-struct file;
-struct buf;
-struct tty;
-struct uio;
+#ifndef KERNEL
+__BEGIN_DECLS
+#ifndef _FTRUNCATE_DECLARED
+#define _FTRUNCATE_DECLARED
+int ftruncate __P((int, off_t));
#endif
+#ifndef _LSEEK_DECLARED
+#define _LSEEK_DECLARED
+off_t lseek __P((int, off_t, int));
+#endif
+#ifndef _MMAP_DECLARED
+#define _MMAP_DECLARED
+void * mmap __P((void *, size_t, int, int, int, off_t));
+#endif
+#ifndef _TRUNCATE_DECLARED
+#define _TRUNCATE_DECLARED
+int truncate __P((const char *, off_t));
+#endif
+__END_DECLS
+#endif /* !KERNEL */
#endif /* !_POSIX_SOURCE */
+
#endif /* !_SYS_TYPES_H_ */
.Ed
.Sh 関連項目
.Xr gdb 1 ,
.Xr lseek 2 ,
.Xr time 3 ,
.Xr fs 5
.Sh 歴史
.Nm
ファイルは
.At v7
から登場しました。
diff --git a/ja/man/man5/tzfile.5 b/ja/man/man5/tzfile.5
index db188c3cb6..f5c5753287 100644
--- a/ja/man/man5/tzfile.5
+++ b/ja/man/man5/tzfile.5
@@ -1,123 +1,122 @@
.Dd September 13, 1994
.\" jpman %Id: tzfile.5,v 1.3 1998/06/22 10:44:36 kumano Stab %
.Dt TZFILE 5
.Os FreeBSD 2.0
.Sh 名称
.Nm tzfile
.Nd タイムゾーンの情報
.Sh 書式
.Fd #include <tzfile.h>
.Sh 解説
.Xr tzset 3
が使用するタイムゾーン情報ファイルは、
将来の使用のために予約されている数バイトから始まり、 4 つの
-.Fa long
-型 4 バイト値が続きます。
+4 バイト値が続きます。
これは ``標準'' バイトオーダ (上位バイトを最初に格納) で格納されます。
これらの値を順序に従い、以下に示します。
.Pp
.Bl -tag -compact -width tzh_ttisstdcnt
.It Li tzh_ttisstdcnt
ファイルに格納された、標準/ウォール指示子の数。
.It Li tzh_leapcnt
ファイルに格納された、閏秒データの数。
.It Li tzh_timecnt
ファイルに格納された ``遷移時刻'' データの数。
.It Li tzh_typecnt
ファイルに格納された ``ローカルタイム型'' データの数 (0 であってはなりません)。
.It Li tzh_charcnt
ファイルに格納された ``タイムゾーン省略形文字列'' の文字数。
.El
.Pp
上記のヘッダに続いて、
4 バイト
.Fa long
型の値が
.Li tzh_timecnt
個、昇順に並びます。
値は ``標準'' バイトオーダで格納されます。
それぞれ、ローカルタイム計算方法が変わる遷移時刻 (
.Xr time 3
で返される形式) として使用されます。
続いて、1 バイト
.Fa "unsigned char"
型の値が
.Li tzh_timecnt
個続きます。
このそれぞれは、同一インデックスの遷移時刻に、
ファイル中のどの ``ローカルタイム'' 型が対応するかを示します。
値は、このファイル中で後続する
.Fa ttinfo
構造体の配列に対するインデックスです。
.\" つまり struct ttinfo が tzh_typecnt 個あるということ
.\" See src/lib/libc/stdtime/tzfile.h
.\" 1998/05/01 horikawa@jp.freebsd.org
この構造体の定義を以下に示します。
.Pp
.Bd -literal -offset indent
struct ttinfo {
long tt_gmtoff;
int tt_isdst;
unsigned int tt_abbrind;
};
.Ed
.Pp
各構造体は、
標準バイトオーダの 4 バイト
.Fa long
型の値
.Li tt_gmtoff
、それに続く 1 バイトの値
.Li tt_isdst
、そして 1 バイトの値
.Li tt_abbrind
の順に格納されます。
.Li tt_gmtoff
は GMT に加えるべき秒数を、
.Li tt_isdst
.Li tm_isdst
.Xr localtime 3
により設定されるべきかどうかを、
.Li tt_abbrind
はタイムゾーン省略文字列の配列に対するインデックスを意味します。
タイムゾーン省略文字列の配列は、同一ファイル中の
.Li ttinfo
構造体に後続しています。
.Pp
その後には標準バイトオーダで格納される 4 バイト値のペアが
.Li tzh_leapcnt
個格納されています。
各ペアの最初の値は、閏秒が発生する時刻 (
.Xr time 3
で返される形式) です。
2 番目の値は、
指定された時刻以降に適用される閏秒の
.Em 総計
です。
値のペアは時刻の昇順で格納されます。
.Pp
最後に、1 バイト値の標準/ウォールの指示子が
.Li tzh_ttisstdcnt
個格納されています。
これらは、ローカルタイム型に関する遷移時刻が
標準時刻で指定されているのか、
それともウォールクロックの時刻で指定されているのかを示します。
この情報は、POSIX スタイルのタイムゾーン環境変数を扱う際に、
タイムゾーンファイルを使用するときに使用します。
.Pp
.Li tzh_timecnt
が 0 の場合もしくは時刻引数がファイル中の最初の遷移時刻以前の場合、
.Nm localtime
は、ファイル中の最初の標準時間の
.Li ttinfo
構造体を使用します
(標準時間の構造体が無い場合には、単に最初の
.Li ttinfo
構造体を使用します)。
.Sh 関連項目
.Xr ctime 3 ,
.Xr time2posix 3 ,
.Xr zic 8
.\" @(#)tzfile.5 7.2
diff --git a/ja/man/man5/utmp.5 b/ja/man/man5/utmp.5
index 89929ba437..ef6434ee69 100644
--- a/ja/man/man5/utmp.5
+++ b/ja/man/man5/utmp.5
@@ -1,219 +1,219 @@
.\" 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
-.\" %Id: utmp.5,v 1.3.2.6 1998/06/28 21:34:27 hoek Exp %
+.\" %Id: utmp.5,v 1.8 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: utmp.5,v 1.3 1998/06/17 07:53:04 kumano Stab %
.Dd March 17, 1994
.Dt UTMP 5
.Os BSD 4
.Sh 名称
.Nm utmp ,
.Nm wtmp ,
.Nm lastlog
.Nd ログイン記録
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <utmp.h>
.Sh 解説
.Aq Pa utmp.h
ファイルは、
.Nm utmp
ファイルでの現在のユーザについての情報や
.Nm wtmp
ファイル中でのログインやログアウトの情報、
.Nm lastlog
ファイル中での最終ログイン情報の記録のために使われる構造体を
宣言しています。
時刻の変更やシャットダウンおよびリブートのタイムスタンプは、同じように
.Nm wtmp
ファイルに記録されます。
.Pp
これらのファイルは、忙しいシステムでは急速に大きくなりますので、
毎日もしくは毎週ローテションすることを推奨します。
もし、これらのファイルのどれかが存在しない場合、そのファイルは作成されません。
これらのファイルは、手動で作成されなければならず、
.Xr newsyslog 8
によって管理されます。
.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 8
+#define UT_NAMESIZE 16
#define UT_LINESIZE 8
#define UT_HOSTSIZE 16
struct lastlog {
time_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];
long ut_time;
};
.Ed
.Pp
ユーザがログインするたびに、
.Xr login 1
プログラムは
.Nm lastlog
ファイル中のユーザの
.Tn UID
を検索します。
もし見つかった場合、ユーザが最後にログインした時刻のタイムスタンプ、
端末線、ホスト名が標準出力に書き出されます (
ログインが
.Em メッセージを表示しない
ように設定されていない場合。
.Xr login 1
を参照
)。
.Nm login
プログラムは、その後
.Nm lastlog
ファイルに新しいログイン時刻を記録します。
.Pp
新しい
.Fa lastlog
への記録が書き出された後で、
.\" the
.\" .Xr libutil 3
.\" routine
.Nm utmp
ファイルがオープンされ、ユーザに対する
.Fa utmp
記録が挿入されます。
この記録は、ユーザがログアウトして削除される時まで保持されます。
.Nm utmp
ファイルは、
.Xr rwho 1 ,
.Xr users 1 ,
.Xr w 1 ,
.Xr who 1
プログラムで使われます。
.Pp
次に、
.Xr login
プログラムは
.Nm wtmp
ファイルをオープンし、ユーザの
.Fa utmp
記録を追加します。
同じ
.Fa utmp
記録が更新されたタイムスタンプ付きで、ユーザがログアウトした時に、
ファイルに追加されます (
.Xr init 8
参照)。
.Nm wtmp
ファイルは、
.Xr last 1
.Xr ac 8
プログラムで使われます。
.Pp
時刻変更やシャットダウン・リブートの際には、
以下の項目が
.Nm wtmp
ファイルに記録されます。
.Pp
.Bl -tag -width shutdownxx -compact
.It Li reboot
.It Li shutdown
システムのリブートやシャットダウンが開始された。
.Fa ut_line
フィールドに
.Ql \&~
と言う文字が、
.Fa ut_name
フィールド中に
.Li reboot
もしくは
.Li shutdown
が記録されます (
.Xr shutdown 8
.Xr reboot 8
参照)。
.Pp
.It Li date
システム時刻が手動もしくは自動で更新された (
.Xr date 1
参照)。
コマンド名
.Xr date
がフィールド
.Fa ut_name
に記録されます。
.Fa ut_line
フィールド中の
.Ql \\*(Ba
文字は、変更前の時刻を示し、
.Ql \&{
文字は新しい時刻を示しています。
.El
.Sh 関連ファイル
.Bl -tag -width /var/log/lastlog -compact
.It Pa /var/run/utmp
.Nm utmp
ファイル。
.It Pa /var/log/wtmp
.Nm wtmp
ファイル。
.It Pa /var/log/lastlog
.Nm lastlog
ファイル。
.El
.Sh 関連項目
.Xr last 1 ,
.Xr login 1 ,
.Xr w 1 ,
.Xr who 1 ,
.Xr ac 8 ,
.Xr init 8
.Sh 歴史
A
.Nm utmp
.Nm wtmp
ファイル書式は
.At v6
から登場しました。
.Nm lastlog
ファイル書式は
.Bx 3.0
から登場しました。
diff --git a/ja/man/man8/MAKEDEV.8 b/ja/man/man8/MAKEDEV.8
index a56f4fc17e..ebdade0b5b 100644
--- a/ja/man/man8/MAKEDEV.8
+++ b/ja/man/man8/MAKEDEV.8
@@ -1,95 +1,95 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)MAKEDEV.8 8.1 (Berkeley) 6/5/93
+.\" %Id: MAKEDEV.8,v 1.10 1997/08/11 01:25:06 steve Exp %
.\" jpman %Id: MAKEDEV.8,v 1.3 1997/07/22 09:19:04 mutoh Stab %
-.\" %Id: MAKEDEV.8,v 1.5.2.2 1998/03/07 10:04:22 jkh Exp %
.\"
.Dd June 5, 1993
.Dt MAKEDEV 8 i386
.Os
.Sh 名称
.Nm MAKEDEV
.Nd システムとデバイススペシャルファイルの作成
.Sh 書式
.Nm
name ...
.Sh 解説
このシェルスクリプト
.Nm
は、 ``/dev'' ディレクトリにあり、通常のスペシャルファイルを作成するのに
使われます。
スペシャルファイルに関するより徹底した議論が必要ならば、
.Xr intro 4
をご覧ください。
.Pp
.Nm
は、何個かのデバイス名を引数に取ります。
ここでのデバイス名は、デバイスに対する、よくある省略形です。
``std'' と ``local'' という、二つのスペシャルデバイスがあります。
前者はそのアーキテクチャの標準デバイスを作成します。
後者はローカルサイトの固有のデバイスの為のもので、
シェルファイル ``MAKEDEV.local'' を実行します。
.Pp
i386 アーキテクチャでは次のデバイスをサポートします。
ここで、ハッシュ記号(``#'')を伴ったデバイス名は、
ハッシュ記号をユニット番号で置き換えます。
.Bl -tag -width indent
.It std
標準デバイス (console, drum, fd/*, klog, kmem, mem, null,
stderr, stdin, stdout, tty) です。
.It local
コンフィギュレーション固有のデバイスです。
.It tty#
標準 PC COM ポートです。
.It fd#
``フロッピ'' ディスクドライブ (3 1/2, 5 1/4) です。
.It pty#
16対の仮想端末マスタとスレーブです。
.It sd#
SCSI ディスクドライブです。
.It st#
SCSI テープドライブです。
.It vty#
syscons/pcvt/codrv のための 12 の仮想コンソールの組です。
.It wd#
``ウィンチェスタ'' ディスクドライブ (ST506, IDE, ESDI, RLL など) です。
.It wt#
QIC-インタフェースの (つまり、SCSI ではない) 3M カートリッジテープです。
.El
.Sh 関連ファイル
.Bl -tag -width /dev/xxxx -compact
.It Pa /dev
スペシャルファイルのディレクトリ
.Sh 関連項目
.Xr intro 4 ,
.Xr config 8 ,
.Xr mknod 8
diff --git a/ja/man/man8/ac.8 b/ja/man/man8/ac.8
index ffbc2b4b67..413f5e1d76 100644
--- a/ja/man/man8/ac.8
+++ b/ja/man/man8/ac.8
@@ -1,161 +1,161 @@
.\"
.\" Copyright (c) 1994 Simon J. Gerraty
.\" Copyright (c) 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 acknowledgement:
.\" This product includes software developed by Christopher G. Demetriou.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ac.8,v 1.6.2.2 1997/09/02 06:28:56 charnier Exp %
+.\" %Id: ac.8,v 1.10 1997/09/01 06:11:40 charnier Exp %
.\" jpman %Id: ac.8,v 1.3 1997/07/22 16:35:12 horikawa Stab %
.\"
.Dd March 15, 1994
.Dt AC 8
.Os
.Sh 名称
.Nm ac
.Nd 接続時間の計測
.Sh 書式
.Nm
.Op Fl dp
.\".Op Fl c Ar console
.Op Fl t Ar tty
.Op Fl w Ar wtmp
.Op Ar users ...
.Sh 解説
.\" Nm ac から ac 削除。
.\" オリジナルで Ac が \&Ac となっていたのは Ac が mdoc コマンド
.\" Angle close quote(see mdoc(7)) であるため
.\" horikawa@jp.freebsd.org 1997/11/03
もしファイル
.Pa /var/log/wtmp
が存在すれば、個々のログイン時刻とログアウト時刻の記録が、各々
.Xr login 1
.Xr init 8
によって書き込まれます。
.Nm
はこれらの記録を検査し、ログイン全ての累積接続時間 (時間単位) を
標準出力に書き出します。
.Pp
オプションは次の通りです。
.Bl -tag -width indentXXX
.It Fl d
接続時間を 24 時間単位で表示します。
.\" .It Fl c Ar console
.\" .Ar console
.\" を、ローカル X セッション (ut_host が ":0.0" の場合)
.\" を始めるデバイス名として使います。
.\" .Ar console
.\" 上に記録されたログインはどれも、コンパイル時に COMPAT_SUNOS が
.\" 定義されていない限り、これらの X セッションは無視されます。
.It Fl p
各々のユーザの合計を表示します。
.It Fl t Ar tty
特定の tty からのログインだけを計測します。
.Ar tty
が '!' で始まっている場合はそれ以外の tty
を示し、'*' で終っている場合は、同様な全ての tty を示します。
複数の
.Fl t
フラグを指定しても構いません。
.It Fl w Ar wtmp
接続時間のデータを、デフォルトファイル
.Pa /var/log/wtmp
の代りに
.Ar wtmp
から読み込みます。
.It Ar users ...
与えられたユーザの合計だけを表示します。
.El
.Pp
もし、引数が与えられなければ、
.Nm
はログインセッションが
.Pa wtmp
に記録された全てのアカウントの合計接続時間を表示します。
.Pp
デフォルトの
.Pa wtmp
ファイルは、切り捨て (truncate) をしない限り、際限なく増加します。
これは通常、
.Xr cron 8
によって起動されるデイリースクリプトによって切り捨てが行なわれます。
デイリースクリプトは
.Pa wtmp
ファイルの改名と巡回 (rotate) を行ない、
一週間分のデータを手元に保持します。
ログインや接続時間のアカウントは、もし
.Pa /var/log/wtmp
が存在しなければ、行なわれません。
.Pp
例えば
.Bd -literal -offset
ac -p -t "ttyd*" > modems
ac -p -t "!ttyd*" > other
.Ed
.Pp
とすると、
.Pa modems
に記録された時間と、
.Pa other
のそれで、別の料金を請求することもできます。
.Pp
.Nm
ユーティリティは、
実行に成功したときには 0 で終了し、
致命的エラーが発生したときには >0 で終了します。
.Sh 関連ファイル
.Bl -tag -width /var/log/wtmp.[0-7] -compact
.It Pa /var/log/wtmp
接続時間アカウントファイル
.It Pa /var/log/wtmp.[0-7]
巡回されたファイル
.El
.Sh 関連項目
.Xr login 1 ,
.Xr utmp 5 ,
.Xr init 8 ,
.Xr sa 8
.\" .Sh 注釈
.\" もし COMPAT_SUNOS が定義されていると
.\" .Nm ac
.\" は ut_host が ":0.0" のエントリが本当のログインセッションではない
.\" という事実を無視します。
.\" 通常はこのようなエントリは、
.\" .Pa wtmp
.\" ファイルが巡回されたときにログインしているユーザの場合を除いて
.\" 無視されます。
.\" この場合、ut_host が ":0.0" のログインが、
.\" それ以前にコンソールへのログインがないのに現われるかもしれません。
.\" もし誰もコンソールにログインしていなければ、そのユーザは
.\" .Pa wtmp
.\" のもっとも早いタイムスタンプの時に既にログインしていたと思われます。
.\" .Pa console
.\" を使うことで、
.\" .Nm ac
.\" はユーザのログアウトを識別し、正しく処理できるようになります。
.\" .Pa console
.\" のデフォルト値はコンパイル時の正しい値です。
diff --git a/ja/man/man8/adding_user.8 b/ja/man/man8/adding_user.8
index f576d3b8b2..79c684d361 100644
--- a/ja/man/man8/adding_user.8
+++ b/ja/man/man8/adding_user.8
@@ -1,125 +1,125 @@
.\" Copyright (c) 1980, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)adduser.8 8.1 (Berkeley) 6/5/93
-.\" %Id: adding_user.8,v 1.1.6.1 1997/03/07 04:18:26 mpp Exp %
+.\" %Id: adding_user.8,v 1.2 1997/03/07 03:28:19 jmg Exp %
.\" jpman %Id: adding_user.8,v 1.3 1997/07/22 16:44:29 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt ADDING_USER 8
.Os BSD 4
.Sh 名称
.Nm adding_user
.Nd 新規ユーザ登録のためのプロシージャ
.Sh 解説
新規ユーザはログイン名を選ばなければなりません。
ここで、ログイン名は既に
.Pa /etc/passwd
.Pa /etc/aliases
に登録されているものであってはいけません。
また、ハイフン
.Ql Fl
文字で始まるものも使えません。
メーラを混乱させないためにも、全ての文字は英小文字でドット
.Ql \&.
文字を含まないことが、強く推奨されています。
アカウントは、パスワードファイルを一行編集することで加えることが
できます。これを行う時は、パスワードファイルはロックされていなければ
なりません。このロックは、
.Xr chpass 1
.Xr vipw 8
を使うことで可能です。
.Pp
新規ユーザには、グループとユーザ id を与えます。
ログイン名とユーザ id は、システム全体やしばしばシステムグループで
一意でなければなりません。これは、ファイルのアクセスを制御するために
使われるからです。
典型的には、似たようなプロジェクトで働いているユーザは同じグループに
入ります。カルフォルニア大学バークレイ分校では、システムスタッフ・
学部・大学院・大きなプロジェクトのための特別なプロジェクトのグループが
あります。
.Pp
新規ユーザ
\*(lqernie\*(rq
のための骨格となるアカウントは、以下のようになります。
.Bd -literal
ernie::25:30::0:0:Ernie Kovacs,508 Evans Hall,x7925,
642-8202:/a/users/ernie:/bin/csh
.Ed
.Pp
個々のフィールドの解説は、
.Xr passwd 5
を参照してください。
.Pp
新規ユーザに始めるにあたっていくつかの助けを与えることは良いことです。
このために、いくつかの骨格となるファイルを与えてあげれます。
.Pa /bin/sh
ユーザには、
.Pa \&.profile
を、
.Pa /bin/csh
ユーザには、
.Pa \&.cshrc
.Pa \&.login
を与えれば良いでしょう。
.Pa /usr/share/skel
ディレクトリに、そのようなファイルの骨格の定義を置いておけます。
新規ユーザは、これらのファイルの複製を与えられます。
ここで、例えば
.Xr tset 1
をログインする度に自動的に実行するように設定できます。
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwdxx -compact
.It Pa /etc/master.passwd
ユーザデータベース
.It Pa /usr/share/skel
ログインディレクトリのための骨格データ
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr finger 1 ,
.Xr passwd 1 ,
.Xr aliases 5 ,
.Xr passwd 5 ,
.Xr adduser 8 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8
.Sh バグ
ユーザ情報は (段々とそうなってきていますが)、別のところに
記憶するべきです。
.Sh 歴史
.Nm
プロシージャは
.Bx 3.0
から導入されました.
diff --git a/ja/man/man8/adduser.8 b/ja/man/man8/adduser.8
index c58f38965d..ac78285d8c 100644
--- a/ja/man/man8/adduser.8
+++ b/ja/man/man8/adduser.8
@@ -1,295 +1,253 @@
.\" Copyright (c) 1995-1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: adduser.8,v 1.12.2.8 1998/03/18 16:14:48 hoek Exp %
+.\" %Id: adduser.8,v 1.26 1998/08/17 18:50:29 wosch Exp %
.\" jpman %Id: adduser.8,v 1.4 1997/08/07 17:53:51 ken Stab %
.\"
.Dd January 9, 1995
.Dt ADDUSER 8
.Os FreeBSD 2.1
.Sh 名称
.Nm adduser
.Nd 新しいユーザを加えるためのコマンド
.Sh 解説
.Nm adduser
-.Oo
-.Fl batch Ar username
-.Op Ar group Ns , Ns Op Ar group,...
-.Op Ar class
-.Op Ar fullname
-.Op Ar password
-.Oc
-.br
.Op Fl check_only
.br
.Op Fl class Ar login_class
.br
.Op Fl config_create
.br
.Op Fl dotdir Ar dotdir
.br
.Op Fl group Ar login_group
.br
.Op Fl h | help
.br
.Op Fl home Ar home
.br
.Op Fl message Ar message_file
.br
.Op Fl noconfig
.br
.Op Fl shell Ar shell
.br
.Op Fl s | silent | q | quiet
.br
.Op Fl uid Ar uid_start
.br
.Op Fl v | verbose
.Sh 解説
.Nm
は新しいユーザを加えるための簡単なプログラムです。
.Nm
はパスワード, グループ, シェル等のデータベースをチェックし、
passwd/group の登録を行い、
.Ev HOME
ディレクトリとドットファイルを作成し、
新しいユーザに歓迎メッセージを送ります。
.Sh 制限事項
.Bl -tag -width Ds -compact
.It Sy username
-ログイン名は、小文字もしくは数字だけからなる最大 8 文字の文字列でな
+ログイン名は、小文字もしくは数字だけからなる最大 16 文字の文字列でな
ければなりません (
.Xr setlogin 2
のバグの章を参照してください)。この制限の理由は、 ``歴史的な'' 物で
す。美的な理由からこの制限を破りたいとする人々はいつもいましたが、
UNIX における基本的なパラメータを変更するほどの重要な理由ではありま
せんでした。
.Pa /usr/include/utmp.h
ファイル内の
.Dv UT_NAMESIZE
パラメータを変更し、全てを再コンパイルすることで、変更できますが、コ
ンパイル済みのプログラムや名前の8文字制限を前提としたソースコード、
そして NIS については、問題が起こるでしょう。 NIS のプロトコルは、ユー
ザ名を 8 文字と定めています。電子メールアドレスとして、もっと長いロ
グイン名を必要とする場合には、別名を
.Pa /etc/aliases
ファイルに定義することができます。
.It Sy fullname
姓と名です。
.Ql Pa \:
(コロン) は、使えません。
.It Sy shell
シェルデータベースに定義されている有効なシェル、もしくは、 sliplogin
と pppd だけが有効です。
.It Sy uid
自動生成されますが、自分で指定することもできます。ただし、 32000 よ
りも小さい数字でなければなりません。
.It Sy gid/login group
あなたが指定したものです。さもなければ、自動的に生成されます。
.It Sy password
定義した時には、パスワードは
.Xr crypt 3
を利用して暗号化されます。
.El
.Sh 一意なグループ
ひょっとして、あなたは、この方法ではできても他のほとんどの方法ではう
まく行かないことがあるのを見逃しているかもしれません。個々のユーザを
そのユーザ独自のグループに入れることで、 umask を 002 としておいても
安全になり、ホームディレクトリにファイルを作っても、他の人にファイル
を読まれる心配がなくなります。
.Pp
共有場所を作るためには、 (freefall における cvs や ncvs のように)
uid/gid を別に設けて、ユーザを個別にその新しいグループに入れることで、
その場所へのアクセスを可能とすべきです。
.Pp
この uid/gid の管理モデルは、たくさんのユーザをグループにまとめるよ
り柔軟性があり、共有場所で仕事をする時に umask をいじり回さずにすみ
ます。
.Pp
この方法をほぼ 10 年間使っていますが、ほとんどの場合に使えることがわ
かり、じゃまになったことはありませんでした。 (Rod Grimes)
.Sh 設定
.Bl -enum
.It
内部変数を読込みます。
.It
設定ファイル (/etc/adduser.conf) を読込みます。
.It
コマンドラインオプションを解析します。
.El
.Sh オプション
.Bl -tag -width Ds
-.It Sy -batch username [group[,group]...] [class] [fullname] [password]
-バッチモードです。
-列挙されるグループは、ユーザがメンバとなる二番目のグループであり、
-デフォルトのログイングループ以外のものを書きます。
-ヌル文字列の引数を埋め草として使用することができ、
-この場合デフォルト値の動作となります。
.It Sy -check_only
/etc/passwd, /etc/group, /etc/shells をチェックし、終了します。
.It Sy -class Ar login_class
デフォルトのログインクラスを設定します。
.It Sy -config_create
新しい設定を設定ファイルに書込み、メッセージファイルを作成して、
終了します。
.It Sy -dotdir Ar directory
ファイルを
.Ar directory
から、新しいユーザの
.Ev HOME
ディレクトリへコピーします。
.Ql Pa dot.foo
というファイルは、
.Ql Pa .foo
という名前に変更されます。
.Ar directory
として
.Ar no
が指定された場合には、コピーを行いません。セキュリティ的な理由から全
てのファイルは所有者に対して読み書き可能となり、グループや他の人達に
対しては書込み可能にはなりません。また、以下のファイルは、所有者に
対してのみ読み書き実行可能となります。
.Pa .rhost ,
.Pa .Xauthority ,
.Pa .kermrc ,
.Pa .netrc ,
.Pa Mail ,
.Pa prv ,
.Pa iscreen ,
.Pa term
.It Sy -group Ar login_group
ログイングループの指定です。
.Ar USER
はユーザ名がログイングループとして使用されることを意味します。
.It Sy -help,-h,-?
オプションの要約を表示して、終了します。
.It Sy -home Ar partition
全てのユーザがホームディレクトリを持つデフォルトのディレクトリ (home
partition) を指定します。
.It Sy -message Ar file
新しいユーザに
.Ar file
の歓迎メッセージを送ります。
.Ar file
.Ar no
であった時にはメッセージは送りません。
.It Sy -noconfig
デフォルトの設定ファイルを読みません。
.It Sy -shell Ar shell
新しいユーザに対するデフォルトのシェルを指定します。
.It Sy -silent,-s,-quiet,-q
警告や質問、バグの報告を少ししか行いません。
.It Sy -uid Ar uid
ユーザ id を
.Ar uid
かそれ以上にします。
.It Sy -verbose,-v
警告と質問をたくさん行います。初心者ユーザにはおすすめです。
.Sh フォーマット
.Bl -tag -width Ds -compact
.Ql Pa #
はコメントです。
.It Sy 設定ファイル
.Nm
はこのファイルを読み書きします。
より詳しくは、
.Pa /etc/adduser.conf
を見てください。
.It Sy メッセージファイル
このファイル内では変数は評価されます。
より詳しくは、
.Pa /etc/adduser.message
を見てください。
.El
-.Sh 使用例
-.Pp
-$ adduser
-.Pp
-adduser を会話モードで動かします。
-.Pp
-$ adduser -batch baerenkl guest,staff,baer '' 'Teddy II' qwerty7
-.Pp
-ユーザ名 'baerenkl' ログイングループ名 'baerenkl' のユーザを作成
-します。このユーザは、 guest, staff, baer グループにも入っています。
-デフォルトのログインクラスを用います。
-このユーザーの本名 (氏名) は 'Teddy II' であり、パスワードは 'qwerty7'
-です (が、こんなパスワードを使ってはいけません !)。
-.Ev HOME
-ディレクトリは、
-.Pa /home/baerenkl
-に作られ、全てのファイルやディレクトリが、
-.Pa /usr/share/skel
-から、
-.Pa /home/baerenkl
-にコピーされます。ユーザ 'baerenklau' に対して、歓迎メッセージが送ら
-れます。
-.Pp
-$ adduser -uid 5000 -group guest -message no -batch vehlefan
-.Pp
-ユーザ 'vehlefan' を作成します。ログイングループは guest で ユーザ
-id は 5000 以上で利用可能な最小のもの (例えば、5007など) となります。
-他に入っているグループはなく、本名もパスワードもありません。歓迎
-メッセージも送られません。
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwdxx -compact
.It Pa /etc/master.passwd
ユーザのデータベース
.It Pa /etc/group
グループのデータベース
.It Pa /etc/shells
シェルデータベース
.It Pa /etc/login.conf
ログインクラスデータベース
.It Pa /etc/adduser.conf
adduser 用の設定ファイル
.It Pa /etc/adduser.message
adduser 用のメッセージファイル
.It Pa /usr/share/skel
ログインディレクトリの雛型
.It Pa /var/log/adduser
adduser の ログ記録ファイル
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr finger 1 ,
.Xr passwd 1 ,
.Xr setlogin 2 ,
.Xr yp 4 ,
.Xr aliases 5 ,
.Xr group 5 ,
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr shells 5 ,
.Xr addgroup 8 ,
+.Xr pw 8 ,
.Xr pwd_mkdb 8 ,
.Xr rmgroup 8 ,
.Xr rmuser 8 ,
.Xr vipw 8
.\" .Sh バグ
.Sh 歴史
.Nm
コマンドは
.Fx 2.1
から導入されました.
diff --git a/ja/man/man8/adjkerntz.8 b/ja/man/man8/adjkerntz.8
index fb3644f3e7..57a13a6cbc 100644
--- a/ja/man/man8/adjkerntz.8
+++ b/ja/man/man8/adjkerntz.8
@@ -1,186 +1,186 @@
.\" Copyright (C) 1993-1998 by Andrey A. Chernov, Moscow, Russia.
.\" 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 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: adjkerntz.8,v 1.10.2.2 1998/07/17 20:12:55 jkh Exp %
+.\" %Id: adjkerntz.8,v 1.16 1998/06/04 06:35:11 charnier Exp %
.\" jpman %Id: adjkerntz.8,v 1.4 1997/07/26 21:28:35 horikawa Stab %
.\"
.Dd April 4, 1996
.Dt ADJKERNTZ 8
.Os FreeBSD
.Sh 名称
.Nm adjkerntz
.Nd "ローカル時間 CMOS クロックをタイムゾーンの変更を反映するように調整し、現在のタイムゾーンオフセットをカーネル用に保持する"
.Sh 書式
.Nm adjkerntz
.Fl i
.Nm adjkerntz
.Fl a Op Fl s
.Sh 解説
.Nm
は、 UTC がいつも設定されているカーネルクロックと、
ローカル時間が設定されているかもしれない CMOS クロックとの間の適切な関係を扱います。
.Nm
は、また MS-DOS ファイルシステムのようなローカル時間ファイルシステム
のための適切なタイムスタンプを扱うために、カーネルに機械のタイムゾーン
のシフトを教えます。この主要な目的は、最初から壊れている MS-DOS
ファイルタイムスタンプの考え方を一般に固定するためではなく、
同じタイムスタンプを同じ機械上の
.Bx Free
の MS-DOS ファイルシステムと
MS-DOS オペレーティングシステムで保つためのものです。
ファイル
.Pa /etc/wall_cmos_clock
がある場合、 CMOS クロックは (MS-DOS や MS-Windows 互換モードの)
ローカル時間を保持していることを意味します。
このファイルが無い場合、 CMOS クロックは UTC 時間を
保持していることになります。
.Nm
は、この状態をカーネル変数の
.Pa machdep.wall_cmos_clock
に通知します。
.Pp
時間調整はシステムの立ち上げとシャットダウン時、そしてタイムゾーンの
変更が起きた時はいつでも必要になります。
これらのことなった状況を扱うために、
.Nm
は二つの方法で立ち上げられます。
.Bl -tag -width 4n
.It Cm Fl i
この形式は、システムの立ち上げとシャットダウンを取り扱います。
マルチユーザモードの先頭で、
.Nm
.Pa /etc/rc
からこのオプションをつけて呼び出されます。
これは他のデーモンが実行される前に行われます。
.Nm
は自分自身をバックグラウンドで実行します。
その後、ローカル時間 CMOS クロックのために、
.Nm
は、ローカル時間をそこから読み込み、カーネル時間を正しい UTC 時間に
設定します。
.Nm
は、これ以降での
.Em "'adjkerntz -a'"
呼び出しでの利用のためや、ローカルファイルシステムでの利用のために、
ローカルタイムゾーンオフセットを
.Pa machdep.adjkerntz
カーネル変数に設定します。
.Pp
ローカル時間 CMOS クロックのために、
.Nm "'adjkerntz -i'"
は、一時停止し、バックグランドのデーモンとして活動を停止します。
このデーモンは、 SIGTERM シグナルを受け取るまでそのままです。
SIGTERM はふつう、システムがマルチユーザモードを終了する時に
.Xr init 8
によって送られます (普通、システムがシャットダウンされる時です)。
SIGTERM を受け取った後で
.Nm
は、 UTC カーネル時間クロックを読み込み、必要であれば現在の
ローカルタイムゾーンを反映するように CMOS クロックを更新します。
その後、
.Nm
は終了します。
.It Cm Fl a Op Fl s
この形式は、タイムゾーンの変更が起こった時に、ローカル時間 CMOS
クロックとカーネル
.Pa machdep.adjkerntz
変数を更新するために使われます。例えば、夏時間に入ったり、
終了したりした時に使われます。
.Nm
は、カーネルクロックの UTC 時間・以前に保存したタイムゾーンオフセット・
新しいタイムゾーンを計算するためのタイムゾーン変更規則を使います。
これは、新しいオフセットを
.Pa machdep.adjkerntz
カーネル変数に保存し、 CMOS クロックを新しいローカル時間に更新します。
.Em "'adjkerntz -a'"
が、(タイムゾーン変更中に) 存在しない時間で実行された場合、
.Fl s
オプションが使われていない場合は警告診断を出し、終了します。
.Fl s
オプションが使われている場合は、 30 秒間スリープしてもう一度試します。
.Pp
この形式は、大多数の現代のタイムゾーンの変更が起こる、
真夜中から 5:00 までの間に 30 分毎に、root の
.Xr crontab 5
から呼び出されるべきです。
警告:
.Fl s
オプションを
.Xr crontab 5
のコマンドライン中で使ってはいけません。使ってしまうと、複数の
.Em "'adjkerntz -a'"
がお互いに衝突してしまうでしょう。
.El
.Pp
.Nm
は、カーネルタイムゾーン構造を消去し、カーネルクロックを
UTC タイムゾーンで走らせます。
スーパユーザの権限が、全ての操作のために必要とされます。
.Sh 環境変数
.Bl -tag -width Fl
.It Ev TZ
タイムゾーンの変更規則。
.Xr tzset 3
を見てください。
.Xr tzsetup 8
もしくは
.Xr zic 8
を使っている場合は、必要ありません。
.Sh 関連ファイル
.Bl -tag -width /etc/wall_cmos_clock -compact
.It Pa /etc/localtime
現在のゾーン情報ファイルです。
.Xr tzsetup 8
.Xr zic 8
を見てください。
.It Pa /etc/wall_cmos_clock
空のファイルです。
これは、機械の CMOS クロックがローカル時間に設定されていることを
示しています。反対にこれが存在しないと、 UTC の CMOS クロックに
設定されています。
.El
.Sh 関連項目
.Xr tzset 3 ,
.Xr crontab 5 ,
.Xr mount_msdos 8 ,
.Xr rc 8 ,
.Xr sysctl 8 ,
.Xr tzsetup 8 ,
.Xr zic 8
.Sh 診断
診断はありません。
エラーが起こった場合は、
.Nm
はエラーメッセージを
.Xr syslog 3
を使って記録し、ゼロでない値を返して終了します。
.Sh 作者
.An Andrey A. Chernov Aq ache@astral.msk.su
.Sh 歴史
.Nm
コマンドは、
.Fx 1.0
から導入されました。
diff --git a/ja/man/man8/amd.8 b/ja/man/man8/amd.8
index 65e9c66d4f..9b28dd3f32 100644
--- a/ja/man/man8/amd.8
+++ b/ja/man/man8/amd.8
@@ -1,287 +1,287 @@
.\"
.\" Copyright (c) 1989 Jan-Simon Pendry
.\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine
.\" Copyright (c) 1989, 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 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.
.\"
.\" @(#)amd.8 5.10 (Berkeley) 4/19/94
.\"
-.\" %Id: amd.8,v 1.2.2.3 1998/07/18 11:08:35 jkh Exp %
+.\" %Id: amd.8,v 1.7 1998/03/23 08:19:30 charnier Exp %
.\"
.\" jpman %Id: amd.8,v 1.2 1997/04/15 00:24:08 mutoh Stab %
.\"
.Dd April 19, 1994
.Dt AMD 8
.Os
.Sh 名称
.Nm amd
.Nd 自動マウントファイルシステム
.Sh 書式
.Nm amd
.Op Fl nprv
.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 t Ar interval.interval
.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
.Oo
.Ar directory mapname
.Op Fl map-options
.Oc
.Ar ...
.Sh 解説
.Nm amd
は、ファイルシステムがアクセスされたときに自動的にそのファイルシステムを
マウントするデーモンです。マウントされたファイルシステムは、アクセスがな
ければ自動的にアンマウントされます。
.Pp
.Nm amd
は、自分自身をNFSサーバとして、指定された
.Ar directory
に結び付けます。
その指定ディレクトリ内でのファイルアクセスは
.Nm amd
によって処理されます。
.Nm amd
は、
.Ar mapname
で定義されたマップを使って、あるディレクトリ
にどのファイルシステムを割り当てるかを決定します。
一般に
.Ar mapname
は、ホスト名やファイルシステムの情報、
マウントオプションから構成されます。
.Sh オプション
.Bl -tag -width Ds
.It Fl a Ar temporary-directory
実際にファイルシステムをマウントする位置を指定します。
デフォルトは
.Pa /a
です。
.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
によってシステムログデーモンに送られます。
.It Fl n
ホスト名を正規化します。${rhost}で参照される名前は、使わ
れる前にホストデータベースに関連づけて正規化されます。
これは、エイリアスを `` 公式 (official)'' ホスト名に変換する効果があります。
.It Fl p
プロセスIDを表示します。
.Nm amd
のプロセス ID を標準出力に出力して、ファイルに保存することができます。
.It Fl r
存在するマウントをリスタートします。
.Nm amd
はマウントファイルテーブルをスキャンして、
現在マウントされているファイルシステムを判断します。
ファイルシステムが自動マウントされたものであれば、
.Nm amd
は、その情報を継承します。
.It Fl t Ar interval.interval
NFS/RPC/UDPのリトライの間隔を、10分の1秒単位で指定します。
デフォルト値は0.8秒です。2番目の値は再送カウンタを変更します。
どちらか一方か、両方の値が設定されていなければ、
適当なデフォルト値が設定されます。
.It Fl v
バージョンを表示します。標準エラー出力に設定情報を表示します。
.It Fl w Ar interval
キャッシュする時間を超えたファイルシステムのマウントを解除する時間を
秒単位で指定します。デフォルト値は2分です。
.It Fl y Ar domain
NISマップをとってくる際に用いるNISドメインを指定します。
デフォルトはシステムのドメイン名です。このオプションは、NIS
を動かしていないときには無視されます。
.It Fl x Ar options
実行時に何をログに記録するかを指定します。
.Ar options
には以下のものをコンマで区切って使用できます:
fatal, error, user, warn, info, map, stats, all
.\" 次の文は原文に表記無し (Feb 1997 jpman J.Sakai)
.\" .Ar options
.\" の最初に``no''をつけたもの(たとえば``noinfo'')は、記録されません。
.It Fl D Ar option
デバッグオプションの種類を選択することができます。
.Ar option
の頭に
.Ar no
をつけると、そのオプションの逆の影響を与えます。
オプションは並べて指定することができます。もっとも役に立つのは
.Ar all
です。
.El
.Pp
.Fl D
はデバッグのときにだけ使うものであるため、ここでは他のオプションに
ついては説明しません。サポートされているオプションは
.Fl v
オプションで表示されますが、詳細はソースコードに記述されています。
.\" 以下の使用例は FreeBSD の英語マニュアルには載ってない。
.\" 内容の正しさを完全には吟味できないので、ここではコメントアウトした。
.\" (Feb 1997 jpman J.Sakai)
.\" .Pp
.\" .Ss 使用例
.\" .Pp
.\" .Pa /etc/netstart
.\" で以下の部分を記述します。
.\" テンプレートがすでに用意されています。
.\" .Pp
.\" .Bd -literal -offset indent
.\" amd=YES
.\" amd_dir=/am # AMD's mount directory
.\" amd_master=/etc/amd/master # AMD 'master' map
.\" .Ed
.\" .Pp
.\" .Pa /etc/amd
.\" というディレクトリを作成します。
.\" .Pp
.\" .Pa /etc/amd/master
.\" ファイルを作成します。
.\" .Pa /etc/amd/master
.\" の内容:
.\" .Pp
.\" .Bd -literal -offset indent
.\" /home /etc/amd/am-home -cache:=inc
.\" .Ed
.\" .Pp
.\" amdマップとして、am-homeを指定しています。
.\" .Pp
.\" .Pa /etc/amd/am-home
.\" を作成します。
.\" .Pa /etc/amd/am-home
.\" の内容:
.\" .Pp
.\" .Bd -literal -offset indent
.\" /default opts:=rw,intr,soft,bg,grpid,timeo=30;\\
.\" type:=nfs;fs:=${autodir}/home/${key};rfs:=/home
.\" .Ed
.\" .Pp
.\" .Bd -literal -offset indent
.\" mizuno host==mercury;type:=ufs;dev:=/dev/sd0a
.\" * type:=error
.\" .Ed
.\" .Pp
.\" このような設定を行い、リブートしてください。
.\" .Pa /home/mizuno
.\" をアクセスすると、
.\" .Pa /dev/sd0a
.\" が
.\" .Pa /am/mercury/home/mizuno
.\" としてマウントされ、
.\" .Pa /home/mizuno
.\" が
.\" .Pa /am/mercury/home/mizuno
.\" へのシンボリックリンクとなります。
.\" .Pa /home/mizuno
.\" 以外がアクセスされるとエラーとなります。
.\" .Pp
.\" .Pp
.Sh 関連ファイル
.Bl -tag -width /axx
.It Pa /a
動的にファイルシステムがマウントされるディレクトリ
.El
.Pp
.Sh 注意
マウントマップを作成する場合には注意が必要です。
.Pp
.Tn NFS
ファイルシステム上のシンボリックリンクは、信じられないほど
非効率的です。
.Tn NFS
を実装した多くのシステムでは、
シンボリックリンクの展開結果はカーネルがキャッシュせずに、
.Em lookuppn
(パス名変換)時にシンボリックリンクに出会うたびに
NFSサーバに対してRPCコールを行うようになっています。
キャッシュをどこかに加えることによって、かなり大きな性能の向上が
得られるはずです。
上手に実現したオートマウントシステムで
.Xr symlink 2
を置き換えれば大きくスピードアップすることができますが、
同時に多くのコンテキストスイッチも起こします。
.Pp
.Nm amd
のすべての機能を駆使できれば非常に便利ですが、
それにはかなりの想像力が必要になります。
.Pp
.Sh 関連項目
.Xr hostname 1 ,
.Xr amq 8 ,
.Xr mount 8 ,
.Xr umount 8
.Rs
.%T Amd \- The 4.4 BSD Automounter.
.\" 以下の参考文献の節も原文にはない。
.\" しかし参考にはなるだろうから この節は残すことにした。(Feb 1997 jpman Sakai)
.Sh 参考文献
.Bl -bullet -offset indent -compact
.It
アスキー UNIX MAGAZINE 1991 4, 5月号: UNIX Communication Notes --- amd
.It
アスキー NUTSHELL HANDBOOKS: Managing NFS \& NIS --- 自動マウンタ
.El
.Pp
.Re
.Sh 作者
.An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk ,
Department of Computing, Imperial College, London, UK.
.Sh 歴史
.Nm amd
は 4.4BSD にはじめて導入されました。
diff --git a/ja/man/man8/amq.8 b/ja/man/man8/amq.8
index 0a986da50d..cd05d08cd3 100644
--- a/ja/man/man8/amq.8
+++ b/ja/man/man8/amq.8
@@ -1,143 +1,143 @@
.\"
.\" Copyright (c) 1990 Jan-Simon Pendry
.\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine
.\" 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 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.
.\"
.\" @(#)amq.8 8.3 (Berkeley) 4/18/94
.\"
-.\" %Id: amq.8,v 1.3.2.1 1998/07/18 11:08:42 jkh Exp %
+.\" %Id: amq.8,v 1.6 1998/03/23 08:19:53 charnier Exp %
.\"
.\" jpman %Id: amq.8,v 1.3 1997/08/11 14:26:54 horikawa Stab %
.\"
.Dd March 16, 1991
.Dt AMQ 8
.Os
.Sh 名称
.Nm amq
.Nd 自動マウントシステムへの問い合わせツール
.Sh 書式
.Nm amq
.Op Fl f
.Op Fl h Ar hostname
.Op Fl M Ar mountmap_entry
.Op Fl m
.Op Fl s
.Op Fl u
.Op Fl v
.Op Ar directory ...
.Pp
.Sh 解説
.Nm amq
は、現在の
.Xr amd 8
の動作状況を知るための簡単な手段を提供します。
.Nm amd
との通信は
.Tn RPC
によって行われます。現在のプロトコルでは、 3 つのモード
がサポートされています。デフォルトでは、マウントポイントと自動
マウントされたファイルシステムのリストが出力されます。別
のホストの状態を知るときは、
.Fl h
オプションで
.Ar hostname
を指定します。
.Pp
ディレクトリ名が与えられると、デフォルトの出力ではファイルシステム
ごとの情報が表示されます。
.Sh オプション
.Bl -tag -width flag
.It Fl f
自動マウントシステムに内部キャッシュを破棄するように要
求します。
.It Fl h Ar hostname
.Ar hostname
で指定されたホストに問い合わせを行います。デ
フォルトでは、ローカルホストが使われます。
.Tn HP-UX
クラスタでは、デフォルトでルートサーバに問い合わせが行わ
れます。これは通常、自動マウントシステムがルートサーバで動
いているからです。
.It Fl m
マウントされたファイルシステムのリストを、
各ファイルシステムへの参照回数と
マウント時に起きたエラーを含めて表示するように、自動マウント
システムに要求します。
.It Fl s
自動マウントシステムに、システムの統計情報を表示するよ
うに要求します。
.It Fl u
情報を表示する代わりに、
指定したファイルシステムをアンマウントするよう
自動マウントシステムに要求します。この要求によって、
必ずアンマウントが実行されるわけではありません。
単にそのファイルシステムのマウントが、
タイムアウトするにすぎません。
タイムアウトは
.Nm amd
のメインスケジューラに検出され、結果として
普通にタイムアウトしたときと同じことが行われます。
.It Fl v
自動マウントシステムに、バージョン情報を提供するように要
求します。これは、
.Nm amd
.Fl v
オプションで得られる情報の一部です。
.It Fl M Ar mountmap_entry
自動マウントシステムに、指定したマップエントリをルート
マップに追加しマウントするように要求します。
.El
.Sh 関連ファイル
.Bl -tag -width amq.x
.It Pa amq.x
RPCのプロトコル記述
.El
.Sh 警告
.Nm amq
は、Sunが登録しているRPCプログラム番号(十進数で300019)を使っ
ています。これは通常、
.Pa /etc/rpc
には含まれていません。
.Pp
.Sh 関連項目
.Xr amd 8
.Sh 作者
.An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk ,
Department of Computing, Imperial College, London, UK.
.Sh 歴史
.Nm amq
は、はじめに 4.4BSD で導入されました。
.At
diff --git a/ja/man/man8/apm.8 b/ja/man/man8/apm.8
index c691043a89..b5278aea36 100644
--- a/ja/man/man8/apm.8
+++ b/ja/man/man8/apm.8
@@ -1,105 +1,110 @@
.\" LP (Laptop Package)
.\"
-.\" Copyright (c) 1994 by HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>
+.\" Copyright (c) 1994 by Tatsumi Hosokawa <hosokawa@jp.FreeBSD.org>
.\"
.\" This software may be used, modified, copied, and distributed, in
.\" both source and binary form provided that the above copyright and
.\" these terms are retained. Under no circumstances is the author
.\" responsible for the proper functioning of this software, nor does
.\" the author assume any responsibility for damages incurred with its
.\" use.
.\" jpman %Id: apm.8,v 1.4 1997/07/26 21:52:01 horikawa Stab %
.Dd November 1, 1994
.Dt APM 8
.Os
.Sh 名称
.Nm apm, zzz
.Nd APM BIOS の制御を行い、その情報を表示する
.Sh 書式
.Nm apm
-.Op Fl ablsz
+.Op Fl ablstz
.Op Fl d Ar 1|0
.Pp
.Nm zzz
.Sh 解説
.Nm apm
は、 Intel / Microsoft APM (Advanced Power Management) BIOS を制御し、
ラップトップ PC 上の APM の現在の状態を表示します。
.Nm zzz
は、 APM 制御によって、システムをサスペンドします。
.Pp
以下のオプションが
.Nm apm
で利用可能です
(
.Nm zzz
には、オプションはありません)。
オプションが与えられなかった場合は、
.Nm apm
は、現在の APM の状態や情報を冗長モードで表示します。
+複数の表示オプションが指定された場合、
+ここに示す順番で値を 1 行に 1 つずつ表示します。
.Bl -tag -width indent
.It Fl a
現在の AC 電源の状態を整数値で表示します。
0, 1がそれぞれ
.Dq 外れている (off-line)
状態と
.Dq つながっている (on-line)
状態をあらわします。
.It Fl b
整数値で、現在のバッテリ状態を表示します。
0, 1, 2, 3という値はそれぞれ、
.Dq 良好 (high)
状態、
.Dq 低バッテリ (low)
状態、
.Dq 危険 (critical)
状態、
.Dq 充電 (charging)
状態をあらわします。
.It Fl d
通常のサスペンドとディスプレイのサスペンドを別に扱わない/別に扱うを、
それぞれ
.Ar 1
.Ar 0
で制御します。
.It Fl l
現在のバッテリの残り割合を表示します。
もし、あなたのラップトップがこの機能を提供していない時には、
255 が表示されます。
.It Fl s
APM サポート状態を整数値で表示します。0, 1 という値はそれぞれ、
.Dq 利用不可 (disabled)
状態
.Dq 利用可能 (enabled)
状態
をあらわします。
+.It Fl t
+残りのバッテリ時間を予測して、秒単位で表示します。
+分からない場合には -1 を表示します。
.It Fl z
システムをサスペンドします。これは、
.Nm zzz
と等価です。
.El
.Sh バグ
いくつかの APM 実装では、
.Nm apm
が必要とするパラメータが提供されていません。
そのようなシステムに於いては、
.Nm apm
は、それらを知らないと表示します。
.Pp
いくつかの APM 実装では、電源スイッチを押したことやカバーが
閉められたことなどのイベントを扱うことができません。
そのような実装に於いては、
システムは
.Nm apm
.Nm zzz
.Ar だけを
つかってサスペンドする
.Ar べき
です。
.Sh 関連項目
.Xr apm 4 ,
.Xr apmconf 8
.Sh 作者
-細川 達己<hosokawa@mt.cs.keio.ac.jp> ( 慶応大学, 日本 )
+.An Tatsumi Hosokawa Aq hosokawa@jp.FreeBSD.org
diff --git a/ja/man/man8/atrun.8 b/ja/man/man8/atrun.8
index 5647647c4b..af13302756 100644
--- a/ja/man/man8/atrun.8
+++ b/ja/man/man8/atrun.8
@@ -1,84 +1,84 @@
-.\" %Id: atrun.man,v 1.1.6.2 1998/07/07 04:49:55 jkoshy Exp %
+.\" %Id: atrun.man,v 1.5 1998/07/01 05:47:58 jkoshy Exp %
.\" jpman %Id: atrun.8,v 1.2 1997/04/23 02:43:41 yugawa Stab %
.Dd April 12, 1995
.Dt ATRUN 8
.Os "FreeBSD 2.1"
.Sh 名称
.Nm atrun
.Nd ジョブキューのなかから予定時刻になったものを実行
.Sh 書式
.Nm atrun
.Op Fl l Ar load_avg
.Op Fl d
.Sh 解説
.Nm
コマンドは
.Xr at 1
でキューに入れたジョブを実行するコマンドです。
.Pp
.Xr atrun 8
が5分毎に起動されるようにするために、
root の
.Xr crontab 5
ファイル
.Pa /etc/crontab
に、
.nf
*/5 * * * * root /usr/libexec/atrun
.fi
という設定を含めておく必要があります。
.Pp
呼び出しが起きるたびに
.Nm
は、小文字のキューの中のジョブのうち、
実行開始時間を過ぎたものすべてを開始します。
さらに、直前の1分間の負荷平均値(load avarage)が指定した限界値より小さい場合、
優先順位が最も高いバッチジョブ(大文字のキューで表されます)ひとつを
開始します。
.\" 上記の記述はオリジナルの英語版では、"A maximum of one batch jobs (denoted
.\" by uppercase queues) are started each time atrun is invoded." となっている。
.\" この記述だけでは非常にわかりにくいが、at(1) を見ると、バッチジョブには
.\" A 〜 Z のキューがあり、A 〜 Z の順番で nice 値が高くなる(優先度が低くなる)
.\" と書かれている。そこで、実際に試して見ると、同一のキューに登録されたジョブ
.\" は登録された順番に実行されるが、異なるキューに登録されたジョブは登録された
.\" 順番とは関係なく、より nice 値が低い(優先度の高い)ジョブから実行される
.\" ので、上記の記述とした。
.\" 2.2.1-RELEASE 対象
.\" By yugawa@orleans.rim.or.jp (Apr 23 1997)
.\" RELENG22-980710-SNAP(2.2.7 直前)でこの部分の記述は変更されたが、
.\" "A maximum of one batch jobs" の句は依然として残っているので、
.\" この句の訳はそのままにしてある。
.\" By kuma@jp.freebsd.org (Jul 10 1998)
.Sh オプション
.Bl -tag -width indent
.It Fl l Ar load_avg
負荷の上限を指定する。負荷がこの上限を越えている場合、バッチジョブは実行さ
れない。デフォルトの値は 1.5。
.It Fl d
デバッグ用。
.Xr syslog 3
を使う代わりに標準エラー出力にエラーメッセージを吐き出す。
.El
.Sh 警告
.Nm
を動かすためには
.Xr cron 8
デーモンを起動しておかねばなりません。
.Sh 関連ファイル
.Bl -tag -width /var/at/spool -compact
.It Pa /var/at/spool
出力ファイルを保管しておくディレクトリ
.It Pa /var/at/jobs
ジョブファイルを保管しておくディレクトリ
.El
.Sh 関連項目
.Xr at 1 ,
.Xr crontab 1 ,
.Xr syslog 3 ,
.Xr crontab 5 ,
.Xr cron 8
.Sh バグ
.Nm
の機能は
.Xr cron 8
に統合されるべきです。
diff --git a/ja/man/man8/badsect.8 b/ja/man/man8/badsect.8
index c2e0619654..9f8f57acbd 100644
--- a/ja/man/man8/badsect.8
+++ b/ja/man/man8/badsect.8
@@ -1,135 +1,135 @@
.\" 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 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: @(#)badsect.8 8.1 (Berkeley) 6/5/93
-.\" %Id: badsect.8,v 1.1.1.1.8.4 1998/07/17 20:12:56 jkh Exp %
+.\" %Id: badsect.8,v 1.7 1998/06/04 06:38:03 charnier Exp %
.\" jpman %Id: badsect.8,v 1.2 1997/03/31 13:30:12 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt BADSECT 8
.Os BSD 4
.Sh 名称
.Nm badsect
.Nd バッドセクタ上にファイルを作る
.Sh 書式
.Nm badsect
.Ar bbdir sector ...
.Sh 解説
.Nm
はバッドセクタを含むファイルを作成します。
通常のフォーマッタは、バッドセクタをアクセスできないようにします。
このとき、フォーマッタはドライバ用にバッドセクタのフォワーディングテーブルを
作ります。
詳しくは
.Xr bad144 8
を参照してください。
もしドライバが標準でバッドブロックをサポートしているならば、
バッドブロックを孤立させるためにはその方法を使用すべきです。
なぜならばバッドブロックフォワーディングはパックを完全に見せ、
そのようなパックは
.Xr dd 1
でコピー可能だからです。
本プログラムで採用している方法はバッドブロックフォワーディングよりは
一般的ではありません。
なぜならば
.Nm
はファイルシステムの i-list のバッドブロックを回復することができませんし、
スワップ領域のバッドブロックも回復することができないからです。
.Pp
突然バッドとなったセクタをバッドセクタテーブルに追加するためには、
ディスクによっては現在のところ、
標準の
.Tn DEC
フォーマッタを実行する必要があります。
このため、新たに生じたバッドブロックを扱う場合、
およびドライバがバッドブロッキング標準をサポートしていない場合には、
.Nm
は有効かも知れません。
.Pp
.Nm
は現在アクセスされていないファイルシステムに対して次のように使用します。
.Nm
を使うには、まず、ファイルシステムをマウントし、そのルート
ディレクトリに移動します。ここに
.Li BAD
という名前のディレクトリを作ります。
.Nm
コマンドに、引数として、このディレクトリと追加したいすべて
のバッドセクタを指定して実行します
(セクタ番号はファイルシステムの先頭からの相対で指定しなければなりませんが、
システムがコンソールエラーメッセージに表示するのは相対セクタ番号であるため
難しくはありません)。
その後、ルートディレクトリに移動し、
そのファイルシステムをアンマウントしてから
.Xr fsck 8
を実行します。
fsck はバッドセクタを含むファイルを削除しますが、
.Pa BAD/ Ns Em nnnnn
は削除
.Em しないように
してください。
以上の操作によりバッドセクタは
.Li BAD
ファイルにのみにあることになります。
.Pp
.Nm
.Xr mknod 2
の引数にセクタ番号を指定してコールすることで、
最初のブロックが指定したバッドセクタを含んだ特別なファイルを作ります。
このファイルの名前はバッドセクタの番号です。
.Xr fsck 8
は、このファイルを発見すると
.Dq Li "HOLD BAD BLOCK ?"
と聞いてきます。
これに対して y と答えると、
.Xr fsck 8
はその inode を、バッドブロックを含む
通常ファイルにコンバートします。
.Sh 関連項目
.Xr bad144 8 ,
.Xr fsck 8
.Sh 診断
.Nm
は、危険な領域のブロックやファイルシステム外のブロックを追加しません。
また、ブロックが既に使用されている場合には警告を表示します。
.Sh バグ
あるファイルシステムフラグメント中の複数のセクタがバッドとなった場合、
そのうちの 1 つだけを
.Nm
に指定しなければなりません。
バッドセクタファイル中のブロックは、
ファイルシステムフラグメント中の全てのセクタをカバーするからです。
.Sh 歴史
.Nm
コマンドは
.Bx 4.1
から登場しました。
diff --git a/ja/man/man8/boot_i386.8 b/ja/man/man8/boot_i386.8
index a41154b8b5..1bae2f79d8 100644
--- a/ja/man/man8/boot_i386.8
+++ b/ja/man/man8/boot_i386.8
@@ -1,239 +1,254 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software written and contributed
.\" to Berkeley by William Jolitz.
.\"
.\" Almost completely rewritten for FreeBSD 2.1 by Joerg Wunsch.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)boot_i386.8 8.2 (Berkeley) 4/19/94
-.\" %Id: boot_i386.8,v 1.4.2.4 1998/03/23 08:14:06 danny Exp %
+.\" %Id: boot_i386.8,v 1.13 1998/07/15 06:51:35 charnier Exp %
.\" jpman %Id: boot_i386.8,v 1.5 1997/12/04 18:33:50 ken Exp %
.\"
.\"
.Dd April 19, 1994
.Dt BOOT 8 i386
.Os
.Sh 名称
.Nm boot
.Nd
システム立上げ時の手続き
.Sh 解説
.Sy 電源断とクラッシュからの回復。
通常、電源復旧時とクラッシュ発生後には、システムは自動的にリブートし
ます。ファイルシステムの整合性チェックが自動実行され、途中で失敗しな
ければ、システムはマルチユーザ・モードに移行します。
.Pp
.Sy コールドスタート。
大多数の 386
.Tn "PC AT"
互換機は、まずフロッピードライブ 0 (ドライブ A: ともいう) からの
ブートを試み、それに失敗すると、ハードディスクドライブ 0 (ドライブ C: も
しくは (紛らわしいが) ハードディスクドライブ 1 とも BIOS のドライブ
0x80 ともいう) からブートしようとします。いくつかの BIOS では、この
デフォルトの順序を変えたり、 CD-ROM デバイスをブートデバイスとして含
めることができます。
ブートブロックがロードされたあとで、次のようなプロンプトが現れます。
.Bd -literal
>> FreeBSD BOOT @ 0x10000: 640/7168 k of memory, internal console
Boot default: 0:wd(0,a)kernel
boot:
.Ed
.Pp
(スクリーン上にはいくつかの情報も出力されているかもしれません)
.Pp
自動ブートにおいては、フロッピー
もしくはハードディスクのパーティション
.Ql a
から
.Pa /kernel
をロードしようとします。
この動作は
.Ql boot:
というプロンプトが出ている間なら、キーボードから適当な文字を入力する
ことで中断できます。以下にあげるような入力はブート動作に対する指示と
して受付けられます。
.Bl -tag -width 10x
.It \&?
ブートファイルを探す際のヒントとして、デフォルトのブートデバイスの
ルートディレクトリにあるファイルの名前を表示します。
-.It Op bios_drive:interface(unit,part) Op filename Op Fl aCcDdghPrsv
+.It Op bios_drive:interface(unit,part) Op filename Op Fl abCcDdghPrsv
ブートファイルとブートフラグを指定します。
.Bl -tag -width 10x -compact
.It bios_drive
BIOS によって認識されるドライブ番号です。 1 つ目のドライブに対しては
0 、 2 つ目のドライブに対しては 1 、などです。
.It interface
そこからブートするコントローラのタイプです。ブートファイルのイメージ
をロードするのには BIOS の機能を使用するので、そのコントローラに対す
る BIOS サポートが必要となることに注意して下さい。
.Pp
サポートされているインタフェースを以下にあげます。
.Bl -tag -width "wdXX" -compact
.It wd
WD100[2367] とその互換コントローラ上の ST506, IDE, ESDI, RLL ディスク
.It fd
5 1/4" または 3 1/2" 高密度 フロッピ
.It sd
サポートされている SCSI コントローラ上の SCSI ディスク
.\".It cd
.\"CDROM からのブート
.El
.It unit
使用されているインタフェース上のドライブのユニット番号です。 1 つ
目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。
.It part
ディスク上の BSD 部分内のパーティション文字です。詳しくは
.Xr disklabel 8
を参照して下さい。慣例として、パーティション
.Ql a
のみが ブート可能なイメージを含んでいます。ディスクにスライス
.Pq Dq fdisk パーティション
が設けられていた場合、最初の BSD スライスからのみブートが可能です。
また、パーティション文字は常に最初のスライスについてのものとなります。
.It /filename
ブートファイルの (指定されたパーティションのルートディレクトリからの
相対) パス名です。デフォルトでは
.Pa /kernel
となります。シンボリックリンクはサポートされていません (ハードリンク
は使用できます)。
-.It Fl acCdDghPrsv
+.It Fl abcCdDghPrsv
ブートフラグです。
.Bl -tag -width "-CXX" -compact
.It Fl a
カーネル初期化中に、ルートファイルシステムとしてマウントされるデバイスを
尋ねて来るようにします。
+.It Fl b
+スクリーンを 800x600x4 モード (Vesa モード 0x102) にします。
+XFree86 の XF86_VGA16 サーバでサポートされていないグラフィックスチップを
+持つラップトップで有用です。
+スクリーンに表示させるためには、
+8x16 フォントを syscons に組み込むかブートストラップの一部にてロードする
+必要があります。
.It Fl C
CDROM からブートします。
.It Fl c
ロードしたカーネルに対し、ハードウェアのパラメータを変更するため、
UserConfig を実行します。
カーネルが USERCONFIG_BOOT オプション付きで構築された場合、
スクリプト中に
.Ic quit
コマンドがあったとしても、UserConfig 中にとどまります。
.It Fl D
シングルとデュアルのコンソール設定を切り替えます。シングル設定では、
下記の
.Fl h
オプションの状態によって、コンソールは内部ディスプレイかシリアルポートの
いずれかになります。デュアルコンソール設定では、内部ディスプレイ
とシリアルポートの両方が、
.Fl h
オプションの状態によらず、同時にコンソールになります。しかし、
デュアルコンソール設定は、ブートプロンプトの間だけでしか効果を持ちません。
一旦カーネルがロードされると、
.Fl h
オプションによって指定されたコンソールが唯一のコンソールになります。
.It Fl d
カーネルの初期化のできる限り早い段階で DDB カーネルデバッガ
.Pq Xr ddb 4 を参照
に入ります。
.It Fl g
GDB リモートデバッギングプロトコルを使用します。
.It Fl h
内部コンソールとシリアルコンソールの切替えを行います。これを使用して
コンソールデバイスを変更できます。例えば、内部コンソールからブートし
た場合、カーネルがコンソールデバイスとしてシリアルポートを使用するよ
うにするため、
.Fl h
オプションを使用できます。反対に、シリアルポートからブートした場合、
カーネルがコンソールとして代わりに内部ディスプレイを使用するようにす
るため、このオプションを使用できます。
+カーネルを
+.Em options COMCONSOLE
+付きでコンパイルした場合には、このオプションは効果ありません。
.It Fl P
キーボードを検出します。キーボードが発見できなかった場合には、
.Fl D
.Fl h
オプションが自動的にセットされます。
.It Fl r
ルートファイルシステムを含むデバイスとしてスタティックに config され
たデフォルトを使用します
.Pq Xr config 8 を参照
.It Fl s
シングルユーザ・モードで立上がるようになります。コンソールが
.Dq insecure
.Pq Xr ttys 5 を参照
に設定されていた場合には、root のパスワードを入力しなければなり
ません。
.It Fl v
デバイス検出の際 (そしてその後も) 、詳細を出力します。
.El
.El
.El
.Pp
デフォルトを設定するため、BIOS ドライブ番号, コントローラタイプ,
ユニット番号, パーティション, カーネルファイル名と
-.Fl D,
-.Fl h
-もしくは
+.Fl b ,
+.Fl D ,
+.Fl h ,
.Fl P
オプションを
.Pa /boot.config
に書くこともできます。
.Ql boot:
プロンプトでタイプするように、 1 行で書いてください。
.Sh 関連ファイル
.Bl -tag -width /kernel.old.config -compact
.It Pa /boot.config
ブートローダに対するパラメータ (必須ではない)
.It Pa /boot.help
ヘルプメッセージ
.It Pa /kernel
デフォルトカーネル
.It Pa /kernel.config
デフォルトカーネルに対するパラメータ (必須ではない)
.It Pa /kernel.old
ふつうは非デフォルトカーネル (必須ではない)
.It Pa /kernel.old.config
非デフォルトカーネルに対するパラメータ (必須ではない)
.\" .It Pa /boot
.\" system bootstrap
.El
.Sh 関連項目
.Xr ddb 4 ,
.Xr ttys 5 ,
.Xr config 8 ,
.Xr disklabel 8 ,
.Xr halt 8 ,
.Xr reboot 8 ,
.Xr shutdown 8
.Sh バグ
このバージョンの
.Bx
で使用されているディスクラベルのフォーマットは、他のアーキテクチャで
使用されている物とは全く異なっています。
.Pp
+フォントをカーネルに組み込まずに
+.Fl b
+を使用する場合、
+カーネルの出力は見えません (カーソル以外は見えません)。
+.Pp
一文字だけのブートフラグはあまり分かりやすい物とは言えず、有用と思わ
れるオプションをすべて実現するには、アルファベットの文字数は少なすぎ
ます。
diff --git a/ja/man/man8/bootpd.8 b/ja/man/man8/bootpd.8
index 3e487b55a2..20a639bd7b 100644
--- a/ja/man/man8/bootpd.8
+++ b/ja/man/man8/bootpd.8
@@ -1,313 +1,301 @@
.\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University
.\"
-.\" %Header: /home/ncvs/src/libexec/bootpd/bootpd.8,v 1.4.2.6 1998/06/03 04:35:16 jkoshy Exp %
+.\" %Id: bootpd.8,v 1.9 1998/06/03 04:21:33 jkoshy Exp %
.\" jpman %Id: bootpd.8,v 1.4 1997/10/11 07:39:12 horikawa Stab %
.\"
-.TH BOOTPD 8 "November 06, 1993" "Carnegie Mellon University"
-.SH 名称
-bootpd, bootpgw \- インターネットブートプロトコルサーバ/ゲートウェイ
-.SH 書式
-.B bootpd
-[
-.B \-i
-.B \-s
-.B \-t
-timeout
-.B \-d
-level
-.B \-c
-chdir\-path
-]
-[
-.I bootptab
-[
-.I dumpfile
-] ]
-.br
-.B bootpgw
-[
-.B \-i
-.B \-s
-.B \-t
-timeout
-.B \-d
-level
-] server
-.SH 解説
-.I bootpd
+.Dd November 06, 1993
+.Dt BOOTPD 8
+.Os "Carnegie Mellon University"
+.Sh 名称
+.Nm bootpd , bootpgw
+.Nd インターネットブートプロトコルサーバ/ゲートウェイ
+.Sh 書式
+.Nm bootpd
+.Op Fl i
+.Op Fl s
+.Op Fl t Ar timeout
+.Op Fl d Ar level
+.Op Fl c Ar chdir-path
+.Oo
+.Ar bootptab
+.Op Ar dumpfile
+.Oc
+.Nm bootpgw
+.Op Fl i
+.Op Fl s
+.Op Fl t Ar timeout
+.Op Fl d Ar level
+.Ar server
+.Sh 解説
+.Nm
は RFC951, RFC1532, RFC1533 で定義された
インターネットブートプロトコル (BOOTP) サーバを実装したものです。
-.I bootpgw
+.Nm bootpgw
は、要求と応答を、あるサブネット上のクライアントと、
別のサブネット上の BOOTP サーバ (すなわち
-.IR bootpd
+.Nm
) との間で転送するのに使われる、単純な BOOTP ゲートウェイを実装しています。
-.I bootpd
+.Nm
または
-.I bootpgw
+.Nm bootpgw
は BOOTREPLY パケットを転送しますが、
-.I bootpgw
+.Nm bootpgw
だけが BOOTREQUEST パケットを転送します。
-.PP
+.Pp
各々のネットワークセグメントにつき、通常一つのホストで、
以下の行のどれかをファイル
-.IR /etc/inetd.conf
+.Pa /etc/inetd.conf
に含めることにより、
-.I bootpd
+.Nm
あるいは
-.I bootpgw
+.Nm bootpgw
-.I inetd
+.Xr inetd 8
から起動されるように設定されます:
-.IP
-bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab
-.br
-bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server
-.PP
+.Pp
+.Dl bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab
+.Dl bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server
+.Pp
この動作モードは「inetd モード」と呼ばれ、
ブート要求が到着した時にだけ
-.I bootpd
+.Nm
(あるいは
-.IR bootpgw
+.Nm bootpgw
) を開始します。
もし最後にパケットを受信してから 15 分以内に別のパケットを受信しないのなら、
システムの資源を浪費しないように終了します。
-.B \-t
+.Fl t
オプションがこのタイムアウト時間を制御します (オプション参照)。
-.PP
+.Pp
他の通常のコマンドのように単にシェルから起動することで、
-.I bootpd
+.Nm
(あるいは
-.IR bootpgw
+.Nm bootpgw
) を「スタンドアローンモード」(
-.IR inetd
+.Xr inetd 8
なし) で実行することも可能です。
-.I bootpd
+.Nm
が大きなコンフィギュレーションデータベースのもとで使われる時には、
inetd モードでの起動時の遅延が
クライアントの要求に対する素早い応答を妨げるので、
スタンドアローンモードは特に役に立ちます。
(例えば
-.IR /etc/rc.local
+.Pa /etc/rc.local
から
-.I bootpd
+.Nm
を呼びだすことによって、
スタンドアローンモードで自動的に起動することができます)
-.I bootpgw
+.Nm bootpgw
は設定ファイルを読まないので、
起動時の遅延はかなり小さく、
スタンドアローンモードはあまり役に立ちません。
-.PP
+.Pp
どちらのプログラムも、inetd から呼び出されたかシェルから呼び出されたかを
自動的に検出し、自動的に適当なモードを選択します。
-.B \-s
+.Fl s
-.B \-i
+.Fl i
オプションは各々、スタンドアローンモードと inetd モードを強制するのに
使います (オプション参照)
-.SH オプション
-.TP
-.BI \-t \ timeout
-.I bootpd
+.Sh オプション
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl t Ar timeout
+.Nm
あるいは
-.I bootpgw
+.Nm bootpgw
プロセスが終了する前に BOOTP パケットを待つ
-.I timeout
+.Ar timeout
値 (分単位) を指定します。
もし
-.I timeout
+.Ar timeout
分内にパケットを受信しなければ、プログラムは終了します。
timeout の値が 0 の場合は「永遠に実行する」という意味です。
スタンドアローンモードでは、このオプションは 0 に強制されます。
-.TP
-.BI \-d \ debug\-level
+.It Fl d Ar debug-level
生成されるデバッグメッセージの量を制御する変数
-.I debug\-level
+.Ar debug-level
を設定します。
-例えば、-d4 あるいは -d 4 では、デバッグレベルが 4 に設定されます。
+例えば、
+.Fl d Ns 4
+.Fl d
+4 では、デバッグレベルが 4 に設定されます。
古いバージョンの
-.IR bootpd
-との互換性のため、数字のパラメータを省略 (つまり、-d だけ) すると
+.Nm
+との互換性のため、数字のパラメータを省略 (つまり、
+.Fl d
+だけ) すると
単にデバッグレベルを一つだけ増加させます。
-.TP
-.BI \-c \ chdir\-path
+.It Fl c chdir-path
クライアントのブートファイルの存在とサイズを検査する間に
-.I bootpd
+.Nm
で使われるカレントディレクトリを設定します。
クライアントのブートファイルが相対パス名で指定されていて、
-.I bootpd
-が TFTP サーバと同じカレントディレクトリ (典型的には /tftpboot)
-を必要とするときに有用です。
+.Nm
+が TFTP サーバと同じカレントディレクトリ (典型的には
+.Pa /tftpboot
+) を必要とするときに有用です。
このオプションは
-.IR bootpgw
+.Nm bootpgw
によっては認識されません。
-.TP
-.B \-i
+.It Fl i
強制的に inetd モードにします。
このオプションは時代遅れですが、古いバージョンの
-.IR bootpd
+.Nm
との互換性のために残してあります。
-.TP
+.It Fl s
.B \-s
強制的にスタンドアローンモードにします。
このオプションは時代遅れですが、
古いバージョンの
-.IR bootpd
+.Nm
との互換性のために残してあります。
-.TP
-.I bootptab
-.I bootpd
+.It Ar bootptab
+.Nm
がロードする
設定ファイルの名前を指定します (
-.RI bootpd
+.Nm
のみ)。
これはあらかじめ知っているクライアントと
そのクライアントのオプションに関するデータベースです。
-.TP
-.I dumpfile
-.I bootpd
+.It Ar dumpfile
+.Nm
が、SIGUSR1 シグナルを受信したときに
内部データベースをダンプするファイルの名前を指定します (
-.RI bootpd
+.Nm
のみ)。
このオプションは
-.I bootpd
+.Nm
が -DDEBUG フラグ付きでコンパイルされたときだけ認識されます。
-.TP
-.I server
-.I bootpgw
+.It Ar server
+.Nm bootpgw
が受信した全ての BOOTREQUEST パケットを転送する、
BOOTP サーバの名前を指定します (
-.RI bootpgw
+.Nm bootpgw
のみ)。
-.SH 操作
-.PP
-.I bootps
+.El
+.Sh 操作
+.Em bootps
ポートに送られたどんなパケットも取り込んで
どんな BOOTREPLY パケットも単純に転送するという点で
-.I bootpd
+.Nm
-.I bootpgw
+.Nm bootpgw
の双方が似た動きをします。
BOOTREQUEST の扱いは違います。
-.PP
-.I bootpgw
+.Pp
+.Nm bootpgw
は動作開始時に、コマンド行パラメタとして名前を与えられた
BOOTP サーバのアドレスを決めます。
-.I bootpgw
+.Nm bootpgw
が BOOTREQUEST パケットを受信したとき、
パケットの「ゲートウェイアドレス」と「ホップ数」フィールドを設定し、
パケットを前に決めたアドレスの BOOT サーバへ転送します。
要求パケットは、
クライアントが少くとも 3 秒は待っているとパケットが示している時にだけ
転送されます。
-.PP
-.I bootpd
+.Pp
+.Nm
は動作開始時に設定ファイル (通常
-.IR /etc/bootptab
+.Pa /etc/bootptab
) を読みこみます。
これで、あらかじめ知っているクライアントと
クライアントのオプションに関する内部データベースを初期化します。
この内部データベースは、
-.I bootpd
+.Nm
が回線切断シグナル (SIGHUP) を受信したとき、
または設定ファイルが変更されたことを
発見したときに、再読み込みが行なわれます。
-.PP
-.I bootpd
+.Pp
+.Nm
が BOOTREQUEST パケットを受信したとき、
クライアントの要求に一致するデータベースエントリを探します。
もしそのクライアントをあらかじめ知っていれば
-.I bootpd
+.Nm
は前に見付けたデータベースエントリを使って BOOTREPLY パケットを構成し、
(ひょっとしたらゲートウェイを使って) クライアントに返答を送ります。
もしクライアントが未知ならば、(debug > 0 のときは注意を出して)
要求は捨てられます。
-.PP
-.I bootpd
+.Pp
+.Nm
が -DDEBUG オプションでコンパイルされていれば、
SIGUSR1 シグナルを送ると内部データベースをファイル
-.I /tmp/bootpd.dump
+.Pa /tmp/bootpd.dump
か、コマンド行パラメータで指定されたダンプファイルに
にダンプします。
-.PP
+.Pp
初期化の時どちらのプログラムも、
(普通は
-.IR /etc/services
+.Pa /etc/services
を使う)
-.I getservbyname
+.Xr getservbyname 3
を呼ぶことで UDP ポート番号を決定します。
二つのサービス名 (とポート番号) が使われます:
-.IP
-bootps \- BOOTP サーバ待機ポート
-.br
-bootpc \- BOOTP クライアント届け先ポート
-.LP
+.Pp
+.Dl bootps \- BOOTP サーバ待機ポート
+.Dl bootpc \- BOOTP クライアント届け先ポート
+.Pp
もしポート番号が
-.I getservbyname
+.Xr getservbyname 3
を使って決定できないときには、
デフォルト値は bootps=67 と bootpc=68 です。
-.SH 関連ファイル
-.TP 20
-/etc/bootptab
-.IR bootpd
+.Sh 関連ファイル
+.Bl -tag -width /tmp/bootpd.dump -compact
+.It Pa /etc/bootptab
+.Nm
によって読み込まれるデータベースファイル。
-.TP
-/tmp/bootpd.dump
-.IR bootpd
+.It Pa /tmp/bootpd.dump
+.Nm
によって生成されるデバッグダンプファイル。
-.TP
-/etc/services
+.It Pa /etc/services
インターネットサービス番号。
-.TP
-/tftpboot
+.It Pa /tftpboot
TFTP サーバと
-.IR bootpd
+.Nm
で使われる典型的カレントディレクトリ。
-
-.SH バグ
+.El
+.Sh バグ
各々のホストエントリは 1024 文字を越えてはいけません。
-
-.SH 功労者
-.PP
-この配布版は現在、 Walter L. Wimer <walt+@cmu.edu> によって
+.Sh 功労者
+この配布版は現在、
+.An Walter L. Wimer Aq walt+@cmu.edu
+によって
保守されています。
-.PP
+.Pp
オリジナルの BOOTP サーバは
-スタンフォード大学の Bill Croft によって 1986 年 1 月に作成されました。
-.PP
+スタンフォード大学の
+.An Bill Croft
+によって 1986 年 1 月に作成されました。
+.Pp
現在のバージョンの
-.I bootpd
-は第一に、Carnegie Mellon University の David Kovar,
-Drew D. Perkins, Walter L. Wimer の仕事にるものです。
-.TP
+.Nm
+は第一に、Carnegie Mellon University の
+.An David Kovar ,
+.An Drew D. Perkins ,
+.An Walter L. Wimer
+の仕事にるものです。
+.Pp
機能拡張とバグフィクスは以下の方の貢献によります:
(アルファベット順)
-.br
-Danny Backx <db@sunbim.be>
-.br
-John Brezak <brezak@ch.hp.com>
-.br
-Frank da Cruz <fdc@cc.columbia.edu>
-.br
-David R. Linn <drl@vuse.vanderbilt.edu>
-.br
-Jim McKim <mckim@lerc.nasa.gov>
-.br
-Gordon W. Ross <gwr@mc.com>
-.br
-Jason Zions <jazz@hal.com>
-.SH 関連項目
-.LP
-bootptab(5), inetd(8), tftpd(8)
-.LP
+.Pp
+.An Danny Backx Aq db@sunbim.be ,
+.An John Brezak Aq brezak@ch.hp.com ,
+.An Frank da Cruz Aq fdc@cc.columbia.edu ,
+.An David R. Linn Aq drl@vuse.vanderbilt.edu ,
+.An Jim McKim Aq mckim@lerc.nasa.gov ,
+.An Gordon W. Ross Aq gwr@mc.com ,
+.An Jason Zions Aq jazz@hal.com .
+.Sh 関連項目
+.Xr bootptab 5 ,
+.Xr inetd 8 ,
+.Xr tftpd 8
+.Pp
DARPA Internet Request For Comments:
-.TP 10
-RFC951
+.Bl -tag -width RFC1533 -compact
+.It RFC951
Bootstrap Protocol
-.TP 10
-RFC1532
+.It RFC1532
Clarifications and Extensions for the Bootstrap Protocol
-.TP 10
-RFC1533
+.It RFC1533
DHCP Options and BOOTP Vendor Extensions
+.El
diff --git a/ja/man/man8/ccdconfig.8 b/ja/man/man8/ccdconfig.8
index dae26c476d..8db895c1d8 100644
--- a/ja/man/man8/ccdconfig.8
+++ b/ja/man/man8/ccdconfig.8
@@ -1,180 +1,180 @@
.\" $NetBSD: ccdconfig.8,v 1.1.2.1 1995/11/11 02:43:33 thorpej Exp %
.\"
.\" Copyright (c) 1995 Jason R. Thorpe.
.\" 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:
.\" must display the following acknowledgement:
.\" This product includes software developed for the NetBSD Project
.\" by Jason R. Thorpe.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: ccdconfig.8,v 1.4.2.1 1998/07/17 20:12:57 jkh Exp %
+.\" %Id: ccdconfig.8,v 1.5 1998/06/04 06:41:26 charnier Exp %
.\"
.\" jpman %Id: ccdconfig.8,v 1.3 1997/07/28 10:00:39 konuma Stab %
.Dd July 17, 1995
.Dt CCDCONFIG 8
.Os FreeBSD
.Sh 名称
.Nm ccdconfig
.Nd 結合ディスクドライバ用設定ユーティリティ
.Sh 書式
.Nm ccdconfig
.Op Fl cv
.Ar ccd
.Ar ileave
.Op Ar flags
.Ar dev
.Op Ar
.Nm ccdconfig
.Fl C
.Op Fl v
.Op Fl f Ar config_file
.Nm ccdconfig
.Fl u
.Op Fl v
.Ar ccd
.Op Ar
.Nm ccdconfig
.Fl U
.Op Fl v
.Op Fl f Ar config_file
.Nm ccdconfig
.Fl g
.Op Fl M Ar core
.Op Fl N Ar system
.Oo
.Ar ccd Oo ...
.Oc
.Oc
.Sh 解説
.Nm
は結合ディスクデバイス (concatenated disk device, ccd) の動的な設定および
解除を行う場合に使用します。ccd の詳細については、
.Xr ccd 4
を参照して下さい。
.Pp
以下のオプションが使用できます。
.Bl -tag -width indent
.It Fl c
ccd の設定を行います。
.Nm
のデフォルトの動作です。
.It Fl C
設定ファイルに書かれている全てのデバイスの設定を行います。
.It Fl f Ar config_file
全てのデバイスの設定あるいは解除を行う時に、デフォルトの
.Pa /etc/ccd.conf
ではなく、
.Pa config_file
から設定情報を読み込みます。
.It Fl g
ccd の設定ファイルとして使用できる形式で、現在の ccd の設定を出力します。
引数が指定されていなければ、設定されている全ての ccd について出力します。
引数が指定されていれば、指定された ccd についてのみ出力します。
.It Fl M Ar core
名前リストに対応する値の展開に、デフォルトの
.Pa /dev/mem
ではなく、
.Pa core
を使用します。
.It Fl N Ar system
(
.Xr getbootfile 3
により判断される)
現在稼働中のカーネルの代わりに
.Ar system
をカーネルとして使用します。
.It Fl u
ccd の設定を解除します。
.It Fl U
ccd 設定ファイルに書かれている全ての ccd デバイスの設定を解除します。
.It Fl v
より冗長な出力を行います。
.El
.Pp
ccd は、コマンド行ないし ccd 設定ファイルにて、ccd の名前、インタリーブ
ファクタ、ccd 設定フラグ、ひとつ以上のデバイスのリストの情報により
定義されます。フラグは、十進数、十六進数、コンマで区切られた名前のリスト、
.Dq none
のいずれかで表すことができます。
フラグには以下の物があります。
.\" 以下の表の部分のマクロはオリジナルの英語版とは異なるが、こちらの方が
.\" きれいに(見やすい形で)フォーマットされるので、変更した。
.\" マクロ自体は NetBSD の ccdconfig.8 の日本語版を参考にした。
.\" 2.2.2-RELEASE 対象
.\" By yugawa@orleans.rim.or.jp (May 20 1997)
.\"
.\" "-offset indent" 追加。
.\" 2.2.2-RELEASE 対象
.\" By konuma@de.mtex.co.jp (Jul 28 1997)
.Pp
.Bl -tag -width "CCDF_UNIFORM 0x02" -ffset intent -compact -offset indent
.It "CCDF_SWAP 0x01"
dmmax (swap の単位ブロックの最大値) 単位でインタリーブします
.It "CCDF_UNIFORM 0x02"
ディスク間で均一なインタリーブ動作になります
.It "CCDF_MIRROR 0x04"
データのミラーリングを行います
.It "CCDF_PARITY 0x08"
パリティ検査を行います (現状では使用できません)
.El
.Pp
設定ファイルのフォーマットは、コマンド行から指定する場合と
同一の形式になります。コマンド行から指定する場合も、
設定ファイルから指定する場合も、
.Pa flags
引数はオプションです。
.Bd -unfilled -offset indent
#
# /etc/ccd.conf
# Configuration file for concatenated disk devices
#
.Pp
# ccd ileave flags component devices
ccd0 16 none /dev/sd2e /dev/sd3e
.Ed
.Pp
.Sh 使用例
コマンド行から以下のコマンドを実行した場合、ccd0 を
(/dev/sd2e, /dev/sd3e, /dev/sd4e, /dev/sd5e の) 四つの要素から
構成され、32 ブロックごとにインタリーブする ccd として設定します。
.Bd -unfilled -offset indent
# ccdconfig ccd0 32 0 /dev/sd2e /dev/sd3e /dev/sd4e /dev/sd5e
.Ed
.Pp
.Sh 関連ファイル
.Bl -tag -width /etc/ccd.conf -compact
.It Pa /etc/ccd.conf
デフォルトの ccd 設定ファイル
.El
.Sh 関連項目
.Xr ccd 4 ,
.Xr rc 8
.Sh 歴史
.Nm
コマンドは
.Nx 1.0a
から登場しました。
diff --git a/ja/man/man8/chat.8 b/ja/man/man8/chat.8
index b37e4c67df..5ba8d3255e 100644
--- a/ja/man/man8/chat.8
+++ b/ja/man/man8/chat.8
@@ -1,521 +1,521 @@
.\" -*- nroff -*-
.\" manual page [] for chat 1.8
-.\" %Id: chat.8,v 1.4.2.4 1998/06/23 22:12:41 peter Exp %
+.\" %Id: chat.8,v 1.12 1998/06/23 21:58:41 peter Exp %
.\" jpman %Id: chat.8,v 1.3 1997/08/31 14:02:42 horikawa Stab %
.\" SH section heading
.\" SS subsection heading
.\" LP paragraph
.\" IP indented paragraph
.\" TP hanging label
.TH CHAT 8 "27 Sep 1997" "Chat Version 1.17"
.SH 名称
chat \- モデム接続の確立を自動化するスクリプト言語
.SH 書式
.B chat
[
.I options
]
.I script
.SH 解説
.LP
\fIchat\fR プログラムはコンピュータとモデムの間のメッセージ交換を制御します。
このコマンドの主な目的は、Point-to-Point Protocol デーモン (\fIpppd\fR) と
リモートの \fIpppd\fR プロセスの間の接続を確立することです。
.SH オプション
.TP
.B -f \fI<chat file>
チャットスクリプトを \fIchat file\fR から読み込みます。このオプションと
script パラメータとは、互いに排他の関係にあります。
chat コマンドを実行するユーザは、このファイルのリードアクセス権を
持っていなければなりません。このファイルの中では、文字列の区切りとして
スペースとタブを使うことができます。
.TP
.B -t \fI<timeout>
文字列の受信待ちのタイムアウトを指定します。もし、タイムリミットまでに
指定された文字列を受信できなかった場合には、応答文字列の送信をおこないません。
この時、かわりの応答文字列が指定されていれば それが送信され、
指定されていなければ スクリプトの実行が失敗します。
スクリプトの実行が失敗すると、\fIchat\fR プログラムは
0 以外のエラーコードを返して終了します。
.TP
.B -r \fI<report file>
レポート文字列を出力するファイルを指定します。
キーワード \fIREPORT\fR を用いると、結果の文字列がこのファイルに
出力されます。このオプションを指定せずに \fIREPORT\fR キーワードを
使用すると、レポート文字列は \fIstderr\fR に出力されます。
.TP
.B -e
エコーオプションを有効にして開始します。
\fIchat\fR スクリプトの特定の場所において
\fIECHO\fR キーワードにて
エコーの有効および無効を切り替えることができます。
エコーが有効にされると、モデムからの出力は全て \fIstderr\fR へエコーされます。
.TP
.B -v
\fIchat\fR スクリプトを冗長モードで実行します。
これを指定すると、\fIchat\fR プログラムは、チャットスクリプトの実行状態、
モデムから受信した全てのテキスト、
モデムに送った全てのテキストのログをとります。
デフォルトでは
.IR syslogd (8)
を介して取得します。ログの方法は -S および -s のフラグで変更できます。
冗長トレースのログとりは \fIlocal2\fR ファシリティのレベル \fIinfo\fR
でおこなわれ、エラーについてはレベル \fIerr\fR が使われます。
.TP
.B -V
\fIchat\fR スクリプトを標準エラー出力冗長モードにて実行するように要求します。
\fIchat\fR プログラムは、
モデムから受信する全てのテキストおよびモデムへ送信する全てのテキストを
標準エラー出力デバイスへログします。
chat もしくは pppd プログラムを動作させている場所では、
このデバイスは通常ローカルのコンソールです。
.TP
.B -s
標準エラー出力を使用します。'-v' による全ログメッセージ
および全エラーメッセージを標準エラー出力へ送られます。
.TP
.B -S
.IR syslog (3)
を使用しません。デフォルトではエラーメッセージは
.IR syslog (3)
へ送られます。-S を使用すると '-v' によるログおよびエラーメッセージは
.IR syslog (3)
へは送られなくなります。
.TP
.B -T \fI<phone number>
送信文字列において \\T 置換メタ文字を置き換える任意の文字列を渡します。
通常は電話番号です。
.TP
.B -U \fI<phone number 2>
送信文字列において \\U 置換メタ文字を置き換える第 2 文字列を渡します。
通常は電話番号です。
2 つの番号を要する ISDN ターミナルアダプタでタイアルする場合に有用です。
.TP
.B script
\fI-f\fR オプションのファイルでスクリプトが指定されていなければ、
\fIchat\fR プログラムに対するパラメータ文字列が
スクリプトとして読み込まれます。
.SH チャットスクリプト
.LP
\fIchat\fR スクリプトには通信の手順を定義します。
.LP
スクリプトは一つまたはそれ以上の「受信待ち-送信」文字列の組からなり、
それぞれは空白で区切られています。
オプションとして「副受信待ち-副送信」文字列の組を追加することもでき、
その場合には以下の例のようにダッシュで区切ります:
.IP
ogin:-BREAK-ogin: ppp ssword: hello2u2
.LP
これにより、\fIchat\fR プログラムは文字列 "ogin:" の受信待ちをおこないます。
もしもタイムアウトする前にログインプロンプトを受信できなければ、
リモートホストにブレーク信号を送信し、それから文字列 "ogin:" を受信待ちします。
もしも最初の "ogin:" が受信できていれば、ブレーク信号は送信されません。
.LP
一旦ログインプロンプトを受信すると、\fIchat\fR プログラムは文字列 ppp を
送信して、プロンプト "ssword:" の受信を待ちます。 パスワードプロンプトを
受信すると、chat プログラムはパスワード hello2u2 を送信します。
.LP
応答文字列に続いて、通常はキャリッジリターン文字が送られます。
「受信待ち」文字列中では、\\r 文字シーケンスで明示的に指定しないかぎり、
キャリッジリターンは文字列に含まれません。
.LP
目的の文字列を識別するのに必要な部分だけを受信待ち文字列に
指定するようにするべきです。
なぜなら、受信待ち文字列は通常ディスクファイルに記録されるため、
動的に変化する情報を含むことができないからです。
一般には、時刻を表す文字列やネットワーク ID 文字列その他の
変化するデータの塊を受信待ちさせることはできません。
.LP
通信の初期段階では、文字が化けて受信される場合があります。
この場合にも正しく認識ができるように、
文字列 "login:" ではなく "ogin:" を待つようにします。
仮に最初の "l" という文字が化けて受信されたとしますと、
リモートシステムが "login:" を送信したとしても、
その文字列は認識されないことになります。
このため、スクリプトでは "login:" ではなく "ogin:" を、
"password:" ではなく "ssword:" を待つようにします。
.LP
非常に単純なスクリプトは、以下のようになるでしょう:
.IP
ogin: ppp ssword: hello2u2
.LP
言いかえると、....ogin: を受信待ちして ppp を送信し、...ssword: を
受信待ちして hello2u2 を送信するということになります。
.LP
現実問題としては、単純なスクリプトが使われることはほとんどないでしょう。
少なくとも、最初の受信待ち文字列が受信できなかった場合に、
副受信待ち文字列を実行するようにするべきでしょう。
たとえば、以下のスクリプトを考えてみます:
.IP
ogin:--ogin: ppp ssword: hello2u2
.LP
これは以前に使った単純なものよりも良いスクリプトでしょう。
以前のものと同様に login: プロンプトを待ちますが、もし受信できなかった場合には
リターンを一つ送ってから再び login: が送られてくるのを待ちます。
最初のログインプロンプトがラインノイズによって化けたとしても、
空行が送られることで、通常はもう一度ログインプロンプトが送信されます。
.SH コメント
コメントを chat スクリプト中に埋め込むことが可能です。
コメントは \fB#\fR (ハッシュ) 文字をカラム 1 から開始する行です。
このようなコメント行は chat プログラムは単に無視します。
「受信待ち」文字列の最初の文字が `#' 文字の場合、
「受信待ち」文字列をクォートする必要があります。
文字 # (ハッシュ)から始まるプロンプトを待ちたい場合には、
以下のように書かねばならないでしょう:
.IP
# Now wait for the prompt and send logout string
.br
\'# ' logout
.LP
.SH 中断文字列
多くのモデムはダイアルの結果を文字列としてレポートします。
これらの文字列は \fBCONNECTED\fR だったり、\fBNO CARRIER\fR や \fBBUSY\fR
だったりするでしょう。
モデムが相手との接続に失敗した場合には、スクリプトを終了させたいと
思うことがよくあるでしょう。
問題は、どの文字列を次に受信するかということを、
スクリプトが正確に知ることはできないということです。
ある時には \fBBUSY\fR を受信するかもしれませんが、
次には \fBNO CARRIER\fR を受信するかもしれません。
.LP
これらの「中断」文字列は、\fIABORT\fR シーケンスにより
スクリプト中に指定することができます。
それは、以下の例のようにスクリプトに指定します:
.IP
ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ATDT5551212 CONNECT
.LP
このシーケンスは受信待ちをおこないません。それから文字列 ATZ を送信します。
受信待ち文字列は \fIOK\fR です。
\fIOK\fR を受信すると、電話をかけるために文字列 ATDT5551212 を送信します。
受信待ち文字列は \fICONNECT\fR です。
文字列 \fICONNECT\fR を受信すると、スクリプトの残りが実行されます。
一方、モデムが話中を検出すると、文字列 \fIBUSY\fR が送られて
中断文字列への一致が起こります。
この一致が起きたことにより、スクリプトは失敗します。
もしも文字列 \fINO CARRIER\fR を受信すると、それは同じ理由で中断されます。
どちらの文字列が受信されても、\fIchat\fR スクリプトは終了します。
.SH CLR_ABORT 文字列
このシーケンスは以前に設定した \fBABORT\fR 文字列をクリアします。
\fBABORT\fR 文字列は規定サイズ(コンパイル時に決定)の配列に保持されます;
\fBCLR_ABORT\fR はクリアされたエントリの領域を再要求し、
新たな文字列をそこに格納できるようにします。
.SH SAY 文字列
\fBSAY\fR ディレクティブにて、
script が標準エラー出力を介してユーザ端末ヘ文字列を送ることができます。
\fBchat\fR が pppd から起動される場合、
pppd はデーモンとして実行され(制御端末から切離され)、
標準エラー出力は通常
/etc/ppp/connect-errors
へとリダイレクトされます。
.LP
\fBSAY\fR 文字列は、シングルクォートもしくはダブルクォートにて
括る必要があります。
出力中にキャリッジリターンおよびラインフィードが必要な場合、
明示的に文字列中に含める必要があります。
.LP
SAY 文字列を使用して script の進捗状況メッセージを表示することで、'ECHO
OFF'
しつつもユーザになにが起っているのか示すことが可能です。
例を示します:
.IP
ABORT BUSY
.br
ECHO OFF
.br
SAY "Dialling your ISP...\\n"
.br
\'' ATDT5551212
.br
TIMEOUT 120
.br
SAY "Waiting up to 2 minutes for connection ... "
.br
CONNECT ''
.br
SAY "Connected, now logging in ...\n"
.br
ogin: account
.br
ssword: pass
.br
$ \c
SAY "Logged in OK ...\n"
\fIetc ...\fR
.LP
このシーケンスは SAY 文字列のみユーザに示し、script の詳細は隠します。
例えば、上記 script を実行した場合、ユーザが見るのは以下です:
.IP
Dialling your ISP...
.br
Waiting up to 2 minutes for connection ... Connected, now logging in ...
.br
Logged in OK ...
.LP
.SH レポート文字列
\fBレポート\fR 文字列は ABORT 文字列に似ています。
違うのは、その文字列自身とキャリッジリターン等の
次の制御文字までの
全ての文字がレポートファイルに書かれるということです。
.LP
レポート文字列はモデムのコネクト文字列の転送レートと
chat ユーザへのリターン値を切りわけるために使えます。
レポート文字列ロジックの分析は、受信待ち文字列の検索などの
他の文字列処理と同時におこなわれます。
レポート文字列と中断文字列に同じ文字列を使用することも可能ですが、
おそらくあまり使い道がないでしょう。
.LP
レポート文字列はプログラムの終了コードに影響を及ぼしません。
.LP
これらの「レポート」文字列は、\fIREPORT\fR シーケンスにより
スクリプト中に指定することができます。
それは、以下の例のようにスクリプトに指定します:
.IP
REPORT CONNECT ABORT BUSY '' ATDT5551212 CONNECT '' ogin: account
.LP
このシーケンスは受信待ちをおこなわず、文字列 ATDT5551212 を送信して
電話をかけます。受信待ち文字列は \fICONNECT\fR です。
文字列 \fICONNECT\fR を受信すると、スクリプトの残りが実行されます。
さらに、文字列 "CONNECT" と、それに続く接続レートなどの
任意の文字がレポートファイルに記録されます。
.\" 原文では expect-file となっているが、report-file の間違いと思われる。
.\" send-pr する予定。
.\" 2.2.2R 対象(1997/06/04) Saeki Takashi <saeki@ba2.so-net.or.jp>
.SH CLR_REPORT 文字列
このシーケンスを使用して、以前に設定した \fBREPORT\fR 文字列をクリア
できます。
\fBREPORT\fR 文字列は規定サイズ(コンパイル時に決定)の配列に保持されます;
\fBCLR_REPORT\fR はクリアされたエントリの領域を再要求し、
新たな文字列をそこに格納できるようにします。
.SH エコー
エコーオプションはモデムからの出力を \fIstderr\fR へエコーするか否か
を制御します。
このオプションを \fI-e\fR オプションにて設定することができますし、
\fIECHO\fR キーワードにて制御することもできます。
「受信待ち-送信」文字列の組 \fIECHO\fR \fION\fR はエコーを有効にし、
\fIECHO\fR \fIOFF\fR は無効にします。
このキーワードを使用してどの会話を見せるかを選択可能です。
例えば以下の script では:
.IP
ABORT 'BUSY'
.br
ABORT 'NO CARRIER'
.br
'' ATZ
.br
OK\\r\\n ATD1234567
.br
\\r\\n \\c
.br
ECHO ON
.br
CONNECT \\c
.br
ogin: account
.LP
モデム設定結果およびダイヤル結果は見せませんが、
\fICONNECT\fR (もしくは \fIBUSY\fR) メッセージ語は全てをエコーします。
.SH 回線切断
HANGUP オプションはモデムの回線切断をエラーと扱うか否かを制御します。
このオプションは、
システムにダイヤル後に回線切断しコールバックする script 中で有効です。
HANGUP オプションは \fBON\fR もしくは \fBOFF\fR にできます。
.br
HANGUP を OFF に設定しモデムを回線切断
(つまりコールバックシステムへの最初のログイン)すると、\fBchat\fR は
script の実行を続けます
(つまり呼び出しと二度目のログインプロンプトを待ちます)。
呼び出しにて接続後すぐに、\fBHANGUP ON\fR ディレクティブを使用して
通常の回線切断シグナルの動作を戻す必要があります。
(簡単な) script 例を示します:
.IP
ABORT 'BUSY'
.br
'' ATZ
.br
OK\\r\\n ATD1234567
.br
\\r\\n \\c
.br
CONNECT \\c
.br
\'Callback login:' call_back_ID
.br
HANGUP OFF
.br
ABORT "Bad Login"
.br
\'Callback Password:' Call_back_password
.br
TIMEOUT 120
.br
CONNECT \\c
.br
HANGUP ON
.br
ABORT "NO CARRIER"
.br
ogin:--BREAK--ogin: real_account
.br
\fIetc ...\fR
.LP
.SH タイムアウト
タイムアウトの初期値は 45 秒です。これは \fB-t\fR パラメータにより
変更することができます。
.LP
次に受信待ちする文字列のタイムアウト値を変更するには、以下のようにします:
.IP
ATZ OK ATDT5551212 CONNECT TIMEOUT 10 ogin:--ogin: TIMEOUT 5 assword: hello2u2
.LP
これは login: プロンプトを受信待ちする際のタイムアウトを 10 秒に変更します。
さらに password プロンプトを受信待ちする際にはタイムアウトを 5 秒に変更します。
.LP
一旦タイムアウト値が変更されると、次に変更されるまでは
そのままになります。
.SH EOT の送信
チャットプログラムは特殊な応答文字列 \fIEOT\fR により、
リモート側へ EOT 文字を送信します。
通常、これはファイル終了を表す文字です。
EOT に続けてリターン文字が送られることはありません。
.PR
\fI^D\fR シーケンスを使って EOT を送信文字列に埋め込むことができます。
.SH ブレークの生成
特殊な応答文字列 \fIBREAK\fR により、ブレーク信号が送られます。
ブレークは送信側では特殊な信号として扱われます。
受信側では通常、転送レートの変更要求として処理されます。
これにより、正常に login プロンプトを受信できるまで
ブレーク信号を送ることで、リモート側がサポートしている転送レートを
順次切替えさせることができます。
.PR
\fI\\K\fR シーケンスを使ってブレーク信号を送信文字列に埋め込むことができます。
.SH エスケープシーケンス
受信待ち文字列と応答文字列には、エスケープシーケンスを指定することができます。
応答文字列では、全てのエスケープシーケンスが使えます。
受信待ち文字列では、ほとんどのエスケープシーケンスが使えます。
受信待ち文字列では使えないエスケープシーケンスについては、
説明文中にそのことが書かれています。
.TP
.B ''
空文字列を受信待ちしたり、送信したりします。
もし、空文字列を送信しようとすると、それはリターン文字を送ることになります。
このシーケンスはアポストロフィ文字またはクォート文字のペアの
どちらでもかまいません。
.TP
.B \\\\b
バックスペース文字を表します。
.TP
.B \\\\c
応答文字列の末尾の改行を抑制します。
これは末尾に改行文字のつかない文字列を送る唯一の方法です。
これは送信文字列の最後に置かれなければいけません。
たとえば、文字列 hello\\c は単に h, e, l, l, o という文字だけを送ります。
.I (受信待ち文字列では使えません)
.TP
.B \\\\d
1 秒のディレイです。プログラムは 1 秒のディレイのために sleep(1) を使います。
.I (受信待ち文字列では使えません)
.TP
.B \\\\K
ブレーク信号を挿入します。
.I (受信待ち文字列では使えません)
.TP
.B \\\\n
改行文字を送信します。
.TP
.B \\\\N
空 (null) 文字を送信します。\\0 でも同じシーケンスを表すことができます。
.I (受信待ち文字列では使えません)
.TP
.B \\\\p
1 秒以下のポーズです。ディレイ時間は 1/10 秒です。
.I (受信待ち文字列では使えません)
.TP
.B \\\\q
.IR syslogd (8)
への文字列出力を抑止します。
かわりに文字列 ?????? がログに出力されます。
.I (受信待ち文字列では使えません)
.TP
.B \\\\r
キャリッジリターン文字を送信または受信待ちします。
.TP
.B \\\\s
文字列中のスペース文字を表します。
これはスペースを含む文字列をクォートしたくない場合に使います。
シーケンス 'HI TIM' と HI\\sTIM は等価です。
.TP
.B \\\\t
タブ文字を送信または受信待ちします。
.TP
.B \\\\\\\\
バックスラッシュ文字を送信または受信待ちします。
.TP
.B \\\\ddd
8 進数 (ddd) を一つの ASCII 文字に変換し、その文字を送信します。
.I (受信待ち文字列では使えない文字がいくつかあります)
.TP
.B \^^C
C で表現される制御文字に置きかえられます。
例えば、文字 DC1 (17) は \^^Q で表されます。
.I (受信待ち文字列では使えない文字がいくつかあります)
.SH 終了コード
\fIchat\fR プログラムは以下の終了コードを返します。
.TP
.B 0
プログラムは正常終了しました。これは、スクリプトがエラーを起こさずに
実行されて、正常に終了したことを示します。
.TP
.B 1
一つまたはそれ以上のパラメータが不正であるか、受信待ち文字列が
内部バッファよりも大きすぎます。これはプログラムが正しく
実行されなかったことを示します。
.TP
.B 2
プログラムの実行中にエラーが発生しました。これは、何らかの理由で
リードまたはライトの操作が失敗したか、chat が SIGINT のような
シグナルを受信したためでしょう。
.TP
.B 3
「-副送信」文字列のない\fI受信待ち\fR文字列があり、タイムアウトイベントが
発生しました。これは、スクリプトが正しくプログラムされていないか、
予期しないイベントが発生して受信待ち文字列を見つけられなかったためでしょう。
.TP
.B 4
\fIABORT\fR 条件としてマークされた 1 番目の文字列を検出しました。
.TP
.B 5
\fIABORT\fR 条件としてマークされた 2 番目の文字列を検出しました。
.TP
.B 6
\fIABORT\fR 条件としてマークされた 3 番目の文字列を検出しました。
.TP
.B 7
\fIABORT\fR 条件としてマークされた 4 番目の文字列を検出しました。
.TP
.B ...
その他の終了コードも、\fIABORT\fR 条件としてマークされた文字列を
検出したことを示します。
.LP
終了コードを使うと、どのイベントによりスクリプトが終了したのかを
判断することができます。
つまり、"NO DIAL TONE" を受信したのか "BUSY" を受信したのかを
識別することができるということです。
最初のイベント (BUSY) ならばリトライする価値がありますが、
二つ目のイベント (NO DIAL TONE) だと、
おそらくリトライしてもそれがうまくいく可能性は低いでしょう。
.SH 関連項目
UUCP のドキュメントからも、\fIchat\fR スクリプトに関する
追加情報が得られるでしょう。
\fIchat\fR スクリプトは \fIuucico\fR プログラムで使われる
スクリプトによって提示されたアイデアを基にしています。
.LP
uucico(1), uucp(1), syslog(3), syslogd(8).
.SH 著作権
\fIchat\fR プログラムは、パブリックドメインのソフトウェアです。
これは GNU のパブリックライセンス (一般公有使用許諾) とは異なります。
このプログラムを分割する場合には、その両方を管理するようにしてください。
.\" 原文は The \fIchat\fR program is in public domain. This is not
.\" the GNU public license. If it breaks then you get to keep both pieces.
.\" 最後の文章にはあまり自信がありません。(^_^;;
.\" 2.2.2R 対象(1997/06/26) Saeki Takashi <saeki@ba2.so-net.or.jp>
diff --git a/ja/man/man8/chown.8 b/ja/man/man8/chown.8
index 46570a50de..3356bfbf45 100644
--- a/ja/man/man8/chown.8
+++ b/ja/man/man8/chown.8
@@ -1,148 +1,149 @@
.\" Copyright (c) 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.
.\"
.\" @(#)chown.8 8.3 (Berkeley) 3/31/94
+.\" %Id: chown.8,v 1.6 1997/09/04 11:55:42 charnier Exp %
.\" %Id: chown.8,v 1.2.2.2 1997/09/15 06:29:30 charnier Exp %
.\" jpman %Id: chown.8,v 1.3 1997/05/19 16:59:53 horikawa Stab %
.\"
.Dd March 31, 1994
.Dt CHOWN 8
.Os BSD 4
.Sh 名称
.Nm chown
.Nd 指定したファイルの所有者およびグループを変更する
.Sh 書式
.Nm chown
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl f
.Op Fl h
.Ar owner Op Ar :group
.Ar
.Nm chown
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl f
.Op Fl h
.Ar :group
.Ar
.Sh 解説
.Nm
は指定したファイルのユーザ ID や グループ ID を設定します。
.Pp
オプションは以下のものがあります:
.Bl -tag -width Ds
.It Fl H
.Fl R
オプションが指定されている場合に、コマンドライン上の
シンボリックリンクをたどるようになります。
( ツリー内をたどっている際中に見つけたシンボリックリンクの先は
調べません。)
.It Fl L
.Fl R
オプションが指定された場合に、全てのシンボリックリンクを
たどるようになります。
.It Fl P
.Fl R
オプションが指定された場合に、シンボリックリンクの先を
たどらないようになります。
.It Fl R
指定したファイル自身だけでなくその代わりに、
そのファイルをルートとする階層のファイルのユーザ ID やグループ ID を
変更します。
.It Fl f
所有者やグループの変更が失敗しても報告を行ないません。
変更の失敗は戻り値にも影響しません。
.It Fl h
ファイルがシンボリックリンクの場合、
リンクが指すファイルではなくリンク自身のユーザ ID および/またはグループ ID
を変更します。
.El
.Pp
.Fl H ,
.Fl L ,
.Fl P
のオプションは
.Fl R
が指定されない限り無視されます。
加えて、これらのオプションはお互いの効果を上書きするため、
コマンドの動作は一番最後に指定されたもので決まります。
.Pp
.Ar owner
.Ar group
のオペランドはどちらも無くてもよいもの (optional) ですが、
少なくともどちらかを指定しなければなりません。
.Ar group
オペランドを指定した場合は
先頭にコロン (``:'') をつけて下さい。
.Pp
.Ar owner
は ユーザ ID の数値かユーザ名のどちらかです。ユーザ名がユーザ ID
の数値でもある場合、このオペランドはユーザ名とみなされます。
.Ar group
グループ ID の数値かグループ名のどちらかです。グループ名がグループ ID
の数値でもある場合、このオペランドはグループ名とみなされます。
.Pp
セキュリティの関係上明らかなことですが、ファイルの所有者の変更はスーパユーザ
にしか行なうことができません。
.Pp
.Nm
は成功時に 0 を、エラーが起こった時に 0 より大きい値を戻り値とし
て返します。
.Sh 互換性
.Nm
の以前のバージョンは、グループ名を指定するのにドット (``.'') を
用いていました。
この文字はコロン (``:'') に変更されたため、
ユーザ名やグループ名にドットを含んでも構いません。
.Pp
.Sh 関連項目
.Xr chgrp 1 ,
.Xr find 1 ,
.Xr chown 2 ,
.Xr fts 3 ,
.Xr symlink 7
.Sh 規格
.Nm
コマンドは
.St -p1003.2
互換であると考えられています。
.Sh 歴史
.Nm
コマンドは
.At v1
-から導入されました。
\ No newline at end of file
+から導入されました。
diff --git a/ja/man/man8/clri.8 b/ja/man/man8/clri.8
index 7bee759a8f..98071dbc35 100644
--- a/ja/man/man8/clri.8
+++ b/ja/man/man8/clri.8
@@ -1,82 +1,82 @@
.\" Copyright (c) 1980, 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.
.\"
.\" @(#)clri.8 8.2 (Berkeley) 4/19/94
-.\" %Id: clri.8,v 1.2.2.2 1998/07/17 20:12:58 jkh Exp %
+.\" %Id: clri.8,v 1.6 1998/06/04 06:44:16 charnier Exp %
.\" jpman %Id: clri.8,v 1.2 1997/05/17 16:57:59 horikawa Stab %
.\"
.Dd April 19, 1994
.Dt CLRI 8
.Os BSD 4
.Sh 名称
.Nm clri
.Nd i ノードをクリアする
.Sh 書式
.Nm clri
.Ar special_device inode_number ...
.Sh 解説
.Bf -symbolic
通常は
.Xr fsck 8
でファイルシステムの修復を行なうので、
.Nm
は古いもの(obsolete)
となっています。
.Ef
.Pp
.Nm
は、指定した特殊ファイル
.Ar special_device
上にあるファイルシステムの、指定された
i ノード番号の i ノードを 0 でクリアします。
クリアされた inode や、以前その inode によって
使用されていたブロックを再使用できるようにするために、普通は
.Nm
を実行したあとで
.Xr fsck 8
をそのファイルシステムに対して実行します。
.Pp
このコマンドは主に、なんらかの原因によって
.Xr fsck 8
が適切に処理することのできなくなったファイルを削除するためにあります。
一度削除されれば、
そのあとのファイルシステム上のつじつま合わせは
.Xr fsck 8
が行ってくれることが期待できます。
.Sh 関連項目
.Xr fsck 8 ,
.Xr fsdb 8
.Sh バグ
オープンされているファイルに対して
.Nm
を実行しても、
そのファイルをクローズする際にキャッシュからディスクに
i ノードが書き戻されるために、その効果が失われてしまいます。
diff --git a/ja/man/man8/comcontrol.8 b/ja/man/man8/comcontrol.8
index ac677e6066..7c4c5daa3b 100644
--- a/ja/man/man8/comcontrol.8
+++ b/ja/man/man8/comcontrol.8
@@ -1,66 +1,66 @@
-.\" %Id: comcontrol.8,v 1.8.2.3 1998/07/17 20:13:12 jkh Exp %
+.\" %Id: comcontrol.8,v 1.14 1998/06/30 06:09:37 charnier Exp %
.\" jpman %Id: comcontrol.8,v 1.3 1997/08/16 13:09:13 horikawa Stab %
.Dd May 15, 1994
.Dt COMCONTROL 8
.Os FreeBSD
.Sh 名称
.Nm comcontrol
.Nd シリアルデバイス(sio) の制御
.Sh 書式
.Nm comcontrol
.Ar sio_special_device
.Op options
.Sh 解説
.Nm
は、指定したシリアルデバイス (sio) の特別な設定内容を表示/変更するのに
用いられます。
デバイス名以外の引数が指定されない場合、
制御可能な全ての項目が表示されます。
.Nm
をこのように利用する際には、
当該デバイスの読み取り許可だけが必要になります。
設定を変更できるのはスーパユーザだけです。
.Pp
以下のオプションが利用可能です:
.Bl -tag -width width
.It Cm dtrwait Ar number
DTR が落ちたあと待機する時間を設定します。
単位は 100 分の 1 秒です。
デフォルトは 300 すなわち 3 秒です。
このオプションは主として、モデムをリセットした後に
適切な復帰時間を置くのに用いられます。
.It Cm drainwait Ar number
出力が出てくるまでの待機時間を設定します。
単位は秒です。
デフォルトは 0 つまり無限に待ち続けます。
このオプションは主に、
待ち時間上限値を指定してモデムのハングを回避するのに用いられます。
.El
.Pp
.Nm
の標準的な使い方は、スタートアップスクリプト
.Pa /etc/rc.serial
の中に
.Nm
の起動を含めておくことです。
.Sh 関連項目
.Xr stty 1 ,
.Xr sio 4
.Sh 関連ファイル
.Bl -tag -width /dev/ttyd? -compact
.It Pa /dev/ttyd?
ダイアルインデバイス。結線した端末(hardwired terminals)。
.It Pa /dev/cuaa?
ダイアルアウトデバイス。
.Sh 作者
Christopher G. Demetriou
.Sh バグ
.Nm
.Nm siocontrol
という名前にすべきです。
.Sh 歴史
オリジナルは 386BSD 0.1 に対する cgd の com パッケージパッチの
バージョン 0.2.1 です。
かつては双方向制御機能を持っていましたが、
現在ではこれらは標準機能となり、制御できるものはほとんどありません。
diff --git a/ja/man/man8/comsat.8 b/ja/man/man8/comsat.8
index d41e25d30f..cb770707af 100644
--- a/ja/man/man8/comsat.8
+++ b/ja/man/man8/comsat.8
@@ -1,99 +1,99 @@
.\" 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.
.\"
.\" @(#)comsat.8 8.1 (Berkeley) 6/4/93
-.\" %Id: comsat.8,v 1.3 1996/09/22 21:53:05 wosch Exp %
+.\" %Id: comsat.8,v 1.5 1997/02/22 14:21:23 peter Exp %
.\" jpman %Id: comsat.8,v 1.2 1997/03/31 13:32:20 horikawa Stab %
.\"
.Dd June 4, 1993
.Dt COMSAT 8
.Os BSD 4.2
.Sh 名称
.Nm comsat
.Nd biff サーバ
.Sh 書式
.Nm comsat
.Sh 解説
.Nm comsat
は受信メールのレポートを受け取り、
サービスを要求しているユーザに対して通知を行なうサーバプロセスです。
.Nm comsat
は、
.Dq biff
サービス仕様 (
.Xr services 5
および
.Xr inetd 8
を参照) に関連するデータグラムポートのメッセージを受信します。
1 行メッセージは次の形式です:
.Pp
.Dl user@mailbox-offset[:mailbox-name]
.Pp
もし、この
.Em user
がシステムにログインしていて、割り当てられた端末の所有者実行ビットが (
.Dq Li biff y
によって) ON になっていれば、
.Em offset
はメールボックスのシークオフセットとして使用され、
メッセージの先頭 7 行か、もしくは 560 文字がユーザの端末に表示されます。
.Dq From ,
.Dq \&To ,
.Dq Date ,
.Dq Subject
以外のメッセージヘッダの一部とみなされる行は、
表示されるメッセージに含まれません。
.Pp
mailbox-name を省略した場合, システム標準のメールボックスを監視します。
.Sh 関連ファイル
.Bl -tag -width /var/mail/user -compact
.It Pa /var/run/utmp
誰がどの端末でログオンしたかを識別します。
.It Pa /var/mail/user
システム標準のメールボックスです。
.El
.Sh 関連項目
.Xr biff 1 ,
.Xr inetd 8
.Sh バグ
メッセージヘッダのフィルタリングは誤りがちです。
表示される情報は、最低限のものです。
.Pp
現在ログインしているマシン以外のマシンへのメールの到着は、
ユーザに通知されるべきです。
.Pp
スクリーン表示を分かりやすくするために、通知は別のウィンドウに
表示されるべきです。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man8/config.8 b/ja/man/man8/config.8
index ee8f75f91b..cdd6515b7d 100644
--- a/ja/man/man8/config.8
+++ b/ja/man/man8/config.8
@@ -1,175 +1,175 @@
.\" 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.
.\"
.\" @(#)config.8 8.2 (Berkeley) 4/19/94
.\" jpman %Id: config.8,v 1.2 1997/03/31 13:33:05 horikawa Stab %
.\"
.Dd April 19, 1994
.Dt CONFIG 8
.Os BSD 4
.Sh 名称
.Nm config
.Nd システムを構築するために必要なファイルの作成
.Sh 書式
.Nm config
-.Op Fl gpn
+.Op Fl gpr
.Ar SYSTEM_NAME
.Sh 解説
これは古いバージョンの
.Nm
プログラムです。
このプログラムは、古いオートコンフィギュレーションスキームを理解します。
このスキームは HP300, i386, DECstation やその派生プラットフォームにて
使用されます。
新しいバージョンの config は SPARC プラットフォームで使用されます。
あなたが使用しているアーキテクチャに適合したバージョンの
.Nm
のみがあなたのマシンにインストールされているでしょう。
.Pp
.Nm
は、システムの構成を記述した設定ファイル
.Ar SYSTEM_NAME
にもとづいてシステムを構築するために必要なファイルを作成します。
別のファイルが、
.Nm
に対し、
システム生成に必要なファイルと、
構成依存ファイルセットにより追加されるファイルとを指示します。
構成依存ファイルセットは、固有マシン用代替ファイルを指定します
(以降に示す
.Sx 関連ファイル
を参照)。
.Pp
オプションとオペランドしては以下のものがあります:
.Pp
.Bl -tag -width SYSTEM_NAME
.It Fl g
システムのデバッグのための設定をします。
.It Fl p
プロファイリングを行うシステムを構築します。プロファイルを行うものは例えば
.Xr kgmon 8
.Xr gprof 1 などです。
.Fl p
オプションを 2 度以上指定すると、
.Nm
より詳細なプロファイリングを行うシステムを構築します。
-.It Fl n
-以前のコンパイル用ディレクトリを削除しません(以降参照)。
+.It Fl r
+以前のコンパイル用ディレクトリを削除します(以降参照)。
.It Ar SYSTEM_NAME
.Ar SYSTEM_NAME
はシステム設定ファイルの名前であり、システム設定ファイル
にはデバイスの仕様、構築するシステムのオプション、その他のシステムパラメータの記述をします。
.El
.Pp
.Nm
はシステムソースの
.Pa conf
サブディレクトリで起動します(通常
.Pa /sys/ARCH/conf
)。
.Nm
は必要により
.Pa ../../compile/SYSTEM_NAME
ディレクトリを作成し、そこにすべての出力ファイルを置きます。
-.Fl n
-オプションが指定されているか、環境変数
-.Ev NO_CONFIG_CLOBBER
-が設定されていないと、ディレクトリが既に存在する場合にはあらかじめ
-削除されます。
+ディレクトリが既に存在し、
+.Fl r
+オプションが指定されている場合、
+ディレクトリがまず削除されます。
.Nm
の出力は多くのファイルです;
.Tn i386
の場合は次のようなファイルになります:
-.Pa ioconf.c ,
-システムに接続された I/O デバイスの記述;
-.Pa vector.h ,
-割り込み計測関連のマクロ定義;
-.Pa Makefile ,
+.Pa ioconf.c
+はシステムに接続された I/O デバイスの記述です;
+.Pa vector.h
+は割り込み計測関連のマクロ定義です;
+.Pa Makefile
+は
.Xr make 1
-がシステム構築に使用する;
-ヘッダファイル, システムに組み込まれる多くのデバイスに関する定義;
-スワップ設定ファイル,
-スワップ、ルートファイルシステム、引数処理、システムダンプに使用する
-ディスク領域に関する定義。
+がシステム構築に使用するファイルです;
+ヘッダファイルはシステムに組み込まれる多くのデバイスに関する定義です;
+いわゆるスワップ設定ファイルは
+ルートファイルシステムとシステムダンプに使用する
+ディスク領域に関する定義です。
.Pp
.Nm
の実行後は、
.Dq Li make depend
を Makefile が作成されたディレクトリで実行する必要があります。
.Nm
は正常終了すると、これを促すメッセージ表示を行います。
.Pp
.Nm
が、これとは異なるエラーメッセージ表示を行った場合には、
設定ファイルの記述の誤りを修正し、再度
.Nm
を実行する必要があります。
コンフィギュレーションでエラーとなったシステムをコンパイルしようとしても、
おそらく失敗するでしょう。
.Pp
設定ファイル中に
オプション "INCLUDE_CONFIG_FILE" を指定した場合、
該ファイル全体が作成されるカーネルに埋め込まれます。
これは、
.Xr strings 1
によって該ファイルをカーネルから引き出す事が出来ることを意味します。
.Pp
strings | grep ___ によって構成情報を表示できます。
.Sh 関連ファイル
.Bl -tag -width /sys/i386/conf/Makefile.i386 -compact
.It Pa /sys/conf/files
システム生成に必要な共通のファイルのリスト
.It Pa /sys/i386/conf/Makefile.i386
.Tn i386
用の一般的な makefile
.It Pa /sys/i386/conf/files.i386
.Tn i386
特有のファイルのリスト
.It Pa /sys/i386/conf/devices.i386
.Tn i386
特有の、名前からメジャーデバイスへのマップ
.It Pa /sys/i386/conf/files. Ns Em ERNIE
.Em ERNIE
システム特有のファイルのリスト
.El
.Sh 関連項目
セクション 4 にある、デバイスのマニュアルの書式の部分。
.Rs
.%T "Building 4.3 BSD UNIX System with Config"
.Re
.Sh バグ
エラーメッセージにおいて報告される行番号は1行ずれます。
.Sh 歴史
.Nm
コマンドは
.Bx 4.1
から登場しました。
diff --git a/ja/man/man8/crash.8 b/ja/man/man8/crash.8
index 20fb70b329..c7ba62edc2 100644
--- a/ja/man/man8/crash.8
+++ b/ja/man/man8/crash.8
@@ -1,228 +1,228 @@
.\" FreeBSD version Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved.
.\"
.\" Adapted from share/man/man8/man8.hp300/crash.8
.\"
.\" 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 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.
.\"
-.\" %Id: crash.8,v 1.3.2.2 1998/03/07 10:04:24 jkh Exp %
+.\" %Id: crash.8,v 1.7 1997/03/21 20:14:12 mpp Exp %
.\" jpman %Id: crash.8,v 1.3 1997/08/16 13:10:53 horikawa Stab %
.\"
.Dd February 2, 1996
.Dt CRASH 8 i386
.Os FreeBSD
.Sh 名称
.Nm crash
.Nd
.Tn FreeBSD
システム障害
.Sh 解説
このセクションではシステムクラッシュについて少し説明し、
クラッシュダンプの解析方法についても(かなり簡潔ですが)述べます。
.Pp
システムが自らクラッシュする際には、
.Bd -ragged -offset indent
panic: なぜ死んだのか
.Ed
.Pp
という形式でコンソールにメッセージを表示し、
もしダンプが有効になっていれば(
.Xr dumpon 8
参照)大容量記憶装置にダンプをとり、
そして
.Xr reboot 8
に述べられているように自動リブート手順を開始します。
ハードウェアあるいはソフトウェアの障害によって
ファイルシステムの状態に予期せぬ矛盾点が見つかった場合を除き、
システムはマルチユーザモードでのオペレーションを再開します。
.Pp
システムは数多くの内部一貫性チェックを行っています。
それらのチェックのうちひとつに引っかかると、
どのチェックに引っかかったかを示す簡潔なメッセージを表示して
パニックします。
多くの場合、このメッセージはエラーを検知したルーチン名、
あるいは見つかった一貫性エラーを記述する 2 語のフレーズです。
ほとんどのパニックメッセージを完全に理解するには、
システムのソースコードを熟読する必要があります。
.Pp
システム障害に共通するほとんどの原因はハードウェア障害であり、
それは様々なところに現れます。
ここでは発生する可能性の高いメッセージと、
原因に関する手掛かりを示します。
ハードウェアあるいはソフトウェアが予期せぬかたちで
そのようなメッセージを出力する可能性については、全く述べていません。
.Pp
.Bl -tag -width Ds -compact
.It Sy "cannot mount root"
このパニックメッセージは、ブートストラップ処理中に
ルートファイルシステムをマウントできなかった場合に表示されます。
ルートファイルシステムが壊れているか、
システムが誤ったデバイスをルートファイルシステムとして使おうとしています。
通常、システムバイナリの別のコピーか
別のルートファイルシステムを用いてシステムを立ち上げ、調査します。
よく行われるのは、システムをインストールしたブートフロッピでブートし、
次に "fixit" フロッピを使用することです。
.Pp
.It Sy "init: not found"
これはパニックメッセージではなく、リブートしても無駄でしょう。
ブートストラップ処理の最後の段階で、
システムが初期化プロセス
.Xr init 8
の場所を探してそれを実行するのに失敗したのです。
ルートファイルシステムが不正あるいは壊れている、
.Pa /sbin/init
が実行不能モードあるいはタイプになっている、
もしくは
.Pa /sbin/init
自体がなくなっています。
.Pp
.Pp
.It Sy "ffs_realloccg: bad optim"
.It Sy "ffs_valloc: dup alloc"
.It Sy "ffs_alloccgblk: cyl groups corrupted"
.It Sy "ffs_alloccg: map corrupted"
.It Sy "blkfree: freeing free block"
.It Sy "blkfree: freeing free frag"
.It Sy "ifree: freeing free inode"
これらのパニックメッセージはファイルシステム内に矛盾点が見つかったときに
出力されるものです。
通常、この問題の原因は、
クラッシュ後の破損したファイルシステムの修復失敗、
ハードウェア障害、
あるいは通常発生しない他の条件にあります。
ファイルシステムのチェックを行えば、通常、問題は解決します。
.Pp
.It Sy "timeout table full"
実はこれはパニックではありませんが、
関係するデータ構造の拡張を行う前に、
エントリが不足するためにクラッシュしたのです。
この現象が発生したら、timeout table を大きくして下さい。
.Pp
.\" .It Sy "trap type %d, code = %x, v = %x"
.\" An unexpected trap has occurred within the system; the trap types are:
.\" .Bl -column xxxx -offset indent
.\" 0 bus error
.\" 1 address error
.\" 2 illegal instruction
.\" 3 divide by zero
.\" .No 4\t Em chk No instruction
.\" .No 5\t Em trapv No instruction
.\" 6 privileged instruction
.\" 7 trace trap
.\" 8 MMU fault
.\" 9 simulated software interrupt
.\" 10 format error
.\" 11 FP coprocessor fault
.\" 12 coprocessor fault
.\" 13 simulated AST
.\" .El
.\" .Pp
.\" The favorite trap type in system crashes is trap type 8,
.\" indicating a wild reference.
.\" ``code'' (hex) is the concatenation of the
.\" MMU
.\" status register
.\" (see <hp300/cpu.h>)
.\" in the high 16 bits and the 68020 special status word
.\" (see the 68020 manual, page 6-17)
.\" in the low 16.
.\" ``v'' (hex) is the virtual address which caused the fault.
.\" Additionally, the kernel will dump about a screenful of semi-useful
.\" information.
.\" ``pid'' (decimal) is the process id of the process running at the
.\" time of the exception.
.\" Note that if we panic in an interrupt routine,
.\" this process may not be related to the panic.
.\" ``ps'' (hex) is the 68020 processor status register ``ps''.
.\" ``pc'' (hex) is the value of the program counter saved
.\" on the hardware exception frame.
.\" It may
.\" .Em not
.\" be the PC of the instruction causing the fault.
.\" ``sfc'' and ``dfc'' (hex) are the 68020 source/destination function codes.
.\" They should always be one.
.\" ``p0'' and ``p1'' are the
.\" VAX-like
.\" region registers.
.\" They are of the form:
.\" .Pp
.\" .Bd -ragged -offset indent
.\" <length> '@' <kernel VA>
.\" .Ed
.\" .Pp
.\" where both are in hex.
.\" Following these values are a dump of the processor registers (hex).
.\" Finally, is a dump of the stack (user/kernel) at the time of the offense.
.\" .Pp
.It Sy "init died (signal #, exit #)"
システム初期化プロセスが、示されたとおりのシグナルおよび終了コードで
終了してしまいました。
これは良くない知らせです。もう誰もログインできません。
リブートするしか手はなく、従ってシステムはただちにリブートします。
.Pp
以上が遭遇する可能性のあるパニックの種類一覧です。
.Pp
クラッシュダンプを取るようにシステムが設定されている場合(
.Xr dumpon 8
参照)、
システムがクラッシュすると
ダンプデバイス(通常は一つめのスワップ領域と同じ)の終わりに
メモリイメージを書き込みます(少なくとも書き込もうとします)。
システムがリブートした後、プログラム
.Xr savecore 8
が起動し、後の解析のために、
このコアイメージと現在のシステムのコピーを特定ディレクトリに保存します。
詳細は
.Xr savecore 8
を参照して下さい。
.Pp
ダンプを解析するには、システムのロードイメージとコアダンプに対して
.Xr gdb 1
.Fl k
オプション付きで起動します。
コアイメージがパニックによって生成されたものならば、
そのパニックメッセージが表示されます。
より詳しい情報は、
.Tn FreeBSD
ハンドブック (http://www.freebsd.org) の
カーネルデバッギングの章を参照して下さい。
.Sh 関連項目
.Xr gdb 1 ,
.Xr dumpon 8 ,
.Xr reboot 8 ,
.Xr savecore 8
.Sh 歴史
.Nm crash
マニュアルページは
.Fx 2.2
で登場しました。
diff --git a/ja/man/man8/cron.8 b/ja/man/man8/cron.8
index 64055879cf..63792a7e29 100644
--- a/ja/man/man8/cron.8
+++ b/ja/man/man8/cron.8
@@ -1,77 +1,77 @@
.\"/* Copyright 1988,1990,1993 by Paul Vixie
.\" * All rights reserved
.\" *
.\" * Distribute freely, except: don't remove my name from the source or
.\" * documentation (don't take credit for my work), mark your changes (don't
.\" * get me blamed for your possible bugs), don't alter or remove this
.\" * notice. May be sold if buildable source is provided to buyer. No
.\" * warrantee of any kind, express or implied, is included with this
.\" * software; use at your own risk, responsibility for damages (if any) to
.\" * anyone resulting from the use of this software rests entirely with the
.\" * user.
.\" *
.\" * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
.\" * I'll try to keep a version up to date. I can be reached as follows:
.\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul
.\" */
.\"
-.\" %Id: cron.8,v 1.2.2.2 1998/07/18 11:09:07 jkh Exp %
+.\" %Id: cron.8,v 1.6 1998/03/23 08:21:07 charnier Exp %
.\" jpman %Id: cron.8,v 1.2 1997/04/18 06:33:14 yugawa Stab %
.\"
.Dd December 20, 1993
.Dt CRON 8
.Os
.Sh 名称
.Nm cron
.Nd 定期的にコマンドを実行するデーモン (Vixie Cron)
.Sh 書式
.Nm cron
.Op Fl x Ar debugflag Ns Op ,...
.Sh 解説
.Nm
は、通常は
.Pa /etc/rc
もしくは
.Pa /etc/rc.local
から起動されます。このコマンドは実行するとすぐに返ってくるので、起動時に
`&' をつける必要はありません。
.Pp
.Nm
は、
.Pa /var/cron/tabs
ディレクトリの下から
.Pa /etc/passwd
内のアカウント名と同じ名前の crontab ファイルを探し、見つかったファイルを
メモリに読み込みます。
.Nm
は、別のフォーマットの
.Pa /etc/crontab (
.Xr crontab 5
を参照してください)
も調べます。このあと、
.Nm
は 1 分おきに目覚めて
読み込んでいるすべての crontab ファイルを調べ、各コマンドをその時刻に
実行させるべきかどうかを調べます。コマンドを実行する場合には、出力がメールで
crontab ファイルの所有者 (もしくは crontab ファイル内の環境変数
.Ev MAILTO
で指定されたユーザ) に送られます。
.Pp
さらに、
.Nm
は 1 分おきにスプールディレクトリの最終更新時刻 (
.Pa /etc/crontab
の最終更新時刻も ) が変わっているかどうかを調べます。もし
変化があれば、すべての crontab ファイルの最終更新時刻を調べ、変更のあった
ものを読み直します。このため、crontab ファイルを変更したときに
.Nm
をリスタートさせる必要はありません。
.Xr crontab 1
コマンドが crontab
ファイルを変更したときにスプールディレクトリの最終更新時刻も更新されることに
注意して下さい。
.Sh 関連項目
.Xr crontab 1 ,
.Xr crontab 5
.Sh 作者
.An Paul Vixie Aq paul@vix.com
diff --git a/ja/man/man8/disklabel.8 b/ja/man/man8/disklabel.8
index 45f3fec3a4..ffecc4ad6a 100644
--- a/ja/man/man8/disklabel.8
+++ b/ja/man/man8/disklabel.8
@@ -1,406 +1,406 @@
.\" 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
-.\" %Id: disklabel.8,v 1.3.2.3 1998/07/17 20:12:59 jkh Exp %
+.\" %Id: disklabel.8,v 1.8 1998/06/04 06:49:13 charnier Exp %
.\" jpman %Id: disklabel.8,v 1.2 1997/03/31 14:09:16 horikawa Stab %
.\"
.Dd April 19, 1994
.Dt DISKLABEL 8
.Os BSD 4.2
.Sh 名称
.Nm disklabel
.Nd ディスクラベルの読み書きを行う
.Sh 書式
.Nm disklabel
.Op Fl r
.Ar disk
.br
.Nm disklabel
.Fl w
.Op Fl r
.Ar disk Ar disktype
.Oo Ar packid Oc
.br
.Nm disklabel
.Fl e
.Op Fl r
.Ar disk
.br
.Nm disklabel
.Fl R
.Op Fl r
.Ar disk Ar protofile
.br
.Nm disklabel
.Op Fl NW
.Ar disk
.sp
.br
.Nm disklabel
.Fl B
.Oo
.Fl b Ar boot1
.Op Fl s Ar boot2
.Oc
.Ar disk
.Oo Ar disktype Oc
.br
.Nm disklabel
.Fl w
.Fl B
.Oo
.Fl b Ar boot1
.Op Fl s Ar boot2
.Oc
.Ar disk Ar disktype
.Oo Ar packid Oc
.br
.Nm disklabel
.Fl R
.Fl B
.Oo
.Fl b Ar boot1
.Op Fl s Ar boot2
.Oc
.Ar disk Ar protofile
.Oo Ar disktype Oc
.\" 注: 上記 .br は改行動作のために挿入
.\" By horikawa@jp.freebsd.org (30 Mar 1997)
.Sh 解説
.Nm
はディスクドライブやディスクパックにラベルを書き込んだり、
確認したり、修正したりするために使われます。
ラベルを書き込む際には、ドライブの識別子を変更したり、
ディスクのパーティションを変更したり、
異常のあるラベルを置き換えたりすることができます。
システムによっては、
.Nm
は同時にブートストラップコードを
インストールするためにも使われます。
コマンドには、ディスク上のラベルを読んだり (表示したり)、書き込んだり、
編集したりするいくつかの形式があります。
それぞれの形式に
.Fl r
オプションをつけると、ラベルの読み書きをシステムの
メモリ内のコピーに対して行うかわりに、ディスクに対して直接行います。
このオプションをつけると、システムに最初にラベルを書き込むときのように、
カーネルがそのラベルを保持していないような場合にもディスクへラベルを
書き込むことができるようになります。つまり、最初にディスクへラベルを
書き込むときには必ずこのオプションが必要になるということです。
.Fl r
スイッチの特別な機能については、それぞれのコマンドで解説しています。
ラベルの読み込みや書き込みの形式に対しては、ブートストラップコードを
インストールするために
.Fl B
スイッチを指定することができます。
これらの違いについてもあとで解説します。
.Pp
コマンドの最初の形式 (read) は、
指定したディスクドライブ (例: sd0 や /dev/rsd0c) のラベルを確認するため
に使用されます。
これによってドライブに関するすべてのパラメータとパーティションのレイアウトを
表示します。
.Fl r
フラグを指定しない場合には、カーネルのメモリ内にあるラベルのコピーが
表示されます。
もしディスクにラベルが書き込まれていなかったり、ディスクのパーティション形式が
正しくない場合には、カーネルが作り直したり、修正したりしたラベルが
表示されるかもしれません。
.Fl r
フラグが与えられると、メモリ内のラベルを表示するかわりにディスク上の実際の
ラベルが表示されます。
.Pp
2 番目の形式は、
.Fl w
フラグ付きの形式で、指定したドライブへ標準のラベルを書き込む
ために使用されます。
コマンドには引数として、ラベルを書き込むドライブ名 (例: sd0)、および
.Xr disktab 5
に書かれているドライブタイプが必要です。
ドライブのパラメータとパーティション情報は、このファイルから得られたもの
が使われます。
もし、同じ型のディスクに異なるパーティション情報を持たせたい場合には、
disktab にそれぞれ別々のエントリを書いておくか、ラベルを書き込んだあとで
後述する方法でそれを編集する必要があります。
オプションの引数として、16 文字までのパック識別用文字列を指定します。
パック名に空白を含める場合にはそれをクォートする必要があります。
.Fl r
フラグが与えられると、ディスクのラベルとブートストラップが
直接書き換えられます。
この副作用として、すでにあるブートストラップ用コードが上書きされてしまうため、
ディスクがブート不能にされてしまいます。
.Fl r
が指定されない場合には、ラベルはメモリ内のコピーを通して書き換えられる
ため、ブートストラップコードは影響されません。
もしまだディスクがラベル付けされていなければ、
.Fl r
フラグをつけなければなりません。
どちらの方法でも、カーネルのメモリ内コピーは変更されます。
.Pp
.Xr disktab 5
に記載されていない未使用のディスクに対しては、
.Ar disktype
として
.Dq auto
を指定できます。
この場合、ディスクの最初のラベルを生成するようにドライバに要求します。
これは成功するかも知れないし成功しないかも知れません。
これはディスクドライバがディスクを全く読む事無く
必要なデータを取得できるか否かに依存します。
全ての SCSI ディスクとほとんどの IDE ディスクと vnode デバイスにおいて
成功するでしょう。
ディスクに対するラベルの書き込みは唯一サポートされた操作であり、
.Ar disk
自身は標準の名前(フルパス名であってはなりません)で提供される必要があります。
.Pp
.Fl e
フラグによって、すでに存在するディスクラベルを編集することができます。
ラベルはカーネルのメモリ内コピーから、または
.Fl r
フラグが与えられた場合には直接ディスクから読み込まれます。
ラベルは整形され、編集するためのエディタへ渡されます。
.Ev EDITOR
環境変数によるエディタの指定がない場合には、このエディタには
.Xr vi 1
が使用されます。
エディタを終了すると、整形されたラベルが再読み込まれて、
ディスクラベルに再び書き込まれます。
.Fl r
フラグの指定の有無にかかわらず、
すでにあるブートストラップコードは変更されません。
.Pp
.Fl R
フラグを指定すると、
.Nm
は以前の操作により整形済でアスキーファイルとして保存されているディスクラベル
をディスクへ書き戻します。
ラベルを作成するときに使われるプロトタイプファイルは、ラベルを読み込んだり
編集したりするときのものと同じフォーマットである必要があります。
コメントは
.Ar \&#
と改行で区切られます。
.Fl w
のように、
.Fl r
が指定されているとブートストラップコードは使えなくなってしまいます。
.Pp
.Nm
コマンドの
.Fl NW
フラグはそれぞれ、指定したディスクのパックラベルエリアへの書き込みを
明示的に禁止したり、許可したりします。
.Pp
.Nm
の最後の 3 つの形式は、ブートストラップコードがラベルの一部である
ようなマシンで、ブートストラップコードをインストールするために使われます。
ブートストラップコードには、
マシンに依存する 1 つまたは 2 つのプログラムが含まれます。
.Fl B
フラグは、ブートストラップコードをインストールすることを示すために
使われます。
.Fl r
フラグの機能は
.Fl B
フラグに含まれているので、同時に指定しないようにしてください。
インストールされるブートストラップコードの名前は、
いくつかの方法で選択することができます。
第1に、
.Fl b
.Fl s
フラグによって明示的に名前を指定することができます。
1 段階のブートプログラムのみが必要なマシンでは、
.Fl b
によって指定するものがそのプログラムです。
2 段階のブートストラップを行うマシンでは、
.Fl b
で指定するのが最初のブートプログラムで、
.Fl s
で指定するのが 2 段階目のプログラムになります。
プログラム名が明示的に与えられなければ、標準ブートプログラムが使われます。
ブートプログラムは、
.Pa /usr/mdec
に置かれます。
もし、
.Ar disktype
が与えられ、それに対応する
.Xr disktab 5
のエントリが存在し、
なおかつ ``b0'' , ``b1'' の 2 つのパラメータがある場合には、
ブートプログラムはこれらのパラメータから得られます。
さもなければ、ブートプログラム名はディスク名から得られます。
この名前は、1段階目のブートストラップに対しては
.Pa basename Ns boot
、2 段階目のブートストラップに対しては
.Pf boot Pa basename
になります。
たとえば、ディスクデバイスが
.Em sd0
である場合には、これらの名前は
.Pa /usr/mdec/sdboot
.Pa /usr/mdec/bootsd
になります。
.Pp
3 つのブートプログラムインストールの形式のなかで最初のものは、
すでに存在するディスクラベルを変更せずにブートストラップコードを
インストールするために使われます。
これは、ディスクラベル自身に対しては本質的には読み込みコマンドで、
すべてのオプションはすでに記したように
ブートプログラムを特定するのに関するものです。
あとの 2 つの形式は同様に、ディスクラベルを書き込んだり復元したりするのと同時に
ブートストラップコードをインストールするものです。
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /etc/disktab
.It Pa /usr/mdec/ Ns Em xx Ns boot
.It Pa /usr/mdec/boot Ns Em xx
.El
.Sh 使用例
.Dl disklabel sd0
.Pp
sd0 のラベルとしてカーネル内のコピーを
.Pa /dev/rsd0c
から得られたものとして表示します。
.Pp
.Dl disklabel -w -r /dev/rsd0c sd2212 foo
.Pp
.Pa /etc/disktab
に書かれている ``sd2212'' の情報を
sd0 のラベルとして書き込みます。
存在したブートストラップコードは使えなくなります。
.Pp
.Dl disklabel -e -r sd0
.Pp
sd0 のディスク上のラベルを読み込み、編集し、再び書き込みます。
ディスク上のラベルとともにカーネル内コピーも書き換えられます。
存在したブートストラップコードは影響を受けません。
.Pp
.Dl disklabel -r -w sd0 auto
.Pp
sd0 から必要な情報を自動検出し、新しいラベルをディスクに書こうとします。
パーティションおよびファイルシステム情報を編集するために、
この後で disklabel -e コマンドを使って下さい。
.Pp
.Dl disklabel -R sd0 mylabel
.Pp
.Pa mylabel
に書かれている情報を
sd0 のラベルとして書き込みます。
ディスク上のラベルとともにカーネル内コピーも書き換えられます。
存在したブートストラップコードは影響を受けません。
.Pp
.Dl disklabel -B sd0
.Pp
sd0 に新たにブートストラップコードを書き込みます.
ブートストラップコードは
.Pa /usr/mdec/sdboot
、およびもし必要ならば
.Pa /usr/mdec/bootsd
です。
ディスク上のラベルおよびカーネル内コピーは影響を受けません。
.Pp
.Dl disklabel -w -B /dev/rsd0c -b newboot sd2212
.Pp
新たなラベルとブートストラップコードを書き込みます。
ラベルは disktab の ``sd2212'' の情報を使用し、
ディスク上のラベルとともにカーネル内コピーも書き換えられます。
ブートストラップコードは
.Pa /usr/mdec/newboot
です。
.Sh 関連項目
.Xr disklabel 5 ,
.Xr disktab 5
.Sh 診断
デバイスドライバは、
オープンされているパーティションに関して、
サイズが小さくなることおよびオフセットが変化することを許しません。
デバイスドライバの中には、
ラベルを持たないディスクに対して 1 パーティションのみからなる
ラベルを作成するものがあります。
そのため、
オープンされているディスクのラベルは ``a'' パーティションに書く必要があります。
このような理由で、
次の 2 ステップにより、
所望のラベルを作成する必要がある場合があります。
第 1 ステップは少なくとももう 1 つのパーティションを作成することであり、
第 2 ステップは ``a'' パーティションを小さくしながら
新たなパーティションのラベルを設定することです。
.Pp
ファイルシステムによっては、
用意された領域にブートストラップコードが収まり切らないような
マシンがあるかも知れません
その結果として、``ブート可能な'' ディスクのパーティションに
ファイルシステムを作成できない場合があります。
ブートストラップコードを書き込む時に、
.Nm
はこのようなケースをチェックします。
FS_UNUSED タイプのパーティションに重なるように
ブートストラップコードが書き込まれる場合には、
そのパーティションは FS_BOOT とマークされます。
.Xr newfs 8
ユーティリティは、
FS_BOOT パーティションにファイルシステムを作成することを禁止します。
また逆に、
パーティションのタイプが FS_UNUSED もしくは FS_BOOT では無い場合、
.Nm
はそのパーティションに重なるようなブートストラップコードを書き込みません。
.Sh バグ
ディスク名がフルパスで指定されない場合には、
デバイス名は Tahoe の場合 ``a'' パーティションになり、
その他の場合は ``c'' パーティションになります。
.Pp
i386 アーキテクチャでは、プライマリブートストラップセクタに、
組み込みの
.Em fdisk
テーブルを持ちます。
.Nm
は、
ブートストラップのみをインストールする時
.Pq Fl B
もしくはラベルを編集する時
.Pq Fl e
にこれを壊さないように気を付けます。
しかし、
.Fl w
.Fl R
を指定した時には、
無条件でプライマリブートストラッププログラムをディスクに書き込みますので、
.Em fdisk
テーブルをブートストラッププログラム内のダミーに置き換えます。
これはディスク全体を専用に使う場合、
すなわち BSD ディスクラベルがディスクの絶対ブロック 0 から始まる場合
のみ関係あります。
diff --git a/ja/man/man8/dmesg.8 b/ja/man/man8/dmesg.8
index 91d44697e9..c22a33f9d1 100644
--- a/ja/man/man8/dmesg.8
+++ b/ja/man/man8/dmesg.8
@@ -1,77 +1,77 @@
.\" 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 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.
.\"
.\" @(#)dmesg.8 8.1 (Berkeley) 6/5/93
-.\" %Id: dmesg.8,v 1.3.2.1 1998/07/17 20:13:02 jkh Exp %
+.\" %Id: dmesg.8,v 1.4 1998/06/04 06:51:13 charnier Exp %
.\" jpman %Id: dmesg.8,v 1.2 1997/04/25 00:26:27 mutoh Stab %
.\"
.Dd June 5, 1993
.Dt DMESG 8
.Os BSD 4
.Sh 名称
.Nm dmesg
.Nd システムメッセージバッファの表示
.Sh 書式
.Nm dmesg
.Op Fl M Ar core
.Op Fl N Ar system
.Sh 解説
.Nm dmesg
はシステムメッセージバッファの内容を表示します。
.Pp
オプションとしては、以下のものがあります:
.Bl -tag -width indent
.It Fl M
表示されるシステムメッセージバッファが含まれるファイルを指定します。
デフォルトは
.Pa /dev/kmem
です。
.It Fl N
ネームリストが含まれるファイルを指定します。
デフォルトは
.Pa /kernel
です。
.El
.Sh 関連項目
.Xr syslogd 8
.Sh 関連ファイル
.Bl -tag -width /etc/kmem -compact
.It Pa /dev/mem
.It Pa /dev/kmem
.It Pa /dev/drum
.It Pa /kernel
.El
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja/man/man8/dset.8 b/ja/man/man8/dset.8
index 95d7642bc8..78e4c3eff3 100644
--- a/ja/man/man8/dset.8
+++ b/ja/man/man8/dset.8
@@ -1,82 +1,82 @@
.\"
.\" Copyright (c) 1996 Joerg Wunsch
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: dset.8,v 1.4.2.1 1998/06/03 04:35:19 jkoshy Exp %
+.\" %Id: dset.8,v 1.7 1998/06/03 04:21:39 jkoshy Exp %
.\" jpman %Id: dset.8,v 1.3 1997/09/04 16:35:08 horikawa Stab %
.\" "
.Dd May 2, 1996
.Dt DSET 8
.Os FreeBSD
.Sh 名称
.Nm dset
.Nd "ブートファイルの現在の設定への更新"
.Sh 書式
.Nm dset
.Op Fl vqt
.Sh 解説
.Nm dset
は、
.Fl c
オプションを用いて起動した際に
.Em UserConfig
により変更された ISA デバイスの設定を記録します。
(変更があった場合)変更は、
.Xr getbootfile 3
から得られる名前のファイルに記録されます。
.Nm dset
は、通常
.Pa /etc/rc
から起動されます。
.Pp
.Nm dset
には以下のオプションがあります。
.Bl -tag -width indent -compact
.It Fl v
冗長; 何を行ったかを表示します。
.It Fl q
静寂; 如何なるエラーメッセージも表示しません。
.It Fl t
テストのみ; 実際のブートファイルへの変更の記録は行わず、
何が行われる可能性があるかの表示だけを行います。
このオプションは暗に
.Fl v
オプションを含みます。
.El
.Sh 診断
.Nm
ユーティリティは成功した場合、終了コード 0 で終了し、何か問題が発生した
場合、終了コード 1 で終了します。
.Fl q
オプションが指定されていなければ、問題の原因のヒントとなるメッセージを
標準エラーに出力します。
.Sh 関連項目
.Xr getbootfile 3 ,
.Xr boot_i386 8 ,
.Xr rc 8
.Sh 歴史
.Nm
コマンドは
.Fx 2.0.5
から登場しました。
diff --git a/ja/man/man8/dump.8 b/ja/man/man8/dump.8
index a04a63485b..acf6a25300 100644
--- a/ja/man/man8/dump.8
+++ b/ja/man/man8/dump.8
@@ -1,376 +1,376 @@
.\" Copyright (c) 1980, 1991, 1993
.\" Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgment:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)dump.8 8.1 (Berkeley) 6/16/93
-.\" %Id: dump.8,v 1.5.2.9 1998/07/17 20:13:04 jkh Exp %
+.\" @(#)dump.8 8.3 (Berkeley) 5/1/95
+.\" %Id: dump.8,v 1.21 1998/06/15 06:58:09 charnier Exp %
.\" jpman %Id: dump.8,v 1.2 1997/06/12 05:57:09 yugawa Stab %
.\"
-.Dd June 16, 1993
+.Dd May 1, 1995
.Dt DUMP 8
.Os BSD 4
.Sh 名称
.Nm dump
.Nd ファイルシステムのバックアップ
.Sh 書式
.Nm dump
.Op Fl 0123456789acknu
.Op Fl B Ar records
.Op Fl b Ar blocksize
.Op Fl d Ar density
.Op Fl f Ar file
.Op Fl h Ar level
.Op Fl s Ar feet
.Op Fl T Ar date
.Ar filesystem
.Nm dump
.Op Fl W Li \&| Fl w
.Pp
.in -\\n(iSu
(
.Bx 4.3
形式のオプションは後方互換性のために実装されていますが、
ここでは説明していません。)
.Sh 解説
.Nm
は、ファイルシステムを調べて
バックアップする必要のあるファイルを決定します。
これらのファイルは、指定されたディスク、テープや、
その他の記憶メディアへ保存のためコピーされます
(リモートバックアップについては、
.Fl f
オプションを参照)。
ダンプの大きさが記録メディアの容量より大きい場合は、
複数ボリュームに分割します。
たいていのメディアの容量は、メディアの終りを通知されるまで
書き込んでみることで決定します。
この方法は、
.Fl a
オプションにより強制的に使用することもできます。
.Pp
メディアの終りを正しく通知できないメディア (一部の
カートリッジ・テープドライブ等) の容量は、
テープ長と記録密度やブロック数のオプションから求め、
各ボリュームはすべて同じ容量を持つものとします。
デフォルトでは、
オペレータにメディア交換を要求した後の各ボリュームにも
同じ出力ファイル名を使用します。
.Pp
.Nm
は、次のオプションをサポートしています。
.Bl -tag -width Ds
.It Fl 0\-9
ダンプレベル。
レベル 0 はフルバックアップを意味し、ファイルシステム全体をコピー
することを保証します (ただし以下の
.Fl h
オプションにも注意して下さい)。
0 より大きなレベル番号はインクリメンタルバックアップを意味し、
前回のダンプ (今回指定したものより低いレベルのダンプ)
以降に作られたか修正されたすべてのファイルをコピーします。
デフォルトのレベルは 0 です。
.It Fl B Ar records
ボリュームあたりの 1 KB ブロック数です。
このオプションは、テープ長と記録密度を基にしたテープ容量より
優先されます。
.It Fl a
.Dq オートサイズ
全てのテープ長の考慮をせず、メディアの終了を通知されるまで、強制的に
書き込みを続けます。現在のほとんどのテープドライブでは、この方法により
もっとも良い結果が得られます。特に、使いかけのテープに追加したり、
ハードウェア圧縮機能のあるテープドライブ(圧縮率がどの程度になるか不確かな
もの)を使用したりする場合にこのオプションを使用することをお薦めします。
.It Fl b Ar blocksize
ダンプレコードあたりのブロックサイズを K バイト単位で指定します。
.It Fl c
カートリッジテープドライブ用に、記録密度とテープ長のデフォルトをそれぞれ
8000 bpi、1700 feet に変更します。
.It Fl h Ar level
ダンプレベルが
.Ar level
以上の時に、ユーザが指定した
.Dq nodump
フラグ
.Dp Dv UF_NODUMP
に従います (h: honor the flag)。
デフォルトの honor レベルは 1 ですから、
そのようなファイルは、インクリメンタルダンプからは省かれますが、
フルバックアップには含まれます。
.It Fl d Ar density
テープの記録密度を
.Ar density
に設定します。デフォルトは 1600BPI です。
.It Fl f Ar file
バックアップの出力先ファイルを指定します。
出力先ファイルとしては、
.Pa /dev/rst0
(テープドライブ)や
.Pa /dev/rfd1
(フロッピーディスクドライブ)のようなデバイスファイル、
通常ファイル、
.Ql Fl
(標準出力)を指定することができます。
複数のファイル名を、コンマで区切って一つの引数として指定する
ことができます。
各ファイルは、リストされた順に一つのダンプボリュームに使用されます。
指定した名前の数より多くのボリュームが必要な場合、
メディアの交換を要求した後、最後のファイル名を残りのすべての
ボリュームに使用します。
ファイル名が、
.Dq host:file
または、
.Dq user@host:file
の形式である場合、
.Nm
は、
.Xr rmt 8
を使用してリモートホスト上の指定されたファイルに書き込みます。
リモートの
.Xr rmt 8
のデフォルトのパス名は
.Pa /etc/rmt
ですが、環境変数
.Ev RMT
の値が優先されます。
.It Fl k
リモートのテープサーバとの通信でケルベロス認証を使います。
(このオプションが有効な状態で
.Nm
がコンパイルされた場合にのみ利用できます。)
.It Fl n
.Nm
がオペレータに注意を促す時に、
.Xr wall 1
に似た方法で
.Dq operator
グループに属するすべてのユーザにメッセージを送ります。
.It Fl s Ar feet
テープの容量を計算する時に記録密度とともに使います。
この容量を超えた場合に、
.Nm
は新しいテープを要求します。
このオプションはやや控え目に指定することをお勧めします。
デフォルトのテープの長さは、2300 フィートです。
.ne 1i
.It Fl T Ar date
.Pa /etc/dumpdates
から得られた日時の代わりに、指定された date をダンプの起点として
使います。date の形式は
.Xr ctime 3
のそれと同じです。このオプションは期間を指定してバックアップを
取るダンプスクリプトで有用です。
.Fl T
オプションは
.Fl u
オプションと同時には指定できません。
.It Fl u
ダンプが成功した後で、
.Pa /etc/dumpdates
ファイルを更新します。
.Pa /etc/dumpdates
は人が読めるファイルであり、各行に以下のレコードが
フリーフォーマットで記録されています :
ファイルシステム名、インクリメントレベル、
.Xr ctime 3
形式のダンプ日付。
各レベルとファイルシステムごとにエントリが一つだけ存在します。
必要なら、
.Pa /etc/dumpdates
の各フィールドを編集しても構いません。
.It Fl W
.Nm
は、ダンプの必要があるファイルシステムをオペレータに表示します。
この情報は
.Pa /etc/dumpdates
.Pa /etc/fstab
ファイルから集められます。
.Nm
は、
.Pa /etc/dumpdates
の中の各ファイルシステム毎に最新のダンプ日付とレベルを示し、
ダンプするべきファイルシステムを明らかにします。
.Fl W
オプションが指定された場合、その他のすべてのオプションは無視され、
.Nm
は直ちに終了します。
.It Fl w
W と同様ですが、ダンプの必要のあるファイルシステムのみを表示します。
.El
.Pp
.Nm
は、以下に示す場合にオペレータの介入を要求します :
テープの終了、
ダンプの終了、
テープ書き込みエラー、
テープオープンエラー、
ディスク読み込みエラー (32 回を越えた場合)。
処理を続けられない時や何か大変まずい事態になった場合には、
.Nm
は、
.Fl n
オプションがあればすべてのオペレータへ警告したうえで、
.Em dump
の制御端末上でオペレータとやりとりします。
.Nm
コマンドからのすべての質問には、
.Dq yes
または
.Dq no
で適切に答えなければなりません。
.Pp
フルダンプの実施には多くの時間と労力がかかるので、
.Nm
は各テープボリュームの先頭にチェックポイントを設定します。
何らかの理由により、あるボリュームの書き込みを失敗した場合には、
テープの巻き戻し、排出、新しいテープのマウントの後で、
.Nm
はオペレータの許可の下でチェックポイントから実行を再開します。
.Pp
.Nm
は処理の進行を定期的にオペレータに報告します。
報告には、少なめに推定される書き込みブロック数、
必要なテープ数、完了までの時間、テープ交換までの時間、
を含みます。
.Nm
に使っている端末が使用中であることが他人にも分かるように、
このメッセージは冗長になっています。
.Pp
ディスクに壊滅的なトラブルが起きた時に、
バックアップテープやファイルからディスクを復元するために
必要な時間は、
インクリメンタルダンプを適当なシーケンスで実行する事によって
最小にする事ができます。
最小のテープ数でこれを行なう効果的な方法を示します。
.\" staggering
.Bl -bullet -offset indent
.It
常にレベル 0 のバックアップから開始します。例えば以下の通りです。
.Bd -literal -offset indent
/sbin/dump -0u -f /dev/nrst0 /usr/src
.Ed
.Pp
これを一ヵ月か二ヵ月毎に新しいテープに対して実施し、
ずっと保存します。
.It
0 レベルのダンプの後は、アクティブなファイルシステムのダンプを、
修正ハノイの塔アルゴリズムによる
次の様なダンプレベルシーケンスによって、毎日行います。
.Bd -literal -offset indent
3 2 5 4 7 6 9 8 9 9 ...
.Ed
.Pp
毎日のダンプには、一週間毎に繰り返し使われる事になる
一定の数のテープを使う事ができます。
週毎にレベル 1 ダンプを行ない、毎日のハノイ・シーケンスは
レベル 3 から開始します。
週毎のダンプには、ダンプするファイルシステム毎に、これも繰り返し
使われる事になる一定数のテープを使います。
.El
.Pp
何ヵ月かの後、毎日と毎週のテープはダンプサイクルから順に外し、
新品のテープを導入すべきです。
.Sh 環境変数
環境変数
.Ev RMT
は、リモートの
.Xr rmt 8
プログラムのパス名を決定するのに用いられます。
.Sh 関連ファイル
.Bl -tag -width /etc/dumpdates -compact
.It Pa /dev/rst0
デフォルトのダンプテープユニット
.It Pa /etc/dumpdates
ダンプの日付を記録するファイル
.It Pa /etc/fstab
ダンプテーブル : ファイルシステムと頻度を決めるファイル
.It Pa /etc/group
.Em operator
グループを検索する
.El
.Sh 関連項目
.Xr fstab 5 ,
.Xr ft 8 ,
.Xr restore 8 ,
.Xr rmt 8
.Sh 診断
詳しいメッセージがたくさん出ます。
.Pp
正常時は終了コード 0 で終了します。
開始時のエラーは終了コード 1 で、
異常終了は終了コード 3 で表されます。
.Sh バグ
32 個未満のファイルシステムからの読み取りエラーは無視されます。
.Pp
各リール (ボリューム) ごとに新たなプロセスが作られ、
リールを書き終った親プロセスは
テープ全体の書き込みが終るまで待っています。
.Pp
現状では、
.Xr physio 9
スライスのリクエストは 64 KB の塊になります。したがって、それより大きな
テープのブロックサイズを使用することはできず、
.Nm
はこれが発生するのを防ぎます。
.Pp
.Nm
.Fl W
.Fl w
オプションは、
.Pa /etc/fstab
にリストされていても、
.Pa /etc/dumpdates
に記録のないファイルシステムについては報告しません。
.Pp
.Nm
コマンドが、
ダンプシーケンスについて知っていて、
使い散らかしたテープの使用履歴を管理でき、
どのテープをマウントすれば良いかオペレータに教えてくれ、
.Xr restore
を実行するオペレータをもっと助けてくれたら、
もっと使いやすいでしょうね。
.Pp
セキュリティ的な歴史により、
.Nm
は、root 以外のユーザでリモートバックアップを行うことはできません。
これは、
.Bx Free
の今後のバージョンでは修正されるでしょう。
現状では、(従来通り) setuid されていれば正常に動作しますが、
セキュリティ的なリスクを伴います。
.Sh 歴史
.Nm
コマンドは、
.At v6
から登場しました。
diff --git a/ja/man/man8/dumpfs.8 b/ja/man/man8/dumpfs.8
index aeebf725a0..2a4a9dd68b 100644
--- a/ja/man/man8/dumpfs.8
+++ b/ja/man/man8/dumpfs.8
@@ -1,63 +1,63 @@
.\" 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.
.\"
.\" @(#)dumpfs.8 8.1 (Berkeley) 6/5/93
-.\" %Id: dumpfs.8,v 1.1.1.1.8.1 1997/03/03 07:01:21 mpp Exp %
+.\" %Id: dumpfs.8,v 1.4 1997/02/22 14:32:17 peter Exp %
.\" jpman %Id: dumpfs.8,v 1.2 1997/05/03 11:26:10 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt DUMPFS 8
.Os BSD 4.2
.Sh 名称
.Nm dumpfs
.Nd ファイルシステムの情報のダンプ
.Sh 書式
.Nm dumpfs
.Op Ar filesys No \&| Ar device
.Sh 解説
.Nm dumpfs
は、指定したファイルシステムまたはスペシャルデバイスの、
スーパブロックやシリンダグループの情報を表示します。
表示は非常に長く、詳細なものです。
このコマンドは、ファイルシステムのブロックサイズや最小空き容量などの
ファイルシステムに関する情報を調べるのにもっともよく使われます。
.Sh 関連項目
.Xr disktab 5 ,
.Xr fs 5 ,
.Xr disklabel 8 ,
.Xr fsck 8 ,
.Xr newfs 8 ,
.Xr tunefs 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しています。
diff --git a/ja/man/man8/dumpon.8 b/ja/man/man8/dumpon.8
index ef60a1cfbd..f4749d856a 100644
--- a/ja/man/man8/dumpon.8
+++ b/ja/man/man8/dumpon.8
@@ -1,131 +1,131 @@
.\" 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 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: @(#)swapon.8 8.1 (Berkeley) 6/5/93
-.\" %Id: dumpon.8,v 1.3.2.3 1998/07/17 20:13:09 jkh Exp %
+.\" %Id: dumpon.8,v 1.8 1998/06/15 07:03:46 charnier Exp %
.\" jpman %Id: dumpon.8,v 1.3 1997/08/16 13:12:52 horikawa Stab %
.\"
.Dd May 12, 1995
.Dt DUMPON 8
.Os FreeBSD 2.1
.Sh 名称
.Nm dumpon
.Nd クラッシュダンプ用デバイスの指定
.Sh 書式
.Nm dumpon
.Op Fl v
.Ar special_file
.Nm dumpon
.Op Fl v
.Ar off
.Sh 解説
.Nm
は、パニック時にカーネルがクラッシュダンプをセーブするデバイスを
指定するのに用いられます。
.Pp
通常、
.Nm
はシステムのマルチユーザ初期化ファイル
.Pa /etc/rc
の中で呼び出され、ブート時の設定ファイル
.Pa /etc/rc.conf
の変数
.Dq dumpdev
によって制御されます。
.Pp
指定したダンプデバイスは、
物理メモリよりも少なくとも 64 キロバイトは大きい必要があります。
.Pp
.Fl v
フラグは
.Nm
にその処理に関する詳細情報を出力させます。
.Sh 注釈
通常、システムスワップデバイスの 1 つをダンプデバイスとして選択します。
なぜなら、ダンプ時に必要な広さを持っていると考えられるものが、
スワップデバイスであるからです。
.Pp
ダンプバイスの指定として、カーネルコンパイル時に
.Dq dumps on
節をカーネル設定ファイル (
.Xr config 8
参照) に記述することができます。
これは、マルチユーザモードに移行する前にカーネルがパニックする場合に有効です。
その後に起動する
.Nm
は、コンパイル時の値に優先します。
.Pp
.Nm
プログラムの動作は、
.Xr sysctl 3
の MIB 変数
.Dq kern.dumpdev
に指定された
.Ar special_file
のデバイス番号を設定するか、
あるいは
.Ar special_file
が文字列
.Dq Li off
の場合は
.Dv NODEV
(ダンプはとらないことを意味します)
を設定する、というものです。
.Sh 関連項目
.Xr sysctl 3 ,
.Xr fstab 5 ,
.Xr rc.conf 5 ,
.Xr init 8 ,
.Xr config 8 ,
.Xr rc 8 ,
.Xr savecore 8 ,
.Xr swapon 8 ,
.Xr panic 9
.Sh 関連ファイル
.Bl -tag -width /dev/[ws]d?b -compact
.It Pa /dev/[ws]d?b
標準のスワップ領域
.It Pa /etc/rc.conf
ブート時のシステム設定
.El
.Sh バグ
クラッシュダンプをとるときには
既にファイルシステムレイヤは動作していないので、
クラッシュダンプを直接ファイルに落すことはできません。
.Pp
現在
.Nm
は、マイナ番号 1 のデバイスのみをダンプデバイスとして使用可能です。
.Sh 歴史
.Nm
コマンドは
.Fx 2.1
で登場しました。
diff --git a/ja/man/man8/fsck.8 b/ja/man/man8/fsck.8
index 1e253e7398..0c459fac1b 100644
--- a/ja/man/man8/fsck.8
+++ b/ja/man/man8/fsck.8
@@ -1,297 +1,306 @@
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
+.\" 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.
.\"
-.\" @(#)fsck.8 8.2 (Berkeley) 12/11/93
-.\" %Id: fsck.8,v 1.5.2.1 1997/03/03 07:01:23 mpp Exp %
+.\" @(#)fsck.8 8.4 (Berkeley) 5/9/95
+.\" %Id: fsck.8,v 1.11 1998/06/15 07:07:12 charnier Exp %
.\" jpman %Id: fsck.8,v 1.2 1997/04/24 00:30:54 mutoh Stab %
.\"
-.Dd December 11, 1993
+.Dd May 9, 1995
.Dt FSCK 8
.Os BSD 4
.Sh 名称
.Nm fsck
.Nd ファイルシステムの整合性チェックと対話的修正
.Sh 書式
.Nm fsck
.Fl p
.Op Fl f
.Op Fl m Ar mode
.Nm fsck
.Op Fl b Ar block#
.Op Fl c Ar level
.Op Fl l Ar maxparallel
.Op Fl y
.Op Fl n
.Op Fl m Ar mode
.Op Ar filesystem
.Ar ...
.Sh 解説
-.Nm fsck
+.Nm
の最初の書式は、標準のファイルシステムのセットや指定された
ファイルシステムの状態を整えるのに使われます。
通常は、自動リブートの間に
.Pa /etc/rc
スクリプトの中で使用されます。
この時
-.Nm fsck
+.Nm
.Pa /etc/fstab
を読んで、チェックするファイルシステムを決定します。
fstab 内の ``rw,'' ``rq,'' ``ro'' のいずれかのオプションで
マウントされる、 0 以外のパス番号をもつパーティションのみが
チェックの対象です。
パス番号 1 を持つファイルシステム
(通常はルートファイルシステムだけです) は、
一つずつ順番にチェックされます。
パス 1 が完了すると、残りのすべてのファイルシステムは、
ディスクドライブごとに一つのプロセスを使ってチェックされます。
ファイルシステムが含まれるディスクドライブは、
デバイス名のうち最後が数字である最も長い文字列として認識されます。
残りの文字列はパーティションを示すと解釈されます。
.Pp
各ファイルシステムのスーパーブロックのクリーン (clean) フラグを調べ、
クリーンでないファイルシステムのみをチェックします。
+ファイルシステムがクリーンとマークされるのは、
+アンマウントされた時、読み取り専用でマウントされた時、
++.Nm
+成功裏に実行された時です。
.Fl f
オプションを指定した場合、クリーンフラグの状態にかかわらず
ファイルシステムをチェックします。
.Pp
カーネルは、ハードウェアやソフトウェアに障害が起きない限り、
ファイルシステムには限定された無害な不整合しか起こさない様に
動作します。
それらの不整合には以下の物があります。
.Bl -item -compact
.It
参照されない inode
.It
inode のリンクカウントが多すぎる
.It
フリーマップ中にないフリー (空き) ブロック
.It
フリーマップとファイルの両方にあるブロック
.It
スーパーブロック内の数値の異常
.El
.Pp
.Fl p
オプション付の
-.Nm fsck
+.Nm
では、上記の不整合のみを修正します。その他の不整合を発見すると、
-.Nm fsck
+.Nm
は異常終了のステータスを返して終了し、自動リブートは失敗します。
不整合を修正するたびに、ファイルシステムと修正内容が表示されます。
ファイルシステムの修正に成功した後で、
-.Nm fsck
+.Nm
はファイルシステム中のファイル数、使用中ブロックとフリーブロックの数、
フラグメントの割合を表示します。
.Pp
-.Nm fsck
+.Nm
がファイルシステムをチェックしている間に
.Dv QUIT
シグナルを送ると、
-.Nm fsck
+.Nm
はチェックを続けますが、終了時に異常終了のステータスを返し、
自動リブートを失敗させます。
これは、自動リブートによるファイルシステムチェックは行いたいが、
チェック完了後にマルチユーザモードに移行したくない場合に有用です。
.Pp
.Fl p
オプションなしでは、
-.Nm fsck
+.Nm
はファイルシステムの状態の検査をおこない、それを対話的に修正します。
ファイルシステムに不整合がある場合、修正を実施する前にオペレータへ
確認を求めます。
.Fl p
オプションでは直せない修正では、データが失われる可能性があることに
注意すべきです。
失われるデータの量とその致命度は、診断メッセージから判断して下さい。
デフォルト動作では、修正を実行する前に、オペレータが
.Li yes
.Li no
と応答するまで待ちます。
オペレータにファイルシステムの書き込み権限がない場合、
-.Nm fsck
+.Nm
は、
.Fl n
オプションの動作をデフォルトにします。
.Pp
-.Nm fsck
+.Nm
は、以前使われていた
.Em check , dcheck , fcheck ,
.Em icheck
の組合せよりもより詳しい不整合チェックを行ないます。
.Pp
-.Nm fsck
+.Nm
は以下のフラグを解釈します。
.Bl -tag -width indent
.It Fl b
指定した番号のブロックをファイルシステムの
スーパーブロックとして使用します。
ブロック番号 32 は普通、代替スーパーブロックになっています。
.It Fl l
同時チェックの並列度を、指定した数に制限します。
デフォルト値はディスク数であり、
ディスク毎に一つのプロセスが実行されます。
これより小さい値を指定すると、
各ディスクを、ファイルシステムを一つずつ
ラウンドロビン方式でチェックします。
.It Fl m
.Pa lost+found
ディレクトリを作る時のモードとして、デフォルトの 1777 の代わりの
値を 8 進数で指定します。
失われたファイルをすべてのユーザには見せたくないシステムでは、
より制限の厳しい 700 を使うべきです。
.It Fl y
-.Nm fsck
+.Nm
からのすべての質問に yes と答えます。
このオプションは、
修正によって新たな不整合を生むような誤った修正に対しても無制限な
許可を与えてしまうものですから、
十分に用心して使用すべきです。
.\" お手上げにつき、意訳しました by TM
.\"(訳注)とくに問題がないと判断したので,この意訳をそのままとしました。
.\" 2.2.1R 対象(1997/04/23) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
.It Fl n
-.Nm fsck
+.Nm
からの
.Ql CONTINUE?
を除くすべての問い合わせに no と答えます。
このオプションは、ファイルシステムへの書き込みオープンを行いません。
.It Fl c
ファイルシステムを指定したレベルへ変換します。
ファイルシステムのレベルは、上げることのみが可能です。
.Bl -tag -width indent
-以下の 3 レベルが定義されています。
+以下の 4 レベルが定義されています。
.It 0
ファイルシステムは、旧フォーマットです (静的テーブル)。
.It 1
ファイルシステムは、新フォーマットです (動的テーブル)。
.It 2
ファイルシステムは 32 ビットの UID と GID を用い、
短いシンボリックリンクは inode 内へ格納し、
ディレクトリはファイルタイプを示す追加フィールドを持ちます。
+.It 3
+maxcontig が 1 より大きい場合、
+連続ブロックをみつけるためのフリーセグメントマップを作成します。
+maxcontig が 1 の場合、既存のセグメントマップを削除します。
.El
.Pp
対話モードでは、
-.Nm fsck
+.Nm
は、変換の内容を表示して、実際に変換するかどうかを問い合わせます。
no と答えると、ファイルシステムへのそれ以上の操作は行われません。
preen モード (
.Fl p
オプション) では、変換内容を表示しますが、変換が可能なら
ユーザへの問い合わせなしに実行します。
preen モードでの変換は、すべてのファイルシステムを一度に
変換してしまう場合に便利です。
ファイルシステムのフォーマットは、
.Xr dumpfs 8
の出力の最初の行から決定することができます。
.El
.Pp
ファイルシステムを指定せずに
-.Nm fsck
+.Nm
を実行すると
.Pa /etc/fstab
ファイルから読み込まれたファイルシステムのリストが対象になります。
.Pp
.Bl -enum -indent indent -compact
ファイルシステムは、以下の点について検査されます。
.It
二つ以上の inode やフリーマップにより使用されているブロック
.It
ファイルシステム領域外の inode により使用されているブロック
.It
不正なリンクカウント
.It
サイズのチェック:
.Bl -item -indent indent -compact
.It
サイズが DIRBLKSIZ の倍数でないディレクトリ
.It
切り詰め (truncate) が部分的に行われているファイル
.El
.It
不正な inode フォーマット
.It
どこにも登録されていないブロック
.It
ディレクトリのチェック:
.Bl -item -indent indent -compact
.It
割り当てされていない inode を指すファイル
.It
範囲外の inode 番号
.It
ディレクトリ内の穴
.It
最初の 2 つのエントリが `.' と `..' でないか、
不正な inode 番号を持つディレクトリ
.El
.It
スーパーブロックのチェック:
.Bl -item -indent indent -compact
.It
ファイルシステムにあるよりも多い inode ブロック数
.It
不正なフリーブロックマップフォーマット
.It
フリーブロックやフリー inode の総数の誤り
.El
.El
.Pp
親ディレクトリの無いファイルやディレクトリ (割り当て
られているが参照されていない) は、
オペレータへの問い合わせのあとで
.Pa lost+found
ディレクトリへ配置されます。
その際のファイル名は inode 番号になります。
.Pa lost+found
ディレクトリが存在しない場合、新たに作成されます。
スペースが不足している場合は、そのサイズが拡張されます。
.Pp
ブロックデバイスとバッファキャッシュの内容は一致しないかもしれないので、
必ずロー (raw) デバイスを指定してください。
.Sh 関連ファイル
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
チェックを行なうファイルシステムのデフォルトリストを含む
.El
.Sh 診断
-.Nm fsck
+.Nm
の出す診断メッセージは、
.Rs
.%T "Fsck \- The UNIX File System Check Program"
.Re
の Appendix A にすべて列挙され説明されています。
.Sh 関連項目
.Xr fs 5 ,
.Xr fstab 5 ,
+.Xr fsdb 8 ,
.Xr newfs 8 ,
.Xr reboot 8
diff --git a/ja/man/man8/fsdb.8 b/ja/man/man8/fsdb.8
index ac0d71858d..f00ce01a7b 100644
--- a/ja/man/man8/fsdb.8
+++ b/ja/man/man8/fsdb.8
@@ -1,255 +1,261 @@
.\" %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.
.\"
-.\" %Id: fsdb.8,v 1.3.2.2 1998/08/12 06:15:16 charnier Exp %
+.\" %Id: fsdb.8,v 1.8 1998/06/15 07:12:18 charnier Exp %
.\" jpman %Id: fsdb.8,v 1.3 1997/06/23 15:01:41 horikawa Stab %
.\"
.Dd September 14, 1995
.Dt FSDB 8
.Os FreeBSD
.Sh 名称
.Nm fsdb
.Nd FFS デバッグ/編集ツール
.Sh 書式
-.Nm
+.Nm fsdb
.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 libedit 3
ライブラリを使用しており、コマンド行を編集することによってタイピングの
量を減らすことができます。
コマンドループから抜けて終了する時には、ファイルシステムのスーパブロック
が dirty とマークされ、バッファリングされているブロックがあれば
ファイルシステムに書き込まれます。
.Pp
-.Fl d
-オプションを指定すると、デバッグ情報 (元は
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl d
+デバッグ情報 (元は
.Xr fsck 8
のコードに由来するもの) を出力します。
-.Pp
-.Fl f
-オプションは歴史的な理由により残されているもので、特に意味は持ちません。
+.It Fl f
+歴史的な理由により残されているもので、特に意味は持ちません。
+.It Fl r
+ファイルシステムを読み取り専用でオープンし、
+書き込みを行うコマンドを抑止します。
+.El
.Sh コマンド
組み込みの
.Xr libedit 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
現在の inode をクリアします。
.Pp
.It Cm lookup Ar name
.It Cm cd Ar name
.Ar name
を現在のディレクトリの中で探し、その inode を現在の inode に設定します。
.Ar name
はマルチコンポーネントの名前か、スラッシュで始めて検索をルートの inode
から始めることを指定できます。パス名の中のコンポーネントが見
つからない場合、最後に有効であったディレクトリがアクティブな inode と
して使われます。
.br
このコマンドは開始する inode がディレクトリの場合のみ有効です。
.Pp
.It Cm active
.It Cm print
アクティブな inode を表示します。
.Pp
.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
のそれぞれのフィールドにはゼロがセットされます。
.Pp
.It Cm quit, Cm q, Cm exit, Em <EOF>
プログラムを終了します。
.El
.Sh 関連項目
.Xr libedit 3 ,
.Xr fs 5 ,
.Xr clri 8 ,
.Xr fsck 8
.Sh バグ
``short'' のシンボリックリンクの操作は動作しません。(特に、
シンボリックリンクのタイプは変更しないでください。)
.br
モードはシンボル名ではなく数字で指定してください。
.br
多分
.Nm
に実装されていないことで、もっとやりたいことが沢山あるでしょう。
.br
.Xr libedit 3
のリファレンスページはまだ書かれていません。
.Sh 歴史
.Nm
.Xr fsck 8
のソースコードを使ってファイルシステムの操作のコードのほとんどを実装し
ています。
.Nm
の残りの部分は、最初
.Bx Net
において
.An John T. Kohl
によって書かれました。
.br
.Bx Free
への移植は
.An Peter Wemm
によって行われました。
.Sh 警告
このツールは最大限に注意を払って使って下さい。
.Xr fsck 8
を使っても修復できないほど FFS ファイルシステムを壊す恐れがあります。
diff --git a/ja/man/man8/fsirand.8 b/ja/man/man8/fsirand.8
index 75b1f99b69..f1894c0e18 100644
--- a/ja/man/man8/fsirand.8
+++ b/ja/man/man8/fsirand.8
@@ -1,112 +1,112 @@
.\" Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com>
.\" 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 Todd C. Miller.
.\" 4. 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 ``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: fsirand.8,v 1.6 1997/02/23 03:58:26 millert Exp $
-.\" %Id: fsirand.8,v 1.3.2.4 1998/07/17 20:13:11 jkh Exp %
+.\" %Id: fsirand.8,v 1.8 1998/06/30 06:18:43 charnier Exp %
.\" jpman %Id: fsirand.8,v 1.3 1997/09/08 07:26:22 kuma Stab %
.\"
.Dd January 25, 1997
.Dt FSIRAND 8
.Os
.Sh 名称
.Nm fsirand
.Nd inode 世代番号をランダム化する
.Sh 書式
.Nm fsirand
.Op Fl b
.Op Fl f
.Op Fl p
.Ar special
.Op Ar "special ..."
.Sh 解説
.Nm
コマンドは、コマンドラインにて
.Ar special
で指定したファイルシステム上の全ての inode に対し、
ランダムな世代番号を書き込みます。
これにより、ファイルハンドルを ``予測'' しにくくし、
NFS export したファイルシステムのセキュリティを向上させます。
.Pp
.Em 注 Ns :
現在
.Xr newfs 8
.Nm
と同等の処理を行うため、新規ファイルシステムに対し手動で
.Nm
を実行する必要は有りません。
用途は、
既存のファイルシステムを再びランダム化することか、
そこからレポートを得ることだけです。
.Pp
.Nm
は、アンマウントした後
.Xr fsck 8
にてチェックしたファイルシステムか、
リードオンリーにてマウントしたファイルシステムのみに適用すべきです。
.Nm
をシングルユーザモードにてルートファイルシステムに適用できますが、
その後システムを ``reboot -n'' にてリブートしなければなりません。
.Sh オプション
.Bl -tag -width indent
以下のオプションを使用可能です:
.It Fl b
ディスクラベルから得たブロックサイズではなく、
デフォルトのブロックサイズ(通常 512 バイト)を使用します。
.It Fl f
.Ar special
がクリーンとマークされていなくとも、
.Nm
を強制的に実行します。
.It Fl p
新たな世代番号を生成するのではなく、
全ての inode に対して現在の世代番号を表示します。
.Sh 警告
.Nm
はシリンダグループ中の全ての inode を保持できるだけの量のメモリを確保するため、
シリンダグループが少ない大きなディスクにおいては大量のメモリを消費する
可能性があります。
.Sh 関連項目
.Xr fs 5 ,
.Xr fsck 8 ,
.Xr newfs 8
.Sh 歴史
.Nm
コマンドは SunOS 3.x から登場しました。
.br
このバージョンの
.Nm
.Ox 2.1
から登場しました。
.Bx Free
のものは
.Fx 2.2.5
から登場しました。
.Sh 作者
.An Todd C. Miller Aq Todd.Miller@courtesan.com
diff --git a/ja/man/man8/ft.8 b/ja/man/man8/ft.8
index 90f8906be2..f7a22a3190 100644
--- a/ja/man/man8/ft.8
+++ b/ja/man/man8/ft.8
@@ -1,110 +1,110 @@
.\" Copyright (c) 1980, 1989, 1991 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.
.\"
.\" @(#)ft.8
-.\" %Id: ft.8,v 1.2.6.2 1998/07/17 20:13:18 jkh Exp %
+.\" %Id: ft.8,v 1.5 1998/06/30 06:22:05 charnier Exp %
.\" jpman %Id: ft.8,v 1.3 1997/08/20 11:58:37 horikawa Stab %
.\"
.Dd February 7, 1994
.Dt FT 8
.Os BSD 4
.Sh 名称
.Nm ft
.Nd QIC 40/80 フロッピテープドライブコントローラ
.Sh 書式
.Nm ft
.Op Fl f Ar tape
.Op Fl r
.Op Ar description
.Sh 解説
.Nm
コマンドはあらかじめフォーマットされている QIC-40/80 テープに対する、
マルチボリュームのダンプ、抽出、テープラベルの閲覧を行ないます。
これは完全にシステム依存であり、QIC 標準とは無関係です。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl f Ar tape
指定された
.Ar tape
から読み書きします
(環境変数
.Ev TAPE
が設定されていなければ、デフォルトは
.Pa /dev/rft0
です)。
.It Fl r
テープを保持します。
.El
.Pp
.Nm
はおもにテープ I/O のフィルターとして使われます。
例えば、
.Pa /usr
ディレクトリをテープに圧縮して保存するには、以下のように入力します。
.Bd -literal -offset indent
% tar cvzf - /usr | ft "/usr save"
.Ed
.Pp
テープから /usr を取り出すには、以下のように入力します。
.Bd -literal -offset indent
% ft | tar xvzf -
.Ed
.\" .Sh 関連項目
.\" .Xr qtar 1
.Sh バグ
フォーマットとベリファイ機能については作業中です。
現在これらを行なうには、今あるバックアッププログラムを使う必要があるでしょう。
.Sh 注釈
フロッピーテープドライバは、
Colorado Jumbo、Mountain Summit Express やいくつかの Archive/Conner モデル、
またおそらくその他のものもサポートしています。
これらのテープドライブはフロッピディスクコントローラカードと
フロッピディスクのリボンケーブルの間に接続されます。
現在のところこのドライバは、
専用のテープコントローラカードやパラレルポートをサポートしていません。
.Pp
QIC-40/80 ドライブは SCSI ドライブに比べ CPU に負荷がかかります。
マシンがネットワークに接続されていたり、
複数のユーザが同時に作業していたりする場合は、
QIC-40/80 ドライブは単なる 1 つの負荷の要素に過ぎません。
個人ユースでは (すなわち典型的なホーム Unix ユーザ)、
応答時間は完全に許容できるものです。
テープドライブは書き込みエラーを検出できません。
そのかわりに、CRC やエラー訂正や不良箇所マッピングを使用しています。
そのため、フォーマット時間は非常に長くなります。
ドライブは最初のパスでテープ全体にセクタを書いていきます。
そして、2 番目のパスを (感度をよくするために) 通常より遅いレートにして、
テープの不良箇所を検出します。
通常、1 本の QIC-80 テープ (120Mb 圧縮なし) をフォーマットするには
1 時間かかります。
.Sh 作者
.An Steve Gerakines Aq steve2@genesis.nred.ma.us
diff --git a/ja/man/man8/ftpd.8 b/ja/man/man8/ftpd.8
index fe4f46726b..785e79624c 100644
--- a/ja/man/man8/ftpd.8
+++ b/ja/man/man8/ftpd.8
@@ -1,464 +1,465 @@
.\" Copyright (c) 1985, 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94
-.\" %Id: ftpd.8,v 1.9.2.14 1998/07/17 04:00:02 jkoshy Exp %
+.\" %Id: ftpd.8,v 1.22 1998/07/09 11:38:21 jkoshy Exp %
.\" jpman %Id: ftpd.8,v 1.3 1997/09/08 07:23:46 kuma Stab %
.\"
.Dd April 19, 1994
.Dt FTPD 8
.Os BSD 4.2
.Sh 名称
.Nm ftpd
.Nd
インターネットファイル転送プロトコルサーバ
.Sh 書式
.Nm ftpd
.Op Fl dl
.Op Fl D
.Op Fl R
.Op Fl S
.Op Fl U
.Op Fl T Ar maxtimeout
.Op Fl t Ar timeout
.Op Fl a Ar address
.Op Fl p Ar file
.Sh 解説
.Nm
は、インターネットファイル転送プロトコルサーバプロセスです。
このサーバは
.Tn TCP
プロトコルを用いて、
.Dq ftp
サービスに割り当てられたポートを listen() します。
.Dq ftp
サービスについては、
.Xr services 5
を参照して下さい。
.Pp
利用可能なオプションは以下の通りです:
.Bl -tag -width indent
.It Fl d
syslog の LOG_FTP のファシリティ (facility) を用いてデバッグ情報を出力します。
.It Fl l
.Xr ftp 1
セッションそれぞれの結果を、成功も失敗もともども
syslog の LOG_FTP のファシリティを用いて
ログに残します。このオプションが 2 回指定されると、
retrieve (get), store (put), append, delete,
make directory, remove directory, rename の各操作およびそれらの引数で指定された
ファイル名も記録されます。
注意: LOG_FTP メッセージはデフォルトでは
.Xr syslogd 8
によって表示されません。場合によっては
.Xr syslogd 8 Ns
の設定ファイルでそれを有効にしなければなりません。
.It Fl D
このオプションがセットされると、
.Nm
は制御端末を切り離してデーモンとなり、
FTP ポートへの接続要求を待ち、
子プロセスを生成して接続要求に対応します。
この方式は
.Nm
.Xr inetd 8
から起動するよりオーバヘッドが少ないため、
処理量の多いサーバで負荷を低減するのに役立ちます。
.It Fl R
このオプションがセットされると、
.Nm
は、ユーザ操作のセキュリティチェックや PORT 要求の制限に関して
古き良き時代の振る舞いに戻ります。
現在では、
.Nm
はリモートユーザのホストの非特権ポートに向けられた PORT コマンド
だけを用います (これは FTP プロトコルの仕様に違反していますが、
いくつかのセキュリティホールを閉じることができます)。
.It Fl S
このオプションがセットされると、
.Nm
は匿名 (anonymous) による転送の全てについてのログを、ファイル
.Pa /var/log/ftpd
が存在する場合に限り、このファイルに残します。
.It Fl U
以前のバージョンの
.Nm
では、パッシブモードのクライアントがサーバにデータ接続を要求すると、
サーバは 1024 〜 4999 の範囲のデータポートを使用していました。
現在のバージョンでは、サーバはデフォルトでは 40000 〜 44999 の範囲の
データポートを使用しますが、
このオプションを指定することにより、以前の振る舞いに戻ります。
.It Fl T
クライアントは異なったタイムアウト秒数を要求することもできます。
.Fl T
オプションにより、
.Ar タイムアウト
までの最大待ち時間を設定できます。
デフォルトは 2 時間です。
.It Fl t
何も操作しないで放置した場合のタイムアウト時間を
.Ar timeout
秒に設定します (デフォルトは 15 分)。
.It Fl a
.Fl D
オプションが指定されている場合、
.Ar address
で指定されたアドレスに対する接続のみを許可します。
.It Fl p
.Fl D
オプションが指定されている場合、
デーモンのプロセス ID を
.Ar file
に書き出します。
.It Fl A
匿名 ftp アクセスのみ許可します。
.El
.Pp
ファイル
.Pa /etc/nologin
は、ftp アクセスを拒否するのに使うことができます。
このファイルが存在する場合、
.Nm
はそのファイルの内容を表示して終了します。
.Pa /etc/ftpwelcome
ファイルが存在する場合、
.Nm
.Dq ready
メッセージを表示する前にその内容を表示します。
もし
.Pa /etc/ftpmotd
ファイルが存在する場合、
ログイン成功後に
.Nm
はその内容を出力します。
使用される motd ファイルはログイン環境に対して相対であることに
注意してください。
つまり、匿名ユーザの場合には、
.Pa ~ftp/etc
に存在することを意味じます。
.Pp
この ftp サーバは、現在、以下の ftp リクエストをサポートしています。
リクエストの文字の大文字小文字の区別は無視されます。
.Bl -column "Request" -offset indent
.It Sy リクエスト Ta Sy "説明"
.It ABOR Ta "abort previous command"
.It ACCT Ta "specify account (ignored)"
.It ALLO Ta "allocate storage (vacuously)"
.It APPE Ta "append to a file"
.It CDUP Ta "change to parent of current working directory"
.It CWD Ta "change working directory"
.It DELE Ta "delete a file"
.It HELP Ta "give help information"
.It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA"
.It MKD Ta "make a directory"
.It MDTM Ta "show last modification time of file"
.It MODE Ta "specify data transfer" Em mode
.It NLST Ta "give name list of files in directory"
.It NOOP Ta "do nothing"
.It PASS Ta "specify password"
.It PASV Ta "prepare for server-to-server transfer"
.It PORT Ta "specify data connection port"
.It PWD Ta "print the current working directory"
.It QUIT Ta "terminate session"
.It REST Ta "restart incomplete transfer"
.It RETR Ta "retrieve a file"
.It RMD Ta "remove a directory"
.It RNFR Ta "specify rename-from file name"
.It RNTO Ta "specify rename-to file name"
.It SITE Ta "non-standard commands (see next section)"
.It SIZE Ta "return size of file"
.It STAT Ta "return status of server"
.It STOR Ta "store a file"
.It STOU Ta "store a file with a unique name"
.It STRU Ta "specify data transfer" Em structure
.It SYST Ta "show operating system type of server system"
.It TYPE Ta "specify data transfer" Em type
.It USER Ta "specify user name"
.It XCUP Ta "change to parent of current working directory (deprecated)"
.It XCWD Ta "change working directory (deprecated)"
.It XMKD Ta "make a directory (deprecated)"
.It XPWD Ta "print the current working directory (deprecated)"
.It XRMD Ta "remove a directory (deprecated)"
.El
.Pp
以下に示した非標準コマンドあるいは
.Tn UNIX
に特有のコマンドが、SITE リクエストでサポートされています。
.Pp
.Bl -column Request -offset indent
.It Sy リクエスト Ta Sy 説明
.It UMASK Ta change umask, e.g. ``SITE UMASK 002''
.It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60''
.It CHMOD Ta change mode of a file, e.g. ``SITE CHMOD 755 filename''
.It HELP Ta give help information.
.El
.Pp
Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のものは
解釈はされますがインプリメントされていません。
MDTM および SIZE は RFC 959 では規定されていませんが、次に改訂される
FTP RFC には登場するでしょう。
.Pp
ftp サーバがアクティブなファイル転送を中断するのは、ABOR コマンドの前に、
Telnet "Interrupt Process" (IP) シグナルか
Telnet "Synch" シグナルが Telnet ストリーム内にある場合だけです。
これは Internet RFC 959 に記述されています。
もし、データの転送中に
STAT
コマンドを受けとり、その前に Telnet IP や Synch
があった場合、転送ステータスが返されます。
.Pp
.Nm
は、
.Xr csh 1
で使われているファイル名展開を解釈します。これにより、
ユーザはメタキャラクタ
.Dq Li \&*?[]{}~
を利用できます。
.Pp
.Nm
は、5 つのルールに従ってユーザの認証を行います。
.Pp
.Bl -enum -offset indent
.It
ログイン名はパスワードデータベース
になければならず、空のパスワードであってはいけません。
この場合、あらゆるファイルの操作に先だって、クライアント側からパスワードが
提供されていなければなりません。ユーザが S/Key のキーを持っている場合は、
USER コマンドが成功した際の応答には S/Key チャレンジを含めて送られます。
クライアントは、それに対して PASS コマンドを使って応答する際に、
通常のパスワードか S/Key のワンタイムパスワードのどちらをつけて応答
するかを選択できます。サーバはどちらのパスワードを受け取ったかを自動的に
判定し、それに応じて認証を試みます。S/Key の認証に関する詳細は
.Xr key 1
を参照して下さい。S/Key は Bellcore 社の商標です。
.It
ログイン名はファイル
.Pa /etc/ftpusers
に載っていてはいけません。
.It
ログイン名はファイル
.Pa /etc/ftpusers
で指定されているグループのメンバであってはいけません。
このファイルでグループ名として解釈されるエントリの先頭には
アットマーク
.Ql \&@
が付きます。
.It
ユーザは
.Xr getusershell 3
が返す標準のシェルを持っていなければなりません。
.It
ユーザ名がファイル
.Pa /etc/ftpchroot
に載っているか、そのファイルにあるグループエントリ (つまり
.Ql \&@
で始まるエントリ) のメンバである場合、アカウント
.Dq anonymous
.Dq ftp
と同様、
.Xr chroot 2
によって、
そのセッションのルートディレクトリが
ユーザのログインディレクトリに変ります (次の項目を参照して下さい)。
この機能は、
.Xr login.conf 5
でブール型フラグ "ftp-chroot" をオンにしても有効になります。
しかし、ユーザは依然、パスワードを与える必要があります。
この特徴は、完全に匿名 (anonymous) なアカウントと
完全な特権のあるアカウントの間での妥協的な利用のためのものです。
このアカウントは匿名アカウントで設定するのと同様に設定されていなければ
なりません。
.It
もしユーザ名が
.Dq anonymous
または
.Dq ftp
の場合は、匿名の ftp アカウントがパスワードファイル (ユーザ
.Dq ftp
) で提供されていなければなりません。
この場合、ユーザはどのようなパスワードでもログインを許可されます (慣習としては
ユーザの email アドレスをパスワードとして用いることになっています)。
.Fl S
オプションがセットされていると、全ての転送操作も記録されます。
.El
.Pp
最後のケースの場合、
.Nm
は特別な手段でクライアントのアクセス権を制限します。
サーバは
.Dq ftp
ユーザのホームディレクトリへ
.Xr chroot 2
します。
システムのセキュリティが侵害されないために、
.Dq ftp
サブツリーは、以下の規則に従って慎重に構築することを推奨します。
.Bl -tag -width "~ftp/pub" -offset indent
.It Pa ~ftp
ホームディレクトリは
.Dq root
の所有とし、誰も書き込みできないようにします。
.It Pa ~ftp/bin
このディレクトリは
.Dq root
の所有とし、誰も書き込みできないようにします (モード 555)。
list コマンドのサポートのため、ここに
.Xr ls 1
プログラムを置くことが必要です。
このプログラムのモードは 111 とすべきです。
.It Pa ~ftp/etc
このディレクトリは
.Dq root
の所有とし、誰も書き込みできないようにします (モード 555)。
.Xr ls
が所有者を数字でなく名前で表示できるようにするために、
ファイル pwd.db (
.Xr passwd 5 参照) 及び
.Xr group 5
が必要です。
ファイル
.Xr passwd
中のパスワードは使用されませんので、本当のパスワードを入れてはいけません。
ファイル
.Pa ftpmotd
が存在すると、ログイン成功後、その内容が表示されます。
このファイルのモードは 444 とすべきです。
.It Pa ~ftp/pub
このディレクトリのモードは 777、所有者は
.Dq ftp
とします。
ゲストユーザは、このディレクトリ中にあって匿名アカウントで
アクセス可能なファイルをアクセスします。
.El
.Pp
システムに複数の IP アドレスがある場合、
.Nm
は仮想ホストの概念をサポートします。
仮想ホストは、複数の匿名 ftp 領域それぞれを別々のインターネットアドレス
に割り当てる機能を提供します。
ファイル
.Pa /etc/ftphosts
は各仮想ホストに関連した情報を保持します。
各ホストはそれぞれの行で定義され、
各行は空白で区切ったいくつかのフィールドからなります:
.Bl -tag -offset indent -width hostname
.It hostname
仮想ホストのホスト名あるいは IP アドレス。
.It user
システムのパスワードファイル中のユーザレコードを含みます。
普通の匿名 ftp と同様に、このユーザのアクセス UID, GID および
グループによって匿名 ftp 領域のファイルアクセス権が決まります。
匿名 ftp 領域 (ログイン時にユーザが chroot するディレクトリ) は、
そのアカウントに対するホームディレクトリとして決定されます。
他の ftp アカウントのユーザ ID およびグループも、
標準 ftp ユーザと同じであって構いません。
.It statfile
全てのファイル転送のログが記録されるファイル。デフォルトでは
.Pa /var/log/ftpd
です。
.It welcome
サーバがプロンプトを出す前に表示される welcome メッセージ。デフォルトでは
.Pa /etc/ftpwelcome
です。
.It motd
このファイル内容はユーザがログインした後に表示されます。デフォルトでは
.Pa /etc/ftpmotd
です。
.El
.Pp
文字 '#' で開始する行は無視されますので、コメントを含むことが可能です。
.Pp
プライマリ IP アドレスあるいはホスト名に対する仮想ホストを定義すると、
そのアドレスへの ftp ログインのデフォルト値が変更されます。
-'user', 'statfile', 'welcome', 'motd' の各フィールドは
-デフォルト値を用いる場合、ブランクのままもしくはハイフン一つ '-' と
+\&'user', 'statfile', 'welcome', 'motd' の各フィールドは
+デフォルト値を用いる場合、ブランクのままもしくはハイフン一つ
+\&'-' と
しても構いません。
.Pp
いかなる匿名ログインの設定についても言えることですが、
設定と保守には十分に注意を払い、セキュリティ上の問題をきたさないよう
防御しなければなりません。
.Pp
.Em FTPD_INTERNAL_LS
オプションをつけてコンパイルすると、
.Nm
はリモートからのファイル一覧表示要求に対応するための内部サポートを用意し、
chroot された環境でもそれ以外でも
.Pa /bin/ls
を実行しなくなります。
この場合、
.Pa ~/bin/ls
の実行形式ファイルは chroot されたディレクトリになくてよく、
.Pa ~/bin
ディレクトリも存在する必要はありません。
このサポートは、
.Pa /etc/make.conf
あるいはシェルの環境で
.Em INTERNAL_LS
変数を設定して ftpd を作成することで追加されます。
.Sh 関連ファイル
.Bl -tag -width /etc/ftpwelcome -compact
.It Pa /etc/ftpusers
歓迎されない/制限を受けるユーザのリスト。
.It Pa /etc/ftpchroot
chroot される一般ユーザのリスト。
.It Pa /etc/ftphosts
仮想ホストのための設定ファイル
.It Pa /etc/ftpwelcome
welcome メッセージ。
.It Pa /etc/ftpmotd
login 後の welcome メッセージ。
.It Pa /etc/nologin
内容を表示し、アクセスを拒否します。
.It Pa /var/log/ftpd
匿名による転送のログファイル。
.El
.Sh 関連項目
.Xr ftp 1 ,
.Xr key 1 ,
.Xr getusershell 3 ,
.Xr login.conf 5 ,
.Xr inetd 8 ,
.Xr syslogd 8
.Sh バグ
特権ポート番号を用いてソケットを作成するために、
ftpd はスーパーユーザの権限で実行させて下さい。
サーバはログインユーザの実効ユーザ ID を保持しておき、
アドレスをソケットにバインドする場合にのみスーパユーザの権限を使います。
考えられるセキュリティホールについてはかなり詳細にわたって調べ込みをおこないましたが、
それでも不完全かもしれません。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man8/getty.8 b/ja/man/man8/getty.8
index 3226a8087d..bdc5de8229 100644
--- a/ja/man/man8/getty.8
+++ b/ja/man/man8/getty.8
@@ -1,125 +1,125 @@
.\" 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: @(#)getty.8 8.1 (Berkeley) 6/4/93
-.\" %Id: getty.8,v 1.4.2.3 1997/12/15 07:10:52 charnier Exp %
+.\" %Id: getty.8,v 1.9 1997/11/21 07:43:42 charnier Exp %
.\" jpman %Id: getty.8,v 1.3 1997/05/19 17:00:46 horikawa Stab %
.\" "
.Dd April 25, 1991
.Dt GETTY 8
.Os BSD 4
.Sh 名称
.Nm getty
.Nd 端末のモードを設定する
.Sh 書式
.Nm getty
.Oo
.Ar type
.Op Ar tty
.Oc
.Sh 解説
.Nm
プログラムは、
.Xr init 8
から呼ばれ、tty回線をオープンしたあと初期化
し、ログイン名を読んで
.Xr login 1
を起動します。
.Pp
.Ar tty
は、端末にどの
.Pa /dev
のスペシャルデバイスファイルを使うかを指定します(例:``ttyh0'')。
引数がないか
.Ql Fl
ならば、tty回線はファイルディスクリプタ0としてオープンされます。
.Pp
.Ar type
は、
.Nm
が端末回線を特別に扱うようにするために使われます。
この
.Ar type
は、
.Xr gettytab 5
のデータベースのインデックスとして使われ、
回線の特徴を決定します。引数が与えられないか、データベースにマッチする
テーブルがなければ、
.Em default
テーブルが使われます。もし、
.Pa /etc/gettytab
ファイルがなければ、システムのデフォルトが使われます。
テーブルにより指示されれば、
.Nm
は端末画面をクリアし、
バナーヘッダを表示し、
ログインプロンプトを表示します。通常、このプロンプトのなかに
システムのホスト名が含まれます。
.Pp
.Nm
のデフォルトの行動は、大抵の場合、適当な
.Pa gettytab
テーブルを作成することによって、回避したり修正したりすることができます。
.Pp
.Nm
はタイムアウト時間を設定することができます。これによって、
ログイン名がすぐに入力されないような場合に、ダイアル回線を切断
することができます。
.Sh 診断
.Bl -diag
.It "ttyxx: No such device or address."
.It "ttyxx: No such file or address."
.Pp
.Pa ttys
ファイルのなかで有効にされていた端末がオープンできませんでした。
必要な回線がシステムに設定されていなかったか、
関係するデバイスがブート時のシステム設定の際に組み込まれなかったか、
もしくは
.Pa /dev
にスペシャルファイルがありませんでした。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/gettytab -compact
.It Pa /etc/gettytab
.It Pa /etc/ttys
.El
.Sh 関連項目
.Xr login 1 ,
.Xr ioctl 2 ,
.Xr tty 4 ,
.Xr gettytab 5 ,
.Xr ttys 5 ,
.Xr init 8
.Sh 歴史
.Nm
.At v6
から登場しました。
diff --git a/ja/man/man8/ibcs2.8 b/ja/man/man8/ibcs2.8
index 2d1ac841d1..868f3985b7 100644
--- a/ja/man/man8/ibcs2.8
+++ b/ja/man/man8/ibcs2.8
@@ -1,64 +1,64 @@
.\"
.\" Copyright (c) 1995 Lyndon Nerenberg
.\"
.\" All rights reserved.
.\"
.\" This program is free software.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ibcs2.8,v 1.2.2.1 1998/05/22 10:29:39 jkoshy Exp %
+.\" %Id: ibcs2.8,v 1.5 1998/05/19 03:31:34 jkoshy Exp %
.\" jpman %Id: ibcs2.8,v 1.3 1997/09/08 08:46:54 kuma Stab %
.\"
.Dd November 27, 1995
.Dt IBCS2 8
.Os FreeBSD-Experimental
.Sh 名称
.Nm ibcs2
.Nd SCO および ISC バイナリのための iBCS2 ランタイムサポートをロードする
.Sh 書式
.Nm ibcs2
.Sh 解説
.Nm
ユーティリティは iBCS2 互換プログラムの
カーネルランタイムサポートをロードします。
本ランタイムサポートの範囲は iBCS2 システムコールインタフェースの
エミュレーションに限定されており、完全サポートには程遠いです。
COFF バイナリおよび共有ライブラリはサポートされていますが、
FreeBSD での配布には共有ライブラリは提供されていません。
.Sh 関連ファイル
.Bl -tag -width /usr/share/examples/ibcs2/* -compact
.It Pa /lkm/ibcs2_mod.o
.It Pa /lkm/ibcs2_coff_mod.o
iBCS2 ローダブルカーネルモジュール。
.Pp
.It Pa /usr/share/examples/ibcs2/*
エミュレータ検査用のサンプルオブジェクトファイル。
.Sh 関連項目
.Xr modload 8 ,
.Xr lkm 4
.Sh バグ
エミュレータは全く不完全です。
.Pp
動的にリンクされたバイナリを実行するにあたり、
既存の SCO システムの共有ライブラリへのアクセスが不可欠です。
.Pp
使用にあたりソースコードを読むことが不可欠です。
diff --git a/ja/man/man8/ifconfig.8 b/ja/man/man8/ifconfig.8
index d5a4e28ec8..6ffb533843 100644
--- a/ja/man/man8/ifconfig.8
+++ b/ja/man/man8/ifconfig.8
@@ -1,345 +1,345 @@
.\" 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
-.\" %Id: ifconfig.8,v 1.9.2.5 1998/07/17 20:13:20 jkh Exp %
+.\" %Id: ifconfig.8,v 1.18 1998/07/06 06:53:42 charnier Exp %
.\" jpman %Id: ifconfig.8,v 1.2 1997/03/31 14:09:47 horikawa Stab %
.\"
.Dd February 13, 1996
.Dt IFCONFIG 8
.Os BSD 4.2
.Sh 名称
.Nm ifconfig
.Nd ネットワークインタフェースのパラメータの設定を行なう
.Sh 書式
.Nm ifconfig
.Ar interface address_family
.Oo
.Ar address
.Op Ar dest_address
.Oc
.Op Ar parameters
.Nm ifconfig
.Fl a
.Op Fl d
.Op Fl u
.Op Ar address_family
.Nm ifconfig
.Fl l
.Op Fl d
.Op Fl u
.Op Ar address_family
.Sh 解説
.Nm
は、ネットワークインタフェースに対してネットワークアドレス
の割り当てを行ない、ネットワークインタフェースのパラメータの設定を行ないます。
.Nm
は、システム立ち上げ
時に、マシンが備える各ネットワークインタフェースに対してネットワークアドレス
を割り当てるように使用しなければなりません。また、一旦各ネットワークインタフェ
ースに対し設定したネットワークアドレスを再定義したり、パラメータの設定を
変えたりすることも可能です。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Ar address
.Tn DARPA Ns -Internet
ファミリでは、アドレスはホスト名データベース
.Xr hosts 5
に登録されているホスト名であるか、もしくは
インターネット標準の
.Dq ドット表記
です。
.\" ゼロックスネットワークシステム(tm)ファミリでは、
.\" アドレスは
.\" .Ar net:a.b.c.d.e.f
.\" という形式です。
.\" ここで
.\" .Ar net
.\" は割り当てるネットワーク番号(10進数)、
.\" 残りの
.\" .Ar a
.\" から
.\" .Ar f
.\" までは
.\" ホスト番号を表す 6 バイトであり 16 進数で指定します。
.\" ホスト番号は 10Mb/s イーサネットインタフェースでは省略可能です。
.\" ホスト番号指定を省略した場合には、
.\" 一番目のインタフェースのハードウェア物理アドレスを
.\" すべてのインタフェースにおいて使用します。
.\" .Tn ISO
.\" ファミリでは、
.\" ゼロックスファミリと同じ長さのアドレスを、
.\" 長い 16 進数の文字列で指定します。
.\" 違いは、
.\" ドットが続いた場合にはそのバイトはゼロを表すことと、
.\" ドットはオプションであることです
.\" (ドットはネットワークバイトオーダの長い数字列を
.\" 注意深く扱うために使用します)。
.It Ar address_family
他のパラメータの解釈に影響するネットワーク
.Ar "address family"
を指定します。
インタフェースが異なるプロトコルの送信を異なる名前付け体系で
受けることがあるので、アドレスファミリを指定しておくことをお勧めします。
本コマンドでサポートされるプロトコルファミリは、
.Dq inet ,
.Dq atalk ,
.\".Dq iso ,
.Dq ipx
.\" .Dq ns
です。
.It Ar dest_address
ポイントツーポイントリンクにおける他端のアドレスを指定します。
.It Ar interface
インタフェースパラメータは、
.Dq name unit
の形式で表現されます。
例えば
.Dq en0
です。
.El
.Pp
.Nm
では以下のパラメータが利用できます:
.Bl -tag -width indent
.It Cm alias
指定したインタフェースに、ネットワークアドレスを追加して指定します。
これはネットワーク番号を変更した際に、以前のアドレスに送られるパケットを
受けとりたい場合などに便利です。
.It Cm arp
アドレス解決プロトコル (ARP) を用いてネットワークレベルのアドレスとリンクレベル
のアドレスの対応を取ることを可能にします (デフォルト)。この機能は、
.Tn DARPA
インターネットアドレスと 10Mb/s Ethernet アドレスの間の対応を取るように
作られています。
.It Fl arp
アドレス解決プロトコルの使用を禁止します。
.It Cm broadcast
ネットワークに対するブロードキャストアドレスを指定します。
ブロードキャストアドレスのデフォルト値は、
ホスト部のビットがすべて 1 になったアドレスです。
.It Cm debug
ドライバ依存のデバッグモードを有効にします。
通常コンソールへのエラーログを有効にします。
.It Fl debug
ドライバ依存のデバッグモードを無効にします。
.It Cm delete
指定したネットワークアドレスを無効にします。本機能は、alias で不正なアドレスを
指定した場合や、すでに指定したアドレスが必要ない場合などに使用します。
誤った NS アドレスをホスト部分とともに指定した場合には、
NS アドレスを全て無効にすることにより再度ホスト部分を指定可能となります。
.It Cm down
指定したネットワークインタフェースに ``down'' とマークします。``down'' と
マークされたインタフェースに対しては、システムはメッセージの送信を行ない
ません。可能であれば、そのインタフェースは受信も不可能となるように
リセットされます。この動作は、そのインタフェースを用いる
ルーティングを使用しないよう自動的に設定するものではありません。
.\" .It Cm ipdst
.\" リモートネットワーク向け NS パケットをカプセル化している IP パケットを
.\" 受信する、インターネットホストを指定するために使用します。
.\" 外見上 point to point リンクが構成され、
.\" 指定されたアドレスは、
.\" デスティネーションの NS アドレスとネットワークアドレスとされます。
.\" .Tn CLNP
.\" パケットの IP カプセル化はこれとは異なった方法で実現されます。
.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 metric Ar n
インタフェースのルーティングメトリックを
.Ar n
で指定します。初期値は 0 です。
ルーティングメトリックは、ルーティングプロトコル
.Pq Xr routed 8
で使用されます。
.It Cm mtu Ar n
そのインタフェースの最大転送単位 (mtu) を
.Ar n
に設定します。デフォルト値はインタフェースに依存します。
mtu はインタフェースに送られるパケットの大きさを制限するのに用いられます。
mtu を設定できなかったり、設定出来る値の範囲に制限のある
インタフェースがあります。
.It Cm netmask Ar mask
.\" (inet と ISO)
(inet のみ)
ネットワークをサブネットワークに細分割する際に、ネットワークアドレスとして
リザーブするアドレスを指定します。
mask が指定する部分は、
アドレスのネットワーク部とサブネット部です。
サブネット部はアドレスのホスト部の一部です。
mask は、0x ではじまる16進数、
ドット表記のインターネットアドレス形式、
ネットワークテーブル
.Xr networks 5
に記述されている仮想ネットワーク名のいずれかで指定できます。
mask での 32ビットアドレスにおける 1 であるビットの部分は、
ネットワーク部もしくはサブネット部として使用します。
0 であるビットの部分はホスト部として使用します。
mask は少なくともネットワーク部を含む必要があり、
サブネット部はネットワーク部に連続する必要があります。
.\" see
.\" Xr eon 5 .
.\" .It Cm nsellength Ar n
.\" .Pf ( Tn ISO
.\" のみ)
.\" .Tn NSAP
.\" に後続するローカル識別に使用するバイト数を指定します。
.\" この部分は
.\" .Tn NET
.\" (Network Entity Title)
.\" として扱われます。
.\" バイト数のデフォルト値は 1 であり、US
.\" .Tn GOSIP
.\" 準拠です。
.\" ifconfig コマンドで設定するISO アドレスが、
.\" .Tn NSAP
.\" です。
.\" 例えば
.\" .Tn US GOSIP
.\" では、20 文字の 16 進数を
.\" .Tn ISO NSAP
.\" において指定し、
.\" インタフェースに割り当てる必要があります。
.\" .Tn AFI
.\" 37 タイプアドレスにおいて、数字が 1 とは異なると便利であるのは、
.\" それなりの理由があります。
.It Cm range
Appletalk において
.Em netrange
に返答するようにインタフェースを設定します。
書式は startnet-endnet です。
Appletalk は netmask ではなくこの方法を使用しますが、
.Bx Free
の内部においては netmask の集合として実装しています。
.It Cm phase
これに続く引数は、
インタフェースに接続された Appletalk ネットワークの
バージョン (フェーズ) を指定します。
1 または 2 が許されています。
.It Cm link[0-2]
インタフェースのリンクレベルでの特殊な処理を有効にします。3 つのオプション
の実際の効果はインタフェース依存です。しかしながら、これらのオプションは、
一般的には特殊なオペレーションモードを選択するのに用いられます。この例として、
SLIP 使用時のデータ圧縮や、Ethernet カードのコネクタ選択を行います。
各ドライバごとのマニュアルページに
詳細が記してあるので、詳しくはそちらの方を参照して下さい。
.It Fl link[0-2]
上記の link[0-2] の指定を無効にします。
.It Cm up
指定したネットワークインタフェースに
.Dq up
とマークします。
本オプションは、
.Dq ifconfig down
を行なった後にインタフェースを有効にするのに用いられます。
最初にインタフェースにアドレスを設定した場合には、自動的に本指定はされたものと
して扱います。もし、down とマークされていたインタフェースがリセットされた場合、
ハードウェアは再初期化されます。
.El
.Pp
.Nm
は引数としてネットワークインタフェース以外に何のオプションも与えられない場合、
ネットワークインタフェースの現在の設定状態を表示します。
プロトコルファミリが指定されている場合、
.Nm
はプロトコルファミリに特有の情報についてのみ表示します。
.Pp
ドライバがメディア選択をサポートする場合、
サポートされているメディアのリストが出力に含まれます。
.Pp
オプションとして、インタフェース名の代りに
.Fl a
フラグを指定できます。そうすると、
.Nm
はシステム上の全インタフェースを表示します。
.Fl d
フラグはこれを down したインタフェースに限定し、
.Fl u
フラグはこれは up したインタフェースに限定します。
.Pp
The
.Fl l
フラグを使用するとシステム上の使用可能な全インタフェースのリストを、
その他の情報は付加せずに表示します。
このフラグは他のフラグとは排他的ですが、
.Fl d
(down したインタフェースのみをリスト)
.Fl u
(up したインタフェースのみをリスト)
は例外です。
.Pp
スーパユーザのみがネットワークインタフェースの設定を変更できます。
.Sh 註釈
メディア選択システムは比較的新しく、いくつかのドライバのみサポートしています
(必要があるものも限られています)。
.Sh 診断
指定したインタフェースが存在しない、
要求したアドレスが未知のものである、
ユーザがネットワークインタフェースの設定を変更する権限を持っていない、
といったメッセージを表示します。
.Sh 関連項目
.Xr netstat 1 ,
.Xr netintro 4 ,
.Xr rc 8 ,
.Xr routed 8
.\" .Xr eon 5
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man8/inetd.8 b/ja/man/man8/inetd.8
index 326fce6042..3a90e6c3f6 100644
--- a/ja/man/man8/inetd.8
+++ b/ja/man/man8/inetd.8
@@ -1,525 +1,525 @@
.\" Copyright (c) 1985, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)inetd.8 8.3 (Berkeley) 4/13/94
-.\" %Id: inetd.8,v 1.9.2.6 1998/07/18 11:10:23 jkh Exp %
+.\" %Id: inetd.8,v 1.22 1998/06/10 12:34:25 phk Exp %
.\" jpman %Id: inetd.8,v 1.2 1997/05/16 07:22:24 yugawa Stab %
.\"
.Dd February 7, 1996
.Dt INETD 8
.Os BSD 4.4
.Sh 名称
.Nm inetd
.Nd インターネット
.Dq スーパサーバ
.Sh 書式
.Nm inetd
.Op Fl d
.Op Fl l
.Op Fl c Ar maximum
.Op Fl C Ar rate
.Op Fl a Ar address
.Op Fl p Ar filename
.Op Fl R Ar rate
.Op Ar configuration file
.Sh 解説
.Nm
は、ブート時に
.Pa /etc/rc
の中で起動されます(
.Xr rc 8
参照)。起動されると、
.Nm
は定められたインターネットソケットを監視し、接続要求を待ちます。
監視しているソケットに対して接続要求が出されると、
.Nm
はそのソケットに対応したサービスを
判定し、サービスを提供するプログラムを起動します。
サーバプログラムはサービスソケットを標準入力・標準出力・
エラー出力として起動されます。
サービスプログラムが完了すると、
.Nm
は再びソケットの監視を行ないます(後述するような例外もあります)。
.Nm
を用いれば 1 つのデーモンで
複数のサービスプログラムを起動することができるので、
システムの負荷を軽減することができます。
.Pp
.Nm
は、起動時に以下のオプションを指定できます。
.Bl -tag -width indent
.It Fl d
デバッグモードにします。
.It Fl l
ログをとります。
.It Fl c Ar maximum
起動可能なサービスのデフォルトにおける最大値を指定します。
サービスごとに指定される "max-child" パラメータによって上書きされ得ます。
.It Fl C Ar rate
1 分間に単一の IP アドレスから起動されるサービスのデフォルトにおける最大値
を指定します。
デフォルトは未設定です。
サービスごとに指定される "max-connections-per-ip-per-minute"
パラメータによって上書きされ得ます。
.It Fl R Ar rate
1 分間に起動できる最大のサービス数を指定します。デフォルトは 256 です。
.It Fl a
監視する IP アドレスを指定します。
.It Fl p
デフォルトとは異なるプロセス ID を保持するファイルを指定します。
.El
.Pp
.Nm
は実行時に設定情報を設定ファイルから読み込みます。
デフォルトでは設定ファイルは
.Pa /etc/inetd.conf
です。
設定ファイルの各フィールドにはエントリが 1 つなければなりません。
各フィールドのエントリはタブやスペースで区切ります。
コメントは行頭に ``#'' をつけます。
設定ファイルのフィールドは以下のものからなります:
.Pp
.Bd -unfilled -offset indent -compact
サービス名
ソケットタイプ
プロトコル
{wait|nowait}[/最大子プロセス数[/IPあたりの分あたりの最大接続数]]
ユーザ名[:クループ名][/ログインクラス名]
サーバプログラム名
サーバプログラム引数
.Ed
.Pp
.No Tn "ONC RPC"
ベースのサービスを記述する場合には、以下のエントリを記述します。
.Pp
.Bd -unfilled -offset indent -compact
サービス名/バージョン
ソケットタイプ
RPC/プロトコル
ユーザ名
サーバプログラム名
サーバプログラム引数
.Ed
.Pp
.Nm
が起動することのできるサービスは 2 種類あります。
1 つは標準で、もう 1 つは TCPMUX です。
標準サービスには割り当てられた well-known ポートがあります。
これは公式のインターネット標準を実装したサービスや BSD 特有のサービスです。
.Tn RFC 1078
に書かれているように、TCPMUX は非標準サービスであり、
well-known ポートが割り当てられていません。
そういった非標準サービスは、あるプログラムが
.Dq tcpmux
well-known ポートに接続してそのサービス名を指定したとき、
.Nm
によって起動されます。
この機能はローカルに開発されたサーバを追加するときに
便利です。
TCPMUX リクエストが受理されるのは、
TCPMUX ベースのサーバに至るまでにおいて、
マルチプレクササービス自身が有効にされているときのみです。
後述の内部サービスに関する議論を参照してください。
.Pp
.Em サービス名
のエントリには、
.Pa /etc/services
ファイルに記述されているサービス名が記述されます。
.Dq 内部
サービス (後述) については、
名前としてそのサービスのオフィシャル名
(すなわち
.Pa /etc/services
内の最初のエントリ)を指定
.Em しなければなりません。
.No Tn "ONC RPC"
ベースのサービスを指定するためには、このフィールドは
.Pa /etc/rpc
に書かれた有効な RPC サービス名でなければなりません。
.Dq /
の右の部分が RPC のバージョン番号です。バージョン番号は、
数字もしくは、バージョンの幅(レンジ)で指定します。
幅を指定する場合は低い番号から高い番号を指定します。たとえば
.Dq rusers/1-3
のように記述します。
TCPMUX サービスでは、
.Em サービス名
のフィールドは、文字列
.Dq tcpmux
、スラッシュ、そしてローカルに選ばれたサービス名から
なります。
.Pa /etc/services
に書かれたサービス名と
.Dq help
は予約済であり、ローカルなサービス名には使用できません。
TCPMUX サービスのためにユニークな名前をつけるには、
頭に組織名をつけ、末尾にバージョン番号をつけるとよいでしょう。
.Pp
.Em ソケットタイプ
のエントリは、
.Dq stream ,
.Dq dgram ,
.Dq raw ,
.Dq rdm ,
.Dq seqpacket
のいずれかである必要があります。それぞれ、ソケットが
stream,
datagram,
raw,
reliably delivered message,
sequenced packet socket
である場合に対応しています。
TCPMUX サービスは
.Dq stream
を使わなければなりません。
.Pp
.Em プロトコル
のエントリには、
.Pa /etc/protocols
に記述されている有効なプロトコル名が記述されます。
例えば
.Dq tcp
.Dq udp
などです。
サービスが T/TCP 経由で到達可能とするためには、
.Dq tcp/ttcp
を指定する必要があります。
RPC ベースのサービスの場合、
.Dq rpc/tcp
.Dq rpc/udp
のような指定になります。
TCPMUX サービスは
.Dq tcp
を使わなければなりません。
.Pp
.Em wait/nowait
エントリは、
.Nm
によって起動されたサーバがサービスアクセスポイントに
関連付けられたソケットを引き継ぐかどうか、すなわちサーバが終了するまで
.Nm
が新しいサービス要求を監視するのを待つ必要があるか否かを
指定します。
datagram サーバは、特定のサービスアドレスと結び付いた
datagram ソケットで毎回起動されるため、
.Dq wait
を使わなければなりません。こういったサーバは、終了する前に少なくとも
1 データグラムをソケットから読まなければなりません。
もし datagram サーバが相手に接続したときソケットを
開放するなら、
.Nm
はソケットに対するメッセージをさらに受けることができます。
このようなサーバは
.Dq マルチスレッド
サーバと呼ばれます。
サーバはソケットから datagram を 1 つ読み込み、相手に接続する新しい
ソケットをつくります。
サーバは fork() を行い、親プロセス側は終了なければいけません。
これにより
.Nm
は新しいサービス要求をチェックし、新しいサーバを起動することが
できるようになります。
入って来る全ての datagram を処理し、
時間切れまで動作する datagram サーバは、
.Dq シングルスレッド
サーバと呼ばれます。
.Xr comsat 8 ,
.Pq Xr biff 1 ,
.Xr talkd 8
は後者のタイプの datagram サーバの例です。
.Xr tftpd 8
はマルチスレッドで動く datagram サーバの例です。
.Pp
stream ソケットを使うサーバは一般にマルチスレッドで動き
.Dq nowait
エントリを使います。
こういったサーバへの接続要求は
.Nm
で受け付けられ、新たに受理し、クライアントにつながった
ソケットのみがサーバに与えられます。
多くの stream ベースのサービスはこのように行われます。
.Dq wait
エントリを使う stream ベースのサーバは、
サービスのソケットを監視し、少なくとも 1 つの接続要求を受け入れてから
終了しなければなりません。
そういったサーバは通常、時間切れとなるまで、入って来る要求を
受け付け処理します。
TCPMUX サービスは
.Dq nowait
を使わなければなりません。
.Pp
``nowait'' サービスの子プロセス(あるいは ``スレッド'')の最大数は、
``nowait'' キーワードの後に ``/'' と数字を付け加えることで指定できます。
通常(あるいはゼロが指定された場合)、子プロセスの数に制限はありません。
一方、最大数に達すると、それ以降の接続要求は、存在する子プロセスが終了するまで
待ち行列に蓄えられます。これは、``wait'' モードでも同様ですが、通常は
1 (デフォルトの値)以外は意味がありません。
指定した IP アドレスからの 1 分あたりの最大接続数を指定することも可能です。
この場合、``/'' および最大子プロセス数を指定します。
最大値に達っした場合、指定した IP アドレスからの接続は、
この 1 分が経過するまで、落とされます。
.Pp
.Em ユーザ名
エントリには、サーバを実行するユーザ名を書きます。
これによりサーバを root よりも低い権限で実行できます。
オプションの
.Em グループ名
部分は ``:'' で分けられ、
このユーザのデフォルトグループ以外のグループ名を指定可能です。
オプションの
.Em ログインクラス名
部分は ``/'' で分けられ、
デフォルトの ``daemon'' 以外のログインクラス名を指定可能です。
.Pp
.Em サーバプログラム名
のエントリには、ソケットに要求があったとき
.Nm
が起動し、当該エントリのサービスを提供する
サーバプログラムのパス名を指定します。
.Nm
内にすでに実装されているサービスを提供する場合には、サーバプログラムとして
.Dq internal
を指定します。
.Pp
.Em サーバプログラム引数
のエントリは、サーバを起動する際の引数を、サーバプログラムの起動文字列
である argv[0] を含めて記述します。
.Nm
内に実装されているサービスを提供する場合には、サーバプログラム引数
として
.Dq internal
を指定します。
.Pp
.Nm
は、内蔵ルーチンを用いて簡単なサービスを自身で提供します。
これらのサービスとは
.Dq echo ,
.Dq discard ,
.Dq chargen
(文字生成),
.Dq daytime
(人間が読む形式で時間を出力します),
.Dq time
(機械可読形式の時間。1900 年 1 月 1 日 0 時からの経過秒数を出力します)
です。
これらのサービスは TCP と UDP バージョンのいずれでも利用できます。
UDP バージョンは返事のポートとして内部サービスに相当するポートを
要求されたとき、サービスを拒否します。
(これはループ攻撃に対する防護です。リモート IP アドレスは記録されます。)
これらのサービスの詳細については適当な
.Tn RFC
ドキュメントを参照して下さい。
.Pp
TCPMUX のデマルチプレクスサービスもまた内部サービスとして実装されています。
TCPMUX ベースのサービスを動作させるためには、以下の行を
.Pa inetd.conf
に含む必要があります:
.Bd -literal -offset indent
tcpmux stream tcp nowait root internal
.Ed
.Pp
.Fl l
オプションが指定された場合、
.Nm
は、
.Xr accept 2
が終了した時点で、選択されたサービスと要求を発したリモートの IP 番号を
syslog に記録します。
.Pp
.Dv SIGHUP
を受けとると、
.Nm
は、設定ファイルを再度読み込みます。設定ファイルを
再読み込みするとき、サービスを追加、削除、変更できます。
デバッグモードで起動された場合をのぞき、
.Nm
は再設定を容易にするために、プロセス ID を
.Pa /var/run/inetd.pid
に記録します。
.Sh TCPMUX
.Pp
.Tn RFC 1078
は TCPMUX プロトコルについて述べています。
「 TCP クライアントは他のホストに TCP ポート番号 1 で接続します。
クライアントは、サービス名に<CRLF>を付加して送ります。
サービス名は大文字/小文字を区別しません。
サーバは、肯定(+)もしくは否定(\-)を表す 1 文字を返します。
+ あるいは \- のすぐ後にメッセージが続く場合があります。
返答は <CRLF> で終わります。もし返答が肯定で
あれば、選択されたプロトコルが開始されます。
そうでなければ接続は切られます。」
プログラムにはファイルディスクプリタ 0 と 1 で TCP コネクションが
渡されます。
.Pp
TCPMUX サービス名が ``+'' で始まっているとき、
.Nm
は、プログラムに肯定返答(+)を返します。
これによって、
特別なサーバコードを追加することなく
標準入出力を使うプログラムを起動することができます。
.Pp
特別なサービス名である
.Dq help
により、
.Nm
.Pa inetd.conf
にある TCPMUX サービスの一覧を出力します。
.Sh 関連ファイル
.Bl -tag -width /var/run/inetd.pid -compact
.It Pa /etc/inetd.conf
設定ファイル
.It Pa /etc/rpc
サービス名を RPC プログラム番号に変換するテーブル
.It Pa /etc/services
サービス名をポート番号に変換するテーブル
.It Pa /var/run/inetd.pid
現在実行中の
.Nm
の pid
.El
.Sh 使用例
.Pp
次に、いくつかのサービスについて
サービスエントリの
例を挙げておきます。
.Bd -literal
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
ntalk dgram udp wait root /usr/libexec/ntalkd ntalkd
tcpmux/+date stream tcp nowait guest /bin/date date
tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook
rstatd/1-3 dgram rpc/udp wait root /usr/libexec/rpc.rstatd rpc.rstatd
.Ed
.Sh エラーメッセージ
.Nm
サーバは、
.Xr syslog 3
を使ってエラーメッセージを記録します。
重要なエラーメッセージと
その説明は以下の通りです。
.Pp
.Bl -ohang -compact
.It Xo
.Ar service Ns / Ns Ar protocol
.No " server failing (looping), service terminated."
.Xc
直前の 1 分間に、そのサービスについての要求数が制限に達しました。
不完全なプログラムや悪意のあるユーザがシステムを
ハングアップさせないために、このような制限が設けられています。
このメッセージが出力される理由はいくつかあります。
.Bl -enum -offset indent
.It
短時間の間に多くのホストがこのサービスを要求している。
.It
不完全なクライアントプログラムがサービスを
頻繁に要求しすぎている。
.It
悪意あるユーザがあるプログラムを起動し、
サービスが '拒否' されるように攻撃している。
.It
起動されたサービスプログラムにエラーがあり、
クライアントがすぐにリトライを起こしてしまう。
.El
.Pp
.Fl R Ar rate
オプションを使うと、制限を変えることができます。
制限に達したとき、10 分経つとサービスは自動的に
再許可されます。
.Pp
.It Xo
.Ar service Ns / Ns Ar protocol :
.No \&No such user
.Ar user ,
.No service ignored
.Xc
.It Xo
.Ar service Ns / Ns Ar protocol :
.No getpwnam :
.Ar user :
.No \&No such user
.Xc
.Xr passwd 5
データベースに
.Ar user
のエントリーがありません。
最初のメッセージは
.Nm
が設定ファイルを(再度)読み込むときに出されます。
2 つ目のメッセージは、サービスが呼び出されたときに
出されます。
.Pp
.It Xo
.Ar service :
.No can't set uid
.Ar uid
.Xc
.It Xo
.Ar service :
.No can't set gid
.Ar gid
.Xc
.Ar user
フィールドのユーザ ID もしくは グループ IDが
無効です。
.Pp
.It "setsockopt(SO_PRIVSTATE): Operation not supported"
.Nm
はそのソケットに設定されている特権状態を放棄しようとしましたが、
失敗しました。
.El
.Sh 関連項目
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr rpc 5 ,
.Xr services 5 ,
.Xr comsat 8 ,
.Xr fingerd 8 ,
.Xr ftpd 8 ,
.Xr portmap 8 ,
.Xr rexecd 8 ,
.Xr rlogind 8 ,
.Xr rshd 8 ,
.Xr telnetd 8 ,
.Xr tftpd 8 ,
.Sh 歴史
.Nm
コマンドは
.Bx 4.3
から登場しました。
TCPMUX は Mark Lottor によるコードとドキュメントを元にしています。
.Tn "ONC RPC"
ベースのサービスのサポートは、
.Tn SunOS
4.1
が供給されてから、
それにならって作られました。
diff --git a/ja/man/man8/init.8 b/ja/man/man8/init.8
index da9d3f11e8..0fbb00d6cd 100644
--- a/ja/man/man8/init.8
+++ b/ja/man/man8/init.8
@@ -1,316 +1,316 @@
.\" Copyright (c) 1980, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Donn Seeley at Berkeley Software Design, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)init.8 8.3 (Berkeley) 4/18/94
-.\" %Id: init.8,v 1.4.2.5 1998/07/17 20:13:23 jkh Exp %
+.\" %Id: init.8,v 1.12 1998/07/06 06:56:07 charnier Exp %
.\" jpman %Id: init.8,v 1.2 1997/05/27 08:12:44 yugawa Stab %
.\"
.Dd April 18, 1994
.Dt INIT 8
.Os BSD 4
.Sh 名称
.Nm init
.Nd プロセス制御の初期化を行う
.Sh 書式
.Nm init
.Sh 解説
.Nm
はブート処理の最後に起動されます。
.Nm
は通常、
.Xr reboot 8
で説明されている自動リブートシーケンスを実行します。それが成功すると、
システムはマルチユーザモードになります。
リブートスクリプトの実行に失敗すると、
.Nm
はスーパユーザが使うシェルを起動してシングルユーザモードを
開始させます。
.Nm
プログラムは、ブートプログラムからのパラメータの指示を受けて、マルチユー
ザモードに移行せず、一般のデーモンを起動することなくシングルユーザモードの
シェルを起動させることができます。
その場合、システムはメンテナンスのためのモードになり、
シェルを抜ける (^D を入力する)ことで
シングルユーザモードからマルチユーザモードになります。
これによって、
.Nm
.Pa /etc/rc
をファストブートモード(ディスクチェック省略)で実行します。
.Pp
もし
.Xr ttys 5
ファイルの
.Em console
のエントリが
``insecure'' にマークされていた場合には、
.Nm
はシングルユーザモードのシェルを起動する前に、スーパユーザのパスワードを
要求します。
パスワードチェックは、
.Em console
が ``secure'' にマークされていればスキップされます。
.Pp
カーネルは 4 種類のセキュリティレベルで走行します。どのスーパーユーザ
プロセスもセキュリティレベルを上げることができますが、レベルを下げることが
できるのは
.Nm
だけです。セキュリティレベルは以下のように定義されます:
.Bl -tag -width flag
.It Ic -1
常に危険なモード \- システムは常にレベル 0 モードで走行します。
これは初期値のデフォルトです。
.It Ic 0
危険なモード \- 変更不可(immutable)フラグや追加のみ(append-only)フラグは
無効にされます。
全てのデバイスは、そのパーミッションに従って読み書きされます。
.It Ic 1
安全なモード \- 変更不可フラグや追加のみのフラグは変更されません。
マウントされたファイルシステムのディスクおよび
.Pa /dev/mem
.Pa /dev/kmem
は read-only となります。
.It Ic 2
安全度の高いモード \- レベル 1 のモードの効果に加え、ディスクは
マウントさていようといまいと、(
.Xr mount 2
を除き) 常に read-only となります。
このレベルは、ファイルシステムをアンマウントして変更を加えることを不可能に
します。また、システムがマルチユーザで走行中に
.Xr newfs 8
を実行することも出来なくなります。
.El
.Pp
初期のセキュリティレベルが -1 だった場合、
.Nm
はセキュリティレベルを変更しません。
それ以外の場合、シングルユーザモードではレベル 0 で、マルチユーザモードでは
レベル 1 で、システムは動作します。マルチユーザモードにおいてレベル 2 で
システムを走らせたい場合は、シングルユーザの状態の間に、つまり、
.Pa /etc/rc
の中で
.Xr sysctl 8
を使って、変数
.Dq kern.securelevel
に必要なセキュリティレベルの値を設定します。
.Pp
マルチユーザモードの場合、
.Nm
.Xr ttys 5
ファイルで指示された端末ポートのためのプロセスを管理します。
.Nm
はこのファイルを読み込み、2 番目のフィールドに指示されたコマンドを
実行します。
そのコマンドは通常、
.Xr getty 8
で、
.Nm getty
はtty をオープン、初期化し、
.Xr login 1
プログラムを実行します。
.Nm login
プログラムは、ユーザがログインするとシェルを起動します。ユーザが
ログアウトするか異常終了するなどして、そのシェルが終了すると、
.Nm
プログラムが起こされ、
.Xr utmp 5
ファイルからユーザを消し、
.Xr wtmp 5
ファイルにログアウトを記録します。
このサイクルは、
.Nm
プログラムがその端末に新しい
.Nm getty
を実行することで繰り返されます。
.Pp
ラインの状態 (on, off, secure, getty, ウインドウの情報) は、
.Xr ttys 5
ファイルを書き換えて
.Dq Li "kill -HUP 1"
によってシグナル
.Dv SIGHUP
.Nm
に送ることで、リブートせずに変更できます。
このシグナルを受け取ると
.Nm
.Xr ttys 5
ファイルを再度読み込みます。
.Xr ttys 5
でラインがオフにされると、
.Nm
はそのラインに関係するセッションの制御プロセスに SIGHUP シグナルを送ります。
オフであったラインが
.Xr ttys 5
ファイルでオンにされると、
.Nm
は新しい
.Nm getty
を起動して、新しいログインを可能にします。
ラインの getty やウインドウフィールドが変更された場合、その変更は現在
のログインセッションが終了するまで有効にはなりません。
(例えば、
.Nm
によって新しいプロセスが起動されるまで有効にならない。)
.Xr ttys 5
中のあるラインをコメントアウトあるいは削除した場合は、
.Nm
はそのラインに関しては何も実行しません。
しかしこの場合、
.Xr ttys 5
ファイルと
.Xr utmp 5
ファイル内の記録情報が一致しなくなるため、試すことはお勧めしません。
.Pp
.Dq Li "kill \-TERM 1"
などによって terminate シグナル
.Pq Dv TERM
を受けると、
.Nm
はマルチユーザモードを終了し、シングルユーザモードに復帰します。
ハードウェアまたはソフトウェアの問題でデッドロックしたプロセスがある場合、
.Xr init
はすべてのプロセスの終了を待たず(これは無限に終らないかも知れません)、
30 秒間でタイムアウトして警告のメッセージを出力します。
.Pp
terminal stop シグナル
.Pq Dv TSTP
を送ると(
.Dq Li "kill \-TSTP 1"
)、
.Nm
は新しい
.Xr getty
を起動するのをやめ、徐々にシステム停止可能な状態にします。
その後、hangup シグナルで完全なマルチユーザモードに戻り、terminate シグナル
でシングルユーザモードに移ります。
この hook は
.Xr reboot 8
.Xr halt 8
で使われています。
.Pp
interrupt シグナル
.Pq Dv INT
を送ると(
.Dq Li "kill \-INT 1"
)、
.Nm
はすべてのプロセスを(デッドロックプロセスを待たずに)終了させ、
リブートを実行します。
この操作は、マシンがハングした時に、カーネルの中から、あるいは、X から、
システムを安全にシャットダウンするのに便利です。
.Pp
マシンをシャットダウンする時、
.Nm
.Pa /etc/rc.shutdown
スクリプトを実行しようとします。
このスクリプトは
.Nm innd
(インターネットニュースサーバ)
のような特定のプログラムを綺麗に終了させるために使用可能です。
.Pp
.Nm
の役割は非常に重要で、もし
.Nm
が死ぬとシステムが自動的にリブートされます。
もしブート時に
.Nm
プログラムを見つけられなければ、システムは以下のようなメッセージを出力
して panic で終了します。
``panic: init died (signal %d, exit %d)''
.Sh 診断
.Bl -diag
.It "getty repeating too quickly on port %s, sleeping"
ラインにサービスを提供するプロセスが、起動されるたびにすぐ終了してしまう。
これは、端末ラインに着信があるかノイズが大きい場合にしばしば起こります。
.Em "init は 10 秒間スリープし、"
.Em "その後、プロセスを開始させようとし続けます。"
.Pp
.It "some processes would not die; ps axl advised."
シャットダウンの際、ハングしていて終了させられないプロセスがあります。
この状態は、通常、デバイスに異常があるときにデバイスドライバではり付い
てしまうことにより起こります。
.El
.Sh 関連ファイル
.Bl -tag -width /var/log/wtmp -compact
.It Pa /dev/console
システムのコンソールデバイス
.It Pa /dev/tty*
.Xr ttys 5
内にある端末ポート
.It Pa /var/run/utmp
現在ログインしているのユーザの情報
.It Pa /var/log/wtmp
すべてのログイン・ログアウトの情報
.It Pa /etc/ttys
端末の初期化情報が書かれたファイル
.It Pa /etc/rc
システム立ち上げ用スクリプト
.It Pa /etc/rc.shutdown
システムシャットダウン用スクリプト
.El
.Sh 関連項目
.Xr kill 1 ,
.Xr login 1 ,
.Xr sh 1 ,
.Xr ttys 5 ,
.Xr crash 8 ,
.Xr getty 8 ,
.Xr halt 8 ,
.Xr rc 8 ,
.Xr reboot 8 ,
.Xr shutdown 8,
.Xr sysctl 8
.Sh 歴史
.Nm
コマンドは
.At v6
から登場しました。
.Sh 注意
.Xr sysctl
を持たないシステムは、セキュリティレベル \-1 で動作します。
.Pp
ブートシーケンスにおいて、セキュリティレベルを 2 に設定するのがあまり
にも早すぎると、
.Xr fsck 8
が一貫性のないファイルシステムを補修することを妨げてしまう可能性が
あります。セキュリティレベル設定を行う場所として適切なところは、
全てのマルチユーザ立ち上げ処理が完了した後である、
.Pa /etc/rc
の末尾です。
diff --git a/ja/man/man8/intro.8 b/ja/man/man8/intro.8
index c32033fab8..940626668b 100644
--- a/ja/man/man8/intro.8
+++ b/ja/man/man8/intro.8
@@ -1,70 +1,70 @@
.\" 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.
.\"
.\" @(#)intro.8 8.2 (Berkeley) 12/11/93
+.\" %Id: intro.8,v 1.2 1997/03/07 03:28:20 jmg Exp %
.\" jpman %Id: intro.8,v 1.3 1997/08/20 12:01:36 horikawa Stab %
-.\" %Id: intro.8,v 1.1.1.1.8.1 1997/03/07 04:18:27 mpp Exp %
.\"
.Dd December 11, 1993
.Dt INTRO 8
.Os BSD 4.2
.Sh 名称
.Nm intro
.Nd システムメンテナンスおよび操作コマンドの紹介
.Sh 解説
本セクションにはシステムの操作とメンテナンスに関連した情報が記載されています。
新しいファイルシステムを作成する時に使用する
.Ql Xr newfs ,
ファイルシステムの整合性をチェックする
.Ql Xr fsck ,
ディスクの使用を制限するための
.Ql Xr edquota ,
システムのバックアップを行なう
.Ql Xr dump ,
ディスクの内容が壊れた時にファイルをリカバーする
.Ql Xr restore
について解説されています。
ディスクやテープをフォーマットする場合には、
そのシステムが運用されている特定のアーキテクチャ用の
.Ql Xr format
のマニュアルを参照する必要があります。
.Ql Xr inetd
.Ql Xr ftpd
のようなネットワークに関連したサービスについても解説されています。
システムのクラッシュダンプをどのように解析するかについて理解するには
.Ql Xr crash
のセクションを参照する必要があります。
.Sh 歴史
.Nm intro
セクションのマニュアルページは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man8/ipfw.8 b/ja/man/man8/ipfw.8
index fcb4c37871..c5c067a527 100644
--- a/ja/man/man8/ipfw.8
+++ b/ja/man/man8/ipfw.8
@@ -1,516 +1,557 @@
.Dd July 20, 1996
.\" jpman %Id: ipfw.8,v 1.4 1997/05/19 17:19:51 horikawa Stab %
.Dt IPFW 8 SMM
.Os FreeBSD
.Sh 名称
.Nm ipfw
.Nd IPファイアウォール制御ユーティリィティ
.Sh 書式
.Nm ipfw
.Oo
.Fl q
.Oc
-.Ar file
+file
.Nm ipfw
.Oo
.Fl f
|
.Fl q
.Oc
flush
.Nm ipfw
.Oo
.Fl q
.Oc
zero
.Op Ar number ...
.Nm ipfw
delete
.Ar number ...
.Nm ipfw
.Op Fl aftN
list
.Op Ar number ...
.Nm ipfw
.Oo
.Fl ftN
.Oc
show
.Op Ar number ...
.Nm ipfw
.Oo
.Fl q
.Oc
add
.Op Ar number
.Ar action
.Op log
.Ar proto
from
.Ar src
to
.Ar dst
.Op via Ar name | ipno
.Op Ar options
.Sh 解説
書式の 1 行目のようにファイル名を指定した場合は、
.Ar file
を 1 行ずつ、引数として読み込みます。
.Pp
.Nm
はパケットごとに、マッチするルールが見つかるまでルールリストを調べます。
各ルールにはパケット数とパケットサイズの 2 つのカウンタが用意されていて、
パケットがマッチするとカウンタ値は更新されます。
.Pp
全ルールは 1 から 65534 の範囲の行番号で順序付けられます。この番号によって
ルールの並べ変えと削除を行ないます。
ルールのマッチングは昇順で行なわれ、最初にマッチしたものが適用されます。
複数のルールが同じ番号を共有することも可能です。この場合はルールが追加された
順序でマッチングが行なわれます。
.Pp
番号を指定せずにルールを追加した場合は、直前のルールの番号に 100 を加えたものと
なります。
-ルールの番号が 65434 より大きい場合は、新しいルールは最後のルールに追加されます
+ルールの番号が 65534 より大きい場合は、新しいルールは最後のルールに追加されます
.Pp
delete 操作は
.Ar number
で指定された番号を持つ最初のルールを、もし有れば、削除します。
.Pp
list 操作は現在のルール一覧を出力します。
.Pp
show 操作は `ipfw -a list' と同じ結果を出力します。
.Pp
zero 操作は
.Ar number
で指定された番号を持つルールのカウンタをクリアします。
.Pp
flush 操作は全ルールを削除します。
.Pp
記号 `#' で始まる行および空行は無視されます。
.Pp
どんな場合でも次のルールは存在します:
.Bd -literal -offset center
65535 deny all from any to any
.Ed
.Pp
全パケットを拒否するのがデフォルトのポリシーです。
これを修正し、必要なルールを設定して下さい。
.Pp
+しかしながら、カーネルオプション
+.Dq IPFIREWALL_DEFAULT_TO_ACCEPT
+が有効な場合、ルールは次のようになります:
+.Bd -literal -offset center
+65535 allow all from any to any
+.Ed
+.Pp
+このバリエーションでは全てが通過可能です。
+このオプションを有効にしてよいのは特定の状況だけであり、
+例えば通常は解放しており、
+必要に応じてサービス拒否 (denial-of-service) フィルタとなる
+ファイアウォールシステムを使用する場合がこれに該当します。
+.Pp
オプションは以下のものが利用可能です。
.Bl -tag -width flag
.It Fl a
list 操作の時、カウンタの値を表示します。
show の項を参照のこと。
.It Fl f
操作を実行する際に確認メッセージを表示しません。
flush 操作も無条件に実行されます。
.Ar (注意)
プロセスに tty が関連付けられていない場合には、
このオプションが指定されているものとして実行されます。
.It Fl q
ルールを add, zero, flush する際に、メッセージの出力を抑制します (
.Fl -f
も含まれます)。
このオプションは、リモートログインセッションでルールを調整する際に、
(例えば sh /etc/rc.firewall のようにして)スクリプトの中から複数の ipfw コマンド
実行する場合や、
多数の ipfw ルールを記述したファイルを用いる場合に
便利です。
-flush 操作が通常の(冗舌な)状態で実行されると、メッセージが出力されます。
+flush 操作が通常の(冗舌な)状態(デフォルトのカーネルの設定)
+で実行されると、メッセージが出力されます。
ここで、すべてのルールは削除されるので、メッセージをログインセッションに
送ることができず、ログインセッションがクローズされてしまうので、
残りのルールセットは実行されません。
この状態を修復するにはコンソールへのアクセスが必要となります。
.It Fl t
list 操作の時に、最後にマッチしたパケットのタイムスタンプを表示します。
.It Fl N
IPアドレスとサービス名をリゾルブしてホスト名で表示します。
.El
.Pp
.Ar action :
.Bl -hang -offset flag -width 1234567890123456
.It Ar allow
マッチするパケットを通過させ、マッチングを終了します。
.Ar pass ,
.Ar permit ,
.Ar accept
と同じです。
.It Ar deny
マッチするパケットを破棄し、マッチングを終了します。
.Ar drop
.Ar deny
と同じです。
.It Ar reject
(パケットを送らないよう嘆願) マッチするパケットを破棄し、
ICMP の host unreachable を送信して、終了します。
.It Ar unreach code
パケットを破棄し、ICMP の unreachable に
.Ar code
を付けて送信します。
.Ar code
は、 0 から 256 までの数字、もしくは、以下に列挙する別名のいずれかです:
.Ar net,
.Ar host ,
.Ar protocol ,
.Ar port ,
.Ar needfrag ,
.Ar srcfail ,
.Ar net-unknown ,
.Ar host-unknown ,
.Ar isolated ,
.Ar net-prohib ,
.Ar host-prohib ,
.Ar tosnet ,
.Ar toshost ,
.Ar filter-prohib ,
.Ar host-precedence ,
.Ar precedence-cutoff
。送信後、終了します。
.It Ar reset
TCP パケットのみに対応。
パケットを破棄し、TCP の (RST) を送信し、終了します。
.It Ar count
マッチするパケットのカウンタを更新し、引続きマッチングを行ないます。
.It Ar divert port
マッチするパケットを
.Ar port
で指定されたポートにバインドされている
.Xr divert 4
ソケットに送り、マッチングを終了します。
.It Ar tee port
マッチするパケットのコピーを
.Ar port
で指定されたポートにバインドされている
.Xr divert 4
ソケットに送り、引続きマッチングを行ないます。
+この機能は未実装です。
+.It Ar fwd ipaddr Op ,port
+マッチしたパケットの次のホップを
+.Ar ipaddr
+に変更します。これはドット付き 4 つ組の IP アドレスでもホスト名でもよいです。
+.Ar ipaddr
+が直接到達可能なアドレスではない場合、その IP に対して
+ローカルルーティングテーブルでみつかる経路を使用します。
+.Ar ipaddr
+がローカルアドレスの場合、
+リモートホストからこのシステムにパケットが到着すると、
+そのパケットをローカルマシンの
+.Ar port
+に転換します。
+その際、
+ソケットのローカルアドレスは、
+パケットの元々の宛先の IP アドレスのままとします。
+これは透過的プロキシサーバのためにあります。
+IP が ローカルアドレスではない場合、ポート番号は (指定されていても) 無視され、
+ルールはシステムから出て行くパケットに対してのみ適用されます。
+また、」
+パケットローカルに生成された時にもアドレスをローカルポートにマップします。
+検索はルールがマッチしたときに終了します。
+ポート番号が与えられなかった場合、パケット中のポート番号が使用され、
+外部マシンのポート Y へのパケットは ローカルポート Y へ転送されます。
+カーネルは、
+オプション IPFIREWALL_FORWARD 付きでコンパイルされている必要があります。
.It Ar skipto number
.Ar number
より小さな番号のルールを飛び越して、
.Ar number
以上の番号のルールで最初に存在するものから、マッチングを継続します。
.El
.Pp
パケットが
.Ar divert
.Ar tee
のどちらかひとつ以上、もしくは両方の組合せの、複数のルールにマッチした場合、
最後のものを除き、無視します。
.Pp
カーネルが
.Dv IPFIREWALL_VERBOSE
オプション付きでコンパイルされている場合に、``log'' が指定されているルールと
マッチした時は、メッセージをコンソールに表示します。
もし、
.Dv IPFIREWALL_VERBOSE_LIMIT
オプション付きでコンパイルされている場合、一連のルールに対し指定されたパケット
数を受信した後、メッセージの表示を中止します。
パケットのカウンタをクリアすれば再びメッセージを出力します。
.Pp
コンソールへの表示とその制限数は、
.Xr sysctl 8
を通し、直接設定できます。
.Pp
.Ar proto :
.Bl -hang -offset flag -width 1234567890123456
.It Ar ip
全パケットがマッチします。別名
.Ar all
も使えます。
.It Ar tcp
TCP パケットのみマッチします。
.It Ar udp
UDP パケットのみマッチします。
.It Ar icmp
ICMP パケットのみマッチします。
.It Ar <number|name>
指定されたプロトコルのパケットのみマッチします (
.Pa /etc/protocols
のリストを参照の事)
.El
.Pp
.Ar src
.Ar dst :
.Pp
.Bl -hang -offset flag
.It Ar <address/mask>
.Op Ar ports
.El
.Pp
.Em <address/mask>
は以下のように指定できます。
.Bl -hang -offset flag -width 1234567890123456
.It Ar ipno
IP番号を 1.2.3.4 の形式で指定します。指定されたアドレスのみがマッチします。
.It Ar ipno/bits
IP番号とネットマスクの幅を 1.2.3.4/24 の形式で指定します。
この場合は 1.2.3.0 から 1.2.3.255 のアドレスがマッチします。
.It Ar ipno:mask
IP番号とネットマスクの幅を 1.2.3.4:255.255.240.0 の形式で指定します。
この場合は 1.2.0.0 から 1.2.15.255 のアドレスがマッチします。
.El
.Pp
アドレスの前に ``not'' を付けることによって、マッチの意味を反転させる
ことができます(指定されたアドレス以外の総てのアドレスがマッチします)。
これはポート番号には影響しません。
.Pp
TCP と UDP ではさらに、
.Em ports
を以下のように指定できます。
.Pp
.Bl -hang -offset flag
.It Ns {port|port-port} Ns Op ,port Ns Op ,...
.El
.Pp
ポート番号の代わりに(ファイル
.Pa /etc/services
から取った)サービス名を使用できます。
port-port の書式で、最初の値に限り範囲指定できます。
列挙出来るポート数は
.Pa /usr/src/sys/netinet/ip_fw.h
.Dv IP_FW_MAX_PORTS
として定義されています。
.Pp
断片化されたパケットでオフセットが非 0 のもの
(すなわち、最初の断片ではないもの) は、
一つ以上のポート仕様を持つルールにはマッチしません。?
断片化されたパケットへのマッチングに関する詳細は
.Ar frag
オプションを参照してください。
.Pp
マッチングのルールは、入ってくるパケットか、出ていくパケット、もしくはその両方
に対し適応されます。
.Ar in
を指定すれば、入ってくるパケットのみにルールを適応します。
.Ar out
を指定すれば、出ていくパケットのみに適応します。
.Pp
特定のインタフェースを通過するパケットには、
.Ar via
を用いてインタフェースを指定します:
.Bl -hang -offset flag -width 1234567890123456
.It Ar via ifX
.Ar ifX
を通過するパケットを指定します。
.It Ar via if*
.Ar ifX
を通過するパケットを指定します。X はいずれかのユニットの番号です。
.It Ar via any
.Em いずれか
のインタフェースを通過するパケットを指定します。
.It Ar via ipno
IP アドレスが
.Ar ipno
のインタフェースを通過するパケットを指定します。
.El
.Pp
.Ar via
を用いると、常時指定されたインタフェースがチェックされます。
.Ar recv
.Ar xmit
を、
.Ar via
の代わりに指定すると、
受信、もしくは送信インタフェースのみが(各々に)チェックされます。
両方を指定すれば、
受信と送信の両方のインタフェースを通るパケットを指定できます。
例 :
.Pp
.Dl "ipfw add 100 deny ip from any to any out recv ed0 xmit ed1"
.Pp
.Ar recv
で指定したインタフェースでは、受信と送信、両方のパケットをチェックできます。
それに対し、
.Ar xmit
で指定したインタフェースでは、送信パケットのみとなります。
それゆえに、
.Ar xmit
を指定すると
.Ar out
が、必須です(
.Ar in
は不可)。
.Ar via
と共に
.Ar xmit
もしくは、
.Ar recv
を指定する事はできません。
.Pp
個々のパケットは、受信用ないし送信用インタフェースを持たないかもしれません。
ローカルホストで発生したパケットには受信用のインタフェースはないし、
ローカルホスト内宛のパケットは、送信用インタフェースが有りません。
.Pp
追加用
.Ar options :
.Bl -hang -offset flag -width 1234567890123456
.It frag
パケットが断片(フラグメント)化されたデータグラムの一部で、かつデータグラムの
先頭の断片でない場合にマッチします。
.Ar frag
を、
.Ar tcpflags
や TCP/UDP ポート仕様と共に使用することはできません。
.It in
ネットワークから受信したパケットのみマッチします。
.It out
ネットワークへ送信するパケットのみマッチします。
.It ipoptions Ar spec
IP ヘッダが、
.Ar spec
に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。
サポートされている IP オプションは
.Ar ssrr
(strict source route),
.Ar lsrr
(loose source route),
.Ar rr
(record packet route),
.Ar ts
(timestamp) です。
``!'' によって、特定のオプションを含めないよう指定できます。
.It established
RST または ACK ビットがセットされているパケットのみマッチします。
このビットがセットされることがあるのは TCP のパケットのみです。
.It setup
SYN ビットがセットされ ACK がセットされていないパケットのみマッチします。
このビットがセットされることがあるのは TCP のパケットのみです。
.It tcpflags Ar spec
TCP ヘッダが
.Ar spec
に指定されたコンマで区切られたフラグのリストを含む場合にのみマッチします。
サポートされているフラグは、
.Ar fin ,
.Ar syn ,
.Ar rst ,
.Ar psh ,
.Ar ack ,
.Ar urg
です。
``!'' によって、特定のフラグを含めないよう指定できます。
.Ar tcpflags
仕様を含むルールは非 0 のオフセットを持つ断片化されたパケットに
マッチすることはありません。
断片化されたパケットに関するマッチについての詳細は
.Ar frag
オプションを参照してください。
.It icmptypes Ar types
ICMP タイプが
.Ar types
で指定されたリスト中に存在する場合にのみ適用されるルールとなります。
リストはレンジの組み合わせでも、各タイプをコンマで区切ったものでもどちらでも
かまいません。
.El
.Sh チェックリスト
ルールを構成する際に考慮すべき重要な点を述べます。
.Bl -bullet -hang -offset flag
.It
かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。
ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。
.It
テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる
のがよいでしょう。
.It
ループバックインタフェースのことを忘れてはなりません。
.El
.Sh 長所
ファイアウォールが常に破棄するパケットが 1 種類あります。
フラグメントオフセットが 1 のフラグメントパケットです。
これはパケットとしては有効なものですが、利用目的はファイアウォールを
かいくぐることしかありません。
.Pp
ネットワーク越しにログインしている場合、LKM 版の
.Nm
をロードすることはそれほど単純なことではありません。
以下のコマンドを奨めます。
.Bd -literal -offset center
modload /lkm/ipfw_mod.o && \e
ipfw add 32000 allow all from any to any
.Ed
.Pp
これに引続き、同じような状況で
.Bd -literal -offset center
ipfw flush
.Ed
.Pp
とするのは良くありません。
.Sh パケットの行き先変更
指定されたポートを見ているソケットは、そのポートへ行き先変更されたパケットを、
全部受けとります。
.Xr divert 4
を参照して下さい。ポートを見ているソケットがない場合やカーネルがパケットの行き
先変更をサポートするようにはコンパイルされていない場合、パケットは破棄されます
.Sh 使用例
次のコマンドは
-.Em hacker.evil.org
+.Em cracker.evil.org
から
.Em wolf.tambov.su
の telnet ポートへ送られる全ての TCP パケットを拒否するルールを追加します。
.Pp
-.Dl ipfw add deny tcp from hacker.evil.org to wolf.tambov.su 23
+.Dl ipfw add deny tcp from cracker.evil.org to wolf.tambov.su 23
.Pp
次のコマンドはネットワーク hackers からホスト my への全てのコネクションを
拒否します。
.Pp
.Dl ipfw add deny all from 123.45.67.0/24 to my.host.org
.Pp
次はカウントされている情報とタイムスタンプを見る例です
.Pp
.Dl ipfw -at l
.Pp
これはタイムスタンプを省略して次のように指定できます。
.Pp
.Dl ipfw -a l
.Pp
次のルールは 192.168.2.0/24 からの全ての受信パケットを、5000番のポートに
行き先変更するものです。
.Pp
.Dl ipfw divert 5000 all from 192.168.2.0/24 to any in
.Sh 関連項目
+.Xr divert 4 ,
.Xr ip 4 ,
.Xr ipfirewall 4 ,
-.Xr divert 4 ,
.Xr protocols 5 ,
.Xr services 5 ,
.Xr reboot 8 ,
-.Xr syslogd 8 ,
-.Xr sysctl 8
+.Xr sysctl 8 ,
+.Xr syslogd 8
.Sh バグ
.Pp
.Em WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!
.Pp
このプログラムはコンピュータをかなり使いにくい状態にしてしまう可能性があります
はじめて使用する時はコンソール上で実行し、理解していない操作は
.Em 絶対に実行しない
ようにして下さい。
.Pp
連続したエントリの操作もしくは追加に際し、サービス名やプロトコル名は使用できま
せん。
.Pp
入ってきたパケットの断片(フラグメント)が
.Ar divert
によって行き先を変更されると、ソケットに配送される前に、組み立て直しをします。
それに対し、
.Ar tee
を経由した断片(フラグメント)は、組み立て直しされません。
.Pp
ポートの別名でダッシュ (-) を含むものは、リストの最初には書けません。
.Sh 作者
.An Ugen J. S. Antsilevich ,
.An Poul-Henning Kamp ,
.An Alex Nash ,
.An Archie Cobbs .
API は
.An Daniel Boulet
が BSDI 向けに記述したコードに基づいています。
.Sh 歴史
.Nm
は、FreeBSD 2.0 で最初に現れました。
diff --git a/ja/man/man8/ispcvt.8 b/ja/man/man8/ispcvt.8
index 798ef08c45..95e4afcdd2 100644
--- a/ja/man/man8/ispcvt.8
+++ b/ja/man/man8/ispcvt.8
@@ -1,91 +1,91 @@
.\" Copyright (c) 1992, 1995 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.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Hellmuth Michaelis
.\" 4. The name 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 AUTHORS ``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 AUTHORS 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.
.\"
.\" @(#)ispcvt.1, 3.20, Last Edit-Date: [Tue Apr 4 12:35:54 1995]
.\" jpman %Id: ispcvt.8,v 1.3 1997/09/09 04:05:01 yugawa Stab %
.\"
.Dd April 4, 1995
-.Dt ISPCVT 1
+.Dt ISPCVT 8
.Sh 名称
.Nm ispcvt
.Nd 現在のビデオドライバが pcvt ドライバか否かを確認する
.Sh 書式
.Nm ispcvt
.Op Fl c
.Op Fl d Ar device
.Op Fl v
.Sh 解説
.Nm ispcvt
は、カーネルに組み込まれた現在のビデオドライバが
pcvt ドライバか否かを確認する手段を提供します。
ドライバのメジャー及びマイナリリース番号も確認します。
さらに、
.Nm ispcvt
は、現在実行中のカーネルに組み込まれたドライバをコンパイルした時の、
すべてのコンパイル時オプション
.Dq Ar PCVT_XXXXXX
を表示する事も可能です。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl d
チェックを行うデバイスを指定します。
.It Fl v
冗長に表示するよう指定します。
成功すると、名前とリビジョンを報告します。
失敗すると、どの比較に失敗したかを報告します。
.It Fl c
現在実行中のカーネルをコンパイルした時の、
.Dq Ar PCVT_XXXXXX
を #define した値を全て表示します。
.Fl v
.Fl c
を共に指定すると、コンパイル時オプションの冗長な一覧を表示します。
.Sh 戻り値
.Bl -tag -width Ds
.Pp
.It Sy 0
ドライバは pcvt であり、メジャー及びマイナ番号が一致
.It Sy 1
open または ioctl システムコールに失敗
.It Sy 2
ドライバの名前が不一致
.It Sy 3
名称は一致、しかしリリースメジャー番号が不一致
.It Sy 4
名称とメジャー番号は一致、しかしマイナ番号が不一致
.It Sy 5
使用方法の誤り
.El
.Pp
.Sh バグ
既知のものは有りません。
.Sh 関連項目
.Xr pcvt 4
diff --git a/ja/man/man8/joy.8 b/ja/man/man8/joy.8
index c383c27221..98c9f804cc 100644
--- a/ja/man/man8/joy.8
+++ b/ja/man/man8/joy.8
@@ -1,46 +1,46 @@
.\"
.\" Copyright (c) 1996 Jean-Marc Zucconi <jmz@cabri.obs-besancon.fr>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: joy.8,v 1.1.2.1 1998/03/06 05:27:01 jkh Exp %
+.\" %Id: joy.8,v 1.4 1997/02/22 12:48:18 peter Exp %
.\" jpman %Id: joy.8,v 1.3 1997/07/22 16:48:04 horikawa Stab %
.\"
.Dd March 16, 1996
.Dt JOY 8
.Os FreeBSD
.Sh 名称
.Nm joy
.Nd ジョイスティックドライバのカーネルモジュールを読み込む。
.Sh 書式
.Nm joy
.Sh 解説
.Nm
は、ジョイスティックドライバのカーネルモジュールを読み込みます。
.Sh 関連ファイル
.Bl -tag -width /lkm/joy_mod.o
.It Pa /lkm/joy_mod.o
ジョイスティックの読み込み可能カーネルモジュール
.Sh 関連項目
.Xr joy 4 ,
.Xr lkm 4 ,
.Xr modload 8
diff --git a/ja/man/man8/kernbb.8 b/ja/man/man8/kernbb.8
index 780fd37e46..bcccbb4c04 100644
--- a/ja/man/man8/kernbb.8
+++ b/ja/man/man8/kernbb.8
@@ -1,69 +1,69 @@
.\" 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.
.\"
-.\" %Id: kernbb.8,v 1.1.6.4 1998/07/18 11:10:34 jkh Exp %
+.\" %Id: kernbb.8,v 1.7 1997/10/12 11:51:25 max Exp %
.\" jpman %Id: kernbb.8,v 1.3 1997/08/16 13:16:53 horikawa Stab %
.\"
.Dd May 22, 1995
.Dt KERNBB 8
.Os FreeBSD 2.1
.Sh 名称
.Nm kernbb
.Nd カーネルの基本ブロックプロファイルバッファのダンプを生成する
.Sh 書式
.Nm kernbb
.Sh 解説
.Nm kernbb
は、動作中のカーネルの基本ブロックプロファイリングバッファを
ダンプするのに用いられるツールです。
.Pp
動作中のカーネルにおいて、ソースファイルのうちの少なくとも 1 つは
.Fl a
オプション付きでコンパイルされている必要があります。
.Pp
出力形式はアスキーであり、1 行に 1 レコードずつ表示されます。
各レコードは以下のフィールドから成ります: ファイル名、行番号、
手続き名、アドレス、実行回数、基本ブロックのバイト数での長さ、
そして前の 2 つの欄の積です。
.Sh 関連ファイル
.Bl -tag -width /dev/kmemx -compact
.It Pa /kernel
デフォルトのシステム
.It Pa /dev/kmem
デフォルトのメモリ
.El
.Sh 関連項目
.Xr cc 1
.Sh 作者
.Nm
コマンドは
.An Poul-Henning Kamp
がカーネルサポートとともに記述しました。
diff --git a/ja/man/man8/kzip.8 b/ja/man/man8/kzip.8
index a523065b8a..8a0ea405b4 100644
--- a/ja/man/man8/kzip.8
+++ b/ja/man/man8/kzip.8
@@ -1,76 +1,76 @@
.\"
.\" Copyright (c) 1996 David E. O'Brien
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: kzip.8,v 1.1.2.2 1998/07/17 04:18:41 jkh Exp %
+.\" %Id: kzip.8,v 1.5 1998/03/23 07:44:18 charnier Exp %
.\" jpman %Id: kzip.8,v 1.3 1997/08/16 13:18:54 horikawa Stab %
.\"
.Dd August 15, 1996
.Os
.Dt KZIP 8
.Sh 名称
.Nm kzip
.Nd カーネルを圧縮する
.Sh 書式
.Nm kzip
.Op Fl v
.Op Fl l Ar loadaddr
.Sh 解説
このプログラムは、
.Xr gzip 1
を用いてカーネルを圧縮し、ディスク容量を節約します。
メモリ上にロードされた後の、メモリ使用量を減らすわけでは有りません。
シンボル情報は全て失われるので、利用法は限られます。
主な利用目的は、インストールフロッピや fixit フロッピ等のための
カーネルを作成することです。
.Pp
次のオプションが利用可能です:
.Bl -tag -width flag
.It Fl v
詳細出力モード。圧縮後のカーネルが使用するメモリ量を報告します。
そのカーネルが 4MB 境界を越えていないことも確認できます。
.It Fl l Ar loadaddr
カーネルをメモリ上にロードするアドレスを指定します。
.Sh 診断
.Nm
ユーティリティは、与えられた引数が不正の場合、終了コード 1 で終了します。
終了コードが 2 である場合は、
.Nm
がカーネルファイルを読めないか、処理できないことを示しています。
.Sh 関連項目
.Xr gzip 1
.\" .Sh 規格
.Sh 歴史
.Nm
コマンドは
.Fx 2.0.5
から登場しました。
Linux から 386BSD を経て取り込まれました。
Linus Torvalds の tools/build.c がベースになっており、
Serge Vakulenko が 386BSD に移植しました。
.Sh 作者
このマニュアルページは
.An David E. O'Brien
が記述しました。
.\" .Sh バグ
diff --git a/ja/man/man8/ldconfig.8 b/ja/man/man8/ldconfig.8
index 92d4c443f9..af03280fb3 100644
--- a/ja/man/man8/ldconfig.8
+++ b/ja/man/man8/ldconfig.8
@@ -1,161 +1,161 @@
.\"
.\" 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.
.\"
-.\" %Id: ldconfig.8,v 1.9.2.4 1998/03/03 07:00:19 jkh Exp %
+.\" %Id: ldconfig.8,v 1.15 1998/01/01 02:31:47 alex Exp %
.\" jpman %Id: ldconfig.8,v 1.3 1997/07/22 16:49:42 horikawa Stab %
.\"
.Dd October 3, 1993
.Dt LDCONFIG 8
.Os FreeBSD
.Sh 名称
.Nm ldconfig
.Nd 共有ライブラリのキャッシュを設定する
.Sh 書式
.Nm ldconfig
.Op Fl Rmrsv
.Op Fl f Ar hints_file
.Op Ar directory | file Ar ...
.Sh 解説
.Nm
は、実効時リンカ
.Xr ld.so 1
が、複数のディレクトリから利用可能な共有ライブラリを速く捜し出せるよう
につかわれる
.Dq ヒント
の集合を準備するために使われます。
コマンドは、組み込みのシステムディレクトリと
コマンドラインで指定された任意の
.Ar ディレクトリ
(を指定された順番) で共有ライブラリを探し、
その結果を
.Pa /var/run/ld.so.hints
に保存します。
これは、
.Xr ld.so 1
が要求された共有ライブラリを読み込む際のディレクトリ検索操作
オーバヘッドをあらかじめ払っていることになります。
.Pp
コマンドラインにて指定するファイル名は共有ライブラリを検査するディクトリ
を含むことが期待されます。
各ディレクトリのパス名は改行文字から始まる必要があります。
空行およびコメント文字
.Ql \&#
から始まる行は無視されます。
このファイルの標準の名前は、
.Xr /etc/ld.so.conf.
です。
.Pp
共有ライブラリは、実行されようとするプログラムによって必要とされる
ならば、利用可能なものが自動的に読み込まれることになります。
これは、実行形式に検索パスを保存する必要性を無くします。
.Pp
.Ev LD_LIBRARY_PATH
環境変数は、キャッシュから使用するディレクトリ (や、その順序関係) を
上書きしたり、共有ライブラリを探す追加のディレクトリを
指定するために使われます。
.Ev LD_LIBRARY_PATH
は、共有ライブラリを読み込む必要がある時、
.Xr ld.so 1
によって検索されるディレクトリパスのリストを
コロン
.Sq \:
で区切って指定します。
これは、
.Xr ld 1
における
.Fl L
オプションと、実行時点では等価です。
.Pp
.Nm ldconfig
は典型的にはブート時の手続きのひとつとして実行されます。
.Pp
以下のオプションが
.Nm ldconfig
で認識されます。
.Bl -tag -width indent
.It Fl R
以前に設定したディレクトリを再度検索します。
以前作成したヒントファイルをオープンし、
ヘッダからディレクトリリストを取り出します。
コマンドラインに指定したパス名も処理します。
.It Fl f Ar hints_file
.Pa /var/run/ld.so.hints
の変わりに、
特定のヒントファイルを読み込んだり、更新したり、その両方を
行ったりします。
このオプションは、テストのために提供されています。
.It Fl m
ヒントファイルの内容を指定されたディレクトリで見付かったものに
置き換える代わりに、新しいディレクトリの内容を
.Dq 併合 (merge)
します。
以前の
.Nm
の実行によってヒントファイル内に記録されているディレクトリも、
新しい共有ライブラリのために再び検索されます。
.It Fl r
現在のヒントファイルの中身について、標準出力に表示します。
ヒントファイルは変更されません。
ヒントファイル中のディレクトリリストが組み込まれます。
.It Fl s
共有ライブラリのために、システムの組み込みディレクトリ
.Pq Dq /usr/lib
を検索しません。
.It Fl v
冗長モードに切替えます。
.Sh セキュリティ
.Ev セット uid (set-user-Id)
プログラムのアドレス空間に共有ライブラリを読み込む時には、
特別の注意をしなければなりません。
そのようなプログラムが実行される時はいつでも、
.Nm ld.so
はヒントファイルからだけ共有ライブラリを読み込みます。
特に、
.Ev LD_LIBRARY_PATH
は、ライブラリを探すためには使われません。
したがって、 ldconfig の役割には二つあります。
素早い検索のためにヒント集合を作成することに加えて、
共有オブジェクトが共有ライブラリを安全に読み込むことができる
ディレクトリの集まりを特定することも、その役割です。
.Nm ldconfig
によって特定されたディレクトリ集合は、システム管理者の制御下にあること
が仮定されています。
.Sh 関連ファイル
.Bl -tag -width /var/run/ld.so.hintsxxx -compact
.It Pa /var/run/ld.so.hints
デフォルトの
.Dq ヒント
ファイル。
.Sh 関連項目
.Xr ld 1 ,
.Xr link 5
.Sh 歴史
.Nm
ユーティリティーは SunOS 4.0 ではじめに現れました。
現在の形は、 FreeBSD 1.1 からです。
diff --git a/ja/man/man8/linux.8 b/ja/man/man8/linux.8
index ad111cd5e3..0341effbf7 100644
--- a/ja/man/man8/linux.8
+++ b/ja/man/man8/linux.8
@@ -1,45 +1,45 @@
.\"
.\" Copyright (c) 1997
.\" The FreeBSD 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.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: linux.8,v 1.1 1997/01/10 05:48:50 mpp Exp %
+.\" %Id: linux.8,v 1.3 1997/02/22 12:48:26 peter Exp %
.\" jpman %Id: linux.8,v 1.3 1997/07/22 16:50:43 horikawa Stab %
.\"
.Dd January 9, 1997
.Dt LINUX 8
.Os FreeBSD
.Sh 名称
.Nm linux
.Nd Linux エミュレータのカーネルモジュールを読み込む
.Sh 書式
.Nm linux
.Sh 解説
.Nm
は、 Linux エミュレータのカーネルモジュールを読み込みます。
.Sh 関連ファイル
.Bl -tag -width /lkm/linux_mod.o
.It Pa /lkm/linux_mod.o
Linux エミュレータの読み込み可能カーネルモジュール
.Sh 関連項目
.Xr lkm 4 ,
.Xr modload 8
diff --git a/ja/man/man8/lptcontrol.8 b/ja/man/man8/lptcontrol.8
index c37381da4f..fbeb91dae1 100644
--- a/ja/man/man8/lptcontrol.8
+++ b/ja/man/man8/lptcontrol.8
@@ -1,78 +1,78 @@
.\"
.\" lptcontrol - a utility for manipulating the lpt driver
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\"
-.\" %Id: lptcontrol.8,v 1.3.2.3 1998/07/18 11:10:46 jkh Exp %
+.\" %Id: lptcontrol.8,v 1.7 1998/03/23 08:23:49 charnier Exp %
.\" jpman %Id: lptcontrol.8,v 1.3 1997/08/16 13:20:55 horikawa Stab %
.Dd September 3, 1994
.Dt LPTCONTROL 8
.Os FreeBSD 2
.Sh 名称
.Nm \&lptcontrol
.Nd lpt プリンタドライバ操作ユーティリティ
.Sh 書式
.Nm \&lptcontrol
.Cm -i
|
.Cm -p
.Op Fl u Ar unit no
.Sh 解説
.Nm
コマンドは、各
.Xr lpt 4
デバイスの割り込み駆動モード/ポーリングモードを設定するのに用いられます。
プリンタが割り込み駆動モード/ポーリングモード間で切り替えられると、
その切り替えは次回デバイスがオープンされたときに有効になります。
.Sh オプション
.TP
以下のコマンドラインオプションがサポートされています:
.Bl -tag -width indent
.It Fl i
割り込み駆動モードにします。
.It Fl p
ポーリングモードにします。
.It Fl u Ar n
.Em n
で指定されたプリンタデバイスのモードを設定します。
.Em n
のデフォルト値は
.Em 0
(つまり
.Pa /dev/lpt0
)です。
.El
.Pp
.Fl i
または
.Fl p
のいずれか一方を必ず指定しなければなりません。
.Pp
.Sh 関連ファイル
.Bl -tag -width /sys/i386/conf/GENERIC -compact
.It Pa /dev/lpt?
プリンタデバイス。
.It Pa /dev/lpctl?
プリンタ制御デバイス。
.It Pa /sys/i386/conf/GENERIC
カーネル設定ファイル。
.El
.Sh バグ
きっといくつかあるでしょう。
.Sh 関連項目
.Xr lpt 4
.Sh 作者
.An Geoffrey M. Rehmet
.Sh 歴史
.Nm
.Fx 1.1.5
で初めて登場しました。
diff --git a/ja/man/man8/mail.local.8 b/ja/man/man8/mail.local.8
index 684a2a216b..b9c11db8cc 100644
--- a/ja/man/man8/mail.local.8
+++ b/ja/man/man8/mail.local.8
@@ -1,114 +1,103 @@
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
.\" 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.
+.\" 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.
.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
.\"
-.\" @(#)mail.local.8 8.2 (Berkeley) 12/11/93
-.\" %Id: mail.local.8,v 1.4.2.1 1998/02/20 17:32:25 jkh Exp %
+.\" @(#)mail.local.8 8.7 (Berkeley) 5/19/98
.\" jpman %Id: mail.local.8,v 1.2 1997/03/31 13:35:26 horikawa Stab %
.\"
-.Dd December 11, 1993
+.Dd May 19, 1998
.Dt MAIL.LOCAL 8
.Os
.Sh 名称
.Nm mail.local
.Nd メールボックスにメールを格納する
.Sh 書式
.Nm mail.local
.Op Fl f Ar from
.Op Fl b
+.Op Fl s
.Ar user ...
.Sh 解説
.Nm mail.local
は EOF がくるまで標準入力から読み込みを行い、
それらを各
.Ar user
.Pa mail
ファイルに追加します。
.Ar user
は、有効なユーザ名でなければなりません。
.Pp
オプション:
.Bl -tag -width xxxfrom
.It Fl f Ar from
送り手の名前を指定します。
.It Fl b
.Dq biff
サービスに通知する事をやめます。
+.It Fl s
+.Dq success
+状態を返す前にメールボックスをディスクにコミットするために使用する、
+.Xr fsync 2
+呼び出しを無効にします。
.El
.Pp
メールボックスのなかの個々のメッセージは、
空行に続く
``From ''
という文字列からはじまる行によって区切られます。
``From'' という文字列、送り手 (sender) の名前、
時刻 (time stamp) を含む行が配送されたメールそれぞれに
付加されます。
空行がそれぞれのメッセージに追加されます。
大なり記号
(``>'') は ``From '' によって誤って別のメッセージとして処理
-される可能性のある行の行頭に付加されます。
+される可能性のある行の行頭に付加されます
+(それは、空白行に続く行で ``From '' という 5 文字で始まる行です)。
.Pp
メールファイルはメールが追加されている間は
.Xr flock 2
によって排他的にロックされます。
+メールボックスがロックされている間、
+.Pa user.lock
+が作成されますが、これは古い MUA との互換性のためです。
.Pp
.Xr getservbyname 3
が ``biff'' を返すと、
biff サーバにメールの配送が伝えられます。
.Pp
.Nm mail.local
は成功すれば 0 を、失敗すれば 0 より大きな値を返します。
.Sh 環境変数
.Bl -tag -width indent
.It Ev TZ
タイムスタンプを記録する際に適切なタイムゾーンを設定します。
.El
.Sh 関連ファイル
-.Bl -tag -width /var/tmp/local.XXXXXX -compact
-.It Pa /var/tmp/local.XXXXXX
+.Bl -tag -width /tmp/local.XXXXXX -compact
+.It Pa /tmp/local.XXXXXX
テンポラリファイル
.It Pa /var/mail/user
ユーザのメールボックスディレクトリ
+.It Pa /var/mail/user.lock
+ユーザメールボックスのロックファイル
.El
.Sh 関連項目
.Xr mail 1 ,
.Xr flock 2 ,
.Xr getservbyname 3 ,
.Xr comsat 8 ,
.Xr sendmail 8
.Sh 歴史
スーパセットの
.Nm mail.local
(メールボックスを読む際、配送時と同様に扱います) は
.At v7
から、
.Nm mail
として現れました。
diff --git a/ja/man/man8/mailstats.8 b/ja/man/man8/mailstats.8
index 92733aec08..c218986b34 100644
--- a/ja/man/man8/mailstats.8
+++ b/ja/man/man8/mailstats.8
@@ -1,82 +1,88 @@
-.\"/*
-.\" * Copyright (c) 1996 John M. Vinopal
-.\" * 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 for the NetBSD Project
-.\" * by John M. Vinopal.
-.\" * 4. The name of the author may not be used to endorse or promote products
-.\" * derived from this software without specific prior written permission.
-.\" *
-.\" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-.\" * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-.\" * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-.\" * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-.\" * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-.\" * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-.\" * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-.\" * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-.\" * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" * SUCH DAMAGE.
-.\" */
-.\" %Id: mailstats.8,v 1.2.2.4 1997/11/10 03:00:05 peter Exp %
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" @(#)mailstats.8 8.5 (Berkeley) 5/19/98
+.\"
+.Dd April 25, 1996
+.Dt MAILSTATS 1
+.Os BSD 3
.\" jpman %Id: mailstats.8,v 1.2 1997/05/21 07:42:38 yugawa Stab %
.Dd August 13, 1996
.Dt MAILSTATS 8
.Os
.Sh 名称
.Nm mailstats
-.Nd sendmail の利用統計を表示する
+.Nd メールの統計情報を表示する
.Sh 書式
.Nm mailstats
.Op Fl o
-.Op Fl C Ar sendmail.cf
-.Op Fl f Ar sendmail.st
+.Op Fl C Ar cffile
+.Op Fl f Ar stfile
.Sh 解説
.Nm mailstats
-は、sendmail を利用したメッセージのサイズなどの
-統計情報をメーラ毎に表示します。
-出力の各行は、
-.Fl o
-フラグが指定された場合を除き、
-メーラ番号、受け取ったメール数、受け取ったバイト数、
-送ったメール数、送ったバイト数、メーラの種類から構成されています。
-メーラの一般的な物には smtp や local (例えば、
-.Nm mail.local
-等のローカルに配送されるメールを処理するプログラム) があります。
+は、現在のメールの統計情報を表示します。
.Pp
-統計情報は
+まず、統計が開始された時刻が
+.Xr ctime 3
+で指定されるフォーマットで表示されます。
+次に、各メーラの状態が 1 行で表示されます。
+それぞれ空白で区切られた次のフィールドからなります:
+.Pp
+.Bl -tag -width 10n -offset indent -compact
+.It Sy M
+メーラ番号。
+.It Sy msgsfr
+メーラからのメッセージ数。
+.It Sy bytes_from
+メーラからのキロバイト数。
+.It Sy msgsto
+メーラへのメッセージ数。
+.It Sy bytes_to
+メーラへのキロバイト数。
+.It Sy Mailer
+メーラ名。
+.El
+.Pp
+この表示の後、
+すべてのメーラの総計行が表示されますが、
+等号
+.Pq Dq \&=
+文字のみからなる行によりその前の情報と分けられます。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width Ds
+.It Fl C
+デフォルトの
+.Nm sendmail
+.Dq cf
+ファイルの代りに指定されたファイルを読みます。
+.It Fl f
.Nm sendmail
-統計ファイル
-.Ar sendmail.st
-から読み込まれます。
-.Ar sendmail.st
-の場所は
-.Ar sendmail.cf
-で定義されていますが、
-.Fl f
-フラグで指定することもできます。
-同様に、メーラの種類も
-.Ar sendmail.cf
-で定義されています。統計情報は、累積されていきます。情報をリセットするには
-統計ファイルの内容を消す必要があります。
+.Dq cf
+ファイルで指定されている統計情報ファイルの代りに、
+指定された統計情報ファイルを読みます。
+.It Fl o
+出力においてメーラ名を表示しません。
+.El
+.Pp
+.Nm mailstats
+は成功時には 0 で、エラー時には >0 で終了します。
.Sh 関連ファイル
.Bl -tag -width /var/log/sendmail.st -compact
.It Pa /etc/sendmail.cf
-sendmail 設定ファイル
+デフォルトの
+.Nm sendmail
+.Dq cf
+ファイル
.It Pa /var/log/sendmail.st
-メール統計情報データベース
+デフォルトの
+.Nm sendmail
+統計情報ファイル
.El
.Sh 関連項目
-.Xr mail.local 8 ,
+.Xr mailq.1 ,
.Xr sendmail 8
diff --git a/ja/man/man8/makekey.8 b/ja/man/man8/makekey.8
index bc4ac02327..4f87fc1da4 100644
--- a/ja/man/man8/makekey.8
+++ b/ja/man/man8/makekey.8
@@ -1,60 +1,60 @@
.\" 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 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.
.\"
.\" @(#)makekey.8 8.2 (Berkeley) 12/11/93
-.\" %Id: makekey.8,v 1.5.2.1 1997/12/15 07:13:45 charnier Exp %
+.\" %Id: makekey.8,v 1.8 1997/11/24 07:29:12 charnier Exp %
.\" jpman %Id: makekey.8,v 1.2 1997/05/21 07:56:47 yugawa Stab %
.\"
.Dd December 11, 1993
.Dt MAKEKEY 8
.Os
.Sh 名称
.Nm makekey
.Nd 暗号キーやパスワードを作成する
.Sh 書式
.Nm makekey
.Sh 解説
.Nm makekey
は標準入力から読み込んだキーと隠しキー (salt) を暗号化し、
結果を標準出力へ書き込みます。
キーは 8 バイト、隠しキーは 2 バイトであること期待されます。
キーと隠しキーはどんな文字を含んでよいか、
どうやって暗号化計算が行なわれるか、の詳しい情報は
.Xr crypt 3
を参照のこと。
.Sh 関連項目
.Xr login 1 ,
.Xr crypt 3
.Sh 歴史
.Nm
コマンドは
.At v7
から登場しました。
diff --git a/ja/man/man8/makemap.8 b/ja/man/man8/makemap.8
index d809083fd2..daee6c1071 100644
--- a/ja/man/man8/makemap.8
+++ b/ja/man/man8/makemap.8
@@ -1,218 +1,117 @@
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)makemap.8 8.4 (Berkeley) 7/23/97
+.\" @(#)makemap.8 8.10 (Berkeley) 5/19/98
.\" jpman %Id: makemap.8,v 1.3 1997/07/26 21:58:03 horikawa Stab %
.\"
.Dd November 16, 1992
.Dt MAKEMAP 8
.Os BSD 4.4
.Sh 名称
.Nm makemap
.Nd sendmail 用のデータベースマップを作成する
.Sh 書式
.Nm makemap
.Op Fl N
.Op Fl d
.Op Fl f
.Op Fl o
.Op Fl r
+.Op Fl s
.Op Fl v
.Ar maptype
.Ar mapname
.Sh 解説
.Nm
は、
.Xr sendmail 8
がキー付きマップを検索する際に用いるデータベースマップを作成します。
これは標準入力から読み込みを行い、指定された
.Ar mapname
に出力を行います。
.Pp
コンパイル方法に依存しますが、
.Nm
は最大 3 種類のデータベースフォーマットを扱います。
扱うフォーマットは
.Ar maptype
で指定します。
.Ar maptype
には、以下のようなものがあります。
.Pp
.Bl -tag -width Fl
.It Li dbm
.Tn DBM
フォーマットマップ。
.Xr ndbm 3
ライブラリが必要です。
.It Li btree
B-Treeフォーマットマップ。
-新しい Berkeley
-.Xr db 3
+新しい Berkeley DB
ライブラリが必要です。
.It Li hash
ハッシュフォーマットマップ。
同じく
-.Xr db 3
+Berkeley DB
ライブラリが必要です。
.El
.Pp
すべてのフォーマットで、
.Nm makemap
は標準入力から空白文字で区切られた 2 つの単語を読み込みます。
最初の単語はデータベースキーで、2番目の単語がその値です。
値が
``%\fIn\fP''
.Pf ( Ar n
は数字)という文字列を含んでいると、sendmail がパラメータ置換を行います。
.Dq %
という文字を含めるには、``%%'' とする必要があります。
空行や ``#'' から始まる行は無視されます。
.Pp
.Ss フラグ
.Bl -tag -width Fl
.It Fl N
文字列の終端記号として、ヌル文字もマップに含めます。
これは、sendmail.cf の ``K'' 行における \-N フラグと一致していなければ
なりません。
.It Fl d
マップ中に重複するキーが存在することを許します。
B-Treeフォーマットマップでのみ可能です。
2 つの同じキーが読まれた場合、両方ともマップに挿入されます。
.It Fl f
通常、キーのなかのすべての大文字(upper case)は、
すべて小文字(lower case)として記録されますが、
このフラグを指定することによってこの動作を行わないように指定できます。
これは、sendmail.cf 中の
\fBK\fP
行における
\-f フラグと一致していなければなりません。
.It Fl o
すでにあるファイルに追加が行われます。
すでに存在するファイルを引数として指定することができます。
.It Fl r
すでに存在しているキーを置き換えます。
通常はすでに入力したキーをさらに繰り返して入力しても、
.Nm
は警告を出力し、データベースには取り込みません。
+.It Fl s
+生成されるマップの安全チェックを無視します。
+これには、
+だれでも書き込めるディレクトリへのハードリンクおよびシンボリックのチェックも
+含まれます。
.It Fl v
処理の内容を詳細に表示します。
.El
-.\" この部分の動作確認を FreeBSD2.1.0R にて行なっています。
-.\" Noritaka Ishizumi <graphite@jp.freebsd.org>
-このプログラムは、
-.Pa sendmail.cf
-を作成する際に、キー付きマップを使用する
-場合に役に立ちます。
-.Pp
-FreeBSD で使われている
-.Xr sendmail 8
-はV8ですから、
-.Pa sendmail.cf
-を作成
-するには、
-.Nm cf
-(日本では CF と表記されるバージョンがある(CF-3.4W2.tar.gz))を使います。
-.Ss 使用例
-.Pa /usr/src/usr.sbin/sendmail/cf/cf
-に
-.Pa .mc
-(マスターコンフィギュレーションファイル)があります。このディレクトリで、
-各自のマシンにあわせた設定を
-.Pa yourhost.mc
-に行い、``make yourhost.cf''
-とすることで
-.Pa yourhost.cf
-が作成されます。これを
-.Pa /etc/sendmail.cf
-などにコピーして使用します(実際に使用する前に、
-.Dq sendmail -bt -C./yourhoust.cf
-などを実行して
-.Pa yourhost.cf
-が正しく作成されているかどうかをチェックしてください)。
-.Pp
-ホスト名だけの名前から、ドメイン名付きの名前へマッピングを
-.Nm sendmail
-に提供する
-方法の記述例を示します。
-.Pa yourhost.mc
-に以下の記述を含めてください。
-.Pp
-.Bd -literal -offset indent
-LOCAL_RULE_3
-R$* < @ $+ > $* $: $1 < @ $(hostmap $2 $) > $3
-.Ed
-.Pp
-ここで、ローカルルールを定義しています。この内容はヘッダにも反映されます。
-さらに、
-.Pp
-.Bd -literal -offset indent
-LOCAL_CONFIG
-Khostmap hash /etc/hostmap.db
-Kyplocal nis -m hosts.byname
-.Ed
-.Pp
-という記述を加えてください。1行目は、以下の設定がローカルな設定であることを
-示しています。2行目が
-.Nm makemap
-を必要とする例です。3行目は、ホスト名の
-マッピングを
-.Tn NIS
-からとってきます。
-.Pp
-この設定を利用した
-.Pa sendmail.cf
-を実際に使うには、
-.Pa /etc/hostmap.db
-を作成する必要があります。
-.Pp
-.Bd -literal -offset indent
-mercury% cd /etc
-mercury% makemap hash hostmap
-moon moon.silver-castle.millennium <- もちろん架空のドメインです
-^D <- コントロール D(EOF文字)
-.Ed
-.Pp
-これによって、たとえば、
-.Dq tsukino@moon
-は
-.Dq tsukino@moon.silver-castle.millennium
-に変換されます。実際の使い方は、
-.Pa .mc
-ファイルの設定によって変化します。
-.Pa sendmail/cf/README
-などを参照してください。
.Sh 関連項目
.Xr sendmail 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja/man/man8/makewhatis.local.8 b/ja/man/man8/makewhatis.local.8
index 74809c5ef6..6153590a6f 100644
--- a/ja/man/man8/makewhatis.local.8
+++ b/ja/man/man8/makewhatis.local.8
@@ -1,71 +1,71 @@
.\" Copyright (c) April 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: makewhatis.local.8,v 1.2.2.1 1996/12/10 17:23:18 joerg Exp %
+.\" %Id: makewhatis.local.8,v 1.6 1997/06/23 04:51:30 steve Exp %
.\" jpman %Id: makewhatis.local.8,v 1.3 1997/09/09 03:59:22 yugawa Stab %
-.Dd April, 26, 1996
+.Dd April 26, 1996
.Dt MAKEWHATIS.LOCAL 8
.Os FreeBSD 2.2
.Sh 名称
.Nm makewhatis.local , catman.local
.Nd ローカルファイルシステムに対して makewhatis を開始する
.Sh 書式
.Nm /usr/libexec/makewhatis.local
.Op options
.Ar directories ...
.Nm /usr/libexec/catman.local
.Op options
.Ar directories ...
.Sh 解説
.Nm
.Xr makewhatis 1
を開始しますが、
.Nm
が実行されるシステムに物理的にマウントされているファイルシステムだけを
対象とします。
読み書き可能な NFS マウントされた /usr ディレクトリに対し
.Pa /etc/weekly
から makewhatis を起動すると NFS サーバを殺してしまうでしょう --
すべての NFS クライアントが makewhatis を同時に開始してしまうからです!
ですから、
.Xr cron 8
へのラッパにこのプログラムを使用し、直接 makewhatis を呼ばないで下さい。
.Sh 関連ファイル
.Bl -tag -width /etc/weekly.XXX -compact
.It Pa /etc/weekly
毎週
.Nm
を実行します。
.El
.Sh 関連項目
.Xr catman 1 ,
.Xr find 1 ,
.Xr makewhatis 1 ,
.Xr cron 8 .
.Sh 歴史
.Nm
コマンドは
.Fx 2.2
から登場しました。
diff --git a/ja/man/man8/manctl.8 b/ja/man/man8/manctl.8
index d79479bf09..896018e459 100644
--- a/ja/man/man8/manctl.8
+++ b/ja/man/man8/manctl.8
@@ -1,59 +1,56 @@
.\" Copyright (c) 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: manctl.8,v 1.3.2.3 1998/03/09 13:51:08 jkh Exp %
+.\" %Id: manctl.8,v 1.7 1997/09/25 06:38:17 charnier Exp %
.\" jpman %Id: manctl.8,v 1.3 1997/08/16 13:22:57 horikawa Stab %
-
.Dd January 1, 1996
.Dt MANCTL 8
.Os FreeBSD
-
.Sh 名称
.Nm manctl
.Nd マニュアルページの取り扱い
-
.Sh 書式
.Nm manctl
.Op Fl compress
.Op Fl uncompress
.Op Fl purge
.Op Fl help
.Ar path ...
.Sh 解説
.Nm manctl
はディレクトリパスにあるマニュアルページを圧縮あるいは圧縮解凍します。
可能なら、.so マクロはハードリンクで置き換えられます。
.Sh オプション
.Bl -tag -width -indent
.It Fl help
オプション一覧を表示して終了します。
.It Fl compress
非圧縮マニュアルページを圧縮します(.so は除去します)。
.It Fl uncompress
圧縮マニュアルページを解凍します。
.It Fl purge
フォーマット済の古いマニュアルページを一掃します(未実装)。
.Sh 関連項目
.Xr catman 1 ,
.Xr man 1
diff --git a/ja/man/man8/map-mbone.8 b/ja/man/man8/map-mbone.8
index 7c801e96cc..e7ffb8a71a 100644
--- a/ja/man/man8/map-mbone.8
+++ b/ja/man/man8/map-mbone.8
@@ -1,98 +1,87 @@
-.TH MAP-MBONE 8
+.Dd May 8, 1995
+.Dt MAP-MBONE 8
.\" jpman %Id: map-mbone.8,v 1.2 1997/06/06 10:31:25 bobson Stab %
-.UC 5
-.SH 名称
-map-mbone \- マルチキャストコネクションマップを表示する
-.SH 書式
-.B /usr/sbin/map-mbone
-[
-.B \-d
-.I debug_level
-] [
-.B \-f
-] [
-.B \-g
-] [
-.B \-n
-] [
-.B \-r
-.I retry_count
-] [
-.B \-t
-.I timeout_count
-] [
-.B starting_router
-]
-.SH 解説
-.I map-mbone
+.Sh 名称
+.Nm map-mbone
+.Nd マルチキャストコネクションマッパ
+.Sh 書式
+.Nm map-mbone
+.Op Fl d Ar debug_level
+.Op Fl f
+.Op Fl g
+.Op Fl n
+.Op Fl r Ar retry_count
+.Op Fl t Ar timeout_count
+.Op Ar starting_router
+.Sh 解説
+.Nm
は、
-.I starting_router
+.Ar starting_router
で指定したマルチキャストルータから到達可能なすべてのマルチキャストルータに
ついて表示します。
コマンドラインに何の指定もない場合、デフォルトのマルチキャストルータ
-.I starting_router
+.Ar starting_router
は、ローカルホスト(localhost)になります。
-.PP
-.I map-mbone
+.Pp
+.Nm
は、ASK_NEIGHBORS IGMP メッセージを送信することで、
隣接するマルチキャストルータのデータ取得を行ないます。
指定したマルチキャストルータからの応答があった場合には、
その応答の中にあるバージョン番号と隣接するマルチキャストルータのアドレス一覧が
出力されます。応答したルータが、
最新のマルチキャストバージョン番号を持つ場合には、
-.I map-mbone
+.Nm
は、そのルータに対してメトリック、スレッショルド、フラグのような追加情報を
要求します。
隣接するマルチキャストルータに新たな事象が発生し、フルーディングオプションが
使用可能な場合、
-.I map-mbone
+.Nm
は、隣接するそれらのマルチキャストルータそれぞれに対して新たな情報を求めます。
また、マルチキャストルータの検索は、マルチキャストルータが
それ以上みつからないという状態になるまで継続します。
-.br
-.ne 5
-.SH オプション
-.PP
-"\-d" オプションは、デバッグレベルを設定します。デバッグレベルが
+以下のオプションを使用可能です。
+.Bl -tag -width indent
+.It Fl d
+デバッグレベルを設定します。デバッグレベルが
デフォルトレベルである 0 よりも大きい場合、追加デバッグメッセージが画面に
出力されます。デバッグレベルにかかわらず、エラーについてはエラーメッセージが
出力され、
-.I map-mbone
+.Nm
は終了します。
デバッグレベルが 0 でない場合、以下の効果があります。
-.IP "level 1"
+.Bl -tag -width indent
+.It "level 1"
パケットの警告が標準エラー出力に対して出力されます。
-.IP "level 2"
+.It "level 2"
すべてのレベル 1 のメッセージに加えて、ネットワークダウンの情報が
標準エラー出力に対して出力されます。
-.IP "level 3"
+.It "level 3"
すべてのレベル 2 のメッセージに加えて、すべてのパケットタイムアウトの情報が
標準エラー出力に対して出力されます。
-.PP
-"\-f" オプションは、フルーディングオプションを設定します。フルーディング
+.El
+.It Fl f
+フルーディングオプションを設定します。フルーディング
オプションを有効にすることで、再帰的に隣接するマルチキャストルータを検索
することを許可します。そして、starting_router が指定されない場合には、
このオプションはデフォルトでは有効になっています。
-.PP
-"\-g" オプションは、GraphEdフォーマットにしたがったグラフ出力を有効にします。
-.PP
-"\-n" オプションは、マルチキャストルータの名前の検索に DNS を使わないように
+.It Fl g
+GraphEdフォーマットにしたがったグラフ出力を有効にします。
+.It Fl n
+マルチキャストルータの名前の検索に DNS を使わないように
設定します。
-.PP
-"\-r retry_count" オプションは、隣接ルータに対するリトライ制限を設定します。
+.It Fl r Ar retry_count
+隣接ルータに対するリトライ制限を設定します。
デフォルトではリトライ回数は 1 です。
-.PP
-"\-t timeout_count" オプションは、リトライ間隔を秒単位で設定します。
+.It Fl t Ar timeout_count
+リトライ間隔を秒単位で設定します。
デフォルトのリトライ間隔は 2 秒です。
-.PP
-.SH 注意
-.I map-mbone
+.El
+.Sh 注意
+.Nm
は root のみ実行可能です。
-.PP
-.SH 関連項目
-.BR mrouted (8) ,
-.BR mrinfo (8) ,
-.BR mtrace (8)
-.PP
-.SH 作者
-Pavel Curtis
+.Sh SEE ALSO
+.Xr mrouted 8 ,
+.Xr mrinfo 8 ,
+.Xr mtrace 8
+.Sh 作者
+.An Pavel Curtis
diff --git a/ja/man/man8/mknetid.8 b/ja/man/man8/mknetid.8
index fc936a7ce8..6bbbf411e4 100644
--- a/ja/man/man8/mknetid.8
+++ b/ja/man/man8/mknetid.8
@@ -1,144 +1,144 @@
.\" Copyright (c) 1995, 1996
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: mknetid.8,v 1.1.1.1.2.2 1998/07/19 06:53:02 jkh Exp %
+.\" %Id: mknetid.8,v 1.6 1998/05/05 00:12:01 rnordier Exp %
.\" jpman %Id: mknetid.8,v 1.3 1997/08/16 13:26:57 horikawa Stab %
.\"
.Dd June 23, 1996
.Dt MKNETID 8
.Os
.Sh 名称
.Nm mknetid
.Nd netid マップデータの生成
.Sh 書式
.Nm mknetid
.Op Fl q
.Op Fl g Ar group_file
.Op Fl p Ar passwd_file
.Op Fl h Ar hosts_file
.Op Fl n Ar netid_file
.Op Fl d Ar domain
.Sh 解説
.Nm mknetid
は以下のファイル
.Xr group 5 ,
.Xr passwd 5 ,
.Xr hosts 5 ,
.Xr netid 5
の内容を処理し、
.Tn NIS
マップ
.Pa netid.byname
を生成するのに用いる形式に変換します。
このマップは、OS に依存しない形式でユーザとホスト双方の信用情報を
保持するために用いられます。
.Pp
.Nm
コマンドは重複した netid の出現をチェックし、それらを除去します。
.Pp
.Nm
コマンドは結果を標準出力に出力します。
通常は
.Tn NIS
マップを再構築する際に
.Nm /var/yp/Makefile
からのみ呼び出されます。
.Pp
.Sh オプション
.Nm
コマンドには以下のオプションがあります:
.Bl -tag -width indent
.It Fl q
通常、
.Nm
は重複した netid を見つけると警告メッセージを表示しますが、
このオプションにより「静粛」モードとなり、警告は抑制されます。
他のエラーメッセージはそのまま表示されます。
.It Fl g Ar group_file
.Fl g
オプションはグループ情報ファイルの場所を指定するのに用いられます。
コンパイル済みのデフォルト値は
.Pa /etc/group
です。
.It Fl p Ar passwd_file
パスワード情報ファイルの場所を指定します。
コンパイル済みのデフォルト値は
.Pa /etc/passwd
です。
.It Fl h Ar hosts_file
ホストデータベースファイルの場所を指定するのに用いられます。
コンパイル済みのデフォルト値は
.Pa /etc/hosts
です。
.It Fl n Ar netid_file
netid 情報ファイルの場所を指定します。
コンパイル済みのデフォルト値は
.Pa /etc/netid
です。
注: netid データベースが見つからなくてもエラーにはなりません。
.Bx Free
.Tn Secure RPC
がサポートされるようになるまでは、
ほとんどのシステムでは netid データベースは存在しないことでしょう。
.It Fl d Ar domain
.Nm
コマンドが netid レコードを生成する際、デフォルトでは、
システムのドメイン名を用います。
もしシステムのドメイン名が設定されていないなら、
.Fl d
オプションによってコマンドラインからドメイン名を指定しなければなりません。
ドメイン名が設定されている場合、
.Fl d
オプションによってその設定値を上書きすることもできます。
.El
.Sh 関連ファイル
.Bl -tag -width /var/yp/Makefile -compact
.It Pa /var/yp/Makefile
.Tn NIS
データベースを構築するために
.Nm yp_mkdb
および
.Nm mknetid
を呼び出す Makefile
.It Pa /etc/group
デフォルトのグループデータベースファイル
.It Pa /etc/passwd
デフォルトのパスワードデータベースファイル
.It Pa /etc/hosts
デフォルトのホストデータベースファイル
.It Pa /etc/netid
デフォルトの netid データベースファイル
.El
.Sh 関連項目
.Xr yp 4 ,
.Xr yp_mkdb 8
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja/man/man8/mknod.8 b/ja/man/man8/mknod.8
index 7d4887a501..43e61235f6 100644
--- a/ja/man/man8/mknod.8
+++ b/ja/man/man8/mknod.8
@@ -1,108 +1,108 @@
.\" 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.
.\"
.\" @(#)mknod.8 8.2 (Berkeley) 12/11/93
-.\" %Id: mknod.8,v 1.5.2.2 1998/07/17 20:13:27 jkh Exp %
+.\" %Id: mknod.8,v 1.7 1998/07/06 07:06:15 charnier Exp %
.\" jpman %Id: mknod.8,v 1.2 1997/03/31 13:37:12 horikawa Stab %
.\"
.Dd December 11, 1993
.Dt MKNOD 8
.Os BSD 4
.Sh 名称
.Nm mknod
.Nd スペシャルファイルを作成する
.Sh 書式
.Nm mknod
.Ar name
.Op Cm c | Cm b
.Ar major minor
.Sh 解説
.Nm
はデバイススペシャルファイルを作成します。通常、シェルスクリプト
.Pa /dev/MAKEDEV
で、よく知られているスペシャルファイルを作成することができます。
このスクリプトは、
.Nm
に適当な引数を渡して実行し、必要な全てのデバイスファイルの作成をします。
.Pp
.Nm
の引数としては、以下の 4 つが必要です。
.Bl -tag -width indent
.It Ar name
デバイスファイル名です。たとえば
.Dq sd
は SCSI ディスクで、
.Dq pty
は疑似デバイスです。
.It Cm b | Cm c
デバイスのタイプを指定します。
ブロック型のデバイスは、
.Cm b
を指定します。
テープやディスク等がこれに該当しますが、
ブロックスペシャルデバイス (cooked) とキャラクタスペシャルデバイス (raw) の
両方のスペシャルファイルが必要です。
キャラクタ型のデバイスは、
.Cm c
を指定します。
端末や疑似デバイス等がこれに該当します。
.It Ar major
メジャーデバイス番号を指定します。
メジャーデバイス番号は、
どのデバイスドライバエントリを使用すべきをカーネルに示します。
メジャーデバイス番号とデバイスの対応を知るには、
.Ar /dev/MAKEDEV
を見てください。
.It Ar minor
マイナーデバイス番号を指定します。
マイナーデバイス番号は、
デバイスのどのサブユニットが
スペシャルファイルに対応するのかをカーネルに示します。
例えば、サブユニットは
ファイルシステムのパーティションだったり端末ラインだったりします。
.El
.Pp
メジャーデバイス番号およびマイナーデバイス番号とも
.Xr strtoul 3
が受け付ける任意の形式で指定可能です。
.Ql 0x
で始めることにより 16 進数と、
.Ql 0
で始めることにより 8 進数であると解釈させる事が出来ます。
.Sh 関連項目
.Xr mkfifo 1 ,
.Xr mknod 2 ,
.Xr MAKEDEV 8
.Sh 歴史
.Nm
コマンドは
.At v6
から登場しました。
diff --git a/ja/man/man8/modload.8 b/ja/man/man8/modload.8
index 00dbce7c91..6ca9310a12 100644
--- a/ja/man/man8/modload.8
+++ b/ja/man/man8/modload.8
@@ -1,117 +1,117 @@
.\" Copyright (c) 1993 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. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: modload.8,v 1.7.2.2 1998/07/17 20:13:28 jkh Exp %
+.\" %Id: modload.8,v 1.11 1998/03/19 07:45:37 charnier Exp %
.\" jpman %Id: modload.8,v 1.2 1997/04/25 00:25:43 mutoh Stab %
.\"
.Dd September 22, 1994
.Dt MODLOAD 8
.Os
.Sh 名称
.Nm modload
.Nd カーネルモジュールの読み込みを行う
.Sh 書式
.Nm modload
.Op Fl dquv
.Op Fl A Ar kernel
.Op Fl e Ar entry
.Op Fl p Ar postinstall
.Op Fl o Ar output_file
.Ar input_file
.Sh 解説
.Nm modload
は、ローダブルカーネルモジュールを稼働中のシステムに読み込み
ます。入力ファイルはオブジェクトファイル (.o) です。
.Pp
オプションとしては、以下のものがあります。
.Bl -tag -width indent
.It Fl d
デバッグオプションです。
.Nm modload
自体をデバッグする時に指定します。
.It Fl q
沈黙モード。メッセージをほとんど表示しません。
.It Fl u
モジュールが読み込まれた後で、ファイル
.Pq Ar output_file
を削除します。出力ファイルが指定されていない時は、このオプションは一時
ファイルを消去する前まで利用します。
.It Fl v
読み込み処理の詳細を表示します。
.It Fl A Ar kernel
外部シンボル参照を解決するためにリンカに使わせるファイルを指定します。
必ず、現在動いているカーネルの
シンボルを含むファイルを指定しなければなりません。
それ以外のファイルを指定すると、システムがクラッシュするでしょう。
.It Fl e Ar entry
ローダブルモジュールのエントリポイントを指定します。
この文字列はモジュールがリンクされる時に
.Xr ld 1
に渡されます。
デフォルトのモジュールエントリポイント名は モジュール名に `_mod' を
追加したものです。
.It Fl p Ar postinstall
ローダブルモジュールの読み込みが成功した後に起動するシェルスクリプト、
またはプログラムを指定します。
このスクリプトまたはプログラムには 3 つの引数が渡されます。
1 つ目はモジュール ID (10 進 )、 2 つ目はモジュールタイプ (16 進 ) です。
ローダブルモジュールがデバイスドライバならば、
3 つ目の引数としてメジャー番号が渡されます。
ローダブルモジュールがシステムコールならば、
3 つ目の引数としてシステムコール番号が渡されます。
.It Fl o Ar output_file
リンカが作成する出力ファイルの名前を指定します。このオプションが
指定されていない時は、 /tmp ディレクトリ内のファイルが使われます。
その名前は、モジュール名に `.out' という拡張子が付けられたものです。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/include/sys/lkm.h -compact
.It Pa /kernel
外部参照を解決するためにリンカに使わせるデフォルトのファイル。
.It Pa /usr/include/sys/lkm.h
モジュールタイプが定義されているファイル。
.\" .It Pa output file.
.\" リンカが作成するデフォルトの出力ファイル。
.Sh 診断
.Nm
は、成功時には 0、エラー発生時には 0 以外の値で終了します。
.Sh 関連項目
.Xr ld 1 ,
.Xr lkm 4 ,
.Xr modstat 8 ,
.Xr modunload 8
.Sh 歴史
.Nm
コマンドは
.Tn "SunOS 4.1.3"
の対応するコマンドと類似した機能になるように設計しました。
.Sh 作者
.Bl -tag
.An Terrence R. Lambert Aq terry@cs.weber.edu
.El
.Sh バグ
ローダブルデバイスドライバでは、
キャラクタデバイスまたはブロックデバイスのどちらかのエントリを確保できますが、
両方を確保することはできません。
diff --git a/ja/man/man8/modstat.8 b/ja/man/man8/modstat.8
index c28de3cdf2..b02faa2721 100644
--- a/ja/man/man8/modstat.8
+++ b/ja/man/man8/modstat.8
@@ -1,64 +1,64 @@
.\" Copyright (c) 1993 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. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: modstat.8,v 1.2.8.3 1998/07/17 04:19:33 jkh Exp %
+.\" %Id: modstat.8,v 1.7 1998/03/23 07:44:51 charnier Exp %
.\" jpman %Id: modstat.8,v 1.3 1997/09/08 07:02:33 seki Stab %
.\"
.Dd June 7, 1993
.Dt MODSTAT 8
.Os
.Sh 名称
.Nm modstat
.Nd 組み込んだカーネルモジュールのステータスを表示する
.Sh 書式
.Nm modstat
.Op Fl i Ar id
.Op Fl n Ar name
.Sh 解説
.Nm
は、カーネルに組み込んだローダブルカーネルモジュールの
ステータスを表示します。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width indent
.It Fl i Ar id
指定した ID のモジュールのみ表示する
.It Fl n Ar name
指定した名前のモジュールのみ表示する
.El
.Sh 診断
.Nm
は、成功したときは 0、失敗したときは 0 以外の状態にて終了します。
.Sh 関連項目
.Xr lkm 4 ,
.Xr modload 8 ,
.Xr modunload 8
.Sh 歴史
.Nm
コマンドは、
.Tn "SunOS 4.1.3"
の対応するコマンドと同じ機能になるように設計されました。
.Sh 作者
.An Terrence R. Lambert Aq terry@cs.weber.edu
diff --git a/ja/man/man8/modunload.8 b/ja/man/man8/modunload.8
index 794bc787fa..dde9cea663 100644
--- a/ja/man/man8/modunload.8
+++ b/ja/man/man8/modunload.8
@@ -1,76 +1,76 @@
.\" Copyright (c) 1993 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. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: modunload.8,v 1.4.2.2 1998/07/17 20:13:28 jkh Exp %
+.\" %Id: modunload.8,v 1.8 1998/03/19 07:45:43 charnier Exp %
.\" jpman %Id: modunload.8,v 1.2 1997/04/30 00:37:42 mutoh Stab %
.\"
.Dd June 7, 1993
.Dt MODUNLOAD 8
.Os
.Sh 名称
.Nm modunload
.Nd カーネルモジュールを取り外す
.Sh 書式
.Nm modunload
.Op Fl i Ar module_id
.Op Fl n Ar module_name
.Sh 解説
.Nm
は、カーネルに組み込んだ読み込み可能カーネルモジュールを
稼働中のシステムから取り外します。
.Ar module_id
.Ar module_name
は、
.Xr modstat 8
で表示される ID と名前です。
.Pp
以下のオプションのどちらか一方を指定する必要があります。
.Bl -tag -width indent
.It Fl i Ar module_id
指定した ID
.Ar module_id
のモジュールを取り外す
.It Fl n Ar module_name
指定した名前
.Ar module_name
のモジュールを取り外す
.El
.Sh 診断
.Nm
は、成功したときは0、失敗したときは0以外の値になります。
.Sh 関連項目
.Xr lkm 4 ,
.Xr modload 8 ,
.Xr modstat 8
.Sh 歴史
.Nm
コマンドは、
.Tn "SunOS 4.1.3"
の対応するコマンドと同じ機能になるように設計されました。
.Sh 作者
.Bl -tag
.An Terrence R. Lambert Aq terry@cs.weber.edu
.El
diff --git a/ja/man/man8/mount.8 b/ja/man/man8/mount.8
index 16800429b4..560241616f 100644
--- a/ja/man/man8/mount.8
+++ b/ja/man/man8/mount.8
@@ -1,347 +1,378 @@
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)mount.8 8.7 (Berkeley) 3/27/94
-.\" %Id: mount.8,v 1.11.2.5 1998/08/12 06:19:35 charnier Exp %
+.\" @(#)mount.8 8.8 (Berkeley) 6/16/94
+.\" %Id: mount.8,v 1.23 1998/07/09 05:49:58 jkoshy Exp %
.\"
.\" jpman %Id: mount.8,v 1.2 1997/05/03 11:26:50 horikawa Stab %
.\"
-.Dd March 27, 1994
+.Dd June 16, 1994
.Dt MOUNT 8
.Os BSD 4
.Sh 名称
.Nm mount
.Nd ファイルシステムをマウントする
.Sh 書式
.Nm mount
.Op Fl adfpruvw
.Op Fl t Ar ufs | lfs | external_type
.Nm mount
.Op Fl dfpruvw
.Ar special | node
.Nm mount
.Op Fl dfpruvw
.Op Fl o Ar options
.Op Fl t Ar ufs | lfs | external_type
.Ar special node
.Sh 解説
.Nm
コマンドは
.Xr mount 2
システムコールを使用して、
.Ar "スペシャルデバイス"
かリモートノード (rhost:path) を
ファイルシステムツリーの
.Ar node
へ接合します。
もし
.Ar special
または
.Ar node
が指定されなかった場合には、
.Xr fstab 5
ファイルから適切な情報を取得します。
.Pp
システムは、現在マウントしているファイルシステムのリストを管理しています。
.Nm
コマンドを引数を与えずに実行すると、このリストが表示されます。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width indent
.It Fl a
-.Pa /etc/fstab
+.Xr fstab 5
に記述されているファイルシステムを
-(``noauto'' が指定されているものは除いて)
すべてマウントします。
+例外は、``noauto'' が指定されているもの、
+.Fl t
+フラグにて除外されているもの(後述)、
+既にマウントされているもの
+(ルートファイルシステムは伝統的なシングルユーザモードの動作を保つ
+ために除外されます)です。
通常、これはシステムの起動時に実行されます。
.It Fl d
システムコールの実行以外のすべてのことを行ないます。
このオプションを
.Fl v
とともに指定することで、
.Nm
コマンドが何をしようとしているのかを確認することができます。
.It Fl f
ファイルシステムのマウント状態を読み書き可能から読み込み専用へ
変更しようとするときに、
すでにオープンされているファイルへの書き込み許可を強制的に取り消します。
また、正常かどうか不明なファイルシステムも強制的に読み書き可能に
マウントします (危険なため注意して使って下さい)。
.It Fl o
オプションは
.Fl o
の後にコンマで区切って指定します。
以下のオプションが指定できます:
.Bl -tag -width indent
.It async
指定したファイルシステムのすべての
.Tn I/O
を非同期に行います。
このフラグを指定することは非常に
.Em 危険
ですので、
システムクラッシュ時にファイルシステムを
作り直す用意ができていないかぎりは使うべきではありません。
.It force
.Fl f
オプションと同じです。
ファイルシステムのマウント状態を読み書き可能から読み込み専用へ
変更しようとするときに、
すでにオープンされているファイルへの書き込み許可を強制的に取り消します。
また、正常かどうか不明なファイルシステムも強制的に読み書き可能に
マウントします (危険なため注意して使って下さい)。
.It noatime
ファイル読み取り時に、ファイルアクセス時刻を更新しません。
このオプションが便利なのは、
多くのファイルを持ち、(ほとんどの場合重要ではない)ファイルアクセス時刻
を更新するよりも性能が重要であるファイルシステムです。
このオプションは現在ローカルファイルシステムでのみサポートされています。
+.It noauto
+mount が
+.Fl a
+フラグ付きで動作しているときに、このファイルシステムをスキップします。
+.It noclusterr
+リード時のクラスタリングを無効にします。
+.It noclusterw
+ライト時のクラスタリングを無効にします。
.It nodev
ファイルシステム上のキャラクタスペシャルデバイスや
ブロックスペシャルデバイスを解釈しません。
このオプションは、サーバが自分自身以外のアーキテクチャ用の
スペシャルデバイスを含むファイルシステムを持っている場合に有用です。
.It noexec
マウントしているファイルシステム上のバイナリの
実行を許可しません。
このオプションは、サーバが自分自身以外のアーキテクチャ用の
バイナリを含むファイルシステムを持っている場合に有用です。
.It nosuid
実効ユーザ ID (set-user-ID) セット、
実効グループ ID (set-group-ID) セットビットの
効果をなくします。
注意:
.Xr suidperl 1
のような suid/sgid ラッパが
誰でも使えるようにシステムにインストールされている場合には、価値がありません。
+.It nosymfollow
+マウントされたファイルシステムにおいては、シンボリックリンクを追跡しません。
.It rdonly
.Fl r
と同じく、マウントするファイルシステムを読み込み専用とします
(スーパユーザでも書き込みできなくなります)。
.It sync
ファイルシステムのすべての
.Tn I/O
を同期的に行います。
+.It suiddir
+マウントされたファイルシステムにおけるディレクトリに
+SUID ビットがセットされると、
+新規ファイルの所有者をディレクトリの所有者に設定します。
+新規ディレクトリは親ディレクトリのビットを継承します。
+実行ビットはファイルから取り除かれ、root には与えられません。
+.Pp
+この機能は PC ユーザに対して ftp, SAMBA, netatalk のサービスを行う
+ファイルサーバのためにデザインされました。
+これはシェルユーザに対してセキュリティホールとなりますので、
+特にホームディレクトリを持つシェルマシンでは使用すべきではありません。
+このオプションが動作するためには、カーネルの SUIDDIR オプションが必要です。
+UFS ファイルシステムのみがこのオプションをサポートします。
+詳細は
+.Xr chmod 2
+を参照してください。
.It update
.Fl u
と同じく、すでにマウントされているファイルシステムの状態を変化させることを
指示します。
.It union
マウントポイント以下の名前空間に、マウントされたファイルシステムのルートと
マウントポイントに元から存在するディレクトリの両方が見えるようにします。
名前を検索するときは、マウントしたファイルシステムが先に検索されます。
ファイルが存在しない
ために検索が失敗した場合は、既存のディレクトリがアクセスされます。
ファイル等の作成は、すべて
マウントしたファイルシステム上に対して行われます。
.El
.Pp
.Nm
が内部で知っているファイルシステムタイプ
.Pf ( Fl t
オプションを参照)
以外の、ファイルシステムタイプに固有のオプションは、
コンマで区切って指定します。このオプションは、オプションの前に
.Dq \&-
(ダッシュ記号)をつけて区別します。値を持つオプションは、
-option=valueの形で指定します。
たとえば、
.Bd -literal -offset indent
mount -t mfs -o nosuid,-N,-s=4000 /dev/dk0b /tmp
.Ed
.Pp
では、
.Nm
コマンドは以下と同じものを実行します:
.Bd -literal -offset indent
/sbin/mount_mfs -o nosuid -N -s 4000 /dev/dk0b /tmp
.Ed
.It Fl p
マウント情報を fstab の形式で表示します。暗黙的に
.Fl v
オプションを指定します。
.It Fl r
ファイルシステムをリードオンリーで
マウントします(スーパユーザでも書き込みは行えません)。
これは、
.Fl o
オプションで
.Dq rdonly
を指定するのと同じです。
.It Fl t Ar "ufs \\*(Ba lfs \\*(Ba external type"
.Fl t
のあとの引数にはファイルシステムタイプを指定します。
デフォルトは、
.Ar ufs
です。
.Fl t
オプションによって、
.Nm
コマンドの操作が、指定した特定のタイプのファイルシステムに対してのみ
行われるように指示することができます。
2つ以上のタイプを指定するにはコンマで区切ります。
ファイルシステムリスト
の先頭に
.Dq no
という文字をつけることに
よって、
.Nm
コマンドの操作の対象と
.Em しない
ファイルシステムタイプを指定することができます。
以下に例を示します:
.Bd -literal -offset indent
mount -a -t nonfs,mfs
.Ed
.Pp
は、
.Tn NFS
.Tn MFS
を除いた、すべてのファイルシステムをマウントします。
.Pp
type を内部で解釈できない場合、
.Nm
.Pa /sbin/mount_ Ns Em XXX
というプログラムを実行しようとします。
.Em XXX
の部分が type になります。たとえば nfs ファイルシステムは、
.Pa /sbin/mount_nfs
というプログラムによってマウント
されます。
.Pp
ほとんどのファイルシステム用モジュールは
カーネル中にない場合、ファイルシステム別のマウントプログラム
によって動的に読み込まれます。
そこでは
.Xr vfsload 3
サブルーチンが使われます。
この機構には書き込み可能な作業領域が必要なため、
.Pa /tmp
があるファイルシステムタイプのモジュールはカーネルに
組み込まれている必要があります。さらに
.Pa /etc/fstab
において、
.Pa /tmp
.Pa /usr/bin/ld
があるファイルシステムは
動的に読み込まれるファイルシステムよりも前に
記述されていなければいけません。
.It Fl u
.Fl u
フラグは、すでにマウントしているファイルシステム
の状態の変更を指示します。
ファイルシステムを読み込み専用から読み書き可能へ、またその逆へも変更することを
含めて、すでに説明したすべてのオプション
.Pf ( Fl o
オプション)
の内容を変更することができます。
読み書き可能なファイルシステムを読み出し専用に変更する場合、
書き込みのためにオープンしているファイルがあるときには、
.Fl f
オプションを指定しなければ変更に失敗します。
どのオプションを適用するかを決定する際、最初に
.Xr fstab 5
のテーブル
を参照し、適用します。その次に
.Fl o
オプションの引数を適用し、最後に
.Fl r
.Fl w
オプションが適用されます。
.It Fl v
詳細なメッセージを表示します。
.It Fl w
ファイルシステムを読み書き可能とします。
.Pp
.Tn NFS
ファイルシステムに対して指定できるオプションは、
.Xr mount_nfs 8
のマニュアルに記述されています。
.Sh 関連ファイル
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
ファイルシステムテーブル
.El
.Sh 診断
多岐に渡りますが、ほぼ全てが自明です。
.Pp
.Dl XXXXX filesystem is not available
.Pp
カーネルはそのファイルシステムタイプをサポートしていません。
ファイルシステムのサポートは、
静的(カーネルコンパイル時)もしくは動的(
.Xr modload 8
によってカーネルモジュールとしてロードされる)です。
通常、
.Nm
もしくはそのサブプロセスは、
ファイルシステムモジュールが静的に組み込まれていない場合は、
.Xr vfsload 3
を使用して動的にそのファイルシステムモジュールをロードしようとします。
この場合上記エラーメッセージは、
モジュールをロードするパーミッションを持たないことも意味する場合があります。
.Sh 関連項目
.Xr mount 2 ,
.Xr vfsload 3 ,
.Xr fstab 5 ,
.Xr mount_cd9660 8 ,
.Xr mount_devfs 8 ,
.Xr mount_fdesc 8 ,
.Xr mount_kernfs 8 ,
.Xr mount_lfs 8 ,
.Xr mount_mfs 8 ,
.Xr mount_msdos 8 ,
.Xr mount_nfs 8 ,
.Xr mount_null 8 ,
.Xr mount_portal 8 ,
.Xr mount_procfs 8 ,
.Xr mount_umap 8 ,
.Xr mount_union 8 ,
.Xr umount 8
.Sh バグ
異常なファイルシステムをマウントすると、
システムクラッシュを引き起こすことがあります。
.Sh 警告
マウントに成功した後にマウントされたファイルシステムから
.Pa ".."
がアクセス可能かどうかは、
元のマウントポイントのパーミッションが決定します。
全ユーザが双方向にマウントポイントを行き来可能とするために最低限必要な
パーミッションは 0111 (全員が実行可能) です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しています。
diff --git a/ja/man/man8/mount_ext2fs.8 b/ja/man/man8/mount_ext2fs.8
index 07347b755c..2637a7e714 100644
--- a/ja/man/man8/mount_ext2fs.8
+++ b/ja/man/man8/mount_ext2fs.8
@@ -1,75 +1,76 @@
.\" Copyright (c) 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.
.\"
+.\" %Id: mount_ext2fs.8,v 1.5 1998/07/06 07:13:31 charnier Exp %
.\" jpman %Id: mount_ext2fs.8,v 1.3 1997/09/09 04:07:26 yugawa Stab %
.\"
.Dd January 31, 1996
.Dt MOUNT_EXT2FS 8
.Os FreeBSD 2.2
.Sh 名称
.Nm mount_ext2fs
.Nd ext2fs ファイルシステムをマウントする
.Sh 書式
.Nm mount_ext2fs
.Op Fl o Ar options
.Ar special
.Ar node
.Sh 解説
.Nm
コマンドは ext2fs ファイルシステムの
.Ar special
デバイスをファイルシステムツリーの
.Ar node
に接続します。
.Pp
通常このコマンドは、ブート時に
.Xr mount 8
によって実行されます。
.Pp
オプションは、次の通りです:
.Bl -tag -width indent
.It Fl o
.Fl o
フラグの後には、コンマで区切ったオプション文字列を指定することができます。
指定可能なオプションとその意味は、
.Xr mount 8
マニュアルページを参照して下さい。
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh 歴史
.Nm
の機能は
.Fx 2.2
から登場しました。
diff --git a/ja/man/man8/mount_msdos.8 b/ja/man/man8/mount_msdos.8
index 35fb78fd0c..a068107662 100644
--- a/ja/man/man8/mount_msdos.8
+++ b/ja/man/man8/mount_msdos.8
@@ -1,223 +1,223 @@
.\" $NetBSD: mount_msdos.8,v 1.13 1998/02/06 05:57:00 perry Exp $
.\"
.\" Copyright (c) 1993,1994 Christopher G. Demetriou
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgment:
.\" This product includes software developed by Christopher G. Demetriou.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: mount_msdos.8,v 1.3.2.1 1998/07/16 02:02:02 jkh Exp %
+.\" %Id: mount_msdos.8,v 1.14 1998/06/30 06:23:41 charnier Exp %
.\" jpman %Id: mount_msdos.8,v 1.3 1997/09/08 01:55:26 seki Stab %
.\"
.Dd April 7, 1994
.Dt MOUNT_MSDOS 8
.Os
.Sh 名称
.Nm mount_msdos
.Nd MS-DOS ファイルシステムをマウントする
.Sh 書式
.Nm mount_msdos
.Op Fl o Ar options
.Op Fl u Ar uid
.Op Fl g Ar gid
.Op Fl m Ar mask
.Op Fl s
.Op Fl l
.Op Fl 9
.\".Op Fl G
.Op Fl L Ar locale
.Op Fl W Ar table
.Pa special
.Pa node
.Sh 解説
.Nm
コマンドは、デバイス名
.Pa special
上の MS-DOS ファイルシステムを、
グローバルファイルシステムの名前空間の
.Pa node
の示す位置に接続します。
通常このコマンドは、ブート時に
.Xr mount 8
によって実行されますが、
任意のユーザが、
自分の所有する任意のディレクトリに
MS-DOS ファイルシステムをマウントするために使うこともできます。
(もちろん、
そのファイルシステムを含むデバイスに対して
適切なアクセスを行えることが条件ですが。)
.Pp
オプションは以下のものが使用できます:
.Bl -tag -width Ds
.It Fl o Ar options
指定されたマウントオプション
.Ar options
.Xr mount 8
の記述通り使用します。
.It Fl u Ar uid
ファイルシステム上のファイルの所有者を
.Ar uid
にします。デフォルトの所有者はファイルシステムがマウントされるディレクトリの
所有者です。
.It Fl g Ar gid
ファイルシステム上のファイルのグループを
.Ar gid
にします。デフォルトのグループはファイルシステムがマウントされるディレクトリの
グループです。
.It Fl m Ar mask
ファイルシステム上のファイルの最大のパーミッションを指定します。
(例えば、
Ar mask
.Li 755
は、デフォルトで、
.\" ここでの by default は「MS-DOS の『ファイル属性』として特別な指定
.\" がないとき」という意味であると思われる。意味がわかりにくいが、原文
.\" もわかりにくいので、特に説明を補わない。
.\" by <seki@sysrap.cs.fujitsu.co.jp>
所有者がファイルの読み書き実行の権限を持ち、
他のユーザが読みと実行の権限だけを持つことを指定します。
8 進のファイルモードに関しては
.Xr chmod 1
を御覧下さい。)
.Ar mask
の下位 9 ビットのみが使用されます。
デフォルトの
.Ar mask
は、
ファイルシステムがマウントされるディレクトリから取得されます。
.It Fl s
Win'95 のロングファイル名を無視および生成しないように強制します。
.It Fl l
Win'95 のロングファイル名のリストおよび生成と、
生成/修正/アクセス日を分離するように強制します。
.Pp
.Fl s
.Fl l
も指定されない場合、
.Nm
は既存の Win'95 のロングファイル名から
マウントすべきファイルシステムのルートディレクトリを探してマウントします。
このようなエントリが見付からなかった場合、
.Fl s
がデフォルトです。そうでない場合、
.Fl l
が仮定されます。
.It Fl 9
ファイルを削除およびリネームするときにおいても、
特殊な Win'95 のディレクトリエントリを無視します。
これは
.Fl s
を強制します。
.\".It Fl G
.\"This option causes the filesystem to be interpreted as an Atari-Gemdos
.\"filesystem. The differences to the MS-DOS filesystem are minimal and
.\"limited to the boot block. This option enforces
.\".Fl s .
.It Fl L Ar locale
DOS と Win'95 の国際大文字小文字名前変換において使用される
ロケール名を指定します。
デフォルトでは ISO 8859-1 がローカルな文字セットと仮定されます。
.It Fl W Ar table
3 個の変換表を含むテキストファイルを指定します:
.Bl -enum
.It
Win'95 のロングファイル名に対して、
ローカル文字セットから Unicode へ変換する表 (上半分)であり、
128 Unicode コードです。
Unicode に存在しないコードがあった場合、
0x003F コード ('?') を代わりに使用します。
.It
DOS 名に対して、
DOS からローカル文字セットへ変換する表 (上半分) であり、
128 文字コードです。
変換できないものに対しては、
コード 0x3F ('?') を使用します。
.It
DOS 名に対して、
DOS からローカル文字セットへ変換する表 (上半分) であり、
128 文字コードです。
特殊な意味を持つコードがあります:
.Bl -hang
.It 0x00
DOS フィイル名において禁止されている文字;
.It 0x01
DOS ファイル名において '_' に変換されるべき文字;
.It 0x02
DOS ファイル名においてスキップされるべき文字;
.El
.El
.Pp
デフォルトでは ISO 8859-1 がローカル文字セットとして仮定されます。
パスが絶対パスでない場合、
.Pa /usr/libdata/msdosfs/
プレフィックスが前に付きます。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/libdata/msdosfs -compact
.It Pa /usr/libdata/msdosfs
文字セット変換表のデフォルトの置き場所
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh 警告
Win'95 で使用しているものと同様の手続きを使用して注意しているにもかかわらず、
.Fl 9
フラグを使用するとファイルシステムを破壊することがあります。
.Pp
.Fx 2.1
およびそれ以前のバージョンでは 16K より大きなクラスタサイズを扱えませんでした。
MS-DOS ファイルシステムをマウントするだけで、
そのファイルシステムを破壊してしまうことがありました。
16K より大きなクラスタサイズは
1G より大きなファイルシステムでは避けようがありませんし、
1G より大きなファイルシステムを FIPS で縮めたときにも発生し得ます。
.Pp
デフォルトの
.Fl s
および
.Fl l
の扱いによって、
空のファイルシステムにおいて短いファイル名のみ発生することがあります。
空の DOS ファイルシステムにおいてロングファイル名を生成するには
.Fl l
を使用してください。
.Sh 歴史
.Nm
.Fx 2.0
にて初めて登場しました。
この元になった、
.Nm mount_pcfs
.Fx 1.0
にて登場しましたが、
よりそれらしい名前の
.Nm
が出来たため廃止されました。
diff --git a/ja/man/man8/mount_nfs.8 b/ja/man/man8/mount_nfs.8
index 2e3bc6ee33..339af14918 100644
--- a/ja/man/man8/mount_nfs.8
+++ b/ja/man/man8/mount_nfs.8
@@ -1,298 +1,320 @@
-.\" Copyright (c) 1992, 1993, 1994
+.\" 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.2 (Berkeley) 3/27/94
+.\" @(#)mount_nfs.8 8.3 (Berkeley) 3/29/95
.\"
-.\" %Id: mount_nfs.8,v 1.5.2.2 1998/07/07 04:52:54 jkoshy Exp %
+.\" %Id: mount_nfs.8,v 1.14 1998/07/06 07:15:53 charnier Exp %
.\" jpman %Id: mount_nfs.8,v 1.3 1997/05/19 17:04:14 horikawa Stab %
.\""
-.Dd March 27, 1994
+.Dd March 29, 1995
.Dt MOUNT_NFS 8
.Os BSD 4.4
.Sh 名称
.Nm mount_nfs
.Nd NFS(ネットワークファイルシステム)をマウントする
.Pp
.Sh 書式
.Nm mount_nfs
-.Op Fl 23KPTUbcdilqs
+.Op Fl 23KNPTUbcdilqs
.Op Fl D Ar deadthresh
.Op Fl I Ar readdirsize
.Op Fl L Ar leaseterm
.Op Fl R Ar retrycnt
.Op Fl a Ar maxreadahead
.Op Fl g Ar maxgroups
.Op Fl m Ar realm
.Op Fl o Ar options
.Op Fl r Ar readsize
.Op Fl t Ar timeout
.Op Fl w Ar writesize
.Op Fl x Ar retrans
.Ar rhost:path node
.Sh 解説
-.Nm mount_nfs
+.Nm
は、ファイルシステムツリー上の指定された
.Ar node
にリモートの NFS ファイルシステム (rhost:path) をマウントするために、
.Xr mount 2
システムコールを呼び出します。このコマンドは通常、
.Xr mount 8
によって実行されます。このプログラムは、RFC 1094 の Appendix. A および
.%T "NFS: Network File System Version 3 Protocol Specification" ,
Appendix I.
に記述されているマウントプロトコルを実装しています。
.Pp
オプションを以下に示します:
.Bl -tag -width indent
.It Fl 2
NFS バージョン 2 プロトコルを使用します
(デフォルトはバージョン 3 をまず試した後にバージョン 2 を用います)。
+NFS バージョン 2 では、
+ファイルサイズは 2 ギガバイトに制限されることに注意してください。
.It Fl 3
NFS バージョン 3 プロトコルを使用します。
.It Fl D
NQNFSにおいて
.Dq "停止サーバ閾 (dead server threshold)"
をタイムアウト (round trip timeout) 回数で指定します。
再送タイムアウト回数が
.Dq 停止サーバ閾
に達した後は、無応答なサーバに関するキャッシュデータをいまだ有効な
ものと見倣します。
値は 1 から 9 までで、9 は
.Dq "無限停止閾 (infinite dead threshold)"
です (キャッシュデータを有効と見倣す事はありません)。
このオプションは一般に薦められるものではなく実験的なものです。
.It Fl I
readdir での読み取りサイズを指定した値にします。
値は通常 BIRBLKSIZ の倍数であり、マウントの読み取りサイズ以下です。
.It Fl K
クライアント - サーバ間のユーザ認証用に Kerberos 認証書をサーバへ渡します。
カーネルが NFSKERB オプションにて構築されている必要があります
インターネットドラフト
.%T "Authentication Mechanisms for ONC RPC"
を御覧下さい。)
.It Fl L
NQNFS において、リース期間を指定した秒数にします。
応答遅延 (round trip delay) が大きな場合だけ使って下さい。
値は通常、10 秒から 30 秒の間です。
+.It Fl N
+予約されたソケットポート番号を使用し
+.Em ません
+(後述)。
.It Fl P
予約されたソケットポート番号を使います。
+このフラグは廃れたものであり、互換性のためだけにあります。
+現在、予約されたソケットポート番号をデフォルトで使用します。
NFS がより安全になるとの考え方 (これは誤りです) に基づいて
クライアントが予約ポートを使用しないとマウントさせないサーバ
をマウントするのに役立ちます。
(クライアントの root が信頼でき、ネットワークケーブルも安全な場所にあ
るが、クライアントのユーザは信頼できないという、まれな場合には
役に立つでしょうが、通常のデスクトップクライアントには当てはまりません。)
.It Fl R
マウントする際のリトライ回数を、指定された値にします。
.It Fl T
UDP の代わりに TCP を使います。これは、サーバがクライアントと
同じ LAN ケーブル上にない場合に使うことをお勧めします
(注意: この機能は大抵の非 BSD サーバではサポートされていません)。
.It Fl U
TCP NFS マウントであっても、マウントプロトコルに UDP を強制します。
(古い BSD サーバにて必要です。)
.It Fl a
先読みブロック数を指定した値に設定します。値は 0 から 4 までの範囲で、
サイズの大きなファイルをシーケンシャルに読む場合、
何ブロック先読みするかを決定します。
帯域幅×遅延が大きな状況でマウントする場合に 1 より大きな値をお勧めします。
.It Fl b
最初にサーバの接続に失敗した場合、子プロセスを起動して、
バックグラウンドでマウントを続けようとします。
マルチユーザモードで起動する際、重要でないファイルシステムを
.Xr fstab 5
に書いておく場合に役に立ちます。
.It Fl c
.Tn UDP
マウントポイントに対しては、
.Xr connect 2
を使いません。
これは、標準のポート番号 2049 からのリクエストに答えないサーバ
に対しては使う必要があります。
.It Fl d
再送タイムアウト時間を動的に予測しません。これは、
動的に予測される再送タイムアウト時間が非常に短いために、
UDP マウントが高いリトライレートを示しているような場合に有効です。
.It Fl g
認証用のグループリストの最大サイズを、指定した値に設定します。
RFC 1057 ではグループリストのサイズは 16 と記述されていますが、これを
扱えない古いサーバをマウントするときに使うべきです。
多くのグループに属しているユーザに対してマウントポイントから
応答がない場合は、8 を指定してみて下さい。
.It Fl i
マウントを割り込み可能とします。これは、応答しないサーバがあるために
ファイル関連のシステムコールが遅れるような場合、
プロセスに終了シグナルが送られると、EINTR で
システムコールが失敗することを意味します。
.It Fl l
NQNFS と NFSV3 において、\fBReaddir_and_Lookup\fR RPCを使うことを
指定します。
このオプションは
.Dq "ls -l"
するようなときに RPC のトラフィックを減らしますが、
属性と名前のキャッシュをプリフェッチエントリで溢れさせる傾向があります。
このオプションを指定して性能が良くなるのか悪くなるのかを確認して下さい。
バンド幅と遅延の積が大きなネットワークにて最も有用でしょう。
.It Fl m
Kerberos の管理領域を文字列で指定します。
他の管理領域にマウントする場合に
.Fl K
オプションと共に使います。
.It Fl o
.Fl o
フラグの後に、オプションをコンマで区切って並べ指定します。
指定可能なオプションとその意味は
.Xr mount 8
を参照してください。
以下の NFS 固有のオプションを使用可能です:
.Bl -tag -width indent
.It port=<port_number>
指定したポート番号を NFS 要求に使用します。
デフォルトでは portmapper に問い合わせます。
+.It acregmin=<seconds>
+.It acregmax=<seconds>
+.It acdirmin=<seconds>
+.It acdirmax=<seconds>
+ファイル属性がキャッシュされたときに、
+キャッシュエントリをエクスパイアするためにタイムアウトを計算します。
+これらの 4 つの値は、``ディレクトリ'' および ``通常'' (ディレクトリ以外) の
+上限および下限を決定します。
+デフォルトでは、
+通常ファイルは 3 から 60 秒、
+ディレクトリは 30 から 60 秒です。
+タイムアウトの算出アルゴリズムはファイルの古さを元にするものです。
+ファイルが古くなると、キャッシュが有効であると見倣す期間も長くなり、
+上記限界に近付きます。
.El
.Pp
.Bl -tag -width "dumbtimerXX"
\fB歴史的な \&-o オプション\fR
.Pp
これらのオプションを使用する事は勧められません。
歴史的な
-.Nm mount_nfs
+.Nm
との互換性のためにここに記述してあります。
.It bg
.Fl b
と同じ。
.It conn
.Fl c
を指定しない場合と同じ。
.It dumbtimer
.Fl d
と同じ。
.It intr
.Fl i
と同じ。
.It kerb
.Fl K
と同じ。
.It nfsv2
.Fl 2
と同じ。
.It nfsv3
.Fl 3
と同じ。
.It rdirplus
.Fl l
と同じ。
.It mntudp
.Fl U
と同じ。
.It resvport
.Fl P
と同じ。
.It seqpacket
.Fl p
と同じ。
.It nqnfs
.Fl q
と同じ。
.It soft
.Fl s
と同じ。
.It tcp
.Fl T
と同じ。
.El
.It Fl q
キャッシュの一貫性を保つためにプロトコルのリース拡張を NFS バージョン 3
プロトコルにて使います。
このプロトコルのバージョン 2 は Not Quite Nfs (NQNFS) と呼ばれ、
最新の NFS コードでのみサポートされています。
(4.4BSD-Lite における NQNFS のリリースとは互換性がありません。
4.4BSD-Lite NFS システムを混在させて使用する場合には、
4.4BSD-Lite ベースシステムの NFS コードをアップグレードするまで、
このオプションを使用してはなりません。)
.It Fl r
データのリードサイズを指定した値にします。この値は通常 1024
以上の 2 のべき乗でなければなりません。これはマウントポイント
を頻繁に使っている間に、
.Dq タイムアウトで消失したフラグメント数
が大きくなっていくときに、UDP マウントに対して使います
.Pf ( Xr netstat 1
.Fl s
オプション付きで使う
ことで、
.Dq タイムアウトで消失したフラグメント数
の値を見ることができます)。
.Fl w
オプションも参照
してください。
.It Fl s
ソフトマウントを行います。これは、
タイムアウトが決められた\fBリトライ\fR回数に達すると、
システムコールが失敗することを意味します。
.It Fl t
指定した値に初期再送タイムアウト時間を設定します。パケット
の消失レートの高いネットワークや負荷の高いサーバで行う UDP マウントを
チューニングするときに役立ちます。
ファイルシステムがアクティブなときに
.Xr nfsstat 1
が高い再送レートを示す場合には、この値を増やしてみて下さい。
一方、再送レートは低いが、応答遅延が長い場合はこの値を減らします。
(通常、-d オプションをこのオプションとともに使い、
手動でタイムアウトインターバルを調整します。)
.It Fl w
指定した値にライトデータサイズを設定します。解説は
.Fl r
オプションと同様ですが、
.Dq タイムアウトで消失したフラグメント数
は、クライアントのかわりにサーバの値を使います。
.Fl r
.Fl w
のオプションは、マウントするサーバが TCP
マウントをサポートしていない場合にパフォーマンスを向上させる
最後の手段であることに注意してください。
.It Fl x
ソフトマウントの再送タイムアウト回数を設定します。
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh バグ
Sun RPCは UDP (信頼性のないデータグラム) トランスポート層上に
実装されているため、マウントの性能をチューニングしても
限界があります。サーバが同じ LAN ケーブル上にない場合や、
サーバの負荷が高い場合には、
.Tn TCP
トランスポートを使うことを強くすすめますが、
残念なことに、ほぼ 4.4BSD サーバに限られています。
diff --git a/ja/man/man8/mount_null.8 b/ja/man/man8/mount_null.8
index 214f7b0e4a..5136298d3b 100644
--- a/ja/man/man8/mount_null.8
+++ b/ja/man/man8/mount_null.8
@@ -1,210 +1,223 @@
.\"
.\" Copyright (c) 1992, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software donated to Berkeley by
.\" John Heidemann of the UCLA Ficus project.
.\"
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" from: @(#)mount_null.8 8.4 (Berkeley) 4/19/94
-.\" %Id: mount_null.8,v 1.5.2.2 1998/08/12 06:28:38 charnier Exp %
+.\" @(#)mount_null.8 8.6 (Berkeley) 5/1/95
+.\" %Id: mount_null.8,v 1.9 1998/07/06 07:17:26 charnier Exp %
.\" jpman %Id: mount_null.8,v 1.2 1997/03/31 13:38:01 horikawa Stab %
.\"
-.Dd April 19, 1994
+.Dd May 1, 1995
.Dt MOUNT_NULL 8
.Os BSD 4.4
.Sh 名称
.Nm mount_null
-.Nd 何もしない(null)ファイルシステム層の利用のデモ
+.Nd ループバックファイルシステムサブツリーをマウントする;
+何もしない(null)ファイルシステム層の利用のデモ
.Sh 書式
.Nm mount_null
.Op Fl o Ar options
.Ar target
.Ar mount_point
.Pp
.Sh 解説
-.Nm mount_null
+.Nm
は、null 層を作ります。これは、
ファイルシステムの名前空間の部分木を、グローバルなファイルシステムの名前空間
の別の場所にエイリアスします。
+これにより、既存のファイルとディレクトリが別のパス名にてアクセス可能
+となります。
+.Pp
+ファイルシステムの仮想的コピーとシンボリックリンクとの第 1 の違いは、
+.Xr getcwd 3
+関数が仮想コピーでは正しく動作する点と、
+別のファイルシステムを仮想コピー上にマウントしてもオリジナルには影響がない点
+です。
+.Xr stat 2
+は、仮想コピーに対して別のデバイス番号が返しますが、
+別の側面においてはオリジナルとの区別はつきません。
+.Pp
歴史的な
ループバックファイルシステムと異なるのは、次の2つの点です: 1つは、ファイル
システムのスタック化可能層(stackable layers)という技術を使って
実装されている点、もう1つはディレクトリの vnode だけでなく、
すべての下位層の vnode の上に
``null-node''が積み重なっているという点です。
.Pp
オプションは以下のものがあります:
.Bl -tag -width indent
.It Fl o
.Fl o
のあとに、オプション文字列をコンマで区切って指定すること
ができます。指定可能なオプションとその意味は
.Xr mount 8
を参照してください。
.El
.Pp
この null 層は2つの目的を持っています。1つは、何もしない層
を提供することでファイルシステムの層の構築のデモを示すことです(実際には
何も行わないというわけではなく、
ループバックファイルシステムが提供することはすべて行います)。
もう1つはプロトタイプ層を提供することで
す。層のフレームワークとして必要なことはすべて提供しているので、
ここから新しいファイルシステム層を簡単に作り出すことができます。
.Pp
このマニュアルの以下の部分では、新しいファイルシステム層を構築するための
基礎として null 層を調べます。
.\"
.\"
.Sh 新しい null 層の例示
新しい null 層は
.Xr mount_null 8
で作られます。
.Xr mount_null 8
2つの引数をとります。
1つは下位層の vfs のパス名(target-pn)で、
もう1つは null 層が現れる名前空間内のパス名(mount-point-pn)です。
null 層が適切な場所に置かれた後、
目的のディレクトリ階層(target-pn)の中身が
マウント先(mount-point-pn)にエイリアスされます。
.\"
.\"
.Sh null 層の操作
null 層は最小のファイルシステム層であり、
すべての操作を下位層に処理させるためにバイパスするだけです。
ほとんどすべてのvnodeに対する操作はパスすることですが、
その動作のほとんどはバイパスルーチンに集中します。
.Pp
バイパスルーチンは下位層における任意の vnode に対する操作を受け付けます。
まず、vnodeに対する操作の引数を検査し、
null-node を下位層において等価となるものに置き換えることから始めます。
次に、下位層の操作を起動します。
最後に、引数中の null-node を置き換えます。
もしその操作によってvnodeが返ってきたら、
その返ってきたvnodeの上に null-node を積みます。
.Pp
ほとんどの操作をバイパスしますが、
.Em vop_getattr ,
.Em vop_inactive ,
.Em vop_reclaim ,
.Em vop_print
はバイパスしません。
.Em vop_getattr
は戻り値の fsid を替えなければなりません。
.Em vop_inactive
と vop_reclaim は、null 層特有のデータを解放するためにバイパスしません。
.Em vop_print
は過度のデバッグ情報を避けるためにバイパスしません。
.\"
.\"
.Sh vnodeスタックの概説
マウントは null 層を下位層に関連づけます。
その結果 2 つの VFS が積み重なります。
vnode スタックはファイルがアクセスされるたびに必要に応じて作成されます。
.Pp
最初のマウントでは新しい null 層の根として単一の vnode スタックを作ります。
他のすべての vnode スタックは根の vnode スタックや他の null vnode スタックの
操作の結果として作られます。
.Pp
vnode を返す操作の結果として新しい vnode スタックが生まれます。
バイパスルーチンは、呼出し側に vnode を返す前に新しい vnode の上に null-node
を積みます。
.Pp
例えば、null 層を以下のようにマウントする例を想像します。
.Bd -literal -offset indent
mount_null /usr/include /dev/layer/null
.Ed
.Pa /dev/layer/null
にチェンジディレクトリすると、根の null-node (null 層をマウントした時
に作られたもの) が割り当てられます。
ここで
.Pa sys
をオープンすることを考えてみます。
vop_lookup は根の null-node で行なわれます。
この操作は下位層にバイパスされ、下位層が
UFS の
.Pa sys
を表す vnode を返します。
それから null_bypass は
UFS
.Pa sys
にエイリアスする null-node を構築し、呼出元にこれを返します。
null-node
.Pa sys
に対する以降の操作で他のvnodeスタックを構築する時には
この処理が繰り返されます。
.\"
.\"
.Sh 他のファイルシステム層の作成
新しいファイルシステム層を構築する一番簡単な方法は、
null 層のコピーを作り、すべてのファイル、変数の名前を付け直し、
そしてそのコピーを変更することです。
すべての変数の名前を変えるのには
.Xr sed 1
が良く使われます。
.Pp
umap 層は null 層の子孫の 1 例です。
.\"
.\"
.Sh 下位層の操作の起動
操作が完全にはバイパスできない時に
下位層にある操作を起動するための方法が 2 つあります。
それぞれの方法は違った状況に対して適切に使われます。
両方の場合とも、
その操作の引数を下位層のために正しく作るのはエイリアスする層の責任であり、
vnode 引数を下位層にマッピングします。
.Pp
最初の方法はエイリアスする層のバイパスルーチンを呼ぶことです。
この方法は、下位層で現在扱われている操作を起動したい時に最も適しています。
これはバイパスルーチンがすでにマッピングされているという利点があります。
この例として、
.Em null_getattrs
が null 層にあります。
.Pp
2 つ目の方法は、
.Em VOP_OPERATIONNAME
インタフェースを用いて下位層のvnodeの操作を直接起動することです。
この方法の利点は、下位層の任意の操作を起動するのが簡単ということにあります。
欠点は、vnode 引数は手動でマッピングされなければならないことです。
.\"
.\"
.Sh 関連項目
.Xr mount 8
.sp
UCLA Technical Report CSD-910056,
.Em "Stackable Layers: an Architecture for File System Development" .
.Sh 歴史
-.Nm mount_null
+.Nm
は、
.Bx 4.4
から登場しました。
diff --git a/ja/man/man8/mount_portal.8 b/ja/man/man8/mount_portal.8
index b69734ad4e..b7a1d3107d 100644
--- a/ja/man/man8/mount_portal.8
+++ b/ja/man/man8/mount_portal.8
@@ -1,141 +1,141 @@
.\"
.\" 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
.\" Jan-Simon Pendry.
.\"
.\" 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_portal.8 8.3 (Berkeley) 3/27/94
-.\" %Id: mount_portal.8,v 1.2.2.1 1998/07/17 20:13:33 jkh Exp %
+.\" %Id: mount_portal.8,v 1.3 1998/07/06 07:19:25 charnier Exp %
.\" jpman %Id: mount_portal.8,v 1.2 1997/03/31 13:38:30 horikawa Stab %
.\"
.\"
.Dd March 27, 1994
.Dt MOUNT_PORTAL 8
.Os BSD 4.4
.Sh 名称
.Nm mount_portal
.Nd ポータルデーモンをマウントする
.Pp
.Sh 書式
.Nm mount_portal
.Op Fl o Ar options
.Ar /etc/portal.conf
.Ar mount_point
.Sh 解説
.Nm
コマンドは、ポータルデーモンが提供するインスタンスを
ファイルシステムの名前空間に付加します。
慣例的なマウントポイントは
.Pa /p
です。このコマンド
は、通常、ブート時に
.Xr mount 8
によって実行されます。
.Pp
オプション:
.Bl -tag -width indent
.It Fl o
オプションは
.Fl o
のあとにオプション文字列をコンマで区切って並べることにより指定します。
指定できるオプションとそれらの意味は
.Xr mount 8
を参照してください。
.El
.Pp
ポータルデーモンは
.Em open
サービスを提供します。ポータルマウントポイント下で
オブジェクトをオープンすると、ポータルデーモンは設定ファイル中で指定
されたルールに従って動的にそのオブジェクトを生成します。
この機構を使えば、ソケットなどのディスクリプタをファイルシステムの
名前空間の中で使うことができるようになります。
.Pp
ポータルデーモンは、オープンしようとするオブジェクトのフルパス名を
与えることによって動作します。デーモンは、設定ファイル中のルールに従って
適切なディスクリプタを生成し、このディスクリプタを open システムコールの
戻り値として
呼び出しプロセスに返します。
.Sh 名前空間
慣例に従い、ポータルデーモンは名前空間を部分名前空間に分割します。
それぞれの部分名前空間は特定の型のオブジェクトを扱います。
.Pp
現在、
.Pa tcp
.Pa fs
という二つの部分名前空間が実装されています。
.Pa tcp
名前空間はホスト名とポート番号(スラッシュ``/''で区切られる)
を与えられることで
.Tn TCP/IP
接続を確立します。
.Pa fs
名前空間は、ルートディレクトリまで戻ってそこからたどった名前の
ファイルをオープンします。これは chroot によってルートディレクトリが
変更された環境において、もとのファイル
システムをアクセスする手法を安全に提供するために使用できます。
.Sh 設定ファイル
設定ファイルはルールのリストによって構成されます。それぞれのルールは
1行に書かれ、空白で区切られた2つ以上のフィールドからなります。ハッシュ記号
(``#'')から行末までは無視されます。空行も無視されます。
.Pp
第1フィールドはパス名のプレフィックスで、要求されたパス名と比較されます。
一致するものが見つかると、第2フィールドがデーモンに渡されてどの型の
オブジェクトを生成するかが示されます。
その後に続くフィールドは生成関数に渡されます。
.Pp
.Bd -literal -offset indent
# @(#)portal.conf 5.1 (Berkeley) 7/13/92
tcp/ tcp tcp/
fs/ file fs/
.Ed
.Sh 関連ファイル
.Bl -tag -width /p/* -compact
.It Pa /p/*
慣例的なマウントポイント
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh 警告
このファイルシステムは
.Tn NFS
によってエクスポートすることはできません。
.Sh 歴史
.Nm
.Bx 4.4
から登場しました。
diff --git a/ja/man/man8/mount_std.8 b/ja/man/man8/mount_std.8
index 15976a3059..317a733429 100644
--- a/ja/man/man8/mount_std.8
+++ b/ja/man/man8/mount_std.8
@@ -1,163 +1,163 @@
.\"
.\" Copyright (c) 1992, 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
.\" Jan-Simon Pendry.
.\"
.\" 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.
.\"
-.\" %Id: mount_std.8,v 1.3.2.3 1998/07/17 20:13:34 jkh Exp %
+.\" %Id: mount_std.8,v 1.8 1998/07/15 06:08:46 charnier Exp %
.\" jpman %Id: mount_std.8,v 1.3 1997/09/23 16:40:39 horikawa Stab %
.\"
.Dd May 13, 1996
.Dt MOUNT_STD 8
.Os FreeBSD 2.2
.Sh 名称
.Nm mount_std ,
.Nm mount_devfs ,
.Nm mount_fdesc ,
.Nm mount_kernfs ,
.Nm mount_procfs
.Nd ``標準'' ファイルシステムをマウントする
.Sh 書式
.Nm mount_ Ns Ar fsname
.Op Fl o Ar options
.Ar "fs"
.Ar mount_point
.Sh 解説
.Nm
は ``標準'' ファイルシステムをファイルシステムにマウントする一般的な機構です。
.Nm
は現在以下のファイルシステムをサポートしています:
.Nm devfs ,
.Nm fdesc ,
.Nm kernfs ,
.Nm procfs
``標準'' ファイルシステムは:
.Bl -enum -offset indent
.It
標準の
.Fl o
オプションだけを受け付けます
.Dq ro
.Pq ``rdonly'' ,
.Dq rw ,
.Dq nodev ,
.Dq noexec ,
.Dq nosuid ,
.Dq union
.It
ユーザに見える名前と同じ、カーネルファイルシステムモジュール名を持ちます。
.It
.Nm mount_std
では特別な処理を行う必要は有りません。
.El
.Pp
オプションを以下に示します:
.Bl -tag -width indent
.It Fl o
.Fl o
フラグの後には、コンマで区切ったオプション文字列を指定することができます。
指定可能なオプションとその意味は、
.Xr mount 8
マニュアルページを参照して下さい。
.El
.Pp
.Nm
は 0 番目のコマンドライン引数(呼ばれたコマンド名)を検査し、
マウントすべきファイルシステムを判定します。
これが
.Dq Li _ Ns Ar fsname
で終らない場合、
.Nm
は(
.Xr mount 8
と同じく)、ファイルシステムタイプの名前のみが 0 番目の引数に格納されていると
見倣します。
.Nm
は、この様にマウントされる分散ファイルシステムのコマンドへの
適切なリンクとして、通常はインストールされます。
各ファイルシステムの機能に関しては、
.Nm mount_ Ns Ar fsname
を御覧下さい。
.Pp
ファイルシステムに関する詳細は以下のマニュアルページを参照下さい:
.Xr devfs 5 ,
.Xr fdesc 5 ,
.Xr kernfs 5 ,
.Xr procfs 5
.Sh 診断
.Bl -diag
.It argv[0] must end in _fsname
.Nm mount_std
コマンドが
.Dq Li mount_std
の 0 番目の引数のコマンドとして呼ばれました。
.It vfsload(%s)
.Nm
は %s ファイルシステムタイプを実装するカーネルモジュールをロードできません。
.It %s filesystem not available
固有のファイルシステムタイプがカーネル中に存在せず、
ロード可能なモジュールが見付かりません。
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr getvfsbyname 3 ,
.Xr devfs 5 ,
.Xr fdesc 5 ,
.Xr fstab 5 ,
.Xr kernfs 5 ,
.Xr procfs 5 ,
.Xr mount 8
.Sh 注意
``標準'' ファイルシステムは NFS エクスポートできません。
.Sh 歴史
.Nm mount_std
.Fx 2.2
から登場しました。
ロード可能なファイルシステムモジュールは
.Fx 2.0
から登場しました。
.Dq fdesc ,
.Dq kernfs ,
.Dq procfs
ファイルシステムタイプは
.Fx 2.0
から登場しました;
.Dq devfs
ファイルシステムタイプは
.Fx 2.2
から登場しました。
diff --git a/ja/man/man8/mount_umap.8 b/ja/man/man8/mount_umap.8
index 54a4d49ff5..57adcb2775 100644
--- a/ja/man/man8/mount_umap.8
+++ b/ja/man/man8/mount_umap.8
@@ -1,124 +1,123 @@
.\" Copyright (c) 1992, 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
.\" Jan-Simon Pendry and from John Heidemann of the UCLA Ficus project.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)mount_umap.8 8.3 (Berkeley) 3/27/94
+.\" @(#)mount_umap.8 8.4 (Berkeley) 5/1/95
+.\" %Id: mount_umap.8,v 1.8 1998/07/15 06:12:31 charnier Exp %
.\" jpman %Id: mount_umap.8,v 1.2 1997/04/12 15:56:14 horikawa Stab %
.\"
-.Dd "March 27, 1994"
+.Dd May 1, 1995
.Dt MOUNT_UMAP 8
.Os BSD 4.4
.Sh 名称
.Nm mount_umap
.Nd ファイルシステム層のサンプルファイルシステム
.Pp
.Sh 書式
.Nm mount_umap
.Op Fl o Ar options
+.Fl u Ar uid-mapfile
+.Fl g Ar gid-mapfile
.Ar target
.Ar mount-point
-.Ar uid-mapfile
-.Ar gid-mapfile
.Sh 解説
-.Nm mount_umap
+.Nm
は、ローカルシステムとは異なる uid, gid を使用するファイルシステムの
サブトリーをマウントするために使用します。
そのようなファイルシステムには、別のサイトの NFS や
別のパスワードを使用する場所から持って来たリムーバブルメディア上の
ファイルシステムです。
.Pp
-以下のオプションを使用可能です:
-.Bl -tag -width indent
-.It Fl o
-.Fl o
-のあとに、コンマで区切ってオプション文字列を指定することができます。
-可能なオプションとその意味は
-.Xr mount 8
-を参照してください。
-.El
-.Pp
-.Nm mount_umap
+.Nm
はユーザが提供するファイルのセットを使用し、
サブトリーの元の環境とローカルの環境との uid, gid の対応を取ります。
元の環境では smith は uid 1000 を持ち、ローカル環境では
uid 2000 を持ちます。
-.Nm mount_umap
+.Nm
は、smith のオリジナルの環境で持っているファイルを次のようにマップさせます:
uid 1000 が所有するファイルを、実際には uid 2000 が所有者である
かのように見せます。
.Pp
-.Em target
-は、ローカルファイルシステム中での現在の位置を記述します。
-.Em mount_point
-はマップされたサブトリーが置かれるディレクトリです。
-.Em uid-mapfile
-と
-.Em gid-mapfile
-には、識別子の対応が記述されます。
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl o
+.Fl o
+のあとに、コンマで区切ってオプション文字列を指定することができます。
+可能なオプションとその意味は
+.Xr mount 8
+を参照してください。
+.It Ar target
+ローカルシステムの名前空間において、サブツリーの現在位置。
+.It Ar mount-point
+マップされたサブツリーが置かれるディレクトリ。
+.It Fl u Ar uid-mapfile
+.It Fl g Ar gid-mapfile
+識別子の対応が記述されます。
それぞれのファイルの1行目には、そのファイルがいくつの対応を持っている
かを記述します。
2行目からは、各行に対応を記述します。
-最初の項目はオリジナル環境での id で、次の項目がローカルな環境での idで、
+最初の項目はローカル環境での id で、次の項目がオリジナル環境での idで、
項目は空白で区切ります。
-.Em uid-mapfile
+.Ar uid-mapfile
にはすべての uid の対応を、
-.Em gid-mapfile
+.Ar gid-mapfile
にはすべての gid の対応を記述するべきです。
-.Em uid-mapfile
+.Ar uid-mapfile
に記載されない uid は NOBODY と、
-.Em gid-mapfile
+.Ar gid-mapfile
に記載されない gid は NULLGROUP と扱われます。
uid の対応は64個まで、gid の対応は16個まで記述することができます。
+.El
.Pp
マップファイルはファイル階層のどこにでも置くことができますが、
ファイルの所有者はrootで、rootのみが書き込めるようにしておかなければ
なりません。
-.Nm mount_umap
+.Nm
は、もしこれらのファイルの所有者や権限が
不適切な場合はサブトリーをマップしません。
もしマップファイルの1行目の対応数と実際の対応数が異なる場合も、
実行を停止します。
.Pp
-.Nm mount_umap
+.Nm
コマンドで作られるファイルシステム層は、簡単なファイルシステム層の
例となっています。商品としての利用は考えられていません。
そのため、あまり洗練された実装ではありません。
.Sh 関連項目
.Xr mount 8 ,
.Xr mount_null 8
.Sh 歴史
-.Nm mount_umap
+.Nm
.Bx 4.4
から実装されました。
diff --git a/ja/man/man8/mount_union.8 b/ja/man/man8/mount_union.8
index 0031d5c023..bbce452ca0 100644
--- a/ja/man/man8/mount_union.8
+++ b/ja/man/man8/mount_union.8
@@ -1,194 +1,195 @@
.\" Copyright (c) 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software donated to Berkeley by
.\" Jan-Simon Pendry.
.\"
.\" 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_union.8 8.6 (Berkeley) 3/27/94
+.\" %Id: mount_union.8,v 1.4 1998/07/15 06:13:45 charnier Exp %
.\" jpman %Id: mount_union.8,v 1.3 1997/08/31 14:06:42 horikawa Stab %
.\"
.Dd March 27, 1994
.Dt MOUNT_UNION 8
.Os BSD 4.4
.Sh 名称
.Nm mount_union
.Nd ユニオンファイルシステムをマウントする
.Sh 書式
.Nm mount_union
.Op Fl br
.Op Fl o Ar options
.Ar directory
.Ar uniondir
.Sh 解説
-.Nm mount_union
+.Nm
コマンドは
.Ar directory
.Ar uniondir
の上に接続し、そこから両方のディレクトリツリーの内容が見えるようにします。
デフォルトでは、
.Ar directory
.Em 上の
層に、
.Ar uniondir
.Em 下の
層になります。
.Pp
オプションには以下のものがあります:
.Bl -tag -width indent
.It Fl b
デフォルトの上下関係を反転します。つまり、
.Ar directory
が下の層に、
.Ar uniondir
が上の層になります。ただし、マウントポイントは
.Ar uniondir
のままになります。
.It Fl o
.Fl o
フラグの後には、オプション文字列をコンマで区切って指定します。
指定可能なオプションと、その意味については
.Xr mount 8
を参照してください。
.It Fl r
.Xr mount_null 8
でマウントした場合と同様に、下の層を完全に隠すようになります。
.El
.Pp
ファイルシステムのセキュリティを維持するため、
ファイルシステムをマウントするユーザは、スーパユーザか、
マウントポイントのディレクトリに書き込み許可を持つ者でなければなりません。
.Pp
ファイルの検索は、上の層、下の層の順におこなわれます。
上の層にはエントリのないディレクトリが、下の層で見つかった場合には、上の層に
.Em シャドウ
ディレクトリが作られます。
このディレクトリはユニオンマウントを実行したユーザの所有になり、モードは
.Dq rwxrwxrwx
(0777) をその時点で有効な umask で修正したものになります。
.Pp
あるファイルが上の層に存在している場合、下の層にある
同じ名前のファイルをアクセスする方法はありません。
どうしても必要なら、ループバックマウントとユニオンマウントを
組み合せることで、別のパス名を使って下の層のファイルを
アクセスできるようにしておくことができます。
.Pp
オブジェクトへのアクセスは、それがディレクトリである場合を除き、
通常のファイルシステムのアクセス権チェックのあとで実行されます。
ディレクトリの場合には、アクセスをおこなうユーザは上の層と下の層の
両方のディレクトリのアクセス権を持っていなければなりません
(両方のディレクトリが存在している必要があります)。
.Pp
いくつかの特別な場合を除き、
.Ar uniondir
中のオブジェクトの作成や変更の要求は上の層に渡されます。
下の層に存在するファイルを書き込み用にオープンしようとすると、
そのファイルの
.Em 完全な
コピーが上の層に作成され、それから上の層のコピーがオープンされます。
同様に、下の層のファイルを切り詰めてサイズを 0 にしようとすると、
空のファイルが上の層に作成されることになります。
これ以外の、本当に下の層の変更が必要となる操作は失敗し、
.Dv EROFS
が返されます。
.Pp
ユニオンファイルシステムは、個々のファイルシステムを扱うというよりも
名前空間を扱うものです。ユニオンマウントは
.Ar uniondir
以下のディレクトリツリーに再帰的に影響します。
このため
.Ar uniondir
以下にマウントされたファイルシステムは、すべて
ユニオン効果を持つようになります。これが
.Xr mount 8
.Em union
オプションとは異なる点です。
union オプションでは、ユニオン効果はマウントポイントだけに働き、
ファイル名の探索のみに使われます。
.Sh 使用例
コマンド
.Bd -literal -offset indent
mount -t cd9660 -o ro /dev/cd0a /usr/src
-mount -t union -o /var/obj /usr/src
+mount -t union /var/obj /usr/src
.Ed
.Pp
は、CD-ROM ドライブ
.Pa /dev/cd0a
.Pa /usr/src
にマウントし、その上に
.Pa /var/obj
を重ねます。ほとんどの場合、これはソースツリーが実際には CD-ROM 上に
あるにもかかわらず、書き込みが可能になるという効果を目的としています。
.Pp
コマンド
.Bd -literal -offset indent
mount -t union -o -b /sys $HOME/sys
.Ed
.Pp
は、ユーザのホームディレクトリの下の
.Pa sys
ディレクトリに、システムのソースツリーを下の層として重ね合わせます。
これにより、個々のユーザがそのソースツリーに対して個人的な変更を加えて、
新しいカーネルを構築することができるようになります。
他のユーザはその変更に関知しません。
下の層のファイルは、そのまま
.Pa /sys
からアクセスできることに注意してください。
.Sh 関連項目
.Xr intro 2 ,
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8 ,
.Xr mount_null 8
.Sh バグ
上の層を支えているファイルシステムで、ホワイトアウトが
サポートされていないため、下の層のオブジェクトに対して
削除や名前変更の操作をおこなう方法はありません。
このような操作や、下の層を変更する操作、たとえば
.Xr chmod 1
のような操作に対しては、
.Dv EROFS
が返されます。
.Pp
ユニオンツリーの上で
.Xr find 1
を実行すると、上の層にシャドウディレクトリのツリーが
作成されてしまうという副作用があります。
.Sh 歴史
-.Nm mount_union
+.Nm
コマンドは
.Bx 4.4
で初めて登場しました。
diff --git a/ja/man/man8/mountd.8 b/ja/man/man8/mountd.8
index acd10cb1df..4c56fa99ee 100644
--- a/ja/man/man8/mountd.8
+++ b/ja/man/man8/mountd.8
@@ -1,153 +1,157 @@
.\" Copyright (c) 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mountd.8 8.4 (Berkeley) 4/28/95
-.\" %Id: mountd.8,v 1.5.2.5 1998/07/30 02:11:58 alex Exp %
+.\" %Id: mountd.8,v 1.13 1998/07/15 06:21:39 charnier Exp %
.\"
.\" jpman %Id: mountd.8,v 1.3 1997/05/19 17:06:05 horikawa Stab %
.\"
.Dd April 28, 1995
.Dt MOUNTD 8
.Os
.Sh 名称
.Nm mountd
.Nd リモートの
.Tn NFS
マウント要求に対するサービスを行うデーモン
.Sh 書式
.Nm mountd
-.Op Fl 2dnr
+.Op Fl 2dlnr
.Op Ar exportsfile
.Sh 解説
.Nm
は、他のクライアントマシンからの
.Tn NFS
マウント要求のためのサーバです。
.Nm
は、
.Tn NFS
サーバの仕様で示されているポート
番号でサービス要求を待ちます。詳細は RFC1094
.%T "Network File System Protocol Specification"
の Appendix A と
.%T "NFS: Network File System Version 3 Protocol Specification"
の Appendix I
を参照してください。
.Pp
.Nm
では、以下のオプションや引数を指定できます:
.Bl -tag -width indent
このサーバからファイルシステムをマウントするクライアントに対し、
管理者はバージョン 2
.Tn NFS
プロトコルのみの使用を強制できます。
.It Fl d
デバッグ情報を出力します。
+.It Fl l
+成功した
+.Nm
+要求を記録します。
.It Fl n
非ルートからのマウント要求を許可します。
このオプションは、
クライアントが PC であるなど、それがどうしても必要な
場合にのみ使うようにしてください。
その場合、自動的に vfs.nfs.nfs_privport sysctl フラグがクリアされます。
このフラグはカーネルが NFS 要求を受け付けるのが、
予約されたポートからのみか否かを制御します。
.It Fl r
通常ファイルに対するマウント RPC 要求を許可します。
これは、マウントプロトコルの仕様によると危険なようですが、
いくつかのディスクレスワークステーションは、スワップファイルをマウント
しようとしますし、それが通常ファイルであることを期待しています。
通常ファイルは
.Pa /etc/exports
で指定できないので、スワップが置かれようとしているファイルシステム全体
が、
.Fl alldirs
フラグとともに公開されていなければなりません。
.It Ar exportsfile
exports ファイルの置き場所を指定します。
.El
.Pp
起動されると、
.Nm
.Xr mount 2
システムコールによって、公開するホストアドレスとオプションを
カーネル内にロードします。
公開設定ファイルを変更した場合は、
.Nm
に対して回線切断シグナルを送って
公開設定情報を再ロードする必要があります。
.Dv SIGHUP
を送ったあと(例:
kill \-s HUP `cat /var/run/mountd.pid`
)、exports ファイルにエラーがあるかどうか、
.Nm
の出力をチェックしてください。
.Pp
動作中のカーネルは
.Tn NFS
を組み込んでいないものであると判明した場合、
.Nm
は、
.Xr vfsload 3
を用いる
.Xr modload 8
コマンドを使って、
.Tn NFS
を含むローダブルカーネルモジュールのロードを試みます。
これが失敗するか、
.Tn NFS LKM
が使用できない場合は、
.Nm
はエラー終了します。
.Sh 関連ファイル
.Bl -tag -width /var/run/mountd.pid -compact
.It Pa /etc/exports
公開設定ファイル(エキスポートファイル)
.It Pa /var/run/mountd.pid
現在実行中の
.Nm
のプロセス id
.Tn ID
.It Pa /var/db/mountdtab
現在マウントされているリモートファイルシステムのリスト
.El
.Sh 関連項目
.Xr nfsstat 1 ,
.Xr exports 5 ,
.Xr modload 8 ,
.Xr nfsd 8 ,
.Xr portmap 8 ,
.Xr showmount 8
.Sh 歴史
.Nm
ユーティリティは
.Bx 4.4
から登場しています。
diff --git a/ja/man/man8/moused.8 b/ja/man/man8/moused.8
index 5bf272b533..2150d6bda5 100644
--- a/ja/man/man8/moused.8
+++ b/ja/man/man8/moused.8
@@ -1,561 +1,565 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. 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 Mike Pritchard.
.\" 4. Neither the name of the author 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 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: moused.8,v 1.1.2.5 1998/03/13 11:21:15 yokota Exp %
+.\" %Id: moused.8,v 1.15 1998/06/14 20:05:26 ahasty Exp %
.\"
.\" jpman %Id: moused.8,v 1.3 1997/07/22 16:52:17 horikawa Stab %
.Dd December 3, 1997
.Dt MOUSED 8
.Os FreeBSD
.Sh 名称
.Nm moused
.Nd マウスデータをコンソールドライバに渡す
.Sh 書式
.Nm
.Op Fl 3DPRcdfs
.Op Fl I Ar file
.Op Fl F Ar rate
.Op Fl r Ar resolution
.Op Fl S Ar baudrate
.Op Fl C Ar threshold
.Op Fl m Ar N=M
.Op Fl z Ar target
.Op Fl t Ar mousetype
.Fl p Ar port
.Pp
.Nm
.Op Fl Pd
.Fl p Ar port
.Fl i Ar info
.Sh 解説
マウスデーモン
.Nm
とコンソールドライバは協力し、
テキストコンソールやユーザプログラムにおけるマウス操作をサポートします。
マウスの仮想化とユーザプログラムへのマウスデータの提供は標準フォーマット
にて行われます
.Pq Xr sysmouse 4 を御覧ください
.Pp
マウスデーモンはマウスデータの読みとりのために指定されたポートを監視し、
解釈したデータを ioctl を介してコンソールドライバに渡します。
マウスデーモンは、移動、ボタンの押し/離しイベント、
存在するならばローラやホイールの移動も報告します。
ローラ/ホイールの移動は ``Z'' 軸での移動として報告されます。
.Pp
マウスポインタが
.Xr vidcontrol 4
によって有効にされていれば、
コンソールドライバはマウスポインタをスクリーンに表示し、
カットとペーストの機能を提供します。
.Xr sysmouse 4
をユーザプログラムがオープンすると、コンソールドライバは
マウスデータをこのデバイスに送るので、
ユーザプログラムはこのデータを使用できます。
.Pp
マウスデーモンがシグナル
.Dv SIGHUP
を受けとると、マウスポートを再オープンし、自己を再初期化します。
システムがサスペンドされている間にマウスの挿抜を行なった場合に有用です。
.Pp
以下のオプションがあります:
.Bl -tag -width indent
.It Fl 3
2 ボタンマウスで 3 番目(中)のボタンをエミュレートします。
物理的なボタンで左と右のものを同時に押すとエミュレートされます。
.It Fl C Ar threshold
ダブルクリック速度をボタンクリック間最大インターバルとしてミリ秒で指定します。
このオプションを指定しないと、デフォルト値は 500 ミリ秒が仮定されます。
このオプションは、
テキストモードコンソールのカットとペーストの操作においてのみ有効です。
.Xr sysmouse 4
を介してマウスデータを得るユーザプログラムは影響を受けません。
.It Fl D
シリアルポートの DTR を下げます。
このオプションが有効なのは、
.Ar mousesystems
がマウスプロトコルとして選択されている場合のみです。
.Ar mousesystems
モードで 3 ボタンマウスを操作するためには、
DTR ラインを落とすことが必要かもしれません。
.It Fl F Ar rate
サポートされていれば、デバイスのレポート頻度(秒あたりの回数)を設定します。
.It Fl I Ar file
.Nm
デーモンのプロセス ID を、指定されたファイルに書きます。
このオプションを指定しないと、プロセス ID は
.Pa /var/run/moused.pid
に格納されます。
.It Fl P
シリアルマウス識別時に、
プラグアンドプレイ COM デバイス列挙処理を開始しません。
.Fl i
オプションと共にこのオプションが指定された場合、
.Nm
はシリアルマウスに関する有用な情報を表示できません。
.It Fl R
シリアルポートの RTS を下げます。
このオプションが有効なのは
.Ar mousesystems
がプロトコルタイプとして、後述する
.Fl t
オプションで指定されている場合のみです。
これは前記
.Fl D
オプションと共によく使用されます。
.Ar mousesystems
モードで 3 ボタンマウスを操作するためには、
RTS と DTR のラインを共に下げる必要があるかもしれません。
.It Fl S Ar baudrate
シリアルポートの速度を指定します (1200 から 9600)。
全シリアルマウスがこのオプションをサポートするわけではありません。
.It Fl c
マウスによっては、中ボタンを押したイベントを、
左右ボタンが押されたかのようにレポートするものがあります。
このオプションはこれを扱うものです。
.It Fl d
デバッグ用のメッセージを有効にします。
.It Fl f
デーモンにならずに、フォアグラウンドプロセスとして実行します。
テストやデバッグに有用です。
.It Fl i Ar info
指定された情報を表示し終了します。指定可能な情報を以下に示します:
.Pp
.Bl -tag -compact -width modelxxx
.It Ar port
ポート(デバイスファイル)名、例えば
.Pa /dev/cuaa0 ,
.Pa /dev/mse0 ,
.Pa /dev/psm0
です。
.It Ar if
インタフェースタイプ: serial, bus, inport, ps/2 です。
.It Ar type
プロトコルタイプ。
.Fl t
オプションの説明の後でリストされているものか、
ドライバが
.Ar sysmouse
データフォーマット標準をサポートする場合には
.Ar sysmouse
です。
.It Ar model
マウスモデル。
.Nm
コマンドは常にモデルを識別できるわけではありません。
.It Ar all
上記全部。ポート、インタフェース、タイプ、モデルをこの順に一行に表示します。
.El
.Pp
.Nm
は要求された情報を判別できない場合、``unknown'' か ``generic'' を表示します。
.It Fl m Ar N=M
物理ボタン
.Ar M
に論理ボタン
.Ar N
を割当てます。
このオプションは任意個数指定可能です。
複数の物理ボタンを単一の論理ボタンに割り当て可能です。
この場合、指定された物理ボタンのいずれかが押されている場合、
論理ボタンが押されていることになります。`=' の周りにスペースを入れてはなりません。
.It Fl p Ar port
マウスと通信するためのポートとして
.Ar port
を使います。
.It Fl r Ar resolution
デバイスの解像度を設定します;
インチあたりのドット数または、
.Ar low ,
.Ar medium-low ,
.Ar medium-high ,
.Ar high
のいずれかです。
全デバイスにてこのオプションがサポートされているわけではありません。
.It Fl s
シリアルラインのために 9600 ボーを選びます。
全シリアルマウスがこのオプションをサポートしているわけではありません。
.It Fl t Ar type
ポートに接続されているマウスのプロトコルタイプを指定します。
以下に列挙されるタイプを陽に指定するか、
.Ar auto
を指定して
.Nm
コマンドに適切なプロトコルを自動選択させることができます。
コマンドラインにてこのオプションを指定しないと、
.Fl t Ar auto
が仮定されます。
通常では、
.Nm
コマンドがプロトコルの自動検出ができない場合に必要です
.Po Sx マウスデーモンの構成
を参照
.Pc
.Pp
また、
このオプションでプロトコルタイプを指定した場合、
前記
.Fl P
オプションが暗示され、プラグアンドプレイ COM デバイス列挙処理が無効になります。
.Pp
このオプションにおける有効なタイプを以下に列挙します。
.Pp
シリアルマウス:
.Bl -tag -compact -width mousesystemsxxx
.It Ar microsoft
Microsoft シリアルマウスプロトコル。
大抵の 2 ボタンマウスはこのプロトコルを使用します。
.It Ar intellimouse
Microsoft IntelliMouse プロトコル。
Genius NetMouse, ASCII Mie Mouse, Logitech MouseMan+, FirstMouse+
もこのプロトコルを使用します。
他のローラ/ホイールを持つマウスもこのプロトコル互換でしょう。
.It Ar mousesystems
MouseSystems の 5 バイトプロトコル。
3 ボタンマウスはこのプロトコルを使用するかもしれません。
.It Ar mmseries
MM Series マウスプロトコル。
.It Ar logitech
Logitech マウスプロトコル。
これは古い Logitech モデルであることに注意。
新しいモデルには
.Ar mouseman
もしくは
.Ar intellimouse
を指定します。
.It Ar mouseman
Logitech MouseMan と TrackMan のプロトコル。
3 ボタンマウスによってはこのプロトコル互換かもしれません。
MouseMan+ と FirstMouse+ は、このプロトコルではなく、
.Ar intellimouse
プロトコルを使用します
.It Ar glidepoint
ALPS GlidePoint プロトコル。
.It Ar thinkingmouse
Kensington ThinkingMouse プロトコル。
.It Ar mmhittab
Hitachi タブレットプロトコル。
+.It Ar x10mouseremote
+X10 MouseRemote。
.El
.Pp
バスおよび InPort マウス:
.Bl -tag -compact -width mousesystemsxxx
.It Ar busmouse
バスおよび InPort マウスはこのプロトコルのみ使用可能であり、
バスおよび InPort マウスはブランドに依らずこのオプションを
指定する必要があります。
.El
.Pp
PS/2 マウス:
.Bl -tag -compact -width mousesystemsxxx
.It Ar ps/2
PS/2 マウスはこのプロトコルのみ使用可能であり、
PS/2 マウスはブランドに依らずこのオプションを
指定する必要があります。
.El
.It Fl z Ar target
Z 軸(ローラ/ホイール)動作を別の軸や仮想ボタンに割り付けます。
有効な
.Ar target
は以下のいずれかです:
.Bl -tag -compact -width x__
.It Ar x
.It Ar y
X または Y 軸の移動として、検知した Z 軸移動を報告します。
.It Ar N
仮想ボタン
.Ar N
および
.Ar N+1
を押したイベントとして、検知した負/正の Z 軸移動をそれぞれ報告します。
物理ボタン
.Ar N
.Ar N+1
が存在する必要はありません。
論理ボタンへの割り付けは Z 軸移動を仮想ボタンへ割り付けた後に行われます。
.El
.El
.Ss マウスデーモンの構成
まず、使用予定マウスのインタフェースタイプを知ることが必要です。
これはマウスのコネクタを見れば分かります。
シリアルアウスは D-Sub の 9 ピンまたは 25 ピンのメスです。
バスおよび InPort のマウスは D-Sub 9 ピンのオスか丸い DIN 9 ピンコネクタです。
PS/2 マウスは小さくて丸い DIN 6 ピンコネクタです。
マウスによってはコネクタを別の形状に変換可能なコネクタが附属しています。
このようなアダプタを使用する場合には、
マウスから一番遠いコネクタの形状を見てください。
.Pp
次に決めねばならないことは、インタフェースのために使用するポートです。
バス、InPort、PS/2 マウスでは、選択肢はありません:
バスおよび InPort マウスは常に
.Pa /dev/mse0
を使用し、
PS/2 マウスは常に
.Pa /dev/psm0
を使用します。
シリアルマウスの場合、接続可能なポートが複数ありえます。
多くの人が組み込みのシリアルポート
.Pa /dev/cuaa0
をマウスに割当てます。
シンボリックリンク
.Pa /dev/mouse
でマウスの実際のポートを指すようにして、
どのマウスポートか後で簡単に分かるようにするのが良いかもしれません。
.Pp
次に適切なマウスプロトコルを選択します。
.Nm
コマンドはマウスタイプを自動決定可能かもしれません。
.Nm
コマンドを
.Fl i
オプションを付けて実行し、表示を見ます。
コマンドがプロトコルタイプを識別した場合、あなたは何も調べる必要はありません。
プロトコルタイプを指定せずにデーモンを起動可能です
.Po Sx 使用例
を参照
.Pc
.Pp
コマンドは、マウスドライバが
.Ar sysmouse
プロトコルをサポートする場合、
.Ar sysmouse
と表示するかもしれません。
.Pp
表示される
.Dv type
.Dv model
は、対象のポインティングデバイスの製品名では必ずしもありませんが、
互換性のあるデバイスの名前でしょう。
.Pp
.Fl i
オプションがなにも表示しない場合、
.Nm
に対して
.Fl t
オプションを使用し、プロトコルタイプを指定する必要があります。
予測して試行する必要があります。
以下に経験則を示します:
.Pp
.Bl -tag -compact -width 1.X
.It 1.
バスおよび InPort マウスはブランドに依らず
.Ar busmouse
プロトコルを使用します
.It 2.
PS/2 マウスはブランドに依らず
.Ar ps/2
プロトコルを使用します
.It 3.
ほとんどの 2 ボタンシリアルマウスは
.Ar microsoft
プロトコルをサポートします。
.It 4.
3 ボタンシリアルマウスは
.Ar mousesystems
プロトコルで動作するかもしれません。動作しない場合には、
三番目(中)ボタンが機能せずに
.Ar microsoft
プロトコルで動作するでしょう。
3 ボタンシリアルマウスは、期待通り三番目のボタンが動作しつつ
.Ar mouseman
プロトコルで動作するかもしれません。
.It 5.
3 ボタンマウスには小さなスイッチが付いていて、
``MS'' と ``PC'' または ``2'' と ``3'' とで選択できるできるようになっている
かもしれません。
``MS'' と ``2'' は通常
.Ar microsoft
プロトコルを意味します。
``PC'' と ``3'' は
.Ar mousesystems
プロトコルを選択します。
.It 6.
マウスにローラやホイールが付いている場合、
.Ar intellimouse
プロトコル互換でしょう。
.El
.Pp
マウスのために選択したプロトコルタイプが正しいかどうかテストする目的で、
現在の仮想コンソールでマウスポインタを有効にします。
.Pp
.Dl vidcontrol -m on
.Pp
マウスデーモンをフォアグラウンドで開始します。
.Pp
.Dl moused -f -p Ar _selected_port_ -t Ar _selected_protocol_
.Pp
マウスポインタがマウスの移動に伴い、
正しく移動することを確認してください。
そして、カットとペーストの機能を左、右、中のボタンを使用して確認してください。
^C をタイプすると、コマンドは停止します。
.Ss 複数のマウス
システムに接続したマウスと同じ数だけ、マウスデーモンを同時実行可能です;
一つのマウスデーモンが一つのマウスに対応します。
ラップトップコンピュータ組み込みの PS/2 ポインティングデバイスを移動中使用し、
オフィスではドッキングステーション接続のシリアルマウスを使用する
場合に有用です。
マウスデーモンを二つ実行し、アプリケーションプログラム
.Pq 例えば X Window System
.Xr sysmouse
を使用させます。
するとアプリケーションプログラムは常に両マウスからマウスデータを受け取ります。
シリアルマウスが取り付けられていない場合、
対応するマウスデーモンは移動やボタン状態の変化を検出しませんので、
アプリケーションプログラムは PS/2 マウスのデーモンからのマウスデータ
のみを使います。
一方この構成で両方のマウスを接続し同時に両方を動かした場合、
マウスの移動をすべて組合せたようにマウスポインタがスクリーン上を移動します。
.Sh 関連ファイル
.Bl -tag -width /dev/consolectl -compact
.It Pa /dev/consolectl
コンソール制御デバイス
.It Pa /dev/mse%d
バスおよび InPort マウスのドライバ
.It Pa /dev/psm%d
PS/2 マウスドライバ
.It Pa /dev/sysmouse
仮想化されたマウスドライバ
.It Pa /dev/ttyv%d
仮想コンソール
.It Pa /var/run/moused.pid
現在実行中の
.Nm
デーモンのプロセス ID
+.It Pa /var/run/MouseRemote
+X10 MouseRemote のイベントのための UNIX ドメインストリームソケット
.El
.Sh 使用例
.Pp
.Dl moused -p /dev/cuaa0 -i type
.Pp
.Nm
コマンドにシリアルポート
.Pa /dev/cuaa0
に接続されたマウスのプロトコルタイプを識別させます。
成功すると、コマンドはタイプを表示しますが、
失敗すると ``unknown'' が表示されます。
.Pp
.Dl moused -p /dev/cuaa0
.Dl vidcontrol -m on
.Pp
.Nm
が指定されたポートのマウスプロトコルタイプを識別可能な場合、
.Fl t
オプション無してデーモンを起動可能であり、
前記のようにマウスポインタをテキストコンソール上で有効にできます。
.Pp
.Dl moused -p /dev/mouse -t microsoft
.Dl vidcontrol -m on
.Pp
シリアルポート
.Pa /dev/mouse
に対してマウスデーモンを起動します。
プロトコルタイプは
.Ar microsoft
.Fl t
オプションにて陽に指定しています。
.Pp
.Dl moused -p /dev/mouse -m 1=3 -m 3=1
.Pp
物理ボタン 3 (右ボタン) を論理ボタン 1 (論理的に左) に、
物理ボタン 1 (左ボタン) を論理ボタン 3 (論理的に右) に、
それぞれ割当てます。
左右のボタンを事実上交換します。
.Pp
.Dl moused -p /dev/mouse -t intellimouse -z 4
.Pp
Z 軸(ローラ)における負の移動をボタン 4 が押されたものとし、
Z 軸における正の移動をボタン 5 が押されたものとします。
.Sh 警告
.Nm
コマンドは現在別のコンソールドライバ
.Xr pcvt 4
では動作しません。
.Pp
バッドデバイスの多くは、
ユーザがパッド表面を ``タップ'' した場合に最初の(左) ボタンが
押されたものとします。
また、ALPS GlidePoint モデルによっては、
タップ動作を 4 番目のボタンのイベントとして扱います。
このようなモデルでは、オプション ``-m 1=4'' を使用して、
他のパッドデバイスと同様の効果を得られます。
.Pp
仮想コンソールでのカットとペーストの機能は、
マウスに 3 ボタンあることを仮定しています。
論理ボタン 1 (論理的に左) は、
コンソールのテキスト領域を選択してカットバッファにコピーします。
論理ボタン 3 (論理的に右) は、
選択された領域を拡張します。
論理ボタン 2 (論理的に中) は、
選択されたテキストをテキストカーソル位置にペーストします。
マウスに 2 つしかボタンが無い場合、中央の `ペースト' ボタン
は使用できません。
ペースト機能を使用するためには、
.Fl 3
オプションを使用して中ボタンをエミュレートするか、
.Fl m
オプションを ``-m 2=3'' のように使用して
物理右ボタンに論理中ボタンを割当てます。
.Sh 関連項目
.Xr kill 1 ,
.Xr vidcontrol 1 ,
.Xr keyboard 4 ,
.Xr mse 4 ,
.Xr pcvt 4 ,
.Xr psm 4 ,
.Xr screen 4 ,
.Xr sysmouse 4
.Sh 規格
.Nm
コマンドは ``Plag and Play External COM Device Specification'' の一部を
サポートし、PnP シリアルマウスをサポートします。
しかしながら、シリアルマウスごとに仕様充足の度合が異なりますので、
標準のバージョン 1.0 に完全に従ってはいません。
このように厳密さを欠いた方法でも、シリアルマウスの適切なプロトコルタイプ
を常に決定できるわけではありません。
.Sh 作者
.Nm
コマンドは、
-.An Michael Smith
+.An Michael Smith Aq msmith@FreeBSD.org
によって書かれました。
このマニュアルは、
.An Mike Pritchard .Aq mpp@FreeBSD.org
によって書かれました。
コマンドとマニュアルページを、
-.An Kazutaka YOKOTA Aq yokota@FreeBSD.org
+.An Kazutaka Yokota Aq yokota@FreeBSD.org
が更新しました。
.Sh 歴史
.Nm
コマンドは、
.Fx 2.2
から導入されました。
diff --git a/ja/man/man8/mrinfo.8 b/ja/man/man8/mrinfo.8
index b52d6c5ded..1b990e94ca 100644
--- a/ja/man/man8/mrinfo.8
+++ b/ja/man/man8/mrinfo.8
@@ -1,91 +1,82 @@
.\" jpman %Id: mrinfo.8,v 1.2 1997/05/25 15:18:08 horikawa Stab %
-.TH MRINFO 8
-.UC 5
-.SH 名称
-mrinfo \- マルチキャストルータの設定情報を表示する
-.SH 書式
-.B /usr/sbin/mrinfo
-[
-.B \-d
-.I debug_level
-] [
-.B \-r
-.I retry_count
-] [
-.B \-t
-.I timeout_count
-]
-.B multicast_router
-
-.SH 解説
-.I mrinfo
+.Dd May 8, 1995
+.Dt MRINFO 8
+.Sh 名称
+.Nm mrinfo
+.Nd マルチキャストルータの設定情報を表示する
+.Sh SYNOPSIS
+.Nm mrinfo
+.Op Fl d Ar debug_level
+.Op Fl r Ar retry_count
+.Op Fl t Ar timeout_count
+.Ar multicast_router
+.Sh 解説
+.Nm
は、
-.I multicast_router
+.Ar multicast_router
で指定したマルチキャストルータの設定情報を表示します。
-.PP
-.I mrinfo
+.Pp
+.Nm
は、ASK_NEIGHBORS IGMP メッセージを送信することで隣接するマルチキャスト
ルータのデータ取得を行ないます。指定したマルチキャストルータからの応答が
あった場合には、バージョン番号と隣接するマルチキャストルータのアドレス一
覧が応答に含まれます。応答したルータが最新のマルチキャストバージョン番号を
持つ場合には、
.I mrinfo
はメトリック、スレッシュホールド、フラグのような追加情報を要求します。指
定したマルチキャストルータからの返答があると、当該ルータから取得した設定
情報が標準出力に表示されます。
-.br
-.ne 5
-.SH 起動
-.PP
-"\-d" オプションはデバッグレベルを設定します。デバッグレベルがデフォルト
+.Pp
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl d
+デバッグレベルを設定します。デバッグレベルがデフォルト
レベルであるところの 0 よりも大きい場合、追加デバッグメッセージが画面に出力
されます。デバッグレベルにかかわらず、エラーについてはエラーメッセージ
が出力され、
-.I mrinfo
+.Nm
は終了します。
デバッグレベルが 0 でない場合、以下の効果が期待できます:
-.IP "level 1"
+.Bl -tag -width indent
+.It "level 1"
パケットウォーニングが標準エラー出力に対して出力されます。
-.IP "level 2"
+.It "level 2"
レベル 1 のすべてのメッセージに加えて、ネットワークダウンについて標準エラー
出力に対して出力されます。
-.IP "level 3"
+.It "level 3"
レベル 2 のすべてのメッセージに加えて、パケットタイムアウトのすべての情報が
標準エラー出力に対して出力されます。
-.PP
-"\-r retry_count" オプションは隣接ルータに対するリトライ制限を設定します。
+.El
+.It Fl r Ar retry_count
+隣接ルータに対するリトライ制限を設定します。
デフォルトではリトライ回数は 3 です。
-.PP
-"\-t timeout_count"
-オプションは隣接ルータからの返答を待つ時間(タイムアウト)を秒単位で設定
+.It Fl t Ar timeout_count
+隣接ルータからの返答を待つ時間(タイムアウト)を秒単位で設定
します。デフォルトのタイムアウトは 4 秒です。
-.PP
-.SH 出力例
+.El
+.Sh 出力例
.nf
-.I mrinfo mbone.phony.dom.net
+.Nm mrinfo mbone.phony.dom.net
127.148.176.10 (mbone.phony.dom.net) [version 3.3]:
127.148.176.10 -> 0.0.0.0 (?) [1/1/querier]
127.148.176.10 -> 127.0.8.4 (mbone2.phony.dom.net) [1/45/tunnel]
127.148.176.10 -> 105.1.41.9 (momoney.com) [1/32/tunnel/down]
127.148.176.10 -> 143.192.152.119 (mbone.dipu.edu) [1/32/tunnel]
.fi
-.PP
+.Pp
指定したマルチキャストルータに隣接する個々のルータの IP アドレスが
表示されます。
指定したルータの IP アドレスに続き、隣接するルータの IP アドレスと名前
が表示されます。その後の括弧内には、メトリック(接続コスト)、スレッシュ
ホールド(マルチキャストパケット生存時間)が表示されます。問い合わせを受けた
マルチキャストルータが新しいバージョンの場合には、接続タイプ(tunnel, srcrt)
および接続状態(disabled, down)が表示されます。
-.PP
-.SH 注意
-.I mrinfo
+.Sh 注意
+.Nm
は、root で実行して下さい。
-.PP
-.SH 関連項目
-.BR mrouted (8) ,
-.BR map-mbone (8) ,
-.BR mtrace (8)
-.PP
-.SH 作者
-Van Jacobson
+.Sh 関連項目
+.Xr mrouted 8 ,
+.Xr map-mbone 8 ,
+.Xr mtrace 8
+.Sh 作者
+.An Van Jacobson
diff --git a/ja/man/man8/mrouted.8 b/ja/man/man8/mrouted.8
index 6e15548622..99b0e26471 100644
--- a/ja/man/man8/mrouted.8
+++ b/ja/man/man8/mrouted.8
@@ -1,426 +1,460 @@
-'\"COPYRIGHT 1989 by The Board of Trustees of Leland Stanford Junior University.
-'\"%Id: mrouted.8,v 1.5.2.2 1997/02/02 01:01:50 mpp Exp %
+.\"%Id: mrouted.8,v 1.10 1997/09/30 06:15:10 charnier Exp %
.\" jpman %Id: mrouted.8,v 1.3 1997/07/26 22:00:11 horikawa Stab %
-.TH MROUTED 8
-.UC 5
-.SH 名称
-mrouted \- IP マルチキャストルーティングデーモン
-.SH 書式
-.B mrouted
-[
-.B \-p
-] [
-.B \-c
-.I config_file
-] [
-.B \-d
-[
-.I debug_level
-]]
-.SH 解説
-.I mrouted
+.Dd May 8, 1995
+.Dt MROUTED 8
+.Sh 名称
+.Nm mrouted
+.Nd IP マルチキャストルーティングデーモン
+.Sh 書式
+.Nm mrouted
+.Op Fl c Ar config_file
+.Op Fl d Op Ar debug_level
+.Op Fl p
+.Sh 解説
+.Nm
は、RFC1075 にて規定されている Distance-Vector Multicast Routing Protocol
(DVMRP) の実装です。本コマンドは distance-vector routing protocol
(RIP に似たプロトコルであり、RFC1058 に記述されています)
を使うことで、ネットワークトポロジに関する情報を管理し、
そのプロトコルの上で、Reverse Path Multicasting と呼ばれる
マルチキャストデータグラムフォワーディングアルゴリズムを実装しています。
-.PP
-.I mrouted
+.Pp
+.Nm
は、マルチキャストデータグラムを、データグラムが生成されたサブネットを幹と
して樹状に構成されるパス上に、パスの最短距離を通過するようにして送出します。
マルチキャストツリーは目的のグループを含むサブネットを越えないブロード
キャストツリーと考えることができます。
したがって、データグラムはマルチキャストの受け手がいない枝には送出され
ません。
さらに、マルチキャストデータグラムパケットの生存時間によっては、到達で
きる範囲が限定される場合もあります。
-.PP
+.Pp
IP マルチキャストをサポートしない (ユニキャスト) ルータを介したサブネット間で、
マルチキャストを実現する場合、
-.I mrouted
+.Nm
の実装にはトンネリングのサポートも含まれます。トンネリングとは、
インターネットのあらゆるところにて稼働している
-.I mrouted
+.Nm
の組の間で仮想的なポイントツーポイントリンクを確立する技術です。
IP マルチキャストパケットは、トンネルを通過するところでカプセル化されます。
カプセル化されたパケットは、
ルータ及びサブネットを進む通常のユニキャストデータグラムに見えます。
トンネルの入口でカプセル化が行われ、トンネルの出口でカプセルが取り外されます。
デフォルトでは、パケットは、IP-in-IP プロトコル
(IP プロトコル番号 4)
を用いることでカプセル化を
行ないます。
古いバージョンの
-.I mrouted
+.Nm
のトンネリングは、
IP ソースルーティングを用いたものですが、
本手法はルータによっては大きな負荷をかけることになります。
本バージョンでは、IP ソースルーティングを用いたトンネリングは
サポートしません。
-.PP
+.Pp
トンネリング機構の実装により、
-.I mrouted
+.Nm
は、
実際のインターネットとは独立の、
マルチキャストパケットのみを扱う広範囲の自立システムに跨る
仮想インターネットを構築できます。
これを可能にすることにより、
実験的ではあるが、インターネットマルチキャストをサポートし、
(ユニキャスト)ルータによるマルチキャストルーティング
を可能にします。
-.I mrouted
+.Nm
は deistance vector ルーティングプロトコルが持つ
よく知られたスケーリングの問題の影響を被りますし、
階層的なマルチキャストルーティングを (まだ) サポートしていません。
-.PP
-.I mrouted
+.Pp
+.Nm
はマルチキャストルーティングのみを扱いますので、同じ機械の上でユニキャ
ストルーティングソフトが走っていてもいなくても構いません。
トンネリングを利用すれば、
-.I mrouted
+.Nm
はマルチキャストフォーワーディングのためにひとつより多くの
物理的なサブネットにアクセスする必要がありません。
-.br
-.ne 5
-.SH 起動オプション
-.PP
-"\-d" オプションが与えられないか、もしくは debug level として 0 が指定された
+.Pp
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl c Ar config_file
+別の設定コマンドファイルを指定します。
+デフォルトは
+.Pa /etc/mrouted.conf
+です。
+.Fl d
+オプションが与えられないか、もしくは debug level として 0 が指定された
場合、
-.I mrouted
+.Nm
は起動された端末から切り離されます。それ以外の場合は、
-.I mrouted
+.Nm
は、起動された端末に残り、起動された端末からの割り込みを受け付けます。
-"\-d" が引数なしで指定された場合の debug level はデフォルトの 2 です。
+.Fl d
+が引数なしで指定された場合の debug level はデフォルトの 2 です。
debug level の指定の有無にかかわらず、
-.I mrouted
+.Nm
は常に警告メッセージやエラーメッセージを syslogd に対して送ります。
0 以外の debug level が指定された場合、以下の挙動を示します:
-.IP "level 1"
+.Bl -tag -width indent
+.It "level 1"
すべての syslog へ出力されるメッセージは、stderr へも出力されます。
-.IP "level 2"
+.It "level 2"
debug level 1での挙動に加え、重要と思われる挙動通知を stderr に出力します。
-.IP "level 3"
+.It "level 3"
debug level 2 での挙動に加え、すべてのパケット送出/到着について stderr
に出力します。
-.PP
-起動にともない、mrouted はその pid を /var/run/mrouted.pid ファイルに
+.El
+.It Fl p
+枝苅りを抑止します。
+.El
+起動にともない、
+.Nm
+はその pid を
+.Pa /var/run/mrouted.pid
+ファイルに
書き出します。
-.SH 初期設定
-.PP
-.I mrouted
+.Sh 初期設定
+.Nm
は、自動的にすべてのマルチキャスト可能なインタフェース、
つまり、IFF_MULTICAST フラグがセットされたインタフェース
(ループバックインタフェースは除きます) に対して初期化を行い、別の
-.IR mrouted
+.Nm
に直接接続可能なインタフェースを探索します。
デフォルトの設定を上書きする、あるいは別の
-.IR mrouted
+.Nm
に対するトンネルリンクを付加するには、
-/etc/mrouted.conf (もしくは "\-c" オプションによって指定されるファイル)
+.Pa /etc/mrouted.conf
+(もしくは
+.Fl c
+オプションによって指定されるファイル)
を編集します。
コンフィグレーションのためには以下の 4 種類のコマンドがあります。
.nf
phyint <local-addr> [disable] [metric <m>] [advert_metric <m>]
[threshold <t>] [rate_limit <b>]
[boundary (<boundary-name>|<scoped-addr>/<mask-len>)]
[altnet <network>/<mask-len>]
tunnel <local-addr> <remote-addr> [metric <m>] [advert_metric <m>]
[threshold <t>] [rate_limit <b>]
[boundary (<boundary-name>|<scoped-addr>/<mask-len>)]
cache_lifetime <ct>
name <boundary-name> <scoped-addr>/<mask-len>
.fi
-.PP
+.Pp
ファイルの形式は自由です。すなわち、空白文字 (改行も含みます) は意味を
持ちません。
-.I boundary
+.Em boundary
-.I altnet
+.Em altnet
オプションは必要な数だけ指定して下さい。
-.PP
+.Pp
phyint コマンドはローカル IP アドレス <local-addr> によって認識される
物理インタフェース上のマルチキャストルーティングを無効にするか、
デフォルトでない metric あるいは threshold を
物理インタフェースに結びつけます。
ローカル IP アドレス <local-addr> はインタフェース名 (le0 等)
で代用できます。
phyint が複数の IP からなるサブネットに向けられる場合、
altnet キーワードを使用してそれぞれのサブネットについて記述して下さい。
phyint コマンドは tunnel コマンドより前に書く必要が有ります。
-.PP
+.Pp
tunnel コマンドはローカル IP アドレス <local-addr> と
リモート IP アドレス <remote-addr> とを結ぶトンネルリンクを作り、
デフォルトでない metric あるいは threshold をそのトンネルに結びつけます。
ローカル IP アドレス <local-addr> はインタフェース名(le0 等)で
置き換えても構いません。
リモート IP アドレス <remote-addr> は、
ホスト名に結びつけられた IP アドレスが 1 つである場合に限り、
ホスト名で置き換えても構いません。
-双方のルータの mrouted.conf ファイルにおいて、
+双方のルータの
+.Pa mrouted.conf
+ファイルにおいて、
そのトンネルが使用される前に記述されている必要があります。
-.PP
+.Pp
cache_lifetime はキャッシュされたマルチキャスト経路がタイムアウトまで
に kernel 内にどれだけ保持されるかを定めます。この変数は 300 (5 分) か
ら 86400 (1 日) の間がいいでしょう。デフォルトは 300 です。
-.PP
+.Pp
設定をキーワードを用いて簡単に行うために、境界に名前をつけることもでき
ます。phyint あるいは tunnel コマンドの boundary オプションは
名前もしくは boundary のいずれかを受け付けます。
-.PP
+.Pp
metric は与えられたインタフェースかトンネルへデータグラムを送るため
-の "コスト" です; 経路の選択に影響を与えます。
+の
+\&"コスト" です; 経路の選択に影響を与えます。
デフォルト値は 1 です。metric は可能なかぎり小さくすべきです。
なぜなら、
-.I mrouted
+.Nm
は metric の合計が 31 を越える経路を通ることができないからです。
-.PP
+.Pp
advert_metric は、与えられたインタフェースもしくは tunnel に関連する
-"コスト" です;
+\&"コスト" です;
これは経路選択に影響します。
advert_metric のデフォルト値は 0 です。
リンクの実際の metric は一端の metric ともう一端の advert_metric との和です。
-.LP
+.Pp
threshold は最小の IP の生存時間であり、
この要件を満たすマルチキャストデータグラムは
指定されるインタフェースもしくはトンネルを転送されます。
このパラメータによりマルチキャストデータグラムの到達範囲が定められます。
(転送されたパケットの TTL は threshold と比較するだけで、
threshold だけ TTL を減らしたりはしません。
すべてのマルチキャストルータは TTL を 1 づつ減らします。)
デフォルト値は 1 です。
-.LP
+.Pp
特定のサブネットやトンネルへ接続する
-.IR mrouted
+.Nm
は、一般的にはすべて同じ metric と threshold を持ちます。
-.PP
+.Pp
rate_limit オプションによって、ネットワークの管理者はマルチキャスト
トラフィックのために何キロビット毎秒のバンド幅をわりあてればよいかを指定
できます。デフォルト値は、トンネルは 500Kbps、
物理インタフェースは 0 (無制限) です。
-.PP
+.Pp
boundary オプションは、ある範囲のアドレスに対して、管理可能な境界を設
定します。この範囲のアドレスに属するパケットは範囲内のインタフェース
には転送されません。boundary オプションは名前もしくは境界にて指定します。
-.PP
-.I mrouted
+.Pp
+.Nm
は 2 つ以上の有効な vif (仮想インタフェース) が無いときには実行を開始しません。
vif はマルチキャスト可能な物理インタフェースもしくはトンネルです。
全ての仮想インタフェースがトンネルの場合は警告が記録されます;
そのような
-.I mrouted
+.Nm
の設定は、より多くの直接トンネルを指定した方が良いかもしれません
(中間管理者を削除するという意味です)。
-.SH 設定例
-.PP
+.Sh 設定例
以下は大きな学校にある架空のマルチキャストルータでの例です。
.sp
.nf
#
# mrouted.conf example
#
# Name our boundaries to make it easier
name LOCAL 239.255.0.0/16
name EE 239.254.0.0/16
#
# le1 is our gateway to compsci, don't forward our
# local groups to them
phyint le1 boundary EE
#
# le2 is our interface on the classroom net, it has four
# different length subnets on it.
# note that you can use either an ip address or an
# interface name
phyint 172.16.12.38 boundary EE altnet 172.16.15.0/26
altnet 172.16.15.128/26 altnet 172.16.48.0/24
#
# atm0 is our ATM interface, which doesn't properly
# support multicasting.
phyint atm0 disable
#
# This is an internal tunnel to another EE subnet
# Remove the default tunnel rate limit, since this
# tunnel is over ethernets
tunnel 192.168.5.4 192.168.55.101 metric 1 threshold 1
rate_limit 0
#
# This is our tunnel to the outside world.
# Careful with those boundaries, Eugene.
tunnel 192.168.5.4 10.11.12.13 metric 1 threshold 32
boundary LOCAL boundary EE
.fi
-.SH シグナル
-.PP
-.I mrouted
+.Sh シグナル
+.Nm
は以下のシグナルに反応します。
-.IP HUP
-.I mrouted
+.Bl -tag -width indent
+.It HUP
+.Nm
を再スタートします。
設定ファイルは再度読み込まれます。
-.IP INT
+.It INT
後かたづけをしてから実行終了します
(たとえば、隣接するルータすべてにさよならのメッセージを送ります)。
-.IP TERM
+.It TERM
INT と同じです。
-.IP USR1
-内部ルーティングテーブルを /var/tmp/mrouted.dump にダンプし
-ます。
-.IP USR2
-内部キャッシュテーブルを /var/tmp/mrouted.cache にダンプしま
-す。
-.IP QUIT
+.It USR1
+内部ルーティングテーブルを
+.Pa /var/tmp/mrouted.dump
+にダンプします。
+.It USR2
+内部キャッシュテーブルを
+.Pa /var/tmp/mrouted.cache
+にダンプします。
+.It QUIT
内部ルーティングテーブルを stderr にダンプします。
ただし、
-.I mrouted
+.Nm
が 0 以外の debug level の時のみです。
-.PP
+.El
+.Pp
シグナルを送る際の便宜のために、
-.I mrouted
-は開始時に自身の pid を /var/run/mrouted.pid に書き出します。
-.bp
+.Nm
+は開始時に自身の pid を
+.Pa /var/run/mrouted.pid
+に書き出します。
.SH 使用例
-.PP
ルーティングテーブルは以下のようになります:
.nf
Virtual Interface Table
Vif Local-Address Metric Thresh Flags
0 36.2.0.8 subnet: 36.2 1 1 querier
groups: 224.0.2.1
224.0.0.4
pkts in: 3456
pkts out: 2322323
1 36.11.0.1 subnet: 36.11 1 1 querier
groups: 224.0.2.1
224.0.1.0
224.0.0.4
pkts in: 345
pkts out: 3456
2 36.2.0.8 tunnel: 36.8.0.77 3 1
peers: 36.8.0.77 (2.2)
boundaries: 239.0.1
: 239.1.2
pkts in: 34545433
pkts out: 234342
3 36.2.0.8 tunnel: 36.6.8.23 3 16
Multicast Routing Table (1136 entries)
Origin-Subnet From-Gateway Metric Tmr In-Vif Out-Vifs
36.2 1 45 0 1* 2 3*
36.8 36.8.0.77 4 15 2 0* 1* 3*
36.11 1 20 1 0* 2 3*
.
.
.
.fi
この例では、4 つの vif が 2 つのサブネットと
2 つのトンネルにつながっています。
vif 3 がつながったトンネルは使われていません
(peer アドレスが有りません)。
vif 0 と vif 1 がつながったサブネットには
いくつかのグループが有ります;
トンネルにはグループは有りません。
この例の
-.I mrouted
-は、"querier" フラグが示すように、
+.Nm
+は、
+\&"querier" フラグが示すように、
定期的なグループメンバシップクエリを vif 0 および vif 1 サブネットにて
送出する責任が有ります。
境界のリストは当該インタフェースのアドレス範囲が示されます。
入力及び出力パケット数が各インタフェースに対して示されます。
-.PP
+.Pp
マルチキャストデータグラムの起源となりうるサブネットに関連して
表示される情報は、
直前のホップのルータのアドレス(サブネットが直接接続されていない場合)、
起源までのパスのメトリック、
当該サブネットから最後に更新を受信してから経過した時間、
当該起源からのマルチキャストが入力される vif、
出力 vif 一覧です。
-"*" は、
+\&"*" は、
起源を根とするブロードキャストツリーの葉に、
当該出力 vif が接続していることを意味します。
宛先グループのメンバが当該葉にいる時のみ、
当該起源からのマルチキャストデータグラムを当該出力 vif からフォワードします。
-.bp
-.PP
-.I mrouted
+.Pp
+.Nm
はカーネル内のフォワーディングキャッシュテーブルも管理します。
エントリの生成及び削除は
-.I mrouted
+.Nm
が行います。
-.PP
+.Pp
キャッシュテーブルは以下のようなものです:
.nf
Multicast Routing Cache Table (147 entries)
Origin Mcast-group CTmr Age Ptmr IVif Forwvifs
13.2.116/22 224.2.127.255 3m 2m - 0 1
>13.2.116.19
>13.2.116.196
138.96.48/21 224.2.127.255 5m 2m - 0 1
>138.96.48.108
128.9.160/20 224.2.127.255 3m 2m - 0 1
>128.9.160.45
198.106.194/24 224.2.135.190 9m 28s 9m 0P
>198.106.194.22
.fi
各エントリは起源のサブネット番号、マスク、宛先マルチキャストグループにて
区別します。
-'CTmr' フィールドは当該エントリの生存時間を表します。
+.Pp
+\&'CTmr' フィールドは当該エントリの生存時間を表します。
このタイマ値が 0 まで減算されたエントリはキャッシュテーブルから削除されます。
-'Age' フィールドはこのエントリが最初に生成されてから経過した時間を表します。
+.Pp
+\&'Age' フィールドはこのエントリが最初に生成されてから経過した時間を表します。
キャッシュエントリはリフレッシュされるため、
当該エントリに関するトラフィックが続く限りルーティングエントリは生き残ります。
-'Ptmr' フィールドは、上流に枝刈が送出されていなければ単に -、
+.Pp
+\&'Ptmr' フィールドは、上流に枝刈が送出されていなければ単に -、
そうでないばあいには上流の枝刈がタイムアウトするまでの時間を表します。
-'Ivif' フィールドは起源からのマルチキャストパケットが入力される vif
+.Pp
+\&'Ivif' フィールドは起源からのマルチキャストパケットが入力される vif
を表します。
各ルータは特定のソース及びグループに関し、
隣接するルータより受信する枝刈数の記録も管理します。
あるサブネットに関してマルチキャストツリーの下流の枝において
マルチキャストグループのメンバが存在しない場合、
上流のルータに対して枝刈メッセージが送信されます。
-この場合、vif 番号の後に "P" が付けられます。
-'Forwvifs' フィールドは
+この場合、vif 番号の後に
+\&"P" が付けられます。
+.Pp
+\&'Forwvifs' フィールドは
ソースグループに属するデータグラムがフォワードされる
インタフェースを表します。
-"p" は、このインタフェースを介してフォワードされるデータグラムが存在しない
+\&"p" は、このインタフェースを介してフォワードされるデータグラムが存在しない
ことを表します。
リストされないインタフェースは葉のサブネットであり、
特定のグループのメンバを当該サブネットに持ちません。
インタフェースにおける "b" の表示は、
当該インタフェースが境界インタフェースであることを表します。
すなわち、範囲内のアドレスのトラフィックは
当該インタフェースを介してフォワードされないことを意味します。
-">" を最初の文字として表示する追加の行は、当該サブネット上のソースと表します。
+.Pp
+\&">" を最初の文字として表示する追加の行は、
+当該サブネット上のソースと表します。
一つのサブネット上に複数のソースが存在可能であることに注意して下さい。
-.SH 関連ファイル
+.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 mrinfo 8 ,
+.Xr mtrace 8 ,
+.Xr map-mbone 8
+.Pp
/etc/mrouted.conf
.br
/var/run/mrouted.pid
.br
/var/tmp/mrouted.dump
.br
/var/tmp/mrouted.cache
-.SH 関連項目
.BR mrinfo (8) ,
.BR mtrace (8) ,
.BR map-mbone (8)
-.sp
+.Pp
DVMRP は、
他のマルチキャスト経路制御アルゴリズムと共に、
ACM SIGCOMM '88 コンファレンスのプロシーディングに、
S. Deering が
-"Multicast Routing in Internetworks and Extended LANs"
+\&"Multicast Routing in Internetworks and Extended LANs"
として記述しています。
.SH 作者
-Steve Deering, Ajit Thyagarajan, Bill Fenner
+.An Steve Deering ,
+.An Ajit Thyagarajan ,
+.An Bill Fenner
diff --git a/ja/man/man8/mtrace.8 b/ja/man/man8/mtrace.8
index 31507cbc7f..b694347df1 100644
--- a/ja/man/man8/mtrace.8
+++ b/ja/man/man8/mtrace.8
@@ -1,586 +1,543 @@
.\" Copyright (c) 1995 by the University of Southern California
.\" All rights reserved.
.\"
.\" Permission to use, copy, modify, and distribute this software and its
.\" documentation in source and binary forms for non-commercial purposes
.\" and without fee is hereby granted, provided that the above copyright
.\" notice appear in all copies and that both the copyright notice and
.\" this permission notice appear in supporting documentation, and that
.\" any documentation, advertising materials, and other materials related
.\" to such distribution and use acknowledge that the software was
.\" developed by the University of Southern California, Information
.\" Sciences Institute. The name of the University may not be used to
.\" endorse or promote products derived from this software without
.\" specific prior written permission.
.\"
.\" THE UNIVERSITY OF SOUTHERN CALIFORNIA makes no representations about
.\" the suitability of this software for any purpose. THIS SOFTWARE IS
.\" PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
.\" INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
.\" Other copyrights might apply to parts of this software and are so
.\" noted when applicable.
.\"
.\" This manual page (but not the software) was derived from the
.\" manual page for the traceroute program which bears the following
.\" copyright notice:
.\"
.\" Copyright (c) 1988 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" mtrace.8,v 5.1 1996/12/19 21:31:26 fenner Exp
.\"
.\" jpman %Id: mtrace.8,v 1.3 1997/08/20 12:03:14 horikawa Stab %
-.TH MTRACE 8 "May 8, 1995"
+.Dd May 8, 1995
+.Dt MTRACE 8
.UC 6
-.SH 名称
-mtrace \- 発信元から受信側へのマルチキャストのパスを表示する
-.SH 形式
-.B mtrace
-[
-.B \-e
-.I extrahops
-] [
-.B \-g
-.I gateway
-] [
-.B \-i
-.I if_addr
-] [
-.B \-l
-] [
-.B \-M
-] [
-.B \-m
-.I max_hops
-] [
-.B \-n
-] [
-.B \-O
-] [
-.B \-p
-] [
-.B \-P
-] [
-.B \-q
-.I nqueries
-] [
-.B \-r
-.I resp_dest
-] [
-.B \-s
-] [
-.B \-S
-.I stat_int
-] [
-.B \-t
-.I ttl
-] [
-.B \-T
-] [
-.B \-U
-] [
-.B \-v
-] [
-.B \-w
-.I waittime
-]
-.I source
-[
-.I receiver
-] [
-.I group
-]
-.SH 解説
-IP マルチキャストのトラフィックの配送における問題点を突き止めるのは困
-難な作業です。
-.B mtrace
-は IGMP プロトコルの拡張機能によってアクセスされる、マルチキャストルー
-タに実装されたトレース機能を利用します。
-.I receiver
+.Sh 名称
+.Nm mtrace
+.Nd 発信元から受信側へのマルチキャストの経路を表示する
+.Sh 書式
+.Nm mtrace
+.Op Fl e Ar extrahops
+.Op Fl g Ar gateway
+.Op Fl i Ar if_addr
+.Op Fl l
+.Op Fl M
+.Op Fl m Ar max_hops
+.Op Fl n
+.Op Fl O
+.Op Fl p
+.Op Fl P
+.Op Fl q Ar nqueries
+.Op Fl r Ar resp_dest
+.Op Fl s
+.Op Fl S Ar stat_int
+.Op Fl t Ar ttl
+.Op Fl T
+.Op Fl U
+.Op Fl v
+.Op Fl w Ar waittime
+.Ar source
+.Op Ar receiver
+.Op Ar group
+.Sh 解説
+IP マルチキャストのトラフィックの配送における問題点を突き止めるのは困難な
+作業です。
+.Nm mtrace
+は IGMP プロトコルの拡張機能によってアクセスされる、
+マルチキャストルータに実装されたトレース機能を利用します。
+.Ar receiver
から
-.I source
-への逆のパスに沿ったホップごとにトレースの問い合わせを行ない、パス上の
+.Ar source
+への逆経路に沿ったホップごとにトレースの問い合わせを行ない、経路上の
ホップのアドレス、パケット数、ルーティングのエラー状況の情報を収集し、
要求者へ応答を返します。
-.PP
-唯一必須であるパラメータは
-.I source
+.Pp
+唯一必須である引数は
+.Ar source
のホスト名もしくはアドレスです。デフォルトの
-.I receiver
+.Ar receiver
は mtrace を実行しているホストとなり、デフォルトの
-.I group
+.Ar group
は "MBone Audio" (224.2.0.1) となります。特定のマルチキャストグループ
でのパケット消失の統計が必要でなければ、これで十分です。以下に解説され
ているいくつかの制約を条件として、特定の group でのいくつかの他の
-receiver をテストするために、これらの 2 つのオプションのパラメータを指
-定することができます。
-.I receiver
+receiver をテストするために、これらの 2 つのオプションの引数を
+指定することができます。
+.Ar receiver
はユニキャストアドレスであり、
-.I group
-はマルチキャストアドレスであることより、これらの 2 つのパラメータは区
-別することができます。
-.B \-g
-フラグが指定されると、source アドレスには mtrace が実行されているホス
-トがデフォルトとして使われ、 receiver には
-.B \-g
+.Ar group
+はマルチキャストアドレスであることより、これらの 2 つの引数を
+区別することができます。
+.Fl g
+フラグが指定されると、source アドレスには
+.Nm mtrace
+が実行されているホストがデフォルトとして使われ、 receiver には
+.Fl g
フラグで指定されるルータがデフォルトとして使われます。この場合、必須の
-パラメータはありません。
-.PP
+引数はありません。
+.Pp
注釈: Solaris 2.4/2.5 ではマルチキャストインタフェースがデフォルトの
-インタフェースでなければ、 -i オプションによってローカルアドレスをセット
-しなければなりません。
-.SH オプション
-.TP 8 8
-.BI \-e\ extrahops
+インタフェースでなければ、
+.Fl i
+オプションによってローカルアドレスをセットしなければなりません。
+.Pp
+以下のオプションが使用できます:
+.Bl -tag -width indent
+.It Fl e Ar extrahops
応答がないルータを越えて、
-.I extrahops
+.Ar extrahops
だけのホップ数のトレースを試みます。
-.TP 8 8
-.BI \-g\ gwy
-トレースの問い合わせを、マルチキャストではなく、ユニキャストによって直
-接マルチキャストルータ
-.I gwy
+.It Fl g Ar gwy
+トレースの問い合わせを、マルチキャストではなく、ユニキャストによって
+直接マルチキャストルータ
+.Ar gwy
へ送ります。
このマルチキャストルータは意図する
-.I source
+.Ar source
から
-.I receiver
-へのパス上の最後のホップのルータでなければなりません。
-.RS 8
-.TP 12 12
-.I 注意!!
+.Ar receiver
+への経路上の最後のホップのルータでなければなりません。
+.Pp
+.Em 注意!!
バージョン 3.3 と 3.5 の
-.B mrouted
+.Nm mrouted
は、トレースの問い合わせがユニキャストパケットによって受信されかつ、
-.B mrouted
+.Nm mrouted
-.I source
+.Ar source
への経路がないと、クラッシュします。そのためターゲットの
-.B mrouted
+.Nm mrouted
が 3.4 であるか、3.5 より新しいことが分かっていなければ、
-.B \-g
+.Fl g
オプションを使わないでください。
-.RE
-.TP 8 8
-.BI \-i\ addr
-.I addr
-をトレースの問い合わせを送る (マルチホームホスト上の) ローカルインタ
-フェイスアドレス、および
-.I receiver
+.It Fl i Ar addr
+.Ar addr
+をトレースの問い合わせを送る (マルチホームホスト上の)
+ローカルインタフェースアドレス、および
+.Ar receiver
と応答先のデフォルトアドレスとして使用します。
-.TP 8 8
-.B \-l
-10 秒ごとにマルチキャストパスのパケットレートと消失の統計を表示して、
+.It Fl l
+10 秒ごとにマルチキャスト経路のパケットレートと消失の統計を表示して、
無限ループします。
(
-.B \-S
-.I stat_int
+.Fl S Ar stat_int
参照)
-.TP 8 8
-.B \-M
-試みの後半は、ユニキャストではなく、常にマルチキャストを使って応答を要
-求します。
-.TP 8 8
-.BI \-m\ n
-.I receiver
+.It Fl M
+試みの後半は、ユニキャストではなく、常にマルチキャストを使って応答を
+要求します。
+.It Fl m Ar n
+.Ar receiver
から
-.I source
+.Ar source
へ遡ってトレースされる最大ホップ数を
-.I n
+.Ar n
にセットします。
-デフォルトは 32 ホップ (DVMRP ルーティングプロトコルについては無限) で
-す。
-.TP 8 8
-.B \-n
-ホップアドレスをシンボル名および数字ではなく数字で表示します。(パス上に発見された
-各ルータに対するネームサーバでのアドレス-名前検索を省くことができます。)
-.TP 8 8
-.BI \-q\ n
+デフォルトは 32 ホップ (DVMRP ルーティングプロトコルについては無限)
+です。
+.It Fl n
+ホップアドレスをシンボル名および数字ではなく数字で表示します。
+(経路上に発見された各ルータに対する
+ネームサーバでのアドレス-名前検索を省くことができます。)
+.It Fl q Ar n
すべてのホップに対して試みる問い合わせの最大の回数を
-.I n
+.Ar n
にセットします。デフォルトは 3 です。
-.TP 8 8
-.B \-O
+.It Fl O
router-alert IP オプションを、これが必要な要求においても使用しません。
-Cisco の IOSのいくつかのバージョンでは IP オプションつきのマルチキャス
-トトレースルートが扱えないため、最後のホップのルータが Cisco のもので
-ある時は、-O フラグが必要となることがあります。
-.TP 8 8
-.B \-p
+Cisco の IOS のいくつかのバージョンでは IP オプションつきのマルチキャスト
+トレースルートが扱えないため、最後のホップのルータが Cisco のものである時は、
+.Fl O
+フラグが必要となることがあります。
+.It Fl p
他から起動されたトレースによるマルチキャストの応答を受動的に聴取します。
これはマルチキャストルータ上で動作している場合に最も良く動作します。
-.TP 8 8
-.B \-P
-10 秒おきにパス情報を収集しながら無限ループし
+.It Fl P
+10 秒おきに経路情報を収集しながら無限ループし
(
-.B \-S
-.I stat_int
+.Fl S Ar stat_int
参照)、
-パス情報が変化するとそれを表示します。統計情報は表示しません。
-.TP 8 8
-.BI \-r\ host
+経路情報が変化するとそれを表示します。統計情報は表示しません。
+.It Fl r Ar host
トレースの応答を、
-.B mtrace
+.Nm
が実行されているホストや
この目的で登録されている他のマルチキャストアドレス (224.0.1.32) ではなく、
-.I host
+.Ar host
へ送ります。
-.TP 8 8
-.B \-s
-マルチキャストパスのみを含む短い形式の表示を行ない、パケットレートと
+.It Fl s
+マルチキャスト経路のみを含む短い形式の表示を行ない、パケットレートと
消失統計は表示しません。
-.TP 8 8
-.BI \-S\ n
+.It Fl S Ar n
統計情報を収集する間隔を
-.I n
+.Ar n
秒 (デフォルトは 10 秒) に変更します。
-.TP 8 8
-.BI \-t\ ttl
+.It Fl t Ar ttl
マルチキャストトレースの問い合わせと応答の
-.I ttl
-(time-to-live もしくはホップ数) をセットします。ttl に 1 を使用する "全
-てのルータ" へのローカルな問い合わせの場合を除き、デフォルトは 127 で
-す。
-.TP 8 8
-.B \-T
-"トンネル統計" モードです。全てのトラフィックでのロスレートを表示しま
-す。これらの統計は非常に誤解を招くおそれのあるものです。
-.TP 8 8
-.B \-U
-マルチキャストから試みるのではなく、常にユニキャストによる応答を要求し
-ます。
-.TP 8 8
-.B \-v
+.Ar ttl
+(time-to-live もしくはホップ数) をセットします。ttl に 1 を
+使用する "全てのルータ" へのローカルな問い合わせの場合を除き、
+デフォルトは 127 です。
+.It Fl T
+"トンネル統計" モードです。全てのトラフィックでのロスレートを表示します。
+これらの統計は非常に誤解を招くおそれのあるものです。
+.It Fl U
+マルチキャストから試みるのではなく、常にユニキャストによる応答を要求します。
+.It Fl v
冗長モードです。最初のトレースのホップ時間と統計情報を表示します。最初
のトレースを転送するのに使用した経路も表示します。
-.TP 8 8
-.BI \-w\ n
+.It Fl w Ar n
トレースの応答の待ち時間を
-.I n
+.Ar n
秒 (デフォルトは 3 秒) にセットします。
-.SH 使用方法
-.SS どのように動作するか ?
-.B traceroute
+.El
+.Sh 使用方法
+.Ss どのように動作するか ?
+.Nm traceroute
ツールでユニキャストのネットワーク経路をトレースするために使用している
技法は IP マルチキャストでは動作しません。それは、ICMP 応答が
マルチキャストトラフィックでは禁止されているためです。そのかわりに、
トレースの機能はマルチキャストルータにおいて実装されています。
この技法は送出するパケット数を最小にしながら、
パケットレートやロスを計測できる点で優れています。
-.PP
+.Pp
マルチキャストでは逆経路転送が使われているため、トレースは
-.I receiver
+.Ar receiver
から
-.I source
+.Ar source
へ逆方向に実行されます。
トレースの問い合わせパケットは最終ホップのマルチキャストルータ (
-.I receiver
+.Ar receiver
アドレスでの末端ルータ) へ送られます。最終ホップのルータではトレースの
応答パケットを生成し、それにそのホップでのレポートを詰め込み、
ユニキャストを使って、指定された
-.I source
+.Ar source
から送られてくるパケットにおける、そのルータの前段のホップであると思わ
れるルータへ、生成したパケットを転送します。
経路上の各ルータはそのパケットにレポートを追加して転送します。
トレースの応答パケットが最初のホップのルータ ( source のネットワークに
直結されているルータ) に到達すると、そのルータはトレースの問い合わせに
指定されている応答の送り先アドレスへ最終的な形の応答を送ります。
-.PP
+.Pp
経路上のいくつかのマルチキャストルータにマルチキャストのトレースルート
機能が実装されていなかったり、停止しているものがあると、応答は返されま
せん。この問題を解決するには、応答が返されるまでにトレースされるホップ
数を制限するための最大ホップ数フィールドを、トレースの問い合わせに
含ませます。これによって、部分的な経路のトレースが可能となります。
-.PP
-各ルータによって挿入されるレポートには、ホップのアドレスだけでなく、転
-送のために必要な ttl とルーティングのエラーを示すいくつかのフラグ、そ
-れに受信と送信インタフェース上および指定された
-.I group
+.Pp
+各ルータによって挿入されるレポートには、ホップのアドレスだけでなく、
+転送のために必要な ttl とルーティングのエラーを示すいくつかのフラグ、
+それに受信と送信インタフェース上および指定された
+.Ar group
へ転送されたパケット数の合計が含まれます。時間をあけて 2 回トレースを
行なってこれらのパケット数の差分をとり、あるホップからの送信パケット
数とその次のホップでの受信パケット数を比較することにより、パケットレートと
パケット消失の統計が計算でき、ネットワークへの過負荷による問題を切
り離すことができます。
-.SS 最終ホップルータを見つける
+.Ss 最終ホップルータを見つける
トレースの問い合わせは
-.I source
+.Ar source
から
-.I receiver
+.Ar receiver
へ到る経路上の最後のホップであるマルチキャストルータへ送られなければな
りません。もし、receiver がローカルサブネット上にあれば (これはサブネットマスク
によって決定されます)、デフォルトの方法ではトレースの問い合わせ
を ttl を 1 にして all-routers.mcast.net (224.0.0.2) へマルチキャスト
します。receiver がサブネット上になければ、
-.I group
+.Ar group
へトレースの問い合わせをマルチキャストします。それは receiver がその
グループのメンバであれば、最後のホップルータもグループのメンバであるため
-です。そのため、意図している receiver が属しているグループを指定する必
-要があります。このマルチキャストは ttl をデフォルトの 127 にして送られ
+です。そのため、意図している receiver が属しているグループを指定する
+必要があります。このマルチキャストは ttl をデフォルトの 127 にして送られ
ます。この ttl は全ての場合では十分でないかもしれません。(
-.B \-t
+.Fl t
オプションで変更可能です。) もし最後のホップルータが分かっていれば、
-.B \-g
+.Fl g
オプションを使用して直接指定することもできます。また、最後のホップのルータが
別のグループのメンバであるということが分かっており、receiver が属
していないグループのトレースを行ないたい場合、
-.B \-g
+.Fl g
オプションを使用してトレースの問い合わせに別のマルチキャストアドレスを
指定することもできます。
-.PP
+.Pp
マルチホームであるホストやルータからのトレースを行なう場合は、デフォルトの
receiver のアドレスは source からの経路での意図したインタフェース
でないかも知れません。インタフェースを指定したい場合は、
-.I receiver
+.Ar receiver
によって明示的に指定しなければなりません。
-.SS 応答の誘導
-.B \-m
+.Ss 応答の誘導
+.Fl m
オプションによってトレースするホップ数が明示的に指定されている場合を除
き、
-.B mtrace
+.Nm
はデフォルトではまず逆経路全てに渡ったトレースを試みます。もしタイムアウト
時間である 3 秒 (これは
-.B \-w
+.Fl w
オプションで変更できます) 以内に応答がなければ、"*" が表示され、プローブ方式を
hop-by-hop モードに切り替えます。
トレースの問い合わせは最大ホップ数を 1 から開始し、応答を受信しなくなる
か全ての経路を網羅するまでホップ数を 1 づつ増やして行きます。
各ホップでは、複数のプローブ (デフォルトでは 3、
-.B \-q
+.Fl q
オプションで変更可)
が送られます。トレースの試みの前半 (デフォルトでは 2 回) では、応答
アドレスを標準のマルチキャストアドレス mtrace.mcast.net (224.0.1.32) に
セットし、ttl を receiver までの経路上で今までにあった最大のスレッショルド
である 32 にセットして行なわれます。引き続く各々の試みについては
ttl は最大 192 まで 32 づつ増やされます。
目的のルータはマルチキャスト応答を送ることができないかもしれないので、
残りの試みでは
-.B mtrace
+.Nm
が動作しているホストへユニキャストを使って応答することを要求します。
また、マルチキャストの ttl は
-.B \-t
-オプションを使って明示的に指定することができ、最初のマルチキャストの試
-みは
-.B \-U
+.Fl t
+オプションを使って明示的に指定することができ、最初のマルチキャストの試みは
+.Fl U
オプションを使ってユニキャストに強制的に変更することができ、最後の
マルチキャストの試みは
-.B \-M
+.Fl M
オプションを使って強制的にマルチキャストにすることができ、また
-.B \-UM
+.Fl UM
を指定することにより、
-.B mtrace
+.Nm
は最初はユニキャストで試み、次にマルチキャストを試みます。各々の試みで
-はタイムアウトとなるまで応答が受信できなければ "*" が表示されます。指
-定された回数の試みが失敗すると、
-.B mtrace
+はタイムアウトとなるまで応答が受信できなければ "*" が表示されます。指定された
+回数の試みが失敗すると、
+.Nm
は次のホップのルータへ (
-.B mrinfo
+.Nm mrinfo
プログラムで使われているように) DVMRP_ASK_NEIGHBORS2 要求で問い合わせ
を試み、そのルータの種類を調べます。
-.B mtrace
+.Nm mtrace
は応答がないルータを越えて 3 ホップ (これは
-.B \-e
+.Fl e
オプションで変更可能) へ、応答を返す能力がないとしてもその要求の転送は
できるであろうと想定して、問い合わせを試みます。
-.SH 使用例
-.B mtrace
+.Sh 使用例
+.Nm
の出力は 2つのセクションからなります。最初のセクションではホップが問い
合わされた順、すなわち
-.I source
+.Ar source
から
-.I receiver
-への逆順で簡潔にリストされます。各々のホップについて、ホップ番号 (逆パス
+.Ar receiver
+への逆順で簡潔にリストされます。各々のホップについて、ホップ番号 (逆経路
であることを示すように負の数でカウントされる)、マルチキャスト
ルーティングプロトコル (DVMRP、MOSPF、PIM など)、データの転送 (上向きの矢印で
示されたリストでの前のホップへの転送) 要求のスレッショルド、問い合わせ
がそのホップへ届くまでの遅れの累積 (クロックが同期している時のみ有効)
が 1 行で表示されます。最初のセクションの最後には、問い合わせが発行さ
れてから応答を受信するまでの間隔をローカルのシステムクロックで計測した
ラウンドトリップ時間と、パケットがこの経路を通って行き来するのに必要な
ttl の合計が表示されます。以下に使い方とその出力の例を示します。
-.PP
+.Pp
.nf
.ft C
oak.isi.edu 80# mtrace -l caraway.lcs.mit.edu 224.2.0.3
Mtrace from 18.26.0.170 to 128.9.160.100 via group 224.2.0.3
Querying full reverse path...
0 oak.isi.edu (128.9.160.100)
-1 cub.isi.edu (128.9.160.153) DVMRP thresh^ 1 3 ms
-2 la.dart.net (140.173.128.1) DVMRP thresh^ 1 14 ms
-3 dc.dart.net (140.173.64.1) DVMRP thresh^ 1 50 ms
-4 bbn.dart.net (140.173.32.1) DVMRP thresh^ 1 63 ms
-5 mit.dart.net (140.173.48.2) DVMRP thresh^ 1 71 ms
-6 caraway.lcs.mit.edu (18.26.0.170)
Round trip time 124 ms; total ttl of 6 required.
.fi
-.PP
+.Pp
あるホップがパケットを転送するのにデフォルトの経路を使っていることを報
告すれば、
-.B [default]
+.Em [default]
がそのホップの後に表示されます。
-.B \-v
+.Fl v
フラグが指定されていれば、そのパケットを転送するのに使われた経路が
-.B [18.26.0/24]
+.Em [18.26.0/24]
の形式で表示されます。
-.PP
-2 番目のセクションでは転送のパスが図によって表示されます。データの流れ
-は下向きの矢印で表され、問い合わせのパスは上向きの矢印で表されます。各
+.Pp
+2 番目のセクションでは転送の経路が図によって表示されます。データの流れ
+は下向きの矢印で表され、問い合わせの経路は上向きの矢印で表されます。各
ホップでは、ルータの入力アドレスと出力アドレスが違っていれば、それらの
-アドレスが、そのホップパケットを転送するのに必要な ttl の初期値と、両
-端のルータのクロックが同期していると想定した場合のホップにまたがった伝
-搬遅れとともに表示されます。このセクションの右半分は 2 組の統計情報か
+アドレスが、そのホップパケットを転送するのに必要な ttl の初期値と、
+両端のルータのクロックが同期していると想定した場合のホップにまたがった
+伝搬遅れとともに表示されます。このセクションの右半分は 2 組の統計情報か
ら構成されます。最初のカラムには各ホップでの全てのトラフィックについて
の平均のパケットレートが表示されます。残りのカラムでは消失したパケット
の数、送信したパケットの数、消失したパーセンテージ、それに平均パケット
レートが各ホップについて表示されます。これらの統計情報は上で解説したよ
うにトレース間の差とホップ間の差から計算されます。最初のグループでは、
あるホップでのインタフェースにおける全流出トラフィックと次のホップでの全流入
トラフィックの統計情報が表示されます。2 番目のグループでは、指定された
-.I source
+.Ar source
から指定された
-.I group
+.Ar group
への転送トラフィックのみについての統計情報が表示されます。統計の最初の
グループは
-.B \-T
+.Fl T
オプションを使って消失レートを含ませることもできます。しかし、これらの
数字は大幅な誤差を含む可能性があり、これらを適切に解釈するためには
ルータについての詳細な知識が要求されるでしょう。
-.PP
+.Pp
これらの統計情報は各々のホップにつき 1 行か 2 行で表示されます。
オプションが何も指定されていないと、この出力中の 2 番目のセクションは最初
のトレースからおよそ 10 秒後に 1 度のみ表示されます。各ホップにつき 1
行にその 10 秒間での統計情報を表示します。もし
-.B \-l
+.Fl l
オプションが指定されていると、2 番目のセクションは 10 秒ごとに繰り返さ
れ、各ホップにつき 2 行が表示されます。最初の行ではそれまでの 10 秒間
における統計が表示され、2 番目の行で最初のトレースからの累積の統計情報
が表示されます。下の例ではこれは 101 秒間での統計となっています。
-.B \-s
+.Fl s
オプションが指定されるか、マルチキャストグループが指定されていると、こ
の出力での 2 番目のセクションは省略されます。
.ie t \{\
.ft C
. ie \w'i'<>\w'm' \{\" looks like this is not proper Courier font
(If this example is not properly columned with a fixed-width font, get
.B groff
and try again.)
. \}
.\}
-.PP
+.Pp
.ft C
.nf
Waiting to accumulate statistics... Results after 101 seconds:
Source Response Dest Overall Packet Statistics For Traffic From
18.26.0.170 128.9.160.100 Packet 18.26.0.170 To 224.2.0.3
| __/ rtt 125 ms Rate Lost/Sent = Pct Rate
v / hop 65 ms ------- ---------------------
18.26.0.144
140.173.48.2 mit.dart.net
| ^ ttl 1 0 pps 0/2 = --% 0 pps
v | hop 8 ms 0 pps 0/18 = 0% 0 pps
140.173.48.1
140.173.32.1 bbn.dart.net
| ^ ttl 2 0 pps 0/2 = --% 0 pps
v | hop 12 ms 0 pps 0/18 = 0% 0 pps
140.173.32.2
140.173.64.1 dc.dart.net
| ^ ttl 3 27 pps 0/2 = --% 0 pps
v | hop 34 ms 26 pps 0/18 = 0% 0 pps
140.173.64.2
140.173.128.1 la.dart.net
| ^ ttl 4 83 pps 0/2 = --% 0 pps
v | hop 11 ms 79 pps 0/18 = 0% 0 pps
140.173.128.2
128.9.160.153 cub.isi.edu
| \\__ ttl 5 83 pps ?/2 0 pps
v \\ hop -8 ms 79 pps ?/18 0 pps
128.9.160.100 128.9.160.100
Receiver Query Source
.fi
-.PP
+.Pp
パケットのカウント数はトレースの問い合わせが伝搬するとともに変化するた
め、統計情報中には小さな誤差 (1 か 2 のずれ) が含まれることがあります。
しかし、これらの誤差は累積されるべきではないため、累積統計行ではあらた
なトレースが 10 秒ごとに実行されるたびに精度が増さなければなりません。
-大きな誤差の要因としては 2 つあり、このいずれもマイナスのロスとして現
-われます。
-.LP
-.RS
-.PD 0
-.TP 3
-\(bu
+大きな誤差の要因としては 2 つあり、このいずれもマイナスのロスとして現われます。
+.Pp
あるノードへの入力カウントが他のノードがアタッチされているマルチアクセス
ネットワークからのものであれば、入力カウントはアタッチされている全てのノード
からの出力カウントの総和となります (もしくは近くなります) が、トレースし
-ているパス上のその前のホップからの出力カウントはその単なる一部分となり
+ている経路上のその前のホップからの出力カウントはその単なる一部分となり
ます。そのため、出力カウントから入力カウントを引いたものはマイナスの値
になります。
-.TP 3
-\(bu
+.Pp
SunOS およびその他のシステムにおける DVMRP マルチキャスト転送ソフトウェアの
リリース 3.3 では、ルータにおいて生成されたマルチキャストパケット
はインタフェースに入力されていない場合においても、入力されたものとし
てカウントされます。これは上の例において見ることのできるマイナスのロス
となります。
-.PD
-.RE
-.LP
+.Pp
これらのマイナスのロスはプラスのロスを隠してしまうことが
あることに注意してください。
-.PP
+.Pp
この例ではまた、1 つマイナスのホップの時間が表示されています。これは
単にそのホップ間でのシステムクロックが同期していないことを示しています。
-この例ではまた、送られたパケットの数が 10 より少ない時には、パーセンテー
-ジの値は統計的に有効ではないため、ロスのパーセンテージが 2 つのダッシュ
+この例ではまた、送られたパケットの数が 10 より少ない時には、パーセンテージの
+値は統計的に有効ではないため、ロスのパーセンテージが 2 つのダッシュ
として表示されることも示しています。
-.PP
+.Pp
2 番目の例では ローカルでない receiver へのトレースを示します。問い合
わせは
-.B \-g
-オプションによって最終ホップのルータに送られます。この例では、全逆パス
-のトレースが、マルチキャストトレースルート機能が実装されていない古いバー
-ジョンの
-.B mrouted
+.Fl g
+オプションによって最終ホップのルータに送られます。この例では、全逆経路
+のトレースが、マルチキャストトレースルート機能が実装されていない
+古いバージョンの
+.Nm mrouted
が動作しているノードがあるために応答なしの結果となっており、そのため
-.B mtrace
+.Nm
は hop-by-hop モードに切り替わっています。\*(lqOutput pruned\*(rq の
エラーコードはグループ 224.2.143.24 へのトラフィックが転送されていないこ
とを示しています。
-.PP
+.Pp
.nf
.ft C
oak.isi.edu 108# mtrace -g 140.173.48.2 204.62.246.73 \\
butter.lcs.mit.edu 224.2.143.24
Mtrace from 204.62.246.73 to 18.26.0.151 via group 224.2.143.24
Querying full reverse path... * switching to hop-by-hop:
0 butter.lcs.mit.edu (18.26.0.151)
-1 jam.lcs.mit.edu (18.26.0.144) DVMRP thresh^ 1 33 ms Output pruned
-2 bbn.dart.net (140.173.48.1) DVMRP thresh^ 1 36 ms
-3 dc.dart.net (140.173.32.2) DVMRP thresh^ 1 44 ms
-4 darpa.dart.net (140.173.240.2) DVMRP thresh^ 16 47 ms
-5 * * * noc.hpc.org (192.187.8.2) [mrouted 2.2] didn't respond
Round trip time 95 ms
.fi
-.SH 作者
-Ajit Thyagarajan によって書かれた最初のプロトタイプをベースにして、
-Steve Casner によって実装されました。マルチキャストトレースルートの
-メカニズムは Steve Casner、Steve Deering、Dino Farinacci、Deb Agrawal の
-助けを得て、Van Jacobson によって設計され、Ajit Thyagarajan と Bill
-Fennerによって
-.B mrouted
-に実装されました。オプションのシンタックスと
-.B mtrace
-の出力フォーマットは、Van Jacobson によって書かれたユニキャストの
-.B traceroute
+.Sh 作者
+.An Ajit Thyagarajan
+によって書かれた最初のプロトタイプをベースにして、
+.An Steve Casner
+によって実装されました。マルチキャストトレースルートの
+メカニズムは
+.An Steve Casner ,
+.An Steve Deering ,
+.An Dino Farinacci ,
+.An Deb Agrawal
+の助けを得て、
+.An Van Jacobson
+によって設計され、
+.An Ajit Thyagarajan
+と
+.An Bill Fenner
+によって
+.Nm mrouted
+に実装されました。オプションの構文と
+.Nm
+の出力形式は、
+.An Van Jacobson
+によって書かれたユニキャストの
+.Nm traceroute
をモデルにしています。
-.SH 関連項目
-.BR mrouted (8) ,
-.BR mrinfo (8) ,
-.BR map-mbone (8) ,
-.BR traceroute (8)
-.SH バグ
-.PP
-パッシブモードでの統計収集は、活発にデータを収集しているときと常に同じ
+.Sh 関連項目
+.Xr mrouted 8 ,
+.Xr mrinfo 8 ,
+.Xr map-mbone 8 ,
+.Xr traceroute 8
+.Sh バグ
+.Pp
+受動モードでの統計収集は、能動的にデータを収集しているときと常に同じ
出力とはなりません。
diff --git a/ja/man/man8/mtree.8 b/ja/man/man8/mtree.8
index 46928663c6..ed6ede1aef 100644
--- a/ja/man/man8/mtree.8
+++ b/ja/man/man8/mtree.8
@@ -1,293 +1,293 @@
.\" 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
-.\" %Id: mtree.8,v 1.7.2.3 1998/07/18 11:11:06 jkh Exp %
+.\" %Id: mtree.8,v 1.13 1998/06/10 06:45:08 peter Exp %
.\" jpman %Id: mtree.8,v 1.3 1997/08/16 13:31:00 horikawa Stab %
.\"
.Dd February 9, 1995
.Dt MTREE 8
.Os
.Sh 名称
.Nm mtree
.Nd ディレクトリ階層をマップする
.Sh 書式
.Nm mtree
.Op Fl cdeinrUux
.Op Fl f Ar spec
.Op Fl K Ar keywords
.Op Fl k Ar keywords
.Op Fl p Ar path
.Op Fl s Ar seed
.Sh 解説
.Nm
は、カレントディレクトリをルートとするファイル階層を、
標準入力から読み込んだファイル階層記述と比較します。
.\" ↑原文では単に "specification" となっているが、日本語に訳すと
.\" わかりにくいので、「ファイル階層記述」という語をあてている。
.\" 以下も同様。 -- jpman J.Sakai
その記述とマッチしない特性をもつファイルや、
実際のファイル階層あるいはファイル階層記述のいずれかから欠落しているファイル
に関するメッセージを標準出力に出力します。
.Pp
以下のオプションがあります:
.Bl -tag -width flag
.It Fl c
ファイル階層の記述を標準出力に出力します。
.It Fl d
ディレクトリ型以外のファイルは全て無視します。
.It Fl e
ファイル階層には存在するが、ファイル階層記述に存在しないファイルが
あっても警告しません。
.It Fl f Ar file
ファイル階層記述を、標準入力からではなく、ファイル
.Ar file
から読み込みます。
.It Fl i
.Fl c
オプションでファイル階層記述を作成する際、
ディレクトリレベルを一つ下りる毎に空白 4 つ分ずつインデントして出力します。
各ディレクトリ前に出力される /set 文やコメントには影響を与えませんが、
各ディレクトリの最後に出力されるコメントには影響を及ぼします。
.It Fl K Ar keywords
指定した
.Ar keywords
(空白あるいはコンマで区切ったもの) を
現在のキーワード集合に追加します。
.It Fl k Ar keywords
現在のキーワード集合の代わりに、
``type'' キーワードおよび
指定した
.Ar keywords
(空白あるいはコンマで区切ったもの) を使用します。
.It Fl n
ファイル階層記述作成の際、パス名コメントを出力しません。
.Fl c
オプション使用時は通常、各ディレクトリの前後にコメントが出力されます。
.It Fl p Ar path
ファイル階層のルートディレクトリを、カレントディレクトリではなく
.Ar path
とします。
.It Fl r
ファイル階層記述に記載されていないファイル階層に含まれるファイルを
全て削除します。
.It Fl s Ar seed
キーワード
.Cm cksum
が指定されている全ファイルに対する単一のチェックサムを
標準エラー出力に出力します。
チェックサムのシードには指定された値が用いられます。
.It Fl U
既存ファイルの所有者、グループおよびパーミッションを
ファイル階層記述に合わせて修正し、欠落しているディレクトリを作成します。
欠落ディレクトリを作成するために、ユーザ、グループおよびパーミッションの
全てを指定しなければなりません。
成功するとステータス 0 で終了し、
何らかのエラーが発生すると 1 で終了します。
ミスマッチがあっても、それが訂正されればエラーとはみなされません。
.It Fl u
オプション
.Fl U
と同様ですが、現ファイル階層がファイル階層記述とマッチしなければ
ステータス 2 を返します。
.It Fl x
ファイル階層中のマウントポイント以下に降下しません。
.El
.Pp
ファイル階層記述は多くの場合、「キーワード」つまり
ファイルに関連した値を指定する文字列から構成されます。
どのキーワードにもデフォルト値はありません。
キーワードに値が設定されていない場合、
そのキーワードに基づいたチェックは行われません。
.Pp
現在サポートされているキーワードは以下の通りです:
.Bl -tag -width Cm
.It Cm cksum
.Xr cksum 1
ユーティリティで規定されるデフォルトアルゴリズムを用いた
ファイルのチェックサム。
.It Cm ignore
このファイル以下のファイル階層を無視します。
.It Cm gid
数値で指定したファイルのグループ。
.It Cm gname
シンボル名で指定したファイルのグループ。
.It Cm md5digest
ファイルの MD5 メッセージダイジェスト。
.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
ファイルタイプ。以下のいずれかを指定します:
.sp
.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 gid ,
.Cm mode ,
.Cm nlink ,
.Cm size ,
.Cm link ,
.Cm time ,
.Cm uid
です。
.Pp
ファイル階層記述には 4 つのタイプの行があります。
.Pp
1 つめのタイプの行はキーワードに大域的な値を設定するもので、
文字列 ``/set'' とそれに続く空白、そしてキーワードとその値のペアの集合を
空白で区切ったものから構成されます。
キーワードとその値のペアはキーワードとそれに続く等号 (``='')、
そして値から成り、空白は含みません。
一旦キーワードが設定されると、再設定あるいは設定解除されるまで
その値は変化しません。
.Pp
2 つめのタイプの行はキーワードの設定を解除するもので、
文字列 ``/unset'' とそれに続く空白、そして 1 つ以上のキーワードを
空白で区切ったものから構成されます。
.Pp
3 つめのタイプの行はファイル記述を行うもので、
ファイル名とそれに続く空白、そしてゼロ個以上のキーワードと値のペアを
空白で区切ったものから構成されます。
ファイル名の先頭には空白があっても構いません。
ファイル名には
標準的なファイル名マッチング文字 (``['', ``]'', ``?'', ``*'') が含まれて
いてもよく、その場合、そのファイル階層に存在するファイルは、
マッチする最初のパターンと関連づけられます。
.Pp
各キーワードと値のペアはキーワードと等号 (``='')、そして
そのキーワードの値から構成され、空白は含みません。
これらの値は、対応するキーワードの大域的な値を変更しませんが、
大域的な値に優先します。
.Pp
パスは全て相対指定です。
ディレクトリを指定すると、そのディレクトリ階層の中で
更にファイルが検索されます。
これがファイル階層記述における 4 つめのタイプの行です:
文字列
.Dq Nm \&..
だけが含まれる行は、カレントディレクトリパスを 1 レベル上に上げることを
意味します。
.Pp
空行および最初の非空白文字がハッシュ記号 (``#'') であるような行は無視されます。
.Pp
.Nm
は成功するとステータス 0 で終了し、何らかのエラーが生じると 1 で終了します。
また、ファイル階層がファイル階層記述とマッチしない場合はステータス 2 で
終了します。
ただしオプション
.Fl U
が指定されている場合は、ステータス 2 はステータス 0 に変換されます。
.Sh 使用例
「トロイの木馬」に感染したシステムバイナリを検出するには、
以下のように操作することを推奨します。
ファイルシステムに対して
.Nm
.Fl K
.Cm md5digest
を実行し、その結果のコピーを別マシンか、少なくとも暗号化した形式で
ストアします。
出力ファイル自身は
.Xr md5 1
ユーティリティを用いてダイジェストを作成します。
そして定期的に
.Nm
.Xr md5 1
をオンラインのファイル階層記述に対して走らせます。
クラッカーが手を加えたバイナリに合わせて
オンラインのファイル階層記述を変更することは
可能ですが、オリジナルと同じ MD5 ダイジェストをもつ記述を作成するのは
非現実的だと考えらていれます。
.Pp
.Fl d
オプションおよび
.Fl u
オプションを組み合わせると、ソフトウェア配布やそれに類する処理のために
ディレクトリ階層を作成するのに用いることができます。
.Pa /etc/mtree
に置かれたファイル群は、この
.Tn FreeBSD
配布のほとんど全てのディレクトリを作成するのに用いられました。
.Sh 関連ファイル
.Bl -tag -width /etc/mtree -compact
.It Pa /etc/mtree
システムのファイル階層記述ディレクトリ
.El
.Sh 関連項目
.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
で登場しました。
MD5 ダイジェスト機能は、
.Xr cksum 1
をだますプログラムが広範囲に悪用されたのに対抗して
.Fx 2.1
で追加されました。
diff --git a/ja/man/man8/named-xfer.8 b/ja/man/man8/named-xfer.8
index 26c08a17e2..283452469c 100644
--- a/ja/man/man8/named-xfer.8
+++ b/ja/man/man8/named-xfer.8
@@ -1,155 +1,151 @@
.\" ++Copyright++ 1985
.\" -
.\" Copyright (c) 1985
.\" 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.
.\" -
.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies, and that
.\" the name of Digital Equipment Corporation not be used in advertising or
.\" publicity pertaining to distribution of the document or software without
.\" specific, written prior permission.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" -
.\" --Copyright--
.\"
.\" from named.8 6.6 (Berkeley) 2/14/89
.\"
-.TH NAMED-XFER 8 "June 26, 1993"
.\" jpman %Id: named-xfer.8,v 1.2 1997/06/06 11:08:51 bobson Stab %
-.UC 4
-.SH 名称
-named-xfer \- ゾーン転送のための補助エージェント
-.SH 書式
-.B named-xfer
-.B \-z
-.I zone_to_transfer
-.B \-f
-.I db_file
-.B \-s
-.I serial_no
-[
-.B \-d
-.I debuglevel
-] [
-.B \-l
-.I debug_log_file
-] [
-.B \-t
-.I trace_file
-] [
-.B \-p
-.I port#
-] [
-.B \-S
-]
-.I nameserver
-...
-.SH 解説
-インターネットネームサーバの補助プログラムです。
-.I named-xfer
+.Dd June 26, 1993
+.Dt NAMED-XFER 8
+.Os BSD 4
+.Sh 名称
+.Nm named-xfer
+.Nd ゾーン転送のための補助エージェント
+.Sh 書式.Nm named-xfer
+.Fl z Ar zone_to_transfer
+.Fl f Ar db_file
+.Fl s Ar serial_no
+.Op Fl d Ar debuglevel
+.Op Fl l Ar debug_log_file
+.Op Fl t Ar trace_file
+.Op Fl p Ar port#
+.Op Fl S
+.Ar nameserver ...
+.Sh 解説
+.Nm
は、
-.IR named (8)
+.Xr named 8
によって実行される補助プログラムです。
インターネットネームサーバから呼び出されて、ゾーン情報を受け取ります。
直接実行されることはまれであり、ゾーン転送の問題を解決するために
システム管理者にいよってのみ実行されることがある程度です。
インターネットネームドメインシステムについての詳細は、
RFC 1033 、1034 、1035 を参照してください。
-.PP
+.Pp
オプションとしては、以下のものがあります:
-.TP
-.B \-z
+.Bl -tag -width Fl
+.It Fl z Ar zone_to_transfer
転送されるゾーン名を指定します。
-.TP
-.B \-f
+.It Fl f Ar db_file
プライマリサーバーからゾーンが転送された際に、ゾーンの情報をダンプ (格納) する
-ファイル名を指定します。
-.TP
-.B \-s
+.Ar db_file
+のファイル名を指定します。
+.It Fl s Ar serial_no
転送されるゾーンの情報のシリアル番号を指定します。プライマリサーバーから
-得た \s-1SOA RR\s+1 が、このシリアル番号よりも高いシリアル番号を持たない
+得た
+.Sy SOA RR
+が、このシリアル番号よりも高いシリアル番号を持たない
場合は、転送は中止されます。
-.TP
-.B \-d
-デバッグ情報を出力します。``d'' のあとの数字は出力されるメッセージのレベルを
-決定します。
-.TP
-.B \-l
+.It Fl d Ar debuglevel
+デバッグ情報を出力します。
+.Ar debuglevel
+出力されるメッセージのレベルを決定します。
+.It Fl l Ar debug_log_file
デバッグメッセージのログファイルを指定します。デフォルトでは
システムに依存しますが、通常は
-.I /var/tmp
+.Pa /var/tmp
または
-.IR /usr/tmp
+.Pa /usr/tmp
です。このオプションは
-.I \-d
+.Fl d
と同時に指定されたときのみ適用されますので注意してください。
-.TP
-.B \-t
-ゾーン情報転送のプロトコルトレースを格納するトレースファイルを指定します。
+.It Fl t Ar trace_file
+ゾーン情報転送のプロトコルトレースを格納するトレースファイル
+.Ar trace_file
+を指定します。
このオプションはネームサーバーそのものをデバッグする人にとってのみ
有益なのかもしれません。
-.TP
-.B \-p
+.It Fl p Ar port#
デフォルト以外のポート番号を使用するときに指定します。
デフォルトの標準ポートナンバーは
-``domain'' サービスの getservbyname(3) の返す値になります。
-.TP
-.B \-S
+``domain'' サービスの
+.Xr getservbyname 3
+の返す値になります。
+.It Fl S
SOA レコードと NS レコードの転送のみを許可し、
ゾーンに対して A レコードを結合します。
-SOA レコードは named によって読み込まれませんが、
+SOA レコードは
+.Xr named 8
+によって読み込まれませんが、
NS レコードをいつ検証するのかを決定するのに使用されます。
詳しくは
-.IR named (8)
-の ``stubs''を参照してください。
-.TP
-.PP
-付加的な引数としてネームサーバーのアドレスを、いわゆる ``dotted-quad''
-構文でのみ、とります。ネームサーバのアドレスの省略は許されません。
+.Xr named 8
+の
+.Dq Li stubs
+を参照してください。
+.El
+.Pp
+付加的な引数としてネームサーバーのアドレスを、いわゆる
+.Dq dotted-quad
+構文で
+.Em のみ
+、とります。ネームサーバのアドレスの省略は許されません。
少なくとも一つのアドレスを指定しなくてはなりません。
ネームサーバーのアドレスが複数指定されると、最初のサーバーが転送を失敗すると、
順番にサーバーを切替えて転送を試みます。
-
-.SH 関連項目
-named(8), resolver(3), resolver(5), hostname(7),
+.Sh 関連項目
+.Xr hostname 7,
+.Xr named 8 ,
+.Xr resolver 3 ,
+.Xr resolver 5 ,
RFC 882, RFC 883, RFC 973, RFC 974, RFC 1033, RFC 1034, RFC 1035, RFC 1123,
-\fIName Server Operations Guide for \s-1BIND\s+1\fR
+.Dq Name Server Operations Guide for Sy BIND .
diff --git a/ja/man/man8/named.8 b/ja/man/man8/named.8
index 0cfbdf770d..e737151c18 100644
--- a/ja/man/man8/named.8
+++ b/ja/man/man8/named.8
@@ -1,493 +1,462 @@
-.\" ++Copyright++ 1985
+.\" ++Copyright++ 1985, 1996
.\" -
-.\" Copyright (c) 1985
+.\" Copyright (c) 1985, 1996
.\" 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.
.\" -
.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies, and that
.\" the name of Digital Equipment Corporation not be used in advertising or
.\" publicity pertaining to distribution of the document or software without
.\" specific, written prior permission.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" -
.\" --Copyright--
.\"
.\" @(#)named.8 6.6 (Berkeley) 2/14/89
.\" jpman %Id: named.8,v 1.4 1997/11/11 13:59:51 horikawa Stab %
.\"
-.TH NAMED 8 "June 20, 1995"
-.UC 4
-.SH 名称
-named \- インターネットドメインネームサーバ
-.SH 書式
-.B named
-[
-.B \-d
-.I debuglevel
-] [
-.B \-p
-.IR port# [\fB/\fP\fIlocalport#\fP]
-] [{\-b}
-.I bootfile
-] [
-.B \-q
-] [
-.B \-r
-]
-.SH 解説
-.I Named
+.Dd February 1, 1996
+.Dt NAMED 8
+.Os BSD 4
+.Sh 名称
+.Nm named
+.Nd インターネットドメインネームサーバ (DNS)
+.Sh 書式
+.Nm NAMED
+.Op Fl d Ar debuglevel
+.Op Fl p Ar port#
+.Oo Fl Po
+.Cm b Ns \&| Ns Cm c
+.Pc
+.Ar config_file
+.Oc
+.Op Fl f q r
+.Op Fl u Ar user_name
+.Op Fl g Ar group_name
+.Op Fl t Ar directory
+.Op Fl w Ar directory
+.Op Ar config_file
+.Sh 解説
+.Ic named
はインターネットドメインネームサーバです。
インターネットドメインネームシステムの詳細な情報については
RFC 1033, 1034, 1035 を参照してください。
パラメータがない場合は
-.I named
-はデフォルトのブートファイルである
-.IR /etc/named.boot
+.Ic named
+はデフォルトの設定ファイルである
+.Pa /etc/namedb/named.conf
の初期化データを読み込み、問い合わせに対し待機します。
-.PP
+コマンド行の最後に与えられた
+.Ar config_file
+引き数は
+.Dq Fl b
+または
+.Dq Fl c
+フラグを使用して指定された
+.Ar config_file
+を無効にします。
+.Pp
+.Sy 注釈:
+.Nm named
+のいくつかのオプションと多くの動作は、設定ファイルの中で
+制御できます。更なる情報はこの
+.Sy BIND
+配布物に含まれる設定ファイルガイドを参照してください。
+.Pp
指定できるオプションは以下の通りです。
-.TP
-.B \-d
+.Bl -tag -width Fl
+.It Fl d Ar debuglevel
デバッグ情報を出力します。
-``d''に続く数字には出力するメッセージのレベルを指定します。
-.TP
-.B \-p
-標準でないポート番号を指定します。
-デフォルトは getservbyname(3) によって、
-サービス ``domain'' に対して返される標準のポート番号となります。
-このオプションでは2つのポートをスラッシュ(``\fB/\fP'')で続けて
-指定することができます。
-この場合は最初のポートがリモートサーバに接続する際に使用され、
-後のポートはローカルで実行されている
-.IR named
-のサービスポートとなります。
-これはおもにデバッグのために使用されます。
-.TP
-.B \-b
-ブートファイルを指定します。
-この指定はオプションであり、
-ダッシュで始まるファイルを指定することが可能となります。
-.TP
-.B \-q
-\fInamed\fP が \fIQRYLOG\fP を定義してコンパイルされている場合に、
-全ての問い合わせのトレースを行ないます。
-\fI注釈:\fP このオプションはブートファイル中の ``options query-log''
-の指定と同等です。
-.TP
-.B \-r
+.Ar debuglevel
+は表示するメッセージのレベルを決定する数字です。もし負の値の場合、
+.Ar debuglevel
+は
+.Dq 1
+に設定されます。
+.Pp
+.Sy 注釈:
+新しいデバッグの枠組は古いバージョンの
+.Nm NAMED
+よりもかなり洗練されています。
+設定ファイルの
+.Dq Li logging
+宣言は(問い合わせや内/外への転送などの)多くの種類にわたるイベント
+それぞれに対して、複数の別々なデバッグレベルを設定することができます。
+これらの広範囲にわたる新しい機能に関する更なる情報は、この
+.Sy BIND
+配布物に含まれる設定ファイルガイドを参照してください。
+.It Fl p Ar port#
+指定されたリモートポート番号を使用します。このポート番号は
+.Nm NAMED
+が問い合わせを送る番号です。デフォルトの値は標準のポート番号、つまり
+.Xr getservbyname 3
+が
+.Dq Li domain
+に対して返すポート番号です。
+.Pp
+.Sy 注釈:
+以前は、
+.Dq Fl p Ar port# Ns Op Ar \&/localport#
+という文法が使用でき、1 つ目のポートが
+.Em remote
+サーバへの接続に使用され、2 つ目のポートが
+.Nm NAMED
+の
+.Em local
+サーバに対するポート番号として使用されました。
+現在の使用法は古い使用法から
+.Ar localport#
+の指定を除いたものと同等です。この機能は
+設定ファイルの
+.Dq Li options
+宣言にある
+.Dq Li listen-on
+節で指定できます。
+.It Xo Fl Po
+.Cm b Ns \&| Ns Cm c
+.Pc Ar config_file
+.Xc
+代わりの
+.Ar config_file
+を使用します。
+この引き数はコマンド行の最後に指定された
+.Ar config_file
+によって上書きされます。
+デフォルトの値は
+.Pa /etc/namedb/named.conf
+です。
+.It Fl f
+このプロセスを表で動かし、
+.Xr fork 2
+やデーモン化をしません(デフォルトではデーモン化をします)。
+.It Fl q
+.Nm NAMED
+が
+.Li QRYLOG
+を定義してコンパイルされている場合に、
+すべての問い合わせのトレースを行ないます。
+.Pp
+.Sy 注釈:
+設定ファイルの
+.Dq Li logging
+宣言で
+.Dq Li queries
+.Em logging category
+する方が賛成され、このオプションは反対されています。
+更なる情報は、この
+.Sy BIND
+配布物に含まれる設定ファイルガイドを参照してください。
+.It Fl r
再帰的なネームサーバの問い合わせを抑止します。
問い合わせに対してはローカルゾーン(プライマリもしくはセカンダリ)からのみ
回答されます。
この指定はルートサーバにて使用することができます。
-\fI注釈:\fP このオプションはブートファイル中の ``options no-recursion''
-の指定と同等です。
-.PP
-その他の引数はブートファイル名として扱われます。
-複数のブートファイルが指定された場合は、最後の指定が有効となります。
-.PP
-ブートファイルにはネームサーバが得るべき初期データの所在の情報が含まれます。
-ブートファイル中の各行を次の行に引き続いて書くことはできません。
-以下に簡単な例を示します。
-.in +2m
-.nf
-
-;
-; boot file for name server
-;
-directory /usr/local/adm/named
-
-.ta \w'check-names\ 'u +\w'6.32.128.IN-ADDR.ARPA\ 'u +\w'128.32.137.8 128.32.137.3\ 'u
-; type domain source host/file backup file
-
-cache . root.cache
-primary Berkeley.EDU berkeley.edu.zone
-primary 32.128.IN-ADDR.ARPA ucbhosts.rev
-secondary CC.Berkeley.EDU 128.32.137.8 128.32.137.3 cc.zone.bak
-secondary 6.32.128.IN-ADDR.ARPA 128.32.137.8 128.32.137.3 cc.rev.bak
-primary 0.0.127.IN-ADDR.ARPA localhost.rev
-forwarders 10.0.0.78 10.2.0.78
-limit transfers-in 10
-limit datasize 64M
-limit files 256
-options forward-only query-log fake-iquery
-check-names primary fail
-check-names secondary warn
-check-names response ignore
-
-.DT
-.fi
-.in
-``directory'' 行はサーバのワーキングディレクトリを指定します。
-この指定はプライマリゾーンファイル中にて \s-1$INCLUDE\s+1 が、
-正しく機能する為に重要となります。
-.LP
-``cache'' 行は ``root.cache'' におけるデータがバックアップキャッシュに
-置かれることを指定します。
-これはおもにルートドメインサーバの位置のようなデータを指定するために
-使われます。
-このキャッシュは通常は使われませんが、現在のルートサーバをみつけるための
-「ヒント」として使われます。
-``root.cache'' ファイルは ``berkeley.edu.zone'' と同じフォーマットです。
-複数の ``cache'' ファイルを指定することもできます。
-``root.cache'' ファイルは \s-1FTP.RS.INTERNIC.NET\s+1 から
-定期的に取得するべきです。
-なぜならば、それにはルートサーバのリストが含まれており、
-リストは定期的に変更されているためです。
-.LP
-例における最初の ``primary'' 行ではファイル ``berkeley.edu.zone'' が
-``Berkeley.EDU'' ゾーンにおける信頼すべきデータを含んでいることを
-宣言しています。
-``berkeley.edu.zone'' ファイルは RFC 883 に記述されている
-マスタファイルフォーマットのデータが含まれています。
-全てのドメイン名は起点 (ここの例では ``Berkeley.EDU'') に対し
-相対的に指定されます (詳細は後述)。
-2番目の ``primary'' 行ではファイル ``ucbhosts.rev'' が
-ドメイン ``32.128.IN-ADDR.ARPA'' の信頼すべきデータを含んでいることを
-宣言しています。
-これはネットワーク 128.32 におけるアドレスをホスト名に変換するために
-使われます。
-それぞれのマスタファイルは
-そのゾーンの SOA レコードで始めなければなりません。(下記参照)
-.LP
-例における最初の ``secondary'' 行では
-``CC.Berkeley.EDU'' 以下の全ての信頼すべきデータは
-128.32.137.8 にあるネームサーバから転送されることを指定しています。
-データの転送に失敗したら 128.32.137.3 と、
-この行で指定された他のアドレス (10 個まで) を順に試みます。
-セカンダリコピーもここで指定されているドメインについての
-信頼すべきデータとなります。
-この行における最初の 4 つ組ドットアドレス表記でないものは、
-転送されたゾーンのバックアップをとるファイル名として扱われます。
-ネームサーバはこのバックアップファイルがブート時に存在すれば、
-ゾーン情報を読み込み、マスタサーバに接続できない場合でも
-完全なコピーとしてゾーン情報を供給します。
-ドメインの新しいコピーがマスタサーバのいずれかから自動ゾーン転送されれば、
-このファイルは更新されます。
-ファイル名が指定されなければ、
-一時ファイルが使用されゾーン転送が成功した後に削除されます。
-これは不要なトラフィックを発生するため、おすすめできません。
-2番目の ``secondary'' 行では、サブネット 128.32.136 におけるアドレスから
-ホスト名へのマッピングは、その前のゾーンと同じマスタサーバから得ることを
-宣言しています。
-.LP
-``forwarders'' 行では、他のサーバからの再帰的な問い合わせを
-サイト単位で受け持つサーバのアドレスを指定しています。
-ブートファイルに 1 つか複数のフォーワーダが指定してあると、
-サーバはキャッシュに含まれていない全てのデータの問い合わせを
-先ずフォーワーダに送ります。
-応答が返ってくるか、
-指定されている全てのフォーワーダに問い合わせが終るまで、
-各々のフォーワーダに順に問い合わせます。
-フォーワーダから応答が返って来ない場合、
-サーバは、``forward-only'' モードでなければ、
-forwarder 行が指定されていない場合と同様に処理を続けます。
-この問い合わせの転送機能はマスタサーバにサイト単位の大きなキャッシュを
-生成し、
-外部のサーバとのリンクのためのトラフィックを軽減するのに役立ちます。
-また、インターネットへの直接アクセスはできないが、
-外部のアドレスを検索できるようなサーバを運用することが可能となります。
-.LP
-``slave'' 行は古いソフトウェアとの互換性のために設けられています。
-これは ``options forward-only'' と同一です。
-.LP
-``sortlist'' 行は、他のネットワークより優先するネットワークを指定するのに
-使われます。
-サーバと同じネットワーク上のホストからのアドレスの問い合わせには、
-先ずローカルネットワークアドレスにリストされているもの、
-次にソートされたリストから、そして最後にその他のアドレスから応答が返されます。
-.LP
-``xfrnets'' の指定 (例では使われていない) は単純なアクセス制御を行なうために
-使われます。
-この指定があれば、ネームサーバは ``xfrnets'' にて指定されたネットワーク上の
-ホストからのゾーン情報の転送の要求にのみ応答を返します。
-これは古い中間的なサーバとの互換性を取るために ``tcplist'' として
-指定することもできます。
-.LP
-``include'' の指定 (例では使われていない) は、他のファイルの内容があたかも
-``include'' の指定がある場所におかれているように扱うために使われます。
-この指定はゾーンが多数あるか、ゾーンを論理的にグループ化し多数の人によって
-メンテナンスしている場合に有用です。
-``include'' の指定は引数をひとつ取り、そこでインクルードするファイル名を
-指定します。
-ファイル名の前後に引用符は必要ありません。
-.LP
-``bogusns'' の指定 (例では使われていない) は、
-指定されているネームサーバアドレス
-(これはドメイン名ではなく 4 つ組ドット表記にて指定される)
-には問い合わせをしないことを \s-1BIND\s+1 に指示します。
-この指定は、ある特定のサーバのゾーンやキャッシュのデータが不正であることが
-あらかじめ分かっていて、
-問題が修正されるまでデータの汚染を防止したい場合に有用です。
-.LP
-``limit'' の指定は \s-1BIND\s+1 の内部の制限を変更する場合に使用します。
-制限にはシステムによるもの (例えば \fBdatasize\fP) と
-\s-1BIND\s+1 自身によるもの (例えば \fBtransfers-in\fP) があります。
-limit の名称に続く数字はその後に続く ``k'', ``m'', ``g'' のいずれかによって
-各々キロバイト、メガバイト、ギガバイトの単位となります。
-\fBdatasize\fP の引数はカーネルによって設定されるプロセスのデータサイズです。
-\fI注釈:\fP これを実現する関数が提供されていないシステムもあります。
-そのようなシステムで ``limit'' に \fBdatasize\fP のパラメータを使用すると
-警告メッセージが出力されます。
-\fBtransfers-in\fP の引数は \s-1BIND\s+1 が一度に生成する \fInamed-xfer\fP
-サブプロセスの数を指定します。
-\fBtransfers-per-ns\fP の引数はいくつかのリモートネームサーバに対し、
-同時にゾーン転送を開始する最大の数となります。
-\fBfiles\fP の引数はプロセスが使えるファイル記述子の数を設定します。
-\fI注釈:\fP これを実現する関数が提供されていないシステムもあります。
-そのようなシステムで ``limit'' に \fBfiles\fP のパラメータを使用すると
-警告メッセージが出力されます。
-.LP
-``options'' の指定は \s-1BIND\s+1 の動作を変更するブール値の設定を行ないます。
-ひとつの指定中に複数のオプションを指定することが可能です。
-現在定義されているオプションには次のものがあります。
-\fBno-recursion\fP これは \s-1BIND\s+1 に対し、
-信頼できない名前に対する問い合わせを受け取った場合に実際のデータではなく、
-照会先を返すよう指示します。
-そのサーバが他のホストの \fIresolv.conf\fP ファイル中に記述されている場合は、
-このオプションは指定しないでください。
-\fBno-fetch-glue\fP これは応答中の「付属データ(additional data)」セクションを
-生成する時に、
-\s-1BIND\s+1 が存在しないつなぎ (missing glue) をフェッチしないようにします。
-これは、\fBno-recursion\fP と共に用いられ、
-\s-1BIND\s+1 のキャッシュサイズが大きくなったり、壊れたりするのを防ぐのに
-使われます。
-\fBquery-log\fP 全ての問い合わせのログを syslog(8) 経由で採取します。
-これを指定すると大量のデータを生成しますので、無闇には指定しないで下さい。
-\fBforward-only\fP フォーワーダにのみ問い合わせます。
-通常、この指定はサーバを運用したいが、
-サーバが物理的もしくは管理上の理由によりインターネットに
-アクセスできない場合に使われます。
-\fBfake-iquery\fP 「逆引き (inverse queries)」に対してエラーではなく、
-にせの応答を返すことを \s-1BIND\s+1 に指示します。
-これはクライアントにマイクロコンピュータやSunOSのホストが沢山ある場合に
-役に立ちます。
-.LP
-``check-names'' では、
-その引数として ``primary'', ``secondary'', ``response'' を指定することにより、
-\s-1BIND\s+1 に対してそれぞれ、
-プライマリゾーンファイル、
-セカンダリゾーンファイル、
-再帰問い合わせに対する応答
-(例えば、ファイアウォール中から問い合わせ転送に対する応答)
-の中の名称をチェックすることを指示します。
-また、それぞれ名称の各タイプについて、
-ゾーン情報が読み込まれていなかったり、
-応答がキャッシュや転送されない場合の \s-1BIND\s+1 の振舞を、
-引数に ``fail'', ``warn'', ``ignore''を指定することによってそれぞれ、
-失敗する、
-システムのログにメッセージを残す、
-不正な名称を無視し従来の方法で処理する、というように指定することができます。
-名称は、それがホスト名の場合は RFC 952 に準拠していれば正しいものと判断され、
-ホスト名以外の場合は表示可能な \s-1ASCII\s+1 文字でのみ構成されていれば
-正しいものと判断されます。
-.LP
-``max-fetch'' の指定 (例では使われていない) は
-古いソフトウェアとの互換性を取るためのもので、
-``limit transfers-in'' と同一です。
-.PP
+デフォルトでは再帰的な問い合わせを行ないます。
+.Pp
+.Sy 注釈:
+このオプションは設定ファイルの
+.Dq Li options
+宣言の
+.Dq Li recursion
+節によって上書きされ、またそちらのほうが推奨されています。
+.It Fl u Ar user_name
+ユーザを指定すると、初期化後のサーバがこのユーザで動作します。
+値はユーザ名または数字のユーザ ID どちらでも構いません。
+.Dq Fl g
+フラグが指定されていなかった場合、
+指定されたユーザのプライマリグループがグループ ID として使用されます
+(initgroups() が呼ばれるため、ユーザの所属するすべてのグループがサーバに
+渡されます)。
+.Pp
+.It Fl g Ar group_name
+グループを指定すると、初期化後のサーバがこのグループで動作します。
+値はグループ名または数字のグループ ID どちらでも構いません。
+.Pp
+.It Fl t Ar directory
+サーバがコマンド行引き数を処理したらすぐに chroot() するべき
+ディレクトリを指定します。
+.Pp
+.It Fl w Ar directory
+サーバの作業ディレクトリを設定します。設定ファイルの
+.Dq Li options
+宣言の
+.Dq Li directory
+節はコマンド行で指定したあらゆる値を上書きします。
+デフォルトの作業ディレクトリはカレンドディレクトリ
+.Pq Dq \&.
+です。
+.El
+.Pp
+それ以外の引き数は上で述べたとおり、
+古い実装との互換性のために、設定ファイルの名前として扱われます。この引き数は
+.Dq Fl b
+または
+.Dq Fl c
+フラグを使用して指定される
+.Ar config_file
+を無効にします。
+特に引き数が与えられなければ、デフォルトの設定ファイルが使用されます
+.Pq Pa /etc/namedb/named.conf
+。
+.Ss マスタファイル形式
マスタファイルは制御情報とゾーン中のオブジェクトの
資源レコードのリストからなり、次の形式を取ります。
-.RS
-.nf
-
+.Bd -literal -offset indent
$INCLUDE <filename> <opt_domain>
$ORIGIN <domain>
<domain> <opt_ttl> <opt_class> <type> <resource_record_data>
-
-.fi
-.RE
+.Ed
+.Pp
ここで、
-.I domain
-にはルートの場合は "." を、現在の起点の場合は "@" を、
-それら以外では通常のドメイン名を指定します。
-.I domain
-が ``.'' で終っていない通常のドメイン名である場合は、
+.Bl -tag -width "opt_domain "
+.It Ar domain
+ルートの場合は
+.Dq Li \&.
+を、現在の起点の場合は
+.Dq Li @
+を、それら以外では通常のドメイン名を指定します。
+.Ar domain
+が
+.Dq Li \&.
+で終って
+.Em いない
+通常のドメイン名である場合は、
現在の起点がドメインに追加されます。
-``.'' で終るドメイン名は変更されません。
-.I opt_domain
-フィールドにはインクルードファイル中のデータの起点を定義します。
-これはインクルードファイルの最初の行の前に
-$ORIGIN 宣言を置くことと等価です。
+ドメイン名が
+.Dq Li \&.
+で終っている場合は変更されません。
+.It Ar opt_domain
+このフィールドにはインクルードファイル中のデータの起点を定義します。
+これはインクルードファイルの最初の行の前に
+.Li $ORIGIN
+宣言を置くことと等価です。
このフィールドはオプショナルです。
-.I opt_domain
-や、インクルードファイル中の $ORIGIN 宣言は
-そのファイル自身の現在の起点を変更することはありません。
-.I opt_ttl
-フィールドはオプションであり、
-time-to-live フィールドを指定する整数値となります。
-このデフォルト値はゼロであり、
+.Ar opt_domain
+フィールドやインクルードファイル中の
+.Li $ORIGIN
+宣言はそのファイル自身の現在の起点を変更することはありません。
+.It Ar opt_ttl
+このフィールドはオプションであり、
+time-to-live を整数値で指定します。
+このデフォルト値は 0 であり、
そのゾーンの SOA レコードに指定された最小値を意味します。
-.I opt_class
-フィールドはオブジェクトのアドレスの型を指定します。
+.It opt_class
+オブジェクトのアドレスの型を指定します。
現在はDARPAインターネットに接続するオブジェクトである
-.BR IN
+.Dv IN
のみがサポートされています。
-.I type
-フィールドには以下のトークンのうちひとつが含まれます。
+.It Ar type
+このフィールドには以下のトークンのうちひとつが含まれます。
括弧中におのおの
-.I resource_record_data
+.Ar resource_record_data
フィールドに指定すべきデータを示しています。
-.TP "\w'MINFO 'u"
-A
-ホストアドレス (4つ組ドット)
-.IP NS
-信頼できるネームサーバ (ドメイン)
-.IP MX
+.Bl -tag -width "HINFO " -offset indent
+.It Dv A
+ホストアドレス (4つ組ドット IP アドレス)
+.It Dv NS
+権威があるネームサーバ (ドメイン)
+.It Dv MX
メールエクスチェンジャ (ドメイン)
優先順位 (0..32767) に引続き指定します。
優先順位は小さい値が優先順位の高いことを示します。
-.IP CNAME
+.It Dv CNAME
別名に対応した正式名 (ドメイン)
-.IP SOA
+.It Dv SOA
オーソリティゾーンデータの開始を示します。
(ホストの属するドメイン、メンテナのドメインアドレス、
シリアル番号、その後にリフレッシュ、リトライ、有効期限、最小 TTL (RFC 883を参照)
の各値を秒で指定したパラメータが続く)。
-.IP NULL
+.It Dv NULL
ヌルリソースレコード (形式やデータはありません)
-.IP RP
+.It Dv RP
いくつかのドメイン名の責任者 (メールアドレスか参照できるテキスト)
-.IP PTR
+.It Dv PTR
ドメイン名のポインタ (ドメイン)
-.IP HINFO
+.It Dv HINFO
ホスト情報 (CPUタイプ、OSタイプ)
-.PP
+.El
+.El
+.Pp
通常は行末でリソースレコードは終了しますが、
左括弧と右括弧で囲まれた場合は複数行にまたがることが可能となります。
セミコロンから行末まではコメントとして扱われます。
-.PP
+.Pp
+.Sy 注釈:
ここには示されていませんが、このほかのタイプのリソースレコードも存在します。
リソースレコードのすべてのタイプを知るには
-\s-1BIND\s+1 Operations Guide (``\s-1BOG\s+1'') を参照する必要があるでしょう。
+.Sy BIND
+Operations Guide
+.Pq Dq BOG
+を参照する必要があるでしょう。
新しい RFC にていくつかのリソースタイプが標準化されていますが、
-このバージョンの \s-1BIND\s+1 ではまだ実装されていません。
-.PP
+このバージョンの
+.Sy BIND
+ではまだ実装されていません。
+.Ss SOA レコード形式
各マスタゾーンファイルはそのゾーンの SOA レコードで始まらなければなりません。
以下に SOA レコードの例を示します。
-.LP
-.nf
-@ IN SOA ucbvax.Berkeley.EDU. rwh.ucbvax.Berkeley.EDU. (
-.ta \w'x\ IN\ SOA\ 'u +\w'1989020501\ 'u
- 1989020501 ; serial
- 10800 ; refresh
- 3600 ; retry
- 3600000 ; expire
- 86400 ) ; minimum
-.fi
-.LP
-SOA ではシリアル番号を指定します。
+.Bd -literal
+@ IN SOA ucbvax.Berkeley.EDU. rwh.ucbvax.Berkeley.EDU. (
+ 1989020501 ; serial
+ 10800 ; refresh
+ 3600 ; retry
+ 3600000 ; expire
+ 86400 ) ; minimum
+.Ed
+.Pp
+SOA ではシリアル番号 (serial) を指定します。
シリアル番号はマスタファイルを更新するたびに変更する必要があります。
-シリアル番号 (serial) は少数点つきの数字を指定することもできますが、
+シリアル番号は小数点つきの数字を指定することもできますが、
整数への変換は乗算や加算ではなく文字列としてつなげて行っているため、
-あまり賢い方法とはいえません。
+.Em あまり
+賢い方法とはいえません。
年月日と 0〜99 のシリアル番号を使用することで、
このフィールドのサイズである符号なしの 32 ビット以内に収まります。
-このやり方はグレゴリ暦の 4294 年には考え直す必要があることは確かですが、
-それについては心配する必要はないでしょう。
+(このやり方は 4294 年には考え直す必要があることは確かですが、
+それについては心配する必要はないでしょう)。
+.Pp
セカンダリサーバは秒で指定されたリフレッシュ時間 (refresh) の間隔で
シリアル番号をチェックします。
シリアル番号に変更があれば、新しいデータを読み込むために
ゾーン情報が転送されます。
リフレッシュ時間が過ぎてもマスタサーバに接続できない場合は、
リトライ時間 (retry) の間隔でリフレッシュが試みられます。
期限切れ時間 (expire) が過ぎてマスタサーバに接続できない場合は、
-セカンダリサーバはそのゾーンの全てのデータを破棄します。
-最小値 (minimum) はファイル中の生存時間 (``\s-1TTL\s+1'') が
-明示的に指定されていないレコードの生存時間となります。
-.SH 注釈
-ブートファイルでの ``domain'' と ``suffixes'' の指定は廃止され、
+セカンダリサーバはそのゾーンのすべてのデータを破棄します。
+最小値 (minimum) はファイル中の生存時間
+.Pq Dq TTL
+が明示的に指定されていないレコードの生存時間となります。
+.Sh 注釈
+ブートファイルでの
+.Dq Li domain
+と
+.Dq Li suffixes
+の指定は廃止され、
もっと便利なリゾルバベースの実装、すなわち部分的な形のドメイン名
-(partially qualified domain names) の接尾辞に置き変えられました。
+(partially-qualified domain names) の接尾辞に置き変えられました。
以前のメカニズムでは多くの状況下で失敗することがあり、
特にローカルネームサーバが完全な情報を持っていない場合に失敗しました。
-.sp
+.Pp
以下に各シグナルを
-.IR kill (1)
+.Xr kill 1
コマンドによってサーバに送った場合の効果を示します。
-.IP SIGHUP
-サーバは named.boot を読み、データベースをロードし直します。
-サーバがコンパイルオプションの FOCED_RELOAD を定義されて
-コンパイルされている場合は、
-SIGHUPを送るとサーバは全てのセカンダリゾーンのシリアル番号もチェックします。
+.Pp
+.Bl -tag -width "SIGWINCH"
+.It Dv SIGHUP
+サーバは
+.Pa named.conf
+を読み、データベースをロードし直します。
+サーバがコンパイルオプションの
+.Li FOCED_RELOAD
+を定義されてコンパイルされている場合は、
+.Dv SIGHUP
+を送るとサーバはすべてのセカンダリゾーンのシリアル番号もチェックします。
通常、シリアル番号は SOA 中に指定された間隔でのみチェックされます。
-.IP SIGINT
-現在のデータベースとキャッシュの内容を /var/tmp/named_dump.db にダンプします。
-.IP SIGIOT
+.It Dv SIGINT
+現在のデータベースとキャッシュの内容を
+.Dq Pa /var/tmp/named_dump.db
+または
+.Dv _PATH_DUMPFILE
+の値にダンプします。
+.It Dv SIGILL
サーバが -DSTATS 付きでコンパイルされていれば、
-統計データを /var/tmp/named.stats にダンプします。
+統計データを
+.Pa named.stats
+にダンプします。
統計データはこのファイルの末尾に追加されます。
-いくつかのシステムでは SIGIOT ではなく SIGABRT で統計データのダンプを行います。
-.IP SIGSYS
+.It Dv SIGSYS
サーバがプロファイリング (サーバの fork, chdir と exit) を
有効にされてコンパイルされていれば、
-プロファイリングデータを /var/tmp にダンプします。
-.IP SIGTERM
+プロファイリングデータを
+.Pa /var/tmp
+にダンプします。
+.It Dv SIGTERM
プライマリおよびセカンダリのデータベースファイルをダンプします。
サーバが動的更新を有効にしてコンパイルされていれば、
シャットダウン時に更新されたデータをセーブするために使用されます。
-.IP SIGUSR1
+.It Dv SIGUSR1
デバッグ機能を有効にします。
-SIGUSR1が送られるたびにデバッグレベルが上がります。
-(SIGUSR1がない古いシステムではSIGEMTが使われます。)
-.IP SIGUSR2
+.Dv SIGUSR1
+が送られるたびにデバッグレベルが上がります。
+.Po Dv SIGUSR1
+がない古いシステムでは
+.Dv SIGEMT
+が使われます。
+.Pc
+.It Dv SIGUSR2
デバッグ機能を完全に無効にします。
-(SIGUSR2がない古いシステムではSIGFPEが使われます。)
-.IP SIGWINCH
-全てのサーバに入力される問い合わせの syslog(8) による
+.Po Dv SIGUSR2
+がない古いシステムでは
+.Dv SIGFPE
+が使われます。
+.Pc
+.It Dv SIGWINCH
+すべてのサーバに入力される問い合わせの
+.Xr syslog 8
+による
ログ採取の有無を切り替えます。
-(ログ採取はサーバが QRYLOG オプションを指定されて
+(ログ採取はサーバが
+.Li QRYLOG
+オプションを指定されて
コンパイルされている必要があります。)
-.SH 関連ファイル
-.nf
-.ta \w'/var/tmp/named_dump.db 'u
-/etc/named.boot ネームサーバの設定ブートファイル
-/etc/named.pid プロセス ID (旧システム)
-/var/run/named.pid プロセス ID (新システム)
-/var/tmp/named_dump.db ネームサーバデータベースのダンプ
-/var/tmp/named.run デバッグ出力
-/var/tmp/named.stats ネームサーバの統計データ
-.fi
-.SH 関連項目
-kill(1), gethostbyname(3), signal(2),
-resolver(3), resolver(5), hostname(7),
+.Sh 関連ファイル
+.Bl -tag -width "/var/tmp/named_dump.db (_PATH_DUMPFILE) " -compact
+.It Pa /etc/namedb/named.conf
+デフォルトのネームサーバの設定ファイル
+.It Pa /var/run/named.pid Pq Dv _PATH_PIDFILE
+プロセス ID
+.It Pa /var/tmp/named_dump.db Pq Dv _PATH_DUMPFILE
+ネームサーバデータベースのダンプ
+.It Pa /var/tmp/named.run Pq file: Dv _PATH_DEBUG
+デバッグ出力
+.It Pa /var/tmp/named.stats Pq file: Dv _PATH_STATS
+ネームサーバの統計データ
+.El
+.Sh 関連項目
+.Xr gethostbyname 3 ,
+.Xr hostname 7 ,
+.Xr kill 1 ,
+.Xr resolver 3 ,
+.Xr resolver 5 ,
+.Xr signal 2 ,
RFC 882, RFC 883, RFC 973, RFC 974, RFC 1033, RFC 1034, RFC 1035, RFC 1123,
-\fIName Server Operations Guide for \s-1BIND\s+1\fR
+.Dq Name Server Operations Guide for Sy BIND
diff --git a/ja/man/man8/natd.8 b/ja/man/man8/natd.8
index 020648a7c7..14a907cd66 100644
--- a/ja/man/man8/natd.8
+++ b/ja/man/man8/natd.8
@@ -1,433 +1,433 @@
.\" manual page [] for natd 1.4
-.\" %Id: natd.8,v 1.4.2.11 1998/07/18 11:11:23 jkh Exp %
+.\" %Id: natd.8,v 1.15 1998/07/15 03:32:45 jkoshy Exp $%
.\" jpman %Id%
.Dd 15 April 1997
.Os FreeBSD
.Dt NATD 8
.Sh 名称
.Nm natd
.Nd
ネットワークアドレス変換デーモン
.Sh 書式
.Nm
.Op Fl ldsmvu
.Op Fl permanent_link
.Op Fl dynamic
.Op Fl i Ar inport
.Op Fl o Ar outport
.Op Fl p Ar port
.Op Fl a Ar address
.Op Fl n Ar interface
.Op Fl f Ar configfile
.Nm
.Op Fl log
.Op Fl deny_incoming
.Op Fl use_sockets
.Op Fl same_ports
.Op Fl verbose
.Op Fl unregistered_only
.Op Fl permanent_link
.Op Fl dynamic
.Op Fl inport Ar inport
.Op Fl outport Ar outport
.Op Fl port Ar port
.Op Fl alias_address Ar address
.Op Fl interface Ar interface
.Op Fl config Ar configfile
.Op Fl redirect_port Ar linkspec
.Op Fl redirect_address Ar localIP publicIP
.Sh 解説
このプログラムは、FreeBSD における
.Xr divert 4
ソケットと共に用いることによって、ネットワークアドレスの変換を
行います。
コマンドラインオプションのほとんどは、1 文字の短縮形か、長い表記が
利用できます。
見る人がはっきりと理解しやすいように、長い表記を使うことが
推奨されています。
.Pp
.Nm natd
は通常、デーモンとしてバックグラウンドで実行します。
.Nm
はマシンに入ってくるパケット、またはマシンから出て行くパケットを
生(raw)のまま扱い、場合により IP パケットストリームに
再び送り出す前に手を加えます。
.Pp
.Nm natd
は他のホストへ向かうすべてのパケットについて、発信元 IP アドレスを
現在のマシンのものにする、という変換を行います。
このように変換された各パケットについて、変換内容を記録するために
内部テーブルエントリが作成されます。
発信元ポート番号も、パケットに適用したテーブルエントリを示すように
変更されます。
現在のホストの、対象となる IP アドレスを使ったパケットが受信されると、
この内部テーブルがチェックされます。
エントリが見つかると、パケットに正しい対象 IP アドレスとポート番号を
入れるのに利用されます。
.Pp
以下のコマンドラインオプションが利用できます。
.Bl -tag -width Fl
.It Fl log | l
様々な alias の統計や情報をファイル
.Pa /var/log/alias.log
に記録します。このファイルは natd が起動されるたびに切りつめられます。
.It Fl deny_incoming | d
現在の IP アドレスへ向かうパケットのうち、内部変換テーブルに
エントリの無いものを拒否します。
.It Fl use_sockets | s
FTP data コネクションや IRC DCC send コネクションを確立するのに
.Xr socket 2
を割り当てます。このオプションはよりシステムリソースを消費しますが、
ポート番号が衝突する場合でもコネクションが成功することを保証します。
.It Fl same_ports | m
出て行くパケットを変換する時に、できるだけポート番号を同じまま
保つようにします。このオプションにより、RPC のようなプロトコルが
うまく働く可能性があがります。ポート番号を維持することができない時には、
暗黙のうちに通常と同じ方法で変換されます。
.It Fl verbose | v
起動時に
.Xr fork 2
.Xr daemon 3
を呼び出しません。よって、制御端末から切り離されずに、標準出力に
すべてのパケット変換を表示します。このオプションはデバッグの目的に
のみ用いるべきです。
.It Fl unregistered_only | u
登録されていない発信元アドレスを伴う出て行くパケットのみを変換します。
rfc 1918 によれば、登録されていない発信元アドレスは 10.0.0.0/8 と
172.16.0.0/12 と 192.168.0.0/16 となっています。
.It Fl redirect_port Ar linkspec
指定されたポートに入ってくるコネクションを別のホストとポートに
リダイレクトします。linkspec の書式は
proto targetIP:targetPORT [aliasIP:]aliasPORT [remoteIP[:remotePORT]]
のようになります。proto は tcp もしくは udp 、 targetIP は希望する
( リダイレクト先 ) 対象 IP アドレス、targetPORT は希望する対象ポート番号、
aliasPORT は ( クライアントが ) 要求するポート番号、aliasIP は alias を
行うアドレスです。
remoteIP と remotePORT は、必要な場合により正確なコネクションを
指定するのに利用できます。
例えば、
.Ar tcp inside1:telnet 6666
という引数は、このマシンのポート 6666 に向けられた tcp パケットが
マシン inside1 の telnet ポートに送られることを示しています。
.It Fl redirect_address Ar localIP publicIP
公式な IP アドレスへのパケットの流れを、ローカルネットワーク内の
マシンにリダイレクトします。この機能は "静的 NAT (static NAT)" と
呼ばれています。
静的 NAT はあなたの ISP が IP アドレスの小さなブロックをあなたに
割り当てた時に、単一のアドレスとして用いるのにも利用できます:
redirect_address 10.0.0.8 0.0.0.0
上記のコマンドは入ってくすべてのパケットをマシン 10.0.0.8 に
リダイレクトします。
下記のように、いくつかのアドレス alias が同一の公式アドレスを
示すように指定すると、
redirect_address 192.168.0.2 public_addr
redirect_address 192.168.0.3 public_addr
redirect_address 192.168.0.4 public_addr
入ってくるパケットの流れは最後に変換されたローカルアドレス
(192.168.0.4) に向けられますが、最初の二つのアドレスの出て行く
パケットの流れは指定された公式アドレスへの alias のままになります。
.It Fl permanent_link Ar linkspec
内部 alias テーブルに恒久的なエントリを作成します。linkspec の書式は
proto targetIP:targetPORT sourceIP:sourcePORT aliasPORT
のようになります。proto は tcp もしくは udp 、 targetIP は希望する
( リダイレクト先 ) 対象 IP アドレス、 targetPORT は希望する対象
ポート番号、 sourceIP と sourcePORT は入ってくるパケットにマッチする
もの、aliasPORT は ( クライアントが ) 要求するポート番号、となります。
値 0 はワイルドカードとして扱われます。例えば、
.Ar tcp inside1:telnet outside1:0 6666
はマシン outside1 ( の任意のポート ) からこのマシンのポート 6666 に
向けられた tcp パケットが、マシン inside1 の telnet ポートに送られる
ことを示します。
新規に導入する場合は、代わりに redirect_port を使うようにしてください。
.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
は alias アドレスを動的に変更します。
.It Fl i | inport Ar inport
すべてのパケットをマシンに入ってくるものとして扱い、
.Ar inport
から読み込み、
.Ar inport
へ書き出します。
.It Fl o | outport Ar outport
すべてのパケットをマシンから出て行くものとして扱い、
.Ar outport
から読み込み、
.Ar outport
へ書き出します。
.It Fl p | port Ar port
.Xr divert 4
によって指定されたルールを用いてパケットを識別し、入ってくるパケットを
.Ar port
から読み、出て行くパケットを
.Ar port
へ書き出します。
.Ar port
が数字でない場合、関数
.Xr getservbyname 3
を用いて
.Pa /etc/services
データベースが検索されます。
このフラグが指定されない時には、デフォルトとして natd という名前の
divert ポートが用いられます。
.Pa /etc/services
データベースのエントリの例としては以下のようになります:
natd 8668/divert # Network Address Translation socket
より詳しい説明は、
.Xr services 5
を参照してください。
.It Fl a | alias_address Ar address
alias アドレスとして
.Ar address
を用います。このオプションが指定されない場合は、
.Fl n
オプションか
.Fl interface
オプションが指定されなければなりません。
指定されたアドレスは、
公開されたネットワークインタフェースに割当てられたアドレスである
必要があります。
.Pp
このアドレスのインタフェースを通って出る全データのソースアドレスは
.Ar address
に書換えられます。
外部からこのインタフェースに到着する全データは、
既に alias された外向け接続にマッチするかどうかチェックされます。
マッチする場合、パケットはそれぞれ変換されます。
マッチしない場合、
.Fl redirect_port
.Fl redirect_address
の割り当てをチェックしそれぞれの動作を行います。
他の動作が行えない場合かつ
.Fl deny_incoming
が指定されていない場合、
パケットに指定された通りに
パケットはローカルのマシンのポートに配送されます。
.It Fl n | interface Ar interface
alias アドレスを決めるのに、
.Ar interface
を用います。
.Ar interface
に関連づけられた IP アドレスが変化する可能性がある場合には、
.Fl dynamic
フラグも指定されるべきです。
.Pp
指定された
.Ar interface
は公開されたネットワークインタフェースである必要があります。
.It Fl f | config Ar configfile
.Ar configfile
から設定を読み込みます。
.Ar configfile
はオプションのリストを含み、上記のコマンドラインフラグの長い表記と
同じ物が 1 行ずつ入ります。例えば、
alias_address 158.152.17.1
という行は alias アドレスに 158.152.17.1 を指定します。
設定ファイル内では、引数を持たないオプションは
.Ar yes
.Ar no
を伴って指定されます。例えば、
log yes
.Fl log
と同じ意味になります。空行と '#' で始まる行は無視されます。
.El
.Sh NATD の実行
.Nm natd
を走らせようとする前には以下の手順が必要となります:
.Bl -enum
.It
バージョン 2.2 かそれ以上の FreeBSD を手に入れる。これより前の
バージョンは
.Xr divert 4
ソケットをサポートしていません。
.It
自分のカーネルを以下のオプションを付けて構築します:
options IPFIREWALL
options IPDIVERT
自分のカーネルを構築する方法については、ハンドブックに詳しい説明が
あるのでそちらを参照してください。
.It
あなたのマシンがゲートウェイとして働くようにします。これは
.Pa /etc/rc.conf
gateway_enable=YES
と指定するか、
sysctl -w net.inet.ip.forwarding=1
というコマンドを用いることで機能するようになります。
.It
.Fl n
フラグや
.Fl interface
フラグを使いたい場合は、そのインタフェースがすでに設定済みとなるように
します。例えば、
.Ar interface
として tun0 を指定しようとし、そのインタフェースで
.Xr ppp 8
を使っている場合には、
.Nm natd
を起動する前に
.Nm ppp
を起動するようにしなければなりません。
.It
.Pa /etc/services
にエントリ:
natd 8668/divert # Network Address Translation socket
を作成します。これは
.Fl p
フラグや
.Fl port
フラグのデフォルトの値となります。
.El
.Pp
.Nm
の実行は至って簡単です。
natd -interface ed0
という行でほとんどの場合充分です(正しいインタフェース名に置き換えて
ください)。
.Nm
が起動されたら、パケットの流れの方向が natd の方に変わる
(divert される) ようにしなければなりません:
.Bl -enum
.It
.Pa /etc/rc.firewall
スクリプトをうまく調整する必要があります。防火壁 (firewall) に
興味が無ければ、以下のようにすれば良いでしょう:
/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
2 番目の行はあなたのインタフェースに依ります (ed0 を適切に
変更してください)。
また、前項のように
.Pa /etc/services
に natd のエントリが入るように更新されていると仮定します。
本物の防火壁ルールを指定する場合、スクリプトの先頭で上記の 2 行目を
指定すると良いでしょう。
そうすることによって、防火壁により排除されてしまう前に、
.Nm
がすべてのパケットを見ることができるようになります。
すべての divert ルールを除き、
.Nm
により変換された各パケットには再び防火壁のルールが適用されます。
.It
.Pa /etc/rc.conf
firewall_enable=YES
と設定し、防火壁を作動させます。これはシステムの起動時のスクリプトに
.Pa /etc/rc.firewall
スクリプトを実行するように伝えます。
今すぐ再起動したくない場合には、コンソールから手で実行してください。
バックグラウンドで実行させるのでない限り、これは決して仮想セッションから
行ってはいけません。もし実行させてしまうと、flush が行われた後に
あなたは締め出されてしまい、すべてのアクセスを永久に遮断するために
この地点で
.Pa /etc/rc.firewall
の実行は止まってしまいます。スクリプトをバックグラウンドで実行すれば、
この災害を避けることができます。
.El
.Sh 関連項目
.Xr getservbyname 2 ,
.Xr socket 2 ,
.Xr divert 4 ,
.Xr services 5 ,
.Xr ipfw 8
.Sh 作者
このプログラムは、多くの人々の細切れの努力の結果です:
.An Archie Cobbs Aq archie@whistle.com
(divert ソケット)
.An Charles Mott Aq cmott@srv.net
(パケットエイリアス)
.An Eivind Eklund Aq perhaps@yes.no
(IRC サポートとその他の追加)
.An Ari Suutari Aq suutari@iki.fi
(natd)
.An Brian Somers Aq brian@awfulhak.org
(まとめ役)
diff --git a/ja/man/man8/ncrcontrol.8 b/ja/man/man8/ncrcontrol.8
index 1150b71200..0c43a9bd3c 100644
--- a/ja/man/man8/ncrcontrol.8
+++ b/ja/man/man8/ncrcontrol.8
@@ -1,283 +1,283 @@
.\" Copyright (c) 1994 Wolfgang Stanglmeier. 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.
.\"
-.\" %Id: ncrcontrol.8,v 1.4.2.1 1997/10/06 07:36:16 charnier Exp %
+.\" %Id: ncrcontrol.8,v 1.7 1997/10/02 11:46:50 charnier Exp %
.\" jpman %Id: ncrcontrol.8,v 1.3 1997/06/20 00:23:48 yugawa Stab %
.\"
.Dd September 16, 1994
.Dt NCRCONTROL 8
.Os FreeBSD
.Sh 名称
.Nm ncrcontrol
.Nd ncr810/825 PCI/SCSI デバイスドライバを手動設定する
.Sh 書式
.\"--------------------------------------------------------
.\" ncrcontrol [-Mcore] [-Nsystem] [-u unit] [-v] [-v] -i
.\"--------------------------------------------------------
.Nm ncrcontrol
.Op Fl M Ar core
.Op Fl N Ar system
.Op Fl u Ar unit
.Op Fl v
.Op Fl v
.Fl i
.\"--------------------------------------------------------
.\" ncrcontrol [-N system] [-u unit] [-p wait]
.\"--------------------------------------------------------
.Nm ncrcontrol
.Op Fl N Ar system
.Op Fl u Ar unit
.Op Fl p Ar wait
.\"------------------------------------------------------------
.\" ncrcontrol [-Nsystem] [-u unit] [-t target] -s name=value
.\"------------------------------------------------------------
.Nm ncrcontrol
.Op Fl N Ar system
.Op Fl u Ar unit
.Op Fl t Ar target
.Fl s
.Ar name=value
.\"------------------------------------------------------------
.\" ncrcontrol [-Mcore] [-Nsystem] [-u unit] [-t target] -d pattern
.\"------------------------------------------------------------
.Nm ncrcontrol
.Op Fl M Ar core
.Op Fl N Ar system
.Op Fl u Ar unit
.Op Fl t Ar target
.Fl d
.Ar debug
.\"------------------------------------------------------------
.\" ncrcontrol [-Nsystem] [-u unit] -w -k torture
.\"------------------------------------------------------------
.Nm ncrcontrol
.Op Fl N Ar system
.Op Fl u Ar unit
.Fl w
.Fl k
.Ar torture
.\"
.\"=====================================================================
.\"
.Sh 解説
.Nm
コマンドは ncr810/ncr825
pci/scsi ドライバの制御構造体の内容をシンボリックに表示します。
どのオプションで情報を表示するかにより、
何種類かの出力フォーマットが存在します。
このコマンドは、いくつかの値を設定するために使うこともできます。
.\"--------------------------------------------------------
.\" ncrcontrol [-Mcore] [-Nsystem] [-u unit] [-v] [-v] -i
.\"--------------------------------------------------------
このコマンドの最初の形式では、接続されているターゲットの概要が
出力されます。
.Fl v
を指定すると、詳細な出力がおこなわれます。
.\"--------------------------------------------------------
.\" ncrcontrol [-N system] [-u unit] [-p wait]
.\"--------------------------------------------------------
第 2 の形式では、
.Ar wait
インターバルが指定されている場合、
.Nm
は選択された SCSI バスのデータトラフィックに関する情報を
連続的に表示します。
.\"------------------------------------------------------------
.\" ncrcontrol [-Nsystem] [-u unit] [-t target] -s name=value
.\"------------------------------------------------------------
第 3 の形式では、選択された SCSI バスの
一つまたはすべてのターゲットで使われる値の設定をおこないます。
カーネルコンフィグレーションでデバイスドライバのオプションが
正しく設定されているのであれば、通常は必要ありません。
.\"------------------------------------------------------------
.\" ncrcontrol [-M core] [-N system] [-u unit] [-t target] -w -d pattern
.\"------------------------------------------------------------
第 4 の形式では、ドライバの制御構造体の内容を表示します。
.Ar pattern
を指定することにより、特定の部分の出力を許可/禁止することができます。
これはドライバのデバッグのためだけに使われます。
.\"------------------------------------------------------------
.\" ncrcontrol [-N system] [-u unit] -w -k torture
.\"------------------------------------------------------------
最後の形式では、強制的にある障害をドライバに発生させることができます。
これはあなたのシステムをクラッシュさせる場合があります。
これはドライバのデバッグのためだけに使われます。
.\"
.\"=====================================================================
.\"
.Pp
オプションは以下の意味を持っています:
.Bl -tag -width flag
.\"------------------------------------------------------------
.\" -d pattern
.\"------------------------------------------------------------
.It Fl d
ドライバの制御構造体の内容を表示します。
.Ar pattern
により表示されるフィールドを選択することができます。
.Fl d?
により有効なフラグのリストを得ることができます。
.\"------------------------------------------------------------
.\" -i
.\"------------------------------------------------------------
.It Fl i
接続されているターゲットの設定状況を表示します。
.Fl v
オプションにより、さらに詳細な情報を要求することができます。
.\"------------------------------------------------------------
.\" -k torture
.\"------------------------------------------------------------
.It Fl k
エラー回復機能のチェックのため、強制的にある障害をドライバに発生させます。
このオプションは開発者のみが使用するべきです。
.Fl k?
により、発生可能な障害の一覧が得られます。
このオプションを使用するためには
.Fl w
オプションを指定しておく必要があります。
.\"------------------------------------------------------------
.\" -M core
.\"------------------------------------------------------------
.It Fl M
デフォルトの
.Pa /dev/kmem
のかわりに、指定したコアファイルから
ネームリストに結びつけられている値を取り出します。
.\"------------------------------------------------------------
.\" -N system
.\"------------------------------------------------------------
.It Fl N
デフォルトの
.Pa /kernel
のかわりに、指定したカーネルファイルからネームリストを取り出します。
.\"------------------------------------------------------------
.\" -p wait
.\"------------------------------------------------------------
.Ar wait
インターバルつきで実行された場合、
.Nm
は選択された SCSI バスにおける転送に関連する統計の現在の値を表示します。
この表示は、コントローラと接続されたターゲットそれぞれについての、
転送の実行回数と転送されたバイト数からなります。
(未完成)
.\"------------------------------------------------------------
.\" -s field=value
.\"------------------------------------------------------------
.It Fl s
一つまたはそれ以上のターゲットで使われる値の設定をおこないます。
ターゲットは
.Fl t
オプションにより指定できます。ターゲットが指定されていない場合は、
接続されているターゲットすべてに対して設定がおこなわれます。
(未完成)
.\"------------------------------------------------------------
.\" -t target
.\"------------------------------------------------------------
.It Fl t
.Fl s
オプションの対象となるターゲットを指定します。
このオプションは複数回指定することができます。
.\"------------------------------------------------------------
.\" -u unit
.\"------------------------------------------------------------
.It Fl u
コントローラユニットを指定します。
このオプションが指定されていない場合、コントローラ 0 が仮定されます。
ほとんどのシステムでは、コントローラは一つだけです。
.\"------------------------------------------------------------
.\" -v
.\"------------------------------------------------------------
.It Fl v
.Fl i
オプションの詳細出力を有効にします。
.\"------------------------------------------------------------
.\" -w
.\"------------------------------------------------------------
.It Fl w
ウィザードオプションです。
.Fl k
オプションを使用する際に必要です。
.\"
.\"=====================================================================
.\"
.Pp
(未完成)
.\"
.\"=====================================================================
.\"
.Sh 関連項目
.Xr scsi 4 ,
.Xr scsi 8
.\"
.\"=====================================================================
.\"
.Sh 歴史
.Nm
コマンドは
.An Wolfgang Stanglmeier Aq wolf@dentaro.GUN.de
により
.Bx 386
用にハックされ、
.Bx Free
のバージョン 1.1 に移植されました。
.An Charles M. Hannum Aq mycroft@gnu.ai.mit.edu
により
.Bx Net
に移植され、
.An Stefan Esser Aq se@zpr.Uni-Koeln.DE
により
.Bx Free
のバージョン 2.0 に移植されました。
.\"
.\"=====================================================================
.\"
.Sh バグ
.Nm
は ncr810 ドライバのためのデバッグツールとしてハックされました。
これは近いうちに削除されるべきです。
デバイスドライバのオプションを動作中に変更するための
汎用のツールを用意するべきです。
統計データはジェネリック SCSI ドライバにより収集されるべきです。
diff --git a/ja/man/man8/ndc.8 b/ja/man/man8/ndc.8
index cbf9ce551f..0f82332ca9 100644
--- a/ja/man/man8/ndc.8
+++ b/ja/man/man8/ndc.8
@@ -1,128 +1,143 @@
.\" Copyright (c) 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.
.\"
.\" jpman %Id: ndc.8,v 1.3 1997/09/07 14:10:53 horikawa Stab %
-.TH NDC 8 "November 27, 1994"
-.UC 5
-.SH 名称
-ndc \- ネームサーバデーモン制御インタフェース
-.SH 書式
-.B ndc
-.I directive
-[ ... ]
-.SH 解説
+.Dd November 27, 1994
+.Dt NDC 8
+.Os BSD 4
+.Sh 名称
+.Nm ndc
+.Nd ネームサーバデーモン制御インタフェース
+.Sh 書式
+.Nm ndc
+.Ar directive
+.Op Ar ...
+.Sh 解説
このコマンドを使用する事により、ネームサーバの管理者はネームサーバに
各種シグナルを送ったり、ネームサーバをリスタートする事ができます。
以下のリストの 0 個以上の命令を指定する事ができます。
-.TP
-.B status
-.BR ps (1)
+.Bl -tag -width "querylog"
+.It Ic status
+.Xr ps 1
で得られる
-.B named
+.Xr named 8
の現在の状態を表示します。
-.TP
-.B dumpdb
-.B named
+.It Ic dumpdb
+.Ic named
のデータベースおよびキャッシュを
-.B /var/tmp/named_dump.db
+.Pa /var/tmp/named_dump.db
に出力します。
-(INT シグナルを用います。)
-.TP
-.B reload
-.B named
+(
+.Dv INT
+シグナルを用います。)
+.It Ic reload
+.Ic named
の全てのプライマリおよびセカンダリゾーンのシリアル番号を調べ、
変更のあったものをリロードします。
-(HUP シグナルを用います。)
-.TP
-.B stats
-.B named
+(
+.Dv HUP
+シグナルを用います。)
+.It Ic stats
+.Ic named
の現在の統計的な状況を
-.B /var/tmp/named.stats
+.Pa /var/tmp/named.stats
に出力します。
-(IOT ないし ABRT シグナルを用います。)
-.TP
-.B trace
-.B named
-の ``tracing level'' を 1 だけ増加させます。``tracing level'' が 0 以上の時、
+(
+.Dv IOT
+ないし
+.Dv ABRT
+シグナルを用います。)
+.It Ic trace
+.Ic named
+の
+.Dq トレースレベル
+を 1 だけ増加させます。トレースレベルが 0 以上の時、
トレース情報は
-.BR /var/tmp/named.run
-に出力します。``tracing level'' が高い程、詳細な情報が得られます。
-(USR1 シグナルを用います。)
-.TP
-.B notrace
-.B named
-の ``tracing level'' を 0 にし、
-.B /var/tmp/named.run
+.Pa /var/tmp/named.run
+に出力します。トレースレベルが高い程、詳細な情報が得られます。
+(
+.Dv USR1
+シグナルを用います。)
+.It Ic notrace
+.Ic named
+の
+.Dq トレースレベル
+を 0 にし、
+.Pa /var/tmp/named.run
がオープンされていればクローズします。
-(USR2 シグナルを用います。)
-.TP
-.B querylog
-.B named
-の ``query logging'' を、現在有効になっていれば無効へ、
+(
+.Dv USR2
+シグナルを用います。)
+.It Ic querylog
+.Ic named
+の
+.Dq 問い合わせ記録
+を、現在有効になっていれば無効へ、
現在無効になっていれば有効へ変更します。
-(WINCH シグナルを用います。)
-``query logging'' が有効になっている場合、
+(
+.Dv WINCH
+シグナルを用います。)
+問い合わせ記録が有効になっている場合、
ネームサーバへの問い合わせ情報を
-.BR syslog (3)
-に記録します。
-``query logging'' を有効にすると非常に多くの情報がログファイルに
+.Xr syslog 2
+で記録します。
+問い合わせ記録を有効にすると非常に多くの情報がログファイルに
記録されることに注意して下さい。この命令は
-.BR qrylog
+.Ic qrylog
と指定することも可能です。
-.TP
-.B start
-.B named
+.It Ic start
+.Ic named
が実行中でなければ、実行を開始します。
-.TP
-.B stop
-.B named
+.It Ic stop
+.Ic named
が実行中であれば、停止します。
-.TP
-.B restart
-.B named
+.It Ic restart
+.Ic named
を停止させた後、再度実行します。
-.SH バグ
-.B named
+.El
+.Sh バグ
+.Ic named
への引数は、
-.BR restart
+.Ic restart
では保存されず、
-.BR start
+.Ic start
では指定できません。
+.Pp
パラメータや環境を制御する何らかの方法が必要でしょう。
-.PP
-.BR sh (1)
+.Pp
+.Xr sh 1
スクリプトにより作成されています。
-.SH 作者
+.Sh 作者
Paul Vixie (Internet Software Consortium)
.SH 関連項目
-named(8),
-named.reload(8),
-named.restart(8)
+.Xr named 8 ,
+.Xr named.reload 8 ,
+.Xr named.restart 8 .
diff --git a/ja/man/man8/netboot.8 b/ja/man/man8/netboot.8
index 6b115f46b8..3b9c03c9e6 100644
--- a/ja/man/man8/netboot.8
+++ b/ja/man/man8/netboot.8
@@ -1,109 +1,109 @@
-.\" %Id: netboot.8,v 1.3.6.1 1997/08/15 13:46:28 tegge Exp %
+.\" %Id: netboot.8,v 1.4 1997/09/29 19:11:29 wosch Exp %
.\" jpman %Id%
.\"
.\" Japanese Translation made by Norihiro Kumagai, 12/5/97.
.\" The translation is for the FreeBSD-jpman Project, convened
.\" by Kazuo Horikawa.
.\"
.Dd May 15, 1997
.Dt NETBOOT 8
.\".Os BSD 4
.Sh 名称
.Nm netboot
.Nd オペレーティングシステムのリモートブート
.Sh 書式
.Nm
.Bl -tag -width Ds
は、ネットワークカード経由でオペレーティングシステムをブートするために
用います。ブートプログラムは ROM に焼き込むか、DOS から起動します。
.Pp
.Sh 解説
.Nm
は、IPアドレス、カーネル名、ファイルシステム名などのパラメータを bootp
サーバから読み込み、指定されたルートファイルシステムとスワップファイル
システムをマウントしようと試み、指定されたカーネルをルートファイル
システムから NFS バージョン2 プロトコルを使ってロードして、最後にその
カーネルに制御を移します。
.Pp
ただし、bootp サーバをきちんと設定しておく必要があります。
/etc/bootptab の設定の例を以下に示します。
.Bd -literal
.default:\\
:sm=255.255.255.0:\\
:gw=your.gateway.ip:\\
:hn:ht=ether:vm=rfc1048:\\
:rp="rootfs.ip:/rootfs/path":\\
:T128="swapfs.ip:/swapfs/path":\\
:T129=swapsize:\\
:T130="root,mount,options":\\
:T131="swap,mount,options":\\
:ra=255.255.255.255:
client01:bf="kernel.300":ha=00400530d6d9:tc=.default:
client02:bf="kernel.280":ha=00400530d6d3:tc=.default:
...
.Ed
.Pp
bootptab パラメータの正確な記述方法については、bootptab (5) を参照して
ください。
.Pp
このうち、
.Nm
のコードは以下のオプションを使用します。
.Bl -tag -width indent
.It Cm sm
サブネットマスクを指定します。
.It Cm gw
ゲートウェイの IP アドレスを指定します。
.It Cm hn
応答に含めて送るホスト名をbootp サーバに知らせます。
.It Cm ht= Ns Ar ether
.\.It ht=ether
ハードウェアがイーサネットであることを指定します。
.It Cm vm= Ns Ar rfc1048
rfc1048 拡張機能の使用を指定します。
.It Cm rp
ルートファイルシステムとしてマウントするディレクトリの場所を指定します。
サーバの IP アドレスの後ろに `:' とディレクトリのパス名を付けて指定する
必要があります。
.It Cm T128
スワップファイルを含むディレクトリの場所を指定します。サーバの IP
アドレスの後ろに `:' とディレクトリのパス名を付けて指定する必要があります。
実際にスワップファイルとして使用されるものは、swap.X.Y.Z.T (ここで、
X.Y.Z.T はクライアントの IP アドレスです) という名前を持つファイル
になります。この引数を指定する場合、該当するスワップファイルが必ず存在する
必要があります。
.It Cm T129
スワップファイルの大きさ(KB単位)を指定します。これは、16進8桁の数として
指定する必要があります。スワップが 16 MB の場合、T129=00004000
となります。この引数はオプションです。指定しない場合、スワップファイルの
大きさはサーバから読み込まれます。
.It Cm T130
ルートをマウントする際のオプション(soft, intr, tcp など)を指定します。
この引数はオプションです。デフォルトでは UDP を使います。
.It Cm T131
スワップをマウントする際のオプションを指定します。この引数はオプション
です。
.It Cm bf
カーネル名を指定します。指定しない場合、デフォルトとして "kernel"
を使用します。
.It Cm ra
リプライアドレスを上書きするのに用います。
.Sh 関連ファイル
.Bl -tag -width /usr/mdec/nb3c509.rom -compact
.It Pa /usr/mdec/nb8390.rom
NE1000/NE2000 カード用の ROM イメージ。
.It Pa /usr/mdec/nb8390.com
NE1000/NE2000 カード用の DOS 実行形式ファイル。
.It Pa /usr/mdec/nb3c509.rom
3C509 カード用の ROM イメージ。
.It Pa /usr/mdec/nb3c509.com
3C509 カード用の DOS 実行形式ファイル。
.Sh 関連項目
-.Xr bootpd 8 ,
-.Xr bootptab 5
+.Xr bootptab 5 ,
+.Xr bootpd 8
.Sh バグ
netboot を Western Digital/SMC や 3C503 カードで使用する場合、Makefile
をちょっと触ってから再コンパイルする必要があります。
diff --git a/ja/man/man8/newfs.8 b/ja/man/man8/newfs.8
index 170931e237..29b679735e 100644
--- a/ja/man/man8/newfs.8
+++ b/ja/man/man8/newfs.8
@@ -1,321 +1,321 @@
.\" 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
-.\" %Id: newfs.8,v 1.7.2.4 1998/07/17 20:13:38 jkh Exp %
+.\" %Id: newfs.8,v 1.15 1998/07/15 06:28:04 charnier Exp %
.\" jpman %Id: newfs.8,v 1.3 1997/07/26 22:02:06 horikawa Stab %
.\"
.Dd May 3, 1995
.Dt NEWFS 8
.Os BSD 4.2
.Sh 名称
.Nm newfs ,
.Nm mfs
.Nd 新しいファイルシステムを作成する
.Sh 書式
.Nm newfs
.Op Fl NO
.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 cylinders
.Op Fl d Ar rotdelay
.Op Fl e Ar maxbpg
.Op Fl f Ar frag-size
.Op Fl i Ar bytes
.Op Fl k Ar skew
.Op Fl l Ar interleave
.Op Fl m Ar free space
.Op Fl n Ar rotational positions
.Op Fl o Ar optimization
.Op Fl p Ar sectors
.Op Fl r Ar revolutions
.Op Fl s Ar size
.Op Fl t Ar tracks
.Op Fl u Ar sectors
.Op Fl x Ar sectors
.Ar special
.Nm mount_mfs
.Op Fl N
.Op Fl F Ar file
.Op Fl T Ar disktype
.Op Fl a Ar maxcontig
.Op Fl b Ar block-size
.Op Fl c Ar cylinders
.Op Fl d Ar rotdelay
.Op Fl e Ar maxbpg
.Op Fl f Ar frag-size
.Op Fl i Ar bytes
.Op Fl m Ar free space
.Op Fl n Ar rotational positions
.Op Fl o Ar options
.Op Fl s Ar size
.Ar special node
.Sh 解説
.Nm
は、わかりにくい
.Xr mkfs 8
の代わりとなるものです。
.Nm
.Nm mount_mfs
を走らせる前に、
.Xr disklabel 8
を使ってディスクラベルが書き込んでいなければなりません。
.Nm
は、指定したスペシャルデバイスにファイルシステムを作成します。
デフォルト値はたいてい妥当な値となりますが、
.Nm
にはこの値を変更するための数多くのオプションがあります。
.Pp
.Nm mount_mfs
は、仮想メモリ上にファイルシステムを構築し、指定したノード
にそのファイルシステムをマウントするために使います。
ファイルシステムがアンマウントされると、
.Nm mount_mfs
は終了し、このファイルシステムの内容は失われます。
.Nm mount_mfs
にシグナルが送られると、
ファイルシステムをアンマウントしようとします。たとえば、
シャットダウンする場合がこれにあたります。
.Nm mount_mfs
に指定するパラメータは
.Nm
のものと同じです。
.Fl T
フラグが指定されると(下記参照)、スペシャルファイルを使用しません。
そうでない場合、スペシャルファイルはディスクラベルを読むためにのみ使われ、
それによってメモリベースファイルシステムへのコンフィギュレーション
パラメータが得られます。
このスペシャルファイルは通常、第一スワップ領域を指定します。という
のは、フリーメモリが少なくなって、ファイルシステムをサポートす
るメモリ領域がページングされるとき、ファイルシステムがそこに
バックアップされるからです。
.Pp
以下のオプションにて一般的な配置方針を定義します。
.Bl -tag -width indent
.It Fl T Ar disktype
過去のものとの互換性のためと
.Nm mount_mfs
のための物です。
.It Fl F Ar file
.Nm mount_mfs
は、ファイルシステムのイメージとしてこのファイルを使用します。
.Nm mount_mfs
が終了した時、このファイルは残されます。
.It Fl N
実際にはファイルシステムを構築せずに、ファイルシステム
パラメータの表示のみを行います。
.It Fl O
.Bx 4.3
フォーマットのファイルシステムを作成します。この
オプションは、古いブート ROM が理解できるルートファイル
システムを使う必要がある場合に使います。
.It Fl T
指定したディスクのための情報を
.Pa /etc/disktab
から得て、disklabel を使用しません。
.It Fl a Ar maxconting
回転遅延 (rotational delay) を強制する前に
配置される連続ブロックの最大数を指定します (
.Fl d
オプションを参照)。
デフォルトは 1 です。このオプションをどのように設定す
るかについて、詳しくは
.Xr tunefs 8
を参照してください。
.It Fl b Ar block-size
ファイルシステムのブロックサイズをバイト単位で指定します。
.It Fl c Ar #cylinders/group
ファイルシステムのシリンダグループごとのシリンダ数を指定
します。デフォルトは 16 です。
.It Fl d Ar rotdelay
同じディスクに対する
ディスク転送完了割り込みサービスと新たな転送開始に費す時間の
期待値を指定します (ミリ秒単位)。デフォルトは0ミリ秒です。詳細は、
.Xr tunefs 8
を参照してください。
.ne 1i
.It Fl e Ar maxbpg
単一のファイルが他のシリンダグループへまたがることを強制される前に、
1 つのシリンダグループから割り当てることのできる最大のブロック数を指定し
ます。デフォルト値は、シリンダグループのブロック数の約 1/4 です。この
オプションの詳細については、
.Xr tunefs 8
を参照してください。
.It Fl f Ar frag-size
ファイルシステムのフラグメントサイズをバイト単位で指定します。
.It Fl i Ar number of bytes per inode
ファイルシステム中の i ノードの密度を設定します。デフォルト
は、(4 * フラグメントサイズ) バイトのデータ領域ごとに1つの i ノードを作ります。
i ノード数を少なくしたい場合は大きな値を指定し、
i ノード数を多くしたい場合は小さな値を指定します。
.It Fl m Ar free space \&%
通常のユーザからは保護されている領域のパーセンテージを
指定します。
これは最低限の空き領域のしきい値となります。
デフォルト値は
.Ao Pa ufs/ffs/fs.h Ac
にて
.Dv MINFREE
と定義され、現在 8% です。
このオプションの詳細については、
.Xr tunefs 8
を参照してください。
.It Fl n Ar number of distinguished rotational positions
ディスク一回転あたりに確保する回転時間の数を設定します。デフォルトは 1
で、回転位置テーブルを無効にすることを意味します。
.It Fl o Ar optimization\ preference
.Pq ``space'' か ``time''
ブロック確保に費す時間を最小にするか、
ディスク上のフラグメント領域を最小にするかを、
ファイルシステムに指示します。
デフォルトで minfree (前述) が 8% を下回る場合は、
領域の最小化が行われ、8% 以上ならば時間の最小化が行われます。
このオプションの詳細については、
.Xr tunefs 8
を参照してださい。
.It Fl s Ar size
ファイルシステムサイズをセクタ単位で指定します。
.El
.Pp
次のオプションは、ディスクジオメトリの標準設定を変更します。
デフォルトの値はディスクラベルから得られます。
これらの値を変更するのは、
最初にファイルシステムを構築したときとは異なるタイプのディスク上で
ロウイメージを使用してファイルシステムを構築するようなときだけです
(たとえば、ライトワンスディスク上など)。
これらの値をデフォルトの
値から変更すると、標準のスーパブロックが壊れたときに、
.Xr fsck 8
が代替のスーパブロックを見つけることができなくなるので注意して
ください。
.Bl -tag -width indent
.It Fl S Ar sector-size
セクタサイズ (バイト単位) です (通常 512 以外は使用しません)。
.It Fl k Ar sector \&0 skew , per track
遅いコントローラを補うためにメディアのフォーマット時の補正を指定します。
トラックスキューは同じシリンダ上のトラック N のセクタ 0 とトラック N-1
のセクタ 0 のオフセットです。
.It Fl l Ar hardware sector interleave
遅いコントローラを補うためにメディアのフォーマット時の補正を指定します。
インタリーブはトラック毎の物理セクタのインタリーブで、次の比の分母で
定義されます:
.Dl 読まれるセクタ/通過するセクタ
つまりインタリーブの 1/1 は連続的に配置されていることを、 1/2 は論理
セクタ 0 と論理セクタ 1 との間に 1 セクタあることを示します。
.It Fl p Ar spare sectors per track
予備セクタ (不良セクタと置き換えるセクタ) は、
各トラックの最後の物理セクタを使用します。
これらには、ファイルシステムとしてデータを割り当てることができないため、
セクタ/トラック
.Pq Fl u
に含まれません。
.It Fl r Ar revolutions/minute
1 分間あたりのディスク回転速度を指定します。
.ne 1i
.It Fl t Ar #tracks/cylinder
ファイルシステムによってデータを割り当てることができるシリンダあたりの
トラック数です。デフォルトは 1 です。0 が設定された場合にはディスクラベル
に指定されている値が使われます。
.It Fl u Ar sectors/track
ファイルシステムによってデータを割り当てることができるトラックあたりの
セクタ数です。デフォルトは 4096 です。 0 が設定された場合にはディスクラベルに
指定されている値が使われます。この値には、各トラックの最後に確保
される不良ブロックの置き換えのための予備セクタは含まれません (
.Fl p
オプションを参照)。
.It Fl x Ar spare sectors per cylinder
予備セクタ (不良セクタと置き換えるセクタ) は、シリンダの最後のトラック
の物理セクタを使用します。これらには、ファイルシステムとしてデータを
割り当てることができないため、セクタ/トラック
.Pq Fl u
には含まれません。
.El
.Pp
.Nm mount_mfs
コマンドのオプションは、
.Fl o
オプションを除いて
.Nm
コマンドと同じものです。
.Pp
.Fl o
オプションは以下のとおりです:
.Bl -tag -width indent
.It Fl o
.Fl o
フラグに続いて指定されるオプションは、コンマで区切られた文字列です。
指定できるオプションとその意味は
.Xr mount 8
を参照してください。
.El
.Sh 使用例
.Pp
.Dl mount_mfs -s=131072 -o nosuid,nodev /dev/sd0b /tmp
.Pp
.Xr mount 8
の nosuid と nodev のオプションを指定し、
64 MB の大きさのメモリファイルシステムを /tmp にマウントします。
.Sh バグ
.Bx Free
のブートコードは、カーネルが置かれているファイルシステムのブロックサイズ
が 8 キロバイトでフラグメント 1 キロバイトであることを仮定しています。
他のサイズを使用しているファイルシステムからブートすることはできません。
.Sh 関連項目
.Xr fdformat 1 ,
.Xr disktab 5 ,
.Xr fs 5 ,
.Xr disklabel 8 ,
.Xr diskpart 8 ,
.Xr dumpfs 8 ,
.Xr fsck 8 ,
.Xr mount 8 ,
.Xr scsiformat 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/man/man8/newsyslog.8 b/ja/man/man8/newsyslog.8
index d1b693d54a..d2844ab6f9 100644
--- a/ja/man/man8/newsyslog.8
+++ b/ja/man/man8/newsyslog.8
@@ -1,187 +1,187 @@
.\" This file contains changes from the Open Software Foundation.
.\"
.\" from: @(#)newsyslog.8
-.\" %Id: newsyslog.8,v 1.1.1.1.2.8 1998/07/18 11:11:30 jkh Exp %
+.\" %Id: newsyslog.8,v 1.14 1998/06/09 18:24:04 ache Exp %
.\" jpman %Id: newsyslog.8,v 1.3 1997/08/16 13:33:00 horikawa Stab %
.\"
.\" Copyright 1988, 1989 by the 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 the above copyright notice
.\" appear in all copies and that both that copyright notice and
.\" this permission notice appear in supporting documentation,
.\" and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
.\" used in advertising or publicity pertaining to distribution
.\" of the software without specific, written prior permission.
.\" M.I.T. and the M.I.T. S.I.P.B. make no representations about
.\" the suitability of this software for any purpose. It is
.\" provided "as is" without express or implied warranty.
.\"
.Dd January 12, 1989
.Dt NEWSYSLOG 8
.Os
.Sh 名称
.Nm newsyslog
.Nd システムのログファイルを保守し、適切なサイズに保つ
.Sh 書式
.Nm newsyslog
.Op Fl Fnrv
.Op Fl f Ar config_file
.Sh 解説
.Nm
.Xr cron 8
から定期的に実行されるようにスケジュールされるべきプログラムです。
実行されると、
.Nm
は必要に応じてログファイルを保存(アーカイブ)します。
あるログファイルを保存する必要があると判断すると、
.Nm
は、``logfile'' が空になり、``logfile.0'' に前回のログファイルが入り、
``logfile.1'' に前々回のログが入り‥‥ といった具合に、
ユーザが指定した数の保存ログが残るよう、ファイルを再編します。
オプションにより、保存ログを圧縮してスペースを節約することもできます。
.Pp
ログが保存される場合には 2 つの理由があります。
そのログファイルのサイズが予めセットしておいたキロバイト数より大きくなった、
もしくは、前回ログを保存してから指定した時間が経過した、という理由です。
.Nm
の粒度は、このコマンドが
.Xr cron 8
からどの程度の頻度で実行されるかに依存しています。
.Nm
の実行は十分速いので、毎時間実行するようにスケジュールしても
悪影響はありません。
.Pp
起動されると、
.Nm
は設定ファイルを読み込んで、
どのログファイルをチェックすべきかを決定します。
デフォルトでは、このコンフィギュレーションファイルは
.Pa /etc/newsyslog.conf
です。
コンフィギュレーションファイルの各行には、
.Nm
が処理すべき特定のログファイルに関する情報を記述します。
各行は 5 つの必須フィールドと、3 つのオプションフィールドから成り、
それらは空白で区切られています。
空行や ``#'' で始まる行は無視されます。
コンフィギュレーションファイルの各フィールドは以下の通りです:
.Pp
.Bl -tag -width indent
.It Ar logfile_name
保存するシステムログファイル名。
.It Ar owner.group
保存ファイルの所有者とグループ名を指定します。
.Ar owner
あるいは
.Ar group
が空白のままである場合でも "." は必須です。
指定は数値、あるいは
.Pa /etc/passwd
.Pa /etc/group
にある名前で行います。
.It Ar mode
ログファイルと保存ログファイルのモードを指定します。
.It Ar count
ログファイルそのものに加えて保存しておく保存ファイルの数を指定します。
.It Ar size
ログファイルのサイズが
.Ar size
に達すると、ログファイルは上記のように入れ換えられます。
このフィールドが
.Ar *
で置き換えられると、ログファイル入れ換えに際して
そのサイズは考慮されなくなります。
.It Ar interval
.Ar interval
時間(60 分×interval の意)が経過すると、ログファイルが入れ換えられます。
このフィールドが
.Ar *
で置き換えられると、前回の入れ換えからの経過時間は考慮されません。
.It Ar flags
このフィールドはオプションであり、
保存に際してログファイルに特別な処理を行うかどうかを指定します。
.Ar Z
フラグを指定すると、スペース節約のために
保存ファイルは
.Xr gzip 1
で圧縮されます。
.Ar B
フラグはファイルがバイナリファイルであることを指示し、
ログファイルが入れ換わったという意味で
.Nm
が挿入する
.Tn ASCII
メッセージを含めないようにします。
.Ar -
は何も意味しませんが、
.Ar path_to_pid_file
フィールドが指定された場合には埋め草として使用可能です。
.It Ar path_to_pid_file
このオプションのフィールドは、
デーモンのプロセス ID を調べるために読むファイルを指定します。
このフィールドが存在する場合、
このファイルに書かれたプロセス ID に
.Ar signal_number
が送られます。
正しく認識するために、このフィールドは "/" から開始する必要があります。
.It Ar signal_number
このオピションフィールドは、
デーモンプロセスに送られるシグナル番号を指定します。
デフォルトで SIGHUP が送られます。
.El
.Sh オプション
newsyslog では以下のオプションが利用できます:
.Bl -tag -width indent
.It Fl f Ar config_file
コンフィギュレーションファイルとして
.Pa /etc/newsyslog.conf
に代えて
.Ar config_file
を使用します。
.It Fl v
.Nm
を詳細情報出力モードにします。
このモードでは、ログを入れ換えるあるいはそれをスキップするたびに、
そのログファイル名と理由を表示します。
.It Fl n
実際にログの入れ換えは行わず、このオプションが指定されない場合に
本来行うはずの処理内容を表示します。
.It Fl r
.Nm
は root として動作しなければならない、という制約を取り除きます。
もちろん、
.Nm
.Xr syslogd 8
に HUP シグナルを送れなくなりますから、
このオプションはデバッグにのみ用いるべきです。
.It Fl F
ログを入れ替える条件に合致しないとしても、強制的に
.Nm
にログを入れ替えさせます。
システムの問題を診断しているときには、
このオプションの使用により、
問題のみを含む新しいログを提供できるので有用です。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/newsyslog.confxxxx -compact
.It Pa /etc/newsyslog.conf
.Nm
のコンフィギュレーションファイル
.El
.Sh バグ
セキュリティ侵害を見つけるためにログを自動的に読むことは、
まだ行っていません。
.Sh 作者
.An Theodore Ts'o ,
MIT Project Athena
.Pp
Copyright 1987, Massachusetts Institute of Technology
.Sh 関連項目
.Xr gzip 1 ,
.Xr syslog 3 ,
.Xr syslogd 8
diff --git a/ja/man/man8/nextboot.8 b/ja/man/man8/nextboot.8
index 219cd5c946..00b0ddb3d8 100644
--- a/ja/man/man8/nextboot.8
+++ b/ja/man/man8/nextboot.8
@@ -1,110 +1,110 @@
-.\" %Id: nextboot.8,v 1.3.2.2 1998/07/17 20:13:19 jkh Exp %
+.\" %Id: nextboot.8,v 1.8 1998/06/30 06:28:17 charnier Exp %
.\" jpman %Id: nextboot.8,v 1.3 1997/08/16 13:35:00 horikawa Stab %
.Dd July 9, 1996
.Dt NEXTBOOT 8
.\".Os BSD 4
.Sh 名称
.Nm nextboot
.Nd ブートディスクにデフォルトのブートストリングブロックをインストールする
.Sh 書式
.Nm nextboot
.Op Fl b
.Ar filename bootstring
.Ar
.Nm nextboot
.Op Fl ed
.Ar filename
.Sh 解説
FreeBSD の
.Nm
プログラムは、次回ブート時のブートブロックの動作を制御します。
正しいオプションと共にコンパイルされていれば、
ブートに用いるマジックナンバとデフォルトネームがあるかどうか、
ブートブロックはネームブロックをチェックします。
ブートブロックがそのようにコンパイルされている場合、
ブートが失敗したら再度ブートを試みないように
ブートブロックはブロックからネームを削除します。
ブートが成功した場合に
.Nm
を用いてブートストリングを再インストールするのは
.Pa /etc/rc
の仕事です。
これにより、リモートデバッギングや
新しく信頼のおけないカーネルをインストールするといった場合に、
一度だけのブートストリングを用いることができるようになります。
コンパイル時に、ネームブロックはディスクの 2 番目の物理ブロックとして
定義されています。
.Pp
次のオプションを使用可能です:
.Bl -tag -width time
.It Fl b
ネームブロックをブートストラップする (最初に構成する) のに用いられます。
このオプションを指定しない場合、
.Nm
はマジックナンバをまだもっていないブロックへの書き込みを拒否します。
.It Fl d
マジックナンバ中のビットを変更して、既存のネームブロックを
一時的に無効化します。
.It Fl e
.Fl d
オプションで無効化されたブロックに、
有効なマジックナンバを再設定します。
.El
.Pp
.Fl e
および
.Fl d
のフラグは相互排除です。
.Sh 解説
.Nm
はまず、指定ディスクが fdisk テーブルを持ち、
そのテーブルで定義されている全パーティションがネームブロックを含んでいない
ことをチェックします。
ネームブロックが使われていないことが明らかになれば、
.Nm
引数に指定されたブートストリングを一つずつ、小さいマジックナンバを前につけ、
最後に NULL を加えてインストールします。
ストリングのリストの最後は 0xff バイトの列で区切られます。
ブートブロックがブートの度にネームブロックを書き戻す (write back) ように
コンパイルされている場合、
ブートブロックはブート毎に一つずつ供給されたネームをゼロクリアします。
これは 0xff に到達するまで続き、
その時点でコンパイル時に組み込まれたブートストリングに戻ります。
この時点で、ネームブロックはゼロクリアされたネームだけになります。
.Pp
使用例を示します:
.Bd -literal
nextboot -b /dev/rwd0 1:sd(0,a)/kernel.experimental wd(0,a)/kernel.old
.Ed
.Pp
これは、次回ブート時に実験カーネルを SCSI ディスクからブートしてみるよう、
ブートブトックに指示します。
何らかの理由でこれが失敗すると、その次のブートではカーネル
.Pa /kernel.old
を IDE ドライブからブートしようと試みます。
(書き戻しオプションが有効であると仮定しています。)
これも失敗すると、コンパイル時に組み込まれたデフォルトが用いられます。
.Pp
書き戻し機能が無効化されている場合、nextboot はデフォルトのブートストリングを
変更する簡便な手段となります。
もしネームブロックで指定されたファイルが存在しないと、
ネームブロックの次のネームではなく、コンパイル時にブートブロックの中に
組み込まれたネームがブート用に用いられることに注意して下さい。
ネームブロックはブート毎に
.Em "1 回だけ"
チェックされます。
.Sh 関連項目
.Xr boot 8 ,
.Xr disklabel 8 ,
.Xr fdisk 8
.Sh バグ
プログラム全体にもっとユーザフレンドリにすべきです。
書き戻しの有効無効オプション設定はコンパイル時オプションではなく、
ディスク上にストアすべきです。
fdisk パーティションテーブルが存在しないディスク (つまり
純粋にディスクラベルだけのシステム) と共存できるように、
将来、この点に関して再考したいと考えています。
.Pp
書き戻しを有効とするか否かは実行時にネームブロックで指定し、
この機能を得るためにブートブロックを書き換える必要のないようにすべきです。
diff --git a/ja/man/man8/nfsiod.8 b/ja/man/man8/nfsiod.8
index 54e3040877..9fe33703e0 100644
--- a/ja/man/man8/nfsiod.8
+++ b/ja/man/man8/nfsiod.8
@@ -1,99 +1,99 @@
.\" Copyright (c) 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" From: @(#)nfsiod.8 8.2 (Berkeley) 2/22/94
-.\" %Id: nfsiod.8,v 1.3.2.1 1998/07/17 20:13:42 jkh Exp %
+.\" %Id: nfsiod.8,v 1.6 1998/07/15 06:35:20 charnier Exp %
.\" jpman %Id: nfsiod.8,v 1.3 1997/08/10 18:33:51 horikawa Stab %
.\"
.Dd September 22, 1994
.Dt NFSIOD 8
.Os
.Sh 名称
.Nm nfsiod
.Nd ローカルな
.Tn NFS
のための非同期 I/O サーバ
.Pp
.Sh 書式
.Nm nfsiod
.Op Fl n Ar num_servers
.Pp
.Sh 解説
.Nm
.Tn NFS
クライアントマシン上で動作し、サーバに対する非同期 I/O 要求を処理します。
これによりパフォーマンスは向上しますが、
正しい動作のために必要とされているわけではありません。
.Pp
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl n Ar num_server
サーバをいくつスタートさせるかを指定する。
.El
.Pp
何も引数が指定されなければ、サーバは1つだけスタートします。
.Pp
クライアントは、最大限並行処理を行うのに十分な数のデーモンを実行するべきです。
典型的には 4 つから 6 つです。
.Pp
動作中のカーネルに
.Tn NFS
サポートが含まれていないことを
.Nm
が検出した場合、
.Nm
.Xr modload 8
に含まれる
.Xr vfsload 3
の機能を用いて、
.Tn NFS
コードを含むローダブルカーネルモジュールをロードしようとします。
これが失敗した場合、または
.Tn NFS
ローダブルカーネルモジュールが存在しない場合、
.Nm
はエラーを返して終了します。
.Pp
.Nm
は、成功すれば 0 を、エラーが起きると 0 より大きな値を返して終了します。
.Sh 関連項目
.Xr nfsstat 1 ,
.Xr nfssvc 2 ,
.Xr modload 8 ,
.Xr mountd 8 ,
.Xr portmap 8
.Sh 歴史
.Nm
ユーティリティは
.Bx 4.4
から登場しました。
diff --git a/ja/man/man8/nologin.8 b/ja/man/man8/nologin.8
index d383a49d7e..f7f50635fa 100644
--- a/ja/man/man8/nologin.8
+++ b/ja/man/man8/nologin.8
@@ -1,57 +1,57 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)nologin.8 8.1 (Berkeley) 6/19/93
-.\" %Id: nologin.8,v 1.1.1.1.8.1 1998/07/17 20:13:42 jkh Exp %
+.\" %Id: nologin.8,v 1.2 1998/07/15 06:37:07 charnier Exp %
.\" jpman %Id: nologin.8,v 1.2 1997/03/31 14:54:31 horikawa Stab %
.\"
.Dd June 19, 1993
.Dt NOLOGIN 8
.Os BSD 4.4
.Sh 名称
.Nm nologin
.Nd 丁寧に login を断る
.Sh 書式
.Nm nologin
.Sh 解説
.Nm
は、
そのアカウントが利用出来ない旨のメッセージを表示して、
0 でない値を返して終了します。
このコマンドは、利用不可能とするアカウントの shell フィールドを
置き換えるという用途を想定しています。
.Sh 関連項目
.Xr login 1
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しています。
diff --git a/ja/man/man8/nslookup.8 b/ja/man/man8/nslookup.8
index b467f23d53..7cd5969894 100644
--- a/ja/man/man8/nslookup.8
+++ b/ja/man/man8/nslookup.8
@@ -1,391 +1,551 @@
.\"
.\" ++Copyright++ 1985, 1989
.\" -
.\" Copyright (c) 1985, 1989
.\" 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.
.\" -
.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies, and that
.\" the name of Digital Equipment Corporation not be used in advertising or
.\" publicity pertaining to distribution of the document or software without
.\" specific, written prior permission.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" -
.\" --Copyright--
.\"
.\" @(#)nslookup.8 5.3 (Berkeley) 6/24/90
.\" jpman %Id: nslookup.8,v 1.2 1997/04/30 00:39:04 mutoh Stab %
.\"
-.TH NSLOOKUP 8 "June 24, 1990"
-.UC 6
-.SH 名称
-nslookup \- インターネットネームサーバに対話的に問い合わせる
-.SH 書式
-.B nslookup
-[
-.I \-option ...
-]
-[
-.I host-to-find
-| \- [
-.I server
-]]
-.SH 解説
-.I nslookup
+.Dd June 24, 1990
+.Dt NSLOOKUP 8
+.Os BSD 4
+.Sh 名称
+.Nm nslookup
+.Nd インターネットネームサーバに対話的に問い合わせる
+.Sh 書式
+.Nm nslookup
+.Op Fl option Ar ...
+.Op Ar host-to-find | Fl Op Ar server
+.Sh 解説
+.Ic nslookup
はインターネットネームサーバに問い合わせを行います。
-.I nslookup
-には対話モードと非対話モードの二つのモードがあります。
+.Ic nslookup
+には対話モードと非対話モードの 2 つのモードがあります。
対話モードでは、
様々なホストやドメインの情報をネームサーバに対して問い合わせたり、
あるドメイン内のホスト一覧を表示することができます。
非対話モードでは、あるホストもしくはドメインの名前および
要求した情報のみが表示されます。
-.sp 1
-.SH 引数
+.Sh 引数
次の場合は対話モードに入ります。
-.IP a) 4
+.Bl -tag -width "a) "
+.It a)
引数が与えられなかったとき(デフォルトのネームサーバを利用します)。
-.IP b) 4
-最初の引数がハイフン (\-) であり、二番目の引数がネームサーバの
+.It b)
+最初の引数がハイフン (-) であり、2 番目の引数がネームサーバの
ホスト名もしくは IP アドレスであるとき。
-.LP
+.El
+.Pp
検索したいホストの名前もしくは IP アドレスが最初の引数として与えられた場合は、
非対話モードになります。
-二番目の引数はオプションで、ネームサーバのホスト名もしくは IP アドレスを
+2 番目の引数はオプションで、ネームサーバのホスト名もしくは IP アドレスを
指定します。
-.LP
-``set'' コマンドを使うオプションは、ホームディレクトリの .nslookuprc
-ファイルに一行に一つずつ書くことでも指定できます。
+.Pp
+.Dq Li set
+コマンドを使うオプションは、ホームディレクトリの
+.Pa .nslookuprc
+ファイルに 1 行に 1 つずつ書くことでも指定できます。
オプションはコマンドラインで指定することも可能です。その場合、
前にハイフンをつけ、引数より先に書きます。たとえば、デフォルトの問い合わせを
ホスト情報に変更し、初期タイムアウトを 10 秒とするには、
-.sp .5v
- nslookup \-query=hinfo \-timeout=10
-.sp .5v
+.Bd -literal -offset indent
+ nslookup -query=hinfo -timeout=10
+.Ed
とします。
-.SH "対話 コマンド"
+.Sh 対話コマンド
コマンドは control-C を入力することでいつでも中断できます。
-終了するには、 control-D (EOF) もしくは exit を入力します。
+終了するには、 control-D
+.Pq Dv EOF
+もしくは
+.Li exit
+を入力します。
コマンドラインの長さは 256 文字以下でなければなりません。
内部コマンドをホスト名として扱うには、
-エスケープ文字 (\e) を頭につけます。
-\fB注意:\fP 解釈できないコマンドはホスト名として扱われます。
-.sp .5v
-.IP "\fIhost\fP [\fIserver\fP]"
-\fIhost\fP についての情報を現在のデフォルトサーバ、もしくは
-\fIserver\fPが指定されている場合はそのサーバに問い合わせます。
-\fIhost\fP が IP アドレスであり、問い合わせタイプが A もしくは PTR
+エスケープ文字
+.Pq \e
+を頭につけます。
+.Sy 注意: 解釈できないコマンドはホスト名として扱われます。
+.Bl -tag -width "lserver"
+.It Ar host Op Ar server
+.Ar host
+についての情報を現在のデフォルトサーバ、もしくは
+.Ar server
+が指定されている場合はそのサーバに問い合わせます。
+.Ar host
+が IP アドレスであり、問い合わせタイプが
+.Dv A
+もしくは
+.Dv PTR
であるときは、ホスト名が返されます。
-\fIhost\fP が 名前であり、最後にピリオドがないときには、
+.Ar host が 名前であり、最後にピリオドがないときには、
その後ろにデフォルトのドメイン名が付加されます(この動作は、
-\fBset\fP オプションの \fBdomain\fP, \fBsrchlist\fP,
-\fBdefname\fP, \fBsearch\fP に依存します)。
+.Ic set
+オプションの
+.Ic domain , srchlist , defname , search
+に依存します)。
+.Pp
現在のドメインにないホストについて調べるときには、
名前の末尾にピリオドを付加します。
-.sp 1
-.IP "\fBserver\fP \fIdomain\fP"
-.ns
-.IP "\fBlserver\fP \fIdomain\fP"
-デフォルトサーバを \fIdomain\fP に変更します。
-\fBlserver\fP は \fIdomain\fP に
-ついての情報を探すのに初期サーバを使い、\fBserver\fPは
-現在のデフォルトサーバを使います。
+.It Ic server Ar domain
+.It Ic lserver Ar domain
+デフォルトサーバを
+.Ar domain
+に変更します。
+.Ic lserver
+は
+.Ar domain
+についての情報を探すのに初期サーバを使い、
+.Ic server
+は現在のデフォルトサーバを使います。
公式の答えが見つからないときには、答えを持つ可能性のある
サーバ名が返されます。
-.sp 1
-.IP \fBroot\fP
+.It Ic root
デフォルトサーバをドメイン名空間のルートサーバに変更します。
-現在のところホスト ns.internic.net が使われます
-(このコマンドは \fBlserver ns.internic.net\fP に同義です)。
-ルートサーバ名は \fBset root\fP コマンドで変更できます。
-.sp 1
-.IP "\fBfinger\fP [\fIname\fP] [\fB>\fP \fIfilename\fP]"
-.ns
-.IP "\fBfinger\fP [\fIname\fP] [\fB>>\fP \fIfilename\fP]"
+現在のところホスト
+.Li ns.internic.net
+が使われます
+(このコマンドは
+.Dq Ic lserver ns.internic.net
+に同義です)。
+ルートサーバ名は
+.Dq Ic set root
+コマンドで変更できます。
+.It Xo Ic finger Op Ar name
+.Op Ic > Ar filename
+.Xc
+.It Xo Ic finger Op Ar name
+.Op Ic >> Ar filename
+.Xc
現在のホストにあるフィンガーサーバと接続します。
現在のホストは、以前の問い合わせが成功し、アドレス情報が
-返されたときに定義されます(\fBset querytype=A\fP 参照)。
-\fIname\fP はオプションです。
-\fB>\fP と \fB>>\fP は普通に出力をリダイレクトするのに使えます。
-.sp 1
-.IP "\fBls\fR [\fIoption\fR] \fIdomain\fR [\fB>\fR \fIfilename\fR]"
-.ns
-.IP "\fBls\fR [\fIoption\fR] \fIdomain\fR [\fB>>\fR \fIfilename\fR]"
-\fIdomain\fP について入手できる情報の一覧を出します。
-オプションでファイル \fIfilename\fP を作成あるいは
-\fIfilename\fP に追加できます。
+返されたときに定義されます(
+.Dq Ic set querytype=A
+参照)。
+.Ar name はオプションです。
+.Ic >
+と
+.Ic >>
+は普通に出力をリダイレクトするのに使えます。
+.It Xo Ic ls Op Ar option
+.Ar domain Op Ic > Ar filename
+.Xc
+.It Xo Ic ls Op Ar option
+.Ar domain Op Ic >> Ar filename
+.Xc
+.Ar domain
+について入手できる情報の一覧を出します。
+オプションでファイル
+.Ar filename
+を作成あるいは
+.Ar filename
+に追加できます。
デフォルトの出力にはホスト名とその IP アドレスが含まれます。
-.I オプション
+.Ar option
は下記のいずれかです。
.RS
-.IP "\fB\-t \fIquerytype\fP" 4
-指定したタイプの全レコードの一覧を出力します(下記の \fIquerytype\fP 参照)。
-.IP \fB\-a\fP 4
+.Bl -tag -width "-a "
+.It Fl t Ar querytype
+指定したタイプの全レコードの一覧を出力します(下記の
+.Ar querytype
+参照)。
+.It Fl a
そのドメイン内での、各ホストのエイリアス一覧を出力します。
-\fB\-t\ \ CNAME\fP と同義です。
-.IP \fB\-d\fP 4
+.Dq Fl t Dv CNAME
+と同義です。
+.It Fl d
そのドメインの全レコードの一覧を出力します。
-\fB\-t\ \ ANY\fP と同義です。
-.IP \fB\-h\fP 4
+.Dq Fl t Dv ANY
+と同義です。
+.It Fl h
そのドメインの CPU 及び OS 情報を出力します。
-\fB\-t\ \ HINFO\fP と同義です。
-.IP \fB\-s\fP 4
-そのドメイン内のホストの well-known サービスの一覧を出力します。
-\fB\-t\ \ WKS\fP と同義です。
-.P
+.Dq Fl t Dv HINFO
+と同義です。
+.It Fl s
+そのドメイン内のホストの良く知られた (well-known) サービスの一覧を出力します。
+.Dq Fl t Dv WKS
+と同義です。
+.El
+.Pp
出力がファイルにリダイレクトされるときには、サーバから 50 レコードを
-受け取るたびに区切りが入れられます。
-.RE
-.sp 1
-.IP "\fBview\fP \fIfilename\fP"
-直前の \fBls\fP コマンドの出力を並べ変え、
-\fImore\fP(1)
+受け取るたびにハッシュマークが表示されます。
+.It Ic view Ar filename
+直前の
+.Ic ls
+コマンドの出力を並べ変え、
+.Xr more 1
で出力します。
-.sp 1
-.ne 4
-.IP "\fBhelp\fP"
-.ns
-.IP "\fB?\fP"
+.It Ic help
+.It Ic ?
コマンドの簡単な要約を表示します。
-.sp 1
-.IP "\fBexit\fP"
+.It Ic exit
プログラムを終了します。
-.sp 1
-.IP "\fBset\fP \fIkeyword\fP[=\fIvalue\fP]"
+.It Xo Ic set Ar keyword
+.Ns Op = Ns Ar value
+.Xc
このコマンドは探索に影響するオプションを変更するのに使われます。
有効な keyword は以下の通りです。
-.RS
-.IP "\fBall\fP"
-よく使われる \fBset\fP のオプションの現在の値を表示します。
+.Bl -tag -width "class=v"
+.It Ic all
+よく使われる
+.Ic set
+のオプションの現在の値を表示します。
現在のデフォルトサーバとホストに関する情報も表示されます。
-.IP "\fBclass=\fIvalue\fR"
+.It Ic class= Ns Ar value
問い合わせのクラスを次のいずれかに変更します。
-.RS
-.IP IN 10
-internet クラス。
-.IP CHAOS 10
+.Bl -tag -width "HESIOD "
+.It Dv IN
+インターネットクラス。
+.It Dv CHAOS
chaos クラス。
-.IP HESIOD 10
+.It Dv HESIOD
MIT Athena Hesiod クラス。
-.IP ANY 10
+.It Dv ANY
上記すべて。
-.P
+.El
+.Pp
クラスは情報のプロトコルグループを特定します。
-.br
-(デフォルト = IN, 略記 = cl)
-.RE
-.IP "\fB[no]debug\fP"
+.Pp
+(デフォルト =
+.Dv IN;
+略記 =
+.Ic cl )
+.It Xo Op Ic no
+.Ns Ic debug
+.Xc
デバッグモードにします。サーバに送られるパケットとそれに
対する返答について、より多くの情報が表示されます。
-.br
-(デフォルト = nodebug, 略記 = [no]deb)
-.IP "\fB[no]d2\fP"
+.Pp
+(デフォルト =
+.Ic nodebug ;
+略記 =
+.Xo Op Ic no
+.Ns Ic deb )
+.Xc
+.It Xo Op Ic no
+.Ns Ic d2
+.Xc
詳細なデバッグモードにします。
-パケットごとに重要な全てのフィールドが表示されます。
-.br
-(デフォルト = nod2)
-.IP "\fBdomain=\fIname\fR"
-デフォルトドメイン名を \fIname\fP に変更します。
-\fBdefname\fP , \fBsearch\fP オプションの設定に応じて、
+パケットごとに重要なすべてのフィールドが表示されます。
+.Pp
+(デフォルト =
+.Ic nod2 )
+.It Ic domain= Ns Ar name
+デフォルトドメイン名を
+.Ar name に変更します。
+.Ic defname
+と
+.Ic search
+オプションの設定に応じて、
探索要求されるホスト名にデフォルトドメイン名が付加されます。
-デフォルトドメイン名が二つ以上の要素から
+デフォルトドメイン名が 2 つ以上の要素から
なるとき、ドメインサーチリストにはデフォルトドメインの親が含まれます。
たとえば、デフォルトドメイン名が
CC.Berkeley.EDU であるとき、サーチリストは
CC.Berkeley.EDU 及び Berkeley.EDU です。
-異なるリストを指定するには、 \fBset srchlist\fP コマンドを使います。
-このリストを表示するには、 \fBset all\fP コマンドを使います。
-.br
-(デフォルト = ホスト名から得た値, /etc/resolv.conf あるいは LOCALDOMAIN,
-略記 = do)
-.IP "\fBsrchlist=\fIname1/name2/...\fR"
-デフォルトドメイン名を \fIname1\fP にし、ドメインサーチリストを
-\fIname1\fP, \fIname2\fP, ...に変更します。スラッシュ (/) で区切って
+異なるリストを指定するには、
+.Dq Ic set srchlist
+コマンドを使います。
+このリストを表示するには、
+.Dq Ic set all
+コマンドを使います。
+.Pp
+(デフォルト =
+.Xr hostname 1
+から得た値,
+.Pa /etc/resolv.conf
+あるいは
+.Pa LOCALDOMAIN;
+略記 =
+.Ic do )
+.It Ic srchlist= Ns Ar name1/name2/...
+デフォルトドメイン名を
+.Ar name1
+にし、ドメインサーチリストを
+.Ar name1 , name2 , etc.
+に変更します。スラッシュ (/) で区切って
最大 6 つまで指定可能です。
たとえば
-.sp .5v
- set\ srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU
-.sp .5v
+.Bd -literal -offset indent
+set srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU
+.Ed
+.Pp
の場合、ドメインを lcs.MIT.EDU にし、サーチリストを上の 3 つの名前に
設定します。
-このコマンドは、\fBset domain\fP コマンドによるデフォルトドメイン名と
+このコマンドは、
+.Dq Ic set domain
+コマンドによるデフォルトドメイン名と
サーチリストを上書きします。
-リストを表示するには、 \fBset all\fP コマンドを使います。
-.br
-(デフォルト = ホスト名に基づく値, /etc/resolv.conf あるいは LOCALDOMAIN,
-略記 = srchl)
-.IP "\fB[no]defname\fP"
+リストを表示するには、
+.Dq Ic set all
+コマンドを使います。
+.Pp
+(デフォルト =
+.Xr hostname 1
+に基づく値,
+.Pa /etc/resolv.conf
+あるいは
+.Ev LOCALDOMAIN ;
+略記 =
+.Ic srchl )
+.It Xo Op Ic no
+.Ns Ic defname
+.Xc
これが設定されると、単一要素からなる問い合わせ(すなわちピリオドのないもの)
に対して、
指定したデフォルトドメイン名が付加されます。
-.br
-(デフォルト = defname, 略記 = [no]def)
-.IP "\fB[no]search\fP"
-問い合わせ要求にピリオドが少なくとも一つ含まれているが
-ピリオドで終ってはいない場合、
+.Pp
+(デフォルト =
+.Ic defname ;
+略記 =
+.Xo Op Ic no
+.Ns Ic defname )
+.Xc
+.It Xo Op Ic no
+.Ns Ic search
+.Xc
+問い合わせ要求にピリオドが少なくとも 1 つ含まれているが
+ピリオドで終っては
+.Em いない
+場合、
答えが受け取れるまで、ドメインサーチリスト内のドメイン名を
付加します。
-.br
-(デフォルト = search, 略記 = [no]sea)
-.IP "\fBport=\fIvalue\fR"
-デフォルトのネームサーバの TCP/UDP ポートを \fIvalue\fP に変更します。
-.br
-(デフォルト = 53, 略記 = po)
-.IP "\fBquerytype=\fIvalue\fR"
-.ns
-.IP "\fBtype=\fIvalue\fR"
-.ns
+.Pp
+(デフォルト =
+.Ic search ;
+略記 =
+.Xo Op Ic no
+.Ns Ic sea )
+.Xc
+.It Ic port= Ns Ar value
+デフォルトのネームサーバの TCP/UDP ポートを
+.Ar value
+に変更します。
+.Pp
+(デフォルト = 53;
+略記 =
+.Ic \&po )
+.It Ic querytype= Ns Ar value
+.It Ic type= Ns Ar value
問い合わせる情報の種類を変更します。情報は次のうちのいずれかです。
-.RS
-.IP A 10
+.Bl -tag -width "HINFO "
+.It Dv A
ホストの IP アドレス。
-.IP CNAME 10
+.It Dv CNAME
別名に対する正式名。
-.IP HINFO 10
+.It Dv HINFO
ホストの CPU と OS の種類。
-.IP MINFO 10
+.It Dv MINFO
メールボックスもしくは、メールリストに関する情報。
-.IP MX 10
+.It Dv MX
メール交換ホスト。
-.IP NS 10
+.It Dv NS
その名前空間内のネームサーバ。
-.IP PTR 10
+.It Dv PTR
問い合わせが IP アドレスであればホスト名、そうでなければ
それ以外の情報へのポインタ。
-.IP SOA 10
-ドメインの ``start-of-authority'' 情報。
-.IP TXT 10
+.It Dv SOA
+ドメインの
+.Dq 権威開始 (start-of-authority)
+情報。
+.It Dv TXT
テキスト情報。
-.IP UINFO 10
+.It Dv UINFO
ユーザ情報。
-.IP WKS 10
-サポートする well-known サービス。
-.P
-他のタイプ (ANY, AXFR, MB, MD, MF, NULL) については、ドキュメント
+.It Dv WKS
+サポートする、よく知られたサービス。
+.El
+.Pp
+他のタイプ
+.Pq Dv ANY, AXFR, MB, MD, MF, NULL
+については、ドキュメント
RFC-1035 に書かれています。
-.br
-(デフォルト = A, 略記 = q, ty)
-.RE
-.IP "\fB[no]recurse\fP"
+.Pp
+(デフォルト =
+.Dv A ;
+略記 =
+.Ic q, ty )
+.It Xo Op Ic no
+.Ns Ic recurse
+.Xc
サーバが情報を持っていないときに、他のサーバに問い合わせるよう
指示します。
-.br
-(デフォルト = recurse, 略記 = [no]rec)
-.IP \fBretry=\fInumber\fR
-リトライ回数を \fInumber\fP 回とします。
-要求に対する返答をある時間内 (\fBset timeout\fP で変更できる) に
+.Pp
+(デフォルト =
+.Ic recurse ;
+略記 =
+.Xo Op Ic no
+.Ns Ic rec )
+.Xc
+.It Ic retry= Ns Ar number
+リトライ回数を
+.Ar number
+回とします。
+要求に対する返答をある時間内 (
+.Dq Ic set timeout
+で変更できる) に
受け取らなかったとき、タイムアウト期間は 2 倍にされ、
要求が再送されます。
retry の値は、あきらめるまでに要求を何回再送するかを決めます。
-.br
-(デフォルト = 4, 略記 = ret)
-.IP \fBroot=\fIhost\fR
-ルートネームサーバ名を \fIhost\fP に変更します。
-これは \fBroot\fP コマンドに影響します。
-.br
-(デフォルト = ns.internic.net., 略記 = ro)
-.IP \fBtimeout=\fInumber\fR
-返答を待つ初期タイムアウト間隔を \fInumber\fP 秒に変更します。
+.Pp
+(デフォルト = 4, 略記 =
+.Ic ret )
+.It Ic root= Ns Ar host
+ルートネームサーバ名を
+.Ar host
+に変更します。
+これは
+.Dq Ic root
+コマンドに影響します。
+.Pp
+(デフォルト =
+.Ic ns.internic.net ;
+略記 =
+.Ic ro )
+.It Ic timeout= Ns Ar number
+返答を待つ初期タイムアウト間隔を
+.Ar number
+秒に変更します。
リトライのたびにタイムアウト間隔は倍になります。
-.br
-(デフォルト = 5 seconds, 略記 = ti)
-.IP "\fB[no]vc\fP"
-サーバに 要求を出すときに常に 仮想回路
+.Pp
+(デフォルト = 5 seconds; 略記 =
+.Ic ti )
+.It Xo Op Ic no
+.Ns Ic vc
+.Xc
+サーバに要求を出すときに、常に仮想回路
(virtual circuit) を使います。
-.br
-(デフォルト = novc, 略記 = [no]v)
-.IP "\fB[no]ignoretc\fP"
+.Pp
+(デフォルト =
+.Ic novc ;
+略記 =
+.Xo Op Ic no
+.Ns Ic v )
+.Xc
+.It Xo Op Ic no
+.Ns Ic ignoretc
+.Xc
パケットトランケーションエラーを無視します。
-.br
-(デフォルト = noignoretc, 略記 = [no]ig)
-.RE
-.SH 診断
+.Pp
+(デフォルト =
+.Ic noignoretc ;
+略記 =
+.Xo Op Ic no
+.Ns Ic ig )
+.Xc
+.El
+.El
+.Sh 診断
問い合わせが失敗した場合、エラーメッセージが表示されます。
エラーには次のようなものがあります。
-.IP "Timed out" 5
-サーバに対する要求を、(\fBset timeout=\fIvalue\fR で変更できる)ある時間
-の間に(\fBset retry=\fIvalue\fR で変更できる)ある回数だけ
+.Bl -tag -width "Timed"
+.It Li Timed out
+サーバに対する要求を、(
+.Dq Ic set timeout= Ns Ar value
+で変更できる)ある時間
+の間に(
+.Dq Ic set retry= Ns Ar value
+で変更できる)ある回数だけ
リトライしましたが、応答しませんでした。
-.IP "No response from server" 5
+.It Li \&No response from server
サーバマシンでネームサーバが動いていません。
-.IP "No records" 5
+.It Li \&No records
ホスト名は正しいのですが、そのホストについて現在の問い合わせに
関する情報をサーバが持っていません。
-問い合わせる情報は \fBset querytype\fP コマンドで指定できます。
-.IP "Non-existent domain" 5
+問い合わせる情報は
+.Dq Ic set querytype
+コマンドで指定できます。
+.It Li Non-existent domain
そのホスト名もしくはドメイン名が存在しません。
-.IP "Connection refused" 5
-.ns
-.IP "Network is unreachable" 5
+.It Li Connection refused
+.It Li Network is unreachable
現在のところネームサーバもしくはフィンガーサーバに対して
接続できません。
-このエラーは一般に \fBls\fP \fBfinger\fP 要求に対して起こります。
-.IP "Server failure" 5
+このエラーは一般に
+.Ic ls
+と
+.Ic finger
+要求に対して起こります。
+.It Li Server failure
ネームサーバが内部でデータベースの矛盾を発見したため
正しい答えが返せませんでした。
-.IP "Refused" 5
+.It Li Refused
ネームサーバが要求に対するサービスを拒否しました。
-.IP "Format error" 5
+.It Li Format error
ネームサーバは要求パケットが適切なフォーマットになっていないと
判断しました。
-\fInslookup\fP 内にエラーがあるのかもしれません。
-.sp 1
-.SH 関連ファイル
-.ta \w'/usr/share/misc/nslookup.helpXXX'u
-/etc/resolv.conf ドメイン名の初期値とネームサーバのアドレスを記述するファイルです。
-.br
-$HOME/.nslookuprc ユーザ用の初期化オプションを記述するファイルです。
-.br
-/usr/share/misc/nslookup.help コマンドの要約です。
-.SH 環境変数
-.ta \w'HOSTALIASESXXXX'u
-HOSTALIASES ホスト名のエイリアスを記述したファイル。
-.br
-LOCALDOMAIN デフォルトドメインを上書きします。
-.SH 関連項目
-resolver(3), resolver(5), named(8),
-.br
-RFC-1034 ``Domain Names \- Concepts and Facilities''
-.br
-RFC-1035 ``Domain Names \- Implementation and Specification''
-.SH 作者
+.Nm nslookup
+内にエラーがあるのかもしれません。
+.El
+.Sh 関連ファイル
+.Bl -tag -width "/usr/share/misc/nslookup.helpXXX" -compact
+.It Pa /etc/resolv.conf
+ドメイン名の初期値とネームサーバのアドレスを記述するファイルです。
+.It Pa $HOME/.nslookuprc
+ユーザ用の初期化オプションを記述するファイルです。
+.It Pa /usr/share/misc/nslookup.help
+コマンドの要約です。
+.Sh 環境変数
+.Bl -tag -width "HOSTALIASESXXXX" -compact
+.It Ev HOSTALIASES
+ホスト名のエイリアスを記述したファイル。
+.It Ev LOCALDOMAIN
+デフォルトドメインを上書きします。
+.Sh 関連項目
+.Xr named 8 ,
+.Xr resolver 3 ,
+.Xr resolver 5 ;
+RFC-1034,
+.Dq Domain Names - Concepts and Facilities ;
+RFC-1035,
+.Dq Domain Names - Implementation and Specification
+.Sh 作者
Andrew Cherenson
diff --git a/ja/man/man8/ntpdate.8 b/ja/man/man8/ntpdate.8
index 8df89e0651..aaa16c1966 100644
--- a/ja/man/man8/ntpdate.8
+++ b/ja/man/man8/ntpdate.8
@@ -1,204 +1,159 @@
-''' $Header
-'''
+.\"
+.\" %Id: ntpdate.8,v 1.4 1998/02/19 08:05:35 charnier Exp %
.\" jpman %Id: ntpdate.8,v 1.3 1997/09/12 02:30:46 seki Stab %
-.de Sh
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH NTPDATE 8 LOCAL
-.SH 名称
-ntpdate - NTP を介して日付と時刻を設定する
-.SH 書式
-.B ntpdate
-[
-.B -bds
-] [
-.B -o
-.I version
-] [
-.B -a
-.I key#
-] [
-.B -e
-.I authdelay
-] [
-.B -k
-.I keyfile
-] [
-.B -p
-.I samples
-] [
-.B -t
-.I timeout
-]
-server ...
-.SH 解説
-.I ntpdate
+.\"
+.Dd December 21, 1993
+.Dt NTPDATE 8
+.Os
+.Sh 名称
+.Nm ntpdate
+.Nd NTP を介して日付と時刻を設定する
+.Sh 書式
+.Nm
+.Op Fl bds
+.Op Fl o Ar version
+.Op Fl a Ar key#
+.Op Fl e Ar authdelay
+.Op Fl k Ar keyfile
+.Op Fl p Ar samples
+.Op Fl t Ar timeout
+.Ar server ...
+.Sh 解説
+.Nm
は、正確な時刻を決めるために引数に与えられたホスト (複数可) の
ネットワークタイムプロトコル (Network Time Protocol)
サーバを調べることによって、
ローカルな日付と時刻を設定します。
これは、ローカルホストの root として起動されなければなりません。
指定された各サーバからたくさんのサンプルを得て、
標準の NTP 時計フィルタと選択アルゴリズムを適用し、
その中から最良のものを選択します。
通常
-.I ntpdate
+.Nm
コマンドは、ブート時の時刻を設定するために起動時スクリプト
-.I /etc/rc.local
+.Pa /etc/rc.local
の中に挿入したり、
-.IR cron (8)
+.Xr cron 8
を介して時間毎に間欠的に走らせたりすることができます。
-.I ntpdate
+.Nm
の信頼性と正確さは、
-サーバ数が増えると劇的に改善することを覚えておいて下さい。
+サーバ数が増えると劇的に改善することを覚えておいてください。
単一のサーバを使っても構いませんが、
あまり多くないにしても、
-少なくとも三つないし四つのサーバを用意すると、
+少なくとも 3 つないし 4 つのサーバを用意すると、
より良い性能と、
どれかのサーバの部分的な狂いに対するより大きな抵抗性が得られます。
-.PP
-.I ntpdate
-は二つの方法のうちの一つで時刻の調整を行います。
-.I ntpdate
+.Pp
+.Nm
+は 2 つの方法のうちの 1 つで時刻の調整を行います。
+.Nm
は、時計が 0.5 秒以上ずれていると判断すると、
-.IR settimeofday (2)
+.Xr settimeofday 2
を呼ぶことで単に時刻を合わせ直します。
しかし、
誤差が 0.5 秒以内のときは、デフォルトでは、そのずれを指定して
-.IR adjtime (2)
+.Xr adjtime 2
を呼ぶことで、時計の時刻を微調整します。
後者のテクニックは、ずれが小さいときには、より滑らかな上に正確であり、
-.I ntpdate
+.Nm
-.I cron (8)
+.Xr cron 8
で 1 〜 2 時間に一回走らせるときには、かなりうまく働きます。
後者の方法で行う調整は、実際には、計測されたずれよりも 50% 大きくなります。
-これは、ひどくフラフラする時計をより正確に保持するのに役立つからです。
-(安定性は少し犠牲になりますが、この取り引きは大抵は有効です。)
+これは、ひどくフラフラする時計をより正確に保持するのに役立つからです
+(安定性は少し犠牲になりますが、この取り引きは大抵は有効です)。
しかしブート時には、大抵の場合、必ず合わせ直す方がいいでしょう。
コマンドラインに
-.B -b
+.Fl b
スイッチを指定することにより、すべての場合にこれを強制することができます。
-.B -s
+.Fl s
スイッチは、
-.I ntpdate
+.Nm
の動作を標準出力ではなく、
-.IR syslog (3)
-ファシリティでログを取るようにします。
+.Xr syslog 3
+機能でログを取るようにします。
これはプログラムを
-.IR cron (8)
+.Xr cron 8
から走らせる際に便利なオプションです。
-.PP
-.B -d
+.Pp
+.Fl d
フラグは
-.I ntpdate
+.Nm
が何を行うのかを、
実際に実行させずに知るために使われます。
一般のデバッグに便利な情報も出力されます。
デフォルトでは、
-.I ntpdate
+.Nm
は、パケットを出力するときに NTPバージョン 3 の実装であると自称します。
古いソフトウェアのいくつかはバージョン 3 の問い合わせへの返答を拒否するため、
代わりに
-.B -o
-.I version
+.Fl o Ar version
スイッチにより、
バージョン 2 または 1 の実装として調べるように強制できます。
-.PP
-.I ntpdate
+.Pp
+.Nm
が各サーバから得るサンプルの数は、
-.B -p
+.Fl p
スイッチを使って、 1 から 8 までを設定することができます。
デフォルトは 4 です。
応答待ちに使われる時間は
-.B -t
+.Fl t
スイッチで設定でき、 0.2 秒の倍数に丸められます。
デフォルトは 1 秒で、これは LAN を通じて調べるのに適当な値です。
-.PP
+.Pp
必要なら
-.I ntpdate
+.Nm ntpdate
は、その処理を認証します。
-.B -a
+.Fl a
スイッチは、すべてのパケットは指定されたキー番号を使って
認証されなければならないという指定です。
-.B -k
+.Fl k
スイッチにより、デフォルトで
-.I /etc/ntp.keys
+.Pa /etc/ntp.keys
となっている、キーを読み込むファイルの名前を変更できます。
このファイルは
-.IR xntpd (8)
+.Xr xntpd 8
に記載されているフォーマットで記述されなければなりません。
-.B -e
-オプションは、認証処理による遅れを秒単位で指定できます。
+.Fl e
+オプションは、認証処理による遅れを秒単位で指定できます
(詳細は
-.IR xntpd (8)
-を参照して下さい。)
+.Xr xntpd 8
+を参照してください)。
この値は、通常は
-.I ntpdate
+.Nm
の用途では無視し得るほどわずかですが、
非常に遅い CPU ではこの数を指定することで、
-時間の正確さが改善するかも知れません。
-.PP
-.I ntpdate
+時間の正確さが改善するかもしれません。
+.Pp
+.Nm
は、同一ホスト上に NTP サーバデーモン
(例えば
-.IR xntpd (8)
+.Xr xntpd 8
)
が走っているときには、時刻の設定を拒否します。
デーモンを走らせる代わりに
-.I ntpdate
+.Nm
-.IR cron (8)
+.Xr cron 8
から定期的に走らせるときは、
-1 時間か 2 時間に一回動かせば、
+1 時間か 2 時間に 1 回動かせば、
時計の合わせ直しを避けて十分正確に時刻を刻むことになるでしょう。
-.SH 関連ファイル
-.nf
-/etc/ntp.keys\0\0 は、 \fIntpdate\fP で使われる暗号キーを含みます。
-.fi
-.SH 関連項目
-xntpd(8)
-.SH 歴史
-Toronto 大学の Dennis Ferguson によって書かれました。
-.SH バグ
+.Sh 関連ファイル
+.Bl -tag -width /etc/ntp.keys -compact
+.It Pa /etc/ntp.keys
+は
+.Nm
+で使われる暗号キーを含みます。
+.El
+.Sh 関連項目
+.Xr xntpd 8
+.Sh 歴史
+Toronto 大学の
+.An Dennis Ferguson
+によって書かれました。
+.Sh バグ
時計の発振子の誤差を補正して精度を高めるために用いたテクニックは
あまり出来がよくありませんが、
もっとうまくやるためには、
このプログラムが前回実行した時の状態を保存しておくことが必要となるでしょう。
+
diff --git a/ja/man/man8/ntpq.8 b/ja/man/man8/ntpq.8
index c18eec4bce..0314b745d0 100644
--- a/ja/man/man8/ntpq.8
+++ b/ja/man/man8/ntpq.8
@@ -1,609 +1,518 @@
-''' $Header
-'''
+.\"
+.\" %Id: ntpq.8,v 1.5 1998/02/19 08:05:38 charnier Exp %
+.\"
.\" jpman %Id: ntpq.8,v 1.3 1997/09/21 12:35:15 seki Stab %
.\"
.\" 対訳覚え書き (seki@sysrap.cs.fujitsu.co.jp 作成)
.\" association アソシエーション
.\" association identifier アソシエーション番号 (訳しすぎか?)
.\" authentication 認証
.\" clock 時計
.\" dispersion ばらつき
.\" fuzzball fuzzball (固有名詞; xntpd ベースでない NTP サーバ)
.\" offset ずれ
.\" peer peer のまま
.\" poll ポーリングする
.\" query 問い合わせ
.\" reference clock 参照時計
.\" request 要求
.\" status word 状態ワード
.\" time out (名詞) 制限時間
-.de Sh
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH NTPQ 8 LOCAL
-.SH 名称
-ntpq - ネットワークタイムプロトコルの標準問い合わせプログラム
-.SH 書式
-.B ntpq
-[
-.B -inp
-] [
-.B -c
-.I command
-] [
-.I host
-] [
-.I ...
-]
-.SH 解説
-.I ntpq
+.Dd December 21, 1993
+.Dt NTPQ 8
+.Os
+.Sh 名称
+.Nm ntpq
+.Nd ネットワークタイムプロトコルの標準問い合わせプログラム
+.Sh 書式
+.Nm
+.Op Fl inp
+.Op Fl c Ar command
+.Op Ar host ...
+.Sh 解説
+.Nm ntpq
は、
推奨されている NTP モード 6 制御メッセージフォーマットを実装する NTP サーバに、
現在の状態について問い合わせを行なったり、
状態の変更を要求するために使われます。
このプログラムは対話的モードでも、
コマンドラインの引数を使っても走らせることができます。
任意の変数を読み書きする要求を組み立てることができ、
-生のまま、または綺麗に整形する出力オプションがあります。
-.I ntpq
+生のまま、または綺麗に整形して出力するオプションがあります。
+.Nm ntpq
は、サーバに複数の問い合わせを送ることで、共通フォーマットにした
peer のリストを得て、出力することができます。
-.PP
-.I ntpq
+.Pp
+.Nm ntpq
を実行するときに一つ以上の要求オプションがコマンドラインに含まれていれば、
それぞれの要求は、
コマンドラインで指定された各ホストで走っている NTP サーバ、
またはデフォルトでは
-.I localhost
+.Ar localhost
で走っている NTP サーバに送られます。
要求オプションが与えられなかった場合、
-.I ntpq
+.Nm ntpq
は、コマンドを標準入力から読み込み、
コマンドラインで指定された最初のホストで走っている
NTP サーバに対して実行しようとします。
このときも、
ホストが指定されていないときは、デフォルトで
-.I localhost
+.Ar localhost
になります。
標準入力が端末装置である場合は、
-.I ntpq
+.Nm ntpq
はコマンドを求めるプロンプトを出します。
-.PP
-.I ntpq
-は NTP サーバと通信するために、 NTP モード 6 パケットを使います。
+.Pp
+NTP サーバと通信するために、
+.Nm ntpq
+は NTP モード 6 パケットを使います。
それゆえ、許可されていれば、
互換のあるどんなネットワーク上のサーバにでも問い合わせることができます。
NTP は UDP のプロトコルなので、特にネットワークトポロジ的に
遠くにある場合は、この伝達はやや信頼性に欠けるということを覚えておいて
下さい。
-.I ntpq
+.Nm ntpq
は、要求を再送する試みを一度行ない、
適当な制限時間の範囲内でリモートホストから返事がなかったときは、
その要求は時間切れとなります。
-.PP
+.Pp
コマンドラインオプションは以下の通りです。
-.B -i
+.Fl i
または
-.B -n
+.Fl n
以外のコマンドラインオプションを指定すると、指定したホスト (群) に、
指定した問い合わせ (または複数の問い合わせ) を直ちに送ることになります。
そうでなければ
-.I ntpq
+.Nm ntpq
は、標準入力から対話形式のコマンドを読み込もうとします。
-.Ip -c 8
-後に続く引数は、対話形式のコマンドとして解釈され、
+以下のオプションが利用可能です。
+.Bl -tag -width indent
+.It Fl c Ar command
+後に続く引数は、対話形式の
+.Ar コマンド
+として解釈され、
指定されたホスト (群) に対して実行すべきコマンドのリストに
付け加えられます。
複数の
-.B -c
+.Fl c
オプションも与えることができます。
-.Ip -i 8
-.I ntpq
+.It Fl i
+.Nm ntpq
の操作を強制的に対話モードにします。標準出力にプロンプトが書き出され、
標準入力からコマンドが読み込まれます。
-.Ip -n 8
+.It Fl n
すべてのホストアドレスを数字四つを点で区切った形式で出力し、
正規のホスト名に変換しません。
-.Ip -p 8
+.It Fl p
そのサーバに知られている peer の一覧を、その状態の概要と共に出力します。
-これは、対話コマンド \*(L"peers\*(R" と同等です。
-.SH 内部コマンド
-.PP
+これは、対話コマンド
+.Em peers
+と同等です。
+.El
+.Sh 内部コマンド
+.Pp
対話形式コマンドは、キーワードとそれに続く 0 個から 4 個の
引数からなります。
キーワードの単語のうち、他に同じものがないとわかる数の文字がタイプされ
ていれば大丈夫です。コマンドの出力は、通常標準出力に出力されますが、
-コマンドラインの後に \*(L">\*(R" とファイル名をつけると、
+コマンドラインの後に
+.Qq >
+とファイル名をつけると、
個々のコマンドの出力をファイルに出力することもできます。
-.PP
+.Pp
多くの対話形式コマンドは、
-.I ntpq
+.Nm ntpq
プログラム自身の中で実行されてしまい、
サーバへ送られる NTP モード 6 リクエストとはなりません。
この種のコマンドを以下に挙げます。
-.PP
-.B ?
-[
-.I command_keyword
-]
-.PP
-単独の \*(L"?\*(R" は、
-現在の
-.I ntpq
+.Pp
+.Bl -tag -width indent
+.It ? Op Ar command_keyword
+単独の
+.Qq ?
+は、現在の
+.Nm ntpq
のすべてのコマンドキーワードの一覧を出力します。
-\*(L"?\*(R" の後にコマンドキーワードが続くときは、関数とコマンドの使いかた
+.Qq ?
+の後にコマンドキーワードが続くときは、関数とコマンドの使いかた
を出力します。このコマンドは、
-.I ntpq
+.Nm ntpq
について、多分このマニュアルよりも良い情報源になります。
-.PP
-.B timeout
-.I millseconds
-.PP
+.Pp
+.It timeout Ar millseconds
サーバへの問い合わせに対する応答の、制限時間の長さを指定します。
-デフォルトは、約 5000 ミリ秒です。
-.I ntpq
+デフォルトは約 5000 ミリ秒です。
+.Nm ntpq
は制限時間が過ぎるとそれぞれの問い合わせを一回リトライするので、
合計の待ち時間は設定された制限時間の値の 2 倍になることを覚えておいて下さい。
-.PP
-.B delay
-.I milliseconds
-.PP
+.It delay Ar milliseconds
認証を必要とする要求に含めるタイムスタンプに追加すべき時間間隔を指定します。
これは、長い遅延のあるネットワーク経路や時計が同期していない
マシン間での (信頼性の低い) サーバの再設定を可能にするために
使われます。
実際には、サーバは、今では認証される要求のタイムスタンプを必要としません。
そのため、このコマンドは、すたれているかもしれません。
-.PP
-.B host
-.I hostname
-.PP
+.It host Ar hostname
問い合わせを送るホストをセットします。
-.I hostname
+.Ar hostname
はホスト名でも数値アドレスでもかまいません。
-.PP
-.B poll
-[
-.I #
-] [
-.B verbose
-]
-.PP
+.It Xo poll
+.Op Ar #
+.Op Ar verbose
+.Xc
クライアントモードで現在のサーバをポーリングします。最初の引数はポーリングする
回数 (デフォルトは 1) であり、 2 番目の引数は結果の出力をより詳しく
得るために与えることができます。
このコマンドは、今のところ希望的観測でしかありません。
-.PP
-.B keyid
-.I #
-.PP
+.It keyid Ar #
このコマンドは、設定要求を認証するために用いるキー番号を指定します。
これは、この目的で使うためにサーバに設定されているキー番号に
対応していなければなりません。
-.PP
-.B passwd
-.PP
+.It passwd
このコマンドは、設定要求を認証するために使われるパスワード
(画面に表示されません) の入力を求めるプロンプトを出します。
その要求を成功させるためには、
このパスワードが、
NTP サーバがこの目的で使うように設定されたキーに
対応していなければなりません。
-.PP
-.B "hostnames yes|no"
-.PP
-\*(L"yes\*(R" が指定されると、情報を表示するときにホスト名が出力されます。
-\*(L"no\*(R" が与えられると、代わりに数値アドレスが表示されます。
+.It hostnames Ar yes | no
+.Ar yes
+が指定されると、情報を表示するときにホスト名が出力されます。
+.Ar no
+が与えられると、代わりに数値アドレスが表示されます。
コマンドラインの
-.B -n
-スイッチが使われなければ、
-デフォルトは \*(L"yes\*(R" になります。
-.PP
-.B raw
-.PP
+.Fl n
+スイッチが使われなければ、デフォルトは
+.Ar yes
+になります。
+.It raw
問い合わせコマンドに対するすべての出力を、リモートサーバから受け取った
通りに出力します。
データに対して行なわれる唯一の整形/解釈は、印字できる
(しかしめったに理解できない) 形になるように、アスキー文字でないデータを
変換することです。
-.PP
-.B cooked
-.PP
-問い合わせコマンドからの出力を、 \*(L"加工済み (cooked)\*(R" 形にします。
+.It cooked
+問い合わせコマンドからの出力を、
+.Qq 加工済み (cooked)
+形にします。
サーバに認識された変数は、人間に使える形に再整形された値に
なります。
-.I ntpq
+.Nm ntpq
が、その変数は本来デコードできる値を持っていると判断したのに、
-デコードされていないものには、後に \*(L"?\*(R" が付けられます。
-.PP
-.B ntpversion
-.B 1|2|3
-.PP
-.I ntpq
+デコードされていないものには、その後に
+.Qq ?
+が付けられます。
+.It ntpversion Ar 1 | Ar 2 | Ar 3
+.Nm ntpq
がパケットの中で自称する NTP のバージョン番号をセットします。
デフォルトでは 3 です。
モード 6 制御メッセージ (詳しく言うとモードも) は、
NTP バージョン 1 には存在しなかったことに注意して下さい。
バージョン 1 を必要とするサーバは残っていないようですが。
-.PP
-.B authenticate
-.B yes|no
-.PP
+.It authenticate Ar yes | Ar no
通常、
-.I ntpq
+.Nm ntpq
は、
書き込み要求でない限り要求を認証しません。
コマンド
-.B authenticate yes
+.Em authenticate yes
は、
-.I ntpq
+.Nm ntpq
が生成するすべての要求に認証をつけて送るようにします。
認証された要求は、サーバによっては少し異なって扱われます。
もしも peer 表示を行う前に認証をオンにすると、
時々 fuzzball の CPU を溶かしてしまうかもしれません。
-.PP
-.B addvars
-.IR <variable_name>[=<value>] [,...]
-.B rmvars
-.IR <variable_name> [,...]
-.B clearvars
-.PP
+.It Xo addvars
+.Aq variable_name Ns
+.Op = Ns Aq value> Ns
+.Op ,...
+.Xc
+.It Xo rmvars
+.Aq variable_name Ns
+.Op ,...
+.Xc
+.It clearvars
NTP モード 6 メッセージが運ぶデータは、次の形の
項目のリストから成ります。
-.IP "" 8
-<variable_name>=<value>
-.PP
-ここで、サーバの変数を読み取る要求では、この \*(L"=<value>\*(R" は
-無視されるので、省略することができます。
-.I ntpq
+.Xo Aq variable_name Ns
+.Pf = Aq value
+.Xc
+ここで、サーバの変数を読み取る要求では、この
+.Qq = Ns Aq value
+は無視されるので、省略することができます。
+.Nm ntpq
は、制御メッセージに含まれるデータを組み立てるための内部リストを保持しており、
以下に述べる
-.B readlist
+.Em readlist
-.B writelist
+.Em writelist
コマンドを使って送ります。
-.B addvars
+.Em addvars
コマンドで、このリストに、変数と省略可能な値を追加することができます。
一つ以上の変数を追加するときには、リストはコンマで区切り、
空白を含んではいけません。
-.B rmvars
+.Em rmvars
コマンドは、個々の変数をリストから削除するために用い、
-.B clearlist
+.Em clearlist
コマンドは、リストからすべての変数を削除します。
-.PP
-.B debug
-.I more|less|off
-.PP
+.It debug Ar more | Ar less | Ar off
問い合わせプログラムの内部のデバッグをオンまたはオフにします。
-.PP
-.B quit
-.PP
-.I ntpq
+.It quit
+.Nm ntpq
を終了します。
-.SH 制御メッセージコマンド
-.PP
+.El
+.Sh 制御メッセージコマンド
ある NTP サーバが知っている各 peer には、
-.I アソシエーション番号
-.I (association identifier)
+.Em アソシエーション番号
+.Em (association identifier)
という 16 ビット整数が割り当てられています。
peer 変数を使う NTP 制御メッセージは、
アソシエーション番号を含めることによって、
その値が対応する peer を識別しなければなりません。
0 というアソシエーション番号は特別で、
その変数がシステム変数であることを表します。
システム変数の名前は、独立した名前空間から取りだされます。
-.PP
+.Pp
制御メッセージコマンドは、
サーバに一つ以上の NTP モード 6 メッセージを送り、
戻ってきたデータを何らかの書式で出力します。
現在実装されているほとんどのコマンドは、
一つのメッセージを送って、一つの応答を受け取ります。
今のところ例外は、必要なデータを得るためにあらかじめプログラムされた一連の
メッセージを送る
-.B peers
+.Em peers
コマンドと、
アソシエーションをある範囲で変えながら繰り返す
-.B mreadlist
+.Em mreadlist
-.B mreadvar
+.Em mreadvar
コマンドです。
-.PP
-.B associations
-.PP
+.Bl -tag -width indent
+.It associations
問い合わせ対象のサーバの規格内 (in\-spec) の peer についての、
アソシエーション番号と peer の状態の一覧を得て出力します。
一覧は複数の欄から成っています。
最初の欄は、内部で使用のために 1 から振ったアソシエーションの索引番号 (index)、
2 番目はサーバから返って来た実際のアソシエーション番号、
3 番目は peer の状態ワードです。
その後に、状態ワードをデコードしたデータを含む欄がいくつか続きます。
-\*(L"associations\*(R" コマンドによって返ったデータは
-.I ntpq
+\*(L"associations\*(R" コマンドによって返されたデータは
+.Nm ntpq
の内部でキャッシュされるということを覚えておいて下さい。
このため、索引番号は、
人間にはほとんど打ち込むることができないアソシエーション番号を使う
愚かなサーバを相手にするときに役立ちます。
すなわち、
それ以降の任意のコマンドが引き数としてアソシエーション番号を必要とするときに、
代わりに
-.I &index
+.Em &index
という形を使うことができます。
-.PP
-.B lassocations
-.PP
+.It lassocations
+.Pp
サーバが状態を保持しているすべてのアソシエーションについて
アソシエーション番号と peer の状態の一覧を得て、出力します。
-このコマンドと \*(L"associations\*(R" コマンドは、
+このコマンドと
+.Em associations
+コマンドは、
規格外 (out\-of\-spec) のクライアントのアソシエーション
の状態を保持するサーバ (つまり fuzzball) の場合にだけ異なります。
-\*(L"associations\*(R" コマンドが使われたとき、通常そういう関係は
-表示から省略されますが、 \*(L"lassociations\*(R" の出力には含まれます。
-.PP
-.B passociations
-.PP
+.Em associations
+コマンドが使われたとき、通常そういう関係は
+表示から省略されますが、
+.Em lassociations
+の出力には含まれます。
+.It passociations
内部でキャッシュされたアソシエーションの一覧から、
規格内 (in\-spec) の peer に関する
アソシエーションのデータを出力します。
このコマンドは、新しい問い合わせをするのではなく
内部に蓄えられたデータを表示するということを除けば、
-\*(L"associations\*(R" と同じに働きます。
-.PP
-.B lpassociations
-.PP
+.Em associations
+と同じに働きます。
+.It lpassociations
規格外 (out\-of\-spec) のクライアントとのアソシエーションを含む
全てのアソシエーションに関するデータを、
内部にキャッシュされたアソシエーションの一覧から出力します。
-このコマンドは、fuzzball を扱う場合だけ、 \*(L"passociations\*(R" と
-異なります。
-.PP
-.B pstatus
-.I assocID
-.PP
+このコマンドは、fuzzball を扱う場合だけ、
+.Em passociations
+と異なります。
+.It pstatus Ar assocID
与えられたアソシエーションに対応するサーバに対し、
状態読み取り要求を送ります。
返された peer 変数の名前と値を出力します。
変数の前に、ヘッダから得た状態ワードが 16 進数と下手な英語で
表示されることに注意して下さい。
-.PP
-.B readvar
-[
-.I assocID
-] [
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
+.It Xo readvar
+.Op Ar assocID Ns
+.Pf [ Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
変数読み取り要求を送ることで、指定した変数の値を返すようにサーバに要求します。
アソシエーション番号 (assocID) を省略するか 0 を指定したならば、
変数はシステム変数です。
そうでなければ peer 変数であり、
返される値は対応する peer のものとなります。
変数のリストを省略すると、データ無しの要求を送ります。
これは、サーバにデフォルトのディスプレイを返させます。
-.PP
-.B rv
-[
-.I assocID
-] [
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
-.B readvar
+.It Xo rv
+.Op Ar assocID Ns
+.Pf [ Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
+.Em readvar
コマンドの打ちやすい短縮形です。
-.PP
-.B writevar
-.I assocID
-.IR <variable_name>=<value> [,...]
-.PP
-.B readvar
+.It Xo writevar
+.Ar assocID
+.Aq variable_name Ns
+.Pf = Ns Aq value Ns
+.Op ,...
+.Xc
+.Em readvar
リクエストと似ていますが、
指定した変数を読み取る代わりに書き込みます。
-.PP
-.B readlist
-[
-.I assocID
-]
-.PP
+.It readlist Op Ar assocID
内部の変数リストの中の変数の値を返すようにサーバに要求します。
アソシエーション番号が省略されるか 0 の場合、
変数はシステム変数であるとみなされます。
そうでなければ、 peer 変数として扱われます。
内部の変数リストが空の場合は、
要求はデータ無しで送られます。
これは、リモートサーバにデフォルトのディスプレイを返させます。
-.PP
-.B rl
-[
-.I assocID
-]
-.PP
-.B readlist
+.It rl Op Ar assocID
+.Em readlist
コマンドの打ちやすい短縮形です。
-.PP
-.B writelist
-[
-.I assocID
-]
-.PP
-.B readlist
+.It writelist Op Ar assocID
+.Em readlist
リクエストと似ていますが、
内部のリストの変数を読み取る代わりに書き込みます。
-.PP
-.B mreadvar
-.I assocID
-.I assocID
-[
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
-.B readvar
+.It Xo mreadvar
+.Ar assocID assocID [
+.Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
+.Em readvar
コマンドと似ていますが、
問い合わせを (0でない) アソシエーション番号の範囲のそれぞれに
行ないます。
ここで言う範囲は、直前に実行された
-.B associations
+.Em associations
コマンドでキャッシュされたアソシエーションの一覧から決めます。
-.PP
-.B mrv
-.I assocID
-.I assocID
-[
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
-.B mreadvar
+.It Xo mrv
+.Ar assocID assocID [
+.Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
+.Em mreadvar
コマンドの打ちやすい短縮形です。
-.PP
-.B mreadlist
-.I assocID
-.I assocID
-.PP
-.B readlist
+.It mreadlist Ar assocID assocID
+.Em readlist
コマンドと似ていますが、
(0 でない) アソシエーション番号の範囲のそれぞれに問い合わせを行います。
ここで言う範囲は、直前に実行された
-.B associations
+.Em associations
コマンドでキャッシュされたアソシエーションの一覧から決めます。
-.PP
-.B mrl
-.I assocID
-.I assocID
-.PP
-.B mreadlist
+.It mrl Ar assocID assocID
+.Em mreadlist
コマンドの打ちやすい短縮形です。
-.PP
-.B clockvar
-[
-.I assocID
-]
-[
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
+.It Xo clockvar
+.Op Ar assocID Ns
+.Pf [ Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
サーバの時計変数 (clock variable) の一覧を送るように要求します。
ラジオ時計や他の外部同期機構を持っているサーバは、
このコマンドに肯定的に応答します。
アソシエーション番号が省略されるか 0 だと、
-要求は \*(L"システム時計\*(R" の変数に対するものとなり、
+要求は
+.Qq システム時計
+の変数に対するものとなり、
一般に、時計を持つすべてのサーバから肯定的な応答が得られるでしょう。
サーバが時計を擬似的な peer として扱い、
結果として一度に二つ以上の時計を接続することができるようになっていれば、
適切な peer のアソシエーション番号を参照すれば
特定の時計の変数が表示されます。
変数のリストを省略すると、サーバはデフォルトの変数のディスプレイを
返すことになります。
-.PP
-.B cv
-[
-.I assocID
-]
-[
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
-.B clockvar
+.It Xo cv
+.Op Ar assocID Ns
+.Pf [ Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
+.Em clockvar
コマンドの打ちやすい短縮形です。
-.PP
-.B peers
-.PP
+.It peers
サーバの規格内の peer の一覧を、各 peer の状態の概要と共に得ます。
概要の情報には、リモート peer のアドレス、
参照 ID (参照 IDが不明のときは 0.0.0.0)、
リモート peer の階層 (stratum)、
peer の種類
(ローカル、ユニキャスト、マルチキャスト、ブロードキャストのいずれか)、
最後のパケットを受信した時間、
秒単位のポーリング間隔、
8 進数表記の到達可能性レジスタ
そして、その peer に関する
(全て秒単位で)
現在の遅延の推定値、ずれ (offset)、ばらつき (dispersion) を含んでいます。
-.PP
+.Pp
左端の文字は、時計選択処理におけるこの peer の運命を示します。
コードの意味は以下です:
<sp> 階層が高いか、または妥当性のチェックにより捨てられたもの;
-\*(L"x\*(R" 交差アルゴリスムにより指示された誤りのチェッカ (falsticker);
-\*(L".\*(R" 候補リストの最後から間引かれたもの;
-\*(L"-\*(R" クラスタリングアルゴリスムにより捨てられたもの;
-\*(L"+\*(R" 最終の選択セットに含まれたもの;
-\*(L"#\*(R" 同期用に選択されたが隔たりが最大値を越えるもの;
-\*(L"*\*(R" 同期用に選択されたもの;
-\*(L"o\*(R" 同期用に選択され pps シグナル使用中のもの。
-.PP
-.B peers
+.Qq x
+交差アルゴリスムにより指示された誤りのチェッカ (falsticker);
+.Qq .
+候補リストの最後から間引かれたもの;
+.Qq -
+クラスタリングアルゴリスムにより捨てられたもの;
+.Qq +
+最終の選択セットに含まれたもの;
+.Qq #
+同期用に選択されたが隔たりが最大値を越えるもの;
+.Qq *
+同期用に選択されたもの;
+.Qq o
+同期用に選択され pps シグナル使用中のもの。
+.Em peers
コマンドは、得られた応答の中の値を解析できるかどうかに依るため、
データ形式の制御が貧弱なサーバでは、時々動作に失敗するかも
しれません。
-.PP
+.Pp
ホストフィールドの内容は、次の四つの型のうちの一つになります。
ホスト名、
IP アドレス、
参照時計 (reference clock) の実装名とパラメタ、
-\*(L"REFCLK(<実装番号>, <パラメータ>)\*(R" のいずれかです。
-\*(L"hostnames no\*(R" が設定されているときには、
-IP アドレスだけが表示されます。
-.PP
-.B lpeers
-.PP
-.B peers
+.Qq REFCLK(<実装番号>, <パラメータ>)
+のいずれかです。
+.Qq hostnames no
+が設定されているときには、IP アドレスだけが表示されます。
+.It lpeers
+.Em peers
と似ていますが、
サーバが状態を保持しているすべてのアソシエーションの概要を出力します。
これは fuzzball サーバの、より長い peer のリストを生成することがあります。
-.PP
-.B opeers
-.PP
-古い型の \*(L"peers\*(R" コマンドで、
+.It opeers
+古い型の
+.Em peers
+コマンドで、
参照 ID がローカルのインタフェースアドレスになります。
-.SH 歴史
-.PP
+.El
+.Sh 歴史
Toronto 大学の Dennis Ferguson によって書かれました。
-.SH バグ
-.PP
-.B peers
+.Sh バグ
+.Em peers
コマンドは不可分 (atomic) ではないため、
不正なアソシエーションという誤ったエラーメッセージが発生し
コマンドが終了することがあります。
-.PP
+.Pp
時間切れまでの時間は固定された定数です。
これは、ある種の最悪の場合を考えてあるため、
時間切れになるまで長時間待たされることになります。
このプログラムは、
特定のホストへ何回も問い合わせを送る間に
制限時間の見積もりを改善すべきですが、
実際には行なっていません。
diff --git a/ja/man/man8/ntptrace.8 b/ja/man/man8/ntptrace.8
index 3c373f727e..ad642bc9c5 100644
--- a/ja/man/man8/ntptrace.8
+++ b/ja/man/man8/ntptrace.8
@@ -1,108 +1,71 @@
-''' $Header
-'''
+.\"
+.\" %Id: ntptrace.8,v 1.2 1998/02/19 08:05:40 charnier Exp %
.\" jpman %Id: ntptrace.8,v 1.3 1997/09/12 02:34:26 seki Stab %
-.de Sh
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH NTPTRACE 8 LOCAL
-.SH 名称
-ntptrace - NTP ホスト連鎖をたどりマスタ時刻ソースまで追跡する
-.SH 書式
-.B ntptrace
-[
-.B -vdn
-] [
-.B -r
-.I retries
-] [
-.B -t
-.I timeout
-] [
-.I server
-]
-.SH 解説
-.I ntptrace
+.\"
+.Dd December 21, 1993
+.Dt NTPTRACE 8
+.Os
+.Sh 名称
+.Nm ntptrace
+.Nd "NTP ホスト連鎖をたどりマスタ時刻ソースまで追跡する"
+.Sh 書式
+.Nm ntptrace
+.Op Fl vdn
+.Op Fl r Ar retries
+.Op Fl t Ar timeout
+.Op Ar server
+.Sh 解説
+.Nm ntptrace
は、与えられた
ネットワークタイムプロトコル (NTP) サーバが
どこから時刻を取得するのかを決定し、
NTP サーバの連鎖をたどってマスタ時刻ソースまで戻ります。
-引数が与えられなかったときは、 ``localhost'' から始めます。
-.PP
+引数が与えられなかったときは、
+.Dq localhost
+から始めます。
+.Pp
以下は、
-.I ntptrace
+.Nm
の出力の例です。
-.RS 2
-.nf
-
+.Bd -literal
% ntptrace
localhost: stratum 4, offset 0.0019529, synch distance 0.144135
server2.bozo.com: stratum 2, offset 0.0124263, synch distance 0.115784
-usndh.edu: stratum 1, offset 0.0019298, synch distance 0.011993, refid 'WWVB'
-
-.fi
-.RE
-各行のフィールドは (左から右へ):
+h.edu: stratum 1, offset 0.0019298, synch distance 0.011993, refid 'WWVB'
+.Ed
+.Pp
+各行のフィールドは (左から右へ) 次のようになります:
ホスト名、ホストの階層 (stratum)、
そのホストとローカルホストの間の時刻のずれ (offset)
(
-.I ntptrace
-によって測定されたもの; これが ``localhost'' に対して
-いつも 0 になるとは限らない理由です) 、
-ホストの ``同期距離'' (synch distance)、
-そして、(階層が 1 のサーバのみですが) 参照時計 ID。
+.Nm
+によって測定されたもの;
+これが
+.Dq localhost
+に対していつも 0 になるとは限らない理由です )、
+ホストの
+.Dq 同期距離
+(synchronization distance)、
+そして (階層が 1 のサーバのみですが)、参照時計 ID 。
すべての時間は秒単位です。
-(同期距離というのは、時計の時刻の良さの測度です。)
-.SH オプション
-.IP "\-d" 5
+(同期距離とは、時計の時刻の精度を測ったものです。)
+.Sh オプション
+以下のオプションが使えます。
+.Bl -tag -width indent
+.It Fl d
デバッグ出力をオンにします。
-.IP "\-n" 5
-ホスト名の印刷をオフにします; 代わりに、ホストの IP アドレスが
-使われます。これは、ネームサーバが落ちているときに必要になるかも
-しれません。
-.IP "\-r retries" 5
-各ホストに対する再送信の回数をセットします。デフォルト = 5。
-.IP "\-t timeout" 5
-再送信の制限時間 (秒単位) をセットします。デフォルト = 2。
-.IP "\-v" 5
-NTP サーバについての詳細な情報を出力します。
-.SH 関連項目
-xntpd(8), xntpdc(8)
-.SH バグ
-このプログラムは、複数の標本を取って正確さを増すような試みをしません。
+.It Fl n
+ホスト名の表示をオフにします; 代わりに、ホストの IP アドレスが
+表示されます。これは、ネームサーバが落ちているときに必要になるでしょう。
+.It Fl r Ar retries
+ホスト毎の再送信の回数をセットします。デフォルトは 5 です。
+.It Fl t Ar timeout
+再送信のタイムアウト (秒単位) をセットします。デフォルト は 2 です。
+.It Fl v
+NTP サーバに関する詳細な情報を出力します。
+.El
+.Sh 関連項目
+.Xr xntpd 8 ,
+.Xr xntpdc 8
+.Sh バグ
+このプログラムは、複数の標本を取って精度を高めるような試みをしません。
diff --git a/ja/man/man8/pccardd.8 b/ja/man/man8/pccardd.8
index e3fc8ee954..e4f6ebd273 100644
--- a/ja/man/man8/pccardd.8
+++ b/ja/man/man8/pccardd.8
@@ -1,154 +1,154 @@
.\"
.\" Copyright (c) 1994 Andrew McRae. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: pccardd.8,v 1.4.2.4 1998/04/18 23:28:50 nate Exp %
+.\" %Id: pccardd.8,v 1.10 1998/03/23 08:25:40 charnier Exp %
.\" jpman %Id: pccardd.8,v 1.4 1997/07/26 22:04:06 horikawa Stab %
.\"
.Dd November 1, 1994
.Dt PCCARD 8
.Os FreeBSD
.Sh 名称
.Nm pccardd
.Nd PC-CARD (PCMCIA) 管理デーモン
.Sh 書式
.Nm pccardd
.Op Fl d
.Op Fl v
.Op Fl f Ar configfile
.Sh 解説
.Nm
は、普通ブート時に始動され、 PC-CARD カードの抜き差しを管理します。
.Pp
実行されると、
.Nm
は (デフォルト名が
.Pa /etc/pccard.conf
の) 設定ファイルを読み込み、カードのために利用可能な PC-CARD スロット
をスキャンします。
.Nm
は、その後、例えば新しいカードの挿入やカードの取り外しのような、
.Em "カードイベント"
を待ちます。
.Pp
カードが挿入された時、以下のような動作が行われます。
.Bl -enum
.It
カーネルドライバはカードの挿入を検出し、カードに電源を供給します。
.It
.Nm
は、
.Em CIS
データをカードの属性メモリから読み込み、製造者名とカードの
バージョンを設定ファイルのカード記述と照合します。
.It
マッチするものが見付かると、ドライバが割り当てられます。
.It
ひとたび自由なドライバとデバイス実体が割り当てられると、
.Nm
は (必要であれば) ISA メモリブロックや入出力ポートのような資源を
共通の資源から割り当てます。
.It
PC-CARD スロットは、割り当てられた I/O とメモリコンテキストによって
設定され、カーネルドライバがカードに割り当てられます。
.It
割当が成功すると、例えばネットワークインタフェースを設定するための
.Xr ifconfig 8
等のような
特定のシェルコマンドがデバイスを設定するために実行されます。
それぞれ別々のコマンドを各カード・ドライバ・デバイスのために指定して良く、
その順序で実行されます。
.El
.Pp
.Nm
がカードの除去を発見した時には、以下の一連の操作が実行されます。
.Bl -enum
.It
カード除去に対して割り当てられたシェルコマンドが実行されます。
これは、除去されたカードに割り当てられたどんなデバイスも
リセットしようとします。
それぞれ別々のコマンドを各カード・ドライバ・デバイスのために指定して良いです。
.It
PC-CARD スロット資源は解放されます。
.El
.Pp
ひとたびカード/ドライバ実体が設定されると、
その実体に割り当てた資源を憶えておきます。
そして、カードが取り外され再び挿入された場合、
同じドライバを割り当てます。この主な理由は、一度ドライバがカードに
割り当てられると、ドライバの
.Fn 検査 (prove)
ルーチンが呼ばれ、
ドライバ固有のデータ領域は
カードに割り当てられた I/O ポートやメモリ資源によって初期化されるからです。
大多数のドライバは、ハードウエアから関連を解消されたり、その後で再び
違うパラメータで再割当されるように設計されていません。
これは、読み込み可能カーネルモジュールがサポートされた時に大きく変わ
るでしょう。
.Pp
.Nm
が理解する実行時オプションは以下の通りです。
.Bl -tag -width Ds
.It Fl d
デーモンとして実行せず、フォアグランドジョブとして実行し、
エラーメッセージを表示します。
.It Fl v
設定ファイルを読み込んだ後で、そのまとめを出力します。
.It Fl f Ar configfile
デフォルト設定ファイル
.Pa /etc/pccard.conf
とは異なった設定ファイルを指定します。
ファイルの形式は、
.Xr card.conf 5
に詳細に記述されていますし、
.Nm
によって認識される PC-CARD カードがリストされています。
また、カードへのインタフェースとして使われるカーネルドライバと
デバイスについても詳細に書かれています。
.Pp
.Sh 関連ファイル
.Bl -tag -width /etc/pccard.conf -compact
.It Pa /etc/pccard.conf
.El
.Sh 関連項目
.Xr pccard.conf 5 ,
.Xr ifconfig 8
.Sh 作者
.An Andrew McRae Aq andrew@mega.com.au
によって開発されました。
.Sh バグ
.Nm
はカードのパラメータを設定することができますが、
特定のドライバがカードと動作することを保証しません。
.Pp
.Nm FreeBSD
は、現在読み込み可能カーネルモジュールをサポートしていないため、
設定ファイル中のすべての
.Em irq
設定は、カーネルの
.Nm config
エントリにマッチする必要が有ります。
.Pp
システム資源 (例えばネットワークマウントされているファイルシステム) が
カードに関連している場合は、カードを取り外すと問題が起こるかも知れません。
diff --git a/ja/man/man8/pciconf.8 b/ja/man/man8/pciconf.8
index a19c2a0779..449a6e9e3a 100644
--- a/ja/man/man8/pciconf.8
+++ b/ja/man/man8/pciconf.8
@@ -1,186 +1,186 @@
-.\" %Id: pciconf.8,v 1.3.2.2 1998/03/07 11:35:48 se Exp %
+.\" %Id: pciconf.8,v 1.3 1997/10/06 11:38:29 charnier Exp %
.\" Copyright (c) 1997
.\" Stefan Esser <se@freebsd.org>. 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.
.\"
.Dd February 7, 1997
.Dt PCICONF 8
.Os FreeBSD
.Sh 名称
.Nm pciconf
.Nd PCI バスのための診断ユーティリティ
.Sh 書式
.Nm pciconf Fl l
.Nm pciconf Fl a Ar selector
.Nm pciconf Fl r Ar selector
.Op Fl b | Fl h
.Ar reg
.Nm pciconf Fl w Ar selector
.Op Fl b | Fl h
.Ar reg value
.Sh 解説
.Nm
コマンドは、
.Pa /dev/pci
.Xr ioctl 2
インタフェースにより提供されている機能への
コマンドラインインタフェースを提供します。
.Fl l
オプションを付けると、ブート時のプローブにより見つかったすべてのデバイスを
以下の書式で表示します:
.Bd -literal
pci0:4:0: class=0x010000 card=0x00000000 chip=0x000f1000 rev=0x01 hdr=0x00
pci0:5:0: class=0x000100 card=0x00000000 chip=0x88c15333 rev=0x00 hdr=0x00
pci0:6:0: class=0x020000 card=0x00000000 chip=0x802910ec rev=0x00 hdr=0x00
.Ed
.Pp
最初の欄は、このコマンドの他の書式で直接使えるような形で
.Ar セレクタ
を表示します。
2 番目の欄はクラスコードで、2 桁の 16 進数で表されるクラスバイトと
サブクラスバイト、インタフェースバイトからなります。
3 番目の欄は
.Tn PCI
規格のリビジョン 2.1 で導入されたサブベンダ ID レジスタの内容です。
今日のほとんどの
.Tn PCI
カード (2.0) ではこれは 0 となりますが、新しく開発された
.Tn PCI
カードではそのカード固有の識別コード (unique card identification
code) が入れられます。この値は上位 2 バイトのカード ID と、
下位 2 バイトのカードベンダ ID から構成されます。
.Pp
4 番目の欄にはこのカードがどのチップに基づいているか識別する
チップデバイス ID が含まれます。この値は上記と同様に二つの
フィールドに分けられ、チップとベンダを識別します。
5 番目の欄はチップのリビジョンを表示します。
6 番目の欄はヘッダタイプを示します。
現在割り当てられているヘッダタイプは
.Tn PCI
-
.Tn PCI
ブリッジのチップが 1 となる以外はすべて 0 となります。
ヘッダタイプレジスタが 0 となっている
.Tn PCI
デバイスの最上位ビットがセットされていると、そのデバイスは
.Em 多機能 (multi-function)
デバイスであり、ひとつのチップにいくつかの (似たものかもしれないし、
まったく異なるものかもしれない) 機能を備えています。
.Pp
.Fl l
オプションは root ではないユーザが使うことのできる唯一のものです。
.Nm
を他の方法で実行するには
.Li pci Ns Va bus Ns \&: Ns Va device
(オプションで
.Li \&: Ns Va function
が続きます) という形式で
.Ar セレクタ
を指定する必要があります。
最後にコロンを付けても構いませんが無視されますので、
.Nm
.Fl l
の出力の最初の欄をそのまま使うことができます。
すべての番号は 10 進数で表します。
.Pp
.Fl a
フラグを付けると、
.Ar selector
で識別したデバイスになんらかのドライバが割り当てられているかを、
.Nm
は判定します。
終了状態 0 はデバイスがドライバを持つことを意味します;
非 0 はデバイスがドライバを持たないことを意味します。
.Pp
.Fl r
オプションはデバイス
.Ar selector
のバイトオフセット
.Ar reg
の所のコンフィギュレーションスペースレジスタ
(configuration space register) を読み取り、
その値を 16 進数で表示します。
.Fl w
オプションはデバイス
.Ar selector
のバイトオフセット
.Ar reg
の所のコンフィギュレーションスペースレジスタへ
.Ar value
を書き込みます。
この二つのオプションでは、
.Fl b
フラグと
.Fl h
フラグで読み書きの大きさを指定できます。
.Fl b
は 1 バイトの読み書きを行い、
.Fl h
は 2 バイト (halfword) の読み書きを行います。
読み書きの大きさのデフォルトは 4 バイト (longword) です。
.Sh 関連項目
.Xr ioctl 2 ,
.\" .Xr pci 4 ,
.Xr modload 8
.Sh 歴史
.Nm
コマンドは
.Fx 2.2
で初めて登場しました。
.Fl a
オプションは
.Tn PCI
LKM サポートのために
.Fx 3.0
で追加されました。
.Sh 作者
.Nm
.An Stefan Esser
.An Garrett Wollman
によって書かれました。
.Sh バグ
.Fl b
オプションと
.Fl h
オプションは
.Nm
の内部で実装されており、
.Fn ioctl
に基づいているわけではありません。
.Pp
root ではないユーザが
.Fl a
オプションと
.Fl r
オプションを使うことを許可することは有用かもしれませんが、
LKM ドライバでデバイスを供給するために
.Nm modload
を実行できるのは root だけでしょうし、
一部の粗悪な
.Tn PCI
チップではコンフィギュレーションスペースレジスタの
読み込みが故障を引き起こす場合があるのです。
diff --git a/ja/man/man8/ping.8 b/ja/man/man8/ping.8
index 68f446751a..41d9f1f939 100644
--- a/ja/man/man8/ping.8
+++ b/ja/man/man8/ping.8
@@ -1,410 +1,417 @@
.\" 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
-.\" %Id: ping.8,v 1.3.2.7 1998/07/17 20:13:44 jkh Exp %
+.\" %Id: ping.8,v 1.16 1998/08/26 01:58:39 dillon Exp %
.\" jpman %Id: ping.8,v 1.3 1997/10/11 08:00:36 horikawa Stab %
.\"
.Dd March 1, 1997
.Dt PING 8
.Os BSD 4.3
.Sh 名称
.Nm ping
.Nd
.Tn ICMP ECHO_REQUEST
パケットをネットワーク上のホストへ送る
.Sh 書式
.Nm ping
.Op Fl QRadfnqrv
.Op Fl c Ar count
.Op Fl i Ar wait
.Op Fl l Ar preload
.Op Fl p Ar pattern
.Op Fl s Ar packetsize
.Bo
.Ar host |
.Op Fl L
.Op Fl I Ar interface
.Op Fl T Ar ttl
.Ar mcast-group
.Bc
.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
聴覚モード。パケットを受け取った時に、出力にベル
.Pq ASCII 0x07
文字を
含みます。このオプションは、別形式のオプションがある場合は無視されます。
.It Fl c Ar count
.Tn ECHO_RESPONSE
パケットを
.Ar count
回送出
.Pq そして受信
してから終了します。
+非 root ユーザは 100 パケットを越えて送出できませんし、
+デフォルト値が 16 となっています。
+root のデフォルトは無限です。
.It Fl d
使用する socket に
.Dv SO_DEBUG
オプションを設定します。
.It Fl f
.Tn ECHO_REQUEST
ping を垂れ流します。
パケットが返って来るとすぐ、もしくは 100 分の 1 秒に 1 回のいずれか多い回数だけ
パケットを出力します。
.Tn ECHO_REQUEST
パケットを送るたびに
.Dq \&.
が表示され、
.Tn ECHO_REPLY
パケットを受信するたびにバックスペースが表示されます。
+root のみこのオプションを指定できます。
これによりどれだけのパケットが欠落したのかをすばやく表示することができます。
スーパユーザのみ使用可能です
.Bf -emphasis
このオプションはネットワークに非常に負荷をかけるので、注意して使用する
必要があります。
.Ef
.It Fl i Ar wait
.Ar wait
で指定した秒数だけパケットの送出間隔を空けます。
-デフォルトでは送出間隔は 1 秒です。このオプションは
+デフォルトでは送出間隔は 1 秒です。
+より小さい値を指定できますが、1 より小さい値を指定できるのは root だけです。
+このオプションは
.Fl f
オプションとは同時に指定できません。
.It Fl I Ar interface
与えられたインタフェースアドレスに対して、マルチキャストパケットを
送ります。このフラグは、 ping の宛先アドレスがマルチキャストアドレスの
場合だけに適用できます。
.It Fl l Ar preload
指定した
.Ar preload
値だけ
.Tn ECHO_REQUEST
パケットを出来るだけ速く送信し、通常の動作に戻ります。
スーパユーザのみがこのオプションを使用できます。
.It Fl L
マルチキャストパケットのループバックを抑制します。
このフラグは、宛先アドレスがマルチキャストアドレスの場合だけ
適用できます。
.It Fl n
数値のみ出力します。ホストアドレスに対する名前を調べるようなことは
しません。
.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 をかけるのに用いられます
.Po
たとえばインタフェースが
.Xr routed 8
によってドロップされた後
.Pc
.It Fl s Ar packetsize
送出するデータのバイト数を指定します。
デフォルトでは 56 バイトです。
これは
.Tn ICMP
ヘッダデータの 8 バイトと合せて 64
.Tn ICMP
バイトになります。
+root のみこのオプションを指定できます。
.It Fl T Ar ttl
マルチキャストパケットの IP 寿命時間 (Time To Live) を設定します。
このオプションは、宛先アドレスがマルチキャストアドレスの場合だけ
適用できます。
.It Fl v
冗長出力を有効にします。
.Tn ECHO_RESPONSE
以外の受信
.Tn ICMP
パケットも表示されます。
.El
.Pp
問題の切り分けのために
.Nm
を用いるにはローカルインタフェースが up かつ running であることを
確認するため、まずローカルホスト上で実行します。
その後により遠くのホストやゲートウェイに
.Dq ping
します。
経路周回時間 (round trip time) と消失パケットの統計が計算されます。
重複したパケットが受信された場合、そのパケットは消失パケットの計算には
含まれませんが、経路周回時間の統計の計算には
使われます。
指定されたパケットの数が送信され
.Pq 受信され
たとき、もしくはプログラムが
.Dv SIGINT
で終了した場合、簡単な要約が表示されます。
要約は、送出したパケット数、受信したパケット数、そして
経路周回時間の最小/最大/平均/分散です。
.Pp
このプログラムは主にネットワークのテスト、計測、管理に用いられことを
想定しています。
.Nm
はそれ自体ネットワークに負荷をかけるので、トラブルのないときや自動スクリ
プトで用いることは勧められません。
.Sh ICMP パケットの詳細
オプションなしの IP ヘッダは 20 バイトです。
.Tn ICMP
.Tn ECHO_REQUEST
パケットはさらなる 8 バイトの
.Tn ICMP
ヘッダとそれに続く任意の大きさのデータからなっています。
この大きさは
.Ar packetsize
によって指定されます
.Pq デフォルトでは 56 バイトです
このように受信した IP パケット内の
.Tn ICMP
.Tn ECHO_REPLY
データ量は常に指定されたデータ
.Pq 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
フィールドを 60 にすべきだとなっていますが、多くのシステムは
もっと小さい値を用いています
.Po
.Bx 4.3
では 30、
.Bx 4.2
では 15 を用いています
.Pc
.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 を返します;
エラーが発生した場合は、他の値
.Pq Aq Pa 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/man/man8/pppctl.8 b/ja/man/man8/pppctl.8
index a587f43d24..95f90c73f1 100644
--- a/ja/man/man8/pppctl.8
+++ b/ja/man/man8/pppctl.8
@@ -1,200 +1,200 @@
-.\" %Id: pppctl.8,v 1.1.2.5 1998/07/18 11:11:56 jkh Exp %
+.\" %Id: pppctl.8,v 1.10 1998/05/13 07:57:44 phk Exp %
.Dd 26 June 1997
.Os FreeBSD
.Dt PPPCTL 8
.Sh 名称
.Nm pppctl
.Nd
PPP 制御プログラム
.Sh 書式
.Nm
.Op Fl v
.Op Fl t Ar n
.Op Fl p Ar passwd
.Ar [host:]Port | LocalSocket
.Op command[;command]...
.Sh 解説
このプログラムは
.Xr ppp 8
デーモンのコマンドラインからの制御手段を提供します。
基本的な使い方は、実行中のデーモンを制御する単純なスクリプトを
簡単に書けるようにすることです。
.Pp
.Nm ppp
デーモンが listen しているソケットをあらわす
少なくともひとつの引数を必要とします。
詳細については、
.Nm ppp
コマンドの
.Sq set server
を参照して下さい。
ソケットが先頭に '/' を含んでいると、
.Dv AF_LOCAL
ソケットとして扱われます。
コロンを含んでいると
.Ar host:port
の組として扱われ、
それ以外は単にローカルマシン (127.0.0.1) の TCP ポートを
指定したものとみなされます。
DNS 検索を避けたい場合や、
.Pa /etc/services
内に指定されたポートのエントリがない場合には、
.Ar host
.Ar port
には数字で指定することができます。
.Pp
残りの引数はすべて、
.Nm ppp
デーモンに送られる (複数の)
.Ar コマンド
を形成するために連結されます。
セミコロン文字はコマンドデリミタとして扱われ、ひとつの
.Sq セッション
で複数の
.Ar コマンド
を指定することが可能です。
例えば:
.Bd -literal -offset indent
pppctl 3000 set timeout 300\\; show timeout
.Ed
.Pp
ほとんどのシェルでは ';' は特殊文字として扱われるので、
エスケープかクォートすることを忘れないようにしてください。
.Pp
もし、
.Ar コマンド
引数が与えられなかった場合、
.Nm
はインタラクティブモードになります。
ここで、コマンドは標準入力から読み込まれます。
コマンドを読んでいる時に、
.Xr editline 3
が使われていれば、(
.Xr editrc 5
で指定した振る舞いで)
行編集が可能になります。 履歴の大きさはデフォルトでは
.Em 20 行
です。
.Pp
以下のコマンドラインオプションが利用可能です:
.Bl -tag -width Ds
.It Fl v
.Nm ppp
デーモンに送られたデータ、
.Nm ppp
デーモンから受け取ったデータをすべて表示します。
.Nm
は通常、受け取った非プロンプト行のみ表示します。
このオプションはインタラクティブモードでは無視されます。
.It Fl t Ar n
接続時のデフォルトの 2 秒の代わりに
.Ar n
をタイムアウトの値として用います。
これは (ダイアルアップも含む) 遅いリンク上でデーモンを制御しようとする
場合に必要かもしれません。
.It Fl p Ar passwd
.Nm ppp
デーモンが必要とするパスワードを指定します。
このスイッチが指定されないと、
.Nm
.Nm ppp
への接続が成功した時にパスワードの入力を促します。
.El
.Pp
.Sh 使用例
.Nm ppp
.Fl auto
モードで実行する場合、
.Nm
は多くの仕事を自動化するのに利用できます
(もちろん、実際に
.Nm ppp
をインタラクティブモードを除くどんなモードでも制御することができます) 。
.Xr ps 1
によりあなたの秘密がもれてしまう可能性のために、
.Fl p
オプションは
(たとえスクリプトが他の人に読めないようになっていたとしても)
お勧めできません。
.Pp
.Nm
への簡単で安全なアクセスを提供するもっとも良い方法は、
.Pa /etc/ppp/ppp.conf
(の正しいセクション) に以下のようにローカルサーバソケットを作成することです:
.Bd -literal -offset indent
set server /var/run/internet "" 0177
.Ed
.Pp
これは、
.Nm ppp
を実行したユーザだけにアクセスできるように、
パスワード無しでパーミッションが srw------- の
ローカルドメインソケットを作成するように
.Nm ppp
に指示します。より詳しい解説はマニュアルページ
.Xr ppp 8
を参照してください。
.Pp
このようにするといくつかのお気楽スクリプトが作成可能になります。
インターネットに接続するには:
.Bd -literal -offset indent
#! /bin/sh
test $# -eq 0 && time=300 || time=$1
exec pppctl /var/run/internet set timeout $time\\; dial
.Ed
.Pp
切断するには:
.Bd -literal -offset indent
#! /bin/sh
exec pppctl /var/run/internet set timeout 300\\; close
.Ed
.Pp
接続されているかどうか確かめるには:
.Bd -literal -offset indent
#! /bin/sh
pppctl -p '' -v /var/run/internet quit | grep ^PPP >/dev/null
if [ $? -eq 0 ]; then
echo Link is up
else
echo Link is down
fi
.Ed
.Pp
このような汎用スクリプトも作成可能です:
.Bd -literal -offset indent
#! /bin/sh
exec pppctl /var/run/internet "$@"
.Ed
.Pp
.Sh 環境変数
以下の環境変数が、インタラクティブモード中の
.Nm
によって理解されます:
.Bl -tag -width XXXXXXXXXX
.It Dv EL_SIZE
履歴行の数です。デフォルトでは 20 です。
.It Dv EL_EDITOR
編集モードです。 "emacs" もしくは "vi" だけが受け付けられます。
他の値は無視します。この環境変数は
.Pa ~/.editrc
.Ar bind -v
.Ar bind -e
で上書きされます。
.El
.Pp
.Sh 関連項目
.Xr editline 3 ,
.Xr editrc 5 ,
.Xr ppp 8 ,
.Xr ps 1 ,
.Xr services 5
.Sh 歴史
.Nm
コマンドは FreeBSD 2.2.5 で最初に登場しました。
diff --git a/ja/man/man8/pppd.8 b/ja/man/man8/pppd.8
index 6042934a08..353e8d1e42 100644
--- a/ja/man/man8/pppd.8
+++ b/ja/man/man8/pppd.8
@@ -1,1282 +1,1282 @@
.\" manual page [] for pppd 2.3
-.\" %Id: pppd.8,v 1.7.2.3 1998/06/23 21:41:46 peter Exp %
+.\" %Id: pppd.8,v 1.18 1998/06/20 18:02:14 peter Exp %
.\" jpman %Id: pppd.8,v 1.2 1997/05/27 00:43:48 mutoh Stab %
.\" SH section heading
.\" SS subsection heading
.\" LP paragraph
.\" IP indented paragraph
.\" TP hanging label
.TH PPPD 8
.SH 名称
pppd \- PPP (Point to Point Protocol) を処理するデーモン
.SH 書式
.B pppd
[
.I tty_name
] [
.I speed
] [
.I options
]
.SH 解説
.LP
Point-to-Point プロトコル (PPP) は、シリアル回線上に確立された
Point-to-Point リンクを介したデータグラムの送受方法を提供します。
PPP は、データグラムのカプセル化方式、拡張可能なリンク制御プロトコル (LCP)、
そして異なるネットワーク層プロトコルの設定と接続の確立を行う
一群のネットワーク制御プロトコル (NCP) の 3 つの部分から構成されています。
.LP
カプセル化体系は、カーネル内のドライバコードにより提供されています。
pppd
は、基本的な LCP 機能、認証機能、そしてインターネットプロトコル (IP)
接続の確立と設定を行う
NCP (IP 制御プロトコル (IPCP) と呼ばれています) を提供します。
.SH よく使われるオプション
.TP
.I <tty_name>
指定したデバイスを介して通信します。
もし必要であれば、前に "/dev/" 文字列が追加されます。
デバイス名が指定されていない場合や
標準入力に接続された端末の名前が与えられた場合には、
pppd
はその端末を使用し、
バックグラウンド実行のための fork を行いません。
\fInoauth\fR オプションが使用された場合、
このオプションは特権オプションとなります。
.TP
.I <speed>
ボーレートを <speed> に設定します (10 進数)。
4.4BSD や NetBSD といったシステムでは、
シリアルデバイスドライバがサポートする任意の速度を指定可能です。
その他のシステム (SunOS, Linux 等) では一定の組合せのみが指定可能です。
.TP
.B active-filter \fIfilter-expression
データパケットに適用されるパケットフィルタであり、
どのパケットをリンクアクティビティとみなすかを決定するパケットフィルタを
指定します。
リンクアクティビティとみなされると、アイドルタイマがリセットされるか、
デマンドダイアルモード時にはリンクがアップされます。
(例えば経路情報パケット等) 定常的にリンク上でパケット送受信が行われ、
他の方法ではリンクがアイドルであるとはみなされない場合に、
このオプションを \fBidle\fR オプションとともに使用すると便利です。
\fIfilter-expression\fR の文法は tcpdump(1) と同じですが、
限定子は PPP では不適当ですので、\fBether\fR や \fBarp\fR は使用できません。
一般的には、フィルタ式をシングルクォートで括って、
式中の空白がシェルに解釈されることを避けるべきです。
カーネル及び pppd が PPP_FILTER を定義してコンパイルされた場合のみ、
このオプションを利用可能です。
.TP
.B asyncmap \fI<map>
非同期文字マップを <map> に設定します。
このマップは、シリアル回線を経由するとどの制御文字の受信が
うまくいかなくなるかを記述するものです。
pppd
は、これらの文字を 2 バイトのエスケープシーケンスとして送信するよう、
相手側に依頼します。
引数は 32 ビットの 16 進数であり、各ビットがエスケープすべき文字を
表しています。
ビット 0 (00000001) は文字 0x00 を表し、
ビット 31 (80000000) は、文字 0x1f つまり '^_' を表しています。
複数の \fIasyncmap\fR オプションが与えられた場合、それらの値の論理和が
採用されます。
\fIasyncmap\fR オプションが与えられなかった場合には、このホストが受信側となる
非同期文字マップは設定されません。
相手側は\fIすべての\fR制御文字をエスケープして送信します。
送信文字をエスケープするには、\fIescape\fR オプションを使用します。
.TP
.B auth
ネットワークパケットの送受信を許可する前に、相手側に自分証明を
行うよう要求します。
.TP
.B call \fIname
ファイル /etc/ppp/peers/\fIname\fR からオプションを読みます。
pppd が root 以外によって起動された場合においても、
このファイルに \fInoauth\fR のような特権オプションを含んでもかまいません。
文字列 \fIname\fR は / で開始してはなりませんし、
パス名の一部に .. を含んではなりません。
オプションファイルのフォーマットは後述します。
.TP
.B connect \fIscript
\fIscript\fR で指定された実行可能コマンドまたはシェルコマンドを使用して、
シリアル回線のセットアップを行います。
ほとんどの場合、ここで指定されるスクリプトには chat(8) プログラムを使用し、
モデムにダイアルコマンドを送ったり、リモート ppp セッションを開始したりします。
\fInoauth\fR オプションが使用された場合、
このオプションは特権オプションとなります。
.TP
.B connect-max-attempts \fI<n>
指定した時間 (デフォルトでは 1) を越えてリモートシステムとの
ダイアル接続を保持しません。接続ができない場合は、
pppd は終了します。 \fBpersist\fR を指定することが要求されます。
.TP
.B crtscts
シリアルポートのフロー制御にハードウェアフロー制御 (RTS/CTS) を用います。
\fIcrtscts\fR か \fInocrtscts\fR の両方のオプションが与えられない時、
シリアルポートのハードウェアフロー制御の設定は変更されずに
そのままになります。
.TP
.B defaultroute
IPCP 交渉が成功すると、相手側をゲートウェイとする
デフォルト経路をシステムの経路テーブルに追加します。
このオプションにより追加されたデフォルト経路エントリは、
PPP 接続が切断された際に削除されます。
\fInodefaultroute\fR オプションが指定された場合には、
このオプションは特権オプションとなります。
.TP
.B disconnect \fIscript
pppd が接続を切った後に \fIscript\fR で指定した実行可能コマンドまたは
シェルコマンドを実行します。
このスクリプトで、例えばハードウェアモデム制御信号 (DTR) が使えない場合に
モデムをハングアップすることができます。
モデムが既にハングアップしている場合には、この切断スクリプトは実行されません。
\fInoauth\fR オプションが使用された場合には、
このオプションは特権オプションです。
.TP
.B escape \fIxx,yy,...
転送時にエスケープを行うべき文字を指定します (相手側が
非同期文字マップでエスケープを要求しているかどうかには影響されません)。
エスケープされる文字は、コンマで区切られた 16 進数で指定します。
制御文字しか指定できない \fIasyncmap\fR オプション
とは異なり、\fIescape\fR オプションではどんな文字でも指定できる
ことに注意してください。
ただし 16 進表記で 0x20 から 0x3f までと 0x5e の文字は
エスケープしてはなりません。
.TP
.B file \fIname
オプションをファイル \fIname\fR から読み込みます (フォーマットは後述します)。
このファイルは、pppd を起動したユーザが読むことが可能である必要があります。
.TP
.B lock
シリアルデバイスに対する排他アクセスを確実に行うために、
UUCP 形式のロックファイルを作成するよう pppd に指示します。
.TP
.B mru \fIn
交渉時の MRU [最大受信単位; Maximum Receive Unit]
値を \fIn\fR に設定します。
pppd
は、通信相手に \fIn\fR バイトを超えるパケットを送信しないよう要求します。
最小の MRU 値は、128 です。
デフォルトの MRU 値は 1500 です。低速のリンクでは 296 を推奨します
(TCP/IP ヘッダ 40 バイト + データ 256 バイト)。
.TP
.B mtu \fIn
MTU [最大転送単位; Maximum Transmit Unit] 値を \fIn\fR に設定します。
相手が MRU 交渉を通じてこれより小さい値を要求してこない限り、
PPP ネットワークインタフェースを通して \fIn\fR バイトを
越えないデータパケットを送ることを、
pppd はカーネルのネットワークコードに要求します。
.TP
.B passive
LCP で "passive" オプションを有効にします。このオプションを指定した場合には、
接続を開始しようとしても相手からの返答がない場合、
pppd
は相手から有効な LCP パケットが到着するのを受動的に待ち続けます。
このオプションを指定しなければ、相手からの返答がない場合に
pppd
は実行を中断します。
.SH オプション
.TP
.I <local_IP_address>\fB:\fI<remote_IP_address>
ローカルインタフェースとリモートインタフェースの IP アドレスを設定します。
どちらか片方を省略することも可能です。IP アドレスは、ホスト名もしくは
10 進数ドット表現 (例: 150.234.56.78) のどちらでも指定可能です。
デフォルトのローカルアドレスは、そのシステムの (最初の) IP アドレスと
なります。(ただし
\fInoipdefault\fR
オプションが指定された場合を除きます。) リモートアドレスは、
オプションで指定されていない場合には相手側から取得されます。
ですから、もっとも単純な指定を行う場合には、このオプションは不必要です。
ローカルまたはリモートの IP アドレスがこのオプションで指定されている場合には、
pppd
は IPCP 交渉で相手側がこの指定と異なるアドレスを送って来た場合
これを拒否します。ただし、
\fIipcp-accept-local\fR
\fIipcp-accept-remote\fR
が指定されている場合にはこの限りではありません。
.TP
.B bsdcomp \fInr,nt
接続相手に、BSD-Compress 方式を使った送出時のパケット圧縮を要求します。
ここでの最大コードサイズは \fInr\fR ビットです。
相手側が送るパケットの最大の大きさは、 \fInt\fR ビットです。
\fInt\fR が指定されない時は、デフォルトの \fInr\fR が使われます。
9 から 15 の範囲の値が、 \fInr\fR と \fInt\fR で使われます。
より大きな値は、よりよい圧縮となりますが、圧縮辞書のためにより多くの
カーネルメモリを消費します。\fInr\fR や \fInt\fR に対して、値 0 を
指定すると、指定した方向には圧縮を行いません。
BSD-Compress 圧縮を完全に無効にするためには、
\fInobsdcomp\fR か \fIbsdcomp 0\fR を指定してください。
.TP
.B chap-interval \fIn
このオプションが指定された場合、
pppd
は \fIn\fR 秒おきに再チャレンジします。
.TP
.B chap-max-challenge \fIn
CHAP チャレンジの最大送信回数を \fIn\fR に設定します (デフォルト値は 10)。
.TP
.B chap-restart \fIn
(チャレンジの再送のタイムアウトによる)
CHAP 再開の間隔を \fIn\fR 秒に設定します
(デフォルト値は 3)。
.TP
.B debug
接続のデバッグ機能を有効にします。
このオプションを指定した場合、pppd は送受信した
すべての制御パケットの内容を可読形式でログします。
パケットは syslog を経由して、\fIdaemon\fR ファシリティの
\fIdebug\fR レベルとして記録されます。
本情報は、/etc/syslog.conf を適切に記述することで
ファイルに記録することができます (syslog.conf(5) 参照)。
.TP
.B default-asyncmap
asyncmap 交渉を無効にし、
送受信両方向にて全制御文字をエスケープさせます。
.TP
.B default-mru
MRU [最大受信単位; Maximum Receive Unit] 交渉を無効にします。
このオプションを指定すると、送受信両方向において、
pppd はデフォルトの MRU 値 1500 バイトを使用します。
.TP
.B deflate \fInr,nt
接続相手に、Deflate 方式を使った送出時のパケット圧縮を要求します。
ここで最大のウィンドウサイズは \fI2**nr\fR バイトです。
また、相手に送るパケットを最大ウィンドウサイズ \fI2**nt\fR バイトにて圧縮
することを合意します。
\fInt\fR が指定されないと、デフォルトの \fInr\fR の値となります。
\fInr\fR と \fInt\fR には 8 から 15 までの範囲の値が許されます。
より大きな値は、よりよい圧縮となりますが、圧縮辞書のためにより多くの
カーネルメモリを消費します。
\fInr\fR や \fInt\fR に対して、値 0 を
指定すると、指定した方向には圧縮を行いません。
Deflate 圧縮を完全に無効にするためには、
\fInodeflate\fR か \fIdeflate 0\fR を指定してください。
(注: 相手が両方とも可能な場合には、
pppd は BSD-Compress よりも Deflate 圧縮を好んで要求します。)
.TP
.B demand
リンクの開始を要求時のみ、つまりデータトラフィックが存在する時のみ行います。
このオプションを指定する場合、リモート IP アドレスを、
ユーザがコマンドラインで指定するか、オプションファイル中に含む必要があります。
pppd は、相手に接続することなく、
まずインタフェースを設定して IP トラフィックに備えます。
トラフィックが現れると、pppd は相手へ接続し、
交渉や認証などを行います。
これが完了すると、pppd はリンクを介してデータパケット (すなわち IP パケット)
の授受を開始します。
\fIdemand\fR オプションは暗黙的に \fIpersist\fR オプションを指定します。
この動作が望ましくない場合、\fIdemand\fR オプションの後に
\fInopersist\fR オプションを使用してください。
\fIidle\fR および \fIholdoff\fR のオプションもまた、
\fIdemand\fR オプションとともに使用すると便利です。
.TP
.B domain \fId
認証のために使用するローカルホスト名にドメイン名 \fId\fR を付加します。
例えば、完全な形でのドメイン名 (FQDN) が porsche.Quotron.COM であって、
gethostname() が porsche という名前を返す場合には、
このオプションを用いてドメイン名を \fIQuotron.COM\fR と指定します。
そうすると、pppd は \fIporsche.Quotron.COM\fR を
秘密情報ファイルの中の秘密情報を調べるために使用したり、
相手に対して自己証明するために送るデフォルトの名前として使用します。
このオプションは特権オプションです。
.TP
.B holdoff \fIn
リンク切断から再初期化まで何秒待つかを指定します。
\fIpersist\fR または \fIdemand\fR オプション使用時にのみ、
このオプションは有効です。
アイドルであったためにリンクが切断された場合は、
この抑止期間は適用されません。
.TP
.B idle \fIn
リンクが \fIn\fR 秒アイドルだった場合に接続を切るように pppd に指定します。
データパケット (つまり IP パケット)が送受信されない時に、
リンクはアイドルだとみなされます。
注: \fIdemand\fR オプションを使用せずに
\fIpersist\fR オプションを使用する場合に、このオプションを使うことを勧めます。
\fBactive-filter\fR オプションが与えられると、
指定したアクティビティフィルタが受理しなかったデータパケットもまた、
リンクがアイドルであるとみなす対象とします。
.TP
.B ipcp-accept-local
このオプションが指定された場合には、
別のオプションによってローカル IP アドレスの指定が行われている場合でも、
pppd
は相手からのローカル IP アドレスの指定を受け入れます。
.TP
.B ipcp-accept-remote
このオプションが指定された場合には、
別のオプションによってリモート IP アドレスの指定が行われている場合でも、
pppd
は相手からのリモート IP アドレスの指定を受け入れます。
.TP
.B ipcp-max-configure \fIn
IPCP configure-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 10)。
.TP
.B ipcp-max-failure \fIn
IPCP configure-Reject を送信開始するまでの IPCP configure-NAK の最大応答回数を
\fIn\fR 回に設定します (デフォルト値は 10)。
.TP
.B ipcp-max-terminate \fIn
IPCP terminate-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 3)。
.TP
.B ipcp-restart \fI<n>
(再送のタイムアウトによる) IPCP 再開の間隔を \fIn\fR 秒に設定します。
(デフォルト値は 3)。
.TP
.B ipparam \fIstring
ip-up と ip-down スクリプト用に余分のパラメータを指定します。
このオプションが与えられた場合、 \fIstring\fR が 6 番目のパラメータと
して、これらのスクリプトに与えられます。
.TP
.B ipx
IPXCP および IPX プロトコルを有効にします。
このオプションは現在 Linux でのみ、
IPX サポートを含めてカーネルを構成した場合のみサポートされています。
.TP
.B ipx-network \fIn
IPXCP 設定要求フレーム中の IPX ネットワーク番号を \fIn\fR に設定します。
16 進数 (先頭の 0x を除いて) を指定します。
正当なデフォルト値はありません。
このオプションが指定されないと、ネットワーク番号は相手から獲得します。
相手がネットワーク番号を持っていない場合は、IPX プロトコルは開始されません。
.TP
.B ipx-node \fIn\fB:\fIm
IPX ノード番号を設定します。
2 つのノード番号をコロンで区切ります。
最初の番号 \fIn\fR はローカルのノード番号です。
次の番号 \fIm\fR は相手のノード番号です。
どちらのノード番号も 16 進数であり、最大 10 桁です。
ipx-network のノード番号は一意である必要があります。
正当なデフォルト値はありません。
このオプションが指定されないと、ノード番号は相手から獲得します。
.TP
.B ipx-router-name \fI<string>
ルータ名を設定します。
これは文字列であり、情報データとして相手に送られます。
.TP
.B ipx-routing \fIn
受信する経路プロトコルをこのオプションで指定します。
複数の \fIipx-routing\fR インスタンスを指定可能です。'\fInone\fR' オプション
(0) のみ、ipx-routing インスタンスとして指定可能です。
値は、\fI0\fR が \fINONE\fR に、\fI2\fR が \fIRIP/SAP\fR に、
\fI4\fR が \fINLSP\fR に対応します。
.TP
.B ipxcp-accept-local
ipx-node オプションで指定したノード番号に対する、相手の NAK を受け付けます。
非ゼロのノード番号が指定された場合、
この値の使用を主張することがデフォルトです。
このオプションを指定すると、
相手がノード番号のエントリを上書きすることを許します。
.TP
.B ipxcp-accept-network
ipx-network オプションで指定したネットワーク番号に対する、
相手の NAK を受け付けます。
非ゼロのノード番号が指定された場合、
この値の使用を主張することがデフォルトです。
このオプションを指定すると、
相手がノード番号のエントリを上書きすることを許します。
.TP
.B ipxcp-accept-remote
設定要求フレーム中に指定される相手のネットワーク番号を使用します。
相手のノード番号を指定し、
かつこのオプションを指定しなかった場合は、
相手はあなたが指定した値を使用することを強制されます。
.TP
.B ipxcp-max-configure \fIn
システムが送信する IPXCP 設定要求フレーム数の最大値を \fIn\fR に設定します。
デフォルト値は 10 です。
.TP
.B ipxcp-max-failure \fIn
ローカルシステムがオプションを拒否する前に、
ローカルシステムが送信する IPXCP NAK フレーム数の
最大値を設定します。デフォルト値は 3 です。
.TP
.B ipxcp-max-terminate \fIn
相手が聞いていないという判断をローカルシステムが下す前に、
ローカルシステムが送信する
IPCP 停止要求フレーム数の最大値を設定します。デフォルト値は 3 です。
.TP
.B kdebug \fIn
カーネルレベルの PPP ドライバのデバッグコードを有効にします。
引数 \fIn\fR として、以下の数値のうち必要なものの合計を指定します。
1 は一般的なデバッグメッセージ出力を有効にします。
2 は受信したパケットの内容の出力を要求します。
4 は送信したパケットの内容の出力を要求します。
ほとんどのシステムでは、カーネルが表示したメッセージは、
/etc/syslog.conf 設定ファイルに指示されるように、
syslog(1) がファイルにログします。
.TP
.B lcp-echo-failure \fIn
このオプションが指定された場合、 LCP echo-request を \fIn\fR 回送信しても
相手から有効な LCP echo-reply が帰ってこなければ、pppd は
相手がダウンしているものと推測します。このような場合、pppd は
接続を切断します。このオプションを使用する際には、
\fIlcp-echo-interval\fR のパラメータとして 0 以外の数値を指定してください。
このオプションは、ハードウェアモデム制御線 (DSR) が使用できない状況で、
(モデムがハングアップするなど) 物理的な接続が切断された後に
pppd を終了するために用いられます。
.TP
.B lcp-echo-interval \fI<n>
このオプションを指定すると、pppd は LCP echo-request フレームを
\fIn\fR 秒毎に相手側に送信します。
通常、相手側は echo-request を受信すると echo-reply を送り返して返答します。
このオプションは、相手側との接続が切れたことを検出するために
\fIlcp-echo-failure\fR オプションとともに使用されます。
.TP
.B lcp-max-configure \fIn
LCP configure-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 10)。
.TP
.B lcp-max-failure \fIn
LCP configure-Reject を送信開始するまでの LCP configure-NAK の最大応答回数を
\fIn\fR 回に設定します (デフォルト値は 10)。
.TP
.B lcp-max-terminate \fIn
LCP terminate-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 3)。
.TP
.B lcp-restart \fIn
(再送のタイムアウトによる) LCP 再開の間隔を \fIn\fR 秒に設定します
(デフォルト値は 3)。
.TP
.B local
モデム制御線を使用しません。このオプションを指定すると、
pppd
は、モデムからの CD (Carrier Detect) 信号の状態を無視し、
DTR (Data Terminal Ready) 信号の状態を変化させません。
.TP
.B login
PAP を用いた相手の認証に、システムパスワードデータベースを用い、
ユーザをシステムの wtmp ファイルに記録します。
アクセスが許されるためには、
/etc/ppp/pap-secrets ファイルとシステムパスワードデータベースの両方に、
相手のエントリが存在する必要があります。
.TP
.B maxconnect \fIn
ネットワークトラフィックの使用開始から \fIn\fR 秒後に接続を切断します
(これは、最初のネットワーク制御プロトコルが来てから \fIn\fR 秒になります)。
.TP
.B modem
モデム制御線を使用します。このオプションはデフォルトです。
このオプションを指定すると、pppd は
(接続スクリプトが指定していなければ)
モデムからの CD (Carrier Detect) 信号のアサートを待ってから
シリアルデバイスをオープンし、接続終了時に
DTR (Data Terminal Ready) 信号を短い期間落としてから
接続スクリプトを実行します。
Ultrix では、このオプションはハードウェアフロー制御、
すなわち \fIcrtscts\fR オプションを暗黙的に指定します。
.TP
.B ms-dns \fI<addr>
pppd が Microsoft Windows クライアントのサーバとして動作している場合、
このオプションは pppd に 1 または 2 の DNS (Domain Name Server) アドレスを
クライアントに提供することを許します。
このオプションの最初のインスタンスはプライマリ DNS アドレスを与えます。
次のインスタンスは (もし与えられれば) セカンダリ DNS アドレスを与えます。
(このオプションは、
古いバージョンの pppd では \fBdns-addr\fR という名前でした。)
.TP
.B ms-wins \fI<addr>
pppd が Microsoft Windows クライアントまたは "Samba" クライアントの
サーバとして動作している場合、このオプションは pppd に 1 または 2 の
WINS (Windows Internet Name Services) サーバアドレスをクライアントに提供
することを許します。
このオプションの最初のインスタンスはプライマリ WINS アドレスを与えます。
次のインスタンスは (もし与えられれば) セカンダリ WINS アドレスを与えます。
.TP
.B name \fIname
認証の目的で用いられるローカルシステムの名前を \fIname\fR に設定します。
このオプションは特権オプションです。
このオプションを指定すると、pppd は秘密情報ファイルの第 2 フィールドが \fIname\fR
である行を使用して秘密情報を探し、相手を認証します。
さらに、\fIuser\fR オプションで上書きしない場合は、
相手に対してローカルシステムを自己証明する時に送る名前として
\fIname\fR を使用します。
(pppd はドメイン名を \fIname\fR に付加しないことに注意してください。)
.TP
.B netmask \fIn
インタフェースのネットマスクを \fIn\fR に設定します。
32 ビットのネットマスクを「10 進数ドット」表記で指定します (例: 255.255.255.0)。
このオプションが与えられると、デフォルトのネットマスクと指定したネットマスク
との論理和が値となります。デフォルトのネットマスクは交渉される
リモートの IP アドレスに依存します。
リモート IP アドレスのクラスに適切なネットマスクと、
同一ネットワーク上システムの非 point-to-point ネットワークインターフェース
のネットマスクとの論理和となります。
.TP
.B noaccomp
Address/Control 圧縮を双方向 (送受信) で無効にします。
.TP
.B noauth
相手が自己証明することを要求しません。
\fIauth\fR オプションが /etc/ppp/options に指定されている場合、
このオプションは特権オプションです。
.TP
.B nobsdcomp
BSD-Compress 圧縮を無効にします。
BSD-Compress 方式を使用したパケット圧縮を \fBpppd\fR は要求も賛同もしません。
.TP
.B noccp
CCP (圧縮制御プロトコル; Compression Control Protocol) 交渉を無効にします。
相手にバグがあるために、
CCP 交渉のための pppd からの要求に混乱してしまう場合にのみ、
このオプションが必要です。
.TP
.B nocrtscts
シリアルポートにハードウェアフロー制御 (つまり RTS/CTS) を使用しません。
\fIcrtscts\fR か \fInocrtscts\fR の両方のオプションが与えられない時、
シリアルポートのハードウェアフロー制御の設定は変更されずに
そのままになります。
.TP
.B nodefaultroute
\fIdefaultroute\fR オプションを無効にします。
\fIpppd\fR を使っているユーザにデフォルト経路を作成させたくない
システム管理者は、このオプションを /etc/ppp/options ファイルに
記述することができます。
.TP
.B nodeflate
Deflate 圧縮を無効にします。
pppd は Deflate 方式を使用した圧縮パケットを要求しませんし、賛同もしません。
.TP
.B nodetach
制御端末から切り離しません。このオプションを指定しないと、
標準入力がある端末以外のシリアルデバイスが指定された場合は、
pppd は fork してバックグラウンドプロセスになります。
.TP
.B noip
IPCP 交渉と IP 通信を無効にします。
相手にバグがあるために、
IPCP 交渉のための pppd からの要求に混乱してしまう場合にのみ、
このオプションが必要です。
.TP
.B noipdefault
ローカル IP アドレスが指定されない場合にデフォルトで行われる、
ホスト名から IP アドレスを (可能であれば) 決定する動作を無効にします。
このオプションを指定した場合には、IPCP 交渉時に
相手側がローカルの IP アドレスを指定する必要があります
(明示的にコマンドラインで指定されているか、
オプションファイルで指定されている場合を除きます)。
.TP
.B noipx
IPXCP および IPX プロトコルを無効にします。
相手にバグがあるために、
IPXCP 交渉のための pppd からの要求に混乱してしまう場合にのみ、
このオプションが必要です。
.TP
.B nomagic
magic number 交渉を無効にします。このオプションを指定した場合には、
pppd
はループバック回線を検出することができません。
相手にバグがある場合にのみ必要となります。
.TP
.B nopcomp
送受信方向とも、プロトコルフィールド圧縮交渉を無効にします。
.TP
.B nopersist
接続の確立と切断のたびに終了します。
\fIpersist\fR または \fIdemand\fR のオプションが指定されない場合、
このオプションはデフォルトです。
.TP
.B nopredictor1
Predictor-1 圧縮を受け付けませんし、賛同もしません。
.TP
.B noproxyarp
\fIproxyarp\fR オプションを無効にします。pppd のユーザに
proxy ARP エントリを作成させたくないシステム管理者は、このオプションを
/etc/ppp/options ファイルに記述することでそのようにできます。
.TP
.B novj
Van Jacobson 形式の TCP/IP ヘッダ圧縮を送受信方向において無効にします
.TP
.B novjccomp
Van Jacobson 形式の TCP/IP ヘッダ圧縮において、
connection-ID 圧縮を無効にします。
このオプションを指定すると、
pppd は Van Jacobson 圧縮された TCP/IP ヘッダから
connection-ID バイトを省略しなくなりますし、
相手にも依頼しません。
.TP
.B papcrypt
相手の同一性を調べるために使われる
/etc/ppp/pap-secrets ファイル内の全ての秘密情報を暗号化することを
指示します。pppd は、暗号化前の /etc/ppp/pap-secrets
ファイルからの秘密情報と等しいパスワードを受け入れません。
.TP
.B pap-max-authreq \fIn
PAP authenticate-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 10)。
.TP
.B pap-restart \fIn
(再送のタイムアウトによる) PAP 再開の間隔を \fIn\fR 秒に設定します
(デフォルト値は 3)。
.TP
.B pap-timeout \fIn
PAP において接続先が自己証明するまで
pppd
が待機する最大時間を、\fIn\fR 秒に
設定します (0 は制限を設けないことを意味します)。
.TP
.B pass-filter \fIfilter-expression
送受信されるデータパケットに適用されるフィルタで、
通過を許されるパケットを決定するフィルタを指定します。
フィルタが拒否するパケットは黙って捨てられます。
特定のネットワークデーモン (例えば routed) が
リンクバンド幅を使い切ることを防いだり、
基本的なファイアウォール機能を提供するために、このオプションがあります。
\fIfilter-expression\fR の文法は tcpdump(1) と同じですが、
限定子は PPP リンクでは不適当ですので、
\fBether\fR や \fBarp\fR は使用できません。
一般的には、フィルタ式をシングルクォートで括って、
式中の空白がシェルに解釈されることを避けるべきです。
\fBinbound\fR と \fBoutbound\fR の限定子を付けることにより、
入出力のパケットに異なった制約を適用可能です。
このオプションは現在 NetBSD でのみ利用可能であり、
カーネル及び pppd が PPP_FILTER を定義してコンパイルされた場合のみ、
このオプションを利用可能です。
.TP
.B persist
接続が切断された後で終了しません。代わりに再接続しようとします。
.TP
.B predictor1
相手が送出するフレームを Predictor-1 圧縮を使用するよう要求し、
要求された場合 Predictor-1 で送出フレームを圧縮することに賛同します。
カーネルドライバが Predictor-1 圧縮をサポートしない場合には、
このオプションは影響ありません。
.TP
.B proxyarp
自システムの ARP [アドレス解決プロトコル; Address Resolution Protocol]
テーブルに相手の IP アドレス
と自システムのイーサネットアドレスを追加します。
他のシステムに対して、
相手がローカルイーサネット上にあるように見せることになります。
.TP
.B remotename \fIname
リモートシステムの名前を \fIname\fR とみなして認証を行います。
.TP
.B refuse-chap
このオプションを指定すると、
pppd は相手に対して自己証明するにあたり CHAP の使用に賛同しません。
.TP
.B refuse-pap
このオプションを指定すると、
pppd は相手に対して自己証明するにあたり PAP の使用に賛同しません。
.TP
.B require-chap
CHAP [チャレンジハンドシェーク認証プロトコル;
Challenge Handshake Authentication Protocol] を用いて
自己証明を行うことを相手に要求します。
.TP
.B require-pap
PAP [パスワード認証プロトコル; Password Authentication Protocol] を用いて
自己証明を行うことを相手に要求します。
.TP
.B silent
このオプションを指定した場合、
pppd
は相手から有効な LCP パケットを受信するまで、
接続を開始するための LCP パケットを送信せずに待ちます
(旧バージョンの pppd で 'passive' オプションを指定した場合と同じ動作です)。
.TP
.B usehostname
認証時にホスト名をローカルシステムの名前として使用することを強制します
(ドメイン名が与えられれば付加されます)。
(このオプションは \fIname\fR オプションに優先します。)
.TP
.B user \fIname
このマシンを相手に対して自己証明する際に用いるユーザ名を
\fIname\fR に設定します。
.TP
.B vj-max-slots \fIn
Van Jacobson の TCP/IP ヘッダ圧縮/伸長に使用する接続スロット数を
\fIn\fR に設定します。
2 から 16 (両端を含む) の範囲にある必要があります。
.TP
.B welcome \fIscript
PPP 交渉開始前かつ、(もしあれば) 接続スクリプトの完了後に、
\fIscript\fR で指定される実行コマンドもしくはシェルコマンドを実行します。
\fInoauth\fR オプションが使用された場合には、
このオプションは特権オプションとなります。
.TP
.B xonxoff
ソフトウェアフロー制御 (つまり XON/XOFF) を使用してシリアルポート上の
データフローを制御します。
.SH オプションファイル
オプションは、コマンドラインから与えられるのと同様に、
ファイルに記述されたものを用いることも可能です。
pppd
は、コマンドラインからのオプションを
読み込む前に /etc/ppp/options, ~/.ppprc, /etc/ppp/options.\fIttyname\fR から
(この順に) オプションを読み込みます。
(実際には、端末名を得るためにコマンドラインオプションがまずスキャンされてから、
options.\fIttyname\fR ファイルが読まれます。)
options.\fIttyname\fR ファイル名構成にあたり、
まず /dev/ が端末名から除かれ、残った / 文字がドットと置換されます。
.PP
オプションファイルの内容は、
空白文字をデリミタとする単語の並びとして解釈されます。
空白文字を含む文字列はダブルクォート (") で囲うことで
1 つの文字列として解釈されるようになります。
バックスラッシュ (\\) は、直後の 1 文字をクォートします。
ハッシュ文字 (#) はコメントの始まりとして解釈され、
改行までをコメントとみなします。
オプションファイル中での \fIfile\fR および \fIcall\fR のオプションの
使用制限はありません。
.SH セキュリティ
.I pppd
は、正当なユーザに対するサーバマシンへの PPP アクセスを提供しつつ、
サーバ自身やそのサーバが存在するネットワークのセキュリティを危険に
さらす心配のない、充分なアクセス制御をシステム管理者に提供します。
このアクセス制御の一部は、
/etc/ppp/options ファイルにより提供されます。
このファイルでシステム管理者は
pppd の使用制限を設定することができます。
また一部は、PAP や CHAP の秘密情報ファイルにより提供されます。
このファイルで個々のユーザが使用する IP アドレスの組を
管理者が制限することができます。
.PP
通常の pppd の用途においては、
\fIauth\fR オプションを /etc/ppp/options ファイルに設定すべきです。
(将来のリリースにおいてデフォルトになるかもしれません。)
ユーザが pppd を使用して相手にダイアルアウトしたい場合で、
相手が自己証明することを拒否する場合 (インターネットサービスプロバイダなど)、
システム管理者は /etc/ppp/peers 下にオプションファイルを作成し、
ここに \fInoauth\fR オプションと、使用するシリアルポート名と、
(必要なら) \fIconnect\fR オプションと、その他適切なオプションを格納します。
このようにすることで、
非特権ユーザが信頼関係のある相手との間で認証されない接続を結ぶことを可能
とします。
.PP
上述のように、セキュリティに影響するオプションは特権オプションであり、
通常の非特権ユーザが setuid-root された pppd では使用できません。
これは、コマンドラインでも、ユーザの ~/.ppprc ファイルでも、
\fIfile\fR オプションを使用して読まれるオプションファイルでも言えることです。
/etc/ppp/options ファイル中、
もしくは \fIcall\fR オプションを使用して読まれるオプションファイル中では、
特権オプションの使用は許されます。
pppd が root ユーザにより起動された場合、特権オプションの使用は無制限です。
.SH 認証
認証とは、一方が他方に自己を認めさせる処理のことを言います。
これは、一方が自己の名前を他方に送る際、
その名前のオーソライズされた本物の使用者のみから生まれる
ある種の秘密情報を伴うことを必要とします。
このような交換において、最初の一方を「クライアント」と呼び、
他方を「サーバ」と呼びます。
クライアントは自己をサーバに識別させるための名前を持ち、
サーバもまた自己をクライアントに識別させるための名前を持ちます。
一般的に本物のクライアントは秘密情報 (またはパスワード) をサーバと共有し、
自己を証明するにあたりその秘密情報を知っていると伝えます。
認証に使用される名前は相手のインターネットホスト名に対応することが多いですが、
これは本質的なことではありません。
.LP
現在 pppd は 2 つの認証プロトコルをサポートします:
それぞれ、パスワード認証プロトコル (Password Authentication Protocol; PAP) と
チャレンジハンドシェーク認証プロトコル
(Challenge Handshake Authentication Protocol; CHAP) です。
PAP の場合、クライアントは自己証明のために、
自己の名前とクリアテキストパスワードをサーバに送る必要があります。
これとは対称的に、CHAP 認証交換はサーバが開始し、
チャレンジをクライアントに送ります
(チャレンジパケットにはサーバ名が含まれます)。
クライアントはこれに返答する必要があり、
返事の中に自己の名前に加えて共有秘密情報とチャレンジから得られるハッシュ値を
含め、自己が秘密情報を知っていると伝える必要があります。
.LP
PPP プロトコルは対称的ですから、
両者が他方に対して自己証明を行うように要求することを許します。
この場合、2 つの別々かつ独立した認証交換が発生します。
2 つの交換においては別の認証プロトコルを使用できますし、
原則的には違う名前を使用可能です。
.LP
pppd
のデフォルトの挙動は、もし認証の要求があればそれを受け入れ、
相手側には認証を要求しないというものです。
ただし、
pppd
がその認証を行なうのに必要な秘密情報を持っていない
特定のプロトコルによる認証は拒否します。
.LP
pppd は認証に使用する秘密情報を秘密情報ファイル
(PAP の場合 /etc/ppp/pap-secrets、
CHAP の場合 /etc/ppp/chap-secrets) に格納します。
どちらの秘密情報ファイルも同じフォーマットです。
秘密情報ファイルには、
pppd が他のシステムに対して自己証明するための秘密情報を格納する
ことができますし、
他のシステムの認証を行うための秘密情報を格納することも可能です。
.LP
秘密情報ファイル中の各行は 1 つの秘密情報を格納します。
特定の秘密情報はあるクライアントとサーバの組み合わせに対して特有です -
このクライアントがこのサーバに対して自己証明することにのみ使用されます。
秘密情報ファイルの各行は、少くとも 3 つのフィールドからなります:
それぞれ、クライアント名、サーバ名、秘密情報です。
指定したサーバに指定したクライアントが接続する時に使用する
IP アドレスリストを、これらのフィールドの後に続けることができます。
.LP
秘密情報ファイルはオプションファイルと同じように単語の並びとして
解釈されますので、クライアント名、サーバ名、秘密情報の各フィールドは
1 語である必要があり、
これに含まれる空白文字や特殊文字は
クォートもしくはエスケープする必要があります。
同じ行の残りの語は、クライアントに許される IP アドレスのリストとされるか、
(ワイルドカードでもなく空でもない) 特定のクライアント名を含む行の
場合は "local:remote" アドレス
(コマンドラインもしくはオプションファイルで共通フォーマット)
に優先します。
行に 3 語しか無い場合もしくは最初の語が "-" である場合、
全ての IP アドレスが不許可となります。
全アドレスを許可するには "*" を使用します。
また "!" から始まる語は、指定したアドレスを受け付け\fIない\fRことを示します。
アドレスの後には "/" と数値 \fIn\fR を続けることが可能であり、
全体のサブネットを示します。
つまり、全てのアドレスの上位 \fIn\fR ビットが同じ値となります。
クライアント名、サーバ名、秘密情報においては大文字小文字の区別は重要です。
.LP
秘密情報が `@' から始まる場合、後続するものはファイル名であり、
そこから秘密情報を読み込むものとされます。
クライアント名もしくはクライアント名に単一の "*" を使用すると、
いかなる名前にもマッチします。
秘密情報を選択する時、pppd はベストマッチ、
すなわちワイルドカードが最小となるマッチを採用します。
.LP
秘密情報ファイルには、他のホストを認証するための秘密情報に加え、
他のホストに対して自己証明するための秘密情報も格納します。
pppd が相手を認証 (相手が相手であることを確認) する時、
秘密情報の検索にあたり、
相手の名前が最初のフィールドにありローカルシステムの名前が 2 番目のフィールド
にあるものを選びます。
ローカルシステム名のデフォルトはホスト名であり、
\fIdomain\fR オプション使用時にはドメイン名が付加されます。
このデフォルトには \fIname\fR オプションが優先しますが、
\fIusehostname\fR オプションが使用されている場合は例外です。
.LP
pppd が相手に対する自己証明のための秘密情報を選ぶ時には、
まずどの名前を使用して相手に対して自己識別するかを決めます。
この名前はユーザが \fIuser\fR オプションで指定可能です。
このオプションが使用されていない場合、
名前はデフォルトのローカルシステム名となり、
前の段落で示したように決定されます。
こうして pppd は秘密情報の検索にあたり、
この名前が最初のフィールドにあり相手の名前が 2 番目のフィールド
にあるものを選びます。
CHAP 認証が使用される場合、
相手はチャレンジパケット中に相手の名前を含めますから、
pppd は相手の名前を知ることになります。
しかし、PAP が使用される場合、
ユーザが指定したオプションを元に pppd は相手の名前を決定します。
ユーザは相手の名前を直接 \fIremotename\fR で指定可能です。
そうではない場合で、リモート IP アドレスが (数値形式でなく)
名前で指定された場合、その名前を相手の名前として使用します。
これに失敗すると、pppd は相手の名前に空文字列を使用します。
.LP
相手側を PAP で認証する際に、提供されるパスワードはまず秘密情報ファイルの
秘密情報と比較されます。
もしパスワードが秘密情報とマッチしなければ、
パスワードは crypt() を使用して暗号化され、再び秘密情報と比較されます。
このため相手側の認証に使用する秘密情報は
暗号化された形式で記録することができます。
\fIpapcrypt\fR オプションが与えられた場合、よりよいセキュリティのため
最初の (暗号化されていない) 比較対象は除外されます。
.LP
更にもし \fIlogin\fR オプションが指定されていれば、ユーザ名とパスワードも
システムパスワードデータベースでチェックされます。
このためシステム管理者は特定のユーザだけに PPP アクセスを
許可し、個々のユーザが使用できる IP アドレスの組を
制限するよう pap-secrets ファイルを設定することができます。
典型的には、\fIlogin\fR オプションを使う時に、
/etc/ppp/pap-secrets 中の秘密情報を "" とすることで、
相手が提供するいかなるパスワードにもマッチするようになります。
これにより、同じ秘密情報を 2 個所で必要とされることを避けることができます。
.LP
\fBlogin\fR オプションが使われている時には、更なる確認が行われます。
/etc/ppp/ppp.deny が存在して、ユーザがそこに記述されている場合、
認証は失敗します。 /etc/ppp/ppp.shells が存在して、ユーザの通常の
ログインシェルが記述されていない場合、認証は失敗します。
.LP
認証は IPCP (またはその他のネットワーク制御プロトコル)
が開始される前に納得のいくように完了している必要があります。
相手が自己証明することを求められている時に、認証に失敗すると、
\fIpppd\fR は (LCP をクローズすることで) リンクを切断します。
もし IPCP で得られたリモートホストの IP アドレスが受け入れられない
ものであった場合、IPCP はクローズされます。 IP パケットは IPCP が
オープンしている時だけ送受信可能です。
.LP
ローカルホストが一般的に認証を必要とする時でも、
接続を行い限定された IP アドレスの組の 1 つを使うために
自己証明ができないホストに対して、
接続を認める必要がある場合もあります。
もし相手側がこちらの認証要求を拒否した場合、pppd はそれを
ユーザ名とパスワードが空文字列である PAP 認証として扱います。
そこで、クライアント名とパスワードに空文字列を指定した 1 行を
pap-secrets ファイルに追加することで、自己証明を拒否する
ホストにも制限つきのアクセスを許可することができます。
.SH 経路制御
.LP
IPCP 交渉が成功した場合、
pppd
はカーネルに、PPP インタフェースで用いるローカル IP アドレスおよび
リモート IP アドレスを通知します。
これは、相手側と IP パケットを交換する
リンクのリモート終端への経路を作成するのに充分な情報です。
サーバ以外のマシンとの通信には、一般的には経路
テーブルや ARP (アドレス解決プロトコル; Address Resolution Protocol)
テーブルのさらなる更新が必要となります。
ほとんどの場合 \fIdefaultroute\fR や \fIproxyarp\fR オプションで十分ですが、
更なる解析が必要な場合もあります。
/etc/ppp/ip-up スクリプトが使用可能な場合があります。
.LP
インターネットへの接続を PPP インタフェース経由のみで行うマシンの
場合には、リモートホストを通るデフォルト経路の追加が
望ましい場合があります。
\fIdefaultroute\fR オプションは、IPCP が完了した際に pppd に
そのようなデフォルト経路を作成させ、リンクが切断されたときには
そのデフォルト経路を削除させます。
.LP
例えばサーバマシンが LAN に接続されている場合、LAN 上の他のホストが
リモートホストと通信できるようにするために proxy ARP の使用が
望ましい場合もあります。
\fIproxyarp\fR オプションを指定すると、pppd はリモートホストと
同一サブネット上にある (ブロードキャストと ARP をサポートし、動作中
かつ point-to-point やループバックでない) ネットワークインタフェースを
探します。
そのようなインタフェースが見つかった場合、pppd は
恒久的に公開された ARP エントリとしてリモートホストの IP アドレスと
その見つかったネットワークインタフェースのイーサネット (MAC) アドレスを
登録します。
.LP
\fIdemand\fR オプション使用時は、IPCP 起動時に
インタフェースの IP アドレスは設定済みです。
pppd がインタフェース設定に使用したものと同じアドレスを
交渉できなかった場合には
(例えば ISP が動的に IP アドレスを割り当てる場合)、
pppd はインタフェースの IP アドレスを交渉されたものに
変更する必要があります。
この場合既存の接続を破壊するかもしれませんので、
動的 IP 割り当てを行う相手と要求時ダイアルを行うことは勧められません。
.SH 使用例
.LP
(ppp の配布のデフォルトの /etc/ppp/options ファイルと同じく)
以下の例では /etc/ppp/options ファイルは
\fIauth\fR オプションを含むものとします
.LP
おそらく最も一般的な pppd の使用方法は ISP へダイアルアウトすることでしょう。
この場合次のコマンドを使用します。
.IP
pppd call isp
.LP
ここで /etc/ppp/peers/isp ファイルはシステム管理者が次のように設定します:
.IP
ttyS0 19200 crtscts
.br
connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
.br
noauth
.LP
この例では、chat を使用して ISP のモデムにダイアルし、
必要なログオンシーケンスを通過します。
/etc/ppp/chat-isp ファイルは chat が使用するスクリプトを含みます。
例えば次のようになっています:
.IP
ABORT "NO CARRIER"
.br
ABORT "NO DIALTONE"
.br
ABORT "ERROR"
.br
ABORT "NO ANSWER"
.br
ABORT "BUSY"
.br
ABORT "Username/Password Incorrect"
.br
"" "at"
.br
OK "at&d0&c1"
.br
OK "atdt2468135"
.br
"name:" "^Umyuserid"
.br
"word:" "\\qmypassword"
.br
"ispts" "\\q^Uppp"
.br
"~-^Uppp-~"
.LP
chat スクリプトの詳細については、
chat(8) のマニュアルページを参照してください。
.LP
pppd はまたダイアルイン ppp サービスをユーザに提供するために使用可能です。
ユーザが既にログインアカウントを持っている場合には、
ppp サービスの最も簡単な設定方法は、
ユーザにそのアカウントでログインしてもらってから、
(setuid-root された) pppd を次のように実行することです。
.IP
pppd proxyarp
.LP
ユーザが PPP 機能を使用することを許すためには、
そのユーザのマシンのための IP アドレスを割り当て、
/etc/ppp/pap-secrets または /etc/ppp/chap-secrets (ユーザのマシンの PPP 実装が
どちらの認証方法をサポートするかに依存します)
にエントリを作成して、ユーザのマシンを認証可能とします。
例えば、Joe が "joespc" というマシンを持っていて、"server" というマシンへの
ダイアルインおよび joespc.my.net という IP アドレスの使用が許されている場合、
次のようなエントリを /etc/ppp/pap-secrets または /etc/ppp/chap-secrets に
加えます:
.IP
joespc server "joe's secret" joespc.my.net
.LP
別の方法として、(例えば) "ppp" といったユーザ名を作成し、
そのログインシェルを pppd とし、
ホームディレクトリを /etc/ppp とする方法があります。
この方法で pppd を実行する場合に使用するオプションは
/etc/ppp/.ppprc に置くことができます。
.LP
もしあなたのシリアル接続がケーブル 1 本でなく、もっと複雑な場合には、
いくつかの制御文字がエスケープされるように
準備しておく必要があります。とりわけ、XON (^Q) および XOFF (^S) を、
\fIasyncmap a0000\fR を用いてエスケープすることはしばしば有効です。
パスが telnet を含む場合には、 ^] 文字も同様にエスケープ
(\fIasyncmap 200a0000\fR を指定) する必要があるでしょう。
パスが rlogin を含む場合には、rlogin クライアントの動作している側の
ホストで \fIescape ff\fR を指定する必要があるでしょう。これは、多くの
rlogin の実装がネットワーク透過でないためです。
それらの rlogin では、 0xff, 0xff, 0x73, 0x73 とそれに続く 8 バイトの
シーケンスをストリームから取り除きます。
.SH 診断
.LP
メッセージは LOG_DAEMON ファシリティを用いて syslog デーモンに
送られます (これは希望するファシリティを LOG_PPP マクロとして定義し、
pppd を再コンパイルすることで変更することができます)。
エラーメッセージやデバッグメッセージを見るためには、
/etc/syslogd.conf ファイルを編集して pppd からのメッセージが
希望する出力デバイスやファイルに書き出されるようにしておく必要があります。
.LP
\fIdebug\fR オプションは送受信されるすべての制御パケットの内容が
ログに記録されるようにします。対象となる制御パケットは、
すべての LCP, PAP, CHAP, IPCP パケットです。
この機能は、PPP 交渉がうまくいかない場合や
認証が失敗する場合の原因究明に効果的でしょう。
コンパイル時にデバッギングオプションを有効にしていた場合には、
\fIdebug\fR もまた他のデバッグメッセージを記録するために使われます。
.LP
.I pppd
プロセスに SIGUSR1 シグナルを送ってデバッギングを有効にすることが
できます。これはトグル動作します。
.SH スクリプト
pppd は処理の様々な段階においてスクリプトを起動し、
サイト固有の追加処理を行います。
これらのスクリプトは通常シェルスクリプトですが、
実行可能コードファイルであってもかまいません。
pppd はスクリプトが終了するまで待ちません。
スクリプトは root にて (実ユーザ ID および実効ユーザ ID とも 0 に設定して)
実行されますので、経路テーブルの更新や特権デーモンの実行が可能です。
これらのスクリプトの内容によってシステムセキュリティが危うくならないよう
注意してください。
pppd は標準入力・標準出力・標準エラー出力を /dev/null にリダイレクトし、
リンクの情報を与えるいくつかの環境変数を除いて環境変数を空にして、
スクリプトを実行します。
pppd が設定する環境変数を以下に示します:
.TP
.B DEVICE
使用しているシリアル tty デバイス名。
.TP
.B IFNAME
使用しているネットワークインタフェース名。
.TP
.B IPLOCAL
リンクのローカル側の IP アドレス。
IPCP が立ち上がった時のみ設定されます。
.TP
.B IPREMOTE
リンクのリモート側の IP アドレス。
IPCP が立ち上がった時のみ設定されます。
.TP
.B PEERNAME
相手の認証された名前。
相手が自己証明した場合のみ設定されます。
.TP
.B SPEED
tty デバイスのボーレート。
.TP
.B UID
pppd を起動したユーザの実ユーザ ID。
.P
pppd は、以下のスクリプトが存在すれば起動します。
存在しなくてもエラーではありません。
.TP
.B /etc/ppp/auth-up
リモートシステムが成功裏に自己証明した後で実行される
プログラムまたはスクリプトです。
次のものをパラメータとして実行されます。
.IP
\fIinterface-name peer-name user-name tty-device speed\fR
.IP
相手が自己証明しない場合には、
このスクリプトは実行されないことに注意してください。
例えば \fInoauth\fR オプションが使用される時がこれにあたります。
.TP
.B /etc/ppp/auth-down
/etc/ppp/auth-up が以前実行された後でリンクが落ちた時に実行される
プログラムまたはスクリプトです。
これは /etc/ppp/auth-up と同じパラメータを与えて、同じ方法で実行されます。
.TP
.B /etc/ppp/ip-up
そのリンクで IP パケットの送受信が行えるようになった時
(IPCP が完了した時) に実行されるプログラムまたはスクリプトです。
次のものをパラメータとして実行されます。
.IP
\fIinterface-name tty-device speed local-IP-address
remote-IP-address ipparam\fR
.TP
.B /etc/ppp/ip-down
そのリンクで IP パケットの送受信ができなくなった場合に実行される
プログラムまたはスクリプトです。
このスクリプトは /etc/ppp/ip-up スクリプトで行った変更を
元にもどすために用いられます。
これは ip-up と同じパラメータを与えて、同じ方法で実行されます。
.TP
.B /etc/ppp/ipx-up
そのリンクで IPX パケットの送受信が行えるようになった時
(IPXCP が完了した時) に実行されるプログラムまたはスクリプトです。
次のものをパラメータとして実行されます。
.IP
\fIinterface-name tty-device speed network-number local-IPX-node-address
remote-IPX-node-address local-IPX-routing-protocol remote-IPX-routing-protocol
local-IPX-router-name remote-IPX-router-name ipparam pppd-pid\fR
.IP
local-IPX-routing-protocol および remote-IPX-routing-protocol のフィールドは
以下のいずれかです:
.IP
NONE 経路プロトコルが無いことを示します
.br
RIP RIP/SAP を使うべきであることを示します
.br
NLSP Novell NLSP を使うべきであることを示します
.br
RIP NLSP RIP/SAP と NLSP の両方を使うべきであることを示します
.TP
.B /etc/ppp/ipx-down
そのリンクで IPX パケットの送受信ができなくなった場合に実行される
プログラムまたはスクリプトです。
このスクリプトは /etc/ppp/ipx-up スクリプトで行った変更を
元にもどすために用いられます。
これは ipx-up と同じパラメータを与えて、同じ方法で実行されます。
.SH 関連ファイル
.TP
.B /var/run/ppp\fIn\fB.pid \fR(BSD または Linux), \fB/etc/ppp/ppp\fIn\fB.pid \fR(その他)
ppp インタフェースユニット \fIn\fR に対応する pppd プロセスの
プロセス ID が記録されます。
.TP
.B /etc/ppp/pap-secrets
PAP 認証で使用するユーザ名、パスワード、IP アドレスを格納します。
このファイルは root が所有し、他のユーザは読み書きできてはなりません。
そうでない場合 pppd は警告ログを行います。
.TP
.B /etc/ppp/chap-secrets
CHAP 認証で使用する名前、秘密情報、IP アドレスを格納します。
このファイルは root が所有し、他のユーザは読み書きできてはなりません。
そうでない場合 pppd は警告ログを行います。
.TP
.B /etc/ppp/options
pppd
のシステムデフォルトオプションを記述します。
ユーザデフォルトオプションおよびコマンド
ラインオプションが読まれる前に読み込まれます。
.TP
.B ~/.ppprc
ユーザ毎のデフォルトオプションを記述します。
/etc/ppp/options.\fIttyname が読まれる前に読み込まれます。
.TP
.B /etc/ppp/options.\fIttyname
各シリアルポートのシステムデフォルトオプションを指定します。
~/.ppprc の後で読まれます。
このファイル名の \fIttyname\fR 部分の構成にあたり、
まず /dev/ が (存在すれば) ポート名から除かれ、
残ったスラッシュがドットに置換されます。
.TP
.B /etc/ppp/peers
pppd が非 root ユーザによって起動されたとしても
特権オプションを含んでかまわないオプションファイルを含むディレクトリです。
システム管理者はオプションファイルをこのディレクトリ中に作成することにより、
非特権ユーザが相手の認証を要さずにダイアルアウト可能とします。
しかし、信頼関係のある相手のみ可能です。
.TP
.B /etc/ppp/ppp.deny
システムのパスワードによる PAP 認証を使わせないユーザを記述します。
.TP
.B /etc/ppp/ppp.shells
システムのパスワードによる PAP 認証ログインのために適切なシェルを
記述します。
.SH 関連項目
.IR chat(8),
.IR ppp(8)
.TP
.B RFC1144
Jacobson, V.
\fICompressing TCP/IP headers for low-speed serial links.\fR
February 1990.
.TP
.B RFC1321
Rivest, R.
.I The MD5 Message-Digest Algorithm.
April 1992.
.TP
.B RFC1332
McGregor, G.
.I PPP Internet Protocol Control Protocol (IPCP).
May 1992.
.TP
.B RFC1334
Lloyd, B.; Simpson, W.A.
.I PPP authentication protocols.
October 1992.
.TP
.B RFC1661
Simpson, W.A.
.I The Point\-to\-Point Protocol (PPP).
July 1994.
.TP
.B RFC1662
Simpson, W.A.
.I PPP in HDLC-like Framing.
July 1994.
.SH 注意
以下のシグナルが
pppd
に送られた場合、ここで説明する効果が得られます。
.TP
.B SIGINT, SIGTERM
これらのシグナルを受信した場合、pppd は (LCP をクローズすることで)
リンクを切断し、シリアルデバイスの設定を復元して、プログラムを終了します。
.TP
.B SIGHUP
物理層のリンク切断を指示します。pppd はシリアルデバイスの設定を復元し、
シリアルデバイスを閉じます。
\fIpersist\fR または \fIdemand\fR のオプションが指定されている場合、pppd は
シリアルデバイスを再オープンし、(抑止期間を置いてから)
新しい接続を始めようとします。
そうでない場合は、pppd は終了します。
このシグナルを抑止期間に受けると、pppd は抑止期間をすぐに終了します。
.TP
.B SIGUSR1
このシグナルは、\fIdebug\fR オプションの状態を反転します。
.TP
.B SIGUSR2
このシグナルは、
pppd
に圧縮に付いて再び交渉させます。
これは、致命的な伸長エラーの結果として
圧縮を止めた後で、再び圧縮を有効にするために便利です。
(致命的な伸長エラーは一般にどちらかの実装上の
バグを示します。)
.SH 作者
Paul Mackerras (Paul.Mackerras@cs.anu.edu.au) が、
Drew Perkins,
Brad Clements,
Karl Fox,
Greg Christy,
Brad Parker
の作業を元に作成しました。
diff --git a/ja/man/man8/pppstats.8 b/ja/man/man8/pppstats.8
index 18e4774cc0..ba4c69fb28 100644
--- a/ja/man/man8/pppstats.8
+++ b/ja/man/man8/pppstats.8
@@ -1,207 +1,207 @@
-.\" @(#) %Id: pppstats.8,v 1.3.2.4 1998/07/18 11:12:09 jkh Exp %
+.\" @(#) %Id: pppstats.8,v 1.8 1998/07/09 04:53:11 jkoshy Exp %
.\" jpman %Id: pppstats.8,v 1.2 1997/05/23 09:03:43 mitchy Stab %
.\"
.TH PPPSTATS 8 "26 June 1995"
.SH 名称
pppstats \- PPP の利用統計を表示する
.SH 書式
.B pppstats
[
.B -a
] [
.B -v
] [
.B -r
] [
.B -z
] [
.B -c
.I <count>
] [
.B -w
.I <secs>
] [
.I interface
]
.ti 12
.SH 解説
.B pppstats
は、指定した PPP インタフェースについて、
PPP に関連した統計情報を一定間隔で表示します。
インタフェースは無指定の場合は ppp0 になります。
表示は入力と出力のセクションに横方向に分割され、
それぞれのセクションで、
そのインタフェースで入出力されたパケットの属性と大きさの統計値を示します。
.PP
オプションには以下のものがあります:
.TP
.B -a
差分ではなく絶対値を表示するようにします。
このオプションを指定すると、
すべてのレポートは
リンクが成立してからの統計値を表示するようになります。
このオプションが未指定なら、
2 回目とそれ以降のレポートが、
前回のレポートからの統計を表示するようになります。
.TP
.B -c \fIcount
表示を
.I count
回繰り返します。
このオプションが指定されない場合、
.B -w
オプションが指定されていれば無限に繰り返し、
さもなくば 1 回だけ表示されます。
.TP
.B -r
使用中のパケット圧縮アルゴリズムによる圧縮率の統計値を要約して
追加表示します。
.TP
.B -v
Van Jacobson TCP ヘッダ圧縮アルゴリズムのパフォーマンスに関する
統計値を追加表示します。
.TP
.B -w \fIwait
繰り返して表示する際の間隔を
.B -w \fIwait
秒にします。
無指定時は 5 秒です。
.TP
.B -z
通常の表示に替えて、
使用中のパケット圧縮アルゴリズムの性能の統計値を表示します。
.PP
.B -z
オプションが指定されない場合、入力側には以下の項目が表示されます:
.TP
.B IN
このインタフェースで受信した総バイト数。
.TP
.B PACK
このインタフェースで受信したパケットの総数。
.TP
.B VJCOMP
このインタフェースで受信した、ヘッダ圧縮された TCP パケットの数。
.TP
.B VJUNC
このインタフェースで受信した、ヘッダの圧縮されていない TCP パケットの数。
.B -r
オプションが指定されたときは表示されません。
.TP
.B VJERR
このインタフェースで受信した、
破損した、あるいは不正にヘッダが圧縮された TCP パケットの数。
.B -r
オプションが指定されたときは表示されません。
.TP
.B VJTOSS
先行するエラーで受理されずに落された、
VJ ヘッダ圧縮された TCP パケットの数。
.B -v
オプションが指定されたときだけ表示されます。
.TP
.B NON-VJ
このインタフェースで受信した非 TCP パケットの総数。
.B -v
オプションが指定されたときだけ表示されます。
.TP
.B RATIO
使用中のパケット圧縮方法で達成された、
受信パケットの、圧縮時に対する非圧縮時の大きさの比率で表した圧縮率。
.B -r
オプションが指定されたときだけ表示されます。
.TP
.B UBYTE
受信した圧縮パケットの展開後のバイト総数。
.B -r
オプションが指定されたときだけ表示されます。
.PP
出力側には以下の項目が表示されます:
.TP
.B OUT
このインタフェースから送信された総バイト数。
.TP
.B PACK
このインタフェースから送信した総パケット数。
.TP
.B VJCOMP
このインタフェースから送信された、
TCP ヘッダを VJ 圧縮した TCP パケットの数。
.TP
.B VJUNC
このインタフェースから送信された、
TCP ヘッダを VJ 圧縮していない TCP パケットの数。
.B -r
オプションが指定されたときは表示されません。
.TP
.B NON-VJ
このインタフェースから送信された非 TCP パケットの総数。
.B -r
オプションが指定されたときは表示されません。
.TP
.B VJSRCH
VJ ヘッダ圧縮パケットのヘッダエントリをキャッシュで探索した回数。
.B -v
オプションが指定されているときだけ表示されます。
.TP
.B VJMISS
VJ ヘッダ圧縮パケットのヘッダエントリをキャッシュで探索して失敗した回数。
.B -v
オプションが指定されているときだけ表示されます。
.TP
.B RATIO
使用中のパケット圧縮方法で達成された、送信パケットの、
圧縮後に対する圧縮前の大きさの比率で表した圧縮率。
.B -r
オプションが指定されているときだけ表示されます。
.TP
.B UBYTE
送信した圧縮パケットの圧縮前のバイト総数。
.B -r
オプションが指定されているときだけ表示されます。
.PP
.B -z
オプションが指定されている場合は、
.B pppstats
は上記のものに替えて、
現在使用中のパケット圧縮アルゴリズムについて以下の項目を表示します。
パケット圧縮が使用されていない場合は、これらの項目はすべて 0 になります。
入力側で表示される項目は:
.TP
.B COMPRESSED BYTE
受信した圧縮パケットのバイト数。
.TP
.B COMPRESSED PACK
受信した圧縮パケットの数。
.TP
.B INCOMPRESSIBLE BYTE
受信した圧縮不可能な (非圧縮形式で送られた) パケットのバイト数。
.TP
.B INCOMPRESSIBLE PACK
受信した非圧縮パケットの数。
.TP
.B COMP RATIO
(圧縮可能なものと不可能なものの両方を含めた)
圧縮後に対する圧縮前の大きさの比率で表した、
受信パケットの目下の圧縮率。
.PP
出力側で表示される項目は:
.TP
.B COMPRESSED BYTE
送信された圧縮パケットのバイト数。
.TP
.B COMPRESSED PACK
送信された圧縮パケットの数。
.TP
.B INCOMPRESSIBLE BYTE
送信された
(非圧縮の形式で送信された)
圧縮不可能なパケットのバイト数。
.TP
.B INCOMPRESSIBLE PACK
送信された圧縮不可能なパケットの数。
.TP
.B COMP RATIO
外へ出て行くパケットの目下の圧縮率。
.SH 関連項目
pppd(8)
diff --git a/ja/man/man8/praliases.8 b/ja/man/man8/praliases.8
index 376193473f..5a7d55466e 100644
--- a/ja/man/man8/praliases.8
+++ b/ja/man/man8/praliases.8
@@ -1,42 +1,50 @@
-.\" @(#)praliases.8 8.1 (Berkeley) 9/21/96
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" @(#)praliases.8 8.5 (Berkeley) 5/19/98
+.\"
.\" jpman %Id: praliases.8,v 1.3 1997/08/30 16:46:16 take-i Stab %
.Dd April 25, 1996
.Dt PRALIASES 1
.Os BSD 3
.Sh 名称
.Nm praliases
.Nd システムメールエイリアスの表示
.Sh 書式
.Nm praliases
.Op Fl f Ar ファイル
.Sh 解説
.Nm praliases
ユーティリティーは、
現在のシステムエイリアスを 1 行につき 1 つ
ずつ ( 但し項目順ではなく ) 表示します。
.Pp
オプションは次の通りです :
.Bl -tag -width Ds
.It Fl f
デフォルトの
.Nm sendmail
システムのエイリアスファイルの代わりに、
指定されたファイルを読みます。
.El
.Pp
.Nm praliases
ユーティリティーは成功すると 0 、
エラーが発生すると 0 より大きな値を返します。
.Sh 関連ファイル
.Bl -tag -width /var/log/sendmail.stXX -compact
.It Pa /etc/aliases
デフォルトの
.Nm sendmail
システムのエイリアスファイル
.It Pa /etc/aliases.db
.Pa /etc/aliases
ファイルのデータベース版
.El
.Sh 関連項目
.Xr mailq 1 ,
.Xr sendmail 8
diff --git a/ja/man/man8/pstat.8 b/ja/man/man8/pstat.8
index 12d76d7eec..5c75750683 100644
--- a/ja/man/man8/pstat.8
+++ b/ja/man/man8/pstat.8
@@ -1,379 +1,384 @@
.\" Copyright (c) 1980, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" @(#)pstat.8 8.4 (Berkeley) 4/19/94
.\" 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: @(#)pstat.8 8.4 (Berkeley) 4/19/94
-.\" %Id: pstat.8,v 1.10.2.1 1997/10/10 06:18:42 charnier Exp %
+.\" @(#)pstat.8 8.5 (Berkeley) 5/13/94
+.\" %Id: pstat.8,v 1.16 1998/01/17 16:58:55 bde Exp %
.\" jpman %Id: pstat.8,v 1.2 1997/03/31 14:56:46 horikawa Stab %
.\"
.Dd October 7, 1995
.Dt PSTAT 8
.Os BSD 4
.Sh 名称
.Nm pstat ,
.Nm swapinfo
.Nd システムデータ構造体を表示する
.Pp
.Sh 書式
.Nm pstat
.Op Fl Tfiknstv
.Op Fl M Ar core
.Op Fl N Ar system
.Pp
.Nm swapinfo
.Op Fl k
.Op Fl M Ar core
.Op Fl N Ar system
.Sh 解説
.Nm pstat
は、オープンしているファイルのエントリ・
スワップ領域の利用状況・端末の状態・vnodeデータ構造体
を表示します。
.Ar core
が指定されればそこから情報が取り出され、指定されなければ
.Pa /dev/mem
から情報が取り出されます。
.Ar system
が指定されなければ、
必要な名前リストは
.Pa /kernel
から取り出されます。
.Pp
.Nm swapinfo
という名前で起動されると
.Fl s
オプションが指定されたことになり、このときは
.Fl k
オプションだけを指定することができます。
.Pp
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl n
デバイスを表示するときに、名前ではなくデバイスのメジャー番号と
マイナー番号を使用します。
.It Fl k
BLOCKSIZE 環境変数での設定に関わらず、容量の表示をキロバイト単位
で行います。
.It Fl T
種々のシステムテーブルについて使用スロットと空きスロットの
数を表示します。システムの負荷が非常に重いとき、
システムテーブルがどれくらいの大きさになっているかを調べる
のに役立ちます。
.It Fl f
次のようなヘッダとともに、オープンしているファイルのテーブル
を表示します:
.Bl -tag -width indent
.It LOC
このテーブルエントリの core 中における位置
.It TYPE
このテーブルエントリが指すオブジェクトの型
.It FLG
その他の状態。以下のように記号化されています:
.Bl -tag -width indent
.It R
読み込み用にオープンされている
.It W
書き込み用にオープンされている
.It A
追加用にオープンされている
.It S
共有ロックが存在している
.It X
排他的ロックが存在している
.It I
データの準備ができたらプロセスグループにシグナルを送る
.El
.It CNT
オープンされたこのファイルのことを知っているプロセスの数
.It MSG
このファイルに向けられているメッセージの数
.It DATA
このファイルに関する vnode テーブルエントリもしくはソケット構造体の位置
.It OFFSET
ファイルオフセット
.Pf ( Xr lseek 2
参照)
.El
.It Fl s
カーネルに登録されたすべてのスワップ領域について、
利用状況に関する情報を表示します。第1の欄はパーティションのデバイス名
です。次の欄はそのパーティションで利用できる領域全体の大きさです。
.Ar Used
の欄は、現在使われているブロックの合計の大きさを示しています。
.Ar Available
の欄は、各パーティションに残っている領域の大きさを示しています。
.Ar Capacity
は領域の何%が使われているかを示します。
.Pp
2つ以上のパーティションをスワップ領域としてシステムに
設定している場合は、すべての項目について最後の行に合計が
報告されます。
.It Fl t
次のようなヘッダとともに、端末のテーブルを表示します。
.Bl -tag -width indent
.It RAW
rawな入力キューにある文字数
.It CAN
正規化された入力キューにある文字数
.It OUT
出力キューにある文字数
.It MODE
.Xr tty 4
を参照
.It ADDR
物理デバイスアドレス
.It DEL
正規化された入力キューにある区切り文字(改行)の数
.It COL
端末の計算した列の位置
.It STATE
その他の状態。以下のように記号化されています:
.Bl -tag -width indent
.It T
delay がタイムアウトしようとしている
.It W
オープンが完了するのを待っている
.It O
オープンしている
.It F
DMA 中に出力キューがフラッシュされた
.It C
キャリアがオン
.It c
接続している
.It B
出力中のためビジー
.It A
プロセスは出力キューに空きができるのを待っている
.It a
プロセスは出力の完了を待っている
.It X
排他的な利用のためにオープンしている
.It S
出力が停止した (ixon フロー制御の場合)
.It m
出力が停止した (carrier フロー制御の場合)
.It o
出力が停止した (CTS フロー制御の場合)
.It d
出力が停止した (DSR フロー制御の場合)
.It K
入力が停止した
.It Y
入力イベントの際に SIGIO を送る
.It D
小文字(lowercase)の
.Ql \e
が動作する状態
.It E
PRTRUBのため
.Ql \e.../
の中にいる
.It L
次の文字はリテラルである
.It P
中断された入力を再タイプしている (PENDIN)
.It N
タブ幅を数えている、FLUSHO を無視する
.It l
ブロックモード入力ルーチンは使用中
.It s
i/o が snoop された
.It Z
接続が失われた
.It SESS
セッション構造体のカーネル内アドレス
.It PGID
この端末を制御端末としているプロセスグループ
.It DISC
回線規約;
.Ql term
(TTYDISC の場合)
,
.Ql ntty
(NTTYDISC の場合)
,
.Ql tab
(TABLDISC の場合)
,
.Ql slip
(SLIPDISC の場合)
,
.Ql ppp
(PPPDISC の場合)
のいずれか
.El
.It Fl v
アクティブな vnode を表示します。あるファイルシステムに対応する
一連のvnodeには 2 行のヘッダが付いています。1 行目は以下のように
構成されています:
.Pp
.Df I
.No *** MOUNT Em fstype from
on
.Em on fsflags
.De
.Pp
ここで
.Em fstype
には、
.Em ufs , nfs , mfs , pc
のいずれかが入ります。
.Em from
にはどのファイルシステムがマウント
されているか、
.Em on
にはファイルシステムがどこにマウントされ
ているか、
.Em fsflags
にはマウントで適用されるオプション
.Pf ( Xr mount 8
を参照)が列挙されます。
2 行目は各フィールドを説明するヘッダです。
最初の部分は固定で、2 番目の部分はファイルシステムのタイプによります。
すべてのvnodeで共通なヘッダは以下の通りです:
.Bl -tag -width indent
.It ADDR
このvnodeの位置
.It TYP
ファイルタイプ
.It VFLAG
.Pp
vnodeのフラグを表す文字のリスト:
.Bl -tag -width indent
.It R
\- VROOT
.It T
\- VTEXT
+.It S
+\- VSYSTEM
+.It t
+\- VISTTY
.It L
\- VXLOCK
.It W
\- VXWANT
-.It E
-\- VEXLOCK
-.It S
-\- VSHLOCK
-.It T
-\- VLWAIT
-.It A
-\- VALIASED
.It B
\- VBWAIT
+.It A
+\- VALIASED
+.It V
+\- VOBJBUF
+.It a
+\- VAGE
+.It l
+\- VOLOCK
+.It w
+\- VOWANT
.El
.Pp
.It USE
この vnode への参照数
.It HOLD
この vnode が確保している I/O バッファの数
.It FILEID
vnode フィールド。
.Em ufs
の場合は inode 番号
.It IFLAG
ファイルシステムに固有なその他の状態。
以下のように記号化されています:
.Pp
.Bl -tag -width indent
.It "ufsの場合:"
.Bl -tag -width indent
.It L
ロックされている
.It U
更新時間
.Pf ( Xr fs 5
参照)は修正されなければならない
.It A
アクセス時刻は修正されなければならない
.It W
別のプロセスに要求されている(Lフラグがオン)
.It C
変更時刻は修正されなければならない
.It S
共有ロックが適用されている
.It E
排他的ロックが適用されている
.It Z
ロックを待っているものがいる
.It M
変更がある
.It R
リネーム中
.El
.It "nfsの場合:"
.Bl -tag -width indent
.It W
I/O バッファのフラッシュが完了するのを待っている
.It P
I/O バッファがフラッシュされている最中
.It M
ローカルで変更されたデータがある
.It E
以前の書き込みに失敗したものがある
.It X
キャッシュを行わないリース(lease)(nqnfs)
.It O
書き込みリース(lease)(nqnfs)
.It G
リース(lease)が破棄された(nqnfs)
.El
.El
.It SIZ/RDEV
通常のファイルの場合はバイト数、特殊ファイルの場合は
メジャーデバイスとマイナーデバイス
.El
.It Fl i
.Fl v
と同じですが、バックワードコンパチビリティのためにあります。
.El
.Sh 関連ファイル
.Bl -tag -width /dev/memxxx -compact
.It Pa /kernel
名前リスト
.It Pa /dev/mem
デフォルトのテーブル情報源
.El
.Sh 関連項目
.Xr ps 1 ,
.Xr systat 1 ,
.Xr stat 2 ,
.Xr fs 5 ,
.Xr iostat 8 ,
.Xr vmstat 8
.Pp
.Sh バグ
.Pp
.Tn NFS
スワップサーバはサポートしていません。
.Sh 歴史
.Nm pstat
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja/man/man8/pw.8 b/ja/man/man8/pw.8
index 322a99d280..f8c181a094 100644
--- a/ja/man/man8/pw.8
+++ b/ja/man/man8/pw.8
@@ -1,804 +1,860 @@
.\" 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.
.\"
-.\" %Id: pw.8,v 1.1.1.1.2.5 1997/11/04 07:16:14 charnier Exp %
+.\" %Id: pw.8,v 1.13 1998/03/23 08:28:12 charnier Exp %
.\" jpman %Id: pw.8,v 1.3 1997/10/28 15:30:48 kuriyama Stab %
.\"
+.\" WORD: primary group プライマリグループ(/etc/passwd のグループIDで決まるグループ)
+.\"
.Dd December 9, 1996
.Dt PW 8
.Os
.Sh 名称
.Nm pw
.Nd システムユーザ、グループの作成、削除、変更、表示
.Sh 書式
.Nm pw
.Ar useradd
.Op name|uid
.Op Fl C Ar config
.Op Fl q
.Op Fl n Ar name
.Op Fl u Ar uid
.Op Fl c Ar comment
.Op Fl d Ar dir
.Op Fl e Ar date
.Op Fl p Ar date
.Op Fl g Ar group
.Op Fl G Ar grouplist
.Op Fl m
.Op Fl k Ar dir
.Op Fl s Ar shell
.Op Fl o
.Op Fl L Ar class
.Op Fl h Ar fd
.Op Fl N
.Op Fl P
+.Op Fl Y
.Nm pw
.Ar useradd
.Op name|uid
-.Op Fl D
+.\" -D オプションは省略可能の通常のオプションではないのでこれでよい
+.Fl D
.Op Fl C Ar config
.Op Fl q
.Op Fl b Ar dir
.Op Fl e Ar days
.Op Fl p Ar days
.Op Fl g Ar group
.Op Fl G Ar grouplist
.Op Fl k Ar dir
.Op Fl u Ar min,max
.Op Fl i Ar min,max
.Op Fl w Ar method
.Op Fl s Ar shell
+.Op Fl y Ar path
.Nm pw
.Ar userdel
.Op name|uid
.Op Fl n Ar name
.Op Fl u Ar uid
.Op Fl r
+.Op Fl Y
.Nm pw
.Ar usermod
.Op name|uid
.Op Fl C Ar config
.Op Fl q
.Op Fl n Ar name
.Op Fl u Ar uid
.Op Fl c Ar comment
.Op Fl d Ar dir
.Op Fl e Ar date
.Op Fl p Ar date
.Op Fl g Ar group
.Op Fl G Ar grouplist
.Op Fl l Ar name
.Op Fl m
.Op Fl k Ar dir
.Op Fl w Ar method
.Op Fl s Ar shell
.Op Fl L Ar class
.Op Fl h Ar fd
.Op Fl N
.Op Fl P
+.Op Fl Y
.Nm pw
.Ar usershow
.Op name|uid
.Op Fl n Ar name
.Op Fl u Ar uid
.Op Fl F
.Op Fl P
.Op Fl a
.Nm pw
.Ar usernext
.Op Fl C Ar config
.Op Fl q
.Nm pw
.Ar groupadd
.Op group|gid
.Op Fl C Ar config
.Op Fl q
.Op Fl n Ar group
.Op Fl g Ar gid
.Op Fl M Ar members
.Op Fl o
.Op Fl h Ar fd
.Op Fl N
.Op Fl P
+.Op Fl Y
.Nm pw
.Ar groupdel
.Op Fl n Ar name
.Op Fl g Ar gid
+.Op Fl Y
.Nm pw
.Ar groupmod
.Op Fl C Ar config
.Op Fl q
.Op Fl F
.Op Fl n Ar name
.Op Fl g Ar gid
.Op Fl l Ar name
.Op Fl M Ar members
.Op Fl m Ar newmembers
.Op Fl h Ar fd
.Op Fl N
.Op Fl P
+.Op Fl Y
.Nm pw
.Ar groupshow
.Op Fl n Ar name
.Op Fl g Ar gid
.Op Fl F
.Op Fl P
.Op Fl a
.Nm pw
.Ar groupnext
.Op Fl C Ar config
.Op Fl q
.Sh 解説
.Nm pw
は、システムの
.Ar user
.Ar group
ファイルのユーザ、グループを簡単に、標準的な方法で追加、変更、削除
することができるようにするコマンドライン版のエディタです。
.Nm
は、ローカルな user ファイルと group ファイルを操作することができるだ
けだということに注意して下さい。 NIS のユーザ、グループは NIS サーバ上
で管理しなければなりません。
.Nm
-は root で実行されなければならず、
+は
.Pa passwd ,
.Pa master.passwd ,
.Pa group
ファイルや、安全なまたは安全でないパスワードデータベースファイル
-の更新作業を行います。
+の更新作業を行いますので、 root で実行されなければなりません。
.Pp
-.Xr pw 8
+.Nm
のコマンドラインにかかれている最初の一つか二つのキーワードは、引数の残り
-に対する文脈を規定します。
+を解釈する際の文脈を指定します。
.Ar user
.Ar group
のキーワードはどちらも、
.Ar add ,
.Ar del ,
.Ar mod ,
.Ar show ,
.Ar next
-と組み合わせるか、分離して用いることができ、どちらの順序 (例えば
-showuser, usershow, show user, user show はすべて同じことと
-みなされます) で指定してもかまいません。
-この柔軟性は、実際のユーザ、グループデータベース操作のために
+と組み合わせて用いることができ、どのような順序 (例えば
+.Ar showuser ,
+.Ar usershow ,
+.Ar show user ,
+.Ar user show
+はすべて同じこととみなされます) で指定してもかまいません。
+この柔軟性は、ユーザ、グループデータベース操作のために
.Nm
-を呼ぶ対話的なスクリプトには便利です。
+を呼び出す対話的なスクリプトには便利です。
.Fl n Ar name ,
.Fl u Ar uid ,
.Fl g Ar gid
オプションを使う代わりに、
これらのキーワードに続けてユーザ名、グループ名、数字の ID のうち一つ
を指定することができます。
.Pp
-以下のフラグは操作のすべてのモードで共通です:
+以下のフラグは操作のほとんどのモードで共通です。
.Pp
.Bl -tag -width "-G grouplist"
.It Fl C Ar config
.Nm
は新しいユーザアカウントとグループはどのように作られるべきかという
方針の情報を得るために、デフォルトではファイル
.Pa /etc/pw.conf
-を読み込みますが、
+を読み込みます。
.Fl C
オプションで異なる設定ファイルを指定できます。
設定ファイルのほとんどの内容は、コマンドライン
オプションにより上書きされますが、新しいアカウントを追加するための標準
-的な情報を設定ファイルに設定しておくと
-より便利かもしれません。
+的な情報を設定ファイルに設定しておいた方が
+便利かもしれません。
.It Fl q
このオプションを使うと
.Nm
-はエラーメッセージを抑制します。これは、注意深くフォーマットされたディスプレイへのメッセージ表示よりも、
+はエラーメッセージを抑制します。
+これは、注意深くフォーマットされたディスプレイへのメッセージ表示よりも、
.Nm
から返された戻り値を解釈する方が好まれるような対話的な環境では
便利かもしれません。
.It Fl N
-このオプションは add と modify 操作で使います。
+このオプションは
+.Ar add
+と
+.Ar modify
+操作で使います。
.Nm
-は、ユーザ/グループデータベースの更新をスキップして、操作を実際には
-実行せずに、代わりに結果だけを出力します。
+は、ユーザ/グループデータベースを更新せずに、操作の結果だけを出力します。
.Fl P
-オプションを使うと、標準 passwd と可読なフォーマットの切り替えが
-できます。
+オプションを使うと、標準 passwd フォーマットと可読なフォーマットの
+切り替えができます。
+.It Fl Y
+更新モードのいずれかと、このオプションとをいっしょに使うことで、
+.Nm
+は、
+.Pa /var/yp
+にカレントディレクトリを移動させてから
+.Xr make 1
+を実行します。これは、NIS データベースファイルの自動更新を可能とする
+ためのものです。NIS が別のパスワードファイル、グループファイルを
+使っている場合、
+.Fl y Ar path
+オプションを使い、NIS パスワードデータベースの位置を指定すると
+よいでしょう。これにより、
+.Nm
+は、システムパスワードデータベースと並行してこれらのデータベースも
+同時に更新します。
.El
.Pp
.Sh ユーザオプション
以下のオプションは
.Ar useradd
.Ar usermod
コマンドに付けます:
.Pp
.Bl -tag -width "-G grouplist"
.It Fl n Ar name
ユーザ名/アカウント名を指定します。
.It Fl u Ar uid
ユーザ ID / アカウント ID を数字で指定します。
.Pp
アカウント名は uid を含み、逆も同様であるため、通常これらのオプション
のどちらか片方しか必要ではありません。
-また
-.Ql Fl n
-や
-.Ql Fl u
-を使わなくても、コマンドライン上で
-.Ar useradd ,
-.Ar userdel ,
-.Ar usermod ,
-.Ar usershow
-キーワードの直後にアカウントとユーザIDのどちらでも続けることができます。
しかし、両方を指定しなければならないこともしばしばあります。
-例えば、存在するユーザの uid を
+例えば、すでに存在するユーザの uid を
.Ar usermod
で変えたり、新しいアカウントを作るときにデフォルトの uid を上書きした
りするときです。
.Nm
.Ar useradd
を使って新しいユーザに uid を自動的に割り当てたい場合は、
.Ql Fl u
オプションを使っては
.Em いけません
+コマンドライン上で
+.Ar useradd ,
+.Ar userdel ,
+.Ar usermod ,
+.Ar usershow
+キーワードの直後なら、アカウントとユーザIDのどちらかを
+.Ql Fl n
+や
+.Ql Fl u
+を使わずにそのまま続けて書くことができます。
.El
.Pp
-.Ar useradd
-と
-.Ar usermod
-の両方で使えるオプション:
.Bl -tag -width "-G grouplist"
.It Fl c Ar comment
このオプションは passwd の GECOS フィールドの内容をセットします。
-このフィールドは、コンマで区切られた四つのサブフィールドで、一般的には
+このフィールドは、コンマで区切られた 4 つのサブフィールドで、一般的には
ユーザの姓名、勤務先または地区、職場と自宅の電話番号を含みます。
これらのサブフィールドは慣習的に使われるだけであり、省略可能です。
このフィールドが空白を含む場合、コメント自身をダブルクォート
.Ql \&"
でくくらなければなりません。
-サブフィールドの区切りで使われたような、フィールド内のコンマの使用は
+コンマはサブフィールドの区切りとして使われるので、フィールド内での使用は
避けて下さい。そして、コロン
.Ql \&:
キャラクタも passwd ファイルのフィールド区切りであるため使えません。
.It Fl d Ar dir
このオプションは、アカウントのホームディレクトリを設定します。
-通常、これはホームディレクトリがデフォルト (基本のホームディレクトリ
-- 普通
+通常、これはホームディレクトリが
+.Pa /etc/pw.conf
+から決まるデフォルト
+(ふつうは
.Pa /home
-と サブディレクトリとしてのアカウント名 - を指定する
-pw.conf で決定されます) と異なる場合にだけ使うことになるでしょう。
+の下でアカウント名をサブディレクトリとしたもの)
+と異なる場合にだけ使うことになるでしょう。
.It Fl e Ar date
アカウントが破棄される日付をセットします。
この日付のフォーマットは、 10 進の UNIX 時間か
-.Ql \& dd-mmm-yy[yy]
+.Ql dd-mmm-yy[yy]
フォーマットの日付のどちらかになり、後者は dd が日、mmmが月で、数字と
アルファベット('Jan', 'Feb' 等)のどちらでもよく、年は 2 または 4 桁の
数字からなります。
このオプションは、
.Ql \&+n[mhdwoy]
の形の相対的な日付も受け付けます。
.Ql \&n
は 10 進数、 8 進数 (0 から始まる) 、 16 進数 (0x で始まる) の数字で、
その後に現在の日付時刻から破棄される日までの分(m)、時(h)、日(d)、
曜日(w)、月(o)、年(y)の数がセットされます。
.It Fl p Ar date
アカウントのパスワードが破棄される日付をセットします。
-このフィールドは、強制的なパスワードの変更を適用することを除けば、
-アカウントを破棄するオプションと同等です。
-アカウントを破棄するオプションと同じフォーマットを受け付けます。
+このフィールドは、パスワードの強制的な変更に対して適用されることを除けば、
+アカウント破棄日付指定オプションと似ています。
+これは、
+.Ql Fl e
+オプションと同様にしてセットされます。
.It Fl g Ar group
-与えられた group をアカウントの初期グループにセットします。
+与えられた group をアカウントのプライマリグループにセットします。
.Ar group
-は、グループ名または対応するグループ ID 番号が使えます。
+は、グループ名またはグループ ID 番号で定義されます。
.It Fl G Ar grouplist
-アカウントが属する別のグループをセットします。
+そのアカウントの追加グループをセットします。
.Ar grouplist
-は、コンマ区切りのリスト、またはグループ名、またはグループ IDです。
-ユーザを加える場合、
+は、コンマで区切られた、グループ名またはグループ ID 番号のリストです。
.Pa /etc/group
-の各グループにユーザ名が追加されます。
-ユーザを編集する場合、
-.Ar grouplist
-に指定されたグループにユーザ名が加えられ、
-指定されなかったグループからは除かれます。
+の、グループリストで指定されたグループにそのユーザ名が追加され、
+グループリストで指定されないグループからそのユーザ名が削除されます。
注意: ユーザは
.Pa /etc/group
-の初期グループには加えられるべきではありません。
+のプライマリグループには加えられるべきではありません。
また、グループのメンバの変更は現在のログインにはすぐには影響されず、変
更後のログインにだけ影響します。
.It Fl L Ar class
このオプションは生成されたユーザのログインクラスをセットします。
-ユーザクラスに関する情報は
+ユーザログインクラスに関する情報は
.Xr login.conf 5
を参照して下さい。
.It Fl m
このオプションは、ユーザのホームディレクトリの作成を試みるように
.Nm
に指示します。
もちろんこれは
.Ar useradd
で新しいアカウントを加えるときにも役に立ちますが、
-存在するユーザのホームディレクトリをファイルシステムの別の場所に
-移動する、という使い方もできます。
-新しいホームディレクトリは、一般にユーザが個人的に使う
-シェルの設定ファイル一式を含む、
-.Ar 雛型
-ディレクトリの内容と共に移されます。
+すでに存在するユーザのホームディレクトリを、ファイルシステムの別の場所に
+移動するという使い方もできます。
+新しいホームディレクトリには、
+.Ar 雛型(skeleton)
+ディレクトリの内容が置かれます。
+ここには、普通、ユーザが個人的に使うシェルの設定ファイル一式
+が含まれています。
.Ar usermod
にアカウントを指定して
.Ql Fl m
-が用いられると、そのユーザのホームディレクトリにある
-設定ファイルはプロトタイプのファイルで
+を用いる際には、そのユーザのホームディレクトリにある
+設定ファイルは、雛型ディレクトリのファイルで
.Em 上書きされません
.Pp
-ユーザのホームディレクトリが作成されるとき、デフォルトで
+ユーザのホームディレクトリが作成されるとき、デフォルトでは、
.Ql Fl b Ar dir
オプション (下記参照) で指定された
.Ar basehome
ディレクトリのサブディレクトリとして作られ、アカウント名と同じ名前が付
けられます。
コマンドラインに
.Ql Fl d Ar dir
-オプションを付けると、上書きするようにもできます。
+オプションを付けると、上書きするようにすることもできます。
.It Fl k Ar dir
このオプションは、
.Ar 雛型
-のサブディレクトリをセットします。ユーザのホームディレクトリが作成
+ディレクトリをセットします。ユーザのホームディレクトリが作成
されるとき、そこから基本の起動時ファイル、設定ファイル
がコピーされます。
このオプションは、
-.Ql Fl D
+.Ql Fl d
(下記参照) や
.Ql Fl m
-と共に使ったときにのみ意味があります。
+とともに使ったときにのみ意味があります。
.It Fl s Ar shell
ユーザのログインシェルを
.Ar shell
にセットまたは変更します。
シェルプログラムへのパスが省略されると、
.Nm
.Pa /etc/pw.conf
で指定された
.Ar shellpath
を探し、それを適切に補います。
パスを指定するのは、特別な理由があるのでなければ、避けるべきだ
ということを覚えておきましょう。
指定しないことで、プログラムが存在し、かつ実行可能であることを
.Nm
に確認させることができるからです。
フルパスを指定する (または空のままの "" シェルにしておく) と
このチェックをせず、対話的なログインをさせないアカウントを
設定しなければならないときに設定される
.Pa /nonexistent
のようなエントリを作ることができます。
.It Fl L Ar class
ユーザの passwd レコード内の
.Em class
フィールドをセットします。
このフィールドは現在使われていませんが、将来は
.Em termcap
エントリのようなタグ (詳細は
.Xr passwd 5
を参照のこと) を指定するために使われるでしょう。
.It Fl h Ar fd
このオプションは、
.Nm
-を使ってアカウントパスワードを設定することができる対話的なスクリプトを
+が対話的なスクリプトを使ってアカウントパスワードを
設定できるような特別のインタフェースを用意します。
コマンドラインと環境は、プログラムが情報を受け取るしくみとしては
基本的に安全ではないため、
.Nm
はファイル記述子 (通常対話的スクリプトとプログラム間のパイプ)
を通してのみ、アカウントとグループのパスワードの設定を許可します。
.Ar sh ,
.Ar bash ,
.Ar ksh ,
.Ar perl
は皆、これができるしくみを持っています。
.Ql Fl h Ar 0
が指定されると、代わりに
.Nm
-はユーザのパスワードを求めるプロンプトを出し、
+はユーザのパスワード入力を求めるプロンプトを出し、
.Em stdin
をパスワードを読み込むファイル記述子とします。
-このパスワードは一度しか読み込まれず、対話的な使用よりも
+パスワードは一度しか入力されません。対話的な使用よりも
スクリプト向きにできていることに注意して下さい。
.Xr passwd 1
-の行に合わせて新しいパスワードの確認をしたい場合、これは
+の行に合わせて新しいパスワードの確認をしたい場合、この機能は、
.Nm
-を呼び出す対話的なスクリプトの一部として実装されるべきです。
+を呼び出す対話的なスクリプトの一部として実装する必要があります。
.Pp
引数
.Ar fd
として
.Ql \&-
が与えられると、パスワードとして
.Ql \&*
-がセットされ、そのアカウントにはパスワードでログインすることが
+がセットされ、そのアカウントにはパスワードを使ってログインすることが
できないようになります。
.El
.Pp
.Ar useradd
を使うことで、存在するユーザ ID と重複する新しいアカウントを作成するこ
とができるようになります。
-これは普通エラーになって拒否されるはずですが、
+これは普通エラーになって拒否されますが、
.Ql Fl o
-オプションが重複チェックを上書きし、ユーザ ID の重複を
+オプションにより、重複チェックを上書きしユーザ ID の重複を
許すことになります。
これは、同一のユーザが異なるコンテキスト(異なるグループ割り当てや
異なるホームディレクトリ、異なるシェル)でログインするのを許可する
-場合に、各アカウントに基本的に同一のアクセス権を与える場合に便利です。
+場合に、各アカウントに基本的に同一のアクセス権を与える場合に
+使用できます。
.Pp
.Ar useradd
コマンドは
.Ql Fl D
オプションを使うことで新しいユーザとグループのデフォルトも設定できます。
新しいユーザを付け加える代わりに、
.Nm
は設定ファイル
.Pa /etc/pw.conf
に新しいデフォルトのセットを書き込みます。
.Ql Fl D
オプションを使う場合、
.Ql Fl n Ar name
.Ql Fl u Ar uid
を使ってはいけません。そうでないとエラーになります。
.Ql Fl D
を使うと、
.Ar useradd
コマンドのいくつかのコマンドラインスイッチの意味が変わります。
それは:
.Bl -tag -width "-G grouplist"
.It Fl D
設定ファイル
.Pa /etc/pw.conf
( もしくは
.Ql Fl C Ar config
オプションが使われたときは異なる名前の設定ファイル )
の中でのデフォルトの値をセットします。
.It Fl b Ar dir
ユーザホームディレクトリが作成されるルートディレクトリをセットします。
このオプションのデフォルトの値は
.Pa /home
ですが、他の好きなディレクトリにセットできます。
.It Fl e Ar days
デフォルトのアカウントの有効期間を日数でセットします。
.Ql Fl D
を付けずに使われる場合と異なり、引数はアカウントが作成されてから無効に
なるまでの日数を指定する数字でなければなりません。
- 0 という値は、破棄する日付の自動算出を抑制します。
+0 という値は、破棄する日付の自動算出を抑制します。
.It Fl p Ar days
デフォルトのパスワードの有効期間を日数でセットします。
.It Fl g Ar group
新しいユーザのデフォルトのグループをセットします。
.Ql Fl g Ar \&""
-を使って空のグループを指定すると、新しいユーザは自分自身の私的な初期
+を使って空のグループを指定すると、新しいユーザは自分自身の私的なプライマリ
グループ (ログイン名と同じ名前の新しいグループが作成されます) に
割り当てられます。
グループの指定には、名前または uid を引数として与えることができます。
.It Fl G Ar grouplist
新しいユーザが所属するデフォルトのグループ群を指定します。
-これは初期グループとは区別されたグループのセットで、一つの同じグルー
-プを初期グループとこの別グループ群の両方に指定することは
+これはプライマリグループとは別のグループの集合で、一つの
+グループをプライマリグループとこの別グループ群の両方に指定することは
避けなければなりません。
-言い替えると、これらの別グループ群では初期グループ
+言い替えると、これらの別グループ群ではプライマリグループ
.Em 以外の
グループの構成メンバが決められます。
.Ar grouplist
-はコンマ区切りのグループ名もしくは ID 、もしくはそれらの混在で、
+はコンマ区切りのグループ名もしくは ID で、
.Pa /etc/pw.conf
-の中にシンボリック名で保存されます。
+の中にシンボル名で保存されます。
.It Fl L Ar class
-このオプションは、新しいユーザのデフォルトのログインクラスを
+このオプションは、新しいユーザのためのデフォルトのログインクラスを
セットします。
.It Fl k Ar dir
デフォルトの
.Em 雛型
ディレクトリをセットし、
.Nm
がユーザのホームディレクトリを作成するときに、
そこからシェルなどの初期化ファイルのプロトタイプがコピーされます。
.It Fl u Ar min,max , Fl i Ar min,max
これらのオプションは、
.Nm
により作成された新しいアカウントとグループのために割り当てるユーザと
グループの最小の ID と最大の ID をセットします。
デフォルト値はどちらも最小 1000 で最大 32000 です。
.Ar min
.Ar max
はどちらも数字で、 max は min より大きく、両方とも 0 から 32767 の範囲
内でなければなりません。
一般に 100 未満のユーザ ID とグループ ID はシステムに予約されており、
32000 より大きな数も (システム daemon が使う) 特殊な目的に
予約されています。
.It Fl w Ar method
.Ql Fl w
オプションは新しく作成されたユーザアカウントのパスワードをセットするの
に使われるデフォルトの方法を指定します。
.Ar method
は以下のうちの一つです:
.Pp
.Bl -tag -width random -offset indent -compact
.It no
新しく作成されたアカウントでのログインを不可とします。
.It yes
アカウント名をパスワードにします。
.It none
パスワードを空欄にします。
.It random
ランダムパスワードを生成します。
.El
.Pp
-The
.Ql \&random
.Ql \&no
method は、最も安全です。前者の場合、
.Nm
はパスワードを生成し、標準出力に出力します。
このパスワードは、ユーザがそのアカウントにアクセスするパスワードとして
あなたが発行しますが、ユーザ自身が自分のパスワードを指定
(多分ひどい選択です) するものより適切です。
.Ql \&no
method にした場合、パスワードでアクセスできるアカウントを与えるために
スーパユーザが
.Xr passwd 1
を使わなければなりません。
+.It Fl y Ar path
+.Pa /etc/master.passwd
+からの情報を直接 NIS と共有しない場合、
+このオプションは、NIS が使うデータベースのパス名を設定します。
+NIS サーバに対してのみこのオプションを指定するべきでしょう。
.El
.Pp
.Ar userdel
-コマンドには三つしか正しいオプションがありません。
+コマンドには指定可能なオプションは 3 つしかありません。
.Ql Fl n Ar name
.Ql Fl u Ar uid
-オプションには、既に前述の説明があります。
-追加オプション:
+オプションは、既に説明したとおりです。
+追加のオプションは以下のものです。
.Bl -tag -width "-G grouplist"
.It Fl r
このオプションで、
.Nm
はユーザのホームディレクトリとその内容のすべてを削除します。
.Nm
はシステムからファイルを削除するとき、慎重すぎるやり方をとります。
まず、削除されるアカウントの uid がシステムの別のアカウントでも使われ
ていて、パスワードファイルの 'ホーム' ディレクトリが文字
.Ql \&/
で始まる正しいパスであった場合にはファイルは削除されません。
次に、ファイルやディレクトリが実際にそのユーザのものであるか、
誰かの所有であるシンボリックリンクがユーザのホームディレクトリ下にある
場合にだけ削除されます。
最後に、そのユーザの所有であるすべての中身を削除した後、
空のディレクトリだけが削除されます。
更に別の一掃が必要なときは、管理者に任されます。
.El
.Pp
-メールスプールファイルと crontab はユーザ名に無条件に付属しているもの
+メールスプールファイルと crontab は、ユーザ名に無条件に付属しているもの
なので、アカウントが削除されたとき常に削除されます。
.Ar at
コマンドによって処理待ちのキューに入っているジョブも、ユーザの uid
-がユニークである (そのシステムの別のアカウントに使われていない) 場合は
+がユニークであり、かつ、そのシステムの別のアカウントに使われていない場合は
削除されます。
.Pp
.Ar usershow
コマンドは、二種類のフォーマットでアカウントを閲覧できます。
フォーマットは、デフォルトで
.Pa /etc/master.passwd
で使われているものと同じで、パスワードフィールドは
.Ql \&*
に置き換えられています。
.Ql Fl P
オプションが使われると、
.Nm
はより人間に読みやすい形でアカウントの詳細を出力します。
.Ql Fl a
オプションは、現在ファイルにあるすべてのユーザをリストします。
.Pp
.Ar usernext
コマンドは、利用可能な次のユーザ ID とグループ ID を
コロン区切りで返します。
これは、通常
.Nm
を使う対話的なスクリプトやフロントエンド用です。
.Pp
.Sh グループオプション
グループを操作するコマンドには、
-.Ql Fl C Ar config
+.Ql Fl
.Ql Fl q
オプション (前セクションの始めに説明があります) が使えます。
他のグループ関係のコマンド:
.Bl -tag -width "-m newmembers"
.It Fl n Ar name
グループ名を指定します。
.It Fl g Ar gid
グループの ID を数字で指定します。
.Pp
グループ名は uid を意味し、逆も同様なので、アカウント名
と ID フィールドとして、普通どちらか一つを付ければよいのです。
両方を指定する必要があるのは、新しいグループに指定したグループ ID を
設定するとき、または存在するグループの uid を変えたいときだけです。
.It Fl M Ar memberlist
このオプションは、存在するユーザを新しいグループに (groupaddで)
加えたり、存在するメンバリストを (groupmodで) 新しいものに取り換える
もうひとつの方法です。
.Ar memberlist
は正当で、存在するユーザ名または uid のコンマ区切りのリストです。
.It Fl m Ar newmembers
-.Op M
+.Ql Fl M
オプションと同様、このオプションは最初に存在するメンバのリストを
入れ換えることなく、グループに存在するユーザを
.Em 追加
します。
ログイン名またはユーザ ID を使うことができ、重複するユーザは警告無く
-自動的に削除されます。
+削除されます。
.El
.Pp
.Ar groupadd
にも、存在するグループ ID を新しいグループに割り当てる
.Ql Fl o
オプションがあります。
デフォルトの動作は、グループ追加の試みを拒否することになっており、この
オプションはグループ ID の重複チェックを上書きします。
グループ ID を重複させる必要は滅多にありません。
.Pp
.Ar groupmod
コマンドには、一つの追加オプションがあります:
.Pp
.Bl -tag -width "-m newmembers"
.It Fl l Ar name
このオプションで、存在するグループ名を
.Ql \&name
に変更することができます。
新しい名前は存在しないものでなければならず、存在するグループ名と
重複させようとすると拒否されます。
.El
.Pp
.Ar groupshow
へのオプションは
.Ql Fl u Ar uid
の代わりにグループ ID を指定する
.Ql Fl g Ar gid
を付けた
.Ar usershow
と同じです。
.Pp
.Ar groupnext
コマンドは、次に使用できるグループ ID を標準出力に返します。
.Sh 診断
.Nm
は、操作に成功すると EXIT_SUCCESS を返し、そうでなければ
.Xr sysexits 3
により定義された以下の戻り値のうちどれかひとつを返します:
.Bl -tag -width xxxx
.It EX_USAGE
.Bl -bullet -compact
.It
コマンドラインのシンタックスエラー (不適切なキーワード、未定義オプション)。
.El
.It EX_NOPERM
.Bl -bullet -compact
.It
root でないユーザとして、何らかの更新を実行しようとした。
.El
.It EX_OSERR
.Bl -bullet -compact
.It
メモリアロケーションエラー。
.It
パスワードファイル記述子の読み出しエラー
.El
.It EX_DATAERR
.Bl -bullet -compact
.It
コマンドライン上やパスワードファイル記述子の、間違った、または正しくな
いデータや欠落データ。
.It
root アカウントの名前や uid の変更、削除をしようとした。
.El
.It EX_OSFILE
.Bl -bullet -compact
.It
雛型ディレクトリが適切でない、または存在しない。
.It
基本ホームディレクトリが適切でない、または存在しない。
.It
指定したシェルが適切でない、または存在しない。
.El
.It EX_NOUSER
.Bl -bullet -compact
.It
指定されたユーザ、ユーザ ID 、グループ、グループ ID が存在しない。
.It
記録、追加、または更新されたユーザ、グループが予期せず無くなった。
.El
.It EX_SOFTWARE
.Bl -bullet -compact
.It
指定した範囲には未使用グループ ID 、ユーザ ID が残っていない。
.El
.It EX_IOERR
.Bl -bullet -compact
.It
設定ファイルの書き換えができない。
.It
グループやユーザデータベースファイルの更新時エラー。
.It
パスワードまたはグループデータベースファイルの更新時エラー。
.El
.It EX_CONFIG
.Bl -bullet -compact
.It
基本ホームディレクトリが設定されていない。
.El
.El
.Pp
.Sh 注釈
各コマンドに使用可能なオプションの要約として、
.Dl pw [command] help
が使えます。例えば、
.Dl pw useradd help
は useradd 操作に使用できるすべてのオプションをリストします。
+.Pp
+.Nm Pw
+は、passwd ファイルの GECOS フィールド(ユーザの姓名、オフィス、業務用
+電話番号、自宅電話番号のサブフィールドがあります)に 8 ビット文字を
+使うことができます。しかし、8 ビット文字をユーザログイン名やグループ
+名に使うことはできません。8 ビット文字の使用に際して、以下の点に注意して
+ください。
+インターネットとの接続に際しては、メール配送プログラムが 8BITMIME を
+サポートしていることが要求されており、8 ビット文字を含むヘッダは
+7 ビットの quoted-printable フォーマットに変換されてしまいます。
+.Xr sendmail 8
+はこの機能をサポートしています。 GECOS フィールドに 8 ビット文字を
+置く際は、ユーザのデフォルトロケールとデフォルト文字集合といっしょに
+使用するべきで、これらを使用せずに実装してはいけません。
+8 ビット文字の使用は、
+.Xr fingerd 8
+のように、インターネット経由で GECOS フィールドの内容を
+やりとりする他のプログラムにも影響を及ぼす可能性があります。
+TCP/IP クライアントの中には、IRC のように、少数ながらもパスワード
+ファイルに指定されたフルネームをデフォルトで使用するものも
+あります。
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd.new -compact
.It Pa /etc/master.passwd
ユーザデータベース
.It Pa /etc/passwd
Version 7 フォーマットのパスワードファイル
.It Pa /etc/login.conf
ユーザケーパビリティデータベース (user capability database)
.It Pa /etc/group
グループデータベース
.It Pa /etc/master.passwd.new
マスタパスワードファイルの一時コピー
.It Pa /etc/passwd.new
Version 7 パスワードファイルの一時コピー
.It Pa /etc/group.new
グループファイルの一時コピー
.It Pa /etc/pw.conf
pw コマンドのデフォルトオプションファイル
.El
.Sh 関連ファイル
.Xr chpass 1 ,
.Xr passwd 1 ,
.Xr group 5 ,
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr pw.conf 5 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8
.Sh 歴史
.Nm
は、 SYSV の
.Em shadow
サポートで使われていた多くのオプションを模倣して書かれましたが、
.Bx 4.4
オペレーティングシステムに特有のパスワードフィールド、
グループフィールドに合わせて変更されています。また、ほとんどの要素が
一つのコマンドにまとめられています。
diff --git a/ja/man/man8/pwd_mkdb.8 b/ja/man/man8/pwd_mkdb.8
index bdb84a1f9f..3438563017 100644
--- a/ja/man/man8/pwd_mkdb.8
+++ b/ja/man/man8/pwd_mkdb.8
@@ -1,146 +1,156 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)pwd_mkdb.8 8.1 (Berkeley) 6/6/93
.\" jpman %Id: pwd_mkdb.8,v 1.3 1997/08/27 12:36:09 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt PWD_MKDB 8
.Os
.Sh 名称
.Nm pwd_mkdb
.Nd パスワードデータベースを構築する
.Sh 書式
.Nm pwd_mkdb
-.Op Fl c
+.Op Fl C
.Op Fl p
.Op Fl d Ar directory
+.Op Fl s Ar cachesize
.Op Fl u Ar username
.Ar file
.Sh 解説
.Nm
は、指定されたファイルから
.Xr db 3
スタイルの、セキュリティのしっかりしたデータベースと
そうでないデータベースの 2 つを構築します。
そして、これらのデータベースは、それぞれ
.Pa /etc/spwd.db
.Pa /etc/pwd.db
にインストールされます。
このファイルは、
.Pa /etc/master.passwd
にインストールされます。このファイルは
正しいフォーマットでなければなりません (
.Xr passwd 5
を参照) 。このシステムで使われるフォーマットは、旧来の
バージョン 7 スタイルのフォーマットとは異なるので注意を要します。
.Pp
オプションは以下の通りです。
.Bl -tag -width flag
-.It Fl c
+.It Fl C
パスワードファイルが正しいフォーマットかどうかをチェックします。
どのファイルも変更、追加、削除を行ないません。
.It Fl p
バージョン 7 スタイルのパスワードファイルを作成し、
.Pa /etc/passwd
にインストールします。
.It Fl d Ar directory
.Pa /etc
の代わりに、指定された先のディレクトリにデータベースを保存します。
.It Fl u Ar username
指定したユーザのレコードだけ更新します。
単一ユーザに対してのみ作用するユーティリティは、このオプションを使用し、
データベース全体を再構築するオーバヘッドを避けることが出来ます。
+.It Fl s Ar cachesize
+ハッシングライブラリが使用するメモリキャッシュの大きさを、
+メガバイト単位で指定します。
+ユーザ数が多いシステムでキャッシュを小さくすると、
+データベースファイルの再構築に耐えがたいほどの長時間を要します、
+おおざっぱな目安では、
+.Nm pwd_mkdb
+の使用メモリ量はここで指定した大きさの 2 倍をちょっと越えたものになります。
+デフォルト値は 2 メガバイトです。
.El
.Pp
2 つのデータベースの違いは、安全なバージョンでは、ユーザのパスワードが
暗号化されて入っており、安全でないバージョンでは、パスワードが ``*'' と
なっていることです。
.Pp
このデータベースは、 C ライブラリパスワードルーチンに使われます (
.Xr getpwent 3
を参照) 。
.Pp
.Nm
は成功したときは 0 を返し、失敗したときは 0 以外を返します。
.Sh ファイル
.Bl -tag -width Pa -compact
.It Pa /etc/pwd.db
セキュリティのないパスワードデータベースファイル
.It Pa /etc/pwd.db.tmp
一時ファイル。
.It Pa /etc/spwd.db
セキュリティのあるパスワードデータベースファイル。
.It Pa /etc/spwd.db.tmp
一時ファイル。
.It Pa /etc/master.passwd
現在のパスワードファイル。
.It Pa /etc/passwd
バージョン 7 フォーマットのパスワードファイル。
.El
.Sh バグ
パスワードファイルのアトミック (atomic; 不可分) な更新が必要なので、
.Nm
は、インストールに
.Xr rename 2
を使います。
しかし、コマンドラインで指定されたファイルが
.Pa /etc
ディレクトリと同じファイルシステム上に存在しなければなりません。
.Pp
複数の人が、
.Nm
を同時に異なるパスワードファイルに対して走らせると、
明らかにレース (race; 競合) になってしまいます。
.Nm
のフロントエンドである
.Xr chpass 1 ,
.Xr passwd 1 ,
.Xr vipw 8
では、この問題を避けるために必要なロック操作を行います。
.Sh 可搬性
以前のバージョンのシステムは、
.Nm pwd_mkdb ,
.Xr mkpasswd 8
と同様のプログラムを持っており、それはパスワードファイルに対して
.Xr dbm 3
スタイルのデータベースを構築しましたが、
これをインストールするために呼ぶプログラムに依存していました。
このプログラムは、以前のプログラムのユーザが機能の変化で
驚かないように名前が変えられました。
.Sh 関連項目
.Xr chpass 1 ,
.Xr passwd 1 ,
.Xr db 3 ,
.Xr getpwent 3 ,
.Xr passwd 5 ,
.Xr vipw 8
diff --git a/ja/man/man8/quot.8 b/ja/man/man8/quot.8
index 04c3c5836e..3f39bb17f3 100644
--- a/ja/man/man8/quot.8
+++ b/ja/man/man8/quot.8
@@ -1,103 +1,103 @@
.\" Copyright (C) 1994 Wolfgang Solfrank.
.\" Copyright (C) 1994 TooLs GmbH.
.\" 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 TooLs GmbH.
.\" 4. The name of TooLs GmbH may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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: quot.8,v 1.3.4.4 1998/07/18 11:12:14 jkh Exp %
+.\" %Id: quot.8,v 1.9 1998/05/13 07:57:49 phk Exp %
.\" jpman %Id: quot.8,v 1.3 1997/07/22 16:55:54 horikawa Stab %
.\"
.Dd February 8, 1994
.Dt QUOT 8
.Os BSD 4
.Sh 名称
.Nm quot
.Nd 各ユーザの利用しているディスク領域を表示する
.Sh 書式
.Nm quot
.Op Fl acfhknv
.Op Ar filesystem ...
.Sh 解説
.Nm quot
各ローカルユーザのディスク利用に関する統計情報を集めるために使われます。
.Pp
以下のオプションが利用可能です。
.Bl -tag -width indent
.It Fl a
全てのマウントされたファイルシステムに関する統計情報を与えます。
.It Fl c
一行毎に 3 つのカラムを使って、ファイルあたりのブロック数と、
この分類に含まれるファイルの数と、このサイズ以下の
ファイルのブロック総数を集計します。
.It Fl f
個々のユーザに対して、ファイル数と利用されているスペースを表示します。
.It Fl h
個々のファイルのサイズに基づいて、ブロック数を推定します。
これは、 ( ファイル中の穴を計算しないので ) 正しい結果を与えないうえ、
高速でもないので、お勧めしません。
.It Fl k
デフォルトでは、全てのサイズは 512 バイト / ブロックで報告されます。
.Fl k
オプションは、報告される値をキロバイト単位にします。
.It Fl n
標準入力から inode の一覧を (いくつかのオプションデータを加えて 1 行で)
与えることで、個々のファイルに対して持ち主を
( 入力行で与えられた残りの情報と共に ) 表示します。
これは歴史的にはパイプ中で以下のように使われました。
.Bd -literal -offset indent
ncheck filesystem | sort +0n | quot -n filesystem
.Ed
.Pp
ファイルの報告とその持ち主を手に入れます。
.It Fl v
デフォルトの出力に加えて、30, 60, 90 日間アクセスされていないファイルの数
を報告します。
.El
.Sh 環境変数
.Bl -tag -width BLOCKSIZE
.It Ev BLOCKSIZE
環境変数
.Ev BLOCKSIZE
が設定されており、
.Gl k
オプションが指定されていない時、ブロックカウントはこのブロックサイズの単位
で表示されます。
.El
.Sh バグ
FreeBSD では、 ncheck は存在しません :-)
.Sh 関連項目
.Xr df 1 ,
.Xr quota 1 ,
.Xr getmntinfo 3 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh 歴史
この
.Nm quot
の実装は、
.An Wolfgang Solfrank
/ TooLs GmbH
によって行われました。
diff --git a/ja/man/man8/quotacheck.8 b/ja/man/man8/quotacheck.8
index 482191e2ce..72dfb30d14 100644
--- a/ja/man/man8/quotacheck.8
+++ b/ja/man/man8/quotacheck.8
@@ -1,150 +1,150 @@
.\" Copyright (c) 1983, 1990, 1991, 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.
.\"
.\" @(#)quotacheck.8 8.1 (Berkeley) 6/5/93
-.\" %Id: quotacheck.8,v 1.2.2.1 1998/07/17 20:13:47 jkh Exp %
+.\" %Id: quotacheck.8,v 1.3 1998/07/15 06:48:50 charnier Exp %
.\" jpman %Id: quotacheck.8,v 1.2 1997/05/19 05:05:46 mitchy Stab %
.\"
.Dd June 5, 1993
.Dt QUOTACHECK 8
.Os BSD 4.2
.Sh 名称
.Nm quotacheck
.Nd ファイルシステムの割り当て制限の一貫性の検査を行う
.Sh 書式
.Nm quotacheck
.Op Fl g
.Op Fl u
.Op Fl v
.Ar filesystem
.Ar
.Nm quotacheck
.Op Fl g
.Op Fl u
.Op Fl v
.Fl a
.Sh 解説
.Nm
は各ファイルシステムを調べ、現在のディスク使用量のテーブルを作成し、こ
れをディスクに保存されている割り当て制限情報ファイルと比較します。違い
が発見された場合、割り当て制限情報ファイルとシステムが持っている割り当
て制限情報のコピー(アクティブなファイルシステムを検査した場合)を更新し
ます。デフォルトでは、ユーザ割り当て制限とグループ割り当て制限の両方が
検査されます。
.Pp
使用可能なオプションは以下の通りです:
.Bl -tag -width indent
.It Fl a
ファイルシステム名の代りに
指定されると、
.Nm
は、
.Pa /etc/fstab
に読み書き可能で割り当て制限ありと設定されているファイルシステムをすべ
て検査します。デフォルトでは、
.Pa /etc/fstab
に書かれている種類の割り当て制限のみを検査します。
.It Fl g
.Pa /etc/fstab
にグループ割り当て制限が指定してあるもののみ検査します。
.It Fl u
.Pa /etc/fstab
にユーザ割り当て制限が指定してあるもののみ検査します。
.It Fl v
計算した値と記録されていた割り当て制限ファイルとの違いを報告します。
.El
.Pp
.Fl g
.Fl u
の両方を指定すると、デフォルトの動作と同じになります。
ファイルシステム上では、
.Xr fsck 8
と同様に
.Pa /etc/fstab
の中のパス番号を使って、並行して複数のファイルシステムを検査します。
.Pp
通常
.Nm
は何も表示しません。
.Pp
.Nm
は、チェックされるファイルシステムのルートディレクトリに割り当て制限を
書いたファイル
.Pa quota.user
.Pa quota.group
があるものとして動作します。このデフォルトのファイル名は
.Pa /etc/fstab
により変更することができます。もし、割り当て制限を書いたファイル
がなければ、
.Nm
が作成します。
.Pp
.Nm
は、通常
.Pa /etc/rc.local
からブート時に、
.Xr quotaon 8
が割り当て制限を開始する前に実行されます(
.Xr rc 8
参照)。
.Pp
.Nm
は、各ユーザごとのディスク使用量を計算するために、rawデバイス
をアクセスします。そのため、
.Nm
の実行中にチェックされるファイルシステムを使用してはいけません。
.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 edquota 8 ,
.Xr fsck 8 ,
.Xr quotaon 8 ,
.Xr repquota 8
.Sh 歴史
.Nm
.Bx 4.2
で追加されました。
diff --git a/ja/man/man8/rarpd.8 b/ja/man/man8/rarpd.8
index a18c85a7dc..c749819a20 100644
--- a/ja/man/man8/rarpd.8
+++ b/ja/man/man8/rarpd.8
@@ -1,121 +1,121 @@
-.\" @(#) %Id: rarpd.8,v 1.3.2.3 1997/10/14 06:39:27 charnier Exp % (LBL)
+.\" @(#) %Id: rarpd.8,v 1.7 1997/10/13 11:03:34 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.
.\" jpman %Id: rarpd.8,v 1.2 1997/04/12 08:52:47 yugawa Stab %
.\"
.Dd July 19, 1993
.Dt RARPD 8
.Os
.Sh 名称
.Nm rarpd
.Nd 逆 ARP デーモン
.Sh 書式
.Nm rarpd
.Op Fl afsv
.Op Ar interface
.Sh 解説
.Nm rarpd
は、
.Ar interface
に対応するイーサネットについて、逆 ARP 要求に対するサービスを提供します。
要求を受け付けると、
.Nm
はイーサネットアドレスより IP アドレス を、ホスト名を経由して対応づけます。
ホスト名に関しては、
.Xr ethers 5
データベースと
.Xr hosts 5
データベースの両者に登録されている必要があります。もしホスト名がどちらにも登録
されてない場合、変換処理は実行されず、返答も行われません。
デフォルトでは、(
.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
フラグが指定された場合は、この制約はなくなります(下記参照)。
通常の動作においては、
.Nm
は自分自身を fork し、バックグラウンドプロセスとして
実行します。例外およびエラーについては、発生事象を
.Xr syslog 3
を通じて報告します。
.Sh オプション
.Bl -tag -width indent
.It Fl a
システムに接続されているすべてのイーサネットについて listen() を行ないます。
本オプションが指定されてない場合は、ネットワークインタフェースを指定する必要が
あります。
.It Fl f
.Nm rarpd
をフォアグラウンドプロセスとして起動します。
.It Fl s
.Pa /tftpboot/\fIipaddr\fP*
のあるなしにかかわらず、
イーサネットアドレスと IP アドレスの対応付けがあれば全ての RARP 要求に対して
応答します。
.It Fl v
詳細なログを出力します。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/ethers -compact
.It Pa /etc/ethers
.It Pa /etc/hosts
.It Pa /tftpboot
.El
.Sh 関連項目
.Xr bpf 4
.Pp
RFC 903: Finlayson, R.; Mann, T.; Mogul, J.C.; Theimer, M. Reverse Address
Resolution Protocol. 1984 June; 4 p.
.Sh 作者
.An Craig Leres Aq leres@ee.lbl.gov
および
.An Steven McCanne Aq mccanne@ee.lbl.gov .
Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
.Sh バグ
.Nm
は、
.Pa /etc/ethers
で発見されたホスト名の解決に DNS を使用する事も出来ます。
このホスト名が DNS には登録されていないが、
.Pa /etc/hosts
には存在する場合、
DNS への問い合わせのため、RARP の応答に時間がかかる事になります。
この様な場合は、
.Pa /etc/host.conf
にて
.Pa /etc/hosts
を先に検索するように設定する事をお薦めします。
diff --git a/ja/man/man8/rbootd.8 b/ja/man/man8/rbootd.8
index 0cd1d37c9c..df8b949daf 100644
--- a/ja/man/man8/rbootd.8
+++ b/ja/man/man8/rbootd.8
@@ -1,159 +1,159 @@
.\" Copyright (c) 1988, 1992 The University of Utah and the Center
.\" for Software Science (CSS).
.\" Copyright (c) 1992, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Center for Software Science of the University of Utah Computer
.\" Science Department. CSS requests users of this software to return
.\" to css-dist@cs.utah.edu any improvements that they make and grant
.\" CSS redistribution rights.
.\"
.\" 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.
.\"
-.\" @(#)rbootd.8 8.2 (Berkeley) 12/11/93
-.\" %Id: rbootd.8,v 1.3.2.1 1997/12/16 07:17:43 charnier Exp %
+.\" from: @(#)rbootd.8 8.2 (Berkeley) 12/11/93
+.\" %Id: rbootd.8,v 1.8 1997/11/24 07:33:41 charnier Exp %
.\"
.\" Utah $Hdr: rbootd.man 3.1 92/07/06$
.\" Author: Jeff Forys, University of Utah CSS
.\" jpman %Id: rbootd.8,v 1.2 1997/03/31 14:57:40 horikawa Stab %
.\"
.Dd "December 11, 1993"
.Dt RBOOTD 8
.Os
.Sh 名称
.Nm rbootd
.Nd HP 社製ワークステーションのブート要求に対応するブートサーバ
.Sh 書式
.Nm rbootd
.Op Fl ad
.Op Fl i Ar interface
.Op config_file
.Sh 解説
.Nm
ユーティリティは、LAN 上の Hewlett-Packard 社製ワークステーションからの
ブート要求に対するサービスを行います。
全てのブートファイルはブートファイル用のディレクトリになければならず、
さらに、もしクライアントがブートリクエスト中にパス情報をつけていた場合は、
処理する前にそのパスは取り除かれます。デフォルトでは、
.Nm
は, その設定ファイル中にリストされているマシンからの
リクエストにのみ応答します。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width indent
.It Fl a
どのようなマシンからのブート要求にも応えます。このオプションが設定された
場合は、設定ファイルは無視されます。
.It Fl d
.Nm
をデバッグモードで起動します。受信および送信
されたパケットが端末に表示されるようになります。
.It Fl i Ar interface
指定したインタフェースに対してサービスを行います。
もし指定されていない場合には、
.Nm
はループバック以外のもっとも小さい番号の使用可能なインタフェースを
システムインタフェースリストから探します。
早いもの順で選ぶので、組合せはバラバラになります。
.El
.Pp
.Ar config_file
を指定すれば、
.Nm
はデフォルトの設定ファイルではなく、こちらのファイルを
使用するようになります。
.Pp
設定ファイルは、各行に個々のマシンの設定を記述した
テキストファイルです。行の先頭は各マシンの Ethernet アドレスで始め、
そのあとにブートファイルの名前をオプションとして記述します。
Ethernet アドレスは 6 オクテッドの値を 16 進数で記述し、
各間を ``:'' で区切ります。
ブートファイルの名前は、ブートファイルディレクトリにあるファイルの名前です。
Ethernet アドレスとブートファイルの名前の間は、空白もしくはコンマで区切ら
なければなりません。
行中の ``#'' より後は無視します。
.Pp
設定ファイルの例を以下に示します:
.Bl -column 08:00:09:0:66:ad SYSHPBSD,SYSHPUX "# vandy (anything)"
.It #
.It # ethernet addr boot file(s) comments
.It #
.It 08:00:09:0:66:ad SYSHPBSD # snake (4.3BSD)
.It 08:00:09:0:59:5b # vandy (anything)
.It 8::9:1:C6:75 SYSHPBSD,SYSHPUX # jaguar (either)
.El
.Pp
.Nm
のログやエラーメッセージは
.Xr syslog 3
を使っています。スタートアップメッセージはつねにログに記録され、
致命的なエラー(もしくは
.Nm
を殺すようなシグナル)
が起こった場合にはサーバの終了メッセージもログに残します。
一般的には、致命的ではないエラーはそれによってひき起こされる動作を
無視するといった形で扱われます。
(例えば設定ファイル中の無効な Ethernet アドレスは
その行が無効になる原因となります)。
.Pp
以下のシグナルを
.Xr kill 1
コマンドを使ってサーバプロセスに送ることで、
サーバプロセスに影響を与えることができます:
.Bl -tag -width SIGUSR1 -offset -compact
.It SIGHUP
アクティブな接続を切り、リコンフィグします。
.It SIGUSR1
デバッグモードをオンにします。すでにオンであれば何もしません。
.It SIGUSR2
デバッグモードをオフにします。すでにオフであれば何もしません。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/libexec/rbootd -compact
.It /dev/bpf#
パケットフィルタのデバイス
.It /etc/rbootd.conf
設定ファイル
.It /tmp/rbootd.dbg
デバッグ出力
.It /usr/mdec/rbootd
ブートファイルを置くディレクトリ
.It /var/run/rbootd.pid
.Nm
のプロセス ID
.El
.Sh 関連項目
.Xr kill 1 ,
.Xr socket 2 ,
.Xr signal 3 ,
.Xr syslog 3
.Sh バグ
同一インタフェース上に複数のサーバが走った場合、
同一のパケットに対して各サーバが応答してしまいます。
diff --git a/ja/man/man8/rc.8 b/ja/man/man8/rc.8
index 970d67d576..c5d977ea15 100644
--- a/ja/man/man8/rc.8
+++ b/ja/man/man8/rc.8
@@ -1,154 +1,158 @@
.\" 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.
.\"
.\" @(#)rc.8 8.2 (Berkeley) 12/11/93
+.\" %Id: rc.8,v 1.4 1998/02/26 02:44:17 jkh Exp %
.\" jpman %Id: rc.8,v 1.3 1997/08/16 13:37:00 horikawa Stab %
-.\" %Id: rc.8,v 1.2.2.2 1998/02/26 02:45:22 jkh Exp %
.\"
.Dd December 11, 1993
.Dt RC 8
.Os BSD 4
.Sh 名称
.Nm rc
.Nd 自動リブート処理とデーモン起動のためのコマンドスクリプト
.Sh 書式
.Nm rc
.Nm rc.conf
.Nm rc.conf.local
.Nm rc.serial
.Nm rc.pccard
.Nm rc.network
.Nm rc.firewall
.Nm rc.<arch>
.Nm rc.local
+.Nm rc.shutdown
.Sh 解説
.Nm rc
は自動リブート処理 (他のスクリプトを呼びます) を制御するコマンドスクリプトで、
.Nm rc.local
は特定サイトに特化したコマンドを記述するスクリプトです。
.Nm rc.conf
は rc ファイル群から参照されるグローバルなシステム構成情報を持ち、
.Nm rc.conf.local
はローカルなシステム構成情報を持ちます。
.Pp
+.Nm Rc.shutdown
+は、システムシャットダウンにおいて実行されることが必要なコマンドを持つ
+コマンドスクリプトです。
.Pp
自動リブート処理の進行中、
.Nm rc
.Em autoboot
を引数として起動されます。
.Nm rc
はその最初の部分で
.Xr fsck 8
.Fl p
オプション付きで実行し、
前回のシステムシャットダウンによる些細なディスク不整合を全て「修繕」し、
ハードウェアあるいはソフトウェアの障害から生じた
重大なディスク不整合を調べます。
この自動チェックと修繕がうまくいくと、
.Nm rc
の第二部が開始します。
.Pp
.Nm rc
の第二部は
自動リブート処理が成功した後および
シングルユーザモードのシェルが終了して
.Nm rc
が起動された場合(
.Xr init 8
参照)に実行されます。
この第二部はシステムの全てのデーモンを起動し、
エディタファイルを保存し、
一時ディレクトリ
.Pa /tmp
をクリアします。
.Pp
.Nm rc.serial
は、シリアルデバイスの特殊な構成があればそれを設定するために使用します。
.Pp
.Nm rc.pccard
は PC カードを有効にするために使用します。
.Pp
.Nm rc.network
はネットワークを起動するために使用します。
ネットワークの起動は 3 パスで行われます。
最初のパスは、ホスト名とドメイン名を設定し、
ネットワークインタフェースを構成し、
IP ファイアウォール規則があれば有効にし、ルーティングを有効にします。
第 2 パスは、ほとんどのネットワーク関連デーモンの起動を行います。
第 3 パスは、NFS, amd, rwhod, Kerberos, マルチキャストルーティングデーモンの
起動を行います。
.Pp
.Nm rc.firewall
は、カーネルベースのファイアウォールサービスの規則の設定に使用されます。
.Pp
.Bl -tag -width "fBfilename" -compact -offset indent
.It open
全入力を許可します。
.It client
このマシンのみを保護しようとします。
.It simple
全ネットワークを保護しようとします。
.It closed
lo0 以外の全 IP サービスを無効にします。
.It UNKNOWN
ファイアウォール規則のロードを無効にします。
.It filename
指定したファイル名の規則をロードします (フルパス指定が必要)。
.El
.Pp
.Nm rc.<arch>
はアーキテクチャ依存のプログラムを起動します。
.Pp
.Nm rc.local
が起動されるのは、上記スクリプトの後ですが、残りの
.Nm rc
ファイルが完了する前です。
現在、
.Nm rc.local
がすることは、バージョン情報を
.Pa /etc/motd
に設定することだけです。
.Pp
伝統に従い、スタートアップファイルは
.Pa /etc
ディレクトリに置かれます。
.Sh 関連項目
.Xr rc.conf 5 ,
.Xr init 8 ,
.Xr reboot 8 ,
.Xr savecore 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
で登場しました。
diff --git a/ja/man/man8/reboot.8 b/ja/man/man8/reboot.8
index ea42843078..fb75a5487f 100644
--- a/ja/man/man8/reboot.8
+++ b/ja/man/man8/reboot.8
@@ -1,111 +1,111 @@
.\" 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 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.
.\"
.\" @(#)reboot.8 8.1 (Berkeley) 6/9/93
-.\" %Id: reboot.8,v 1.4.2.1 1998/07/17 20:13:47 jkh Exp %
+.\" %Id: reboot.8,v 1.5 1998/07/15 06:51:37 charnier Exp %
.\" jpman %Id: reboot.8,v 1.3 1997/06/06 11:35:27 bobson Stab %
.\"
.Dd June 9, 1993
.Dt REBOOT 8
.Os
.Sh 名称
.Nm reboot ,
.Nm halt
.Nd
システムを停止し、再起動する
.Sh 書式
.Nm halt
.Op Fl nqp
.Nm reboot
.Op Fl nqp
.Nm fasthalt
.Op Fl nqp
.Nm fastboot
.Op Fl nqp
.Sh 解説
.Nm halt
.Nm
は、ファイルシステムのキャッシュをディスクへ書き出し、
すべての実行中のプロセスに SIGTERM を
(そして、それに続いて SIGKILL を) 送ります。
そして、システムを停止(
.Nm halt
) したり、再起動 (
.Nm
) したりします。
その動作はログインのアカウンティング・ファイルに記入されます。
それはログインのアカウンティング・ファイルへのシャットダウン記録の書き出し
を含んでいます。
.Pp
オプションとしては以下のものがあります。
.Bl -tag -width indent
.It Fl n
システムのキャッシュがディスクへ書き出されません。
このオプションは使用すべきではありません。
.It Fl q
システムは、とにかく速く停止されたり、
再起動されたりします。そしてシステムのキャッシュの破棄だけが行われます。
このオプションは使用すべきではありません。
.It Fl p
システムは可能であれば電源を切ります。
これは、もちろん
.Nm
でも、
.Nm halt
と同じように振る舞うということです。
.El
.Pp
.Nm fasthalt
.Nm fastboot
は、それぞれ
.Nm halt
.Nm
の単なる別名にすぎません。
.Pp
通常、システムの停止や、再起動を要する場合には、ユーザーに事前警告を与える
.Xr shutdown 8
を使用します。
.Xr shutdown 8
は、ログインしているユーザーにシステム停止の警告を与えます。
.Pp
.Sh 関連項目
.Xr utmp 5 ,
.Xr boot 8 ,
.Xr shutdown 8 ,
.Xr sync 8
.Sh 歴史
.Nm
コマンドは
.At v6
で追加されました。
diff --git a/ja/man/man8/restore.8 b/ja/man/man8/restore.8
index 3f8273fb7c..69299ba39b 100644
--- a/ja/man/man8/restore.8
+++ b/ja/man/man8/restore.8
@@ -1,421 +1,421 @@
.\" Copyright (c) 1985, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)restore.8 8.4 (Berkeley) 5/1/95
-.\" %Id: restore.8,v 1.5.2.5 1998/08/12 06:51:28 charnier Exp %
+.\" %Id: restore.8,v 1.13 1998/07/28 06:20:11 charnier Exp %
.\"
.\" jpman %Id: restore.8,v 1.2 1997/03/31 14:58:10 horikawa Stab %
.Dd May 1, 1995
.Dt RESTORE 8
.Os BSD 4
.Sh 名称
.Nm restore
.Nd "dump コマンドで作ったバックアップからファイルやファイルシステムをリストアする"
.Sh 書式
.Nm restore
.Fl i
.Op Fl chkmuvy
.Op Fl b Ar blocksize
.Op Fl f Ar file
.Op Fl s Ar fileno
.Nm restore
.Fl R
.Op Fl ckuvy
.Op Fl b Ar blocksize
.Op Fl f Ar file
.Op Fl s Ar fileno
.Nm restore
.Fl r
.Op Fl ckuvy
.Op Fl b Ar blocksize
.Op Fl f Ar file
.Op Fl s Ar fileno
.Nm restore
.Fl t
.Op Fl chkuvy
.Op Fl b Ar blocksize
.Op Fl f Ar file
.Op Fl s Ar fileno
.Op file ...
.Nm restore
.Fl x
.Op Fl chkmuvy
.Op Fl b Ar blocksize
.Op Fl f Ar file
.Op Fl s Ar fileno
.Op file ...
.Pp
.in -\\n(iSu
(
.Bx 4.3
オプション文法はバックワードコンパチビリティのために実装されていますが、
ここには記載していません。)
.Sh 解説
.Nm restore
.Xr dump 8
と逆の動作を行います。
ファイルシステムの完全なリストアを行うには、
まず、フルバックアップのリストアから始め、
続いてその上にインクリメンタルバックアップをリストアします。
フルまたは部分バックアップから、単一のファイルやディレクトリの部分ツリー
のみをリストア
することも可能です。
.Nm restore
は、ネットワークを介した動作も可能です。これを行うには、以下で説明されている
.Fl f
フラグを参照してください。
コマンドに与えるその他の引数は、リストアされるファイルを指定するための
ファイルやディレクトリ名です。
.Fl h
フラグを指定していない限り(下記参照)、ディレクトリ名を指定することで、
そのディレクトリ中のファイルや
(再帰的に) サブディレクトリを指定することになります。
.Pp
以下のいずれか 1 つ(複数指定不可)のフラグが必要です:
.Bl -tag -width Ds
.It Fl i
バックアップからの対話的なリストアを行います。バックアップからディレクトリ情報
を読み取ると、
.Nm restore
はユーザに展開すべきファイルを選択させるために、
シェルに似たインタフェースでコマンドを受け付けます。
以下のコマンドが使用可能です。引数が必要なコマンドにおいて引数を省略すると、
デフォルトとしてカレントディレクトリが使われます。
.Bl -tag -width Fl
.It Ic add Op Ar arg
カレントディレクトリまたは指定した引数のファイルを、リストアするファイルの
リストに付け加えます。ディレクトリ名を指定した場合には、そのディレクトリの下の
すべてのファイルが展開リストに加えられます (コマンドラインに
.Fl h
フラグが指定されなかった場合)。
.Ic ls
でファイルのリストを表示するときに、展開リストに含まれているファイルの頭
には ``*'' がつけられています。
.It Ic \&cd Ar arg
カレントディレクトリを指定したディレクトリに移動します。
.It Ic delete Op Ar arg
カレントディレクトリまたは引数で指定したファイル名のファイルを、展開する
ファイルのリストから削除します。
ディレクトリ名を指定した場合には、そのディレクトリの下のすべてのファイルが
展開リストから削除されます (コマンドラインに
.Fl h
フラグが指定されなかった場合)。
ディレクトリ中のほとんどのファイルを展開する場合には、
ディレクトリ全体を展開リストに加えたあとで不要なファイルだけを
削除するのが一番便利なやりかたです。
.It Ic extract
展開ファイルリストにあるすべてのファイルをバックアップから展開します。
.Nm restore
は、どのボリュームをマウントしたいかをユーザにたずねます。
数個のファイルのみを展開するのにもっとも早い方法は、最終ボリュームから開始して
最初のボリュームへと戻ることです。
.It Ic help
利用できるコマンドの簡単な説明を表示します。
.It Ic \&ls Op Ar arg
カレントディレクトリまたは指定されたディレクトリのリストを表示します。
ディレクトリ名の後ろには ``/'' が付け加えられ、展開リストにあるファイルの前に
は ``*'' が加えられます。冗長フラグがセットされていた場合には、
各ディレクトリエントリにあわせて inode 番号も表示されます。
.It Ic pwd
カレントディレクトリのフルパス名を表示します。
.It Ic quit
.Nm restore
コマンドを中断します。展開リストに何かファイルがあったとしても終了します。
.It Ic setmodes
展開リストにあるすべてのディレクトリの所有者、モード、時刻がセットされる
のみで、バックアップからはなにも展開されません。
これは、リストアを途中で中断してしまった時の後始末に有用です。
.It Ic verbose
冗長フラグ
.Fl v
の意味を反転します。冗長フラグがセットされている場合には、
.Ic ls
コマンドは、すべてのエントリに対してその inode 番号を表示します。
また、
.Nm restore
コマンドは、ファイルを展開するたびにその情報を表示します。
.El
.It Fl R
.Nm restore
は、
フルリストアを再開するために、マルチボリュームのテープのうち特定のものを
リストアすることを要求します
(下記
.Fl r
フラグを参照)。
これはリストア動作を中断したときに使われます。
.It Fl r
リストア(ファイルシステムの再構築)を行います。
レベル 0 バックアップのリストアの前には、リストア先となるファイルシステムは
.Xr newfs 8
で初期化しておき、マウントして、そのディレクトリへ
.Xr cd
で移動しておく必要があります。
レベル 0 バックアップのリストアに成功したら、
.Fl r
フラグを指定することで、
それに加えて必要なインクリメンタルバックアップをリストアすることができます。
.Fl r
フラグは対話的なファイルリストアを行わないため、注意して扱わないと
損害を与えることがあります (ディスクは言うに及ばず、精神的にも)。
次のように実行します:
.Bd -literal -offset indent
newfs /dev/rrp0g eagle
mount /dev/rp0g /mnt
cd /mnt
restore rf /dev/rst8
.Ed
.Pp
.Nm restore
は、インクリメンタルリストアのための情報を、ルートディレクトリの
.Pa restoresymtable
に記録します。このファイルは、すべての増分をリストアしたあとで削除すべきです。
.Pp
.Nm restore
を、
.Xr newfs 8
.Xr dump 8
と組み合わせることで、ファイルシステムのサイズやブロックサイズといった
パラメータを変更するのに使うことができます。
.It Fl t
指定したファイル名のファイルがバックアップ中にあれば、その名前を表示します。
ファイル名引数がない場合にはルートディレクトリを表示するため、
.Fl h
フラグを指定していない限り、バックアップ中のすべてのファイルを表示することに
なります。
このフラグは、古くからあった
.Xr dumpdir 8
のかわりの機能を持つことに注意してください。
.ne 1i
.It Fl x
メディアから、指定したファイルが読み出されます。
指定ファイルがディレクトリで、そのディレクトリの内容がバックアップ中に存在し、
かつ
.Fl h
フラグが指定されていないときには、ディレクトリの内容が再帰的に展開されます。
(可能であれば) ファイルの所有者、修正日時、モードもリストアされます。
もし引数が与えられていなければルートディレクトリを展開するため、
.Fl h
フラグを指定していない限り、結果的にバックアップ全体が展開されます。
.El
.Pp
以下の追加オプションを指定可能です:
.Bl -tag -width Ds
.It Fl b Ar blocksize
ダンプレコードあたりのキロバイト数です。
.Fl b
が指定されないときは、
.Nm restore
はメディアのブロックサイズを動的に求めようとします。
.It Fl c
通常
.Nm
は、ダンプ対象のファイルシステムフォーマットが
新しいか古い(4.4 以前)かを動的に決定します。
.Fl c
フラグはこのチェックを無効にし、
古いフォーマットのダンプからのみ読み込むことを許します。
.It Fl f Ar file
バックアップを
.Ar file
から読み込みます;
.Ar file
は、
.Pa /dev/rmt12
(テープドライブ)や
.Pa /dev/rsd1c
(ディスクドライブ)といったスペシャルデバイスファイル、
通常のファイル、
.Ql Fl
(標準入力)のいずれかです。
ファイル名が
.Dq host:file
.Dq user@host:file
という形式である場合は、
.Nm restore
.Xr rmt 8
を用いて指定したファイルを指定のホストから読み取ります。
.Pp
.It Fl k
リモートテープサーバとの通信時に Kerberos 認証を使用します
(
.Nm restore
のコンパイル時に有効にされている場合のみ使用可能です。)
.Pp
.It Fl h
ディレクトリ名を指定された場合に、その中のファイルではなく、
ディレクトリそのものを展開するようにします。
これによって、ダンプからディレクトリのサブツリーを階層的に
展開してしまうことを防ぎます。
.It Fl m
展開を、ファイル名ではなく inode 番号によって行います。
これは数個のファイルのみを展開したい場合で、ファイルの完全なパス名を
再生することを防ぎたい場合に有用です。
.It Fl s Ar fileno
マルチファイルテープの
.Ar fileno
から読みます。
ファイル番号は 1 から始まります。
.It Fl u
特定のタイプのファイルを作成する時に、
リストア先ディレクトリに既に同名のファイルが存在する場合には、
リストアは警告診断を生成し得ます。
この動作を抑制するために、
.Fl u
(アンリンク) フラグを指定すると、リストアは古いエントリを作成してから
新しいエントリを作成しようとします。
.It Fl v
普通、
.Nm restore
は何も表示せずにリストア動作を行います。
.Fl v
(verbose, 冗長)フラグを指定すると、
扱うファイルのタイプとファイル名が表示されます。
.It Fl y
エラーが発生したときに、リストア動作を中断するかどうかの問い合わせを
行いません。
これによって、不良ブロックをスキップして、可能なかぎり動作を継続します。
.El
.Sh 診断
リードエラーが発生するとメッセージを表示します。
もし、
.Fl y
が指定されているか、あるいはユーザが
.Ql y
の応答をしたならば、
.Nm restore
はリストアを続行しようとします。
.Pp
バックアップが 1 巻より多くのテープボリュームに格納されていたならば、
.Nm restore
は次のボリュームをマウントすべき時点でそれをユーザに知らせます。
もし、
.Fl x
あるいは
.Fl i
フラグが指定されていたら、
.Nm restore
は、ユーザがマウントしたいのはどのボリュームであるかを問い合わせます。
少数のファイルを最も早く展開する方法は、最終ボリュームから開始して、
最初のボリュームへ向けて作業を進めることです。
.Pp
.Nm restore
は数多くの一貫性検査を行っていて、それを表示します。
ほとんどの検査結果の表示は自明であるか、あるいは「決して起こらない」ものです。
良くあるエラーを以下に示します。
.Pp
.Bl -tag -width Ds -compact
.It Converting to new file system format.
古い形式のファイルシステムで作られたダンプテープがロードされました。
その場合、自動的に新しいファイルシステムの形式に変換されます。
.Pp
.It <filename>: not found on tape
指定したファイル名はテープのディレクトリには記録されていましたが、
テープのなかに本体が見当たりませんでした。
このような事態が起きるのは、ファイルを探している間にテープのリードエラー
が発生した場合や、稼働中のファイルシステムにおいて作成したダンプテープ
を使った場合です。
.Pp
.It expected next file <inumber>, got <inumber>
ディレクトリに記録されていなかったファイルが示されます。
稼働中のファイルシステムにおいて作成したダンプを使った場合に発生することが
あります。
.Pp
.It Incremental dump too low
インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタルダンプ
よりも以前に書かれたものであったり、増分レベルが低すぎるダンプがロード
された場合に表示されます。
.Pp
.It Incremental dump too high
インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタルダンプ
の続きの範囲から開始していなかったり、あるいは増分レベルが高すぎる
ダンプがロードされた場合に表示されます。
.Pp
.It Tape read error while restoring <filename>
.It Tape read error while skipping over inode <inumber>
.It Tape read error while trying to resynchronize
テープ(あるいはその他の媒体)のリードエラーが発生しました。
ファイル名が表示されていたならば、その内容はおそらく部分的に不正なものに
なっているでしょう。
もし inode がスキップされたり、テープの resynchronize(再同期)が試みら
れていたならば、展開されたファイルには問題はありません。しかし、テープ
上からいくつかのファイルを見付けることができないかもしれません。
.Pp
.It resync restore, skipped <num> blocks
ダンプのリードエラーが発生した後に、おそらく
.Nm restore
は自分自身で再同期をとらなければなりません。
このメッセージはスキップしたブロックの個数を表示します。
.El
.Sh 関連ファイル
.Bl -tag -width "./restoresymtable" -compact
.It Pa /dev/rst0
デフォルトのテープドライブ
.It Pa /tmp/rstdir*
テープ中のディレクトリを保持するファイル
.It Pa /tmp/rstmode*
ディレクトリの所有者、モード、タイムスタンプ
.It Pa \&./restoresymtable
インクリメンタルリストア間で渡される情報
.El
.Sh 関連項目
.Xr dump 8 ,
.Xr ft 8 ,
.Xr mount 8 ,
.Xr newfs 8 ,
.Xr rmt 8
.Sh バグ
使用中のファイルシステムから作成されたダンプから
インクリメンタルリストアを行うと、誤動作を起こすことがあります。
.Pp
フルリストアの終了後にはレベル 0 ダンプを行う必要があります。
.Nm restore
はユーザコードで動作するので、inode の割り当てを制御することができません。
したがって、ファイルの内容が変更されていない場合でも、新しい inode 割り当てを
新しいディレクトリ集合に反映させるためには、
フルダンプを行わなければなりません。
.Pp
ネットワークを介したリストアを行う場合、
root 権限で restore を実行する必要があります。
これは、以前の dump と restore のセキュリティ上の歴史によるものです。
(restore は root に setuid されて使われるように書かれていますが、
restore のコードから全てのバグが取れているとは思わないので、
setuid にて使用する場合は自己の責任において行って下さい。)
.Sh 歴史
.Nm restore
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man8/revnetgroup.8 b/ja/man/man8/revnetgroup.8
index 069f559a00..c5837bb8b9 100644
--- a/ja/man/man8/revnetgroup.8
+++ b/ja/man/man8/revnetgroup.8
@@ -1,153 +1,153 @@
.\" Copyright (c) 1995
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: revnetgroup.8,v 1.1.1.1.2.1 1997/12/16 07:20:16 charnier Exp %
+.\" %Id: revnetgroup.8,v 1.6 1998/03/19 07:37:22 charnier Exp %
.\" jpman %Id: revnetgroup.8,v 1.2 1997/06/14 16:12:45 horikawa Stab %
.\"
.Dd October 24, 1995
.Dt REVNETGROUP 8
.Os
.Sh 名称
.Nm revnetgroup
.Nd "逆ネットグループデータを生成する"
.Sh 書式
.Nm revnetgroup
.Fl u
.Op Fl f Ar netgroup_file
.Nm revnetgroup
.Fl h
.Op Fl f Ar netgroup_file
.Sh 解説
.Nm revnetgroup
.Xr netgroup 5
フォーマットのファイル内容を処理し、
.Pa 逆ネットグループ
と呼ばれる形式に変換します。
元のファイルでは、あるグループが含むメンバを示す形式で
ネットグループのメンバが示されます。
逆ネットグループフォーマットでは、
あるメンバが属するグループを示します。
この情報は
.Pa netgroup.byuser
.Pa netgroup.byhosts
.Tn NIS
マップを作成するために使用します。
これらの逆ネットグループマップは、ネットグループの参照、
特に
.Fn innetgr
ライブラリ関数を高速化するために使用されます。
.Pp
例えば、標準の
.Pa /etc/netgroup
ファイルはネットグループとそのメンバリストを列挙します。
ここで、ネットグループは
.Em キー
であるとし、メンバ名を
.Em データ
であるとします。
これに対し、逆の
.Pa netgroup.byusers
データベースは、ユニークなメンバをキーとし、
メンバが属するネットグループをデータとします。
ユーザとホストに属する情報を保持する別々のデータベースを作成します;
これにより、ネットグループユーザ名参照とネットグループホスト名参照が
独立のキー空間にて実行されます。
.Pp
あらかじめ逆ネットグループデータベース
(およびこれに対応する
.Tn NIS
マップ)を構築することにより、
要求ごとに
.Xr getnetgrent 3
ライブラリ関数が依存関係を処理しなくても良くなります。
これは、ユーザ数及びホスト数が多いネットワークでは重要です。
なぜなら、巨大なネットグループデータベースの処理は多大な時間を要するからです。
.Pp
.Nm
コマンドは結果を標準出力に表示します。
通常は
.Pa /var/yp/Makefile
から呼ばれるだけであり、
これは
.Tn NIS
ネットグループマップを構築する時です。
.Pp
.Sh オプション
.Nm
コマンドは以下のオプションをサポートします:
.Bl -tag -width indent
.It Fl u
.Pa netgroup.byuser
を生成します;
元のネットグループファイルのユーザ名情報のみが処理されます。
.It Fl h
.Pa netgroup.byhost
を生成します;
元のネットグループファイルのホスト名情報のみが処理されます。(
.Fl u
.Fl h
のいずれかを指定する必要が有ります。)
.It Op Fl f Ar netgroup_file
.Nm
コマンドは
.Pa /etc/netgroup
をデフォルトの入力ファイルとします。
.Fl f
フラグにて、ユーザは別の入力ファイルを指定できます。``-'' を
入力ファイルとして指定すると、
.Nm
は標準入力を読みます。
.El
.Sh 関連ファイル
.Bl -tag -width /var/yp/Makefile -compact
.It Pa /var/yp/Makefile
.Tn NIS
データベースを構築するために
.Nm yp_mkdb
.Nm revnetgroup
を呼び出す Makefile。
.It Pa /etc/netgroup
デフォルトのネットグループデータベースファイル。
ほとんどの場合、
.Tn NIS
マスタサーバにだけ有ります。
.El
.Sh 関連項目
+.Xr getnetgrent 3 ,
.Xr yp 4 ,
.Xr netgroup 5 ,
-.Xr yp_mkdb 8 ,
-.Xr getnetgrent 3
+.Xr yp_mkdb 8
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja/man/man8/rexecd.8 b/ja/man/man8/rexecd.8
index 7aaf912cf2..5b393f8dde 100644
--- a/ja/man/man8/rexecd.8
+++ b/ja/man/man8/rexecd.8
@@ -1,147 +1,147 @@
.\" 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.
.\"
.\" @(#)rexecd.8 8.2 (Berkeley) 12/11/93
-.\" %Id: rexecd.8,v 1.3.2.3 1997/12/16 07:22:06 charnier Exp %
+.\" %Id: rexecd.8,v 1.8 1997/11/26 07:29:02 charnier Exp %
.\" jpman %Id: rexecd.8,v 1.2 1997/05/28 07:05:49 yugawa Stab %
.\"
.Dd September 23, 1994
.Dt REXECD 8
.Os BSD 4.2
.Sh 名称
.Nm rexecd
.Nd リモート実行サーバ
.Sh 書式
.Nm rexecd
.Sh 解説
.Nm
は、
.Xr rexec 3
ルーチンのためのサーバです。本サーバは、ユーザ名と
パスワードに基づいたユーザ認証による、リモートプロセス実行の環境
を提供します。
.Pp
.Nm
は、
.Xr services 5
にて ``exec'' サービスが定義されたポートを
監視します。サービス要求を受信した際に、以下のプロトコルが
実行されます。
.Bl -enum
.It
サーバは、ソケットから NUL
.Pq Ql \e0
を受信するまで文字を読みとります。受信した文字は
.Tn ASCII
文字からなる 10 進数の数字として評価されます。
.It
ステップ 1 で受信した番号が 0 でない場合、その番号は
.Em stderr
のために用いられる
ストリームのためのポート番号として用いられます。その後、第二の接続がクライア
ントホスト上の指定されたポートとの間に生成されます。
.It
NUL で終了する最大 16 文字のユーザ名が最初のソケットより取得されます。
.It
NUL で終了する、暗号化が施されていない最大 16 文字のパス
ワードが最初の socket より取得されます。
.It
NUL で終了する、シェルに渡されるコマンドが最初の socket より取得
されます。コマンドの長さは、システムの引数リストの制限を越えない長さに
制限されます。
.It
.Nm
は、次に、ログイン時と同様にユーザの認証を行い、
ユーザ認証が成功した場合、
カレントディレクトリを当該ユーザのホームディレクトリに変更し、
ユーザとグループの保護を行ないます。仮にこれらの段階が失敗した場合、
コネクションを切断し、診断メッセージを返します。
.It
NUL 文字が最初のソケットに返却され、コマンドラインは当該ユーザの
通常のログインシェルに渡されます。シェルは
.Nm
によって確立されたネットワークコネクションを継承します。
.El
.Sh 警告
.Nm
は root のログイン、
.Pa /etc/ftpusers
にリストされたユーザでのアクセス、
パスワードの無いユーザのアクセスを許可しません。
これらはすべて重大なセキュリティホールでした。
rexec/rexecd のコンセプトは、メジャーなセキュリティホールと、それをさせない
ための例です。
.Nm
.Pa /etc/inetd.conf
ではデフォルトで無効になっています。
.Sh 診断
以下のリストの一番最後のものを除き、全ての診断メッセージは、
他のネットワークコネクションが切断された後に、最初の socket を経由して返却
されます。エラーは、最初のバイトが値 1 であることで示されます
(コマンドの実行に先立つ全てのステップが正常に終了した場合、上記のステップ 7
で、値 0 が返されます)。
.Pp
.Bl -tag -width Ds
.It Sy username too long
ユーザ名が 16 文字を越えてます。
.It Sy password too long
パスワードが 16 文字を越えてます。
.It Sy command too long
コマンドラインの長さが(設定されている)システムの引数の長さ制限を越えてます。
.It Sy Login incorrect.
パスワードファイルのエントリに当該ユーザ名がありません。
.It Sy Password incorrect.
パスワードが不正です。
.It Sy \&No remote directory.
ホームディレクトリへの
.Xr chdir
コマンドが失敗しました。
.It Sy Try again.
サーバによる
.Xr fork 2
が失敗しました。
.It Sy <shellname>: ...
ユーザのログインシェルが起動できませんでした。このメッセージは
.Em stderr
のために確立されたコネクションを用いて送信されます。
そして、先頭にフラグバイトがつくことはありません。
.El
.Sh 関連項目
.Xr rexec 3
.Sh バグ
すべてのデータとパスワードを交換する場合に、それらの暗号化を行なう機構が
用意されるべきでしょう。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man8/rlogind.8 b/ja/man/man8/rlogind.8
index 9fc865253a..13d5de53a2 100644
--- a/ja/man/man8/rlogind.8
+++ b/ja/man/man8/rlogind.8
@@ -1,195 +1,195 @@
.\" Copyright (c) 1983, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)rlogind.8 8.1 (Berkeley) 6/4/93
-.\" %Id: rlogind.8,v 1.4.2.3 1998/02/18 11:48:06 markm Exp %
+.\" %Id: rlogind.8,v 1.9 1997/11/25 07:17:13 charnier Exp %
.\" jpman %Id: rlogind.8,v 1.2 1997/05/23 00:50:03 mutoh Stab %
.\"
.Dd June 4, 1993
.Dt RLOGIND 8
.Os BSD 4.2
.Sh 名称
.Nm rlogind
.Nd リモートログインのサーバ
.Sh 書式
.Nm
.Op Fl Daln
.Sh 解説
.Nm
は、
.Xr rlogin 1
のためのサーバです。サーバは信頼できるホストからの
特権ポート番号に基づいた認証を用いて、リモートログイン機能を提供します。
.Nm
では、以下のオプションが使用可能です。
.Bl -tag -width indent
.It Fl D
TCP_NODELAY ソケットオプションを設定します。これは、いくつかの
ネットワークトラフィックの増大に対して、応答性を向上します。
.It Fl a
検証のために、ホスト名を問い合わせます。
.It Fl l
ユーザがスーパユーザとしてログインしない限り、
一般ユーザの
.Dq Pa .rhosts
による、あらゆる認証を禁止します。
.It Fl n
キープアライブメッセージを禁止します。
.El
.Pp
Kerberos を使っている時には、以下のようなオプションが利用可能です。
.Bl -tag -width indent
.It Fl k
Kerberos 認証を利用可能にします。
.It Fl v
vacuous モードを利用可能にします。
.It Fl x
.Xr rlogin 1
セッションで流される全てのデータに
.Tn DES
暗号化を施します。このオプションを利用すると、応答性や CPU に負荷が
かかりますが、機密性は向上します。
.El
.Pp
.Nm
は、``login'' サービスの仕様に基づく番号のポートで、要求を受け付けます。
詳しくは
.Xr services 5
を参照してください。
サービスの要求を受け取ると、以下のプロトコルを開始します。
.Bl -enum
.It
サーバはクライアントの要求元ポート番号を調べます。
もしポート番号が512〜1023の範囲外であれば、サーバは接続を切断します。
.It
サーバはクライアントの要求元アドレスを調べ、それに対応するホスト名を
求めます (
.Xr gethostbyaddr 3 ,
.Xr hosts 5 ,
.Xr named 8
を参照してください)。
ホスト名を決定できなければ、ドット表記法によるホストアドレスを
用います。
ホスト名がサーバと同じドメインに属しているか (ドメイン名の最後の二つの
構成要素に基づいて判断します)、あるいは
.Fl a
オプションが指定されていたら、
ホスト名に対するアドレスを調べて、ホスト名とアドレスが一致しているか
どうかを検証します。
アドレスの検証に失敗した場合は、通常の認証作業は行いません。
.El
.Pp
要求元ポートの番号を調べ終えたら、
.Nm
は、
.Xr rshd 8
で説明している認証作業を開始します。
そして、疑似端末 (
.Xr pty 4
を参照のこと) を割り当てると共に、
ファイルディスクリプタを操作して、
この疑似端末のスレーブ側がログインプロセスの
.Em stdin ,
.Em stdout ,
.Em stderr
になるようにします。
認証作業が成功した場合には、
.Xr login 1
プログラムに
.Fl f
オプションを指定してログインプロセスを生成します。
自動認証作業に失敗した場合には、
通常の端末回線からのログインの場合と同様に、
ユーザに問い合わせをします。
.Pp
ログインプロセスの親プロセスは、疑似端末のマスタ側を操作します。
すなわちログインプロセスと、クライアント側の
.Xr rlogin 1
プログラムを実体化したものとの間で処理を行います。
通常の処理においては、
.Ql ^S/^Q
のような機能を提供したり、割り込み信号をリモートプログラムへと伝えるために
.Xr pty 4
で説明しているパケットプロトコルを起動します。
ログインプロセスは、クライアントの端末の通信速度や
環境変数
.Ql Ev TERM
で指定されている端末タイプを伝えます。
.Xr environ 7
を参照してください。
クライアント側に端末の画面、あるいはウィンドウの大きさを問い合わます。
また、クライアント側からウィンドウサイズの変更が疑似端末へ
伝えられます。
.Pp
トランスポートレベルのキープアライブメッセージは、オプション
.Fl n
が指定されていない限り出力されます。
キープアライブメッセージを利用すると、クライアントがクラッシュしたり、
通信不能になってしまった時に、セッションをタイムアウトで
終了することが可能になります。
.Sh 診断
すべての診断メッセージは、ネットワーク接続が切断された後に、最初に 1 の値
のバイトが付加されて通知されます。
.Xr login 1
が起動された後にエラーが発生しない場合、
処理成功の通知のために、NULL バイトを返します。
.Bl -tag -width Ds
.It Sy Try again.
サーバが
.Xr fork 2
に失敗したことを表します。
.El
.Sh 関連項目
.Xr login 1 ,
.Xr ruserok 3 ,
.Xr hosts 5 ,
.Xr nologin 5 ,
.Xr rshd 8
.Sh 関連ファイル
.Bl -tag -width /etc/hostsxxxxxxxx -compact
.It Pa /etc/hosts
.It Pa /etc/hosts.equiv
.It Pa $HOME/.rhosts
.It Pa /etc/nologin
.El
.Sh バグ
このコマンドが用いている認証手続きは、それぞれのクライアントマシンと
接続媒体が完全であるということを仮定したものです。これはセキュリティホールに
なりやすいのですが、``オープン'' な環境においては有用な方針です。
.Pp
全てのデータについて暗号化を行なう機能が実装されるべきです。
.Pp
もっと発展性のあるプロトコルが用いられるべきです。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man8/rmail.8 b/ja/man/man8/rmail.8
index c1bdf85294..d25c6b1a1c 100644
--- a/ja/man/man8/rmail.8
+++ b/ja/man/man8/rmail.8
@@ -1,75 +1,52 @@
-.\" Copyright (c) 1983, 1990 The Regents of the University of California.
-.\" All rights reserved.
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1983, 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.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)rmail.8 6.10 (Berkeley) 4/29/93
-.\" %Id: rmail.8,v 1.2.8.3 1998/07/16 09:35:47 jkh Exp %
+.\" @(#)rmail.8 6.14 (Berkeley) 5/19/98
.\" jpman %Id: rmail.8,v 1.2 1997/05/16 07:57:46 yugawa Stab %
.\"
-.Dd April 29, 1993
+.Dd May 19, 1998
.Dt RMAIL 8
.Os BSD 4.2
.Sh 名称
.Nm rmail
.Nd uucpで送られてきたメールを処理する
.Sh 書式
.Nm rmail
.Ar user ...
.Sh 解説
.Nm
.Xr uucp 1
経由で受けとったメールを解釈し、
.Xr mail.local 8
によって生成される``From''行を、``return-path!sender''
という一行に変換して
.Xr sendmail 8
に渡します。
.Pp
.Nm
は、明らかに
.Xr uucp 1
.Xr sendmail 8
で使われるように設計されています。
.Sh 関連項目
.Xr uucp 1 ,
.Xr mail.local 8 ,
.Xr sendmail 8
.Sh 歴史
.Nm
プログラムは
.Bx 4.2
から登場しました。
.Sh バグ
.Nm
.Pa /bin
に置くべきではありません。
diff --git a/ja/man/man8/rmuser.8 b/ja/man/man8/rmuser.8
index 7b4dc7b180..3c656c321d 100644
--- a/ja/man/man8/rmuser.8
+++ b/ja/man/man8/rmuser.8
@@ -1,174 +1,174 @@
.\" Copyright 1995, 1996, 1997
.\" Guy Helmer, Ames, Iowa 50014. 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.
.\" 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 GUY HELMER ``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 GUY HELMER 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: rmuser.8,v 1.1.2.4 1998/03/08 14:59:56 jkh Exp %
+.\" %Id: rmuser.8,v 1.8 1997/11/02 00:58:39 jraynard Exp %
.\" jpman %Id: rmuser.8,v 1.3 1997/07/22 16:58:06 horikawa Stab %
.\"
.Dd February 23, 1997
.Dt RMUSER 8
.Os
.Sh 名称
.Nm rmuser
.Nd システムからユーザを削除する
.Sh 書式
.Nm rmuser
.Op Fl y
.Op Ar username
.Sh 解説
ユーティリティ
.Nm
は以下を行います。
.Bl -enum
.It
ユーザの
.Xr crontab 1
エントリ (存在すれば) を削除します。
.It
ユーザの
.Xr at 1
ジョブを削除します。
.It
ユーザが所有する全プロセスに SIGKILL を送ります。
.It
システムのローカルパスワードファイルからユーザのエントリを削除します。
.It
ホームディレクトリがユーザ所有であれば削除します。
この際、実際のホームディレクトリまでのパスに存在するシンボリックリンク
も削除します。
.It
.Pa /var/mail
より、
存在すれば入力メールと pop デーモンのメールファイルを削除します。
.It
ユーザが所有する全ファイルを
.Pa /tmp ,
.Pa /var/tmp ,
.Pa /var/tmp/vi.recover ,
から削除します。
.It
ユーザ名を
.Pa /etc/group
の全てのグループから削除します。
(グループが空になりかつグループ名とユーザ名が等しければ、
グループも削除されます ( これは、
.Xr adduser 8
がユーザ 1 人に対して唯一のグループを与えているためです ) 。
.Pp
.Nm
は、
ユーザ id が 0 であるユーザ ( 典型的には root です ) の削除は丁寧に拒否します。
この仕様は、ある動作 (つまり、ユーザの全プロセスを殺したり
ユーザのホームディレクトリを削除すること) が実行システムにダメージを
与えうることを考慮しています。
ユーザ id が 0 であるユーザを削除することが必要な場合は、
.Xr vipw 8
を参照し、パスワードファイルを直接編集する方法を調べてください。
これにより、望みのユーザの
.Xr passwd 5
エントリを手動で削除可能です。
.Pp
「断言的」に実行されていない場合(つまり
.Fl y
オプションが指定されていない場合)は、
.Nm
は、選択されたユーザのパスワードファイルエントリを表示し、
本当に消したいユーザであるのか尋ねます。ユーザのホームディレクトリが
ユーザ所有であれば、
.Nm
はユーザのホームディレクトリ以下の全てを消してもいいのかどうか
訊いてきます。
.Pp
以下のオプションが利用可能です。
.Pp
.Nm
の動作中、現在なにをやっているかをユーザに知らせます。
エラーが発生すると、標準エラー出力にそれを表示し、
.Nm
が動作継続可能であれば動作を継続します。
.Pp
.Bl -tag -width username
.It Fl y
断言します - 問われる質問は全て断言(すなわち肯定)します。
このオプションを指定する場合にはユーザ名も指定する必要があります。
.It Ar \&username
消去するユーザを指定します。
指定されていなければ、
.Nm
は、対話的に消去するユーザを尋ねます。
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd -compact
.It Pa /etc/master.passwd
.It Pa /etc/passwd
.It Pa /etc/group
.It Pa /etc/spwd.db
.It Pa /etc/pwd.db
.El
.Sh 関連項目
.Xr at 1 ,
.Xr chpass 1 ,
.Xr crontab 1 ,
.Xr finger 1 ,
.Xr passwd 1 ,
.Xr group 5 ,
.Xr passwd 5 ,
.Xr addgroup 8 ,
.Xr adduser 8 ,
.Xr pwd_mkdb 8 ,
.Xr rmgroup 8 ,
.Xr vipw 8
.Sh 歴史
.Nm
コマンドは、
.Fx 2.2
から導入されました。
.\" .Sh 作者
.\" Guy Helmer, Ames, Iowa
.Sh バグ
.Nm
は、包括的にファイルシステムを検索して
削除されたユーザの全ファイルを消すわけではありません;
あらゆる規模のシステムにおいてもこのようなことをしてしまうと、
法外なほど遅くなり I/O 負荷がかかります。また、
.Nm
は、ユーザが
.Pa /tmp
.Pa /var/tmp
に作成したシンボリックリンクを削除できません。
なぜなら、4.4BSD ファイルシステムではシンボリクリンクを誰が作成したかの情報
を持たないからです。
さらに、
.Pa /var/mail
には、
.Pa /var/mail/username
でも
.Pa /var/mail/.pop.username
でもないファイルで、削除されたユーザ所有ではないものの、
削除すべきファイルが有るかもしれません。
.Pp
.Nm
は NIS (Yellow Pages) については何も知りませんので、
ローカルパスワードファイルに対してのみ動作します。
diff --git a/ja/man/man8/rndcontrol.8 b/ja/man/man8/rndcontrol.8
index 3e3e024c61..06682235ac 100644
--- a/ja/man/man8/rndcontrol.8
+++ b/ja/man/man8/rndcontrol.8
@@ -1,97 +1,97 @@
.\"
.\" Copyright (c) 1995
.\" Mark Murray. 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 Mark Murray
.\" and Theodore Ts'o
.\" 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 MARK MURRAY 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 MARK MURRAY 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: rndcontrol.8,v 1.4.2.2 1998/07/18 11:12:20 jkh Exp %
+.\" %Id: rndcontrol.8,v 1.8 1998/03/23 08:28:31 charnier Exp %
.\" jpman %Id: rndcontrol.8,v 1.3 1997/08/16 13:39:03 horikawa Stab %
.\"
.Dd October 20, 1995
.Dt RNDCONTROL 8
.Os FreeBSD 2
.Sh 名称
.Nm rndcontrol
.Nd /dev/random デバイス操作ユーティリティ
.Sh 書式
.Nm rndcontrol
.Op Fl q
.Op Fl s Ar irq_no
.Op Fl c Ar irq_no
.Sh 解説
.Nm
コマンドは、カーネルが管理する「エントロピーのたまり場」を
乱数化するためにどの割り込みを使用するかを設定するのに用いられます。
デバイス
.Pa /dev/random
.Pa /dev/urandom
がこの乱数源とのユーザインタフェースになります。
いかなる変更も直ちに有効になります。
.Sh オプション
以下のコマンドラインオプションがサポートされています:
.Bl -tag -width indent
.It Fl q
エラー以外の全ての出力を抑制します。
.It Fl s Ar n
IRQ
.Ar n
を乱数源として使用します。
このオプションを複数使用して、複数の IRQ を指定することもできます。
.It Fl c Ar n
IRQ
.Ar n
を乱数源として使用するのをやめます。
このオプションを複数使用して、複数の IRQ を指定することもできます。
.El
.Pp
デフォルトではどの IRQ も使用しません。
.Pp
.Sh 関連ファイル
.Bl -tag -width /dev/urandom -compact
.It Pa /dev/random
安全な乱数デバイス
.It Pa /dev/urandom
乱数デバイス
.El
.Sh バグ
きっと何かあるでしょう。
.Sh 関連項目
.Xr random 4
.Sh 作者
.An Theodore Ts'o
がコアとなるコードを書きました。
.An Mark Murray
がこのコードを FreeBSD に移植し、
サポートルーチンを書き、マニュアルページを作成しました。
.Sh 歴史
.Nm
.Fx 2.1.5
で初めて登場しました。
diff --git a/ja/man/man8/route.8 b/ja/man/man8/route.8
index 63decfa368..0601f0d2cf 100644
--- a/ja/man/man8/route.8
+++ b/ja/man/man8/route.8
@@ -1,334 +1,335 @@
.\" 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
-.\" %Id: route.8,v 1.7.2.4 1998/08/12 06:48:51 charnier Exp %
+.\" %Id: route.8,v 1.12 1998/07/28 06:25:33 charnier Exp %
.\"
.\" jpman %Id: route.8,v 1.3 1997/07/28 05:33:13 konuma Stab %
.\"
.Dd March 19, 1994
.Dt ROUTE 8
.Os BSD 4.4
.Sh 名称
.Nm route
.Nd マニュアルでルーティングテーブルを操作する
.Sh 書式
.Nm route
.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 Ds
+以下のオプションを使用可能です:
+.Bl -tag -width indnent
.It Fl n
レポートの出力において、ホスト名とネットワーク名のシンボル名での表示を
抑止します。
(シンボル名と数字によるアドレスの変換処理には時間がかかり、
またネットワークが正常に動作している必要があります。
そのため、特にネットワークの動作の修正中には、
変換処理を行なわない方が好都合かもしれません。)
.It Fl v
(冗長モード) 詳細な情報を出力します。
.It Fl q
全ての出力を行ないません。
.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 -filled -offset indent -compact
.Nm route Op Fl n
.Cm monitor
.Ed
.Pp
flush コマンドは以下の書式です。
.Pp
.Bd -filled -offset indent -compact
.Nm route Op Fl n
.Cm flush
.Op Ar family
.Ed
.Pp
.Cm flush
コマンドが指定されると、
.Nm
は全てのゲートウェイのエントリにおけるルーティングテーブルを削除します。
アドレスファミリが
.Fl osi ,
.Fl xns ,
.Fl atalk ,
.Fl inet
のいずれかの修飾子によって指定されている場合、
そのアドレスファミリの宛先を持つルートだけが削除されます。
.Pp
その他のコマンドは以下の書式です。
.Pp
.Bd -filled -offset indent -compact
.Nm route Op Fl n
.Ar command
.Op Fl net No \&| Fl host
.Ar destination gateway
.Ed
.Pp
ここで
.Ar destination
は宛先のホストもしくはネットワークです。
.Ar gateway
はパケットがルートされるべき次の中継点です。
ある特定のホストへのルートは、
.Ar destination
で指定されたインターネットアドレスを解釈することによって、
ネットワークへのルートと区別されます。
オプションの修飾子
.Fl net ,
.Fl host
が指定されると、
.Ar destination
をそれぞれネットワークもしくはホストとして強制的に解釈します。
これらの修飾子がないなら、
.Ar destination
に INADDR_ANY の ``ローカルアドレス部'' が含まれるか
.Ar destination
がネットワークのシンボル名である場合はネットワークへのルート、
その他の場合はホストへのルートと想定します。
.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
として解釈されます。
.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
ルートにはいくつかのフラグがあり、
そのルートを使う宛先にデータを送信する時のプロトコルの動作に
影響をおよぼします。
これらのフラグは以下の修飾子によってセット (もしくはクリア) できます。
.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
.Ar destination
.Ar gateway
で指定された全てのシンボル名は、まずホスト名として
.Xr gethostbyname 3
を使用して検索されます。検索に失敗した場合は、その名前をネットワーク名と見なし
.Xr getnetbyname 3
によって検索されます。
.Pp
.Nm
はルーティングソケットと新しいメッセージタイプである
RTM_ADD,
RTM_DELETE,
RTM_GET,
RTM_CHANGE
を使います。
ルーティングテーブルの変更はスーパユーザのみがおこなうことができます。
.Sh 診断
.Bl -tag -width Ds
.It Sy "add [host \&| network ] %s: gateway %s flags %x"
指定されたルートがテーブルに追加されました。
出力された値は
.Xr ioctl 2
の呼出しの中で使われたルーティングテーブルのエントリからのものです。
指定されたゲートウェイアドレスがそのゲートウェイのプライマリアドレス
(
.Xr gethostbyname 3
によって返される最初のもの) でなかった場合、
ゲートウェイアドレスがシンボル名に加えて、数字でも表示されます。
.It Sy "delete [ host &| network ] %s: gateway %s flags %x"
指定されたルートがテーブルから削除されました。
.It Sy "%s %s done"
.Cm flush
コマンドが指定された場合、削除された各ルーティングテーブルエントリが
この形式のメッセージで報告されます。
.It Sy "Network is unreachable"
指定されたゲートウェイが直接到達可能なネットワーク上にないために、
ルートの追加に失敗しました。
hop 数が 1 であるゲートウェイを指定しなければなりません。
.It Sy "not in table"
テーブルにないエントリを削除しようとしました。
.It Sy "routing table overflow"
ルートの追加を試みましたが、システムの資源が少なく、
新しいエントリを作成するためのメモリを割り当てられませんでした。
.El
.Sh 関連項目
.Xr netintro 4 ,
.Xr route 4 ,
.Xr IPXrouted 8 ,
.Xr routed 8
.\" .Xr XNSrouted 8
.\" Xr esis 4 ,
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
.Sh バグ
最初の段落は多少
.Xr routed 8
の能力を大げさに書いています。
diff --git a/ja/man/man8/routed.8 b/ja/man/man8/routed.8
index d0446f3d93..a3729e6162 100644
--- a/ja/man/man8/routed.8
+++ b/ja/man/man8/routed.8
@@ -1,616 +1,614 @@
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)routed.8 8.2 (Berkeley) 12/11/93
-.\" %Id: routed.8,v 1.2.2.5 1998/08/12 06:54:16 charnier Exp %
+.\" %Id: routed.8,v 1.11 1998/07/28 06:36:14 charnier Exp %
.\"
.\" jpman %Id: routed.8,v 1.2 1997/03/31 14:11:11 horikawa Stab %
.\"
.Dd June 1, 1996
.Dt ROUTED 8
.Os BSD 4.4
.Sh 名称
.Nm routed
.Nd ネットワークの RIP と router discovery のルーティングデーモン
.Sh 書式
.Nm
.Op Fl sqdghmpAt
.Op Fl T Ar tracefile
.Oo
.Fl F
.Ar net Ns Op /mask Ns Op ,metric
.Oc
.OP Fl P Ar parms
.Sh 解説
-.Nm routed
+.Nm
はネットワークのルーティングテーブルを管理するデーモンで、
システムのブート時に起動されます。
これは、カーネルのルーティングテーブルを管理するために、
ルーティング情報プロトコル (Routing Information Protocol) の
RIPv1 (RFC\ 1058)、RIPv2 (RFC\ 1723)、および
Internet Router Discovery Protocol (RFC 1256) を用います。
RIPv1 プロトコルは 4.3BSD のデーモンのものをベースとしています。
.Pp
-.Nm routed
+.Nm
は、ルーティング情報プロトコルのパケットを待つために、
.Xr route 8
サービス
.Ns ( Xr services 5
参照) 用の
.Xr udp 4
ソケットを listen() します。また、マルチキャストによる Router Discovery の
ICMP メッセージの送受信も行います。
ホストがルータだった場合、
-.Nm routed
+.Nm
は直接接続されている全てのホストやネットワークに、
ルーティングテーブルの複製を定期的に提供します。
また、Router Discovery の ICMP メッセージを用いてデフォルトルートを広告したり
要求したりします。
.Pp
-.Nm routed
+.Nm
が走行し始めると (または、ネットワークインタフェースがオンになると)、
-.Nm routed
+.Nm
は AF_ROUTE アドレスファミリを用いて、システムに直結されていて
コンフィギュレーションされているインタフェースのうちで "up" とマークされて
いるものを探します。そしてそのインタフェースに必要な経路をカーネルの
ルーティングテーブルに追加します。スタート直後で、RIP が無効になっていない
インタフェースが少なくとも 1 つある場合は、
-.Nm routed
+.Nm
はカーネルのテーブル内に既に存在する静的でない経路を全て削除します。
カーネルのテーブル内にある静的な経路は保存され、有効な RIP metric を
持っているものは RIP レスポンスに含められます
.Ns ( Xr route 8
参照)。
.Pp
複数のインタフェース (ループバックインタフェースは含めません) が提供されている
場合、そのホストは接続されているネットワーク間でパケットを中継するものと
みなされます。新しいインタフェース上で RIP リクエストを送信した後や
ルータ発見のための広告や要求を送信した後で、デーモンはループに入り、
他のホストからの RIP リクエストやレスポンスや Router Discovery のパケットを
listen します。
.Pp
リクエストパケットを受信すると、
-.Nm routed
+.Nm
は内部テーブルに持っている情報からリプライを作成します。
生成された
.Em レスポンス
パケットには既知の経路のリストが含められ、各経路に
"hop count" metric がつきます (16 以上は "無限大" とみなされます)。
広告した metric はインタフェースに設定した metric を反映するため
.Ns ( Xr ifconfig 8
参照)、トラフィックを制御するにはインタフェースの metric を設定するのが
よい方法です。
.Pp
.Em split-horizon
をインプリメントしているため、リクエストしてきたネットワークの 1 hop 先の
経路はレスポンスには含められません。
.Xr rtquery 8
のような問い合わせプログラムからのリクエストに対しては、テーブル全体
から答を導き出します。
.Pp
ルータの故障から素早く復旧できるようにするため、
デーモンが扱うルーティングテーブルには各到達先用のゲートウェイをいくつか
覚えておくための空間があります。受けとった RIP
.Em レスポンス
パケットが更新のために使用されるのは、
現在認識しているゲートウェイのうちの 1 つから提供された場合、
もしくは現在あるゲートウェイのうちの少なくとも 1 つよりも
よい metric を広告された場合です。
.Pp
更新を行う時、
.Nm
は自分自身が持つテーブルの変更を記録し、到達先への最適な経路が変更された
場合にはカーネルのルーティングテーブルを記録します。カーネルの
ルーティングテーブルに対するこの変更は、次に送出される
.Em レスポンス
パケットに反映されます。次のレスポンスがしばらくの間スケジューリングされない
場合には、最近変更された経路だけを含んだ
.Em flash update
レスポンスが送られます。
.Pp
到着パケットの処理に加えて、
.Nm
は定期的にルーティングテーブルのエントリをチェックします。
あるエントリが 3 分間更新されなかった場合、
そのエントリの metric は無限大として設定され、
削除のためのマークがつけられます。
この無効化がローカルなインターネットを通して伝搬するのを保証するために、
削除はその経路が無限大の metric を持つと広告されるまで延期されます。これが
.Em poison reverse
方式です。
.Pp
カーネルのテーブル内の経路のうちで ICMP Redirect メッセージの結果として
追加や変更されたものは、
.Em black-holes
を最小にするために、しばらく経ってから削除されます。
TCP コネクションのタイムアウトが起こると、カーネルは
-.Nm routed
+.Nm
に対し、そのゲートウェイを通る全てのリダイレクトされた経路を削除し、
そのゲートウェイを通る全ての RIP の経路の年齢を増やすことで他のゲートウェイが
選択されるようにし、関連する全ての Router Discovery Protocol の
デフォルトルートの年齢を増やします。
.Pp
ネットワーク間ルータとして動作するホスト群は、直接接続されているホストおよび
ネットワークすべてに対し、30 秒ごとにルーティングテーブルを無条件で提供します。
この RIP レスポンスは、ブロードキャストをサポートしているネット上の
ブロードキャストアドレス、point-to-point リンクの到達先アドレス、
ルータ自身の他のネットワークでのアドレスに対して送信されます。
RIPv2 が有効になっている場合は、マルチキャストをサポートしているインタフェース
に対してマルチキャストパケットが送られます。
.Pp
リモートインタフェース上でレスポンスが受信されない場合や、
レスポンスを送っている最中にエラーが起こった場合や、
エラーが入力や出力よりも多い場合
.Ns ( Xr netstat 8
参照) は、ケーブルやインタフェースの他の部分が接続されていないか壊れている
とみなされ、その経路は適切に変更されます。
.Pp
.Em Internet Router Discovery Protocol
も同様に扱われます。デーモンが RIP の経路を配っている時は、Router Discovery
の要求の listen と Router Discovery の広告の送信も行います。
デーモンが静かな状態で他の RIP ルータからのパケットを listen している時には、
Router Discovery の要求を送信して、Router Discovery の広告を listen します。
受けた広告がよいものであれば、
RIP レスポンスのブロードキャストやマルチキャストを listen するのをやめます。
現在利用中のルータが死んだ場合に障害のある状態から短時間で修復できるよう、
広告されているルータのいくつかを追跡します。
もし発見してあるルータが全て見えなくなった場合は、RIP レスポンスの listen を
再開します。
.Pp
Router Discover の仕様では、広告の "生存期間" をデフォルトで 30 分とすることを
要求しています。これは、何かが起こった場合に
クライアントに 30 分間よい経路がなくなる可能性があることを意味しています。
コマンドラインで
.Fl P Cm rdisc_interval=45
と指定したり
.Pa /etc/gateways
.Cm rdisc_interval=45
と書くことでデフォルトを 45 秒にするのはいい考えです。
.Pp
Router Discovery を利用している場合 (システムが持っている
ネットワークインタフェースが 1 つだけでかつ Router Discovery の広告を
受けた場合にはこれがデフォルトです)、カーネルのテーブル内には
デフォルトルートは 1 つだけで、ホストへの経路は可変個数となります。
複数のネットワークインタフェースを持つホストでは、
このデフォルトルートはそのインタフェースのうちの 1 つだけを経由します。
このため、複数のホームを持つホストで
.Fl q
つきで動作しているものは、
以下に示す
.Cm no_rdisc
が必要です。
.Pp
RIPv2 と Router Discovery のどちらも扱うことができない "遺物の" システムを
サポートするためには、以下に記述してある
.Cm pm_rdisc
を参照して下さい。
.Pp
デフォルトでは、point to point リンク (たとえば PPP) には Router Discovery
の広告も要求も送信されません。
point-to-point リンク (SLIP や PPP などのような、IFF_POINTOPOINT フラグ
のついたもの) のネットマスクは、
RIPv1 利用時にはそのネットマスクがリモートシステムで利用されると
-.Nm routed
+.Nm
は推測します。
.Pp
-.Nm routed
-がサポートしているオプションは以下の通りです:
-.Bl -tag -width Ds
+以下のオプションを使用可能です:
+.Bl -tag -width indent
.It Fl s
-このオプションを指定すると、
.Nm
は強制的にルーティング情報を提供します。
これは、RIP や Router Discovery を無効にしていない状態で複数の
ネットワークインタフェースが提供されており、カーネルが ipforwarding=1 に
なっている場合にはデフォルトです。
.It Fl q
.Fl s
オプションとは逆の動作をします。
インタフェースが 1 つだけの場合は、これがデフォルトです。
.It Fl d
バックグラウンドでは動作しません。このオプションは対話的に使用するための
ものです。
.It Fl g
-このフラグは、ネットワーク間ルータにおいて "default" の到達先への経路を設ける
+ネットワーク間ルータにおいて "default" の到達先への経路を設ける
ために使われます。これは
.Fl F
.Cm 0/0,1
と同じ意味を持ち、主として歴史的理由のために提供されています。
これよりは、
.Fl P Cm pm_rdisc
をコマンドラインで指定するか、
.Cm pm_rdisc
.Pa /etc/gateways
で指定するほうがよいでしょう。
大きな metric を使用すれば、
デフォルトルートの潜在的な危険が広がる可能性を減らせます。
これは、典型的にはインターネットへのゲートウェイで用いられるか、
経路を他のローカルルータに対して報告しないような他の
ルーティングプロトコルを利用しているゲートウェイの場合に用いられます。
metric には 1 が使われるため、この機能は危険です。このオプションは一般に、
問題を解決するよりも、ルーティングのループによる混乱を引き起こしがちです。
.It Fl h
ホストルートまたは point-to-point ルートを広告しません。
これらは同一方向へいくネットワークルートであると規定されます。これは
特別な性質を持つ集合です。このオプションは、イーサネットへのゲートウェイ
でかつ SLIP のような point-to-point リンクで他のゲートウェイマシンが継っている
ゲートウェイにおいて有効です。
.It Fl m
マシンが、そのプライマリインタフェースへのホストルートや point-to-point ルート
を広告するようになります。
これは NFS サーバなどのような複数のホームを持つマシンにおいて有効です。
このオプションは、作成したホストルートのコストがサーバの人気で正当化される
場合を除いて、使うべきではありません。
これは、マシンがルーティング情報を供給していて、複数のインタフェースを
持っている場合にのみ効果があります。
.Fl m
オプションは、
.Fl q
オプションの効果を上書きして、
ホストルートの広告を限定した範囲に制限します。
.It Fl A
もし RIPv2 の認証に注意を払わない場合は、RIPv2 の認証を無視しません。
RFC 1723 に準拠するためにはこのオプションが必要です。
しかしながら、これは意味がなく、マシンが認証について注意を払わない時に
認証を運ぶ全ての RIPv2 パケットを無視するために検出プロトコルとして
RIP を使う場合の妨げとなります。
.It Fl T Ar tracefile
デバッグレベルを最低でも 1 まで上げ、デバッグ情報をトレースファイルに
書き加えるようにします。セキュリティ上の都合により、
-.Nm routed
+.Nm
がファイルへのトレースを日常的に行うようにはしないのが賢明です。
.It Fl t
デバッグレベルを増やします。
.Fl T
で指定したトレースファイルや標準出力に対し、より詳細な情報を記録するように
なります。デバッグレベルは
.Em SIGUSR1
シグナルや
.Em SIGUSR2
シグナルや
.Xr rtquery
で増減できます。
.It Fl F Ar net[/mask][,metric]
.Em net/mask
にマッチするアドレスを持つインタフェースを介した転送における経路を最小にし、
このマシンへのデフォルトルートを metric 数
.Em metric
で作成します。この目的は、RIP 情報をもつ多数の大きな UDP パケットを "にせ" の
デフォルトルートを含んだ 1 つの小さなパケットに置き換えることで、
遅い、たとえば PPP のような point-to-point リンクでの RIP のトラフィックを
減らすことにあります。
もし
.Em metric
がない場合は、"にせ" のデフォルトルートが広まるのを制限するために 14 が
指定されたものとみなします。
この機能は、不注意に使うとルーティングのループを引き起こすので危険です。
指定したネットワーク番号とマスクに複数のインタフェースがマッチする可能性がある
ことに注意して下さい。
.Fl g
も参照してください。
.It Fl P Ar parms
パラメータ行
.Em parms
.Pa /etc/gateways
ファイルに書くのと同じです。
.El
.Pp
提供された他の引数は、
-.Nm routed
+.Nm
の動作を記録するファイルの名前として解釈されます。
トレースファイルの名前をコマンドに追加するよりは、
.Fl T
を使った方がよいでしょう。
.Pp
上記の機能に加えて、
-.Nm routed
+.Nm
は "遠隔にある"
.Em パッシブ
もしくは
.Em アクティブ
なゲートウェイという概念をサポートします。
.Nm
は動作を開始すると、実在しないかもしれない遠隔のゲートウェイを検索するために
.Pa /etc/gateways
を読み込みます。ローカルなゲートウェイがパッシブであるかどうかや、
他のパラメータの取得には、ルーティングソケットからの情報だけをもとにします。
このようにして指定されたゲートウェイは、ルーティング情報を交換しない場合は
パッシブマークが付加されます。一方、 RIP パケットを交換するゲートウェイに
ついては、アクティブマークが付与されます。
.Em パッシブ
ゲートウェイを介す経路については、システムスタートアップ時に一度だけ
カーネル内の経路情報テーブルに設定され、送出される RIP レスポンスには
含められません。
.Pp
遠隔のアクティブゲートウェイは、ネットワークインタフェースと同様に扱われます。
RIP レスポンスが遠隔の
.Em アクティブ
ゲートウェイに送られます。
応答がない場合は、
その経路はカーネルのテーブルと別のインタフェースから広告された RIP レスポンスの
ぞれぞれから削除されます。遠隔のゲートウェイが RIP レスポンスの送出を
再開した場合は、その経路は再追加されます。
.Pp
このようなゲートウェイは、ATM ネットワークなどのような、
ブロードキャストやマルチキャストはサポートしないがそれ以外は Ethernet のような
伝統的な共有メディア方式のように働くネットワークに有効です。
ATM ネットワーク上にある到達可能な全ての RIP ルータを
.Pa /etc/gateways
の "host" 行を使って記述することができます。
.Pp
.Em external
マークのついたゲートウェイはパッシブと同様の扱いになりますが、
カーネル内のルーティングテーブルに載ることはなく、
ルーティングの更新時にその情報が含められることもありません。
external エントリの機能は、他のルーティングプロセスがそのような経路を
必要時に追加する可能性があることを知らせるためにあり、その到達先への別の経路は
-.Nm routed
+.Nm
で設定されるべきではありません。
external エントリは、両方のルータが同じ到達先への経路を覚えてもよい場合にのみ
必要です。
.Pp
.Pa /etc/gateways
ファイルは、以下のフォーマットおよびパラメータからなる行の集まりです:
.Pp
.Bd -ragged
.Cm net
.Ar Nname[/mask]
.Cm gateway
.Ar Gname
.Cm metric
.Ar value
.Pf < Cm passive No \&|
.Cm active No \&|
.Cm extern Ns >
.Ed
.Bd -ragged
.Cm host
.Ar Hname
.Cm gateway
.Ar Gname
.Cm metric
.Ar value
.Pf < Cm passive No \&|
.Cm active No \&|
.Cm extern Ns >
.Ed
.Pp
キーワード
.Ar Nname
.Ar Hname
は、到達先のネットワークやホストの名前です。
.Pp
.Ar name1
は、到達先のネットワークもしくはホストの名前です。
これはネットワークのシンボル名または "ドット" 表記による
インターネットアドレスのどちらでも構いません
.Ns ( Xr inet 3
参照)。(もし名前の場合は、
.Pa /etc/networks
または
.Pa /etc/hosts
で定義されているか、
-.Nm routed
+.Nm
の動作開始前に
.Xr named 8
が起動されていなければなりません。)
.Pp
.Ar mask
は省略可能な数値で
.Ar Nname
のネットマスクを表し、1 から 32 までの値をとります。
.Pp
.Ar Gname
は、RIP レスポンスがフォワードされるべきゲートウェイの名前もしくは
アドレスです。
.Pp
.Ar value
は、到達先ホストもしくはネットワークへの hop 数です。
.Ar " host hname "
.Ar " net nname/32 "
と同一です。
.Pp
.Cm passive ,
.Cm active ,
.Cm external
のキーワードのうちの 1 つを指定することで、ゲートウェイが
.Cm passive
または
.Cm active
(前述の通り) であるか RIP プロトコルのスコープの範囲外つまり
.Cm external
であるかを指示しなければなりません。
.Pp
"net" と "host" のどちらでも始まらない行は、以下のようなパラメータ設定
でなければなりません。これは 1 つでも複数でもよく、複数の場合はコンマや
空白で区切ります:
.Bl -tag -width Ds
.It Cm if Ns \&= Ns Ar ifname
その行にある他のパラメータが、名前が
.Ar ifname
のインタフェースに適用されることを示します。
.It Cm subnet Ns \&= Ns Ar nname[/mask][,metric]
ネットワーク
.Ar nname
への経路をマスク
.Ar mask
と指定された metric (デフォルトは 1) で広告します。
これは CIDR の確保において "穴" を埋めるのに有効です。
このパラメータはその行にそれだけで出現しなければなりません。
.Pp
この機能は不必要に使ってはいけません。危険です。
.It Cm passwd Ns \&= Ns Ar XXX
RIPv2 の password を指定します。これは送信した全ての RIPv2 レスポンスに
含められ、受信した全ての RIPv2 レスポンスでチェックされます。
パスワードは、空白やタブ文字やコンマや '#' を含んではいけません。
.It Cm passwd Ns \&= Ns Ar XXX1[|KeyID[start|stop]]
RIPv2 の生のパスワードを指定します。
これは、送信される全ての RIPv2 レスポンスに含められ、
受信した全ての RIPv2 レスポンスでチェックされます。
パスワード内の空白、タブ文字、コンマ、'#'、'|'、NULL 文字は、
バックスラッシュ (\\) でエスケープしなければなりません。
よく使われる \\n, \\r, \\t, \\b, \\xxx などのエスケープシーケンスは、
それぞれ通常の意味を持っています。
.Cm KeyID
は一意でなければなりませんが、生のパスワードの場合は無視されます。
.Cm start
.Cm stop
がある場合、これはタイムスタンプで、
year/month/day@hour:minute の形式をとります。
これらはパスワードが正しい時に設定されます。
出力パケットで使われるパスワードには、期限が最も遠い将来まで設定されている
パスワードが使われます。全てのパスワードが期限切れになった場合には、
最も最近期限切れになったパスワードが使われます。
また、有効なパスワードがまだ設定されていない場合には、
パスワードは出力されません。
到着パケットは有効なパスワードを運んでくる可能性があります。
ここで有効とは、未来の 24 時間内で有効になるものか、
過去 24 時間内で有効であったものを指します。
.It Cm md5_passwd Ns \&= Ns Ar XXX1|KeyID[start|stop]
RIPv2 の MD5 パスワードを指定します。
.Cm KeyID
が必須であること以外は、このキーワードは
.Cm passwd
と同じです。
秘密を守るため、パスワードの設定は
.Em /etc/gateways
内のものだけが有効であり、かつ、このファイルが UID 0 でのみ読み込み可能
でなければなりません。
.It Cm no_ag
RIPv1 と RIPv2 のレスポンス内のサブネットの合成を行いません。
.It Cm no_super_ag
RIPv2 のレスポンス内のネットワークのスーパネットへの合成を行いません。
.It Cm passive
そのインタフェースが更新時に他のインタフェースを通して広告されないように
マークし、指定したインタフェースでは RIP および router discovery 処理を
全く行わないようにします。
.It Cm no_rip
指定したインタフェースでの全 RIP 処理を行いません。
RIP パケットを処理するインタフェースがない場合は、
.Nm
は単に Router Discovery デーモンとして働きます。
.Pp
.Cm rdisc_adv
または
.Fl s
で明示的に Router Discovery の広告を行うように指示せずに RIP を
行わないようにすると、
-.Nm routed
+.Nm
は広告を行わない Router Discovery デーモンとして働くことに注意して下さい。
.It Cm no_ripv1_in
受信した RIPv1 レスポンスが無視されるようになります。
.It Cm no_ripv2_in
受信した RIPv2 レスポンスが無視されるようになります。
.It Cm ripv2_out
可能な場合にマルチキャストができるよう、
RIPv1 の出力は行わず、RIPv2 による広告を行います。
.It Cm ripv2
.Cm no_ripv1_in
.Cm no_ripv1_out
を指定した場合と同じです。
.It Cm no_rdisc
Internet Router Discovery Protocol を無効にします。
.It Cm no_solicit
Router Discovery の要求を送信しません。
.It Cm send_solicit
たとえ point-to-point リンクであっても
Router Discovery の要求を送信します。
デフォルトでは Router Discovery のメッセージを聞くだけです。
.It Cm no_rdisc_adv
Router Discovery の広告の送信を行いません。
.It Cm rdisc_adv
たとえ point-to-point リンクであっても
Router Discovery の広告を送信します。
デフォルトでは Router Discovery のメッセージを聞くだけです。
.It Cm bcast_rdisc
Router Discovery のパケットをマルチキャストする代りにブロードキャストします。
.It Cm rdisc_pref Ns \&= Ns Ar N
Router Discovery の広告の優先度を整数
.Ar N
にします。
.It Cm rdisc_interval Ns \&= Ns Ar N
Router Discovery の広告を行う上での名目の送信間隔を N にし、その生存期間を
3*N にします。
.It Cm fake_default Ns \&= Ns Ar metric
指定したインタフェースのネットワークとネットマスクを使って
.Fl F Ar net[/mask][=metric]
を指定した場合と同じです。
.It Cm pm_rdisc
.Cm fake_default
に似ています。RIPv2 の経路がマルチキャストの場合、RIPv1 を聞いている
マシンはそれを受信することができないので、この機能を使えば RIPv1 のデフォルト
ルートが RIPv1 を聞いているマシンにブロードキャストされるようになります。
.Cm fake_default
で変更しない限り、
デフォルトルートは metric 14 でブロードキャストされます。
これは "能力の低い router discovery" プロトコルを提供することになります。
.It Cm trust_gateway Ns \&= Ns Ar rname
指定したルータや他の
.Cm trust_gateway
キーワードで指定したルータからの RIP パケットを受け付け、
これら以外からのパケットは無視するようになります。
.It Cm redirect_ok
システムがルータとして動作してパケットのフォワードを行っている場合に、
RIP が ICMP Redirect メッセージを許可するようになります。
そうでなければ、ICMP Redirect メッセージは上書きされます。
.El
.Pp
.Sh 関連ファイル
.Bl -tag -width /etc/gateways -compact
.It Pa /etc/gateways
遠隔ゲートウェイについての情報を記述するファイル。
.El
.Sh 関連項目
.Xr icmp 4 ,
.Xr udp 4 ,
.Xr gated 8 ,
.Xr rtquery 8
.Rs
.%T Internet Transport Protocols
.%R XSIS 028112
.%Q Xerox System Integration Standard
.Re
.Sh バグ
ネットワークインタフェースの一方向の失敗
(例えば、出力方向にのみ失敗するなど) を常に検出できるとは限りません。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man8/rpc.rquotad.8 b/ja/man/man8/rpc.rquotad.8
index dce03b7195..4951c9b9b0 100644
--- a/ja/man/man8/rpc.rquotad.8
+++ b/ja/man/man8/rpc.rquotad.8
@@ -1,67 +1,67 @@
.\"
.\" Copyright (c) 1994 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.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Theo de Raadt.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: rpc.rquotad.8,v 1.1.1.1.2.2 1997/12/17 07:31:27 charnier Exp %
+.\" %Id: rpc.rquotad.8,v 1.5 1997/11/26 07:31:14 charnier Exp %
.\" jpman %Id: rpc.rquotad.8,v 1.3 1997/09/04 17:40:03 horikawa Stab %
.\"
.Dd June 22, 1994
.Dt RPC.RQUOTAD 8
.Os BSD 4.3
.Sh 名称
.Nm rpc.rquotad
.Nd リモートの quota (割り当て制限) サーバ
.Sh 書式
.Nm /usr/libexec/rpc.rquotad
.Sh 解説
.Nm
は、リモートマシンへ NFS マウントされているファイルシステムについて
ユーザに対するローカルマシンでの割り当て制限値を返す
.Xr rpc 3
サーバです。
.Xr quota 1
は、リモートファイルシステムの割り
当て制限値を表示するために本サーバを用います。
.Nm
は通常
.Xr inetd 8
から起動されます。
.Pp
.Nm
.Pa /usr/include/rpcsvc/rquota.x
で定義される
.Tn RPC
プロトコルを使用します。
.Sh バグ
.Bx 4.4
.Bx Free
はグループに対する割り当て制限をサポートしていますが、
rqutoa プロトコルはこれをサポートしていません。
.Sh 関連項目
.Xr quota 1
diff --git a/ja/man/man8/rpc.rstatd.8 b/ja/man/man8/rpc.rstatd.8
index e34c1dd854..f102159dc2 100644
--- a/ja/man/man8/rpc.rstatd.8
+++ b/ja/man/man8/rpc.rstatd.8
@@ -1,64 +1,64 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 1985, 1991 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.
.\"
-.\" %Id: rpc.rstatd.8,v 1.1.1.1.8.1 1997/12/17 07:33:09 charnier Exp %
+.\" %Id: rpc.rstatd.8,v 1.4 1997/11/26 07:34:54 charnier Exp %
.\"
.\" jpman %Id: rpc.rstatd.8,v 1.2 1997/05/22 08:05:12 mitchy Stab %
.Dd June 7, 1993
.Dt RPC.RSTATD 8
.Os BSD 4.3
.Sh 名称
.Nm rpc.rstatd
.Nd カーネル統計サーバー
.Sh 書式
.Nm /usr/libexec/rpc.rstatd
.Sh 解説
.Nm
はカーネルから性能統計を取得するサーバーです。
この統計は、
.Xr rup 1
コマンドを使って読むことができます。
.Nm
デーモンは通常
.Xr inetd 8
から起動されます。
.Pp
.Nm
.Pa /usr/include/rpcsvc/rstat.x
で定義された
.Tn RPC
プロトコルを使用します。
.Sh 関連項目
.Xr rup 1 ,
.Xr inetd 8
diff --git a/ja/man/man8/rpc.rusersd.8 b/ja/man/man8/rpc.rusersd.8
index 0421c53187..873447e281 100644
--- a/ja/man/man8/rpc.rusersd.8
+++ b/ja/man/man8/rpc.rusersd.8
@@ -1,68 +1,68 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 1985, 1991 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.
.\"
-.\" %Id: rpc.rusersd.8,v 1.1.1.1.8.1 1997/12/17 07:34:41 charnier Exp %
+.\" %Id: rpc.rusersd.8,v 1.5 1997/11/26 07:36:50 charnier Exp %
.\" jpman %Id: rpc.rusersd.8,v 1.2 1997/05/22 08:10:18 mitchy Stab %
.\"
.Dd June 7, 1993
.Dt RPC.RUSERSD 8
.Os BSD 4.3
.Sh 名称
.Nm rpc.rusersd
.Nd ログインしているユーザに関する情報のサーバ
.Sh 書式
.Nm /usr/libexec/rpc.rusersd
.Sh 解説
.Nm
は、システムに現在ログインしているユーザに関する情報を
返すサーバです。
.Pp
現在ログインしているユーザについて、
.Xr rusers 1
を用いることで問い合わせることが出来ます。
.Nm
デーモンは、通常
.Xr inetd 8
から起動されます。
.Pp
.Nm
は、
.Pa /usr/include/rpcsvc/rnusers.x
に定義された
.Tn RPC
プロトコルを使用します。
.Sh 関連項目
.Xr rusers 1 ,
-.Xr who 1 ,
.Xr w 1 ,
+.Xr who 1 ,
.Xr inetd 8
diff --git a/ja/man/man8/rpc.rwalld.8 b/ja/man/man8/rpc.rwalld.8
index 26d348165d..f3df438317 100644
--- a/ja/man/man8/rpc.rwalld.8
+++ b/ja/man/man8/rpc.rwalld.8
@@ -1,80 +1,80 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 1985, 1991 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.
.\"
-.\" %Id: rpc.rwalld.8,v 1.1.1.1.8.1 1997/12/17 07:36:28 charnier Exp %
+.\" %Id: rpc.rwalld.8,v 1.4 1997/12/02 12:20:10 charnier Exp %
.\" jpman %Id: rpc.rwalld.8,v 1.2 1997/05/22 08:15:10 mitchy Stab %
.\"
.Dd June 7, 1993
.Dt RPC.RWALLD 8
.Os BSD 4.3
.Sh 名称
.Nm rpc.rwalld
.Nd ログインしているユーザにメッセージを送るためのサーバ
.Sh 書式
.Nm /usr/libexec/rpc.rwalld
.Op Fl n
.Sh 解説
.Nm
は、システムにログインしている全てのユーザに対して
メッセージを送るためのサーバです。本サーバは
.Xr wall 1
を起動し、メッセージの送信を行ないます。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl n
デーモンになりません。
.Nm
.Xr inetd 8
から起動された場合のみ、本オプションを使用可能です。
.El
.Pp
メッセージは、
.Xr rwall 1
コマンドを用いて本サーバに送信されます。
.Nm
デーモンは、通常は
.Xr inetd 8
から起動されます。
.Pp
.Nm
は、
.Pa /usr/include/rpcsvc/rwall.x
に定義された
.Tn RPC
プロトコルを使用します。
.Sh 関連項目
.Xr rwall 1 ,
.Xr wall 1 ,
.Xr inetd 8
diff --git a/ja/man/man8/rpc.sprayd.8 b/ja/man/man8/rpc.sprayd.8
index f55f880378..526d29527b 100644
--- a/ja/man/man8/rpc.sprayd.8
+++ b/ja/man/man8/rpc.sprayd.8
@@ -1,59 +1,59 @@
.\"
.\" Copyright (c) 1994 Christos Zoulas
.\" 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 Christos Zoulas.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: rpc.sprayd.8,v 1.2.2.1 1997/12/17 07:38:17 charnier Exp %
+.\" %Id: rpc.sprayd.8,v 1.5 1997/12/02 12:25:31 charnier Exp %
.\" jpman %Id: rpc.sprayd.8,v 1.3 1997/09/04 17:42:05 horikawa Stab %
.\"
.Dd June 22, 1994
.Dt RPC.SPRAYD 8
.Os BSD 4.3
.Sh 名称
.Nm rpc.sprayd
.Nd spray 用サーバ
.Sh 書式
.Nm /usr/libexec/rpc.sprayd
.Sh 解説
.Nm
は、
.Xr spray 8
コマンドによって送出されたパケットを記録し、パケットの送出者に
ネットワークトラフィックの情報を送信するサーバです。
.Nm
は、通常
.Xr inetd 8
から起動されます。
.Pp
.Nm
は、
.Pa /usr/include/rpcsvc/spray.x
に定義された
.Tn RPC
プロトコルを使用します。
.Sh 関連項目
.Xr spray 8
diff --git a/ja/man/man8/rpc.yppasswdd.8 b/ja/man/man8/rpc.yppasswdd.8
index 6e83ed91f9..117e6c4075 100644
--- a/ja/man/man8/rpc.yppasswdd.8
+++ b/ja/man/man8/rpc.yppasswdd.8
@@ -1,326 +1,326 @@
.\" Copyright (c) 1995, 1996
.\" Bill Paul <wpaul@ctr.columbia.edu>. 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 contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: rpc.yppasswdd.8,v 1.4.2.2 1997/11/05 07:37:00 charnier Exp %
+.\" %Id: rpc.yppasswdd.8,v 1.9 1998/03/23 08:28:39 charnier Exp %
.\" jpman %Id: rpc.yppasswdd.8,v 1.3 1997/08/31 14:17:34 horikawa Stab %
.\"
.Dd February 8, 1996
.Dt RPC.YPPASSWDD 8
.Os
.Sh 名称
.Nm rpc.yppasswdd
.Nd "NIS パスワードを変更するためのサーバ"
.Sh 書式
.Nm rpc.yppasswdd
.Op Fl t Ar master.passwd template file
.Op Fl d Ar default domain
.Op Fl p Ar path
.Op Fl s
.Op Fl f
.Op Fl a
.Op Fl m
.Op Fl i
.Op Fl v
.Op Fl u
.Op Fl h
.Sh 解説
.Nm
デーモンは、ユーザが
.Xr yppasswd 1
.Xr ypchpass 1
コマンド使うことで、
NIS パスワードおよび他の情報を変更することを許します。
.Nm
は、パスワードの変更要求を受け入れ、その認証を行い、
.Pa /var/yp/master.passwd
ファイル中に更新された情報を配置し、
NIS の
.Pa master.passwd
マップと
.Pa passwd
マップを更新する、 RPC を使ったサーバです。
.Pp
.Nm
は、普通の NIS ユーザが、自分の NIS パスワード・
('GECOS'フィールドとして知られている)フルネーム・シェルを変更することを許します。
これらの更新は、典型的には
.Xr yppasswd 1 ,
.Xr ypchfn 1 ,
.Xr ypchsh 1 ,
.Xr ypchpass 1
コマンドを使って行われます。
(管理者の中には、ユーザが名前の情報やシェルを変更することを
望まない人もいます。サーバは、オプションフラグを使うことで、そのような
変更ができない様にできます。)サーバが更新要求を受け取ると、
.Pa /var/yp/securenets
ファイルに記述されている
.Pa securenets
規則 (securenets に関する詳細な情報は
.Xr ypserv 8
のマニュアルページを参照してください。
.Nm
サーバは、
.Xr ypserv 8
と同じアクセス制御機構を使います。)に照らして、
要求を行ったクライアントのアドレスを比較します。
.Pp
サーバは、その後ユーザが入力した '古い' パスワードが有効かどうかを
確認し、その後いくつかの更新情報のチェックを行います
(これらには、制御文字のチェックやコロンや有効なシェルのチェックを
含みます)。ひとたび更新要求が有効であることが満足されると、
サーバはパスワードテンプレートファイル (デフォルトでは、
.Pa /var/yp/master.passwd
です) を更新し、その後 NIS マップを再構築するために
.Pa /usr/libexec/yppwupdate
スクリプトを実行します。(このスクリプトは、二つの引数を受け取ります:
それらは変更されたパスワードテンプレートの相対パス名と更新された
ドメインの名前です。これらは、
.Pa /var/yp/Makefile
に渡されます。)
.Pp
.Bx Free
版の
.Nm
は、NIS マスタサーバ上のスーパユーザが NIS パスワードマップを更新するための
より洗練された方法を提供します。スーパユーザは任意のドメインの
任意のユーザの master.passwd エントリの任意のフィールドを変更できます。
これは、ユーザの現在の NIS パスワードについて知らなくても可能です
(サーバがスーパユーザからの要求を受け取ると、パスワード認証は
省略します)。そのうえ、サーバが
.Fl a
フラグ付きで実行された時には、スーパユーザは
.Xr ypchpass 1
を使って、新しいエントリをマップに付け加えることさえできます。
また、これは、 NIS マスタサーバ上のスーパユーザだけに適用されます。
これらの特別な機能はネットワークを介しては提供されません。
.Pp
.Nm
デーモンは、 NIS マスタサーバである機械上でだけ実行することが
できます。
.Sh オプション
以下のオプションが使用可能です:
.Bl -tag -width indent
.It Fl t Ar master.passwd template file
デフォルトでは、
.Nm
は、デフォルトドメインの
.Pa master.passwd
.Pa passwd
を生成するために使われるテンプレートファイルは、
.Pa /var/yp/master.passwd
であることを仮定しています。このデフォルトは、代わりのファイル名を
.Fl t
フラグとともに指定することで上書きできます。
.Pp
(注意): このフラグとともに指定されたテンプレートファイルが
.Pa /etc/master.passwd
である場合、
.Nm
は NIS のマップに加えてローカルのパスワードデータベースを
再構成するために、自動的に
.Xr pwd_mkdb 8
を呼び出します。
.It Fl d Ar domain
.Nm
サーバは複数のドメインを扱うことができますが、一つのドメインを
デフォルトとして選ばなければなりません。
.Xr domainname 1
コマンドによって設定されたシステムデフォルトのドメイン名を
使おうとします。しかしながら、システムドメイン名が設定されていない場合、
デフォルトドメイン名はコマンドラインで指定しなければなりません。
システムデフォルトドメインが設定されている場合、このオプションはその
定義を上書きします。
.It Fl p Ar path
このオプションは、デフォルトの NIS マップデータベースのパスを
上書きするために使われます。コンパイル時に指定されているデフォルトの
パスは
.Pa /var/yp
です。
.It Fl s
シェル情報の変更を認めません。
.It Fl f
フルネーム ('GECOS') 情報の変更を認めません。
.It Fl a
NIS パスワードデータベースへの追加を許可します。NIS マスタサーバ上の
スーパユーザは、
.Xr ypchpass 1
コマンドでユーザの
.Pa master.passwd
マップエントリのどんなフィールドでも、無制限の変更を行うことが
許されています。
.Nm
がこのフラグを付けて実行された場合、
.Xr chpass 1
を使用したローカルパスワードデータベース更新にて可能であるのと同様に、
スーパユーザが NIS パスワードマップに新しいレコードを追加することを許可します。
.It Fl m
マルチドメインモードを有効にします。
.Xr ypserv 8
は同時にいくつかのドメインを扱うことができますが、ほとんどの
.Nm
実装では、一つの NIS ドメインだけしか扱うことができません。
これは、一般に NIS マスタサーバのシステムデフォルトドメインと同じです。
.Bx Free
.Nm
は、
.Pa yppasswd
プロトコルでは
.Pa domain
引数をクライアントの要求中に含めることが出来ないという
プロトコル固有の制限にもかかわらず、
この問題を解決しようとしています。
マルチドメインモードでは、
.Nm
.Pa /var/yp
下の全ドメインの全パスワードマップを検索し、
与えられた更新要求で指定されたユーザ情報と一致するエントリを見付けます。
(一致したかどうかは、ユーザ名と UID および GID フィールドを調べることで
決定されます。) 一致したエントリとそのドメインはその後更新のために
使われます。
.Pp
マルチドメインモードがうまく動くためには、各ドメイン毎に
別々のテンプレートファイルが必要なことに注意してください。
例えば、サーバが 3 つのドメイン
.Pa foo ,
.Pa bar ,
.Pa baz
を提供している時、 3 つの別の master.passwd テンプレートファイル
.Pa /var/yp/foo/master.passwd ,
.Pa /var/yp/bar/master.passwd ,
.Pa /var/yp/baz/master.passwd
が必要です。
.Pa foo
がシステムデフォルトドメインであったとすると、そのテンプレートファイル
.Pa /var/yp/foo/master.passwd
もしくは
.Pa /var/yp/master.passwd
のどちらであっても構いません。
サーバは、後のファイルを先に確認し、見付からない場合には先のファイルを
確認します。
.Pp
デフォルトでは、マルチドメインモードにはなっていません。
これは、異なったドメインに同じもしくは似ているエントリが存在した場合
に失敗するからです。検索領域に複数のエントリを見付けた場合、
サーバは更新要求を停止します。
したがって、偏執的な管理者はマルチドメインモードを利用不可能にしたいと
思うでしょう。
.It Fl i
.Nm
がこのフラグ付きで呼び出された場合、マップ更新をその場で行おうとします。
この意味は、
パスワードテンプレートファイルを直接更新してマップ更新する代わりに、
サーバがマップデータベースを直接更新するということです。
これは、パスワードマップが大きい時に有効です。例えば、
パスワードデータベースに 10,000 ものエントリがある場合、マップの更新が
終了するまでに数分かかってしまいます。その場でマップを更新することで、
この時間を数秒までに減らすことができます。
.It Fl v
冗長なログモードに入ります。通常、サーバはエラー状態時や
スーパユーザによる NIS マスタサーバ上での更新n時に、
.Xr syslog 3
の能力を使ってメッセージを記録します。サーバが
.Fl v
オプションを使って実行されている時には、全ての更新に対する
情報メッセージを記録します。
.It Fl u
たくさんの商用の
.Xr yppasswd 1
クライアントは、
.Nm
への要求を送る時に予約ポートを使いません。
これは、
.Xr yppasswd 1
が root に set-uid されずにインストールされているか、 RPC の実装が
スーパユーザのためにクライアント接続が確立されたとき、
予約ポートを割り当てることをしないようになっているためです。
デフォルトでは、
.Nm
は、クライアントからの結果を予約ポートを使って受け取ることを期待します。
非特権ポートから受け取った要求は、排除されます。不幸にして、この振舞いは
特権ポートを使えないクライアントシステムからのパスワード更新要求を妨げます。
.Fl u
フラグを指定することで、
.Nm
は、特権ポートを使えない
.Xr yppasswd 1
でも働くように、特権ポートのチェックを無効にします。
これは、少しセキュリティを低下させますが、クライアントの振舞いを
変更できない場合には必要になるでしょう。
.It Fl h
.Nm
が理解できるフラグやオプションのリストを表示します。
.El
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /usr/libexec/yppwupdate
NIS マップを更新し、その後でプッシュするために、
.Nm
によって呼び出されるスクリプトです。
.It Pa /var/yp/master.passwd
デフォルトドメインのためのテンプレートパスワードファイルです。
.It Pa /var/yp/[domainname]/[maps]
特定の NIS ドメインのための NIS マップです。
.It Pa /var/yp/[domainname]/master.passwd
デフォルトでないドメインのための一時パスワードファイルです
(マルチドメインモードだけで使われます)。
.El
.Sh 関連項目
.Xr yp 4 ,
.Xr yppush 8 ,
.Xr ypserv 8 ,
.Xr ypxfr 8
.Sh バグ
yppasswd.x プロトコル定義で記述されているように、
YPPASSWDPROC_UPDATE プロシジャは二つの引数を取ります。
更新するユーザ情報を含む V7 形式のパスワード構造および、
ユーザの暗号化されない (クリアテキスト) パスワードです。
.Nm
はリモートの NIS クライアントマシンからの更新要求を扱うことを
仮定しています。これは、
.Xr yppasswd 1
や似たようなクライアントプログラムがネットワークを通して、
ユーザのクリアテキストパスワードを転送するということを意味します。
.Pp
これはパスワード更新では問題ではありません。
なぜなら、更新と共に送られるプレインテキストパスワードは、
新しい暗号化されたパスワードが有効になった時には無効になっているからです。
しかし、ユーザが自分の 'GECOS' 情報やシェルを更新する場合には、
更新と共に送られるクリアテキストパスワードは、
更新完了時にも有効です。
ネットワークがセキュアでない場合、このクリアテキストパスワードは、
途中でとらえられ、
そのユーザアカウントに対する不正アクセスに使用されるかも知れません。
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja/man/man8/rpc.ypxfrd.8 b/ja/man/man8/rpc.ypxfrd.8
index bad7b885c0..8dac7ce484 100644
--- a/ja/man/man8/rpc.ypxfrd.8
+++ b/ja/man/man8/rpc.ypxfrd.8
@@ -1,139 +1,139 @@
.\" Copyright (c) 1995, 1996
.\" Bill Paul <wpaul@ctr.columbia.edu>. 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 contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: rpc.ypxfrd.8,v 1.1.1.1.2.2 1997/10/14 06:40:05 charnier Exp %
+.\" %Id: rpc.ypxfrd.8,v 1.7 1998/03/23 08:28:49 charnier Exp %
.\" jpman %Id: rpc.ypxfrd.8,v 1.3 1997/09/04 17:48:28 horikawa Stab %
.\"
.Dd June 2, 1996
.Dt RPC.YPXFRD 8
.Os
.Sh 名称
.Nm rpc.ypxfrd
.Nd "NIS マップ転送サーバ"
.Sh 書式
.Nm rpc.ypxfrd
.Op Fl p Ar path
.Sh 解説
.Nm
デーモンは NIS マスタサーバから NIS スレーブサーバへの巨大な NIS
マップの配布を高速化するためのに使われます。通常、マップの転送はいくつ
かの手順を経ます:
.Bl -bullet -offset indent
.It
マスタサーバが
.Xr yppush 8
を呼び出し、スレーブサーバが転送を開始するよう指示します。
.It
スレーブサーバは、
.Xr ypxfr 8
を起動します。
.Xr ypxfr 8
は、マスタサーバから yp_all() を使ってマップの内容をすべて読みます。
.It
次に
.Xr ypxfr 8
は、
.Xr db 3
ライブラリを使ってサーバから受け取ったデータをハッシュし新しいマップ
データベースファイルを作成します。
.It
全てのデータを書き終えてから、
.Xr ypxfr 8
は、新しいファイルを置き換え、ローカルマシンの
.Xr ypserv 8
宛にデータベースハンドルを更新するよう YPPROC_CLEAR を送ります。
.El
.Pp
巨大なマップが含まれている場合、この処理に数分かかることがあります。
たとえば、数万のエントリのあるパスワードデータベースでは、数メガバイト
のディスクを消費し、
.Xr db 3
ライブラリがハッシュテーブルに全てのエントリをソートし納めるのに
長時間かかります。さらに、マップファイルは2セットあります:
.Pa master.passwd.by{name,uid}
.Pa passwd.by{name,uid}
です。
.Pp
.Nm
サーバは NIS スレーブサーバがマスターサーバのマップファイルを
コピーし、マップファイルの構築を行わないことで、転送処理を高速化し
ます。
.Nm
は、単に RPC ベースのファイル転送プロトコルを実装しているだけです。
十分に高速なスレーブサーバが数メガバイトのファイルからマップを構築する
のに数分かかるのにたいし、転送では数秒しかかかりません。
.Pp
.Nm
サーバは、
.Xr ypserv 8
と同じアクセス制限メカニズムを使っています。
したがって、
.Xr securenets 5
データベースで許されているスレーブサーバのみがファイルを転送できます。
さらに、reserved ポートを使うスレーブサーバのみが、
.Pa master.passwd
マップを転送することを許されています。
.Sh オプション
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl p Ar path
このオプションにより、デフォルトの NIS データベースへのパスを変更しま
す。デフォルトパスは、
.Pa /var/yp
です。
.El
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /var/yp/[domainname]/[maps]
ある NIS ドメインの NIS マップ群。
.El
.Sh 関連項目
.Xr yp 4 ,
.Xr yppush 8 ,
.Xr ypserv 8 ,
.Xr ypxfr 8
.Sh バグ
.Bx Free
.Nm
プロトコルは SunOS で使われているものと互換性がありません。これは残念な
ことではありますが、避けることが出来ません: Sun のプロトコルは
自由に入手することは出来ず、さらに入手できたとしても、
SunOS NIS v2 の実装ではマップデータベースに ndbm パッケージを使ってお
り、
.Bx Free
の実装で使われている Berkeley DB パッケージではないため不便です。
これらの二つのパッケージ間のフォーマットは非常に異なっています。
さらに、 ndbm はバイトオーダの問題があり、ビッグエンディアンのシステムで
作った ndbm データベースはリトルエンディアンのシステムでは読むことが出来
ません。
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja/man/man8/rpcinfo.8 b/ja/man/man8/rpcinfo.8
index 9eb2750dfd..3fa69ec970 100644
--- a/ja/man/man8/rpcinfo.8
+++ b/ja/man/man8/rpcinfo.8
@@ -1,157 +1,157 @@
.\" from: @(#)rpcinfo.8c 2.2 88/08/03 4.0 RPCSRC; from 1.24 88/02/25 SMI
+.\" %Id: rpcinfo.8,v 1.4 1997/08/06 06:49:06 charnier Exp %
.\" jpman %Id: rpcinfo.8,v 1.2 1997/05/20 01:33:31 mutoh Stab %
-.\" %Id: rpcinfo.8,v 1.1.8.1 1997/08/07 06:40:10 charnier Exp %
.\"
.Dd December 17, 1987
.Dt RPCINFO 8
.Os
.Sh 名称
.Nm rpcinfo
.Nd RPC に関する情報を表示する
.Sh 書式
.Nm rpcinfo
.Fl p
.Op Ar host
.Nm rpcinfo
.Op Fl n Ar portnum
.Fl u Ar host
.Ar program
.Op Ar version
.Nm rpcinfo
.Op Fl n Ar portnum
.Fl t Ar host
.Ar program
.Op Ar version
.Nm rpcinfo
.Fl b
.Ar program version
.Nm rpcinfo
.Fl d
.Ar program version
.Sh 解説
.Nm
は、
.Tn RPC
サーバに対して
.Tn RPC
呼び出しを行ない、得られた情報を表示します。
.Sh オプション
.Bl -tag -width indent
.It Fl p
指定されたホスト上のポートマッパーを検出し、そこに登録されている全ての
.Tn RPC
プログラムの一覧を出力します。
.Ar host
が指定されない場合、
.Xr hostname 1
コマンドをオプション無しで実行した時に出力されるホスト名が
.Ar host
として採用されます。
.It Fl u
.Tn UDP
プロトコルを用いて、指定したホスト上のプログラムの手続き 0 に対して
.Tn RPC
呼び出しを行ないます。そして、応答があったかどうかを報告します。
.It Fl t
.Tn TCP
プロトコルを用いて、指定したホスト上のプログラムの手続き 0 に対して
.Tn RPC
呼び出しを行ないます。そして、応答があったかどうかを報告します。
.It Fl n
.Fl t
.Fl u
オプション使用時に、ポートマッパーに与えられたポート番号のかわり
に、引数
.Ar portnum
で指定した番号をポート番号として用います。
.It Fl b
.Tn UDP
プロトコルを用いて、引数
.Ar program
および
.Ar version
で指定したプログラムに対し、手続き 0 に
.Tn RPC
ブロードキャストを行ないます。そして、応答のあった全てのホストにつ
いてのレポートを出力します。
.It Fl d
引数
.Ar program
および
.Ar version
で指定したプログラムの
.Tn RPC
サービスへの登録を削除します。
本オプションは、スーパーユーザのみ指定可能です。
.El
.Pp
引数
.Ar program
は、名称・番号のいずれでも構いません。
.Pp
もし引数
.Ar version
が指定されると、
.Nm
は引数
.Ar program
で指定されたプログラムのそのバージョンの呼び出しを試みます。
.Ar version
が指定されなかった場合、
.Nm
.Ar program
で指定されたプログラムに対してバージョン 0 呼びだしを行なうことで、
全ての登録されているバージョンについて検索を試みます
(バージョン 0 は存在しないと仮定してのものです。もし存在すれば
.Ar rpcinfo
は極端に高いバージョンを使って情報を得ようとします)。
.Fl b
および
.Fl d
オプションには、バージョン番号の指定が必要であることに注意して下さい。
.Sh 使用例
ローカルマシンに登録されている全ての
.Tn RPC
サービスを見るには、次のようにします:
.Pp
.Dl example% rpcinfo -p
.Pp
ホスト名 klaxon 上に登録されている全ての
.Tn RPC
サービスを見るには、次のようにします:
.Pp
.Dl example% rpcinfo -p klaxon
.Pp
NIS サービス (Yellow Page サービス) が稼働している
ローカルネットワーク上に接続されているマシンすべてを表示するには、
次のようにします:
.Pp
.Dl example% rpcinfo -b ypserv 'version' | uniq
.Pp
\&'version' のところには、上記
.Fl p
オプションの結果から得られた現在の NIS サービス
(Yellow Page サービス)
のバージョンを使います。
.Pp
バージョン 1 の
.Nm walld
サービスを削除するには、次のようにします:
.Pp
.Dl example% rpcinfo -d walld 1
.Sh 関連項目
.Xr rpc 5 ,
.Xr portmap 8
.Rs
.%T "RPC Programming Guide"
.Re
.Sh バグ
SunOS 3.0 以前のリリースでは、ネットワークファイルシステム (
.Tn NFS
) がポートマッパーに登録されていません。そのため
.Nm
は、そのような OS が稼働しているマシンに対して
.Tn RPC
呼び出しを行なうことが出来ません。
diff --git a/ja/man/man8/rshd.8 b/ja/man/man8/rshd.8
index bd52178f20..4c05a8c951 100644
--- a/ja/man/man8/rshd.8
+++ b/ja/man/man8/rshd.8
@@ -1,226 +1,226 @@
.\" Copyright (c) 1983, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)rshd.8 8.1 (Berkeley) 6/4/93
-.\" %Id: rshd.8,v 1.4.2.3 1998/02/18 11:52:19 markm Exp %
+.\" %Id: rshd.8,v 1.11 1997/12/18 07:39:27 charnier Exp %
.\" jpman %Id: rshd.8,v 1.4 1997/08/10 18:35:56 horikawa Stab %
.\"
.Dd June 4, 1993
.Dt RSHD 8
.Os BSD 4.2
.Sh 名称
.Nm rshd
.Nd リモートシェルのサーバ
.Sh 書式
.Nm rshd
.Op Fl alnL
.Sh 解説
.Nm
は、
.Xr rcmd 3
ルーチンのためのサーバであり、結果として
.Xr rsh 1
の実行のために必要となるサーバです。
.Nm
は、信頼できるホストからの特権ポート番号に基づいた
認証を行なうことによって、プログラムのリモート実行機能を提供します。
.Pp
.Nm
サーバは、``cmd'' サービスに割り当てられたポート (
.Xr services 5
参照) でサービス要求を受け付けます。サービス要求を受信すると、
サーバは以下の手順を開始します:
.Bl -enum
.It
サーバは、クライアントの要求元ポート番号のチェックをおこないます。
要求元ポート番号
が 512 から 1023 の範囲にない場合、サーバは接続を強制切断します。
.It
サーバは、ソケットから
.Tn ヌル
バイト (`\e0') を検出するまで文字を読みます。
受信文字列は、
.Tn ASCII
コードによる 10 進数の数値に変換します。
.It
ステップ 2 で受信した数値が 0 でない場合、その数値を
.Em 標準エラー出力
で使用する 2 番目のストリームのポート番号として解釈します。
そしてクライアントマシン上でも指定されたポート番号の 2 番目の接続を生成します。
この 2 番目の接続の要求元ポート番号も、512 から 1023 の範囲で指定します。
.It
サーバは、クライアントの要求元アドレスをチェックし、該当するホスト名を要求し
ます (
.Xr gethostbyaddr 3 ,
.Xr hosts 5 ,
.Xr named 8
を参照してください)。ホスト名が特定
できない場合、ドット表記法によるホストアドレスを用います。
ホスト名で指定されたホストがサーバと同一の
ドメインに存在する場合 (ドメイン名の最後の 2 つの部分が一致する場合)、
または
.Fl a
オプションが与えられた場合は、ホスト名に対応したアドレスを要求して
名前とアドレスの対応をチェックします。もしこの対応が不正なもので
あった場合、接続を強制切断し、``Host address mismatch.'' の
メッセージを表示します。
.It
最初のソケットを介して、ヌル終端された最大 16 文字の
ユーザ名を取得します。ユーザ名は、
.Em クライアント
マシン上のユーザ識別に使用します。
.It
最初のソケットを介して、ヌル終端された最大 16 文字の
ユーザ名を取得します。ユーザ名は、
.Em サーバ
マシン上のユーザ認証に使用します。
.It
最初のソケットを介して、シェルに渡されるべき、ヌル終端された
コマンドを取得します。コマンド長の制限は、システムの引数リスト
サイズの上限に依存します。
.It
.Nm
は、
.Pa /etc/hosts.equiv
および当該ユーザのホームディレクトリ上に存在する
.Pa .rhosts
ファイルを用いる
.Xr ruserok 3
を使用して、ユーザ認証を行います。
.Fl l
オプションは、ユーザがスーパユーザでない限り、
.Pa .rhosts
ファイルに基づいた
.Xr ruserok 3
のすべての認証をおこなわないようにします。
.It
.Pa /etc/nologin
ファイルが存在し、ユーザがスーパユーザでない場合、接続を
切断します。
nologin ファイルの名前に関しては、
.Pa login.conf
にて
ローカルユーザのログインクラスに関する nologin ケーパビリティが優先します。
ログインクラスは、ログイン時間(times.allow と times.denny ケーパビリティ)
およびリモートホスト(hosts.allow と hosts.denny ケーパビリティ)による
.Xr rsh 1
アクセスの制限にも使われます。
.It
最初のソケットを用いて
.Tn ヌル
バイトを返し、コマンドライン
を、ユーザの通常のログインシェルに渡します。シェルは
.Nm
によって確立されたネットワーク接続を継承します。
.El
.Pp
.Fl n
オプションが与えられないかぎり、トランスポートレベルの keepalive メッセージが
有効になります。keepalive メッセージを使用することによって、
クライアントプロセスが異常終了するか、もしくはネットワーク到達不可に
なった場合にセッションをタイムアウトで終了させることができます。
.Pp
.Fl L
オプションを用いることで、すべての正常なアクセスを
.Xr syslogd 8
を経由して
.Li auth.info
メッセージとして、ログします。
.Sh 診断
以下に示す例のうち最後のものを除き、
すべての診断メッセージを最初のソケットを用いて返した後、
すべての接続をクローズします。
エラーは、先行する 1 バイトとして値 1 が返されるこ
とでわかります (ログインシェル実行の前のすべてのステップが正常に完了した場合、
上記のステップ 10 の処理で 0 を返します)。
.Bl -tag -width indent
.It Sy Locuser too long.
クライアントマシン上のユーザ名が、16 文字を超えています。
.It Sy Ruser too long.
リモートマシン上のユーザ名が、16 文字を超えています。
.It Sy Command too long.
渡されたコマンドラインの長さが、引数リストの大きさを超えています
(システムに依存します)。
.It Sy Login incorrect.
当該ユーザに関するエントリが、パスワードファイルに登録されていないか、
上述の認証手続きに失敗しました。
.It Sy Remote directory.
ホームディレクトリへの
.Xr chdir 2
巻数が失敗しました。
.It Sy Logins not available right now.
ローカルユーザのログインクラスに対する
.Pa login.conf
において、許された時間以外で
.Xr rsh 1
が試されました。
.It Sy Can't make pipe.
.Em 標準エラー出力
に必要なパイプを作成できませんでした。
.It Sy Can't fork; try again.
サーバによる
.Xr fork 2
が失敗しました。
.It Sy <shellname>: ...
ユーザのログインシェルを起動できませんでした。本メッセージの出力は
.Em 標準エラー出力
に関連づけられたコネクションを介して返されますので、
フラグバイトは先行しません。
.El
.Sh 関連項目
.Xr rlogin 1 ,
.Xr rsh 1 ,
.Xr gethostbyaddr 3 ,
.Xr rcmd 3 ,
.Xr ruserok 3 ,
.Xr hosts 5 ,
.Xr login.conf 5 ,
.Xr nologin 5 ,
.Xr services 5 ,
.Xr named 8 ,
.Xr rlogind 8 ,
.Xr syslogd 8 .
.Sh 関連ファイル
.Bl -tag -width /etc/hosts -compact
.It Pa /etc/hosts
.It Pa /etc/hosts.equiv
.It Pa /etc/login.conf
.It Pa $HOME/.rhosts
.It Pa /etc/nologin
.El
.Sh バグ
ここで用いられているユーザ認証手順は、各クライアントマシンおよび接続媒体が
信頼できるものと仮定しています。
これは安全ではないですが、``オープン'' な環境下では便利です。
.Pp
全てのデータについて暗号化を行なう機能が実装されるべきです。
.Pp
TELNET のような、もっと拡張性のあるプロトコルが用いられるべきです。
diff --git a/ja/man/man8/rtquery.8 b/ja/man/man8/rtquery.8
index 7199b8cd3c..8fa0fd5037 100644
--- a/ja/man/man8/rtquery.8
+++ b/ja/man/man8/rtquery.8
@@ -1,134 +1,134 @@
-.\" %Id: rtquery.8,v 1.1.1.1.2.5 1998/08/12 06:54:23 charnier Exp %
+.\" %Id: rtquery.8,v 1.8 1998/07/28 06:36:30 charnier Exp %
.\" jpman %Id: rtquery.8,v 1.2 1997/06/12 07:55:04 yugawa Stab %
.Dd June 1, 1996
.Dt RTQUERY 8
.Os BSD 4.4
.Sh 名称
.Nm rtquery
.Nd ルーティングデーモンが持つルーティングテーブルの問い合わせ
.Sh 書式
-.Nm
+.Nm rtquery
.Op Fl np1
.Op Fl w Ar timeout
.Op Fl r Ar addr
.Op Fl a Ar secret
-.Ar host ...
-
-.Nm
+.Ar host
+.Ar
+.Nm rtquery
.Op Fl t Ar op
-.Ar host ...
+.Ar host
+.Ar
.Sh 解説
.Nm
は、RIP ネットワークルーティングデーモン、すなわち、
.Xr routed 8
あるいは
.Xr gated 8
.Em request
ないし
.Em poll
コマンドを送る事によりそのルーティングテーブルの問い合わせを行います。
返答のあった全てのルーティング
.Em 応答
パケットについてのルーティング情報が数値およびシンボル名を用いて表示されます。
.Pp
デフォルトでは、
.Nm
.Em request
コマンドを使用します。
.Fl p
オプションが指定された場合、
.Nm
.Em poll
コマンドを使用します。
これは、
.Xr gated 8
でサポートされている、RIP プロトコルへの文書化されていない拡張コマンドです。
.Xr gated 8
への問い合わせを行う場合は、
.Em request
コマンドより
.Em poll
コマンドを使用する事をお薦めします。なぜなら、応答が Split Horizon や
Poisoned Reverse の影響を受けることがなく、また、ある種のバージョンの
.Xr gated 8
は、
.Em request
に対して返答を行わないからです。
.Nm routed
.Em poll
コマンドに対しては返答しませんが、
.Nm
からの
.Em request
コマンドを認識し、完全な返答をします。
.Pp
.Nm
は、
.Nm routed
のトレース機能を有効にしたり無効にしたりする場合にも用いられます。
.Pp
-.Nm
-には以下のオプションがあります。
-.Bl -tag -width Ds
+以下のオプションを使用可能です:
+.Bl -tag -width indent
.It Fl n
通常、ネットワークおよびホスト番号はシンボル名および数値の両方で表示されます。
.Fl n
オプションはネットワークおよびホスト番号を数値のみで表示します。
.It Fl p
.Xr gated 8
から得られる完全なルーティング情報を得るために
.Em Poll
コマンドを使用します。
これは、
.Xr gated 8
のみでサポートされている、RIP プロトコルへの文書化されていない拡張コマンドです。
.It Fl 1
RIP バージョン 2 ではなく、RIP バージョン 1 を使用して問い合わせを行います。
.It Fl w Ar timeout
各ホストから返答を待つ猶予時間を変更します。
デフォルトでは、返答があるまで 15 秒間待ちます。
.It Fl r Ar addr
到達先
.Em addr
への経路を問い合わせます。
.It Fl a Ar passwd=XXX
.It Fl a Ar md5_passwd=XXX|KeyID
問い合わせの際に、指定されたクリアテキストないし MD5 のパスワードを
使用します。
.It Fl t Ar op
トレース方法を変更します。
.Em op
には、以下のうちのひとつを指定します。
通常、UID 0 以外のプロセスからの問い合わせや、遠隔ネットワークからの
問い合わせは、システムのログにメッセージを記録するだけで、無視されます。
.Xr gated 8
は、大抵、これらのデバッグの問い合わせを無視します。
.El
.Bl -tag -width Ds -offset indent-two
.It Em on=tracefile
トレースを有効にし、指定されたファイルに記録します。このファイルは、
通常、デーモンが実行を開始した時に指定されるか、一般的な、
.Pa /etc/routed.trace
等の決まった名前でなければなりません。
.It Em more
デバッグレベルを増加させます。
.It Em off
トレースを無効にします。
.It Em dump
デーモンのルーティングテーブルを現在のトレースファイルにダンプします。
.El
.Sh 関連項目
.Xr gated 8 ,
.Xr routed 8
.Rs
.%T Routing Information Protocol, RIPV1
.%O RFC1058
.Re
.Rs
.%T Routing Information Protocol, RIPv2
.%O RFC1723
.Re
diff --git a/ja/man/man8/sa.8 b/ja/man/man8/sa.8
index 1a98b5bc98..83e7a56c80 100644
--- a/ja/man/man8/sa.8
+++ b/ja/man/man8/sa.8
@@ -1,230 +1,230 @@
.\"
.\" Copyright (c) 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 acknowledgement:
.\" This product includes software developed by Christopher G. Demetriou.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: sa.8,v 1.4.2.3 1998/07/18 11:12:27 jkh Exp %
+.\" %Id: sa.8,v 1.9 1998/03/23 08:29:09 charnier Exp %
.\" jpman %Id: sa.8,v 1.2 1997/03/31 15:00:26 horikawa Stab %
.\"
.Dd February 25, 1994
.Dt SA 8
.Os
.Sh 名称
.Nm sa
.Nd システムアカウント統計情報を表示する
.Sh 書式
.Nm sa
.Op Fl abcdDfijkKlmnqrstu
.Op Fl v Ar cutoff
.Op Ar file ...
.Pp
.Sh 解説
.Nm
は、システムアカウント統計情報の表示と、アカウント情報ファイルの
維持管理を行います。
.Pp
.Nm
を使えば、
.Pa /var/account/acct
に含まれる情報を、
サマリファイル
.Pa /var/account/savacct
.Pa /var/account/usracct
凝縮して収めることができます。これらのファイルには、コマンド名やユーザ ID
にもとづいたシステムの統計情報が記録されます。これらのサマリファイルは、
.Pa /var/account/acct
が 1 日に数百ブロックも大きくなるような利用者の多い
システムでは必要になります。
通常、アカウント情報ファイルの前にサマリファイルを読み込むため、
レポートには全ての保存されている情報が含まれます。
.Pp
.Ar file
が与えられると、
.Pa /var/account/acct
のかわりにそのファイル
が読み込まれます。各ファイルが読み込まれたあと、サマリファイルを更新する
必要があればディスクにセーブされます。最後のファイルが処理されたあと、
報告が表示されます。
.Pp
個々のオプションで指定されるものを除いて、以下に示すラベルが出力で使わ
れます。
.Pp
.Bl -tag -width k*sec
.It avio
実行時の I/O 操作の平均回数
.It cp
ユーザ時間とシステム時間の合計(単位:分)
.It cpu
.Dv cp
と同じ
.It k
CPU 時間1秒あたりのメモリ使用量(単位:KB)
.It k*sec
CPU 時間で積分したメモリ使用量(単位:1KB秒)
.It re
実時間(単位:分)
.It s
システム時間(単位:分)
.It tio
I/O 操作の合計回数
.It u
ユーザ時間(単位:分)
.El
.Pp
オプション:
.Bl -tag -width Ds
.It Fl a
全コマンド名を表示します。表示できない文字を含んだコマンドなども含みます
デフォルトでは表示できない文字を含むコマンドは、``***other'' に含まれます。
.It Fl b
コマンド統計情報を表示する場合、ユーザ時間とシステム時間の合計を
コマンドの呼び出し回数で割った値でソートして表示します。
.It Fl c
表示される呼び出し回数・実時間・CPU 時間それぞれに関して、コマン
ド全体に対するそのコマンドの割合をパーセンテージ表示します。
.It Fl d
コマンド統計情報を表示する場合は、ディスク I/O 操作の平均回数でソートします。
ユーザ統計情報を表示する場合は、各ユーザのコマンドあたりのディスクI/O操作回数を表示します。
.It Fl D
コマンド統計を表示する場合は、ディスク I/O 操作の合計回数でソートします。
.It Fl f
.Fl v
を使用する際、ユーザに問い合わせを行いません。
.It Fl i
サマリファイルを読みません。
.It Fl j
各コマンドの合計時間(単位:分)の代わりに、
各コマンドの消費時間(合計時間/呼び出し回数; 単位:秒)を
表示します。
.It Fl k
コマンド統計情報を表示する場合は、CPU 時間 1 秒あたりのメモリ使用量で
ソートします。ユーザ統計を表示する場合は、
CPU 時間 1 秒あたりのメモリ使用量を表示します。
.It Fl K
コマンド統計を表示する場合は、CPU 時間で積分したメモリ使用量を表示し、
これでソートします。
.It Fl l
システム時間とユーザ時間を別々に表示します。普通は合計して表示されます。
.It Fl m
コマンド統計情報のかわりに、ユーザ統計を表示します。
.It Fl n
呼び出し回数でソートします。
.It Fl q
エラーメッセージ以外の出力は行いません。
.It Fl r
逆順でソートします。
.It Fl s
データをサマリファイルに加えたあと、アカウント情報ファイルを空にします。
.It Fl t
各コマンドごとに、実時間/CPU 時間(システムとユーザ時間)の値を表示します。
CPU時間が小さすぎる場合は、``*ignore*'' が表示されます。
.It Fl u
他のオプションを打ち消して、アカウント情報ファイルからユーザ ID、
CPU を使用した合計秒数、合計メモリ使用量、I/O 操作回数、コマンド名
を表示します。
.It Fl v Ar cutoff
.Pp
.Ar cutoff
時間以下のコマンドについて、
コマンド名を表示し、
ユーザに問い合わせを行います。返答として ``y'' で始まる文字列を入力すると、
そのコマンドは ``**junk**'' に分類されます。このオプションは、報告の
なかから意味のないコマンドを取り除くために使われます。
.El
.Pp
デフォルトでは、コマンド統計を表示します。
各行には、コマンドの呼び出し回数、コマンドの経過時間(分)、
ユーザ時間とシステム時間を合計した CPU 時間、
平均の I/O 操作回数、CPU 時間 1 秒あたりのメモリ使用量、
コマンド名が列挙されます。
.Fl m
が指定された場合は、ユーザ統計を表示します。
それぞれの行は、各ユーザのユーザ名、コマンド実行回数、
合計 CPU 時間(分)、合計I/O操作回数、
CPU 時間で積分したメモリ使用量から構成されています。もし
.Fl u
が指定されると、アカウント情報
ファイルに記録されている各エントリを表示します。
各行は、ユーザ ID、CPU 時間(秒)、CPU 時間で積分したメモリ使用量、
I/O 操作回数、コマンド名から構成されています。
.Pp
.Fl u
が指定されると、
.Fl q
を除いて、他のオプションは無視されます。
.Fl m
が指定されると、
.Fl b ,
.Fl d ,
.Fl i ,
.Fl k ,
.Fl q ,
.Fl s
フラグだけが認識されます。
.Pp
成功した場合は 0 を、エラーが発生した場合は 0 より大きな値を返します。
.Sh 関連ファイル
.Bl -tag -width /var/account/usracct -compact
.It Pa /var/account/acct
生のアカウント情報ファイル
.It Pa /var/account/savacct
コマンドごとのサマリデータベースファイル
.It Pa /var/account/usracct
ユーザごとのサマリデータベースファイル
.El
.Sh 関連項目
.Xr lastcomm 1 ,
.Xr acct 5 ,
.Xr ac 8 ,
.Xr accton 8
.Sh バグ
このプログラムのオプションには不合理なものがいっぱいあります。特に
オプション文字は、機能とあまり関係がありません。
.Pp
各ラベルにはもっと一貫性があるべきです。
.Pp
仮想メモリ(VM)システムでは、CPU 時間で積分したメモリの使用量は記録されません。
.Sh 注意
この
.Nm
のオプションは、オリジナルの
.Nm
をもとに
していますが、内部的にもですが明らかに外部的にも変更点があります。特に
.Fl q
が追加され、
.Fl m
は以前よりも多くのオプションが利用可能です。
.Pp
サマリファイルのフォーマットはオリジナルのもの
から変更されていますが、ユーザ id が 32ビットに
なってアカウントのフォーマットも変更されている
ので、これは問題ありません。
.Sh 作者
.An Chris G. Demetriou Aq cgd@postgres.berkeley.edu
diff --git a/ja/man/man8/savecore.8 b/ja/man/man8/savecore.8
index 85c3127a6e..2d87abfd15 100644
--- a/ja/man/man8/savecore.8
+++ b/ja/man/man8/savecore.8
@@ -1,130 +1,130 @@
.\" 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
+.\" %Id: savecore.8,v 1.7 1998/07/28 06:38:57 charnier Exp %
.\" jpman %Id: savecore.8,v 1.3 1997/08/16 13:41:03 horikawa Stab %
-.\" %Id: savecore.8,v 1.4 1996/10/13 18:12:20 fenner Exp %
.\"
.Dd September 23, 1994
.Dt SAVECORE 8
.Os BSD 4
.Sh 名称
.Nm savecore
.Nd オペレーティングシステムのコアダンプを保存する
.Sh 書式
.Nm savecore
.Fl c
.Nm savecore
.Op Fl fvz
.Op Fl N Ar system
.Ar directory
.Sh 解説
-.Nm savecore
+.Nm
は現在動作中のカーネルおよびそのコアダンプをディレクトリ
.Fa directory
内にコピーし、
リブートメッセージとコアダンプ情報をシステムログに書き出します。
.Pp
オプションは以下の通りです:
-.Bl -tag -width directory
+.Bl -tag -width indent
.It Fl c
ダンプをクリアし、これ以降起動される
-.Nm savecore
+.Nm
でそれが用いられないようにします。
.It Fl f
ダンプが正しくないと思われる場合や、ディスク容量が不足している場合でも、
強制的にダンプをとります。
.It Fl N
(
.Xr getbootfile 3
で決定される)
動作中のカーネルの代わりに、
.Ar system
をカーネルとして用います。
.It Fl v
より詳しいデバッグ情報を出力します。
.It Fl z
コアダンプとカーネルを圧縮します(
.Xr compress 1
参照)。
.El
.Pp
-.Nm savecore
+.Nm
は様々な方法を用いてコアダンプが最新であること、
およびそのコアダンプが現在動作しているシステムに対応するものであることを
確認します。
このチェックにパスすると、
.Nm
はコアイメージを
.Ar directory Ns Pa /vmcore.#
に保存し、システムを
.Ar directory Ns Pa /kernel.#
に保存します。
``#'' はファイル
.Ar directory Ns Pa /bounds
先頭からの行数で、
-.Nm savecore
+.Nm
が正常に実行されるたびにインクリメントされてファイルに書き戻されます。
.Pp
-.Nm savecore
+.Nm
はまた、コピーを作る前にディスク容量が足りているかどうかチェックします。
.Ar directory
を含むファイルシステムのディスク容量が不足している場合、
あるいは、
.Ar directory Ns Pa /minfree
が存在し、ファイル生成後のそのファイルシステムの
(非スーパユーザに対する)残りキロバイト数が
このファイル先頭行の数値より小さい場合、
コピー作成は試みられません。
.Pp
-.Nm savecore
+.Nm
がカーネルとコアダンプのコピーに成功すると、
コアダンプはクリアされ、その後の
-.Nm savecore
+.Nm
では用いられないようになります。
.Pp
-.Nm savecore
+.Nm
は初期化ファイル
.Pa /etc/rc
の最終段階付近で呼び出されることを想定しています(
.Xr rc 8
参照)。
.Sh バグ
minfree コードは圧縮の効果を考慮していません。
.Sh 関連項目
.Xr compress 1 ,
.Xr getbootfile 3 ,
.Xr syslogd 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.1
で登場しました。
diff --git a/ja/man/man8/scsi.8 b/ja/man/man8/scsi.8
index ba99796e6d..e328cde2e9 100644
--- a/ja/man/man8/scsi.8
+++ b/ja/man/man8/scsi.8
@@ -1,331 +1,331 @@
.\"
.\" Written By Julian ELischer
.\" Copyright julian Elischer 1993.
.\" Permission is granted to use or redistribute this file in any way as long
.\" as this notice remains. Julian Elischer does not guarantee that this file
.\" is totally correct for any given task and users of this file must
-.\" accept responsibility for any damage that occurs from the application of this
-.\" file.
+.\" accept responsibility for any damage that occurs from the application
+.\" of this file.
.\"
.\" (julian@tfs.com julian@dialix.oz.au)
.\" User SCSI hooks added by Peter Dufault:
.\"
.\" Copyright (c) 1994 HD Associates
.\" (contact: dufault@hda.com)
.\" 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 HD Associates
.\" may not be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES ``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 HD ASSOCIATES 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: scsi.8,v 1.6.2.8 1998/08/12 06:32:47 charnier Exp %
+.\" %Id: scsi.8,v 1.18 1998/07/28 06:42:37 charnier Exp %
.\"
.\" jpman %Id: scsi.8,v 1.3 1997/07/22 16:40:11 horikawa Stab %
.\"
.Dd October 11, 1993
.Dt SCSI 8
.Os BSD 4
.Sh 名称
.Nm scsi
.Nd scsi 装置補助プログラム
.Sh 書式
.Nm scsi
.Fl f Ar device
.Fl d Ar debug_level
.Nm scsi
.Fl f Ar device
.Fl z Ar seconds
.Op Fl v
.Nm scsi
.Fl f Ar device
.Fl m Ar page
.Op Fl P Ar pc
.Op Fl e
.Nm scsi
.Fl f Ar device
.Fl p
.Op Fl b Ar bus
.Op Fl l Ar lun
.Nm scsi
.Fl f Ar device
.Fl r
.Op Fl b Ar bus
.Op Fl t Ar targ
.Op Fl l Ar lun
.Nm scsi
.Fl f Ar device
.Fl c Ar cmd_fmt
.Op Ar arg0 ... argn
.Op Fl s Ar seconds
.Op Fl v
.Fl o Ar count out_fmt
.Op Ar arg0 ... argn
.Fl i Ar count in_fmt
.Sh 解説
.Nm scsi
プログラムはコマンドを scsi 装置に送るのに使われます。
また、ユーザレベル SCSI コマンドの使用例でもあります。
.Pp
.Fl f
オプションを指定し、
.Ar device
で SCSI デバイス名を指定する必要があります。デバイスがディスクデバイスの場合、
制御デバイス
.Pq 例えば Pa /dev/rsd0.ctl
である必要があります。
現在有効なデバイスが接続されていないバスで再プローブを行うために、
.Sq super scsi
デバイスを
.Fl p
オプションで指定することができます。
.Pp
.Fl d
オプションは SCSI カーネルデバッグレベルを設定します。
カーネルは、
.Dv SCSIDEBUG
オプションをつけてコンパイルしていなければなりません。
カーネルデバッグレベルをいくつに設定するかは
.Pa /sys/scsi/scsi_debug.h
を参照してください。
.Pp
.Fl z
オプションは、
指示された秒数の間だけ、
全ての SCSI バスのあらゆるの活動を凍結します。もし
.Fl v
も指定されていると、バス凍結の開始時と終了時に
BEL 文字が標準出力に送られます。
このためには
.Dv SCSI_FREEZE
カーネルオプション付きでカーネルを作成する
必要があります。
このカーネルコードはまだコミット (commit) されていません。
.Pp
.Fl m
オプションは装置のモードページ (mode page) を読むのに使います。
モードデータをどう解釈するかを調べるために
ファイル
.Pa /usr/share/misc/scsi_modes
が読まれます。
環境変数
.Ev SCSI_MODES
で別のファイルを使うように指定できます。
.Pp
.Fl P
オプションはページ制御フィールド (page control field) を指定するのに使います。
指定するページ制御フィールド名は以下です:
.Bd -literal -offset
.Pp
.Bl -tag -width xxxx -indent offset -compact
.It 0
現在値
.It 1
変更可能値
.It 2
デフォルト値
.It 3
保存値
.El
.Pp
.Fl e
オプションを指定するとフィールドの編集が可能になります。
編集には環境変数
.Ev EDITOR
で指定したエディタを使います。
恒久的に変更を格納するためには
.Fl P
オプションを使用してページ制御 3 を編集します。
.Pp
.Fl p
オプションは
.Sq super scsi
装置
.Pa /dev/ssc
に対して
指定した SCSI バスと指定した SCSI lun を持つ全ての装置をプローブするのに
使われます。
バスは
.Fl b
オプションで選択でき、デフォルトは 0 です。
lun は
.Fl l
オプションで選択でき、デフォルトは 0 です。
.Pp
.Fl r
オプションは、
ブート時に存在した全 SCSI バスから全 SCSI デバイスを再プローブするために
使用できます。
固定 SCSI 装置の説明は
.Xr scsi 4
を参照して下さい。
.Pp
.Fl c
オプションで、コマンドラインで指定したユーザレベル SCSI コマンドを装置へ
送ることができます。
コマンドは
.Dv SCIOCCOMMAND
ioctl を使って送られるので、
アクセスする装置はこの ioctl を許していなければなりません。
どのマイナ装置が ioctl を許しているかという詳細な説明は
.Xr scsi 4
を、
フォーマット引数を使って
コマンドやデータフェーズを構築する詳細な方法は
.Xr scsi 3
を参照して下さい。
.Pp
.Fl v
は、より冗長な情報に切り換えます。
.Pp
.Fl s
は秒単位でコマンドのタイムアウトを設定します。
デフォルトは 2 秒です。
.Pp
.Fl c Ar cmd_fmt
には
.Xr scsi 3
に記述されたコマンドを指定します。
追加の引数で
コマンドフォーマットの中で指定された変数の値を与えます。
他の通常のコマンドライン引数は
.Dq C
での数値表記が使えますが、
.Fl c
オプションへの引数は 16 進数です。
.Pp
.Fl o
.Ar count
.Ar out_fmt
.Op Ar arg0 ... argn
は、これが
.Ar count
バイトのデータの、
データアウトコマンド (つまり、データがシステムから装置に
送られる) であることを示します。
データは、
与えられた引数で整数変数をみたして、
.Xr scsi 3
で記述された方法で組み立てられます。
.Ar out_fmt
にはハイフン ("-") を指定することで、標準入力から
.Ar count
バイトのデータを読むよう、指示することができます。
.Pp
.Fl i Ar count Ar in_fmt
は、これが
.Ar count
バイトのデータの、
データインコマンド (つまり、データが装置からシステムに読み込まれる)
であることを示します。
この情報は
.Xr scsi 3
で記述された方法で
.Ar in_fmt
に応じて展開され、標準出力に表示されます。
.Ar in_fmt
にはハイフン ("-") を指定することで、
.Ar count
バイトのデータ入力を標準出力に書き出すよう、
指示することができます。
.Sh 使用例
ディスク
.Pa /dev/rsd0c
の装置タイプが 0 (ダイレクトアクセス装置)
であると確認する:
.Bd -literal -offset indent
root# scsi -f /dev/rsd0c -c "12 0 0 0 40 0" -i 64 "*b3 b5" 0
.Ed
.Pp
.Pa /dev/rsd2c
に inquiry を行なう:
.Bd -literal -offset indent
root# scsi -f /dev/rsd2c -c "12 0 0 0 v 0" 0x40 -i 64 \e
"s8 z8 z16 z4"
.Pp
.Pa /dev/rsd2c
のモードページ 1
(リードライトエラー回復ページ; Read-Write Error Recovery Page)
を編集し、装置に永久的に格納する:
.Bd -literal -offset indent
root# scsi -f /dev/rsd2c -m 1 -e -P 3
.Ed
.Pp
最初の SCSI バスで簡単に再プローブを行う:
.Bd -literal -offset indent
root# scsi -f /dev/ssc -p
.Ed
.Pp
.Sh 環境変数
.Ev SU_DEBUG_OUTPUT
変数にファイルを設定して、
デバッグ出力をそのファイルに送ることができます。
.Pp
.Ev SU_DEBUUG_LEVEL
変数に 0 以外の整数を設定して、
デバッグレベルを増加させることがきます。
現在はこれはオンかオフしかありません;
これは ioctl を使ってカーネルのデバッグレベルを設定し、
プログラムの終了時に 0 に設定しなおします。
.Pp
.Ev SU_DEBUG_TRUNCATE
変数は整数を設定して、
デバッグファイルに送られるデータフェーズ出力の量を制限します。
.Pp
.Ev EDITOR
変数はモードエディタで使うエディタを決定します。
.Sh 関連項目
.Xr scsi 3 ,
.Xr scsi 4 ,
.Xr ssc 4
.Sh バグ
.Pp
いくつかの装置は全部の LUN で inquiry に応答します。
違う論理ユニットの再プローブの間に 8 回 inquiry の応答が起ります。
.Pp
.Fl i
オプションが inquiry を行なうのは、
.Fx 2.1
で消滅しました。
これは、新しい機能
.Fl c
が取って代わりました。
.Pp
パーミッションを注意深く検査してください。
.Ql scsi -f /dev/rsd0c -c "4 0 0 0 0 0
とすると
.Pa /dev/rsd0c
を (読み出しで) オープンできる誰かが
ディスクドライブをフォーマットすることができてしまいます。
これは、少くともドライブに書き込みアクセスが必要なように
変更しなければなりません。
.Sh 歴史
.Nm scsi
コマンドは
新しい再プローブとユーザ SCSI コマンドをサポートするために
386BSD 0.1.2.4 から登場しました。
これは
.Tn FreeBSD
では
.Fx 2.0.5
から登場しました。
diff --git a/ja/man/man8/scsiformat.8 b/ja/man/man8/scsiformat.8
index c1a814f171..e657b88319 100644
--- a/ja/man/man8/scsiformat.8
+++ b/ja/man/man8/scsiformat.8
@@ -1,113 +1,113 @@
.\" Copyright (c) 1993 Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)scsiformat.8 5.1 (Berkeley) 6/5/93
-.\" %Id: scsiformat.8,v 1.4.2.3 1998/08/12 06:34:18 charnier Exp %
+.\" %Id: scsiformat.8,v 1.9 1998/08/03 06:19:47 charnier Exp %
.\"
.\" jpman %Id: scsiformat.8,v 1.4 1997/07/26 22:08:08 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt SCSIFORMAT 8
.Os BSD 4
.Sh 名称
.Nm scsiformat
.Nd SCSI ディスクのフォーマットと SCSI パラメータの表示
.Sh 書式
.Nm scsiformat
.Op Fl qyw
.Op Fl p Ar page-control
.Ar device-name
.Sh 解説
-.Nm scsiformat
+.Nm
ユーティリティは接続時の SCSI フォーマットをサポートした、
固定 SCSI ディスクをフォーマットするのに使われます。
また、SCSI コントローラに設定されたいくつかのパラメータを表示することも
できます。
.Ar device-name
.Ql sd0
のようなディスク名か、
.Pa /dev/rsd0.ctl
のようなディスクのコントロール装置のパス名にします。
メディアのフォーマットが壊れている装置の場合などは、
通常のディスク装置を使っても動作しないでしょう。
.Pp
オプションは次の通りです:
.Bl -tag -width indent
.It Fl p
SCSI のモードセンスページの問合せの方法を変更します。
デフォルトでは、
-.Nm scsiformat
+.Nm
は現在の設定をもとにします。
ページ制御フラグは次のうちのどれかです:
.sp
.Bl -tag -width XXX -compact
.It Li c
現在の設定から得ます。
.It Li d
(ディスクの工場で与えられた) デフォルトの設定から得ます。
.It Li s
(電源オフしても存続する) 保存した設定から得ます。
.It Li v
変更可能であるパラメータを表示します。
.El
.It Fl q
静かな動作 (Quiet); モードページ出力を抑制します。
inquiry 文字列だけが出力されるので、
オペレータは予定したドライブをフォーマットしていることを確認できます。
.It Fl y
肯定 (Yes); 質問を行なうことなしにフォーマットします。
もしこのオプションが与えられなかった場合、
-.Nm scsiformat
+.Nm
は、実際に装置のフォーマットを始める前によいかどうか尋ねます。
ここで、割り込みキー (通常 Control-C) を打つことでプログラムを中断できます。
.It Fl w
実際にフォーマットをする;
デフォルトでは、ディスクパラメータの表示だけを行ないます。
.El
.Sh 診断
メッセージの意味の多くは、そこに説明してある通りです。
しかし、SCSI 標準のコピー (あるいは、読みやすい解説書) が
助けになるでしょう。
.Sh 関連項目
.Xr scsi 8
.Sh 歴史
-.Nm scsiformat
+.Nm
ユーティリティは
.Bx 4.4
から登場しました。
現在のバージョンのものは、
.An Peter Dufault
によって
.Fx 2.1
.Xr scsi 8
対応として再び稼働しました。
diff --git a/ja/man/man8/sendmail.8 b/ja/man/man8/sendmail.8
index 46c875a8dc..3b4761e31d 100644
--- a/ja/man/man8/sendmail.8
+++ b/ja/man/man8/sendmail.8
@@ -1,588 +1,562 @@
-.\" Copyright (c) 1983, 1997 Eric P. Allman
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" 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.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)sendmail.8 8.12 (Berkeley) 2/1/97
+.\" @(#)sendmail.8 8.19 (Berkeley) 5/19/98
.\" jpman %Id: sendmail.8,v 1.2 1997/06/05 01:31:44 yugawa Stab %
.\"
-.Dd February 1, 1997
+.Dd May 19, 1998
.Dt SENDMAIL 8
.Os BSD 4
.Sh 名称
.Nm sendmail
.Nd 電子メール配送デーモン
.Sh 書式
.Nm sendmail
.Op Ar flags
.Op Ar address ...
.Nm newaliases
.Nm mailq
.Op Fl v
.Sh 解説
.Nm sendmail
はメッセージを他の人に送ります。必要ならばネットワークを
通してメッセージを正しい場所に転送します。
.Pp
ただし、
.Nm sendmail
はユーザインタフェースとして使われることは考慮さ
れていません。ユーザにとって使いやすいフロントエンドは別のプログラムで
提供されます。
.Nm sendmail
は、あらかじめメールとして整形されたメッセージ
を配送するためだけに使われます。
.Pp
.Nm sendmail
を引数を指定せずに起動すると、
.Nm sendmail
は標準入力を EOF
(エンド・オブ・
ファイル)か `.'だけを含む行まで読み込み、メッセージのなかに記述されている
アドレスにメッセージのコピーを送ります。アドレスの文法や内容にもとづいて
経路に使用するネットワークを決定します。
.Pp
ローカルアドレスは、ファイルの中を検索して適当なエイリアスを行います。
先頭にバックスラッシュ `\\' のついたアドレスについては、エイリアスは
行なわれません。
通常、送り手はエイリアスの対象に含まれません。つまり、もし
`john' が `group' にメールを送って、 `john' が `group' に
含まれている場合、送ったメッセージは `john' には送られません。
.Ss パラメータ
.Bl -tag -width Fl
.It Fl B Ns Ar type
ボディのタイプを
.Ar type
に設定します。現在有効なのは、
.Li `7BIT'
.Li `8BITMIME'
です。
.It Fl ba
.Tn ARPANET
モードに移行します。すべての入力行は CR-LF で終わらなければならず、
すべてのメッセージの末尾には CR-LF がつきます。また、``From:'' と ``Sender:''
フィールドは送り手の名前としてチェックされます。
.It Fl bd
デーモンモードで実行します。バークレー
.Tn IPC
が必要です。
.Nm sendmail
.Xr fork 2
を行い、バックグラウンドで動作し、ソケット番号 25 で
.Tn SMTP
コネクションを
待ちます。通常このモードは、
.Pa /etc/rc
から実行されています。
.It Fl bD
フォアグラウンドで動作する以外は
.Fl bd
と同じです。
.It Fl bh
現在のホストの状況のデータベースを表示します。
.It Fl bH
現在のホストの状況のデータベースをパージします。
.It Fl bi
エイリアスデータベースを初期化します。
.It Fl bm
普通にメールを配送します(デフォルト)。
.It Fl bp
メールキューのリストを表示します。
.It Fl bs
標準入出力で
.Tn RFC821
にもとづいた
.Tn SMTP
プロトコルを使います。この
フラグは、
.Fl ba
フラグのうち
.Tn SMTP
互換の全ての操作を含みます。
.It Fl bt
アドレスのテストモードで起動します。このモードは対話
モードでアドレスを入力し、処理の過程を表示します。設定ファイル
をデバッグするのに使います。
.It Fl bv
名前のチェックだけを行います。メッセージの収集や配送は行い
ません。ベリファイモードは、ユーザやメーリングリストが有効かどうかを確認する
ために使います。
.It Fl C Ns Ar file
別の設定ファイルを使います。
.Nm sendmail
は、別の設定ファイル
を使用する場合は root として実行することはできません。
.It Fl d Ns Ar X
デバッグ値を
.Ar X
に設定します。
.ne 1i
.It Fl F Ns Ar fullname
送り手のフルネームを設定します。
.It Fl f Ns Ar name
``from'' に入る名前(つまり、送り手の名前です)を設定します。
.Fl f
は、``trusted''なユーザ(普通は
.Em root ,
.Em daemon ,
.Em network
です)が使うか、
送り手が自分自身の名前を指定して使う場合のみ指定することができます。
.It Fl h Ns Ar N
ホップカウントを
.Ar N
に設定します。ホップカウントは、
メールが処理されるたびに増えていきます。ホップカウントがリミットになった
とき、メールは「エイリアスがループしている」という旨のエラーメッセージと
いっしょに送り返されます。
もしこのフラグが指定されなければ、メッセージのなかの ``Received:'' 行がカウント
されます。
.It Fl i
入力されるメッセージ中の `.' だけを含む行を無視します。
このフラグは、データをファイルから読み込むような場合に使用する必要があります。
.It Fl N Ar dsn
配送状況の通知条件を
.Ar dsn
に設定します。
.Ar dsn
には、
.Ql never
(何も通知しない)または、コンマで区切った、
.Ql failure
(配送が失敗した場合に通知する)
.Ql delay
(配送が遅れた場合に通知する)
.Ql success
(配送が正常に行われた場合に通知する)
の組合せを指定する事ができます。
.It Fl n
エイリアスを行いません。
.It Fl O Ar option Ns = Ns Em value
オプション
.Ar option
を、指定した
.Em value
に設定します。この形式では長いオプション名が使用されます。
詳しくは後に記述します。
.It Fl o Ns Ar x Em value
オプション
.Ar x
を、指定した
.Em value
に設定します。
この形式では、一文字のオプション名しか使用できません。
短いオプション名についてはこのマニュアルには記述されていません。
詳しくは、
.%T "Sendmail Installation and Operation Guide"
を参照して下さい。
.It Fl p Ns Ar protocol
メッセージを受け取るのに利用するプロトコル名を設定します。
設定できるのは、
``UUCP'' のようなプロトコル名だけかプロトコル+ホスト名、たとえば ``UUCP:ucbvax''
などです。
.It Fl q Ns Bq Ar time
キューのなかにあるメッセージを処理する間隔を設定します。
.Ar time
を省略した場合は、キューの内容を一度だけしか処理しません。
.Ar time
は、
.Ql s
(秒)、
.Ql m
(分)、
.Ql h
(時間)、
.Ql d
(日)、
.Ql w
(週)の単位を付けた数字で指定します。
たとえば、
.Ql -q1h30m
.Ql -q90m
は、タイムアウトを 1 時間 30 分に設定します。
.Ar time
が指定されると、
.Nm sendmail
はデーモンとしてバックグラウンドで
実行されます。
デーモンとして実行させる際には、同時にオプション
.Fl bd
つけておくほうが安全です。
.It Fl qI Ns Ar substr
キュー ID の文字列に
.Ar substr
が含まれるジョブのみを処理します。
.It Fl qR Ns Ar substr
受信者のリストの文字列に
.Ar substr
が含まれるジョブのみを処理します。
.It Fl qS Ns Ar substr
送信者の文字列に
.Ar substr
が含まれるジョブのみを処理します。
.It Fl R Ar return
メッセージがバウンスした時に返送されるメッセージの量を設定します。
.Ar return
パラメータには、メッセージ全体を返送する場合は
.Ql full
を、ヘッダのみを返送する場合は
.Ql hdrs
を指定します。
.It Fl r Ns Ar name
.Fl f
フラグと同じですが、古い形式です。
.It Fl t
受信者をメッセージから読み取ります。To:, Cc:, Bcc: フィールドが受信者
のアドレスとして読み込まれます。Bcc: フィールドはメッセージの転送前に
-削除されます。引数で指定されたアドレスは全て無視されますので、メッセー
-ジのヘッダに名前が並べてあっても、引数に指定してあるとメッセージは転送
-されません。
+削除されます。
.It Fl U
最初の(ユーザからの)発送である事を示します。
このフラグは、
.Nm Mail
.Nm exmh
の様なユーザエージェントから呼び出す場合は
.Em 必ず
指定する必要があり、
.Nm rmail
等のネットワーク配送エージェントから呼び出す場合は、
.Em 絶対に
指定してはいけません。
.It Fl V Ar envid
オリジナルのエンベロープ ID を設定します。
これは、DSN をサポートするサーバ間では SMTP 上を伝達し、
DSN に従ったエラーメッセージの中で返送されます。
.It Fl v
詳細モードに移行します。展開されるエイリアスなどが報告されます。
.It Fl X Ar logfile
指定された
.Ar logfile
に、メーラに出たり入ったり
するすべてメッセージに関する情報を記録します。メーラをデバッグする際の
最後の手段としてのみ使ってください。非常に大量の情報があっという間に記録
されます。
.El
.Ss オプション
.Nm sendmail
には、設定することができる多くの処理オプションがあります。
通常、これらのオプションはシステム管理者のみが使います。
オプションは、コマンドラインから
.Fl o
フラグを使って(短いオプション名で)指定したり、
.Fl O
フラグを使って(長いオプション名で)指定したり、
設定ファイルから指定することができます。ここに記述して
いるのは部分的なもので、コマンド行から指定する場合に便利な物だけを、
長いオプション名で示しています。完全なリスト(と詳細)は、
.%T "Sendmail Installation and Operation Guide"
を参照してください。
オプションには以下の物があります。
.Bl -tag -width Fl
.It Li AliasFile= Ns Ar file
別のエイリアスファイルを使います。
.It Li HoldExpensive
接続するのに時間がかかるホストと接続するときは、
すぐに接続せず、リクエストはキューに入れられます。
.It Li CheckpointInterval= Ns Ar N
.Nm sendmail
が、
.Ar N
個の配送に成功するたびにキューファイルに
チェックポイントを設定します(デフォルトは 10 個です)。これによって、
システムのクラッシュによって長いメーリングリストの配送が中断
されたときでも、再開時に同じ人に重複して配送されることを防ぎます。
.ne 1i
.It Li DeliveryMode= Ns Ar x
配送モードを
.Ar x
に設定します。配送モードには
.Ql i
対話的(同期的)配送モード、
.Ql b
バックグラウンド(非同期的)配送モード、
.Ql q
キューモード(実際の配送は、キューが実行されるときに行われる)、
.Ql d
延期モード(データベースの検索(特に DNS や NIS )が行われない以外は
.Ql q
と同じ)があります。
.It Li ErrorMode= Ns Ar x
エラー処理をモード
.Ar x
に設定します。
.Ql m
はエラーメッセージを送り返します。
.Ql w
はエラーメッセージを送り手の端末に書き出します
(送り手がログインしていなければ、メールを返します)。
.Ql p
は、エラーメッセージを端末に表示します(デフォルト)。
.Ql q
は、エラーメッセージを捨てます(exit コードだけを返します)。
.Ql e
は、BerkNet 用に特別処理をします。
もし、モード
.Ql m
.Ql w
を使っている場合に、エラーとなったメッセージが
エラーメールとして送り返されず、送り手が
.Nm sendmail
を実行している
マシン上のユーザならば、
メッセージのコピーは送り手のホームディレクトリにある
.Pa dead.letter
に追加されます。
.It Li SaveFromLine
メッセージのはじめに
.Tn UNIX Ns \-style
From 行を残します。
.It Li MaxHopCount= Ar N
メールがループしていると判断されない、最大のホップ数を
指定します。
.It Li IgnoreDots
`.' だけを含む行をメッセージの終わりとして解釈しません。
.It Li SendMimeErrors
エラーメッセージをMIMEフォーマットで送り返します。
設定されていない場合は、DSN (Delivery Status Notification: 配送状況通知) SMTP
拡張は無効になります。
.It Li ConnectionCacheTimeout= Ns Ar timeout
コネクションキャッシュの
.Ar timeout
を設定します。
.It Li ConnectionCacheSize= Ns Ar N
コネクションキャッシュのサイズを
.Ar N
に設定します。
.It Li LogLevel= Ns Ar n
ログレベルを
.Ar n
にします。
.It Li MeToo
エイリアスに自分自身が含まれている場合、``me''(送り手自身)にも送ります。
.It Li CheckAliases
.Xr newaliases 1
コマンドの実行の際、
エイリアスの右側の項目(エイリアスの値)を有効性をチェックします。
.It Li OldStyleHeaders
もしオプションが設定されていれば、メッセージが古いスタイルのヘッダ
を持つことがあることを意味します。
このオプションが設定されていなければ、このメッセージが新しい
スタイルを持っていることが保証されます(2 つのアドレスの間はスペースのかわり
にコンマで区切られます)。このオプションが設定されていると、大抵の場合、
ヘッダのフォーマットを正しく決定するためのアルゴリズムが用いられます。
.It Li QueueDirectory= Ns Ar queuedir
キューメッセージを保存するディレクトリを選択します。
.It Li StatusFile= Ns Ar file
指定した名前のファイルに統計情報をセーブします。
.It Li Timeout.queuereturn= Ns Ar time
キューのなかの配送されなかったメッセージのタイムアウト時間を設定します。
この時間内に(ホストのダウンなどにより)配送が行われなかったときには、
失敗した旨のメッセージが送り返されます。デフォルトは 5 日です。
.It Li UserDatabaseSpec= Ns Ar userdatabase
このオプションが設定されると、情報を送る際にユーザデータ
ベースに対する問い合わせが行われます。
この方法をエイリアス機構の補助として使用する事ができます。ただし、
エイリアスはそのホストローカルでのみ有効なので、データベースが意図的に
分散されている場合は使用できません。
.Nm sendmail
.Dv USERDB
付きでコンパイルされていなければ使うことはできません。
.It Li ForkEachJob
キューを処理する間、
.Xr fork 2
を行います。メモリが少ないマシン
では便利です。
.It Li SevenBitInput
到着するメッセージを 7 ビットにします (8 ビット目は落します)。
.It Li EightBitMode= Ns Ar mode
8 ビットの入力を 7 ビットの宛先へ送る場合の処理方法を
.Ar mode
に設定します。
処理方法には、
.Li m
(mime 化) 7 ビット MIME 形式へ変換、
.Li p
(パス) 8 ビットのまま配送(プロトコルには違反します)、
.Li s
(厳密) メッセージをバウンス、
があります。
.It Li MinQueueAge= Ns Ar timeout
配送の試行の間、ジョブがキューに蓄積される時間を設定します。
.It Li DefaultCharSet= Ns Ar charset
特に指定されていない場合に、8 ビットのデータである事を示す
ラベルとして使用されるデフォルトのキャラクタを設定します。
.It Li DialDelay= Ns Ar sleeptime
コネクションの確立が失敗した場合に、再試行までに
.Ar sleeptime
だけスリープします。オンデマンドでダイアル接続するサイトでの使用に便利です。
.It Li NoRecipientAction= Ns Ar action
受信者ヘッダ (To: Cc: あるいは Bcc:) がない場合の動作を
.Ar action
に設定します。
.Li none
メッセージを変更しない、
.Li add-to
To: ヘッダにエンベロープで指定された受信者を加える、
.Li add-apparrently-to
Apparrently-To: ヘッダにエンベロープで指定された受信者を加える、
.Li add-bcc
空の Bcc: ヘッダを加える、
.Li add-to-undisclosed
.Ql "To: undisclosed-recipients:;"
というヘッダを加える、という動作が指定できます。
.It Li MaxDaemonChildren= Ns Ar N
待ち受け SMTP デーモンが同時に動作できる子プロセスの最大数を
.Ar N
に設定します。
.It Li ConnectionRateThrottle= Ns Ar N
SMTP ポートへの 1 秒当りの最大コネクション数を
.Ar N
に設定します。
.El
.Pp
エイリアスのなかで最初の文字が `|' で始まるものは、メールの内容をパイプで
コマンドに送るものと解釈されます。引数などをつけるために空白文字が
必要な場合はクォートする (" でくくる)必要があります。以下に、例を示します:
.Pp
.Bd -literal -offset indent -compact
msgs: "|/usr/bin/msgs -s"
.Ed
.Pp
エイリアスには、
.Dq :include: Ns Ar filename
という文法もあります。
.Nm sendmail
は、
メールの受け手のエイリアスとして、指定されたファイルを読みます。
以下に、例を示します:
.Pp
.Bd -literal -offset indent -compact
poets: ":include:/usr/local/lib/poets.list"
.Ed
.Pp
上記の例の場合は、
.Pa /usr/local/lib/poets.list
を読み、`poets' のグループの
ためのアドレスリストを作ります。
.Pp
.Nm sendmail
は、以下に示すような終了コードを返します。これらの
コードは、
.Aq Pa sysexits.h
に定義されています。
.Bl -tag -width EX_UNAVAILABLE -compact -offset indent
.It Dv EX_OK
すべてのアドレスについて完全に成功しました。
.It Dv EX_NOUSER
ユーザ名が認識できません。
.It Dv EX_UNAVAILABLE
処理に必要なリソースを得ることができません。
.It Dv EX_SYNTAX
アドレスに文法的な間違いがあります。
.It Dv EX_SOFTWARE
引数が間違っている等の、内部的なエラーです。
.It Dv EX_OSERR
.Dq cannot fork
のような、一時的な OS エラーです。
.It Dv EX_NOHOST
ホスト名が認識できません。
.It Dv EX_TEMPFAIL
メッセージはすぐには送られませんでしたが、
キューには入れられました。
.El
.Pp
.Nm newaliases
というコマンドで実行されると、
.Nm sendmail
はエイリアス
データベースを再構築します。
.Nm mailq
というコマンドで実行されると、
.Nm sendmail
はメールキューの内容を表示します。
.Sh 関連ファイル
.Pa /etc/sendmail.cf
-を除き、以下のファイルのパスはすべて
+とデーモンプロセス ID ファイルを除き、以下のファイルのパスはすべて
.Pa /etc/sendmail.cf
内部で決められています。以下は一例に過ぎません。
.Pp
.Bl -tag -width /usr/lib/sendmail.fc -compact
.It Pa /etc/aliases
エイリアス名の生データ
.It Pa /etc/aliases.db
エイリアス名のデータベース
.It Pa /etc/sendmail.cf
設定ファイル
.It Pa /usr/share/misc/sendmail.hf
ヘルプファイル
.It Pa /var/log/sendmail.st
統計情報ファイル
.It Pa /var/spool/mqueue/*
テンポラリファイル
-.It Pa /var/run/sendmail.pid
-デーモンのプロセス ID を格納しているファイル
.El
.Sh 関連項目
.Xr mail 1 ,
.Xr syslog 3 ,
.Xr aliases 5 ,
.Xr mailaddr 7 ,
.Xr mail.local 8 ,
.Xr rc 8 ,
.Xr rmail 8 ;
.Pp
DARPA
Internet Request For Comments
.%T RFC819 ,
.%T RFC821 ,
.%T RFC822 .
.Rs
.%T "Sendmail \- An Internetwork Mail Router"
.%V SMM
.%N \&No. 9
.Re
.Rs
.%T "Sendmail Installation and Operation Guide"
.%V SMM
.%N \&No. 8
.Re
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man8/shutdown.8 b/ja/man/man8/shutdown.8
index d5afea9f91..5259949e2e 100644
--- a/ja/man/man8/shutdown.8
+++ b/ja/man/man8/shutdown.8
@@ -1,135 +1,136 @@
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)shutdown.8 8.1 (Berkeley) 6/5/93
+.\" %Id: shutdown.8,v 1.4 1998/08/03 06:22:43 charnier Exp %
.\" jpman %Id: shutdown.8,v 1.2 1997/05/13 00:55:09 mutoh Stab %
.\"
.Dd June 5, 1993
.Dt SHUTDOWN 8
.Os BSD 4
.Sh 名称
.Nm shutdown
.Nd 指定時刻にシステムを停止する
.Sh 書式
.Nm shutdown
.Op Fl
.Op Fl hkrn
.Ar time
.Op Ar warning-message ...
.Sh 解説
.Nm shutdown
は、自動的にシャットダウンするための手順をスーパユーザに提供します。
システムがシャットダウンされるときユーザに知らせるので、
こういったお知せを面倒がって行なわない
システム管理者やハッカーやグルといった人々から、ユーザを救います。
.Pp
-以下の親切なオプションがあります:
-.Bl -tag -width time
+以下のオプションを使用可能です:
+.Bl -tag -width indent
.It Fl h
.Ar time
で指定された時間に
.Xr halt 8
を実行し、システムを停止します。
.It Fl k
全ユーザを追い出します。
実際にはシステムを停止しませんが、
マルチユーザシステムのままでスーパユーザ以外のユーザをログインできなくします。
.It Fl n
停止する前に、通常実行される
.Xr sync 2
を実行しません。
.It Fl r
.Ar time
で指定した時刻に
.Xr reboot 8
を実行し、システムを再起動します。
.It Ar time
-.Nm shutdown
+.Nm
がシステムを停止させる時間を指定します。
.Ar now
を指定すると即時にシステムを停止します。
また、時間を指定する次の二つの書式があります:
.Ar +number
もしくは
.Ar yymmddhhmm
の形式です。現在のシステムの年・月・日の値がデフォルトになっています。
一つめの書式は
.Ar number
分経過後をあらわし、二つめの書式は停止する時刻を直接指定します。
.It Ar warning-message
その他の引数は現在ログイン中のユーザに送る警告メッセージとして扱われます。
.It Fl
もし
.Ql Fl
がオプションとして与えられると、警告メッセージを標準入力から読み取ります。
.El
.Pp
システム停止の 10 時間前から、ログイン中の全てのユーザの端末に
警告メッセージが表示されはじめ、終末が近付くにつれ頻繁になってきます。
システム停止の 5 分前、もしくは 5 分以内にシステム停止する場合には、
ただちに警告メッセージをコピーした
.Pa /etc/nologin
が作られログインが禁止されます。
ユーザがログインしようとした際にこのファイルが存在する場合には、
.Xr login 1
はその内容を表示し終了します。このファイルは
-.Nm shutdown
+.Nm
が終了する際に削除されます。
.Pp
システム停止時には、システムを停止した時間、実行者、理由が
システムログに記録されます。その後、terminate シグナルが
-.Xr init
+.Xr init 8
に送られ、システムをシングルユーザ状態にします(この動作は上記の
オプションに依存します)。
システムを停止する時間と警告メッセージは
.Pa /etc/nologin
に置かれます。これをユーザにシステムを再開する時間や、なぜシステムを
停止するかなどを知らせるために使うべきです。
.Sh 関連ファイル
.Bl -tag -width /etc/nologin -compact
.It Pa /etc/nologin
login に誰にもログインさせないことを知らせます。
.El
.Sh 関連項目
.Xr login 1 ,
.Xr wall 1 ,
.Xr nologin 5 ,
.Xr halt 8 ,
.Xr reboot 8
.Bd -literal -offset indent
.Sh 以前との互換性
以前との互換性のため、二つめの書式で時と分をコロン(``:'')で区切ることができます。
.Ed
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja/man/man8/sicontrol.8 b/ja/man/man8/sicontrol.8
index aa3bc19bad..c1768891c3 100644
--- a/ja/man/man8/sicontrol.8
+++ b/ja/man/man8/sicontrol.8
@@ -1,115 +1,115 @@
-.\" %Id: sicontrol.8,v 1.3.2.3 1998/07/18 11:12:36 jkh Exp %
+.\" %Id: sicontrol.8,v 1.8 1998/03/23 08:29:31 charnier Exp %
.\" jpman %Id: sicontrol.8,v 1.2 1997/06/17 17:49:35 saeki Stab %
.\" The following requests are required for all man pages.
.Dd September 26,1995
.Dt SICONTROL 8
.Os FreeBSD
.Sh 名称
.Nm sicontrol
.Nd Specialix 社 SI/XIO ドライバの設定とデバッグ
.Sh 書式
.Nm sicontrol
device
.Ar command Op Cm Ar param ...
.Sh 解説
.Nm sicontrol
は SI/XIO デバイスドライバの設定やモニタリングをおこなうために使用します。
.Pp
.Nm sicontrol
.Ar device
で指定されたポートを操作します。
.Pp
ドライバ全体の設定をおこなう際には、特別なデバイス名 `-' を
.Ar device
に指定します。
.Pp
必要であれば、デバイス名には '/dev/' が補完されます。
.Pp
以下のコマンドはドライバ全体の設定をおこなうので、
デバイス名に '-' を指定する必要があります。
.Bl -tag -width 4n
.It Cm int_throttle Op Cm value
「総合割り込みスロットル値」を設定します。
ホストアダプタ割り込みの 1 秒あたりの最大値は次のようにして求められます:
.Pp
.Ar "controller CPU clock / (8 * int_throttle)"
.Pp
ブート時のデフォルト値は 25000 で、ホストアダプタの CPU クロックは
25MHz ですから、この場合の最大割り込みレートは約 125 回/秒になります。
.Pp
この値を下げると、ホストアダプタがオペレーティングシステムに
処理を要求するための割り込みのレートを増加させることができます。
.\"
.It Cm rxint_throttle Op Cm value
受信割り込みスロットル値を設定します。
ブート時のデフォルト値は 4 で、割り込みレートは約 25 回/秒になります。
.Pp
この値を下げると、ホストアダプタがオペレーティングシステムに受信 FIFO を
空にするよう要求する割り込みのレートを増加させることができます。
.\"
.It Cm nport
そのデバイスドライバの制御下にあるシリアルポートの数を返します。
.El
.Pp
以下のコマンドは個々のシリアルポートに対して実行されるため、
.Pa /dev
以下のデバイス名を指定する必要があります。
.Bl -tag -width 4n
.It Cm mstate
モデムが駆動する制御信号の、現在の状態を表示します。
.It Cm ccbstat
指定されたシリアルポートの "ccb" 構造体の、現在の内容を表示します。
これはドライバのデバッグや、シリアルポートが反応しない原因の調査以外には、
あまり使い道がありません。
.It Cm ttystat
指定されたシリアルポートに関するカーネル内部の "tty" 構造体の現在の内容を
表示します。これはドライバのデバッグ以外には、あまり使い道がありません。
.El
.\" The following requests should be uncommented and used where appropriate.
.\" This next request is for sections 2 and 3 function return values only.
.\" .Sh RETURN VALUES
.\" This next request is for sections 1, 6, 7 & 8 only
.\" .Sh ENVIRONMENT
.Sh 関連ファイル
.Bl -tag -width /dev/si_control -compact
.It Pa /dev/si_control
.Xr sicontrol 8
で使用される、ドライバ全体の制御ファイル
.It Pa /dev/ttyA*
端末制御ポート
.It Pa /dev/ttyiA*
.Xr stty 1
で使用される、初期 termios ステートデバイス
.It Pa /dev/ttylA*
.Xr stty 1
で使用される、ロックされた termios ステートデバイス
.El
.\" .Sh EXAMPLES
.\" This next request is for sections 1, 6, 7 & 8 only
.\" (command return values (to shell) and fprintf/stderr type diagnostics)
.Sh 診断
一般に自明です.....
.\" The next request is for sections 2 and 3 error and signal handling only.
.\" .Sh ERRORS
.Sh 関連項目
.Xr stty 1 ,
.Xr si 4 ,
.Xr termios 4 ,
.Xr tty 4 ,
.Xr comcontrol 8 .
.\" .Sh STANDARDS
.Sh 歴史
.Nm sicontrol
.An Andy Rutter Aq andy@acronym.co.uk
によって書かれた
.Nm siconfig
ユーティリティを基にしている部分が多少あります。
.Pp
Specialix International 社は、このデバイスドライバに関して、
いかなる形のサポートもおこないません。
.Sh 作者
.An Peter Wemm Aq peter@FreeBSD.org
.Sh バグ
たくさんあるでしょう... :-)
diff --git a/ja/man/man8/slattach.8 b/ja/man/man8/slattach.8
index 1a836883dd..525cc83248 100644
--- a/ja/man/man8/slattach.8
+++ b/ja/man/man8/slattach.8
@@ -1,266 +1,266 @@
.\" Copyright (c) 1986, 1991 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.
.\"
.\" @(#)slattach.8 6.4 (Berkeley) 3/16/91
-.\" %Header: /home/ncvs/src/sbin/slattach/slattach.8,v 1.11.2.3 1998/08/12 06:57:33 charnier Exp %
+.\" %Header: /home/ncvs/src/sbin/slattach/slattach.8,v 1.13 1997/04/16 09:56:30 danny Exp %
.\"
.\" jpman %Id: slattach.8,v 1.2 1997/05/19 05:35:41 mitchy Stab %
.\"
.Dd April 4, 1993
.Dt SLATTACH 8
.Os BSD 4.3
.Sh 名称
.Nm slattach
.Nd シリアルラインをネットワークインタフェースに割り当てる
.Sh 書式
.Nm slattach
.Op Fl a
.Op Fl c
.Op Fl e Ar exit-command
.Op Fl f
.Op Fl h
.Op Fl l
.Op Fl n
.Op Fl z
.Op Fl L
.Op Fl r Ar redial-command
.Op Fl s Ar baudrate
.Op Fl u Ar unit-command
.Op Fl K Ar keepalive
.Op Fl O Ar outfill
.Op Fl S Ar unit
.Ar ttyname
.Sh 解説
.Nm slattach
は、シリアルポートをネットワークインタフェースに割り当て自分と相手の
アドレスを定義するために使用されます。
.Nm slattach
の、オプションは以下のとおりです:
.Bl -tag -width Ar
.It Fl a
VJ ヘッダ圧縮を自動許可します。
リンクの相手が VJ ヘッダ圧縮可能な時これを使用し、そうでなければ
標準ヘッダを使用します。
.It Fl c
VJ ヘッダ圧縮を指定します。リンクの両端が VJ ヘッダ圧縮を使用できなければ
ならないことに注意してください。
.It Fl e Ar exit-command
.Nm slattach
が終了する前にシェルで
.Ql sh \-c Ar exit-command
のように呼び出されるコマンドを指定します。
.It Fl f
.Nm slattach
をバックグラウンドで動かすための daemon() の呼び出しを行いません。
.It Fl h
cts/rts によるシリアルのフロー制御を有効にします。無指定時には、
フロー制御はサポートされません。
.It Fl l
slip ポートのモデム制御 (CLOCAL) を無効にしキャリア検出を無視します。
無指定時には、キャリアが落ちた時に
.Ar redial-command
を呼び出しますが、
.Ar redial-command
が指定されていなければ
.Nm slattach
は終了します。
.It Fl n
ICMP パケットを捨てます。 slip インタフェースは
ICMP レスポンスによるシリアルラインの遅延を防止するよう
ICMP パケットを無視します。
.It Fl r Ar redial-command
シリアルラインのキャリアが失われた時にシェルで
.Ql sh \-c Ar redial-command
のように呼び出されるコマンドを指定します。
.Ar redial-command
-として空白を指定 (すなわち
+として空白を指定、すなわち
.Fl r Qq ""
-) することで、専用線で外部コマンドを実行せずに再接続を試みます。
+とすることで、専用線で外部コマンドを実行せずに再接続を試みます。
.It Fl s Ar baudrate
接続速度を指定します。このオプションが指定されない場合には、
9600 bps になります。
.It Fl u Ar unit-command
シリアルラインが slip に切り替わった時、
-.Ql Nm "sh -c" Ar unit-command old new
+.Ql Nm "sh -c" Ar unit-command <old> <new>
が実行されます。
-.Ar old
+.Ar <old>
-.Ar new
+.Ar <new>
はそれぞれ slip の最後にオープンされた時のユニット番号と現在のコネクションの
ユニット番号です。
このユニット番号は 2 つ以上の slip ラインを使用すればリダイアル後に
変更することが出来ます。
.Nm slattach
の接続が初めて確立されたとき、
.Ql Nm "sh -c" Ar unit-command new Nm \-1
が実行されます。
.Nm slattach
の接続が切れたとき、
.Ql Nm "sh -c" Ar unit-command old Nm \-1
が実行されます。
.Nm slattach
は、ユニット番号が変更され
.Ql Fl u Ar \%unit-command
が指定されないとき終了します。
.It Fl z
開始時にキャリアにかかわり無く
.Ar redial-command
のリダイアルを行います。
.It Fl L
uucp方式のデバイスロックを行います。
他の uucp ロックを行うプログラムから
.Nm slattach
を開始する場合以外は、このオプションが必要です。
デフォルトではそのようなプログラムの使用を考え uucp ロックをしません。
.It Fl K Ar keepalive
SLIP "keep alive" タイムアウト時間を秒単位で設定します。
FRAME_END がこの時間内に受信できない時、再接続が行われます。
省略時はタイムアウトは設定されません。
.It Fl O Ar outfill
SLIP "out fill" タイムアウト時間を秒単位で設定します。
これにより、相手側の "keep alive" タイムアウトに必要な
FRAME_END をこの時間内に送信します。
省略時はタイムアウトは設定されません。
.It Fl S Ar unit
SLIP ユニット番号を直接指定します。
2 つのインタフェースが同じユニット番号にならないかチェックをしないので、
注意が必要です。
省略時は動的にユニット番号を割り当てます。
.It Ar ttyname
ttyデバイスの名前を指定します。
.Ar ttyname
.Ql ttyXX
.Ql /dev/ttyXX
の形式で記述します。
.El
.Pp
本コマンドを用いてシリアルポートをネットワークインタフェースに
割り当てることが出来るのはスーパーユーザに限られます。
.Pp
ネットワークインタフェースの割り当てを解除する場合は、
.Nm slattach
プロセスを
.Ql kill -INT
を使って kill した後に
.Dq Li ifconfig interface-name down
を実行してください。
.Ar Interface-name
.Xr netstat 1
で見ることが出来ます。
.Pp
.Nm slattach
をキャリアを失った時にリダイアルするように設定するには、
.Fl r Ar redial-command
オプションを使って slip サーバに再接続するスクリプトかコマンドを指定
します。スクリプトはサーバにリダイアルしログインするようなものです。
.Pp
slipユニット番号が変わった時にネットワークインタフェースを再構成するには、
.Fl u Ar unit-command
オプションを使用して
.Ql sh \-c Ar unit-command old new
のように呼び出す、スクリプトかコマンドを指定します。
.Ar old
.Ar new
は再接続前後の slip ユニット番号です。
同時に 2 つ以上のラインが切断されているときユニット番号が変わる可能性
があります。
最初の再接続に成功した slip が一番小さいユニット番号を得られます。
.Pp
.Nm slattach
を kill するには、 tty をクローズしてから終了するように
.Ql kill -INT
(SIGINT)を使用します。
.Pp
強制的にリダイアルするには、
.Ql kill -HUP
を使用し
.Nm slattach
がキャリアを失ったように思わせて
.Ql sh \-c Ar redial-command
でサーバに再接続させます。
.Pp
.Nm slattach
をモデム経由でなく直結で使用する場合、 slip ラインのキャリアを無視するために
.Fl l
オプション付きで実行します。
.Sh 使用例
.Bd -literal -offset indent -compact
slattach ttyd8
slattach \-s 4800 /dev/ttyd1
slattach \-c \-s 38400 /dev/cuaa1
slattach \-r 'kermit -y dial.script >kermit.log 2>&1'
.Ed
.Sh 診断
エラーメッセージは
.Pa /var/log/messages
にあります (
.Nm slattach
はデーモンです)
指定したネットワークインタフェースが終了しない、
要求されたアドレスがみつからない、権限のないユーザが
ネットワークインタフェースの設定を変更しようとした、というメッセージは
ここに記録されます。
.Nm slattach
は端末の制御の設定の失敗や、
シグナルハンドラの登録の失敗も記録します。
コネクション開始時とリダイアル時に tty 名と回線速度が記録され、
終了時に tty 名が記録されます。
.Pp
.Sh 関連ファイル
.Pa /var/run/slattach.<tty>.pid
.Pp
この
.Ar tty
.Ar tty 名
に置き換えられます。
このファイルには
.Nm slattach
のプロセス番号が含まれ、
.Nm slattach
にシグナルを送るスクリプトで確かめることができます。
.Sh 関連項目
.Xr netstat 1 ,
.Xr startslip 1 ,
.Xr uustat 1,
.Xr netintro 4 ,
.Xr ifconfig 8 ,
.Xr rc 8 ,
.Xr sliplogin 8
.Sh 歴史
.Nm
.Bx 4.3
ではじめて登場しました。
diff --git a/ja/man/man8/slstat.8 b/ja/man/man8/slstat.8
index 625fec7294..1b1a54270b 100644
--- a/ja/man/man8/slstat.8
+++ b/ja/man/man8/slstat.8
@@ -1,124 +1,124 @@
.\" Copyright (c) 1986 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: @(#)slstat.8 6.8 (Berkeley) 6/20/91
-.\" %Id: slstat.8,v 1.6.2.3 1997/11/06 07:40:40 charnier Exp %
+.\" %Id: slstat.8,v 1.11 1997/10/20 12:41:40 charnier Exp %
.\" jpman %Id: slstat.8,v 1.2 1997/05/24 05:28:27 mitchy Stab %
.\"
.Dd October 11, 1996
.Dt SLSTAT 8
.Os BSD 4
.Sh 名称
.Nm slstat
.Nd シリアル回線 IP (SLIP) の利用統計を表示する
.Sh 書式
.Nm
.Op Fl i Ar interval
.Op Fl vr
.Op Ar unit
.Sh 解説
.Nm
はシリアル回線インターネットプロトコル (SLIP) のトラフィックに関連する
カーネルの統計情報を表示します。
.Pp
オプションは、以下のとおりです:
.Bl -tag -width indent
.It Fl i
.Ar interval
秒毎に表示を繰り返します。
.Ar interval
が指定されない場合は、デフォルトの 5秒が使用されます。
.It Fl v
統計情報の追加フィールドを表示します。
.It Fl r
インターバルあたりの値を全て秒単位で表示します。
.It Ar unit
.Tn SLIP
インタフェースを指定する 1 桁の数字です。デフォルトは
.Sy 0
で、インタフェース
.Sy sl0
が指定されます。
.El
.Pp
デフォルトでは
.Nm
は以下の情報を表示します:
.Pp
.Bl -tag -width indent
.It in
受信バイト数
.It out
送信バイト数
.It pack
送受信したパケット数
.It comp
送受信した圧縮されたパケット数
.It uncomp
送受信した圧縮されていないパケット数
.It unknwn
未知のタイプの入力パケット数
.It toss
エラーにより返された入力パケット数
.It other
その他の発信/返信 IP パケット数
.It err
入出力エラー数
.It search
コネクションステートのサーチ回数
.It miss
コネクションステートを発見できなかった回数
.It coll
clist での衝突の回数
( 1 日に 1 回か 2 回以上の ) 多数の衝突がある場合には
おそらく clist が不足しています。
param.c の
.Dv nclist
を増やしておく必要があります。
.El
.Sh 使用例
コマンド:
.Dl slstat -i 5
は 5 秒毎にシステムが何をしているかを表示します。
.Sh 関連項目
.Xr fstat 1 ,
.Xr netstat 1 ,
.Xr nfsstat 1 ,
.Xr ps 1 ,
.Xr ststat 1 ,
.Xr iostat 8 ,
.Xr pppstats 8 ,
.Xr pstat 8
.Pp
.%T "Installing and Operating 4.3BSD"
の中の
``Interpreting system activity''
から始まる章
diff --git a/ja/man/man8/smrsh.8 b/ja/man/man8/smrsh.8
index 1096da301c..62d88f88a5 100644
--- a/ja/man/man8/smrsh.8
+++ b/ja/man/man8/smrsh.8
@@ -1,103 +1,81 @@
-.\" Copyright (c) 1993 Eric P. Allman
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1993 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" 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.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)smrsh.8 8.2 (Berkeley) 1/9/96
+.\" @(#)smrsh.8 8.7 (Berkeley) 5/19/98
.\" jpman %Id: smrsh.8,v 1.3 1997/09/04 18:05:48 horikawa Stab %
.\"
.TH SMRSH 8 11/02/93
.SH 名称
smrsh \- sendmail用に制限されたシェル
.SH 書式
.B smrsh
.B \-c
command
.SH 解説
.I smrsh
は、
.IR sendmail (8)
の設定ファイルで、
.I sh
の代わりに ``prog'' メーラとして使用する事を目的としています。
.I smrsh
は、システムの全体的なセキュリティを改善するために、
.I sendmail
の ``|program'' 書式により起動する事ができるコマンドを制限します。
つまり、もし ``悪者'' が alias ファイルや forward ファイルを経由せずに
sendmail からプログラムを実行する事ができたとしても、
.I smrsh
を使えば、彼(あるいは彼女)が実行できるプログラムを制限する事ができるのです。
.PP
簡単に言うと、
.I smrsh
は、実行可能なプログラムを /usr/libexec/sm.bin ディレクトリに存在するもの
だけに限定します。これにより、システム管理者は利用可能なコマンドを選択する
事ができます。
更に、
.I smrsh
は、``end run'' 攻撃を防ぐために、コマンド行に
`\`', `<', `>', `|', `;', `&', `$', `(', `)', `\er'(キャリッジリターン),
`\en'(ニューライン)
の文字を含むコマンドは実行しません。
.PP
プログラム名の前にあるパス名は全て取り除かれるため、
``/usr/bin/vacation'', ``/home/server/mydir/bin/vacation'', ``vacation''
などは全て ``/usr/libexec/sm.bin/vacation'' と解釈されます。
.PP
システム管理者は、
/usr/libexec/sm.bin に置くプログラムを選ぶ際には慎重な
判断をすべきです。適切な物としては、
.IR vacation (1)
.IR procmail (1)
などがあげられるでしょう。いかなる要望があっても、シェルや、
.IR perl (1)
などのシェルに似たプログラムを
sm.bin
に入れてはいけません。
これは、単に任意のプログラムを実行する事を制限するだけで、
``#!''書式を用いた、シェルスクリプトや perl スクリプトを
sm.bin
ディレクトリに入れる事を制限する訳ではありません。
.SH コンパイル
コンパイルはほとんどのシステムでつまらないものです。
デフォルトのサーチパス
(デフォルトでは``/bin:/usr/bin'')
を変更するためには、\-DPATH=\e"\fIpath\fP\e" を
使用する必要があり、また、
デフォルトのプログラムディレクトリ
(デフォルトでは ``/usr/libexec/sm.bin'')
を変更するためには、\-DCMDBIN=\e"\fIdir\fP\e" を
使用する必要があります。
.SH 関連ファイル
/usr/libexec/sm.bin \- 制限されたプログラム用のディレクトリ
.SH 関連項目
sendmail(8)
diff --git a/ja/man/man8/spkrtest.8 b/ja/man/man8/spkrtest.8
index 6cbc483bd7..c6ba1acced 100644
--- a/ja/man/man8/spkrtest.8
+++ b/ja/man/man8/spkrtest.8
@@ -1,55 +1,55 @@
.\" Copyright (c) May 1995 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: spkrtest.8,v 1.2.2.3 1998/03/09 14:45:56 jkh Exp %
+.\" %Id: spkrtest.8,v 1.7 1997/10/20 12:43:03 charnier Exp %
.\" jpman %Id: spkrtest.8,v 1.3 1997/08/16 13:43:02 horikawa Stab %
.Dd July 23, 1995
.Dt SPKRTEST 8
.Os FreeBSD
.Sh 名称
.Nm spkrtest
.Nd スピーカドライバ用テストスクリプト
.Sh 解説
.Nm
はスピーカドライバ用の簡単に使えるテストスクリプトです。
.Sh 関連ファイル
.Bl -tag -width /dev/speakerxx
.It Pa /dev/speaker
スピーカデバイスファイル
.El
.Sh 関連項目
.Xr dialog 1 ,
.Xr perl 1 ,
.Xr spkr 4
.Sh 歴史
.Nm
スクリプトは
.Fx 1.0
で登場しました。
diff --git a/ja/man/man8/sticky.8 b/ja/man/man8/sticky.8
index 01077cd71f..429ad23997 100644
--- a/ja/man/man8/sticky.8
+++ b/ja/man/man8/sticky.8
@@ -1,76 +1,76 @@
.\" 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
+.\" %Id: sticky.8,v 1.4 1997/12/26 12:26:43 helbig Exp %
.\" jpman %Id: sticky.8,v 1.3 1997/07/19 12:27:09 konuma Stab %
-.\" %Id: sticky.8,v 1.1.1.1.8.2 1998/03/07 12:17:29 jkh Exp %
.\"
.Dd June 5, 1993
.Dt STICKY 8
.Os BSD 4
.Sh 名称
.Nm sticky
.Nd スティッキーテキストと追加専用ディレクトリ
.Sh 解説
特別なファイルモード
.Em sticky bit
(mode S_ISVTX)
は、ディレクトリのための
特別な取り扱いを示すために使われます。
通常ファイルに対しては無視されます。
ファイルのモードについての説明は、
.Xr chmod 2
や、
.Pa /usr/include/sys/stat.h
ファイルを参照してください。
.Sh スティッキーディレクトリ
`スティッキービット' が設定されたディレクトリは追加専用ディレクトリ、
より正確にいえば、ファイルの削除が制限されたディレクトリになります。
スティッキーディレクトリのファイルの削除や名称変更が可能なのは、
そのディレクトリの書き込み権限を持つそのファイルの所有者か、
そのディレクトリの所有者か、スーパーユーザだけです。
この機能は、
.Pa /tmp
ディレクトリの様に、公共的に書き込み可能であるが、他人の任意のファイルを
消去したり、名称変更したりさせたくない場合には有効です。
.Pp
どんなユーザもスティッキーディレクトリを作成することができます。
ファイルモードの変更についての詳細は、
.Xr chmod 1
を参照してください。
.Sh バグ
.Xr open 2
もしくは
.Xr mkdir 2
のどちらも、スティッキービットが設定されたファイルを作成できません。
.Sh 歴史
.Nm
コマンドは、 Version 32V AT&T UNIX から登場しました。
diff --git a/ja/man/man8/swapon.8 b/ja/man/man8/swapon.8
index 34bd231162..357e0e84ec 100644
--- a/ja/man/man8/swapon.8
+++ b/ja/man/man8/swapon.8
@@ -1,93 +1,93 @@
.\" 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.
.\"
.\" @(#)swapon.8 8.1 (Berkeley) 6/5/93
-.\" %Id: swapon.8,v 1.4.2.2 1998/07/17 20:13:53 jkh Exp %
+.\" %Id: swapon.8,v 1.10 1998/08/03 06:35:01 charnier Exp %
.\" jpman %Id: swapon.8,v 1.2 1997/05/03 13:45:14 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt SWAPON 8
.Os BSD 4
.Sh 名称
.Nm swapon
.Nd ページングやスワッピングに使用する追加デバイスを指定する
.Sh 書式
.Nm swapon
.Fl a
.Nm swapon
.Ar special_file ...
.Sh 解説
-.Nm swapon
+.Nm
は、ページングやスワッピングを行うための追加デバイス指定にて使用します。
システムは、ただ一つのデバイス上にページングやスワッピングして立ち上がるので、
起動時にはただ一つのディスクを要求します。
通常
-.Nm swapon
+.Nm
は、システムのマルチユーザモードの初期化ファイル
.Pa /etc/rc
から起動され、全てのスワップデバイスを有効にし、
ページングとスワッピング動作を複数デバイスにインタリーブします。
.Pp
通常は、最初の書式を使用します:
-.Bl -tag -width Ds
+.Bl -tag -width indent
.It Fl a
.Pa /etc/fstab
で、``noauto'' オプションが設定されていない、
``sw'' と指定されているすべてのスワップデバイスを使用可能にします。
.El
.Pp
二番目の書式は、システムスワップコンフィギュレーションテーブルに与えるように、
個々のブロックデバイスを指定します。
これにより、システムは指定されたデバイスのみをスワップ空間として利用します。
.Pp
.Sh 関連項目
.Xr swapon 2 ,
.Xr fstab 5 ,
.Xr init 8 ,
.Xr pstat.8 ,
.Xr rc 8 ,
.Xr vnconfig 8
.Sh 関連ファイル
.Bl -tag -width /dev/[ru][pk]?b -compact
.It Pa /dev/[ru][pk]?b
標準のページングデバイス
.It Pa /etc/fstab
ascii 形式のファイルシステム記述テーブル
.El
.Sh バグ
デバイスへのページングとスワッピングを停止する方法はありません。
ですから、
システム動作中にデバイスのマウントを解除して使用することは不可能です。
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja/man/man8/sync.8 b/ja/man/man8/sync.8
index b7c6c53621..3d77730c8f 100644
--- a/ja/man/man8/sync.8
+++ b/ja/man/man8/sync.8
@@ -1,76 +1,76 @@
.\" 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.
.\"
.\" @(#)sync.8 8.1 (Berkeley) 5/31/93
-.\" %Id: sync.8,v 1.3.2.3 1998/07/16 09:35:52 jkh Exp %
+.\" %Id: sync.8,v 1.7 1998/05/18 06:50:15 charnier Exp %
.\" jpman %Id: sync.8,v 1.2 1997/04/10 05:32:43 mutoh Stab %
.\"
.Dd May 31, 1993
.Dt SYNC 8
.Os BSD 4
.Sh 名称
.Nm sync
.Nd 未実行のディスク書き込みを強制実行する ( キャッシュのフラッシュ )
.Sh 書式
.Nm sync
.Sh 解説
.Xr reboot 8
または
.Xr halt 8
を使わずにプロセッサを停止する場合、全てのディスク書き込みが
適切に完了することを保証するため、停止に先だって
.Nm
を呼ぶことができます。
一般的には、システムをシャットダウンするには
.Xr reboot 8
もしくは
.Xr halt 8
を使うことが好ましいでしょう。
なぜならこれらのプログラムは、最終的な
.Nm
を実行する前に、内蔵時計の再同期や内部キャッシュの
フラッシュなどの追加動作を実行する場合があるからです。
.Pp
.Nm
は、
.Xr sync 2
ファンクションコールを利用します。
.Sh 関連項目
.Xr fsync 2 ,
.Xr sync 2 ,
.Xr update 4 ,
.Xr halt 8 ,
.Xr reboot 8
.Sh 歴史
.Nm
コマンドは
.At v6
から実装されました。
diff --git a/ja/man/man8/sysctl.8 b/ja/man/man8/sysctl.8
index 976a549cdc..b0eead9203 100644
--- a/ja/man/man8/sysctl.8
+++ b/ja/man/man8/sysctl.8
@@ -1,244 +1,246 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93
-.\" %Id: sysctl.8,v 1.10.2.2 1997/11/07 07:27:11 charnier Exp %
+.\" %Id: sysctl.8,v 1.16 1998/07/29 08:30:37 joerg Exp %
.\" jpman %Id: sysctl.8,v 1.2 1997/05/30 00:57:58 yugawa Stab %
.\"
.Dd September 23, 1994
.Dt SYSCTL 8
.Os
.Sh 名称
.Nm sysctl
.Nd カーネル状態の取得や設定
.Sh 書式
.Nm sysctl
.Op Fl bn
.Ar name ...
.Nm sysctl
.Op Fl bn
.Fl w
.Ar name=value ...
.Nm sysctl
.Op Fl bn
.Fl aAX
.Sh 解説
.Nm
はカーネル状態を取り出し、適切な権限があれば
プロセスがカーネル状態を設定することを許します。取り出され
たり、設定されたりした状態は、``Management Information Base''(``MIB'')
形式を使って記述されます。この形式では、要素はドット ``.'' で
接続されます。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl a
現在有効な文字列や整数値をすべて表示します。
.It Fl A
データ形式を知らないもの(以下、形式不明の変数と称する) を含めて、
存在している全ての MIB を表示します。
.Fl a
フラグ同様、文字列や整数値も表示されます。
形式不明の変数に関しては、
そのフォーマットおよび長さに関する情報と、その変数の内容の最初の数バイトを
16 進数でダンプします。
.It Fl X
フラグは、形式不明の変数の全ての内容が 16 進数でダンプされる以外は
.Fl A
と同じです。
.It Fl n
フィールド名の出力は抑制されて、値
だけが表示されます。これはシェル変数を設定するのに役に
立ちます。たとえば、ページサイズを変数 psize に保存する
には、以下のようにします:
.Bd -literal -offset indent -compact
set psize=`sysctl -n hw.pagesize`
.Ed
.Pp
.It Fl b
変数の値を加工せずに、バイナリ形式で表示します。
変数名や、最後の改行文字は出力されません。これは、単一の変数に対して
操作する際に便利でしょう。
.It Fl w Ar name=value ...
MIB の
.Ar name
を新しい値
.Ar value
に設定します。
MIB 形式
.Ar name
だけが指定された場合、その名前に対応する値が得られます。
.El
.Nm
で得られる情報は、整数、文字列、形式不明の変数です。
.Nm
はいくつかの形式不明の変数の形式を知っているだけで、それ以外のものに
対しては 16 進ダンプに頼ります。
形式不明の変数の情報は、
.Nm ps
.Nm systat
,
.Nm netstat
などの特別な目的のプログラムによって取得された場合に、より効果的です。
.Pp
文字列と整数の情報を簡単にまとめて以下に示します。これらの
変数の詳細な説明は、
.Xr sysctl 3
を参照してください。
.Pp
changeable の列は、適切な権限を持つプロセスがその値を変更
できるかどうかを示しています。
.Bl -column net.inet.ip.forwardingxxxxxx integerxxx
.It Sy Name Type Changeable
.It kern.ostype string no
.It kern.osrelease string no
.It kern.osrevision integer no
.It kern.version string no
.It kern.maxvnodes integer yes
.It kern.maxproc integer yes
.It kern.maxprocperuid integer yes
.It kern.maxfiles integer yes
.It kern.maxfilesperproc integer yes
.It kern.argmax integer no
.It kern.securelevel integer raise only
.It kern.hostname string yes
.It kern.hostid integer yes
.It kern.clockrate struct no
.It kern.posix1version integer no
.It kern.ngroups integer no
.It kern.job_control integer no
.It kern.saved_ids integer no
.It kern.boottime struct no
.It kern.domainname string yes
.It kern.update integer yes
.It kern.osreldate string no
.It kern.bootfile string yes
+.It kern.corefile string yes
+.It kern.logsigexit integer yes
.It vm.loadavg struct no
.It hw.machine string no
.It hw.model string no
.It hw.ncpu integer no
.It hw.byteorder integer no
.It hw.physmem integer no
.It hw.usermem integer no
.It hw.pagesize integer no
.It hw.floatingpoint integer no
.It hw.machine_arch string no
.It machdep.console_device dev_t no
.It machdep.adjkerntz integer yes
.It machdep.disable_rtc_set integer yes
.It user.cs_path string no
.It user.bc_base_max integer no
.It user.bc_dim_max integer no
.It user.bc_scale_max integer no
.It user.bc_string_max integer no
.It user.coll_weights_max integer no
.It user.expr_nest_max integer no
.It user.line_max integer no
.It user.re_dup_max integer no
.It user.posix2_version integer no
.It user.posix2_c_bind integer no
.It user.posix2_c_dev integer no
.It user.posix2_char_term integer no
.It user.posix2_fort_dev integer no
.It user.posix2_fort_run integer no
.It user.posix2_localedef integer no
.It user.posix2_sw_dev integer no
.It user.posix2_upe integer no
.It user.stream_max integer no
.It user.tzname_max integer no
.El
.Pp
.Sh 使用例
たとえば、システム中で許されている最大のプロセス数を知りたい
ときは、以下のようにします:
.Bd -literal -offset indent -compact
sysctl kern.maxproc
.Ed
.Pp
システム中で許されている最大のプロセス数を 1000 に設定する
には、以下のようにします:
.Bd -literal -offset indent -compact
sysctl -w kern.maxproc=1000
.Ed
.Pp
システムのクロックレートに関する情報を得るには、以下の
ようにします:
.Bd -literal -offset indent -compact
sysctl kern.clockrate
.Ed
.Pp
システム負荷(ロード・アベレージ)の履歴に関する情報を
得るには、以下のようにします:
.Bd -literal -offset indent -compact
sysctl vm.loadavg
.Ed
.Pp
ここに挙げたもの以外の変数も存在します。それらに関するより深い意味を知る
もっとも良く、かつ、おそらく唯一の方法は、それらを定義しているソースコードを
みる事であることは疑いのない事実でしょう。
.Sh 関連ファイル
.Bl -tag -width <netinet/icmpXvar.h> -compact
.It Pa <sys/sysctl.h>
トップレベルの識別子、第 2 レベルのカーネル/ハードウェア識別子、
そしてユーザレベル識別子の定義
.It Pa <sys/socket.h>
第 2 レベルのネットワーク識別子の定義
.It Pa <sys/gmon.h>
第 3 レベルのプロファイル識別子の定義
.It Pa <vm/vm_param.h>
第 2 レベルの仮想メモリ識別子の定義
.It Pa <netinet/in.h>
第 3 レベルのインターネット識別子と
第 4 レベルの IP 識別子の定義
.It Pa <netinet/icmp_var.h>
第 4 レベルの ICMP 識別子の定義
.It Pa <netinet/udp_var.h>
第 4 レベルの UDP 識別子の定義
.El
.Sh 関連項目
.Xr sysctl 3
.Sh バグ
現状では
.Nm
は、sysctl ツリーの追跡、および、形式と名前の情報を得る際に、
文書化されていないカーネルの sysctl 機能へのインタフェースを使用しています。
この方法に関する正しいインタフェースは、現在検討中です。
.Sh 歴史
.Nm sysctl
.Bx 4.4
ではじめて登場しました。
.Pp
.Fx 2.2
.Nm sysctl
は著しく改良されています。
diff --git a/ja/man/man8/syslogd.8 b/ja/man/man8/syslogd.8
index d948919a5a..ce320f085f 100644
--- a/ja/man/man8/syslogd.8
+++ b/ja/man/man8/syslogd.8
@@ -1,243 +1,243 @@
.\" 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
-.\" %Id: syslogd.8,v 1.6.2.8 1998/08/06 01:43:45 jkoshy Exp %
+.\" %Id: syslogd.8,v 1.16 1998/07/22 06:15:18 phk Exp %
.\"
.\" jpman %Id: syslogd.8,v 1.3 1997/05/19 17:08:30 horikawa Stab %
.\"
.Dd October 12, 1995
.Dt SYSLOGD 8
.Os BSD 4.2
.Sh 名称
.Nm syslogd
.Nd システムメッセージの記録をとる
.Sh 書式
.Nm syslogd
.Op Fl dsuv
.Op Fl a Ar allowed_peer
.Op Fl f Ar config_file
.Op Fl m Ar mark_interval
.Op Fl p Ar log_socket
.Op Fl l Ar path
.Sh 解説
.Nm
デーモンは設定ファイルに指定された通りに、システムコンソール、
ログファイル、他のマシンやユーザへのメッセージを読み込み、記録します。
オプションには以下のものがあります。
.Bl -tag -width indent
.It Fl a Ar allowed_peer
.Ar allowed_peer
がこの
.Nm
に UDP データグラムを使用してログすることを許します。複数の
.Fl a
オプションを指定可能です。
.Pp
.Ar allowed_peer
は以下のいずれかです:
.Bl -tag -width "ipaddr/masklen[:service]XX"
.It Ar ipaddr/masklen Ns Op Ar :service
.Ar ipaddr
(通常のドット表記の 4 つ組)
からのデータグラムを受け付けます。
アドレス比較の際、
.Ar masklen
ビットを考慮します。
.Ar service
が指定された場合、パケット送出元が属すべき
UDP service の名前もしくは番号となります(
.Xr services 5
参照)。
.Ar service
.Ql \&*
を指定すると、全ての UDP ポートから送信されたパケットを受け付けます。
デフォルトの
.Ar service
.Ql syslog
です。
.Ar masklen
を指定しないと、
.Ar ipaddr
がクラス A もしくは B のアドレス範囲に属す場合にはそれぞれ
歴史的なクラス A もしくは B のネットマスクが使用され、
そうでない場合には 24 が使用されます。
.It Ar domainname Ns Op Ar :service
送信アドレスのアドレス逆引きにおいて
.Ar domainname
が得られたデータグラムを受け付けます。
.Ar service
の意味は前述の通りです。
.It Ar *domainname Ns Op Ar :service
上述の通りですが、送信ホスト名が
.Ar domainname
.Em 終る
全てのホストから受け付けます。
.El
.It Fl d
.Nm
をデバッグモードで実行します。これは恐らく、
.Nm
の開発者にのみ役立ちます。
.It Fl f
代りの設定ファイルのパス名を指定します。
デフォルトは
.Pa /etc/syslog.conf
です。
.It Fl m
.Dq mark
されたメッセージの間隔を分単位で指定します。
デフォルトは20分です。
.It Fl p
代りに使用するログ用ソケットのパス名を指定します。
デフォルトは
.Pa /var/run/log
です。
.It Fl l
.Nm syslogd
が追加のログ用ソケットを置く場所を指定します。
19 個まで追加のログ用ソケットを指定可能です。
主な用法は、
様々に chroot したファイル空間において追加のログ用ソケットを
.Pa /dev/log
に置くというものです。
.It Fl s
セキュアモードで操作します。リモートマシンからのログメッセージをログしません。
メッセージは受信計数され、
カウントが 2 の羃乗を越える時にログエントリが生成されます。
.It Fl u
ただ 1 つの優先度のログのみ行います。
指定した優先度のメッセージのみログします。
このオプションを指定しないと、指定した優先度以上のメッセージがログされます。
このオプションにより、デフォルトの比較を
.Dq =>
から
.Dq =
に変更します。
.It Fl v
冗長なログを行います。1 度指定すると、ローカルに書き込まれたメッセージと共に、
ファシリティと優先度が数値でログされます。
複数回指定すると、ローカルに書き込まれたメッセージと共に、
ファシリティと優先度が名前でログされます。
.El
.Pp
.Nm
デーモンは
起動時と hangup シグナルを受けとった時はいつでも設定ファイルを
読み込みます。
設定ファイルのフォーマットに関する情報は、
.Xr syslog.conf 5
参照して下さい。
.Pp
.Nm
デーモンは
.Tn UNIX
ドメインソケット
.Pa /var/run/log、
.Pa /etc/services
で指定されるインターネットドメインソケット
およびスペシャルデバイス
.Pa /dev/klog
(カーネルメッセージを読むため) からメッセージを読み込みます。
.Pp
.Nm
デーモンはファイル
.Pa /var/run/syslog.pid
を作成し、プロセス ID を記録します。
これは
.Nm
を kill や、設定ファイルを読み込ませるために使えます。
.Pp
.Nm
に送られるメッセージは単一の行で構成されます。このメッセージは先頭に優
先順位コードを含んでいます。このコードは
.Sq Aq 5
のように括弧でくくられた 10 進数から構成されており、インクルードファイル
.Aq Pa sys/syslog.h
で定義されている優先順位に対応します。
.Sh 関連ファイル
.Bl -tag -width /var/run/syslog.pid -compact
.It Pa /etc/syslog.conf
コンフィグレーションファイル
.It Pa /var/run/syslog.pid
動作中の
.Nm
のプロセスID
.It Pa /var/run/log
.Tn UNIX
ドメインデータグラムのログ用ソケットの名前
.It Pa /dev/klog
カーネルログ用のデバイス
.El
.Sh 関連項目
.Xr logger 1 ,
.Xr syslog 3 ,
.Xr services 5 ,
.Xr syslog.conf 5
.Sh 歴史
.Nm
コマンドは
.Bx 4.3
から登場しました。
.Pp
.Fl a ,
.Fl s ,
.Fl u ,
.Fl v
のオプションは
.Fx 2.2
における拡張です。
.Sh バグ
UDPパケットで受けとったメッセージを記録する能力は認証されていないディ
スクを溢れさせるリモートサービスと等価であり、恐らくデフォルトで無効に
されるべきです。ある種の
.Nm
間の認証メカニズムが用意されるべきでしょう。
最悪の無駄遣いを避けるために、
.Fl a
オプションの使用を強く勧めます。
.Pp
.Fl a
のマッチングアルゴリズムは非常に効率的には見えません;
ドメイン名比較より、数値による IP アドレスを使用する方が高速です。
許可されたピアのリストの検索は線型に行なわれるため、
多くのメッセージを受け付けると予測されるピアグループは
.Fl a
リストの最初の方に置くべきです。
.Pp
ログ用ソケットは読み込み専用のルートファイルシステムの扱いを容易にする
ために
.Pa /dev
から移されました。このことは古いバイナリを混乱させるかもしれないので、
過渡期の間はシンボリックリンクが役に立つでしょう。
diff --git a/ja/man/man8/telnetd.8 b/ja/man/man8/telnetd.8
index 5b1307f0b3..3204619bc6 100644
--- a/ja/man/man8/telnetd.8
+++ b/ja/man/man8/telnetd.8
@@ -1,605 +1,605 @@
.\" Copyright (c) 1983, 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.
.\"
.\" @(#)telnetd.8 8.3 (Berkeley) 3/1/94
-.\" %Id: telnetd.8,v 1.5.2.4 1998/05/04 02:41:38 steve Exp %
+.\" %Id: telnetd.8,v 1.12 1998/05/04 02:37:29 steve Exp %
.\" jpman %Id: telnetd.8,v 1.2 1997/05/12 08:14:57 yugawa Stab %
.\"
.Dd March 1, 1994
.Dt TELNETD 8
.Os BSD 4.2
.Sh 名称
.Nm telnetd
.Nd DARPA
.Tn TELNET
プロトコルサーバ
.Sh 書式
.Nm /usr/libexec/telnetd
.Op Fl BUhlkns
.Op Fl D Ar debugmode
.Op Fl I Ns Ar initid
.Op Fl S Ar tos
.Op Fl X Ar authtype
.Op Fl a Ar authmode
.Op Fl edebug
.Op Fl p Ar loginprog
.Op Fl r Ns Ar lowpty-highpty
.Op Fl u Ar len
.Op Fl debug Op Ar port
.Sh 解説
.Nm
コマンドは、
.Tn DARPA
標準
.Tn TELNET
仮想端末プロトコルをサポートするサーバです。
.Nm
は、通常は
.Pa /etc/services
ファイル (
.Xr services 5
参照) に記述されている
.Tn TELNET
ポートへの接続要求を受けて、インターネットサーバ (
.Xr inetd 8
参照) から起動されます。
.Fl debug
オプションは、
.Xr inetd 8
の代わりに
.Nm
を手動で起動するために用いられます。
このように手動で起動された場合には、代わりの
.Tn TCP
ポート番号で
.Nm
を動かすために
.Ar port
を指定する事ができます。
.Pp
.Nm
コマンドには以下のオプションがあります:
.Bl -tag -width indent
.It Fl a Ar authmode
このオプションは、どのモードが認証に使われるかを指定するために用いられます。
このオプションは、
.Nm
.Dv AUTHENTICATION
オプションをサポートする設定で構築された場合においてのみ役に立つことに
注意して下さい。
以下に示すようないくつかの
.Ar authmode
があります:
.Bl -tag -width debug
.It Cm debug
認証のデバッグコードを有効にします。
.It Cm user
リモートユーザは、自分自身であること示すための有効な認証情報を
提供した時にのみ接続が許可されます。
この場合、指定されたアカウントに対しては、パスワードの提供なしに接続が
許可されます。
.It Cm valid
リモートユーザが自分自身であることを示すための有効な認証情報を
提供した時にのみ接続が許可されます。
リモートユーザが指定されたアカウントに対する自動的な接続が許可されて
いなければ
.Xr login 1
コマンドは、必要となるユーザ認証を実施します。
.It Cm other
ある種の認証情報を提供した場合のみ接続を許可します。
現在このオプションはすべての認証方法でサポートされていないため
.Fl a
.Cm valid
オプションを指定した時と同じ動作をします。
.It Cm none
デフォルトではこの状態です。
認証情報は要求されません。
もし認証情報がなかったり不十分であれば、
.Xr login 1
プログラムによって必要となるユーザ認証を実施します。
.It Cm off
認証コードを無効にします。
すべてのユーザ証明が
.Xr login 1
プログラムによって行われます。
.El
.It Fl B
bftp サーバモードを指定します。このモードでは、
ユーザの通常のシェルではなく
.Xr bftp 1
セッションを開始するように、
.Nm
は login に指示します。
bftp デーモンモードにおいて通常のログインはサポートされていません。
また通常の
.Tn TELNET
ポートではなく別のポートを使わなくてはいけません。
.It Fl D Ar debugmode
このモードはデバックのために用いられます。
これによって
.Nm
がデバッグ情報を表示し、ユーザは
.Nm
が何をしているのかを見ることが許されます。
以下に示すようないくつかの
.Ar debugmode
があります:
.Bl -tag -width exercise
.It Cm options
.Tn TELNET
オプションのネゴシエーションについての情報が表示されます。
.It Cm report
.Cm options
で表示される情報に加えて、
どのような操作が行われているのかという、いくつかの付加的な情報が
表示されます。
.It Cm netdata
.Nm
が受け取ったデータストリームを表示します。
.It Cm ptydata
pty に書かれたデータを表示します。
.It Cm exercise
まだ実装されていません。
.El
.It Fl debug
.Nm
によって作られたソケットについてのデバッグを可能にします (
.Xr socket 2
.Dv SO_DEBUG
参照)。
.It Fl edebug
.Nm
がデータの暗号化をサポートする設定で構築されている場合に、
.Fl edebug
オプションは、暗号化デバッグコードを有効にするために使われます。
.It Fl p Ar loginprog
ログインを完了する際に実行されるコマンドとして
.Xr login 1
以外のコマンドを指定します。指定されたコマンドは通常の login と同じ引数を
解釈できる必要があります。
.It Fl h
ログインが完了するまでホストに特有の情報を表示しないようにします。
.It Fl I Ar initid
このオプションは、バージョン 7.0 以前の
.Tn UNICOS
システムでのみ有効です。
init がログインセッションを開始したときに、
.Pa /etc/inittab
から
.Dv ID
を特定します。デフォルトの
.Dv ID
.Dv fe
です。
.It Fl k
このオプションは、
.Nm
が linemode と kludge linemode をサポートする設定で構築されている
ときにのみ有効です。
.Fl k
オプションが指定されている場合で、もしリモートのクライアントが
.Dv LINEMODE
オプションをサポートしていなければ、
.Nm
は、 character at a time mode で動きます。
この様な状態でも kludge linemode をサポートしますが、リモートのクライアントが
要求した場合のみ kludge linemode になります
(これは、クライアントが
.Dv DONT SUPPRESS-GO-AHEAD
.Dv DONT ECHO
を送信することによって行われます)。
.Fl k
オプションは kludge linemode をサポートしていないリモートクライアントが
あるが、(もしクライアントが
.Dv DO TIMING-MARK
に対して
.Dv WILL TIMING-MARK
を応答する事で) 自己発見的に kludge linemode をサポートすると認められる
様な場合にとても便利です。
.It Fl l
line mode を指定します。クライアントを強制的に line-at-a-time mode に
なるよう試みます。
もし
.Dv LINEMODE
オプションがサポートされてなければ、kludge linemode になります。
.It Fl n
.Dv TCP
keep-alives を行いません。通常、
.Nm
.Tn TCP
keep-alive を有効にしています。なぜなら、クラッシュしたり、すでに接続
出来ないようなマシンからのアイドルコネクションを解消するために、
ある期間アイドルだった場合にクライアントとの接続がまだ存在するかどうかを
調べる必要があるからです。
.It Fl r Ar lowpty-highpty
このオプションは、
.Nm
.Dv UNICOS
用に構築されている場合にのみ有効です。
使用する仮想端末デバイスの包括的な範囲を指定します。
システムが sysconf 変数
.Dv _SC_CRAY_NPTY
を使用するように設定されている場合、デフォルトでの pty の検索範囲は
0から
.Dv _SC_CRAY_NPTY
までになります。そうでなければ、デフォルトでの検索範囲は 0 から 128 に
なります。検索範囲のどちらか一方だけを変更したい場合は、
.Ar lowpty
あるいは
.Ar highpty
は省略する事が出来ます。
.Ar lowpty
を省略した場合でも文字 - を省略する事は出来ません。
文字 - を省略してしまうと
.Nm
はそれが
.Ar highpty
であることを判断できずに
.Ar lowpty
であると判断してしまうからです。
.It Fl s
このオプションは、
.Nm
.Tn SecurID
カードをサポートする設定で構築されている時にのみ有効です。
このオプションを指定すると、
.Fl s
オプションはそのまま
.Xr login 1
に渡され、
.Xr login 1
.Fl s
オプションをサポートしていて
.Tn SecurID
によって認証されたログインのみを許可するような場合に有効です。
これは、ファイアウォールの外側からのリモートログインを制御するような
場合に有意義でしょう。
.It Fl S Ar tos
.It Fl u Ar len
このオプションは、リモートホスト名を保持している
.Dv utmp
構造体のフィールドの大きさを指定するために使われます。
もし解決されたホスト名が
.Ar len
よりも長ければ、ホスト名の代わりにドットで区切られたアドレスが使われます。
これによりフィールドを超えるようなとても長いホスト名を
一意に特定できるようにします。
.Fl u0
を指定することによって、ドットで区切られたアドレスだけが
.Pa utmp
ファイルに書き込まれるようにします。
.It Fl U
このオプションは
.Nm
が、
.Xr gethostbyaddr 3
ルーチンを通してシンボルでの名前にマップされないようなアドレスからの
コネクションを拒絶するようにします。
.It Fl X Ar authtype
このオプションは
.Nm
が認証オプションをサポートする設定で構築されたときにのみ有効です。
.Ar authtype
認証を使用不能にし、
.Nm
を再コンパイルすることなしに
特定の認証タイプを一時的に使用不能にする事が出来ます。
.El
.Pp
.Nm
は仮想端末デバイス (
.Xr pty 4
参照) をクライアントに割り当てます。
そして、
.Dv stdin ,
.Dv stdout ,
.Dv stderr
として仮想端末のスレーブ側を使用する login プロセスを生成します。
.Nm
は、
.Tn TELNET
プロトコルを実装し、
リモートクライアントと login プロセスとの間の
キャラクタを通過させることにより、仮想端末のマスター側を操作します。
.Pp
.Tn TELNET
セッションが開始されると
.Nm
は以下の
.Tn TELNET
オプションをクライアント側に送信して、これらの
.Tn TELNET
オプションの使用を希望している事を伝えます。
これらのオプションの詳細はついては以下に説明されています。
.Bd -literal -offset indent
DO AUTHENTICATION
WILL ENCRYPT
DO TERMINAL TYPE
DO TSPEED
DO XDISPLOC
DO NEW-ENVIRON
DO ENVIRON
WILL SUPPRESS GO AHEAD
DO ECHO
DO LINEMODE
DO NAWS
WILL STATUS
DO LFLOW
DO TIMING-MARK
.Ed
.Pp
クライアントに割り当てられた仮想端末は、
\*(lqcooked\*(rq
モードで動作し、
.Dv XTABS
.Dv CRMOD
(
.Xr tty 4
参照) が有効な状態で操作するように設定されます。
.Pp
.Nm
は、ローカル側で有効な以下に示す
.Tn TELNET
オプションをサポートしています:
.Bl -tag -width "DO AUTHENTICATION"
.It "WILL ECHO"
.Dv LINEMODE
オプションが設定されている時に
端末エコーの現在の状態を示すためにクライアントに
.Dv WILL ECHO
あるいは
.Dv WONT ECHO
が送信されます。
端末エコーが不要な場合は、
.Tn telnetd
がエコーが必要なデータに対する
エコーを処理する事を示すために
.Dv WILL ECHO
が送信され、何もエコーされません。
端末エコーが必要な場合は、
.Tn telnetd
がいかなる端末エコーも
行わない事を示すために
.Dv WONT ECHO
が送信されるので、必要な時は端末エコーをクライアント側が
行わなければなりません。
.It "WILL BINARY"
クライアントが、通常のネットワーク仮想端末が用いる 7 ビットのデータ
ではなく、8 ビットのデータを送信するように指定します。
.It "WILL SGA"
.Dv IAC GA
すなわち go ahead コマンドを送信しないように指定します。
.It "WILL STATUS"
クライアントから要求があった時に、全ての
.Tn TELNET
オプションの現在の状況を送信するように指定します。
.It "WILL TIMING-MARK"
.Dv DO TIMING-MARK
コマンドが受信された場合に、常にそれに対して
.Dv WILL TIMING-MARK
を返答します。
.It "WILL LOGOUT"
.Dv DO LOGOUT
が受信されると
.Dv WILL LOGOUT
を返答し、
.Tn TELNET
セッションはシャットダウンされます。
.It "WILL ENCRYPT"
.Nm
がデータの暗号化をサポートする設定で構築された場合のみ送信され、
データ列に対して暗号を復号するように指定します。
.El
.Pp
.Nm
はリモート側で有効な以下に示す
.Tn TELNET
オプションをサポートしています:
.Bl -tag -width "DO AUTHENTICATION"
.It "DO BINARY"
.Nm telnetd
が 8 ビットのデータ列を受信するように指定します。
.It "DO LFLOW"
クライアントがフロー制御文字をリモート側で処理するように指定します。
.It "DO ECHO"
このコマンドは実際にはサポートされませんが、クライアントが 4.2BSD
.Xr telnet 1
クライアント (
.Dv WILL ECHO
に正しく応答しない) であるかを判断するために送信されます。
もし、
.Dv WILL ECHO
が受信された場合は、それに対して
.Dv DONT ECHO
が送信されます。
.It "DO TERMINAL-TYPE"
接続のクライアント側に割り当てられた端末タイプの名前を
要求できるように指定します。
.It "DO SGA"
.Dv IAC GA
すなわち go ahead コマンドを受信する必要がないように指定します。
.It "DO NAWS"
ウィンドウ (ディスプレイ) のサイズが変わった場合に、クライアントが
それをサーバに知らせる事を要求します。
.It "DO TERMINAL-SPEED"
クライアントに割り当てられたシリアルラインの速度に関する情報を
要求できるように指定します。
.It "DO XDISPLOC"
telnet クライアントが使用している X ウィンドウのディスプレイの名前を
要求できるように指定します。
.It "DO NEW-ENVIRON"
RFC 1572 に示されている環境変数に関する情報を
要求できるように指定します。
.It "DO ENVIRON"
RFC 1408 に示されている環境変数に関する情報を
要求できるように指定します。
.It "DO LINEMODE"
.Nm
が linemode をサポートする設定で構築された場合のみ送信され、
クライアントに行単位の処理を行う事を要求します。
.It "DO TIMING-MARK"
.Nm
が linemode および kludge linemode の両方をサポートする設定で
構築され、クライアントが
.Dv WONT LINEMODE
を返信した場合のみ送信されます。
クライアントが
.Dv WILL TM
を返信した場合は、クライアントが kludge linemode を
サポートしていると判断されます。
.Op Fl k
オプションによりこの機能を無効にする事ができます。
.It "DO AUTHENTICATION"
.Nm
が認証機能をサポートする設定で構築された場合のみ送信され、
自動ログインに使用する認証情報を受信するようにします。
.It "DO ENCRYPT"
.Nm
がデータの暗号化をサポートする設定で構築された場合のみ送信され、
データ列に対して暗号を復号するように指定します。
.Sh 注釈
デフォルトでは、
.Nm
.Pa /etc/gettytab
から
.Em \&he ,
.Em \&hn ,
.Em \&im
のケーパビリティを読み、(存在するならば) この情報を使用して
login: プロンプトの前に何を表示すべきかを決定します。
.Em \&im
ケーパビリティに優先する
.Em \&if
ケーパビリティを使用して、System V スタイルの
.Pa /etc/issue
ファイルを使うこともできます。
.Em \&im
または
.Em \&if
に指定される情報は、コンソールとリモートログインの両方で表示されます。
.Sh 環境変数
.Sh ファイル
.Bl -tag -width /usr/ucb/bftp -compact
.It Pa /etc/services
.It Pa /etc/gettytab
.It Pa /etc/inittab
(UNICOS システムのみ)
.It Pa /etc/iptos
(サポートされている場合)
.It Pa /usr/ucb/bftp
(サポートされている場合)
.El
.Sh "関連項目"
.Xr bftp 1 ,
.Xr gettytab 5 ,
.Xr login 1 ,
.Xr telnet 1
(サポートされている場合)
.Sh 標準
.Bl -tag -compact -width RFC-1572
.It Cm RFC-854
.Tn TELNET
PROTOCOL SPECIFICATION
.It Cm RFC-855
TELNET OPTION SPECIFICATIONS
.It Cm RFC-856
TELNET BINARY TRANSMISSION
.It Cm RFC-857
TELNET ECHO OPTION
.It Cm RFC-858
TELNET SUPPRESS GO AHEAD OPTION
.It Cm RFC-859
TELNET STATUS OPTION
.It Cm RFC-860
TELNET TIMING MARK OPTION
.It Cm RFC-861
TELNET EXTENDED OPTIONS - LIST OPTION
.It Cm RFC-885
TELNET END OF RECORD OPTION
.It Cm RFC-1073
Telnet Window Size Option
.It Cm RFC-1079
Telnet Terminal Speed Option
.It Cm RFC-1091
Telnet Terminal-Type Option
.It Cm RFC-1096
Telnet X Display Location Option
.It Cm RFC-1123
Requirements for Internet Hosts -- Application and Support
.It Cm RFC-1184
Telnet Linemode Option
.It Cm RFC-1372
Telnet Remote Flow Control Option
.It Cm RFC-1416
Telnet Authentication Option
.It Cm RFC-1411
Telnet Authentication: Kerberos Version 4
.It Cm RFC-1412
Telnet Authentication: SPX
.It Cm RFC-1571
Telnet Environment Option Interoperability Issues
.It Cm RFC-1572
Telnet Environment Option
.Sh バグ
いくつかの
.Tn TELNET
コマンドは部分的にしか実装されていまいません。
.Pp
オリジナルの 4.2 BSD の
.Xr telnet 1
のバグに対処するため、
.Nm
は、ある種のあいまいなプロトコル変換を行うことにより、
リモートクライアントが実際に 4.2 BSD の
.Xr telnet 1
であるかどうかを判断しようとします。
.Pp
バイナリモードは
よく似たオペレーティングシステム (この場合 Unix) 間以外では
互換性がありません。
.Pp
リモートクライアントから受け取った端末タイプの名前は小文字に変換されます。
.Pp
.Nm
は、
.Tn TELNET
.Dv IAC GA
(go ahead) コマンドを絶対に送りません。
diff --git a/ja/man/man8/tickadj.8 b/ja/man/man8/tickadj.8
index a213fdbda7..339bca1c0e 100644
--- a/ja/man/man8/tickadj.8
+++ b/ja/man/man8/tickadj.8
@@ -1,152 +1,123 @@
-''' %Id: tickadj.8,v 1.2 1996/10/05 22:27:28 wosch Exp %
.\" jpman %Id: tickadj.8,v 1.4 1997/07/26 22:12:09 horikawa Stab %
-'''
-.de Sh
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH TICKADJ 8 LOCAL
-.SH 名称
-tickadj - カーネル内の時間に関連した変数をだます
-.SH 書式
-.B tickadj
-[
-.B -Aqs
-] [
-.B -a
-.I new_tickadj
-] [
-.B -t
-.I new_tick
-]
-.SH 解説
-.I tickadj
+.\" %Id: tickadj.8,v 1.5 1998/01/22 07:26:08 charnier Exp %
+.\"
+.Dd December 21, 1993
+.Dt TICKADJ 8
+.Os
+.Sh 名称
+.Nm tickadj
+.Nd カーネル内の時間に関連した変数をだます
+.Sh 書式
+.Nm tickadj
+.Op Fl Adkpqs
+.Op Fl a Ar new_tickadj
+.Op Fl t Ar new_tick
+.Sh 解説
+.Nm
プログラムは、動いているカーネル内のいくつかの時間を守ることに関係する
変数を
-.IR /dev/kmem
+.Pa /dev/kmem
を通して読み込んだり、変更したりします。
これらの変数は以下の通りです。
-.IR tick
+.Em tick
は、クロック割り込みによってシステム時間に加えられる時間を
マイクロ秒で表現しています。
-.IR tickadj
+.Em tickadj
は、
-.IR adjtime (2)
+.Xr adjtime 2
システムコールによって使われる時間を遅らせる率と時間の解像度を
設定しています。
-.IR dosynctodr
+.Em dosynctodr
は、あるマシン上で、
内部的にシステム時計をタイムオブデイ (time of day)
クロックと合わせる必要が有るか否かを
カーネルに示します。
-.PP
+.Pp
デフォルトでは、オプションの無い
-.I tickadj
+.Nm
は、カーネル内の興味のある変数を読み込み、それを出力します。
同時に、目的が
-.IR xntpd (8)
+.Xr xntpd 8
(ネットワークタイムプロトコルデーモン) を実行することならば、
-.I tickadj
-変数をそのための \*(L"最適な\*(R" 値に決定し、表示します。
+.Em tickadj
+変数をそのための
+.Qq 最適な
+値に決定し、表示します。
カーネルを読み込む時の
-.I tickadj
+.Nm
の操作は、
-.IR xntpd (8)
+.Xr xntpd 8
プログラムの操作と非常に似ているため、
-.IR xntpd (8)
-の問題のデバグを行うために有用です。
-.PP
+.Xr xntpd 8
+の問題のデバッグを行うために有用です。
+.Pp
実行中のカーネル内の興味ある変数を変更するためにさまざまなフラグが
指定できます。
-.B -a
-フラグは、
-.I tickadj
+.Bl -tag -width indent
+.It Fl a Ar new_tickadj
+.Em tickadj
の引数で与えられた変数を設定します。
-.B -A
-は、同様に
-.I tickadj
-を変更しますが、内部的に計算された \*(L"最適な\*(R" 値に設定することが
-異ります。
-.B -t
-フラグは、カーネルの
-.IR tick
+.It Fl A
+同様に
+.Em tickadj
+を変更しますが、内部的に計算された
+.Qq 最適な
+値に設定することが異ります。
+.It Fl d
+デバッグ情報を付加します。
+.It Fl k
+.Pa /kernel
+の代りに
+.Pa /dev/kmem
+を使用します。これがデフォルトです。
+.It Fl p
+.Nm
+に
+.Em noprintf
+変数の値を 1 に設定させます。
+.It Fl q
+.Nm
+に対し、エラー以外の報告は行わないようにさせます。
+通常
+.Nm
+は何を行っているかについて非常に冗長な報告を行います。
+.It Fl s
+.Nm
+に対し、
+.Em dosynctodr
+変数の値を 0 に設定させます。
+.Xr xntpd 8
+デーモンを SunOS 4.0 で実行する時の前提条件です。
+.It Fl t Ar new_tick
+カーネルの
+.Em tick
値をリセットするために使われます。この機能はとても変な時計を持った
機械では有効です。
-.B -s
-フラグは、プログラムに
-.I dosynctodr
-変数の値をゼロに設定するように伝えます。これは、
-.IR xntpd (8)
-デーモンを SunOS 4.0 で実行する時の前提条件です。一般に、
-.I tickadj
-は、自分が行ったことを非常に冗長に報告します。
-.B -q
-フラグは、エラー以外はなにも報告しないようにします。
-.PP
-異ったタイプの機械上で始めに使う時には、
-.I tickadj
+.El
+.Pp
+異なったタイプの機械上で始めに使う時には、
+.Nm
は、注意して動かさなければならないことに気を付けてください。
-.I tickadj
+.Nm
が行おうとする操作は、全ての UNIX マシンで動くことが保証されているわけ
ではありません。
-.SH 関連ファイル
-.nf
-/vmunix
-/unix
-(訳注: FreeBSD では /kernel です)
-.\"(訳注)原文には上記2つが記述されていたが、FreeBSDでは/kernel
-.\" であるので、変更した。
-.\" 2.2.1R 対象(1997/04/23) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
-.\" 原文の記述に戻し、訳注を追加
-.\" 2.2.2R 対象(1997/07/27) Kazuo Horikawa <horikawa@jp.freebsd.org>
-/dev/kmem
-.fi
-.SH 関連項目
-xntpd(8)
-.SH 歴史
-トロント大学の Dennis Ferguson によって書かれました。
-.SH バグ
+.Sh 関連ファイル
+.Bl -tag -width /dev/kmem -compact
+.It Pa /kernel
+.It Pa /dev/kmem
+.El
+.Sh 関連項目
+.Xr xntpd 8
+.Sh 歴史
+University of Toronto の
+.An Dennis Ferguson
+によって書かれました。
+.Sh バグ
実行時に普通の操作の一部としてカーネル変数をだますことは恐ろしい習慣です。
この恐ろしい習慣の理由は、多くのカーネルで
-.IR adjtime (8)
+.Xr adjtime 8
の実装が無いことおよび/もしくはベンダによってはカーネル内の
システム時計が壊れていることのみです。
カーネルを修正して
-.I tickadj
+.Nm
を捨てるならば、その方が良いです。
diff --git a/ja/man/man8/traceroute.8 b/ja/man/man8/traceroute.8
index 2f3feee717..42f7bdcb0b 100644
--- a/ja/man/man8/traceroute.8
+++ b/ja/man/man8/traceroute.8
@@ -1,321 +1,321 @@
.\" Copyright (c) 1989, 1995, 1996
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms are permitted
.\" provided that the above copyright notice and this paragraph are
.\" duplicated in all such forms and that any documentation,
.\" advertising materials, and other materials related to such
.\" distribution and use acknowledge that the software was developed
.\" by the University of California, Berkeley. The name of the
.\" University may not 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 MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
-.\" %Header: /home/ncvs/src/contrib/traceroute/traceroute.8,v 1.2.2.1 1998/01/09 18:51:35 steve Exp %
+.\" %Header: /home/ncvs/src/contrib/traceroute/traceroute.8,v 1.3 1998/01/09 18:46:53 steve Exp %
.\"
.\" jpman %Id: traceroute.8,v 1.2 1997/05/13 00:58:05 mutoh Stab %
.\"
.TH TRACEROUTE 8 "27 September 1996"
.UC 6
.SH 名称
traceroute \- パケットがネットワーク上のホストまでにたどる経路を表示する
.SH 書式
.. while ((op = getopt(argc, argv, "dnrvg:m:p:q:s:t:w:")) != EOF)
.na
.B traceroute
[
.B \-Sdnrv
] [
.B \-g
.I gw_host
] [
.B \-m
max_ttl
.I ]
.br
.ti +8
[
.B \-p
.I port
] [
.B \-q
.I nqueries
] [
.B \-s
.I src_addr
]
.br
.ti +8
[
.B \-t
.I tos
] [
.B \-w
.I waittime
]
.I host
[
.I packetlen
]
.ad
.SH 解説
インターネットはネットワーク機器の巨大で複雑な集合体で、
ゲートウェイによって互いに接続されています。
パケットの流れを追跡すること (あるいはパケットを破棄する悪い
ゲートウェイを見つけること) は大変難しい仕事になり得ます。
.I traceroute
は IP プロトコルの `time to live' フィールドを利用して、
あるホストまでの経路上の全てのゲートウェイから
ICMP TIME_EXCEEDED
レスポンスを引き出そうと試みます。
.PP
唯一の必須パラメータは目的地のホスト名 (IP アドレスでも可) です。
プローブパケットの長さはデフォルトで 40 バイトですが、
目的のホスト名の後にパケットサイズを (バイト単位で) 指定することによって
大きくすることもできます。
.PP
その他のオプションを以下で説明します。
.TP
.B \-S
各ホップについて、
どれだけの確認パケットに返答が無かったかのまとめを表示します。
.TP
.B \-g
粗く、ソースルーティングのためのゲートウエイを指定します。
最大 8 つ指定できます。
.TP
.B \-m
送出されるプローブパケットの最大 time-to-live (最大ホップ数) をセットします。
デフォルトは 30 ホップ (TCP と同じデフォルト値) です。
.TP
.B \-n
ゲートウェイのアドレスをホスト名と IP アドレスではなく
IP アドレスだけで表示します
(ネームサーバへの IP アドレスからホスト名への変換問い合わせを省きます)。
.TP
.B \-p
プローブに使用する UDP ポート番号 (デフォルトは 33434) の
基準値 (base) を指定します。
.I traceroute
は目的のホストにおいて、
.I base
から
.I base+nhops-1
までの UDP ポートで listen していないことを期待します
(そして ICMP PORT_UNREACHABLE
メッセージが経路追跡を終了させるために返って来ます)。
デフォルトの範囲のポートで listen されているものがある場合は、
このオプションを用いて使用されていない範囲のポートを
使用することができます。
.TP
.B \-r
通常のルーティングテーブルを使用しません。
プローブパケットを接続されているネットワーク上のホストに直接送出します。
そのホストが直接接続されたネットワーク上にない場合には
エラーが返ります。
このオプションは、
経路を持たないインタフェースを介してローカルホストに ping する場合
(たとえば、
.IR routed 8
によってインタフェースが消された後) に使用することができます。
.TP
.B \-s
送出されるプローブパケットのソースアドレス (送出するアドレス) として、
引数の IP アドレス (ホスト名ではなく、数字で指定して下さい) を用います。
複数の IP アドレスを持つホストで、
プローブパケットに別のソースアドレスを
持たせるのに使用することができます。
指定した IP アドレスが、このホストのインタフェースのアドレスのうちの
1 つでない場合、エラーが返され何も送出されません。
.TP
.B \-t
プローブパケットの
.I type-of-service
に引数の値 (デフォルトは 0) を指定します。
値は 0 から 255 までの十進数です。
.I type-of-service
の値によって、経路が異なるのかを見るために、
このオプションを使用することができます。
(telnet や ftp のような通常のネットワークサービスは、
TOS を制御することはできないので、
4.4bsd
以降のシステムでなければ、このオプションの実際的な意味はありません。)
全ての TOS の値に意味があるわけではありません。
定義については IP の詳細を参照してください。
おそらく、`\-t 16' (low delay) や `\-t 8' (high throughput) が
有益な値でしょう。
.TP
.B \-v
冗長モードです。
TIME_EXCEEDED と UNREACHABLE
以外の受信した ICMP パケットを表示します。
.TP
.B \-w
プローブパケットの応答時間 (デフォルトは 5 秒) を (秒単位で) 指定します。
.PP
このプログラムは、IP パケットが
あるホストに到達するまでにたどる経路を追跡するものです。
UDP プローブパケットを小さな ttl (time to live) で送出し、
ゲートウェイから ICMP "time exceeded" が返ってくるのを待ちます。
まず、プローブを ttl 1 から始め、(ホストに到達したことを意味する)
ICMP "port unreachable" を受け取るまで、
あるいは最大 (デフォルトは 30 ですが、 \-m フラグで変更できます)
になるまで ttl を 1 づつ増やします。
各 ttl に対して、3 個 (\-q フラグで変更可能です) のプローブが送出され、
ttl、ゲートウェイのアドレス、各プローブの往復時間を 1 行に表示します。
異なるゲートウェイからプローブが返ってきた場合は、
それぞれのシステムのアドレスを表示します。
5 秒 (\-w フラグで変更します) 以内に反応がない場合は、
各プローブに対して "*" を表示します。
.PP
目的のホストのポートが不適当な値に設定されているために、
UDP プローブパケットが処理されてしまうことを我々は望みません。
(目的のホストがその値を使用している場合、\-p フラグで
変更することができます。)
.PP
使用と出力の例 :
.RS
.nf
[yak 71]% traceroute nis.nsf.net.
traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 38 byte packet
1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms
5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms
6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms
7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms
8 129.140.70.13 (129.140.70.13) 99 ms 99 ms 80 ms
9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms
10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms
11 nic.merit.edu (35.1.1.48) 239 ms 239 ms 239 ms
.fi
.RE
2 行目と 3 行目が同じであることに注意して下さい。
これは、2番目のシステム \- lbl-csam.arpa \- が、
ttl 0 のパケットを転送するという (4.3BSD に含まれる) バグを
持ったカーネルであることによるものです。
また、NSFNet (129.140) はアドレスをホスト名に変換してくれないので、
パケットがどの経路をたどったのかを
推測する必要があることに注意して下さい。
.PP
もっと興味深い例 :
.RS
.nf
[yak 72]% traceroute allspice.lcs.mit.edu.
traceroute to allspice.lcs.mit.edu (18.26.0.115), 30 hops max
1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 19 ms 19 ms
3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 19 ms 39 ms 39 ms
5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 20 ms 39 ms 39 ms
6 128.32.197.4 (128.32.197.4) 59 ms 119 ms 39 ms
7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 39 ms
8 129.140.70.13 (129.140.70.13) 80 ms 79 ms 99 ms
9 129.140.71.6 (129.140.71.6) 139 ms 139 ms 159 ms
10 129.140.81.7 (129.140.81.7) 199 ms 180 ms 300 ms
11 129.140.72.17 (129.140.72.17) 300 ms 239 ms 239 ms
12 * * *
13 128.121.54.72 (128.121.54.72) 259 ms 499 ms 279 ms
14 * * *
15 * * *
16 * * *
17 * * *
18 ALLSPICE.LCS.MIT.EDU (18.26.0.115) 339 ms 279 ms 279 ms
.fi
.RE
l2, 14, 15, 16, 17 番目のゲートウェイが
ICMP "time exceeded" メッセージを送出していないか、
あるいは送出された ICMP "time exceeded" メッセージの ttl が小さいために、
こちらに到達しないのでしょう。
14 から 17 番目のホストでは、"time exceeded" を送出しない
MIT C Gateway コードが稼動しています。
12 番目で何が起こっているのかは、神のみぞ知るところです。
.PP
上記の 12 番目のゲートウェイが反応しないのは、4.[23] BSD
ネットワークコード (かその派生プログラム) のバグのせいでしょう。
4.x (x <= 3)では、元のデータグラムに残っている ttl がどんな値であっても、
それを用いて unreachable メッセージを送出します。
よって、ゲートウェイに対して残っている ttlは 0 なので、
ICMP "time exceeded" が戻ってこないことが保証されます。
このバグが目的のシステム上であらわれた場合、
さらにもう少し興味深いものとなります。
.RS
.nf
1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms
3 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 39 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms
5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms
6 csgw.Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 rip.Berkeley.EDU (128.32.131.22) 59 ms ! 39 ms ! 39 ms !
.fi
.RE
12 のゲートウェイ (13 番目は最終目的のホストです) があり、
ちょうど半分のゲートウェイが失敗しています。
これは、rip (Sun OS3.5 の稼働している Sun-3) が、
到着したデータグラムの ttl を ICMP 応答の ttl としてそのまま使用すること
によるものです。
経路の長さの少なくとも 2 倍の ttl のプローブが送出されるまで、(
ICMP に対して ICMP は送出されないので、誰にも気付かれずに)
帰りの経路上で応答がタイムアウトします。
すなわち、実際には rip までに 7 ホップしかありません。
ttlが 1 の応答は、問題解決の糸口になります。
ttlが 1 以下の場合、
.I traceroute
は時間の後に "!" を表示します。
ベンダーは旧式の (DEC の Ultrix、Sun 3.x) あるいは標準でない
(HPUX) ソフトウェアを多く使用しているので、
しばしばこの問題が起こることを承知して、
プローブの目標のホストは注意して選んでください。
時間の後に付くその他の注釈には、
.BR !H ,
.BR !N ,
.BR !P
(それぞれホスト、ネットワーク、プロトコルに到達不能というメッセージを
受け取った) や、
.BR !S ,
.BR !F
(ソースルーティングに失敗とフラグメンテーションが必要) や、
.B !X
(管理上、通信が禁止されている) や、
.B !<N>
(ICMP は コード N では到達できない) があります。
ほとんど全てのプローブが到達不能であれば、
.I traceroute
は送出を止め終了します。
.PP
このコマンドはネットワークの検査、測定、管理のために使用するものです。
本来は手動で障害を切り離すために使用されるべきものです。
ネットワークにかかる負荷が大きいので、
.I traceroute
を通常の操作や自動的なスクリプトで使用することは愚かなことです。
.SH 関連項目
netstat(1), ping(8)
.SH 作者
Steve Deering の提案に基づき Van Jacobson によって実装されました。
デバッグは何千もの人々、特に C.Philip Wood、 Tim Seaver と Ken Adelman
による説得力のある提案と修正によって行なわれました。
.LP
現在のバージョンは匿名 ftp を使って以下のところから入手できます。
.LP
.RS
.I ftp://ftp.ee.lbl.gov/traceroute.tar.Z
.RE
.SH バグ
バグレポートは、traceroute@ee.lbl.gov に送ってください。
diff --git a/ja/man/man8/tunefs.8 b/ja/man/man8/tunefs.8
index 150e5503aa..1d99b2b058 100644
--- a/ja/man/man8/tunefs.8
+++ b/ja/man/man8/tunefs.8
@@ -1,147 +1,152 @@
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)tunefs.8 8.2 (Berkeley) 12/11/93
+.\" %Id: tunefs.8,v 1.7 1998/08/03 06:41:20 charnier Exp %
.\" jpman %Id: tunefs.8,v 1.3 1997/07/26 22:16:10 horikawa Stab %
.\"
.Dd December 11, 1993
.Dt TUNEFS 8
.Os BSD 4.2
.Sh 名称
.Nm tunefs
.Nd 既存のファイルシステムをチューンする
.Sh 書式
.Nm tunefs
.Op Fl A
.Op Fl a Ar maxcontig
.Op Fl d Ar rotdelay
.Op Fl e Ar maxbpg
.Op Fl m Ar minfree
.Op Fl p
.Bk -words
+.Op Fl n Ar enable | disable
.Op Fl o Ar optimize_preference
.Ek
-.Op Ar special | Ar filesys
+.Op Ar special | Ar filesystem
.Sh 解説
.Nm tunefs
は、ファイルシステムのレイアウト方針に影響する動的なパラメータを
変更するために使います。変更するパラメータは以下のフラグで指定します:
-.Bl -tag -width Ds
+.Bl -tag -width indent
.It Fl A
ファイルシステムはスーパブロックのバックアップをいくつか持っています。
このオプションを指定すると、全てのバックアップの内容は
プライマリスーパブロックと同じく変更されます。
これはかなりの危険を秘めています。実行する時は気をつけて下さい。
.It Fl a Ar maxcontig
回転遅延 (
.Fl d
を参照) が強制的に行われる前に連続して配置されるブロック数を指定します。
ほとんどのデバイスドライバはディスク転送のたびに割り込みが必要なので、
デフォルト値は 1 です。
一度の転送でいくつかのバッファをつないで転送できるデバイスドライバでは、
この値を最大の連結長にすべきです。
.It Fl d Ar rotdelay
同じディスクに対する転送完了割り込みサービスと
次の転送を開始する時間の期待値をミリ秒単位で指定します。
この値は、回転遅延によるファイル中のブロック間隔を決めるのに使います。
.It Fl e Ar maxbpg
単一のファイルが他のシリンダグループへまたがる前に、1 つのシリンダグループ
から割り当てることのできる最大のブロック数を指定します。
普通は、この値にはシリンダグループのブロック数の約 1/4 が使われます。
この値は、単一のファイルが 1 つのシリンダグループのブロックを使いつくして
しまうことを防ぐために指定します。
なぜなら、これによって、そのシリンダグループに続いて配置される
すべてのファイルのアクセス速度を低下させてしまうからです。
この制限によって、大きなファイルに対しては 1 つのシリンダに配置するよりも、
長いシークをより頻繁に行わせることがあります。
極端に大きなファイルのあるファイルシステムに対しては、
このパラメータは大きな値にすべきです。
.It Fl m Ar minfree
一般ユーザが利用することができない領域の割合を指定します。
これは最低限の空き領域のしきい値となります。
デフォルト値は 8% です。
この値はゼロにすることもできますが、10% のしきい値を設けた場合と比較し、
アクセスの効率が最大 3 倍まで落ちてしまいます。
5% 以下にすると常に最適化は space 優先になってしまい、
ファイル書き込みのオーバーヘッドがかなり増えます。
もしこの値を現在の空き領域より大きな値に引き上げると、
ファイルを削除してその値を満たすだけの空き領域を用意するまで、
ユーザはファイルを作成することができなくなります。
+.It Fl n Ar enable | disable
+ソフトアップデートをオン/オフします。
+ファイルシステムのアンマウントが必要です。
.It Fl o Ar optimize_preference
ファイルシステムの最適化において、
ブロック割り当てにかかる時間を最小化するか、
もしくはディスク上のフラグメントサイズを最小にするかの
いずれかを選択できます。
space 優先の場合、
ファイル書き込みのオーバヘッドは大きくなります。
カーネルは通常、
ファイルシステムのフラグメントの割合に応じて自動的に優先を変化させます。
.It Fl p
このオプションは、
指定されたファイルシステムにおいて現在変更可能な設定のまとめを表示します。
詳細は
.Xr dumpfs 8
のマニュアルを参照してください。
.El
.Sh 関連項目
.Xr fs 5 ,
.Xr dumpfs 8 ,
.Xr newfs 8
.Rs
.%A M. McKusick
.%A W. Joy
.%A S. Leffler
.%A R. Fabry
.%T "A Fast File System for UNIX"
.%J "ACM Transactions on Computer Systems 2"
.%N 3
.%P pp 181-197
.%D August 1984
.%O "(reprinted in the BSD System Manager's Manual, SMM:5)"
.Re
.Sh バグ
このプログラムは、
マウントされているファイルシステムに対しても動作すべきです。
スーパブロックはバッファキャッシュ内に保存されていないため、
実行の影響は、それをマウントされていないファイルシステムに
対して実行したときのみ現れます。
ルートファイルシステムをチューンするには、チューン後に再起動する必要が
あります。
.\" Take this out and a Unix Demon will dog your steps from now until
.\" the time_t's wrap around.
.Pp
ファイルシステムをチューンする事はできても、ファイルの中身まではチュー
ンできません:-)
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja/man/man8/tzsetup.8 b/ja/man/man8/tzsetup.8
index 9b922bc6bf..ff6a0bbadb 100644
--- a/ja/man/man8/tzsetup.8
+++ b/ja/man/man8/tzsetup.8
@@ -1,76 +1,76 @@
.\" Copyright (c) 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: tzsetup.8,v 1.3.2.3 1998/03/09 14:46:17 jkh Exp %
+.\" %Id: tzsetup.8,v 1.8 1997/10/27 07:49:45 charnier Exp %
.\" jpman %Id: tzsetup.8,v 1.3 1997/07/22 17:04:38 horikawa Stab %
.Dd January 1996
.Dt TZSETUP 8
.Os FreeBSD
.Sh 名称
.Nm tzsetup
.Nd ローカルタイムゾーンを設定する
.Sh 書式
.Nm tzsetup
.Op Fl n
.Sh 解説
.Nm
は、メニューによるローカルタイムゾーンの設定を行うためのプログラムです。
もっとも良くあなたの場所を表現している大陸と (例えば、あなたの首都の様な)
都市を選びます。すると
.Nm
が全ての仕事を行ってくれます。
.Pp
以下のオプションが使用可能です:
.Bl -tag -width indent
.It Fl n
実際には何も行わない。
.El
.Sh バグ
変更が効果を持つためには、機械をリブートする必要があります。
.Sh 関連ファイル
.Bl -tag -width /etc/wall_cmos_clock -compact
.It Pa /etc/localtime
現在のタイムゾーンのファイル
.It Pa /usr/share/zoneinfo
ゾーン情報ファイルのためのディレクトリ
.It Pa /etc/wall_cmos_clock
.Xr adjkerntz 8
を見てください。
.El
.Sh 関連項目
.Xr date 1 ,
.Xr adjtime 2 ,
.Xr ctime 3 ,
.Xr timezone 3 ,
.Xr tzfile 5 ,
.Xr adjkerntz 8 ,
.Xr zdump 8 ,
.Xr zic 8
diff --git a/ja/man/man8/umount.8 b/ja/man/man8/umount.8
index c83adfdf47..6468245af4 100644
--- a/ja/man/man8/umount.8
+++ b/ja/man/man8/umount.8
@@ -1,145 +1,151 @@
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)umount.8 8.1 (Berkeley) 2/20/94
+.\" @(#)umount.8 8.2 (Berkeley) 5/8/95
+.\" %Id: umount.8,v 1.5 1998/08/03 06:44:46 charnier Exp %
.\" jpman %Id: umount.8,v 1.3 1997/07/22 17:06:06 horikawa Stab %
.\"
.Dd February 20, 1994
.Dt UMOUNT 8
.Os BSD 4
.Sh 名称
.Nm umount
.Nd ファイルシステムのアンマウント
.Sh 書式
.Nm umount
.Op Fl fv
-.Ar special | node
+.Ar special \&| node
.Nm umount
-.Fl a
+.Fl a | A
.Op Fl fv
.Op Fl h Ar host
-.Op Fl t Ar ufs | lfs | external_type
+.Op Fl t Ar type
.Sh 解説
-.Nm umount
+.Nm
コマンドは、
.Ar "スペシャルデバイス (special device)"
もしくはリモートのノード (rhost:path) をファイルシステムツリーの
.Ar node
の位置から除去するために、
.Xr unmount 2
システムコールを呼び出します。
.Ar special
.Ar node
のどちらか一方が指定されなかった時は、適当な情報が
.Xr fstab 5
ファイルから入手されます。
.Pp
以下のようなオプションがあります。
.Bl -tag -width indent
.It Fl a
.Xr fstab 5
に記述されている全てのファイルシステムをアンマウントします。
+.It Fl A
+ルート以外で現在マウントされているファイルシステムをすべて
+アンマウントします。
.It Fl f
ファイルシステムを強制的にアンマウントします。
利用されているスペシャルデバイスは使い続けようとしますが、
更にアクセスしようとすると、全てのファイルはエラーを返します。
ルートファイルシステムは強制的にアンマウントすることはできません。
.It Fl h Ar host
指定されたホストからマウントしているファイルシステムだけをアンマウント
します。
このオプションは
-.Fl a
+.Fl A
オプションを暗黙に指定し、
.Fl t
-オプションで他のものを指定しなければ、NFS ファイルシステムだけを
+オプションで他のものを指定しなければ、
+.Tn NFS
+ファイルシステムだけを
アンマウントします。
-.It Fl t Ar "ufs \\*(Ba lfs \\*(Ba external type"
+.It Fl t Ar type
指定されたタイプのファイルシステムだけを扱うように指示します。
1 つ以上のタイプは、コンマ (``,'') で分けたリストで指定します。
ファイルシステム形式のリストは、
前に
.Dq no
を付けることで、その動作をそのファイルシステムに付いては行わない様に
指定することもできます。
例えば、
-.Nm umount
+.Nm
コマンド
.Bd -literal -offset indent
umount -a -t nfs,mfs
.Ed
.Pp
は、ファイルシステムのタイプが
.Tn NFS
.Tn MFS
である全てのファイルをアンマウントします。
.It Fl v
冗長モードです。アンマウントされる各ファイルシステムの追加情報が
出力されます。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
ファイルシステムテーブル
.El
.Sh 関連項目
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh バグ
union ファイルシステムを使っている時は、
.Xr umount 8
は、常にマウントポイントであるノードを決定することができません。
この場合、アンマウントするために
.Xr mount 8
で表示されるのと同じ形式で適切なディレクトリを指定してやる必要が
あります。
例えば、マウントエントリが以下のような場合、
.Bd -literal -offset indent
<above>/tmpdir on /cdrom (local, user mount)
.Ed
.Pp
アンマウントのためのコマンドは、
.Bd -literal -offset indent
umount '<above>/tmpdir'
.Ed
.Pp
となります。ここで、
.Ar /tmpdir
は、マウントポイント
.Ar /cdrom
からアンマウントされます。
.Sh 歴史
-.Nm umount
+.Nm
コマンドは
.At v6
から導入されました。
diff --git a/ja/man/man8/uuchk.8 b/ja/man/man8/uuchk.8
index 86f24d1934..4dd88374c3 100644
--- a/ja/man/man8/uuchk.8
+++ b/ja/man/man8/uuchk.8
@@ -1,42 +1,42 @@
-''' %Id: uuchk.8,v 1.1.2.1 1998/03/09 11:13:33 jkh Exp %
+''' %Id: uuchk.8,v 1.2 1998/03/09 11:13:17 jkh Exp %
.TH uuchk 1 "Taylor UUCP 1.06"
.SH 名称
uuchk \- UUCP の設定から得た情報を表示する
.SH 書式
.B uuchk
[-s system] [standard UUCP options]
.SH 解説
.B uuchk
プログラムは UUCP 設定ファイルを読み込み、
どんなことが書かれていたかをどちらかというと長めの表現で表示します。
UUCP の設定を行っているときに、
UUCP パッケージがあなたの期待通りに動作することを確認するために使用すると
便利です。
.SH オプション
以下のオプションを
.B uuchk
に与えることが可能です:
.TP 5
.B \-s, \-\-system
全システムではなく、指定したシステムに関する情報のみを表示します。
.B uuchk
プログラムは、標準の UUCP プログラムのオプションもサポートします。
.TP 5
.B \-x type
.TP 5
.B \-\-debug type
.TP 5
.B \-I file
.TP 5
.B \-\-config file
.TP 5
.B \-v, \-\-version
.TP 5
.B \-\-help
標準の UUCP オプション。
.SH 関連項目
uucp(1)
.SH 作者
Ian Lance Taylor (ian@airs.com).
このマニュアルページは Taylor UUCP 1.06 の Texinfo 文書に基いています。
diff --git a/ja/man/man8/uucico.8 b/ja/man/man8/uucico.8
index af53f98902..fa4fdaf5e4 100644
--- a/ja/man/man8/uucico.8
+++ b/ja/man/man8/uucico.8
@@ -1,290 +1,290 @@
-''' %Id: uucico.8,v 1.5 1995/08/19 21:29:57 ache Exp %
+''' %Id: uucico.8,v 1.7 1997/02/22 15:28:33 peter Exp %
.\" jpman %Id: uucico.8,v 1.3 1997/09/07 14:14:55 horikawa Stab %
.TH uucico 8 "Taylor UUCP 1.06"
.SH 名称
uucico \- UUCP ファイル転送デーモン
.SH 書式
.B uucico
[ options ]
.SH 解説
.I uucico
デーモンは、
.I uucp
(1) および
.I uux
(1) によってキューに蓄積されたファイル転送リクエストの処理をします。
.I uucico
は、(
.B \-r
オプションなしに)
.I uucp
あるいは
.I uux
が実行された時に実行を始めます。
また、典型的な方法として、
.I crontab
テーブルを用いて定期的に実行されます。
.B \-r1,
.B \-\-master,
.B \-s,
.B \-\-system
あるいは
.B \-S
オプションとともに起動された場合、デーモンはリモートシステムを呼び出し、
マスタモードで動作します。それ以外の場合は、デーモンはスレーブモードで
動作し、リモートシステムからの呼び出しを受け付けます。典型的な方法として、
UUCP 用の特別なログイン名が準備され、呼び出しを受けると
.I uucico
を自動的に起動するように設定されます。
.I uucico
が終了すると、
.B \-q
あるいは
.B \-\-nouuxqt
が指定されていなければ、
.I uuxqt
(8) デーモンを起動します。
.I uuxqt
(8) は、リモートシステムの
.I uux
(1) によって作成された作業を実行し、また、待機していたリモートファイルの
受信によりローカルに作成された作業を実行します。
呼び出しが失敗すると、
.I uucico
は、ある(設定可能な)時間が経過するまで、再呼び出しを拒否します。
この動作は、
.B -f,
.B --force
あるいは
.B -S
オプションにより無効にする事ができます。
.B \-l,
.B \-\-prompt,
.B \-e
あるいは
.B \-\-loop
オプションを使用する事で、
.I uucico
に独自の "login:" および "Password:" プロンプトを生成させる事ができます。
他のデーモンが呼び出して来た場合、このプロンプトを見て、通常通りに
ログインする事ができます。この場合、ログイン名およびパスワードは
.I /etc/passwd
ファイルではなく、
.I uucico
専用に準備されたリストによりチェックされます。一部のシステムでは、
.I uucico
.I /etc/passwd
ファイルを用いるようにする事も可能です。
.B \-l
あるいは
.B \--prompt
オプションを用いると、プロンプトを一回だけ生成し、そのセッションが
終了するとプロセスも終了します。
このモードでは、UUCP 管理者あるいはスーパユーザは
.B \-u
あるいは
.B \--login
オプションを用いてログイン名を指定する事ができます。この時、
.I uucico
は "login:" プロンプトを生成しません。
.B \-e
あるいは
.B \--loop
オプションを用いると、最初のセッションが終了すると再びプロンプトを生成
します。このモードでは、
.I uucico
は、ポートを永久的に制御します。
.I uucico
が SIGQUIT、SIGTERM あるいは SIGPIPE シグナルを受け取ると、
現在のリモートシステムとのやり取りを中断し、終了します。
.I uucico
が SIGHUP シグナルを受け取ると、現在のやり取りを中断しますが、
.B \-r1
あるいは
.B \-\-master
により起動された場合は、呼び出しを継続し、
.B \-e
あるいは
.B \-\-loop
により起動された場合は、他のシステムからの呼び出しを受け付けます。
.I uucico
が SIGINT シグナルを受け取った場合、現在のやり取りを終了し、
それ以上の呼び出しや受付を行いません。
.SH オプション
以下のオプションが
.I uucico
で使用可能です。
.TP 5
.B \-r1, \-\-master
マスタモードで動作します(他のシステムを呼び出します)。
.B \-s,
.B \-\-system
あるいは
.B \-S
が指定されていれば、このオプションが指定されたと見なされます。
システムが指定されていなければ、待機中の作業がある全てのシステムを呼び出します。
.TP 5
.B \-r0, \-\-slave
スレーブモードで動作します。デフォルトはこの設定です。
.TP 5
.B \-s system, \-\-system system
指定されたシステムを呼び出します。
.TP 5
.B \-S system
必要な待ち時間を無視して、指定されたシステムを呼び出します。
.B \-s system \-f
と等価です。
.TP 5
.B \-f, \-\-force
呼び出しに際して、必要な待ち時間を無視します。
.TP 5
.B \-l, \-\-prompt
"login:" と "Password:" を表示してログイン名とパスワードの入力を
要求します。このオプションにより、
.I uucico
.I inetd
(8) から起動することを容易にします。ログイン名およびパスワードは
UUCP パスワードファイルによりチェックされ、通常このファイルは
.I /etc/passwd
ファイルとは関連していません。
.B \-\-login
オプションを用いてログイン名を指定する事ができます。この時、
.I uucico
は、パスワードの入力のみを要求します。
.TP 5
.B \-p port, \-\-port port
呼び出しあるいは待ち受けに使用するポートを指定します。
.TP 5
.B \-e, \-\-loop
ログイン/パスワードの要求とスレーブモードデーモンでの実行の無限ループ
に入ります。プログラムは自分自身では終了しないので、終了させるためには
.I kill
(1) を使用する必要があります。
.TP 5
.B \-w, \-\-wait
(
.B \-s,
.B \-\-system
あるいは
.B \-S
が指定されていればそのシステムへの、単に
.B \-r1
あるいは
.B \-\-master
が指定されていれば作業がある全てのシステムへの)呼び出しが終了すると、
.B \-\-loop
が指定された場合同様、無限ループに入ります。
.TP 5
.B \-q, \-\-nouuxqt
終了後に、
.I uuxqt
(8) デーモンの実行をしません。
.TP 5
.B \-c, \-\-quiet
その時間に全ての呼び出しが禁止されていた場合、呼び出しは行わず、
ログファイルにエラーメッセージも記録せず、
.I uustat
(1) で報告されるシステム状況も更新しません。
このオプションは、どのシステムが現在呼び出し可能であるかを気にせずに
全てのシステムへの呼び出しを試すような、自動ポーリングスクリプトから
使用する場合に便利でしょう。さらに、このオプションを使用すると、
作業が何もない事の記録も行いません。
.TP 5
.B \-C, \-\-ifwork
.B \-s,
.B \-\-system
あるいは
.B \-S
で指定されたシステムに対する作業がある場合のみ呼び出しを行います。
.TP 5
.B \-D, \-\-nodetach
制御端末の切り離しを行いません。通常、
.I uucico
は他のシステムの呼び出しや
.I uuxqt
の実行に先立ち、端末を切り離します。
このオプションはこの動作を防ぎます。
.TP 5
.B \-u name, \-\-login name
起動したユーザのログイン名の代わりに使用するログイン名を指定します。
このオプションは UUCP 管理者あるいはスーパユーザのみが使用できます。
.B \-\-prompt
とともに使用した場合、
.I uucico
は、ログイン名の入力待ちはせず、パスワードの入力だけを待ちます。
.TP 5
.B \-z, \-\-try-next
リモートシステムに接続したあとに呼び出しが失敗した場合、
単に終了するのではなく、次の選択肢を試行します。
.TP 5
.B \-i type, \-\-stdin type
標準入力を使用する場合のポートのタイプを指定します。サポートされる
唯一のタイプは TLI で、TLI ネットワークインタフェースをサポートしている
マシンでしか使用する事ができません。
.B \-iTLI
を指定すると、
.I uucico
は、入出力を行う時に TLI 呼び出しを使用します。
.TP 5
.B \-x type, \-X type, \-\-debug type
特定のデバッグタイプを指定します。タイプとしては、
abnormal, chat, handshake, uucp-proto, proto, port,
config, spooldir, execute, incoming, outgoing があります。
コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
.B \-\-debug
オプションは、1回のコマンド起動で複数回指定可能です。また、タイプとして
数字を指定することも可能です。
例えば、
.B \-\-debug 2
は、
.B \-\-debug abnormal,chat
と同じ意味です。
デバッグ出力は、デバッグファイルに記録されます。通常、デバッグファイルは、
/var/spool/uucp/Debug, /usr/spool/uucp/DEBUG,
/usr/spool/uucp/.Admin/audit.local のいずれかです。
.TP 5
.B \-I file, \-\-config file
使用する初期設定ファイルの指定を行います。
ただし、本オプションが使用可能かどうかは、
.I uucico
がどのようにコンパイルされたかによります。
.TP 5
.B \-v, \-\-version
バージョンを表示し、終了します。
.TP 5
.B \-\-help
ヘルプを表示し、終了します。
.SH 関連ファイル
関連ファイル名は、コンパイル時の指定ないしは初期設定ファイルにより
変化します。以下に挙げるものは、その一例です。
.br
/etc/uucp/config - 初期設定ファイル
.br
/etc/uucp/passwd - デフォルトの UUCP パスワードファイル
.br
/var/spool/uucp -
UUCP スプールディレクトリ
.br
/var/spool/uucp/Log -
UUCP ログファイル
.br
/var/spool/uucppublic -
デフォルトの UUCP パブリックディレクトリ
.br
/var/spool/uucp/Debug -
デバッグファイル
.SH 関連項目
kill(1), uucp(1), uux(1), uustat(1), uuxqt(8)
.SH 作者
Ian Lance Taylor
<ian@airs.com>
diff --git a/ja/man/man8/uucpd.8 b/ja/man/man8/uucpd.8
index f3df3ad855..ef1a2f24d3 100644
--- a/ja/man/man8/uucpd.8
+++ b/ja/man/man8/uucpd.8
@@ -1,68 +1,68 @@
.\" Copyright (c) 1983, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)rshd.8 8.1 (Berkeley) 6/4/93
-.\" %Id: uucpd.8,v 1.2.2.2 1998/03/06 01:48:36 jkh Exp %
+.\" %Id: uucpd.8,v 1.6 1997/12/04 07:20:42 charnier Exp %
.\"
.\" jpman %Id: uucpd.8,v 1.3 1997/09/04 16:43:12 horikawa Stab %
.Dd Feb 18, 1996
.Dt UUCPD 8
.Os BSD 4.4
.Sh 名称
.Nm uucpd
.Nd uucp ネットワークサーバ
.Sh 書式
.Nm /usr/libexec/uucpd
.Sh 解説
.Nm
は、ネットワーク経由での uucp 接続をサポートするサーバです。
.Nm
は、``uucp'' サービスとして定められたポート(
.Xr services 5
参照)を監視し、リクエストが来るのを待ちます。
サーバは、ログイン名とパスワードによる認証を行った後、実際の転送を行う
.Nm uucico
を起動します。
.Sh 関連項目
.Xr inetd.conf 5 ,
.Xr services 5 ,
.Xr inetd 8 ,
.Xr uucico 8
.Sh 関連ファイル
.Bl -tag -width /etc/hosts -compact
.It Pa /etc/services
.It Pa /etc/inetd.conf
.El
.Sh 歴史
.Nm
ユーティリティは、
.Bx 4.3
から登場しました。
diff --git a/ja/man/man8/uuxqt.8 b/ja/man/man8/uuxqt.8
index 4711998b7a..5e11a1ff04 100644
--- a/ja/man/man8/uuxqt.8
+++ b/ja/man/man8/uuxqt.8
@@ -1,113 +1,113 @@
-''' %Id: uuxqt.8,v 1.4 1995/08/19 21:30:28 ache Exp %
+''' %Id: uuxqt.8,v 1.6 1997/02/22 15:28:58 peter Exp %
.\" jpman %Id: uuxqt.8,v 1.2 1997/03/31 15:01:29 horikawa Stab %
.TH uuxqt 8 "Taylor UUCP 1.05"
.SH 名称
uuxqt \- UUCP 実行デーモン
.SH 書式
.B uuxqt
[ options ]
.SH 解説
.B uuxqt
デーモンは、ローカルもしくはリモートシステムの
.I uux
(1) によって要求されたコマンドを実行します。このデーモンは
.I uucico
(8) によって自動的に実行開始されます。ただし、
.I uucico
(8) デーモンが
.B \-q
オプションか
.B \-\-nouuxqt
オプションを付加して実行された場合にはこの限りではありません。
通常は、
.I uucico
(8) から本コマンドを起動するため、本コマンドをユーザが直接実行する
必要はありません。しかし、処理キューの処理について、なんらかの融通を
きかせたい場合に本コマンドは有効です。
.I uuxqt
の複数同時起動については、初期化コマンドの
.I max-uuxqt
を用いることによって
同時起動最大数を制御することが出来ます。
.SH オプション
以下のオプションが
.B uuxqt
で使用可能です。
.TP 5
.B \-c command, \-\-command command
引数
.I command
で指定したコマンドの要求のみを実行します。例:
.br
.in +0.5i
.nf
uuxqt --command rmail
.fi
.in -0.5i
.TP 5
.B \-s system, \-\-system system
指定したシステムからの要求のみを実行します。
.TP 5
.B \-x type, \-\-debug type
特定のデバッグタイプを有効にします。デバッグタイプとしては、
abnormal, chat, handshake, uucp-proto, proto, port,
config, spooldir, execute, incoming, outgoing が有効です。
なお、
.I uuxqt
自体に意味のあるデバッグタイプは
abnormal, config, spooldir, execute
の 4 つだけです。
デバッグタイプに関しては、コンマで区切ることで複数指定が可能になります。
.B \-\-debug
によるデバッグタイプ指定は、
1 つのコマンドライン中に複数存在してもかまいません。
数字による指定を行なうと、先述のリスト中、先頭から指定した番号までの
デバッグタイプが有効になります。例えば、
.B \-\-debug 2
と指定した場合は、
.B \-\-debug abnormal,chat
と指定したのと同じです。
デバッグ出力は、デバッグファイルに記録されます。デバッグファイルは、通常は、
/var/spool/uucp/Debug, /var/spool/uucp/DEBUG,
/var/spool/uucp/.Admin/audit.local
のいずれかです。
.TP 5
.B \-I file, \-\-config
使用する設定ファイルを指定します。しかし
このオプションが利用できるかできないかは
.I uuxqt
をどのようにコンパイルしたかに依存します。
.TP 5
.B \-v, \-\-version
バージョン情報を表示して終了します。
.TP 5
.B \-\-help
ヘルプメッセージを表示して終了します。
.SH 関連ファイル
ファイル名は、コンパイル時もしくは
設定ファイルによって変更可能です。
したがって、これは目安だと思って下さい。
.br
/etc/uucp/config - 設定ファイル。
.br
/var/spool/uucp -
UUCP スプールディレクトリ。
.br
/var/spool/uucp/Log -
UUCP ログ記録ファイル。
.br
/var/spool/uucppublic -
デフォルト時の UUCP パブリックディレクトリ。
.br
/var/spool/uucp/Debug -
デバッグ情報ファイル。
.SH 関連項目
uucp(1), uux(1), uucico(8)
.SH 作者
Ian Lance Taylor
(ian@airs.com)
diff --git a/ja/man/man8/vmstat.8 b/ja/man/man8/vmstat.8
index ec0381e9c8..b124a09b98 100644
--- a/ja/man/man8/vmstat.8
+++ b/ja/man/man8/vmstat.8
@@ -1,215 +1,217 @@
.\" Copyright (c) 1986, 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.
.\"
.\" @(#)vmstat.8 8.1 (Berkeley) 6/6/93
+.\" %Id: vmstat.8,v 1.9 1997/08/25 06:40:05 charnier Exp %
.\" jpman %Id: vmstat.8,v 1.2 1997/05/29 07:57:00 yugawa Stab %
.\"
.Dd June 6, 1996
.Dt VMSTAT 8
.Os BSD 4
.Sh 名称
.Nm vmstat
.Nd 仮想メモリの統計情報を報告する
.Sh 書式
.Nm vmstat
.\" .Op Fl fimst
.Op Fl ims
.Op Fl c Ar count
.Op Fl M Ar core
.Op Fl N Ar system
.Op Fl w Ar wait
.Op Ar disks
.Sh 解説
.Nm
は、プロセス、仮想メモリ、ディスク、トラップ、CPU の活動状況
などについてカーネルが持っている統計情報を報告します。
.Pp
オプション:
.Bl -tag -width indent
.It Fl c
表示を
.Ar count
回繰り返します。
最初の表示はリブート時からの統計で、
その後の表示は直前の表示から現在までの間の統計です。
.Ar wait
間隔を指定しないと、デフォルトは 1 秒となります。
.\" .It Fl f
.\" システムが起動してからの
.\" .Xr fork 2
.\" と
.\" .Xr vfork 2
.\" システムコールの回数と、それぞれのシステムコールで使われた
.\" 仮想メモリのページ数を表示します。
.It Fl i
システムが起動してから各デバイスで起こった割り込みの回数を表示します。
.It Fl M
名前に関するリストから値を取り出す際に、デフォルトの
.Pa /dev/kmem
の代わりに指定された
.Ar core
を使います。
.It Fl N
名前のリストを取り出す際に、デフォルトの
.Pa /kernel
の代わりに指定された
.Ar system
を使います。
.It Fl m
カーネルの動的メモリの利用状況について、確保したサイズ、利用のタイプの
順で一覧にして表示します。
.It Fl s
.Em sum
構造体の内容を表示し、システムが起動してから起こったいくつかの
種類のページング関連のイベントの合計を報告します。
.\" .It Fl t
.\" システムが起動してからのページインと際利用されたページ数、
.\" それぞれが要求した時間の合計を表示します。
.It Fl w
各表示の間で、
.Ar wait
秒ポーズします。
繰り返し回数
.Ar count
を指定していなければ、デフォルトでは無限に繰り返します。
.El
.Pp
デフォルトでは、
.Nm
は以下の情報を表示します。
.Pp
.Bl -tag -width indent
.It procs
以下の各状態でのプロセス数に関する情報
.Pp
.Bl -tag -width indent -compact
.It r
実行待ち行列にある状態
.It b
リソース確保 (i/o やページングなど) のためにブロックされている状態
.It w
実行可能または短期間のスリープ中 (20 秒以内) であるが、スワップされている状態
.El
.It memory
仮想メモリと実メモリの使用状況に関する情報を表示します。
実行中または最近 20 秒間で実行されたプロセスに属する仮想ページ
(1024 バイト単位で表示される) は、アクティブであるとみなします。
.Pp
.Bl -tag -width indent -compact
.It avm
アクティブな仮想ページ
.It fre
フリーリストのサイズ
.El
.It page
ページフォルトとページングの活動状況に関する情報を表示します。
これらは 5 秒間の平均として、秒単位で表示します。
.Pp
.Bl -tag -width indent -compact
.It flt
ページフォルトの総数
.It re
要求されたページ数 (参照ビットをシミュレート)
.\" .It at
.\" アタッチされたページ数(フリーリストの中から見つけ出されたもの)
.It pi
ページインされたページ数
.It po
ページアウトされたページ数
.It fr
秒単位の開放されたページ数
.\" .It de
.\" 予期される短期的なメモリ不足
.It sr
クロックアルゴリズムによってスキャンされたページ数 (秒単位)
.El
.It disks
秒単位のディスク操作に関する情報 (このフィールドはシステム依存です)。
通常、ページングは使用可能なドライブにまたがって分割されます。
このフィールドのヘッダは、ディスク名の最初の文字とユニット番号です。
システムが 4 つ以上のディスクドライブを扱うように設定されている場合、
.Nm
は最初の 4 つのドライブしか表示しません。
.Nm
で特定のドライブを表示するには、コマンド行でドライブ名を指定します。
.It faults
最近 5 秒間のトラップ/割り込みの平均レート (秒単位)。
.Pp
.Bl -tag -width indent -compact
.It in
デバイス割り込み (クロック割り込みを含む) の回数
.It sy
システムコールの回数
.It cs
cpu のコンテキストスイッチの回数
.El
.It cpu
CPU 使用時間の内訳 (%)
.Pp
.Bl -tag -width indent -compact
.It us
通常およびそれより低い優先度のプロセスのユーザ時間
.It sy
システム時間
.It id
CPU アイドル時間
.El
.El
.Sh 使用例
コマンド:
.Dl vmstat -w 5
-は、5 秒おきにシステムの統計を表示します。これは、システム内の統計を取るのに
-ちょうどよい間隔です。
-他の値では秒単位の値にバラツキがあり、しばらく出力を継続すると
-1 秒毎に計算しなおしていることがわかるでしょう。
+は、システムがどのように動作しているかを 5 秒おきに表示します。
+5 秒おきにサンプリングされている統計情報があるため、
+この間隔で表示するのがちょうどよいです。
+その他の統計情報は 1 秒毎に変化します。
+しばらく出力を続ければ、どれが毎秒計算し直されているかがわかるでしょう。
.Sh 関連ファイル
.Bl -tag -width /dev/kmemxxx -compact
.It Pa /kernel
デフォルトのカーネル名前リスト
.It Pa /dev/kmem
デフォルトのメモリファイル
.El
.Sh 関連項目
.Xr fstat 1 ,
.Xr netstat 1 ,
.Xr nfsstat 1 ,
.Xr ps 1 ,
.Xr systat 1 ,
.Xr iostat 8 ,
.Xr pstat 8
.Pp
.%T "Installing and Operating 4.3BSD"
の ``Interpreting system activity'' で始まるセクション
.Sh バグ
.Fl c
.Fl w
オプションは、デフォルトの出力を行うときにのみ有効です。
diff --git a/ja/man/man8/vnconfig.8 b/ja/man/man8/vnconfig.8
index b2b1b244bc..f7b1990967 100644
--- a/ja/man/man8/vnconfig.8
+++ b/ja/man/man8/vnconfig.8
@@ -1,187 +1,206 @@
.\" Copyright (c) 1993 University of Utah.
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Systems Programming Group of the University of Utah Computer
.\" Science Department.
.\"
.\" 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.
.\"
.\" @(#)vnconfig.8 8.1 (Berkeley) 6/5/93
.\" jpman %Id: vnconfig.8,v 1.2 1997/05/03 13:45:51 horikawa Stab %
.\"
.Dd July 8, 1993
.Dt VNCONFIG 8
.Os BSD 4
.Sh 名称
.Nm vnconfig
.Nd vnode ディスクを構築して利用できるようにする
.Sh 書式
.Nm vnconfig
.Op Fl cdeguv
.Op Fl s Ar option
.Op Fl r Ar option
.Ar special_file Ar regular_file
.Oo Ar feature Oc
.Nm vnconfig
.Fl a
.Op Fl cdeguv
.Op Fl s Ar option
.Op Fl r Ar option
.Op Fl f Ar config_file
.Sh 解説
.Nm
コマンドは、vnode 疑似ディスクデバイスを構築して使用可能にします。
コマンドの最初の書式では、スペシャルファイル
.Ar special_file
を通常ファイル
.Ar regular_file
に結びつけ、
後で通常ファイルをディスクであるかのようにアクセスできるようにします。
これによりファイルシステム中の通常ファイルを、
スワップや、名前空間にマウントされるファイルシステムと出来ます。
.Pp
オプションは動作を指定します:
.Bl -tag -width indent
.It Fl a
コマンドファイルを読み込み、
各デバイス/ファイルの組に対して指定された動作を実行します。
.It Fl c
デバイスを構築します。
成功すると、
.Ar special_file
への参照は、
.Ar regular_file
の内容へのアクセスとなります。
.It Fl d
指定した
.Ar feature
を(可能であれば)無効にします。
.It Fl e
デバイスを構築し、指定された
.Ar feature
を有効にします。
.Ar feature
が指定されないと、
.Fl e
.Fl c
と同じ意味になります。
.It Fl f Ar config_file
.Ar config_file
を設定ファイルの代りに使用します。
.It Fl g
global オプションを制御します。
-.It Fl r Ar option
-.Ar option
+.It Fl r Ar flag
+.Ar flag
をリセットします。
-.Ar option
-は labels, follow, debug, io, all, none のいずれかです。
-.It Fl s Ar option
-.Ar option
+利用可能なフラグと意味は以下の通りです:
+.Bl -tag -width "follow"
+.It Ar labels
+ディスク/スライスラベルを使用する。
+.It Ar follow
+.Xr vn 4
+ドライバのフローをデバッグする。
+.It Ar debug
+.Xr vn 4
+ドライバのデータをデバッグする。
+.It Ar io
+.Xr vn 4
+ドライバの I/O をデバッグする。
+.It Ar all
+すべてのフラグをオンにする。
+.It Ar none
+すべてのフラグをオフにする。
+.El
+.It Fl s Ar flag
+.Ar flag
をセットします。
+利用可能なフラグと意味は
+.Fl r
+と同じです。
.It Fl u
デバイスを無効にし、``無構築状態'' にします。
.It Fl v
実行される動作の内容を標準出力に表示します。
.El
.Pp
動作を指定するオプションがない場合には、
.Fl c
が指定されたものと見なします。
.Pp
.Ar feature
引数は、
.Fl e
によって有効になる機能を指定します。
.Bl -tag -width indent
.It Dv swap
スペシャルファイル上でのスワップを有効にします。
.Xr swapon 2
を参照してください。
.It Dv Pf mountro= Pa mount_point
スペシャルファイルは、
.Ar mount_point
へ読み込み専用マウントされます。
.Xr mount 2
を参照してください。
.It Dv Pf mountrw= Pa mount_point
スペシャルファイルは、
.Ar mount_point
へ読み書き可能マウントされます。
.Xr mount 2
を参照してください。
.It Dv Pf mount= Pa mount_point
``mountrw='' と同じです。
.El
.Pp
設定ファイルは、1 行にデバイスとファイル名の組を次の形式で持ちます:
.Bd -literal
special_file regular_file [ feature ]
.Ed
.Pp
ここでは各フィールドはスペースで分割されます。
設定ファイル中のすべてのデバイスの動作に関して、
前述の動作オプションが有効です。
.Sh 関連ファイル
.Bl -tag -width /etc/vntab -compact
.It Pa /etc/vntab
.Fl a
オプションで使われるデフォルトの設定ファイル
.El
.Sh 使用例
.Pp
.Dl vnconfig /dev/vn0c /tmp/diskimage
.Pp
vnode ディスクデバイス
.Pa vn0c
を構築します。
.Pp
.Dl vnconfig -e /dev/vn0c /var/swapfile swap
.Pp
vnode ディスクデバイス
.Pa vn0c
を構築し、それをスワップ領域として使うようにします。
.Pp
.Dl vnconfig -d /dev/vn0c myfilesystem mount=/mnt
.Pp
vnode ディスクデバイス
.Pa vn0c
のマウントを解除します(また無構築状態にします)。
.Pp
.Dl vnconfig -ae
.Pp
.Pa /etc/vntab
に記述されているすべてのデバイスを構築して使用可能にします。
.Sh 関連項目
.Xr mount 2 ,
.Xr swapon 2 ,
.Xr unmount 2 ,
.Xr vn 4 .
diff --git a/ja/man/man8/wormcontrol.8 b/ja/man/man8/wormcontrol.8
index 1b1010bf90..f319eabcc9 100644
--- a/ja/man/man8/wormcontrol.8
+++ b/ja/man/man8/wormcontrol.8
@@ -1,228 +1,190 @@
.\"
.\" Copyright (C) 1996
.\" interface business GmbH
.\" Tolkewitzer Strasse 49
.\" D-01277 Dresden
.\" F.R. Germany
.\"
.\" All rights reserved.
.\"
.\" Written by Joerg Wunsch <joerg_wunsch@interface-business.de>
.\"
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
.\" USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
-.\" %Id: wormcontrol.8,v 1.3.2.3 1997/11/18 07:28:14 charnier Exp %
+.\" %Id: wormcontrol.8,v 1.11 1998/03/23 08:30:03 charnier Exp %
.\" jpman %Id: wormcontrol.8,v 1.3 1997/08/16 13:45:04 horikawa Stab %
.\"
.\" arrgh, hilit19 needs this" :-(
.Dd Jan 27, 1996
.Os
.Dt WORMCONTROL 8
.Sh 名称
.Nm wormcontrol
.Nd CD-R ドライバの制御
.Sh 書式
.Nm wormcontrol
.Op Fl f Ar device
.Ar command
.Op Ar params...
.Sh 解説
.Nm
は、書き込み可能 CD
.Pq CD-R
の様々なパラメータを調整するために
.Xr worm 4
ドライバの動作を制御するのに用いられるユーティリティです。
.Pp
他の多くのデバイスと異なり、
CD-R デバイスは大変厳密な処理手順を要求します。
データ書き込みに先立って、ドライブ速度を選択しなければなりません。
またドライブを
.Ql dummy
モードにすることも出来ます。
このモードでは、あらゆる動作はレーザを止めて行われます。
このようにして、最悪の事態に陥ってメディアを破壊することなく、
書き込み環境が実際に CD-R を焼くのに十分なデータ速度を提供できるか否かを
テストすることができます。
.Pp
新しいトラックに書き込むには、そのトラックが音声トラックになるのか
データトラックになるのかをドライブに教えてやる必要があります。
音声トラックはブロックサイズ 2352 バイトで書き込まれますが、
データトラックはブロックあたり 2048 バイトです。
-実際に利用できるデータフォーマットは他にもありますが、
-このドライバが現在のところサポートしているのは、この
-.Em Yellow Book
-モード 1 フォーマットだけです。
音声トラックについては、ドライバは更に、
データをプリエンファシス付きで書き込むかどうかについても
知る必要があります。
.Pp
ひとたび、あるセッションの全トラックが書き込まれると、
ディスクは
.Em 定着
させなければなりません。
これは目録とリードアウト情報をディスクに書き込む処理であり、
この処理をしなくてはディスクは利用できません。
以下のオプションを指定可能です:
.Bl -tag -width ident
.It Fl f Ar device
デフォルトの
.Pa /dev/rworm0
ではなく
.Ar device
を使用します。
-.It select Ar vendor-id model-id
-残念なことに、各 CD-R ドライブベンダは独自の SCSI コマンドセットを
-実装することになってしまいました。従って
-.Xr worm 4
-ドライバは、ある特定のデバイスのためにどの
-.Ql quirk
-ファンクションを使うのか知る必要があります。
-現在のところ、ドライバ内に quirk 情報がスタティックにコンパイルされている
-デバイスのみ動作します。
-しかし将来的には、これらをローダブル・モジュールとして
-利用できるようにする予定です。
-.Em select
-コマンドは、適切な quirk を見つけるようドライバに指示します。
-ドライバは指定された
-.Ar vendor-id
-および
-.Ar model-id
-を既知の quirk リストと照合します。
-一致するものがなければエラーが返され、
-そのデバイスは quirk レコードが正しく選択されるまで
-他の処理に利用できなくなります。
-.Pp
-現在までに、ベンダ/モデル名として
-.Dq PLASMON
-\&/
-.Dq RF4100 ,
-.Dq PHILIPS
-\&/
-.Dq CDD2000 ,
-.Dq HP
-\&/
-.Dq 4020i
-が知られています。
.It prepdisk Ar single \&| double Op Ar dummy
ディスクの書き込み準備を行います。
この処理はトラック準備の前に行い、
セッションが完了するまでその状態を保つ必要があります。
通常 (single) 速度
.Pq 音声データ用
あるいは倍速 (double)
.Pq CD-ROM データ用
のいずれかを指定しなければなりません。
オプションで引数
.Ar dummy
を指定することで、テスト用にレーザをオフにしておくよう
ドライブに指示することができます。
.It track Ar audio \&| data Op Ar preemp
次トラックのフォーマットに関する情報をドライバに伝えます。
.Ar audio
あるいは
.Ar data
.Pq CD-ROM
を選択しなければなりません。
音声トラックにおいてデータをプリエンファシス付きで書き込むためには、
オプション引数
.Ar preemp
を指定しなければなりません。
ひとたびこのコマンドを正しく指定したら、
トラックの書き込み準備は完了です。
.It fixate Ar toc-type Op Ar onp
ひとたび全トラックを書き込んだら、このコマンドにより
現在のセッションをクローズします。
引数
.Ar toc-type
は 0 から 4 までの 1 桁の数で、以下の意味を持ちます:
.Bl -item
.It
0 CD 音声
.It
1 CD-ROM
.It
2 CD-ROM 第 1 トラック モード 1
.It
3 CD-ROM 第 1 トラック モード 2
.It
4 CDI
.El
.Pp
オプション引数
.Ar onp
.Dq open next program area
の意で、この CD-R の次のセッションが将来オープンされ、
書き込みが可能であることを意味します。
それ以外の場合、この CD-R はクローズされ、修正できないままとなります。
.El
.Sh 診断
内部で呼び出される
.Xr ioctl 2
コマンドのエラーコードが
.Xr err 3
機能によって表示されます。
.Sh 使用例
データ CD-R を焼く典型的な手順はこのようになります:
.Bd -literal
-# wormcontrol select PLASMON RF4100
# wormcontrol prepdisk double
# wormcontrol track data
# rtprio 5 team -v 1m 5 < cdrom.image | rtprio 5 dd of=/dev/rworm0 obs=20k
# wormcontrol fixate 1
.Ed
.Pp
注意: 上の
.Xr dd 1
コマンドは主として、データストリームを
.Dq スライス
するために用いられています。
これは、かなり特殊なブロックサイズで音声データを書き込む際に、特に有用です。
内部で用いられるデバイスは
.Em ロウ
デバイスなので、上のコマンドで用いられるブロックサイズは CD-R の
ブロックサイズの整数倍でなければなりません。
.Pp
上に述べたコマンド
.Xr team 1
は基本システムの一部ではありませんが、
一定のデータストリームを CD レコーダにパイプで流し込むのに
極めて有用です。
.Sh 関連項目
.Xr dd 1 ,
.Xr team 1 ,
.Xr ioctl 2 ,
.Xr err 3 ,
.Xr worm 4
.Pp
.Pa /usr/share/examples/worm/*
.Sh 歴史
.Nm wormcontrol
は現在も開発途上です。
.Sh 作者
本プログラムは
.ie t J\(:org Wunsch
.el Joerg Wunsch
Dresden によって寄贈されました。
diff --git a/ja/man/man8/xntpd.8 b/ja/man/man8/xntpd.8
index f418f96152..b0d4bdd3bb 100644
--- a/ja/man/man8/xntpd.8
+++ b/ja/man/man8/xntpd.8
@@ -1,1089 +1,1029 @@
-.\" jpman %Id: xntpd.8,v 1.2 1997/09/16 18:16:37 ken Stab %
-''' $Header
-'''
-.de Sh
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH XNTPD 8 LOCAL
-.SH 名称
-xntpd - Network Time Protocol デーモン
-.SH 書式
-.B xntpd
-[
-.B -abdm
-] [
-.B -c
-.I conffile
-] [
-.B -e
-.I authdelay
-] [
-.B -f
-.I driftfile
-] [
-.B -k
-.I keyfile
-] [
-.B -p
-.I pidfile
-] [
-.B -r
-.I broadcastdelay
-] [
-.B -s
-.I statsdir
-] [
-.B -t
-.I trustedkey
-] [
-.B -v
-.I variable
-] [
-.B -V
-.I variable
-]
-.SH 解説
-.I xntpd
+.\"
+.\" %Id: xntpd.8,v 1.5 1998/02/19 08:05:43 charnier Exp %
+.\"
+.Dd December 21, 1993
+.Dt XNTPD 8
+.Os
+.Sh 名称
+.Nm xntpd
+.Nd Network Time Protocol デーモン
+.Sh 書式
+.Nm xntpd
+.Op Fl abdm
+.Op Fl c Ar conffile
+.Op Fl e Ar authdelay
+.Op Fl f Ar driftfile
+.Op Fl k Ar keyfile
+.Op Fl p Ar pidfile
+.Op Fl r Ar broadcastdelay
+.Op Fl s Ar statsdir
+.Op Fl t Ar trustedkey
+.Op Fl v Ar variable
+.Op Fl V Ar variable
+.Sh 解説
+.Nm
は、インターネットの標準時間サーバに合わせて、 Unix のシステム時刻
(time\-of\-day) を設定し維持するデーモンです。
-.I xntpd
+.Nm
は、RFC 1305 で定義されている Network Time Protocol (NTP) バージョン
3 標準の完全な実装となっていますが、各々 RFC 1059 と RFC 1119 で定義
されているバージョン 1 とバージョン 2 に対する互換性も保っています。
-.I xntpd
-は全ての計算を固定少数点演算により行うので、浮動少数点を扱うコードは
-必要としません。プロトコルおよび時間調整のコードで行われる計算は、高
-精度で実行されます。また、最も正確な外部時計の供給源に対しても同期で
-きるだけの精度の維持を計るべく、計算に規則だった補正値を導入するといっ
-たように、細部まで注意が払われています。
-.PP
+.Nm
+は全ての計算を固定小数点演算により行うので、浮動小数点を扱うコードは
+必要としません。プロトコルおよび時間調整のコードで行われる計算は、
+高精度で実行されます。また、最も正確な外部時計の供給源に対しても同期
+できるだけの精度の維持を計るべく、計算に規則だった補正値を導入すると
+いったように、細部まで注意が払われています。
+.Pp
通常、
-.I xntpd
+.Nm
は、起動時に設定ファイルから設定を読込みます。
デフォルトの設定ファイル名は、
-.IR /etc/ntp.conf
+.Pa /etc/ntp.conf
ですが、コマンドラインの指定の方が優先します。また、もっぱらコマンド
ラインだけで、その局面に役立つ
-.I xntpd
-の設定を与え、設定ファイルを不要にすることもで
-きます。これは、
-.I xntpd
+.Nm
+の設定を与え、設定ファイルを不要にすることもできます。これは、
+.Nm
が、実行時にブロードキャストを待受ける (listen) ことで決定される全て
-の通信相手 (peer) に対して、ブロードキャストもしくはマルチキャスト・
+の通信相手 (peer) に対して、ブロードキャストもしくはマルチキャスト
クライアントとして設定されるべき時には、特に適しています。
-.I xntpd
+.Nm
デーモンの実行中は、
-.IR ntpq (8)
+.Xr ntpq 8
および
-.IR xntpdc (8)
+.Xr xntpdc 8
を使用することで、デーモンのさまざまな内部変数を表示したり
設定オプションを変更できます。
-.PP
-デーモンはアクティブ/パッシブ, クライアント/サーバ, ブロードキャスト
+.Pp
+デーモンは対称アクティブ/パッシブ、クライアント/サーバ、ブロードキャスト
/マルチキャスト等の対称的なモードを含むいずれかのモードで働くことが
-できます。ブロードキャストもしくはマルチキャスト・クライアントは、
+できます。ブロードキャストもしくはマルチキャストクライアントは、
自動的にリモートサーバを探し出し、片道の遅延補正因子を計算して、自動的
に自身に対する設定を行います。これにより、その環境に固有の詳細な設定
や設定ファイルなしに、一群のワークステーションを
配置することが可能になります。
-.PP
+.Pp
以下にあげるコマンドライン引数が
-.I xntpd
+.Nm
により理解されます。(より完全な機能の説明については、
設定ファイルの説明を参照のこと):
-
-.Ip -a 8
-「認証」 (\*(L"authenticate\*(R") モードで実行します。
-.Ip -b 8
+.Bl -tag -width indent
+.It Fl a
+.Qq 認証 (authenticate)
+モードで実行します。
+.It Fl b
NTP のブロードキャストを待受けて、可能ならそれに同期します。
-.Ip -c 8
+.It Fl c
デフォルトの代わりの設定ファイルを指定します。
-.Ip -d 8
+.It Fl d
デバッグモードを指定します。このフラグは何回指定してもかまいませんが、
回数が多いほど表示がより詳細になります。
-.Ip -e 8
+.It Fl e
このコンピュータ上で、NTP の暗号化 (encryption) フィールドを計算する
のに必要な時間を (秒で) 指定します。
-.Ip "-f driftfile" 8
+.It Fl f Ar driftfile
driftfile のある場所を指定します。
-.Ip -k 8
+.It Fl k
NTP の認証キーを含むファイルのある場所を指定します。
-.Ip -m 8
+.It Fl m
マルチキャストメッセージを待受けて、可能ならそれらに同期します (
マルチキャストカーネルが必要になります)。
-.Ip -p 8
+.It Fl p
デーモンのプロセス ID を記録するためのファイル名を指定します。
-.Ip -r 8
+.It Fl r
通常、デーモンは、ブロードキャストもしくはマルチキャストのサーバと
クライアントとの間のネットワーク遅延を自動的に補正します。
遅延の測定作業が失敗した場合には、ここで指定した (秒の) デフォルトの
遅延を使用するようになります。
-.Ip -s 8
+.It Fl s
統計ファイルを作成するためのディレクトリを指定します。
-.Ip "-t trustedkey" 8
+.It Fl t Ar trustedkey
キー番号を信頼できるキー (trusted key) のリストに付け加えます。
-.Ip -v 8
+.It Fl v
システム変数を追加します。
-.Ip -V 8
+.It Fl V
デフォルトでリストされるシステム変数を追加します。
-
-.SH "コンフィギュレーションオプション"
-.I xntpd
+.El
+.Sh "コンフィギュレーションオプション"
+.Nm
の設定ファイルのフォーマットは、
他の Unix 設定ファイルのものに似ています。
-コメントは文字 \*(L"#\*(R" で始まり、行末まで続きます。空行は無視されます。
-設定コマンドは、行頭のキーワードとそれに続く空白で区切られた
-引数のリストからなります。引数の内いくつかは、省略可能な場合があります。
+コメントは文字
+.Qq #
+で始まり、行末まで続きます。空行は無視されます。
+設定コマンドは、行頭のキーワードとそれに続く引数のリストからなります。
+引数の内いくつかは、省略可能な場合があります。
+また、引数は空白で区切ります。
これらのコマンドは複数行にわたってはなりません。
-引数は、ホスト名, ドットで区切られた 4 つ組の数からなる (dotted-quad) 形式の
-ホストアドレス, 整数, 浮動少数点数 (秒で時間を指定する際用います),
+引数は、ホスト名、ドットで区切られた 4 つ組の数からなる (dotted-quad) 形式の
+ホストアドレス、整数、浮動小数点数 (秒で時間を指定する際用います)、
テキスト文字列などです。
-以下の説明では、省略可能な引数は、\*(L"[]\*(R" で囲み、
-複数択一の引数は、互いに \*(L"|\*(R" で区切って表します。
-.PP
-.B peer
-.I host_address
-[
-.B key
-.I #
-] [
-.B version
-.I #
-] [
-.B prefer
-]
-.br
-.B server
-.I host_address
-[
-.B key
-.I #
-] [
-.B version
-.I #
-] [
-.B prefer
-]
-.br
-.B broadcast
-.I host_address
-[
-.B key
-.I #
-] [
-.B version
-.I #
-] [
-.B ttl
-.I #
-]
-.PP
-これらの 3つのコマンドは、利用されるべき時間サーバや与えられるべき
+以下の説明では、省略可能な引数は、
+.Qq []
+で囲み、複数択一の引数は、互いに
+.Qq |
+区切って表します。
+.Pp
+.Bl -tag -width indent
+.It Xo peer
+.Ar host_address
+.Op key Ar #
+.Op version Ar #
+.Op prefer
+.Xc
+.It Xo server
+.Ar host_address
+.Op key Ar #
+.Op version Ar #
+.Op prefer
+.Xc
+.It Xo broadcast
+.Ar host_address
+.Op key Ar #
+.Op version Ar #
+.Op ttl Ar #
+.Xc
+.Pp
+これらの 3 つのコマンドは、利用されるべき時間サーバや与えられるべき
時間サービスを指定します。
-.B peer
+.Em peer
コマンドは、ローカルサーバが、コマンド中の
-.I host_address
-で示されるリモートサーバに対し、「対称的アクティブ」 (\*(L"symmetric
-active\*(R") モードで動作するよう指示します。このモードでは、
+.Ar host_address
+で示されるリモートサーバに対し、
+.Qq 対称的アクティブ (symmetric active)
+モードで動作するよう指示します。このモードでは、
ローカルサーバをリモートサーバに同期させるのと同時に、リモートサーバ
をローカルサーバに同期させることができます。これは、サーバの
ネットワークにおいて、さまざまな悪い状況により、
ローカルサーバとリモートサーバのどちらかがより良い時刻供給源と
なり得るような場合に役立ちます。
-.B server
-コマンドは、ローカルサーバが、指定したリモートサーバに
-対して \*(L"クライアント\*(R" モードで動作するよう指示します。
+.Em server
+コマンドは、ローカルサーバが、指定したリモートサーバに対して
+.Qq クライアント
+モードで動作するよう指示します。
このモードでは、ローカルサーバはリモートサーバに同期しますが、
リモートサーバがローカルサーバに同期することは決してありません。
-.B broadcast
-コマンドは、ローカルサーバが、\*(L"ブロードキャスト\*(R" モードで
-動作するよう指示します。ローカルサーバは、コマンド中で指定される
-ブロードキャスト/マルチキャスト/アドレスを持つクライアント集団に、
+.Em broadcast
+コマンドは、ローカルサーバが、
+.Qq ブロードキャスト
+モードで動作するよう指示します。ローカルサーバは、コマンド中で指定される
+ブロードキャスト/マルチキャストアドレスを持つクライアント集団に、
定期的にブロードキャストメッセージを送ります。通常、この指示は、
送信側 (transmitter) として動作しているローカルサーバにのみ適用されます。
ブロードキャストクライアントに対する動作については、以下に説明する
-.B broadcastclient
+.Em broadcastclient
もしくは
-.B multicastclient
+.Em multicastclient
コマンドの項を参照して下さい。このモードでは、
-.I host_address
+.Ar host_address
は、通常、そのローカルネットワーク (もしくは複数の
ローカルネットワークの内のひとつ)の上でのブロードキャストアドレスであるか、
-NTP に割当てられたマルチキャストアドレスです。NTPには、アドレス 224.0.1.1 が
-割当てられてきました。現在のところは、このアドレスのみを使用すべきです。
+NTP に割り当てられたマルチキャストアドレスです。NTPには、アドレス 224.0.1.1 が
+割り当てられてきました。現在のところは、このアドレスのみを使用すべきです。
マルチキャスト機能はマルチキャストカーネルを必要としますが、これは、
まだ、どのベンダの製品にでも存在するものではないということに注意し
て下さい。
-.PP
-.B key
+.Pp
+.Ar key
オプションが含まれていると、そのアドレスに送られる全てのパケットが、
-指定したキー (32 ビット符号無し整数の範囲の数) を用いて暗号化された
+指定したキー番号 (32 ビット符号無し整数の範囲の数) を用いて暗号化された
認証フィールドを含むようになります。
-.B version
+.Ar version
オプションにより、送出される NTP パケットに使用されるべきバージョン
番号を指定することができます。バージョン 1, 2, 3 のいずれかが選択で
きますが、バージョン 3 がデフォルトになっています。
-.B prefer
+.Ar prefer
オプションは、そのホストを優先的ホストとします。このホストは、その他
全ての点では同等ですが、正常に動作している一群のホストの中から同期を
取る対象として選ばれます。
-.B ttl
+.Ar ttl
オプションは、ブロードキャストモードでのみ使用され、マルチキャスト
パケットで用いられる生存時間 (TTL) を指定します。デフォルトは 127 ですが、
適切な値を選択することは、黒魔術の一種であり、ネットワーク管理者
との調整を必要とします。
-.PP
-.B broadcastclient
-.PP
+.It broadcastclient
ローカルサーバに対し、同じサブネット上の他のサーバを見付けるために、
ローカルネットワーク上のブロードキャストメッセージを待受けるよう指示
します。ローカルサーバは、最初のブロードキャストメッセージを受取る際、
リモートサーバとクライアント/サーバ間の短いやりとりを用いて、名目上
の (nominal) ネットワーク遅延を測定してから、後続のブロードキャスト
-メッセージを待ち受けて、それに同期する\*(L"ブロードキャストクライアント\*(R"
+メッセージを待ち受けて、それに同期する
+.Qq ブロードキャストクライアント
モードに入ります。このモードでの偶然もしくは故意の分裂状態
を避けるため、ローカルとリモートのサーバの両方は認証に同一の信頼でき
るキーとキー識別子を使用して動作しなくてはならないことに注意して下さい。
-.PP
-.B multicastclient
-[
-.I IP address ...
-]
-.PP
+.It multicastclient Op Ar IP address ...
このコマンドは、
-.IR broadcastclient
+.Em broadcastclient
コマンドと同じように用いられますが、IP マルチキャストを使用して動作
します。この機能をサポートするには、マルチキャストカーネルと認証の使用が
必要です。1 つ以上の IP アドレスが与えられると、サーバはそれぞれ
のマルチキャストグループに加わります。1 つも与えられなければ、NTP に
-は IP アドレス (224.0.1.1) が割当てられていると想定されます。
-.PP
-.B driftfile
-.I filename
-.PP
+割り当てられている IP アドレス (224.0.1.1) が想定されます。
+.It driftfile Ar filename
このコマンドは、ローカルの時計発振子の周波数オフセットを記録するため
のファイル名を指定します。このファイルが存在すると、起動時に初期周波数
-オフセットを指定するのに使用され、その後デーモンにより計算される
-カレント周波数オフセットで、 1 時間に 1 度更新されます。ファイルが存在
+オフセットを指定するのに使用され、その後 1 時間に 1 度
+その時点での周波数オフセットがデーモンにより計算されて更新されます。
+ファイルが存在
しないか、このコマンドが与えられていない場合、初期周波数オフセットは
-ゼロと仮定されます。この場合、周波数が安定し、残った時間誤差が収まる
-のに数時間かかります。このファイルが、最初にカレント変動値を一時
-ファイルに書込み、
-.IR rename (3)
+0 と仮定されます。この場合、周波数が安定し、残った時間誤差が収まる
+のに数時間かかります。
+ファイルには、
+100 万分の 1 (ppm) 単位でのオフセット値を表す浮動小数点数が 1 つ含まれます。
+このファイルが、最初にカレント変動値を一時ファイルに書込み、
+.Xr rename 3
により古いファイルと置換えることで更新されることに注意して下さい。これは、
-.I xntpd
-が、 ドリフトファイルのあるディレクトリに対し書込み権を持っていなけ
-ればならず、ファイルは、シンボリックであろうとなかろうと、
+.Nm
+が、ドリフトファイルのあるディレクトリに対し書き込み権を持っている必要があり、
+ファイルは、シンボリックであろうとなかろうと、
ファイルシステムリンクであるべきではないだろうことを意味しています。
-.PP
-.B enable auth|bclient|pll|monitor|stats
-[
-.I ...
-]
-.PP
+.It enable Ar auth|bclient|pll|monitor|stats Op Ar ...
さまざまなサーバオプションを有効にします。指定されていないフラグは
-影響を受けません。\*(L"auth\*(R" フラグは、その通信相手 (peer) が信頼
+影響を受けません。
+.Ar auth
+フラグは、その通信相手 (peer) が信頼
できるキーとキー識別子を使用して正しく認証されている場合に限って、サーバが
-指定されていない相手に同期するようにします。このフラグのデフォルトは
-無効 (オフ) です。 \*(L"bclient\*(R" フラグは、サーバがブロード
-キャストもしくはマルチキャストサーバからのメッセージを待受けるように
-します。これにより、そのサーバに対する連携 (association) が自動的に
-成立します。このフラグのデフォルトは無効 (オフ) です。 \*(L"pll\*(R"
+未設定の相手に同期するようにします。このフラグのデフォルトは
+無効 (オフ) です。
+.Ar bclient
+フラグは、サーバがブロードキャストもしくはマルチキャストサーバからの
+メッセージを待ち受けるようにします。これにより、
+そのサーバに対する連携 (association) が自動的に成立します。
+このフラグのデフォルトは無効 (オフ) です。
+.Ar pll
フラグは、サーバのローカル時計を調整するようにします。デフォルトでは
-有効 (オン) です。無効にした場合、ローカル時計は固有の時間と周波数の
+有効 (オン) です。無効にした場合、ローカル時計は固有の時間と周波数オプセットの
まま動きます。このフラグは、ローカル時計が他の何らかのデバイスや
プロトコルにより制御されており、NTPは他のクライアントと同期をとるためだ
-けに使用されている場合に、役立ちます。\*(L"monitor\*(R" フラグは、
-モニタファシリティ (facility) を有効にします(下記参照のこと)。デフォルトでは
-有効 (オン) です。\*(L"stats\*(R" フラグは、統計のファシリティ
+けに使用されている場合に、役立ちます。
+.Ar monitor
+フラグは、モニタファシリティ (facility) を有効にします(下記参照のこと)。
+デフォルトでは有効 (オン) です。
+.Ar stats
+フラグは、統計のファシリティ
の filegen (下記説明を参照のこと) を有効にします。デフォルトでは有効
(オン) です。
-.PP
-.B disable auth|bclient|pll|monitor|stats
-[
-.I ...
-]
-.PP
+.It disable Ar auth|bclient|pll|monitor|stats Op Ar ...
さまざまなサーバオプションを無効にします。指定されていないフラグは影響を
受けません。現在使用可能なオプションは、enable コマンドの項で説明
しています。
-
-.SH "認証オプション"
-.PP
-.B keys
-.I filename
-.PP
+.El
+.Sh "認証オプション"
+.Bl -tag -width indent
+.It keys Ar filename
このコマンドは、認証モードでの操作の際、
-.I xntpd
+.Nm
により使用される暗号化キーとキー識別子を含むファイルの名前を指定します。
このファイルのフォーマットは以降で説明します。
-.PP
-.B trustedkey
-.I #
-[
-.I "# ..."
-]
-.PP
-このコマンドは、同期するのにふさわしい通信相手を認証する目的にとって
-信用できる暗号化キー識別子を指定するのに使用されます。異なるサーバは
-異なるキーを使用できますが、認証手続きにはローカルとリモート両方の
-サーバがこの目的のため同一のキーとキー識別子を共有することが必要です。
+.It trustedkey Ar # Op Ar # ...
+このコマンドは、同期するのにふさわしい通信相手を認証する目的において、
+信用できる暗号化キー識別子を指定するのに使用されます。
+この目的で、ローカルとリモート両方の
+サーバが同一のキーとキー識別子を共有することを、認証手続きは求めます。
+異なるサーバ間では異なるキーを使用できます。
引数は、32 ビット符合なし整数ですが、 NTP キー 0 は固定されており周知の
ものであることに注意してください。意味のある認証が行われるべきならば、
キー 0 は信用すべきではありません。
-.PP
-.B requestkey
-.I #
-.PP
+.It requestkey Ar #
このコマンドは、
-.IR xntpd (8)
+.Nm
の動作に影響を与える問題の診断と修復に役立つ
-.IR xntpdc (8)
+.Xr xntpdc 8
プログラムにより使用されるキー識別子を指定します。
-.I xntpdc
-プログラムの動作は、 xntpd のこの固有の実装に特定されており、これ
+.Nm xntpdc
+プログラムの動作は、
+.Nm
+のこの固有の実装に特定されており、このバージョン
および以前のバージョンのデーモンとのみ動作すると見込まれます。ローカル
サーバの状態に影響を与えるリモートの
-.I xntpdc
+.Nm xntpdc
プログラムからの要求は、
認証されねばなりません。そのためには、リモートプログラムとローカル
サーバが共通のキーとキー識別子を共有することが必要です。このコマンドの引数は、
32 ビット符合なし整数です。設定ファイルに
-.B controlkey
+.Em controlkey
コマンドが含まれていないか、キーがマッチしないと、この要求は無視され
ます。
-.PP
-.B controlkey
-.I #
-.PP
+.It controlkey Ar #
このコマンドは、
-.IR xntpd (8)
+.Nm
の動作に影響を与える問題の診断と修復に役立つ
-.IR ntpq (8)
+.Xr ntpq 8
プログラムにより使用されるキー識別子を指定します。
-.IR ntpq
+.Nm xntpq
プログラムと
-.I xntpd
+.Nm
の動作は RFC 1305 の定義を満たしています。ローカルサーバの状態に影響
を与えるリモートの
-.I ntpq
+.Nm ntpq
プログラムからの要求は、認証されねばなりません。そのためには、リモート
プログラムとローカルサーバが共通のキーとキー識別子を共有することが
必要です。このコマンドの引数は、32 ビット符合なし整数です。
設定ファイルに
-.B requestkey
+.Em requestkey
コマンドが含まれていないか、キーがマッチしないと、この要求は無視され
ます。
-.PP
-.B authdelay
-.I seconds
-.PP
+.It authdelay Ar seconds
ローカル計算機上で NTP 認証フィールドを暗号化するのに要する時間の
総計を示します。この値は、送出パケットに認証が用いられる際、送信タイム
スタンプを修正するのに使用されます。通常、この値は 0.0001 秒から
-0.003 秒あたりになりますが、これはホスト計算機の CPU 速度に依存して
+0.003 秒あたりになりますが、これはまさにホスト計算機の CPU 速度に依存して
います。通常、この値は、ディストリビューションに含まれている
-.I authspeed
+.Em authspeed
プログラムを用いて計算されます。
-.SH "アクセス制御オプション"
-.B restrict
-.I address
-[
-.B mask
-.I numeric_mask
-] [
-.I flag
-] [
-.I ...
-]
-.PP
-.I xntpd
+.El
+.Sh "アクセス制御オプション"
+.Bl -tag -width indent
+.It Xo restrict
+.Ar address
+.Op mask Ar numeric_mask
+.Op Ar flag
+.Op Ar ...
+.Xc
+.Nm
は、汎用のアドレスとマスクに基づく制限リストを実装しています。リスト
はアドレスにより、そしてマスクによりソートされ、その順番でマッチして
いるかどうか調べられます。ここで、最後にマッチしたものが受信パケット
に関する制限フラグを定義します。受信パケットのソースアドレスは、制限
-リストのエントリに関するマスクでアンドをとられた 32 ビットアドレスと
+リストエントリのマスクでアンドをとられた 32 ビットアドレスと
マッチするか調べられ、それからエントリアドレス (これもまたマスクと
アンドをとられます) と比較され、マッチするものを探します。引数
-\*(L"mask\*(R" のデフォルトは 255.255.255.255 で、\*(L"address\*(R"
+.Em mask
+のデフォルトは 255.255.255.255 で、
+.Em address
が個別のホストのアドレスとして扱われることを意味します。デフォルト
エントリ (address 0.0.0.0, mask 0.0.0.0) は常にリストに含まれ、既定の
ソートアルゴリズムでは、リストの先頭のエントリとなります。
-\*(L"address\*(R" は、通常、 dotted\-quad 形式で与えられ、 mask
-オプションを伴わないテキスト文字列 \*(L"default\*(R" は、デフォルト
-エントリを示すために使用できることに、注意して下さい。
-.PP
+.Em address
+は、通常ドット付き 4 つ組形式で与えられますが、mask
+オプションを伴わないテキスト文字列
+.Em default
+は、デフォルトエントリを示すために使用できることに、注意して下さい。
+.Pp
現在の実装では、フラグは常にアクセスを制限します。すなわち、フラグを
持たないエントリは、サーバへの自由なアクセスが与えられることを示す
ことになります。フラグは直交的ではなく、より制限の強いフラグは、より
制限の弱いフラグを冗長にします。フラグは、一般に 2 つのカテゴリに分類
されます。時間サービスを制限するものと、情報問い合わせやサーバの
-実行時再設定の試みを制限するものです。次のフラグの内1つ以上を指定する
+実行時再設定の試みを制限するものです。次のフラグの内、1 つ以上を指定する
ことができます:
-.Ip ignore 10
+.Bl -tag -width indent
+.It ignore
このエントリにマッチするホストからのすべてのパケットを無視します。
このフラグが指定されると、問い合わせも時間サーバへのポーリングも応答さ
れなくなります。
-.Ip noquery 10
-NTP の モード 6 と 7のすべてのパケット (つまり情報問い合わせと設定要求)
+.It noquery
+NTP の モード 6 と 7 のすべてのパケット (つまり情報問い合わせと設定要求)
を無視します。時間サービスは影響を受けません。
-.Ip nomodify 10
-サーバの状態を変えようとするモード 6 と 7のすべてのパケット (つまり
+.It nomodify
+サーバの状態を変えようとするモード 6 と 7 のすべてのパケット (つまり
実行時再設定) を無視します。情報を返す問い合わせは許されます。
-.Ip notrap 10
+.It notrap
マッチしたホストにモード 6 の制御メッセージのトラップサービスを提供
することを拒否します。トラップサービスは、モード 6 の制御メッセージ
プロトコルのサブシステムで、リモートのイベントロギングプログラムによ
る使用が意図されています。
-.Ip lowpriotrap 10
+.It lowpriotrap
マッチしたホストによるトラップセットを低い優先度として宣言します。1
つのサーバが保持し得るトラップの数は制限されています(現在の制限値は
3 です)。トラップは通常、先入れ先処理ベースで割当てられ、後から来た
-トラップ要求はサービスを拒否されます。このフラグは、通常優先度の
-トラップに対する後からの要求が、低い優先度のトラップより優先されることを
-許すことで、通常の割当てアルゴリズムを変更します。
-.Ip noserve 10
+トラップ要求はサービスを拒否されます。
+このフラグは割り当てアルゴリズムを変更し、
+後から到着する要求のための通常優先度のトラップを
+低い優先度のトラップより優先させます。
+.It noserve
モード 6 と 7 以外のすべての NTP パケットを無視します。基本的には、
時間サービスは拒否されますが、それでも問い合わせは許されています。
-.Ip nopeer 10
+.It nopeer
ポーリングしているホストに、状態を持たない (stateless) 時間サービス
を与えますが、そうしなければ将来的に同期の相手として有用であるかもし
-れない場合にさえ、それらに peer メモリ資源を割当てません。
-.Ip notrust 10
+れない場合にさえ、それらに更新相手 (peer) 用のメモリ資源を割当てません。
+.It notrust
これらのホストは同期源としては決して使用されませんが、その他の点では
普通に扱われます。
-.Ip limited 10
+.It limited
これらのホストは、同一のネットからのクライアント数の制限の対象となり
ます。ここで言うネットとは、 (class A, class B, class C 等の) ネット
-の IP 表記のことです。サーバで見えており、過去
-\*(L"client_limit_period\*(R" 秒の間アクティブであった、最初の
-\*(L"client_limit\*(R" 個のホストのみが、受付けられます。同一の
+の IP 表記のことです。 サーバに見えるホストで、過去
+.Qq client_limit_period
+秒の間アクティブであった、最初の
+.Qq client_limit
+個のホストのみが、受け付けられます。同一の
ネットの他のクライアントからの要求は拒否されます。時間要求パケットのみが、
-考慮されます。\*(L"プライベート\*(R"", \*(L"制御\*(R"", \*(L"ブロー
-ドキャスト\*(R" 等のパケットは、クライアント制限の対象にはならず、
+考慮されます。
+.Qq プライベート
+、
+.Qq 制御
+、
+.Qq ブロードキャスト
+等のパケットは、クライアント制限の対象にはならず、
クライアントの数の内には入れられません。クライアントの履歴は、
-.I xntpd
+.Nm
のモニタリング機能を使用して維持されます。それゆえ、モニタリングは、
-\*(L"limited\*(R" フラグに制限エントリがある限り、アクティブです。
-\*(L"client_limit\*(R" のデフォルト値は 3 です。
-\*(L"client_limit_period\*(R" デフォルト値は 3600 秒です。
-.Ip ntpport 10
+.Qq limited
+フラグに制限エントリがある限り、アクティブです。
+.Qq client_limit
+のデフォルト値は 3 です。
+.Qq client_limit_period
+のデフォルト値は 3600 秒です。
+.It ntpport
実質的には、制限フラグと言うより、マッチのアルゴリズムを変更するもの
です。このフラグが存在すると、パケットのソースポートが標準の NTP の
UDP ポート (123) である場合にのみ、制限エントリにマッチします。
-\*(L"ntpport\*(R" と non\-\*(L"ntpport\*(R" の両方が指定できます。
-\*(L"ntpport\*(R" はより限定的であると考えられ、リストの後方にソート
-されます。
-.PP
-デフォルトの制限リストエントリは、フラグ \*(L"ignore, ntpport\*(R"
-を持ち、ローカルホストのインタフェースアドレスの各々に対し、
+.Qq ntpport
+と
+.Pf non\- Qq ntpport
+の両方が指定できます。
+.Qq ntpport
+はより限定的であると考えられ、リストの後方にソートされます。
+.El
+.Pp
+デフォルトの制限リストエントリは、フラグ
+.Qq ignore ,
+.Qq ntpport
+を持ち、ローカルホストのインタフェースアドレスの各々に対し
スタートアップ時にテーブルに挿入され、サーバがそれ自身の時間に同期しようと
しないようにします。また、デフォルトエントリは常に存在しますが、他で
は設定されない場合は、どのフラグもデフォルトエントリに関連づけられま
せん (すなわち、あなた自身の NTP サーバ以外のすべてが無制限になります) 。
-.PP
-制限ファシリティは、NSFnet の幹線上で動いている時間サーバの現在の
-アクセスポリシが、
-.I xntpd
-と同様に実装され得るように、付け加えられたものです。このファシリティ
-は、あなたのサーバが、望まないか故障したリモート時間サーバの影響を受
-けないようにするのに、ことのほか有用ですが、これが 標準の NTP 認証
-ファシリティの代わりになると考えるべきではありません。ソースアドレスに
+.Pp
+制限機能は、NSFnet の幹線上で動いている時間サーバの現在のアクセスポリシが、
+.Nm
+と同様に実装され得るように、付け加えられたものです。
+望まないまたは故障したリモート時間サーバからのあなたのサーバへの影響を
+避けるために、この機能がことのほか有用である一方、これが 標準の NTP 認証
+機能の代わりになると考えるべきではありません。ソースアドレスに
基づく制限は、確信犯的クラッカーにたやすく裏をかかれます。
-.PP
-.B clientlimit
-.I limit
-.PP
-\*(L"client_limit\*(R" を \*(L"limit\*(R" にセットし、クライアント
-制限ポリシの設定を可能にします。この変数は、そのサーバの使用を許される
+.It clientlimit Ar limit
+.Qq client_limit
+を
+.Ar limit
+にセットし、クライアント制限ポリシの設定を可能にします。
+この変数は、そのサーバの使用を許される
同一ネットワークからのクライアント数を定義します。
-.PP
-.B clientperiod
-.I period
-.PP
-\*(L"client_limit_period\*(R" をセットし、クライアント制限ポリシの設
-定を可能にします。この変数は、その時間後にクライアントがインアクティブに
-なると考えられ、従って制限されるクライアント数にもはや数えられな
-くなるような秒数を指定します。
-.SH "モニタリングオプション"
-.PP
-.B statsdir
-.I /directory path/
-.PP
+.It clientperiod Ar period
+.Qq client_limit_period
+をセットし、クライアント制限ポリシの設定を可能にします。
+この変数は、その時間後にクライアントがインアクティブであるとみなし、
+従って制限されるクライアント数にもはや数えられなくなるような秒数を指定します。
+.El
+.Sh "モニタリングオプション"
+.Bl -tag -width indent
+.It statsdir Ar /directory path/
統計ファイルが作られるべきディレクトリのフルパスを指定します(下記参照)。
このキーワードにより (そうでなければ定数である) filegen ファイル名の
プレフィックスを統計ログ処理に対して用いられるファイル生成セットに対して
修正することが可能となります (下記
-.B filegen
+.Em filegen
文を参照)。
-.PP
-.B statistics
-.IR name \.\.\.
-.PP
+.It statistics Ar name Ns ...
統計レコードの書込みを有効にします。現在のところ、3 種類の統計がサポート
されています。
-.Ip loopstats 10
-ループフィルタの統計情報の記録を有効にします。ローカル時計の更新を
-行う度に、\*(L"loopstats\*(R" と名付けられたファイル生成セットに次の
-形式の行を出力します:
-.PP
-.RS 5
-48773 10847.650 0.0001307 17.3478 2
-.RE
-
-.RS 10
+.Bl -tag -width indent
+.It loopstats
+ループフィルタの統計情報の記録を有効にします。ローカル時計の更新を行う度に、
+.Qq loopstats
+と名付けられたファイル生成セットに次の形式の行を出力します:
+.Dl 48773 10847.650 0.0001307 17.3478 2
最初の 2 つのフィールドは、日付 (ユリウス歴に修正済) と時刻 (UTC
午前 0 時からの秒数)です。次の 3 つのフィールドは、時計の更新時の、
秒での時間オフセット, 100 万分の 1 単位の周波数オフセット,
clock-discipline アルゴリズムの時定数です。
-.RE
-.Ip peerstats 10
-通信相手に関する統計情報の記録を有効にします。これには、存在し初期化
-された NTP サーバと 1-pps シグナルのすべての通信相手に関する統計レコードが
-含まれます。有効な更新が行われる度に、 \*(L"peerstats\*(R" と
-名付けられたファイル生成セットの現在の要素に次の形式の行を出力します:
-.PP
-.RS 5
-48773 10847.650 127.127.4.1 9714 -0.001605 0.00000 0.00142
-.RE
-
-.RS 10
+.It peerstats
+通信相手に関する統計情報の記録を有効にします。これには、存在し設定済みの
+NTP サーバと 1-pps シグナルのすべての通信相手に関する統計レコードが
+含まれます。有効な更新が行われる度に、
+.Qq peerstats
+と名付けられたファイル生成セットの現在の要素に次の形式の行を出力します:
+.Dl 48773 10847.650 127.127.4.1 9714 -0.001605 0.00000 0.00142
最初の 2 つのフィールドは、日付 (ユリウス歴に修正済) と時刻 (UTC
午前 0 時からの秒数)です。次の 2 つのフィールドは、それぞれ
-dotted-quad 記法で表された通信相手のアドレスとステータスです。
+ドット付き 4 つ組記法で表された通信相手のアドレスとステータスです。
ステータスフィールドは、 NTP の仕様である RFC 1305 の Appendix A で記述さ
れたフォーマットに従い 16 進数にエンコードされています。最後の 3 つ
のフィールドは、オフセット, 遅延, ばらつきで、すべて秒単位です。
-.RE
-.Ip clockstats 10
+.It clockstats
時計ドライバの統計情報の記録を有効にします。時計ドライバからの更新を
-受ける度に、 \*(L"clockstats\*(R" と名付けられたファイル生成セット次
-の形式の行を出力します:
-.PP
-.RS 5
-49213 525.624 127.127.4.1 93 226 00:08:29.606 D
-.RE
-
-.RS 10
+受ける度に、
+.Qq clockstats
+と名付けられたファイル生成セット次の形式の行を出力します:
+.Dl 49213 525.624 127.127.4.1 93 226 00:08:29.606 D
最初の 2 つのフィールドは、日付 (ユリウス歴に修正済) と時刻 (UTC
-午前 0 時からの秒数)です。次のフィールドは、dotted-quad 記法で表された
+午前 0 時からの秒数)です。次のフィールドは、ドット付き 4 つ組記法で表された
時計のアドレスです。最後のフィールドは、時計から受け取った最後のタイム
-コードで、ここでは意味のある ASCII 形式になっています。いくつかの
+コードで、ここでは意味のある
+.Tn ASCII
+形式にデコードされています。いくつかの
時計ドライバでは、たくさんの付加的情報が集められ、同様に表示されます。
より詳しくは、それぞれの時計の仕様情報を参照してください。
-.RE
-.PP
+.El
+.Pp
統計ファイルは、ファイル生成セット(下記
-.B filegen
+.Em filegen
を参照)を用いて管理されます。統計を記録することで得られる情報は、
-.I xntpd
+.Nm
サーバの一時的なプロパティ (properties) の解析を可能にします。通常は
-主要な (primary) サーバで役立つだけで、あるいはキャンパスのメイン
+主要な (primary) サーバで役立つだけですが、あるいはキャンパスのメイン
サーバでも役立つかもしれません。
-.PP
-.B filegen
-.I name
-[
-.B file
-.I filename
-] [
-.B type
-.I typename
-] [
-.B flag
-.I flagval
-] [
-.BR link | nolink
-] [
-.BR enable | disable
-]
-.PP
+.It Xo filegen
+.Ar name
+.Op file Ar filename
+.Op type Ar typename
+.Op flag Ar flagval
+.Op link | nolink
+.Op enable | disable
+.Xc
ファイル生成セット (file generation set)
-.IR name
+.Ar name
の設定を行います。ファイル生成セットは、サーバの活動期間を通じて
継続的に大きくなっていくファイルを扱う手段を提供します。サーバ統計は
このようなファイルの典型例です。ファイル生成セットにより、現状のデータ
を格納するのに用いられるファイル集合にアクセスできます。任意の時点で、
集合の高々 1 つの要素への書き込みが行われます。
-.I type
+.Em type
は、その集合の新たな要素に、データが、いつ、どのように出力されるのか
の仕様を与えます。この方法で、
-.I xntpd
+.Nm
の動作を妨げる危険なしに、管理的な操作 (administrational operations)
から、現在使用されていないファイル集合の要素に格納されている情報が、
利用できるようになります。(最重要: それらは、新たな出力データのため
空きを作るのに削除される可能性があります。)要素のファイル名は 3 つの
部分から作られます。
-.Ip prefix 10
+.Bl -tag -width indent
+.It prefix
不変なファイル名のパスです。
-.B filegen
+.Em filegen
文による修正の対象にはなりません。サーバによって定義され、通常コンパイル時の
定数として指定されます。しかし、他のコマンドにより、個別のファイル生成
-セットに対して設定は可能です。たとえば、"loopstats" と
-"peerstats" という filegen で用いられるプレフィックスは、すでに説明した
-.B statsdir
+セットに対して設定は可能です。たとえば、
+.Qq loopstats
+と
+.Qq peerstats
+という filegen で用いられるプレフィックスは、すでに説明した
+.Em statsdir
文を使用して設定できます。
-.Ip filename 10
+.It filename
この文字列は、上で述べた
-.I prefix
-に、( \*(L'/\*(R' (スラッシュ) を入れずに ) 直接連結されます。
-\*(L"filegen\*(R" 文の \*(L"file\*(R" 引数を使って修正できます。
-\*(L"prefix\*(R" により示されるファイル名が、ファイルシステム階層の
-外側を参照しないように、この部分は \*(L"..\*(R" を含んではいけないよ
-うになっています。
-.Ip suffix 10
+.Em prefix
+に、(
+.Sq /
+(スラッシュ) を入れずに ) 直接連結されます。
+.Em filegen
+文の
+.Ar file
+引数を使って修正できます。
+.Em prefix
+により示されるファイル名が、ファイルシステム階層の
+外側を参照しないように、この部分は
+.Qq ..
+を含んではいけないようになっています。
+.It suffix
この部分はファイル集合の各要素を反映します。後述のように、ファイル集合の
-.I type
+.Em type
に従って生成されます。
-.PP
+.El
+.Pp
ファイル生成セットは、その型 (type) により特徴づけられます。次の型が
サポートされています:
-.Ip none 10
+.Bl -tag -width indent
+.It none
ファイル集合は実際には、単一のプレーンファイルです。
-.Ip pid 10
-.I xntpd
+.It pid
+.Nm
サーバの起動ごとに、ファイル集合の 1 つの要素が使われます。この型は、
実行中にファイル集合の要素への変更を一切行いませんが、異なる
-.I xntpd
+.Nm
サーバの起動ごとに別々のファイルをつくる簡単な方法になります。要素の
-ファイル名は、 \*(L"prefix\*(R" と \*(L"filename\*(R" をドット
-(\*(L'.\*(R') でつなげた上、
-.I xntpd
-サーバプロセスのプロセス ID の10進表現をつなげで作られます。
-.Ip day 10
+ファイル名は、
+.Em prefix
+と
+.Em filename
+をドット
+.Pf ( Sq \&. Ns )
+でつなげた上、
+.Nm
+サーバプロセスのプロセス ID の10進表現をつなげて作られます。
+.It day
1 日に 1 つのファイル生成セットの要素が作成されます。ここで、
-.I 日
+.Em 日
という用語は、
.IR UTC
-に基づきます。1 日は、 UTC の 00:00 と 24:00 の間の期間として定義さ
-れます。要素のサフィックスは、ドット \*(L".\*(R" と
-.RI < YYYYMMDD >
+に基づきます。1 日は、 UTC の 00:00 と 24:00 の間の期間として定義されます。
+要素のサフィックスは、ドット
+.Pf ( Qq \&. Ns )
+と
+.Aq < YYYYMMDD >
の形式の日付指定からなります。
-.I YYYY
+.Em YYYY
は 4 桁の西暦年 (たとえば 1992)で、
-.I MM
+.Em MM
は、2 桁の月です。
-.I DD
-は、2 桁の日となります。したがって、1992 年 12 月 10 日に情報はすべ
-て、 \*(L"<prefix><filename>.19921210\*(R" という名前のファイルに書
-かれます。
-.Ip week 10
+.Em DD
+は、2 桁の日となります。したがって、1992 年 12 月 10 日に情報はすべて、
+.Qq <prefix><filename>.19921210
+という名前のファイルに書かれます。
+.It week
どの要素も 1 年の内のある週に関連するデータを含みます。ここで、
-.I 週
-という用語は、年の始まりからの日数の 7 の商により定義されます。この
+.Em 週
+という用語は、
+.Qq 年の始まりからの日数
+の 7 の商により定義されます。この
ようなファイル生成セットの要素は、ファイル集合のファイル名のベースに
次のようなサフィックスをつけることで区別されます。サフィックスは、
-ドット, 4 桁の西暦年, 文字 \*(L"W\*(R", 2 桁の週番号です。例えば、 1992
-年 1 月 10 日からの情報は、サフィックス \*(L".1992W1\*(R" を持つ
-ファイルに出力されます。
-.Ip month 10
+ドット、4 桁の西暦年、文字
+.Qq W
+、2 桁の週番号です。例えば、1992 年 1 月 10 日からの情報は、サフィックス
+.Qq .1992W1
+を持つファイルに出力されます。
+.It month
1 月に 1 つのファイル生成セットの要素が作成されます。ファイル名の
-サフィックスは、ドット, 4 桁の西暦年, 2 桁の月からなります。
-.Ip year 10
+サフィックスは、ドット、4 桁の西暦年、2 桁の月からなります。
+.It year
1 年に 1 つのファイル生成セットの要素が作成されます。ファイル名の
サフィックスは、ドットと 4 桁の西暦年からなります。
-.Ip age 10
+.It age
この型のファイル生成セットは、サーバが 24 時間活動するごとに新たな要素に
-変わります。ファイル名のサフィックスは、ドット, 文字
-\*(L"a\*(R", 8 桁の数からなります。この数は、対応する 24 時間の始め
+変わります。ファイル名のサフィックスは、ドット、文字
+.Qq a
+、8 桁の数からなります。この数は、対応する 24 時間の始め
からサーバが実行されている秒数であるようになります。
-.PP
-情報は、ファイル生成セットが \*(L"enabled\*(R"のときのみ、そのセット
-に書込まれます。出力は \*(L"disabled\*(R"を指定することで抑止されます。
-.PP
+.El
+.Pp
+情報は、ファイル生成セットが
+.Qq enabled
+のときのみ、そのセットに書込まれます。出力は
+.Qq disabled
+を指定することで抑止されます。
+.Pp
ファイル生成セットの
-.I 現在の
+.Em 現在の
要素に決まった名前でアクセスできると便利です。この機能は、
-\*(L"link\*(R" を指定することで有効になり、 \*(L"nolink\*(R" を使っ
-て無効になります。 \*(L"link\*(R" が指定されると、 現在の要素から
-サフイックスを持たないファイルへのハードリンクが作成されます。その名前
+.Qq link
+を指定することで有効になり、
+.Qq nolink
+を使って無効になります。
+.Qq link
+が指定されると、 現在の要素から
+サフィックスを持たないファイルへのハードリンクが作成されます。その名前
を持つファイルが既に存在し、そのファイルのリンク数が 1 の場合、その
-ファイル名に、ドット, 文字 \*(L"C\*(R",
-.I xntpd
+ファイル名に、ドット、文字
+.Qq C
+、
+.Nm
サーバプロセスの pid をつなげて、名前変更を行います。リンク数が 1
以上の場合、ファイルはアンリンクされます。これにより現在のファイルを
定数名でアクセスすることができます。
-.SH "その他のオプション"
-.PP
-.B precision
-.I #
-.PP
+.El
+.Sh "その他のオプション"
+.Bl -tag -width indent
+.It precision Ar #
このコマンドは、ローカル時計の名目上の (nominal) 精度を指定します。
この値は、秒単位のローカルの時間管理精度の底を 2 とする対数に近似的
-に等しい整数です。ふつう、デーモンは起動時に自動的に精度を決定するの
+に等しい整数です。通常、デーモンは起動時に自動的に精度を決定するの
で、このコマンドは、精度を自動的に決定できない特殊な場合にのみ必要に
なります。
-.PP
-.B broadcastdelay
-.I seconds
-.PP
+.It broadcastdelay Ar seconds
ブロードキャストおよびマルチキャストモードは、ローカルとリモートサーバ間の
ネットワーク遅延を決定するため、特別の修正を必要とします。通常、
この修正は、ローカルとリモートサーバ間の最初のプロトコル交換により、
自動的に行われます。修正手続きは、例えば、ネットワークもしくはサーバ
のアクセス制御のために失敗する可能性があります。このコマンドは、これ
らの状況下で使用されるデフォルトの遅延を指定します。(イーサネットに
対する)典型としては、0.003 から 0.007 秒が適切です。このコマンドが使
-用されない場合のデフォルトは、 0.004 秒です。
-.PP
-.B trap
-.I host_address
-[
-.B port
-.I port_number
-] [
-.B interface
-.I interface_addess
-]
-.PP
+用されない場合のデフォルトは、0.004 秒です。
+.It Xo trap
+.Ar host_address
+.Op port Ar port_number
+.Op interface Ar interface_addess
+.Xc
このコマンドは、指定されたローカルインタフェースに送られる
メッセージに対する、所与のホストアドレスとポート番号でのトラップレシーバを
設定します。ポート番号が指定されない場合、 18447 が使用されます。
インタフェースアドレスが指定されない場合、メッセージが送信時に通過する
ローカルインタフェースのアドレスをソースアドレスとしてメッセージが
送られます。マルチホームのホストでは、使用されるインタフェースが、
ルーティングの変更にともない変化し得ることに注意してください。
-.PP
+.Pp
トラップレシーバは、一般には、イベントメッセージやサーバからのその他
の情報をログファイル中に記録するものです。このようなモニタプログラム
はまた、それら自身のトラップをダイナミックに要求するかもしれませんが、
トラップレシーバの設定は、サーバのスタート時にメッセージが失われない
ことを保証することになっています。
-.PP
-.B setvar
-.I variable
-.I [default]
-.PP
+.It Xo setvar
+.Ar variable
+.Op Ar default
+.Xc
このコマンドは、付加的なシステム変数を追加します。これらの変数は、
アクセスポリシなどの付加的な情報を配布するために使用できます。
<name>=<value> の形式の変数に、キーワード
-.I default
+.Em default
が続いた場合、変数はデフォルトのシステム変数の一部としてリストされる
ようになります (
-.I ntpq rv
+.Pf ( Nm ntpq
コマンド) 。これら付加的な変数は、情報を与える目的だけを果たします。
リストされ得ると言うこと以外に、プロトコルに関係しません。
既知のプロトコル変数は常に、
-.I setvar
+.Em setvar
の機構により定義されたいかなる変数よりも優先されます。
-.PP
+.Pp
同一グループのすべての変数の名前を含む 3 つの特別な変数があります。
-.I sys_var_list
+.Em sys_var_list
は、すべてのシステム変数の名前を保持しています。
-.I peer_var_list
-は、すべての peer (交信相手) 変数の名前を保持しています。
-.I clock_var_list
+.Em peer_var_list
+は、すべての更新相手 (peer) 変数の名前を保持しています。
+.Em clock_var_list
は、参照時計変数の名前を保持しています。
-.PP
-.B monitor yes|no
-.B authenticate yes|no
-.PP
+.It monitor Ar yes|no
+.It authenticate Ar yes|no
これらのコマンドは、
-.B enable
+.Em enable
-.B disable
+.Em disable
コマンドに置き換えられました。ここにあげたのは歴史を述べるためです。
-.SH "認証キーファイルのフォーマット"
-.PP
-NTP 標準は、受信した NTP パケットの認証の確認を可能とし、送信パケット内の
+.El
+.Sh "認証キーファイルのフォーマット"
+.Tn NTP
+標準は、受信した NTP パケットの認証の確認を可能とし、送信パケット内の
認証の指示を与えるための拡張を定めています。これは、
-.I xntpd
+.Nm
においては、デジタル署名, あるいは message-digest を計算するため、
DES もしくは MD5 アルゴリズムを使用して実装されています。この仕様は、
-32 ビットのキー識別子により、ほぼ 40 億分の 1 が、連携 (association)
+32 ビットのキー識別子により、約 40 億個のうちの 1 つが、連携 (association)
の認証に使用できるようにしています。連携に含まれるサーバは、各々独立
にキーとキー識別子を学習せねばならないにも関わらず、データを認証する
のに使用されるキーとキー識別子に合意せねばなりません。 DES の場合、
キーは 56 ビット長で、型によっては各バイトにパリティがつきます。MD5
の場合、キーは 64 ビット (8 バイト) です。
-.I xntpd
+.Nm
は、
コマンドラインオプション
-.B -k
+.Fl k
もしくは設定ファイル中の
-.B keys
+.Em keys
文を使用して指定されるファイルからキーを読み込みます。キー番号 0 は、
-NTP 標準によって (56 ビットの 0 として) 決定されており、変更できませ
-んが、一方、1 から 15 のキー番号の内の 1 つ以上がキーファイル中で任意に
+.Tn NTP
+標準によって (56 ビットの 0 として) 決定されており、変更できませんが、
+一方、1 から 15 のキー番号の内の 1 つ以上がキーファイル中で任意に
セットできます。
-.PP
+.Pp
キーファイルは、設定ファイルと同様のコメント記述法
を使用しています。キーエントリはの形式の固定されたフォーマットを
-使用します。
-.Ip "" 5
-.I "keyno type key"
-.PP
-の形式の固定されたフォーマットを使用します。ここで、 \*(L"keyno\*(R"
-は正の数、 \*(L"type\*(R" はキーが与えられる形式を定義する単一文字、
-\*(L"key\*(R" はキーそれ自身です。
-.PP
-キーは、 \*(L"type\*(R" 文字による制御で、3 つの異なるフォーマットの
+使用します:
+.Pp
+.Dl keyno type key
+.Pp
+の形式の固定されたフォーマットを使用します。ここで、
+.Em keyno
+は正の数、
+.Em type
+はキーが与えられる形式を定義する単一文字、
+.Em key
+はキーそれ自身です。
+.Pp
+キーは、
+.Em type
+文字による制御で、3 つの異なるフォーマットの
内の 1つで与えられます。3 つのキーの型とそれに対応するフォーマットは、
-次にあげるとおりです。
-.Ip "S" 5
-\*(L"key\*(R" は、 DES のドキュメントに定められたフォーマットの 64
+次にあげるとおりです:
+.Bl -tag -width indent
+.It S
+.Em key
+は、 DES のドキュメントに定められたフォーマットの 64
ビットの 16進数で、各オクテットの上位 7 ビットが使用された 56 ビット
キーです。各オクテットの下位 1 ビットは、オクテットを奇数パリティに
保つように与えられます。先頭の 0 は省略できません (すなわち、キーは
正確に 16 桁の 16 進数である必要があります) 。また、奇数パリティが保
たれねばなりません。それゆえ、ゼロキーは、標準フォーマットで、
-.I 0101010101010101
+.Em 0101010101010101
として与えられます。
-.Ip "N" 5
-\*(L"key\*(R" は、 NTP 標準で定められたフォーマットの 64 ビットの 16
-進数です。これは、各オクテットを 1 ビット右 rotate して、パリティビッ
-トがオクテットの上位ビットになったことを除いては、 DES フォーマット
-と同じです。先頭の 0 は省略できず、奇数パリティが保たれねばなりませ
-ん。ゼロキーは、 NTP フォーマットで、
-.I 8080808080808080
+.It N
+.Em key
+は、
+.Tn NTP
+標準で定められたフォーマットの 64 ビットの 16
+進数です。これは、各オクテットを 1 ビット右 rotate して、パリティビットが
+オクテットの上位ビットになったことを除いては、DES フォーマット
+と同じです。先頭の 0 は省略できず、奇数パリティが保たれねばなりません。
+0 キーは、 NTP フォーマットで、
+.Em 8080808080808080
のように指定されます。
-.Ip "A" 5
-\*(L"key\*(R" は 1 文字から 8 文字の ASCII 文字列です。キーは、文字
-列中の各文字の ASCII 表現の下位 7 ビットを使用して構成されます。56
+.It A
+.Em key
+は 1 文字から 8 文字の ASCII 文字列です。キーは、文字列中の各文字の
+.Tn ASCII
+表現の下位 7 ビットを使用して構成されます。56
ビット幅のキーを作るために、 Unix パスワードから暗号化キーを作るのと
同じ方法で、必要なら 0 が右端に付加されます。
-.Ip "M" 5
-\*(L"key\*(R" は 1 文字から 8 文字の ASCII 文字列で、 MD5 の認証方式
+.It M
+.Em key
+は 1 文字から 8 文字の
+.Tn ASCII
+文字列で、 MD5 の認証方式
を使用しています。キーと認証方式 (DES または MD5) の両方が、同じキー
番号を共有する一組の交信相手の間で一意であることが、必要であることに
注意してください。
-.PP
+.El
+.Pp
設定ファイルの
-.B requestkey
+.Em requestkey
文の方法で、
-.IR xntpdc (8)
+.Xr xntpdc 8
プログラムを用いてなされる実行時の設定要求を認証するために、キーの内
1 つが選択できます。後者のプログラムは、パスワードとして端末からキー
-を得ます。ですから、一般に、この目的のために使用されるキーを ASCII
+を得ます。ですから、一般に、この目的のために使用されるキーを
+.Tn ASCII
表現で指定するのは、適切なことです。
-.SH 主要な時計サポート (PRIMARY CLOCK SUPPORT)
-.I xntpd
+.Sh 主要な時計サポート (PRIMARY CLOCK SUPPORT)
+.Nm
は、オプションで、いくつかの型の参照時計に対するサポートを含むように
コンパイルできます。参照時計は、一般に (常にではなく)、カナダの NRC
やアメリカの NIST により提供されるサービスと同様の標準時刻の供給源に
同期している無線時刻コード受信機です。コンピュータと時刻コード受信機
の間のインタフェースはデバイス依存で多種にわたりますが、多くは
シリアルポートです。
-.PP
+.Pp
多種類の参照時計ドライバに対するサポートは、他の場所で記述された
コンパイラ定義のコードを使用して、条件コンパイルされます。参照時計を設定
しようとする試みは、特定のサポートが得られないか、ハードウェアポート
が適切に設定されていないとき、システムログファイルに警告を残しますが、
そのほかでは障害となりません。
-.PP
+.Pp
設定のために、
-.I xntpd
-は、参照時計を、できるかぎり普通の NTP の交信相手にするのと同じよう
+.Nm
+は、参照時計を、できるかぎり普通の
+.Tn NTP
+の交信相手にするのと同じよう
な方法で扱います。参照時計は、普通の交信相手と同様にアドレスで参照さ
れますが、普通の交信相手と区別するため、無効なアドレスが使用されます。
参照時計のアドレスは、
-.I 127.127.t.u
+.Em 127.127.t.u
の形式となります。ここで、
-.I t
+.Em t
は、時計の型を示す整数で、
-.I u
+.Em u
は、型で特定されるユニット番号を示します。参照時計は、設定ファイル中の
-.B server
+.Em server
文を使用して設定されます。このときの
-.I host_address
+.Em host_address
は、時計のアドレスです。
-.I key
-と
-.I version
-と
-.I ttl
+.Em key ,
+.Em version ,
+.Em ttl
オプションは、参照時計サポートのためには使用されませんが、
-.I prefer
+.Em prefer
オプションは、ある参照時計を、それが望ましい場合には、他の参照時計や
交信相手より少し熱心に大事に扱わせるよう、サーバに促すのにうまく使え
ます。時計のアドレスは、一般に設定ファイル中で普通
の IP アドレスが使用できるところならどこでも使用できます。例えば、
-.B restrict
+.Em restrict
文中などですが、このような使用法は普通は奇妙に思えるでしょう。
-.PP
+.Pp
参照時計サポートは、特別の方法で参照時計を設定するのに使用できる
-.B fudge
+.Em fudge
コマンドを与えます。
以下は、このコマンドに適用される一般的なフォーマットです。
-.PP
-.B fudge
-.I 127.127.t.u
-[
-.B time1
-.I secs
-] [
-.B time2
-.I secs
-] [
-.B stratum
-.I int
-] [
-.B refid
-.I int
-] [
-.B flag1
-.I 0|1
-] [
-.B flag2
-.I 0|1
-] [
-.B flag3
-.I 0|1
-] [
-.B flag4
-.I 0|1
-]
-.PP
-.I time1
+.Pp
+fudge
+.Ar 127.127.t.u
+.Op time1 Ar secs
+.Op time2 Ar secs
+.Op stratum Ar int
+.Op refid Ar int
+.Op flag1 Ar 0|1
+.Op flag2 Ar 0|1
+.Op flag3 Ar 0|1
+.Op flag4 Ar 0|1
+.Pp
+.Em time1
-.B time2
+.Em time2
オプションは、秒単位の固定小数点で指定され、いくつかの時計ドライバで
は、補正定数として使用されます。慣習により、別のやり方で示されない限り、
-.B time1
+.Em time1
は、特定の時計の名目上の時間オフセットを、高精度の PPS 信号のような、
外部の標準に一致させるように調整するための補正定数として使用されます。
指定されたオフセットは、内部の DIP スイッチのような他の手段により与えられた
伝搬遅延に付加されます。
-.B stratum
+.Em stratum
オプションは 0 から 15 までの数で、時計に対し非標準の operating
stratum を割当てるのに使用します。
-.B refid
-オプションは、 1 から 4 文字までの ASCII 文字列で、時計に対し非標準
+.Em refid
+オプションは、 1 から 4 文字までの
+.Tn ASCII
+文字列で、時計に対し非標準
の参照識別子を割当てるのに使用します。最後に、4つの 2 値フラグ
-.B flag1,
-.B flag2,
-.B flag3,
-.B flag4
+.Em flag1 ,
+.Em flag2 ,
+.Em flag3 ,
+.Em flag4
は、時計ドライバをカスタマイズするのに使用されます。これらの値の解釈
や、ともかくそれらが用いられるのかどうかは、特定の時計ドライバが必要
とするかに関わっています。しかし、慣習により、別のやり方で示されない
限り、
-.B flag3
+.Em flag3
は、 ppsclock ストリームモジュールを設定されるドライバにアタッチする
のに使用され、一方、
-.B flag4
+.Em flag4
は、
-.I filegen
+.Em filegen
コマンドで設定される時計統計 (clockstats) ファイルへの詳細なモニタリング
データの記録を有効にするために使用されます。 ppsclock ストリーム
モジュールについてのさらなる情報は、現在の xntp3 プログラムの
-ディストリビューション中の ./kernel ディレクトリの README ファイル内にあり
-ます。この機能についてのさらなる情報は、
-同じディストリビューション中の ./scripts/stats ディレクトリにあります。
-.PP
+ディストリビューション中の
+.Pa ./kernel
+ディレクトリの
+.Pa README
+ファイル内にあります。この機能についてのさらなる情報は、
+同じディストリビューション中の
+.Pa ./scripts/stats
+ディレクトリにあります。
+.Pp
通常、参照時計の stratum は、デフォルトで 0 です。
-.I xntpd
+.Nm
デーモンは、各交信相手の stratum に 1 を加算するので、主要 (primary)
サーバは、通常 stratum 1 を示します。巧みに運用されたバックアップを
与えるために、参照時計の stratum を 0 以上に指定することは、役に立つ
ことが多いです。
-.B stratum
+.Em stratum
オプションは、この目的のために使用されます。また、参照時計と 1-pps
discipline 信号の両方を含む場合、ドライバによっては、参照時計識別子
をデフォルト以外に指定することは有用です。
-.I refid
+.Em refid
オプションは、この目的のために使用されます。そう記されていない限り、
これらのオプションは、すべての時計ドライバに適用されます。
-.PP
+.Pp
現在、Unix マシン上の
-.I xntpd
+.Nm
は、バックアップとして用いられる、あるいは他の時計供給源が与えられな
いとき使用される特殊な仮想時計に加えて、いくつかの異なる型の時計
ハードウェアをサポートしています。たいていの時計ドライバの場合、xntp3
-プログラムのディストリビューション中の ./doc ディレクトリの README
+プログラムのディストリビューション中の
+.Pa ./doc
+ディレクトリの
+.Pa README
ファイル内で述べられているように 1-pps 精度のタイミング信号に対する
サポートが利用可能です。時計ドライバ、およびそれらを設定するのに使用される
-アドレスは、現在の xntp3 プログラムのディストリビューション中の doc
-ディレクトリの README.refclocks で記述されています。
-.PP
-.SH 変数
-NTP protocol により用いられるたいていの変数は、
-.I xntpdc
+アドレスは、現在の xntp3 プログラムのディストリビューション中の
+.Pa doc
+ディレクトリの
+.Pa README.refclocks
+で記述されています。
+.Sh 変数
+.Tn NTP
+プロトコルにより用いられるたいていの変数は、
+.Nm xntpdc
(モード 7 メッセージ) と
-.I ntpq
+.Nm ntpq
(モード 6 メッセージ) で、調べることができます。
現在は、ごくわずかの変数が、モード 6 メッセージを通して変更可能です。
-
これらの変数は、
-.I setvar
+.Em setvar
の指示で作られたか、リープ警告 (leap warning) 変数かのどちらかです。
リープ警告ビットは、
-.B leapwarning
+.Em leapwarning
変数で (1 ヶ月前までに) セットされます。
-.B leapwarning
+.Em leapwarning
-.B leapindication
+.Em leapindication
変数内の両方が通常の
-.B leap
+.Em leap
ビット解釈と少し違ったエンコーディングを持っています:
-.P
-.Ip 00 8
+.Bl -tag -width indent
+.It 00
デーモンは、同期源のリープビットを渡します (通常モードの動作) 。
-.Ip 01/10 8
-リープ秒が、付加/削除されます (オペレータによるリープ秒の強制)。
-.Ip 11 8
+.It 01/10
+うるう秒 (leap second) が、付加/削除されます (オペレータによるうるう秒の強制)。
+.It 11
同期源からのリープ情報は、無視されます (それゆえ LEAP_NOWARNING が
与えられます) 。
-.PP
-.SH 関連ファイル
-.Ip /etc/ntp.conf 20
+.El
+.Sh 関連ファイル
+.Bl -tag -width /etc/ntp.drift -compact
+.It /etc/ntp.conf
デフォルトの設定ファイル名
-.Ip /etc/ntp.drift 20
+.It /etc/ntp.drift
ドリフトファイルの慣習上の名前
-.Ip /etc/ntp.keys 20
+.It /etc/ntp.keys
キーファイルの慣習上の名前
-.SH 関連項目
-.PP
-.IR xntpdc (8),
-.IR ntpq (8),
-.IR ntpdate (8)
-.SH 歴史
-.PP
+.El
+.Sh 関連項目
+.Xr ntpdate 8 ,
+.Xr ntpq 8 ,
+.Xr xntpdc 8
+.Sh 歴史
+コマンドは
+University of Toronto の
+.An Dennis Ferguson
+によって書かれました。
+テキストは University of Delaware の
+.An David Mills
+により修正されました。
+.Sh バグ
.Nm
-コマンドはトロント大学の Dennis Ferguson によって書かれました。
-テキストはデラウェア大学の David Mills により修正されました。
-.SH バグ
-.PP
-.I xntpd
はかなり大きくなってしまいました。巨大とは言いませんが、ワークステーションで
実行される可変プライオリティのデーモンとして望ましい大きさを
超えてしまいました。それは特に、かさばる凝った特徴の多くが、高い
stratum のワークステーションよりは、高負荷の主要 (primary) サーバに
あわせて設計されているからです。
diff --git a/ja/man/man8/xntpdc.8 b/ja/man/man8/xntpdc.8
index f9679f4d8d..1b907015f6 100644
--- a/ja/man/man8/xntpdc.8
+++ b/ja/man/man8/xntpdc.8
@@ -1,737 +1,642 @@
-''' $Header
-'''
-.de Sh
-.\" jpman %Id: xntpdc.8,v 1.3 1997/09/10 04:36:59 yugawa Stab %
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH XNTPDC 8 LOCAL
-.SH 名称
-xntpdc - Network Time Protocol デーモンのための問い合わせ、制御プログラム
-.SH 書式
-.B xntpdc
-[
-.B -ilnps
-] [
-.B -c
-.I command
-] [
-.I host
-] [
-.I ...
-]
-.SH 解説
-.I xntpdc
-は、
-.IR xntpd (8)
+.\"
+.\" %Id: xntpdc.8,v 1.3 1998/02/19 08:05:46 charnier Exp %
+.\"
+.Dd December 21, 1993
+.Dt XNTPDC 8
+.Os
+.Sh 名称
+.Nm xntpdc
+.Nd Network Time Protocol デーモンのための問い合わせ、制御プログラム
+.Sh 書式
+.Nm xntpdc
+.Op Fl ilnps
+.Op Fl c Ar command
+.Op Ar host ...
+.Sh 解説
+.Nm
+は
+.Xr xntpd 8
デーモンの現在の状態についての問い合わせや、状態の変更を要求する際に使
われます。このプログラムは、対話的なモードでもコマンドライン引数を
使った制御でも動作させることができます。
広範囲にわたる状態や統計の情報が、
-.I xntpdc
+.Nm
のインタフェースを通じて提供されています。
それに加えて、
-.I xntpd
+.Nm xntpd
の設定ファイルを使って起動時に指定できるほとんどすべて
のオプションが、
-.I xntpdc
+.Nm
を使って、実行時にも指定できます。
-.PP
-.I xntpdc
-が実行されたとき、一つまたは複数のリクエストオプションが、
+.Pp
+.Nm
+が実行されたとき、1 つまたは複数のリクエストオプションが、
コマンドラインに含まれる場合は、それぞれのリクエストは、コマンドライン
引数で与えられるホスト、またはデフォルトである
-.I localhost
-の NTP サーバに送られます。
+.Ar localhost
+の
+.Tn NTP
+サーバに送られます。
リクエストオプションが付けられなかったとき、
-.I xntpdc
+.Nm
はコマンドを標準入力から読み込もうとし、コマンドラインで与えられた
-最初のホストで走っている NTP サーバに対してそのコマンドを実行します。
+最初のホストで走っている
+.Tn NTP
+サーバに対してそのコマンドを実行します。
ホストが指定されなかったときは、
デフォルトである
-.I localhost
+.Ar localhost
のサーバに対して実行します。
-.I xntpdc
+.Nm
は、標準入力が端末である場合だけ、プロンプトを出します。
-.PP
-.I xntpdc
-は、 NTP サーバとの通信に NTP mode 7 パケットを使うため、
+.Pp
+.Nm
+は、
+.Tn NTP
+サーバとの通信に
+.Tn NTP
+モード 7 パケットを使うため、
ネットワーク上でそれを許すような互換サーバへの問い合わせに使えます。
-NTP は UDP プロトコルなので、特にネットワークトポロジー的に遠くに
+.Tn NTP
+は UDP プロトコルなので、特にネットワークトポロジー的に遠くに
ある場合は、この通信はやや信頼性に欠けるということを覚えておいて下さい。
-.I xntpdc
+.Nm
は、リクエストを再送する試みを行ないません。適当なタイムアウト時間の
範囲内でリモートホストから返答がなかったときは、時間切れとなります。
-.PP
+.Pp
コマンドラインオプションは以下の通りです。
-.B -i
+.Fl i
または
-.B -n
+.Fl n
以外のコマンドラインオプションを指定すると、指定したホスト (群) に、
指定した問い合わせ (または複数の問い合わせ) を直ちに送ることになります。
指定しなかった場合、
-.I xntpdc
+.Nm
は標準入力から対話的なフォーマットのコマンドを読み込もうとします。
-.Ip -c 8
+.Bl -tag -width indent
+.It Fl c
次の引数が対話的なフォーマットのコマンドとして解釈され、指定したホストで
実行されるようにコマンドのリストに加えられます。
複数の
-.B -c
+.Fl c
オプションを与えることができます。
-.Ip -i 8
-.I xntpdc
+.It Fl i
+.Nm
を強制的に対話的モードで動作させます。標準出力にプロンプトが
表示され、標準入力からコマンドが読み込まれます。
-.Ip -l 8
+.It Fl l
サーバに既知の peer のリストを取得します。このスイッチは、
-\*(L"-c listpeers\*(R" と同等です。
-.Ip -n 8
+.Qq -c listpeers
+と同等です。
+.It Fl n
すべてのホストアドレスを、標準的なホスト名でなく、ドット区切りの 4 個
の数値で出力します。
-.Ip -p 8
+.It Fl p
サーバに既知の peer のリストと、それらの状況の要約を出力します。
-これは、 \*(L"-c peers\*(R" と同等です。
-.Ip -s 8
+これは、
+.Qq -c peers
+と同等です。
+.It Fl s
サーバに既知の peer のリストと、それらの状況の要約を、
-.B -p
+.Fl p
スイッチとは少し異なるフォーマットで出力します。
-これは \*(L"-c dmpeers\*(R" と同等です。
-.SH 内部コマンド
-.PP
+これは
+.Qq -c dmpeers
+と同等です。
+.El
+.Sh 内部コマンド
対話的なフォーマットのコマンドは、キーワードとそれに続く 0 から 4 個の
引数から構成されます。キーワード全長のうち、他と区別できる文字数が
タイプされれば、有効になります。
コマンドの出力は通常標準出力に送られますが、コマンドライン上で
-\*(L">\*(R" に続けてファイル名を指定することで、個々のコマンドの出力を
+.Qq >
+に続けてファイル名を指定することで、個々のコマンドの出力を
ファイルに送ることができます。
-.PP
+.Pp
いくつかの対話的フォーマットのコマンドは、
.I xntpdc
-プログラム自身の中で全体が実行され、サーバへの NTP mode 7 リクエストは
+プログラム自身の中で全体が実行され、サーバへの
+.Tn NTP
+モード 7 リクエストは
送られません。この種類のコマンドには以下の物があります。
-.PP
-.B ?
-[
-.I command_keyword
-]
-.PP
-\*(L"?\*(R" のみのコマンドは、
-.I xntpdc
+.Pp
+.Bl -tag -width indent
+.It Xo ?
+.Op Ar command_keyword
+.Xc
+.Em ?
+のみのコマンドは、
+.Nm
が知っているすべてのコマンドキーワードのリストを出力します。
-\*(L"?\*(R" とそれに続くコマンドキーワードは、コマンドの機能と用法を
+.Em ?
+とそれに続くコマンドキーワードは、コマンドの機能と用法を
出力します。このコマンドは、
-.I xntpdc
+.Nm
に関して、このマニュアルよりも多分良い情報源となるでしょう。
-.PP
-.B help
-[
-.I command_keyword
-]
-.PP
-.B ?
+.It help Ar command_keyword
+.Em ?
コマンドと同義です。
-.PP
-.B timeout
-.I millseconds
-.PP
+.It timeout Ar millseconds
サーバ問い合わせに対する応答のタイムアウト時間を指定します。デフォルト
は、約 8000 ミリ秒です。
-.PP
-.B delay
-.I milliseconds
-.PP
+.It delay Ar milliseconds
認証を求めるリクエストに含まれるタイムスタンプに加えられる時間を
指定します。これは、長い遅延のあるネットワーク経路や時刻の同期していない
マシン間で (信頼できない) サーバの再設定ができるようにするために
使われます。
-.PP
-.B host
-.I hostname
-.PP
+.It host Ar hostname
問い合わせを送るホストを指定します。
-.I hostname
+.Ar hostname
は、ホスト名でも数値アドレス (ドット区切りの数値 4 つ) でもかまいません。
-.PP
-.B keyid
-.I #
-.PP
+.It keyid Ar #
このコマンドで、認証設定リクエストに使われるキー番号を指定できます。
この番号は、この目的で使うためにサーバが設定したキー番号に一致して
いなければなりません。
-.PP
-.B passwd
-.PP
+.It passwd
このコマンドは、認証設定リクエストに使われるパスワードの入力
(エコーされません) を求めるプロンプトを出します。
-このリクエストが成功するためには、NTP サーバが認証のために使うよう
+このリクエストが成功するためには、
+.Tn NTP
+サーバが認証のために使うよう
設定したキーに、パスワードが一致していなければなりません。
-.PP
-.B "hostnames yes|no"
-.PP
-\*(L"yes\*(R" が指定されると、情報の表示の際、ホスト名が使用されます。
-\*(L"no\*(R" が与えられると、代わりに数値アドレスが使用されます。
+.It hostnames Ar yes|no
+.Ar yes
+が指定されると、情報の表示の際、ホスト名が使用されます。
+.Ar no
+が与えられると、代わりに数値アドレスが使用されます。
コマンドラインの
-.B -n
+.Fl n
スイッチが使われなければ、
-デフォルトは \*(L"yes\*(R" になります。
-.PP
-.B quit
-.PP
-.I xntpdc
+デフォルトは
+.Ar yes
+になります。
+.It quit
+.Nm
を終了します。
-.SH 問い合わせコマンド
-.PP
-問い合わせコマンドは、情報を要求する NTP mode 7 パケットをサーバに送ります。
-これらは、サーバの設定状態を変更できない \*(L"読み込み専用\*(R" コマンドです。
-.PP
-.B listpeers
-.PP
+.El
+.Sh 問い合わせコマンド
+問い合わせコマンドは、情報を要求する
+.Tn NTP
+モード 7 パケットをサーバに送ります。
+これらは、サーバの設定状態を変更できない
+.Qq 読み込み専用
+コマンドです。
+.Bl -tag -width indent
+.It listpeers
サーバが状態を管理する peer の簡略なリストを得て、出力します。
これには、サーバが同期する予定の候補であるとみなす階層の peer を含めた、
すべての設定された隣接 peer を含んでいるはずです。
-.PP
-.B peers
-.PP
+.It peers
サーバが状態を管理する peer と、その状態の要約を出力します。
状態の要約は、以下のものを含みます。すなわち、リモート peer のアドレス、
ローカルインタフェースアドレス (ローカルアドレスが決まっていないなら
0.0.0.0) 、リモート peer の階層 (階層 16 は、リモートの peer が同期していない
事を示します)、秒で表すポーリング間隔、8 進で表す到達可能性レジスタ、
peer の現在の遅れ、オフセット、バラツキの秒で表した推定値です。
更に、左端の文字は、この peer エントリが操作しているモードを
-示します。 \*(L"+\*(R" は symmetric active を、 \*(L"-\*(R" は、
-symmetric passive を表し、 \*(L"=\*(R" は、リモートサーバが
-クライアントモードでポーリングされていることを意味し、 \*(L"^\*(R" は、
-サーバがこのアドレスに broadcast していることを示し、 \*(L"~\*(R" は、
-リモート peer が broadcast を送っていることを示し、 \*(L"*\*(R" は、
-サーバが現在同期している peer であることを示します。
-.PP
-ホストフィールドの内容は、ホスト名、IP アドレス、パラメータと
-参照時刻実装名、 \*(L"REFCLK(<implementation number>,
-<parameter>)\*(R" の
-4 つの形のうち一つです。 \*(L"hostnames no\*(R" の状態では、
-IP アドレスだけが表示されます。
-.PP
-.B dmpeers
-.PP
+示します。
+.Qq +
+は symmetric active を、
+.Qq -
+は symmetric passive を表し、
+.Qq =
+は、リモートサーバがクライアントモードでポーリングされていることを意味し、
+.Qq ^
+は、サーバがこのアドレスにブロードキャストブロードキャストしていることを示し、
+.Qq ~
+は、リモート peer がブロードキャストを送っていることを示し、
+.Qq *
+は、サーバが現在同期している peer であることを示します。
+.Pp
+ホストフィールドの内容は、ホスト名、IP アドレス、パラメータと参照時刻実装名、
+.Qq REFCLK(<implementation number>, <parameter>)
+の 4 つの形のうち 1 つです。
+.Qq hostnames no
+の状態では、IP アドレスだけが表示されます。
+.It dmpeers
少々異なる peer 要約リストです。
行の左端の文字以外は
-.B peers
+.Em peers
と同じ出力になります。
文字は、時刻選択アルゴリズムの最後のステージに含まれる peer の隣にだけ
-現れます。 \*(L".\*(R" は、誤りチェッカの検出でその peer が捨てられた
-ことを、 \*(L"+\*(R" はチェッカにより同期対象として適切であると判断された
-ことを示します。
-\*(L"*\*(R" は、サーバが現在同期している peer であることを
-示しています。
-.PP
-.B showpeer
-.I peer_address
-[
-.I addr2
-] [
-.I addr3
-] [
-.I addr4
-]
-.PP
-一つ以上の peer の、現在の詳細な内容を表示します。
-値については、 NTP バージョン 2 仕様に詳しく述べられています。
-.PP
-.B pstats
-.I peer_address
-[
-.I addr2
-] [
-.I addr3
-] [
-.I addr4
-]
-.PP
+現れます。
+.Qq \&.
+は、誤りチェッカの検出でその peer が捨てられたことを、
+.Qq +
+はチェッカにより同期対象として適切であると判断されたことを示します。
+.Qq *
+は、サーバが現在同期している peer であることを示しています。
+.It Xo showpeer
+.Ar peer_address
+.Op Ar addr2
+.Op Ar addr3
+.Op Ar addr4
+.Xc
+1 つ以上の peer の、現在の詳細な内容を表示します。
+値については、
+.Tn NTP
+バージョン 2 仕様に詳しく述べられています。
+.It Xo pstats
+.Ar peer_address
+.Op Ar addr2
+.Op Ar addr3
+.Op Ar addr4
+.Xc
指定した peer に関連する統計カウンタを peer 毎に表示します。
-.PP
-.B clockinfo
-.I clock_peer_address
-[
-.I addr2
-] [
-.I addr3
-] [
-.I addr4
-]
-.PP
+.It Xo clockinfo
+.Ar clock_peer_address
+.Op Ar addr2
+.Op Ar addr3
+.Op Ar addr4
+.Xc
peer クロックに関する情報を得て、それを表示します。得られた値は、
設定上のあいまいな要因の情報と他のクロックの性能の情報を
提供してくれます。
-.PP
-.B kerninfo
-.PP
-カーネルの phase-lock ループ操作パラメータを得て、それを表示します。
+.It kerninfo
+カーネルのフェーズロックループ操作パラメータを得て、それを表示します。
この情報は、精度の高い時刻保持機能のために、カーネルが特に
修正されている場合にだけ得られます。
-.PP
-.B loopinfo
-[
-.B oneline|multiline
-]
-.PP
+.It loopinfo Op Ar oneline|multiline
選択されたループフィルタ変数の値を表示します。ループフィルタとは、
-ローカルシステムクロックの調節を行なう NTP の一部です。
-\*(L"offset\*(R" は、パケット処理コードによってループフィルタに
-与えられる最後のオフセットです。 \*(L"frequency\*(R" は、
+ローカルシステムクロックの調節を行なう
+.Tn NTP
+の一部です。
+.Qq offset
+は、パケット処理コードによってループフィルタに与えられる最後のオフセットです。
+.Qq frequency
+は、
parts-per-million (ppm) で表わされるローカルクロックの周波数誤差です。
-\*(L"time_const\*(R" は、 phase-lock ループの"堅固さ"を制御し、
-その速度で発振器のゆらぎを調節します。 \*(L"watchdog timer\*(R" の値は、
-ループフィルタに最後のサンプルのオフセットが与えられてから経過した秒数です。
-\*(L"oneline\*(R" と \*(L"multiline\*(R" オプションはこの情報が
-出力されるフォーマットの指定で、 \*(L"multiline\*(R" がデフォルトです。
-.PP
-.B sysinfo
-.PP
-システム状態変数、すなわち、ローカルサーバに関する状態の変化を
-表示します。
-最後の 4 行以外は、皆 NTP バージョン 3 仕様である RFC 1305 で
-述べられています。 \*(L"system flags\*(R" は、いろいろなシステムフラグ
-を表示し、一部は \*(L"enable\*(R" 及び \*(L"disable\*(R" 設定コマンド
-で、それぞれの設定やクリアができます。 \*(L"stability\*(R" は、
-システム周波数の修正がされた後に残る残留周波数誤差で、
+.Qq time_const
+は、フェーズロックループの
+.Qq 堅固さ
+を制御し、その速度で発振器のゆらぎを調節します。
+.Qq watchdog timer
+の値は、ループフィルタに最後のサンプルのオフセットが与えられてから経過した秒数です。
+.Ar oneline
+と
+.Ar multiline
+オプションはこの情報が
+出力されるフォーマットの指定で、
+.Ar multiline
+ がデフォルトです。
+.It sysinfo
+システム状態変数、すなわち、ローカルサーバに関する状態の変化を表示します。
+最後の 4 行以外は、皆
+.Tn NTP
+バージョン 3 仕様である RFC 1305 で述べられています。
+.Qq system flags
+は、いろいろなシステムフラグを表示し、一部は
+.Qq enable
+及び
+.Qq disable
+設定コマンドで、それぞれの設定やクリアができます。
+.Qq stability
+は、システム周波数の修正がされた後に残る残留周波数誤差で、
保守やデバッグに使われます。
多くのアーキテクチャでは、この値は初期の 500 ppm 程度から、.01 から 0.1 ppm
という低い範囲にまで減少します。
もしデーモンが起動されてからも、この値が高いままである場合は、
-ローカルな時計がどこかおかしいか、カーネル変数 \*(L"tick\*(R" が
-間違っているかもしれません。 \*(L"broadcastdelay\*(R" は、
-\*(L"broadcastdelay\*(R" 変更コマンドで設定されるデフォルトの
-ブロードキャスト遅延時間を表示し、 \*(L"authdelay\*(R" は、
-\*(L"authdelay\*(R"変更コマンドで設定されるデフォルトの認証遅延時間を
-表示します。
-.PP
-.B sysstats
-.PP
+ローカルな時計がどこかおかしいか、カーネル変数
+.Qq tick
+が間違っているかもしれません。
+.Qq broadcastdelay
+は、
+.Qq broadcastdelay
+変更コマンドで設定されるデフォルトのブロードキャスト遅延時間を表示し、
+.Qq authdelay
+は、
+.Qq authdelay
+変更コマンドで設定されるデフォルトの認証遅延時間を表示します。
+.It sysstats
プロトコルモジュールで管理される統計カウンタを表示します。
-.PP
-.B memstats
-.PP
+.It memstats
メモリ割り当てコードに関する統計カウンタを表示します。
-.PP
-.B iostats
-.PP
+.It iostats
入力\-出力モジュールで管理される統計カウンタを表示します。
-.PP
-.B timerstats
-.PP
-timer/event キューをサポートするコードで管理される統計カウンタを
-表示します。
-.PP
-.B reslist
-.PP
+.It timerstats
+タイマ/イベントキューをサポートするコードで管理される統計カウンタを表示します。
+.It reslist
サーバの制限リストを得て、表示します。このリストは、
(通常) ソートされた順で出力され、制限がどのように適用されるかを
理解する助けになるかもしれません。
-.PP
-.B monlist
-[
-.I version
-]
-.PP
+.It monlist Op Ar version
モニタ機能により収集、管理されるトラフィックカウントの値を得て、表示します。
通常、バージョン番号は指定する必要がありません。
-.PP
-.B clkbug
-.I clock_peer_address
-[
-.I addr2
-] [
-.I addr3
-] [
-.I addr4
-]
-.PP
+.It Xo clkbug
+.Ar clock_peer_address
+.Op Ar addr2
+.Op Ar addr3
+.Op Ar addr4
+.Xc
時刻参照ドライバのデバッグ情報を得ます。この情報は、
一部のクロックドライバでだけ提供され、
ドライバのソースのコピーが手元に無い場合、ほとんどデコードできません。
-.SH 実行時設定リクエスト
-.PP
-サーバ内で状態を変更するようなリクエストは、すべてサーバが設定した NTP
+.El
+.Sh 実行時設定リクエスト
+サーバ内で状態を変更するようなリクエストは、すべてサーバが設定した
+.Tn NTP
キーを使って認証されます
(この機能はキーを設定しないことで、無効にもできます) 。
キー番号とそれに対応するキーも、
-.I xtnpdc
+.Nm
が知っていなければなりません。
これは、
-.B keyid
+.Em keyid
-.B passwd
+.Em passwd
コマンドを使えば可能で、後者では、暗号化されたキーを使うために
パスワードを求めるプロンプトを端末に出します。
サーバへの認証リクエストを必要とするコマンドが最初に実行された場合でも、
自動的にキー番号とパスワードの入力を要求します。
認証は、そのような変更をする権限を持っているリクエストであるかを
検証するだけでなく、送信エラーに対するより一層の保護を行う事になります。
-.PP
+.Pp
認証リクエストは、常にパケットデータの中に、認証コードの計算に
含まれているタイムスタンプを含んでいます。
このタイムスタンプは、サーバによって受信時刻と比較されます。この差がある小さな
値より大きければ、リクエストは拒否されます。これには二つの理由があります。
-一つは、あなたの LAN のトラフィックを盗み聞きできる誰かによるサーバへの
-単純かつ繰り返しによる攻撃を困難にします。二つ目は、ネットワーク的に
+1 つは、あなたの LAN のトラフィックを盗み聞きできる誰かによるサーバへの
+単純かつ繰り返しによる攻撃を困難にします。2 つ目は、ネットワーク的に
離れたホストから、あなたのサーバへ設定変更リクエストを行なうことを
困難にします。
再設定は、ローカルホストのサーバに対しては簡単で、時刻同期した
同じ LAN 上のホストでも普通に行なえますが、より離れたホストでは
やりにくくなっています。
したがって、適当なパスワードを選択し、キーの配布と防護に注意を払い、
適切なソースアドレス制限が施されれば、実行時再設定の機能については
適切なセキュリティレベルにあることになります。
-.PP
+.Pp
以下のコマンドは皆、認証リクエストです。
-.PP
-.B addpeer
-.I peer_address
-[
-.I keyid
-] [
-.I version#
-] [
-.B prefer
-]
-.PP
+.Bl -tag -width indent
+.It Xo addpeer
+.Ar peer_address
+.Op Ar keyid
+.Op Ar version#
+.Op Ar prefer
+.Xc
与えられたアドレスを設定された隣接 peer として追加し、symmetric active
モードで動作します。
既に隣接 peer として設定されている peer を指定した場合、その peer は
このコマンドが実行されたときに削除
されるか、単に新しい設定に従うよう適当に変更されます。
-オプションの \*(L"keyid\*(R" が 0 でない整数の場合、リモートサーバに
+オプションの
+.Ar keyid
+が 0 でない整数の場合、リモートサーバに
出ていくすべてのパケットは、このキーにより暗号化された
認証フィールドを持つことになります。値が 0 の場合
(または指定されなかった場合)、認証は行なわれません。
-\*(L"version#\*(R" は、1, 2, 3 のどれか
-となり、デフォルトは 3 です。 \*(L"prefer\*(R" キーワードは、
-優先する peer を示します(その結果、可能であれば時刻同期の主要元として
-使用されます)。
+.Ar version#
+は、1, 2, 3 のどれかとなり、デフォルトは 3 です。
+.Ar prefer
+キーワードは、優先する peer を示します
+(その結果、可能であれば時刻同期の主要元として使用されます)。
優先する peer は、 PPS 信号の信頼性も決めます。優先する peer が同期に
適している場合、PPS 信号も信頼できると判断されます。
-.PP
-.B addserver
-.I peer_address
-[
-.I keyid
-] [
-.I version#
-] [
-.B prefer
-]
-.PP
+.It Xo addserver
+.Ar peer_address
+.Op Ar keyid
+.Op Ar version#
+.Op Ar prefer
+.Xc
操作モードがクライアントであること以外は、
-.B addpeer
+.Em addpeer
コマンドと同等です。
-.PP
-.B broadcast
-.I peer_address
-[
-.I keyid
-] [
-.I version#
-]
-.PP
-操作モードが broadcast であること以外は、
-.B addpeer
-コマンドと同等です。この場合、正当なキー識別子とキーが
-必要になります。 \*(L"peer_address\*(R" パラメータは、
-ローカルネットワークのブロードキャストアドレスか、または NTP に
-割り当てられたマルチキャストグループアドレス にできます。
+.It Xo broadcast
+.Ar peer_address
+.Op Ar keyid
+.Op Ar version#
+.Xc
+操作モードがブロードキャストであること以外は、
+.Em addpeer
+コマンドと同等です。この場合、正当なキー識別子とキーが必要になります。
+.Ar peer_address
+パラメータは、ローカルネットワークのブロードキャストアドレスか、または
+.Tn NTP
+ に割り当てられたマルチキャストグループアドレスにできます。
マルチキャストアドレスの場合、マルチキャストに対応したカーネルが
必要になります。
-.PP
-.B unconfig
-.I peer_address
-[
-.I addr2
-] [
-.I addr3
-] [
-.I addr4
-]
-.PP
-このコマンドは、指定した peer (群) から設定されている bit を除きます。
+.It Xo unconfig
+.Ar peer_address
+.Op Ar addr2
+.Op Ar addr3
+.Op Ar addr4
+.Xc
+このコマンドは、指定した peer (群) から設定済みを表すビットを除去します。
多くの場合、これによって隣接 peer の設定が削除されることになります。
-しかしながら、リモートの peer が設定されていない状態のまま継続しようとし、
-それが適切である場合は、隣接関係は、設定されていないモードのまま残る場合も
-あります。
-.PP
-.B fudge
-.I peer_address
-[
-.I time1
-] [
-.I time2
-] [
-.I stratum
-] [
-.I refid
-]
-.PP
+しかしながら、リモートの peer が未設定状態の継続を希望し、
+それが適切である場合は、隣接関係は未設定モードのまま残る場合もあります。
+.It Xo fudge
+.Ar peer_address
+.Op Ar time1
+.Op Ar time2
+.Op Ar stratum
+.Op Ar refid
+.Xc
このコマンドは、あるデータを参照時刻としてセットすることができます。
詳しい情報は、ソースリストを見て下さい。
-.PP
-.B enable auth|bclient|pll|monitor|stats
-[
-.I ...
-]
-.PP
-各種サーバオプションを有効にします。言及されていないフラグ
-は影響を受けません。 \*(L"auth\*(R" フラグは、 peer が信頼できるキーと
-キー識別子を使って正しく認証されたときだけ、設定されていない
-peer にサーバを同期させます。
-デフォルトは無効 (オフ) です。 \*(L"bclient\*(R" フラグは、サーバが
+.It Xo enable
+.Ar auth|bclient|pll|monitor|stats
+.Op Ar ...
+.Xc
+各種サーバオプションを有効にします。言及されていないフラグは影響を受けません。
+.Ar auth
+フラグは、 peer が信頼できるキーと
+キー識別子を使って正しく認証されたときだけ、未設定の
+peer にサーバを同期させます。デフォルトは無効 (オフ) です。
+.Ar bclient
+フラグは、サーバが
ブロードキャストサーバやマルチキャストサーバからのメッセージを
聞く (listen) ようにして、 自動的にそのサーバと隣接関係を設定します。
-デフォルトは無効 (オフ) です。 \*(L"pll\*(R" フラグは、
-サーバがローカルクロックを修正するようにします。
+デフォルトは無効 (オフ) です。
+.Ar pll
+フラグは、サーバがローカルクロックを修正するようにします。
デフォルトは有効 (オン) です。これが設定されていないと、ローカルクロック
は内部の時間および周波数オフセットによって勝手に動作することになります。
-このフラグは、ローカルクロックが他のデバイスやプロトコルにより
-制御されていて、 NTP は他のクライアントが同期するためだけに使われるような
-場合に便利です。 \*(L"monitor\*(R" フラグは、
-モニタ機能 (他を参照のこと) を可能にするもので、
-デフォルトは無効 (オフ) です。 \*(L"stats\*(R" フラグは、統計機能
-ファイル出力 (他の説明を参照のこと) を可能にします。
-デフォルトは、有効 (オン) です。
-.PP
-.B disable auth|bclient|pll|monitor|stats
-[
-.I ...
-]
-.PP
+このフラグは、ローカルクロックが他のデバイスやプロトコルにより制御されていて、
+.Tn NTP
+は他のクライアントが同期するためだけに使われるような場合に便利です。
+.Ar monitor
+フラグは、モニタ機能 (他を参照のこと) を可能にするもので、
+デフォルトは無効 (オフ) です。
+.Ar stats
+フラグは、統計機能ファイル出力 (他の説明を参照のこと) を可能にします。
+デフォルトは有効 (オン) です。
+.It Xo disable
+.Ar auth|bclient|pll|monitor|stats
+.Op Ar ...
+.Xc
各種サーバオプションを無効 (オフ) にします。言及されていない
フラグは影響を受けません。現在有効なフラグは、 enable コマンドのところで
述べられています。
-.PP
-.B restrict
-.I address
-.I mask
-.I flag
-[
-.I flag
-]
-.PP
+.It Xo restrict
+.Ar address
+.Ar mask
+.Ar flag
+.Op Ar flag
+.Xc
フラグ (群) を存在する制限リストエントリに加えるか、または指定した
フラグ (群) で新しいエントリをリストにつけ加えます。
可能なフラグ引数の選択は、以下の通りとなります:
-.Ip ignore 10
+.Bl -tag -width indent
+.It ignore
このエントリにマッチするホストからのすべてのパケットを無視します。
このフラグが指定されると、どんな問い合わせやタイムサーバの
ポーリングにも反応しなくなります。
-.Ip noquery 10
-ソースからの NTP mode 7 のパケット
+.It noquery
+ソースからの
+.Tn NTP
+モード 7 のパケット
(すなわち、情報問い合わせと設定リクエスト) をすべて無視します。
時刻サービスは影響されません。
-.Ip nomodify 10
-サーバの状態を変更しようとする NTP mode 7 のパケット (すなわち、
-実行時再設定) をすべて無視します。
+.It nomodify
+サーバの状態を変更しようとする
+.Tn NTP
+モード 7 のパケット (すなわち、実行時再設定) をすべて無視します。
情報を返すような問い合わせは許されます。
-.Ip notrap 10
+.It notrap
一致するホストへの、モード 6 制御メッセージのトラップサービスを
提供しません。このトラップサービスはモード 6 制御メッセージプロトコルの
サブシステムで、リモートイベントの記録を行うようなプログラムで使用される
事を意図しています。
-.Ip lowpriotrap 10
+.It lowpriotrap
一致するホストによるトラップの優先度を低くします。
サーバが管理できるトラップの数は制限されています (現在の制限は 3)。
-トラップは、通常早い物勝ちベースで割り当てられ、制限に達すると以降の
+トラップは、通常早い者勝ちベースで割り当てられ、制限に達すると以降の
トラップ要求は拒否されます。このフラグは割り当てアルゴリズムを変更し、
優先度の低いトラップは後から発生した通常の優先度のトラップ要求により
無効にされるようになります。
-.Ip noserve 10
-モードが 7 以外の NTP パケットを無視します。要するに、問い合わせは受け
+.It noserve
+モードが 7 以外の
+.Tn NTP
+パケットを無視します。要するに、問い合わせは受け
付けるが、時刻サービスは拒否することになります。
-.Ip nopeer 10
+.It nopeer
問い合わせて来たホストに、状態を保存しない時刻サービスを行ないます。
しかし、たとえ将来同期先の相手として便利だとしても、
これらのホストには peer メモリのリソースを割り当てません。
-.Ip notrust 10
+.It notrust
これらのホストを同期する元としては決して使用しませんが、その他の
部分では通常に扱います。
-.Ip limited 10
+.It limited
これらのホストは同一のネットからのクライアントの数の制限を受けます。
この文脈でいう
ネットとは、ネットの IP の概念 (クラス A 、クラス B 、クラス C 等) を
指します。
-サーバが認識している \*(L"client_limit\*(R" 以下のホスト数で、
-過去 \*(L"client_limit_period\*(R" 秒間アクティブ
+サーバが認識している
+.Qq client_limit
+以下のホスト数で、過去
+.Qq client_limit_period
+秒間アクティブ
だったホストは受け入れられます。同じネットの他のクライアントからの
リクエストは、拒否されます。時刻リクエストパケットだけが考慮されます。
-\*(L"private\*(R" と \*(L"control\*(R" と
-\*(L"broadcast\*(R" のパケットは、クライアントの制限を受けず、
+.Qq Private ,
+.Qq control ,
+.Qq broadcast
+のパケットは、クライアントの制限を受けず、
したがってクライアント数にも数えられません。
クライアントの履歴は、
-.I xntpd
+.Xr xntpd 8
のモニタ機能により保存されます。
-したがって、モニタ機能は、 \*(L"limited\*(R" フラグで制限されたエントリが
-ある限り機能します。
-デフォルトの \*(L"client_limit\*(R" 値は 3 です。
-デフォルトの \*(L"client_limit_period\*(R" 値は 3600 秒です。
-現在、どちらの変数も実行時には変更できません。
-.Ip ntpport 10
+したがって、モニタ機能は、
+.Ar limited
+フラグで制限されたエントリがある限り機能します。
+デフォルトの
+.Qq client_limit
+値は 3 です。デフォルトの
+.Qq client_limit_period
+値は 3600 秒です。現在、どちらの変数も実行時には変更できません。
+.It ntpport
これは制限フラグというより、実際にはマッチアルゴリズム修飾子です。
-これがあると、パケットのソースポートが標準 NTP UDP ポート (123) である
-場合だけ、制限エントリがマッチします。
-\*(L"ntpport\*(R" と non\-\*(L"ntpport\*(R" の両方が指定できます。
-\*(L"ntpport\*(R" の方がより特別に扱われ、リスト中で
-後ろの方にソートされます。
-.PP
-.B unrestrict
-.I address
-.I mask
-.I flag
-[
-.I flag
-]
-.PP
-.I address
+これがあると、パケットのソースポートが標準
+.Tn NTP
+UDP ポート (123) である場合だけ、制限エントリがマッチします。
+.Em ntpport
+と
+.Pf non\- Em ntpport
+の両方が指定できます。
+.Em ntpport
+の方がより特別に扱われ、リスト中で後ろの方にソートされます。
+.El
+.It Xo unrestrict
+.Ar address
+.Ar mask
+.Ar flag
+.Op Ar flag
+.Xc
+.Ar address
-.I mask
+.Ar mask
の引数で指定された制限リストエントリから、指定されたフラグを除きます。
-.PP
-.B delrestrict
-.I address
-.I mask
-[
-.B ntpport
-]
-.PP
+.It Xo delrestrict
+.Ar address
+.Ar mask
+.Op Ar ntpport
+.Xc
制限リストから一致するエントリを削除します。
-.PP
-.B "monitor yes|no"
-.PP
+.It monitor Ar yes|no
モニタ機能を有効または無効にします。
-.B "monitor no"
+.Em monitor Ar no
に続けて
-.B "monitor yes"
+.Em monitor Ar yes
コマンドを送るのは、パケット数をリセットする良い方法です。
-.PP
-.B readkeys
-.PP
+.It readkeys
現在の認証キーのセットを一掃し、キーファイル (これは
-.I xntpd
+.Nm xntpd
設定ファイルの中で指定されていなければなりません) の
再読み込みを行なって新しいセットにします。
こうすることで、サーバを再スタートさせずに暗号化キーの変更ができます。
-.PP
-.B trustkey
-.I keyid
-[
-.I keyid
-] [
-.I keyid
-] [
-.I keyid
-]
-.PP
-一つないしそれ以上のキーを、信頼キーリストに加えます。
+.It Xo trustkey
+.Ar keyid
+.Op Ar keyid
+.Op Ar keyid
+.Op Ar keyid
+.Xc
+1 つないしそれ以上のキーを、信頼キーリストに加えます。
認証が有効になっているとき、信頼性のある時刻を持つ peer は、
信頼キーを使って認証されなければなりません。
-.PP
-.B untrustkey
-.I keyid
-[
-.I keyid
-] [
-.I keyid
-] [
-.I keyid
-]
-.PP
-一つないしそれ以上のキーを、信頼キーリストから削除します。
-.PP
-.B authinfo
-.PP
+.It Xo untrustkey
+.Ar keyid
+.Op Ar keyid
+.Op Ar keyid
+.Op Ar keyid
+.Xc
+1 つないしそれ以上のキーを、信頼キーリストから削除します。
+.It authinfo
既知のキーや実行された暗号化、復号化の数を含む、認証モジュールに関する
情報を返します。
-.PP
-.B setprecision
-.I precision_value
-.PP
-サーバが通知する精度の値を設定します。
+.It setprecision Ar precision_value
+サーバが通知する精度を指定した値に設定します。
値は、 -4 から -20 の範囲の負の整数でなければなりません。
-.PP
-.B traps
-.PP
+.It traps
サーバに設定されているトラップを表示します。
詳しくはソースリストを参照して下さい。
-.PP
-.B addtrap
-.I address
-[
-.I port
-] [
-.I interface
-]
-.PP
+.It Xo addtrap
+.Ar address
+.Op Ar port
+.Op Ar interface
+.Xc
非同期メッセージのトラップをセットします。
詳しくはソースリストを参照して下さい。
-.PP
-.B clrtrap
-.I address
-[
-.I port
-] [
-.I interface
-]
-.PP
+.It Xo clrtrap
+.Ar address
+.Op Ar port
+.Op Ar interface
+.Xc
非同期メッセージのトラップを解除します。
詳しくはソースリストを参照して下さい。
-.PP
-.B reset ...
-.PP
+.It reset Ar ...
サーバのいろいろなモジュールのなかの統計カウンタをクリアします。
詳しくはソースリストを参照して下さい。
-.SH 関連項目
-.PP
-.IR xntpd (8)
-.SH 歴史
-.PP
-Toronto 大学の Dennis Ferguson によって書かれました。
-.SH バグ
-.PP
-.I xntpdc
+.El
+.Sh 関連項目
+.Xr xntpd 8
+.Sh 歴史
+University of Toronto の
+.An Dennis Ferguson
+が作成しました。
+.Sh バグ
+.Nm
は、未完成のハックです。表示される情報の多くは死ぬほど退屈で、実装した
人間だけに気に入られるものです。このプログラムは、新しい (一時的な)
仕様を追加し易いようデザインされており、使いやすくするには手間が
かかります。それでも、このプログラムは、場合によっては有用です。
diff --git a/ja/man/man8/xtend.8 b/ja/man/man8/xtend.8
index 3a88892e27..f4ba50ee58 100644
--- a/ja/man/man8/xtend.8
+++ b/ja/man/man8/xtend.8
@@ -1,177 +1,177 @@
.\" Copyright (c) 1992, 1993 Eugene W. Stark
.\" 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 Eugene W. Stark.
.\" 4. 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 EUGENE W. STARK (THE AUTHOR) ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: xtend.8,v 1.4.2.3 1998/07/19 06:53:05 jkh Exp %
+.\" %Id: xtend.8,v 1.9 1998/03/19 07:37:36 charnier Exp %
.\" jpman %Id: xtend.8,v 1.2 1997/06/16 08:01:33 yugawa Stab %
.\"
.Th XTEND 8 "30 Oct 1993"
.Dd Oct 30, 1993
.Dt XTEND 8
.Os BSD FreeBSD
.Sh 名称
.Nm xtend
.Nd X-10 デーモン
.Sh 書式
.Nm /usr/libexec/xtend
.Sh 解説
.Nm
は、ユーザレベルのプログラムと TW523 X-10 コントローラとのインタフェースを
行います。TW523 から受信した全てのパケットを記録し、全ての X-10 デバイスの
状態を可能な限り追跡し、X-10 デバイスの操作を必要とするユーザレベルの
クライアントプログラムからのソケット接続を受け付けます。
.Pp
.Nm
を起動すると、自分自身をフォークし、制御端末を切り離し、以降発生する
全ての X-10 の活動状況と診断メッセージを記録するログファイルを開きます。
その後、TW523 から受信したパケットの処理を開始し、X-10 のコマンドを発行する
クライアントの接続を 1 度にひとつだけ受け付けます。
.Nm
は、
.Pa /etc/rc.conf
スクリプトにて有効に設定された場合、
.Pa /etc/rc.i386
起動スクリプトから実行されます。
.Pp
.Nm
に SIGHUP を送ると、ログファイルを一旦閉じ、再び開きます。これは、
ログファイルの肥大化を避けるために、シェルスクリプトによりログファイルを
変更する場合に便利でしょう。
.Nm
が SIGTERM を受け取ると、素直にシャットダウンし、終了します。
SIGPIPE を送ると、
.Nm
は現在のクライアント接続を強制的に切り離します。
.Pp
.Nm
は、クライアントのプロセスと、単純なプロトコルを用いて通信を行います。
このプロトコルは、クライアントから送られる 1 行のコマンドに対して、
デーモンが 1 行の応答を行うような単純な物です。
.Pp
.Nm
には、4 種類のコマンドがあります。コマンド:
.Bl -tag
.It status H U
.El
.Pp
に対して、
.Nm
は指定されたデバイスの状態を 1 行で返答します。ここで、H はハウスコードを
示す 1 文字で、U は数字のユニットコードです。
コマンド:
.Bl -tag
.It send H U N
.El
.Pp
に対して、
.Nm
は指定された X-10 の送信を行います。ここで、H はハウスコードを示す 1 文字で、
U は数字のユニットコードまたはリストに対する機能コード(
.Pa xtend/packet.c
ソースファイル参照)、N はギャップなしに送信されるパケットの数 (通常は 2)
です。送信が成功すると、
.B
OK
と応答し、それ以外の場合は、
.B
ERROR
と応答します。
コマンド:
.Bl -tag
.It dump
.El
.Pp
に対して、
.Nm
はスプールディレクトリの
.Tn ASCII
ファイルに全てのデバイスの現在の状態を
ダンプします。状態のダンプに成功したかどうかに関わらず、
.B
OK
と応答します。
コマンド:
.Bl -tag
.It monitor H U
.El
.Pp
に対して、
.Nm
は指定された X-10 デバイスに関する活動状況を報告するクライアントのリストに、
現在のクライアントのソケット接続を加えます。
リスト中のクライアント数の最大値 (現状では 5) を超えなければ、
.B
OK
を返答し、それ以外は
.B
ERROR
を返答します。その後、
.Nm
クライアントからの接続を受け付ける通常モードに戻ります。
しかし、それ以降に指定されたデバイスの状態が変化すると、
.Nm
は (
.B
status
コマンドにより得られる場合と同じ形式で)
デバイスの状態を保存したソケットに送ります。
この機能は、動作検出機等、デバイスの活動状況をモニタする必要があり、
X-10 送信を行うプログラムを作成する場合に便利でしょう。
.Sh オプション
なし。
.Sh 関連項目
.Xr xten 1 ,
.Xr tw 4
.Sh 関連ファイル
.Bl -tag -width /var/spool/xten/Status -compact
.It Pa /dev/tw0
TW523 スペシャルファイル
.It Pa /var/run/tw523
クライアント接続用ソケット
.It Pa /var/run/xtend.pid
pid ファイル
.It Pa /var/spool/xten/Log
ログファイル
.It Pa /var/spool/xten/Status
デバイス状態ファイル(バイナリ)
.It Pa /var/spool/xten/status.out
デバイス情報の
.Tn ASCII
ダンプ
.El
.Sh バグ
現状では、クライアントのソケット接続にタイムアウトはありません。そのため、
ハングしたクライアントプログラムがあると、他のクライアントはデーモンに
アクセスする事ができなくなります。
.Pp
.Nm
はできる限りデバイスの状態を追跡しますが、デバイスが手動で操作された
ことを知る方法はありません。これは、ほとんどの X-10 デバイスが状態の
問い合わせに対して応答する事ができないからです。
.Sh 作者
.An Eugene W. Stark Aq stark@cs.sunysb.edu
diff --git a/ja/man/man8/yp_mkdb.8 b/ja/man/man8/yp_mkdb.8
index 26d0f8cb56..9c3f75eecb 100644
--- a/ja/man/man8/yp_mkdb.8
+++ b/ja/man/man8/yp_mkdb.8
@@ -1,186 +1,186 @@
.\" Copyright (c) 1995, 1996
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: yp_mkdb.8,v 1.2.2.4 1998/07/18 11:38:12 jkh Exp %
+.\" %Id: yp_mkdb.8,v 1.8 1998/03/23 08:30:19 charnier Exp %
.\" jpman %Id: yp_mkdb.8,v 1.3 1997/05/19 17:09:21 horikawa Stab %
.\"
.Dd March 12, 1996
.Dt YP_MKDB 8
.Os
.Sh 名称
.Nm yp_mkdb
.Nd "NIS データベースを作成する"
.Sh 書式
.Nm yp_mkdb
.Fl c
.Nm yp_mkdb
.Fl u Ar dbname
.Nm yp_mkdb
.Op Fl c
.Op Fl b
.Op Fl s
.Op Fl i Ar inputfile
.Op Fl o Ar outputfile
.Op Fl d Ar domainname
.Op Fl m Ar mastername
.Ar inputfile
.Ar dbname
.Sh 解説
.Nm yp_mkdb
は FreeBSD の NIS サーバが使用する
.Xr db 3
スタイルのデータベースを作成します。
.Nm yp_mkdb
はデータを
.Ar inputfile
から読み取り、
そのデータを
.Ar dbname
.Xr db 3
フォーマットで書き込みます (ハッシュテーブル法を使用します)。
入力は 'key data' の形式、
すなわち空白で区切られた 2 つの
.Tn ASCII
データフィールドである必要があります。
1 番目のフィールドはキーであるとされ、他は全てデータであるとされます。
通常、データベースが格納されるのは
.Pa /var/yp/[domainname]
です。ここで、
.Ar domainname
はサーバが対象とする NIS ドメイン名です。
.Nm yp_mkdb
が起動されるのは、通常
.Pa /var/yp/Makefile
からです。
.Nm
で NIS データベースファイルをダンプし、内容検査を行えます。
セキュリティのため、
.Nm
が作成した全てのデータベースは、所有者のみ読み書き可能です
(通常所有者は root です)。
.Sh オプション
.Nm yp_mkdb
コマンドは以下のフラグとオプションをサポートしています:
.Bl -tag -width indent
.It Fl c
YPPROC_CLEAR リクエストをローカルホスト上の
.Xr ypserv 8
宛に送ることを
.Nm
に指示します。
このシグナルにより、
サーバはオープンしているデータベースデスクリプタをクローズし、
データベースキャッシュをフラッシュします。
このフラグを単体で使用した場合、
サーバにシグナルを送るだけで他には何もしません。
データベース作成コマンドとともに使用した場合には、
.Nm
は新たなデータベースが成功裏に作成された後にのみシグナルを送ります。
.It Fl b
このフラグを指定すると、キーが
.Em YP_INTERDOMAIN
でありデータフィールドが空である特別のエントリの
データベースへの追加を
.Nm
に指示します。
このキーがマップ中に存在すると、
.Xr ypserv 8
における 'マッチ' 手続きの動作が何も言わずに変わります。
(キーにマッチするレコードをサーバが見付けられなかったことにより)
マッチ問い合わせが失敗した場合、
その要求されたマップに
.Em YP_INTERDOMAIN
キーが存在する場合には、
.Xr ypserv 8
は今度はそのエントリが DNS でマッチするか検索します。
この特別な振舞は
.Em hosts
マップだけに適用されることに注意して下さい。
他のマップに
.Fl b
フラグを使用しても効果はありません。
.It Fl s
このフラグは、キーが
.Em YP_SECURE
でありデータフィールドが空である特別なエントリを
データベースに追加するために使用します。
このキーがマップ中にあると、
.Xr ypserv 8
は問い合わせのために用意されたポート以外からの
クライアントからのアクセスを拒否します。
これは主に、特権アクセスのみに制限しなければならない
.Em master.passwd
マップのために使用します。
.It Fl u Ar dbname
NIS データベースをダンプします('ほどき'ます)。
既に存在する NIS データベースの内容を検査するために使用可能です。
.It Fl i Ar inputfile
NIS マップ作成時に、キーが
.Em YP_INPUT_FILE
であり
.Ar inputfile
がエンコードされた特別なエントリをデータベース中に作成します。
.It Fl o Ar outputfile
NIS マップ作成時に、キーが
.Em YP_OUTPUT_FILE
.Ar outputfile
がエンコードされた特別なエントリをデータベース中に作成します。
.It Fl d Ar domainname
NIS マップ作成時に、キーが
.Em YP_DOMAIN_NAME
であり
.Ar domainname
がエンコードされた特別なエントリをデータベース中に作成します。
.It Fl m Ar mastername
NIS マップ作成時に、キーが
.Em YP_MASTER_NAME
であり
.Ar mastername
がエンコードされた特別なエントリをデータベース中に作成します。
データベース中のこのエントリは、
ドメイン中の NIS マスタサーバの名前を判定するために、
様々な NIS ユーティリティからしばしば使用されます。
デフォルトでは、
.Nm
はローカルホストが NIS マスタであるとします;
.Fl m
オプションをすればこのデフォルトを上書きできます。
.Sh 関連ファイル
.Bl -tag -width /var/yp/Makefile -compact
.It Pa /var/yp/Makefile
.Nm
を呼び出し NIS データベースを作成する Makefile
.Sh 関連項目
.Xr db 3 ,
.Xr ypserv 8
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja/man/man8/ypbind.8 b/ja/man/man8/ypbind.8
index 52fdda8fd2..db74f85b71 100644
--- a/ja/man/man8/ypbind.8
+++ b/ja/man/man8/ypbind.8
@@ -1,164 +1,182 @@
.\" Copyright (c) 1991, 1993, 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.
.\"
-.\" %Id: ypbind.8,v 1.5.2.3 1997/11/18 07:37:39 charnier Exp %
+.\" %Id: ypbind.8,v 1.12 1998/03/23 08:30:31 charnier Exp %
.\" jpman %Id: ypbind.8,v 1.4 1997/06/18 16:55:44 horikawa Stab %
.\"
.Dd April 9, 1995
.Dt YPBIND 8
.Os
.Sh 名称
.Nm ypbind
.Nd "NIS ドメインをバインドするデーモン"
.Sh 書式
.Nm ypbind
.Op Fl ypset
.Op Fl ypsetme
.Op Fl s
+.Op Fl m
.Op Fl S Ar domainname,server1,server2,...
.Sh 解説
.Nm
は NIS バインド情報を管理するプロセスです。
開始時にネットワークブロードキャストを行い、(
.Xr domainname 1
コマンドにより設定された) システムデフォルトドメインに対して
サービスする NIS サーバを探します。
返答を受け取ると、サーバのアドレス等の情報をファイル
.Pa /var/yp/binding
に格納します。
標準 C ライブラリ中の NIS ルーチンは、
NIS リクエストを処理する時にはこのファイルを使用します。
NIS クライアントは複数のドメインにバインドされる事がありうるため、
このようなファイルが複数ある場合があります。
.Pp
バインドされると、
.Nm
は DOMAIN_NONACK リクエストを NIS サーバ宛に 1 分置きに送ります。
リクエストに対する返答が得られない場合、
.Nm
はサーバがもう実行していないものとし、
別サーバにバインドされるまでネットワークブロードキャストを再開します。
.Nm
は、サーバが返答しなかったことを検知するたび
および新たなサーバにバインドされるたび、
警告メッセージを
.Xr syslog 3
の機能を使用して記録します。
.Sh オプション
以下のオプションが
.Nm
にてサポートされています:
.Bl -tag -width indent
.It Fl ypset
.Xr ypset 8
コマンドを使用し、
指定されたドメインの特定の NIS サーバに
.Nm
を強制的にバインドする事は可能です。
しかし
.Nm
は、正確には誰が要求しているのかを知る事が出来ないため、
YPBINDPROC_SETDOM リクエストをデフォルトでは拒否します。
.Fl ypset
フラグを使用する事により、
.Nm
にあらゆるホストからの YPBINDPROC_SETDOM リクエストを受理させられます。
任意のユーザにより NIS クライアントのバインドがリセットされてしまうという
セキュリティ上の危険がありますので、
このオプションは診断目的および短い期間のみ使用すべきです。
.It Fl ypsetme
これは
.Fl ypset
フラグに似ていますが、YPBINDPROC_SETDOM リクエストがローカルホスト発の場合のみ
処理を許すという点のみ異なります。
.It Fl s
.Nm
を安全モードで実行します:
root 以外により実行されている NIS サーバ
(つまり、特権 TCP ポートを使用していないもの)へのバインドを拒否します。
.It Fl S Ar domainname,server1,server2,server3,...
システム管理者は
.Nm
を特定のドメインおよび NIS サーバグループへロック出来ます。
10 サーバまで指定できます。
domain/server 指定においては、コンマの間には空白を入れてはなりません。
このオプションを指定する事により、
ある 1 つのドメインおよび指定されたサーバのうちの 1 つにのみに
システムがバインドされる事を保証できます。
これは NIS サーバであり NIS クライアントでもあるシステムにて有用です:
システムがバインド可能なマシンの限定を、
しばしばセキュリティホールであるとされる
.Fl ypset
.Fl ypsetme
といったオプションを指定する必要無く行えます。
指定されるサーバの有効なエントリが、ローカルの
.Pa /etc/hosts
ファイルに存在する必要があります。
ホスト名の代わりに IP アドレスを指定しても構いません。
.Nm
が引数を解釈できない場合、
.Fl S
フラグを無視し、通常の動作を行います。
.Pp
.Nm
.Fl S
フラグにより指定されるドメイン名を、システムデフォルトドメインと解釈
することに注意して下さい。
+.It Fl m
+制限されたモードのサーバリストからのサーバ選択において、
+.Nm
+にブロードキャストではなく、
+「メニーキャスト(many-cast)」を使用させます。
+メニーキャストモードでは、制限されたリストで指定されるサーバの
+YPPROC_DOMAIN_NONACK プロシジャに対して直接通信し、
+最も速く返答したサーバに対してバインドします。
+NIS サーバがローカルにない NIS クライアントにおいて、
+このモードが有用です。
+.Fl m
+フラグは上述の
+.Fl S
+フラグと組み合わせてのみ使用可能です (
+.Fl S
+フラグと組み合わせない場合には効果がありません)。
+.El
.Sh 注釈
.Nm
は 2 番目のドメインのバインドを連続して保持しようとはしません。
2 番目のドメインのサーバが ping に応答しない場合、
.Nm
はあきらめる前に一度だけ新たなサーバを探してブロードキャストします。
クライアントプログラムがバインドされていないドメインを参照しようとした場合、
.Nm
は再度ブロードキャストしようとします。
これとは対称的に、クライアントプログラムが参照していようといまいと、
.Nm
はデフォルトドメインへのバインドを自動的に保持します。
.Sh 関連ファイル
.Bl -tag -width /etc/rc.conf -compact
.It Pa /var/yp/binding/[domainname].[version]
NIS ドメインに関連したバインド情報を保持するファイル。
.It Pa /etc/rc.conf
システムデフォルトのドメインと ypbind 開始オプションを指定する
設定ファイル。
.El
.Sh 関連項目
.Xr domainname 1 ,
.Xr syslog 3 ,
.Xr yp 4 ,
.Xr ypserv 8 ,
.Xr ypset 8
.Sh 作者
.An Theo de Raadt Aq deraadt@fsa.ca
diff --git a/ja/man/man8/yppush.8 b/ja/man/man8/yppush.8
index 40cc97e6aa..115e271cb3 100644
--- a/ja/man/man8/yppush.8
+++ b/ja/man/man8/yppush.8
@@ -1,170 +1,170 @@
.\" Copyright (c) 1991, 1993, 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.
.\"
-.\" %Id: yppush.8,v 1.4.2.1 1997/11/18 07:45:16 charnier Exp %
+.\" %Id: yppush.8,v 1.8 1998/03/23 08:30:51 charnier Exp %
.\" jpman %Id: yppush.8,v 1.3 1997/09/09 04:08:40 yugawa Stab %
.\"
.Dd February 5, 1995
.Dt YPPUSH 8
.Os
.Sh 名称
.Nm yppush
.Nd "NIS データベースの更新を強制的に伝搬させる"
.Sh 書式
.Nm yppush
.Op Fl d Ar domain
.Op Fl t Ar timeout
.Op Fl j Ar #parallel jobs
.Op Fl h Ar host
.Op Fl p Ar path
.Op Fl v
.Ar mapname
.Sh 解説
.Nm yppush
は、NIS ドメインにおいて、更新した NIS データベース(もしくは
.Pa マップ )
を NIS マスタサーバから NIS スレーブサーバへ配布します。
通常、NIS マップが更新された場合に NIS マスタの
.Pa /var/yp/Makefile
からのみ起動されます。
.Pa /var/yp/Makefile
はデフォルトでは
.Nm
を起動しない事に注意して下さい:
これを変えるにはまず、Makefile 中の
.Nm NOPUSH=True
エントリをコメントアウトしなければなりません
(デフォルトの
.Bx Free
の設定は小さなネットワークに
単一の NIS サーバがある状況を想定しています; この様な設定では
.Nm
は不要です)。
.Pp
デフォルトでは、
.Nm yppush
はドメイン内のスレーブサーバ名を決定するために
.Pa ypservers
マップを検索します。
宛先ホスト(もしくはホストのリスト)は手動でコマンドラインから指定可能です。
スレーブサーバのリストが与えられると、
`マップ転送' 要求を各スレーブに送信します。
今度はスレーブが、
.Xr ypxfr 8
を使用して、NIS マスタサーバからマップのコピーを読み取ります。
コピーされるマップ名と
.Xr ypxfr 8
.Nm
に `コールバック' して転送を完遂するために必要な特別な情報とが、
各リクエストに含まれます。
コールバックにおいて
.Nm
.Xr ypxfr 8
から受け取るエラーメッセージは全て標準エラー出力に出力されます。
.Pp
.Sh オプション
以下のオプションが使用可能です:
.Bl -tag -width indent
.It Fl d Ar domain
ドメイン名を指定します。
ローカルホストの NIS ドメイン名がデフォルトで使用されます。
ローカルホストのドメイン名が設定されていない場合には、
このフラグでドメイン名を指定しなければなりません。
.It Fl t Ar timeout
タイムアウト値を秒単位で指定します。
このタイムアウトは、
.Nm
がリスト中の次のスレーブサーバ宛にマップ転送要求を送る前に
返答をどれくらい待つかを制御します。
.It Fl j Ar #parallel jobs
.Nm yppush
は通常、転送を逐次的に行います。すなわち、
マップ転送要求を一つのスレーブサーバに送り
次のスレーブサーバに取り掛かる前に返答を待つということです。
多くのスレーブがいる環境では、
同時に複数のマップ転送を開始し、転送を並列に行う方が効率が良くなります。
.Fl j
フラグにて並列処理するジョブ数を指定します:
.Nm
は指定された数の転送をすぐに開始し、返答を待ちます。
並列ジョブ数がスレーブ数より少ない場合は、
.Nm
は指定されたジョブ数の処理のみを開始し、返答を待ち、
処理が完了してから残りの処理に取り掛かります。
.Pp
.Nm
はコールバックを非同期に取り扱う事に注意して下さい。
これはどういうことかというと、
全てのマップ転送要求を送信する前であろうとも、
.Xr ypxfr 8
からコールバック情報を受け取るとすぐに、
この情報を表示する事を意味します。
.It Fl h Ar host
.Pa ypservers
マップ中のサーバのリストの代わりに、
ユーザが指定するマシンもしくはマシンのグループ宛にマップを転送できます。
複数のホストを指定するためには、複数の
.Fl h
フラグを使用します。
.It Fl p Ar path
デフォルトでは、
.Nm
は全てのローカル NIS マップは
.Pa /var/yp
以下に格納してあると期待しています。
.Fl p
フラグにて別のパスを指定することにより、
システム管理者が NIS マップを別の場所に格納する状況に対処できます。
.It Fl v
冗長モード:
.Nm
の実行時にデバッグ情報を表示させます。
このフラグを 2 回指定すると、
.Nm
はより冗長に情報を表示します。
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /var/yp/[domainname]/ypservers
ある NIS ドメインにおける全てのサーバ名を格納した NIS ypservers マップ。
.El
.Sh 関連項目
.Xr yp 4 ,
.Xr ypserv 8 ,
.Xr ypxfr 8
.Sh バグ
NIS v1 における NIS マップ転送機構は NIS v2 におけるものとは異なります。
このバージョンの
.Nm
は NIS v2 システム宛のマップ転送のみをサポートしています。
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja/man/man8/ypserv.8 b/ja/man/man8/ypserv.8
index 468bb7e702..7f63013630 100644
--- a/ja/man/man8/ypserv.8
+++ b/ja/man/man8/ypserv.8
@@ -1,422 +1,422 @@
.\" Copyright (c) 1995
.\" Bill Paul <wpaul@ctr.columbia.edu>. 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 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: ypserv.8,v 1.8.2.3 1997/11/18 07:52:07 charnier Exp %
+.\" %Id: ypserv.8,v 1.15 1998/03/23 08:31:07 charnier Exp %
.\" jpman %Id: ypserv.8,v 1.3 1997/05/19 17:11:16 horikawa Stab %
.\"
.Dd February 4, 1995
.Dt YPSERV 8
.Os
.Sh 名称
.Nm ypserv
.Nd NIS データベースサーバ
.Sh 書式
.Nm
.Op Fl n
.Op Fl d
.Op Fl p Ar path
.Sh 解説
.Tn NIS
は複数の UNIX ベースのマシン間で
共通の設定ファイルの集合を共有するための
RPC ベースのサービスです。
.Tn NIS
では、
.Pa /etc/hosts ,
.Pa /etc/passwd ,
.Pa /etc/group
といった、ほとんどの環境で頻繁に更新されるファイルの複数のコピーを
システム管理者が更新する必要は無く、
計算機のグループで一箇所で更新可能な 1 組のデータを共有することができます。
.Pp
.Nm
.Tn NIS
.Em ドメイン
内のクライアントシステムに
.Tn NIS
データベースを配布するサーバです。
.Tn NIS
ドメイン内のクライアントは
.Xr domainname 1
コマンドを使用し、
.Nm
がサービスしているドメイン名を設定しなければなりません。
また、単一
.Tn NIS
ドメイン中に複数のサーバが存在しうるため、
クライアントは、
.Xr ypbind 8
を実行させ、特定のサーバに接続する必要もあります。
.Pp
.Nm
によって配布されるデータベースは
.Pa /var/yp/[domainname]
に格納されます。
ここで
.Pa domainname
はサービスを受けるドメイン名です。
この様なディレクトリは様々なドメイン名にて複数存在可能ですが、
単一の
.Nm
デーモンにて全て処理可能です。
.Pp
データベース (もしくはしばしば
.Pa マップ
と呼ばれます)は、様々なシステムファイルをソースとして
.Pa /var/yp/Makefile
によって作成されます。
データベースファイルは
.Xr db 3
フォーマットであり、レコード数が多くとも高速に検索可能です。
.Bx Free
では、セキュリティのため、マップの読み書きは root のみ可能です。
技術的には、このような制限はパスワードマップにのみ必要ですが、
他のマップの内容は誰もが読める他のファイルに書いてありますので、
この様な制約は害ではなく、現実的であると考えられています。
.Pp
.Nm
.Pa /etc/rc.conf
にて有効にされている場合に
.Pa /etc/rc.network
から起動されます。
.Sh 特別な仕様
.Bx Free
のパスワードデータベースを
.Tn NIS
によって配布する場合にいくつかの問題があります。
.Bx Free
は通常、暗号化したパスワードを、root のみ読み書き可能な
.Pa /etc/master.passwd
にのみ格納します。
このファイルを
.Tn NIS
マップにすると、セキュリティが完全に破れてしまいます。
.Pp
これに対処するために、
.Bx Free
.Nm
.Pa master.passwd.byname
.Pa master.basswd.byuid
のマップを特別な方法で扱います。
サーバがこれら 2 つのマップへのアクセス要求を受け付けると、
要求元の TCP ポートをチェックし、ポート番号が 1023 より大きい場合には
エラーを返します。
スーパユーザのみ 1024 より小さい TCP ポートにバインドする事を許されているため、
サーバはこれを利用して特権ユーザからの要求か否かを判定できます。
非特権ユーザからの全ての要求は拒否されます。
.Pp
また、
.Bx Free
の標準 C ライブラリ中の
.Xr getpwent 3
ルーチンは、スーパユーザが使用した場合には
.Pa master.passwd.byname
.Pa master.passwd.byuid
のマップからデータを取得します。
通常のユーザがこれらのルーチンをコールした場合には、標準の
.Pa passwd.byname
.Pa passwd.byuid
のマップにアクセスします。後者の 2 つのマップは
.Pa /var/yp/Makefile
により、
.Pa master.passwd
ファイルをパースし、パスワードフィールドを削除する事により作成されますので、
非特権ユーザに渡しても安全です。
このように
.Pa master.passwd
データベースのシャドウパスワード機構は
.Tn NIS
においても守られます。
.Pp
.Sh 注釈
.Ss 制限
.Tn NIS
環境にてシャドウパスワードを使用することに起因する問題が 2 つあります。
ユーザは次のことに気をつけねばなりません。
.Pp
.Bl -enum -offset indent
.It
.Sq TCP ポートが 1024 より小さい
というテストは非常に簡単であるため、
同一ネットワーク上の、無制限のアクセスが可能なマシンを持つユーザは
これを破る事が可能です
(UNIX ベースではないオペレーティングシステムを実行するマシンでも可能です)。
.It
.Bx Free
システムを、シャドウパスワードをサポートしない非
.Bx Free
クライアント
(ほとんどがそうです) に対するサーバにしようとしている場合には、
.Pa /var/yp/Makefile
.Em UNSECURE=True
エントリのコメントを外し、
シャドウパスワードを無効にする必要があります。
これにより、
.Pa passwd.byname
.Pa passwd.byuid
のマップに、非
.Bx Free
クライアントが
.Tn NIS
を通じてユーザ認証を
行うために必要とする、
有効な暗号化されたパスワードフィールドが含まれるようになります。
.El
.Pp
.Ss セキュリティ
一般的に、リモートユーザは、ドメイン名を知ってさえいれば、RPC を
.Nm
に発行し、
.Tn NIS
マップの内容を取得可能です。
このような権限の無いトランザクションを防ぐために、
.Nm
には
.Pa securenets
と呼ばれる、あるホストの集合にのみアクセスを制限する機能があります。
起動時に、
.Nm
は securenets 情報をファイル
.Pa /var/yp/securenets
から読み込みます。
(後述するように、このパスは、
.Fl p
オプションによって指定するパスによって変化することに注意して下さい。)
このファイルは、空白によって区切られるネットワークとネットワークマスクからなる
エントリを複数含みます。
.Dq \&#
から始まる行はコメントと見なされます。
securenets ファイルの例を以下に示します:
.Bd -unfilled -offset indent
# allow connections from local host -- mandatory
127.0.0.1 255.255.255.255
# allow connections from any host
# on the 129.168.128.0 network
192.168.128.0 255.255.255.0
# allow connections from any host
# between 10.0.0.0 to 10.0.15.255
10.0.0.0 255.255.240.0
.Ed
.Pp
.Nm
がこれらのルールに適合するアドレスからの要求を受け取った場合には、
通常通り要求を処理します。
アドレスがルールに適合しない場合には、要求は無視され、警告がログされます。
.Pa /var/yp/securenets
ファイルが存在しない場合には、
.Nm
は全てのホストからの接続を許します。
.Pp
.Nm
は、Wietse Venema の
.Em tcpwrapper
パッケージをサポートしますが、
.Em tcpwrapper
パッケージは
.Bx Free
とともに配布されていないため、
デフォルトでは組み込まれていません。
しかし
.Pa libwrap.a
.Pa tcpd.h
があれば、容易に
.Nm
を再コンパイルすることができます。
これにより、アクセス管理のために、
システム管理者は tcpwrapper の設定ファイル
(
.Pa /etc/hosts.allow
.Pa /etc/hosts.deny
)
.Pa /var/yp/securenets
の代わりに使用できます。
.Pp
注: どちらのアクセス制御もそれなりのセキュリティを提供しますが、
特権ポートテストと同様に
.Dq IP 詐称 (spoofing)
攻撃には無力であることに
注意して下さい。
.Pp
.Ss NIS v1 互換性
このバージョンの
.Nm
.Tn NIS
v1 クライアントに対してある程度サービス可能です。
.Bx Free
.Tn NIS
実装は
.Tn NIS
v2 プロトコルのみを使用しますが、
他の実装では古いシステムとのバックワードコンパチビリティのために
v1 プロトコルもサポートしています。
そのようなシステムで提供されている
.Xr ypbind 8
デーモンは、実際にはおそらく不要なのですが、
.Tn NIS
v1 サーバにバインドしようとします。
(そして、v2 サーバから返答を受け取ったとしてもサーバを探すために
ブロードキャストし続けます。)
このバージョンの
.Nm
では通常のクライアントの呼び出しはサポートされていますが、
v1 マップ転送要求は扱いません。
すなわち、古い
.Tn NIS
サーバとともに、マスタもしくはスレーブとして使用することはできません。
好運なことに、今日ではこの様なサーバは存在しないでしょう。
.Ss NIS クライアントでもある NIS サーバ
複数のサーバが存在するドメインにおいて、
サーバが
.Tn NIS
クライアントでもある場合には、
.Nm
の実行に注意を払う必要があります。
バインド要求をブロードキャストさせてサーバ間でバインドさせるのではなく、
サーバを自分自身にバインドすることは一般的には良い考えです。
あるサーバがダウンし、他のサーバがそのサーバに依存していた場合には、
奇妙な障害が生じ得ます。(結果として全てのクライアントがタイムアウトし、
他のサーバにバインドしようとしますが、遅延は無視できず、
サーバはまだ互いにバインドしようとしますので、障害は残ります。)
.Pp
特定のサーバに強制的にバインドさせるための詳細は
.Xr ypbind 8
マニュアルページを参照して下さい。
.Sh オプション
以下のオプションが
.Nm
にてサポートされています。
.Bl -tag -width flag
.It Fl n
このオプションは
.Nm
.Pa hosts.byname
.Pa hosts.byaddress
のマップに対する yp_match 要求を扱う方法を操作します。
デフォルトでは、
.Nm
が与えられたホストのエントリをホストマップ中に見付けられなかった場合には、
エラーを返しそれ以上の処理を行いません。
.Fl n
フラグを指定すると、
.Nm
はさらなる処理を行います。
すぐにあきらめずに、ホスト名もしくはアドレスを DNS ネームサーバに問い合わせて
解決しようとします。
問い合わせが成功すると、
.Nm
は偽のデータベースレコードを作成し、それをクライアントに返しますので、
クライアントの yp_match 要求は成功したように見えます。
.Pp
この仕様は SunOS 4.1.x との互換性のために用意されています。
そのシステムの標準 C ライブラリではリゾルバが腐っており、
ホスト名とアドレスの解決のために
.Tn NIS
に依存していました。
.Bx Free
のリゾルバは DNS への問い合わせを直接行えますので、
.Bx Free
である
.Tn NIS
クライアントに対してのみサービスする場合は、
このオプションを有効にする必要はありません。
.It Fl d
サーバをデバッグモードで実行します。
通常
.Nm
は異常時のエラー (アクセス違反、ファイルアクセス失敗) のみを
.Xr syslog 3
機能を使用して報告します。
デバッグモードでは、サーバは自身をバックグラウンドでは実行せず、
リクエストを受けるたびに、
状態を表す追加のメッセージを標準エラー出力に表示します。
また、デバッグモードで実行している間は、通常とは異なり、
yp_all 要求処理時や DNS 検索処理時に
.Nm ypserv
サブプロセスを生成しません。
(これらの処理は多くの場合完了までに時間がかかるために
サブプロセスにより処理され、
親であるサーバは別の要求を処理できるようになっています。)
これによりデバッグツールによるサーバのトレースが容易になります。
.It Fl p Ar path
通常
.Nm
.Tn NIS
マップは
.Pa /var/yp
以下にあるものと想定します。
.Fl p
フラグを使用し、別の
.Tn NIS
ルートパスを指定できますので、
システム管理者はファイルシステム中の別の場所にマップファイルを移動できます。
.El
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /var/yp/[domainname]/[maps]
.Tn NIS
マップ
.It Pa /etc/host.conf
リゾルバ設定ファイル
.It Pa /var/yp/securenets
ホストアクセス制御ファイル
.El
.Sh 関連項目
.Xr ypcat 1 ,
.Xr db 3 ,
.Xr yp 4 ,
.Xr ypbind 8 ,
.Xr yppasswdd 8 ,
.Xr yppush 8 ,
.Xr ypxfr 8
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
.Sh 歴史
このバージョンの
.Nm
が最初に登場したのは
.Fx 2.2
です。
diff --git a/ja/man/man8/ypset.8 b/ja/man/man8/ypset.8
index 25be2a654e..29eb480d0a 100644
--- a/ja/man/man8/ypset.8
+++ b/ja/man/man8/ypset.8
@@ -1,89 +1,89 @@
.\"
.\" Copyright (c) 1994 Jason R. Thorpe
.\" 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 Jason Thorpe.
.\" 4. Neither the name of the author 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 AUTHOR ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: ypset.8,v 1.1.2.2 1997/11/18 07:54:08 charnier Exp %
+.\" %Id: ypset.8,v 1.6 1998/03/23 08:31:20 charnier Exp %
.\" jpman %Id: ypset.8,v 1.2 1997/04/06 14:59:23 horikawa Stab %
.\"
.Dd October 25, 1994
.Dt YPSET 8
.Os
.Sh 名称
.Nm ypset
.Nd
.Xr ypbind 8
に使用すべき YP サーバを指示する
.Sh 書式
.Nm ypset
.Op Fl h Ar host
.Op Fl d Ar domain
.Ar server
.Sh 解説
.Nm ypset
は、同一マシン上の
.Xr ypbind 8
プロセスに、通信すべき YP サーバプロセスを指示します。
もし
.Ar server
がダウンしていたり YP サーバプロセスが動作していない場合、
YP クライアントプロセスが
YP マップにアクセスしようと試みるまでは検知されません。
YP マップをアクセスしようとした時に、
.Xr ypbind 8
はバインドをテストして適切な処理を行います。
.Pp
.Nm ypset
は、最も近い YP サーバともブロードキャストネットワークが異なる
YP クライアントをバインドする場合に最も有用ですが、
ローカルなネットワークの YP の構成をデバッグする場合、
特定の YP クライアントのプログラムをテストする場合、
ローカルネットワークに存在する複数の YP サーバの中から
特定のサーバにバインドする場合にも使用できます。
.Pp
オプションは以下の通りです:
.Bl -tag -width flag
.It Fl h Ar host
ローカルマシンではなく、指定したホスト
.Ar host
にバインドします。
.It Fl d Ar domain
.Xr domainname 1
が返すデフォルトドメインではなく、指定した YP ドメイン
.Ar domain
を使用します。
.El
.Sh 関連項目
.Xr domainname 1 ,
.Xr yp 8
.Xr ypcat 1 ,
.Xr ypmatch 1 ,
.Xr ypbind 8 ,
.Sh 作者
.An Theo De Raadt
diff --git a/ja/man/man8/ypxfr.8 b/ja/man/man8/ypxfr.8
index 6850761ecb..8fdd3d13d3 100644
--- a/ja/man/man8/ypxfr.8
+++ b/ja/man/man8/ypxfr.8
@@ -1,295 +1,295 @@
.\" Copyright (c) 1995
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: ypxfr.8,v 1.3.2.2 1998/07/19 06:53:05 jkh Exp %
+.\" %Id: ypxfr.8,v 1.8 1998/03/19 07:37:43 charnier Exp %
.\" jpman %Id: ypxfr.8,v 1.3 1997/09/09 04:09:30 yugawa Stab %
.\"
.Dd February 5, 1995
.Dt YPXFR 8
.Os
.Sh 名称
.Nm ypxfr
.Nd "リモートのサーバからローカルホストへ NIS データベースを転送する"
.Sh 書式
.Nm /usr/libexec/ypxfr
.Op Fl f
.Op Fl c
.Op Fl d Ar target domain
.Op Fl h Ar source host
.Op Fl s Ar source domain
.Op Fl p Ar path
.Op Fl C Ar taskid program-number ipaddr port
.Ar mapname
.Sh 解説
.Nm ypxfr
.Tn NIS
データベース(または
.Pa マップ )
.Tn NIS
サービスを使用し、ある
.Tn NIS
サーバから別のサーバにコピーします。
.Bx Free
では一般に、
.Nm
.Xr yppush 8
からマップ転送要求を受け取った
.Xr ypserv 8
から
起動されます。
基本的に、
.Nm
を使用するのは、単一ドメイン内で複数の
.Tn NIS
サーバが使用される環境です。
一台のサーバ(
.Tn NIS
マスタ)は全ての
.Tn NIS
マップの基準となるコピーを管理します。
その他のサーバ(
.Tn NIS
スレーブ)は、マップに更新があったとき (例えば、ユーザが
.Xr yppasswd 1
を用いてパスワードを更新したとき)に、
新しいバージョンのマップをマスタからコピーします。
.Pp
実行時、
.Nm
は一時データベースファイルを
.Pa /var/yp/[domainmame]
に作成し、
指定された
.Ar source host
により提供される
.Ar mapname
の内容で埋めます。
マップ全体の転送が完了すると、
.Nm
.Ar mapname
の古いコピーを消去し、代わりに一時ファイルを置きます。
転送完了時に、
.Nm
は `現在のマップのクリア' 要求を、
ローカルの
.Xr ypserv 8
プロセス宛に送信し、
古いマップを参照している場合にはクリアさせようとします。
.Pp
.Nm
が作成した全てのファイルが所有者のみ読み書き可能なのは、
セキュリティのためである事に注意して下さい。
.Tn NIS
マップとそれを格納するディレクトリは通常 root が所有しますので、
非特権ユーザによる権限の無い変更を防ぎます。
.Pp
全ての
.Tn NIS
サーバ間で一貫性を保持するために
.Nm
.Xr cron 8
ジョブとして定期的に実行する事が出来ます。
ほとんど変更されないマップは 1 日 1 度
(システム使用率が一番低い深夜が望ましいでしょう)更新すれば良いですが、
頻繁に変更されるマップ(例えば
.Pa passwd.byname
.Pa passwd.byuid )
はおそらく 1 時間に 1 度更新すべきでしょう。
.Xr cron 8
を使用し NIS マップを自動的に更新する事は厳密には必須ではありません。
なぜなら、全ての更新は
.Tn NIS
マスタサーバ上で
.Pa /var/yp/Makefile
が実行された時に
.Xr yppush 8
にて伝搬されているはずだからです。
ただし、通信不能となって
.Tn NIS
サーバ間で同期が取れなくなる事があるような
大きなネットワークでは、良い実現方式です。
.Pp
.Nm
が制御端末無しで起動された場合、例えば
.Xr ypserv 8
内部から起動された場合には、
.Xr syslog 3
機構を使用して、全ての出力のログを取ります。
.Sh 注釈
.Bx Free
バージョンの
.Nm
.Bx Free
.Xr rpc.ypxfrd 8
サーバと連動する特別なマップ転送プロトコルをサポートします。
このプロトコルは、
生のマップデータベースファイルを
.Tn NIS
マスタサーバから転送する事を許しますので、
特に大きな
.Tn NIS
マップの場合は、標準の転送方法よりも数倍高速です。
.Nm
コマンドは
.Tn NIS
マスタサーバ上に
.Xr rpc.ypxfrd 8
が登録されているかをチェックし、存在する場合にはこれを使用しようとします。
存在しない場合には、標準プロトコルを使用し、
.Xr ypserv 8
からマップの内容をコピーし、新たなマップを作成します。
.Pp
概念的には
.Bx Free
の ypxfrd プロトコルは
SunOS の ypxfrd プロトコルと同じですが、
.Bx Free
のプロトコルは SunOS のプロトコルとは互換ではないため、
Sun の ypxfrd サーバとともに使用する事は出来ない事に注意して下さい。
FreeBSD のスレーブは
.Bx 非 Free
.Tn NIS
サーバから
マップを転送する事が出来ますが、
高速プロトコルを使用できるのは、マスタサーバも
.Bx Free
の場合だけです。
.Sh オプション
.Nm
がサポートするオプションは以下の通りです:
.Bl -tag -width indent
.It Fl f
マップ転送を強制します。通常、
.Tn NIS
マスタ上のコピーがローカルホスト上にあるコピーよりも新しくない場合には、
.Nm
はマップを転送しません:
.Fl f
フラグにより、サーバ上のバージョンが新しいか否かにかにかかわらず、
転送します。
.It Fl c
ローカルホスト上で実行されている
.Xr ypserv 8
プロセス宛に `現在のマップのクリア' 要求を送信しません。
このフラグは通常
.Xr ypserv 8
を実行していないマシン上で
.Nm
を手動で起動する時に使用します。
このフラグを指定しないと、ローカルの
.Tn NIS
サーバと通信できないために、
.Nm
は転送を中止します。
.It Fl d Ar target domain
現在の
.Tn NIS
ドメインではない別のドメイン名を指定します。
.It Fl h Ar source host
.Tn NIS
マップのコピー元のホスト名を指定します。
このオプションにより
.Nm
.Tn NIS
マスタサーバからのみマップをコピーする事を保証できます。
.It Fl s Ar source domain
マップの転送元のドメインを指定します。
これは 2 つの
.Tn NIS
ドメイン間で転送を行う時に有用です。
.It Fl p Ar path
.Tn NIS
マップを保持する最上位ディレクトリを指定します。
デフォルトではこのパスは
.Pa /var/yp
です。
.Fl p
フラグにより別のパスを指定し、
.Tn NIS
マップを別の場所に格納する場合に対処できます。
.Tn NIS
サーバ
.Xr ypserv 8
が別のパスを使用するように指示された場合にも、このフラグを
.Nm
に渡します。
.It Fl C Ar taskid program-number ipaddr port
.Xr yppush 8
によるマップ転送要求への応答として、
.Nm
.Xr ypserv 8
から起動された場合にのみ、このオプションは使用されます。
この場合、
.Nm
.Xr yppush 8
を `コールバック' して通信する必要がありますので、
.Xr yppush 8
は IP アドレス
.Ar ipaddr
、ポート番号
.Ar port
、登録プログラム番号(registered program number)
.Ar program-number
、トランザクション ID
.Ar taskid
を渡し、
マスタサーバ上で待っている
.Xr yppush 8
プロセスと通信出来るようにします。
.It Ar mapname
転送するマップを指定します。
.El
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /var/yp/[domainname]/[maps]
ある
.Tn NIS
ドメインの
.Tn NIS
マップ。
.El
.Sh 関連項目
.Xr yp 4 ,
.Xr ypserv 8 ,
.Xr yppush 8
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja/man/man8/zdump.8 b/ja/man/man8/zdump.8
index e6de1b3291..144770eb77 100644
--- a/ja/man/man8/zdump.8
+++ b/ja/man/man8/zdump.8
@@ -1,44 +1,44 @@
.\"
.\" @(#)zdump.8 7.3
-.\" %Id: zdump.8,v 1.4.2.1 1998/03/09 14:14:30 jkh Exp %
+.\" %Id: zdump.8,v 1.5 1998/02/04 07:30:11 charnier Exp %
.\" jpman %Id: zdump.8,v 1.3 1997/08/30 18:39:05 take-i Stab %
.\"
.Dd September 13, 1994
.Dt ZDUMP 8
.Os
.Sh 名称
.Nm zdump
.Nd タイムゾーンをダンプする
.Sh 書式
.Nm zdump
.Op Fl v
.Op Fl c Ar cutoffyear
.Op Ar zonename ...
.Sh 解説
.Nm
は、コマンドラインの
.Ar zonename
で指定された各タイムゾーンを用いて現在時刻を表示します。
.Pp
以下のオプションが利用可能です:
.Bl -tag -width indent
.It Fl v
コマンドラインの各
.Ar zonename
に対し、表現可能な最も古い時刻、
その最も古い時刻から 1 日後の時刻、
検知された時間の不連続点の 1 秒前および不連続点そのものの時刻、
表現可能な最も先の時刻の 1 日前の時刻、
および表現可能な最も先の時刻そのもの
を表示します。
各時刻は、それが夏時間 (Daylight Saving Time) であれば
.Em isdst=1
、そうでなければ
.Em isdst=0
と行末にしるして表示されます。
.It Fl c Ar cutoffyear
指定した年の最初に近い余分な出力をなくします。
.Sh "関連項目"
.Xr ctime 3 ,
.Xr tzfile 5 ,
.Xr zic 8
diff --git a/ja/man/man8/zic.8 b/ja/man/man8/zic.8
index 6649a8cbfe..2a87a10c4d 100644
--- a/ja/man/man8/zic.8
+++ b/ja/man/man8/zic.8
@@ -1,371 +1,371 @@
.\" jpman %Id: zic.8,v 1.2 1997/06/16 08:24:17 yugawa Stab %
.Dd
.Dt ZIC 8
.Os
.Sh 名称
.Nm zic
.Nd タイムゾーンコンパイラ
.Sh 書式
.Nm zic
.Op Fl v
.Op Fl d Ar directory
.Op Fl l Ar localtime
.Op Fl p Ar posixrules
.Op Fl L Ar leapsecondfilename
.Op Fl s
.Op Fl y Ar command
.Op Ar filename ...
.Sh 解説
.Nm zic
はコマンド行で指定されたファイルを読み取り、その内容に従って
時刻変換情報のファイルを作成します。
.Ar filename
.Em -
だった場合、標準入力から読み込みます。
.Pp
以下のオプションがあります:
.Bl -tag -width indent
.It Fl d Ar directory
下記の標準ディレクトリではなく、指定されたディレクトリに時刻変換情報
ファイルを作成します。
.It Fl l Ar timezone
指定された
.Ar タイムゾーン
をローカルの時刻に使用します。
.Nm zic
は、以下のリンク行が入力ファイルにあった場合と同様に働きます。
.sp
.ti +.5i
Link \fItimezone\fP localtime
.It Fl p Ar timezone
POSIX 形式のタイムゾーンの環境変数を扱う場合に、指定されたタイムゾーンの
ルールを使用します。
.Nm
は、以下のリンク行が入力ファイルにあった場合と同様に働きます。
.sp
.ti +.5i
Link \fItimezone\fP posixrules
.It Fl L Ar leapsecondfilename
指定された名前のファイルからうるう秒の情報を読み込みます。
このオプションが指定されなかった場合、
出力ファイルにはうるう秒の情報は記録されません。
.It Fl v
データファイル中の年が
.Xr time 2
で表現できる年の範囲を超えていた場合、警告します。
.It Fl s
出力ファイルに記録される時刻の値を、それが符号付きと扱われるか符号なしと
扱われるかに関係なく同じ値になるように制限します。
このオプションを使用することで SVVS と互換のファイルを生成できます。
.It Fl y Ar command
年のタイプをチェックする際に、
.Em yearistype
の代わりに指定された
.Ar command
を用います(下記参照)。
.El
.Pp
入力の各行はフィールドから構成されます。
各フィールドは任意の数の空白文字により分離されます。先行する空白や、
行末の空白は無視されます。引用符で囲まれていない井桁文字 (#) から
その行の末尾まではコメントとして扱われます。
空白文字や井桁文字をフィールドの一部として使用する場合は、二重引用符
(") で囲みます。
(コメントを取り除いた後の)空白行は無視されます。
空白ではない行は、ルール行、ゾーン行、リンク行の 3 種類のいずれか
であるとみなされます。
.Pp
ルール行は、
.nf
.ti +.5i
.ta \w'Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'TYPE\0\0'u +\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u
.sp
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
.sp
と言う形式です。例えば、
.ti +.5i
.sp
Rule US 1967 1973 \- Apr lastSun 2:00 1:00 D
.sp
.fi
となります。ルール行を構成するフィールドは以下の通りです:
.Bl -tag -width indent
.It NAME
このルールが属するルールの(任意の)名前を指定します。
.It FROM
ルールが適用される最初の年を指定します。
如何なる整数の年も指定できます。グレゴリオ歴を仮定しています。
単語
.Em minimum
(あるいはその短縮形)は、整数で表せる最小の年を示します。
単語
.Em maximum
(あるいはその短縮形)は、整数で表せる最大の年を示します。
ルールは、時刻の値として表す事ができない時刻を定義します。
表す事ができない時刻は無視されます。これにより、時刻の値のタイプが
異なるホスト間でルールを共用する事ができます。
.It TO
ルールが適用される最後の年を指定します。
.Em minimum
.Em maximum
(上記)に加え、
単語
.Em only
(あるいはその短縮形)
を、
.Em FROM
フィールドの値を指すものとして使用することができます。
.It TYPE
ルールが適用される年のタイプを指定します。
.Em TYPE
.Em \-
だった場合、ルールは、
.Em FROM
から
.Em TO
までのその年を含む全ての年に適用されます。
.Em TYPE
がそれ以外だった場合、
.Nm
は、コマンド
.ti +.5i
\fByearistype\fP \fIyear\fP \fItype\fP
.br
を実行して、年のタイプをチェックします。実行したコマンドの
終了ステータスが 0 だった場合は、その年が指定されたタイプであり、
終了ステータスが 1 だった場合は、その年が指定されたタイプではないと
判断します。
.It IN
ルールが適用される月の名前を指定します。
月名は短縮形でも構いません。
.It ON
ルールが適用される日を指定します。
指定できる形式は以下の通りです:
.nf
.in +.5i
.sp
.ta \w'Sun<=25\0\0'u
5 その月の 5 日
lastSun その月の最後の日曜日
lastMon その月の最後の月曜日
Sun>=8 8 日以降の最初の日曜日
Sun<=25 25 日以前の最後の日曜日
.fi
.in -.5i
.sp
曜日は短縮形でも、フルスペルでも構いません。注意:
.Em ON
フィールド内にスペースを含んではいけません。
.It AT
ルールが適用される時刻を指定します。
指定できる形式は以下の通りです:
.nf
.in +.5i
.sp
.ta \w'1:28:13\0\0'u
2 時
2:00 時と分
15:00 24 時間形式の時刻 (正午以降について)
1:28:14 時、分、秒
.fi
.in -.5i
.sp
これらの形式の最後に
.Em w
をつけると、指定した時刻がローカルの
-.Sq "ウォールクロック"
+.Dq "ウォールクロック"
(夏時間の適用される地域で、ローカルの標準時に、
夏時間の期間であればその修正を加えた時刻)
.\" 上記の()内の記述は、wall clock では、特に日本人には
.\" 理解しづらいので追加した。
.\" 2.2.2-RELEASE 対象
.\" By yugawa@orleans.rim.or.jp (Jun 16 1997)
であり、
.Em s
をつけると、指定した時刻がローカルの
-.Sq 標準時
+.Dq 標準時
であり、
.Em u
(あるいは
.Em g
ないし
.Em z )
をつけると、指定した時刻が世界標準時であることを示します。
これらの文字を指定していない場合は、ウォールクロックが適用されます。
.It SAVE
ルールが有効な場合にローカルの標準時に加えられる量を指定します。
このフィールドの形式は
.Em AT
フィールドと同じです
(この場合は、末尾に
.Em w
.Em s
を指定する事はできません)。
.It LETTER/S
ルールが有効な場合にタイムゾーンの短縮形に用いられる
-.Sq "変化部分"
+.Dq "変化部分"
(例えば、
-.Sq EST
+.Dq EST
-.Sq EDT
+.Dq EDT
-.Sq S
+.Dq S
-.Sq D
+.Dq D
)
を指定します。
このフィールドが
.Em \-
だった場合、変化部分はヌル (NULL) になります。
.El
.Pp
ゾーン行は、
.sp
.nf
.ti +.5i
.ta \w'Zone\0\0'u +\w'Australia/Adelaide\0\0'u +\w'GMTOFF\0\0'u +\w'RULES/SAVE\0\0'u +\w'FORMAT\0\0'u
Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
.sp
と言う形式です。例えば、
.sp
.ti +.5i
Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00
.sp
.fi
となります。ゾーン行を構成するフィールドは以下の通りです:
.Bl -tag -width indent
.It NAME
タイムゾーンの名称です。
そのゾーンに対する時刻変換情報ファイルを作成する時の名前になります。
.It GMTOFF
そのゾーンの標準時を得る時に GMT に加算される量です。
このフィールドの形式は、ルール行の
.Em AT
および
.Em SAVE
フィールドと同じです。
GMT から時刻を引く場合は、フィールドの最初にマイナスをつけます。
.It RULES/SAVE
そのタイムゾーンに適用されるルールの名前、あるいは、ローカルの標準時に
加算される量を指定します。
このフィールドが
.Em \-
だった場合、そのタイムゾーンには常に標準時が適用されます。
.It FORMAT
そのタイムゾーンで使用されるタイムゾーンの短縮形の形式を指定します。
文字列
.Em %s
は、タイムゾーンの短縮形で用いられる
-.Sq "変化部分"
+.Dq "変化部分"
を示します。
一方、
スラッシュ (/)
で標準時の短縮形と夏時間の短縮形を指定する事もできます。
.It UNTIL
その場所で GMT との差あるいはルールが変化する時刻を指定します。
年、月、日、時刻を用いて指定できます。
このフィールドが指定された場合、その時刻になるまでは与えられた GMT との差
およびルールからタイムゾーンの情報が生成されます。
.Pp
この次の行は
-.Sq 継続
+.Dq 継続
行でなくてはなりません。この行は最初の
-.Sq Zone
+.Dq Zone
と NAME フィールドがない点を除いてはゾーン行と同一の形式で、その前の行の
.Em UNTIL
フィールドで指定した時刻以降の情報を指定します。
この継続行にも
.Em UNTIL
フィールドを指定する事ができ、その場合は、次の行に
その時刻以降の情報を指定します。
.El
.Pp
リンク行は、
.sp
.nf
.ti +.5i
.ta \w'Link\0\0'u +\w'Europe/Istanbul\0\0'u
Link LINK-FROM LINK-TO
.sp
と言う形式です。例えば、
.sp
.ti +.5i
Link Europe/Istanbul Asia/Istanbul
.sp
.fi
となります。
.Em LINK-FROM
フィールドは、存在するゾーン行の
.Em NAME
フィールドのいずれかと一致していなければなりません。
.Em LINK-TO
フィールドはそのゾーンに対する別名として使用されます。
.Pp
継続行以外は、入力中での行の順番に制限はありません。
.Pp
うるう秒の定義ファイルの各行は以下のような形式になります:
.nf
.ti +.5i
.ta \w'Leap\0\0'u +\w'YEAR\0\0'u +\w'MONTH\0\0'u +\w'DAY\0\0'u +\w'HH:MM:SS\0\0'u +\w'CORR\0\0'u
.sp
Leap YEAR MONTH DAY HH:MM:SS CORR R/S
.sp
例えば、
.ti +.5i
.sp
Leap 1974 Dec 31 23:59:60 + S
.sp
.fi
となります。
.Em YEAR ,
.Em MONTH ,
.Em DAY ,
.Em HH:MM:SS
フィールドは、うるう秒が起きる時刻を指定します。
.Em CORR
フィールドは、
秒が加えられる場合は
-.Sq +
+.Dq +
で、秒がスキップされる場合は
-.Sq -
+.Dq -
となります。
.\" There's no need to document the following, since it's impossible for more
.\" than one leap second to be inserted or deleted at a time.
.\" The C Standard is in error in suggesting the possibility.
.\" See Terry J Quinn, The BIPM and the accurate measure of time,
.\" Proc IEEE 79, 7 (July 1991), 894-905.
.\" or
.\" .q ++
.\" if two seconds were added
.\" or
.\" .q --
.\" if two seconds were skipped.
.Em R/S
フィールドは
他のフィールドで与えられるうるう秒の時刻が GMT である場合は、
-.Sq Stationary
+.Dq Stationary
(またはその短縮形)で、
他のフィールドで与えられるうるう秒の時刻がローカルのウォールクロックである
場合は、
-.Sq Rolling
+.Dq Rolling
(またはその短縮形)となります。
.Sh 注釈
ローカル時刻が複数のタイプとなる地域では、
作成されたファイルの最初の変化時刻を正しく設定するためには、
最初の変化時刻のルールの
.Em AT
フィールドでローカルの標準時を使用する必要があります。
.Sh 関連ファイル
.Bl -tag -width /usr/share/zoneinfo -compact
/usr/share/zoneinfo 作成されたファイルが置かれる標準ディレクトリ
.El
.Sh 関連項目
.Sh "SEE ALSO"
.Xr ctime 3 ,
.Xr tzfile 5 ,
.Xr zdump 8
.\" @(#)zic.8 7.12
diff --git a/ja_JP.eucJP/man/man1/ar.1 b/ja_JP.eucJP/man/man1/ar.1
index 8286323404..9c8968c352 100644
--- a/ja_JP.eucJP/man/man1/ar.1
+++ b/ja_JP.eucJP/man/man1/ar.1
@@ -1,314 +1,314 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Hugh Smith at The University of Guelph.
.\"
.\" 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.
.\"
.\" @(#)ar.1 8.1 (Berkeley) 6/29/93
-.\" %Id: ar.1,v 1.2.2.1 1997/06/24 06:35:04 charnier Exp %
+.\" %Id: ar.1,v 1.5 1997/06/23 06:41:29 charnier Exp %
.\" jpman %Id: ar.1,v 1.2 1997/03/29 02:06:03 horikawa Stab %
.\"
.Dd June 29, 1993
.Dt AR 1
.Sh 名称
.Nm ar
.Nd ライブラリアーカイブの作成およびメンテナンス
.Sh 書式
.Nm ar
.Fl d
.Op Fl \Tv
.Ar archive file ...
.Nm ar
.Fl m
.Op Fl \Tv
.Ar archive file ...
.Nm ar
.Fl m
.Op Fl abiTv
.Ar position archive file ...
.Nm ar
.Fl p
.Op Fl \Tv
.Ar archive [file ...]
.Nm ar
.Fl q
.Op Fl cTv
.Ar archive file ...
.Nm ar
.Fl r
.Op Fl cuTv
.Ar archive file ...
.Nm ar
.Fl r
.Op Fl abciuTv
.Ar position archive file ...
.Nm ar
.Fl t
.Op Fl \Tv
.Ar archive [file ...]
.Nm ar
.Fl x
.Op Fl ouTv
.Ar archive [file ...]
.Sh 解説
The
.Nm ar
ユーティリティは、ファイルの集まりであるアーカイブファイルの作成、およ
びそのアーカイブの整備を行ないます。いったんアーカイブを作成した
後は、新しいファイルの追加、存在しているファイルの展開、削除、置き換えな
ども行なうことが可能です。
.Pp
ファイルはアーカイブ内では、一つの要素で名づけられます。
つまり、スラッシュ(``/'')を含むパスで参照されたファイルは
そのパスの最後の要素によって名づけられるのです。
コマンドラインに並べられたパスをアーカイブ内のファイル名と一致させる
ときには、パスの最後の要素のみが比較されます。
.Pp
すべての情報およびエラーメッセージは、コマンドラインにパスが
指定されていれば、それを利用します。指定されていなければ、
アーカイブ内の名前を利用します。もし、アーカイブ内で複数のファイルが
同じ名前で存在しており、ある操作を行うためにアーカイブ
ファイルを``選択''するようコマンドラインにパスを並べた場合は、
.Em 最初に
名前の一致したファイルのみが選択されます。
.Pp
.Nm ar
の通常の利用方法は、ローダ(
.Xr ld 1
を参照してください)に適したライブラリの作成および整備です。しかし、
この目的に限定されているのではありません。
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl a
.Fl r
.Fl m
と共に用いられ、格納位置を修正します。
ファイルはアーカイブ内の要素である
.Ar position
.Em 後ろに
格納もしくは移動されます。
.Ar position
を指定する必要があります。
.It Fl b
.Fl r
.Fl m
と共に用いられ、格納位置を修正します。
ファイルはアーカイブ内の要素である
.Ar position
.Em 前に
格納もしくは移動されます。
.Ar position
を指定する必要があります。
.It Fl c
通常、アーカイブが作成されるときは、その動作状況についての
情報が、標準エラー出力に出力されます。
.Fl c
オプションが指定されると、
.Nm ar
はこの出力を行わなくなります。
.It Fl d
指定されたアーカイブファイルを削除します。
.It Fl i
.Fl b
オプションと同じです。
.It Fl m
指定されたアーカイブファイルをアーカイブ内に移動します。
.Fl a ,
.Fl b ,
.Fl i
のオプションの一つが指定された場合は、ファイルは
アーカイブ内のファイルである
.I position
の前後に移動されます。これらのオプションが指定されなかった場合には、
ファイルはアーカイブの最後に移動されます。
.It Fl o
展開されたファイルのアクセス時刻および修正時刻を、アーカイブに
格納された時点での修正時刻に合わせます。この操作は、ユーザが
そのファイルの所有者でもスーパユーザでもない場合には失敗します。
.It Fl p
指定されたアーカイブファイルの内容を標準出力に出力します。
ファイルが指定されなかった場合には、アーカイブ内のすべての
ファイルの内容が、アーカイブ内にある順番どおりに出力されます。
.It Fl q
指定されたファイルをアーカイブにすばやく追加します。アーカイブが
存在しない場合には、新たなアーカイブファイルが作成されます。
ファイルがアーカイブ内のファイルと重複していないかどうかを
調べないため、大きなアーカイブをすこしづつ作っている場合には
.Fl r
オプションより非常に高速です。
.It Fl r
指定されたファイルをアーカイブに追加、もしくは置換します。
アーカイブが存在しない場合には、新たなアーカイブファイルが
作成されます。すでにあるファイルを置換する場合にも、
アーカイブ内の順序は変化しません。
.Fl a ,
.Fl b ,
.Fl i
のいずれかの
オプションが指定されない限り、追加されるファイルは最後尾に
追加されます。
.It Fl T
アーカイブメンバを選択するとき、およびアーカイブメンバに
名前をつけるとき、アーカイブメンバ名やコマンドラインファイル名の
最初の15文字だけを利用するようにします。古いアーカイブ形式は
名前として16バイトの領域がありましたが、古いアーカイバや
ローダの中には、その領域すべてを使うような名前を扱えない実装の
ものもあったのです。これは、最初の15文字が等しいファイル名は
後で混同されるかもしれない、ということを意味しています。
もし、いずれかのファイル名が切り捨てられた場合には、標準エラー
出力に警告メッセージが出力されます。(さらに情報を得るには、
.Xr ar 5
を参照してください。)
.It Fl t
指定されたファイル名を、アーカイブ内に格納されている順で、
1行に1つずつ出力します。もしファイル名が指定されなかった場合には、
アーカイブ内のすべてのファイル名が出力されます。
.It Fl u
ファイルを更新します。
.Fl r
オプションと共に指定された場合には、
アーカイブ内のファイルの修正時刻よりもディスクのファイルの
修正時刻のほうが新しい場合のみ、アーカイブファイルが
置き換えられます。
.Fl x
オプションと共に指定された場合には、
ディスクのファイルの修正時刻よりもアーカイブ内のファイルの
修正時刻の方が新しい場合のみ、アーカイブファイルが展開されます。
.It Fl v
動作状況を詳しく出力します。
.Fl d ,
.Fl m ,
.Fl q ,
.Xl x
オプションと共に
指定された場合には、
.Nm ar
はアーカイブの変更について、ファイル
ごとに報告します。この情報は、空白で区切られた3つの
フィールド、すなわちオプション名、ダッシュ(``-'') 、
ファイル名から構成されています。
.Fl r
オプションと共に使われた
場合には、
.Nm ar
は上と同様の出力を行いますが、最初の文字は
ファイルがアーカイブに追加された場合は ``a''、アーカイブ内に
既にあるファイルを置き換えた場合には ``r'' となります。
.Pp
.Fl p
オプションと共に指定された場合には、
表示されるファイルそれぞれについて、
改行 1 つ、
``<'' と ``>'' に括られたファイルの名前、
改行 2 つ、
ファイルの内容の順で出力されます。
.Pp
.Fl t
オプションと共に指定された場合には、
.Nm ar
は ``ls -l'' の形式で
アーカイブのメンバについての情報を出力します。この情報は、
空白で区切られた8つのフィールド、すなわち、ファイルの
パーミッション(
.Xr strmode 3
を参照してください)、一つの
スラッシュ(``/'')で区切られた、10進数表現のユーザIDと
グループID、ファイルの大きさ(バイト単位)、ファイルの
修正時刻(
.Xr date 1
の``%b %e %H:%M %Y''形式)、ファイル名
から構成されています。
.It Fl x
指定されたアーカイブのメンバを、コマンドライン引数で
指定されたファイルに展開します。メンバが指定されなかった
場合には、アーカイブ内のすべてのメンバが現在のディレクトリに
展開されます。
.Pp
ファイルが存在しなかった場合には、作成されます。存在していた
場合には、所有者およびグループは変更されません。ファイルの
アクセス時刻および修正時刻は、(
.Fl o
オプションの指定がない限り)
展開を行った時刻となります。ファイルのパーミッションは、
アーカイブ内に格納された時点のものに設定されます。この操作は、
ユーザがそのファイルの所有者でもスーパユーザでもない場合には
失敗します。
.El
.Pp
.Nm ar
ユーティリティは、成功の場合には0、エラーが起きた
場合には0より大きい値を返します。
.Sh 環境変数
.Bl -tag -width indent -compact
.It Ev TMPDIR
テンポラリファイルを作成する時に使用されるディレクトリのパス名
.El
.Sh 関連ファイル
.Bl -tag -width indent -compact
.It Pa /tmp
デフォルトのテンポラリディレクトリ
.It Pa ar.XXXXXX
テンポラリファイル名
.El
.Sh 互換性
デフォルトでは、
.Nm ar
は古いアーカイブと互換性のないアーカイブを
作成するかもしれません。というのも、15文字よりも長いファイル名を
持ったアーカイブメンバの格納に用いるファイル形式が変更されたためです。
現在の
.Nm ar
の実装では、(
.Fl T
オプションを用いることによって)古い
アーカイブ形式の読み書きができるように、以前の
.Nm ar
との下位互換性が
あります。
.Fl T
オプションは互換性のためだけに用意されており、
将来のリリースでは削除されるかもしれません。さらに情報を得るには、
.Xr ar 5
を見てください。
.Sh 規格
.Nm ar
ユーティリティは
.St -p1003.2
の機能のスーパセットを提供しているはずです。
.Sh 関連項目
.Xr ld 1 ,
.Xr ranlib 1 ,
.Xr strmode 3 ,
.Xr ar 5
diff --git a/ja_JP.eucJP/man/man1/as.1 b/ja_JP.eucJP/man/man1/as.1
index 3844608f9a..883bbf0831 100644
--- a/ja_JP.eucJP/man/man1/as.1
+++ b/ja_JP.eucJP/man/man1/as.1
@@ -1,290 +1,291 @@
.\" Copyright (c) 1991, 1992 Free Software Foundation
.\" See section COPYING for conditions for redistribution
.TH as 1 "21 January 1992" "cygnus support" "GNU Development Tools"
+.\" %Id: as.1,v 1.8 1997/02/22 15:43:24 peter Exp %
.\" jpman %Id: as.1,v 1.3 1997/10/11 07:37:12 horikawa Stab %
.SH 名称
GNU as \- ポータブル GNU アセンブラ
.SH 書式
.na
.B as
.RB "[\|" \-a "\||\|" \-al "\||\|" -as\c
\&\|]
.RB "[\|" \-D "\|]"
.RB "[\|" \-f "\|]"
.RB "[\|" \-I
.I path\c
\&\|]
.RB "[\|" \-k "\|]"
.RB "[\|" \-K "\|]"
.RB "[\|" \-L "\|]"
.RB "[\|" \-o
.I objfile\c
\&\|]
.RB "[\|" \-R "\|]"
.RB "[\|" \-v "\|]"
.RB "[\|" \-w "\|]"
.RB "[\|" \-\^\- "\ |\ " \c
.I files\c
\&\|.\|.\|.\|]
.I i960 だけにあるオプション:
.br
.RB "[\|" \-ACA "\||\|" \-ACA_A "\||\|" \-ACB\c
.RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c
.RB "\||\|" \-AKC "\||\|" \-AMC "\|]"
.RB "[\|" \-b "\|]"
.RB "[\|" \-norelax "\|]"
.I m680x0 だけにあるオプション:
.br
.RB "[\|" \-l "\|]"
.RB "[\|" \-mc68000 "\||\|" \-mc68010 "\||\|" \-mc68020 "\|]"
.ad b
.SH 解説
GNU \c
.B as\c
\& とは、実は一連のアセンブラのことです。
もしあるアーキテクチャで GNU アセンブラを使う (もしくは、使った
ことがある) ならば、他のアーキテクチャで使う時もかなり似た環境となり
ます。それぞれのバージョンは他のバージョンと共通の部分が多くあります。
例えば、オブジェクトファイルフォーマットや
ほとんどのアセンブラディレクティブ (
\c
.I 疑似命令(pseudo-ops)
とも呼ばれます)\c
\& 、アセンブラシンタクスなどです。
GNU \c
.B as\c
のシンタクスや疑似命令(pseudo-ops)に関する情報については、
.B info \c
(もしくは、マニュアル \c
.I
.I
Using as: The GNU Assembler\c
\&)
\& `\|\c
.B as\c
\|' の項を参照してください。
\c
.B as\c
\& が作られた第一の目的は、GNU C コンパイラ \c
.B gcc\c
\& の出力をリンカ
.B ld\c
\& で使用できるようアセンブルすることです。
確かに、
.B as\c
\& が、
ネイティブアセンブラがアセンブルできるものはすべて
正しくアセンブルできるようにしようとしてきました。
このことは、\c
.B as\c
\& の用いるシンタクスが、
同一アーキテクチャの他のアセンブラと同じである、
ということを意味するものではありません。
たとえば、680x0 のアセンブラ言語
のシンタクスには互換性のないバージョンが存在することが知られてい
ます。
.B as\c
\& の起動 1 回ごとに、ちょうどひとつのソースプログラムだけをアセンブルします。
ソースプログラムはひとつ以上のファイルから構成されます。
(標準入力もファイルひとつとみなします。)
もし \c
.B as\c
\& にファイル名が指定されなければ、ひとつの入力ファイルが \c
.B as\c
\& の標準入力 (ふつうは端末) から読み出されます。\c
.B ctl-D\c
\& をタイプすることで、これ以上アセンブルするプログラムが存在しないこと
を \c
.B as\c
\& に通知します。
コマンドライン上で明示的に標準入力を指定する必要のある時は、`\|\c
.B \-\^\-\c
\|' を使ってください。
.B as\c
\& は、警告およびエラーメッセージを標準エラー出力 (通常は端末)
へ出力します。\c
.B as\c
\& が
コンパイラによって自動起動された場合は、この限りではありません。
警告とは、欠陥のあるプログラムのアセンブルを続行するために \c
.B as\c
\& が仮定した内容を報告したものです。
エラーは、アセンブルを続行できない重大な問題を表します。
.SH オプション
.TP
.BR \-a \||\| \-al \||\| \-as
アセンブル時のリスト出力を行ないます。`\|\c
.B \-al\c
\&\|'はリスト出力のみ、`\|\c
.B \-as\c
\&\|'はシンボル出力のみ、
`\|\c
.B \-a\c
\&\|'は両方の出力を行ないます。
.TP
.B \-D
このオプションは、他のアセンブラ呼び出しとの互換のために用意され
たものであり、 \c
.B as\c
\& では何の効果もありません。
.TP
.B \-f
``高速 (fast)''オプションです--プリプロセシングを行ないません (ソースはコンパ
イラの出力したものとみなします)。
.TP
.BI "\-I\ " path
.I path
.B .include
ディレクティブの検索リストに追加します。
.TP
.B \-k
gcc -fpic によって作成された、位置独立なコードを処理します。
.TP
.B \-k
gcc -fPIC によって作成された、位置独立なコードを処理します。
ふつうは -k オプションと同じことです。
.TP
.B \-L
`\|\c
.B L\c
\|' から始まるローカルシンボルを (シンボルテーブル内に) 保持します。
.TP
.BI "\-o\ " objfile
.B as
が出力するオブジェクトファイル名を指定します。
.TP
.B \-R
データセクションをテキストセクション内に押し込みます。
.TP
.B \-v
.B as\c
\& のバージョンを表示します。
.TP
.B \-W
警告メッセージの出力を抑制します。
.TP
.IR "\-\^\-" "\ |\ " "files\|.\|.\|."
アセンブル対象のソースファイルまたは標準入力 (\c
.BR "\-\^\-" ")\c"
を指定します。
.TP
.BI \-A var
.I
(Intel 960 用。)
960 アーキテクチャのどのプロセッサがターゲットかを指定します。
.TP
.B \-b
.I
(Intel 960 用)
条件分岐の統計情報を収集するコードを追加します。
.TP
.B \-norelax
.I
(Intel 960 用。)
ロングディスプレースメントの「比較-分岐」という命令列に対して
変更を加えません。
場合によってはエラーが発生します。
.TP
.B \-l
.I
(Motorola 68000 用)。
.br
2 ワードではなく、1 ワードの短い参照を未定義シンボルに適用します。
.TP
.BR "\-mc68000" "\||\|" "\-mc68010" "\||\|" "\-mc68020"
.I
(Motorola 68000用)。
.br
68000 ファミリのどのプロセッサがターゲットかを指定します
(デフォルトは 68020)。
.PP
オプションの記述順は自由であり、ファイル名の前や後、ファイル名の
間にも記述することができます。ファイル名の記述順は重要な意味を持ちます。
`\|\c
.B \-\^\-\c
\|' (2つのハイフン) をファイル名に指定することで、\c
.B as\c
\& がアセンブルするファイルのひとつとして標準入力を明示的に指定
できます。
ハイフン
(`\|\c
.B \-\c
\|') から始まるコマンドライン引数は、
`\|\c
.B \-\^\-\c
\|' を除き、すべてオプションです。それぞ
れのオプションは、\c
.B as\c
\&の振舞いを変更します。あるオプションが他のオプションの動作を変え
ることはありません。
オプションは `\|\c
.B \-\c
\|' に続けてひとつ以上の文字を書いて指定します; 英文字の大文字
小文字の区別は重要です。すべてのオプションは省略可能です。
`\|\c
.B \-o\c
\|' オプションの後には、ファイル名をひとつだけ指定します。ファイル名
は、オプション文字の直後に記述する (古いアセンブラとの互換) 形式、または
次のコマンド引数 (GNU 標準) として記述する形式の
いずれでも指定することができます。
つまり次の2つのコマンドラインは等価です:
.br
.B
as\ \ \-o\ \ my\-object\-file.o\ \ mumble.s
.br
.B
as\ \ \-omy\-object\-file.o\ \ mumble.s
.SH "関連項目"
.B
info\c
内の
.RB "`\|" as "\|'"
の項
.B
\&;
.I
Using as: The GNU Assembler\c
\&;
.BR gcc "(" 1 "),"
.BR ld "(" 1 ")."
.SH "歴史"
.I as
は、AT&T UNIX のバージョン1で初めて現れました。
.SH COPYING
Copyright (c) 1991, 1992 Free Software Foundation, Inc.
.PP
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.
.PP
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.
.PP
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.
diff --git a/ja_JP.eucJP/man/man1/at.1 b/ja_JP.eucJP/man/man1/at.1
index 71afa063b4..f4bf220ab2 100644
--- a/ja_JP.eucJP/man/man1/at.1
+++ b/ja_JP.eucJP/man/man1/at.1
@@ -1,264 +1,264 @@
-.\" %Id: at.man,v 1.4.2.1 1998/07/16 23:50:39 jkh Exp %
+.\" %Id: at.man,v 1.8 1998/06/04 21:05:53 steve Exp %
.\" jpman %Id: at.1,v 1.3 1997/08/05 18:36:01 george Stab %
.Dd April 12, 1995
.Dt "AT" 1
.Os "FreeBSD 2.1"
.Sh 名称
.Nm at, batch, atq, atrm
.Nd あとでジョブを実行させるためのキューの設定、確認、ジョブの削除をおこなう
.Sh 書式
.Nm at
.Op Fl V
.Op Fl q Ar queue
.Op Fl f Ar file
.Op Fl mldbv
.Ar time
.Pp
.Nm at
.Op Fl V
.Fl c Ar job Op Ar job ...
.Pp
.Nm atq
.Op Fl V
.Op Fl q Ar queue
.Op Fl v
.Pp
.Nm atrm
.Op Fl V
.Ar job
.Op Ar job ...
.Pp
.Nm batch
.Op Fl V
.Op Fl q Ar queue
.Op Fl f Ar file
.Op Fl mv
.Op Ar time
.Sh 解説
.Nm at
.Nm batch
ユーティリティは、標準入力もしくは指定したファイルからコマンドを読み
込み、あとで
.Xr sh 1
を使って実行します。
.Pp
コマンドの各機能を以下に示します:
.Bl -tag -width indent
.It Nm at
コマンドを、引数で指定した時間に実行します。
.It Nm atq
ユーザの、実行待ち状態のジョブのリストを表示します。
スーパーユーザが実行した場合は全員のジョブが表示されます。
.It Nm atrm
指定したジョブを削除します。
.It Nm batch
ロードアベレージが特定の値以下になったときにジョブを実行
します。この値は、デフォルトでは 1.5 です。
この値は
.Nm atrun
によって指定可能です。
.El
.Pp
.Nm at
では、様々な形式の時間を
.Ar time
として受け付けます。
時刻は
.Ar HHMM
もしくは
.Ar HH:MM
の形で指定します
(もしこの時刻が過ぎていた場合は、次の日のその時刻に設定されます)。また、
.Nm midnight ,
.Nm noon ,
.Nm teatime
(4pm) も受け付けますし、時刻の後ろに
.Nm am
もしくは
.Nm pm
をつけた時間も受け付けます。日付は、
.Ar \%month-name day
およびオプションの
.Ar year
の形で受け付けます。
.Ar MMDDYY
.Ar MM/DD/YY
.Ar DD.MM.YY
も受け付けます。
日付の指定は時刻の指定の後に記述します。
.Op Nm now
.Nm + Ar count \%time-units
のような形式で時間を指定することも可能です。time-units は時間の単位で、
.Nm minutes ,
.Nm hours ,
.Nm days ,
.Nm weeks
のいずれかです。時間のサフィックスの
.Nm today
はジョブを今日に設定すること、
.Nm tommorow
はジョブを明日に設定することを意味します。
たとえば、今から 3 日後の午後 4 時にジョブを走らせるためには
.Nm 4PM + 3 days
と指定します。7 月 31 日の午前 10 時の場合は
.Nm 10am Jul 31
と指定します。明日の午前 1 時は
.Nm 1am tomorrow
です。
.Pp
.Nm at
.Nm batch
では、標準入力または
.Fl f
オプションで指定したファイルからコマンドを読み込み、実行します。
ワーキングディレクトリと環境変数 (
.Ev TERM ,
.Ev TERMCAP ,
.Ev DISPLAY
および
.Nm _
は除く)、umask は実行時のものが保持されます。
.Nm at
もしくは
.Nm batch
.Xr su 1
で起動されたシェルから実行された場合は、カレントの userid を保持します。
出力結果が得られた場合は、
その標準出力と標準エラー出力がメールで送られます。メールは
.Xr sendmail 8
を使って送られます。もし
.Nm at
.Xr su 1
で起動されたシェルから実行された場合は、そのログインシェルの所有者が
メールを受けることになります。
.Pp
スーパユーザはどんな場合でもこれらのコマンドを実行できます。
その他のユーザは
.Pa /var/at/at.allow
.Pa /var/at/at.deny
のファイルによって実行できるか決められます。
.Pp
もし
.Pa /var/at/at.allow
が存在するならば、その中にユーザ名を記述されたユーザだけが
.Nm at
の実行を許可されます。
.Pp
もし
.Pa /var/at/at.allow
が存在しなかったら、
.Pa /var/at/at.deny
がチェックされ、その中にユーザ名が記述されていないすべてのユーザが
.Nm at
の実行を許可されます。
.Pp
もし両方ともなければ、スーパーユーザだけが
.Nm at
を実行できます。
これがデフォルトの設定です。
.Pp
空の
.Pa /var/at/at.deny
は全てのユーザがこれらのコマンドを使用できることを意味します。
.Sh オプション
オプションとしては以下のものがあります:
.Bl -tag -width indent
.It Fl V
標準エラー出力にバージョン番号を出力します。
.It Fl q Ar queue
指定したキューを用います。キューの名称は単一の文字からなります。
有効なキューの名前は
.Nm a
から
.Nm z
.Nm A
から
.Nm Z
です。
.Nm at
のデフォルトのキューは
.Nm c
で、
.Nm batch
のデフォルトのキューは
.Nm E
です。
キューの文字が後の方であればあるほど nice 値が上がります。
もし大文字のキューがジョブに対して指定されたならば、時間を指定して
batch が実行されたものとして扱われます。
もし
.Nm atq
でキューが指定されたときは、そのキューだけの実行待ちのジョブを表示します。
.It Fl m
出力がなかった場合でも、ジョブの完了時にメールをユーザに送ります。
.It Fl f Ar file
標準入力のかわりにファイルからジョブを読み込みます。
.It Fl l
.Nm atq
のエイリアス。
.It Fl d
.Nm atrm
のエイリアス。
.It Fl b
.Nm batch
のエイリアス。
.It Fl v
atq の場合は、キューの中の実行されたがまだ削除されていないジョブを
表示します。さもなければジョブが実行される時間を表示します。
.It Fl c
コマンドラインにリストされたジョブを標準出力に出力します。
.Sh 関連ファイル
.Bl -tag -width /var/at/jobs/.lockfile -compact
.It Pa /var/at/jobs
ジョブファイルを保管しておくディレクトリ
.It Pa /var/at/spool
出力ファイルを保管しておくディレクトリ
.It Pa /var/run/utmp
ログインレコード
.It Pa /var/at/at.allow
許可属性の設定
.It Pa /var/at/at.deny
不許可属性の設定
.It Pa /var/at/jobs/.lockfile
ジョブ作成のロックファイル
.El
.Sh 関連項目
.Xr cron 8 ,
.Xr nice 1 ,
.Xr umask 2 ,
.Xr sh 1 ,
.Xr sendmail 8 ,
.Xr atrun 8
.Sh バグ
.Pa /var/run/utmp
が利用できないか不正であった場合、もしくは
.Nm at
が実行された時にユーザがログインしていない場合、
メールは環境変数
.Nm LOGNAME
で表される userid に出されます。
もし定義されていないか空ならばカレントの userid になります。
.Pp
ユーザ同士でリソースの競合がある場合は現実装の
.Nm at
.Nm batch
は適当ではありません。
もしあなたのサイトがこのような場合にあてはまるのなら、
.Nm nqs
のようなバッチシステムを検討してください。
.Sh 作者
at のほとんどの部分は
.An Thomas Koenig Aq ig25@rz.uni-karlsruhe.de
によって作成されました。
時間の構文解析部分は
.An David Parsons Aq orc@pell.chi.il.us
によって作成されました。
diff --git a/ja_JP.eucJP/man/man1/awk.1 b/ja_JP.eucJP/man/man1/awk.1
index 58b1389537..b32a9500bd 100644
--- a/ja_JP.eucJP/man/man1/awk.1
+++ b/ja_JP.eucJP/man/man1/awk.1
@@ -1,1938 +1,2534 @@
.\" jpman %Id: awk.1,v 1.3 1997/04/17 13:23:21 horikawa Stab %
+.\" WORD: interval exptession インターバル表現
.ds PX \s-1POSIX\s+1
.ds UX \s-1UNIX\s+1
.ds AN \s-1ANSI\s+1
-.TH AWK 1 "Apr 18 1994" "Free Software Foundation" "Utility Commands"
+.TH GAWK 1 "Dec 19 1996" "Free Software Foundation" "Utility Commands"
.SH 名称
-awk \- GNU awk パターン検索・処理言語
+gawk \- パターン検索・処理言語
.SH 書式
.B awk
[ POSIX or GNU style options ]
.B \-f
.I program-file
[
.B \-\^\-
] file .\^.\^.
.br
-.B awk
+.B gawk
[ POSIX or GNU style options ]
[
.B \-\^\-
]
.I program-text
file .\^.\^.
.SH 解説
.I gawk
は GNU プロジェクトが実装した プログラミング言語 AWK の処理系です。
本処理系は \*(PX 1003.2 コマンド言語とユーティリティ規約に定められた
言語の定義に適合しています。
-本バージョンはまた、Aho、Kernighan、Weinberger の著書『
+本バージョンはまた、Aho, Kernighan, Weinberger の著書『
.I The AWK Programming Language
』の記述にもとづいており、
System V Release 4 \*(UX の
.I awk
の付加機能も含んでいます。
.I gawk
-はまた、GNU 独自の拡張も提供します。
+はまた、ベル研究所の新機能および GNU 独自の拡張も提供します。
.PP
コマンドラインは、
-.I awk
+.I gawk
へのオプション、(もし
.B \-f
または
.B \-\^\-file
オプションにより指定されていなければ)AWK のプログラムテキスト、そして
残りの引数列からなります。
この残りの引数列は、定義済み AWK 変数
.BR ARGC ,
.B ARGV
を用いることで参照できます。
-.SH オプション
+.SH オプションフォーマット
.PP
.I gawk
-へのオプションは、伝統的な \*(PX 形式の一文字オプションと、GNU 形式の
+へのオプションは、伝統的な \*(PX 形式の 1 文字オプションと、GNU 形式の
ロングオプションがあります。
\*(PX 形式のオプションは単一の ``\-'' で始まり、一方 GNU 形式のもの
-は ``\-\^\-'' で始まります。GNU 形式のロングオプションは GNU の独自仕様と
+は ``\-\^\-'' で始まります。ロングオプションは GNU の独自仕様と
\*(PX の必須仕様の両方について用意されています。
-他の実装による AWK では、伝統的な一文字オプションのみを受け付けるものが
-多いようです。
.PP
\*(PX 標準に従い、
-.I awk
+.I gawk
独自仕様のオプションは
.B \-W
オプションへの引数で与えます。
複数の
.B \-W
-オプションを指定することもできますし、
-複数の引数をコンマで区切って、もしくは引用符で括り空白で区切ることで
-一度にまとめて
-.B \-W
-オプションに与えることもできます。
-.B \-W
-オプションへの引数では、大文字小文字の区別は行なわれません。後述の
+オプションを指定することもできます。
+後述の
ように、各
.B \-W
-オプションには、それに対応する GNU 形式のロングオプション
-が存在します。GNU 形式のロングオプションへの引数は、空白を入れずに
+オプションには、それに対応するロングオプション
+が存在します。ロングオプションへの引数は、空白を入れずに
.B =
でつないで指定するか、その次のコマンドライン引数として渡すことができます。
-.PP
+ロングオプションは、短縮形が一意である限り、短縮することができます。
+.SH オプショオン
.I gawk
は以下のオプションを受け付けます。
.TP
.PD 0
.BI \-F " fs"
.TP
.PD
-.BI \-\^\-field-separator= fs
+.BI \-\^\-field-separator " fs"
入力フィールドセパレータ(変数
.B FS
の値)を
.I fs
とします。
.TP
.PD 0
\fB\-v\fI var\fB\^=\^\fIval\fR
.TP
.PD
-\fB\-\^\-assign=\fIvar\fB\^=\^\fIval\fR
+\fB\-\^\-assign \fIvar\fB\^=\^\fIval\fR
プログラムを実行する前に、変数
.I var
に値
.I val
を設定します。このようにして設定
した変数は、 AWK プログラムの
.B BEGIN
ブロック内でも参照できます。
.TP
.PD 0
.BI \-f " program-file"
.TP
.PD
-.BI \-\^\-file= program-file
+.BI \-\^\-file " program-file"
.B awk
-への第一引数を用いるかわりに、AWK プログラムをファイル
+への第 1 引数を用いるかわりに、AWK プログラムをファイル
.I program-file
から読み込みます。
.B \-f
(または
.B \-\^\-file
) オプションは複数回使
用することができます。
.TP
.PD 0
-.BI \-mf= NNN
+.BI \-mf " NNN"
.TP
-.BI \-mr= NNN
+.PD
+.BI \-mr " NNN"
さまざまなメモリの制限値を
.I NNN
に設定します。フラグ
.B f
は最大フィールド数、フラグ
.B r
-は最大レコードサイズを設定します。この2つのフラグと
+は最大レコードサイズを設定します。この 2 つのフラグと
.B \-m
-オプションは、AT&T ベル研究所バージョンの \*(UX
+オプションは、ベル研究所バージョンの \*(UX
.I awk
に由来しています。しかし、
-.I awk
+.I gawk
にはこのような制限はありませんので、
-.I awk
+.I gawk
では本オプションは無視されます。
-.TP \w'\fB\-\^\-copyright\fR'u+1n
+.TP
+.PD 0
+.B "-W traditional"
+.TP
.PD 0
.B "\-W compat"
.TP
+.PD 0
+.B \-\^\-traditional
+.TP
.PD
.B \-\^\-compat
.I 互換
モードで動作します。互換モードでは、
-.I awk
+.I gawk
は \*(UX
.I awk
と等価な動作を行い、GNU 独自拡張は解釈できません。
+このオプションの他の形式よりも、
+.B \-\^\-traditional
+を使用することが好まれます。
詳しくは後述の
.B "GNU 拡張"
を参照してください。
.TP
.PD 0
.B "\-W copyleft"
.TP
.PD 0
.B "\-W copyright"
.TP
.PD 0
.B \-\^\-copyleft
.TP
.PD
.B \-\^\-copyright
-GNU の著作権表示の短いバージョンを標準エラー出力へ書き出します。
+GNU の著作権表示の短いバージョンを標準出力へ書き出し、
+成功状態で終了します。
.TP
.PD 0
.B "\-W help"
.TP
.PD 0
.B "\-W usage"
.TP
.PD 0
.B \-\^\-help
.TP
.PD
.B \-\^\-usage
-短めのオプション一覧を標準エラー出力へ書き出します。GNU コーディング規約に
+短めのオプション一覧を標準出力へ書き出します。
+(GNU コーディング規約に
従い、本オプションを指定すると
.I awk
-はただちに終了し、成功を意味する終了ステータスを返します。
+はただちに終了し、成功を意味する終了ステータスを返します。)
.TP
-.PD 0
+.PD
.B "\-W lint"
.TP
.PD 0
.B \-\^\-lint
他の AWK での処理が疑わしい、あるいは他の AWK との互換性がない構造が
ある場合に警告を行います。
+.TP
+.PD 0
+.B "\-W lint\-old"
+.TP
+.PD
+.B \-\^\-lint\-old
+オリジナルの Unix
+.I awk
+へ移植できない構造に関して警告を行います。
.ig
.\" This option is left undocumented, on purpose.
.TP
.PD 0
.B "\-W nostalgia"
.TP
.PD
.B \-\^\-nostalgia
長い間
.I awk
を使ってきたユーザのために郷愁の瞬間を提供します。
..
.TP
.PD 0
.B "\-W posix"
.TP
.PD
.B \-\^\-posix
.I 互換
モードをオンにし、更に以下の制約が課せられます。
.RS
.TP \w'\(bu'u+1n
\(bu
.B \ex
エスケープシーケンスを解釈しません。
.TP
\(bu
+.B FS
+が単一の空白に設定された場合、空白とタブのみがフィールドを区切り、
+改行はフィールドを区切りません。
+.TP
+\(bu
キーワード
.B function
に対応する別名
.B func
を解釈しません。
.TP
\(bu
演算子
.B ^
.B ^=
のかわりに
.B **
.B **=
を用いることができません。
+.TP
+\(bu
+.B fflush()
+関数は利用できません。
.RE
.TP
.PD 0
-.BI "\-W source=" program-text
+.B "\-W re\-interval"
+.TP
+.PD
+.B \-\^\-re\-interval
+正規表現のマッチングで
+.I "インターバル表現 (interval expressions)"
+を有効にします
+(後述の
+.BR "正規表現"
+を参照してください)。
+インターバル表現は伝統的な AWK 言語では利用できませんでした。
+.I awk
+と
+.I egrep
+が一貫性を持つように、POSIX 標準がこれらを追加しました。
+しかし、これらを使用すると古い AWK プログラムを動かなくしてしまうでしょうから、
+このオプションによって要求されたときと、
+.B \-\^\-posix
+が指定されたときに、
+.I gawk
+はこれらの機能を提供します。
+.TP
+.PD 0
+.BI "\-W source " program-text
.TP
.PD
-.BI \-\^\-source= program-text
+.BI \-\^\-source " program-text"
.I program-text
を AWK プログラムとして用います。本オプションにより、ライブラリ化された関数(
.B \-f
または
.B \-\^\-file
オプションを用いて読み込む)とコマンドラインから入力されたプログラムを
簡単に合成することができます。
これは、主にシェルスクリプトで用いられる中規模から大規模な AWK プログラム
のために用意されました。
-.sp .5
-.B "\-W source="
-形式においては、そのコマンドライン引数の残りの部分を
-.I program-text
-として解釈します。
-よって、同じ引数内でこれ以上
-.B \-W
-のオプション引数を続けることはできません。
.TP
.PD 0
.B "\-W version"
.TP
.PD
.B \-\^\-version
実行された
-.I awk
-プログラムのバージョン情報を標準エラー出力へ書き出します。これは主に、
+.I gawk
+プログラムのバージョン情報を標準出力へ書き出します。これは主に、
あなたが使用している
-.I awk
+.I gawk
プログラムが Free Software Foundation が配布してい
-るプログラムのうち、最新のものであるかどうかを知る場合に便利です。本オ
-プションを指定すると、GNU コーディング規約に従い、
+るプログラムのうち、最新のものであるかどうかを知る場合に便利です。
+またバグレポートのときにも有用です。
+(本オプションを指定すると、GNU コーディング規約に従い、
.I awk
-はただちに終了し、成功を意味する終了ス
-テータスを返します。
+はただちに終了し、成功を意味する終了ステータスを返します。)
.TP
.B \-\^\-
-オプションの終了を意味します。AWK に ``\-'' から始まるオプションではない
+オプションの終了を意味します。AWK プログラムに
+``\-'' から始まるオプションではない
引数を与える場合に便利です。
-これは主に、他の \*(PX プログラムの多くが引数に対して行
-う解釈と一貫性を保つためにあります。
+これは、主に他の \*(PX プログラムの多くが引数に対して行う解釈と
+一貫性を保つためにあります。
.PP
-互換モードでは、他のオプションは不正であるとされるか、無視されます。通
-常の実行において、プログラムテキストがコマンドラインに指定されていれば、
+互換モードでは、他のオプションは不正であるとされるか、無視されます。
+通常の実行において、プログラムテキストがコマンドラインに指定されていれば、
不明なオプションは、AWK プログラムに
.B ARGV
配列を通して渡されます。これ
は、AWK プログラムを ``#!'' 機構を用いて実行する場合に特に便利です。
.SH AWK プログラムの実行
.PP
AWK プログラムは、パターンとアクションの組の列と、(もし必要なら)関数定義か
らなります。
.RS
.PP
\fIpattern\fB { \fIaction statements\fB }\fR
.br
\fBfunction \fIname\fB(\fIparameter list\fB) { \fIstatements\fB }\fR
.RE
.PP
.I gawk
はまず、
.I program-file
(複数可)が指定されていればそれから、
-.B "\-W source="
+.B \-\^\-source
の引数から、あるいは、最初のオプションではない引数から
プログラムを読み込みます。
.B \-f
-.B "\-W source="
+.B \-\^\-source
オプションは、コマンドラインで複数回指定できます。
.I gawk
は、すべての
.I program-file
とコマンドラインで指定したプログラムを結
-合して使用します。新しく作った AWK プログラム一つ一つに
+合して使用します。新しく作った AWK プログラムひとつひとつに
AWK 関数のライブラリを埋め込む必要が無いので、この機能はライブラリの構築に
便利です。
また、ライブラリ関数とコマンドラインで指定したプログラムとを混合して使
うことも可能にしています。
.PP
環境変数
.B AWKPATH
により、
.B \-f
オプションで指定されたファイルを検索するパスを指定できます。
.B AWKPATH
が設定されていない場合のデフォルトパスは
-\fB".:/usr/lib/awk:/usr/local/lib/awk"\fR です。
+\fB".:/usr/local/share/awk"\fR です。
+(実際のディレクトリは
+.I gawk
+がどのように構築/インストールされたかに依存して、さまざまなものとなります。)
.B \-f
オプションで指定したファイル名が ``/'' を含んでいる場合は、
パス検索は行われません。
.PP
-.I awk
-は、 AWK プログラムを以下の順序で実行します。
-.RS
-.TP \w'4.'u+1n
-1.
+.I gawk
+は、 AWK プログラムを次の順序で実行します。
+まず、
.B \-v
-オプションで指定された変数への代入をすべて行う
-.TP
-2.
-プログラムを内部形式にコンパイルする
-.TP
-3.
-(もし存在すれば)
+オプションで指定された変数への代入をすべて行います。
+次に、プログラムを内部形式にコンパイルします。
+そして、(もし存在すれば)
.B BEGIN
-ブロック(複数存在可)を実行する
-.TP
-4.
+ブロック(複数存在可)を実行します。
配列
.B ARGV
-で指定されたファイルを順に読み、処理を行う(コマンドラインでファイル名が
-指定されていなければ、標準入力に対して処理を行う)。
-.RE
+で指定されたファイルを順に読み、処理を行います(コマンドラインでファイル名が
+指定されていなければ、標準入力に対して処理を行います)。
.PP
コマンドラインで指定されたファイル名が
.IB var = val
という形式ならば、それ
は変数への代入であると解釈されます。変数
.I var
は値
.I val
に設定されます
(これは、すべての
.B BEGIN
ブロックを実行したあとに行われます)。コマンドライン
での変数の代入は、AWK が入力をフィールドやレコードに分割するためのセパレータ
-を実行時に変更するのに便利です。また、1つのデータファイルに
+を実行時に変更するのに便利です。また、1 つのデータファイルに
対し数回処理を行う必要がある場合、状態をコントロールするのにも便利です。
.PP
配列
.B ARGV
の要素に空(\fB""\fR)がある場合、
-.I awk
+.I gawk
はその要素を無視します。
.PP
-.I awk
-は、入力された各行に対してマッチする
+.I gawk
+は、入力された各レコードに対してマッチする
.I パターン
が AWK プログラム内にあるかどうかを
-検索します。その行にマッチしたパターンすべてについて、それぞれ対応する
+検索します。そのレコードにマッチしたパターンすべてについて、それぞれ対応する
.I アクション
が実行されます。
パターンは、プログラムテキストに出現した順序で検索されます。
.PP
-入力がつきると、
-.I awk
+入力が尽きると、
+.I gawk
は(もしあれば)
.B END
ブロック(複数存在可)を実行します。
-.SH 変数とフィールド
+.SH 変数、レコード、フィールド
AWK における変数は動的、すなわち、最初に使用されたときに生成されます。
-変数の値は、浮動小数か、文字列か、あるいは両方です。変数の用い
+変数の値は、浮動小数点数か、文字列か、あるいは両方です。変数の用い
られ方により変化します。AWK ではまた、1次元配列を利用することができます。
多次元配列
も、擬似的にではありますが、利用可能です。プログラム実行開始時に、
いくつかの定義済み変数が設定されます。
+これらを必要に応じて説明し、以下でまとめます。
+.SS レコード
+通常、レコードは改行文字により区切られます。
+レコードの区切りは、組み込み変数
+.B RS
+へ値を代入することにより、制御できます。
+.B RS
+が単一文字の場合、その文字がレコードを区切ります。
+そうでない場合は、
+.B RS
+は正規表現となります。
+入力中のテキストで、この正規表現にマッチするものがレコードを区切ります。
+しかし互換モードでは、
+文字列値の最初の文字だけが、レコードセパレータに使用されます。
+.B RS
+が空文字列に設定されているときには、レコードは空行で区切られます。
+.B RS
+が空文字列に設定されたときには、
+.B FS
+の値にかかわらず、改行文字は常にフィールドセパレータとなります。
.SS フィールド
.PP
-入力ファイルから1行を読み込むと、
-.I awk
-はその行を
+入力レコードを読み込むごとに、
+.I gawk
+はそのレコードを
.I フィールド
に分割しま
す。分割する際には、変数
.B FS
の値がフィールドセパレータとして参照されます。
.B FS
の値が1文字なら、その
-文字を境にフィールドが分割されます。1文字でないなら、
+文字を境にフィールドが分割されます。
+.B FS
+が空文字列の場合、個々の文字がフィールドセパレータとなります。
+いずれでもない場合、
.B FS
-は正規表現である
+は完全な正規表現である
と解釈されます。特殊な場合として
.B FS
が単一の空白のときには、フィールドは
-連続した空白とタブにより分割されます。変数
+連続した空白・タブ・改行により分割されます。
+(後述の
+.BR \-\-posix
+の議論を参照してください)。
+変数
.B IGNORECASE
(下記参照)の
値は、
.B FS
-が正規表現の場合、フィールド分割にも影響を与えることに注意してください。
+が正規表現の場合フィールド分割にも影響を与えることと、
+.B RS
+が正規表現の場合レコード分割にも影響を与えることに注意してください。
.PP
変数
.B FIELDWIDTHS
の値が空白で区切られた数字の列である場合、各フィールドは
固定長であると解釈され、
-.I awk
+.I gawk
は指定された幅ごとにフィールドの
分割を行います。この場合、
.B FS
の値は無視されます。
.B FS
に新たに値を設定
することにより、この
.B FIELDWIDTHS
の効果を打ち消し、標準の動作に戻すことができます。
.PP
-各フィールドの値は、左から
+入力レコード中の各フィールドの値は、左から
.BR $1 ,
.B $2
等という名前で参照できます。
.B $0
-行全体です。フィールドに値を代入することもできます。フィールドは定数だ
-けでなく、変数によって参照することもできます。以下の例では、入力行の 5
+レコード全体です。フィールドに値を代入することもできます。フィールドは定数だ
+けでなく、変数によって参照することもできます。以下の例では、入力レコードの 5
番目のフィールドの値を出力します。
.RS
.PP
.ft B
n = 5
.br
print $n
.ft R
.RE
.PP
-変数 NF は、自動的にその行のフィールドの数に設定されます。
+変数 NF は、自動的に入力レコードのフィールドの数に設定されます。
.PP
存在しないフィールド(すなわち、
.B $NF
より右のフィールド)を参照した結果は
空文字列になります。しかしながら、存在しないフィールドへの代入(たとえ
ば、
.BR $(NF+2) = 5
)は
.B NF
の値を増加させ、間のフィールドには空文字が設定されます。
さらに
.B $0
の値は、フィールドの値を変数
.B OFS
-の値で結合したものに再設定されます。
+の値でフィールドを区切ったものとして再計算されます。
負のフィールド番号への参照は致命的エラーとなります。
+.B NF
+を減少させると、新しい値を越えるフィールドの値は失われます。
+.B $0
+の値は、フィールドの値を変数
+.B OFS
+の値でフィールドを区切ったものとして再計算されます。
.SS 組み込み変数
.PP
-AWK の組み込み変数は以下のとおりです。
+.I gawk
+の組み込み変数は以下のとおりです。
.PP
.TP \w'\fBFIELDWIDTHS\fR'u+1n
.B ARGC
コマンドライン引数の個数(
-.I awk
+.I gawk
へのオプションと、プログラム指定は含みま
せん)。
.TP
.B ARGIND
現在処理中のファイル名が格納されている配列
.B ARGV
のインデックス。
.TP
.B ARGV
コマンドライン引数の配列。配列は、 0 から
.B ARGC
\- 1 までのインデックスを
持ちます。
.B ARGV
の内容を変更することで、入力に用いるファイル名を変
更することができます。
.TP
.B CONVFMT
数値の変換フォーマット。デフォルト値は \fB"%.6g"\fR です。
.TP
.B ENVIRON
現在の環境変数の値からなる配列。配列は、環境変数名によりインデックスされ
-、各要素の値はその環境変数の値です(たとえば、環境変数
-.B HOME
-は \fBENVIRON["HOME"]\fP で参照できます)。本配列に
+、各要素の値はその環境変数の値です(例えば
+\fBENVIRON["HOME"]\fP は
+.B /home/arnold
+となるでしょう)。本配列に
代入を行っても、
-.I awk
+.I gawk
からリダイレクトや
.B system()
関数により実行される
プログラムの環境には影響を与えません(これは、将来の
-.I awk
+.I gawk
では変更される可能性があります)。
.\" but don't hold your breath...
.TP
.B ERRNO
.B getline
のリダイレクト、
.B getline
による読み込み、
.B close()
関数の実行時のいずれかにシステムエラーが発生した場合、変数
.B ERRNO
にはエラーの内容を示した文字列が設定されます。
.TP
.B FIELDWIDTHS
空白で区切られたフィールド長のリスト。もしこの値が設定されていれば、
-.I awk
+.I gawk
.B FS
の値を用いてフィールド分割するかわりに、固定長のフィールド分割を行
います。固定長のフィールド分割機能はまだ実験的なもので、
-.I awk
-が改良されるに従
-って意味が変化する可能性があります。
+.I gawk
+が改良されるに従って意味が変化する可能性があります。
.TP
.B FILENAME
現在の入力ファイル名。もし、コマンドラインで入力ファイルが指定されてい
なければ、
.B FILENAME
の値は ``\-'' です。しかしながら、
.B BEGIN
ブロック内では
.B FILENAME
は未定義です。
.TP
.B FNR
現在の入力ファイルにおける入力レコード番号。
.TP
.B FS
入力フィールドセパレータ。デフォルトでは単一の空白です。
+上述の
+.B フィールド
+を参照してください。
.TP
.B IGNORECASE
-すべての正規表現において大文字小文字の区別を制御します。もし、
+すべての正規表現と文字列操作において大文字小文字の区別を制御します。もし、
.B IGNORECASE
-が 0 でない値に設定されていれば、ルールのパターンマッチ、
+が 0 でない値に設定されていれば、文字列比較、ルールのパターンマッチ、
.B FS
によるフィールド分割、
+.B RS
+によるレコード分割、
.B ~
.B !~
による正規表現マッチ、定義済み関数
+.BR gensub() ,
.BR gsub() ,
.BR index() ,
.BR match() ,
.BR split() ,
.B sub()
において大文字と小文字の違いは無視されます。このため、
.B IGNORECASE
-が 0 以外の
-値なら、
+が 0 以外の値なら、
.B /aB/
-は \fB"ab"\fP、\fB"aB"\fP、\fB"Ab"\fP、\fB"AB"\fP のいずれにもマッチすることになります。
+は \fB"ab"\fP, \fB"aB"\fP, \fB"Ab"\fP, \fB"AB"\fP
+のいずれにもマッチすることになります。
他のAWK 変数と同様に
.B IGNORECASE
-のデフォルト値は 0 なので、通常は
-正規表現において大文字と小文字は区別されます。
+の初期値は 0 なので、通常は
+正規表現と文字列操作において大文字と小文字は区別されます。
+Unix では、大文字小文字を無視する場合、
+ISO 8859-1 Latin-1 文字集合全てを使用できます。
+.B 注:
+3.0 以前の
+.I gawk
+では
+.B IGNORECASE
+は正規表現操作のみに影響しました。現在は文字列比較にも影響します。
.TP
.B NF
現在の入力レコードのフィールド数。
.TP
.B NR
現在までに読み込んだ入力レコード数の合計。
.TP
.B OFMT
数字の出力フォーマット。デフォルト値は \fB"%.6g"\fR です。
.TP
.B OFS
出力フィールドセパレータ。デフォルトは空白です。
.TP
.B ORS
出力レコードセパレータ。デフォルトは改行です。
.TP
.B RS
入力レコードセパレータ。デフォルトは改行です。
+.TP
+.B RT
+レコードターミネータ。
+.I gawk
+は、
.B RS
-は例外的な変数で、
-値の最初の1文字のみがレコード分割に用いられます(これは、将来リリースされる
-.I awk
-では変更されているかもしれません)。もし
-.B RS
-が空文字列に設定されていたなら、
-レコードは空行によって分割されます。この場合、
-.B FS
-の値が何であろうとも、改行はつねにフィールドセパレータとしての役割を
-果たします。
+で指定される文字または正規表現にマッチする入力テキストを、
+.B RT
+に設定します。
.TP
.B RSTART
.B match()
によりマッチした最初の文字の位置。0 はマッチしなかったことを示します。
.TP
.B RLENGTH
.B match()
によりマッチした文字列の長さ。\-1 はマッチしなかったことを示します。
.TP
.B SUBSEP
多次元配列を実現する際に用いられる、配列のインデックスを結合する文字。
デフォルト値は \fB"\e034"\fR です。
.SS 配列
.PP
配列は、ブラケット
.RB ( [
.BR ] )
の間の式によってインデックスを指定します。もし式が式
のリスト(式, 式, ...) なら、式の値を変数
.B SUBSEP
の値を区切りとして
結合した文字列をインデックスとして用います。これにより、多次元配列を
-シミュレートしています。たとえば、
+シミュレートしています。例えば、
.PP
.RS
.ft B
-i = "A" ;\^ j = "B" ;\^ k = "C"
+i = "A";\^ j = "B";\^ k = "C"
.br
x[i, j, k] = "hello, world\en"
.ft R
.RE
.PP
は、文字列 \fB"hello, world\en"\fR を、文字列 \fB"A\e034B\e034C"\fR で
インデックスした配列 x の要素に代入しています。
AWK の配列はすべて、文字列によりインデックスを行う連想配列です。
.PP
特殊な演算子
.B in
.B if
または
.B while
ステートメントで用いることによって、あるインデックス値に
おける配列の値が定義されているかを調べることができます。
.PP
.RS
.ft B
.nf
if (val in array)
print array[val]
.fi
.ft
.RE
.PP
もし、配列が多次元インデックスを持つなら、
.B "(i, j) in array"
を用います。
.PP
.B in
はまた、
.B for
ループ中で、配列のすべてのインデックス値について繰り返すために
-用いることができます。以下の方法で、配列のすべての要素の値を表示する
-ことができます。
-.PP
-.RS
-.ft B
-.nf
-for (i in array)
- print array[i]
-.fi
-.ft
-.RE
+用いることができます。
.PP
配列の要素は、
.B delete
ステートメントを用いて削除することができます。
.B delete
ステートメントはまた、
-配列全体を削除するのにも使えます。
+添字を指定せずに配列名のみを指定することにより、
+配列全体を削除するためにも使えます。
.SS 変数の型と変換
.PP
-変数とフィールドは、(浮動小数の)数値または文字列、あるいは両方として
+変数とフィールドは、(浮動小数点数の)数値または文字列、あるいは両方として
扱われます。
変数の値がどのように解釈されるかは、変数の使われ方によって変化します。
数式中で用いられれば変数は数値として解釈され、文字列として用いられれ
ば文字列として解釈されます。
.PP
-変数の値を強制的に数値であると解釈させたい場合は、変数に 0 を加えます
-(var + 0)。文字列と解釈させたい場合は空文字列を結合します(var "")。
+変数の値を強制的に数値であると解釈させたい場合は、変数に 0 を加えます。
+文字列と解釈させたい場合は空文字列を結合します。
.PP
文字列を数値に変換する必要がある場合、変換は
.IR atof (3)
によって行われます。
数値を文字列に変換する場合は、変数
.B CONVFMT
の値をフォーマット文字列として用いて、
.IR sprintf (3)
-により行われます。AWK ではすべての数値は浮動小数ですが、整数値はつねに整数
+により行われます。AWK ではすべての数値は浮動小数点数ですが、整数値は常に整数
として変換が行われます。
-.PP
よって、以下の場合、
.PP
.RS
.ft B
.nf
CONVFMT = "%2.2f"
a = 12
b = a ""
.fi
.ft R
.RE
.PP
変数
.B b
-は文字列値 \fB"12"\fR となり、"12.00" とはなりません。
+は文字列値 \fB"12"\fR となり、\fB"12.00"\fR とはなりません。
.PP
.I gawk
は、以下のようにして比較を行います:
-2つの変数が数値なら数値として比
+2 つの変数が数値なら数値として比
較します。もし片方が数値で片方が`数値'文字列なら、数値として比較されます。
片方が数値でない文字列なら、数値のほうが文字列に変換され、文字列として
比較されます。両方とも文字列なら、文字列として比較されます。\*(PX 標準に従う
なら、両方とも数値文字列の場合は数値として比較しますが、これは明ら
かに間違いです。
-.I awk
+.I gawk
はそのような動作をしません。
.PP
-初期化されていない変数は、数値としては 0 を、文字列としては空文字列を持ちます。
+\fB"57"\fP のような文字列定数は数値文字列では
+.I なく
+、文字列定数です。「数値文字列」の概念は、フィールド、
+.B getline
+の入力、
+.B FILENAME
+、
+.B ARGV
+の要素、
+.B ENVIRON
+の要素、数値文字列から
+.B split()
+によって作成された配列の要素に対してのみ適用されます。
+基本的な考え方では、
+.I ユーザ入力
+、それも数値に見えるユーザ入力のみが数値として扱われます。
+.PP
+初期化されていない変数は、数値としては 0 を、文字列としては "" (空文字列)を
+持ちます。
.SH パターンとアクション
-awk は行指向の言語です。まずパターン、次にアクションが続きます。アクショ
-ンは
+awk は行指向の言語です。まずパターン、次にアクションが続きます。
+アクションは
.B {
.B }
で囲みます。パターンまたはアクションは省略することもできます。
もちろん、両方とも
省略してしまっては意味がありません。
-パターンがない場合、アクションはすべての入力行に
+パターンがない場合、アクションはすべての入力レコードに
対して適用されます。省略されたアクションは以下と等価です。
.RS
.PP
.B "{ print }"
.RE
.PP
-これは行全体を出力します。
+これはレコード全体を出力します。
.PP
-コメントは ``#'' で始まり、行末まで続きます。空行は、複数ステートメントの
+コメントは文字 ``#'' で始まり、行末まで続きます。空行は、複数ステートメントの
間をあけるのに使うことができます。
通常、ステートメントは改行で終わります。ただし、
-以下の記号で行が終わる場合にはこの限りではありません:
-``,'', ``{'', ``?'', ``:'',
-``&&'', ``||''。
+次の記号で行が終わる場合にはこの限りではありません: ``,'',
+.BR { ,
+.BR ? ,
+.BR : ,
+.BR && ,
+.B ||
+。
.B do
または
.B else
で終わる行は、ステートメントが自動的に以降
の行へ継続されます。また、改行の直前に ``\e'' を置くことで、
行を継続することができます。この場合、その改行は無視されます。
.PP
-``;'' で区切ることにより、1行に複数のステートメントを記述することができ
-ます。アクション部におけるステートメントだけではなく、
-パターンとアクションの対自体も ``;'' で区切って複数置くことができます。
+``;'' で区切ることにより、1行に複数のステートメントを記述することができます。
+(通常のように)
+パターン-アクション対中のアクション部におけるステートメントだけではなく、
+パターン-アクション対ステートメント自身も、
+ ``;'' で区切って複数置くことができます。
.SS パターン
AWK のパターンは、以下のうちのいずれかです。
.PP
.RS
.nf
.B BEGIN
.B END
.BI / "regular expression" /
.I "relational expression"
.IB pattern " && " pattern
.IB pattern " || " pattern
.IB pattern " ? " pattern " : " pattern
.BI ( pattern )
.BI ! " pattern"
.IB pattern1 ", " pattern2
.fi
.RE
.PP
.B BEGIN
.B END
は特殊なパターンであり、入力と比較されることはありません。すべての
.B BEGIN
-パターンに対応したアクション部は結合されます。結合されたアクションは
+パターンに対応したアクション部は結合され、
+そのようなすべてのアクション部が単一の
+.B BEGIN
+ブロック中にあるかのように扱われます。
+結合されたアクションは、
すべての入力ファイルの読み込みに先立って実行されます。同様にすべての
.B END
ブロックは結合され、すべての入力ファイルの処理後(あるいは、exit ステートメント
が実行されたとき)に実行されます。
.B BEGIN
.B END
はパターン式内で他のパターンと混ぜて使うことはできません。また、
.B BEGIN
.B END
パターンはアクション部を省略することができません。
.PP
.BI / "regular expression" /
-パターンでは、正規表現にマッチした入力行に対してアクション
+パターンでは、正規表現(regular expression)
+にマッチした入力レコードに対してアクション
が実行されます。正規表現は
.IR egrep (1)
と同じものが使えます。あとに要約を示します。
.PP
-関係式では、後述のアクションについての節で示す演算子を用いることが
+.I 関係式(relational expression)
+では、後述のアクションについての節で示す演算子を用いることが
できます。
これらは概して、特定のフィールドが正規表現にマッチするかどうかを
-調べるために用いられます
-($2 ~ /foo/ 等)。
+調べるために用いられます。
.PP
演算子
.BR && ,
.BR || ,
.B !
は、それぞれ C 言語での論理AND、論理OR、論理NOT と等価です。
C 言語と同様に、評価値が確定した時点で以降の評価を打ち切ります。
これらは複数のパターン式を結合するために使用されます。
他のプログラミング言語と同様、括弧によって評価順序を変更することができます。
.PP
-?\^: 演算子は C 言語のものと同様です。もし、最初のパターンが真なら、
+.B ?\^:
+演算子は C 言語のものと同様です。もし、最初のパターンが真なら、
テストのために 2 番目のパターンが用いられ、そうでなければ 3 番目のパターンが
用いられます。2 番目と 3 番目のパターンのどちらかだけが評価されます。
.PP
.IB pattern1 ", " pattern2
形式は
.I 範囲パターン
と呼ばれます。範囲パターンは、
.I pattern1
にマッチするレコードから、
.I pattern2
-にマッチする行レコードまでのすべてにマッチします。
+にマッチするレコードまでのすべてにマッチします。
この形式は、他のパターン式と混合して用いることはできません。
.SS 正規表現
awk の正規表現は
.I egrep
のものと同様に、拡張された正規表現です。
以下の構成要素から成り立っています。
.TP \w'\fB[^\fIabc...\fB]\fR'u+2n
.I c
メタ文字ではない
.I c
にマッチする。
.TP
.I \ec
リテラル文字
.I c
にマッチする。
.TP
.B .
-改行以外の任意の一文字にマッチする。
+改行を
+.I 含む
+任意の 1 文字にマッチする。
.TP
.B ^
-行頭、または文字列の先頭にマッチする。
+文字列の先頭にマッチする。
.TP
.B $
-行末、または文字列の終端にマッチする。
+文字列の終端にマッチする。
.TP
.BI [ abc... ]
-abc... のいずれか一文字にマッチする(文字クラス)。
+文字リストであり、
+.I abc...
+のいずれか 1 文字にマッチする。
.TP
.BI [^ abc... ]
-abc... と改行を除く任意の一文字にマッチする(否定文字クラス)。
+文字リストの逆であり、
+.I abc...
+以外の 1 文字にマッチする。
.TP
.IB r1 | r2
+選言:
.I r1
または
.I r2
-にマッチする(選言)。
+にマッチする。
.TP
.I r1r2
+結合:
.I r1
の直後に
.I r2
-が続くものにマッチする(結合)。
+が続くものにマッチする。
.TP
.IB r +
.I r
の 1 回以上の繰り返しにマッチする。
.TP
.IB r *
.I r
の 0 回以上の繰り返しにマッチする。
.TP
.IB r ?
.I r
の 0 回または 1 回の繰り返しにマッチする。
.TP
.BI ( r )
+グループ化:
+.I r
+にマッチする。
+.TP
+.PD 0
+.IB r { n }
+.TP
+.PD 0
+.IB r { n ,}
+.TP
+.PD
+.IB r { n , m }
+ブレース中に 1 つか 2 つの数値を記述することにより、
+.I "インターバル表現"
+を表します。ブレース中に数値が 1 つある場合、直前の正規表現
.I r
-にマッチする(グループ化)。
+が
+.I n
+回繰り返されます。2 つの数値がコンマで区切られている場合、
+.I r
+は
+.I n
+回から
+.I m
+回繰り返されます。1 つの数値に続いてコンマがある場合、
+.I r
+は少なくとも
+.I n
+回繰り返されます。
+.sp .5
+インターバル表現は
+.B \-\^\-posix
+または
+.B \-\^\-re\-interval
+がコマンドラインにて指定されているときのみ利用可能です。
+.TP
+.B \ey
+語の先頭または末尾の空文字列にマッチします。
+.TP
+.B \eB
+語の中の空文字列にマッチします。
+.TP
+.B \e<
+語の先頭の空文字列にマッチします。
+.TP
+.B \e>
+語の末尾の空文字列にマッチします。
+.TP
+.B \ew
+語を構成する文字 (レター、数値、アンダスコア) にマッチします。
+.TP
+.B \eW
+語を構成する文字以外の文字にマッチします。
+.TP
+.B \e`
+バッファ (文字列) の先頭の空文字列にマッチします。
+.TP
+.B \e'
+バッファの末尾の空文字列にマッチします。
.PP
文字列定数中で用いることができるエスケープシーケンス(後述参照)は、
正規表現中でも使用することができます。
+.PP
+.I 文字クラス
+は POSIX 標準で導入された新機能です。
+文字クラスは特定の属性を持つ文字列リストの特殊表現ですが、
+実際の文字集合自身は国や文字集合によって様々なものとなります。
+例えば、アルファベット文字はアメリカ合州国とフランスとでは異なります。
+.PP
+文字クラスが有効なのは、
+文字リストのブラケットの中の正規表現だけです。
+文字クラスは、
+.B [:
+と、クラスを表現するキーワードと、
+.B :]
+で構成されます。
+以下に POSIX 表現で定義される文字クラスを示します。
+.TP
+.B [:alnum:]
+アルファベットと数値文字。
+.TP
+.B [:alpha:]
+アルファベット文字。
+.TP
+.B [:blank:]
+空白とタブ文字。
+.TP
+.B [:cntrl:]
+制御文字。
+.TP
+.B [:digit:]
+数値文字。
+.TP
+.B [:graph:]
+印字可能で可視な文字。
+(空白は印字可能ですが見えません。一方
+.B a
+は印字可能かつ可視です。)
+.TP
+.B [:lower:]
+アルファベット文字の小文字。
+.TP
+.B [:print:]
+印字可能な文字 (制御文字以外)。
+.TP
+.B [:punct:]
+句読点文字 (レター、数値、制御文字、空白文字のいずれでもない文字)。
+.TP
+.B [:space:]
+空白文字 (空白、タブ、フォームフィード等の少数の文字を指す)。
+.TP
+.B [:upper:]
+アルファベット文字の大文字。
+.TP
+.B [:xdigit:]
+16 進数の数値。
+.PP
+例えば、POSIX 標準以前では、アルファベットと数値の文字にマッチするためには、
+.B /[A\-Za\-z0\-9]/
+と書きました。しかし、別のアルファベット文字が文字集合に含まれる場合、
+それらにはマッチしません。
+POSIX 文字クラスでは、
+.BR /[[:alnum:]]/
+と記述することができ、文字集合の
+.I すべて
+のアルファベットと数値にマッチします。
+.PP
+文字リスト中には、更に 2 つの特殊シーケンスを使用できます。
+これらは、
+複数の文字によって表現される単一シンボル (
+.I 照合文字
+と呼ばれます) を持ち、
+複数の文字が
+.I 参照
+やソートにおいては等価であるとされる、非 ASCII 文字集合に適用されます。
+(例えば、フランス語では単なる ``e'' とグレーブアクセント付きの e\` とでは
+等価です。)
+.TP
+照合シンボル
+参照シンボルは複数文字の参照要素であり、
+.B [.
+と
+.B .]
+で括ります。
+例えば、
+.B ch
+が参照要素の場合、
+.B [[.ch.]]
+は正規表現となり、この参照要素にマッチします。
+一方、
+.B [ch]
+は
+.B c
+か
+.B h
+にマッチする正規表現です。
+.TP
+等価クラス
+等価クラスは
+等価な文字リストを指すロケール固有の名前です。名前は
+.B [=
+と
+.B =]
+で括ります。
+例えば、名前
+.B e
+は ``e,'' ``e\`,'', ``e\`.'' のすべてを表現するために使用されるかもしれません。
+この場合、
+.B [[=e=]]
+は
+.BR e ,
+.BR e\' ,
+.BR e\`
+のいずれかにマッチする正規表現となります。
+.PP
+これらの機能は英語以外のロケールにて非常に有用です。
+.I gawk
+が正規表現のマッチングに使用するライブラリ関数は、
+現在 POSIX 文字クラスのみを理解し、
+参照シンボルと等価クラスは理解しません。
+.PP
+.BR \ey ,
+.BR \eB ,
+.BR \e< ,
+.BR \e> ,
+.BR \ew ,
+.BR \eW ,
+.BR \e` ,
+.B \e'
+の演算子は
+.IR gawk
+固有であり、GNU 正規表現ライブラリの機能を元にした拡張です。
+.PP
+様々なコマンドラインオプションによって、正規表現中の文字を
+.I gawk
+がどのように解釈するのかを制御できます。
+.TP
+オプション無し
+デフォルトでは、
+.I gawk
+は上述の POSIX 正規表現および GNU 正規表現のすべての機能を提供します。
+しかしながら、インターバル表現はサポートされません。
+.TP
+.B \-\^\-posix
+POSIX 正規表現のみがサポートされ、GNU 演算子はサポートされません
+(例えば、
+.B \ew
+はリテラル
+.B w
+にマッチします)。
+インターバル表現は許されます。
+.TP
+.B \-\^\-traditional
+伝統的な Unix
+.I awk
+の正規表現がサポートされます。GNU 演算子、インターバル表現、
+POSIX 文字クラス (
+.B [[:alnum:]]
+など) はサポートされません。
+8 進または 16 進のエスケープシーケンスで表現される文字は、
+正規表現のメタ文字を表現するとしても、
+リテラルとして扱われます。
+.TP
+.B \-\^\-re\-interval
+.B \-\^\-traditional
+が指定されていたとしても、正規表現中でインターバル表現をサポートします。
.SS アクション
アクションは、ブレース
.B {
.B }
で囲みます。アクションは通常の代入、条件文、
ループ文等からなります。演算子、制御文、入出力文は C 言語とほぼ同様です。
.SS 演算子
.PP
-AWK での演算子を、優先順位の低いものから順に示します。
+AWK での演算子を、優先順位の高いものから順に示します。
.PP
.TP "\w'\fB*= /= %= ^=\fR'u+1n"
-.PD 0
-.B "= += \-="
+.BR ( \&... )
+グループ化。
.TP
-.PD
-.B "*= /= %= ^="
-代入。絶対的な代入
-.BI ( var " = " value )
-と演算子代入(その他の形式)がサポートされています。
+.B $
+フィールド参照。
.TP
-.B ?:
-C 言語の条件式と同様です。
-.IB expr1 " ? " expr2 " : " expr3\c
-の形式で使います。もし
-.I expr1
-が真なら式の値は
-.I expr2
-になり、そうでなければ
-.I expr3
-になります。
-.I expr2
-か
-.I expr3
-のうち片方のみが評価されます。
+.B "++ \-\^\-"
+インクリメント、デクリメント。前置も後置も可能。
.TP
-.B ||
-論理 OR。
+.B ^
+べき乗(\fB**\fR も同様の意味で使用できる。また \fB**=\fR 代入演算子も存在する)。
.TP
-.B &&
-論理 AND。
+.B "+ \- !"
+単項のプラス、マイナス、論理否定。
.TP
-.B "~ !~"
-正規表現マッチ、否定のマッチ。
-.B 注意:
-.B ~
-と
-.B !~
-の左辺に正規表現定数
-.RB ( /foo/ 等)
-を用いてはいけません。正
-規表現定数は右辺にのみ置くことができます。式
-.BI "/foo/ ~ " exp
-は
-\fB(($0 ~ /foo/) ~ \fIexp\fB)\fR と等価であり、これは通常意図するものとは異なります。
+.B "* / %"
+乗算、除算、剰余。
+.TP
+.B "+ \-"
+加算と減算。
+.TP
+.I space
+文字列結合。
.TP
.PD 0
.B "< >"
.TP
.PD 0
.B "<= >="
.TP
.PD
.B "!= =="
通常の関係演算子。
.TP
-.I blank
-文字列の結合。
+.B "~ !~"
+正規表現マッチ、否定のマッチ。
+.B 注意:
+.B ~
+と
+.B !~
+の左辺に正規表現定数
+.RB ( /foo/ 等)
+を用いてはいけません。正規表現定数は右辺にのみ置くことができます。式
+.BI "/foo/ ~ " exp
+は
+\fB(($0 ~ /foo/) ~ \fIexp\fB)\fR と等価であり、これは通常意図するものとは異なります。
.TP
-.B "+ \-"
-加算、減算。
+.B in
+配列のメンバ。
.TP
-.B "* / %"
-乗算、除算、剰余。
+.B &&
+論理 AND。
.TP
-.B "+ \- !"
-単項プラス、単項マイナス、論理否定。
+.B ||
+論理 OR。
.TP
-.B ^
-べき乗(\fB**\fR も同様の意味で使用できる。また \fB**=\fR 代入演算子も存在する)。
+.B ?:
+C 言語の条件式と同様です。
+.IB expr1 " ? " expr2 " : " expr3\c
+の形式で使います。もし
+.I expr1
+が真なら式の値は
+.I expr2
+になり、そうでなければ
+.I expr3
+になります。
+.I expr2
+か
+.I expr3
+のうち片方のみが評価されます。
.TP
-.B "++ \-\^\-"
-インクリメント、デクリメント。前置も後置も可能。
+.PD 0
+.B "= += \-="
.TP
-.B $
-フィールド参照
+.B "*= /= %= ^="
+代入。絶対代入
+.BI ( var " = " value )
+と演算子代入 (他の形式) がサポートされています。
.SS 制御ステートメント
.PP
制御ステートメントは以下のとおりです。
.PP
.RS
.nf
\fBif (\fIcondition\fB) \fIstatement\fR [ \fBelse\fI statement \fR]
\fBwhile (\fIcondition\fB) \fIstatement \fR
\fBdo \fIstatement \fBwhile (\fIcondition\fB)\fR
\fBfor (\fIexpr1\fB; \fIexpr2\fB; \fIexpr3\fB) \fIstatement\fR
\fBfor (\fIvar \fBin\fI array\fB) \fIstatement\fR
\fBbreak\fR
\fBcontinue\fR
\fBdelete \fIarray\^\fB[\^\fIindex\^\fB]\fR
\fBdelete \fIarray\^\fR
\fBexit\fR [ \fIexpression\fR ]
\fB{ \fIstatements \fB}
.fi
.RE
.SS 入出力ステートメント
.PP
入出力ステートメントは以下のとおりです。
.PP
.TP "\w'\fBprintf \fI書式, 式の列\fR'u+1n"
-.BI close( filename )
-ファイルまたはパイプ(下記参照)をクローズします。
+.BI close( file )
+ファイル (またはパイプ、下記参照) をクローズします。
.TP
.B getline
次のレコードを
.B $0
に読み込みます。
.BR NF ,
.BR NR ,
.B FNR
が設定されます。
.TP
.BI "getline <" file
ファイル
.I file
から次のレコードを
.B $0
に読み込みます。
.B NF
が設定されます。
.TP
.BI getline " var"
次のレコードを変数
.I var
に読み込みます。
-.BR NF ,
+.BR NR ,
.B FNR
が設定されます。
.TP
.BI getline " var" " <" file
ファイル
.I file
から次のレコードを変数
.I var
に読み込みます。
.TP
.B next
現在のレコードに対する処理を終了し、次のレコードを読み込み、AWK プログ
ラムの最初のパターンから処理を開始します。
C 言語の continue と類似した意味を持ちます。
もし、入力データの終端に達した場合、
.B END
ブロックが存在すれば実行されます。
.TP
-.B "next file"
+.B "nextfile"
現在の入力ファイルに対する処理を終了し、次の入力ファイルからレコードを
読み込みます。
.B FILENAME
+と
+.B ARGIND
が更新され、
.B FNR
が 1 にリセットされ、AWK プログラムの
最初のパターンから処理が開始されます。入力データの終端に達したときは、
もし存在すれば、
.B END
ブロックが実行されます。
+.B 注:
+以前のバージョンの gawk では
+.BR "next file"
+と 2 語で使用されていました。この用法はまだ認識されますが、
+警告メッセージを生じさせますし、最終的には無くなる表現です。
.TP
.B print
現在のレコードを出力します。
+出力レコードは
+.B ORS
+変数の値にて終端されます。
.TP
.BI print " expr-list"
式を出力します。各式は
.B OFS
の値で区切られます。出力されるレコードの最後に
.B ORS
の値が付加されます。
.TP
.BI print " expr-list" " >" file
式をファイル
.I file
に出力します。各式は
.B OFS
の値で区切られます。出力されるレコードの
最後には
.B ORS
の値が付加されます。
.TP
.BI printf " fmt, expr-list"
書式付き出力です。
.TP
.BI printf " fmt, expr-list" " >" file
ファイル
.I file
への書式付き出力です。
.TP
.BI system( cmd-line )
コマンド
.I cmd-line
を実行し、終了ステータスを返します(\*(PX に対応しない
システムでは使用できない場合があります)。
+.TP
+\&\fBfflush(\fR[\fIfile\^\fR]\fB)\fR
+オープンされている出力ファイルまたはパイプ
+.I file
+に関連づけられているバッファをフラッシュします。
+.I file
+を指定しないと、標準出力がフラッシュされます。
+.I file
+が空文字列の場合、オープンされているすべてのファイルとパイプのバッファを
+フラッシュします。
.PP
その他の形式のリダイレクトとして以下のものが利用可能です。
.B print
.B printf
に対して、
.BI >> file
を指定すると出力はファイル
.I file
に追加され、
.BI | " command"
は出力をパイプに対して行います。同様に、
.IB command "| getline"
はコマンドの出力から
.B getline
を行ないます。
.B getline
はファイル終端では 0 を、エラー時には \-1 を返します。
.SS \fIprintf\fP\^ ステートメント
.PP
AWK での
.B printf
ステートメントと
.B sprintf()
-関数(後述参照)は、以下の変換指定書式を受け付けることができます。
+関数(後述参照)は、以下の変換指定書式を受け付けます。
.TP
.B %c
-1つの \s-1ASCII\s+1 文字。
+1 つの \s-1ASCII\s+1 文字。
.B %c
に対応する引数が数値なら、その値を \s-1ASCII\s+1 コードとみなし
て文字に変換します。そうでなければ、引数は文字列であると解釈され、その1
文字目が出力されます。
.TP
.B %d
-10進数(整数部分)。
+.PD 0
.TP
.B %i
-.B %d
-と同じです。
+10進数(整数部分)。
.TP
+.PD 0
.B %e
-.B [-]d.ddddddE[+-]dd
-という形式の浮動小数。
+.TP
+.PD
+.B %E
+.B [-]d.dddddde[+-]dd
+という形式の浮動小数点数。
+.B %E
+形式では
+.B e
+の代りに
+.B E
+が使用されます。
.TP
.B %f
.B [-]ddd.dddddd
-という形式の浮動小数。
+という形式の浮動小数点数。
.TP
+.PD 0
.B %g
+.TP
+.PD
+.B %G
.B %e
.B %f
-の短い方の形式の浮動小数。余計な 0 は省略されます。
+の短い方の形式の浮動小数点数。余計な 0 は省略されます。
+.B %G
+形式では
+.B %e
+の代りに
+.B %E
+を使用します。
.TP
.B %o
符号なしの 8 進数(整数)。
.TP
.B %s
文字列。
.TP
+.PD 0
.B %x
-符号なしの 16 進数(整数)。
.TP
+.PD
.B %X
-.B %x
-と同様。ただし、
+符号なしの 16 進数(整数)。
+.B %X
+形式では、
.B abcdef
-のかわりに
+の代りに
.B ABCDEF
を用います。
.TP
.B %%
単一の文字
.B %
。引数は使用しません。
.PP
.B %
-と上記のコントロール文字との間にオプショナルな追加のパラメータを置く
+と上記の制御文字との間にオプショナルな追加のパラメータを置く
ことができます。以下にそれらを示します。
.TP
.B \-
左寄せ。
.TP
+.I 空白
+数値変換において、正の値のプレフィックスは空白となり、
+負の値のプレフィックスはマイナス記号となります。
+.TP
+.B +
+プラス記号は幅修正子 (後述) の前に使用し、
+整形されるデータが正であったとしても、
+数値変換に対して常に符号を付けることを指示します。
+.B +
+は空白修正子に優先します。
+.TP
+.B #
+ある制御レターに対して「別の形式」を使用します。
+.BR %o
+に対しては先行する 0 を与え、
+.BR %x
+と
+.BR %X
+に対しては非 0 の結果に対して先行する
+.BR 0x
+と
+.BR 0X
+を与えます。
+.BR %e ,
+.BR %E ,
+.B %f
+に対しては結果に常に小数点を含めます。
+.BR %g ,
+.B %G
+に対しては結果の後尾から 0 を取り除きません。
+.TP
+.B 0
+先頭の
+.B 0
+(ゼロ) はフラグとして動作し、
+出力を空白ではなく 0 でパディングすることを示します。
+これは非数値の出力書式に対しても適用されます。
+このフラグが有効なのは、フィールド幅が印字される値の幅より広いときだけです。
+.TP
.I width
フィールドが指定した幅
.I width
-になるように拡張されます。もし、
-.I width
-が 0 で始まる数値の場合、
-フィールドは 0 によって拡張されます。さもなければ、空白で拡張されます。
-これは数値ではない出力に対しても適用できます。
+になるようにパディングされます。フィールドは通常空白でパディングされます。
+.B 0
+フラグが使用された場合には 0 でパディングされます。
.TP
.BI . prec
-文字列の最大長、または、小数点以下の桁数を指定します。
+印字において使用する精度を数値で指定します。
+.BR %e ,
+.BR %E ,
+.B %f
+の書式に対しては、小数点の右側に印字される数字の数を指定します。
+.BR %g ,
+.B %G
+の書式に対しては、仮数部の最大数を指定します。
+.BR %d ,
+.BR %o ,
+.BR %i ,
+.BR %u ,
+.BR %x ,
+.B %X
+の書式に対しては、印字される数字の最小数を指定します。
+文字列に対しては、印字される文字列からとりだされる最大の文字数を指定します。
.PP
\*(AN C の
.B printf()
の動的な幅
.I width
と精度
.I prec
-の指定機能が使用できます。幅または精
-度の指定部分に
+の指定機能が使用できます。
+.B 幅
+または
+.B 精度
+の指定部分に
.B *
を指定することで、その値を
.B printf
または
.B sprintf()
への引数で指定できます。
.SS 特殊ファイル名
.PP
+.B print
+や
+.B printf
+で書き込みときでも、
+.B getline
+でファイルから読み取るときでも、
入出力リダイレクトを行う場合、
-.I awk
-が内部で解釈する特殊なファイル名があります。
+.I gawk
+は内部的な特殊なファイル名を解釈します。
これらのファイル名により、親プロセス(通常はシェルです)から受け継いだ
-ファイルディスクリプタを用いて入出力を行ったり、実行中の
-.I awk
+オープン状態のファイルディスクリプタを用いて入出力を行ったり、実行中の
+.I gawk
プロセスに関する情報を得ることができます。
特殊ファイル名は以下のとおりです。
.TP \w'\fB/dev/stdout\fR'u+1n
.B /dev/pid
-現在の
-.I awk
-プロセスのプロセスID(10進数で、最後に改行が付きます)を
+現在のプロセスのプロセスID(10進数で、最後に改行が付きます)を
読み込むことができます。
.TP
.B /dev/ppid
-親プロセスのプロセスID(10進数で、最後に改行が付きます)を
+現在のプロセスの親のプロセスのプロセスID(10進数で、最後に改行が付きます)を
読み込むことができます。
.TP
.B /dev/pgrpid
-現在の awk プロセスのプロセスグループ ID(10進数で、最後に改行が付きます)
+現在のプロセスのプロセスグループ ID(10進数で、最後に改行が付きます)
を読み込むことができます。
.TP
.B /dev/user
このファイルを読むことで、改行で終わる単一のレコードが得られます。
各フィールドは空白で区切られています。
.B $1
.IR getuid (2)
システムコールの値、
.B $2
.IR geteuid (2)
システムコールの値、
.B $3
.IR getgid (2)
-システムコールの値、$4
+システムコールの値、
+.B $4
.IR getegid (2)
システムコールの値です。もし、さらにフィールドがあれば、
それは
.IR getgroups (2)
システムコールが返すグループ ID のリストです。
全てのシステムで複数のグループがサポートされているわけではありません。
.TP
.B /dev/stdin
標準入力。
.TP
.B /dev/stdout
標準出力。
.TP
.B /dev/stderr
標準エラー出力。
.TP
.BI /dev/fd/\^ n
オープンされたファイルディスクリプタ
.I n
に対応しているファイル。
.PP
エラーメッセージを出力するには、以下の方法が便利です。
.PP
.RS
.ft B
print "You blew it!" > "/dev/stderr"
.ft R
.RE
.PP
もしこの機能が無かったら、次のようにするしかないところです。
.PP
.RS
.ft B
print "You blew it!" | "cat 1>&2"
.ft R
.RE
.PP
これらのファイル名は、コマンドラインのデータファイル指定で使うこともできます。
.SS 数値関数
.PP
AWK は以下の定義済み数値関数を持っています。
.PP
-.TP \w'\fBsrand(\^\fIexpr\^\fB)\fR'u+1n
+.TP \w'\fBsrand(\fR[\fIexpr\^\fR]\fB)\fR'u+1n
.BI atan2( y , " x" )
.I y/x
-の逆正接(ラジアン単位)。
+の逆正接をラジアンで与えます。
.TP
.BI cos( expr )
-余弦(与える値はラジアン)。
+.I expr
+の余弦をラジアンで与えます。
.TP
.BI exp( expr )
指数関数。
.TP
.BI int( expr )
整数への切捨て。
.TP
.BI log( expr )
自然対数。
.TP
.B rand()
-0 から 1 の間の乱数。
+0 から 1 の間の乱数を与えます。
.TP
.BI sin( expr )
-正弦(与える値はラジアン)。
+.I expr
+の正弦をラジアンで与えます。
.TP
.BI sqrt( expr )
平方根。
.TP
-.BI srand( expr )
-式
+\&\fBsrand(\fR[\fIexpr\^\fR]\fB)\fR
.I expr
の値を乱数生成関数の種として用います。式が指定されなかった場合は、
時刻が用いられます。直前の種の値を返します。
.SS 文字列関数
.PP
-AWK は以下の定義済み文字列関数を持っています。
+.I gawk
+は以下の定義済み文字列関数を持っています。
.PP
.TP "\w'\fBsprintf(\^\fIfmt\fB\^, \fIexpr-list\^\fB)\fR'u+1n"
-\fBgsub(\fIr\fB, \fIs\fB, \fIt\fB)\fR
+\fBgensub(\fIr\fB, \fIs\fB, \fIh \fR[\fB, \fIt\fR]\fB)\fR
+対象文字列
+.I t
+から正規表現
+.I r
+のマッチを探します。
+.I h
+が
+.B g
+または
+.B G
+で開始する文字列の場合、マッチする
+.I r
+をすべて
+.I s
+に置き換えます。
+そうでない場合、
+.I h
+は何番目の
+.I r
+のマッチを置き換えるのかを示します。
+.I t
+が与えられない場合、代りに
+.B $0
+が使用されます。
+置換テキスト
+.I s
+では、シーケンス
+.BI \e n\fR
+ただし
+.I n
+は 1 から 9 までの数字を使用して、
+.I n
+番目にマッチした括弧付きサブ式を示すことができます。
+シーケンス
+.B \e0
+は文字
+.B &
+と同様、マッチしたテキスト全体を表します。
+.B sub()
+や
+.B gsub()
+とは異なり、修正された文字列が関数の結果として返され、
+元の対象テキストは変更され
+.I ません
+。
+.TP "\w'\fBsprintf(\^\fIfmt\fB\^, \fIexpr-list\^\fB)\fR'u+1n"
+\fBgsub(\fIr\fB, \fIs \fR[\fB, \fIt\fR]\fB)\fR
文字列
.I t
中で正規表現
.I r
にマッチした部分をすべて
.I s
に置換します。置換の個数を返します。
.I t
を指定しなかった場合は
.B $0
が用いられます。
+置換テキストでは、
+.B &
+は実際にマッチしたテキストで置き換えられます。
+.B \e&
+を使用するとリテラルの
+.B &
+を得ることができます。
+.BR sub() ,
+.BR gsub() ,
+.B gensub()
+における
+.B &
+とバックスラッシュに関する完全な議論は
+.I "AWK Language Programming"
+を参照してください。
.TP
.BI index( s , " t" )
文字列
.I s
中に含まれる文字列
.I t
の位置を返します。
.I t
が含まれていない場合は 0 を返します。
.TP
-.BI length( s )
+\fBlength(\fR[\fIs\fR]\fB)
文字列
.I s
の長さを返します。
.I s を指定しなかった場合には
.B $0
の長さを返します。
.TP
.BI match( s , " r" )
文字列
.I s
中で正規表現
.I r
にマッチする位置を返します。マッチしない場合は 0 を
返します。
.B RSTART
.B RLENGTH
の値が設定されます。
.TP
-\fBsplit(\fIs\fB, \fIa\fB, \fIr\fB)\fR
+\fBsplit(\fIs\fB, \fIa \fR[\fB, \fIr\fR]\fB)\fR
文字列
.I s
を正規表現
.I r
を用いて分割し、配列
.I a
に格納します。
フィールド数を返します。
.I r
が省略され
た場合は
.B FS
が用いられます。配列
.I a
の内容は、分割前にクリアされます。
+分割は、上述のフィールド分割と同じ動作を行います。
.TP
.BI sprintf( fmt , " expr-list" )
書式
.I fmt
に従って
.I exp-list
を整形表示し、結果の文字列を返します。
.TP
-\fBsub(\fIr\fB, \fIs\fB, \fIt\fB)\fR
+\fBsub(\fIr\fB, \fIs \fR[\fB, \fIt\fR]\fB)\fR
.B gsub()
と似てますが、最初にマッチした文字列のみが置換されます。
.TP
-\fBsubstr(\fIs\fB, \fIi\fB, \fIn\fB)\fR
+\fBsubstr(\fIs\fB, \fIi \fR[\fB, \fIn\fR]\fB)\fR
文字列
.I s
.I i
-文字目から始まる
+文字目から始まる最大
.I n
文字の部分文字列を返します。
.I n
が省略された場合、
.I i
文字目以降の部分文字列が返されます。
.TP
.BI tolower( str )
文字列
.I str
をコピーし、大文字をすべて小文字に変換したものを返します。
アルファベットでない文字は変化しません。
.TP
.BI toupper( str )
文字列
.I str
をコピーし、小文字をすべて大文字に変換したものを返します。
アルファベットでない文字は変化しません。
.SS 時間関数
.PP
タイムスタンプを含んだログファイルの処理は
AWK プログラムの主な使い道の1つですから、
-.I awk
+.I gawk
はタイムスタンプを取り出したり、フォーマット
するための 2 つの関数を提供します。
.PP
.TP "\w'\fBsystime()\fR'u+1n"
.B systime()
-エポックからの経過秒数を返します
-(\*(PX システムでは、エポックは UTC で 1970 年 1 月 1 日 0:00 です)。
+基準時点からの経過秒数を返します
+(\*(PX システムでは、基準時点は UTC で 1970 年 1 月 1 日 0:00 です)。
.TP
-\fBstrftime(\fIformat\fR, \fItimestamp\fB)\fR
+\fBstrftime(\fR[\fIformat \fR[\fB, \fItimestamp\fR]]\fB)\fR
書式
.I format
に従って
.I timestamp
をフォーマットします。
.I timestamp
.B systime()
が返す値と同じ形式でなければなりません。
.I timestamp
-が省略された
-場合、現在の
-.B systime()
-の値が用いられます。利用可能なフォーマットにつ
-いては、\*(AN C の
+が省略された場合、現在の日付が使用されます。
+.I format
+が省略された場合、
+.IR date (1)
+が出力に使用するものと同じデフォルトフォーマットが使用されます。
+利用可能なフォーマットについては、\*(AN C の
.B strftime()
-関数の仕様を参照して下さい。パブリックドメイン
-な
+関数の仕様を参照して下さい。パブリックドメインな
.IR strftime (3)
とそのマニュアルページが
-.I awk
+.I gawk
とともに配布されています。もし、
-.I awk
+.I gawk
を作成するためにその
.B strftime
-を用いた場合は、そのマニュアルに記述さ
-れている変換書式が
-.I awk
+を用いた場合は、そのマニュアルに記述されている変換書式が
+.I gawk
でも利用可能です。
.SS 文字列定数
.PP
AWK での文字列定数は、ダブルクォート(\fB"\fR)に狭まれた文字の列です。
文字列内では、C 言語のようにいくつかの
.I エスケープシーケンス
が使えます。
.PP
.TP \w'\fB\e\^\fIddd\fR'u+1n
.B \e\e
バックスラッシュそのもの。
.TP
.B \ea
「警告」文字。通常は \s-1ASCII\s+1 \s-1BEL\s+1 文字です。
.TP
.B \eb
バックスペース。
.TP
.B \ef
-改ページ。
+改ページ(フォームフィード)。
.TP
.B \en
改行。
.TP
.B \er
復帰(キャリッジリターン)。
.TP
.B \et
水平タブ。
.TP
.B \ev
垂直タブ。
.TP
.BI \ex "\^hex digits"
.B \ex
に続く 16 進数で表現された文字。\*(AN C と同様に、
.B \ex
に続くすべての 16 進数字
はエスケープシーケンスの一部であるとみなされます。
(この機能によりコミッティによる言語デザインが分かります。)
-たとえば、\fB"\ex1B"\fR は
+例えば、\fB"\ex1B"\fR は
\s-1ASCII\s+1 \s-1ESC\s+1 (エスケープ) 文字です。
.TP
.BI \e ddd
-1桁か2桁か3桁の 8 進数で表現された文字。たとえば、 \fB"\e033"\fR は
+1桁か2桁か3桁の 8 進数で表現された文字。例えば、 \fB"\e033"\fR は
\s-1ASCII\s+1 \s-1ESC\s+1 (エスケープ) 文字です。
.TP
.BI \e c
文字 c そのもの。
.PP
-エスケープシーケンスは正規表現定数内でも用いることができます(たとえば、
+エスケープシーケンスは正規表現定数内でも用いることができます(例えば、
.B "/[\ \et\ef\en\er\ev]/"
は空白文字にマッチします)。
+.PP
+互換モードでは、8 進および 16 進のエスケープシーケンスで表現される文字は、
+正規表現定数として使用された場合、リテラルとして扱われます。
+それゆえ、
+.B /a\e52b/
+は
+.B /a\e*b/
+と等価です。
.SH 関数
AWK では関数を以下のようにして定義します。
.PP
.RS
\fBfunction \fIname\fB(\fIparameter list\fB) { \fIstatements \fB}\fR
.RE
.PP
-関数は、アクション部から呼び出されたときに実行されます。
+関数は、パターンまたはアクションの式から呼び出されたときに実行されます。
関数呼び出しにおいて与えられた実引数が、関数宣言における仮引数に
受け渡されます。
このとき配列の場合は参照渡しが行われ、他の変数の場合は値渡しで行われます。
.PP
元々 AWK に関数は備わっていませんでしたので、局所変数の機構はあまり
スマートではありません。
局所変数は引数リストの余分な引数として宣言します。局所変数と関
-数引数を区別するため、余分な空白で区切るのが慣習です。たとえば、以下のよ
+数引数を区別するため、余分な空白で区切るのが慣習です。例えば、以下のよ
うにします。
.PP
.RS
.ft B
.nf
-function f(p, q, a, b) { # a と b は局所変数
- ..... }
+function f(p, q, a, b) # a & b は局所変数
+{
+ \&.....
+}
/abc/ { ... ; f(1, 2) ; ... }
.fi
.ft R
.RE
.PP
関数呼び出しにおける左括弧は、空白を狭まずに関数名の直後に
置かなければいけません。
これは、文字列結合演算子との曖昧さを生じさせないために必要です。
この制限は、上述の組み込み関数にはあてはまりません。
.PP
関数は、他の関数を呼び出したり、自分自身を再帰的に呼び出すことができます。
局所変数として用いられる関数引数は、関数起動時に空文字列および 0
に初期化されます。
.PP
+.B \-\^\-lint
+が指定されたとき、
+.I gawk
+は実行時ではなくパーズ時に未定義関数の呼び出しに関して警告します。
+実行時の未定義関数の呼び出しは致命的なエラーとなります。
+.PP
.B function
のかわりに
.B func
を用いることができます。
-.SH 例
+.SH 使用例
.nf
``/etc/passwd'' から全ユーザのログイン名を取り出し、ソートして出力する。
.ft B
BEGIN { FS = ":" }
{ print $1 | "sort" }
.ft R
ファイルの行数を数える。
.ft B
{ nlines++ }
END { print nlines }
.ft R
行番号をつける。
.ft B
{ print FNR, $0 }
.ft R
全ファイルを通した行番号をつける。
.ft B
{ print NR, $0 }
.ft R
.fi
.SH 関連項目
.IR egrep (1),
.IR getpid (2),
.IR getppid (2),
.IR getpgrp (2),
.IR getuid (2),
.IR geteuid (2),
.IR getgid (2),
.IR getegid (2),
.IR getgroups (2)
.PP
.IR "The AWK Programming Language" ,
Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger,
Addison-Wesley, 1988. ISBN 0-201-07981-X.
.PP
-.IR "The AWK Manual" ,
-Edition 0.15, published by the Free Software Foundation, 1993.
+.IR "AWK Language Programming" ,
+Edition 1.0, published by the Free Software Foundation, 1995.
.SH POSIX 互換
-.I awk
+.I gawk
は最新版の \*(UX
.I awk
との互換性だけでなく、\*(PX 標準との互換性も追求しています。
このため
-.I awk
+.I gawk
には以下のような機能が取り入れられています。
これらの機能は AWK 本には述べられていませんが、
-System V Release 4 および \*(PX 標準の
+ベル研究所および \*(PX 標準の
.I awk
が有している機能です。
.PP
プログラム実行前に変数代入を行なう
.B \-v
オプションは新しい物です。
AWK 本によれば、コマンドラインで指定された変数代入は
.I awk
が引数をファイル名としてオープンする際に行なわれることになります。つまり
これは
.B BEGIN
ブロックの実行後です。しかしながら初期の頃の実装では、引数の中でファイル名に
先立って変数代入が指定されている場合には、代入は
.B BEGIN
ブロック実行の
.I 前に
行われていました。そしてアプリケーションは、この「仕様」に依存する
ようになりました。
.I awk
がそのドキュメントに合うように直された時、昔の動作に依存している
アプリケーションの便宜を図るためにこのオプションが加えられました。
(この仕様は AT&T および GNU の開発者達によって合意されました。)
.PP
独自機能のための
.B \-W
オプションは \*(PX 標準に従ったものです。
.PP
引数の列に特別なオプション ``\fB\-\^\-\fP'' を指定すると、
-.I awk
+.I gawk
はそこがオプションの終わりであると解釈します。
互換モードにおいては未定義オプションは警告が出力され、それ以外のものは
無視されます。
通常の実行においては残りの引数は AWK プログラムに引き渡されます。
.PP
AWK 本は
.B srand()
の返り値を定義していません。
-System V Release 4 版の \*(UX
-.I awk
-(と \*(PX 標準)
-では、その関数が使っている種を返します。
+\*(PX 標準
+では、その関数が使っている種を返し、
+乱数シーケンスを追跡できるようにしています。
したがって
-.I awk
+.I gawk
における
.B srand()
も現在の種を返すようにしてあります。
.PP
その他にも以下のような新機能があります。
.B \-f
オプションの複数回使用 (MKS
.IR awk に倣いました);
.B ENVIRON
配列;
エスケープシーケンス
.B \ea
.B \ev
(
-.I awk
+.I gawk
で最初に実装され、AT&T の
.I awk
にフィードバックされました);
組み込み関数
.B tolower()
.B toupper()
(AT&T に倣いました);
.B printf
における \*(AN C 変換指定
(AT&T 版で最初に実装されました)。
.SH GNU 拡張
.I gawk
は \*(PX
.I awk
-に対していくつかの拡張が行なわれています。
+に対して多くの拡張が行なわれています。
この節ではそれらについて解説します。
-.B "\-W compat"
+.B \-\^\-traditional
オプション付きで
-.I awk
+.I gawk
を起動することによって、
ここで述べられている拡張機能をすべて禁止することができます。
.PP
-.I awk
+.I gawk
が持つ以下の機能は
\*(PX
.I awk
では使用できません。
.RS
.TP \w'\(bu'u+1n
\(bu
エスケープシーケンス
.B \ex
-。
+。(
+.B \-\^\-posix
+で抑止できます。)
+.TP \w'\(bu'u+1n
+\(bu
+.B fflush()
+関数。(
+.B \-\^\-posix
+で抑止できます。)
.TP
\(bu
-関数
-.B systime()
-および
-.B strftime()
-。
+.BR systime() ,
+.BR strftime() ,
+.B gensub()
+の各関数。
.TP
\(bu
-入出力リダイレクトで利用可能な特殊ファイル名。
+入出力リダイレクトで利用可能な特殊ファイル名は理解されません。
.TP
\(bu
変数
-.B ARGIND
-および
-.B ERRNO
+.BR ARGIND ,
+.BR ERRNO ,
+.B RT
は特殊変数ではありません。
.TP
\(bu
変数
.B IGNORECASE
とその副作用は利用できません。
.TP
\(bu
変数
.B FIELDWIDTHS
と固定長フィールド分割。
.TP
\(bu
+.B RS
+の正規表現としての使用。
+.TP
+\(bu
+.B FS
+に空文字列を設定することにより各文字を切り出す能力と、
+.B split()
+の 3 番目の引数。
+.TP
+\(bu
.B \-f
-オプションで指定されたファイル名について行われるパス検索。
+オプションで指定されたファイル名についてパス検索を行わないこと。
よって、環境変数
.B AWKPATH
は特殊な変数ではありません。
.TP
\(bu
現在の入力ファイルに対する処理を終わらせるために使用される
-.B "next file"
+.B "nextfile"
.TP
\(bu
配列全体を削除するために使用される
.BI delete " 配列"
.RE
.PP
AWK 本は関数
.B close()
の返り値を定義していません。
.I gawk
.B close()
は、ファイルやパイプをクローズする際に呼び出す
-.IR fclose (3)、
+.IR fclose (3)
.IR pclose (3)、
からの返り値を返します。
.PP
オプション
-.B "\-W compat"
+.B \-\^\-traditional
付きで
-.I awk
+.I gawk
を起動し
.B \-F
オプションへの引数
.I fs
として ``t'' を与えた場合に、
.B FS
の値はタブ文字に設定されます。
+.B "gawk \-F\et \&..."
+とタイプしても、シェルが単に ``t'' をクォートするので、``\et'' は
+.B \-F
+オプションに渡されません。
これは少々見苦しい特殊事例ですので、デフォルトの動作としては
採用されていません。
-.B "\-W posix"
+.B \-\^\-posix
を指定した場合にも、この動作は行なわれません。
+タブ文字をフィールドセパレータとして使用したい場合には、
+クォートを使用するのが最良です:
+.BR "gawk \-F'\et' \&..." .
.ig
.PP
If
.I awk
was compiled for debugging, it will
accept the following additional options:
.TP
.PD 0
.B \-Wparsedebug
.TP
.PD
.B \-\^\-parsedebug
Turn on
.IR yacc (1)
or
.IR bison (1)
debugging output during program parsing.
This option should only be of interest to the
-.I awk
+.I gawk
maintainers, and may not even be compiled into
-.IR awk .
+.IR gawk .
..
.SH 歴史的機能
-.I awk
-は歴代の AWK の実装にあった二つの機能を備えています。
-一つめとして、組み込み関数
+.I gawk
+は歴代の AWK の実装にあった 2 つの機能を備えています。
+1 つめとして、組み込み関数
.B length()
は引数無しで呼び出せるだけでなく、さらに括弧無しでも呼び出せます!
したがって
.RS
.PP
.ft B
-a = length
+a = length # Holy Algol 60, Batman!
.ft R
.RE
.PP
は以下の2例と同じです。
.RS
.PP
.ft B
a = length()
.br
a = length($0)
.ft R
.RE
.PP
\*(PX 標準ではこの機能は ``deprecated'' と注意書きされており、
-.I awk
+.I gawk
ではコマンドラインで
-.B "\-W lint"
+.B \-\^\-lint
を指定した場合に、この機能の使用に対して警告を出力します。
.PP
-もう一つは、
-.BR while 、
-.BR for 、
+もう 1 つは、
+.BR while ,
+.BR for ,
.B do
ループ本体の外でも
-.B continue
+.BR continue ,
+.B break
ステートメントを使用できるという機能です。
伝統的な AWK の実装では、このように使用した
.B continue
ステートメントを
.B next
ステートメントと等価なものとして扱ってきました。
.I gawk
では
-.B "\-W posix"
-が指定されていない場合に、この機能を使うことができます。
+.B \-\^\-traditional
+が指定された場合に、この機能を使うことができます。
.SH 環境変数
環境に
.B POSIXLY_CORRECT
が存在する場合には、
-.I awk
+.I gawk
はコマンドラインで
-.B \-\-posix
+.B \-\^\-posix
が指定されている時と全く同じ動作をします。
このとき
-.B \-\-lint
+.B \-\^\-lint
が指定されていると
-.I awk
+.I gawk
はこの作用についての警告メッセージを出力します。
+.PP
+.B AWKPATH
+環境変数を使用して、
+.I gawk
+が
+.B \-f
+および
+.B \-\^\-file
+オプションで指定されたファイル名を検索するディレクトリを指定できます。
.SH バグ
コマンドラインでの変数代入機能を使用するには、変数への代入を直接
コマンドラインに書けばよく、
.B \-F
オプションをつける必要はありません。
このオプションは昔の
.I awk
との互換性のためだけに残されています。
.PP
ファイル
.B /dev/fd
および
-.BR /dev/stdin 、
-.BR /dev/stdout 、
+.BR /dev/stdin ,
+.BR /dev/stdout ,
.B /dev/stderr
を実際にサポートしているシステムでの
-.I awk
+.I gawk
からは、それらがないシステムとは違った出力が得られるかもしれません。
-.I awk
+.I gawk
はそれらのファイルを内部で解釈する際に標準出力への出力を
.B /dev/stdout
への出力と同期させますが、それらのファイルを持つシステムでは
出力はそれぞれ異なるファイルへ向けられます。
利用者の方で気を付けるようにしてください(Caveat Emptor)。
+.PP
+文法的に誤った単一文字プログラムはパーズスタックを溢れさせる傾向があり、
+まったく分からないメッセージを生成する傾向にあります。
+このようなプログラムの診断は驚くべきことに一般に難しく、
+診断の努力はまったく無意味になります。
.SH バージョン情報
このマニュアルは
-.I awk
-バージョン 2.15 について書かれています。
-.PP
-バージョン 2.11 にあったオプション
-.BR \-c 、
-.BR \-V 、
-.BR \-C 、
-.ig
-.BR \-D 、
-..
-.BR \-a 、
-.B \-e
-は、バージョン 2.15 以降では使用できません。
-バージョン 2.16 のマニュアルでは、この事実の記述さえ無くなるでしょう。
+.IR gawk
+バージョン 3.0.2 について記載しています。
.SH 作者
\*(UX
.I awk
の最初のバージョンは、AT&T ベル研究所の Alfred Aho と
Peter Weinberger および Brian Kernighan によって設計、実装されました。
Brian Kernighan はその保守と改良を続けています。
.PP
Free Software Foundation の Paul Rubin と Jay Fenlason
が、Seventh Edition \*(UX で配布された最初のバージョンの
.I awk
と互換性を持つように
.I gawk
を書きました。
John Woods は数々のバグ修正を送って下さいました。
David Trueman は、Arnold Robbins が送って下さった内容をもとに、
.I gawk
を新バージョンの \*(UX
.I awk
互換にしました。
.PP
DOS への最初の移植は Conrad Kwok と Scott Garfinkle によって
行なわれました。
現在は Scott Deifik が DOS 版の保守をしています。
Pat Rankin は VMS への移植を行ない、Michal Jaegermann は Atari ST への
移植を行ないました。
OS/2 への移植は Kai Uwe Rommel が Darrel Hankerson の助けを借りて
行ないました。
+Fred Fish が Amiga サポートの提供を行いました。
+.SH バグレポート
+.I gawk
+のバグを見付けたら、電子メールを
+.B bug-gnu-utils@prep.ai.mit.edu
+宛に送るとともに、カーボンコピーを
+.B arnold@gnu.ai.mit.edu
+宛に送ってください。
+電子メールには、オペレーティングシステムとそのリビジョン、
+.I gawk
+のリビジョン、コンパイルに使用した C コンパイラ、
+問題を再現するできるだけ小さなテストプログラムとデータを記述してください。
+.PP
+バグレポートを送る前に 2 つのことを行ってください。
+第 1 に、最新の
+.I gawk
+を使用されていることを確認してください。
+多くの (通常微妙な) バグが各々のリリースで修正されていますので、
+ご使用のものが古い場合には問題は既に解決されているかもしれません。
+第 2 に、このマニュアルページとリファレンスマニュアルを注意深く読み、
+あなたがバグだと思うものが確かにバグであり、
+大きく変わった言語仕様ではないことを確認してください。
+.PP
+バグレポートを
+.B comp.lang.awk
+に投稿することだけはしないでください。
+.I gawk
+の開発者達は時々このニュースグループを読みますが、
+バグレポートをこのニュースグループに投稿しても
+バグレポートとして信頼性がありません。
+上記のアドレスへの電子メールでお願いします。
.SH 謝辞
ベル研究所の Brian Kernighan はテストおよびデバッグの間、貴重な助力を
提供して下さいました。
感謝致します。
+.SH 複製許諾
+Copyright \(co\) 1996 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual page provided the copyright notice and this permission
+notice are preserved on all copies.
+.ig
+Permission is granted to process this file through troff and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual page).
+..
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual page 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.
+.PP
+Permission is granted to copy and distribute translations of this
+manual page into another language, under the above conditions for
+modified versions, except that this permission notice may be stated in
+a translation approved by the Foundation.
diff --git a/ja_JP.eucJP/man/man1/basename.1 b/ja_JP.eucJP/man/man1/basename.1
index 382003dfa0..d3f9e93db2 100644
--- a/ja_JP.eucJP/man/man1/basename.1
+++ b/ja_JP.eucJP/man/man1/basename.1
@@ -1,98 +1,99 @@
.\" Copyright (c) 1990 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)basename.1 8.2 (Berkeley) 4/18/94
+.\" %Id: basename.1,v 1.5 1998/04/14 22:08:48 danny Exp %
+.\"
.\" jpman %Id: basename.1,v 1.2 1997/03/26 15:20:48 jsakai Stab %
-.\" %Id: basename.1,v 1.2.2.1 1998/04/14 22:10:40 danny Exp %
.\"
.Dd April 18, 1994
.Dt BASENAME 1
.Os
.Sh 名称
.Nm basename , dirname
.Nd 指定したパスのファイル名部分やディレクトリ名部分を返す
.Sh 書式
.Nm basename
.Ar string
.Op Ar suffix
.br
.Nm dirname
.Ar string
.Sh 解説
.Nm basename
.Ar string
から最後の
.Ql \&/
までを
削除し、
.Ar suffix
が指定された場合はこれも削除します。
(まず後続する複数のスラッシュを取り除いた)
.Ar string
に残された文字列と
.Ar suffix
がまったく同じ場合には、削除しません。
そして、その結果得られるファイル名を標準出力に書き出します。
存在しない
.Ar suffix
は無視します。
.Pp
.Nm dirname
(まず後続する複数のスラッシュを取り除いた)
.Ar string
中の最後の
.Ql \&/
から最後尾までをファイル名とみなしてこの部分を削除し、
残りを標準出力に書き出します。
.Sh 使用例
次の行は、シェル変数 FOO に /usr/bin を設定するものです。
.Pp
.Dl FOO=`dirname /usr/bin/trail`
.Pp
.Nm basename
および
.Nm dirname
は共に、成功した場合は 0 を、
エラーが起きた場合は 0 より大きな値を返します。
.Sh 関連項目
.Xr csh 1 ,
.Xr sh 1
.Sh 規格
.Nm basename
および
.Nm dirname
の機能は、POSIX 1003.2 準拠であると思われます。
diff --git a/ja_JP.eucJP/man/man1/bc.1 b/ja_JP.eucJP/man/man1/bc.1
index c1f9c36b08..c269c58c41 100644
--- a/ja_JP.eucJP/man/man1/bc.1
+++ b/ja_JP.eucJP/man/man1/bc.1
@@ -1,740 +1,792 @@
.\"
.\" bc.1 - the *roff document processor source for the bc manual
.\"
-.\" This file is part of bc written initially for MINIX.
-.\" Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+.\" This file is part of GNU bc.
+.\" Copyright (C) 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License , or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; see the file COPYING. If not, write to
.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.\"
.\" You may contact the author by:
.\" e-mail: phil@cs.wwu.edu
.\" us-mail: Philip A. Nelson
.\" Computer Science Department, 9062
.\" Western Washington University
.\" Bellingham, WA 98226-9062
.\"
-.\" %Id: bc.1,v 1.3.2.1 1996/11/06 09:23:50 phk Exp %
.\" jpman %Id: bc.1,v 1.3 1997/07/26 10:23:05 konuma Stab %
.\"
-.TH bc 1 .\" "Command Manual" v1.03 "Nov 2, 1994"
+.TH bc 1 .\" "Command Manual" v1.04 "June 22, 1995"
.SH 名称
bc - 任意精度の計算言語
.SH 書式
-\fBbc\fR [ \fB-lws\fR ] [ \fI file ...\fR ]
+\fBbc\fR [ \fB-lwsqv\fR ] [long-options] [ \fI file ...\fR ]
.SH バージョン
-このマニュアルは GNU bc version 1.03 について記述してあります。
+このマニュアルは GNU bc version 1.04 について記述してあります。
.SH 解説
\fBbc\fR は、任意の精度の数値を扱う事ができ、プログラミング言語 C の文法に
-よく似た形の入力をインタラクティブに実行する言語です。
+よく似た形の入力を対話的に実行する言語です。
コマンドラインのオプションの指定により、標準数学ライブラリを使用することも
できます。これを指定した場合は、どのファイルを処理するよりも前に
数学ライブラリが定義されます。
\fBbc\fR は動作を開始するとまず最初にコマンドラインで指定したファイルを
-順に処理します。全てのファイルを処理した後は、\fBbc\fR は
-標準入力からの読み込みを行います。全てのコードは、それが読み込ま
+順に処理します。すべてのファイルを処理した後は、\fBbc\fR は
+標準入力からの読み込みを行います。すべてのコードは、それが読み込ま
れた時点で実行されていきます。(もし、ファイル中にプロセッサを止める
コマンドが含まれていた場合は、標準入力からの読み込みは行われません。)
.PP
-本バージョンの \fBbc\fR は、伝統的な \fBbc\fR のインプリメントおよび POSIX
-のドラフトよりも拡張されています。コマンドラインオプションにより、
+本バージョンの \fBbc\fR は、伝統的な \fBbc\fR の実装および
+POSIX のドラフト規格よりも拡張されています。コマンドラインオプションにより、
これらの拡張に対して警告を表示したり拒絶したりすることが可能です。
本ドキュメントでは、このプロセッサが受理する言語について説明します。
拡張機能についてはその旨明記します。
.SS オプション
.IP -l
標準数学ライブラリを定義します。
.IP -w
POSIX \fBbc\fR に対する拡張機能が入力された場合は警告を出します。
.IP -s
-POSIX \fBbc\fR の言語仕様に従って、厳密に処理します。
+POSIX \fBbc\fR の言語仕様に厳密に従って処理します。
+.IP -q
+GNU bc 導入メッセージを表示しません。
+.IP -v
+バージョン番号と著作権を表示して終了します。
+.IP --mathlib
+標準数学ライブラリを定義します。
+.IP --warn
+POSIX \fBbc\fR に対する拡張機能が入力された場合は警告を出します。
+.IP --standard
+POSIX \fBbc\fR の言語仕様に厳密に従って処理します。
+.IP --quiet
+GNU bc 導入メッセージを表示しません。
+.IP --version
+バージョン番号と著作権を表示して終了します。
.SS 数
\fBbc\fR における最も基本的な要素は `数' です。数は、整数部と小数部があり、
-任意の精度をとることができます。全ての数は、内部では 10 進数で表現されており、
+任意の精度をとることができます。すべての数は、内部では 10 進数で表現されており、
計算も 10 進数で行われます。(本バージョンでは、除算と乗算で結果に切捨てが
起こります。) 数には length と scale という 2 つの属性があります。
-length は 10 進での有効桁数で、 scale は小数点以下の 10 進での有効桁数です。
+length は 10 進での有効桁数で、scale は小数点以下の 10 進での有効桁数です。
例えば、
.nf
.RS
.000001 は、lengthが 6 で、scale も 6 です。
1935.000 は、lengthが 7 で、scale が 3 です。
.RE
.fi
.SS 変数
数は、単純変数と配列の 2 種類の変数に保存されます。単純変数と配列変数には共に
名前が付けられます。この名前は、最初の 1 文字目がアルファベットで、後は、
アルファベット、数字およびアンダスコアを任意の文字数組み合わせて
-使うことができます。全てのアルファベットは小文字でなければなりません。
+使うことができます。すべてのアルファベットは小文字でなければなりません。
(アルファベットと数字を使った名前の機能は拡張機能です。
POSIX \fBbc\fR では、変数に英小文字 1 文字しか許されません。)
配列変数の名前には必ずブラケット ([]) がつくので、変数の型は文脈において
はっきりしています。
.PP
特殊な変数として \fBscale, ibase, obase, last\fR の 4 つの変数があります。
\fBscale\fR で計算時の小数点以下の有効桁数を指定します。
\fBscale\fR のデフォルトは 0 です。
-\fBibase\fR と \fBobase\fR で入力および出力の基数を指定します。
+\fBibase\fR と \fBobase\fR で入力および出力の変換基数を指定します。
デフォルトでは、入力、出力の基数は共に 10 です。
\fBlast\fR は、最後に \fBbc\fR が出力した数を保持しています
(これは拡張機能です)。これらについては、後で適切なところで詳しく説明します。
これらの変数には、式で使われる代入と同様の代入を行うことが可能です。
.SS コメント
\fBbc\fR は、\fB/*\fR から \fB*/\fR の間をコメントとして扱います。
コメントはどこから始まっていてもよく、1 文字の空白として扱われます。
(これにより、コメントはその前後の入力アイテムを切り離します。たとえば、
変数名の途中にコメントを置くことはできません。)
コメントの中にはいくつ改行があってもかまいません。
+.PP
+\fBbc\fR をスクリプトとしても使えるようにするため、1 行コメントが
+拡張機能として追加されました。1 行コメントは \fB#\fR で始まり、
+次の改行まで有効です。その改行文字自体はコメントの一部とはみなされず、
+普通に処理されます。
.SS 式
`数' は、式および文によって操作されます。
-この言語はインタラクティブになるように設計されているため、
-文および式は即座に実行されます。
+この言語は対話的になるように設計されているため、
+文および式は可能な限り即座に実行されます。
"main" プログラムといったものはなく、そのかわり、コードは
それに出くわした時点で実行されます。
(後で述べる`関数'は、それに出くわした時点で定義されます。)
.PP
式の最も単純なものは、ただの定数です。\fBbc\fR は、入力された
定数を、変数 \fBibase\fR で指定される現在の基数を元に、内部的には 10 進表現の
数に変換します。(関数の場合には例外があります。)
-\fBibase\fR には、2 から 16 (F) までが使用できます。
+\fBibase\fR には、2 から 16 までが使用できます。
この範囲を越える値を \fBibase\fR に代入しようとすると、
2 あるいは 16 を指定したことになります。
数の入力には、0-9 および A-F の文字が利用できます。(注意:
これは大文字でなければなりません。小文字は変数名です。)
1 桁の数は \fBibase\fR の値に関係なくその値を持ちます (すなわち A=10)。
-複数桁の数の場合、\fBbc\fR は ibase 以上の値をもつ全ての入力桁を
+複数桁の数の場合、\fBbc\fR は ibase 以上の値をもつすべての入力桁を
\fBibase\fR-1に変更します。これにより、数 \fBFFF\fR は常に、
その入力基数を使って 3 桁で表現可能な最大の値を表します。
.PP
-全ての演算式が、他の多くの高級言語に似たものとなっています。
+すべての演算式が、他の多くの高級言語に似たものとなっています。
数の型は 1 種類しかないため、型変換の規則はありません。
そのかわり、式の有効桁数に関する規則があります。
-全ての式に有効桁数があり、これはその被演算数の有効桁数と
+すべての式に有効桁数があり、これはその被演算数の有効桁数と
+施される演算、それに多くの場合、
変数 \fBscale\fR から決定されます。\fBscale\fR には、0 から
C の整数で表現できる最大の値までが指定可能です。
.PP
以下、bc で使用可能な演算子を説明します。なお、完全形の式を "expr"、
単純変数または配列変数を "var" と表記します。
単純変数は単に
.RS
\fIname\fR
.RE
と表し、配列変数は
.RS
\fIname\fR[\fIexpr\fR]
.RE
と表します。特に言及しない限り、結果の有効桁数は、注目している式の
最大有効桁数になります。
.IP "- expr"
結果はその式の符号を反転したものとなります。
.IP "++ var"
変数を 1 だけインクリメントし、その新しい値が式の結果となります。
.IP "-- var"
変数を 1 だけデクリメントし、その新しい値が式の結果となります。
.IP "var ++"
式の結果はその変数の値となり、それからその変数を 1 だけ
インクリメントします。
.IP "var --"
式の結果はその変数の値となり、それからその変数を 1 だけ
デクリメントします。
.IP "expr + expr"
式の結果は 2 つの式の和となります。
.IP "expr - expr"
式の結果は 2 つの式の差となります。
.IP "expr * expr"
式の結果は 2 つの式の積となります。
.IP "expr / expr"
式の結果は 2 つの式の商となります。
結果の scale は変数 \fBscale\fR の値となります。
.IP "expr % expr"
結果は、以下のようにして求められる剰余です。a%b を求めるために、まず a/b を
\fBscale\fR の有効桁数で計算します。この結果を用いて、a-(a/b)*b を、
\fBscale\fR+scale(b) と scale(a) の大きい方の有効桁数で計算します。
もし \fBscale\fR に 0 がセットされ、両方の式が整数であれば、
整数の剰余が求められます。
.IP "expr ^ expr"
式の結果は、1 番目の式の値を 2 番目の回数だけ乗じたものになります。
2 番目の式は、整数でなければなりません。
(2 番目の式が整数でない場合は警告が表示され、
整数に切り詰めた値が使用されます。) 結果の scale は、べき指数が
負なら \fBscale\fR になります。べき指数が正なら、
"1 番目の式の scale とべき指数との積" および
"\fBscale\fR と 1 番目の式の scale の大きい方" のうちの小さい方
-(つまり、scale(a^b) = min(scale(expr1)*expr2, max(scale, scale(expr1))))
+(つまり、scale(a^b) = min(scale(a)*b, max( \fBscale,\fR scale(a))))
となります。
expr^0 は常に 1 を返します。
.IP "( expr )"
標準の優先度を使わずに、この式の評価を優先します。
.IP "var = expr"
式の値が変数に代入されます。
.IP "var <op>= expr"
"var" が一度しか評価されないこと以外は "var = var <op> expr" と同じです。
"var" が配列の場合は動作が違うことがあり得ます。
.PP
関係演算は特殊な演算で、結果は常に 0 か 1 になります。関係が偽の時 0、
真の時 1 になります。関係演算は、演算式のどこでも使う事ができます。
(POSIX bcでは、関係演算は、if, while, for 文の中だけで、しかも
1 つの関係式しか使用できません。)
関係演算子は以下の通り。
.IP "expr1 < expr2"
expr1 が expr2 より小さい場合 1 になります。
.IP "expr1 <= expr2"
expr1 が expr2 より小さいか等しい場合 1 になります。
.IP "expr1 > expr2"
expr1 が expr2 より大きい場合 1 になります。
.IP "expr1 >= expr2"
expr1 が expr2 より大きいか等しい場合 1 になります。
.IP "expr1 == expr2"
expr1 と expr2 が等しい場合 1 になります。
.IP "expr1 != expr2"
expr1 と expr2 が等しくない場合 1 になります。
.PP
論理演算も使えます。(POSIX \fBbc\fR には論理演算はありません。)
-論理演算も関係演算と同様、0 と 1 の 2 つの値 (各々偽および真)
-だけをとる演算です。
+論理演算も関係演算と同様、結果は 0 か 1 (各々偽および真) になります。
論理演算子は以下の通り。
.IP "!expr"
expr が 0 なら 1 になります。
.IP "expr && expr"
expr1 と expr2 が両方とも 0 でないなら、1 になります。
.IP "expr || expr"
expr1 と expr2 のどちらか一方が 0 でないなら、1 になります。
.PP
各演算子の優先順位と結合規則は次の通りです。
(最初のものほど低く、後にいくほど高い優先順位で先に実行されます。)
.nf
.RS
-|| operator, left associative
-&& operator, left associative
-! operator, nonassociative
-Relational operators, left associative
-Assignment operator, right associative
-+ and - operators, left associative
-*, / and % operators, left associative
-^ operator, right associative
-- (単項マイナス), nonassociative
-++ and -- operators, nonassociative
+|| (左から結合)
+&& (左から結合)
+! (結合せず)
+関係演算 (左から結合)
+代入演算 (右から結合)
++ - (左から結合)
+* / % (左から結合)
+^ (右から結合)
+- (単項マイナス) (結合せず)
+++ -- (結合せず)
.RE
.fi
.PP
この優先順位は、POSIX \fBbc\fR のプログラムがそのまま正しく動くように
配慮して決められています。このため、関係演算と論理演算を
代入文と共に用いた場合、通常とは異なる振る舞いをします。
次の例を考えてみましょう:
.RS
a = 3 < 5
.RE
.PP
C プログラマのほとんどは、
-``3 < 5'' の関係演算が実行された結果が変数 ``a'' に代入される、
+``3 < 5'' の関係演算が実行された結果 (つまり 1) が変数 ``a'' に代入される、
と考えるでしょう。
ところが \fBbc\fR では、まず 3 が変数 ``a'' に代入され、
それから 3 と 5 の比較が行われるのです。
この間違いを避けるために、
関係演算や論理演算を代入演算と共に用いる場合は、
括弧を使うのが最良です。
.PP
\fBbc\fR には特別な式がさらにいくつか備わっています。
それはユーザ定義関数と標準関数に関するもので、
すべて "\fIname\fB(\fIparameters\fB)\fR" という形をしています。
ユーザ定義関数については関数の章を参照して下さい。
標準関数は以下の通りです:
.IP "length ( expression )"
expression の有効桁数を返します。
.IP "read ( )"
(拡張機能) 関数の出現位置に関係なく、標準入力から数を読み取ります。
データとプログラムの両方を標準入力から与えるような場合には、
問題を生じうることに注意して下さい。
最良の方法は、
ユーザからデータの入力の必要があるなら、プログラムはあらかじめ作っておき、
標準入力からプログラムを入力しないようにすることです。
read 関数の値は標準入力から読み込んだ数です。
その際、変換基数として変数 \fBibase\fR の現在の値が用いられます。
.IP "scale ( expression )"
expression の小数点以下の有効桁数を返します。
.IP "sqrt ( expression )"
expression の平方根を返します。
expression に負の値を指定した場合は、ランタイムエラーになります。
.SS 文
文は (ほとんどの算術言語がそうであるように)、処理を順番に実行していく単位です。
\fBbc\fR では文は「できるだけ早い段階で」実行されます。
改行が入力された時点で、実行可能な文が存在していれば、即座に実行します。
このため \fBbc\fR では改行が重要な役割を持っています。
実際、セミコロンと改行が文の区切りとして使用されます。
-不適当な場所で改行を入力すると、シンタックスエラーになります。
+不適当な場所で改行を入力すると、文法エラーになります。
改行は文の区切りですが、バックスラッシュを用いて改行を隠すことができます。
\fBbc\fR にとって、"\e<nl>" (<nl>は改行) は改行ではなく空白に見えます。
文のリストは、セミコロンと改行で区切られた文の並びです。
以下、\fBbc\fR の文の種類とその動作について説明します。
(なお、以下の説明で ([]) で括った部分は省略可能な項です。)
.IP "演算式"
-演算式には次の 2 つの種類があります。
+演算式には次の 2 つの種類があります。
演算式が "<variable> <assignment> ..." で始まっていれば、
それは代入文として扱われます。
そうでなければ、演算式は評価されて出力に表示されます。
結果が表示された後、改行が表示されます。
例えば、"a=1" は代入文であり、
"(a=1)" は代入文が埋め込まれた演算式です。
-表示される数値は全て、変数 \fBobase\fR で決まる基数で表示されます。
+表示される数値はすべて、変数 \fBobase\fR で決まる基数で表示されます。
\fBobase\fR に指定できる値は 2 から BC_BASE_MAX までです。
(「制限」の章を参照。)
基数 2 から 16 まででは、通常の数表記法が用いられます。
基数が 16 より大きい場合、\fBbc\fR は、
各桁を 10 進表記する複数桁文字表記法で表示します。
複数桁文字表記法では、各桁は空白で区切られます。
各桁は "obase-1" を 10 進で表記するのに必要な桁数の数字から成ります。
数の精度は任意に選べるため、数によっては 1 行に表示できない場合もあります。
そのような長い数は、行末に "\e" を付けて次行に継続します。
1 行に表示できる文字数は 70 です。
\fBbc\fR の対話的性質により、ある数を表示すると、
表示した値が特殊変数 \fBlast\fR に代入されるという副作用が生じます。
ユーザはタイプし直すことなく最後に表示された値を再利用できます。
\fBlast\fR に値を代入することも可能で、
その場合、前回表示された値が代入値で上書きされます。
新しく代入した値は、次に数が表示されるか別の値が \fBlast\fR に代入される
まで有効です。(bc の実装によっては、
数の一部になっていない単一のピリオド (.) を \fBlast\fR の短縮表記として
用いることができます。)
.IP "string"
文字列 string が出力に表示されます。
-文字列は二重引用符で始まり、次の二重引用符までの全ての文字を含みます。
-改行を含め、全ての文字は文字通りに解釈されます。
+文字列は二重引用符で始まり、次の二重引用符までのすべての文字を含みます。
+改行を含め、すべての文字は文字通りに解釈されます。
文字列の後に改行は出力されません。
.IP "\fBprint\fR list"
-print 文 (これは拡張機能です) は、もう一つの出力方法です。
+print 文 (これは拡張機能です) は、もうひとつの出力方法です。
"list" はコンマで区切った文字列および演算式のリストであり、
各文字列あるいは演算式がリストの順に表示されます。
最後に改行は出力されません。
演算式は評価され、その値が表示されるとともに、
変数 \fBlast\fR に代入されます。
print 文中の文字列は出力に表示されますが、特殊文字を含めることができます。
特殊文字はバックスラッシュ (\e) で始まります。
\fBbc\fR で使える特殊文字は、
"a" (ベル)、"b" (バックスペース)、
"f" (フォームフィード)、"n" (改行)、"r" (復帰)、"q" (二重引用符)、
"t" (タブ)、"\e" (バックスラッシュ) です。
これ以外は無視されます。
.IP "{ statement_list }"
複文です。複数の文を 1 つのグループにまとめて実行します。
-.IP "\fBif\fR ( expression ) \fBthen\fR statement1 [\fBelse\fR statement2]"
+.IP "\fBif\fR ( expression ) statement1 [\fBelse\fR statement2]"
if 文は演算式 expression を評価し、その値に応じて
文 statement1 または文 statement2 を実行します。
-expression の値がゼロでなければ statement1 が実行されます。
+expression の値が 0 でなければ statement1 が実行されます。
statement2 が存在し、expression の値が 0 ならば、statement2 が実行されます。
(else 節は拡張機能です。)
.IP "\fBwhile\fR ( expression ) statement"
-while 文は expression がゼロでない間、繰り返し statement を実行します。
+while 文は expression が 0 でない間、繰り返し statement を実行します。
statement の実行前に毎回 expression を評価します。
-expression の値がゼロになるか、break 文を実行すると、
+expression の値が 0 になるか、break 文を実行すると、
ループが終了します。
.IP "\fBfor\fR ( [expression1] ; [expression2] ; [expression3] ) statement"
for 文は statement の繰り返し実行を制御します。
expression1 はループ実行の前に評価されます。
expression2 は statement の実行前に毎回評価され、
-その値がゼロでなければ statement が実行されます。
-expression2 の値がゼロになると、ループは終了します。
+その値が 0 でなければ statement が実行されます。
+expression2 の値が 0 になると、ループは終了します。
各 statement 実行の後、再び expression2 が評価される前に expression3 が
評価されます。
expression1 あるいは expression3 が省略されていると、
そこでは何も評価されません。
expression2 が省略されている場合、expression2 が 1 であるのと
同様に扱われます。
(各 expression が省略可能なのは拡張機能です。
POSIX \fBbc\fR では、3 つの expression はどれも省略できません。)
- 以下は for 文と等価なコードです:
+以下は for 文と等価なコードです:
.nf
.RS
expression1;
while (expression2) {
statement;
expression3;
}
.RE
.fi
.IP "\fBbreak\fR"
それを含む最も内側の while もしくは for 文による繰り返しを強制的に中断します。
.IP "\fBcontinue\fR"
-それを含む最も内側の for 文による繰り返しで、最初の文に戻って実行を続けます。
+それを含む最も内側の for 文における次の繰り返しに進みます。
(continue 文は拡張機能です)
.IP "\fBhalt\fR"
実行されると \fBbc\fR プロセッサを終了させます(拡張機能)。
例えば "if (0 == 1) halt" の場合は \fBbc\fR は終了しません。
halt 文が実行されないからです。
.IP "\fBreturn\fR"
関数から戻ります。関数の結果は 0 になります。(関数の章を参照)
.IP "\fBreturn\fR ( expression )"
関数から戻ります。関数の結果は expression になります。(関数の章を参照)
.SS 疑似文
これらは今までの文とは動作が異なります。
疑似文は実行文ではなく、「コンパイル」時点で処理されます。
.IP "\fBlimits\fR"
\fBbc\fR のローカルバージョンにより制限される限界値を表示します。
(limits は拡張機能です)
.IP "\fBquit\fR"
\fBbc\fR を終了します。どんな場所にあっても、quit 文は
入力された時点で実行されます。例えば、
"if (0 == 1) quit"
という記述であっても、\fBbc\fR は終了します。
.IP "\fBwarranty\fR"
保証に関する注意を長めに表示します。
(warranty は拡張機能です)
.SS 関数
関数は、後で実行されるべき計算手順を定義する機能です。
.B bc
の関数は常に値を計算し、それを呼びだし側に返します。
関数定義は、それが入力から読み込まれた時点で定義が行われるという点で
「ダイナミック(動的)」です。
一度定義された関数は、同じ名前で別の関数が定義されるまで使用可能で、
新しい関数が定義された場合は、前の関数が置き換えられます。
関数の定義は、以下のように行います:
.nf
.RS
\fBdefine \fIname \fB( \fIparameters \fB) { \fInewline
\fI auto_list statement_list \fB}\fR
.RE
.fi
関数呼び出しは、
"\fIname\fB(\fIparameters\fB)\fR"
という形式の演算式です。
.PP
パラメータ parameters は数あるいは配列 (拡張機能) です。
-関数定義では、ゼロあるいは 1 個以上のパラメータ名を
+関数定義では、0 あるいは 1 個以上のパラメータ名を
コンマで区切って並べることで定義します。
数は値渡し(call by value)でのみ渡され、配列は変数渡し(call by variable)で
のみ渡されます。
配列はパラメータ定義中で "\fIname\fB[]\fR" のように表記して指定します。
関数呼び出しでは、数のパラメータに対して完全な演算式の実パラメータを
記述します。
配列を渡す表記は配列パラメータ定義と同様です。
名前付き配列は変数(variable)によって関数に渡されます。
関数定義はダイナミックゆえ、
パラメータの数と型は関数呼び出しの際にチェックされます。
パラメータの数あるいは型に何らかの不整合があると、
ランタイムエラーが発生します。
未定義関数を呼び出した場合もランタイムエラーとなります。
.PP
\fIauto_list\fR は省略可能で、ローカル変数として使用する変数のリスト
です。auto_list が存在するなら、その文法は
"\fBauto \fIname\fR, ... ;"
-となります。(セミコロンはオプションです。)
+となります。(セミコロンは省略可能です。)
各 \fIname\fR がローカル変数の名前となります。
配列はパラメータと同様の表記で指定できます。
これらの変数は、関数の最初でその値がスタックにプッシュされたのち
-値ゼロに初期化され、関数の実行中に使用されます。
+値 0 に初期化され、関数の実行中に使用されます。
これらの変数は関数出口にてポップされ、
(関数呼び出し時の)元の値が復元されます。
パラメータは実際にはローカル変数であり、
関数呼び出しで与えられた値に初期化されます。
bc のローカル変数は伝統的な意味でのローカル変数と異なり、
関数 A が関数 B を呼び出しているような場合、関数 B の中に
関数 A のローカル変数と同じ名前のローカル変数がない限り、
関数 A のローカル変数名をそのまま使って、
関数 B から関数 A のローカル変数をアクセスできます。
ローカル変数とパラメータはスタックにプッシュされるため、
\fBbc\fR は再帰的な関数呼び出しをサポートしています。
.PP
関数本体は \fBbc\fR の文のリストです。
繰り返し述べますと、文はセミコロンか改行で区切られています。
return 文により関数は終了し、値を返します。
return 文には 2 つの形式があり、
ひとつめの形式 "\fBreturn\fR" は、呼び出し元に値 0 を返します。
もうひとつの形式 "\fBreturn ( \fIexpression \fB)\fR" は、
expression の値を計算し、それを呼び出し元に返します。
各関数の最後には "\fBreturn (0)\fR" があるものと解釈されます。
これにより、明示的に return 文を置かなくても、
関数は終了して値 0 を返します。
.PP
関数の中では、変数 \fBibase\fR の動作が変わります。関数の中で使われて
いる定数は、関数の呼びだし時点の \fBibase\fR を元に変換が行われます。
このため、関数内部で \fBibase\fR を変更しても無視されます。ただし、標
準関数 \fBread\fR を呼び出した場合は例外で、これは常に現在の
\fBibase\fR の値をもとに変換が行われます。
.SS 数学ライブラリ
\fBbc\fR に \fB-l\fR オプションを付けて起動した場合は、数学ライブラリが
読み込まれ、デフォルトの scale が 20 に設定されます。
数学関数は、それを呼び出した時点の scale の値に従って計算を行います。
数学ライブラリによって使用可能になる関数は、次の通りです:
.IP "s (\fIx\fR)"
sin (x の単位はラジアン)
.IP "c (\fIx\fR)"
-cos
+cos (x の単位はラジアン)
.IP "a (\fIx\fR)"
-atan
+atan (返り値の単位はラジアン)
.IP "l (\fIx\fR)"
log (自然対数)
.IP "e (\fIx\fR)"
-exp
+exp (指数関数)
.IP "j (\fIn,x\fR)"
-ベッセル関数
+整数 n 次のベッセル関数
.SS 使用例
次の例は、/bin/sh でシェル変数 \fBpi\fR に ``パイ'' の値を代入します。
.RS
\f(CW
pi=$(echo "scale=10; 4*a(1)" | bc -l)
\fR
.RE
.PP
-次の例は、数学ライブラリで使われている ``e (x)'' の定義です
+次の例は、数学ライブラリで使われている ``e (x)'' の定義です。
この関数は POSIX \fBbc\fR で記述されています。
.nf
.RS
\f(CW
scale = 20
/* Uses the fact that e^x = (e^(x/2))^2
When x is small enough, we use the series:
e^x = 1 + x + x^2/2! + x^3/3! + ...
*/
define e(x) {
auto a, d, e, f, i, m, v, z
/* Check the sign of x. */
if (x<0) {
m = 1
x = -x
}
/* Precondition x. */
z = scale;
scale = 4 + z + .44*x;
while (x > 1) {
f += 1;
x /= 2;
}
/* Initialize the variables. */
v = 1+x
a = x
d = 1
for (i=2; 1; i++) {
e = (a *= x) / (d *= i)
if (e == 0) {
if (f>0) while (f--) v = v*v;
scale = z
if (m) return (1/v);
return (v/1);
}
v += e
}
}
\fR
.RE
.fi
.PP
次の例は、\fBbc\fR の拡張機能を使って、``checkbook balances''
(小切手帳残高) を計算する簡単なプログラムです。
このプログラムをファイルにしておくと、
毎回タイプしなおさずに何度も使うことができます。
.nf
.RS
\f(CW
scale=2
print "\enCheck book program!\en"
print " Remember, deposits are negative transactions.\en"
print " Exit by a 0 transaction.\en\en"
print "Initial balance? "; bal = read()
bal /= 1
print "\en"
while (1) {
"current balance = "; bal
"transaction? "; trans = read()
if (trans == 0) break;
bal -= trans
bal /= 1
}
quit
\fR
.RE
.fi
.PP
次の例は、再帰呼び出しにより階乗を計算する関数です。
.nf
.RS
\f(CW
define f (x) {
if (x <= 1) return (1);
return (f(x-1) * x);
}
\fR
.RE
.fi
+.SS readline オプション
+GNU \fBbc\fR は (configure のオプションによって) GNU \fBreadline\fR
+入力エディタライブラリを使うようにコンパイルできます。
+これは、\fBbc\fR に入力する前に、行の編集を可能にします。
+以前に入力した行のヒストリも利用可能になります。このオプションで
+コンパイルされた \fBbc\fR では、さらに 1 つの特殊な変数
+\fBhistory\fR が追加され、ヒストリに保存される行の数を指定します。
+その値が -1 (デフォルト値)なら、ヒストリ行は制限なく保存されます。
+正の数を指定すると、ヒストリ行がその数に制限されます。
+0 ならヒストリ機能が無効になります。詳しくは、ユーザマニュアルの
+GNU \fBreadline\fR と \fBhistory\fR ライブラリをご覧下さい。
.SS 相違点
このバージョンの
.B bc
は POSIX P1003.2/D11 ドラフトから実装されており、
そのドラフトや以前の実装に比べていくつかの相違点や拡張点があります。
伝統的に行われていたような
.I dc(1)
を用いた実装ではありません。
このバージョンは単一プロセスであり、
プログラムをバイトコードに変換したものを解析して実行します。
「ドキュメントに記載されていない」オプション (-c) があり、
プログラムを実行する代わりに、それをバイトコードに変換した結果を
標準出力に出力します。
これは主として、パーザのデバッグと数学ライブラリの準備に用いられました。
.PP
主な相違点は拡張機能によるものです。
機能を高めたり追加したりするために機能が拡張されたり、
新機能が追加されたりしています。
相違点と拡張点のリストを以下に示します。
.IP LANG
このバージョンは、
-環境変数 LANG および LC_ で始まる全ての環境変数の処理に関して POSIX に
+環境変数 LANG および LC_ で始まるすべての環境変数の処理に関して POSIX 標準に
準拠していません。
.IP 名前
伝統的な
.B bc
および POSIX
.B bc
は、関数、変数、配列の名前として単一の文字を使います。
このバージョンでは、
-先頭が文字で始まり、文字と数字とアンダースコアから成る文字で
+先頭が文字で始まり、文字と数字とアンダースコアで
構成される 2 文字以上の名前が使えるように拡張されています。
.IP 文字列
文字列には NUL 文字を含むことはできません。
POSIX では、文字列にはあらゆる文字を含めることができなければならない、
としています。
.IP last
POSIX \fBbc\fR には変数 \fBlast\fR はありません。
\fBbc\fR の実装によっては、\fBlast\fR と同じ意味で
ピリオド (.) を用いるものがあります。
.IP 比較
POSIX \fBbc\fR では、比較は if 文、while 文、for 文の第 2 式の中でのみ
用いることができます。
-また、これらの文の中ではただ一つの関係演算しか使えません。
+また、これらの文の中ではただ 1 つの関係演算しか使えません。
.IP "if 文, else 節"
POSIX \fBbc\fR には else 節はありません。
.IP "for 文"
POSIX \fBbc\fR では for 文の各演算式は省略できません。
.IP "&&, ||, !"
POSIX \fBbc\fR には論理演算子はありません。
.IP "read 関数"
POSIX \fBbc\fR には read 関数はありません。
.IP "print 文"
POSIX \fBbc\fR には print 文はありません。
.IP "continue 文"
POSIX \fBbc\fR には continue 文はありません。
.IP "配列パラメータ"
-POSIX \fBbc\fR では配列パラメータは使えません。
-他の \fBbc\fR の実装では、値渡しで配列パラメータを使えるものがあります。
+POSIX \fBbc\fR では (現在のところ) 配列パラメータは完全には使えません。
+POSIX の文法では、関数定義では配列を使えますが、実際に呼び出すときの
+パラメータに配列を指定することができません。(これはおそらく、文法上の
+見落としでしょう。) 伝統的な \fBbc\fR の実装では、配列パラメータは値渡し
+のみでした。
.IP "=+, =-, =*, =/, =%, =^"
POSIX \fBbc\fR ではこれらの「旧式」の代入演算子を定義する必要はありません。
このバージョンではこれらの「旧式」代入演算子が使えるかも知れません。
limits 文を使って、インストールしたバージョンがこれらをサポートしているか
どうか、確かめてみて下さい。
もしそのバージョンが「旧式」代入演算子をサポートしていれば、
文 "a =- 1" は \fBa\fR に値 -1 を代入する代わりに \fBa\fR を 1 減じます。
.IP "数字表記中の空白"
他の \fBbc\fR 実装では、数字表記の中に空白を含めることが許されます。
例えば、"x=1 3" は変数 x に値 13 を代入します。
このバージョンの \fBbc\fR では、先の文は文法エラーになります。
.IP "エラーと実行"
このバージョンの bc は、
プログラムに文法上のエラーや他のエラーが見つかった場合に
どういうコードが実行されるか、
という点で、他の実装と異なっています。
ある関数定義中で文法エラーが見つかると、
エラー回復機構は文の先頭を見つけて関数のパーズを続けようと努力します。
ひとたび関数の中で文法エラーが見つかると、
その関数は呼び出せなくなり、未定義状態となります。
対話的実行コードで文法エラーがあると、
現在の実行ブロックが無効になります。
実行ブロックとは、ひと続きの完全な文のあとの行末までのことです。
例えば、次のコード
.nf
.RS
a = 1
b = 2
.RE
.fi
には 2 つの実行ブロックがあり、
.\" ↑ここで groff 時の字下げ量がおかしくなっているようだが、
.\" 元の英語マニュアルでもそうなっているようだ。(jpman 酒井)
.nf
.RS
{ a = 1
b = 2 }
.RE
.fi
には 1 つの実行ブロックがあります。
ランタイムエラーが発生すると、現在の実行ブロックの実行が終了します。
ランタイムの警告が発生しても、現在の実行ブロックは終了しません。
.IP "割り込み"
対話セッションの間、SIGINT シグナル (通常、端末からの Control-C 入力で
発生します) によって現在の実行ブロックの実行が中断され、
どの関数が中断されたかを示す「ランタイム」エラーが表示されます。
-ランタイムのデータ構造を全てクリアした後メッセージが表示され、
+ランタイムのデータ構造をすべてクリアした後メッセージが表示され、
\fBbc\fR は次の入力を受け付ける状態になったことを示します。
-これまでに定義した関数は全て定義されて残っており、
+これまでに定義した関数はすべて定義されて残っており、
ローカルでない変数の値は割り込み発生時点の値のままになっています。
-ローカル変数と関数パラメータは全て、クリア処理によって消去されます。
+ローカル変数と関数パラメータはすべて、クリア処理によって消去されます。
非対話セッションでは、SIGINT シグナルで \fBbc\fR の実行全体が終了します。
.SS 限界
以下の項目が現在の
.B bc
プロセッサの限界値となっています。
このうちいくつかは、インストール時に変更できます。
実際の値を得るには limits 文を使って下さい。
.IP BC_BASE_MAX
現在のところ、出力の基数の最大値は 999 に設定されています。
入力側の基数の最大値は 16 です。
.IP BC_DIM_MAX
現在のところ 65535 として配布されていますが、
インストールしたバージョンでは異なっているかも知れません。
.IP BC_SCALE_MAX
小数点以下の桁数は INT_MAX 桁に制限されています。
また、小数点より上の桁数も INT_MAX 桁に制限されています。
.IP BC_STRING_MAX
文字列中の文字数は INT_MAX 文字に制限されています。
.IP 指数
累乗演算 (^) の指数の値は LONG_MAX に制限されています。
.IP 乗算
全部で LONG_MAX / 90 桁以上になる数の積を計算すると
誤った結果になることがあります。
32 ビット long では、この数は 23,860,929 桁です。
.IP コードサイズ
各関数および "main" プログラムはバイトコードで 16384 バイト以内に
制限されています。
この限界値 (BC_MAX_SEGS) は 1024 バイトの 16 セグメント以上になるように
容易に変更可能です。
.IP 変数名
単純変数、配列、関数各々について、一意に識別される名前は 32767 個に
制限されています。
+.SH 環境変数
+\fBbc\fR は以下の環境変数を解釈します。
+.IP "POSIXLY_CORRECT"
+\fB-s\fR オプションと同じです。
+.IP "BC_ENV_ARGS"
+これは \fBbc\fR に引き数を渡す別の方法で、コマンドライン引き数と
+同じ書式です。この引き数が最初に処理されるので、この環境変数で
+指定されたファイルはコマンドライン引数で指定されたファイルよりも
+先に処理されます。これにより、毎回 \fBbc\fR を呼び出すごとに
+処理する「標準の」オプションやファイルを設定できます。この環境変数で
+指定するファイルには、\fBbc\fR を走らせるたびに定義しておきたいような
+関数の定義を書いておくとよいでしょう。
+.IP "BC_LINE_LENGTH"
+数字を出力するときの 1 行の文字数を整数で指定します。
+数字が長過ぎると、バックスラッシュと改行を含めた出力となります。
.SH 関連ファイル
-ほとんどの実装では、\fBbc\fR は完全に自分自身で独立しています。
+ほとんどの実装では、\fBbc\fR は完全に自己完結しています。
実行ファイルのサイズが重要視される場合や、
C コンパイラが長い文字列を扱えない場合は、
\fBbc\fR は /usr/local/lib/libmath.b から標準の数学ライブラリを読み込みます。
(実際のディレクトリ位置はこれとは異なり、
例えば /lib/libmath.b かも知れません。)
.SH 診断
コマンドラインで指定したファイルがオープンできない場合、
\fBbc\fR はファイルが利用できない旨を表示して終了します。
また、コンパイル時あるいはランタイムの診断メッセージもありますが、
それらは自身で理解できるようになっているはずです。
.SH バグ
エラーリカバリがまだうまくいっていません。
+.PP
+バグ報告は、
+.BR bug-gnu-utils@prep.ai.mit.edu
+に電子メールでお願いします。
+単語 ``bc'' を ``Subject:'' フィールドのどこかに入れておいてください。
.SH 作者
.nf
Philip A. Nelson
phil@cs.wwu.edu
.fi
.SH 謝辞
実装をテストする際に
広範囲に手助けしてくれた Steve Sommars (Steve.Sommars@att.com) に感謝します。
たくさんの素晴らしい意見をもらいました。
彼のおかげでとてもよいものになりました。
diff --git a/ja_JP.eucJP/man/man1/biff.1 b/ja_JP.eucJP/man/man1/biff.1
index c6a1865bdb..090d031f6c 100644
--- a/ja_JP.eucJP/man/man1/biff.1
+++ b/ja_JP.eucJP/man/man1/biff.1
@@ -1,96 +1,97 @@
.\" 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.
.\"
.\" from: @(#)biff.1 6.5 (Berkeley) 3/14/91
+.\" %Id: biff.1,v 1.5 1997/06/23 06:45:37 charnier Exp %
+.\"
.\" jpman %Id: biff.1,v 1.2 1997/04/01 07:08:32 mutoh Stab %
-.\" %Id: biff.1,v 1.2.2.1 1997/06/24 06:43:41 charnier Exp %
.\"
.Dd June 6, 1993
.Dt BIFF 1
.Os BSD 4
.Sh 名称
.Nm biff
.Nd メールの到着時に、メールの着信とメールの発信人を報告するかどうか設定する
.Sh 書式
.Nm biff
.Op Cm n | y
.Sh 解説
.Nm biff
は、現在の端末を利用している間、メールの到着を
システムから報告してもらうかどうかを設定します。
.Pp
.Nm biff
がサポートしているオプションとしては、以下のものがあります:
.Bl -tag -width 4n
.It Cm n
報告しないように設定します。
.It Cm y
報告するように設定します。
.El
.Pp
.\" 以下の一文は元の英語版マニュアルには含まれていないので
.\" とりあえずコメントアウトしてある --- jpman project sakai@csl.cl.nec.co.jp
.\"
.\" オプションを指定しない場合は現在状態を表示します。
.\"
メールの到着を報告するように設定しているときにメールが届いた場合、
メールのヘッダとメッセージの最初の数行が自分の画面に表示されます。
ログインするたびに設定されるように、たいてい
.Pa \&.login
.Pa \&.profile
ファイルに
.Dq Li biff y
コマンドの記述が含められます。
.Pp
.Nm biff
は非同期に動作します。同期して動作させる場合は、
.Xr sh 1
.Ev MAIL
変数を用いるか、
.Xr csh 1
.Ev mail
変数を利用してください。
.Sh 関連項目
.Xr csh 1 ,
.Xr mail 1 ,
.Xr sh 1 ,
.Xr comsat 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
.Nm biff
コマンドの名前は、 Heidi Stettner の犬の名前にちなんでいます。
彼は、1993年の8月に15歳で亡くなりました。
diff --git a/ja_JP.eucJP/man/man1/c89.1 b/ja_JP.eucJP/man/man1/c89.1
index 6498209396..6c092e825e 100644
--- a/ja_JP.eucJP/man/man1/c89.1
+++ b/ja_JP.eucJP/man/man1/c89.1
@@ -1,169 +1,169 @@
.\"
.\" Copyright (c) 1997 Joerg Wunsch
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: c89.1,v 1.2.2.2 1998/01/12 06:21:14 obrien Exp %
+.\" %Id: c89.1,v 1.2 1997/09/18 20:55:48 joerg Exp %
.\" "
.Dd September 17, 1997
.Os
.Dt C89 1
.Sh 名称
.Nm c89
.Nd Posix.2 対応 C 言語コンパイラ
.Sh 書式
.Nm c89
.Op Fl c
.Op Fl D Ar name Ns Op Ar =value
.Op ...
.Op Fl E
.Op Fl g
.Op Fl I Ar directory ...
.Op Fl L Ar directory ...
.Op Fl o Ar outfile
.Op Fl O
.Op Fl s
.Op Fl U Ar name ...
.Ar operand ...
.Sh 解説
これは
.St -p1003.2
標準にて要求されている、C 言語コンパイラの名称です。
.Pp
.Nm
コンパイラは以下のオプションを受け付けます:
.Bl -tag -offset indent -width "-D name = value"
.It Fl c
コンパイル時にリンクエディットフェーズを実行しません。
生成されたオブジェクトファイルを一切削除しません。
.It Fl D Ar name Ns Op Ar =value
C 言語の
.Ql #define
ディレクティブ(前処理指令)で指定したかのように名前を定義します。
.Ar =value
が与えられない場合、値 1 が使用されます。
.Fl D
オプションは
.Fl U
オプションより低い優先度を持ちます。
すなわち
.Ar name
.Fl U
.Fl D
の両方で使用された場合、オプションの順序によらず、
.Ar name
は未定義になります。
.Fl D
オプションは複数回指定可能です。
.It Fl E
全プリプロセッサディレクティブを展開し、
C 言語ソースファイルを標準出力へコピーします。
コンパイルは行いません。
.It Fl g
オブジェクトや実行ファイル中にシンボル情報を生成します。
.It Fl I Ar directory
絶対パス名ではないヘッダを検索するアルゴリズムを、
通常の場所を検索する前に
.Ar directory
で指定されるディレクトリを探すという方法に変更します。
ダブルクォート (\&"\&") で括られた名前のヘッダは、
.Ql #include
行を指定したファイルのディレクトリ、
次に
.Fl I
オプションで指定したディレクトリ、
最後に通常の場所で探します。
アングルブラケット (<>) で括られた名前のヘッダは、
.Fl I
オプションで指定したディレクトリと
通常の場所のみで探します。
.Fl I
オプションで指定したディレクトリは指定した順番で探します。
.Fl I
オプションは複数回指定可能です。
.It Fl L Ar directory
.Fl l
で指定されるライブラリを検索するアルゴリズムを、
通常の場所を検索する前に
.Ar directory
で指定されるディレクトリを探すという方法に変更します。
.Fl L
オプションで指定したディレクトリは指定した順番で探します。
.Fl L
は複数回指定可能です。
.It Fl o Ar outfile
パス名
.Ar outfile
をデフォルトの
.Pa a.out
の代りに使用し、実行可能ファイルを生成します。
.It Fl O
コンパイル時に最適化を行います。
.It Fl s
オブジェクトや実行ファイルを生成する時、
実行に不要な、シンボルおよびその他の情報を取り除きます
(ストリップします)。
.It Fl U Ar name
.Ar name
の初期定義を取り除きます。
.Fl U
オプションは複数回指定可能です。
.El
.Pp
オペランドは、パス名、もしくは
.Fl l
ライブラリの形式です。
パス名オペランドが少くとも一つは指定されなければなりません。
サポートされているオペランドの形式を以下に示します:
.Bl -tag -offset indent -width "-l library"
.It Pa file Ns \&.c
C 言語ソースファイルであり、コンパイルされます。場合によっては
リンクされます。
.Fl c
オプション使用時には、オペランドはこの形式でなければなりません。
.It Pa file Ns \&.a
オブジェクトファイルのライブラリであり、
.Xr ar 1
によって生成され、直接リンクエディタに渡されます。
.It Pa file Ns \&.o
オブジェクトファイルであり、
.Nm
.Fl c
によって生成され、直接リンクエディタに渡されます。
.It Fl l Pa library
.Dl lib Ns Em library Ns \&.a
という名前のライブラリを探します。
ライブラリの名前が出てきた時点でそのライブラリ内部が検索されるので、
.Fl l
オペランドの位置は重要です。
.El
.Sh 関連項目
.Xr ar 1 ,
.Xr cc 1
.Sh 規格
.Nm
コマンドは
.St -p1003.2
に準拠していると確信しております。
diff --git a/ja_JP.eucJP/man/man1/cap_mkdb.1 b/ja_JP.eucJP/man/man1/cap_mkdb.1
index b477d0cc07..d54147e693 100644
--- a/ja_JP.eucJP/man/man1/cap_mkdb.1
+++ b/ja_JP.eucJP/man/man1/cap_mkdb.1
@@ -1,112 +1,112 @@
.\" Copyright (c) 1992 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: @(#)cap_mkdb.1 5.4 (Berkeley) 3/6/93
-.\" %Id: cap_mkdb.1,v 1.2.2.1 1997/09/14 20:39:28 jkh Exp %
+.\" %Id: cap_mkdb.1,v 1.5 1997/06/23 04:02:49 steve Exp %
.\" jpman %Id: cap_mkdb.1,v 1.2 1997/05/17 15:50:47 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt CAP_MKDB 1
.Os
.Sh 名称
.Nm cap_mkdb
.Nd ケーパビリティ・データベースを作る
.Sh 書式
.Nm cap_mkdb
.Op Fl v
.Op Fl f Ar outfile
.Ar file1
.Op Ar file2 ...
.Pp
.Sh 解説
.Nm cap_mkdb
は、指定したファイルを連結して形成した
.Xr getcap 3
論理データベースから、ハッシュ化
されたデータベースを作ります。
.Pp
データベースの名前は、先頭に指定したファイルのベース名に文字列
.Dq .db
を付け加えたものになります。
.Xr getcap 3
ルーチンの検索速度は、オリジナルのテキストファイルよりも、
このデータベースのほうがずっと高速です。
.Pp
ファイル内の ``tc'' エントリは、データベースにストアされる前に展開され
ます。
.Pp
オプションとしては、以下のものがあります:
.Bl -tag -width XXXXXX -indent
.It Fl f Ar outfile
データベースのベース名として別のものを指定します。
.It Fl v
データベース内のケーパビリティレコードの登録数を表示します。
.El
.Pp
.Sh 書式
個々のレコードは二種類の異なるキーを用いてデータベース内に格納されます。
.Pp
第一の形式は、キーがレコードの最初のケーパビリティ
(末端のコロン(``:'')は含みません)から構成され、
データフィールドがスペシャルバイトとレコードの残りの部分から構成されています。
スペシャルバイトの値は、0 あるいは 1 のいずれかです。ここで 0 はレコードの
状態が良好であることを、1 はレコード中に展開することができなかっ
た ``tc'' ケーパビリティが存在することを示します。
.Pp
第二の形式は、キーがレコード最初のケーパビリティの中の名前の一つで
構成され、データフィールドがスペシャルバイトとレコードの最初のケーパビリティ
から構成されています。この場合スペシャルバイトの値は 2 です。
.Pp
通常の動作においては、まずデータベースから名前を検索します。
その結果得られるのは、第二の形式のキー/データ組です。
このキー/データ組のデータフィールドを用いて、
第一の形式のキー/データ組を検索します。これが
与えられた名前に対する実際のデータになります。
.Sh 戻り値
.Nm cap_mkdb
ユーティリティは成功した場合 0 を、エラーが起こった場合は 0 より大きな値を
返します。
.\"
.\" 以下の使用例の章は FreeBSD オリジナルマニュアルには無い。
.\" このような使用例の正当性を容易には確認できないので、
.\" 残念だがこの章はコメントアウトすることにした。 --- jpman J.Sakai
.\"
.\".Sh 使用例
.\"termcap ファイルにエントリを追加した場合などは、
.\"このコマンドを用いてデータベースファイルを更新しておきます。
.\".Pp
.\".Dl # cap_mkdb -v /usr/share/misc/termcap
.\".Dl cap_mkdb: 555 capability records
.Sh 関連項目
.Xr dbopen 3 ,
.Xr getcap 3 ,
.Xr termcap 5
diff --git a/ja_JP.eucJP/man/man1/cat.1 b/ja_JP.eucJP/man/man1/cat.1
index dec6797228..d8bedb689e 100644
--- a/ja_JP.eucJP/man/man1/cat.1
+++ b/ja_JP.eucJP/man/man1/cat.1
@@ -1,118 +1,119 @@
.\" Copyright (c) 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)cat.1 8.3 (Berkeley) 5/2/95
+.\" %Id: cat.1,v 1.8 1998/05/13 07:16:36 charnier Exp %
+.\"
.\" jpman %Id: cat.1,v 1.3 1997/08/31 14:09:30 horikawa Stab %
-.\" %Id: cat.1,v 1.3.2.3 1998/07/15 02:01:01 jkh Exp %
.\"
.Dd May 2, 1995
.Dt CAT 1
.Os BSD 3
.Sh 名称
.Nm cat
.Nd ファイルの連結、表示を行う
.Sh 書式
.Nm cat
.Op Fl benstuv
.Op Fl
.Op Ar
.Sh 解説
.Nm
はファイルを連続的に読み込み、標準出力に書き出します。
.Ar file
はコマンドラインに記述された順番で処理されます。
``-'' は標準入力を表します。
.Pp
オプションは以下のとおりです。
.Bl -tag -width width
.It Fl b
非空白行に、1 から開始する番号を付けます。
.It Fl e
表示できない文字を目に見える形で表示し (
.Fl v
オプション参照)、各行の最後に
.Pq Ql \&$
を表示します。
.It Fl n
行番号を付け加えます。行番号は 1 から始まります。
.It Fl s
連続した空行を圧縮します。連続した空行は 1 行の空行
として出力されます。
.It Fl t
表示できない文字を目に見える形で表示し (
.Fl v
オプション参照)、タブを
.Ql ^I
で表示します。
.It Fl u
出力のバッファリングを行いません。
.It Fl v
表示できない文字を目に見える形で表示します。
control-X は
.Ql ^X
、削除文字 (8進数で 0177) は
.Ql ^?
と表示されます。
.Tn ASCII
文字でないもの ( 最上位ビットが立っているもの )
は、
.Ql M-
(メタ) のあとに残りの7ビットで表されるキャラクタを
表示します。
.El
.Pp
.Nm
は実行に成功すると 0 を返し、エラーが起こると 0 より
大きな値を返します。
.Sh バグ
シェルの出力リダイレクトのメカニズムが原因で、
.Dq Li cat file1 file2 > file1
は file1 に最初に入っているデータを消去してしまいます!
.Sh 関連項目
.Xr head 1 ,
.Xr more 1 ,
.Xr pr 1 ,
.Xr tail 1 ,
.Xr vis 1
.Rs
.%A Rob Pike
.%T "UNIX Style, or cat -v Considered Harmful"
.%J "USENIX Summer Conference Proceedings"
.%D 1983
.Re
.Sh 歴史
.Nm
は Version 1 AT&T UNIX から登場しました。
.An Dennis Ritchie
がマニュアルの初版をデザインし、執筆しました。
diff --git a/ja_JP.eucJP/man/man1/catman.1 b/ja_JP.eucJP/man/man1/catman.1
index ee2d849caa..562e6d7d77 100644
--- a/ja_JP.eucJP/man/man1/catman.1
+++ b/ja_JP.eucJP/man/man1/catman.1
@@ -1,142 +1,136 @@
.\" Copyright (c) March 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" /usr/bin/catman - preformat man pages
.\"
-.\" %Id: catman.1,v 1.8.2.2 1998/02/15 16:05:21 jkh Exp %
+.\" %Id: catman.1,v 1.15 1998/03/31 06:52:28 charnier Exp %
.\" jpman %Id: catman.1,v 1.3 1997/04/01 14:14:59 horikawa Stab %
.Dd Mar 12, 1995
.Dt CATMAN 1
.Os
.Sh 名称
.Nm catman
.Nd オンラインマニュアルを事前にフォーマットする
.Sh 書式
.Nm catman
.Op Fl f | Fl force
.Op Fl h | Fl help
.Op Fl p | Fl print
.Op Fl r | Fl remove
.Op Fl v | Fl verbose
.Op Ar directories...
.Sh 解説
.Nm catman
はマニュアルを ASCII 形式にフォーマットします。これは
.Ar directories
で全てのマニュアルについて
.Sq man program
とタイプするのと似ています。
.Ar directories
はマニュアルの格納されているディレクトリやサブディレクトリを
スペースかコロンで区切ったものです。
.Ar directories
が指定されなかった場合、デフォルトとして
.Ar /usr/share/man
が使われます。
.Sh オプション
.Bl -tag -width Ds
.It Fl f , Fl force
既にある cat 形式のマニュアルへの上書きを強制します。
普通は、マニュアルが古くなったときだけ、
フォーマットしなおされるべきものです。
このオプションは時間と CPU と RAM の無駄使いです。
.It Fl h , Fl help
オプションを表示して終了します。
.It Fl p , Fl print
実際にはマニュアルのフォーマットを行わず、何を行うかのみを表示します。
.It Fl r , Fl remove
不要ファイルを削除します。例えば、
man 形式の無い cat 形式、
圧縮された cat 形式がある非圧縮の cat 形式、
英数字で構成されていないファイル名を持つファイル、
圧縮された man 形式がある非圧縮の man 形式です。
.It Fl v , Fl verbose
より多くの警告を表示します。
.Sh 使用例
.Pp
.Dl $ catman
.Pp
.Ar /usr/share/man
以下のマニュアルを、必要な分だけフォーマットします。
.Pp
.Dl $ catman $MANPATH
.Pp
ユーザの全てのマニュアルパス以下の
マニュアルを、必要な分だけフォーマットします。
.Pp
.Dl $ catman -f /usr/local/man/man1 /usr/local/man/manl
.Pp
.Pa /usr/local/man/man1
.Pa /usr/local/man/manl
以下のマニュアルを強制的にフォーマットしなおします。
.Pp
.Dl $ catman -p /usr/X11/man
.Pp
何が行われるかを表示するだけです。
.Sh 関連ファイル
-.Bl -tag -width /etc/weeklyxxx -compact
-.Pa /etc/weekly
+.Pa /etc/periodic/weekly/330.catman
このプログラムを起動します
-.Po
-または
-.Pa /etc/daily
-.Pc
-.El
.Sh 特徴
既に全てのマニュアルがフォーマットされている場合、
動作が非常に速くなります。
いくつかのシステムで採用されている
.Fl w
はサポートされていません。
.Ql whatis
データベースを再構築するには
.Xr makewhatis 1
を使って下さい。
.Sh バグ
.Xr man 1
は setuid プログラムです。ユーザ
.Sq man
が cat 形式のマニュアルを格納するディレクトリに
対して書き込み権限を持つように注意して下さい。
.Nm catman
.Sq .so
というマニュアルをチェックしません。
マニュアルの必要以上のフォーマットを避けるには
ハードリンク、シンボリックリンクを使って下さい。
.Sh 関連項目
.Xr makewhatis 1 ,
.Xr man 1 ,
.Xr manpath 1
.Sh 歴史
このバージョンの
.Nm catman
.Fx 2.1
から付属されました。
.Sh 作者
Wolfram Schneider
.Aq wosch@FreeBSD.org ,
Berlin.
diff --git a/ja_JP.eucJP/man/man1/cd.1 b/ja_JP.eucJP/man/man1/cd.1
index d9b54041ee..5a46e0dc8a 100644
--- a/ja_JP.eucJP/man/man1/cd.1
+++ b/ja_JP.eucJP/man/man1/cd.1
@@ -1,99 +1,99 @@
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)cd.1 8.1 (Berkeley) 6/5/93
-.\" %Id: cd.1,v 1.1.1.1.8.1 1997/03/07 04:17:49 mpp Exp %
+.\" %Id: cd.1,v 1.2 1997/03/07 03:27:49 jmg Exp %
.\" jpman %Id: cd.1,v 1.2 1997/03/26 14:56:29 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt CD 1
.Os BSD 4
.Sh 名称
.Nm cd
.Nd ワーキングディレクトリを変更する
.Sh 書式
.Nm cd
.Ar directory
.Sh 解説
.Ar directory
には、新しいワーキングディレクトリになる絶対もしくは相対パス名
を記述します。
cd の相対パス名の解釈は、環境変数のCDPATH
に依存します(下記参照)。
.Sh 環境変数
以下の環境変数が cd の実行に影響します:
.Pp
.Bl -tag -width indent
.It Ev CDPATH
もし、オペランド
.Ar directory
がスラッシュ (/) で始まらず、かつ、最初がドット (.) やドット-ドット (..)
でもない場合、
.Nm cd
は環境変数
.Ev CDPATH
に記述された各ディレクトリの相対ディレクトリを順番に検索します。
新しいワーキングディレクトリは最初に見つかったディレクトリになります。
.Ev CDPATH
でディレクトリ名として空の文字列を指定した場合にはカレントディレクトリを
表します。
新しいワーキングディレクトリが
.Ev CDPATH
を用いて展開された場合には、その値が標準出力に表示されます。
.It Ev HOME
もし
.Nm cd
が引数無しで起動された場合で、環境変数
.Ev HOME
が存在しディレクトリ名が書かれている場合には、
そのディレクトリが新しいワーキングディレクトリになります。
.El
.Pp
環境変数に関する詳細については
.Xr csh 1
を参照して下さい。
.Pp
.Nm cd
は成功時には 0 を、エラーが起こった時は
0 より大きな値を返します。
.Sh 関連項目
.Xr csh 1 ,
.Xr pwd 1 ,
.Xr sh 1 ,
.Xr chdir 2
.Sh 規格
.Nm cd
.St -p1003.2
互換のはずです。
diff --git a/ja_JP.eucJP/man/man1/cdcontrol.1 b/ja_JP.eucJP/man/man1/cdcontrol.1
index 918f635f2e..d8d36a2932 100644
--- a/ja_JP.eucJP/man/man1/cdcontrol.1
+++ b/ja_JP.eucJP/man/man1/cdcontrol.1
@@ -1,181 +1,181 @@
-.\" %Id: cdcontrol.1,v 1.8.2.5 1998/06/13 19:30:22 steve Exp %
+.\" %Id: cdcontrol.1,v 1.16 1998/06/13 19:28:51 steve Exp %
.\" jpman %Id: cdcontrol.1,v 1.3 1997/07/22 09:20:03 mutoh Stab %
.\"
.Dd July 3, 1995
.Dt CDCONTROL 1
.Os FreeBSD
.Sh 名称
.Nm cdcontrol
.Nd コンパクトディスク制御ユーティリティ
.Sh 書式
.Nm cdcontrol
.Op Fl s
.Op Fl v
.Op Fl f Ar discname
.Op Ar command args ...
.Sh 解説
.Nm
はオーディオ CD プレイヤーを操作するためのプログラムです。
device には
.Pa cd0
.Pa mcd0
などを指定します。
.Pp
もし、device が指定されなかった場合、環境変数
.Ev MUSIC_CD ,
.Ev CD_DRIVE ,
.Ev DISC
を (この順番で) 使用して、cd デバイスを探します。
.Pp
コマンドを指定しない場合、
.Nm
は対話モードになり、標準入力からコマンドを読み込みます。
.Pp
以下のオプションを使用可能です。
.Bl -tag -width indent
.It Fl s
サイレントモード - テーブルヘッダ及び人間が可読なコメントを表示しません。
.It Fl v
冗長モード - 表示できる情報は全て表示します。
.It Fl f Ar discname
.Pa /dev/cd0c
.Pa mcd0
といったデバイス名を指定します。
絶対パス及び
.Pa /dev
からの相対パスの指定が可能です。
必要ならば最後に `c' を追加します。
.El
.Pp
現時点では以下のコマンドが利用できます。
コマンドをユニークに特定できるために必要な文字だけ指定する
必要があります。
.Em play
は省略可能です。
.Bl -tag -width Cm
.It Cm play first_track last_track
.Ar first_track
で指定されたトラックから
.Ar last_track
で指定されたトラックまで演奏します。最初のトラックが1番になります。
.It Cm play start_m:start_s.start_f Op Ar end_m:end_s.end_f
絶対アドレス (MSF) を元に演奏します。演奏開始する時間は
.Ar start_m
に演奏開始する分を、
.Ar start_s
に秒を、
.Ar start_f
にはフレーム番号を指定します。演奏終了の時間は
.Ar end_m
に演奏終了する分を、
.Ar end_s,
に秒を、
.Ar end_f
にフレーム番号を指定することで指定できます。分指定で指定できる数値は 0
から 99 の範囲の値です。秒には 0 から 59 までが指定できます。フレーム
番号は 0 から 74 までの範囲で指定できます。
.It Cm play Op Ar #start_block Op length
論理ブロック
.Ar start_block
から
.Ar length
論理ブロック分だけ演奏します。
.It Cm pause
演奏を停止します。ディスクは停止しません。
.It Cm resume
演奏を再開します。
.Em pause
で一時停止した後に使います。
.It Cm stop
ディスクを停止します。
.It Cm eject
ディスクを取り出します。
.It Cm close
ディスクを挿入します。
.It Cm setvol left_channel right_channel
左チャンネルのボリュームを
.Ar left_channel
にセットし、右チャンネルを
.Ar right_channel
にセットします。指定できる値は 0 から 255 の範囲の値です。
.It Cm volume Ar mute
音を消します。
.It Cm volume Ar mono
モノラルモードにします。
.It Cm volume Ar stereo
ステレオモードにします。
.It Cm volume Ar left
左サブトラックを左と右の両チャネルで演奏します。
.It Cm volume Ar right
右サブトラックを左と右の両チャネルで演奏します。
.It Cm info
目次を表示します。
.It Cm status
.Op Ar audio | media | volume
ディスクに関する以下のような情報を表示します:
.Nm audio
現在の演奏の状態と位置、
.Nm media
現在のメディアカタログ状態、
.Nm volume
現在の左チャネル及び右チャネルのボリューム値。
.It Cm help
利用可能なコマンドの一覧を表示します。
.It Cm debug Ar on
CD デバイスドライバのデバッグモードを有効にします。
.It Cm debug Ar off
ドライバのデバッグモードを無効にします。
.It Cm reset
デバイスに対するハードウェアリセットを実行します。
.It Cm set Ar msf
minute-second-frame ioctl モードに設定します (デフォルト)。
.It Cm set Ar lba
LBA ioctl モードに設定します。
.It Cm quit
プログラムを終了します。
.Sh 関連ファイル
.Bl -tag -width /dev/rmcd0c -compact
.It Pa /dev/rcd0c
.It Pa /dev/rmcd0c
.It Pa /dev/rwcd0c
.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/checknr.1 b/ja_JP.eucJP/man/man1/checknr.1
index 170e020daf..789d740aec 100644
--- a/ja_JP.eucJP/man/man1/checknr.1
+++ b/ja_JP.eucJP/man/man1/checknr.1
@@ -1,160 +1,160 @@
.\" 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.
.\"
.\" @(#)checknr.1 8.1 (Berkeley) 6/6/93
.\" jpman %Id: checknr.1,v 1.3 1997/06/18 14:14:50 jsakai Stab %
.\"
.Dd June 6, 1993
.Dt CHECKNR 1
.Os BSD 4
.Sh 名称
.Nm checknr
.Nd nroff および troff ファイルをチェックする
.Sh 書式
.Nm checknr
.Op Fl a Ns Ar \&.x1.y1.x2.y2. ... \&.xn.yn
.Op Fl c Ns Ar \&.x1.x2.x3 ... \&.xn
.Op Fl s
.Op Fl f
.Ar file
.Sh 解説
.Nm checknr
は、
.Xr nroff 1
.Xr troff 1
の入力ファイルのリストに対して、デリミタの開始および終了の不一致や
間違ったコマンドを含む、ある種類のエラーをチェックします。
ファイルが指定されなかった場合、
.Nm checknr
は標準入力をチェックします。
.Pp
オプション
.Bl -tag -width Ds
.It Fl a
既知マクロのリストに追加のマクロペアを追加します。
その後ろには 6 文字のグループが続かなくてはなりません。
各グループはマクロのペアを定義します。
6 文字はピリオドと最初のマクロ名、更にピリオドと2番目のマクロ名です。
例えば、 .BS と .ES のペアを定義するためには、
.Sq Li \-a.BS.ES
を使ってください。
.It Fl c
通常なら未定義であるといわれるコマンドを定義します。
.It Fl f
.Nm checknr
.Ql \ef
のフォント変更を無視させます。
.It Fl s
.Ql \es
のサイズ変更を無視させます。
.El
.Pp
デリミタのチェックは以下の通りです。
.Bl -enum
.It
\efx ... \efP を使ったフォントの変更。
.It
\esx ... \es0 を使ったサイズの変更。
.It
- .TS と .TEマクロのようにいつもペアで使われる、
+\&.TS と .TEマクロのようにいつもペアで使われる、
``開始...終了''形式のマクロ。
.El
.Pp
.Nm checknr
は、
.Xr lint 1
と同じように、
.Nm checknr
によるチェックを念頭に置いて作成されたドキュメントを
チェックするのに用いることを意図しています。
.\"(チェック者注) この部分若干意訳。原文は以下の通り。(sakai@jp.freebsd.org)
.\".Nm Checknr
.\"is intended for use on documents that are prepared with
.\".Nm checknr
.\"in mind, much the same as
.\".Xr lint 1 .
コマンドは、記述形式が
.Ql \ef
.Ql \es
コマンドに対して、
.Ql \efx
.Ql \efP
で終了されており、
.Ql \esx
.Ql \es0
で終了されているようなものを期待しています。
直接次のフォントに切替えたり、
明示的にもとのフォントやポイントサイズを指定したりしても動作しますし、
実際そのようにしているドキュメントは数多く存在しますが、
.Nm checknr
はそのような使用法に対して警告を発します。
おそらく
.Ql \efP
.Ql \es0
形式を使うほうがよいはずなので、
このようなスタイルを用いることは、
ドキュメント執筆スタイルの向上に寄与すると考えて下さい。
.Pp
.Nm checknr
は、
.Xr ms 7
.Xr me 7
マクロパッケージを認識します。
.Sh 関連項目
.Xr nroff 1 ,
.Xr troff 1 ,
.Xr me 7 ,
.Xr ms 7
.\" .Xr checkeq 1 ,
.Sh 診断
.Bd -ragged -compact
デリミタが一致しない時に、警告を出します。
コマンドを認識できない時に、警告を出します。
コマンドの文法について、さまざまな警告を出します。
.Ed
.Sh バグ
.Fl a
を用いて 1 文字のマクロ名を定義する方法がありません。
.Pp
条件文のような、ある種の正当な構造を認識できません。
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/chflags.1 b/ja_JP.eucJP/man/man1/chflags.1
index 737ebd82c1..01dd987399 100644
--- a/ja_JP.eucJP/man/man1/chflags.1
+++ b/ja_JP.eucJP/man/man1/chflags.1
@@ -1,143 +1,143 @@
.\" Copyright (c) 1989, 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)chflags.1 8.2 (Berkeley) 3/31/94
-.\" %Id: chflags.1,v 1.2.6.3 1997/06/29 08:48:52 julian Exp %
+.\" %Id: chflags.1,v 1.6 1997/06/24 06:57:11 charnier Exp %
.\" jpman %Id: chflags.1,v 1.3 1997/06/18 14:15:48 jsakai Stab %
.\"
.Dd March 31, 1994
.Dt CHFLAGS 1
.Os
.Sh 名称
.Nm chflags
.Nd ファイルのフラグを変更する
.Sh 書式
.Nm chflags
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Ar flags
.Ar file ...
.Sh 解説
.Nm chflags
は指定したファイルのフラグを、
.Ar flags
で指定した値に変更します。
.Pp
オプションは以下のとおりです。
.Bl -tag -width Ds
.It Fl H
.Fl R
オプションが指定されていれば、引数で指定されたシンボリックリンクを
たどります
(木構造の検索中にみつかったシンボリックリンクはたどりません)。
.It Fl L
.Fl R
オプションが指定されていれば、全てのシンボリックリンクをたどります。
.It Fl P
.Fl R
オプションが指定されていれば、どのシンボリックリンクもたどりません。
.It Fl R
指定されたファイル自身ではなく、
そのファイル以下のディレクトリ階層すべての
フラグを変更します。
.El
.Pp
フラグはキーワードをコンマで区切ったものです。
現在定義されているキーワードは以下のとおりです:
.Bd -literal -offset indent compact
arch archived フラグをセットします (スーパユーザのみ)
dump dump フラグをセットします
sappnd system append-only (システムレベルでの追加専用) フラグをセットします
(スーパユーザのみ)
schg system immutable (システムレベルでの変更不可) フラグをセットします
(スーパユーザのみ)
sunlnk system undeletable (システムレベルでの削除不可) フラグをセットします
(スーパユーザのみ)
uappnd user append-only (ユーザレベルでの追加専用) フラグをセットします
(所有者またはスーパユーザのみ)
uchg user immutable (ユーザレベルでの変更不可) フラグをセットします
(所有者またはスーパユーザのみ)
uunlnk user undeletable (ユーザレベルでの削除不可) フラグをセットします
(所有者またはスーパユーザのみ)
archived、sappend、schange、simmutable、uappend、uchange、uimmutable,
sunlink, uunlink
は上記のキーワードのエイリアスです。
.Ed
.Pp
オプションキーワードの前に
.Dq no
をつけると、そのフラグを無効にします。
例えば、
.Bd -literal -offset indent compact
nodump dump フラグをクリアします
.Ed
.Pp
シンボリックリンクにはフラグはありません。
よって、
.Fl H
あるいは
.Fl L
オプションを指定せずにシンボリックリンクに
対して
.Nm chflags
を実行した場合、常に成功しますが、何の効果もありません。
.Fl H
.Fl L
.Fl P
オプションは
.Fl R
オプションを指定しない限り無視されます。
また、これらのオプションはお互いの効果を上書きするため、
最後に指定されたオプションによってコマンドの動作が決まります。
.Pp
ファイルのフラグを見るには "ls -lo" とします。
.Pp
.Nm chflags
は実行に成功すると 0 を、エラーが発生すると 0 より大きい値を
戻り値として返します。
.Sh 関連項目
.Xr ls 1 ,
.Xr chflags 2 ,
.Xr stat 2 ,
.Xr fts 3 ,
.Xr symlink 7
.Sh 歴史
.Nm chflags
.Bx 4.4
に初めて登場しました。
diff --git a/ja_JP.eucJP/man/man1/chio.1 b/ja_JP.eucJP/man/man1/chio.1
index 6e578a09c0..25db855e78 100644
--- a/ja_JP.eucJP/man/man1/chio.1
+++ b/ja_JP.eucJP/man/man1/chio.1
@@ -1,219 +1,219 @@
.\" %NetBSD: %
.\"
.\" Copyright (c) 1996 Jason R. Thorpe <thorpej@and.com>
.\" 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 acknowledgements:
.\" This product includes software developed by Jason R. Thorpe
.\" for And Communications, http://www.and.com/
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: chio.1,v 1.1.1.1.2.3 1998/07/15 02:01:03 jkh Exp %
+.\" %Id: chio.1,v 1.6 1998/06/04 21:05:19 steve Exp %
.\"
.\" jpman %Id: chio.1,v 1.3 1997/08/31 14:04:42 horikawa Stab %
.Dd April 2, 1996
.Dt CHIO 1
.Os
.Sh 名称
.Nm chio
.Nd メディアチェンジャ制御ユーティリティ
.Sh 書式
.Nm chio
.Op Fl f Ar changer
.Ar command
.Ar arg1
.Ar arg2
.Oo
.Ar arg3 Oo ...
.Oc
.Oc
.Sh 解説
.Nm chio
は、テープや光ディスクなどのジュークボックスに見られるような
メディアチェンジャの動作を制御するために使われます。
.Pp
オプションには以下のものがあります:
.Bl -tag -width indent
.It Fl f Ar changer
デフォルトの
.Pa /dev/ch0
デバイスのかわりに
.Pa changer
を使用します。
.El
.Pp
環境変数
.Ev CHANGER
にデバイス名をセットしておくと、
それをデフォルトのチェンジャとして使用することができます。
.Pp
メディアチェンジャ装置は複数の
.Em element
から成り立っています。
element には 4 種類あり、それぞれ
.Em picker
(メディア搬送)、
.Em slot
(保管)、
.Em portal
(出し入れ)、
.Em drive
(データ転送)です。このコマンドの解説では省略形
.Em ET
で element の種類を表し、
.Em EU
で element の装置番号を表します。
たとえば、チェンジャ内の一つめのロボットアームを表現する場合には、
.Em ET
.Dq picker
となり、
.Em EU
.Dq 0
となります。
.Pp
.Sh サポートされるコマンド
.Bl -tag -width indent
.It Xo Nm chio move
.Ar <from ET> <from EU> <to ET> <to EU>
.Op Ar inv
.Xc
メディアユニットを
.Pa <from ET/EU>
から
.Pa <to ET/EU>
へと移動します。
オプションの修飾子
.Pa inv
が指定された場合は、挿入前にメディアユニットが裏返されます。
.It Xo Nm chio exchange
.Ar <src ET> <src EU> <dst1 ET> <dst1 EU>
.Op Ar <dst2 ET> <dst2 ET>
.Op Ar inv1
.Op Ar inv2
.Xc
メディアユニットの交換作業をおこないます。
.Pa <src ET/EU>
にあるメディアユニットは
.Pa <dst1 ET/EU>
に移され、以前に
.Pa <dst1 ET/EU>
にあったメディアユニットは
.Pa <dst2 ET/EU>
に移されます。
単純に交換する場合には、
.Pa <dst2 ET/EU>
を省略すると
.Pa <src ET/EU>
が代りに使われます。
オプションの修飾子
.Pa inv1
.Pa inv2
が指定された場合には、それぞれ
.Pa <dst1 ET/EU>
.Pa <dst2 ET/EU>
への挿入前にメディアユニットが裏返されます。
.Pp
すべてのメディアチェンジャが
.Nm exchange
操作をサポートしているわけではないことに注意してください。
exchange 操作のためには、チェンジャが複数の空き picker を持っているか、
一時的な保管場所を用いて複数の空き picker をエミュレートする必要があります。
.Pp
.It Xo Nm chio position
.Ar <to ET> <to EU>
.Op Ar inv
.Xc
picker を
.Pa <to ET/EU>
で指定した element の前に配置します。
もしオプションの修飾子
.Pa inv
が指定された場合は、挿入前にメディアユニットが裏返されます。
.Pp
このコマンドを発行しても、すべてのチェンジャが期待通りの動作をするとは
限らないことに注意してください。
.It Nm chio params
チェンジャ内の slot, drive, picker, portal の数と、
現在どの picker が使用可能になっているかを報告します。
.It Nm chio getpicker
.Pp
現在どの picker が使用可能になっているかを報告します。
.It Xo Nm chio setpicker
.Ar <unit>
.Xc
.Pa <unit>
番の picker を使用可能にします。
.It Xo Nm chio status
.Op Ar <type>
.Xc
チェンジャ内のすべての element の状態を報告します。もし
.Pa <type>
が指定されていると、
.Pa <type>
型の elememt の状態を報告します。
.El
.Pp
ステータスビットは以下のように定義されています:
.Bl -tag -width indent
.It FULL
element にメディアユニットが入っています。
.It IMPEXP
外部の人間の操作により element にメディアが挿入されました。
.It EXCEPT
element が異常な状態になっています。
.It ACCESS
この element 内のメディアは picker でアクセス可能です。
.It EXENAB
element は外部の人間の操作によるメディアの取り出しが可能です。
.It INENAB
element は外部の人間の操作によるメディアの挿入が可能です。
.El
.Sh 使用例
.Bl -tag -width indent
.It Nm chio move slot 3 drive 0
スロット 3 (4 番目のスロット) のメディアをドライブ 0 (1 番目のドライブ) に
移動させます。
.It Nm chio setpicker 2
チェンジャが picker 2 (3 番目の picker) を作業に使用するように設定します。
.El
.Sh 関連ファイル
.Bl -tag -width /dev/ch0 -compact
.It Pa /dev/ch0
デフォルトのチェンジャデバイス
.El
.Sh 関連項目
.Xr mt 1 ,
.Xr ch 4 ,
.Xr mount 8
.Sh 作者
.Nm chio
プログラムと SCSI チェンジャドライバは
And Communications 社 (http://www.and.com/) の
.An Jason R. Thorpe Aq thorpej@and.com
によって書かれました。
diff --git a/ja_JP.eucJP/man/man1/chmod.1 b/ja_JP.eucJP/man/man1/chmod.1
index a39d4dc92f..46d6dda687 100644
--- a/ja_JP.eucJP/man/man1/chmod.1
+++ b/ja_JP.eucJP/man/man1/chmod.1
@@ -1,320 +1,320 @@
.\" Copyright (c) 1989, 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)chmod.1 8.4 (Berkeley) 3/31/94
+.\" %Id: chmod.1,v 1.10 1998/05/19 06:24:50 jkoshy Exp %
.\" jpman %Id: chmod.1,v 1.2 1997/04/01 01:37:14 mutoh Stab %
-.\" %Id: chmod.1,v 1.4.2.4 1998/07/15 02:01:04 jkh Exp %
.\"
.Dd March 31, 1994
.Dt CHMOD 1
.Os
.Sh 名称
.Nm chmod
.Nd ファイルのモードを変更する
.Sh 書式
.Nm chmod
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Ar mode
.Ar file ...
.Sh 解説
.Nm
は指定されたファイルのモードを
.Ar mode
で指定したものに変更します。
.Pp
オプションとして以下のものがあります:
.Bl -tag -width Ds
.It Fl H
.Fl R
オプションが指定されていれば、引数がシンボリックリンクのとき、それを
たどって変更します。
(ディレクトリツリー探索中に見つかったシンボリックリンクは
それ以上追跡しません)
.It Fl L
.Fl R
オプションが指定されていれば、すべてのシンボリックリンクをたどり、
リンク先のファイルを変更します。
.It Fl P
.Fl R
オプションが指定されていても、どのシンボリックリンクもたどりません。
.It Fl R
指定されたファイル自身だけではなく、それらをルートとする
ディレクトリ階層を再帰的に検索してモードを変更します。
.El
.Pp
シンボリックリンクはモードを持たないので、
.Fl H
または
.Fl L
オプションが指定されていなければ、シンボリックリンクに対する
.Nm
実行結果は常に真となり、何も変えません。
.Fl H ,
.Fl L ,
.Fl P
オプションは、
.Fl R
オプションが指定されていなければ無視されます。また、これらが
複数指定されると最後に指定したものが有効になります。
.Pp
ファイルのモードの変更はそのファイルの所有者とスーパユーザだけにしか
許されていません。
.Pp
.Nm
は正常終了時には 0 を、エラーが生じたときは 0 より大きい値を返します。
.Sh モード
モードには、数値を用いた絶対値指定と、シンボルによる指定があります。
数値指定では、以下の値を
.Ar ``or''
で組み合わせた 8 進数を用います:
.Pp
.Bl -tag -width 6n -compact -offset indent
.It Li 4000
(set-user-ID-on-execution ビット)
このビットがセットされている実行可能ファイルは、
ファイルを所有するユーザ ID に実効ユーザ ID を設定されて実行されます。
set-user-id ビットをセットされているディレクトリは、
その中で作成される全てのファイルおよびディレクトリの所有者を
ディレクトリの所有者に設定することを強制し、
作成するプロセスのユーザ ID は無関係となります。
これは、ディレクトリが存在するファイルシステムが
この機能をサポートしている場合に限られます:
.Xr chmod 2
.Xr mount 1
.Ar suiddir
オプションを参照してください。
.It Li 2000
(set-group-ID-on-execution ビット)
このビットがセットされている実行可能ファイルは、
ファイルを所有するグループ ID に実効グループ ID を設定されて実行されます。
.It Li 1000
(スティッキービット)
ディレクトリに設定した時には、
非特権ユーザは、所有するファイルのみ削除およびリネーム可能となり、
ディレクトリのパーミッションは無関係となります。
FreeBSD では、実行可能ファイルに設定されたスティッキービットは無視され、
ディレクトリにのみ設定可能です (
.Xr sticky 8
参照)。
.It Li 0400
所有者の読み込みを許可。
.It Li 0200
所有者の書き込みを許可。
.It Li 0100
ファイルの場合、所有者の実行を許可。
ディレクトリの場合、所有者の検索を許可。
.It Li 0040
グループのメンバの読み込みを許可。
.It Li 0020
グループのメンバの書き込みを許可。
.It Li 0010
ファイルの場合、グループのメンバの実行を許可。
ディレクトリの場合、グループのメンバの検索を許可。
.It Li 0004
他者の読み込みを許可。
.It Li 0002
他者の書き込みを許可。
.It Li 0001
ファイルの場合、他者の実行を許可。
ディレクトリの場合、他者の検索を許可。
.El
.Pp
例えば、所有者に読み込み・書き込み・実行を許可し、
グループのメンバに読み込み・実行を許可し、
他者に読み込み・実行を許可し、
set-uid と set-gid を指定しない絶対値指定のモードは、
755 (400+200+100+040+010+004+001) となります。
.Pp
シンボルによる指定は以下の文法に従います。
.Bd -literal -offset indent
mode ::= clause [, clause ...]
clause ::= [who ...] [action ...] last_action
action ::= op [perm ...]
last_action ::= op [perm ...]
who ::= a | u | g | o
op ::= + | \- | =
perm ::= r | s | t | w | x | X | u | g | o
.Ed
.Pp
.Ar who
シンボルの ``u'', ``g'', ``o'' はそれぞれユーザ、グループ、それ以外に
相当します。``a'' シンボルは ``ugo'' を指定した場合と同じになります。
.Pp
.ne 1i
.Ar perm
シンボルはモードの各ビットを以下のように表現します。
.Pp
.Bl -tag -width Ds -compact -offset indent
.It r
読み込み許可ビット
.It s
実行時 setuid および実行時 setgid ビット
.It t
sticky ビット
.It w
書き込み許可ビット
.It x
実行/検索 許可ビット
.It X
対象がディレクトリであるか、変更前のモードで誰かの実行/検索許可ビット
が立っている場合に、実行/検索許可ビットがセットされます。
.Ar perm
シンボルでの ``X'' の指定は、
.Ar op
シンボルを ``+''で連結する時のみ意味があり、他の場合は無視されます。
.It u
元ファイルの所有者許可ビット
.It g
元ファイルのグループ許可ビット
.It o
元ファイルの所有者とグループ以外の許可ビット
.El
.Pp
.Ar op
シンボルの働きは以下のようになります
.Bl -tag -width 4n
.It +
.Ar perm
値が指定されなければ、``+'' は何の作用もありません。
.Ar who
シンボルが指定されていなければ、
.Ar perm
値はそれぞれのwhoシンボルの対応するビットに作用し、それを umask で
マスクしたビットがセットされます。
.Ar who
シンボルが指定されていれば、その
.Ar perm
値が設定されます。
.It \&\-
.Ar perm
値が指定されていなければ、``\-'' は何の作用もありません。
.Ar who
シンボルが指定されていなければ、
.Ar perm
値はそれぞれのwhoシンボルの対応するビットに作用し、それを umaskで
マスクしたビットがクリアされます。
.Ar who
シンボルが指定されていれば、その
.Ar perm
値がクリアされます。
.It =
.Ar who
シンボルで指定されたモードビットがクリアされます。whoシンボルが指定
されていなければ、所有者、グループ、その他の各モードビットがクリアされ
ます。
.Ar who
シンボルが指定されていなければ、
permで指定したビットが、所有者、グループ、その他のそれぞれを umaskで
マスクしたものだけ設定されます。
.Ar who
シンボルと
.Ar perm
が指定されていれば、その値がそのまま設定されます。
.El
.Pp
.Ar clause
では、モードビットを操作するためのオペレーションを 1 つ以上記述しなけ
ればなりません。そして各オペレーションは記述した順番で適用されます。
.Pp
所有者とグループ以外の ``o'' のみに対して、 ''s'' や ``t'' の組合せの
.Ar perm
値が指定されても無視されます。
.Sh 使用例
.Bl -tag -width "u=rwx,go=u-w" -compact
.It Li 644
ファイルを誰にでも読めるようにして、ファイルの所有者のみ書き込み可能に
します。
.Pp
.It Li go-w
ファイルの所有者以外の書き込みを禁止します。
.Pp
.It Li =rw,+X
umask でマスクされていないビットの読み書きを許可しますが、実行許可は
現在設定されているものを保持します。
.Pp
.It Li +X
誰かが実行/検索可能なファイルやディレクトリならば、すべてのユーザが
実行/検索できるファイルやディレクトリとします。
.Pp
.It Li 755
.It Li u=rwx,go=rx
.It Li u=rwx,go=u-w
誰にでも読み込みと実行ができて、所有者のみ書き込み可能になるようにしま
す。
.Pp
.It Li go=
グループやその他のユーザにいかなる許可も与えません。
.Pp
.It Li g=u-w
グループビットをユーザビットと同じにしますが、グループの書き込みは禁止
します。
.El
.Sh バグ
naughty bitのための
.Ar perm
オプションが無い。
.Sh 関連項目
.Xr chflags 1 ,
.Xr install 1 ,
.Xr mount 1 ,
.Xr chmod 2 ,
.Xr stat 2 ,
.Xr umask 2 ,
.Xr fts 3 ,
.Xr setmode 3 ,
.Xr symlink 7 ,
.Xr chown 8 ,
.Xr sticky 8
.Sh 規格
.Nm
ユーティリティは、規格にない
.Ar perm
シンボルの
.Dq t
.Dq X
を除いては
.St -p1003.2
互換になるように作られています。
.Sh 歴史
.Nm
コマンドは
.At v1
から導入されました.
diff --git a/ja_JP.eucJP/man/man1/chpass.1 b/ja_JP.eucJP/man/man1/chpass.1
index 6411012672..5a37790750 100644
--- a/ja_JP.eucJP/man/man1/chpass.1
+++ b/ja_JP.eucJP/man/man1/chpass.1
@@ -1,414 +1,414 @@
.\" Copyright (c) 1988, 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.
.\"
.\" @(#)chpass.1 8.2 (Berkeley) 12/30/93
-.\" %Id: chpass.1,v 1.7.2.4 1998/08/14 03:38:01 thepish Exp %
+.\" %Id: chpass.1,v 1.11 1998/08/14 03:47:38 thepish Exp %
.\" jpman %Id: chpass.1,v 1.2 1997/03/31 14:06:36 horikawa Stab %
.\"
.Dd December 30, 1993
.Dt CHPASS 1
.Os
.Sh 名称
.Nm chpass, chfn, chsh, ypchpass, ypchfn, ypchsh
.Nd ユーザデータベース内の情報を編集する
.Sh 書式
.Nm chpass
.Op Fl a Ar list
.Op Fl p Ar encpass
.Op Fl s Ar newshell
.Op user
.Sh 解説
.Nm chpass
.Ar user
もしくはデフォルトでは実行したユーザのユーザデータベースの情報を変更します。
情報はフォーマットされ、必要な部分をエディタで変更します。
.Pp
ユーザが変更することができる情報だけが表示されます。
.Pp
オプションとしては、以下のものがあります:
.Bl -tag -width flag
.It Fl a
スーパユーザは、ユーザデータベースのエントリを
.Xr passwd 5
で定義されたフォーマットで引数として直接指定できます。
この引数はコロン(``:'')で区切られたリストであり、
空きの部分があっても許されますが、
すべてのフィールドをリストにしなければなりません。
.It Fl p
スーパユーザは、暗号化されたパスワードフィールドを
.Xr crypt 3
で用いられているフォーマットで引数として直接指定することができます。
.It Fl s
.Fl s
オプションは、ユーザのシェルを
.Ar newshell
に変更します。
.El
.Pp
表示されるエントリには以下のものがあります:
.Pp
.Bl -tag -width "Other Information:" -compact -offset indent
.It Login:
ユーザのログイン名
.It Password:
ユーザの暗号化されたパスワード
.It Uid:
ユーザの ID
.It Gid:
ユーザのグループ ID
.It Change:
パスワードの変更時間
.It Expire:
アカウントの有効期限
.It Class:
ユーザの一般的な分類
.It Home Directory:
ユーザのホームディレクトリ
.It Shell:
ユーザのログインシェル
.It Full Name:
ユーザの実際の名前
.It Location:
ユーザが通常いる場所
.It Home Phone:
ユーザの自宅の電話番号
.It Office Phone:
ユーザのオフィスの電話番号
.It Other Information:
ユーザに関するローカル定義情報
.El
.Pp
.Ar login
フィールドは計算機にアクセスするときに使われるユーザ名です。
.Pp
.Ar password
フィールドはユーザの暗号化されたパスワードが収められています。
.Pp
.Ar uid
フィールドは
.Ar login
フィールドと関連した番号です。ファイルのアクセスを制御するために、
どちらのフィールドもシステム (しばしば、複数のシステム) の中で
一意である必要があります。
.Pp
複数のエントリが同一のログイン名や同一のユーザ ID を持つことは可能ですが、
そのようにすることは通常誤りです。
これらのファイルを操作する手順では、
それらの複数のエントリ内から無作為に選んだものの一つだけを返すでしょう。
.Pp
.Ar group
フィールドはユーザがログイン時に所属するグループです。BSD が複数の
グループを採用してから(
.Xr groups 1
参照)
このフィールドはほとんど意味がありません。
このフィールドは番号やグループ名(
.Xr group 5
参照) のどちらかが記述されます。
.Pp
.Ar change
フィールドはパスワードが変更されているべき日付です。
.Pp
.Ar expire
フィールドはアカウントの満了する日付です。
.Pp
.Ar change
.Ar expire
の両方のフィールドは ``month day year'' の形式で入力し、
.Ar month
は、英語の月の名前 (はじめの3文字でも十分です) で、
.Ar day
は、その月の中の日で、
.Ar year
は、その年です。
.Pp
.Ar class
フィールドは現在では使われてません。近い将来には、
.Xr termcap 5
形式のユーザ属性のデータベースへの手がかりとなるでしょう。
.Pp
ユーザの
.Ar home directory
はユーザがログイン時にいる場所への絶対 UNIX パス名です。
.Pp
.Ar shell
フィールドはユーザの好むコマンドインタプリタです。
もし
.Ar shell
フィールドが空であれば、ボーンシェル
.Pa /bin/sh
であると仮定します。
ログインシェルを変更するときに、スーパユーザではないユーザは、
非標準シェルから、または非標準シェルへの変更は許されていません。
非標準シェルとは
.Pa /etc/shells
で見つけられないシェルのことです。
.Pp
最後の 5 つのフィールドはユーザの
.Ar 実際の名前
.Ar オフィスの場所
.Ar 職場
.Ar 家で使う電話
番号、そして
.Ar その他の情報
を保管しています。
.Ar その他の情報
は、コンマで区切った単一文字列であり、追加の gcos フィールドを表現します。
(典型的にはサイト固有のユーザ情報のために使用します)。
.Pp
一度情報が確認されたら
.Nm chpass
はユーザデータベースを更新するために
.Xr pwd_mkdb 8
を用います。
.Sh 環境変数
環境変数 EDITOR を設定して他のエディタを指定している場合を除き、
.Xr vi 1
エディタが使われます。エディタが終了すると、その情報は再度読み込まれ、
ユーザデータベースを変更するための情報とします。
ユーザの情報を変更できるのは、そのユーザかスーパユーザのみです。
.Sh NIS との相互作用
いくつかの制限が適用されますが、
.Nm chpass
を NIS と同時に使うこともできます。現在
.Nm chpass
.Xr rpc.yppasswdd 8
を通じて NIS のパスワードマップ中で変更できるのは、
通常はユーザのパスワード、シェル、GECOS フィールドだけです。
NIS マスタサーバ上でスーパユーザによって起動された場合を除き、
.Nm chpass
(同様に
.Xr passwd 1 )
は、ユーザ情報の変更および新レコードの追加のために
.Xr rpc.yppasswdd 8
サーバを使用出来ません。
なお、
.Xr rpc.yppasswdd 8
は、どのような変更を行う前にもパスワード認証を要求します。
パスワード無しで変更要求できるユーザは
NIS マスタサーバ上のスーパユーザだけです;
他の全てのユーザはパスワードを入力する必要があります。
他の全てのユーザには NIS クライアント(および NIS スレーブサーバ)上の
ルート権限を持つユーザも含まれます。
(NIS マスタサーバ上のスーパユーザがこの制約をバイパスできる理由は、
主に簡便さのためです:
NIS マスタサーバへのルートアクセス権限をもつユーザは
既に NIS マップを更新するための権限を持っています。
それにもかかわらずマップソースファイルを手で編集することは面倒です。
.Pp
注: これらの例外が適用されるのは
NIS マスタサーバが FreeBSD システムの時だけです。)
.Pp
その結果として、上述の例外を除き、NIS 環境で
.Nm chpass
を使う場合には以下の制限が適用されます:
.Bl -enum -offset indent
.It
.Pa シェルと GECOS 情報だけを変更できます。
たとえ
.Nm chpass
がスーパユーザによって起動された場合であってもです。
他のフィールドの変更がサポートされるようになっても、
他の NIS システムとの互換性の問題を引き起こすでしょう。
スーパユーザがあるエントリを編集している時に、
他のフィールドにデータを書いても、余分な情報として
(パスワードは例外 -- 以下を参照してください) だまって廃棄されるでしょう。
.Pp
例外: NIS マスタサーバ上のスーパユーザは、
任意のフィールドの変更が許されています。
.Pp
.It
.Pa パスワード認証が要求されます。
どのような変更を行う前にも
.Nm chpass
はユーザの NIS パスワードを要求します。もしパスワードが間違っていたら、
どのような変更も行われません。
.Pp
例外: NIS マスタサーバ上のスーパユーザはパスワード無しに変更要求できます。
(スーパユーザは、後述するように
.Fl o
フラグを指定する事によりこの仕様を無効にする事が選択できます。)
.It
.Pa 新しいレコードのローカルパスワードデータベースへの追加は勧められません。
NIS が動作しているときに、管理者が
.Nm chpass
によって新しいレコードをローカルのパスワードデータベースに追加可能です。
しかし、新しいレコードがマスタパスワードファイルの最後、
通常は NIS の特別な '+' エントリの後に追加されるため、
いくつかの混乱を招きかねません。
.Xr vipw 8
を使ってローカルのパスワードファイルを変更するべきです。
.Pp
NIS マスタサーバ上のスーパユーザによる
NIS パスワードマップへの新レコードの追加が許可されるのは、
.Xr rpc.yppasswdd 8
サーバが
.Fl a
フラグ付で起動された場合、すなわち追加を許可して起動された場合のみです
(通常は追加を拒否します)。
.Nm chpass
はデフォルトではローカルのパスワードデータベースを更新しようとします;
NIS マップを変更する場合には chpass を
.Fl y
フラグ付で起動してください。
.It
.Pa パスワードの変更は許可されていません。
ユーザが、自分の NIS のパスワードを変更するときには
.Xr passwd 1
.Xr yppasswd 1
を使うべきです。スーパユーザは新しいパスワードを指定することを許され
ています(たとえ、``Password:'' フィールドがエディタのテンプレートに
あらわれていなくても、スーパユーザは手動で加えることができます) 。
しかしながら、スーパユーザであってもユーザの元のパスワードがなければ
.Xr rpc.yppasswdd 8
が NIS マップの更新を拒否するでしょう。
.Pp
例外: NIS マスタサーバ上のスーパユーザは
.Nm chpass
を使用して、ユーザの NIS パスワードを変更する事が許されています。
.El
.Pp
.Nm chpass
が NIS をサポートしてコンパイルされたときに、数個の特別なフラグが有効
になります:
.Bl -tag -width flag
.It Fl l
.Fl l
フラグは、ローカルと NIS の両方のデータベースにユーザが存在していても、
ユーザのパスワード情報のローカルのコピーを修正することを
.Nm chpass
に強制します。
.It Fl y
このフラグは
.Fl l
と反対の効果があります。もし NIS が動作していれば、
デフォルトでは
.Nm chpass
は NIS のエントリを操作するので、
このフラグはまったく冗長です。
.It Fl d Ar domain
NIS ドメインを指定します。
.Nm chpass
はデフォルトではシステムのドメイン名を使用します。
これは
.Xr domainname 1
コマンドにて設定されています。
.Fl d
オプションは、
このデフォルトを上書きするため、
もしくはドメイン名が設定されていない場合にドメイン名を指定するために
使用できます。
.It Fl h Ar host
問い合わせるべき NIS サーバの名前もしくはアドレスを指定します。
通常
.Nm chpass
.Pa master.passwd
もしくは
.Pa passwd
マップにて指定される NIS マスタホストと通信します。
NIS クライアントとして構成されていないホスト上では、
この情報を決定するための方法がプログラムにはありませんので、
ユーザがサーバのホスト名を指定します。
指定するホスト名は NIS マスタサーバである必要が無い事に注意してください;
NIS ドメイン内のマスタサーバ名でもスレーブサーバ名でも良いのです。
.Pp
.Fl d
オプション使用時には、ホスト名のデフォルトは ``localhost'' です。
.Fl h
オプションを
.Fl d
とともに使用し、ユーザが指定するホスト名でこのデフォルトを上書きできます。
.Pp
.It Fl o
.Xr rpc.yppasswdd 8
に RPC ベースの更新を強制します(``旧モード'')。
NIS マスタサーバ上でスーパユーザにより起動された場合、
.Nm chpass
は専用の非 RPC ベースの機構を使用し、
NIS パスワードマップに対する無制限の変更を許可します
(この場合 UNIX ドメインソケットを使用します)。
.Fl o
フラグを使用する事により
.Nm chpass
に標準の更新メカニズムを使用させる事が出来ます。
このオプションは主にテスト目的のために提供されています。
.El
.Pp
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd -compact
.It Pa /etc/master.passwd
ユーザデータベース
.It Pa /etc/passwd
Version 7 フォーマットのパスワードファイル
.It Pa /etc/chpass.XXXXXX
パスワードファイルのテンポラリ用コピー
.It Pa /etc/shells
利用できるシェルのリスト
.El
.Sh 関連項目
.Xr finger 1 ,
.Xr login 1 ,
.Xr passwd 1 ,
.Xr getusershell 3 ,
.Xr passwd 5 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8
.Rs
.%A Robert Morris
and
.%A Ken Thompson
.%T "UNIX Password security"
.Re
.Sh 注釈
.Xr chfn 1 ,
.Xr chsh 1 ,
.Xr ypchpass 1 ,
.Xr ypchfn 1 ,
.Xr upchsh 1
コマンドは実際には
.Nm chpass
にリンクしているだけです。
.Sh バグ
ユーザ情報の保存はどこか他の場所にするべきです
(し、いつかはそうなるでしょう)。
.Sh 歴史
.Nm chpass
コマンドは
.Bx 4.3 Reno
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/ci.1 b/ja_JP.eucJP/man/man1/ci.1
index eb08f520d0..1b8c1b0532 100644
--- a/ja_JP.eucJP/man/man1/ci.1
+++ b/ja_JP.eucJP/man/man1/ci.1
@@ -1,887 +1,887 @@
.\" jpman %Id: ci.1,v 1.2 1997/06/01 11:29:01 horikawa Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: ci.1,v 1.3 1996/02/12 04:56:44 mpp Exp %
+.Id %Id: ci.1,v 1.5 1997/02/22 15:47:18 peter Exp %
.ds i \&\s-1ISO\s0
.ds r \&\s-1RCS\s0
.ds u \&\s-1UTC\s0
.if n .ds - \%--
.if t .ds - \(em
.TH CI 1 \*(Dt GNU
.SH 名称
ci \- RCSファイルにリビジョンをチェックインする
.SH 書式
.B ci
.RI [ options ] " file " .\|.\|.
.SH 解説
.B ci
は \*r ファイルに新たなリビジョンを格納します。
引数のうち、\*r ファイルの拡張子形式に一致する
ファイル名を \*r ファイルとみなします。
それ以外のファイル名は、新たなリビジョンを含んだワークファイルとみなします。
.B ci
はワークファイルの内容を対応した \*r ファイルに格納します。
もしワークファイルのみが指定されたなら、
.B ci
はサブディレクトリ \*r、次にワークファイルがあるディレクトリの順に
対応する \*r ファイルを検索します。
詳細は後述の
.SM "ファイル名規則"
の項を参照してください。
.PP
.B ci
が動作するには、
.B ci
を起動したユーザが
\*r ファイルのアクセスリスト
に登録されているか、アクセスリストが空であるか、
ユーザが \*r ファイルの持ち主であるか、
あるいはスーパーユーザである必要があります。
すでに存在する枝(branch)に新しいリビジョンを追加するには、
枝の先端(tip)リビジョンが、
追加しようとするユーザによってロックされていなければなりません。
ロックされていない場合、新たな枝のみ作成可能です。
非厳格モード(
.BR rcs (1)
参照)の場合、
ファイルの所有者に対してはこの制限はありません。
他人が行っているロックは、
.B rcs
コマンドによって解除できます。
.PP
.B \-f
オプションが指定されていなければ、
.B ci
は追加しようとするリビジョンと直前のリビジョンとの比較を行います。
違いがなかった場合、新たなリビジョンを作成するかわりに、
ワークファイルを元のリビジョンのものに復元します。
復元するときには、ci はいったんワークファイルを削除し、
ロックを解除します。
.B "ci\ \-l"
はロックし、
.B "ci\ \-u"
はロックを解除します。
これらのオプションが指定されていれば、あたかも直前のリビジョンに対して
.B "co\ \-l"
または
.B "co\ \-u"
を実行したかのようにして直前のリビジョンの内容を取り出します。
復元が行われる場合、
.B \-n
.B \-s
オプションは復元されるリビジョンに対して作用します。
.PP
リビジョンを格納するときに、
.B ci
はログメッセージの入力を促すプロンプトを表示します。
ログメッセージは、そのリビジョンの変更点の要約です。
ファイル終端(EOF)あるいは、
ピリオド
.B \&.
のみからなる行によって入力を完了させます。
複数のファイルが登録される場合、
.B ci
は前に入力したログメッセージを
再利用するかどうかを聞いてきます。
もし標準入力が端末でなければ、
.B ci
は確認を行わず、
登録されるすべてのファイルに対して同じログメッセージを使用します。
.B \-m
オプションの項も参照してください。
.PP
もし \*r ファイルが存在しなければ、
.B ci
は新規に \*r ファイルを作成し、
ワークファイルの内容を初期リビジョン(デフォルトでは
.BR 1.1 )
として格納します。
その場合、アクセスリストは空に初期化されます。
初期リビジョンを格納するときは、
ログメッセージのかわりに
ファイルの内容を記述したテキストを入力します(後述の
.B \-t
オプションの項を参照してください)。
.PP
登録するリビジョン番号(
.I rev )
は、
.BR \-f ,
.BR \-i ,
.BR \-I ,
.BR \-j ,
.BR \-k ,
.BR \-l ,
.BR \-M ,
.BR \-q ,
.BR \-r ,
.B \-u
のオプションのうちのいずれかで指定することができます。
.I rev
はシンボル、数値、あるいは両者の組合せたものです。
.I rev
で使用するシンボル名は定義済みでなければなりません;
チェックイン時にシンボル名を割り当てる方法については
.B \-n
および
.B \-N
を参照して下さい。
もし
.I rev
.B $
ならば、
.B ci
はワークファイル中のキーワードからリビジョン番号を決定します。
.PP
もし
.I rev
がピリオドから始まる場合、デフォルトの枝(通常は幹(trunk))に格納されます。
もし
.I rev
が枝番号に続いてピリオドである場合、当該枝の最新のリビジョンが使用されます。
.PP
.I rev
がリビジョン番号の場合、
それは登録する枝のなかで最も大きな値である必要があります。
さもなければ、新しい枝を作成する必要があります。
.PP
.I rev
がリビジョン番号ではなく枝番号の場合、
その枝に対する新しいリビジョンが作成されます。
新しいリビジョン番号は、その枝の先端リビジョン番号に1を加えたものとなります。
もし
.I rev
が存在しない枝番号ならば、新たな枝が作成され、初期リビジョンとして
.IB rev .1
が作成されます。
.br
.ne 8
.PP
.I rev
が省略された場合、
.B ci
はユーザが行った最後のロックからリビジョン番号を決定します。
ユーザがある枝の先端リビジョンをロックしている場合は、
新たなリビジョンがその枝に追加されます。
新しいリビジョン番号は
先端リビジョン番号に 1 を加えたものになります。
ユーザが先端ではないリビジョンをロックしている場合は、
新たな枝が作成されます。
新たな枝番号は、ロック対象のリビジョンの
最も大きな枝番号に1を加えたものになります。
デフォルトでは、新たな枝やリビジョンの番号は
.B 1
となります。
.PP
.I rev
が省略され、ユーザがロックを行わず、そのファイルの所有者であり、
かつロックが
.I 非厳格モード
であるなら、
デフォルトの枝(通常は幹(trunk);
.BR rcs (1)
.B \-b
オプションの項を参照)に新たなリビジョンが作成されます。
.PP
例外: 幹(trunk)においてリビジョンを追加することはできますが、
途中に挿入することはできません。
.SH オプション
.TP
.BI \-r rev
リビジョン
.I rev
をチェックインします。
.TP
.B \-r
.B \-r
オプションをリビジョン抜きで使用した場合、
.B ci
にとって特別な意味が有ります。他の \*r コマンドでは
.B \-r
オプションを単体で使用するとデフォルト枝の最新のリビジョンを指定します。
しかし、
.B ci
ではロック解除、ワークファイル削除を行い、
シェルのエイリアスやスクリプトによりデフォルトとされてしまった
.B \-l
.B \-u
オプションの効果を打ち消します。
.TP
.BR \-l [\f2rev\fP]
.B \-r
と同様の動作を行ったあと、
.B "co\ \-l"
と同様の動作も行います。
すなわち、登録されたリビジョンは即座にロックされ、チェックアウトされます。
これは、リビジョンをチェックインしてさらに編集を続けたい場合に便利です。
.TP
.BR \-u [\f2rev\fP]
.B \-l
とほぼ同様の動作をしますが、登録されたリビジョンはロックされません。
これは、チェックインしたリビジョンの内容をすぐに参照したい場合に便利です。
.RS
.PP
.BR \-l
、リビジョン無し
.BR \-r ,
.B \-u
オプションは、最後に指定したもののみが効力を持ちます。
たとえば、
.B "ci\ \-u\ \-r"
.B "ci\ \-r"
と等価です。
リビジョン無し
.B \-r
.B \-u
に優先するからです。
.RE
.TP
.BR \-f [\f2rev\fP]
強制的に登録します。
直前のリビジョンとの違いがない場合にも、
新しいリビジョンとして登録します。
.TP
.BR \-k [\f2rev\fP]
リビジョン番号などをローカルに算出せずに、
ワークファイルからキーワードを探し、
リビジョン番号、作成日時、状態、作者(
.BR co (1)
を参照)を検索し、登録されるリビジョンに割り当てます。
さらに、
.B ci
を起動したユーザ名と実際にチェックインされた日付を含む
デフォルトのログメッセージを作成します。
本オプションは、配布されたソフトウェアを登録するのに便利です。
複数のサイトに配布されたリビジョンは、
元のリビジョン番号、作成日付、状態、作者を保存するために、
.B \-k
オプションを使って登録するべきです。
ワークファイルのキーワードから取り出した値とログメッセージは、
.BR \-d ,
.BR \-m ,
.BR \-s ,
.B \-w
や、他のリビジョン番号を生成するようなオプションにより
変更することができます。
.TP
.BR \-q [\f2rev\fP]
沈黙モードです。
診断メッセージを表示しません。
直前のリビジョンから変更がない場合、
.B \-f
オプションを指定していなければ、登録を行いません。
.TP
.BR \-i [\f2rev\fP]
最初のチェックイン; \*r ファイルが既に有る時にはエラー報告します。
特定のアプリケーションのレース状態を避けます。
.TP
.BR \-j [\f2rev\fP]
初期化を行わず、チェックインします;
\*r ファイルが無いとエラー報告します。
.TP
.BR \-I [\f2rev\fP]
対話モードで動作します。
たとえ標準入力が端末でなくても、ユーザに対して問い合わせを行います。
.TP
.BR \-d "[\f2date\fP]"
チェックイン日付として指定された
.I date
を用います。
.I date
.BR co (1)
で記述された自由形式で指定することができます。
これは、チェックイン日時をごまかしたい場合や、
日付キーワードがワークファイルにないにもかかわらず
.B \-k
オプションを使いたい場合に便利です。
.I date
が指定されなかった場合、ワークファイルの最終更新日付が用いられます。
.TP
.BR \-M [\f2rev\fP]
作成されるワークファイルの最終更新日付を、
取り出されたリビジョンの日付にします。
たとえば、
.BI "ci\ \-d\ \-M\ \-u" "\ f"
は、
.I f
の内容がキーワード置換により変更された場合も最終更新日時を変更しません。
本オプションを指定すると
.BR make (1)
に影響を与えるので、注意して使用する必要があります。
.TP
.BI \-m "msg"
チェックインするすべてのリビジョンのログメッセージとして
.I msg
を用います。
慣習的に
.B #
で始まるログメッセージはコメントであり、GNU Emacs の
.B vc
パッケージのようなプログラムはこれを無視します。
また、
.BI { clumpname }
(の後に空白が続く)ログメッセージは可能であればまとめられることを意味します。
それはたとえ別々のファイルに関連づけられていてもです;
.BI { clumpname }
ラベルは、まとめる目的でのみ使用されます。
それ自身はログメッセージであるとは見なされません。
.TP
.BI \-n "name"
チェックインしたリビジョンにシンボリック名
.I name
をつけます。
もし同じシンボリック名が別のリビジョンに割り当てられていた場合、
.B ci
はエラーメッセージを出力します。
.TP
.BI \-N "name"
.B -n
と同様の動作を行います。
ただし、同じシンボリック名が他のリビジョンに割り当てられていた場合は、
再割り当てを行います(こちらを優先します)。
.TP
.BI \-s "state"
チェックインされるリビジョンの状態を
.I state
とします。デフォルトは
.B Exp
(Experimental: 実験的)です。
.TP
.BI \-t file
\*r ファイル中の内容記述テキストをファイル
.I file
の内容で置き換えます。
すでに内容記述テキストがある場合はこれを削除します。ファイル名
.I file
.B \-
で始まってはいけません。
.TP
.BI \-t\- string
\*r ファイル中の内容記述テキストを文字列
.I string
で置き換えます。
すでに内容記述テキストがある場合は削除されます。
.RS
.PP
.B \-t
オプションは、どちらの形式で使う場合も、
最初のチェックイン時にしか意味を持ちません。
それ以外の場合は単に無視されます。
.PP
最初のチェックイン時に
.B \-t
オプションが指定されなかった場合、
.B ci
は標準
入力から内容記述テキストを読み込みます。
テキストは、ファイル終端(EOF)あるいはピリオド(
.Br \&.
)のみの行で終了します。
ユーザへの問い合わせが可能な場合には、
テキストの入力を促すプロンプトが表示されます(
.B \-I
オプション参照)。
.PP
旧バージョンとの互換性のため、引数のない
.B \-t
オプションは無視されます。
.RE
.TP
.B \-T
新しいリビジョンが存在し、
\*r ファイルの修正時刻が新しいリビジョンの時刻よりも古ければ、
\*r ファイルの修正時刻に対して新しいリビジョンの時刻を代入します;
そうでない場合は \*r ファイルの修正時刻は保たれます。
リビジョンをロックした場合は、
.B ci
は通常 \*r ファイルの修正時刻を現在の時刻に設定します。
なぜならロックが \*r ファイルに格納され、
ロックの削除は \*r ファイルの変更を要するからです。
\*r ファイルがワークファイルよりも新しくなる方法として 2 通り有ります:
まず、
.B "ci\ \-M"
は現在時刻以前の日付でワークファイルを作成します;
2 番目に、直前のバージョンを回復する時、
ワークファイルを変更しない場合にも \*r ファイルは変更され得ます。
\*r ファイルのワークファイルにおける
.BR make (1)
依存により、上記 2 ケースは過剰の再コンパイルという結果になり得ます。
.B \-T
オプションを使用することで、\*r ファイルの日付をごまかし、
再コンパイルを禁止します。
このオプションは注意して使って下さい;
あるワークファイルのチェックインが、
同じ \*r ファイルに関連づけられている別のワークファイルに影響を及ぼすべき
時でも、再コンパイルを抑制し得ます。
例えば、\*r ファイルの時刻を 01:00、
(変更された) ワークファイルの時刻を 02:00、
別のワークファイルのコピーの時刻を 03:00、
現在の時刻を 04:00 とします。
ここで、
.B "ci\ \-d\ \-T"
とすると、\*r ファイルの時刻は通常の 04:00 ではなく 02:00 になります;
この結果、
.BR make (1)
は別のコピーが \*r ファイルよりも新しいと(誤って)認識します。
.TP
.BI \-w "login"
指定された
.I login
をリビジョンの作者として登録します。
作者名をごまかしたい場合や、
作者キーワードがワークファイルにないにもかかわらず
.B -k
オプションを使いたい場合に便利です。
.BI \-V
\*r のリビジョン番号を表示します。
.TP
.BI \-V n
\*r システムのバージョン
.I n
のエミュレーションを行います。詳細は
.BR co (1)
を参照してください。
.TP
.BI \-x "suffixes"
\*r ファイルの拡張子を指定します。
拡張子が空ではない場合、
拡張子まで含めたすべてのパス名を \*r ファイル名であるとみなします。
拡張子が空の場合は、
.BI RCS/ path
または
.IB path1 /RCS/ path2
形式のものを \*r ファイル名であるとみなします。
本オプションの場合、
.B /
で区切ることにより、複数の拡張子を指定できます。たとえば、
.B \-x,v/
は、
.B ,v
と空の拡張子の 2 つの拡張子を持つ \*r ファイルを指定します。
複数の拡張子が指定された場合、指定された順に \*r ファイルを検索します。
最初に見つかったサフィックスが \*r ファイルに対して用いられます。
\*r ファイルを生成できるが、 \*r ファイルが見つからないときは、
これらのサフィックスを新しいファイル名に対して用います。
デフォルトの拡張子は、インストールされる環境により異なります。
UNIXのようなコンマをファイル名中に含めることの出来る計算機では、通常
.B \-x,v/
が、それ以外の計算機では空の拡張子が用いられます。
.TP
.BI \-z zone
キーワード置換での日付の出力書式の指定を行い、また、
.BI \-d date
オプションでの
.I date
のデフォルトのタイムゾーンの指定を行います。
.I zone
は、省略する事も、UTC からの数値差で指定する事も、特別な文字列
.B LT
を使ってローカル時間で指定する事もできます。
デフォルトでは
.I zone
は空であり、
この場合は伝統的な \*r フォーマット、
すなわちタイムゾーン無しの \*u であり日付をスラッシュで区切ります;
そうでない場合は時刻はタイムゾーン付の \*i 8601 フォーマットです。
例えば、ローカルタイムが 1990 年 1 月 11 日 太平洋標準時間
(\*u の 8 時間西)午後 8 時の場合、時間の出力は次のようになります:
.RS
.LP
.RS
.nf
.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u
.ne 4
\f2オプション\fP\f2時刻の出力\fP
\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(デフォルト)\fP
\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP
\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP
.ta 4n +4n +4n +4n
.fi
.RE
.LP
.B \-z
オプションは \*r ファイルに格納されている日付(常に \*u です)には影響しません。
.SH "ファイル名規則"
\*r ファイルとワークファイルの組合せは3通りの方法で指定することができます。
(使用例の項目も参照してください。)
.PP
1) \*r ファイルとワークファイルの両方を指定する。
\*r ファイルのパス名は
.IB path1 / workfileX
形式、ワークファイルのパス名は
.IB path2 / workfile
形式をとります。この場合の
.IB path1 /
.IB path2 /
はパス(異なるパスや、空でも可)を示し、
.I workfile
はファイル名、
.I X
は \*r ファイルの拡張子です。もし
.I X
が空なら、
.IB path1 /
.B RCS/
で始まるか、
.B /RCS/
を含まねばなりません。
.PP
2) \*r ファイルのみを指定する。
ワークファイルがカレントディレクトリに作成され、\*r ファイル名から
.IB path1 /
と拡張子
.I X
を取り除いたファイル名になります。
.PP
3) ワークファイルのみを指定する。
.B ci
はまず、各 \*r 拡張子
.I X
に対して、
.IB path2 /RCS/ workfileX
形式の名前で検索を行います。
さらに、(もしこれが見つからず、
.I X
が空でなければ、)
.IB path2 / workfileX
を検索します。
.PP
1) または 2) の方法で \*r ファイルが指定されていない場合、
.I ci
はまずディレクトリ
.B ./RCS
を検索し、次にカレントディレクトリを検索します。
.PP
異常により \*r ファイルのオープンに失敗すると、
.I ci
はエラー報告します。
他に \*r ファイルのパス名の候補があってもです。
たとえばディレクトリ
.I d
で \*r コマンドを利用できないようにするには、
.IB d /RCS
なる名前の通常ファイルを作成しておきます。
すると、\*r コマンドは
.IB d /RCS
をディレクトリとしてオープンしようとしますが、
ディレクトリではないのでオープンすることができず失敗します。
.SH 使用例
\*r 拡張子が
.B ,v
、カレントディレクトリには \*r ファイルを含む
.B RCS
というサブディレクトリがあり、
.B io.c,v
があると仮定します。
ここで、以下に示したコマンドを実行すると、
どれもカレントディレクトリにある
.B io.c
.B RCS/io.c,v
にチェックインし、
.B io.c
を削除します。
.LP
.RS
.nf
.ft 3
ci io.c; ci RCS/io.c,v; ci io.c,v;
ci io.c RCS/io.c,v; ci io.c io.c,v;
ci RCS/io.c,v io.c; ci io.c,v io.c;
.ft
.fi
.RE
.PP
\*r 拡張子が空、カレントディレクトリには \*r ファイルを含む
.B RCS
というサブディレクトリがあり、
.B io.c
があると仮定します。ここで以下に示すコマンドは、どれも新しい
リビジョンのチェックインを行います。
.LP
.RS
.nf
.ft 3
ci io.c; ci RCS/io.c;
ci io.c RCS/io.c;
ci RCS/io.c io.c;
.ft
.fi
.RE
.SH "ファイルモード"
.B ci
が作成した \*r ファイルは、
ワークファイルの読み込みと実行の許可属性を受け継ぎます。
すでに \*r ファイルが存在すれば、
.B ci
はその読み込みと実行の許可属性を保持します。
.B ci
は、つねに \*r ファイルの書き込み許可属性を不許可にします。
.SH 関連ファイル
いくつかの一時ファイルが、ワークファイルの存在するディレクトリまたは
一時ディレクトリ(環境変数の項の
.B \s-1TMPDIR\s0
参照)に作成されます。
セマフォファイル等のファイルが
\*r ファイルが存在するディレクトリに作成されます。
空ではない拡張子を用いている場合、
セマフォファイル名の先頭文字には、
拡張子の先頭文字と同じ文字が用いられます;
よって、拡張子として、ワークファイルの拡張子の先頭文字と同じ文字を
指定しないように注意してください。
空の拡張子を指定している場合、
セマフォファイル名の最後の文字がアンダースコア(
.B _
) となります。
.PP
.B ci
は、 \*r ファイルやワークファイルを変更しません。通常
.B ci
はそれらのファイルをアンリンクし、新しいファイルを作成します;
ただし、\*r ファイルへのシンボリックリンクの鎖を壊す代わりに、
目的のファイルをアンリンクします。
よって、
.B ci
は変更されるワークファイルへの
ハードリンク、シンボリックリンクを全て壊します;
さらに、\*r ファイルへのハードリンクは無効となり、
シンボリックリンクは保存されます。
.PP
実効ユーザは、\*r ファイルを含むディレクトリの
検索および書き込み権を持っていなければなりません。
通常実ユーザは、 \*r ファイルとワークファイルの読み込み許可と、
それらを含むディレクトリの検索および書き込み権を持っていなければなりません。
しかし、古い計算機のなかには実ユーザと実効ユーザの間を
容易に行き来することができないものもあります。
これらの計算機では、実効ユーザのみが利用されます。
.B ci
.B co
のコピーに setuid が設定されていなければ、
実ユーザと実効ユーザは同一です。
次節で説明するように、
もし実効ユーザが全 \*r ファイルとそれを含むディレクトリを所有し、
実効ユーザのみが \*r ディレクトリに書き込めるように設定できるなら、
\*r ファイルのセキュリティを強化することが可能です。
.PP
ユーザは \*r ファイルを含むディレクトリの許可属性を変更することで、
\*r ファイルに対するアクセスを制限できます;
そのディレクトリに書き込み権のあるユーザだけが、
\*r ファイルを変更する \*r コマンドを使用することができます。
たとえば、ユーザが複数のグループに属することが出来る計算機では、
\*r ディレクトリをあるグループのみが書き込み権を持つように設定します。
これは、略式のプロジェクトでは十分ですが、
グループに所属するユーザが自由に \*r ファイルを変更することができ、
\*r ファイルすべてを削除することもできます。
そのため、正式なプロジェクトでは、
\*r ファイルを自由に操作きる \*r 管理者と、
新たなリビジョンをチェックインすること以外の操作はできない他のユーザとを、
区別することがあります。
.SH SETUID の使用
\*r 管理者以外のユーザがリビジョンを削除できないようにするには、
以下のように setuid 特権を使用することができます。
.nr n \w'\(bu'+2n-1/1n
.ds n \nn
.if \n(.g .if r an-tag-sep .ds n \w'\(bu'u+\n[an-tag-sep]u
.IP \(bu \*n
その計算機で \*r にて setuid が使用できるか確認します。
疑問があるときは、信頼できる専門家に意見を聞いてください。
最も良いのは、
.B seteuid()
システムコールが Posix 1003.1a Draft 5 に
記述されているように動作することです。
なぜなら、実ユーザが
.BR root
であっても、\*r は実ユーザと実行ユーザを簡単に切替えることができるからです。
その次に良いのは、
.B setuid()
システムコールが saved setuid
(Posix 1003.1-1990の {\s-1_POSIX_SAVED_IDS\s0} の動作)を
サポートしている場合です;
この場合、実ユーザもしくは実効ユーザが
.BR root
である時のみ失敗します。
\*r は setuid に失敗すると、ただちに終了します。
.IP \(bu \nn
ユーザグループの \*r 管理者として、ユーザ
.I A
を選びます。
.I A
だけが、\*r ファイルに対して
.B rcs
コマンドを実行することができます。
.I A
.B root
や、特権を持ったユーザであってはいけません。
相互に異なるユーザグループには、異なる管理者を使用するべきです。
.IP \(bu \nn
ユーザが実行するファイルのディレクトリに、パス名
.I B
を選びます。
.IP \(bu \nn
以下のように、通常のインストールディレクトリ
.I D
から、
.B ci
.B co
.I B
にコピーし、
.I A
へ setuid します:
.LP
.RS
.nf
.ne 3
\f3mkdir\fP \f2B\fP
\f3cp\fP \f2D\fP\^\f3/c[io]\fP \f2B\fP
\f3chmod go\-w,u+s\fP \f2B\fP\f3/c[io]\fP
.fi
.RE
.IP \(bu \nn
以下のように、各ユーザのパスに
.I B
を加えます:
.LP
.RS
.nf
.ne 2
\f3PATH=\fP\f2B\fP\f3:$PATH; export PATH\fP # ordinary shell
\f3set path=(\fP\f2B\fP \f3$path)\fP # C shell
.fi
.RE
.IP \(bu \nn
以下のように、
.I A
だけが書き込み許可を持つ \*r ディレクトリ
.I R
を作成します:
.LP
.RS
.nf
.ne 2
\f3mkdir\fP \f2R\fP
\f3chmod go\-w\fP \f2R\fP
.fi
.RE
.IP \(bu \nn
特定のユザーだけに \*r ファイルの読み込みを許可したい場合、
そのユーザをユーザグループ
.IR G
に入れて、さらに
.I A
が以下のように、\*r ディレクトリを保護します:
.LP
.RS
.nf
.ne 2
\f3chgrp\fP \f2G R\fP
\f3chmod g\-w,o\-rwx\fP \f2R\fP
.fi
.RE
.IP \(bu \nn
(存在すれば)古い \*r ファイルを
.IR R
にコピーし、
.I A
が所有であることを保証します。
.IP \(bu \nn
\*r ファイルのアクセスリストは、
リビジョンをチェックインおよびロックできるユーザを制限します。
デフォルトのアクセスリストは空で、
\*r ファイルを読むことのできる全てのユーザに、登録の権限を与えます。
チェックインを制限したい場合は、
.I A
がそのファイルに対して
.B "rcs\ \-a"
を実行します;
.BR rcs (1)
を参照してください。
特に
.BI "rcs\ \-e\ \-a" A
は、
.IR A
だけにアクセスを制限します。
.IP \(bu \nn
初めてチェックインを行う前に、
.I A
.B "rcs\ \-i"
によって新しい \*r ファイルを初期化します。
チェックインを制限したい場合、
.B \-a
オプションを付け加えます。
.IP \(bu \nn
setuid 特権は、
.BR ci ,
.BR co ,
.BR rcsclean
のみに与えます;
.B rcs
や他のコマンドに、setuid 特権を与えてはなりません。
.IP \(bu \nn
\*r コマンドに対して、他の setuid コマンドを実行しないでください。
setuid はあなたが考えるより扱いにくいものです。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
本変数に空白で区切ったオプションを設定することで、
コマンドライン引数に先立って処理されます。
空白はバックスラッシュによってエスケープすることができます。
.B \s-1RCSINIT\s0
はほとんどの \*r コマンドで参照されます。特に
.BR \-q ,
.BR \-V ,
.BR \-x ,
.B \-z
オプションを指定しておくと便利です。
.TP
.B \s-1TMPDIR\s0
一時ディレクトリ名を指定します。
設定されていない場合は、環境変数
.B \s-1TMP\s0
.B \s-1TEMP\s0
とを調べ、始めに見つかった値を用います;
どれも設定されていない場合は、
計算機依存のデフォルトのディレクトリ(たいていは
.B /tmp
)を使用します。
.SH 診断
各リビジョンに対して、
.I ci
は \*r ファイル名、ワークファイル名、追加するリビジョン番号、直前の
リビジョン番号を表示します。全ての処理が成功した場合のみ、
終了ステータスが 0 になります。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 by Paul Eggert.
.SH 関連項目
co(1),
ident(1), make(1), rcs(1), rcsclean(1), rcsdiff(1),
rcsintro(1), rcsmerge(1), rlog(1), setuid(2), rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.br
diff --git a/ja_JP.eucJP/man/man1/cksum.1 b/ja_JP.eucJP/man/man1/cksum.1
index 8e0f6ac345..d868b2cbca 100644
--- a/ja_JP.eucJP/man/man1/cksum.1
+++ b/ja_JP.eucJP/man/man1/cksum.1
@@ -1,188 +1,188 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)cksum.1 8.2 (Berkeley) 4/28/95
-.\" %Id: cksum.1,v 1.1.1.1.8.6 1997/11/09 16:11:13 obrien Exp %
+.\" %Id: cksum.1,v 1.7 1997/11/09 16:08:11 obrien Exp %
.\" jpman %Id: cksum.1,v 1.4 1997/08/10 18:27:42 horikawa Stab %
.\"
.Dd April 28, 1995
.Dt CKSUM 1
.Os BSD 4.4
.Sh 名称
.Nm cksum
.Nd ファイルのチェックサムとブロックカウントを表示する
.Sh 書式
.Oo
.Fl o Ar \&1 Xo
.No \&|
.Ar \&2
.No \&|
.Ar \&3
.Xc
.Oc
.Op Ar file ...
.Nm sum
.Op Ar file ...
.Sh 解説
.Nm cksum
ユーティリティは、各入力ファイルに対して、
空白で区切られた 3 つのフィールドを標準出力に出力します。
これら 3 フィールドはそれぞれ、
チェックサム
.Tn CRC
、ファイル中のオクテット数、そしてファイル名です。
ファイルが一つも指定されない場合は標準入力が用いられ、
ファイル名は表示されません。
.Pp
.Nm sum
ユーティリティは
.Nm cksum
ユーティリティと同じですが、
以降で解説するデフォルトで歴史的アルゴリズム 1 を使用する点が異なります。
互換性のためだけに提供されています。
.Pp
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl o
デフォルトの(より優れた)アルゴリズムに代えて、
歴史的なアルゴリズムを用います。
.Pp
アルゴリズム 1 は
.Xr sum 1
のアルゴリズムとして歴史的な
.Bx
システムにおいて、また、
.Fl r
オプション付きで用いる場合の
.Xr sum
アルゴリズムとして歴史的な
.At V
システムにおいて用いられてきたものです。
これは加算のたびに右ローテーションを行う 16 ビットチェックサムであり、
算出あふれは無視されます。
.Pp
アルゴリズム 2 はデフォルトの
.Xr sum
アルゴリズムとして歴史的な
.At V
システムで用いられてきたものです。
これは 32 ビットのチェックサムであり、以下のように定義されます:
.Bd -unfilled -offset indent
s = sum of all bytes;
r = s % 2^16 + (s % 2^32) / 2^16;
cksum = (r % 2^16) + r / 2^16;
.Ed
.Pp
アルゴリズム 3 は一般に
.Ql 32bit CRC
アルゴリズムと呼ばれているものです。これは 32-bit チェックサムです。
.Pp
アルゴリズム 1, 2 のいずれも、デフォルトアルゴリズムと同じフィールドを
標準出力に書き出します。
ただし、ファイルサイズはバイト単位ではなくブロック単位となります。
歴史的理由から、アルゴリズム 1 ではブロックサイズは 1024、
アルゴリズム 2 では 512 となっています。
ブロックに満たない部分は切り上げられます。
.El
.Pp
デフォルトで用いられる
.Tn CRC
は、
ネットワークの規格
.St -iso8802-3
における
.Tn CRC
エラーチェックに用いられる多項式に基づいています。
.Tn CRC
チェックサムエンコーディングは、次の生成多項式で定義されます:
.Pp
.Bd -unfilled -offset indent
G(x) = x^32 + x^26 + x^23 + x^22 + x^16 + x^12 +
x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1
.Ed
.Pp
数学的には、与えられたファイルに対応する
.Tn CRC
値は次の手順で定義されます。
.Bd -filled -offset indent
評価される
.Ar n
ビットは、2 を法とする
.Ar n Ns \-1
次多項式 M(x) の係数とみなされます。
これらの
.Ar n
ビットはファイルから得られますが、
ファイルの最初のオクテットの最上位ビットを最上位、
最後のオクテットの最下位ビットを最下位とします。
(必要なら)ゼロビットを埋めてオクテット単位に取りまとめ、
ファイルの長さをバイナリ値で表現した 1 個あるいは
それ以上のオクテット(最下位オクテットが先)がそれに続きます。
この整数を表現可能な最小個数のオクテットが用いられます。
.Pp
M(x) は x^32 倍(すなわち 32 ビットの左シフト)し、
2 を法として G(x) で割ります。
その結果 31 次以下の剰余 R(x) が得られます。
.Pp
R(x) の係数は 32 ビットのビット列と見なされます。
.Pp
そのビット列を反転した結果が CRC です。
.Ed
.Pp
.Nm cksum
および
.Nm sum
ユーティリティは成功時には 0 を、エラー発生時には正の値を返します。
.Sh 関連項目
.Xr md5 1
.Rs
デフォルトの計算方法は、次の
.Tn ACM
論文で疑似コードを用いて記述されているものと等価です。
.Rs
.%T "Computation of Cyclic Redundancy Checks Via Table Lookup"
.%A Dilip V. Sarwate
.%J "Communications of the \\*(tNACM\\*(sP"
.%D "August 1988"
.Re
.Sh 規格
.Nm cksum
ユーティリティは
.St -p1003.2-92
を満していると考えられています。
.Sh 歴史
.Nm cksum
ユーティリティは
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/cmp.1 b/ja_JP.eucJP/man/man1/cmp.1
index 8f5ad873ad..0e4c9e1c90 100644
--- a/ja_JP.eucJP/man/man1/cmp.1
+++ b/ja_JP.eucJP/man/man1/cmp.1
@@ -1,111 +1,111 @@
.\" Copyright (c) 1987, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)cmp.1 8.1 (Berkeley) 6/6/93
-.\" %Id: cmp.1,v 1.2.2.2 1998/05/26 00:40:10 steve Exp %
+.\" %Id: cmp.1,v 1.6 1998/05/26 00:39:12 steve Exp %
.\" jpman %Id: cmp.1,v 1.2 1997/03/26 15:40:44 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt CMP 1
.Os
.Sh 名称
.Nm cmp
.Nd 2 つのファイルを比較する
.Sh 書式
.Nm cmp
.Op Fl l | Fl s
.Ar file1 file2
.Op Ar skip1 Op Ar skip2
.Sh 解説
.Nm cmp
ユーティリティは、2つのファイル内容を比較して、その結果を標準出力に出力します。
ファイル内容が一致していれば、デフォルトでは
.Nm cmp
は何も表示しません。ファイル内容に違いがあった場合は、最初に
違いが見つかった場所の、
バイト位置と行番号を出力します。
.Pp
バイト位置と行番号は、1 から数え始めます。
.Pp
オプションは以下のものがあります:
.Bl -tag -width Ds
.It Fl l
全ての違いに対し、
違いのあった場所のファイル先頭からのバイト位置 (10進数表現) と、
各々のファイル中の値 (8進数表現) を表示します。
.It Fl s
何も表示しないようにします。結果は終了コードにのみ反映されます。
.El
.Pp
.Ar file1
.Ar file2 ,
の開始バイト位置を
.Ar skip1
.Ar skip2
を使って、各々指定して比較することができます。
この値は 10 進数表記がデフォルトで、先頭に ``0x'' か ``0'' があると、
16 進数や 8 進数表現と解釈されます。
.Pp
.Nm cmp
は、戻り値として以下の値のうちの一つをとります:
.Bl -tag -width 4n
.It 0
ファイル内容が一致した。
.It 1
ファイル内容に違いがあったか、どちらかのファイルが先に
ファイルエンドに達した。
後者の場合、
.Fl s
オプションが指定されていない場合には、
.Nm cmp
は、短い方のファイルで(違いが見付かる前に)
EOF に到達したことを標準エラー出力に出力します。
.It >1
エラーが起きた。
.El
.Sh 関連項目
.Xr diff 1 ,
.Xr diff3 1
.Sh 規格
.Nm cmp
.St -p1003.2
準拠です。
.Sh 歴史
.Nm cmp
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/co.1 b/ja_JP.eucJP/man/man1/co.1
index 0e4b4e8b6f..942e1564b0 100644
--- a/ja_JP.eucJP/man/man1/co.1
+++ b/ja_JP.eucJP/man/man1/co.1
@@ -1,743 +1,743 @@
.\" jpman %Id: co.1,v 1.2 1997/06/01 11:30:43 horikawa Stab %
.de Id
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: co.1,v 1.3 1995/10/28 21:49:11 peter Exp %
+.Id %Id: co.1,v 1.5 1997/02/22 15:47:21 peter Exp %
.ds i \&\s-1ISO\s0
.ds r \&\s-1RCS\s0
.ds u \&\s-1UTC\s0
.if n .ds - \%--
.if t .ds - \(em
.TH CO 1 \*(Dt GNU
.SH 名称
co \- RCS ファイルからリビジョンをチェックアウトする
.SH 書式
.B co
.RI [ options ] " file " .\|.\|.
.SH 解説
.B co
は、各 \*r ファイルからリビジョンを取り出し、
対応したワークファイルに格納します。
.PP
\*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、
その他のファイル名はワークファイルであるとみなします。
ファイル名の対応に関しては、
.BR ci (1)
を参照してください。
.PP
\*r ファイルのリビジョンは、ロックしてもしなくともチェックアウトできます。
リビジョンをロックすることにより、
同時に複数の更新が行われることを防止します。
内容を表示したり、読むだけの処理(たとえば、コンパイル)で用いたりする場合は
ロックする必要はありません。
編集し後にチェックインするつもりで \*r ファイルから取り出す場合は、
通常、ロックしなければなりません。
他のユーザによってロックされているリビジョンを
ロックしてチェックアウトしようとするとエラーになります(ロックは
.BR rcs (1)
によって解除することができます)。
更に、リビジョンをロックしてチェックアウトするには、
チェックアウトする人が \*r ファイルのアクセスリストに登録されているか、
そのファイルの所有者もしくはスーパユーザであるか、
アクセスリストが空である必要が有ります。
ロックしないで取り出す場合は、
アクセスリストや他人のロックに影響されることはありません。
.PP
取り出されるリビジョンを、リビジョン番号、枝番号、
チェックイン日時、作者、状態によって指定するオプションが存在します。
複数のオプションが組み合わされて指定された場合、
.B co
はすべての条件に合致するリビジョンのうちで最新のものを取り出します。
リビジョン指定オプションが指定されなかった場合、
.B co
は、デフォルト枝(通常は幹:
.BR rcs (1)
.B \-b
オプションの項を参照)の最新のリビジョンを取り出します。
リビジョン番号あるいは枝番号は、
以下のオプションを使って指定することができます:
.BR \-f ,
.BR \-I ,
.BR \-l ,
.BR \-M ,
.BR \-p ,
.BR \-q ,
.BR \-r ,
.B \-u
オプション
.B \-d
(日時)、
.B \-s
(状態)、
.B \-w
(作者)は、単一の枝から取り出します。
この枝は
.I 選択された
枝であり、
.BR \-f ,
\&.\|.\|.,
.B \-u
オプションもしくはデフォルト枝により指定されます。
.PP
リビジョンを 1 つも持たない \*r ファイルに対して
.B co
コマンドを適用すると、長さ 0 のワークファイルが作成されます。
.B co
は、つねにキーワード置換を行います
(下記参照)。
.SH オプション
.TP
.BR \-r [\f2rev\fP]
リビジョン番号
.I rev
以前(
.I rev
と同じものも含む)で最新のリビジョンを取り出します。
.I rev
がリビジョンではなく枝を指定している場合、その枝上の最新
のリビジョンが取り出されます。
.I rev
が省略された場合、デフォルト枝
(
.BR rcs (1)
.B \-b
オプションの項を参照)の最新のリビジョンが取り出されます。
.I rev
.B $
の場合、
.B co
はリビジョン番号をワークファイルのキーワードから
取り出します。これら以外の場合、
.I rev
はリビジョンを示すピリオドで区切られた数字またはシンボルの列です。
.I rev
がピリオドで始まる場合、デフォルトの枝(通常は幹)が設定されます。
.I rev
がピリオドを後ろに付けた枝番号であるならば、
その枝の最新のリビジョンが使われます。
シンボルは、
.BR ci (1)
.BR rcs (1)
によりリビジョン番号と結びつけることができます。
.TP
.BR \-l [\f2rev\fP]
.B \-r
と同様の動作ですが、取り出したリビジョンを呼び出したユーザにてロックします。
.TP
.BR \-u [\f2rev\fP]
.B \-r
と同様の動作ですが、取り出したリビジョンが呼び出したユーザによって
ロックされていたならば、そのロックを解除します。
.I rev
が省略された場合、
.B co
を起動したユーザがロックしたリビジョンが 1 つあれば、
そのリビジョンを取り出します;
そうでなければ、デフォルト枝の最新のリビジョンを取り出します。
.TP
.BR \-f [\f2rev\fP]
ワークファイルの上書きを強制します;
後述の
.B \-q
オプションを使用する場合、いっしょに
.B \-f
オプションも
指定すると便利な場合があります。
.SM "ファイルモード"
の項も参照してください。
.TP
.B \-kkv
ワークファイルにデフォルト形式のキーワード文字列を埋め込みます。たとえば、
キーワード
.B Revision
に対しては、文字列
.B "$\&Revision: \*(Rv $"
を生成します。
.B "ci\ \-l"
.B "co\ \-l"
でファイルがロックされる時のみ、
.BR Header ,
.BR Id ,
.B Locker
キーワードにロック者名を挿入します。これがデフォルトの動作です。
.TP
.B \-kkvl
.B \-kkv
とほぼ同様ですが、指定されたリビジョンがロックされていた場合にはいつも、
ロック者名を挿入します。
.TP
.BR \-kk
キーワード文字列中のキーワード名のみの文字列を生成し、値は省略します。
後述の
.SM "キーワード置換"
を参照して下さい。
たとえば、キーワード
Revision に対しては、通常の
.B "$\&Revision: \*(Rv $"
のかわりに、
.B "$\&Revision$"
を生成します。これは、異なるリビジョンの内容を比較する場合、キーワード
値の違いを無視できるので、便利です。
.B -kk
が指定されても、キーワード
.B "$\&Log$"
の後にはログメッセージが挿入されます。これはリビジョンを統合する変更に、
より便利であることを意図しています。
.TP
.BR \-ko
チェックインされる前の
ワークファイル中のキーワード文字列をそのまま出力します。たとえば、
キーワード
.B "$\&Revision$"
に対しては、
チェックインされる前に展開されていた文字列
.B "$\&Revision: 1.1 $"
が、
.B "$\&Revision: \*(Rv $"
の代わりに展開されます。
キーワード文字列の形式を取るバイト列が置換されてしまっては困るような
場合(訳注:バイナリファイル等)に便利でしょう。
.TP
.BR \-kb
元のキーワード文字列のバイナリイメージを生成します。これは、
.B \-ko
とほぼ同じですが、入出力する全てのワークファイルをバイナリモードで
扱う点が違います。これは、Posix と Unix のホスト間ではたいした違いでは
ありません。が、DOS のようなシステムではバイナリファイルを扱う場合、
\*r ファイルの初期化には
.B rcs \-i \-kb
を使わねばならないでしょう。
また、全ての環境において、
.BR rcsmerge(1)
は通常、
.B \-kb
が働いている場合はファイルの統合を受け付けません。
.TP
.BR \-kv
キーワード文字列としてキーワード値のみを生成します。たとえば、キーワード
.B Revision
に対して、通常の
.B "$\&Revision: \*(Rv $"
のかわりに
.B \*(Rv
を生成します。
これは、キーワード文字列から
.B "$\&Revision: $"
のようなキーワード区切りを取
り除くことが困難なプログラミング言語用のファイル等を生成するために
使用します。しかしながら、キーワード名が取り除かれてしまうと、それ以降に
キーワード置換を行うことができないので、注意が必要です。
キーワードを失うことはこのように危険であるため、本オプションを
.B \-l
オプションと組み合わせて使うことはできません。また、ワークファイルの
書き込み権はオフになります;
後でワークファイルを編集する場合は、
.B \-kv
オプションを指定せずにワークファイルを取り出してから行います。
.TP
.BR \-p [\f2rev\fP]
ワークファイルに格納する代わりに、
対象となるリビジョンを標準出力に書き出します。
.B co
をパイプの一部として使用する場合に便利です。
.TP
.BR \-q [\f2rev\fP]
静かなモード; 診断メッセージを表示しません。
.TP
.BR \-I [\f2rev\fP]
対話モード; たとえ標準入力が端末でなくても、ユーザに対して
問い合わせを行います。
.TP
.BI \-d date
選択された枝上の、
.I date
以前の登録日付を持つ、最新のリビジョンを取り出します。
日付と時刻は自由形式で指定します。タイムゾーンとして
.B LT
を指定することにより、ローカルタイムを使用することができます;
他の一般的なタイムゾーンも使用することができます。
たとえば、以下に挙げるいくつかの
.I date
指定は、
太平洋標準時における 1990 年 1 月 11 日午後 8 時と同時刻を示します
(太平洋標準時は標準時 (\*u) よりも 8 時間遅れです)。
.RS
.LP
.RS
.nf
.ta \w'\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP 'u
.ne 9
\f38:00 pm lt\fP
\f34:00 AM, Jan. 12, 1990\fP デフォルトは \*u
\f31990-01-12 04:00:00+00\fP \*i 8601 (\*u)
\f31990-01-11 20:00:00\-08\fP \*i 8601 (ローカル時刻)
\f31990/01/12 04:00:00\fP 伝統的 \*r 形式
\f3Thu Jan 11 20:00:00 1990 LT\fP \f3ctime\fP(3) + \f3LT\fP出力
\f3Thu Jan 11 20:00:00 PST 1990\fP \f3date\fP(1)出力
\f3Fri Jan 12 04:00:00 GMT 1990\fP
\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP インターネット RFC 822
\f312-January-1990, 04:00 WET\fP
.ta 4n +4n +4n +4n
.fi
.RE
.LP
ほとんどの日付の項目にはデフォルト値があります。
デフォルトのタイムゾーンは \*u です。
これは
.B \-z
オプションにて優先指定することが出来ます。
他のデフォルト値は、年、月、日、時、分、秒 の順番で決定されます。
これらの項目のうち、少なくとも 1 つが指定されなければいけません。
指定のある項目よりも先に決定される項目が省略されている場合には、
タイムゾーンにおける現在の値を使用します。
他の省略されたフィールドには最小値が採用されます。
たとえば、
.B \-z
無しの
.B "20, 10:30"
の場合は、\*u タイムゾーンの現在の年月の 20 日 10:30:00 \*u が採用されます。
日付の指定に空白が含まれる場合には、
日付の指定をクオートでくくる必要があることに注意してください。
.RE
.TP
.BR \-M [\f2rev\fP]
作成されるワークファイルの最終更新日付を、取り出されるリビジョンの日付に
します。本オプションを指定すると
.BR make (1)
が正しく動作しなくなるので、注意して使用する必要があります。
.TP
.BI \-s state
選択された枝上の、状態
.I state
を持つ最新のリビジョンを取り出します。
.TP
.BR \-T
\*r ファイルの変更日付を変更しません。
ロックされたりロック解除されたりして \*r ファイルが変更された場合でもです。
このオプションは、コピーした \*r ファイルのワークファイルを使って
.BR make (1)
をかける際に再コンパイルをさせたくない場合に便利でしょう。
このオプションは必要であるにもかかわらず再コンパイルを行なわないことに
なってしまう場合があるので注意が必要です。
それは、ロックの変更が別のワークファイルのキーワード文字列の変更を行う時です。
.TP
.BR \-w [\f2login\fP]
選択された枝上の、ユーザ名
.I login
によって登録された最新のリビジョンを取り出します。
.I login
が省略された場合は、
.B co
を起動したユーザ名を使います。
.TP
.BI \-j joinlist
.I joinlist
で指定されたリビジョンを結合した新しいリビジョンを作成します。
本オプションは、旧バージョンとの互換性のために残されています。
通常、リビジョンの結合には
.BR rcsmerge (1)
を用います。
.RS
.PP
.I joinlist
.IB rev2 : rev3
形式のリビジョンの対をコロンで区切って並べたリストです。
ここで、
.I rev2
.I rev3
は(シンボリックまたは数字の)リビジョン番号です。
以下の説明で、
.I rev1
は以下のリビジョンを示します: (1) joinlist に列挙さ
れた対のうち、最初のものは、上記の
.BR \-f ,
\&.\|.\|.,
.B \-w
オプションによって選択されたリビジョンです。
(2) それ以外の対に対しては、直前の対から作成されたリビジョン
(すなわち、1 つの対によって作成されたリビジョンは次の結合
のための入力となります)。
.PP
それぞれの対に対して、
.B co
.I rev1
.I rev3
.I rev2
と比較しながら結合します。つまり、
.I rev2
.I rev1
と同一にするための変更を、
.I rev3
のコピーに対して適用します。
.I rev2
を同一の祖先とする 2 つの枝の末端のリビジョン
.I rev1
.I rev3
を結合するのによく用いられます。もし、3 つのリビジョンが同一の
枝上にあり、リビジョン番号が
.IR rev1 < rev2 < rev3
ならば、結合の結果は、
.I rev3
の内容のうち、
.I rev1
から
.I rev2
への変更を無効にしたものになります。
もし、
.I rev2
から
.I rev1
への変更が
.I rev2
から
.I rev3
への変更と重複している
なら、
.B co
.BR merge (1)
に示したような報告を行います。
.PP
最初に指定する対では
.I rev2
を省略することができます。この場合は、
.I rev1
.I rev3
の共通の祖先
.ig
/*?-> 共通の祖先リビジョン以外に言いかたを思いつきません
共通の祖先リビジョンで良いと思います(horikawa@jp.freebsd.org)
共通の祖先リビジョン
| | |
revX rev3 revY
|
rev1
*/
..
リビジョンを
.I rev2
として使用します。もし、いずれかの引数
がリビジョンではなく枝を示しているなら、その枝上の最新のリビジョンが用
いられます。同時に
.B \-l
オプションや
.B \-u
オプションを指定すると、
.I rev1
がロックまたはロック解除されます。
.RE
.TP
.BI \-V
\*r's のバージョン番号を表示します。
.TP
.BI \-V n
バージョン
.I n
の \*r システムの動作をエミュレートします。
.I n
.BR 3 ,
.BR 4 ,
.B 5
のいずれかです。これは、古い \*r を使っているユーザと \*r ファイルを交
換するときに便利です。使用している \*r がどのバージョンかを調べるには、
.BR "rcs \-V"
を実行します; これは最近のバージョンの \*r では動作します。
これが動作しない場合は適当な \*r ファイルに対して
.B rlog
を起動します; 最初の数行に文字列
.B branch:
がなければ、それはバージョン 3 です;
また、日付に現れる年が 2 桁の数字ならば、それはバージョン 4 です;
どちらでもなければ、バージョン 5 です。
\*r バージョン 3 をエミュレートして作成された \*r ファイルからはデフォルト
枝の情報が失われます。
バージョン 4 またはそれ以前のバージョンをエミュレートして作成された
リビジョンは、最大 13 時間ずれた日付を持つことになります。
バージョン 4 またはそれ以前のバージョンをエミュレートして取り出された
ファイルには
.IB yy / mm / dd
形式の日付がキーワード中に展開されます。また、
.B $\&Log$
キーワードでは空白の入り方が異なります。
.TP
.BI \-x "suffixes"
\*r ファイルの拡張子として
.I suffixes
を使用します。詳細は
.BR ci (1)
を参照して下さい。
.TP
.BI \-z zone
キーワード置換での日付の出力書式の指定を行い、また、
.BI \-d date
オプションでの
.I date
のデフォルトのタイムゾーンの指定を行います。
.I zone
は、省略する事も、UTC からの数値差で指定する事も、特別な文字列
.B LT
を使ってローカル時間で指定する事もできます。
デフォルトでは
.I zone
は空であり、
この場合は伝統的な \*r フォーマット、
すなわちタイムゾーン無しの \*u であり日付をスラッシュで区切ります;
そうでない場合は時刻はタイムゾーン付の \*i 8601 フォーマットです。
例えば、ローカルタイムが 1990 年 1 月 11 日 太平洋標準時間
(\*u の 8 時間西)午後 8 時の場合、時間の出力は次のようになります:
.RS
.LP
.RS
.nf
.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u
.ne 4
\f2オプション\fP\f2時刻の出力\fP
\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(デフォルト)\fP
\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP
\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP
.ta 4n +4n +4n +4n
.fi
.RE
.LP
.B \-z
オプションは \*r ファイルに格納されている日付(常に \*u です)には影響しません。
.RE
.SH "キーワード置換"
テキスト中に存在する
.BI $ keyword $
または
.BI $ keyword : .\|.\|. $
形式の文字列は、
.BI $ keyword : value $
形式の文字列に置換されます。
.I keyword
.I value
の対については後述します。キーワードはリテラルな文字列として、あるいは
リビジョンを特定するためのコメントとして埋められることがあります。
.PP
まず、ユーザは
.BI $ keyword $
なる形式の文字列を入力します。
チェックアウト時に、
.B co
はこの文字列を
.BI $ keyword : value $
に置換します。
.BI $ keyword : value $
形式の文字列を含むものがチェックインされた場合、
.I value
の部分は次にチェックアウトされたときに新たな値に置換されます。
このように、チェックアウトを行うごとにキーワードの値は
更新されていきます。この自動更新は
.B \-k
オプションにより変更することができます。
.PP
キーワードの種類とその値:
.TP
.B $\&Author$
リビジョンを登録したユーザのログイン名。
.TP
.B $\&Date$
リビジョンが登録された日時。
.BI \-z zone
を指定した場合、数値によるタイムゾーンオフセットが追加されます;
指定しない場合は、日時は \*u です。
.TP
.B $\&Header$
標準的なヘッダ。\*r ファイルのフルパス名、リビジョン番号、日時、作者、
状態、ロック者(ロックされている場合)が含まれます。
.BI \-z zone
を指定した場合、数値によるタイムゾーンオフセットが追加されます;
指定しない場合は、日時は \*u です。
.TP
.B $\&Id$
.B $\&Header$
とほぼ同様です。\*r ファイル名はパスをつけずに埋め込まれます。
.TP
.B $\&Locker$
リビジョンをロックしたユーザのログイン名(ロックされていない場合は空です)。
.TP
.B $\&Log$
チェックイン時に与えたログメッセージ。その前に、\*r ファイル名、リビジョン
番号、作者、日時が埋め込まれます。
.BI \-z zone
を指定した場合、数値によるタイムゾーンオフセットが追加されます;
指定しない場合は、日時は \*u です。
すでに埋め込まれているログメッセージは変更
.I されません。
新たなログメッセージのみが
.BR $\&Log: .\|.\|. $
のあとに追加されます。
ソースファイルの完全なログを記録するときに便利です。
.RS
.LP
挿入される行の前には
.B $\&Log$
の行の前のプレフィックス文字列が付きます。例えば、
.B $\&Log$
の行が
.RB \*(lq "//\ $\&Log: tan.cc\ $" \*(rq
である場合、ログの各行の前の \*r プレフィックスは
.RB \*(lq "//\ " \*(rq
となります。
これはコメントが行末まで及ぶ言語にて便利です。
別の言語に対しては、複数行コメント内部にて
.RB \*(lq " \(** " \(rq
プレフィックスを使用するのが慣例です。
例えば、C プログラムの最初のログのコメントは慣例的に以下の形式です:
.RS
.LP
.nf
.ft 3
.ne 3
/\(**
.in +\w'/'u
\(** $\&Log$
\(**/
.in
.ft
.fi
.RE
.LP
古いバージョンの \*r とのバックワードコンパチビリティのため、
ログのプレフィックスが
.B /\(**
または
.B (\(**
でありオプションの空白で囲まれている場合、挿入されるログの行は
.B /
.B (
の代わりに空白が用いられます;
しかしこの使用方法は古くさく、この動作に依存してはなりません。
.RE
.TP
.B $\&Name$
存在する場合、リビジョンをチェックアウトするために使用したシンボリック名。
例えば
.B "co\ \-rJoe"
.B "$\&Name:\ Joe\ $"
を生成します。
単に
.B co
を指定した場合は、
.B "$\&Name:\ \ $"
となります。
.TP
.B $\&RCSfile$
パス名を含まない \*r ファイル名。
.TP
.B $\&Revision$
リビジョン番号。
.TP
.B $\&Source$
\*r ファイルのフルパス名。
.TP
.B $\&State$
リビジョンに
.BR rcs (1)
.BR ci (1)
.B \-s
オプションにより割り付けられた状態。
.PP
キーワード文字列の体裁を整えるために、
以下の文字をキーワード中に用いるには、
エスケープシーケンスを使用します。
.LP
.RS
.nf
.ne 6
.ta \w'newline 'u
\f2文字 エスケープシーケンス\fP
tab \f3\et\fP
newline \f3\en\fP
space \f3\e040
$ \e044
\e \e\e\fP
.fi
.RE
.SH "ファイルモード"
ワークファイルは、\*r ファイルの読み込みと実行の許可属性を受け継ぎます。
さらに、ユーザに対する書き込み権が設定されます。
.B \-kv
オプションが設定されている場合と、厳格ロックモード(
.BR rcs (1)
参照)にてロックせずに取り出した場合は、書き込み権が設定されません。
.PP
すでに、ワークファイルと同名の書き込み可能なファイルが存在していると、
.B co
は取り出しを中断し、もし可能ならば削除するかどうかを問い合わせます。
もし、すでに存在するファイルが書き込み禁止であったり、
.B -f
オプションが
指定されていた場合には、問い合わせを行わずに削除します。
.SH 関連ファイル
.B co
.B ci
とほぼ同じくらいのファイルにアクセスします。ただし、
.B $
が指定されていなければワークファイルを読むことはありません。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
本変数に空白で区切ったオプションを設定することで、
コマンドライン引数に先立って処理されます。
詳しくは
.BR ci (1)
を参照してください。
.SH 診断
\*r パス名、ワークファイルパス名、
取り出されるリビジョンの番号を診断出力します。
全ての処理が成功した場合のみ、終了ステータス 0 を返します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
rcsintro(1), ci(1), ctime(3), date(1), ident(1), make(1),
rcs(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1),
rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.SH 制限事項
\*r ファイル、ワークファイルのリンクは保存されません。
.PP
キーワードを
.B "$\&keyword:$"
以外の形式に書換える以外に、一部のキーワードの
みを展開させる方法がありません。nroff や troff ではキーワード中にヌル文字
.B \e&
を埋め込むことにより展開を防ぐことができます。
.br
diff --git a/ja_JP.eucJP/man/man1/colldef.1 b/ja_JP.eucJP/man/man1/colldef.1
index 166fc91663..53e337957c 100644
--- a/ja_JP.eucJP/man/man1/colldef.1
+++ b/ja_JP.eucJP/man/man1/colldef.1
@@ -1,237 +1,237 @@
.\" Copyright (c) 1995 Alex Tatmanjants <alex@elvisti.kiev.ua>
.\" 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.
.\"
-.\" %Id: colldef.1,v 1.3.2.2 1997/06/27 06:19:42 charnier Exp %
+.\" %Id: colldef.1,v 1.5 1997/06/26 11:25:16 charnier Exp %
.\"
.\" jpman %Id: colldef.1,v 1.3 1997/09/04 16:33:17 horikawa Stab %
.\"
.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 colldef
は、照合シークエンスのソース定義を
.Fn strxfrm
.Fn strcoll
関数で使えるフォーマットに変換します。すなわち、文字列をソートや照合で
きるようにする様々な方法を定義するために使われます。
.Fn strxfrm
は、その第一引数を変換して第二引数の結果に置き換えます。
変換された文字列は、
.Fn strcmp ,
.Fn strncmp ,
.Fn memcmp
を使って別の変換された文字列と比較して正しくソートできるようになります。
.Fn strcoll
はその引数を変換し、比較を行ないます。
.Pp
.Nm colldef
は、標準入力から照合シークエンスソース定義を読み込み、変換された定義を
filename に格納します。
生成される出力ファイルの内容は、システムコマンドやシステムルーチンが
使える形式の照合シークエンス情報を持つデータベースです。
.Pp
オプションリスト:
.Bl -tag -width 4n
.It Cm Fl I Ar map_dir
このオプションは
.Ar charmap
ファイルを探すディレクトリ名を設定します。
デフォルトでカレントディレクトリです。
.It Cm 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 #
で始まる行はコメントと扱われ、無視されます。空行も無視されます。
.Pp
.Ar charmap charmapfile
.Pp
.Ar charmap
は、文字のマッピングと実際の文字エンコーディングへの照合要素シンボル
が見つかる場所を定義します。
.Pp
.Ar charmapfile
のフォーマットを以下に示します。
シンボル名とその値は、タブまたは空白文字によって区切られます。
symbol-value は 16 進 (\ex\fI??\fR) または 8 進 (\e\fI???\fR)
表現で指定でき、長さは一文字を意味します。
.Pp
.Ar symbol-name1 symbol-value1
.br
.Ar symbol-name2 symbol-value2
.br
.Ar ...
.Pp
シンボル名は
.Ar substitute
フィールドでは指定できません。
.Pp
.Ar charmap
ステートメントはオプション指定です。
.Pp
.Ar substitute
"\fIchar\fR"
.Ar with
"\fIrepl\fR"
.Pp
.Ar substitute
ステートメントは、文字
.Ar char
を文字列
.Ar repl
に置き換えます。
.Pp
.Ar substitute
ステートメントはオプション指定です。
.Pp
.Ar order order_list
.Pp
.Ar order_list
は、セミコロンで区切られた、照合シークエンスを定義する
シンボルのリストです。
特殊シンボル
.Ar ...
は、簡略な形の機械語順で連なったシンボルを指定します。
.Pp
orderリストの要素は、次の方法のうちのどれかで表現できます。
.Bl -bullet
.It
シンボル自身 (例えば、小文字の
.Ar a
.Ar a
と書きます)
.It
シンボルチェーン (例えば、
.Ar abc )
.It
8 進表現 (例えば、文字
.Ar a
には
.Ar \e141 )
.It
16 進表現 (例えば、文字
.Ar a
には
.Ar \ex61 )
.It
.Ar charmap
ファイル内で定義されたシンボル名 (例えば、
.Ar charmapfile
.Ar abc \e023
に対して
.Ar <abc>
)。文字マップ名が、文字
.Ar >
を持つ場合は、
.Ar /> ,
のようにエスケープされなければならず、
文字
.Ar /
.Ar //
のようにエスケープされなければなりません。
.It
シンボル
.Ar \ea ,
.Ar \eb ,
.Ar \ef ,
.Ar \en ,
.Ar \er ,
.Ar \ev
は、通常の C言語の意味で使うことが許されています。
.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 colldef
は、次の戻り値で終了します。
.Ar 0
エラーがなく、出力の生成に成功した場合
.Ar !=0
エラーが見つかった場合
.Sh 関連ファイル
.Ar /usr/share/locale/<language>/LC_COLLATE
localeの配下で、localeの照合順序のための標準共有位置
.Sh 関連項目
.Xr mklocale 1 ,
.Xr setlocale 3 ,
.Xr strcoll 3 ,
.Xr strxfrm 3
diff --git a/ja_JP.eucJP/man/man1/comm.1 b/ja_JP.eucJP/man/man1/comm.1
index 5c946239fe..d8e0ba045a 100644
--- a/ja_JP.eucJP/man/man1/comm.1
+++ b/ja_JP.eucJP/man/man1/comm.1
@@ -1,101 +1,101 @@
.\" %NetBSD: comm.1,v 1.4 1995/03/26 09:25:50 glass Exp %
.\"
.\" Copyright (c) 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" From: @(#)comm.1 8.1 (Berkeley) 6/6/93
-.\" %Id: comm.1,v 1.1.1.1.8.2 1997/09/14 23:20:44 jkh Exp %
+.\" %Id: comm.1,v 1.3 1997/09/07 15:09:17 joerg Exp %
.\" jpman %Id: comm.1,v 1.3 1997/11/11 13:58:57 horikawa Stab %
.\"
.Dd June 6, 1993
.Os
.Dt COMM 1
.Sh 名称
.Nm comm
.Nd 2つのファイルの共通な行もしくは共通でない行を出力する
.Sh 書式
.Nm comm
.Op Fl 123i
.Ar file1 file2
.Sh 解説
.Nm comm
は、
.Ar file1
.Ar file2
を読み込んで(辞書的にソートされている必要があります)、
3 つのテキストカラムを出力します:
それぞれ、
.Ar file1
のみにある行;
.Ar file2
のみにある行;
両方のファイルにある行です。
.Pp
ファイル名 ``-'' は標準入力を意味します。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width Ds
.It Fl 1
第 1 カラムの表示をしません。
.It Fl 2
第 2 カラムの表示をしません。
.It Fl 3
第 3 カラムの表示をしません。
.It Fl i
行比較を大文字と小文字を区別せずに行います。
.El
.Pp
それぞれのカラムの前にタブが付属しますが、
タブの数はそのカラムより番号の若いカラムで表示されるカラムの数に等しいです。
例えば、第 2 カラムの表示をしない場合、
第 1 カラムを表示する行では先頭にタブは付属せず、
第 3 カラムを表示する行では先頭にタブが 1 つ付属します。
.Pp
.Nm comm
はファイルが辞書的にソートされている事を期待します;
全ての文字が行の比較に使用されるからです。
.Sh 診断
成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
.Pp
.Sh 関連項目
.Xr cmp 1 ,
.Xr diff 1 ,
.Xr sort 1 ,
.Xr uniq 1
.Sh 規格
.Nm comm
ユーティリティは
.St -p1003.2-92
を満します。
diff --git a/ja_JP.eucJP/man/man1/compile_et.1 b/ja_JP.eucJP/man/man1/compile_et.1
index 47dfd45055..716db23909 100644
--- a/ja_JP.eucJP/man/man1/compile_et.1
+++ b/ja_JP.eucJP/man/man1/compile_et.1
@@ -1,80 +1,80 @@
.\" Copyright (c) 1988 Massachusetts Institute of Technology,
.\" Student Information Processing Board. All rights reserved.
.\"
-.\" %Header: /home/ncvs/src/usr.bin/compile_et/compile_et.1,v 1.1.6.2 1997/09/14 23:21:48 jkh Exp %
+.\" %Header: /home/ncvs/src/usr.bin/compile_et/compile_et.1,v 1.2 1997/06/30 06:42:38 charnier Exp %
.\"
.\" jpman %Id: compile_et.1,v 1.3 1997/08/20 12:20:14 horikawa Stab %
.Dd November 22, 1988
.Os
.Dt COMPILE_ET 1
.Sh 名称
.Nm compile_et
.Nd エラーテーブルコンパイラ
.Sh 書式
.Nm compile_et
.Ar file
.Sh 解説
.Nm compile_et
は、エラーコード名とそれに対応するメッセージをリストアップしたテーブルを、
.Xr com_err 3
ライブラリと共に用いるのに適した C のソースファイルに変換します。
.Pp
ソースファイル名は末尾が ``.et'' で終わっていなければなりません。
このファイルは以下のものから成ります。
まず、エラーコードテーブル名の宣言(4文字まで):
.Em error_table name
続いて以下の形式のエントリ(256 エントリまで):
.Em error_code name ,
"
.Em string
"
そして最後にテーブルの終わりを示す次の行です:
.Em end
.Pp
上のテーブル名はサブルーチン名
.Em initialize_XXXX_error_table
を構築するのに用いられます。
このサブルーチンは
.Xr com_err 3
ライブラリがエラーテーブルを認識するために呼び出される必要があります。
.Pp
ここで定義された様々なエラーコードには、
連続した昇順の番号(最初の数は、テーブル名のハッシュ関数として求められた、
ある大きな数です)が割り当てられます。
従って、互換性を保つために、新しいコードは既存のテーブルの末尾にのみ
追加し、また既存のコードはテーブルから削除しないように
すべきです。
.Pp
このテーブルで定義された名前は C のヘッダファイルに置かれ、
プリプロセッサディレクティブによって
最大 32 ビットの大きさの整定数として定義されます。
.Pp
同時に C のソースファイルが生成されます。
このファイルはコンパイルされ、
これらのエラーコードを参照するオブジェクトファイルとリンクされます。
この C ソースファイルには、
メッセージテキストと初期化ルーチンが含まれます。
いずれの C のファイルも、オリジナルソースファイル
末尾の ``.et'' を ``.c'' および ``.h'' で置き換えた名前になります。
.Pp
ソースファイル中の ``#'' はコメント文字として扱われ、
そこから行末までのテキストは無視されます。
.Sh バグ
.Nm compile_et
.Xr yacc 1
に基づく極めて単純なパーサを用いているため、
エラー回復処理には改良すべき点が数多く残されています。
.Sh 関連項目
.Xr yacc 1 ,
.Xr comm_err 3
.Pp
.Rs
.%A Ken Raeburn
.%T "A Common Error Description Library for UNIX"
.Re
diff --git a/ja_JP.eucJP/man/man1/cp.1 b/ja_JP.eucJP/man/man1/cp.1
index 043a5590a5..4ab9ba549a 100644
--- a/ja_JP.eucJP/man/man1/cp.1
+++ b/ja_JP.eucJP/man/man1/cp.1
@@ -1,218 +1,218 @@
.\" Copyright (c) 1989, 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)cp.1 8.3 (Berkeley) 4/18/94
-.\" %Id: cp.1,v 1.6.2.2 1998/07/15 02:01:05 jkh Exp %
+.\" %Id: cp.1,v 1.10 1998/05/06 06:50:19 charnier Exp %
.\" jpman %Id: cp.1,v 1.2 1997/03/26 15:42:56 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt CP 1
.Os BSD 4
.Sh 名称
.Nm cp
.Nd ファイルをコピーする
.Sh 書式
.Nm cp
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl f | i
.Op Fl p
.Ar source_file target_file
.br
.Nm cp
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl fip
.Ar source_file ... target_directory
.Sh 解説
1 番目の書式の場合、
.Nm
.Ar source_file
の内容を
.Ar target_file
にコピーします。
2 番目の書式の場合、
.Ar source_file
の各々が
.Ar target_directory
の中へコピーされます。このとき
名前は変更されません。
コピー先が元のファイル自身になるような
指定を
.Nm
が検出した場合、コピーは失敗します。
.Pp
以下のオプションが使用できます。
.Bl -tag -width flag
.It Fl H
.Fl R
オプションが指定されている時、コマンド行で指定されたシンボリックリンク
を追跡します。(木構造の検索中に見つかったシンボリックリンクは追跡
しません)
.It Fl L
.Fl R
オプションが指定されている時、すべてのシンボリックリンクを追跡します。
.It Fl P
.Fl R
オプションが指定されている時、シンボリックリンクを一切追跡しません。
.It Fl R
.Ar source_file
としてディレクトリが指定された場合、
.Nm
はそのディレクトリとそれ以下の
部分木を構成するすべてのファイルをコピーします。シンボリックリンクに
ついては、それが指している先のファイルをコピーするのではなく
シンボリックリンクのままコピーします。特殊ファイルについても
通常ファイルとしてではなく
.Nm
が特殊ファイルを生成することでコピーします。
作成されるディレクトリの属性はプロセスのumask値の
影響を受けず、対応するコピー元ディレクトリと同じ属性となります。
.It Fl f
コピー先にすでに同名のファイルが存在する場合、そのファイルのパー
ミッションに関わらず、確認を求めずにそれを消去して新しくファイル
を作成します。(
.Fl f
オプションより前の
.Fl i
オプションは無視されます。)
.It Fl i
すでに存在するファイルへの上書きを伴うコピーを実行する前に、
上書きするかどうかの確認プロンプトを標準エラー出力へ出力するよう
.Nm
に指示します。標準入力からの返答が
文字
.Sq Li y
.Sq Li Y
で始まっていればコピーが実行されます。
(
.Fl i
オプションより前の
.Fl f
オプションは無視されます。)
.It Fl p
ファイルの変更時刻・アクセス時刻・フラグ・モード・ユーザID・グループID
などを、パーミッションが許す範囲内で可能な限り保存してコピーするよう
.Nm
に指示します。
.Pp
ユーザIDやグループIDが保存できない場合でも、エラーメッセージは出力されず
戻り値も変化しません。
.Pp
コピー元ファイルにSETUIDビットが立っておりかつそのユーザIDが保存できない
場合、SETUIDビットは保存されません。コピー元ファイルにSETGIDビットが
立っておりかつそのグループIDが保存できない場合、SETGIDビットは保存されません。
コピー元のファイルにSETUIDビットとSETGIDビットが共に
立っておりかつそのユーザIDかグループIDのいずれか一方でも保存できない場合、
SETUIDビットとSETGIDビットの両方が保存されません。
.El
.Pp
すでに存在するコピー先ファイルについては、パーミッションが許せば
内容は上書きされますが、モード・ユーザID・グループIDは変化しません。
.Pp
2 番目の書式では、
.Ar source_file
としてディレクトリが一つだけ指定されかつ
.Fl R
オプションが指定されている場合を除き、
.Ar target_directory
は存在していなければなりません。
.Pp
コピー先ファイルが存在しない場合、コピー元ファイルのモードに
ファイルモード生成マスク
.Pf ( Ic umask ,
.Xr csh 1 を参照 )
を適用したものがコピー先ファイルのモードとして使用されます。
コピー元ファイルのSETUIDビットが立っていても、コピー元ファイルとコピー先
ファイルの所有者が同一でない限り、それは落とされます。
コピー元ファイルのSETGIDビットが立っていても、コピー元ファイルとコピー先
ファイルが同一グループに属しかつコピーを行うユーザがそのグループ
に入っていない限りそれは落とされます。
SETUIDビットとSETGIDビットの両方が立っている場合、上記のすべての
条件が満たされない限り、両方のビットが落とされます。
.Pp
ファイルの生成および上書きには、適切なパーミッションがなければなりません。
.Pp
.Fl R
フラグが指定されるとシンボリックリンクは追跡されませんが、
そうでない限りデフォルトでシンボリックリンクは常に追跡されます。
.Fl H
または
.Fl L
フラグ (
.Fl R
フラグと併用) を用いると、シンボリックリンクの追跡を前述したように動作さ
せることができます。
.Fl H ,
.Fl L ,
.Fl P
オプションは、
.Fl R
オプションが指定されていなければ無視されます。
また、これらのオプションは互いに打ち消し合い、
最後に指定されたものが有効になります。
.Pp
.Nm
は成功すると戻り値 0 を、エラーが発生すると戻り値 >0 を返します。
.Pp
.Sh 互換性
従来版の
.Nm
には
.Fl r
オプションがありました。本実装でもこのオプションはサポートされていますが、
特殊ファイル・シンボリックリンク・FIFOなどを正しくコピーできないため、
これを使用することは奨められません。
.Sh 関連項目
.Xr mv 1 ,
.Xr rcp 1 ,
.Xr umask 2 ,
.Xr fts 3 ,
.Xr symlink 7
.Sh 標準
.Nm
コマンドは、
.St -p1003.2
互換を想定しています。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/crontab.1 b/ja_JP.eucJP/man/man1/crontab.1
index 9dd3c9506a..d2b0fa4cb1 100644
--- a/ja_JP.eucJP/man/man1/crontab.1
+++ b/ja_JP.eucJP/man/man1/crontab.1
@@ -1,120 +1,120 @@
.\"/* Copyright 1988,1990,1993 by Paul Vixie
.\" * All rights reserved
.\" *
.\" * Distribute freely, except: don't remove my name from the source or
.\" * documentation (don't take credit for my work), mark your changes (don't
.\" * get me blamed for your possible bugs), don't alter or remove this
.\" * notice. May be sold if buildable source is provided to buyer. No
.\" * warrantee of any kind, express or implied, is included with this
.\" * software; use at your own risk, responsibility for damages (if any) to
.\" * anyone resulting from the use of this software rests entirely with the
.\" * user.
.\" *
.\" * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
.\" * I'll try to keep a version up to date. I can be reached as follows:
.\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul
.\" */
.\"
-.\" %Id: crontab.1,v 1.1.1.1.8.2 1998/07/18 11:09:14 jkh Exp %
+.\" %Id: crontab.1,v 1.5 1998/03/23 08:21:29 charnier Exp %
.\" jpman %Id: crontab.1,v 1.2 1997/04/18 06:38:25 yugawa Stab %
.\"
.Dd December 29, 1993
.Dt CRONTAB 1
.Os
.Sh 名称
.Nm crontab
.Nd 個人用の crontab の編集を行う (V3)
.Sh 書式
.Nm crontab
.Op Fl u Ar user
.Ar file
.Nm crontab
.Op Fl u Ar user
{
.Fl l |
.Fl r |
.Fl e
}
.Sh 解説
.Nm crontab
は、
Vixie Cron の
.Xr cron 8
デーモンが扱うテーブル内のエントリの
追加、削除、およびリスト表示を行います。各ユーザは、自分用の contab
ファイルを持つことができます。このファイルは
.Pa /var
内にありますが、
これはエディタで直接変更するためのものではありません。
.Pp
もし
.Pa allow
ファイル
.Pq Pa /var/cron/allow
が存在した場合、このコマンドを
使うためには、あなたの名前がこの
.Pa allow
ファイルになければなりません。また、
.Pa allow
ファイルは存在しないが
.Pa deny
ファイル
.Pq Pa /var/cron/deny
が存在した場合に、
このコマンドを使うためには、あなたの名前がこの
.Pa deny
ファイルにあっては
.Em いけません
どちらのファイルも存在しない場合、サイト依存の設定パラメータにより
スーパーユーザだけがこのコマンドを使うことができるか、
すべてのユーザがこのコマンドを使うことができるかが決定されます。
.Pp
このコマンドの最初の書式は file から新しい crontab をインストールする
場合に使います。ファイル名として ``-'' が指定された時は、標準入力から
読み込みます。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl u
指定した
.I user
の crontab ファイルに対して操作を行います。
このオプションがない場合には、コマンドを実行した人
の crontab ファイルに対しての操作になります。
.Xr su 8
をしている場合は混乱する可能性がありますから、正確を期するため、この場合には
.Fl u
をつねにつけるようにすべきです。
.It Fl l
現在の crontab ファイルを標準出力に表示します。
.It Fl r
現在の crontab ファイルを削除します。
.It Fl e
現在の crontab を編集します。環境変数
.Ev VISUAL
もしくは
.Ev EDITOR
があれば、この環境変数で指定したエディタを利用します。
エディタを終了すれば、crontab ファイルが自動的にインストールされます。
.El
.Sh 関連項目
.Xr crontab 5 ,
.Xr cron 8
.Sh 関連ファイル
.Bl -tag -width /var/cron/allow -compact
.It Pa /var/cron/allow
.It Pa /var/cron/deny
.El
.Sh 規格
.Nm
コマンドは
.St -p1003.2
準拠です。
この新しい文法は以前の Vixie Cron のものとも
古典的な SVR3 のものとも異なっています。
.Sh 診断
誤ったコマンドラインを与えて実行した場合、
使用法についてのかなり有益なメッセージが出力されます。
.Sh 作者
.An Paul Vixie Aq paul@vix.com
diff --git a/ja_JP.eucJP/man/man1/csh.1 b/ja_JP.eucJP/man/man1/csh.1
index dcd54f50d8..01260d26d1 100644
--- a/ja_JP.eucJP/man/man1/csh.1
+++ b/ja_JP.eucJP/man/man1/csh.1
@@ -1,2194 +1,2206 @@
.\" 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.
.\"
.\" @(#)csh.1 8.2 (Berkeley) 1/21/94
-.\" %Id: csh.1,v 1.5.2.3 1998/07/15 02:01:07 jkh Exp %
+.\" %Id: csh.1,v 1.11 1998/07/27 21:31:19 nectar Exp %
.\" jpman %Id: csh.1,v 1.2 1997/04/08 00:35:51 h-nokubi Stab %
.\"
.\" Japanese translation for jpman-0.2 checked by jpman project 96.12.23
.\"
.Dd January 21, 1994
.Dt CSH 1
.Os BSD 4
.Sh 名称
.Nm csh
.Nd C 言語ライクな文法を持つシェル(コマンドインタプリタ)
.Sh 書式
.Nm csh
.Op Fl bcefimnstvVxX
.Op arg ...
.Nm csh
.Op Fl l
.Sh 解説
.Nm
は、履歴(参照:
.Sx ヒストリ置換
の項)、ジョブ制御(参照:
.Sx ジョブ
の項)、対話的なファイル名とユーザ名の補完(参照:
.Sx ファイル名補完
の項)、C 言語ライクな文法を特徴とするコマンドインタプリタです。
対話的なログイン・シェル、また
シェル・スクリプトのコマンド・プロセッサの両方の用途で使われます。
.Ss 引数リスト処理
シェルへの最初の引数(第 0 引数)が
.Ql Fl \&
で始まる場合、シェルはログイン・シェルとなります。
シェルを
.Ql Fl l
フラグを指定して起動することでもログイン・シェルにできます。
.Pp
残りのフラグは以下のように解釈されます:
.Bl -tag -width 5n
.It Fl b
このフラグは、オプションの処理を強制的に中断させる場合に使用します。この
フラグ以降の引数はすべて、オプションではない引数として処理されます。
これにより、シェル・スクリプトに混乱やごまかしを行わずにオプションを
渡すことが可能になります。
set-user ID スクリプトは本オプションなしでは実行できません。
.It Fl c
コマンドを本フラグの次にくる 1 つの引数から読み込みます。
この引数は省略できません。残りの引数は
.Ar argv
に代入されます。
.It Fl e
起動したコマンドが異常終了したり、0 でない終了ステータスを返したときに、
ただちにシェルを終了します。
.It Fl f
起動したユーザのホーム・ディレクトリにある
.Pa \&.cshrc
を捜さず、また読み込まないため高速に起動します。
.It Fl i
たとえ端末上で実行されていなくても、対話的に動作しプロンプトを表示します。
入力と出力が端末である場合、本オプションなしでもシェルは対話的に動作します。
.It Fl l
ログイン・シェルとなります。(
.Fl l
が、指定された唯一のフラグの場合にのみ有効です。)
.It Fl m
シェルは、実効ユーザに属していなくても
.Pa .cshrc
をロードします。
.Xr su 1
.Fl m
をシェルに渡すことができます。
.It Fl n
コマンドの解析は行いますが、実行しません。シェル・スクリプトの
文法検査に役立ちます。
.It Fl s
標準入力からコマンドを読み込みます。
.It Fl t
入力から1行だけ読み込み、それを実行します。改行の直前に
.Ql \e
を置くことで、次の行への継続を行うことができます。
.It Fl v
.Ar verbose
変数を設定します。これにより、ヒストリ置換された状態のコマンド行を
表示するようになります。
.It Fl x
.Ar echo
変数を設定します。これにより、実行直前に、実行するコマンドを
表示するようになります。
.It Fl V
.Pa .cshrc
を実行するより前に
.Ar verbose
変数を設定します。
.It Fl X
.Pa .cshrc
を実行するより前に
.Ar echo
変数を設定します。
.El
.Pp
.Fl X
に対する
.Fl x
の関係は、ちょうど
.Fl V
に対する
.Fl v
の関係に相当します。
.Pp
フラグ引数の処理のあと、もし引数が残っていて、かつ、
.Fl c ,
.Fl i ,
.Fl s ,
.Fl t
のいずれのフラグも指定されていなければ、残っている最初の引数は
コマンドファイル名であるとみなされます。シェルはこのファイルをオープンし、
`$0' による置換に備えてファイル名を保存します。多くのシステムは version 6
または version 7 の標準のシェルを使っており、また、それらの
シェル・スクリプトは本シェルとは互換性がないので、
スクリプトの先頭の文字が `#' でない場合、
つまりスクリプトがコメントから始まらない場合、
本シェルはそれらの `標準' シェルを起動して実行します。
残りの引数は変数
.Ar argv
に初期値として設定されます。
.Pp
.Nm
は、実行開始に際し、まず、ファイル
.Pa /etc/csh.cshrc
を読み込み実行します。ログイン・シェルであれば、さらに、ファイル
.Pa \&/etc/csh.login
を読み込み実行します。
次にシェルを起動したユーザの
.Ar ホーム
・ディレクトリにあるファイル
.Pa \&.cshrc
を読み込み実行します。ログイン・シェルであるなら、
さらに、同じディレクトリのファイル
.Pa \&.login
を読み込み、実行します。
.Pa \&.login
の通常の使い方としては、ユーザが CRT 画面の設定のために
``stty crt'' を実行したり、
.Xr tset 1
を実行したりするために用いられます。
.Pp
通常、シェルはプロンプト `% ' を表示し、端末からコマンドを読み込みます。
引数の処理やコマンド・スクリプトを含むファイルの処理については後述します。
.Pp
シェルは以下の動作を繰り返します: 読み込んだ行を
.Ar 単語
に分解します。この単語の列をコマンド履歴に格納し、解析します。
最後にその行の各コマンドを実行します。
.Pp
ログイン・シェルが終了するとき、ユーザの
.Ar ホーム
ディレクトリのファイル
.Pa .logout
.Pa /etc/csh.logout
を読み込み実行します。
.Ss 字句構造
シェルは、読み込んだ行を空白とタブを区切りとして単語に分割します。ただし、
以下の例外があります。文字
`&' `\&|' `;' `<' `>' `(' `)'
は独立した単語となります。`&&', `\&|\&|', `<<', `>>' のように
2つ繰り返されている場合はペアで1単語を形成します。
これらのメタキャラクタは、直前に `\e' を置くことによって、単語の一部としたり、
特別な意味を無視させることができます。改行の直前に `\e' を置くと、
単一の空白と等価になります。
.Pp
対応したクォート記号
`'\|', `\*(ga', `"' に狭まれた文字列は、単語の一部分となります。
このような文字列中のメタキャラクタやブランク、
タブによって単語が分割されることはありません。
これらのクォートの意味はあとで説明します。
`\'' または `"' の内側で改行文字の直前に `\e' を置くと、
改行文字そのものになります。
.Pp
シェルの入力が端末からではない場合、
`#' 文字から改行まではコメントとして扱われます。
直前に `\e' を置くか `\`', `\'', `"" でクォートすることにより、
この意味を抑制することができます。
.Ss コマンド
単純コマンドは単語の列であり、最初の単語が実行すべきコマンドを示します。
`\&|' 記号で区切られた、単純コマンドあるいは単純コマンドの列は
パイプラインを形成します。パイプラインの各コマンドの出力は、次のコマンドの
入力に接続されます。パイプラインの列を `;' によって区切ることで逐次実行が
行えます。パイプラインの列に続けて `&' を置くと、そのパイプラインの終了を
待つことなく、次のパイプラインが実行されます。
.Pp
上記のいずれかを `(' と `)' で囲むことにより、単純コマンドを形成することが
できます (これはパイプライン等の構成要素として使えます)。
また、パイプラインを `\&|\&|' または `&&' で区切ることにより、C
言語のように、第 2 のパイプラインが第 1 のパイプラインが失敗あるいは
成功したときにのみ実行させることができます(
.Em 式
の項参照)。
.Ss ジョブ
シェルはパイプラインの各々に対し
.Ar ジョブ
を 1 つづつ関連付けます。シェルは、現在実行中のジョブの一覧表を保持しており、
これは、
.Ar jobs
コマンドによって表示することができます。
ジョブには整数の番号が割り当てられます。ジョブが `&' を用いて非同期に
起動された場合、シェルは以下のような出力を行います:
.Bd -filled -offset indent
.Op 1
1234
.Ed
.Pp
これは、非同期に起動したジョブがジョブ番号 1 であり、プロセス ID が 1234 である
(トップレベルの) プロセスを 1 つ持っていることを示します。
.Pp
もし、あるジョブを実行中に他のことをしたくなった場合、
.Em ^Z
キー
(control-Z) を押すことにより実行中のジョブに STOP シグナルを
送信することができます。通常、シェルはそのジョブが停止した(Stopped)ことを
出力し、プロンプトを表示します。ここで、停止したジョブの状態を操作することが
できます。つまり、
.Ar bg
コマンドにより停止したプロセスを
.Em バックグラウンド
で走行させたり、他のコマンドを実行してから、停止していたジョブを
.Ar fg
コマンドにより
.Em フォアグラウンド
で再実行させることなどができます。
.Em ^Z
は即座に効力を発揮し、インタラプトと同様に、それまで待たされていた
出力とまだ読み込まれていない入力は捨てられます。
ほかに特殊キーとして
.Nm ^Y
があり、これを押すと、プログラムが
.Xr read 2
によって読み込もうとした時点で STOP シグナルが送信されます。
これは、実行中のジョブに対していくつかの入力を先に入力しておき、
先行入力を読み終えた時点でジョブを停止させたいときに便利です。
.Pp
バックグラウンドで実行しているジョブが端末からの入力を試みた場合、その
ジョブは停止します。通常、バックグラウンドジョブが端末に出力することは
可能ですが、これは、コマンド ``stty tostop'' により禁止することができます。
もし、この tty オプションを指定したなら、バックグラウンドで実行している
ジョブは、端末から入力を試みたときと同様に、端末に出力を試みたときに
停止します。
.Pp
シェルでジョブを参照するにはいくつかの方法があります。文字 `%' は
ジョブ名を表すのに用いられます。番号 1 のジョブを参照する場合は `%1' とします。
単にジョブ名を入力した場合、そのジョブはフォアグラウンドに移動されます。
すなわち `%1' は `fg %1' と等価で、番号 1 のジョブをフォアグラウンドで
実行させます。同様に `%1 &' は番号 1 のジョブをバックグラウンドで
走行させます。ジョブはそのジョブを起動したときにタイプされた文字列の
先頭部分によって参照することもできます。ただし、この先頭部分は
あいまいでない必要があります。すなわち、`%ex' は、`ex' という文字列で
始まる名前のサスペンドされたジョブが 1 つしかない場合に限り、サスペンドされた
.Xr ex 1
のジョブを再開します。文字列
.Ar string
を含むジョブが 1 つしかない場合、`%?string' と入力することで、
それを指定することもできます。
.Pp
シェルは現在のジョブと直前のジョブを覚えています。jobs コマンドの
出力では、`+' 記号が付加されているのが現在のジョブ、`\-' 記号が
付加されているのが直前のジョブです。`%+' は現在のジョブ、`%\-' は
直前のジョブの省略形です。後述する
.Ar ヒストリ
の文法から類推される記法として、`%%' があります。
これもまた現在のジョブの省略形です。
.Pp
ジョブ制御機構を用いるには、
.Xr stty 1
のオプション
.Ic new
を設定しておく必要があります。ジョブ制御機構は、
.Em 新型
の端末ドライバの実装の上に構築されているからです。
新型の端末ドライバにより、ジョブを停止させるためのシグナルを
キーボードから入力できるわけです。
新型の端末ドライバのオプション設定については stty(1) を参照してください。
.Ss 状態通知
シェルは、プロセスが状態の変化を起こすと、すぐにそれを検知します。通常、
プロンプトが表示される直前にのみ、あるジョブが停止し、それ以上処理が
進まなくなったことを通知します。これは、ユーザの仕事を邪魔しないように
するためです。
しかしながら、シェル変数
.Ar notify
をセットすることにより、シェルにバックグラウンド・ジョブの状態が
変化したことをただちに通知させることができます。
また、シェルコマンド
.Ar notify
により、特定のジョブの状態の変化をただちに通知させる
ようにマークすることもできます。引数なしの
.Ar notify
は現在のプロセスに対してマークをつけます。
バックグラウンド・ジョブの開始直後に単に `notify' と打つと
そのジョブをマークします。
.Pp
停止したジョブがある状態でシェルを終了しようとすると、`You have
stopped jobs.' という警告を受けます。このとき、
.Ar jobs
コマンドによりどのジョブが停止中であるのかを確認することができます。
警告を受けた直後に
.Ar jobs
コマンドで確認した場合と、
警告を受けた直後に再度シェルを終了させようとした場合には、
シェルは 2 度目の警告を行わず、停止中のジョブは終了させてから
シェルを終了します。
.Ss ファイル名補完
シェル変数
.Ar filec
がセットされてファイル名補完機能が有効になっている場合、
(
.Ic set
の項参照)
.Nm
はファイル名やユーザ名の補完を対話的に行います。文字列に続けて
エスケープ文字 (エスケープキー、または control-[) キーを端末から
入力することにより補完が行われます。
たとえば、以下のファイルがカレント・ディレクトリにあったとします。
.Bd -literal -offset indent
DSC.OLD bin cmd lib xmpl.c
DSC.NEW chaosnet cmtest mail xmpl.o
bench class dev mbox xmpl.out
.Ed
.Pp
ここで、以下のように入力します。
.Pp
.Dl % vi ch<escape>
.Pp
このとき、
.Nm
は ``ch'' を補完し、それにマッチする唯一のファイル名 ``chaosnet''
にします。補完後の入力行は以下のようになります。
.Pp
.Dl % vi chaosnet
.Pp
以下のように入力した場合は、
.Pp
.Dl % vi D<escape>
.Pp
.Nm
は、次のように補完を行います。
.Pp
.Dl % vi DSC.
.Pp
ここで、端末ベルを鳴らし、補完が完了しなかったことをユーザに伝えます。
なぜなら、``D'' で始まるファイル名が複数あったからです。
.Pp
不完全なファイル名に続いて end-of-file 文字(通常は control-D)を入力すると、
名前の補完を行うかわりに、その名前にマッチするファイル名の一覧を出力します。
たとえば、以下のように入力すると、
.Pp
.Dl % vi D<control-D>
.Pp
``D'' で始まるファイル名の一覧が以下のように出力されます:
.Pp
.Dl DSC.NEW DSC.OLD
.Pp
このとき、入力行は変化しません。
.Pp
エスケープ文字と、end-of-file 文字を用いる同様の機構は、
ユーザ名を補完する場合にも用いることができます。この場合、``~'' で
名前を開始します。たとえば、次のように入力すると、
.Pp
.Dl cd ~ro<escape>
.Pp
以下のように補完されます。
.Pp
.Dl cd ~root
.Pp
シェル変数
.Ar nobeep
をセットすることにより、複数の候補があったり、補完に
失敗した場合に端末ベルを鳴らすのを禁止することができます。
.Pp
通常、そのディレクトリにあるすべてのファイル名が補完の候補となります。
ある特定の拡張子を持つファイルを補完の候補から外すのに、変数
.Ar fignore
を用いる
ことができます。以下のコマンドで、変数
.Ar fignore
を設定すると、
.Pp
.Dl % set fignore = (.o .out)
.Pp
以下のように入力した場合に、
.Pp
.Dl % vi x<escape>
.Pp
次のように補完が行われます。
.Pp
.Dl % vi xmpl.c
.Pp
つまり、"xmpl.o" と "xmpl.out" が無視されて補完が行われました。もし、
.Ar fignore
で無視するように指定されたファイル名しか補完の対象になり得なかった場合、
.Ar fignore
の設定は無視されます。また、
.Ar fignore
は end-of-file 文字によるファイル名の一覧には影響を与えません。
一覧ではすべてのファイル名が出力されます。
.Ss 置換
ここからは、シェルが入力に対して行うさまざまな置換を、
処理が行われる順に記述します。
.Ss ヒストリ置換
ヒストリ置換は、以前に入力されたコマンド中の単語を、
新たなコマンドの一部として置き換えることで、
コマンドの繰り返し実行を容易にしたり、直前のコマンドの引数を次のコマンドで
再び使用したり、直前に入力した行の綴り間違いを修正する際に、
タイプ入力の手間を減らし、自信をもって修正できるようにするための機能です。
ヒストリ置換は文字 `!' により始まり、入力ストリームの
.Ar どの位置にでも
置くことができます(ただし、入れ子にすることは
.Em できません
)。`\e' を `!' の前に置くことにより、`!' の特殊な意味を打ち消すことが
できます。また、利便のために、`!' の直後に空白、タブ、改行文字、
`=', `(' が続いた場合、ヒストリ置換は行われず、入力された文字がそのまま
用いられます(ヒストリ置換は、入力行が `\*(ua' で始まっている場合にも
起こります。これについては後述します)。入力行にヒストリ置換が含まれている
場合は、実行直前にヒストリ置換を行った結果が端末に出力されます。
.Pp
端末から入力された、1 つあるいはそれ以上の単語からなるコマンドは
ヒストリ・リストに記録されます。ヒストリ置換は、この記録された
単語の列を入力ストリームに挿入することにより行われます。
ヒストリ・リストの大きさは、変数
.Ar history
により制御されます。直前のコマンドは
.Ar history
の値に関わらず必ず
保存されます。記録されているコマンドは 1 から順にイベント番号が
割り当てられます。
.Pp
.Ar history
コマンドにより、以下の出力が得られたとします:
.Bd -literal -offset indent
\09 write michael
10 ex write.c
11 cat oldwrite.c
12 diff *write.c
.Ed
.Pp
コマンドはイベント番号とともに出力されています。必ずしもイベント番号を
用いる必要はありませんが、プロンプト文字列に `!' を埋めることにより、
現在のイベント番号を
.Ar プロンプト
中に表示させることができます。
.Pp
現在のイベント番号が 13 だとすると、以前のイベントを指定するには、
イベント番号を用いて `!11' としたり、
相対指定を用いて `!\-2' としたり(同じイベントを表します)する方法があります。
また、コマンドの単語の先頭部分を用いて指定することもできます。例えば、`!d'
でイベント番号 12 を指定したり、 `!wri' でイベント番号 9 を指定できます。また、
ある文字列を含むコマンドを指定するのに `!?mic?' (これはイベント番号 9 の
コマンドを示します)のような記法も使えます。これらの記法は、指定された
イベントの各単語を単一の空白で区切った単語列に置換します。特殊な
場合として、`!!' は直前のコマンドを参照します。すなわち、`!!' だけを
入力することは直前のコマンドの
.Ar 再実行
を意味します。
.Pp
あるイベント中のいくつかの単語だけを指定するために、イベント指定に続けて `:'
と単語指示子を書くことができます。イベントの単語は 0 から順に番号が
振られています。最初の単語(通常はコマンドです)が 0 で、2 番目の単語
(第1引数)が 1 ということになります。基本的な単語指示子は以下のとおりです:
.Pp
.Bl -tag -width Ds -compact -offset indent
.It \&0
最初の(コマンド)単語
.It Ar n
.Ar n
番目の単語
.It \*(ua
最初の引数(すなわち 1 と同じ)
.It $
最後の引数
.It %
直前の
.No \&? Ns Ar s Ns \&?
検索でマッチした単語
.It Ar \&x\-y
.Ar x
番目から
.Ar y
番目までの単語
.It Ar \&\-y
.Ar `\&0\-y\'
の省略形
.It *
`\*(ua\-$' の省略形。イベントが1語のみからなる場合は空になる
.It Ar x*
.Ar `x\-$\'
の省略形
.It Ar x\-
.Ar `x*\'
から最後の単語を除いたもの。
.El
.Pp
イベント指定と単語指示子とを区切る `:' は、引数選択子が `\*(ua', `$', `*',
`\-', `%' で始まっている場合には省略することができます。
単語指示子の直後に、 `:' に続けて
修飾子を複数個置くことができます。以下の修飾子が定義されています:
.Pp
.Bl -tag -width Ds -compact -offset indent
.It h
パス名の最後の要素を削除します(head)
.It r
最後の `.xxx' 要素を削除します(root)
.It e
`.xxx' 以外の部分を削除します(extension)
.It s Ns Ar /l/r/
Substitute
.Ar l
.Ar r
で置換します(substitution)
.It t
最後の要素を残して、それより前のパス名の要素全てを削除します。
.It \&&
直前の修飾子の作用を繰り返します。
.It g
上記の修飾子の直前に置き、変更を、各単語に 1 回だけ及ぼすことを指定します。
- 例) `g&'
+例) `g&'
.It a
上記の修飾子の直前に置き、1 つの単語に対して可能な限り繰り返して
変更を行います。変更が全単語に及ぶようにするには `g' と組み合わせて使います。
.It p
置換結果を表示しますが、実行はしません(print only)
.It q
さらに置換が行われないように、置換結果をクォートします(quote)
.It x
q と同様ですが、空白、タブ、改行によって単語を分割します
.El
.Pp
`g' が指定されなかった場合、適用可能な最初の単語のみが修飾子の影響を受けます。
置換については、適用可能な単語がなかった場合にはエラーとなります。
.Pp
置換(s/l/r/) における左辺 (
.Ar l
) は、エディタなどで使うような正規表現ではなく単なる文字列です。`/'
のかわりに自由な文字を区切りに指定することができます。`\e' によって、
.Ar l
または
.Ar r
中の区切り文字をクォートすることができます。右辺 (
.Ar r
) 中の文字 `&' は
左辺の文字列に置換されます。`&' もまた `\e' によって
クォートすることができます。
空の左辺値
.Ar l
(`//') の場合、直前の左辺値
.Ar l
または、
.No \&`!? Ns Ar s Ns ?'
中のコンテキストスキャン文字列
.Ar s
から左辺値が取られます。置換指定の直後に改行がくる場合には、
最後の区切り文字を省略することができます。
コンテキストスキャンの後ろ側の文字 `?' も、直後に改行がくる場合、
同様に省略できます。
.Pp
ヒストリは、 `!$' のようにイベント指定なしで参照することができます。
同じ行においてそれ以前にヒストリ参照が行われた場合はそのイベントを、
さもなければ直前のコマンドが参照されます。`!?foo?\*(ua !$' は `?foo?' に
マッチするイベントの最初と最後の単語に置換されます。
.Pp
入力行の最初の非空白文字が `\*(ua' の場合、特殊なヒストリ参照の省略形であると
みなします。これは `!:s\*(ua' と等価で、直前に入力したコマンド行の
文字列置換を行うことができます。たとえば、`\*(ualb\*(ualib' は
直前のコマンドの `lib' の綴り間違いを修正します。
最後に、後ろに続く文字とヒストリ置換とを隔離するために、
ヒストリ置換を `{' と `}' によって囲むことができます。`ls -ld ~paul' なる
コマンドを実行した直後に`!{l}a' と
入力することで、`ls -ld ~paula' に展開されます。一方、`{}' を
使わずに `!la' とした場合は `la' で始まるイベントを検索します。
.Pp
.Ss \' と \&" によるクォート
文字列を `\'' または `"' によって
クォートすることにより、残りの置換のすべてあるいは一部を
抑制することができます。`'' によってクォートされた文字列には
本マニュアルのこれ以降に説明する置換が適用されません。`"' によって
クォートされた文字列は、後述するように一部の置換が適用されます。
.Pp
どちらのクォートの結果も単一の単語 (の全体または一部) となります。
ただし、`"' クォートされたコマンド置換は複数の単語になる特殊な場合が
1 つだけあります(後述の
.Sx コマンド置換
の項を参照)。
`\'' クォートの場合は、このようなことはありません。
.Ss エイリアス置換
シェルはエイリアス(別名定義)を管理しており、
.Ar alias
コマンドと
.Ar unalias
コマンドに
より設定、表示、修正等を行うことができます。コマンド行がスキャンされたあと、
個々のコマンドに解析され、各コマンドの最初の単語に対応するエイリアスが
あるかどうかチェックします。もし存在すれば、入力されたコマンド行の内容を
直前のコマンドとみなして、エイリアスの内容をヒストリ展開します。
コマンド行全体は展開結果と置き換えられます。エイリアスの内容が
ヒストリ参照を含まなかった場合、入力したコマンド行の引数は変更せずに
残されます。
.Pp
`ls' に対するエイリアスが `ls -l' だった場合、`ls /usr' は `ls -l
/usr' に展開されます。この場合、エイリアスにはヒストリ参照がなかったため、
引数の `/usr' は変更せずに残されました。`lookup' に対するエイリアスが
`grep !\*(ua /etc/passwd' だった場合、`lookup bill' は
`grep bill /etc/passwd' に展開されます。
.Pp
エイリアスが展開された場合、展開結果に対して単語分割とエイリアス検索が
再度行われます。展開結果の最初の単語が展開前の最初の単語と同一になった場合、
再度エイリアス検索が行われることはありません。それ以外の、エイリアスによる
ループは検出され、エラー扱いとなります。
.Pp
このメカニズムによってエイリアスでパーサのメタ記法を利用できます。
よって `alias print \'pr \e!* \&| lpr\'' とエイリアスすることで
.Ar pr
引数をプリンタに出力させるというようなことができます。
.Ss 変数置換
シェルは変数を管理しており、それらは 0 個またはそれ以上の単語のリストを
値として持ちます。変数のうちいくつかはシェルがセットしたり参照したりします。
たとえば、変数
.Ar argv
はシェルへの引数を保持しており、この変数の値である単語は、特殊な方法で
参照されます。
.\" #### jpman kuma 96.12.05 here checked ... TO BE CONTINUED
.Pp
変数の値は
.Ar set
および
.Ar unset
コマンドにより参照、変更することができます。シェルが
参照する変数のうちいくつかは、それがセットされているかどうかだけが重要
であり、値が何であっても意味を持たないものがあります。たとえば、変数
.Ar verbose
は入力行がエコーされるかどうかを制御する変数であり、この変数を
セットすることは、
.Nm
.Fl v
オプションを指定したのと同じ意味になります。
.Pp
変数を数値として扱う操作もあります。`@' コマンドによって変数に対して数値演算
を適用し、演算結果を変数に代入することができます。しかしながら、変数の
値はつねに文字列として表現されます。数値演算の場合、空文字列は 0 と
みなし、変数の値が複数の単語からなる場合 2 番目以降の単語は無視されます。
.Pp
入力行にエイリアス置換を行い、構文解析を行ったあと、コマンドが実行される
前に文字 `$' をキーとして変数置換を行います。`$' の直前に `\e'
を置くことにより、変数置換を抑制することができます。
ただし、`"' クォート中では変数置換は
.Em 必ず
行われますが、`\'' クォート中では
.Em 決して行われません。
`\*(ga' クォートのなかはさらにあとで解釈されるため(後述の
.Sx コマンド置換
の項を参照)、ここでは変数置換は行いません。`$' の直後に空白、タブ、
改行がくる場合、`$' はそのまま残されます。
.Pp
入出力リダイレクトは変数置換より前に解釈され、別々に変数置換が行われます。
それ以外のコマンド名と引数は同時に展開されます。このため、最初の
単語(コマンド)が展開の結果、複数の単語となったり、展開された結果の
最初の単語がコマンド名、それ以外が引数の一部になることもあります。
.Pp
`"' でクォートされておらず、変数置換に `:q' 修飾子も指定されなかった
場合には、変数置換の結果にコマンドとファイル名置換が
行われます。`"' クォート内では複数の単語からなる値を持つ変数は、各単語を
1つの空白で区切った単一の単語 (の一部) に展開されます。`:q' 修飾子が
指定された場合は、各単語は 1 つの空白で区切られ、
この後のコマンドとファイル名置換を抑止するために、個々にクォートされた
単語の列に展開されます。
.Pp
変数置換には以下の形式があります。特に記述していない場合、
セットされていない変数の参照はエラーになります。
.Pp
.Bl -tag -width Ds -compact -offset indent
.It $name
.It ${name}
.\" #### modified by kuma 96.12.21 ####
変数
.Ar name
の値の各単語を 1 つの空白文字で区切ったものに展開されます。中括弧は
.Ar 変数名
と後続する文字を分離し、後続する文字が変数名の一部と解釈されないように
するために用いられます。シェル変数は 20 文字までの名前を持ちます。
変数名の先頭はアルファベットで、それ以降はアルファベット、数字、
アンダースコアを使用することができます。
.Ar name
という名前のシェル変数は存在しないが、同名のセットされた環境変数が
存在する場合には、その値に置換されます(ただし、環境変数に対しては
.Nm :
修飾子と以降に説明する書式を
用いることはできません)。
.It $name Ns Op selector
.It ${name Ns [ selector ] }
変数
.Ar name
の値のうちいくつかの単語を選択して展開します。
.Ar selector
は 1
つの数字、範囲を示す2つの数字を `\-' でつないだもの、あるいはそのような
結果になる変数置換のいずれかです。単語は 1 から順序づけられています。
範囲の最初の数字が省略された場合は 1 が用いられます。範囲の第2の数字が
省略された場合は `$#name' が用いられます。selector として `*' が用いられた
場合には、すべての単語に展開されます。範囲の第2の数字が省略されるか、
単語数より小さい場合には、範囲が空になってもエラーとはなりません。
.It $#name
.It ${#name}
変数の値の単語数に展開されます。
この機能は後述する
`$argv[selector]'
で有用です。
.It $0
コマンドを読み込んでいるファイル名に展開されます。ファイル名が不明の場合は
エラーとなります。
.It $number
.It ${number}
`$argv[number]' と等価です。
.It $*
`$argv[*]' と等価です。
.El
.Pp
修飾子 `:e', `:h', `:t', `:r', `:q', `:x' や
`:gh', `:gt', `:gr' を適用することができます。中括弧 `{' `}' で
囲まれている場合は、中括弧内に修飾子が存在しなければなりません。
現在の csh の実装では、各 `$' 展開につき1つの修飾子のみ指定することができます。
.Pp
以下の置換を行なう場合は `:' 修飾子を指定することはできません。
.Bl -tag -width Ds -compact -offset indent
.It $?name
.It ${?name}
変数 name がセットされていれば `1' に、さもなければ `0' に展開されます。
.It $?0
現在の入力ファイル名がわかっていれば `1' に、不明ならば `0' に展開されます。
.It \&$\&$\&
親のシェルの (10進の) プロセス番号に展開されます。
.It $!
そのシェルから起動された最後のバックグラウンド・プロセスの
(10進の) プロセス番号に展開されます。
.It $<
標準入力から1行を読み込み、その内容に展開されます。読み込んだ内容の解釈は
行いません。スクリプト中でキーボードからの入力を受けるのに用いられます。
.El
.Ss コマンドとファイル名置換
残りの置換であるコマンド置換とファイル名置換は、
組み込みコマンドの引数に対しては
適用されたり、されなかったりします。
.\" #### changed by kuma 96.12.21 ####
すなわち、式の中で評価が行われない部分に関しては
以下の置換が行なわれません。組み込みコマンドではないコマンドにおいては、
コマンド名は引数とは別に置換が行なわれます。
.\" #### changed by kuma 96.12.21 ####
コマンド名に対する置換が生じるのは一連の置換処理の最後の方で、
入出力リダイレクトの設定後、メインシェルの子供の中で行われます。
.Ss コマンド置換
コマンド置換は、コマンドを `\*(ga' で囲むことによって指示します。
コマンドからの
出力は空白、タブ、改行によって単語に分割され、空の単語を削除したあとに
元の文字列と置換されます。
`"' の内部では、改行のみが単語分割の区切りとして扱われ、空白とタブは
そのまま残されます。
.Pp
どちらの場合も、コマンドの出力の最後の改行は単語の区切りとはならず、単に
削除されます。
よってコマンド置換によって、コマンドの出力が完全な 1 行であっても、
単語の一部分のみを生成することが可能です。
.Ss ファイル名置換
単語が文字 `*', `?', `[', `{' を含んでいるか、単語の先頭文字が `~' の
.\" #### modified by kuma 96.12.21 ####
場合、その単語はファイル名展開(あるいはグロブ(glob)と呼ばれます)の
候補となります。
.\" #### modified by kuma 96.12.21 ####
候補となった単語はパターンとみなされ、パターンにマッチするファイル名が
アルファベット順にソートされた列に置換されます。
ファイル名置換を含む単語の列がどれもファイル名にマッチしなかった場合には
エラーとなりますが、
すべての単語パターンがマッチする必要はありません。
メタキャラクタ`*', `?', `['
のみがパターンマッチ文字であり、`~' と `{' は省略形といったほうが近いで
しょう。
.Pp
ファイル名マッチにおいて、ファイル名先頭、または `/' の直後の `.' は、
`/' と同様に明示的にマッチさせなければなりません(`*' や `?' は
これらにマッチしません)。
`*' は、空文字列を含むどのような文字列にもマッチします。`?' は、
どのような1文字にもマッチします。
.Sq Op ...
は、括弧のなかで指定した文字のいずれかにマッチします。
.Sq Op ...
内では、文字の対を `\-' でつなぐことで、
文字の範囲を指定することができます(両側の文字も含まれます)。
.Pp
ファイル名の先頭の `~' はホーム・ディレクトリを示すのに用いられます。
単独で用いられた場合には、シェルを起動したユーザのホーム・ディレクトリ
.\" #### modified by kuma 96.12.21 ####
(変数
.Ar home
の値に反映されているとおり)に展開されます。`~' に続けてアルファベット、
数字、`-' からなる単語が続いた場合は、その単語をユーザ名とみなして、
そのユーザのホーム・ディレクトリに展開されます。たとえば、ユーザ ken の
ホーム・ディレクトリが `/usr/ken' ならば、`~ken' は
`/usr/ken' に、 `~ken/chmach' は `/usr/ken/chmach' に展開されます。
直後にアルファベットと `/' 以外が続く`~'と、ファイル名の先頭にない `~' は
変更されずにそのまま残されます。
.Pp
メタ記法 `a{b,c,d}e' は `abe ace ade' の短縮形です。
.\" #### modified by kuma 96.12.21 ####
この記法の左から右への出現順序は保存されます。
展開結果は下位のレベルで個別にソートされ、出現順序は保存されます。
この記法は入れ子にすることができます。
source のホーム・ディレクトリが `/usr/source' ならば、
`~source/s1/{oldls,ls}.c' は `/usr/source/s1/oldls.c
/usr/source/s1/ls.c' に展開されます。このとき oldls.c や ls.c が
存在しなくともエラーにはなりません。同様に、`../{memo,*box}' は
`../memo ../box ../mbox' 等に展開されます(`memo' と `*box' の
展開結果がいっしょに
ソートされたりしていないことに注意してください)。特殊な場合として、
単独の`{' と `}', `{}' は変更されずにそのまま残されます。
.Ss 入出力
コマンドの標準入出力は、以下の方法によりリダイレクトすることができます:
.Pp
.Bl -tag -width Ds -compact -offset indent
.It < name
ファイル
.Ar name
(変数、コマンド、ファイル名展開を受けます)をオープンし、
コマンドの標準入力とします。
.It << word
.Ar word
と同一の行が出現するまで、シェルの入力を読み込みます。
.Ar word
は変数、ファイル名、コマンド置換を受けません。シェル入力の行は
読み込まれるとすぐに
.Ar word
と比較されます(置換を行う前に)。その後、
.Ar word
`\e', `"', `\'', `\*(ga' クォートが出現しないなら、読み込まれた行には
変数置換と
.\" #### ^^^^^^^ `\'' だと思う(1次チェック者のコメント?jpman kuma 961205)
.\" #### kuma agree with you, changed as specified 96.12.22
コマンド置換が適用されます。この置換を抑制するために、`\e' によって
`$', `\e', `\*(ga' をクォートすることができます。コマンド置換において、
すべての空白、タブ、改行は保存されますが、最後の改行は削除されます。
読み込んだ行はすべて中間的なファイルに保存され、コマンドの標準入力として
用いられます。
.It > name
.It >! name
.It >& name
.It >&! name
ファイル
.Ar name
を標準出力として用います。ファイルが存在しなければ作成され、
すでにファイルが存在すればその内容は切り捨てられ、以前の内容は失われます。
.Pp
変数
.Ar noclobber
がセットされている場合、ファイルが存在しないか文字型特殊ファイル (端末や
`/dev/null' のような) でなければエラーになります。これは、
すでに存在するファイルを思いがけず削除してしまうことを防止します。`!' を
用いた形式を使うと、この検査を抑制することができます。
.Pp
`&' を用いた形式では、標準出力とともに標準エラー出力もファイルへ
リダイレクトされます。
.Ar name
.\" #### modified by kuma 96.12.21 ####
は、 `<' の入力ファイル名の場合と同様の展開を受けます。
.It >> name
.It >>& name
.It >>! name
.It >>&! name
`>' と同様に、ファイル
.Ar name
を標準出力として用います。ただし、コマンドの出力はファイルへ追加されます。
変数
.Ar noclobber
がセットされている場合、
ファイルが存在しなければエラーとなります(`!' を用いることで、
この検査を抑制することができます)。
他は `>' と同様です。
.El
.Pp
コマンドは、シェルが起動されたときの環境を、入出力リダイレクトと
パイプラインによって変更したもののなかで実行されます。以前のいくつかの
シェルとは異なり、
シェルコマンドファイルから起動されたコマンドは、デフォルトでは標準入力に
よってシェルコマンドファイル自体にアクセスすることはできません。
かわりに、シェルが起動した環境の標準入力をそのまま受け継いでいます。
`<<' 機構はインラインデータのために用いるべきです。
このように制限することにより、
シェルコマンドスクリプトをパイプラインの一部として用いることができます。
バックグラウンドで実行されているコマンドの標準入力も
.Pa /dev/null
等にリダイレクトされることは
.Ar なく
、シェルの標準入力をそのまま受け継いでいます。もし標準入力が端末で、
コマンドが端末から読み込もうとした場合、そのプロセスはブロックされ、
シェルはユーザにそのことを通知します(参照:
.Sx ジョブ
の項)。
.Pp
標準エラー出力もパイプにリダイレクトすることができます。単純に `\&|' の
かわりに `\&|&' を使います。
.Ss 式
.\" #### modified by kuma 96.12.21 ####
いくつかの組み込みコマンド(後述します)は、引数として式を取ります。式は C
言語のものと類似しており、同じ優先順位を持ちます。式は
.Em @ ,
.Em exit ,
.Em if ,
.Em while
コマンド中で用います。以下の演算子が使用可能です:
.Bd -ragged -offset indent
\&|\&| && \&| \*(ua & == != =~ !~ <= >=
< > << >> + \- * / % ! ~ ( )
.Ed
.Pp
上記の演算子は右にいくほど優先順位が高くなっています。
`==' `!=' `=~' `!~', `<=' `>=' `<' `>', `<<' `>>', `+' `\-',
`*' `/' `%' の 5グループは各グループ内では同じ優先度です。
`==', `!=', `=~', `!~' は文字列の比較を行い、他の演算子は数値演算を
行います。`=~', `!~' は `!=', `==' と同様ですが、右辺を
.Ar パターン
(`*', `?', `[...]' を含んだ) とみなして、左辺とのパターンマッチが行われます。
これにより、シェル
スクリプトにおいてパターンマッチのみが必要な局面では
.Ar switch
ステートメントを使わずに済ませることができます。
.Pp
先頭が `0' の文字列は 8 進数の数値とみなされます。空または省略された引数
は `0' とみなされます。すべての演算結果は 10 進数数値の文字列となります。
式の 2 つの要素が同一の単語中に出現してはいけません。つまり、
.\" #### modified by kuma 96.12.21 ####
要素の前後が、構文解析において特殊な意味を持つ
`&', `\&|', `<', `>', `(', `)' でない場合は、
その要素は空白で囲まれていることが必要です。
.Pp
数式中では、`{' と `}' で囲んだコマンドと、
以下のファイル検査演算子を用いることができます。
ファイル検査演算子は
.Fl l
.Ar name
の形式で、
.Ic l
は以下のうちのいずれかです:
.Bd -literal -offset indent
r 読み込みアクセス
w 書き込みアクセス
x 実行アクセス
e 存在
o 所有
z サイズがゼロ
f 通常ファイル
d ディレクトリ
.Ed
.Pp
指定された name は、コマンド、ファイル名置換を適用したのちに
実ユーザの権限において検査されます。ファイルが存在しないか、
アクセス不可なら演算結果は false すなわち `0' になります。
コマンド実行においては、コマンドが成功したなら演算結果は true `1' に、
コマンドが 0 以外の終了ステータスを返してきたら、すなわち、
失敗なら演算結果は false `0' になります。
終了ステータスの値自体を知りたい場合は、コマンドを式以外の文脈で実行し、変数
.Ar status
の値を調べます。
.Ss 制御構造
シェルにはコマンドファイル(シェル・スクリプト)中で、
あるいは(制限されてはいるが、便利な方法で)端末から、
制御の流れを変更するためのいくつかのコマンドがあります。
これらのコマンドはシェルに入力を読み直させたり、
スキップさせたりすることができます。実装の制限上、
これらのコマンドを書くことのできる位置に制限があります。
.Pp
.Ic foreach ,
.Ic switch ,
.Ic while ,
文、および、
.Ic if\-then\-else
.Ic if
ステートメントは、
後述するように入力行の単一の単純コマンドとして現れる必要があります。
.Pp
シェルの入力がシーク不可能な場合、
シェルは繰り返しが必要なときには入力をバッファに保存し、
.\" #### modified by kuma 96.12.23 ####
この内部バッファに対してシークを行います(このため、シーク不可能な入力の場合も、
後方への goto が可能です)。
.Ss 組み込みコマンド
組み込みコマンドは通常シェルのプロセス内部で実行されます。
ただし、組み込みコマンドがパイプラインの最後以外に用いられた場合は、
サブシェル上で実行されます。
.Pp
.Bl -tag -width Ds -compact -offset indent
.It Ic alias
.It Ic alias Ar name
.It Ic alias Ar name wordlist
1行目の形式はすべてのエイリアスを出力します。2 行目の形式は
.Ar name
に対応したエイリアスの値を出力します。最後の形式は
.Ar wordlist
.Ar name
のエイリアスとして登録します。
.Ar wordlist
にはコマンド置換、ファイル名置換が適用されます。
.Ar name
として
.Ar alias
または
.Ar unalias
を指定することはできません。
.Pp
.It Ic alloc
.Nm
が獲得したメモリのうちの使用量と空き容量を表示します。
なんらかの引数をつけると、ブロックサイズごとの使用中/空ブロック数を表示します。
ブロックサイズは 8、16、32、.. となります。
本コマンドの出力はシステムによって異なります。
VAX 以外のシステムは、異なるメモリ管理を行っているかもしれないからです。
.Pp
.It Ic bg
.It Ic bg \&% Ns Ar job ...
現在のジョブあるいは指定されたジョブをバックグラウンドに移動します。
もしそれらのジョブが停止されていたなら、実行が再開されます。
.Pp
.It Ic break
最も内側の
.Ic foreach
または
.Ic while
ループに対応する
.Ic end
の後へ脱出します。同じ行にある残りのコマンドは実行されます。複数の
.Ic break
を同一行に記述することで複数レベルの脱出が行えます。
.Pp
.It Ic breaksw
.Ic switch
から脱出し、
.Ic endsw
のあとで実行を再開します。
.Pp
.It Ic case Ar label :
.Ic switch
ステートメントのラベルを指定します。
.Pp
.It Ic cd
.It Ic cd Ar name
.It Ic chdir
.It Ic chdir Ar name
.\" #### modified by kuma 96.12.23 ####
シェルの作業ディレクトリをディレクトリ
.Ar name
に変更します。引数が指定されなかった場合には、
ユーザのホーム・ディレクトリに変更します。
カレント・ディレクトリにディレクトリ
.Ar name
がない場合(かつ
.Ar name
が `/', `./', `../'
で始まっていない場合)、変数
.Ic cdpath
の各要素のサブディレクトリとして
.Ar name
がないかどうかを調べます。最後に、シェル変数
.Ar name
に `/' で始まる値が設定されているなら、
その値のディレクトリが存在しないかを調べます。
.Pp
.It Ic continue
最も内側の
.Ic while
または
.Ic foreach
ループの先頭に戻ります。戻る前に、同じ行に記述されたコマンドが実行されます。
.Pp
.It Ic default :
.Ic switch
ステートメントのデフォルトを指定します。
.Ic default
は、すべての
.Ic case
ラベルのあとに出現しなければなりません。
.Pp
.It Ic dirs
ディレクトリ・スタックを表示します。
スタックの先頭(カレント・ディレクトリ)を左端にして表示します。
.Pp
.It Ic echo Ar wordlist
.It Ic echo Fl n Ar wordlist
指定された単語を空白で区切った文字列をシェルの標準出力に書き出します。
.Fl n
オプションが指定されなければ、最後に改行が出力されます。
.Pp
.It Ic else
.It Ic end
.It Ic endif
.It Ic endsw
.Ic foreach ,
.Ic if ,
.Ic switch ,
.Ic while
ステートメントの項を参照してください。
.Pp
.It Ic eval Ar arg ...
(
.Xr sh 1
と同様)引数をシェルへの入力であるとみなして読み込み、
現在のシェルのコンテキストで実行します。
コマンド置換や変数置換の結果として生成されたコマンド列を実行する場合に用いられます。
通常は、それらの置換に先立って文法解析が行われてしまうからです。
.Ic eval
の使い方の例が
.Xr tset 1
にあります。
.Pp
.It Ic exec Ar command
指定された command を現在のシェルと置き換えて実行します。
.Pp
.It Ic exit
.It Ic exit Ar (expr )
1行目の形式では変数
.Ic status
の値、2 行目の形式では式
.Ic expr
の値を返り値としてシェルを終了します。
.Pp
.It Ic fg
.It Ic fg % Ns Ar job ...
現在のジョブあるいは指定されたジョブをフォアグラウンドに移動します。
停止していたジョブは実行を再開します。
.Pp
.It Ic foreach Ar name (wordlist)
.It ...
.It Ic end
変数
.Ic name
.Ic wordlist
の各値を順次セットしながら対応する
.Ic end
までのコマンドを繰り返し実行します(
.Ic foreach
.Ic end
.\" #### modified by kuma 96.12.23 ####
は単独で行に置かなければなりません)。組み込みコマンド
.Ic continue
を使って中途でループの次の繰り返しを実行させたり、
.Ic break
コマンドによって中途でループを脱出させたりすることができます。
このコマンドが端末から読み込まれる場合、ループすべての内容が(プロンプト
? を表示しながら)読み込まれてから実行が開始されます。
端末からループ中でタイプ・ミスした場合は修正できます。
.Pp
.It Ic glob Ar wordlist
.Ic echo
コマンドと似ていますが、`\e' によるエスケープは解釈されず、
.\" #### modified by kuma 96.12.23 ####
単語はヌル文字によって区切られます。プログラムから、
シェルをファイル名置換のために利用する場合に便利です。
.Pp
.It Ic goto Ar word
.Ic word
にファイル名置換、およびコマンド置換が適用されたのち、それを `label'
とみなします。シェルは可能なかぎり入力を遡って読み直し、`label:'
のある行を検索し、そこから実行を開始します。
ラベルの前には空白またはタブを置くことが可能です。
.Pp
.It Ic hashstat
コマンドを検索するのに、
内部キャッシュがどの程度効率的に働いているか
(そして
.Ic exec
をどの程度回避できているかを)を表示します。
.\" #### modified by kuma 96.12.23 ####
.Em path
の要素のうち、ハッシュ関数がヒットの可能性を示すものと、
`/' で始まらないものについて
.Ic exec
が試みられます。
.Pp
.It Ic history
.It Ic history Ar n
.It Ic history Fl r Ar n
.It Ic history Fl h Ar n
ヒストリのリストを表示します。数字
.Ar n
が指定された場合には、最近の
.Ar n
個のイベントが表示されます。
.Fl r
オプションは表示順序を逆にします。
.\" #### modified by kuma 96.12.23 ####
すなわち、最も古いものを先に表示するのではなく、
最も新しいものを先に表示します。
.Fl h
オプションを指定すればイベント番号が省略されます。これは
.Ic source
コマンドで \-h を使って読み込むためのファイルを生成する場合に用いることができます。
.Pp
.It Ic if ( Ar expr ) No command
.\" #### modified by kuma 96.12.23 ####
指定された式が true と評価されたなら、単一のコマンド
.Ar command
が実行されます。
.Ar command
.\" #### modified by kuma 96.12.23 ####
に対する変数置換は、実行に先だって
.Ic if
コマンドの残りの部分と同時に行なわれます。
.Ar command
は単純コマンドのみが許され、パイプライン、コマンドリスト、括弧でくく
られたコマンドであってはいけません。入出力リダイレクションは式
.Ar expr
が false
と評価され、それゆえ
.Ar command
が実行
.Sy されなかった
場合にも処理されます(これはバグです)。
.Pp
.It Ic if ( Ar expr ) Ic then
.It ...
.It Ic else if ( Ar expr2 ) Ic then
.It ...
.It Ic else
.It ...
.It Ic endif
.Ar expr
が true なら最初の
.Ic else
までのコマンドが実行されます。さもなければ、式
.Ar expr2
が true なら次の
.Ic else
までのコマンドが実行されます。
いくつでも
.Ic else-if
の対を繰り返すことができます。最後に 1 つの
.Ic endif
が必要です。
最後の
.Ic else
部分はあってもなくてもかまいません。
(単語
.Ic else
.Ic endif
は入力行の最初に置く必要があります。また、
.Ic if
は行内に単独で、または
.Ic else
のあとに置く必要があります)。
.Pp
.It Ic jobs
.It Ic jobs Fl l
アクティブなジョブの一覧を出力します。
.Fl l
.\" #### modified by kuma 96.12.23 ####
オプションを指定すると、通常の情報に加えてプロセス ID も出力します。
.Pp
.It Ic kill % Ns Ar job
.It Ic kill Ar pid
.It Ic kill Fl sig Ar pid ...
.It Ic kill Fl l
TERM(terminate) シグナルあるいは指定したシグナルを、
指定されたジョブまたはプロセスに送ります。
シグナルは番号または名前で指定できます(名前は
.Pa /usr/include/signal.h
にある名前から `SIG' を取り除いたものです)。
シグナル名の一覧を ``kill \-l'' により表示できます。
kill にはデフォルト動作はなく、
単に `kill' を実行しても現在のジョブにシグナルが送られるようなことはありません。
送るシグナルが TERM(terminate) または HUP(hangup) の場合、
CONT(continue) シグナルも同時に送られます。
.Pp
.It Ic limit
.It Ic limit Ar resource
.It Ic limit Ar resource maximum-use
.It Ic limit Fl h
.It Ic limit Fl h Ar resource
.It Ic limit Fl h Ar resource maximum-use
現在のプロセスと、それが生成するプロセスのそれぞれについて、
.\" #### modified by kuma 96.12.23 ####
指定されたリソース
.Ar resource
を、指定された
.Ar maximum-use
を超えて使用しないように設定します。
.Ar maximum-use
が指定されなかった場合、現在の制限値が表示されます。
.Ar resource
が指定されなかった場合、すべての制限値が表示されます。
.Fl h
オプションが指定された場合、
現在の制限値のかわりにハードリミットの表示/設定を行います。
.\" #### modified by kuma 96.12.23 ####
ハードリミットは現在の制限値の上限の値です。
スーパーユーザのみがハードリミットを増加させることができます。
一般ユーザは現在の制限値を可能な範囲で増減することができます。
.Pp
.\" #### modified by kuma 96.12.23 ####
現在のところ、制御可能なリソースは、
.Ar cputime
(各プロセスが使うことのできる最大の CPU 秒数)、
.Ar filesize
(1つのファイルの最大サイズ)、
.Ar datasize
(
.Xr sbrk 2
.\" #### modified by kuma 96.12.23 ####
を用いてプログラムのテキスト領域の末尾を超えて増加させることのできる
data+stack 領域の最大サイズ)、
.Ar stacksize
.\" #### modified by kuma 96.12.23 ####
(自動的に拡張されるスタックの最大サイズ)、
.Ar coredumpsize
(最大のコアファイルのサイズ)です。
.Pp
最大値
.Ar maximum-use
は、(整数あるいは浮動小数の)
数値とそれに続くスケールファクタによって指定します。
.Ar cputime
以外の制限値のデフォルトのスケールファクタは
`k' あるいは `kilobytes'(1024 バイト)です。
.\" #### modified by kuma 96.12.23 ####
スケールファクタとして `m' あるいは `megabytes'
を使用することもできます。
.Ar cputime
のデフォルトのスケールファクタは `seconds'(秒)です。
`m'(分)、`h'(時間) をスケールファクタとして指定したり、
`mm:ss' 形式で分秒を指定したりすることができます。
.Pp
.\" #### modified by kuma 96.12.23 ####
リソース名
.Ar resource
とスケールファクタを指定する際には、
.\" #### modified by kuma 96.12.23 ####
一意に決定できるなら、名前の先頭部分だけを指定することができます
.\" #### jpman kuma: not found in freebsd-2.1.5-RELEASE manpage (st を stacksize のかわりに用いる等)。
.Pp
.It Ic login
ログイン・シェルを終了し、
.Pa /usr/bin/login
と置き換えます。これは
.Xr sh 1
との互換性のために用意されたログオフの手段です。
.Pp
.It Ic logout
ログイン・シェルを終了します。
.Ic ignoreeof
がセットされている場合に便利です。
.Pp
.It Ic nice
.It Ic nice Ar +number
.It Ic nice Ar command
.It Ic nice Ar +number command
1 行目の形式は、シェルのスケジューリング・プライオリティを 4 に設定します。
2 行目の形式は、プライオリティを指定された値
.Ar number
に設定します。残りの 2 つの形式は、コマンド
command をプライオリティ 4 または指定した
.Ar number
で実行します。
.\" #### modified by kuma 96.12.23 ####
大きい数値を指定するとプロセスが利用できる CPU がその分少なくなります。
スーパーユーザのみがプライオリティとして負の値を `nice \-number ...'
のように指定することができます。
.Ar command
はつねにサブシェルで実行され、
単純な
.Ic if
.\" #### modified by kuma 96.12.23 ####
文のコマンドと同様の制限を受けます。
.Pp
.It Ic nohup
.It Ic nohup Ar command
1 行目の形式は、シェル・スクリプト内で使用し、
スクリプトのそれ以降で hangup シグナルを無視するように設定します。
2 行目の形式は、指定されたコマンドが、
hangup シグナルを無視するように設定して実行します。
`&' をつけて実行されたプログラムは、
.Ic nohup
を指定して実行したのと同様に hangup シグナルを無視します。
.Pp
.It Ic notify
.It Ic notify % Ns Ar job ...
現在のジョブまたは指定されたジョブの状態が変化したときに、
.\" #### modified by kuma 96.12.23 ####
コマンド待ちかどうかに関わりなく即座に通知するように指定します。
通常は、プロンプトが表示される直前に通知が行われます。
シェル変数
.Ic notify
が指定されている場合は、すべてのジョブに対して同様の設定が行われます。
.Pp
.It Ic onintr
.It Ic onintr Fl
.It Ic onintr Ar label
割り込みに対するシェルの動作を制御します。1行目の形式は、
シェルをデフォルトの動作、すなわち、スクリプトの実行が中断される、
またはコマンド入力状態に戻るように設定します。
2 行目の形式は、すべての割り込みを無視するように設定します。
3行目の形式は、シェルが割り込みを受けるか、
チャイルドプロセスが割り込みによって停止した場合に
goto label が実行されるように設定します。
.Pp
シェルがバックグラウンドで、かつ、
シグナルを無視するように設定して実行されている場合は、
.Ic onintr
は効力を持たず、
割り込みはシェルとそこから起動されるすべてのコマンドで
引続き無視されます。
最後に
.Ic onintr
文はシステムのスタートアップ・ファイル
(/etc/csh.cshrc, /etc/csh.login) 中でも、
割り込みが禁止されているので無視されます。
.Pp
.It Ic popd
.It Ic popd Ar +n
ディレクトリ・スタックをポップし、
新たにスタックの先頭になったディレクトリにカレント・ディレクトリを変更します。
引数
.Ns \`+ Ar n Ns \'
が指定された場合、スタックの
.Ar n
番目の要素が捨てられます。ディレクトリ・スタックの要素は、
スタックの先頭から 0 から順に番号がつけられます。
.Pp
+.It Ic printf Ar format-string values
+.Ar format-string
+と
+.Ar values
+を評価した後、組み込み版の
+.Ic printf
+を起動します。
+詳細はマニュアルページ
+.Xr printf 1
+を参照してください。
+.Pp
.It Ic pushd
.It Ic pushd Ar name
.It Ic pushd Ar n
引数を指定しなかった場合、
.Ic pushd
はスタックの先頭の 2 つの要素を入れ替えます。引数
.Ar name
が指定された場合、
.Ic cd
と同様にカレント・ディレクトリを変更したあと、
古いカレント・ディレクトリ
.\" cwd の typo だと思うが わからない
.\" (as in
.\" .Ic csw )
.\" #### kuma agree with you on 96.12.23 ####
をディレクトリ・スタックにプッシュします。
数字引数が指定された場合、ディレクトリ・スタックの
.Ar n
番目の要素が
スタックの先頭にくるようにローテートし、
カレント・ディレクトリをその要素が指すディレクトリに変更します。
ディレクトリ・スタックの要素は、スタックの先頭から
0 から順に番号がつけられます。
.Pp
.It Ic rehash
変数
.Ic path
に指定されているディレクトリ内の、ファイルに関するハッシュ・テーブルを
再計算させます。ログイン中に、新しいコマンドが
.Ic path
に含まれるディレクトリに追加された場合、
.\" #### modified by kuma 96.12.23 ####
rehash コマンドを実行する必要があります。
これは、あなたが個人的なディレクトリの 1 つにコマンドを追加したか、
システムの管理者がシステム・ディレクトリの内容を変更したような
場合にのみ必要です。
.Pp
.It Ic repeat Ar count command
指定されたコマンド
.Ar command
.Ar count
回繰り返し実行します。
.Ar command
.\" #### modified by kuma 96.12.23 ####
に指定するものは、先の 1 行
.Ic if
文で指定する
.Ar command
と同様の制限を受けます。
入出力リダイレクションは
.Ar count
が たとえ 0 であっても、必ず 1回だけ処理されます。
.Pp
.It Ic set
.It Ic set Ar name
.It Ic set Ar name Ns =word
.It Ic set Ar name[index] Ns =word
.It Ic set Ar name Ns =(wordlist)
1 行目の形式はすべてのシェル変数の値を表示します。
複数の単語からなる値を持つ変数は括弧で囲まれた値のリストで表示します。
2 行目の形式は、
.Ar name
に空文字列を設定します。3 行目の形式は
.Ar name
に単一の単語
.\" #### modified by kuma 96.12.23
.Ar word
を設定します。4 行目の形式は
.Ar name
.Ar index
番目の要素に
.Ar word
を設定します。
.Ar index
番目の要素はすでに存在していなければなりません。5 行目の形式は
.Ar name
.Ar wordlist
で指定した単語列を設定します。すべての形式で、
値にはコマンド置換とファイル名置換が適用されます。
.Pp
複数の変数を設定するために、set コマンドへの引数を繰り返すことができます。
ただし、引数に対する変数展開処理は、代入処理に先だって行われます。
.Pp
.It Ic setenv
.It Ic setenv Ar name
.It Ic setenv Ar name value
1 行目の形式はすべての環境変数の一覧を出力します。
これは
.Xr printenv 1
と等価です。
3 行目の形式は環境変数
.Ar name
に値
.Ar value
を設定します。2 行目の形式は環境変数
.Ar name
.\" #### modified by kuma 96.12.23 ####
に空文字列を設定します。最も一般的に用いられる環境変数である
.Ev USER ,
.Ev TERM ,
.Ev PATH
.Nm
の起動時にシェル変数
.Ar user ,
.Ar term ,
.Ar path
にそれぞれ設定され、
.Nm
から実行するプログラムの環境変数には、シェル変数
.Ic user ,
.Ic term ,
.Ic path
の値が反映されます。そのため、これらの変数を明示的に
.Ic setenv
する必要はありません。
.Pp
.It Ic shift
.It Ic shift Ar variable
(リスト)変数
.Ic argv
.\" #### modified by kuma 96.12.23 ####
の各要素を左にシフトし、
.Ic argv Ns Bq 1
の値を捨てます。
.Ic argv
に値が設定されていないか、
1 つ以上の要素を持たない場合にはエラーになります。
2 行目の形式は、指定された変数
.Ar variable
に対して同様の処理を行います。
.Pp
.It Ic source Ar name
.It Ic source Fl h Ar name
シェルは、指定されたファイル
.Ar name
からコマンドを読み込みます。
.Ic source
コマンドはネストすることができます。あまりに深くネストさせると、
.\" #### modified by kuma 96.12.23 ####
ファイル識別子を使い切ってしまう場合があります。いずれかのレベルの
.Ic source
コマンド中でエラーが発生すると、ネストしているすべての
.Ic source
コマンドが中断されます。通常、
.Ic source
の実行中に実行されたコマンドはヒストリに記録されませんが、
.Fl h
オプションを指定することにより、
ファイルに記述してあるコマンドを実行せずに、
ヒストリにのみ記録することができます。
.Pp
.It Ic stop
.It Ic stop % Ns Ar job ...
バックグラウンドで走行中の現在のジョブ、あるいは指定されたジョブを停止します。
.Pp
.It Ic suspend
シェル自身を停止させます。
.Em ^Z
でストップ・シグナルを送られたかのように振舞います。
.Xr su 1
によって起動したシェルを停止する場合によく用いられます。
.Pp
.It Ic switch Ar (string)
.It Ic case Ar str1 :
.It \ \ \ \ \&...
.It Ic \ \ \ \ breaksw
.It \ \ \ \ \&...
.It Ic default :
.It \ \ \ \ \&...
.It Ic \ \ \ \ breaksw
.It Ic endsw
.\" #### modified by kuma 96.12.23 ####
.Ic case
ラベルを順に、指定された文字列
.Ar string
でマッチングを行います。
.Ar string
には、まず、コマンド置換とファイル名置換が行われます。
.Ic case
ラベルには変数置換が行われ、ファイル名メタキャラクタの
`*', `?', `[...]' を用いることができます。
.\" #### modified by kuma 96.12.23 ####
.Ic default
ラベルが出てくるまでにどの
.Ic case
ラベルともマッチしなかった場合は、
.Ic default
ラベルの直後から実行が始まります。
.Ic case
ラベルと
.Ic default
ラベルは行の最初に書かれなければなりません。
.Ic breaksw
コマンドによって
.Ic endsw
以降のコマンドから実行が再開されます。
.Ic breaksw
を用いない場合は、 C 言語の場合と同様に、
.Ic case
ラベル、
.Ic default
ラベルを通過して実行が続けられます。
.Ic default
がなく、どのラベルもマッチしなかった場合には、
.Ic endsw
以降から実行が再開されます。
.Pp
.It Ic time
.It Ic time Ar command
1 行目の形式では、
シェルとそのチャイルドプロセスが使用した時間が表示されます。
.\" #### modified by kuma 96.12.23 ####
2 行目の形式では、指定された単純コマンドの実行時間が計測され、
.\" #### modified by kuma 96.12.23 ####
変数
.Ic time
の項で説明する形式で、使用時間情報の要約が表示されます。
必要ならば、コマンド終了時に時間を表示するための追加のシェルが生成されます。
.Pp
.It Ic umask
.It Ic umask Ar value
ファイル作成マスクを表示(第 1 の形式)または設定(第 2 の形式)します。
マスクは 8 進数で与えます。一般的な値としては、
グループにすべての権限を与え、
そのほかには読み込みと実行のみを許可する 002 や、
所有者以外には読み込みと実行しか許可しない 022 があります。
.Pp
.It Ic unalias Ar pattern
.Ar pattern
にマッチするすべてのエイリアスを削除します。
`unalias *' とすることですべてのエイリアスを削除することができます。
削除するものがなかった場合にもエラーにはなりません。
.Pp
.It Ic unhash
実行プログラムの位置検索を高速化する内部ハッシュ・テーブルの使用を禁止します。
.Pp
.It Ic unlimit
.It Ic unlimit Ar resource
.It Ic unlimit Fl h
.It Ic unlimit Fl h Ar resource
リソースの制限を解除します。
.Ar resource
が指定されない場合、すべてのリソースに対する制限が解除されます。
.Fl h
が指定された場合、対応するハードリミットが解除されます。
これはスーパーユーザのみが行うことができます。
.Pp
.It Ic unset Ar pattern
指定された
.Ar pattern
にマッチするすべての変数を削除します。
`unset *' と指定するとすべての変数が削除され、
悲惨な結果を生じることがあります。
.Ic unset
するものがない場合もエラーになりません。
.Pp
.It Ic unsetenv Ar pattern
指定された
.Ar pattern
にマッチするすべての環境変数を削除します。前述の
.Ic setenv
の項と
.Xr printenv 1
を参照してください。
.Pp
.It Ic wait
すべてのバックグラウンドジョブの終了を待ちます。
対話的にシェルが実行されている場合、
インタラプトにより wait を停止することができます。
このとき、シェルはいまだに終了していないジョブの名前とジョブ番号を表示します。
.It Ic which Ar command
.\" #### modified by kuma 96.12.23 ####
.Ar command
を指定したとき、シェルが実行するコマンドの位置を表示します。
.Pp
.It Ic while Ar (expr)
.It \&...
.It Ic end
指定された式の評価結果がゼロでないかぎり、
.Ic while
と対応する
.Ic end
の間のコマンドを繰り返し実行します。
.Ic break
.Ic continue
によりループを終了したり、途中から繰り返しを再開させたりすることができます。
(
.Ic while
.Ic end
は、その行に単独で書かれなければなりません。)入力が端末の場合、
.Ic foreach
ステートメントの場合と同様に、
ループのすべてを入力するまでプロンプトが表示され、
すべての入力を終えた時点でループが実行されます。
.Pp
.It Ic % Ns Ar job
指定されたジョブをフォアグラウンドに移動します。
.Pp
.It Ic % Ns Ar job Ic &
指定されたジョブをバックグラウンドで再開実行させます。
.Pp
.It Ic @
.It Ic @ Ar name Ns = Ns expr
.It Ic @ Ar name[index] Ns = Ns expr
1 行目の形式は、すべてのシェル変数の値を表示します。2 行目の形式は、
指定された名前
.Ar name
の変数に式
.Ar expr
の値を代入します。式のなかに `<', `>', `&', `|'を含んでいる場合、
少なくともそのような部分は `(' と `)' で囲まれている必要があります。
3 行目の形式は、変数の
.Ar index
番目の要素に式
.Ar expr
の値を代入します。
.Ar name
と、その
.Ar index
番目の要素はすでに存在していなければいけません。
.El
.Pp
C 言語と同様に、演算子 `*=', `+=' 等が利用可能です。
変数名と演算子の間の空白はあってもなくてもかまいません。
しかしながら、式の各要素の間には空白が必須です。
さもなければ、単一の単語とみなされてしまいます。
.Pp
特別な後置演算子 `+\|+' と `\-\|\-' により変数の値を 1 だけ増加させたり、
減少させたりすることができます。たとえば、`@ i++' のように使います。
.Ss 定義済み変数と環境変数
以下の変数は、シェルにとって特別な意味があります。これらのうち、
.Ar argv ,
.Ar cwd ,
.Ar home ,
.Ar path ,
.Ar prompt ,
.Ar shell ,
.Ar status
はシェルが設定します。そのうち、
.Ar cwd
.Ar status
以外の変数の設定はシェルの起動時にのみ行われます。
そのような変数は、ユーザが明示的に変更しないかぎり、
値が変化することはありません。
.Pp
シェルは、環境変数
.Ev USER
をシェル変数
.Ar user
に、
.Ev TERM
.Ar term
に、
.Ev HOME
.Ar home
にそれぞれコピーします。また、
これらのシェル変数が再度セットされた場合は環境変数にコピーしなおします。
環境変数
.Ev PATH
も同様に扱われます。サブシェルは環境変数によって
.Ar path
の値を得て、もしそれが変更されれば環境変数にコピーしなおすので
.Ar \&.cshrc
以外での
.Ar path
変数の設定について気をつける必要はありません。
.Bl -tag -width histchars
.It Ic argv
シェルへの引数が設定されます。位置パラメータは argv の値に展開されます。
すなわち、 `$1' は `$argv[1]' の値に置換されます。
.It Ic cdpath
.Ar chdir
.\" #### modified by kuma 96.12.23 ####
コマンドにおいてサブディレクトリを検索するためのディレクトリのリストです。
.It Ic cwd
.\" #### modified by kuma 96.12.23 ####
カレント・ディレクトリのフルパス名です。
.It Ic echo
.Fl x
オプションが指定された場合にセットされます。セットすることにより、
コマンドが実行される前にコマンド名とその引数が表示されるようになります。
.\" #### modified by kuma 96.12.23 ####
組み込みコマンド以外では、表示の前にすべての展開が行われます。
組み込みコマンドではコマンド置換とファイル名置換が行われる前に表示されます。
なぜなら、これらの置換は選択的に行われるからです。
.It Ic filec
ファイル名補完を有効にします。
.It Ic histchars
ヒストリ置換に用いる文字を文字列で指定します。
指定した文字列の最初の文字はヒストリ置換文字(デフォルトは `!')、
2 文字目は簡易置換文字(デフォルトは `\*(ua') を指定します。
.It Ic histfile
ヒストリをセーブ/リストアするパス名を指定できます。
.It Ic history
ヒストリ・リストのサイズを指定します。
このサイズを超えたコマンド履歴は削除されます。
あまりに大きな値を設定すると、シェルがメモリを使いつくすかもしれません。
最後に実行したコマンドは
.Ar history
の値にかかわらず、つねにヒストリ・リストに保存されます。
.It Ic home
.\" #### modified by kuma 96.12.23 ####
シェルを起動したユーザのホーム・ディレクトリです。
起動時に環境変数から設定されます。
ファイル名置換において
.Sq Pa ~
は本変数を参照して展開されます。
.It Ic ignoreeof
セットされると、端末のファイル終端(EOF)を無視するようになります。
間違って control-D を押してシェルを終了させてしまうのを防ぐことができます。
.It Ic mail
シェルがメールの到着をチェックするためのメールファイルを指定します。
コマンド実行が完了しプロンプトが表示されるときに、
.\" #### modified by kuma 96.12.23 ####
指定された時間が経過していればメイル到着のチェックが行われます。
最終修正時刻が最終アクセス時刻以降の場合、
シェルは `You have new mail' と出力します。
.Pp
.Ar mail
の値の最初の単語が数値の場合には、
その数値でメール検査の間隔を秒単位で指定します。
指定がなかった場合のデフォルト値は 10分です。
.Pp
複数のメールファイルが指定された場合、
メールが到着していた場合のメッセージは `New mail in
.Ar name Ns '
となります。ここで、
.Ar name
は到着したメールが あるファイル名です。
.It Ic noclobber
.Sx 入出力
の項で説明したように、
出力リダイレクトによって意図せずにファイルを削除しないように制限したり、
`>>' リダイレクトがすでに存在するファイルにしか適用できないようにします。
.It Ic noglob
セットされると、ファイル名展開が禁止されます。
ファイル名を扱わないシェルスクリプト内や、すでにファイル名展開を行ったあとで、
それ以上の展開を望まない場合に設定します。
.It Ic nonomatch
.\" #### modified by kuma 96.12.23 ####
セットされると、ファイル名展開の結果が空になってもエラーとせず、
展開前のパターンをそのまま残します。
.\" #### modified by kuma 96.12.23 ####
ただし、`echo [' のような、
展開前のパターンが文法的に正しくない場合はエラーになります。
.It Ic notify
セットされると、シェルがジョブの終了を随時報告するようになります。
通常はプロンプトの表示直前にのみ報告が行われます。
.It Ic path
.\" #### modified by kuma 96.12.23 ####
path 変数の各単語は、コマンドファイルを検索すべきディレクトリ名を表します。
空の単語はカレント・ディレクトリを示します。
.Ar path
変数が設定されて
いない場合、フルパス指定によるコマンド実行のみが可能になります。
通常の検索パスは
- `.', `/bin', `/usr/bin' です。しかし、これらの値はシステムによって異なります。
+`.', `/bin', `/usr/bin' です。しかし、これらの値はシステムによって異なります。
スーパーユーザのデフォルトの検索パスは `/etc', `/bin', `/usr/bin' です。
.Fl c
オプションも
.Fl t
オプションも指定されなかった場合、
シェルは
.Ar path
変数で指定されたディレクトリの内容をハッシュ・テーブルに保存します。
ハッシュ・テーブルは、起動時に
.Ar \&.cshrc
を読み込んだ後と
.Ar path
変数を再設定した時に再構築されます。
シェルの実行中に、
新しいコマンドがハッシュされているディレクトリに追加された場合は、
.Ic rehash
コマンドによりハッシュを再構築しなければなりません。
.\" #### modified by kuma 96.12.23 ####
さもなければ、コマンドが見付からない可能性があります。
.It Ic prompt
端末上で対話的に実行されているシェルにおいて、
.\" #### modified by kuma 96.12.23 ####
コマンド読み込み時に表示される文字列を指定します。
`!' が含まれる場合、現在のイベント番号に置換されます。
`\e' を指定することにより、この解釈を抑制することができます。
デフォルトの値は `% 'です。スーパーユーザの場合は `# ' となります。
.It Ic savehist
ログアウト時にファイル ~/.history に保存されるコマンド履歴の数を指定
します。
.\" #### modified by kuma 96.12.23 ####
この値で指定される数のイベントが保存されます。
起動時に、シェルは ~/.history の内容を読み込みます。あまりに
大きな値を指定すると、シェルの起動が遅くなる場合があります。
.Ar savehist
がセットされているだけの場合は
.Ar history
に指定された値を使用します。
.It Ic shell
シェルのフルパス名を示します。実行属性が立っているが、
.\" #### modified by kuma 96.12.23 ####
システムが起動できないファイルを
実行する際に起動するシェルとして用いられます(後述の
.Sx 非組み込みコマンドの実行
の項を参照)。システム依存の値で初期化されます。
.It Ic status
最後に実行したコマンドの終了ステータス値を保持します。
異常終了した場合は、値に 0200 が加算されます。
組み込みコマンドが失敗した場合は `1' に、成功した場合は `0' になります。
.It Ic time
.\" #### modified by kuma 96.12.23 ####
コマンドの自動計時を制御します。値が設定されている場合、
コマンドがその値よりも長く CPU 秒数を消費した場合には、
コマンド終了時にユーザ時間、システム時間、実時間と、
利用率すなわちユーザ+システム時間と実時間のパーセンテージが出力されます。
.It Ic verbose
.Fl v
コマンドラインオプションが指定されていた場合にセットされます。
ヒストリ置換が行われたあと、コマンドの内容が出力されます。
.El
.Ss 非組み込みコマンドの実行
実行すべきコマンドが組み込みコマンドでなかった場合、シェルはコマンドを
.Xr execve 2
システムコールによって起動しようとします。シェル変数
.Ar path
.\" #### modified by kuma 96.12.23 ####
の各単語は、シェルがコマンドを実行しようとするディレクトリ名を表します。
.Fl c
オプションも
.Fl t
オプションも指定されなかった場合、
.\" #### modified by kuma 96.12.23 ####
シェルはそれらのディレクトリ内にあるファイル名のハッシュ値を計算し、
シェル内部のテーブルに格納します。これは、
コマンドが存在する可能性のあるディレクトリだけで
.Ic exec
を試みるようにするためです。
この近道によって、サーチ・パスにたくさんのディレクトリが指定されている時、
コマンドの位置決定が著しく高速化されます。
この機能が(
.Ic unhash
.\" #### modified by kuma 96.12.23 ####
コマンドによって)停止されている場合、または
.Fl c
または
.Fl t
オプションが起動時に指定された場合、または
.Ar path
.\" #### modified by kuma 96.12.23 ####
中の単語で `/'
から始まらないものについては、ハッシュが用いられることはありません。
この場合は、
.Ar path
の要素にコマンドラインで指定されたコマンドを連結した名前を持つ
ファイルを実行しようと試みます。
.Pp
括弧で囲まれたコマンドは、つねにサブシェルによって実行されます。ですから、
.Pp
.Dl (cd ; pwd) ; pwd
.Pp
はホーム・ディレクトリの値を表示しますが、カレント・ディレクトリ(ホーム・
.\" #### modified by kuma 96.12.23 ####
ディレクトリの後に表示されます)は移動しません。
一方、
.Pp
.Dl cd ; pwd
.Pp
を実行すると、カレント・ディレクトリがホーム・ディレクトリに移動します。
括弧で囲まれたコマンドは、現在のシェルのカレント・ディレクトリに
影響を与えずにコマンドを実行する場合にしばしば用いられます。
.Pp
実行属性が立っているにもかかわらず、
システムによって実行可能ではないファイルは
シェルコマンドファイルであるとみなし、
サブシェルを起動してそのファイルを読み込ませます。
.Pp
.Ic shell
という名前のエイリアスが存在する場合、
エイリアスの値はシェルコマンドファイルを実行する場合の
引数リストの前に挿入されます。エイリアスの値の最初の単語は
シェルのフルパス名でなければいけません(たとえば `$shell')。
.\" #### modified by kuma 96.12.23 ####
これはエイリアス展開としては特別のもので、かなり後の時点に行われ、
引数リストを修正せずに、その前に単語を挿入するための手段を提供します。
.Ss シグナル処理
シェルは、通常
.Ar quit
シグナルを無視します。バックグラウンドのジョブ(
.Ic \&&
または
.Ic bg
または
.Ic %... &
.\" #### modified by kuma 96.12.23 ####
によるコマンド)はキーボードから入力されたシグナルに影響されません
(hangup も含みます)。他のシグナルに対する挙動は親の環境を引き継ぎます。
シェル・スクリプトでの interrupt と terminate シグナルに対する処理は
.Ic onintr
によって制御することができます。ログイン・シェルは
.Ar terminate
シグナルを捕捉します。それ以外のシェルでは、
.Ar terminate
シグナルはシェルの親の状態に従ってチャイルドプロセスに渡されます。
ログイン・シェルが
.Pa \&.logout
ファイルを読み込んでいる間は
interrupt は無視されます。
.Sh 作者
.An William Joy
ジョブ制御とディレクトリ・スタックは
.An J.E. Kulp ,
IIASA, Laxenburg, Austria によって、
.\" #### modified by kuma 96.12.23 ####
現在とは異なる文法のものが実装されました。
ファイル名補完は
.An Ken Greer ,
HP Labs が、
.\" #### modified by kuma 96.12.23 ####
8 bit クリーンな実装は
.An Christos S. Zoulas ,
Cornell University
によって行われました。
.Sh 関連ファイル
.Bl -tag -width /etc/passwd -compact
.It Pa ~/.cshrc
シェルが起動されるときに読み込まれる。
.It Pa ~/.login
ログイン・シェルの場合、ログイン時に `.cshrc' の後に読み込まれる。
.It Pa ~/.logout
ログイン・シェルにおいてログアウト時に読み込まれる。
.It Pa /bin/sh
標準シェル。`#' で始まらないシェル・スクリプトの実行に用いる。
.It Pa /tmp/sh*
`<<' の処理に用いられる一時ファイル。
.It Pa /etc/passwd
`~name' 展開時に用いられるホーム・ディレクトリに関する情報を得る。
.El
.Sh 制限事項
.\" #### modified by kuma 96.12.23 ####
単語の長さは 1024 文字に制限されます。引数リストは、システムによって 10240
文字に制限されています。ファイル名展開を含む引数の数は、
引数リストの文字数の 6 分の 1 に制限されています。
コマンド置換の結果は、引数リストと同数の制限があります。
ループ検出のため、1 行に対するエイリアス展開は 20 回までに制限されています。
.Sh 関連項目
+.Xr printf 1 ,
.Xr sh 1 ,
.Xr su 1 ,
.Xr access 2 ,
.Xr execve 2 ,
.Xr fork 2 ,
.Xr killpg 2 ,
.Xr pipe 2 ,
.Xr setrlimit 2 ,
.Xr sigvec 2 ,
.Xr umask 2 ,
.Xr wait 2 ,
.Xr tty 4 ,
.Xr a.out 5 ,
.Xr environ 7
.br
.Em An introduction to the C shell
.Sh 歴史
.Nm
.Bx 3
で追加されました。
.\" #### modified by kuma 96.12.23 ####
コマンドインタプリタとしては、履歴(参照:
.Sx ヒストリ置換
)、ジョブ制御 (参照:
.Sx ジョブ
.\" #### modified by kuma 96.12.23 ####
参照)、対話的なファイル名補完とユーザ名補完(参照:
.Sx ファイル名補完
.\" #### modified by kuma 96.12.23 ####
)、C言語ライクな文法を採用して実装した最初のものです。
これらの機構にいくつかの追加機能(といくらかのバグの可能性)を
持つシェルは、現在ではたくさんあります。
これらは usenet から入手することができます。
.Sh バグ
コマンドが停止状態から復帰したとき、もしそのコマンドが起動したときの
ディレクトリとカレント・ディレクトリが異なるなら、
シェルはコマンドを起動したときのカレント・ディレクトリの値を表示します。
.\" #### modified by kuma 96.12.23 ####
これは、そのジョブが内部的にディレクトリを変更した場合は誤解(間違った情報)
を与える可能性があります。
.Pp
シェルの組み込みコマンドは中断(suspend)も再開もできません。
`a ; b ; c' のようなコマンド列も適切には中断することができません。
たとえば、 `b' の実行を中断した場合には、
すぐに `c' の実行が開始されてしまいます。これは
.Ar alias
としてコマンド列を指定している場合に特に目立ちます。
このようなコマンド列は `()'
で囲んでサブシェルで実行されるようにすることによって、
適切に停止させることが可能になります(`( a ; b ; c )'のように)。
.Pp
プロセスを起動したあとの端末出力の制御が貧弱です。おそらく、
このために、
.\" #### modified by kuma 96.12.23 ####
もっと良い仮想端末インタフェースを開発したいと考える人がいても何ら不思議はないです。
仮想端末インタフェース上なら、
もっと おもしろい端末出力の制御が可能になるでしょう。
.Pp
.\" #### modified by kuma 96.12.23 ####
シェル関数をシミュレートするために、エイリアスを不格好に用いてしまうことが
よくあります。シェル関数がサポートされるべきです。
.Pp
ループ中のコマンド入力において、
`?' プロンプトに続けて入力された内容はヒストリに残りません。
制御構造は組み込みコマンドとして解釈されるのではなく、
文法的に解釈するようにするべきです。これにより制御コマンドをどこにでも
置けるようになり、`\&|', `&', `;' との組み合わせが
自由にできるようになります。
.Pp
コマンド置換の出力にも `:' 修飾子が適用できるべきです。
.Pp
.\" #### modified by kuma 96.12.23 ####
ファイル名補完機構の実装は不細工かつ非効率的です。
diff --git a/ja_JP.eucJP/man/man1/ctm.1 b/ja_JP.eucJP/man/man1/ctm.1
index 73aaaf0219..d48c222fe5 100644
--- a/ja_JP.eucJP/man/man1/ctm.1
+++ b/ja_JP.eucJP/man/man1/ctm.1
@@ -1,315 +1,315 @@
.\"----------------------------------------------------------------------------
.\""THE BEER-WARE LICENSE" (Revision 42):
.\"<joerg@freebsd.org> wrote this file. As long as you retain this notice you
.\"can do whatever you want with this stuff. If we meet some day, and you think
.\"this stuff is worth it, you can buy me a beer in return. Joerg Wunsch
.\"----------------------------------------------------------------------------
.\"
.\" This manual page is partially obtained from Poul-Hennings CTM README
.\" file.
.\"
.\" CTM and ctm(1) by <phk@login.dknet.dk>
.\"
-.\" %Id: ctm.1,v 1.9.2.3 1998/07/18 11:09:42 jkh Exp %
+.\" %Id: ctm.1,v 1.14 1998/04/20 20:57:16 rnordier Exp %
.\" jpman %Id: ctm.1,v 1.3 1997/09/27 16:26:57 ryo2 Stab %
.\"
.Dd Mar 25, 1995
.Os
.Dt CTM 1
.Sh 名称
.Nm ctm
.Nd ソースコードをミラーするプログラム
.Sh 書式
.Nm ctm
.Op Fl cFklquv
.Op Fl b Ar basedir
.Op Fl B Ar backup-file
.Op Fl e Ar include-regex
.Op Fl t Ar tar-command
.Op Fl T Ar tmpdir
.Op Fl V Ar level
.Op Fl x Ar exclude-regex
.Ar
.Sh 解説
.Nm
は、元々
.Dq Cvs Through eMail
でしたが、今は代わりに
.Dq Current Through eMail
と呼ぶのがふさわしいようです。
.Nm
は、今や 2 つのバージョンのディレクトリツリーの間でデルタを作成して
適用するための最も信頼できる方法を意味します。
これにはデルタの作成と適用という 2 つの部分があります。2 つは
全く異なるものです。
.Ss 使用例
CTM デルタを適用するには、それを
.Nm
コマンドに渡します。CTM デルタを標準入力、またはファイル名を引数として
渡すことができます。後者の方法を取ると、とても簡単に
することができます。なぜなら このプログラムは gzip で圧縮された
ファイルを受け付けて、ファイルの一時的なコピーを作る必要が無いからです。
複数のデルタを一度に指定でき、それらは一度にひとつずつ処理されます。
すでに適用されているデルタは無視されます。
.Nm
コマンドの実行はたくさんのパスにわかれています。
次のパスを始める前に、それぞれのパスで入力ファイルの全体が処理されます。
.Ar name
で指定されたファイルを処理する前に
.Nm
は まず
.Ar name.ctm
というファイルが存在するかどうかをチェックします。
存在すれば、
.Nm
は、かわりにそちらを処理します。
パス 1 では、入力ファイルが正常かどうかを確認します。
文法、データ、全体の MD5 によるチェックサムがチェックされます。
いずれか 1 つでも異常があれば、
.Nm
は単純に入力ファイルを拒否します。
パス 2 ではディレクトリツリーが CTM デルタの期待している状態に
なっているかどうかを確認します。これは存在する/しないはずの
ファイルとディレクトリファイルとディレクトリを捜して
ファイルの MD5 によるチェックサムをチェックすることで行われます。
もし
.Ar backup-file
.Fl B
オプションで指定されていると、その
.Nm
の呼び出しで変更されるファイルが
.Fl t
オプションで指定されたアーカイバコマンドを使って、そのファイルに
バックアップされます。デフォルトのアーカイバコマンドは
.Nm "tar -rf %s -T -"
です。
パス 3 では実際にデルタが適用されます。
.Nm
によって変更されるファイルのリストは、
.Fl e
.Fl x
オプションで指定された正規表現によるフィルタの対象になります。
.Fl e
.Fl x
オプションは、コマンドラインで指定された順に適用されます。
与えられたファイル名に最後にマッチしたフィルタが、そのファイルを
.Nm
の適用対象とするかどうかを決定します。
.Nm
は、その作業ディレクトリ下にファイルの階層を展開します。
絶対パスや
.Sq \&.
.Sq \&.\&.
の参照を含むファイル名は、セキュリティのために明確に禁止されています。
.Ss オプション
.Bl -tag -width indent -compact
.It Fl b Ar basedir
各ファイル名に
.Ar basedir
で指定されたパスを前置します。
.It Fl B Ar backup-file
この CTM の実行で変更されるすべてのファイルを
.Ar backup-file
にバックアップします。
.Fl e
.Fl x
オプションで何らかのフィルタが指定されると、
CTM の実行時にフィルタが適用され、変更されたファイルが、
最終的にバックアップされるファイルのセットとなります。
.It Fl c
確認だけを行ない、他には何もしません。
.It Fl e Ar regular_expression
CTM ファイル中の各ファイル名が
.Ar regular_expression
にマッチするかどうかを調べ、マッチすればそのファイルを処理し、
マッチしなければ何もせずそのまま残します。
このオプションは何個でも指定できます。このオプションを指定すると
.Pa .ctm_status
のシーケンス番号のチェックが行なわれません。
例えば、
.Ic ^usr.sbin/ctm
と指定すると、
.Nm usr.sbin/ctm
というソースディレクトリと、その下のすべてのパス名を指定した事に
なります。
CTM の処理対象からパス名を外すには
.Fl x
オプションを使います。
.It Fl F
強行します。
.It Fl k
ファイルとディレクトリを保存し、CTM ファイルで削除するように
指定されているものでも削除しません。
.Fl B
オプションが指定されると、そのファイルとディレクトリは
バックアップされません。
.It Fl l
その CTM の実行で変更されるはずのファイルと、それに対して
行われるアクションをリストします。
.Fl l
オプションを使うと
.Pa .ctm_status
のチェックと作業対象のソースツリーの正当性チェックが行なわれません。
.Fl l
オプションは、
.Fl e
.Fl x
オプションを組み合わせることで、与えるコマンドラインオプションで
どのファイルが変更されるかを見定めることができます。
.It Fl q
表示を減らします。
.It Fl t Ar tar-command
デフォルトのアーカイバである
.Nm tar
の代わりに
.Ar tar-command
を使います。
このオプションは、バックアップファイルが
.Fl B
オプションで指定された場合にのみ効果があります。
tar command 中には一つだけ %s を置くことができ、
バックアップファイルの名前に置き換えられます。
.It Fl T Ar tmpdir
一時ファイルを
.Ar tmpdir
に置きます。
.It Fl u
作成、変更されるファイルの更新時刻を CTM デルタが作成された
時刻に設定します。
.It Fl v
表示を増やします。
.It Fl V Ar level
表示を増やします。
.Ar level
は饒舌さの程度です。
.It Fl x Ar regular_expression
CTM ファイル中の各ファイル名を
.Ar regular_expression
とマッチするかどうかを調べ、マッチすればそのファイルを除外します。
このオプションは何個でも指定できます。このオプションを指定すると
.Pa .ctm_status
のシーケンス番号のチェックが行なわれません。
CTM の処理対象にパス名を加えるには
.Fl e
オプションを使います。
.El
.Sh 環境変数
.Ev TMPDIR
にパス名がセットされていると、ctm は一時ファイルの置き場所として
そのパス名を使います。
これに関しての詳細は
.Xr tempnam 3
を参照して下さい。
同じ効果は
.Fl T
フラグでも得られます。
.Sh 関連ファイル
.Pa .ctm_status
には、最後に適用した CTM デルタのシーケンス番号が含まれます。
このファイルを変更したり削除したりすると、
.Nm
は、とても混乱します。
.Fl e
.Fl x
オプションを使うとソースツリーの一部分を更新することができ、
ソースを一貫性のない状態にすることになります。
これらのオプションを使うときには、何をしているのかを理解していることが
仮定されています。
.Sh 使用例
.Bd -literal
cd ~cvs
/usr/sbin/ctm ~ctm/cvs-*
.Ed
`lib' 以下のすべてのソースを取り出してパッチを当てるには
以下のようにします。
.Bd -literal
cd ~/lib-srcs
/usr/sbin/ctm -e '^lib' ~ctm/src-cur*
.Ed
.Sh 診断
充分に説明的であるはずの沢山のメッセージが出力されます。
.Dq ノイズレベル
.Fl q ,
.Fl v ,
.Fl V
オプションで調整できます。
.Sh 関連項目
.Xr ctm_rmail 1 ,
.Xr ctm 5
.Sh 歴史
最初の試みは
.Xx 1.1.5
の作業中に行われました。そして、たくさんの
バグと手法について徹底的に議論されました。
.Nm
コマンドは
.Fx 2.1
から登場しました。
.Sh 作者
CTM システムは
.An Poul-Henning Kamp Aq phk@FreeBSD.org
によってデザインされ実装されました。
このマニュアルページは
.An Joerg Wunsch Aq joerg@FreeBSD.org
が書きました。
.Sh 日本語訳
野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳
diff --git a/ja_JP.eucJP/man/man1/ctm_rmail.1 b/ja_JP.eucJP/man/man1/ctm_rmail.1
index 4628f5f164..17e1f8d2ba 100644
--- a/ja_JP.eucJP/man/man1/ctm_rmail.1
+++ b/ja_JP.eucJP/man/man1/ctm_rmail.1
@@ -1,502 +1,502 @@
.\" NOTICE: This is free documentation. I hope you get some use from these
.\" words. In return you should think about all the nice people who sweat
.\" blood to document their free software. Maybe you should write some
.\" documentation and give it away. Maybe with a free program attached!
.\"
.\" Author: Stephen McKay
.\"
.Dd January 24, 1995
.\" jpman %Id: ctm_rmail.1,v 1.3 1997/09/27 16:25:48 ryo2 Stab %
.Dt CTM_MAIL 1
.Os
.Sh 名称
.Nm ctm_smail, ctm_rmail
.Nd メールを介しての
.Nm ctm
デルタの送受信
.Sh 書式
.Nm ctm_smail
.Op Fl l Ar log
.Op Fl m Ar maxmsgsize
.Op Fl c Ar maxctmsize
.Op Fl q Ar queue-dir
.Ar ctm-delta
.Ar mail-alias
.Nm ctm_dequeue
.Op Fl l Ar log
.Op Fl n Ar numchunks
.Ar queue-dir
.Nm ctm_rmail
.Op Fl Dfuv
.Op Fl l Ar log
.Op Fl p Ar piecedir
.Op Fl d Ar deltadir
.Op Fl b Ar basedir
.Op Ar
.Sh 解説
.Nm ctm_smail ,
.Nm ctm_dequeue ,
.Nm ctm_rmail
.Xr ctm 1
コマンドと組み合わせて、
ソースツリーへの変更を電子メールで配布するために使われます。
.Nm ctm_smail
には圧縮した
.Xr ctm
のデルタとそれを送るメーリングリストを与えます。
するとデルタを送信できる大きさに切り分けて、メールメッセージとして
エンコードしたものをメーリングリストに送ります
(メールの負荷を分散させるためにキューに入れるように選択できます)。
各受信者は
.Nm ctm_rmail
を使い (手動または自動で) デルタのデコードと再組み立てを行い、
それをソースツリーに適用するために
.Xr ctm
を呼び出すようにも指定できます。
現在、
いくつかのソースツリーが、いくつかのサイトによって配布されています。
その中には
.Li freefall.FreeBSD.org
が配布している FreeBSD-current のソースと CVS のツリーもあります。
.Pp
.Nm ctm_smail
のコマンドラインの引数には以下があります:
.Bl -tag -width indent
.It Fl l Ar log
.Em stderr
に出力する代わりに、
(コマンドラインのエラー以外の) エラー診断と情報メッセージ
にタイムスタンプを付けた物がファイル
.Em log
に書き込まれます。
.It Fl m Ar maxmsgsize
.Nm ctm_smail
が送信できるメールメッセージの最大サイズを制限します。
メールヘッダとその他の細かい物をこの制限に入れていないため
およその値となります。
指定されないとデフォルトは、メールの限界と噂される 64k に対して
ヘッダのための 1535 バイトを残した 64000 バイトです。
.It Fl c Ar maxctmsize
送信されるデルタの最大サイズを制限します。この制限より大きいデルタは
謝罪メールをメーリングリストに送り出します。
これは大幅な変更でユーザのメールボックスを圧迫してしまうのを
避けるためです。これはエンコードする前のサイズなので注意して下さい。
エンコードされるとメールヘッダを付ける前でサイズは 4/3 倍になります。
指定されないと無制限になります。
.It Fl q Ar queue-dir
デルタのかけらをメールする代わりに、後で
.Nm ctm_dequeue
を使ってメールされるように指定されたディレクトリに格納します。
この機能によって、巨大なデルタを数時間または数日にも渡って分散させ、
ネットワークのバンド幅が狭かったりメールのスプール領域が小さい
受信者へのインパクトを押えることが可能です。
.El
.Pp
.Ar ctm-delta
は送信されるデルタで、
.Ar mail-alias
はデルタを送信するメーリングリストです。
メールメッセージは
.Xr sendmail 8
を使って送信されます。
.Pp
.Nm ctm_dequeue
のコマンドラインの引数には以下があります:
.Bl -tag -width indent
.It Fl l Ar log
.Em stderr
に出力する代わりに、
(コマンドラインのエラー以外の) エラー診断と情報メッセージ
にタイムスタンプを付けた物がファイル
.Em log
に書き込まれます。
.It Fl n Ar numchunks
1 回の
.Nm ctm_dequeue
の実行で送信するメールメッセージの数を制限します。
デフォルトでは、
.Nm ctm_dequeue
は 1 回の実行で 1 つのメールメッセージを送信します。
.El
.Pp
.Ar queuedir
.Nm ctm_smail
が格納したメールメッセージのあるディレクトリです。
.Ar numchunks
個までのメールメッセージが実行ごとに送信されます。
受信者のメーリングリストは、溜められたファイルに
すでにエンコードされています。
.Pp
.Nm ctm_smail
がキューにエントリを追加している最中や、複数の
.Nm ctm_smail
を並行に実行している最中でも
.Nm ctm_dequeue
を安全に実行できますが、配布される各ツリーごとに独立した
キューのディレクトリを使うべきです。
これはエントリがアルファベット順に処理されるので、デルタの
作成時刻ではなく、デルタ名に従って 1 つのツリーが他の物より
前に処理されて不公平になるからです。
.Pp
.Nm ctm_rmail
のコマンドラインの引数には以下があります:
.Bl -tag -width indent
.It Fl l Ar log
.Em stderr
に出力する代わりに、
(コマンドラインのエラー以外の) エラー診断と情報メッセージ
にタイムスタンプを付けた物がファイル
.Em log
に書き込まれます。
.It Fl p Ar piecedir
デルタのかけらをこのディレクトリに集めます。
それぞれのかけらは 1 つのメールメッセージに対応します。
かけらは完全なデルタが出来上がると削除されます。
もし このフラグが指定されないと、入力ファイルは読まれませんが、
.Fl b
フラグが指定されていれば完成しているデルタは
.Xr ctm
を使って適用されるかもしれません。
.It Fl d Ar deltadir
このディレクトリ内の完成したデルタを集めます。デルタは、すべてのかけらが
揃っている時に 1 つ以上のかけらから組み立てられます。
.It Fl b Ar basedir
完成しているデルタを このソースツリーに適用します。このフラグが
指定されていない場合、デルタは格納されますが適用はされません。
ユーザは手動、または
.Nm ctm_rmail
.Fl p
フラグ無しで使ってデルタを適用できます。
もしデルタが
.Ar basedir
.Li .ctm_status
ファイルとマッチしない場合 (もしくは
.Li .ctm_status
が存在しない場合) には、デルタは適用されません。
.It Fl D
.Xr ctm
による適用が成功した後でデルタを削除します。
.Xr ctm
はデルタのフルセットからファイルの小グループを回復する機能を
持つので、このフラグを避けて (そしてすべてのデルタを取って) おくのが
良いでしょう。
.It Fl f
fork して
.Xr ctm
でのデルタの適用をバックグラウンドで実行します。
これは
.Xr sendmail
から
.Nm ctm_rmail
を自動的に呼び出す場合に有効です。なぜなら
.Xr ctm
は終了までに、とても長い時間を要し、それによって他の人のメールを
遅らせる原因になり、理論的にはリモート側の
.Xr sendmail
のタイムアウトによるメールの不要な再送信や、
.Xr "MH"
.Xr slocal
のようなメールフィルタによる
.Nm ctm_rmail
の強制終了を引き起こす可能性があるからです。
膨大な数のバックグラウンドの
.Xr ctm
プロセスでマシンに負荷がかかる心配はありません。同時に 2 つ以上の
.Xr ctm
が起動されないようにロックが行われているからです。
.It Fl u
完成したデルタを適用する時に
.Fl u
フラグを
.Xr ctm
コマンドに渡します。これによって作成、変更されたファイルの
変更時刻が CTM デルタの作成時刻にセットされます。
.It Fl v
完成したデルタを適用する時に
.Fl v
フラグを
.Xr ctm
コマンドに渡します。これによってより多くの情報出力が得られます。
すべての
.Xr ctm
からの出力は
.Nm ctm_rmail
のログファイルに記録されます。
.El
.Pp
引数のファイル (もし無ければ
.Em 標準入力
) がデルタのかけらとしてスキャンされます。
1 つのファイルから複数のデルタのかけらを読む事ができるので、
メールドロップ全体を 1 回のコマンドでスキャンして処理できます。
.Pp
.Nm ctm_rmail
を並行に (異なる入力ファイルで) 複数回起動しても安全です。
.Xr sendmail
.nh
がメールを非同期に配送した時にこのようなことが起こり得ます。
これは処理を順序通りに保つためにロックが行われているからです。
.Sh ファイルフォーマット
以下は実際の (とても小さい) デルタのかけらの重要部分です:
.Bd -literal
From: owner-src-cur
To: src-cur
Subject: ctm-mail src-cur.0003.gz 1/4
CTM_MAIL BEGIN src-cur.0003.gz 1 4
H4sIAAAAAAACA3VU72/bNhD9bP0VByQoEiyRSZEUSQP9kKTeYCR2gDTdsGFAwB/HRogtG5K8NCj6
v4+UZSdtUQh6Rz0eee/xaF/dzx8up3/MFlDkBNrGnbttAwyo1pxoRgoiBNX/QJ5d3c9/X8DcPGGo
lggkPiXngE4W1gUjKPJCYyk5MZRbIqmNW/ASglIFcdwIzTUxaAqhnCPcBqloKEkJVNDMF0Azk+Bo
dDzzk0Ods/+A5gXv9YyJHjMCtJwQNeESNma7hOmXDRxn
CTM_MAIL END 61065
.Ed
.Pp
メッセージのサブジェクトは常に
.Dq ctm-mail
で始まりデルタの名前、いくつ目のかけらか、そして全部でいくつの
かけらがあるのかが続きます。データは
.Dq CTM_MAIL BEGIN
.Dq CTM_MAIL END
という行で囲まれており、サブジェクト行の情報の複製、加えて単純な
チェックサムが付きます。
.Pp
デルタが
.Ar maxctmsize
を超えると、代わりに以下のようなメッセージが送られます:
.Bd -literal
From: owner-src-cur
To: src-cur
Subject: ctm-notice src-cur.0999.gz
src-cur.0999.gz is 792843 bytes. The limit is 300000 bytes.
このデルタは ftpmail か、または大学の仲良しから得られます。
.Ed
.Pp
これでもうあなたのものです!
.Sh 使用例
.Em src-cur
の 32 番目のデルタを
.Em src-guys
として
.Xr sendmail
に登録されている素晴らしいコードハッカーのグループに、
メールのサイズをおよそ 60000 バイトに制限して送るためには
以下のように出来ます:
.Bd -literal -offset indent
ctm_smail -m 60000 /wherever/it/is/src-cur.0032.gz src-guys
.Ed
.Pp
メールボックスの各
.Nm ctm-mail
メッセージをデコードして、それらを完全なデルタに組み立て、そして
出来上がったデルタやそこらに転がっているデルタはどれも、
以下のように適用出来ます:
.Bd -literal -offset indent
ctm_rmail -p ~/pieces -d ~/deltas -b /usr/ctm-src-cur $MAIL
.Ed
.Pp
(
.Nm ctm_rmail
はメッセージを削除しないので注意して下さい。
削除には どんなメールリーダでも使用できます。)
.Pp
.Em receiver-dude
という名前の自動的にデコードとデルタの組み立てを行うけれども、
それらの適用は行わないようなメールエイリアスは、以下の行を
.Pa /etc/aliases
ファイルに入れる事で作成可能です (
.Pa /ctm/tmp
.Pa /ctm/deltas
ディレクトリ そして
.Pa /ctm/log
ファイルが
.Em daemon
ユーザか
.Em wheel
グループで書き込み可能な事を仮定しています) :
.Bd -literal -offset indent
receiver-dude: "|ctm_rmail -p /ctm/tmp -d /ctm/deltas -l /ctm/log"
owner-receiver-dude: real_dude@wherever.you.like
.Ed
.Pp
2 行目は、失敗した場合にそれを通常のメールボックスか、または
どこか好きな所へ転送するためにあります。
.Pp
集められた全デルタを適用して、適用したものを削除するには以下のように
します:
.Bd -literal -offset indent
ctm_rmail -D -d /ctm/deltas -b /ctm/src-cur -l /ctm/apply.log
.Ed
.Pp
柔軟性を最大限生かすためには、この
.Xr procmail
スクリプトからの引用の利用を考えてみて下さい:
.Bd -literal -offset indent
PATH=$HOME/bin:$PATH
:0 w
* ^Subject: ctm-mail cvs-cur
| ctm_incoming
.Ed
.Pp
以下のシェルスクリプト
.Pa ~/bin/ctm_incoming
と一緒に使います:
.Bd -literal -offset indent
#! /bin/sh
PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"
export PATH
cd $HOME/ctm && ctm_rmail -f -p pieces -d deltas -l log -b /ctm
.Ed
.Pp
これは全部の
.Xr ctm
デルタを
.Pa ~/ctm/deltas
に置き、それらを
.Pa /ctm
内のツリーに適用し、失敗したものは、すべてあなたの通常の
メールボックスに落します。
.Pa ctm_incoming
での
.Ev PATH
の操作は、このサンプルを取って来た (FreeBSD でない) マシンで
.Nm ctm_rmail
から
.Xr ctm
の実行を可能にするためのものです。
.Sh セキュリティ
自動的にメールを取ってファイルツリーへのパッチプログラムに
渡している場合、あなたのシステムへの鍵をクラッカーに手渡していると
考えるかも知れません。幸い、損害を起こす窓はとても小さいのです。
.Nm ctm_rmail
は、
(デルタ名中の いかなる
.Dq /
文字も信用しないことによって)
与えられたディレクトリのみにしか書き込まないように注意しています。
そして最新の
.Xr ctm
では操作するファイルに絶対パス名と
.Dq \&\.\.
を許可していないので、最悪でも失われる可能性のあるのは
(デルタから復元できる) 二、三のソースツリーのファイルだけなのです。
.Xr ctm
はファイルにさわる前に
.Xr md5
によるチェックサムが合致する事を要求するので、ソースの受信者だけが
偽造したデルタを生成できる可能性を持ち、そして そういう人達が
そんなことを考えるはずもありません! :-)
.Pp
この可能性さえも暗号化された署名で取り除く事が可能です。
将来の強化の可能性は、
.Nm PGP
を使った安全なラッパの提供があります。
.\" This next request is for sections 1, 6, 7 & 8 only
.Sh 環境変数
デルタを適用するのならば
.Xr ctm 1
.Xr gunzip 1
.Ev PATH
に含まれていなければなりません。
.Sh 関連ファイル
.Bl -tag -width indent
.It Pa QUEUEDIR/*
メールメッセージとしてエンコードされて、メーリングリストに
送信されるのを待っているデルタのかけら。
.It Pa PIECEDIR/*
残りのかけらの到着を待っているデルタのかけら。
.It Pa DELTADIR/*
完成したデルタ。
.It Pa BASEDIR/.ctm_status
このソースツリーに次に適用されるべきデルタの名前と番号を含むファイル。
.\" This next request is for sections 1, 6, 7 & 8 only
.\" (command return values (to shell) and fprintf/stderr type diagnostics)
.Sh 診断
.Nm ctm_smail ,
.Nm ctm_dequeue ,
.Nm ctm_rmail
は正常に終了するとステータスとして 0 を、何らかの障害が
あった場合は 1 を返します。
.Nm ctm_rmail
は、メールの配送プログラムから呼ばれる事を想定しています。そして
そのため入力されたメールメッセージが (送信者にではなく、
なるべく あなたの通常のメールドロップに) 返送されるべき状態に
なった時にのみ障害を通知するようになっています。
いいかえれば、完成したデルタを
.Xr ctm
で適用する際に発生した障害はメールを返送する程に重要なエラーでは
ないと判断されて、
.Nm ctm_rmail
は終了ステータスとして 0 を返すということです。
.Pp
通常の操作では、
.Nm ctm_smail
は以下のようなメッセージで報告します:
.Bd -literal -offset indent
ctm_smail: src-cur.0250.gz 1/2 sent to src-guys
.Ed
.Pp
または、キューに入れたなら、
.Bd -literal -offset indent
ctm_smail: src-cur.0250.gz 1/2 queued for src-guys
.Ed
.Pp
.Nm ctm_dequeue
は以下のようなメッセージで報告します:
.Bd -literal -offset indent
ctm_dequeue: src-cur.0250.gz 1/2 sent
.Ed
.Pp
.Nm ctm_rmail
は以下のようなメッセージで報告します:
.Bd -literal -offset indent
ctm_rmail: src-cur.0250.gz 1/2 stored
ctm_rmail: src-cur.0250.gz 2/2 stored
ctm_rmail: src-cur.0250.gz complete
.Ed
.Pp
もし入力ファイルのいずれもが正しいデルタのかけらを含んでいないと、
.Nm ctm_rmail
は以下のように報告します:
.Bd -literal -offset indent
ctm_rmail: message contains no delta
.Ed
.sp \n(Ppu
そして終了ステータスとして 1 を返します。もしメールフィルタが
当てにならないのなら、これを使って気まぐれなメッセージを
リダイレクトして本当のメールボックスに入れる事ができます。
.Pp
これらのメッセージは
.Em stderr
かログファイルに出力されます。
.Xr ctm
からのメッセージも同様にここに現れます。
エラーメッセージは それ自身が説明的であるべきです。
.\" The next request is for sections 2 and 3 error and signal handling only.
.\" .Sh ERRORS
.Sh 関連項目
.Xr ctm 1 ,
.Xr ctm 5
.\" .Sh STANDARDS
.\" .Sh HISTORY
.Sh 作者
Stephen McKay <mckay@FreeBSD.org>
.\" .Sh BUGS
.\" Gosh! No bugs here!
.\" This message brought to you by the Coalition for More Humour in Man Pages.
.\"
-.\" %Id: ctm_rmail.1,v 1.7.2.4 1998/07/18 11:09:52 jkh Exp %
+.\" %Id: ctm_rmail.1,v 1.14 1998/04/08 12:00:48 cracauer Exp %
.Sh 日本語訳
野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳
diff --git a/ja_JP.eucJP/man/man1/cu.1 b/ja_JP.eucJP/man/man1/cu.1
index 9122d5e51b..70f9b3c0d0 100644
--- a/ja_JP.eucJP/man/man1/cu.1
+++ b/ja_JP.eucJP/man/man1/cu.1
@@ -1,324 +1,324 @@
-''' %Id: cu.1,v 1.1 1993/08/04 19:31:53 jtc Exp %
+''' %Id: cu.1,v 1.6 1997/02/22 15:27:05 peter Exp %
.\" jpman %Id: cu.1,v 1.2 1997/03/28 10:54:42 mutoh Stab %
.TH cu 1 "Taylor UUCP 1.06"
.SH 名称
cu \- 別のマシンと接続する
.SH 書式
.B cu
[ options ] [ system | phone | "dir" ]
.SH 解説
.I cu
コマンドは、他のシステムを呼び出し、ダイヤルイン端末として働きます。
本コマンドは、
エラーチェックを行わない、
簡単なファイル転送プログラムとしても使用できます。
.I cu
は、1 つの引数を、オプションとともに指定可能です。引数として指定する
文字列が "dir" の場合には、cu はポートとの直接接続を行ないます。
本オプションは、ユーザがポートへのライトアクセスを行なう場合にのみ
使用され、通常はモデム等の設定のために用いられます。
引数が数字の場合には、その引数は電話番号として解釈されます。そうで
ない場合には、その引数は呼びだすシステム名として解釈されます。
.B \-z
または
.B \-\-system
オプションは、数字で始まるシステム名を引数で指定する場合に指定しなけ
ればならないものであり、
.B \-c
または
.B \-\-phone
オプションは、数字以外の記号で始まる電話番号を引数で指定する場合に指
定しなければなりません。
.I cu
は、UUCP設定ファイルに記述されたポートを用います。もし単にシステム名
だけが引数で与えられた場合、そのシステムへの発呼に最も適したポートが
選ばれます。
.B \-p,\-\-port,\-l,\-\-line,\-s
.B \-\-speed
オプションが指定された場合、ポート選択を制御することが可能です。
リモートシステムとの間でコネクションが設定された場合、
.I cu
は 2 プロセスを fork します。1 プロセスは、ポートからのデータ読みだしと
端末へのデータ書き込みを行ない、もう 1 プロセスは、端末からのデータ読み
出しとポートへのデータ書き込みを受け持ちます。
.I cu
は、通信中に使用可能なコマンドがあります。
それらのコマンドはすべて、エスケープ文字から始まります。
エスケープ文字は、デフォルトでは
.B ~
(チルダ)です。エスケープ文字は、行頭において入力された場合にのみ認識
されます。エスケープ文字を行頭に含むデータをリモートホストに送り
たい場合には、当該エスケープ文字を 2 回入力しなければなりません。全
てのコマンドは、1 文字か、もしくは
.B %
文字(パーセント記号)に続く複数文字です。
.I cu
では、以下のコマンドを使用できます。
.TP 5
.B ~.
通信を終了します。
.TP 5
.B ~! command
シェル経由でコマンドを実行します。コマンドが指定されない場合には、
シェルが起動されます。
.TP 5
.B ~$ command
コマンドを起動します。その結果、標準出力に出力されたデータを、リ
モートシステムに送ります。
.TP 5
.B ~| command
コマンドを起動します。リモートシステムからの出力
データをこのコマンドの標準入力とします。
.TP 5
.B ~+ command
コマンドを起動します。リモートシステムからの出力
データをこのコマンドの標準入力とします。そして、コマンドから標準出力に出力さ
れたデータを、リモートシステムに送ります。
.TP 5
.B ~#, ~%break
可能であればブレーク信号を送ります。
.TP 5
.B ~c directory, ~%cd directory
ローカルディレクトリを変更します。
.TP 5
.B ~> file
ファイルをリモートシステムに送ります。本コマンドは、ファイルを通信路を
経由して、ファイルをダンプするのに用いられます。この場合、リモートシス
テムがこの動作を想定して動作しているものとみなして動作しますので、注意
して下さい。
.TP 5
.B ~<
リモートシステムからファイルを受信します。このコマンドを実行すると、
.I cu
コマンドは、ローカルファイル名と、ファイル転送のためにリモート側で実
行すべきコマンドの入力を促します。本コマンドは、
.B eofread
変数で指定される文字を受信するまでデータ受信を継続します。
.TP 5
.B ~p from to, ~%put from to
ファイルをリモート Unix システムに送信します。本コマンドは、リモート
システムがファイルを受信するために必要なコマンドを自動的に起動します。
.TP 5
.B ~t from to, ~%take from to
リモート Unix システムから、ファイルを取得します。本コマンドは、リモート
システムからファイルを送信するために必要なコマンドを自動的に起動します。
.TP 5
.B ~s variable value
.I cu
の変数を、指定した値に設定します。値が指定されなかった場合、変数は
.B true
に設定されます。
.TP 5
.B ~! variable
.I cu
の変数を
.B false
に設定します。
.TP 5
.B ~z
cu セッションをサスペンドします。この機能は、そんなに多くのシステムで
サポートされているわけではありません。
^Z によってジョブをサスペンドできるシステムでは、
.B ~^Z
も、セッションをサスペンドします。
.TP 5
.B ~%nostop
XON/XOFF 制御を無効にします。
.TP 5
.B ~%stop
XON/XOFF 制御を有効にします。
.TP 5
.B ~v
全ての変数と、その変数に設定された値を表示します。
.TP 5
.B ~?
使用可能なすべてのコマンドを表示します。
.I cu
は、いろんな変数を備えています。これらの環境変数一覧は、
.B ~v
コマンドを用いて表示することができ、
.B ~s
もしくは
.B ~!
コマンドを用いて設定することが可能です。
.TP 5
.B escape
エスケープ文字。初期値は
.B ~
(チルダ)です。
.TP 5
.B delay
この変数が true の場合には、
.I cu
はエスケープ文字を受信してからローカルシステム名を出力するまでに
1 秒のウェイトが入ります。デフォルトでは true です。
.TP 5
.B eol
行末文字として認識される文字の一覧を表示します。エスケープ文字は
以下のいずれかが現れた後にしか認識されません。デフォルトでは、
復帰
および、^U, ^C, ^O, ^D, ^S, ^Q, ^R の各文字です。
.TP 5
.B binary
ファイルを送信する時に、バイナリデータを転送するかしないかを設定します。
本変数が false の場合には、ファイル中のニューライン記号はすべて、キャリッ
ジリターンに変換されます。
デフォルトでは false です。
.TP 5
.B binary-prefix
.B binary
変数が true の状態でファイル転送を行う時に、
バイナリ文字を送る前に使われる文字列の設定を決めます。
デフォルトでは ^V に設定されます。
.TP 5
.B echo-check
リモートシステムのエコーバックをチェックすることで、ファイル転送のチェ
ックをするかどうか決めます。しかし、あまりちゃんと動かないでしょう。
デフォルトでは false です。
.TP 5
.B echonl
ファイル中の1行を送信した後に検出しようとする文字を設定します。
デフォルトでは、復帰文字です。
.TP 5
.B timeout
エコーバックもしくは
.B echonl
文字の検出をタイムアウトとする時間を秒単位で設定します。
デフォルトでは 30 です。
.TP 5
.B kill
エコーチェックが失敗した場合に、1 行削除に使う文字を設定します。
デフォルトでは ^U です。
.TP 5
.B resend
エコーチェックが失敗しつづけた場合に、1 行を再送する回数を設定します。
デフォルトでは 10 です。
.TP 5
.B eofwrite
.B ~>
コマンドを用いてファイルを送信し終った場合に、最後に送信する文字列を
設定します。デフォルトでは、^D です。
.TP 5
.B eofread
.B ~<
コマンドを用いてファイルを受信する場合に、検出する文字列を設定します。
デフォルトでは $ です。この文字列は、典型的なシェルプロンプトです。
.TP 5
.B verbose
ファイル転送時に、転送情報を表示するかどうか設定します。デフォルトで
は true です。
.SH オプション
.I cu.
コマンドでは、以下のオプションが指定可能です。
.TP 5
.B \-e, \-\-parity=even
偶数パリティを用います。
.TP 5
.B \-o, \-\-parity=odd
奇数パリティを用います。
.TP 5
.B \-\-parity=none
パリティは用いません。
.B \-e
.B \-o
が同時に指定された場合もパリティなしになります。
.TP 5
.B \-h, \-\-halfduplex
文字のローカルエコーを許可します(半二重モード)。
.TP 5
.B \-\-nostop
XON/XOFF 制御を無効にします。デフォルトでは有効です。
.TP 5
.B \-E char, \-\-escape char
エスケープ文字を指定します。初期値は
.B ~
(チルダ)です。
.B \-E ''
とすることにより、エスケープ文字を無視できます。
.TP 5
.B \-z system, \-\-system system
発呼先のシステムを指定します。
.TP 5
.B \-c phone-number, \-\-phone phone-number
発呼先の電話番号を指定します。
.TP 5
.B \-p port, \-\-port port
使用するポートを指定します。
.TP 5
.B \-a port
.B \-\-port port
と同じです。
.TP 5
.B \-l line, \-\-line line
使用する回線を、デバイス名で指定します。本オプションは、UUCP 設定ファイル
に記述されていないポートを用いて通信を行なう場合に使用されます。当該デバ
イスには、write パーミッションが許可されていることが必要になります。
.TP 5
.B \-s speed, \-\-speed speed
通信速度(ボーレート)を設定します。
.TP 5
.B \-#
# に位置するのは数字です。
.B \-\-speed #
と同じです。
.TP 5
.B \-n, \-\-prompt
使用する電話番号の問い合わせプロンプトを出力します。
.TP 5
.B \-d
デバッグモードに入ります。これは
.B \-\-debug all
と同様です。
.TP 5
.B \-x type, \-\-debug type
特定のデバッグタイプを有効にします。タイプとしては、abnormal, chat,
handshake, uucp-proto, proto, port, config, spooldir, execute, incoming,
outgoing があります。
.I cu
では、abnormal, chat, handshake, port, config, incoming, outgoing
が意味を持ちます。
本オプションでは、コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
.B \-\-debug
オプションは、1回のコマンド起動で複数回指定可能です。
また、タイプとして数字を指定することも可能です。例えば、
.B \-\-debug 2
という指定は、
.B \-\-debug abnormal,chat
と同じ意味です。
.B \-\-debug all
は、すべてのデバッグオプションが指定されたのと同じです。
.TP 5
.B \-I file, \-\-config file
使用する設定ファイルの指定を行ないます。ただし、本オプションは、
.I cu
のコンパイル条件によっては使用できないことがあります。
.TP 5
.B \-v, \-\-version
バージョンを表示し、終了します.
.TP 5
.B \-\-help
ヘルプメッセージを表示し、終了します。
.SH バグ
本プログラムは、あまり良好に動作しません。
.SH 関連ファイル
ファイル名は、コンパイル環境や設定ファイルの内容によって変わることが
あります。ここに挙げるのは、一例でしかありません。
.br
/etc/uucp/config - 設定ファイル
.SH 作者
Ian Lance Taylor
<ian@airs.com>
diff --git a/ja_JP.eucJP/man/man1/date.1 b/ja_JP.eucJP/man/man1/date.1
index 69d8e28470..a5b4d7c256 100644
--- a/ja_JP.eucJP/man/man1/date.1
+++ b/ja_JP.eucJP/man/man1/date.1
@@ -1,317 +1,317 @@
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)date.1 8.2 (Berkeley) 11/17/93
-.\" %Id: date.1,v 1.8.2.9 1998/07/15 02:01:17 jkh Exp %
+.\" %Id: date.1,v 1.25 1998/05/13 07:56:44 phk Exp %
.\" jpman %Id: date.1,v 1.2 1997/03/31 23:25:55 mutoh Stab %
.\"
.Dd November 17, 1993
.Dt DATE 1
.Os
.Sh 名称
.Nm date
.Nd 日付と時刻の表示、設定
.Sh 書式
.Nm date
.Op Fl nu
.Op Fl d Ar dst
.Op Fl r Ar seconds
.Op Fl t Ar minutes_west
.Op Fl v Ns Ar [+|-]val Ns Op ymwdHM
.Ar ...
.Op Fl f Ar fmt Ar date | [[[[yy]mm]dd]HH]MM[\&.ss]
.Op Cm + Ns Ar format
.Sh 解説
引数なしで実行すると、
.Nm
は現在の日付と時刻を表示します。
引数を与えると、ユーザが定義したフォーマットに従った日付や時刻の表示、
あるいは日時の設定を行います。
なお、日付と時刻を設定できるのはスーパーユーザだけです。
.Pp
オプション:
.Bl -tag -width Ds
.It Fl d
夏時間用のカーネル値を設定します。もし
.Ar dst
が 0 でなければ、そのあとの
.Xr gettimeofday 2
呼び出しでは
.Ql tz_dsttime
に 0 以外の値が返ります。
.It Fl f
デフォルトの
.Ar [[[[yy]mm]dd]HH]MM[.ss]
フォーマットの代りに
.Ar fmt
を、時刻をパーズするフォーマットとして使用します。
.Xr strptime 3
を使用してパーズします。
.It Fl n
.Xr timed 8
を利用して、グループ内のマシン間で時計を同期させます。
.Xr timed
が動作している場合、デフォルトでは
.Nm
コマンドによりグループ内のすべてのマシンの時刻が変更されます。しかし、
.Fl n
オプションを指定した場合には、他のマシンの時刻は変更しません。
.It Fl r
エポック (1970年1月1日) から
.Ar seconds
秒経過した日時を表示します。
.It Fl t
カーネルに
.Tn GMT
(グリニッジ標準時) からの時差を設定します。このあとに呼ばれる
.Xr gettimeofday 2
では、ここで指定された値が
.Ql tz_minuteswest
に入ります。
.It Fl u
.Tn UTC
(協定世界時) の日付を表示、設定します。
.\" 訳注(Mar.1996):UTC (Universal Time Coordinate)
.It Fl v
分、時、日、曜日、月、年のいずれかを
.Ar val
にもとづき修正します。
.Ar val
の前にプラスもしくはマイナスが付いている場合、
時刻はそれに従い前後に修正されます。
そうでない場合は、指定した部分が設定されます。
必要なら任意個このフラグを指定して時刻を修正することが出来ます。
フラグは指定した順序に処理されます。
.Pp
分の範囲は 0-59、時の範囲は 1-12、日の範囲は 1-31、曜日の範囲は 0-6
(Sun-Sat)、月の範囲は 1-12 (Jan-Dec)、
年の範囲は 80-38 もしくは 1980-2038 です。
.Pp
.Ar val
が数値の場合、
.Ar y ,
.Ar m ,
.Ar w ,
.Ar d ,
.Ar H ,
.Ar M
のいずれかを使用して、時刻のどの部分を修正するのかを指定する必要があります。
.Pp
曜日もしくは月は数値の代りに名前で指定可能です。
名前と共にプラス(もしくはマイナス)記号を使用した場合、
日付は適合する次の(前の)曜日もしくは月に進みます(戻ります)。
曜日もしくは月が現在のものと変らない場合、日は修正しません。
.Pp
詳細に関しては、下記の例を参照して下さい。
.El
.Pp
プラス (``+'') で始まるオプションは、日付と時刻の表示方法を指定する
フォーマット文字列です。フォーマット文字列には、
.Xr strftime 3
で記述されているような変換文字列と、任意のテキストを含むことができます。
フォーマット文字列によって指定された文字の後には、つねに改行文字が
出力されます。
.Nm
のデフォルトの表示形式は、
.Bd -literal -offset indent
``+%+''
.Ed
.Pp
としたものと同じです。
.Pp
もし、引数が``+''記号で始まる文字列でなければ、それはシステムに
日時を設定するための値と解釈されます。日時を設定するための正式な
表現は以下のとおりです:
.Pp
.Bl -tag -width Ds -compact -offset indent
.It Ar yy
西暦の省略表現です。西暦の 10の位と 1 の位です(1989年なら89、06なら2006)。
.It Ar mm
月の数字表現です。1から12までの数字です。
.It Ar dd
日です。1から31までの数字です。
.It Ar HH
時です。0から23までの数字です。
.It Ar MM
分です。0から59までの数字です。
.It Ar .ss
秒です。0から61までの数字です。 (59 秒 + 2 秒までのうるう秒)
.El
.Pp
分の指定以外はすべて省略可能です。
.Pp
夏時間と標準時の切り替えや、閏秒や閏年の取り扱いは自動的に行われます。
.Pp
.Sh 使用例
以下のコマンド:
.Bd -literal -offset indent
date "+DATE: 19%y-%m-%d%nTIME: %H:%M:%S"
.Ed
.Pp
は、下のような表示を行ないます。
.Bd -literal -offset indent
DATE: 1987-11-21
TIME: 13:36:16
.Ed
.Pp
以下のコマンド:
.Pp
.Bd -literal -offset indent
date -v1m -v+1y
.Ed
.Pp
は以下を表示します:
.Bd -literal -offset indent
Sun Jan 4 03:15:24 GMT 1998
.Ed
.Pp
(現在 Mon Aug 4 04:15:24 BST 1997 の場合)。
.Pp
以下のコマンド:
.Bd -literal -offset indent
date -v1d -v3m -v0y -v-1d
.Ed
.Pp
は 2000 年 2 月の最後の日を表示します:
.Bd -literal -offset indent
Tue Feb 29 03:18:00 GMT 2000
.Ed
.Pp
以下のコマンド:
.Bd -literal -offset indent
date -v1d -v+1m -v-1d -v-fri
.Ed
.Pp
は今月最後の金曜日を表示します:
.Bd -literal -offset indent
Fri Aug 29 04:31:11 BST 1997
.Ed
.Pp
(現在 Mon Aug 4 04:31:11 BST 1997 の場合)。
.Pp
以下のコマンド:
.Bd -literal -offset indent
date 8506131627
.Ed
.Pp
は、
.Dq Li "1985年6月13日午後4時27分"
に日時を設定します。
.Pp
以下のコマンド:
.Pp
.Bd -literal -offset indent
date 1432
.Ed
.Pp
は、日を修正することなく、時だけを
.Li "午後2時32分"
に設定します。
.Sh 環境変数
.Nm
の実行は以下の環境変数の影響を受けます.
.Bl -tag -width Ds
.It Ev TZ
日時を表示する際に用いられるタイムゾーンを設定します。
通常のフォーマットは
.Pa /usr/share/zoneinfo
からの相対パス名です。例えば、コマンド
.Dq TZ=America/Los_Angeles date
はカリフォルニアの現在の時刻を表示します。
詳しいことは、
.Xr environ 7
を参照してください。
.El
.Sh 関連ファイル
.Bl -tag -width /var/log/messages -compact
.It Pa /var/log/wtmp
日付のリセットおよび時刻変更の記録がこのファイルに残されます。
.It Pa /var/log/messages
日付を変更したユーザの記録がこのファイルに残されます。
.El
.Sh 関連項目
.Xr gettimeofday 2 ,
.Xr strftime 3 ,
.Xr strptime 3 ,
.Xr utmp 5 ,
.Xr timed 8
.Rs
.%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD"
.%A R. Gusella
.%A S. Zatti
.Re
.Sh 診断
成功した場合は 0 を、日時を設定できなかった場合は 1 を、
ローカルマシンの設定はできたが、グループのマシン全体の設定に失敗した
場合は2を返します。
.Pp
timed が多数のマシンの時計をあわせる場合には、新しい時刻のセットに
数秒かかることがあります。このとき
.Nm
は、
.Ql Network time being set
と表示します。
.Nm
.Xr timed
との間で通信に失敗した場合は、
.Ql Communication error with timed
が表示されます。
.Sh バグ
システムは
.Tn VMS
と高い互換性を持つフォーマットで日時を保持しようとしています。しかし、
.Tn VMS
.Tn GMT
ではなくローカルな時刻を使っており、夏時間を理解しません。そのため、
.Tn UNIX
.Tn VMS
を同時に使う場合は、
.Tn VMS
.Tn GMT
で使うべきでしょう。
.Sh 規格
.Nm
コマンドは
.St -p1003.2
互換であると想定しています。
.Sh 歴史
A
.Nm date
コマンドは
.At v1
から導入されました。
diff --git a/ja_JP.eucJP/man/man1/dc.1 b/ja_JP.eucJP/man/man1/dc.1
index ff057edc36..10ee296b9b 100644
--- a/ja_JP.eucJP/man/man1/dc.1
+++ b/ja_JP.eucJP/man/man1/dc.1
@@ -1,365 +1,402 @@
-.TH DC 1 "07 Apr 1994" "GNU Project"
+.\"
+.\" dc.1 - the *roff document processor source for the dc manual
+.\"
+.\" This file is part of GNU dc.
+.\" Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License , or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; see the file COPYING. If not, write to
+.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+.\"
.\" jpman %Id: dc.1,v 1.4 1997/07/26 21:29:52 horikawa Stab %
+.\"
+.TH DC 1 "1997-03-25" "GNU Project"
.ds dc \fIdc\fP
.ds Dc \fIDc\fP
.SH 名称
dc \- 任意精度の計算機
.SH 書式
dc
-.SH
-解説
+.SH 解説
.PP
\*(dc は、逆ポーランド形式の無限精度の計算が行える卓上計算機です。
この電卓は、定義やマクロ呼び出しも行えます。
-普通、 \*(dc は標準入力から読み込みます。
+普通、\*(dc は標準入力から読み込みます。
コマンドライン引数が与えられた時は、それはファイル名となり、
\*(dc はそのファイルを読み込み、ファイルの内容を実行した後で、
標準入力から入力を取ります。
-全ての正常な出力は標準出力へ送られます。
-全てのエラー出力は標準出力へ送られます。
+通常の出力はすべて標準出力へ、エラー出力はすべて標準エラー出力へ
+送られます。
.PP
逆ポーランド記法計算機は、数をスタックに保存します。
数字を入力すると、それをスタックに積み上げます。
計算操作は、引数をスタックから取り出し、結果をスタックに積み上げます。
.PP
数字を
-.IR dc
+.IR dc
に入力するためには、数字 (小数点が有っても構いません) を入力します。
指数表現はサポートされていません。
-負の数字を入力するためには、 ``_'' で始まる数字を入力します。
+負の数字を入力するためには、``_'' で始まる数字を入力します。
``-'' は減算の二項演算子として使われているので、
このために利用することはできません。
引き続いて 2 つの数字を入力するためには、あいだに空白文字か改行文字を
入力します。
これらは、コマンドとしての意味はありません。
.PD
.SH
表示コマンド
.TP
.B p
スタックを変更することなく、スタックの先頭の値を表示します。
改行文字が、数値の後に表示されます。
.TP
.B P
スタックの先頭の値を表示し、スタックから取り出します。
改行文字は、後に表示されません。
.TP
.B f
変更することなく、
.ig
-全てのレジスタの内容と
+すべてのレジスタの内容と
..
スタックの内容全部を表示します。
これは、忘れてしまった時に使ったり、あるコマンドがどのような効果を
もたらすのかを知りたい時には、良いコマンドです。
.PD
.SH
計算
.TP
.B +
-二つの値をスタックから取り出し、加算を行い、結果をスタックに積みます。
+2 つの値をスタックから取り出し、加算を行い、結果をスタックに積みます。
結果の精度は、引数の値にだけによって決まり、十分正確です。
.TP
.B -
-二つの値を取り出し、最初に取り出した値を 2 番目に取り出した値から
+2 つの値を取り出し、最初に取り出した値を 2 番目に取り出した値から
引きます。その後、結果をスタックに積みます。
.TP
.B *
-二つの値を取り出し、かけ算を行い、結果をスタックに積みます。
-結果の小数の桁数は、現在の精度値 ( 以下参照 ) によって制御され、
+2 つの値を取り出し、かけ算を行い、結果をスタックに積みます。
+結果の小数の桁数は、現在の精度値 (以下参照) によって制御され、
かけ算を行った値には依存しません。
.TP
.B /
-二つの値を取り出し、最初に取り出した値を 2 番目に取り出した値で割り、
+2 つの値を取り出し、2 番目に取り出した値を最初に取り出した値で割り、
結果をスタックに積みます。
小数の桁数は、精度値によって指定されます。
.TP
.B %
-二つの値を取り出し、
+2 つの値を取り出し、
.B /
で計算された割算の余りを計算し、結果をスタックに積みます。
割算は、精度値で指定された小数の桁数で行われ、
余りも同じ小数の桁数で計算されます。
.TP
+.B ~
+2 つの値を取り出し、2 番目に取り出した値を最初に取り出した値で割り、
+その商を先にスタックに積み、続いて余りを積みます。
+割算に使われる小数の桁数は、精度値によって指定されます。
+(エラーチェック機構はわずかに異なりますが、文字列 \fBSdSn lnld/ LnLd%\fP
+もこの機能と同様に働くでしょう。)
+.TP
.B ^
-二つの値を取り出し、最初に取り出した値を指数とし、
+2 つの値を取り出し、最初に取り出した値を指数とし、
2 つめの値を底として指数計算します。
指数の小数点以下は無視されます。
精度値は、結果の小数の桁数を指定します。
.TP
+.B |
+3 つの値を取り出し、べき剰余 (modular exponentiation) を計算します。
+最初に取り出した値は法 (reduction modulus) (この値は 0 以外の整数で
+なくてはいけません。) 、2 番目に取り出した値は指数 (この値は
+非負の数字でなければならず、小数点以下は無視されます。)、
+3 番目に取り出した値は累乗される底として用いられます。
+精度値は、結果の小数の桁数を指定します。
+小さな数字に関しては、この機能は文字列 \fBSm lble^ Lm%\fP のように
+働きます。しかし、\fB^\fP を使う場合と違い、このコマンドは指数が
+非常に大きくても働くはずです。
+.TP
.B v
-一つの値を取り出し、自乗根を求め、結果をスタックに積みます。
+1 つの値を取り出し、平方根を求め、結果をスタックに積みます。
精度値は、結果の小数の桁数を指定します。
.PP
-ほとんどの演算子は、 ``精度値'' に影響を受けます。
-``精度値'' は、
+ほとんどの演算子は、``精度値'' に影響を受けます。
+精度値は、
.B k
コマンドで設定することができます。
-デフォルトの精度値はゼロです。これは、足し算と引き算を除く全ての算術は
+デフォルトの精度値は 0 です。これは、足し算と引き算を除くすべての算術は
整数値の結果を出すことを意味しています。
.PP
剰余演算
.B %
には、少し説明が必要です。
引数 ``a'' と ``b'' にて ``a - (b * (a / b))'' を計算しますが、
``a / b'' は現在の精度値に基づいて計算されます。
.SH
スタックの制御
.TP
.B c
スタックを消去し、空にします。
.TP
.B d
スタック先頭の値を複製し、スタックに積みます。
-したがって、 ``4d*p'' は 4 の自乗を計算し、表示します。
+したがって、``4d*p'' は 4 の自乗を計算し、表示します。
+.TP
+.B r
+スタック先頭の値と 2 番目の値の順番を入れ換えます。(交換します。)
.SH
レジスタ
.PP
\*(dc は、256 個のメモリレジスタを持っています。
-各レジスタは、一文字の名前を持っています。
+各レジスタは、1 文字の名前を持っています。
数字や文字列をレジスタに保存し、後で取り出すことができます。
.TP
.BI s r
スタックの先頭から値を取り出し、レジスタ
-.IR r
+.IR r
に保存します。
.TP
.BI l r
レジスタ
.I r
の値を複製し、それをスタックに積みます。
これは、
-.IR r
+.IR r
の内容を変更しません。
.PP
各レジスタは、それ自身のスタックを持っています。
現在のレジスタ値は、レジスタスタックの先頭です。
.TP
.BI S r
-( メイン ) スタックの先頭の値を取り出し、レジスタ
-.IR r
+(メイン) スタックの先頭の値を取り出し、レジスタ
+.IR r
のスタックにそれを積みます。
レジスタの以前の値は、アクセスできなくなります。
.TP
.BI L r
レジスタ
-.IR r
+.IR r
のスタックの先頭の値を取り出し、それをメインスタックに積みます。
レジスタ
-.IR r
+.IR r
のスタックにあった以前の値がもしあれば、
.BI l r
コマンドを使ってアクセス可能となります。
.ig
.PP
.B f
-コマンドは、全ての内容が保存されているレジスタのリストを、
+コマンドは、すべての内容が保存されているレジスタのリストを、
その内容ともに表示します。
-各レジスタの現在の内容 ( つまりレジスタスタックの先頭 )
+各レジスタの現在の内容 (つまりレジスタスタックの先頭)
だけが表示されます。
..
.SH
パラメータ
.PP
\*(dc は、その操作を制御するための 3 つのパラメータを持っています:
精度と、入力の基数、出力の基数です。
精度は、ほとんどの算術操作の結果で保存される小数の桁数を指定します。
入力の基数は、入力された数字の解釈を制御します。
-入力された全ての数字はこの基数をつかっているとされます。
+入力されたすべての数字はこの基数をつかっているとされます。
出力の基数は、表示する数字で使われます。
.PP
入力と出力の基数は、分離されたパラメータです。
等しく設定しなくてもいいですが、これは便利だったり紛らわしかったりします。
入力の基数は 2 から 36 の範囲でなければなりません。
出力の基数は最低 2 でなければなりません。
-精度はゼロ以上でなければなりません。
+精度は 0 以上でなければなりません。
精度は、現在の入力基数や出力基数に関係なく、いつも 10 進の桁数で決められます。
.TP
.B i
スタックの先頭から値を取り出し、入力基数を設定するために使います。
.TP
.B o
スタックの先頭から値を取り出し、出力基数を設定するために使います。
.TP
.B k
スタックの先頭から値を取り出し、精度を設定するために使います。
.TP
.B I
現在の入力基数をスタックに積みます。
.TP
.B O
現在の出力基数をスタックに積みます。
.TP
.B K
現在の精度をスタックに積みます。
.SH
文字列
.PP
\*(dc は、数と同じように文字列を操作できます。
文字列に対してできる唯一のことは、それを表示し、マクロとして
-実行することです。
-マクロとは、 \*(dc コマンドとして実行される文字列の内容のことです。
-全てのレジスタとスタックは文字列を保存できます。
-そして、 \*(dc はいつも、与えられたデータが文字列か数字かを
+実行することです。
+マクロとは、\*(dc コマンドとして実行される文字列の内容のことです。
+すべてのレジスタとスタックは文字列を保存できます。
+そして、\*(dc はいつも、与えられたデータが文字列か数字かを
知っています。
算術操作のようないくつかのコマンドは、数を必要としており、
文字列が与えられた場合はエラーが表示されます。
他のコマンドは、数字か文字列を受け入れることができます。
例えば、
.B p
コマンドは、両方を受け付けることができ、データをその型に応じて
表示します。
.TP
.BI [ characters ]
(左右の釣合のとれた、
.B [
.B ]
で囲まれた
)
.I characters
という文字列を作り、それをスタックに積みます。
例えば、
.B [foo]P
は文字列
.B foo
を表示します (が、改行文字は表示しません)。
.TP
+.B a
+スタック先頭の値を取り出し、それが数字なら、その低位バイトを
+文字列に変換し、スタックに積みます。文字列なら、その最初の文字が
+スタックに積み戻されます。
+.TP
.B x
スタックから値を取り出し、マクロとして実行します。
普通、これは文字列です。数の場合は、単純にその値がスタックに
積み戻されます。
例えば、
.B [1p]x
は、マクロ
.B 1p
を実行します。
.B 1p
は、
.B 1
をスタックに積み、別の行に
.B 1
を表示します。
.PP
マクロは、しばしばレジスタにも保存されます。
.B [1p]sa
は、
.B 1
を表示するためのマクロを
レジスタ
-.BR a
+.BR a
に保存します。
.B lax
でこのマクロは実行できます。
.TP
.BI > r
スタックから 2 つの値を取り出し、それらを数と仮定して比較し、
もともとのスタックの先頭が大きい場合、レジスタ
.I r
の内容を実行します。
したがって、
.B 1 2>a
は、レジスタ
-.BR a
+.BR a
の内容を実行しますが、
.B 2 1>a
では実行しません。
.TP
.BI < r
似ていますが、もともとのスタックの先頭が小さい場合にマクロを実行します。
.TP
.BI = r
-似ていますが、二つの取り出された値が等しい場合にマクロが実行されます。
+似ていますが、2 つの取り出された値が等しい場合にマクロが実行されます。
.ig
-これは、二つの文字列の等価性を比較するためにも使うことができます。
+これは、2 つの文字列の等価性を比較するためにも使うことができます。
..
.TP
.B ?
端末から行を読み込み、実行します。
このコマンドは、ユーザからの入力を要求するためのマクロで使えます。
.TP
.B q
-マクロを終了し、実行されたマクロからも終了します。
+マクロを終了し、それを呼び出したマクロからも終了します。
一番上のレベルか、一番上のレベルから直接呼ばれたマクロから呼ばれると、
.B q
コマンドは \*(dc を終了します。
.TP
.B Q
スタックから値を取り出し、それを終了すべきマクロレベル数として、
その数のマクロを終了します。
したがって、
.B 3Q
-は、 3 つのレベルを終了します。
+は、3 つのレベルを終了します。
.B Q
-コマンドでは、 \*(dc を終了することはありません。
+コマンドでは、\*(dc を終了することはありません。
.SH
状態の問い合わせ
.TP
.B Z
スタックから値を取り出し、その桁数 (文字列の場合は、文字数) を計算し、
その値をスタックに積みます。
.TP
.B X
スタックから値を取り出し、その小数点以下の桁数を計算し、
その値をスタックに積みます。文字列の場合、スタックには
.\" -1.
0
が積まれます。
.TP
.B z
現在のスタックの深さを、スタックに積みます。
スタックの深さとは、
.B z
コマンドが実行される前のスタックのデータ数です。
.SH
その他のさまざまなこと
.TP
.B !
-与えられた行をシステムコマンドとして実行します ( シェルエスケープ ) 。
+行の末尾までををシステムコマンドとして実行します (シェルエスケープ) 。
.\"(訳注)シェルエスケープは、訳者が付け足しました。
.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
.TP
.B #
-与えられた行をコメントとして取り扱います。
+行の末尾までをコメントとして取り扱います。
.TP
.BI : r
スタックから 2 つの値を取り出します。
-スタックの先頭から 2 番目だった値で配列
-.IR r
-をインデックスし、スタックの先頭だった値をそこに保存します。
+スタックの先頭だった値で配列
+.IR r
+をインデックスし、スタックの先頭から 2 番目だった値をそこに保存します。
.TP
.BI ; r
スタックから値を取り出し、配列
-.IR r
+.IR r
のインデックスとして利用します。
配列から選ばれた値は、その後でスタックに積まれます。
.SH
注釈
.PP
配列操作
.B :
.B ;
は、普通
-.IR bc
-の歴史的な実装だけで使われます
-( GNU の
+.IR bc
+の伝統的な実装だけで使われます
+(GNU の
.I bc
-は、自分でそれを含んでおり、 \*(dc を実行する必要はありません) 。
-コメント操作
-.B #
-は、歴史的な
-.IR dc
-の実装には含まれない、新しいコマンドです。
+は自己完結しており、\*(dc を実行する必要はありません) 。
.SH
バグ
.PP
バグ報告は、
-.BR bug-gnu-utils@prep.ai.mit.edu
+.BR bug-gnu-utils@prep.ai.mit.edu
に電子メールでお願いします。
単語 ``dc'' を ``Subject:'' フィールドのどこかに入れておいてください。
-.SH 歴史
-.I dc
-コマンドは、
-Version 1 AT&T UNIX
-から導入されました。
+
diff --git a/ja_JP.eucJP/man/man1/dd.1 b/ja_JP.eucJP/man/man1/dd.1
index cb17d8ae0c..a8f4377529 100644
--- a/ja_JP.eucJP/man/man1/dd.1
+++ b/ja_JP.eucJP/man/man1/dd.1
@@ -1,334 +1,334 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Keith Muller of the University of California, San Diego.
.\"
.\" 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.
.\"
.\" @(#)dd.1 8.2 (Berkeley) 1/13/94
-.\" %Id: dd.1,v 1.2.8.4 1998/07/15 02:01:18 jkh Exp %
+.\" %Id: dd.1,v 1.7 1998/05/06 06:51:35 charnier Exp %
.\" jpman %Id: dd.1,v 1.3 1997/05/16 00:16:21 h-nokubi Stab %
.\"
.Dd January 13, 1994
.Dt DD 1
.Os
.Sh 名称
.Nm dd
.Nd ファイルのコンバートおよびコピー
.Sh 書式
.Nm dd
.Op operands ...
.Sh 解説
.Nm
ユーティリティは、標準入力を標準出力にコピーします。入力データは
ブロック単位 (デフォルトでは512バイト) で読み書きされます。
入力データのブロック数が短かった場合は、何回か読み込みを行い、
ブロック数単位にまとめて出力します。
終了時に、
.Nm
は、入力と出力の各々について、ブロック単位で処理できたブロック数と
最終ブロックを満たさず半端になったブロック数を
標準エラー出力に表示します。ブロック単位の変換で切り捨てられた
入力レコードがあった場合には、そのブロック数も表示します。
.Pp
以下のオペランドが利用可能です:
.Bl -tag -width of=file
.It Cm bs= Ns Ar n
入出力両方のブロックサイズを設定します。
.Cm ibs , obs
の指定に優先します。
.Cm noerror ,
.Cm notrunc ,
.Cm sync
以外の変換指定がない場合は、入力ブロック数が小さい場合のまとめ処理なしで
入力ブロックを出力ブロックに 1 ブロック単位でコピーします。
.It Cm cbs= Ns Ar n
変換レコードサイズを
.Va n
バイトにします。
レコード指向の変換が指定された場合には変換レコードサイズが必要です。
.It Cm count= Ns Ar n
入力のうち
.Va n
個のブロックだけをコピーします。
.It Cm files= Ns Ar n
.Va n
個の入力ファイルをコピーします。このオペランドは入力デバイスが
テープのときだけ有効です。
.It Cm ibs= Ns Ar n
入力ブロックのサイズを、デフォルトの 512 バイトに代えて
.Va n
バイトにします。
.It Cm if= Ns Ar file
標準入力のかわりに
.Ar file
から入力を行います。
.It Cm obs= Ns Ar n
出力ブロックのサイズをデフォルトの 512 バイトに代えて
.Va n
バイトにします。
.It Cm of= Ns Ar file
標準出力のかわりに
.Ar file
に対し出力を行います。
.Cm notrunc
が指定されないかぎり、普通の出力ファイルでは最後の 1 ブロックサイズに
満たないデータは切り詰められます。
出力ファイルの最初の部分がスキップされる場合は (
.Cm seek
オペランド参照)
出力ファイルは そこまで切り詰められます。
.It Cm seek= Ns Ar n
コピーする前に、出力側ファイルの開始位置を先頭から
.Va n
ブロックだけ進めます。出力がテープデバイスでない場合は、
.Xr lseek 2
システムコールを使ってシークが実行され
ます。テープデバイスの場合は、既存のブロックを読み捨てる事で指定位置まで
進める処理を実行します。もしユーザがテープデバイスに対し読み込みのアクセス権
を持っていないときは、テープデバイスに対する
.Xr ioctl 2
システムコールを使います。シーク処理がファイルの最後を超えて行われる場合は、
ファイルの末尾から指定のシーク位置に相当する部分まで
.Tn NUL
データのブロックを挿入します。
.It Cm skip= Ns Ar n
コピーする前に、入力側ファイルの開始位置を先頭から
.Va n
ブロックだけ進めます。入力がシーク機能を持っているなら、
.Xr lseek 2
システムコールが使用されます。シーク機能がなければ、既存のブロックを
読み捨てる事で指定位置まで進める処理を実行します。入力がパイプから渡される
場合は、正確に指定されたバイト数が読まれます。
それ以外のデバイスでは、読まれたブロックのサイズが指定のブロックサイズに
満たない物や完全な物の区別をせずに、正確に指定されたブロック数が
読まれます。
.It Xo
.Cm conv=
.Ns Cm value Ns Op \&, Cm value \&...
.Xc
.Cm value
に以下のリストから 1 つのシンボルを指定して変換を行います。
.Bl -tag -width unblock
.It Cm ascii , oldascii
レコードの変換を行う前に
.Tn EBCDIC
から
.Tn ASCII
への文字コード変換を行います。そのほかは
.Cm unblock
と同じです。
(これらの指定では
.Cm cbs
も指定されている場合は暗黙の内に
.Cm unblock
も指定された事になります。)
.Tn ASCII
用に 2 つの変換マップがあります。
.Cm ascii
System V
互換の お奨め変換マップです。
.Cm oldascii
は昔の
.Tn AT&T
および
pre-4.3BSD-reno
システムで使われていた変換マップです。
.It Cm block
入出力のブロック境界に関係なく、入力を newline (改行) もしくは
end-of-file (ファイル末) で区切られる可変長レコード列として
扱います。各入力レコードは
.Cm cbs
で指定する長さの固定長レコードに変換されます。
変換するレコード・サイズより短い入力レコードは space (空白) で
パディングされます。変換するレコード・サイズより長い入力レコードは
長い部分が切り捨てられます。切り捨てがあった入力レコード数は、
もしあれば、コピーの終了時に標準エラー出力に表示されます。
.It Cm ebcdic , ibm , oldebcdic , oldibm
レコードが変換された後で
.Tn ASCII
から
.Tn EBCDIC
への変換を行う以外は
.Cm block
と同じです。
(これらの指定では
.Cm cbs
も指定されている場合は暗黙の内に
.Cm block
も指定された事になります。)
.Tn EBCDIC
用に 4 つの変換マップがあります。
.Cm ebcdic
.At V
互換の お奨め変換マップです。
.Cm ibm
は微妙に違う変換マップで、
.At V
で変換に
.Cm ibm
を指定した場合に相当します。
.Cm oldebcdic
.Cm oldibm
は、昔の
.Tn AT&T
および
pre-4.3BSD-reno
システムで使われていた変換マップです。
.It Cm lcase
英大文字を小文字に変換します。
.It Cm noerror
入力にエラーがあっても処理を止めないようにします。入力エラーが
起こったときは、診断メッセージに続けて その時の入力と出力の
ブロック数を、正常動作終了時に表示するメッセージと同じ
フォーマットで標準エラー出力に表示します。
もし
.Cm sync
変換も指定されていた場合は、入力データのうち失われた物を
.Tn NUL
バイト (ブロック指向の変換のときは space) に置き換えて、
通常の入力バッファとして処理します。
.Cm sync
変換が指定されていなければ、その入力ブロックは出力から削除されます。
テープかパイプ以外の入力ファイルでは、ファイル・オフセットは
.Xr lseek 2
を使ってエラーの発生したブロック以降にも設定されます。
.It Cm notrunc
出力ファイルを切り詰めません。
これによって出力ファイルのブロックの内で明らかに
.Nm
によって書き込まれる部分以外は保存されます。
.Cm notrunc
はテープではサポートされません。
.It Cm osync
最後の出力ブロックを出力ブロックサイズを満たすようにパディングします。
もし変換後に入力ファイルが出力ブロックサイズの整数倍でなかった場合に、
書き込む際に一定サイズのブロックが必要なデバイスで使う時のため、
最後の出力ブロックが直前のブロックと同じなるようにします。
このオプションは
.Cm bs= Ns Ar n
によるブロックサイズ指定とは両立しません。
.It Cm sparse
一つ以上の出力ブロックが
.Tn NUL
バイトのみからなる場合、
.Tn NUL
で埋める代りに、必要な空間だけ出力ファイルのシークを試みます。
結果として、疎なファイルとなります。
.It Cm swab
入力データを 2 バイトごとのペアとみなし、入れ替えます。入力が奇数
バイトだった場合、最後のデータはそのままになります。
.It Cm sync
各入力ブロックを入力バッファ・サイズになるようにパディングします。
パディングには、ブロック指向の変換の場合は空白を、そうでなければ
.Tn NUL
バイトを使います。
.It Cm ucase
英小文字を大文字に変換します。
.It Cm unblock
入出力のブロック境界に関係なく、入力を固定長レコード列として扱います。
入力レコードの長さは
.Cm cbs
オペランドで指定します。
データの後ろにパディングされている space を除去して
newline をつけます。
.El
.El
.Pp
サイズの指定は 10 進のバイト数が期待されます。
数字の最後に ``b'', ``k'', ``m'', ``w'' をつけた場合は、
それぞれ数字に 512、1024 (1K)、1048576 (1M)、integer (整数) のバイト数が
乗ぜられます。
2つ以上の数字を ``x'' でつないだ物を積の意味で使用できます。
.Pp
終了時に、
.Nm
は、きちんともしくは部分的に入出力を行ったブロックの数、
切り詰められた入力レコードの数、奇数長のバイト入れ換えを行った
ブロックの数を標準エラー出力に表示します。
部分的入力ブロックとは、入力ブロックサイズより少なく読まれた
物のことです。
部分出力ブロックとは、出力ブロックサイズより少なく書かれた
物のことです。
テープデバイスで部分出力ブロックが出た場合は致命的なエラーとみなされます。
それ以外の場合は、そのブロックの残りが書かれます。
キャラクタ・デバイスで部分出力ブロックが出た場合は警告メッセージが出ます。
切り詰められた入力ブロックとは、可変長レコード指向の変換が
指定され入力行が変換レコードに合わせるには長すぎるか newline で
終っていない場合の物です。
.Pp
通常、入力または変換の もしくは両方の結果のデータは
指定されたサイズの出力ブロックに集められます。
入力データが最後に達した場合、残っている出力データはブロックとして
出力されます。これは、最後の出力ブロックのサイズは
出力ブロックサイズより短くなる可能性がある事を意味します。
.Pp
.Nm
.Dv SIGINFO
(
.Xr stty 1
の引数 ``status'' 参照)
シグナルを受けた場合、その時点の入出力ブロック数を標準エラー出力に
通常の処理完了時と同じフォーマットで出力します。
.Nm
.Dv SIGINT
シグナルを受けた場合、その時点の入出力ブロック数を標準エラー出力に
通常の処理完了時と同じフォーマットで出力して
.Nm
は終了します。
.Pp
.Nm
ユーティリティは成功した場合は 0 を、
エラーが起きた場合は 0 より大きな値を返します。
.Sh 関連項目
.Xr cp 1 ,
.Xr mt 1 ,
.Xr tr 1
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2
規格のスーパーセットです。
.Cm files
オペランドおよび、
.Cm ascii ,
.Cm ebcdic ,
.Cm ibm ,
.Cm oldascii ,
.Cm oldebcdic ,
.Cm oldibm
.Tn POSIX
規格を拡張しています。
diff --git a/ja_JP.eucJP/man/man1/df.1 b/ja_JP.eucJP/man/man1/df.1
index e91fcf8f86..df0aca5a05 100644
--- a/ja_JP.eucJP/man/man1/df.1
+++ b/ja_JP.eucJP/man/man1/df.1
@@ -1,149 +1,149 @@
.\" 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.
.\"
-.\" @(#)df.1 8.2 (Berkeley) 1/13/94
-.\" %Id: df.1,v 1.4.2.4 1998/07/15 02:01:22 jkh Exp %
+.\" @(#)df.1 8.3 (Berkeley) 5/8/95
+.\" %Id: domainname.1,v 1.6 1998/05/13 07:37:23 charnier Exp %
.\" jpman %Id: df.1,v 1.2 1997/04/07 05:31:08 mutoh Stab %
.\"
-.Dd January 13, 1994
+.Dd May 8, 1995
.Dt DF 1
.Os BSD 4
.Sh 名称
.Nm df
.Nd ディスクの空き領域等の表示
.Sh 書式
.Nm df
.Op Fl ikn
.Op Fl t Ar type
.Op Ar file | Ar filesystem ...
.Sh 解説
.Nm
は、
.Ar file_system
で指定したファイルシステム、
もしくは
.Ar file
で指定したファイルが実際に格納されているファイルシステムの空きディスク容量の
表示を行います。
ディスク容量は、512 バイトを 1 ブロックとしたブロック数で表示
します。
.Nm
の引数として、
.Ar file_system
.Ar file
も指定されなかった場合は、マウントされているすべてのファイ
ルシステムについての情報を表示します。
ただし、
.Fl t
オプションによって、表示するファイルタイプの指示が可能です。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width Ds
.It Fl i
フリーな i ノードの情報も表示します。
.It Fl k
デフォルトの 512 バイトではなく、 1024 バイト (1K バイト)
を 1 ブロックとしてディスク容量を表示します。
このオプションは、環境変数
.Ev BLOCKSIZE
の指示を無効にします。
.It Fl n
.Fl n
オプションが指定されると、
.Nm
は、ファイルシステムから以前に得た情報を返します。
情報の問い合わせに長い時間を要するおそれのあるファイルシステムに対して
用いるオプションです。
このオプションを指定すると、
.Nm
はファイルシステムに新しい情報を問い合わせず、
以前に取得しておいた最新ではない可能性のある情報を表示します。
.It Fl t
指示されたタイプのファイルシステムに関する情報のみ
を表示します。
複数のタイプをコンマで区切ってリスト指定可能です。
リスト中のファイルシステムタイプの前に
.Dq no
を付けて、そのファイルシステムタイプに対しては動作
.Em しない
ように指定可能です。
例えば、
.Nm
コマンド:
.Bd -literal -offset indent
df -t nonfs,mfs
.Ed
.Pp
.Tn NFS
および
.Tn MFS
以外の全ファイルシステムを表示します。
システム上で利用可能なファイルシステムタイプは
.Xr sysctl 8
コマンドを使用して調べられます:
.Bd -literal -offset indent
sysctl vfs
.Ed
.El
.Sh 環境変数
.Bl -tag -width BLOCKSIZE
.It Ev BLOCKSIZE
環境変数
.Ev BLOCKSIZE
が設定されていれば、指定された値をブロックサイズとしてブロック数を表示します。
.El
.Sh バグ
.Ar file_system
または
.Ar file
が指示されてた場合は、
.Fl n
オプションと
.Fl t
オプションは
無効になります。
.Sh 関連項目
.Xr quota 1 ,
.Xr fstatfs 2 ,
.Xr getfsstat 2 ,
.Xr statfs 2 ,
.Xr getmntinfo 3 ,
.Xr fstab 5 ,
.Xr mount 8 ,
.Xr quot 8 ,
.Xr sysctl 8
.Sh 歴史
.Nm
ユーティリティは
.At v1
から登場しています。
diff --git a/ja_JP.eucJP/man/man1/dig.1 b/ja_JP.eucJP/man/man1/dig.1
index 9697b07b39..ceef0e6b06 100644
--- a/ja_JP.eucJP/man/man1/dig.1
+++ b/ja_JP.eucJP/man/man1/dig.1
@@ -1,354 +1,669 @@
-.\" %Id: dig.1,v 8.2 1997/06/01 20:34:33 vixie Exp %
+.\" %Id: dig.1,v 8.3 1998/03/21 01:01:23 halley Exp %
.\" jpman %Id: dig.1,v 1.4 1997/07/26 21:31:55 horikawa Stab %
.\"
.\" ++Copyright++ 1993
.\" -
.\" 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.
.\" -
.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies, and that
.\" the name of Digital Equipment Corporation not be used in advertising or
.\" publicity pertaining to distribution of the document or software without
.\" specific, written prior permission.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" -
.\" --Copyright--
.\"
.\" Distributed with 'dig' version 2.0 from University of Southern
.\" California Information Sciences Institute (USC-ISI).
.\"
.\" dig.1 2.0 (USC-ISI) 8/30/90
.\"
-.\" Man page reformatted for this release by Andrew Cherenson
-.\" (arc@sgi.com)
-.\"
-.TH DIG 1 "August 30, 1990"
-.SH 名称
+.Dd August 30, 1990
+.Dt DIG 1
+.Os BSD 4
+.Sh 名称
dig \- ドメイン名問い合わせパケットをネームサーバに送る
-.SH 書式
-.B dig
-.RI [ @\fIserver\fP ]
-.I domain
-.RI [ "<query-type>" ]
-.RI [ "<query-class>" ]
-.RI [ "+<query-option>" ]
-.RI [ "\-<dig-option>" ]
-.RI [ "%comment" ]
-.SH 解説
-\fIdig\fP (ドメイン情報手探り器; domain information groper) は、
+.Sh 書式
+.Nm dig
+.Op Ic @ Ns Ar server
+.Ar domain
+.Op Aq Ar query-type
+.Op Aq Ar query-class
+.Op Ic + Ns Aq Ar query-option
+.Op Fl Aq Ar dig-option
+.Op Ar %comment
+.Sh 解説
+.Ic dig
+(ドメイン情報手探り器; domain information groper) は、
DNS (Domain Name System) サーバから情報を集めるために使われる
柔軟なコマンドラインツールです。
-\fIdig\fP は二つのモードを持っています。
-これは、一つの問い合わせを行う単純な対話的利用モードと、
+.Ic dig
+は 2 つのモードを持っています。
+これは、1 つの問い合わせを行う単純な対話的利用モードと、
いくつかの問い合わせ行のリスト中の各問い合わせを実行するバッチモードです。
-全ての問い合わせオプションは、コマンドラインから利用可能です。
-.PP
-普通の簡単な \fIdig\fP の使用方は、以下のような形式です。
-.sp 1
- dig @server domain query-type query-class
-.sp 1
+すべての問い合わせオプションは、コマンドラインから利用可能です。
+.Pp
+普通の簡単な
+.Ic dig
+の使用法は、以下のような形式です。
+.Pp
+.Bd -ragged -offset indent-two
+.Ic dig @ NS Ar server domain query-type query-class
+.Ed
+.Pp
ここで、
-.IP \fIserver\fP
+.Bl -tag -width Fl
+.It Ar server
は、ドメイン名かドット表記のインターネットアドレスのどちらかです。
-もし、このオプションフィールドが省略された場合、 \fIdig\fP
+もし、このオプションフィールドが省略された場合、
+.Ic dig
は、そのマシンのデフォルトのネームサーバを利用しようとします。
-.sp 1
-\fB注意:\fP ドメイン名が指定された時は、ドメイン名システムリゾルバ
-(つまり、 BIND) を使うことで解決しようとします。システムが DNS を
+.Pp
+.Em 注釈:
+ドメイン名が指定された時は、ドメイン名システムリゾルバ
+(つまり、BIND) を使うことで解決しようとします。システムが DNS を
提供していない時は、ドット形式のアドレスを指定する必要があります。
-その代わりに、処理できるどこかにサーバがある場合は、
-/etc/resolv.conf が存在し、デフォルトネームサーバがどこにあるかが
-記述されている、つまり、 \fIserver\fP 自身が解決可能であることが
-求められています。
-/etc/resolv.conf についての情報は
-.IR resolver (5)
+利用できるサーバがどこかにある場合は、必要なことは
+.Pa /etc/resolv.conf
+が存在し、
+.Ar server
+自身が解決できるように、そのデフォルトネームサーバがどこにあるかが
+記述されていることだけです。
+.Pa /etc/resolv.conf
+についての情報は
+.Xr resolver 5
を参照してください。
-( 注意 : /etc/resolv.conf を変更すると、標準のリゾルバライブラリと
-それを使ういくつかのプログラムに影響を与えます。)
-オプションとして、ユーザは環境変数 LOCALRES を
-/etc/resolv.conf の代わりに使うためのファイルに設定できます。
-(LOCALRES 変数は、 \fIdig\fP リゾルバ固有のもので、標準のリゾルバでは、
-参照されません。) LOCALRES 変数が設定されていないか、
-設定されたファイルが読み込めない場合は、 /etc/resolv.conf が使われます。
-.IP \fIdomain\fP
+.Sy 警告:
+.Pa /etc/resolv.conf
+を変更すると、標準のリゾルバライブラリと
+.Pq 潜在的に
+それを使ういくつかのプログラムに影響を与えます。
+オプションとして、ユーザは環境変数
+.Ev LOCALRES
+を設定し、
+.Pa /etc/resolv.conf
+の代わりに使うファイルの名前を指定できます。
+.Po Ns Ev LOCALRES
+変数は
+.Ic dig
+リゾルバ固有のもので、標準のリゾルバでは
+参照されません
+.Pc 。
+.Ev LOCALRES 変数が設定されていないか、
+設定されたファイルが読み込めない場合は、
+.Pa /etc/resolv.conf
+が使われます。
+.It Ar domain
は、あなたが情報を要求しているドメイン名です。
-逆アドレスの問い合わせのための便利な方法は、-x オプションを見てください。
-.IP \fIquery-type\fP
+逆アドレスの問い合わせのための便利な方法は、
+.Fl x
+オプションを参照してください(この節の
+.Sx その他のオプション
+の項で述べられています)。
+.It Ar query-type
は、あなたが要求している情報のタイプ(DNS 問い合わせタイプ)です。
-省略された場合のデフォルトは、"a" (T_A = アドレス)
+省略された場合のデフォルトは、
+.Dq Ar a
+.Pq Dv T_A = アドレス
が使われます。以下のタイプが認識されます。
-.sp 1
-.ta \w'hinfoXX'u +\w'T_HINFOXX'u
-.nf
-a T_A ネットワークアドレス
-any T_ANY 指定されたドメインの全て/任意の情報
-mx T_MX ドメインのメール交換情報 (MX)
-ns T_NS ネームサーバ
-soa T_SOA 認証レコードのゾーン
-hinfo T_HINFO ホスト情報
-axfr T_AXFR ゾーン転送情報
- (権威を持ったサーバに尋ねなければなりません)
-txt T_TXT 任意の数の文字列
-.fi
-.sp 1
+.Pp
+.Bl -hang -width "hinfo T_HINFO " -compact
+.It Ar a\ \ \ \ \ \ Dv T_A
+ネットワークアドレス
+.It Ar any\ \ \ \ Dv T_ANY
+指定されたドメインのすべて/任意の情報
+.It Ar mx\ \ \ \ \ Dv T_MX
+ドメインのメール交換情報 (MX)
+.It Ar ns\ \ \ \ \ Dv T_NS
+ネームサーバ
+.It Ar soa\ \ \ \ Dv T_SOA
+ゾーンの権威者を表すレコード
+.It Ar hinfo\ \ Dv T_HINFO
+ホスト情報
+.It Ar axfr\ \ \ Dv T_AXFR
+ゾーン転送情報(権威を持ったサーバに尋ねなければなりません)
+.It Ar txt\ \ \ \ Dv T_TXT
+任意の数の文字列
+.El
+.Pp
(完全なリストは、RFC 1035 を参照してください。)
-.IP \fIquery-class\fP
+.It Ar query-class
は、問い合わせで要求されるネットワーククラスです。
-省略された場合のデフォルトは、 "in" (C_IN = Internet) です。
+省略された場合のデフォルトは、
+.Dq Ar in
+.Pq Dv C_IN = Internet
+です。
以下のクラスが認識されます。
-.sp 1
-.ta \w'hinfoXX'u +\w'T_HINFOXX'u
-.nf
-in C_IN インターネット・クラス・ドメイン
-any C_ANY 全て/任意のクラスの情報
-.fi
-.sp 1
-(完全なリストに付いては、 RFC 1035 を参照してください。)
-.sp 1
-\fB注意:\fP
-"any" は、クラスや問い合わせのタイプを指定するために使われます。
-\fIdig\fP は、最初に現れた "any" を query-type = T_ANY として解析します。
-query-class = C_ANY にするためには、 "any" を2度指定するか、
-"-c" オプション(以下参照)を利用して問い合わせクラスを
+.Pp
+.Bl -tag -width "hinfo T_HINFO " -compact
+.It Ar in\ \ \ \ \ Dv C_IN
+インターネットクラスドメイン
+.It Ar any\ \ \ \ Dv C_ANY
+すべて/任意のクラスの情報
+.El
+.Pp
+(完全なリストは、RFC 1035 を参照してください。)
+.Pp
+.Em 注釈:
+.Dq Ar any
+は、
+.Em クラス
+や問い合わせの
+.Em タイプ
+を指定するために使われます。
+.Ic dig
+は、最初に現れた
+.Dq Ar any
+を
+.Ar query-type = Dv T_ANY
+として解析します。
+.Ar query-class = Dv C_ANY
+にするためには、
+.Dq any
+を 2 度指定するか、
+.Fl c
+オプション(以下参照)を利用して問い合わせクラスを
指定しなければなりません。
-.SH その他のオプション
-.IP "%ignored-comment"
-"%" は、単に解析されない引数を含むために使われます。
-これは、 \fIdig\fP をバッチモードで実行する時に有効です。
-問い合わせリスト中の全ての @server-domain-name をリゾルブする代わりに、
+.El
+.Ss その他のオプション
+.Bl -tag -width Fl
+.It % Ns Ar ignored-comment
+.Dq %
+は、単に解析されない引数を含むために使われます。
+これは、
+.Ic dig
+をバッチモードで実行する時に有効です。
+問い合わせリスト中のすべての
+.Ar @server-domain-name
+を解決する代わりに、
そのオーバヘッドを避けつつコマンドライン上にドメイン名を書くことが出来ます。
以下の例を参照。
-.sp 1
- dig @128.9.0.32 %venera.isi.edu mx isi.edu
-.sp 1
-.IP "\-<dig option>"
-"\-" は、 \fIdig\fP の操作に影響を与えるオプションを指定するために
-指定されます。以下のオプションが現在利用可能です
+.Pp
+.Bd -ragged -offset indent-two
+.Ic dig @128.9.0.32 %venera.isi.edu mx isi.edu
+.Ed
+.Pp
+.It Fl Aq Ar dig option
+.Dq Fl
+は、
+.Ic dig
+の操作に影響を与えるオプションを指定するために
+使われます。以下のオプションが現在利用可能です
( 便利であるかどうかは保証しません )。
-.RS
-.IP "\-x \fIdot-notation-address\fP"
+.Bl -tag -width Fl
+.It Fl x Ar dot-notation-address
逆アドレス変換を指定する便利な形式です。
-"dig 32.0.9.128.in-addr.arpa" の代わりに、"dig -x 128.9.0.32"
+.Dq Ic dig 32.0.9.128.in-addr.arpa
+の代わりに、
+.Dq Ic dig -x 128.9.0.32
と指定できます。
-.IP "\-f \fIfile\fP"
-\fIdig\fP のバッチモードのためのファイルです。ファイルは、
-つづいて実行される問い合わせの指定 (\fIdig\fP のコマンドライン) の
+.It Fl f Ar file
+.Ic dig
+のバッチモードのためのファイルです。ファイルは、
+つづいて実行される問い合わせの指定 (
+.Ns Ic dig
+のコマンドライン) の
リストを含んでいます。
-';', '#', '\\n' で始まる行は無視されます。その他のオプションは、
+.Sq \&; ,
+.Sq # ,
+.Sq \en
+で始まる行は無視されます。その他のオプションは、
コマンドラインで現れるものは、個々のバッチによる問い合わせでも
影響があります。
-.IP "\-T \fItime\fP"
+.It Fl T Ar time
バッチモードで実行した時、連続した問い合わせの始まる時間間隔を秒で与え
-ます。2 つ以上のバッチ \fIdig\fP コマンドの実行を大体同期することができる
+ます。2 つ以上のバッチ
+.Ic dig
+コマンドの実行を大体同期することができる
ようになります。デフォルトは 0 です。
-.IP "\-p \fIport\fP"
+.It Fl p Ar port
ポート番号です。標準でないポート番号で待つネームサーバに問い合わせます。
デフォルトは 53 です。
-.IP "\-P[\fIping-string\fP]"
+.It Fl p Ns Bq Ar ping-string
問い合わせからかえってきた後で、
-.IR ping (8)
+.Xr ping 8
コマンドを応答時間の比較のために実行します。これは、美しくないのですが、
-シェルを呼出します。統計の最後の 3 行がコマンドのために
+シェルを呼び出します。統計の最後の 3 行がコマンドのために
表示されます。
-.sp 1
- ping \-s server_name 56 3
-.sp 1
-オプションの "ping string" が存在した時は、シェルコマンドでは
-"ping \-s" を置き換えます。
-.IP "\-t \fIquery-type\fP"
+.Pp
+.Bd -ragged -offset indent-two
+.Ic ping Fl s server_name 56 3
+.Ed
+.Pp
+オプションの
+.Dq Ar ping-string
+が存在した時は、シェルコマンドでは
+.Dq Ic ping Fl s
+を置き換えます。
+.It Fl t Ar query-type
問い合わせのタイプを指定します。タイプフィールド内の整数値か、
-上で述べたニーモニック表現 (つまり mx = T_MX) かで
+上で述べたニーモニック表現 (つまり
+.Ar mx = Dv T_MX
+) かで
指定することができます。
-.IP "\-c \fIquery-class\fP"
+.It Fl c Ar query-class
問い合わせのクラスを指定します。クラスフィールド内の整数値か、
上で述べたニーモニック表現 (つまり in = C_IN) で
指定することができます。
-.IP "\-envsav"
-このフラグは、全ての引数が解析された後で、
-\fIdig\fP 環境 (デフォルトや表示オプション等) を
-デフォルト環境としてファイルに保存するために指定します。
-標準のデフォルトが気に入らなく、たくさんのオプションを \fIdig\fP を
-使う度に指定することが嫌な場合は便利です。
-環境は、\fIdig\fP 出力 (以下参照) で詳しく述べられるフラグと同じように、
+.It Fl envsav
+このフラグを指定すると、すべての引数が解析された後で
+.Ic dig 環境 (デフォルトや表示オプション等) を
+デフォルト環境としてファイルに保存します。
+標準のデフォルトが気に入らず、
+.Ic dig
+を使う度にたくさんのオプションを指定することが嫌な場合は便利です。
+環境は、
+.Ic dig
+出力 (以下参照) で詳しく述べられるフラグと同じように、
リゾルバの状態変数フラグや、タイムアウト、再試行回数からなります。
-シェル環境変数 LOCALDEF がファイルの名前に設定されている場合、
-これが、デフォルトの \fIdig\fP 環境が保存される場所となります。
-そうでない場合は、ファイル "DiG.env" が現在の作業ディレクトリに
+シェル環境変数
+.Ev LOCALDEF
+がファイルの名前に設定されている場合、
+これが、デフォルトの
+.Ic dig
+環境が保存される場所となります。
+そうでない場合は、ファイル
+.Dq DiG.env
+が現在の作業ディレクトリに
作成されます。
-.sp 1
-\fB注意:\fP LOCALDEF は、 \fIdig\fP のリゾルバ固有であり、
+.Pp
+.Em 注釈:
+.Ev LOCALDEF
+は、
+.Ic dig
+のリゾルバ固有であり、
標準のリゾルバライブラリの操作には影響を与えません。
-.sp 1
-\fIdig\fP が実行される度に、 "./DiG.env" またはシェル環境変数
-LOCALDEF で指定されたファイルが探されます。そのようなファイルが
+.Pp
+.Ic dig
+が実行される度に、
+.Dq ./DiG.env
+またはシェル環境変数
+.Ev LOCALDEF
+で指定されたファイルが探されます。そのようなファイルが
存在し読める場合は、引数を解析する前にこのファイルから環境が
読み込まれます。
-.IP "\-envset"
+.It Fl envset
このフラグは、バッチ問い合わせを実行する時にだけ影響があります。
-\fIdig\fP バッチファイル中で "\-envset" が指定されていると、
-この引数が解析された後の \fIdig\fP 環境は、
-バッチファイルが実行されている間もしくは、
-次の "\-envset" が指定されるまでの間は
+.Ic dig
+バッチファイル中で
+.Dq Fl envset
+が指定されていると、
+この引数が解析された後の
+.Ic dig
+環境は、バッチファイルが実行されている間もしくは、次の
+.Dq Fl envset
+が指定されるまでの間は、
デフォルトの環境となります。
-.IP "\-[no]stick"
+.It Xo
+.Fl Op Cm no
+.Ns Cm stick
+.Xc
このフラグは、バッチ問い合わせ実行にだけ影響を与えます。
-これは、 \fIdig\fP 環境を \fIdig\fP バッチファイル中での
-各問い合わせ (行) の前に (初期状態もしくは、"\-envset" で設定された)
+これは、
+.Ic dig
+環境を
+.Ic dig
+バッチファイル中での
+各問い合わせ (行) の前に (初期状態もしくは、
+.Dq Fl envset
+で設定された)
元の状態に戻すことを指定します。
-デフォルトの "\-nostick" は、 \fIdig\fP 環境を回復しないという意味ですので、
-\fIdig\fP バッチファイルの各行で指定されたオプションは、
-後の行でもその効果が残ったままになります (つまり "sticky" の
-デフォルトに回復されません)。
-
-.RE
-.IP "+<query option>"
-"+" はパケット問い合わせ中のオプション変更や
-\fIdig\fP 出力仕様を変更するために使われます。
+デフォルトの
+.Dq Fl nostick
+は、
+.Ic dig
+環境を回復しないという意味ですので、
+.Ic dig
+バッチファイルの各行で指定されたオプションは、
+後の行でもその効果が残ったままになります (つまり
+.Dq sticky
+時のデフォルトのようには回復されません)。
+.El
+.It Ic + Ns Aq Ar query option
+.Dq +
+はパケット問い合わせ中のオプション変更や
+.Ic dig
+出力仕様を変更するために使われます。
これらの多くは、
-.IR nslookup (8)
+.Xr nslookup 8
で受け入れられるパラメータと同じものです。
オプションが値を必要とする場合、その指定形式は以下のようになります。
-.sp 1
- +keyword[=value]
-.sp 1
+.Pp
+.Bd -ragged -offset indent-two
+.Ic +
+.Ns Ar keyword
+.Ns Op = Ns Ar value
+.Ed
+.Pp
ほとんどのキーワードは、省略が可能です。
-"+" オプションの解釈は非常に単純です。
+.Dq +
+オプションの解釈は非常に単純です。
値はキーワードとスペースで区切ってはなりません。
以下のキーワードが現在利用可能です。
-.sp 1
-.nf
-.ta \w'domain=NAMEXX'u +\w'(deb)XXX'u
+.Pp
+.Pp
キーワード 省略形 意味 [デフォルト]
-
-[no]debug (deb) デバッグモードを変更 [deb]
-[no]d2 追加のデバッグモードを変更 [nod2]
-[no]recurse (rec) 再帰的探索を使うかどうか指定 [rec]
-retry=# (ret) 再試行の回数を # に設定 [4]
-time=# (ti) タイムアウト時間を # 秒に設定 [4]
-[no]ko 繋げておくオプション(vc を暗黙指定) [noko]
-[no]vc 仮想回線を使うかどうか指定 [novc]
-[no]defname (def) デフォルトドメイン名を使うかどうか指定 [def]
-[no]search (sea) ドメインサーチリストを使うかどうか指定 [sea]
-domain=NAME (do) デフォルトドメイン名を NAME に指定
-[no]ignore (i) trunc. エラーを無視するかどうか指定 [noi]
-[no]primary (pr) プライマリサーバを使うかどうか指定 [nopr]
-[no]aaonly (aa) 権威を持った問い合わせのみのフラグ [noaa]
-[no]sort (sor) リソースレコードを整列 [nosor]
-[no]cmd 解析された引数を表示 [cmd]
-[no]stats (st) 問い合わせの統計を表示 [st]
-[no]Header (H) 基本的なヘッダを表示 [H]
-[no]header (he) ヘッダフラグを表示 [he]
-[no]ttlid (tt) TTL を表示 [tt]
-[no]cl クラス情報を表示 [nocl]
-[no]qr 出て行った問い合わせを表示 [noqr]
-[no]reply (rep) 応答節を表示 [rep]
-[no]ques (qu) 質問節を表示 [qu]
-[no]answer (an) 解答節を表示 [an]
-[no]author (au) 権威節を表示 [au]
-[no]addit (ad) 加えられた節を表示 [ad]
-pfdef デフォルト表示フラグを設定
-pfmin 最小のデフォルト表示フラグを設定
-pfset=# 表示フラグを # に設定
- (# は 16 進 /8 進/10 進が可能です)
-pfand=# 表示フラグに # とのビット論理積 (and) 適用
-pfor=# 表示フラグに # とのビット論理和 (or) 適用
-.fi
-.sp 1
-再試行回数と時間のオプションは、問い合わせデータグラムを送る際に、
+.Pp
+.Bl -tag -width "[no]primary (ret) " -compact
+.It Xo
+.Op Cm no
+.Ns Cm debug\ \ \ \
+.Pq Cm deb
+.Xc
+デバッグモードを変更
+.Bq Cm deb
+.It Xo
+.Op Cm no
+.Ns Cm d2\ \ \ \ \ \ \ \ \ \
+.Xc
+追加のデバッグモードを変更
+.Bq Cm nod2
+.It Xo
+.Op Cm no
+.Ns Cm recurse\ \
+.Pq Cm rec
+.Xc
+再帰的探索を使うかどうか指定
+.Bq Cm rec
+.It Xo
+.Cm retry= Ns Ar #
+.Cm \ \ \ \ \
+.Pq Cm ret
+.Xc
+再試行の回数を # に設定
+.Bq 4
+.It Xo
+.Cm time= Ns Ar #
+.Cm \ \ \ \ \ \
+.Pq Cm ti
+.Xc
+タイムアウト時間を # 秒に設定
+.Bq 4
+.It Xo
+.Op Cm no
+.Ns Cm ko
+.Xc
+繋げておくオプション(vc を暗黙指定)
+.Bq Cm noko
+.It Xo
+.Op Cm no
+.Ns Cm vc
+.Xc
+仮想回線を使うかどうか指定
+.Bq Cm novc
+.It Xo
+.Op Cm no
+.Ns Cm defname\ \
+.Pq Cm def
+.Xc
+デフォルトドメイン名を使うかどうか指定
+.Bq Cm def
+.It Xo
+.Op Cm no
+.Ns Cm search\ \ \
+.Pq Cm sea
+.Xc
+ドメインサーチリストを使うかどうか指定
+.Bq Cm sea
+.It Xo
+.Cm domain= Ns Ar NAME\ \
+.Pq Cm do
+.Xc
+デフォルトドメイン名を
+.Ar NAME
+に指定
+.It Xo
+.Op Cm no
+.Ns Cm ignore\ \ \
+.Pq Cm i
+.Xc
+trunc. エラーを無視するかどうか指定
+.Bq Cm noi
+.It Xo
+.Op Cm no
+.Ns Cm primary\ \
+.Pq Cm pr
+.Xc
+プライマリサーバを使うかどうか指定
+.Bq Cm nopr
+.It Xo
+.Op Cm no
+.Ns Cm aaonly\ \ \
+.Pq Cm aa
+.Xc
+権威を持った問い合わせのみのフラグ
+.Bq Cm noaa
+.It Xo
+.Op Cm no
+.Ns Cm cmd
+.Xc
+解析された引数を表示
+.Bq Cm cmd
+.It Xo
+.Op Cm no
+.Ns Cm stats\ \ \ \
+.Pq Cm st
+.Xc
+問い合わせの統計を表示
+.Bq Cm st
+.It Xo
+.Op Cm no
+.Ns Cm Header\ \ \
+.Pq Cm H
+.Xc
+基本的なヘッダを表示
+.Bq Cm H
+.It Xo
+.Op Cm no
+.Ns Cm header\ \ \
+.Pq Cm he
+.Xc
+ヘッダフラグを表示
+.Bq Cm he
+.It Xo
+.Op Cm no
+.Ns Cm ttlid\ \ \ \
+.Pq Cm tt
+.Xc
+TTL を表示
+.Bq Cm tt
+.It Xo
+.Op Cm no
+.Ns Cm cl
+.Xc
+クラス情報を表示
+.Bq Cm nocl
+.It Xo
+.Op Cm no
+.Ns Cm qr
+.Xc
+出て行った問い合わせを表示
+.Bq Cm noqr
+.It Xo
+.Op Cm no
+.Ns Cm reply\ \ \ \
+.Pq Cm rep
+.Xc
+応答節を表示
+.Bq Cm rep
+.It Xo
+.Op Cm no
+.Ns Cm ques\ \ \ \ \
+.Pq Cm qu
+.Xc
+質問節を表示
+.Bq Cm qu
+.It Xo
+.Op Cm no
+.Ns Cm answer\ \ \
+.Pq Cm an
+.Xc
+回答節を表示
+.Bq Cm an
+.It Xo
+.Op Cm no
+.Ns Cm author\ \ \
+.Pq Cm au
+.Xc
+権威節を表示
+.Bq Cm au
+.It Xo
+.Op Cm no
+.Ns Cm addit\ \ \ \
+.Pq Cm ad
+.Xc
+追加節を表示
+.Bq Cm ad
+.It Cm pfdef
+デフォルト表示フラグを設定
+.It Cm pfmin
+最小のデフォルト表示フラグを設定
+.It Cm pfset= Ns Ar #
+表示フラグを # に設定
+(# は 16 進 /8 進/10 進が可能です)
+.It Cm pfand= Ns Ar #
+表示フラグに # とのビット論理積 (and) 適用
+.It Cm pfor= Ns Ar #
+表示フラグに # とのビット論理和 (or) 適用
+.El
+.Pp
+.Cm 再試行回数
+と
+.Cm 時間
+のオプションは、問い合わせデータグラムを送る際に、
リゾルバライブラリによって使われる再送戦略に影響を与えます。
アルゴリズムは以下の通りです
-.sp 1
-.in +5n
-.nf
-for i = 0 to retry \- 1
+.Pp
+.Bd -literal -offset indent
+for i = 0 to retry - 1
for j = 1 to num_servers
send_query
wait((time * (2**i)) / num_servers)
end
end
-.fi
-.in -5n
-.sp 1
-(注意: \fIdig\fP はいつも num_servers として値 1 を使います。)
-.SH 詳細
-\fIdig\fP は、かつて BINDの
-.IR resolver (3)
+.Ed
+.Pp
+(注釈:
+.Ic dig
+はいつも
+.Dq Li num_servers
+として値 1 を使います。)
+.El
+.Ss 詳細
+.Ic dig
+は、かつて BINDの
+.Xr resolver 3
ライブラリの変更版を要求しました。
-BIND のリゾルバは、(BIND 4.9のように) \fIdig\fP を正しく
-動作させるようになって来ています。本質的に、 \fIdig\fP は、
-引数の解釈に(とても良くは無いですが)努力し、適当なパラメータを
-設定します。\fIdig\fP は
-リゾルバの関数 res_init(), res_mkquery(), res_send() を使い、
-また _res 構造体を操作します。
-.SH 関連ファイル
-.ta \w'/etc/resolv.confXX'u
-/etc/resolv.conf 初期状態のドメイン名とネームサーバ
-\&./DiG.env デフォルトオプションを保存するデフォルトファイル
-.br
-.SH 環境変数
-LOCALRES /etc/resolv.conf の代わりに使うファイル
-.br
-LOCALDEF デフォルトの環境ファイル
-.SH 作者
+BIND のリゾルバは、(BIND 4.9のように)
+.Ic dig
+を正しく動作させるようになって来ています。本質的には、
+.Ic dig
+は、引数の解釈と適切なパラメータ設定を(見事にではなく)卒直に行うものです。
+.Ic dig
+はリゾルバの関数
+.Fn res_init ,
+.Fn res_mkquery ,
+.Fn res_send
+を使い、また
+.Ft _res
+構造体を操作します。
+.Sh 環境変数
+.Bl -tag -width "LOCALRES " -compact
+.It Ev LOCALRES
+.Pa /etc/resolv.conf
+の代わりに使うファイル
+.It Ev LOCALDEF
+デフォルトの環境ファイル
+.El
+.Pp
+上述した
+.Fl envsav ,
+.Fl envset ,
+.Xo
+.Fl Op Cm no
+.Ns Cm stick
+.Xc
+オプションの説明も参照してください。
+.Sh 関連ファイル
+.Bl -tag -width "/etc/resolv.conf " -compact
+.It Pa /etc/resolv.conf
+初期状態のドメイン名とネームサーバのアドレス
+.It Pa \./DiG.env
+デフォルトオプションを保存するデフォルトファイル
+.El
+.Sh 関連項目
+.Xr named 8 ,
+.Xr resolver 3 ,
+.Xr resolver 5 ,
+.Xr nslookup 8
+.Sh 規格
+RFC 1035
+.Sh 作者
Steve Hotz
hotz@isi.edu
-.SH 謝辞
-\fIdig\fP は、 Andrew Cherenson によって書かれた
-.IR nslookup (8)
+.Sh 謝辞
+.Ic dig
+は、Andrew Cherenson によって書かれた
+.Xr nslookup 8
の関数を使っています。
-.SH バグ
-\fIdig\fP は "這い回る機能主義 (creeping featurism)" の深刻事例 --
+.Sh バグ
+.Ic dig
+は "這い回る機能主義 (creeping featurism)" の深刻事例 --
開発中に潜在的な用途をいくつか考えた結果です。
おそらく苛酷なダイエットが有効でしょう。
同様に、表示フラグと項目の粒度は、その場限りで
生まれたもので、存在理由はそれほどありません。
-.PP
+.Pp
問題がリゾルバ中のどこかで起こった時に、
-\fIdig\fP は、 (適切な状態を持って)一貫性のあるように終了しません
-(注意:大部分の共通の終了状態はちゃんと扱います)。
+.Ic dig
+は、(適切な状態を持って)一貫性のあるように終了しません
+.Po Sy 注釈:
+大部分の共通の終了状態はちゃんと扱います
+.Pc 。
これは、バッチモードで実行している時に特に悩まされます。
異常終了した時(さらにそれを捕まえられなかった時)、バッチ全体が終了します。
-そのようなイベントをとらえた時、 \fIdig\fP は単に次の問い合わせを
+そのようなイベントをとらえた時、
+.Ic dig
+は単に次の問い合わせを
続けます。
-.SH 関連項目
-named(8), resolver(3), resolver(5), nslookup(8)
diff --git a/ja_JP.eucJP/man/man1/dnsquery.1 b/ja_JP.eucJP/man/man1/dnsquery.1
index 90843421bf..2d563a00fc 100644
--- a/ja_JP.eucJP/man/man1/dnsquery.1
+++ b/ja_JP.eucJP/man/man1/dnsquery.1
@@ -1,163 +1,180 @@
-.TH DNSQUERY 1 "10 March 1990"
+.\" %Id: dnsquery.1,v 8.2 1997/03/14 02:29:41 vixie Exp %
+.\"
+.\"Copyright (c) 1995, 1996 by Internet Software Consortium
+.\"
+.\"Permission to use, copy, modify, and distribute this software for any
+.\"purpose with or without fee is hereby granted, provided that the above
+.\"copyright notice and this permission notice appear in all copies.
+.\"
+.\"THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+.\"ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+.\"OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+.\"CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+.\"DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+.\"PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+.\"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+.\"SOFTWARE.
+.\"
.\" jpman %Id: dnsquery.1,v 1.3 1997/08/20 12:21:56 horikawa Stab %
-.UC 6
-.SH 名称
-dnsquery \- リゾルバを用いて DNS に問い合わせる
-.SH 書式
-.B dnsquery
-[-n
-.I nameserver]
-[-t
-.I type]
-[-c
-.I class]
-[-r
-.I retry]
-[-p
-.I retry period]
-[-d] [-s] [-v] host
-.SH 解説
-.IR dnsquery
+.\"
+.Dd March 10, 1990
+.Dt DNSQUERY 1
+.Os BSD 4
+.Sh 名称
+.Nm dnsquery
+.Nd リゾルバを用いて DNS に問い合わせる
+.Sh 書式
+.Nm dnsquery
+.Op Fl n Ar nameserver
+.Op Fl t Ar type
+.Op Fl c Ar class
+.Op Fl r Ar retry
+.Op Fl p Ar period
+.Op Fl d
+.Op Fl s
+.Op Fl v
+.Ar host
+.Sh 解説
+.Ic dnsquery
プログラムは、BIND リゾルバのライブラリ呼び出しによって
ネームサーバとやりとりする一般的なインタフェースです。
本プログラムはオペコード QUERY によるネームサーバ問い合わせを
サポートしています。
本プログラムは、nstest, nsquery, nslookup のようなプログラムを
置き換えるあるいは補うものとして作成されました。
-.IR host
+.Ar host
-.IR ns
+.Ar nameserver
以外の引数は大文字小文字を区別しません。
-.SH オプション
-.TP 1i
-.B \-n
+.Sh オプション
+.Bl -tag -width Fl
+.It Fl n Ar nameserver
問い合わせに用いるネームサーバ。
ネームサーバ指定は、w.x.y.z 形式のインターネットアドレス表記でも、
ドメインネーム表記でも構いません。
-(デフォルト: /etc/resolv.conf の指定)
-.TP 1i
-.B \-t
+(デフォルト:
+.Pa /etc/resolv.conf
+の指定。)
+.It Fl t Ar type
関心あるリソースレコード型。型には以下のものがあります:
-.RS 1.5i
-.TP 1i
-A
+.Bl -tag -width "AFSDB " -compact -offset indent
+.It Ar A
アドレス
-.PD 0
-.TP 1i
-NS
+.It Ar NS
ネームサーバ
-.TP 1i
-CNAME
+.It Ar CNAME
正式名
-.TP 1i
-PTR
-ドメインネームポインタ
-.TP 1i
-SOA
-Start of Authority
-.TP 1i
-WKS
-よく知られたサービス(well-known service)
-.TP 1i
-HINFO
+.It Ar PTR
+ドメインネームへのポインタ
+.It Ar SOA
+権威の開始 (Start of Authority)
+.It Ar WKS
+よく知られたサービス (well-known service)
+.It Ar HINFO
ホスト情報
-.TP 1i
-MINFO
+.It Ar MINFO
メールボックス情報
-.TP 1i
-MX
-メール交換(mail exchange)
-.TP 1i
-RP
-responsible person
-.TP 1i
-MG
+.It Ar MX
+メールエクスチェンジ (mail exchange)
+.It Ar RP
+責任者 (responsible person)
+.It Ar MG
メールグループメンバ
-.TP 1i
-AFSDB
+.It Ar AFSDB
DCE または AFS サーバ
-.TP 1i
-ANY
+.It Ar ANY
ワイルドカード
-.RE
-.PD
-.IP
-大文字小文字どちらでも使用できます。(デフォルト: ANY)
-.TP 1i
-.B \-c
+.El
+.Pp
+大文字小文字どちらでも使用できます。(デフォルト:
+.Ar ANY
+)。
+.It Fl c Ar class
関心あるリソースレコードのクラス。クラスには以下のものがあります:
-.RS 2i
-.TP 1i
-IN
+.Bl -tag -width "CHAOS " -compact -offset indent
+.It Ar IN
インターネット
-.PD 0
-.TP 1i
-HS
+.It Ar HS
Hesiod
-.TP 1i
-CHAOS
+.It Ar CHAOS
Chaos
-.TP 1i
-ANY
+.It Ar ANY
ワイルドカード
-.RE
-.PD
-.IP
-大文字小文字どちらでも使用できます。(デフォルト: IN)
-.TP 1i
-.B \-r
+.El
+.Pp
+大文字小文字どちらでも使用できます。(デフォルト:
+.Ar IN
+)。
+.It Fl r Ar retry
ネームサーバが応答しない場合のリトライ回数。(デフォルト: 4)
-.TP 1i
+.It Fl p Ar period
.B \-p
-タイムアウト時間(秒)。 (デフォルト: RES_TIMEOUT)
-.\" 以下の 2行は前後のつながり不明。英語版の段階で欠落あり?? (jpman 酒井)
-.\" .IR options
-.\" field. (default: any answer)
-.\" -a オプション削除時のゴミだと思います(horikawa@jp.freebsd.org)
-.TP 1i
-.B \-d
+タイムアウト時間(秒)。(デフォルト:
+.Dv RES_TIMEOUT
+)。
+.It Fl d
デバッグ機能を有効にする。リゾルバの
-.IR options
-フィールドの RES_DEBUG ビットをセットします。(デフォルト: デバッグ機能オフ)
-.TP 1i
-.B \-s
+.Ft options
+フィールドの
+.Dv RES_DEBUG
+ビットをセットします。(デフォルト: デバッグ機能オフ)
+.It Fl s
パケットではなく
-.IR ストリーム
+.Em ストリーム
を用います。つまり、ネームサーバとの接続に UDP データグラムではなく、
TCP ストリームを用います。リゾルバの
-.IR options
-フィールドの RES_USEVC ビットをセットします。(デフォルト: UDP)
-.TP 1i
-.B \-v
-オプション 's' と同じ意味です。
-.TP 1i
-.B host
+.Ft options
+フィールドの
+.Dv RES_USEVC
+ビットをセットします。(デフォルト: UDP データグラム)
+.It Fl v
+オプション
+.Dq Fl s
+と同じ意味です。
+.It Ar host
関心あるホスト名(あるいはドメイン名)。
-.SH 関連ファイル
-/etc/resolv.conf デフォルトのネームサーバと検索リスト
-.br
-<arpa/nameser.h> 利用できる RR タイプとクラスの一覧
-.br
-<resolv.h> リゾルバのフラグ一覧
-.SH 関連項目
-nslookup(8), nstest(1), nsquery(1),
-named(8), resolver(5)
-.SH 診断
+.El
+.Sh 関連ファイル
+.Bl -tag -width "<arpa/nameser.h> " -compact
+.It Pa /etc/resolv.conf
+デフォルトのネームサーバと検索リスト
+.It Pa <arpa/nameser.h>
+利用できる RR タイプとクラスの一覧
+.It Pa <resolv.h>
+リゾルバのフラグ一覧
+.El
+.Sh 診断
リゾルバが問い合わせの回答に失敗し、デバッグ機能が有効になっていない場合、
-.IR dnsquery
+.Ic dnsquery
は単に以下のようなメッセージを表示します:
-.TP 1i
-Query failed (rc = 1) : Unknown host
-.LP
-リターンコードの値は h_errno から得ます。
-.SH バグ
-IN 以外のクラスを問い合わせると面白い結果が得られることがあります。
-というのは、ネームサーバは普通、クラス IN のリソースレコードとして
+.Dl Query failed (rc = 1) : Unknown host
+.Pp
+リターンコードの値は
+.Ft h_errno
+から得ます。
+.Sh 関連項目
+.Xr nslookup 8 ,
+.Xr nstest 1 ,
+.Xr nsquery 1 ,
+.Xr named 8 ,
+.Xr resolver 5
+.Sh 作者
+Bryan Beecher
+.Sh バグ
+.Ar IN
+以外のクラスを問い合わせると面白い結果が得られることがあります。
+というのは、ネームサーバは普通、クラス
+.Ar IN
+のリソースレコードとして
ルートネームサーバのリストだけしか持っていないからです。
-.PP
-本コマンドは、inet_addr() を呼び出して `-n' オプションが
+.Pp
+本コマンドは、
+.Fn inet_addr
+を呼び出して
+.Dq Fl n
+オプションが
正しいインターネットアドレスかどうかを判断します。
-残念ながら、inet_addr() は一部の(正しくない)アドレス(例えば 1.2.3.4.5)に
+残念ながら、
+.Fn inet_addr
+は一部の(正しくない)アドレス(例えば 1.2.3.4.5)に
対してセグメンテーションフォールトを起こすことがあるようです。
-.SH 作者
-Bryan Beecher
diff --git a/ja_JP.eucJP/man/man1/du.1 b/ja_JP.eucJP/man/man1/du.1
index 01dc8e86b0..1d58281470 100644
--- a/ja_JP.eucJP/man/man1/du.1
+++ b/ja_JP.eucJP/man/man1/du.1
@@ -1,134 +1,134 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)du.1 8.2 (Berkeley) 4/1/94
-.\" %Id: du.1,v 1.6.2.3 1998/07/16 23:51:21 jkh Exp %
+.\" %Id: du.1,v 1.11 1998/05/13 07:57:39 phk Exp %
.\" jpman %Id: du.1,v 1.3 1997/06/18 16:43:08 horikawa Stab %
.\"
.Dd April 1, 1994
.Dt DU 1
.Os
.Sh 名称
.Nm du
.Nd ディスク使用統計の表示
.Sh 書式
.Nm du
.Op Fl P | Fl H | Fl L
.Op Fl a | s | d Ar depth
.Op Fl c
.Op Fl k
.Op Fl x
.Op Ar file ...
.Sh 解説
.Nm du
ユーティリティは、引数に指定された各ファイル、および
引数に指定された各ディレクトリを根とするファイル階層内にある
各ディレクトリ内のディスク使用統計をブロック単位で表示します。
引数にファイルが指定されなかった場合には、カレントディレクトリを
根とするファイル階層内のブロック単位の使用統計を表示します。
.Fl k
フラグを指定した場合、表示は 1024 バイトブロックにて行います。
指定しなかった場合は、
.Xr getbsize 3
が使用され、どのブロックサイズを使用するかを決定します。
端数となるブロック数は切り上げられます。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl P
シンボリックリンクを全くたどりません。(デフォルト)
.It Fl H
コマンドラインに指定されたシンボリックリンクをたどります。
階層内を調べている途中で見つかったシンボリックリンクはたどりません。
.It Fl L
コマンドラインのシンボリックリンク
および階層内を調べている途中で見つかったシンボリックリンクをたどります。
.It Fl a
ファイル階層内の各ファイルの情報も表示します。
.It Fl s
指定したファイルのエントリを表示します。(
.Fl d
0 と等価です)
.It Fl d Ar depth
深さ
.Ar depth
までの全てのファイルとディレクトリだけを表示します.
.It Fl c
総計を表示します。
.It Fl k
1024 バイト (1 キロバイト) ブロックとして報告します。
.It Fl x
ファイルシステムマウントポイントはたどりません。
.El
.Pp
.Nm du
は、
.Fl H
もしくは
.Fl L
オプションが指定されない限り、シンボリックリンクの大きさは
リンクの参照先の大きさではなく、シンボリックリンク自身の
占める大きさとして数えます。
もし
.Fl H
もしくは
.Fl L
のどちらかのオプションが指定された場合には、
たどられた全てのシンボリック
リンクの大きさは数えられず、また表示もされません。
.Pp
複数のハードリンクを持つファイルは、
.Nm du
の実行中、1 回しか数えられず、1 回しか表示されません。
.Sh 環境変数
.Bl -tag -width BLOCKSIZE
.It Ev BLOCKSIZE
.Ev BLOCKSIZE
環境変数が指定されていて
.Fl k
オプションが指定されていないと、ブロック数は 1024 ブロックサイズ単位で
表示されます。
.Ev BLOCKSIZE
環境変数が指定されておらず
.Fl k
オプションが指定されていないと、ブロック数は 512 ブロックサイズ単位で
表示されます。
.El
.Sh 関連項目
.Xr df 1 ,
.Xr fts 3 ,
.Xr symlink 7 ,
.Xr quot 8
.Sh 歴史
.Nm du
コマンドは、
.At v1
で登場しました。
diff --git a/ja_JP.eucJP/man/man1/echo.1 b/ja_JP.eucJP/man/man1/echo.1
index ffec74b583..2dad7b2f43 100644
--- a/ja_JP.eucJP/man/man1/echo.1
+++ b/ja_JP.eucJP/man/man1/echo.1
@@ -1,70 +1,70 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)echo.1 8.1 (Berkeley) 7/22/93
-.\" %Id: echo.1,v 1.3.2.1 1998/07/16 09:35:41 jkh Exp %
+.\" %Id: echo.1,v 1.6 1998/05/13 07:39:07 charnier Exp %
.\" jpman %Id: echo.1,v 1.2 1997/04/02 00:07:04 mutoh Stab %
.\"
.Dd July 22, 1993
.Dt ECHO 1
.Os
.Sh 名称
.Nm echo
.Nd 引数の文字列を標準出力に出力する
.Sh 書式
.Nm echo
.Op Fl n
.Op "string ..."
.Sh 解説
.Nm
は、各引数の間を 1 つの空白文字 (`` '') で区切り、最後に改行 (``\en'') を
付加したものを標準出力に書き出します。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width flag
.It Fl n
改行を付加しません。
これは、iBCS2 互換システムで行われていたように、
文字列の最後に `\ec' を付け加える事で実現しています。
.El
.Pp
.Sh 戻り値
成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
.Sh 関連項目
.Xr printf 1
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2
準拠です。
diff --git a/ja_JP.eucJP/man/man1/ed.1 b/ja_JP.eucJP/man/man1/ed.1
index 45166b70d5..8dd6502f12 100644
--- a/ja_JP.eucJP/man/man1/ed.1
+++ b/ja_JP.eucJP/man/man1/ed.1
@@ -1,883 +1,883 @@
-.\" %Id: ed.1,v 1.8.2.4 1998/07/21 06:48:51 jkoshy Exp %
+.\" %Id: ed.1,v 1.14 1998/07/21 04:53:18 jkoshy Exp %
.\" jpman %Id: ed.1,v 1.2 1997/06/09 15:03:56 jsakai Stab %
.Dd May 21, 1993
.Dt ED 1
.Os
.Sh 名称
.\" ed, red \- text editor
.Nm ed
.Nd 行指向のテキストエディタ
.Sh 書式
.Nm ed
.Op Fl
.Op Fl sx
.Op Fl p Ar string
.Op Ar file
.\" .LP
.\" red [-] [-sx] [-p \fIstring\fR] [\fIfile\fR]
.Sh 解説
.Nm ed
は、行指向のテキストエディタです。
本コマンドを用いることで、テキストファイルの生成、表示、変更その他の操作を
行なうことができます。
.\" .B red
.\" is a restricted
.\" .BR ed :
.\" it can only edit files in the current
.\" directory and cannot execute shell commands.
.Ar file
引数を指定して本コマンドを起動すると、ファイル
.Ar file
のコピーをエディタのバッファに読み込みます。
以後の変更はそのコピーに対して行なわれ、
.Ar file
で指定したファイル自身が直接変更されることはありません。
.Nm
コマンドを終了する際、
.Em w
コマンドで明示的にセーブしなかった変更点はすべて失われます。
編集は、
.Em コマンド
モードと
.Em 入力
モードの 2 つの異なるモードを使い分けて行ないます。
.Nm
を起動したら、まずコマンドモードに入ります。
本モードでは、標準入力からコマンドを読み込み、それを実行することで
エディタバッファの内容操作を行ないます。
典型的なコマンドは、以下のようなものです。
.Pp
.Sm off
.Cm ,s No / Em old Xo
.No / Em new
.No / Cm g
.Xc
.Sm on
.Pp
これは、編集しているテキストファイル中に
.Em old
という文字列があったら、これらをすべて文字列
.Em new
に置き換えるコマンドです。
.Pp
.Em a
(append)、
.Em i
(insert)、あるいは
.Em c
(change) といった入力コマンドが入力された場合、
.Nm
は入力モードに移行します。これが、ファイルにテキストを追加する
主たる方法です。
このモードでは、コマンドを実行することはできません。
そのかわり、標準入力から入力されたデータは、
直接エディタバッファへと書き込まれます。行は、改行キャラクタまで
のテキストデータおよび、最後の
.Em 改行
キャラクタを含むデータから構成されます。
ピリオド 1 つだけ
.Pf ( Em . Ns )
の行を入力すると、入力モードを終了します。
.Pp
すべての
.Nm
コマンドは、全ての行もしくは指定した範囲の行の操作が可能です。例えば、
.Em d
コマンドは指定した行を削除し、
.Em m
コマンドは指定した行を移動します。
上に示した例のように、置換によってある行の一部分のみを変更することは
可能ですが、
.Em s
コマンドは、一度に全部の行にわたって変更を行なうことも可能です。
.Pp
一般的には、
.Nm
コマンドは、0 個以上の行番号および、それに連なる 1 文字コマンドから
成り立ちます。場合によっては追加のパラメータをもつこともあります。
いうなれば、コマンドは以下の構造を持ちます。
.Pp
.Sm off
.Xo Op "address\ " Op ,address
.No command Op parameters
.Xc
.Sm on
.Pp
行番号はコマンドの操作対象行あるいは対象行範囲を示します。
行番号の指定個数が、コマンドが受け付け可能な個数よりも少ない場合には、
デフォルトの行番号が採用されます。
.Sh オプション
以下のオプションが使用できます。
.Bl -tag -width indent
.It Fl s
診断メッセージを抑制します。本オプションは、
.Nm
の入力がスクリプトによって行なわれる場合に有効です。
.It Fl x
続く読み書きの際に行なわれる暗号化に用いる鍵の入力を促します
(
.Em x
コマンドを参照して下さい)。
.It Fl p Ar string
コマンドプロンプトとして表示する文字列を指定します。
コマンドプロンプトは、コマンドモードで
.Em p
コマンドを実行することで、表示する/しないを切り替えることが可能です。
.It Ar file
編集対象のファイルを指定します。
.Ar file
名の先頭に感嘆符 (!) が付加されていた場合、そのファイル名はシェルコマンドと
して解釈されます。この場合、編集対象として読み込まれるテキストは、
.Xr sh 1
.Ar file
で指定したコマンドを実行した結果、標準出力に出力されるデータです。
先頭が感嘆符で始まるファイルを編集する場合には、ファイル名の先頭に
バックスラッシュ (\\) を付加して下さい。
感嘆符以外の文字で始まるファイル名については、編集対象のファイル名は
.Ar file
となります。
.El
.Sh 行指定
行は、バッファ内の行番号で表現されます。
.Nm
.Em 現在行
を管理しており、
コマンドに行番号が指定されない場合は、
現在行がデフォルト行として用いられます。
ファイルが最初に読み出された直後は、現在行はファイルの最後の行となります。
一般的に、現在行はコマンドが操作した最後の行となります。
.Pp
行番号は、以下の一覧のうち 1 つおよび、補助的に付加される
相対行番号 (オフセット) から構成されます。
相対行番号は、任意の数字の組合せと演算子、そして空白文字を含みます
( 例えば
.Em + ,
.Em -
.Em ^
が演算子に含まれます ) 。
行番号は、左から右に解釈され、それらの演算子を含む値は、現在行からの相対行番
号と解釈されます。
.Pp
行番号の表現に関して上記の規則が適用される中で、行番号
.Em 0
( ゼロ )
に関しては、例外的な扱いがされます。
これは「最初の行より前」を意味し、
それが正しい意味を持つ場合は常に利用可能です。
.Pp
行範囲は、カンマもしくはセミコロンで区切られた 2 つのアドレスで示されます。
最初に指定される行番号は、2番目に指定される行番号を超える値を指定して
はいけません。行範囲指定で行番号が 1 つしか指定されなかった場合には、2番目に
指定されるアドレスとして最初に指定されたアドレスが設定され
ます。ここで 3個以上の行番号が指定されると、最後の 2 つの行番号で
決定される範囲がコマンド実行対象になります。行番号の指定を 1 つだけしか
想定していないコマンドの場合、最後の 1 つの行番号の行がコマンド実行対象
となります。
.Pp
コンマで区切られた各行番号は、現在行からの相対行を指し示します。
セミコロンで区切られている場合は、範囲の始めの行は現在行が設定され、
範囲の終りは始めの行からの相対行で表わされます。
.Pp
行番号の指定には、以下のシンボルが使用可能です。
.Bl -tag -width indent
.It .
バッファ中の現在行を表します。
.It $
バッファ中の最終行を表します。
.It n
バッファ内の
.Em n
番目の行を表します。
.Em n
は、
.Em [0,$]
の間です。
.It - or ^
1 行前の行です。
相対行指定
.Em -1
と同等であり、複数指定することで効果を累積することが可能です。
.\" --- という指定をすることで、2 行前を示すことができます。
.\" ↑原文中に無いのでコメントアウト sakai@jp.freebsd.org (Jun 9,1997)
.It -n or ^n
.Em n
行前の行を表します。
.Em n
は、負でない整数です。
.It +
次の行を表します。
これは、
.Em +1
と同様であり、
.Em -
と同様の累積的指定が可能です。
.It +n or whitespace
.Em n
行後ろの行を表します。
.Em n
は、負でない整数です。
.Em n
の前に
.Em whitespace ( 空白文字 )
を付加して指定した場合も
.Em +n
と解釈されます。
.\" ↓原文中に無いのでコメントアウト sakai@jp.freebsd.org (Jun 9,1997)
.\" ただし、空白文字による指定を行なった場合は、単独では現在行からの相対行数を
.\" 指定することはできず、相対行指定の基準となる行をその前に指定しなければなり
.\" ません。
.It , or %
バッファの最初から最後までを表します。これは、
.Em 1,$
と指定した場合と同等です。
.It ;
バッファ中の現在行から最後の行までを表します。これは、
.Em .,$
と指定した場合と同等です。
.It /re/
指定された正規表現
.Em re
を含む、(現在行よりも後ろの) 次の行を表します。
必要であれば、文字列検索はテキスト先頭に折り返し、
現在行に達するまで検索を行ないます。
// は、最後に行なった検索を繰り返します。
.It ?re?
指定した正規表現
.Em re
を含む、現在行より前の行を表します。
必要であれば、文字列検索はテキストの最後に折り返し、
現在行に達するまで検索を行ないます。
?? は、最後に行なった検索を繰り返します。
.It 'lc
.Em k
(mark) コマンドでマークをつけた行を表します。ここで
.Em lc
は、英小文字1文字です。
.El
.Sh 正規表現
正規表現はテキストを選択する際に用いるパターンです。
例えば次の
.Em ed
コマンド
.Pp
.Sm off
.Cm g No / Em string Xo
.No /
.Xc
.Sm on
.Pp
.Em string
を含む全ての行を表示します。
正規表現は
.Em s
コマンドで古いテキストを新しいテキストで置き換える際にも用いられます。
.Pp
文字リテラルを指定するのに加え、
正規表現は文字列のクラスを表現することができます。
このようにして表現された文字列は、それに対応する正規表現に「マッチする」と
言います。
ある正規表現が一つの行の中の複数の文字列にマッチする場合、
マッチする部分のうち最も左にあって最も長いものが選択されます。
.Pp
正規表現を組み立てる際には以下のシンボルが用いられます:
.Bl -tag -width indent
.It c
以下に挙げるものを除く任意の文字
.Em c
は、その文字自身にマッチします。
このような文字には `{', '}', `(', `)', `<', `>' が含まれます。
.It Pf \e c
バックスラッシュでエスケープした文字
.Em c
は、その文字自身にマッチします。
ただし `{', '}', `(', `)', `<', `>' を除きます。
.It .
任意の一文字にマッチします。
.It Op char-class
文字クラス
.Em char-class
に含まれる任意の一文字にマッチします。
文字クラス
.Em char-class
に `]' を含めるには、文字 `]' を最初の文字に指定します。
文字の範囲を指定するには、範囲の両端の文字の間を `-' でつなぎます。
例えば `a-z' は小文字全体を表します。
以下のようなリテラル表記も、文字集合を指定するために文字クラス
.Em char-class
で使用することができます:
.Pp
\ \ [:alnum:]\ \ [:cntrl:]\ \ [:lower:]\ \ [:space:]
.PD 0
\ \ [:alpha:]\ \ [:digit:]\ \ [:print:]\ \ [:upper:]
.PD 0
\ \ [:blank:]\ \ [:graph:]\ \ [:punct:]\ \ [:xdigit:]
.Pp
文字クラス
.Em char-class
の最初あるいは最後の文字として `-' が用いられると、
それはその文字自身にマッチします。
文字クラス
.Em char-class
中のこれ以外の文字は全て、それら自身にマッチします。
.Pp
以下の形式の文字クラス中のパターン:
.Pp
\ \ [.\fIcol-elm\fR.] or,
.PD 0
\ \ [=\fIcol-elm\fR=]
.Pp
.Xr locale 5
に沿って解釈されます (現在のところサポートされません)。ここで
.Em col-elm
.Em collating element
です。詳しい説明は
.Xr regex 3
を参照して下さい。
.It Op ^char-class
文字クラス
.Em char-class
に含まれない、改行以外の任意の一文字にマッチします。
文字クラス
.Em char-class
は上で定義しています。
.It ^
.Em ^
が正規表現の最初の文字である場合、
その正規表現は行頭でのみマッチします。
それ以外の場合、
.Em ^
はそれ自身にマッチします。
.It $
.Em $
が正規表現の最後の文字である場合、
その正規表現は行末でのみマッチします。
それ以外の場合、
.Em $
はそれ自身にマッチします。
.It Pf \e <
これに続く単一文字の正規表現あるいはその部分式が、
単語の先頭でのみマッチするようにします (この機能は利用できない
場合があります)。
.It Pf \e >
これに続く単一文字の正規表現あるいはその部分式が、
単語の末尾でのみマッチするようにします (この機能は利用できない
場合があります)。
.It Pf \e (re\e)
部分式 (subexpression)
.Em re
を定義します。部分式はネストできます。
これ以降、
.Em Pf ^e n
(
.Em n
は [1,9] の範囲の数)
の形式の後方参照は、
.Em n
番目の部分式にマッチしたテキストに展開されます。
例えば、正規表現 `\e(.*\e)\e1' は、
同じ文字列が隣接しているような任意の文字列にマッチします。
部分式は左側のデリミタから順に番号が振られます。
.It *
直前にある単一文字の正規表現あるいはその部分式のゼロ回以上の繰り返しに
マッチします。
.Em *
が正規表現あるいはその部分式の最初の文字として用いられた場合、
.Em *
はその文字自身にマッチします。
.Em *
演算子は時に予期しない結果をもたらすことがあります。
例えば、正規表現 `b*' は文字列 `abbb' の先頭に
マッチします (部分文字列 `bbb' ではありません)。
これはヌルへのマッチが最も左にあるマッチだからです。
.It \e{n,m\e} or \e{n,\e} or \e{n\e}
直前にある単一文字の正規表現あるいはその部分式の、
.Em n
回以上
.Em m
回以下の繰り返しにマッチします。
.Em m
が省略された場合、
.Em n
回以上の繰り返しにマッチします。
更にコンマも省略された場合、ちょうど
.Em n
回の繰り返しにのみマッチします。
.El
.Pp
.Xr regex 3
の実装によっては、
更に正規表現演算子がいくつか定義されていることがあります。
.Sh コマンド
全ての
.Nm
コマンドは、1 文字からなりますが、追加パラメータが必要なコマンドもあります。
コマンドのパラメータが複数の行にわたる場合には、そのパラメータを含めたコマンド
の終りを含む行を除き、行末にバックスラッシュ (\\) を付加して下さい。
一般的には、1 行ごとに 1 コマンドを入れることが許されています。
しかしながら、ほとんどのコマンドは、コマンド実行を行なった後のデータ更新
その他を確認するために、
.Em p
(print)、
.Em l
(list)、
.Em n
(enumerate),
のような表示系のコマンドを同時に指定できます。
インタラプト (一般的には ^C) を入力することで、現在実行しているコマンドを
強制終了し、コマンドモードに戻すことができます。
.Nm
は、以下のコマンドを使用できます。コマンド実行時に何の指定もない場合の
デフォルトの行番号もしくは行範囲が括弧内に示されています。
.Bl -tag -width indent
.It (.)a
指定した行の後にテキストを追加します。
テキストは入力モードで入力されていきます。
現在行番号は、入力された最後の行に設定されます。
.It (.,.)c
バッファ内の指定した行を変更します。指定した行のデータは、バッファから消去
され、そこに対してテキストデータを入力するようになります。
テキストは入力モードで入力されていきます。
現在行番号は、入力した最後の行に設定されます。
.It (.,.)d
指定した範囲をバッファから削除します。
削除した範囲の後に行が続いている場合、現在行番号は、その行に設定されます。
そうでない場合には、現在行番号は、削除された範囲の前の行に設定されます。
.It e Ar file
.Ar file
を編集し、デフォルトのファイル名を設定します。
もし
.Ar file
が指定されなかった場合には、デフォルトのファイル名が使用されます。
本コマンド実行時に、それまで別のファイルを編集していた場合には、
その内容はすべて消去され、新しいファイルが読み込まれます。
現在行番号は、入力された最後の行に設定されます。
.It e Ar !command
.Ar !command
で指定されたコマンドを実行し、その結果として標準出力へ
出力されたデータを編集します (後述する
.Ar ! command
を参照して下さい)。
デフォルトのファイル名は変更されません。
.Ar command
の出力が読み込まれる前に、バッファ内に存在した行はすべて消去されます。
現在行番号は、入力された最後の行に設定されます。
.It E Ar file
無条件で
.Ar file
で指定したファイルを読み込み、編集します。
.Em e
コマンドと動作は似ていますが、すでにバッファ上のデータに変更が加えられ
ている場合でも、未書き込みの変更を警告を出さずに捨ててしまう点が異なります。
現在行番号は、入力された最後の行に設定されます。
.It f Ar file
デフォルトファイル名を
.Ar file
に設定します。
.Ar file
名が指定されない場合には、デフォルトファイル名が表示されます。
.It (1,$)g/re/command-list
.Ar command-list
で指定されたコマンドを、指定した正規表現
.Ar re
に一致する各行に対して実行します。
現在行番号は、
.Ar command-list
で指定されたコマンドが実行される前に、指定した正規表現に一致した行
に設定されます。
.Em g
コマンドが終了した場合、現在行番号は最後に
.Ar command-list
実行の影響を受けた行に設定されます。
.Pp
.Ar command-list
で指定されるコマンドは、1 行ごとに 1 つずつ書かれる必要があります。各コマンド
行の終りには、一番最後のコマンド行を除いてはバックスラッシュ (\\) を記述する
必要があります。
コマンド
.Em g ,
.Em G ,
.Em v ,
.Em V
を除くすべてのコマンドを指定可能です。
.Ar command-list
中の空行は、
.Em p
コマンドと同等に扱われます。
.It (1,$)G/re/
指定した正規表現
.Ar re
に一致した行に対して、対話編集を行ないます。
指定した正規表現に一致する文字列を含む行があると、その行を表示し、現在行番号を
設定します。
そして、ユーザに
.Ar command-list
の入力を促します。
.Em G
コマンドが終了した場合、現在行番号は、
.Ar command-list
実行の影響を受けた最後の行に設定されます。
.Pp
.Ar command-list
の記述形式は、
.Em g
コマンドで指定するものと同じです。改行のみの場合は、コマンド実行をしない
- ( ヌルコマンドリストを指定した ) ものとみなされます。
+( ヌルコマンドリストを指定した ) ものとみなされます。
`&' 文字のみを入力した場合には、
直前に実行した ( ヌルコマンドリストではない ) コマンドを再実行します。
.It H
エラーメッセージの出力の有無を切り替えます。
デフォルトでは、エラーメッセージは出力されません。
ed スクリプトを作成する場合、スクリプトのデバッグのために、本コマンドを
最初に実行することをおすすめします。
.It h
最後に表示されたエラーメッセージを表示します。
.It (.)i
編集バッファ中の現在行の前に、テキストを挿入します。
テキストは入力モードで入力されていきます。
現在行番号は、入力された最後の行に設定されます。
.It (.,.+1)j
指定した範囲の行を 1 行に連結します。指定した行はバッファから削除され、
その行の内容を含む 1 行に置き換えられます。
現在行番号は、置き換えられた行に設定されます。
.It (.)klc
行に、英小文字
.Em lc
で指定したマークをつけます。
その後、マークをつけられた行は、コマンド中で
.Em 'lc
(つまり、シングルクォートと小文字
.Em lc
) として指定できるようになります。
マークは、その行が削除されるかもしくは変更されるかしない限り、消えることは
ありません。
.It (.,.)l
指定した範囲の行の内容を見やすく表示します。
もし 1 つの行が 1 画面以上を占める場合 ( 例えばバイナリファイルを見ている
場合など )
`--More--' プロンプトが最下行に表示されます。
次の画面を表示する前に
.Nm
はリターンキーが入力されるまで待ちます。
現在行番号は、表示された最後の行に設定されます。
.It (.,.)m(.)
指定した範囲の行をバッファ内で移動します。指定した行は、
コマンドの右辺で指定した行の後ろに
移動されます。移動先の行としては、
.Em 0
- (ゼロ) が指定可能です。
+(ゼロ) が指定可能です。
現在行番号は、移動された最後の行に設定されます。
.It (.,.)n
指定した行の内容を、行番号つきで表示します。
現在行番号は、表示された最後の行に設定されます。
.It (.,.)p
指定した範囲の行の内容を表示します。
現在行番号は、表示された最後の行に設定されます。
.It P
コマンドプロンプト表示の有無を切り替えます。
コマンド起動時のオプション
.Fl p Ar string
でプロンプトが指定されていなければ、
コマンドプロンプトの表示はデフォルトでオフになっています。
.It q
.Nm
を終了します。
.It Q
無条件に
.Nm
を終了します。
このコマンドは
.Em q
コマンドと似ていますが、まだファイルに書き出されていない
変更があっても警告せずに終了する点が異なります。
.It ($)r Ar file
.Ar file
で指定されたファイルを、指定した行の後ろに読み込みます。
.Ar file
が指定されない場合、デフォルトのファイル名が読み込みに使用されます。
このコマンドに先だってデフォルトのファイル名が設定されていない場合、
デフォルトのファイル名には、
.Ar file
で指定されたものが設定されます。
それ以外の場合、デフォルトのファイル名は変更されません。
現在行番号は、読み込まれたファイルの最後の行に設定されます。
.It ($)r Ar !command
.Ar command
で指定されたコマンドを実行し、その結果として標準出力へ出力された
データを指定した行の後ろに読み込みます (後述する
.Ar ! command
を参照して下さい)。
デフォルトのファイル名は変更されません。現在行番号は、読み込まれた最後の行の
行番号に設定されます。
.It (.,.)s/re/replacement/
.It (.,.)s/re/replacement/g
.It (.,.)s/re/replacement/n
指定した行のテキスト中の、正規表現
.Ar re
に一致する文字列を、文字列
.Ar replacement
に置き換えます。
デフォルトでは、それぞれの行で最初に一致した文字列のみを置き換えます。
.Em g
(global) サフィックスが指定された場合、一致した文字列はすべて置き換えられます。
.Em n
サフィックス (
.Em n
は正の整数) が指定された場合、
.Em n
回目に一致した文字列だけを置き換えます。
指定した範囲で一度も文字列の置換が起こらなかった場合、エラーとみなされます。
現在行番号は、最後に置換が発生した行に設定されます。
.Pp
.Ar re
および
.Ar replacement
は、スペースおよび改行を除くすべてのキャラクタを用いて区切ることが
可能です (後述する
.Em s
コマンドを見て下さい)。
最後のデリミタのうち 1 つか 2 つが省略された場合、
最後に文字列置換が発生した行は、
.Em p
コマンドが指定された場合と同様に表示されます。
.Pp
.Ar replacement
中のエスケープされていない `&' は、一致した文字列と置き換えられます。
キャラクタシーケンス
.Em \em
(
.Em m
は [1,9] の範囲の整数です ) は、一致した文字列の
.Em m
番目の後方参照で置き換えられます。
.Ar replacement
の中に入る文字が `%' のみだった場合、
最後に行なった置換の
.Ar replacement
が使用されます。
改行を
.Ar replacement
に指定したい場合は、バックスラッシュを用いてエスケープすれば可能です。
.It (.,.)s
最後の置換を繰り返します。
この形式の
.Em s
コマンドは、回数を示すサフィックス
.Em n
もしくは、他の
.Em r 、
.Em g 、
.Em p
のどのキャラクタとの組合せも可能です。
.Em n
が指定されると、
.Em n
回目に一致した文字列だけが置換されます。
.Em r
サフィックスが指定されると、最後の置換が発生した文字列の変わりに、
最後に指定した正規表現が使用されます。
.Em g
サフィックスは、最後の置換で用いたグローバルサフィックスの使用の
有効/無効を切り替えます。
.Em p
サフィックスは、最後の置換に指定されたプリントサフィックスを反転します。
現在行番号は、最後に置換が発生した行に設定されます。
.It (.,.)t(.)
指定した範囲の行を、コマンド文字の右辺に指定した行番号の後に
コピー (つまり転送) します。コピー先の行番号としては、
.Em 0
(ゼロ) の指定が許されています。
現在行番号は、コピーした一番最後の行の行番号に設定されます。
.It u
最後に実行したコマンドの実行結果を取り消し、現在行番号を、取り消したい
コマンドが実行される前のものに戻します。
グローバルコマンドである
.Em g 、
.Em G 、
.Em v 、
.Em V
については、その改変は 1 コマンドで行なわれたとして扱います。
.Em u
は自分自身の動作を取り消すこともできます。
.It (1,$)v/re/command-list
指定した範囲の行のうち、指定した正規表現
.Ar re
と一致する文字列が含まれていない行について、
.Ar command-list
で指定したコマンドを実行します。
これは
.Em g
コマンドに動作が似ています。
.It (1,$)V/re/
指定した範囲の行のうち、指定した正規表現
.Ar re
に一致する文字列が含まれていない行について、対話編集を行ないます。
これは
.Em G
コマンドに動作が似ています。
.It (1,$)w Ar file
指定した範囲の行を、
.Ar file
で指定したファイルに書き出します。
それまで
.Ar file
に格納されていた内容は、警告なしに消去されます。
デフォルトファイル名が設定されていない場合、デフォルトファイル名は
.Ar file
に設定されます。それ以外の場合では、デフォルトファイル名は変更されません。
ファイル名が指定されなかった場合には、デフォルトファイル名が使用されます。
現在行番号は変更されません。
.It (1,$)wq Ar file
指定した範囲の行を
.Ar file
で指定したファイルに書き出し、
.Em q
コマンドを実行します。
.It (1,$)w Ar !command
指定した範囲の行の内容を
.Ar !command
の標準入力に書き出します (
.Em !command
については、以下の説明を参照して下さい)。
デフォルトファイル名および現在行番号は変更されません。
.It (1,$)W Ar file
指定した範囲の行の内容を、
.Ar file
で指定したファイルの後ろに追加書き込みします。
.Em w
コマンドと似ていますが、指定したファイルにそれまで格納されていた内容
がなくなることはありません。
現在行番号は変更されません。
.It x
以降の読み書きで用いられる暗号化鍵の入力を促します。
改行のみが入力されると、暗号化は解除されます。
それ以外の場合、キー読み込み中のエコーは抑制されます。
暗号化および復号化は
.Xr bdes 1
アルゴリズムを用いて行われます。
.It Pf (.+1)z n
指定した行から一度に
.Ar n
行だけスクロールします。
.Ar n
が指定されない場合には、現在のウィンドウサイズだけスクロールします。
現在行番号は、最後に表示した行の行番号に設定されます。
.It !command
.Ar command
で指定したコマンドを、
.Xr sh 1
を用いて実行します。
.Ar command
の最初の文字が `!'の場合には、その文字は直前に
.Ar !command
で実行したコマンド文字列が格納されます。
.Ar command
文字列をバックスラッシュ(\\)でエスケープした場合には、
.Nm
は処理を行ないません。
しかし、エスケープされない
.Em %
文字があった場合には、その文字列はデフォルトファイル名に置き換えられます。
シェルがコマンド実行から戻ってきた場合には、`!' が標準出力に出力されます。
現在行番号は変更されません。
.It ($)=
指定された行の行番号を表示します。
.It (.+1)newline
指定した行を表示します。そして、現在行番号を表示した行のものに
設定します。
.El
.Sh 関連ファイル
.Bl -tag -width /tmp/ed.* -compact
.It /tmp/ed.*
バッファファイル
.It ed.hup
端末が回線切断した場合に、
.Nm
がバッファ内容を書き出すファイル
.El
.Sh 関連項目
.Xr bdes 1 ,
.Xr sed 1 ,
.Xr sh 1 ,
.Xr vi 1 ,
.Xr regex 3
USD:12-13
.Rs
.%A B. W. Kernighan and P. J. Plauger
.%B Software Tools in Pascal
.%O Addison-Wesley
.%D 1981
.Re
.Sh 制限
.Nm
.Ar file
引数に対してバックスラッシュエスケープ処理を施します。
つまり、ファイル名中でバックスラッシュ (\\) を前につけた文字は、
リテラルとして解釈されます。
(バイナリではない) テキストファイルの最後が改行文字で終っていない場合、
.Nm
はそれを読み書きする際に改行文字を追加します。
バイナリファイルの場合は、
.Nm
はこのような改行文字追加は行いません。
1 行あたりのオーバヘッドは整数 4 つ分です。
.Sh 診断
エラーが発生すると、
.Nm
は `?' を表示し、コマンドモードに戻るか、スクリプトによる実行のエラーの場合には
プログラムを終了します。
最後のエラーメッセージについての説明は、
.Em h
(help) コマンドを用いることで表示可能です。
.Em g
(global) コマンドは、検索や置換が失敗したというエラーを隠蔽します。
そのため、スクリプトの中で条件つきコマンド実行を行なわせるのによく使われます。
例えば
.Pp
.Sm off
.Cm g No / Em old Xo
.No / Cm s
.No // Em new
.No /
.Xc
.Sm on
.Pp
は、出現した文字列
.Em old
をすべて文字列
.Em new
に置き換えます。
.Em u
(undo) コマンドがグローバルコマンドリスト内で実行された場合、コマンドリストは
1 度だけの実行になります。
診断が無効にされていないと、
.Nm
を終了しようとする場合やバッファ内のデータを書き出さずに他のファイルを
編集しようとする場合にエラーになります。
その場合でも、同一のコマンドを 2 回入力すると、コマンドは成功します。
しかし、それまでの未保存の編集結果は、すべて失われます。
.Sh 歴史
.Nm
コマンドは Version 1 AT&T UNIX で登場しました。
diff --git a/ja_JP.eucJP/man/man1/ee.1 b/ja_JP.eucJP/man/man1/ee.1
index 4f991b7ade..75b8f268c2 100644
--- a/ja_JP.eucJP/man/man1/ee.1
+++ b/ja_JP.eucJP/man/man1/ee.1
@@ -1,581 +1,581 @@
.\"
-.\" %Id: ee.1,v 1.3.4.2 1998/03/08 08:09:00 jkh Exp %
+.\" %Id: ee.1,v 1.6 1998/02/02 07:09:36 charnier Exp %
.\"
.Dd August 30, 1995
.Dt EE 1
.Os
.Sh 名称
.Nm ee
.Nd 簡単エディタ
.Sh 書式
.Nm ee
.Op Fl eih
.Op +#
.Op Ar
.Nm ree
.Op Fl eih
.Op +#
.Op Ar
.Sh 解説
コマンド
.Nm
はシンプルなスクリーンエディタで、端末の下部にプロンプトがあるか、
(端末中央の箱の中に) メニューがあるとき以外は、
常にテキスト挿入モードになっています。
コマンド
.Nm ree
.Nm
と同じものですが、指定されたファイルの編集しかできない (ファィル操作やシェル
を使うことができない) ように機能が制限されています。
.Pp
.Nm
を正常に動作させるためには、使用する端末のタイプに合わせて、環境変数
.Ev TERM
を正しく設定しなければなりません。例えば、
.Tn HP 700/92
端末の場合は、
.Ev TERM
変数を "70092" に設定する必要があります。
更に詳しい情報が必要な場合は、システム管理者にお尋ねください。
.Pp
下記のオプションが使用可能です:
.Bl -tag -width indent
.It Fl e
タブからスペースへの展開を禁止します。
.It Fl i
端末上部に情報ウィンドウを表示しません。
.It Fl h
ウィンドウとメニューの縁の強調表示を止めます (一部の端末で
表示速度が向上します)。
.It Sy +#
スタート時のカーソルを行番号 '#' で指定される行に置きます。
.El
.Ss "コントルールキー"
テキストの挿入以外の操作では、コントロールキー (
.Li Control
キーは "^" で表示され、例えば ^a のように、
アルファベットキーと組み合わせて使われます) や、
キーボード上にあるファンクションキー (
.Em "Next Page" ,
.Em "Prev Page" ,
矢印キー等) を使わなければなりません。
.Pp
すべての端末がファンクションキーを持っているわけではありませんから、
.Nm
ではコントロールキーに割り当てられた基本的なカーソル移動は、
キーボードに装備された、より直感的なキーでも扱えるようにしてあります。例えば、
カーソルの上方移動は、上向き矢印キーと
.Em ^u
のいずれでも可能です。
.Bl -tag -width indent
.It ^a
挿入文字を ASCII の 10 進数で指定。
.It ^b
テキストの終わりに移動。
.It ^c
コマンド入力。
.It ^d
カーソルを下に移動。
.It ^e
検索文字列を入力。
.It ^f
最後に削除した文字の復元。
.It ^g
行の先頭に移動。
.It ^h
バックスペース。
.It ^i
タブ。
.It ^j
改行を挿入。
.It ^k
カーソル上の文字を消去。
.It ^l
カーソルを左に移動。
.It ^m
改行を挿入
.It ^n
次ページに移動。
.It ^o
行末に移動。
.It ^p
前ページに移動。
.It ^r
カーソルを右に移動。
.It ^t
テキスト先頭に移動。
.It ^u
カーソルを上に移動。
.It ^v
最後に削除した単語を復元。
.It ^w
カーソル位置以降の単語を削除。
.It ^x
文字列検索。
.It ^y
カーソル位置から行末まで削除。
.It ^z
最後に削除した行の復元。
.It ^[ (ESC)
メニュー表示。
.El
.Ss "EMACS キーモード"
多くのシェルは (カーソル移動その他の編集操作で) Emacs モードを
用意していますから、それらのキー割当に慣れた利用者のために、
いくつかのキー割当が別途用意さています。これは
.Em 設定
メニューないしは初期化ファイル (下記を参照) から利用することができ、
その内容は次のとおりです:
.Bl -tag -width indent
.It ^a
行の先頭に移動。
.It ^b
1 文字後退。
.It ^c
コマンド入力。
.It ^d
カーソル位置の文字を消去。
.It ^e
行末に移動。
.It ^f
1 文字前進。
.It ^g
1 ページ戻る。
.It ^h
バックスペース。
.It ^i
タブ。
.It ^j
最後に削除した文字の復元。
.It ^k
行の削除。
.It ^l
最後に削除した行の復元。
.It ^m
改行の挿入。
.It ^n
次行に移動。
.It ^o
挿入文字を ASCII の 10 進数で指定。
.It ^p
前行に戻る。
.It ^r
最後に削除した後の復元。
.It ^t
テキストの先頭に移動。
.It ^u
テキストの最後に移動。
.It ^v
次ページに移動。
.It ^w
カーソル以降の単語を削除。
.It ^y
検索文字列の入力。
.It ^z
次の単語。
.It ^[ (ESC)
メニュー表示。
.El
.Ss "ファンクションキー"
.Bl -tag -width indent
.It Next Page
次ページに移動。
.It Prev Page
前ページに移動。
.It Delete Char
カーソル位置の文字を消去。
.It Delete Line
カーソル位置から行末まで消去。
.It Insert line
カーソル位置に改行を挿入。
.It Arrow keys
表示された方向にカーソルを移動。
.El
.Ss コマンド
ある種の操作では単一のキー操作で得られる以上の情報を必要とします。
基本的な操作のほとんどには、
.Tn ESC
キーで表示されるメニューが用意されていますが、
それらに加え、いくつかの操作は、コマンド入力 (^c) に続いて
下記のうち一つをタイプすることで実行できます。
.Bl -tag -width indent
.It ! Ns Ar cmd
シェルを使って
.Ar cmd
を実行。
.It 0-9
指定された行番号に移動。
.It case
文字列検察で大文字と小文字を区別。
.It character
カーソル位置の文字の ASCII 値を表示。
.It exit
編集したテキストを保存して終了。
.It expand
タブをスペースに展開。
.It file
ファイル名を表示。
.It help
ヘルプ画面を表示。
.It line
現在行の行番号を表示。
.It nocase
文字列検索で大文字と小文字を区別しない (デフォルト)。
.It noexpand
TAB キーが押されたとき、タブをスペースに展開しない。
.It quit
テキストに加えられた変更を保存せずに終了。
.It read Ar file
指定されたファイル
.Ar file
を読み込む。
.It write Ar file
指定されたファイル
.Ar file
にテキストを書き込む。
.El
.Ss "メニュー操作"
.Em escape
キー (存在しない場合は
.Em ^[
) を押すとメニューがでてきます。
メニューの中で escape キーを押すと、何もしないでメニューから抜け出すことが
できます。上向き矢印と下向き矢印ないしは、上なら
.Em ^u
下なら
.Em ^d
で希望する項目に移動して、
.Em return
キーを押せば、その処理が実行されます。
.Pp
メニュー項目の左側の文字のキーを押すと、そのメニューエントリを
選択することになります。
.Pp
.Nm
のメインメニューは次のとおりです:
.Bl -tag -width indent
.It leave editor
終了。
変更されている場合は、変更後のテキストを保存するかどうかの問い合わせ
メニューが出ます。
.It help
ヘルプ。
すべてのキー操作とコマンドを含むヘルプ画面を表示。
.It file operations
ファイル操作。
ファイルの読み込み、書き込み、保存に加え、
編集内容の印刷コマンドへの送信メニュー (
.Sx "ファイルによる ee の初期化"
を参照) 。
.It redraw screen
画面再描画。
画面が乱れたとき画面を再描画するための手段。
.It settings
設定。
現在の操作モードと右マージンを表示。特定の項目上で return キーを押すと、
その値を変更できます。
このメニューから抜ける場合は
.Em escape
キーを押します。(下記の
.Sx モード
を参照。)
.It search
検索。
新しい検索文字列ないしは既に設定した検索文字列で検索するためのメニュー。
.It miscellaneous
その他。
現在の段落の整形、シェルコマンドの実行、編集中のテキストのスペルチェック
を行うためのメニュー。
.El
.Ss "段落整形"
.Nm
の段落 (paragraph) は、下記のいずれかで囲まれた部分を意味します:
.Bl -bullet -width indent
.It
ファイルの先頭と終わり。
.It
文字を含まないない行、ないしは、スペースとタブのみの行。
.It
ピリオド ('.') か 大なり記号 ('>') で始まる行。
.El
.Pp
段落整形を行う方法としては、メニューの
.Em 段落整形(format paragraph)
を選択して明示的に行う方法と、段落の自動整形を行うように
.Nm
を設定する方法の二つがあります。
自動モードはメニューからでも、初期化ファイルからでも設定可能です。
.Pp
.Nm
のテキスト操作には、自由形式 (free-form)、マージン (margins)、
自動整形 (automatic formatting) の3つの状態があります:
.Pp
「自由形式」はプログラミングのような仕事に最適で、行の長さの制限がなく、
整形も行われません。
.Pp
「マージン」を使うと、右マージン (これは
.Em 設定(settings)
メニューで指定しますが、
デフォルトは端末の右縁になっています) を越えていないかどうかを気にせずに
テキストをタイプすることができます。
このモードでは
.Em 段落整形(format paragraph)
メニュー項目が動作します。
.Pp
「自動整形」はワードプロセッサのようなふるまいをします。
ユーザがテキストを入力する一方で、
空白文字が入力されるかテキストを削除するたびに、
.Nm
は段落全体が端末の幅を越えないように調整します。
自動整形を使う場合は、マージンも有効にしておかなければなりません。
.Ss モード
.Nm
そのものは「モードなし」(modeless) エディタ (常にテキスト挿入モードに
なっています) ですが、その動作の中には次のようなモードをもつものもあります:
.Bl -tag -width indent
.It タブ拡張
タブ文字として挿入するか、空白文字に置換するかを決めます。
.It 大文字と小文字の区別
文字列検索では、大文字と小文字を区別することもできますし、
同一視させることもできます。
.It マージン監視
行の長さを右マージンまでに制限することもできますし、
無限に長くすることもできます。
.It 段落の自動整形
テキストの入力中、うまく画面の幅に収まるように、
エディタに調整させることができます。
.It 8 ビット文字
8 ビット文字をそのまま表示させるか、
その値を角括弧で囲んで表示 ("<220>" 等) させるかの切り替えです。
.It 情報ウィンドウ
実行可能なキー操作を表示するウィンドウを出すか出さないかを選択します。
.It emacs キー割り当て
コントロールキーの割り当てを emacs 方式にするかどうかを決めます。
.El
.Pp
これらのモードは初期化ファイル (下記を参照) とメニュー (上記を参照) の
いずれでも設定可能です。
.Ss "スペルチェック"
.Nm
でテキストに含まれる単語のスペルをチェックする方法には、
伝統的な
.Xr spell 1
コマンドを使う方法と、オプションの
.Xr ispell 1
コマンドを使う方法の二つがあります。
.Pp
.Nm spell
を使う場合は、認識できない単語はファイルの先頭に置かれます。
.Nm ispell
の場合は、ファィルをいったんディスクに書き出し、
.Nm ispell
にそのファイルを処理させてから、
.Nm ispell
が書き換えたファイルを再度読み込みます。
.Ss "編集内容の印刷"
メニューの中に編集内容を印刷する項目があります。
.Nm
は初期化コマンドの
.Em printcommand
(下記の
.Sx "ファイルによる ee の初期化"
を参照) で指定されたコマンドに編集中のテキストをパイプで転送します。
デフォルトでは
.Xr lp 1
コマンドに転送します。
.Pp
.Em printcommand
で指定されたコマンドは、標準入力からテキストを読み込むものでなければ
なりません。詳細はシステム管理者に聞いてください。
.Ss "シェルの操作"
.Em その他(miscellaneous)
のメニューで
.Em シェルコマンド(shell command)
を選ぶか、
.Em command:
プロンプトで感嘆符 ("!") に続けて実行したいコマンドを書くことで、
.Nm
の中からシェルにコマンドを実行させることができます。さらに、"!' の前に
「大なり記号」(">") を書くことで、編集バッファの内容をシェルコマンドに
リダイレクトすることができます。
同様に、感嘆符の前に「小なり記号」("<") を書くと、
シェルコマンドの実行結果を編集バッファに取り込みます。
これらを同時に指定することで、シェルコマンドに出力した後、コマンドの
実行結果を読み直すことも可能です。
従って、エディタで編集中の単語のリストをソートしたい場合は、
コマンド入力で次のようにタイプすることができます:
.Dl ><!sort
これでエディタの内容を
.Xr sort 1
ユーティリティにパイプ出力し、その結果を編集バッファの現在の
カーソル位置に取り込むことができます。
必要なら、自分で古い情報を消去してください。
.Ss "ファイルによる ee の初期化"
ユーザの好みはまちまちですから、
.Nm
も簡単なカスタマイズ機能を備えています。
.\" ↑ 原文は configurability であるがカスタマイズ機能と意訳した
.\" by sakai@jp.freebsd.org 1997.6.19
.Nm
の初期化ファィルの置き場所は、
.Pa /usr/share/misc/init.ee\fR
、ユーザのホームディレクトリ中の
.Pa .init.ee
、カレントディレクトリ (ホームティレクトリと一致しない場合) 中の
.Pa .init.ee
の 3 つです。
これを使うと、システム管理者がシステム全体の
標準 (例えば、
.Em 印刷
コマンド) を設定したり、
ユーザがディレクトリ毎に設定を変える (一つはメイルの読み書き用、
もう一つはプログラミング用など) ことができます。
.Pp
最初に読み込まれるファイルは
.Pa /usr/share/misc/init.ee\fR
で、次に
.Pa $HOME/.init.ee
、最後に
.Pa .init.ee\fR
を読みます。
後から読み込んだファイルの指定が優先されます。
.Pp
初期化ファィルには、次の項目を記入することができます:
.Bl -tag -width indent
.It case
文字列検索で大文字と小文字を区別します。
.It nocase
文字列検索で大文字と小文字を区別しません (デフォルト)。
.It expand
.Nm
にタブを空白文字に展開させます (デフォルト)。
.It noexpand
.Nm
にタブを単一の文字として挿入させます。
.It info
小さな情報ウィンドウを端末の上部に表示します (デフォルト)。
.It noinfo
情報ウィンドウを表示しません。
.It margins
テキスト入力中にユーザが設定した右マージンを越えないように、
.Nm
に行を折り返させます (デフォルト)。
.It nomargins
右マージンを越える行を許します。
.It autoformat
.Nm
に、テキストの挿入時に、現在の段落を自動整形させます。
.It noautoformat
段落の自動整形をしないようにします (デフォルト)。
.It printcommand
印刷コマンドを設定します (デフォルト値は "lp")。
.It rightmargin
右マージンの値を選択します (画面の最初の桁を 0 とします)。
.It highlight
情報ウィンドウとメニューウィンドウの縁を強調表示します (デフォルト)。
.It nohighlight
情報ウィンドウとメニューウィンドウの縁の強調表示をやめます。
.It eightbit
8 ビット文字を表示します。
.It noeightbit
8 ビット文字の表示をやめます (例えば、"<220>" のように角括弧で囲まれた数値
で表示します)。
.It emacs
emacs のキー割り当てにします。
.It noemacs
emacs のキー割り当てをやめます。
.El
.Ss "エディタの設定の保存"
.Em settings
メニューからこのエントリを使用すると、
ユーザは現在のエディタの設定 (前記
.Sx "ファイルによる ee の初期化"
参照) を現在のディレクトリもしくはユーザのホームディレクトリのファイル
.Pa .init.ee
に保存できます。
既に存在するファイル
.Pa .init.ee
.Pa .init.ee.old
にリネームされます。
.Sh CAVEATS
(原文)
.\" こういう部分は日本語訳により細かなニュアンスが変わって問題になる
.\" かもしれないので、原文のままにしてあります。 sakai@jp.freebsd.org 1997.6.19
THIS MATERIAL IS PROVIDED "AS IS". THERE ARE
NO WARRANTIES OF ANY KIND WITH REGARD TO THIS
MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. Neither
Hewlett-Packard nor Hugh Mahon shall be liable
for errors contained herein, nor for
incidental or consequential damages in
connection with the furnishing, performance or
use of this material. Neither Hewlett-Packard
nor Hugh Mahon assumes any responsibility for
the use or reliability of this software or
documentation. This software and
documentation is totally UNSUPPORTED. There
is no support contract available. Hewlett-Packard
has done NO Quality Assurance on ANY
of the program or documentation. You may find
the quality of the materials inferior to
supported materials.
.Pp
Always make a copy of files that cannot be easily reproduced before
editing. Save files early, and save often.
.Pp
(上記段落の日本語訳 −参考−)
.br
このプログラムはこのままの状態 (AS IS) で供給されるもので、実用性や特定用途
に対する適合性を含む、いかなる保証もありません。Hewlett-Packard と Hugh Mahon
のいずれも、このプログラムの間違い、あるいは、設置や使用に付随ないしは結果と
して生ずるいかなる問題についても責任を負いません。Hewlett-Packard と Hugh
Mahon のいずれも、このプログラムとドキュメントの信頼性に対する責任を負いませ
ん。このプログラムとドキュメントに対するサポートはありませんし、サポートの窓
口もありません。Hewlett-Packard はプログラムとドキュメントの品質検査行ってい
ません。サポートのある製品にくらべて品質が劣る可能性もあります。
.Pp
編集前の状態に戻すのが困難なファイルについては、常にコピーを残してください。
早めにファイルに保存し、小刻みに保存操作を行ってください。
.Ss "国際コードセットのサポート"
.Nm
は 8 ビット文字コードをサポートしています (8 ビットクリーン)。
.Sh 警告
低速システムでは、段落自動整形は極端に遅くなります。
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/init.ee -compact
.It Pa /usr/share/misc/init.ee
.It Pa $HOME/.init.ee
.It Pa .init.ee
.Sh 作者
ソフトウェア
.Nm
.An Hugh Mahon
が開発しました。
.Pp
.\" 以下の部分も原文を残し、和訳併記としてあります。
.\" sakai@jp.freebsd.org 1997.6.19
This software and documentation contains
proprietary information which is protected by
copyright. All rights are reserved.
.Pp
(上記段落の日本語訳 −参考−)
.br
このプログラムとドキュメントは著作権法により保護されており、
すべての権利は著作者が有します。
.Pp
Copyright (c) 1990, 1991, 1992, 1993, 1995 Hugh Mahon.
.Sh "関連項目"
.Xr ispell 1 ,
.Xr lp 1 ,
.Xr spell 1 ,
.Xr termcap 5 ,
.Xr terminfo 5 ,
.Xr environ 7
.Sh 日本語マニュアル
平林浩一 (kh@mogami-wire.co.jp) による ee 日本語化キットに含まれている
日本語化 ee の日本語マニュアルをベースに、
酒井淳嗣 (sakai@jp.freebsd.org) が一部修正。
diff --git a/ja_JP.eucJP/man/man1/expr.1 b/ja_JP.eucJP/man/man1/expr.1
index d8abe8d978..1e9157656b 100644
--- a/ja_JP.eucJP/man/man1/expr.1
+++ b/ja_JP.eucJP/man/man1/expr.1
@@ -1,140 +1,140 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 1993 Winning Strategies, 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 Winning Strategies, Inc.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software withough specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: expr.1,v 1.4.2.1 1998/07/15 02:01:24 jkh Exp %
+.\" %Id: expr.1,v 1.7 1998/05/13 07:43:56 charnier Exp %
.\" jpman %Id: expr.1,v 1.2 1997/04/03 02:39:40 mutoh Stab %
.\"
.Dd July 3, 1993
.Dt EXPR 1
.Os
.Sh 名称
.Nm expr
.Nd 式を評価する
.Sh 書式
.Nm expr
.Ar expression
.Sh 解説
.Nm
は、与えられた式
.Ar expression
を評価し、その結果を標準出力に書き出します。
.Pp
.Nm
は、式で使われるすべての演算子を個別の引数として扱います。
シェルが特殊キャラクタと解釈するような文字は、エスケープしておかなければ
なりません。
.Pp
以下に、使える演算子を優先度の低い順に示します。
同じ優先度の演算子は、{ } で括ってあります。
.Bl -tag -width indent
.It Ar expr1 Li | Ar expr2
.Ar expr1
が空の文字列でも 0 でもない場合は
.Ar expr1
を評価した結果を返し、さもなければ
.Ar expr2
を評価した結果を返します。
.It Ar expr1 Li & Ar expr2
.Ar expr1
.Ar expr2
の各々の評価結果が、ともに空の文字列でも 0 でもない場合は
.Ar expr1
を評価した結果を返し、さもなければ 0 を返します。
.It Ar expr1 Li "{=, >, >=, <, <=, !=}" Ar expr2
.Ar expr1
.Ar expr2
がともに整数ならば整数としての比較結果を返し、さもなければ
文字列とみなして、ロカールに従った照合方法を用いた比較結果を
返します。
いずれの場合も、指定された関係が「真」ならば 1 を、「偽」ならば
0 を返します。
.It Ar expr1 Li "{+, -}" Ar expr2
整数値の引数に関して、加算あるいは減算した結果を返します。
.It Ar expr1 Li "{*, /, %}" Ar expr2
整数値の引数に関して、乗算、整数除算、または剰余の結果を返します。
.It Ar expr1 Li : Ar expr2
.Dq \:
演算子は、
.Ar expr1
.Ar expr2
のパターンマッチを行います。
.Ar expr2
は、正規表現でなければなりません。
またこの正規表現は、暗黙のうちに
.Dq ^
が仮定されることにより、文字列の先頭から比較を始めることに
なります。
.Pp
パターンマッチが成功した場合、もし正規表現中に少なくとも1つ
.Dq "\e(...\e)"
の形の部分正規表現が含まれていたならば、このうち
.Dq "\e1"
に相当する文字列を返します。
このような部分正規表現が含まれていなければ、マッチした文字列の
長さを返します。
またパターンマッチが失敗した場合、もし部分正規表現が含まれて
いたならば空の文字列を返し、含まれていない場合は 0 を返します。
.El
.Pp
丸括弧
.Dq "()"
は通常と同じくグループ分けに用いることができます。
.Sh 使用例
.Bl -enum
.It
以下の例は、変数 a に 1 を足します。
.Dl a=`expr $a + 1`
.It
以下の例は、変数 a に設定されたパス名のうち、
ファイル名に当たる部分を返します。
文字列 // は、除算演算子との混同を防ぐために用います。
.Dl expr "//$a" Li : '.*/\e(.*\e)'
.It
以下の例は、変数 a に含まれる文字の数を返します。
.Dl expr $a Li : '.*'
.El
.Sh 診断
.Nm
ユーティリティは、以下の値のうち1つを返して終了します。
.Bl -tag -width indent -compact
.It 0
式は空文字列でも 0 でもない
.It 1
式は空文字列か、0 であった
.It 2
式が無効だった
.Sh 規格
.Nm expr
ユーティリティは
.St -p1003.2
準拠です。
diff --git a/ja_JP.eucJP/man/man1/f2c.1 b/ja_JP.eucJP/man/man1/f2c.1
index 3ac27fe7b2..18bb5b805e 100644
--- a/ja_JP.eucJP/man/man1/f2c.1
+++ b/ja_JP.eucJP/man/man1/f2c.1
@@ -1,323 +1,325 @@
.\" mdoc translation of the f2c.1 manpage (deprecated -man format) supplied
.\" with f2c. The original manpage did not have a copyright statement, but
.\" the file /usr/src/bin/f2c/Notice states:
.\"
.\"/****************************************************************
.\"Copyright 1990 - 1997 by AT&T Bell Laboratories and Bellcore.
.\"
.\"Permission to use, copy, modify, and distribute this software
.\"and its documentation for any purpose and without fee is hereby
.\"granted, provided that the above copyright notice appear in all
.\"copies and that both that the copyright notice and this
.\"permission notice and warranty disclaimer appear in supporting
.\"documentation, and that the names of AT&T Bell Laboratories or
.\"Bellcore or any of their entities not be used in advertising or
.\"publicity pertaining to distribution of the software without
.\"specific, written prior permission.
.\"
.\"AT&T and Bellcore disclaim all warranties with regard to this
.\"software, including all implied warranties of merchantability
.\"and fitness. In no event shall AT&T or Bellcore be liable for
.\"any special, indirect or consequential damages or any damages
.\"whatsoever resulting from loss of use, data or profits, whether
.\"in an action of contract, negligence or other tortious action,
.\"arising out of or in connection with the use or performance of
.\"this software.
.\"****************************************************************/
.\"
.Dd April 19, 1996
.\" jpman %Id: f2c.1,v 1.3 1997/08/20 12:23:39 horikawa Stab %
.Os "AT&T Bell Lab and Bellcore"
.Dt F2C 1
.Sh 名称
.Nm f2c
.Nd Fortran 77 から C または C++ への変換
.Sh 書式
.Nm f2c
-.Op Fl AaCcEfgpRrsUuw
+.Op Fl AaCcEfgpRrsUuvw
.Op Fl C++
.Op Fl cd
.Op Fl d Ar dir
.Op Fl ec
.Op Fl e1c
.Op Fl ext
.Op Fl h Ns Op Cm d
.Op Fl \&I2
.Op Fl \&i2
.Op Fl i90
.Op Fl kr Ns Op Cm d
.Op Fl o Ar name
.Op Fl onetrip
.Op Fl P Ns Op Cm s
.Op Fl r8
.Op Fl 72
.Op Fl T Ar dir
.Op Fl w8
.Op Fl W Ns Ar n
.Op Fl z
.Op Fl !bs
.Op Fl !c
.Op Fl !I
.Op Fl !i8
.Op Fl !it
.Op Fl !P
.Ar file ...
.Sh 解説
.Nm f2c
は、
ファイル名が
.So \&.f Sc
あるいは
.So \&.F Sc
で終わるファイル
.Ar files
に記述された Fortran 77 ソースコードを、
カレントディレクトリ内の、
末尾の
.So \&.f Sc
または
.So \&.F Sc
.So \&.c Sc
に置き換えたファイル名の C (または C++) のソースファイルに変換します。
Fortran ファイルが指定されない場合、
.Nm f2c
は標準入力から Fortran コードを読み込み、
標準出力に C を出力します。
ファイル名が
.So \&.p Sc
または
.So \&.P Sc
で終わる
.Ar file
は、
.Fl P
オプションで生成されるプロトタイプファイルとみなされ、
最初に読み込まれます。
.Sh オプション
.Bl -tag -width flag
.It Fl A
ANSI C を生成します。デフォルトは旧スタイルの C です。
.It Fl a
ローカル変数を static 変数ではなく automatic 変数とします。
ただし DATA , EQUIVALENCE , NAMELIST , SAVE 文に現れるものを除きます。
.It Fl C
添字値が宣言された配列範囲内にあるかどうかをチェックするコードを
生成します。
.It Fl C++
C++ コードを生成します。
.It Fl c
オリジナルの Fortran ソースをコメントとして挿入します。
.It Fl cd
cdabs, cdcos, cdexp, cdlog, cdsin, cdsqrt をそれぞれ
虚数組み込み関数 zabs, zcos, zexp, zlog, zsin, zsqrt として理解することを
止めます。
.It Fl d Ar dir
`.c' ファイルを、現在のディレクトリの代りに、ディレクトリ
.Ar dir
に書き込みます。
.It Fl E
初期化されない COMMON を Extern として宣言します(
.Pa f2c.h
において重複して
.Em extern
定義されます)。
.It Fl ec
初期化されていない COMMON ブロックを別々のファイルに配置します。
COMMON ABC はファイル abc_com.c に置かれます。
オプション
.Fl e1c
によってそれらの別々のファイルを出力ファイルに束ねます。
その際、元のファイルにほどくための
.Xr sed 1
スクリプトがコメントとして与えられます。
.It Fl e1c
.Fl ec
の説明を参照。
.It Fl ext
Fortran 77 拡張を見つけると警告します。
.It Fl f
自由形式(free-format)入力を仮定します。
72 カラム目以降のテキストも受理し、
72 文字より短い固定形式の行に対して空白のパディングを行いません。
.It Fl 72
72 カラム目以降に書かれたテキストをエラーとします。
.It Fl g
オリジナルの Fortran の行番号を
.Sy #line
行として埋め込みます。
.It Fl h Ns Op Cm d
Fortran 66 の Hollerith の取り扱いをエミュレートします。すなわち、
文字列をワード(または、
.Fl hd
オプション指定時はダブルワード)境界にアラインしようとします。
.It Fl \&I2
INTEGER および LOGICAL を short 型、INTEGER*4 を long int 型とします。
デフォルトの
.Em libF77
および
.Em libI77
は INQUIRE においては INTEGER*4 だけ (LOGICAL は無し) を許可している
ものと仮定します。
.Fl \&I4
オプションは、INTEGER を long int とするデフォルト処理を確認します。
.It Fl \&i2
.Fl \&I2
と同様ですが、修正された
.Em libF77
および
.Em libI77
(
.Fl Df2c_i2
でコンパイルしたもの) を仮定します。
INTEGER および LOGICAL 変数は INQUIRE で代入でき、
配列長は short int で格納されます。
.It Fl i90
Fortran 90 のビット操作組み込み関数
btest, iand, ibclr, ibits, ibset, ieor, ior, ishft, ishftc を理解することを
止めます。
.It Fl kr Ns Op Cm d
K&R (第 1 版) の括弧つけ規則で再配置(rearrangement)可能な部分において、
Fortran の式評価を行うために一時変数を用います。
.Fl krd
オプションの場合、
単精度オペランドに対しても倍精度一時変数を使用します。
.It Fl o Ar name
C のソースコードをファイル
.Ar name
に書き出します。
.It Fl onetrip
DO ループを、もしそこに到達すれば少なくとも一回は実行されるように
コンパイルします。
(Fortran 77 の DO ループは、もし上限値が下限値より小さければ、
全く実行されません。)
.It Fl P Ns Op Cm s
入力ファイル
.Ar file Ns \&.f
あるいは
.Ar file Ns \&.F
に含まれる定義に対する ANSI (あるいは C++) プロトタイプ宣言を
ファイル
.Ar file Ns \&.P
に書き出します。
Fortran コードを標準入力から読み込んでいる場合は、
標準出力の最初に書き出します。
.Fl Ps
オプションは
.Fl P
オプションと同様ですが、
再度
.Nm f2c
を実行するとプロトタイプあるいは宣言が変化する場合、
終了ステータス 4 で終了します。
.It Fl p
プリプロセッサ定義を出力して、
コモンブロックのメンバがローカル変数のように見えるようにします。
+.It Fl v
+コンパイル中に、ファイル名、プログラム名、プロシジャ名(複数) を表示します。
.It Fl R
REAL 型の関数や演算を DOUBLE PRECISION に拡張しません。
.Fl !R
オプションを用いるとデフォルトの、Fortran 77 と同様の動作になります。
.It Fl r
REAL 関数(組み込み関数を含む)の値を REAL にキャストします。
.It Fl r8
REAL を DOUBLE PRECISION に、COMPLEX を DOUBLE COMPLEX に拡張します。
.It Fl s
多次元の添字式を保存します。
.It Fl T Ar dir
一時ファイルをディレクトリ
.Ar dir
に生成します。
.It Fl U
変数や外部名の大文字小文字を区別します。
Fortran キーワードは
.Em 小文字
でなければなりません。
.It Fl u
変数のデフォルトの型は、Fortran のデフォルト規則に従うのではなく、
.So 未定義 Sc
とします。
.It Fl w
全ての警告メッセージを抑制します。
.Fl w66
オプションの場合は、Fortran 66 との互換警告メッセージのみ抑制します。
.It Fl w8
COMMON あるいは EQUIVALENCE 文で double 値が不正なワード境界に
配置された場合の警告を抑制します。
.It Fl W Ns Ar n
数値変数を文字データで初期化する際、
1 ワードを
.Ar n
文字分と仮定します(デフォルトは 4)。
.It Fl z
暗黙的には DOUBLE COMPLEX を認識しません。
.It Fl !bs
文字列中の
.Em バックスラッシュ
エスケープ
(\e", \e', \e0, \e\e, \eb, \ef, \en, \er, \et, \ev)
を認識しません。
.It Fl !c
C の出力は抑制し、
.Fl P
出力を行います。
.It Fl !I
.Sy include
文を不許可とします。
.It Fl !i8
INTEGER*8 を不許可とします。
.It Fl !it
既に定義あるいはプロトタイプ宣言された手続きへの引数として
使われた部分から、型宣言していない EXTERNAL 手続きの型を推測しません。
.It Fl !P
使われ方から ANSI あるいは C++ のプロトタイプを推測しないようにします。
.El
.Pp
オブジェクトコードは
.Xr ld 1
または
.Xr cc 1
でロードしなければならず、
次のライブラリを指定する必要があります:
.Fl lf2c lm
.Sh 関連ファイル
.Ar file Ns \&.[fF]
入力ファイル
.Ar file Ns \&.c
出力ファイル
.Pa /usr/include/f2c.h
ヘッダファイル
.Pa /usr/lib/libf2c.a
組み込み関数ライブラリおよび Fortran 77 I/O ライブラリ
.Sh 関連項目
.Rs
.%A S. I. Feldman
.%A P. J. Weinberger
.%T A Portable Fortran 77 Compiler
.%B UNIX Time Sharing System Programmer's Manual
.%V Volume 2
.%D 1990
.%O AT&T Bell Laboratories
.%N Tenth Edition
.Re
.Sh 診断
.Nm f2c
が出力する診断メッセージは、
それ自身で理解可能なものであるはずです。
.Sh バグ
浮動小数点定数表記は
.Nm f2c
を実行するマシンの浮動小数点演算を用いて単純化されていますので、
普通、その精度は高々 10 進 16 ないし 17 桁です。
.Pp
型なし EXTERNAL 関数は int として宣言されます。
.Pp
.Nm f2c
の有効オプションのうち、
ここに記述されていないものがいくつかあります。
これらは
.Pa /usr/src/usr.bin/f2c/main.c
の先頭部分で説明されています。
diff --git a/ja_JP.eucJP/man/man1/f77.1 b/ja_JP.eucJP/man/man1/f77.1
index 00328c3f30..e4e231ded1 100644
--- a/ja_JP.eucJP/man/man1/f77.1
+++ b/ja_JP.eucJP/man/man1/f77.1
@@ -1,77 +1,77 @@
-.\" %Id: f77.1,v 1.1.4.1 1998/03/03 06:15:50 jkh Exp %
+.\" %Id: f77.1,v 1.4 1997/02/22 15:45:06 peter Exp %
.\" jpman %Id: f77.1,v 1.3 1997/08/20 12:25:22 horikawa Stab %
.\"
.\"
.Dd July 22, 1995
.Dt F77 1
.Os FreeBSD
.Sh 名称
.Nm f77
.Nd FORTRAN コンパイラドライバ
.Sh 書式
.Nm f77
.Op options | files
.Sh 解説
.Nm f77
は FreeBSD で FORTRAN コンパイルを行うためのシンプルなドライバです。
.Pp
.Nm f77
は FORTRAN から C へのトランスレータ
.Nm f2c
を呼び出して FORTRAN ソースを C に変換します。
次に
.Nm f77
.Nm cc
を呼び出して変換後の C コードをコンパイルし、更に
.Nm as
を呼び出してアセンブルします。
それが済むと
.Nm ld
を呼び出して、オブジェクトファイルを
.Nm f2c
ライブラリの
.Nm libf2c
や、
.Nm 数学
ライブラリの
.Nm libm
、その他指定したライブラリと共にリンクし、実行形式を生成します。
コマンドラインには .f 以外の拡張子 (.o, .c, ...) で終わるファイルも
記述でき、それらは適切なプログラムで処理されます。
.Pp
ユーザの観点から見ると、この FORTRAN から C への変換は
完全に透過的です。
すなわち
.Nm f77
は伝統的な FORTRAN コンパイラに見えます。
.Pp
利用可能なオプション:
.Pp
.Nm f77
が認識するオプションは
.Nm f2c
および
.Nm cc
のオプションのスーパセットです。
詳細は各々のマニュアルを参照して下さい。
.Pp
.Sh 関連ファイル
file.f FORTRAN ソースファイル
.Pp
file.o オブジェクトファイル
.Pp
a.out リンクエディタの出力ファイル
.Pp
/usr/lib/libf2c.a f2c ライブラリ (libF77 と libI77 を含む)
.Pp
/usr/lib/libf2c.so.x.y f2c 共有ライブラリ
.Pp
.Sh 関連項目
.Xr as 1 ,
.Xr cc 1 ,
.Xr f2c 1 ,
.Xr ld 1
.Sh バグ
入力ファイルは .f で終わっていなければなりません。
例えば .for のようになっていると問題が生じます。
diff --git a/ja_JP.eucJP/man/man1/fdwrite.1 b/ja_JP.eucJP/man/man1/fdwrite.1
index b068e1a634..c6c67524dd 100644
--- a/ja_JP.eucJP/man/man1/fdwrite.1
+++ b/ja_JP.eucJP/man/man1/fdwrite.1
@@ -1,123 +1,123 @@
.\"
.\" ----------------------------------------------------------------------------
.\" "THE BEER-WARE LICENSE" (Revision 42):
.\" <phk@login.dkuug.dk> wrote this file. As long as you retain this notice you
.\" can do whatever you want with this stuff. If we meet some day, and you think
.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
.\" ----------------------------------------------------------------------------
.\"
-.\" %Id: fdwrite.1,v 1.2.2.4 1998/06/27 21:30:44 steve Exp %
+.\" %Id: fdwrite.1,v 1.9 1998/06/27 21:29:35 steve Exp %
.\" jpman %Id: fdwrite.1,v 1.4 1997/07/26 21:35:54 horikawa Stab %
.\"
.\"
.Dd September 16, 1993
.Os FreeBSD
.Dt FDWRITE 1
.Sh 名称
.Nm fdwrite
.Nd フロッピディスクのフォーマットと書き込み
.Sh 書式
.Nm fdwrite
.Op Fl v
.Op Fl y
.Op Fl f Ar inputfile
.Op Fl d Ar device
.Sh 解説
.Nm fdwrite
は、複数のフロッピディスクをフォーマットし書き込みます。
フォーマットできるフロッピディスクデバイスを使うことができます。
.Nm fdwrite
は、
.Pq /dev/tty
のユーザに新しいフロッピをいれてリターンキーを押すように指示します。
デバイスがその後にオープンされ、パラメータが尋ねられ、
その後トラックがフォーマットされ、
.Ar inputfile
で指定されたデータが書き込まれ、ベリファイされます。
フロッピディスクがいっぱいになった時は、この仮定が次のディスクに対して
繰り返されます。これは、プログラムが中断されるか
.Ar inputfile
の終り (EOF) に達するまで続けられます。
以下のようなオプションがあります。
.Bl -tag -width 10n -offset indent
.It Fl v
標準出力への出力情報の状態をトグルで変更します。
デフォルトのモードは ``on'' です。
はじめてデバイスがオープンされた後で、フォーマットが出力されます。
操作の間には、現在のフロッピディスクの残りのトラック数と
文字 I, Z, F, W, R, C,の文字が出力されます。各文字は、現在のトラックに
対して、入力 (I) 、ゼロで埋める (Z) 、フォーマット (F) 、書き込み (W) 、
読み込み (R) 、比較 (C) のそれぞれを行っていることをあらわします。
.It Fl y
ドライブにフロッピディスクがあるかどうか問いあわせません。
この非対話オプションはシェルスクリプトで使用するのに便利です。
.It Fl f Ar inputfile
読み込むための入力ファイルです。もし、与えられていない場合は標準入力が
仮定されます。
.It Fl d Ar device
書き込むためのフロッピデバイスの名前です。
デフォルトは、 ``/dev/rfd0'' です。
.El
.Nm fdwrite
は、ユーザがリターンを押すのを待っている間は
.Ar device
をクローズしています。したがって、この時には完全にドライブを別の目的で
使うことができ、あとで次のフロッピの書き込みを再開できます。
.Ar device
からかえって来たパラメータは、フォーマットのために使われます。
もし、特別なフォーマットが必要な時には、
.Xr fdformat 1
を代わりに使ってください。
.Sh 使用例
.Nm fdwrite
は、複数枚数のフロッピへの書き込みを
簡単に行えるようにと考えらえて作成されたツールです。
そのような使用例は、以下の tar アーカイブの書き込みがあります。
.ce 1
tar cf - . | gzip -9 | fdwrite -d /dev/rfd0.1720 -v
.Xr tar 1
のマルチボリューム機能との主要な違いは、
もちろんフロッピのフォーマットです。フォーマットは実行中に行われるので、
フロッピに対する仕事の量を減らすことができます。
.Sh 関連項目
.Xr fdformat 1
.Sh 歴史
.Nm fdwrite
は、 ``make world'' が終了するのを待つ間に書かれました。
コードのうちいくつかは、
.Xr fdformat 1
から持って来ました。
.Sh 作者
このプログラムは、
.An Poul-Henning Kamp Aq phk@login.dknet.dk
によるコントリビューションです。
.Sh バグ
診断機能は現在は完全ではありません。
フロッピがおかしい時に
.Ar inputfile
がシーク可能であれば、ユーザにディスクを無げ捨て、
別のフロッピを入れて、正しい場所まで戻って操作を続けるように指示すべきです。
この方法は、シークできない入力に対しても同様に一時ファイルを
使用することで、拡張可能です。
オプション ( デフォルトは 0) で、ユーザに失敗した時の再試行回数を
尋ねるべきでしょう。
現在は、フロッピのマルチボリュームを読み戻すための適当なツールが
ありません。
データが圧縮されていない時には、代わりに
.Xr tar 1
の様なプログラムで、そのような仕事を行うことができます。
このような状態の時にはもちろん、いつも
.Xr dd 1
を信用することもできます。
diff --git a/ja_JP.eucJP/man/man1/fetch.1 b/ja_JP.eucJP/man/man1/fetch.1
index cdee0b2b2d..55344c1c5a 100644
--- a/ja_JP.eucJP/man/man1/fetch.1
+++ b/ja_JP.eucJP/man/man1/fetch.1
@@ -1,352 +1,352 @@
-.\" %Id: fetch.1,v 1.9.2.8 1998/07/16 23:51:46 jkh Exp %
+.\" %Id: fetch.1,v 1.23 1998/05/09 21:39:49 wollman Exp %
.\" jpman %Id: fetch.1,v 1.4 1997/08/15 06:31:28 horikawa Stab %
.Dd July 2, 1996
.Dt FETCH 1
.Os FreeBSD 2.2
.Sh 名称
.Nm fetch
.Nd URL(Uniform Resource Locator)形式でのファイルの取得
.Sh 書式
.Nm fetch
.Op Fl MPabmnpqr
.Op Fl o Ar file
.Ar URL
.Op Ar ...
.Nm fetch
.Op Fl MPRmnpqr
.Op Fl o Ar file
.Op Fl c Ar dir
.Fl f Ar file
.Fl h Ar host
.Sh 解説
.Nm fetch
は、
.Tn FTP
もしくは
.Tn HTTP
プロトコルを使ってネットワークの遠隔サイトから、ファイルの転送を
行います。コマンドの最初の書式の
.Ar URL
は、
.Li http://site.domain/path/to/the/file
もしくは、
.Li ftp://site.domain/path/to/the/file
の形式をしています。
複製もしくはリンクされる(以下の
.Fl l
フラグを参照)ローカルでのファイル名を指定するために、
.Em file:/path/to/the/file
という URL 形式が使えます。後述の URL 文法を参照してください。
.Pp
コマンドの 2 番目の形式は、
ファイル名と遠隔ホスト名を
.Fl h
.Fl f
フラグで指定して、
.Tn FTP
プロトコルを使ってファイルを取得するために使われます。
.Pp
以下のオプションが使用可能です。
.Bl -tag -width Fl
.It Fl a
ソフト上での失敗の場合に自動的に転送を再試行します。
.It Fl b
.Tn TCP
プロトコルを正しく実装していない
.Tn HTTP
サーバのバグ対応を行います。
.It Fl c Ar dir
遠隔ホストの
.Ar dir
ディレクトリのファイルを取得します。
.It Fl f Ar file
遠隔ホストの
.Ar file
という名前のファイルを取得します
.It Fl h Ar host
ホスト名が
.Ar host
にあるファイルを取得します。
.It Fl l
目標が
.Ar file:/
形式のURLだった場合、目標を複製しようとするのではなく、
リンクを作成します。
.It Fl M
.It Fl m
ミラーモード: ファイルの変更時間を遠隔ホストの変更時間と同じに
設定します。ローカルホストにファイルが既に存在しサイズと
変更時間が同じである場合、転送は行われません。
.It Fl n
転送されるファイルの変更時間を保存せず、現在の時間を使います。
.It Fl o Ar file
出力ファイル名を
.Ar file
にします。
デフォルトでは、``パス名''が指定された URI から取り出され、その
ベースネームが出力ファイルの名前として使われます。
.Ar file
引数として
.Sq Li \&-
を与えると、結果は標準出力に出力されます。
.It Fl P
.It Fl p
.Tn FTP
プロトコルをパッシブモードで使います。これは、防火壁 (firewall)
を跨いだ場合に有効です。
.It Fl q
沈黙モード。端末に転送の進行状態を報告しません。
.It Fl R
転送が失敗もしくは不完全であった時でさえ、与えられたファイル名は
``大事にされ''、どんな状況下でもファイル名は消去されません.
.It Fl r
以前に中断された転送を再開します。
.It Fl t
別のバグがある
.Tn TCP
実装に対する対処を行います。
.It Fl T Ar second
タイムアウト時間を
.Ar second
秒に設定します。
ftp での転送に対しては
.Ev FTP_TIMEOUT
環境変数が、 http での転送に関しては
.Ev HTTP_TIMEOUT
環境変数が,設定されていた場合は、それを上書きします。
.It Fl v
冗長性を増加させます。
複数の
.Fl v
を指定することで、より情報が得られるようになります。
.El
.Pp
多くのオプションは、環境によってのみ制御されます
(これはバグです)。
.Sh URL 文法
.Nm
は、RFC1738 に記述されている
.Tn http
および
.Tn ftp
の URL を受け付けます。
.Tn ftp
の URL ではユーザ名とパスワードを指定可能であり、
.Li ftp://user:password@host/
という文法で指定します。
パスがユーザのホームディレクトリの相対指定ではなく、絶対指定の場合には、
パスを %2F で開始する必要があり、
.Li ftp://root:mypass@localhost/%2Fetc/passwd
のように指定します。
.Sh プロキシサーバ
防火壁の中の多くのサイトは、信用できるプロトコルで防火壁を通して
通信を行なうためにアプリケーションゲートウェイ( ``プロキシサーバ'' )
を利用します。
.Nm
プログラムは、プロキシサーバを使った
.Tn FTP
.Tn HTTP
プロトコルの両方を利用可能です。
.Tn FTP
プロキシサーバは
.Tn FTP
の要求だけを取り次ぎ、
.Tn HTTP
プロキシサーバは
.Tn FTP
.Tn HTTP
の両方の要求を取り次ぎます。
プロキシサーバは、環境変数
.Dq Va PROTO Ns Ev _PROXY
を定義することで設定されます。
ここで、
.Va PROTO
はプロトコルの名前で、英大文字で記述します。
環境変数の値には、ホスト名と必要ならばコロン (:) に続けてポート番号を
指定します。
.Pp
.Tn FTP
プロキシクライアントは、
.Do Va remoteuser Ns Li \&@ Ns Va remotehost
.Op Li \^@ Ns Va port
.Dc
という形式の ホスト名とポート番号を遠隔地のユーザ名として送ります。
.Tn HTTP
プロキシクライアントは、
.Tn HTTP
.Dq Li GET
要求を出した時に、単純に要求を出した元の URI を遠隔サーバに送ります。
HTTP プロキシによる認証は、いまはまだ実装されていません。
.Sh HTTP による認証
.Tn HTTP
プロトコルは、さまざまな種類の認証方法の提供を含んでいます。
現在、
.Nm fetch
がサポートしている方式は
.Dq basic
方式だけです。
この方法は、パケットの盗み見や人間が間に介在した攻撃にはセキュリティを
提供しません。
認証は、
.Ev HTTP_AUTH
.Ev HTTP_PROXY_AUTH
環境変数を設定することで可能となります。
両環境変数は、次のような同じ形式をしています。
空白で区切られたパラメータの設定リストからなり、個々の設定はコロンで
分けられたパラメータのリストからなります。最初の二つのパラメータはいつも
( 大文字でも小文字でも構わない ) 認証方法名と認証が行われる範囲です。
認証範囲が
.Sq Li \&*
の形式で指定されている時、他に指定されていない全ての範囲とみなされます。
.Pp
.Li basic
認証方式は、二つのオプションのパラメータを利用します。
一つ目はユーザ名で、 2 番目はそれに付けられたパスワードです。
環境でパスワードもしくは両方のパラメータが指定されていなく、
.Nm
の標準入力が端末である時には、
.Nm
は欠けているパラメータの入力をユーザにうながします。
したがって、ユーザが
.Dq Li jane
.Dq Li WallyWorld
範囲の認証で、パスワードが
.Dq Li QghiLx79
であるなら、彼女は
.Ev HTTP_AUTH
環境変数を以下のように設定します。
.Bl -enum -offset indent
.It
.Dq Li basic:WallyWorld:jane:QghiLx79
.It
.Dq Li basic:WallyWorld:jane
.It
.Dq Li basic:WallyWorld
.El
.Pp
.Nm
は欠けている情報が必要な場合は、尋ねてきます。
彼女は、認証範囲を
.Dq Li WallyWorld
と指定する代わりに、
.Dq Li \&*
と指定することで、どんな範囲でも認証を行うことを示せます。
これは、
.Dq Li basic:*
の様なもっとも一般的に使われる設定です。
この設定は、
.Nm
にどんな認証範囲であっても
.Li basic
認証を行わせることを指示します。
.Sh エラー
.Nm
は成功した時は 0 を返します。
また、失敗した場合には、
.Aq Pa sysexits.h
で定義される 0 でない値が返されます。
複数の URI が再試行のために与えられた時、
.Nm
は全てを試して、全て成功した場合だけ 0 を返します
(それ以外の場合は、最後の失敗のエラーを返します)。
.Sh 環境変数
.Bl -tag -width FTP_PASSIVE_MODE -offset indent
.It Ev FTP_TIMEOUT
.Tn FTP
接続を中断するまでの最大時間を秒で指定します。
.It Ev FTP_LOGIN
.Tn FTP
転送で使われるログイン名です。
デフォルトは ``anonymous'' が使われます。
.It Ev FTP_PASSIVE_MODE
パッシブモードで FTP を行います。
.It Ev FTP_PASSWORD
.Tn FTP
転送で使われるパスワードです。
デフォルトは
.Dq Va yourname Ns Li \&@ Ns Va yourhost
です。
.It Ev FTP_PROXY
.Tn FTP
を理解するプロキシサーバのアドレスを
.Do Va hostname Ns
.Op Li : Ns Va port
.Dc
の形式で与えます。
.It Ev HTTP_AUTH
.Tn HTTP
認証パラメータを定義します。
.It Ev HTTP_PROXY
.Tn HTTP
を理解するプロキシサーバのアドレスを
.Do Va hostname Ns
.Op Li : Ns Va port
.Dc
の形式で与えます。
.It Ev HTTP_PROXY_AUTH
.Tn HTTP
プロキシサーバのための認証パラメータを定義します。
.It Ev HTTP_TIMEOUT
.Tn HTTP
接続を中断するまでの最大時間を秒で指定します。
.Sh 関連項目
.Xr ftp 1 ,
.Xr tftp 1
.Sh 歴史
.Nm fetch
コマンドは
.Fx 2.1.5
から導入されました。
.Sh 作者
.Nm
のオリジナル実装は
.An Jean-Marc Zucconi
が行いました。
.Fx 2.2
のために、拡張を行ったのは
.An Garrett Wollman
です。
.Sh バグ
たくさんの環境変数とコマンドラインオプションがあります。
.Pp
.Fl a
オプションは、ある種類の
.Tn HTTP
の接続失敗のために実装されており、
.Tn FTP
の接続失敗のためではありません。
.Pp
.Tn HTTP
のために、
.Dq basic
認証モードだけが実装されています。
これは、ダイジェスト認証に置き換えられるべきものです。
.Pp
(
.Tn FreeBSD
以外の) 実装には、データが含まれるパケットに
.Dv SYN
.Dv FIN
の制御フラグが含まれている状況を正しく実装していないものがあります。
.Sq Fl t
フラグは後者に対する対処を行い、
.Sq Fl b
フラグは前者に対する対処を行います。
これらはサーバの
.Tn TCP
スタックのエラーですから、我々ができる最良の解はこれらの対処です。
正しいサーバとの通信の場合には、
.Fl t
および
.Fl b
を含まない最良の
.Tn HTTP
転送が実現されます。
(少ない返答の場合) ラウンドトリップ回数は最小の 2 回となり、
他の実装よりも 1 回少なくなります。
diff --git a/ja_JP.eucJP/man/man1/file.1 b/ja_JP.eucJP/man/man1/file.1
index 84021fa29d..a6aa4a2f0f 100644
--- a/ja_JP.eucJP/man/man1/file.1
+++ b/ja_JP.eucJP/man/man1/file.1
@@ -1,405 +1,405 @@
-.\" %Id: file.1,v 1.6.2.2 1998/07/16 23:52:05 jkh Exp %
+.\" %Id: file.1,v 1.12 1998/03/23 07:43:13 charnier Exp %
.Dd July 30, 1997
.Dt FILE 1 "Copyright but distributable"
.Os
.Sh 名称
.Nm file
.Nd ファイルの種類を判定する
.Sh 書式
.Nm file
.Op Fl vczL
.Op Fl f Ar namefile
.Op Fl m Ar magicfiles
.Ar
.Sh 解説
このマニュアルは
.Nm
コマンドのバージョン 3.22 について記載しています。
.Nm
は、namefile で指定されたファイルの種類を判定するプログラムです。判定の
ために、ファイルシステムテスト、マジックナンバテスト、言語テストの
3 つのテストをこの順に実行し、
.Em 最初に
判定できた結果からファイルの種類を表示します。
.Pp
ファイルの種類として表示されるのは、
.Em text
(
.Tn ASCII
キャラクタだけのファイルで、
.Tn ASCII
端末に表示した場合、
問題が起こらないもの)、
.Em executable
(
.Ux
カーネル等に理解可能な形にコンパイルされたプログラムを
含むファイル)、その他のものを意味する
.Em data
(data は、通常 `バイナリ' か表示不能なもの) のうちの 1 つです。
例外は、内部フォーマットがよく知られた、
バイナリデータを含むファイル (コアファイルや tar アーカイブ) です。
ファイル
.Pa /usr/share/misc/magic
やプログラムそのものを変更するときは、
.Em "これらのキーワードを残して下さい"
.Pp
ディレクトリ内のすべての可読なファイルは、
単語 ``text'' を表示することが期待されています。
Berkeley で行われたように、``shell commands text'' を
``shell script'' と変更するようなことはしないで下さい。
.Pp
ファイルシステムテストは、
.Xr stat 2
システムコールからの戻り値を調べることに基づいています。
このプログラムは、ファイルが空であるかどうか、ある種の
特殊ファイルであるかどうかを調べます。
使っているシステムに合った既知のファイルの種類
(システムに実装されたソケット、シンボリックリンク、
名前付きパイプ (FIFO)) は、システムヘッダファイル
.Pa sys/stat.h
で定義されていれば表示されます。
.Pp
マジックナンバテストは、ファイルが固定フォーマットのデータであるか
どうかをチェックするために使われます。
よい例が、実行可能なバイナリ実行形式 (コンパイルされたプログラム)
.Pa a.out
ファイルです。このフォーマットは標準インクルードディレクトリ内の
.Pa a.out.h
や場合により
.Pa exec.h
で定義されています。
実行ファイルは、
ファイルの先頭近くの特定の場所に、`マジックナンバ' を持ちます。
これは
.Ux
オペレーティングシステムに対し、
ファイルがバイナリ実行形式であり、
どのタイプの実行可能ファイルであるかを知らせます。
`マジックナンバ' の概念は拡張され、データファイルにも適用されています。
ファイルの先頭に近い固定位置に固定識別子があるファイルは、
このように記述できます。
これらのファイルの情報は、マジックファイル
.Pa /usr/share/misc/magic
から読み込まれます。
.Pp
もしファイルが
.Tn ASCII
ファイルのようであるなら、
.Nm
は、その言語を推定しようとします。
言語テストは、ファイルの始めの数ブロックに
特定の文字列 (
.Pa Inames.h
を参照)
があるかどうかを探します。たとえばキーワード
.Em .br
があればそれはおそらく
.Xr troff 1
の入力ファイルであり、
.Em struct
というキーワードは、C 言語のプログラムであることを示しています。
こうした推定方法は、前述の 2 つのテストより信頼性が低いため、
最後に行われます。言語テストルーチンは (
.Xr tar 1
アーカイブのような) その他のファイルもチェックし、未知のファイルを
`ascii text' とすべきか、 `data' とすべきかを決定します。
.Sh OPTIONS
.Bl -tag -width indent
.It Fl v
プログラムのバージョンを表示して、終了します。
.It Fl m Ar list
マジックナンバを含む別のファイルの
.Ar list
を指定します。
これは、1 つのファイルか、コロン (:) で分けられたファイルのリストです。
.It Fl z
compress で圧縮されたファイルの中身を見ようとします。
.It Fl c
マジックファイルを解析した形式を、調査できるように表示します。
通常、
新しいマジックナンバファイルを使う前にデバッグするために、
.It Fl m
オプションとともに用います。
.It Fl f Ar namefile
引数の前に
.Ar name_file
から調べるべきファイル名を (1 行に 1 つ) 読み込みます。
.Ar name_file
もしくは引数の filename は少なくとも 1 つは指定しなければなりません。
標準入力のファイルの種類を判定させる場合は、
ファイル名として、``-'' を指定します。
.It Fl L
オプションは(システムがシンボリックリンクを提供していれば)、
.Xr ls 1
コマンドの
.Fl L
オプションと同様にシンボリックリンクをたどって実際のファイルの中
身の種類を判定します。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/magic -compact
.It Pa /usr/share/misc/magic
デフォルトのマジックナンバのリスト
(以前のバージョンの
.Bx Free では
.Pa /etc/magic
でした)
.El
.Sh 環境変数
環境変数
.Em MAGIC
は、デフォルトのマジックナンバファイルを指定するために
使うことができます。
.Sh 関連項目
.Xr od 1 ,
.Xr strings 1 ,
.Xr magic 5
.Sh 標準適合性
このプログラムは、その中に含まれる曖昧な言語をできるだけ特定できる
ようになっており、
System V の FILE(CMD) で定義されるインタフェースを越えているはずです。
同名の System V のプログラムと、ほとんど動作は同じです。
しかし、このバージョンはより多くのマジックを知っているので、多くの場合に
異なった (より正確な) 出力を出します。
.Pp
このバージョンと System V のものとの大きな違いは、
このバージョンは全ての空白を区切り文字として扱うため
パターン内の空白はエスケープしなければならないということです。
たとえば、
.br
>10 string language impress\ (imPRESS data)
.br
とマジックファイルに書かれていた場合は、次のように
変更せねばなりません。
.br
>10 string language\e impress (imPRESS data)
.br
またこのバージョンでは、バックスラッシュを含んでいる
パターンもエスケープしなくてはいけません。たとえば、
.br
0 string \ebegindata Andrew Toolkit document
.br
とマジックファイルに書かれていた場合は、次のように
変更せねばなりません。
.br
0 string \e\ebegindata Andrew Toolkit document
.br
.Pp
Sun Microsystems の SunOS リリース 3.2 もしくはそれ以降には、
System V 由来の
.Xr file 1
コマンドが含まれていますが、拡張がなされています。
このバージョンは SUN のものとは、細かい点でしか異なりません。
このバージョンには `&' 演算子の拡張が含まれています。
使い方は、次のようなものです。
.br
>16 long&0x7fffffff >0 not stripped
.Sh マジックディレクトリ
マジックファイルのエントリは様々なソース (主に USENET)
から集められたり、様々な作者から提供されました。
.An Chirstos Zoulas
(下記のアドレス) が、
マジックファイルエントリをさらに集めたり訂正するでしょう。
統合したマジックファイルエントリは、定期的に配布されるでしょう。
.Pp
マジックファイルにおけるエントリの順序は
重要です。
使っているシステムによって、エントリの順序が正しくなくなることが
あります。
もし、あなたの古い
.Nm
コマンドがマジックファイルを使っているのなら、
比較のため古いマジックファイルを保存して下さい
(たとえば、
.Pa /usr/share/misc/magic.orig
という名前に変更します) 。
.Sh 歴史
.Nm
コマンドは、少なくとも Research Version 6
(マニュアルページの日付は、1975 年 1 月)
からはどの
.Ux
にもありました。
System V バージョンはある重要な変更、
すなわち外部マジックナンバリストを導入しました。
これによってプログラムのスピードはわずかに低下しましたが、
更にまた柔軟になりました。
.Pp
このプログラムは、System V バージョンを基づいており、
.An Ian Darwin
によって、他の誰かのソースコードを見ることなく
書かれました。
.Pp
.An John Gilmore
はコードを拡張し、最初の版よりも
よいものにしました。
.An Geoff Collyer
は 不適当なところが数箇所あるのを
発見し、いくつかマジックファイルエントリを
提供しました。
プログラムは、ずっと発展し続けています。
.SH 作者
.An Ian F. Darwin Aq ian@sq.com ,
UUCP アドレス {utzoo | ihnp4}!darwin!ian,
住所 P.O. Box 603, Station F, Toronto, Ontario, CANADA M4Y 2L8.
により書かれました。
.Pp
.An Rob McMahon Aq cudcv@warwick.ac.uk
が 1989 年に、`&' 演算子を単純な
`x&y != 0' から `x&y op z' に拡張するため変更しました。
.Pp
.An Guy Harris Aq guy@auspex.com
が 1993 年に、
.Bl -item -offset indent
.It
``旧型'' の `&' 演算子を元のように戻しました。理由は、
.Bl -enum -offset indent
.It
Rob McMahon の変更によりこれまでの使用法ができなくなった。
.It
このバージョンの
.Nm
がサポートする SunOS の ``新型'' の `&' 演算子で、`x&y op z' も扱える。
.It
Rob の変更はドキュメントに書かれていなかった。
.El
.It
他段階の `>' 追加。
.It
``beshort'', ``leshort'' などのキーワードの追加。
.Nm
が動いているプロセスのバイトオーダではなく、
ファイル特有のバイトオーダで数字を見るようにするキーワードです。
.El
.Pp
.An Ian Darwin
.An Christos Zoulas Aq christos@deshaw.com
を含む
多くの作者による 1990-1992 年の変更。
.Sh 法律上の注意
Copyright (c) Ian F. Darwin, Toronto, Canada,
1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993.
.Pp
This software is not subject to and may not be made subject to any
license of the American Telephone and Telegraph Company, Sun
Microsystems Inc., Digital Equipment Inc., Lotus Development Inc., the
Regents of the University of California, The X Consortium or MIT, or
The Free Software Foundation.
.Pp
This software is not subject to any export provision of the United States
Department of Commerce, and may be exported to any country or planet.
.Pp
Permission is granted to anyone to use this software for any purpose on
any computer system, and to alter it and redistribute it freely, subject
to the following restrictions:
.Pp
.Bl -enum -offset indent
.It
The author is not responsible for the consequences of use of this
software, no matter how awful, even if they arise from flaws in it;
.It
The origin of this software must not be misrepresented, either by
explicit claim or by omission. Since few users ever read sources,
credits must appear in the documentation;
.It
Altered versions must be plainly marked as such, and must not be
misrepresented as being the original software. Since few users
ever read sources, credits must appear in the documentation;
.It
This notice may not be removed or altered.
.El
.Pp
A few support files (
.Fn getopt ,
.Fn strtok )
distributed with this package
are in the public domain; they are so marked.
.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 restrictions.
.Sh バグ
マジックディレクトリから
マジックファイルを自動的に作成するよりよい方法があるはずです。
それは何なのでしょうか。より起動を速くするため
マジックファイルをバイナリにコンパイルするとよいでしょう。
(たとえば
.Xr ndbm 3
あるいは、異機種ネットワーク環境では固定長の
.Tn ASCII
文字)。
そうすれば、同名の バージョン 7 のプログラムと同じぐらいの速さで
System V バージョンの柔軟性を持ったプログラムとなるでしょう。
.Pp
.Nm
には、正確さよりも 速度を重視したアルゴリズムが
いくつかあるので
.Tn ASCII
ファイルの内容については
間違うことがあります。
.Pp
.Tn ASCII
ファイルのサポート ( 元々はプログラミング言語のため ) は
単純で、不十分であり、更新には再コンパイルが必要です。
.Pp
複数の行に渡るものをサポートするため
``else'' 項があるべきです。
.Pp
マジックファイルと キーワードの正規表現を
サポートするべきです。
.Tn ASCII TAB
をフィールドの識別子にすることは醜く、
ファイルの編集を難しくしていますが、残されています。
.Pp
キーワードに大文字を許すことが勧められます。たとえば、
.Xr troff 1
コマンドと man page マクロの区別です。
正規表現のサポートで、このことは簡単になるでしょう。
.Pp
\s-2FORTRAN\s0 に対してプログラムが働きません。
行の先頭にインデントされているキーワードを見ることにより
\s-2FORTRAN\s0 だと判別すべきです。
正規表現のサポートによりこれは簡単になるでしょう。
.Pp
.Em ascmagic
に入っている
キーワードのリストは、おそらくマジックファイルに
入れるべきものです。
これはオフセットの値として `*' のようなキーワードを
使うことで可能でしょう。
.Pp
最初の文字、最初の語、最初の long などに関する
テストを 最初に読み込んだときに全て行うことができるよう
マジックファイルを並べ直す最適化法はないだろうか。
マジックファイルの矛盾について述べるようにならないか。
エントリーの順序を
マジックファイル上の位置ではなく、
ファイルオフセット順にすることはできないだろうか。
.Pp
プログラムは、推定が「どれぐらいよい」のかを知る方法を
提供すべきです。ファイルの最初の 5 文字が ``From ''
であるときに推測をしても、 ``Newsgroups:'' や "Return-Path:"
といった文字による推測ほどよくはないので、推測結果を
捨てることになります。しかし、もしそういった文字が
現れなければ最初の推定を使わなければなりません。
.Pp
このプログラムは、いくつかの商用の
.Nm
コマンドより遅いです。
.Pp
このマニュアルページ、特にこの節が長過ぎます。
.Sh 入手性
オリジナル作者の最新のバージョンを anonymous FTP で、
.Em ftp.deshaw.com
.Pa /pub/file/file-X.YY.tar.gz
から手に入れることができます。
diff --git a/ja_JP.eucJP/man/man1/file2c.1 b/ja_JP.eucJP/man/man1/file2c.1
index a89993e6a3..c9b4522436 100644
--- a/ja_JP.eucJP/man/man1/file2c.1
+++ b/ja_JP.eucJP/man/man1/file2c.1
@@ -1,53 +1,53 @@
.\"----------------------------------------------------------------------------
.\" "THE BEER-WARE LICENSE" (Revision 42):
.\" <phk@freebsd.org> wrote this file. As long as you retain this notice, you
.\" can do whatever you want with this file. If we meet some day, and you think
.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
.\" ---------------------------------------------------------------------------
.\"
-.\" %Id: file2c.1,v 1.1.6.2 1997/09/15 08:07:08 jkh Exp %
+.\" %Id: file2c.1,v 1.5 1997/07/02 06:30:51 charnier Exp %
.\" jpman %Id: file2c.1,v 1.3 1997/07/27 11:56:01 horikawa Stab %
.\"
.Dd January 28, 1995
.Dt FILE2C 1
.Os
.Sh 名称
.Nm file2c
.Nd ファイルの内容を C 言語のソースに変換する
.Sh 書式
.Nm
.Op "string"
.Op "string"
.Sh 解説
.Nm
は標準入力からファイルを読み込み、
各バイトを10進数の数字の文字列に変換して、標準出力に出力します。
.Pp
1番目の
.Op string
が指定されると、
.Op string
を出力してから変換した文字列を出力します。
2番目の
.Op string
が指定されると、
変換した文字列を出力した後に、2番目の
.Op string
を出力します。
.Pp
このプログラムは、バイナリなどの
データを C 言語のソースに、char[] のデータとして埋め込むときに
使われます。
.Sh 使用例
次のコマンド
.Bd -literal -offset indent
date | file2c 'const char date[] = {' ',0};'
.Ed
.Pp
は以下の文字列を生成します。
.Bd -literal -offset indent
const char date[] = {
83,97,116,32,74,97,110,32,50,56,32,49,54,58,50,56,58,48,53,
32,80,83,84,32,49,57,57,53,10
,0};
.Ed
diff --git a/ja_JP.eucJP/man/man1/find.1 b/ja_JP.eucJP/man/man1/find.1
index 432b680b0f..df03cd1638 100644
--- a/ja_JP.eucJP/man/man1/find.1
+++ b/ja_JP.eucJP/man/man1/find.1
@@ -1,499 +1,520 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)find.1 8.4 (Berkeley) 4/1/94
-.\" %Id: find.1,v 1.4.2.5 1998/05/22 11:03:35 jkoshy Exp %
+.\" @(#)find.1 8.7 (Berkeley) 5/9/95
+.\" %Id: find.1,v 1.15 1998/05/15 11:22:36 jkoshy Exp %
.\" jpman %Id: find.1,v 1.4 1997/09/23 14:13:10 horikawa Stab %
.\"
-.Dd April 1, 1994
+.Dd May 9, 1995
.Dt FIND 1
.Os
.Sh 名称
.Nm find
.Nd ディレクトリツリーを再帰的に下ってファイルを捜す
.Sh 書式
.Nm find
.Op Fl H | Fl L | Fl P
.Op Fl Xdx
.Op Fl f Ar file
.Op Ar file ...
.Ar expression
.Sh 解説
.Nm find
は、
.Ar file
に対してディレクトリツリーを再帰的に下って、
ツリー上の各ファイルについて
.Ar expression
(後に示す ``プライマリ'' と ``演算子'' から構成されます)
で指定された処理を実行します。
.Pp
オプションとしては以下のものがあります:
.Pp
.Bl -tag -width Ds
.It Fl H
.Ar file
で指定したファイルがシンボリックリンクファイルだった場合、シンボリックリンク
自体ではなく、リンク先のファイルに関してファイル情報とファイルタイプ(
.Xr stat 2
参照) を使って
.Ar expression
の処理をするように指定します。
もしリンク先のファイルがなければ、
シンボリックリンク自体を処理の対象とします。
コマンドラインからの
.Ar file
で直接指定されたのではなく、
ディレクトリツリー上で見つかったシンボリックリンクファイルに関しては、
シンボリックリンク自体を処理の対象とします。
.It Fl L
.Ar file
で指定したファイルがシンボリックリンクファイルだった場合、シンボリックリンク
自体ではなく、リンク先のファイルに関してファイル情報とファイルタイプ(
.Xr stat 2
参照) を使って
.Ar expression
の処理をするように指定します。もしリンク先のファイルがな
ければ、シンボリックリンク自体を処理の対象とします。
.It Fl P
シンボリックリンク自体に関して
ファイル情報とファイルタイプ(
.Xr stat 2
参照) を使って
.Ar expression
の処理をするように指定します。
これがデフォルトです。
.It Fl X
.Xr xargs 1
と組み合わせて使うときのため、より安全に動作するようにします。もし
.Xr xargs
によりデリミタ文字 (single quote (`` ' ''), double quotes (`` " ''),
backslash (``\e''), space, tab, newline)
が含まれるファイル名
が使われた場合、診断メッセージを標準エラー出力に表示して、
そのファイル名をスキップします。
.It Fl d
ファイルに対する処理順序を深さ優先の探索方式にします。
すなわち、ディレクトリ自体に
対する処理を行う前に、ディレクトリ内の個々のファイルに対して処理を
実行します。デフォルトでは、ディレクトリは最初に処理されます。
(デフォルトの方式は幅優先探索方式ではないです。)
.It Fl f Ar file
明示的にファイルを指定します。ファイル名の先頭が ``\-'' で始まっていたり、
あとで述べる
.Ar expression
の指定と混同してしまうようなファイル名を指定したりするときに使用します。
(ファイルはオプション直後のオペランドとしても指定可能です。)
.It Fl x
ディレクトリツリーを下って行くとき、最初に file のあったファイルシステムとは
異なるファイルシステム上のファイルに対する処理になる場合は、実行しないように
します。
.El
.Sh プライマリ
.Bl -tag -width Ds
+.It Ic -amin Ar n
+最後にファイルがアクセスされた時刻と、
+.Nm find
+を起動した時刻との差(1 分単位で切り上げます)が
+.Ar n
+分であれば、真とします。
.It Ic -atime Ar n
最後にファイルがアクセスされた時刻と、
.Nm find
を起動した時刻との差(24 時間単位で切り上げます)が
.Ar n
日であれば、真とします。
.It Ic -ctime Ar n
最後にファイルのステータスが変更された時刻と、
.Nm find
を起動した時刻の差 (24 時間単位で切り上げます) が
.Ar n
日であれば、真とします。
.It Ic -delete
見付けたファイルやディレクトリを消去します。常に真を返します。
現在の作業ディレクトリから
.Nm
は再帰的にディレクトリツリーを下ります。
セキュリティ上の理由から、
"." からの相対パス名に ``/'' 文字を含むファイル名のファイルを
消去しようとはしません。
このオプションにより暗示的に深さ優先の処理が指定されます。
.It Ic -exec Ar utility Op argument ... ;
.Ar utility
で指定した名前のプログラムを実行し、終了コードが 0
の場合、真とします。argument は、utility への引き数として渡されます。この
指定は、最後に必ずセミコロン (``;'') をつけてください。
utility もしくは argument の指定
のなかで ``{}'' が使われていた場合は、その部分が、現在
.Nm find
が対象としてい
るファイルのパス名に置き換えられます。ただし、
.Ar utility
が実行されるときのカレントディレクトリは、
.Nm find
が起動されたディレクトリのままです。
+.It Ic -execdir Ar utility Op argument ... ;
+.Ic \&-execdir
+プライマリは
+.Ic -exec
+プライマリと同様ですが、
+.Ar utility
+が現在のファイルを持つディレクトリにおいて実行される点が異なります。
+文字列 ``{}'' に対して置換されるファイル名は適切ではありません。
.It Ic -fstype Ar type
対象ファイルが格納されているファイルシステムのタイプが、
.Ar type
-で指定されたものである場合に真となります。type としては、
-``local'', ``mfs'', ``nfs'', ``msdos'', ``rdonly'', `'ufs''
-を指定することができます。
-``local'' と ``rdonly'' は特定のファイルシステムを指すものではありません。
+で指定されたものである場合に真となります。
+.Xr sysctl 8
+コマンドを使用して、
+システム上で利用可能なファイルシステムタイプを調べることができます:
+.Bd -literal -offset indent
+sysctl vfs
+.Ed
+さらに、2 つの 擬似タイプ ``local'' と ``rdonly'' があります。
``local'' は、
.Nm find
を実行しているシステム上に物理的
にマウントされているファイルシステムです。``rdonly'' は、リードオンリーで
マウントされているファイルシステムです。
.It Ic -group Ar gname
ファイルが
.Ar gname
で指定したグループに属している場合、真になります。
.Ar gname
が数字で、そのようなグループ名がない場合は、
.Ar gname
をグループ ID として扱います。
.It Ic -inum Ar n
ファイルの i ノード番号が
.Ar n
なら、真になります。
.It Ic -links Ar n
ファイルのリンク数が
.Ar n
なら、真になります。
.It Ic -ls
このプライマリは常に真になります。対象となっているファイルの情報を
標準出力に出力します。出力する内容は i ノード番号、
512 バイトブロックでのファイルの大きさ、
ファイルのパーミッション、ハードリンクの数、所有者、グループ、
バイトで表したファイルの大きさ、最後にファイルが修正された時刻、パス名です。
ファイルがブロック型もしくはキャラクタ型のスペシャルファイルならば、
バイトで表したファイルの大きさの代わりにメジャー番号とマイナー番号を
出力します。ファイルがシンボリックリンクならば、
`\`->''の後にリンク先のファイルのパス名を表示します。
フォーマットは
``ls -dgils'' の出力結果と同じです。
.It Ic -mtime Ar n
最後にファイルが修正された時刻と、
.Nm find
を起動した時刻との差(24 時間単位で切り上げます)が
.Ar n
日であれば、真とします。
.It Ic \&-ok Ar utility Op argument ... ;
.Ic exec
とほぼ同じですが、
.Ar utility
を実行するかどうかの確認をユーザに求め、端末にメッセージを出力します。
``y'' 以外の返答をした場合は、
コマンドは実行されず、
このプライマリの値は偽になります。
.It Ic -name Ar pattern
対象ファイルのパス名の最後のファイル名部分が
.Ar pattern
で指定したものとマッチするかどうかを調べ、マッチした場合は真になります。
.Ar pattern
としては、シェルで使われるパターンマッチ
指定 (``['', ``]'', ``*'', ``?'') を使用することができます。これらの文字は
バックスラッシュ(``\e'')を前において、パターンマッチ指定ではなく文字として
扱う事を明示することができます。
.It Ic -newer Ar file
対象ファイルの修正日付が、
.Ar file
で指定したファイルのものより新しい場合は、真になります。
.It Ic -nouser
対象ファイルの所有者が unknown の場合、真になります。
.It Ic -nogroup
対象ファイルのグループが unknown の場合、真になります。
.It Ic -path Ar pattern
対象ファイルのパス名が、
.Ar pattern
で指定したものとマッチす
るかどうかを調べます、マッチした場合は真になります。
.Ar pattern
としては、シェルで使われるパターンマッチ
指定 (``['', ``]'', ``*'', ``?'') を使用することができます。これらの文字は
バックスラッシュ (``\e'') を前において、パターンマッチ指定ではなく文字として
扱う事を明示することができます。
``/'' は、そのままパスのディレクトリの区切りにマッチします。
.It Ic -perm Op Ns Ar mode
ファイルのモードを、
.Ar mode
と比較します。
.Ar mode
は、シンボル
形式(
.Xr chmod 1
参照) もしくは 8 進数形式で指定します。シンボル形式の場合は、
00000 から開始してパーミッションのセットとクリアを行います。
(プロセスのファイル生成マスクとは無関係です。)
8 進数形式の場合は、
ファイルのモードビットのうち、07777
.Pf ( Dv S_ISUID
|
.Dv S_ISGID
|
.Dv S_ISTXT
|
.Dv S_IRWXU
|
.Dv S_IRWXG
|
.Dv S_IRWXO )
の部分が比較対象になります。
.Ar mode
の最初に ``\-'' を指定した場合は、
.Ar mode
でセットされているすべてのビットが
ファイルのモードでもセットされていれば真となります。
``\-'' が指定されていない場合は、ファイルのモードと
.Ar mode
が完全に一致した場合にのみ真となります。
なお、
シンボル形式でモード指定をする場合は、少なくとも最初が ``\-'' にならない
ようにする必要があります。
.It Ic -print
このプライマリは常に真になります。
対象となっているファイルのパス名を標準出力に出力して改行します。
.Ic -exec ,
.Ic -ls ,
.Ic -ok ,
.Ic -print0
のどのプライマリも指定されなかった場合は、
-本プライマリが指定されているものとみなします。
+与えられた式 given expression は
+.Cm \&( Ns Ar given\& expression Ns Cm \&)
+.Ic -print
+で置き換えられます。
.It Ic -print0
.Ic -print
とほぼ同じですが、標準出力に対象となっているファイルのパス名を出力
したあと、改行ではなく、
.Tn ASCII
.Tn NUL
文字(文字コード 0)を出力します。
.It Ic -prune
このプライマリは常に真になります。
対象となっているファイル配下のディレクトリに下りないようにします。
.Fl d
オプションが指定されている場合は、
.Ic -prune
の指定は無効になります。
.It Ic -size Ar n Ns Op Cm c
ファイルサイズを 512 バイトのブロック単位で数えたとき (端数は切り上げ)、
.Ar n
ブロックであれば真になります。
.Ar n
のあとに ``c'' が指定されていた場合は、ファイルサイズが
.Ar n
バイトであれば真になります。
.It Ic -type Ar t
ファイルタイプが
.Ar t
で指定されたタイプに一致すれば真になります。
タイプとして、次のような指定が可能です:
.Pp
.Bl -tag -width flag -offset indent -compact
.It Cm b
ブロックスペシャル
.It Cm c
キャラクタスペシャル
.It Cm d
ディレクトリ
.It Cm f
普通のファイル
.It Cm l
シンボリックリンク
.It Cm p
FIFO
.It Cm s
ソケット
.El
.Pp
.It Ic -user Ar uname
ファイルの所有者が、
.Ar uname
で指定されたユーザと一致すれば真になります。もし
.Ar uname
が数字で、そのようなユーザ名がなければ、
ユーザ ID が指定されたものとして扱います。
.El
.Pp
なお、数字を引数にとるプライマリは、
数字の前に ``+'' および ``\-'' をつけることができます。
それぞれ ``n より大'' および ``n より小'' の意味になり、
``正確に n''という意味ではなくなります。
.Sh 演算子
.Pp
以下の演算子を使って、プライマリを組み合わせることができます。
演算子は優先度が下がる順番で示されています。
.Bl -tag -width (expression)
.It Cm \&( Ns Ar expression Ns Cm \&)
もし、括弧内の
.Ar expression
が真なら、真になります。
.Pp
.It Cm \&! Ns Ar expression
単項否定演算子(
.Tn NOT
)です。
.Ar expression
が偽なら、真となります。
.Pp
.It Ar expression1 Cm -and Ar expression2
.It Ar expression1 expression2
論理積(
.Tn AND
)演算子です。
.Ar expression1
.Ar expression2
の両方とも真のとき、真になります。
もし
.Ar expression1
が偽なら、
.Ar expression2
は実行されません。
.Ic -and
を書かずに、単に 2 つの expression を並べて
.Pp
.Ar expression1 expression2
.Pp
と書いても同じです。
.Pp
.It Ar expression1 Cm -or Ar expression2
論理和(
.Tn OR
)演算子です。
.Ar expression1
.Ar expression2
のどちらか一方でも真であれば、真になります。もし
.Ar expression1
が真なら、
.Ar expression2
は実行されません。
.El
.Sh 使用例
.Pp
コマンドラインからのタイプ例です。
.Nm find
の演算子がシェルの特殊文字と間違われないように、
エスケープ文字 ``\e'' を使用しています。
.Bl -tag -width findx
.It Li "find / \e! -name \*q*.c\*q -print"
探索をルートディレクトリから開始し、ファイル名の終わりが
``.c'' でないものを表示します。
.It Li "find / -newer ttt -user wnj -print"
探索をルートディレクトリから開始し、
ファイルが ``ttt'' というファイルより新しく、
所有者が ``wnj'' であるようなものを表示します。
.It Li "find / \e! \e( -newer ttt -user wnj \e) -print"
探索をルートディレクトリから開始し、
``ttt'' というファイルより古いか、
所有者が ``wnj'' 以外のファイルを表示します。
.It Li "find / \e( -newer ttt -or -user wnj \e) -print"
探索をルートディレクトリから開始し、
ファイルが ``ttt'' というファイルより新しいか、
所有者が ``wnj'' であるようなものを表示します。
.El
.Sh 関連項目
.Xr chmod 1 ,
.Xr locate 1 ,
.Xr whereis 1 ,
.Xr which 1 ,
.Xr stat 2 ,
.Xr fts 3 ,
.Xr getgrent 3 ,
.Xr getpwent 3 ,
.Xr strmode 3 ,
.Xr symlink 7
.Sh 規格
.Nm find
ユーティリティの文法は
.St -p1003.2
の仕様で決められた文法のスーパセットです。
全 1 文字オプションと
.Ic -inum ,
.Ic -print0 ,
.Ic -delete ,
.Ic -ls
のプライマリは
.St -p1003.2
の拡張です。
.Pp
昔は
.Fl d ,
.Fl h ,
.Fl x
のオプションは
それぞれ ``\-depth'', ``\-follow'', ``\-xdev'' のプライマリを
用いて実装されていました。
これらのプライマリは常に真に評価されていました。
これらのプライマリは
探索が始まる前に効果を与える本当のグローバル変数であったので、
いくつかの合法的な expression が予期しない結果となりました。
一例として ``\-print \-o \-depth''の expression があります。
\-print が常に真に評価されるため
標準の評価の順番では \-depth は決して評価されないはずですが、
そうではありませんでした。
.Pp
演算子の ``-or'' は ``\-o'' として実装されていました。
演算子の ``-and'' は ``\-a'' として実装されていました。
.Pp
昔の実装では
.Ic exec
.Ic ok
のプライマリでは、
utility 名やその引数中において、
空白以外の文字が前後に続く ``{}'' を置き換えませんでした。
このバージョンでは utility 名やその引数のどの場所に ``{}'' が現れても
置き換えます。
.Sh バグ
.Nm find
によって使われる特殊文字は多くのシェルにとっても
特殊文字です。
特に ``*'', ``['', ``?'', ``('', ``)'', ``!'', ``\e'', ``;'' は、
シェルからエスケープされなくてはならないでしょう。
.Pp
オプションとファイル名との間および
ファイル名と
.Ar expression
との間を区切るデリミタが存在しませんので、
ファイル名にオプションと間違えるようなもの (``-xdev'' のようなもの) や、
.Ar expression
と間違えるようなもの (``!'' のようなもの) を指定することは難しいです。
このようなファイル名を指定する場合は
.Fl f
オプションを使うか、
.Xr getopt 3
で使われるオプション指定の終了記号 ``--'' を使用します。
.Pp
.Ic -delete
プライマリは、ファイルシステムツリーの検索順序に影響する
他のオプションとは十分には連係しません。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/finger.1 b/ja_JP.eucJP/man/man1/finger.1
index 0591728a6d..4f5bd8f102 100644
--- a/ja_JP.eucJP/man/man1/finger.1
+++ b/ja_JP.eucJP/man/man1/finger.1
@@ -1,219 +1,219 @@
.\" Copyright (c) 1989, 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)finger.1 8.3 (Berkeley) 5/5/94
-.\" %Id: finger.1,v 1.5.2.2 1998/03/08 09:07:55 jkh Exp %
+.\" %Id: finger.1,v 1.7 1997/08/01 20:26:47 wollman Exp %
.\" jpman %Id: finger.1,v 1.2 1997/04/07 05:53:49 mutoh Stab %
.\"
.Dd August 1, 1997
.Dt FINGER 1
.Os BSD 4
.Sh 名称
.Nm finger
.Nd ユーザ情報を調べるプログラム
.Sh 書式
.Nm finger
.Op Fl lmpshoT
.Op Ar user ...
.Op Ar user@host ...
.Sh 解説
.Nm finger
はシステムのユーザに関する情報を表示します。
.Pp
オプションは以下の通りです:
.Bl -tag -width flag
.It Fl s
.Nm finger
はユーザのログイン名、本名、端末名、端末への書き込み
状態(書き込みが不可の場合は、端末名の前に``*''が付きます)、
アイドル時間、ログイン時間、また、オフィスの所在地と電話番号もしくは
リモートホスト名を表示します。もし
.Fl h
が指定されていた場合(デフォルト)は、リモートホスト名が表示
されます。また、
.Fl o
が指定されていた場合は、オフィスの所在地と電話番号が
リモートホスト名の代わりに表示されます。
.Pp
アイドル時間の単位は、数字だけの場合は
何分か、``:''がある場合は何時間何分か、``d''がある場合は何日か、です。
ログイン時間は、6日以内の場合は何曜日の何時何分からか、それ以上の
場合は何月何日の何時何分からかが表示されます。もし6ヶ月を超えて
いる場合は、何年何月何日からかが表示されます。
.Pp
アイドル時間やログイン時間がない場合と同様に、
不明なデバイスは一つのアスタリスクとして表示されます。
.Pp
.It Fl h
.Fl s
オプションと共に指定されたとき、オフィスの所在地と電話番号の代わりに
リモートホスト名を表示します。
.Pp
.It Fl o
.Fl s
オプションと共に指定されたとき、リモートホスト名の代わりに
オフィスの所在地と電話番号を表示します。
.Pp
.It Fl l
ユーザのホームディレクトリ、自宅の電話番号、ログインシェル、
メールの状態、そしてユーザのホームディレクトリの
.Dq Pa .forward
.Dq Pa .plan
および
.Dq Pa .project
の内容に加えて、
.Fl s
オプションの解説で述べた情報全てが複数行にわたる形式で出力されます。
.Pp
アイドル時間は1分以上1日以内の場合は、``hh:mm''の形式と
なります。1日よりも大きいときには、``d day[s]hh:mm''の
形式となります。
.Pp
電話番号は、11桁の場合には``+N-NNN-NNN-NNNN''と表示
されます。10桁もしくは7桁の場合には、上の文字列の適切な
部分として表示されます。5桁の場合は``xN-NNNN''、4桁の
場合は``xNNNN''と表示されます。
.Pp
デバイスの書き込み許可がない場合、デバイス名を含む
行に``(messages off)''という語句が追加されます。
.Fl l
オプションを指定すると、1人のユーザにつき1つの項目が表示されます。
もしあるユーザが複数回ログインしている場合には、端末の情報は
その各ログインについて表示されます。
.Pp
メールの状態は、全くメールがない場合には``No Mail.''、その人が自分の
メールボックスに届いた新着メールを全て読んでいた場合
には``Mail last read DDD MMM ## HH:MM YYYY (TZ)''、その人あての新着
メールがあれば``New mail received ...''や``Unread since ...''の
ように表示されます。
.Pp
.It Fl p
オプションは、
.Nm finger
.Fl l
オプションが、
.Dq Pa .forward
.Dq Pa .plan
および
.Dq Pa .project
のファイルの内容を表示するのを抑制します。
.It Fl m
ユーザの本名と
.Ar user
とが名前の比較で一致しないようにします。
.Ar user
は、たいていはログイン名なのですが、
.Fl m
オプションを指定しない限り、ユーザの本名との比較もまた行われてしまいます。
.Nm finger
によって比較される名前は、大文字小文字を区別しません。
.Pp
.It Fl T
T/TCP の使用を行いません(
.Xr ttcp 4
を参照してください)。
このオプションは,いい加減な TCP の実装が行われている
ホストに finger を行う時に必要です。
.El
.Pp
オプションが指定されなかった場合は、
.Nm finger
は、対象が与えられた場合は
.Fl l
の出力形式、与えられなかった場合は
.Fl s
の出力形式をデフォルトの形式とします。
どちらの形式であったとしても、情報が有効でなかった場合には、その
フィールドは欠けているかもしれないことに注意してください。
.Pp
引数が全く指定されていない場合は、
.Nm finger
は、現在システムにログインしている各ユーザについての情報を表示します。
.Pp
.Nm finger
は、リモートマシン上のユーザを調べることにも利用できます。
これには、
.Ar user
として
.Dq Li user@host
もしくは
.Dq Li @host
と指定する形式を使います。デフォルトでは、前者は
.Fl l
形式の出力、後者は
.Fl s
形式の出力となります。
.Fl l
オプションは、リモートマシンに渡される唯一のオプションかも知れません。
.Pp
もし、ユーザのホームディレクトリに
.Dq Pa .nofinger
というファイルが存在した場合、
.Nm finger
は、そのユーザが存在していないかのように振る舞います。
.Sh 環境変数
.Nm finger
は、もし設定されていれば、以下の環境変数を利用します:
.Bl -tag -width Fl
.It Ev FINGER
.Nm finger
に好みのオプションがあれば、この環境変数に設定しておくとよいでしょう。
.El
.Sh 関連ファイル
.Bl -tag -width /var/log/lastlog -compact
.It Pa /var/log/lastlog
最後にログインした時間のデータベース
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr w 1 ,
.Xr who 1 ,
.Xr ttcp 4 .
.Rs
.%A D. Zimmerman
.%T The Finger User Information Protocol
.%R RFC 1288
.%D December, 1991
.Re
.Sh 歴史
.Nm finger
コマンドは、
.Bx 3.0
で登場しました。
.Sh バグ
現在の FINGER プロトコルの RFC では、
サーバが接続を閉じるまでクライアントはフルに接続をオープンする必要があります。
これでは、最適な 3 パケット T/TCP 交換を妨げてしまいます。
(この仕様に依存するサーバは壊れていますが、
広いインターネットにはこのようなサーバが存在します。)
diff --git a/ja_JP.eucJP/man/man1/ftp.1 b/ja_JP.eucJP/man/man1/ftp.1
index 87f07bf5bc..2a181cf48f 100644
--- a/ja_JP.eucJP/man/man1/ftp.1
+++ b/ja_JP.eucJP/man/man1/ftp.1
@@ -1,1379 +1,1379 @@
-.\" %Id: ftp.1,v 1.4.2.3 1998/03/01 18:59:42 steve Exp %
+.\" %Id: ftp.1,v 1.8 1998/03/01 18:58:03 steve Exp %
.\" %NetBSD: ftp.1,v 1.21 1997/06/10 21:59:58 lukem Exp %
.\"
.\" Copyright (c) 1985, 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.
.\"
.\" @(#)ftp.1 8.3 (Berkeley) 10/9/94
.\" jpman %Id: ftp.1,v 1.3 1997/08/20 12:54:33 horikawa Stab %
.\"
.Dd August 18, 1997
.Dt FTP 1
.Os BSD 4.2
.Sh 名称
.Nm ftp , pftp , gate-ftp
.Nd
.Tn ARPANET
ファイル転送プログラム
.Sh 書式
.Nm
.Op Fl a
.Op Fl d
.Op Fl e
.Op Fl g
.Op Fl i
.Op Fl n
.Op Fl U
.Op Fl p
.Op Fl P Ar port
.Op Fl t
.Op Fl v
.Op Fl V
.Op Ar host Op Ar port
.Nm ftp
ftp://[\fIuser\fR:\fIpassword\fR@]\fIhost\fR[:\fIport\fR]/\fIfile\fR[/]
.Nm ftp
http://\fIhost\fR[:\fIport\fR]/\fIfile\fR
.Nm ftp
\fIhost\fR:[/\fIpath\fR/]\fIfile\fR[/]
.Sh 解説
.Nm
は、
.Tn ARPANET
標準のファイル転送プロトコルを用いてファイル転送を実現するためのコマンドです。
本コマンドは、ネットワークを介して接続されているコンピュータ間で
ファイルを転送する手段をユーザに提供します。
.Pp
書式の後ろから 3 つの使用例の形式では HTTP または FTP プロトコルの
いずれかを使ってファイルをカレンドディレクトリに取得します。
これはスクリプト用に理想的です。
より詳しい情報については
.Sx ファイルの自動的な取得
を参照して下さい。
.Pp
オプションは、コマンドライン上か、コマンドインタプリタで指定できます。
.Bl -tag -width "port "
.It Fl a
.Nm
は通常のログイン手続きを飛ばして、かわりに anonymous ログインを
使います。
.It Fl d
デバッグを有効にします。
.It Fl e
コマンドラインでの編集を無効にします。
.It Fl g
ファイル名展開を無効にします。
.It Fl U
データポートの範囲制限を無効にします。
.It Fl i
複数ファイル転送を行っている間の対話的プロンプトモードを
オフにします。
.It Fl n
.Nm
が最初に接続する際の
.Dq 自動ログイン
を行いません。
自動ログインが許可された場合は、
.Nm
は起動したユーザのホームディレクトリの
.Pa .netrc
(下記参照) ファイルに、リモートマシンのアカウントを記述している
エントリがあるかどうかを調べます。
そのファイルにエントリがない場合には、
.Nm
はリモートマシン上のログイン名 (デフォルトはローカルマシンでのユーザ
ID) を要求します。
そして、もし必要があればログイン用のパスワードと
アカウントの入力も促します。
.It Fl p
防火壁を越える接続のためのパッシブモード操作を有効にします。
.Nm pftp
コマンドを使うのと同じです。
.It Fl P Ar port
ポート番号を
.Ar port
に設定します。
.It Fl t
パケットのトレースを有効にします。
.It Fl v
饒舌モードを有効にします。
入力が端末からの場合はこれがデフォルトです。
.Nm
はデータ転送状況と、
リモートサーバからのすべてのレスポンスを表示します。
.It Fl V
入力が端末からの場合に、デフォルトで有効になっているのを無視して
饒舌モードを無効にします。
.El
.Pp
.Nm
は、通信相手をコマンドラインで指定することが出来ます。通信相手を
コマンドラインで指定した場合、
.Nm
は指定したリモートマシンの
.Tn FTP
サーバプログラムとの接続を試みます。それ以外の場合、
.Nm
は内部のコマンドインタプリタに入り、ユーザからの
コマンド入力を待ちます。このとき
.Nm
は、
.Ql ftp>
というプロンプトを出力します。
本状態の時には、
.Nm
は以下のコマンドを受け付けます。
.Bl -tag -width Fl
.It Ic \&! Op Ar command Op Ar args
ローカルマシン上でシェルを起動します。
引数が指定された場合、最初の引数をコマンドとして実行し、
それ以降の引数はそのコマンドに対する引数として処理されます。
.It Ic \&$ Ar macro-name Op Ar args
.Ar macro-name
で定義されたマクロを実行します。マクロは、
.Ic macdef
コマンドで定義出来ます。
.Ar args
で指定された文字列は、展開されずにマクロに対して引き渡されます。
.It Ic account Op Ar passwd
一旦ログインに成功したユーザが、資源を扱うためにリモートマシンから
要求された追加のパスワードを入力します。
引数が指定されない場合、ユーザに対してパスワード入力を促す表示がされます。
この場合はパスワードはエコーバックされません。
.It Ic append Ar local-file Op Ar remote-file
ローカルファイルをリモートマシン上のファイルに追加書き込みします。
もし、
.Ar remote-file
が指定されていなければ、ローカルファイルの名前を
.Ic ntrans
.Ic nmap
で修正した名前をリモートファイル名として使います。
ファイル転送では
.Ic type ,
.Ic format ,
.Ic mode ,
.Ic structure
の現在の設定が使われます。
.It Ic ascii
転送ファイルの
.Ic type
をネットワーク
.Tn ASCII
形式にします。
これはデフォルト時の設定です。
.It Ic bell
各ファイル転送コマンド終了時にベルを鳴らすかどうかを指定します。
.It Ic binary
転送ファイルの
.Ic type
をバイナリ形式にします。
イメージファイルなど、バイナリファイルを転送する時には本指定は必須です。
.It Ic bye
リモートサーバとの
.Tn FTP
セッションを終了し、
.Nm
を終了します。
EOF を入力した場合も同様です。
.It Ic case
.Ic mget
コマンドで連続してファイルを取得する場合、リモートマシン上の
ファイル名の大文字小文字の対応を切り替えます。
デフォルトでは
.Ic case
はオフですが、オンの場合にはリモートマシンファイル名の
すべての大文字が小文字に変換されて、ローカル マシンのディレクトリに
書き込まれます。
.It Ic \&cd Ar remote-directory
リモートマシン上での作業ディレクトリを
.Ar remote-directory
へ変更します。
.It Ic cdup
リモートマシン上での作業ディレクトリを一つ上に変更させます。
.It Ic chmod Ar mode file-name
.Ar file-name
で指定したリモートマシン上のファイルの属性を、
.Ar mode
で指定したものに変更します。
.It Ic close
リモートサーバとの
.Tn FTP
セッションを終了します。そしてコマンド入力待ちのプロンプトを表示します。
すでに定義されたマクロはすべて無効になります。
.It Ic \&cr
ASCII 形式ファイルの転送を行なう場合に、
復帰コードの除去を行なうかどうかを変更します。
ASCII 形式のファイル転送時には、
復帰/改行
の文字列によってレコードが認識されます。
.Ic \&cr
がオン(デフォルト)の時には、改行コードのみでレコードを区切る
.Ux
に適合するように、
復帰コードが文字列から除去されます。
.Ux
以外のリモートのシステムのレコードは
単独の改行コードを含む可能性があります。
ASCII 形式で転送を行った時には、そういった改行コードは
.Ic \&cr
がオフの場合にだけレコード区切り記号と区別して扱われます。
.It Ic delete Ar remote-file
リモートマシン上のファイル
.Ar remote-file
を削除します。
.It Ic debug Op Ar debug-value
デバッグモードを切り替えます。
.Ar debug-value
が指定されるとデバッグレベルとして設定されます。
デバッグモードが有効になると、
.Nm
はリモートマシンに送信されたコマンドを
.Ql \-\->
に続けて表示します。
.It Ic dir Op Ar remote-directory Op Ar local-file
リモートマシン上のディレクトリの内容を表示します。
表示内容にはサーバが選択したシステム依存の情報を含みます。
例えば大部分の
.Ux
システムは
.Ql ls \-l
コマンドから得られる出力を表示します。
(
.Ic ls
も参照して下さい)
もし
.Ar remote-directory
が指定されなければ、リモートマシン上のカレントディレクトリの内容が
表示されます。
もしプロンプトがオンだったら、
.Nm
は、最後の引数が本当に
.Ic dir
の出力を書き込むローカルファイルかどうか問い合わせます。
ローカルファイルの指定が無い場合、または
.Ar local-file
の指定が
.Sq Fl
だった場合は出力は画面に表示されます。
.It Ic disconnect
.Ic close
と同じです。
.It Ic edit
コマンドラインの編集機能、そして文脈に応じたコマンドとファイルの
補完機能を切り替えます。
これは入力が端末の場合は自動的に有効になり、そして
そうでなければ無効になります。
.It Ic exit
.Ic bye
と同じです。
.It Ic ftp Ar host Op Ar port
.Ic open
と同じです。
.It Ic form Ar format
ファイル転送様式を
.Ar format
と指定します。
デフォルトでは、様式は \*(Lqfile\*(Rq となります。
.It Ic get Ar remote-file Op Ar local-file
リモートマシン上のファイル
.Ar remote-file
を取得してローカルマシン上に格納します。
ローカルファイル名
.Ar local file
が指定されない場合、
ローカルファイル名は取得したファイルの
リモートマシン上の名前と同じになります。
ただし、その名前は
.Ic case ,
.Ic ntrans ,
.Ic nmap
の設定により変更される事があります。
ファイル転送の時には現在の
.Ic type ,
.Ic form ,
.Ic mode ,
.Ic structure
の設定が使用されます。
.It Ic gate Op Ar host Op Ar port
gate-ftp モードを切り替えます。
これは gate-ftp サーバが設定されていないと有効になりません
(ユーザによって明示的に、または
.Ev FTPSERVER
環境変数によって)。
.Ar host
が与えられると、
gate-ftp モードが有効になり、そして
gate-ftp サーバが
.Ar host
に設定されます。
.Ar port
も同時に与えられると、それが
gate-ftp サーバへ接続する際のポートとして使用されます。
.It Ic glob
.Ic mdelete ,
.Ic mget ,
.Ic mput
を行なう場合のファイル名の展開のオン/オフを切り替えます。
.Ic glob
がオフの場合には、ファイル名は展開されずにそのままになります。
.Ic mput
でのファイル名展開の規則は
.Xr csh 1
のファイル名展開規則と同様です。
.Ic mdelete
.Ic mget
の場合には、
各々のリモートファイル名はリモートマシン上で別々に展開され、
リストはマージされません。
ディレクトリ名の展開は普通のファイル名の展開と異なる事があります。
つまり、展開の結果はリモートの OS と FTP サーバに依存しています。
これは
.Ql mls remote-files \-
を実行する事によってあらかじめ知ることができます。
注意:
.Ic mget
.Ic mput
はファイルのディレクトリ・サブツリーを全て転送する物ではありません。
そのようにしたい時はサブツリーの
.Xr tar 1
のアーカイブを作成してバイナリモードで転送します。
.It Ic hash Op Ar size
1 データブロック転送するごとに
ハッシュサイン (``#'') を出力するかどうかを切り替えます。
デフォルトでは 1 データブロックは 1024byte です。
これは
.Ar size
でバイト単位で指定する事で変更できます。
.It Ic help Op Ar command
引数
.Ar command
で指定したコマンドのヘルプメッセージを出力します。
引数が与えられない場合、
.Nm
は使用可能なコマンドの一覧を出力します。
.It Ic idle Op Ar seconds
リモートサーバ上のアイドルタイマを
.Ar seconds
秒に設定します。
.Ar seconds
が与えられない場合は現在のアイドルタイマ値を表示します。
.It Ic lcd Op Ar directory
ローカルマシン上の作業ディレクトリを変更します。
.Ar directory
名が与えられない場合はユーザのホームディレクトリに移動します。
.It Ic less Ar file
.Ic page
と同じです。
.It Ic lpwd
ローカルマシン上の作業ディレクトリを表示します。
.It Ic \&ls Op Ar remote-directory Op Ar local-file
リモートマシンのディレクトリの内容のリストを表示します。
.Ar remote-directory
の指定が無い場合には、
代わりに現在の作業ディレクトリが使われます。
もしプロンプトモードになっているならば,
.Nm
は、最後の引数が
.Ic ls
の出力を受け取るローカルのファイルであるかをユーザーに問い合わせます。
.Ar local-file
の指定がない場合や
.Fl
が指定されている場合には、
出力は画面に表示されます。
.It Ic macdef Ar macro-name
マクロ定義を行ないます。
後続の行がマクロ
.Ar macro-name
として格納されます。
空行 (1 つのファイル内での連続した改行文字や端末からの連続した
復帰文字) は
マクロの入力モードを終了させます。
マクロの数の制限は 16 個で、定義されたマクロ全部で 4096
文字までがゆるされています。マクロは
.Ic close
コマンドが実行されるまで持続します。
マクロプロセッサは `$' と `\e' を特別な文字として解釈します。
1つ以上の数字が続く `$' は、コマンドラインで呼び出したマクロの
対応する引数によって置き換えられます。
後ろに `i' が続く `$' は、マクロプロセッサに対して実行している
マクロのループを指示します。
最初のパスで `$i' はマクロを呼び出したコマンドラインの最初の引数に
置き換えられ、2 回目のパスで 2 つ目の引数に置き換えられ、それ以降も
同様に置き換えられます。
後ろに任意の文字が続いている `\e' はその文字に置き換えられます。
`\e' は `$' の特別な扱いを避けるために使用します。
.It Ic mdelete Op Ar remote-files
リモートマシンの
.Ar remote-files
を削除します。
.It Ic mdir Ar remote-files local-file
複数のリモートファイルを指定出来る点を除くと
.Ic dir
と同様です。
プロンプトがオンの時には、
.Nm
は最後の引数が
.Ic mdir
の出力を受け取るローカルファイルであるかをユーザーに問い合わせます。
.It Ic mget Ar remote-files
リモートマシンで
.Ar remote-files
で指定されたファイルを展開し、展開後の各ファイル名のファイルに対して
.Ic get
を実行します。
ファイル名の展開の詳細は
.Ic glob
を参照してください。
生成されたファイル名は
.Ic case ,
.Ic ntrans ,
.Ic nmap
の設定に従い処理されます。
ファイルはローカルの作業ディレクトリに転送されます。
そのディレクトリは
.Ql lcd directory
で変更できます。
ローカルの新しいディレクトリは
.Ql "\&! mkdir directory"
で作成できます。
.It Ic mkdir Ar directory-name
リモートマシンにディレクトリを作ります。
.It Ic mls Ar remote-files local-file
複数のリモートファイル名を指定できる点と
.Ar local-file
を必ず指定しなければならない点を除くと
.Ic ls
と同様です。
プロンプトがオンの時には、
.Nm
は最後の引数が
.Ic mls
の出力を受け取る目標のローカルファイルであるかをユーザに確認します。
.It Ic mode Op Ar mode-name
ファイル転送モード
.Ic mode
.Ar mode-name
で指定したものに設定します。
デフォルトは \*(Lqstream\*(Rq です。
.It Ic modtime Ar file-name
リモートマシン上の指定ファイルの最終更新日時を参照します。
.It Ic more Ar file
.Ic page
と同じです。
.It Ic mput Ar local-files
引数として与えられたローカルファイルのリスト中の
ワイルドカードを展開し、
展開後の各ファイル名のファイルに対して
.Ic put
を実行します。
ファイル名の展開の詳細については
.Ic glob
を参照してください。
生成されたファイル名は
.Ic ntrans
.Ic nmap
の設定に従って処理されます。
.It Ic msend Ar local-files
.Ic mput
と同じです。
.It Ic newer Ar file-name
リモートマシンのファイルの最終更新日時の方が
ローカルマシンのファイルより新しい場合にのみファイルを取得します。
現在のシステムにファイルが無いときには、リモートファイルの方が
.Ic 新しい
ものとして扱われます。
その他については
.Ar get
と同じです。
.It Ic nlist Op Ar remote-directory Op Ar local-file
.Ic ls
と同じです。
.It Ic nmap Op Ar inpattern outpattern
ファイル名のマッピング機能を設定したり解除したりします。
引数が無い場合にはマッピング機能が解除されます。
引数がある場合には、出力先のリモートファイル名の指定されていない
.Ic mput
コマンドと
.Ic put
コマンドの実行時に、リモートファイル名がマップされます。
同様な事が
.Ic mget
コマンドと
.Ic get
コマンドのローカルファイル名についても行われます。
このコマンドはファイルの命名規則が異なる
.Ux
ではないリモートマシンとの接続時に便利です。
マッピングは
.Ar inpattern
.Ar outpattern
によって設定されたパターンに従って行われます。
.Op Ar inpattern
は (すでに
.Ic ntrans
.Ic case
によって処理されているかもしれない)
入力ファイル名のためのテンプレートです。
.Ar inpattern
に`$1', `$2', ..., `$9' の文字列を含むことによって、
変数を使用したテンプレートも使えます。
`$' を特別扱いしたくない時には
`\\' を使ってください。
他の文字はそのままその文字として扱われ、
.Ic nmap
.Op Ar inpattern
変数の値を決めるのに用いられます。
例えば、
.Ar inpattern
として $1.$2 が、
リモートファイルの名前として "mydata.data" が
与えられた時に、$1 は "mydata" という値となり,
$2 は "data" という値になります。
.Ar outpattern
は生成されるマッピング後のファイル名を決定します。
文字列の `$1', `$2', ...., `$9' は
.Ar inpattern
のテンプレートから生成される値に置き換えられます。
文字列の `$0' は元のファイル名で置き換えられます。
さらに、文字列の
.Ql Op Ar seq1 , Ar seq2
.Ar seq1
が空文字列でない時には
.Op Ar seq1
に、
空文字列の時には
.Op Ar seq2
に置き換えられます。
例えばコマンド
.Pp
.Bd -literal -offset indent -compact
nmap $1.$2.$3 [$1,$2].[$2,file]
.Ed
.Pp
は、
入力ファイル名 "myfile.data" と "myfile.data.old"
に対して出力ファイル名が "myfile.data" になり、
入力ファイル名 "myfile"
に対して出力ファイル名が "myfile.file" になり、
入力ファイル名 ".myfile" に対して
出力ファイル名が "myfile.myfile"になります。
例えば、`nmap $1 sed "s/ *$//" > $1'
のように、
.Ar outpattern
にはスペースが入っていても構いません。
文字 `$', `[', `]', `,' を特別扱いしたくない時には
`\e' を使ってください。
.It Ic ntrans Op Ar inchars Op Ar outchars
ファイル名の文字変換機能を設定したり解除したりします。
引数が無い場合には文字変換機能が解除されます。
引数がある場合には、出力先のリモートファイル名の指定されていない
.Ic mput
コマンドと
.Ic put
コマンドの実行時にリモートファイル名が変換されます。
同様な事が
.Ic mget
コマンドと
.Ic get
コマンドでもローカルファイルに対して行われます。
このコマンドは、
.Ux
とは異なるファイル命名規則のリモートマシンとの接続時に有効です。
ファイル名中の文字で、
.Ar inchars
の中の文字に一致するものが
.Ar outchars
の対応する文字に置き換えられます。
.Ar inchars
の中での文字の位置が
.Ar outchars
の長さを越えている時には、その文字はファイル名から削除されます。
.It Ic open Ar host Op Ar port
指定した
.Ar host
.Tn FTP
サーバとのコネクションを確立します。
ポート番号
.Ar port
を指定した場合、
.Nm
は指定したポート番号を用いて
.Tn FTP
サーバとのコネクションの確立を試みます。
.Ic 自動ログイン
オプションがオン ( デフォルト時 ) の場合には、
.Nm
は自動的に
.Tn FTP
サーバに対してログインを行ないます ( 以下を参照 ) 。
.It Ic page Ar file
.Ic file
を取得して、
.Ev PAGER
で指定されたプログラム
(デフォルトは
.Xr less 1
)を使って表示します。
.It Ic passive
パッシブモードを切り替えます。パッシブモードがオン
(デフォルトはオフ) なら、ftp クライアントは
すべてのデータコネクションにおいて、通常の
.Dv PORT
コマンドの代わりに
.Dv PASV
コマンドを送ります。
.Dv PASV
コマンドはリモートのサーバにデータコネクションのためのポートを
開いて、そのポートのアドレスを返すよう要求します。
リモートサーバはそのポートで待ち、クライアントはそこに接続します。
より伝統的な
.Dv PORT
コマンドを使う場合は、クライアントがポートで待ち、そしてそのアドレスを
リモートサーバに送ってリモートサーバはそこに接続して来ます。
パッシブモードは
ゲートウェイ・ルータやトラフィックの方向を制御しているホストを
経由して
.Nm
を使う場合に有用です。
(注意: ftp サーバが RFC 1123 の
.Dv PASV
コマンドをサポートしている必要がありますが、サポートしていない
場合もあります。)
.It Ic preserve
受け取ったファイルの更新日時を保存するかどうかを切り替えます。
.It Ic progress
転送の進行状況を表す棒グラフ表示を切り替えます。
この棒グラフは、
.Ar ローカルファイル
として
.Sq Fl
.Sq \&|
で始まるコマンドが指定された転送では表示されません。
詳しくは
.Sx ファイル名の規則
を参照して下さい。
.It Ic prompt
対話的プロンプトモードを切り替えます。
対話的プロンプトモードをオンにすることで、
複数ファイル転送時に転送ファイルの選択を行なえます。
対話的プロンプトモードをオフにすると (デフォルトはオン)、
.Ic mget
.Ic mput
で指定したファイルはすべて転送され、
.Ic mdelete
で指定したファイルはすべて削除されます。
.Pp
プロンプトモードがオンの時には、プロンプトにおいて以下の
コマンドが使用できます:
.Bl -tag -width 2n -offset indent
.It Ic n
ファイルを転送しません。
.It Ic a
現在のファイルについて
.Sq yes
とし、自動的に現在のコマンドに対する残りのすべての
ファイルに対しても
.Sq yes
とします。
.It Ic p
現在のファイルについて
.Sq yes
とし、プロンプトモードをオフにします
(あたかも
.Dq prompt off
が指定されたかのように)。
.El
.Pp
これ以外の応答は現在のファイルに対する
.Sq yes
として扱われます。
.It Ic proxy Ar ftp-command
ftp コマンドを 2次制御接続上で実行します。
本コマンドを用いることで、同時に 2 つのリモートマシンとコネクションを確立し、
2つのサーバ間でファイル転送を行なうようにすることができるようになります。
最初の
.Ic proxy
コマンドは
.Ic open
コマンドである必要があります。
これは、2 次的な制御コネクションを確立するために必要な操作です。
"proxy ?" とコマンドを実行することで、
2 次接続下で使用可能なコマンド一覧が表示されます。
以下のコマンドは
.Ic proxy
の後におかれた時には異なった働きをします。
.Ic open
は自動ログイン処理中には新しいマクロの定義を行いません。
.Ic close
はマクロの削除を行いません。
.Ic get
.Ic mget
は 1次制御接続のホストから 2次制御接続のホストにファイルの転送を行います。
.Ic put
.Ic mput
.Ic append
は 2次制御接続のホストから 1次制御接続のホストにファイルの転送を行います。
第三者のファイル転送は、2次制御接続のサーバが FTP プロトコルの
.Dv PASV
コマンドをサポートしているかどうかに依存します。
.It Ic put Ar local-file Op Ar remote-file
ローカルマシン上の指定ファイルをリモートマシンに転送します。
.Ar remote-file
が指定されない場合には、転送先でのファイル名は、
.Ic ntrans
.Ic nmap
の設定に基づく処理を行ったローカルファイルの名前が用いられます。
ファイル転送には
.Ic type ,
.Ic format ,
.Ic mode ,
.Ic structure
の現在の設定が用いられます。
.It Ic pwd
現在のリモートマシン上での作業ディレクトリを表示します。
.It Ic quit
.Ic bye
と同じです。
.It Ic quote Ar arg1 arg2 ...
引数で指定した文字列を、そのままリモート
.Tn FTP
サーバに送信します。
.It Ic recv Ar remote-file Op Ar local-file
.Ic get
と同じです。
.It Ic reget Ar remote-file Op Ar local-file
getと似ていますが、
.Ar local-file
が存在しており
.Ar remote-file
よりサイズが小さい場合には、
.Ar local-file
がリモートファイルの一部であるとみなして続きをコピーする点が異なります。
本コマンドは、大きいファイルの転送中にコネクションが
切断されてしまった場合の続きを受信しなおす場合などに有用です。
.It Ic remotehelp Op Ar command-name
リモート
.Tn FTP
サーバのヘルプメッセージを要求します。
.Ar command-name
が指定された場合にはそのコマンドのヘルプが表示されます。
.It Ic rstatus Op Ar file-name
引数がない場合にはリモートマシンのステータスが表示されます。
.Ar file-name
が指定されている場合には、
リモートマシン上の指定ファイルのステータスが表示されます。
.It Ic rename Op Ar from Op Ar to
リモートマシン上のファイル
.Ar from
が、
.Ar to
というファイル名にリネームされます。
.It Ic reset
リプライキューをクリアします。
本コマンドはコマンド/リプライのシーケンスの再同期をとるのに使われます。
再同期を取ることは ftp プロトコル上の障害が発生した時に必要な操作です。
.It Ic restart Ar marker
.Ic get
.Ic put
を指定した
.Ar marker
位置から再開します。
.Ux
システムにおいては、通常 marker はファイルのバイトオフセットで指定します。
.It Ic restrict
データポートの幅を制限するかをオン/オフします。
パッシブモードでない時に、
.Nm
クライアントはリモートサーバに対して、独立したデータポートで
クライアントホストに接続してくることを要求します。
前のバージョンでは、そのリモートポートは 1024 から 4999 までの幅に
収まっていました。
しかしほとんどの防火壁 (fire wall) では、その範囲に他のサービスが
あるために TCPポートをフィルタリングしています。
現在のデフォルトの動作では、ポート番号が 40000 から 44999 の間で、
サーバがクライアントに対して接続してくることを要求します。
もしセキュリティ上の危険性がないと考えるならば、防火壁管理者は
その幅での TCP 接続に対して許可を行うという選択ができます。
.It Ic rmdir Ar directory-name
リモートマシン上のディレクトリを消去します。
.It Ic runique
ローカルマシンに保存されるファイルに対して
ユニークな名前を付加するかどうかを切り替えます。
.Ic get
.Ic mget
コマンドで目的のローカルファイルと同じ名前のファイルが既に存在する時には、
".1" が名前に付加されます。
その名前も既に存在する時には
".2" が付加されます。
このように順番に処理をし、
".99" になっても存在する時には
エラーメッセージが表示され、転送は行われません。
生成されたユニークなファイル名は報告されます。
注意:
.Ic runique
はシェルコマンドで生成されるファイル名には効果がありません
(下記参照)。
デフォルトではオフになっています。
.It Ic send Ar local-file Op Ar remote-file
.Ic put
と同じです。
.It Ic sendport
.Dv PORT
コマンドを使用するかどうか切り替えます。
デフォルトでは、
.Nm
は各データ転送用のコネクションの確立の際に
.Dv PORT
コマンドの使用を試みます。
.Dv PORT
を使うことで複数ファイル転送を行なう場合の遅延を避けることが出来ます。
.Dv PORT
コマンドが失敗した場合、
.Nm
はデフォルトのデータ・ポートを使用します。
.Dv PORT
コマンドが無効になった場合、データ転送時に
.Dv PORT
コマンドは使われません。
これはある種の
.Tn FTP
の実装で
.Dv PORT
コマンドは無視するが、誤っていて、受け入れたと返事を返すような
物に対して有効です。
.It Ic site Ar arg1 arg2 ...
引数で指定した文字列を、
.Dv SITE
コマンドの引数としてそのまま
.Tn FTP
サーバに送信します。
.It Ic size Ar file-name
リモートマシン上の
.Ar file-name
で指定したファイルのサイズを表示します。
.It Ic status
.Nm
の現在の状態を表示します。
.It Ic struct Op Ar struct-name
ファイル転送の
.Ar structure
.Ar struct-name
に設定します。
デフォルトでは、\*(Lqstream\*(Rq に設定されています。
.It Ic sunique
リモートマシン上に転送するファイルのファイル名に対して、
一意な名前を付与するかどうかを切り替えます。
この機能が使えるためには、
リモートの FTP サーバが FTP のプロトコルの
.Dv STOU
コマンドをサポートしていなければなりません。
リモートサーバがユニークな名前を報告します。
デフォルトではこの機能はオフになっています。
.It Ic system
リモートマシンで稼働している OS のタイプを表示します。
.It Ic tenex
.Tn TENEX
マシンと
通信するために必要なファイル転送モードを設定します。
.It Ic trace
パケットトレースをするかどうかを切り替えます。
.It Ic type Op Ar type-name
ファイル転送の
.Ic type
.Ar type-name
に変更します。引数が指定されない場合には
現在のファイル転送タイプを表示します。
デフォルトタイプはネットワーク
.Tn ASCII
です。
.It Ic umask Op Ar newmask
リモートサーバのデフォルトの umask 値を
.Ar newmask
で指定した値に変更します。
.Ar newmask
が指定されていない場合は現在の umask 値を表示します。
.It Xo
.Ic user Ar user-name
.Op Ar password Op Ar account
.Xc
ユーザをリモート
.Tn FTP
サーバに認識させます。
.Ar password
が指定されていなくて、
.Tn FTP
サーバが必要とする場合は
( ローカルエコーをオフにしてから )
.Nm
がユーザに問い合わせます。
.Ar account
が指定されていなくて、
.Tn FTP
サーバが必要とする場合には、
.Nm
がユーザに問い合わせます。
リモートサーバがログイン時にアカウントを必要としないのに
.Ar account
フィールドが指定された場合には、ログイン処理の完了後に
account コマンドがリモートサーバに渡されます。
「自動ログイン」を無効にした状態で
.Nm
が呼び出されない限り、
この処理は
.Tn FTP
サーバに最初につながった時に自動的に行われます。
.It Ic verbose
饒舌モードの切り替えをします。
饒舌モードの時には
.Tn FTP
サーバからの全ての応答が表示されます。
さらにこのモードがオンの時には、ファイル転送が終了した時に
転送効率に関する統計が報告されます。
デフォルトではオンになっています。
.It Ic ? Op Ar command
.Ic help
コマンドと同じです。
.El
.Pp
スペースを含むコマンドの引数は、`"' マークで括って下さい。
.Pp
設定を切り替えるコマンドでは、設定を指定するために明示的に
.Ic on
.Ic off
を引数として指定できます。
.Pp
.Nm
が転送中に
.Dv SIGINFO
(
.Xr stty 1
の引数
.Dq status
を参照)
シグナルを受けると、その時点での転送レートの統計情報が
終了時の標準的なフォーマットと同じ形式で標準エラー出力に書き出されます。
.Sh ファイルの自動取得
標準的なコマンドに加えて、
このバージョンの
.Nm
は自動取得の機能をサポートします。
単にホスト名/ファイルのリストをコマンドラインで渡すと
自動取得が有効になります。
.Pp
自動取得の指定では以下の形式を認識します:
.Bl -tag -width "host:/file"
.It host:/file
.Dq 古典的な
ftp の形式
.It ftp://[user:password@]host[:port]/file
ftp URL形式で、
.Ev ftp_proxy
が定義されていなければ ftpプロトコルで取得します。
そうでなければ
.Ev ftp_proxy
で指定されたプロキシを経由した http を使って転送します。
.Ar user:password@
が指定されていて
.Ev ftp_proxy
が定義されていない場合は、
パスワードに
.Ar password
を使って
.Ar user
でログインします。
.It http://host[:port]/file
HTTP URL形式、http プロトコルで取得します。
.Ev http_proxy
が定義されている場合は、その内容が HTTPプロキシサーバの
URL として使用されます。
.El
.Pp
古典的な形式または ftp URL形式で最後に
.Sq /
がある場合は、
.Nm
はサイトに接続して与えられたパスのディレクトリに
.Ic cd
し、以降の入力を受け付けるために対話モードに入ります。
.Pp
自動取得の対象が複数指定されていて、連続しているものが同じホストを
参照している時は、接続の確立と切断によるオーバヘッドを避けるために
複数の転送にわたって接続が維持されます。
.Pp
ファイル名の展開がオンで
.Ic file
が展開の対象となる文字を含んでいるなら
(
.Ic glob
参照)
.Ic "mget file"
と同じ事を行います。
.Pp
.Ic file
のディレクトリ部分が展開の対象となる文字を含まなければ、
ファイルは
.Ic file
から
.Xr basename 1
で得られる名前で現在のディレクトリに置かれます。
そうでなければリモートの名前をローカルでの名前として使います。
.Sh ファイル転送の中止
ファイル転送を中断するためには、
端末のインタラプトキー (通常は Ctrl-C) を打鍵してください。
データ送信はただちに停止します。
データ受信は、ftp プロトコルの
.Dv ABOR
コマンドをリモートサーバに送ることでサーバからのデータ送信がとまります。
そしてそれ以降の受信データは捨てられます。
これが行われる速度は、リモートサーバが
.Dv ABOR
コマンドをサポートする方式に依存します。
リモートサーバが
.Dv ABOR
コマンドをサポートしていない時には、
リモートサーバが要求したファイルを送り終るまで
.Ql ftp>
というプロンプトは現れません。
.Pp
端末からの割り込みキー入力は、
.Nm
が何かローカルの処理をすでに完了していて
リモートサーバからの応答を待っている時には無視されます。
このモードでの長い遅延は上でも述べたように ABOR 処理の結果に
よるものか、 ftp のプロトコル違反を含めたリモートサーバによる
予期せぬ動作のどちらかによるものです。
もしリモートサーバの予期せぬ動作の結果による遅延であるならば、
ローカルの
.Nm
プログラムは手動で終了 (kill) しなければなりません。
.Sh ファイル名の規則
.Nm
コマンドの引数として指定されたファイル名は、以下の規則で処理されます。
.Bl -enum
.It
ファイル名として
.Sq Fl
が指定された場合、
入力ファイル名の場合には標準入力
.Ar stdin
が、
出力ファイル名の場合には標準出力
.Ar stdout
が使用されます。
.It
ファイル名の先頭の文字が
.Sq \&|
の場合には、その後に指定された文字列はすべてシェルコマンドと解釈されます。
.Nm
は与えられた引数をつけて
.Xr popen 3
を用いてシェルを呼び出し、標準入力から(標準出力へ)読み出し(書き込み)ます。
シェルコマンドにスペースが含まれている時には
引数は引用符で囲まれなければなりません。
(例:
\*(Lq" ls -lt"\*(Rq
)
特に有用な例としては \*(Lqdir \&|more\*(Rq があります。
.It
上記のチェックにひっかからず、 ``globbing'' が許可されている場合、
ローカルファイル名は
.Xr csh 1
のファイル名展開規則にしたがって展開されます。
(詳細は
.Ic glob
コマンドを参照)
ただし、
.Nm
のコマンドが 1 つのファイル名しか必要としない場合
(例えば
.Ic put
) は、ファイル名が展開された後の最初のファイル名だけが使用されます。
.It
.Ic mget
コマンドと
.Ic get
コマンドにおいてローカルファイル名が指定されない場合、
ローカルファイル名はリモートファイル名と同一になります。
ただし、これらのファイル名は
.Ic case ,
.Ic ntrans ,
.Ic nmap
の設定によって変わることもあります。
結果として得られたファイル名は、
.Ic runique
が設定されていればさらに変わるかもしれません。
.It
.Ic mput
コマンドと
.Ic put
コマンドにおいてリモートファイル名が指定されない場合、
リモートファイル名はローカルファイル名と同一になります。
ただし、これらのファイル名は
.Ic ntrans ,
.Ic nmap
の設定によって変わることもあります。
結果として得られたファイル名は、
.Ic sunique
が設定されていればリモートサーバによって
さらに変えられるかも知れません。
.El
.Sh ファイル転送パラメータ
FTPの仕様にはファイル転送時に影響を及ぼす多くのパラメータがあります。
.Ic type
は、\*(Lqascii\*(Rq, \*(Lqimage\*(Rq (binary), \*(Lqebcdic\*(Rq,
\*(Lqlocal byte size\*(Rq (
.Tn PDP Ns -10
および
.Tn PDP Ns -20
でよく使われます) が指定可能です。
.Nm
は、ascii と image のタイプを指定可能なのに加えて、
.Ic tenex
モードの転送を指定することにより
ローカルバイトサイズ 8 を指定することが可能です。
.Pp
.Nm
では、他の
.Ic mode ,
.Ic form ,
.Ic struct
のパラメータではデフォルト値だけが使用可能です。
.Sh .netrc ファイル
.Pa .netrc
ファイルは、自動ログイン処理においてのログインおよび初期設定情報を記述します。
.Pa .netrc
ファイルは、ユーザのホームディレクトリに置きます。
.Pa .netrc
では以下の予約語が解釈されます。これらはスペース、タブそして
new-line によって分割されます。
.Bl -tag -width password
.It Ic machine Ar name
リモートマシン名
.Ar name
を定義します。
自動ログイン処理は
.Pa .netrc
ファイル中に
.Ic machine
トークンがあるかどうか探し、そのエントリが
.Nm
のコマンドラインもしくは
.Ic open
コマンドの引数と一致するかどうかチェックします。
一致するエントリがあった場合は後に続く
.Pa .netrc
トークンが処理され、その処理はファイル最後尾に行き着くか他の
.Ic machine
トークンまたは
.Ic default
トークンに出くわすまで続きます。
.It Ic default
いろんな名前と一致するワイルドカード的な働きがあることを除けば
.Ic machine
.Ar name
と同様です。
.Ic default
トークンは、
.Pa .netrc
ファイル中に 1 エントリだけが許され、
しかも他の全ての
.Ic machine
トークンより後ろでなければなりません。
通常は
.Pp
.Dl default login anonymous password user@site
.Pp
のように使用されます。
本エントリによって
.Pa .netrc
に指定の無い ftp サイトに自動で anonymous ログインを試みるようになります。
.Fl n
フラグを付加して ftp を起動することで
.Pa .netrc
ファイルを無視することが出来ます。
.It Ic login Ar name
リモートマシンにおけるログイン名を指定します。
本トークンが与えられている場合、自動ログイン処理は
.Ar name
をログイン名としてログインしようとします。
.It Ic password Ar string
パスワードを指定します。
本トークンが指定されている場合でリモートサーバがログイン処理中に
パスワードを要求する場合は、自動ログイン処理は指定した文字列を
送ります。
.Pa .netrc
ファイルにおいて、
.Ar anonymous
以外のユーザエントリにおいて本トークンが登録されており、なおかつ
.Pa .netrc
がユーザ以外から読める属性である場合には
.Nm
は自動ログイン処理を中断します。
.It Ic account Ar string
追加のアカウントパスワードを登録します。
このトークンがあると、
もし追加のアカウントパスワードをリモートホストが必要とする時に
自動ログインプロセスが指定された文字列を与えます。
そうでない場合には、自動ログインプロセスは
.Dv ACCT
コマンドを与えます。
.It Ic macdef Ar name
マクロを定義します。
このトークンの機能は
.Nm
.Ic macdef
コマンドの機能に似ています。
マクロは指定された名前を用いて定義されます。
その内容は
.Pa .netrc
の次の行から始まり、空行 ( 改行文字の連続 ) が現れるまで続きます。
.Ic init
というマクロが定義されているならば、
自動ログイン処理の中での最後の段階で自動的に実行されます。
.El
.Sh コマンドラインの編集機能
.Nm
.Xr editline 3
ライブラリを使った対話的なコマンドラインの編集をサポートします。
これは
.Ic edit
コマンドによって有効になり、そして入力が tty からの場合は
デフォルトで有効になっています。
カーソルキーで以前の行を呼び出して編集できます。
そして他にも GNU Emacs スタイルの編集用のキーが使えます。
.Pp
.Xr editline 3
ライブラリは
.Pa .editrc
ファイルで設定できます - より詳しくは
.Xr editrc 5
を参照して下さい。
.Pp
.Nm
には、文脈に依存したコマンドとファイル名の補完
(リモートファイルの補完を含む) 機能を提供するための
追加のキー割り当てが用意されています。
これを使うためには
.Xr editline 3
.Ic ftp-complete
コマンドにキーを割り当てて下さい。
これはデフォルトで TAB キーに割り当てられています。
.Sh 環境変数
.Nm
は、以下の環境変数を使用します。
.Bl -tag -width "FTP_PASSIVE_MODE"
.It Ev FTP_PASSIVE_MODE
パッシブモードの FTP をデフォルトで使用します。
.It Ev FTPSERVER
.Ic gate
が有効な時に gate-ftpサーバとして使用するホスト。
.It Ev FTPSERVERPORT
.Ic gate
が有効な時に gate-ftpサーバに接続するのに使うポート。
デフォルトは
.Dq ftpgate/tcp
.Fn getservbyname
を呼び出して返って来たポート。
.It Ev HOME
定義されていれば
.Pa .netrc
ファイルのデフォルトの置き場所となります。
.It Ev PAGER
.Ic page
でファイルを表示する際に使われます。
.It Ev SHELL
デフォルトで起動するシェルを定義します。
.It Ev ftp_proxy
FTP URLリクエストを発行する時に使う FTPプロキシの URL
(定義されていなければ標準の ftpプロトコルを使います)。
.It Ev http_proxy
HTTP URLリクエストを発行する時に使う HTTPプロキシの URL。
.El
.Sh 関連項目
.Xr getservbyname 3 ,
.Xr editrc 5 ,
.Xr services 5 ,
.Xr ftpd 8
.Sh 注釈
.Xr pftp 1
.Xr gate-ftp 1
コマンドは
.Nm
にリンクされています。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から実装されました。
.Pp
コマンドラインの編集、文脈に依存したコマンドとファイルの補完、
進行状況を表す棒グラフ、ファイルの自動的な取得、
ftp と http 形式の URL、更新時刻の保存といった各種の機能は
.Nx 1.3
Luke Mewburn によって、Jason Thorpe のアシスタントを得て実装されました。
.Sh バグ
多くのコマンドの正しい動作は、リモートサーバの適切な動作に依存します。
.Pp
.Bx 4.2
の ascii モードでの転送時の復帰文字の取り扱いのエラーは訂正されています。
この訂正の結果として、
.Bx 4.2
のサーバとの間でバイナリファイルを ascii タイプを使用して転送した時に
不正転送をひき起こすことが
あります。この問題を回避するためにはバイナリモードを用いて
ファイル転送をして下さい。
diff --git a/ja_JP.eucJP/man/man1/gcc.1 b/ja_JP.eucJP/man/man1/gcc.1
index da6233c3e9..27e57d60e1 100644
--- a/ja_JP.eucJP/man/man1/gcc.1
+++ b/ja_JP.eucJP/man/man1/gcc.1
@@ -1,4008 +1,4019 @@
.\" Copyright (c) 1991, 1992, 1993, 1994 Free Software Foundation -*-Text-*-
.\" See section COPYING for conditions for redistribution
.\"
.\" jpman %Id: gcc.1,v 1.4 1997/10/11 07:52:34 horikawa Stab %
.\" Set up \*(lq, \*(rq if -man hasn't already set it up.
.if @@\*(lq@ \{\
. ds lq "
. if t .ds lq ``
. if !@@\(lq@ .ds lq "\(lq
.\}
.if @@\*(rq@ \{\
. ds rq "
. if t .ds rq ''
. if !@@\(rq@ .ds rq "\(rq
.\}
.de Id
.ds Rv \\$3
.ds Dt \\$4
..
.de Sp
.if n .sp
.if t .sp 0.4
..
.Id %Id: gcc.1,v 1.4 1993/10/13 23:19:12 pesch Exp %
.TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools"
.SH 名称
gcc, g++ \- GNU プロジェクト C コンパイラ および C++ コンパイラ (v2.7)
.SH 書式
.B gcc
.RI "[ " option " | " filename " ].\|.\|."
.br
.SH 注意
このマニュアルに書かれた情報は GNU C コンパイラの完全な
ドキュメンテーションからの抜粋であり、オプションの意味の記述にとどめます。
.PP
このマニュアルはボランティアのメンテナンスが行なわれた時にのみ更新され
るもので、常に最新の情報を示しているわけではありません。
もしこのマニュアルと実際のソフトウェアの間に矛盾点があれば、
正式なドキュメントである Info ファイルのほうを参照して下さい。
.PP
このマニュアル中の古い記述が重大な混乱や不具合をきたすことになれば、
このマニュアルページの配布は中止します。
GNU CCのメンテナンス作業の都合上、
Info ファイルを更新した時にマニュアルページも併せて更新することは
できません。マニュアルページは時代遅れであり、
これに時間をかけるべきではないと GNU プロジェクトでは考えています。
.PP
完全な最新のドキュメンテーションが必要な場合は、Info ファイルの`\|\c
.B gcc\c
\&\|' またはマニュアルの
.I
Using and Porting GNU CC (for version 2.0)\c
\& を参照して下さい。この双方は Texinfo のソースファイル
.B gcc.texinfo
から生成されます。
.SH 解説
C と C++ のコンパイラは統合されています。どちらの場合も、入力ファイル
は、プリプロセス、コンパイル、アセンブル、リンクの 4 つの処理ステージの
うちの 1 つ以上のステージを踏んで処理されます。
ソースファイル名の拡張子によってソースの言語を識別しますが、
デフォルトの動作は、どちらの名前でコンパイラを使うかに依存しています:
.TP
.B gcc
プリプロセス済みの (\c
.B .i\c
\&) ファイルを C のファイルと仮定し、C スタイルのリンクを行います。
.TP
.B g++
プリプロセス済みの(\c
.B .i\c
\&) ファイルを C++ のファイルと仮定し、C++ スタイルのリンクを行います。
.PP
ソースファイル名の拡張子は、その言語が何であるかと、どのような処理が行われる
べきかを示します:
.Sp
.nf
.ta \w'\fB.cxx\fP 'u
\&\fB.c\fP C言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
\&\fB.C\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
\&\fB.cc\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
\&\fB.cxx\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
\&\fB.m\fP Objective-C 言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
\&\fB.i\fP プリプロセッサにかけられたC言語ソースです。コンパイラ、アセンブラにかけられます。
\&\fB.ii\fP プリプロセッサにかけられたC++言語ソースです。コンパイラ、アセンブラにかけられます。
\&\fB.s\fP アセンブリ言語ソースです。アセンブラにかけられます。
\&\fB.S\fP アセンブリ言語ソースです。プリプロセッサ、アセンブラにかけられます。
\&\fB.h\fP プリプロセッサファイルです。通常はコマンドラインには現れません。
.Sp
.fi
その他の拡張子を持つファイルはリンカに渡されます。以下のものがあります。
.Sp
.nf
\&\fB.o\fP オブジェクトファイルです。
\&\fB.a\fP アーカイブファイルです。
.br
.fi
.Sp
リンクは、オプション
.BR \-c ,
.BR \-S ,
.B \-E
を指定して抑制しないかぎり(もしくはコンパイルエラーによってすべての処理が中断
しないかぎり)、常に最終ステージで実行されます。
リンクのステージにおいては、ソースファイルに対応した全ての
.B .o
ファイルと、
.B \-l
で指定したライブラリと、認識されなかったファイル名 (名前に
.B .o
のついたオブジェクトファイルや
.B .a
のついたアーカイブを含む) は、
コマンドラインに並べられた順番でリンカに渡されます。
.SH オプション
オプションは分割されていなければなりません。すなわち `\|\c
.B \-dr\c
\&\|' は `\|\c
.B \-d \-r
\&\|'とは異なった扱いを受けます。
.PP
ほとんどの `\|\c
.B \-f\c
\&\|' と `\|\c
.B \-W\c
\&\|' 形式のオプションには、
.BI \-f name
.BI \-fno\- name\c
\& (または
.BI \-W name
.BI \-Wno\- name\c
\&) の形式の、対照的な表現があります。ここではデフォルトでない形式の
みを示します。
.PP
すべてのオプションを種類別に分けてまとめました。詳しい解説は
以下の節で行ないます。
.hy 0
+.SH FreeBSD 固有のオプション
+.TP
+.BI "\-pthread"
+スレッド化ユーザプロセスに libc の代りに libc_r をリンクします。
+スレッド化ユーザプロセスにリンクされるオブジェクトは -D_THREADSAFE 付きで
+コンパイルする必要があります。
+.TP
+.BI "\-kthread"
+スレッド化カーネルプロセスに libc に加えて libpthread をリンクします。
+スレッド化カーネルプロセスにリンクされるオブジェクトは -D_THREADSAFE 付きで
+コンパイルする必要があります。
.na
.TP
.B 全体的なオプション
.br
\-c
\-S
\-E
.RI "\-o " file
\-pipe
\-v
.RI "\-x " language
.TP
.B 言語オプション
\-ansi
\-fall\-virtual
\-fcond\-mismatch
\-fdollars\-in\-identifiers
\-fenum\-int\-equiv
\-fexternal\-templates
\-fno\-asm
\-fno\-builtin
\-fno\-strict\-prototype
\-fsigned\-bitfields
\-fsigned\-char
\-fthis\-is\-variable
\-funsigned\-bitfields
\-funsigned\-char
\-fwritable\-strings
\-traditional
\-traditional\-cpp
\-trigraphs
.TP
.B 警告オプション
\-fsyntax\-only
\-pedantic
\-pedantic\-errors
\-w
\-W
\-Wall
\-Waggregate\-return
\-Wcast\-align
\-Wcast\-qual
\-Wchar\-subscript
\-Wcomment
\-Wconversion
\-Wenum\-clash
\-Werror
\-Wformat
.RI \-Wid\-clash\- len
\-Wimplicit
\-Winline
\-Wmissing\-prototypes
\-Wmissing\-declarations
\-Wnested\-externs
\-Wno\-import
\-Wparentheses
\-Wpointer\-arith
\-Wredundant\-decls
\-Wreturn\-type
\-Wshadow
\-Wstrict\-prototypes
\-Wswitch
\-Wtemplate\-debugging
\-Wtraditional
\-Wtrigraphs
\-Wuninitialized
\-Wunused
\-Wwrite\-strings
.TP
.B デバッグオプション
\-a
.RI \-d letters
\-fpretend\-float
\-g
.RI \-g level
\-gcoff
\-gxcoff
\-gxcoff+
\-gdwarf
\-gdwarf+
\-gstabs
\-gstabs+
\-ggdb
\-p
\-pg
\-save\-temps
.RI \-print\-file\-name= library
\-print\-libgcc\-file\-name
.TP
.B 最適化オプション
\-fcaller\-saves
\-fcse\-follow\-jumps
\-fcse\-skip\-blocks
\-fdelayed\-branch
\-felide\-constructors
\-fexpensive\-optimizations
\-ffast\-math
\-ffloat\-store
\-fforce\-addr
\-fforce\-mem
\-finline\-functions
\-fkeep\-inline\-functions
\-fmemoize\-lookups
\-fno\-default\-inline
\-fno\-defer\-pop
\-fno\-function\-cse
\-fno\-inline
\-fno\-peephole
\-fomit\-frame\-pointer
\-frerun\-cse\-after\-loop
\-fschedule\-insns
\-fschedule\-insns2
\-fstrength\-reduce
\-fthread\-jumps
\-funroll\-all\-loops
\-funroll\-loops
\-O
\-O2
.TP
.B プリプロセッサオプション
.RI \-A assertion
\-C
\-dD
\-dM
\-dN
.RI \-D macro [\|= defn \|]
\-E
\-H
.RI "\-idirafter " dir
.RI "\-include " file
.RI "\-imacros " file
.RI "\-iprefix " file
.RI "\-iwithprefix " dir
\-M
\-MD
\-MM
\-MMD
\-nostdinc
\-P
.RI \-U macro
\-undef
.TP
.B アセンブラオプション
.RI \-Wa, option
.TP
.B リンカオプション
.RI \-l library
\-nostartfiles
\-nostdlib
\-static
\-shared
\-symbolic
.RI "\-Xlinker\ " option
.RI \-Wl, option
.RI "\-u " symbol
.TP
.B ディレクトリオプション
.RI \-B prefix
.RI \-I dir
\-I\-
.RI \-L dir
.TP
.B ターゲットオプション
.RI "\-b " machine
.RI "\-V " version
.TP
.B コンフィギュレーション依存オプション
.I M680x0\ オプション
.br
\-m68000
\-m68020
\-m68020\-40
\-m68030
\-m68040
\-m68881
\-mbitfield
\-mc68000
\-mc68020
\-mfpa
\-mnobitfield
\-mrtd
\-mshort
\-msoft\-float
.Sp
.I VAX オプション
.br
\-mg
\-mgnu
\-munix
.Sp
.I SPARC オプション
.br
\-mepilogue
\-mfpu
\-mhard\-float
\-mno\-fpu
\-mno\-epilogue
\-msoft\-float
\-msparclite
\-mv8
\-msupersparc
\-mcypress
.Sp
.I Convex オプション
.br
\-margcount
\-mc1
\-mc2
\-mnoargcount
.Sp
.I AMD29K オプション
.br
\-m29000
\-m29050
\-mbw
\-mdw
\-mkernel\-registers
\-mlarge
\-mnbw
\-mnodw
\-msmall
\-mstack\-check
\-muser\-registers
.Sp
.I M88K オプション
.br
\-m88000
\-m88100
\-m88110
\-mbig\-pic
\-mcheck\-zero\-division
\-mhandle\-large\-shift
\-midentify\-revision
\-mno\-check\-zero\-division
\-mno\-ocs\-debug\-info
\-mno\-ocs\-frame\-position
\-mno\-optimize\-arg\-area
\-mno\-serialize\-volatile
\-mno\-underscores
\-mocs\-debug\-info
\-mocs\-frame\-position
\-moptimize\-arg\-area
\-mserialize\-volatile
.RI \-mshort\-data\- num
\-msvr3
\-msvr4
\-mtrap\-large\-shift
\-muse\-div\-instruction
\-mversion\-03.00
\-mwarn\-passed\-structs
.Sp
.I RS6000 オプション
.br
\-mfp\-in\-toc
\-mno\-fop\-in\-toc
.Sp
.I RT オプション
.br
\-mcall\-lib\-mul
\-mfp\-arg\-in\-fpregs
\-mfp\-arg\-in\-gregs
\-mfull\-fp\-blocks
\-mhc\-struct\-return
\-min\-line\-mul
\-mminimum\-fp\-blocks
\-mnohc\-struct\-return
.Sp
.I MIPS オプション
.br
\-mcpu=\fIcpu type\fP
\-mips2
\-mips3
\-mint64
\-mlong64
\-mlonglong128
\-mmips\-as
\-mgas
\-mrnames
\-mno\-rnames
\-mgpopt
\-mno\-gpopt
\-mstats
\-mno\-stats
\-mmemcpy
\-mno\-memcpy
\-mno\-mips\-tfile
\-mmips\-tfile
\-msoft\-float
\-mhard\-float
\-mabicalls
\-mno\-abicalls
\-mhalf\-pic
\-mno\-half\-pic
\-G \fInum\fP
\-nocpp
.Sp
.I i386 オプション
.br
\-m486
\-mno\-486
\-msoft\-float
\-mrtd
\-mregparm
\-msvr3\-shlib
\-mno\-ieee\-fp
\-mno\-fp\-ret\-in\-387
\-mfancy\-math\-387
\-mno\-wide\-multiply
\-mdebug\-addr
\-mno\-move
\-mprofiler\-epilogue
\-reg\-alloc=LIST
.Sp
.I HPPA オプション
.br
\-mpa\-risc\-1\-0
\-mpa\-risc\-1\-1
\-mkernel
\-mshared\-libs
\-mno\-shared\-libs
\-mlong\-calls
\-mdisable\-fpregs
\-mdisable\-indexing
\-mtrailing\-colon
.Sp
.I i960 オプション
.br
\-m\fIcpu-type\fP
\-mnumerics
\-msoft\-float
\-mleaf\-procedures
\-mno\-leaf\-procedures
\-mtail\-call
\-mno\-tail\-call
\-mcomplex\-addr
\-mno\-complex\-addr
\-mcode\-align
\-mno\-code\-align
\-mic\-compat
\-mic2.0\-compat
\-mic3.0\-compat
\-masm\-compat
\-mintel\-asm
\-mstrict\-align
\-mno\-strict\-align
\-mold\-align
\-mno\-old\-align
.Sp
.I DEC Alpha オプション
.br
\-mfp\-regs
\-mno\-fp\-regs
\-mno\-soft\-float
\-msoft\-float
.Sp
.I System V オプション
.br
\-G
\-Qy
\-Qn
.RI \-YP, paths
.RI \-Ym, dir
.TP
.B コード生成オプション
.RI \-fcall\-saved\- reg
.RI \-fcall\-used\- reg
.RI \-ffixed\- reg
\-finhibit\-size\-directive
\-fnonnull\-objects
\-fno\-common
\-fno\-ident
\-fno\-gnu\-linker
\-fpcc\-struct\-return
\-fpic
\-fPIC
\-freg\-struct\-return
\-fshared\-data
\-fshort\-enums
\-fshort\-double
\-fvolatile
\-fvolatile\-global
\-fverbose\-asm
.ad b
.hy 1
.SH 全体的なオプション
.TP
.BI "\-x " "language"
このオプションに続く入力ファイルの言語を
.I language\c
\& であると明示的に指定します
(拡張子に基づくデフォルトの選択よりも優先されます)。このオプションは、
次の `\|\c
.B \-x\c
\&\|' オプションが出てくるまで、後続する全ての入力ファイルに対して
適用されます。\c
.I language\c
\& としては、
`\|\c
.B c\c
\&\|', `\|\c
.B objective\-c\c
\&\|', `\|\c
.B c\-header\c
\&\|', `\|\c
.B c++\c
\&\|',
`\|\c
.B cpp\-output\c
\&\|', `\|\c
.B assembler\c
\&\|', `\|\c
.B assembler\-with\-cpp\c
\&\|' を指定することが可能です。
.TP
.B \-x none
言語の指定を解除します。このオプションのあとに続くファイルは、それらの拡張子に
基づいて (あたかも何の `\|\c
.B \-x\c
\&\|'
オプションも使用されたことがないように) 処理されます。
.PP
もし、4 つのステージ (プリプロセス、コンパイル、アセンブル、リンク) の
うちの一部のみが必要な場合は、
`\|\c
.B \-x\c
\&\|' オプション (またはファイル名の拡張子) を使用して \c
.B gcc\c
\& に対してどのステージから開始するかを伝え、さらに
`\|\c
.B \-c\c
\&\|', `\|\c
.B \-S\c
\&\|', `\|\c
.B \-E\c
\&\|' のオプションのうちのどれかを使用して
.B gcc\c
\& に対してどこで処理を停止させるかを指定します。ここで、
いくつかの組合せ (例えば
`\|\c
.B \-x cpp\-output \-E\c
\&\|') は \c
.B gcc\c
\& に対して何の動作も行なわないように指定することになることに注意してください。
.TP
.B \-c
ソースファイルを、コンパイルまたはアセンブルまではしますが、リンクはしません。
コンパイラの出力は、それぞれのソースファイルに対応したオブジェクトファイル
となります。
.Sp
デフォルトでは、GCC はオブジェクトファイルのファイル名として、
ソースファイルの拡張子
`\|\c
.B .c\c
\&\|', `\|\c
.B .i\c
\&\|', `\|\c
.B .s\c
\&\|' 等を `\|\c
.B .o\c
\&\|' で置き換えたものを使用します。
.B \-o\c
\& オプションを使用することによって、他の名前を指定することも可能です。
.Sp
GCC は
.B \-c
オプションを使用した場合は、理解できない入力ファイル (コンパイルやアセンブル
を必要としないファイル) を無視します。
.TP
.B \-S
コンパイルが終った所で処理を停止し、アセンブルは行いません。
アセンブラコードではない入力ファイルが指
定された場合は、出力はアセンブラコードのファイルになります。
.Sp
デフォルトでは、GCC はアセンブラファイルのファイル名として、
ソースファイルの拡張子
`\|\c
.B .c\c
\&\|', `\|\c
.B .i\c
\&\|' 等を `\|\c
.B .s\c
\&\|' で置き換えたものを使用します。
.B \-o\c
\& オプションを使用することによって、他の名前を指定することも可能です。
.Sp
GCC はコンパイルを必要としない入力ファイルを全て無視します。
.TP
.B \-E
プリプロセス処理が終了したところで停止します。コンパイルはしません。
出力はプリプロセス済みのソースコードであり、標準出力へと送られます。
.Sp
GCC はプリプロセスを必要としない入力ファイルを全て無視します。
.TP
.BI "\-o " file
出力先を \c
.I file\c
\& に指定します。このオプションは GCC が実行可能ファイル、
オブジェクトファイル、アセンブラファイル、プリプロセス済み C コードなどの、
いかなる種類の出力を行なう場合にも適用可能です。
.Sp
出力ファイルは 1 つしか指定できないため、
`\|\c
.B \-o\c
\&\|' を複数の入力ファイルをコンパイルする際に使用することは、実行ファ
イルを出力する時以外は無意味です。
.Sp
`\|\c
.B \-o\c
\&\|'オプションを指定しなかった場合のデフォルトは、実行ファイルを作る場
合は `\|\c
.B a.out\c
\&\|' という名前であり、`\|\c
.I source\c
.B \&.\c
.I suffix\c
\&\c
\&\|' の形式のファイル名を持ったソースファイルのオブジェクトファイルは
`\|\c
.I source\c
.B \&.o\c
\&\|' であり、アセンブラのファイルは `\|\c
.I source\c
.B \&.s\c
\&\|' です。
プリプロセス済みの C 言語は、全て標準出力に送られます。
.TP
.B \-v
(標準エラー出力に対して) コンパイルの各ステージで実行されるコマンドを
表示します。コンパイラドライバ、プリプロセッサおよび本来のコンパイラの
各バージョン番号も表示します。
.TP
.B -pipe
コンパイル時のステージの間のデータの受け渡しに、テンポラリファイルではなく
パイプを使用します。いくつかのシステムではアセンブラがパイプからの入力を受け
付けることができないために、このオプションを指定すると失敗します。
GNU アセンブラでは問題なく使用できます。
.PP
.SH 言語オプション
.TP
以下のオプションは、コンパイラが受け付ける C の方言に関する制御を行ないます:
.TP
.B \-ansi
全ての ANSI 標準の C プログラムをサポートします。
.Sp
このオプションは、GNU C が持つ ANSI C との非互換な機能を全て排除します。
例えば、\c
.B asm\c
\&, \c
.B inline\c
\&, \c
.B typeof
などのキーワードや、\c
.B unix\c
\& や \c
.B vax
などの現在使用しているシステムを規定する定義済みマクロなどが抑制されます。
さらに、好ましくなくかつほとんど使用されない ANSI のトライグラフの機能を使
用可能とし、さらに `\|\c
.B $\c
\&\|' を識別子の一部として使用できないようにします。
.Sp
代替キーワードである\c
.B _\|_asm_\|_\c
\&, \c
.B _\|_extension_\|_\c
\&,
.B _\|_inline_\|_\c
\&, \c
.B _\|_typeof_\|_\c
\& は、
`\|\c
.B \-ansi\c
\&\|' が指定された場合でも使用することが可能です。もちろん、
これらを ANSI C プログラムで使用することが望ましくないのは当然ですが、`\|\c
.B \-ansi\c
\&\|' をつけてコンパイルされる場合でも、インクルードされるヘッダファイル中に
これらが記述できるということは有用です。
\c
.B _\|_unix_\|_\c
\& や \c
.B _\|_vax_\|_\c
\& などの代替定義済みマクロは、
`\|\c
.B \-ansi\c
\&\|' を指定する場合でも指定しない場合でも、利用可能となっています。
.Sp
`\|\c
.B \-ansi\c
\&\|' オプションは、ANSI 準拠でないプログラムを不必要に拒否することは
ありません。もしこのような動作を行なわせたい場合には`\|\c
.B \-ansi\c
\&\|'に加えて\c
.B \-pedantic\c
\&\|' オプションを指定する必要があります。
.Sp
プリプロセッサ定義済みマクロ \c
.B _\|_STRICT_ANSI_\|_\c
\& が `\|\c
.B \-ansi\c
\&\|'
オプションを使用した際には定義されます。いくつかのヘッダファイルは、この
マクロを識別して、ANSI 標準が望まない関数やマクロの定義を抑制します。
これは、
それらの関数やマクロと同じ名前を別の目的で使用するプログラム
を混乱させないようにするためです。
.TP
.B \-fno\-asm
\c
.B asm\c
\&, \c
.B inline\c
\&, \c
.B typeof\c
\& をキーワードとして解釈しません。
これらの単語は識別子として解釈されるようになります。これらの代用として
\c
.B _\|_asm_\|_\c
\&, \c
.B _\|_inline_\|_\c
\&, \c
.B _\|_typeof_\|_\c
\& が使用できます。
`\|\c
.B \-ansi\c
\&\|' を指定すると、暗黙のうちに `\|\c
.B \-fno\-asm\c
\&\|' を指定したものとみなされます。
.TP
.B \-fno\-builtin
ビルトイン関数のうち、2 つのアンダースコアで始まるもの以外を認識しなくなり
ます。現在、この指定は\c
.B _exit\c
\&,
.B abort\c
\&, \c
.B abs\c
\&, \c
.B alloca\c
\&, \c
.B cos\c
\&, \c
.B exit\c
\&,
.B fabs\c
\&, \c
.B labs\c
\&, \c
.B memcmp\c
\&, \c
.B memcpy\c
\&, \c
.B sin\c
\&,
.B sqrt\c
\&, \c
.B strcmp\c
\&, \c
.B strcpy\c
\&, \c
.B strlen\c
\& の関数に影響を及ぼします。
.Sp
`\|\c
.B \-ansi\c
\&\|' オプションを指定すると、\c
.B alloca\c
\& と \c
.B _exit\c
\& はビルトイン関数として扱われなくなります。
.TP
.B \-fno\-strict\-prototype
`\|\c
.B int foo
();\c
\&\|' のような、引数を指定しない関数宣言を、C 言語のように引数の数や
型について何の仮定もしないという扱いにします (C++ のみ)。通常はこのよう
な宣言は、C++ では \c
.B foo\c
\& という関数が 1 つも引数をとらないことを意味します。
.TP
.B \-trigraphs
ANSI C のトライグラフを使用可能とします。`\|\c
.B \-ansi\c
\&\|' オプションを指定すると、暗黙のうちに `\|\c
.B \-trigraphs\c
\&\|' を指定したものとみなされます。
.TP
.B \-traditional
伝統的な C コンパイラのいくつかの特徴をサポートします。詳しくは GNU C の
マニュアルを参照してください。以前はここにそのリストの複製を載せていましたが、
それらが完全に時代遅れになった時に我々に文句が来ないように削除してしまいま
した。
.Sp
しかし、C++ のプログラムだけについて (C ではありません) 特記しておくこと
が 1 つあります。
`\|\c
.B \-traditional\c
\&\|' オプションは C++ に対して 1 つだけ特別な効果を持ちます。それは、
.B this
への代入を許可するというものです。これは `\|\c
.B \-fthis\-is\-variable\c
\&\|'オプションの指定が及ぼす効果と同一のものです。
.TP
.B \-traditional\-cpp
伝統的な C プリプロセッサのいくつかの特徴をサポートします。これは上に挙
げた中で特にプリプロセッサに関係したものを含みますが、
`\|\c
.B \-traditional\c
\&\|' の指定によって引き起こされる以外の効果を及ぼすことはありません。
.TP
.B \-fdollars\-in\-identifiers
識別子中の `\|\c
.B $\c
\&\|' の使用を許可します (C++ のみ)。
`\|\c
.B \-fno\-dollars\-in\-identifiers\c
\&\|' を使用することによって、明示的に
`\|\c
.B $\c
\&\|'の使用を禁止することも可能です。(GNU C++ では、デフォルトで `\|\c
.B $\c
\&\|' を許可しているシステムと禁止しているシステムがあります)。
.TP
.B \-fenum\-int\-equiv
\c
.B int\c
\& から列挙型への暗黙の変換を許可します (C++ のみ)。通常は GNU C++ は \c
.B enum\c
\& から \c
.B int\c
\& への変換は許可していますが、
逆は許していません。
.TP
.B \-fexternal\-templates
テンプレート関数について、その関数が定義された場所にのみ単一のコピー
を生成することによって、テンプレート宣言に対してより小さなコードを生成
します (C++ のみ)。このオプションを使用して正しいコードを得るためには、
テンプレートを使用する全てのファイルにおいて、`\|\c
.B #pragma implementation\c
\&\|' (定義) または
`\|\c
.B #pragma interface\c
\&\|' (宣言) を記述しておく必要があります。
`\|\c
.B \-fexternal\-templates\c
\&\|' を指定してコンパイルを行なう場合には、全てのテンプレートの
実体は external となります。全ての使用される実体はインプリメンテーション
ファイル中にまとめて記述しておかなければなりません。これはその必要とされ
る実体に対応した \c
.B typedef\c
\& 宣言を行なうことによって実現できます。
逆に、デフォルトのオプション
`\|\c
.B \-fno\-external\-templates\c
\&\|' でコンパイルした場合には全てのテンプレートの実体は internal と
なります。
.TP
.B \-fall\-virtual
可能な限り全てのメンバ関数を暗黙のうちに仮想関数として扱います。
全てのメンバ関数 (コンストラクタと
.B new
,
.B delete
メンバ演算子を除きます) は、出現した時点でそのクラスの仮想関数とし
て扱われます。
.Sp
これは、これらのメンバ関数への全ての呼び出しが仮想関数のための内部
テーブルを参照して間接的に決定されるということを意味しません。特定の状況
においては、コンパイラは与えられた仮想関数への呼び出しを直接決定できます。
このような場合にはその関数呼び出しは常に直接呼び出しとなります。
.TP
.B \-fcond\-mismatch
条件演算子の第 2, 第 3 引数の型が異なる記述を許します。このような式の型は void
となります。
.TP
.B \-fthis\-is\-variable
\c
.B this\c
\& への代入を許可します (C++ のみ)。ユーザ定義による記憶管理が可
能となった現在では、
`\|\c
.B this\c
\&\|' への代入は時代遅れのものとなりました。従ってデフォルトでは、クラスの
メンバ関数からの \c
.B this\c
\& への代入は不当なものとして扱われています。しかし、後方互換性のために、
`\|\c
.B \-fthis-is-variable\c
\&\|' を指定することによってこの効果を得ることができます。
.TP
.B \-funsigned\-char
\c
.B char\c
\& 型を \c
.B unsigned char\c
\& のように符号無しとして扱います。
.Sp
それぞれのマシンには
\c
.B char\c
\& がどちらであるべきかというデフォルトがあります。
デフォルトで \c
.B unsigned char\c
\& であることもあれば、デフォルトで
.B signed char\c
\& であることもあります。
.Sp
理想的には、可搬性のあるプログラムは、オブジェクトの符号の有無に依
存する記述を行なう場合には常に \c
.B signed char\c
\&、もしくは
.B unsigned char\c
\& を使用すべきです。
しかし実際には多くのプログラムが単なる \c
.B char\c
\& を用いて記述されており、さらにそのプログラムを記述した
環境に依存して、符号付きである、あるいは符号無しであるという暗黙の仮定が
行なわれています。このオプション、あるいはこの逆のオプションは、デフォル
トと逆の動作を行なわせることにより、これらのプログラムを正しく動作させ
ることを可能にします。
.Sp
\c
.B char\c
\& 型は常に
.B signed char\c
\& あるいは \c
.B unsigned char\c
\& とは区別された型として扱われます。常にそれらの振舞いがそのどち
らかと全く同じであるということに関わらず、このような扱いを行います。
.TP
.B \-fsigned\-char
\c
.B char\c
\& 型を \c
.B signed char\c
\& 型のように符号付きとして扱います。
.Sp
ただし、このオプションは `\|\c
.B \-fno\-unsigned\-char\c
\&\|' と等価です。これは `\|\c
.B \-funsigned\-char\c
\&\|'の否定形です。同様に
`\|\c
.B \-fno\-signed\-char\c
\&\|' は `\|\c
.B \-funsigned\-char\c
\&\|' と等価です。
.TP
.B \-fsigned\-bitfields
.TP
.B \-funsigned\-bitfields
.TP
.B \-fno\-signed\-bitfields
.TP
.B \-fno\-unsigned\-bitfields
これらのオプションは、明示的に
`\|\c
.B signed\c
\&\|' または `\|\c
.B unsigned\c
\&\|' の指定が行なわれていないビットフィールドに対して、符号つきであるかある
いは符号なしであるかを制御します。デフォルトではこのようなビットフィール
ドは符号つきとなっています。なぜなら、
.B int\c
\& のような基本的な型は符号つきであるという点で、整合性がとれるからです。
.Sp
ただし、`\|\c
.B \-traditional\c
\&\|' を指定した場合は、ビットフィールドは常に全て符号無しであるとされます。
.TP
.B \-fwritable\-strings
文字列定数を書き込み可能なデータセグメントに配置し、同内容の文字列を 1
つの共有オブジェクトにする処理を行いません。これは、文字定数に書き込む
ことができることを仮定した昔のプログラムとの互換性をとるために提供され
ています。`\|\c
.B \-traditional\c
\&\|' オプションも同様の効果を含みます。
.Sp
文字定数に書き込むという考えは非常によくない考えです。\*(lq定数\*(rq
はまさに定数であり、変化すべきではありません。
.PP
.SH プリプロセッサオプション
これらのオプションは C プリプロセッサを制御します。
各 C ソースファイルは、実際にコンパイルする前に、C プリプロセッサに
かけられます。
.PP
`\|\c
.B \-E\c
\&\|' オプションを使用すると、GCC はプリプロセス以外の処理を行いません。
以下に示すオプションのうちのいくつかは、`\|\c
.B \-E\c
\&\|' と同時に使用された時のみ意味をもちます。なぜならば、これらのオプション
によって、実際のコンパイルには不適当なプリプロセッサ出力が生成されるためです。
.TP
.BI "\-include " "file"
\c
.I file\c
\& を、通常の入力ファイルが処理される前に処理します。結果的に \c
.I file\c
\& に含まれる内容は、一番最初にコンパイルされることになります。コマンドラ
インに指定されたすべての `\|\c
.B \-D\c
\&\|'
や `\|\c
.B \-U\c
\&\|' オプションは、その記述された順番に関わらず常に `\|\c
.B \-include \c
.I file\c
\&\c
\&\|' が処理される前に処理されます。全ての `\|\c
.B \-include\c
\&\|' や `\|\c
.B \-imacros\c
\&\|' オプションは、それらが記述された順番通りに処理されます。
.TP
.BI "\-imacros " file
通常の入力ファイルを処理する前に\c
.I file\c
\& を入力として処理しますが、その結果の出力を捨てます。
.I file\c
\& によって生成された出力は捨てられるため、`\|\c
.B \-imacros \c
.I file\c
\&\c
\&\|' の処理結果の影響は、\c
.I file\c
\& 中に記述されたマクロがメインの入力ファイル中で使用可能になることだけです。
プリプロセッサは、`\|\c
.B \-imacros \c
.I file\c
\&\|' が記述された順番に関わらず、これを処理する前に、
コマンドラインから与えられた全ての `\|\c
.B \-D\c
\&\|' や `\|\c
.B \-U\c
\&\|' オプションを評価します。全ての `\|\c
.B \-include\c
\&\|' および `\|\c
.B \-imacros\c
\&\|'
オプションは、それらが記述された順番通りに処理されます。
.TP
.BI "\-idirafter " "dir"
ディレクトリ \c
.I dir\c
\& を第 2 インクルードパスに加えます。第 2 インクルードパス中のディレクトリは、
メインインクルードパス (オプション
`\|\c
.B \-I\c
\&\|' によって追加されます) 中にヘッダファイルを探した結果発見できな
かった場合に検索されます。
.TP
.BI "\-iprefix " "prefix"
\c
.I prefix\c
\& を、その後に続く `\|\c
.B \-iwithprefix\c
\&\|'
オプション用のプレフィックスとして使用します。
.TP
.BI "\-iwithprefix " "dir"
ディレクトリを第 2 インクルードパスに追加します。ディレクトリ名は \c
.I prefix\c
\& と \c
.I dir\c
\& を連結することによって得られます。ここで \c
.I prefix
は、`\|\c
.B \-iprefix\c
\&\|' オプションによって指定されたものです。
.TP
.B \-nostdinc
ヘッダファイルのための標準のシステムディレクトリを検索しません。`\|\c
.B \-I\c
\&\|' オプションによって指定したディレクトリ (またはカレントディレクト
リ) のみを検索します。
.Sp
`\|\c
.B \-nostdinc\c
\&\|' と `\|\c
.B \-I\-\c
\&\|'を使用することにより、インクルードファイルの検索パスを明示的に指
定したディレクトリのみに限定することが可能となります。
.TP
.B \-nostdinc++
ヘッダファイルの検索に、C++\-固有の標準ディレクトリを用いません。ただ
しそれ以外の標準ディレクトリは検索されます。
(このオプションは `\|\c
.B libg++\c
\&\|' の構築に使用されます。)
.TP
.B \-undef
標準でない定義済みマクロ(アーキテクチャフラグも含めて)を定義しません。
.TP
.B \-E
C プリプロセッサの処理のみを行います。指定された全ての C のソースファイル
に対してプリプロセスを行ない、標準出力、または指定された出力ファイルに
対して出力を行います。
.TP
.B \-C
プリプロセッサに対してコメントの削除を行なわないように指示します。
`\|\c
.B \-E\c
\&\|' オプションとともに使用されます。
.TP
.B \-P
プリプロセッサに対して `\|\c
.B #line\c
\&\|' コマンドを生成しないように指示します。
`\|\c
.B \-E\c
\&\|' オプションとともに使用されます。
.TP
.B \-M\ [ \-MG ]
プリプロセッサに対して\c
.B make
で使用可能な、オブジェクト間の依存関係を記述した出力を生成するように指示
します。それぞれのソースファイルに対して、プリプロセッサは\c
.B make\c
\& のための規則を 1 つ出力します。この出力は、ターゲットとして
そのソースファイルから生成されるオブジェクトファイルのファイル名をとり、
依存するファイルのリストとしては
`\|\c
.B #include\c
\&\|' によってソースファイルに
読み込まれる全てのファイルの名前が並びます。この
規則は 1 行、あるいは長い場合には`\|\c
.B \e\c
\&\|' と改行を入れて複数行で出力されます。この規則のリストは、プリプロセス済
みの C プログラムのかわりに、標準出力へと出力されます。
.Sp
`\|\c
.B \-M\c
\&\|' は暗黙のうちに `\|\c
.B \-E\c
\&\|' を含みます。
.Sp
`\|\c
.B \-MG\c
\&\|' を指定すると、見つからないヘッダファイルは生成されたファイルであり、
それらはソースファイルと同じディレクトリに存在するとみなします。
これは `\|\c
.B \-M\c
\&\|' と同時に指定しなければなりません。
.TP
.B \-MM\ [ \-MG ]
`\|\c
.B \-M\c
\&\|' と似ていますが、`\|\c
.B
#include "\c
.I file\c
.B
\&"\c
\&\|'によってインクルードされるユーザ定義のヘッダファイルのみを対象に
した出力ファイルを生成します。`\|\c
.B
#include <\c
.I file\c
.B
\&>\c
\&\|' によってインクルードされるシステムヘッダファイルは省略されます。
.TP
.B \-MD
`\|\c
.B \-M\c
\&\|' と似ていますが、依存情報は出力ファイル名の最後の `\|\c
.B .o\c
\&\|' を `\|\c
.B .d\c
\&\|' に置き換えたファイル名のファイルに対して出力されます。
\&`\|\c
.B \-MD\c
\&\|' を指定したファイルのコンパイルもこれに加えて行なわれ、
`\|\c
.B \-M\c
\&\|' のように通常のコンパイルを抑制することはありません。
.Sp
Mach のユーティリティである`\|\c
.B md\c
\&\|' は、これらの複数の `\|\c
.B .d\c
\&\|' ファイルを `\|\c
.B make\c
\&\|'
コマンドによって使用できる単一の依存記述ファイルへとマージするのに使用
することができます。
.TP
.B \-MMD
`\|\c
.B \-MD\c
\&\|' と似ていますが、ユーザヘッダファイルのみを対象とし、システムヘッダ
ファイルを無視します。
.TP
.B \-H
通常の動作に加えて、使用されたヘッダファイルの名前を表示します。
.TP
.BI "\-A" "question" ( answer )
.I question\c
に対するアサーション
.I answer
\& を定義します。これは `\|\c
.BI "#if #" question ( answer )\c
\&\|' のようなプリプロセッサ条件節によってテストされます。`\|\c
.B \-A\-\c
\&\|' は標準のアサーション(通常はターゲットマシンに関
する情報を表している)を禁止します。
.TP
.BI \-D macro
マクロ \c
.I macro\c
\& に対して文字列 `\|\c
.B 1\c
\&\|' を定義として与えます。
.TP
.BI \-D macro = defn
マクロ \c
.I macro\c
\& を \c
.I defn\c
\& として定義します。コマンドライン上の全ての `\|\c
.B \-D\c
\&\|' オプションは `\|\c
.B \-U\c
\&\|' オプションの処理を行なう前に処理されます。
.TP
.BI \-U macro
マクロ \c
.I macro\c
\& の定義を無効にします。`\|\c
.B \-U\c
\&\|' オプションは全ての `\|\c
.B \-D\c
\&\|' オプションの処理が終了した後、`\|\c
.B \-include\c
\&\|' と `\|\c
.B \-imacros\c
\&\|' オプションの処理の前に処理されます。
.TP
.B \-dM
プリプロセッサに対して、プリプロセス終了時に有効であったマクロの定義の
みを出力するように指示します。`\|\c
.B \-E\c
\&\|'
オプションとともに使用します。
.TP
.B \-dD
プリプロセッサに対して、全てのマクロ定義を適切な順番で出力中にそのまま
出力するように指示します。
.TP
.B \-dN
`\|\c
.B \-dD\c
\&\|' と似ていますが、マクロの引数と内容を削除します。
出力には`\|\c
.B #define \c
.I name\c
\&\c
\&\|' のみが含まれます。
.PP
.SH アセンブラオプション
.TP
.BI "\-Wa," "option"
\c
.I option\c
\& をアセンブラに対するオプションとして渡します。\c
.I option
がコンマを含む場合は、そのコンマで区切られた複数のオプションとして与え
られます。
.PP
.SH リンカオプション
これらのオプションは、コンパイラがオブジェクトファイル群をリンクして 1 つ
の実行可能ファイルを出力する際に使用されるものです。これらはコンパイラが
リンクステップを行なわない場合には意味を持ちません。
.TP
.I object-file-name
特別に認識される拡張子で終っていないファイル名は、オブジェクトファイル、
またはライブラリであると認識されます。(オブジェクトファイルとライブラリ
はリンカがその内容を参照することで区別されます。) GCC がリンクステップを
行なう場合は、これらのファイルはリンカへの入力として使用されます。
.TP
.BI \-l library
名前が
.I library\c
\& であるライブラリをリンク時に使用します。
.Sp
リンカは、標準のライブラリ用ディレクトリのリスト中から、
実際のファイル名が `\|\c
.B lib\c
.I library\c
\&.a\c
\&\|' であるファイルを検索します。リンカはこのファイルを、ファイル
名で直接指定した場合と同様に使用します。
.Sp
検索するディレクトリには、いくつかの標準システムディレクトリと、`\|\c
.B \-L\c
\&\|' によって指定したディレクトリが含まれます。
.Sp
通常、この方法で発見されるファイルはライブラリファイル、つまりいくつかの
オブジェクトファイルをメンバとして含むアーカイブファイルです。
リンカは、アーカイブファイルの中を検索して、
参照されているが定義されていないシンボルを定義しているメンバを
探し出します。
しかし、もしリンカがライブラリでなく通常のオブジェクトファイルを発見した
場合は、そのオブジェクトファイルを通常の方法でリンクします。`\|\c
.B \-l\c
\&\|' オプションを使用する場合とファイル名を直接指定する場合の違いは、`\|\c
.B \-l\c
\&\|' の場合が
.I library
を `\|\c
.B lib\c
\&\|' と `\|\c
.B .a\c
\&\|' で囲み、いくつものディレクトリを検索することだけです。
.TP
.B \-lobjc
Objective C のプログラムをリンクする場合は、この特別な
.B \-l
オプションを指定する必要があります。
.TP
.B \-nostartfiles
リンク時に、標準のシステムスタートアップファイルを使用しません。
標準ライブラリは通常通りに使用されます。
.TP
.B \-nostdlib
リンク時に、標準のシステムライブラリとスタートアップファイルを使用しません。
指定したファイルのみがリンカに渡されます。
.TP
.B \-static
ダイナミックリンクをサポートするシステムにおいて、このオプションは共有
ライブラリとのリンクを抑制します。それ以外のシステムではこのオプションは
意味を持ちません。
.TP
.B \-shared
他のオブジェクトとリンクして実行可能プログラムを形成し得る共有オブジェクトを
生成します。ごく少数のシステムでのみ、このオプションはサポートされ
ています。
.TP
.B \-symbolic
共有オブジェクトを構築する際に、グローバルなシンボルへの参照をバインド
します。全ての解決できなかった参照に対して警告を与えます
(ただしリンクエディタオプション `\|\c
.B
\-Xlinker \-z \-Xlinker defs\c
\&\|' によってこれを無効化した場合を除きます)。ごく少数のシステムでのみ、
このオプションはサポートされています。
.TP
.BI "\-Xlinker " "option"
オプション \c
.I option
をリンカに対して渡します。リンカに渡すシステム固有のオプションが、
GNU CC が理解できないものである場合に利用できます。
.Sp
引数を持ったオプションを渡したい場合は、
`\|\c
.B \-Xlinker\c
\&\|' を 2 度使用すれば可能です。1 度目でオプションを渡し、2 度目で引数を
渡します。例えば `\|\c
.B
\-assert definitions\c
\&\|' を渡すには、
`\|\c
.B
\-Xlinker \-assert \-Xlinker definitions\c
\&\|' のように記述すれば可能です。
`\|\c
.B
\-Xlinker "\-assert definitions"\c
\&\|' のように指定した場合は正常に動作しません。なぜならこれは、文字列全
体を 1 つの引数として渡してしまい、リンカの期待する形式と異なってしま
うからです。
.TP
.BI "\-Wl," "option"
オプション \c
.I option\c
\& をリンカに渡します。\c
.I option\c
\& がコンマを含む場合は、それらのコンマで複数のオプションとして分割されます。
.TP
.BI "\-u " "symbol"
シンボル
.I symbol
が未定義であるかのように振舞います。これは強制的にこのシンボルを定義してい
るライブラリモジュールをリンクするために使用します。`\|\c
.B \-u\c
\&\|' は異なったシンボルに対して複数回使用することができます。これによっ
て、さらに多くのライブラリモジュールを読み込ませることができます。
.SH ディレクトリオプション
これらのオプションは、ヘッダファイル、ライブラリ、コンパイラの一部を検
索するディレクトリを指定するために使用されます。
.TP
.BI "\-I" "dir"
ディレクトリ \c
.I dir\c
\& を、インクルードファイルの検索するディレクトリのリスト中に追加します。
.TP
.B \-I\-
`\|\c
.B \-I\-\c
\&\|' オプション指定前に `\|\c
.B \-I\c
\&\|'
オプションによって指定された全てのディレクトリは、`\|\c
.B
#include "\c
.I file\c
.B
\&"\c
\&\|' の形式によってのみ検索されます。
これらのディレクトリは `\|\c
.B
#include <\c
.I file\c
.B
\&>\c
\&\|' によっては検索されません。
.Sp
\&\|`
.B \-I\-\c
\&\|' オプション指定後に `\|\c
.B \-I\c
\&\|' で指定したディレクトリは、全ての `\|\c
.B #include\c
\&\|'
命令によって検索されます。(通常は \c
.I 全ての\c
\& `\|\c
.B \-I\c
\&\|' で指定されたディレクトリは
この方法で検索されます。)
.Sp
これに加えて `\|\c
.B \-I\-\c
\&\|' オプションは、カレントディレクトリ (現在の入力ファイルが存在する
ディレクトリ) が `\|\c
.B
#include "\c
.I file\c
.B
\&"\c
\&\|' に対する最初の検索対象となることを抑制します。`\|\c
.B \-I\-\c
\&\|' によるこの効果を上書きする方法はありません。`\|\c
.B \-I.\c
\&\|' を指定することによって、コンパイラが起動されたディレクトリが検索
されることを指定することは可能です。これはプリプロセッサが行なう
デフォルトの動作とは異なりますが、たいていはこれで十分です。
.Sp
`\|\c
.B \-I\-\c
\&\|' は、ヘッダファイルの検索に標準のシステムディレクトリを使うことを抑制
するわけではありません。
従って、`\|\c
.B \-I\-\c
\&\|' と `\|\c
.B \-nostdinc\c
\&\|' は
独立です。
.TP
.BI "\-L" "dir"
ディレクトリ\c
.I dir\c
\& を `\|\c
.B \-l\c
\&\|' による検索が行なわれるディレクトリのリストに加えます。
.TP
.BI "\-B" "prefix"
このオプションはコンパイラ自身の実行形式、ライブラリ、データファイルの
検索場所を指定します。
.Sp
コンパイラドライバはサブプログラム
`\|\c
.B cpp\c
\&\|', `\|\c
.B cc1\c
\&\|' (または C++ においては `\|\c
.B cc1plus\c
\&\|'), `\|\c
.B as\c
\&\|', そして `\|\c
.B ld\c
\&\|' を 1 つ、あるいはそれ以上起動します。コンパイラドライバは、
起動するプログラムのプレフィックスとして
.I prefix\c
\& に `\|\c
.I machine\c
.B /\c
.I version\c
.B /\c
\&\|' をつけたものとつけないものの双方を
使用します。
.Sp
コンパイラドライバは各サブプログラムの起動時に、
`\|\c
.B \-B\c
\&\|' プレフィックスの指定がある場合は、それを最初に利用します。もしその
名前が見つからなければ、または `\|\c
.B \-B\c
\&\|'
が指定されていなければ、ドライバは 2 つの標準プレフィックス `\|\c
.B /usr/lib/gcc/\c
\&\|' と `\|\c
.B /usr/local/lib/gcc-lib/\c
\&\|' を試します。このどちらにも見つからなければ、コンパイラドライバは、
環境変数 `\|\c
.B PATH\c
\&\|' のディレクトリリストを利用して、そのプログラム名を検索します。
.Sp
ランタイムサポートファイル `\|\c
.B libgcc.a\c
\&\|' も、必要ならば
`\|\c
.B \-B\c
\&\|' プレフィックスを用いて検索されます。もしそこに見つからなければ、
前記 2 つの標準プレフィックスが試みられますが、それで終りです。この場合は
リンクの対象から外されます。ほとんどの場合、またほとんどのマシンでは、`\|\c
.B libgcc.a\c
\&\|' は実際には必要ではありません。
.Sp
これと同じ効果を、環境変数
.B GCC_EXEC_PREFIX\c
\& によっても得ることができます。もしこの環境変数が定義されていれば、こ
の値がプレフィックスとして同様に使用されます。もし `\|\c
.B \-B\c
\&\|' オプションと
.B GCC_EXEC_PREFIX\c
\& 環境変数の双方が存在した場合は、`\|\c
.B \-B\c
\&\|' オプションが最初に使用され、環境変数は次に使用されます。
.SH 警告オプション
警告は、本質的に間違いであるわけではありませんが、危険な構造を報告したり、
エラーがあるかもしれないような部分を示唆する診断メッセージです。
.Sp
以下のオプションは、GNU CC が生成する警告の量と種類を制御します。
.TP
.B \-fsyntax\-only
コードの文法エラーをチェックしますが、一切出力は行いません。
.TP
.B \-w
全ての警告メッセージを抑制します。
.TP
.B \-Wno\-import
.BR #import
の利用による警告メッセージを抑制します。
.TP
.B \-pedantic
厳密な ANSI 標準 C 言語で規定している全ての警告を表示し、許されていない拡張を
使用したプログラムを全て拒否します。
.Sp
正当な ANSI 標準 C プログラムは、このオプションの有無に関わらず
コンパイルできるべきです (もっとも、ほんのわずかではありますが `\|\c
.B \-ansi\c
\&\|' を必要とするものはあります)。しかし、このオプションを使用しない場合、
GNU 拡張や伝統的な C の特徴も、これに加えてサポートされます。このオプション
を使用すれば、それらは拒絶されます。このオプションを\c
.I 使う\c
\&理由はありませんが、こだわりのある人々を満足させるためにのみ
存在しています。
.Sp
`\|\c
.B \-pedantic\c
\&\|' は、始まりと終りとが `\|\c
.B _\|_\c
\&\|' である代替キーワードの使用については、警告しません。
同様に
.B _\|_extension_\|_\c
\& に続く表現についても警告しません。しかし、システムヘッダファイルのみ
がこの抜け道を使用すべきであり、アプリケーションプログラムはこれを避け
るべきです。
.TP
.B \-pedantic\-errors
`\|\c
.B \-pedantic\c
\&\|' と似ていますが、警告のかわりにエラーを出します。
.TP
.B \-W
以下のイベントに対して、特別な警告メッセージを表示します。
.TP
\ \ \ \(bu
volatile でない自動変数が
.B longjmp\c
\& の呼び出しによって変更され得る場合です。これらの警告は、最適化コンパイル
の時のみ問題になり得ます。
.Sp
コンパイラは
.B setjmp\c
\& の呼び出しのみを見ています。コンパイラは、どこで \c
.B longjmp\c
\& が呼び出されるかを知ることはできません。実際には、シグナルハンドラは
コード中の任意の場所で
.B longjmp\c
\& を呼び出すことができます。従って、実際には \c
.B longjmp\c
\& への呼び出しが危険な部分からはおこなわれていないために問題のないプ
ログラムであっても、警告が発せられることになります。
.TP
\ \ \ \(bu
関数が、値を伴ってリターンする場合と、値を伴わずにリターンする場合の両方
が起こりうる場合です。
(関数の最後を抜けていくことは、値を伴わずに関数をリターンするとみなされます。)
例えば、次の関数がこの種類の警告を引き起こします。
.Sp
.nf
foo (a)
{
if (a > 0)
return a;
}
.Sp
.fi
ある関数 (\c
.B abort\c
\& や\c
.B longjmp\c
\& を含む)
が決してリターンしないということを GNU CC が理解できないために、にせの警告
が発生するかもしれません。
.TP
\ \ \ \(bu
式文 (expression-statement) またはコンマ式の左部分が
一切の副作用を含まない場合です。
警告を抑制するには、使用しない式を void にキャストして下さい。
例えば `\|\c
.B x[i,j]\c
\&\|' といった式は警告されますが、`\|\c
.B x[(void)i,j]\c
\&\|' は警告されません。
.TP
\ \ \ \(bu
符号無しの値が 0 と `\|\c
.B >\c
\&\|' または `\|\c
.B <=\c
\&\|' で比較される場合です。
.PP
.TP
.B \-Wimplicit
関数やパラメータに対する暗黙の宣言に対して常に警告します。
.TP
.B \-Wreturn\-type
関数の戻り値の型が、デフォルトである \c
.B int\c
\& に定義された時に常に警告します。また、戻り値の型が \c
.B void\c
でない関数内に、戻り値のない \c
.B return\c
\& 文がある場合にも常に警告します。
.TP
.B \-Wunused
ローカル変数が宣言されたにも関わらず使用されていない場合、静的に宣言さ
れた関数の実体が定義されていない場合、計算結果が明らかに
利用されていない場合に常に警告します。
.TP
.B \-Wswitch
.B switch\c
\& 文がインデックスとして列挙型をとっている時、その列挙型中のいくつ
かの値に対する \c
.B case\c
\& が欠けている場合に常に警告します。(\c
.B default\c
\& ラベルが存在する場合、この警告は出ません。) このオプションを使用した場合
には、列挙型の範囲を越えた \c
.B case\c
\& ラベルも、常に警告されます。
.TP
.B \-Wcomment
コメントの開始文字列 `\|\c
.B /\(**\c
\&\|' がコメント中に現れた時に常に警告します。
.TP
.B \-Wtrigraphs
トライグラフの出現を常に警告します (トライグラフが使用可能であると仮定します)。
.TP
.B \-Wformat
.B printf\c
\&, \c
.B scanf\c
\& などへの呼び出しに対して、与えられた引数が、フォーマット文字列の指
定を満足する型を持っているかを検査します。
.TP
.B \-Wchar\-subscripts
配列の添字の型が
.BR char
であった場合に警告します。これはよくある間違いのもとです。
いくつかのマシンにおいてはこの型が符号付きであることを、
プログラマはしばしば忘れてしまいます。
.TP
.B \-Wuninitialized
初期化されていない自動変数が使用されています。
.Sp
これらの警告は、最適化コンパイルを行なう時のみ発生します。なぜなら、
コンパイラは最適化を行なう時にのみデータフロー情報を必要とするからです。
もし `\|\c
.B \-O\c
\&\|' を指定しなかった場合は、この警告を得ることはできません。
.Sp
これらの警告は、レジスタ割り当ての対象となった変数についてのみ発生します。
従って、\c
.B volatile\c
\& であると宣言された変数や、アドレス上に割り当てられた変数、サイズが
1, 2, 4, 8 バイト以外の変数に関してはこれらの警告は発生しません。
さらに、構造体、共用体、配列については、たとえそれらがレジスタに
割り当てられたとしても、これらの警告は発生しません。
.Sp
ある変数によって計算された値が結局使用されないような変数については、一切の
警告が生じないことに注意して下さい。このような計算は、警告が表示される前に
データフロー解析によって削除されます。
.Sp
これらの警告をオプションにした理由の一つは、GNU CC がまだあまり賢くなくて、
あるコードが一見間違いを含むかのように見えても
それは実は正しいものかもしれない、
ということを GNU CC が理解できない、というものです。
ここにその 1 つの例を挙げます。
.Sp
.nf
{
int x;
switch (y)
{
case 1: x = 1;
break;
case 2: x = 4;
break;
case 3: x = 5;
}
foo (x);
}
.Sp
.fi
もし \c
.B y\c
\& の値が常に 1, 2 あるいは 3 である限りは \c
.B x\c
\& は常に
初期化されます。しかし GNU CC はこれを知ることはできません。もう 1 つの一般
的な例を挙げます。
.Sp
.nf
{
int save_y;
if (change_y) save_y = y, y = new_y;
.\|.\|.
if (change_y) y = save_y;
}
.Sp
.fi
これはバグを含みません。なぜなら \c
.B save_y\c
\& は、その値が設定された時のみ使用されるからです。
.Sp
いくつかのにせの警告は、使用している決してリターンしない関数全てに対して
.B volatile\c
\& と宣言することによって防ぐことが可能です。
.TP
.B \-Wparentheses
ある特定の文脈中で括弧が省略されていた場合に警告します。
.TP
.B \-Wtemplate\-debugging
C++ プログラムにおいてテンプレートを使用している際に、デバッグが完全に
可能でない場合を警告します (C++ のみ)。
.TP
.B \-Wall
全ての上に挙げた `\|\c
.B \-W\c
\&\|' オプションを結合したものです。これらのオプションは全て、
たとえマクロとの組合せ
であっても、避けたほうがいいと我々が推奨する用法や、
簡単に避けることができると我々が信じている用法に関するものです。
.PP
残りの `\|\c
.B \-W.\|.\|.\c
\&\|' オプションは `\|\c
.B \-Wall\c
\&\|'
によっては暗黙のうちに指定されません。なぜならこれらは、クリーンなプ
ログラムにおいても、ある状況においては使用することが妥当であると我々が
考える構造についての警告を行なうオプションだからです。
.TP
.B \-Wtraditional
伝統的な C と ANSI C において異なった振舞いをする特定の構造について警
告します。
.TP
\ \ \ \(bu
マクロ引数がマクロ本体内の文字列定数に現れるものです。これは、伝統的な C に
おいてはその引数で置換しましたが、ANSI C においては定数の一部として扱わ
れます。
.TP
\ \ \ \(bu
ブロック内で外部宣言であると宣言され、かつそのブロックの終端の後で
使用されている関数です。
.TP
\ \ \ \(bu
オペランドとして \c
.B long\c
\& 型をとる \c
.B switch\c
\& 文です。
.PP
.TP
.B \-Wshadow
ローカル変数が他のローカル変数を隠している時に常に警告します。
.TP
.BI "\-Wid\-clash\-" "len"
2 つの全く別の識別子の最初の \c
.I len
文字が一致した時に警告します。これはある種の旧式な
おばかさんコンパイラでコンパイルされ得るプログラムを作る場合に役に立ちます。
.TP
.B \-Wpointer\-arith
関数型や \c
.B void\c
\& の \*(lqサイズ\*(rq に依存するものを全て警告します。GNU C はこれらに対して、
サイズ 1 を割り当てています。これは \c
.B void \(**\c
\& ポインタと関数へのポインタにおける計算を簡便にするためです。
.TP
.B \-Wcast\-qual
ポインタが、型修飾子が削除されるようにキャストされる全ての場合に警告します。
例えば \c
.B const char \(**\c
\& を
普通の \c
.B char \(**\c
\& にキャストした場合に警告がなされます。
.TP
.B \-Wcast\-align
ポインタのキャストにおいて、そのターゲットに要求される境界条件が
大きくなるようなキャストを全て警告します。例えば \c
.B char \(**\c
\& が \c
.B int \(**\c
\& へとキャストされると、整数が 2、あるいは 4 バイト境界でしかアクセスで
きないマシンにおいては警告が発せられます。
.TP
.B \-Wwrite\-strings
文字定数に対して、型 \c
.B const char[\c
.I length\c
.B ]\c
\& を与え、非-\c
.B const\c
\& の \c
.B char \(**
ポインタへのアドレスのコピーに対して警告するようにします。この警告は、
宣言とプロトタイプにおいて \c
.B const\c
\& の使用を非常に注意深くおこなっていさえすれば、
文字列定数に書き込みをしそうなコードをコンパイル時に発見することを助けますが、
そうでない場合は有害無益な指定です。これが、我々がこの警告を `\|\c
.B \-Wall\c
\&\|' のリクエストに含めなかった理由です。
.TP
.B \-Wconversion
同じ引数が与えられた時に、プロトタイプが存在する場合とプロトタイプが
存在しない場合とで、異なった型変換を引き起こす場合について警告します。
これは固定小数点から浮動小数点への変換やその逆、デフォルトの動作と異なる固定
小数点引数の幅や符号の有無の変換が含まれます。
.TP
.B \-Waggregate\-return
構造体や共用体を返す関数を定義した場合や、
それらを呼び出す全ての場合に警告します。
(配列を返すことができる言語においても、これは警告を引き起こします。)
.TP
.B \-Wstrict\-prototypes
引数の型を指定せずに関数を宣言、あるいは定義した場合に警告します。
(以前に引数の型を指定した宣言が存在する場合には、旧式の関数宣言に対しては
警告をしません。)
.TP
.B \-Wmissing\-declarations
グローバルな関数を、その前にプロトタイプ宣言をせずに定義した場合に
警告します。
この警告は、たとえその定義自身がプロトタイプを含んでいたとしても発生します。
この警告の目的は、ヘッダファイル中にグローバル関数の定義を忘れるこ
とを防ぐことにあります。
.TP
.B \-Wredundant-decls
同一スコープ中で複数回、同一対象を宣言した場合に、たとえそれが正当で何も
変化させない場合であっても警告します。
.TP
.B \-Wnested-externs
関数内で \c
.B extern\c
\& 宣言を行なった場合に警告します。
.TP
.B \-Wenum\-clash
異なる列挙型の間で変換を行なった際に警告します (C++ のみ)。
.TP
.B \-Woverloaded\-virtual
(C++ のみ。)
導出クラスにおいて、仮想関数の定義は基底クラスで定義された仮想関数の型
の記述と一致していなければなりません。このオプションを使用することによっ
て、基底クラスにおける仮想関数と同一の名前を持ち、基底クラスのいかなる
仮想関数とも異なった型の記述を持つ関数に対して警告が行われます。これに
よって、導出クラスが仮想関数を定義しようとして失敗する場合を警告するこ
とができます。
.TP
.B \-Winline
関数がインライン宣言されている、あるいは
.B \-finline\-functions
オプションが与えられている場合に、関数をインライン展開できなかった場合
に警告します。
.TP
.B \-Werror
警告をエラーとして扱います。警告の後にコンパイルを中断します。
.SH デバッグオプション
GNU CC は、ユーザのプログラムや GCC の双方をデバッグするために、
多くのオプションを備えています。
.TP
.B \-g
オペレーティングシステムのネイティブのフォーマット (stabs, COFF,
XCOFF, DWARF) でデバッグ情報を生成します。GDB はこのデバッグ情報に基づい
て動作することができます。
.Sp
stabs フォーマットを使用するほとんどのシステムにおいては、`\|\c
.B \-g\c
\&\|' を指定すると、GDB だけが使用できる余分なデバッグ情報が使用可能に
なります。
この特別の情報は GDB に対してはよりよいデバッグを行なうことを可能
としますが、おそらく他のデバッガに対してはクラッシュ、あるいはそのプログラムを
読めなくしてしまいます。この特別な情報の生成を制御するためには `\|\c
.B \-gstabs+\c
\&\|', `\|\c
.B \-gstabs\c
\&\|',
`\|\c
.B \-gxcoff+\c
\&\|', `\|\c
.B \-gxcoff\c
\&\|', `\|\c
.B \-gdwarf+\c
\&\|', `\|\c
.B \-gdwarf\c
\&\|'
を使用してください (下記参照)。
.Sp
他の多くの C コンパイラと異なり、GNU CC は `\|\c
.B \-g\c
\&\|' を
`\|\c
.B \-O\c
\&\|' とともに使用することを許しています。最適化されたコードが通る近道は、
時には驚くべき結果を生み出すかもしれません。
定義したはずの変数が存在しなかったり、
制御の流れが予想もしなかった場所に移動したり、結果が定数とわかる計算や、
結果がすでに手元にある文は実行されなくなり、ある文がループの外に追い出されて
別の場所で実行されたりします。
.Sp
それにも関わらず、このオプションは最適化された出力のデバッグを可能とし
ています。これによって、バグを含むかもしれないプログラムに対して
オプティマイザを使用することができるようになります。
.PP
以下のオプションは、GNU CC を 1 つ以上のデバッグフォーマットを扱
えるように作成してある場合に有益です。
.TP
.B \-ggdb
(もしサポートされていれば)ネイティブのフォーマットでデバッグ情報を生成
します。これは可能な限りの全ての GDB 拡張を含みます。
.TP
.B \-gstabs
(もしサポートされていれば) stabs フォーマットでデバッグ情報を生成します。
ただし GDB 拡張は含みません。このフォーマットはほとんどの BSD システム上
の DBX で利用できるフォーマットです。
.TP
.B \-gstabs+
(もしサポートされていれば) stabs フォーマットでデバッグ情報を生成します。
ただし GNU デバッガ (GDB) でしか理解できない GNU 拡張を使用します。
この拡張を使用すると、他のデバッガでは、クラッシュや
プログラムが読めなくなるなどの影響がおそらく出ます。
.TP
.B \-gcoff
(サポートされていれば) COFF フォーマットでデバッグ情報を生成します。
これは、System V Release 4 より前の ほとんどの System V 上の
SDB で利用できるフォーマットです。
.TP
.B \-gxcoff
(サポートされていれば) XCOFF フォーマットでデバッグ情報を生成します。こ
れは IBM RS/6000 システムにおいて DBX デバッガによって使用される
フォーマットです。
.TP
.B \-gxcoff+
(もしサポートされていれば) XCOFF フォーマットでデバッグ情報の生成を行
います。ただし、GNU デバッガ (GDB) によってのみ理解され得る GNU 拡張を使
用します。これらの拡張を使用すると、他のデバッガに対してはクラッシュやプ
ログラムを読みとり不能にするなどの影響を及ぼし得ます。
.TP
.B \-gdwarf
(もしサポートされていれば) DWARF フォーマットでデバッグ情報の生成を行
います。これはほとんどの System V Release 4 システムにおいて SDB によっ
て使用される形式です。
.TP
.B \-gdwarf+
(もしサポートされていれば) DAWRF フォーマットでデバッグ情報の生成を行
います。ただし、GNU デバッガ (GDB) によってのみ理解され得る GNU 拡張を使
用します。これらの拡張を使用すると、他のデバッガに対してはクラッシュや
プログラムを読みとり不能にするなどの影響を及ぼし得ます。
.PP
.BI "\-g" "level"
.br
.BI "\-ggdb" "level"
.br
.BI "\-gstabs" "level"
.br
.BI "\-gcoff" "level"
.BI "\-gxcoff" "level"
.TP
.BI "\-gdwarf" "level"
デバッグ情報を要求しますが、同時に \c
.I level\c
\& によってどの程度の情報が必要かを指定します。デフォルトのレベルは 2 です。
.Sp
レベル 1 は、デバッグを予定しないプログラムの部分に対してバックトレース
を生成するに十分な最低限の情報を生成します。これは関数と外部変数の記述
を含みますが、ローカル変数や行番号に関する情報は含みません。
.Sp
レベル 3 はプログラムに含まれる全てのマクロ定義などの特別な情報を含みます。
いくつかのデバッガは `\|\c
.B \-g3\c
\&\|' の使用によってマクロの展開をサポートします。
.TP
.B \-p
プログラム \c
.B prof\c
\& によって使用されるプロファイル情報を書き込む特別なコードを生成します。
.TP
.B \-pg
プログラム \c
.B gprof\c
\& によって使用されるプロファイル情報を書き込む特別なコードを生成します。
.TP
.B \-a
基本ブロックのプロファイル情報を書き込む特別なコードを生成します。これは
それぞれのブロックが何回実行されたかを記録します。このデータは \c
.B tcov\c
\& のようなプログラムによって解析されます。ただし、このデータフォーマットは \c
.B tcov\c
\& が期待するものとは異なっています。最終的には、GNU \c
.B gprof\c
\& が処理できるように拡張されるべきです。
.TP
.BI "\-d" "letters"
コンパイル中の
.I letters\c
\& で指定されるタイミングに、デバッグ用のダンプを生成するように指示します。
これはコンパイラをデバッグするために使用されます。ほとんどのダンプのファイル
名はソースファイル名に 1 単語をつなげたものになります。(例えば、`\|\c
.B foo.c.rtl\c
\&\|' や `\|\c
.B foo.c.jump\c
\&\|' などです)。
.TP
.B \-dM
全てのマクロ定義をダンプし、プリプロセス終了時に出力に書き出します。
その他には何も書き出しません。
.TP
.B \-dN
全てのマクロ名をダンプし、プリプロセス終了時に出力に書き出します。
.TP
.B \-dD
全てのマクロ定義をプリプロセス終了時に通常の出力に加えてダンプします。
.TP
.B \-dy
パース中にデバッグ情報を標準エラー出力にダンプします。
.TP
.B \-dr
RTL 生成後に `\|\c
.I file\c
.B \&.rtl\c
\&\|' に対してダンプします。
.TP
.B \-dx
関数をコンパイルするかわりに、RTL を生成するのみの処理を行います。通常は
`\|\c
.B r\c
\&\|' とともに使用されます。
.TP
.B \-dj
最初のジャンプ最適化の後に、`\|\c
.I file\c
.B \&.jump\c
\&\|' に対してダンプします。
.TP
.B \-ds
共通部分式削除 (しばしば共通部分式削除に続くジャンプ最適化も含みます) の終了
時に `\|\c
.I file\c
.B \&.cse\c
\&\|' に対してダンプします。
.TP
.B \-dL
ループ最適化終了時に `\|\c
.I file\c
.B \&.loop\c
\&\|' に対してダンプします。
.TP
.B \-dt
第 2 共通部分式削除段階 (しばしば共通部分式削除に続くジャンプ最適化も
含みます) の終了時に、`\|\c
.I file\c
.B \&.cse2\c
\&\|' に対してダンプします。
.TP
.B \-df
フロー解析終了後に、`\|\c
.I file\c
.B \&.flow\c
\&\|' に対してダンプします。
.TP
.B \-dc
命令コンビネーション終了時に `\|\c
.I file\c
.B \&.combine\c
\&\|' に対してダンプします。
.TP
.B \-dS
第 1 命令スケジューリング段階終了時に `\|\c
.I file\c
.B \&.sched\c
\&\|' に対してダンプします。
.TP
.B \-dl
ローカルレジスタ割り当て終了時に `\|\c
.I file\c
.B \&.lreg\c
\&\|' に対してダンプします。
.TP
.B \-dg
グローバルレジスタ割り当て終了時に `\|\c
.I file\c
.B \&.greg\c
\&\|' に対してダンプします。
.TP
.B \-dR
第 2 命令スケジューリング段階終了時に `\|\c
.I file\c
.B \&.sched2\c
\&\|' に対してダンプします。
.TP
.B \-dJ
最終ジャンプ最適化終了時に `\|\c
.I file\c
.B \&.jump2\c
\&\|' に対してダンプします。
.TP
.B \-dd
遅延分岐スケジューリング終了時に `\|\c
.I file\c
.B \&.dbr\c
\&\|' に対してダンプします。
.TP
.B \-dk
レジスタからスタックへの転換終了時に `\|\c
.I file\c
.B \&.stack\c
\&\|' に対してダンプします。
.TP
.B \-da
以上の全てのダンプを生成します。
.TP
.B \-dm
処理の終了時に、メモリ使用に関する統計情報を標準エラー出力に出力します。
.TP
.B \-dp
どのようなパターンや選択肢が使用されたかを示すコメントをアセンブラ出力
中のコメントで解説します。
.TP
.B \-fpretend\-float
クロスコンパイラで処理を行なう際に、ホストマシンと同じ浮動小数点フォーマット
をターゲットマシンが持つかのように振舞わせます。これは浮動小数点定
数の誤った出力を引き起こしますが、実際の命令列はおそらく GNU CC を
ターゲットマシンで起動した場合と同じものとなるでしょう。
.TP
.B \-save\-temps
通常の \*(lq一時\*(rq 中間ファイルを消去せずに保存します。これらは
カレントディレクトリに置かれ、ソースファイルに基づいた名前が付けられます。
従って、`\|\c
.B foo.c\c
\&\|' を `\|\c
.B \-c \-save\-temps\c
\&\|' を使用してコンパイルした場合は、
`\|\c
.B foo.cpp\c
\&\|', `\|\c
.B foo.s\c
\&\|' が、`\|\c
.B foo.o\c
\&\|' と同様に生成されます。
.TP
.BI "\-print\-libgcc\-file\-name=" "library"
ライブラリファイル `\|\c
.nh
.I library
.hy
\&\|' の完全な絶対名を表示します。このファイルはリンクの際のみに使用され、
それ以外の働きはありません。このオプションが指定された場合は、GNU CC は
コンパイルやリンクを何も行なわず、ただファイル名を表示するのみです。
.TP
.B \-print\-libgcc\-file\-name
`\|\c
.B \-print\-file\-name=libgcc.a\c
\&\|' と同じです。
.TP
.BI "\-print\-prog\-name=" "program"
`\|\c
.B \-print\-file\-name\c
\&\|' と似ていますが、`\|\c
cpp\c
\&\|' のような program を検索します。
.SH 最適化オプション
これらのオプションは様々な種類の最適化処理を制御します。
.TP
.B \-O
.TP
.B \-O1
最適化を行います。最適化コンパイルは幾分長めの処理時間と、大きな関数に対
する非常に多くのメモリを必要とします。
.Sp
`\|\c
.B \-O\c
\&\|' が指定されなかった場合は、コンパイラの目標はコンパイルのコストを
低減することや、目的の結果を得るためのデバッグを可能とすることに置かれ
ます。それぞれの文は独立しています。つまり、ブレークポイントでプログラムを
停止させることによって、任意の変数に新し
い値を代入したり、プログラムカウンタを他の文へと変更することを可能とし、
そのソースコードにプログラマが望む正しい結果を得ることを可能にします。
.Sp
`\|\c
.B \-O\c
\&\|' を指定しなかった場合は、\c
.B register\c
\& と宣言した変数のみがレジスタへと割り当てられます。コンパイルの結果と
して得られるコードは、PCC を `\|\c
.B \-O\c
\&\|' なしで使用した場合と比較して若干良くないものとなります。
.Sp
`\|\c
.B \-O\c
\&\|' が指定されると、コンパイラはコードのサイズと実行時間を減少させる
ことを試みます。
.Sp
`\|\c
.B \-O\c
\&\|' を指定することによって、 `\|\c
.B \-fthread\-jumps\c
\&\|' と
`\|\c
.B \-fdefer\-pop\c
\&\|' のフラグが指定されます。遅延スロットをもつマシンでは `\|\c
.B \-fdelayed\-branch\c
\&\|' が指定されます。フレームポインタを使わないデバッグをサポートしている
マシンでは、`\|\c
.B \-fomit\-frame\-pointer\c
\&\|' も指定されます。マシンによってはさらにその他のフラグが
指定されることもあります。
.TP
.B \-O2
さらに最適化を行います。サポートされている最適化手段のうち、
空間と速度のトレードオフを含まないものはほとんどの全て使用されます。
例えばループのアンローリングや関数のインライン化は行われません。
.B \-O\c
\&
と比較して、このオプションはコンパイル時間と生成コードの性能の双方を増加
させます。
.TP
.B \-O3
さらなる最適化を行います。これは
.B \-O2
が行う全ての最適化手段に加えて
.B \-finline\-functions
も有効にします。
.TP
.B \-O0
最適化を行いません。
.Sp
複数の
.B \-O
オプションを指定した場合は、レベル番号の有無に関わらず、最後に指定した
ものが有効になります。
.PP
`\|\c
.B \-f\c
.I flag\c
\&\c
\&\|' の形式を持ったオプションは、マシン独立のフラグです。ほとんどの
フラグは有効形式と無効形式の双方を持っています。`\|\c
.B \-ffoo\c
\&\|' の無効形式は `\|\c
.B \-fno\-foo\c
\&\|' です。以下のリストでは、デフォルトではない方の形式のみを示します。
これに対して `\|\c
.B no\-\c
\&\|' を削除する、あるいは追加することによって双方の形式を生成すること
が可能です。
.TP
.B \-ffloat\-store
浮動小数点変数をレジスタに格納しません。このオプションは 68000 のように
(68881 の) 浮動小数点レジスタが \c
.B double\c
\& よりも高い精度を持っていると思われるマシンにおいて、望まない超過精度を
抑制することを可能にします。
.Sp
ほとんどのプログラムにおいては、超過精度は単に良い結果を生むだけですが、
いくつかのプログラムは正確な IEEE の浮動小数点フォーマット定義に依
存しています。
このようなプログラムに対して `\|\c
.B \-ffloat\-store\c
\&\|' を使用します。
.TP
.B \-fmemoize\-lookups
.TP
.B \-fsave\-memoized
コンパイルを高速に行なうために、ヒューリスティックスを使用します
(C++ のみ)。これらのヒューリスティックスはデフォルトでは有効になってい
ません。なぜなら、これはある種の入力ファイルにしか効果がなく、その他の
ファイルではかえってコンパイルが低速になるからです。
.Sp
最初に、コンパイラはメンバ関数への呼び出し (あるいはデータメンバへの参
照) を構築します。これは (1) どのクラスでその名前のメンバ関数が実装さ
れているかを決定し、(2) どのメンバ関数への呼び出しであるかという問題
(これはどの種類の型変換が必要となるかという決定も含みます) を解決し、(3)
呼び出し側に対するその関数の可視性を検査するという作業を行なう必要があります。
これらは全て、コンパイルをより低速にしてしまいます。通常は、そのメンバ
関数への 2 度目の呼び出しが起こった場合も、この長い処理がまた行なわれ
ることになります。これは次のようなコード
.Sp
\& cout << "This " << p << " has " << n << " legs.\en";
.Sp
は、これらの 3 つの手順を 6 回繰り返すということを意味します。これに対し
て、ソフトウェアキャッシュを使用すると、そのキャッシュへの\*(lqヒット
\*(rqは、コストを劇的に低減することが期待できます。不幸なことに、キャッシュ
の導入によって異なったレイヤの機構を実装することが必要となり、それ
自身のオーバヘッドが生じてしまいます。`\|\c
.B \-fmemoize\-lookups\c
\&\|' はこのソフトウェアキャッシュを有効にします。
.Sp
メンバとメンバ関数へのアクセス特権 (可視性) はある関数におけるコンテキスト
と別の関数におけるものとでは異なるので、
.B g++
はキャッシュをフラッシュしなければなりません。`\|\c
.B \-fmemoize\-lookups\c
\&\|' フラグを使用すると、全ての関数をコンパイルするたびに毎回キャッシュを
フラッシュします。`\|\c
.B \-fsave\-memoized\c
\&\|' フラグは同一のソフトウェアキャッシュについて、コンパイラが前回
コンパイルした関数のコンテキストが、次にコンパイルするコンテキストと同
一のアクセス特権を有しているとみなせる時には、キャッシュを保持します。
これは同一クラス中に多くのメンバ関数を定義している時に特に有効です。
他のクラスのフレンドになっているメンバ関数を除き、同一のクラスに属して
いる全てのメンバ関数のアクセス特権は、全て同一です。このような場合は
キャッシュをフラッシュする必要はありません。
.TP
.B \-fno\-default\-inline
クラススコープ中に定義されたメンバ関数をデフォルトでインライン関数とす
る処理を行ないません (C++ のみ)。
.TP
.B \-fno\-defer\-pop
それぞれの関数呼び出しに対して、関数のリターン直後に常に引数をポップします。
関数呼出後に引数をポップしなければならないマシンにおいては、
コンパイラは通常、いくつかの関数の引数をスタックに積んで、
それらを同時にポップします。
.TP
.B \-fforce\-mem
メモリオペランドに対して、それらに対する演算が行なわれる前に、
レジスタにコピーします。これは全てのメモリ参照を、潜在的な共通部分式であると
定めることによって、より良いコードを生成します。もしそれが共通部分式でな
かった場合は、命令コンビネーションによってレジスタへの読み込みは削
除されます。私はこれがどのような違いを生み出すかということに興味があります。
.TP
.B \-fforce\-addr
メモリアドレス定数について、それらに対する演算が行なわれる前にレジスタ
にコピーします。これは `\|\c
.B \-fforce\-mem\c
\&\|' と同じ手法でより良いコードを生成します。私はこれがどのような違いを
生み出すかということに興味があります。
.TP
.B \-fomit\-frame\-pointer
フレームポインタをレジスタに格納する必要のない関数において、この処理を
行いません。これはフレームポインタの保存、設定、復帰にかかる命令を省略
し、さらに、多くの関数でレジスタ変数として使用できる余分なレジスタを
得ることを可能にします。\c
.I ただし、このオプションはほとんどのマシンにおいてデバッグを不可能にします。
.Sp
Vax などのいくつかのマシンでは、このフラグは効果を持ちません。なぜならこ
れらのマシンでは標準の呼び出し手順が自動的にフレームポインタの設定を
行なってしまい、これが存在しないとしたところで何も節約ができないからです。
マシン記述マクロ \c
.B FRAME_POINTER_REQUIRED\c
\& が、ターゲットマシンがこのフラグをサポートするかどうかを制御しています。
.TP
.B \-finline\-functions
全ての単純な関数を呼び出し側に組み込んでしまいます。コンパイラは
ヒューリスティックスを用いて、
どの関数がこの方法で組み込むに足りるほど単純かを決定します。
.Sp
もし、ある関数に対する全ての呼び出しを組み込むことができ、かつその関数が \c
.B static\c
\& と宣言されていた場合は、GCC はその関数を独立したアセンブラコードと
しては出力をしません。
.TP
.B \-fcaller\-saves
関数呼び出しにおいて破壊されるであろう値を、レジスタに保持することを可
能とします。これはこのような呼び出しの周囲にレジスタに対する保存、復帰の
特別なコードを出力することによって実現されます。このような割り当ては、そ
れが通常よりも良いコードを出力するとみなされる場合にのみ行われます。
.Sp
このオプションは特定のマシンではデフォルトで有効となっています。これらは
通常、このオプションの処理の代わりに使うことができる呼び出し時保存
レジスタが存在しないマシンです。
.TP
.B \-fkeep\-inline\-functions
ある関数への呼び出しが全て呼び出し側に組み込むことができて、かつその関数が \c
.B static\c
\& と宣言されていたとしても、実行時に呼び出し可能な関数も生成します。
.TP
.B \-fno\-function\-cse
関数のアドレスをレジスタに置きません。つまり、定まった関数を呼び出すコードは、
それぞれ明示的な関数のアドレスを含むコードとなります。
.Sp
このオプションは効率の低いコードを生成しますが、アセンブラ出力を書き換え
るようなハックを行なう場合には、このオプションを使用しなければ
混乱させられることでしょう。
.TP
.B \-fno\-peephole
マシン固有のピープホール最適化を禁止します。
.TP
.B \-ffast-math
このオプションは生成コードのスピードのために、GCC に対して、いくつかの
ANSI または IEEE の規則/規格を侵させます。例えば、このオプションは \c
.B sqrt\c
\& 関数の引数は非負の数であることを仮定します。
.Sp
このオプションはどの `\|\c
.B \-O\c
\&\|' オプションによっても有効とされません。なぜなら、このオプションは数
学関数に関する IEEE または ANSI の規則/規格の厳密な実装に依存して書かれた
プログラムに対して誤った出力を与えるからです。
.PP
以下のオプションは特殊な最適化に関する制御を行います。`\|\c
.B \-O2\c
\&\|'
オプションは`\|\c
.B \-funroll\-loops\c
\&\|'
と `\|\c
.B \-funroll\-all\-loops\c
\&\|' を除くこれらの全てのオプションを有効にします。
.PP
`\|\c
.B \-O\c
\&\|' オプションは通常 `\|\c
.B \-fthread\-jumps\c
\&\|' と `\|\c
.B \-fdelayed\-branch\c
\&\|' を有効とします。ただし、特殊なマシンではデフォルトの最適化に対して
変更が加えられているかもしれません。
.PP
最適化に関する \*(lqきめ細かいチューニング\*(rq が必要な場合に、以下の
フラグを使用することが可能です。
.TP
.B \-fstrength\-reduce
ループのストレングスリダクションと繰り返し変数の除去を行います。
.TP
.B \-fthread\-jumps
分岐ジャンプによってある場所にジャンプした時に、最初の分岐に包括される
比較が存在した時に、最初の分岐のジャンプ先を後者の分岐先に変更します。
この変更先は、2 番目の分岐条件の真偽によって、2 番目の分岐のジャンプ先か、
あるいは2 番目の分岐の直後に定められます。
.TP
.B \-funroll\-loops
ループ展開の最適化を行います。これはループの繰り返し数がコンパイル時、
あるいはランタイムに決定できる時においてのみ、実行されます。
.TP
.B \-funroll\-all\-loops
ループ展開の最適化を行います。これは全てのループに対して行われます。この
オプションは大抵、より遅く動作するプログラムを生成します。
.TP
.B \-fcse\-follow\-jumps
共通部分式削除の処理において、ジャンプ命令の行先が
他の経路から到達できない場合は、そのジャンプ命令を越えてスキャンを行
ないます。例えば、共通部分式削除処理中に \c
.B else \c
\& 節を伴った
.B if \c
\& 文に出会った場合、条件が偽ならば分岐先に対しても共通部分式削除を続けます。
.TP
.B \-fcse\-skip\-blocks
これは `\|\c
.B \-fcse\-follow\-jumps\c
\&\|' に似ていますが、ブロックを跨ぐジャンプに対しても共通部分式削除を継
続します。共通部分式削除処理中に、else 節を持たない単純な \c
.B if\c
\& 文にであった時、
`\|\c
.B \-fcse\-skip\-blocks\c
\&\|' は \c
.B if\c
\& のボディを跨いだジャンプに対する共通部分式削除処理を継続します。
.TP
.B \-frerun\-cse\-after\-loop
ループ最適化が行なわれた後に、再度共通部分式削除の処理を行います。
.TP
.B \-felide\-constructors
コンストラクタへの呼び出しが省略できるように思われる場合に、その呼び出
しを省略します (C++ のみ)。このフラグを指
定した場合は、GNU C++ は以下のコードに対して、一時オブジェクトを経由せずに \c
.B y\c
\& を \c
.B foo
への呼び出しの結果から直接初期化します。
.Sp
A foo ();
A y = foo ();
.Sp
このオプションを使用しない場合は、GNU C++ は最初に \c
.B y\c
\& を\c
.B A\c
\& 型の適切なコンストラクタを呼び出すことによって初期化します。そして、
.B foo\c
\& の結果を一時オブジェクトに格納し、最終的には
`\|\c
.B y\c
\&\|' の値を一時オブジェクトの値に入れ換えます。
.Sp
デフォルトの振舞い (`\|\c
.B \-fno\-elide\-constructors\c
\&\|') が、ANSI C++ 標準のドラフトには規定されています。コンストラクタ
が副作用を含むプログラムに対して、`\|\c
.B \-felide-constructors\c
\&\|' を指定すると、そのプログラムは異なった動作をする可能性があります。な
ぜなら、いくつかのコンストラクタの呼び出しが省略されるからです。
.TP
.B \-fexpensive\-optimizations
比較的コストの高いいくつかの些細な最適化を行います。
.TP
.B \-fdelayed\-branch
ターゲットマシンにおいてこのフラグがサポートされている場合は、遅延分岐
命令後の命令スロットを命令の順番変更によって利用するように設定します。
.TP
.B \-fschedule\-insns
ターゲットマシンにおいてこのフラグがサポートされている場合は、必要な
データを利用可能になるまで待つことによる実行の遅滞を防ぐために、命令
の順番の変更を行います。これは遅い浮動小数点命令やメモリ読み込み命令の実
行において、それらの結果を必要とする命令の前に他の命令を詰め込みます。
.TP
.B \-fschedule\-insns2
`\|\c
.B \-fschedule\-insns\c
\&\|' と似ていますが、レジスタ割当て処理の後にもう一度命令スケジューリングの
段階を置きます。これは、比較的レジスタ数が少なく、メモリロード命令
が 1 サイクルよりも多くを要するマシンにおいて、特に効果的です。
.SH ターゲットオプション
デフォルトでは、GNU CC コンパイラは、現在使用しているマシンと同じタイプの
コードをコンパイルします。しかし、GNU CC はクロスコンパイラ
としてもインストールすることが可能です。実際には、異なったターゲット
マシンのための様々なコンフィギュレーションの GNU CC は、同時にいくつ
もインストールすることが可能です。そこで、どの GNU CC を使用するかを
指定するために、`\|\c
.B \-b\c
\&\|' オプションを使用することができます。
.PP
これに加えて、古い、あるいはより新しいバージョンの GNU CC も同時にいく
つもインストールしていくことができます。これらのうち 1 つ (おそらくもっ
とも新しいもの) がデフォルトとなります。しかし、ひょっとしたら別のものを使
いたくなるかもしれません。
.TP
.BI "\-b " "machine"
引数 \c
.I machine\c
\& は、コンパイルのターゲットマシンを規定します。これは GNU CC をクロス
コンパイラとしてインストールした時に有用です。
.Sp
.I machine\c
\& に指定する値は、GNU CC をクロスコンパイラとしてコンフィギュレーション
した時に与えたマシンタイプと同じです。例えば、80386 上の System V
で実行されるプログラムのために `\|\c
.B configure
i386v\c
\&\|' というコンフィギュレーションを行なったクロスコンパイラを起動した
い場合は、`\|\c
.B \-b i386v\c
\&\|' と指定します。
.Sp
`\|\c
.B \-b\c
\&\|' の設定を省略した場合は、通常は使用しているマシンと同タイプのマシン
のためのコンパイルが行われます。
.TP
.BI "\-V " "version"
引数 \c
.I version\c
\& は、起動される GNU CC のバージョンを規定します。これは複数のバージョンが
インストールされている場合に有用です。例えば、
.I version\c
\& が `\|\c
.B 2.0\c
\&\|' ならば、GNU CC バージョン 2.0 を起動することを意味します。
.Sp
`\|\c
.B \-V\c
\&\|' を指定しなかった場合のデフォルトのバージョンは、GNU CC をインストール
する時に調整可能です。通常は、もっとも一般的な使用に勧めることができる
バージョンがここに指定されます。
.SH マシン依存オプション
それぞれのターゲットマシンタイプは、それぞれの特別なオプションを持つ
ことが可能です。`\|\c
.B \-m\c
\&\|' で始まるオプション群は、様々なハードウェアモデルや
コンフィギュレーション\(em\&例えば 68010 と 68020、
浮動小数点コプロセッサの有無\(em\&
などを選択できます。このオプションを指定することによって、コンパイラは
どれか 1 つのモデル、
あるいはコンフィギュレーションに対するコンパイルが可能です。
.PP
いくつかのコンフィギュレーションは、通常はそのプラットホーム上の
他のコンパイラとのコマンドラインに関するの互換性をとるため
の特別なオプションを用意しています。
.PP
以下は 68000 シリーズのために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-m68000
.TP
.B \-mc68000
68000 のためのコードを生成します。これは 68000 ベースのシステムに対して
コンフィギュレーションを行なったコンパイラのデフォルトです。
.TP
.B \-m68020
.TP
.B \-mc68020
(68000 ではなく) 68020 のためのコードを生成します。これは 68020 ベースの
システムに対してコンフィギュレーションを行なったコンパイラのデフォルト
です。
.TP
.B \-m68881
浮動小数点演算のために 68881 命令を含んだ出力を行います。これはほとんどの
68020 ベースのシステムにおいて、コンパイラのコンフィギュレーション時に
.B \-nfp
を指定されなかった場合のデフォルトです。
.TP
.B \-m68030
68030 のためのコードを生成します。これは 68030 ベースのシステムに対して
コンフィギュレーションを行なったコンパイラのデフォルトです。
.TP
.B \-m68040
68040 のためのコードを生成します。これは 68040 ベースのシステムに対して
コンフィギュレーションを行なったコンパイラのデフォルトです。
.TP
.B \-m68020\-40
68040 のためのコードを生成しますが、新しい命令を使用しません。この結果とし
て得られるコードは、68020/68881, 68030, 68040 のいずれのシステムにおいても、
比較的高い性能を持ちます。
.TP
.B \-mfpa
浮動小数点演算のために Sun FPA 命令を含んだ出力を行います。
.TP
.B \-msoft\-float
浮動小数点演算のためにライブラリを呼び出す出力を行います。
.I 警告:
この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシン
の一般的な C コンパイラの提供するものを使用しますが、これは通常の方法
ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行
ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。
.TP
.B \-mshort
.B int\c
\& 型を \c
.B short int\c
\& 型のように 16 ビット幅とみなします。
.TP
.B \-mnobitfield
ビットフィールド命令を使用しません。`\|\c
.B \-m68000\c
\&\|' は暗黙のうちに
`\|\c
.B \-mnobitfield\c
\&\|' を含みます。
.TP
.B \-mbitfield
ビットフィールド命令を使用します。`\|\c
.B \-m68020\c
\&\|' は暗黙のうちに
`\|\c
.B \-mbitfield\c
\&\|' を含みます。これは変更されていないソースの場合のデフォルトです。
.TP
.B \-mrtd
固定個数の引数をとる関数に対して、異なった関数呼び出し規約を使用します。
これは、リターン時に引数をポップする \c
.B rtd
命令を利用するものです。これは呼び出し側で引数をポップさせる必要がな
いために、1 命令を省略することが可能となります。
.Sp
この呼び出し規約は通常の Unix で使用されている方式とは互換性がありません。そ
のため、Unix コンパイラでコンパイルされたライブラリを呼び出す必要があ
る限りは、使用することはできません。
.Sp
さらに、全ての可変引数をとり得る関数 (
.B printf\c
を含みます) に対して、関数プロトタイプを用意する必要があります。さもないと、
これらの関数に対して誤ったコードが生成されます。
.Sp
さらに、関数に対して多過ぎる引数をつけて呼び出すコードを書いた場合、こ
れは深刻な誤ったコードを生成します。(通常は多過ぎる変数は害を及ぼすこと
なく無視されます。)
.Sp
.B rtd\c
\& 命令は 68010 と 68020 によってサポートされますが、 68000 では使用でき
ません。
.PP
以下は Vax のために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-munix
特定のいくつかのジャンプ命令 (\c
.B aobleq\c
\& 等)
を出力しません。これらの命令で長いレンジを使用した場合、
Vax 用の Unix アセンブラはこれを処理できません。
.TP
.B \-mgnu
これらのジャンプ命令を出力します。アセンブルには GNU アセンブラの使用
を仮定します。
.TP
.B \-mg
浮動小数点数について、d-フォーマットではなく、g-フォーマットのための
コードを出力します。
.PP
以下は SPARC でサポートされている `\|\c
.B \-m\c
\&\|' スイッチです。
.PP
.B \-mfpu
.TP
.B \-mhard\-float
浮動小数点命令を含む出力を行います。これはデフォルトです。
.PP
.B \-mno\-fpu
.TP
.B \-msoft\-float
浮動小数点の処理のためにライブラリを呼び出す出力を行います。
.I 警告:
SPARC 用の GNU 浮動小数点ライブラリは存在しません。
通常はそのマシンの一般的な C コンパイラの提供するものを使用しますが、
これは通常の方法ではクロスコンパイルで直接使用することはできません。
クロスコンパイルを行ないたい場合は、
自分自身で必要なライブラリ関数を用意する必要があります。
.Sp
.B \-msoft\-float
は呼び出し規約を変更します。したがって、
.I 全て
のプログラムをこのオプションでコンパイルしない限り、
このオプションは意味をなしません。
.PP
.B \-mno\-epilogue
.TP
.B \-mepilogue
.B \-mepilogue
を指定することによって (デフォルト)、コンパイラは関数を抜けるため
のコードを常に関数の最後に出力します。関数の途中で関数を抜けるコードは全て、
関数の最後の終了コードへのジャンプとして生成されます。
.Sp
.BR \-mno\-epilogue
を設定することによって、コンパイラは関数から抜けるコードをインライン化
することを試みます。
.PP
.B \-mno\-v8
.TP
.B \-mv8
.TP
.B \-msparclite
これらの 3 つのオプションは SPARC アーキテクチャのバリエーションを選択
するために使用されます。
.Sp
デフォルトでは、(Fujitsu SPARClite 用にコンフィギュレーションしない限
りは) GCC は SPARC アーキテクチャ v7 用のコードを生成します。
.Sp
.B \-mv8
は、SPARC v8 用コードを生成します。v7 コードとの違いは、整数の乗算と整数
の除算が v7 では存在しないが v8 には存在するという点のみです。
.Sp
.B \-msparclite
は、SPARClite 用のコードを生成します。これは v7 には存在せず SPARClite
に存在する、整数乗算、整数除算とスキャン (ffs) 命令を追加します。
.PP
.B \-mcypress
.TP
.B \-msupersparc
これら 2 つのオプションはコード最適化対象のプロセッサを選択するための
ものです。
.Sp
.B \-mcypress
を用いると(これがデフォルト)、
コンパイラは Cypress CY7C602 チップ用にコードを最適化します。
このチップは SparcStation/SparcServer 3xx シリーズに用いられています。
このオプションは古い SparcStation 1, 2, IPX などにも適用できます。
.Sp
.B \-msupersparc
を用いると、コンパイラは SuperSparc CPU 用にコードを最適化します。
このチップは SparcStation 10, 1000, 2000 シリーズに用いられています。
このオプションを用いると、SPARC v8 の全命令セットを用いるようになります。
.PP
以下は Convex のために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-mc1
C1 用の出力を行います。これはコンパイラが C1 用にコンフィギュレーション
を行なわれた時のデフォルトです。
.TP
.B \-mc2
C2 用の出力を行います。これはコンパイラが C2 用にコンフィギュレーション
を行なわれた時のデフォルトです。
.TP
.B \-margcount
引数列の前に、引数の数をワードに置くコードを生成します。いくつかの可搬性
のない Convex や Vax のプログラムはこのワードを必要とします。(デバッガは
不定長引数リストを持つ関数を除いて、このワードを必要としません。これらの
情報はシンボルテーブルに書かれます。)
.TP
.B \-mnoargcount
引数の数を示すワードを省略します。これは変更されていないソースを使用した
場合のデフォルトです。
.PP
以下は、AMD Am29000 のために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-mdw
DW ビットが立っていることを仮定したコードを出力します。これは、ハードウェア
によってバイト操作やハーフワード操作がサポートされているということを
意味します。これはデフォルトです。
.TP
.B \-mnodw
DW ビットが立っていないことを仮定したコードを出力します。
.TP
.B \-mbw
システムがバイト操作やハーフワード書き込み操作をサポートしていることを仮定した
コードを生成します。これはデフォルトです。
.TP
.B \-mnbw
システムがバイト操作やハーフワード書き込み操作をサポートしていないことを仮定し
たコードを生成します。これは暗黙のうちに `\|\c
.B \-mnodw\c
\&\|' を含みます。
.TP
.B \-msmall
スモールメモリモデルを使用します。これは全ての関数のアドレスが単一の
256KB のセグメント内に入ることと、関数の絶対アドレスが 256K 以下にある
ことを仮定します。このオプションは \c
.B call\c
\& 命令を \c
.B const\c
\&, \c
.B consth\c
\&, \c
.B calli\c
\& シーケンスの代わりに使用することを可能にします。
.TP
.B \-mlarge
.B call\c
\& 命令が使用できることを仮定しません。これはデフォルトです。
.TP
.B \-m29050
Am29050 用のコードを生成します。
.TP
.B \-m29000
Am29000 用のコードを生成します。これはデフォルトです。
.TP
.B \-mkernel\-registers
.B gr96-gr127\c
\& レジスタへの参照の代わりに
.B gr64-gr95\c
\& を参照するコードを生成します。このオプションは、ユーザのコードか
ら使用できるグローバルレジスタから区別されたグローバルレジスタの集合
を利用するカーネルのコードをコンパイルする時に使用できます。
.Sp
ただし、このオプションが使用されている時にも `\|\c
.B \-f\c
\&\|'
フラグ中のレジスタ名は通常のユーザモードでの名前を使用します。
.TP
.B \-muser\-registers
通常のグローバルレジスタの集合 \c
.B gr96-gr127\c
\& を使用します。これはデフォルトです。
.TP
.B \-mstack\-check
.B _\|_msp_check\c
\& への呼び出しをそれぞれのスタック調整の後に挿入します。これはしばしば
カーネルのコードにおいて用いられます。
.PP
以下は、Motorola 88K アーキテクチャのために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-m88000
m88100 と m88110 の双方で比較的高性能で動作するコードを生成します。
.TP
.B \-m88100
m88100 に最適なコードを生成します。ただし m88110 においても動作します。
.TP
.B \-m88110
m88110 に最適なコードを生成します。
ただし m88100 においては動作しないかも知れません
.TP
.B \-midentify\-revision
アセンブラ出力中に、ソースファイル名、コンパイラ名とバージョン、
タイムスタンプ、使用されたコンパイルフラグを記した \c
.B ident\c
\& ディレクティブを挿入します。
.TP
.B \-mno\-underscores
シンボル名の最初にアンダースコアキャラクタをつけないアセンブラ出力を生
成します。デフォルトでは個々の名前に対して、アンダースコアをプレフィック
スとして使用します。
.TP
.B \-mno\-check\-zero\-division
.TP
.B \-mcheck\-zero\-division
初期の 88K のモデルはゼロによる除算の処理に問題を持っていました。特に、そ
れらの多くにおいてトラップが生じなかったことは問題でした。これ
らのオプションを使用することによって、ゼロ除算を発見し、例外を知らせる
コードを埋め込むことを禁止 (あるいは明示的に許可) することができます。全
ての 88K 用の GCC のコンフィギュレーションは `\|\c
.B \-mcheck\-zero\-division\c
\&\|' をデフォルトとして使用しています。
.TP
.B \-mocs\-debug\-info
.TP
.B \-mno\-ocs\-debug\-info
88Open Object Compatibility Standard \*(lqOCS\*(rq で定義された
(それぞれのスタックフレーム中で使用されるレジスタに関する) 付加的なデバッグ
情報を取り込みます (または省略します)。これらの付加的な情報は GDB によっ
ては必要とされません。DG/UX, SVr4, Delta 88 SVr3.2 ではデフォルトでこの情
報を含めます。その他の 88K コンフィギュレーションではデフォルトで省略します。
.TP
.B \-mocs\-frame\-position
.TP
.B \-mno\-ocs\-frame\-position
OCS で規定されているように、レジスタの値に対して、スタックフレーム中の
特定の場所に保存されるという動作を強制します (あるいは要求しません)。
DG/UX, Delta88 SVr3.2, BCS のコンフィギュレーションでは `\|\c
.B \-mocs\-frame\-position\c
\&\|' をデフォルトとして、それ以外の 88k コンフィギュレーションでは `\|\c
.B \-mno\-ocs\-frame\-position\c
\&\|' をデフォルトとして使用しています。
.TP
.B \-moptimize\-arg\-area
.TP
.B \-mno\-optimize\-arg\-area
関数の引数がどのような方法でスタックフレームに格納されるかを指定します。
`\|\c
.B \-moptimize\-arg\-area\c
\&\|' はスペースを節約しますが、いくつかのデバッガ (GDB は含まれない) を
クラッシュさせます。`\|\c
.B \-mno\-optimize\-arg\-area\c
\&\|' はより標準に従っています。デフォルトでは GCC は引数エリアの最適化
を行いません。
.TP
.BI "\-mshort\-data\-" "num"
データ参照時に、それらの処理を \c
.B r0\c
\& からの相対参照で行なうことによって小さなコードにすることを可能とします。
これは値のロードを (その他の場合は 2 命令かかるところを) 1 命令で行な
うことを可能にします。\c
.I num\c
\& をこのオプションとともに指定することによって、どのデータ参照が影響
を受けるかを指定することができます。例えば `\|\c
.B \-mshort\-data\-512\c
\&\|' を指定すると、512 バイト以内のディスプレースメントのデータ参照が
影響を受けることになります。
`\|\c
.B \-mshort\-data\-\c
.I num\c
\&\c
\&\|' は \c
.I num\c
\& が 64K よりも大きな時は効果を持ちません。
.PP
.B \-mserialize-volatile
.TP
.B \-mno-serialize-volatile
volatile なメモリへの参照について、シーケンシャルな整合性を持った
コードを生成する、あるいは生成しません。
.Sp
GNU CC はデフォルトではどのプロセッササブモデルを選んだ場合においても、
整合性を常に保証します。これがどのように実現されているかは、サブモデルに
依存しています。
.Sp
m88100 プロセッサはメモリ参照の順番を入れ換えないので、常にシーケンシャルな
整合性は保たれます。もし `\|\c
.B \-m88100\c
\&\|' を使用した場合は、GNU CC はシーケンシャルな整合性を保つための特
別な命令を生成しません。
.Sp
m88110 プロセッサにおけるメモリ参照の順番は、必ずしもそれらの要求を行
なった命令の順番とは一致しません。特に、読み込み命令は、先行する書き込み
命令よりも先に実行され得ます。このような順番の入れ換えは、マルチプロセッサ時に
volatile なメモリの参照におけるシーケンシャルな整合性を崩してしまいます。
`\|\c
.B \-m88000\c
\&\|' または `\|\c
.B \-m88110\c
\&\|' を指定した場合には、GNU CC は、必要な場合は特別な命令を生成し、
命令の実行が正しい順番で行なわれることを強制します。
.Sp
ここで生成される整合性を保証するための特別な命令はアプリケーションの性
能に対して影響を及ぼします。もしこの保証無しで問題がないということがわかっ
ている場合は、`\|\c
.B \-mno-serialize-volatile\c
\&\|' を使用することができます。
.Sp
`\|\c
.B \-m88100\c
\&\|' オプションを使用しているが、m88110 における実行時にシーケンシャルな
整合性が必要とされる場合は、`\|\c
.B \-mserialize-volatile\c
\&\|' を使用するべきです。
.PP
.B \-msvr4
.TP
.B \-msvr3
System V release 4 (SVr4) に関連したコンパイラの拡張を有効 (`\|\c
.B \-msvr4\c
\&\|') あるいは無効 (`\|\c
.B \-msvr3\c
\&\|') にします。これは以下の内容を制御します。
.TP
\ \ \ \(bu
生成するアセンブラの文法の種類 (これは
`\|\c
.B \-mversion\-03.00\c
\&\|' を使用することによって独立に制御できます)。
.TP
\ \ \ \(bu
`\|\c
.B \-msvr4\c
\&\|' は C プリプロセッサに対して `\|\c
.B #pragma weak\c
\&\|' を理解させます。
.TP
\ \ \ \(bu
`\|\c
.B \-msvr4\c
\&\|' は、GCC に SVr4 によって使用されている付加的な宣言ディレクティブ
を生成させます。
.PP
`\|\c
.B \-msvr3\c
\&\|' は、SVr4 を除く全ての m88K コンフィギュレーションにおけるデフォ
ルトです。
.TP
.B \-mtrap\-large\-shift
.TP
.B \-mhandle\-large\-shift
31 ビットより大きいビットシフトを検出するコードを埋め込みます。これらの
オプションを指定することによって、それぞれトラップ、あるいは適切に処理す
るコードが埋め込まれます。デフォルトでは GCC は大きなビットシフトには
特別な対策を行いません。
.TP
.B \-muse\-div\-instruction
非常に初期の 88K アーキテクチャのモデルは除算命令を持っていません。従っ
て、GCC はデフォルトでは除算命令を生成しません。このオプションは除算命令
が安全に使用できるということを指定します。
.TP
.B \-mversion\-03.00
DG/UX コンフィギュレーションには、2 つの SVr4 の種類があります。このオプション
.B \-msvr4
オプションによって hybrid-COFF と real-ELF のどちらが使用されるかを選択します。
他のコンフィギュレーションはこのオプションを無視します。
.TP
.B \-mwarn\-passed\-structs
関数に対して構造体を渡した場合と、関数が構造体を返した場合に警告します。
構造体を渡す規約は C 言語の発展の中で変化しており、移植性の問題をしば
しば生じることになります。デフォルトでは GCC はこの警告を行いません。
.PP
以下のオプションは IBM RS6000 のために定義されたものです。
.PP
.B \-mfp\-in\-toc
.TP
.B \-mno\-fp\-in\-toc
浮動小数点定数を Table of Contents (TOC) に入れるかどうかを指定します。
このテーブルは全てのグローバル変数と関数のアドレスを格納します。デフォルト
では GCC は浮動小数点定数をここに格納します。もし TOC が算術あふれをおこす
場合は、`\|\c
.B \-mno\-fp\-in\-toc\c
\&\|' を使用することによって TOC のサイズを小さくすることが可能であり、
算術あふれを防ぐことができるでしょう。
.PP
以下は IBM RT PC 用に定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-min\-line\-mul
整数の乗算に対してインラインのコード列を生成します。これはデフォルトです。
.TP
.B \-mcall\-lib\-mul
整数の乗算に対して \c
.B lmul$$\c
\& を呼び出します。
.TP
.B \-mfull\-fp\-blocks
フルサイズの浮動小数点データブロックを生成します。これは IBM によって推
奨されている最低限のスクラッチスペースの量を包含します。これはデフォルトです。
.TP
.B \-mminimum\-fp\-blocks
浮動小数点データブロック内に特別なスクラッチスペースを含めません。これに
よって、より小さなコードが生成されますが、実行は遅くなります。
なぜならスクラッチスペースが動的に確保されるからです。
.TP
.B \-mfp\-arg\-in\-fpregs
IBM の関数呼び出し規約とは互換性のない呼び出し手順を使用します。
この規約では浮動小数点引数を浮動小数点レジスタに入れて渡します。
このオプションを指定すると、\c
.B varargs.h\c
\& や \c
.B stdarg.h\c
\& で浮動小数点オペランドが使用できなくなることに注意して下さい。
.TP
.B \-mfp\-arg\-in\-gregs
浮動小数点に対して通常の関数呼び出し規約を使用します。これはデフォルトです。
.TP
.B \-mhc\-struct\-return
1 ワードより大きな構造体を返す時に、レジスタではなくメモリを使用して返します。
これは MetaWare HighC (hc) コンパイラとの互換性を提供します。`\|\c
.B \-fpcc\-struct\-return\c
\&\|' を使用することによって Portable C Compiler (pcc) との互換性を得
ることができます。
.TP
.B \-mnohc\-struct\-return
1 ワードより大きな構造体を返す時に、レジスタによって返される場合があります。
これはその方が便利であると考えられる時に使用されます。これはデフォルトです。
IBM が提供するコンパイラとの互換性を得るためには、`\|\c
.B \-fpcc\-struct\-return\c
\&\|' と
`\|\c
.B \-mhc\-struct\-return\c
\&\|' の双方を使用します。
.PP
以下は MIPS ファミリのために定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.BI "\-mcpu=" "cpu-type"
命令スケジューリング時に、デフォルトのマシンタイプを
.I cpu-type
に仮定します。デフォルトの
.I cpu-type
.BR default
です。この選択はすべてのマシンに対する最長のサイクル数を元にコードを
生成します。これは、生成されるコードがどの MIPS cpu においても適当な速度
で処理されるようにするためです。これ以外の
.I cpu-type
の選択としては、
.BR r2000 ,
.BR r3000 ,
.BR r4000 ,
.BR r6000
があります。特定の
.I cpu-type
を選択した場合は、その特定のチップに適したスケジュールが行われます。
コンパイラは、
.B \-mips2
または
.B \-mips3
スイッチが使用されていない場合は、MIPS ISA (instruction set
architecture) のレベル 1 に合致しないコードを生成することはありません。
.TP
.B \-mips2
MIPS ISA のレベル 2 (branch likely 命令, 平方根命令) による命令群
を出力します。
.B \-mcpu=r4000
.B \-mcpu=r6000
スイッチは、
.BR \-mips2
と共に使用される必要があります。
.TP
.B \-mips3
MIPS ISA のレベル 3 (64 ビット命令) を含む命令群を出力します。
.B \-mcpu=r4000
スイッチは、
.BR \-mips2
と同時に使用する必要があります。
.TP
.B \-mint64
.TP
.B \-mlong64
.TP
.B \-mlonglong128
これらのオプションは現在動作しません。
.TP
.B \-mmips\-as
MIPS アセンブラのためのコードを生成し、
.B mips\-tfile
を起動して通常のデバッグ情報を追加します。
これは OSF/1 リファレンスプラットフォーム
以外の全てのプラットフォームにおけるデフォルトです。
OSF/1 リファレンスプラットフォームは OSF/rose オブジェクトフォーマットを
使用します。スイッチ
.BR \-ggdb ,
.BR \-gstabs ,
.B \-gstabs+
のうちのどれかが使用されている場合は、
.B mips\-tfile
プログラムは、stabs を MIPS ECOFF 中にカプセル化します。
.TP
.B \-mgas
GNU アセンブラ用のコードを生成します。これは OSF/1 リファレンスプラットフォーム
におけるデフォルトです。OSF/1 リファレンスプラットフォームは
OSF/rose オブジェクトフォーマットを使用します。
.TP
.B \-mrnames
.TP
.B \-mno\-rnames
.B \-mrnames
スイッチは出力コードにおいて、レジスタの名前として、ハードウェア名の代
わりに MIPS ソフトウェア名を使用することを指定します。(つまり、
.B a0
.BR $4
の代わりに使用します)。
GNU アセンブラは
.B \-mrnames
スイッチをサポートしません。MIPS アセンブラはソースファイルに対して MIPS
C プリプロセッサを起動するでしょう。
.B \-mno\-rnames
スイッチがデフォルトです。
.TP
.B \-mgpopt
.TP
.B \-mno\-gpopt
.B \-mgpopt
スイッチは、全てのデータ宣言をテキストセクション中の全命令の前に書き出
すことを指定します。これによって、全ての MIPS アセンブラは、
ショートグローバル、あるいは静的なデータアイテムに対して、2 ワードではなく、1 ワードのメモリ参照命令を生成します。
これは最適化が指定された場合のデフォルトです。
.TP
.B \-mstats
.TP
.B \-mno\-stats
.B \-mstats
が指定された場合は、コンパイラによってインラインでない関数が処理される
ごとに、標準エラー出力ファイルに対して、そのプログラムに対する統計情報
を示す 1 行のメッセージを出力します。このメッセージは、保存したレジスタ
の数、スタックのサイズなどを示します。
.TP
.B \-mmemcpy
.TP
.B \-mno\-memcpy
.B \-mmemcpy
スイッチは、全てのブロック転送に対して、インラインコードを生成する代わ
りに、適切なストリング関数
.RB ( memcpy
または
.BR bcopy )
を呼び出すコードを生成します。
.TP
.B \-mmips\-tfile
.TP
.B \-mno\-mips\-tfile
.B \-mno\-mips\-tfile
スイッチを指定すると、
MIPS アセンブラがデバッグサポートのために生成したオブジェクトファイルに対し、
.B mips\-tfile
を使用した後処理を行いません。
.B mips\-tfile
が実行されないと、デバッガからはローカル変数を扱うことができません。
さらに、
.B stage2
.B stage3
のオブジェクトはアセンブラに渡される一時的なファイル名をオブジェクトファイル
中に埋め込まれて持っており、このためそれらを比較した場合に同一のも
のとはみなされません。
.TP
.B \-msoft\-float
浮動小数点演算のためにライブラリを呼び出す出力を行います。
.I 警告:
この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシンの
一般的な C コンパイラの提供するものを使用しますが、これは通常の方法
ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行
ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。
.TP
.B \-mhard\-float
浮動小数点命令を含んだ出力を生成します。これは変更されないソースを使用し
た場合のデフォルトです。
.TP
.B \-mfp64
ステータスワード中の
.B FR
ビットが立っていることを仮定します。これは 32 個の 32 ビット浮動小数点
レジスタの代わりに、32 個の 64 ビットの浮動小数点レジスタが存在するとい
うことを示します。この場合は、同時に
.B \-mcpu=r4000
.B \-mips3
スイッチを指定する必要があります。
.TP
.B \-mfp32
32 個の 32 ビット浮動小数点レジスタが存在するということを仮定します。こ
れはデフォルトです。
.PP
.B \-mabicalls
.TP
.B \-mno\-abicalls
いくつかの System V.4 の移植が位置独立コードのために使用する疑似命令
.BR \&.abicalls ,
.BR \&.cpload ,
.B \&.cprestore
を出力する、あるいは出力しません。
.TP
.B \-mhalf\-pic
.TP
.B \-mno\-half\-pic
.B \-mhalf\-pic
スイッチは、テキストセクション中に参照を配置する代わりに、外部参照を行
なうポインタをデータセクションに配置し、それをロードする動作を指定します。
このオプションは現在まだ動作しません。
.B
.BI \-G num
.I num
バイト以下のグローバル、あるいは静的なアイテムを、通常のデータや bss
セクションではなく、小さなデータ、または bss セクションに配置することを
指定します。
これによりアセンブラは、通常では 2 ワードの参照を行うところを、
グローバルポインタ
.RB ( gp
または
.BR $28 )
を基準とした 1 ワードのメモリ参照命令を生成可能となります。
デフォルトでは MIPS アセンブラが使用される場合、
.I num
は 8 です。また、GNU アセンブラが使用される場合のデフォルトは 0 です。
.BI \-G num
スイッチはアセンブラ、リンカにも同様に渡されます。全てのモジュールは同一の
.BI \-G num
の値でコンパイルされなければなりません。
.TP
.B \-nocpp
MIPS アセンブラに、ユーザアセンブラファイル (`\|\c
.B .s\c
\&\|' 拡張子を持ちます) に対するアセンブル時のプリプロセッサの起動を抑制さ
せます。
.PP
以下は、Intel 80386 ファミリ用に定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-m486
.TP
.B \-mno\-486
386 ではなく 486 に最適化されたコードを出力する、あるいはその逆を行な
う指定を行います。486 用に生成されたコードは 386 で実行可能であり、逆も
また可能です。
.TP
.B \-msoft\-float
浮動小数点演算のためにライブラリを呼び出す出力を行います。
.I 警告:
この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシンの
一般的な C コンパイラの提供するものを使用しますが、これは通常の方法
ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行
ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。
.Sp
関数が浮動小数点数を返す時に 80387 レジスタスタックを使用するマシンに
おいては、`\|\c
.B \-msoft-float\c
\&\|' を使用した場合でも、いくつかの浮動小数点命令が生成されます。
.TP
.B \-mno-fp-ret-in-387
関数からの返り値に FPU のレジスタを使用しません。
.Sp
通常の関数呼び出し規約は、たとえ FPU が存在しなくても
.B float\c
\& と \c
.B double\c
\& の結果を FPU レジスタに入れて返します。したがってこの場合、
オペレーティングシステムは FPU をエミュレートしなければなりません。
.Sp
`\|\c
.B \-mno-fp-ret-in-387\c
\&\|' オプションを指定すると、浮動小数点数も通常の CPU レジスタに入れ
て返されます。
.TP
.B \-mprofiler-epilogue
.TP
.B \-mno-profiler-epilogue
関数から抜けるコードにてプロファイル情報を書き出す追加コードを生成します。
.PP
以下は HPPA ファミリ用に定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-mpa-risc-1-0
PA 1.0 プロセッサ用のコードを出力します。
.TP
.B \-mpa-risc-1-1
PA 1.1 プロセッサ用のコードを出力します。
.TP
.B \-mkernel
カーネルに適したコードを生成します。特に、引数の 1 つとして DP レジスタを
とる
.B add\c
\& 命令の使用を抑制し、その代わりに、\c
.B addil\c
\& 命令を生成します。これは HP-UX リンカの深刻なバグを避けるための措置です。
.TP
.B \-mshared-libs
HP-UX 共有ライブラリとリンクさせるコードを生成します。このオプションはま
だ完全に動作しているわけではなく、どの PA ターゲットにおいてもデフォルト
になっていません。このオプションを指定すると、コンパイラは誤ったコード
を出力し得ます。
.TP
.B \-mno-shared-libs
共有ライブラリとリンクしないコードを生成します。これは全ての PA ターゲット
においてデフォルトのオプションです。
.TP
.B \-mlong-calls
関数の呼び出し先と呼び出し元が同一ファイルに含まれた場合、呼び出し時の
距離が 256K を越える場合でも動作するようなコードを出力します。
このオプションは、リンカから \*(lqbranch out of range errors\*(rq で
リンクを拒否された時以外には使用しないようにしてください。
.TP
.B \-mdisable-fpregs
いかなる形においても、浮動小数点レジスタの使用を禁止します。
これは浮動小数点レジスタに配慮しないコンテキストスイッチを行なう
カーネルに対して有効です。
このオプションを使用して、浮動小数点処理を行なおうとすると、
コンパイラはアボートします。
.TP
.B \-mdisable-indexing
コンパイラに対して、indexing addressing mode を使用しないように指定します。
これによって MACH において MIG によって生成されたコードをコンパイルす
る際の、あまり重要でないいくつかの問題を防ぐことができます。
.TP
.B \-mtrailing-colon
ラベル定義の後にコロンを加えます (ELF アセンブラ用)。
.PP
以下は、Intel 80960 ファミリ用に定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.BI "\-m" "cpu-type"
デフォルトのマシンタイプを
.I cpu-type
に仮定します。これは生成する命令とアドレッシングモード、そして境界条件に
関係します。
デフォルトの
.I cpu-type
.BR kb
です。その他の選択としては
.BR ka ,
.BR mc ,
.BR ca ,
.BR cf ,
.BR sa ,
.BR sb
があります。
.TP
.B \-mnumerics
.TP
.B \-msoft\-float
.B \-mnumerics
オプションはプロセッサが浮動小数点命令をサポートすることを示します。
.B \-msoft\-float
オプションは浮動小数点サポートを仮定しないことを示します。
.TP
.B \-mleaf\-procedures
.TP
.B \-mno\-leaf\-procedures
葉に位置する手続きについて、
.IR call
命令と同様に
.I bal
命令でも呼び出すことを可能とします (あるいは、しません)。これは
.I bal
命令がアセンブラ、またはリンカによって置き換えられ得る場合には、直接呼
び出しに対して効率の良いコードを得ることができます。ただし、それ以外の場
合は効率の良くないコードを生成します。例えば、関数へのポインタ経由の呼び
出しや、この最適化をサポートしないリンカを使用した場合などがこれ
に該当します。
.TP
.B \-mtail\-call
.TP
.B \-mno\-tail\-call
(マシン非依存の部分を越えて) 末尾再帰を分岐に変換する処理に関するさ
らなる最適化を行います(または行いません)。
この手法の適用が正当でないということに関する判断
が完全ではないので、まだこのオプションを使用することは適当でないかも
しれません。デフォルトは
.BR \-mno\-tail\-call
です。
.TP
.B \-mcomplex\-addr
.TP
.B \-mno\-complex\-addr
この i960 の実装では複雑なアドレッシングモードの使用が優位であると仮定
します (あるいは仮定しません)。複雑なアドレッシングモードは K-シリーズでは
使用する価値は無いかも知れませんが、
C-シリーズでは確かに使用する価値があります。
現在は
.B \-mcomplex\-addr
が、CB と CC を除く全てのプロセッサにおけるデフォルトです。
.TP
.B \-mcode\-align
.TP
.B \-mno\-code\-align
より高速なフェッチのためにコードを 8 バイトにアラインします (または何も
しません)。現在では C シリーズの実装においてのみデフォルトで有効にしています。
.TP
.B \-mic\-compat
.TP
.B \-mic2.0\-compat
.TP
.B \-mic3.0\-compat
iC960 v2.0 または v3.0 との互換性を持たせます。
.TP
.B \-masm\-compat
.TP
.B \-mintel\-asm
iC960 アセンブラとの互換性を持たせます。
.TP
.B \-mstrict\-align
.TP
.B \-mno\-strict\-align
アラインされないアクセスを許可しません (あるいは許可します)。
.TP
.B \-mold\-align
Intel による gcc リリースバージョン 1.3 (gcc 1.37 ベース) との構造体の
境界条件に関する互換性を持たせます。現在は、
.B #pragma align 1
が同時に仮定されてしまい、無効化できないというバグを持っています。
.PP
以下は、DEC Alpha 用に定義された `\|\c
.B \-m\c
\&\|' オプションです。
.TP
.B \-mno-soft-float
.TP
.B \-msoft-float
浮動小数点操作に対して、ハードウェアによる浮動小数点命令を使用します (し
ません)。もし、\c
.B \-msoft-float\c
\& が指定された場合は、`\|\c
.B libgcc1.c\c
\&\|' 内の関数が浮動小数点演算に使用されます。ただし、これらのルーチンが
浮動小数点演算をエミュレートするルーチンによって置き換えられているか、
そのようなエミュレーションルーチンを呼び出すようにコンパイルされている
のでない限り、これらのルーチンは浮動小数点演算を行なってしまいます。浮動小
数点演算のない Alpha のためのコンパイルを行なうためには、ライブラリも
これらを呼び出さないようにコンパイルされていなければなりません。
.Sp
浮動小数点演算のない Alpha の実装は、浮動小数点レジスタを必要とすると
いうことに注意して下さい。
.TP
.B \-mfp-reg
.TP
.B \-mno-fp-regs
浮動小数点レジスタセットを使用する (使用しない)コードを生成します。
.B \-mno-fp-regs\c
\& は暗黙のうちに \c
.B \-msoft-float\c
\& を含みます。浮動小数点レジスタセットが使用されない場合は、浮動小数点
オペランドは整数レジスタに入れられて渡され、浮動小数点数の結果は $f0 では
なく $0 に入れて返されます。これは非標準の関数呼び出し手順であり、
浮動小数点数の引数や返り値を持つ関数で、\c
.B \-mno-fp-regs\c
\& をつけてコンパイルされたコードから呼び出される関数はすべてこのオプションを
つけてコンパイルされている必要があります。
.Sp
このオプションの典型的な用法は、浮動小数点レジスタを使用せず、したがっ
て浮動小数点レジスタへのセーブもリストアも必要のないカーネルを構築する
時などがあるでしょう。
.PP
ここに追加するオプションは System V Release 4 において、これらのシステム上の
他のコンパイラとの互換性のために提供されるものです。
.TP
.B \-G
SVr4 システムにおいて、\c
.B gcc\c
\& は `\|\c
.B \-G\c
\&\|' オプションを受け付けます (そして
これをシステムリンカに渡します)。これは他のコンパイラとの互換性のためです。
しかし、リンカオプションを \c
.B gcc
のコマンドラインから渡すよりも、我々は `\|\c
.B \-symbolic\c
\&\|' または `\|\c
.B \-shared\c
\&\|' の使用が適当であると考えています。
.TP
.B \-Qy
コンパイラが使用したそれぞれのツールのバージョンを
.B .ident\c
\& アセンブラディレクティブを使用して、出力で明示します。
.TP
.B \-Qn
.B .ident\c
\& ディレクティブを出力に加えることを抑制します (これは
デフォルトです)。
.TP
.BI "\-YP," "dirs"
`\|\c
.B \-l\c
\&\|' で指定されたライブラリに対して、
.I dirs\c
で規定されたディレクトリのみを検索し、他は検索しません。
.I dirs\c
\& 中は、1 つのコロンで区切ることにより、
複数のディレクトリエントリを記述します。
.TP
.BI "\-Ym," "dir"
M4 プリプロセッサを \c
.I dir\c
\& に検索します。アセンブラがこのオプションを使用します。
.SH コード生成オプション
これらのマシン独立オプションは、
コード生成にて使用されるインタフェース規約を制御します。
.PP
これらのほとんどは `\|\c
\-f\c
\&\|' で始まります。これらのオプションは有効形式と無効形式の 2 つの形式を持っ
ています。`\|\c
.B \-ffoo\c
\&\|' の無効形式は `\|\c
.B \-fno\-foo\c
\&\|' です。以下に挙げる表においては、このうち、デフォルトではない片
方のみが挙げられています。`\|\c
.B no\-\c
\&\|' を追加するか、削除するかによって双方の形式を得ることができます。
.TP
.B \-fnonnull\-objects
参照型によって参照されるオブジェクトはヌルでないと仮定します (C++ のみ)。
.Sp
通常は GNU C++ は参照型によって参照されるオブジェクトに関しては保守的
な仮定を行います。例えば、コンパイラは \c
.B a
が以下のコードにおいてヌルでないことをチェックする必要があります。
.Sp
obj &a = g ();
a.f (2);
.Sp
この種の参照がヌルでないことのチェックは、特別なコードを必要とします。
しかし、これは多くのプログラムにとって無用なものです。
このヌルに対するチェックを必要のない場合 `\|\c
.B \-fnonnull-objects\c
\&\|' を使用することにより、省略することができます。
.TP
.B \-fpcc\-struct\-return
.B struct\c
\& と \c
.B union
の値を返す場合に、普通の C コンパイラが行なうのと同じ規約を使用します。
この規約は小規模な構造体に対して非効率なものとなり、また多くのマシンでその
関数を再入不可能としてしまいます。しかしこれは、GCC でコンパイルされたコード
と PCC でコンパイルされたコードを相互に呼び出すことを可能とするとい
う利点を持ちます。
.TP
.B \-freg\-struct\-return
.B struct
.B union
の値を返す場合に、可能な場合はレジスタを使用する規約を使用します。これは
.BR \-fpcc\-struct\-return
を使用した場合と比較して、小さな構造体を返す場合に高い性能を発揮します。
.Sp
.B \-fpcc\-struct\-return
.BR \-freg\-struct\-return
のどちらも使用しなかった場合には、GNU CC は各ターゲットに対して標準で
あると考えられる規約をデフォルトとして使用します。
もし標準規約がなかった場合は、
.BR \-fpcc\-struct\-return
をデフォルトとして使用します。
.TP
.B \-fshort\-enums
.B enum\c
\& 型に対して、ちょうど取り得る値の範囲に応じたバイト数の型を与えます。
具体的には、\c
.B enum\c
\& 型は、その値域を格納するに十分な最小の整数型と等価になります。
.TP
.B \-fshort\-double
.B double
.B float
\& と同サイズにします。
.TP
.B \-fshared\-data
データと非 \c
.B const\c
\& 変数を、プライベートなデータではなく、共有データとしてコンパイルします。
このオプションは、走行中の同じプログラム間は共有データが共有され、
プライベートデータがそれぞれのプロセスに 1 つずつ与えられるような一部
のオペレーティングシステムで意味を持ちます。
.TP
.B \-fno\-common
bss セクション中の初期化されていないグローバル変数に対してでも、共通ブロック
に生成するのではなく、領域を割り当てます。このオプションは、(\c
.B extern\c
\& をつけずに) 同一の変数を宣言した 2 つのコンパイルに対して、リンク時
にエラーを発生するという効果があります。このオプションは、常にこのような動
作を行なうシステムにおいても、プログラムが正常に動作するかどうかを検査
する場合にのみ有用です。
.TP
.B \-fno\-ident
`\|\c
.B #ident\c
\&\|' ディレクティブを無視します。
.TP
.B \-fno\-gnu\-linker
(C++ のコンストラクタとデストラクタのような) グローバルな初期化のコードを
(GNU リンカがこれらを扱う標準のシステムであるようなシステムにおいて)
GNU リンカで使用される形式で出力しません。これは GNU リンカではない
リンカを使用する場合に指定します。この場合、
.B collect2\c
\& を使用して、確実にシステムリンカにコンストラクタとデストラクタを含
んだコードを出力させる必要があります。(\c
.B collect2\c
\& は GNU CC
のディストリビューションに含まれます。) \c
.B collect2 \c
を\c
.I 必ず使用しなければならない\c
\& システムにおいては、
コンパイラドライバ \c
.B gcc\c
\& は自動的にそのようにコンフィギュレーションされます。
.TP
.B \-finhibit-size-directive
.B .size\c
アセンブラディレクティブなど、関数が途中で分割され、メモリ上の異なった
位置にそれぞれの部分が配置されるような場合に不都合が生じるような要素を
出力しません。このオプションは `\|\c
.B crtstuff.c\c
\&\|' をコンパイルする時に使用されます。それ以外の場所ではこれを使用する
必要はありません。
.TP
.B \-fverbose-asm
出力のアセンブラ中に特別なコメント情報を追加し、可読性を高めます。この
オプションは一般的には、出力のアセンブラコードを本当に読みたい場合 (例え
ばコンパイラ自身をデバッグしているような場合) にのみ効果があります。
.TP
.B \-fvolatile
ポインタによるメモリの参照を全て volatile として扱います。
.TP
.B \-fvolatile\-global
外部変数やグローバルデータアイテムへのメモリ参照を全て volatile として
扱います。
.TP
.B \-fpic
このオプションがターゲットマシンでサポートされていれば、位置独立なコードを
出力します。このオプションは共有ライブラリでの使用に適します。
.TP
.B \-fPIC
このオプションがターゲットマシンでサポートされていれば、位置独立なコードを
出力します。このオプションはダイナミックリンクに適しており、分岐にお
いて大きなディスプレースメントを要求する場合にも適応します。
.TP
.BI "\-ffixed\-" "reg"
名前が \c
.I reg\c
\& のレジスタを固定レジスタとして扱います。生成されたコードはこのレジスタ
を参照しません (ただし、スタックポインタ、フレームポインタ、その他固定用
途の場合を除きます)。
.Sp
.I reg\c
\& はレジスタ名でなければなりません。受け付けられるレジスタ名はマシン固
有であり、マシン記述マクロファイル内の \c
.B REGISTER_NAMES
マクロに記述されたものです。
.Sp
このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で
あるからです。
.TP
.BI "\-fcall\-used\-" "reg"
名前が \c
.I reg\c
\& のレジスタを、関数呼び出しによって破壊される割り当て可能のレジスタ
として取り扱います。これは、関数呼び出しを跨いで存在しない一時領域や変数
として割り当ることができます。この指定でコンパイルされた関数は、レジスタ \c
.I reg\c
\& の保存や復帰を行いません。
.Sp
このフラグをマシンの実行モデルにおいて、ある固定的で特殊な役割を持って
いるレジスタ、例えばスタックポインタやフレームポインタに対して適用する
ことは、破滅的な結果を生みます。
.Sp
このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で
あるからです。
.TP
.BI "\-fcall\-saved\-" "reg"
名前が \c
.I reg\c
\& のレジスタを、関数によって保存される割り当て可能なレジスタとして取
り扱います。これは、関数呼び出しを跨いで存在する一時領域や変数としても割り
当てることができます。この指定でコンパイルされた関数は、レジスタ \c
.I reg\c
\& を使用する場合、その保存と復帰を行います。
.Sp
このフラグをマシンの実行モデルにおいて、ある固定的で特殊な役割を持って
いるレジスタ、例えばスタックポインタやフレームポインタに対して適用する
ことは、破滅的な結果を生みます。
.Sp
また、このフラグを関数の返り値が格納されるレジスタに使用すると、これも
破滅的な結果を生みます。
.Sp
このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で
あるからです。
.SH プラグマ
2 つの `\|\c
.B #pragma\c
\&\|' ディレクティブ(指令)が GNU C++ によってサポートされています。これは、1
つのヘッダファイルを 2 つの目的、つまりあるオブジェクトクラスのための
インタフェースの定義としての目的と、オブジェクトクラスに含まれる内容
の完全な定義としての目的の、両方の目的で使用するためのものです。
.TP
.B #pragma interface
(C++ のみ)
このディレクティブを、オブジェクトクラスを定義しているヘッダファイル中
に使用することによって、それらのクラスを使用するほとんどのオブジェクト
ファイルの大きさを減少させることができます。通常は、
特定の情報 (インラインメンバ関数のバックアップコピー、デバッグ情報、
仮想関数実現のための内部テーブル) の複製がそのクラス定義をインクルードした
それぞれのオブジェクトファイル中に置かれます。
このプラグマを使用することによって、このような複製を防ぐことが
可能となります。`\|\c
.B #pragma interface\c
\&\|' を含んだヘッダファイルをインクルードした場合は、これらの追加情報
は生成されません (ただし、メインの入力ソースファイル自身が `\|\c
.B #pragma implementation\c
\&\|' を含んでいる場合を除きます)。そのかわり、オブジェクトファイルは
リンク時に解決される参照を含むことになります。
.TP
.B #pragma implementation
.TP
\fB#pragma implementation "\fP\fIobjects\fP\fB.h"\fP
(C++ のみ)
インクルードされたヘッダファイルによる完全な出力を生成させたい (またそ
れをグローバルに可視化したい) 場合には、メインの入力ファイル中でこの
プラグマを使用します。この場合、インクルードされるヘッダファイルは、`\|\c
.B #pragma interface\c
\&\|' を使用していなければなりません。インライン関数のバックアップ情報、
デバッグ情報、仮想関数実現用の内部テーブルは、全てインプリメンテーション
ファイル中に生成されます。
.Sp
`\|\c
.B #pragma implementation\c
\&\|' を、引数をつけずに使用した場合は、これはそのソースファイルと同じ
ベースネーム(basename)を持つファイルに対して適用されます。例えば、`\|\c
.B allclass.cc\c
\&\|' 中の `\|\c
.B #pragma implementation\c
\&\|' は、`\|\c
.B #pragma implementation \*(lqallclass.h\*(rq \c
\&\|' と等価です。もし複数のヘッダファイルに対して、
1 つのインプリメンテーションファイルを対応させたい場合は、
文字列の引数を使用する必要があります。
.Sp
1 つのヘッダファイルに対して、複数のインプリメンテーションファイルを対
応させる方法はありません。
.SH 関連ファイル
.nf
.ta \w'LIBDIR/g++\-include 'u
file.c C 言語ソースファイル
file.h C 言語ヘッダ (プリプロセッサ) ファイル
file.i プリプロセス済みの C 言語ソースファイル
file.C C++ ソースファイル
file.cc C++ ソースファイル
file.cxx C++ ソースファイル
file.m Objective-C ソースファイル
file.s アセンブリ言語ファイル
file.o オブジェクトファイル
a.out リンクエディット済みの出力
\fITMPDIR\fR/cc\(** 一時ファイル群
\fILIBDIR\fR/cpp プリプロセッサ
\fILIBDIR\fR/cc1 C 言語コンパイラ
\fILIBDIR\fR/cc1plus C++ コンパイラ
\fILIBDIR\fR/collect いくつかのマシンで必要となるリンカのフロントエンド
\fILIBDIR\fR/libgcc.a GCC サブルーチンライブラリ
/lib/crt[01n].o スタートアップルーチン
\fILIBDIR\fR/ccrt0 C++ 用の付加的なスタートアップルーチン
/lib/libc.a 標準ライブラリ、\c
.IR intro (3) \c
を参照
/usr/include \fB#include\fP ファイルのための標準ディレクトリ
\fILIBDIR\fR/include \fB#include\fP ファイルのための GCC 標準ディレクトリ
\fILIBDIR\fR/g++\-include \fB#include\fP ファイルのための付加的な g++ ディレクトリ
.Sp
.fi
.I LIBDIR
は通常
.B /usr/local/lib/\c
.IR machine / version
の形式を持ちます
.br
.I TMPDIR
は環境変数
.B TMPDIR
(もし使用可能ならば
.B /usr/tmp
を、そうでなければ
.B /tmp\c
\& を使用します) からとられます。
.SH "関連項目"
cpp(1), as(1), ld(1), gdb(1).
.br
.B info \c
中の
.RB "`\|" gcc "\|', `\|" cpp \|',
.RB "`\|" as "\|', `\|" ld \|',
.RB `\| gdb \|'
\& エントリ
.br
.I
Using and Porting GNU CC (for version 2.0)\c
, Richard M. Stallman;
.I
The C Preprocessor\c
, Richard M. Stallman;
.I
Debugging with GDB: the GNU Source-Level Debugger\c
, Richard M. Stallman and Roland H. Pesch;
.I
Using as: the GNU Assembler\c
, Dean Elsner, Jay Fenlason & friends;
.I
ld: the GNU linker\c
, Steve Chamberlain and Roland Pesch.
.SH バグ
バグを報告する方法については、GCC マニュアルを参照してください。
.SH COPYING
Copyright
.if t \(co
1991, 1992, 1993 Free Software Foundation, Inc.
.PP
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.
.PP
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.
.PP
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.
.SH 作者
GNU CC に対して貢献した人々に関しては、GNU CC マニュアルを参照してください。
.SH 日本語訳
細川 達己(hosokawa@mt.cs.keio.ac.jp): NetBSD 用に翻訳
.br
sakai@csl.cl.nec.co.jp,
h-nokubi@nmit.mt.nec.co.jp,
.br
kumano@strl.nhk.or.jp,
horikawa@isrd.hitachi.co.jp: FreeBSD 向けに修正, 査閲
diff --git a/ja_JP.eucJP/man/man1/gdb.1 b/ja_JP.eucJP/man/man1/gdb.1
index 2ed4c1d304..ca5c6e6483 100644
--- a/ja_JP.eucJP/man/man1/gdb.1
+++ b/ja_JP.eucJP/man/man1/gdb.1
@@ -1,366 +1,381 @@
.\" Copyright (c) 1991 Free Software Foundation
.\" See section COPYING for conditions for redistribution
-.\" %Id: gdb.1,v 1.2 1994/12/30 23:25:45 jkh Exp %
+.\" %Id: gdb.1,v 1.6 1997/04/27 21:36:49 gj Exp %
.\" jpman %Id: gdb.1,v 1.2 1997/04/08 00:36:23 h-nokubi Stab %
.TH gdb 1 "4nov1991" "GNU Tools" "GNU Tools"
.SH 名称
gdb \- GNU デバッガ
.SH 書式
.na
.TP
.B gdb
.RB "[\|" \-help "\|]"
.RB "[\|" \-nx "\|]"
.RB "[\|" \-q "\|]"
.RB "[\|" \-batch "\|]"
.RB "[\|" \-cd=\c
.I dir\c
\|]
.RB "[\|" \-f "\|]"
+.RB "[\|" \-k "\|]"
+.RB "[\|" \-wcore "\|]"
.RB "[\|" "\-b\ "\c
.IR bps "\|]"
.RB "[\|" "\-tty="\c
.IR dev "\|]"
.RB "[\|" "\-s "\c
.I symfile\c
\&\|]
.RB "[\|" "\-e "\c
.I prog\c
\&\|]
.RB "[\|" "\-se "\c
.I prog\c
\&\|]
.RB "[\|" "\-c "\c
.I core\c
\&\|]
.RB "[\|" "\-x "\c
.I cmds\c
\&\|]
.RB "[\|" "\-d "\c
.I dir\c
\&\|]
.RB "[\|" \c
.I prog\c
.RB "[\|" \c
.IR core \||\| procID\c
\&\|]\&\|]
.ad b
.SH 解説
GDB をはじめとするデバッガは、プログラムが実行中もしくはクラッシュした時にその
プログラムの ``内部'' で何が行なわれているか/行われていたかを調べるのに
使用されます。
GDB は、4 つの機能 (加えてこれらをサポートする機能) によって
実行中にバグを見つけることを手助けします。
.TP
\ \ \ \(bu
プログラムの動作を詳細に指定してプログラムを実行させる。
.TP
\ \ \ \(bu
指定した条件でプログラムを停止させる。
.TP
\ \ \ \(bu
プログラムが止まった時に、何が起こったか調べる。
.TP
\ \ \ \(bu
バグによる副作用を修正し、別のバグを調べるためプログラムの状態を変更する。
.PP
GDB では C, C++, Modula-2 などで書かれたプログラムのデバッグが行なえます。
GNU Fortran コンパイラが完成すれば Fortran もサポートされます。
GDB はシェルコマンド\c
.B gdb\c
\&で起動されます。いったん起動すると、GDB コマンド\c
.B quit\c
\&を実行して終了するまで、端末からコマンドを読み続けます。
.B gdb\c
\&のオンラインヘルプは(\c
.B gdb\c
の中で)
.B help\c
\&コマンドを実行すれば表示されます。
.B gdb\c
\& は引数やオプション無しで起動できますが、
たいてい、1 つか 2 つの引数を付けて起動します。実行プログラムを
引数にする場合は以下のようになります:
.sp
.br
gdb\ program
.br
.sp
また実行プログラムと core ファイルの両方を指定することもできます:
.sp
.br
gdb\ program\ core
.br
.sp
もし実行中のプロセスのデバッグを行ないたい場合には、
第 2 引数として core の代わりにプロセス ID を指定します:
.sp
.br
gdb\ program\ 1234
.br
.sp
これは GDB をプロセス ID \c
.B 1234\c
\& のプロセスに接続します(このとき`\|\c
.B 1234\c
\&\|'という名前のファイルが存在してはいけません。
GDB はまず core ファイルを最初にチェックしにいくからです)。
よく利用される GDB コマンドには以下のようなものがあります:
.TP
.B break \fR[\|\fIfile\fB:\fR\|]\fIfunction
\&
プレークポイントを \c
\& (\c
.I file\c
\&内の)
.I function\c
に設定します。
.TP
.B run \fR[\|\fIarglist\fR\|]
プログラムの実行を開始します(もしあれば
.I arglist\c
\&を\c
引数として)。
.TP
.B bt
バックトレース: プログラムのスタックを表示します。
.TP
.BI print " expr"\c
\&
式の値を表示します。
.TP
.B c
プログラムの実行を再開します。(たとえばブレークポイントで実行を中断した後で)
.TP
.B next
次のプログラム行を実行します 。
その行内の全ての関数は 1 ステップで実行されます。
.TP
.B step
次のプログラム行を実行します。
もしその行に関数が含まれていれば、その関数内をステップ実行していきます。
.TP
.B help \fR[\|\fIname\fR\|]
GDB コマンド \c
.I name\c
\&についての情報や、
GDB を使う上での一般的な情報を表示します。
.TP
.B quit
GDB を終了します。
.PP
GDB の詳細については\c
.I
Using GDB: A Guide to the GNU Source-Level Debugger\c
\&, by Richard M. Stallman and Roland H. Pesch. を参照して下さい。
同じテキストは、
.B info\c
\& プログラム内の
.B gdb\c
\& エントリからオンラインで参照できます。
.SH オプション
オプション以外の引数は、実行ファイルと core ファイル (もしくはプロセス ID)
を表します。つまりオプションフラグでもオプションフラグの引数でもない最初の
引数は `\|\c
.B \-se\c
\&\|' オプションで指定するファイルと同じになり、(もしあれば)次の 2 番目の引数は
`\|\c
.B \-c\c
\&\|' オプションで指定するファイルと同じになります。
オプションの多くは、長い表記法と短い表記法の両方で指定することができま
すが、ここではその両方を示します。
長い表記法は、どのオプションであるのかが明確であれば、短く切り詰めても
構いません。
(好みにより `\|\c
.B \-\c
\&\|' の代わりに
`\|\c
.B +\c
\&\|' が使用できますが、ここではよく用いられる表記で記します。)
全てのオプションとコマンドライン引数は指定した順番に処理されます。
`\|\c
.B \-x\c
\&\|' オプションが使用されると、この順番は変わってきます。
.TP
.B \-help
.TP
.B \-h
短い説明つきで、全てのオプションを表示します。
.TP
.BI "\-symbols=" "file"\c
.TP
.BI "\-s " "file"\c
\&
シンボルテーブルをファイル \c
.I file\c
\&から読みます。
.TP
.BI "\-exec=" "file"\c
.TP
.BI "\-e " "file"\c
\&
ファイル \c
.I file\c
\& を実行可能ファイルとして利用します。
core dump と連係して pure data を調べるのにも用いられます。
.TP
.BI "\-se=" "file"\c
\&
ファイル \c
.I file\c
\& からシンボルテーブルを読み、同時にそれを実行可能ファイルとして利用します。
.TP
.BI "\-core=" "file"\c
.TP
.BI "\-c " "file"\c
\&
ファイル \c
.I file\c
\& を core dump として利用します。
.TP
.BI "\-command=" "file"\c
.TP
.BI "\-x " "file"\c
\&
ファイル \c
.I file\c
\&から GDB のコマンドを読み込み、実行します。
.TP
.BI "\-directory=" "directory"\c
.TP
.BI "\-d " "directory"\c
\&
ソースファイルを探すサーチパスに \c
.I directory\c
\& を追加します。
.PP
.TP
.B \-nx
.TP
.B \-n
初期化ファイル `\|\c
.B .gdbinit\c
\&\|' からコマンドを読み込みません。
通常は、
全てのコマンドオプションと引数が処理された後で、
初期化ファイル内のコマンドが実行されます。
.TP
.B \-quiet
.TP
.B \-q
起動時のメッセージおよび copyright を表示しません。
これらのメッセージはバッチモードでも抑制されます。
.TP
.B \-batch
バッチモードで動作します。`\|\c
.B \-x\c
\&\|' で指定したファイル(および、-nx か -n で抑制されていなければ `\|\c
.B .gdbinit\c
\&\|') 内の全てのコマンドを
処理した後、戻り値として \c
.B 0\c
\& を返して終了します。
コマンドファイル内の GDB コマンドの実行中にエラーが生じた場合は、
0 以外の値で終了します。
バッチモードは GDB をフィルタとして実行する場合、
たとえばプログラムをダウンロードして別のコンピュータ上で実行したりする場合
に便利です。
以下のメッセージ
.sp
.br
Program\ exited\ normally.(プログラムは正常に終了しました。)
.br
.sp
は通常、GDB の制御端末上で実行されるプログラムが終了するたびに
出力されるものですが、
バッチモードではこのようなメッセージは出力されません。
.TP
.BI "\-cd=" "directory"\c
\&
カレントディレクトリの代わりに \c
.I directory\c
\& を GDB の作業用ディレクトリとして実行します。
.TP
.B \-fullname
.TP
.B \-f
Emacs が GDB をサブプロセスとして実行する際にこのオプションを付加します。
このとき GDB は、スタックフレームが表示される度(プログラムが中断する度を
含みます)に、完全なファイル名と行番号を標準的な認識しやすい形式で表示します。
この表示書式は 2 つの
`\|\c
.B \032\c
\&\|'
文字、ファイル名、コロンで区切られた行番号と文字位置、改行の順になっ
ています。これは Emacs→GDB インタフェースプログラムにおいて、
フレームに対応するソースコードを表示するために 2 つの
`\|\c
.B \032\c
\&\|' 文字を使うことになっているからです。
+.TP
+.B \-kernel
+.TP
+.B \-k
+gdb をカーネルデバッグモードで使用します。
+プロンプトは ``(kgdb)'' になります。
+
+.TP
+.B \-wcore
+このオプションはカーネルデバッグモードで
+「動作中の」カーネルをデバッグしている時のみ使用可能であり、
+コアファイル (/dev/mem) を書き込み可能にします。
+
.TP
.BI "\-b " "bps"\c
\&
リモートデバッグ用に GDB が利用するシリアルインタフェースの転送速度を
(ボーレートまたはビット/秒で)セットします。
.TP
.BI "\-tty=" "device"\c
\&
プログラムの標準入出力に \c
.I device\c
\& を利用します。
.PP
.SH "関連項目"
.B info\c
内の
.RB "`\|" gdb "\|'"
エントリ
\&;
.I
Using GDB: A Guide to the GNU Source-Level Debugger\c
, Richard M. Stallman and Roland H. Pesch, July 1991.
.SH COPYING
Copyright (c) 1991 Free Software Foundation, Inc.
.PP
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.
.PP
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.
.PP
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.
diff --git a/ja_JP.eucJP/man/man1/getNAME.1 b/ja_JP.eucJP/man/man1/getNAME.1
index 8fdf3d2ceb..a06ff3aecd 100644
--- a/ja_JP.eucJP/man/man1/getNAME.1
+++ b/ja_JP.eucJP/man/man1/getNAME.1
@@ -1,65 +1,65 @@
.\" Copyright (c) July 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: getNAME.1,v 1.3.2.2 1998/02/20 17:32:18 jkh Exp %
+.\" %Id: getNAME.1,v 1.7 1997/11/21 07:40:47 charnier Exp %
.\" jpman %Id: getNAME.1,v 1.3 1997/07/22 17:20:08 horikawa Stab %
.Dd July 8, 1996
.Dt getNAME 1
.Os FreeBSD 2.2
.Sh 名称
.Nm getNAME
.Nd マニュアルから ``名称 (Name)'' の章を取り出す
.Sh 書式
.Nm /usr/libexec/getNAME
.Op Fl itw
.Ar
.Sh 解説
.Nm
は、マニュアルから名称の章を取り出します。
オプションが指定されていない場合は、
.Nm
は、
.Xr apropos 1
データベースのエントリを作成します。
.Pp
オプションには、以下のようなものがあります。
.Bl -tag -width indent
.It Fl i
導入エントリを作成します。
.It Fl t
目次を作成します。
.It Fl w
マニュアルのタイプを OLD, NEW, UNKNOWN のいずれかで表示します。
.El
.\" .Sh バグ
.Sh 関連項目
.Xr apropos 1 ,
.Xr makewhatis 1 ,
.Xr man 1
.Sh 歴史
.Nm
コマンドのためのマニュアルは
.Fx 2.2
から導入されました。
diff --git a/ja_JP.eucJP/man/man1/grep.1 b/ja_JP.eucJP/man/man1/grep.1
index acf488132f..0344107757 100644
--- a/ja_JP.eucJP/man/man1/grep.1
+++ b/ja_JP.eucJP/man/man1/grep.1
@@ -1,369 +1,377 @@
.TH GREP 1 "1992 September 10" "GNU Project"
.\" jpman %Id: grep.1,v 1.3 1997/07/21 07:22:12 konuma Stab %
.SH 名称
-grep, egrep, fgrep \- パターンにマッチする行を表示する
+grep, egrep, fgrep, zgrep \- パターンにマッチする行を表示する
.SH 書式
.B grep
[\-[AB] num]
[\-HRPS]
[\-CEFGLVabchilnqsvwx]
[\-e expr]
[\-f file]
files...
.SH 解説
.B grep
は、
.I files
で名前を指定されたファイル (ファイルが指定されてないか
.I files
の部分に
.B \-
が指定された場合は標準入力) を読み込み、
.I pattern
で指定したパターンにマッチする部分を含んでいるかどうかを、行毎に調べます。
デフォルト動作では、マッチした行を表示します。
.PP
.B grep
は、以下のオプションにより大きく 3 つの動作に分かれます。
.PD 0
.TP
.B \-G
.I pattern
として、基本的な正規表現を扱うモードです (下記参照)。デフォルトです。
.TP
.B \-E
.I pattern
として、拡張された正規表現を扱うモードです (下記参照)。
.TP
.B \-F
.I pattern
として、改行で区切られた固定の文字列パターンのリストを扱うモードです。
その文字列のどれかにマッチするかどうか調べます。
.LP
さらに、2 つの同種のプログラム
.B egrep
.B fgrep
が利用可能です。
.B egrep
は、
.B "grep\ \-E"
と似ています (が等価ではありません) し、歴史的な UNIX の
.B egrep
と互換性があります。
.B fgrep
は、
.B "grep\ \-F"
と同じです。
+.BR zgrep
+として呼ばれた場合には、
+.BR \-Z
+オプションが仮定されます。
.PD
.LP
全ての
.B grep
の変種は、以下のようなオプションを理解します:
.PD 0
.TP
.BI \- num
.I num
で指定した行数だけ、パターンにマッチした行の前後の行も表示します。
ただし、同じ行を 2 度以上表示する事はありません。
.TP
.BI \-A " num"
.I num
で指定した行数だけ、パターンにマッチした行の後の行も表示します。
.TP
.BI \-B " num"
.I num
で指定した行数だけ、パターンにマッチした行の前の行も表示します。
.TP
.B \-C
.B \-2
を指定した事と同じです。
.TP
.B \-V
.B grep
のバージョン番号を標準エラー出力に表示します。バグレポート
には、この番号を付記してください (下記参照)。
.TP
.B \-a
バイナリファイルの検索を行いません。
.TP
.B \-b
各行の前に、ファイルの先頭からのバイト単位のオフセットを表示します。
.TP
.B \-c
各行の表示はせず、マッチした行数だけを表示します。
.B \-v
オプションと共に指定した場合は、
マッチしなかった行数の表示となります (下記参照)。
.TP
.BI \-e " pattern"
パターンを指定します。
.B \-
で始まっているパターンを保護するために有効です。
.TP
.BI \-f " file"
パターンを
.I file
から読み込みます。
.TP
.B \-h
複数ファイルを検索した時に、出力の前にファイル名を付けることを抑制します。
.TP
.B \-i
パターンマッチにおいて、英大文字と小文字の区別をしないようにします。
.TP
.B \-L
通常の表示を抑止します;
このオプションを指定しなかったときに
全く出力されない入力ファイルの名前を表示します。
.TP
.B \-l
通常の表示を抑止します;
このオプションを指定しなかったときに
出力される入力ファイルの名前を表示します。
.TP
.B \-n
各行の出力の前に、入力ファイルにおける行番号を表示します。
.TP
.B \-q
静粛; 通常の表示を抑止します。
.TP
.B \-s
指定されたファイルが存在しないことや読み込みできないことを示す
エラーメッセージを抑止します。
.TP
.B \-v
マッチの意味を逆転します。すなわち、マッチしない行を対象にします。
.TP
.B \-w
完全な語にマッチする行のみを選択します。
部分文字列が行頭から始まっているか、
語でない文字列が前にあることがテストされます。
同様に、行末か語でない文字列が後に付いいる必要があります。
単語とは、レター・数字・アンダスコアからなる文字列です。
.TP
.B \-x
行全体がマッチする行のみを選択します。
.PP
FTS ライブラリとともにコンパイルした場合、以下のオプションが
利用可能です:
.PD 0
.TP
.BI \-H
.I \-R
オプション指定時に、
コマンドラインのシンボリックリンクを辿ります
(木を探索している時に遭遇したシンボリックリンクは辿りません) 。
.TP
-
.BI \-L
.I \-R
オプション指定時に、全てのシンボリックリンクを辿ります。
.TP
-
.BI \-P
.I \-R
オプション指定時に、シンボリックリンクを辿りません。
.TP
-
.BI \-R
ファイルのみを検索する代わりに、ファイルを根とするファイル階層を検索します。
.TP
-
+.LP
+次のオプションは zlib ライブラリと共にコンパイルした場合のみ使用可能です:
+.PD 0
+.TP
+.BI \-Z
+.I \-Z
+オプションが指定されると、検索前に入力ファイルを伸長します。
+.TP
.PD
.SH "正規表現"
.PP
正規表現は、文字列の集合を表現するパターンの事です。正規表現は、より小さな
表現を組み合わせるさまざまな演算子を用いる事により、数式表現と同じような
表現を作成する事ができます。
.PP
.B grep
は、「基本」正規表現と
「拡張」正規表現の 2 種類の正規表現を扱う事ができます。
.RB "GNU\ " grep
では、どちらの表現も機能的に違いありません。
他の実装では、基本正規表現は拡張正規表現より能力が低くなっています。
ここでは、拡張正規表現について説明します。
基本正規表現との違いは、その後に説明します。
.PP
正規表現の基本単位は、1 文字にマッチします。
レターや数字などの多くの文字は、それ自身にマッチします。
また、特殊な意味があるメタ文字も、その文字の前にバックスラッシュ
を付ける事で、その本来の文字にマッチするようになります。
.PP
.B [
.B ]
で囲まれた文字のリストは、そのリストの中に含まれるどれか 1 文字にマッチします。
ただし、リストの先頭がキャレット
.B ^
の場合は、そのリストに含まれ
.I ない
文字にマッチします。
例えば、正規表現
.B [0123456789]
は数字 1 文字にマッチします。
ASCII 文字の範囲は最初と最後の文字をハイフン (`-') でつなぐことで
指定できます。最後に、特定の名前を持つ文字クラスが既定義されています。
名前が内容を示しており、それらは、
.BR [:alnum:] ,
.BR [:alpha:] ,
.BR [:cntrl:] ,
.BR [:digit:] ,
.BR [:graph:] ,
.BR [:lower:] ,
.BR [:print:] ,
.BR [:punct:] ,
.BR [:space:] ,
.BR [:upper:] ,
.B [:xdigit:]
です。
例えば、
.B [[:alnum:]]
.B [0-9A-Za-z]
と同じですが、後者は ASCII コード順に依存しますので、前者の方が可搬的です。
(注: クラス名の鈎括弧はシンボル名の一部であり、
リストを区切る鈎括弧とは別に指定する必要があります。)
リストの中では、ほとんどの特殊文字は、通常の文字として扱われます。
リテラル
.B ]
を含むためにはリストの先頭に置いてください。同様に、リテラル
.B ^
を含むためには先頭以外に置いてください。リテラル
.B \-
を含むためには、最後に置いてください。
.PP
ピリオド
.B .
は、任意の 1 文字にマッチします。
シンボル
.B \ew
は、
.B [[:alnum:]]
と同じで、
シンボル
.B \eW
は、
.B [^[:alnum:]]
と同じです。
.PP
キャレット
.B ^
と、
ドル記号
.B $
は、それぞれ行頭と行末の空文字列にマッチするメタ文字です。
シンボル
.B \e<
とシンボル
.B \e>
は、それぞれ単語の先頭と単語の末尾の空文字列にマッチするメタ文字です。
シンボル
.B \eb
は単語の端の空文字列にマッチします。
シンボル
.B \eB
は単語の端
.I 以外
の空文字列にマッチします。
.PP
1 文字にマッチする正規表現の後には、繰り返し演算子が付くことがあります:
.PD 0
.TP
.B ?
直前の項目はオプションであり、最大 1 回マッチします。
.TP
.B *
直前の項目は 0 回以上マッチします。
.TP
.B +
直前の項目は 1 回以上マッチします。
.TP
.BI { n }
直前の項目は厳密に
.I n
回マッチします。
.TP
.BI { n ,}
直前の項目は
.I n
回以上マッチします。
.TP
.BI {, m }
直前の項目はオプションであり、最大
.I m
回マッチします。
.TP
.BI { n , m }
直前の項目は、最低
.I n
回、最大
.I m
回マッチします。
.PD
.PP
2 つの正規表現は結合可能です;
結果としてできあがる正規表現は、
結合された 2 つの部分表現にそれぞれマッチする
2 つの部分文字列を結合した任意の文字列にマッチします。
2 つの正規表現は
.B |
インフィクス演算子で繋ぐことができます;
結果としてできあがる正規表現は、
どちらかの部分表現にマッチする任意の文字列にマッチします。
.PP
繰り返しは結合に優先します。また結合は選言に優先します。
部分表現全体は括弧で括って、この順序に優先させることができます。
.PP
.I n
が 1 つの数字であるような、
後方参照
.BI \e n\c
\& は、正規表現中で括弧で囲まれた
.I n
番目の部分表現にマッチします。
.PP
基本正規表現では、メタ文字
.BR ? ,
.BR + ,
.BR { ,
.BR | ,
.BR ( ,
.B )
は、特殊な意味を失います; 代わりに、バックスラッシュを付けた
.BR \e? ,
.BR \e+ ,
.BR \e{ ,
.BR \e| ,
.BR \e( ,
.B \e)
を使用してください。
.PP
.B egrep
では、
.B {
は、特殊な意味を失います; 代わりに、
.B \e{
を使う必要があります。
.SH 診断
通常、パターンにマッチした行が見つかった場合は 0 を、
見つからなかった場合は 1 を返します。(ただし、
.B \-v
オプションを指定した場合は、逆になります。)
パターンの指定の仕方が間違っていたり、ファイルがアクセスできないなどの
エラーが発生した場合は、2 を返します。
.SH バグ
バグレポートは、
.B bug-gnu-utils@prep.ai.mit.edu
まで Email してください。この時、``Subject:'' のどこにでもいいですから
``grep'' という単語を
忘れずに入れてください。
.PP
.BI { m , n }
の表現で非常に大きな繰り返しを指定すると、非常に多くのメモリを消費します。
さらに、ある種のあいまいな正規表現を指定すると、必要となる時間とメモリ領域は
指数的に増大し、メモリ不足を起こす可能性があります。
.PP
後方参照は非常に動作が遅く、必要となる時間は指数的に増大します。
diff --git a/ja_JP.eucJP/man/man1/grops.1 b/ja_JP.eucJP/man/man1/grops.1
index 4d9305bdca..8449583714 100644
--- a/ja_JP.eucJP/man/man1/grops.1
+++ b/ja_JP.eucJP/man/man1/grops.1
@@ -1,796 +1,796 @@
.\" jpman %Id: grops.1,v 1.2 1997/06/15 11:25:35 horikawa Stab %
.ig \"-*- nroff -*-
Copyright (C) 1989-1995 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.
..
.\" Like TP, but if specified indent is more than half
.\" the current line-length - indent, use the default indent.
.de Tp
.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
.el .TP "\\$1"
..
.TH GROPS 1 "8 September 1996" "Groff Version 1.10"
.SH 名称
grops \- groff 用 PostScript ドライバ
.SH 書式
.B grops
[
.B \-glmv
] [
.BI \-b n
] [
.BI \-c n
] [
.BI \-w n
] [
.BI \-F dir
] [
.IR files \|.\|.\|.
]
.SH 解説
.B grops
は GNU
.B troff
の出力を PostScript に変換します。
通常
.B grops
は groff コマンドを
.B \-Tps
オプション付きで起動した時に起動されます。
.if 'ps'ps' (groff のデフォルトです。)
ファイルを指定しないと、
.B grops
は標準入力を読みます。
ファイル名
.B \-
を指定しても、
.B grops
は標準入力を読みます。
PostScript 出力は標準出力に書きます。
.B grops
.B groff
から起動する場合、
.B groff
.B \-P
により、オプションを
.B grops
に渡せます。
.SH オプション
.TP
.BI \-b n
不良なスプーラとプレビュアのための対処をします。
通常、
.B grops
Document Structuring Conventions version 3.0 を満たす出力を生成します。
.I n
は、不良プログラムが受理可能な出力を
.B grops
が行うように制御します。
値 0 は grops に何も対処しないようにさせます。
.B %%BeginDocumentSetup
.B %%EndDocumentSetup
のコメントを生成してはならない場合 1 を加えます;
初期バージョンの TranScript は
.B %%EndProlog
コメントと最初の
.B %%Page
コメントとの間で混乱させられましたので、これが必要です。
インクルードされたファイルで
.B %!
から始まる行を取り除かねばならない時には 2 を加えます;
Sun の pageview プレビュアで必要です。
インクルードされたファイルから
.BR %%Page ,
.BR %%Trailer ,
.B %%EndProlog
コメントを取り除かねばならない時には 4 を加えます;
.B %%BeginDocument
.B %%EndDocument
のコメントを理解しないスプーラに対して必要です。
PostScript 出力の最初の行が
.B %!PS-Adobe-3.0
ではなく
.B %!PS-Adobe-2.0
でなければならない時には 8 を加えます;
Sun の Newsprint をページ逆順を要求するプリンタと共に使用する時に必要です。
デフォルト値は
.RS
.IP
.BI broken\ n
.LP
コマンドを DESC ファイルに記述することで指定可能です。
そうでない場合はデフォルト値は 0 です。
.RE
.TP
.BI \-c n
各ページを
.I n
部ずつ印刷します。
.TP
.BI \-g
ページ長を予測します。
ページ長を予測する PostScript コードを生成します。
イメージ領域が垂直位置でページの中心に有る時のみ、予測は正しいはずです。
このオプションにより、変更無しで
letter (8.5\(mu11) と A4 の両方に印刷可能な文書を生成可能です。
.TP
.B \-l
文書をランドスケープ形式にて印刷します。
.TP
.B \-m
文書に対し手動フィードを有効にします。
.TP
.BI \-F dir
ディレクトリ
.IB dir /dev name
からフォントとデバイス記述ファイルを探します;
.I name
はデバイス名であり、通常
.B ps
です。
.TP
.BI \-w n
線の太さを M の横幅 (em) の 1000 分の
.I n
にて描画します。
.TP
.B \-v
バージョン番号を表示します。
.SH 使用方法
.BR R ,
.BR I ,
.BR B ,
.B BI
と呼ばれるスタイルがフォント位置 1 から 4 までにマウントされます。
フォントはファミリ
.BR A ,
.BR BM ,
.BR C ,
.BR H ,
.BR HN ,
.BR N ,
.BR P ,
.B T
にまとめられ、これらのスタイル中にメンバを持ちます:
.de FT
.if '\\*(.T'ps' .ft \\$1
..
.TP
.B AR
.FT AR
AvantGarde-Book
.FT
.TP
.B AI
.FT AI
AvantGarde-BookOblique
.FT
.TP
.B AB
.FT AB
AvantGarde-Demi
.FT
.TP
.B ABI
.FT ABI
AvantGarde-DemiOblique
.FT
.TP
.B BMR
.FT BMR
Bookman-Light
.FT
.TP
.B BMI
.FT BMI
Bookman-LightItalic
.FT
.TP
.B BMB
.FT BMB
Bookman-Demi
.FT
.TP
.B BMBI
.FT BMBI
Bookman-DemiItalic
.FT
.TP
.B CR
.FT CR
Courier
.FT
.TP
.B CI
.FT CI
Courier-Oblique
.FT
.TP
.B CB
.FT CB
Courier-Bold
.FT
.TP
.B CBI
.FT CBI
Courier-BoldOblique
.FT
.TP
.B HR
.FT HR
Helvetica
.FT
.TP
.B HI
.FT HI
Helvetica-Oblique
.FT
.TP
.B HB
.FT HB
Helvetica-Bold
.FT
.TP
.B HBI
.FT HBI
Helvetica-BoldOblique
.FT
.TP
.B HNR
.FT HNR
Helvetica-Narrow
.FT
.TP
.B HNI
.FT HNI
Helvetica-Narrow-Oblique
.FT
.TP
.B HNB
.FT HNB
Helvetica-Narrow-Bold
.FT
.TP
.B HNBI
.FT HNBI
Helvetica-Narrow-BoldOblique
.FT
.TP
.B NR
.FT NR
NewCenturySchlbk-Roman
.FT
.TP
.B NI
.FT NI
NewCenturySchlbk-Italic
.FT
.TP
.B NB
.FT NB
NewCenturySchlbk-Bold
.FT
.TP
.B NBI
.FT NBI
NewCenturySchlbk-BoldItalic
.FT
.TP
.B PR
.FT PR
Palatino-Roman
.FT
.TP
.B PI
.FT PI
Palatino-Italic
.FT
.TP
.B PB
.FT PB
Palatino-Bold
.FT
.TP
.B PBI
.FT PBI
Palatino-BoldItalic
.FT
.TP
.B TR
.FT TR
Times-Roman
.FT
.TP
.B TI
.FT TI
Times-Italic
.FT
.TP
.B TB
.FT TB
Times-Bold
.FT
.TP
.B TBI
.FT TBI
Times-BoldItalic
.FT
.LP
ファミリのメンバではない以下のフォントもあります:
.TP
.B ZCMI
.FT ZCMI
ZapfChancery-MediumItalic
.FT
.LP
.B SS
および
.B S
と呼ばれる特別なフォントも有ります。
Zapf Dingbats は
.BR ZD
として、逆バージョンの ZapfDingbats (シンボルが逆向き) は
.B ZDR
として使用可能です;
これらのフォントのほとんどの文字は名前が無いので、
.B \eN
にてアクセスせねばなりません。
.LP
.B grops
.B \eX
エスケープシーケンスにより生成された様々な X コマンドを理解します;
.B grops
.B ps:
タグから始まるコマンドのみを翻訳します:
.TP
.BI \eX'ps:\ exec\ code '
.I code
中の任意の PostScript コマンドを実行します。
.I code
実行前に PostScript の現在位置は
.B \eX
の位置に設定されます。
原点はページの左上になり、y 座標はページを下ると増加します。
プロシジャ
.B u
は、groff の単位を有効な座標系のものに変更するように定義されます。
例えば、
.RS
.IP
.B
\&.nr x 1i
.br
.B
\eX'ps: exec \enx u 0 rlineto stroke'
.br
.RE
.IP
は 1 インチ長の水平線を描画します。
.I code
はグラフィックステートを変更し得ますが、ページの終端までしか継続しません。
.B def
.B mdef
により指定される定義を含む辞書は、辞書スタックの頭に有るでしょう。
あなたのコードがこの辞書に定義を付加するなら、
.BI \eX'ps\ mdef \ n '\fR
を使用して、そのための空間を割り当てる必要が有ります。
定義はページの終りまでしか継続しません。
.B \eY
エスケープシーケンスをマクロを名付ける引数と共に使うと、
.I code
を複数行に渡らせることが出来ます。
例えば、
.RS
.IP
.nf
.ft B
\&.nr x 1i
\&.de y
\&ps: exec
\&\enx u 0 rlineto
\&stroke
\&..
\&\eYy
.fi
.ft R
.LP
は 1 インチ長の水平線を描画する別の方法です。
.RE
.TP
.BI \eX'ps:\ file\ name '
.B exec
コマンドと同様ですが、コードをファイル
.I name
から読みます。
.TP
.BI \eX'ps:\ def\ code '
.I code
の PostScript 定義をプロログ部に置きます。
.B \eX
コマンドに対し最大 1 定義までです。
長い定義は複数の
.B \eX
コマンドに渡り分割できます;
全ての
.I code
引数は、改行で区切られ、単純に連結されます。
定義は、
.B exec
コマンド実行時に辞書スタックに自動的にプッシュされる辞書に置かれます。
.B \eY
エスケープシーケンスをマクロを名付ける引数と共に使うと、
.I code
を複数行に渡らせることが出来ます。
.TP
.BI \eX'ps:\ mdef\ n\ code '
.B def
と同様ですが、
.I code
.I n
個まで定義を保持し得ます。
.B grops
は何個の定義を
.I code
が含むのかを知る必要が有るので、これらを含む適切な大きさの PostScript 辞書
を生成できます。
.TP
.BI \eX'ps:\ import\ file\ llx\ lly\ urx\ ury\ width\ \fR[\fP\ height\ \fR]\fP '
-PostScript グラフィクスを
+PostScript グラフィックスを
.I file
からインポートします。
引数
.IR llx ,
.IR lly ,
.IR urx ,
.I ury
は、デフォルトの PostScript 座標系における
グラフィックのバウンディングボックスを与えます;
すべて整数である必要が有ります;
.I llx
.I lly
はグラフィックの左下の x y 座標です;
.I urx
.I ury
はグラフィックの右上の x y 座標です;
.I width
.I height
は整数であり、groff の単位でグラフィックの幅と高さを与えます。
グラフィックは延び縮みして、この幅と高さになり、
グラフィックの左下角は
.B \eX
コマンドにて関連づけられた場所に位置します。
引数 height を省略すると、x y 方向が同等に縮尺され、
指定した幅になります。
.B \eX
コマンドの内容は
.B troff
が解釈しないことに注意して下さい;
グラフィックのための垂直方向の空白は自動的に付加されず、
.I width
.I height
の引数にスケーリングインジケータを付加することは許されません。
PostScript ファイルが Adobe Document Structuring Conventions から成り、
.B %%BoundingBox
コメントを含む場合、
.B sy
リクエストによる
.B psbb
コマンド実行により、groff 中でバウンディングボックスを自動的に取得可能です。
.RS
.LP
.B \-mps
マクロ (
.B grops
が groff コマンドから起動された時には自動的にロードされます) は、
画像を容易にインポート出来るようにする
.B PSPIC
マクロをインクルードします。
フォーマットは以下です。
.IP
\&\fB.PSPIC\fP [ \fB\-L\fP | \fB-R\fP | \fB\-I\fP \fIn\fP ]\ \"
\fI\|file\fP [ \fIwidth\fP [ \fIheight\fP ]]
.LP
.I file
は画像を含むファイル名;
.I width
.I height
は要求する画像の横幅と高さです。
引数
.I width
.I height
にはスケーリングインジケータを付けても構いません;
デフォルトのスケーリングインジケータは
.B i
です。
このマクロは、
画像の幅が
.I width
以下および
画像の高さが
.I height
以下の範囲において、画像を x y 方向同等で縮尺します。
デフォルトで、画像は水平的に中心に置かれます。
.BI \-L
および
.BI \-R
はそれぞれ画像を左寄せおよび右寄せします。
.B \-I
オプションは、画像を
.I n
だけインデントします。
.RE
.TP
.B \eX'ps:\ invis'
.br
.ns
.TP
.B \eX'ps:\ endinvis'
これらの
.B \eX
コマンドにて囲まれたテキストと描画コマンドは出力を生成しません。
このコマンドは、
.B troff
の出力を
.B grops
で処理する前に見るために有ります;
プレビュアがある文字または構造を表示できない時、
これらの
.B \eX
コマンドで囲むことにより、
代わりの文字または構造をプレビュー用に使えます。
.RS
.LP
例えば、標準の X11 フォントには含まれませんので、
.B gxditview
.B \e(em
文字を正しく表示できません;
この問題は以下のリクエストを実行することにより解決できます。
.IP
.ft B
.nf
\&.char \e(em \eX'ps: invis'\e
\eZ'\ev'-.25m'\eh'.05m'\eD'l .9m 0'\eh'.05m''\e
\eX'ps: endinvis'\e(em
.ft
.fi
.LP
この場合、
.B gxditview
.B \e(em
文字を表示できず線を引きますが、
.B grops
.B \e(em
文字を印刷し線を無視します。
.RE
.LP
.B grops
への入力は
.B troff (1)
の出力形式である必要が有ります。
これは
.B groff_out (5)
に記載してあります。
また、使用するデバイスに関するデバイス及びフォントの記述ファイルは
仕様に合致する必要が有ります。
.B ps
デバイスに対して提供されているデバイス及びフォントの記述ファイルは
完全にこの仕様に合致します。
.BR afmtodit (1)
を使って AFM ファイルからフォントファイルを生成可能です。
解像度は、整数値かつ
.B sizescale
の 72 倍の倍数である必要が有ります。
.B ps
デバイスは解像度 72000 および sizescale 1000 を使用します。
デバイス記述ファイルはコマンド
.IP
.BI paperlength\ n
.LP
を含む必要が有ります。これは生成される出力が、ページ長
.I n
マシン単位に適していることを意味します。
各フォント記述ファイルはコマンド
.IP
.BI internalname\ psname
.LP
を含む必要が有ります。これは PostScript におけるフォント名が
.I psname
であることを意味します。
また、コマンド
.IP
.BI encoding\ enc_file
.LP
を含む場合も有ります。これは PostScript フォントが
.I enc_file
に記載されたエンコード方式で再度エンコードする必要が有ることを意味します;
このファイルは以下の形式の行のシーケンスから成ります:
.IP
.I
pschar code
.LP
ここで
.I pschar
は PostScript における文字名であり、
.I code
はエンコードにおける位置を 10 進整数で表したものです。
フォントファイルにおいて与えられる各文字のコードは、
エンコードファイルにおける文字のコードに対応するか、
もしくは PostScript フォントが再度エンコードされていない場合は
デフォルトエンコードにおけるコードに対応する必要が有ります。
このコードを
.B \eN
エスケープシーケンスと共に
.B troff
中で使うことにより文字を選択可能です。
これは、文字が groff での名前を持たなくても可能です。
フォントファイル中の全ての文字は PostScript フォント中に存在することが
必要であり、
フォントファイル中で与えられる幅は PostScript フォントで使用される幅に
マッチする必要が有ります。
.B grops
は、groff における名前が
.B space
である文字をブランク (ページ上に何も印を付けない) であるとしています;
これにより、効率の良い小さな PostScript 出力が得られます。
.LP
.B grops
は文書印刷に必要なダウンロード可能なフォントを自動的にインクルードします。
要求時に
.B grops
にインクルードされるダウンロード可能な全てのフォントは
.B /usr/share/groff_font/devps/download
に列挙する必要が有ります;
これは以下の形式の複数の行から成ります。
.IP
.I
font filename
.LP
ここで
.I font
はフォントの PostScript における名前であり、
.I filename
はフォントを含むファイルの名前です;
.B #
から始まる行と空行は無視されます;
フィールドはタブもしくは空白により区切ります;
.I filename
の検索は、groff のフォントメトリックファイルの検索と同じ方式で行われます。
.B download
ファイル自身も同じ方式で検索されます。
.LP
ダウンロード可能なフォントもしくはインポートされた文書を含むファイルが
Adobe Document Structuring Conventions を満たす場合、
.B grops
はファイル中のコメントを十分解釈し、出力もこれを満たすようにします。
また、
.B download
ファイルに列挙された必要なフォントリソースおよびファイルリソースを提供します。
また、リソース間の依存関係を扱うことも可能です。
例えば、ダウンロード可能な Garamond フォントおよび
ダウンロード可能な Garamond-Outline フォントが有り、
後者が前者に依存すると仮定すると
(概して、後者は前者のフォント辞書をコピーして PaintType を変更したものと
定義されます)、PostScript 文書中で Garamond が Garamond-Outline より前に
現れる必要が有ります。
.B grops
がこれを自動的に扱うためには、
Garamond-Outline 用のダウンロード可能なフォントファイルが
Garamond に依存することを
Document Structuring Conventions を使用して示します。
例えば以下のように始めることで示します。
.IP
.B
%!PS-Adobe-3.0 Resource-Font
.br
.B
%%DocumentNeededResources: font Garamond
.br
.B
%%EndComments
.br
.B
%%IncludeResource: font Garamond
.LP
この場合、Garamond と Garamond-Outline を
.B download
ファイルに列挙する必要が有ります。
ダウンロード可能なフォントは、自身の名前を
.B %%DocumentSuppliedResources
コメントに含んではなりません。
.LP
.B grops
.B %%DocumentFonts
コメントを解釈しません。
.BR %%DocumentNeededResources ,
.BR %%DocumentSuppliedResources ,
.BR %%IncludeResource ,
.BR %%BeginResource ,
.BR %%EndResource
コメント
(もしくは古い
.BR %%DocumentNeededFonts ,
.BR %%DocumentSuppliedFonts ,
.BR %%IncludeFont ,
.BR %%BeginFont ,
.BR %%EndFont
コメント) は使用されます。
.SH 関連ファイル
.Tp \w'\fB/usr/share/groff_font/devps/download'u+2n
.B /usr/share/groff_font/devps/DESC
デバイス記述ファイル。
.TP
.BI /usr/share/groff_font/devps/ F
フォント
.I F
のフォント記述ファイル。
.TP
.B /usr/share/groff_font/devps/download
ダウンロード可能なフォントのリスト。
.TP
.B /usr/share/groff_font/devps/text.enc
テキストフォント用のエンコード方法。
.TP
.B /usr/share/tmac/tmac.ps
.B grops
が使用するマクロ;
.B troffrc
により自動的にロードされます。
.TP
.B /usr/share/tmac/tmac.pspic
.B PSPIC
マクロの定義。
.B tmac.ps
から自動的にロードされます。
.TP
.B /usr/share/tmac/tmac.psold
古い PostScript プリンタには存在しない文字の使用を禁止するマクロ;
.B tmac.ps
から自動的にロードされます。
.TP
.B /usr/share/tmac/tmac.psnew
.B tmac.psold
の効果を打ち消すマクロ。
.TP
.BI /tmp/grops XXXXXX
一時ファイル。
.SH "関連項目"
.\" .BR afmtodit (1),
.BR groff (1),
.BR troff (1),
.BR psbb (1),
.BR groff_out (5),
.BR groff_font (5),
.BR groff_char (7)
diff --git a/ja_JP.eucJP/man/man1/gtar.1 b/ja_JP.eucJP/man/man1/gtar.1
index 5ab54c2946..786f64c490 100644
--- a/ja_JP.eucJP/man/man1/gtar.1
+++ b/ja_JP.eucJP/man/man1/gtar.1
@@ -1,483 +1,493 @@
.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*-
.\" See /usr/src/gnu/COPYING for conditions of redistribution
.\"
.\" Written by John F. Woods <jfw@jfwhome.funhouse.com>
.\" Updated by Robert Eckardt <roberte@mep.ruhr-uni-bochum.de>
.\"
-.\" %Id: tar.1,v 1.6.2.4 1998/07/20 02:30:06 jkoshy Exp %
+.\" %Id: tar.1,v 1.16 1998/07/09 04:28:19 jkoshy Exp %
.\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab %
.\"
.Dd 25 August 1997
.Os FreeBSD
.Dt TAR 1
.Sh 名称
.Nm tar
.Nd
テープアーカイバ; "tar" アーカイブファイルの操作
.Sh 書式
.Nm tar
.Op [-] Ns Ar bundled-options
.Op Ar gnu-style-flags
.Op Ar tarfile
.Op Ar blocksize
.Op Ar exclude-file
.Op Ar filenames
.Op Fl C Ar directory-name
.Sh 解説
.Nm
は、歴史的な理由により
.Dq tape archiver
を省略して名付けられました。
.Nm
プログラムは、
.Ar tarfile
と呼ばれる
.Dq tar
フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、
またアーカイブからファイルを抽出したりします。
tarfile は通常磁気テープを指しますが、フロッピディスケットや
通常のファイルでも構いません。
.Pp
通常、
.Nm
コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、
その前に ダッシュ(-)をつけてもつけなくてもいいようになっています。
単語には、次の機能文字のうちちょうど 1 つを含んでいなければなりません:
.Cm A ,
.Cm c ,
.Cm d ,
.Cm r ,
.Cm t ,
.Cm u ,
.Cm x ,
これらはそれぞれ 追加 (append) 、作成 (create) 、差分 (difference) 、
置換 (replace) 、リスト表示 (table of contents) 、更新 (update) 、
そして抽出 (extract) を意味しています (下記に詳細があります) 。
これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に
含めることができます。それらのいくつかは、コマンド単語内と同じ順で
コマンドライン引数を要求します (使用例の節を参照) 。
機能文字と機能変更文字は、GNU 形式の引数で指定することもできます
(2 つのダッシュを最初につけ、1 つのコマンド単語ごとに機能文字か
機能変更文字を 1 つだけ指定する) 。
アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために
コマンドライン指定するファイル名には、
シェルのパターンマッチ文字列を使用することができます。
.Sh 機能
以下の機能のいずれか1つだけを必ず指定しなければなりません。
.Pp
.Bl -tag -width "--concatenate" -compact
.It Fl A
.It Fl -catenate
.It Fl "-concatenate"
指定された(tar アーカイブ形式の)ファイルを tar アーカイブの末尾
に追加します。(追加する前の古い end-of-archive ブロックは削除さ
れます。)
これは、指定されたファイルがアーカイブの中の1ファイルとなるので
はなく、指定したファイルの中に含まれているファイルを、最初に指定
したアーカイブに追加するという効果を持ちます。
.Em 注:
このオプションは tarfile を再書き込みする必要があるため、1/4
インチカートリッジテープでは動作しません。
.It Fl c
.It Fl -create
新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定
されたファイルをアーカイブに書き込みます。
.It Fl d
.It Fl -diff
.It Fl -compare
アーカイブの中のファイルと、それに相当するファイルシステム内の
ファイルとの違いを調査します。
.It Fl -delete
指定されたファイルをアーカイブから削除します。(1/4 インチテープ
では動作しません。)
.It Fl r
.It Fl -append
アーカイブの末尾にファイルを追加します。(1/4 インチテープでは
動作しません。)
.It Fl t
.It Fl -list
アーカイブ内容のリスト表示をします。もし引数としてファイル名が
指定されていれば、そのファイルだけがリスト表示されます。そうでなけ
れば、アーカイブに含まれるすべてのファイルリストが表示されます。
.It Fl u
.It Fl -update
指定したファイルのうち、アーカイブ内のファイルよりもディスク上の
ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ
では動作しません。
.It Fl x
.It Fl -extract
.It Fl -get
アーカイブからファイルを抽出します。可能ならば、所有者、
変更時刻、ファイル属性はリストアされます。もし
.Ar file
引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。
もし
.Ar filename
引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと
ディレクトリ内のファイルが抽出されます。(ディレクトリ内のす
べてのディレクトリについても同様に抽出されます。)
もしアーカイブ内に、相当する同じファイルが複数含まれていれば(上記の
.Fl -append
コマンドを参照)、最後に含まれているものが他のすべてのファイルを
上書きする形で抽出されます。
.Sh オプション
.Nm
の他のオプションは、組み合わせて使用することができます。
1文字オプションは、コマンド単語の中で指定することができます。
引数を与えるべきオプションの場合、オプションに続けて引数を指定し
ます。1文字オプションであれば、これに続くコマンドライン引数を
使用します (以下の
.Sx 使用例
を参照してください。)
.Pp
.Bl -tag -width "--preserve-permissions" -compact
.It Fl -help
.Nm
のすべてのコマンドオプションについて一覧と解説を表示します。
.It Fl -atime-preserve
テープに書かれている、ファイルのアクセス時刻をリストアします。
(inodeの変更時刻が変更されることに注意してください!)
.It Fl b
.It Fl -block-size Ar number
読み書きするブロックサイズを
.Ar number
* 512-byte ブロック に設定します。
.It Fl B
.It Fl -read-full-blocks
短い読みだしブロックを、完全なブロックに再組み立てします。
(4.2BSD パイプの読み込み用。)
.It Fl C Ar directory
.It Fl -directory Ar directory
残りの引数を処理する前に
.Ar directory
へ移動します。
.It Fl -checkpoint
アーカイブを読み書きする間に読み書きしたバッファの数を表示します。
.It Fl f Ar [hostname:]file
.It Fl -file Ar [hostname:]file
指定された
.Ar file
(デフォルトは /dev/rst0) を読み書きします。
もし
.Ar hostname
が指定されていれば、
.Nm
.Xr rmt 8
を使って、リモートマシン上の
.Ar file
を読み書きします。"-" はファイルネームとして使用されることもありますが、
これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。
.It Fl -force-local
コロンがある時でさえ、アーカイブファイルはローカルのものとします。
.It Fl F Ar file
.It Fl -info-script Ar file
.It Fl -new-volume-script Ar file
それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の
.Fl M
指定が行なわれます。)
.It Fl -fast-read
ワイルドカードで指定されていないすべての抽出ターゲットが
アーカイブ内に見つかったら、その時点で終了します。
.It Fl G
.It Fl -incremental
古い GNU-format インクリメンタルバックアップファイルを作成/リスト/
抽出します。
.It Fl g Ar file
.It Fl -listed-incremental Ar file
新しい GNU-format インクリメンタルバックアップファイルを作成/リスト/
抽出します。
.It Fl h
.It Fl -dereference
シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが
指しているデータを書き込みます。
.It Fl i
.It Fl -ignore-zeros
アーカイブの中のゼロブロック(通常、End-Of-File を意味する)を無視します。
.It Fl -ignore-failed-read
ファイルが読めなくても、非 0 のステータスで exit しません。
.It Fl k
.It Fl -keep-old-files
ディスク上に既にあるファイルを保持します。つまり、アーカイブから
抽出するファイルは、ディスク上のファイルへ上書きしません。
.It Fl K Ar file
.It Fl -starting-file Ar file
アーカイブの中の
.Ar file
から(抽出、リストなどを)始めます。
.It Fl l
.It Fl -one-file-system
あるファイルシステム内にあるファイルだけでアーカイブを作成します。
(他ファイルシステムへのマウントポイントを跨ぎません。)
.It Fl L Ar number
.It Fl -tape-length Ar number
.Ar number
* 1024 バイト書き込んだ後でテープの交換を要求します。
.It Fl m
.It Fl -modification-time
ファイルの変更時刻を抽出しません。
.It Fl M
.It Fl -multi-volume
マルチボリュームアーカイブを作成/リスト/抽出します。
.It Fl n
.It Fl -norecurse
作成時に再帰的にサブディレクトリを走査しません。
.It Fl -volno-file Ar file
ボリューム番号付きのファイル名です。
.It Fl N Ar date
.It Fl -after-date Ar date
.It Fl -newer Ar date
作成時間が
.Ar date
より新しいファイルだけを抽出します。
.It Fl -newer-mtime Ar date
変更時間が
- .Ar date
+.Ar date
より新しいファイルだけを抽出します。
.It Fl o
.It Fl -old-archive
.It Fl -portability
POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。
.It Fl O
.It Fl -to-stdout
ファイルを標準出力に抽出します。
.It Fl p
.It Fl -same-permissions
.It Fl -preserve-permissions
保護情報を完全に抽出します。
.It Fl -preserve
.Fl p s
の指定と同じ効果を持ちます。
.It Fl P
.It Fl -absolute-paths
ファイル名から先頭の `/' をとりません。
.It Fl R
.It Fl -record-number
メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。
.It Fl -remove-files
アーカイブに追加したファイルを、追加後に削除します。
.It Fl s
.It Fl -same-order
.It Fl -preserve-order
アーカイブ内から抽出するファイルを、指定された順のままにします。
.It Fl -show-omitted-dirs
アーカイブ作成中に除外されたディレクトリを表示します。
.It Fl S
.It Fl -sparse
「少ない」ファイルを効率的に扱うようにします。
.It Fl T Ar file
.It Fl -files-from Ar file
.Ar file
から抽出もしくは作成するファイル名を得ます。(1行1ファイル名。)
.It Fl -null
nullで終わっている名前を考慮し、
.Fl T
の振舞を変更します。
これは
.Fl C
指定を無効にします。
.It Fl -totals
.Fl -create
によって書かれたトータルバイト数を表示します。
.It Fl v
.It Fl -verbose
.Fl -create
でアーカイブに書くファイルや
.Fl -extract
でアーカイブから
取り出すファイル名をリスト表示します。
ファイルの保護情報をファイル名とともに表示させるには、
.Fl -list
を使います。
.It Fl V Ar volume-name
.It Fl -label Ar volume-name
指定された
.Ar volume-name
を持ったアーカイブを作成します。
.It Fl -version
.Nm
プログラムのバージョン番号を表示します。
.It Fl w
.It Fl -interactive
.It Fl -confirmation
すべての動作に対して、確認を求めるようになります。
.It Fl W
.It Fl -verify
アーカイブを書き込んだ後、ベリファイを試みます。
.It Fl -exclude Ar pattern
.Ar pattern
にマッチするファイルを除外します。
(抽出しません。追加しません。リスト表示しません。)
.It Fl X Ar file
.It Fl -exclude-from Ar file
.Ar file
に一覧されているファイルを除外します。
.It Fl Z
.It Fl -compress
.It Fl -uncompress
アーカイブを
.Xr compress 1
でフィルタリングします。
.It Fl z
.It Fl -gzip
.It Fl -gunzip
アーカイブを
.Xr gzip 1
でフィルタリングします。
.It Fl -use-compress-program Ar program
アーカイブを
.Ar program
でフィルタリングします。
(これは、
.Fl d
が指定されたときは ``decompress'' を意味しなければなりません。)
.It Fl -block-compress
テープもしくはフロッピのために、圧縮プログラムの出力をブロック
化します。(そうしないと、ブロック長がおかしくなり、デバイスドライバは
そのブロックを拒絶するでしょう。)
.It Fl [0-7][lmh]
テープドライブと密度を指定します。
.It Fl -unlink
ファイルを作成する前に、いったん削除します。
.El
.Sh 使用例
"bert" と "ernie" というファイルを含む、
ブロックサイズが 20 ブロックのアーカイブを、
テープドライブ /dev/rst0 に作るには、
.Pp
.Dl tar cfb /dev/rst0 20 bert ernie
.Pp
もしくは
.Pp
.Dl tar\ --create\ --file\ /dev/rst0\ --block-size\ 20\ bert\ ernie
.Pp
と入力します。
.Fl f
および
.Fl b
フラグは両方とも引数を必要としていることに注意してください。
この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから
取得されます。
.Pp
/dev/rst0 はデフォルトのデバイスであり、20 はデフォルトのブロック
サイズですので、上記の例は次のように単純化できます。
.Pp
.Dl tar c bert ernie
.Pp
"backup.tar" というアーカイブから、すべての C ソース及びヘッダを
抽出するには、次のようにタイプします。
.Pp
.Dl tar xf backup.tar '*.[ch]'
.Pp
シェルがカレントディレクトリ内のファイル名に展開しないよう、パタ
ーンをクォートしなければならないことに注意してください。(当然、
シェルはアーカイブ内のファイル一覧にアクセスすることはできません。)
.Pp
ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください:
.Bd -literal
tar cf - -C srcdir . | tar xpf - -C destdir
.Ed
.Pp
ディスケットに、gzip を使った圧縮アーカイブを作成するには、次の
ようなコマンドラインを使うといいでしょう。
.Pp
.Dl tar --block-compress -z -c -v -f /dev/rfd1a -b 36 tar/
.Pp
まとめ指定フラグと --スタイルのフラグを混在させることができない
ことに注意してください。次のようにタイプしなければならないわけで
はなく、上記のような書き方で1文字フラグを使うことができます。
.Pp
.Dl tar --block-compress --gzip --verbose --file /dev/rfd1a --block-size 20 tar
/
.Pp
上のようにして作成したディスクの内容は、次のようにすればリスト表
示できます。
.Pp
.Dl tar tvfbz /dev/rfd1a 36
.Pp
2 つの tar アーカイブを 1 つのアーカイブにまとめるには、
.Pp
.Dl tar Af archive1.tar archive2.tar
.Pp
を使います。こうすると、archive2.tar に含まれているファイルが
archive1.tar の末尾に追加されます。(単純に
.Pp
.Dl cat archive2.tar >> archive1.tar
.Pp
とタイプしてもうまくいかないことに注意してください。なぜなら、
tar アーカイブの末尾には end-of-file ブロックがあるからです。)
.Pp
srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた
全てのファイルをアーカイブするためには、以下の形式を使って下さい。
.Dl tar\ -c\ -f\ backup.tar\ --newer-mtime\ 'Feb\ 9\ 13:15\ 1997'\ srcdir/
.Pp
他の時間指定形式としては、'02/09/97 13:15',
\&'1997-02-09 13:15', '13:15 9 Feb 1997', '9 Feb 1997 13:15',
\&'Feb. 9, 1997 1:15pm', '09-Feb', '3 weeks ago', 'May first Sunday'
があります。
正しいタイムゾーンを指定するためには、
`13:15 CEST' や `13:15+200' を使用して下さい。
.Sh 環境変数
.Nm
プログラムは、以下の環境変数を参照します。
.Bl -tag -width "POSIXLY-CORRECT"
.It POSIXLY-CORRECT
通常、
.Nm
はファイル指定の中に混ざったフラグを処理します。
この環境変数を設定すると、
.Nm
は最初のフラグ以外の引数を見つける
とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様
に合わせた動作を行なうようになります。
.It SHELL
インタラクティブモードにおいて、サブシェルの起動が要求されたとき、
SHELL 変数が設定されていればそれが、設定されていなければ
"/bin/sh" が使用されます。
.It TAPE
tar のデフォルトのテープドライブを変更します。(これは、さらに
.Fl f
フラグによって変更することができます。)
.El
.Sh 関連ファイル
.Bl -tag -width "/dev/rst0"
.It Pa /dev/rst0
デフォルトのテープドライブ
.El
.\" This next request is for sections 1, 6, 7 & 8 only
.\" (command return values (to shell) and fprintf/stderr type diagnostics)
.\" .Sh 診断
.Sh 関連項目
.Xr compress 1 ,
.Xr gzip 1 ,
.Xr pax 1 ,
.Xr ft 8 ,
.Xr rmt 8
.\" .Sh 規格
.Sh 歴史
.Nm
フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に
原点があります。
この
.Nm
の実装は GNU 実装であり、John Gilmore によって書かれた
パブリックドメイン tar が元になっています。
.Sh 作者
次の人を含む、大変多くの人々。[ソースの中の ChangeLog ファイルに記
-述されている人々] John Gilmore (オリジナルのパブリックドメイン版の
-作者), Fenlason (最初の GNU 作者), Joy Kendall, Jim Kingdon, David
-J. MacKenzie, Michael I Bushnell, Noah Friedman, そして
+述されている人々]
+.An John Gilmore
+(オリジナルのパブリックドメイン版の作者),
+.An Jay Fenlason
+(最初の GNU 作者),
+.An Joy Kendall ,
+.An Jim Kingdon ,
+.An David J. MacKenzie ,
+.An Michael I Bushnell ,
+.An Noah Friedman
+そして
バグフィックスや追加を貢献してくれた無数の人々。
-このマニュアルページは NetBSD 1.0 release から、FreeBSD グループが
+このマニュアルページは NetBSD 1.0 release から、
+.Bx Free
+グループが
取り込んだものです。
.Sh バグ
特徴的な
.Fl C
-オプションは、これまでの tar プログラムのようには動作しないため、
-おそらく信頼できません。
+オプションの動作は、伝統的な tar プログラムのそれとは異なるので、
+あまり頼りにはできません。
.Pp
--A コマンドは、任意の数の tar アーカイブを結合するよう動くべきで
-すが、そうは動作しません。2 番目やそれ以降のアーカイブの
-end-of-archive ブロックを取り除くことを試みます。
+-A コマンドで任意の数の tar アーカイブを結合できればいいのですが、
+それはできません。これをやろうとしても、 2 つ目以降のアーカイブの
+end-of-archive ブロックが削除されずに残ってしまいます。
diff --git a/ja_JP.eucJP/man/man1/head.1 b/ja_JP.eucJP/man/man1/head.1
index 2f39b23ba6..f9ddcc8ab8 100644
--- a/ja_JP.eucJP/man/man1/head.1
+++ b/ja_JP.eucJP/man/man1/head.1
@@ -1,85 +1,73 @@
.\" 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.
.\"
.\" @(#)head.1 8.1 (Berkeley) 6/6/93
.\" jpman %Id: head.1,v 1.2 1997/04/09 23:35:30 mutoh Stab %
.\"
.Dd June 6, 1993
.Dt HEAD 1
.Os BSD 3
.Sh 名称
.Nm head
.Nd ファイルの先頭の数行を表示する
.Sh 書式
.Nm head
.Op Fl n Ar count
.Op Fl c Ar bytes
.Op Ar file ...
.Sh 解説
フィルタ
.Nm head
は、fileが指定されていればそのファイルを、指定されていなければ標準入力を読み
込み、先頭から
.Ar count
で指定された行数だけ、もしくは
.Ar bytes
だけ表示します。
.Ar count
が指定されていなかった場合は、デフォルトの 10 行を表示します。
.Pp
-1個以上のファイルが指定された場合は、
+複数のファイルが指定された場合は、
.Dq ==> XXX <==
という形式の文字列からなるヘッダを付けられます。ここで、
.Dq XXX
は、ファイル名です。
.Pp
.Nm head
ユーティリティは、成功時には 0 を返し、エラーの場合は 0 より大きい数を
返します。
-.Sh 互換性
-.\"(訳注)FreeBSD 2.2.1Rのmanには、本節の記述は無い。
-.\" 前任者の意向が分からないので、このまま残す。
-.\" 2.2.1R 対象(1997/04/10) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
-昔の UNIX の
-.Nm head
-コマンドのオプションの書式と互換を取るため、行数指定の
-オプションとして -count
-の表記も受け付けます。
.Sh 関連項目
.Xr tail 1
-.Sh 規格
-.Nm head
-ユーティリティは IEEE Std1003.2 (POSIX) 互換です。
.Sh 歴史
.Nm head
ユーティリティは
.Bx 3.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/hexdump.1 b/ja_JP.eucJP/man/man1/hexdump.1
index 3b46746b7f..de7d243396 100644
--- a/ja_JP.eucJP/man/man1/hexdump.1
+++ b/ja_JP.eucJP/man/man1/hexdump.1
@@ -1,322 +1,322 @@
.\" 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.
.\"
.\" @(#)hexdump.1 8.2 (Berkeley) 4/18/94
-.\" %Id: hexdump.1,v 1.5 1996/10/05 22:27:09 wosch Exp %
+.\" %Id: hexdump.1,v 1.7 1997/02/22 19:55:06 peter Exp %
.\" jpman %Id: hexdump.1,v 1.2 1997/03/29 04:26:20 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt HEXDUMP 1
.Os
.Sh 名称
.Nm hexdump, hd
.Nd ASCII, 10進, 16進, 8進でのダンプ
.Sh 書式
.Nm hexdump
.Op Fl bcCdovx
.Op Fl e Ar format_string
.Op Fl f Ar format_file
.Op Fl n Ar length
.Bk -words
.Op Fl s Ar skip
.Ek
.Ar file ...
.Nm hd
.Op Fl bcdovx
.Op Fl e Ar format_string
.Op Fl f Ar format_file
.Op Fl n Ar length
.Bk -words
.Op Fl s Ar skip
.Ek
.Ar file ...
.Sh 解説
.Nm hexdump
ユーティリティは、ファイルが指定されていればそのファイル、
指定されていなければ標準入力を読み込み、ユーザの指定した
フォーマットに従って表示するフィルタです。
.Pp
オプションは以下の通りです:
.Bl -tag -width Fl
.It Fl b
.Em 1バイト 8進表示。
入力のオフセットを16進数で表示し、次に、
入力の1バイトずつを、0詰めした3桁の8進数で、1行あたり16個、
空白で区切って表示します。
.It Fl c
.Em 1バイト キャラクタ表示。
入力のオフセットを16進数で表示し、次に、
入力の1バイトずつを、空白詰めした3桁のASCII文字で、1行あたり16個、
空白で区切って表示します。
.It Fl C
.Em 標準的な hex+ASCII 表示。
入力オフセットを 16 進数で表示し、
引続いて 16 バイトを 16 進数 2 桁で空白で区切って表示し、
引き続いて同じ 16 バイトを %_p フォーマットで ``|'' 文字で括って表示します。
.Pp
コマンド
.Nm hd
を実行すると、このオプションで
.Nm hexdump
実行したことを意味します。
.It Fl d
.Em 2バイト 10進表示。
入力のオフセットを16進数で表示し、次に、
入力の2バイトずつを、0詰めした5桁の10進数で、1行あたり8個、
空白で区切って表示します。
.It Fl e Ar format_string
データの表示形式を決めるフォーマット文字列を指定します。
.It Fl f Ar format_file
一つあるいはそれ以上のフォーマット文字列(改行で区切る)
の書かれたファイルを指定します。空行、および、
空白を除いた最初の文字が
ハッシュ記号
.Pf ( Cm \&# )
である行は無視されます。
.It Fl n Ar length
入力のうち
.Ar length
バイト分だけを処理します。
.It Fl o
.Em 2バイト 8進表示。
入力のオフセットを16進数で表示し、次に、
入力の2バイトずつを、0詰めした6桁の8進数で、1行あたり8個、
空白で区切って表示します。
.It Fl s Ar offset
入力の先頭から
.Ar offset
バイトを読み飛ばします。
デフォルトでは
.Ar offset
は10進数として解釈されます。
.Cm 0x
または
.Cm 0X ,
を頭に付けると
.Ar offset
は16進数として解釈されます。また、
.Cm 0
を頭に付けると
.Ar offset
は8進数として解釈されます。
.Cm b ,
.Cm k ,
.Cm m
.Ar offset
の後ろにつけると、それぞれ
.Li 512 ,
.Li 1024 ,
.Li 1048576
倍と解釈されます。
.It Fl v
.Fl v
オプションは hexdump に対してすべての入力を表示させます。
.Fl v
オプションを指定しない場合、直前の行と
内容(オフセットは除く)が全く同じ行は何行であっても、
アスタリスク1個の1行で置き換えられます。
.It Fl x
.Em 2バイト 16進表示。
入力のオフセットを16進数で表示し、次に、
入力の2バイトづつを、0詰めした4桁の16進数で、1行あたり8個、
空白で区切って表示します。
.El
.Pp
.Nm hexdump
は、各々の入力ファイルの内容を、それらが指定された順に、
.Fl e
および
.Fl f
オプションによって指示されたフォーマット文字列に従って変換しながら、
シーケンシャルに標準出力へコピーします。
.Ss フォーマット
フォーマット文字列は、任意の数のフォーマット単位を空白で区切って
並べたものです。フォーマット単位は最大3個までの要素すなわち
繰り返し回数・バイト数・フォーマットによって構成されます。
.Pp
繰り返し回数は正の整数で、省略時の値は1です。それぞれのフォーマットは
この繰り返し回数だけ適用されます。
.Pp
バイト数も正の整数で、省略することもできます。指定された場合には
繰り返し一回あたりに処理されるバイト数を示します。
.Pp
繰り返し回数とバイト数はスラッシュ(/)で区切ります。どちらか一方だけ
指定する時も、繰り返し回数の場合は直後、バイト数の場合は直前にスラッシュを
付け、曖昧にならないようにします。スラッシュの前後にある空白は無視されます。
.Pp
フォーマットは必須であり、ダブルクォート(" ")で囲みます。フォーマットは
fprintf形式のフォーマット文字列(
.Xr fprintf 3
を参照)
ですが、以下の例外があります。
.Bl -bullet -offset indent
.It
フィールドの幅あるいは精度としてアスタリスク(*)を使用することはできません。
.It
``s'' 変換文字にはバイト数または精度を指定しなければなりません。
(精度が指定されなかった場合は文字列全体を表示するという
.Xr fprintf 3
のデフォルトとは異なります))
.It
変換文字 ``h'', ``l'', ``n'', ``p'' , ``q'' は
サポートされていません。
.It
Cの標準規格の中で記述されている
以下の一文字エスケープシーケンスをサポートしています。
.Bd -ragged -offset indent -compact
.Bl -column <alert_character>
.It NUL \e0
.It <alert character> \ea
.It <backspace> \eb
.It <form-feed> \ef
.It <newline> \en
.It <carriage return> \er
.It <tab> \et
.It <vertical tab> \ev
.El
.Ed
.El
.Pp
hexdump はさらに以下の変換文字をサポートします。
.Bl -tag -width Fl
.It Cm \&_a Ns Op Cm dox
次に表示されるバイトのオフセット(複数の入力ファイルを通算しての
値)を表示します。文字
.Cm d ,
.Cm o ,
.Cm x
を付加すると、表示をそれぞれ10進、8進、16進形式にします。
.It Cm \&_A Ns Op Cm dox
.Cm \&_a
変換文字とほぼ同じですが、すべての入力が処理された後で一度だけ実行
されるという点が異なります。
.It Cm \&_c
デフォルトの文字セット中における文字を表示します。
表示不能な文字は0詰めして3桁にした8進数で表示します。ただし標準のエスケープ
表記(上述)ができるものについてはその2文字で表示します。
.It Cm _p
デフォルトの文字セット中における文字を表示します。
表示不能な文字は
.Dq Cm \&.
として表示します。
.It Cm _u
文字セット US ASCII 中での文字を表示します。ただし制御文字については
以下に示す小文字名で表示します。16進で0xffより大きな文字に
ついては16進表記の文字列として表示します。
.Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo
.It \&000\ nul\t001\ soh\t002\ stx\t003\ etx\t004\ eot\t005\ enq
.It \&006\ ack\t007\ bel\t008\ bs\t009\ ht\t00A\ lf\t00B\ vt
.It \&00C\ ff\t00D\ cr\t00E\ so\t00F\ si\t010\ dle\t011\ dc1
.It \&012\ dc2\t013\ dc3\t014\ dc4\t015\ nak\t016\ syn\t017\ etb
.It \&018\ can\t019\ em\t01A\ sub\t01B\ esc\t01C\ fs\t01D\ gs
.It \&01E\ rs\t01F\ us\t0FF\ del
.El
.El
.Pp
各々の変換文字について、サポートされているバイト数とデフォルトの
バイト数は以下の通りです:
.Bl -tag -width "Xc,_Xc,_Xc,_Xc,_Xc,_Xc" -offset indent
.It Li \&%_c , \&%_p , \&%_u , \&%c
1バイトのみ使用できます。
.It Xo
.Li \&%d , \&%i , \&%o ,
.Li \&%u , \&%X , \&%x
.Xc
デフォルトでは4バイトで、1バイト・2バイト・4バイトが使用できます。
.It Xo
.Li \&%E , \&%e , \&%f ,
.Li \&%G , \&%g
.Xc
デフォルトでは8バイトで、4バイトも使用できます。
.El
.Pp
各フォーマット文字列によって処理されるデータの量は、
各フォーマット単位が必要とするデータ量の合計であり、これは
バイト数の繰り返し回数倍、あるいはバイト数が指定されていない場合には
フォーマットの必要とするバイト数の繰り返し回数倍になります。
.Pp
入力は``ブロック''ごとに処理されます。ブロックとは、フォーマット
文字列によって指定されるデータの塊のうちで最も大きいものです。
1ブロック分のデータを処理し切らないフォーマット文字列で、その中の
最後のフォーマット単位が何バイトかを処理し、かつ繰り返し
回数が指定されていないものは、ブロック全体が処理され切るか、
フォーマット文字列に合致するデータがブロック中になくなるまで
繰り返し回数を増やされます。
.Pp
ユーザの指定またはhexdumpが上記のように繰り返し回数を変更した結果、
繰り返し回数が1より大きくなった場合、最後の繰り返しにおける
末尾の空白は出力されません。
.Pp
バイト数を複数の変換文字と共に指定すると、一つを除いた全ての変換文字が
.Cm \&_a
または
.Cm \&_A
である時以外、エラーになります。
.Pp
入力がフォーマット文字列の一部分しか満たしていない状態で
.Fl n
オプションで指定したバイト数あるいはEOFに到達した場合、
有効なデータをすべて表示できるよう、入力ブロックには適当な数の0が
補われます。(すなわち、データの終端にまたがっている
フォーマット単位は何バイトかの0を表示します。)
.Pp
そのようなフォーマット文字列によるさらなる出力は、等数の空白で
置き換えられます。等数の空白とは、
もとの変換文字あるいは変換文字列とフィールド幅と精度は同じで
.Dq Li \&+ ,
.Dq \&\ \& ,
.Dq Li \&#
を取り除いた
.Cm s
変換文字が、NULL文字列を指した場合に出力される数の空白です。
.Pp
フォーマット文字列が指定されない場合、デフォルトの表示形式は
.Fl x
オプションが指定された場合のものと同じになります。
.Pp
.Nm hexdump
は成功すれば0を、エラーが発生すれば >0 を返します。
.Sh 実行例
入力を perusal 形式で表示する:
.Bd -literal -offset indent
"%06.6_ao " 12/1 "%3_u "
"\et\et" "%_p "
"\en"
.Ed
.Pp
\-x オプションを実装:
.Bd -literal -offset indent
"%07.7_Ax\en"
"%07.7_ax " 8/2 "%04x " "\en"
.Ed
.Sh 関連項目
.Xr gdb 1
diff --git a/ja_JP.eucJP/man/man1/host.1 b/ja_JP.eucJP/man/man1/host.1
index 43b094d842..332669f92a 100644
--- a/ja_JP.eucJP/man/man1/host.1
+++ b/ja_JP.eucJP/man/man1/host.1
@@ -1,200 +1,309 @@
.\" ++Copyright++ 1993
.\" -
.\" 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.
.\" -
.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies, and that
.\" the name of Digital Equipment Corporation not be used in advertising or
.\" publicity pertaining to distribution of the document or software without
.\" specific, written prior permission.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" -
.\" --Copyright--
-.\" %Id: host.1,v 8.1 1994/12/15 06:24:10 vixie Exp %
+.\" %Id: host.1,v 8.2 1997/03/14 02:29:44 vixie Exp %
.\" jpman %Id: host.1,v 1.3 1997/08/20 12:10:27 horikawa Stab %
-.TH HOST 1
-.SH 名称
-host \- ドメインサーバを使ってホスト名の検索を行なう
-.SH 書式
-host [-l] [-v] [-w] [-r] [-d] [-t querytype] [-a] host [ server ]
-.SH 解説
-.I host
+.Dd December 15, 1994
+.Dt HOST 1
+.Os BSD 4
+.Sh 名称
+.Nm host
+.Nd ドメインサーバを使ってホスト名の検索を行なう
+.Sh 書式
+.Nm host
+.Op Fl l
+.Op Fl v
+.Op Fl w
+.Op Fl r
+.Op Fl d
+.Op Fl t Ar querytype
+.Op Fl a
+.Ar host
+.Op Ar server
+.Sh 解説
+.Ic host
はインターネットホストに関する情報の検索を行ないます。情報は世界中に広
がった相互に接続されたサーバ群から得ます。デフォルトではホスト名と
-インターネットアドレス間の変換のみを行ないます。-t や -a オプションととも
-に使うと、そのホストに関するドメインサーバによって保守されている情報の
-全てを使うことができます。
-.PP
+インターネットアドレス間の変換のみを行ないます。
+.Dq Fl t
+や
+.Dq Fl a
+オプションとともに使うと、そのホストに関するドメインサーバによって保守
+されている情報のすべてを得ることができます。
+.Pp
引数にはホスト名かホスト番号のいずれかを指定できます。本プログラムはま
-ず引数を数字として解釈を試みます。それがうまく行かなければ、ホスト名と
+ず引数をホスト番号として解釈を試みます。それがうまくいかなければ、ホスト名と
して扱います。ホスト番号は 128.6.4.194 のようにドットによって区切られ
た 4 つの 10 進数からなります。
ホスト名は topaz.rutgers.edu のようにドットで区切られた複数の名前から
なります。
名前がドットで終っていなければ、ローカルドメインが自動的に末尾に付け加
-えられます。たとえば Rutgers のユーザは "host topaz" というように使う
+えられます。たとえば Rutgers のユーザは
+.Pp
+.D1 Ic host topaz
+.Pp
+というように使う
ことができ、これは実際には "topaz.rutgers.edu" が検索されます。
-これがうまく行かなければ、名前は変更されずに (この例では "topaz" とし
+これがうまくいかなければ、名前は変更されずに (この例では "topaz" とし
て) 試みられます。このやりかたはメールやその他のネットワークユーティリティ
でも使うことができます。
-実際に末尾に付け加えられる接尾子は "hostname" コールの結果から得られる
-ものの最初のドット以降となります。(ホスト名の検索のカスタマイズ方法に
-ついては下記を参照してください。)
-.PP
-最初の引数は検索を行なうホスト名となります。これが数字の場合、"逆引き"
+実際に末尾に付け加えられる接尾辞は、
+.Xr hostname 1
+を呼び出した結果の最初のドット以降となります。(下記の
+.Sx ホスト名検索のカスタマイズ
+の節を参照してください。)
+.Pp
+最初の引数は検索を行なうホスト名となります。これが数字の場合、
+.Dq 逆引き
が実行されます。すなわちドメインシステムは数字を名前に変換するための別
のデータベース群を参照します。
-.PP
+.Pp
2 番目の引数は省略可能です。ここでは問い合わせを行なうサーバを指定する
ことができます。この引数が指定されなければ、デフォルトのサーバ (通常は
ローカルマシン) が使われます。
-.PP
+.Pp
名前が指定された場合、3 つの異なった種類の結果が出力されます。
以下はそれらの例です。
-.br
- % host sun4
-.br
- sun4.rutgers.edu is a nickname for ATHOS.RUTGERS.EDU
-.br
- ATHOS.RUTGERS.EDU has address 128.6.5.46
-.br
- ATHOS.RUTGERS.EDU has address 128.6.4.4
-.br
- ATHOS.RUTGERS.EDU mail is handled by ARAMIS.RUTGERS.EDU
-.br
-ここでユーザはコマンド "host sun4" を入力しています。最初の行は名前
-"sun4.rutgers.edu" は実際にはニックネームであることを示しています。
-正式なホスト名は "ATHOS.RUTGERS.EDU' です。続く 2 行ではアドレスが表示
+.Pp
+.D1 Ic % host sun4
+.Dl sun4.rutgers.edu is a nickname for ATHOS.RUTGERS.EDU
+.Dl ATHOS.RUTGERS.EDU has address 128.6.5.46
+.Dl ATHOS.RUTGERS.EDU has address 128.6.4.4
+.Dl ATHOS.RUTGERS.EDU mail is handled by ARAMIS.RUTGERS.EDU
+.Pp
+ここでユーザはコマンド
+.Dq Ic host sun4
+を入力しています。最初の行は名前
+.Dq Li sun4.rutgers.edu
+は実際にはニックネームであることを示しています。
+正式なホスト名は
+.Dq Li ATHOS.RUTGERS.EDU
+です。続く 2 行ではアドレスが表示
されています。もし複数のネットワークインタフェースをもつシステムであ
-れば、その各々は別のアドレスを持ちます。最後の行では ATHOS.RUTGERS.EDU
+れば、その各々は別のアドレスを持ちます。最後の行では
+.Li ATHOS.RUTGERS.EDU
は自分に対するメールは受け取らないことを示しています。このホスト宛ての
-メールは ARAMIS.RUTGERS.EDU によって取り込まれます。いくつかのシステム
+メールは
+.Li ARAMIS.RUTGERS.EDU
+によって取り込まれます。いくつかのシステム
ではそのメールを扱うシステムが複数存在することがあり、その場合はこの行
のような情報がさらに出力されます。技術的にはメールを受け取ることのでき
-る全てのシステムがこのようなエントリを持つと考えられます。もしシステム
-がそのメールを自分自身で受け取る場合、"XXX mail is handled by XXX" の
-ように、そのシステム自身について言及したエントリがあるはずです。しかし、
+るすべてのシステムがこのようなエントリを持つと考えられます。もしシステム
+がそのメールを自分自身で受け取る場合、
+.Pp
+.D1 Li XXX mail is handled by XXX
+.Pp
+のように、そのシステム自身について言及したエントリがあるはずです。しかし、
メールを自分で受け取る多くのシステムではわざわざその事実について言及し
-ていません。もしあるシステムに "mail is handled by" のエントリがあるの
-にアドレスがなければ、それは本当はインターネットの構成員ではないが、
+ていません。もしあるシステムに
+.Dq Li mail is handled by
+のエントリがあるのにアドレスがなければ、
+それは本当はインターネットの構成員ではないが、
ネットワーク上のあるシステムがメールをそこに転送してくることを示しています。
Usenet や Bitnet やその他の多くのネットワーク上のシステムではこの種の
エントリを持っています。
-.PP
+.Sh オプション
ホスト名の前に指定できるオプションは沢山あります。これらのオプションの
ほとんどはドメインデータベースを保守しているスタッフにのみ意味のあるも
のです。
-.PP
-オプション -w を指定すると、host は応答があるまで永遠に待ち続けます。通
-常は 1 分程でタイムアウトになります。
-.PP
-オプション -v を指定すると、"verbose" 形式で表示されます。これは正式な
-ドメインマスタのファイル形式となります。この形式については "named" の
-man ページに文書化されています。このオプションがなくても出力の形式は一
-般的な意味ではこの正式な形式に準拠したものとなりますが、通常のユーザに
-とって分かりやすいものにされます。-v が指定されなければ、"a"、"mx"、
-"cname" の各レコードはそれぞれ"has address"、"mail is handled by"、
-"is a nickname for" と出力され、TTL とクラスフィールドは表示されません。
-.PP
-オプション -r を指定すると、再帰的な問い合わせを行ないません。これは
+.Bl -tag -width Fl
+.It Fl w
+このオプションを指定すると、
+.Ic host
+は応答があるまで永遠に待ち続けます。通常は
+1 分程でタイムアウトになります。
+.It Fl v
+「冗長」な (verbose) 形式で表示されます。これは正式な
+ドメインマスタのファイル形式となります。この形式については
+.Xr named 8
+の man ページに文書化されています。このオプションがなくても出力の形式は
+一般的な意味ではこの正式な形式に準拠したものとなりますが、通常のユーザに
+とって分かりやすいものにされます。
+.Dq Fl v
+が指定されなければ、"a", "mx", "cname" の各レコードは
+それぞれ "has address", "mail is handled by", "is a nickname for"
+と出力され、TTL とクラスフィールドは表示されません。
+.It Fl r
+再帰的な問い合わせを行ないません。これは
ネームサーバがそのサーバ自身のデータベースに所持しているデータのみを返すこ
とを意味します。サーバは他のサーバに情報の問い合わせを行ないません。
-.PP
-オプション -d を指定すると、デバッグモードとなります。ネットワーク
-トランザクションが詳細に表示されます。
-.PP
-オプション -t によって特定のタイプの情報の検索を指定することができます。
-引数は "named" の man ページにおいて定義されています。現在サポートされ
-ているタイプには a、ns、md、mf、cname、soa、mb、mg、mr、null、wks、ptr、
-hinfo、minfo、mx、uinfo とワイルドカード (これは "any" か "*" として指
-定されます) があります。タイプは小文字で指定しなければなりません。
-デフォルトでは最初に "a" が検索され、次に "mx" が検索されます。ただし、
-"verbose" オプションが指定されていると、デフォルトでは "a" のみの検索
-を行ないます。
-.PP
-オプション -a ("all" の意) は "-v -t any" と同じです。
-.PP
-オプション -l を指定すると完全なドメインのリストを表示します。例えば
-.br
- host -l rutgers.edu
-.br
-を実行すると、rutgers.edu ドメインの全てのホストのリストを表示します。
--t オプションを使うことによって表示する情報にフィルタをかけることがで
+.It Fl d
+デバッグモードとなります。ネットワークトランザクションが詳細に表示されます。
+.It Fl t Ar querytype
+特定の
+.Ar querytype
+の情報の検索を指定することができます。
+引数は
+.Xr named 8
+の man ページにおいて定義されています。現在サポートされ
+ているタイプには以下のものが含まれます:
+.Dq Cm a ,
+.Dq Cm ns ,
+.Dq Cm md ,
+.Dq Cm mf ,
+.Dq Cm cname ,
+.Dq Cm soa ,
+.Dq Cm mb ,
+.Dq Cm mg ,
+.Dq Cm mr ,
+.Dq Cm null ,
+.Dq Cm wks ,
+.Dq Cm ptr ,
+.Dq Cm hinfo ,
+.Dq Cm minfo ,
+.Dq Cm mx ,
+.Dq Cm uinfo ,
+.Dq Cm uid ,
+.Dq Cm gid ,
+.Dq Cm unspec
+さらに、ワイルドカード (これは
+.Dq Cm any
+か
+.Dq Cm *
+として指定されます) があり、上記のすべてのタイプを指定するためにつかいます。
+タイプは小文字で指定しなければなりません。
+デフォルトでは最初に
+.Dq Cm a
+が検索され、次に
+.Dq Cm mx
+が検索されます。ただし、verbose オプションが指定されていると、デフォルトでは
+.Dq Cm a
+のみの検索を行ないます。オプション
+.Dq Fl t
+は
+.Ic host
+が返す情報にフィルタをかけるのに特に有効です。
+それ以上の情報は下記の
+.Dq Fl l
+オプションの説明を参照してください。
+.It Fl a
+.Dq all
+の意。
+.Dq Fl v Fl t Cm any
+と同じです。
+.It Fl l
+完全なドメインのリストを表示します。例えば
+.Pp
+.D1 Ic host -l rutgers.edu
+.Pp
+を実行すると、rutgers.edu ドメインのすべてのホストのリストを表示します。
+.Dq Fl t
+オプションを使うことによって表示する情報にフィルタをかけることがで
きます。デフォルトでは PTR と NS レコードを含んだアドレス情報が表示さ
れます。
-.br
- host -l -v -t any rutgers.edu
-.br
-のコマンドでは rutgers.edu の完全なゾーンデータを正式なマスタファイル
+.Pp
+.D1 Ic host -l -v -t any rutgers.edu
+.Pp
+このコマンドでは rutgers.edu の完全なゾーンデータを正式なマスタファイル
の形式でダウンロードします。(しかし不思議な理由により SOA レコードは 2
-回リストされます。) ノート : -l フラグは完全なゾーン転送を行なった後、
+回リストされます。)
+.Pp
+.Sy 注:
+.Dq Fl l
+フラグは完全なゾーン転送を行なった後、
要求した情報をフィルタリングするように実装されています。このコマンドは
絶対に必要な時に限って使うべきです。
-.SH ホスト名検索のカスタマイズ
+.Sh ホスト名検索のカスタマイズ
一般にユーザによって指定された名前にドットが含まれていなければ、
デフォルトのドメインがその末尾に付け加えられます。このドメインは
-/etc/resolv.conf において定義することができますが、通常はローカルの
+.Pa /etc/resolv.conf
+において定義することができますが、通常はローカルの
ホスト名の最初のドット以降を取ることによって求められます。ユーザは環境変数
-.I LOCALDOMAIN
+.Ev LOCALDOMAIN
を使って異なるデフォルトドメインを指定することによって、これを
オーバーライドすることができます。さらに、ユーザはホスト名の独自の略称を使うこ
ともできます。略称は 1 つの略称につき 1 行からなるファイルにおいて指定
します。各行には略称、スペース、そして完全なホスト名が含まれます。この
ファイルは環境変数
-.I HOSTALIASES
+.Ev HOSTALIASES
にてファイル名を指定します。
-.SH 関連項目
-named (8)
-.SH バグ
+.Sh 環境変数
+.Bl -tag -width "/etc/resolv.conf " -compress
+.It Ev HOSTALIASES
+.Pq Ar ホストの別名 , 完全なホスト名
+のペアを含んでいるファイルのファイル名
+.El
+.Sh 関連ファイル
+.Bl -tag -width "/etc/resolv.conf " -compress
+.It Pa /etc/resolv.conf
+.Xr resolver 5
+を参照してください。
+.It Ev HOSTALIASES
+.Pq Ar ホストの別名 , 完全なホスト名
+のペアを含んでいるファイルのファイル名
+.El
+.Sh 関連項目
+.Xr named 8 、
+.Xr resolver 5
+.Sh バグ
ローカルドメインに含まれない名前を入力すると予期できない影響が起こり得
-ます。名前がドットで終っていない限り、ローカルドメイン名が全ての名前の
+ます。名前がドットで終っていない限り、ローカルドメイン名がすべての名前の
末尾に付加されることをいつも心に留めておいてください。
ローカルドメインの補完に失敗した時のみ、名前は変更されずに使用されます。
-.PP
--l オプションでは要求されたドメインにおいてリストされている最初の
+.Pp
+.Dq Fl l
+オプションでは要求されたドメインにおいてリストされている最初の
ネームサーバにのみ問い合わせを行ないます。もしこのサーバが死んでいれば、
サーバをマニュアルで指定しなければなりません。たとえば foo.edu のリストを
-得るには、"host -t ns foo.edu" と指定して foo.edu の全てのネームサーバ
-のリストを得てから、動作するものが見つかるまでリストにある全ての
-ネームサーバについて "host -l foo.edu xxx" (ここで xxx はネームサーバ) を試
-みれば良いでしょう。
+得るには、
+.Pp
+.D1 Ic host -t ns foo.edu
+.Pp
+と指定して foo.edu のすべてのネームサーバ
+のリストを得てから、動作するものが見つかるまでリストにあるすべての
+ネームサーバについて
+.Pp
+.D1 Ic host -l foo.edu xxx
+.Pp
+(ここで
+.Dq Ic xxx
+はネームサーバ) を試みれば良いでしょう。
diff --git a/ja_JP.eucJP/man/man1/hostname.1 b/ja_JP.eucJP/man/man1/hostname.1
index a31ef11955..c3f39b6b4d 100644
--- a/ja_JP.eucJP/man/man1/hostname.1
+++ b/ja_JP.eucJP/man/man1/hostname.1
@@ -1,65 +1,65 @@
.\" Copyright (c) 1983, 1988, 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.
.\"
.\" @(#)hostname.1 8.2 (Berkeley) 4/28/95
-.\" %Id: hostname.1,v 1.3.2.4 1998/07/15 02:01:26 jkh Exp %
+.\" %Id: hostname.1,v 1.8 1998/05/13 07:45:46 charnier Exp %
.\" jpman %Id: hostname.1,v 1.2 1997/04/10 07:27:59 mutoh Stab %
.\"
.Dd April 28, 1995
.Dt HOSTNAME 1
.Os BSD 4.2
.Sh 名称
.Nm hostname
.Nd 現在のホスト名の表示、設定
.Sh 書式
.Nm hostname
.Op Fl s
.Op Ar name-of-host
.Sh 解説
.Nm
は、現在のホストの名前を表示します。
スーパーユーザは、引数を与えることでホスト名の設定をすることもできます。
これは通常、ブート時にネットワークの初期化スクリプトである
.Pa /etc/rc.network
の中で行なわれます。
.Pp
オプションとしては、以下のものがあります。
.Bl -tag -width flag
.It Fl s
名前からドメイン情報を取り除いて表示します。
.El
.Sh 関連項目
.Xr gethostname 3
.Sh 歴史
.Nm
ユーティリティは
.Bx 4.2
から登場しています。
diff --git a/ja_JP.eucJP/man/man1/id.1 b/ja_JP.eucJP/man/man1/id.1
index a817f708e7..6123176b65 100644
--- a/ja_JP.eucJP/man/man1/id.1
+++ b/ja_JP.eucJP/man/man1/id.1
@@ -1,145 +1,150 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)id.1 8.1 (Berkeley) 6/6/93
-.\" %Id: id.1,v 1.1.1.1.8.3 1998/02/28 22:11:14 alex Exp %
+.\" %Id: id.1,v 1.5 1998/08/21 06:47:58 obrien Exp %
.\" jpman %Id: id.1,v 1.2 1997/03/29 04:26:50 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt ID 1
.Os BSD 4.4
.Sh 名称
.Nm id
.Nd ユーザの、ユーザ名とグループ名および各番号を表示する
.Sh 書式
.Nm
.Op Ar user
.Nm id
.Fl G Op Fl n
.Op Ar user
.Nm id
+.Fl P
+.Op Ar user
+.Nm id
.Fl g Op Fl nr
.Op Ar user
.Nm id
.Fl p
.Nm id
.Fl u Op Fl nr
.Op Ar user
.Sh 解説
.Nm
ユーティリティは、
呼び出したプロセスのユーザとグループとを、
名称と ID 番号で標準出力に表示します。
もし実 ID と実効 ID が異なっている場合は、両方とも表示します。
.Pp
もし、
.Ar user
(ユーザ名かユーザ ID)
が指定された場合は、そのユーザのユーザ ID とグループ ID が表示されます。
この場合、実 ID と実効 ID とは同じものとみなされます。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width Ds
.It Fl G
グループ ID
(実効グループ、実グループ、その他)を、空白で区切って列挙します。
表示する順序に意味はありません。
+.It Fl P
+id としてパスワードファイルエントリを表示します。
.It Fl g
実効グループ ID を ID 番号で表示します。
.It Fl n
.Fl G ,
.Fl g ,
.Fl u
のオプションによる表示を、ID 番号ではなく名前による表示にします。
ID 番号に対応する名前がなかった場合は、通常通り ID 番号で表示します。
.It Fl p
人間が見やすい形で表示します。
.Xr getlogin 2
が返すユーザ名がユーザ ID から得られるログイン名と異なっている場合は、
行頭に
.Dq login
とキーワードがついて
.Xr getlogin 2
で得られる名前が表示されます
.Pf ( Xr su 1
している場合など)。
名前で表示されるユーザ ID は、頭に
.Dq uid
というキーワードをつけて表示されます。
実ユーザ ID が実効ユーザ ID
と異なっていると、
.Dq euid
というキーワードが頭について実ユーザ ID が表示されます。
実グループ ID が実効グループ ID と異なっていると、頭に
.Dq rgid
がついて実グループ名を表示します。
ユーザが属しているグループのリストを、行頭に
.Dq groups
というキーワードをつけて名前で表示します。それぞれ、行を改めて表示されます。
.It Fl r
.Fl g ,
.Fl u
のオプションで実効ユーザ ID/グループ ID ではなく、
実ユーザ ID/グループ ID を表示するようにします。
.It Fl u
実効ユーザ ID を ID 番号で表示します。
.El
.Pp
.Nm
ユーティリティは
成功の場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
.Sh 関連項目
.Xr who 1
.Sh 規格
.Nm
.St -p1003.2
準拠です。
.Sh 歴史
伝統的な
.Xr groups 1
コマンドは
.Dq Nm id Fl Gn Op Ar user
と同一です。
.Pp
伝統的な
.Xr whoami 1
コマンドは
.Dq Nm id Fl un
と同一です。
.Pp
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/ident.1 b/ja_JP.eucJP/man/man1/ident.1
index 009ea79412..c7ff5be5f1 100644
--- a/ja_JP.eucJP/man/man1/ident.1
+++ b/ja_JP.eucJP/man/man1/ident.1
@@ -1,186 +1,186 @@
.de Id
.\" jpman %Id: ident.1,v 1.2 1997/05/08 13:28:03 mitchy Stab %
.ds Rv \\$3
.ds Dt \\$4
.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
..
-.Id %Id: ident.1,v 1.2 1995/10/28 21:49:18 peter Exp %
+.Id %Id: ident.1,v 1.4 1997/02/22 15:47:27 peter Exp %
.ds r \&\s-1RCS\s0
.ds u \&\s-1UTC\s0
.if n .ds - \%--
.if t .ds - \(em
.TH IDENT 1 \*(Dt GNU
.SH 名称
ident \- ファイル内の RCS キーワードを読み出す
.SH 書式
.B ident
[
.B \-q
] [
.B \-V
] [
.I file
\&.\|.\|. ]
.SH 解説
.B ident
は、指定されたファイルがあればそのファイルから、指定がない場合には標準入力から、
.BI $ keyword : "\ text\ " $
なるパターンを検索します。
.PP
これらのパターンは、通常 \*r の
.BR co (1)
コマンドにより自動的に挿入されますが、
手作業で入れることも可能です。オプション
.B \-q
を指定すると、ファイル中に
キーワードが発見できなくても警告メッセージを出力しません。
.B \-V
を指定すると、
.BR ident
のバージョン番号を表示します。
.PP
.B ident
は、テキストファイルと同様にオブジェクトファイルやダンプファイルにも使
用することができます。
たとえば、以下の C 言語プログラム
.B f.c
で、
.IP
.ft 3
#include <stdio.h>
.br
static char const rcsid[] =
.br
\&"$\&Id: f.c,v \*(iD $\&";
.br
int main() { return printf(\&"%s\en\&", rcsid) == EOF; }
.ft P
.LP
.B f.c
.B f.o
にコンパイルされているなら、以下のコマンド
.IP
.B "ident f.c f.o"
.LP
は、次のような出力を行います。
.nf
.IP
.ft 3
f.c:
$\&Id: f.c,v \*(iD $
f.o:
$\&Id: f.c,v \*(iD $
.ft
.fi
.PP
C 言語プログラムで上記のような文字列
.B rcsid
が定義され、かつ使われていないとき、
.BR lint (1)
が警告を出したり、 C コンパイラによっては最適化により文字列を削除する
場合があります。もっとも、よい解決策は上のプログラム例のように文字列
.B rcsid
を使うことです。
.PP
.B ident
は、 \r* がサポートする
.I keyword
でなくても、すべての
.BI $ keyword : "\ text\ " $
パターンを表示します。
これにより、
.BR $\&XConsortium$
のような非標準の keyword についても情報が得られます。
.SH KEYWORDS
つぎに現在、
.BR co (1)
が扱う keyword を挙げます。デフォルトでは、すべての時刻は協定標準時
(\*u しばしば \&\s-1GMT\s0と呼ばれます) で表されますが、
チェックアウトのときに、
.BR co
.BI \-z zone
オプションを使ったファイルについては、数字によるタイムゾーンが付加され
ます。
.TP
.B $\&Author$
そのリビジョンをチェックインしたユーザ名です。
.TP
.B $\&Date$
そのリビジョンをチェックインした日付と時刻です。
.TP
.B $\&Header$
\*r ファイルのフルパス名を含んだ標準のヘッダ、リビジョン番号、
作者、状態、およびロックされている場合にはロックした人です。
.TP
.B $\&Id$
\*r ファイルの名前がフルパスでないことを除いて、
.BR $\&Header$ ,
と同じです。
.TP
.B $\&Locker$
そのリビジョンをロックした人のユーザ名 (ロックされていない場合は空白)
です。
.TP
.B $\&Log$
チェックインのときに書かれたログメッセージです。
.BR ident
の目的としては、
.BR $\&RCSfile$
と等価です。
.TP
.B $\&Name$
リビジョンをチェックアウトするときに使うシンボル名です(ないかもしれま
せん)。
.TP
.B $\&RCSfile$
フルパスでない \*r ファイルの名前です。
.TP
.B $\&Revision$
そのリビジョンのリビジョン番号です。
.TP
.B $\&Source$
\*r ファイルのフルパス名です。
.TP
.B $\&State$
.BR rcs (1)
or
.BR ci (1)
.B \-s
オプションで付けられたそのリビジョンの状態です。
.PP
.BR co (1)
は以下の文字をエスケープシーケンスで表現することにより、
キーワードの文字列の形を保ちます。
.LP
.RS
.nf
.ne 6
.ta \w'newline 'u
\f2char escape sequence\fP
tab \f3\et\fP
newline \f3\en\fP
space \f3\e040
$ \e044
\e \e\e\fP
.fi
.RE
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1992, 1993 Paul Eggert.
.SH 関連項目
ci(1), co(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1),
rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
diff --git a/ja_JP.eucJP/man/man1/install-info.1 b/ja_JP.eucJP/man/man1/install-info.1
index ca2d1fd2d9..1318994f7f 100644
--- a/ja_JP.eucJP/man/man1/install-info.1
+++ b/ja_JP.eucJP/man/man1/install-info.1
@@ -1,56 +1,58 @@
.\"
.\" Copyright (c) 1997 David E. O'Brien (obrien@FreeBSD.org)
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: install-info.1,v 1.1.2.1 1997/08/29 09:11:26 obrien Exp %
+.\" %Id: install-info.1,v 1.2 1998/04/01 06:29:16 charnier Exp %
.\"
.\" .TH install-info 1
.Dd August 29, 1997
.Dt INSTALL-INFO 1
.Os BSD
.Sh 名称
.Nm install-info
.Nd GNU info ハイパーテキストシステム用の info/dir ファイルを編集する
.Sh 書式
.Nm install-info
.Ar program.info info/dir
.Sh 解説
.Nm
は FreeBSD ports コレクションでよく利用されます。
.Sh 関連ファイル
/usr/share/info/dir
/usr/local/info/dir
.I F
.Sh 関連項目
.Xr info 1
.Sh 診断
なし。
.Sh バグ
知られているものはありません。
.Sh 作者
-このマニュアルページは David O'Brien (obrien@NUXI.com) によって
+このマニュアルページは
+.An David O'Brien Aq obrien@NUXI.com
+によって
書かれました。
.\" .Sh HISTORY
.\" .Nm
.\" appeared in FreeBSD 2.1.
diff --git a/ja_JP.eucJP/man/man1/install.1 b/ja_JP.eucJP/man/man1/install.1
index 98acd9e7ae..142bfce14a 100644
--- a/ja_JP.eucJP/man/man1/install.1
+++ b/ja_JP.eucJP/man/man1/install.1
@@ -1,183 +1,183 @@
.\" Copyright (c) 1987, 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: @(#)install.1 8.1 (Berkeley) 6/6/93
-.\" %Id: install.1,v 1.7.2.2 1998/07/17 07:26:30 jkh Exp %
+.\" %Id: install.1,v 1.13 1998/06/10 07:17:59 peter Exp %
.\"
.\" jpman %Id: install.1,v 1.3 1997/11/12 13:03:24 horikawa Stab %
.Dd September 22, 1996
.Dt INSTALL 1
.Os BSD 4.2
.Sh 名称
.Nm install
.Nd バイナリのインストール
.Sh 書式
.Nm install
.Op Fl CcDMps
.Op Fl f Ar flags
.Op Fl g Ar group
.Op Fl m Ar mode
.Op Fl o Ar owner
.Ar file1 file2
.Nm install
.Op Fl CcDMps
.Op Fl f Ar flags
.Op Fl g Ar group
.Op Fl m Ar mode
.Op Fl o Ar owner
.Ar file1
\&...
.Ar fileN directory
.Nm install
.Fl d
.Op Fl g Ar group
.Op Fl m Ar mode
.Op Fl o Ar owner
.Ar directory
\&...
.Sh 解説
ファイルを指定したファイルもしくはディレクトリへ移動 (
.Fl c
オプションが指定されていればコピー) します。
もしもターゲットがディレクトリであれば、
.Ar file
は元のファイル名のままで
.Ar directory
の中に移動されます。もし指定ファイルがすでに存在してい
る場合、パーミッションが許せば上書きされます。
.Pp
.Bl -tag -width Ds
.It Fl C
.Fl c
オプションが指定されたのと同じように、コピーを行います。
コピー先ファイルがすでに存在しかつ内容が同一である場合には、
ターゲットの修正時刻を変更しないことが異なります。
.It Fl c
ファイルをコピーします。デフォルトでは
.Nm
はターゲットのファイルを作った後にオリジナルのファイルを削除しますが、
.Fl c
オプションはこの動作をオフにします。
.It Fl D
デバッグ情報を表示します。
.Fl D
が一回以上指定されている時、
.Fl C
でのリネーム処理も表示します。
.Fl D
が 2 回以上指定されている時は、
.Fl C
オプションでインストールできなかったファイルに対して警告を発します。
.It Fl d
ディレクトリを作成します。
必要であれば、無い親ディレクトリも作成されます。
.It Fl f
ターゲットファイルのファイルフラグを指定します;
指定可能なフラグのリストとその意味は
.Xr chflags 1
を参照して下さい。
.It Fl g
グループを指定します。数値指定の GID が利用できます。
.It Fl M
.Xr mmap 2
の使用を全面的に禁止します。
.It Fl m
モードを指定します。デフォルトのモードは rwxr-xr-x
(0755) にセットされます。モード指定は 8 進数もしくは
シンボリックな値のどちらでも可能です; 指定可能なモードの値については
.Xr chmod 1
を参照して下さい。
.It Fl o
所有者を指定します。数値指定の UID が利用できます。
.It Fl p
修正時刻を保存します。
.Fl C
(比較してコピー) オプションが指定された場合のようにコピーを行いますが、
ターゲットファイルが存在しないもしくは内容が異る場合、
ファイルの修正時刻を保存します。
.It Fl s
.Nm
.Xr strip 1
コマンドを実行してバイナリをストリップします。
.Nm strip
コマンドを別に起動するため、多くのシステムやバイナリ形式に対して
移植性のある方法となっています。
.El
.Pp
デフォルトでは
.Nm
は全てのファイルフラグを保存します。ただし ``nodump'' フラグは例外です。
.Pp
.Nm
ユーティリティは、ファイルをそれ自身に移動しないように試みます。
.Pp
.Pa /dev/null
をインストールすると、空のファイルを作ります。
.Pp
正常終了時は 0 が返ります。他の場合は 1 が返ります。
.Pp
.Sh 関連ファイル
.Bl -tag -width INS@XXXX -compact
.It Pa INS@XXXX
.Fl C
もしくは
.Fl p
オプションが使われている時は、一時ファイル名を INS@XXXXとします。
ここで、 XXXX 部分は
.Xr mkstemp 3
で決定され、ターゲットディレクトリに作成されます。
.Sh 関連項目
.Xr chflags 1 ,
.Xr chgrp 1 ,
.Xr chmod 1 ,
.Xr cp 1 ,
.Xr mv 1 ,
.Xr strip 1 ,
.Xr mmap 2 ,
.Xr chown 8
.Sh 歴史
.Nm
ユーティリティは
.Bx 4.2
から登場しました。
.Sh バグ
.Nm install
が異常終了した場合に、
一時ファイルがターゲットディレクトリに残るかも知れません。
.Pp
NFS ファイルシステム経由では
.Xr fchflags 2
でファイルフラグを設定できません。
他のファイルシステムはフラグの概念がありません。
フラグをサポートしないファイルシステムにおいてフラグ設定に失敗した場合には、
.Nm
は警告だけ行います。
diff --git a/ja_JP.eucJP/man/man1/intro.1 b/ja_JP.eucJP/man/man1/intro.1
index a5dd798ef9..3d155a500f 100644
--- a/ja_JP.eucJP/man/man1/intro.1
+++ b/ja_JP.eucJP/man/man1/intro.1
@@ -1,97 +1,97 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)intro.1 8.2 (Berkeley) 12/30/93
-.\" %Id: intro.1,v 1.4.2.3 1997/06/13 21:13:27 max Exp %
+.\" %Id: intro.1,v 1.10 1997/06/13 21:11:27 max Exp %
.\" jpman %Id: intro.1,v 1.2 1997/05/17 15:58:13 horikawa Stab %
.\"
.Dd December 30, 1993
.Dt INTRO 1
.Os
.Sh 名称
.Nm intro
.Nd 通常コマンド (ツールとユーティリティ) の手引
.Sh 解説
マニュアルのセクション1は、
.Bx
ユーザ環境を構成するコマンドのほとんどについて書かれています。
セクション1に含まれるコマンドを以下にいくつか列挙します。
.de OP
.ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]"
.el .RB "[\ " "\\$1" "\ ]"
..
.Pp
テキストエディタ
.Pp
コマンドシェルインタープリタ
.Pp
検索およびソートツール
.Pp
ファイル操作コマンド
.Pp
システム状態参照コマンド
.Pp
遠隔ファイルコピーコマンド
.Pp
メールコマンド
.Pp
コンパイラおよびコンパイラ関連ツール
.Pp
整形出力ツール
.Pp
ラインプリンタコマンド
.Pp
.Pp
すべてのコマンドは終了 (exit) 時にステータス値をセットするので、
その値を調べることで
コマンドが正常に終了したかどうかを判断することができるようになって
います。
exit 値とそれが意味するものは、個々のマニュアルに明記されていま
す。伝統的に、値 0 はコマンドが完全に成功したことを表します。
.Sh 関連項目
.Xr apropos 1 ,
.Xr man 1 ,
.Xr intro 2 ,
.Xr intro 3 ,
.Xr intro 4 ,
.Xr intro 5 ,
.Xr intro 6 ,
.Xr intro 7 ,
.Xr intro 8 ,
.Xr intro 9
.Pp
.%T "UNIX User's Manual Supplementary Documents"
の中のチュートリアル
.Sh 歴史
.Nm
マニュアルは
.At v6
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/ipcrm.1 b/ja_JP.eucJP/man/man1/ipcrm.1
index e58827bab3..4bfde524fb 100644
--- a/ja_JP.eucJP/man/man1/ipcrm.1
+++ b/ja_JP.eucJP/man/man1/ipcrm.1
@@ -1,79 +1,79 @@
.\" Copyright (c) 1994 Adam Glass
.\" 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. 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 Adam Glass ``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 Adam Glass 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: ipcrm.1,v 1.1.8.2 1997/09/15 08:32:01 jkh Exp %
+.\" %Id: ipcrm.1,v 1.5 1997/07/15 09:54:34 charnier Exp %
.\" jpman %Id: ipcrm.1,v 1.2 1997/05/04 07:58:04 horikawa Stab %
.\""
.Dd August 8, 1994
.Dt ipcrm 1
.Os
.Sh 名称
.Nm ipcrm
.Nd 指定したメッセージキュー、セマフォセット、共有メモリセグメントを削除する
.Sh 書式
.Nm
.Op Fl q Ar msqid
.Op Fl m Ar shmid
.Op Fl s Ar semid
.Op Fl Q Ar msgkey
.Op Fl M Ar shmkey
.Op Fl S Ar semkey
.Ar ...
.Sh 解説
.Nm ipcrm
は、指定したメッセージキュー、セマフォ、共有メモリセグメントを
削除します。これらの System V IPC オブジェクトは、
作成時につけられるID、もしくはキーで指定することができます。
.Pp
次のようなオプションにて、削除する IPC オブジェクトを指定します。
これらのオプションはいくつでも組み合わせて使用することができます:
.Bl -tag -width indent
.It Fl q Ar msqid
.Nm msqid
で指定した ID のメッセージキューを削除します。
.It Fl m Ar shmid
.Nm shmid
で指定した ID の共有メモリセグメントに対し、削除マークを付けます。
このマークが付けられた共有メモリは、最後のプロセスがデタッチした後、
解放されます。
.It Fl s Ar semid
.Nm semid
で指定した ID のセマフォセットを削除します。
.It Fl Q Ar msgkey
.Nm msgkey
で指定したキーに対応するメッセージキューを削除します。
.It Fl M Ar shmkey
.Nm shmkey
で指定したキーに対応する共有メモリセグメントに対し、削除マークをつけます。
このマークが付けられた共有メモリは、最後のプロセスがデタッチした後、
解放されます。
.It Fl S Ar semkey
.Nm semkey
で指定したキーに対応するセマフォセットを削除します。
.El
.Pp
System V IPC オブジェクトの ID とキーは、
.Xr ipcs 1
を使って知ることができます。
.Sh 関連項目
.Xr ipcs 1
diff --git a/ja_JP.eucJP/man/man1/ipcs.1 b/ja_JP.eucJP/man/man1/ipcs.1
index 0bf10e84f4..2c85330bc6 100644
--- a/ja_JP.eucJP/man/man1/ipcs.1
+++ b/ja_JP.eucJP/man/man1/ipcs.1
@@ -1,148 +1,148 @@
.\"
.\" Copyright (c) 1994 SigmaSoft, Th. Lockert
.\" 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 SigmaSoft, Th. Lockert.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ipcs.1,v 1.3.2.3 1998/07/17 04:18:20 jkh Exp %
+.\" %Id: ipcs.1,v 1.8 1998/03/23 07:43:36 charnier Exp %
.\" jpman %Id: ipcs.1,v 1.2 1997/05/04 07:59:32 horikawa Stab %
.\"
.Dd June 18, 1994
.Dt "IPCS" 1
.Os FreeBSD 2.0
.Sh 名称
.Nm ipcs
.Nd System V プロセス間通信機構の利用状況を報告する
.Pp
.Sh 書式
.Nm
.Op Fl abcmopqstMQST
.Op Fl C Ar system
.Op Fl N Ar core
.Sh 解説
.Nm
プログラムは、システムの System V プロセス間通信 (IPC) 機構
に関する情報を提供します。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl a
使用中のセマフォ、メッセージキュー、共有メモリセグメントに関し、
可能な限り多くの情報を表示します(これは
.Fl b ,
.Fl c ,
.Fl o ,
.Fl p ,
.Fl t
オプションを同時に指定したのと同じです)。
.It Fl b
使用中のセマフォ、メッセージキュー、共有メモリセグメントの
最大許容サイズを表示します。
.Dq 最大許容サイズ(maximum allowed size)
とは、メッセージキュー中の1つのメッセージの最大バイト数、
共有メモリセグメントのサイズの最大バイト数、もしくは一組のセマフォ中の
セマフォの数を意味します。
.It Fl c
使用中のセマフォ、メッセージキュー、共有メモリセグメント作成者の名前、
グループを表示します。
.It Fl m
使用中の共有メモリセグメントの情報を表示します。
.It Fl o
使用中のメッセージキュー、共有メモリセグメントの特徴的な利用状況を表示します。
.Dq 特徴的な利用状況(outstanding usage)
とは、メッセージキューにあるメッセージ数や共有メモリセグメントを
アタッチしているプロセスの数のことです。
.It Fl p
使用中のセマフォ、メッセージキュー、共有メモリセグメントの
プロセスID情報を表示します。
.Dq プロセスID情報(process ID information)
とは、メッセージキューにメッセージを送ったり、
メッセージキューからメッセージを受け取ったりした最後のプロセス、
またはセマフォを作ったプロセスや、共有メモリセグメントをアタッチしたり、
デタッチしたりした最後のプロセスのことです。
.It Fl q
使用中のメッセージキューに関する情報を表示します。
.It Fl s
使用中のセマフォに関する情報を表示します。
.It Fl t
使用中のセマフォ、メッセージキュー、共有メモリセグメントの
アクセス時間を表示します。アクセス時間とは、
IPC オブジェクトに対する最後の制御操作を行った時間や、
メッセージを最後に送ったり受け取ったりした時間、
共有メモリセグメントを最後にアタッチしたりデタッチしたりした時間、
セマフォを最後に操作した時間のことです。
.It Fl C Ar system
デフォルトの
.Dq Pa /kernel
のかわりに、指定した
.Ar system
から名前リストを取り出します。
.It Fl M
共有メモリに関するシステム情報を表示します。
.It Fl N Ar core
デフォルトの
.Dq Pa /dev/kmem
のかわりに、指定した
.Ar core
から名前リストに関連した値を取り出します。
.It Fl Q
メッセージキューに関するシステム情報を表示します。
.It Fl S
セマフォに関するシステム情報を表示します。
.It Fl T
共有メモリ、メッセージキュー、セマフォに関するシステム情報を表示します。
.El
.Pp
もし、
.Fl M ,
.Fl m ,
.Fl Q ,
.Fl q ,
.Fl S ,
.Fl s
オプションがいずれも指定されていなければ、使用中の IPC 機構に関する情報が
表示されます。
.Sh 制限
システムデータの構造は、
.Nm
の実行中にも変化するかもしれません;
.Nm
の出力が矛盾のないものであることは保証されません。
.Sh バグ
このマニュアルページは、完全なものではありません。なぜなら、
.Nm ipcs
で表示される情報について説明していないからです。
.Sh 関連ファイル
.Bl -tag -width /etc/passwd -compact
.It Pa /dev/kmem
デフォルトのカーネルメモリ
.It Pa /kernel
デフォルトのシステム名前リスト
.El
.Sh 関連項目
.Xr ipcrm 1
.Sh 作者
.An Thorsten Lockert Aq tholo@sigmasoft.com
diff --git a/ja_JP.eucJP/man/man1/kbdcontrol.1 b/ja_JP.eucJP/man/man1/kbdcontrol.1
index 0aaa5c5ac0..76c31a5bf4 100644
--- a/ja_JP.eucJP/man/man1/kbdcontrol.1
+++ b/ja_JP.eucJP/man/man1/kbdcontrol.1
@@ -1,110 +1,110 @@
.\"
.\" kbdcontrol - a utility for manipulating the syscons keyboard driver section
.\"
.\" 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.
.\"
.\" @(#)kbdcontrol.1
.\" jpman %Id: kbdcontrol.1,v 1.3 1997/07/26 21:37:54 horikawa Stab %
.\"
.Dd May 22, 1994
.Dt kbdcontrol 1
.Os FreeBSD
.Sh 名称
.Nm kbdcontrol
.Nd syscons のキーボードドライバ部分を操作するユーティリティ
.Sh 書式
.Nm
.Op Fl dFx
.Op Fl b Ar duration.pitch | Ar belltype
.Op Fl r Ar delay.repeat | Ar speed
.Op Fl l Ar mapfile
.Op Fl f Ar # Ar string
.Op Fl h Ar size
.Op Fl L Ar mapfile
.Sh 解説
.Nm
コマンドは、
キーマップ、リピート速度/ディレイ時間、ベル
といった様々なキーボード関連オプションを syscons に対して
設定するのに用いられます。
.Pp
以下のコマンドラインオプションを使用可能です:
.Bl -tag -width indent
.It Fl b Ar duration.pitch | Ar belltype
-ベルの持続時間(duration)及びピッチ(pitch)を設定します。
+ベルの持続時間(duration)をミリ秒で、ピッチ(pitch)をヘルツで設定します。
代わりに
.Ar belltype
引数が指定された場合、この引数は
.Ar normal
(サウンドパラメータを標準値に戻します)か
.Ar visual
(ベルをビジュアルモードにします、
すなわち音を鳴らす代わりに画面をフラッシュさせます)
のいずれかでなければなりません。
.It Fl r Ar delay.repeat | Ar speed
キーボードの
.Ar delay
(250, 500, 750, 1000)
.Ar repeat
(34, 38, 42, 46, 50, 55, 59, 63, 68, 76, 84, 92, 100, 110, 118, 126,
136, 152, 168, 184, 200, 220, 236, 252, 272, 304, 336, 368, 400, 440,
472, 504)
レートを設定します。
代わりに
.Ar speed
引数が指定された場合、この引数は
.Ar slow
(1000.504),
.Ar fast
(250.34),
.Ar normal
(500.126)
でなければなりません。
.It Fl l Ar mapfile
キーボードマップをファイル
.Ar mapfile
から読み取って設定します。
.It Fl d
現在のキーボードマップを標準出力にダンプします。
.It Fl f Ar # Ar string
.BI "\-f\ " #\ string
.Ar #
番のファンクションキーで文字列
.Ar string
が送られるように設定します。
.It Fl F
ファンクションキー設定を標準状態に戻します。
.It Fl x
キーボードマップのダンプを 16 進数表示で行います。
.It Fl h Ar size
ヒストリバッファの大きさを
.Ar size
行に設定します。
.It Fl L Ar mapfile
キーボードマップをファイル
.Ar mapfile
から読み取り、これをコンパイルした結果の
.Ft "struct keymap"
を標準出力に書き出します。
.Sh 関連ファイル
.Bl -tag -width /usr/share/syscons/keymaps -compact
.Pa /usr/share/syscons/keymaps
.El
.Sh バグ
もし見つかったら報告してください。
.Sh 関連項目
.Xr vidcontrol 1 ,
.Xr keyboard 4 ,
.Xr screen 4
.Sh 作者
.An Soren Schmidt Aq sos@FreeBSD.org
.Sh 日本語訳
酒井 淳嗣(sakai@csl.cl.nec.co.jp): FreeBSD 向けに翻訳
diff --git a/ja_JP.eucJP/man/man1/kbdmap.1 b/ja_JP.eucJP/man/man1/kbdmap.1
index 9730fc2e5b..69e6ca2015 100644
--- a/ja_JP.eucJP/man/man1/kbdmap.1
+++ b/ja_JP.eucJP/man/man1/kbdmap.1
@@ -1,133 +1,133 @@
.\" Copyright (c) March 1995 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: kbdmap.1,v 1.6.2.6 1998/07/18 11:10:31 jkh Exp %
+.\" %Id: kbdmap.1,v 1.14 1998/03/23 08:23:11 charnier Exp %
.\" jpman %Id: kbdmap.1,v 1.3 1997/08/10 18:29:41 horikawa Stab %
.Dd Mar 25, 1995
.Dt KBDMAP 1
.Os FreeBSD
.Sh 名称
.Nm kbdmap ,
.Nm vidfont
.Nd syscons 用フロントエンド
.Sh 書式
.Nm kbdmap
.Op Fl K
.Op Fl V
.Op Fl d | Fl default
.Op Fl h | Fl help
.Op Fl l | Fl lang Ar language
.Op Fl p | Fl print
.Op Fl r | Fl restore
.Op Fl s | Fl show
.Op Fl v | Fl verbose
.Sh 解説
.Nm kbdmap
は有効なキーマップを容易に設定するコマンドです。
同様に
.Nm vidfont
はフォントを設定します。
いずれもデータベース中の記述(description)を探します。
この記述は英語(デフォルト)あるいは他の言語で書かれています。
両コマンドともキーマップおよびフォントのデータベースを検査します。
デフォルトでは英語で記述されていますが、他の言語でなされても構いません。
.Pp
.Tn MSDOS
コードページのキーマップやフォントを使用しないよう強く勧めます。
可能であれば
.Tn ISO
標準バージョンを使ってください!
.Tn X11
.Tn MSDOS
コードページをサポートしません。
.Sh オプション
.Bl -tag -width Ds
.It Fl K
.Xr kbdmap 1
としてコマンドを実行します。
.It Fl V
.Xr vidfont 1
としてコマンドを実行します。
.It Fl d , Fl default
デフォルト言語を使用します。$LANG は無視されます。
.It Fl h , Fl help
オプション一覧を表示して終了します。
.It Fl l , Fl lang Ar language
記述およびメニューの表示に言語
.Ar language
を用います。
.It Fl p , Fl print
標準出力に使用可能なキーマップもしくはフォントを表示し、終了します。
.It Fl r , Fl restore
.Pa /etc/rc.conf
からデフォルトフォントをロードします。
.It Fl s , Fl show
現在サポートしている言語を表示して終了します。
.It Fl v , Fl verbose
通常よりきめ細かく警告メッセージを出力します。
.Sh 環境変数
.Bl -tag -width /etc/master.passwdxx -compact
.Pa LANG
希望する言語。
.Sh 関連ファイル
.Bl -tag -width /usr/share/syscons/keymaps/INDEX.keymaps -compact
.It Pa /usr/share/syscons/keymaps/INDEX.keymaps
キーマップのデータベース。
.It Pa /usr/share/syscons/fonts/INDEX.fonts
フォントのデータベース。
.It Pa /etc/rc.conf
デフォルトのフォント。
.It Pa /usr/X11/lib/X11/locale/locale.alias
共通な LANG に関する記述。
.Sh バグ
.\" .Nm kbdmap/vidfont
.\" does not know which font is in use. E.g. if the current font
.\" is iso-8859-1 and you chose lang 'ru' (for Russian)
.\" you get funny latin1 characters and not russkij shrift.
.\"
.Nm vidcontrol
および
.Nm kbdcontrol
は(仮想)コンソールでのみ機能します。X11 上では動作しません。
.Sh 関連項目
.Xr dialog 1 ,
.Xr kbdcontrol 1 ,
.Xr vidcontrol 1 ,
.Xr rc.conf 5
.Sh 歴史
.Nm kbdmap
および
.Nm vidfont
コマンドは
.Fx 2.1
から登場しました。
.Sh 作者
.An Wolfram Schneider
.Aq wosch@FreeBSD.org ,
Berlin.
.Sh 日本語訳
酒井 淳嗣(sakai@csl.cl.nec.co.jp): FreeBSD向けに翻訳
diff --git a/ja_JP.eucJP/man/man1/kdump.1 b/ja_JP.eucJP/man/man1/kdump.1
index 16eb0c5dd7..8f133a754a 100644
--- a/ja_JP.eucJP/man/man1/kdump.1
+++ b/ja_JP.eucJP/man/man1/kdump.1
@@ -1,100 +1,100 @@
.\" 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.
.\"
.\" @(#)kdump.1 8.1 (Berkeley) 6/6/93
-.\" %Id: kdump.1,v 1.2.2.3 1997/09/15 08:32:05 jkh Exp %
+.\" %Id: kdump.1,v 1.4 1997/07/16 06:49:48 charnier Exp %
.\" jpman %Id: kdump.1,v 1.2 1997/05/16 00:24:29 mutoh Stab %
.\"
.Dd June 6, 1993
.Dt KDUMP 1
.Os BSD 4.4
.Sh 名称
.Nm kdump
.Nd カーネルのトレースデータを表示する
.Sh 書式
.Nm
.Op Fl dnlRT
.Op Fl f Ar file
.Op Fl m Ar maxdata
.Op Fl t Op cnisuw
.Sh 解説
.Nm
は、
.Xr ktrace 1
が作成したカーネルトレースファイルを
可読形式で表示します。デフォルトでは、カレントディレクトリにある
.Pa ktrace.out
ファイルを変換して表示します。
.Pp
オプションとしては、以下のものがあります:
.Bl -tag -width Fl
.It Fl d
すべての数値を 10 進数で表示します。
.It Fl f Ar file
.Pa ktrace.out
のかわりに、指定したファイルを変換して表示します。
.It Fl l
トレースファイルを何度も読みます。いったん EOF に達すると、
新たなデータが書かれるまで待ちます。
.It Fl m Ar maxdata
.Tn I/O
をデコードする際に最高
.Ar maxdata
バイトまで表示します。
.It Fl n
各動作専用に用意されている変換を行わないようにします。通常
.Nm
は多くのシステムコールを、より読みやすい形にデコードします。たとえば、
.Xr ioctl 2
の値はマクロ名に置き換えられたり、
.Va errno
の値は
.Xr strerror 3
を利用して文字列に置き換えられたりします。この動作をやめて一貫したフォー
マットで出力することで、この出力をさらに処理して分析を行うことが容易
になります。
.It Fl R
時間の表示に、前のエントリからの相対時間を使います。
.It Fl T
時間の表示に、各エントリの絶対時間を利用します。
.It Fl t Ar cnisuw
.Xr ktrace 1
.Fl t
オプションを参照してください。
.El
.Sh 関連項目
.Xr ktrace 1
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/key.1 b/ja_JP.eucJP/man/man1/key.1
index 75057837df..666e18e9a1 100644
--- a/ja_JP.eucJP/man/man1/key.1
+++ b/ja_JP.eucJP/man/man1/key.1
@@ -1,53 +1,53 @@
.\" from: @(#)key.1 1.0 (Bellcore) 12/2/91
-.\" %Id: key.1,v 1.2.2.2 1998/07/17 04:18:24 jkh Exp %
+.\" %Id: key.1,v 1.4 1998/03/23 07:43:42 charnier Exp %
.\" jpman %Id: key.1,v 1.3 1997/07/22 17:45:51 horikawa Stab %
.\"
.Dd December 2, 1991
.Dt KEY 1
.Os
.Sh 名称
.Nm key
.Nd S/Key 試行の応答を計算するための独立プログラム
.Sh 書式
.Nm
.Op Fl n Ar count
.Ar sequence
.Ar key
.Sh 解説
.Nm key
は、オプションの count を表示すべき一回利用パスワード
(one time access password) の数として、
そして (最大の) シーケンス番号とキーをコマンドライン引数として取ります。
そして、ユーザに秘密のパスワードの入力を促し、
単語と 16 進フォーマットの両方の応答を作成します。
.Sh 使用例
使用例です。
.sp 0
>key \-n 5 99 th91334
.sp 0
Enter password: <あなたの秘密のパスワードをここに入力>
.sp 0
OMEN US HORN OMIT BACK AHOY
.sp 0
.... あと 4 つパスワードを表示します。
.sp 0
>
.Sh オプション
.Bl -tag -width indent
.It Fl n Ar count
出力する一回利用パスワードの数です。
デフォルトは 1 です。
.El
.Sh 関連項目
.Xr keyinfo 1 ,
.Xr keyinit 1 ,
.Xr skey 1
.Sh 作者
コマンドは、
.An Phil Karn ,
.An Neil M. Haller ,
.An John S. Walden
によって
作られました。
.Sh 連絡先
.Aq staff@thumper.bellcore.com
diff --git a/ja_JP.eucJP/man/man1/keyinfo.1 b/ja_JP.eucJP/man/man1/keyinfo.1
index 97660fa7cf..357fc7fc8d 100644
--- a/ja_JP.eucJP/man/man1/keyinfo.1
+++ b/ja_JP.eucJP/man/man1/keyinfo.1
@@ -1,58 +1,58 @@
.\" from: @(#)keyinfo.1 1.1 (Bellcore) 7/20/93
-.\" %Id: keyinfo.1,v 1.2.2.2 1998/07/17 04:18:28 jkh Exp %
+.\" %Id: keyinfo.1,v 1.6 1998/03/23 07:43:53 charnier Exp %
.\" jpman %Id: keyinfo.1,v 1.2 1997/04/18 07:31:28 mutoh Stab %
.\"
.Dd April 26, 1996
.Dt KEYINFO 1
.Os
.Sh 名称
.Nm keyinfo
.Nd 現在の S/Key シーケンスナンバーとキーを表示する
.Sh 書式
.Nm
.Op Ar username
.Sh 解説
.Nm keyinfo
はユーザ名のオプションをとり、
ユーザの現在の S/Key データベースである
.Pa /etc/skeykeys
にあるシーケンスナンバとキーが表示されます。
このコマンドはフォームの中での
.Nm key
コマンドの結合によって、旅行に出かける時に使うパスワードの一覧表を
生成する時に有用です。
.sp
>key \-n <number of passwords> `keyinfo`|lpr
.Sh 使用例
実行例を以下に示します:
.sp 0
> keyinfo
.sp 0
0098 ws91340
.LP
.Sh 引数
.Bl -tag -width indent
.It Ar username
このユーザの情報を表示します。
デフォルトでは S/Key の情報はコマンドを実行したユーザのものが
表示されます。
.El
.Sh 診断
.Nm keyinfo
は、要求されたユーザのキーが見付かったときに終了コード 0 を返し、
そうでない場合に終了コード 1 を返します。
.Sh 関連項目
.Xr key 1 ,
.Xr keyinit 1
.Sh 作者
もともとのコマンドは、
.An Phil Karn ,
.An Neil M. Haller ,
.An John S. Walden
よって作成されました。
perl 用に書き直したのは、
.ie t J\(:org \%Wunsch
.el Joerg Wunsch
です。この版では setuid をしていますので、 S/Key のキーファイルは
ユーザから読めない用にしておくことができます。
diff --git a/ja_JP.eucJP/man/man1/kill.1 b/ja_JP.eucJP/man/man1/kill.1
index 5440845b58..820dface05 100644
--- a/ja_JP.eucJP/man/man1/kill.1
+++ b/ja_JP.eucJP/man/man1/kill.1
@@ -1,150 +1,150 @@
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)kill.1 8.2 (Berkeley) 4/28/95
-.\" %Id: kill.1,v 1.3.2.3 1998/07/15 02:01:27 jkh Exp %
+.\" %Id: kill.1,v 1.8 1998/05/18 03:33:07 jkoshy Exp %
.\" jpman %Id: kill.1,v 1.2 1997/04/18 07:37:46 mutoh Stab %
.\"
.Dd April 28, 1995
.Dt KILL 1
.Os
.Sh 名称
.Nm kill
.Nd プロセスを終了させる、もしくは、プロセスにシグナルを送る
.Sh 書式
.Nm kill
.Op Fl s signal_name
.Ar pid
\&...
.Nm kill
.Fl l
.Op Ar exit_status
.Nm kill
.Fl signal_name
.Ar pid
\&...
.Nm kill
.Fl signal_number
.Ar pid
\&...
.Sh 解説
.Nm
は、
.Ar pid
で指定されたプロセス番号のプロセスに対し
シグナルを送ります。
.Pp
他のユーザのプロセスにシグナルを送ることができるのは、スーパユーザ
だけです。
.Pp
オプションとしては以下のものがあります:
.Pp
.Bl -tag -width Ds
.It Fl s Ar signal_name
デフォルトの
.Dv TERM
シグナルのかわりに、
シンボルによるシグナル名で指定したシグナルを送ります。
.It Fl l Op Ar exit_status
オペランドを指定しない場合、シグナル名をリストします;
オペランドを指定する場合、
.Ar exit_status
に対応するシグナル名を表示します。
.It Fl signal_name
デフォルトの
.Dv TERM
シグナルのかわりに、
シンボルによるシグナル名で指定したシグナルを送ります。
.It Fl signal_number
負でない整数値を指定すると、
デフォルトの
.Dv TERM
シグナルのかわりに、その番号のシグナルを送ります。
.El
.Pp
以下のプロセス番号には特別な意味があります:
.Bl -tag -width Ds -compact
.It -1
スーパユーザの場合、全てのプロセスに対しシグナルを放送します;
そうでない場合、そのユーザの全てのプロセスに対しシグナルを放送します。
.El
.Pp
主なシグナル番号とシグナル名は次のとおりです:
.Bl -tag -width Ds -compact
.It 1
HUP (hang up)
.It 2
INT (interrupt)
.It 3
QUIT (quit)
.It 6
ABRT (abort)
.It 9
KILL (non-catchable, non-ignorable kill)
.It 14
ALRM (alarm clock)
.It 15
TERM (software termination signal)
.El
.Pp
.Nm
.Xr csh 1
では組み込みコマンドです;
組み込みコマンドではプロセス番号のかわりに ``%...'' の形でジョブ番号を
指定することができるので、プロセス番号はあまり使いません。
詳しくは
.Xr csh 1
を参照して下さい。
.Sh 関連項目
.Xr csh 1 ,
.Xr killall 1 ,
.Xr ps 1 ,
.Xr kill 2 ,
.Xr sigaction 2
.Sh 規格
.Nm
の機能は
.St -p1003.2
互換であることが期待されています。
.Sh 歴史
.Nm
コマンドは
.At v6
から登場しました。
.Sh バグ
.Xr csh 1
ユーザのために
.Dq Li kill 0
の代替コマンドを用意するべきです。
diff --git a/ja_JP.eucJP/man/man1/killall.1 b/ja_JP.eucJP/man/man1/killall.1
index 83cfb21f77..a56b659ab4 100644
--- a/ja_JP.eucJP/man/man1/killall.1
+++ b/ja_JP.eucJP/man/man1/killall.1
@@ -1,141 +1,141 @@
.\" Copyright (C) 1995 by Joerg Wunsch, Dresden
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: killall.1,v 1.6.2.2 1998/07/17 04:18:38 jkh Exp %
+.\" %Id: killall.1,v 1.10 1998/03/23 07:44:10 charnier Exp %
.\" jpman %Id: killall.1,v 1.3 1997/07/22 18:03:26 horikawa Stab %
.\"
.Dd June 25, 1995
.Os FreeBSD 2.2
.Dt KILLALL 1
.Sh 名称
.Nm killall
.Nd 名前で指定されるプロセスにシグナルを送る
.\"(訳注)原文では、 kill processes by name であるが、機能から考えて
.\" "プロセスにシグナルを送る"と訳した。
.\" 2.2.1R 対象(1997/04/13) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
.Sh 書式
.Nm killall
.Op Fl d \&| Ns Fl v
.Op Fl h \&| Ns Fl \&?
.Op Fl help
.Op Fl l
.Op Fl m
.Op Fl s
.Op Fl SIGNAL
.Ar procname ...
.Sh 解説
.Nm killall
は、
.Xr kill 1
がプロセス id で指定されるプロセスにシグナルを送るのに対して、
名前で指定されるプロセスにシグナルをおくります。
デフォルトでは、
.Dv TERM
シグナルを、
.Nm
実行者と同じ実効 UID を持つ、
.Ar procname
に名前が一致する全てのプロセスに送ります。
スーパユーザはどんなプロセスにたいしてもシグナルを送ることができます。
.Pp
以下のようなオプションがあります。
.Bl -tag -width 10n -offset indent
.It Fl d \&| Ns Fl v
これから、行おうとすることをより冗長に報告します。一つの
.Fl d
オプションによって、シグナルを送ろうとするプロセスの一覧が表示されるか、
一つも一致するプロセスが見付からなかったことが示されます。
.Fl d
オプションが少なくとも 2 回指定された時は、
.Xr procfs 5
で見付かった全てのプロセスの実効 UID, PID とプロセスの名前が更に
付け加えて表示されます。
.It Fl h \&| Ns Fl \&?
.It Fl help
コマンドの使い方のヘルプを表示し、終了します。
.It Fl l
.Xr kill 1
の様に利用可能なシグナルの名前の一覧を表示し、終了します。
.It Fl m
引数
.Ar procname
を ( 大文字小文字を区別しない ) 正規表現として、
.Xr procfs 5
から得られた名前に対して対応を取ります。
注意! 一つのドット (.) は、呼び出しユーザと同一の実効 UID を持つ
全てのプロセスに一致し、
危険です。正規表現の文法は
.Xr perl 1
で使っているものと同じです。
.It Fl s
何が行われるのかだけを表示し、シグナルは送られません。
.It Fl SIGNAL
デフォルトの
.Dv TERM
とは違うシグナルを送ります。シグナルは、
(頭に
.Dv SIG
を付けても付けなくても良い) 名前もしくは数字で指定します。
.El
.Sh 全てのプロセス
uid が
.Nm XYZ
である全てのプロセスに対してシグナルを送る動作は、
.Xr kill 1
で既にサポートされています。したがって、このような仕事を行うためには
.Xr kill 1
を使ってください(たとえば、 $ kill -TERM -1 もしくは、 root になって、
$ echo kill -TERM -1 |su -m <user> で可能です。)。
.Sh 診断
.Nm
コマンドは、コマンドエラーが起こった場合は、短い利用法のメッセージを
表示し、終了状態 2 で終了します。
終了状態 1 は、一致するプロセスが見付からなかった時か、全ての
プロセスに対してシグナルを送ることに成功しなかった時に返されます。
それ以外の場合は、終了状態 0 が返されます。
.Pp
診断メッセージは、
.Fl d
オプションで要求された場合だけ表示されます。
.Sh 関連項目
.Xr kill 1 ,
.Xr procfs 5
.Sh 歴史
.Nm
コマンドは
.Fx 2.1
から導入されました。
.Nm
コマンドは他のプラットホームでも利用可能なように設計されています。
.Sh 作者
このプログラムは、
.An Wolfram Schneider
によって提供されました。
このマニュアルページは
.if n Joerg Wunsch.
.if t J\(:org Wunsch
によって書かれました。
diff --git a/ja_JP.eucJP/man/man1/ktrace.1 b/ja_JP.eucJP/man/man1/ktrace.1
index bdea6b75f1..e6d45187ab 100644
--- a/ja_JP.eucJP/man/man1/ktrace.1
+++ b/ja_JP.eucJP/man/man1/ktrace.1
@@ -1,173 +1,173 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)ktrace.1 8.1 (Berkeley) 6/6/93
-.\" %Id: ktrace.1,v 1.4.2.4 1997/12/23 07:25:07 charnier Exp %
+.\" %Id: ktrace.1,v 1.7 1997/11/24 07:23:59 charnier Exp %
.\" jpman %Id: ktrace.1,v 1.2 1997/05/16 00:27:14 mutoh Stab %
.\"
.Dd June 6, 1993
.Dt KTRACE 1
.Os BSD 4.4
.Sh 名称
.Nm ktrace
.Nd カーネルプロセスのトレースを行う
.Sh 書式
.Nm ktrace
.Op Fl aCcdi
.Op Fl f Ar trfile
.Op Fl g Ar pgrp
.Op Fl p Ar pid
.Op Fl t Ar trstr
.Nm ktrace
.Op Fl adi
.Op Fl f Ar trfile
.Op Fl t Ar trstr
command
.Sh 解説
.Nm
は、指定したプロセスのカーネルのトレースログを
とります。カーネルトレース情報はファイル
.Pa ktrace.out
に記録されます。
トレースされるカーネル動作には、
システムコール、namei 変換、シグナル処理、
.Tn I/O
処理が含まれます。
.Pp
いったんプロセスのトレースを行うようにすると、トレースデータは
プロセスが終了するか、トレースポイントがクリアされるまで記録され続けます。
トレースしたプロセスは膨大な量のログを急速に作るため、ユーザはプロセスの
トレースを行う前にトレースを取り消す方法を覚えておくことを強くお勧めします。
ユーザが実行している全てのプロセスのトレース動作を取り消すには、
以下のコマンドで十分です。このコマンドが root 権限で実行された場合には、
全てのプロセスに対してトレースの取消しが行われます。
.Pp
.Dl \&$ ktrace -C
.Pp
トレースファイルはそのままでは読めませんので、
.Xr kdump 1
を使って解析してください。
.Pp
オプションとしては、以下のものがあります。
.Bl -tag -width indent
.It Fl a
既存のトレースファイルを再構築しないで、後ろに追加していきます。
.It Fl C
ユーザが実行している全てのプロセスのトレース動作をオフにします。
root が実行した場合はシステムのすべてのプロセスのトレースがオフになります。
.It Fl c
指定したファイルやプロセスに対するトレースポイントをクリアします。
.It Fl d
指定したプロセスの現在の子プロセスすべてに対してトレースを行います。
.It Fl f Ar file
トレース記録を
.Pa ktrace.out
のかわりに
.Ar file
に記録します。
.It Fl g Ar pgid
プロセスグループ内の全てのプロセスのトレースをオン (オフ) にします(
.Fl g
フラグは 1 つしか指定できません)。
.It Fl i
指定したプロセスが今後生成するすべての子プロセスに対し、トレースフラグを
継承させます。
.It Fl p Ar pid
指定したプロセス ID のトレースを行います (または 取り消します) (
.Fl p
フラグは 1 つしか指定できません)。
.It Fl t Ar trstr
この文字列引数は、カーネルトレースポイントの 1 つを 1 文字で表現しています。
以下の表は、文字とトレースポイントの対応関係を表しています。
.Pp
.Bl -tag -width flag -compact
.It Cm c
システムコールのトレース
.It Cm n
namei 変換のトレース
.It Cm i
.Tn I/O
のトレース
.It Cm s
シグナル処理のトレース
.It Cm u
ユーザでのトレース
.It Cm w
コンテキストスイッチ
.El
.It Ar command
指定したトレースフラグで
.Ar command
を実行します。
.El
.Pp
.Fl p ,
.Fl g ,
.Ar command
は相互に排他的です。同時に利用することはできません。
.Sh 使用例
# プロセス ID 34 のプロセスすべてのカーネル動作のトレースを行います。
.Dl $ ktrace -p 34
.Pp
# プロセスグループ ID 15 のすべてのプロセスのカーネル動作のトレースを行い、
現在および未来の子プロセスすべてにトレースフラグを渡します。
.Dl $ ktrace -idg 15
.Pp
# プロセス ID 65 のプロセスのすべてのトレースを取り消します。
.Dl $ ktrace -cp 65
.Pp
# プロセス ID 70 のプロセスとそのすべての子プロセスの、シグナルに関する
トレースを取り消します。
.Dl $ ktrace -t s -cdp 70
.Pp
# プロセス ID 67 のプロセスの
.Tn I/O
に関するトレースを有効にします。
.Dl $ ktrace -ti -p 67
.Pp
# コマンド "w" を実行し、システムコールのみのトレースを行います。
.Dl $ ktrace -tc w
.Pp
# "tracedata" ファイルに対するすべてのトレースを取り消します。
.Dl $ ktrace -c -f tracedata
.Pp
# ユーザが所有しているすべてのプロセスのトレースを取り消します。
.Dl $ ktrace -C
.Sh 関連項目
.Xr kdump 1
.Sh バグ
.Ar file
が普通のファイルの場合だけ働きます。
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から実装されました。
diff --git a/ja_JP.eucJP/man/man1/lastcomm.1 b/ja_JP.eucJP/man/man1/lastcomm.1
index c5b8fba3d6..4fb6bb8b97 100644
--- a/ja_JP.eucJP/man/man1/lastcomm.1
+++ b/ja_JP.eucJP/man/man1/lastcomm.1
@@ -1,172 +1,172 @@
.\" 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.
.\"
.\" From: @(#)lastcomm.1 8.1 (Berkeley) 6/6/93
-.\" %Id: lastcomm.1,v 1.3.2.1 1997/07/22 07:16:38 charnier Exp %
+.\" %Id: lastcomm.1,v 1.6 1997/07/21 12:01:45 charnier Exp %
.\" jpman %Id: lastcomm.1,v 1.2 1997/03/29 06:18:35 horikawa Stab %
.\"
.Dd September 18, 1996
.Dt LASTCOMM 1
.Os BSD 3
.Sh 名称
.Nm lastcomm
.Nd 過去に実行されたコマンドの情報を逆順に表示する
.Sh 書式
.Nm
.Op Fl EScesu
.Op Fl f Ar file
.Op Ar command ...
.Op Ar user ...
.Op Ar terminal ...
.Sh 解説
.Nm
は、以前に実行されたコマンドの情報を表示します。引数が
ないときは、現在のアカウント情報ファイルが存在している間に実行されたすべて
のコマンドの記録を表示します。
.Pp
.\" この部分原文にはありませんが、正しいことを確認しています。
.\" Kazuo HORIKAWA <horikawa@isrd.hitachi.co.jp>
このコマンドを使用するには、あらかじめ
.Xr accton 8
で、アカウント
情報ファイルを設定しておく必要があります。このファイルはデフォルトでは、
.Pa /var/account/acct
ですが、存在しない場合にはあらかじめrootで
touch /var/account/acctとしておいてから、accton /var/account/acct
を実行しなければなりません(通常 /etc/rc で起動されます)。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width XXfXfileX -compact
.Pp
.It Fl E
プロセスが終了した時刻を表示します。
.It Fl S
プロセスが開始した時刻を表示します。
.It Fl c
プロセスが使用した CPU 時間を表示します。
.It Fl e
プロセスが経過した時間を表示します。
.It Fl s
プロセスが使用したシステム時間を表示します。
.It Fl u
プロセスが使用したユーザ時間を表示します。
.It Fl f Ar file
デフォルトの
.Pa /var/account/acct
のかわりに
.Ar file
を読み
込みます。
.El
.Pp
オプションが指定されない場合には
.Fl cS
が仮定されます。
.Nm
が引数付きで呼ばれたときは、引数で与えられた
.Ar command ,
.Ar user ,
.Ar terminal
にマッチする情報を表示します。
たとえば:
.Pp
.Dl lastcomm a.out root ttyd0
.Pp
では、
.Pa a.out
というコマンド名か、
.Ar root
というユーザか、
.Ar ttyd0
というターミナルで実行されたコマンド全てのリストが出力されます。
.Pp
表示される情報は、次のようなものです。
.Pp
.Bl -bullet -offset indent -compact
.It
ユーザが実行したプロセスの名前
.It
システムのアカウント機能によってつけられるフラグ
.It
コマンドを実行したユーザ名
.It
コマンドを実行した端末名
.It
プロセスが使用した CPU
.Pq Fl c
または実
.Pq Fl e
またはシステム
.Pq Fl s
またはユーザ
.Pq Fl u
時間の合計(秒)
.It
プロセスが開始
.Pq Fl S
または終了
.Pq Fl E
した時刻
.El
.Pp
フラグには次のようなものがあります:
``S''
コマンドはスーパーユーザーによって実行されました。
``F''
コマンドが
.Xr fork 2
を行いましたが、その後、
.Xr exec 3
を行っていません。
.\" ``C''
.\" コマンドがPDP-11互換モードで実行されました (これはVAXでのみ有効です)。
``D''
コマンドが
.Pa core
ファイルを生成して終了しました。
``X''
コマンドがシグナルで終了しました。
.Pp
.Sh 関連ファイル
.Bl -tag -width /var/account/acct -compact
.It Pa /var/account/acct
デフォルトのアカウント情報ファイル
.El
.Sh 関連項目
.Xr last 1 ,
.Xr sigvec 2 ,
.Xr acct 5 ,
.Xr core 5
.Sh 歴史
.Nm
コマンドは
.Bx 3.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/ld.1 b/ja_JP.eucJP/man/man1/ld.1
index d53d509e14..70a97c532c 100644
--- a/ja_JP.eucJP/man/man1/ld.1
+++ b/ja_JP.eucJP/man/man1/ld.1
@@ -1,291 +1,291 @@
.\"
.\" 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.
.\"
-.\" %Id: ld.1,v 1.12.2.4 1998/07/26 04:13:21 jkoshy Exp %
+.\" %Id: ld.1,v 1.20 1998/07/26 04:16:04 jkoshy Exp %
.\" jpman %Id: ld.1,v 1.4 1997/11/12 13:02:08 horikawa Stab %
.\"
.Dd October 14, 1993
.Dt LD 1
.Os FreeBSD
.Sh 名称
.Nm ld
.Nd リンクエディタ
.Sh 書式
.Nm ld
.Op Fl fMNnrSstXxz
.Bk -words
.Op Fl A Ar symbol-file
.Op Fl assert Ar keyword
.Op Fl B Ns Ar linkmode
.Op Fl D Ar datasize
.Op Fl d Ar c
.Op Fl d Ar p
.Op Fl e Ar entry
.Op Fl l Ns Ar library-specifier
.Op Fl L Ns Ar library-search-path
.Op Fl nostdlib
.Op Fl O Ar filename
.Op Fl o Ar filename
.Op Fl R Ns Ar record-library-search-path
.Op Fl T Ar address
.Op Fl u Ar symbol
.Op Fl V Ar shlib-version
.Op Fl y Ar symbol
.Ek
.Sh 解説
.Nm
はコマンドラインで指定されたオブジェクトとアーカイブファイルを結合
し、新しいオブジェクトファイルを生成します。生成されるオブジェクトファイルは
実行可能プログラム、実行時ロードに対応した共有オブジェクト、もう一度
.Nm
により処理可能なオブジェクトのいずれかになります。オブジェクト
ファイルとアーカイブはコマンドラインで指定された順に処理します。
.Pp
オプションは以下の通りです。
.Pp
.Bl -tag -width indent
.It Fl A Ar symbol-file
symbol-file を、コマンドラインで指定されたオブジェクトファイルをリンクする
ためのベースとして用います。
.It Fl assert Ar keyword
本オプションは主に SunOS の
.Nm ld
との互換性のために存在します。
Sun の assert が失敗する条件のほとんどは、本
.Nm
ではエラーになるか、警告メッセージが発せられます。
.Nm ld
が実装している唯一のキーワードは
.Nm pure-text
です。これを使用すると、位置独立オブジェクトが生成され、
位置独立でないファイルとリンクされるときに警告が生成されます。
.It Fl B Ns Ar dynamic
ダイナミックライブラリとのリンクを指定します。
ライブラリが -lx オプションによりコマンドラインから指定されると、libx.so.n.m
.Po
.Fl l
オプションの項を参照
.Pc
を検索ルールに基づき有効な範囲で検索します。もしこの形式
のライブラリが発見できなければ、検索ルールに基づき通常の libx.a を検索します。
本オプションはコマンドラインのどこにでも置くことが可能であり、
.Fl B Ns Ar static
と相補的なものです。
.It Fl B Ns Ar forcedynamic
これは
.Fl B Ns Ar dynamic
と似ていますが、ダイナミックライブラリとリンクしようとしなくても、
.Nm ld
はダイナミックな実行可能ファイルを生成します。
スタティックプログラムでありかつ、
実行時にダイナミックオブジェクトをロードする
プログラムに有用です。
.It Fl B Ns Ar static
.Fl B Ns Ar dynamic
の逆の効果を持ちます。本オプション以降に指定されたライブラリに
関しては、もう一度
.Fl B Ns Ar dynamic
が指定されるまで、ダイナミックリンクが行われなくなります。
.Fl B Ns Ar static
が有効な位置においてコマンドラインから明示的に共有オブジェクトが
指定された場合は、エラーとなります。
.It Fl B Ns Ar shareable
通常の実行可能イメージではなく、共有オブジェクトを生成するよう指示します。
.It Fl B Ns Ar symbolic
リンク時に、すべてのシンボル参照が解決されるように指示します。
実行時に必要なリロケーションは
.Em ベース相対
リロケート、すなわちロードアドレスに関する変換のみです。
シンボル参照の解決に失敗した場合はエラーとなります。
.It Fl B Ns Ar forcearchive
アーカイブ中の全メンバをロードします。
メンバが通常のオブジェクトファイルに対して定義を提供するか否かには無関係です。
PIC オブジェクトのアーカイブを展開することなく、共有ライブラリを
作成するのに便利です。
.It Fl B Ns Ar silly
共有オブジェクトのための愚かな
.Em \.sa
アーカイブを作成します。これは、version 3
の共有オブジェクトとの互換性のために存在します。
.It Fl D Ar data-size
データセグメントのサイズを設定します。
正気を保つためには、
サイズを入力ファイルの全データサイズの合計より大きくすべきです。
.It Fl d Ar c
リロケータブルな出力を作成している時でも、
コモンエリアのアロケートを強制します。
.It Fl d Ar p
非 PIC コード中の手続き呼び出しの別名定義を強制します。
手続きリンク表 (Procedure Linkage Table) による呼び出しのリダイレクト
のような、実行時リロケーションを含む共有コードを作成するのに便利です。
.Po
.Xr link 5
を参照
.Pc
.It Fl e Ar entry-symbol
実行可能ファイルのエントリのシンボルを指定します。
.It Fl f
全てのオブジェクトファイルとライブラリの解決されたパスを
標準出力にリストし、終了します。
.It Fl L Ns Ar path
.Fl l
オプションで指定したライブラリの検索パスに
.Ar path
を追加します。
.It Fl l Ns Ar lib-spec
出力に含めるとされるライブラリを指定します。もし、
.Fl B Ns Ar dynamic
オプションが有効ならば、まず lib<spec>.so.m.n
.Po
.Em m
はメジャーバージョン番号、
.Em n
はマイナーバージョン番号
.Pc
形式の共有ライブラリを検索します。検索パス中に見つかった、
最もバージョンが高いライブラリを選択します。共有ライブラリが見つからないか、
.Fl B Ns Ar static
オプションが有効なら、lib<spec>.a 形式のアーカイブを
ライブラリ検索パスより探します。
.It Fl M
入力ファイルのセグメントマッピングと、
出力ファイルの
.Pq 大域
シンボルに割り付けられた値
に関する報告を出力します。
.It Fl N
OMAGIC 形式ファイル
を生成します。
.It Fl n
NMAGIC 形式ファイル
を生成します。
.It Fl nostdlib
.Fl l
で指定されたライブラリの検索時に、組み込みのライブラリ検索パス
.Po
通常は
.Dq /usr/lib
.Pc
を使用しません。
.It Fl O Ar filename
出力ファイル名を指定します。
ファイルは
.Ar filename .tmp
として生成され、出力が完了すると、
.Ar filename
にリネームされます。
.It Fl o Ar filename
出力ファイル名を指定します。デフォルトは
.Dq a.out
です。
.It Fl Q
QMAGIC (FreeBSD/BSDi-i386)形式のファイルを生成します。これがデフォルトです。
.It Fl r
さらに、
.Nm
によって処理可能なリロケータブルオブジェクトを生成します。
.It Fl R
実行時のライブラリ検索のために、与えられたバスを実行可能ファイルに記録します。
ダイナミックリンクされた実行可能ファイルにのみ適用されます。
.It Fl S
出力にデバッガシンボルを含めません。
.It Fl s
出力にすべてのシンボルを含めません。
.It Fl T
テキストセグメントの開始アドレスを指定します。このアドレスを基準に、すべ
ての入力ファイルがリロケートされます。
.It Fl t
入力ファイルの処理状況を出力します。
.It Fl u Ar symbol
シンボル
.Ar symbol
を強制的に未定義とマークします。
他からの参照がない状況で、あるアーカイブのメンバをロードするのに便利です。
.It Fl V Ar version
.Pq 共有ライブラリ生成時に
共有ライブラリにバージョン番号を埋め込みます。SunOS 4.x 等の他
のシステムと互換性のある共有ライブラリを作成するのに便利です。
SunOS 4.x ではバージョン番号は 3、本 ld のデフォルトは 8 です。
.It Fl X
入力ファイル中の文字
.Dq L
から始まるローカルシンボルを削除します。
.It Fl x
入力ファイル中のすべてのローカルシンボルを削除します。
.It Fl y Ar symbol
シンボル
.Ar symbol
に関する処理状況を報告します。
.It Fl Z
386BSD ZMAGIC 形式ファイルを生成します。
.It Fl z
NetBSD ZMAGIC 形式ファイルを生成します。
.Sh 環境変数
.Nm
は以下の環境変数を使用します:
.Bl -tag -width "LD_LIBRARY_PATH"
.It Ev LD_LIBRARY_PATH
これはコロンで区切るディレクトリリストであり、ライブラリ検索パスとして、
.Fl L
オプションで指定されたディレクトリの後であり組み込みパスの前であるところに
挿入されます。
.\" .It Ev LD_NOSTD_PATH
.\" When set, do not search the built-in path for libraries.
.\" This is an alternative to the
.\" .Fl nostdlib
.\" command-line flag.
.El
.Sh 関連ファイル
.Sh 関連項目
.Xr ldd 1 ,
.Xr rtld 1 ,
.Xr link 5 ,
.Xr ldconfig 8
.Sh 警告
通常の実行可能ファイルを生成するなら、エントリポイントを明示する必要が
あります。以前のバージョンの
.Nm ld
では、このようなことは不要でした。
.Sh バグ
共有オブジェクトに対しては、正しく未定義シンボルの検査が行われません。
.Pp
共有オブジェクトをカスケードすると
.Dq -Bstatic
オプションは失敗します。
.Pp
実行時に必要なシンボルを必要とされなくとも、
.Nm
に指定された共有オブジェクトは実行時ロードのためのマークが含まれます。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
.Nm
による共有ライブラリモデルは SunOS 4.0 より登場しています。
diff --git a/ja_JP.eucJP/man/man1/lex.1 b/ja_JP.eucJP/man/man1/lex.1
index e5e402fa79..18dab704e6 100644
--- a/ja_JP.eucJP/man/man1/lex.1
+++ b/ja_JP.eucJP/man/man1/lex.1
@@ -1,4071 +1,4071 @@
.\" jpman %Id: lex.1,v 1.3 1997/05/19 16:38:22 horikawa Stab %
.TH FLEX 1 "April 1995" "Version 2.5"
.SH 名称
flex \- 高速な字句解析処理系の生成ツール
.SH 書式
.B flex
.B [\-bcdfhilnpstvwBFILTV78+? \-C[aefFmr] \-Pprefix \-Sskeleton]
.I [filename ...]
.SH 概説
本マニュアルは、
テキストのパターンマッチングを行うプログラムを生成するツール
.I flex
を扱います。
本マニュアルはチュートリアルとリファレンス節とを含みます:
.nf
解説
ツールの短い概説
簡単な例
入力ファイルのフォーマット
パターン
flex が使用する拡張した正規表現
入力のマッチ方法
何がマッチするかを決定する規則
アクション
パターンがマッチした時に何を行うかを指定する方法
生成されたスキャナ
flex が生成するスキャナに関する詳細;
入力元の制御方法
開始条件
スキャナへの文脈の導入と、
"ミニスキャナ" の制御方法
複数の入力バッファ
複数の入力元を扱う方法;
ファイルではなく文字列からスキャンする方法
ファイルの終りのルール
ファイルの終りにマッチする特別なルール
雑多なマクロ
アクションで使用可能なマクロのまとめ
ユーザが使用可能な値
アクションで使用可能な値のまとめ
Yacc とのインタフェース
lex スキャナと yacc パーサとの結合
オプション
flex のコマンドラインオプションと、
"%option" ディレクティブ
性能関連
スキャナを可能な限り高速にする方法
C++ スキャナの生成
C++ スキャナクラス生成のための
(実験的な) 機能
Lex および POSIX との非互換性
AT&T lex および POSIX lex 標準と
flex との違い
診断
flex (もしくは生成したスキャナ) が出力する
エラーメッセージで意味が明確でないもの
関連ファイル
flex が使用するファイル
欠陥 / バグ
flex の既知の問題
関連項目
ツールに関係する他のドキュメント
作者
連絡方法を含みます
.fi
.SH 解説
.I flex
.I スキャナ
を生成するためのツールです。
ここで、スキャナとは、
テキスト内の字句パターンを解析するプログラムです。
.I flex
は指定したファイル、もしくはファイル名が与えられなかった場合は
標準入力から、生成するスキャナの記述を読み込みます。
この記述は、
正規表現と C コードのペアの形をとっています。
これは
.I ルール
と呼ばれます。
.I flex
は、出力として C ソースファイルの
.B lex.yy.c
を生成しますが、その中に
.B yylex()
ルーチンが定義されます。
このファイルはコンパイルされ、
.B \-ll
ライブラリとともにリンクされて、
実行形式となります。
実行形式が走り始めると、
正規表現をマッチさせるために
入力が解析されます。
マッチするものを見つけると、対応する C コードが実行されます。
.SH 簡単な例
.PP
まず簡単な例から、
.I flex
の使い方を見て行きましょう。
次の
.I flex
の入力は、"username" という文字列に出会うとユーザのログイン名に置き換える
スキャナを指定しています:
.nf
%%
username printf( "%s", getlogin() );
.fi
デフォルトでは、
.I flex
スキャナにマッチしなかったテキストは出力にコピーされますので、
"username" を展開しながら入力を出力にコピーすることが
このスキャナの最終的な結果となります。
この入力にはただ一つのルールだけがあります。
"username" は
.I パターン
であり、"printf" は
.I アクション
です。
"%%" はルールの始まりの印です。
.PP
別の例を見て見ましょう:
.nf
%{
int num_lines = 0, num_chars = 0;
%}
%%
\\n ++num_lines; ++num_chars;
. ++num_chars;
%%
main()
{
yylex();
printf( "# of lines = %d, # of chars = %d\\n",
num_lines, num_chars );
}
.fi
このスキャナは入力の文字数および行数を数えます
(数えた最終結果を報告するだけです)。
最初の行は 2 つの大域変数 "num_lines" と "num_chars" を宣言します。
これらの変数は、2 番目の "%%" の後に宣言されている
.B yylex()
.B main()
のルーチンからアクセス可能です。
ここには 2 つのルールがあります。
1 つ目は改行文字 ("\\n") にマッチし、行数と文字数のカウントを増加させます。
もう 1 つは、改行文字以外の全ての文字
("." という正規表現で表されています)にマッチします。
.PP
次はもうちょっと複雑な例です:
.nf
/* scanner for a toy Pascal-like language */
%{
/* need this for the call to atof() below */
#include <math.h>
%}
DIGIT [0-9]
ID [a-z][a-z0-9]*
%%
{DIGIT}+ {
printf( "An integer: %s (%d)\\n", yytext,
atoi( yytext ) );
}
{DIGIT}+"."{DIGIT}* {
printf( "A float: %s (%g)\\n", yytext,
atof( yytext ) );
}
if|then|begin|end|procedure|function {
printf( "A keyword: %s\\n", yytext );
}
{ID} printf( "An identifier: %s\\n", yytext );
"+"|"-"|"*"|"/" printf( "An operator: %s\\n", yytext );
"{"[^}\\n]*"}" /* eat up one-line comments */
[ \\t\\n]+ /* eat up whitespace */
. printf( "Unrecognized character: %s\\n", yytext );
%%
main( argc, argv )
int argc;
char **argv;
{
++argv, --argc; /* skip over program name */
if ( argc > 0 )
yyin = fopen( argv[0], "r" );
else
yyin = stdin;
yylex();
}
.fi
これは Pascal のような言語の単純なスキャナの原型です。
異なったタイプの
.I トークン
を定義し、これを見付けると報告します。
.PP
この例の詳細は、以降の節で説明します。
.SH 入力ファイルのフォーマット
.I flex
の入力ファイルは 3 つの部分からなり、
.B %%
だけからなる行により分けられます:
.nf
定義
%%
ルール
%%
ユーザコード
.fi
.I 定義
部分は、スキャナの宣言を単純化する単純な
.I 名前
の定義の宣言と、後で説明する
.I 開始条件
の宣言とからなります。
.PP
名前の定義は次の形式です:
.nf
名前\ 定義
.fi
"名前" は語であり、
レターかアンダースコア ('_') から始まって 0 個以上のレター・数字・'_'・'-'
(ダッシュ)が続きます。
定義は、名前に続く最初の非空白文字から始まり、行末まで続くものとされます。
定義は後で "{名前}" で参照でき、"(定義)" を展開します。
例えば、
.nf
DIGIT [0-9]
ID [a-z][a-z0-9]*
.fi
は、
"DIGIT" が単一の数字にマッチする正規表現であると定義し、
"ID" がレターに 0 個以上のレターか数字が続く正規表現であると定義します。
後で出て来る参照
.nf
{DIGIT}+"."{DIGIT}*
.fi
.nf
([0-9])+"."([0-9])*
.fi
と同じであり、1 個以上の数字に '.' が続き、
0 個以上の数字が続くものにマッチします。
.PP
.I flex
の入力の
.I ルール
は次の形式の一連のルールからなります:
.nf
パターン\ \ \ アクション
.fi
ここで、パターンはインデントされていてはならず、
アクションは同じ行から始まる必要があります。
.PP
パターンとアクションの詳細は後の解説を見て下さい。
.PP
最後に、ユーザコードの部分は単純にそのままの形で
.B lex.yy.c
にコピーされます。
スキャナを呼び出すまたは呼び出される付随ルーチンのために使用されます。
この部分はあっても無くても構いません;
無い場合には、入力ファイル中の 2 番目の
.B %%
も省略できます。
.PP
定義とルールの部分では、
.I インデントされた
テキストと
.B %{
.B %}
との間のテキストはそのままの形で出力にコピーされます
(この際 %{} は削除されます)。
%{} はインデントされていない行に現れる必要があります。
.PP
ルールの部分では、
最初のルールの前に現れるインデントされたもしくは %{} 部分のテキストは、
スキャンルーチンにローカルな変数と、
(宣言の後では)スキャンルーチンに入るたびに実行されるコードとを宣言します。
ルール部分の他のインデントされたもしくは %{} 部分のテキストは
出力にコピーされますが、
意味はちゃんと定義されておらずコンパイル時にエラーとなるかも知れません
(この仕様は
.I POSIX
互換のためにあります; 他のこのような仕様は以降を見て下さい)。
.PP
定義の部分(ルールの部分ではないです)では、
インデントされていないコメント("/*" から始まる行) は次の "*/" まで
そのままの形でコピーされます。
.SH パターン
入力ファイルのパターンは拡張した正規表現を使って記述します。
以下に示します:
.nf
x 文字 'x' にマッチ。
. 改行を除く全ての文字(バイト)。
[xyz] "文字クラス"; この場合、'x', 'y', 'z' のいずれにも
マッチします。
[abj-oZ] 範囲指定を含む "文字クラス"; この場合、'a', 'b' と
'j' から 'o' までの任意のレターと 'Z' にマッチします。
[^A-Z] "否定文字クラス"; クラスに含まれない任意の文字に
マッチします。 この場合、'A' から 'Z' までの大文字
「以外の」文字にマッチします。
[^A-Z\\n] 大文字と改行を「除く」全ての文字。
r* 0 もしくはそれ以上の r。r は任意の正規表現。
r+ 1 もしくはそれ以上の r。
r? 0 もしくは 1つの r (「おまけ」の r)
r{2,5} 2 つから 5つまでの r。
r{2,} 2 つ以上の r。
r{4} ちょうど 4つ の r。
{名前} "名前" の定義の展開。
(上を参照)
"[xyz]\\"foo"
文字列 [xyz]"foo
\\X X が 'a', 'b', 'f', 'n', 'r', 't', 'v' のいずれかの
とき、ANSI-C での \\X の解釈となります。
それ以外の場合、文字 'X' ('*' のようなオペレータの
意味を打ち消し、その文字自体を指定する際に使います)。
\\123 8進数で 123 と表される文字。
\\x2a 16進数で 2a と表される文字。
(r) r にマッチ; ()は 優先順位を変えるために使用。
(以下を参照)
rs 正規表現 r に正規表現 s が続く; 「連結(concatenation)」
と呼びます。
r|s r もしくは s。
r/s 後ろに s が続く時の r。
s にマッチするテキストはこのルールの "最長適合" を判定する
時には含まれますが、アクションが実行される前に
入力に戻されます。
アクションは r にマッチするテキストだけを見ます。
このパターンは "右文脈(trailing context)" と呼ばれます。
(flex が正確にマッチ不能な r/s の組合せは複数あります;
"危険な右文脈" については、
以降の、欠陥 / バグ の節の記述を見て下さい。)
^r 行頭にある r。(スキャンの始まりもしくは
スキャンされた改行の右です)。
r$ 行末にある r。"r/\\n" と等価(改行の前です)。
"r/\\n" と同じです。
flex の "改行" の表現は flex をコンパイルした
C コンパイラが解釈する '\\n' と完全に一致することに
注意して下さい;
特定のシステム DOS では \\r を入力から取り除くか
"r$" を表すために明示的に r/\\r\\n を使用する必要があります。
<s>r 開始条件 s における r。(開始条件については以下を
参照)。
<s1,s2,s3>r
上に同じ。ただし開始条件は s1, s2, s3 のいずれでもよい。
<*>r 任意の開始条件の r。開始条件は排他的なものでもよい。
<<EOF>> ファイルの終了。
<s1,s2><<EOF>>
開始条件が s1 もしくは s2 であるときのファイルの終了。
.fi
文字クラス中では、全ての正規表現のオペレータは、
エスケープ ('\\') および
文字クラスオペレータである '-' と ']' とクラスの先頭の '^' を除き
特別な意味を失うことに注意して下さい。
.PP
上に挙げた正規表現は優先順位によってグループに分けられています。
一番上のグループが最も高い優先度で、
一番下のグループの優先順位が最も低くなっています。
グループ内では同じ優先順位です。例えば、
.nf
foo|bar*
.fi
.nf
(foo)|(ba(r*))
.fi
と同じです。なぜなら '*' オペレータは連結より優先度が高く、
連結は選言 ('|') より優先度が高いからです。このパターンは
文字列 "foo"
.I もしくは
文字列 "ba" に 0 個以上の r がつづくものの
.I どちらにも
マッチします。
"foo" もしくは 0 個以上の "bar" にマッチさせるためには次の表現を使用して下さい:
.nf
foo|(bar)*
.fi
0 個以上の "foo" または "bar" にマッチするためには次の表現を使用して下さい:
.nf
(foo|bar)*
.fi
.PP
文字もしくは文字範囲に加え、文字クラスも文字クラスの
.I 表現
を含みます。
これらの表現は
.B [:
および
.B :]
のデリミタに囲まれます (文字クラスの '[' と ']' との間に現れる必要があります;
他の要素が文字クラス中に現れても構いません)。
有効な表現は以下の通りです:
.nf
[:alnum:] [:alpha:] [:blank:]
[:cntrl:] [:digit:] [:graph:]
[:lower:] [:print:] [:punct:]
[:space:] [:upper:] [:xdigit:]
.fi
これらの表現は対応する標準 C の
.B isXXX
関数に適合する全ての文字集合を指示します。例えば、
.B [:alnum:]
.B isalnum()
が真を返す文字を指示します - すなわちすべてのアルファベットと数字です。
.B isblank(),
が無いシステムでは、flex は
.B [:blank:]
を空白とタブと定義します。
.PP
例えば以下の表現は全て同じです:
.nf
[[:alnum:]]
[[:alpha:][:digit:]]
[[:alpha:]0-9]
[a-zA-Z0-9]
.fi
スキャナが大文字小文字を意識しない場合(
.B \-i
フラグ指定時)
.B [:upper:]
.B [:lower:]
.B [:alpha:]
と同じです。
.PP
パターンに関する注意点です:
.IP -
否定文字クラス、例えば上の "[^A-Z]" は
"\\n" (もしくはこれを表すエスケープシーケンス) が明示的に
否定文字クラスに現れている場合 (例えば "[^A-Z\\n]") を除き
.I 改行にマッチします。
これは他の正規表現ツールが否定文字クラスを扱う方法とは異なりますが、
不幸なことにこの矛盾は歴史的に確立しています。
改行にマッチするとは、
入力に別のクオートが存在しない場合に [^"]* のようなパターンが
入力全体にマッチすることを意味します。
.IP -
ルールは右文脈('/' オペレータもしくは '$' オペレータ)
を高々一つしか持てません。
開始条件 '^' と "<<EOF>>" パターンは
パターンの最初になければならず、 '/', '$'
同様に () 内にいれることは出来ません。
ルールの先頭ではない '^' もしくはルールの終りではない '$' は
特別な意味を失い、通常の文字として扱われます。
.IP
以下は無効です:
.nf
foo/bar$
<sc1>foo<sc2>bar
.fi
前者は "foo/bar\\n" と書けます。
.IP
以下では '$' と '^' とは通常の文字として扱われます:
.nf
foo|(bar$)
foo|^bar
.fi
"foo" もしくは "改行が続く bar" を指定したい場合は、
次の表現を使用して下さい (特別な '|' の動作は後で説明します):
.nf
foo |
bar$ /* action goes here */
.fi
同じ方法で、foo もしくは 行頭の bar を指定可能です。
.SH 入力のマッチ方法
生成したスキャナを実行すると、
スキャナは入力を見てパターンにマッチする文字列を探します。
1 より多くのマッチを見付けると、最長テキストのマッチを採用します
(右文脈(trailing context rule)の後ろの部分も長さに含みますが、
後ろの部分は入力に戻されます)。
同じ長さのマッチを 2 つ以上見付けた場合、
.I flex
入力ファイルで最初に記述されたルールを採用します。
.PP
マッチが決定すると、マッチに対応するテキスト(
.I トークン
と呼ばれます)がグローバル文字ポインタ
.B yytext
により使用可能となり、長さがグローバル整数
.B yyleng
により使用可能となります。
その後、マッチしたパターンに対応する
.I アクション
が実行され(アクションの詳細な記述は後で行います)、
残りの入力が残りのマッチのためにスキャンされます。
.PP
マッチが見付からないと、
.I デフォルトルール
が実行されます: 入力の次の文字がマッチしたと見倣され、
標準出力にコピーされます。最も簡単で正当な
.I flex
の入力は以下の通りです:
.nf
%%
.fi
これは、入力を単純に出力にコピー(1 度に 1 文字ずつ)するスキャナを生成します。
.PP
.B yytext
は 2 つの異なった方法により定義されうることに注意して下さい: 文字
.I ポインタ
もしくは文字
.I 配列
です。
.I flex
がどちらの定義を使用するかは特別なディレクティブ
.B %pointer
もしくは
.B %array
を flex の入力の最初の(定義)部分に含めることにより制御できます。
デフォルトは
.B %pointer
であり、
.B -l
lex 互換オプションを使用した場合には例外的に
.B yytext
は配列になります。
.B %pointer
を使用する利点はスキャンが高速であること、
非常に大きなトークンにマッチする時にも
(動的メモリを使用し尽くさない限り)バッファオーバフローとならないことです。
欠点は、アクションが
.B yytext
を修正することが制限されること(次節参照)、
.B unput()
呼び出しが
.B yytext
の現在の内容を破壊することです。
これは異なる
.I lex
バージョン間での移植性に関する頭痛の種です。
.PP
.B %array
の利点は
.B yytext
の内容を思った通りに変更できること、
.B unput()
を呼び出しても
.B yytext
の内容が破壊されないことです(下記参照)。
その上、既存の
.I lex
プログラムは
.B yytext
を外部から次の形式の宣言を使用してアクセスしていることがあります:
.nf
extern char yytext[];
.fi
この定義は
.B %pointer
使用時には誤りですが、
.B %array
使用時には正しいです。
.PP
.B %array
.B yytext
を文字数
.B YYLMAX
(デフォルトは十分大きな値)の配列であると定義します。
この大きさは、
.I flex
の入力の最初の部分で単純に
.B YYLMAX
を異なった値に #define することにより変更できます。
上記の通り、
.B %pointer
使用時には yytext は大きなトークンを格納するために動的に大きくなります。
このことは
.B %pointer
を使用したスキャナは非常に大きなトークン
(例えばコメントブロック全体)を格納可能であることを意味しますが、
スキャナが
.B yytext
の大きさを変えるたびにトークン全体を先頭から再スキャンすることが必要となるため
このようなトークンに対するマッチングは遅くなりうることを覚えておいて下さい。
現在、
.B yytext
.B unput()
が結果として返すテキストが大きい時には動的には大きくなり
.I ません;
実行時エラーとなります。
.PP
また、
.B %array
C++ スキャナクラスでは使用できないことに注意して下さい(
.B c++
オプションに関しては下記参照)。
.SH アクション
ルール中のパターンは対応するアクションを持ちます。
アクションは任意の C の文です。
パターンは最初のエスケープされていない空白文字で終ります;
行の残りがアクションです。
アクションが空である場合、
パターンがマッチした時に入力トークンは単純に捨てられます。
例えば入力から全ての "zap me" を削除するプログラムの仕様を示します:
.nf
%%
"zap me"
.fi
(入力の他の全ての文字を出力にコピーします。
なぜならデフォルトルールにマッチするからです。)
.PP
次は、複数の空白や文字を単一の空白に圧縮し行末の空白を捨てるプログラムです:
.nf
%%
[ \\t]+ putchar( ' ' );
[ \\t]+$ /* ignore this token */
.fi
.PP
アクションが '{' を含む場合、アクションは対応する '}' まで続き、
複数行に渡る場合もあります。
.I flex
は C の文字列およびコメントに関して知っており、
それらの中のブレースを誤解することはありませんが、
アクションが
.B %{
で始まることを許し、次の
.B %}
までのテキストがアクションであるとします
(アクション内部の任意個のブレースには関係ありません)。
.PP
垂直バー ('|') のみからなるアクションは
"次のルールと同じ" を意味します。説明は以下を見て下さい。
.PP
アクションは任意の C コードを含むことが出来ます。
これには、
.B yylex()
を呼び出したルーチンに対して値を返す
.B return
文も含まれます。
.B yylex()
が呼ばれるたび、最後に残ったトークンから処理を再開し、
ファイルの終了もしくは return を実行するまで処理を行います。
.PP
アクションは自由に
.B yytext
を変更できますが、例外は長さを増やすことです
(文字を末尾に加えることになり、
これは入力ストリームの後続する文字を上書きします)。
これは
.B %array
使用時には当てはまりません(上述); この場合
.B yytext
を自由に変更できます。
.PP
アクションは自由に
.B yyleng
を変更できますが、アクションが
.B yymore()
を使用する時には例外的に変更してはいけません(後述)。
.PP
多くの特別なディレクティブがあり、アクション中に含めることが出来ます:
.IP -
.B ECHO
yytext をスキャナの出力にコピーします。
.IP -
.B BEGIN
後ろに開始条件の名前を書くと、スキャナを対応する開始条件に設定します(後述)。
.IP -
.B REJECT
入力(もしくは入力の頭)に "2 番目によく(second best)" マッチするルール
に進むようにスキャナに指示します。
"入力のマッチ方法" で示したようにルールは選択され、
.B yytext
.B yyleng
は適切に設定されます。
選択されるルールは、最初に選択されたルールと同じ長さであるが
.I flex
の入力ファイルにて後で出て来るもの、もしくは少ない文字数にマッチするものです。
例えば次の例では入力中の語を数え、
"frob" が見付かるたびにルーチン special() を呼びます:
.nf
int word_count = 0;
%%
frob special(); REJECT;
[^ \\t\\n]+ ++word_count;
.fi
.B REJECT
が無い場合、
入力中の "frob" は語として数えられず、
スキャナは通常通りトークン毎に 1 つのアクションだけを行います。
複数の
.B REJECT
を使用可能であり、それぞれ現在有効なルールの次に良い選択を見付けます。
例えば次のスキャナは、"abcd" というトークンをスキャンし、
出力に "abcdabcaba" を書きます:
.nf
%%
a |
ab |
abc |
abcd ECHO; REJECT;
.|\\n /* eat up any unmatched character */
.fi
(前の 3 つのルールは 4 番目のルールのアクションを共有します。
なぜなら特別な '|' アクションが使用されているからです。)
.B REJECT
はスキャナの性能という点で特にコストのかかる機能です;
もしスキャナのアクションの
.I いずれか
にでも REJECT が使われたなら、スキャナの
.I 全ての
マッチング速度を低下させるということです。
さらに
.B REJECT
をオプション
.I -Cf
.I -CF
と共に用いることは出来ません。
.IP
また、他の特別アクションと違い
.B REJECT
.I 分岐(branch)
であることに注意してください; すなわち REJECT 直後のアクションは
実行
.I されません。
.IP -
.B yymore()
次にルールとマッチしたときには、対応するトークンは、
現在の
.B yytext
の内容と入れ換えるのではなく
.B yytext
.I 追加
するようスキャナに指示します。
例えば、入力 "mega-kludge" が与えられると、以下は
"mega-mega-kludge" を出力に書きます:
.nf
%%
mega- ECHO; yymore();
kludge ECHO;
.fi
最初の "mega-" はマッチし出力にエコーされます。
次に "kludge" がマッチしますが、直前の "mega-" がまだ
.B yytext
の先頭に残っており、"kludge" の
.ECHO
ルールは実際には "mage-kludge" を書きます。
.PP
.B yymore()
の使用に関し 2 つの注意点があります。
まず、
.B yymore()
は現在のトークンの大きさを反映する
.I yyleng
の値の正確さに依存することであり、
.B yymore()
使用時には
.I yyleng
を変更してはなりません。
次に、
スキャナのアクションに
.B yymore()
があると、スキャナのマッチ速度に若干悪影響があります。
.IP -
.B yyless(n)
現在のトークンから最初の
.I n
文字を除いたものを入力ストリームに戻します。
戻した文字列はスキャナが次のマッチングをとるときに再度スキャンされます。
.B yytext
.B yyleng
は適切に調整されます(例えば
.B yyleng
.I n
となります)。
例えば、入力 "foobar" が与えられると、以下は
"foobarbar" を書きます:
.nf
%%
foobar ECHO; yyless(3);
[a-z]+ ECHO;
.fi
引数 0 を
.B yyless
に与えると、現在の入力文字列全体が再度スキャンされます。
(例えば
.B BEGIN
を使用して)次にスキャナが入力する方法を変更していないと、無限ループとなります。
.PP
.B yyless
はマクロであり、flex 入力ファイルでのみ使用可能であり、
別のソースファイルからは使用不能であることに注意して下さい。
.IP -
.B unput(c)
文字
.I c
を入力ストリームへ戻します。戻した文字は次にスキャンされる文字になります。
次のアクションは現在のトークンを取り上げ、
括弧内に入れて再スキャンします。
.nf
{
int i;
/* Copy yytext because unput() trashes yytext */
char *yycopy = strdup( yytext );
unput( ')' );
for ( i = yyleng - 1; i >= 0; --i )
unput( yycopy[i] );
unput( '(' );
free( yycopy );
}
.fi
.B unput()
は文字を入力ストリームの
.I 先頭
に戻すので、文字列を戻す場合には後ろから前に向かって戻す必要があります。
.PP
.B unput()
使用時の重要な潜在的な問題は、
.B %pointer
使用時(デフォルト)に
.B unput()
を呼び出すと、
右端の文字から開始し 1 文字ずつ左に向かって消費され、
.I yytext
の内容が
.I 破壊
されることです。
(上記例のように)
.B unput()
呼び出し後も
.I yytext
の内容を保存するためには、始めに別の場所にコピーするか、
スキャナを
.B %array
を使うように構築することです(入力のマッチ方法参照)。
.PP
最後に、
.B EOF
を戻して入力ストリームにファイルの終りをマークするとは
出来ないことに注意して下さい。
.IP -
.B input()
次の文字を入力ストリームから読みます。
次の例は C コメントを食べます:
.nf
%%
"/*" {
register int c;
for ( ; ; )
{
while ( (c = input()) != '*' &&
c != EOF )
; /* eat up text of comment */
if ( c == '*' )
{
while ( (c = input()) == '*' )
;
if ( c == '/' )
break; /* found the end */
}
if ( c == EOF )
{
error( "EOF in comment" );
break;
}
}
}
.fi
(スキャナが
.B C++
でコンパイルされたときは、このルーチンは
.B yyinput()
という名称になり、
.B C++
ストリームの
.I input
と名前が衝突することを避けます。)
.IP -
.B YY_FLUSH_BUFFER
スキャナの内部バッファをフラッシュし、
次にスキャナがトークンをマッチしようとした時
バッファを
.B YY_INPUT
にてリフィルします(生成されたスキャナで後述)。
このアクションは、
複数の入力バッファにおいて後述する
より一般的な
.B yy_flush_buffer()
関数の特別なケースです。
.IP -
.B yyterminate()
アクションの return 文の代わりに使うことが出来ます。
.B yyterminate()
はスキャナを終了し、"全て終了" を意味する 0 を呼び出し元関数に返します。
デフォルトでは
.B yyterminate()
はファイルの終わりに達したときにも呼ばれます。
.B yyterminate()
はマクロであり、定義しなおすことができます。
.SH 生成されたスキャナ
.I flex
の出力は
.B lex.yy.c
というファイルであり、スキャンルーチン
.B yylex()
と、トークンのマッチングに使用する複数のテーブルと、
複数の付属ルーチンとマクロからなります。デフォルトでは、
.B yylex()
は次のように宣言されます:
.nf
int yylex()
{
... various definitions and the actions in here ...
}
.fi
(環境が関数プロトタイプをサポートしている場合、
"int yylex( void )" となります。)
この定義は "YY_DECL" マクロを定義することにより変更できます。
例えば次のように使用することが出来ます:
.nf
#define YY_DECL float lexscan( a, b ) float a, b;
.fi
これはスキャンルーチンの名前を
.I lexscan
とし、浮動小数点数を返すようにし、2 つの浮動小数点数を引数とします。
K&R の非プロトタイプの関数宣言を使用してスキャンルーチンに対して引数を
与える場合、定義をセミコロン(;)で終了する必要があります。
.PP
.B yylex()
は呼ばれるたび、グローバル入力ファイル
.I yyin
(デフォルトでは標準入力)からトークンをスキャンします。
ファイルの終りになる(この場合 0 を返します)か、
アクションが
.I return
文を実行するまで、実行を続けます。
.PP
スキャナがファイルの終りに到達すると、
.I yyin
が新たなファイルを指さないか
(新たなファイルを指す場合はこのファイルのスキャンを続けます)、
.B yyrestart()
が呼ばれない限り、
後続する呼び出しは未定義です。
.B yyrestart()
.B FILE *
ポインタ(
.B YY_INPUT
を設定して
.I yyin
以外のソースをスキャンするようにした場合には nil も可です)
である引数を 1 つとり、そのファイルからのスキャンのために
.I yyin
を初期化します。
本質的に、
.I yyin
を新しい入力ファイルに割り当てることと
.B yyrestar()
を使用することとは同じです;
後者は前のバージョンの
.I flex
との互換性のために使用可能であり、
またスキャンの途中で入力ファイルを変えることが可能です。
引数を
.I yyin
として呼び出すことにより、現在の入力バッファを捨てることも出来ます;
ただし、
.B YY_FLUSH_BUFFER
(上述)を使用する方が良いです。
.B yyrestart()
.B INITIAL
の開始条件を変更し
.I ない
ことに注意して下さい
(後述の開始条件参照)。
.PP
あるアクション中で
.I return
文を実行することにより
.B yylex()
がスキャンを止めた場合、スキャナは再度呼び出し可能であり、
この場合スキャンの残りの部分から再開します。
.PP
デフォルトで(効率のため)、スキャナは単純な
.I getc()
コールではなくブロックリードを行い、
.I yyin
から文字を読みます。
入力取得方法は
.B YY_INPUT
マクロを定義することにより制御できます。
YY_INPUT 呼び出し手順は "YY_INPUT(buf,result,max_size)" です。
このアクションは、
.I buf
文字配列中に最大
.I max_size
文字を用意し、整数変数
.I result
中に読めた文字数もしくは定数 YY_NULL (Unix システムでは 0)を入れて返します。
デフォルトの YY_INPUT はグローバルファイルポインタ "yyin" から読みます。
.PP
YY_INPUT のサンプル定義です(入力ファイルの定義部に格納):
.nf
%{
#define YY_INPUT(buf,result,max_size) \\
{ \\
int c = getchar(); \\
result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \\
}
%}
.fi
この定義により、入力処理は 1 度に 1 文字ずつ行うように変更されます。
.PP
スキャナが YY_INPUT からファイルの終りを通知された場合、
スキャナは
.B yywrap()
関数をチェックします。
.B yywrap()
関数が偽(ゼロ)を返す場合、関数は続行中であるとされ、
.I yyin
を別の入力ファイルを指すように設定し、スキャンを続行します。
関数が真(非ゼロ)を返す場合、スキャナは終了し、呼び出し元に 0 を返します。
どちらの場合も開始条件は変化しないことに注意して下さい;
つまり
.B INITIAL
には戻り
.I ません。
.PP
独自の
.B yywrap()
を設定しない場合、
.B %option noyywrap
(この場合スキャナは
.B yywrap()
が 1 を返したかのように動作します)を使用するか、フラグ
.B \-ll
を指定してデフォルトのルーチン(常に 1 を返します)を使用しなければなりません。
.PP
ファイルではなくメモリ中のバッファからスキャンするための 3 つのルーチンを
使用可能です:
.B yy_scan_string(), yy_scan_bytes(), yy_scan_buffer()
これらに関する議論は複数の入力バッファの節を参照して下さい。
.PP
スキャナは、自己の
.B ECHO
出力を
.I yyout
グローバル(デフォルトでは標準出力であり、
別の
.B FILE
ポインタに割り当てることで再定義できます)に書きます。
.SH 開始条件
.I flex
は、条件的に有効となるルールのための機構を提供します。
パターンのプレフィックスが "<sc>" となっているルールは、
スキャナが "sc" という名前の開始条件にいる場合のみ有効です。
例えば、
.nf
<STRING>[^"]* { /* eat up the string body ... */
...
}
.fi
はスキャナが "STRING" 開始条件にいる時のみ有効であり、
.nf
<INITIAL,STRING,QUOTE>\\. { /* handle an escape ... */
...
}
.fi
は現在の開始条件が、
"INITIAL", "STRING", "QUOTE" のいずれかの場合のみ有効です。
.PP
開始条件は、入力の定義(先頭)部において、インデントされない行で
.B %s
もしくは
.B %x
から始まり名前が続く行において宣言されます。
前者は
.I 内包的
開始条件を、
後者は
.I 排他的
開始条件を、それぞれ宣言します。
開始条件を有効にするのは
.B BEGIN
アクションです。
次の
.B BEGIN
アクションが実行されるまで、与えられた開始条件のルールは有効であり、
他の開始条件のルールは無効です。
開始条件が
.I 内包的
な場合、開始条件を持たないルールもまた有効です。
開始条件が
.I 排他的
な場合、
開始条件を満たすルール
.I だけ
が有効です。
同じ排他開始条件に依存するルールの組は、
.I flex
入力中の別のルールとは独立なスキャナを記述します。
そのため、排他開始条件を使用すれば、"ミニスキャナ"
(別部分とは文法的に異なる部分(例えばコメント)に対するスキャナ)
を簡単に指定できます。
.PP
内包的開始条件と排他的開始条件とがまだ少し曖昧であるなら、
両者の関係を表す例を示して説明します。以下のルールの組:
.nf
%s example
%%
<example>foo do_something();
bar something_else();
.fi
.nf
%x example
%%
<example>foo do_something();
<INITIAL,example>bar something_else();
.fi
と等価です。
.B <INITIAL,example>
が無いと、2 番目の例における
.I bar
パターンは、開始条件が
.B example
の場合、有効となりません(すなわちマッチしません)。
.B <example>
だけを
.I bar
につけると、
.B example
だけにおいて有効となり、
.B INITIAL
では有効となりません。一方、最初の例ではどちらの場合でも有効です。
なぜなら最初の例では
.B example
開始条件は
.I 内包的
.B (%s)
開始条件だからです。
.PP
特殊な開始条件指定子
.B <*>
は全ての開始条件にマッチすることに注意して下さい。
このため、上の例は次のようにも書けます;
.nf
%x example
%%
<example>foo do_something();
<*>bar something_else();
.fi
.PP
デフォルトルール(マッチしなかった文字に対しては
.B ECHO
です)は開始条件中でも有効です。
これは次のものと等価です:
.nf
<*>.|\\n ECHO;
.fi
.PP
.B BEGIN(0)
は、開始条件の無いルールだけが有効である、最初の状態に戻ります。
この状態は開始条件 "INITIAL" として参照できるため、
.B BEGIN(INITIAL)
.B BEGIN(0)
と等価です。
(開始条件名を括る括弧は不要ですが、良いスタイルであるとされています。)
.PP
.B BEGIN
アクションは、ルール部の先頭のインデントされたコード中に現れても良いです。
例えば以下の例では、
.B yylex()
が呼ばれグローバル変数
.I enter_special
が真の場合には、スキャナは "SPECIAL" 開始条件に入ります:
.nf
int enter_special;
%x SPECIAL
%%
if ( enter_special )
BEGIN(SPECIAL);
<SPECIAL>blahblahblah
...more rules follow...
.fi
.PP
開始条件を説明するために、
"123.456" のような文字列を 2 通りの異なった解釈をするスキャナを示します。
デフォルトではこれは、
整数 "123" とドット ('.') と整数 "456" の 3 トークンに数えられます。
しかし、この文字列の前に "expect-floats" の文字列がある場合、
これは単一のトークンであるとされ、浮動小数点数 123.456 とされます:
.nf
%{
#include <math.h>
%}
%s expect
%%
expect-floats BEGIN(expect);
<expect>[0-9]+"."[0-9]+ {
printf( "found a float, = %f\\n",
atof( yytext ) );
}
<expect>\\n {
/* that's the end of the line, so
* we need another "expect-number"
* before we'll recognize any more
* numbers
*/
BEGIN(INITIAL);
}
[0-9]+ {
printf( "found an integer, = %d\\n",
atoi( yytext ) );
}
"." printf( "found a dot\\n" );
.fi
次は、C のコメントを理解(して捨てる)一方で、
現在の入力行を数えるスキャナです。
.nf
%x comment
%%
int line_num = 1;
"/*" BEGIN(comment);
<comment>[^*\\n]* /* eat anything that's not a '*' */
<comment>"*"+[^*/\\n]* /* eat up '*'s not followed by '/'s */
<comment>\\n ++line_num;
<comment>"*"+"/" BEGIN(INITIAL);
.fi
このスキャナは各ルールで可能な最大のテキストにマッチしようとする場合、
ちょっとした問題が起こります。
一般的には、高速なスキャナを記述する場合、
各ルールで最大のマッチを得ようとすることが最も成功します。
.PP
開始条件名は実際には整数値であり、格納することが出来ることに注意して下さい。
そのため、上記例は以下のように拡張できます:
.nf
%x comment foo
%%
int line_num = 1;
int comment_caller;
"/*" {
comment_caller = INITIAL;
BEGIN(comment);
}
...
<foo>"/*" {
comment_caller = foo;
BEGIN(comment);
}
<comment>[^*\\n]* /* eat anything that's not a '*' */
<comment>"*"+[^*/\\n]* /* eat up '*'s not followed by '/'s */
<comment>\\n ++line_num;
<comment>"*"+"/" BEGIN(comment_caller);
.fi
さらに、現在の開始条件を整数値であるマクロ
.B YY_START
にてアクセスできます。
例えば、上記の
.I comment_caller
への代入は次のように記述できます。
.nf
comment_caller = YY_START;
.fi
flex は
.B YYSTATE
.B YY_START
のエイリアスとして提供します
(AT&T の
.I lex
が使用しています)。
.PP
開始条件は独自の名前空間を持たないことに注意して下さい;
%s や %x の宣言における名前宣言の扱いは #define と同じです。
.PP
最後に、排他的開始条件を使用する、
展開されたエスケープシーケンスを含む(長すぎる文字列のチェックは含みません)
C スタイルのクオート文字列へのマッチ方法を示します:
.nf
%x str
%%
char string_buf[MAX_STR_CONST];
char *string_buf_ptr;
\\" string_buf_ptr = string_buf; BEGIN(str);
<str>\\" { /* saw closing quote - all done */
BEGIN(INITIAL);
*string_buf_ptr = '\\0';
/* return string constant token type and
* value to parser
*/
}
<str>\\n {
/* error - unterminated string constant */
/* generate error message */
}
<str>\\\\[0-7]{1,3} {
/* octal escape sequence */
int result;
(void) sscanf( yytext + 1, "%o", &result );
if ( result > 0xff )
/* error, constant is out-of-bounds */
*string_buf_ptr++ = result;
}
<str>\\\\[0-9]+ {
/* generate error - bad escape sequence; something
* like '\\48' or '\\0777777'
*/
}
<str>\\\\n *string_buf_ptr++ = '\\n';
<str>\\\\t *string_buf_ptr++ = '\\t';
<str>\\\\r *string_buf_ptr++ = '\\r';
<str>\\\\b *string_buf_ptr++ = '\\b';
<str>\\\\f *string_buf_ptr++ = '\\f';
<str>\\\\(.|\\n) *string_buf_ptr++ = yytext[1];
<str>[^\\\\\\n\\"]+ {
char *yptr = yytext;
while ( *yptr )
*string_buf_ptr++ = *yptr++;
}
.fi
.PP
上記例のように同一の開始条件を持つ全てのルールの前に
開始条件を書かねばならないことが多いです。
flex はこれを簡単かつ綺麗にするため開始条件
.I スコープ
を導入しました。
開始条件スコープは次のように始まります:
.nf
<SCs>{
.fi
ここで
.I SCs
は 1 つ以上の開始条件のリストです。
開始条件スコープ内では、
最初の
.I '{'
にマッチするまでの
.I '}'
において、全てのルールは自動的に
.I <SCs>
のプレフィックスが付きます。
そのため、例えば
.nf
<ESC>{
"\\\\n" return '\\n';
"\\\\r" return '\\r';
"\\\\f" return '\\f';
"\\\\0" return '\\0';
}
.fi
は次のものと等価です:
.nf
<ESC>"\\\\n" return '\\n';
<ESC>"\\\\r" return '\\r';
<ESC>"\\\\f" return '\\f';
<ESC>"\\\\0" return '\\0';
.fi
開始条件スコープはネストすることが出来ます。
.PP
開始条件のスタックを制御するために 3 つのルーチンを使用可能です:
.TP
.B void yy_push_state(int new_state)
現在の開始条件を開始条件スタックの先頭にプッシュし、
.B BEGIN new_state
を使用したかのように
.I new_state
に切替えます
(開始条件名は整数値でもあることを思い出して下さい)。
.TP
.B void yy_pop_state()
スタックの先頭をポップし、
.B BEGIN
を使用してその開始条件に切替えます。
.TP
.B int yy_top_state()
スタックの内容を変更せずに、スタックの先頭を返します。
.PP
開始条件スタックは動的に大きくなり、
また組み込み時のサイズ制限はありません。
メモリを使い切ると、プログラム実行は中止されます。
.PP
開始条件スタックを使用するためには、スキャナは
.B %option stack
ディレクティブをインクルードする必要があります
(下記オプションを参照して下さい)。
.SH 複数の入力バッファ
スキャナによっては(ファイルの "include" をサポートする等)
複数の入力ストリームを扱う必要があります。
.I flex
スキャナでは大きなバッファリングを行うため、
スキャンコンテキストに影響される
.B YY_INPUT
を単純に書き換えるだけでは次の入力がどこから読まれるのかを制御できません。
.B YY_INPUT
が呼ばれるのはスキャナがバッファの終りに到達する時だけですので、
例えば "include" のように入力元を切替える必要のある文をスキャンした後でも
長時間を費す場合があります。
.PP
この様な問題を解決するため、
.I flex
は複数の入力バッファを生成して切替える機構を提供します。
入力バッファは次のように生成されます:
.nf
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
.fi
これは
.I FILE
ポインタと size を取り、与えられる file に関連し
.I size
文字を保持するに十分なバッファを生成します
(疑わしい場合には size には
.B YY_BUF_SIZE
を使用して下さい)。
これは、別のルーチン(下記参照)に渡すための
.B YY_BUFFER_STATE
ハンドルを返します。
.B YY_BUFFER_STATE
のタイプは
.B struct yy_buffer_state
構造体へのポインタであるため、
安全のため YY_BUFFER_STATE 変数を
.B ((YY_BUFFER_STATE) 0)
と初期化することが出来、
スキャナではなくソースファイルにおいて
入力バッファを正しく宣言するためにこの構造体を参照することが出来ます。
.B yy_create_buffer
呼び出しにおける
.I FILE
ポインタは
.B YY_INPUT
から見える
.I yyin
の値と同じようにだけ使用されることに注意して下さい;
.B YY_INPUT
を再定義して
.I yyin
を使わないようにすることにより、
.B yy_create_buffer
に対して安全にニル
.I FILE
ポインタを渡せます。
スキャンするバッファを選択するためには次のようにします:
.nf
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
.fi
これはスキャナの入力バッファを切替え、
トークンが
.I new_buffer
から来るようになります。
新たなファイルをオープンして
.I yyin
を指すのではなく、スキャンを継続するために yywrap() から
.B yy_switch_to_buffer()
を使用することがあることに注意して下さい。
また、
.B yy_switch_to_buffer()
または
.B yywrap()
による入力元の切替えは開始条件を変更し
.I ない
ことにも注意して下さい。
.nf
void yy_delete_buffer( YY_BUFFER_STATE buffer )
.fi
はバッファに関連づけられたストレージの返還要求に使用します。(
.B buffer
はニルでも構いませんがこの場合このルーチンは何もしません。)
現在のバッファの内容をクリアするには次のようにします:
.nf
void yy_flush_buffer( YY_BUFFER_STATE buffer )
.fi
この関数はバッファの内容を捨てるため、
次にスキャナがこのバッファとトークンのマッチを行う場合、
スキャナはまず
.B YY_INPUT
を使用してこのバッファをフィルします。
.PP
.B yy_new_buffer()
.B yy_create_buffer()
のエイリアスであり、動的オブジェクトの生成と破壊のために使用する C++ の
.I new
.I delete
との互換性のために提供しています。
.PP
最後に
.B YY_CURRENT_BUFFER
マクロは、現在のバッファに対する
.B YY_BUFFER_STATE
ハンドルを返します。
.PP
この機能を使用してインクルードファイルを展開するスキャナの記述例です(
.B <<EOF>>
機能は後述します):
.nf
/* the "incl" state is used for picking up the name
* of an include file
*/
%x incl
%{
#define MAX_INCLUDE_DEPTH 10
YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
int include_stack_ptr = 0;
%}
%%
include BEGIN(incl);
[a-z]+ ECHO;
[^a-z\\n]*\\n? ECHO;
<incl>[ \\t]* /* eat the whitespace */
<incl>[^ \\t\\n]+ { /* got the include file name */
if ( include_stack_ptr >= MAX_INCLUDE_DEPTH )
{
fprintf( stderr, "Includes nested too deeply" );
exit( 1 );
}
include_stack[include_stack_ptr++] =
YY_CURRENT_BUFFER;
yyin = fopen( yytext, "r" );
if ( ! yyin )
error( ... );
yy_switch_to_buffer(
yy_create_buffer( yyin, YY_BUF_SIZE ) );
BEGIN(INITIAL);
}
<<EOF>> {
if ( --include_stack_ptr < 0 )
{
yyterminate();
}
else
{
yy_delete_buffer( YY_CURRENT_BUFFER );
yy_switch_to_buffer(
include_stack[include_stack_ptr] );
}
}
.fi
ファイルではなくメモリ上の文字列をスキャンするための
入力バッファを設定するための 3 つのルーチンを使用可能です。
いずれも文字列をスキャンする新しい入力バッファを生成し、対応する
.B YY_BUFFER_STATE
ハンドル(終了時には
.B yy_delete_buffer()
にて消去します)を返します。新しいバッファに切替える時には
.B yy_switch_to_buffer()
を使用し、次の
.B yylex()
の呼び出し時にはこの文字列をスキャン開始します。
.TP
.B yy_scan_string(const char *str)
NUL ターミネートされた文字列をスキャンします。
.TP
.B yy_scan_bytes(const char *bytes, int len)
.I len
バイト (NUL が含まれるかも知れません)を位置
.I bytes
からスキャンします。
.PP
どちらの関数も文字列もしくはバイト列の
.I コピー
を生成してからスキャンします。(
.B yylex()
はスキャンするバッファの内容を変更するため、これが望ましいのです。)
コピーを避けるためには次のようにします:
.TP
.B yy_scan_buffer(char *base, yy_size_t size)
バッファ内で
.I base
から
.I size
バイトの長さをスキャンします。最後の 2 バイトは
.B YY_END_OF_BUFFER_CHAR
(ASCII NUL)
である
.I 必要があります。
これらの最後の 2 バイトはスキャンされません;
そのためスキャンの内容は
.B base[0]
から
.B base[size-2]
までで両端を含みます。
.IP
この様になるように
.I base
を設定しなかった場合(つまり最後の 2 つの
.B YY_END_OF_BUFFER_CHAR
バイトを忘れた場合)、
.B yy_scan_buffer()
は新しいバッファを生成するのではなくニルポインタを返します。
.IP
.B yy_size_t
は整数型であり、
バッファの大きさを反映する整数式をこの型にキャストすることが出来ます。
.SH ファイルの終りのルール
特別ルール "<<EOF>>" は、
ファイルの終了時もしくは
yywrap() が非ゼロ(すなわち処理するファイルが無いことを表す)の時に
行われるべきアクションを表します。
アクションは以下の 4 つのうちのいずれかで終る必要があります。
.IP -
.I yyin
に新しいファイルを割り当てる(前のバージョンの flex では、
割り当て後に特別なアクション
.B YY_NEW_FILE
を呼び出す必要がありました;
今では不要です。);
.IP -
.I return
文を実行する;
.IP -
特別な
.B yyterminate()
アクションを実行する;
.IP -
.B yy_switch_to_buffer()
を使用して新たなバッファに切替える
(上記例で示した通り)。
.PP
<<EOF>> ルールを他のパターンと共に使用してはなりません;
他のパターンは開始条件のリストともにだけ満たされるからです。
満たされない <<EOF>> ルールが与えられた場合、
<<EOF>> アクションをまだ持っていない
.I 全ての
開始条件に適用されます。
<<EOF>> ルールを最初の開始条件だけに指定するためには次のようにして下さい。
.nf
<INITIAL><<EOF>>
.fi
.PP
これらのルールは閉じていないコメントを捕まえる場合等に便利です。
例えば:
.nf
%x quote
%%
...other rules for dealing with quotes...
<quote><<EOF>> {
error( "unterminated quote" );
yyterminate();
}
<<EOF>> {
if ( *++filelist )
yyin = fopen( *filelist, "r" );
else
yyterminate();
}
.fi
.SH 雑多なマクロ
マクロ
.B YY_USER_ACTION
にはマッチルールアクションに先だって常に行うアクションを定義できます。
例えば、yytext を小文字に変換するルーチンを呼ぶように #define 出来ます。
.B YY_USER_ACTION
起動時には、変数
.I yy_act
はマッチしたルールの番号を与えます(ルールは 1 番から数えます)。
各ルールがマッチする頻度を知りたい場合を想像して下さい。
以下に仕掛けを示します:
.nf
#define YY_USER_ACTION ++ctr[yy_act]
.fi
ここで
.I ctr
は配列であり、それぞれのルールがマッチした回数を計数します。
マクロ
.B YY_NUM_RULES
はルールの総数を表すため(
.B \-s
を使った時でさえデフォルトルールを含みます)、
正しい
.I ctr
の宣言は次のようになります:
.nf
int ctr[YY_NUM_RULES];
.fi
.PP
マクロ
.B YY_USER_INIT
には最初のスキャンの前に常に行うアクションを再定義できます
(スキャナの内部初期化の前に行われます)。
例えばデータ表を読み込んだり、ログファイルをオープンするために使用できます。
.PP
マクロ
.B yy_set_interactive(is_interactive)
は現在のバッファが
.I 対話的
と見倣されているか否かを制御するために使用します。
対話的なバッファの処理は遅くなりますが、
スキャナの入力元が対話的でありバッファをフィルするのを待つことに起因する
問題を避けるためには指定しなければなりません(以下の
.B \-I
フラグに関する議論を参照して下さい)。
マクロ起動時に非ゼロを指定するとバッファは対話的になり、
ゼロを指定すると非対話的になります。
このマクロの使用は
.B %option always-interactive
.B %option never-interactive
に優先します(下記オプションを参照して下さい)。
バッファをスキャンして対話的である(もしくはでない)と判断される前に、
.B yy_set_interactive()
を起動して下さい。
.PP
マクロ
.B yy_set_bol(at_bol)
は現在のバッファにおける次のトークンに対するマッチのためのスキャンが
行頭から始まるか否かを制御します。
非ゼロのマクロ引数は、'^' が付いたルールを有効にしますが、
ゼロのマクロ引数は '^' が付いたルールを無効にします。
.PP
現在のバッファからスキャンされた次のトークンが有効な '^' ルールを持つ時、
マクロ
.B YY_AT_BOL()
は真を返します。
そうでない場合は偽を返します。
.PP
生成されたスキャナでは、全てのアクションは大きな一つの switch 文に
集められ、
.B YY_BREAK
で分けられています。
.B YY_BREAK
は再定義可能です。デフォルトではそれぞれのルールのアクションを
分けるための単なる "break" です。
.B YY_BREAK
を再定義することにより、例えば C++ ユーザが
#define YY_BREAK を何もしないように定義し
(ただし全てのルールが "break" か "return" で終るように
注意しなければなりません!)、
ルールのアクションが "return" で終ることにより
.B YY_BREAK
がアクセスできないことに起因する、
到達できない文があるという警告を避けることが出来ます。
.SH ユーザが使用可能な値
この節ではユーザがルールのアクション部分で使用可能な値をまとめます。
.IP -
.B char *yytext
現トークンのテキストを保持しています。内容を変更しても構いませんが、
その長さを伸ばしてはいけません(終りに文字を追加してはいけない)。
.IP
スキャナの記述の最初の部分に特別な指示である
.B %array
が書かれているとき、
.B yytext
.B char yytext[YYLMAX]
と定義されます。
.B YYLMAX
はマクロで、デフォルトの値 (多くの場合8KB) を変更したい場合には
最初の部分で再定義可能です。
.B %array
を使うといくらか遅いスキャナになりますが、
.B yytext
の値は
.I input()
.I unput()
の呼び出しでも破壊されなくなります。
.B yytext
が文字ポインタである場合、
これらの関数呼び出しは
.B yytext
を破壊する可能性があります。
.B %array
と対称な指定
.B %pointer
がデフォルトです。
.IP
C++ のスキャナクラスを生成する (オプション
.B \-+
) ときには
.B %array
は使えません。
.IP -
.B int yyleng
現トークンの長さを保持しています。
.IP -
.B FILE *yyin
はデフォルトで
.I flex
が読むファイルです。再定義することは可能ですが、スキャンを
始める前か EOF に到達した後でのみ再定義は意味を持ちます。
スキャンの途中で変更すると予想外の結果をもたらします。
というのも
.I flex
は入力をバッファリングしているからです;
そのような場合には、直接再定義せず
.B yyrestart()
を使って下さい。
ファイルの終わりでスキャンが終了した場合には
.I yyin
を新しい入力ファイルに割り当て、
再びスキャナを呼び出してスキャンを続けることが出来ます。
.IP -
.B void yyrestart( FILE *new_file )
を呼ぶことで
.I yyin
が新しい入力ファイルを指すように出来ます。新しいファイルへの変更は
すぐに行われます (それまでにバッファに読み込まれていた入力は失われます)。
.I yyin
を引数として
.B yyrestart()
を呼ぶと、現在の入力バッファを捨てて同じ入力ファイルを
スキャンし続けることに注意して下さい。
.IP -
.B FILE *yyout
.B ECHO
アクションが行われる対象のファイルです。
ユーザが再割当することが出来ます。
.IP -
.B YY_CURRENT_BUFFER
カレントバッファの
.B YY_BUFFER_STATE
ハンドルを返します。
.IP -
.B YY_START
現在の開始条件に対応する整数値を返します。
続いてこの値を
.B BEGIN
と共に使うことで、スキャナをその開始条件へ戻すことが出来ます。
.SH YACC とのインタフェース
.I flex
の主な使用方法の一つは、
.I yacc
パーサジェネレータと共に使用することです。
.I yacc
パーサは
.B yylex()
と言う名前のルーチンを呼び、次の入力トークンを見付けるものとしています。
このルーチンは、次のトークンの型を返し、
関連する値をグローバルの
.B yylval
に格納するものとされています。
.I flex
.I yacc
と共に使うには、
.I yacc
.B \-d
オプションを指定して、
.I yacc
の入力に現れる全ての
.B %tokens
の定義を含む
.B y.tab.h
ファイルを生成させます。
このファイルは
.I flex
スキャナにインクルードされます。
例えばトークンの一つが "TOK_NUMBER" である場合、
スキャナの一部分は次のようになっています:
.nf
%{
#include "y.tab.h"
%}
%%
[0-9]+ yylval = atoi( yytext ); return TOK_NUMBER;
.fi
.SH オプション
.I flex
には以下のようなオプションがあります:
.TP
.B \-b
バックアップ情報を
.I lex.backup
に出力します。
このファイルには、スキャナのバックアップ(backing-up)を必要とする状態と
それに対応する入力文字の一覧がリストされます。
ルールを追加することでバックアップ状態を取り除くこと
ができます。バックアップ状態が
.I 全て
取り除かれ、
.B \-Cf
または
.B \-CF
を指定すると、生成されたスキャナの実行速度が向上します(
.B \-p
フラグを見て下さい)。
スキャナをぎりぎりまで最適化しようとしてるユーザのみが
このオプションに関係あります。
(後述の性能関連の節を見て下さい。)
.TP
.B \-c
何もしません。POSIX 互換のために用意されています。
.TP
.B \-d
生成されたスキャナが
.I デバッグ
モードで実行されます。
.B yy_flex_debug
が非ゼロの場合(デフォルト)、
パターンが認識されるたびに、スキャナは次のようなメッセージを
.I 標準エラー出力
へ出力します。
.nf
--accepting rule at line 53 ("the matched text")
.fi
行番号はスキャナを定義しているファイル (flexに与えられたファイル)
でのルールの位置です。
スキャナがバックアップしたとき、デフォルトルールを受け入れたとき、
入力バッファの最後に到達したとき (あるいは、NULに到達したとき;
スキャナには、この二つの区別はつきません) 、ファイルの最後に到達した
ときにもメッセージが出力されます。
.TP
.B \-f
.I 高速なスキャナ
を指定します。
テーブル圧縮は行われず、標準入出力をバイパスします。
その結果生成されるスキャナは大きくなりますが、高速なものになります。
このオプションは
.B \-Cfr
と同等です (以下を参照)。
.TP
.B \-h
.I flex
のオプションの要約からなる "ヘルプ" を
.I 標準出力
に書き出し終了します。
.B \-?
.B \-\-help
とは
.B \-h
と同じです。
.TP
.B \-i
.I 大文字小文字を区別しない
スキャナを生成します。
.I flex
の入力パターンに与えられる文字が大文字であるか小文字であるかは区別されず、
スキャナに入力される文字列は大文字小文字に関係なくマッチします。
マッチしたテキスト
.I yytext
では入力時の大文字小文字が保存されます (大文字を小文字に変換したりしません)。
.TP
.B \-l
AT&T の
.I lex
の実装に対して最大限の互換性を持たせます。これは
.I 完全な
互換性を意味しません。
このオプションを使用すると性能に大きな影響があります。
このオプションは、
.B \-+, \-f, \-F, \-Cf, \-CF
と同時に使用できません。詳しくは、
後述の "Lex および POSIX との非互換性" の節を御覧下さい。
またこのオプションを使用すると、
.B YY_FLEX_LEX_COMPAT
が生成されたスキャナの名前に #define されます。
.TP
.B \-n
何もしません。POSIX 互換のためにだけ用意されたオプションです。
.TP
.B \-p
性能情報を標準エラー出力に出力します。
.I flex
入力ファイルの記述のうち、
生成されるスキャナの性能低下の深刻な原因となる部分について、
コメントされます。
オプションを2回指定すると、より細かな性能低下についても
コメントが出力されます。
.IP
.B REJECT
.B %option yylineno
・可変長右文脈(欠陥/バグの節で後述)は多大なる性能への悪影響があります;
.I yymore()
の使用・
.B ^
オペレータ・
.B \-I
フラグは小さな性能の悪影響があります。
.TP
.B \-s
.I デフォルトルール
(マッチしないスキャナの入力を
.I 標準出力
に出力する)
が抑制されます。ルールにマッチしない入力が表れたとき、スキャナは
エラーで異常終了します。
スキャナのルールの組に抜けが無いかを確認する場合に有効です。
.TP
.B \-t
.B lex.yy.c
ではなく、標準出力にスキャナを書き出します。
.TP
.B \-v
生成するスキャナの特徴の要約を
.I 標準エラー出力
に出力するように
.I flex
に指示します。
ほとんどの特徴は通常の
.I flex
ユーザには意味がありませんが、最初の行は
.I flex
のバージョンを表示し(
.B \-V
で表示されるもと同じです)、次の行はデフォルトを含むスキャナ生成時のフラグです。
.TP
.B \-w
警告メッセージを抑制します。
.TP
.B \-B
.I 対話的
なスキャナ (以下の
.B \-I
の項を参照) ではなく
.I バッチ的
なスキャナを生成するよう
.I flex
に指示します。
通常
.B \-B
を使用するのは、スキャナを対話的に使用しないことが
.I 分かっている
時であり、
.I 少しでも
性能を追求したい時です。
より大きい性能を追求する場合には、
.B \-Cf
もしくは
.B \-CF
オプションを使用すべきです(後述)。
.B \-B
を自動的に設定します。
.TP
.B \-F
.ul
高速な
スキャナテーブルの表現を使う(標準入出力はバイパスする)ことを指定します。
この表現は、完全テーブル表現
.B (-f)
とほぼ同じぐらい高速で、
ある種のパターンに対してはかなり小さく (ある種に対しては大きく)
なります。
通常、次のように、パターンの組が "keywords" とその対応
および "identifier" ルールからなる場合:
.nf
"case" return TOK_CASE;
"switch" return TOK_SWITCH;
...
"default" return TOK_DEFAULT;
[a-z]+ return TOK_ID;
.fi
この場合、完全テーブル表現を使用する方が良いです。
もし "identifier" ルールからのみ表現され、
キーワードを検知するためにハッシュ表等を使用する場合は、
.B -F
を使用する方が良いです。
.IP
このオプションは
.B \-CFr
と等価です (以下を参照)。
これは
.B \-+
オプションとは同時に指定できません。
.TP
.B \-I
.I flex
.I 対話的
なスキャナを生成するように指示します。
対話的なスキャナは、
先読みすることによりマッチするトークンが完全に決まる場合のみ先読みします。
現在のトークンが既に明らかな場合でも常に先読みする方法は、
必要時のみ先読みする方法より少し速いです。
しかし、常に先読みする方法では対話性能に著しく悪影響があります;
例えばユーザが改行を入力した場合、
.I 別の
トークンを入力するまでそれは改行として認識されません。
大概の場合、次の行全体を入力することになります。
.IP
.I flex
のスキャナのデフォルトは
.I 対話的
であり、例外は
.B \-Cf
.B \-CF
といったテーブル圧縮オプション(後述)使用時です。
高性能追求時にはこれらのオプションを使用しているべきですので、
これらのオプションを使用していない場合には、
.I flex
は実行時性能を少し犠牲にして直観的な対話的な振舞いを取っているものとします。
.B \-I
オプションを
.B \-Cf
.B \-CF
と共に
.I 使用できない
ことにも注意して下さい。
実際はこのオプションは不要です;
許される場合、デフォルトで有効になっています。
.IP
スキャナを対話的で
.I 無い
ように強制するには
.B \-B
(先述)を使用します。
.TP
.B \-L
.I flex
.B #line
ディレクティブを
.B lex.yy.c
中に生成しないように指示します。
デフォルトではこの #line ディレクティブを生成するので、
アクションにおけるエラーメッセージは、オリジナルの
.I flex
入力ファイル(
エラーが入力ファイルのコードに起因する場合)もしくは
ファイル
.B lex.yy.c
(
.I flex
の誤り -- 以下の電子メールアドレスに報告して下さい)
における正しい位置を与えます。
.TP
.B \-T
.I flex
.I トレース
モードで実行します。
入力の形式とその結果として出力される非決定性/決定性有限
オートマトンに関して
.I 標準エラー出力
に多量のメッセージを出力します。
このオプションは主に
.I flex
をメンテナンスするために使われます。
.TP
.B \-V
バージョン番号を
.I 標準出力
に出力して終了します。
.B \-\-version
.B \-V
と同じです。
.TP
.B \-7
7 ビットのスキャナを生成します。
すなわち、入力に 7 ビットの文字のみを使用することを意味します。
.B \-7
を指定する利点は、
.B \-8
オプション(後述)を指定して生成するテーブルの半分まで小さくなりうることです。
欠点は、入力に 8 ビット文字が含まれている時に、
スキャナがハングもしくはクラッシュすることです。
.IP
しかしながら、
.B \-Cf
.B \-CF
といったテーブル圧縮オプション使用時にはテーブル圧縮の効果は少なく、
移植性が著しく低下することに注意して下さい。
.I flex
のデフォルトの動作では、
.B \-Cf
.B \-CF,
を指定しない限り 8 ビットスキャナを生成します。
指定時には、
あなたのサイトが常に 8 ビットスキャナを生成するように
(USA 以外のサイトでは良くあります)していない場合には、
7 ビットスキャナを生成します。
flex が 7 ビットもしくは 8 ビットのいずれのスキャナを生成するのかを
知りたい場合には、上述の
.B \-v
の出力のフラグの要約を調べて下さい。
.IP
.B \-Cfe
もしくは
.B \-CFe
(これらのテーブル圧縮オプションおよび等価クラスは後述)
を使用しても、flex はデフォルトで 8 ビットスキャナを生成することに
注意して下さい。
なぜなら、完全な 8 ビットテーブルは 7 ビットテーブルと比べても
たいして高価にはならないからです。
.TP
.B \-8
8 ビットのスキャナを生成するように
.I flex
に指示します。すなわち 8 ビット文字を解釈します。
圧縮オプション
.B \-Cf
.B \-CF
使用時にのみ必要です。
なぜなら flex はデフォルトでは 8 ビットスキャナを生成するからです。
.IP
flex のデフォルト動作と 7 ビットおよび 8 ビットスキャナの
トレードオフに関しては、上記
.B \-7
の議論を見て下さい。
.TP
.B \-+
C++ のスキャナクラスを生成します。
詳しくは C++ スキャナの生成で後述します。
.TP
.B \-C[aefFmr]
テーブル圧縮の程度と、
より一般的には小さいスキャナと高速なスキャナとのトレードオフを指定します。
.IP
.B \-Ca
("アライン")
生成されるスキャナのテーブルは、
メモリアクセスおよび計算のためにアラインされるため、より大きなものになります。
RISC アーキテクチャではロングワードのフェッチおよび操作は
ショートワードといったより小さな大きさのものに対するものより効率的です。
場合によってはスキャナのテーブルサイズが通常の 2倍になることもあります。
.IP
.B \-Ce
.I 等価クラス
(同一の字句属性を持つ文字セット)を構築します
(例えば、
.I flex
入力中に数字が現れるのが文字クラス "[0-9]" のみの場合、
数字 '0', '1', ..., '9' は全て同じ等価クラスになります)。
多くの場合、等価クラスを用いることで最終的なテーブル/
オブジェクトファイルのサイズを劇的(平均して 1/2-1/5)に減らすことが出来ます。
また、その際の性能コストは非常に低く抑えられます
( 1文字スキャンするごとに 1回の配列検索を行うだけです)。
.IP
.B \-Cf
.I 完全(full)
スキャナテーブルを生成することを指示します -
.I flex
は、別の状態に関する類似した遷移関数をうまく利用するという、
テーブル圧縮手法を用いません。
.IP
.B \-CF
別の高速スキャナ表現(
.B \-F
フラグにて記述)を用いることを指定します。
このオプションは
.B \-+
と同時に使用できません。
.IP
.B \-Cm
.I flex
.I メタ等価クラス
を構築するよう指示します。
メタ等価クラスは一緒に使われることの多い等価クラス
(等価クラスが使われていないときには文字群) の集合です。
圧縮テーブルを使っているとき、
メタ等価クラスは多くの場合にかなりの効果的をもたらしますが、
やや性能に影響します
(1-2 回の条件テストと 1 回の配列検索がスキャンした文字ごとに行われます)。
.IP
.B \-Cr
生成されたスキャナは入力に対しては標準入出力ライブラリ(標準入出力)を
.I バイパス
します。
スキャナは、
.B fread()
.B getc()
ではなく、
.B read()
システムコールを使用します。
性能改善結果はシステムに依存します。
オプション
.B \-Cf
もしくは
.B \-CF
を使用していない場合には、
一般にこのオプションは性能をあまり改善しません。
.B \-Cr
を指定すると、例えばスキャナを設定する前に標準入出力を使用して
.I yyin
を読み取る等した場合奇妙な動作となり得ます
(標準入出力の入力バッファに以前読み込んだものを、スキャナは読めません)。
.IP
.B \-Cr
.B YY_INPUT
を定義した場合意味がありません
(前述の生成されたスキャナを参照)。
スキャナの呼出に先だって標準入力を使って
.I yyin
から読みだしているときには、予想外の振る舞いをすることがあります。
.IP
.B \-C
のみを指定したときには、スキャナはテーブル圧縮は行いますが、
等価クラスもメタ等価クラスも使いません。
.IP
オプション
.B \-Cf
.B \-CF
はオプション
.B \-Cm
を同時に指定しても意味をなしません -
なぜなら、テーブル圧縮が行われないときメタ等価クラス
は現れないからです。
それ以外のオプションは自由に組み合わせることが出来ます。
.IP
デフォルトの設定は
.B \-Cem
です。このとき
.I flex
は等価クラスとメタ等価クラスを生成します。
この設定は最も高いテーブル圧縮を行います。
テーブルサイズの大きさと実行の高速性はトレードオフの関係にあり、
一般に
.nf
遅いが 小さい
-Cem
-Cm
-Ce
-C
-C{f,F}e
-C{f,F}
-C{f,F}a
速いが 大きい
.fi
となります。
小さいテーブルのスキャナは通常生成もコンパイルも高速であるため、
通常の開発時は最大の圧縮を行うでしょう。
.IP
製品のスキャナでは、
.B \-Cfe
が速度と大きさの良いバランスです。
.TP
.B \-ooutput
.B lex.yy.c
ではなくファイル
.B output
にスキャナを書くように flex に指示します。
.B \-o
.B \-t
オプションを組み合わせると、
スキャナは
.I 標準出力
に書かれますが、
.B #line
ディレクティブ(
.B \\-L
にて上述)はファイル
.B output
を参照します。
.TP
.B \-Pprefix
.I flex
の使うデフォルトのプレフィックス
.I "yy"
の代わりに
.I prefix
を使います。これはグローバル変数とファイル名に影響します。
例えば
.B \-Pfoo
とすると、
.B yytext
の名前は
.B footext
となります。
またデフォルトの出力ファイル名を
.B lex.yy.c
から
.B lex.foo.c
に変えます。
影響を受ける名前の一覧です:
.nf
yy_create_buffer
yy_delete_buffer
yy_flex_debug
yy_init_buffer
yy_flush_buffer
yy_load_buffer_state
yy_switch_to_buffer
yyin
yyleng
yylex
yylineno
yyout
yyrestart
yytext
yywrap
.fi
(C++ スキャナ使用時には
.B yywrap
.B yyFlexLexer
だけが影響を受けます。)
スキャナの中では、グローバル変数および関数を
どちらの名前ででも参照できます;
外部的には修正した名前のみ持ちます。
.IP
このオプションを使用することにより、複数の
.I flex
プログラムを同一の実行形式に容易にリンクすることが出来ます。
しかし、このオプションは
.B yywrap()
の名前をも変えますので、
独自の(適切に名前を付けた)ルーチンをスキャナのために用意するか、
.B %option noyywrap
を使用して
.B \-ll
とリンクする
.I 必要があります。
どれもデフォルトでは提供されません。
.TP
.B \-Sskeleton_file
.I flex
がスキャナを構築するのに使うデフォルトの
スケルトンファイルに優先します。
.I flex
のメンテナンスや開発をする場合以外、このオプションは必要ありません。
.PP
.I flex
は、flex のコマンドラインではなく、
スキャナ仕様記述中からオプションを制御する機構を提供します。
これはスキャナの最初の部分に
.B %option
ディレクティブを含めることで実現できます。
単一の
.B %option
ディレクティブにおいて複数のオプションを指定でき、
また複数のディレクティブを flex 入力ファイルの最初の部分に置くことが出来ます。
.PP
ほとんどのオプションが単純な名前であり、
オプションとして前に "no" という語(空白をはさみません)を付けて
意味を反転できます。
数値は flex のフラグやその反転と等価です。
.nf
7bit -7 オプション
8bit -8 オプション
align -Ca オプション
backup -b オプション
batch -B オプション
c++ -+ オプション
caseful または
case-sensitive -i オプションの逆(デフォルト)
case-insensitive または
caseless -i オプション
debug -d オプション
default -s オプションの逆
ecs -Ce オプション
fast -F オプション
full -f オプション
interactive -I オプション
lex-compat -l オプション
meta-ecs -Cm オプション
perf-report -p オプション
read -Cr オプション
stdout -t オプション
verbose -v オプション
warn -w オプションの逆
(-w オプションには "%option nowarn" を使用して下さい)
array "%array" と等価
pointer "%pointer" と等価(デフォルト)
.fi
.B %option
には、他では利用できない機能を提供するものもあります:
.TP
.B always-interactive
入力を常に "対話的" に扱うスキャナを生成するように flex に指示します。
通常、新たな入力ファイル毎にスキャナは
.B isatty()
を呼び出し、スキャナの入力元が対話的であり 1 度に 1 文字ずつ読むべきか
どうか判定しようとします。
一方このオプションを使用するとこの様な呼び出しは行いません。
.TP
.B main
スキャナに対し、
.B yylex()
を呼び出すだけのデフォルトの
.B main()
プログラムを提供するように指示します。
このオプションは
.B noyywrap
(後述)も暗黙的に指示します。
.TP
.B never-interactive
入力を "対話的" とはしないスキャナを生成するように flex に指示します
(これもまた
.B isatty()
を呼び出しません)。
これは
.B always-interactive
の逆です。
.TP
.B stack
開始条件スタックの使用を有効にします(前述の開始条件を参照)。
.TP
.B stdinit
設定されている場合 (すなわち
.B %option stdinit)
.I yyin
および
.I yyout
を、
デフォルトの
.I nil
ではなく、
.I 標準入力
.I 標準出力
に設定します。
既存の
.I lex
プログラムには、
ANSI C 互換ではないものの、この動作に依存しているものがあります。
ANSI C では
.I 標準入力
.I 標準出力
がコンパイル時の定数である必要はありません。
.TP
.B yylineno
入力から読み取った現在の行番号をグローバル変数
.B yylineno
に保持するスキャナを生成するように、
.I flex
に指示します。
このオプションは
.B %option lex-compat
から暗黙的に指定されます。
.TP
.B yywrap
セットされていない場合 (すなわち
.B %option noyywrap)
、スキャナはファイルの終りに際し
.B yywrap()
を呼ばず単にスキャンすべきファイルがもう無いものとするようになります(
ユーザが
.I yyin
を新しいファイルを指すようにし、再度
.B yylex()
を呼び出すまでです)。
.PP
.I flex
はルールアクションをスキャンし、
.B REJECT
.B yymore()
の機能が使われているかどうかを調べます。
.B reject
.B yymore
のオプションを使用すると、
オプションで指定した通りにこの判定に優先します。
オプションの指定は、セットして機能を使用していることを示す(例えば
.B %option reject)
、もしくはアンセットして機能を使用していないことを示す(例えば
.B %option noyymore)
ものとします。
.PP
次のオプションは文字列の値を取り、'=' で区切ります:
.nf
%option outfile="ABC"
.fi
これは
.B -oABC
と同じであり、
.nf
%option prefix="XYZ"
.fi
.B -PXYZ
と同じです。
最後に、
.nf
%option yyclass="foo"
.fi
は C++ スキャナ生成時のみ有効(
.B \-+
オプション)です。これは
.I flex
に対して、
.B foo
.B yyFlexLexer
のサブクラスであることを知らせますので、
.I flex
はアクションを
.B yyFlexLexer::yylex()
ではなく
.B foo::yylex()
のメンバ関数とします。
また、(
.B yyFlexLexer::LexerError()
を起動することにより)呼び出すと実行時エラーを除去する
.B yyFlexLexer::yylex()
メンバ関数を生成します。
詳細は後述の C++ スキャナの生成を見て下さい。
.PP
生成されたスキャナから不要なルーチンを除きたい lint 純正主義者のために
多くのオプションが用意されています。
以下をアンセットすると(例えば
.B %option nounput
)、対応するルーチンは生成されるスキャナから除かれます:
.nf
input, unput
yy_push_state, yy_pop_state, yy_top_state
yy_scan_buffer, yy_scan_bytes, yy_scan_string
.fi
(
.B yy_push_state()
等は
.B %option stack
を使用しない場合には現れません)。
.SH 性能関連
.I flex
の主なデザインゴールは高性能なスキャナを生成することです。
多くのルールセットを良く扱うことで最適化されます。
既に概説した
.B \-C
オプション使用によるテーブル圧縮に起因する速度への影響の他に、
性能を悪化させる多くのオプション/アクションがあります。
それらを高価なものから安価なものへと並べます:
.nf
REJECT
%option yylineno
自由長の右文脈(trailing context)
バックアップが必要なパターンの組
%array
%option interactive
%option always-interactive
'^' 行頭オペレータ
yymore()
.fi
最初の 3 つは非常に高価であり、最後の 2 つは非常に安価です。
.B unput()
は潜在的に非常に大きな仕事をするルーチン呼び出しとして実装されているのに対し、
.B yyless()
は非常に安価なマクロです;
ですからスキャンした余分なテキストを戻すだけの場合には
.B yyless()
を使って下さい。
.PP
性能が重要な場合には、出来うる限りの努力でもって
.B REJECT
を避けて下さい。
これは特に高価なオプションです。
.PP
バックアップを取り除くと、乱雑になり、
ひどく苦労して複雑なスキャナを作ることになります。
実際的には
.B \-b
フラグを指定して
.I lex.backup
ファイルを生成することから始めます。例えば、入力
.nf
%%
foo return TOK_KEYWORD;
foobar return TOK_KEYWORD;
.fi
に対しては、ファイルは次のようになります:
.nf
State #6 is non-accepting -
associated rule line numbers:
2 3
out-transitions: [ o ]
jam-transitions: EOF [ \\001-n p-\\177 ]
State #8 is non-accepting -
associated rule line numbers:
3
out-transitions: [ a ]
jam-transitions: EOF [ \\001-` b-\\177 ]
State #9 is non-accepting -
associated rule line numbers:
3
out-transitions: [ r ]
jam-transitions: EOF [ \\001-q s-\\177 ]
Compressed tables always back up.
.fi
最初の数行は、
-'o' に遷移できるが他の文字には遷移できない状態があり、
+\&'o' に遷移できるが他の文字には遷移できない状態があり、
その状態では現在スキャンされたテキストは他のルールにはマッチしないことを
表します。
この状態が発生したのは、
入力ファイルの行 2, 3 のルールにマッチしようとした時です。
スキャナがこの様な状態にあり 'o' 以外の文字を読んだ場合には、
マッチするルールを探すためのバックアップが必要となります。
少し考えれば、これは "fo" を見た時にある状態に違いないことが分かるでしょう。
この様な時、'o' 以外のものが現れると、
スキャナは、単に 'f' にマッチする(デフォルトルール)ところまで
戻り(バックアップし)ます。
.PP
状態 #8 に関係するコメントは、
"foob" がスキャンされた時に問題があることを表しています。
実際、'a' 以外の文字に出会うと、スキャナは "foo" を受理するところまで戻ります。
同様に状態 #9 に関係するコメントは、
"fooba" がスキャンされ 'r' が続かない場合に関係します。
.PP
最後のコメントが通知するのは、
.B \-Cf
.B \-CF
を使っているのでなければ
バックアップを取り除こうと努力することは無意味であることです。
なぜなら、圧縮されたスキャナに対してそのようなことをしても、
性能上の利益は無いからです。
.PP
バックアップを取り除くためには "エラー" ルールを追加します:
.nf
%%
foo return TOK_KEYWORD;
foobar return TOK_KEYWORD;
fooba |
foob |
fo {
/* false alarm, not really a keyword */
return TOK_ID;
}
.fi
.PP
キーワードのリストからバックアップを取り除くには、"全てを捕まえる"
ルールを使用することが出来ます:
.nf
%%
foo return TOK_KEYWORD;
foobar return TOK_KEYWORD;
[a-z]+ return TOK_ID;
.fi
通常、適切な時にはこれは一番良い解決策です。
.PP
バックアップメッセージはカスケードすることが多いです。
複雑なルールの組では、数百ものメッセージを得るのは普通のことです。
しかし、これを解析すれば、バックアップを除去するためには
大抵の場合数ダースのルールにだけ関係あることが分かるでしょう
(しかし、間違えることが多く、誤ったルールが偶然有効なトークンにマッチし得ます。
将来の
.I flex
の機能では、
自動的にバックアップを除去するルールを追加するようになるかも知れません)。
.PP
バックアップを除去することにより利益があるのは、
.I 全ての
バックアップを除去した時だけということを覚えておくことは重要です。
たった一つを残しても何も得ることが出来ません。
.PP
.I 可変長の
右文脈 (左部分と右部分のいずれかもしくは両方が可変長)は
.B REJECT
とほぼ同じだけの(すなわち相当の)性能劣化となります。
そのため次のようなルール:
.nf
%%
mouse|rat/(cat|dog) run();
.fi
は次のように書くか:
.nf
%%
mouse/cat|dog run();
rat/cat|dog run();
.fi
次のように書いた方が良いです:
.nf
%%
mouse|rat/cat run();
mouse|rat/dog run();
.fi
特別な '|' アクションは助けにはなり
.I ません
し、かえって状況を悪くします
(後述の欠陥/バグを参照)。
.LP
スキャナの性能を向上させるための余地(実現は最も容易)は、
マッチするトークンが長ければスキャナが高速になることにあります。
長いトークンではほとんどの入力処理は(短い)内部ループで処理され、
アクションのためにスキャナ環境を設定する追加の仕事(例えば
.B yytext)
をほとんどしないからです。
C コメントのスキャナを思い出しましょう:
.nf
%x comment
%%
int line_num = 1;
"/*" BEGIN(comment);
<comment>[^*\\n]*
<comment>"*"+[^*/\\n]*
<comment>\\n ++line_num;
<comment>"*"+"/" BEGIN(INITIAL);
.fi
次のように書くと高速になります:
.nf
%x comment
%%
int line_num = 1;
"/*" BEGIN(comment);
<comment>[^*\\n]*
<comment>[^*\\n]*\\n ++line_num;
<comment>"*"+[^*/\\n]*
<comment>"*"+[^*/\\n]*\\n ++line_num;
<comment>"*"+"/" BEGIN(INITIAL);
.fi
今度は、改行毎に別のアクションの処理を行うのではなく、
改行認識はルール間で "分散" され、
可能な限り長いテキストにマッチするようになっています。
ルールの
.I 追加
はスキャナを遅く
.I しません!
スキャナの速度は、ルール数とも、
オペレータ '*' や '|' といったものに基づくルールの複雑さ
(この節の始めで扱いました)とも独立です。
.\" 括弧内自信無しです
.\" Apr 29 1997, horikawa@jp.freebsd.org
.PP
最後の高速化の例です:
1 行に 1 つずつであり別の文字は付かないような、
識別子とキーワードを全てファイルからスキャンすることを考えます。
最初は次のようになるでしょう:
.nf
%%
asm |
auto |
break |
... etc ...
volatile |
while /* it's a keyword */
.|\\n /* it's not a keyword */
.fi
後戻りを避けるために全てを捕まえるルールを導入します:
.nf
%%
asm |
auto |
break |
... etc ...
volatile |
while /* it's a keyword */
[a-z]+ |
.|\\n /* it's not a keyword */
.fi
1 行に正確に 1 語だけあることが保証されている場合、
改行の認識を別のトークンと併せることで、
マッチの総数を半分に減らすことが出来ます:
.nf
%%
asm\\n |
auto\\n |
break\\n |
... etc ...
volatile\\n |
while\\n /* it's a keyword */
[a-z]+\\n |
.|\\n /* it's not a keyword */
.fi
ここで、再度バックアップをスキャナに組み込んだことに
気を付けなければなりません。
実際
.I 我々は
入力ストリームはレターと改行だけであることを知っていますが、
.I flex
はこれが分からないため、
トークン "auto" などをスキャンした次の文字が改行でもレターでもない場合には
バックアップが必要であると考えます。
以前は "auto" ルールに適合しそれで終りでしたが、
今は "auto" ルールは無く、"auto\\n" ルールだけがあります。
バックアップの可能性を除去するためには、
最後の改行以外のルールを二重化するか、
そのような入力に出くわさないので分類は不要と分かっているため、
改行を導入しないもう一つの全てを捕まえるルールを導入することが出来ます:
.nf
%%
asm\\n |
auto\\n |
break\\n |
... etc ...
volatile\\n |
while\\n /* it's a keyword */
[a-z]+\\n |
[a-z]+ |
.|\\n /* it's not a keyword */
.fi
.B \-Cf
を付けてコンパイルすると、実際問題上
.I flex
で得られるほぼ最速になります。
.PP
最後の注意事項:
.I flex
は NUL にマッチする時には遅く、トークンが複数の NUL を含む時には特に遅いです。
テキストがしばしば NUL を含むものと予想される場合には、テキストの
.I 短い
部分とマッチするようにルールを書くべきです。
.PP
もう一つの性能に関する最終注意事項:
入力のマッチ方法の節で既に示したように、
大きなトークンを納めるために
.B yytext
のサイズを動的に変更すると処理が遅くなります。
なぜなら、(巨大な)トークンを再度先頭からスキャンしなおさねばならないからです。
性能が重要な場合、
テキストの "大きな" 部分にマッチさせるべきですが "巨大な" 部分にマッチさせる
べきではありません。
両者の堺目は 8K 文字/トークンです。
.SH C++ スキャナの生成
.I flex
は 2 通りの C++ スキャナ生成方法を提供します。
最初の方法は
.I flex
が生成したスキャナを単に C コンパイラではなく C++ コンパイラで
コンパイルするというものです。
この場合コンパイルエラーには出会わないはずです
(見付けた場合には作者の節で後述する電子メールアドレスに報告して下さい)。
この場合ルールにおいて C コードではなく C++ コードを書くことが出来ます。
スキャナのデフォルトの入力元は
.I yyin
のままであり、
デフォルトのエコー先は
.I yyout
のままであることに注意して下さい。
どちらも
.I FILE *
変数のままであり、C++
.I streams
ではないです。
.PP
.I flex
に C++ スキャナクラスを生成させることも出来ます。
.B \-+
オプションを指定する(もしくは等価的に
.B %option c++
を使う)とこのように実行され、
flex の実行形式名が '+' で終っている場合には自動的に指定されます。
このオプションを指定すると flex が生成するスキャナのデフォルトはファイル
.B lex.yy.cc
となり
.B lex.yy.c
ではありません。
生成されたスキャナは
2 つの C++ クラスとのインタフェースを定義するヘッダファイル
-.I FlexLexer.h
+.I g++/FlexLexer.h
をインクルードします。
.PP
最初のクラス
.B FlexLexer
は一般的なスキャナクラスを定義する抽象基盤クラスを提供します。
以下のメンバ関数を提供します:
.TP
.B const char* YYText()
最後にマッチしたテキストを返します。
.B yytext
と等価です。
.TP
.B int YYLeng()
最後にマッチしたトークンの長さを返します。
.B yyleng
と等価です。
.TP
.B int lineno() const
現在の入力の行番号(
.B %option yylineno
参照)もしくは
.B %option yylineno
を使用していない場合には
.B 1
を返します。
.TP
.B void set_debug( int flag )
スキャナのデバッグフラグをセットします。
.B yy_flex_debug
に代入するのと同じです(オプションの節で前述)。
スキャナ構築時に
.B %option debug
を使用してデバッグ情報を組み込む必要があることに注意して下さい。
.TP
.B int debug() const
現在のデバッグフラグの設定を返します。
.PP
また次のものと等価なメンバ関数も提供されます
.B yy_switch_to_buffer(),
.B yy_create_buffer()
(最初の引数は
.B istream*
オブジェクトポインタであり
.B FILE*
ではありません),
.B yy_flush_buffer(),
.B yy_delete_buffer(),
.B yyrestart()
(これもまた最初の引数は
.B istream*
オブジェクトポインタです)。
.PP
2 番目のクラスは
.I FlexLexer.h
で定義される
.B yyFlexLexer
であり、
.B FlexLexer
から導出したものです。
以下の追加のメンバ関数を定義します:
.TP
.B
yyFlexLexer( istream* arg_yyin = 0, ostream* arg_yyout = 0 )
与えられた入出力ストリームを使う
.B yyFlexLexer
オブジェクトを構築します。
指定しない場合にはそれぞれストリームのデフォルト
.B cin
.B cout
になります。
.TP
.B virtual int yylex()
これは
.B yylex()
が通常の flex スキャナに対して行ったのと同様の役割を担います:
ルールのアクションが値を返すまで、
入力ストリームをスキャンし、トークンを消費します。
.B yyFlexLexer
からサブクラス
.B S
を導出し
.B yylex()
から
.B S
のメンバ関数および変数をアクセスしたい場合、
.B %option yyclass="S"
を指定して
.B yyFlexLexer
ではなくサブクラスを使用することを
.I flex
に知らせる必要があります。
この場合
.B yyFlexLexer::yylex()
を生成するのではなく、
.I flex
.B S::yylex()
(および呼び出されたなら
.B yyFlexLexer::LexerError()
を呼び出すダミーの
.B yyFlexLexer::yylex()
も)を生成します。
.TP
.B
virtual void switch_streams(istream* new_in = 0,
.B
ostream* new_out = 0)
.B yyin
.B new_in
(非ニルの場合)
に再割当し、
.B yyout
.B new_out
(同様)に再割当します。
.B yyin
が再割当された場合には以前の入力バッファは消去されます。
.TP
.B
int yylex( istream* new_in, ostream* new_out = 0 )
まず入力ストリームを
.B switch_streams( new_in, new_out )
を使用して切替え、
.B yylex()
の値を返します。
.PP
さらに、
.B yyFlexLexer
は次のプロテクトされた仮想関数を定義します。
スキャナにあわせてこれらを導出クラスにおいて再定義出来ます:
.TP
.B
virtual int LexerInput( char* buf, int max_size )
最大
.B max_size
文字を
.B buf
に読み込み、読めた文字数を返します。
入力の終りを示すには 0 文字を返します。"対話的" スキャナ(
.B \-B
.B \-I
フラグを参照)はマクロ
.B YY_INTERACTIVE
を定義することに注意して下さい。
.B LexerInput()
を再定義し、
対話的な入力元をスキャンする可能性があるかどうかに依存して
異なるアクションが必要となる場合、
この名前が存在するかどうかのテストは
.B #ifdef
にて可能です。
.TP
.B
virtual void LexerOutput( const char* buf, int size )
.B size
文字をバッファ
.B buf
から書き出します。
スキャナのルールが NUL を含むテキストにマッチ可能な場合、
NUL 終端されているこのバッファは "内部に" NUL を含んでいても構いません。
.TP
.B
virtual void LexerError( const char* msg )
致命的なエラーメッセージを報告します。
デフォルトのこの関数はメッセージをストリーム
.B cerr
に書き、終了します。
.PP
.B yyFlexLexer
オブジェクトは
.I 全ての
スキャン時の状態を含むことに注意して下さい。
それゆえこの様なオブジェクトをリエントラントなスキャナとして使用できます。
同一の
.B yyFlexLexer
クラスの複数のインスタンスを具体化可能であり、
複数の C++ スキャナクラスを組み合わせ上記
.B \-P
オプションを使用することで同一のプログラムで使用可能です。
.PP
最後に
.B %array
機能は C++ スキャナクラスでは使用できないことに注意して下さい;
.B %pointer
を使用しなければなりません(デフォルト)。
.PP
単純な C++ スキャナの例を以下に示します:
.nf
// An example of using the flex C++ scanner class.
%{
int mylineno = 0;
%}
string \\"[^\\n"]+\\"
ws [ \\t]+
alpha [A-Za-z]
dig [0-9]
name ({alpha}|{dig}|\\$)({alpha}|{dig}|[_.\\-/$])*
num1 [-+]?{dig}+\\.?([eE][-+]?{dig}+)?
num2 [-+]?{dig}*\\.{dig}+([eE][-+]?{dig}+)?
number {num1}|{num2}
%%
{ws} /* skip blanks and tabs */
"/*" {
int c;
while((c = yyinput()) != 0)
{
if(c == '\\n')
++mylineno;
else if(c == '*')
{
if((c = yyinput()) == '/')
break;
else
unput(c);
}
}
}
{number} cout << "number " << YYText() << '\\n';
\\n mylineno++;
{name} cout << "name " << YYText() << '\\n';
{string} cout << "string " << YYText() << '\\n';
%%
int main( int /* argc */, char** /* argv */ )
{
FlexLexer* lexer = new yyFlexLexer;
while(lexer->yylex() != 0)
;
return 0;
}
.fi
複数の(異なった)字句解析クラスを生成したい場合、
.B \-P
フラグ (もしくは
.B prefix=
オプション) を使用して各
.B yyFlexLexer
.B xxFlexLexer
等の別の名前にします。
次に字句解析クラスのソースごとに
.B <FlexLexer.h>
をインクルードします。
以下のように
.B yyFlexLexer
をリネームします:
.nf
#undef yyFlexLexer
#define yyFlexLexer xxFlexLexer
#include <FlexLexer.h>
#undef yyFlexLexer
#define yyFlexLexer zzFlexLexer
#include <FlexLexer.h>
.fi
これはあるスキャナに対し
.B %option prefix="xx"
を使用しもう一方に対し
.B %option prefix="zz"
を使用した場合です。
.PP
重要: 現在のスキャンクラスの形式は
.I 実験的
であり、メジャーリリースが変わると大きく変更される可能性があります。
.SH LEX および POSIX との非互換性
.I flex
は AT&T Unix の
.I lex
ツールのリライトですが(2 つの実装はいかなるコードも共有しません)、
いくばくかの拡張と非互換性を持っており、
どちらの実装でも受理可能なスキャナを書きたい方は
これを意識しなければなりません。
flex は POSIX
.I lex
仕様に完全合致しますが、例外は
.B %pointer
(デフォルト)使用と
.B unput()
呼び出しにより
.B yytext
の内容を破壊することであり、これは POSIX 仕様に反します。
.PP
この節では、
flex と AT&T lex と POSIX 仕様との間の全ての既知の非互換性を扱います。
.PP
.I flex
.B \-l
オプションはオリジナルの AT&T
.I lex
実装との最大の互換性を有効にしますが、
生成されたスキャナの性能は大きく低下します。
.B \-l
オプションを使用しても発生しうる非互換性は後で述べます。
.PP
.I flex
は以下の例外を除き
.I lex
と完全互換です:
.IP -
ドキュメントに記載されていない
.I lex
スキャナ内部の変数
.B yylineno
.B \-l
もしくは
.B %option yylineno
を使用しないとサポートされません。
.IP
.B yylineno
はスキャナ毎(単一のグローバル変数)ではなく、バッファ毎に管理されるべきです。
.IP
.B yylineno
は POSIX 仕様ではありません。
.IP -
.B input()
ルーチンは再定義できませんが、
ルールにマッチしたものに後続する文字を読むために呼ばれえます。
.B input()
がファイルの終りに到達すると、通常の
.B yywrap()
処理は終了します。``実際の'' ファイルの終りは
.I EOF
として返されます。
.IP
実際には入力は
.B YY_INPUT
マクロを定義することにより制御されます。
.IP
.B input()
を再定義できないという
.I flex
の制限は、最初に
.I yyin
を設定する以外のスキャナ入力制御方法を単に規定していないという、
POSIX 仕様と合致します。
.IP -
.B unput()
ルーチンは再定義できません。この制限は POSIX に合致しています。
.IP -
.I flex
スキャナは
.I lex
スキャナとは異なりリエントラントではありません。
実際、対話的なスキャナにおいて、
割り込みハンドラにてロングジャンプを用いてスキャナから脱出し、
その後スキャナを再度呼び出す場合、以下のメッセージを得るでしょう:
.nf
fatal flex scanner internal error--end of buffer missed
.fi
スキャナに再度入るためには、まず以下のようにして下さい
.nf
yyrestart( yyin );
.fi
この呼び出しにより入力バッファは捨てられることに注意して下さい;
通常これは対話的スキャナでは問題ではありません。
.IP
また、C++ スキャナクラスはリエントラント
.I です
ので、C++ を使用できるのなら、C++ を使用すべきです。
前述の "C++ スキャナの生成" を参照して下さい。
.IP -
.B output()
はサポートされていません。
.B ECHO
マクロからの出力はファイルポインタ
.I yyout
(デフォルトでは
.I 標準出力
)に対して行われます。
.IP
.B output()
は POSIX 仕様にはありません。
.IP -
.I lex
は排他的開始条件 (%x) をサポートしませんが、これは POSIX 仕様にあります。
.IP -
定義を展開する時、
.I flex
では括弧で括ります。
lex では以下は:
.nf
NAME [A-Z][A-Z0-9]*
%%
foo{NAME}? printf( "Found it\\n" );
%%
.fi
文字列 "foo" にはマッチしません。
なぜなら展開されたマクロはルール "foo[A-Z][A-Z0-9]*?" と等価になり、
優先度にて `?' は "[A-Z0-9]*" と結び付きます。
.I flex
ではルールが展開されると "foo([A-Z][A-Z0-9]*)?" となり、
文字列 "foo" がマッチします。
.IP
.B ^
で始まるか
.B $
で終る定義は、展開時に括弧で括らず、
これらのオペレータが定義において特別な意味を失わないようにすることに
注意して下さい。
しかし
.B <s>, /,
.B <<EOF>>
オペレータは
.I flex
の定義では使用できません。
.IP
.B \-l
を使用すると、
.I lex
の振舞いと同じく定義を括弧で括りません。
.IP
POSIX 仕様では、定義を括弧で括ります。
.IP -
.I lex
の実装によっては、
ルールのパターンの右側に空白がある場合、
ルールのアクションを別の行から始めることを許します:
.nf
%%
foo|bar<space here>
{ foobar_action(); }
.fi
.I flex
はこの機能をサポートしません。
.IP -
.I lex
.B %r
(Ratfor スキャナの生成)オプションはサポートされていません。
これは POSIX 仕様には含まれません。
.IP -
スキャナを
.B %array
を使用して構築したのではない限り、
.B unput()
呼び出し後には、次のトークンにマッチするまで
.I yytext
は未定義です。
これは
.I lex
にも POSIX 仕様にも当てはまりません。
.B \-l
オプションを指定するとこの非互換性を取り除きます。
.IP -
.B {}
(数値範囲)オペレータの優先度が異なります。
.I lex
は "abc{1,3}" を "1 度か 2 度か 3 度の 'abc' にマッチ" と解釈しますが、
.I flex
は "'ab' に 1 度か 2 度か 3 度の 'c' が続くものにマッチ" と解釈します。
後者が POSIX 仕様に合致します。
.IP -
.B ^
オペレータの優先度が異なります。
.I lex
は "^foo|bar" を "行頭の 'foo' か任意位置の 'bar' にマッチ" と解釈しますが、
.I flex
は "行頭の 'foo' か 'bar' にマッチ" と解釈します。
後者が POSIX 仕様に合致します。
.IP -
.I lex
でサポートされている
.B %a
等の特別なテーブルサイズの宣言は
.I flex
スキャナでは不要です;
.I flex
はこれらを無視します。
.IP -
.I flex
.I lex
のどちらでもスキャナを使用可能に書けるように、
.bd
FLEX_SCANNER
という名前を定義します。
スキャナを生成した
.I flex
のバージョンを表す
.B YY_FLEX_MAJOR_VERSION
.B YY_FLEX_MINOR_VERSION
を、スキャナは含みます
(例えば 2.5 リリースではこれらはそれぞれ 2 と 5 になります)。
.PP
以下の
.I flex
の機能は
.I lex
および POSIX 仕様には含まれません:
.nf
C++ スキャナ
%option
開始条件スコープ
開始条件スタック
対話的/非対話的スキャナ
yy_scan_string() 等
yyterminate()
yy_set_interactive()
yy_set_bol()
YY_AT_BOL()
<<EOF>>
<*>
YY_DECL
YY_START
YY_USER_ACTION
YY_USER_INIT
#line ディレクティブ
アクションの周りの %{}
単一行における複数のアクション
.fi
さらにほぼ全ての flex フラグです。
リストの最後の機能の意味は、
.I flex
では複数のアクションをセミコロンで区切って同一行に記述可能ですが、
.I lex
では次の
.nf
foo handle_foo(); ++num_foos_seen;
.fi
は (驚くべきことに) 次のように切り詰められるということです。
.nf
foo handle_foo();
.fi
.I flex
はアクションを切り詰めません。
ブレースで括られないアクションは単純に行末で終了します。
.SH 診断
.PP
.I warning, rule cannot be matched
常に同じテキストにマッチするルールが前にあるので、
与えられたルールがマッチしません。
例えば以下の "foo" は "全てを捕まえる" ルールの後ろにありますので
決してマッチしません:
.nf
[a-z]+ got_identifier();
foo got_foo();
.fi
スキャナ中で
.B REJECT
を使用するとこの警告を抑制します。
.PP
.I warning,
.B \-s
.I
option given but default rule can be matched
(おそらくある特定の開始条件のもとでは)
デフォルトルール (任意の一文字にマッチする) しか特定の入力に
対してはマッチしないことがあります。
.B \-s
を指定しているので、おそらくそうなりません。
.PP
.I reject_used_but_not_detected undefined
あるいは
.I yymore_used_but_not_detected undefined -
これらのエラーは コンパイル時に起きます。スキャナが
.B REJECT
もしくは
.B yymore()
を使っていますが
.I flex
がそのことに気づかなかったということです。
つまり、
.I flex
は最初の 2 つの部分を探しても
これらのアクションの出現を見つけられなかったのですが、
実際には何らかの方法
(例えば #include ファイルを介して)でこれらが記述されていた、ということです。
.B %option reject
.B %option yymore
を使用して、flex にこれらの機能を実際に使用していることを教えて下さい。
.PP
.I flex scanner jammed -
.B \-s
でコンパイルされたスキャナが、どのルールにもマッチしない
入力文字列に遭遇しました。
内部的な問題に起因してこのエラーが起こることもあります。
.PP
.I token too large, exceeds YYLMAX -
スキャナが
.B %array
を使っている場合に、あるルールが定数
.B YYLMAX
(デフォルトで 8K バイト) より大きな文字列とマッチしました。
.I flex
の入力ファイルの定義部で
.B YYLMAX
を #define することで値を大きくできます。
.PP
.I scanner requires \-8 flag to
.I use the character 'x' -
スキャナの記述に 8 ビットの文字
.I 'x'
を識別する部分があり、
.B \-Cf
もしくは
.B \-CF
のテーブル圧縮オプションのためにデフォルトの 7 ビットになっている
にもかかわらず、
\-8 オプションをつけていないということです。
詳細は
.B \-7
フラグのオプションの議論を参照して下さい。
.PP
.I flex scanner push-back overflow -
.B unput()
でテキストを戻しすぎたため、スキャナのバッファは
戻したテキストと現トークンを
.B yytext
に保てません。
この場合、理想的にはスキャナが動的にバッファの大きさを変えるべきですが、
現在のところそうなってはいません。
.PP
.I
input buffer overflow, can't enlarge buffer because scanner uses REJECT -
スキャナは非常に大きなトークンのマッチを調べていて、入力バッファを
拡張する必要が起きました。しかしながら、バッファの拡張は
.B
REJECT
を使うスキャナでは働きません。
.PP
.I
fatal flex scanner internal error--end of buffer missed -
スキャナが使用しているフレームから(を越えて)ロングジャンプした後、
再度スキャナに入った場合に起こります。
再度スキャナに入る前に:
.nf
yyrestart( yyin );
.fi
を使うか、前述のように C++ スキャナクラスを使用するようにして下さい。
.PP
.I too many start conditions in <> construct! -
存在するより多くの開始条件を <> 中に記載しました
(少なくとも一つを二度記載しました)。
.SH 関連ファイル
.TP
.B \-ll
スキャナがリンクしなければならないライブラリ。
.TP
.I lex.yy.c
生成されたスキャナ(システムによっては
.I lexyy.c
という名前になります)。
.TP
.I lex.yy.cc
.B -+
を使った時に作成された C++ スキャナクラス。
.TP
.I <FlexLexer.h>
C++ スキャナベースクラス
.B FlexLexer
とその導出クラス
.B yyFlexLexer
を定義するヘッダファイル。
.TP
.I flex.skl
スケルトンスキャナ。
このファイルは flex の実行時ではなく、flex を構築する時のみ利用されます。
.TP
.I lex.backup
.B \-b
フラグ用のバックアップ情報(システムによっては
.I lex.bck
という名前になります)。
.SH 欠陥 / バグ
.PP
右文脈(trailing context)パターンの中には、正しくマッチせず
警告メッセージ ("dangerous trailing context") を出すものがあります。
これらのパターンは、
ルールの最初の部分が 2番目の頭の部分とマッチするようなものです。
例えば "zx*/xy*" の場合、'x*' は右文脈の頭の 'x' とマッチします。
(POSIX ドラフトではそのようなパターンにマッチするテキストは
未定義であると述べていることに注意して下さい。)
.PP
右文脈の中には、実際には固定長であるのにそうとは解釈されないものがあり、
上に述べた性能の低下が起こります。
特に、 '|' や {n} (例えば "foo{3}") は常に可変長であると解釈されます。
.PP
右文脈と特別なアクション '|' を組み合わせると
.I 固定の
右文脈がよりコストのかかる
.I 可変の
右文脈となります。例えば、次のようなものです:
.nf
%%
abc |
xyz/def
.fi
.PP
.B %array
もしくは
.B \-l
オプションを指定しない場合、
.B unput()
を使うと yytext と yyleng を破壊します。
.PP
NUL のパターンマッチングは他の文字の比較よりかなり遅くなっています。
.PP
入力バッファの動的な大きさの再調整は時間がかかります。これは現トークン
(一般に巨大)までのマッチした全テキストの再スキャンを伴うためです。
.PP
入力のバッファリングと先読みのため、 <stdio.h> ルーチンと
混合して使うことが出来ません。例えば、
.B getchar()
.I flex
のルールはうまく行きません。代わりに
.B input()
を使って下さい。
.PP
.B \-v
オプションで表示される全テーブルエントリには、
どのルールがマッチしたのかを決定するのに必要なテーブルエントリ数が
含まれていません。エントリの数はスキャナが
.B REJECT
を使っていないときには DFA 状態数に等しく、
使っているときには DFA 状態数よりいくらか大きくなります。
.PP
.B REJECT
がオプション
.B \-f
もしくは
.B \-F
とともに使えません。
.PP
.I flex
の内部アルゴリズムについてのドキュメントが必要です。
.SH 関連項目
.PP
lex(1), yacc(1), sed(1), awk(1).
.PP
John Levine, Tony Mason, and Doug Brown,
.I Lex & Yacc,
O'Reilly and Associates.
第 2 版を入手すること。
.PP
M. E. Lesk and E. Schmidt,
.I LEX \- Lexical Analyzer Generator
.PP
Alfred Aho, Ravi Sethi and Jeffrey Ullman,
.I Compilers: Principles, Techniques and Tools,
Addison-Wesley (1986).
.I flex
で使用しているパターンマッチング技法を解説している(決定性オートマトン)。
.SH 作者
Vern Paxson が多くのアイディアとインスピレーションを得る助けを
Van Jacobson から受けました。
オリジナルバージョンは Jef Poskanzer が作成しました。
高速テーブル表現は Van Jacobson のデザインの部分実装です。
この実装は Kevin Gong と Vern Paxson が行いました。
.PP
多くの
.I flex
ベータテスタ、フィードバッカ、コントリビュータ、特に Francois Pinard,
Casey Leedom,
Robert Abramovitz,
Stan Adermann, Terry Allen, David Barker-Plummer, John Basrai,
Neal Becker, Nelson H.F. Beebe, benson@odi.com,
Karl Berry, Peter A. Bigot, Simon Blanchard,
Keith Bostic, Frederic Brehm, Ian Brockbank, Kin Cho, Nick Christopher,
Brian Clapper, J.T. Conklin,
Jason Coughlin, Bill Cox, Nick Cropper, Dave Curtis, Scott David
Daniels, Chris G. Demetriou, Theo Deraadt,
Mike Donahue, Chuck Doucette, Tom Epperly, Leo Eskin,
Chris Faylor, Chris Flatters, Jon Forrest, Jeffrey Friedl,
Joe Gayda, Kaveh R. Ghazi, Wolfgang Glunz,
Eric Goldman, Christopher M. Gould, Ulrich Grepel, Peer Griebel,
Jan Hajic, Charles Hemphill, NORO Hideo,
Jarkko Hietaniemi, Scott Hofmann,
Jeff Honig, Dana Hudes, Eric Hughes, John Interrante,
Ceriel Jacobs, Michal Jaegermann, Sakari Jalovaara, Jeffrey R. Jones,
Henry Juengst, Klaus Kaempf, Jonathan I. Kamens, Terrence O Kane,
Amir Katz, ken@ken.hilco.com, Kevin B. Kenny,
Steve Kirsch, Winfried Koenig, Marq Kole, Ronald Lamprecht,
Greg Lee, Rohan Lenard, Craig Leres, John Levine, Steve Liddle,
David Loffredo, Mike Long,
Mohamed el Lozy, Brian Madsen, Malte, Joe Marshall,
Bengt Martensson, Chris Metcalf,
Luke Mewburn, Jim Meyering, R. Alexander Milowski, Erik Naggum,
G.T. Nicol, Landon Noll, James Nordby, Marc Nozell,
Richard Ohnemus, Karsten Pahnke,
Sven Panne, Roland Pesch, Walter Pelissero, Gaumond
Pierre, Esmond Pitt, Jef Poskanzer, Joe Rahmeh, Jarmo Raiha,
Frederic Raimbault, Pat Rankin, Rick Richardson,
Kevin Rodgers, Kai Uwe Rommel, Jim Roskind, Alberto Santini,
Andreas Scherer, Darrell Schiebel, Raf Schietekat,
Doug Schmidt, Philippe Schnoebelen, Andreas Schwab,
Larry Schwimmer, Alex Siegel, Eckehard Stolz, Jan-Erik Strvmquist,
Mike Stump, Paul Stuart, Dave Tallman, Ian Lance Taylor,
Chris Thewalt, Richard M. Timoney, Jodi Tsai,
Paul Tuinenga, Gary Weik, Frank Whaley, Gerhard Wilhelms, Kent Williams, Ken
Yap, Ron Zellar, Nathan Zelle, David Zuhn,
および私の最低のメールアーカイブ能力から滑り落ちた方々、
それらの方々の協力にも同様に感謝します。
.PP
Keith Bostic, Jon Forrest, Noah Friedman,
John Gilmore, Craig Leres, John Levine, Bob Mulcahy, G.T.
Nicol, Francois Pinard, Rich Salz, Richard Stallman
には多くの悩みの分散に関して感謝します。
.PP
Esmond Pitt と Earle Horton には 8 ビット文字サポートに関して;
Benson Margulies と Fred Burke には C++ サポートに関して;
Kent Williams と Tom Epperly には C++ クラスサポートに関して;
Ove Ewerlid には NUL のサポートに関して;
Eric Hughes には複数バッファのサポートに関して、それぞれ感謝します。
.PP
この作品は当初、私が CA Berkeley の Lawrence Berkeley Laboratory
における Real Time Systems Group にいた時に作成されました。
私に協力してくれた方々に感謝します。
.PP
コメントは vern@ee.lbl.gov に送って下さい。
diff --git a/ja_JP.eucJP/man/man1/limits.1 b/ja_JP.eucJP/man/man1/limits.1
index b10adfb172..3ed5796de2 100644
--- a/ja_JP.eucJP/man/man1/limits.1
+++ b/ja_JP.eucJP/man/man1/limits.1
@@ -1,297 +1,297 @@
.\" Copyright (c) 1996 David Nugent <davidn@blaze.net.au>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, is permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice immediately at the beginning of the file, without modification,
.\" this list of conditions, and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. This work was done expressly for inclusion into FreeBSD. Other use
.\" is permitted provided this notation is included.
.\" 4. Absolutely no warranty of function or purpose is made by the author
.\" David Nugent.
.\" 5. Modifications may be freely made to this file providing the above
.\" conditions are met.
.\"
-.\" %Id: limits.1,v 1.2.2.6 1998/07/17 04:18:48 jkh Exp %
+.\" %Id: limits.1,v 1.8 1998/06/04 21:05:58 steve Exp %
.\" jpman %Id: limits.1,v 1.3 1997/06/23 15:04:52 horikawa Stab %
.\"
.Dd January 15, 1996
.Dt LIMITS 1
.Os FreeBSD
.Sh 名称
.Nm limits
.Nd リソースの制限値の設定および表示
.Sh 書式
.Nm limits
.Op Fl C Ar class
.Op Fl SHB
.Op Fl ea
.Op Fl cdflmnstu Op val
.Nm limits
.Op Fl C Ar class
.Op Fl SHB
.Op Fl cdflmnstu Op val
.Op Fl E
.Op Ar name=value ...
.Op Ar command
.Nm limits
.Op Fl U Ar user
.Op Fl SHB
.Op Fl ea
.Op Fl cdflmnstu Op val
.Nm limits
.Op Fl U Ar user
.Op Fl SHB
.Op Fl cdflmnstu Op val
.Op Fl E
.Op Ar name=value ...
.Op Ar command
.Sh 解説
.Nm limits
はカーネルのリソース制限の表示および設定を行ないます。また、
.Xr env 1
のように環境変数を設定して、プログラムを選択したリソースで動作させるこ
ともできます。
.Nm limits
コマンドは以下の 3 通りの使い方ができます:
.Pp
.Bl -hang -width indent
.It Nm limits Op Ar limitflags
.Op Ar name=value
.Ar command
.Pp
この使い方では
.Ar limitflags
にしたがって制限をセットし、オプションで
.Ar name=value
のペアで与えられた環境変数をセットし、指定されたコマンドを実行します。
.It Nm limits Op Ar limitflags
.Pp
この使い方ではリソースの設定の値は実際には設定せずに、設定値を
.Ar limitflags
にしたがって決定し、標準出力に出力します。
デフォルトでは、呼び出しプロセスにおいて有効な
現在のカーネルのリソースの設定値を出力します。
.Fl C Ar class
.Fl U Ar user
フラグを使って、ログイン能力データベース
.Xr login.conf 5
で設定されている、ログインクラスのリソース制限エントリによって変更され
る現在のリソース設定を表示することもできます。
.It Nm limits Fl e Op Ar limitflags
.Pp
この使い方では
.Ar limitflags
にしたがってリソースの設定値を決定しますが、実際には設定は行ないません。
前の使い方のように、これらの設定値を標準出力しますが、
シェルをコールするのに都合の良いように
.Em eval
の形式で出力します。
コールされるシェルは、親プロセスの
.Pa /proc
ファイルシステム中のエントリを調べて決定されます。
もし、シェルが判明すると (すなわち sh, csh, bash, tcsh, ksh, pdksh, rc
のいずれか)、
.Nm limits
は 'limit' もしくは 'ulimit' コマンドをそのシェルが解釈できるフォーマットで
出力します。シェル名が決定できなかった場合は、
.Pa /bin/sh
によって使われる 'ulimit' 形式で出力します。
.Pp
これはスクリプトで制限を設定したり、
デーモンや他のバックグランドタスクを
リソースを制限して起動したりする場合に非常に便利な機能です。
また、ログインクラスデータベースを設定し中央データベースを保守することにより、
最大使用リソースをグローバルに設定することができるという利点があります。
.Pp
.Nm limits
は通常
シェルスクリプト中では次のようにバッククォーテーションに囲み評価するよ
うにして使われます。
.Pp
.Dl eval `limits -e -C daemon`
.Pp
これで
.Nm limits
の出力が評価され、現在のシェルで設定されます。
.El
.Pp
上記の中で指定された limitflags の値には以下のオプションのうちの
1 つ以上のものが含まれます:
.Pp
.Bl -tag -width "-d [limit]"
.It Fl C Ar class
現在のリソースの値をもとに、ログインクラス "class" で適用される
リソースエントリによって変更したものを使います。
.It Fl U Ar user
現在のリソースの値をもとに、"user" が属するログインクラスに適用される
リソースエントリによって変更したものを使います。
user がどのクラスにも属していない場合、"default" クラスが存在すればそ
のリソース能力が使用され、もしそのユーザがスーパユーザアカウントであれ
ば、"root" クラスが使用されます。
.It Fl S
リソースの "soft" (もしくは現在の) 制限を表示もしくは設定します。
このスイッチに続いて指定される制限の設定は、
.Fl H
.Fl B
フラグでオーバライドしない限り、soft リミットに対する設定となります。
.It Fl H
リソースの "hard" (もしくは最大の) 制限を表示もしくは設定します。
このスイッチに続いて指定される制限の設定は、
.Fl S
.Fl B
フラグでオーバライドしない限り、hard リミットに対する設定となります。
.It Fl B
リソースの "soft" (現在の) および "hard" (最大の) 制限を表示もしくは設
定します。
このスイッチに続いて指定される制限の設定は、
.Fl S
.Fl H
フラグでオーバライドしない限り、soft リミットおよび hard リミットの
両者に対する設定となります。
.It Fl e
出力を "eval mode" (評価モード) の書式にします。
これは表示モードでのみ有効であり、コマンドを実行するときには使えません。
出力に使用される正確なシンタックスは
.Nm limits
が起動されたシェルのタイプに依存します。
.It Fl c Op Ar limit
.Em coredumsize
のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。
値に 0 を指定するとコアダンプしないようになります。
.It Fl d Op Ar limit
.Em datasize
のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。
.It Fl f Op Ar limit
.Em filesize
のリソースの制限を選択もしくは設定します。
.It Fl l Op Ar limit
.Em memorylocked
のリソースの制限を選択もしくは設定します。
.It Fl m Op Ar limit
.Em memoryuse
のサイズの制限を選択もしくは設定します。
.It Fl n Op Ar limit
.Em openfiles
のリソースの制限を選択もしくは設定します。
.It Fl s Op Ar limit
.Em stacksize
のリソースの制限を選択もしくは設定します。
.It Fl t Op Ar limit
.Em cputime
のリソースの制限を選択もしくは設定します。
.It Fl u Op Ar limit
.Em maxproc
のリソースの制限を選択もしくは設定します。
.Pp
上記のフラグのセットにおける有効な 'limit' の値は、無限値 (もしくは
カーネルにおいて定義されている最大値) を設定する場合は文字列 'infinity'
もしくは 'inf' を指定し、それ以外の場合は接尾子つきの数字を指定しま
す。サイズに関する値はデフォルトではバイトでの値となります。また以下の
接尾子の 1 つを付けることによってその単位となります。
.Pp
.Bl -tag -offset indent -width "xxxx" -compact
.It b
512 バイトブロック。
.It k
キロバイト (1024 バイト)。
.It m
メガバイト (1024*1024 バイト)。
.It g
ギガバイト。
.It t
テラバイト。
.El
.Pp
.Em cputime
リソースについてはデフォルトでは秒による値となります。
また以下の接尾子を付加することにより、それぞれの単位で指定可能です。
有効な複数の単位指定を並べると、その和を指定したことになります:
.Bl -tag -offset indent -width "xxxx" -compact
.It s
秒。
.It m
分。
.It h
時間。
.It d
日。
.It w
週。
.It y
年 (365 日)。
.El
.Pp
.It Fl E
.Sq Fl E
オプションを使用すると
.Nm limits
は継承している環境を完全に無視します。
.It Fl a
このオプションは特定のリソースの設定が指定されていても、
全てのリソースの設定を表示させます。
例えば、USENET ニュースシステムの立ち上げ時にコアダンプを無効にしたい
が、'news' アカウントに適用されるその他の全てのリソースの設定を行ない
たい場合は、次のように使います:
.Pp
.Dl eval `limits -U news -aBec 0`
.Pp
.Xr setrlimit 3
コールのように、スーパユーザのみが "hard" リソース制限を引き上げるこ
とができます。
root 以外のユーザはそれを引き下げるか、リソースの "soft" リミットを
hard リミットの範囲で変更することができます。
プログラムを実行する場合、
.Nm limits
が hard リミットを引き上げようとすると、それは致命的エラーとして扱われ
ます。
.El
.Sh 診断
.Nm limits
はユーザが何らかの方法で誤使用をすると EXIT_FAILURE で終了します。誤
使用には不正なオプションを使用した場合や、同時に設定と表示のオプション
を指定した場合、または
.Fl e
がプログラムを起動する時に使われた場合などが含まれます。
表示モードもしくは評価モードにて実行されたとき、
.Nm limits
は EXIT_SUCCESS の終了ステータスで終了します。
コマンドモードで実行されコマンドの実行が成功したときには、終了ステータスは
実行されたプログラムが返すものになります。
.Sh 関連項目
.Xr csh 1 ,
.Xr env 1 ,
.Xr limit 1 ,
.Xr sh 1 ,
.Xr getrlimit 2 ,
.Xr setrlimit 2 ,
.Xr login_cap 3 ,
.Xr login.conf 5
.Sh バグ
明らかな理由により、
.Nm limits
は等号 (``='') がその名称に含まれるコマンドを扱うことができません。
.Pp
評価用の出力が選択された場合、シェルを正しく認識し、そのシェルにとって
出力が正しいシンタックスとなるためには、/proc ファイルシステムがインス
トールされマウントされていなければなりません。
デフォルトの出力は /bin/sh にとって有効なものとなります。そのため、
/proc マウント前に
.Nm limits
を使用できるのは、標準の bourne シェルスクリプト中でのみとなります。
.Pp
.Nm limits
は出力や表示するリソースの設定が現在のユーザで有効であるかや、設定可能
であるかについては確認を行ないません。スーパユーザアカウントのみが
hard リミットを引き上げることができます。与えられた値が大きすぎる場合は
FreeBSD カーネルは何も出力せずにその制限値を指定された値より低く設定
します。
diff --git a/ja_JP.eucJP/man/man1/ln.1 b/ja_JP.eucJP/man/man1/ln.1
index 8498bf8e7c..57a380b7c7 100644
--- a/ja_JP.eucJP/man/man1/ln.1
+++ b/ja_JP.eucJP/man/man1/ln.1
@@ -1,134 +1,134 @@
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)ln.1 8.2 (Berkeley) 12/30/93
-.\" %Id: ln.1,v 1.3.2.1 1998/07/15 02:01:30 jkh Exp %
+.\" %Id: ln.1,v 1.6 1998/05/15 06:19:02 charnier Exp %
.\" jpman %Id: ln.1,v 1.2 1997/04/15 00:24:41 mutoh Stab %
.\"
.Dd December 30, 1993
.Dt LN 1
.Os BSD 4
.Sh 名称
.Nm ln
.Nd リンクファイルの作成
.Sh 書式
.Nm ln
.Op Fl fs
.Ar source_file
.Op target_file
.Nm ln
.Op Fl fs
.Ar source_file ...
.Op target_dir
.Sh 解説
.Nm
は新しいディレクトリエントリ(リンクファイル)を作成するユーティリティです。
リンクファイルのモードはオリジナルファイルと同じになります。
リンクファイルは
.Dq ファイルの内容のコピー
ではなく、
.Dq ファイルを指し示すポインタ
であり、1 つのオリジナル
ファイルを多くのディレクトリで取り扱えるようにするのに有効です。
リンクファイルには、ハードリンクとシンボリックリンクの 2 つの形式があり
ます。違いは、リンクの方法です。
.Pp
オプションとしては以下のものがあります。
.Bl -tag -width flag
.It Fl f
リンクが成功するように、target_file を削除してから
source_file を target_file にリンクします。
.It Fl s
シンボリックリンクを作成します。
.El
.Pp
デフォルトでは、
.Nm
.Em ハードリンク
を作成します。
ファイルへのハードリンクはオリジナルのディレクトリエントリと区別できません。
ファイルの参照に使われる名前にかかわらず、
そのファイルへのいかなる修正も同じように有効です。
通常、ハードリンクはディレクトリを指すことはできませんし、
ファイルシステムを拡張することもできません。
.Pp
シンボリックリンクはリンク先ファイルの名前を保持します。
リンクに対して
.Xr open 2
操作を行うと、その参照先ファイルが用いられます。
シンボリックリンクに対して
.Xr stat 2
操作を行うと、参照先ファイルの情報を返します。
リンクそのものの情報を得るには
.Xr lstat 2
を用いなければなりません。
.Xr readlink 2
呼び出しによってシンボリックリンクの内容を読むこともできます。
シンボリックリンクによってファイルシステムを拡張したり、
ディレクトリを参照したりすることが可能です。
.Pp
1つあるいは 2つの引数が与えられた場合、
.Nm
は既存のファイル
.Ar source_file
に対するリンクを作成します。
.Ar target_file
が指定された場合、リンクの名前はそれと同一になります。
.Ar target_file
はリンクファイルを置くディレクトリであっても構いません。
それ以外の場合はリンクはカレントディレクトリに置かれます。
ディレクトリ名だけが指定された場合は、
.Ar source_file
のパス名の最後のファイル名が指定されたものとみなします。
.Pp
2つ以上の引数が与えられた場合、
.Nm
はディレクトリ
.Ar target_file
内に指定された全てのファイルのリンクを作成します。作られるリンクの
名前は、リンクされるファイルの名前と同じになります。
.Pp
.Sh 関連項目
.Xr link 2 ,
.Xr lstat 2 ,
.Xr readlink 2 ,
.Xr stat 2 ,
.Xr symlink 2 ,
.Xr symlink 7
.Sh 歴史
.Nm ln
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/locate.1 b/ja_JP.eucJP/man/man1/locate.1
index 26d866cb83..1e40aaad8c 100644
--- a/ja_JP.eucJP/man/man1/locate.1
+++ b/ja_JP.eucJP/man/man1/locate.1
@@ -1,264 +1,264 @@
.\" Copyright (c) 1995 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" 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.
.\"
.\" @(#)locate.1 8.1 (Berkeley) 6/6/93
-.\" %Id: locate.1,v 1.5.2.3 1998/05/22 11:03:37 jkoshy Exp %
+.\" %Id: locate.1,v 1.11 1998/05/15 11:22:38 jkoshy Exp %
.\" jpman %Id: locate.1,v 1.3 1997/05/19 16:39:18 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt LOCATE 1
.Os BSD 4.4
.Sh 名称
.Nm locate
.Nd ファイル名を高速に検索する
.Sh 書式
.Nm
.Op Fl Scims
.Op Fl l Ar limit
.Op Fl d Ar database
pattern ...
.Sh 解説
.Nm locate
はデータベースを使って全てのパスを検索し、
.Ar pattern
にマッチしたファイル名を表示します。
データベースは定期的に(普通は週1回か毎日)再構築されます。
データベースの内容は、全ユーザがアクセスすることのできる
全てのファイル名です。
.Pp
.Ar pattern
にはシェルで使われるワイルドカード
.Po
.Dq *
.Dq ?
.Dq \e
.Dq [
.Dq \]
.Pc
を使用することができます。
その場合、ワイルドカードをシェルに解釈されないように
エスケープしなくてはいけません。
直前にバックスラッシュ
.Pq Dq \e
をつけると、いかなる文字も、
その文字が持つ特殊な意味が打ち消されます。
スラッシュ
.Pq Dq /
も含め、いかなる文字も特殊な意味を
持ちません。
.Pp
また、ワイルドカードを含まないパターン
.Pq Dq foo
指定した場合、
.Nm
.Dq *foo*
が指定されたものと解釈します。
歴史的な事情で、以前の
.Nm
は 32 から 127 までのキャラクタコード
しか扱うことができませんでした。
現在の処理方法では改行
.Pq Sq \en
とヌル
.Pq Sq \e0
以外のキャラクタ
コードを処理できます。
これまでサポートされていたプレインASCIIのみで構成された
ファイル名については、使用するメモリの量は増えていません。
32 未満、あるいは 127 をこえるキャラクタコードを含むファイル名
については、2 バイトを使って格納されます。
使用可能なオプションは以下のとおりです。
.Bl -tag -width 10n indent
.It Fl S
データベースの統計を表示して終了します。
.It Fl c
通常の出力を行わず、マッチしたファイル名の数を表示します。
.It Fl d Ar database
デフォルトのデータベースを使わず、
.Ar database
を使って検索します。
複数回
.Fl d
を指定することで、複数のデータベースを
使うことができます。
オプションの
.Ar database
はコロンで区切ることで複数のデータベースを使うことができます。
また、1つのコロンはデフォルトのデータベースを表します。
$ locate -d $HOME/lib/mydb: foo
.Dq foo
をパターンとして、
最初に
.Pa $HOME/lib/mydb
を、次に
.Pa /var/db/locate.database
を検索します。
$ locate -d $HOME/lib/mydb::/cdrom/locate.database foo
は、
.Dq foo
をパターンとして
.Pa $HOME/lib/mydb
.Pa /var/db/locate.database
.Pa /cdrom/locate.database
の順番で検索します。
.Do
$ locate -d db1 -d db2 -d db3 pattern
.Dc
.Dq $ locate -d db1:db2:db3 pattern
.Dq $ locate -d db1:db2 -d db3 pattern
と同じです。
データベースの名前として
.Ar -
を指定した場合、標準入力から読み込みます。
例えば、次のようにデータベースを圧縮して使うことができます。
$ zcat database.gz | locate -d - pattern
これは、高速な CPU 、少ない RAM 、遅い I/O を持つコンピュータを
使っている場合に便利です。
この場合、1つのパターンしか指定することができません。
.It Fl i
パターンとデータベースの間での大文字と小文字の違いを無視します。
.It Fl l Ar number
マッチしたファイル名の表示を、最大
.Ar number
個に制限します。
.It Fl m
.Xr stdio 3
ライブラリのかわりに
.Xr mmap 2
ライブラリを使います。
これはデフォルトの動作です。ほとんどの場合で、高速に動作します。
.It Fl s
.Xr mmap 2
ライブラリのかわりに
.Xr stdio 3
ライブラリを使います。
.Sh 関連ファイル
-.Bl -tag -width /usr/libexec/locate.updatedb -compact
+.Bl -tag -width /etc/periodic/weekly/310.locate -compact
.It Pa /var/db/locate.database
locate データベース
.It Pa /usr/libexec/locate.updatedb
locate データベースを更新するためのスクリプト
-.It Pa /etc/weekly
-通常、locate.updatedb が起動されるスクリプト
+.It Pa /etc/periodic/weekly/310.locate
+データベース再構築を起動するスクリプト
.El
.Sh 環境変数
.Bl -tag -width LOCATE_PATH -compact
.It Pa LOCATE_PATH
データベースのパスを指定します。空文字の場合は無効です。
.Fl d
オプションが指定された場合も無効になります。
.El
.Sh 関連項目
.Xr find 1 ,
.Xr whereis 1 ,
.Xr which 1 ,
.Xr fnmatch 3 ,
.Xr locate.updatedb 8
.Rs
.%A Woods, James A.
.%D 1983
.%T "Finding Files Fast"
.%J ";login"
.%V 8:1
.%P pp. 8-10
.Re
.Sh バグ
.Nm
が実際には存在するファイルをリストアップできない場合や、
逆に、すでに削除されたはずのファイルをリストアップ
してしまう場合があります。
これは
.Nm
-.Pa /etc/weekly
+.Pa /etc/periodic/weekly/310.locate
スクリプトで週に一度更新されるデータベースから
情報を得ているためです。
データベースの構築に
.Xr find 1
を使うのは一時的な処置です。
.Nm
データベースファイルの所有者は
.Dq nobody
となっています。
.Xr find 1
はユーザ名
.Dq nobody
、グループ名
.Dq nobody
、あるいはその他のユーザに対してリード属性がない
ディレクトリを見付けた場合、
そのディレクトリの検索をスキップします。
例えば、ユーザのホームディレクトリに読み込み属性が
なかったときは、そのユーザの全てのファイルはデータベースに
登録されません。
.Nm
データベースの内容について、バイト順序の問題が解決されていません。
バイト順序が違うコンピュータ同士では、
データベースの共有ができません。
両方のアーキテクチャで int のサイズが同じ場合、
.Nm
はホストのバイト順序、ネットワークのバイト順序の
違いに対応します。
そのため、FreeBSD/i386 (リトルエンディアン) 上で
.Nm
SunOS/sparc (ビッグエンディアン) 上で構築された
データベースを使うことができます。
.Sh 歴史
.Nm locate
.Bx 4.4
から登場しました。
.Fx 2.2
で、新たに多くの機能が付け加えられました。
diff --git a/ja_JP.eucJP/man/man1/lockf.1 b/ja_JP.eucJP/man/man1/lockf.1
index 5c0b6e8b48..b658a4b775 100644
--- a/ja_JP.eucJP/man/man1/lockf.1
+++ b/ja_JP.eucJP/man/man1/lockf.1
@@ -1,123 +1,123 @@
.\"
.\" Copyright (C) 1998 John D. Polstra. 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 JOHN D. POLSTRA 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 JOHN D. POLSTRA 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: lockf.1,v 1.1.1.1.2.2 1998/07/08 05:33:44 jdp Exp %
+.\" %Id: lockf.1,v 1.6 1998/07/08 05:29:04 jdp Exp %
.\" jpman %Id: lockf.1,v 1.3 1997/08/20 12:32:03 horikawa Stab %
.\"
.Dd July 7, 1998
.Os FreeBSD
.Dt LOCKF 1
.Sh 名称
.Nm lockf
.Nd ファイルをロックしてコマンドを実行する
.Sh 書式
.Nm
.Op Fl ks
.Op Fl t Ar seconds
.Ar file
.Ar command
.Op Ar arguments
.Sh 解説
.Nm
はファイル
.Ar file
に対して排他的ロックを獲得します。
この際、必要ならこのファイルを生成します。
そしてそのロックを保持したまま、
引数
.Ar arguments
をつけてコマンド
.Ar command
を実行します。
.Ar command
の実行が完了すると、
.Nm
はロックを開放し、
.Fl k
オプションが指定されていなければ
ファイル
.Ar file
を削除します。
.Xr flock 2
に述べられている BSD スタイルのロック方式が用いられます。
すなわち、
.Ar file
が存在するだけではロックされているとは見なされません。
.Pp
以下のオプションが利用可能です。
.Bl -tag -width Fl
.It Fl k
コマンド完了後もロックを保存します (削除しません)。
.It Fl s
メッセージ出力を行いません。
ロック獲得の失敗は、終了ステータスにのみ反映されます。
.It Fl t Ar seconds
ロック待ちのタイムアウト値を指定します。
デフォルトでは、
.Nm
はロック獲得を永遠に待ち続けます。
このオプションによりタイムアウト値が指定されていれば、
.Nm
はロック獲得をあきらめるまでに最大
.Ar seconds
秒待ちます。
タイムアウトとしては 0 を指定することもでき、
その場合
.Nm
はロック獲得に失敗すると即座に終了します。
.El
.Pp
いかなる場合でも、
他のプロセスが保持しているロックを
.Nm
が破棄することはありません。
.Sh 診断
ロック獲得に成功すると、
.Nm
.Ar command
の終了ステータスを返します。
それ以外の場合、
.Nm
.Xr sysexits 3
にて定義されている以下のいずれかの終了コードを返します。
.Bl -tag -width F_CANTCREATX
.It Dv EX_TEMPFAIL
指定されたロックファイルは他のプロセスによって既にロックされています。
.It Dv EX_CANTCREAT
.Nm
はロックファイルを生成できませんでした。
原因としては、例えば、適切なアクセス権がないことが考えられます。
.It Dv EX_USAGE
.Nm
のコマンドラインにエラーがあります。
.It Dv EX_OSERR
システムコール(例えば fork)が予期せず失敗しました。
.El
.Sh 関連項目
.Xr flock 2 ,
.Xr sysexits 3 .
.Sh 作者
.An John Polstra Aq jdp@polstra.com .
diff --git a/ja_JP.eucJP/man/man1/login.1 b/ja_JP.eucJP/man/man1/login.1
index 9228d832f5..2d63be0f4b 100644
--- a/ja_JP.eucJP/man/man1/login.1
+++ b/ja_JP.eucJP/man/man1/login.1
@@ -1,189 +1,189 @@
.\" %NetBSD: login.1,v 1.5 1994/12/23 06:53:00 jtc Exp %
.\"
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)login.1 8.2 (Berkeley) 5/5/94
-.\" %Id: login.1,v 1.4.2.4 1998/01/07 10:44:20 obrien Exp %
+.\" %Id: login.1,v 1.10 1998/01/07 10:42:57 obrien Exp %
.\" jpman %Id: login.1,v 1.3 1997/05/19 16:39:53 horikawa Stab %
.\"
.Dd May 5, 1994
.Dt LOGIN 1
.Os BSD 4
.Sh 名称
.Nm login
.Nd 指定したユーザでログインする
.Sh 書式
.Nm
.Op Fl fp
.Op Fl h Ar hostname
.Op Ar user
.Sh 解説
.Nm
は、指定したユーザでログインするものです。
.Pp
user を指定しなかった場合、もしくは指定した user でのログインに失敗した
ときには、
.Nm
は、再度ユーザ名の入力を求めるプロンプトを表示します。
ユーザの確認は入力されたパスワードにより行われます。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width Ds
.It Fl f
パスワードによるユーザの確認を省略します。このオプションは、スーパーユーザ
か、すでにログインしているユーザが同じユーザ名で login を実行す
るときのみ指定可能です。
.It Fl h
コネクションを受信可能なホスト名を指定します。この機能は
.Xr telnetd 8
などのデーモンによって使われています。このオプションはスーパーユーザ
しか指定することができません。
.It Fl p
.Nm
は、デフォルトでは実行時の環境 (環境変数など) を引き継ぎ
ませんが、このオプションを指定すると、実行時の環境を引き継ぎます。
.El
.Pp
もし
.Pa /etc/nologin
ファイルが存在した場合、
.Nm
はそのファイル内容
を表示してログイン処理をせずに終了します。この機能は
.Xr shutdown 8
で使用されており、システムの終了処理実行中にユーザがログインしないよう
にしています。
.Pp
もし
.Pa /etc/login.access
ファイルが存在した場合、
.Nm
はそのファイルから、ユーザとホストの組が特別に許可されている、もしくは
拒否されているかどうかをチェックします。
.Pp
もし
.Pa /etc/fbtab
ファイルが存在した場合、
.Nm
はそのファイルに記述された幾つかのデバイスのプロテクトと所有者を変えます。
.Pp
ファイル
.Pa /etc/skeykeys
が存在する場合、このファイル中にユーザのエントリが存在する時には、
.Nm
は S/key パスワード認証を行います。
.Pa /etc/skey.access
により、
接続元のホストやネットワークに応じて S/key パスワード使用の義務を制御します。
.Pp
通常、ユーザがログインすると、
.Nm
はシステムのコピーライト表示、
ユーザが最後にログインした日付と時間、その日のメッセージなどの
情報を表示します。ただし、ユーザのホームディレクトリに
.Dq Pa .hushlogin
というファイルが存在した場合は、これらのメッセージを表示
しないようにします (これは
.Xr uucp 1
のようなプログラムがユーザとしてログインするためにあります)。
このあと、
.Nm
.Xr wtmp 5
.Xr utmp 5
ファイルに記録し、ユーザのコマンドインタプリタ (シェル) を起動します。
.Pp
なお、環境変数 (
.Xr environ 7 )
HOME, SHELL, PATH, TERM, LOGNAME, USER は
.Nm
によりセットされます。
他の環境変数はログインクラスケーパビリティデータベースの
エントリにより設定されるかも知れません。
ログインクラスはユーザのシステムパスワードレコードに割り当てられています。
ログインクラスは、当該ログインに許された最大および現在の資源制約、
プロセス優先度や他の多くのユーザログイン環境を制御します。
.Pp
標準シェルである
.Xr csh 1
.Xr sh 1
は、
.Nm
が実行されてから起動します。
.Sh 関連ファイル
.Bl -tag -width /var/mail/userXXX -compact
.It Pa /etc/fbtab
デバイスのプロテクトの変更
.It Pa /etc/login.access
ログインアクセス制御表
.It Pa /etc/login.conf
ログインクラスケーパビリティデータベース
.It Pa /etc/motd
ログイン時に最初に表示するメッセージ
.It Pa /etc/nologin
ログインを拒否する時に表示するメッセージ
.It Pa /etc/skey.access
skey パスワード制御表
.It Pa /etc/skeykeys
skey パスワードデータベース
.It Pa /var/run/utmp
現在のログイン状況
.It Pa /var/log/lastlog
最後にログインした記録
last login account records
.It Pa /var/log/wtmp
ログイン・ログアウト状況
.It Pa /var/mail/user
ユーザーごとのメイルボックス
.It Pa \&.hushlogin
ログインメッセージを抑止するファイル
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr passwd 1 ,
.Xr rlogin 1 ,
.Xr skey 1 ,
.Xr getpass 3 ,
.Xr fbtab 5 ,
.Xr login.access 5 ,
.Xr login.conf 5 ,
.Xr skey.access 5 ,
.Xr utmp 5 ,
.Xr environ 7 ,
.Xr nologin 8
.Sh 歴史
.Nm login
ユーティリティは
.At v6
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/logname.1 b/ja_JP.eucJP/man/man1/logname.1
index 61d6f646fa..c3dd7361af 100644
--- a/ja_JP.eucJP/man/man1/logname.1
+++ b/ja_JP.eucJP/man/man1/logname.1
@@ -1,73 +1,73 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)logname.1 8.1 (Berkeley) 6/9/93
-.\" %Id: logname.1,v 1.2.2.2 1997/09/15 08:32:19 jkh Exp %
+.\" %Id: logname.1,v 1.4 1997/06/23 04:03:06 steve Exp %
.\" jpman %Id: logname.1,v 1.2 1997/04/24 00:27:29 mutoh Stab %
.\"
.Dd June 9, 1993
.Dt LOGNAME 1
.Os BSD 4.4
.Sh 名称
.Nm logname
.Nd ログイン名を表示する
.Sh 書式
.Nm
.Sh 解説
.Nm
は、ユーザのログイン名とその後に改行文字を付けたものを標準出力に出力します。
.Pp
.Nm
は、環境変数
.Ev LOGNAME
.Ev USER
が信頼できないため、これらの環境変数を無視します。
.Pp
.Nm
は成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
.Sh 関連項目
.Xr who 1 ,
.Xr whoami 1 ,
.Xr getlogin 3
.Sh 規格
.Nm
.St -p1003.2
に準拠しています。
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/lp.1 b/ja_JP.eucJP/man/man1/lp.1
index b25381a2b4..f992b62875 100644
--- a/ja_JP.eucJP/man/man1/lp.1
+++ b/ja_JP.eucJP/man/man1/lp.1
@@ -1,113 +1,113 @@
.\"
.\" Copyright (c) 1995 Joerg Wunsch
.\"
.\" All rights reserved.
.\"
.\" This program is free software.
.\"
.\" 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 Joerg Wunsch
.\" 4. The name of the developer may not be used to endorse or promote
.\" products derived from this software without specific prior written
.\" permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: lp.1,v 1.2.2.3 1998/07/18 11:10:42 jkh Exp %
+.\" %Id: lp.1,v 1.7 1998/03/23 08:23:34 charnier Exp %
.\" jpman %Id: lp.1,v 1.3 1997/07/01 19:59:08 ken Stab %
.\"
.Dd January 22, 1995
.Dt LP 1
.Os
.Sh 名称
.Nm lp
.Nd プリントスプーラのフロントエンド
.Sh 書式
.Nm lp
.Op Fl c
.Op Fl d Ar printer
.Op Fl n Ar num
.Op Ar name ...
.Sh 解説
.Nm lp
.St -p1003.2
規格で必要とされるプリントスプーラのフロントエンドです。実際には
.Nm
は、適切な引数をつけて
.Xr lpr 1
を起動します。
通常、
.Nm
は指定されたファイルをターゲットとするプリンタでプリントします。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl c
入力ファイルにそれ以上アクセスする必要がなくなるまで
.Nm
は終了しません。
.Nm
が終了すると、アプリケーションはプリント出力処理に影響を与えることなく、
ファイルを安全に削除あるいは修正できます。
.It Fl d Ar dst
特定のプリンタを指定します。
コマンドラインに
.Fl d
オプションが指定されない場合、環境変数
.Ev LPDEST
あるいは
.Ev PRINTER
の値が
.Pq この順で
用いられます。
.It Fl n Ar num
指定された各ファイルを
.Ar num
部ずつプリント出力します。
.El
.Sh 環境変数
上で述べたように、環境変数
.Ev LPDEST
および
.Ev PRINTER
がターゲットとするプリンタを選択するのに用いられます。
.Sh 関連項目
.Xr lpr 1
.Sh 規格
.Nm lp
コマンドは
.St -p1003.2
規格を満たすと考えられます。
.Sh 作者
この
.Nm
コマンドの実装は
.if t J\(:org Wunsch
.if n Joerg Wunsch
によって作成されました。
.Sh バグ
.St -p1003.2
規格ではテキスト以外のファイルのプリント手段が提供されていません。
プリントするファイルは、行の長さが妥当で文字も印字可能文字に限定されている
テキストファイルであることが求められています。
diff --git a/ja_JP.eucJP/man/man1/lpr.1 b/ja_JP.eucJP/man/man1/lpr.1
index 71707752fc..abea91d085 100644
--- a/ja_JP.eucJP/man/man1/lpr.1
+++ b/ja_JP.eucJP/man/man1/lpr.1
@@ -1,242 +1,242 @@
.\" 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.
.\"
.\" @(#)lpr.1 8.1 (Berkeley) 6/6/93
-.\" %Id: lpr.1,v 1.5.2.1 1997/09/25 06:33:03 charnier Exp %
+.\" %Id: lpr.1,v 1.8 1997/09/24 06:48:07 charnier Exp %
.\" jpman %Id: lpr.1,v 1.3 1997/08/11 14:28:54 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt LPR 1
.Os BSD 4
.Sh 名称
.Nm lpr
.Nd 印刷ジョブを生成し、キューに登録する
.Sh 書式
.Nm lpr
.Op Fl P Ns Ar printer
.Op Fl \&# Ns Ar num
.Op Fl C Ar class
.Op Fl J Ar job
.Op Fl T Ar title
.Op Fl U Ar user
.Op Fl i Ar numcols
.Op Fl 1234 Ar font
.Op Fl w Ns Ar num
.Op Fl cdfghlnmprstv
.Op Ar name ...
.Sh 解説
.Nm lpr
は、プリンタが利用可能になったときにファイルをプリント
アウトするためにスプーリングデーモンを利用します。
もしファイル名が指定されないようなら、標準入力から読みます。
.Pp
以下の単一文字のオプションは、ファイルが通常のテキストファイルでないこ
とをラインプリンタのスプールデーモンに教えるためのものです。スプールデー
モンはそのデータを適切に出力するために、データにふさわしいフィルタを使
うようになります。
.Bl -tag -width indent
.It Fl c
ファイルが
.Xr cifplot 1
で作成されたデータを含んでいるものとみなします。
.It Fl d
ファイルが
.Tn TeX
.Tn DVI
フォーマットであるとみなします。
.It Fl f
各行の最初の文字を、標準的な FORTRAN のキャリッジコントロール
キャラクタとして処理するフィルタを使うようになります。
.It Fl g
ファイルが
.Xr plot
ルーチンで作成された 標準的な plot データであるとみなします。
.It Fl l
コントロールキャラクタを通し、ページの区切りを抑制するフィルタを利用します。
.It Fl n
ファイルが
.Em ditroff
(デバイスに依存しないtroff) からのデータであるとみなします。
.It Fl p
ファイルの整形に
.Xr pr 1
を利用します。
.It Fl t
ファイルが(写植印字コマンドである)
.Xr troff 1
からのデータであるとみなします。
.It Fl v
ファイルが Benson Varian のようなデバイスのためのラスターイメージを
含むものとみなします。
.El
.Pp
以下のオプションは、プリントジョブを操作するときに適用します:
.Bl -tag -width indent
.It Fl P
指定したプリンタに出力します。これを指定しない通常の場合は、
デフォルトプリンタが使われる (これはサイトごとに依存します)か、
環境変数
.Ev PRINTER
の値が使われます。
.It Fl h
バーストページを出力しないようにします。
.It Fl m
終了時にメールを送ってきます。
.It Fl r
スプーリングの終了時、もしくは、出力の終了時にファイルを削除します (
.Fl s
オプション使用時)。
.It Fl s
シンボリックリンクを利用します。通常、ファイルはスプールディ
レクトリにコピーされますが、大きなファイルをコピーするよりは
.Fl s
オプションで
.Xr symlink 2
を使ってデータファイルにリンクを張ったほうがよ
いでしょう。つまり、これはファイルのプリントアウトが完了するまではファ
イルに変更を加えたり、削除したりするべきではないということを意味します。
.El
.Pp
残りのオプションはコピーを行ったり、ページの表示やヘッダの表示を行います:
.Bl -tag -width indent
.It Fl \&# Ns Ar num
.Ar num
は、各ファイルのコピーの枚数です。例えば、
.Bd -literal -offset indent
lpr \-#3 foo.c bar.c more.c
.Ed
は、foo.cのコピーを3回行った後、bar.cのコピーを3回行います。一方、
.Bd -literal -offset indent
cat foo.c bar.c more.c \&| lpr \-#3
.Ed
.Pp
は、連結されたファイルのコピーを3回行います。
をこの機能を禁止してコピー機の使用を推奨しているサイトがあるかもしれません。
.It Xo
.Fl Ns Oo Cm 1234 Oc Ar font
.Xc
フォントポジション
.Ar i
のフォントを指定します。デーモンはフォントのパス名を参照する
.Li .railmag
ファイルを作成します。
.It Fl C Ar class
バーストページで使うジョブ見出しです。例えば、
.Bd -literal -offset indent
lpr \-C EECS foo.c
.Ed
.Pp
は、バーストページのシステム名(
.Xr hostname 1
で返される)を EECS に置き換えて、foo.c をプリントします。
.It Fl J Ar job
バーストページに書くジョブ名です。通常は、
一番最初のファイルの名前が使われます。
.It Fl T Ar title
.Xr pr 1
のタイトル名に、ファイル名のかわりにこのタイトルを使います。
.It Fl U Ar user
バーストページで使うユーザー名であり、課金目的でも利用されます。
このオプションは実ユーザidがデーモン(あるいはデーモンの代わりに
printcap中で指定されているユーザ)のみ使用できます。
.It Fl i numcols
出力が
.Pq Ar numcols
でインデントされます。
.It Fl w Ns Ar num
.Xr pr 1
のページ幅を
.Ar num
にします。
.El
.Sh 環境変数
以下の環境変数が存在すると、
.Nm lpr
が使用します:
.Bl -tag -width PRINTER
.It Ev PRINTER
かわりのデフォルトプリンタを指定する
.El
.Sh 関連ファイル
.Bl -tag -width /var/spool/output/*/tf* -compact
.It Pa /etc/passwd
個人の識別を行うためのファイル
.It Pa /etc/printcap
プリンタの特徴を記述したデータベース
.It Pa /usr/sbin/lpd
ラインプリンタデーモン
.It Pa /var/spool/output/*
スプーリングのために利用するディレクトリ
.It Pa /var/spool/output/*/cf*
デーモンの制御のためのファイル
.It Pa /var/spool/output/*/df*
``cf'' ファイルが指定するデータファイル
.It Pa /var/spool/output/*/tf*
``cf'' ファイルの一時的なコピー
.El
.Sh 関連項目
.Xr lpq 1 ,
.Xr lprm 1 ,
.Xr pr 1 ,
.Xr symlink 2 ,
.Xr printcap 5 ,
.Xr lpc 8 ,
.Xr lpd 8
.Sh 歴史
.Nm
コマンドは
.Bx 3
から登場しました。
.Sh 診断
もしとても大きいファイルをスプールしようとするなら、途中で切れてしまう
でしょう。
.Nm
はバイナリファイルを印刷することを目的としています.
もしルート以外のあるユーザーがファイルを印刷しようとしてスプールに
失敗したら、
.Nm
はその旨のメッセージを印刷してそのファイルは印刷されません。
もしローカルマシンの
.Xr lpd 8
との接続ができなければ、
.Nm
はデーモンを起動できなかったと言うでしょう。その結果は
.Xr lpd 8
によってファイルのスプールに失敗したとデーモンのログファイルに
残されるでしょう。
.Sh バグ
.Xr troff 1
.Xr tex
のフォントは,プリンタがつながっているホストにないといけません。
これは,現在はローカルのフォントライブラリを使うことができないことを
意味します。
diff --git a/ja_JP.eucJP/man/man1/ls.1 b/ja_JP.eucJP/man/man1/ls.1
index ce12ac43ea..ec07baeb0c 100644
--- a/ja_JP.eucJP/man/man1/ls.1
+++ b/ja_JP.eucJP/man/man1/ls.1
@@ -1,367 +1,376 @@
.\" Copyright (c) 1980, 1990, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgment:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)ls.1 8.6 (Berkeley) 4/18/94
-.\" %Id: ls.1,v 1.5.2.6 1998/07/15 02:01:34 jkh Exp %
+.\" @(#)ls.1 8.7 (Berkeley) 7/29/94
+.\" %Id: ls.1,v 1.24 1998/07/29 00:46:08 hoek Exp %
.\" jpman %Id: ls.1,v 1.3 1997/05/19 17:21:06 horikawa Stab %
.\"
-.Dd April 18, 1994
+.Dd July 29, 1994
.Dt LS 1
.Os
.Sh 名称
.Nm ls
.Nd ディレクトリの内容のリストを表示する
.Sh 書式
.Nm ls
.Op Fl ABCFHLPRTWabcdfgikloqrstu1
.Op Ar file ...
.Sh 解説
.Nm
.Ar file
で指定されたファイル名およびオプションの指定にしたがって、
ファイルに関する各種の情報を表示します。なお、
.Ar file
としてディレクトリが指定された場合は、そのディレクトリ配下のファイル
に関する情報を表示します。
.Pp
.Ar file
が指定されなかった場合は、カレントディレクトリのファイルを表示します。
表示はファイル名のアルファベット順にソートされます。ただし、
.Ar file
としてディレクトリファイルとそれ以外のファイルを混在して指定した
場合は、ディレクトリ以外のファイルが先に表示され、その後
ディレクトリ配下のファイルが表示されます。
.Pp
オプションとしては、以下のものがあります。
.Bl -tag -width indent
.It Fl A
.Ql \&.
.Ql \&..
を除く全てのエントリを表示します。スーパユーザの場合は、通常
このオプションがセットされています。
.It Fl B
ファイル名中の非グラフィック文字を強制的に \\xxx の形式で表示します。
xxx は文字の数値であり 8 進数です。
.It Fl C
マルチカラム形式で出力します。端末への出力の場合は、
これがデフォルトになります。
.It Fl F
それぞれのパス名の最後に、ディレクトリならばスラッシュ (/)、
実行可能ファイルならばアスタリスク (*)、
シンボリックリンクならばアットマーク (@)、ソケットファイルならば等号 (=)、
.Tn FIFO
ならば縦棒 (|) をつけて表示します。
.It Fl H
コマンドラインのシンボリックリンクを追跡します。
.Fl F ,
.Fl d ,
.Fl l
オプションが指定された場合、
このオプションが仮定されます。
.It Fl L
引数がシンボリックリンクファイルの場合、リンクファイル自体ではなく、
リンク先のファイルやディレクトリを表示します。
このオプションは
.Fl P
オプションを打ち消します。
.It Fl P
引数がシンボリックリンクの場合、リンクが参照しているオブジェクトではなく
リンク自身を表示します。
このオプションは
.Fl H ,
.Fl L
オプションを打ち消します。
.It Fl R
サブディレクトリを再帰的に表示します。
.It Fl T
ファイルの日付と時間に関する詳細情報(月・日・時・分・秒・年)を表示します。
.It Fl W
ディレクトリ走査時にホワイトアウトも表示します。
.It Fl a
ドット (.) で始まるファイルも含めて表示します。
.It Fl b
.Fl B
と同様ですが、可能であれば C のエスケープコードを使用します。
.It Fl c
ファイルソートや時刻出力の際、ファイルステータスの最終変更日付を使用します。
.It Fl d
引数がディレクトリの場合、ディレクトリそのものの情報について表示します
(再帰的に表示しません)。
.It Fl f
ソートせずに表示します
.It Fl g
このオプションは、
.Bx 4.3
との互換性のためにだけ利用すべきです。
これは、
ロングフォーマットオプション
.Pq Fl l
を使ってグループの名前を表示したい時に使います。
.It Fl i
各ファイルについて、iノード番号を表示します。
.It Fl k
.Fl s
オプションとともに使用し、ファイルサイズを
ブロック単位ではなく Kバイト単位で表示します。
このオプションは環境変数 BLOCKSIZE に優先します。
.It Fl l
(``エル(L)''の小文字)。ファイルの詳細情報をロングフォーマットで
表示します(下記参照)。
端末に出力している場合、ロングフォーマットの前の行に、全ファイル
のサイズの合計値を表示します。
.It Fl o
.Pq Fl l
オプションによる詳細情報に、ファイルフラグも含めて表示します。
.It Fl q
ファイル名に表示できない文字が使われていたとき、`?' として表示します。
端末に表示するときは、デフォルトでこの指定になります。
.It Fl r
辞書式順序で逆順または時刻の古い順にソートします。
.It Fl s
各ファイルがファイルシステム上で実際に占有している
ブロック数(512バイト単位)を表示します。
ブロックの一部だけ占有しているものも整数値に切り上げられます。
端末に表示するときは、表示の先頭行に、全ファイルのサイズの合計値
を表示します。
環境変数 BLOCKSIZE は単位サイズ 512 バイトに優先します。
.It Fl t
ファイルをアルファベット順に表示する前に、ファイルの最終修正日時の順
(新しいものほど先にくる)にソートします。
.It Fl u
.Pq Fl t
オプションや
.Pq Fl l
オプションで、ファイルの最終修正日時の代わりに、ファイルの最終アクセ
ス日時を使用します。
.It Fl \&1
(数字の ``1'')。 1行につき 1エントリの形式で表示します。
端末への出力でない場合には、これがデフォルトです。
.El
.Pp
.Fl 1 ,
.Fl C ,
.Fl l
オプションは、互いに他を上書きします。最後に指定されたオプションが有
効となります。
.Pp
.Fl c
.Fl u
オプションは、互いに他を上書きします。最後に指定されたオプションが有効と
なります。
.Pp
.Fl B ,
.Fl b ,
.Fl q
オプションは互いに優先し合う関係にあります。
最後に指定されたものが印字不可文字の書式を決定します。
.Pp
.Fl H,
.Fl L ,
.Fl P
オプションは互いに優先し合う関係にあります(部分的もしくは全体的)。
指定された順序で適用されます。
.Pp
デフォルトでは
.Nm
は標準出力に1行1エントリずつ表示します。
ただし、出力先が端末である場合および
.Fl C
オプションが指定された場合は別です。
.Pp
.Fl i ,
.Fl s ,
.Fl l
オプションが指定された場合、関連するファイルの情報は 1個以上の空白
をあけて表示されます。
.Ss ロングフォーマット
.Fl l
オプションがつけられた場合、それぞれのファイルに対して以下に示す情
報が表示されます:
ファイルモード・
リンク数・所有者名・所有グループ名・
ファイルのバイト数・月の短縮形・最終更新が行なわれた際の日付・時・分・
パス名。
さらに、各ディレクトリに対して、
ディレクトリ内のファイル情報が表示される直前に、
ファイルサイズの合計値が 512 バイトブロック単位で表示されます。
.Pp
ファイルの修正修正時刻が 6 ヶ月以上過去もしくは未来の場合、
最終修正年が時間と分のフィールドに表示されます。
.Pp
所有者または所有グループ名が不明の場合、
ID 番号で表示されます。
.Pp
ファイルがキャラクタ型もしくはブロック型スペシャルファイルである場合、
ファイルサイズフィールドには
ファイルのメジャー番号とマイナー番号が表示されます。
ファイルがシンボリックリンクファイルである場合、
リンク先ファイルのパス名が
.Dq \->
によって表示されます。
.Pp
.Fl l
オプションのもとで表示されるファイルモードは、エントリタイプ、
所有者アクセス許可、所有グループアクセス許可などで成り立っています。
エントリタイプの文字はファイルのタイプを表しており、
各文字の意味は次のとおりです:
.Pp
.Bl -tag -width 4n -offset indent -compact
.It Sy b
ブロック型スペシャルファイル
.It Sy c
キャラクタ型スペシャルファイル
.It Sy d
ディレクトリ
.It Sy l
シンボリックリンクファイル
.It Sy s
ソケットファイル
.It Sy p
.Tn FIFO
.It Sy \-
通常ファイル
.El
.Pp
次の 3つのフィールドは、それぞれ 3つの文字からなっています:
所有者に対するアクセス許可・
グループに属するユーザに対するアクセス許可・
他のユーザに対するアクセス許可。
これらのフィールドはそれぞれ 3つの文字からなっています:
.Bl -enum -offset indent
.It
もし
.Sy r
ならば読みだし可能。もし
.Sy \-
ならば読みだし不能。
.It
もし
.Sy w
ならば書き込み可能。もし
.Sy \-
ならば書き込み不能。
.It
その他の場合: 以下のうち最初に該当するものが用いられる。
.Bl -tag -width 4n -offset indent
.It Sy S
所有者に対するアクセス許可において、ファイルが実行可能ではなく、かつ、
実効ユーザ ID (set-user-ID) モードがセットされている場合。
所有グループに対するアクセス許可において、ファイルが実行可能ではなく、
かつ、実効グループ ID (set-group-ID) モードがセットされている場合。
.It Sy s
所有者に対するアクセス許可において、ファイルが実行可能で、かつ、
実効ユーザ ID モードがセットされている場合。
所有グループに対するアクセス許可の中で、ファイルが実行可能で、
かつ、実効グループ ID モードがセットされている場合。
.It Sy x
ファイルが実効可能またはディレクトリが検索可能である場合。
.It Sy \-
ファイルは、読み出し、書き込み、実行のいずれも許可されておらず、
実効ユーザ ID も実効グループ ID もスティッキービットも設定されていない場合
(以下参照)。
.El
.Pp
次の2つは他のユーザに対するアクセス許可の三番目の文字に使用されます。
.Bl -tag -width 4n -offset indent
.It Sy T
スティッキービットがセットされている(モード
.Li 1000 ) が、
実行不能あるいは検索不能である場合(
.Xr chmod 1
または
.Xr sticky 8
参照)。
.It Sy t
スティッキービットがセットされており(モード
.Li 1000 ) 、
かつ、検索可能または実行可能である場合
(
.Xr chmod 1
または
.Xr sticky 8
参照)。
.El
.El
.Pp
.Nm
ユーティリティは、成功時には 0 を、エラー発生時には 0 より大きい値を
返します。
.Sh 環境変数
以下の環境変数は
.Nm
の動作に影響を与えます:
.Bl -tag -width BLOCKSIZE
.It Ev BLOCKSIZE
ブロック数の表示を行う際、1ブロックのサイズとして環境変数
.Ev BLOCKSIZE
で指定された値が使用されます
(
.Fl s
オプション参照)。
.It COLUMNS
ターミナルのカラム幅を指定します。マルチカラム表示の際、
1 行あたりいくつのファイル名を表示できるかを算出するために参照されます
(
.Fl C
参照)。
.It Ev TZ
日時を表示するときに使われるタイムゾーンを指定します。
詳細は
.Xr environ 7
を参照してください。
+.It Ev LS_COLWIDTHS
+この変数が設定されている場合、
+コロン区切りのリストで各フィールドの最小幅を指定しているものとみなされます。
+適切でなかったり不十分だったりする幅は無視されます
+(よって 0 を指定すると、フィールド幅が動的に決まります)。
+すべてのフィールドの幅を変えられるわけではありません。
+フィールドの順序は次の通りです:
+iノード、ブロック数、リンク数、ユーザ名、グループ名、フラグ、ファイルサイズ、
+ファイル名。
.El
.Sh 互換性
.St -p1003.2
互換とするため、
ロングフォーマット形式の出力には所有グループ名フィールドが自動的に
含められます。
.Sh 関連項目
.Xr chmod 1 ,
.Xr symlink 7 ,
.Xr sticky 8
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
.Sh 規格
.Nm
コマンドの機能は
.St -p1003.2
のスーパセットであると想定しています。
.Sh バグ
過去との互換性のために、多くのオプションの関係が複雑になっています。
diff --git a/ja_JP.eucJP/man/man1/lsvfs.1 b/ja_JP.eucJP/man/man1/lsvfs.1
index 4b2fb91283..c3598c2341 100644
--- a/ja_JP.eucJP/man/man1/lsvfs.1
+++ b/ja_JP.eucJP/man/man1/lsvfs.1
@@ -1,57 +1,57 @@
-.\" %Id: lsvfs.1,v 1.3 1996/01/30 13:49:39 mpp Exp %
+.\" %Id: lsvfs.1,v 1.5 1997/02/22 19:55:59 peter Exp %
.\" jpman %Id: lsvfs.1,v 1.4 1997/08/28 12:09:24 horikawa Stab %
.\" Garrett A. Wollman, September 1994
.\" This file is in the public domain.
.\"
.Dd March 16, 1995
.Dt LSVFS 1
.Os
.Sh 名称
.Nm lsvfs
.Nd インストール済の仮想ファイルシステム一覧を表示する
.Sh 書式
.Nm lsvfs
.Op Ar vfsname Ar ...
.Sh 解説
.Nm lsvfs
コマンドは現在ロードされている仮想ファイルシステムモジュールに
関する情報を表示します。
引数
.Ar vfsname
が与えられると、
.Nm lsvfs
は指定された VFS モジュールに関する情報を表示します。
それ以外の場合、
.Nm lsvfs
は現在ロードされている全てのモジュールを表示します。
表示される情報は以下の通り:
.Pp
.Bl -tag -compact -width Filesystem
.It Filesystem
ファイルシステム名。
.Xr mount 8
.Fl t
オプションで指定されるもの。
.It Index
このファイルシステムに対するカーネルのファイルシステムスイッチスロット番号。
.Xr mount 2
.Ar type
パラメータに用いられるもの。
.It Refs
この VFS への参照数。
つまり、このタイプのファイルシステムのうち現在マウントされているものの数。
.It Flags
フラグビット(現在のところ
.Dq static
のみ定義されています)。
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr mount 8
.Sh 歴史
.Nm
コマンドは
.Tn FreeBSD
2.0 で登場しました。
diff --git a/ja_JP.eucJP/man/man1/m4.1 b/ja_JP.eucJP/man/man1/m4.1
index 3c6b08791c..c2df5d9611 100644
--- a/ja_JP.eucJP/man/man1/m4.1
+++ b/ja_JP.eucJP/man/man1/m4.1
@@ -1,196 +1,196 @@
.\"
-.\" @(#) %Id: m4.1,v 1.1.8.3 1998/07/17 04:19:19 jkh Exp %
+.\" @(#) %Id: m4.1,v 1.6 1998/06/26 14:25:18 rnordier Exp %
.\" jpman %Id: m4.1,v 1.3 1997/10/05 12:55:54 horikawa Stab %
.\"
.Dd January 26, 1993
.Dt m4 1
.Os
.Sh 名称
.Nm m4
.Nd マクロ言語プロセッサ
.Sh 書式
.Nm m4
.Oo
.Fl D Ns Ar name Ns Op Ar =value
.Oc
.Op Fl U Ns Ar name
.Op Ar filename
\|.\|.\|.
.Sh 解説
.Nm m4
ユーティリティは、さまざまな言語
(たとえば C, ratfor, fortran, lex, yacc など) のフロントエンドとして
利用できるマクロプロセッサです。
引数で指定されたファイルが指定された順に処理されます。
ファイルが指定されていないか、ファイル名が \`-\' なら
標準入力が読まれます。処理されたテキストは標準出力へ送られます。
.Pp
マクロの呼出しは name(argument1[, argument2, ...,] argumentN) の
形式を取っています。
.Pp
マクロ名とそれに続く開き括弧 `(' との間にはスペースがあってはいけません。
もしマクロ名の直後に開き括弧が続いていなければ引数なしのマクロ呼出しとして
処理されます。
.Pp
マクロ名として先頭はアルファベットまたはアンダースコアが、2 文字目以降は
英数字またはアンダースコアが使えます。
よって正しいマクロ名にマッチする正規表現は [a-zA-Z_][a-zA-Z0-9_]*
となります。
.Pp
マクロの引数のうちで、先頭のクォートされていない空白、タブ、
改行文字は無視されます。
文字列をクォートするためには、左、および右シングルクォートを使用して
ください (例: ` this is a string with a leading space')。
組み込みマクロ changequote を使ってクォート文字を変更することができます。
.Pp
オプションは以下の通りです:
.Bl -tag -width "-Dname[=value]xxx"
.It Fl D Ns Ar name Ns Oo
.Ar =value
.Oc
シンボル
.Ar name
の値を value (無指定時は NULL) と定義します。
.It Fl "U" Ns Ar "name"
シンボル
.Ar name
を未定義にします。
.El
.Sh 文法
.Nm m4
には以下に示す組み込みマクロが実装されています。
これらのマクロは再定義可能であり、その場合には元の定義は失われます。
特に記述のない限り戻り値は NULL です。
.Bl -tag -width changequotexxx
.It changecom
コメントの開始文字列と終了文字列を変更します。
デフォルトでは、ポンド記号 `#' と改行文字です。
引数を指定しなかった場合はコメント機能がオフになります。
設定できる文字列の長さは最大で 5 文字です。
.It changequote
第 1、第 2 引数をクォートシンボルとして定義します。
シンボルの長さは 5 文字までです。
引数が与えられなかった場合にはデフォルトの左右シングルクォートに
設定されます。
.It decr
引数の値を 1 だけ減少させます。
引数は正しく数値を表現する文字列でなければなりません。
.It define
第 1 引数で指定した名前の新しいマクロを定義します。
定義内容は第 2 引数で与えます。
定義中での $n (n は 0 から 9 まで) は それぞれそのマクロに与えられる
第 n 引数に置換されます。$0 はマクロ名そのものです。
指定されなかった引数は NULL 文字列に置換されます。
また $# は引数の数を表し、$* はコンマで区切られた全引数になります。
$@ は $* と同様ですが、更なる置換が行われないように全部の引数が
クォートされます。
.It defn
各引数で指定されたマクロの定義内容をクォートして返します。
これはマクロ定義の名称変更 (組み込みマクロであっても) に利用できます。
.It divert
.Nm m4
には 10 本の出力キューが用意されています
(0 から 9 までの番号がついています)。
処理の最後に、全てのキューは番号順に連結されて最終的な出力を
生成するようになっています。
初期状態では出力キューは 0 番に設定されています。
divert マクロを使って新しい出力キューを選ぶことが出来ます
(divert に不正な引数を与えると出力が破棄されてしまいます)。
.It divnum
現在の出力キューの番号を返します。
.It dnl
改行文字を含めた行末までの入力文字を破棄します。
.It dumpdef
引数で指定した項目に関して、その名前と定義を出力します。
引数が与えられなかった場合は全てのマクロについて出力します。
.It errprint
第 1 引数を標準エラー出力ストリームへ出力します。
.It eval
第 1 引数を計算式とみなして 32-bit 幅の算術演算を用いて計算します。
演算子としては標準の C で用いられるもの、すなわち 3 項、
算術、論理、シフト、関係、ビットの各演算子、および括弧が
利用可能です。
また数値も C と同様に 8 進、10 進、16 進で記述できます。
第 2 引数で (もしあれば) 演算結果の基数を指定でき、
第 3 引数で (もしあれば) 演算結果の最小桁数を指定できます。
.It expr
eval の別名です。
.It ifdef
第 1 引数で指定した名前のマクロが定義されていれば第 2 引数を返し、
定義されていなければ第 3 引数を返します。
第 3 引数が省略されていた場合は、その値は NULL になります。
ちなみに `unix' という単語があらかじめ定義されています。
.It ifelse
第 1 引数が第 2 引数とマッチしたら第 3 引数を返します。
マッチしなかった場合、その 3 個の引数は捨てられて次の 3 引数を
用いて同様の検査を繰り返します。
この処理は引数がなくなるか あるいは 1 つだけ残るまで繰り返され、
どれにもマッチしなかった場合には その最後に残った引数または NULL
(引数がなくなった場合) が返されます。
.It include
第 1 引数で指定されたファイルの内容を返します。
ファイルが読み込めなかった場合にはエラーメッセージを出力して処理を
中断します。
.It incr
引数を 1 だけ増加させます。
引数は正しく数値を表現する文字列でなければいけません。
.It index
第 2 引数が、第 1 引数の中で、何文字目に出現するかを返します
(たとえば index(the quick brown fox jumped, fox) では 16 が返ります)。
第 2 引数が第 1 引数の中に含まれていなかった場合には -1 を返します。
.It len
第 1 引数の文字数を返します。余分な引数は無視されます。
.It m4exit
第 1 引数 (指定されなかった場合は 0) を終了コードとして即座に終了します。
.It m4wrap
入力が最後の EOF に達したときに、どのような動作を行うかを設定します。
一般には種々の後始末を行うマクロを設定します
(たとえば、m4wrap("cleanup(tempfile)") とすると他の全ての処理が終了した
後に cleanup マクロが呼び出されます)。
.It maketemp
第 1 引数の中の文字列 XXXXX を現在のプロセス ID に置換します。
その他の部分はそのままです。
これはユニークなテンポラリファイル名の生成に利用できます。
.It paste
第 1 引数で指定されたファイルの内容をマクロ処理を一切行わずに include
します。
もしファイルが読み込めない場合にはエラーメッセージを出力して処理を
中断します。
.It popdef
各引数へ pushdef されている定義を戻します。
.It pushdef
define と同様の引数をとってマクロを定義しますが元の定義をスタックへ
保存しておきます。
保存された定義は後で popdef で戻すことができます。
.It shift
第 1 引数を除いた全ての引数を返します。
残りの引数はクォートされてコンマで区切られます。
クォートすることによって以降の処理で置換が行われないようにしています。
.It sinclude
エラーが起きても無視される点を除いて include と同じです。
.It spaste
エラーが起きても無視される点を除いて paste と同じです。
.It substr
第 1 引数の文字列のうちの、第 2 引数で指定されるオフセットから始まり
第 3 引数で指定される文字数の範囲の部分文字列を返します。
第 3 引数が省略された場合は残りの文字列全てを返します。
.It syscmd
第 1 引数をシェルに渡します。戻り値はありません。
.It sysval
最後に実行した syscmd の戻り値を返します。
.It translit
第 1 引数の中の文字を、第 2 引数で指定された文字集合から第 3 引数で
指定された文字集合へ書き直します。ただし
.Xr tr 1
式の省略指定を用いることはできません。
.It undefine
第 1 引数で指定されたマクロを未定義にします。
.It undivert
指定された出力キュー (引数がない場合は全てのキュー) の内容を掃き出します。
.It unix
OS プラットフォームを調べるために予め定義されているマクロです。
.El
.Sh 作者
.An Ozan Yigit Aq oz@sis.yorku.ca
および
.An Richard A. O'Keefe Aq ok@goanna.cs.rmit.OZ.AU
diff --git a/ja_JP.eucJP/man/man1/mail.1 b/ja_JP.eucJP/man/man1/mail.1
index fd12c6f100..a96aeb5ce9 100644
--- a/ja_JP.eucJP/man/man1/mail.1
+++ b/ja_JP.eucJP/man/man1/mail.1
@@ -1,1003 +1,1003 @@
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mail.1 8.2 (Berkeley) 12/30/93
-.\" %Id: mail.1,v 1.8.2.5 1998/04/14 01:00:35 steve Exp %
+.\" %Id: mail.1,v 1.15 1998/04/14 00:59:29 steve Exp %
.\" jpman %Id: mail.1,v 1.3 1997/10/30 01:42:49 h-nokubi Stab %
.\"
.Dd December 30, 1993
.Dt MAIL 1
.Os BSD 4
.Sh 名称
.Nm mail
.Nd メールの送信と受信
.Sh 書式
.Nm mail
.Op Fl iInv
.Op Fl s Ar subject
.Op Fl c Ar cc-addr
.Op Fl b Ar bcc-addr
.Ar to-addr ...
.Op \&- Ar sendmail-option ...
.Nm mail
.Op Fl iInNv
.Fl f
.Op Ar name
.Nm mail
.Op Fl iInNv
.Op Fl u Ar user
.Sh イントロダクション
.Nm mail
はインテリジェントなメール処理システムです。
コマンドシンタックスは
.Xr \&ed 1
に似ており、
.Xr \&ed 1
での行の代わりにメッセージを扱う形になっています。
.Pp
.Bl -tag -width flag
.It Fl v
冗長 (verbose) モードです。
メールの配送の詳細がユーザのターミナルに表示されます。
.It Fl i
tty の割り込みシグナルを無視します。
これは特に雑音の多い電話回線を通して
.Nm mail
を使う場合に役に立ちます。
.It Fl I
入力がターミナルでない場合にでも強制的に mail を対話モードで実行します。
特にメールを送る時の特殊文字
.Sq Ic \&~
は対話モードでのみ有効となります。
.It Fl n
起動時にシステム全体の
.Pa mail.rc
ファイルを読み込みません。
.It Fl N
メールを読んだりメールフォルダを編集する時に、最初のメッセージヘッダの
表示を行いません。
.It Fl s
コマンドラインからサブジェクトを指定します。
(
.Fl s
フラグの後の最初の引数だけがサブジェクトとして使われます。空白を含む
サブジェクトは引用符で囲むように注意して下さい。)
.It Fl c
カーボンコピーをユーザの
.Ar list
へ送ります。
.It Fl b
ブラインドカーボンコピーを
.Ar list
へ送ります。
.Ar list
はカンマで区切られた名前のリストとなります。
.It Fl f
あなたの
.Ar mbox
(もしくは指定されたファイル) の内容を処理対象として読み込みます。
.Ar quit
した時には
.Nm mail
は削除されなかったメッセージをこのファイルに書き戻します。
.It Fl u
これは以下と等価です。
.Pp
.Dl mail -f /var/mail/user
.El
.Ss メールを送る
メッセージを 1 人かそれ以上の人に送るために
.Nm mail
をメールが送られる相手の名前を引数として起動することができます。
メッセージをタイプした後、行の先頭で
.Sq Li control\-D
を入力します。
下記の
.Ar 「メールにリプライしたり、メールを始める」
のセクションでは手紙を編集する際に役に立つ
.Nm mail
の機能について説明しています。
.Pp
.Ss メールを読む
通常の使い方では
.Nm mail
は引数を指定しないで起動すると、ポストオフィスのメールをチェックし、見
つかった各メッセージにつき 1 行ずつヘッダを表示します。
現在のメッセージは初期状態では最初のメッセージ ( 1 番に番号が振られて
います) となっており、
.Ic print
コマンド (省略形
.Ic p
を使うことができます) によって表示することができます。
メッセージの位置を
.Xr \&ed 1
と同様に
.Ql Ic \&+
.Ql Ic \&\-
のコマンドを使って後や前に移動したり、単に数字を指定して移動したりする
ことができます。
.Pp
.Ss メールを廃棄する
メッセージをチェックした後、メッセージを
.Ic delete
コマンド
.Pq Ic d
で削除したり、それに
.Ic reply
コマンド
.Pq Ic r
でリプライ (返事を出す) したりすることができます。
メッセージを削除すると
.Nm mail
プログラムはそのメッセージのことを忘れますが、
この操作は取り消すことができます。
メッセージは
.Ic undeleted
コマンド
.Pq Ic u
を使ってメッセージの番号を指定するか、
.Nm mail
のセッションを
.Ic exit
コマンド
.Pq Ic x
で中途終了することによって削除をとりやめることができます。
しかし、削除されたメッセージは通常はなくなり二度と見ることはできませ
ん。
.Pp
.Ss メッセージを指定する
.Ic print
.Ic delete
のようなコマンドは、引数に複数のメッセージの番号を指定することによって
複数のメッセージに対して一度に適用することができます。
たとえば
.Dq Li delete 1 2
はメッセージ 1 と 2 を削除し、
.Dq Li delete 1\-5
は 1 から 5 のメッセージを削除します。
特別な名前
.Ql Li \&*
は全てのメッセージを意味し、
.Ql Li \&$
は最後のメッセージを意味します。
メッセージの最初の数行を表示するコマンド
.Ic top
を使って
.Dq Li top \&*
で全てのメッセージの最初の数行を表示することができます。
.Pp
.Ss メールにリプライしたり、メールを始める
.Ic reply
コマンドを使ってメッセージに対する返事を用意して、それをメッセージの差
出人に送り返すことができます。
タイプインしたメッセージは end-of-file までがメッセージの内容として定
義されます。
メッセージを編集している時に
.Nm mail
文字
.Ql Ic \&~
で始まる行を特別に扱います。
例えば、
.Ql Ic \&~m
とタイプする(行にこれだけタイプします)と現在のメッセージを
タブの分 (下記の変数
.Em indentprefix
を参照) だけ右にシフトして返事のメッセージにコピーします。
他のエスケープはサブジェクトの設定や、メッセージの受取人の追加や削除を
行なったり、またメッセージを修正するためにエディタを起動したり、コマン
ドを実行するためにシェルを起動したりします。
(下にこれらのオプションの要約があります。)
.Pp
.Ss メールの処理セッションを終了する
.Nm mail
セッションは
.Ic quit
コマンド
.Pq Ic q
で終了することができます。
チェックされたメッセージは削除されていなければ
.Ar mbox
ファイルにセーブされます。削除されている場合は本当に廃棄されます。
チェックされていないメッセージはポストオフィスに書き戻されます
(上記の
.Fl f
オプション参照)。
.Pp
.Ss 個人の配布リストとシステム全体の配布リスト
たとえば
.Dq Li cohorts
へメールを送ると複数の人に配布されるように、個人の配布リストを作成する
こともできます。
このようなリストは
.Pp
.Dl alias cohorts bill ozalp jkf mark kridle@ucbcory
.Pp
というような行をホームディレクトリの
.Pa \&.mailrc
ファイルに書いておくことによって定義できます。
このようなエイリアス (別名) の現在のリストは
.Nm mail
内で
.Ic alias
コマンドを使って表示することができます。
システム全体にわたる配布リストは
.Pa /etc/aliases
を編集することによって作成することができます。
これについては
.Xr aliases 5
.Xr sendmail 8
を参照してください。これらでは違った形式で記述されます。
あなたが送ったメールの中では個人のエイリアスが展開され、そのメールの受取
人が他の受取人に
.Ic reply
できるようになります。
システム全体の
.Ic aliases
はメールが送られた時には展開されませんが、
そのマシンに返信されたメールは
.Xr sendmail
によって処理される際にシステム全体のエイリアスで展開されます。
.Pp
.Ss ネットワークメール (ARPA, UUCP, Berknet)
ネットワークアドレスの説明については
.Xr mailaddr 7
を参照してください。
.Pp
.Nm mail
には
.Pa .mailrc
ファイルの中でセットして動作方法を変更するためのオプションがたくさんあ
ります。
たとえば
.Dq Li set askcc
.Ar askcc
機能を有効にします。
(これらのオプションについては下にまとめてあります。)
.Sh 要約
(`Mail Reference Manual' より抜粋)
.Pp
各コマンドは行中に単独入力されるか、またコマンドの後に引数をとることも
あります。
コマンドは全て入力する必要はありません。途中まで入力されたも
のに最初にマッチしたコマンドが使われます。
メッセージリストを引数として取るコマンドについては、メッセージリストが
与えられなければコマンドに要求されるものを満たす次のメッセージが使われ
ます。
次のメッセージがない場合にはサーチは逆順に行なわれ、もし適用されるメッ
セージが発見できない場合には
.Nm mail
.Dq Li No applicable messages
と表示しコマンドを中断します。
.Bl -tag -width delete
.It Ic \&\-
前のメッセージを表示します。
数字の引数
.Ar n
が指定されると、
.Ar n
個前に移動してメッセージを表示します。
.It Ic \&#
行中のこれ以降をコメントとして無視します。
.It Ic \&?
コマンドの短い要約を表示します。
.It Ic \&!
これに引き続くシェルコマンドを実行します
(
.Xr sh 1
.Xr csh 1
を参照) 。
.It Ic Print
.Pq Ic P
.Ic print
と同様ですが、無視されるヘッダフィールドも表示されます。
.Ic print ,
.Ic ignore ,
.Ic retain
を参照してください。
.It Ic Reply
.Pq Ic R
発信者に返信します。
元のメッセージの他の受取人には返信されません。
.It Ic Type
.Pq Ic T
.Ic Print
と同じです。
.It Ic alias
.Pq Ic a
引数がない場合は、現在定義されている全てのエイリアスを表示します。
引数がひとつ伴うと、そのエイリアスを表示します。
複数の引数が指定されると、新しいエイリアスを作成するか、古いものを変更
します。
.It Ic alternates
.Pq Ic alt
.Ic alternates
コマンドはいくつかのマシンにアカウントがある場合に便利な機能です。
.Nm mail
に対してリストされたアドレスがあなたのアドレスであることを指示するため
に使われます。
.Ic reply
コマンドによってメッセージに返信するときに
.Nm mail
.Ic alternates
リストにリストされているアドレスにはメッセージのコピーを送付しません。
.Ic alternates
コマンドが引数なしで指定された場合、現在の alternate の内容が表示され
ます。
.It Ic chdir
.Pq Ic c
ユーザの作業ディレクトリを指定されたものに変更します。
ディレクトリが指定されていなければ、ユーザのログインディレクトリに変更
します。
.It Ic copy
.Pq Ic co
.Ic copy
コマンドは
.Ic save
と同様のことを行ないますが、終了時に削除を行なうためのマークをメッセー
ジにつけません。
.It Ic delete
.Pq Ic d
メッセージのリストを引数として取り、それら全てを削除されたものとしてマー
クします。
削除されるメッセージは
.Ar mbox
にはセーブされず、また他のほとんどのコマンドの対象となりません。
.It Ic dp
(もしくは
.Ic dt )
現在のメッセージを削除し、次のメッセージを表示します。
次のメッセージがなければ、
.Nm mail
.Dq Li "at EOF"
と表示します。
.It Ic edit
.Pq Ic e
メッセージのリストを引数として取り、各々を順にテキストエディタで開きま
す。
メッセージはテキストエディタから戻ってきた時に再度読み込まれます。
.It Ic exit
.Pf ( Ic ex
もしくは
.Ic x )
ユーザのシステムメールボックス、
.Ar mbox
ファイル、
.Fl f
での編集ファイルを変更せずにシェルへ直ちに戻ります。
.It Ic file
.Pq Ic fi
.Ic folder
と同様です。
.It Ic folders
フォルダディレクトリ内のフォルダ名をリストします。
.It Ic folder
.Pq Ic fo
.Ic folder
コマンドは新しいメールファイルかフォルダに切替えます。
引数がないと、現在どのファイルを読んでいるかを表示します。
引数を指定すると、現在のファイルに対して行なった変更 (削除など) を書き
出し、新しいファイルを読み込みます。
引数の名前にはいくつかの特別な記法を使うことができます。
# は前のファイルを意味します。
% はあなたのシステムメールボックスを意味します。
%user は user のシステムメールボックスを意味します。
& はあなたの
.Ar mbox
ファイルを意味します。
\&+\&folder はあなたのフォルダディレクトリ中のファイルを意味します。
.It Ic from
.Pq Ic f
メッセージのリストを引数として取り、それらのメッセージのヘッダを表示し
ます。
.It Ic headers
.Pq Ic h
現在の範囲のヘッダをリストします。現在の範囲は 18 個のメッセージのグルー
プです。
引数として
.Ql \&+
が指定されると次の 18 個のメッセージのグループが表示され、
.Ql \&\-
が指定されると前の 18 個のメッセージのグループが表示されます。
.It Ic help
.Ic \&?
と同じです。
.It Ic hold
.Pf ( Ic ho ,
もしくは
.Ic preserve )
メッセージのリストを引数として取り、各メッセージを
.Ar mbox
ではなくユーザのシステムメールボックスにセーブするためのマークをつけ
ます。
.Ic delete
によってマークが付けられているメッセージにはマークはつけません。
.It Ic ignore
.Ar ignored list
にヘッダフィールドのリストを追加します。
ignore list (無視リスト) に登録されているヘッダフィールドは
メッセージを表示する際にターミナルに表示されません。
このコマンドはマシンが生成するヘッダフィールドの表示を省略するのに非常
に便利です。
.Ic Type
.Ic Print
コマンドを使うと表示の際に無視するフィールドも含めメッセージの全てを表
示することができます。
.Ic ignore
が引数なしで実行されると現在の無視するフィールドのリストが表示されます。
.It Ic mail
.Pq Ic m
ログイン名と配布グループ名を引数として取り、メールをそれらの人々に送付
します。
.It Ic more
.Pq Ic \mo
メッセージのリストを引数として取り、そのリストに対してページャを起動し
ます。
.It Ic mbox
終了時にあなたのホームディレクトリの
.Ic mbox
へ書き込むメッセージのリストを指定します。
.Ic hold
オプションをセットして
.Em いなければ
、これはメッセージに対するデフォルトの動作となります。
.It Ic next
.Pq Ic n
(
.Ic \&+
.Tn CR
と同様)
次のメッセージへ進み、それを表示します。
引数リストを指定すると、次にマッチするメッセージを表示します。
.It Ic preserve
.Pq Ic pre
.Ic hold
と同様です。
.It Ic print
.Pq Ic p
メッセージリストを引数として取り、各メッセージをユーザのターミナルに表
示します。
.It Ic quit
.Pq Ic q
セッションを終了し、全ての未削除のまだセーブしていないメッセージをユー
ザのホームディレクトリの
.Ar mbox
ファイルへセーブし、
.Ic hold
.Ic preserve
でマークされたメッセージか参照されなかったメッセージはシステムメールボッ
クスに残し、その他の全てのメッセージをシステムメールボックスから削除し
ます。
もし新しいメールがセッション中に届いていたら、メッセージ
.Dq Li "You have new mail"
を表示します。
もしメールボックスのファイルを
.Fl f
フラグ付きで編集している途中であれば、編集中のファイルは再度書き込まれ
ます。
編集中のファイルの再書き込みが失敗しなければシェルに戻ります。
編集中のファイルの再書き込みが失敗した場合、ユーザは
.Ic exit
コマンドによって抜け出すことができます。
.It Ic reply
.Pq Ic r
メッセージリストを引数として取り、メールを指定されたメッセージの差出人
と全ての受取人に送ります。
デフォルトのメッセージは削除されていてはいけません。
.It Ic respond
.Ic reply
と同様です。
.It Ic retain
.Ar retained list
(保持リスト) にヘッダフィールドのリストを追加します。
メッセージを表示する時には、retain list に登録されているヘッダーフィー
ルドのみがターミナルに表示されます。
他の全てのフィールドは省略されます。
.Ic Type
.Ic Print
コマンドを使うとメッセージの全てを表示することができます。
.Ic retain
が引数を指定されずに実行されると、現在 retain list に登録されているフィー
ルドのリストを表示します。
.It Ic save
.Pq Ic s
メッセージのリストとファイル名を引数として取り、各メッセージを順にファ
イルの末尾に追加します。
ファイル名が引用符で囲まれて表示され、それに続いて行数と文字数がユーザ
のターミナルにエコーされます。
.It Ic set
.Pq Ic se
引数がない場合には全ての変数の値を表示します。
引数が指定された場合はオプションをセットします。
引数は
.Ar option=value
( = の前後にはスペースは入りません) か
.Ar option
の形式を取ります。
空白やタブを代入式に含めるために引用符を代入文の どの部分にでも
置いてかまいません。例えば次のようになります。
.Dq Li "set indentprefix=\*q->\*q"
.It Ic saveignore
.Ic saveignore
.Ic ignore
コマンドが
.Ic print
.Ic type
の際に行なうことを
.Ic save
の際に行なうものです。
これでマークされたヘッダフィールドは
.Ic save
コマンドによって保存される時や自動的に
.Ar mbox
へ保存される時にフィルタリングされて取り除かれます。
.It Ic saveretain
.Ic saveretain
.Ic retain
.Ic print
.Ic type
の際に行なうことを
.Ic save
の際におこなうものです。
.Ic save
コマンドによって保存される時や自動的に
.Ar mbox
へ保存される時には、これでマークされたヘッダフィールドのみが保存されます。
.Ic saveretain
.Ic saveignore
に優先します。
.It Ic shell
.Pq Ic sh
シェルを対話モード起動します。
.It Ic size
メッセージのリストを引数として取り、各メッセージのサイズを文字数で表示
します。
.It Ic source
.Ic source
コマンドはファイルからコマンドを読み込みます。
.It Ic top
メッセージのリストを引数として取り、各メッセージの先頭の数行を表示しま
す。
表示する行数は変数
.Ic toplines
によって制御でき、デフォルトでは 5 行となっています。
.It Ic type
.Pq Ic t
.Ic print
と同様です。
.It Ic unalias
.Ic alias
コマンドによって定義された名前のリストを引数として取り、記憶されている
ユーザのグループを無効にします。
グループの名前は以後意味を持たなくなります。
.It Ic undelete
.Pq Ic u
メッセージのリストを引数として取り、各メッセージを削除されて
.Ic いない
ものとしてマークします。
.It Ic unread
.Pq Ic U
メッセージのリストを引数として取り、各メッセージを
.Ic 未読
としてマークします。
.It Ic unset
オプションの名前のリストを引数として取り、それらの記憶されている値を無
効とします。
.Ic set
の逆です。
.It Ic visual
.Pq Ic v
メッセージのリストを引数として取り、各メッセージについてスクリーンエディ
タを起動します。
.It Ic write
.Pq Ic w
.Ic save
と同様ですが、
.Pq Ar ヘッダを除いて
メッセージの本文
.Ic のみ
が保存されます。
メッセージシステムを使ってソースプログラムテキストを送受信するような作
業で非常に便利です。
.It Ic xit
.Pq Ic x
.Ic exit
と同様です。
.It Ic z
.Nm mail
.Ic headers
コマンドにて説明されているようにウィンドウいっぱいにメッセージヘッダを
表示します。
.Nm mail
が指し示しているメッセージの位置は
.Ic \&z
コマンドによって次のウィンドウに進めることができます。
また、
.Ic \&z\&\-
コマンドを使って前のウィンドウに戻ることもできます。
.El
.Ss チルダ/エスケープ
.Pp
ここではチルダエスケープを要約します。
チルダエスケープはメッセージを編集している時に特別の機能を実行するため
に使われます。
チルダエスケープは行の先頭でのみ認識されます。
実際のエスケープ文字は
.Ic escape
オプションによってセットできるので、
.Dq Em チルダエスケープ
という呼び方は多少間違ったものです。
.Bl -tag -width Ds
.It Ic \&~! Ns Ar command
指定されたシェルコマンドを実行し、メッセージに戻ります。
.It Ic \&~b Ns Ar name ...
カーボンコピーの受取人のリストへ指定された name を追加します。
ただし name は Cc: 行へは表示されません ("ブラインド" カーボ
ンコピー)。
.It Ic \&~c Ns Ar name ...
指定された name をカーボンコピーの受取人のリストに追加します。
.It Ic \&~d
ホームディレクトリの
.Dq Pa dead.letter
ファイルをメッセージ中に読み込みます。
.It Ic \&~e
今までに編集したメッセージをテキストエディタで開きます。
編集セッションの終了後、メッセージに続けてテキストを追加することができ
ます。
.It Ic \&~f Ns Ar messages
指定されたメッセージを送ろうとしているメッセージ中に読み込みます。
メッセージが指定されない場合は、現在のメッセージを読み込みます。
現在無視されているメッセージヘッダ (
.Ic ignore
.Ic retain
コマンドによる) は読み込まれません。
.It Ic \&~F Ns Ar messages
.Ic \&~f
と同様ですが、全てのメッセージヘッダが含まれます。
.It Ic \&~h
メッセージヘッダを順に各々を入力して編集し、テキストを末尾に追加したり、
現在のターミナルの erase 文字や kill 文字を使ってフィールドを変更した
りします。
.It Ic \&~m Ns Ar messages
指定されたメッセージを現在送ろうとしているメッセージの中に読み込み、タ
ブか
.Ar indentprefix
に設定されている値でインデントします。
メッセージが指定されていない場合は現在のメッセージが読み込まれます。
現在無視されているメッセージヘッダ (
.Ic ignore
.Ic retain
コマンドによる) は読み込まれません。
.It Ic \&~M Ns Ar messages
.Ic \&~m
と同様ですが、全てのメッセージヘッダが読み込まれます。
.It Ic \&~p
今までに修正したメッセージをメッセージヘッダフィールドと共に表示します。
.It Ic \&~q
送ろうとしているメッセージを中断し、
.Ic save
がセットされている場合はホームディレクトリの
.Dq Pa dead.letter
にメッセージをセーブします。
.It Ic \&~r Ns Ar filename
指定されたファイルをメッセージに読み込みます。
.It Ic \&~R Ns Ar string
.Ar string
を Reply-To: フィールドとして使用します。
.It Ic \&~s Ns Ar string
指定された文字列を現在のサブジェクトフィールドに設定します。
.It Ic \&~\&t Ns Ar name ...
指定された名前を受取人のリストに追加します。
.It Ic \&~\&v
別のエディタ (
.Ev VISUAL
オプションによって定義されているもの) で現在までに修正したメッセージを
開きます。
通常は別のエディタはスクリーンエディタとなります。
エディタを終了した後、メッセージの末尾にテキストを追加できるようになり
ます。
.It Ic \&~w Ns Ar filename
指定されたファイルにメッセージを書き込みます。
.It Ic \&~\&| Ns Ar command
指定されたコマンドをフィルタとし、パイプを通してメッセージに適用します。
コマンドから何の出力もないか、コマンドが異常終了した場合は、メッセージ
のテキストは元のままとなります。
メッセージを整形するためによく
.Xr fmt 1
コマンドが
.Ic command
として使われます。
.It Ic \&~: Ns Ar mail-command
指定されたメールコマンドを実行します。
しかし全てのコマンドが使えるわけではありません。
.It Ic \&~~ Ns Ar string
メッセージに単独の ~ で始まるテキスト文字列を挿入します。
エスケープ文字が変更されている場合は、それを送るためにはエスケープ文字
を 2 つ指定しなければなりません。
.El
.Ss メールオプション
オプションは
.Ic set
.Ic unset
コマンドで制御します。
オプションは 2 値か文字列となります。
2 値の場合はセットされているか、されていないかだけが意味を持ちます。
文字列の場合は実際にセットしている値が意味を持ちます。
2 値のオプションには次のものがあります。
.Bl -tag -width append
.It Ar append
メッセージを
.Ar mbox
にセーブする場合、先頭に書くのではなく、末尾に追加します。
これは常にセットされていなければなりません (システムの
.Pa mail.rc
ファイルにおいて設定することが望ましいです)。
.It Ar ask
.Nm mail
は送ろうとしている各メッセージのサブジェクトの入力を促します。
改行のみを入力するとサブジェクトフィールドは送られません。
.It Ar askcc
各メッセージの編集後に追加のカーボンコピーの受取人の入力を促します。
現在のリストで十分な場合は改行のみを入力してください。
.It Ar autoprint
.Ic delete
コマンドを
.Ic dp
のように動作させます。
すなわちメッセージの削除後、次のものが自動的に表示されます。
.It Ar debug
2 値のオプション
.Ar debug
をセットするとコマンド行で
.Fl d
を指定した時と同じ動作になり、
.Nm mail
はデバッグに有用な全ての種類の情報を出力します。
.It Ar dot
2 値のオプション
.Ar dot
をセットすることによって、
.Nm mail
は行中にピリオドが単独で入力されると、送ろうとしているメッセージが終了した
ものとみなします。
.It Ar hold
このオプションはデフォルトでメッセージをシステムメールボックス中に保持
するために使われます。
.It Ar ignore
ターミナルからの割り込み信号を無視し、@ としてエコーします。
.It Ar ignoreeof
.Ar ignoreeof
.Ar dot
に関連するオプションであり、
.Nm mail
にメッセージの最後での control-d を無視させます。
.Ar Ignoreeof
.Nm mail
のコマンドモード中でも有効となります。
.It Ar metoo
通常、差出人を含むグループの展開時には差出人は取り除かれます。
このオプションをセットすることによって差出人も展開されたグループに含ま
れるようになります。
.It Ar noheader
.Ar noheader
オプションをセットすると、コマンド行で
.Fl N
フラグを指定するのと同様の動作となります。
.It Ar nosave
普通は
.Tn RUBOUT
(erase もしくは delete) を 2 回入力してメッセージの編集を中断する時、
.Nm mail
はホームディレクトリのファイル
.Dq Pa dead.letter
に中断した手紙をコピーします。
この 2 値のオプション
.Ar nosave
をセットすると、ファイルへのコピーは行なわれません。
.It Ar Replyall
.Ic reply
コマンドと
.Ic Reply
コマンドの意味を逆転させます。
.It Ar quiet
最初に起動された時にバージョンの表示を省略します。
.It Ar searchheaders
このオプションがセットされていると、``/x:y'' の形式でのメッセージリス
トの指定はヘッダフィールド ``x'' 中にサブストリング ``y'' を含む全ての
メッセージに展開されます。ストリングのサーチは大文字と小文字を区別しま
せん。
.It Ar verbose
.Ar verbose
オプションをセットするとコマンド行で
.Fl v
フラグをセットした時と同様の動作となります。
.Nm mail
が verbose (饒舌) モードで実行されている時、実際のメッセージの配送の様
子がターミナルに表示されます。
.El
.Ss オプションストリング値
.Bl -tag -width Va
.It Ev EDITOR
.Ic edit
コマンドと
.Ic \&~e
エスケープで使われるテキストエディタのパス名です。
定義されていない場合はデフォルトのエディタが使われます。
.It Ev LISTER
.Ic folders
コマンドで使われるディレクトリをリストするコマンドのパス名です。
デフォルトは
.Pa /bin/ls
です。
.It Ev PAGER
.Ic more
コマンドや変数
.Ic crt
がセットされている時に使われるプログラムのパス名です。
このオプションが定義されていないとデフォルトのページャ
.Xr more 1
が使われます。
.It Ev REPLYTO
設定されている場合、送信メッセージの Reply-To フィールドの初期化に使用
されます。
.It Ev SHELL
.Ic \&!
コマンドや
.Ic \&~!
エスケープで使われるシェルのパス名です。
このオプションが定義されていないとデフォルトのシェルが使われます。
.It Ev VISUAL
.Ic visual
コマンドや
.Ic \&~v
エスケープで使われるテキストエディタのパス名です。
.It Va crt
値をとるオプション
.Va crt
は、メッセージを読むために
.Ev PAGER
が使われるメッセージの長さの閾値として使われます。
.Va crt
が値なしでセットされていると、システムに保存されているターミナルの画面
の高さが閾値の計算に使われます (
.Xr stty 1
を参照して下さい)。
.It Ar escape
これが定義されていると、このオプションの最初のキャラクタがエスケープを
示すための ~ の代わりに使われます。
.It Ar folder
メッセージのフォルダを置くためのディレクトリ名です。
これが `/' で始まっていると
.Nm mail
は絶対パスとして解釈します。それ以外の場合はフォルダのディレクトリはホー
ムディレクトリからの相対パスとして扱われます。
.It Ev MBOX
.Ar mbox
の名前です。
これはフォルダの名前とすることもできます。
デフォルトはホームディレクトリの
.Dq Li mbox
となります。
.It Ar record
これが定義されていると、全ての発信されるメールを記録するために使われる
ファイルのパス名となります。
定義されていない場合は、発信メールはセーブされません。
.It Ar indentprefix
チルダエスケープ ``~m'' で、通常のタブ文字 (^I) の代わりにメッセージを
インデントするために使われる文字列となります。
これにスペースやタブが含まれている場合は引用符で囲んで下さい。
.It Ar toplines
これが定義されていると、
.Ic top
コマンドで表示するメッセージの行数となります。通常は先頭の 5 行が表示
されます。
.El
.Sh 環境変数
.Nm mail
は環境変数
.Ev HOME
.Ev USER
を使用します。また、環境変数
.Ev MAIL
がセットされていると、デフォルトの /var/mail の代わりにユーザのメール
ボックスの位置として使われます。
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/mail.*help -compact
.It Pa /var/mail/*
ポストオフィスです。
.It ~/mbox
ユーザの古いメールです。
.It ~/.mailrc
起動時に実行されるメールコマンドを指定するファイルです。
.It Pa /tmp/R*
一時ファイルです。
.It Pa /usr/share/misc/mail.*help
ヘルプファイルです。
.sp
.It Pa /usr/share/misc/mail.rc
.It Pa /usr/local/etc/mail.rc
.It Pa /etc/mail.rc
システムの初期化ファイルです。
各ファイルが存在すればこの順に読み込まれます。
.El
.Sh 関連項目
.Xr fmt 1 ,
.Xr newaliases 1 ,
.Xr vacation 1 ,
.Xr aliases 5 ,
.Xr mailaddr 7 ,
.Xr sendmail 8 ,
.Rs
.%T "The Mail Reference Manual" .
.Re
.Sh 歴史
.Nm
コマンドは
.At v1
で登場しました。
本マニュアルページは
元々 Kurt Shoens によって書かれた
.%T "The Mail Reference Manual"
をベースにしています。
.Sh バグ
ここに文書化されていないフラグがいくつか存在します。
ほとんどは一般のユーザには役に立たないものです。
.Pp
混乱しやすいのですが、通常
.Nm mail
.Nm Mail
への単なるリンクとなっています。
diff --git a/ja_JP.eucJP/man/man1/mailq.1 b/ja_JP.eucJP/man/man1/mailq.1
index bb91e6cfb8..2c3a4db272 100644
--- a/ja_JP.eucJP/man/man1/mailq.1
+++ b/ja_JP.eucJP/man/man1/mailq.1
@@ -1,83 +1,62 @@
-.\" Copyright (c) 1983, 1997 Eric P. Allman
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1985, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" 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.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)mailq.1 8.5 (Berkeley) 2/1/97
+.\" @(#)mailq.1 8.10 (Berkeley) 5/19/98
+.\"
.\" jpman %Id: mailq.1,v 1.2 1997/03/29 06:21:16 horikawa Stab %
.\"
-.Dd February 1, 1997
+.Dd May 19, 1998
.Dt MAILQ 1
.Os BSD 4
.Sh 名称
.Nm mailq
.Nd メールのキューを表示する
.Sh 書式
.Nm mailq
.Op Fl v
.Sh 解説
.Nm mailq
は、後で配送するためにキューに蓄えたメールを一覧表示します。
.Pp
各メッセージの 1 行目は、ホストがメッセージにつける内部の識別子、
メッセージのバイト数、キューに入れられた日付と時間、
メッセージの送り手を表示します。
2 行目は、このメールがキューに入れられる原因となったエラーを表示します。
このメッセージは、
キューのなかでメールが最初に処理されているときには表示されません。
そのあとの行には、メールの受け手が 1 行に 1 人ずつ表示されます。
.Pp
.Nm mailq
は、``sendmail -bp'' とまったく同じです。
.Pp
オプション:
.Bl -tag -width flag
.It Fl v
詳細な情報を表示します。
通常の表示に加え、メッセージの優先度と、
警告メッセージを送ったか否かを示す 1 文字の記号 (``+'' か空白)
を最初の行に追加します。
さらに、メールの受け手の ``制御ユーザ (controlling user)'' 情報を表示します;
これは、このメールによって実行されるプログラムの所有者および、
存在するのであれば、このコマンドが展開される元のエイリアス名です。
.El
.Pp
.Nm mailq
は成功した場合は0を、エラーが起きた場合は0より大きな
値を返します。
.Pp
.Sh 関連項目
.Xr sendmail 8
.Pp
.Sh 歴史
.Nm mailq
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/make.1 b/ja_JP.eucJP/man/man1/make.1
index bc96ac8ba3..b54594b033 100644
--- a/ja_JP.eucJP/man/man1/make.1
+++ b/ja_JP.eucJP/man/man1/make.1
@@ -1,925 +1,925 @@
.\" 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.
.\"
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
-.\" %Id: make.1,v 1.6.2.4 1998/06/04 22:33:18 steve Exp %
+.\" %Id: make.1,v 1.12 1998/05/25 03:28:37 steve 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
.\" jpman %Id: make.1,v 1.2 1997/05/27 00:42:17 mutoh Stab %
.\"
.Dd March 19, 1994
.Dt MAKE 1
.Os
.Sh 名称
.Nm make
.Nd プログラムの依存関係をメンテナンスする
.Sh 書式
.Nm make
.Op Fl Beiknqrst
.Op Fl D Ar variable
.Op Fl d Ar flags
.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=value
.Op Ar target ...
.Sh 解説
.Nm make
は、プログラムのメンテナンスを単純化するためのツールです。その入力は
ファイル毎の依存関係指定のリストで、それぞれのファイルがどのプログラム、
どのファイルに依存するか記述されています。
その指定リストとして、ファイル
.Ql Pa makefile
が存在すればそれを、無ければ
.Ql Pa Makefile
を読み込みます。
.Ql Pa .depend
というファイルがあれば、それも読み込みます
.Pq Xr mkdep 1 を参照
.Pp
本マニュアルはリファレンスのためのみのドキュメントです。
.Nm make
と makefile に関する詳しい記述は
.%T "Make \- A Tutorial"
を参照してください。
.Pp
オプションは以下のとおりです。
.Bl -tag -width Ds
.It Fl B
シーケンス中の依存行のソースを作成するために、各コマンドに対して
1 つのシェルを実行する、バックワード互換モードで実行しようとします。
.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 "g1"
処理を行う前に、入力のグラフを表示します。
.It Ar "g2"
すべての処理を行ったあと、あるいはエラーにより終了する前に入力のグラフを
表示します。
.It Ar j
複数のシェルを起動する場合の情報を表示します。
.It Ar m
ターゲットの作成と変更日付に関する情報を表示します。
.It Ar s
拡張子解釈に関する情報を表示します。
.It Ar t
ターゲットリストのメンテナンスに関する情報を表示します。
.It Ar v
変数の値に関する情報を表示します。
.El
.It Fl e
環境変数で makefile 中の変数の値を上書きするように指示します。
.It Fl f Ar makefile
デフォルトの
.Ql Pa makefile
.Ql Pa Makefile
のかわりに、読み込むファイルを指定します。もし
.Ar makefile
.Ql Fl
なら標準入力から読み込みます。複数のファイルが指定可能で、
指定した順に読み込まれます。
.It Fl I Ar directory
makefile と、インクルードされる makefile を検索するためのディレクトリを
指定します。システムで定義してある makefile のあるディレクトリ (または、
複数のディレクトリ;
.Fl m
オプションを参照) は自動的にリストに含まれ、検索されます。
.It Fl i
makefile から実行されたシェルコマンドが 0 でない終了ステータスを返し
ても無視します。makefile 中でコマンドの先頭に
.Ql Fl
を指定するのと同じです。
.It Fl j Ar max_jobs
.Nm make
が同時に起動できるジョブの数を指定します。互換性モードをオフにするには、
.Ar B
フラグも指定してください。
.It Fl k
エラーが発生しても処理を続行します。ただし、発生したエラーによって作成
が不能になったターゲットに依存したターゲットに関しては処理が中断されます。
.It Fl m Ar directory
<...> 形式で読み込まれる sys.mk や makefile を検索するための
ディレクトリを指定します。複数のディレクトリを検索パスに加えることが
できます。このパスは、デフォルトのシステムインクルードパス
/usr/share/mk を上書きします。
さらに、システムインクルードパスを "..." 形式のインクルードによって
追加することができます(
.Fl I
オプションを参照)。
.It Fl n
make が実行するであろうコマンド内容の表示のみを行い、実行はしません。
.It Fl q
いっさいのコマンドを実行せず、指定されたターゲットが最新のものであれば 0
を、そうでなければ 1 を終了ステータスとして返します。
.It Fl r
システムの makefile で定義された組み込みのルールを使用しません。
.It Fl s
実行するコマンドを表示しません。makefile のなかで、コマンドの先頭に
.Ql Ic @
を指定するのと同じです。
.It Fl t
makefile で指定されたターゲットを作り直すのではなく、ターゲットを作成
するか、あるいは最終更新日付を現在の時刻に設定することにより、
ターゲットが最新であるかのようにします。
.It Fl V Ar variable
グローバルな文脈での
.Nm make
.Ar variable
の値を表示します。如何なるターゲットも生成しません。
このオプションで複数のインスタンスを指定することができます。
変数は、各行毎に表示されます。未定義もしくは空の変数は、空行で
表現されます。
.It Ar variable=value
変数
.Ar variable
の値を
.Ar value
に設定します。
.El
.Pp
makefile には 7 種類の行があります: 依存関係記述、シェルコマンド、変数
代入、インクルード文、条件命令、for ループ、コメントです。
.Pp
一般に、行は行末にバックスラッシュ
.Pq Ql \e
を置くことにより次行へ継続させることがで
きます。この場合、バックスラッシュ直後の改行と、次の行の先頭の
空白部分は 1 つの空白に置き換えられます。
.Sh ファイル依存関係記述
入力ファイルにおける依存関係記述行は、1 つ以上のターゲット、オペレータ、
0 個 以上のソースからなります。
これは、ターゲットがソースに「依存」しているという関係を
定義しており、通常は、ソースからターゲットが作成されます。ターゲットと
ソースとの厳密な関係はオペレータによって、両者間に指定します。
オペレータには以下の種類があります。
.Bl -tag -width flag
.It Ic \&:
ターゲットの最終更新日付が、いずれかのソースの最終更新日付よりも
古いものであれば、ターゲットは古いものであり、作り直されるべきものと
判断されます。
別の行でこのオペレータによる同じターゲットに関するソースの記述があれば、
それらはすべて 1 つにまとめられます。ターゲットの作成中に
.Nm make
が中断されると、ターゲットは削除されます。
.It Ic \&!
ターゲットはつねに作り直されます。ただし、作り直されるのは、
すべてのソースが検査され、必要と判断されたソースが作り直されたあとです。
このオペレータによる同じターゲットに関するソースの記述が別の行にもあれば、
それらはすべて 1 つにまとめられます。ターゲットの作成中に
.Nm make
が中断されると、ターゲットは削除されます。
.It Ic \&::
ソースが指定されていなかった場合、つねにターゲットは作り直されます。
指定されていた場合にはソースのいずれかがターゲットよりも新しい時だけ
ターゲットは作り直されます。本オペレータでは、別の行において同じ
ターゲットに関するソースの記述があっても 1 つにまとめません。
ターゲットの作成中に
.Nm make
が中断されても、ターゲットは削除されません。
.El
.Pp
ターゲットとソースは、シェルのワイルドカードとして
.Ql ? ,
.Ql * ,
.Ql [] ,
.Ql {}
を含むことができます。
.Ql ? ,
.Ql * ,
.Ql []
は、ターゲットまたはソースの最後の要素として記述でき、
存在するファイルを指定するものでなければなりません。
.Ql {}
はファイルが存在しなくてもかまいません。シェルのように辞書順に並べられて
展開されることはなく、ファイルシステム上に並んでいる順番のまま行われます。
.Sh シェルコマンド
ターゲットは、シェルコマンドの列と関連付けることができ、通常はそれによって
ターゲットを作成します。
これに含まれる各コマンドは、
.Em 必ず
行頭のタブに続けて記述します。同一のターゲットに
対して複数の依存記述行がある場合、
.Ql Ic ::
オペレータを使用したのでなければ、それらのうちの 1 つにのみコマンド行を
続けることができます。
.Pp
コマンドラインの先頭もしくは先頭 2 文字が
.Ql Ic @
.Ql Ic \-
ならば、コマンドは特別な扱いを受けます。
.Ql Ic @
は、コマンドが実行前に、コマンド内容の表示を抑制します。
.Ql Ic \-
は、コマンドの 0 ではない終了ステータスを無視するように指示します。
.Sh 変数代入
.Nm make
で使われる変数はシェルでの変数に類似しています。そして、歴史的な経緯から、
すべて大文字からなる名前が用いられます。変数代入には以下の 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 make
の環境中で有効な変数
.It グローバル変数
makefile とインクルードされた makefile 内で有効な変数。
.It コマンドライン変数
コマンドラインで指定された変数。
.It ローカル変数
あるターゲットのみに対して定義される変数。ローカル変数には、
以下の 7 種類があります:
.Bl -tag -width ".ARCHIVE"
.It Va .ALLSRC
このターゲットに対するすべてのソースのリスト。
.Ql Va \&>
も同じです。
.It Va .ARCHIVE
アーカイブファイル名
.It Va .IMPSRC
ターゲット名に変換するのに使用するソースのファイル名またはパス名
.Pq 「暗黙の」ソース
.Ql Va \&<
も同じです。
.It Va .MEMBER
アーカイブのメンバ
.It Va .OODATE
ターゲットよりも新しいソースのリスト。
.Ql Va \&?
も同じです。
.It Va .PREFIX
ターゲットのディレクトリ名と拡張子を取り除いた名前。
.Ql Va *
も同じです。
.It Va .TARGET
ターゲットの名前。
.Ql Va @
も同じです。
.El
.Pp
短い形式
.Ql Va @ ,
.Ql Va ? ,
.Ql Va \&> ,
.Ql Va *
は古い makefile での互換性のためのものですが、利用することは推奨できません。
また、
.Ql Va "@F" ,
.Ql Va "@D" ,
.Ql Va "<F" ,
.Ql Va "<D" ,
.Ql Va "*F" ,
.Ql Va "*D"
.At V
の makefile との互換性のために存在していますが、利用することは
推奨できません。
.Pp
次の 4 つのローカル変数は依存関係記述行のソースに使うことができます。
これらは、その行のターゲット毎の値に展開されます。
これらのローカル変数は
.Ql Va .TARGET ,
.Ql Va .PREFIX ,
.Ql Va .ARCHIVE ,
.Ql Va .MEMBER
です。
.Pp
さらに、
.Nm make
では以下の変数を利用することができます。
.Bl -tag -width MAKEFLAGS
.It Va \&$
単一のドル記号
.Ql \&$
。すなわち、
.Ql \&$$
は単一のドル記号に置換されます。
.It Va .MAKE
.Nm make
の起動に使用された名前
.Pq Va argv Op 0
.It Va .CURDIR
.Nm make
が実行されたディレクトリ。
.It Ev PWD
現在のディレクトリへの異なったパス。
.Nm make
は普通、
.Ql Va .CURDIR
.Xr getcwd 2
で得られた正式なパスに設定します。しかしながら、環境変数
.Ql Ev PWD
が設定されており、与えられたパスがカレントディレクトリの時、
.Nm make
は、
.Ql Va .CURDIR
.Ql Ev PWD
の値に設定します。
.Nm make
が実行している全てのプログラムに対しては、
.Ql Ev PWD
.Ql Va .OBJDIR
の値を設定します。
.El
.Pp
変数展開において、その変数内の単語を選択したり、変更したりすることが
できます
.Pq 単語とは空白で区切られた文字列です
。変数展開の一般形は、次のとおりです。
.Pp
.Dl {variable[:modifier[:...]]}
.Pp
各修飾子は、コロンと以下に示すいずれかの文字のうち 1 文字からなります。
リテラルなコロン
.Pq Ql \&:
を指定するにはコロンの前にバックスラッシュ
.Pq Ql \e
を置きます。
.Bl -tag -width Cm E\&
.It Cm E
変数中の各単語を拡張子で置換します。
.It Cm H
変数中の各単語を、パスの最後の要素
を除いた部分で置換します。
.It Cm M Ns Ar pattern
pattern にマッチする単語を選択します。標準的なワイルドカード
.Pf ( Ql * ,
.Ql ? ,
.Ql Op )
が使用できます。ワイルドカード文字はバックスラッシュ
.Pq Ql \e
によりエスケープできます。
.It Cm N Ns Ar pattern
pattern にマッチしない単語を選択します。それ以外は
.Ql Cm M
と同様です。
.It Cm R
変数中の各単語から拡張子を取り除きます。
.Sm off
.It Cm S No \&/ Ar old_pattern Xo
.No \&/ Ar new_pattern
.No \&/ Op Cm g
.Xc
.Sm on
各単語中の最初の
.Ar old_pattern
.Ar new_pattern
に置換します。もし、最後のスラッシュのあとに
.Ql g
が指定されていれば、各単語中に出現したすべての
.Ar old_pattern
.Ar new_pattern
に置換されます。
.Ar old_pattern
がキャレット
.Pq Ql ^
で始まっているなら、そのパタンを各単語の先頭からマッチさせることを
意味します。
.Ar old_pattern
がドル記号
.Pq Ql $
で終わっているなら、そのパタンを各単語の終端にマッチさせることを
意味します。
.Ar new_string
中のアンパサンド
.Pq Ql &
.Ar old_pattern
に置換されます。修飾文字列の区切りにはどんな文字を使ってもかまいません。
.Ql ^
,
.Ql $
,
.Ql &
と区切り文字はバックスラッシュ
.Pq Ql \e
によりエスケープできます。
.Pp
.Ar old_string
.Ar new_string
中では通常の変数置換が行われます。ただし、ドル記号
.Pq Ql \&$
の展開を抑制するためには、通常のドル記号の前置ではなく、
バックスラッシュでエスケープします。
.It Cm T
変数中の各単語をパスの最後の要素
で置換します。
.It Ar old_string=new_string
これは
.At V
での変数置換の形式です。これは最後の修飾子として指定する必要があります。
もし、パタンマッチ文字
.Ar %
.Ar new_string
にも
.Ar old_string
にも含まれないなら、
.Ar new_string
.Ar old_string
はどちらも単語の最後にマッチするものとみなされます。すなわち、
拡張子のみか、または単語全部が置換されることになります。そうでなければ、
.Ar %
.Ar old_string
に含まれており、それは
.Ar new_string
に置換されます。
.El
.Sh ディレクティブ、条件式、FOR ループ
.Nm make
では、C 言語を彷彿させるディレクティブ、条件文、ループを使用することが
できます。これらの制御構造は、行頭に単一のドット
.Pq Ql \&.
がくることで識別されます。以下のディレクティブがサポートされています:
.Bl -tag -width Ds
.It Ic \&.include Ar <file>
.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 make
は終了コード 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 Ar target
.Op Ar operator target ...
.Xc
ターゲット
.Ar target
が作成中かどうかをテストします。
.It Ic .else
最後に行った条件文の意味を逆にします。
.It Xo
.Ic .elif
.Oo \&! Oc Ar expression
.Op Ar operator expression ...
.Xc
.Ql Ic .else
と直後の
.Ql Ic .if
を対にしたものです。
.It Xo
.Ic .elifdef
.Oo \&! Oc Ns Ar variable
.Op Ar operator variable ...
.Xc
.Ql Ic .else
と直後の
.Ql Ic .ifdef
を対にしたものです。
.It Xo
.Ic .elifndef
.Oo \&! Oc Ns Ar variable
.Op Ar operator variable ...
.Xc
.Ql Ic .else
と直後の
.Ql Ic .ifndef
を対にしたものです。
.It Xo
.Ic .elifmake
.Oo \&! Oc Ns Ar target
.Op Ar operator target ...
.Xc
.Ql Ic .else
と直後の
.Ql Ic .ifmake
を対にしたものです。
.It Xo
.Ic .elifnmake
.Oo \&! Oc Ns Ar target
.Op Ar operator target ...
.Xc
.Ql Ic .else
と直後の
.Ql Ic .ifnmake
を対にしたものです。
.It Ic .endif
条件文の本体を終了させます。
.El
.Pp
オペレータ
.Ar operator
は、以下のうちのいずれかです。
.Bl -tag -width "Cm XX"
.It Cm \&|\&|
論理 OR。
.It Cm \&&&
論理 AND。
.Ic ||
より優先順位が上です。
.El
.Pp
C 言語と同様、
.Nm make
は条件式を、式の値を決定するのに必要なところまでしか評価しません。
評価順序を変更するには括弧を使います。論理オペレータ
.Ql Ic \&!
は条件式全体の値を反転するのに使用します。
.Ql Ic \&!
.Ql Ic \&&&
より優先順位が上です。
.Pp
.Ar expression
は、以下のいずれかの形式です:
.Bl -tag -width Ic defined
.It Ic defined
引数として変数名をとり、変数が定義されていれば真となる。
.It Ic make
引数としてターゲット名をとり、そのターゲットが
.Nm make
のコマンドライン引数に指定されているか、デフォルトのターゲット
.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
オペレータを適用します。条件式が
.Ql Ic .ifdef
または
.Ql Ic .ifndef
ならば
.Dq defined
を、条件式が
.Ql Ic .ifmake
または
.Ql Ic .ifnmake
ならば
.Dq make
を、それぞれ適用します。
.Pp
条件式が真と評価されたなら、makefile の解析はそのまま続行されます。
偽と評価されたなら、
.Ql Ic .else
または
.Ql Ic .endif
が見つかるまで
makefile の解析をスキップします。
.Pp
for ループは、いくつかのルールを一連のファイルに適用するのによく
用いられます。以下がループの形式です:
.Bl -tag -width Ds
.It Xo
.Ic \&.for
.Ar variable
.Ic in
.Ar expression
.Xc
.It Xo
<make-rules>
.Xc
.It Xo
.Ic \&.endfor
.Xc
.El
.Ic expression
は評価されたあとに単語に分解され、それぞれを
.Ic variable
に代入
しながら、
.Ic make-rules
部分を繰り返し展開します。
.Sh コメント
コメントはハッシュ記号
.Pq Ql \&#
から始まり、シェルコマンド行以外のどこにでも置くことができます。
コメントは改行で終わります。
.Sh 特殊ソース
.Bl -tag -width Ic .IGNORE
.It Ic .IGNORE
本ターゲットに関連したコマンドでのエラーを無視します。シェルコマンドの
先頭にダッシュ
.Ql \-
を指定したのと等価です。
.It Ic .MAKE
たとえ、
.Fl n や
.Fl t
オプションが指定されていても、このターゲットに関連したシェルコマンドを
実行します。通常、再帰的な
.Nm make
のために用いられます。
.It Ic .NOTMAIN
通常
.Nm make
は、最初に発見したターゲットをデフォルトのターゲットとみなします。
.Ic .NOTMAIN
が指定されたターゲットはデフォルトのターゲットとはみなされなくなります。
.It Ic .OPTIONAL
もし
.Ic .OPTIONAL
が指定されたターゲットの作り方がわからなくても、エラーとはせず、
そのターゲットは必要ないか、すでに存在しているものとみなします。
.It Ic .PRECIOUS
通常
.Nm make
が中断されたときは、作成途中のターゲットは削除されます。本ソースを
指定することで、そのターゲットを削除しなくなります。
.It Ic .SILENT
指定されたターゲットに関連づけられたシェルコマンドを実行するときに
エコーを行いません。シェルコマンドの先頭に
.Ql @
を指定したのと等価です。
.It Ic .USE
指定されたターゲットをマクロ的に扱います。
.Ic .USE
をソースに持つターゲット
.Pq 以下ではマクロと呼びます
が別のターゲットのソースとなった場合、その
ターゲットはコマンド、ソース、属性(
.Ic .USE
は除く)
をマクロから受け取ります。もし、すでにターゲットにコマンドが指定されていた
場合は、マクロのコマンドが追加されます。
.It Ic .WAIT
特別な
.Ic .WAIT
ソースが依存関係行に現れた時には、ソースはその行中でソースが
作成されるまで待ちます。ループは検出されず、ループ形式のターゲットは
単に無視されます。
.El
.Sh 特殊ターゲット
特殊ターゲットは、他のターゲットとともに使用してはいけません。すなわち、
依存関係記述行の唯一のターゲットとして指定する必要があります。
.Bl -tag -width Ic .BEGIN
.It Ic .BEGIN
本ターゲットに指定されたシェルコマンドは他の処理に先立って実行されます。
.It Ic .DEFAULT
これは、作成方法がわからないどんなターゲットにも適用される
.Ic .USE
ルールのようなものです。シェルスクリプトのみを使用します。
.Ic .DEFAULT
に指定されたコマンド中の
.Ic .IMPSRC
変数はターゲット自身の名前に置換されます。
.It Ic .END
本ターゲットに指定されたシェルコマンドは、他のすべての処理の終了後に
実行されます。
.It Ic .IGNORE
指定されたソースに
.Ic .IGNORE
属性を付与します。もしソースが指定されていなければ、
.Fl i
オプションを指定したのと同じ意味になります。
.It Ic .INTERRUPT
.Nm make
が中断されたとき、本ターゲットに指定されたコマンドを実行します。
.It Ic .MAIN
ターゲットを指定せずに
.Nm make
が起動された場合、本ターゲットを処理します。
.It Ic .MAKEFLAGS
ソースにおいて、
.Nm make
に指定するフラグを指定します。フラグはシェルでタイプしたのと同様に
渡されますが、
.Fl f
オプションは無効になります。
.\" XXX: NOT YET!!!!
.\" .It Ic .NOTPARALLEL
.\" この名前のターゲットは、並列モードを使わすに実行されます。
.\" ターゲットが指定されていない時には、全てのターゲットが非並列モード
- \" で実行されます。
+.\" で実行されます。
.It Ic .NOTPARALLEL
並列モードを使いません。
.It Ic .NO_PARALLEL
上と同じですが、 pmake の変種のための互換性のためにあります。
.It Ic .ORDER
シーケンス中の名前付きターゲットが作成されます。
.\" XXX: NOT YET!!!!
.\" .It Ic .PARALLEL
.\" 名前付きターゲットが並列モードで実行されます。
.\" ターゲットが指定されない時には、全てのターゲットが並列モードで実行
.\" されます。
.It Ic .PATH
カレントディレクトリに発見できなかったときのファイルの検索パスを、
本ターゲットのソースとして指定します。ソースが指定されなかった場合、
以前に設定されていたディレクトリが無効になります。
.It Ic .PHONY
.Ic .PHONY
属性を指定したソースに適用します。この属性を持ったターゲットは
いつでも更新されていると考えられます。
.It Ic .PRECIOUS
指定されたソースに
.Ic .PRECIOUS
属性を付与します。もし、ソースが指定されなかった場合、
すべてのターゲットに
.Ic .PRECIOUS
属性を与えます。
.It Ic .SILENT
指定されたソースに
.Ic .SILENT
属性を付与します。もし、ソースが指定されなかった場合、
ファイル中のすべてのコマンドに
.Ic .SILENT
属性を与えます。
.It Ic .SUFFIXES
ソースにおいて、
.Nm make
で用いる拡張子を指定します。ソースが指定されなかった場合は、
以前の指定が無効になります。
.Sh 環境変数
.Nm make
は以下の環境変数の値を用います:
.Ev MACHINE ,
.Ev MAKE ,
.Ev MAKEFLAGS ,
.Ev MAKEOBJDIR ,
.Ev MAKEOBJDIRPREFIX ,
.Ev PWD
.Sh 関連ファイル
.Bl -tag -width /usr/share/doc/psd/12.make -compact
.It .depend
依存関係リスト
.It Makefile
依存関係リスト
.It makefile
依存関係リスト
.It sys.mk
システム定義の makefile
.It /usr/share/mk
システム定義の makefile が置かれるディレクトリ
.It /usr/share/doc/psd/12.make
PMake のチュートリアル
.El
.Sh 関連項目
.Xr mkdep 1
.Rs
.%T "PMake - A Tutorial"
.Re
.Sh 歴史
.Nm make
.At v7
において追加されました。
diff --git a/ja_JP.eucJP/man/man1/makewhatis.1 b/ja_JP.eucJP/man/man1/makewhatis.1
index 9ff87e1ae7..7e8cde95f0 100644
--- a/ja_JP.eucJP/man/man1/makewhatis.1
+++ b/ja_JP.eucJP/man/man1/makewhatis.1
@@ -1,150 +1,151 @@
.\" Copyright (c) 1994-1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: makewhatis.1,v 1.6.2.2 1996/12/22 23:05:27 mpp Exp %
+.\" %Id: makewhatis.1,v 1.12 1998/04/01 06:22:28 charnier Exp %
.\" jpman %Id: makewhatis.1,v 1.2 1997/04/01 14:15:46 horikawa Stab %
-.Dd Jan, 12, 1995
+.Dd January 12, 1995
.Dt MAKEWHATIS 1
.Os FreeBSD 2.1
.Sh 名称
.Nm makewhatis
.Nd whatis databaseを作る
.Sh 書式
.Nm makewhatis
.Op Fl a | Fl append
.Op Fl h | Fl help
.Op Fl i | Fl indent Ar column
.Op Fl n | Fl name Ar name
.Op Fl o | Fl outfile Ar file
.Op Fl v | Fl verbose
.Op Ar directories ...
.Sh 解説
.Nm
コマンドはフォーマットされていないマニュアルページから名称と短い記述を抽出し、
.Xr whatis 1
データベースを作成します。
.Nm
コマンドは gzip されたマニュアルページを読むことができます。
.Ar directory
.Pq Pa man.+ という名の
マニュアルページサブディレクトリを持つディレクトリの名前です。
コロンは空白として扱われますので、
.Ic makewhatis $MANPATH
.Ic makewhatis `manpath`
も許されます。
.Sh オプション
.Bl -tag -width Ds
.It Fl a , Fl append
追加モード。
whatis データベースに既にあるエントリは削除しません。
注: 新しくできるデータベースはソートされ、同じ項目の行は削除されますが、
.Nm
は古いエントリが有効かどうかは判定しません。
.It Fl h , Fl help
使用可能なオプションを表示し、終了します。
.It Fl i , Fl indent Ar column
解説の文字列の長さを
.Ar column にします Pq デフォルトは 24 です
.It Fl n , Fl name Ar name
.Pa whatis
の代わりに
.Ar name
を使用します。
.It Fl o , Fl outfile Ar file
.Pa dirname/whatis
の代わりに全ての出力を
.Ar file
に書き込みます。
.It Fl v, Fl verbose
多くの警告を
.Pq 標準エラー出力に対して
出力します。
パースした全てのマニュアルに対して次の 1 文字を表示します:
.Ql \&.
は圧縮されていないページ、
.Ql *
は圧縮されているページ、
.Ql +
はリンクをそれぞれ表します。
.Sh 使用例
.Pp
.Ic makewhatis $MANPATH
.Pp
ユーザの
.Pa $MANPATH
にある全てのディレクトリに対して whatis データベースを作成します。
.Pp
.Ic makewhatis -outfile /tmp/mywhatis /usr/local/man $HOME/man
.Pp
whatis データベース
.Pa /tmp/mywhatis
を作成します。
ディレクトリは
.Pa /usr/local/man
.Pa $HOME/man
を見ます。
.Pa /usr/local/man/whatis
および
.Pa $HOME/man/whatis
は作成しません。
.Pp
.Ic makewhatis -name windex $HOME/man
.Pp
.Pa whatis
の代わりに
whatis データベース
.Pa windex
を作成します。
おそらく Solaris で有効です。
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwdxx -compact
.It Pa */man/whatis
whatis データベース。
.It Pa /etc/weekly
毎週
.Nm makewhatis.local
を実行します。
.El
.Sh 関連項目
.Xr apropos 1 ,
.Xr catman 1 ,
.Xr getNAME 1 ,
.Xr man 1 ,
.Xr manpath 1 ,
.Xr sort 1 ,
.Xr uniq 1 ,
.Xr whatis 1 ,
-.Xr makewhatis.local 8 .
+.Xr makewhatis.local 8
.Sh 歴史
この
.Nm
コマンドは
.Fx 2.1
から登場しました。
.Sh 作者
-Wolfram Schneider, Berlin.
+.An Wolfram Schneider ,
+Berlin.
diff --git a/ja_JP.eucJP/man/man1/merge.1 b/ja_JP.eucJP/man/man1/merge.1
index 3a5c9f1465..2424bc47a1 100644
--- a/ja_JP.eucJP/man/man1/merge.1
+++ b/ja_JP.eucJP/man/man1/merge.1
@@ -1,147 +1,147 @@
.de Id
.\" jpman %Id: merge.1,v 1.4 1997/07/26 21:43:56 horikawa Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: merge.1,v 1.2.2.1 1998/02/16 18:22:13 jkh Exp %
+.Id %Id: merge.1,v 1.5 1997/08/23 15:50:53 steve Exp %
.ds r \&\s-1RCS\s0
.TH MERGE 1 \*(Dt GNU
.SH 名称
merge \- 3 つのファイル併合
.SH 書式
.B merge
[
.I "options"
]
.I "file1 file2 file3"
.SH 解説
.B merge
は、
.I file2
から
.I file3
への全ての変更を
.IR file1
に併合します。
結果は普通
.IR file1
に入ります。
.B merge
は、原盤に対して別々に施した変更を併合するのに便利です。
.I file2
を原盤だとし、
.I file1
.I file3
.IR file2
を変更したファイルとします。
この場合
.B merge
は、両方の変更を併合します。
.PP
.I file1
.I file3
の両方に共通の行集合の内容が異なっている時、衝突が起こります。
衝突が見付かった場合、通常
.B merge
は、警告および
.B <<<<<<<
.B >>>>>>>
とで括った衝突を表す行を出力します。
典型的な衝突は以下のようなものです。
.LP
.RS
.nf
.BI <<<<<<< " file A"
.I "lines in file A"
.B "======="
.I "lines in file B"
.BI >>>>>>> " file B"
.RE
.fi
.LP
衝突がある場合、ユーザは結果を編集して必要無い方を消去しなければ
なりません。
.SH オプション
.TP
.B \-A
.BR diff3
によって提供されていれば、
.BR diff3 (1)
.B \-A
形式をつかって衝突を出力します。
これは、
.I file2
から
.I file3
への全ての変更を
.IR file1
に併合し、もっとも冗長な出力をします。
.TP
\f3\-E\fP, \f3\-e\fP
これらのオプションは、
.BR \-A
オプションに比べて少ない情報を生成するような衝突形式を指定します。
詳細は、
.BR diff3 (1)
を見てください。
デフォルトは、
.BR \-E
です。
.BR \-e
を指定すると、
.B merge
は衝突を警告しません。
.TP
.BI \-L " label"
このオプションは、 3 回まで指定可能であり、
衝突報告中のファイル名の場所のラベルを指定します。
すなわち、
.B "merge\ \-L\ x\ \-L\ y\ \-L\ z\ a\ b\ c"
とすると、実際はファイル
.B a ,
.B b ,
.B c
からの出力ですが、
ファイル
.B x ,
.B y ,
.B z
からできたような出力が作られます。
.TP
.BI \-p
結果を
.IR file1
に上書きするのではなく、
標準出力に出力します。
.TP
.BI \-q
沈黙モード。衝突に対して警告を出しません。
.TP
.BI \-V
\*r のバージョン番号を出力します。
.SH 診断
衝突が無い場合には、 0 で終了します。
1 で終了した場合はいくつかの衝突があり、 2 は何か問題がおこったことを
あらわします。
.SH 記名
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
diff3(1), diff(1), rcsmerge(1), co(1).
.SH バグ
テキストファイルの様に、バイナリファイルを併合することは、
普通できません。
しかし、
.B merge
は何がなんでも行おうとします。
.br
diff --git a/ja_JP.eucJP/man/man1/mesg.1 b/ja_JP.eucJP/man/man1/mesg.1
index d8cf0bb439..0c57ff0ef8 100644
--- a/ja_JP.eucJP/man/man1/mesg.1
+++ b/ja_JP.eucJP/man/man1/mesg.1
@@ -1,94 +1,94 @@
.\" Copyright (c) 1987, 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.
.\"
.\" @(#)mesg.1 8.1 (Berkeley) 6/6/93
-.\" %Id: mesg.1,v 1.2.2.2 1997/07/28 06:50:32 charnier Exp %
+.\" %Id: mesg.1,v 1.6 1997/07/24 06:59:00 charnier Exp %
.\" jpman %Id: mesg.1,v 1.3 1997/05/19 16:43:45 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt MESG 1
.Os
.Sh 名称
.Nm mesg
.Nd 他ユーザからのメッセージを表示する (表示しない)
.Sh 書式
.Nm
.Op Cm n | Cm y
.Sh 解説
.Nm
ユーティリティは他ユーザからのメッセージの書き込み権限を制御します。
このメッセージはターミナルデバイスから標準エラー出力に
出力されるものです。
デフォルトでは、他ユーザからの書き込みは許可されています。
例えば
.Xr talk 1
.Xr write 1
などのプログラムを使って他ユーザの端末に
メッセージを表示できます。
.Pp
オプションは以下のとおりです。
.Bl -tag -width flag
.It Cm n
メッセージを表示しません。
.It Cm y
メッセージを表示します。
.El
.Pp
引数なしで起動された場合、
.Nm
は現在のメッセージ表示の許可・不許可についての設定を、
標準エラー出力に出力します。
.Pp
.Nm
は以下のうちのいずれかを戻り値として返します。
.Bl -tag -width flag -compact -offset indent
.Pp
.It Li "\ 0"
メッセージを表示します。
.It Li "\ 1"
メッセージを表示しません。
.It Li "\>1"
エラーが発生しました。
.El
.Sh 関連ファイル
.Bl -tag -width /dev/[pt]ty[pq]? -compact
.It Pa /dev/[pt]ty[pq]?
.El
.Sh 関連項目
.Xr biff 1 ,
.Xr talk 1 ,
.Xr write 1
.Sh 歴史
.Nm
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/minigzip.1 b/ja_JP.eucJP/man/man1/minigzip.1
index 7f5de7af4d..357671e588 100644
--- a/ja_JP.eucJP/man/man1/minigzip.1
+++ b/ja_JP.eucJP/man/man1/minigzip.1
@@ -1,69 +1,69 @@
.\" Copyright (c) 1997
.\" Michael Smith
.\"
.\" 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: minigzip.1,v 1.2.2.2 1998/01/14 14:11:16 tg Exp %
+.\" %Id: minigzip.1,v 1.2 1998/01/05 07:14:54 charnier Exp %
.\"
.Dd December 13, 1997
.Dt MINIGZIP 1
.Os
.Sh 名称
.Nm minigzip
.Nd 'gzip' 圧縮ツールの最小限度の実装
.Sh 書式
.Nm minigzip
.Op Fl d
.Op Ar file ...
.Sh 解説
.Nm
.Xr gzip 1
ユーティリティの最小限度の実装です。
標準入出力を通してのストリーム圧縮・伸長と、
個々のファイルの圧縮・伸長を提供します。
.Pp
デフォルトの操作は圧縮で、伸長は
.Fl d
フラグをコマンドラインで与えることで選択されます。
.Pp
もしも
.Ar file
引数が与えられた場合、この操作は個々のファイルに別々に適用されます。
圧縮すると、オリジナルファイルを、
.Pa .gz
サフィックスをつけたファイルと置き換えます。
伸長は
.Pa .gz
サフィックスが存在すればそれを取り除きます。
.Pp
.Ar file
引数が与えられなかった場合、
.Nm
は標準入力から読み込み、操作の結果を標準出力に書き出します。
.Sh 関連項目
.Xr gzip 1
.Sh 作者
.Nm
は、
.An Jean-loup Gailly
によって書かれました。
diff --git a/ja_JP.eucJP/man/man1/mkdir.1 b/ja_JP.eucJP/man/man1/mkdir.1
index 726f8e7ab2..12a8771850 100644
--- a/ja_JP.eucJP/man/man1/mkdir.1
+++ b/ja_JP.eucJP/man/man1/mkdir.1
@@ -1,103 +1,103 @@
.\" Copyright (c) 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mkdir.1 8.2 (Berkeley) 1/25/94
-.\" %Id: mkdir.1,v 1.3.2.3 1998/07/16 09:35:42 jkh Exp %
+.\" %Id: mkdir.1,v 1.7 1998/05/15 06:23:43 charnier Exp %
.\" jpman %Id: mkdir.1,v 1.2 1997/03/29 06:22:04 horikawa Stab %
.\"
.Dd January 25, 1994
.Dt MKDIR 1
.Os
.Sh 名称
.Nm mkdir
.Nd ディレクトリの作成
.Sh 書式
.Nm mkdir
.Op Fl p
.Op Fl m Ar mode
.Ar directory_name ...
.Sh 解説
.Nm
は、
オペランドで指定されたディレクトリを作成します。
作成する順番は指定された順番です。
作成されるディレクトリのパーミッションは、
.Li rwxrwxrwx (\&0777)
.Xr umask 2
の修正を加えたものです。
.Pp
オプションとしては以下のものがあります:
.Pp
.Bl -tag -width indent
.It Fl m Ar mode
作成されるディレクトリのパーミッションを指定します。
.Ar mode
の書式は
.Xr chmod 1
コマンドと同じです。シンボリック形式で指定する場合、
.Dq +
および
.Dq -
は、最初のパーミッションが
.Dq a=rwx
であるものとして解釈されます。
.It Fl p
必要に応じて途中のディレクトリを作成します。
このオプションが指定されていない場合には、
.Ar directory_name
で指定するパスの途中のディレクトリは既に存在している必要があります。
途中に作成されるディレクトリのパーミッションは、
.Li rwxrwxrwx (\&0777)
に現在の umask の修正を加えたものに、
所有者に対する書き込みと検索パーミッションが加わった値となります。
.El
.Pp
ユーザは親ディレクトリに対する
書き込みパーミッションを持っている必要があります。
.Pp
.Nm
は成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
.Sh 関連項目
.Xr rmdir 1
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2
互換です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/mkfifo.1 b/ja_JP.eucJP/man/man1/mkfifo.1
index 2976ac5900..492b47d97a 100644
--- a/ja_JP.eucJP/man/man1/mkfifo.1
+++ b/ja_JP.eucJP/man/man1/mkfifo.1
@@ -1,74 +1,74 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mkfifo.1 8.2 (Berkeley) 1/5/94
-.\" %Id: mkfifo.1,v 1.2.2.3 1997/09/15 09:20:46 jkh Exp %
+.\" %Id: mkfifo.1,v 1.4 1997/04/27 08:45:45 jmg Exp %
.\" jpman %Id: mkfifo.1,v 1.3 1997/09/04 16:41:11 horikawa Stab %
.\"
.Dd January 5, 1994
.Dt MKFIFO 1
.Os BSD 4.4
.Sh 名称
.Nm mkfifo
.Nd FIFO パイプをつくる
.Sh 書式
.Nm
.Ar fifo_name ...
.Sh 解説
.Nm
コマンドは、指定された名前で、指定された順にモード
.Li \&0777
の FIFO パイプをつくります。
.Pp
.Nm
コマンドには、親ディレクトリに書き込みパーミッションが必要です。
.Pp
.Nm
コマンドは、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
.Sh 標準
.Nm
コマンドは、
.St -p1003.2
準拠であると考えられています。
.Sh 関連項目
.Xr mkdir 1 ,
.Xr rm 1 ,
.Xr mkfifo 2 ,
.Xr mknod 2 ,
.Xr mknod 8
.Sh 歴史
.Nm
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/mktemp.1 b/ja_JP.eucJP/man/man1/mktemp.1
index 50b91501a3..0474f79c9b 100644
--- a/ja_JP.eucJP/man/man1/mktemp.1
+++ b/ja_JP.eucJP/man/man1/mktemp.1
@@ -1,172 +1,174 @@
-.\" %FreeBSD: src/usr.bin/mktemp/mktemp.1,v 1.1.2.1 1998/04/18 10:56:45 obrien Exp %
+.\" %FreeBSD: src/usr.bin/mktemp/mktemp.1,v 1.2 1998/05/05 06:13:47 charnier Exp %
.\" From: %OpenBSD: mktemp.1,v 1.8 1998/03/19 06:13:37 millert Exp %
.\"
.\" Copyright (c) 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd November, 20, 1996
.Dt MKTEMP 1
.Os
.Sh 名称
.Nm mktemp
.Nd (ユニークな) 一時ファイル名を作成する
.Sh 書式
.Nm mktemp
.Op Fl d
.Op Fl q
.Op Fl t Ar prefix
.Op Fl u
.Op Ar template ...
.Sh 解説
-.Nm mktemp
+.Nm
ユーティリティは、引数のファイル名テンプレートの一つ一つに対して、
その一部を上書きすることにより、ファイル名を生成します。
このファイル名はユニークであり、アプリケーションが使用するのに適しています。
テンプレートは、いくつかの
.Ql X
が後続する任意のファイル名であり、例えば
.Pa /tmp/temp.XXXX
です。
後続する
.Ql X
は、現在のプロセス番号やユニークな文字の組み合わせと置き換えられます。
.Nm
が返すことが可能なユニークなファイル名の数は、指定した
.Ql X
の数に依存します;
.Ql X
を 6 つ指定した場合には、およそ 26 ** 6 の組み合わせを
.Nm
が扱えることとなります。
.Pp
.Nm
がユニークなファイル名を生成することに成功した場合、
ファイルがモード 0600 (
.Fl u
フラグ未指定時) で作成され、ファイル名が標準出力に出力されます。
.Pp
.Fl t Ar prefix
オプション指定時には、
.Nm
はテンプレート文字列を
.Ar prefix
と、
.Ev TMPDIR
環境変数が設定されていればそれも用いて生成します。
.Ev TMPDIR
が設定されていない場合の、デフォルトの場所は
.Pa /tmp
です。ユーザが指定したかもしれない環境変数の使用が適切であると保証
できるかどうかに注意を払ってください。
.Pp
1 回の起動でいくつでも一時ファイルを作ってかまいません。これには、
.Fl t
フラグの結果の内部テンプレートをもとにするものひとつも含まれます。
.Pp
-.Nm mktemp
+.Nm
は、シェルスクリプトが安全に一時ファイルを使用するために提供されています。
伝統的に多くのシェルスクリプトが、
プログラム名に pid を付けた名前を一時ファイル名として使用しています。
この種の命名法は予測されうるので、
レース状態となった場合に容易に攻撃者が勝ってしまいます。
より安全、しかしながらまだ劣ったアプローチとして、
同じ命名法でディレクトリを作るというものがあります。
この方法では一時ファイルが壊されないことを保証できますが、
単純なサービス停止攻撃を許してしまいます。
上記のような理由により、
.Nm
の使用をお勧めします。
.Sh オプション
-.Bl -tag -width indent
使用可能なオプションを以下に示します:
+.Bl -tag -width indent
.It Fl d
ファイルではなくディレクトリを作成します。
.It Fl q
エラーが発生した場合、黙って失敗します。
エラー出力が標準エラーに出力されることが望ましくないスクリプトで有用です。
.It Fl t Ar prefix
ファイル名テンプレートを生成するために必要なテンプレートを生成します
(与えられた
.Ar prefix
と、設定されている場合には
.Ev TMPDIR
を使用します)。
.It Fl u
.Dq 安全ではない
モードで操作します。一時ファイルは
.Nm
が終了する前にアンリンクされます。これは
-.Fn mktemp 3
+.Xr mktemp 3
よりは少しましですが、依然レース状態を引き起こします。
このオプションの使用はお勧めしません。
.El
.Sh 戻り値
.Nm
ユーティリティは、成功時には値 0 で終了します。
いかなる失敗時にも値 1 で終了します。
.Sh 使用例
以下の
.Xr sh 1
スクリプトの一部で、
.Nm
の簡単な使用方法を説明します。
このスクリプトは、安全な一時ファイルを取得できない場合には終了します。
.Bd -literal -offset indent
TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1
echo "program output" >> $TMPFILE
.Ed
.Pp
$TMPDIR を使用する場合には次のようにします:
.Bd -literal -offset indent
TMPFILE=`mktemp -t $0` || exit 1
echo "program output" >> $TMPFILE
.Ed
.Pp
次の場合、スクリプト自身でエラーをつかまえます。
.Bd -literal -offset indent
TMPFILE=`mktemp -q /tmp/$0.XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file, exiting..."
exit 1
fi
.Ed
.Sh 関連項目
.Xr mktemp 3 ,
.Xr mkdtemp 3 ,
.Xr mkstemp 3 ,
.Xr environ 7
.Sh 歴史
.Nm
ユーティリティは
.Ox 2.1
に登場しました。この実装はマニュアルページとは独立に記述されました。
-このマニュアルページは OpenBSD 由来です。
+このマニュアルページは
+.Bx Open
+由来です。
.\" Our stupid .Ox macro won't allow me to use .Ox alone.
diff --git a/ja_JP.eucJP/man/man1/more.1 b/ja_JP.eucJP/man/man1/more.1
index 78dd9d7374..f86a591ae9 100644
--- a/ja_JP.eucJP/man/man1/more.1
+++ b/ja_JP.eucJP/man/man1/more.1
@@ -1,309 +1,308 @@
.\" Copyright (c) 1988, 1990 The Regents of the University of California.
.\" Copyright (c) 1988 Mark Nudleman
.\" 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: @(#)more.1 5.15 (Berkeley) 7/29/91
.\" jpman %Id: more.1,v 1.4 1997/08/11 14:30:57 horikawa Stab %
.\" %Id: more.1,v 1.5 1994/01/11 18:22:48 jtc Exp %
.\"
.Dd April 18, 1994
.Dt MORE 1
.Os
.Sh 名称
.Nm more
.Nd CRT 上でファイルをページ単位に閲覧する
.Sh 書式
.Nm
-.Op Fl ceinus
+.Op Fl ceinsu
.Op Fl t Ar tag
.Op Fl x Ar tabs
.Op Fl / Ar pattern
-.Op Fl #
.Op Ar
.Sh 解説
.Nm
は、画面上に一度に表示できる量の行数を 1 ページの行数とみなし、
.Ar file
が指定されていれば
そのファイルを、指定されていないか ``-'' の場合は、標準入力 (標準入力が
端末の場合は、何もせずに終了します) を読み込んで、1 ページ分表示する毎に
キー入力を待つようにします。
.Pp
さまざまな端末に対応するため、
.Xr termcap 3
を使用します。また、制限はありますが、ハードコピー形式の端末も
サポートしています。ハードコピー端末では、画面の上端に対応する位置に
``^'' が印刷されます。
.Sh オプション
オプションとしては以下のものがあります。なお、これらのオプションは、
あらかじめ環境変数
.Ev MORE
で指定しておくことができます(``-'' をつけること)。
コマンドラインオプションでオーバーライドします。
.Bl -tag -width flag
.It Fl c
通常、
.Nm
は次のページを表示する時、現在表示されている画面を 1 行づつ
スクロールしていって新しいページを表示していきますが、
このオプションを指定した場合、画面の上端から書き替えます。
.It Fl e
通常
.Nm
は、ファイルの最後に達し次に表示すべきファイルがない
場合には終了しますが、このオプションを指定した場合にはファイルの最後に
達した時点でキー入力待ちになります。このオプションは、最後まで見た後、
前のページに遡って見たい場合に便利です。
.\"ただし、元々ファイルが小さく、最初の 1 ページに納まっている場合は、
.\"すぐ終了します。
.\"(訳中)原文で内容が削られていますが、とりあえずコメントで残します。
.\" 2.2.1R 対象(1997/05/06) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
.It Fl i
サーチするとき、大文字と小文字を区別しないようにします。
.It Fl n
行番号の処理をしないようにします。デフォルトで、
.Xr more
は、
.Cm =
コマンドを使用した行情報の表示や、
.Cm v
コマンドでエディタを起動して現在見ている行にジャンプさせるために、
行番号を内部で管理しています。しかし、この処理のために動作が
遅くなっており、これは、大きなファイルを扱う場合、特に顕著です。
このオプションを指定して行番号を使用しないことを
明示すれば、速度の低下を回避することができます。
.It Fl s
複数の空行が連続している場合、空行を 1 行にします。
.It Fl t Ar tag
タグ情報を含むファイル ``tags'' から、tag で指定されたエントリを検索し、
対応するファイルの指定位置から表示を開始します。
タグファイル ``tags'' については、
.Xr ctags 1
を参照してください。
.It Fl u
デフォルトでは、
.Nm
.Dv BS
.Dv CR-LF
などのシーケンスを特別に処理します。
.Dv BS
とアンダースコア文字があった場合は、文字にアンダーラインをつけて
表示しますし、2 つの同じ文字の間にBSがあったら、強調表示にします。
.Dv CR-LF
は、1 つの改行にします。
このオプションは、これらの処理をやめ、
.Dv BS
は ``^H'' に、
.Dv CR-LF
は ``^M'' と改行にします。
.It Fl x
タブ幅を
.Ar N
文字にします。デフォルトでは 8 です。
.It Fl /
.Ar pattern
で指定した検索を実行し、見つかった位置から表示します。
.El
.Pp
.Sh コマンド
.Nm
は、1 ページ表示する毎に、キーボードから各種のコマンドを受け付けます。
コマンドは、
.Xr vi 1
のコマンド体系をベースにしたものです。
以下の説明で、``^''は``Control''キーを押しながら入力するキーの意味です。
また、コマンドのキーを押す前に数字を入力することで、そのコマンドに
対する引数を与えることができます。これは、説明のなかで``N''として
記述しています。
.Bl -tag -width Ic
.It Ic h
コマンドのヘルプを表示します。もし他の全てのコマンドを忘れても、
このコマンドは覚えておいてください。
.It Xo
.Ic q
.No or
.Ic \&:q
.No or
.Ic ZZ
.Xc
.Nm
を終了します。
.It Xo
.Ic SPACE
.No or
.Ic f
.No or
.Ic \&^F
.Xc
引数を指定しなかった場合は、1 ページ分スクロールします。
引数を指定した場合は、N 行分スクロールします。
.It Ic b No or Ic \&^B
テキストを 1 ページ分前にスクロールします(-zオプション参照)。
引数を指定した場合は、N 行分前にスクロールします。
.It Ic j No or Ic RETURN
1 行だけスクロールします。引数を指定した場合は、
N 行分スクロールします。
.It Ic k
1 行だけ前に戻るようにスクロールします。引数を指定
した場合は、N行分戻ります。
.It Ic d No or Ic \&^D
画面の半分の行数を単位としてスクロールします。引数を
指定した場合は N 行分スクロールします。指定後は、この ``d'' コマンド
および次の ``u'' コマンドでは、引数を指定しないでも半画面ではなく、
ここで指定した N 行単位でスクロールするようになります。
.It Ic u No or Ic \&^U
画面の半分の行数を単位として前の画面にスクロールします。
引数を指定した場合は、N 行分スクロールし、以後、N 行単位で
スクロールするようになります。
.It Ic g
ファイルの N 行目から表示します。引数を指定しなかった場合は、
ファイル先頭から表示します。
.It Ic G
ファイルの N 行目から表示します。引数を指定しなかった場合は、
ファイルの最後から表示します。
.It Ic p No or Ic \&%
ファイルの N パーセント目から表示します。 N は 0 から 100 までです。
file で指定したファイルの場合では、標準入力を読み込んで
表示するようにしている場合は、ファイルエンドに達してからでないと、
このコマンドは使用できません。
これは速いのですが、いつも有効とは限りません。
.It Ic r No or Ic \&^L
画面を表示し直します。
.It Ic R
バッファに入っている入力を捨て、再読み込みして同じ行番号に当たる所から
画面を表示し直します。これは、表示を見ている間にファイルが
変更されたような場合に有効です。
.It Ic m
行マークをするコマンドです。``m'' を押すと、画
面下に ``mark: '' と表示されるので、a から z までの英小文字を使ってマークの
指定をすることができます。これで、現在の表示行がその文字にマーク
されます。次の `` ' '' コマンドによって、ここでマークした行に
ジャンプさせることができます。
.It Ic \&'
m コマンドでマークした行にジャンプするコマンドで
す。画面下に ``goto mark: '' と表示されますので、m コマンドで
マークした a から z までの英小文字を入力すれば、
その行にジャンプできます。
なお、a から z のかわりに再度 `` ' '' を
入力すると、その前に大きく移動した位置に戻ります。この場合の大きな移動とは、
`` ' ''コマンドによる移動や、``g'' コマンドでのファイル先頭に移動することを
指します。
このあと、`` '' ''と入力すると、移動前の位置に戻ることができます。
全てのマークは、新しいファイルを読み込んだ時に失われます。
.It Ic \&/ Ns Ar pattern
現在行 (画面の一番上に表示されている行) の次の
行からファイルの末端に向かって、pattern で指定した検索を実行し、
一致した行から表示します。引数が指定された場合は、検索を繰り返し
実行し、N回目に一致した行からの表示になります。pattern には、
.Xr re_format 7
で解説されているPOSIX.2
.Dq extended format
正規表現が使用できます。
.It Ic \&? Ns Ar pattern
現在行 (画面の一番上に表示されている行) の直前から
ファイルの先頭に向かって、
.Ar pattern
で指定した検索を実行します。
.It Ic \&/\&! Ns Ar pattern
.Ar pattern
に一致しない行を検索する以外は ``/'' と同じです。
.It Ic \&?\&! Ns Ar pattern
.Ar pattern
に一致しない行を検索する以外は ``?'' と同じです。
.It Ic n
直前に実行した検索コマンドを再実行します。
.It Ic E Ns Op Ar filename
コマンドラインのファイルリストの中から現在表示しているファイル
(N,Pコマンド参照)にかわって、
filename で指定したファイルを表示対象にします。
ファイルが見つからない場合は、現在のファイルを再度表示します。
ファイル名が"#"なら、一つ前に読み込んだファイルを再度表示します。
.It Ic N No or Ic \&:n
コマンドラインから file として複数のファイルを指
定して起動した場合に、現在表示しているファイルの次のファイルに表示を
切り替えます。引数を指定した場合は、N 個先のファイルになります。
.It Ic P No or Ic \&:p
コマンドラインから file として複数のファイルを指
定して起動した場合に、現在表示しているファイルの 1 つ前のファイルに
表示を切り替えます。引数を指定した場合は、N 個前のファイルになります。
.It Ic \&:t
タグエントリの入力をします。
``:t'' を押すと、画面下に ``Tag: '' と表示されるので、新しいタグエントリの
入力をします。
対応するタグエントリが見つからなかった場合は、その旨を表示して、
前のファイルを表示します。
.It Ic v
現在表示しているファイルを編集対象にして、エディタを起動します。
エディタはデフォルトでは
.Xr vi 1
が起動されるようになっていますが、
環境変数
.Ev EDITOR
が指定されていた場合には、そこで指定したエディタが起動されます。
.It Ic \&= No or Ic \&^G
現在表示しているファイルについて、画面の最下行がファイル全体の
何行目にあたるか、また、ファイルの総バイト数に対する現在行の
バイト数とそのパーセンテージを表示します。
.Nm
が標準入力から読み込んでいるか、ファイルが一画面より短い場合は、
いくつかの情報は有効ではありません。これらの情報は、画面の最下行の最初の
1 バイトによって得られる事を覚えておいてください。
.El
.Sh 環境変数
.Bl -tag -width Fl
.It Ev MORE
コマンドラインで指定するかわりに、あらかじめよく使うオプションを
設定しておくことができます。
.It Ev EDITOR
起動するエディタを指定します。
.It Ev SHELL
起動するシェルを指定します。通常、この変数はログイン時
にシェルが自分でセットします。
.It Ev TERM
端末のタイプを指定します。
.El
.Sh 関連項目
.Xr ctags 1 ,
.Xr vi 1
.Sh バグ
CRLF が改行符号である普通のファイルをアクセスする時、
- -u フラグ無しでは正しくない出力が結果として得られます。
+-u フラグ無しでは正しくない出力が結果として得られます。
.Sh 作者
このソフトウェアは
.An Mark Nudleman
によって Berkeley に寄贈されました。
.Sh 歴史
.Nm
コマンドは
.Bx 3.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/mv.1 b/ja_JP.eucJP/man/man1/mv.1
index 1d32c5d790..6ed941e090 100644
--- a/ja_JP.eucJP/man/man1/mv.1
+++ b/ja_JP.eucJP/man/man1/mv.1
@@ -1,150 +1,150 @@
.\" %NetBSD: mv.1,v 1.8 1995/03/21 09:06:51 cgd Exp %
.\"
.\" Copyright (c) 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mv.1 8.1 (Berkeley) 5/31/93
-.\" %Id: mv.1,v 1.7.2.2 1998/07/16 09:35:42 jkh Exp %
+.\" %Id: mv.1,v 1.11 1998/05/15 06:25:16 charnier Exp %
.\" jpman %Id: mv.1,v 1.2 1997/03/29 06:23:50 horikawa Stab %
.\"
.Dd May 31, 1993
.Dt MV 1
.Os
.Sh 名称
.Nm mv
.Nd ファイルの移動
.Sh 書式
.Nm mv
.Op Fl fi
.Ar source target
.Nm mv
.Op Fl fi
.Ar source ... directory
.Sh 解説
1 番目の書式の場合、
.Nm
ユーティリティは
.Ar source
オペランドで指定される名前のファイルの名前を、
.Ar target
オペランドで指定される名前のデスティネーションパスに変更します。
最後に指定されるオペランドが既に存在するディレクトリの名前ではない場合に
この書式であるとされます。
.Pp
2 番目の書式の場合、各々の
.Ar source
オペランドで指定される名前のファイルを、
.Ar directory
オペランドで指定される名前で既に存在するディレクトリの中の
デスティネーションファイルに移動します。
各々のオペランドに対応するデスティネーションパスは、
``最後のオペランド''と``スラッシュ''と``ファイルのパス名の最後の部分''
の結合によって生成されるパス名です。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width flag
.It Fl f
デスティネーションパスを上書きする前に、
書き込みパーミッションがあるなしにかかわらず、確認せず実行します。
(
.Fl f
オプションが指定されると、それ以前の
.Fl i
オプションは無視されます。)
.It Fl i
すでに移動先に同名のファイルが存在する場合、実行してよいかどうか確認を
標準エラー出力を使用して
求めます。標準入力から
.Sq Li y
または
.Sq Li Y
で始まる文字列が入力されると、実行されます。
(
.Fl i
オプションが指定されると、それ以前の
.Fl f
オプションは無視されます。)
.El
.Pp
.Ar source
オペランドとデスティネーションパスがともにディレクトリである場合を除き、
オペランドもしくはデスティネーションパスに
ディレクトリを指定することは誤りです。
.Pp
デスティネーションパスが書き込み許可をしていない場合、
.Nm
は、
.Fl i
オプションと同じように、
ユーザの確認を求めます。
.Pp
.Nm
は、通常、システムコール
.Xr rename 2
を使ってファイルの移動をします。しかし、
.Xr rename 2
は、ファイルシステムを越えてファイルを移動することがで
きません。このため、
.Ar source
.Ar target
が違うファイルシステム上の場合、
.Nm
は、
.Xr cp 1
.Xr rm 1
を使って移動を行います。これは、次の結果と等価です。
.Bd -literal -offset indent
rm -f destination_path && \e
\tcp -pRP source_file destination && \e
\trm -rf source_file
.Ed
.Pp
.mv
ユーティリティは成功時には 0 を、エラー時には >0 を返し、終了します。
.Sh 関連項目
.Xr cp 1 ,
.Xr rm 1 ,
.Xr symlink 7
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2
互換です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/ncal.1 b/ja_JP.eucJP/man/man1/ncal.1
index 715994727e..4a9f4d492d 100644
--- a/ja_JP.eucJP/man/man1/ncal.1
+++ b/ja_JP.eucJP/man/man1/ncal.1
@@ -1,119 +1,119 @@
.\" Copyright (c) 1997 Wolfgang Helbig
.\" 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: ncal.1,v 1.5.2.3 1998/07/17 04:20:14 jkh Exp %
+.\" %Id: ncal.1,v 1.7 1998/04/26 06:21:29 phk Exp %
.\" jpman %Id: cal.1,v 1.2 1997/05/17 15:48:43 horikawa Stab %
.\".
.Dd December 16, 1997
.Dt CAL 1
.Os
.Sh 名称
.Nm cal ,
.Nm ncal
.Nd カレンダおよびイースターの日付を表示する
.Sh 書式
.Nm cal
.Op Fl jy
.Op Oo Ar month Oc Ar \ year
.Nm ncal
.Op Fl jJpwy
.Op Fl s Ar country_code
.Op Oo Ar month Oc Ar \ year
.Nm ncal
.Op Fl Jeo
.Op Ar year
.Sh 解説
.Nm cal
は簡単なカレンダを表示します。
また
.Nm ncal
は別のフォーマット、追加のオプション、イースターの日付も提供します。
新しいフォーマットは込み入っていますが、
25x80 文字の端末で一年が表示できます。
引数が指定されなかった場合は今月のものを表示します。
.Pp
オプションには以下のものがあります:
.Bl -tag -width indent
.It Fl J
ユリウス暦でカレンダーを表示します。
.Fl e
オプションと共に使用すると、ユリウス暦でのイースターを表示します。
.It Fl e
イースターの日付を表示します (西方教会)。
.It Fl j
ユリウス日で表示します。(1 月 1 日を第 1 日とする通日です)
(訳注:天文学での定義とは異なります。[Mar.1996])
.It Fl o
東方正教会のイースターの日付を表示します (ギリシャおよびロシアの東方正教会)。
.It Fl p
カントリーコードと、ユリウス暦からグレゴリオ暦へ移行したと
.Nm ncal
が見なす日付を表示します。
ローカル環境で定義されるカントリーコードにはアスタリスクが表示されます。
.It Fl s Ar country_code
ユリウス暦からグレゴリオ暦へ移行した日付を
.Ar country_code
に基づくものとします。
指定しない場合には、
.Nm ncal
はローカル環境に基づき推定しますが、
推定に失敗した場合は、1752 年 9 月 2 日であるとします。
この日付は、英国およびその植民地がグレゴリオ暦に移行した日付です。
.It Fl w
週のカラムの下に週の番号を表示します。
.It Fl y
今年のカレンダを表示します。
.El
.Pp
パラメータが 1 つの時は西暦年 (1 - 9999) を指定したものとして、
その年のカレンダを表示します。
年は完全な形で指定して下さい。例えば
.Dq Li cal 89
では 1989 年のカレンダを表示
.Em しません
。パラメータが 2 つの時は月 (1 - 12) と年を指定します。
.Pp
一年は 1 月 1 日から始まります。
.Pp
.Sh 関連項目
.Xr calendar 3 ,
.Xr strftime 3
.Rs
.Sh 歴史
.Nm cal
コマンドは
.At v6
から登場しました。
.Nm ncal
.Fx 2.2.6
に登場しました。
.Sh 作者
.Nm ncal
コマンドとマニュアルは
.An Wolfgang Helbig Aq helbig@FreeBSD.ORG
が作成しました。
.Sh バグ
ユリウス暦からグレゴリオ暦に移行した日付とカントリーコードの対応は、
多くの国にについて不適当です。
diff --git a/ja_JP.eucJP/man/man1/netstat.1 b/ja_JP.eucJP/man/man1/netstat.1
index 57bf51afeb..f34b063a32 100644
--- a/ja_JP.eucJP/man/man1/netstat.1
+++ b/ja_JP.eucJP/man/man1/netstat.1
@@ -1,305 +1,305 @@
.\" Copyright (c) 1983, 1990, 1992, 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: @(#)netstat.1 8.8 (Berkeley) 4/18/94
.\" jpman %Id: netstat.1,v 1.4 1997/10/11 07:45:56 horikawa Stab %
.\" %Id: netstat.1,v 1.6.2.1 1994/08/06 06:32:37 mycroft Exp %
.\"
.Dd April 18, 1994
.Dt NETSTAT 1
.Os BSD 4.2
.Sh 名称
.Nm netstat
.Nd ネットワークの状態を表示する
.Sh 書式
.Nm netstat
.Op Fl Aan
.Op Fl f Ar address_family
.Op Fl M Ar core
.Op Fl N Ar system
.Nm netstat
.Op Fl bdghimnrs
.Op Fl f Ar address_family
.Op Fl M Ar core
.Op Fl N Ar system
.Nm netstat
.Op Fl bdn
.Op Fl I Ar interface
.Op Fl M Ar core
.Op Fl N Ar system
.Op Fl w Ar wait
.Nm netstat
.Op Fl p Ar protocol
.Op Fl M Ar core
.Op Fl N Ar system
.Sh 解説
.Nm netstat
コマンドは、ネットワークに関連したさまざまな情報を、シンボル表示を
交えてわかりやすく表示します。
出力の形式は指定オプションによって何種類かにわかれます。
第1の形式は、プロトコルごとのアクティブソケットの一覧です。
第2の形式は、選択したオプションによる、他のネットワークのデータ構造です。
第3の形式は、コンフィギュレーションされているネットワークインタフェースの
パケットトラフィックを
.Ar wait
で指定したインターバル毎に継続して表示します。
第4の形式は、指定したプロトコルに関する統計情報を表示します。
.Pp
本コマンドでは、以下のオプションを指定可能です。
.Bl -tag -width flag
.It Fl A
デフォルトの表示では、ソケットと関係したすべてのプロトコル制御ブロックの
アドレスが表示されます。通常これらはデバッグに用いられます。
.It Fl a
デフォルトの表示では、すべてのソケットの状態が表示されます。通常
は、サーバプロセスで利用されているソケットは表示されません。
.It Fl b
本オプションをネットワークインタフェース表示
(後述の
.Fl i
オプション)と併用した場合には、入力、出力したバイト数を表示します。
.It Fl d
本オプションをネットワークインタフェース表示(
.Fl i
オプション、もしくは後述のインターバルオプション)
と併用した場合には、欠落したパケット数を併せて表示します。
.It Fl f Ar address_family
表示する統計情報あるいはアドレス制御ブロック情報を
.Ar address family
の指定に合致するアドレスファミリのものに限定します。
アドレスファミリについては、
.Ar inet
.Dv AF_INET
(インターネットプロトコルファミリ)として、
.Ar ipx
.Dv AF_IPX
として、
.Ar atalk
.Dv AF_APPLETALK (ddp)
(アップルトークプロトコル)として、
.\".Ar ns
.\"が
.\".Dv AF_NS
.\"(XEROX NSプロトコルファミリ)として、
.\".Ar iso
.\"が
.\".Dv AF_ISO
.\"(ISOプロトコルファミリ)として、そして
.Ar unix
.Dv AF_UNIX
(UNIXドメインプロトコルファミリ)として解釈されます。
.It Fl g
マルチキャスト(グループアドレス)ルーティングに関連した情報を表示します。
デフォルトでは、IPマルチキャスト仮想インタフェースおよびルーティング
テーブルについて表示します。
.Fl s
オプションが同時に指定された場合、マルチキャストルーティングについての
統計情報も表示します。
.It Fl h
.Tn IMP
ホストテーブルの状態を表示します(時代遅れ)。
.It Fl I Ar interface
指定したインタフェースについての情報を表示します。本オプションは、
インターバルオプション
.Ar wait
と同時に指定し
て使われます。このインターバルオプションについての詳細は後述します。
.It Fl i
自動コンフィギュレーションされているネットワークインタフェースの状態
を表示します(静的にシステムにコンフィギュレーションされているインタ
フェースについて表示しますが、ブート時にコンフィギュレーションされて
いないものについては表示しません)。
.Fl a
オプションが同時に指定されている場合には、各イーサネットインタフェース
および各IPインタフェースアドレス
について、現在使用されているマルチキャストアドレスが表示
されます。マルチキャストアドレスは、
各々対応するインタフェースアドレスに続いて表示
されます。
.It Fl M
デフォルトで使用される
.Pa /dev/kmem
の代わりに指定した core から、ネームリストに関連する各値を
取り出します。
.It Fl m
メモリ管理ルーチンによって記録されているメモリ使用の統計情報を表
示します。
(ネットワーク管理システムは、独自にメモリバッファを確保しています)。
.It Fl N
.Pa /kernel
のかわりに、指定したカーネルモジュールからネームリストを取り出します。
.It Fl n
ネットワークアドレスを数字で表示します(通常、
.Nm netstat
コマンドは、IPアドレスを可能な限りホスト名などのシンボリックなものに置
き換えようとします)。
本オプションは、どのような表示形式の場合にも使用できます。
.It Fl p Ar protocol
.Ar protocol
で指定したプロトコルについての統計情報を表示します。
プロトコルとしては、よく知られている名称、もしくは別名定義されている名称
を指定します。プロトコルのいくつかは
.Pa /etc/protocols
の中で定義されています。
プロトコルについて情報が表示されない場合は、通常、
報告すべき有意な数値がないことを意味します。
.Ar protocol
で指定したプロトコルが未知のものである場合、もしくはそのプロトコルの統
計情報記録ルーチンがない場合には、プログラムはその旨メッセージを出しま
す。
.It Fl s
プロトコルごとの統計情報を表示します。
このオプションが複数指定された場合、カウンタの値がゼロのものは
表示が抑制されます。
.It Fl r
ルーティングテーブルを表示します。
.Fl s
オプションが同時に指定された場合には、ルーティングの統計情報について
表示します。
.It Fl w Ar wait
ネットワークインタフェースの統計情報について、
.Ar wait
で指定した秒ごとに定期的に表示します。
.El
.Pp
デフォルトのアクティブソケット表示では、ローカルおよびリモートアドレス、送
受信キューのサイズ(バイト単位)、プロトコル、そしてプロトコルの内部状態が
それぞれ表示されます。
アドレス形式については、``host.port''もしくは、ソケットのアドレスが
ネットワーク単位でしか特定できない場合には``network.port''という形式が採用
されます。
ホストもしくはネットワークアドレスがデータベース
.Pa /etc/hosts
.Pa /etc/networks
の内容にしたがって変換可能である場合、各アドレスは名前で
表示されます。このような変換が不可能な場合、もしくは
.Fl n
オプションが指定された場合には、アドレスはアドレスファミリに従って
数値で表示されます。
インターネットアドレスの形式についてさらに知りたい場合には、
.Xr inet 3
を参照して下さい。
特にアドレスが指定されてない場合や、アドレスがワイルドカード
指定されている場合には、その部分のアドレスやポート番号のところには
``*'' が表示されます。
.Pp
インタフェース表示では、パケット転送、エラー、コリジョンに関する
累積情報を見ることができます。また、インタフェースの
ネットワークアドレスおよび最大転送可能ユニットサイズ(``mtu'')も
見ることができます。
.Pp
ルーティングテーブル表示では、利用可能な経路とその状態が表示
されます。各経路は、到達先ホストもしくはネットワークと、
パケットの転送(forward)に使用されるゲートウェイから成ります。
フラグフィールドは、
ルーティングに関する状態の集合が表示されます。フラグフィールドの
各フラグについては、
.Xr route 8
および
.Xr route 4
を参照して下さい。
表示される文字とフラグの間の対応は以下の通りです。
.Bl -column XXXX RTF_BLACKHOLE
-1 RTF_PROTO2 ルーティングフラグ#1にて特定されるプロトコル
-2 RTF_PROTO1 ルーティングフラグ#2にて特定されるプロトコル
+1 RTF_PROTO1 ルーティングフラグ#1にて特定されるプロトコル
+2 RTF_PROTO2 ルーティングフラグ#2にて特定されるプロトコル
3 RTF_PROTO3 ルーティングフラグ#3にて特定されるプロトコル
B RTF_BLACKHOLE 破棄されるパケット
b RTF_BROADCAST ブロードキャストアドレスを表現する経路
C RTF_CLONING 新しい経路を生成する
c RTF_PRCLONING 使用時に、プロトコル専用の新しい経路を生成する
D RTF_DYNAMIC (リダイレクトによって)動的に生成される
G RTF_GATEWAY ゲートウェイ等による中継を必要としている到達先
H RTF_HOST ホストエントリ(これ以外はネットワーク)
L RTF_LLINFO アドレス変換を連動させられる正当なアドレス
M RTF_MODIFIED (リダイレクトによって)動的に変更される
R RTF_REJECT 到達不可能なホストもしくはネットワーク
S RTF_STATIC 手動で追加された
U RTF_UP 使用可能経路
W RTF_WASCLONED クローンした結果として作成された経路
X RTF_XRESOLVE 外部のdaemonがプロトコルからリンクアドレス変換を行なう
.El
.Pp
直接到達可能な経路は、ローカルホストにアタッチされた各インタフェースごとに
生成されます。このようなエントリのゲートウェイフィールドは、
対外インタフェースのアドレスを表します。
refcntフィールドは、使用されている経路の現在数を示します。
コネクション指向のプロトコルは、通常、コネクションの間じゅう
単一の経路を保持します。
他方で、コネクションレス型のプロトコルは、同じ到達先に対して
パケットを送る場合にも、新たに経路を確保します。
useフィールドは、その経路を通って送られたパケット数を表示します。
インタフェースエントリは、その経路用に用いられる
ネットワークインタフェースを表示します。
.Pp
.Nm netstat
.Fl w
オプションと
.Ar wait
インターバル引数を与えられて起動された場合、ネットワークインタフェースに
関連した統計情報を定期的に表示します。
ほとんど使われませんが、オプション指定なしで数字だけをnetstatの引数と
して指定することもでき、本オプションと同様の動作をさせることができます。
しかし、この使い方は過去との互換性のためにのみ存在します。
デフォルトでは、本表示は
すべてのインタフェースについてのサマリ情報からなります。
.Fl I
オプションを用いることで、特定の
インタフェースの情報を表示させることが可能です。
.Sh 関連項目
.Xr nfsstat 1 ,
.Xr ps 1 ,
.Xr hosts 5 ,
.Xr networks 5 ,
.Xr protocols 5 ,
.Xr services 5 ,
.Xr iostat 8 ,
.Xr trpt 8 ,
.Xr vmstat 8
.Sh 歴史
.Nm netstat
コマンドは、
.Bx 4.2
にはじめて登場しました。
.\" .Sh 関連ファイル
.\" .Bl -tag -width /dev/kmem -compact
.\" .It Pa /netbsd
.\" default kernel namelist
.\" .It Pa /dev/kmem
.\" default memory file
.\" .El
.Sh バグ
エラーの概念については、定義が間違っています。
diff --git a/ja_JP.eucJP/man/man1/newaliases.1 b/ja_JP.eucJP/man/man1/newaliases.1
index 9710e662b4..b173312037 100644
--- a/ja_JP.eucJP/man/man1/newaliases.1
+++ b/ja_JP.eucJP/man/man1/newaliases.1
@@ -1,75 +1,53 @@
-.\" Copyright (c) 1983, 1997 Eric P. Allman
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1985, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" 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.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)newaliases.1 8.5 (Berkeley) 2/1/97
+.\" @(#)newaliases.1 8.10 (Berkeley) 5/19/98
.\" jpman %Id: newaliases.1,v 1.2 1997/05/07 02:31:13 mutoh Stab %
.\"
-.Dd February 1, 1997
+.Dd May 19, 1998
.Dt NEWALIASES 1
.Os BSD 4
.Sh 名称
.Nm newaliases
.Nd メールエイリアスのデータベースを再構築する
.Pp
.Sh 書式
.Nm newaliases
.Sh 解説
.Nm newaliases
は、
.Pa /etc/aliases
ファイルに記述されているメール
エイリアスのデータベースを再構築します。
.Pa /etc/aliases
の内容を変更したときには、その内容を反映させるために、
このコマンドを実行しなければなりません。
.Pp
.Nm newaliases
は、
.Dq Li sendmail \-bi
とまったく同じです。
.Sh 戻り値
.Nm newaliases
は、成功すると 0 を、エラーが起きた場合は 0 より大きな値を
返します。
.Sh 関連ファイル
.Bl -tag -width /etc/aliases -compact
.It Pa /etc/aliases
メールエイリアスファイル
.El
.Sh 関連項目
.Xr aliases 5 ,
.Xr sendmail 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/nfsstat.1 b/ja_JP.eucJP/man/man1/nfsstat.1
index 839d4261ef..d0e6b362a3 100644
--- a/ja_JP.eucJP/man/man1/nfsstat.1
+++ b/ja_JP.eucJP/man/man1/nfsstat.1
@@ -1,100 +1,100 @@
.\" 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: @(#)nfsstat.1 8.1 (Berkeley) 6/6/93
-.\" %Id: nfsstat.1,v 1.4.2.2 1997/09/15 09:20:54 jkh Exp %
+.\" %Id: nfsstat.1,v 1.7 1997/04/27 08:45:45 jmg Exp %
.\" jpman %Id: nfsstat.1,v 1.3 1997/05/19 16:46:42 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt NFSSTAT 1
.Os BSD 4.4
.Sh 名称
.Nm nfsstat
.Tn NFS
に関する統計を
.Nd 表示する
.Pp
.Sh 書式
.Nm
.Op Fl M Ar core
.Op Fl N Ar system
.Op Fl w Ar wait
.Pp
.Sh 解説
.Nm
コマンドは、
.Tn NFS
クライアントと
.Tn NFS
サーバの実行状況に関して、持っている
統計を表示します。
.Pp
オプション:
.Bl -tag -width Ds
.It Fl M Ar core
名前のリストから値を取り出す際に、デフォルトの
.Pa /dev/kmem
のかわりに
.Ar core
を使います。
.It Fl N Ar system
名前のリストを取り出す際に、デフォルトの
.Pa /kernel
のかわりに
.Ar system
を使います。
.It Fl w Ar wait
.Tn NFS
のクライアントとサーバに関する実行状況の簡単なサマリを、
.Ar wait
秒ごとに表示します。
.El
.Sh 関連ファイル
.Bl -tag -width /dev/kmem -compact
.It Pa /kernel
デフォルトのカーネルの名前リスト
.It Pa /dev/kmem
デフォルトのメモリファイル
.El
.Sh 関連項目
.Xr fstat 1 ,
.Xr netstat 1 ,
.Xr ps 1 ,
.Xr systat 1 ,
.Xr sysctl 3 ,
.Xr iostat 8 ,
.Xr pstat 8 ,
.Xr vmstat 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/nice.1 b/ja_JP.eucJP/man/man1/nice.1
index e2c2c8420e..e0cf036f44 100644
--- a/ja_JP.eucJP/man/man1/nice.1
+++ b/ja_JP.eucJP/man/man1/nice.1
@@ -1,117 +1,117 @@
.\" 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.
.\"
.\" @(#)nice.1 8.1 (Berkeley) 6/6/93
-.\" %Id: nice.1,v 1.1.1.1.8.4 1998/07/17 04:20:23 jkh Exp %
+.\" %Id: nice.1,v 1.7 1998/03/23 07:45:40 charnier Exp %
.\" jpman %Id: nice.1,v 1.2 1997/05/04 08:01:38 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt NICE 1
.Os BSD 4
.Sh 名称
.Nm nice
.Nd スケジュールの優先度を下げてコマンドを実行する
.Sh 書式
.Nm nice
.Op Fl Ns Ar number
.Ar command
.Op Ar arguments
.Sh 解説
.Nm
はスケジュールの優先度を低くして
.Ar command
を実行します (優先度を低くすると実行速度が遅くなると考えてください)。
もし
.Fl Ns Ar number
が指定されない場合、
.Nm
は値を 10 であるとします。
優先度は -20 から 20 までの値です。
デフォルトの優先度は 0 であり、優先度 20 がもっとも低いです。
.Nm
は、
.Ar command
の実行優先度として、
.Ar number
.Nm
の優先度に対して相対的に指定されたものとします。
現在のプロセスの優先度よりも高い優先度はスーパユーザのみ要求可能です。
負の数を指定する場合には
.Fl - Ns Ar number
とします。
.Pp
終了ステータスは
.Nm
が実行したコマンドの終了ステータスです。
.Sh 使用例
.Pp
$ nice -5 date
.Pp
シェルの優先度が 0 の時、コマンド
.Sq date
を、優先度 5 にて実行します。
.Pp
# nice -16 nice --35 date
.Pp
シェルの優先度が 0 であり、スーパユーザの場合、コマンド
.Sq date
を優先度 -10 にて実行します。
.Sh 関連項目
.Xr csh 1 ,
.Xr idprio 1 ,
.Xr getpriority 2 ,
.Xr setpriority 2 ,
.Xr renice 8
.Sh 歴史
.Nm
.At v6
で追加されました。
.Sh バグ
.Nm
.Xr sh 1
向けのコマンドです。
もし
.Xr csh 1
を使っているのなら、``&'' をつけて実行されたコマンドは、
バックグラウンドで実行されている間は
自動的に hangup を無視します。
.Pp
.Xr csh 1
では、
.Nm
は組み込みコマンドであり、ここで説明したものとは少し異なる書式になります。
.Ql nice +10
は優先度を低くし、
.Ql nice \-10
はスーパユーザが用いた時に優先度を高くします。
diff --git a/ja_JP.eucJP/man/man1/nm.1 b/ja_JP.eucJP/man/man1/nm.1
index 038d314e17..cf3b8366b9 100644
--- a/ja_JP.eucJP/man/man1/nm.1
+++ b/ja_JP.eucJP/man/man1/nm.1
@@ -1,128 +1,128 @@
.\" 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.
.\"
.\" @(#)nm.1 8.1 (Berkeley) 6/6/93
-.\" %Id: nm.1,v 1.4.2.2 1997/08/01 06:33:52 charnier Exp %
+.\" %Id: nm.1,v 1.8 1997/07/31 06:53:36 charnier Exp %
.\" jpman %Id: nm.1,v 1.2 1997/05/17 16:01:54 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt NM 1
.Os BSD 4
.Sh 名称
.Nm nm
.Nd 名前リスト (シンボルテーブル) を表示する
.Sh 書式
.Nm
.Op Fl agnoprtuwW
.Op Ar
.Sh 解説
.Nm
は、指定された各
.Ar file
内のオブジェクトのシンボルテーブル (名前リスト) を
表示します。ライブラリ (アーカイブ) が指定されると、
.Nm
はアーカイブされた各オブジェクトメンバのリストを表示します。
.Ar file
が指定されなければ、
.Nm
.Pa a.out
ファイルを探索し、存在すれば
.Pa a.out
ファイルのシンボルテーブルを表示します。
.Bl -tag -width flag
.It Fl a
デバッガ用に挿入されているシンボルテーブルを表示します。
.It Fl g
外部参照 (グローバル) シンボルのみを表示します。
.It Fl n
数値順に表示します。
.It Fl o
オブジェクトのフルパス名またはライブラリ名を各行に表示します。
.It Fl p
ソートを行いません。
.It Fl r
逆順にソートします。
.It Fl t
要約プログラムにとってより適した表形式で出力します。
.It Fl u
未定義シンボルのみを表示します。
.It Fl w
アーカイブ中のオブジェクトではないメンバーについての警告を表示します。
通常
.Nm
は、オブジェクトファイルではないアーカイブのメンバーを無視し
警告を出しません。
.It Fl W
弱いシンボルを表す ``W'' のためのカラムを含めて出力します。
.El
.Pp
各シンボル名にはその値 (未定義シンボルの場合は空欄)
と、以下のうちの一文字が続きます。
.Pp
.Bl -tag -width Ds -compact -offset indent
.It Fl
デバッガのためのシンボルテーブル (
.Fl a
オプション参照)
.It Li A
絶対値シンボル
.It Li B
bss セグメントシンボル
.It Li C
コモンシンボル
.It Li D
データセグメントシンボル
.It Li f
ファイル名
.It Li I
間接参照シンボル
.It Li T
テキストセグメントシンボル
.It Li U
未定義シンボル
.It Li W
次のシンボルが参照されると警告
.El
.Pp
シンボルがローカル (外部定義ではない) ならば、上記の文字は小文字で表示
されます。出力はアルファベット順にソートされます。
.Sh 関連項目
.Xr ar 1 ,
.Xr a.out 5 ,
.Xr ar 5 ,
.Xr stab 5
.Sh 歴史
.Nm
コマンドは
.At v1
に登場しました。
diff --git a/ja_JP.eucJP/man/man1/od.1 b/ja_JP.eucJP/man/man1/od.1
index 7f78e81c02..76e5220ef7 100644
--- a/ja_JP.eucJP/man/man1/od.1
+++ b/ja_JP.eucJP/man/man1/od.1
@@ -1,84 +1,84 @@
.\" 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.
.\"
.\" @(#)od.1 8.1 (Berkeley) 6/6/93
-.\" %Id: od.1,v 1.3.2.1 1997/09/15 08:17:22 jkh Exp %
+.\" %Id: od.1,v 1.6 1997/06/23 04:52:04 steve Exp %
.\" jpman %Id: od.1,v 1.4 1997/06/04 03:47:49 jsakai Stab %
.\"
.Dd May 27, 1994
.Os
.Dt OD 1
.Sh 名称
.Nm od
.Nd 8進, 10進, 16進, ASCIIでのダンプ
.Sh 書式
.Nm od
.Op Fl aBbcDdeFfHhIiLlOovXx
.Sm off
.Oo
.Op Cm \&+
.Li offset
.Op Cm \&.
.Op Cm Bb
.Oc
.Ar file
.Sh 解説
.Nm od
.Xr hexdump 1
が登場してからは価値がありません。
.Pp
.Xr hexdump
.Nm od
という名前で起動された場合、上記の
.Nm od
のオプションと互換の動作をします。
.Pp
.Fl s
オプション (
.Xr strings 1
を参照) および
.Fl P ,
.Fl p ,
.Fl w
オプションに対応する互換性は提供されていません。
また offset 使用時の ``label'' に対応する互換性も提供されていません。
.Sh 関連項目
.Xr hexdump 1 ,
.Xr strings 1
.Sh バグ
ほとんどありません。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/opieinfo.1 b/ja_JP.eucJP/man/man1/opieinfo.1
index 22669faf45..f991092fd2 100644
--- a/ja_JP.eucJP/man/man1/opieinfo.1
+++ b/ja_JP.eucJP/man/man1/opieinfo.1
@@ -1,100 +1,100 @@
.\" opieinfo.1: Manual page for the opieinfo(1) program.
.\"
-.\" %%% portions-copyright-cmetz
-.\" Portions of this software are Copyright 1996 by Craig Metz, All Rights
+.\" %%% portions-copyright-cmetz-96
+.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
.\" you didn't get a copy, you may request one from <license@inner.net>.
.\"
.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan
.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned
.\" to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and
.\" License Agreement applies to this software.
.\"
.\" History:
.\"
.\" Modified by cmetz for OPIE 2.2. Removed MJR DES documentation.
.\" Modified at NRL for OPIE 2.0.
.\" Written at Bellcore for the S/Key Version 1 software distribution
.\" (keyinfo.1).
.\"
.ll 6i
.pl 10.5i
.lt 6.0i
.TH OPIEINFO 1 "January 10, 1995"
.AT 3
.SH 名称
opieinfo \- 将来の OPIE チャレンジのために、シーケンス番号と種を取り出す
.SH 書式
.B opieinfo
[\-v] [\-h] [
.I user_name
]
.SH 解説
.I opieinfo
はオプションとしてユーザ名を取り、
現在のユーザもしくは指定されたユーザの現在のシーケンス番号と種を
OPIE キーデータベースから取り出して表示します。
opiekey は
Bellcore's S/Key Version 1 の
.IR keyinfo (1)
プログラムと互換ですが、リモートシステム名を指定できないところが違います。
.sp
.I opieinfo
を使用して将来の OPIE 応答リストを生成しておくことにより、
OPIE 計算機を持たずに出かけてもシステムにログインできるようになります。
そのためには、次のように実行します:
.sp
.B opiekey \-n 42 `opieinfo`
.SH オプション
.TP
.B \-v
バージョン番号とコンパイル時のオプションを表示し、終了します。
.TP
.B \-h
短いヘルプメッセージを表示し、終了します。
.TP
.B <user_name>
キー情報を表示したいユーザの名前です。
デフォルトは opieinfo を実行したユーザです。
.SH 使用例
.sp 0
wintermute$ opieinfo
.sp 0
495 wi01309
.sp 0
wintermute$
.LP
.SH 関連ファイル
.TP
/etc/opiekeys -- OPIE システム用のキー情報データベース
.SH SEE ALSO
.BR opie (4),
.BR opiekey (1),
.BR opiepasswd (1),
.BR su (1),
.BR login (1),
.BR ftpd (8),
.BR opiekeys (5)
.BR opieaccess (5)
.SH 作者
Bellcore の S/Key は Bellcore の Phil Karn, Neil M. Haller,
John S. Walden によって書かれました。
OPIE は NRL で Randall Atkinson, Dan McDonald, Craig Metz によって作成
されました。
S/Key は Bell Communications Research (Bellcore) のトレードマークです。
.SH 連絡先
OPIE は Bellcore の "S/Key Users" メーリングリストで議論されました。
参加するためには、電子メールを以下の所に送って下さい:
.sp
skey-users-request@thumper.bellcore.com
diff --git a/ja_JP.eucJP/man/man1/opiekey.1 b/ja_JP.eucJP/man/man1/opiekey.1
index 00b1864e21..997ed3b53d 100644
--- a/ja_JP.eucJP/man/man1/opiekey.1
+++ b/ja_JP.eucJP/man/man1/opiekey.1
@@ -1,180 +1,180 @@
.\" opiekey.1: Manual page for the opiekey(1) program.
.\"
-.\" %%% portions-copyright-cmetz
-.\" Portions of this software are Copyright 1996 by Craig Metz, All Rights
+.\" %%% portions-copyright-cmetz-96
+.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
.\" you didn't get a copy, you may request one from <license@inner.net>.
.\"
.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan
.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned
.\" to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and
.\" License Agreement applies to this software.
.\"
.\" History:
.\"
.\" Modified by cmetz for OPIE 2.3. Added -t documentation. Removed
.\" opie-bugs pointer. Removed opie-md5 and opie-md4 names. Fixed
.\" a bolding bug. Added -f flag. Added escapes on flags. Minor
.\" editorial changes. Updated example.
.\" Modified by cmetz for OPIE 2.2. Removed MJR DES documentation.
.\" Re-worded retype documentation. Added opiegen reference.
.\" Added -x documentation.
.\" Modified at NRL for OPIE 2.0.
.\" Written at Bellcore for the S/Key Version 1 software distribution
.\" (key.1).
.\"
.ll 6i
.pl 10.5i
.lt 6.0i
.TH OPIEKEY 1 "February 20, 1996"
.AT 3
.SH 名称
opiekey, otp-md4, otp-md5 \- OTP チャレンジに対する応答を計算するプログラム
.SH 書式
.B opiekey
|
.B otp-md4
|
.B otp-md5
[\-v] [\-h] [\-f] [\-x]
.sp 0
[\-t
.I
type
] [\-4|\-5]
[\-a] [\-n
.I count
]
.I sequence_number seed
.sp 0
.SH 解説
.I opiekey
のコマンドライン引数は、表示すべき返答数をオプションとして、
(最大の) シーケンス番号と種と共に指定します。
このコマンドはユーザに秘密のパスフレーズの入力を促し、
OPIE 応答を 6 語で生成します。
ミスタイプによるエラーが発生することを防ぐために、
コンパイル時の設定により、
ユーザの秘密のパスフレーズを 2 度入力させることが可能です。
この場合、2 番目のパスワードエントリに end of line のみを入力することで、
再入力せずに済ませることが可能です。
.I opiekey
Bellcore S/Key Version 1 distribution やその変形の
.IR key (1)
プログラムの下位互換となっています。
.SH オプション
.TP
.B \-v
バージョン番号とコンパイル時のオプションを表示し、終了します。
.TP
.B \-h
短いヘルプメッセージを表示し、終了します。
.TP
.B \-4, \-5
応答を生成するアルゴリズムとして、それぞれ MD4 または MD5 を選択します。
otp-md4 のデフォルトは MD4 であり、 opie-md5 のデフォルトは MD5 です。
opiekey のデフォルトはコンパイル時の設定に依存しますが、MD5 にすべきです。
MD4 は Bellcore S/Key Version 1 distribution 互換です。
.TP
.B \-f
通常時には停止してしまう場合においても
.I opiekey
が実行継続するように強制します。
現在では、安全ではないと思われる端末からでも
opiekey が「コンソール」モードで動作するよう強制する場合に使用します。
これはまた、ユーザの秘密のパスフレーズを攻撃者に公開してしまうことになります。
OPIE システム構築時のコンパイルオプション指定により、-f フラグ
を指定できないようにすることが可能です。
.TP
.B \-a
チェックを行わず、任意の秘密のパスフレーズを入力できるようにします。
現在は、任意とはいえ '\0' 文字と '\n' 文字は除外します。
このオプションは、
パスワードをチェックしないキー計算機との下位互換性を保つために使用します。
.TP
.B \-n <count>
表示する一回利用パスワードの個数を指定します。
デフォルトは 1 です。
.TP
.B \-x
OTP を、6 語でなく、16 進数で表示します。
.TP
.B \-t <type>
指定したタイプの拡張応答を生成します。サポートされているタイプは以下です:
.sp 1
word 6 語
.sp 0
hex 16 進数
.sp 0
init 16 進数で再初期化
.sp 0
init-word 6 語で再初期化
.sp 1
再初期化の返答は
.I 常
に簡単な能動攻撃に対する防御となります。
.TP
.SH 使用例
.sp 0
wintermute$ opiekey \-5 \-n 5 495 wi01309
.sp 0
Using MD5 algorithm to compute response.
.sp 0
Reminder: Don't use opiekey from telnet or dial-in sessions.
.sp 0
Enter secret pass phrase:
.sp 0
491: HOST VET FOWL SEEK IOWA YAP
.sp 0
492: JOB ARTS WERE FEAT TILE IBIS
.sp 0
493: TRUE BRED JOEL USER HALT EBEN
.sp 0
494: HOOD WED MOLT PAN FED RUBY
.sp 0
495: SUB YAW BILE GLEE OWE NOR
.sp 0
wintermute$
.LP
.SH バグ
ユーザがリモートログインしている時には
.BR opiekey(1)
はユーザがパスワードを公開してしまうことを許してしまい、
OPIE の目的をだいなしにしてしまいます。
これは xterm においては特に問題となります。
.BR opiekey(1)
は簡単なチェックを行うことで、ユーザがこの誤りを犯す危険を軽減します。
よりよいチェック機構が必要です。
.LP
.SH 連絡先
.BR ftpd (8),
.BR login (1),
.BR opie (4),
.BR opiepasswd (1),
.BR opieinfo (1),
.BR opiekeys (5),
.BR opieaccess (5),
.BR opiegen (1)
.BR su (1),
.SH 作者
Bellcore の S/Key は Bellcore の Phil Karn, Neil M. Haller,
John S. Walden によって書かれました。
OPIE は NRL で Randall Atkinson, Dan McDonald, Craig Metz によって作成
されました。
S/Key は Bell Communications Research (Bellcore) のトレードマークです。
.SH 連絡先
OPIE は Bellcore の "S/Key Users" メーリングリストで議論されました。
参加するためには、電子メールを以下の所に送って下さい:
.sp
skey-users-request@thumper.bellcore.com
diff --git a/ja_JP.eucJP/man/man1/opiepasswd.1 b/ja_JP.eucJP/man/man1/opiepasswd.1
index c9053c1831..36043b11fa 100644
--- a/ja_JP.eucJP/man/man1/opiepasswd.1
+++ b/ja_JP.eucJP/man/man1/opiepasswd.1
@@ -1,179 +1,179 @@
.\" opiepasswd.1: Manual page for the opiepasswd(1) program.
.\"
-.\" %%% portions-copyright-cmetz
-.\" Portions of this software are Copyright 1996 by Craig Metz, All Rights
+.\" %%% portions-copyright-cmetz-96
+.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
.\" you didn't get a copy, you may request one from <license@inner.net>.
.\"
.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan
.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned
.\" to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and
.\" License Agreement applies to this software.
.\"
.\" History:
.\"
.\" Modified by cmetz for OPIE 2.3. Added -f flag documentation.
.\" Updated console example.
.\" Modified by cmetz for OPIE 2.2. Removed MJR DES documentation.
.\" Modified at NRL for OPIE 2.0.
.\" Written at Bellcore for the S/Key Version 1 software distribution
.\" (keyinit.1).
.\"
.ll 6i
.pl 10.5i
.lt 6.0i
.TH OPIEPASSWD 1 "January 10, 1995"
.AT 3
.SH 名称
opiepasswd \- OPIE 認証システムのユーザパスワードを変更または設定する
.SH 書式
.B opiepasswd
[\-v] [\-h] [\-c|\-d] [\-f]
.sp 0
[\-n
.I inital_sequence_number
]
[\-s
.I seed
] [
.I user_name
]
.SH 解説
.I opiepasswd
ユーザが OPIE を使用してログインできるように、システム情報を初期化します。
.I opiepasswd
は Bellcore S/Key Version 1 distribution の keyinit(1) の下位互換
となっています。
.SH オプション
.TP
.TP
.B \-v
バージョン番号とコンパイル時のオプションを表示し、終了します。
.TP
.B \-h
短いヘルプメッセージを表示し、終了します。
.TP
.B \-c
コンソールモード、
すなわちユーザがシステムへの安全なアクセスを行っていると指定します。
コンソールモードでは、あなたは
OPIE 計算機を使用せずに、直接パスワードを入力するように促されます。
システムへの安全なアクセスを行っていない場合
(つまりシステムコンソールにいる場合以外) にこのモードを使用すると、
あなたのパスワードを攻撃者へ提供することになってしまいます。
.TP
.B \-d
指定したアカウントの OTP ログインを無効にします。
.TP
.B \-f
通常時には停止してしまう場合においても
.I opiepasswd
が実行継続するように強制します。
現在では、安全ではないと思われる端末からでも
opiepasswd が「コンソール」モードで動作するよう強制する場合に使用します。
これはまた、ユーザの秘密のパスフレーズを攻撃者に公開してしまうことになります。
OPIE システム構築時のコンパイルオプション指定により、-f フラグ
を指定できないようにすることが可能です。
.TP
.B \-n
初期シーケンス番号を手動で指定します。デフォルトは 499 です。
.TP
.B \-s
ランダムではない種を指定します。デフォルトでは、
ホスト名の最初の 2 文字と 5 桁の擬似乱数を使用して、
「ランダム」な種を生成します。
.SH 使用例
コンソールから
.I opiepasswd
を使用します:
.LP
.sp 0
wintermute$ opiepasswd \-c
.sp 0
Updating kebe:
.sp 0
Reminder \- Only use this method from the console; NEVER from remote. If you
.sp 0
are using telnet, xterm, or a dial\-in, type ^C now or exit with no password.
.sp 0
Then run opiepasswd without the \-c parameter.
.sp 0
Using MD5 to compute responses.
.sp 0
Enter old secret pass phrase:
.sp 0
Enter new secret pass phrase:
.sp 0
Again new secret pass phrase:
.sp 0
.sp 0
ID kebe OPIE key is 499 be93564
.sp 0
CITE JAN GORY BELA GET ABED
.sp 0
wintermute$
.LP
.I opiepasswd
を遠隔地から使用します:
.LP
.sp 0
wintermute$ opiepasswd
.sp 0
Updating kebe:
.sp 0
Reminder: You need the response from your OPIE calculator.
.sp 0
Old secret password:
.sp 0
otp-md5 482 wi93563
.sp 0
Response: FIRM BERN THEE DUCK MANN AWAY
.sp 0
New secret password:
.sp 0
otp-md5 499 wi93564
.sp 0
Response: SKY FAN BUG HUFF GUS BEAT
.sp 0
.sp 0
ID kebe OPIE key is 499 wi93564
.sp 0
SKY FAN BUG HUFF GUS BEAT
.sp 0
wintermute$
.LP
.SH 関連ファイル
.TP
/etc/opiekeys -- OPIE システム用のキー情報データベース
.SH 関連項目
.BR ftpd (8),
.BR login (1),
.BR passwd (1),
.BR opie (4),
.BR opiekey (1),
.BR opieinfo (1),
.BR su (1),
.BR opiekeys (5),
.BR opieaccess (5)
.SH 作者
Bellcore の S/Key は Bellcore の Phil Karn, Neil M. Haller,
John S. Walden によって書かれました。
OPIE は NRL で Randall Atkinson, Dan McDonald, Craig Metz によって作成
されました。
S/Key は Bell Communications Research (Bellcore) のトレードマークです。
.SH 連絡先
OPIE は Bellcore の "S/Key Users" メーリングリストで議論されました。
参加するためには、電子メールを以下の所に送って下さい:
.sp
skey-users-request@thumper.bellcore.com
diff --git a/ja_JP.eucJP/man/man1/passwd.1 b/ja_JP.eucJP/man/man1/passwd.1
index d5eba9d9ea..d26c924d6e 100644
--- a/ja_JP.eucJP/man/man1/passwd.1
+++ b/ja_JP.eucJP/man/man1/passwd.1
@@ -1,206 +1,206 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)passwd.1 8.1 (Berkeley) 6/6/93
-.\" %Id: passwd.1,v 1.5.2.3 1998/03/08 12:04:11 jkh Exp %
+.\" %Id: passwd.1,v 1.9 1998/08/24 00:56:20 steve Exp %
.\" jpman %Id: passwd.1,v 1.4 1997/07/21 09:41:51 konuma Stab %
.\"
.Dd June 6, 1993
.Dt PASSWD 1
.Os BSD 4
.Sh 名称
.Nm passwd, yppasswd
.Nd ユーザのパスワードを変更する
.Sh 書式
.Nm passwd
.Op Fl l
.Op Ar user
.Nm yppasswd
.Op Fl l
.Op Fl y
.Op Fl d Ar domain
-.Op Fl s Ar host
+.Op Fl h Ar host
.Op Fl o
.Sh 解説
.Nm passwd
は、ユーザの local, Kerberos, NIS パスワードを変更します。
パスワードの変更にあたっては、最初に、現在のパスワードの入力を求
められます。現在のパスワードが正しく入力されたら、新しいパスワードの入
力を求められます。新しいパスワードは、タイプミスを避けるため、2 回入力しな
ければなりません。
.Pp
新しいパスワードは、少なくとも 6 文字以上 (ユーザのログインクラスに対する
.Xr login.cap 5
の "minpasswordlen" 設定が優先します) で、アルファベットだけにならな
いようにすべきです。パスワードの最大文字数は、
.Dv _PASSWORD_LEN
(現在は128文字) より短くなければなりません。
数字、アルファベットの大文字、メタキャラクタの使用を推奨します。
.Pp
新しいパスワードが確認されたら
.Nm passwd
は新しいパスワードを Kerberos 認証ホストに伝えます。
.Bl -tag -width flag
.It Fl l
Kerberosデータベースではなく、
ローカルマシンのパスワードだけを変更します。
ローカルマシンのパスワードだけを変更する場合は、
.Xr pwd_mkdb 8
がパスワードデータベースの更新に使われます。
.Pp
.El
ローカルまたは NIS パスワードを変更する場合、
ユーザのログインクラスの "passwordperiod" ケーパビリティに基づき、
次にパスワードを変更すべき日付が設定されます。
.Pp
別のユーザの Kerberos パスワードを変更するには、
.Xr kinit 1
を実行してから、
.Xr passwd 1
を実行する必要があります。
スーパユーザがローカルマシンのパスワードを修正するときにかぎり、現在の
パスワードの入力は不要です。
.Sh NIS との相互作用
.Nm passwd
は NIS のサポートが組み込まれています。
もしユーザ名が NIS のパスワードデータベースの中にあり、
ローカルにはない場合、
.Nm passwd
は自動的に ``yppasswd'' に切り替わります。
指定されたユーザ名がローカルのパスワードデータベースにも、
NIS のパスワードマップにも存在しない場合、
.Nm passwd
はエラーを返します。
.Pp
NIS のパスワードを変更するとき、非特権ユーザーは
確認のために現在のパスワードの入力を求められます (
.Xr rpc.yppasswdd 8
デーモンはいかなる変更でも NIS パスワードマップに加える前に
現在のパスワードの入力を求めます)。
この制限はスーパユーザにも適用されますが、大きな例外があります。
NIS マスタサーバのスーパユーザはパスワードの確認が省略されるの
です。
したがって、NIS マスタサーバのスーパユーザは、すべてのユーザの
NIS パスワードを無制限に変更できます。
しかし、NIS クライアントや NIS スレーブサーバのスーパユーザは
変更にパスワードが必要です。
.Pp
以下のオプションは NIS のためのものです:
.Bl -tag -width flag
.It Fl y
.Nm passwd
は強制的に NIS 用になります。
.It Fl l
NIS が有効な場合に
.Nm passwd
を強制的にローカル用にします。
このフラグは同じログイン名で NIS のユーザと
ローカルなユーザが存在するときに、ローカルユーザの
パスワードエントリを変更するために使われます。
例えば、システム用の
.Pa bin
.Pa daemon
といったエントリは NIS パスワードマップとローカルユーザデータベース
の両方に存在することが、よくあります。
この場合デフォルトでは
.Nm passwd
は NIS のパスワードを変更しようとします。 NIS ではなくローカルの
パスワードを変更するとき
.Fl l
を使います。
.It Fl d Ar domain
NIS パスワードを変更するとき、ドメイン名を指定します。デフォルトで
.Nm passwd
は、システムのデフォルトドメイン名を使います。このフラグは主に
NIS マスタサーバのスーパユーザが使用するものです。一つの NIS
マスタサーバが複数のドメインを扱っている場合や、NIS マスタサーバでは
ドメイン名が設定されていない (NIS サーバーは必ずしもクライアントになる
必要はありません) 場合に、
.Nm passwd
コマンドがどのドメインを扱うのかを指定する必要があります。
.It Fl s Ar host
NIS サーバの名前を指定します。このオプションを
.Fl d
オプションと共に用いることで、非ローカルな NIS サーバ上の NIS
パスワードを変えることが出来ます。
.Fl d
オプションでドメイン名を指定し、 NIS マスタサーバの名前が決定できな
い (おそらく、ローカルのドメイン名が設定されていないため) ときには、
NIS マスタサーバは、 ``localhost'' であると仮定されます。
このサーバ名を
.Fl s
で指定することが出来ます。指定するホスト名は NIS マスタサーバ
でなくても構いません。 NIS マスターサーバー名はドメイン内の
NIS (マスタもしくはスレーブ) サーバに問い合わせることで決定される
ので、スレーブサーバを指定しても構いません。
.Pp
.It Fl o
NIS マスタサーバにおいて、スーパユーザの確認を省略しません。
\'old' モードにします。このフラグはあまり実用的ではありませんが、
パスワードのテストに使うことが出来ます。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd -compact
.It Pa /etc/master.passwd
パスワードのマスタファイル
.It Pa /etc/passwd
Version 7 形式のパスワードファイル
.It Pa /etc/passwd.XXXXXX
パスワード変更時に作られるテンポラリファイル
.It Pa /etc/login.conf
ログインクラスケーパビリティデータベース
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr kerberos 1 ,
.Xr kinit 1 ,
.Xr login 1 ,
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr kpasswdd 8 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8
.Rs
.%A Robert Morris
.%A Ken Thompson
.%T "UNIX password security"
.Re
.Sh 注釈
.Xr yppasswd 1
は実際には
.Nm passwd
へのリンクです。
.Sh 歴史
.Nm passwd
コマンドは
.At v6
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/patch.1 b/ja_JP.eucJP/man/man1/patch.1
index 1aebf0104d..33d240145f 100644
--- a/ja_JP.eucJP/man/man1/patch.1
+++ b/ja_JP.eucJP/man/man1/patch.1
@@ -1,593 +1,603 @@
.\" -*- nroff -*-
.rn '' }`
.\" jpman %Id: patch.1,v 1.3 1997/09/10 04:34:14 yugawa Stab %
-'\" %Header: /home/ncvs/src/gnu/usr.bin/patch/patch.1,v 1.5.2.3 1998/01/22 07:45:53 ache Exp %
+'\" %Header: /home/ncvs/src/gnu/usr.bin/patch/patch.1,v 1.9 1998/01/22 07:44:03 ache Exp %
'\"
'\" %Log: patch.1,v %
+'\" Revision 1.9 1998/01/22 07:44:03 ache
+'\" Add PATCH_INDEX_FIRST environment variable to do the same as -I option
+'\"
+'\" Revision 1.8 1998/01/21 15:10:13 ache
+'\" Add -I or --index-first option to take Index: precedence over context diff,
+'\" as it was in hacked FreeBSD version
+'\"
+'\" Revision 1.7 1998/01/21 14:37:21 ache
+'\" Resurrect patch 2.1 without FreeBSD Index: hack
+'\"
'\" Revision 1.5.2.1 1998/01/11 20:45:30 ache
'\" Back out rev1.5 change, Index: precedence restored to historycal behaviour
'\"
'\" Revision 1.4 1994/02/25 21:45:59 phk
'\" added the -C/-check again.
'\"
.\" Revision 1.3 1994/02/17 22:20:33 jkh
.\" Put this back - I was somehow under the erroneous impression that patch was in
.\" ports, until I saw the the commit messages, that is! :-) All changed backed out.
.\"
.\" Revision 1.2 1994/02/17 22:16:02 jkh
.\" From Poul-Henning Kamp - Implement a -C option to verify the integrity of
.\" a patch before actually applying it.
.\"
.\" Revision 1.1.1.1 1993/06/19 14:21:51 paul
.\" b-maked patch-2.10
.\"
'\" Revision 2.0.1.2 88/06/22 20:47:18 lwall
'\" patch12: now avoids Bell System Logo
'\"
'\" Revision 2.0.1.1 88/06/03 15:12:51 lwall
'\" patch10: -B switch was contributed.
'\"
'\" Revision 2.0 86/09/17 15:39:09 lwall
'\" Baseline for netwide release.
'\"
'\" Revision 1.4 86/08/01 19:23:22 lwall
'\" Documented -v, -p, -F.
'\" Added notes to patch senders.
'\"
'\" Revision 1.3 85/03/26 15:11:06 lwall
'\" Frozen.
'\"
'\" Revision 1.2.1.4 85/03/12 16:14:27 lwall
'\" Documented -p.
'\"
'\" Revision 1.2.1.3 85/03/12 16:09:41 lwall
'\" Documented -D.
'\"
'\" Revision 1.2.1.2 84/12/05 11:06:55 lwall
'\" Added -l switch, and noted bistability bug.
'\"
'\" Revision 1.2.1.1 84/12/04 17:23:39 lwall
'\" Branch for sdcrdcf changes.
'\"
'\" Revision 1.2 84/12/04 17:22:02 lwall
'\" Baseline version.
'\"
.de Sh
.br
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp
.if t .sp .5v
.if n .sp
..
'\"
'\" Set up \*(-- to give an unbreakable dash;
'\" string Tr holds user defined translation string.
'\" Bell System Logo is used as a dummy character.
'\"
.ie n \{\
.tr \(*W-\*(Tr
.ds -- \(*W-
.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.ds L" ""
.ds R" ""
.ds L' '
.ds R' '
'br \}
.el \{\
.ds -- \(em\|
.tr \*(Tr
.ds L" ``
.ds R" ''
.ds L' `
.ds R' '
'br\}
.TH PATCH 1 LOCAL
.SH 名称
patch - diff ファイルをオリジナルのファイルに適用する
.SH 書式
.B patch
[options] [origfile [patchfile]] [+ [options] [origfile]]...
.sp
ですが、たいていは以下のようにします。
.sp
.B patch
<patchfile
.SH 解説
.I patch
は、
.I diff
プログラムによって生成された 4 つの形式の差分情報を含むパッチファイル
を受け付け、オリジナルファイルにその差分を当てて、パッチ済みのバージョ
ンを生成します。
デフォルト動作では、オリジナルは \*(L".orig\*(R" の拡張子
(長いファイル名を扱えないシステムでは \*(L"~\*(R")
を付けてバックアップとして残した上で、
オリジナルファイルはパッチ済みのバージョンに置き換えられます。
オリジナルをバックアップする拡張子はオプション
\fB\-b\fP (\fB\-\-suffix\fP),
\fB\-B\fP (\fB\-\-prefix\fP)
あるいは
\fB\-V\fP (\fB\-\-version\-control\fP)
によって、あるいは環境変数
.B SIMPLE_BACKUP_SUFFIX
によっても変更できます。
環境変数による指定はオプション指定によって上書きされます。
.PP
バックアップファイルが既に存在していた場合、
.B patch
は新しいバックアップファイル名として、
ファイル名本体の中で最初に出てくる英小文字の部分を大文字に替えたもの
を使います。
英小文字の部分がなかった場合は、ファイル名の最初の 1 文字削除したものとし、
既存のバックアップファイル名と合致しなくなるまでこれを繰り返します。
.PP
ファイルの出力先は
\fB\-o\fP (\fB\-\-output\fP)
で指定することができますが、
もしそこに既に同じファイル名のファイルが存在していたら、
まずバックアップが作られます。
.PP
.I patchfile
が指定されない場合やハイフンである場合、
パッチは標準入力から読み込まれます。
.PP
.I patch
が最初に行う作業は、差分情報がどんな形式か判別することです。
これは、オプション
\fB\-c\fP (\fB\-\-context\fP),
\fB\-e\fP (\fB\-\-ed\fP),
\fB\-n\fP (\fB\-\-normal\fP),
\fB\-u\fP (\fB\-\-unified\fP)
によって形式を指定することもできます。
context diff (old-style, new-style, unified) および normal diff は
.I patch
自身によりパッチが当てられます。
ed diff
だった場合は、パイプを通して単にパッチファイルをエディタ
.I ed
に入力するだけです。
.PP
.I patch
は、差分情報の前に含まれるゴミをスキップし、差分を適用し、
そして後に含まれるゴミをスキップしようとします。
ですから差分情報が入った記事やメッセージなどをそのまま
.I patch
に与えても、うまく動作するはずです。
差分全体が一定量だけインデントされていても、
そのことを考慮のうえ処理されます。
.PP
context diff の場合、そして normal diff の場合もいくらかあてはまりますが、
.I patch
はパッチに書かれた行番号が正しくない場合にそれを検知し、
各 hunk (パッチの各々の単位)を適用する正しい場所を見つけようと試みます。
まず hunk に書かれた行番号に対し、
前回 hunk を適用した際に用いたオフセットを加算あるいは減算します。
それが正しい場所でなければ、
.I patch
は一定の行数だけその前後を走査し、hunk のコンテキスト(context)にマッチする行を
探します。
一番最初は、
.I patch
はコンテキスト中の全ての行が一致する場所を探します。
一致する場所が見つからない場合、
パッチが context diff 形式であり、
しかも最大曖昧度(maximum fuzz factor)が 1 以上に設定されていれば、
コンテキストの最初と最後の行を無視して再度走査を行います。
それでも見つからない場合、
最大曖昧度が 2 以上なら、コンテキストの最初と最後の 2 行を無視して
再度走査します。
(デフォルトの最大曖昧度は 2 です)
もし
.I patch
がパッチを当てる場所を見つけられなかった場合、その部分の差分情報を
リジェクトファイルに出力します。リジェクトファイルは、通常、
出力ファイルに \*(L".rej\*(R" の拡張子
(長いファイル名を扱えないシステムでは \*(L"#\*(R")
を付けたものになります。
(注意: 入力パッチが context diff であっても normal diff であっても、
リジェクト部分は context diff 形式で出力されます。
入力が normal diff の場合、コンテキストの多くは単なる null になります。)
このリジェクトファイルに出力される時の差分情報に付けられている行番号は、
元のパッチファイルにあるものと違ったものになっている可能性もありますが、
元のものよりは場所的により近い位置になっていると思われる行番号になります。
.PP
パッチの各 hunk が処理される毎に、そのパッチ処理が
成功した(succeeded)のか失敗した(failed)のかの別と、
.I patch
が推定したパッチ適用行位置(新しいファイルにおける行番号)
が報告されます。
この位置が差分中に示された行番号と異なる場合、
そのズレ(オフセット)も報告されます。
hunk のひとつだけが大きなオフセットで適用された場合、
それは誤った位置に適用されたことを意味する「かも」しれません。
またパッチ適用に際して曖昧度(fuzz factor)が用いられた場合も
その旨報告されます。この場合は少し疑ってみるべきでしょう。
.PP
もし、オリジナルファイルがコマンドラインで指定されなかった場合、
.I patch
は、エディットすべきファイル名を、差分情報の前に付加されているゴミの中
から見つけようとします。
context diff のヘッダの場合、ファイル名は
\*(L"***\*(R" もしくは \*(L"---\*(R" で始まる行から探し、
既存ファイルに一致する最も短い名前が用いられます。
context diffには上のような行が含まれますが、
もしヘッダに \*(L"Index:\*(R" いう行があったら
.I patch
はここから得たファイル名を使うことを試みます。
context diff ヘッダは Index 行に優先して用いられます。
もしファイル名を見つけることができなかった場合、
パッチすべきファイル名を入力するよう求めます。
.PP
もしオリジナルファイルが見つからないかリードオンリーであるけれども、
SCCS か RCS ファイルが存在する場合、
.I patch
はそのファイルのゲットもしくはチェックアウトを試みます。
.PP
加えて、もし差分の前のゴミの中に \*(L"Prereq: \*(R" という行が含まれていれば、
.I patch
はその行に必要条件 (通常はバージョン番号) が書いてあるものとみなして
最初の word を取りだし、オリジナルファイルの中に同じ word があるかどうかを
調べます。もしその word が発見できなければ、
.I patch
は処理を実行してよいか、確認を求めるようになります。
.PP
結局のところ、ニュースリーダを使っているときに、
パッチを含んだ記事に対して
.Sp
| patch -d /usr/src/local/blurfl
.Sp
のように指示してやれば、blurfl ディレクトリにあるファイルに
記事から直接パッチをあてることができる、
ということです。
.PP
パッチファイルに、1 つ以上のパッチが含まれていた場合、
.I patch
は、各々が別々のパッチファイルであるものと思って処理を実行します。
この場合、パッチを当てるべきオリジナルファイルは、今まで説明したように、
各々の差分情報の中から抽出でき、
また、各差分記述の前にあるゴミの部分を調べることで
ファイル名やリビジョンレベル等の重要事項が得られる、
と仮定しています。
この他に、\*(L'+\*(R' で繋げてファイル名を並べることで、
2 番目以降のファイル名を指定することもできます
(ただし、この場合でも、パッチ当てた後の新しいファイル名を
指定することはできません)。
.PP
.I patch
には次のようなオプションがあります:
.TP 5
.B "\-b suff, \-\-suffix=suff"
\*(L".orig\*(R" や \*(L"~\*(R" の代わりに
.B suff
がバックアップファイルの拡張子として解釈されるようにします。
.TP 5
.B "\-B pref, \-\-prefix=pref"
.B pref
が、バックアップファイル名の前に付けるプレフィックスとして
解釈されるようにします。
この指定を行うと
.B \-b
の指定は無視されます。
.TP 5
.B "\-c, \-\-context"
パッチファイルを context diff 形式として解釈します。
.TP 5
.B "\-C, \-\-check"
どういう処理が行われるか確認します。しかし実行はしません。
.TP 5
.B "\-d dir, \-\-directory=dir"
.B dir
をディレクトリとみなし、処理の前にそのディレクトリに移動します。
.TP 5
.B "\-D sym, \-\-ifdef=sym"
"#ifdef...#endif" 構造を用いて差分を示します。
差分情報を切り替えるシンボルとして
.B sym
が用いられます。
.TP 5
.B "\-e, \-\-ed"
パッチファイルを
.I ed
スクリプト形式として解釈します。
.TP 5
.B "\-E, \-\-remove\-empty\-files"
パッチ適用後、空のファイルは削除するようにします。
.TP 5
.B "\-f, \-\-force"
ユーザは処理内容を正確に把握しているものとみなし、
.I patch
は何も尋ねず、次のように仮定して処理を進めます。すなわち、
パッチすべきオリジナルファイル見つけることができなかった場合は
スキップします。
``Prereq:'' のバージョンが正しくなくても、パッチを実行します。
パッチ済みと思われても、リバースパッチではないと仮定します。
なお、このオプションは、
.I patch
が表示するメッセージを抑制しません。メッセージを止めるには
.B \-s
を使います。
.TP 5
.B "\-t, \-\-batch"
.BR \-f
と同様ですが、次のように仮定します。
パッチすべきオリジナルファイルを見つけることができなかった場合は
スキップします(
.BR \-f
と同じ)。
``Prereq:'' のバージョンが正しくない場合は、スキップします。
パッチ済みと思われる場合は、リバースパッチと仮定します。
.TP 5
.B "\-F number, \-\-fuzz=number"
最大曖昧度を設定します。
このオプションは context diff 形式にのみ適用され、
hunk の適用位置を探す際に最大 number 行だけ無視します。
この値を大きくするとパッチが間違ってあたる可能性も増えることに
注意して下さい。
デフォルト値は 2 であり、
context の行数(通常は 3)より大きい値にはしません。
.TP 5
.B "\-I, \-\-index-first"
.I patch
に、``Index:'' 行を context diff のヘッダより優先して扱わせます。
.B PATCH_INDEX_FIRST
環境変数を設定すれば同じ効果が得られます。
.TP 5
.B "\-l, \-\-ignore\-whitespace"
パターンマッチの条件を緩くし、タブおよび空白に関する違いは無視します。
パターン中の連続する任意個の空白は、入力ファイル中の連続する任意個の
空白にマッチします。
.\" ↑ 原文は以下のようになっているが、
.\" Any sequence of whitespace in the pattern line will match any sequence
.\" in the input file. ^^^^^^^^^^^^
.\" 下線部分は "any sequence of whitespace" という意味だと解釈した。
しかし普通の文字は正確に合致しなければなりません。
context の各行に対して入力ファイル中にマッチする行がなければなりません。
.TP 5
.B "\-n, \-\-normal"
パッチファイルを normal diff 形式として解釈します。
.TP 5
.B "\-N, \-\-forward"
リバースパッチ、もしくはすでにパッチ済みであると思われるパッチを
スキップします。
.B \-R
も参照して下さい。
.TP 5
.B "\-o file, \-\-output=file"
.B file
を出力ファイル名と解釈します。
.TP 5
.B "\-p[number], \-\-strip[=number]"
パス名の除去カウント(strip count)を設定します。
パッチ作成者と異なるディレクトリにファイルを置いている場合、
パッチファイル中のパス名をどのように解釈するか、を指示します。
除去カウントは、パス名の先頭から何個のスラッシュを除去するか、
を指定するものです(その間にあるディレクトリ名も取り除かれます)。
例えば、パッチファイル中のファイル名が
.sp
/u/howard/src/blurfl/blurfl.c
.sp
であった場合、
.B \-p
あるいは
.B \-p0
オプションを指定すると、パス名は全く修正されません。
.B \-p1
を指定すると、最初のスラッシュがない
.sp
u/howard/src/blurfl/blurfl.c
.sp
となり、
.B \-p4
を指定すると
.sp
blurfl/blurfl.c
.sp
、そして
.B \-p
を全く指定しないと
"blurfl.c"
となります。
ただし、その前のパス(u/howard/src/blurfl)が相対パスとして存在する場合は別で、
その場合、パス名全体は無修正のままです。
最後に、こうして得られたファイルを、カレントディレクトリあるいは
.B \-d
オプションで指定したディレクトリ内で探します。
.TP 5
.B "\-r file, \-\-reject\-file=file"
.B file
をリジェクトファイル名として解釈します。
.TP 5
.B "\-R, \-\-reverse"
このパッチが新旧 2 つのファイルを入れ換えて作成したものであることを
.I patch
に知らせます。
(ええ、たまにはそういうことも起きると思っています。
人間ってそういうものです。)
.I patch
は各 hunk を適用する前に新旧を入れ換えます。
リジェクトファイルは入れ換え後の形式で出力されます。
.B \-R
オプションは
.I ed
スクリプト形式の差分には使えません。
逆操作の手順をつくり出すには情報が不足しているからです。
.Sp
もしパッチ中の最初の hunk が失敗すれば、
.I patch
はそれをリバースパッチにしてうまく適用できるかどうか試します。
もしうまくいけば、
.B \-R
オプションをセットしてパッチを当てますか、と尋ねられます。
そうしないと答えれば、パッチは通常通り適用されていきます。
(注: パッチが normal diff 形式で、しかも最初のコマンドが追加
(つまり本来は削除)であると、この方法ではリバースパッチを検出できません。
空のコンテキストはどこにでもマッチするので、追加操作は常に成功してしまう
からです。
幸い、発見的には、
パッチは行を削除するよりも追加あるいは修正するものがほとんどであるため、
normal diff 形式のリバースパッチは削除から始まって失敗におわることが
ほとんどです。)
.TP 5
.B "\-s, \-\-silent, \-\-quiet"
エラーの場合以外、静かに処理を行います。
.TP 5
.B "\-S, \-\-skip"
パッチファイル中のこのパッチを無視し、
次のパッチから処理を続けるように指示します。
例えば
.sp
patch -S + -S + <patchfile
.sp
と指定すると、3 つのパッチのうち、1 番目と 2 番目のパッチを無視します。
.TP 5
.B "\-u, \-\-unified"
パッチファイルを unified diff 形式 (unidiff) として解釈します。
.TP 5
.B "\-v, \-\-version"
.I patch
コマンドのリビジョンヘッダとパッチレベルを表示します。
.TP 5
.B "\-V method, \-\-version\-\-control=method"
バックアップファイル名の作成方法として
.B method
を用います。
作成されるバックアップのタイプは環境変数
.B VERSION_CONTROL
でも指定できますが、このオプションはそれに優先します。
.B -B
はこのオプションに優先し、バックアップファイルを作る際に
常にプレフィックスが用いられるようにします。
環境変数
.B VERSION_CONTROL
および
.B -V
オプションの引数の指定は、GNU Emacs の `version-control' 変数と同様です。
より分かりやすい同義語も認識されます。
有効な値は以下の通り(一意に短縮するのも可):
.RS
.TP
`t' または `numbered'
常に数字を付けたバックアップファイルを作ります。
.TP
`nil' または `existing'
すでにバックアップファイルが存在すれば数字付きバックアップ、
それ以外は単純なバックアップを行います。
これがデフォルトです。
.TP
`never' または `simple'
常に単純なバックアップを行います。
.RE
.TP 5
.B "\-x number, \-\-debug=number"
内部のデバッグフラグに値を設定します。
.I patch
コマンドにパッチをあてる人だけに関係するものです。
.SH 作者
Larry Wall <lwall@netlabs.com>
.br
および多くの貢献者の方々。
.SH 環境変数
.TP
.B TMPDIR
テンポラリファイルを置くディレクトリ。デフォルトでは /tmp
.TP
.B SIMPLE_BACKUP_SUFFIX
バックアップファイルに付ける拡張子を指定します。デフォルトでは、
\*(L".orig\*(R" もしくは
\*(L"~\*(R"。
.TP
.B VERSION_CONTROL
数字付きバックアップファイルが作成される際に選択します。
.SH 関連ファイル
$TMPDIR/patch*
.SH 関連項目
diff(1)
.SH パッチ作成者への注意
パッチを作って送付しようとする際に留意すべき点がいくつかあります。
第 1 に、patchlevel.h というファイルを管理することで皆は大変幸せに
なれます。作成したパッチファイルの最初の差分はこの patchlevel.h に
パッチをあて、パッチレベルをインクリメントします。
パッチの中に Prereq: 行を入れておけば、
順番通りにパッチを適用しない限り警告が出ます。
第 2 に、context diff ヘッダか Index: 行で正しくファイル名を指定している
ことを確認して下さい。
サブディレクトリにあるファイルにパッチをあてようとする場合は、
必要に応じて
.B \-p
オプションを指定するよう、ユーザに伝えて下さい。
第 3 に、空のファイルと新規ファイルを比較する差分を送付することで、
新しいファイルを生成することができます。
これは、ターゲットディレクトリにその新ファイルがまだ存在しない場合にのみ
有効です。
第 4 に、リバースパッチを送付しないように気を付けて下さい。
そのパッチは適用済なのかと皆が混乱します。
第 5 に、例えば 582 個の差分をたったひとつのファイルに突っ込んで
ハイサヨナラとすることもできることはできますが、
何か発狂しそうになったときに備えて、
関係あるパッチをいくつかの独立したファイルにまとめあげるほうが
おそらく賢明でしょう。
.SH 診断
ここに列挙しきれないほどたくさんありますが、一般に
.I patch
がパッチファイルを解釈できないことを示しています。
.PP
メッセージ \*(L"Hmm...\*(R" は、
パッチファイル中に処理できないテキストが存在していること、
そして
.I patch
はそのテキスト中にパッチがあるかどうか、もし存在すれば
どういう形式のパッチであるかを推測しようとしていることを
示しています。
.PP
ひとつでもリジェクトファイルが作成されれば、
.I patch
はゼロでない終了ステータスで終了します。
いくつものパッチを繰り返し適用する場合は、
この終了ステータスをチェックし、
パッチが部分的にしか適用されていないファイルに対して
さらなるパッチをあてないようにすべきです。
.SH 警告
.I patch
.I ed
スクリプト形式では行番号のズレを示せません。
また normal diff 形式でも、行番号の誤りを指摘できるのは
\*(L"change\*(R" コマンドや \*(L"delete\*(R" コマンドが現れる場合だけです。
context diff 形式で曖昧度 3 を指定した場合も同様の問題があります。
適切な対話インタフェースが追加されるまでは、
こういう場合は context diff を見比べて修正が意味的に正しいかどうか
確認すべきでしょう。
もちろん、エラーなくコンパイルできれば、
パッチはうまく適用されたという小さなサインにはなりますが、
必ずしもいつもそうだというわけではありません。
.PP
たとえ多くの類推を行わなくてはならない場合でも、
.I patch
は通常、正しい結果を生成します。
しかし、結果が正しいと保証できるのは、
パッチを作成したのと正確に同じバージョンのファイルに対して
パッチを適用した場合だけです。
.SH バグ
多めの \&deviant オフセットと入れ換えコードにより、
部分的なマッチングに関して更に賢くできますが、
そのためにはパスを追加する必要がありそうです。
.PP
コードが複製されている場合(例えば #ifdef OLDCODE ... #else ... #endif に
よって)、
.I patch
は両者にパッチをあてることができません。
そしてそこでパッチコマンドがうまくいった場合、
そのパッチはおそらく誤って適用されており、
おまけに「成功しました」と報告してきます。
.PP
既に適用済のパッチをあてると、
.I patch
はそれをリバースパッチと考え、適用したパッチを外すかどうか尋ねてきます。
これも特徴の一つと解釈可能でしょう。
.rn }` ''
diff --git a/ja_JP.eucJP/man/man1/pax.1 b/ja_JP.eucJP/man/man1/pax.1
index 73d76ab2c5..965c9aaf4c 100644
--- a/ja_JP.eucJP/man/man1/pax.1
+++ b/ja_JP.eucJP/man/man1/pax.1
@@ -1,1175 +1,1175 @@
.\" Copyright (c) 1992 Keith Muller.
.\" Copyright (c) 1992, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Keith Muller of the University of California, San Diego.
.\"
.\" 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.
.\"
.\" @(#)pax.1 8.4 (Berkeley) 4/18/94
-.\" %Id: pax.1,v 1.3.2.3 1998/07/16 09:35:43 jkh Exp %
+.\" %Id: pax.1,v 1.8 1998/05/31 22:43:57 steve Exp %
.\" jpman %Id: pax.1,v 1.4 1997/08/25 03:45:37 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt PAX 1
.Os BSD 4.4
.Sh 名称
.Nm pax
.Nd ファイルアーカイブの読み書きやディレクトリ階層のコピーを行う
.Sh 書式
.Nm pax
.Op Fl cdnv
.Bk -words
.Op Fl f Ar archive
.Ek
.Bk -words
.Op Fl s Ar replstr
.Ar ...
.Ek
.Bk -words
.Op Fl U Ar user
.Ar ...
.Ek
.Bk -words
.Op Fl G Ar group
.Ar ...
.Ek
.Bk -words
.Oo
.Fl T
.Op Ar from_date
.Op Ar ,to_date
.Oc
.Ar ...
.Ek
.Op Ar pattern ...
.Nm pax
.Fl r
.Op Fl cdiknuvDYZ
.Bk -words
.Op Fl f Ar archive
.Ek
.Bk -words
.Op Fl o Ar options
.Ar ...
.Ek
.Bk -words
.Op Fl p Ar string
.Ar ...
.Ek
.Bk -words
.Op Fl s Ar replstr
.Ar ...
.Ek
.Op Fl E Ar limit
.Bk -words
.Op Fl U Ar user
.Ar ...
.Ek
.Bk -words
.Op Fl G Ar group
.Ar ...
.Ek
.Bk -words
.Oo
.Fl T
.Op Ar from_date
.Op Ar ,to_date
.Oc
.Ar ...
.Ek
.Op Ar pattern ...
.Nm pax
.Fl w
.Op Fl dituvHLPX
.Bk -words
.Op Fl b Ar blocksize
.Ek
.Oo
.Op Fl a
.Op Fl f Ar archive
.Oc
.Bk -words
.Op Fl x Ar format
.Ek
.Bk -words
.Op Fl s Ar replstr
.Ar ...
.Ek
.Bk -words
.Op Fl o Ar options
.Ar ...
.Ek
.Bk -words
.Op Fl U Ar user
.Ar ...
.Ek
.Bk -words
.Op Fl G Ar group
.Ar ...
.Ek
.Bk -words
.Op Fl B Ar bytes
.Ek
.Bk -words
.Oo
.Fl T
.Op Ar from_date
.Op Ar ,to_date
.Op Ar /[c][m]
.Oc
.Ar ...
.Ek
.Op Ar file ...
.Nm pax
.Fl r
.Fl w
.Op Fl diklntuvDHLPXYZ
.Bk -words
.Op Fl p Ar string
.Ar ...
.Ek
.Bk -words
.Op Fl s Ar replstr
.Ar ...
.Ek
.Bk -words
.Op Fl U Ar user
.Ar ...
.Ek
.Bk -words
.Op Fl G Ar group
.Ar ...
.Ek
.Bk -words
.Oo
.Fl T
.Op Ar from_date
.Op Ar ,to_date
.Op Ar /[c][m]
.Oc
.Ar ...
.Ek
.Op Ar file ...
.Ar directory
.Sh 解説
.Nm
は、アーカイブファイルの読み込み、書きだし、アーカイブファイルに
格納されているファイルの一覧読みだし、そしてディレクトリ階層のコピーを
行います。
.Nm
の操作は指定したアーカイブフォーマットとは独立しており、また
.Nm
は広範囲に渡る種類のアーカイブフォーマットの操作をサポートします。
.Nm
のサポートするアーカイブフォーマット一覧は、
.Fl x
オプションの説明時に示します。
.Pp
.Fl r
および
.Fl w
は、以下の
.Nm
の機能モードのいずれかを指定するのに用いられます。その機能モードとは、
.Em 一覧表示モード、読み込みモード、書き込みモード、コピーモード
の 4 つです。
.Bl -tag -width 6n
.It <none>
.Em 一覧表示モードです。
.Nm
は、
.Dv 標準入力
から読み込まれたアーカイブ内の格納ファイルのリストを
.Dv 標準出力
へ書き出します。標準入力から読み込まれるファイルのパス名は、指定した
.Ar pattern
に一致するものが採用されます。
ファイル一覧は 1 行に 1 つのファイル名を含み、1 行バッファリングを行って
書き出されます。
.It Fl r
.Em 読み込みモードです。
.Nm
は、
.Dv 標準入力
からアーカイブ読み込み、その内に格納されたファイルのうち指定した
.Ar pattern
に一致するファイル名を持つファイルを展開します。
アーカイブフォーマット及びブロック化係数は、自動的に入力から決定されます。
展開されるファイルがディレクトリの場合、そのディレクトリ配下に連なる
ファイル階層は完全な形で展開されます。
展開される全てのファイルは、現在のファイル階層からの相対ディレクトリに
生成されます。展開されるファイルの所有権、アクセス時刻、更新時刻、
そしてファイルモードの設定についての詳細は、
.Fl p
オプションのところで述べます。
.It Fl w
.Em 書き込みモードです。
.Nm
は、
.Ar file
オペランドで指定したファイル群のアーカイブを
指定したフォーマットで標準出力に書き出します。
.Ar file
オペランドが指定されない場合には、1 行に 1 つずつ
コピーするファイルを記述したリストを標準入力から読み込みます。
.Ar file
オペランドがディレクトリの場合、そのディレクトリ配下の
全ファイルが作成されるアーカイブに含まれます。
.It Fl r Fl w
.Em コピーモードです。
.Nm
は、ファイルオペランドで指定したファイル群を、指定した
.Ar ディレクトリ
にコピーします。
.Ar file
オペランドが指定されない場合には、1 行に 1 つずつ
コピーするファイルを記述したリストを標準入力から読み込みます。
.Ar file
オペランドがディレクトリの場合、そのディレクトリ配下のファイルがすべて、
コピー先として指定したディレクトリ配下に作成されます。
.Em コピーモード
は、ファイルがアーカイブファイルに対して書き込まれ、
そして一方でそのアーカイブファイルが展開されるかのように見ます。
ただし、これはオリジナルファイルとコピーファイルの間に
ハードリンクが張られるかも知れない事を除きます
.Ns ( Fl l
オプションを参照して下さい)。
.Pp
.Em 注意
コピー先の
.Ar ディレクトリ
には、コピー元にあるものと同じファイル名の
.Ar file
オペランドや
.Ar file
オペランドで指定されるディレクトリ階層の配下にあるファイル名などを
指定してはいけません。
そのような場合、
.Em コピー
の結果は予測できないものになります。
.El
.Pp
.Em 読み込み
操作や
.Em 一覧表示
動作において壊れたアーカイブを処理する場合、
.Nm
は媒体破損を可能な限り復旧し、
アーカイブの中から可能な限りのファイルを処理しようと試みます (エラー時の
処理の詳細は
.Fl E
オプションを参照して下さい)。
.Sh オペランド
.Pp
.Ar directory
オペランドは、コピー先ディレクトリの指定を行います。
.Ar directory
オペランドが存在しない場合、もしくはユーザが書き込みを出来ない、
もしくは指定したオペランドがディレクトリでない場合には、
.Nm
は、0 以外のステータスでプログラムを終了します。
.Pp
.Ar pattern
オペランドは、アーカイブに格納されているファイルの名前を選択するために
用いられます。
アーカイブメンバは、
.Xr fnmatch 3
に記述のある表記に一致するパターンを用いて選択されます。
.Ar pattern
オペランドが指定されない場合には、アーカイブ内に格納されている
全てのメンバが選択されます。
.Ar pattern
がディレクトリ名と一致する場合には、そのディレクトリ配下の階層に
位置する全てのファイルが選択されます。
もしアーカイブ内に
.Ar pattern
オペランドの指定と一致する名前のファイルがない場合には、
.Nm
.Ar 標準エラー出力
に出力される診断メッセージにこの
.Ar pattern
オペランドを書き出し、0 以外のステータスでプログラムを終了します。
.Pp
.Ar file
オペランドは、コピーもしくはアーカイブされるファイルのパス名を指定します。
.Ar file
オペランドが 1 つもアーカイブメンバを選択しない場合には、
.Nm
.Dv 標準エラー出力
に出力される診断メッセージにこの
.Ar file
オペランドの内容を書き出し、0 以外のステータスでプログラムを終了します。
.Sh オプション
.Pp
.Nm
では、以下のオプションが使用可能です。
.Bl -tag -width 4n
.It Fl r
アーカイブファイルを
.Dv 標準入力
から読み込み、
.Ar files
で指定したファイルを展開します。
アーカイブされているファイルの展開に中間ディレクトリの作成が必要な場合、
これらのディレクトリは、
.Xr mkdir 2
の mode 引数のところに
.Dv S_IRWXU , S_IRWXG , S_IRWXO
.Dv 論理和
を指定して呼び出された場合と同様に作成されます。
選択されたアーカイブ形式がリンクファイルの指定をサポートし、
かつアーカイブ展開時にリンク不可能である場合には、
.Nm
は、処理が終了する時に、診断メッセージを
.Dv 標準エラー出力
に書き出し、0 以外のステータスで終了します。
.It Fl w
指定したアーカイブフォーマットで、
.Dv 標準出力
にアーカイブを書き出します。
.Ar file
オペランドが指定されない場合には、1 行につき展開するファイルのパス名 1 つを
記述したリストを
.Dv 標準入力
から読み込みます。
このリストの各行の先頭や末尾には
.Aq 空白
を入れてはいけません。
.It Fl a
すでに存在するアーカイブファイルの後ろに、ファイル
.Ar files
を追加書き込みします。
.Fl x
オプションによるアーカイブフォーマット指定がされない場合、
アーカイブフォーマットは追加書き込み対象となるアーカイブファイルの
フォーマットと同一になります。
アーカイブファイルに対して、そのアーカイブファイルのフォーマットと
異なるフォーマットを用いてファイルを追加書き込みをしようとした場合、
.Nm
は即時に 0 以外の終了ステータスでプログラム終了します。
アーカイブボリュームに最初に書き込んだブロックサイズを引き継いで、
残りのアーカイブボリュームのブロックサイズとします。
.Pp
.Em 注意 :
多くの記憶装置は追加書き込み処理に必要な操作をサポートできません。
そのようなサポートしていないデバイスに対するアーカイブの追加書き込みは、
アーカイブの破損もしくは他の予期せぬ結果を招くことになります。
特に、テープドライブに対する追加書き込み処理は、最もサポートしそうにない
ものです。
普通のファイルシステムのファイルとして、もしくはディスクデバイス上に
保存されているアーカイブについては、通常は追加書き込み処理をサポートします。
.It Fl b Ar blocksize
アーカイブを
.Em 書き出す
際、アーカイブへと書き出す内容を blocksize (正の整数) で指定したバイト数
でブロック化します。
.Ar blocksize
で指定出来る値は、512 の倍数でなくてはならず、最大は 32256 です。
.Ar blocksize
で指定する数は、その最後に
.Li k
もしくは
.Li b
を付加することで、1024(1K) もしくは 512 の倍数として指定できます。
.Ar blocksizes
に指定する数字を
.Li x
で区切ることで、文字 x で区切られた数字の積がブロックサイズとして採用されます。
アーカイブの書き込みのために指定するデバイスによっては、
ブロックサイズに対してさらに制限がかかることがあります。
ブロック化が指定されない場合には、デフォルトの
.Ar blocksize
は使用される特定のアーカイブフォーマットに依存します。
.Ns ( Fl x
オプションを参照して下さい)。
.It Fl c
.Ar pattern
に指定されたパターンにマッチしたファイルおよび
.Ar file
オペランドで指定されたファイル
.Em 以外
の、全てのファイルもしくはアーカイブ内メンバにマッチします。
.It Fl d
コピーもしくはアーカイブされるディレクトリ、もしくはアーカイブに格納され
ているディレクトリについて、指定パターンに一致した名前のディレクトリもし
くはアーカイブ内に格納されているディレクトリのみ処理し、そのディレクトリ
配下にあるファイルについては処理しません。
.It Fl f Ar archive
.Ar archive
で指定したファイルを入力元のアーカイブもしくは出力先のアーカイブに指定し
ます。この場合、デフォルトの
.Dv 標準入力
.Ns ( Em 一覧表示モード
および
.Em 読み込みモード
の場合) もしくは
.Dv 標準出力
.Ns ( Em 書き込みモード
) については無視されます。
1 つのアーカイブが複数のファイルもしくは異なるアーカイブデバイスに渡って
も構いません。必要があった場合、
.Nm
は、アーカイブの格納されている次のボリュームのファイルもしくはデバイスの
パス名の入力を促します。
.It Fl i
対話的にファイルもしくはアーカイブ内に格納されるファイルのリネームを行います。
.Ar pattern
で指定した文字列パターンに一致するアーカイブ内の格納ファイルもしくは
.Ar file
オペランドの指定に一致するファイルについて、
.Nm
.Pa /dev/tty
に対してファイルの名前やファイルモード、そしてファイルの更新時刻を表示して
入力を促します。
それから
.Nm
.Pa /dev/tty
からデータを 1 行読み込みます。
その行が空行だった場合には、その時のファイルもしくはアーカイブ内の
格納ファイルについては、処理を行いません。
その行がピリオド 1 つだけの行だった場合には、その時のファイルもしくは
アーカイブ内の格納ファイルについては、ファイル名についての更新は行いません。
それ以外の場合には、ファイル名はその行の文字列で指定した名前に変更されます。
上記操作中に
.Dv <EOF>
.Pa /dev/tty
から受けとった場合、もしくは何らかの理由で
.Pa /dev/tty
をオープン出来なかった場合、
.Nm
は 0 以外の終了ステータスで即座に終了します。
.It Fl k
すでに存在するファイルに対する上書きをしません。
.It Fl l
(アルファベットの ``エル'' ) ファイルをリンクします。
.Em コピーモード
.Ns ( Fl r
.Fl w
) の場合には、コピー元コピー先間には可能な限りハードリンクが作成されます。
.It Fl n
アーカイブに格納されるファイルのうち、各
.Ar pattern
オペランドに指定した文字列パターンに一致するファイル名を持つ最初のものを
選択します。
アーカイブに格納されるファイルのうち
.Ar pattern
オペランドに指定した文字列パターン
に一致するもので、2 つめ以降のものは選択されません。
文字列パターンで指定した条件に合致するものがディレクトリだった場合、
そのディレクトリ配下のファイルについても選択されたものとみなされます(ただし、
.Fl d
オプションが指定された場合にはこの限りではありません)。
.It Fl o Ar options
.Fl x
で指定されるアーカイブフォーマットから特定される、
アーカイブファイル展開/書き出しアルゴリズムの更新情報を指定します。
一般的に、
.Ar options
.Cm name=value
のように指定されます。
.It Fl p Ar string
1 つ以上のファイルの属性操作に関する動作をオプション指定します。
.Ar string
オプション引数は、ファイル展開時に、展開ファイルの属性を保存するか破棄す
るかを指定する文字列です。
string は、
.Cm a , e , m , o , p
の 5 つの指定文字から成ります。
複数の属性を同じ文字列の中につなげて記述したり、複数の
.Fl p
オプションを指定したりすることもできます。
これらの文字は、以下のように動作の指定を行います:
.Bl -tag -width 2n
.It Cm a
ファイルのアクセス時間を保存しません。
デフォルトでは、ファイルのアクセスタイムは可能な限り保存されます。
.It Cm e
ファイルのユーザ ID, グループ ID, ファイルモードのビット、ファイルの
アクセス時間、ファイルの更新時間、これらの
.Sq 全ての属性を保存します。
本オプションは、
.Em スーパユーザ、
もしくは適正な権限を持ったユーザによって
使用されることを推奨します。
これは、アーカイブ内に格納されたすべてのファイルについて、
そのファイルの特性を保存するためです。
フラグを指定した場合は、
.Cm o
および
.Cm p
フラグを指定したのと同様の効果を持ちます。
.It Cm m
ファイルの更新時間を保存しません。
デフォルトでは、ファイルの更新時間は可能な限り保存されます。
.It Cm o
ユーザ ID とグループ ID を保存します。
.It Cm p
ファイルモードのビットを
.Sq 保存します。
本オプションは、
ファイルについて、所有者情報以外の全ての情報の保存を希望するなど適正な
権限を持った
.Em ユーザ
に使用されることを推奨しています。
ファイルの時刻はデフォルトで保存されますが、
これを無効にしたり、展開時の時刻を用いるようにするために
別に 2 つのフラグが用意されています。
.El
.Pp
先述のオプション一覧にて、
.Sq 属性の保存
とは、起動したプロセスの権限に応じて
アーカイブ内に保存された属性が展開ファイルに反映されることを意味します。
これ以外の場合は、展開されるファイルの属性は、
通常のファイル生成と同様に決定されます。
.Cm e
.Cm o
のどちらも指定されない場合、あるいは
ユーザ ID とグループ ID がいかなる理由にせよ保存されない場合、
.Nm
はファイル属性中の
.Dv S_ISUID
.Em ( setuid )
および
.Dv S_ISGID
.Em ( setgid )
のビットを設定しません。
これらの情報の引き継ぎが何らかの理由で失敗した場合、
.Nm
は診断メッセージを
.Dv 標準エラー出力
に書き出します。
これらの情報の保存失敗は、最終的な終了ステータスに影響しますが、
展開されたファイルが削除されるようなことはありません。
ファイル属性の操作に関するオプション文字が重複していたり、
他のオプション文字と処理上の競合を起こす場合には、
それらのオプションの中で一番最後に記述されたものの処理が採用されます。
例えば、
.Dl Fl p Ar eme
が指定された場合には、ファイルの更新時間は保存されます。
.It Fl s Ar replstr
アーカイブ内に格納されているファイルのうち、
.Ar pattern
オペランドもしくは
.Ar file
オペランドで指定されたもののファイル名を、
.Ar replstr
で指定された置換表現にしたがって更新します。この置換表現は、
.Xr ed 1
にて記述されている正規表現の書法に準じます。
これらの正規表現の書式は
.Dl /old/new/[gp]
です。
.Xr ed 1
に示されるように、
.Cm old
は基本的な正規表現であり、
.Cm new
はアンパサンド (&)、後方参照 \\n (nの部分は数字が入ります)、
補助表現を含むことができます。
文字列
.Cm old
には、
.Dv 改行文字
を含んでも構いません。
ヌル文字以外のいかなる文字も、区切り文字として用いることが可能です
(ここでは / を示しました)。
また、複数の
.Fl s
表現を指定することが許されています。
これらの表現はコマンドラインで指定された順に適用され、
最初の置換が成功した時点でその置換を終了します。
置換処理の追加処理指定として、
.Cm g
を指定した場合には、継続してファイル名の置換を行うことを指示します。
この場合、前回置換に成功した直後の文字から継続して置換を行います。
そして最初に置換を失敗したときに
.Cm g
オプションの処理を終了します。
置換処理の追加処理指定として
.Cm p
を指定した場合には、最初の置換成功結果を
.Dv 標準エラー出力
に以下のフォーマットで書き出します:
.Dl <original pathname> >> <new pathname>
空白文字に置換される通常ファイルもしくはアーカイブ内に格納されたファイルの
ファイル名は、処理対象として選択されず、そのファイル名に対する
処理はスキップされます。
.It Fl t
.Nm
が読み込んだ、もしくはアクセスした全てのファイルやディレクトリの
アクセス時間を、
.Nm
がそれらのファイルやディレクトリを処理する前のものに再設定します。
.It Fl u
同じ名前ですでに存在するファイルやアーカイブ内に格納されているファイルより
古い (ファイル更新時刻が古い) ファイルを無視します。
.Em 読み込み処理
においては、アーカイブ内のファイルにファイルシステム上にすでに存在するものと
同じ名前のファイルがあり、アーカイブ内のファイルの方が新しい場合に、
アーカイブ内のファイルが展開されます。
.Em 書き込み処理
においては、ファイルシステム上のファイルとアーカイブ内のファイルの名前が
同じもので、かつファイルシステム上のファイルの方がアーカイブ内のものより
も新しい場合に、ファイルシステム上のファイルのアーカイブへの格納が行われます。
.Em コピー処理
においては、コピー先にあるファイルとコピー元にあるファイルが同一のファイル名
を持ち、かつコピー元にあるファイルの方が新しい場合に、
コピーあるいはリンクが行われます。
.It Fl v
.Em 一覧表示処理
において、
.Xr ls 1
コマンドの
.Fl l
オプションを用いた時の表示と同じ形式を用いて、アーカイブ内容の表示を行います。
アーカイブの他のメンバとの間にハードリンクを構成するファイルのパス名に
ついては、以下のフォーマットで出力されます。
.Dl <ls -l listing> == <link name>
アーカイブの他のメンバとの間にシンボリックリンクを構成するファイルの
パス名については、以下のフォーマットで出力されます。
.Dl <ls -l listing> => <link name>
ここで <ls -l listing> の箇所は、
.Xr ls 1
コマンドを
.Fl l
オプションを付けて実行した場合の出力形式になります。
他のオプショナルモード (読み込みモード、書き込みモード、そしてコピーモード)
の場合には、当該ファイルもしくはアーカイブ内のファイルの処理が始まるとすぐに、
それらのパス名が末尾の
.Dv 改行文字
なしで
.Dv 標準エラー出力
に書き込まれ、フラッシュされます。
ファイル名に付随する
.Dv 改行文字
はバッファリングされることなく、ファイルが読み込まれたもしくは書き込まれた
直後に書き出されます。
.It Fl x Ar format
出力されるアーカイブフォーマットを指定します。デフォルトフォーマットは、
.Ar ustar
フォーマットです。
.Nm
は、現在以下のアーカイブフォーマットをサポートします:
.Bl -tag -width "sv4cpio"
.It Ar cpio
.St -p1003.2
標準にて規定される、拡張 cpio 交換形式です。
本フォーマットのデフォルトブロックサイズは、5120 バイトです。
このフォーマットで欠落するファイルの inode およびデバイス情報 (この
フォーマットでファイルのハードリンクの検出に用いられます) は、
.Nm
にて検出され、復元されます。
.It Ar bcpio
古い binary cpio フォーマットです。
本フォーマットのデフォルトのブロックサイズは、5120 バイトです。
本フォーマットはポータビリティがそれほどよくないので、別のフォーマットが
使えるならば、そちらを使用したほうがよいでしょう。
このフォーマットで欠落するファイルの inode およびデバイス情報 (この
フォーマットでファイルのハードリンクの検出に用いられます) は、
.Nm
にて検出され、復元されます。
.It Ar sv4cpio
Unix System V Release 4(SVR4) の cpio フォーマットです。
本フォーマットのデフォルトのブロックサイズは 5120 バイトです。
このフォーマットで欠落するファイルの inode およびデバイス情報 (この
フォーマットでファイルのハードリンクの検出に用いられます) は、
.Nm
にて検出され、復元されます。
.It Ar sv4crc
SVR4 で使用される、ファイルの crc チェックサムつきの cpio フォーマットです。
本フォーマットのデフォルトのブロックサイズは 5120 バイトです。
このフォーマットで欠落するファイルの inode およびデバイス情報 (この
フォーマットでファイルのハードリンクの検出に用いられます) は、
.Nm
にて検出され、復元されます。
.It Ar tar
BSD4.3 から用いられている古い BSD tar フォーマットです。
本フォーマットのデフォルトのブロックサイズは、10240 バイトです。
本フォーマットでは、アーカイブ内に格納されるファイルのパス名は 100 文字以内
でなくてはなりません。
.Em 通常ファイル、ハードリンクファイル、
.Em シンボリックリンクファイル、ディレクトリ
のみがアーカイブ内に格納されます (他のファイルシステムタイプについては、
サポートされません)。
さらに古い tar フォーマットとの過去の互換性は、
.Fl o
オプションを用いて、アーカイブへのファイル保存時に
ディレクトリを無視することで実現されます。
本オプションは、以下のように指定します:
.Dl Fl o Cm write_opt=nodir
.It Ar ustar
.St -p1003.2
標準にて規定される、
拡張 tar 交換形式です。
本フォーマットのデフォルトのブロックサイズは、10240 バイトです。
本フォーマットのアーカイブ内に保存されるファイルのパス名は、250 文字以下
の長さでなくてはなりません。
.El
.Pp
.Nm
は、指定したアーカイブフォーマットの制限に起因して、ファイルの
アーカイブへの格納もしくはアーカイブからのファイルの展開が出来ない場合には、
それを検出し、報告します。
各アーカイブフォーマットを使用した場合には、
使用時に更にそのアーカイブフォーマットの制限が課せられることがあります。
典型的なアーカイブフォーマットの制限は、ファイルのパス名の長さ、
ファイルサイズ、リンクファイルの指すファイルのパス名の長さ、
そしてファイルタイプなど。
(なお、制限要素はこれらに限られるわけではありません。)
.It Fl B Ar bytes
単一のアーカイブボリュームに書き出される最大データ長を、
.Ar bytes
で制限します。
.Ar bytes
パラメータの末尾には
.Li m ,
.Li k ,
.Li b
のいずれかの文字を付加でき、それぞれ 1048576 (1M), 1024 (1K), 512 の倍数を
意味します。
また、
.Ar bytes
に指定する数字を
.Li x
で区切ることで、文字 x で区切られた数字の積がブロックサイズとして採用されます。
.Pp
.Em 警告 :
最後の (もしくは最大の) 書き込み時のオフセットに基づいた EOF をサポートする
デバイス (テープや通常ファイルなどのようなもの) にアーカイブを書き出す時
にのみ本オプションを使って下さい。
本オプションをフロッピーやハードディスクデバイスファイルに対して用いる
ことは、推奨しません。
.It Fl D
本オプションは、
.Fl u
オプションと同様の動作を行いますが、ファイルの更新時間の代わりに
ファイルの inode 変更時間がチェックされるところが異なります。
ファイルの inode 変更時間は、inode 情報 (ユーザ ID、グループ ID、その他) が
コピー先のディレクトリ
.Ar directory
にあるものよりも新しいファイルを選択するのに用いられます。
.It Fl E Ar limit
部分的に破損したアーカイブの読み込みをリトライする際、その読み込み失敗回数を
.Ar limit
までに制限します。
.Ar limit
に正の数を指定した場合、
.Nm
はアーカイブの読み込みエラーからの復帰を試行し、アーカイブに格納されて
いる次のファイルから処理を継続します。
.Ar limit
が 0 の場合、
.Nm
は最初のリードエラーがアーカイブボリュームに発生したところで処理を停止します。
.Ar limit
.Li NONE
の場合には、読み込み失敗からの復帰を永遠に試行します。
デフォルトの
.Ar limit
の値は、小さい正の整数(リトライ回数)です。
.Pp
.Em 警告 :
.Nm
コマンドを、本オプションを
.Li NONE
指定して起動する場合には十分に気をつけて下さい。
というのも、処理対象となるアーカイブがぼろぼろに破損していた場合には、
処理が無限ループに陥る可能性があるからです。
.It Fl G Ar group
グループ名が
.Ar group
で指定したものであるファイルを選択します。
グループ名が
.Cm #
で始まる場合には、ファイルのグループ ID がそれに連なる数字のものを
選択します。'\\' を用いて
.Cm #
をエスケープすることができます。
.Fl G
オプションは、複数指定することが可能です。
この場合、最初にグループ名もしくはグループIDが一致したらところで
チェックは停止します。
.It Fl H
物理的にファイルシステムトラバースを行いながら、
コマンドラインで指定されたファイルについてのみ
シンボリックリンクをたどります。
.It Fl L
全てのシンボリックリンクファイルをたどります。
すなわち、論理的にファイルシステムトラバースを行います。
.It Fl P
シンボリックリンクをたどりません。
すなわち、物理的にファイルシステムトラバースを行います。
デフォルトはこのモードです。
.It Fl T Ar [from_date][,to_date][/[c][m]]
ファイル更新時間もしくは inode 更新時間が
.Ar from_date
から
.Ar to_date
の間 (それぞれで指定した時間も含みます) にあるファイルを選択します。
.Ar from_date
のみ指定された場合には、ファイル更新時間もしくは inode 更新時間が
その時間と同じかそれより新しいもののみ選択されます。
.Ar to_date
のみ指定された場合には、ファイル更新時間もしくは inode 更新時間が
その時間と同じかそれより古いもののみ選択されます。
.Ar from_date
.Ar to_date
が等しい場合には、ファイル更新時間もしくは inode 更新時間が
その時間と等しいものが選択されます。
.Pp
.Nm
.Em 書き込みモード
もしくは
.Em コピーモード
の場合には、オプションフィールドとして
.Ar [c][m]
を指定することが可能です。このフィールドは、時間の比較に inode更新時間と
ファイル更新時間のどちら(あるいは両方)を使うかを決定します。
どちらも指定されない場合(デフォルト時)には、ファイル更新時間のみが用いられます。
.Ar m
は、ファイル更新時間 (ファイルへの書き込みが最後に行われた時間) を
比較対象として用います。
.Ar c
は、inode 更新時間 (inode が最後に更新された時間。例えば所有者、
グループ、モードその他が更新された時間) を比較対象として用います。
.Ar c
.Ar m
の両者が指定された場合、ファイル更新時間と inode 更新時間の両者が比較対象
になります。
inode 更新時間の比較は、最近属性が変更されたファイルや
最近作成されたファイル、そしてファイル更新時間が古いものに再設定された
ファイル (ファイル更新時間を保存するオプションを用いてアーカイブから
展開されたファイルなどがこれにあたります) を選択するのに便利です。
ファイル時間も併用して時間比較をする機能は、
.Nm
を用いて、
時間を基準にしたインクリメンタルアーカイブ (指定した期間内に更新された
ファイルのみアーカイブすること) を行うのに便利です。
.Pp
時間の範囲は、6 つの異なるフィールドから成り、各フィールドは 2 ケタの数字を
含む必要があります。
その形式は以下の通りです:
.Dl [yy[mm[dd[hh]]]]mm[.ss]
.Cm yy
は、年号 (西暦) の最後の 2 桁です。
最初の
.Cm mm
は、月 (01 から 12) です。
.Cm dd
は、日付 (01 から 31 まで) です
.Cm hh
は、時 (00 から 23 まで) です。
2 番めの
.Cm mm
は、分 (00 から 59 まで)です。
そして、
.Cm ss
は、秒 (00 から 59 まで)です。
分のフィールドの
.Cm mm
は、省略不可であり、他のフィールドはオプションであり、以下の順序で
付加されなければなりません:
.Dl Cm hh , dd , mm , yy
ただし、
.Cm ss
フィールドだけは、他のフィールドとは独立して付加可能です。
時間の範囲は、現在時刻からの相対値で表され、
.Dl Fl T Ar 1234/cm
は、本日の 12:34 PM から後のファイル更新時間、もしくは inode 更新時間を持つ
ファイルを選択することを表します。
複数の
.Fl T
による時間範囲指定を行うことが許可されており、
指定した範囲のうちいずれかと一致したら、その後の範囲チェックは行いません。
.It Fl U Ar user
ファイルの所有者名
.Ar user
に基づいて、ファイル選択が行われます。所有者名が
.Cm #
で始まる場合には、ファイルの UID がそれに連なる数字のものを
選択します。'\\' を用いて
.Cm #
をエスケープすることができます。
複数の
.Fl U
オプションを指定することが許されており、その指定の中で最初にユーザが
一致した場合には、それ以降のユーザ名のチェックは行いません。
.It Fl X
パス名で指定されたファイル階層をトラバースする場合に、異なるデバイス ID を
持つディレクトリへは下りていきません。
デバイス ID について詳細な情報を取得したい場合には、
.Xr stat 2
.Li st_dev
フィールドを参照して下さい。
.It Fl Y
本オプションは、
.Fl D
オプションと動作が似ていますが、全てのファイル名更新が終了した後、
生成されたパス名を用いて inode 更新時間をチェックするところが異なります。
.It Fl Z
本オプションは、
.Fl u
オプションと動作が似ていますが、全てのファイル名更新が終了した後、
生成されたパス名を用いて、ファイル更新時間をチェックするところが異なります。
.El
.Pp
ファイルもしくはアーカイブ内に格納されたファイルについての操作を制御する
オプション (
.Fl c ,
.Fl i ,
.Fl n ,
.Fl s ,
.Fl u ,
.Fl v ,
.Fl D ,
.Fl G ,
.Fl T ,
.Fl U ,
.Fl Y ,
.Fl Z )
は、相互に以下のような影響を及ぼします。
.Pp
.Em 読み込み
処理におけるファイル展開時には、
展開されるファイルは、まず、アーカイブ内に格納されるファイルのうち
.Fl c ,
.Fl n ,
.Fl u ,
.Fl D ,
.Fl G ,
.Fl T ,
.Fl U
のそれぞれのオプションを用いて指定されるユーザ指定のパターンオペランド
に基づいて選択されます。
それらのファイルの中から
.Fl s
および
.Fl i
オプションがこの順に、選択されたファイル名を修正します。
それから、最終的なファイル名にて
.Fl Y
および
.Fl Z
オプションによる条件を用いて絞り込みを行い、処理するファイルのパス名が
決まります。
そして最後に、
.Fl v
オプションは、これまでの処理結果として得られた名前をファイル名として
書き出します。
.Pp
.Em 書き込み
操作や
.Em コピー
操作のファイルアーカイブでは、以下のオプション
.Fl n ,
.Fl u ,
.Fl D ,
.Fl G ,
.Fl T ,
.Fl U
(
.Fl D
オプションはコピー操作時のみ適用されます) によって
アーカイブメンバのファイルを選択します。
続いて、それらのファイルの中から
.Fl s
および
.Fl i
オプションがこの順に、選択されたファイル名を修正します。
それから
.Em コピー
処理においては、最終的なファイル名にて
.Fl Y
および
.Fl Z
オプションによる条件を用いて絞り込みを行い、処理するファイルのパス名が
決まります。
そして最後に、
.Fl v
オプションは、これまでの処理結果として得られた名前をファイル名として
書き出します。
.Pp
.Fl n
といっしょに
.Fl u
オプションあるいは
.Fl D
オプションのどちらか、もしくは両方が指定された場合、そのファイルが
比較対象のファイルより新しくなければ、そのファイルは選択されたとは
みなされません。
.Sh 使用例
コマンド:
.Dl pax -w -f /dev/rst0 .\
は、カレントディレクトリの内容を
.Pa /dev/rst0
にコピーします。
.Pp
コマンド:
.Dl pax -v -f filename
は、
.Pa filename
で指定したアーカイブに格納されているファイル内容の詳細な一覧を表示します。
.Pp
以下のコマンド:
.Dl mkdir /tmp/foo
.Dl cd /tmp/bar
.Dl pax -rw .\ /tmp/foo
を実行すると、
.Pa /tmp/bar
配下のディレクトリ階層全体を
.Pa /tmp/foo
にコピーします。
.Pp
コマンド:
.Dl pax -r -s ',^//*usr//*,,' -f a.pax
は、アーカイブファイル
.Pa a.pax
からデータを読み込み、アーカイブ中の ``/usr'' 配下のファイルを全て、
カレントディレクトリからの相対ディレクトリに展開します。
.Pp
コマンド:
.Dl pax -rw -i .\ dest_dir
は、カレントディレクトリから
.Pa dest_dir
ディレクトリにコピーしますが、ファイルをコピーするかどうかを
対話的に選択します。
.Pp
コマンド:
.Dl pax -r -pe -U root -G bin -f a.pax
は、
.Pa a.pax
中に格納されているファイルのうち、所有者が
.Em root
でグループが
.Em bin
であるファイルを選択し、すべてのファイル属性を保存して展開します。
.Pp
コマンド:
.Dl pax -r -w -v -Y -Z home /backup
は、コピー先ディレクトリ
.Pa /backup
にあるファイルのうち、コピー元ディレクトリ
.Pa home
に存在する同名のファイルより (inode 更新時刻もしくは
ファイル更新時刻が) 古いものについて更新を行い、一覧表示します。
.Sh 規格
.Nm
ユーティリティは、
.St -p1003.2
標準のスーパセットです。
オプション
.Fl B ,
.Fl D ,
.Fl E ,
.Fl G ,
.Fl H ,
.Fl L ,
.Fl P ,
.Fl T ,
.Fl U ,
.Fl Y ,
.Fl Z
、アーカイブ形式
.Ar bcpio ,
.Ar sv4cpio ,
.Ar sv4crc ,
.Ar tar
、および
.Ar 一覧表示
モードと
.Ar 読み込み
モードにおける破損したアーカイブの取り扱いは、
.Tn POSIX
標準に対する拡張です。
.Sh 作者
.An Keith Muller
at the University of California, San Diego
.Sh エラー
.Nm
は、以下の値のいずれかで終了します:
.Bl -tag -width 2n
.It 0
すべてのファイルは正常に処理されました。
.It 1
エラーが発生しました。
.El
.Pp
アーカイブ読み込み中に
.Nm
がファイルを作成できない場合やリンクを張れない場合、
アーカイブに書き込み中にファイルが見つからない場合、
.Fl p
オプション指定時にユーザ ID、グループ ID、ファイル属性を保存できない場合には、
診断メッセージが
.Dv 標準エラー出力に
書き出され、0 以外の終了ステータスが返却されますが、
処理自体は継続して行われます。
ファイルへのリンクを作成できない場合には、
.Nm
はファイルの二次コピーを作成しません。
.Pp
アーカイブからのファイルの展開が、シグナル受信もしくはエラー発生により
途中で異常終了した場合、
.Nm
はユーザが指定したファイルの一部分だけを展開して終了する可能性があります。
更に、展開したファイルやディレクトリの属性が不正であったり、
アクセス時間、更新時間も不正である可能性があります。
.Pp
アーカイブの生成が、シグナル受信もしくはエラー発生により
途中で異常終了した場合、
.Nm
は中途半端なアーカイブを生成している可能性があります。
このようなアーカイブは
特定のアーカイブフォーマット規定を満足していない可能性があります。
.Pp
.Em コピー
を行っている最中に、
.Nm
が読み出したのと同じファイルへの書き込みを検出した場合、
そのファイルはコピーされず、診断メッセージが
.Dv 標準エラー出力
へ書き出され、
.Nm
は 0 以外の終了ステータスでプログラム終了します。
diff --git a/ja_JP.eucJP/man/man1/perl.1 b/ja_JP.eucJP/man/man1/perl.1
index f16e794d1f..0ce690e653 100644
--- a/ja_JP.eucJP/man/man1/perl.1
+++ b/ja_JP.eucJP/man/man1/perl.1
@@ -1,5933 +1,5936 @@
.rn '' }`
.\" jpman %Id: perl.1,v 1.5 1997/10/11 07:57:22 horikawa Stab %
-''' %RCSfile: perl.1,v %%Revision: 1.3.2.1 %%Date: 1997/10/12 08:11:42 %
+''' %RCSfile: perl.1,v %%Revision: 1.5 %%Date: 1998/06/04 21:05:33 %
'''
''' %Log: perl.1,v %
-''' Revision 1.3.2.1 1997/10/12 08:11:42 jmg
-''' MFC: spelling fixes
+''' Revision 1.5 1998/06/04 21:05:33 steve
+''' Fix a bunch of spelling errors.
+'''
+''' PR: 6856
+''' Submitted by: Josh Gilliam <josh@quick.net>
'''
''' Revision 1.4 1997/08/30 12:22:46 jmg
''' fix a few spelling changes
'''
''' Submitted by: Josh Gilliam
'''
''' Closes PR's: 4429, 4431-4438
'''
''' PS: He has agreed to submit all contrib fixes back to the original author.
'''
''' Revision 1.3 1996/10/05 22:26:23 wosch
''' delete doubled words, e.g.: "the the" -> "the"
'''
''' Revision 1.2 1994/10/27 23:16:52 wollman
''' Convince Perl to that is is part of the system, as /usr/bin/perl (binary)
''' and /usr/share/perl (library). The latter was chosen as analogous to other
''' directories already present in /usr/share, like /usr/share/groff_font and
''' (particularly) /usr/share/mk.
'''
.\" Revision 1.1.1.1 1994/09/10 06:27:36 gclarkii
.\" Initial import of Perl 4.046 bmaked
.\"
.\" Revision 1.1.1.1 1993/08/23 21:29:37 nate
.\" PERL!
.\"
''' Revision 4.0.1.6 92/06/08 15:07:29 lwall
''' patch20: documented that numbers may contain underline
''' patch20: clarified that DATA may only be read from main script
''' patch20: relaxed requirement for semicolon at the end of a block
''' patch20: added ... as variant on ..
''' patch20: documented need for 1; at the end of a required file
''' patch20: extended bracket-style quotes to two-arg operators: s()() and tr()()
''' patch20: paragraph mode now skips extra newlines automatically
''' patch20: documented PERLLIB and PERLDB
''' patch20: documented limit on size of regexp
'''
''' Revision 4.0.1.5 91/11/11 16:42:00 lwall
''' patch19: added little-endian pack/unpack options
'''
''' Revision 4.0.1.4 91/11/05 18:11:05 lwall
''' patch11: added sort {} LIST
''' patch11: added eval {}
''' patch11: documented meaning of scalar(%foo)
''' patch11: sprintf() now supports any length of s field
'''
''' Revision 4.0.1.3 91/06/10 01:26:02 lwall
''' patch10: documented some newer features in addenda
'''
''' Revision 4.0.1.2 91/06/07 11:41:23 lwall
''' patch4: added global modifier for pattern matches
''' patch4: default top-of-form format is now FILEHANDLE_TOP
''' patch4: added $^P variable to control calling of perldb routines
''' patch4: added $^F variable to specify maximum system fd, default 2
''' patch4: changed old $^P to $^X
'''
''' Revision 4.0.1.1 91/04/11 17:50:44 lwall
''' patch1: fixed some typos
'''
''' Revision 4.0 91/03/20 01:38:08 lwall
''' 4.0 baseline.
'''
'''
.de Sh
.br
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp
.if t .sp .5v
.if n .sp
..
.de Ip
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
'''
''' Set up \*(-- to give an unbreakable dash;
''' string Tr holds user defined translation string.
''' Bell System Logo is used as a dummy character.
'''
.tr \(*W-|\(bv\*(Tr
.ie n \{\
.ds -- \(*W-
.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.ds L" ""
.ds R" ""
.ds L' '
.ds R' '
'br\}
.el\{\
.ds -- \(em\|
.tr \*(Tr
.ds L" ``
.ds R" ''
.ds L' `
.ds R' '
'br\}
.TH PERL 1 "\*(RP"
.UC
.SH 名称
perl \- 実用的抽出とレポートのための言語
.SH 書式
.B perl
[options] filename args
.SH 解説
.I perl
は、任意のテキストファイルを走査し、そこから情報を取り出し、情報に基づ
いたレポートを出力するために最適化されたインタプリタ言語です。
また、多くのシステム管理作業に適した言語でもあります。
.I perl
は美しい (小さい、エレガント、最小) というよりは、むしろ実用的
(使いやすい、効率的、完全) であることをめざしています。
.I perl
は、C, \fIsed\fR, \fIawk\fR, and \fIsh\fR, の最も良いところを
組み合わせてある (作者の意向としては、でありますが) ので、これらの言語に
なじみのある人には、容易に使えるでしょう。
(言語歴史学者なら、\fIcsh\fR, Pascal, そして BASIC-PLUS の痕跡にさえも
気がつくでしょう。)
式の書式は、C のものに極めて似ています。
他の多くの UNIX ユーティリティと異なり、
.I perl
は、データのサイズを勝手に制限するようなことはなく (メモリのある限りです)、
ファイル全体を一つの文字列として読み込んでしまえます。
再帰の深さには制限がありません。連想配列で使われるハッシュテーブルは、
パフォーマンスの低下を防ぐため、必要に応じて大きくなります。
.I perl
は、大量のデータを非常に迅速に走査する洗練されたパターンマッチ
テクニックを使います。
テキスト走査に最適化されてはいますが、
.I perl
はバイナリデータも扱うこともできて、(dbm が使えるなら) 連想配列に似た
dbm ファイルを作れます。
setuid
.I perl
スクリプトは、多くの馬鹿らしいセキュリティホールを防ぐデータフロー追跡
機構により、C のプログラムより安全です。
普通なら \fIsed\fR, \fIawk\fR, \fIsh\fR を使うような問題で、その能力を
越えていたり、もう少し速く走らせなければならなかったり、
くだらないことを C で書きたくないような場合に
.I perl
がぴったりです。
既存の
.I sed
.I awk
スクリプトを
.I perl
スクリプトにする変換プログラムもあります。
さあ、宣伝はこれで十分でしょう。
.PP
まず始めに、
.I perl
次の場所からスクリプトを探します。
.Ip 1. 4 2
コマンドライン上の
.B \-e
スイッチで指定された行。
.Ip 2. 4 2
コマンドライン上で、最初に指定されたファイルの内容。
(#! の表記をサポートするシステムは、インタプリタをこうして起動します)
.Ip 3. 4 2
標準入力から暗黙のうちに読み込まれます。これは、ファイル名の指定が一つ
もない場合にだけ働きます。\*(--
.I 標準入力
スクリプトに引数を渡すには、スクリプト名として明示的に \- を
指定しなければなりません。
.PP
スクリプトを見つけると、
.I perl
は内部形式にコンパイルし、スクリプトが文法的に正しければ
それを実行します。
.Sh "オプション"
注意: 最初にこのセクションを読んでも意味がわからないかもしれません。
簡単なリファレンスとして前半部分になっています。
.PP
一文字オプションは、次に続くオプションとくっつけてもかまいません。
#! 構造を使うスクリプトを起動する際には一つの引数しか許されないの
で、特に便利です。
例:
.nf
.ne 2
#!/usr/bin/perl \-spi.bak # \-s \-p \-i.bak と同じ
.\|.\|.
.fi
以下のオプションがあります:
.TP 5
.BI \-0 数字
レコードセパレータ ($/) を 8 進数で指定します。
数字がないと、ヌルキャラクタがセパレータになります。
他のコマンドラインスイッチは、前に置くか、もしくは数字の後に続けます。
例えば、ヌル文字を終端としたファイル名を表示可能なバージョンの
.I find
なら、このように書けます。
.nf
find . \-name '*.bak' \-print0 | perl \-n0e unlink
.fi
00 は特殊な値で、
.I perl
はファイルをパラグラフモードで読み込みます。
0777 という値を使うと、この値の文字はないので、ファイル全体を
読み込みます。
.TP 5
.B \-a
.B \-n
.BR \-p
オプションと一緒に用いて、オートスプリットモードを ON にします。
.B \-n
.BR \-p
オプションで自動的に生成される while ループの内側の
最初のところで、@F 配列に対して暗黙の split コマンドが行なわれます。
.nf
perl \-ane \'print pop(@F), "\en";\'
は、次の例と同等になります。
while (<>) {
@F = split(\' \');
print pop(@F), "\en";
}
.fi
.TP 5
.B \-c
.I perl
スクリプトの文法をチェックし、実行せずに終了します。
.TP 5
.BI \-d
perl デバッガのもとでスクリプトを実行します。
デバッグのセクションを参照して下さい。
.TP 5
.BI \-D 数字
デバッグフラッグをセットします。
スクリプトがどのように実行されるかを見るには、
.BR \-D14
を使います。
(これはデバッグ機能を
.IR perl
に組み込んでコンパイルした時にのみ動作します。)
\-D1024 も有用な値で、コンパイルされた文法ツリーをリストします。
\-D512 を使うと、コンパイルされた正規表現を出力します。
.TP 5
.BI \-e " コマンドライン"
一行スクリプトを入力する場合に使えます。
複数行スクリプトを組み立てるには、複数の
.B \-e
コマンドを指定すればできます。
.B \-e
が与えられると、
.I perl
は引数のリストの中からスクリプトファイル名を探しません。
.TP 5
.BI \-i 拡張子
<> 構造で処理されるファイルをその場で修正することを指定します。
入力ファイルをリネームし、出力ファイルを元の名前でオープンし、出力ファイルを
print 文のデフォルト出力にすることで処理されます。
拡張子が与えられれば、バックアップファイルの名前として元のファイル名に
その拡張子を加えたものが使われます。
拡張子が与えられなければ、バックアップファイルは作成されません。
\*(L"perl \-p \-i.bak \-e "s/foo/bar/;" .\|.\|. \*(R" を実行することは、
次のスクリプトと同じです。
.nf
.ne 2
#!/usr/bin/perl \-pi.bak
s/foo/bar/;
これは以下のものとも同等になります。
.ne 14
#!/usr/bin/perl
while (<>) {
if ($ARGV ne $oldargv) {
rename($ARGV, $ARGV . \'.bak\');
open(ARGVOUT, ">$ARGV");
select(ARGVOUT);
$oldargv = $ARGV;
}
s/foo/bar/;
}
continue {
print; # 元の名前のファイルに出力する
}
select(STDOUT);
.fi
ただし、
.B \-i
を用いた方法では、ファイル名が変更された時刻を知るために $ARGV と $oldargv を
比較する必要がないという点が異なります。
実際にはファイルハンドルとして ARGVOUT がセレクトされて使われます。
.I STDOUT
がデフォルト出力のファイルハンドルとして保存され、
ループのあとで戻されることに注意して下さい。
.Sp
入力ファイルすべてに追加を行なう場合や、行番号をリセットしたりする場合、
各入力ファイルの終わりを知るために `eof' を使うことができます。
(eof の例を参照して下さい)
.TP 5
.BI \-I ディレクトリ
.B \-P
と一緒に用いて C プリプロセッサにインクルードファイルの位置を
知らせます。デフォルトでは、/usr/include と /usr/lib/perl を検索します。
.TP 5
.BI \-l 8進数
行末処理を自動的に行ないます。これには二つの効果があります。
まず、
.B \-n
.B \-p
と共に使われることで、行ターミネータを自動的に除きます。
二つ目は、$\e が、
.I 8進数
をセットし、print 文がすべて最後に行末文字をつけるということです。
.I 8進数
が省略された場合は、$\e に $/ の現在の値をセットします。
例えば、行を 80 桁に切り揃えるためには:
.nf
perl -lpe \'substr($_, 80) = ""\'
.fi
$\e = $/ という代入はコマンドラインスイッチが処理される時に
行なわれるので、
.B \-l
スイッチに
.B \-0
が続くときは、入力レコードセパレータと出力レコードセパレータが
異なることもあり得るということに注意して下さい。
.nf
gnufind / -print0 | perl -ln0e 'print "found $_" if -p'
.fi
これは、$\e に改行をセットし、$/ にはヌル文字をセットします。
.TP 5
.B \-n
スクリプトの前後に下に示すループがあるものとして
.I perl
を起動します。こうすると、引数のファイル全部について
\*(L"sed \-n\*(R" または \fIawk\fR と同じような繰り返しが行なわれます:
.nf
.ne 3
while (<>) {
.\|.\|. # ここにスクリプトが来ます
}
.fi
デフォルトで入力行の出力はされないことに注意して下さい。
出力したければ
.B \-p
を参照して下さい。
以下は、1 週間より古いファイルすべてを削除する効率的な方法です。
.nf
find . \-mtime +7 \-print | perl \-nle \'unlink;\'
.fi
この場合、ファイルが見つかるたびにプロセスを開始する必要がないので、
find の \-exec スイッチを使うより速くなります。
.TP 5
.B \-p
スクリプトの前後に下に示すループがあるものとして
.I perl
を起動します。こうすると、引数のファイル全部について
\fIsed\fR と同じような繰り返しが行なわれます:
.nf
.ne 5
while (<>) {
.\|.\|. # ここにスクリプトが来ます
} continue {
print;
}
.fi
入力行は自動的に出力されることに注意して下さい。
出力を抑制したければ、
.B \-n
スイッチを使って下さい。
.B \-p
は、
.B \-n
スイッチに優先します。
.TP 5
.B \-P
.IR perl
によるコンパイルの前に C プリプロセッサを通します。
(perl のコメントも cpp の命令も # の文字で始まるので、
コメントを C プリプロセッサが理解する単語、例えば
\*(L"if\*(R" や \*(L"else\*(R" や \*(L"define\*(R" で始めてはなりません。)
.TP 5
.B \-s
コマンドライン上で、スクリプト名とファイル名の引数
(または \-\|\-) の間にある各スイッチについて基本的な解析を行ないます。
スイッチが見つかると、@ARGV から除かれ、対応する変数を
.I perl
スクリプト内でセットします。
以下のスクリプトでは、\-xyz スイッチをつけてスクリプトを起動したとき
だけ、\*(L"true\*(R" を出力します。
.nf
.ne 2
#!/usr/bin/perl \-s
if ($xyz) { print "true\en"; }
.fi
.TP 5
.B \-S
スクリプトを探すのに、環境変数 PATH を用います
(スクリプト名が / で始まらないかぎり) 。
通常は、#! をサポートしないマシンにおいて #! を
エミュレートするために用いられます。
次のような使い方です:
.nf
#!/usr/bin/perl
eval "exec /usr/bin/perl \-S $0 $*"
if $running_under_some_shell;
.fi
システムは 1 行目を無視し、スクリプトを /bin/sh に渡します。 /bin/sh は
.I perl
スクリプトをシェルスクリプトとして実行しようとします。シェルは 2 行目
を通常のシェルコマンドとして実行し、perl インタプリタを起動する
ことになります。
システムによっては $0 は必ずしもフルパス名にならないので、
.B \-S
を用いて
.I perl
に必要ならばスクリプトを探すように指示します。
.I perl
がスクリプトを見つけたあと、解析を行ないますが、変数
$running_under_some_shell が真になることはないので、2 行目を無視します。
ファイル名などに含まれるスペースを正しく扱うには、$* よりも
${1+"$@"} の方がよいでしょうが、csh が解釈する場合には動作しません。
csh ではなく sh で起動するには、あるシステムでは #! 行を、perl で
無視されるコロンのみに書き換える必要があるかもしれません。その他の
システムではこの方法は使えず、次のように、csh, sh, perl のどの下で
も動作するような、とてもまわりくどい方法をとる必要があります:
.nf
.ne 3
eval '(exit $?0)' && eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
& eval 'exec /usr/bin/perl -S $0 $argv:q'
if 0;
.fi
.TP 5
.B \-u
スクリプトのコンパイルの後、
.I perl
はコアダンプします。
このコアダンプから、`undump' プログラム(提供していません)を用いて
実行可能ファイルに変換できます。
こうすると、ディスク消費が増えるかわりに (実行ファイルを strip すれば
最小にできます)、スタートアップが速くなります。
(しかし、私のマシンでは "hello world" の実行形式が約 200K の大きさ
になります。)
実行形式を set-id プログラムとして走らせるのなら、通常の perl ではなく
多分 taintperl を用いてコンパイルすべきです。
ダンプする前に実行したいスクリプトがある場合は、代わりに dump 演算子を
使って下さい。
注意 : undump が使えるかどうかはプラットフォームに依存するので、perl の
移植によっては利用できないものもあるかもしれません。
.TP 5
.B \-U
安全でない操作を可能にします。
現在の所、\*(L"安全でない\*(R" 操作とは、スーパユーザ権限での
実行時にディレクトリを unlink すること、および汚れチェックで
警告が出るような setuid プログラムを走らせることだけです。
.TP 5
.B \-v
.I perl
のバージョンとパッチレベルを出力します。
.TP 5
.B \-w
一度だけ出てくる識別子、セットする前に使用されるスカラ変数に対して、
警告を出します。
サブルーチンが再定義されたとき、定義されていないファイルハンドルの参照
があるとき、リードオンリーでオープンしたファイルハンドルへ書き込もうと
したときにも警告を出します。数値ではなさそうな値に == を使ったときや、
サブルーチンが 100 回以上再帰したときにも警告を出します。
.TP 5
.BI \-x ディレクトリ
スクリプトがメッセージに埋め込まれていることを
.I perl
に知らせます。#! で始まり、"perl" という文字列を含む最初の行が現れる
までは、ゴミとして無視されます。
その行に指定した意味のあるスイッチはすべて適用されます
(ただし通常の #! 処理と同じく、スイッチのかたまり一つだけです)。
ディレクトリ名を指定すると、perl はスクリプトを実行する前にその
ディレクトリに移ります。
.B \-x
スイッチは、先頭のゴミを捨てるだけです。
スクリプトの後にゴミがある場合は、スクリプトは _\|_END_\|_
で終わらせなければなりません (望むなら、スクリプトで後ろのゴミの一部
または全部をファイルハンドル DATA 経由で処理することが可能です) 。
.Sh "データの型とオブジェクト"
.PP
.I perl
には 3 種類のデータ型が有ります: スカラ、スカラ配列、
および連想配列です。
通常の配列は添え字が数字ですが、連想配列の場合は文字列です。
.PP
perl における演算や値の解釈は、演算や値のコンテキスト(文脈)からの要求
にしばしば依存します。
主なコンテキストは三つ: すなわち文字列、数値、配列です。
演算の中には、配列を要求するコンテキストでは配列を、そうでなければ
スカラ値を返すものもあります。
(そのような演算子についてはドキュメント内のその演算子のところに
記載されています。)
スカラ値を返す演算子は、コンテキストが文字列あるいは
数値のどちらを要求しているかは考慮しませんが、スカラ変数および
スカラ値は文字列あるいは数値のコンテキストの適切な方に解釈されます。
スカラはそれがヌル文字列あるいは 0 でなければ論理的に真であると
解釈されます。
演算子が返す論理値は、真の場合は 1、偽の場合は 0 または \'\'
(ヌル文字列)です。
.PP
実際には、ヌル文字には二種類あります。define と undefined です。
undefined のヌル文字列は、エラー、ファイル終端、初期化されていない変数や
配列要素を参照しようとしたときなど、実際の値が存在しない場合に返ります。
undefined のヌル文字列は、最初にそれにアクセスしたときに defined となる
ことがありますが、その前に defined() 演算子を用いて値が defined かどう
かを知ることができます。
.PP
スカラ変数への参照は、それが配列の一部であっても、常に \*(L'$\*(R'
で始めます。
つまりこうです:
.nf
.ne 3
$days \h'|2i'# 単純なスカラ変数
$days[28] \h'|2i'# 配列 @days の 29 番目の要素
$days{\'Feb\'}\h'|2i'# 連想配列の値の一つ
$#days \h'|2i'# 配列 @days の最後の添え字
しかし、配列全部や一部の取り出しは \*(L'@\*(R' で始めます:
@days \h'|2i'# ($days[0], $days[1],\|.\|.\|. $days[n])
@days[3,4,5]\h'|2i'# @days[3.\|.5] と同じ
@days{'a','c'}\h'|2i'# ($days{'a'},$days{'c'}) と同じ
そして、連想配列全部を扱うには \*(L'%\*(R' で始めます:
%days \h'|2i'# (key1, val1, key2, val2 .\|.\|.)
.fi
.PP
これら 8 つはすべて左辺値として扱うことができます。すなわち、代入可能
ということです。
(さらに、あるコンテキストでは代入操作自体も左辺値となり得ます。
\*(-- s, tr, chop のところの例を参照して下さい。)
スカラへの代入を行なうと、右辺をスカラのコンテキストで評価するのに
対し、配列や配列の一部への代入は右辺を配列のコンテキストで評価します。
.PP
配列 @days の長さを
.IR csh
のように
\*(L"$#days\*(R" で評価してもかまいません。
(実際には、通常 0 番目の要素があるので、配列の長さではなく、最後の要素
の添え字になります。)
$#days に代入すると、配列の長さが変わります。
この方法によって配列を小さくしても、実際には値は破壊されません。
すでに小さくした配列を大きくすると、もともとあった要素が元に戻ります。
大きくなりそうな配列をあらかじめ大きくしておくと、
効率をいくらか良くすることもできます。
(配列を大きくするには、配列の最後を超える要素に代
入を行なう方法もあります。この方法と、$#whatever へ代入する方法との
違いは、間の要素にヌルがセットされることです)
配列を縮めて空にするには、ヌルリスト () を代入すればできます。
次の二つは全く同等となります。
.nf
@whatever = ();
$#whatever = $[ \- 1;
.fi
.PP
配列をスカラのコンテキストで評価すると、配列の長さが返ります。
次の式は常に真となります:
.nf
scalar(@whatever) == $#whatever \- $[ + 1;
.fi
連想配列をスカラのコンテキストで評価すると、配列が要素を含む場合
かつその場合に限り真の値を返します。
(要素がある場合に返る値は、使用している bucket の数およびアロケートさ
れている bucket の数から成る文字列で、/ で区切られます。)
.PP
多次元配列は直接はサポートされていませんが、連想配列を用いて複数の
添え字をエミュレートする方法については、$; 変数の項を参照して下さい。
多次元の添え字を 1 次元の添え字に変換するサブルーチンを書くことも
できます。
.PP
各々のデータ型に応じて、それぞれの名前空間があります。衝突を心配する
ことなく、同じ名前をスカラ変数、配列、連想配列、ファイルハンドル、
サブルーチン名、またはラベルにつけることができます。
変数や配列への参照は常に \*(L'$\*(R', \*(L'@\*(R', \*(L'%\*(R'
で始まるので、\*(L"予約\*(R" 語は変数名については実際には
使用可能です。
(しかし、ラベルやファイルハンドルについては予約語は使用できません。
特殊な文字で始まらないからです。
.br
ヒント: open(log,\'logfile\') より open(LOG,\'logfile\') を使った方が
良いです。大文字のファイルハンドル名を使うと、読み易さも向上し、
将来の予約語になるものとの衝突も避けることができるからです。)
大文字小文字の区別は重要です
\*(--\*(L"FOO\*(R", \*(L"Foo\*(R", \*(L"foo\*(R" はすべて異なる
名前です。アルファベットで始まる名前は数字や下線を含んでもかまいません。
アルファベットで始まらない名前は 1 文字に限られます。
例えば、\*(L"$%\*(R" や \*(L"$$\*(R" です。
(ほとんどの一文字名は
.IR perl
の予約変数として意味があります。
詳細は後ほど述べます。)
.PP
数値文字列は通常の浮動小数点や整数の形式で指定します。
.nf
.ne 6
12345
12345.67
.23E-10
0xffff # 16 進
0377 # 8 進
4_294_967_296
.fi
文字列はシングルクォートまたはダブルクォートで区切られます。
動作はシェルにおけるクォートとよく似ています。
ダブルクォートで囲まれた文字列にはバックスラッシュや変数の置換が
行なわれます。シングルクォートで囲まれた文字列には行なわれません
(\e\' と \e\e を除きます)。
通常のバックスラッシュ規則が改行やタブなどの文字を表すのに使え、
更に以下のちょっと変わった形式も使えます:
.nf
\et タブ
\en 改行
\er リターン
\ef フォームフィード
\eb バックスペース
\ea アラーム (ベル)
\ee エスケープ
\e033 8進文字
\ex1b 16進文字
\ec[ コントロール文字
\el 次の文字を小文字にします
\eu 次の文字を大文字にします
\eL \eE までを小文字にします
\eU \eE までを大文字にします
\eE 大小文字の修飾の終り
.fi
改行を直接文字列に書き入れることもできます。すなわち、文字列は始まった
行と異なる行で終わることができることになります。これは便利ですが、
最後にクォートを忘れると、クォートを含むかなり離れた別の行を見つけるまで
.I perl
はエラーを報告しないでしょう。
文字列内の変数置換はスカラ変数、通常の配列、配列の一部に限られます。
(言い換えると、$ や @ で始まる識別子と、それに括弧で囲まれた添え字が
ある場合だけです。)
次のコードは \*(L"The price is $100.\*(R" を出力します。
.nf
.ne 2
$Price = \'$100\';\h'|3.5i'# 解釈されません
print "The price is $Price.\e\|n";\h'|3.5i'# 解釈されます
.fi
後に続くアルファベットや数字と区別するために、識別子を {} で囲う
ことができることを覚えておいて下さい。
また、シングルクォートは識別子として有効な文字であるため、
シングルクォートで囲まれた文字列は、前の単語とは空白で区切られて
いなければならないことも覚えておきましょう
(パッケージの項を参照して下さい) 。
.PP
プログラムのその時点での行番号とファイル名を表す
_\|_LINE_\|_ と _\|_FILE_\|_ という二つの特殊な文字があります。
これらは独立したトークンとしてのみ使用でき、文字列中に
書き入れることはできません。
さらにトークン _\|_END_\|_ は、実際のファイルが終了する前で、スクリプト
の論理的な終了を示すために使えます。残りのテキストはすべて無視されますが、
ファイルハンドル DATA から読むことができます。
(ファイルハンドル DATA は、メインスクリプトからのみデータを
読み込めますが、require されたファイルや評価された文字列からは
読み込めません。)
^D と ^Z の二つのコントロールキャラクタは _\|_END_\|_ と同義になります。
.PP
文法的に解釈不可能な単語は、それがシングルクォートで囲まれている
かのように扱われます。このため、アルファベット、数字、下線のみからなり、
単語はアルファベットで始まらなければなりません。
ファイルハンドルやラベルと同じく、小文字のみからなる裸の単語は、
将来の予約語と衝突する危険があります。
.B \-w
スイッチを使えば、perl はそのような単語について警告してくれます。
.PP
配列値をダブルクォートで囲まれた文字列に入れた場合は、配列の全要素を
$" 変数で指定される区切り (デフォルトは空白) で連結して一つにした
文字列になります。
(3.0 以前のバージョンの perl では、@ はダブルクォートで囲まれた文字列
の中のメタキャラクタではなかったので、@array, $array[EXPR],
@array[LIST], $array{EXPR}, @array{LIST} の文字列への挿入は、
配列がプログラムのどこかで参照されている場合、もしくは予約されている
場合にのみ起こります。)
次の二つは同等になります。
.nf
.ne 4
$temp = join($",@ARGV);
system "echo $temp";
system "echo @ARGV";
.fi
検索パターン (これにもダブルクォートと同じ置換が行なわれます) に
おいては、あいまいな場合があります。 /$foo[bar]/ は /${foo}[bar]/
([bar]は正規表現の文字クラス) でしょうか、
それとも /${foo[bar]}/ ([bar]は配列 @foo の添字) なのでしょうか 。
@foo が存在しないなら、それは明らかに文字クラスです。
@foo が存在するなら、perl は [bar]について考え、大抵の場合正しい類推を
します。それが間違っていたり、あなたが単に偏執狂なら、
上記のように中括弧 {} を入れることで、正しい解釈をさせることができます。
.PP
行指向の引用法はシェルと同様の文法に基づいています。
<< の後に引用文の終わりを示す文字列を指定すると、現在行からその文字列
が現れるまでの行すべてがその値になります。終わりを示す文字列は識別子
(単語) でも、クォートされたテキストでもかまいません。
クォートされているテキストの場合、通常クォートで囲む場合と同じく
クォートの種類がテキストの扱い方を決めます。クォートされていない識別子
はダブルクォートされている場合と同じ動作となります。
(スペースを入れた場合、それは有効なヌル識別子として扱われ、
最初の空行にマッチします。 \*(--下の Merry Christmas の例を見て下さい。)
終わりを示す文字列はそれだけで (クォートされず、空白を前後につけずに)
書かれていなければなりません。
.nf
print <<EOF; # 前の例と同じです
The price is $Price.
EOF
print <<"EOF"; # 上の例と同じです
The price is $Price.
EOF
print << x 10; # ヌル識別子が終わりを示します
Merry Christmas!
print <<`EOC`; # コマンドを実行します
echo hi there
echo lo there
EOC
print <<foo, <<bar; # スタックに積むことができます
I said foo.
foo
I said bar.
bar
.fi
配列のリテラルは、個々の値をコンマで区切り、リストを括弧で囲みます:
.nf
(LIST)
.fi
配列値を要求しないコンテキストでは、C のコンマ演算子と同じく、最後の要
素の値が配列の値となります。例えば、
.nf
.ne 4
@foo = (\'cc\', \'\-E\', $bar);
は配列 foo に全配列値を代入しますが、
$foo = (\'cc\', \'\-E\', $bar);
.fi
は変数 bar の値を変数 foo に代入します。
変数として実際に存在する配列のスカラのコンテキストとしての値は、
配列の長さになることに注意して下さい。
次の例では $foo に 3 を代入します:
.nf
.ne 2
@foo = (\'cc\', \'\-E\', $bar);
$foo = @foo; # $foo は 3 になります
.fi
配列リテラルの括弧を閉じる前に余分なコンマがあっても大丈夫で、
以下のように書けます:
.nf
@foo = (
1,
2,
3,
);
.fi
リストが評価されるとき、リストの要素はすべて配列のコンテキストとして
評価され、結果として得られる配列値に、個々の要素がリストのメンバで
あったかのようにリストに挿入されます。
たとえば、@foo のすべての要素、@bar のすべての要素、サブルーチン
SomeSub が返すすべての要素を含むリスト\*(--以下
(@foo,@bar,&SomeSub)
の中では、配列の識別ができなくなります。
.PP
リストの値は通常の配列と同様に添え字をつけて使えます。
例:
.nf
$time = (stat($file))[8]; # stat は配列値を返します
$digit = ('a','b','c','d','e','f')[$digit-10];
return (pop(@foo),pop(@foo))[0];
.fi
.PP
配列のリストは、そのすべての要素が左辺値であるときに限り代入可能です:
.nf
($a, $b, $c) = (1, 2, 3);
($map{\'red\'}, $map{\'blue\'}, $map{\'green\'}) = (0x00f, 0x0f0, 0xf00);
最後の要素は配列や連想配列であってもかまいません:
($a, $b, @rest) = split;
local($a, $b, %rest) = @_;
.fi
実際には、リストのどこに配列を入れてもいいのですが、リスト中の最初の
配列がすべての値を埋めてしまうので、その後の要素はヌルの値になります。
これは local() において便利かもしれません。
.PP
連想配列のリテラルは、キーと値として解釈される値の組を含んでいます:
.nf
.ne 2
# 上記 map への代入と同じ
%map = ('red',0x00f,'blue',0x0f0,'green',0xf00);
.fi
スカラのコンテキストへの配列の代入は、代入の右辺の式により生成される
要素の数を返します:
.nf
$x = (($foo,$bar) = (3,2,1)); # $x に 2 でなく 3 をセット
.fi
.PP
知っておかなければならない幾つかの疑似リテラルがあります。
文字列を `` (低アクセント) で囲んだ場合、ちょうどダブルクォートと
同じ変数置換が行なわれます。次にシェルの中のように、コマンドであると
解釈され、そのコマンドの出力がこの擬似リテラルの値となります。
スカラのコンテキストでは、全出力から成る一つの文字列が返されます。
配列のコンテキストでは、出力の各行がそれぞれ一つの要素となった配列値
が返されます。
(行ターミネータを変えたい場合には、$/ をセットできます。)
コマンドは擬似リテラルが評価されるたびに実行されます。コマンドの戻り値
は、$? に返されます
($? の解釈については予約変数のセクションを参照して下さい) 。
\f2csh\f1 の場合と異なり、返されるデータに置換は行なわれません
\*(-- 改行は改行として残ります。
どのシェルとも違って、シングルクォートで囲んでもコマンド内の変数名は解
釈されてしまいます。
$ をシェルに渡すには、バックスラッシュが必要です。
.PP
カギ括弧 <> に囲まれたファイルハンドルを評価すると、そのファイルから次の
行を読み込みます (改行が含まれるため EOF までは決して偽に成りません。
EOF では undefined 値が返ります) 。
通常はその値を変数に代入する必要がありますが、一つだけ
自動的に代入が起こる状況があります。入力シンボルだけが while ループの
条件文の中にある場合は(そしてこの場合にかぎり)、値は変数
\*(L"$_\*(R" に自動的に代入されます。
(奇妙に思うかもしれませんが、ほとんどの
.I perl
スクリプトにおいて、この構文を使うことになるでしょう。)
とにかく、次の例はすべて同等となります。
.nf
.ne 5
while ($_ = <STDIN>) { print; }
while (<STDIN>) { print; }
for (\|;\|<STDIN>;\|) { print; }
print while $_ = <STDIN>;
print while <STDIN>;
.fi
ファイルハンドル
.IR STDIN ,
.IR STDOUT ,
.I STDERR
は予約されています。
(ファイルハンドル
.IR stdin ,
.IR stdout ,
.I stderr
でも動作しますが、パッケージの中ではグローバルではなくローカルな識別子
として解釈されるので、働きません。)
これ以外のファイルハンドルは、
.I open
関数で作成できます。
.PP
配列を探すコンテキストの中で <FILEHANDLE> が使われると、すべての入力行
の一行が一要素である配列が返ります。この方法で*巨大*なデータ空間が簡単
に作られるので、注意して使って下さい。
.PP
ヌルファイルハンドル <> は特殊で、\fIsed\fR や \fIawk\fR の動作を
エミュレートするために使えます。
<> からの入力には、標準入力やコマンドラインに並べられた全ファイルが
入ります。動作の仕方はこうなります。 <> の最初の評価では、ARGV 配列が
チェックされ、それがヌルであると、$ARGV[0] は標準入力をオープンする \'-\'
にセットされます。
次に ARGV 配列がファイル名のリストとして処理されます。
次のループは、
.nf
.ne 3
while (<>) {
.\|.\|. # 各行に対するコード
}
.ne 10
以下の疑似コードと同等になります。
unshift(@ARGV, \'\-\') \|if \|$#ARGV < $[;
while ($ARGV = shift) {
open(ARGV, $ARGV);
while (<ARGV>) {
.\|.\|. # 各行に対するコード
}
}
.fi
前者は、書くのが面倒でないというだけで、同じように動作します。
実際には、前者でも 配列 ARGV を shift し、現在のファイル名を変数 ARGV
に代入します。
内部では、ファイルハンドル ARGV を使います \*(--<> は、魔術的な <ARGV>
とまったく同義です。
(上の疑似コードでは、<ARGV> を魔術的でないものとして扱うので、
動きません)
.PP
ファイル名のリストの配列が残っている限り、最初の <> の前に @ARGV を
変更することができます。
行番号 ($.) は入力が一つの大きなファイルであるかのように増えていきます。
(ファイル毎に行番号をリセットする方法については eof の例を参照して
下さい。)
.PP
.ne 5
@ARGV に自分でファイルのリストをセットしたい場合は、そうして下さい。
スクリプトにスイッチを渡したい場合、スクリプトの前の方に次のような
ループを置くことでできます:
.nf
.ne 10
while ($_ = $ARGV[0], /\|^\-/\|) {
shift;
last if /\|^\-\|\-$\|/\|;
/\|^\-D\|(.*\|)/ \|&& \|($debug = $1);
/\|^\-v\|/ \|&& \|$verbose++;
.\|.\|. # 他のスイッチ
}
while (<>) {
.\|.\|. # 各行に対するコード
}
.fi
<> シンボルは一回だけ*偽*を返します。
その後、もう一度呼ぶと、別の @ARGV リストを処理しているとみなして、
@ARGV がセットされていない場合は
.IR STDIN
から入力されることになります。
.PP
カギ括弧の中の文字列がスカラ変数への参照であるとき (例えば <$foo>) 、
その変数の内容が読み込むべきファイルハンドル名となります。
.PP
カギ括弧の中の文字列がファイルハンドルではないとき、検索 (glob) される
ファイルパターンと解釈され、コンテキストによってファイル名の配列
またはリストの中の次のファイルが返されます。
最初に $ の解釈の一レベルが行なわれますが、<$foo> は前の段落で
説明されたような間接ファイルハンドルとなるため使えません。
強制的にファイル名検索と解釈させさければ <${foo}> のように
中括弧 {} を挿入できます。
例:
.nf
.ne 3
while (<*.c>) {
chmod 0644, $_;
}
は以下と等価です。
.ne 5
open(foo, "echo *.c | tr \-s \' \et\er\ef\' \'\e\e012\e\e012\e\e012\e\e012\'|");
while (<foo>) {
chop;
chmod 0644, $_;
}
.fi
実際、現在のところこのように実装されてます。
(これは、マシン上に /bin/csh がなければ、空白を含むファイル名では
動かないことを意味します。)
もちろん、上の操作を行なう一番短い方法は、
.nf
chmod 0644, <*.c>;
.fi
です。
.Sh "文法"
.PP
.I perl
スクリプトは、一連の宣言とコマンドからなります。
.I perl
の中で宣言されなければならないものは、レポートフォーマットと
サブルーチンです。
これらの宣言の詳しい説明は下のセクションを参照して下さい。
初期化されていないユーザが作成したオブジェクトは、それが代入のように
明示的に定義されるまでは、ヌルまたは 0 の値であるとみなされます。
コマンド列が各入力行に対して実行される
.I sed
.I awk
スクリプトと違って、コマンド列は一度だけ実行されます。
入力ファイル (または複数のファイル) の各行について繰り返しを行うには
明示的にループを設けなければなりませんが、
着目するファイル、行をよりよくコントロールすることができます。
(実は、正しくありません \*(--
.B \-n
.B \-p
スイッチで、暗黙のループを行なうことができます。)
.PP
宣言は、コマンドを書くことができる場所ならどこにでも書くことができますが、
コマンド実行の基本的な流れには影響を与えません \*(-- 宣言は、
コンパイル時だけにしか影響を与えません。通常、すべての宣言は
スクリプトの最初か最後のどちらかに置きます。
.PP
.I perl
は、ほとんどの部分において自由形式言語です。
(唯一の例外はフォーマット宣言で、理由は実に明白です。)
コメントは、# 文字で指示され、行末までとなります。
/* */ という C のコメントを使おうとすると、コンテキストにより
除算またはパターンマッチと解釈されるので、そういうことはしないで下さい。
.Sh "複合文"
.IR perl
では、複数のコマンド列を中括弧 {} で囲むことで、一つのコマンドとして
扱うことになり、これをブロックと呼びます。
.PP
次のような複合コマンドは、フローコントロールに使われます:
.nf
.ne 4
if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK .\|.\|. else BLOCK
LABEL while (EXPR) BLOCK
LABEL while (EXPR) BLOCK continue BLOCK
LABEL for (EXPR; EXPR; EXPR) BLOCK
LABEL foreach VAR (ARRAY) BLOCK
LABEL BLOCK continue BLOCK
.fi
C や Pascal と違って、これらは文ではなく*ブロック*として定義されているこ
とに注意して下さい。
これは、中括弧 {} が、\fI必要である\fR ことを意味します \*(-- 一つの
文を置くことは許されません。
中括弧 {} なしで書きたい場合は、別の方法があります。
以下はすべて同等のことを行ないます:
.nf
.ne 5
if (!open(foo)) { die "Can't open $foo: $!"; }
die "Can't open $foo: $!" unless open(foo);
open(foo) || die "Can't open $foo: $!"; # foo でなければ終わり
open(foo) ? \'hi mom\' : die "Can't open $foo: $!";
# 最後のものは、ちょっとエキゾチック
.fi
.PP
.I if
文は単純です。
*ブロック*は、常に中括弧 {} で囲まれるため、
.I else
が、どの
.I if
にかかるかという曖昧さは生じません。
.I unless
.IR if
の代わりに使うと、逆の意味となります。
.PP
.I while
文は、式が真 (ヌル文字列または 0 でない) である限り、ブロックを
実行し続けます。
識別子とコロンからなるラベルをつけることもできます。
ラベルはループ制御文
.IR next ,
.IR last ,
.I redo
(以下を参照)
によって指し示すループの名前となります。
.I continue
ブロックがあると、条件文が再評価される前に必ず実行され、C における
.I for
ループの三番目の部分と同様となります。
こうして、たとえ
.I next
文で継続された場合でもループ変数はインクリメントできることになります
(C の \*(L"continue\*(R" 文と同じ) 。
.PP
.I while
.IR until
に置き換えられると テストの意味は逆になりますが、条件判断は最初のループ
の前に行なわれます。
.PP
.I if
.I while
文では、\*(L"(EXPR)\*(R" をブロックに置き換えることができ、
ブロックの最後のコマンドの値が真なら、条件判断は真となります。
.PP
.I for
ループは、対応する
.I while
と全く同じように動作します:
.nf
.ne 12
for ($i = 1; $i < 10; $i++) {
.\|.\|.
}
は、以下と同じになります。
$i = 1;
while ($i < 10) {
.\|.\|.
} continue {
$i++;
}
.fi
.PP
foreach ループは、通常の配列値について、配列の各要素を変数 VAR に順に
セットしながら繰り返します。
その変数は、ループに対して暗黙のうちにローカルであり、それ以前の値はルー
プを抜けると元の値に戻ります。
\*(L"foreach\*(R" キーワードは、実は \*(L"for\*(R" キーワードと同じで、
\*(L"foreach\*(R" を可読性のために、\*(L"for\*(R" を簡潔さのために
使うことができます。
VAR が省略されると、$_ が各値にセットされます。
ARRAY が実際の配列 (配列を返す式ではなく) の場合、ループ内の VAR を変
更することによって、配列の各要素を変更することができます。
例:
.nf
.ne 5
for (@ary) { s/foo/bar/; }
foreach $elem (@elements) {
$elem *= 2;
}
.ne 3
for ((10,9,8,7,6,5,4,3,2,1,\'BOOM\')) {
print $_, "\en"; sleep(1);
}
for (1..15) { print "Merry Christmas\en"; }
.ne 3
foreach $item (split(/:[\e\e\en:]*/, $ENV{\'TERMCAP\'})) {
print "Item: $item\en";
}
.fi
.PP
ブロックそれ自身 (ラベルが付いていても、付いていなくても) は、一度だけ
実行されるループと等価です。
だから、ブロックを抜けたり再実行するために、すべてのループ制御文を使う
ことができます。
.I continue
ブロックも付けられます。
この構成は、case 構造を作成するには特に有用です。
.nf
.ne 6
foo: {
if (/^abc/) { $abc = 1; last foo; }
if (/^def/) { $def = 1; last foo; }
if (/^xyz/) { $xyz = 1; last foo; }
$nothing = 1;
}
.fi
同等のものを記述する方法が、既にいくつもあるので、perl には公式の
switch 文がありません。
上記のものに加えて、
.nf
.ne 6
foo: {
$abc = 1, last foo if /^abc/;
$def = 1, last foo if /^def/;
$xyz = 1, last foo if /^xyz/;
$nothing = 1;
}
または
.ne 6
foo: {
/^abc/ && do { $abc = 1; last foo; };
/^def/ && do { $def = 1; last foo; };
/^xyz/ && do { $xyz = 1; last foo; };
$nothing = 1;
}
または
.ne 6
foo: {
/^abc/ && ($abc = 1, last foo);
/^def/ && ($def = 1, last foo);
/^xyz/ && ($xyz = 1, last foo);
$nothing = 1;
}
さらに
.ne 8
if (/^abc/)
{ $abc = 1; }
elsif (/^def/)
{ $def = 1; }
elsif (/^xyz/)
{ $xyz = 1; }
else
{$nothing = 1;}
.fi
とも書けます。
これらはすべて内部で switch 構造に最適化されるため、perl は直接目的の
文にジャンプするので、同じ単純なスカラ変数を == や eq や上記のような
パターンマッチで判定する限り、50 個の elsif を使っても perl がたくさん
の不要な文を実行するのでは、という心配は不要となります。
(ある特定の case ステートメントが最適化されているかどうかに興味があるなら、
\-D1024 スイッチを付けて実行前に文法ツリーを表示することができます。)
.Sh "単文"
単文のみがその副作用を評価される式となります。
どの単文もブロックの最後の文でない限り、セミコロンで終らなければ
なりません。最後の文では、セミコロンはなくてもかまいません。
(それでも、ブロックが一行以上を含んでいるのなら、
セミコロンはあった方が望ましいです)
.PP
どの単文も、セミコロンで終る前に一つの修飾子を続けることができます。
可能な修飾子は以下の通りです:
.nf
.ne 4
if EXPR
unless EXPR
while EXPR
until EXPR
.fi
.I if
.I unless
修飾子は見かけ通りの意味があります。
.I while
.I until
修飾子も見かけ通りの意味 (条件文が始めに評価されます) ですが、
do ブロックや do サブルーチンコマンドが付けられたときには異なり、
条件式が評価される前に一度だけ実行されます。
これは、以下のようなループが記述できるようにするためです:
.nf
.ne 4
do {
$_ = <STDIN>;
.\|.\|.
} until $_ \|eq \|".\|\e\|n";
.fi
(後述の
.I do
演算子を参照のこと。修飾子は、どれもループラベルを持てないため、
後に書かれたループ制御コマンドはこの構造では動かないことに
気をつけて下さい。あしからず。)
.Sh "式"
.I perl
の式は、ほとんど C の式と同じに動作しますが、違いをここに述べます。
.PP
以下が
.I perl
にあって、C にないものです:
.Ip ** 8 2
指数演算子。
.Ip **= 8
指数代入演算子。
.Ip (\|) 8 3
配列をヌルに初期化するために使う、ヌルリスト。
.Ip . 8
2 つの文字列の結合演算子。
.Ip .= 8
結合代入演算子。
.Ip eq 8
文字列の同値性 (== は数値の同値性) 。
覚えるためには、\*(L"eq\*(R" が文字列であると考えれば良いです。
(状況に応じて、== が文字列と数値の両方の同値性を表す
.I awk
に慣れている人は、ここでは明示しなければならないことに気をつけて下さい !)
.Ip ne 8
文字列の非同値性 (!= は数値の非同値性) 。
.Ip lt 8
文字列の less than
.Ip gt 8
文字列の greater than
.Ip le 8
文字列の less than or equal
.Ip ge 8
文字列の greater than or equal
.Ip cmp 8
文字列の比較。 -1, 0, 1 を返します。
.Ip <=> 8
数値の比較。 -1, 0, 1 を返します。
.Ip =~ 8 2
演算には、検索、変更をデフォルトで文字列 \*(L"$_\*(R" に対して行うもの
があります。
この演算子を用いると、別の文字列に対してその演算が行われます。
右の引数は、検索パターン、置換、変換です。
左の引数は、デフォルトの \*(L"$_\*(R" の代わりに検索、置換、変換が
行なわれる対象となるものです。
戻り値は、演算の成否を示します。
(右の引数が検索パターン、置換、変換以外の式なら、実行時に検索パターン
として解釈されますが、パターンは式が評価される度にコンパイルされなけれ
ばならないので、明示的な検索より効率的ではありません。)
この演算子の優先度は単項マイナス演算子 (-) 、autoincrement/decrement
(++, --) より低く、他のどの演算子よりも高くなります。
.Ip !~ 8
戻り値が否定されることを除いて =~ と同じです。
.Ip x 8
繰り返し演算子。
左オペランドを右オペランドで指定した回数だけ繰り返した文字列を返します。
配列のコンテキストでは、左オペランドが括弧に入ったリストの場合、
リストを繰り返します。
.nf
print \'\-\' x 80; # ダッシュの列を出力します
print \'\-\' x80; # 不正、x80 は識別子
print "\et" x ($tab/8), \' \' x ($tab%8); # タブに変換
@ones = (1) x 80; # 80 個 1 が並んだ配列
@ones = (5) x @ones; # 全要素を 5 にセット
.fi
.Ip x= 8
繰り返し代入演算子。
スカラに対してのみ動作します。
.Ip .\|. 8
範囲演算子。コンテキストによって、実際は二つの異なる演算子になります。
配列のコンテキストでは、左の値から右の値まで一つずつ数を増やした配列を
返します。
これは、\*(L"for (1..10)\*(R" というループや配列の切り出し (slice) を
行なうときに便利です。
.Sp
スカラのコンテキストでは、.\|. は論理値を返します。
この演算子は、flip-flop のように二つの値を取り、
sed や awk やいろいろなエディタの行範囲 (comma) 演算子をエミュレート
します。
各 .\|. 演算子はそれ自身の論理値を保持し、左のオペランドが偽である限り
偽となります。
左のオペランドが真になると、範囲演算子は、右のオペランドが真になるまで
真となります。その後、範囲演算子が再び偽となります。
(次に範囲指定演算子が評価されるまで、偽にはなりません。
真になったのと同じ評価を行った時 (awkと同様) に右のオペランドをテスト
して、偽になることがあり得ますが、一度は真を返します。
次の評価まで右のオペランドをテストしたくなければ (sed のように) 、二つ
にするかわりに三つのドット (.\|.\|.) を使って下さい。)
右のオペランドは、演算子が \*(L"偽\*(R" の状態である間は、
評価されず、左のオペランドは演算子が \*(L"真\*(R" である間は
評価されません。
|| や && より優先度はやや低くなります。
戻り値は、偽ではヌル文字列に、真では (1で始まる) 連続した数に
なります。
この数は、範囲指定毎にリセットされます。
連続した範囲の最後の数は、文字列 \'E0\' を持っていて、数値には影響しま
せんが、終点を除きたい場合に検索のきっかけになります。
数字が 1 より大きくなるのを待つことで、始点を除くことができます。
スカラ .\|. の両方のオペランドが静的である場合、オペランドは暗黙の
うちに現在の行番号を表す $. 変数と比べられます。
例:
.nf
.ne 6
スカラ演算子としては:
if (101 .\|. 200) { print; } # 100行台を出力します
next line if (1 .\|. /^$/); # ヘッダ行を読み飛ばします
s/^/> / if (/^$/ .\|. eof()); # 本体をクォートします
.ne 4
配列としては:
for (101 .\|. 200) { print; } # $_ を 100回表示します
@foo = @foo[$[ .\|. $#foo]; # 高価なノーオペレーション
@foo = @foo[$#foo-4 .\|. $#foo]; # 最後の 5 要素を取り出します
.fi
.Ip \-x 8
ファイルテスト。
この単項演算子は一つの引数として、ファイル名またはファイルハンドルを取
り、そのファイルについて、何かが真であるかどうかを見るものです。
引数が省略されると、$_ を調べますが、例外として \-t は
.IR STDIN
を調べます。
真の場合は 1 を、偽の場合は \'\' を返し、ファイルが存在していない場合
は、undefined の値を返します。
優先度は、論理値や関係演算子より高くなりますが、算術演算子より低くなり
ます。
演算子は以下の通りです:
.nf
\-r ファイルを実効 uid/gid で読み込める。
\-w ファイルに実効 uid/gid で書き込める。
\-x ファイルを実効 uid/gid で実行できる。
\-o ファイルの所有者が、実効 uid である。
\-R ファイルを実 uid/gid で読み込める。
\-W ファイルを実 uid/gid で書き込める。
\-X ファイルを実 uid/gid で実行できる。
\-O ファイルの所有者が、実 uid である。
\-e ファイルが存在する。
\-z ファイルサイズが 0 である。
\-s ファイルサイズが 0 でない (サイズを返す) 。
\-f ファイルはプレーンファイルである。
\-d ファイルはディレクトリである。
\-l ファイルはシンボリックリンクである。
\-p ファイルは名前付きパイプ (FIFO) である。
\-S ファイルはソケットである。
\-b ファイルはブロック特殊ファイルである。
\-c ファイルはキャラクタ特殊ファイルである。
\-u ファイルには setuid ビットが立っている。
\-g ファイルには setgid ビットが立っている。
\-k ファイルには sticky ビットが立っている。
\-t ファイルハンドルが tty にオープンされている。
\-T ファイルはテキストファイルである。
\-B ファイルはバイナリファイルである (\-T の逆) 。
\-M スクリプトを開始した時点でのファイルの古さ(単位は日) 。
\-A アクセス時刻と同じ。
\-C inode 変更時刻と同じ。
.fi
ファイルパーミッション演算子 \-r, \-R, \-w, \-W, \-x, \-X の解釈は、
単にファイルのモードとユーザの uid, gid に基づきます。
他の理由で、実際にファイルを読み、書き、実行ができないことがあるかも
しれません。
また、気をつけなけらばならないのは、スーパユーザにとって
\-r, \-R, \-w, \-W は常に 1 を返し、そのモードでいずれかの実行ビットが
立っていれば、\-x, \-X も常に 1 を返すというところです。
従って、スーパユーザが実行するスクリプトは、ファイルの実際のモードを決
めるために stat() を実行したり、一時的に他の uid を立てる必要があるか
もしれません。
.Sp
例:
.nf
.ne 7
while (<>) {
chop;
next unless \-f $_; # 特殊ファイルを無視
.\|.\|.
}
.fi
\-s/a/b/ としても、否定した置換をするわけではないことに注意して
下さい。
\-exp($foo) とすると、期待通りに動きますが、\*(-- マイナスの後が一文字
の場合、ファイルテストと解釈されます。
.Sp
\-T と \-B は以下のように動作します。
ファイルの先頭のブロックあたりに、変なコントロールコードや
メタキャラクタのような、おかしな文字がないかどうかを調べます。
おかしな文字が (10%以上) 見つかると、それは \-B ファイル、
でなければ \-T ファイルとなります。
最初のブロックにヌルが含まれるファイルもバイナリファイルとみなされます。
\-T や \-B がファイルハンドルに使われると、最初のブロックではなく、
そのときの標準入力バッファが調べられます。
ヌルファイル(サイズ 0 のファイル)の場合やファイルハンドルをテストしていて
、それが EOF である場合、\-T と \-B は共に真を返します。
.PP
すべてのファイルテスト (と stat 演算子)は、アンダライン一つ _ から
成る特殊ファイルハンドルを与えられると、システムコールを保存することに
よって、その直前に行なわれたファイルテスト (または stat演算子) で使わ
れた stat 構造体が使われます。
(この _ の働きは \-t では動作せず、lstat と -l が stat 構造体に
実ファイルではなく、シンボリックリンクの値を残すことを覚えて
おかなければなりません。)
例:
.nf
print "Can do.\en" if -r $a || -w _ || -x _;
.ne 9
stat($filename);
print "Readable\en" if -r _;
print "Writable\en" if -w _;
print "Executable\en" if -x _;
print "Setuid\en" if -u _;
print "Setgid\en" if -g _;
print "Sticky\en" if -k _;
print "Text\en" if -T _;
print "Binary\en" if -B _;
.fi
.PP
C にあって、
.I perl
にないもの:
.Ip "単項 &" 12
アドレス演算子
.Ip "単項 *" 12
"アドレスを通しての"参照演算子
.Ip "(TYPE)" 12
型変換演算子。
.PP
C のように、
.I perl
は、演算子への引数が皆、静的で、副作用がない場合だけコンパイル時にある
程度の式の評価を行なってしまいます。
特に、変数置換を行なわないリテラル間での文字列の結合は、コンパイル時に
行なわれます。
バックスラッシュの解釈もコンパイル時に起こります。
.nf
.ne 2
\'Now is the time for all\' . "\|\e\|n" .
\'good men to come to.\'
.fi
これは全部、内部では一つの文字列にされてしまいます。
.PP
++ 演算子にはちょっと拡張した細工が施されています。
数値変数や数値コンテキストとして使われた変数をインクリメントすると、通
常のインクリメントになりますが、変数がヌルでない文字コンテキストとして
だけ使われて来ていて、パターン /^[a\-zA\-Z]*[0\-9]*$/ にマッチする場合は、
各文字の範囲をキャリー付きで保存し、文字としてインクリメントされます:
.nf
print ++($foo = \'99\'); # prints \*(L'100\*(R'
print ++($foo = \'a0\'); # prints \*(L'a1\*(R'
print ++($foo = \'Az\'); # prints \*(L'Ba\*(R'
print ++($foo = \'zz\'); # prints \*(L'aaa\*(R'
.fi
-- 演算子には、このような細工はありません。
.PP
(配列のコンテキストにおける) 範囲演算子は、最大値と最小値が文字列の
場合に、細工した自動インクリメントアルゴリズムを使います。
すべてのアルファベット文字を得るには、
@alphabet = (\'A\' .. \'Z\');
16 進数を得るには、
$hexdigit = (0 .. 9, \'a\' .. \'f\')[$num & 15];
始めに 0 を付けた日付を得るには、
@z2 = (\'01\' .. \'31\'); print @z2[$mday];
と書けます。
(最後に指定された値が、細工したインクリメントの生成するシークエンスに
含まれていない場合、次の値が最後に指定された値より長くなるまでシークエ
ンスを続けます。)
.PP
|| と && は、0 や 1 を返す C のそれとは違って、最後に評価された値を
返します。
だから、ホームディレクトリをみつける移植性の高い方法は、こうなります。
.nf
$home = $ENV{'HOME'} || $ENV{'LOGDIR'} ||
(getpwuid($<))[7] || die "You're homeless!\en";
.fi
.PP
前述のリテラルや変数に合わせ、以降の節で説明する演算は
式中で項として使えます。
これらの演算の幾つかは、引数に*リスト*を取ります。
リストは、スカラや配列値からなります。
配列値がリストの中にあると、その場所に挿入されたように個々の値がリスト
の中に含まれて、長い一次元配列値を作ることになります。
*リスト* の要素はコンマで区切られていなければなりません。
引数を括弧で囲んでも囲まなくても、演算をリスト出来ます。
これは関数呼び出しと同様単項演算子として、
演算を使うことができることを意味します。
関数呼び出しとして使うには、同じ行の次のトークンは左括弧でなければなり
ません。
(空白が間にはさまってもかまいません。)
そのような関数は、予想される通り最優先となります。
左括弧を持っていないトークンが続くとすれば、それは単項演算子で、リスト
演算子かどうかによって、優先度が決まります。
リスト演算子は最も優先度が低くなります。
すべての単項演算子は、関係演算子よりも優先されますが、算術演算子よりも
優先度は低くなります。
優先度のセクションを参照して下さい。
.PP
スカラや配列のコンテキストで使われる演算子の場合、失敗すると一般に、
スカラコンテキストでは undefined 値を返し、配列のコンテキストでは
ヌルリストを返します。
しかし、*リストをスカラに変換する一般的な規則はない* ということを
忘れないで下さい。
それぞれの演算子は、どの種のスカラを返すのが最も適当であるかを決めます。
ある演算子は、配列のコンテキストとして返されるようなリストの長さを返し
ます。リストの最初の値を返す演算子、リストの最後の値を返す演算子、
操作に成功した回数を返す演算子などもあります。
一般に、一貫性を求めなければ、演算子は求めるものを返します。
.Ip "/PATTERN/" 8 4
m/PATTERN/ を参照して下さい。
.Ip "?PATTERN?" 8 4
これは、
.I reset
演算子呼び出しの間で一回しかマッチしないことを除けば、
/pattern/ 検索と全く同じです。
これは例えば、一群のファイルの中で、各ファイルに最初に何かが出現すること
を見たいとき、便利な最適化です。
そのときのパッケージにローカルな ?? パターンだけは、リセットされます。
.Ip "accept(NEWSOCKET,GENERICSOCKET)" 8 2
accept システムコールと同じことをします。
成功すると真を、失敗すると偽を返します。
プロセス間通信のセクションの例を参照して下さい。
.Ip "alarm(SECONDS)" 8 4
.Ip "alarm SECONDS" 8
指定した秒数 (実際には、1 を引いたもの) が経過したあと、自分の
プロセスに SIGALRM を伝えます。
つまり、alarm(15) なら、14 秒以上経ったある時点で SIGALRM を生じます。
一度に一つのタイマしかカウントされません。呼び出される毎にそれ以前の
タイマは無効となり、引数 0 で呼び出すと以前のタイマをキャンセルし
て、新しいタイマは始動しません。
戻り値は、直前のタイマの残り時間です。
.Ip "atan2(Y,X)" 8 2
Y/X の アークタンジェント を
.if t \-\(*p から \(*p.
.if n \-π から π
の範囲で返します。
.Ip "bind(SOCKET,NAME)" 8 2
bind システムコールと同じことをします。
成功すれば真を、失敗すれば偽を返します。
NAME は、ソケットに合った適切な型の pack されたアドレスでなければなりません。
プロセス間通信のセクションの例を参照して下さい。
.Ip "binmode(FILEHANDLE)" 8 4
.Ip "binmode FILEHANDLE" 8 4
バイナリファイルとテキストファイルを区別するオペレーティングシステム上
で、そのファイルを \*(L"バイナリ\*(R" として読み込まれるようにします。
バイナリモードで読み込まれないファイルは、CR LF が入力時に LF に変換
され、出力時には、LF が CR LF に変換されます。
binmode は、UNIX では無効です。
FILEHANDLE が式のときは、値がファイルハンドルの名前として扱われます。
.Ip "caller(EXPR)"
.Ip "caller"
現在のサブルーチン呼び出しのコンテキストを返します:
.nf
($package,$filename,$line) = caller;
.fi
EXPRがあると、デバッガがスタックトレースに出力して使う拡張情報も
返します。
EXPRの値は、現在のサブルーチンの前にいくつの call フレームがあるかを
示します。
.Ip "chdir(EXPR)" 8 2
.Ip "chdir EXPR" 8 2
動作しているディレクトリを、もしできるなら EXPR に変更します。
EXPRが省略されると、ホームディレクトリになります。
成功すれば 1 を、失敗すれば 0 を返します。
.IR die
の例を参照して下さい。
.Ip "chmod(LIST)" 8 2
.Ip "chmod LIST" 8 2
ファイルのリストのパーミッションを変更します。
リストの最初の要素は、数値モードでなければなりません。
成功したファイルの数を返します。
.nf
.ne 2
$cnt = chmod 0755, \'foo\', \'bar\';
chmod 0755, @executables;
.fi
.Ip "chop(LIST)" 8 7
.Ip "chop(VARIABLE)" 8
.Ip "chop VARIABLE" 8
.Ip "chop" 8
文字列の最後の文字を削り、削られた文字を返します。
基本的には、入力されたレコードの終りから改行文字を除くために使われます
が、文字列のコピーをスキャンするわけではないので、s/\en// より
効率的です。
VARIABLE を省略すると、$_ を chop します。
例:
.nf
.ne 5
while (<>) {
chop; # 最後のフィールドの \en を除く
@array = split(/:/);
.\|.\|.
}
.fi
実際には、代入を含む左辺値のいかなるものも chop できます。
.nf
chop($cwd = \`pwd\`);
chop($answer = <STDIN>);
.fi
リストを chop するとすべての要素が chop され、
最後に chop された値が返されます。
.Ip "chown(LIST)" 8 2
.Ip "chown LIST" 8 2
ファイルのリストの所有者 (と所有グループ) を変えます。
リストの最初の二つの要素は数値で表した uid と gid がこの順で指定され
なければなりません。
変更に成功したファイルの数を返します。
.nf
.ne 2
$cnt = chown $uid, $gid, \'foo\', \'bar\';
chown $uid, $gid, @filenames;
.fi
.ne 23
以下は、passwd ファイルから数値でない uid を検索する例です:
.nf
print "User: ";
$user = <STDIN>;
chop($user);
print "Files: "
$pattern = <STDIN>;
chop($pattern);
.ie t \{\
open(pass, \'/etc/passwd\') || die "Can't open passwd: $!\en";
'br\}
.el \{\
open(pass, \'/etc/passwd\')
|| die "Can't open passwd: $!\en";
'br\}
while (<pass>) {
($login,$pass,$uid,$gid) = split(/:/);
$uid{$login} = $uid;
$gid{$login} = $gid;
}
@ary = <${pattern}>; # ファイルを得ます
if ($uid{$user} eq \'\') {
die "$user not in passwd file";
}
else {
chown $uid{$user}, $gid{$user}, @ary;
}
.fi
.Ip "chroot(FILENAME)" 8 5
.Ip "chroot FILENAME" 8
同名のシステムコールと同じことをします。
これが何をするのか知らないとしても、気にしないで下さい。
FILENAME を省略すると、$_ に chroot します。
.Ip "close(FILEHANDLE)" 8 5
.Ip "close FILEHANDLE" 8
ファイルハンドルに結びつけられたファイルやパイプをクローズします。
別のファイルをオープンしようとしている場合は、FILEHANDLE を閉じる
必要がありません。オープンした際に前のファイルをクローズしてくれる
からです。
(
.IR open
を参照して下さい)
しかし、明示的に入力ファイルのクローズをすると行カウンタ ($.) が
リセットされるのに対し、
.I open
のときに行なわれる暗黙のクローズでは、リセットされません。
また、後でパイプの出力を見たい場合は、パイプをクローズするとパイプで
起動されたプロセスの完了を待ちます。
パイプを明示的にクローズすると、コマンド情報の戻り値が $? に
入れられます。
例:
.nf
.ne 4
open(OUTPUT, \'|sort >foo\'); # sort へパイプ
.\|.\|. # print stuff to output
close OUTPUT; # sort の終了を待ちます
open(INPUT, \'foo\'); # sortの結果を得ます
.fi
FILEHANDLE は実際のファイルハンドル名を与える式でもかまいません。
.Ip "closedir(DIRHANDLE)" 8 5
.Ip "closedir DIRHANDLE" 8
opendir() でオープンされたディレクトリをクローズします。
.Ip "connect(SOCKET,NAME)" 8 2
connect システムコールと同じことをします。
成功すると真を、失敗すると偽を返します。
NAME はソケットに合った適当な型のパッケージアドレスでなければ
なりません。
プロセス間通信のセクションの例を参照して下さい。
.Ip "cos(EXPR)" 8 6
.Ip "cos EXPR" 8 6
EXPR (ラジアンで表現) のコサインを返します。
EXPR を省略すると $_ のコサインを取ります。
.Ip "crypt(PLAINTEXT,SALT)" 8 6
C ライブラリの crypt() 関数と正確に同じように encrypt された文字列
を返します。
パスワードファイルを調べて、粗野なパスワードを見つけるのに便利です。
白い帽子をかぶっている奴だけがこれをしなければなりません。
.Ip "dbmclose(ASSOC_ARRAY)" 8 6
.Ip "dbmclose ASSOC_ARRAY" 8
dbm ファイルと連想配列の結び付きを解除します。
連想配列に残っている値は、dbm ファイルのキャッシュに何が入っているか
を知りたいのでなければ、意味がないものとなります。
この関数は、ndbm を使う場合にのみ有用です。
.Ip "dbmopen(ASSOC,DBNAME,MODE)" 8 6
dbm や ndbm ファイルと連想配列を結び付けます。
ASSOC は連想配列の名前です。
(通常の open と違って、最初の引数はファイルハンドルのように見えても、
ファイルハンドルでは*ありません*) 。
DBNAME は、(.dir や .pag の拡張子を除いた) データベースの名前です。
データベースが存在しないと、(umaskで修飾された) MODE で指定された
プロテクションで作成します。
古い dbm 関数しかサポートしないシステムでは、プログラムの中で一つの
dbmopen しか許されないかもしれません。
dbm も ndbm もないシステムでは、dbmopen 呼び出しは致命的なエラーを生
じます。
.Sp
それまでの dbmopen で関連付けられた連想配列の値は失われます。
dbm ファイルのうち、ある量の値はメモリにキャッシュされます。
デフォルトでその量は 64 ですが、dbmopen の前に連想配列の
ガーベッジエントリの数をあらかじめ確保しておくことで、
増やすことができます。必要なら、reset コマンドでキャッシュを
フラッシュすることができます。
.Sp
dbm ファイルへの書き込み許可を持っていない場合、連想配列変数を
読み出すだけで、それをセットすることはできません。
書き込めるかどうかをテストしたければ、ファイルテストを使うか、エラーを
トラップできる eval の中で、ダミーの配列エントリをセットしようと
してみて下さい。
.Sp
keys() や valuse() のような関数は、大きな dbm ファイルを使ったときに、
巨大な配列値を返すかもしれません。
大きな dbm ファイルで繰り返しをするときは、each() 関数を使った方が
良いかもしれません。
例:
.nf
.ne 6
# 履歴ファイルのオフセットを表示します
dbmopen(HIST,'/usr/lib/news/history',0666);
while (($key,$val) = each %HIST) {
print $key, ' = ', unpack('L',$val), "\en";
}
dbmclose(HIST);
.fi
.Ip "defined(EXPR)" 8 6
.Ip "defined EXPR" 8
左辺値 EXPR が、実際に値を持っているかどうかを表す論理値を返します。
多くの演算で、ファイル終端、初期化されていない変数、システムエラーなど
の例外処理条件で undefined 値が返されます。
この関数は、本当のヌル文字列を返すかもしれない操作、特に配列要素を参照
する操作の際に、未定義のヌル文字列と定義されたヌル文字列の判別を可能に
します。
配列やサブルーチンが存在するかどうかを調べることもできます。
予約済み変数を使うときは、直観的に期待するような結果になるとは保証されて
いません。
例:
.nf
.ne 7
print if defined $switch{'D'};
print "$val\en" while defined($val = pop(@ary));
die "Can't readlink $sym: $!"
unless defined($value = readlink $sym);
eval '@foo = ()' if defined(@foo);
die "No XYZ package defined" unless defined %_XYZ;
sub foo { defined &$bar ? &$bar(@_) : die "No bar"; }
.fi
undef も参照して下さい。
.Ip "delete $ASSOC{KEY}" 8 6
指定した連想配列から、指定した値を削除します。
削除された値が返りますが、何も削除されなかった場合は undefined 値が
返ります。
$ENV{} から削除すると、環境変数を変更します。
dbm ファイルに結びつけられた配列を削除すると、dbm ファイルからその項
目を削除します。
.Sp
以下の例は、連想配列のすべての値を削除します:
.nf
.ne 3
foreach $key (keys %ARRAY) {
delete $ARRAY{$key};
}
.fi
(しかし、
.I reset
コマンドを使った方が速いでしょう。undef %ARRAY ならもっと速いでしょう)
.Ip "die(LIST)" 8
.Ip "die LIST" 8
eval の外で、LIST の値を
.I STDERR
に表示して、そのときの $! (errno) の値で終了 (exit) します。
$! が 0 なら、($? >> 8) (\`command\` のステータス) の値で終了します。
($? >> 8) が 0 なら、255 で終了します。
eval の中では、エラーメッセージは $@ に詰め込まれ、eval は undefined
値で終了します。
.Sp
同等の例:
.nf
.ne 3
.ie t \{\
die "Can't cd to spool: $!\en" unless chdir \'/usr/spool/news\';
'br\}
.el \{\
die "Can't cd to spool: $!\en"
unless chdir \'/usr/spool/news\';
'br\}
chdir \'/usr/spool/news\' || die "Can't cd to spool: $!\en"
.fi
.Sp
EXPR の値が改行で終らない場合、スクリプトの現在の行番号と (もしあれば)
入力行番号が出力され、改行が加えられます。
ヒント: \*(L", stopped\*(R" をメッセージに加えておくと、
\*(L"at foo line 123\*(R" が加えられたときにわかり易くなるので良い
でしょう。
スクリプト \*(L"canasta\*(R" を走らせているとすると、
.nf
.ne 7
die "/etc/games is no good";
die "/etc/games is no good, stopped";
は、多分
/etc/games is no good at canasta line 123.
/etc/games is no good, stopped at canasta line 123.
.fi
と出力されます。
.IR exit
を参照して下さい。
.Ip "do BLOCK" 8 4
BLOCK 内で指定されたうち、最後のコマンドの値を返します。
ループ修飾子に修飾されたときは、ループ条件をテストする前に BLOCK が
一度実行されます。
(他の文では、ループ修飾子は、条件を始めにテストします。)
.Ip "do SUBROUTINE (LIST)" 8 3
.I sub
で宣言されたサブルーチンを実行し、SUBROUTINE で最後に評価された式の値
を返します。
その名前のサブルーチンがない場合、致命的エラーを生じます。
(サブルーチンが存在しているかどうかを判定したいなら、\*(L"defined\*(R"
演算子を使うのが良いでしょう。)
配列をリストの一部として渡したいなら、各配列の前に配列の長さを付けて
渡すのが良いでしょう。
(後に出てくるサブルーチンのセクションを参照して下さい。)
\*(L"do EXPR\*(R" の形との混乱を避けるため、括弧は必要となります。
.Sp
SUBROUTINE は、一つのスカラ変数でもかまいません。その場合、
実行されるサブルーチン名は、変数から得られます。
.Sp
別の (好まれる) 形として、アンパサンド & を前に付ける &foo(@args) の
ように、サブルーチンを呼んでもかまいません。
引数を渡さないなら、括弧を使う必要はありません。
括弧を省略すると、サブルーチンには @_ 配列は渡されません。
& 型は、defined や undef 演算子にサブルーチンを指示するのにも
使われます:
.nf
if (defined &$var) { &$var($parm); undef &$var; }
.fi
.Ip "do EXPR" 8 3
ファイル名として EXPR の値を使い、
.I perl
スクリプトとして、ファイルの内容を実行します。
これは基本的に
.I perl
サブルーチンライブラリからサブルーチンをインクルードするという使い方を
します。
.nf
do \'stat.pl\';
は、
eval \`cat stat.pl\`;
.fi
とほとんど同じです。
違うのは、より効率的で、より簡潔で、エラーメッセージ中の現在ファイル名
は正しく、カレントディレクトリに stat.pl がなければ
.B \-I
で指定されたライブラリをすべて探すということです。
(予約変数のセクション中の @INC 配列を参照して下さい) 。
しかし、呼び出しのたびにファイルを解析し直すのは同じなので、ループの
内側でこのファイルを使うなら、起動時間は少し余計にかかるとしても、
\-P と #include を使った方が良いでしょう。
(この #include を使う問題点は、cpp が # コメントを認識してくれない
ことです。\*(--逃げ道は、コメント単独として \*(L";#\*(R" を使うことです。)
次のものは等価ではないことに注意して下さい:
.nf
.ne 2
do $foo; # ファイルを eval します
do $foo(); # サブルーチンを呼びます
.fi
ライブラリルーチンのインクルードとしては、
\*(L"require\*(R" 演算子の方がより良いことを覚えておいて下さい。
.Ip "dump LABEL" 8 6
ただちにコアダンプします。
もともと、これは、プログラムの始めにすべての変数を初期化した後に
ダンプされたコアを undump プログラムを使って実行バイナリを作るために
あります。
新しいバイナリが実行されるとき、"goto LABEL" を実行することから
始まります
(goto が受けるすべての制限は適用されます) 。
コアダンプで止まったところから、goto で再び始まると考えれば良いです。
LABEL が省略されると、プログラムは先頭から再スタートします。
警告: ダンプされたときに open されていたどのファイルも、プログラムが
再生したときにはもう open されておらず、perlの側では混乱する可能性が
あります。
\-u も参照して下さい。
.Sp
例:
.nf
.ne 16
#!/usr/bin/perl
require 'getopt.pl';
require 'stat.pl';
%days = (
'Sun',1,
'Mon',2,
'Tue',3,
'Wed',4,
'Thu',5,
'Fri',6,
'Sat',7);
dump QUICKSTART if $ARGV[0] eq '-d';
QUICKSTART:
do Getopt('f');
.fi
.Ip "each(ASSOC_ARRAY)" 8 6
.Ip "each ASSOC_ARRAY" 8
連想配列の次のキーと値の 2 つの要素から成る配列を順次返し、
それを繰り返すことができます。
各エントリはランダムのように見える順序で返されます。
配列全部が読み込まれたとき、ヌル配列 (代入されると FALSE(0) 値となる)
が返されます。
その後、次の each() の呼び出しで繰り返しを再び始めます。
繰り返し情報は、配列からすべての要素を読み込むことによってのみ
リセットできます。
繰り返しの間は、配列を変更してはいけません。
各連想配列につき一つずつ繰り返し情報があり、プログラム中のすべての
each(), keys(), values() 関数呼び出しで共有されます。
次の例は、順序は異なるものの printenv プログラムのように環境変数を
表示します:
.nf
.ne 3
while (($key,$value) = each %ENV) {
print "$key=$value\en";
}
.fi
keys() 関数と values() 関数も参照して下さい。
.Ip "eof(FILEHANDLE)" 8 8
.Ip "eof()" 8
.Ip "eof" 8
次に FILEHANDLE を読んだときファイル終端であるか、
または FILEHANDLE がオープンされていないとき、1 を返します。
FILEHANDLE は実際のファイルハンドル名を値に持つ式でもかまいません。
(この関数は、実際には一文字読み込んでは、ungetc するので、対話的な
コンテキストではそれほど有用ではありません。)
引数無しの eof は、最後に読んだファイルの eof 状態を返します。
空の括弧 () は、コマンドラインで指定されたファイル群からなる
擬似ファイルを指します。つまり、eof() は while (<>) の内側で最後の
ファイルの終端を検出するときに意味があります。
while (<>) ループの中で各ファイルを調べたいときは、eof(ARGV) または
括弧のない eof を使って下さい。
例:
.nf
.ne 7
# 最後のファイルの最終行の直前にダッシュを挿入します
while (<>) {
if (eof()) {
print "\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\en";
}
print;
}
.ne 7
# 各入力ファイル毎に、行番号をリセットします
while (<>) {
print "$.\et$_";
if (eof) { # Not eof().
close(ARGV);
}
}
.fi
.Ip "eval(EXPR)" 8 6
.Ip "eval EXPR" 8 6
.Ip "eval BLOCK" 8 6
EXPR は解析され、一つの小さな
.I perl
プログラムであるかのように実行されます。
.I perl
プログラムのコンテキストの中で実行されるので、どの変数設定、
サブルーチン、フォーマット定義もその後に残ります。
戻り値は、丁度サブルーチンと同様に、最後に評価された式が返ります。
文法エラーや実行時エラーがあるか、die 文があれば、eval により undefined
が返り、$@ にエラーメッセージがセットされます。
もしエラーがなければ、$@ はヌル文字列であることが保証されます。
EXPRを省略すると、$_ を評価します。
最後のセミコロンはどれも式から除かれます。
.Sp
eval はしかし、致命的エラーまでトラップするので、
(dbmopen や symlinkのような) ある機能が実装されているかどうかを
決めるには便利なことを覚えておいて下さい。
die 演算子が例外を起こすように使われるのは、perl の例外トラップ機構
でもあります。
.Sp
実行されるコードが変わらないなら、その度に再コンパイルされる時間を
費すよりは、実行時エラーをトラップする eval-BLOCK の形をとった方が良い
かもしれません。
どんなエラーも起これば $@ にメッセージが返ります。
EXPR のような、シングルクォートされた文字列を評価すると、同じ効果が
ありますが、eval-BLOCK の形ではコンパイル時に文法エラーを報告するのに
対し、eval-EXPR の形では $@ を通して実行時に文法エラーを報告する点が
異なります。
eval-EXPR の形は、最初に成功したときに eval-BLOCK に最適化されます。
(e 修飾子を使った場合、置換される側はシングルクォートされた文字列と
みなされ、同じ最適化が起こります。)
例:
.nf
.ne 11
# 0 除算を致命的エラーにしません
eval { $answer = $a / $b; }; warn $@ if $@;
# 初回使用後、同じものに最適化されます。
eval '$answer = $a / $b'; warn $@ if $@;
# コンパイル時エラー
eval { $answer = };
# 実行時エラー
eval '$answer ='; # sets $@
.fi
.Ip "exec(LIST)" 8 8
.Ip "exec LIST" 8 6
LIST の中に一つ以上の引数があるか、LIST が一つ以上の値を持つ配列ならば、
リストの引数を付けて execvp() を呼びます。
一つのスカラ引数だけなら、引数にシェルのメタキャラクタがあるかどうか
を調べます。あれば、解析のために引数を丸ごと \*(L"/bin/sh \-c\*(R" に
渡し、無ければ、引数は単語に split され、execvp() に直接渡されます。
その方が効率が良いからです。
注意: exec (と system) は出力バッファをフラッシュしないので、出力が
失われるのを避けるために $| をセットする必要があるかもしれません。
例:
.nf
exec \'/bin/echo\', \'Your arguments are: \', @ARGV;
exec "sort $outfile | uniq";
.fi
.Sp
もし、最初の引数を本当に実行したいのでなく、実行しようとしている
プログラムの名前を詐称したいだけなら、本当に走らせたいプログラムを変数に
割り当てて、LIST の前に変数の名前をカンマを付けずに置くように
指定できます。
(これは、たとえ単一スカラしかリストに無くても、常に多くの値を持つ
リストとして LIST の解釈を強制します。)
例:
.nf
.ne 2
$shell = '/bin/csh';
exec $shell '-sh'; # ログインシェルのふりをします
.fi
.Ip "exit(EXPR)" 8 6
.Ip "exit EXPR" 8
EXPR を評価し、ただちにその値で終了します。
例:
.nf
.ne 2
$ans = <STDIN>;
exit 0 \|if \|$ans \|=~ \|/\|^[Xx]\|/\|;
.fi
.IR die
を参照して下さい。
EXPR が省略されると、値 0 の状態で終了します。
.Ip "exp(EXPR)" 8 3
.Ip "exp EXPR" 8
.I e
の EXPR 乗を返します。 EXPR を省略すると、exp($_) を返します。
.Ip "fcntl(FILEHANDLE,FUNCTION,SCALAR)" 8 4
fcntl(2) 関数の実装です。
正しい関数定義を得るには、多分
.nf
require "fcntl.ph"; # 多分 /usr/local/lib/perl/fcntl.ph
.fi
を始めに書いておかなければならないでしょう。
もし、fcntl.ph が存在しないか、もしくは正しい定義がされていない場合、
<sys/fcntl.h> のような C のヘッダファイルに基づいて、
自分で何とかしなければなりません。
(perl kit から来る h2ph と呼ばれる perl スクリプトがあり、
このことを助けてくれるでしょう)
引数の処理と戻り値を返すことは、
この後に書かれている ioctl のように動作します。
fcntl は、fcntl(2) が実装されていないマシンで使われると
致命的エラーを生じます。
.Ip "fileno(FILEHANDLE)" 8 4
.Ip "fileno FILEHANDLE" 8 4
ファイルハンドルに対するファイルディスクリプタを返します。
select() のビットマップを構成するのに便利です。
FILEHANDLE が式だと、その値がファイルハンドルの名前と解釈されます。
.Ip "flock(FILEHANDLE,OPERATION)" 8 4
ファイルハンドルに対し flock(2) を呼びます。
OPERATION の定義については、flock(2) のマニュアルを参照して下さい。
成功すれば真を、失敗すれば偽を返します。
flock(2) が実装されていないマシンで使うと、致命的エラーになります。
以下は、BSD システムのメールボックスにメールを追加します。
.nf
.ne 20
$LOCK_SH = 1;
$LOCK_EX = 2;
$LOCK_NB = 4;
$LOCK_UN = 8;
sub lock {
flock(MBOX,$LOCK_EX);
# 待っている間に、他の誰かが追加する
# 場合のために...
seek(MBOX, 0, 2);
}
sub unlock {
flock(MBOX,$LOCK_UN);
}
open(MBOX, ">>/usr/spool/mail/$ENV{'USER'}")
|| die "Can't open mailbox: $!";
do lock();
print MBOX $msg,"\en\en";
do unlock();
.fi
.Ip "fork" 8 4
fork() システムコールを実行します。
親プロセスに子の pid を返し、子プロセスには 0 を返します。
注意: フラッシュされていないバッファは、両方のプロセスでフラッシュ
されずに残ります。これは二重出力を避けるために、$| をセットする必要が
あるかもしれないということを意味します。
.Ip "getc(FILEHANDLE)" 8 4
.Ip "getc FILEHANDLE" 8
.Ip "getc" 8
FILEHANDLE に結びつけられた入力ファイルから、次の文字を返します。
EOF ではヌルを返します。 FILEHANDLE を省略すると、STDIN から読み込み
ます。
.Ip "getlogin" 8 3
現在のログイン状況が /etc/utmp から得られれば、それを返します。
得られなければ、getpwuid を使って下さい。
$login = getlogin || (getpwuid($<))[0] || "Somebody";
.Ip "getpeername(SOCKET)" 8 3
SOCKET 接続の向こう側の pack された sockaddr アドレスを返します。
.nf
.ne 4
# 内部 sockaddr
$sockaddr = 'S n a4 x8';
$hersockaddr = getpeername(S);
.ie t \{\
($family, $port, $heraddr) = unpack($sockaddr,$hersockaddr);
'br\}
.el \{\
($family, $port, $heraddr) =
unpack($sockaddr,$hersockaddr);
'br\}
.fi
.Ip "getpgrp(PID)" 8 4
.Ip "getpgrp PID" 8
指定された PID に対する現在のプロセスグループを返します。
現在のプロセスでは 0 です。
getpgrp(2) が実装されていないマシンで使うと、致命的エラーになります。
EXPR が省略されると、現在のプロセスのプロセスグループが返ります。
.Ip "getppid" 8 4
親プロセスのプロセス ID を返します。
.Ip "getpriority(WHICH,WHO)" 8 4
プロセス、プロセスグループ、ユーザの現在のプライオリティを返します。
(getpriority(2)を参照して下さい。)
getpriority(2) を実装していないマシンで使うと致命的エラーになります。
.Ip "getpwnam(NAME)" 8
.Ip "getgrnam(NAME)" 8
.Ip "gethostbyname(NAME)" 8
.Ip "getnetbyname(NAME)" 8
.Ip "getprotobyname(NAME)" 8
.Ip "getpwuid(UID)" 8
.Ip "getgrgid(GID)" 8
.Ip "getservbyname(NAME,PROTO)" 8
.Ip "gethostbyaddr(ADDR,ADDRTYPE)" 8
.Ip "getnetbyaddr(ADDR,ADDRTYPE)" 8
.Ip "getprotobynumber(NUMBER)" 8
.Ip "getservbyport(PORT,PROTO)" 8
.Ip "getpwent" 8
.Ip "getgrent" 8
.Ip "gethostent" 8
.Ip "getnetent" 8
.Ip "getprotoent" 8
.Ip "getservent" 8
.Ip "setpwent" 8
.Ip "setgrent" 8
.Ip "sethostent(STAYOPEN)" 8
.Ip "setnetent(STAYOPEN)" 8
.Ip "setprotoent(STAYOPEN)" 8
.Ip "setservent(STAYOPEN)" 8
.Ip "endpwent" 8
.Ip "endgrent" 8
.Ip "endhostent" 8
.Ip "endnetent" 8
.Ip "endprotoent" 8
.Ip "endservent" 8
これらのルーチンは、システムライブラリ中の同名の関数を実行します。
配列のコンテキストの中では、これらの各 get ルーチンの戻り値は、
以下のようになります:
.nf
($name,$passwd,$uid,$gid,
$quota,$comment,$gcos,$dir,$shell) = getpw.\|.\|.
($name,$passwd,$gid,$members) = getgr.\|.\|.
($name,$aliases,$addrtype,$length,@addrs) = gethost.\|.\|.
($name,$aliases,$addrtype,$net) = getnet.\|.\|.
($name,$aliases,$proto) = getproto.\|.\|.
($name,$aliases,$port,$proto) = getserv.\|.\|.
.fi
(もしエントリが存在しなければ、ヌルリストになります。)
.Sp
スカラのコンテキストでは、
name による検索でない場合には name が得られ、
name による検索の場合には name 以外が得られます。
(エントリが存在しない場合は、undefined 値となります。)
例:
.nf
$uid = getpwnam
$name = getpwuid
$name = getpwent
$gid = getgrnam
$name = getgrgid
$name = getgrent
.fi
getgr.\|.\|. の返す $menbers 値は、空白で区切られたグループメンバの
ログイン名のリストです。
.Sp
gethost.\|.\|. 関数では、h_errno 変数が C でサポートされていれば、
関数のコールが失敗したとき $? を介して返されます。
成功した関数コールの返す @addrs 値は、相当するシステムライブラリ
呼び出しに返された raw address のリストです。
インターネットドメイン (INET) では、各アドレスは 4 バイト長で
以下のように書くと unpack できます。
.nf
($a,$b,$c,$d) = unpack('C4',$addr[0]);
.fi
.Ip "getsockname(SOCKET)" 8 3
pack された、SOCKET接続のこちら側の sockaddr アドレスを返します。
.nf
.ne 4
# An internet sockaddr
$sockaddr = 'S n a4 x8';
$mysockaddr = getsockname(S);
.ie t \{\
($family, $port, $myaddr) = unpack($sockaddr,$mysockaddr);
'br\}
.el \{\
($family, $port, $myaddr) =
unpack($sockaddr,$mysockaddr);
'br\}
.fi
.Ip "getsockopt(SOCKET,LEVEL,OPTNAME)" 8 3
要求したソケットのオプションを返します。エラーの場合は undefined を
返します。
.Ip "gmtime(EXPR)" 8 4
.Ip "gmtime EXPR" 8
time 関数に返された時刻を、Greenwich timezone として 9 要素の配列に
変換します。
通常は次のように使います:
.nf
.ne 3
.ie t \{\
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
'br\}
.el \{\
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
gmtime(time);
'br\}
.fi
すべての配列要素は数値で、構造体 tm から直接得られるものです。
これにより $mon は 0.\|.11 の範囲で $wday は 0.\|.6 の範囲であることに
なります。
EXPR を省略すると、gmtime(time) を実行します。
.Ip "goto LABEL" 8 6
LABEL というラベルを付けられた文を探し、そこから実行を再開します。
現在のところ、プログラムの本体内で do {} 構造の内側が
入れ子になっていない文にしか行けません。
この文は効率的には実装されておらず、
.IR sed -to- perl
翻訳プログラムを簡単にできるようにするためだけあります。
翻訳された
.I sed
スクリプトの一貫性のサポートはしますが、このセマンティックスを私がいつ
変更するかわからないので、自らの責任で使って下さい。
全く使わない方が良いでしょう。
.Ip "grep(EXPR,LIST)" 8 4
LIST の各要素に対して (ローカルには各要素を $_ にセット) 、EXPR を
評価して、式が真であると評価された要素だけからなる配列を返します。
スカラのコンテキストでは、式が真になった回数を数値で返します。
.nf
@foo = grep(!/^#/, @bar); # コメントを除きます
.fi
$_ は配列値への参照なので、配列の要素を変更する場合に使えることを
覚えておきましょう。
これは便利ですが、LIST が名前のついた配列でないと、おかしな結果を
引き起こすことになります。
.Ip "hex(EXPR)" 8 4
.Ip "hex EXPR" 8
10 進値 EXPR を 16 進文字列にして返します。
(0 または 0x で始まる文字列を解釈するなら、oct() を参照して下さい。)
EXPR を省略すると $_ を使います。
.Ip "index(STR,SUBSTR,POSITION)" 8 4
.Ip "index(STR,SUBSTR)" 8 4
STR の中で、POSITION かそれ以降に最初に SUBSTR が現れる位置を返します。
POSITION を省略すると、文字列の先頭から検索します。
戻り値は、0 か $[ 変数に設定されたものがベースになります。
SUBSTR がみつからないと、ベースから 1 を引いた値を返し、通常 \-1 に
なります。
.Ip "int(EXPR)" 8 4
.Ip "int EXPR" 8
EXPR の整数部を返します。
EXPR が省略されると、$_ を使います。
.Ip "ioctl(FILEHANDLE,FUNCTION,SCALAR)" 8 4
これは、ioctl(2) 関数を実装しています。
正しい関数定義を得るには、多分始めの方で
.nf
require "ioctl.ph"; # 多分 /usr/local/lib/perl/ioctl.ph
.fi
と書かなければならないでしょう。
ioctl.ph が存在しないか、または正しく定義されていない場合、
<sys/ioctl.h> のような C のヘッダファイルから自分自身でなんとかしな
ければなりません。
(perl キットにある h2ph というスクリプトがこの助けになるでしょう。)
SCALAR は、FUNCTIONに依存して、参照または書き込みがされます。
FUNCTION \*(--SCALAR の文字列値へのポインタは、実際の ioctl 呼び出しの
第 3 引数に渡されます。
(SCALAR が文字列値でなく数値であった場合、文字列値へのポインタでなく
数値そのものが渡されます。これが真であることを保証するには、このスカラを
使う前に 0 を加えて下さい。)
ioctl() に使われる構造体の値を扱うには、pack() 関数と unpack() 関数が
便利です。
次の例は、DEL に erase 文字をセットします。
.nf
.ne 9
require 'ioctl.ph';
$sgttyb_t = "ccccs"; # chars 4 個と short 1 個
if (ioctl(STDIN,$TIOCGETP,$sgttyb)) {
@ary = unpack($sgttyb_t,$sgttyb);
$ary[2] = 127;
$sgttyb = pack($sgttyb_t,@ary);
ioctl(STDIN,$TIOCSETP,$sgttyb)
|| die "Can't ioctl: $!";
}
.fi
ioctl (と fcntl) の戻り値は以下の通りです:
.nf
.ne 4
OS の戻り値:\h'|3i'perlの戻り値:
-1\h'|3i' undefined 値
0\h'|3i' 文字列 "0 but true"
それ以外\h'|3i' その数
.fi
このように、perl は成功時に真を、失敗時に偽を返しますが、
オペレーティングシステムから返される実際の値も簡単に判定することができます:
.nf
($retval = ioctl(...)) || ($retval = -1);
printf "System returned %d\en", $retval;
.fi
.Ip "join(EXPR,LIST)" 8 8
.Ip "join(EXPR,ARRAY)" 8
分割されている LIST や ARRAY の文字列を、フィールドセパレータとして
値 EXPR をはさんだ一つの文字列につなげて、その文字列を返します。
例:
.nf
.ie t \{\
$_ = join(\|\':\', $login,$passwd,$uid,$gid,$gcos,$home,$shell);
'br\}
.el \{\
$_ = join(\|\':\',
$login,$passwd,$uid,$gid,$gcos,$home,$shell);
'br\}
.fi
.IR split
を参照して下さい。
.Ip "keys(ASSOC_ARRAY)" 8 6
.Ip "keys ASSOC_ARRAY" 8
名前のついた連想配列のすべてのキーからなる普通の配列を返します。
キーは、見かけ上ランダムな順で返されますが、values() 関数や each() 関数
(これによって連想配列は変更されません) が生成するものと同じ順になります。
以下は、環境変数を表示する別の方法です:
.nf
.ne 5
@keys = keys %ENV;
@values = values %ENV;
while ($#keys >= 0) {
print pop(@keys), \'=\', pop(@values), "\en";
}
キーでソートすると:
.ne 3
foreach $key (sort(keys %ENV)) {
print $key, \'=\', $ENV{$key}, "\en";
}
.fi
.Ip "kill(LIST)" 8 8
.Ip "kill LIST" 8 2
プロセスのリストにシグナルを送ります。
リストの最初の要素は、送られるシグナルでなければなりません。
シグナル送信に成功したプロセスの数を返します。
.nf
$cnt = kill 1, $child1, $child2;
kill 9, @goners;
.fi
シグナルが負の場合、プロセスの代わりにプロセスグループを kill します。
(System Vでは、負の \fIプロセス\fR 番号はプロセスグループも kill
しますが、互換性はありません。)
クォートでくくられたシグナル名も使えます。
.Ip "last LABEL" 8 8
.Ip "last" 8
.I last
コマンドは、(ループ内で使われるような) C の
.I break
文に似ていて、該当するループを直ちに終了します。
LABEL が省略されると、このコマンドは最も内側のループを抜けます。
.I continue
ブロックがあったとしても、実行されません:
.nf
.ne 4
line: while (<STDIN>) {
last line if /\|^$/; # ヘッダが終ったら抜けます
.\|.\|.
}
.fi
.Ip "length(EXPR)" 8 4
.Ip "length EXPR" 8
EXPR の値の文字列長を返します。
EXPR を省略すると、$_ の長さを返します。
.Ip "link(OLDFILE,NEWFILE)" 8 2
OLDFILE にリンクされた NEWFILE を作成します。
成功すると 1 を、失敗すると 0 を返します。
.Ip "listen(SOCKET,QUEUESIZE)" 8 2
listen システムコールと同じことを行ないます。
成功すると真を、失敗すると偽を返します。
プロセス間通信のセクションの例を参照して下さい。
.Ip "local(LIST)" 8 4
閉じたブロック、サブルーチン、eval 、\*(L"do\*(R" に局所的な
変数リストを宣言します。
リストされたすべての要素は左辺値として妥当なものでなければなりません。
この演算子は、LIST 内のその時点での変数を隠れたスタックに保存し、
ブロックやサブルーチンや eval を抜けるときに戻すように動作します。
これは、呼ばれたサブルーチンもグローバル変数でなく、ローカル変数を
参照することを意味します。
そうしたければ、LIST に代入してローカル変数を初期化してもかまいません。
(初期値が特定の値として与えられていなければ、undefined 値として
生成されます。)
普通、これはサブルーチンのパラメータに名前をつけるのに使われます。
例:
.nf
.ne 13
sub RANGEVAL {
local($min, $max, $thunk) = @_;
local($result) = \'\';
local($i);
# 多分 $thunk は $i を参照しています
for ($i = $min; $i < $max; $i++) {
$result .= eval $thunk;
}
$result;
}
.ne 6
if ($sw eq \'-v\') {
# グローバルな配列でローカルな配列を初期化します
local(@ARGV) = @ARGV;
unshift(@ARGV,\'echo\');
system @ARGV;
}
# @ARGV が元に戻されます
.ne 6
# 一時的に digits という連想配列に追加をしています。
if ($base12) {
# (注意: これが効率的と言いたいわけではありません)
local(%digits) = (%digits,'t',10,'e',11);
do parse_num();
}
.fi
local() は実行時のコマンドで、ループ終了時に全部を一度に開放するまでは、
ループを通るたびに実行され、毎回スタックを消費していきます。
.Ip "localtime(EXPR)" 8 4
.Ip "localtime EXPR" 8
time 関数に返された時刻を、ローカルタイムゾーンとして解析された 9 要素の
配列に変換します。
通常次のように使われます:
.nf
.ne 3
.ie t \{\
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
'br\}
.el \{\
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);
'br\}
.fi
すべての配列要素は数字で、構造体 tm から直接得られたものです。
これにより $mon は 0.\|.11 の範囲で $wday は 0.\|.6 の範囲であることに
なります。
EXPR を省略すると、localtime(time) を実行します。
.Ip "log(EXPR)" 8 4
.Ip "log EXPR" 8
EXPR の (底が
.IR e
の) 対数を返します。
EXPR を省略すると、$_ の log を返します。
.Ip "lstat(FILEHANDLE)" 8 6
.Ip "lstat FILEHANDLE" 8
.Ip "lstat(EXPR)" 8
.Ip "lstat SCALARVARIABLE" 8
stat() 関数と同じことを実行しますが、シンボリックリンクでは指している
先のファイルの代わりにシンボリックリンク自身の状態を返します。
シンボリックリンクが実装されていないシステムでは、通常の stat を
実行します。
.Ip "m/PATTERN/gio" 8 4
.Ip "/PATTERN/gio" 8
パターンマッチに合う文字列を検索し、真 (1) か偽 (\'\') を
返します。
=~ や !~ を介した文字列の指定がなければ、文字列 $_ が検索されます。
(=~ で指定された文字列は、左辺値である必要はありません。
式の評価結果でもかまいませんが、=~ はどちらかというと優先度が高いことを
覚えておいて下さい。)
正規表現のセクションを参照して下さい。
.Sp
/ が区切り文字である場合、始めの \*(L'm\*(R' は省略可能です。\*(L'm\*(R' が
あると、英数字以外のどの文字でも区切りにできます。
これは、特に \*(L'/\*(R' を含む UNIX のパス名へのマッチに便利です。
最後の区切りの後にオプション文字 \*(L'i\*(R' が続くと、マッチングが
大文字小文字の区別なく行なわれます。
PATTERN は、スカラ変数への参照を含んでいてもよく、それはパターン検索
が評価される毎に挿入されます (パターンはリコンパイルされます) 。
( $) と $| は文字列終端のテストに見えるため、挿入は行なわれません。)
パターンを一度だけコンパイルさせたい場合は、後ろの区切り文字
の後に \*(L"o\*(R" を加えて下さい。
これにより、余分な実行時再コンパイルを避けられるので、挿入したい値が
スクリプトの動いている間中、変わらないときには便利です。
PATTERN がヌル文字に評価されたときは、最後に成功した正規表現が代わりに
使われます。
.Sp
配列値が必要なコンテキストで使われると、パターンマッチはパターンの中で
マッチした subexpression を括弧でくくったものすなわち、
($1, $2, $3.\|.\|.)
からなる配列を返します。
この場合、実際には $1, $2 等をセットは*せず*、
$+, $`, $&, $' もセットしません。
マッチが失敗すると、ヌル配列が返ります。
マッチが成功しても括弧がないと、配列値 (1) が返ります。
.Sp
例:
.nf
.ne 4
open(tty, \'/dev/tty\');
<tty> \|=~ \|/\|^y\|/i \|&& \|do foo(\|); # y なら foo を実行
if (/Version: \|*\|([0\-9.]*\|)\|/\|) { $version = $1; }
next if m#^/usr/spool/uucp#;
.ne 5
# 恵まれない人の grep
$arg = shift;
while (<>) {
print if /$arg/o; # 一度だけコンパイル
}
if (($F1, $F2, $Etc) = ($foo =~ /^(\eS+)\es+(\eS+)\es*(.*)/))
.fi
この最後の例は、$foo を最初の二語と残りに split し、三つのフィールド
を $F1 、$F2 、$Etc に代入します。
どれかの変数が代入された場合、すなわちパターンがマッチした場合、
この条件は真となります。
.Sp
\*(L"g\*(R" 修飾子は、グローバルパターンマッチの指定です\*(--つまり、
文字列の中でできるだけ多くのマッチを行ないます。
どのように振舞うかは、コンテキストに依存します。
配列のコンテキストでは、正規表現の中ですべての括弧にマッチした文字列の
リストを返します。括弧がなければ、パターン全体を囲む括弧があるか
のようにマッチした文字列すべてのリストを返します。
スカラのコンテキストでは、文字列を通してマッチする毎に*真*を返し、
マッチしなかったとき*偽*を返します。 (言いかえると、最後にテストした
場所を覚えていて、そこから再び検索を始めるということです。)
最後のマッチから文字列が変更されていないことを仮定しています。
マッチとマッチの間で文字列を変更することは、未定義な動作を引き起こす
かもしれません。
(実際には substr()を使って、全文字列の長さを変えずにその場で変更する
なら、できます。しかし、一般にはそういう変更は s///g を使うべきです。)
例:
.nf
# 配列のコンテキスト
($one,$five,$fifteen) = (\`uptime\` =~ /(\ed+\e.\ed+)/g);
# スカラのコンテキスト
$/ = ""; $* = 1;
while ($paragraph = <>) {
while ($paragraph =~ /[a-z][\'")]*[.!?]+[\'")]*\es/g) {
$sentences++;
}
}
print "$sentences\en";
.fi
.Ip "mkdir(FILENAME,MODE)" 8 3
FILENAME で指定されたディレクトリを、(umask で修飾された) MODE で指定
されたパーミッションで作成します。
成功すると 1 を、失敗すると 0 を返し、$! (errno) をセットします。
.Ip "msgctl(ID,CMD,ARG)" 8 4
System V IPC 関数の msgctl を呼びます。 CMD が &IPC_STAT なら、ARG は
返された msqid_ds 構造を保持する変数でなければなりません。
ioctl のように、エラーのときは undefined 値を、0 のとき
には "0 but true" を、でなければ実際の戻り値を返します。
.Ip "msgget(KEY,FLAGS)" 8 4
System V IPC 関数の msgget を呼びます。成功時はメッセージキュー ID を、
エラーが起これば undefined value を返します。
.Ip "msgsnd(ID,MSG,FLAGS)" 8 4
System V IPC 関数の msgsnd を呼び、メッセージ MSGS をメッセージキュー
ID に送信します。 MSG は、pack("L", $type) で作られる long integer
のメッセージ型で始めなければなりません。成功すれば真を、エラーが起こる
と偽を返します。
.Ip "msgrcv(ID,VAR,SIZE,TYPE,FLAGS)" 8 4
System V IPC 関数 msgrcv を呼び、
メッセージキュー ID からメッセージを受け取り、
最大メッセージサイズ SIZE で変数 VAR に格納します。
メッセージを受け取ると、VAR に最初に格納されたものがメッセージ型
となり、VAR の最大長は、SIZE にメッセージ型のサイズを加えたものに
なることに注意して下さい。
成功すると真を、エラーでは偽を返します。
.Ip "next LABEL" 8 8
.Ip "next" 8
.I next
コマンドは、C の
.I continue
文と同様に、ループの次の繰り返しを始めます。
.nf
.ne 4
line: while (<STDIN>) {
next line if /\|^#/; # コメントを捨てます
.\|.\|.
}
.fi
上の例で
.I continue
ブロックがあると、行が捨てられた場合でも実行されることを覚えておいて
下さい。
LABEL が省略されると、このコマンドは最も内側のループを続けます。
.Ip "oct(EXPR)" 8 4
.Ip "oct EXPR" 8
10 進数 EXPR を、8 進文字列にして返します。
(EXPRが 0x で始まる文字列なら、10 進の代わりに 16 進として変換します。)
以下は、10 進、8 進、16 進の標準的な記法を扱います。
.nf
$val = oct($val) if $val =~ /^0/;
.fi
EXPR が省略されると、$_ を使います。
.Ip "open(FILEHANDLE,EXPR)" 8 8
.Ip "open(FILEHANDLE)" 8
.Ip "open FILEHANDLE" 8
EXPR で与えられたファイル名のファイルをオープンし、FILEHANDLE に結び
つけます。
FILEHANDLE が式の場合、その値を実際にファイルハンドルが求める名前
として使います。
EXPR が省略されると、FILEHANDLE と同名のスカラ変数が保持する値が
ファイル名となります。
ファイル名の前に \*(L"<\*(R" を付けるか、何も付けない場合、ファイルは
入力用にオープンされます。
ファイル名が \*(L">\*(R" で始まると、ファイルは出力用にオープンされます。
ファイル名が \*(L">>\*(R" で始まると、ファイルは追加書き込み用に
オープンされます。
(\'>\' や \'<\' の前に \'+\' を付けると、ファイルを読み書き両用に
できます。)
ファイル名が \*(L"|\*(R" で始まると、ファイル名は出力がパイプされる
コマンドと解釈され、ファイル名が \*(L"|\*(R" で終ると、入力が
パイプされるコマンドと解釈されます。
(入出力共パイプするコマンドは必要がないでしょう。) \'\-\' をオープンすると
.I STDIN
を、\'>\-\' をオープンすると
.IR STDOUT
をオープンします。
open は成功したとき、0 でない値を、失敗したとき undefined 値を
返します。
open がパイプを含む場合、戻り値はサブプロセスの pid となります。
例:
.nf
.ne 3
$article = 100;
open article || die "Can't find article $article: $!\en";
while (<article>) {\|.\|.\|.
.ie t \{\
open(LOG, \'>>/usr/spool/news/twitlog\'\|); # (ログ保存)
'br\}
.el \{\
open(LOG, \'>>/usr/spool/news/twitlog\'\|);
# (ログ保存)
'br\}
.ie t \{\
open(article, "caesar <$article |"\|); # 記事を decrypt
'br\}
.el \{\
open(article, "caesar <$article |"\|);
# 記事を decrypt
'br\}
.ie t \{\
open(extract, "|sort >/tmp/Tmp$$"\|); # $$ は現在のプロセス
'br\}
.el \{\
open(extract, "|sort >/tmp/Tmp$$"\|);
# $$ は現在のプロセス
'br\}
.ne 7
# 引数リストのファイルを、それがインクルードするものも
# 含めて処理します
foreach $file (@ARGV) {
do process($file, \'fh00\'); # no pun intended
}
sub process {
local($filename, $input) = @_;
$input++; # 文字列インクリメント
unless (open($input, $filename)) {
print STDERR "Can't open $filename: $!\en";
return;
}
.ie t \{\
while (<$input>) { # 間接指定に注意
'br\}
.el \{\
while (<$input>) { # 間接指定に注意
'br\}
if (/^#include "(.*)"/) {
do process($1, $input);
next;
}
.\|.\|. # 続く
}
}
.fi
Bourne shell の慣習により、EXPR は \*(L">&\*(R" で始めるような指定も
できます。その場合、文字列の残りはファイルハンドル (数字なら
ファイルディスクリプタ) の名前と解釈され、dup して open します。
>>, <, +>, +>>, +< の後に & を使ってもかまいません。
指定するモードは、元のファイルハンドルのモードと一致していなくては
なりません。
以下は、
.I STDOUT
.IR STDERR
を保存し、リダイレクトを行なって、その後で書き戻します:
.nf
.ne 21
#!/usr/bin/perl
open(SAVEOUT, ">&STDOUT");
open(SAVEERR, ">&STDERR");
open(STDOUT, ">foo.out") || die "Can't redirect stdout";
open(STDERR, ">&STDOUT") || die "Can't dup stdout";
select(STDERR); $| = 1; # バッファリングしません
select(STDOUT); $| = 1; # バッファリングしません
print STDOUT "stdout 1\en"; # これもサブプロセスで
print STDERR "stderr 1\en"; # 動作します
close(STDOUT);
close(STDERR);
open(STDOUT, ">&SAVEOUT");
open(STDERR, ">&SAVEERR");
print STDOUT "stdout 2\en";
print STDERR "stderr 2\en";
.fi
コマンド \*(L"\-\*(R" でパイプをオープンする、すなわち \*(L"|\-\*(R"
や \*(L"\-|\*(R" をオープンすると、暗黙のうちに fork され、open の
戻り値として親プロセスには、子プロセスの pid が返され、子プロセスには
0 が返されます。
(open が成功したかどうかは、defined($pid) を使って判断して下さい。)
ファイルハンドルは、親にとって普通の挙動をしますが、子には
.IR STDOUT / STDIN
にパイプされたファイルハンドルの i/o となります。
子プロセスでファイルハンドルがオープンされず、\*(--新しく
ファイルハンドルは、新しい
.I STDIN
から
.IR STDOUT
へのパイプとなります。
よく使われるのは、普通のパイプのオープンと同様、パイプコマンドの
実行状態をコントロールしたいとき、setuid されたプログラムを走らせるとき、
シェルコマンドでメタキャラクタのチェックをする必要がないときです。
次の二つは、それぞれある程度同等です:
.nf
.ne 5
open(FOO, "|tr \'[a\-z]\' \'[A\-Z]\'");
open(FOO, "|\-") || exec \'tr\', \'[a\-z]\', \'[A\-Z]\';
open(FOO, "cat \-n '$file'|");
open(FOO, "\-|") || exec \'cat\', \'\-n\', $file;
.fi
パイプされたファイルハンドルを明示的に close すると、親プロセスは
子プロセスが終了するのを待つことになり、$? に状態を返します。
fork を行う操作では、両方のプロセスでフラッシュされないバッファが
そのまま残ることに注意して下さい。これは、二重出力を避けるために $| を
セットした方が良いことを意味します。
.Sp
open に渡されたファイル名は、前後の空白が除かれます。
意図的に変な文字を含むファイル名を持つファイルをオープンしたいときは、
前後の空白もこのように守ってやる必要があります:
.nf
.ne 2
$file =~ s#^(\es)#./$1#;
open(FOO, "< $file\e0");
.fi
.Ip "opendir(DIRHANDLE,EXPR)" 8 3
EXPR という名前のディレクトリを readdir(), telldir(), seekdir(),
rewinddir(), closedir() で処理できるようにオープンします。
成功すると真を返します。
DIRHANDLE は、FILEHANDLE とは別個のそれ自身の名前空間を持ちます。
.Ip "ord(EXPR)" 8 4
.Ip "ord EXPR" 8
EXPR の最初の文字のアスキー値を数値で返します。
EXPR が省略されると、$_ を使います。
''' Comments on f & d by gnb@melba.bby.oz.au 22/11/89
.Ip "pack(TEMPLATE,LIST)" 8 4
配列または値のリストを引数に取り、バイナリ構造体にパックし、
構造体を含む文字列を返します。
TEMPLATE は値の順序と型を与える文字のシークエンスで、以下のように
なります:
.nf
A アスキー文字列(スペースが padding される)
a アスキー文字列(ヌルが padding される)
c signed char
C unsigned char
s signed short
S unsigned short
i signed integer
I unsigned integer
l signed long
L unsigned long
n short (\*(L"network\*(R" order)
N long (\*(L"network\*(R" order)
f 単精度浮動小数点 (native format)
d 倍精度浮動小数点 (native format)
p 文字列へのポインタ
v short (\*(L"VAX\*(R" (little-endian) order)
V long (\*(L"VAX\*(R" (little-endian) order)
x null byte
X Back up a byte
@ 絶対位置にまでヌルで埋める
u uuencode された文字列
b ビット文字列 (vec()のような昇順).
B ビット文字列 (降順).
h 16 進文字列 (低 nybble が先).
H 16 進文字列 (高 nybble が先).
.fi
どの文字も繰り返し回数を表す数を続けることができます。
"a", "A", "b", "B", "h", "H" 以外の型では、pack 関数は
LIST から回数を指定された数だけ値を取ります。
繰り返し数として * を使うと、残りすべての分だけ繰り返します。
"a" と "A" の型は値一つしか取りませんが、繰り返し指定を文字列長
として pack するので、ヌルや空白での padding が必要になります。
(unpack するときは、"A" は、後に続く空白を削りますが、"a" はしません。)
同様に、"b" と "B" フィールドは、指定したビット長を pack します。
"h" と "H" フィールドは、指定した長さの nybbles をパックします。
実数 (float と double) は、そのマシンの機械語フォーマットのみです。
浮動小数点フォーマット関係の多様性と標準の \*(L"network\*(R" 表現が
無いことから、交換することはできません。これは、
あるマシンで pack された浮動小数点データは、他のマシンでは、
たとえ両方が IEEE 浮動小数点数演算を行っていても
(メモリ表現の endian は IEEE の仕様には無いから)、
読めないかもしれないということを意味します。
perl は、すべての数値計算を内部的には double を用い、
double -> float -> double という変換は精度を失うだろうということに
注意して下さい
(すなわち、unpack("f",pack("f", $foo)) は一般に $foo にはなりません) 。
.br
例:
.nf
$foo = pack("cccc",65,66,67,68);
# foo は "ABCD"
$foo = pack("c4",65,66,67,68);
# 上と同じ
$foo = pack("ccxxcc",65,66,67,68);
# foo は "AB\e0\e0CD"
$foo = pack("s2",1,2);
# little-endian の "\e1\e0\e2\e0"
# big-endian の "\e0\e1\e0\e2"
$foo = pack("a4","abcd","x","y","z");
# "abcd"
$foo = pack("aaaa","abcd","x","y","z");
# "axyz"
$foo = pack("a14","abcdefg");
# "abcdefg\e0\e0\e0\e0\e0\e0\e0"
$foo = pack("i9pl", gmtime);
# 実際の tm 構造体 (少なくとも私のシステムでは)
sub bintodec {
unpack("N", pack("B32", substr("0" x 32 . shift, -32)));
}
.fi
一般に unpack 関数でも同じテンプレートが使われます。
.Ip "pipe(READHANDLE,WRITEHANDLE)" 8 3
相当するシステムコールのように一対の接続されたパイプをオープンします。
パイプでつながったプロセスのループを設定するときは、注意深くしないと
デッドロックを起こすことがあることに気をつけて下さい。
それに加えて、perl のパイプは標準入力のバッファリングを使うので、
アプリケーションに依っては、$| をセットして
コマンド毎に WRITEHANDLE をフラッシュする必要があるかもしれません。
[perl バージョン 3.0 パッチレベル 9 以上が必要]
.Ip "pop(ARRAY)" 8
.Ip "pop ARRAY" 8 6
配列の最後の値を取り出し、配列の長さを 1 だけ短くします。
.nf
$tmp = $ARRAY[$#ARRAY\-\|\-];
.fi
同じ結果となります。
配列に要素がない場合は、undefined 値を返します。
.Ip "print(FILEHANDLE LIST)" 8 10
.Ip "print(LIST)" 8
.Ip "print FILEHANDLE LIST" 8
.Ip "print LIST" 8
.Ip "print" 8
文字列または、カンマ区切りの文字列のリストを表示します。
成功すると、0 以外を返します。
FILEHANDLE は、ファイルハンドルの名前を保持したスカラ変数名でも
かまいません。これにより 1 レベルの間接指定ができます。
(注意: FILEHANDLE が変数で次のトークンが項の場合、+ を挿入するか
引数に括弧を付けないと、演算子として解釈の間違いをするかもしれません。)
FILEHANDLE が省略されると、デフォルトで標準出力 (または最後に select
された出力チャンネル\*(-- select()を参照して下さい) に出力します。
LIST が省略されると、$_ を
.IR STDOUT
に出力します。
デフォルト出力チャンネルを
.I STDOUT
以外に設定するには、select 演算子を使って下さい。
print は LIST を取るので、LIST の中のものは何でも配列のコンテキストで
評価され、サブルーチン呼び出しなら配列のコンテキストで評価された式を
持つことになるのを覚えておきましょう。
また、print キーワードの後に左括弧を置くときは、対応する右括弧が
print の引数の終りを示す
\*(--すなわち + を挿入するか、括弧をすべての引数に付ける
のでなければ、左括弧を置いてはいけません。
.Ip "printf(FILEHANDLE LIST)" 8 10
.Ip "printf(LIST)" 8
.Ip "printf FILEHANDLE LIST" 8
.Ip "printf LIST" 8
\*(L"print FILEHANDLE sprintf(LIST)\*(R" と同等です。
.Ip "push(ARRAY,LIST)" 8 7
ARRAY (@ は省略可能) をスタックとして扱い、LIST の値を ARRAY の終りに
追加します。
ARRAY の長さは、LIST の長さだけ増えます。
これは、以下と同じことになります。
.nf
for $value (LIST) {
$ARRAY[++$#ARRAY] = $value;
}
.fi
が、より効率的です。
.Ip "q/STRING/" 8 5
.Ip "qq/STRING/" 8
.Ip "qx/STRING/" 8
これは、実際には関数ではありませんが、クォートされた文字列に
バックスラッシュをたくさん置き過ぎるのを避けるための、単なる
簡略記法です。
q 演算子はシングルクォートを生成し、qq 演算子はダブルクォートを
生成します。
qx 演算子は、バッククォートを生成します。
英数字でない文字なら、改行を含めて何でも、/ の代わりに区切り文字
にできます。
区切りが ( か { なら、終了の区切りは、対応する ) か } になります。
(埋め込み文字としての } には通常通り \ が必要になります。)
例:
.nf
.ne 5
$foo = q!I said, "You said, \'She said it.\'"!;
$bar = q(\'This is it.\');
$today = qx{ date };
$_ .= qq
*** The previous line contains the naughty word "$&".\en
if /(ibm|apple|awk)/; # :-)
.fi
.Ip "rand(EXPR)" 8 8
.Ip "rand EXPR" 8
.Ip "rand" 8
ランダムな 0 から EXPR までの小数点数を返します。
(EXPR は正でなければなりません。)
EXPR が省略されると、0 から 1 の範囲の値が返されます。
srand() を参照して下さい。
.Ip "read(FILEHANDLE,SCALAR,LENGTH,OFFSET)" 8 5
.Ip "read(FILEHANDLE,SCALAR,LENGTH)" 8 5
指定された FILEHANDLE から、LENGTH バイトのデータを読み込み、変数
SCALAR に格納します。
実際に読み込めたバイト数を返し、エラーの場合は undef を返します。
SCALAR は実際に読み込まれた長さに合わせて、伸縮します。
読んだデータを文字列の始めでなく、他の場所に格納するために、OFFSET を
指定することもできます。
これは、実際には stdio の fread コールで実装されています。
本当の read システムコールを使うには、sysread を参照して下さい。
.Ip "readdir(DIRHANDLE)" 8 3
.Ip "readdir DIRHANDLE" 8
opendir() にオープンされたディレクトリ内の、次のディレクトリエントリを
返します。
配列のコンテキストの中で使うと、残りすべてのディレクトリエントリを
返します。
エントリが残っていない場合、スカラのコンテキストでは undefined が、
配列のコンテキストではヌルリストを返します。
.Ip "readlink(EXPR)" 8 6
.Ip "readlink EXPR" 8
シンボリックリンクが実装されていれば、シンボリックリンクの値を返します。
実装されていなければ、致命的エラーを返します。
システムエラーが起こったときは、undefined 値を返し、$! (errno) を
セットします。
EXPR を省略すると、$_ を使います。
.Ip "recv(SOCKET,SCALAR,LEN,FLAGS)" 8 4
ソケットからメッセージを受け取ります。指定した SOCKET ファイルハンドル
から、LENGTH バイトのデータを受け取り、変数 SCALAR に格納します。
sender のアドレスを返し、エラーの場合は undefined 値を返します。
SCALAR は、実際に読み込まれた長さに合わせて、伸縮します。
同名のシステムコールと同じフラグを用います。
.Ip "redo LABEL" 8 8
.Ip "redo" 8
.I redo
コマンドは、条件を再評価することなしに、ループブロックのコマンドを
再開します。
.I continue
ブロックがあっても実行されません。
LABEL が省略されると、最も内側のループを参照します。
通常このコマンドは、入力された内容について、自分自身をだますような
プログラムで使われます:
.nf
.ne 16
# 単純化した Pascal のコメント除去
# (警告: 文字列中には { や } はないものと仮定しています)
line: while (<STDIN>) {
while (s|\|({.*}.*\|){.*}|$1 \||) {}
s|{.*}| \||;
if (s|{.*| \||) {
$front = $_;
while (<STDIN>) {
if (\|/\|}/\|) { # コメント終了?
s|^|$front{|;
redo line;
}
}
}
print;
}
.fi
.Ip "rename(OLDNAME,NEWNAME)" 8 2
ファイル名を変更します。
成功すると 1 を、失敗すると 0 を返します。
ファイルシステムの境界を越えては働きません。
.Ip "require(EXPR)" 8 6
.Ip "require EXPR" 8
.Ip "require" 8
EXPR か EXPR が与えられなければ $_ で指定された、ライブラリファイルを
インクルードします。
以下のようなサブルーチンと同じ意味になります:
.nf
sub require {
local($filename) = @_;
return 1 if $INC{$filename};
local($realfilename,$result);
ITER: {
foreach $prefix (@INC) {
$realfilename = "$prefix/$filename";
if (-f $realfilename) {
$result = do $realfilename;
last ITER;
}
}
die "Can't find $filename in \e@INC";
}
die $@ if $@;
die "$filename did not return true value" unless $result;
$INC{$filename} = $realfilename;
$result;
}
.fi
同じ名前で指定されたファイルは、二度はインクルードされないことに
注意して下さい。
どの初期化コードの起動も成功したこと示すため、ファイルの最後の文で、
真を返さなければなりません。だから、慣習的にそういうファイルは、
必ず真を返すということが確かでなければ、\*(L"1;\*(R" で
終るようにします。
.Ip "reset(EXPR)" 8 6
.Ip "reset EXPR" 8
.Ip "reset" 8
一般にループの終りで変数をクリアするのに
.I continue
ブロックの中で使われ、再びそれが働くように ?? 検索をリセットします。
式は 1 文字ずつ分けてリストしたもの (ハイフンで範囲指定) として解釈されます。
それらの文字の一つで始まる変数や配列はみな初期状態にリセットされます。
式を省略すると、一度だけマッチする検索 (?pattern?) をリセットし、
再びマッチするようにします。
現パッケージ内の変数と検索のみをリセットします。
常に 1 を返します。
例:
.nf
.ne 3
reset \'X\'; \h'|2i'# すべての X 変数をリセットします
reset \'a\-z\';\h'|2i'# 小文字の変数すべてをリセットします。
reset; \h'|2i'# ?? 検索をリセットします。
.fi
注意: ARGV や ENV を消してしまうため、\*(L"A\-Z\*(R" をリセットする
のは勧められません。
.Sp
dbm 連想配列に reset を使っても、dbm ファイルを変更しません。
(しかし、perl がキャッシュしたエントリは皆フラッシュするので、
dbm ファイルを共有している場合は、便利です。便利でないかもしれませんが。)
.Ip "return LIST" 8 3
指定した値で、サブルーチンから返ります。
(サブルーチンは、自動的に最後に評価された式の値を返すことに
注意して下さい。
これは、好まれる方法です\*(--明示的な
.I return
の使用で、やや遅くなります。)
.Ip "reverse(LIST)" 8 4
.Ip "reverse LIST" 8
配列のコンテキストでは、LIST の要素を逆順に並べた配列を返します。
スカラのコンテキストでは、LIST の最初の要素のバイト列を逆順にした
文字列を返します。
.Ip "rewinddir(DIRHANDLE)" 8 5
.Ip "rewinddir DIRHANDLE" 8
DIRHANDLE に関し、readdir() で読み始める現在位置を、
ディレクトリの先頭にセットします。
.Ip "rindex(STR,SUBSTR,POSITION)" 8 6
.Ip "rindex(STR,SUBSTR)" 8 4
STR 内で、SUBSTR が最後に現れる位置を返す他は、index と全く同じに
動作します。
POSITION が指定されると、その位置の前で最後に現れた位置を返します。
.Ip "rmdir(FILENAME)" 8 4
.Ip "rmdir FILENAME" 8
FILENAME で指定されたディレクトリが空なら消去します。
成功すると 1 を、失敗すると 0 を返し、$! (errno) をセットします。
FILENAME が省略されると、$_ を使います。
.Ip "s/PATTERN/REPLACEMENT/gieo" 8 3
パターンに合う文字列を検索し、見つかると置換テキストに置き換えて、
置換が行なわれた数を返します。
でなければ、偽 (0) を返します。
\*(L"g\*(R" はオプションです。もしあれば、マッチしたパターンはすべて
置換されることを意味します。
\*(L"i\*(R" もオプションです。もしあれば、マッチングは大文字小文字の
区別なく行なわれることを意味します。
\*(L"e\*(R" もオプションです。もしあれば、置換文字列は
ダブルクォートで囲まれた文字列のようにというより、
式として評価されなければならないことを意味します。
英数字でない文字ならなんでも、/ に置き換えて区切り文字にできます。
シングルクォートが使われると、置換文字列の中で変数の挿入が
行なわれません (e 修飾子はこれに優先します)。
バッククォート ` が使われると、置換文字列はコマンドとして実行され、
その出力が実際の置換テキストとして使われることになります。
PATTERN が <>, () で区切られると、REPLACEMENT は、それ自身のクォートを
持ち、それは <>, () であっても、そうでなくても良いことになります。
例えば、s(foo)(bar) や s<foo>/bar/ のように。
=~ や !~ 演算子を介する文字列指定がされなかったときは、$_ 文字列が
検索、置換されます。
(=~ で指定された文字列は、スカラ変数、配列の要素、それらへの代入等で
なくてはなりません。すなわち左辺値ということです。)
パターンが、文字列の終りをテストする $ でなく、変数に見える $ を含む
場合は、その変数が実行時にパターンに挿入されます。
初回だけ変数が挿入されてコンパイルされるパターンを使いたいなら、
終りに \*(L"o\*(R" を付けて下さい。
PATTERN がヌル文字列に評価されたときは、代わりに最後に成功した正規表現
が使われます。
正規表現のセクションを参照して下さい。
例:
.nf
s/\|\e\|bgreen\e\|b/mauve/g; # wintergreen を変更しません
$path \|=~ \|s|\|/usr/bin|\|/usr/local/bin|;
s/Login: $foo/Login: $bar/; # 実行時パターン
($foo = $bar) =~ s/bar/foo/;
$_ = \'abc123xyz\';
s/\ed+/$&*2/e; # \*(L'abc246xyz\*(R' になる
s/\ed+/sprintf("%5d",$&)/e; # \*(L'abc 246xyz\*(R' になる
s/\ew/$& x 2/eg; # \*(L'aabbcc 224466xxyyzz\*(R' になる
s/\|([^ \|]*\|) *\|([^ \|]*\|)\|/\|$2 $1/; # 始めの2フィールドを交換
.fi
(最後の例では \|\e\| の代わりに $ を使っていることに注意。
正規表現のセクションを参照して下さい。)
.Ip "scalar(EXPR)" 8 3
EXPR を強制的にスカラのコンテキストで解釈させて、EXPR の値を返します。
.Ip "seek(FILEHANDLE,POSITION,WHENCE)" 8 3
FILEHANDLE のポインタを、丁度 stdio の fseek() のように任意の
位置にします。
FILEHANDLE は、ファイルハンドルの名前を与える式でもかまいません。
成功すると 1 を、失敗すると 0 を返します。
.Ip "seekdir(DIRHANDLE,POS)" 8 3
DIRHANDLE について readdir() の読む現在位置をセットします。
POS は、telldir() の返す値でなければなりません。
相当するシステムライブラリルーチン同様、directory compaction について
は同じ注意が必要です。
.Ip "select(FILEHANDLE)" 8 3
.Ip "select" 8 3
現在 select されたファイルハンドルを返します。
FILEHANDLE を与えられると、出力用の現在のデフォルトファイルハンドルを
セットします。
これには二つの効果があります。一つは、ファイルハンドルの無い
.I write
.I print
が、デフォルトでこの FILEHANDLE に行なわれるということです。
二つ目は、出力に関連する変数参照が、この出力チャンネルを参照する
ということです。
例えば、form フォーマットの先頭を、一つ以上の出力チャンネルに
セットしなければならないとき、次のようにすると良いでしょう:
.nf
.ne 4
select(REPORT1);
$^ = \'report1_top\';
select(REPORT2);
$^ = \'report2_top\';
.fi
FILEHANDLE は、実際のファイルハンドルの名前を与える式でもかまいません。
このように:
.nf
$oldfh = select(STDERR); $| = 1; select($oldfh);
.fi
.Ip "select(RBITS,WBITS,EBITS,TIMEOUT)" 8 3
これは、ビットマスクを指定して select システムコールを呼び出しします。
ビットマスクは、以下のように fileno() や vec() を使って作成されます。
.nf
$rin = $win = $ein = '';
vec($rin,fileno(STDIN),1) = 1;
vec($win,fileno(STDOUT),1) = 1;
$ein = $rin | $win;
.fi
たくさんのファイルハンドルを select したいときは、サブルーチンを書いた
方が良いかもしれません。
.nf
sub fhbits {
local(@fhlist) = split(' ',$_[0]);
local($bits);
for (@fhlist) {
vec($bits,fileno($_),1) = 1;
}
$bits;
}
$rin = &fhbits('STDIN TTY SOCK');
.fi
通常の使い方は、
.nf
($nfound,$timeleft) =
select($rout=$rin, $wout=$win, $eout=$ein, $timeout);
また、何かが ready となるまでブロックしておくには、こうなります。
.ie t \{\
$nfound = select($rout=$rin, $wout=$win, $eout=$ein, undef);
'br\}
.el \{\
$nfound = select($rout=$rin, $wout=$win,
$eout=$ein, undef);
'br\}
.fi
ビットマスクはどれも undef にもできます。
TIMEOUT は秒で指定され、小数点数でもかまいません。
注意: すべての実装で $timeleft を返せるわけではありません。
できない場合、常に与えられた $timeout に等しい値の $timeleft を
返します。
.Ip "semctl(ID,SEMNUM,CMD,ARG)" 8 4
System V IPC 関数の semctl を呼び出します。 CMD が &IPC_STAT か
&GETALL なら、ARG は返って来た semid_ds 構造体か、セマフォ値配列を
保持する変数でなければなりません。
ioctl 同様、エラーの場合 undefined 値が、0 の場合 "0 but true" が、
それ以外の場合実際の戻り値が返されます。
.Ip "semget(KEY,NSEMS,SIZE,FLAGS)" 8 4
System V IPC 関数 semget を呼び出します。セマフォ id を返し、エラーの
場合は undefined 値を返します。
.Ip "semop(KEY,OPSTRING)" 8 4
シグナルや wait のようなセマフォ操作を実行する System V IPC 関数 semop
を呼び出します。
OPSTRING は、semop 構造体に pack された配列でなければなりません。
各 semop 構造体は \&'pack("sss", $semnum, $semop, $semflag)' で
生成できます。セマフォ操作の数は、OPSTRING の長さによります。
成功すると真を、エラーでは偽を返します。例として、以下のコードでは
セマフォ id $semid のセマフォ $semnum を待ちます。
.nf
$semop = pack("sss", $semnum, -1, 0);
die "Semaphore trouble: $!\en" unless semop($semid, $semop);
.fi
セマフォにシグナルを送るには、"-1" を "1" にします。
.Ip "send(SOCKET,MSG,FLAGS,TO)" 8 4
.Ip "send(SOCKET,MSG,FLAGS)" 8
ソケットにメッセージを送ります。
同名のシステムコールと同じフラグを用います。
接続されていないソケットでは、送り先を TO として指定しなければ
なりません。送った文字数を返します。エラーの場合は undefined 値を
返します。
.Ip "setpgrp(PID,PGRP)" 8 4
指定した PID のカレントプロセスグループをセットします。 PID は、
カレントプロセスでは 0 です。
setpgrp(2) が実装されていないマシンでは、致命的エラーとなります。
.Ip "setpriority(WHICH,WHO,PRIORITY)" 8 4
プロセス、プロセスグループ、ユーザのカレントプライオリティを
セットします。 (setpriority(2) を参照して下さい。)
setpriority(2) が実装されていないマシンでは、致命的エラーになります。
.Ip "setsockopt(SOCKET,LEVEL,OPTNAME,OPTVAL)" 8 3
リクエストされたソケットオプションをセットします。
エラーでは undefined を返します。
引数を渡したいので無ければ、OPTVAL は undef 値を指定しても
かまいません。
.Ip "shift(ARRAY)" 8 6
.Ip "shift ARRAY" 8
.Ip "shift" 8
配列の最初の要素を配列から除き、その要素を返します。
配列は 1 だけ短くなり、他のすべての要素はずれます。
配列に要素がないときは、undefined 値を返します。
ARRAY を省略すると、メインプログラムでは @ARGV 配列を shift し、
サブルーチンでは @_ 配列を shift します。
(これは、辞書的に決められています)
unshift(), push(), pop() を参照して下さい。
shift() と unshift() は、push() と pop() が配列の右端に行なうのと
同じことを、配列の左端で行ないます。
.Ip "shmctl(ID,CMD,ARG)" 8 4
System V IPC 関数 shmctl を呼び出します。 CMD が &IPC_STAT のとき、
ARG は、返された shmid_ds 構造体を保持する変数でなくてはなりません。
ioctl 同様の戻り値を返します。エラーでは undefined 値を、0 では
"0 but true" を、それ以外では実際の値を返します。
.Ip "shmget(KEY,SIZE,FLAGS)" 8 4
System V IPC 関数 shmget を呼び出します。
共有メモリのセグメント id を返します。エラーでは、undefined 値を
返します。
.Ip "shmread(ID,VAR,POS,SIZE)" 8 4
.Ip "shmwrite(ID,STRING,POS,SIZE)" 8
Syste V の共有メモリセグメント ID を、位置 POS から始まる
サイズ SIZE にて attach し、copy in/out し、detach することで、読み込み
と書き込みを行ないます。
読み込み時、VAR は読まれたデータを保持する変数でなければ
なりません。書き込み時に、STRING が長過ぎると、SIZE バイトだけが
使われます。STRING が短過ぎると、SIZE バイトを埋めるのにヌルが
書き込まれます。成功すると真を、エラーでは偽を返します。
.Ip "shutdown(SOCKET,HOW)" 8 3
ソケット接続を HOW で指示された流儀に従ってシャットダウンします。
同名のシステムコールと同様に HOW を解釈します。
.Ip "sin(EXPR)" 8 4
.Ip "sin EXPR" 8
EXPR (ラジアンで表現) のサインを返します。
EXPR を省略すると $_ のサインを取ります。
.Ip "sleep(EXPR)" 8 6
.Ip "sleep EXPR" 8
.Ip "sleep" 8
EXPR 秒間スクリプトを止めます。 EXPR がなければ永久に止めます。
プロセスに SIGALRM を送ることで、割り込まれます。
実際に sleep した秒数を返します。
sleep() は、しばしば alarm() を使って実装されているので、おそらく
alarm() と sleep() は 混在させることはできないでしょう。
.Ip "socket(SOCKET,DOMAIN,TYPE,PROTOCOL)" 8 3
指定された種類のソケットをオープンして、ファイルハンドル SOCKET に
結びつけます。
DOMAIN, TYPE, PROTOCOL は、同名のシステムコールと同様に指定します。
perl ライブラリファイルから簡単に適当な値を得るには、h2ph を
sys/soket.h に対して実行する必要があるかもしれません。
成功すると真を返します。
プロセス間通信のセクションの例を参照して下さい。
.Ip "socketpair(SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL)" 8 3
指定されたドメインの指定された型で、無名のソケットペアを生成します。
DOMAIN, TYPE, PROTOCOL は、同名のシステムコールと同じように指定します。
実装されていない場合は、致命的エラーとなります。
成功すると真を返します。
.Ip "sort(SUBROUTINE LIST)" 8 9
.Ip "sort(LIST)" 8
.Ip "sort SUBROUTINE LIST" 8
.Ip "sort BLOCK LIST" 8
.Ip "sort LIST" 8
LIST をソートし、ソート済みの配列値を返します。
存在しない配列値は、削られます。
SUBROUTINE や BLOCK が省略されると、標準的な文字の比較による順でソート
します。
0 より小さい整数、0 、0 より大きい整数を返すような SUBROUTINE の名前
を指定すると、配列の要素の並べ方に従って順に並べ直します。
(<=> と cmp 演算子は、このようなルーチンでは非常に便利です)
SUBROUTINE は、スカラ変数名でもかまいません。その値として使用する
サブルーチンの名前が入っていれば良いのです。
SUBROUTINE 名の代わりに、BLOCK を指定して、
無名のインラインソートサブルーチンとして用いることもできます。
.Sp
効率を良くするため、通常のサブルーチン呼び出しコードをバイパスしています。
そのため、次のような影響があります。
サブルーチンは再帰的であってはならず、
比較される 2 要素は @_ を介してではなく、$a と $b を介して
サブルーチンに渡されます。 (以下の例を参照して下さい。)
これらは参照渡しなので、$a や $b を変更してはいけません。
.Sp
例:
.nf
.ne 2
# 辞書順のソート
@articles = sort @files;
.ne 2
# 同じものだが、明示的なソートルーチン
@articles = sort {$a cmp $b} @files;
.ne 2
# 同じものだが逆順
@articles = sort {$b cmp $a} @files;
.ne 2
# 数値的に昇順でソート
@articles = sort {$a <=> $b} @files;
.ne 2
# 数値的に降順でソート
@articles = sort {$b <=> $a} @files;
.ne 5
# 明示的にサブルーチン名を使ったソート
sub byage {
$age{$a} <=> $age{$b}; # 整数と仮定
}
@sortedclass = sort byage @class;
.ne 9
sub reverse { $b cmp $a; }
@harry = (\'dog\',\'cat\',\'x\',\'Cain\',\'Abel\');
@george = (\'gone\',\'chased\',\'yz\',\'Punished\',\'Axed\');
print sort @harry;
# AbelCaincatdogx と出力
print sort reverse @harry;
# xdogcatCainAbel と出力
print sort @george, \'to\', @harry;
# AbelAxedCainPunishedcatchaseddoggonetoxyz と出力
.fi
.Ip "splice(ARRAY,OFFSET,LENGTH,LIST)" 8 8
.Ip "splice(ARRAY,OFFSET,LENGTH)" 8
.Ip "splice(ARRAY,OFFSET)" 8
配列から OFFSET と LENGTH で指定された要素を除き、LIST の要素と
入れ替えます。
配列から除かれた要素を返します。
配列は必要に応じて伸縮されます。
LENGTH を省略すると、OFFSET から先はすべて除かれます。
以下は皆同等となります。 ($[ == 0 であると仮定した場合)
.nf
push(@a,$x,$y)\h'|3.5i'splice(@a,$#a+1,0,$x,$y)
pop(@a)\h'|3.5i'splice(@a,-1)
shift(@a)\h'|3.5i'splice(@a,0,1)
unshift(@a,$x,$y)\h'|3.5i'splice(@a,0,0,$x,$y)
$a[$x] = $y\h'|3.5i'splice(@a,$x,1,$y);
次の例では、配列長は配列の前に渡されると仮定しています:
sub aeq { # compare two array values
local(@a) = splice(@_,0,shift);
local(@b) = splice(@_,0,shift);
return 0 unless @a == @b; # 同じ長さ?
while (@a) {
return 0 if pop(@a) ne pop(@b);
}
return 1;
}
if (&aeq($len,@foo[1..$len],0+@bar,@bar)) { ... }
.fi
.Ip "split(/PATTERN/,EXPR,LIMIT)" 8 8
.Ip "split(/PATTERN/,EXPR)" 8 8
.Ip "split(/PATTERN/)" 8
.Ip "split" 8
文字列を文字列の配列に分けて、その配列を返します。
(配列のコンテキストではない場合、見つかったフィールドの数を返し、
split したものは @_ 配列に入れます。
(配列のコンテキストでは、パターン区切りとして ?? を使うことで強制的に
@_ に split させられますが、それでも配列値を返します。))
EXPR を省略すると、$_ 文字列を split します。
PATTERN も省略すると、空白文字 (/[\ \et\en]+/) で split します。
PATTERN にマッチするものは何でもフィールドを分ける区切りと解釈されます。
(区切りは 1 文字より長くてもよいことに注意して下さい。)
LIMIT が指定されると、それを越えない数に split されます (少ない場合も
あります) 。
LIMIT が指定されないと、後に続くヌルフィールドは除かれます
(pop()を使う人は良く覚えておいた方がよいでしょう) 。
ヌル文字にマッチするパターン (ヌルパターン // と混同しないで下さい。
// はヌル文字にマッチするパターンの一つにすぎません。) は、
マッチするすべての点で EXPR を一文字ずつに split します。
例えば:
.nf
print join(\':\', split(/ */, \'hi there\'));
.fi
は、\*(L'h:i:t:h:e:r:e\*(R' を出力します。
.Sp
LIMIT パラメータは、行を部分的に split することに使われます。
.nf
($login, $passwd, $remainder) = split(\|/\|:\|/\|, $_, 3);
.fi
(リストに代入するとき、LIMIT が省略されていると perl は不必要な動作を
避けるためにリストの変数の数より一つ大きい LIMIT を与えます。
上記のリストでは LIMIT はデフォルトで 4 だったはずです。
時間に制限のあるアプリケーションでは、本当に必要な数以上のフィールドに
は split しないようにすべきです。)
.Sp
PATTERN が括弧を含むときは、区切りとしてマッチする文字列により、
更に配列要素が作成されます。
.Sp
split(/([,-])/,"1-10,20");
.Sp
は以下の配列値を作ります。
.Sp
(1,'-',10,',',20)
.Sp
パターン /PATTERN/ は、実行時に変わるパターンを指定する式で
置き換え可能です。
(実行時コンパイルを一回にしたければ、/$variable/o を使って下さい。)
特別なケースとして空白 (\'\ \') を指定すると、引数無しで split する
場合と同様ですが、先頭に空白があってもヌルフィールドは作られません。
つまり split(\'\ \') は、
.IR awk
のデフォルトの動作をエミュレートすることができるわけで、split(/\ /)
は先頭に空白があると、最初にその数だけヌルフィールドを作ります。
.Sp
例:
.nf
.ne 5
open(passwd, \'/etc/passwd\');
while (<passwd>) {
.ie t \{\
($login, $passwd, $uid, $gid, $gcos, $home, $shell) = split(\|/\|:\|/\|);
'br\}
.el \{\
($login, $passwd, $uid, $gid, $gcos, $home, $shell)
= split(\|/\|:\|/\|);
'br\}
.\|.\|.
}
.fi
(上の例の $shell は改行文字を含みます。 chop() を参照して下さい。)
.IR join
を参照して下さい。
.Ip "sprintf(FORMAT,LIST)" 8 4
通常の printf 変換でフォーマットされる文字列を返します。
* 文字はサポートされていません。
.Ip "sqrt(EXPR)" 8 4
.Ip "sqrt EXPR" 8
EXPR の平方根を返します。
EXPR を省略すると、$_ の平方根を返します。
.Ip "srand(EXPR)" 8 4
.Ip "srand EXPR" 8
.I rand
演算子のために、乱数用の seed をセットします。
EXPR を省略すると、srand(time) を実行します。
.Ip "stat(FILEHANDLE)" 8 8
.Ip "stat FILEHANDLE" 8
.Ip "stat(EXPR)" 8
.Ip "stat SCALARVARIABLE" 8
EXPR という名前のファイルや FILEHANDLE でオープンされたファイルの
情報を示す 13 要素の配列を返します。
stat が失敗するとヌルリストを返します。
普通次のように使います:
.nf
.ne 3
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
= stat($filename);
.fi
stat に特殊ファイルハンドル _ を渡すと、stat は実行されず最後に
行なわれた stat やファイルテストで使われた stat 構造体の内容を
返します。
例:
.nf
.ne 3
if (-x $file && (($d) = stat(_)) && $d < 0) {
print "$file is executable NFS file\en";
}
.fi
(この例は、NFS 下でデバイス番号が負になるマシンでのみ動作します。)
.Ip "study(SCALAR)" 8 6
.Ip "study SCALAR" 8
.Ip "study"
SCALAR (指定しなければ $_) について、それが次に変更される前に多くの
パターンマッチを予想してあらかじめ行います。
検索をするパターンの性質や数、検索される文字列中の文字の出現頻度分布
によっては、時間を節約できるかもしれませんし、できないかもしれません。
\*(--多分これを使った場合と使わない場合で、実行時どちらが速いかを
比べてみたいでしょう。たくさんの短い定数文字列(より複雑なパターンの
定数部を含む)をスキャンするループで最も恩恵にあずかれるでしょう。
一度に一つの study しか効果がありません。\*(--別のスカラを study
すると、先に study したものは \*(L"unstudied\*(R" となってしまいます。
(study の動作の仕方は次の通りです: 検索される文字列のすべての文字の
リンクリストを作ります。そうすると例えば、どこに \*(L'k\*(R' の文字が
あるかがすべてわかるわけです。いくつかの C のプログラムと英文から
作成された統計頻度表に基づき、各検索文字について、最も頻度が少ない
文字を選びます。この \*(L"頻度が少ない\*(R" 文字を調べるのです。)
.Sp
次の例は、あるパターンを含むすべての行の前にインデックスを含むエントリを
挿入します:
.nf
.ne 8
while (<>) {
study;
print ".IX foo\en" if /\ebfoo\eb/;
print ".IX bar\en" if /\ebbar\eb/;
print ".IX blurfl\en" if /\ebblurfl\eb/;
.\|.\|.
print;
}
.fi
/\ebfoo\eb/ を検索するとき、\*(L'f\*(R' は \*(L'o\*(R' よりも頻度が
少ないため、$_ の中で \*(L'f\*(R' を含む位置が探されます。
一般に、病的な場合を除いて、これは非常にうまくいきます。
唯一、最初の時点でリンクリストを作成するためにかかる以上の
時間を節約できるかが問題になります。
.Sp
実行するまで解らない文字列を検索しなければならない場合、全ループを
一つの文字列として解析し eval することで、すべてのパターンを毎回
再コンパイルするのを避けることができることを覚えておきましょう。
それに加えて全ファイルが 1 レコードになるように $/ を undef すると、
大変速くなり、fgrep のように特殊化したプログラムより速くなることも
多いです。
以下の例は、ファイルのリスト (@files) と単語のリスト (@words) を
検索し、マッチするファイル名を出力します:
.nf
.ne 12
$search = \'while (<>) { study;\';
foreach $word (@words) {
$search .= "++\e$seen{\e$ARGV} if /\e\eb$word\e\eb/;\en";
}
$search .= "}";
@ARGV = @files;
undef $/;
eval $search; # これは(メモリ不足で)泣きそう
$/ = "\en"; # 普通の入力区切りに戻そう
foreach $file (sort keys(%seen)) {
print $file, "\en";
}
.fi
.Ip "substr(EXPR,OFFSET,LEN)" 8 2
.Ip "substr(EXPR,OFFSET)" 8 2
EXPR から部分文字列を取り出し、それを返します。
$[ をセットしない限り、最初の文字はオフセット 0 です。
OFFSET が負だと、文字列の終りから OFFSET だけ離れた位置から始めます。
LEN を省略すると、終端までのすべての文字列を返します。
substr() 関数は左辺値としても使えます。その場合 EXPR は左辺値
でなくてはなりません。
LEN より短いものを代入すると、文字列は短くなり、長いものを代入すると
それを含められるように長くなります。
文字列を同じ長さに保つためには、sprintf() を使ってパディングまたは
切り捨てをしなければならないかもしれません。
.Ip "symlink(OLDFILE,NEWFILE)" 8 2
OLDFILE へのシンボリックリンク NEWFILE を作成します。
成功すると 1 を、失敗すると 0 を返します。
シンボリックリンクをサポートしないシステムでは、実行時に致命的エラー
となります。
これをチェックするには、eval を使います:
.nf
$symlink_exists = (eval \'symlink("","");\', $@ eq \'\');
.fi
.Ip "syscall(LIST)" 8 6
.Ip "syscall LIST" 8
リストの最初の要素で指定されたものに、残りの要素を引数として付けて、
システムコールを呼び出します。
実装されていないと致命的エラーとなります。
引数は次のように解釈されます: 与えられた引数が数字なら、引数は
整数として渡されます。そうでなければ、文字列へのポインタが渡されます。
結果が受け取れるように、書き込まれるべき文字列を十分長くしておくのは、
あなたの責任です。
数字の引数がリテラルでなく、それまで数字のコンテキストで解釈されて
いなかったものなら、強制的に数字に見せるように、
0 を足す必要があるかもしれません。
.nf
# h2ph を実行しておく必要があるかもしれません
require 'syscall.ph';
syscall(&SYS_write, fileno(STDOUT), "hi there\en", 9);
.fi
.Ip "sysread(FILEHANDLE,SCALAR,LENGTH,OFFSET)" 8 5
.Ip "sysread(FILEHANDLE,SCALAR,LENGTH)" 8 5
システムコール read(2) を使って、指定した FILEHANDLE から
LENGTH バイトのデータを読み込み、変数 SCALAR に格納します。
これは標準入出力を経由しないので、read と混在して使うと、
混乱するかもしれません。
実際に読み込まれたバイト数を返します。エラーの場合は undef を返します。
SCALAR は実際に読み込まれた長さによって伸縮します。
文字列の始めでなく途中にデータを格納するように、OFFSET を指定できます。
.Ip "system(LIST)" 8 6
.Ip "system LIST" 8
\*(L"exec LIST\*(R" と全く同じことを行ないますが、違いは最初に fork が
実行されて、親プロセスは子プロセスが終了するのを待つことです。
引数の処理は、引数の数によって変わることに注意して下さい。
戻り値は、wait() で返るプログラムの終了時ステータスになります。
実際の終了時ステータスを得るには、256 で割って下さい。
.IR exec
を参照。
.Ip "syswrite(FILEHANDLE,SCALAR,LENGTH,OFFSET)" 8 5
.Ip "syswrite(FILEHANDLE,SCALAR,LENGTH)" 8 5
システムコール write(2) を使って、指定した FILEHANDLE に
変数 SCALAR から LENGTH バイトのデータを書き込みます。
これは標準入出力を経由しないので、print と混在して使うと、
混乱するかもしれません。
実際に書き込まれたバイト数を返します。エラーの場合は undef を返します。
OFFSET で、文字列の始めでなく途中からデータを読むように指定できます。
.Ip "tell(FILEHANDLE)" 8 6
.Ip "tell FILEHANDLE" 8 6
.Ip "tell" 8
FILEHANDLE の現在のファイル位置を返します。
FILEHANDLE は、実際のファイルハンドルの名前を与える式でもかまいません。
FILEHANDLE を省略すると、最後に読んだファイルを使います。
.Ip "telldir(DIRHANDLE)" 8 5
.Ip "telldir DIRHANDLE" 8
DIRHANDLE について readdir() ルーチンの現在の位置を返します。
この値は、ディレクトリの特定の位置をアクセスするために、seekdir() の
引数に使います。
相当するシステムライブラリルーチン同様、directory compaction について
は同じ注意が必要です。
.Ip "time" 8 4
1970 年 1 月 1 日 00:00:00 (UTC) からの通算の秒数(閏秒無し)を返します。
gmtime() や localtime() に使うことができます。
.Ip "times" 8 4
現在のプロセスと子プロセスのユーザ、システム時間(秒)からなる 4 要素の
配列を返します。
.Sp
($user,$system,$cuser,$csystem) = times;
.Sp
.Ip "tr/SEARCHLIST/REPLACEMENTLIST/cds" 8 5
.Ip "y/SEARCHLIST/REPLACEMENTLIST/cds" 8
SEARCHLIST にある文字が出現したら、すべて REPLACEMENTLIST の相当する
文字に変換します。
変換または削除された文字の数を返します。
=~ や !~ 演算子を介した文字列の指定をしなかった場合、$_ 文字列が
変換されます。
(=~ で指定した文字列は、スカラ変数か配列の要素かそれらへの代入
でなければいけません。つまり、左辺値ということになります。)
.I sed
信者のために、
.I tr
の別名
.I y
が用意されています。
SEARCHLIST が [], <>, () で区切られていると、REPLACEMENTLIST は、
それ自身のクォートを持ち、それは [], <>, () であっても、そうでなくても
良いことになります。例えば、
tr[A-Z][a-z] または tr(+-*/)/ABCD/ のようになります。
.Sp
c 修飾子が指定されると、SEARCHLIST の文字セットは補間されます。
d 修飾子が指定されると、SEARCHLIST で指定された文字で REPLACEMENTLIST
に対応するものがないものは皆、削除されます。
(これは、SEARCHLIST で見つかったものを何でも削除してしまう
ような
.I tr
プログラムの挙動よりも、やや柔軟です。)
s 修飾子が指定されると、変換されて同じ文字が続いたとき、
それを 1 文字に縮めます。
.Sp
d 修飾子が使われると、REPLACEMENTLIST は常に指定された通りに
解釈されます。それ以外の場合で、REPLACEMENTLIST が SEARCHLIST より
短いときは、同じ長さになるまで最後の文字が繰り返されます。
REPLACEMENTLIST がヌルだと、SEARCHLIST がコピーされます。
これは、あるクラスに含まれる文字をカウントしたり、あるクラスの文字の
重複を縮めるときに便利です。
.Sp
例:
.nf
$ARGV[1] \|=~ \|y/A\-Z/a\-z/; \h'|3i'# 小文字に統一します
$cnt = tr/*/*/; \h'|3i'# $_ の中の * を数えます
$cnt = tr/0\-9//; \h'|3i'# $_ の中の数字を数えます
tr/a\-zA\-Z//s; \h'|3i'# bookkeeper \-> bokeper
($HOST = $host) =~ tr/a\-z/A\-Z/;
y/a\-zA\-Z/ /cs; \h'|3i'# アルファベット以外を 1 文字の空白にします
tr/\e200\-\e377/\e0\-\e177/;\h'|3i'# 8 ビット目を消します
.fi
.Ip "truncate(FILEHANDLE,LENGTH)" 8 4
.Ip "truncate(EXPR,LENGTH)" 8
FILEHANDLE や EXPR の名前のファイルを指定した長さに切り詰めます。
システムに truncate が実装されていないと、致命的エラーになります。
.Ip "umask(EXPR)" 8 4
.Ip "umask EXPR" 8
.Ip "umask" 8
プロセスに umask をセットし、変更前の値を返します。
EXPR が省略されると、単に現在の umask を返します。
.Ip "undef(EXPR)" 8 6
.Ip "undef EXPR" 8
.Ip "undef" 8
EXPR の値を undefined とします。これは左辺値でなければなりません。
スカラ値、配列全体、サブルーチン名 (& を使う) の場合でのみ使えます。
(undef は、多分ほとんどの予約変数、dbm 配列値では期待する動作となりません。)
undef は、常に undefined 値を返します。
EXPR を省略することもできます。その場合は何も undef されませんが、
それでも undefined 値を得ることができます。
例えば、サブルーチンから return するときです。
例:
.nf
.ne 6
undef $foo;
undef $bar{'blurfl'};
undef @ary;
undef %assoc;
undef &mysub;
return (wantarray ? () : undef) if $they_blew_it;
.fi
.Ip "unlink(LIST)" 8 4
.Ip "unlink LIST" 8
リストに含まれるファイルを削除します。
削除に成功したファイルの数を返します。
.nf
.ne 2
$cnt = unlink \'a\', \'b\', \'c\';
unlink @goners;
unlink <*.bak>;
.fi
注意: unlink は、自分がスーパユーザで
.IR perl
.B \-U
フラグを付けている場合を除くとディレクトリを消去はしません。
これらの条件がそろったとしても、ディレクトリの unlink は
システムにダメージを与えることがあるので、気をつけて下さい。
代わりに rmdir を使って下さい。
.Ip "unpack(TEMPLATE,EXPR)" 8 4
unpack は pack の逆を行ないます: 構造体を示す文字列を引数に取り、
それを配列値に出力し、配列値を返します。
(スカラのコンテキストでは、生成された最初の値のみを返します。)
TEMPLATE は、pack 関数と全く同じフォーマットになります。
以下は、substr を実行するサブルーチンです:
.nf
.ne 4
sub substr {
local($what,$where,$howmuch) = @_;
unpack("x$where a$howmuch", $what);
}
.ne 3
そして、
sub ord { unpack("c",$_[0]); }
.fi
というのもあります。
更に、フィールドの前に %<数字> の添字を付けることにより、
項目そのものの代わりに、項目の<数字>ビットのチェックサムが欲しいと
いう指定になります。
デフォルトは、16 ビットのチェックサムです。
次の例で、System V の sum プログラムと同じ数が計算されます:
.nf
.ne 4
while (<>) {
$checksum += unpack("%16C*", $_);
}
$checksum %= 65536;
.fi
.Ip "unshift(ARRAY,LIST)" 8 4
視点によって、
.IR shift
の逆、または
.IR push
の逆を行ないます。
LIST を配列の前に付け加え、新しい配列の要素の数を返します。
.nf
unshift(ARGV, \'\-e\') unless $ARGV[0] =~ /^\-/;
.fi
.Ip "utime(LIST)" 8 2
.Ip "utime LIST" 8 2
リストの各ファイルのアクセス時刻と最終変更時刻を変えます。
リストの最初の二つの要素には、*数値*で表されたアクセス時刻と変更時刻が
この順で入っていなければなりません。
変更に成功したファイルの数が返ります。
各ファイルの inode 変更時刻には現在時間がセットされます。
以下は、\*(L"touch\*(R" コマンドの例です:
.nf
.ne 3
#!/usr/bin/perl
$now = time;
utime $now, $now, @ARGV;
.fi
.Ip "values(ASSOC_ARRAY)" 8 6
.Ip "values ASSOC_ARRAY" 8
名前付き連想配列のすべての値からなる普通の配列を返します。
値は、見かけ上ランダムな順で返るように見えますが、同じ連想配列に対して、
keys() 関数 や each() 関数が生成するものと同じ順になります。
keys() と each() を参照して下さい。
.Ip "vec(EXPR,OFFSET,BITS)" 8 2
文字列を unsigned integer のベクトルとして扱い、指定した
ビットフィールドの値を返します。
代入もできます。
BITSは、2 の累乗で 1 から 32 まででなければなりません。
.Sp
vec() に生成されたベクトルは、論理演算子 |, &, ^ で操作することができ、
両方のオペランドが文字列のとき、
ビットベクトル演算をするものとみなされます。
古いプログラムを守るために、プログラム中に少なくとも一つの vec() が
ないと、この解釈はなされません。
.Sp
ビットベクトルを 0 や 1 の文字列や配列に変換するには、
以下を使って下さい:
.nf
$bits = unpack("b*", $vector);
@bits = split(//, unpack("b*", $vector));
.fi
ビットの正確な長さがわかるならば、* の代わりに使うことができます。
.Ip "wait" 8 6
子プロセスが終了するのを待ち、死んだプロセスの pid を返します。
子プロセスがないときは、-1 を返します。
終了時ステータスは $? に返されます。
.Ip "waitpid(PID,FLAGS)" 8 6
特定の子プロセスが終了するのを待ち、死んだプロセスの pid を返します。
そのような子プロセスがなければ、-1 を返します。
終了時ステータスは $? に返されます。
次のように書くと、
.nf
require "sys/wait.h";
.\|.\|.
waitpid(-1,&WNOHANG);
.fi
どのプロセスに対しても、non-blocking wait を実行できます。
non-blocking wait は、
.I waitpid (2)
か、または
.I wait4 (2)
システムコールをサポートしているマシンでのみ使えます。
しかし、FLAGS 0 での 特殊な pid の wait はどこでも実装されています。
(perl は、終了したものの perl スクリプトには採り入れられていない
プロセスのステータス値を覚えていることでシステムコールをエミュレート
します。)
.Ip "wantarray" 8 4
現在実行しているサブルーチンのコンテキストが配列値なら真を返します。
スカラのコンテキストに見えれば、偽を返します。
.nf
return wantarray ? () : undef;
.fi
.Ip "warn(LIST)" 8 4
.Ip "warn LIST" 8
\*(L"die\*(R" と同じようなメッセージを標準エラー出力に出しますが、
終了しません。
.Ip "write(FILEHANDLE)" 8 6
.Ip "write(EXPR)" 8
.Ip "write" 8
指定したファイルに、関連付けられたフォーマットを使って、
フォーマットレコード (複数行も可) を書き込みます。
デフォルトで、フォーマットはファイルハンドルと同じ名前を持つものに
なりますが、$~ 変数にフォーマットの名前を明示的に割り当てることで、
現在の出力チャンネル (
.IR select
を参照して下さい) に対するフォーマットをセットしてもかまいません。
.Sp
最上位の form 生成は自動的に行なわれます:
フォーマットされたレコードに対して、現在のページに十分な空きがない
場合、改頁が書き込まれて、次のページに移ります。
新しいページのヘッダには、特別なページ先頭フォーマットが使われ、
その後レコードが書き込まれます。
デフォルトでページ先頭フォーマットは、
ファイルハンドルの名前に \*(L"_TOP\*(R" を付け加えたものになりますが、
ファイルハンドルが select されているときは、$^ 変数に名前を割り当てる
ことで、好きなフォーマットを動的にセットしてもかまいません。
現在のページに残っている行数は、変数 $- に保持されていますが、0 を
セットすることがで、強制的に新しいページに移ることができます。
.Sp
FILEHANDLE が指定されないと、現在のデフォルト出力チャンネルに
出力されます。デフォルト出力は、起動時
.I STDOUT
ですが、
.I select
演算子で変更できます。
FILEHANDLE が EXPR のとき、その式が実行時に評価され、結果の文字列が
FILEHANDLE の名前として用いられます。
フォーマットについての詳細は、後述のフォーマットのセクションを
参照して下さい。
.Sp
write は read の*逆ではない*ことに注意して下さい。
.Sh "優先度"
.I perl
の演算子は次のような結合規則と優先度を持っています:
.nf
なし\h'|1i'print printf exec system sort reverse
\h'1.5i'chmod chown kill unlink utime die return
左から右\h'|1i',
右から左\h'|1i'= += \-= *= など
右から左\h'|1i'?:
なし\h'|1i'.\|.
左から右\h'|1i'||
左から右\h'|1i'&&
左から右\h'|1i'| ^
左から右\h'|1i'&
なし\h'|1i'== != <=> eq ne cmp
なし\h'|1i'< > <= >= lt gt le ge
なし\h'|1i'chdir exit eval reset sleep rand umask
なし\h'|1i'\-r \-w \-x など
左から右\h'|1i'<< >>
左から右\h'|1i'+ \-
左から右\h'|1i'* / % x
左から右\h'|1i'=~ !~
右から左\h'|1i'! ~ 単項の-
右から左\h'|1i'**
なし\h'|1i'++ \-\|\-
左から右\h'|1i'\*(L'(\*(R'
.fi
始めの方で述べたように、リストを引数にする演算子 (print 他) や、
任意の単項演算子 (chdir 他) のすぐ後に同じ行の次のトークンとして
左括弧がある場合、括弧の中の演算子と引数は、丁度通常の
ファンクションコールと同様に再優先とみなされます。
例:
.nf
chdir $foo || die;\h'|3i'# (chdir $foo) || die
chdir($foo) || die;\h'|3i'# (chdir $foo) || die
chdir ($foo) || die;\h'|3i'# (chdir $foo) || die
chdir +($foo) || die;\h'|3i'# (chdir $foo) || die
しかし、* は || よりも優先度が高いので:
chdir $foo * 20;\h'|3i'# chdir ($foo * 20)
chdir($foo) * 20;\h'|3i'# (chdir $foo) * 20
chdir ($foo) * 20;\h'|3i'# (chdir $foo) * 20
chdir +($foo) * 20;\h'|3i'# chdir ($foo * 20)
rand 10 * 20;\h'|3i'# rand (10 * 20)
rand(10) * 20;\h'|3i'# (rand 10) * 20
rand (10) * 20;\h'|3i'# (rand 10) * 20
rand +(10) * 20;\h'|3i'# rand (10 * 20)
.fi
括弧がないと、print, sort, chmod といったリストを引数に持つ演算子は、
演算子の左側を見ているか右側を見ているかによって、非常に高くも
非常に低くもなります。
例えば、次の例で
.nf
@ary = (1, 3, sort 4, 2);
print @ary; # 1324 を出力
.fi
sort の右側のコンマは、sort の前に評価されますが、左側のコンマは、
後で評価されます。
言い換えると、リストを引数に取る演算子は、それに続くすべての引数を
拾う傾向にあり、前の式にしたがって単一の命令語のように振舞います。
括弧に注意深くなければいけないことを覚えておいて下さい:
.nf
.ne 3
# これらを評価すると、print を実行する前に exit します。
print($foo, exit); # 明らかにやりたいこととは違います
print $foo, exit; # これもそう
.ne 4
# これらは、exit を評価する前に print を実行します。
(print $foo), exit; # これはやりたいことです
print($foo), exit; # これもそう
print ($foo), exit; # さらにこれも
また、これは
print ($foo & 255) + 1, "\en";
.fi
多分一目見て期待する動作とは違うことを実行するでしょう。
.Sh "サブルーチン"
サブルーチンは次のように宣言されます:
.nf
sub NAME BLOCK
.fi
.PP
ルーチンに渡されたすべての引数は、配列 @_ に入ります。
これは、($_[0], $_[1], .\|.\|.) です。
配列 @_ はローカル配列ですが、その値は実際のスカラパラメータへの参照
になります。
サブルーチンの戻り値は、最後の式が評価されたときの値で、配列値にも
スカラ値にもなり得ます。
また、リターン文は戻り値を指定してサブルーチンを抜けることにも
使われます。
ローカル変数を作成するには、
.I local
演算子を参照して下さい。
.PP
サブルーチンは、
.I do
演算子かまたは & 演算子を使って呼ばれます。
.nf
.ne 12
例:
sub MAX {
local($max) = pop(@_);
foreach $foo (@_) {
$max = $foo \|if \|$max < $foo;
}
$max;
}
.\|.\|.
$bestday = &MAX($mon,$tue,$wed,$thu,$fri);
.ne 21
例:
# 行を取得し、空白で始まる行は
# 続きの行として結合されます。
sub get_line {
$thisline = $lookahead;
line: while ($lookahead = <STDIN>) {
if ($lookahead \|=~ \|/\|^[ \^\e\|t]\|/\|) {
$thisline \|.= \|$lookahead;
}
else {
last line;
}
}
$thisline;
}
$lookahead = <STDIN>; # 最初の行を取得します
while ($_ = do get_line(\|)) {
.\|.\|.
}
.fi
.nf
.ne 6
引数に名前を付けるには、ローカルリストへの配列の代入を使います:
sub maybeset {
local($key, $value) = @_;
$foo{$key} = $value unless $foo{$key};
}
.fi
代入は値をコピーするので、これは参照呼び出しを値呼び出しに換える効果も
あります。
.Sp
サブルーチンは再帰的に呼び出せます。
サブルーチンが & の型を使って呼び出されるとき、引数リストは省略
できます。
省略されると、サブルーチンには @_ 配列がセットされません;
その代わり、呼び出し時に @_ 配列は、サブルーチンには可視となります。
.nf
do foo(1,2,3); # 三つの引数を渡します
&foo(1,2,3); # 上と同じです
do foo(); # ヌルリストを渡します
&foo(); # 上と同じです
&foo; # 引数を渡しません\*(--より効率的
.fi
.Sh "参照渡し"
サブルーチンへ配列の値を渡すのではなく、その名前を渡して、サブルーチン
がローカルなコピーに対してではなくグローバルな配列を変更できるように
したいときがあるでしょう。
perl では名前を持つすべてのオブジェクトに対して、その名前の前に * を
つけて参照できます: *foo のように。
これが評価されると、ファイルハンドル、フォーマット、サブルーチンを含む、
その名前を持つすべてのオブジェクトを表すスカラ値となります。
local() 演算子に代入されたとき、その名前がそれに代入された * 値を
参照するようになります。
例:
.nf
sub doubleary {
local(*someary) = @_;
foreach $elem (@someary) {
$elem *= 2;
}
}
do doubleary(*foo);
do doubleary(*bar);
.fi
*name への代入は今のところ local() の中でしか勧められません。
実際には *name への代入はどこででもできますが、それ以前の *name への
参照が永遠に尾を引くかもしれません。
これにより困ったことになるかもしれませんし、ならないかもしれません。
.Sp
スカラはすでに参照渡しですが、このメカニズムを用いなくても、
関心のある $_[nnn] への明示的な参照を行うことで、スカラの引数を
変更することができます。
すべての要素をスカラで渡すことで、すべての配列の要素を変更することが
できますが、push や pop 、配列のサイズの変更には * メカニズムを
使わなければなりません。
どんな場合でも、* メカニズムは多分、より効率が良いはずです。
.Sp
*name 値は表示不能なバイナリデータを含むので、print の引数または printf
や sprintf の %s 引数として使われると、表示を綺麗にするため '*name' と
いう値になります。
.Sp
通常 LIST メカニズムはすべての配列値をマージしてしまって、個々の配列を
取り出せなくなってしまうので、配列を変更したくないとしても、
このメカニズムは一つの LIST にたくさんの配列を渡すのに便利です。
.Sh "正規表現"
パターンマッチで使われるパターンは、バージョン 8 regexp ルーチンで供給
されているものと同じ正規表現です。
(実際、このルーチンは Henry Spencer の自由に再配布可能な再実装 V8 ルーチン
から抜き取って使われています。)
それに加えて、\ew は英数字 (\*(L"_\*(R" を含む) にマッチし、
\eW は非英数字にマッチします。
単語境界は \eb に、非単語境界は \eB に。
空白文字は \es に、非空白文字は \eS に。
数字は \ed に、非数字は \eD にマッチします。
\ew, \es, \ed はキャラクタクラスでも使えます。
また、\en, \er, \ef, \et, \eNNN は通常と同じ意味となります。
キャラクタクラスの中では、\eb は単語境界ではなく、
バックスペースを表します。
選択候補は、| で区切ります。
括弧構造 \|(\ .\|.\|.\ \|) を使うと、\e<数字> はその数字番目の
部分文字列にマッチします。
(パターンの外では、数字の前に \e の代わりに常に $ を用いなければ
なりません。$<数字> (と $\`, $&, $\') の有効範囲は、閉じたブロックの
終りか、eval 文字列か、次のパターンマッチまでとなります。
\e<数字> 記述は、ときに現在のパターンの外に作用しますが、それに頼って
はいけません。)
括弧は好きなだけたくさん使ってかまいません。9 個以上の部分文字列が
あると、変数 $10, $11, ... が対応する部分文字列を参照します。
後方参照の前に少なくともその数の左括弧があると、パターンの中では、
\e10, \e11 等が部分文字列を後方参照します。
そうでなければ (以前との互換性のために) \e10 は \e010 のバックスペースと
同じ、\e11 は \e011 のタブと同じというようになります。
(\e1 から \e9 は常に後方参照です。)
.PP
$+ は、最後の括弧でマッチしたものを返します。
$& は、マッチした文字列全体を返します。
($0 が同じものを返していましたが、今は違います。)
$\` はマッチした文字列の前の全文字列を返します。
$\' はマッチした文字列の後の全文字列を返します。
例:
.nf
s/\|^\|([^ \|]*\|) \|*([^ \|]*\|)\|/\|$2 $1\|/; # 最初の二語を交換
.ne 5
if (/\|Time: \|(.\|.\|):\|(.\|.\|):\|(.\|.\|)\|/\|) {
$hours = $1;
$minutes = $2;
$seconds = $3;
}
.fi
デフォルトで、^ 文字は文字列の先頭に、$ 文字は文字列の最後
(または最後の改行文字の前) にマッチすることが保障されており、
.I perl
は文字列が一行しか含んでいないという仮定のもとで、
ある最適化を行なっています。
改行が埋め込まれた場合の ^ や $ の振舞いは、矛盾を生じるでしょう。
しかし、^ が文字列内の任意の改行の後に、$ が改行の前にマッチするよう
な、文字列を複数行バッファとして使いたい場合があるかもしれません。
少々のオーバヘッドを覚悟すれば、変数 $* に 1 をセットすることで、
それができます。
$* を 0 に設定し直せば、
.I perl
は元の動作に戻ります。
.PP
複数行の置換を用意にするために、. 文字は改行文字にはマッチしません
(たとえ $* が 0 であっても) 。
特に次の例では、改行文字が $_ 文字列に残ります:
.nf
$_ = <STDIN>;
s/.*(some_string).*/$1/;
改行文字が要らないなら、次のどれかを試して下さい。
s/.*(some_string).*\en/$1/;
s/.*(some_string)[^\e000]*/$1/;
s/.*(some_string)(.|\en)*/$1/;
chop; s/.*(some_string).*/$1/;
/(some_string)/ && ($_ = $1);
.fi
正規表現のどの要素の後でも中括弧で囲んだ数字を {n,m} の形で
置くことができ、n で要素がマッチする最小の回数を、m で最大の回数を
指定します。
{n} の形は、{n,n} と同等で、正確に n 回にマッチします。
{n,} の形は、n 回以上にマッチします。
(中括弧が他のコンテキストの中に出て来た場合は、通常の文字として
扱われます。)
* 修飾子は {0,} と、+ 修飾子は {1,} と、? 修飾子は {0,1} と
同等となります。
n と m のサイズには制限がありませんが、大きい数字はより多くのメモリを
消費するでしょう。
.Sp
.I perl
では、
\eb, \ew, \en のような
バックスラッシュのつくメタキャラクタは、すべて英数字であること
に気がつかれることでしょう。
他の正規表現言語とは違って、英数字でないバックスラッシュシンボルは
ありません。
従って、\e\e, \e(, \e), \e<, \e>, \e{, \e} というようなものは皆、
メタキャラクタではなく、文字そのものとして解釈されます。
これにより、メタキャラクタに含まれるのではないかと心配になるような
文字列をパターンに使って、引用することが容易になります。
英数字でないすべての文字の引用は、このようにします:
.nf
$pattern =~ s/(\eW)/\e\e$1/g;
.fi
.Sh "フォーマット"
.I write
演算子で使う出力レコードフォーマットは、次のように
宣言します:
.nf
.ne 3
format NAME =
FORMLIST
.
.fi
NAME を省略すると、\*(L"STDOUT\*(R" フォーマットが定義されます。
FORMLIST は複数行から成り、各行は次の三つの型のいずれかとなります:
.Ip 1. 4
コメント
.Ip 2. 4
一つの出力行のフォーマットを示す \*(L"picture\*(R" 行
.Ip 3. 4
picture 行に値を与える引数行
.PP
picture 行は、その中で値が置換される特定のフィールドを除けば、
見た目そのままに出力されます。
各 picture フィールドは、@ か ^ で始まります。
@ フィールド (配列の先頭の @ と混乱しないように) は通常の場合
で、^ フィールドは基本的な複数行テキストブロックを埋めるのに
使われます。
フィールドの長さは、<, >, | の繰り返しで埋めることで指定し、それぞれ
左寄せ、右寄せ、センタリングを意味します。
右寄せの別な形として、# 文字を (それに . を付けても良い)
数字フィールドの指定として使うこともできます。
(@ のかわりに ^ を使うと、undefined なフィールドが空白になります。)
これらのフィールドに与えられた値が改行を含むと、改行までのテキスト
のみが出力されます。
特殊フィールド @* は複数行の値の出力に使われます。
その行に書かれているのは @* だけでなくてはいけません。
.PP
値は、次の行で指定され、picture フィールドと同じ順となります。
値はカンマで区切られていなければなりません。
.PP
@ でなく ^ で始まる picture フィールドは、特別な扱いになります。
指定する値は、テキスト文字列が入っているスカラ変数名でなければ
いけません。
.I perl
は、フィールドに入れられるだけたくさんのテキストを入れ、変数が次に参照
されるときに続きが出力されるように、文字列の先頭からそのテキストを削ります。
通常、テキストのブロックを出力するには、垂直なスタックの中にフィールド
の一続きを入れて使います。
全部を入れるにはテキストが長すぎるとき、そうしたければ
最後のフィールドを .\|.\|. で終らせることもできます。
変数 $: を好きな文字のリストにすることで、テキストを分割する文字を
変えることができます。
.PP
^ フィールドを使うと、可変長のレコードを生成するので、テキストの
フォーマットを短くしたいとき、チルダ (~) 文字を行のどこかに入れて
空行を抑制することができます。
(可読性を高めるため、普通はできれば行頭に入れるべきです。)
チルダは出力時には空白に変換されます。
一つ目に続けて二つ目のチルダを書くと、行中のすべてのフィールドが
なくなるまで、その行を繰り返します。
(いろいろな @ のフィールドを使うとき、与える式はいつも同じ値ではない方が
良いでしょう。)
.PP
例:
.nf
.lg 0
.cs R 25
.ft C
.ne 10
# /etc/passwd ファイルの形式
format STDOUT_TOP =
\& Passwd File
Name Login Office Uid Gid Home
------------------------------------------------------------------
\&.
format STDOUT =
@<<<<<<<<<<<<<<<<<< @||||||| @<<<<<<@>>>> @>>>> @<<<<<<<<<<<<<<<<<
$name, $login, $office,$uid,$gid, $home
\&.
.ne 29
# バグレポート形式
format STDOUT_TOP =
\& Bug Reports
@<<<<<<<<<<<<<<<<<<<<<<< @||| @>>>>>>>>>>>>>>>>>>>>>>>
$system, $%, $date
------------------------------------------------------------------
\&.
format STDOUT =
Subject: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $subject
Index: @<<<<<<<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $index, $description
Priority: @<<<<<<<<<< Date: @<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $priority, $date, $description
From: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $from, $description
Assigned to: @<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $programmer, $description
\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $description
\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $description
\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $description
\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\& $description
\&~ ^<<<<<<<<<<<<<<<<<<<<<<<...
\& $description
\&.
.ft R
.cs R
.lg
.fi
同じ出力チャンネルに対して、write を使って出力を混ぜることはできます
が、$\- (ページの残り行数) を自分でいじらなければなりません。
.PP
ほとんどが空白のフィールドがたくさんあるとき、
レコード間で reset 演算子を使うことを考えるべきです。
効率的であるというだけでなく、別のフィールドを加えてしまい、0 に
し忘れてしまうというバグを防ぐことができます。
.Sh "プロセス間通信"
perl の プロセス間通信(IPC)の能力は Berkeley のソケット機構に
基づいています。
ソケットが無ければ、このセクションは無視できます。
この呼び出しは、同名のシステムコールに相当しますが、
二つの理由で大抵引数は異なります。
一つ目は、perl のファイルハンドルは C ファイルディスクリプタとは
異なる動作をするということです。
二つ目は、perl は文字列の長さを知っているので、その情報を渡さなくても
良いということです。
以下がクライアントのサンプル (未テスト) です:
.nf
($them,$port) = @ARGV;
$port = 2345 unless $port;
$them = 'localhost' unless $them;
$SIG{'INT'} = 'dokill';
sub dokill { kill 9,$child if $child; }
require 'sys/socket.ph';
$sockaddr = 'S n a4 x8';
chop($hostname = `hostname`);
($name, $aliases, $proto) = getprotobyname('tcp');
($name, $aliases, $port) = getservbyname($port, 'tcp')
unless $port =~ /^\ed+$/;
.ie t \{\
($name, $aliases, $type, $len, $thisaddr) = gethostbyname($hostname);
'br\}
.el \{\
($name, $aliases, $type, $len, $thisaddr) =
gethostbyname($hostname);
'br\}
($name, $aliases, $type, $len, $thataddr) = gethostbyname($them);
$this = pack($sockaddr, &AF_INET, 0, $thisaddr);
$that = pack($sockaddr, &AF_INET, $port, $thataddr);
socket(S, &PF_INET, &SOCK_STREAM, $proto) || die "socket: $!";
bind(S, $this) || die "bind: $!";
connect(S, $that) || die "connect: $!";
select(S); $| = 1; select(stdout);
if ($child = fork) {
while (<>) {
print S;
}
sleep 3;
do dokill();
}
else {
while (<S>) {
print;
}
}
.fi
これがサーバ側です:
.nf
($port) = @ARGV;
$port = 2345 unless $port;
require 'sys/socket.ph';
$sockaddr = 'S n a4 x8';
($name, $aliases, $proto) = getprotobyname('tcp');
($name, $aliases, $port) = getservbyname($port, 'tcp')
unless $port =~ /^\ed+$/;
$this = pack($sockaddr, &AF_INET, $port, "\e0\e0\e0\e0");
select(NS); $| = 1; select(stdout);
socket(S, &PF_INET, &SOCK_STREAM, $proto) || die "socket: $!";
bind(S, $this) || die "bind: $!";
listen(S, 5) || die "connect: $!";
select(S); $| = 1; select(stdout);
for (;;) {
print "Listening again\en";
($addr = accept(NS,S)) || die $!;
print "accept ok\en";
($af,$port,$inetaddr) = unpack($sockaddr,$addr);
@inetaddr = unpack('C4',$inetaddr);
print "$af $port @inetaddr\en";
while (<NS>) {
print;
print NS;
}
}
.fi
.Sh "予約変数"
次の変数名は、
.IR perl
にとって特別な意味があります。
これらのうち幾つかはアルファベットのシンボルにもしても良かったのですが、
reset \*(L"a\-zA\-Z\*(R" で予約変数まで消されてしまうようなことに
したくなかったのです。
そのため、これらのおかしなシンボル名に悩まされなければならないでしょう。
そのうち多くは筋が通ったニーモニック (記憶方法) で、シェルのものと
類似になっています。
.Ip $_ 8
入力およびパターン検索のデフォルト。
次の組はそれぞれ同等です:
.nf
.ne 2
while (<>) {\|.\|.\|. # while の中でのみ同等
while ($_ = <>) {\|.\|.\|.
.ne 2
/\|^Subject:/
$_ \|=~ \|/\|^Subject:/
.ne 2
y/a\-z/A\-Z/
$_ =~ y/a\-z/A\-Z/
.ne 2
chop
chop($_)
.fi
(覚え方: 下線は実行されるとわかる。)
.Ip $. 8
最後に読み込まれたファイルハンドルの現在の行番号。
読み出し専用。
明示的なファイルハンドルの close でのみ行番号がリセットされることを
覚えておいて下さい。
<> は明示的な close を行なわないので、ARGV ファイル全部を通して行番号
が増えていきます (eof の例を参照して下さい) 。
(覚え方: 多くのプログラムは . を現在行番号の意味で使う。)
.Ip $/ 8
入力レコードの区切り文字。デフォルトは改行。
ヌル文字列にセットされると空行を区切りとして扱うことも含めて、
.IR awk
の RS 変数と同じ働きをします。
複数文字にセットすると複数文字区切りにマッチさせることができます。
ファイルに空行が連続してあるとき、
この変数を "\en\en" にセットすると、"" にセットする場合と
少々異なる意味を持つことに注意して下さい。
"" にセットすると、二つかそれ以上の連続した空行を一つの空行として
扱います。 "\en\en" にセットすると、空行の後にたとえ改行文字が
続いていても、次の段落に含まれているものと盲目的に解釈されます。
(覚え方: / は詩をクォートするとき行境界の区切りとして使える。)
.Ip $, 8
print 演算子のための出力フィールド区切り文字。
通常は、print 演算子は単にカンマ区切りで指定したフィールドを
出力します。より
.IR awk
に似た挙動をさせるためには、フィールド間に出力する文字を
指定する
.IR awk
の OFS 変数と同じものを、この変数をセットして下さい。
(覚え方: print文に , があるとき出力すべきもの。)
.Ip $"" 8
$, と似ていますが、この変数の異なる点は、"" で囲まれた
文字列 (または同様な挿入文字) に挿入される配列値に適用されることです。
デフォルトは空白文字です。
(覚え方: これは明白。)
.Ip $\e 8
print 演算子の出力レコードセパレータ文字。
通常 print 演算子は、後に改行やレコードセパレータ文字を続いていないと
推定して、単にカンマ区切りの指定フィールドを出力します。
より
.IR awk
に似た挙動をさせるためには、print の終りに出力する文字を指定する
.IR awk
の ORS 変数と同じものをこの変数にセットして下さい。
(覚え方: print の終りに \en を加える代わりに $\e をセット。)
/ にも似ていますが、
.IR perl
から \*(L"得る\*(R" ものです。)
.Ip $# 8
数字の出力のための出力フォーマット。
この変数は
.IR awk
の OFMT 変数を半分だけ受け継いでいます。
しかし
.I awk
.I perl
では、実際に何が数字であるかという概念の異なることがしばしばあります。
初期値も、%.6g でなく %.20g ですので、
.IR awk
の値を得るには、明示的に $# をセットする必要があります。
(覚え方: # は数字の記号。)
.Ip $% 8
現在 select されている出力チャンネルの現在のページ番号。
(覚え方: % は nroff におけるページ番号。)
.Ip $= 8
現在 select されている出力チャンネルの現在のページ長 (出力可能行) 。
デフォルトは 60 。
(覚え方: = は平行線。)
.Ip $\- 8
現在 select されている出力チャンネルのページの残り行数。
(覚え方: 1 ページの行数 \- 出力済み行数)
.Ip $~ 8
現在 select されている出力チャンネルの現在のレポートフォーマット名。
デフォルトは、ファイルハンドル名。
(覚え方: $^ の仲間。)
.Ip $^ 8
現在 select されている出力チャンネルの現在のページ先頭フォーマット名。
デフォルトは、ファイルハンドル名に \*(L"_TOP\*(R" を加えたもの。
(覚え方: 先頭ページを指す。)
.Ip $| 8
0 でない値をセットすると、現在 select されている出力チャンネルに
write や print が行なわれる毎にフラッシュします。
デフォルトは 0 。
通常
.I STDOUT
は、端末に出力するときは行バッファが使われ、それ以外では
ブロックバッファが使われることに注意して下さい。
この変数をセットするのは、
.I perl
スクリプトを rsh の基で走らせている時等、
パイプに出力している時に、
出力が起こる度に確認したい場合に便利です。
(覚え方: パイプを常に動かしておきたい。)
.Ip $$ 8
.I perl
が走らせているスクリプトのプロセス番号。
(覚え方: シェルと同じ。)
.Ip $? 8
最後に close したパイプや (\`\`) コマンドや
.I system
演算子の戻り値。
これは、wait() システムコールが返すステータスなので、サブプロセスの
終了値は実際は ($? >> 8) です。
プロセスを終了させたシグナルがあった場合、$? & 255 は
どのシグナルであるか、dump された core があるかどうかを返します。
(覚え方: sh や ksh と同じ。)
.Ip $& 8 4
最後に成功したパターンマッチでマッチした文字列。
(ブロック内や現在のブロックで閉じた eval でのマッチは含まれません。)
(覚え方: あるエディタの & と同じ。)
.Ip $\` 8 4
最後にパターンマッチに成功したパターンの前にある文字列。
(ブロック内や現在のブロックで閉じた eval でのマッチは含まれません。)
(覚え方: \` は大抵クォートされた文字列の前。)
.Ip $\' 8 4
最後にパターンマッチに成功したパターンの後ろにある文字列。
(ブロック内や現在のブロックで閉じた eval でのマッチは含まれません。)
(覚え方: \' は大抵クォートされた文字列の後。)
例:
.nf
.ne 3
$_ = \'abcdefghi\';
/def/;
print "$\`:$&:$\'\en"; # abc:def:ghi を出力
.fi
.Ip $+ 8 4
最後に検索したパターンの最後の括弧にマッチします。
これは、複数候補のパターンマッチでどちらにマッチするかわからない
ときに便利です。
例:
.nf
/Version: \|(.*\|)|Revision: \|(.*\|)\|/ \|&& \|($rev = $+);
.fi
(覚え方: 正で、前方を見ること。)
.Ip $* 8 2
文字列内で、複数行のマッチを行なうとき 1 をセットし、
パターンマッチの最適化の目的で、単一行を含む文字列であると
.I perl
に決め打ちにさせるときに 0 とします。
$* が 0 のときに複数の改行を含む文字列のパターンマッチをすると、
混乱した結果となります。
デフォルトは 0 。
(覚え方: * は複数のものにマッチする。)
この変数は、^ や $ の解釈に影響するだけであるということに
注意して下さい。
改行のリテラルは、when $* == 0 としても検索できます。
.Ip $0 8
.I perl
起動したスクリプトのファイル名を保持しています。
$0 修飾子への代入は、ps(1) プログラムの引数の部分を参照して下さい。
(覚え方: sh や ksh と同じ)
.Ip $<数字> 8
最後に行なったパターンマッチで対応する数字番目の括弧のサブパターン。
入れ子になったブロック内で既に終了したパターンマッチの数は含まれません。
(覚え方: \e数字と同じ。)
.Ip $[ 8 2
配列中の最初の要素や部分文字列の最初の文字の添字。
デフォルトは 0 ですが、index() や substr() 関数の
添字のつけ方や評価に関して、
.I perl
.I awk
(や Fortran)
の動作にさせるには、この変数に 1 をセットすることでできます。
(覚え方: [ は添字の始まり。)
.Ip $] 8 2
\*(L"perl -v\*(R" で出力される文字列。
これは、perl インタープリタが正しいバージョンの範囲でスクリプトを
実行しているかどうかを決めるために、スクリプトの始めの方で使われます。
数値のコンテキストで使われると、バージョン + パッチレベル / 1000 を
返します。
例:
.nf
.ne 8
# getcがつかえるかどうかを調べます
($version,$patchlevel) =
$] =~ /(\ed+\e.\ed+).*\enPatch level: (\ed+)/;
print STDERR "(No filename completion available.)\en"
if $version * 1000 + $patchlevel < 2016;
また、数値で使われると、
warn "No checksumming!\en" if $] < 3.019;
.fi
(覚え方: このバージョンの perl は right(正しい、右) 括弧に入ってるか? )
.Ip $; 8 2
多次元配列エミュレーションの際の添字の区切り。
連想配列の要素を次のように参照するとき、
.nf
$foo{$a,$b,$c}
実際には
$foo{join($;, $a, $b, $c)}
を意味しますが、
@foo{$a,$b,$c} # スライス\*(--@ に注意
と書いてはいけません。
($foo{$a},$foo{$b},$foo{$c})
.fi
を意味することになってしまうからです。
デフォルトは "\e034" で、
.IR awk
の SUBSEP と同じです。
キーとしてバイナリデータを使うと、$; として安全な値はないだろうという
ことに気をつけて下さい。
(覚え方: カンマ (文法上添字の区切り) はセミコロンの半分。
これは、ちょっとひどいね。でも、$, は他のもっと重要なことに
取られているので。)
.Ip $! 8 2
数値のコンテキストで使うと、通常の警告の文字列と共に errono の
現在の値を返します。
(これは、システムエラーのような特別なエラーを除くと、$! の値に
依存した動作をさせてはいけないということを意味します。)
文字列のコンテキストで使うと、相当するシステムエラー文字列を返します。
errno をセットするために $! に代入することができます。
例えば、エラー番号 n に対して $! が文字列を返したいときや、
die 演算子に終了値をセットしたいときなどです。
(覚え方: 一体何が爆発したの? )
.Ip $@ 8 2
最後に評価したコマンドからくる perl の文法エラーメッセージ。
ヌルなら、最後の評価が、正常に解析、実行されたことになります
(起動された演算は普通の形で失敗したかもしれません) 。
(覚え方: 文法エラーはどこに \*(L"アット (at where)\*(R" ?)
.Ip $< 8 2
現在のプロセスの実 uid 。
(覚え方: setuid で走らせているとき、*どこから* きた uid か。)
.Ip $> 8 2
現在のプロセスの実効 uid 。
例:
.nf
.ne 2
$< = $>; # 実効 uid に実 uid をセットします
($<,$>) = ($>,$<); # 実 uid と実効 uid を取り換えます
.fi
(覚え方: setuid で走らせているとき、*行く先の* uid 。)
注意: $< と $> は setreuid() をサポートしているマシンでだけ
交換できます。
.Ip $( 8 2
現在のプロセスの実 gid 。
同時に複数グループのメンバとなることをサポートしたマシンで、
属しているグループの空白区切りのリストが得られます。
最初の数は getgid() の返すもので、残りが getgroups() の返すものです。
残りの中には最初の数値と同じものも含まれているかもしれません。
(覚え方: 括弧は GROUP に使われる。 setgid スクリプトを走らせているとき、
実 gid は LEFT(残っている、左) のグループ。)
.Ip $) 8 2
現在のプロセスの実効 gid 。
同時に複数グループのメンバとなることをサポートしたマシンで、
属しているグループの空白区切りのリストが得られます。
最初の数は getegid() の返すもので、残りが getgroups() の返すものです。
残りの中には最初の数値と同じものも含まれているかもしれません。
(覚え方: 括弧は GROUP に使われる。 setgid スクリプトを走らせているとき、
実効 gid はあなたの RIGHT(正しい、右の)グループ。)
.Sp
注意: $<, $>, $(, $) は、相当する set[re][ug]id() ルーチンを
サポートしているマシンでだけセットできます。
$( と $) は setregid() をサポートしているマシンでだけ交換できます。
.Ip $: 8 2
format の (^ で始まる) 継続フィールドを埋めるように文字列を分ける
際の直前の文字列セット。
デフォルトは "\ \en-" で、空白やハイフンで分けられます。
(覚え方: 詩では \*(L"コロン\*(R" は行の一部)
.Ip $^D 8 2
デバッグフラグの現在の値。
(覚え方:
.B \-D
スイッチの値。)
.Ip $^F 8 2
最大システムファイルディスクリプタ数。通常は 2 。
システムファイルディスクリプタは、子プロセスに渡されますが、
それより数字が上のファイルディスクリプタは渡されません。
open する間は、たとえ open に失敗したとしても、
システムファイルディスクリプタは保存されます。
open が試みられる前に、通常のディスクリプタは close されます。
.Ip $^I 8 2
ファイルをその場で変更する場合の拡張子の値。
その場で変更できないようにするには、この変数を undef します。
(覚え方:
.B \-i
スイッチの値)
.Ip $^L 8 2
改ページするために出力するフォーマット。デフォルトは \ef です。
.Ip $^P 8 2
デバッガが、自分自身をデバッグしないためにクリアする内部フラグ。
これをクリアしておくと、デバッグを不可能にさせられると考えられます。
.Ip $^T 8 2
スクリプトが走り始めた時刻を、epoch からの秒で保持します。
.B \-M ,
.B \-A ,
.B \-C
ファイルテストで返された値は、この変数の値に基づいています。
.Ip $^W 8 2
警告スイッチの現在の値。
(覚え方:
.B \-w
スイッチに関係する。)
.Ip $^X 8 2
argv[0] から来る、起動された perl 自身の名前。
.Ip $ARGV 8 3
<> から読み込んでいるとき、読み込み中のファイル名を保持します。
.Ip @ARGV 8 3
配列 ARGV は、スクリプトに渡されたコマンドライン引数を保持します。
$ARGV[0] はコマンド名ではなく、最初の引数なので、$#ARGV は一般に
引数の数 -1 です。
コマンド名については、$0 を参照して下さい。
.Ip @INC 8 3
配列 INC は、
.I perl
スクリプトが \*(L"do EXPR\*(R" や \*(L"require\*(R" で評価されるときに
探されるべきディレクトリのリストを保持します。
初期値として、
.B \-I
コマンドラインスイッチの引数、
これに続きデフォルトの
.I perl
ライブラリ (おそらく \*(L"/usr/share/perl\*(R")、
これに続きカレントディレクトリを示す \*(L".\*(R" です。
.Ip %INC 8 3
連想配列 INC は、\*(L"do\*(R" や \*(L"require\*(R" を介してインクルー
ドされる各ファイル名のためのエントリを含んでいます。
キーは、指定したファイル名で、値は実際にファイルが見つかった
位置の値です。
この配列は、\*(L"require\*(R" コマンドが与えるファイルが既に
インクルード済みかどうかを決めるのに使われます。
.Ip $ENV{expr} 8 2
連想配列 ENV は、現在の環境変数を保持しています。
ENV へ値を設定すると、子プロセスの環境が変わります。
.Ip $SIG{expr} 8 2
連想配列 SIG は、各シグナルハンドラをセットするのに使われます。
例:
.nf
.ne 12
sub handler { # 第一引数はシグナル名
local($sig) = @_;
print "Caught a SIG$sig\-\|\-shutting down\en";
close(LOG);
exit(0);
}
$SIG{\'INT\'} = \'handler\';
$SIG{\'QUIT\'} = \'handler\';
.\|.\|.
$SIG{\'INT\'} = \'DEFAULT\'; # デフォルト動作に戻す
$SIG{\'QUIT\'} = \'IGNORE\'; # SIGQUIT を無視する
.fi
SIG 配列は、perl スクリプトで実際にシグナル用にセットされた値を
保持しています。
.Sh "パッケージ"
perl は、パッケージ間で異なる名前空間持つメカニズムを用意しており、
各々の変数がぶつからないように、パッケージを守っています。
デフォルトで、perl スクリプトはパッケージ \*(L"main\*(R" として
コンパイルを始めます。
.I package
宣言を使うことによって、名前空間を切り替えることができます。
パッケージ宣言の有効範囲は、宣言それ自身から、閉じたブロックの終端まで
です (local() 演算子と同じ有効範囲) 。
普通 \*(L"require\*(R" 演算子によりインクルードされたファイルの中の
最初の宣言として使われます。
複数箇所で同一パッケージに入ることが出来ます;
ブロック中でコンパイラがどのシンボルテーブルを使うかに影響するだけです。
他のパッケージの変数やファイルハンドルは、識別子の前にパッケージ名と
シングルクォートを付けることで、参照できます。
パッケージ名がヌルの場合、\*(L"main\*(R" と解釈されます。
.PP
文字で始まる識別子は、パッケージシンボルテーブルに保存されます。
それ以外のすべてのシンボルは、パッケージ \*(L"main\*(R" に保持されます。
更に、識別子 STDIN, STDOUT, STDERR, ARGV, ARGVOUT, ENV, INC, SIG は、
たとえ組み込みの変数、関数と異なる目的で使われたとしても、
強制的にパッケージ \*(L"main\*(R" に属するものとして扱われます。
仮に、\*(L"m\*(R", \*(L"s\*(R", \*(L"y\*(R" と呼ばれるパッケージを
持っていたとすると、パターンマッチ、代入、変換として解釈されるので、
識別子を適した形で使うことができないことに注意しましょう。
.PP
eval された文字列は、eval がコンパイルされたパッケージ内で
コンパイルされます。
(しかし、$SIG{} への代入は、main パッケージで指定された
シグナルハンドラと解釈されます。パッケージ内でシグナルハンドラを
持ちたい場合、シグナルハンドラ名を適切に指定して下さい。)
例えば、perl ライブラリ内の perldb.pl を調べてみましょう。
これは始めに DB パッケージに切り替わり、デバッガがデバッグしようとして
いるスクリプト内の変数を変更しないようになっています。
しかし、いろいろな時点で、main パッケージのコンテキストのいろいろな
式を評価するために、これは main パッケージに一時的に戻って来ています。
.PP
パッケージのシンボルテーブルは、パッケージ名の前に下線のついた連想配列に
蓄えられることになります。
連想配列の各エントリの値は、*name 表記を使うときに参照しようと
しているものになります。
実際、次の例は同じ効果 (もちろん main パッケージの場合) がありますが、
最初のものの方がコンパイル時にシンボルテーブルを見るので、
より効率が良くなります:
.nf
.ne 2
local(*foo) = *bar;
local($_main{'foo'}) = $_main{'bar'};
.fi
例えば、以下によりパッケージ内のすべての変数を出力できます。
これは perl ライブラリの dumpvar.pl から取ってます:
.nf
.ne 11
package dumpvar;
sub main'dumpvar {
\& ($package) = @_;
\& local(*stab) = eval("*_$package");
\& while (($key,$val) = each(%stab)) {
\& {
\& local(*entry) = $val;
\& if (defined $entry) {
\& print "\e$$key = '$entry'\en";
\& }
.ne 7
\& if (defined @entry) {
\& print "\e@$key = (\en";
\& foreach $num ($[ .. $#entry) {
\& print " $num\et'",$entry[$num],"'\en";
\& }
\& print ")\en";
\& }
.ne 10
\& if ($key ne "_$package" && defined %entry) {
\& print "\e%$key = (\en";
\& foreach $key (sort keys(%entry)) {
\& print " $key\et'",$entry{$key},"'\en";
\& }
\& print ")\en";
\& }
\& }
\& }
}
.fi
たとえサブルーチンがパッケージ dumpvar でコンパイルされるとしても、
サブルーチン名がパッケージ \*(L"main\*(R" に挿入されるように、
サブルーチン名の前にパッケージ名をつけなければならないことに注意して
下さい。
.Sh "スタイル"
各々のプログラマは、フォーマットに関してもちろん自分自身の好みが
あるでしょうが、自分のプログラムを読み易くするための一般的な
ガイドラインがあります。
.Ip 1. 4 4
あることを特別な方法で*できる*からといって、そうしなければならない
ということはありません。
.I perl
は、一つのことをするときに、幾つかの方法があるように設計されている
ので、最も読み易いものを選ぶように考えて下さい。
例えば
open(FOO,$foo) || die "Can't open $foo: $!";
は、
die "Can't open $foo: $!" unless open(FOO,$foo);
よりも良いです。なぜなら、後者の方法は文の主題を修飾子内に隠しているからです。
一方、
print "Starting analysis\en" if $verbose;
$verbose && print "Starting analysis\en";
より良いです。主となるのは、ユーザが -v を打ったかどうかでは
ないからです。
.Sp
同様に、演算子がデフォルトの引数を仮定しているからといって、
それはデフォルトを用いなければならないということではありません。
デフォルトというものは、ちょっとしたプログラムを書く、怠け者の
システムプログラマのためにあります。
読み易いプログラムをしたければ、引数を付けるようにして下さい。
.Sp
同じようなこととして、
あちこちで括弧を省略
.I できる
ということは、以下のように書けということではありません:
.nf
return print reverse sort num values array;
return print(reverse(sort num (values(%array))));
.fi
疑わしいときは、括弧をつけて下さい。
もしかすると、物好きな輩が、vi で % キーを叩くかもしれません。
.Sp
たとえ疑わしくなかったとしても、自分の後でそのコードを管理する人間の
精神衛生上好ましいですし、その人が間違ったところに括弧をつける可能性も
大いにあります。
.Ip 2. 4 4
無理にこじつけて、ループの先頭や終わりで終了しようとしないで下さい。
.I perl
には、真ん中からでも抜けられるように "last" 演算子が
用意されているのですから。
少々はみ出しても、より見易くなるようにして下さい:
.nf
.ne 7
line:
for (;;) {
statements;
last line if $foo;
next line if /^#/;
statements;
}
.fi
.Ip 3. 4 4
ループラベルを使うのを恐がらないで下さい\*(--多重ループの抜けだしがで
きるようにするためだけでなく、可読性を高めるためにあるのですから。
最後の例を参照して下さい。
.Ip 4. 4 4
可搬性のため、すべてのマシンには実装されていない機能を使うときは、
失敗しないかどうか、eval の中で構成を確かめてみて下さい。
どのバージョンやパッチレベルで特定の仕様が実装されているかを
知っているなら、$] を調べて、実装されているかどうかを確認できます。
.Ip 5. 4 4
覚え易い識別子を選んで下さい。
.Ip 6. 4 4
一貫性を持たせましょう。
.Sh "デバッグ"
.I perl
.B \-d
スイッチを付けて起動すると、デバッグモニタの基でスクリプトが走ります。
最初の実行文の前で一時停止し、以下のようなコマンド入力を促します:
.Ip "h" 12 4
ヘルプメッセージを出力する。
.Ip "T" 12 4
スタックトレース。
.Ip "s" 12 4
シングルステップ。
次の文の始めに達するまでを実行します。
.Ip "n" 12 4
次。
サブルーチンコール内では止まらずに、次の文に達するまで実行します。
.Ip "f" 12 4
終了。
現在のサブルーチンが終了するまで、文を実行し続けます。
.Ip "c" 12 4
継続。
次のブレークポイントに達するまで実行します。
.Ip "c line" 12 4
指定した行まで実行します。
指定した行に、一回きりのブレークポイントを挿入します。
.Ip "<CR>" 12 4
最後に実行した n または s を繰り返します。
.Ip "l min+incr" 12 4
min 行目から incr+1 行を表示します。
min を省略すると、最後に表示した残りから始めます。
incr を省略すると、前回の incr 値が使われます。
.Ip "l min-max" 12 4
指定範囲内の行を表示します。
.Ip "l line" 12 4
指定行を表示します。
.Ip "l" 12 4
次のウィンドウを表示します。
.Ip "-" 12 4
前のウィンドウを表示します。
.Ip "w line" 12 4
その行と前後のウィンドウを表示します。
.Ip "l subname" 12 4
サブルーチンを表示します。
長いサブルーチンの場合は、始めの方だけを表示します。
それ以上表示するには、\*(L"l\*(R" を使って下さい。
.Ip "/pattern/" 12 4
正規表現の前方検索。最後の / は省略可能です。
.Ip "?pattern?" 12 4
正規表現の後方検索。最後の ? は省略可能です。
.Ip "L" 12 4
ブレークポイントまたはアクションの設定された行を表示します。
.Ip "S" 12 4
すべてのサブルーチン名を表示します。
.Ip "t" 12 4
トレースモードを on/off するトグル。
.Ip "b line condition" 12 4
ブレークポイントをセットします。
line を省略すると、実行されようとしている行にセットされます。
condition が指定されると、
ブレークポイントの文に達する毎に condition が評価され、
condition が真のときだけブレークします。
ブレークポイントは実行文の先頭にだけセットできます。
.Ip "b subname condition" 12 4
ブレークポイントをサブルーチンの最初の実行文にセットします。
.Ip "d line" 12 4
ブレークポイントを削除します。
line を省略すると、実行しようとしている行のブレークポイントが
削除されます。
.Ip "D" 12 4
すべてのブレークポイントを削除します。
.Ip "a line command" 12 4
行にアクションをセットします。
バックスラッシュの直後に改行すれば、複数行コマンドも入力できます。
.Ip "A" 12 4
すべての行のアクションを削除します。
.Ip "< command" 12 4
デバッガがプロンプトを出す前に実行するアクションをセットする。
バックスラッシュの直後に改行すれば、複数行コマンドも入力できます。
.Ip "> command" 12 4
コマンドを入力してスクリプト実行に移る時に、
プロンプトの後に実行するアクションをセットします。
バックスラッシュの直後に改行すれば、複数行コマンドも入力できます。
.Ip "V package" 12 4
パッケージ内のすべての変数をリストします。
デフォルトは、メインパッケージです。
.Ip "! number" 12 4
デバッグコマンドの再実行を行ないます。
number が省略されると、直前のコマンドを再実行します。
.Ip "! -number" 12 4
幾つか前のコマンドを再実行します。
.Ip "H -number" 12 4
最後の n 個のコマンドを表示します。
1 文字より長いコマンドをリストします。
number を省略すると、すべてをリストします。
.Ip "q or ^D" 12 4
終了します。
.Ip "command" 12 4
コマンドを perl の文として実行します。
足りないセミコロンは補われます。
.Ip "p expr" 12 4
\*(L"print DB'OUT expr\*(R" と同じことです。
DB'OUT ファイルハンドルは、どこに STDOUT がリダイレクトされているか
に関わらず、/dev/tty にオープンされます。
.PP
デバッガを変更したいときは、perldb.pl ファイルを perl のライブラリ
から、カレントディレクトリにコピーして、必要に応じて修正して下さい。
(コマンドラインに -I. を付けなければならないでしょう。)
初期化コードを含む .perldb ファイルを設定することで、カスタマイズが
できます。例えば、以下のようなエイリアスを作ることができます:
.nf
$DB'alias{'len'} = 's/^len(.*)/p length($1)/';
$DB'alias{'stop'} = 's/^stop (at|in)/b/';
$DB'alias{'.'} =
's/^\e./p "\e$DB\e'sub(\e$DB\e'line):\et",\e$DB\e'line[\e$DB\e'line]/';
.fi
.Sh "setuid スクリプト"
.I perl
は、安全な setuid スクリプトや setgid スクリプトを簡単に書けるように
デザインされています。
スクリプトの各行が何回も置換されるシェルとは違って、
.I perl
は、隠された \*(L"わけの判らないもの\*(R" を少なくして、より伝統的な
評価機構を使っています。
それに加え、この言語は組み込み機構をより多く備えていて、目的を達成する
ために外部の (すなわち信頼できない可能性がある) プログラムに
頼らなければならないことは、ほとんどありません。
.PP
パッチが当たっていない 4.2 または 4.3bsd カーネルでは、
setuid スクリプトは本質的に危険をはらんでいますが、このカーネルの
機能は無効にできます。
この場合、
perl スクリプトに (無意味な) setuid/gid ビットが付いていると、
.I perl
は setuid と setgid 機構をエミュレートできます。
カーネルの機能が無効でない場合、
.I perl
は setuid スクリプトが安全でないことをうるさく訴えるでしょう。
カーネルの setuid スクリプト機能を無効にするか、そうでなければ
スクリプトに C のラッパをかぶせる必要があるでしょう。
.PP
perl が setuid スクリプトを実行しているとき、明らかなトラップに
はまらないように特別な注意を払います。
(いくつかの点で、perl スクリプトは同等の C プログラムより安全です。)
コマンドライン引数と環境変数と入力は、\*(L"汚れ\*(R" とみなされ、
サブシェルを起動するコマンドや、ファイル、ディレクトリ、プロセスを
変更するようなコマンドの中では、直接にも間接的にも使われません。
それ以前に汚れた値を参照したような式の中でセットされた変数も、
また汚れていることなります。
(汚れた値が変数に影響することが、たとえ論理的に不可能だとしても)
.br
例えば:
.nf
.ne 5
$foo = shift; # $foo は汚れています
$bar = $foo,\'bar\'; # $bar も汚れています
$xxx = <>; # 汚れています
$path = $ENV{\'PATH\'}; # 汚れていますが、以下を見て下さい
$abc = \'abc\'; # 汚れていません
.ne 4
system "echo $foo"; # 危険です
system "/bin/echo", $foo; # 安全です (shを使わないので)
system "echo $bar"; # 危険です
system "echo $abc"; # PATH がセットされるまで、
# 安全ではありません
.ne 5
$ENV{\'PATH\'} = \'/bin:/usr/bin\';
$ENV{\'IFS\'} = \'\' if $ENV{\'IFS\'} ne \'\';
$path = $ENV{\'PATH\'}; # 汚れていません
system "echo $abc"; # もはや汚れていません!
.ne 5
open(FOO,"$foo"); # OK
open(FOO,">$foo"); # 駄目です
open(FOO,"echo $foo|"); # 駄目だけど..
open(FOO,"-|") || exec \'echo\', $foo; # OK
$zzz = `echo $foo`; # 危険。 zzz は汚れてます。
unlink $abc,$foo; # 危険
umask $foo; # 危険
.ne 3
exec "echo $foo"; # 危険
exec "echo", $foo; # 安全 (sh を使いません)
exec "sh", \'-c\', $foo; # 安全と見なされてしまう、嗚呼
.fi
汚れは、各スカラ値と関係するので、配列の要素は汚れているものも、
汚れていないものもあります。
.PP
何か安全でないことをしようとすると、
\*(L"Insecure dependency\*(R" とか \*(L"Insecure PATH\*(R" というような
致命的エラーになります。
それでも、危険なシステムコールや exec を書くことができますが、
上記の最後の例のようなことを明示的に行なった場合に限るということを
覚えておいて下さい。
サブパターンを参照することでも、汚れの機構を避けることが
できます \*(--\c
.I perl
は、$1, $2 などを使った部分文字列の参照では、自分のしていることを
知っているはずだと解釈します。
次のようなパターンの場合です:
.nf
$ARGV[0] =~ /^\-P(\ew+)$/;
$printer = $1; # 汚れていません
.fi
これは、\ew+ がシェルのメタキャラクタにマッチしないので、
まず安全です。 .+ を使うと危険でしょうが、
.I perl
はそこまで調べないので、パターン指定には注意を払うべきです。
これは、ファイル操作をしたいときに ($> を $< と同じにしなければ) 、
ユーザが与えるファイル名を汚さないための唯一の機構です。
.PP
汚れた値を使うことを気にしないような他の操作でもトラブルを起こす場合が
あります。
ユーザが与えたファイル名を扱うファイルテストは、慎重に使って下さい。
できれば、$> = $< というようにセットした後で open して下さい。
.I perl
では、汚れたファイルをオープンして読みだすことが制限されないので、
出力する内容については注意して下さい。
汚れの機構は、ばかな間違いを防ぐように作られているのであって、
考える必要がなくなるようにするためではありません。
.SH 環境
.Ip HOME 12 4
chdir に引数がないときに使われます。
.Ip LOGDIR 12 4
chdir に引数が無く、HOME がセットされていないときに使われます。
.Ip PATH 12 4
サブプロセスを実行するとき、および \-S が使われたときは
スクリプトを探す際に使われます。
.Ip PERLLIB 12 4
標準ライブラリやカレントディレクトリを見る前に、perl ライブラリ
ファイルを探すディレクトリのコロン区切りのリストです。
.Ip PERLDB 12 4
デバッガコードを得るのに使われるコマンドのことです。セットされて
いないと、
.br
require 'perldb.pl'
を使います。
.PP
これらを別にすると、
.I perl
は、スクリプト実行時と子プロセスに渡された環境変数しか使いません。
しかし、setuid で走っているスクリプトは、だまされないようにするために
何より先に以下の行を実行しておいた方が良いでしょう:
.nf
.ne 3
$ENV{\'PATH\'} = \'/bin:/usr/bin\'; # 必要なパスを入れましょう
$ENV{\'SHELL\'} = \'/bin/sh\' if $ENV{\'SHELL\'} ne \'\';
$ENV{\'IFS\'} = \'\' if $ENV{\'IFS\'} ne \'\';
.fi
.SH 作者
Larry Wall <lwall@netlabs.com>
.br
MS-DOS への移植 Diomidis Spinellis <dds@cc.ic.ac.uk>
.SH 関連ファイル
/tmp/perl\-eXXXXXX
.B \-e
コマンドのためのテンポラリファイル
.SH 関連項目
a2p awk から perl への変換プログラム
.br
s2p sed から perl への変換プログラム
.SH 診断
コンパイルエラーは、エラーの行番号と次にあるべきトークンか、または
調べられたトークンの型を教えてくれます。
(
.B \-e
スイッチで
.I perl
に渡されたスクリプトの場合、各
.B \-e
が一行に数えられます。)
.PP
setuid スクリプトには、更に \*(L"Insecure dependency\*(R" のような
エラーメッセージを生じるという制約があります。
setuid スクリプトのセクションを参照して下さい。
.SH トラップ
.IR awk
に慣れたユーザは、以下のことに特に注意を払わなければなりません:
.Ip * 4 2
.I perl
では、(ブロックの終わりを除く) すべての単文の後にセミコロンが必要です。
改行は文の区切りではありません。
.Ip * 4 2
if や while には、中括弧 {} が必要です。
.Ip * 4 2
.IR perl
では、変数は $ か @ で始まります。
.Ip * 4 2
配列の添字は、$[ をセットしなければ 0 で始まります。
substr() と index() の文字位置も同様です。
.Ip * 4 2
配列の添字が数字であるか文字列であるかを決めなければなりません。
.Ip * 4 2
連想配列は、参照するだけでは存在することになりません。
.Ip * 4 2
比較の際には、文字列比較か、数値比較かを決めなければなりません。
.Ip * 4 2
入力行を読み込んだだけでは、split は行なわれません。自分で split して、
配列に入れなければなりません。
そして、
.I split
演算子は、異なる引数を取ります。
.Ip * 4 2
現在の入力行は、通常 $0 ではなく $_ です。
一般に改行コードは除かれません。
($0 は実行されたプログラム名です。)
.Ip * 4 2
$<数字> は、フィールドの参照ではありません\*(--最後にマッチした
パターンの部分文字列を参照します。
.Ip * 4 2
.I print
文は $, と $\e を設定しなければ、フィールド区切りやレコード区切りを
出力しません。
.Ip * 4 2
ファイルに出力する前には、オープンしなければなりません。
.Ip * 4 2
範囲演算子は \*(L".\|.\*(R" であって、コンマではありません。
(コンマ演算子は、C と同じ動作です。)
.Ip * 4 2
マッチ演算子は、\*(L"~\*(R" でなく \*(L"=~\*(R" です。
(\*(L"~\*(R" は C と同じく補数の演算子です。)
.Ip * 4 2
指数演算子は、\*(L"^\*(R" でなく \*(L"**\*(R" 演算子です。
(\*(L"^\*(R" は、C と同じく XOR 演算子です。)
.Ip * 4 2
結合演算子は \*(L".\*(R" であり、ヌル文字列ではありません。
(ヌル文字列を使うと 3 番目の / が除算演算子と解釈されるため、
\*(L"/pat/ /pat/\*(R" が解析不能になります。\*(--トークン解析は、実際
のところ /, ?, < のような演算子ではコンテキストにやや敏感です。
そして、実は、. 自身は数字の始めになり得ます。)
.Ip * 4 2
.IR next ,
.IR exit,
.I continue
の動作は異なります。
.Ip * 4 2
次の変数の動作は異なります。
.nf
Awk \h'|2.5i'Perl
ARGC \h'|2.5i'$#ARGV
ARGV[0] \h'|2.5i'$0
FILENAME\h'|2.5i'$ARGV
FNR \h'|2.5i'$. \- 何か
FS \h'|2.5i'(何でもよい)
NF \h'|2.5i'$#Fld かそのようなもの
NR \h'|2.5i'$.
OFMT \h'|2.5i'$#
OFS \h'|2.5i'$,
ORS \h'|2.5i'$\e
RLENGTH \h'|2.5i'length($&)
RS \h'|2.5i'$/
RSTART \h'|2.5i'length($\`)
SUBSEP \h'|2.5i'$;
.fi
.Ip * 4 2
疑わしいときは、
.I awk
のプログラムを a2p に通して、出て来たもの見て下さい。
.PP
C に洗脳されたプログラマは、次のことを特に心に留めておかなければなりま
せん:
.Ip * 4 2
if や while には、中括弧 {} が必要です。
.Ip * 4 2
\*(L"else if\*(R" でなく、\*(L"elsif\*(R" を使わなければなりません。
.Ip * 4 2
.I break
.I continue
は、それぞれ
.I last
.IR next
になります。
.Ip * 4 2
switch 文はありません。
.Ip * 4 2
.IR perl
では、
変数は $ か @ で始まります。
.Ip * 4 2
printf には * は実装されていません。
.Ip * 4 2
コメントは、/* でなく # で始まります。
.Ip * 4 2
何者のアドレスを得ることもできません。
.Ip * 4 2
ARGV は大文字でなければなりません。
.Ip * 4 2
link, unlink, rename 等のシステムコールは、成功時に 0 でな
く、非 0 を返します。
.Ip * 4 2
シグナルハンドラは、数字ではなくシグナル名を扱います。
.PP
経験豊かな
.I sed
プログラマは、次のことを心に留めておかなければなりません:
.Ip * 4 2
置換の後方参照では、\e でなく $ を使います。
.Ip * 4 2
パターンマッチメタキャラクタ (, ), | の前にはバックスラッシュをつけません。
.Ip * 4 2
範囲演算子は、コンマでなく .\|. です。
.PP
鋭い shell プログラマは、次のことを心に留めておかなければなりません:
.Ip * 4 2
`` 演算子のコマンド内では、'' にくくられていないと変数置換が行なわれます。
.Ip * 4 2
`` 演算子は csh と違って、戻り値の変換をしません。
.Ip * 4 2
シェル (特に csh) は、各コマンド行で複数レベルの置換を行ないます。
.I perl
は、"", ``, <>, // のような決まった構造においてのみ、置換が行なわれます。
.Ip * 4 2
シェルは、スクリプトを一度に少しだけ解釈します。
.I perl
は、すべてのプログラムを実行前にコンパイルします。
.Ip * 4 2
引数は、$1, $2,.. ではなく、@ARGV を介して利用できます。
.Ip * 4 2
環境は、変数として自動的に利用可能とはなりません。
.SH 訂正と追加
perl の本、
.I Programming\0Perl
には以下のような省略と抜けがあります。
.PP
5 ページの例
.nf
eval "/usr/bin/perl
は、以下でなければいけません。
eval "exec /usr/bin/perl
.fi
.PP
195 ページの System V の sum 相当のプログラムは、極めて小さなファイル
でしか動作しません。大きなファイルでは、以下を使って下さい。
.nf
undef $/;
$checksum = unpack("%32C*",<>) % 32767;
.fi
.PP
alarm と sleep に関する記述は、シグナル SIGALARM と言っていますが、
SIGALRM でなければなりません。
.PP
$/ の初期値をセットする
.B \-0
スイッチは、この本が出版後に perl に追加されました。
.PP
.B \-l
スイッチでは、自動行末処理を行なうようになっています。
.PP
qx// 構造は バックスラッシュ `` と同義です。
.PP
$0 は、
.I ps (1)
の引数表示を変更するために、代入可能となりました。
.PP
新しい @###.## フォーマットは、フォーマットの記述から
偶然省略されました。
.PP
s///ee が置換式の多重評価を生じることが、出版時に
知られていませんでした。これは、仕様と解釈されるべきです。
.PP
(LIST) x $count は、配列の繰り返しを実行します。
.PP
正規表現には、括弧の数に制限がなくなっています。
.PP
ダブルクォート "" のコンテキストでは、更に以下のエスケープがサポート
されています:
\ee, \ea, \ex1b, \ec[, \el, \eL, \eu, \eU, \eE
最後の 5 つの制御コードは、大文字小文字の変換です。
.PP
.B $/
変数には、複数の区切り文字をセットできます。
.PP
通常のパターンマッチに g 修飾子が使えます。
これにより、文字列から複数のマッチを検索することで、
パターンマッチを繰り返します。
.PP
$^T を除いて、すべての $^X 変数が増えてます。
.PP
FILEHANDLE に対するデフォルトのページ先頭フォーマットは、top でなく
FILEHANDLE_TOP になっています。
.PP
eval {} と sort {} 構造は、version 4.018 で追加されました。
.PP
pack と unpack の v と V (リトルエンディアン) テンプレートオプションは、
vertion 4.019 で追加されました。
.SH バグ
.PP
.I perl
型のキャスト、atof() 、sprintf() のようないろいろな操作は、
マシンの定義に左右されます。
.PP
あるストリームで、stdio が各 read や write の間に seek や eof を
必要とする場合、
.IR perl
はそのようにします。
(これは、sysread() と syswrite() には適用されません。)
.PP
どの組み込みデータタイプも勝手なサイズ制限は持っていません
(メモリサイズは別です) が、それでもいくらかは限界はあります:
識別子は 255 文字以上にはできませんし、
\-S を使うとき、PATH の要素は 255 を超えてはいけません。
正規表現は、内部的に 32767 バイトを超えられません。
.PP
.I perl
は、実は
病理学的折衷主義のがらくたリスター (Pathologically Eclectic Rubbish Lister)
なんですが、私がそう言ったとは誰にも話さないで下さい。
.rn }` ''
diff --git a/ja_JP.eucJP/man/man1/pkg_add.1 b/ja_JP.eucJP/man/man1/pkg_add.1
index 0f56694470..02565824f4 100644
--- a/ja_JP.eucJP/man/man1/pkg_add.1
+++ b/ja_JP.eucJP/man/man1/pkg_add.1
@@ -1,422 +1,422 @@
.\"
.\" FreeBSD install - a package for the installation and maintainance
.\" of non-core utilities.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" Jordan K. Hubbard
.\"
.\"
.\" @(#)pkg_add.1
-.\" %Id: pkg_add.1,v 1.17.2.9 1998/07/18 11:11:38 jkh Exp %
+.\" %Id: pkg_add.1,v 1.26 1998/07/14 08:27:58 jkoshy Exp %
.\" jpman %Id: pkg_add.1,v 1.3 1997/06/09 04:19:05 jsakai Stab %
.\"
.Dd November 25, 1994
.Dt pkg_add 1
.Os FreeBSD
.Sh 名称
.Nm pkg_add
.Nd ソフトウェア配布パッケージをインストールするプログラム
.Sh 書式
.Nm
.Op Fl vInfRMS
.Op Fl t Ar template
.Op Fl p Ar prefix
.Ar pkg-name [pkg-name ...]
.Sh 解説
.Nm
コマンドは、
.Xr pkg_create 1
コマンドにより作成されたパッケージを展開するのに用いられます。
.Sh 警告
.Bf -emphasis
.Nm
コマンドはパッケージファイルに含まれるスクリプトやプログラムを
実行することがあるので、あなたのシステムは、危険な配布ファイルを
作る極悪人からの「トロイの木馬」や他の巧妙な攻撃などを受ける
可能性があります。
.Pp
パッケージファイルを提供する人物の能力と身元を確認するとよいでしょう。
より進んだ安全のためには、パッケージを展開するのに
.Fl M
フラグを用い、その内容と、スクリプトがシステムに害をおよぼさないかを
確認します。
+INSTALL 、 +DEINSTALL 、 +REQUIRE 、 +MTREE_DIRS の各ファイルには
特に注意を払い、+CONTENTS ファイルの
.Cm @cwd
.Cm @mode
(setuid をチェック)、
.Cm @dirrm
.Cm @exec
.Cm @unexec
ディレクティブを調べてください。
パッケージファイルを調べるのには
.Xr pkg_info 1
コマンドも使えます。
.Ef
.Sh オプション
以下のコマンドラインオプションが提供されています:
.Bl -tag -width indent
.It Ar pkg-name [... pkg-name]
指定されたパッケージがインストールされます。
- という名前が指定されると、
.Nm
は stdin から読み込みます。
パッケージがカレントディレクトリに見つからないと、
.Nm
.Ev PKG_PATH
で指定された各ディレクトリを探します。
.It Fl v
饒舌な出力に切り替えます。
.It Fl I
パッケージにインストール用スクリプトが存在しても、それを実行しません。
.It Fl n
実際にはインストールを行わず、インストールした場合に実行されるであろう
ステップを表示します。
.It Fl R
パッケージのインストール結果を記録しません。
このオプションは、後でアンインストールすることを不可能にするため、
自分が何をしているかを理解している人のみ使ってください。
.It Fl f
あらかじめ必要なパッケージがインストールされていなかったり、
requirements スクリプトが失敗した場合にも強制的にインストールします。
これは
.Nm
が見つからない必要なパッケージを探して自動的にインストールすることを
止めるわけではなく、見つからない場合でも中断しないようにします。
.It Fl p Ar prefix
パッケージからファイルを展開するディレクトリの前に
.Ar prefix
を付けます。
パッケージがデフォルトディレクトリを保持している場合には、
このオプションで変更できます。
.Nm
はディレクトリ設定が相対的に行われているか、絶対的に行われているか
を知る術がないので、最初の
.Cm @cwd
ディレクティブのみが変更されることに注意してください。
複数回のディレクトリ変更が行われることはまれですが、
実際にあった場合、すべてのディレクトリ変更を制御したくなる
でしょう。この場合、
.Cm MASTER
モード、
.Cm SLAVE
モードの使用を検討してみてください (オプション
.Fl M
.Fl S
を参照)。
.It Fl t Ar template
``作業領域'' を作成する際に、
.Xr mktemp 3
への入力として
.Ar template
を用います。
これはデフォルトでは
.Pa /var/tmp/instmp.XXXXXX
という文字列ですが、
.Pa /var/tmp
ディレクトリの容量が制限されているような状況では
変更する必要があるかもしれません。
.Xr mktemp 3
が一意の ID を用いるために必要な `X' の文字をいくつか残しておく
ことを忘れないでください。
.Pp
作業領域
.Ar template
をパッケージファイルがインストールされるディレクトリと同じディスク
パーティションに設定することによって、パフォーマンスを高めることが
可能です (大抵は
.Pa /usr
)。
.It Fl M
.Cm MASTER
モードで実行します。これは
.Nm
のとても特殊な実行モードであり、
.Cm SLAVE
モードと共に実行しなければなりません。
このモードで実行されると、
.Nm
は一時的な作業領域 (
.Fl t
オプションを参照) へパッケージを展開する以上のことはせず、
現在の作業領域ディレクトリ名を頭に付加した packing list を標準出力に
出力します(標準出力は
.Xr sed 1
のようなプログラムにフィルタされているかもしれません)。
.Cm SLAVE
モードと共に用いると、中身を処理する前にパッケージ構造に
大きな変更を加えることが可能になります。
.It Fl S
.Cm SLAVE
モードで実行します。これは
.Nm
のとても特殊な実行モードであり、
.Cm MASTER
モードと共に実行しなければなりません。
このモードで実行されると、
.Nm
はパッケージの内容がすでに作業領域に展開され、その場所が
標準入力から文字列として入力されることを想定します。
完全な packing list も stdin から読み込まれ、その後中身が
通常どおり処理されます。
.El
.Pp
一つ以上の
.Ar pkg-name
引数を指定することが可能で、それらはパッケージを含むファイル名(通常
拡張子 ``.tgz'' で終わります)か、ftp サイトにあるファイルを
示す URL のどちらかになります。
したがって、anonymous ftp から直接ファイルを展開することが
可能です (例えば
.Nm
ftp://ftp.freebsd.org/pub/FreeBSD/packages/shells/bash-1.14.4.tgz
)。
注意: もし上記のような転送で用いる ftp で
.Bf -emphasis
passive mode
.Ef
を利用したいなら、環境変数
.Bf -emphasis
FTP_PASSIVE_MODE
.Ef
に何らかの値を設定する必要があります。
そうでなければ、より一般的な ACTIVE モードが利用されます。
もしうまく動作していることがわかっているサイトからパッケージを
得ようとして
.Nm
が常に失敗する場合、あなたが
.Bf -emphasis
passive mode
.Ef
の ftp を使う必要のあるファイアウォールの中にいるのが原因である場合が
あります。
.Sh 技術詳細
.Nm
はきわめて単純です。各パッケージの "packing list" を
特別な作業ディレクトリに展開し、
中身を解析し、内容を完全に展開するために
以下の手順を実行します:
.Bl -enum -indent indent
.It
パッケージがすでにインストールされている、と記録されているかどうかを
チェックします。もしそうならインストールを中断します。
.It
.Cm @pkgdep
ディレクティブ (
.Xr pkg_create 1
を参照) による
パッケージのすべての依存関係をチェックし、各々が存在するかどうかを
確認します。もし存在しなければ、足りないパッケージを見つけて自動的に
インストールしようとします。もし見つからなければ、
インストールを中断します。
.It
パッケージがどのようにシステムに追加されるかを制御する
.Cm @option
ディレクティブを検索します。このマニュアルページを書いている時点では、
実装されているオプションは
.Cm @option extract-in-place
のみであり、これは
.Pa /tmp
内の作業領域を経由しないで、
パッケージを最終的なディレクトリに直接展開するようにします。
.It
.Cm @option extract-in-place
が指定されていれば、パッケージは最終的な場所に直接展開され、
そうでなければ作業領域内に展開されます。
.It
パッケージが
.Ar require
ファイル (
.Xr pkg_create 1
を参照) を含んでいる場合、そのファイルを以下の引数を付けて実行します:
.Bd -filled -offset indent -compact
.Ar pkg-name
.Ar INSTALL
.Ed
ここで
.Ar pkg-name
は問題としているパッケージの名前であり、
.Ar INSTALL
キーワードはインストールの requirements チェックであることを
示しています (これは複数の機能を提供するひとつのスクリプトを
用いようとする場合に有用です)。
.It
パッケージに
.Ar install
スクリプトが存在する場合、以下の引数を付けて実行されます:
.Bd -filled -offset indent -compact
.Ar pkg-name
.Ar PRE-INSTALL
.Ed
ここで
.Ar pkg-name
は問題としているパッケージの名前であり、
.Ar PRE-INSTALL
はこれがインストール前のステップであることを示すキーワードです。
.It
.Cm @option extract-in-place
が指定されていない場合、packing list (
.Pa +CONTENTS
ファイル) が作業領域から最終的な場所に
ファイルを移動 (必要ならコピー) するために参照されます。
.It
パッケージが
.Ar mtreefile
ファイル (
.Xr pkg_create 1
を参照) を含む場合、mtree が以下の引数を付けて実行されます:
.Bd -filled -offset indent -compact
.Cm mtree
.Fl u
.Fl f
.Ar mtreefile
.Fl d
.Fl e
.Fl p
.Pa prefix
.Ed
ここで
.Pa prefix
.Fl p
フラグが指定されていればその prefix、
.Fl p
フラグが指定されていない場合にはこのパッケージの最初の
.Cm @cwd
ディレクティブのディレクトリ名が prefix になります。
.It
パッケージに
.Ar install
スクリプトが含まれる場合、
.Bd -filled -offset indent -compact
.Cm script
.Ar pkg-name
.Ar POST-INSTALL
.Ed
として実行されます。これによりインストール前とインストール後の
両方の手続きをこなす一つの
.Ar install
スクリプトを用いることが可能になります。
.It
インストールが終了すると、後で
.Xr pkg_delete 1
で使うために packing list 、
.Ar deinstall
スクリプト、 description 、 display の各ファイルが
.Pa /var/db/pkg/<pkg-name>
にコピーされます。
パッケージの依存関係は、他のパッケージの
.Pa /var/db/pkg/<other-pkg>/+REQUIRED_BY
ファイル (PKG_DBDIR 環境変数が設定してある場合、上記の
.Pa /var/db/pkg/
が置き換えられます) に記録されます。
.It
最後に、作業領域が削除されプログラムは終了します。
.El
.Pp
すべてのスクリプトは環境変数
.Ev PKG_PREFIX
にインストール時の prefix (
前述の
.Fl p
オプションを参照) が設定された状態で実行されます。
このことにより、パッケージの作者は
.Cm pkg_add
.Fl p
フラグによりパッケージがインストールされるディレクトリが
変更されても、きちんとふるまうスクリプトを書くことが可能になります。
.Sh 環境変数
.Ev PKG_PATH
の値は、指定されたパッケージが見つからない時に用いられます。
環境変数はコロンで区切られた一連のエントリです。
各エントリはディレクトリ名からなります。
カレントディレクトリは空欄のディレクトリ名で暗黙のうちに指定されるか、
一つのピリオドで明示的に指定します。
.Pp
環境変数
.Ev PKG_DBDIR
は、インストールされたパッケージについてのデータベースの位置を指定します。
.Pp
.Nm
が作業領域の生成を試みる作業用ディレクトリの名前は、環境変数
.Ev PKG_TMPDIR
.Ev TMPDIR
とから(この順で)取られます。
これらの変数が存在しないか、指定されたディレクトリに十分な空き容量が
ない場合、
.Nm
は、
.Pa /var/tmp
.Pa /tmp
.Pa /usr/tmp
のうちで、十分な空き容量を持つ最初のディレクトリを使います。
.Sh ファイル
.Bl -tag -width /var/db/pkg -compact
.It Pa /var/tmp
環境変数
.Ev PKG_TMPDIR
.Ev TMPDIR
のどちらも適切なディレクトリを指定しない場合に、作業領域を作成するため
に用いる作業用ディレクトリ。
.It Pa /tmp
.Pa /var/tmp
が存在しないか、十分な空き容量を持たない場合、その次に選ばれる
ディレクトリ。
.It Pa /usr/tmp
.Pa /var/tmp
.Pa /tmp
のどちらも作業領域を作成するには適切でない場合、最後に選ばれる
ディレクトリ。
.It Pa /var/db/pkg
インストールされたパッケージについてのデータベースのデフォルトの位置。
.El
.Sh 関連項目
.Xr pkg_create 1 ,
.Xr pkg_delete 1 ,
.Xr pkg_info 1 ,
.Xr mktemp 3 ,
.Xr sysconf 3 ,
.Xr mtree 8
.Sh 作者
.An Jordan Hubbard
最初の仕事およびそれに続く開発。
.An John Kohl
NetBSD 向け改良。
.El
.Sh バグ
配布物のファイル間のハードリンクは、
(1) 作業領域が、ファイルへのすべてのリンクの最終的な
ディレクトリと同じファイルシステムの場合もしくは、
(2) ファイルへのすべてのリンクが contents ファイル内で
.Cm @cwd
ディレクティブで括られている場合にのみ保存されます。
.Em さらに
その上、リンク名は単一の
.Cm tar
コマンド (
.Fn sysconf _SC_ARG_MAX
により返される値に依存する実行時の引数の長さの制限により、複数の
実行には分割できません) で展開されなければなりません。
.Pp
バグは他にもあるはずです。
diff --git a/ja_JP.eucJP/man/man1/pkg_create.1 b/ja_JP.eucJP/man/man1/pkg_create.1
index 0153b3c6f6..03fba472e3 100644
--- a/ja_JP.eucJP/man/man1/pkg_create.1
+++ b/ja_JP.eucJP/man/man1/pkg_create.1
@@ -1,441 +1,441 @@
.\"
.\" 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
-.\" %Id: pkg_create.1,v 1.16.2.10 1998/07/18 11:11:43 jkh Exp %
-.\" jpman %Id: pkg_create.1,v 1.3 1997/06/09 10:11:56 jsakai Stab %
+.\" %Id: pkg_create.1,v 1.26 1998/06/26 07:15:37 jkoshy 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.
.\"
+.\" jpman %Id: pkg_create.1,v 1.3 1997/06/09 10:11:56 jsakai Stab %
.Dd April 21, 1995
.Dt pkg_create 1
.Os FreeBSD
.Sh 名称
.Nm pkg_create
.Nd ソフトウェア配布パッケージを作成するプログラム
.Sh 書式
.Nm
.Op Fl YNOhv
.Op Fl P Ar pkgs
.Op Fl p Ar prefix
.Op Fl f Ar contents
.Op Fl i Ar iscript
.Op Fl k Ar dscript
.Op Fl r Ar rscript
.Op Fl s Ar rscript
.Op Fl t Ar template
.Op Fl X Ar excludefile
.Op Fl D Ar displayfile
.Op Fl m Ar mtreefile
.Fl c Ar comment
.Fl d Ar description
.Fl f Ar packlist
.Ar pkg-name
.Sh 解説
この
.Nm
コマンドは、パッケージ展開/情報プログラムに渡されるパッケージを
作成します。
パッケージ作成のために入力する説明とコマンドライン引数
は本来人間が生成することを意図していませんが、
そうすることも簡単にできます。
自力でどうにかすることも可能ですが、作成にはフロントエンドツールを
用いた方がいいでしょう。
とはいうものの、入力書式の概略はこの文書に含まれています。
.Sh オプション
以下のコマンドラインオプションが提供されています:
.Bl -tag -width indent
.It Fl f Ar packinglist
ファイル
.Ar packinglist
から、もしくは
.Ar packinglist
.Cm -
(ダッシュ)であれば
.Cm stdin
から、パッケージ用の ``packing list'' を取得します。
.It Fl c Ar [-]desc
ファイル
.Ar desc
から、もしくは先頭が
.Cm -
で始まっていれば引数自身から、パッケージの ``一行説明'' を取得します。
この文字列は、パッケージが提供するもののバージョンを知る
手がかりとなるべきです。
.It Fl d Ar [-]desc
ファイル
.Ar desc
から、もしくは先頭が
.Cm -
で始まっていれば引数自身から、パッケージの長い説明を取得します。
.It Fl Y
質問に対してのデフォルトの解答を `Yes' とします。
.It Fl N
質問に対してのデフォルトの解答を `No' とします。
.It Fl O
`packing list Only' モードに移行します。
これは
.Em "FreeBSD Ports Collection"
のための特別な修正であり、port がインストールされる時の
`fake pkg_add' を行うために用いられます。
このような場合には、調整された最終的な packing list が
どのようなものになるかを知る必要があるのです。
.It Fl v
饒舌な出力に切り替えます。
.It Fl h
tar がシンボリックリンクをたどるようにします。
この結果、リンク自身ではなくリンク先のファイルが出力されます。
.It Fl i Ar iscript
パッケージのインストール手続きとして
.Ar iscript
を用います。
これは実行可能なプログラム (もしくはシェルスクリプト) なら
なんでも構いません。
これはパッケージがインストールされる時に自動的に起動されます。
.It Fl P Ar pkgs
初期のパッケージ依存リストとして
.Ar pkgs
を用います。
これはホワイトスペースで区切られたパッケージの名前となります。
また、packing list (後述の「PACKING LIST 詳細」セクションを参照)
内の複数の
.Cm @pkgdep
ディレクティブを指定する手っ取り早い方法でもあります。
.It Fl p Ar prefix
パッケージのファイルを選択する際に基準となる初期ディレクトリとして
.Ar prefix
を用います。
.It Fl k Ar dscript
パッケージのアンインストール手続きとして
.Ar dscript
を用います。
これは実行可能なプログラム (もしくはシェルスクリプト) なら
なんでも構いません。
これはパッケージがアンインストールされる時に自動的に起動されます。
.It Fl r Ar rscript
パッケージの ``requirements'' 手続きとして
.Ar rscript
を用います。
これは実行可能なプログラム (もしくはシェルスクリプト) なら
なんでも構いません。
これはインストール時、アンインストール時に自動的に起動され、
インストール、アンインストールを継続するべきかどうかを決定するのに
用いられます。
.It Fl s Ar srcdir
パッケージ作成中に
.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
最終的にパッケージを作成する際に、
.Ar excludefile
.Cm tar
.Fl exclude-from
引数として渡します。
このオプションを使うにあたっての詳しい情報は、
.Cm tar
のマニュアルページ (もしくは
.Fl -help
引数を付けて
.Cm tar
を実行) を参照してください。
.It Fl D Ar displayfile
パッケージをインストールした後にファイルを (
.Xr more 1
を用いて) 表示します。
「ほとんど free なソフトウェア」などにおいて、
法的な通知のようなものなどに便利でしょう。
.It Fl m Ar mtreefile
パッケージがインストールされる前に、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
ディレクティブにより名付けられた最初のディレクトリの名前)。
.El
.Pp
.Sh PACKING LIST 詳細
``packing list'' の書式 (
.Fl f
を参照) は単純で、パッケージに含めるファイル名を一行につきひとつずつ
並べたものにすぎません。
どこにインストールされるかわからないパッケージに対して絶対パスを
用いるのは一般的に悪い方法なので、
どこにインストールされることを想定しているのか、
そしてどんな 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
に設定します。
パッケージ作成時に
.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"
完全な(フルパスの)ファイル名の ``basename'' へ置換されます。
これはカレントディレクトリプレフィックスに最後の filespec を
加え、末尾のファイル名部分を除いたものです。
この例では、
.Pa /usr/local/bin
になります。
.It Cm "%f"
完全な (フルパスを含む) ファイル名の ``filename'' 部分へ置換されます。
.Cm %B
と対応していて、この例では
.Pa emacs
となります。
.El
.It Cm @unexec Ar command
アンインストール処理の一環として
.Ar command
を実行します。特別な
.Cm %
文字列の置換は
.Cm @exec
と同様です。
このコマンドは
.Cm @exec
のようにパッケージを加える際に実行されるのではなく、パッケージが
削除されるときに実行されます。
これは、パッケージを加えるときに作られたリンクや他の
付随ファイル (パッケージの内容一覧に記されているファイルは自動的に
削除されるので除く) を削除するのに便利です。
アンインストールスクリプトよりも
.Cm @unexec
を用いる方が有利な点は、どこにインストールされているかわからない (
.Fl p
を参照) ファイルの場所を得るのに ``特殊文字列置換'' を用いることが
可能なことです。
.It Cm @mode Ar mode
この後で展開されるすべてのファイルのデフォルトの許可属性を
.Ar mode
に設定します。
書式は
.Cm chmod
コマンドで用いられているものと同じです (というよりも、そのまま
渡されています)。
引数無しで用いると、デフォルトの(展開)許可属性に戻します。
.It Cm @option Ar option
内部用パッケージオプションを設定します。
現在二つのオプションのみがサポートされています。
ひとつは
.Ar extract-in-place
で、これは pkg_add コマンドにパッケージの tarball を
staging area に展開せずに、目的の階層に直接展開するよう指示します
(これは主に配布物や他の特殊なパッケージなどに用いられます)。
もうひとつは
.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
パッケージの名前を設定します。
これは必須項目であり、通常先頭に置かれます。
この名前はパッケージが提供するファイルの名前とは異なる可能性があり、
後でアンインストールする時のために
パッケージの記録を残しておくのに使われます。
名前が指定されなかった場合には、
.Nm
はパッケージ名から推定し、自動的に設定することに注意してください。
.It Cm @dirrm Ar name
ディレクトリ
.Pa name
がアンインストール時に削除されるよう宣言します。デフォルトでは、
パッケージのインストール時に作成されたディレクトリは
アンインストール時には削除されませんが、このディレクティブは明示的な
ディレクトリ削除方法を提供します。
このディレクティブはパッケージリストの最後で用いるようにしてください。
一つ以上の
.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
パッケージ
.Ar pkgname
に依存することを宣言します。
パッケージ
.Ar pkgname
はこのパッケージがインストールされる前にインストールされていなければ
ならず、またこのパッケージはパッケージ
.Ar pkgname
がアンインストールされる前にアンインストールされなければなりません。
パッケージが複数のパッケージに依存する場合には、複数の
.Cm @pkgdep
ディレクティブが用いられます。
.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 sysconf 3
.Sh 歴史
.Nm
コマンドは
.Bx Free
で最初に登場しました。
.Sh 作者
.An Jordan Hubbard
ほとんどの仕事
.An John Kohl
NetBSD 向け修正
.El
.Sh バグ
パッケージが展開される際にハードリンクを保存しておくために、
配布物のファイル間でのハードリンクは
.Cm @cwd
ディレクティブで括られていなければなりません。
その上、実行時の引数の長さの制限 (これは
.Fn sysconf _SC_ARG_MAX
により返される値に依存します) のために、それらのハードリンクは単一の
.Cm tar
実行内で行われなければなりません。
.Pp
バグは他にもあるはずです。
diff --git a/ja_JP.eucJP/man/man1/pkg_info.1 b/ja_JP.eucJP/man/man1/pkg_info.1
index 0d76a25edc..c741429abd 100644
--- a/ja_JP.eucJP/man/man1/pkg_info.1
+++ b/ja_JP.eucJP/man/man1/pkg_info.1
@@ -1,173 +1,173 @@
.\"
.\" 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_info.1
-.\" %Id: pkg_info.1,v 1.11.2.7 1998/07/18 11:11:52 jkh Exp %
+.\" %Id: pkg_info.1,v 1.18 1998/07/14 08:28:15 jkoshy Exp %
.\" jpman %Id: pkg_info.1,v 1.3 1997/06/08 14:11:48 jsakai Stab %
.\"
.Dd November 25, 1994
.Dt pkg_info 1
.Os FreeBSD
.Sh 名称
.Nm pkg_info
.Nd ソフトウェア配布パッケージの情報を表示するプログラム
.Sh 書式
.Nm pkg_info
.Op Fl cdDikrRpLqImv
.Op Fl e Ar package
.Op Fl l Ar prefix
.Ar pkg-name [pkg-name ...]
.Nm pkg_info
.Fl a
.Op Ar flags
.Sh 解説
.Nm
コマンドはファイル中に納められたパッケージや
.Xr pkg_create 1
によりすでにシステムにインストールされたパッケージの情報を表示するために
用いられます。
.Sh オプション
以下のコマンドラインオプションが提供されています。
.Bl -tag -width indent
.It Ar pkg-name ...
指定されたパッケージが表示されます。指定されるのはイントール済みの
パッケージの名前か、パッケージ配布ファイルへのパス、ftp 可能な
パッケージへの URL のいずれかになります。
.It Fl a
現在インストールされているすべてのパッケージを表示します。
.It Fl v
饒舌な出力に切り替えます。
.It Fl p
各パッケージのインストール用 prefix を表示します。
.It Fl q
レポートヘッダのような情報を出力する際に余分な出力を省略し、
生の情報のみ出力します (基本的に人が読みやすいものではありません)。
.It Fl c
各パッケージの (一行) コメントフィールドを表示します。
.It Fl d
各パッケージの長い説明フィールドを表示します。
.It Fl D
各パッケージのインストールメッセージファイルを表示します。
.It Fl f
各パッケージの packing list instructions を表示します。
.It Fl i
もしあれば、各パッケージのインストールスクリプトを表示します。
.It Fl I
各パッケージのインデックス行を表示します。このオプションは他のパッケージ
書式整形オプションの全てに優先します。
.It Fl k
もしあれば、各パッケージのアンインストールスクリプト
を表示します。
.It Fl r
もしあれば、各パッケージの requirements スクリプトを表示します。
.It Fl R
(指定した)各パッケージを必要とするパッケージのうちで、インストールされて
いるもののリストを表示します。
.It Fl m
もしあれば、各パッケージの mtree ファイルを表示します。
.It Fl L
各パッケージに含まれるファイルを表示します。
これは packing list をただ見るのとは異なり、
生成されるすべてのフルパス名が表示されます。
.It Fl e Ar pkg-name
.Ar pkg-name
で示されるパッケージが現在インストールされている場合には 0 を
返し、そうでなければ 1 を返します。
このオプションにより、スクリプトから (おそらく必要不可欠な)
他のパッケージの存在を簡単に確認することが可能になります。
.It Fl l Ar str
各 information category header (
.Fl q
を参照) の前に
.Ar str
を付加します。
これは本来、パッケージに関する多くの information fields を一度に
得たいが、そのごっちゃになった出力で混乱したくない、という
フロントエンドプログラムのためにあります。
このオプションで各 field の先頭に特別な文字列を付け加えることが
できます。
.It Fl t Ar template
「作業場所」を作成する際に、
.Xr mktemp 3
への入力として
.Ar template
を用います。
これはデフォルトでは
.Pa /tmp/instmp.XXXXXX
という文字列ですが、
.Pa /tmp
ディレクトリの容量が制限されているような状況では
変更する必要があるかもしれません。
.Xr mktemp 3
が一意の ID を用いるために必要な `X' の文字をいくつか残しておく
ことを忘れないでください。
.Bd -filled -offset indent -compact
Note: pkg_info は各パッケージからとても小さな情報しか
抽出しないので、実際にはこのオプションは必要ありません。
溢れさせるには非常に小さな
.Pa /tmp
でなければならないでしょう。
.Ed
.Sh 技術詳細
パッケージの情報は、コマンドラインから指定されたパッケージのファイル名か、
.Pa /var/db/pkg/<pkg-name>
にあるすでにインストールされたパッケージの情報から抽出されます。
.Sh 環境変数
.Ev PKG_TMPDIR
で、
.Nm
が作業用ファイルを生成するディレクトリを指定します。
この変数が設定されていない場合、
.Ev TMPDIR
が用いられます。両方とも設定されていない場合、
組み込みのデフォルトディレクトリが用いられます。
.Pp
.Ev PKG_DBDIR
で、インストールされたパッケージについてのデータベースの位置を指定します。
.Sh ファイル
.Bl -tag -width /var/db/pkg -compact
.It Pa /var/tmp
環境変数
.Ev PKG_TMPDIR
.Ev TMPDIR
がともに設定されていない場合、もしくはこれらのディレクトリの空き領域が
十分でない場合に用いられます。
.It Pa /tmp
.Pa /var/tmp
が存在しないか、十分な空き領域を持たない場合に、次の選択肢として
用いられます。
.It Pa /usr/tmp
.Pa /tmp
が適切でない場合の最後の選択肢です。
.It Pa /var/db/pkg
インストールされたパッケージについてのデータベースのデフォルトの
位置です。
.El
.Sh 関連項目
.Xr pkg_add 1 ,
.Xr pkg_create 1 ,
.Xr pkg_delete 1 ,
.Xr mktemp 3 ,
.Xr mtree 8
.Sh 作者
.An Jordan Hubbard
ほとんどの仕事
.An John Kohl
NetBSD 向け修正
.El
.Sh バグ
まだあるはずです。
diff --git a/ja_JP.eucJP/man/man1/pr.1 b/ja_JP.eucJP/man/man1/pr.1
index f5e6119713..e90729f11d 100644
--- a/ja_JP.eucJP/man/man1/pr.1
+++ b/ja_JP.eucJP/man/man1/pr.1
@@ -1,331 +1,331 @@
.\" Copyright (c) 1991 Keith Muller.
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Keith Muller of the University of California, San Diego.
.\"
.\" 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.
.\"
.\" @(#)pr.1 8.3 (Berkeley) 4/18/94
-.\" %Id: pr.1,v 1.2.2.1 1997/08/05 06:31:54 charnier Exp %
+.\" %Id: pr.1,v 1.5 1997/08/04 06:39:19 charnier Exp %
.\" jpman %Id: pr.1,v 1.3 1997/06/30 16:45:20 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt PR 1
.Os BSD 4.4
.Sh 名称
.Nm pr
.Nd ファイルの表示
.Sh 書式
.Nm
.Bk -words
.Op Ar \&+page
.Ek
.Bk -words
.Op Fl Ar column
.Ek
.Op Fl adFmrt
.Bk -words
.Oo
.Op Fl e
.Op Ar char
.Op Ar gap
.Oc
.Ek
.Bk -words
.Op Fl h Ar header
.Ek
.Bk -words
.Oo
.Op Fl i
.Op Ar char
.Op Ar gap
.Oc
.Ek
.Bk -words
.Op Fl l Ar lines
.Ek
.Bk -words
.Op Fl o Ar offset
.Ek
.Bk -words
.Oo
.Op Fl s
.Op Ar char
.Oc
.Ek
.Bk -words
.Oo
.Op Fl n
.Op Ar char
.Op Ar width
.Oc
.Ek
.Bk -words
.Op Fl w Ar width
.Ek
.Op -
.Op Ar file ...
.Sh 解説
.Nm
ユーティリティは、テキストファイルをページ単位に整形し、
出力します。複数の入力ファイルが指定された場合はそれぞれについて読み、
整形し、標準出力に書き出します。デフォルトでは、入力ファイルは
1 ページ 66 行に分割され、各ページに以下のものがつきます。
.sp
.in +2
.ti -2
\(bu ページ番号、日付、時間、ファイルのパス名のついた 5 行のヘッダ
.sp
.ti -2
\(bu 空行からなる 5 行のトレーラ
.in -2
.Pp
標準出力が端末の場合、
.Nm
が処理を完了するまで、診断メッセージを出しません.
.Pp
マルチカラム出力が指定された場合、テキストの各列は同一の幅で出力されます。
デフォルトでテキストの各列は 1 つ以上の
.Em <blank>
で分割されます。入力行がテキストの幅からはみ出るときは切り捨てられます。
単一列の出力の場合は切り捨てられません。
.Sh オプション
.Pp
以下のオプションの記述において、 column, lines, offset, page, width は
10 進の正の整数で、gap は 10 進の負でない整数です。
.Bl -tag -width 4n
.It Ar \&+page
入力を整形したあと、ページ番号
.Ar page
から出力をはじめます。
.It Fl Ar column
.Ar column
列で出力します (デフォルトは 1)。テキストは
入力ファイルから読んだ順に、各列に垂直に書かれます。このオプションを
指定すると、
.Fl e
.Fl i
オプションも指定されたものとみなされます。このオプションは、
.Fl m
と一緒に使用することはできません。
.Fl t
と一緒に使用すると、出力の表示行数が最小になります。
.It Fl a
このオプションは
.Fl column
オプションを変更し、 同一ページで行毎に、順次複数列の出力を行います
(例えば, 列数が 2 の場合、最初の入力行を第 1 列先頭、2 番目の入力行を
第 2 列先頭、3 番目の出力を第一列第 2 行にという具合です)。
このオプションを使うには
.Fl column
オプションの指定が必要です。
.It Fl d
ダブルスペースで出力します。入力に
.Em <newline>
を見つけると、続けて余分な
.Em <newline>
を一つ出力します。
.It Fl e Ar \&[char\&]\&[gap\&]
入力中の各
.Em <tab>
を、式
.Ar n*gap+1
で表される位置のうちの現在位置の次に大きい列位置まで展開します。
この
.Em n
は 0 より大きい整数です。
.Ar gap
が 0 もしくは省略された場合、デフォルトとして 8 が指定されたことになります。
入力中のすべての
.Em <tab>
キャラクタは、適切な個数の
.Em <space>
に展開されます。
数字でない文字
.Ar char
が指定された場合、この文字がその入力のタブキャラクタとして使われます。
.It Fl F
デフォルトの
.Em <newline>
キャラクタシーケンスの代わりに、
改ページに
.Em <form-feed>
キャラクタを使います。
.It Fl h Ar header
ヘッダ行内のファイル名を、文字列
.Ar header
に置き換えます。
.It Fl i Ar \&[char\&]\&[gap\&]
出力において、2 個以上の空白が、
.Ar gap+1
.Ar 2*gap+1
などの列まで連続していた場合に、
この複数の
.Em <space>
.Em <tab>
で置き換えます。
.Ar gap
が 0 もしくは省略された場合、デフォルトとしてタブ位置が 8 列ごとと指定された
ことになります。
数字でない文字
.Ar char
が指定された場合、それがその出力のタブキャラクタとして使われます。
.It Fl l Ar lines
ページ長をデフォルトの 66 行のかわりに
.Ar lines
行にします。
.Ar lines
がヘッダとトレーラの行数の和より大きくないときには、
.Fl t
オプションをつけたときのように、ヘッダとトレーラを出力しません。
.It Fl m
複数のファイルの中身をマージします。引数で指定した各ファイルから
読み込まれた一つの行は、同一の幅で並べて書かれます。テキストの列の数は、
引数で指定したファイルのうちのオープンに成功したものの数になります。
マージするファイルの最大値は、ページ幅とプロセスがオープンできる
ファイルの最大数に依存します。このオプションを指定すると、
.Fl e
.Fl i
オプションも指定されたものとみなされます。
.It Fl n Ar \&[char\&]\&[width\&]
.Ar width
桁の
行番号をつけます。
.Ar width
のデフォルト値は 5 です。
各列の
.Ar width
で指定された位置、 または
.Fl m
による出力の各行に、行番号がつきます。
.Ar char
(数字でない文字)が与えられた場合は、
行番号とテキストの間をその文字で区切ります。
.Ar char
のデフォルトは
.Em <tab>
です。
.Ar width
より長い行番号は
切り詰められます。
.It Fl o Ar offset
出力の各行の先頭には
.Ar offset
個の
.Em <space>
がつきます。
.Fl o
オプションの指定がなければ、デフォルトは 0 になります。
このスペースは出力の幅に追加されます。
.It Fl r
ファイルのオープンに失敗したときのエラーメッセージを出力しません。
.It Fl s Ar char
テキストの各列間を、複数個の
.Em <space>
の代わりに単一の文字
.Ar char
で分割します (
.Ar char
のデフォルトは
.Em <tab>
です)。
.It Fl t
通常ならば各ページに付加される 5 行の識別ヘッダと 5 行のトレーラを
どちらも表示しなくなります。各ファイルの最終行が出力されたあと、
ページの最後までの空白を作らずに、そこで動作をやめてしまいます。
.It Fl w Ar width
マルチカラム出力のために、1 行の幅を
.Ar width
文字分にします。
.Fl w
オプションも
.Fl s
オプションも指定されなかった場合、デフォルト幅は 72 です。
.Fl w
オプションが指定されずに
.Fl s
オプションが指定された場合は、デフォルト幅は 512 になります。
.It Ar file
表示するファイルのパス名です。
.Ar file
が指定されなかった場合、もしくは
.Ar file
.Sq Fl
だった場合は、標準入力が利用されます。
標準入力が使用されるのは、
.Ar file
が指定されなかった場合、もしくは
.Ar file
.Sq Fl
だった場合のみです。
.El
.Pp
.Fl s
オプションでは、オプション文字 (`s') と その引数 (
.Ar char
)
との間を空けることは許されていません。また、
.Fl e ,
.Fl i ,
.Fl n
は両方の引数が必要で、オプション文字と分割できません。
.Sh エラー
.Pp
.Nm
が端末に出力中に割り込みを受け取ると、 保存していたエラーメッセージを
スクリーン上に全てフラッシュしてから終了します。
.Pp
.Nm
ユーティリティは, 正常終了時には 0 を、 エラー終了時には 1 を返します。
.Pp
エラーメッセージは、(出力がリダイレクトされている場合は)整形作業中に、
(端末に出力されている場合は)整形に成功したすべてのファイル出力が完了した後、
標準エラー出力に表示されます。
.Sh 関連項目
.Xr cat 1 ,
.Xr more 1
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2
に準拠しています。
.Sh 歴史
.Nm
コマンドは
.At v1
に登場しました。
diff --git a/ja_JP.eucJP/man/man1/ps.1 b/ja_JP.eucJP/man/man1/ps.1
index fafa2dee95..8398e0f570 100644
--- a/ja_JP.eucJP/man/man1/ps.1
+++ b/ja_JP.eucJP/man/man1/ps.1
@@ -1,525 +1,527 @@
.\" 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
-.\" %Id: ps.1,v 1.11.2.2 1998/02/18 22:54:59 dima Exp %
+.\" %Id: ps.1,v 1.19 1998/06/04 07:02:59 jkoshy Exp %
.\" jpman %Id: ps.1,v 1.2 1997/05/20 01:19:55 mutoh Stab %
.\"
.Dd April 18, 1994
.Dt PS 1
.Os BSD 4
.Sh 名称
-.Nm \&ps
+.Nm ps
.Nd プロセスの状態の表示
.Sh 書式
-.Nm \&ps
+.Nm ps
.Op Fl aCcefhjlmrSTuvwx
.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
.Op Fl W Ar swap
.br
-.Nm \&ps
+.Nm ps
.Op Fl L
.Sh 解説
-.Nm \&ps
+.Nm ps
は、制御端末を持つ自分(あなた)のプロセスの情報を、
ヘッダ行に続いて表示します。
この情報はプロセス
.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
自分のプロセスに加え自分以外のプロセスの情報も同様に表示します。
.It Fl c
``コマンド'' 桁の出力を、全てのコマンドラインを表示するのではなく、
実行形式名だけを表示するように変更します。
.It Fl C
cpu パーセンテージの計算を、``常駐'' 時間を無視する ``生''
cpu 時間を使う方法に変更します(通常これは影響ありません)。
.It Fl e
環境(変数)も同時に表示します。
.It Fl f
-より詳しいプロセス情報を得るように、働きます。
+スワップアウトされたプロセスに関して、
+コマンドラインと環境の情報を表示します。
+ユーザの uid が 0 である場合のみ、このオプションが有効になります。
.It Fl h
ページ毎に一つヘッダが入るようにします。
.It Fl j
次のキーワードに関する情報を表示します:
user, pid, ppid, pgid, sess, jobc, state, tt, time, command。
.It Fl L
有効なキーワードの一覧を表示します。
.It Fl l
次のキーワードに関する情報を表示します:
uid, pid, ppid, cpu, pri, nice, vsz, rss, wchan, state, tt, time, command。
.It Fl M
名前リストの値を取り出すとき、
デフォルトの
-.Dq Pa /dev/kmem
+.Pa /dev/kmem
の代わりに、指定した
.Ar core
から取り出します。
.It Fl m
プロセス
.Tn ID
順ではなく、メモリ使用量順に整列します。
.It Fl N
デフォルトの
-.Dq Pa /kernel
+.Pa /kernel
の代わりに、指定された
.Ar system
から名前リストを取り出します。
.It Fl O
デフォルトで表示される情報に加え、
指定されたキーワードに関する情報を、
プロセス
.Tn ID
の後に挿入する形式で表示します。
.\"キーワードの列
.\".Ar fmt
.\"は、空白あるいはカンマで区切って指定します。
.\"(訳中)2.2.1Rの記述には確認できないのでコメントアウトしました。
.\" 2.2.1R 対象(1997/05/16) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
各キーワードの後ろには、等号 (``='') と文字列を追加しても構いません。
この場合、標準のヘッダの代わりに指定された文字列が表示されます。
.It Fl o
指定されたキーワードに関する情報を、表示します。
.\"キーワードの列
.\".Ar fmt
.\"は、空白あるいはカンマで区切って指定します。
.\"(訳中)2.2.1Rの記述には確認できないのでコメントアウトしました。
.\" 2.2.1R 対象(1997/05/16) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
各キーワードの後ろには、等号(``='')と文字列を追加しても構いません。
この場合、標準のヘッダの代わりに指定された文字列が表示されます。
.It Fl p
指定したプロセス
.Tn ID
に関する情報を表示します。
.It Fl r
プロセス
.Tn ID
順ではなく、現在の cpu 利用率順に整列します。
.It Fl S
プロセス時間を計算するのに、
終了した子プロセスの時間を親プロセスに合計するように変更します。
.It Fl T
標準入力のデバイスに取り付けられたプロセスの情報を表示します。
.It Fl t
指定された端末デバイスに取り付けられたプロセスの情報を表示します。
.It Fl U
指定された
.Tn 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
デフォルトの
-.Dq Pa /dev/drum
+.Pa /dev/drum
の代わりに指定したファイルからスワップ情報を取り出します。
.It Fl w
デフォルトの現行ウィンドウ幅ではなく、132桁幅で表示します。
一度より多く
.Fl w
オプションを指定すると、
-.Nm \&ps
+.Nm ps
はウィンドウ幅にかかわらず、必要なだけの幅を使用します。
.It Fl x
制御端末のないプロセスの情報も表示します。
.El
.Pp
有効なキーワードの全リストを以下に示します。
いくつかのキーワードに関してはさらに詳しく述べます。
.Bl -tag -width indent
.It %cpu
プロセスの cpu 利用率です。実時間で最近 1 分間の減衰平均です。
計算の基点となる時間は変化するので
(プロセスはまだ生れたばかりかもしれないので)、
.Tn \&%CPU
フィールド全部の合計は 100% を越える可能性もあります。
.It %mem
プロセスで使われている実メモリのパーセンテージです。
.It flags
インクルードファイル
.Aq Pa 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 選択されている;wakeup/waiting は危険である"
.It Dv "P_SINTR" Ta No "0x00080 スリープは停止可能"
.It Dv "P_SUGID" Ta No "0x00100 最後の実行以来 特権セット id されている"
.It Dv "P_SYSTEM" Ta No "0x00200 システム proc: sigs や stat や swap が無い"
.It Dv "P_TIMEOUT" Ta No "0x00400 スリープ中にタイムアウトした"
.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_NOSWAP" Ta No "0x08000 別のフラグがスワップアウトを妨げている"
.It Dv "P_PHYSIO" Ta No "0x10000 物理 I/O をおこなっている"
.It Dv "P_OWEUPC" Ta No "0x20000 次の ast プロセスが addupc() 呼び出しの借り"
.It Dv "P_SWAPPING" Ta No "0x40000 プロセスはスワップされている"
.El
.It lim
.Xr setrlimit 2
の呼び出しで指定される、メモリ使用量のソフトリミットです。
.It lstart
コマンドの実行が始まった正確な時刻を、
.Xr strftime 3
に記述された ``%c'' フォーマットで表示します。
.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 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 vadvise 2
における
.Dv VA_ANOM
のことで、例えば、
.Xr lisp 1
でのガーベージコレクション)を要求しました。
.It E
プロセスは終了しようとしています。
.It L
プロセスは実メモリ中にロックされたページ
(例えば、raw
.Tn I/O
用)を持っています。
.It N
プロセスは
.Tn CPU
スケジューリング優先度(
.Xr setpriority 2
参照)が下げられています。
.It S
プロセスは
.Tn FIFO
ページ置換(
.Xr vadvise 2
における
.Dv VA_SEQL
のことで、
例えば、仮想記憶の多量のデータを順次アクセスする
大規模画像処理プログラム)を要求しました。
.It s
プロセスはセッションリーダです。
.It V
プロセスは
.Xr vfork 2
の間、一時中断されています。
.It W
プロセスはスワップアウトされています。
.It X
プロセスはトレースされているか、デバッグされています。
.El
.It tt
もしあれば、制御端末のパス名の省略形です。
省略形は
-.Dq Pa /dev/tty
-に続く2文字か、コンソール場合の ``co'' です。
+.Pa /dev/tty
+に続く3文字か、コンソール場合の ``con'' です。
もはやプロセスがその制御端末に到達できない(即ち、revoke された)場合、
後に ``-'' が付きます。
.It wchan
プロセスが待っているイベント(システム内のアドレス)。
数字で表示される時には、アドレスの最初の部分は削られて
その結果が16進で表示されます。例えば 0x80324000 では 324000 と表示されます。
.El
.Pp
キーワード command には、
すでに終了しているのに親がまだ wait してくれていない
プロセス(即ちゾンビ)は ``<defunct>'' と表示されます。
終了しようとしてブロックされているプロセスは ``<exiting>'' と表示されます。
-.Nm \&ps
+.Nm ps
は、メモリやスワップ領域を検査して、
プロセスが生成されたときのファイル名や引数を推測します。
この方法は、本質的に少々信頼できるものではなく、
プロセスはとにかくこの情報を破壊することができます。
だから、表示されるコマンド名や引数をあまり信用しすぎてはなりません。
一方、キーワード 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 ktracep
トレース中の vnode
.It lim
メモリ利用のリミット
.It logname
プロセスを開始したユーザのログイン名
.It lstart
開始時刻
.It majflt
総ページフォールト数
.It minflt
総ページ再生数
.It msgrcv
総メッセージ受信数(パイプ/ソケットからの読み込み)
.It msgsnd
総メッセージ送信数(パイプ/ソケットへの書き込み)
.It nice
nice 値(別名 ni)
.It nivcsw
総強制的コンテキストスィッチ数
.It nsigs
総シグナル受け入れ数(別名 nsignals)
.It nswap
総スワップイン/スワップアウト数
.It nvcsw
総自発的コンテキストスィッチ数
.It nwchan
wait チャネル(アドレスで表示)
.It oublk
総ブロック書き込み数(別名oublock)
.It p_ru
リソース利用量(ゾンビに対してのみ有効)
.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 rlink
run 行列における逆リンク(あるいは 0)
.It rss
常駐セットサイズ
.It rsz
常駐セットサイズ+(テキストのサイズ/テキストの利用総数) (別名rssize)
.\" つまり、共通テキストを複数プロセスで分担しているわけだ
.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 tsess
制御端末セッションポインタ
.It tsiz
テキストサイズ(Kbyte 単位)
.It tt
制御端末名(2 文字の省略形)
.It tty
制御端末の完全な名前
.It uprocp
プロセスポインタ
.It ucomm
アカウンティングで使われるコマンド名
.It uid
実効ユーザ
.Tn ID
.It upr
システムコールから帰る時のスケジューリング優先度(別名 usrpri)
.It user
ユーザ名(uid から得たもの)
.It vsz
kByte 単位の仮想記憶サイズ(別名vsize)
.It wchan
wait チャネル(シンボル名で表示)
.It xstat
終了ステータスまたは stop ステータス
(stop プロセスかゾンビプロセスの時のみに有効)
.El
.Sh 関連ファイル
.Bl -tag -width /var/run/kvm_kernel.db -compact
.It Pa /dev
スペシャルファイルとデバイスの名前
.It Pa /dev/drum
デフォルトのスワップデバイス
.It Pa /dev/kmem
デフォルトのカーネルメモリデバイス
.It Pa /var/run/dev.db
.Pa /dev
名前データベース
.It Pa /var/run/kvm_kernel.db
システム(カーネル)の名前リストデータベース
.It Pa /kernel
デフォルトのシステムの名前リスト
.El
.Sh 関連項目
.Xr kill 1 ,
.Xr w 1 ,
.Xr kvm 3 ,
.Xr strftime 3 ,
.Xr pstat 8
.Sh バグ
.Nm \&ps
はシステムより速く実行できず、
他のプロセスと同様にスケジュールされて実行されるので、
表示される情報は正確ではあり得ません。
diff --git a/ja_JP.eucJP/man/man1/pwd.1 b/ja_JP.eucJP/man/man1/pwd.1
index cc42961e19..cce650b158 100644
--- a/ja_JP.eucJP/man/man1/pwd.1
+++ b/ja_JP.eucJP/man/man1/pwd.1
@@ -1,67 +1,67 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)pwd.1 8.2 (Berkeley) 4/28/95
-.\" %Id: pwd.1,v 1.2.8.3 1998/07/16 09:35:45 jkh Exp %
+.\" %Id: pwd.1,v 1.6 1998/05/15 06:30:57 charnier Exp %
.\" jpman %Id: pwd.1,v 1.2 1997/04/21 08:09:42 mitchy Stab %
.\"
.Dd April 28, 1995
.Dt PWD 1
.Os BSD 4
.Sh 名称
.Nm pwd
.Nd ワーキングディレクトリの表示
.Sh 書式
.Nm pwd
.Sh 解説
.Nm
は、現在のワーキングディレクトリを絶対パスで標準出力に出力します。
.Pp
.Nm
は、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
.Sh 規格
.Nm
コマンドは
.St -p1003.2
互換です。
.Sh 関連項目
.Xr cd 1 ,
.Xr csh 1 ,
.Xr getcwd 3
.Sh バグ
.Xr csh 1
の内部コマンド
.Ic dirs
は pwd より高速ですが、実装が違うため、まれに
サブディレクトリに移動したときの表示結果が異なることがあります。
diff --git a/ja_JP.eucJP/man/man1/quota.1 b/ja_JP.eucJP/man/man1/quota.1
index 596f621c0b..d28cc8e7ad 100644
--- a/ja_JP.eucJP/man/man1/quota.1
+++ b/ja_JP.eucJP/man/man1/quota.1
@@ -1,141 +1,141 @@
.\" 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.
.\"
.\" @(#)quota.1 8.1 (Berkeley) 6/6/93
-.\" %Id: quota.1,v 1.3.2.1 1997/08/05 06:36:34 charnier Exp %
+.\" %Id: quota.1,v 1.6 1997/08/04 06:45:11 charnier Exp %
.\" jpman %Id: quota.1,v 1.2 1997/05/17 16:06:48 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt QUOTA 1
.Os BSD 4.2
.Sh 名称
.Nm quota
.Nd ディスクの使用状況と割り当て制限を表示する
.Sh 書式
.Nm
.Op Fl g
.Op Fl u
.Op Fl v | Fl q
.Nm quota
.Op Fl u
.Op Fl v | Fl q
.Ar user
.Nm quota
.Op Fl g
.Op Fl v | Fl q
.Ar group
.Sh 解説
.Nm
は、ユーザのディスク使用量と割り当て制限を表示します。デフォルトで
はユーザに対する割り当て制限に関する情報のみが表示されます。
.Pp
オプション
.Pp
.Bl -tag -width Ds
.It Fl g
ユーザが所属するグループに対するグループ割り当て制限を表示します。
これに対し、
.Fl u
オプションはデフォルトの動作と同じです。
.It Fl v
.Nm
は使用していないファイルシステムについても割り当て制限を表示します。
.It Fl q
使用量が割り当てを越えたファイルシステムに関する情報だけが含まれる簡潔
なメッセージを表示します。
.El
.Pp
.Fl g
.Fl u
の両方を指定した場合は、(そのユーザの)ユーザ割り当て制限とグループ割
り当て制限の両方が表示されます。
.Pp
スーパユーザに限り、
.Fl u
オプションとユーザ名を引数に指定して
他のユーザの割り当て制限を見ることができます。
スーパユーザ以外でも自分が所属するグループについては、
.Fl g
オプションと
.Ar group
引数を指定することで、自分が属するグループの割り当て制限だけは
見ることができます。
.Pp
.Fl q
オプションは
.Fl v
オプションより優先されます。
.Pp
.Nm
はマウントされている全てのファイルシステムに関して報告しようとします。
ファイルシステムが
.Nm NFS
を介してマウントされている場合、
.Xr rpc.rquotad 8
.Nm NFS
サーバのデーモンと連絡しようとします。
.Nm UFS
ファイルシステムでは、
.Nm
.Pa /etc/fstab
にて有効にされている必要が有ります。
.Nm
が 0 以外の値を返して終了した場合、割り当て制限を越えているファイルシステムが
あります。
.Sh 関連ファイル
.Bl -tag -width quota.group -compact
.It Pa quota.user
ファイルシステムのルートディレクトリに置かれたユーザの割り当て制限に関
するデータ
.It Pa quota.group
ファイルシステムのルートディレクトリに置かれたグループの割り当て制限に
関するデータ
.It Pa /etc/fstab
ファイルシステムの名前と位置
.El
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
で登場しました。
.Sh 関連項目
.Xr quotactl 2 ,
.Xr fstab 5 ,
.Xr edquota 8 ,
.Xr quotacheck 8 ,
.Xr quotaon 8 ,
.Xr repquota 8 ,
.Xr rpc.rquotad 8
diff --git a/ja_JP.eucJP/man/man1/ranlib.1 b/ja_JP.eucJP/man/man1/ranlib.1
index 78b3bb310d..60240489c3 100644
--- a/ja_JP.eucJP/man/man1/ranlib.1
+++ b/ja_JP.eucJP/man/man1/ranlib.1
@@ -1,92 +1,92 @@
.\" 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.
.\"
.\" @(#)ranlib.1 8.1 (Berkeley) 6/6/93
-.\" %Id: ranlib.1,v 1.3.2.1 1997/08/05 06:39:14 charnier Exp %
+.\" %Id: ranlib.1,v 1.6 1997/08/04 06:48:23 charnier Exp %
.\" jpman %Id: ranlib.1,v 1.3 1997/08/20 12:40:27 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt RANLIB 1
.Os
.Sh 名称
.Nm ranlib
.Nd アーカイブライブラリの目次テーブルの作成
.Sh 書式
.Nm
.Op Fl t
.Ar file ...
.Sh 解説
.Nm
は、
アーカイブライブラリの外部参照テーブルを作成します。
このテーブルは通常、ローダ
.Xr ld 1
に用いられます。
このテーブルには ``__.SYMDEF'' という名前が付けられ、
アーカイブの先頭に追加されます。
アーカイブ中の非実行可能ファイルやローダに関係のないシンボルは無視されます。
.Pp
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl t
__.SYMDEF ファイルの最終修正時刻をセットします。
ローダの中には、この時刻をアーカイブの最終修正時刻と比較し、
テーブルがアーカイブに対して最新の状態であることを確認するものが
あります(FreeBSD のローダはそうではありません)。
もしアーカイブに何ら変更を加えないまま最終修正時刻が書き換えられた場合
(例えば
.Xr cp 1
によって)、
.Fl t
オプションを用いて最終修正時刻を ``touch'' し、
テーブルが最新状態であるように見せかけることができます。
この機能は
.Xr make 1
.Fl t
オプションを使用した後でも有用です。
.El
.Sh 関連ファイル
.Bl -tag -width /tmp/ranlib.XXXXXX -compact
.It Pa /tmp/ranlib.XXXXXX
一時ファイル名
.El
.Sh 関連項目
.Xr ar 1 ,
.Xr ld 1 ,
.Xr lorder 1 ,
.Xr nm 1 ,
.Xr ranlib 5
.Sh 歴史
.Nm
コマンドは
.At v7
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/rcp.1 b/ja_JP.eucJP/man/man1/rcp.1
index cf52d22dfb..7f270bc9e7 100644
--- a/ja_JP.eucJP/man/man1/rcp.1
+++ b/ja_JP.eucJP/man/man1/rcp.1
@@ -1,145 +1,145 @@
.\" 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.
.\"
.\" @(#)rcp.1 8.1 (Berkeley) 5/31/93
-.\" %Id: rcp.1,v 1.2.8.2 1998/07/16 09:35:45 jkh Exp %
+.\" %Id: rcp.1,v 1.6 1998/05/18 06:36:02 charnier Exp %
.\" jpman %Id: rcp.1,v 1.2 1997/05/20 01:30:55 mutoh Stab %
.\"
.Dd May 31, 1993
.Dt RCP 1
.Os BSD 4.3r
.Sh 名称
.Nm rcp
.Nd リモートファイルのコピー
.Sh 書式
.Nm rcp
.Op Fl Kpx
.Op Fl k Ar realm
.Ar file1 file2
.Nm rcp
.Op Fl Kprx
.Op Fl k Ar realm
.Ar file ...
.Ar directory
.Sh 解説
.Nm
は、ネットワークでつながれた複数のマシンの間でコピーをするプログラムです。
.Ar file
および
.Ar directory
として ``rname@rhost:path'' の形式で指定する
ことにより、それがリモートマシン上のファイルであるとみなされます。
ファイル指定に ``:'' が含まれていないか、含まれていても``/''のあとにある
場合は、ローカルマシンのファイルとみなされます。
.Pp
次のオプションを利用可能です:
.Bl -tag -width flag
.It Fl K
全ての Kerberos による認証を無効にします。
.It Fl k
.Xr krb_realmofhost 3
で決定されるリモートホストの realm のかわりに、
.Ar realm
で指定したリモートホストの チケットを得るようにします。
.It Fl p
.Ar umask
を無視し、転送元のファイルの修正日付とアクセスモードを維持したままコピー
します。デフォルトでは、転送先に同じファイル名のファイルがすでに
存在していれば、そのファイルのモードと所有者が引き継がれ、もしファイルが
存在していなければ、転送元のファイルのモードに転送先のマシンで使われている
.Xr umask 2
のマスクを施したアクセスモードになります。
.It Fl r
転送元としてディレクトリが指定された場合、ディレクトリ下の各ファイルも
再帰的にコピーします。この場合、転送先にはディレクトリを指定しなければ
なりません。
.It Fl x
.Nm
で送るすべてのデータを
.Tn DES
暗号化します。これによりレスポンスタイムと
.Tn CPU
の利用率に影響が生じますが、セキュリティは向上します。
.El
.Pp
.Ar file
がフルパスでなかった場合は、リモートマシン
.Ar rhost
上のユーザ
.Ar ruser
のログインディレクトリ
(リモートユーザー名が指定されていなければ、現在のユーザー名の
ログインディレクトリ)からの相対パスと解釈します。
リモートマシン上のファイル指定にワイルドカードなどのメタキャラクタを
含める場合は、ローカルマシンのシェルによりワイルドカードが
展開されないよう \e、" または \(aa でクォートする必要があります。
.Pp
.Nm
では
.Xr rsh 1
を使用するため同様のユーザーの認証が必要とされ、パスワードを要求する
プロンプトを出しません。
.Pp
.Nm
では転送元、転送先ともにリモートマシンを指定し、第3者によるリモートマシン間での
ファイルのコピーを行うこともできます。
.Sh 関連項目
.Xr cp 1 ,
.Xr ftp 1 ,
.Xr rlogin 1 ,
.Xr rsh 1
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
このバージョンの
.Nm
は、
.Bx 4.3 Reno
において Kerberos を組み込んで再インプリメントされました。
.Sh バグ
ディレクトリが指定されるべき場所にファイルが指定されている場合を検出で
きるとは限りません。
.Pp
リモートホストの
.Pa \&.login ,
.Pa \&.profile
または
.Pa \&.cshrc
内のコマンドの出力によって混乱することがあります。
.Pp
転送先のマシンにバージョン
.Bx 4.2
.Nm
が動作している場合、``rhost.rname''のように転送先のユーザー名とホスト
名を指定しなければなりません。
diff --git a/ja_JP.eucJP/man/man1/rcs.1 b/ja_JP.eucJP/man/man1/rcs.1
index 9f07ac0bd5..ca58610edb 100644
--- a/ja_JP.eucJP/man/man1/rcs.1
+++ b/ja_JP.eucJP/man/man1/rcs.1
@@ -1,448 +1,448 @@
.de Id
.\" jpman %Id: rcs.1,v 1.2 1997/05/30 07:33:50 yugawa Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcs.1,v 1.2 1995/10/28 21:50:11 peter Exp %
+.Id %Id: rcs.1,v 1.4 1997/02/22 15:47:53 peter Exp %
.ds r \&\s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.if !\n(.g \{\
. if !\w|\*(lq| \{\
. ds lq ``
. if \w'\(lq' .ds lq "\(lq
. \}
. if !\w|\*(rq| \{\
. ds rq ''
. if \w'\(rq' .ds rq "\(rq
. \}
.\}
.TH RCS 1 \*(Dt GNU
.SH 名称
rcs \- RCS ファイルの属性を変更する
.SH 書式
.B rcs
.IR "options file " .\|.\|.
.SH 解説
.B rcs
は、\*r ファイルの新規作成および \*r ファイルの属性変更を行います。
\*r ファイルは、複数のリビジョン、アクセスリスト、変更履歴、
内容記述、制御属性からなります。
.B rcs
コマンドが実行できるのは、
実行したユーザが \*r ファイルのアクセスリストに登録されているか、
アクセスリストが空であるか、ユーザが \*r ファイルの所有者であるか、
スーパーユーザであるか、あるいは
.B \-i
オプションが指定されている場合に限られます。
.PP
\*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、その他
のファイル名はワークファイルであるとみなします。詳しくは、
.BR ci (1)
を参照してください。リビジョン番号は
.BR ci (1)
に記述されている形式を用います。
.SH オプション
.TP
.B \-i
新たな \*r ファイルを作成し、初期化します。ただし、リビジョンは作成しません。
指定されたファイル名にディレクトリ名が含まれていない場合、
.B rcs
はまずカレントディレクトリにある
.BR ./RCS
ディレクトリにファイルを作成しよう
と試みます。これに失敗したら、カレントディレクトリに作成しようと試みます。
もしすでに \*r
ファイルが存在した場合はエラーとなります。
.TP
.BI \-a "logins"
\*r ファイルのアクセスリストに
.I logins
で指定したユーザ名を追加します。
.I logins
は、コンマで区切ったユーザ名のリストです。
.TP
.BI \-A "oldfile"
.I oldfile
で指定した \*r ファイルのアクセスリストに登録されているユーザ名を、
対象の \*r ファイルのアクセスリストに追加します。
.TP
.BR \-e [\f2logins\fP]
.I logins
で指定したユーザ名を、\*r ファイルのアクセスリストから消去します。
.I logins
が省略された場合は、アクセスリスト全体を消去します。
.TP
.BR \-b [\f2rev\fP]
.I rev
をデフォルトの枝とします。
.I rev
が省略された場合、デフォルト枝は
幹上で最も大きな番号を持つ枝になります。
.TP
.BI \-c string
コメント開始文字列を
.IR string
に設定します。
最初に
.BR ci
を起動した時、あるいは
.B "rcs\ \-i"
.BR \-c
オプションを指定しなかった時は、コメント開始文字列は
ワークファイルの拡張子から自動的に推測されます。
.RS
.PP
通常、\*r はチェックアウト (
.BR co (1)
参照) 時の記録行を挿入する際に、
.B $\&Log$
行の行頭部を使用するので、このオプションは現在廃止の方向にあります。
しかしながら、\*r の古いバージョンでは、
.B $\&Log$
行の行頭部ではなくコメント開始文字列を使用しているので、
\*r の新旧両方のバージョンのファイルを使用する場合は、
そのコメント開始文字列が
.B $\&Log$
行の行頭部と一致するようにしなければなりません。
.RE
.TP
.BI \-k subst
デフォルトのキーワード展開方式を
.IR subst
に設定します。キーワード展開の効果については
.BR co (1)
に記述してあります。
.BR co ,
.BR rcsdiff ,
.B rcsmerge
.B \-k
オプションを指定することで、デフォルトの展開方式を無効にすることができます。
.B "rcs\ \-kv"
を用いるときは注意してください。なぜなら、
.B \-kv
をデフォルトにすると
.B "co\ \-l"
あいいれなくなるからです。
.B "rcs\ \-kkv"
によって、通常のデフォルト値に戻すことができます。
.TP
.BR \-l [\f2rev\fP]
リビジョン
.I rev
をロックします。
.I rev
が枝を示す場合、枝上の最新のリビジョンがロックされます。
.I rev
が省略された場合、デフォルト枝上の最新のリビジョンがロックされます。
ロックすることにより、そのリビジョンのファイルに対して複数の人が
変更することを防止できます。別の人が既にロックしている場合、
.B "rcs\ \-u"
により、ロックを解除することができます(下記参照)。
.TP
.BR \-u [\f2rev\fP]
リビジョン
.I rev
をロック解除します。
.I rev
が枝を示す場合、枝上の最新のリビジョンがロック解除されます。
.I rev
が省略された場合、コマンドを実行したユーザがロックした
最新のリビジョンがロック解除されます。
通常、ロックしたユーザのみがロックを解除することができます。
他のユーザがロックを解除しようとすると、
ロックしたユーザへメールが送信されます。
メールにはロックを解除する理由等を書いた
コメントを付加します。コメントはロックを解除しようとしたユーザが入力し、
ファイル終端あるいは
.B \&.
のみを含む行を入力することで終了します。
.TP
.B \-L
ロックを厳格に行なうモード (以下、厳格モード) に設定します。
厳格ロックを指定すると、\*r ファイルの
所有者であっても、ロックしているファイルをチェックインすることが
できなくなります。
複数のユーザで共有するようなファイルは本モードで利用すべきです。
.TP
.B \-U
ロックを厳格には行なわないモード (以下、非厳格モード) に設定します。
非厳格ロックを指定すると、\*r ファイルの所有者はロックすることなく、
新しいリビジョンをチェックインすることができます。複数の
ユーザで共有するファイルは本モードで使用すべきではありません。
デフォルトのロックモードを厳格にするか非厳格にするかは、\*r システムを
インストールしたシステム管理者が決めますが、通常は厳格モードです。
.TP
\f3\-m\fP\f2rev\fP\f3:\fP\f2msg\fP
リビジョン
.I rev
のログメッセージを
.I msg
に置換します。
.TP
.B \-M
ロックしたユーザ以外のユーザがロックを解除した際に、メールを送りません。
これは使用を簡便にする目的のオプションではありません。他の方法により
ユーザに警告を行うようなプログラムを使用し、
.B "rcs\ \-u"
を単に低いレベルのロック解除の目的で使用するような場合のために
用意されています。
.TP
\f3\-n\fP\f2name\fP[\f3:\fP[\f2rev\fP]]
枝またはリビジョン
.I rev
にシンボリック名
.I name
を関連付けます。
.B :
.I rev
も省略した場合、シンボリック名
.I name
は削除されます。
.I name
がすでに別の
リビジョンに関連付けられていた場合はエラーとなります。
.I rev
がシンボリック名の場合も
.I name
との関連付けは番号によって行われます。枝番号に
.I \&.
を付加したものは、その枝での最新のリビジョンを示します。
.B :
だけで
.I rev
を省略した場合、デフォルト枝(通常は幹)の最新のリビジョンが関連付けられます。
たとえば、
.BI "rcs\ \-n" name ":\ RCS/*"
はすべての \*r ファイルの最新のリビジョンに対してシンボリック名
.I name
を関連付けます。一方、
.BI "rcs\ \-n" name ":$\ RCS/*"
は各 \*r ファイルに対応したワークファイル中のキーワードに含まれる
リビジョン番号と
.I name
を関連付けます。
.TP
\f3\-N\fP\f2name\fP[\f3:\fP[\f2rev\fP]]
.B -n
と同様に動作します。ただし、同じ
.I name
が別のリビジョンに関連付けられていてもエラーとはせず、
関連付けをしなおします。
.TP
.BI \-o range
.I range
で指定したリビジョンを削除します。
.I range
がただ 1 つのリビジョン番号ならば、そのリビジョンを削除します。
.I range
に枝番号が含まれれば、その枝の最新のリビジョンを削除します。
.IB rev1 : rev2
形式の範囲指定では、同じ枝上の
.I rev1
から
.I rev2
までのすべてのリビジョンが削除されます。
.BI : rev
は枝の開始から
.I rev
までのリビジョンを、
.IB rev :
は同じ枝上の
.I rev
以降のリビジョンのすべてを削除します。
削除されるリビジョンにロックや枝があってはいけません。
.TP
.B \-q
診断メッセージは表示されません。
.TP
.B \-I
対話モードで動作します。たとえ標準入力が端末でなくても、ユーザに対して
問い合わせを行います。
.TP
.B \-s\f2state\fP\f1[\fP:\f2rev\fP\f1]\fP
リビジョン
.I rev
の状態を
.I state
にします。
.I rev
が枝番号なら、その枝の最新のリビジョンの状態を変更します。
.I rev
が省略されたなら、デフォルト枝の最新リビジョンを変更します。
.I state
としては自由な識別子を指定できます。一般に用いられる識別子としては、
.B Exp
(experimental: 実験的)、
.B Stab
(stable: 安定した)、
.B Rel
(released: リリースした)があります。デフォルトでは、
.BR ci (1)
は状態を
.B Exp
にします。
.TP
.BR \-t [\f2file\fP]
\*r ファイルの内容記述テキストをファイル
.I file
の内容で置換します。すでに存在していた内容記述は削除されます。ファイル名は
.B \-
で始まってはいけません。
.I file
が省略された場合、
テキストは標準入力から読み込まれ、ファイル終端または
.B \&.
のみを含む行で終了します。可能ならば、テキストの入力を
促すプロンプトが表示されます(
.B \-I
オプションの項を参照)。
.B \-i
オプションを指定すると、
.B \-t
オプションが指定されていなくても内容記述テキストの入力を求めます。
.TP
.BI \-t\- string
\*r ファイルの内容記述テキストを文字列
.I string
で置換します。すでに存在していた内容記述は削除されます。
.TP
.B \-T
リビジョンが削除されない限り、\*r ファイルの変更時刻を保存します。
このオプションを使うことにより、\*r ファイルの中のワークファイルの
コピーによって生ずる
.BR make (1)
の依存関係に伴う必要以上の再コンパイルを防ぐことができます。
このオプションを使用する際には注意が必要です。本当に再コンパイルが必要な
場合にも再コンパイルされない場合が生じます。つまり、\*r ファイルへの変更が
ワークファイル中のキーワードの変更を意味する場合があるからです。
.TP
.BI \-V
\*r システムのバージョン番号を表示します。
.TP
.BI \-V n
\*r システムのバージョン
.I n
のエミュレーションを行います。詳細は
.BR co (1)
を参照してください。
.TP
.BI \-x "suffixes"
\*r ファイル拡張子を
.I suffixes
に指定します。詳しくは
.BR ci (1)
を参照してください。
.TP
.BI \-z zone
デフォルトのタイムゾーンとして
.I zone
を使用します。
このオプションは何の効果もありません。他の \*r コマンドとの互換性を保つ
ために存在します。
.PP
.B rcs
コマンドの将来予定されている拡張との互換性を維持するには、
少なくともひとつのオプションを明示的に指定する必要があります。
.SH 互換性
.BI \-b rev
オプションを指定すると、 \*r バージョン 3 以前では処理できない \*r
ファイルが生成されます。
.PP
.BI \-k subst
オプション(
.B \-kkv
を除く)を指定すると、 \*r バージョン 4 以前では
処理できない \*r ファイルが生成されます。
.PP
バージョン
.I n
の \*r で処理できる \*r ファイルを生成するために
.BI "rcs \-V" n
を利用することができます。これにより、バージョン
.I n
で処理できない情報を削除することができます。
.PP
バージョン 5.5 以前の \*r は
.B \-x
オプションをサポートしません。\*r ファイルの拡張子としては
.B ,v
が用いられます。
.SH 関連ファイル
.B rcs
.BR ci (1)
とほぼ同様のファイル群にアクセスします。ただし、アクセスは
すべて実効ユーザ ID によって行われます。
また、ワークファイルやそのディレクトリには書き込みを
行いません。リビジョン番号として
.B $
を指定した場合を除き、ワークファイルを読むこともありません。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
コマンドライン引数に先立って与えられるオプションを指定します。
各オプションは空白で区切って指定します。詳しくは
.BR ci (1)
を参照してください。
.SH 診断
\*r ファイル名およびひとつ古い(outdated)リビジョン番号が診断出力として
表示されます。
すべての処理が成功した場合に限り終了ステータス 0 を返します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 by Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
rcsintro(1), co(1), ci(1), ident(1), rcsclean(1), rcsdiff(1),
rcsmerge(1), rlog(1), rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.SH バグ
システムクラッシュ等の大惨事があると、\*r はセマフォファイルを
残してしまうため、後に \*r を実行しようとすると、\*r ファイルが使用中であると
警告します。
これを直すにはセマフォファイルを消去する必要があります。
通常、セマフォファイル名前は
.B ,
で始まるか、
.B _
で終了します。
.PP
以前の版の
.B rcs
では
.B -o
オプションにおけるリビジョンの区切りは
.BR :
ではなく
.B \-
でした。
しかし、これはシンボリック名が
.B \-
を含んでいるときに混乱を生じます。
従来の版との互換性のため
.B "rcs \-o"
.B \-
を用いた記法もサポートしますが、
この記法を用いた場合は警告メッセージを表示します。
.PP
シンボリック名が指しているリビジョンが存在するとは限りません。例えば、
.B \-o
オプションによってリビジョンが削除されてもそれを指すシンボリック名は削
除されずに残っています。シンボリック名を削除するには
.B \-n
オプションを用いる必要があります。
.br
diff --git a/ja_JP.eucJP/man/man1/rcsclean.1 b/ja_JP.eucJP/man/man1/rcsclean.1
index 91883d2611..9f5b54b4f5 100644
--- a/ja_JP.eucJP/man/man1/rcsclean.1
+++ b/ja_JP.eucJP/man/man1/rcsclean.1
@@ -1,204 +1,204 @@
.de Id
.\" jpman %Id: rcsclean.1,v 1.2 1997/05/30 07:41:49 yugawa Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsclean.1,v 1.2 1995/10/28 21:50:24 peter Exp %
+.Id %Id: rcsclean.1,v 1.4 1997/02/22 15:47:57 peter Exp %
.ds r \&\s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.TH RCSCLEAN 1 \*(Dt GNU
.SH 名称
rcsclean \- ワークファイルの後片付け
.SH 書式
.B rcsclean
.RI [ options "] [ " file " .\|.\|. ]"
.SH 解説
.B rcsclean
は、RCS ファイルからチェックアウトされた後に変更を受けていない
ワークファイルを削除します。
.B "rcsclean \-u"
は、対象となるワークファイルのロックを解除し、削除します。
.PP
.I file
について
.B rcsclean
は、ワークファイルとそれに対応する \*r ファイルに格納されている
リビジョンとを比較します。
違いが見つかった場合には何もしません。
違いが無い場合、
.B \-u
オプションが指定されていたら、まずそのリビジョンのロックを
解除します。
そして、
ワークファイルが書き込み可能でなくそのリビジョンがロックされて
いないなら、ワークファイルを消去します。
.B rcsclean
は、実行した処理の内容を
.B "rcs \-u"
.B "rm \-f"
コマンドを使って表現し、標準出力に表示します。
.PP
.I file
を指定しなかった場合、カレントディレクトリにあるすべての
ワークファイルを処理対象にします。
\*r の拡張子を持つパス名は、\*r ファイルを表しています。
その他のファイルはワークファイルを意味します。
ファイル名については、
.BR ci (1)
で詳しく説明されています。
.PP
ワークファイルと比較するリビジョン番号は、
.BR \-n ,
.BR \-q ,
.BR \-r ,
.BR \-u
オプションのいずれかで指定することができます。
リビジョン番号を指定せず、
.B \-u
オプションが指定されていて、呼び出したユーザがロックしたリビジョンが
一つだけ存在すれば、
.B rcsclean
はそのリビジョンを使用します。
それ以外の場合には、
.B rcsclean
はデフォルト枝 (普通は幹) の最新リビジョンを使用します。
.PP
.B rcsclean
を Makefile の中の
.B clean
ターゲットで用いると便利です。
.BR rcsdiff (1)
(差分の表示)
や、
.BR ci (1)
(ワークファイルに変更が無い時、チェックインするかどうか確認する)
のマニュアルも参照して下さい。
.SH オプション
.TP
.BI \-k subst
比較のためにリビジョンを取り出すときに、
.I subst
で指定した方式でキーワード置換を行います。詳しくは
.BR co (1)
を参照して下さい。
.TP
.BR \-n [\f2rev\fP]
ファイルの消去やリビジョンのロック解除を行ないません。
このオプションによって、
.B rcsclean
が何を実行しようとするかを、実際の動作を行なわずに知ることができます。
.TP
.BR \-q [\f2rev\fP]
処理の内容を標準出力に表示しません。
.TP
.BR \-r [\f2rev\fP]
比較対象のリビジョンの指定のみを行い、他には何の効果も与えません。
.TP
.B \-T
\*r ファイルがロックの解除により変更された場合でも、
\*r ファイルの変更時刻を保存します。
このオプションを使うことにより、\*r ファイルの中のワークファイルの
コピーによって生ずる
.BR make (1)
の依存関係に伴う必要以上の再コンパイルを防ぐことができます。
このオプションを使用する際には注意が必要です。本当に再コンパイルが必要な
場合にも再コンパイルされない場合が生じます。つまり、ロックの解除により
他のワークファイル中のキーワードの変更を意味する場合があるからです。
.TP
.BR \-u [\f2rev\fP]
違いが見つからなかったファイルがロックされているなら、
ロックを解除します。
.TP
.BI \-V
\*r システムのバージョン番号を表示します。
.TP
.BI \-V n
\*r システムのバージョン
.IR n
のエミュレーションを行います。
詳細は
.BR co (1)
を参照してください。
.TP
.BI \-x "suffixes"
.I suffixes
を \*r ファイル拡張子として指定します。
詳細は
.BR ci (1)
を参照してください。
.TP
.BI \-z zone
キーワードの置換の際、タイムゾーンとして
.I zone
を使用します。
詳細は
.BR co (1)
を参照して下さい。
.SH 使用例
.LP
.RS
.ft 3
rcsclean *.c *.h
.ft
.RE
.LP
チェックアウトされてから変更されていない
.B .c
.B .h
で終る名前のワークファイルをすべて削除します。
.LP
.RS
.ft 3
rcsclean
.ft
.RE
.LP
チェックアウトされてから変更されていない、
カレントディレクトリにあるすべてのワークファイルを削除します。
.SH 関連ファイル
.B rcsclean
は、
.BR ci (1)
と同じファイルにアクセスします。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
引数リストに前置されるオプションを空白で区切って指定します。
オプションの中に含まれる空白は、バックスラッシュでエスケープします。
.B \s-1RCSINIT\s0
オプションは、大部分の \*r コマンドの引数リストに前置されます。
.BR \-q ,
.BR \-V ,
.BR \-x ,
.B \-z
などを指定するのに有用です。
.SH 診断
すべての動作が成功した時にのみ、終了ステータス 0 を返します。
ワークファイルや \*r ファイルがなくても無視します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 by Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993 Paul Eggert.
.SH 関連項目
ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1),
rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.SH バグ
ディレクトリ参照操作を持たない古いバージョンの UNIX では、
少なくとも一つの
.I file
を指定しなければなりません。
.br
diff --git a/ja_JP.eucJP/man/man1/rcsdiff.1 b/ja_JP.eucJP/man/man1/rcsdiff.1
index 1ff9bdb927..2ebd829249 100644
--- a/ja_JP.eucJP/man/man1/rcsdiff.1
+++ b/ja_JP.eucJP/man/man1/rcsdiff.1
@@ -1,158 +1,158 @@
.de Id
.\" jpman %Id: rcsdiff.1,v 1.2 1997/05/29 08:32:23 jsakai Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsdiff.1,v 1.2 1995/10/28 21:50:32 peter Exp %
+.Id %Id: rcsdiff.1,v 1.4 1997/02/22 15:48:00 peter Exp %
.ds r \&\s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.TH RCSDIFF 1 \*(Dt GNU
.SH 名称
rcsdiff \- RCS で管理されているリビジョンを比較する
.SH 書式
.B rcsdiff
[
.BI \-k subst
] [
.B \-q
] [
.BI \-r rev1
[
.BI \-r rev2
] ] [
.B \-T
] [
.RI "\f3\-V\fP[" n ]
] [
.BI \-x suffixes
] [
.BI \-z zone
] [
.I "diff options"
]
.I "file .\|.\|."
.SH 解説
.B rcsdiff
は、
.BR diff (1)
を起動して、
指定された \*r ファイルの 2 つのリビジョンを比較します。
.PP
\*r 拡張子にマッチするパス名は \*r ファイル、
その他のパス名はワークファイルであるとみなします。
ファイルの対応づけについては
.BR ci (1)
を参照してください。
.PP
.B \-q
オプションが指定されると診断メッセージの表示を行いません。
.BR \-r
オプションにより 0、1 あるいは 2 個のリビジョンを指定できます。
.BI \-k subst
オプションはリビジョンを取り出す際のキーワード置換の方法を変更します。
.BR co (1)
を参照してください。
たとえば、
.B "\-kk\ \-r1.1\ \-r1.2"
と指定すると、
リビジョン
.B 1.1
.BR 1.2
を比較する際にキーワードの違いを無視します。
以下に示す 4 つの場合、
ロック者キーワードの違いから余計な差分が出力されるのを抑止するために、
.B \-kkvl
オプションが指定されたものとみなします。
(1) たかだか 1 つのリビジョンしか指定されていない、
(2)
.B \-k
オプションが指定されていない、
(3) デフォルトのキーワード置換方式が
.B \-kkv
と設定されている、
(4) ワークファイルのファイルモードが
.BR "co\ \-l"
が作成するものと同じである。
.BR \-T ,
.BR \-V ,
.BR \-x ,
.B \-z
オプションの詳細については
.BR co (1)
を参照してください。
その他、通常ファイルに対して用いられる
.BR diff (1)
のすべてオプションは、同じ意味で rcsdiff に対して用いることができます。
.PP
.I rev1
.I rev2
が両方とも指定されなかった場合、
.B rcsdiff
はデフォルト枝 (branch) (デフォルトでは幹(trunk)) の
最新のリビジョンとワークファイルとを比較します。
これは、
最後にチェックインした後、
ワークファイルに対して加えられた変更を知るのに便利です。
.PP
.I rev1
のみが指定された場合、
.B rcsdiff
は \*r
ファイル中のリビジョン
.I rev1
の内容とワークファイルの内容を比較します。
.PP
.I rev1
.I rev2
の両方が与えられた場合、
.B rcsdiff
は \*r
ファイル中の指定された 2 つのリビジョンを比較します。
.PP
.I rev1
.I rev2
は、
数字またはシンボルで指定することができます。
.SH 例
以下のコマンド
.LP
.B " rcsdiff f.c"
.LP
は、 \*r
ファイルのデフォルト枝の最新リビジョンとワークファイル
.BR f.c
を比較します。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
コマンドライン引数に先立って与えられるオプションを指定します。
各オプションは空白で区切って指定します。
詳しくは
.BR ci (1)
を参照してください。
.SH 診断
比較したリビジョン間に違いがなければ終了ステータス 0 を、
違いがあれば 1 を、
エラーが発生した場合は 2 を返します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993 Paul Eggert.
.SH 関連項目
ci(1), co(1), diff(1), ident(1), rcs(1), rcsintro(1), rcsmerge(1), rlog(1)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.br
diff --git a/ja_JP.eucJP/man/man1/rcsfreeze.1 b/ja_JP.eucJP/man/man1/rcsfreeze.1
index 58215c7822..963c6183e1 100644
--- a/ja_JP.eucJP/man/man1/rcsfreeze.1
+++ b/ja_JP.eucJP/man/man1/rcsfreeze.1
@@ -1,67 +1,67 @@
.de Id
.\" jpman %Id: rcsfreeze.1,v 1.2 1997/05/30 07:53:15 yugawa Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsfreeze.1,v 1.2 1995/10/28 21:50:42 peter Exp %
+.Id %Id: rcsfreeze.1,v 1.4 1997/02/22 15:48:03 peter Exp %
.ds r \s-1RCS\s0
.TH RCSFREEZE 1 \*(Dt GNU
.SH 名称
rcsfreeze \- RCS に登録されているファイルの構成を記録する
.SH 書式
.B rcsfreeze
.RI [ "name" ]
.SH 解説
.B rcsfreeze
は、\*r ファイルの有効な組合せにシンボリックなリビジョン番号を割り当てます。
.PP
.B rcsfreeze
は、ソフトウェアの新しい版が登録されるたびに実行されるような
使われ方を想定しています。一意のシンボル名 (\c
.BI C_ number,
.I number
.B rcsfreeze
が実行される毎に増加します ) が各 \*r ファイルの主幹の最新
のリビジョンに対して与えられます。
.PP
引数によって与えるシンボル名を指定できます。指定された場合も、
.B rcsfreeze
は一意のシンボル名を生成し、ログファイル中に記録します。しかし、実際の \*r
ファイルには記録されません。
.PP
.B rcsfreeze
は、将来に参照するためのログを入力するように要求します。
.PP
本シェルスクリプトは全ての \*r ファイルに一括して作用します。
新しい版を構成するファイル
は、あらかじめ \*r ファイルに登録されている必要があります。まず、
.BR rcsclean (1)
を実行して、登録されずに残っているファイルがカレントディレクトリに
残っていないかどうかを確認してください。
.SH 関連ファイル
.TP
.B RCS/.rcsfreeze.ver
バージョン番号
.TP
.B RCS/.rcsfreeze.log
ログ。最新のものが先頭になる。
.SH 作者
Stephan v. Bechtolsheim
.SH 関連項目
co(1), rcs(1), rcsclean(1), rlog(1)
.SH バグ
.B rcsfreeze
は、変更されているのに登録されていないワークファイルがあるか
どうかを検査しません。
.PP
\*r ファイル名とワークファイル名の両方をコマンドラインに
指定することが可能ですが、
通常の \*r コマンドのように \*r ファイルとワークファイルの組を指定する
ものではありません。
.PP
エラー検査が不十分です。
.PP
.B rcsfreeze
は、単なるシェルスクリプトの例であり、まともに利用すべきもので
はありません。より完全な解決法を求めるなら、\s-1CVS\s0 を参照してください。
diff --git a/ja_JP.eucJP/man/man1/rcsintro.1 b/ja_JP.eucJP/man/man1/rcsintro.1
index 3fd6cdc255..a720e9f566 100644
--- a/ja_JP.eucJP/man/man1/rcsintro.1
+++ b/ja_JP.eucJP/man/man1/rcsintro.1
@@ -1,315 +1,315 @@
.de Id
.\" jpman %Id: rcsintro.1,v 1.2 1997/05/13 01:05:09 mitchy Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsintro.1,v 1.2 1995/10/28 21:50:20 peter Exp %
+.Id %Id: rcsintro.1,v 1.4 1997/02/22 15:47:55 peter Exp %
.ds r \&\s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.if !\n(.g \{\
. if !\w|\*(lq| \{\
. ds lq ``
. if \w'\(lq' .ds lq "\(lq
. \}
. if !\w|\*(rq| \{\
. ds rq ''
. if \w'\(rq' .ds rq "\(rq
. \}
.\}
.am SS
.LP
..
.TH RCSINTRO 1 \*(Dt GNU
.SH 名称
rcsintro \- RCS 入門
.SH 解説
\*r (Revision Control System) は、ファイルのリビジョンを複数管理します。
\*r は格納、取り出し、ログ、識別、リビジョンの併合を自動化します。\*r
は頻繁に更新されるテキスト、たとえば、プログラム、ドキュメント、
グラフィックス、論文、定型手紙等を扱うのに便利です。
.PP
基本的なユーザインタフェースはとても単純です。初心者は 2 つのコマンド、
.BR ci (1)
.BR co (1)
を覚えるだけで使用できます。
.B ci
はチェックイン
\*(lqcheck in\*(rq を省略した名前です。これは、ファイルの内容を
「\*r ファイル」と呼ばれる記録用のファイルに格納します。
\*r ファイルは、特定ファイルの全リビジョンを含んでいます。
.B co
はチェックアウト\*(lqcheck out\*(rq を省略した名前です。
これは、\*r ファイルからリビジョンを取り出します。
.SS "\*r の機能"
.IP \(bu
テキストの複数のリビジョンの保存と取り出しを行います。\*r は
すべての古いリビジョンを効率的な方法で保存します。
ファイルを変更しても
元のリビジョンが失なわれることはなく、いずれも取り出すことが
可能です。リビジョンは、リビジョン番号、シンボル名、日付、作者、
状態を指定して取り出せます。
.IP \(bu
完全な変更の履歴を管理します。\*r は、すべての変更点を自動的に
記録します。各リビジョンの内容とともに、作者、チェックインした日時、
変更点を要約したログメッセージが記録されます。
ログによって、どのような変更が行われたのかがひと目でわかります。
ソースリストを見比べたり、一緒に作業している
プログラマにたずねたりする必要はありません。
.IP \(bu
アクセス矛盾を解決します。複数のプログラマがあるファイルの
同じリビジョンに対して変更を加えようとした場合、
\*r は警告を発し、他者が行った変更を台無しにしてしまう
のを防ぎます。
.IP \(bu
リビジョンの木を管理します。\*r はモジュールごとに独立した
開発ラインを管理できます。
\*r は、リビジョンの系図を表現した木を保存します。
.IP \(bu
リビジョンを併合し、矛盾を解決します。あるモジュールの 2 つの
リビジョンを併合することができます。
併合しようとする 2 つのリビジョンが、あるコードの同じ部分に
対する変更を含んでいた場合、\*r は変更が重複していると警告します。
.IP \(bu
リリースと構成を管理します。リビジョンにはシンボル名を
つけることができます。また、「リリース版(released)」、「安定版(stable)」、
「実験版(experimental)」といった状態をつけることもできます。
これにより、単純かつ直接的にモジュールの構成を表すことができます
.IP \(bu
リビジョン番号、作成日時、作者等を自動的に識別することができます。
識別情報は、消印のようにテキストの適当な場所に埋め込むことが
できます。これにより、あるソフトウェアの構成に
どのモジュールのどのリビジョンが使用されているかを
判断することが容易になります。
.IP \(bu
必要なディスク容量を最小にします。\*r は、リビジョンのために
最小のスペース(差分のみ)しか消費しません。もし途中のリビジョンが
削除されたなら、記録されていた差分もそれに従って小さくなります。
.SS "\*r 事始め"
\*r の管理下に置きたい
.B f.c
というファイルがあるとします。もし、まだ作成していなければ、
\*r ディレクトリを以下のコマンドにより作成します。
.IP
.B "mkdir RCS"
.LP
次に ci (チェックイン) コマンドを実行します。
.IP
.B "ci f.c"
.LP
これにより、
.B f.c
の内容をリビジョン 1.1 として記録
した \*r ファイルが
.B RCS
ディレクトリ内に
作成され、
.B f.c
は削除されます。また、
.B ci
.B f.c
関する説明文の入力を促します。
説明文にはファイルの内容を要約して書きます。
以降
.B ci
を実行するたびに、ファイルに加えた変更の要約を入力するように促します。
.PP
\*r ディレクトリにあるファイルは \*r ファイルと呼ばれ、
それ以外のファイルはワークファイルと
呼ばれます。先の例で挙げたワークファイル
.B f.c
を取り戻す
には
.B co
(チェックアウト) コマンドを実行します。
.IP
.B "co f.c"
.LP
このコマンドは \*r ファイル中の最新のリビジョンを取り出してファイル
.B f.c
に書き出します。
もし、
.B f.c
に変更を加えたければ、次のコマンドを使ってチェックアウトしロック
しなければいけません。
.IP
.B "co \-l f.c"
.LP
これで
.B f.c
を編集することができます。
.PP
ある程度編集したところで、どのような変更を加えたか
知りたくなるときがあります。
この場合は、以下のコマンドを実行します。
.IP
.B "rcsdiff f.c"
.LP
このコマンドは、最後にチェックインしたリビジョンと
ワークファイルの違いを表示します。編集が終わったら、
以下のコマンドにより、もう一度チェックインすることができます。
.IP
.B "ci f.c"
.LP
これにより、リビジョン番号が自動的に付け直されます。
.PP
もし
.B ci
.IP
.BI "ci error: no lock set by " "your name"
.LP
というエラーメッセージを出力したなら、
それは、ロックせずにチェックアウトしたファイルを
チェックインしようとしたからです。もちろん、
ここでロックしチェックアウトし直すのでは遅すぎます。
ここでチェックアウトすると、あなたが行った編集は
上書きされて失われてしまうからです。
かわりに、以下のコマンドを実行します。
.IP
.B "rcs \-l f.c"
.LP
これは、ほかに誰もロックしていなければ、最新のリビジョンを
ロックします。もし、すでに誰かがロックしてしまっていたなら、
その人と相談しなければなりません。
.PP
ロックすることにより、あなただけがファイルを更新(チェックイン)
できるようになり、同時に複数の人が同じファイルを編集する際の
厄介な問題を回避することができます。たとえリビジョンが
ロックされていても、そのファイルをチェックアウトして内容を見たり、
コンパイルすることは可能です。ロック機構は、ロックした人
以外が
.I チェックイン
できないようにするだけです。
.PP
もし扱う \*r ファイルが個人的なもの、すなわち
そのファイルに対して新しいリビジョンをチェックインするのが
あなただけである場合、厳格なロック機構は必要ないでしょう。
厳格なロック機構はオフにすることもできます。
もし厳格なロックモードがオフになっているなら、
\*r ファイルの所有者はロックしていないファイルをチェックイン
することができます(それ以外の人はロックが必要です)。
厳格なロックモードのオンとオフは、
それぞれ以下のコマンドにより行います。
.IP
.BR "rcs \-L f.c" " 及び " "rcs \-U f.c"
.LP
もしワークディレクトリに \*r ファイルをまき散らしたく
ないなら、\*r という名前のディレクトリを作成し、\*r ファイルを
すべてその下に移動します。\*r コマンドは \*r ファイルを探すとき、
まず、
.B RCS
ディレクトリを検索します。この場合も、これまでに述べてきたコマンドは
引数をいっさい変更せずに実行できます(実際は \*r に \*r ファイルと
ワークファイルの対を指示する方法は 3 通りあります:
(a) 両方を指定する、(b) ワークファイルのみを指定する、
(c) \*r ファイルのみを指定する。\*r ファイルとワークファイルは
自由なパスに置くことができますが、\*r コマンドはファイルの対を
インテリジェントに探します)。
.PP
チェックインしたときにワークファイルが削除されないようにする
(編集を続けたり、コンパイルしたりする場合)には以下のコマンドを使います。
.IP
.BR "ci \-l f.c" " あるいは " "ci \-u f.c"
.LP
これらのコマンドは通常どおり
.B f.c
をチェックインします。しかし、自動的にチェックアウトも行います。
最初の例ではロックを行い、2 番目の例ではロックを行いません。
このようにすればチェックアウト操作を 1 回省けます。
最初の例は編集を続ける場合に、2 番目の例は単にファイルを
読みたかったりコンパイルしたりする場合に便利です。どちらの場合も、
ワークファイル中の識別用マーカ(後述)が更新されます。
.PP
.B ci
にチェックインするリビジョンの番号を指定することができます。
それまでのリビジョンが 1.1、1.2、1.3... だったときに、以下の
コマンドによりリリース2 を開始することができます。
.IP
.BR "ci \-r2 f.c" " あるいは " "ci \-r2.1 f.c"
.LP
これにより、新しいリビジョンには番号 2.1 がつけられます。以降、
.I ci
はこの
ファイルの新しいリビジョンに 2.2、2.3...と番号をつけていきます。
対応した以下の
.B co
コマンド
.IP
.BR "co \-r2 f.c" " 及び " "co \-r2.1 f.c"
.PP
は、リビジョン番号が
.RI 2. x
である最新のリビジョン、リビジョン 2.1 をそれぞれ
チェックアウトします。
.B co
にリビジョン番号を指定しない場合、幹(trunk)の上の最新のリビジョン
(すなわち、x.x の形式で最大のリビジョン番号を持つリビジョン)が
チェックアウトされます。リビジョンの枝(branch)を用いるためには 3 つ
以上の番号が必要になります。
たとえば、1.3 から枝を作成するには、以下のコマンドを実行します。
.IP
.B "ci \-r1.3.1 f.c"
.LP
これにより、リビジョン 1.3 上に番号 1 の枝を作成し、
枝上の最新リビジョンとして 1.3.1.1 を割り当てます。
枝の詳細については
.BR rcsfile (5)
を参照してください。
.SS "自動識別"
\*r は、リビジョンの識別のために特別な文字列をソースや
オブジェクトコードに埋め込むことができます。
リビジョンの識別を行うためには、以下の文字列(マーク)
.IP
.B "$\&Id$"
.LP
をコメントなどのテキスト部分に書きます。
\*r は、このマークを次の形式の文字列に置換します。
.IP
.BI $\&Id: " ファイル名 リビジョン 日付 時刻 作者 状態 " $
.LP
このようなマークをモジュールのソースコードの 1 ページ目に
置くことにより、編集しているファイルのリビジョンを
すぐに判断することができます。\*r はマークの更新を自動的に行います。
マークをオブジェクトコードに組み込むには、それをリテラルな
文字列中に含めます。C 言語では、以下のようにします。
.IP
.ft 3
static char rcsid[] = \&"$\&Id$\&";
.ft
.LP
.B ident
コマンドは、オブジェクトファイルやダンプ出力からもマークを探し表示することが
できます。従って
.B ident
コマンドを用いることにより、あるプログラムがどのモジュールの
どのリビジョンによって作成されたかを知ることができます。
.PP
マーク
.B $\&Log$
をテキストやコメント内に含めることも有用かもしれません。
このマークはチェックインのときに要求されたログを蓄えていきます。
これにより、変更の履歴を直接、ファイルに記録するこができます。
\*r にはほかにもいくつかのマークがあります。詳しくは
.BR co (1)
を参照してください。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993 Paul Eggert.
.SH 関連項目
ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.br
diff --git a/ja_JP.eucJP/man/man1/rcsmerge.1 b/ja_JP.eucJP/man/man1/rcsmerge.1
index e4970f3554..b7201a55b7 100644
--- a/ja_JP.eucJP/man/man1/rcsmerge.1
+++ b/ja_JP.eucJP/man/man1/rcsmerge.1
@@ -1,192 +1,192 @@
.de Id
.\" jpman %Id: rcsmerge.1,v 1.3 1997/08/19 03:05:27 h-nokubi Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsmerge.1,v 1.2 1995/10/28 21:50:50 peter Exp %
+.Id %Id: rcsmerge.1,v 1.4 1997/02/22 15:48:06 peter Exp %
.ds r \&\s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.TH RCSMERGE 1 \*(Dt GNU
.SH 名称
rcsmerge \- RCS ファイルのリビジョンを併合する
.SH 書式
.B rcsmerge
.RI [ options ] " file"
.SH 解説
.B rcsmerge
は \*r の 2 つのリビジョン間の変更点を対応するワークファイルに適用します。
.PP
\*r 拡張子にマッチするパス名は \*r ファイルであるとみなし、
その他はワークファイルであるとみなします。
名前の対応については
.BR ci (1)
を参照してください。
.PP
後述するオプション(通常は
.B -r
)によって、少なくとも1つのリビジョンを指定する必要があります。
最大で 2 つのリビジョンを指定することができます。
1 つのリビジョンのみが指定された場合、もう1つのリビジョンとして、
デフォルト枝(通常は幹で最大の番号を持つ枝) の最新リビジョンが用いられます。
リビジョンは、数字またはシンボルで指定できます。
.PP
もし重複が発生すると、
.B rcsmerge
は警告メッセージを表示し、重複した領域
.BR merge (1)
で説明されているような形式で出力します。
本コマンドはチェックアウトしたリビジョンに一連の変更を加えるのに便利です。
.SH オプション
.TP
.B \-A
もしサポートされていれば、
.BR diff3 (1)
.B \-A
スタイルで矛盾点を出力します。
.I file2
から
.I file3
への変更点全てを
.IR file1
に適用し、大変詳細な情報を出力します。
.TP
\f3\-E\fP, \f3\-e\fP
これらは、
.BR \-A
よりも情報量が少ない形式で矛盾点を出力するスタイルを指定するものです。
詳細は
.BR diff3 (1)
を参照して下さい。
デフォルトは
.BR \-E
です。
.BR \-e
を指定すると、
.B rcsmerge
は矛盾点の警告を行ないません。
.TP
.BI \-k subst
キーワード置換において、
.I subst
で指定された形式を用います。詳細は
.BR co (1)
を参照してください。例えば、
.B "\-kk\ \-r1.1\ \-r1.2"
.B 1.1
から
.B 1.2
への変更を併合する際に、キーワードの違いを無視します。
バイナリファイルをテキストであるかのようにリビジョン併合することは、普通、
意味を持ちません。
ですから
.B rcsmerge
.B \-kb
が指定されているとファイルのリビジョン併合を行ないません。
.TP
.BR \-p [\f2rev\fP]
結果をワークファイルに上書きせずに、標準出力に書き出します。
.TP
.BR \-q [\f2rev\fP]
静かに動作します。診断メッセージは表示されません。
.TP
.BR \-r [\f2rev\fP]
リビジョン
.I rev
に関して併合を行います。
.I rev
を指定しない場合は、デフォルト枝の最新リビジョン(通常は先頭)を使用します。
.TP
.B \-T
このオプションは意味を持ちません。
他の \*r コマンドとの互換性のために存在します。
.TP
.BI \-V
\*r のバージョン番号を表示します。
.TP
.BI \-V n
\*r システムのバージョン
.I n
のエミュレーションを行います。詳細は
.BR co (1)
を参照してください。
.TP
.BI \-x "suffixes"
\*r ファイル拡張子を
.I suffixes
とします。詳しくは
.BR ci (1)
を参照してください。
.TP
.BI \-z zone
キーワード置換時のタイムゾーンを
.I zone
とします。詳しくは
.BR co (1)
を参照してください。
.SH 例
すでにリリースしたリビジョン 2.8 の
.B f.c
というファイルがあるとします。
ここで、まだリリースしていないリビジョン 3.4 が完成したときに、
他人から 2.8 を改良したものを受けとったとします。
この改良と、あなたが 2.8 から 3.4 の間に行った変更を併合するには
次のようにします。
.LP
.B " rcsmerge \-p \-r2.8 \-r3.4 f.c >f.merged.c"
.PP
ここで、併合された
.B f.merged.c
を検査します。
もし、2.8 に対する更新部分を \*r ファイル中に保存しておきたいと考えるなら、
それを 2.8.1.1 というリビジョンでチェックインし、その後で
.BR "co \-j"
を実行します。
.LP
.B " ci \-r2.8.1.1 f.c"
.br
.B " co \-r3.4 \-j2.8:2.8.1.1 f.c"
.PP
別の例として、以下のコマンドはリビジョン 2.4 から 2.8 への変更をすでに
チェックアウトいるワークファイル
.B f.c
から取り消します。
.LP
.B " rcsmerge \-r2.8 \-r2.4 f.c"
.PP
指定するリビジョン番号の順番に注意してください。また、
.B f.c
が上書きされ
ることにも注意してください。
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
コマンドライン引数に先立って指定すべきオプションを空白で区切って指定します。
詳しくは
.BR ci (1)
を参照してください。
.SH 診断
併合によって重複が生じなければ終了ステータス 0 を、重複があれば 1 を、
問題が発生した場合は 2 を返します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
ci(1), co(1), ident(1), merge(1), rcs(1), rcsdiff(1), rcsintro(1), rlog(1),
rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.br
diff --git a/ja_JP.eucJP/man/man1/rdist.1 b/ja_JP.eucJP/man/man1/rdist.1
index 836e8c155e..56a953817b 100644
--- a/ja_JP.eucJP/man/man1/rdist.1
+++ b/ja_JP.eucJP/man/man1/rdist.1
@@ -1,442 +1,444 @@
.\" Copyright (c) 1985, 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.
.\"
.\" @(#)rdist.1 8.3 (Berkeley) 3/17/94
.\" jpman %Id: rdist.1,v 1.2 1997/06/05 02:50:01 yugawa Stab %
.\" Original revision: 1.3.2.5
.\"
.Dd March 17, 1994
.Dt RDIST 1
.Os BSD 4.3
.Sh 名称
.Nm rdist
.Nd リモートファイル配布プログラム
.Sh 書式
.Nm rdist
-.Op Fl nqbRhivwy
+.Op Fl nqbRhivwyD
.Op Fl P Ar rshcmd
.Op Fl f Ar distfile
.Op Fl d Ar var=value
.Op Fl m Ar host
.Op Ar name ...
.Nm rdist
-.Op Fl nqbRhivwy
+.Op Fl nqbRhivwyD
.Op Fl P Ar rshcmd
.Fl c
.Ar name ...
.Oo login@ Oc Ns Ar host Ns Op :dest
.Sh 解説
.Nm
は、複数のホストに対し、ファイルの内容を同一に維持するためのプログラムです。
本プログラムによるファイルコピーでは、可能な限り所有者、グループ、
アクセスモード、そして更新時刻を保存しようとします。
そして、現在実行中のプログラムの更新も可能です。
.Nm
は、コマンドを
.Ar distfile
から読み出し、その内容に従ってファイルやディレクトリの更新を制御します。
.Pp
第 1 の書式特有のオプション:
.Pp
.Bl -tag -width indent
.It Fl
.Ar distfile
.Sq Fl
を指定した場合、標準入力からデータを入力します。
.It Fl f Ar distfile
指定した
.Ar distfile
を使用します。
.El
.Pp
.Fl f
オプションも
.Sq Fl
オプションも指定されない場合には、本プログラムは最初に
.Dq Pa distfile
を、次に
.Dq Pa Distfile
を探し、入力として使用します。
コマンド行にて何の指定も与えられない場合には、
.Nm
は、
.Ar distfile
に記述されたすべてのファイルとディレクトリを更新します。
それ以外の場合では、引数は、更新対象となるファイル名あるいは
実行されるコマンドのラベルと解釈されます。
ラベルやファイル名が衝突する場合には、すべてラベルとして取り扱います。
これらの名前は、指定したコマンドを用いて指定したファイルを更新するのに
用いられます。
.Pp
第 2 の書式特有のオプション:
.Pp
.Bl -tag -width Fl c
.It Fl c
.Nm
に、残りの引数を小規模の
.Ar distfile
として解釈するように指示します。
.Pp
このオプションを使用した場合と等価な distfile は、以下のようになります。
.Pp
.Bd -filled -offset indent -compact
.Pq Ar name ...
.Li ->
.Op Ar login@
.Ar host
.Bd -filled -offset indent -compact
.Li install
.Op Ar dest ;
.Ed
.Ed
.El
.Pp
両方の書式に共通のオプション:
.Pp
.Bl -tag -width Ic
.It Fl P Ar rshcmd
.Xr rsh 1
と同様な機能を持つ他のプログラムをリモートサーバへの転送に使用します。
指定したプログラムはリモートサーバへバイナリ透過な経路を使用できる必要が
あり、コマンド引数の書式が
.Xr rsh 1
と互換でなければなりません。
.It Fl d Ar var=value
.Ar var
に対して
.Ar value
を代入することを定義します。
.Fl d
オプションは、変数を定義したり、
.Ar distfile
中の変数を変更したりするのに用いられます。
.Ar value
には、空白文字列、名前、もしくは括弧で囲まれて、タブやスペースで区切ら
れた名前の列挙が指定可能です。
.It Fl h
シンボリックリンクを追いかけます。リンクしてあるファイルの場合、リンクファ
イルそのものでなく、リンク先にある実体をコピーします。
.It Fl i
解決できないリンクを無視します。
.Nm
は、通常はリンクファイルについてもコピーを行ない、リンクが解決出来ない場合
には、その旨をユーザに通知します。
.It Fl m Ar host
ファイルを更新するホストを制限します。
複数の
.Fl m
引数を指定する事で、
.Ar distfile
に記述のあるホスト名の中から複数のホスト名を選択して与えることが可能です。
.It Fl n
実行しないで、コマンド自身を表示します。本オプションは
.Ar distfile
のデバッグに有効です。
.It Fl q
QUIETモードに入ります。更新されるファイルについては、通常は標準出力に
表示されますが、
.Fl q
オプションはこの出力を抑制します。
.It Fl R
無関係なファイルを削除します。ディレクトリを更新する場合に、
リモートホスト上に存在するファイルが、配布元のディレクトリ中に存在しないなら、
該当するファイルを削除します。本オプションは、配布元と配布先で完全にディ
レクトリ配下の内容を一致させたい場合に有効です。
.It Fl v
すべてのホストのファイルが最新の物であるかの確認を行ないます。すべての
古いファイルについては一覧が表示されますが、そのファイルが変更されたり、
そのファイルに関してシステムからメールが届いたりすることはありません。
.It Fl w
WHOLE モードを有効にします。指定されたファイル名全体が、配布先ディレクトリ名の
後に付加されます。通常は、ファイル名からディレクトリ名を取り除いた
最後の部分のみがファイル名を変更する時に使われます。
本オプションは、ディレクトリ構造をフラットにせず、配布元のディレクトリ
構造をそのまま配布先に持っていきたい場合に用いられます。例えば、
( dir1/f1 dir2/f2 )のように表されるファイルを、dir3 というディレクトリに
配布した場合、配布先では dir3/f1 や dir3/f2 ではなく、
dir3/dir1/f1 や dir3/dir2/f2 が作成されます。
.It Fl y
YOUNGERモードを有効にします。通常、ファイルの更新は、
.Ar mtime
.Ar size
(
.Xr stat 2
参照)
が一致しない場合に行なわれます。しかし、
.Fl y
オプションが有効になっている場合には、
.Nm
は、配布元のファイルより新しいファイルは更新しません。
通常本オプションは、他のホストに存在する、より新しいファイルを置き換えない
目的で用いられます。
-配布元より新しいファイルが配布先にあった場合には、その旨を通知するメッセー
-ジが表示されます。
+配布元より新しいファイルが配布先にあった場合には、その旨を通知する
+メッセージが表示されます。
+.It Fl D
+デバッグモード。
.El
.Pp
.Ar distfile
は、コピーされるファイル、配布先ホスト、そして更新のための手順を指定
するエントリを含みます。各エントリは、以下の形式のいずれかに分類され
ます。
.Pp
.Bd -literal -offset indent -compact
<variable name> `=' <name list>
[label:]<source list> `\->' <destination list> <command list>
[label:]<source list> `::' <time_stamp file> <command list>
.Ed
.Pp
一番目の形式は、値を定義するのに用いられます。
二番目の形式は、他のホストへファイルを配布するのに用いられます。
三番目の形式は、指定した日付以降に更新されたファイルの一覧を作成するのに
用いられます。
.Ar source list
は、配布元のファイルやディレクトリの一覧を指定します。
.Ar destination list
は、ファイルの配布先のホスト一覧です。配布元ファイルリスト (source
list) 中の各ファイルが、更新を行なおうとしているホストにおいて古いもの
である(二番目の形式)か、または、指定のファイルのタイムスタンプより新し
い場合(三番目の形式)には、変更対象リストに追加されます。
.Pp
ラベルの使用は、任意です。ラベルについては、部分的な変更を行う場合
に、コマンドを識別するために用いられます。
.Pp
改行、タブ、そして空白は、セパレータとしてのみ用いられ、それ以外の場で
用いられた場合には無視されます。コメントは、`#' で始まり改行で終ります。
.Pp
`$' で始まり、1文字もしくは `{''}' でくくられた名前の変数については、処理中に
その値に置き換えられます(最後に出てくる例を参照して下さい)。
.Pp
配布元ファイルリストと配布先ホストリストの一覧は、以下の形式を取ります。
.Bd -literal -offset indent
<名前>
.Ed
または
.Bd -literal -offset indent -compact
`(' <空白で区切られた 0 個以上の名前> `)'
.Ed
.Pp
シェルのメタ文字であるところの `[', `]', `{', `}', `*', そして `?'
は、(配布元のホスト上でのみ)
.Xr csh 1
同様に解釈され、展開されます。
これは、バックスラッシュを用いて回避する事が出来ます。
`~' 文字もまた、
.Xr csh 1
同様に展開されますが、配布元と配布先のホストで別々に展開されます。
.Fl w
オプションが `~' ではじまるファイル名とともに用いられた場合、ホームディ
レクトリを除くすべてのファイル/ディレクトリ名が配布先の名前に加えられます。
`/' や `~' 以外の文字ではじまるファイル名は、配布先のユーザのホームディ
レクトリをルートディレクトリとみなして、指定されたファイルの名前を
追加して配布先でのファイル名を作成します。
.Pp
コマンドリストは、以下の形式に従った、0 個以上のコマンドからなります。
.Bd -ragged -offset indent -compact
.Bl -column except_patx pattern\ listx
.It `install' <options> opt_dest_name `;'
.It `notify' <name list> `;'
.It `except' <name list> `;'
.It `except_pat' <pattern list> `;'
.It `special' <name list> string `;'
.El
.Ed
.Pp
.Ic install
コマンドは、古いファイルやディレクトリをコピーするのに用いられます。
各配布元のファイルは、配布先ホストリスト中の各ホストへコピーさ
れます。ディレクトリも同様にして、再帰的にコピーされます。
.Ar Opt_dest_name
は、ファイル名を変更するための任意的なパラメータです。
.Ic install
コマンドがコマンドリストに存在しない場合や、配布先での
ファイル名が指定されていない場合、配布元のファイル名がそ
のまま配布先でのファイル名として採用されます。
パス名に含まれるディレクトリが配布先のホスト上に存在しない
場合には、そのディレクトリを作成します。
不慮の事故を回避するために、配布先のホスト上に空でないディレクトリがあっ
ても、通常のファイルやシンボリックリンクに置き換えたりはしません。
しかし、`\-R'オプションを付加して実行した場合には、配布元のディレクト
リに当該ファイルが存在しなければ、空でないディレクトリでも削除されます。
.Ar option
には、`\-R', `\-h', `\-i', `\-v', `\-w', `\-y', `\-b'
があり、それらが配布元ファイルリストに記述されたファイルに対
してのみ適用される事を除いて、コマンドライン中に指定した事と同じ意味と
なります。
配布先ホストにおけるログイン名は、配布元でのログイン名と同じですが、配
布先のログイン名が ``login@host" という形式で指定されている場合にはこの
限りではありません。
.Pp
.Ic notify
コマンドは、更新されたファイル一覧(および、発生した何らかのエラー)をメール
によって通知する場合に用いられます。
指定のメールアドレス中に `@' がない場合には、配布先のホスト名がメールア
ドレスに付加されます(例: name1@host, name2@host, ...)。
.Pp
.Ic except
コマンドは、
.Ar name list
に列挙されているファイルを除き、配布元ファイルリストに記述されているすべての
ファイルを更新するのに用いられます。
本コマンドは、特定ファイルを除くすべてのファイルをコピーするのに用い
られます。
.Pp
.Ic except_pat
コマンドは、
.Ic except
コマンドと似てますが、
.Ar pattern list
として正規表現を用いたリストを指定できるところが異なります
(詳細については、
.Xr re_format 7
を参照して下さい)。
ファイル名に含まれる文字列が、正規表現のパターンに一致すると、そのファ
イルは無視されます。
`\e' が文字をクオートする事に注意して下さい。正規表現に含めるためには、
2 個続ける必要があります。
.Ar pattern list
の中の変数は展開されますが、シェルのファイルパターンマッチ方法とは異なります。
`$' を含めるためには、`\e' を用いてエスケープする必要があります。
.Pp
.Ic special
コマンドは、
.Ar name list
にて指定されたファイルを更新、または、コピーした後に、配布先の
ホスト上で実行される
.Xr sh 1
コマンドを指定するのに用いられます。
.Ar name list
が省略された場合には、シェルコマンドは各ファイルの更新が終了する度に
実行されます。シェル変数 `FILE' には、
文字列
.Ar string
で指定したコマンドを実行する前に、直前に処理したファイル名が格納されます。
文字列
.Ar string
を、`"'で囲む事で、
.Ar distfile
において複数行にわたって記述する事が出来ます。
シェルに対する複数の実行コマンドは、`;'で区切られる必要があります。
指定されたコマンドは、ファイルの更新を行なおうとしている配布先ホストの
当該ユーザのホームディレクトリで実行されます。
.Ar special
コマンドは、プログラムがファイルを更新した後にプライベートデータベース
を再構築する用途をはじめとして、いろいろな場面で用いる事が出来ます。
.Pp
以下に示す例は簡単な一例です。
.Bd -literal -offset indent
HOSTS = ( matisse root@arpa )
FILES = ( /bin /lib /usr/bin /usr/games
\t/usr/include/{*.h,{stand,sys,vax*,pascal,machine}/*.h}
\t/usr/lib /usr/man/man? /usr/ucb /usr/local/rdist )
EXLIB = ( Mail.rc aliases aliases.dir aliases.pag crontab dshrc
\tsendmail.cf sendmail.fc sendmail.hf sendmail.st uucp vfont )
${FILES} -> ${HOSTS}
\tinstall -R ;
\texcept /usr/lib/${EXLIB} ;
\texcept /usr/games/lib ;
\tspecial /usr/lib/sendmail "/usr/lib/sendmail -bz" ;
srcs:
/usr/src/bin -> arpa
\texcept_pat ( \e\e.o\e$ /SCCS\e$ ) ;
IMAGEN = (ips dviimp catdvi)
imagen:
/usr/local/${IMAGEN} -> arpa
\tinstall /usr/local/lib ;
\tnotify ralph ;
${FILES} :: stamp.cory
\tnotify root@cory ;
.Ed
.Sh 関連ファイル
.Bl -tag -width /tmp/rdist* -compact
.It Pa distfile
入力コマンドファイル
.It Pa /tmp/rdist*
更新リストのために用いられる一時ファイル
.El
.Sh 関連項目
.Xr csh 1 ,
.Xr sh 1 ,
.Xr stat 2 ,
.Xr re_format 7
.Sh 歴史
.Nm
コマンドは、
.Bx 4.3
から登場しました。
.Sh 診断
.Nm
のバージョン不一致についての通知は、実際にはシェルを起動する際の
何らかの問題に起因して発生します。例えば、ユーザの所属グループがあまり
多すぎるなどが挙げられます。
.Pp
.Nm
は、
.Xr rcmd 3
タイプのリモートサービス実行が、静かに成功することに依存します。
よくある誤りとしては、非対話の初期化スクリプト、例えば
.Pa .cshrc
が出力を行なってしまうことがあります
(出力を行う他のプログラムを実行するものの、
そのプログラムが端末に接続されていないということもあります --
よくある原因が
.Xr stty 1
です)。
このような余計な出力のために、
.Nm
が失敗して次のようなエラーメッセージが表示されます:
.Pp
.Dl rdist: connection failed: version numbers don't match
.Sh バグ
配布元ファイルは、
.Nm
コマンドが起動される配布元ホストに存在しなければなりません。
.Pp
ディレクトリ配下のすべてのファイルが更新された後に特定のコマンドを実行
するのは困難です。
.Pp
変数の置換は、name list に対してのみ働きます。より一般的なマクロ
の機能があるべきでしょう。
.Pp
.Nm
は、負 (1970 年 1 月 1 日以前の日付)の mtime を持つファイルに対してのアクセスを
行うと異常終了します。
.Pp
空でないディレクトリを通常ファイルやシンボリックリンクで置換できる、
`force' オプションがあるべきでしょう。内容自体は一致しているファイルのモード
や所有者を更新する方法も必要でしょう。
diff --git a/ja_JP.eucJP/man/man1/rlog.1 b/ja_JP.eucJP/man/man1/rlog.1
index 4f6e2ed633..a92a07031d 100644
--- a/ja_JP.eucJP/man/man1/rlog.1
+++ b/ja_JP.eucJP/man/man1/rlog.1
@@ -1,309 +1,309 @@
.de Id
.\" jpman %Id: rlog.1,v 1.2 1997/06/03 11:46:09 bobson Stab %
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rlog.1,v 1.4.2.1 1997/01/26 07:48:21 mpp Exp %
+.Id %Id: rlog.1,v 1.7 1997/02/22 15:48:10 peter Exp %
.ds i \&\s-1ISO\s0
.ds r \&\s-1RCS\s0
.ds u \&\s-1UTC\s0
.if n .ds - \%--
.if t .ds - \(em
.TH RLOG 1 \*(Dt GNU
.SH 名称
rlog \- RCS ファイルのログメッセージや、その他の関連情報を表示する
.SH 書式
.B rlog
.RI [ " options " ] " file " .\|.\|.
.SH 解説
.B rlog
は \*r ファイルに関する情報を表示します。
.PP
\*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、
その他のファイル名はワークファイルであるとみなします。
.BR ci (1)で説明しているように、ファイル名は RCS ファイルと
ワークファイルのペアになっています。
.PP
.B rlog
は、各 \*r ファイルの以下の情報を表示します: \*r ファイルのパス名、
ワークファイルのパス名、ヘッド(幹で最新のリビジョン)、デフォルト枝、
アクセスリスト、ロック状況、シンボル名、拡張子、総リビジョン数、
指定されたリビジョンの数、内容記述。以上の情報に加え、新しいものから順に
選択されたリビジョンのリストが表示されます。各リビジョンに関して、
.B rlog は、
リビジョン番号、作者、日時、状態、(直前のリビジョンから)追加/削除された行数、
ロック者、ログメッセージを表示します。
デフォルトでは、表示されるすべての時刻は Coordinated Universal Time (\*u)
です ;
これは
.BR \-z
オプションで書き換え可能です。
オプションを指定しない場合、
.B rlog
は以上のすべての情報を表示します。
以下のオプションにより表示する内容を限定することができます。
.nr n \w'\f3\-V\fP\f2n\fP'+2n-1/1n
.ds n \nn
.if \n(.g .if r an-tag-sep .ds n \w'\f3\-V\fP\f2n\fP'u+\n[an-tag-sep]u
.TP \*n
.B \-L
ロックされていない \*r ファイルを無視します。
.B \-h
.B \-l
.B \-R
オプションと組み合わせると便利です。
.TP
.B \-R
\*r ファイル名のみを表示します。ワークファイルのパス名を \*r ファイル
名に変換するのに便利です。
.TP
.BI \-v "[string]"
ワーキングファイルの名前とデフォルト枝(の枝)の先端リビジョンだけを表示します。
.I [string]
で指定した文字列は出力行の先頭に出力されます。
.TP
.B \-h
\*r ファイルのパス名、ワークファイルのパス名、ヘッド、デフォルト枝、ア
クセスリスト、ロック者、シンボル名、拡張子を表示します。
.TP
.B \-t
.BR \-h
の情報に追加して内容記述を表示します。
.TP
.B \-N
シンボル名を表示しません。
.TP
.B \-b
デフォルト枝に関する情報を表示します。通常は、幹の最も大きな番号を持つ枝
です。
.TP
.BI \-d "dates"
セミコロンで区切られた、登録日時の範囲にあるリビジョンに関する情報を
表示します。
.IB d1 < d2
または
.IB d2 > d1
なる形式の範囲は、日時
.I d1
から日時
.I d2
までの間 (d1とd2は除く) に登録されたリビジョンを指定します。
.BI < d
または
.IB d >
なる形式の範囲は、日時
.IR d
より前に登録されたすべてのリビジョンを指定します。
.IB d <
または
.BI > d
なる形式の範囲は日時
.IR d
より後を指定します。
もし
.B <
または
.B >
.B =
が続いていれば、範囲は両端を含むようになります。
.I d
なる形式の範囲は日時
.I d
以前の最新のリビジョンを指定します。
.I d
.I d1
.I d2
.BR co (1)
に記述されている自由形式の日時です。
通常
.B <
.B >
を使う場合にはクォートが必要です。要素の区切りがセミコロンであることに
注意してください。
.TP
.BR \-l [\f2lockers\fP]
ロックされているリビジョンに関する情報のみを表示します。コンマで区切られた
ユーザ名のリスト
.I lockers
が指定された場合は、指定されたユーザがロックしたリビジョンに関する情報のみを
表示します。例えば、
.BI "rlog\ \-L\ \-R\ \-l" wft "\ RCS/*"
はユーザ
.I wft
がロックしている \*r ファイル名を表示します。
.TP
.BR \-r [\f2revisions\fP]
コンマで区切られたリビジョンのリスト
.I revisions
で指定されたリビジョンに関する情報のみを表示します。
.IB rev1 : rev2
の形式の範囲指定は、同一枝上の
.I rev1
から
.I rev2
までを、
.BI : rev
は枝上の最初のリビジョンからリビジョン
.I rev
までを、
.IB rev :
はリビジョン
.I rev
から枝上の最後のリビジョンまでを示します。引数に枝番号を指定した場合は、
その枝上のすべてのリビジョンに関する情報が表示されます。
枝番号による範囲指定は、範囲内の枝上のすべてのリビジョンを示します。
.I revisions
が省略された場合は、デフォルト枝(通常は幹)上の最新リビジョンの情報のみを
表示します。
.TP
.BI \-s states
状態が
.I states
であるリビジョンの情報のみを表示します。
.I states
はコンマで区切った状態名のリストです。
.TP
.BR \-w [\f2logins\fP]
.I logins
で指定したユーザが登録したリビジョンに関する情報のみを表示します。
.I logins
はコンマで区切ったユーザ名のリストです。
.I logins
が省略された場合は、
.B rlog
を起動したユーザ名が用いられます。
.TP
.B \-T
このオプションの効果はありません ;
ほかの \*r コマンドとの互換性を保つために存在しています。
.TP
.BI \-V
\*r システムのバージョンを表示します。
.TP
.BI \-V n
ログの生成時に、\*r システムのバージョン
.I n
のエミュレーションを行います。詳細は
.BR co (1)
を参照してください。
.TP
.BI \-x "suffixes"
\*r ファイル拡張子を指定します。詳しくは
.BR ci (1)
を参照してください。
.PP
.B rlog
は指定されたオプション
.B \-d
.B \-l
.B \-s
.B \-w
のすべてに適合し、かつ
.B \-b
.B \-r
いずれかに適合したリビジョンに関する情報のみを表示します。
.TP
.BI \-z zone
日時の出力形式を指定し、
.BI \-d dates
オプションの
.I date
に対するデフォルトのタイムゾーンを指定します。
.I zone
には何も指定しないか、数字の \*u を指定するか、ローカルタイムのための
特別な文字列
.B LT
を指定します。
デフォルトは何も指定しない空の
.IR zone
で、伝統的な \*u の \*r 形式ですが、タイムゾーンを示す表示はなく、
日付の部分を分割するのにスラッシュを用います ;
他では、\*i 形式でタイムゾーンの表示と一緒に時間を出力します。
例えば、ローカルタイムが 太平洋標準時の 1990 年 1 月 11 日、午後 8 時で、
\*u から 8 時間、西である(遅れている)場合、時間の出力は以下のようになります :
.RS
.LP
.RS
.nf
.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u
.ne 4
\f2option\fP \f2time output\fP
\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(default)\fP
\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP
\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP
.ta 4n +4n +4n +4n
.fi
.RE
.SH 例
.LP
.nf
.B " rlog \-L \-R RCS/*"
.LP
ロックされたすべての \*r ファイル名を出力します。
.LP
.B " rlog \-L \-h RCS/*"
.LP
ロックされたすべての \*r ファイルのヘッダを出力します。
.LP
.B " rlog \-L \-l RCS/*"
.LP
ロックされたすべての \*r ファイルのヘッダとログメッセージを出力します。
.LP
.B " rlog RCS/*"
.LP
すべての \*r ファイルに関するすべての情報を出力します。
.fi
.LP
.SH 環境変数
.TP
.B \s-1RCSINIT\s0
コマンドライン引数に先立って指定すべきオプションを指定します。オプションは
空白で区切って指定します。詳しくは
.BR ci (1)
を参照してください。
.SH 診断
すべての動作が成功した場合に終了ステータス 0 を返します。
.SH 作者
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1),
rcsfile(5)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.SH バグ
以前の版の
.B rlog では
.B \-r
オプションにおけるリビジョンの区切りは
.B \-
でした。
しかし、これはシンボリック名が
.B \-
を含んでいるときに混乱を生じます。
従来の版との互換性のため、
.B \-
を用いた記法もサポートしますが、この記法を用いた場合は
警告メッセージを表示します。
.br
diff --git a/ja_JP.eucJP/man/man1/rm.1 b/ja_JP.eucJP/man/man1/rm.1
index b4379fdeef..5cb0a5ab41 100644
--- a/ja_JP.eucJP/man/man1/rm.1
+++ b/ja_JP.eucJP/man/man1/rm.1
@@ -1,167 +1,167 @@
.\" %NetBSD: rm.1,v 1.7 1995/03/21 09:08:22 cgd Exp %
.\"
.\" Copyright (c) 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
-.\" @(#)rm.1 8.2 (Berkeley) 4/18/94
-.\" %Id: rm.1,v 1.4.2.3 1998/07/16 09:35:46 jkh Exp %
+.\" @(#)rm.1 8.5 (Berkeley) 12/5/94
+.\" %Id: rm.1,v 1.12 1998/05/18 06:37:35 charnier Exp %
.\" jpman %Id: rm.1,v 1.3 1997/05/19 16:49:44 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt RM 1
.Os
.Sh 名称
.Nm rm
.Nd ディレクトリエントリの削除
.Sh 書式
.Nm rm
.Op Fl f | Fl i
.Op Fl dPRrW
.Ar file ...
.Sh 解説
.Nm
は、
コマンドラインから指定された非ディレクトリタイプのファイルを削除します。
指定されたファイルに書き込みパーミッションがなく、
標準入力がターミナルだった場合、
削除を実行してよいかどうかの確認を(標準エラー出力を使って)求めます。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width flag
.It Fl d
ディレクトリも、他のタイプのファイルと同様に削除します。本オプション
なしに file としてディレクトリを指定した場合、エラーになります。
.It Fl f
ファイルのパーミッションに関わらす、確認せずにファイルの
削除を行います。
ファイルが存在しない場合にもエラーメッセージは表示せず、終了ステータス
もエラーを返しません。
.Fl f
オプション以前に書かれた
.Fl i
オプションを無視します。
.It Fl i
ファイルのパーミッションや標準入力がターミナルであるかどうかに関わらず、
指定された各ファイルを削除する前に、確認を求めるようになります。
.Fl i
オプション以前に書かれた
.Fl f
オプションを無視します。
.It Fl P
ファイルを削除する前に上書きします。まず0xffのバイトパターンで、次に
0x00で、そして最後にもう一度0xffで上書きし、削除します。
.It Fl R
引数 file として指定したディレクトリを再帰的に削除します。
.Fl R
オプションは、暗黙のうちに
.Fl d
オプションが指定されたものとします。
.Fl i
オプションが指定されているときには、最初にディレクトリを
削除する/しないの確認が求められ、さらに奥のディレクトリについても
各ディレクトリの中身の削除に移る前に確認が求められます。
確認に対して削除すると答えなかった場合には、それ以下のディレクトリは
スキップされます。
.Pp
.It Fl r
.Fl R
と同じです。
.It Fl W
削除したファイルを回復しようとします。
現在このオプションは、
ホワイトアウトされたファイルを回復するためにのみ使用可能です。
.El
.Pp
.Nm
は、シンボリックリンクを削除するときリンクは削除しますが、
リンクが参照しているファイルは削除しません。
.Pp
ファイル``.''と``..''を削除しようとするとエラーになります。
.Pp
指定したファイルをすべて削除した場合か、
.Fl f
オプションが指定され、存在するファイルがすべて削除された場合に 0 を返します。
エラーが起きた場合は 1 以上の値を返します。
.Sh 注釈
.Nm
は引数をパースするために
.Xr getopt 3
を使用します。getopt は
.Sq Li --
引数を受け付けます。これはフラグオプションの読み込みを終了させます。
それゆえ、ダッシュ
.Sq Li -
で始まるファイルを削除できます。
例えば:
.Dl $ rm -- -filename
絶対もしくは相対参照を用いることで同様の効果が得られます。
例えば:
.Dl rm /home/user/-filename
.Dl rm ./-filename
これはコマンドライン引数を
.Xr getopt 3
で処理しないコマンドにおいて有効です。
.Sh 関連項目
.Xr rmdir 1 ,
.Xr undelete 2 ,
.Xr unlink 2 ,
.Xr fts 3 ,
.Xr getopt 3 ,
.Xr symlink 7
.Sh バグ
.Fl P
オプションではファイルシステムが固定ブロック長であると仮定されます。
UFS は固定長ファイルシステムですが、LFS はそうではありません。
さらに、通常ファイルは上書きされますが、それ以外の種類のファイルは
上書きされません。
.Sh 可搬性
.Nm
は、
.Fl f
オプションが存在しないファイルに対するエラーのみをマスクする点が伝統的
実装と異なります。
.Pp
また、伝統的
.Bx
実装では標準エラー出力ではなく標準出力に確認が出力されていました。
.Sh 規格
.Nm
コマンドは
.St -p1003.2
互換です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/rmdir.1 b/ja_JP.eucJP/man/man1/rmdir.1
index 82f893a94a..a982e63b34 100644
--- a/ja_JP.eucJP/man/man1/rmdir.1
+++ b/ja_JP.eucJP/man/man1/rmdir.1
@@ -1,98 +1,98 @@
.\" %NetBSD: rmdir.1,v 1.9 1995/03/21 09:08:29 cgd Exp %
.\"
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)rmdir.1 8.1 (Berkeley) 5/31/93
-.\" %Id: rmdir.1,v 1.3.2.3 1998/07/16 09:35:48 jkh Exp %
+.\" %Id: rmdir.1,v 1.7 1998/05/18 06:40:54 charnier Exp %
.\" jpman %Id: rmdir.1,v 1.2 1997/03/29 12:05:03 horikawa Stab %
.\"
.Dd May 31, 1993
.Dt RMDIR 1
.Os
.Sh 名称
.Nm rmdir
.Nd ディレクトリの削除
.Sh 書式
.Nm rmdir
.Op Fl p
.Ar directory ...
.Sh 解説
.Nm
は、
.Ar directory
で指定したディレクトリが空の場合、削除を行います。
.Pp
.Nm
は、
.Ar directory
で指定した順番にディレクトリの削除を試みます。
親ディレクトリとそのサブディレクトリを削除する場合は、先にサブディ
レクトリが削除されるようにしなければなりません。
.Nm
が親ディレクトリを削除する時に、
当該親ディレクトリが空となっている必要があるからです。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width indent
.It Fl p
.Ar directory
引数を構成する各ディレクトリに関しても、
そのディレクトリが空の場合、削除を行います。
削除は最後の要素から行います。(
.Xr rm 1
の完全な無差別再帰削除を参照して下さい。)
.El
.Pp
.Nm
は以下のいずれかの値を返します:
.Bl -tag -width Ds
.It Li \&0
引数で指定されるディレクトリは空であり、削除に成功しました。
.It Li \&>\&0
エラーが発生しました。
.El
.Sh 関連項目
.Xr rm 1
.Sh 規格
.Nm
コマンドは
.St -p1003.2
互換です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/rtprio.1 b/ja_JP.eucJP/man/man1/rtprio.1
index ebc0e43115..69888f9a7f 100644
--- a/ja_JP.eucJP/man/man1/rtprio.1
+++ b/ja_JP.eucJP/man/man1/rtprio.1
@@ -1,200 +1,200 @@
.\"
.\" Copyright (c) 1994, Henrik Vestergaard Draboel
.\" 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 Henrik Vestergaard Draboel.
.\" 4. 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 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: rtprio.1,v 1.6.2.6 1998/07/18 11:12:23 jkh Exp %
+.\" %Id: rtprio.1,v 1.15 1998/03/23 08:28:58 charnier Exp %
.\" jpman %Id: rtprio.1,v 1.3 1997/09/23 16:41:42 horikawa Stab %
.\"
.Dd July 23, 1994
.Dt RTPRIO 1
.Os
.Sh 名称
.Nm rtprio ,
.Nm idprio
.Nd リアルタイム/アイドルタイムスケジューリング優先度の実行・確認・修正
.Sh 書式
.Nm [id|rt]prio
.Nm [id|rt]prio
.Ar [-]pid
.Nm [id|rt]prio
.Ar priority
.Ar command
.Op args
.Nm [id|rt]prio
.Ar priority
.Ar -pid
.Nm [id|rt]prio
.Fl t
.Ar command
.Op args
.Nm [id|rt]prio
.Fl t
.Ar -pid
.Sh 解説
.Nm
はリアルタイムプロセススケジューリングに使用します。
.Pp
.Nm idprio
はアイドルタイムプロセススケジューリングに使用し、
.Nm
と同じオプションにて使用します。
.Pp
リアルタイム優先度のプロセスは優先度低下対象とはならず、
同じもしくはそれ以上のリアルタイム優先度のプロセスのみに横取りされます。
.Pp
アイドル優先度のプロセスは、
実行可能な他のプロセスが存在せず、
優先度が同じもしくはより高い実行可能なアイドル優先度プロセスが存在しない
場合のみ実行します。
.Pp
.Nm
.Nm idprio
を引数無しで実行すると、現在のプロセスのリアルタイム優先度を表示します。
.Pp
.Nm
を引数 1 つと共に実行すると、指定した
.Ar pid
のリアルタイム優先度を返します。
.Pp
.Ar priority
を指定すると、プロセスまたはプログラムをリアルタイム優先度にて実行します。
.Fl t
を指定すると、プロセスまたはプログラムを通常のプロセス
(非リアルタイムプロセス)として実行します。
.Pp
.Ar -pid
を指定すると、
.Ar pid
をプロセス識別子として持つプロセスを修正します。
そうではなく、
.Ar command
を指定すると、プログラムを引数付きで実行します。
.Pp
.Ar Priority
は 0 から RTP_PRIO_MAX (通常 31) の整数値です。
0 は最高の優先度です。
.Pp
.Ar pid
に 0 を指定すると "現在のプロセス" を意味します。
.Pp
root のみがリアルタイム優先度およびアイドル優先度を設定可能です。
.Sh 戻り値
.Nm
がコマンドを実行した場合、このコマンドの終了値が終了値となります。
その他の場合、
.Nm
は成功時には 0 を、エラー時には 1 を終了値とします。
.Sh 使用例
現在のプロセスのリアルタイム優先度を見ます:
.Bd -literal -offset indent -compact
.Sy "rtprio"
.Ed
.Pp
プロセス
.Em 1423
のリアルタイム優先度を見ます:
.Bd -literal -offset indent -compact
.Sy "rtprio 1423"
.Ed
.Pp
.Xr cron 8
を最低のリアルタイム優先度にて実行します:
.Bd -literal -offset indent -compact
.Sy "rtprio 31 cron"
.Ed
.Pp
プロセス
.Em 1423
のリアルタイム優先度を
.Em 16
に変更します:
.Bd -literal -offset indent -compact
.Sy "rtprio 16 -1423"
.Ed
.Pp
.Xr tcpdump 8
を非リアルタイム優先度にて実行します:
.Bd -literal -offset indent -compact
.Sy "rtprio -t tcpdump"
.Ed
.Pp
リアルタイム優先度のプロセス
.Em 1423
.Dv RTP_PRIO_NORMAL
(非リアルタイム/通常の優先度)に変更します:
.Bd -literal -offset indent -compact
.Sy "rtprio -t -1423"
.Ed
.Pp
他のマシンの使用の邪魔をせずに make depend します:
.Bd -literal -offset indent -compact
.Sy "idprio 31 make depend"
.Ed
.Sh 関連項目
.Xr nice 1 ,
.Xr ps 1 ,
.Xr rtprio 2 ,
.Xr setpriority 2 ,
.Xr nice 3 ,
.Xr renice 8
.Sh 歴史
.Nm
.Fx 2.0
から登場しましたが、HP-UX のものに似たバージョンでした。
.Sh 警告
CPU を大量消費するプロセスをリアルタイム優先度で実行すると
システムを操作できなくなります。
.Sh バグ
プロセス 0 (swapper) のリアルタイム優先度を設定及び確認する方法は有りません(
.Xr ps 1
を参照)。
.Pp
.Bx Free
ではプロセスのページがメモリ中に存在することを保証できないため、
プロセスがページインのために停止することが有ります(
.Xr mprotect 2 ,
.Xr madvise 2
参照)。
.Pp
.Bx Free
では、今のところシステムコール内で実行権を横取りされることはありません。
非リアルタイムプロセスが実行中であるために
リアルタイムプロセスに実行権が割り当てられないことや、
アイドルプロセスが実行中であるために
通常優先度プロセスに実行権が割り当てられないことがあります。
.Sh 作者
.An Henrik Vestergaard Draboel Aq hvd@terry.ping.dk
はオリジナルの作者です。
.An David Greenman
.Bx Free
への実装時に、ほとんどを書き直しました。
diff --git a/ja_JP.eucJP/man/man1/rup.1 b/ja_JP.eucJP/man/man1/rup.1
index e5e1419d55..39c878f959 100644
--- a/ja_JP.eucJP/man/man1/rup.1
+++ b/ja_JP.eucJP/man/man1/rup.1
@@ -1,93 +1,93 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 1985, 1991 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.
.\"
-.\" %Id: rup.1,v 1.3.2.1 1997/08/08 12:06:40 charnier Exp %
+.\" %Id: rup.1,v 1.6 1997/08/07 06:50:02 charnier Exp %
.\" jpman %Id: rup.1,v 1.2 1997/05/07 02:31:39 mutoh Stab %
.\"
.Dd June 7, 1993
.Dt RUP 1
.Os BSD 4.3
.Sh 名称
.Nm rup
.Nd ローカルネットワーク上のマシンの現在のシステム状態を表示する
.Sh 書式
.Nm
.Op Ar host ...
.Sh 解説
.Nm
は、特定の
.Em host
、もしくはローカルネットワーク上のすべてのマシンについて、
現在のシステム状態を表示します。コマンド出力には、現在時刻、システムが立ち上
がってからの経過時間、そしてロードアベレージが表示されます。ロードアベレージ
は、実行キューにつながれているジョブの数を、過去 1 分、5 分、15 分間にわたって
平均化したものです。
.Pp
本コマンドを使用する場合、対象ホスト上で
.Xr rpc.rstatd 8
デーモンが起動している必要があります。
.Nm
は /usr/include/rpcsvc/rstat.x に定義されている RPC プロトコルを
使用します。
.Sh 使用例
.Bd -unfilled -offset indent -compact
example% rup otherhost
otherhost 7:36am up 6 days, 16:45, load average: 0.20, 0.23, 0.18
example%
.Ed
.Sh 診断
.Bl -tag -width indent
.It rup: RPC: Program not registered
rup の対象となるリモートホスト上で
.Xr rpc.rstatd 8
が動作していません。
.It rup: RPC: Timed out
通信エラーが発生しました。ネットワークが極端に混雑しているか、
.Xr rpc.rstatd 8
がリモートホスト上で異常終了しました。
.It rup: RPC: Port mapper failure - RPC: Timed out
リモートホスト上で portmapper (
.Xr portmap 8
参照) が動作しておらず、
RPC ベースのサービスが受けられません。ホストがダウンしている可能性が
あります。
.Sh 関連項目
.Xr portmap 8 ,
.Xr rpc.rstatd 8
.Sh 歴史
.Nm
コマンドは
.Tn SunOS
から登場しました。
.Sh バグ
ソート用のオプションは実装されていません。
diff --git a/ja_JP.eucJP/man/man1/ruptime.1 b/ja_JP.eucJP/man/man1/ruptime.1
index b99a40748c..60f76edb05 100644
--- a/ja_JP.eucJP/man/man1/ruptime.1
+++ b/ja_JP.eucJP/man/man1/ruptime.1
@@ -1,82 +1,83 @@
.\" Copyright (c) 1983, 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.
.\"
.\" @(#)ruptime.1 8.2 (Berkeley) 4/5/94
+.\" %Id: ruptime.1,v 1.4 1997/02/22 19:56:50 peter Exp %
+.\"
.\" jpman %Id: ruptime.1,v 1.2 1997/05/20 01:35:36 mutoh Stab %
-.\" %Id: ruptime.1,v 1.2 1996/09/23 22:24:20 wosch Exp %
.\"
.Dd April 5, 1994
.Dt RUPTIME 1
.Os BSD 4.2
.Sh 名称
.Nm ruptime
.Nd ローカルネットワーク上の各マシンについて uptime と同様のステータスを表示する
.Sh 書式
.Nm ruptime
.Op Fl alrtu
.Sh 解説
.Nm ruptime
は、ローカルネットワーク上に接続された全マシンについて、
.Ar uptime
と同様の表示を行ないます。この表示は、ネットワーク上の各ホストから 1 分ごとに
ブロードキャストされるパケットをもとに作成されます。
.Pp
状態レポートのブロードキャストが 11 分以上途切れているホストについては、
システムダウンしているものとみなします。
.Pp
以下のオプションが使用可能です。
.Bl -tag -width Ds
.It Fl a
アイドル時間が 1 時間以上のユーザについても表示します。
.It Fl l
ロードアベレージ順にソートします。
.It Fl r
ソート順を逆にします。
.It Fl t
uptime 順にソートします。
.It Fl u
ユーザ数の順にソートします。
.El
.Pp
デフォルトではリストをホスト名でソートします。
.Sh 関連ファイル
.Bl -tag -width /var/rwho/whod.* -compact
.It Pa /var/rwho/whod.*
データファイル
.El
.Sh 関連項目
.Xr rwho 1 ,
.Xr uptime 1
.Sh 歴史
.Nm ruptime
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/rusers.1 b/ja_JP.eucJP/man/man1/rusers.1
index 34e6a8b853..ccb1daa9eb 100644
--- a/ja_JP.eucJP/man/man1/rusers.1
+++ b/ja_JP.eucJP/man/man1/rusers.1
@@ -1,99 +1,99 @@
.\" Copyright (c) 1983, 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.
.\"
.\" from: @(#)rusers.1 6.7 (Berkeley) 4/23/91
-.\" %Id: rusers.1,v 1.2.2.2 1997/08/11 07:11:23 charnier Exp %
+.\" %Id: rusers.1,v 1.6 1997/08/08 12:12:54 charnier Exp %
.\" jpman %Id: rusers.1,v 1.3 1997/08/20 12:45:29 horikawa Stab %
.\"
.Dd April 23, 1991
.Dt RUSERS 1
.Os BSD 4.2
.Sh 名称
.Nm rusers
.Nd ローカルネットワークの各マシンに誰がログインしているか
.Sh 書式
.Nm
.Op Fl al
.Op Ar host ...
.Sh 解説
.Nm
コマンドは
.Xr who
と同様の結果を出力しますが、
指定したホストのリスト、あるいはローカルネットワーク上の全マシンに対する
結果を出力します。
rusers の問い合わせに返答した各ホストに対して、
現在ログインしているユーザ名がホスト名と共に各行に出力されます。
返答の遅いホストのために rusers コマンドは 1 分間待ちます。
.Pp
以下のオプションが利用可能です:
.Bl -tag -width indent
.It Fl a
たとえ誰もログインしていなくても、応答してきた全てのマシンの情報を
出力します。
.It Fl l
長いフォーマットで出力します。
以下の情報が表示されます。
ユーザ名、ホスト名、ユーザがログインしている tty 名、
ユーザがログインした日付と時刻、
ユーザがキーボードを最後にタイプしてからの時間、
(もし適用可能ならば)ログイン元のリモートホスト名。
.El
.Sh 診断
.Bl -tag -width indent
.It rusers: RPC: Program not registered
リモートホスト上で
.Xr rpc.rusersd 8
デーモンが起動されていません。
.It rusers: RPC: Timed out
通信エラーが生じました。
ネットワークが非常に混んでいるか、リモートホスト上の
.Xr rpc.rusersd 8
デーモンが終了しました。
.It rusers: RPC: Port mapper failure - RPC: Timed out
リモートホストで portmapper (
.Xr portmap 8
参照)が動いておらず、全ての RPC ベースのサービスが利用できません。
ホストがダウンしている可能性があります。
.El
.Sh 関連項目
.Xr rwho 1 ,
.Xr users 1 ,
.Xr who 1 ,
.Xr portmap 8 ,
.Xr rpc.rusersd 8
.Sh 歴史
.Nm
コマンドは
.Em Sun-OS
で登場しました。
.Sh バグ
ソートオプションが実装されていません。
diff --git a/ja_JP.eucJP/man/man1/rwall.1 b/ja_JP.eucJP/man/man1/rwall.1
index 495138a4b9..7eafcf200b 100644
--- a/ja_JP.eucJP/man/man1/rwall.1
+++ b/ja_JP.eucJP/man/man1/rwall.1
@@ -1,79 +1,79 @@
.\" Copyright (c) 1983, 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.
.\"
.\" from: @(#)rwall.1 6.7 (Berkeley) 4/23/91
-.\" %Id: rwall.1,v 1.1.1.1.8.2 1997/08/11 07:13:00 charnier Exp %
+.\" %Id: rwall.1,v 1.5 1997/08/08 12:18:16 charnier Exp %
.\" jpman %Id: rwall.1,v 1.2 1997/05/21 00:38:04 mutoh Stab %
.\"
.Dd April 23, 1991
.Dt RWALL 1
.Os BSD 4.2
.Sh 名称
.Nm rwall
.Nd 指定したホストにログインしているユーザにメッセージを送る
.Sh 書式
.Nm
.Ar host
.Op Ar file
.Sh 解説
.Nm
は、指定したホストにログインしているユーザにメッセージを送信します。
送信するメッセージとしては、端末から入力され EOF で終了するものか、
.Ar file
に記述されているものを用いることが出来ます。
.Sh 診断
.Bl -tag -width indent
.It rwall: RPC: Program not registered
.Xr rpc.rwalld 8
デーモンがリモートホスト上で動作していません。
.It rwall: RPC: Timed out
通信エラーが発生しました。ネットワークが非常に混雑しているか、あるいは
.Xr rpc.rwalld 8
デーモンがリモートホスト上で異常終了しました。
.It rwall: RPC: Port mapper failure - RPC: Timed out
リモートホスト上で
.Xr portmap 8
が動作しておらず (
.Xr portmap 8
参照)、RPC を用いたサービスを受けることが出来ません。
ホストがダウンしている可能性があります。
.El
.Sh 関連項目
.Xr who 1 ,
.Xr portmap 8 ,
.Xr rpc.rwalld 8
.Sh 歴史
.Nm
コマンドは
.Tn SunOS
から登場しました。
.Sh バグ
ソートオプションは実装されていません。
diff --git a/ja_JP.eucJP/man/man1/sasc.1 b/ja_JP.eucJP/man/man1/sasc.1
index b613df2899..5fa5c46382 100644
--- a/ja_JP.eucJP/man/man1/sasc.1
+++ b/ja_JP.eucJP/man/man1/sasc.1
@@ -1,97 +1,97 @@
.\" sasc(1) - manual page for the `asc' scanner device driver utility
.\"
.\"
.\" Copyright (c) 1995 Gunther Schadow. 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 Gunther Schadow.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: sasc.1,v 1.3.2.2 1998/07/17 04:21:08 jkh Exp %
+.\" %Id: sasc.1,v 1.7 1998/03/23 07:46:41 charnier Exp %
.\" jpman %Id: sasc.1,v 1.3 1997/07/22 17:55:16 horikawa Stab %
.\"
.Dd January 6, 1995
.Dt SASC 1
.Os
.Sh 名称
.Nm sasc
.Nd asc スキャナデバイスのオプションを設定する
.Sh 書式
.Nm
.Op Fl sq
.Op Fl b Ar len
.Op Fl f Ar file
.Op Fl h Ar height
.Op Fl r Ar resolution
.Op Fl t Ar timeout
.Op Fl w Ar width
.Sh 解説
.Nm
ユーティリティは、ハンディデバイスドライバ
asc によって提供される ioctl への、シェルレベルのアクセスを提供します。
リクエストの正確な意味に付いては、
.Xr asc 4
を参照してください。
一般に、asc スキャナデバイスの出力と振舞いを変更します。
.Nm
がオプション無しで呼び出された場合、現在の設定が
報告されます。
.Sh オプション
.Bl -tag -width indent
以下のオプションを使用可能です。
.It Fl s Bq ASC_SRESSW
スキャナの解像度選択スイッチの値を設定します。
.It Fl q
沈黙モードで動作します。つまり、現在の設定に付いて一切の報告をしません。
通常は、変更が行われた後で、パラメータが表示されます。
.TP
.It Fl f Ar file
ファイル名で与えられたスキャナデバイスノードを操作します。
同じデバイスユニットを参照しているいくつかの異なる
スキャナデバイスノードが存在できることに注意してください。
変更は、アクセスされているデバイスノードに無関係に行われます。
.It Fl r Ar resolution Bq ASC_SRES
解像度を dpi (インチ当たりのドット数) で指定します。
.It Fl w width Bq ASC_SWIDTH
ビットマップの幅をピクセル数で設定します。
.It Fl h height Bq ASC_SHEIGHT
ビットマップの高さをピクセル数で設定します。
.It Fl b len Bq ASC_SBLEN
内部 DMA バッファを大きさ
.Ar len
行に設定します。
.It Fl t timeout Bq ASC_SBTIME
一つの DMA バッファを読み込む際のタイムアウトを設定します。
.Sh 関連ファイル
.It Pa /dev/asc0
.Em raw
出力のためのデバイスノード
.It Pa /dev/asc0p
.Em pbm
ファイルフォーマット出力のためのデバイスノード
.El
.Sh 関連項目
.Xr asc 4
.Sh 作者
.An Gunther Schadow Aq gusw@fub46.zedat.fu-berlin.de
diff --git a/ja_JP.eucJP/man/man1/script.1 b/ja_JP.eucJP/man/man1/script.1
index e283a4fd50..8e60a4d80a 100644
--- a/ja_JP.eucJP/man/man1/script.1
+++ b/ja_JP.eucJP/man/man1/script.1
@@ -1,147 +1,147 @@
.\" 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
-.\" %Id: script.1,v 1.1.1.1.8.3 1998/07/17 04:21:14 jkh Exp %
+.\" %Id: script.1,v 1.5 1998/06/04 21:06:02 steve Exp %
.\" jpman %Id: script.1,v 1.2 1997/03/29 08:26:02 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt SCRIPT 1
.Os BSD 4
.Sh 名称
.Nm script
.Nd 端末上に表示したすべてのもののログをとる
.Sh 書式
.Nm
.Op Fl a
.Op Fl k
.Op Fl q
.Op Fl t Ar time
.Op Ar file
.Op Ar command ...
.Sh 解説
.Nm
は、端末上に表示したすべてのもののログ (typescript) をとります。記録後に
.Xr lpr 1
で印刷することもできるので、
学生の宿題の証明等で対話的セッションのハードコピー
が必要なときなどには有効です。
.Pp
.Ar file
が指定されていればそのファイルに、指定されていなければ
.Pa typescript
というファイル名で記録されます。
.Pp
引数
.Ar command ...
を指定すると、
.Nm
は対話シェルの代りに指定したコマンドをオプションの引数ベクタ付きで実行します。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width xxxxxxx
.It Fl a
.Ar file
もしくは
.Pa typescript
がすでに存在している場合には、それに追加する形で記録していきます。
.It Fl k
出力だけでなくプログラムに送られたキー入力も記録します。
.It Fl q
静かなモードで実行します。開始時と終了時のステータスメッセージを省略します。
.It Fl t Ar time
スクリプト出力ファイルにフラッシュする間隔を指定します。
値 0 を指定すると
.Nm
は全ての文字 I/O 事象をフラッシュします。
.El
.Pp
.Nm
は、フォークしたシェル(またはコマンド)を終了したとき (
ボーン・シェル
.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
が設定されていない場合はボーン・シェルが使われます。
(ほとんどのシェルはこの変数を自動的に設定します)
.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 8d723271ce..b432de5d0c 100644
--- a/ja_JP.eucJP/man/man1/sh.1
+++ b/ja_JP.eucJP/man/man1/sh.1
@@ -1,1204 +1,1198 @@
.\" 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
-.\" %Id: sh.1,v 1.9.2.10 1998/07/28 14:47:36 thepish Exp %
+.\" %Id: sh.1,v 1.21 1998/07/30 04:47:56 jkoshy Exp %
.\"
.\" jpman %Id: sh.1,v 1.2 1997/05/31 16:40:31 jsakai Stab %
.\" 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 May 5, 1995
.Dt SH 1
.Os BSD 4
.Sh 名称
.Nm sh
.Nd コマンドインタプリタ(シェル)
.Sh 書式
.Nm
.Op Fl /+abCEefIimnpsuVvx
.Op Fl /+o Ar longname
.Op Fl c Ar string
.Op Ar arg ...
.Sh 解説
.Nm
はシステムの標準コマンドインタープリタです。
現在
.Nm
.St -p1003.2
のシェル規約に対応する途上にあります。
本バージョンのシェルは、見方によっては Korn shell と同様に
見える機能を多数持っていますが、
Korn shell のクローンではありません(もし Korn shell クローンを望むなら、
Gnu の bash を使いましょう)。
このシェルには、POSIX で規定された仕様といくつかの Berkeley 拡張のみが
取り入れられています。
本マニュアルは、shell のチュートリアルでは
ありませんし、仕様を完全に記述するものでもありません。
.Ss 概要
シェルは、ファイルまたは端末から 1 行ずつ読み込み、それを解釈し、
コマンドを実行します。シェルはユーザがシステムにログインしたときに起動
されるプログラムです(ただし、ユーザは chsh(1)
コマンドによって他のシェルを選択することもできます)。
シェルは、制御構文を持つ言語であり、
データ記憶をはじめとして多様な機能を提供するマクロ機能、
ヒストリ、行編集機能も内蔵しています。
このシェルは対話的に使うときに便利な機能を多くとり入れており、
対話的に用いるときも非対話的に (シェルスクリプトとして) 用いるときも、
共通のインタプリタ言語を用いることができる利点があります。
すなわち、コマンド名をシェルに直接タイプする
ことも、コマンド名をファイルに書いておいてそのファイルをシェルに
実行させることもできます。
.Ss 起動
引数が与えられず、かつシェルの標準入力が端末の場合 (または -i フラグが指定
された場合)、シェルは対話的に動作します。対話的シェルは、通常、コマンド
入力時にプロンプトを表示し、文法的なエラーとコマンドエラーを
異なった方法で処理します (後述します)。
起動時に、シェルは 0 番目の引数を検査します。もしそれが
ダッシュ `-' で始まっているなら、シェルはログインシェルとして
動作します。ユーザがシステムにログインした場合は自動的にこの状況に
なります。ログインシェルは、まず (以下の各ファイルが存在する場合)、
.Pa /etc/profile
.Pa .profile
ファイルからコマンドを読み込みます。
シェル起動時に、もしくはログインシェルで
.Pa .profile
を実行中に環境変数
.Ev ENV
が設定されているなら、シェルは、その次に環境変数
.Ev ENV
で示されたファイルからコマンドを読み込みます。
つまり、ユーザはログイン時にのみ実行したいコマンドを
.Pa .profile
に書き、シェルが起動されるたびに実行したいコマンドを環境変数
.Ev ENV
で示すファイルに書くことになります。
環境変数
.Ev ENV
を設定するには、ユーザのホームディレクトリ下のファイル
.Pa .profile
に以下のように記述します。
.sp
.Dl ENV=$HOME/.shinit; export ENV
.sp
ここで、
.Pa .shinit
のかわりに好きな名前を指定することができます。
オプション以外にコマンドライン引数が指定された場合、シェルは最初の引数
を、コマンドを読み込むべきファイル (シェルスクリプト) の名前であると解釈し、
それ以後の引数はシェルの位置パラメータ ($1, $2, ...) に設定します。
それ以外の場合、シェルはコマンドを標準入力から読み込みます。
.Pp
古いバージョンの
.Nm
とは異なり、環境変数
.Ev ENV
で指定したスクリプトが実行されるのは、対話的シェルの呼び出し時のみです。
これにより、いい加減に書かれた
.Ev ENV
スクリプトに起因する、簡単に食いものにされることが多い有名な
セキュリティホールがふさがれたことになります。
.Ss 引数リスト処理
.Nm
の 1 文字からなるオプションはそれぞれ対応する名前を持っており、
.Xr set 1
組み込みコマンド (後述) の引数として用いることができます。
これらの名前は、以下の説明で 1 文字オプションのすぐあとに書いてあります。
マイナス記号
.Dq -
でオプションを指定することは、そのオプションを有効にすることを意味し、
プラス記号
.Dq +
でオプションを指定することは、そのオプションを無効にすることを意味します。
+.Dq --
+または、単なる
+.Dq -
+はオプション処理を終了させ、
+コマンドラインの残りの語を引数として解釈することを強制します。
.Bl -tag -width Ds
.It Fl a Li allexport
値が代入された変数の全てをエクスポートします(未実装です)。
.It Fl b Li notify
バックグラウンドジョブ実行の完了を、コマンドが実行中でも即座に報告しま
す(未実装です)。
.It Fl C Li noclobber
すでに存在するファイルに対して
.Dq >
リダイレクトにより上書きしません (未実装です)。
.It Fl E Li emacs
組み込みの
.Xr emacs 1
風のコマンド行編集機能を有効にします (それ以前に
.Fl V
-オプションが指定された場合、それを無効にします)。'set -o emacs' も
-参照してください (後述します)。
+オプションが指定された場合、それを無効にします)。
.It Fl e Li errexit
非対話的シェルで、テスト状態にないコマンドの実行に失敗した場合、
直ちにシェルを終了します。
コマンドは、if, elif, while, until 構文を
制御するのに用いられている場合に、テスト状態であるとみなされます。
また、
.Dq &&
.Dq ||
の左辺値として用いられているコマンドも、テスト状態とみなされます。
.It Fl f Li noglob
パス名展開を行ないません。
.It Fl I Li ignoreeof
対話的シェルの場合、入力の EOF を無視します。
.It Fl i Li interactive
シェルが対話的に動作するように強制します。
.It Fl m Li monitor
ジョブ制御を可能にします (対話的シェルの場合は自動的に設定されます)。
.It Fl n Li noexec
非対話的シェルの場合、コマンドを読み込みますが、そのコマンドの実行は
しません。シェルスクリプトの文法を検査する場合に便利です。
.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
コマンドを標準入力から読み込みます (引数でファイル名が指定されていない
場合には、このオプションが自動的に設定されます)。
シェルが実行されてから本オプションを(
.Xr set 1
などによって)設定しても効果はありません。
.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
各コマンドを実行する前に、そのコマンドを標準エラー出力に (各コマンドの
前に `+' を付加して) 書き出します。デバッグのときに便利です。
.It Fl c Ar string
文字列引数 string はシェルに渡され、入力として解釈されます。このオプショ
ンは引数として文字列を一つだけ受け取ることに注意して下さい。ですから、複
数の単語からなる文字列は引用符で囲う必要があります。
.El
.Ss 構文構造
シェルは、ファイルを行単位で読み込み、空白文字 (ブランクおよびタブ) や
シェルにとって特別な意味を持つ特定の文字列 (
.Dq 演算子
と呼ばれるもので
す) を区切りとして、複数の単語に分割します。演算子には、制御演算子とリ
ダイレクト演算子の 2 種類があります (これらの意味については後述します)。
以下に、それらの一覧を示します。
.Bl -tag -width Ds
.It No 制御演算子:
& && ( ) ; ;; | ||
.No \en
.It No リダイレクト演算子:
< > >| << >> <& >& <<- <>
.El
.Ss 引用(クォート)
引用は、特殊な意味を持つ文字や単語 (演算子、空白、キーワードなど) の意味
を打ち消すために用います。引用には、シングルクォート文字のペアを使う方法、
ダブルクォート文字のペアを使う方法、バックスラッシュ文字を使う方法
の 3 種類があります。
.Bl -tag -width Ds
.It シングルクォート文字
シングルクォートのペアで囲まれた文字は、すべてその文字そのまま(リテラ
ル)として扱われます (ただしシングルクォートは別です。シングルクォート
で囲った文字列の中にシングルクォートを含めることはできません)。
.It ダブルクォート文字
ダブルクォートのペアで囲まれた文字は、ドル記号文字($)、バッククォート
文字(`)、バックスラッシュ文字(\\) を除き、すべてリテラルとして扱われま
す。ダブルクォート文字による引用の中にあるバックスラッシュ文字は、歴史
的経緯によりすこし変わった扱いを受けます。つまり、直後に $, `, ", \\,
改行文字 が来るときにのみ、それらの文字がリテラルとして扱われます。そ
れ以外の文字が来る場合、バックスラッシュ文字自体がリテラルとして扱われ
ます。
.It バックスラッシュ
バックスラッシュは、その後ろの 1 文字を、リテラルとして扱うように指示
します。ただし改行文字は別です。改行文字の直前のバックスラッシュは、行
の継続であるとみなされます。
.El
.Ss 予約語
予約語はシェルにとって特別な意味を持つ単語で、行の先頭または制御演算子
の直後でのみ予約語として認識されます。以下に予約語の一覧を挙げます。
.Bd -literal -offset indent
! { } case do
done elif else esac fi
for if then until while
.Ed
.Ss エイリアス
エイリアスは、名前とそれと対応する値が対になったもので、
組み込みコマンド
.Xr alias 1
によって定義されます。
シェルは、予約語が現れる可能性がある場所(上記を参照)で、
ある単語に対して、それが予約語かどうかの検査を済ませたのち、
それがエイリアスに一致するかどうかを検査します。
もし一致したならば、入力行の中で、その単語をエイリアスの値に置き換えます。
たとえば、``lf'' という名前で ``ls -F'' という値を持つエイリアスが
存在したとすると、次の入力行
.Bd -literal -offset indent
lf foobar <return>
.Ed
.Pp
は、以下のように置換されます。
.Bd -literal -offset indent
ls -F foobar <return>
.Ed
.Pp
エイリアスは、初心者に対し、引数付きの関数を生成する面倒を求めることなく、
短いコマンドをつくり出す便利な方法を提供するものです。
しかし、構文的にあいまいなコードを作り出すことにもつながりかねません。
そのような使い方はお勧めできません。
.Ss コマンド
シェルは、読み込んだ単語を、文法に従って解釈します。
本マニュアルでは文法については解説しません。
.St -p1003.2
の BNF 表記を参照してください。要するに、行を1行を読み込み、読み込んだ
行の最初の単語 (制御演算子がある場合は、そのあとの最初の単語) が予約語
でない場合、シェルはその行を単純コマンドとして解釈します。それ以外の場
合、複合コマンドあるいは特殊構造であると解釈します。
.Ss 単純コマンド
単純コマンドを解釈する場合、シェルは以下のような動作をします。
.Bl -enum
.It
単語の前にある ``name=value'' の形式の単語を取り除き、
単純コマンドの環境に代入します。
リダイレクト演算子とその引数 (後述) を取り除き、
あとで処理できるように保存します。
.It
残った単語を、「展開」の節で説明する方法で展開します。
展開後の最初の単語をコマンド名とみなし、コマンドの位置を探索します。
残りの単語はコマンドへの引数とみなされます。
処理の結果、コマンド名が残らなかった場合、手順 1) で
取り出した ``name=value'' の変数代入を、現在のシェルの環境に反映します。
.It
次節で説明する方法で、リダイレクトを行ないます。
.El
.Ss リダイレクト
リダイレクトは、コマンドがどこから入力するか、どこへ出力するかを
変更するときに用います。
一般には、リダイレクトでは、ファイルのオープン、クローズ、または
ファイルへの参照の複写 (duplicate) を行います。
リダイレクトで用いられる全般的な形式は、以下のとおりです。
.sp
.Dl [n] redir-op file
.sp
ここで、redir-op は前述したリダイレクト演算子のいずれかです。
これらの演算子をどのように利用するかの例をいくつか以下に挙げます。
.Bl -tag -width "1234567890" -offset indent
.It [n]> file
標準出力 (またはファイル記述子 n への出力) をファイル file に書き出します。
.It [n]>| file
上と同様。ただし、-C オプションの効果を打ち消します。
.It [n]>> file
標準出力 (またはファイル記述子 n への出力) をファイル file に追加します。
.It [n]< file
標準入力 (またはファイル記述子 n からの入力) をファイル file から取ります。
.It [n1]<&n2
ファイル記述子 n2 を標準入力 (またはファイル記述子 n1) に複写します。
.It [n]<&-
標準入力 (またはファイル記述子 n) をクローズします。
.It [n1]>&n2
ファイル記述子 n2 を標準出力 (またはファイル記述子 n1) に複写します。
.It [n]>&-
標準出力 (またはファイル記述子 n) をクローズします。
.It [n]<> file
標準入力 (あるいはファイル記述子 n) により、ファイル file を
読み書きするようにします。
.El
.Pp
以下のリダイレクトは、しばしば``ヒア・ドキュメント(here-document)''と
呼ばれます。
.Bd -literal -offset indent
[n]<< delimiter
here-doc-text...
delimiter
.Ed
.Pp
シェルは、delimiter までの行を保存し、コマンドへの標準入力またはファイ
ル記述子 n にリダイレクトします。最初の行の delimiter が引用 (クォー
ト) されていた場合、here-doc-text の内容をリテラルとして扱います。そ
うでない場合、パラメータ展開、コマンド置換、数値演算 (「展開」の節で説
明します) を適用します。演算子が (``<<'' でなく) ``<<-'' の場合は、
here-doc-text の各行の行頭のタブを取り除きます。
.Ss コマンド検索と実行
コマンドには、シェル関数、組み込みコマンド、通常プログラムの 3 種類があり、
コマンドを検索する際には、シェルは名前の検索をこの順序で行います。
それぞれのコマンドは異なる方法で実行されます。
.Pp
シェル関数を実行するとき、$0 を除くすべての位置パラメータ ($1, $2,..)
をシェル関数への引数として設定します。$0 は変更されません。シェル関数
の環境として指定された変数 (関数名の直前に ``name=value'' を置いて指定
されたもの) は、その関数に局所的な変数となり、指定された初期値が設定さ
れます。そして、シェルは関数定義で与えられたコマンドを実行します。コマ
ンドの実行が完了すると、位置パラメータを元の値に戻します。これは全て現
在のシェルの中で処理されます。
.Pp
組み込みコマンドは、新たなプロセスを作成せずにシェル内部で実行されます。
.Pp
コマンドが関数でも組み込みコマンドでもない場合は、通常のプログラムとみなし
(次節で説明するとおり) ファイルシステムの中でそのコマンドを検索します。
通常のプログラムを実行する場合、シェルは引数と
環境をプログラムに渡して、そのプログラムを実行します。
プログラムが通常の実行ファイル形式ではない場合 (つまり、
.Tn ASCII
表現で "#!" となる「マジックナンバ」でファイルが始まっておらず、
.Fn execve 2
.Er ENOEXEC
を返す場合)、
サブシェルの中でそのプログラムを解釈実行します。この場合、あたかも新た
にシェルが起動されたかのような効果を得るために、子シェルは自分自身を再
初期化します。ただし、子プロセスは、親シェル中のハッシュされたコマンド
位置情報を憶えており、これは再初期化されません。
.Pp
本ドキュメントの古いバージョンや古いソースコードでは、ときおり、マジッ
クナンバのないシェルスクリプトのことを「シェルプロシージャ」と呼んでい
て、まぎらわしい場合がありますので注意して下さい。
.Ss パス検索
コマンドを検索するとき、シェルは、まず、その名前のシェル関数があるかどうかを
調べます。次に、その名前の組み込みコマンドがあるかどうかを調べます。
組み込みコマンドでもない場合、以下のいずれかの処理が行われます:
.Bl -enum
.It
コマンド名にスラッシュが含まれていれば、検索は行わず、
単にそのコマンドが実行されます。
.It
変数
.Ev PATH
に含まれる各エントリに対して、順にそのコマンドを検索します。
変数
.Ev PATH
の値はコロン(``:'')で区切られたエントリの列でなければなりません。
各エントリは、それぞれディレクトリ名一つに対応します。
カレントディレクトリは、
空のディレクトリ名を指定することで暗黙的に、
あるいは 1 個のピリオドを指定することで明示的に
指示することができます。
.El
.Ss コマンドの実行ステータス
各コマンドは終了ステータスを持ち、それにより他のシェルコマンドの動作に
影響を与えることができます。基本的な考え方として、終了ステータス 0 は
通常の終了または成功を示します。0 以外の終了ステータスは失敗、エラーを
意味します。各コマンドのマニュアルにそれぞれの終了ステータスがどのよう
な意味を持つかが記述されているはずです。組み込みコマンドと(実行された)
関数も終了ステータスを返します。
.Pp
コマンドがシグナルにより終了(terminate)させられた場合、
終了ステータスは 128 にシグナル番号を加えたものになります。
シグナル番号はヘッダファイル
.Aq Pa sys/signal.h
に定義されています。
.Ss 複合コマンド(Complex Commands)
複合コマンドは、単純コマンドの組み合わせで作ります。
制御演算子または予約語と組み合わせることで、より大きな複合コマンドを生
成します。一般に、コマンドは以下のうちのいずれかです。
.Bl -item -offset indent
.It
単純コマンド
.It
パイプライン
.It
リストまたは合成リスト(compound-list)
.It
合成コマンド(compound command)
.It
関数定義
.El
.Pp
特に指定のない場合、コマンドの終了ステータスは最後に実行された
単純コマンドの終了ステータスとなります。
.Ss パイプライン
パイプラインは、複数のコマンドを制御演算子 `|' によってつないだものです。
最後のコマンドを除くすべてのコマンドの標準出力は、次のコマンドの標準入力に
接続されます。
最後のコマンドの標準出力は、通常通り、シェルから受け継がれます。
.Pp
パイプラインの形式は次のとおりです。
.Bd -literal -offset indent
[!] command1 [ | command2 ...]
.Ed
.Pp
command1 の標準出力は command2 の標準入力に接続されます。コマンドの標
準入出力がパイプラインによって割り当てられるのは、各コマンドに属するリ
ダイレクト演算子で指定されたリダイレクトを処理する前のことだと考えて下
さい。
.Pp
パイプラインがバックグラウンド (後述) でなければ、シェルはすべての
コマンドが終了するのを待ちます。
.Pp
パイプラインの直前に予約語 `!' が置かれなかった場合、終了ステータスは
パイプラインの最後のコマンドの終了ステータスとなります。
`!' が前置された場合、終了ステータスはパイプラインの最後のコマンドの
終了ステータスの論理否定を取った値となります。
すなわち、最後のコマンドが 0 を返した場合、パイプラインの
終了ステータスは 1 に、最後のコマンドが 0 より大きな値を返した場合、
終了ステータスは 0 になります。
.Pp
パイプラインによる標準入出力の接続はリダイレクトに先立って行われるため、
パイプラインの接続をリダイレクトによって修正することができます。たとえば、
.Bd -literal -offset indent
$ command1 2>&1 | command2
.Ed
.Pp
は、command1 の標準出力と標準エラー出力の両方を command2 の標準入力に
接続します。
.Pp
\&; または改行文字を終端として用いることにより、直前の AND-OR リスト (後述) を
順次実行します。& は、直前の AND-OR リストを非同期に実行します。
.Pp
注: 他のいくつかのシェルと異なり、パイプラインの各プロセスは
起動したシェルの子プロセスとなります (シェルの組み込みコマンドである
ときは別です。その場合は現在のシェルで実行されます --- ただし
環境に対して行った操作は取り消されます)。
.Ss バックグラウンドコマンド -- &
コマンドが制御演算子 & で終了している場合、シェルはそのコマンドを
非同期に実行します。すなわち、シェルはそのコマンドの終了を待たずに、
次のコマンドの実行を開始します。
.Pp
コマンドをバックグラウンドで実行させるための形式は以下のとおりです。
.Bd -literal -offset indent
command1 & [command2 & ...]
.Ed
.Pp
シェルが対話的でない場合、非同期コマンドの標準入力には /dev/null が
接続されます。
.Ss リスト -- 一般的な話
リストは 0 個またはそれ以上のコマンドを改行文字、セミコロン文字、アン
パーサント文字 (&) で区切った列です。リストは、これら 3 つの記号のいず
れかで終了させることもできます。リスト中のコマンドは並べられた順に実行
されます。もし、コマンドに続けてアンパーサント文字が置かれている場合、
シェルはそのコマンドを起動したあと、すぐに次のコマンドの処理を開始しま
す。その他の場合、そのコマンドの終了を待ってから次のコマンドの処理を開
始します。
.Ss 短絡リスト演算子(Short-Circuit List Operators)
``&&'' と ``||'' は AND-OR リスト演算子です。 ``&&'' は最初のコマンド
を実行し、もし最初のコマンドの終了ステータスが 0 ならば次のコマンドを
実行します。 ``||'' も同様ですが、最初のコマンドの終了ステータスが 0
でない場合に、次のコマンドを実行します。 ``&&'' と ``||'' の優先順位は
同じです。
.Ss 制御構造 -- if, while, for, case
if コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
if list
then list
[ elif list
then list ] ...
[ else list ]
fi
.Ed
.Pp
while コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
while list
do list
done
.Ed
.Pp
最初のリストの終了ステータスが 0 であるかぎり、2 つのリストを繰り返し
実行します。until コマンドも同様に実行しますが、
単語 while の代わりに単語 until を使うことと、
最初のリストの終了ステータスが 0 になるまで、
2 つのリストを繰り返し実行することが異なります。
.Pp
for コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
for variable in word...
do list
done
.Ed
.Pp
各 word は展開され、変数 variable に word を順に設定しながらリストを
繰り返し実行します。do と done は ``{'' と ``}'' で置き換えることができます。
.Pp
break と continue コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
break [ num ]
continue [ num ]
.Ed
.Pp
break は内側から num 個の for ループまたは while ループを終了します。
continue は、 num 個目のループの次の繰り返しに制御を移します。
.\" 上の文、原文では以下のようになっているが、the *num* innermost loop が
.\" 正しいと思われる。実際の sh の動作もそうなっているようだ。
.\" --- 97/05/31 sakai@jp.freebsd.org ↓
.\" Continue continues with the next iteration of the innermost loop.
これらのコマンドは組み込みコマンドとして実装されています。
.Pp
case コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
case word in
pattern) list ;;
...
esac
.Ed
.Pp
pattern は、1 つあるいは複数のパターン (後述の「シェルパターン」を参照
のこと) を ``|'' で接続したものです。
.Ss 複数のコマンドのグループ化
コマンドは、以下のいずれかの方法によりグループ化することができます
.Bd -literal -offset indent
(list)
.Ed
.Pp
または、
.Bd -literal -offset indent
{ list; }
.Ed
.Pp
最初の形式では、コマンドはサブシェル上で実行されます。
(list) のなかの組み込みコマンドは、現在のシェルには影響を与えません。
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 は
通常、``{'' と ``}'' で囲まれたリストです。
.Pp
local コマンドを用いて関数に局所的な変数を宣言することができます。
これは関数定義中の最初の文で行わなければなりません。構文は次のとおりです。
.Bd -literal -offset indent
local [ variable | - ] ...
.Ed
.Pp
local コマンドは、組み込みコマンドとして実装されています。
.Pp
変数を局所変数にする場合、関数を呼び出した環境に同じ名前の変数があれば、
新しい局所変数は値と export、readonly フラグを引き継ぎます。もし同じ名
前の変数がなければ、局所変数は初期値を持ちません。シェルは動的スコープ
を用います。すなわち、関数 f に局所的な変数 x を作成し、関数 f から関
数 g を呼び出した場合、関数 g 内部での変数 x に対する操作は大域変数 x
ではなく、関数 f で宣言された変数 x への操作となります。
.Pp
特殊パラメータのうち局所宣言できるのは ``-'' だけです。 ``-'' を
局所宣言すると、関数内で set コマンドを用いてシェルオプションを
変更しても、関数が終了するとそれらのオプションは元の値に戻ります。
.Pp
return コマンドの文法は以下のとおりです。
.Bd -literal -offset indent
return [ exitstatus ]
.Ed
.Pp
return は現在実行中の関数を終了させます。return は組み込みコマンドとして
実装されています。
.Ss 変数とパラメータ
シェルはパラメータの集合を管理しています。名前を持つパラメータを
変数と呼びます。シェルは、起動時にすべての環境変数をシェル変数に取り込みます。
新たな変数は、次の形式によって設定できます。
.Bd -literal -offset indent
name=value
.Ed
.Pp
ユーザが設定する変数は、アルファベット、数字、アンダースコア (_) のみ
からなる名前を持つ必要があります。また、最初の文字が数字であっては
いけません。
パラメータは、以下に示す数字または特殊記号により参照することもできます。
.Ss 位置パラメータ
位置パラメータは、数字 (n > 0) によって参照されるパラメータです。シェルは
位置パラメータの初期値としてシェルスクリプト名に続く引数を設定します。
組み込みコマンド
.Xr set 1
により再設定や消去ができます。
.Ss 特殊パラメータ
特殊パラメータは、以下に挙げる特殊文字のいずれかにより参照される
パラメータです。各パラメータの値の説明を各文字の後ろに示します。
.Bl -hang
.It *
位置パラメータ 1,2,... に展開されます。ダブルクォート文字列内部で展開
される場合、展開結果は各位置パラメータの間を変数 IFS の先頭の文字 (IFS
が設定されていない場合は空白文字) で区切った単一の文字列になります。
.It @
位置パラメータ 1,2,... に展開されます。ダブルクォート引用の内部で展開
される場合、各位置パラメータは別々の引数となります。
もし、位置パラメータが設定されていない場合には、
@ の展開結果は 0 個の引数となります (ダブルクォート引用の内部であっても)。
すなわち、$1 が ``abc''、$2 が ``def ghi'' であっ
た場合、"$@" は次の 2 つの引数に展開されます。
.Bd -literal -offset indent
"abc" "def ghi"
.Ed
.It #
位置パラメータの数に展開されます。
.It ?
最後に実行したパイプラインの終了ステータスに展開されます。
.It -
(ハイフン) 現在のオプションフラグ (1文字オプション名をつないだ文字列)
に展開されます。起動時に指定されたもの、組み込みコマンド set で指定した
もの、シェルが暗黙に設定したもののすべてを含みます。
.It $
起動されたシェルのプロセス ID に展開されます。
サブシェルも親シェルと同じ値を持ちます。
.It !
現在のシェルが最後にバックグラウンドで実行したコマンドのプロセス ID に
展開されます。パイプラインの場合、パイプラインの最後のコマンドの
プロセス ID になります。
.It 0
(ゼロ) シェルの名前またはシェルスクリプト名に展開されます。
.El
.Ss 単語展開
本節では、単語に対して適用されるさまざまな展開について説明します。あとで
述べるように、すべての展開がすべての単語に対して適用されるわけではありません。
.Pp
単一の単語に対して適用されたチルダ展開、パラメータ展開、コマンド置換、
数式展開、クォート削除の結果は単一のフィールドになります。単一の単語が
複数のフィールドに分割される可能性があるのは、フィールド分割または
パス名展開の場合だけです。この規則の唯一の例外は、ダブルクォート中の
パラメータ @ の展開です (前述)。
.Pp
単語展開の順序は以下のとおりです。
.Bl -enum
.It
チルダ展開、パラメータ展開、コマンド置換、数式展開 (これらはすべて
同時に行われます)
.It
変数 IFS の値が空でなければ、(1) の結果の各フィールドに対して
フィールド分割が行われる
.It
パス名展開 (-f オプションが無効の場合)
.It
クォート削除
.El
.Pp
文字 $ はパラメータ展開、コマンド置換、数式評価を行うきっかけになります。
.Ss チルダ展開 (ユーザのホームディレクトリ名への置換)
引用されていないチルダ文字 (~) で始まる単語は、チルダ展開の対象になります。
チルダ文字からスラッシュ文字または単語の終端までのすべての文字がユーザ名
とみなされ、そのユーザのホームディレクトリに置換されます。もしユーザ名が
省略された場合(たとえば ~/foobar)、チルダ文字は変数 HOME の値(現在のユーザ
のホームディレクトリ)に置換されます。
.Ss パラメータ展開
パラメータ展開の形式は以下のとおりです。
.Bd -literal -offset indent
${expression}
.Ed
.Pp
ここで、expression は対応した `}' までのすべての文字です。対応する`}'
を調べる際に、バックスラッシュ文字によりエスケープされたり、クォート文字に
狭まれた `}' や、数式展開に埋め込まれている文字や、コマンド置換や変数展開中に
ある文字は調べる対象になりません。
.Pp
パラメータ展開の形式のうちもっとも単純なものは以下のとおりです。
.Bd -literal -offset indent
${parameter}
.Ed
.Pp
そのパラメータに値が存在する場合、その値に置き換えられます。
.Pp
パラメータ名やシンボルを中括弧({})で囲んでも構いません。この中括弧は、
数字 2 文字以上からなる位置パラメータの場合や、パラメータ名の直後に
パラメータ名の一部であるとみなし得る文字が続く場合を除き、
省略可能です。ダブルクォート引用中のパラメータ展開は以下
のようになります。
.Bl -enum
.It
パラメータ展開を行った結果の単語に対しては、パス名展開は適用されません。
.It
パラメータが @ の場合を除き、フィールド分割は適用されません。
.El
.Pp
さらに、以下の形式を用いることにより、パラメータ展開の結果に修正を加える
ことができます。
.Bl -tag -width Ds
.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 を展開した結果に置換されます。
.Pp
以上のパラメータ展開において、`:' を用いた場合はパラメータが設定されていない
かまたは空の値であることが検査され、`:' を省略するとパラメータが
設定されていないことのみを検査します。
.It Li ${#parameter}
文字列の長さ: パラメータの値の(文字列としての)長さに置換されます。
.Pp
以下の 4 通りのパラメータ展開は部分文字列切り出し処理を行います。各場合
において、パターンは正規表現ではなく、パターンマッチ記法 (シェルパターン
の項を参照) が用いられます。パラメータが` * 'または` @ 'の場合、展開の結果
がどうなるかは規定しません (unspecified)。
パラメータ展開全体をダブルクォートで囲んでも
パターンは引用されません。中括弧のなかで引用することにより
パターンを引用することができます。
.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 が標準出力
に出力したものから最後の改行文字を削除した結果で置換します (最後以外の
改行は削除しません。ただし、フィールド分割の際に、IFS の値や引用のされかたに
よっては、ここで残った改行文字が結局は空白に置換されることもあります)。
.Ss 数式展開
数式展開とは、数式を評価し、その値に置換する仕組みです。数式展開の形式は以下
のとおりです。
.Bd -literal -offset indent
$((expression))
.Ed
.Pp
数式 expression は、その中のダブルクォート文字が特別扱いを受けないという
点を除いては、ダブルクォート文字で囲まれている文字列と同様に扱われます。
シェルは expression 中のすべてのトークンにパラメータ展開、コマンド置換、
クォート削除を適用します。
.Pp
次にシェルはその結果を数式として扱い、その値に置換します。
-.Pp
-あるいは、数式評価は組み込みの
-.Xr let 1
-で実行可能です。この文法は
-.Xr expr 1
-のものと同じです。
-.Xr exp 1
-は
-.Xr let 1
-の別名です。
.Ss 空白文字による分割 (フィールド分割)
パラメータ展開、コマンド置換、数式展開のあと、シェルは展開結果を調べて、
ダブルクォートの外にある部分に対してフィールド分割を適用します。
その結果、複数のフィールドになる場合もあります。
.Pp
シェルは、変数 IFS に設定されている文字それぞれ区切り文字とみなし、
パラメータ展開の結果、およびコマンド置換の結果をフィールドに分割します。
.Ss パス名展開 (ファイル名生成)
-f フラグが設定されていなければ、フィールド分割が行われたあと、ファイル名生成
が行われます。各単語は、スラッシュで区切られたパターンの列であるとみなさ
れます。パス名展開処理において、単語は、条件を満たすファイル
すべてのファイル名の列で置換されます。この各ファイル名は、単語の
各パターン部分を、そのパターンに一致する文字列に置換することで
生成されるものです。
これには 2 つの制限があります: まず、パターンはスラッシュを含む文字列には
一致しません。次に、パターンは、そのパターンがピリオドで始まらないかぎり、
ピリオドで始まる文字列に一致しません。
次節では、パス名展開と
.Xr case 1
コマンドで用いられるパターンについて説明します。
.Ss シェルパターン
パターンは、通常の文字とメタキャラクタからなります。通常の文字は、
その文字そのものに一致します。
メタキャラクタは ``!''、 ``*''、 ``?''、 ``['' です。これらの文字を引用
すると、各々の特殊な意味を失います。コマンド置換や変数置換において、
ドル記号やバッククォート文字がダブルクォート文字の中にない場合には、
変数の値やコマンドの出力の中に、これらの特殊な文字が存在するかどうかが
調べられ、それらがあれば、メタキャラクタとして扱われます。
.Pp
アスタリスク文字 (``*'') は、どのような文字列とも一致します。
クエスチョンマーク文字 (``?'') は、任意の文字 1 文字と一致します。
左大括弧 (``['') は文字クラスを開始します。
文字クラスの最後は右大括弧 (``]'') です。``]'' がない場合
は、``['' は文字そのものに一致し、文字クラスの開始とは見なされません。文字
クラスは大括弧内に出現するすべての文字に一致します。
マイナス記号を用いれば、文字の範囲を指定することができます。
文字クラスの最初にエクスクラメーションマーク (``!'') を置くことで、
文字クラスの意味を反転させることができます。
.Pp
文字クラスに文字 ``]'' を含めるには、 ``]'' を文字クラスの最初 (``!'' を
置く場合はそのあと) に置きます。
文字クラスにマイナス記号を含めるときも同様で、
リストの最初もしくは最後に置きます。
.Ss 組み込みコマンド
本節では、別プロセスでは実行できない処理を行なうために組み込まれている
コマンドを列挙します。
さらに、効率を上げるために組み込まれているかもしれないコマンド (例えば
.Xr printf 1 ,
.Xr echo 1 ,
.Xr test 1 ,
等) もあわせて列挙します。
.Bl -tag -width Ds
.It :
終了ステータス 0 (真) を返すヌルコマンドです。
.It \&. file
指定されたファイル file に記述されたコマンドがシェルに読み込まれ、
実行されます。
.Ar file
.Ql /
文字を含む場合、その通りに扱われます。
そうでなければ、シェルは
.Ev PATH
を使用して、ファイルを検索します。
.Ev PATH
を使用しても見付からない場合、カレントディレクトリを検索します。
.It alias [ name[=string] ... ]
name=string が指定されている場合、シェルは名前 ``name'' を持つ値
``value'' のエイリアスを定義します。単に ``name'' だけが指定された場合、
エイリアス ``name'' の値が表示されます。引数が指定されない場合、定義さ
れているすべてのエイリアスの名前と値を表示します (unalias も参照)。
.It bg [ job ] ...
指定されたジョブ (指定されなかった場合は現在のジョブ) を、
続けてバックグラウンドで実行させます。
.It command command arg ...
指定された組み込みコマンドを実行します (組み込みコマンドと同じ名前のシェル関数
がある場合に使います)。
.It cd [ directory ]
指定されたディレクトリに移動します (directory 無指定時は $HOME
に移動します)。
cd コマンドの
環境に CDPATH 変数があるか、シェル変数 CDPATH が設定されていて、かつ
指定されたディレクトリ directory がスラッシュ文字から始まっていないなら、
CDPATH に列挙されたディレクトリ以下に
指定されたディレクトリ directory がないか検索されます。
CDPATH の形式は PATH と同様です。対話的シェルでは、ユーザ
が指定したディレクトリと異なる場所に移動した場合、移動先のディレクトリ名
を表示します。これは、CDPATH の機構が動作した場合と、シンボリックリンクを
辿った場合に発生します。
.It eval string ...
指定されたすべての引数を空白で結合し、その結果を解析し直してから
コマンドとして実行します。
.It exec [ command arg ... ]
コマンドが省略されない場合、そのシェルプロセスは指定されたプログラムに
置き換えられます (command は、シェル組み込みコマンドや関数ではない、本物の
プログラムでなければなりません)。exec コマンドにおけるリダイレクトは、
永久性を持つと見なされ、 exec コマンド完了後にも引き続き効力を持ちます。
.It exit [ exitstatus ]
シェルを終了します。指定された exitstatus は、シェルの終了ステータスに
なります。exitstatus が省略された場合、直前に実行したコマンドの
終了ステータスがシェルの終了ステータスとなります。
.It export name ...
それ以後にシェルから実行されるコマンドの環境に、指定された名前の変数が
含まれるようにします (変数のエクスポート)。
変数のエクスポートを取り消す唯一の方法は、変数を unset することです。
以下のように記述することで、エクスポートすると
同時に変数の値を設定することができます。
.Bd -literal -offset indent
export name=value
.Ed
.Pp
引数を指定しない場合、すべてのエクスポートされている名前と値が表示されます。
.It fc [-e editor] [first [last]]
.It fc -l [-nr] [first [last]]
.It fc -s [old=new] [first]
fc は、対話的シェルにそれ以前に入力されたコマンドの内容を
表示、編集、再実行します。
.Bl -tag -width Ds
.It -e editor
編集に際し、指定されたエディタ editor を使用します。
editor は変数 PATH を通して検索できるコマンド名です。
-e が指定されなかった場合は、変数 FCEDIT の値が
用いられます。FCEDIT が設定されていないか空に設定されている場合は
EDITOR の値が用いられ、それも設定されていないか空ならば
.Xr ed 1
が用いられます。
.It -l (ell)
(小文字のエル)
エディタを起動せずに、コマンド履歴の内容を一覧出力します。
パラメータ first と last で指定した範囲のコマンドが順に
(出力の順番は -r オプションの影響を受けます)出力されます。
各コマンドの出力の際にはコマンド番号が付加されます。
.It -n
-l で一覧出力する際にコマンド番号を付加しません。
.It -r
-l オプションでの一覧や、
編集時 (-l も -s も指定されなかった場合) の順序を反転します。
.It -s
エディタを起動せずにコマンドを再実行します。
.It first
.It last
一覧出力や編集の対象となるコマンドを選択します。アクセス可能なコマンド
の数は変数 HISTSIZE の値で決まります。
first、last の値は以下のいずれかの形式で指定します。
.It [+]number
正の数で、コマンド番号を指定します。コマンド番号は -l オプションで表示させて
調べることができます。
.It -number
負の数で、指定された数だけ現在から遡ったコマンドを指定します。たとえば、
-1 は直前に実行されたコマンドを指定します。
.It string
文字列 string は、過去に実行されたコマンドのうち、
その文字列から始まる最新のものを指定します。
もし -s オプションが指定されて ``old=new'' が指定されていなければ、
最初のオペランドにイコール記号(``='')を含めることはできません。
.El
.\" 次の行の .Pp はもともとコメントアウトされていた
.Pp
fc コマンドの実行にあたり、以下の環境変数の影響を受けます。
.Bl -tag -width Ds
.It Va FCEDIT
使用するエディタ名
.It Va HISTSIZE
アクセス可能なコマンド数
.El
.It fg [ job ]
指定されたジョブまたは現在のジョブをフォアグラウンドに移動します。
.It getopts optstring var
POSIX に準拠した getopts コマンドです。
この getopts コマンドにより、以前の getopt コマンドの必要性は減少しました。
最初の引数は文字の列です。各文字の後ろにはコロンをつけることができ、
そのオプションが引数をとることを指示します。
指定された変数に、解析され見つかったオプションが設定されます。
見つかったオプションの次の引数のインデックスはシェル変数 OPTIND に格納されます。
あるオプションが引数をとる場合、その引数はシェル変数 OPTARG に置かれます。
有効でないオプションに出くわすと、変数 var には `?' がセットされます。
getopts はオプション群の末尾に到達すると偽の値 (1) を返します。
.It hash -rv command ...
シェルは、コマンドの位置を保持するハッシュテーブルを維持管理しています。
hash コマンドに引数が指定されなかった場合、このテーブルの内容が出力されます。
最後に cd コマンドが実行されてから参照されていない項目には
アスタリスク文字 (``*'') が表示されます。
この項目は無効になっているかもしれません。
.Pp
引数を指定した場合、hash コマンドは指定したコマンドをハッシュテーブル
から削除し (command が関数ではない場合)、その後でそのコマンドを検索します。
-v オプションを指定した場合、発見したコマンドの位置を表示します。-r オ
プションを指定した場合、関数以外のすべてのエントリをハッシュテーブルから
削除します。
.It jobid [ job ]
ジョブ job 中の各プロセスのプロセス ID を表示します。引数 job が
省略された場合、現在のジョブに対して処理を行います。
.It jobs
バックグラウンドで走行中の、現在のシェルプロセスの子プロセスの
一覧を出力します。
.It pwd
カレントディレクトリを表示します。組み込みコマンドの pwd は
カレントディレクトリ名を覚えており、表示するときに再計算しないので、
組み込みコマンドの pwd は同名のプログラムとは異なった表示をする場合があります。
このため処理は高速ですが、カレントディレクトリ
の名前を変更した場合でも、以前のディレクトリ名を表示し続けます。
.It Li "read [ -p prompt ] [ -e ] variable ...
-p オプションが指定され、かつ標準入力が端末の場合、
prompt をプロンプトとして表示します。
そして標準入力から 1 行入力します。行端の改行文字を削除し、行を前述の
単語分割の方法に従って分割し、各単語を、valiable... で指定する各変数に
順に代入します。
もし、指定された変数の数より分割された単語の数が多ければ、最後の変数に
残りの単語すべて (IFS の文字を区切りにしてそれらも一緒に) が代入されます。
分割された単語の数より多くの変数が指定されていたなら、
余った変数には空文字列が設定されます。
.Pp
-t オプションが指定され、かつ入力がなされる前にタイムアウトすると、
read コマンドは値を割当てずに戻ります。
タイムアウト値の後にはオプションで 's', 'm', 'h' のいずれかの一文字
を付けることが出来、それぞれ秒, 分, 時間を陽に指定します。
どれも指定しない場合には 's' であるものとします。
.Pp
-e オプションを指定すると、入力中のバックスラッシュ文字を特別扱いします。
バックスラッシュ文字が改行文字の直前にある場合、
バックスラッシュ文字と改行文字は削除されます。
その他の文字の直前にバックスラッシュがある場合、バックスラッシュは削除され、
文字が IFS に含まれていても、IFS の文字でないかのように扱われます。
.It readonly name ...
指定された名前の変数を読み出し専用とし、あとで値を変更したり unset した
りすることができないようにします。以下のように記述することで、
変数を読み出し専用と宣言するのと同時に値を設定することも可能です。
.Bd -literal -offset indent
readonly name=value
.Ed
.Pp
引数が指定されない場合、読み出し専用になっている変数の名前の一覧が表示され
ます。
.It Li "set [ { -options | +options | -- } ] arg ...
set コマンドは 3 通りの異なった機能を持ちます。
.Bl -item
.It
引数を指定しなかった場合、すべてのシェル変数の名前と値の一覧を表示します。
.It
options が指定された場合、「引数リスト処理」の節で説明した方法で、
指定されたオプションフラグを設定あるいは解除します。
.It
第 3 の用法は、シェルの位置パラメータを変更する際に使用します。オプションの
設定を変更せずに位置パラメータのみを変更したい場合は set コマンドへの最初
の引数として ``--'' を指定します。arg が指定されない場合、
すべての位置パラメータはクリアされます (``shift $#'' を実行することと
等価です)。
.El
.Pp
.It setvar variable value
変数に値を代入します。(一般に、setvar を使うよりも variable=value と書くほう
が望ましいといえます。setvar は、関数内で、パラメータとして渡された名前を持つ
変数に値を代入するためのものです。)
.It shift [ n ]
位置パラメータを n 回シフトします。1 回のシフトにより、$2 の値が $1 に、$3 の
値が $2 に代入されます (以下同様)。また、$# の値は 1 減少します。
位置パラメータがない場合、shift は何もしません。
.It trap [ action ] signal ...
シェルが指定されたシグナル signal を受けとったときに、action を解析し実行する
ように設定します。シグナルはシグナル番号で指定します。action は空文字列に
したり、省略したりすることができます。空文字列の場合、指定されたシグナルは
無視され、省略した場合は、指定したシグナルを受けとったときデフォルトの処理を
行ないます。シェルがサブシェルを起動するとき、trap で指定された (かつ
無視するように設定されていない) シグナルの動作をデフォルトの処理に戻します。
シェルが起動したときにすでに無視されるように設定されていたシグナルに対して
trap コマンドを使用しても効果はありません。
.It type [name] ...
各 name をコマンドとして解釈し、コマンド検索の結果を出力します。出力さ
れる結果は以下のものがあります。シェルのキーワード、エイリアス、シェル
の組み込みコマンド、コマンド、痕跡つきエイリアス(tracked alias)、最後に
not found (見つからず)があります。エイリアスについては、エイリアス展開
の結果が出力されます。コマンドと痕跡つきエイリアスについては、そのコマ
ンドの完全なパス名が印刷されます。
.It ulimit [ -HSacdflmnust ] [ limit ]
リソースのリミット値 (リミット値については
.Xr getrlimit 2
参照) を設定あるいは表示します。
``limit'' が指定されている場合、指定されたリソースが設定されます。
それ以外の場合、現在のリソース設定値が表示されます。
.Pp
``-H'' が指定された場合、ハードリミットが設定ないし表示されます。
ハードリミット値を下げることは誰にでもできますが、
それを増やすことができるのはスーパユーザだけです。
オプション ``-S'' を指定した場合はソフトリミットになります。
リミット値を表示する場合、``-S'' か ``-H'' のいずれか一方だけしか
指定できません。
デフォルトでは、表示はソフトリミット、設定はハード/ソフトリミット両方です。
.Pp
オプション ``-a'' を指定すると全リソースの設定値が表示されます。
この場合、パラメータ ``limit'' は指定できません。
.Pp
この他のオプションは、表示あるいは設定するリソースの種類を指定するものです。
これらは互いに排他的です。
.Bl -tag -width Ds
.It -c coredumpsize
コアダンプファイルの最大サイズ。512 バイトのブロック単位。
.It -d datasize
プロセスのデータセグメントの最大サイズ。キロバイト単位。
.It -f filesize
ファイルの最大サイズ。512 バイトブロック単位。これがデフォルトです。
.It -l lockedmem
プロセスがロックできるメモリサイズの最大値。キロバイト単位。
.It -m memoryuse
プロセスの常駐セットサイズの最大値。キロバイト単位。
.It -n nofiles
あるプロセスがオープンできるファイル記述子の最大数。
.It -s stacksize
スタックセグメントサイズの最大値。キロバイト単位。
.It -t time
各プロセスで消費できる CPU 時間の最大値。秒単位。
.It -u userproc
このユーザ ID で同時に走らせうる最大プロセス数。
.El
.It umask [ mask ]
umask の値 (
.Xr umask 2
を参照) を、指定された 8 進数の値に設定します。引数が
省略された場合、現在の umask の値が表示されます。
.It unalias [-a] [name]
``name'' が指定された場合、指定された名前のエイリアスを削除します。
``-a'' オプションが指定された場合、すべてのエイリアスを削除します。
.It unset name ...
指定された変数または関数を unset し、エクスポートされていない状態にします。
指定された名前の変数も関数も存在する場合、変数と関数の両方が unset されます。
.It wait [ job ]
指定されたジョブ job が終了するのを待ち、ジョブ内の最後のプロセスの
終了ステータスを返します。引数が省略された場合、すべてのジョブが終了する
まで待ち、終了ステータス 0 を返します。
.El
.Ss コマンド行編集
.Nm
が端末から対話的に実行されている場合、現在入力中のコマンドおよび
コマンド履歴 (組み込みコマンド fc 参照) を vi モードのコマンド行編集機能
により編集することができます。
このモードでは、vi のマニュアルに示されているコマンドのサブセットを用います。
コマンド `set -o vi' により vi モードが開始され、vi の挿入モードに移行します。
vi モード中では、
挿入モードとコマンドモードの両方を自由に切り替えることが可能です。
vi モードは vi と同様であり、<ESC> キー
によりコマンドモードに移行し、コマンドモードで <return> キーを叩くことで、
行の内容がシェルに渡されます。
.Pp
同様に、コマンド `set -o emacs' により emacs 風のコマンド行編集機能の
サブセットを使うことができるようになります。
.Sh 歴史
.Nm
コマンドは、
.At V.1
で登場しました。
.\" -Amended by N.Kumagai 97.12.30
diff --git a/ja_JP.eucJP/man/man1/shar.1 b/ja_JP.eucJP/man/man1/shar.1
index d2742a25f4..71a2d83b7a 100644
--- a/ja_JP.eucJP/man/man1/shar.1
+++ b/ja_JP.eucJP/man/man1/shar.1
@@ -1,113 +1,113 @@
.\" %NetBSD: shar.1,v 1.3 1994/12/21 08:42:03 jtc Exp %
.\"
.\" 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.
.\"
.\" @(#)shar.1 8.1 (Berkeley) 6/6/93
-.\" %Id: shar.1,v 1.1.1.1.8.5 1998/03/08 12:13:51 jkh Exp %
+.\" %Id: shar.1,v 1.6 1997/08/11 07:22:04 charnier Exp %
.\" jpman %Id: shar.1,v 1.3 1997/05/19 16:58:30 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt SHAR 1
.Os BSD 4.4
.Sh 名称
.Nm shar
.Nd ファイルのシェルアーカイブを作成する
.Sh 書式
.Nm
.Ar
.Sh 解説
.Nm
コマンドは、コマンドラインで指定したファイル階層を再生成するための
.Xr sh 1
のスクリプトファイルを生成するものです (ちなみに、
.Nm
自身、シェルスクリプトです)。
.Nm
で生成されるスクリプトファイルでディレクトリ
を再生成する場合、コマンドライン上での指定は、その中に作成されるファイルより
も先にディレクトリを指定しなくてはなりません (
.Xr find 1
の出力はこの順番で出るので、正しく動作します)。
.Pp
.Nm
コマンドは、通常は少数のファイルを
.Xr ftp 1
.Xr mail 1
を用いて配布する場合に用いられます。
.Sh 関連ファイル
.Xr compress 1 ,
.Xr mail 1 ,
.Xr tar 1 ,
.Xr uuencode 1
.Sh バグ
.Nm
は、特殊な形式のファイルや、特定の文字をサポートするようには出来ていません。
.Nm
コマンドは最後の文字として改行 ('\\n') を含まないファイルを扱えません。
.Pp
.Nm
ファイルにトロイの木馬 (ウイルスの一種) をもぐり込ませることは
簡単に出来ます。
すべてのシェルアーカイブファイルは、
.Xr sh 1
を用いて走行させる前に、十分に点検を行なうことを強くおすすめします。
このインプリメントの
.Nm
を用いて作成されたアーカイブならは、以下の
コマンドで簡単に点検ができます。
.Bd -literal -offset indent
egrep -v '^[X#]' shar.file
.Ed
.Sh 使用例
プログラム
.Xr ls 1
のシェルアーカイブを作成して Rick にメールするには以下のようにします:
.Bd -literal -offset indent
cd ls
shar `find . -print` \&| mail -s "ls source" rick
.Ed
.Pp
このプログラムを再作成するには以下のようにします:
.Bd -literal -offset indent
mkdir ls
cd ls
\&...
<メールのヘッダを削除してアーカイブの検査をします>
\&...
sh archive
.Ed
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/sleep.1 b/ja_JP.eucJP/man/man1/sleep.1
index 8499883637..ef0afe6eff 100644
--- a/ja_JP.eucJP/man/man1/sleep.1
+++ b/ja_JP.eucJP/man/man1/sleep.1
@@ -1,120 +1,120 @@
.\" Copyright (c) 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)sleep.1 8.3 (Berkeley) 4/18/94
-.\" %Id: sleep.1,v 1.2.8.4 1998/07/16 09:35:51 jkh Exp %
+.\" %Id: sleep.1,v 1.8 1998/05/18 06:46:11 charnier Exp %
.\" jpman %Id: sleep.1,v 1.2 1997/05/04 13:38:26 horikawa Stab %
.\"
.Dd April 18, 1994
.Dt SLEEP 1
.Os
.Sh 名称
.Nm sleep
.Nd 一定の時間実行を停止する
.Sh 書式
.Nm
.Ar seconds
.Sh 解説
.Nm
コマンドは、少なくとも
.Ar seconds
で指定した秒数だけ実行を停止します。
.Nm
コマンドは
他のコマンドの実行のスケジューリングに用いられます(以下の
.Sx 使用例
を参照)。
.Pp
.Nm
コマンドが SIGALRM シグナルを受信すると終了ステータス 0 にて終了します。
その他のシグナルでは標準の動作を行います。
.Pp
.Nm
コマンドは終了時に以下の値のいずれかを返します。
.Bl -tag -width flag
.It Li \&0
正常終了した場合、もしくは
.Dv SIGALRM
シグナルを受信した場合。
.It Li \&>\&0
エラーが起きた場合。
.El
.Sh 使用例
あるコマンドの実行を
.Va x
秒後に設定したい場合:
.Pp
.Dl (sleep 1800; sh command_file >& errors)&
.Pp
上記の例では、command_file で指定したスクリプトを実行する前に
30 分間待ちます(
.Xr at 1
ユーティリティの項を参照)。
.Pp
あるコマンドを(
.Xr csh 1
を使って)繰り返し実行したい場合:
.Pp
.Bd -literal -offset indent -compact
while (1)
if (! -r zzz.rawdata) then
sleep 300
else
foreach i (`ls *.rawdata`)
sleep 70
awk -f collapse_data $i >> results
end
break
endif
end
.Ed
.Pp
このようなスクリプトが必要とされるのは以下のような場合でしょう:
現在実行中のプログラムが、一連のファイル群を処理するのに予想以上の
時間を必要としていて、このプログラムが処理結果をファイル
(zzz.rawdata)に出力したらすぐに別のプログラムを起動して
そのファイルを処理したほうがよい場合があります。
上記のスクリプトでは、zzz.rawdata が生成されたかどうかを
5 分おきに確認し、生成が確認されたら 70 秒待って awk ジョブを
実行する、という操作を繰り返します。
.Sh 関連項目
.Xr at 1 ,
.Xr setitimer 2 ,
.Xr alarm 3 ,
.Xr sleep 3
.Sh 規格
.Nm
コマンドは、おそらく
.St -p1003.2
互換です。
diff --git a/ja_JP.eucJP/man/man1/startslip.1 b/ja_JP.eucJP/man/man1/startslip.1
index 81d65dd5cb..0f998a95f3 100644
--- a/ja_JP.eucJP/man/man1/startslip.1
+++ b/ja_JP.eucJP/man/man1/startslip.1
@@ -1,211 +1,215 @@
.\" 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 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.
.\"
.\" @(#)startslip.1 8.1 (Berkeley) 6/5/93
-.\" %Id: startslip.1,v 1.10.2.2 1998/08/12 06:37:07 charnier Exp %
+.\" %Id: startslip.1,v 1.14 1998/08/03 06:32:57 charnier Exp %
.\"
.\" jpman %Id: startslip.1,v 1.3 1997/08/19 03:06:09 h-nokubi Stab %
.\"
.Dd June 5, 1993
.Dt STARTSLIP 1
.Os BSD 4.4
.Sh 名称
.Nm startslip
.Nd 電話をかけ、slip サーバにログインする
.Sh 書式
.Nm startslip
.Op Fl d
.Op Fl b Ar speed
[
.Fl s Ar string1
.Op Fl s Ar string2 Op Ar ...
]
.Op Fl h
.Op Fl l
.Op Fl L
.Op Fl A Ar annexname
.Op Fl U Ar upscript
.Op Fl D Ar downscript
.Op Fl t Ar script_timeout
.Op Fl W Ar maxtries
.Op Fl w Ar retry_pause
.Op Fl K Ar keepalive
.Op Fl O Ar outfill
.Op Fl S Ar unit
-.Ar device user passwd
+.Ar device user password
.Sh 解説
-.Pp
-.Nm startslip
+.Nm
は指定された
.Ar device
をオープンします。
ひとたびキャリアが確認されると(モデム制御が有効にされている場合)、
-.Nm startslip
+.Nm
は指定された
.Ar user
および
.Ar password
でのログインを試みます。
Annex オプション (
.Fl A
参照) が指定されない限り、
標準的な login: および Password: の方式を想定します。
成功すると、
.Nm
はその device を slip の回線規約に設定し、
.Ar upscript
を呼び出してウェイトモードに入ります。
キャリアが落ちる (モデム制御有効の場合) あるいは
.Dv SIGHUP
シグナルがに送られると、
-.Nm startslip
+.Nm
は device をクローズし、
.Ar downscript
を呼び出し、ダイアルアップとログインのシーケンスを繰り返し試みます。
.Dv SIGTERM
シグナルが送られると、
-.Nm startslip
+.Nm
は device をクローズし、
.Ar downscript
を呼び出し、そして終了します。
同一 device に対して
-.Nm startslip
+.Nm
が 2 回呼び出されると、処理を行う前に
ひとつめの
-.Nm startslip
+.Nm
.Dv SIGTERM
シグナルによって kill されます。
.Pp
-利用可能オプション:
-.Bl -tag -width Ar
+以下のオプションを利用可能です:
+.Bl -tag -width indent
.It Fl d
行おうとしている処理に関するデバッグ情報を出力します。
.It Fl b Ar speed
.Ar device
に用いるボーレートを決定します。デフォルトは 9600 です。
.It Fl t Ar script_timeout
ログインスクリプトのタイムアウトを秒単位で指定します。デフォルトは 90 です。
.It Fl w Ar retry_pause
接続再試行の間の待ち時間を秒単位で指定します(再試行のたびに長くなります)。
デフォルトは 60 です。
.It Fl W Ar maxtries
一つのセッション内で接続再試行する最大回数を設定します。
デフォルトは 6 回です。0 を指定すると無限回という意味になります。
.It Fl s Ar stringN
オプション文字列
.Ar stringN
.Ar device
に書き出します。改行は自動的に付加されます。
ダイアルアップモデムの場合、
この文字列を用いてダイアルシーケンスを指定します。
デフォルトでは文字列は全く書き出しません。
複数個の
.Fl s Ar stringN
引数を指定して、例えばいくつかのホストの電話番号を
接続試行毎に切り替えるように指定できます。
.It Fl A Ar annexname
Xylogics の Annex box に接続しているものとみなし、引数
.Ar user
および
-.Ar passwd
+.Ar password
を用いて適切なダイアログを行います。引数
.Ar annexname
は Annex プロンプトとマッチさせて接続が確立したことを判断するのに
用いる文字列です。
.It Fl h
.Ar device
に対してハードウェアフロー制御 (CTS/RTS) を用います。
デフォルトではフロー制御は行いません。
.It Fl l
.Ar device
に対してのモデム制御 (キャリアを待つ およびキャリアドロップの検出) を
無効化します。
デフォルトではモデム制御は有効になっています。
.It Fl U Ar upscript
SLIP インタフェースが接続されたときに実行するスクリプトを指定します。
-このスクリプトには ifconfig, route その他適切なコマンドを含めることが
+このスクリプトには
+.Xr ifconfig 8 ,
+.Xr route 8
+や、その他適切なコマンドを含めることが
できます。
スクリプトには "slX up" が引数として渡されます。
デフォルトは
.Pa /sbin/ifconfig
です。
ダイアルシーケンス番号 (
.Fl s
参照) は環境変数
.Ev LINE
を通じて渡されます。
.It Fl D Ar downscript
SLIP インタフェースが切断されたときに実行するスクリプトを指定します。
スクリプトには引数として "slX down" が渡されます。
-デフォルトは "/sbin/ifconfig" です。
+デフォルトは
+.Pa /sbin/ifconfig
+です。
ダイアルシーケンス番号 (
.Fl s
参照) は環境変数
-.Dv LINE
+.Ev LINE
を通じて渡されます。
.It Fl K Ar keepalive
SLIP の "keep alive" タイムアウトの秒数を設定します。
この時間内に FRAME_END を受信しなければ、再接続が行われます。
向こう側からのアクティブな "out fill" タイムアウトを期待します。
デフォルトではタイムアウトなしです。
.It Fl O Ar outfill
SLIP の "out fill" タイムアウトの秒数を設定します。
この時間内に FRAME_END を少なくとも 1 回送信するようにします。
向こう側で "keep alive" タイムアウトが設定されている必要があります。
デフォルトではタイムアウトなしです。
.It Fl S Ar unit
SLIP ユニットナンバを直接設定します。
2 つのインタフェースが同一のナンバを使っていることはチェックしないので、
注意して使用して下さい。
デフォルトではダイナミックな割り当てを行います。
.It Fl L
UUCP 形式のデバイスロックを行います。
既に UUCP ロックを行っている外部プログラムから
-.Nm startslip
+.Nm
を実行する場合以外は、これが必要です。
デフォルトの場合、そのようなプログラムを満足させる UUCP ロックは行いません。
.El
.Sh 関連ファイル
.Bl -tag -width /var/run/startslip.<device>.pid -compact
.It Pa /var/run/startslip.<device>.pid
PID がここに格納されます。
+.It Pa /usr/share/examples/startslip/*
.Sh 関連項目
.Xr uustat 1 ,
.Xr slattach 8 ,
-.Xr sliplogin 8 ,
-/usr/share/examples/startslip
+.Xr sliplogin 8
.Sh 歴史
-.Nm startslip
+.Nm
.Bx 4.4
で登場しました。
diff --git a/ja_JP.eucJP/man/man1/strip.1 b/ja_JP.eucJP/man/man1/strip.1
index 550205ee3e..7f094e159e 100644
--- a/ja_JP.eucJP/man/man1/strip.1
+++ b/ja_JP.eucJP/man/man1/strip.1
@@ -1,72 +1,72 @@
.\" 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.
.\"
.\" @(#)strip.1 8.1 (Berkeley) 6/6/93
-.\" %Id: strip.1,v 1.3.2.1 1997/08/13 06:37:16 charnier Exp %
+.\" %Id: strip.1,v 1.6 1997/08/12 06:44:56 charnier Exp %
.\" jpman %Id: strip.1,v 1.4 1997/06/05 11:10:48 bobson Stab %
.\"
.Dd June 6, 1993
.Dt STRIP 1
.Os
.Sh 名称
.Nm strip
.Nd 実行可能ファイルから実行に不要な情報を削除する
.Sh 書式
.Nm
.Op Fl d
.Op Fl x
.Ar
.Sh 解説
.Nm
は実行可能ファイルから、アセンブラ、ローダ、デバッガが使用する
リロケーション情報とシンボルテーブルを削除します。これにより、
インストールされる実行可能ファイルのサイズを減少させ、
ディスク使用量を抑えることができます。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl d
デバッギング情報と空のシンボルのみを削除します。
.It Fl x
デバッギング情報、コンパイラ情報、ローカルシンボルのみを削除します。
.El
.Pp
.Nm
は成功すれば 0 を、エラーが発生すれば 1 を、終了ステータスとして返します。
.Sh 関連項目
.Xr cc 1 ,
.Xr ld 1 ,
.Xr stab 5
.Sh 歴史
.Nm
.At v1
に登場しました。
diff --git a/ja_JP.eucJP/man/man1/stty.1 b/ja_JP.eucJP/man/man1/stty.1
index df205127df..e28e3f8c61 100644
--- a/ja_JP.eucJP/man/man1/stty.1
+++ b/ja_JP.eucJP/man/man1/stty.1
@@ -1,530 +1,530 @@
.\" Copyright (c) 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following 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.
.\"
.\" @(#)stty.1 8.4 (Berkeley) 4/18/94
-.\" %Id: stty.1,v 1.4.2.5 1998/07/16 09:35:52 jkh Exp %
+.\" %Id: stty.1,v 1.10 1998/06/03 04:07:59 jkoshy Exp %
.\" jpman %Id: stty.1,v 1.2 1997/06/05 04:05:59 yugawa Stab %
.\"
.Dd April 18, 1994
.Dt STTY 1
.Os
.Sh 名称
.Nm stty
.Nd 端末の設定を行なう
.Sh 書式
.Nm stty
.Op Fl a | Fl e | Fl g
.Op Fl f Ar file
.Op operands
.Sh 解説
.Nm
は、標準入力になっているデバイスの端末属性を設定もしくは表示する
プログラムです。オプションや引数を指定しなかった場合、
設定されている属性の一部や、デフォルト値と違う値が設定されている属性
を表示します。
指定した場合は、指定された引数に従って端末の状態を変更します。
ターミナルの種類によっては相互に排他的な引数の組み合わせもあります。
.Pp
オプションとしては以下のものがあります。
.Bl -tag -width indent
.It Fl a
.St -p1003.2
に規定された形式で、
現在の端末属性をすべて標準出力に出力します。
.It Fl e
.Tn BSD
の伝統的な ``all'' や ``everything'' の形式で、
現在の端末属性をすべて標準出力に出力します。
.It Fl f
標準入力ではなく、
.Ar file
で指定された端末を使います。
このファイルは
.Fn open
関数に
.Dv O_NONBLOCK
フラグを付けてオープンされるので、端末の設定や表示をブロックされず
に行なうことができます。
.It Fl g
端末変更後に端末の状態を復帰させられるように、
.Nm
の引数として指定できる形式で、現在の端末属性を標準出力に
出力します。
この形式は
.St -p1003.2
に規定されています。
.El
.Pp
端末属性の設定には、以下の引数が使えます。
.Ss 制御モード:
.Pp
制御モードのフラグは端末と関連するハードウェアの属性
に影響します。これは termios 構造体の c_cflag に相当します。
.Bl -tag -width Fl
.It Cm parenb Pq Fl parenb
パリティ生成および検出を有効 (無効) にします。
.It Cm parodd Pq Fl parodd
奇数パリティ (偶数パリティ) にします。
.It Cm cs5 cs6 cs7 cs8
可能なら 1 文字のビット幅を設定します。
.It Ar number
可能なら、端末のボーレートを
.Ar number
に設定します。0 を指定した場合は、モデムの制御を切ります。
.It Cm ispeed Ar number
可能なら、入力のボーレートを
.Ar number
に設定します。0 を設定した場合は、出力のボーレートと同じ値に設定されます。
.It Cm ospeed Ar number
可能なら、出力のボーレートを
.Ar number
に設定します。0 を設定した場合は、モデムの制御を切ります。
.It Cm speed Ar number
.Cm ispeed
.Cm ospeed
の両方を
.Ar number
に設定します。
.It Cm hupcl Pq Fl hupcl
そのデバイスをオープンしているプロセスがクローズ処理を行ったとき、ほか
にこのデバイスをオープンしているプロセスがなければ、モデムの制御機能に
より切断処理を行います (行いません)。
.It Cm hup Pq Fl hup
hupcl
.Pq Fl hupcl
と同じです。
.It Cm cstopb Pq Fl cstopb
ストップビットを 2ビット (1ビット) にします。
.It Cm cread Pq Fl cread
受話器を有効 (無効) にします。
.It Cm clocal Pq Fl clocal
回線に対してモデム制御が不要である (必要である) とみなします。
.It Cm crtscts Pq Fl crtscts
RTS/CTS フロー制御を有効 (無効) にします。
.El
.Ss 入力モード:
これは termios 構造体の c_iflag に相当します。
.Bl -tag -width Fl
.It Cm ignbrk Pq Fl ignbrk
入力のブレーク信号を無視します (無視しません)。
.It Cm brkint Pq Fl brkint
ブレークを受信したとき、シグナル
.Dv INTR
を出します (出しません)。
.It Cm ignpar Pq Fl ignpar
パリティエラーを無視します (無視しません)。
.It Cm parmrk Pq Fl parmrk
パリティエラーをマークします (マークしません)。
.It Cm inpck Pq Fl inpck
入力のパリティチェックを有効 (無効) にします。
.It Cm istrip Pq Fl istrip
入力した文字の 8 ビット目を捨てて 7 ビットにします (8 ビット目
を捨てません)。
.It Cm inlcr Pq Fl inlcr
入力の
.Dv NL
.Dv CR
に変換します (変換しません)。
.It Cm igncr Pq Fl igncr
入力の
.Dv CR
を無視します (無視しません)。
.It Cm icrnl Pq Fl icrnl
入力の
.Dv CR
.Dv NL
に変換します (変換しません)。
.It Cm ixon Pq Fl ixon
制御コードの
.Dv START/STOP
を使った出力フロー制御を有効 (無効) にします。
システムから端末への出力において、システムが
.Dv STOP
を受信したら出力を中断し、
.Dv START
を受信するか、
.Cm ixany
が設定されている場合は何らかの文字を受信すると、
出力を再開するようになります。
.It Cm ixoff Pq Fl ixoff
システムの入力キューが
空/満杯に近づいたら、それぞれ
.Dv START/STOP
を出力するようにします (近づいても、出力しません)。
.It Cm ixany Pq Fl ixany
どんな文字が来ても (
.Dv START
が来た場合のみ) 出力を再開します。
.It Cm imaxbel Pq Fl imaxbel
システムによって入力キューの
.Dv MAX_INPUT
(一般的には 255) の最大文字数が規定されており、
.Cm imaxbel
がセットされていると、入力キューの制限を越えた入力に対して
ASCII BEL キャラクタを出力キューに送ります (端末が鳴ります)。
.Cm imaxbel
がセットされていなくて入力キューが一杯になった場合、次の文字入力で
すべての入力、出力キューは捨てられます。
.El
.Ss 出力モード:
これは termios 構造体の c_oflag に相当します。
.Bl -tag -width Fl
.It Cm opost Pq Fl opost
プロセス後の処理を行った上で出力をします (プロセス後の処理を行わずに出力します。
この指定をすると、他のすべての出力モードが無視されます)。
.It Cm onlcr Pq Fl onlcr
出力の
.Dv NL
.Dv CR-NL
に変換します (変換しません)。
.It Cm oxtabs Pq Fl oxtabs
出力のタブをスペースに展開します (展開しません)。
.El
.Ss ローカルモード:
.Pp
ローカルモードのフラグ (lflags) は端末処理のさまざまな属性に影響します。
歴史的には、"local"という名前のつけられた新しいジョブコントロール機能
は Jim Kulp によって
.Tn IIASA
.Tn Pdp 11/70
に実装されました。
その後このドライバは、
Evans Hall, UC Berkeley の最初の
.Tn VAX
上で走りました。その際ジョブコントロールの細部は大幅に変更されましたが、
構造体の定義と名前は根本的には変わりませんでした。
lflag の 'l' の二つ目の解釈は、
.Ar termios
構造体の
.Ar c_lflag
に相当する ``line discipline flag''(行制御規則フラグ) です。
.Bl -tag -width Fl
.It Cm isig Pq Fl isig
特殊な制御文字
.Dv INTR , QUIT ,
.Dv SUSP
に対する処理を有効 (無効) にします。
.It Cm icanon Pq Fl icanon
.Dv ERASE
.Dv KILL
処理による入力制御を有効 (無効) にします。
.It Cm iexten Pq Fl iexten
icanon, isig, ixon で制御に使われているもの以外の特殊な
制御文字の処理を有効 (無効) にします。
.It Cm echo Pq Fl echo
タイプされた文字をエコーバックします (エコーバックしません)。
.It Cm echoe Pq Fl echoe
.Dv ERASE
文字の入力があった場合、可能ならディスプレイ上に見える現在の出力行の
最後の文字を消します (消しません)。
.It Cm echok Pq Fl echok
.Dv KILL
文字の入力があった場合、そのあとに
.Dv NL
を出力します (出力しません)。
.It Cm echoke Pq Fl echoke
可能なら、
.Dv KILL
文字でディスプレイ上の現在の行を消します (消しません)。
.It Cm echonl Pq Fl echonl
echo が無効になっているときでも
.Dv NL
文字だけはエコーバックさせます (エコーバックしません)。
.It Cm echoctl Pq Fl echoctl
.Cm echoctl
をセットすると、制御文字は ^X のように表示されます。
セットしなければ、その文字自身が表示されます。
.It Cm echoprt Pq Fl echoprt
プリンタ端末に対するもので、設定された場合、削除された文字を
``\\'' と ``/'' で囲んで逆方向にエコーします。
設定されていなければ、この機能を無効にします。
.It Cm noflsh Pq Fl noflsh
.Dv INTR , QUIT , SUSP
のあとのフラッシュ処理を無効 (有効) にします。
.It Cm tostop Pq Fl tostop
バックグラウンドジョブが出力を行おうとした時に
.Dv SIGTTOU
を送ります (送りません)。これによってバックグラウンドジョブは画面出力を
行おうとすると停止するようになります。
.It Cm altwerase Pq Fl altwerase
.Dv WERASE
文字を処理するときに、別の単語消去アルゴリズムを用います (用いません)。
このアルゴリズムは英数字とアンダースコアの並びを単語とみなします。
また、分類上直前の文字をスキップします (便宜的に、直前の文字を
.Dv ERASE
一文字で消すことができるようにするため)。
.It Cm mdmbuf Pq Fl mdmbuf
セットされると、CD 信号の検出によるフロー制御の出力を行います。
セットされなければ、CD 信号の低下に対してエラーを出力します
(キャリア信号は
.Dv CLOCAL
フラグによっても無視されません)。
.It Cm flusho Pq Fl flusho
出力を捨てます (捨てません)。
.It Cm pendin Pq Fl pendin
入力を非標準 (non-canonical) モードから標準 (canonical) モードへ切り換えた
あと、入力を保留します
(保留しません)。読み込みが保留されたとき、または更に入力があったときに
再入力されます。
.El
.Ss 制御文字:
.Bl -tag -width Fl
.It Ar control-character Ar string
.Ar string
.Ar control-character
を割り当てます。もし string が 1 文字だけなら、その文字に
.Ar control-character
が割り当てられます。
string が二文字の "^-" もしくは "undef" の場合は
.Ar control-character
は無効にされます (つまり、
.Pf { Dv _POSIX_VDISABLE Ns }
になります)。
.Pp
認識される制御文字:
.Bd -ragged -offset indent
.Bl -column character Subscript
.It 制御文字 記号   説明
.It _________ _________ _______________
.It eof Ta Tn VEOF EOF No character
.It eol Ta Tn VEOL EOL No character
.It eol2 Ta Tn VEOL2 EOL2 No character
.It erase Ta Tn VERASE ERASE No character
.It werase Ta Tn VWERASE WERASE No character
.It intr Ta Tn VINTR INTR No character
.It kill Ta Tn VKILL KILL No character
.It quit Ta Tn VQUIT QUIT No character
.It susp Ta Tn VSUSP SUSP No character
.It start Ta Tn VSTART START No character
.It stop Ta Tn VSTOP STOP No character
.It dsusp Ta Tn VDSUSP DSUSP No character
.It lnext Ta Tn VLNEXT LNEXT No character
.It reprint Ta Tn VREPRINT REPRINT No character
.It status Ta Tn VSTATUS STATUS No character
.El
.Ed
.It Cm min Ar number
.It Cm time Ar number
min あるいは time の値を
.Ar number
にします。
.Dv MIN
.Dv TIME
は非標準的なモード (-icanon) での入力処理に使われます。
.El
.Ss 複合モード:
.Pp
.Bl -tag -width Fl
.It Ar saved settings
現在の端末属性を
.Fl g
オプションによって保存された属性にする。
.It Cm evenp No or Cm parity
parenb と cs7 を有効にし、parodd を無効にします。
.It Cm oddp
parenb, cs7, parodd を有効にします。
.It Fl parity , evenp , oddp
parenb を無効にして、cs8 をセットします。
.It Cm \&nl Pq Fl \&nl
icrnl を有効 (無効) にします。
それに加えて、-nl は inlcr と igncr を解除します。
.It Cm ek
.Dv ERASE
.Dv KILL
に割り当てられている文字をシステムのデフォルトのものに戻します。
.It Cm sane
すべてのモードを対話的な端末利用に妥当な値にリセットします。
.It Cm tty
行制御規則を標準端末の規則
.Dv TTYDISC
に設定します。
.It Cm crt Pq Fl crt
CRT ディスプレイ用に適合するモードをすべて有効 (無効) にします。
.It Cm kerninfo Pq Fl kerninfo
.Dv STATUS
文字 (通常 ^T に設定されています) に結びつけられた
システムステータス行の生成を有効 (無効) にします。
このステータス行はシステムの負荷、現在のコマンドの名前、プロセス ID、
プロセスが待っているイベント (あるいはプロセスの状態)、
ユーザー時間とシステム時間、CPU利用率、現在のメモリ使用状況
からなっています。
.It Cm columns Ar number
端末の大きさを
.Ar number
列とします。
.It Cm cols Ar number
.Cm columns
の別名定義です。
.It Cm rows Ar number
端末の大きさを
.Ar number
行とします。
.It Cm dec
Digital Equipment Corporation systems の端末設定にします。
(
.Dv ERASE ,
.Dv KILL ,
.Dv INTR
をそれぞれ ^?, ^U, ^Cとし、
.Dv ixany
を無効、
.Dv crt
を有効にします)
.It Cm extproc Pq Fl extproc
設定されると、一部の端末処理が端末機器ないし pty に接続されたリモート側
で行なわれるようになります。
.It Cm raw Pq Fl raw
端末モードを全く入出力処理を行なわないモードにします。
これを無効にすると、端末を入出力処理を行なう普通のモードに戻します。
注意すべきなのは、端末用のドライバは単一の
.Dv RAW
ビットを持つわけではないので、
.Cm raw
モードに設定する前にどのようなフラグが設定してあったのかを知ることがで
きないということです。つまり、
.Cm raw
モードを解除するだけでは、
.Cm raw
モード設定前の状態には戻りません。
端末を raw 状態にして、それを正確に元に戻すためには、以下のような
シェルコマンドを使うことを薦めます。
.nf
save_state=$(stty -g)
stty raw
\&...
stty "$save_state"
.fi
.It Cm size
端末の大きさを行、列の順に並べた一行で表示します。
.El
.Ss 互換モード:
.Pp
以下のモードは旧バージョンの stty コマンドとの互換性保持のために残され
ています。
.Bl -tag -width Fl
.It Cm all
縦覧式でコントール文字を表示する以外は、
.Cm stty Fl a
と同様に端末設定を表示します。
.It Cm everything
.Cm all
と同じです。
.It Cm cooked
.Cm sane
と同じです。
.It Cm cbreak
.Cm brkint , ixon , imaxbel , opost ,
.Cm isig , iexten ,
.Cm Fl icanon
を有効にします。
解除した場合は
.Cm sane
と同じです。
.It Cm new
.Cm tty
と同じです。
.It Cm old
.Cm tty
と同じです。
.It Cm newcrt Pq Fl newcrt
.Cm crt
と同じです。
.It Cm pass8
.Cm parity
の反対です。
.It Cm tandem Pq Fl tandem
.Cm ixoff
と同じです。
.It Cm decctlq Pq Fl decctlq
.Cm ixany
の反対です。
.It Cm crterase Pq Fl crterase
.Cm echoe
と同じです。
.It Cm crtbs Pq Fl crtbs
.Cm echoe
と同じです。
.It Cm crtkill Pq Fl crtkill
.Cm echoke
と同じです。
.It Cm ctlecho Pq Fl ctlecho
.Cm echoctl
と同じです。
.It Cm prterase Pq Fl prterase
.Cm echoprt
と同じです。
.It Cm litout Pq Fl litout
.Cm opost
の反対です。
.It Cm tabs Pq Fl tabs
.Cm oxtabs
の反対です。
.It Cm brk Ar value
制御文字
.Cm eol
と同じです。
.It Cm flush Ar value
制御文字
.Cm discard
と同じです。
.It Cm rprnt Ar value
制御文字
.Cm reprint
と同じです。
.El
.Pp
.Nm
は成功した場合は 0 を、エラーが起きた場合は 0 より大きい値を返します。
.Sh 関連項目
.Xr termios 4
.Sh 規格
.Nm
.St -p1003.2
互換です。
.Fl e
.Fl f
のフラグは規格を拡張しています。
diff --git a/ja_JP.eucJP/man/man1/su.1 b/ja_JP.eucJP/man/man1/su.1
index 1c150533c2..5e49d7ba36 100644
--- a/ja_JP.eucJP/man/man1/su.1
+++ b/ja_JP.eucJP/man/man1/su.1
@@ -1,229 +1,228 @@
.\" 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
-.\" %Id: su.1,v 1.3.2.9 1998/07/17 04:21:29 jkh Exp %
-.\" %Id: su.1,v 1.3.2.8 1998/06/08 05:44:03 jkoshy Exp %
+.\" %Id: su.1,v 1.14 1998/06/08 05:29:51 jkoshy Exp %
.\" jpman %Id: su.1,v 1.3 1997/05/19 16:52:17 horikawa Stab %
.\"
.\" this is for hilit19's braindeadness: "
.Dd April 18, 1994
.Dt SU 1
.Os
.Sh 名称
.Nm su
.Nd 一時的に他のユーザになりかわる
.Sh 書式
.Nm
.Op Fl Kflm
.Op Fl c Ar class
.Op Ar login Op Ar args
.Sh 解説
.Nm
.Ar login
するときに Kerberos パスワード
(もしくはログイン (
.Ar login
) が指定されない場合には、
.Dq Ar login Ns .root
のパスワード)を要求し、Kerberos 認証を得たあとにユーザとグループ ID を
切替えます。シェルはそのあとに実行されます。もし Kerberos エラーがあれ
ば、
.Nm
は、
.Ar login
のためのパスワードを見つけるためにローカルパスワードファイルを調べま
す。もし
.Nm
が root によって実行された場合、パスワードは要求されず、適当なユーザ
ID をもったシェルが実行されます。付加的な Kerberos 認証は一つも得られ
ません。
.Pp
デフォルトでは、
.Ev USER ,
.Ev HOME ,
.Ev SHELL
以外の環境変数は引き継がれます。
.Ev HOME
.Ev SHELL
はターゲットとなるログインのデフォルト値になります。
.Ev USER
は、ターゲットログインのユーザ ID が 0 以外であれば、ターゲットログイ
ンのものがセットされます。0 の場合は変更されません。実行されるシェルは
ターゲットログインのログインシェルです。これは
.Nm
の伝統的なふるまいです。
オリジナルユーザのログインクラス(
.Xr login.conf 5
参照)の資源制約とセッション優先度も通常保たれます。
例外はターゲットログインがユーザ ID 0 の場合です。
.Pp
オプションとしては、以下のものがあります:
.Bl -tag -width Ds
.It Fl K
ユーザ認証に Kerberos を使用しません。
.It Fl f
シェルとして
.Xr csh 1
が実行される場合、
.Dq Pa .cshrc
ファイルを読み込みません。
.It Fl l
通常にログインした場合と同様になるように環境変数が設定されます。
すなわち、環境変数は
.Ev HOME ,
.Ev SHELL ,
.Ev PATH ,
.Ev TERM ,
.Ev USER
以外は捨てられます。
.Ev HOME
.Ev SHELL
は上記のように変更されます。
.Ev USER
はターゲットログインの値になります。
.Ev PATH
.Dq Pa /bin:/usr/bin
になります。
.Ev TERM
は、あなたの現在の環境変数の値になります。
ターゲットログインのクラスにより、
ログインクラスケーパビリティデータベースに基づき、
環境変数が設定もしくは変更されることがあります。
実行されるシェルはターゲット
ログインのログインシェルになり、
ターゲットログインのホームディレクトリに移動します。
資源制約とセッション優先度は、
ターゲットアカウントのログインクラスのものに変更されます。
.It Fl m
環境変数は変化しません。
実行されるシェルは自分のログインシェルで、ディレクトリの移動も行われません。
セキュリティの用心として、もしターゲットユーザのシェルが
非標準シェル (
.Xr getusershell 3
で定義される) であったり、呼出側の実ユーザ ID が 0 でなければ、
.Nm
は失敗します。
.It Fl c Ar class
指定されたログインクラスの設定を使用します。
スーパユーザのみが使用を許されます。
.El
.Pp
.Fl l
.Fl m
は、同時に指定することはできません。最後に指定したものが優先されます。
.Pp
オプションの
.Ar args
がコマンドラインに指定されると、
それらはターゲットログインのログインシェルに引き渡されます。
.Pp
グループ 0 (通常は
.Dq wheel )
のメンバのみ
.Dq root
となることが可能です。
グループ 0 が存在しないか空の場合には、どのユーザでも
.Dq root
.Nm
することが可能です。
.Pp
デフォルトでは (設定がされていなければ) スーパユーザのプロンプトは
.Dq Sy \&#
に設定されます。
.Sh 関連項目
.Xr csh 1 ,
.Xr kerberos 1 ,
.Xr kinit 1 ,
.Xr login 1 ,
.Xr sh 1 ,
.Xr group 5 ,
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr environ 7
.Sh 環境変数
.Nm
で利用される環境変数は以下の通りです:
.Bl -tag -width HOME
.It Ev HOME
上記で示した書き換えがない限り、
実ユーザ ID のデフォルトのホームディレクトリです。
.It Ev PATH
上記で示した書き換えがない限り、実ユーザ ID のデフォルトのサーチパスで
す。
.It Ev TERM
なり代わる人が所有している端末のターミナルタイプです。
.It Ev USER
ユーザ ID が 0 (root) 以外の場合は、ユーザ ID は常に
.Nm
後の effective ID (ターゲットとなるユーザ ID) です。
.El
.Sh 使用例
.Bl -tag -width 5n -compact
.It Li "su man -c catman"
コマンド
.Li catman
をユーザ
.Li man
で実行します。
あなたの実 UID が 0 でない場合は、man のパスワードを尋ねられます。
.It Li "su man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'"
上と同様ですが、コマンドが複数の語から構成されています。
.Fl c
オプションをシェルに渡すためにクォートしています
(ほとんどのシェルでは
.Fl c
への引数が単一語であると期待します)。
.It Li "su -c staff man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'"
上と同様ですが、ログインクラス
.Dq staff
の資源制限にてターゲットコマンドを実行します。
注釈: この例では、最初の
.Fl c
オプションは
.Nm
に適用され、2 番目のものは起動されるシェルの引数となります。
.It Li "su -l foo"
ユーザ
.Li foo
のログインの振舞をします。
.El
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/systat.1 b/ja_JP.eucJP/man/man1/systat.1
index 9190589b1b..6cf4751ec7 100644
--- a/ja_JP.eucJP/man/man1/systat.1
+++ b/ja_JP.eucJP/man/man1/systat.1
@@ -1,399 +1,487 @@
.\" Copyright (c) 1985, 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.
.\"
.\" @(#)systat.1 8.2 (Berkeley) 12/30/93
.\" jpman %Id: systat.1,v 1.3 1997/10/05 12:58:19 horikawa Stab %
.\"
-.Dd December 30, 1993
+.Dd September 9, 1997
.Dt SYSTAT 1
.Os BSD 4.3
.Sh 名称
.Nm systat
.Nd システムの統計情報を CRT に表示します
.Sh 書式
.Nm systat
.Op Fl display
.Op Ar refresh-interval
.Sh 解説
.Nm systat
はシステムの各種統計情報をスクリーン指向な方法で
.Xr curses 3
の curses スクリーンディスプレイライブラリを用いて表示します。
.Pp
.Nm systat
の走行中はスクリーンが通常 2 つのウィンドウに分割されます
(例外は vmstat を表示する場合で この時はスクリーン全体を使います)。
上のウィンドウはその時のシステムのロードアベレージを表示します。
下のウィンドウに表示される情報は、ユーザのコマンドに応じて
変化するかもしれません。スクリーンの最終行はユーザの入力と
エラーメッセージのために予約されています。
.Pp
デフォルトでは
.Nm systat
はプロセッサ使用率が最大のプロセスを下のウィンドウに表示します。
他にはスワップ領域の使用状況、ディスク
.Tn I/O
の統計情報 (
.Xr iostat 8
式に)、仮想記憶の統計情報 (
.Xr vmstat 8
-式に)、ネットワークの ``mbuf'' 利用率、ネットワークコネクション (
+式に)、ネットワークの ``mbuf'' 利用率、
+.Tn TCP/IP
+統計情報、
+ネットワークコネクション (
.Xr netstat 1
式に) を表示します。
.Pp
入力は 2 つの異なるレベルで解釈されます。
``グローバル'' なコマンドインタプリタがすべてのキーボード入力を
処理します。もしこのコマンドインタプリタがコマンドを認識できないと、
入力行は表示する種類毎のコマンドインタプリタに渡されます。
これによって各表示内容に応じたコマンドを持つ事が可能になります。
.Pp
コマンド行のオプション:
.Bl -tag -width "refresh_interval"
.It Fl Ns Ar display
.Fl
に続けて
.Ar display
として以下のいずれか一つを指定します:
-.Ic pigs ,
+.Ic icmp ,
.Ic iostat ,
-.Ic swap ,
+.Ic ip ,
.Ic mbufs ,
-.Ic vmstat ,
-.Ic netstat
+.Ic netstat ,
+.Ic pigs ,
+.Ic swap ,
+.Ic tcp ,
+.Ic vmstat
。これらの表示内容は対話的にも (
.Dq Fl
無しに) 指定でき、そして詳細は以下の説明にあります。
.It Ar refresh-interval
.Ar refresh-value
にスクリーンの更新間隔を秒数で指定します。
.El
.Pp
いくつかの文字は
.Nm systat
を即座に反応させます。
そういった文字には以下の物があります
.Bl -tag -width Fl
.It Ic \&^L
スクリーンを更新します。
.It Ic \&^G
その時点で下のウィンドウに表示されている ``表示内容'' の名称と
更新間隔を表示します。
.It Ic \&^Z
.Nm systat
を停止します。
.It Ic \&:
カーソルをコマンドラインに移動して打ち込まれた入力行を
コマンドとして解釈します。コマンドの入力中は
現位置文字消去、単語消去、行取消の各編集機能が使えます。
.El
.Pp
以下のコマンドは ``グローバル'' なコマンドインタプリタによって
解釈されます。
.Bl -tag -width Fl
.It Ic help
指定可能な表示内容をコマンドラインに表示します。
.It Ic load
過去 1、5、15分間のロードアベレージをコマンドラインに表示します。
.It Ic stop
スクリーンの更新を止めます。
.It Xo
.Op Ic start
.Op Ar number
.Xc
スクリーンの更新を開始 (継続) します。もし数値で秒数指定の
引数が与えられると更新間隔 (の秒数) として解釈されます。
数値のみを与えると更新間隔がその値にセットされます。
.It Ic quit
.Nm systat
を終了します。
(これは
.Ic q
と省略できます。)
.El
.Pp
指定可能な表示内容には以下があります:
.Bl -tag -width Ic
.It Ic pigs
下のウィンドウに、主記憶を占めプロセッサ利用率が最大のプロセスを
表示します (デフォルトの表示内容です)。
ユーザプロセスへのプロセッサの割当が 100% 未満の時は、
残りは ``idle'' プロセスに割り当てられているものと扱います。
+.It Ic icmp
+下のウィンドウに、
+Internet Control Message Protocol
+.Pq Dq Tn ICMP
+で送受信されたメッセージの統計情報を表示します。
+スクリーンの左半分には受信したパケットの情報を表示し、
+右半分には送信されたと考えられるパケットの情報を表示します。
+.Pp
+表示内容が
+.Ic icmp
+の場合は 2つのコマンドが利用できます:
+.Ic mode
+と
+.Ic reset
+です。
+.Ic mode
+コマンドは与えられた引数に応じて 4つの表示モードから 1つを選ぶために使います:
+.Bl -tag -width absoluteXX -compact
+.It Ic rate :
+それぞれの値の変動を秒単位にパケット数で表示します (デフォルトです)
+.It Ic delta :
+それぞれの値の変動を更新間隔単位にパケット数で表示します
+.It Ic since :
+表示が最後にリセットされてからのそれぞれの値の変動の総計を表示します
+.It Ic absolute :
+各統計の絶対値を表示します
+.El
+.Pp
+.Ic reset
+コマンドは
+.Ic since
+モードの基点をリセットします。
+引数なしの
+.Ic mode
+コマンドはその時点のモードをコマンドラインに表示します。
+.It Ic ip
+.Tn IP
+と
+.Tn UDP
+の統計情報を表示するという点を除いて
+.Ic icmp
+と同じです。
+.It Ic tcp
+.Ic icmp
+に似ていますが、
+.Tn TCP
+の統計情報を表示します。
.It Ic iostat
下のウィンドウに、プロセッサ利用率とディスクのスループットの
統計情報を表示します。プロセッサ利用率の統計情報は
ユーザモード (``user'')、低いプライオリティで実行された
ユーザモードのプロセス (``nice'')、システムモード (``system'')、
割り込みモード (``interrupt'')、アイドル (``idle'') での総実行時間
の棒グラフとして表示されます。
ディスクのスループットの統計情報としては、各ドライブについて、
転送データのキロバイト数、実行されたディスクトランザクション数、
平均シーク時間 (単位はミリ秒) が表示されます。
この情報は棒グラフまたは下へスクロールする数値の列で表示されます。
棒グラフでの表示がデフォルトです;
.Pp
以下のコマンドは表示内容が
.Ic iostat
の場合に特有です; 先頭からの一意に識別可能な文字数だけで指定可能です。
.Pp
.Bl -tag -width Fl -compact
.It Cm numbers
ディスク
.Tn I/O
の統計情報を数値形式で表示します。値は下へスクロールする
数値の列として表示されます。
.It Cm bars
ディスク
.Tn I/O
の統計情報を棒グラフ形式で表示します (デフォルト)。
.It Cm msps
平均シーク時間の表示を切替えます (デフォルトではシーク時間は
表示されません)。
.El
.It Ic swap
カーネルに組み込まれている全スワップ領域について
利用状況に関する情報を表示します。
最初の列はパーティションのデバイス名です。
次の列はパーティションの総容量です。
.Ar Used
の列は それまでに使われた総ブロックを示します;
グラフは各パーティションで使用中の部分の割合を示します。
2つ以上の使用中のスワップパーティションがある場合は、
合計の行も表示されます。
カーネルに組み込まれているものの、使われていない物は
使用不可として表示されます。
.It Ic mbufs
下のウィンドウに、何らかの用途、すなわち、データ、ソケット構造体等々に
確保された mbuf の個数を表示します。
.It Ic vmstat
画面全体を使って、
仮想記憶の利用状況、プロセススケジューリング、
デバイスからの割り込み、システムの名前変換キャッシュ、
ディスク
.Tn I/O
等々に関する (やや込み入った) 統計情報の要約を表示します。
.Pp
画面の左上の領域にはログインしているユーザ数と過去 1、5、15分間の
ロードアベレージが表示されます。
この行の下はメモリ利用率の統計情報です。
この表の 1行目はアクティブなプロセス、つまり過去 20秒以内に
走行状態だったことのあるプロセスのみのメモリ利用率を報告します。
2番目の行は全プロセスのメモリ利用状況を報告しています。
1番目の列はプロセスによって要求された物理ページ数を表示します。
2番目の列は読みだし専用のテキストページに当てられた
物理ページ数を表示します。
3番目と 4番目の列は同じ物に関して仮想ページの情報を表示します。
これは全プロセスが全ページを持つとした時に必要となるページ数を表します。
最後に、最終列はフリーリスト上の物理ページ数を示します。
.Pp
メモリ情報の下は平均プロセス数のリスト (1更新期間前からのもの) で、
走行可能 (`r')、ページ待ち中 (`p')、
ページング以外のディスク待ち中 (`d')、
スリープ状態 (`s')、スワップアウトされているが実行されるのを
-待っている状態 (`w') です。このキューの長さのリストの下は
+待っている状態 (`w') です。
+この行にはコンテキストスイッチの平均回数 (`Csw')、
+トラップ (`Trp'; ページフォルトを含む)、
+システムコール (`Sys')、割り込み (`Int')、
+ネットワークソフトウェア割り込み (`Sof')、
+ページフォルト (`Flt') も表示します。
+.Pp
+このプロセスキューの長さのリストの下は
時間の総計をシステム (`=' で示されます)、割り込み (`+' で示されます)、
ユーザ (`>' で示されます)、ナイス (`-' で示されます)、
アイドル (` ' で示されます) について数値のリストと棒グラフで
表した物です。
.Pp
-.\" この文は原文では もっと後ろにあったが、画面構成が変わっているようなので
-.\" 移動した (訳注)
-平均プロセス数の右にコンテキストスイッチ (`Csw')、
-トラップ (`Trp'; ページフォルトを含む)、
-システムコール (`Sys')、割り込み (`Int')、
-ネットワークソフトウェア割り込み (`Sof')、
-ページフォルト (`Flt') の
-1更新間隔での秒あたりの平均回数を報告します。
-.Pp
プロセス情報の下はファイル名変換の統計情報です。
これは前の更新期間中に行われたファイル名から iノード番号への変換の
回数、システム全体で共通の変換キャッシュで処理された物の回数と
割合、プロセス毎の変換キャッシュで処理された物の回数と割合を
表示しています。
.Pp
左下はディスクアクセス状況です。
ここでは 1更新間隔 (デフォルトでは 5秒) のシーク回数、転送回数、
平均転送量をキロバイト/秒で報告します。
ディスクによっては平均シーク時間をミリ秒単位で報告します。
-システムは最大で 8台 (これは /sys/dkstat.h の定数 DK_NDRIVE で
-決まるカーネルのコンパイル時定数です) のディスクまでしか
+システムは最大で 8台
+(これは
+.Aq Pa sys/dkstat.h
+の定数
+.Dv DK_NDRIVE
+で決まるカーネルのコンパイル時定数です) のディスクまでしか
統計情報を管理しないことに注意して下さい。
.Pp
右上の日時の下はページングとスワップの稼働状況です。
最初の 2列は、1更新間隔の間にページフォルトとページデーモンによって、
読み込まれたページ数と掃き出されたページ数の 1秒あたりの平均を報告します。
3番目と 4番目の列は、1更新間隔の間にスケジューラによって発行された
スワップ要求により
読み込まれたページ数と掃き出されたページ数の 1秒あたりの平均を報告します。
この情報の 1行目は 1更新間隔での秒あたりの平均ディスク転送回数を
示します; この情報の 2行目は 1更新間隔での秒あたりの平均転送ページ数を
示します。
.Pp
-.\" この文は原文が VAX 4.3BSD のままのようだったので直した (訳注)
-ページングの統計情報の下は
-copy-on-writes が行われたページ数 (`cow')、
+ページングの統計情報の下は仮想記憶システムの以下の項目の平均数を
+表示する列です。それぞれ、
+書き込み時にコピーが行われたページ数 (`cow')、
要求時 0クリアが行われたページ数 (`zfod')、
-I/O等のためにページング対象から外され、固定されているページ数 (`wire')、
+ページング対象から外され、固定されているページ数 (`wire')、
最近参照されたページ数 (`act')、
ページングの候補になっているページ数 (`inact')、
-クリーンな状態のキャッシュページ数 (`cache')、
+バッファキャッシュキューにあるページ数 (`cache')、
フリーページ数 (`free')、
-デーモンが解放したページ数 (`daefr')、
+ページデーモンが解放したページ数 (`daefr')、
プロセスが終了した事によって解放されたページ数 (`prcfr')、
-フリーリストから最近参照されたか、
-またはページングの候補になったページ数 (`react')、
-デーモンが起こされた回数 (`pdwak')、
-デーモンが調べたページ数 (`pdpgs')、
-フォルトしたページが読み込み途中だった回数 (`intrn')、
-キロバイト単位のバッファキャッシュのサイズ (`buf')
+フリーリストから再有効化されたページ数 (`react')、
+ページデーモンが起こされた回数 (`pdwak')、
+ページデーモンが調べたページ数 (`pdpgs')、
+読み込み途中でページフォルトがブロックされた回数 (`intrn')
の 1更新間隔での秒あたりの平均値です。
.Pp
+この列のいちばん下は、以下の用途に使われている
+メモリの総量をそれぞれについてキロバイト単位で示しています。
+バッファキャッシュのために使われている分 (`buf')、
+vノードキャッシュの望まれる最大サイズ (`desiredvnodes')
+(ネームキャッシュのサイズまでを除くと、大部分は未使用)、
+実際に確保された vノード数 (`numvnodes')、
+確保された vノードでフリーな物の数 (`freevnodes')
+.Pp
画面の右下はシステムによって処理された割り込みの詳細です。
リストのトップは更新期間中の秒あたりの総割り込み数です。
列の残りの部分は総割り込み数のデバイス毎の詳細です。
ブートしてから少なくとも 1回は割り込みを発生したデバイスについてのみ
表示されます。
.Pp
以下のコマンドは表示内容が
.Ic vmstat
の場合に特有です; 先頭からの一意に識別可能な文字数だけで指定可能です。
.Pp
.Bl -tag -width Ar -compact
.It Cm boot
システムがブートしてからの累積の統計情報を表示します。
.It Cm run
このコマンドが与えられてからの走行中のトータルとして統計情報を表示します。
.It Cm time
更新期間の平均で統計情報を表示します (デフォルト)。
.It Cm zero
走行中の統計情報を 0 にリセットします。
.El
.It Ic netstat
下のウィンドウにネットワーク接続状況を表示します。デフォルトでは、
リクエストを待っているネットワークサーバは表示されません。
各アドレスは ``host.port'' のフォーマットで、可能であれば
シンボルで表示されます。アドレスを数字で表示することや、
ポート、ホスト、プロトコルの表示を制限することが可能です。
(先頭からの一意に識別可能な文字数だけで指定可能です):
.Pp
.Bl -tag -width Ar -compact
.It Cm all
リクエストを待っているサーバプロセスの表示を切り替えます (これは
.Xr netstat 1
.Fl a
フラグと等価です)。
.It Cm numbers
ネットワークアドレスを数字で表示します。
.It Cm names
ネットワークアドレスをシンボルで表示します。
-.It Ar protocol
-指定されたプロトコルを使っているネットワークコネクションのみを
-表示します (現在の所 ``tcp'' か ``udp'' のいずれかです)。
+.It Cm proto Ar protocol
+.Ar protocol
+で指定されたプロトコルを使っているネットワークコネクションのみを
+表示します (サポートしているプロトコルは ``tcp'',``udp'',``all'')。
.It Cm ignore Op Ar items
指定されたホストまたはポートとの接続に関する情報を表示しません。
ホストとポートは名前 (``vangogh'' や ``ftp'')、または数字で
指定できます。ホストのアドレスはインターネットのドット表記を
使用します (``128.32.0.9'')。空白で区切って 1つのコマンドに
複数の指定が可能です。
.It Cm display Op Ar items
指定されたホストまたはポートとの接続に関する情報を表示します。
.Ar ignore
と同様に、
.Op Ar items
は名前または数字が使用可能です。
.It Cm show Op Ar ports\&|hosts
コマンドラインに、その時点で選択されているプロトコル、
ホスト、ポートを表示します。無視されるホストとポートには
`!' を前置します。もし
.Ar ports
.Ar hosts
.Cm show
の引数として与えられると、
指定された情報だけが表示されます。
.It Cm reset
ポート、ホスト、プロトコルの選択メカニズムをデフォルト
(あらゆるプロトコル、ポート、ホスト)の状態にリセットします。
.El
.El
.Pp
表示内容の切り替えコマンドは先頭からの一意に識別可能な
文字数に短縮できます; 例えば ``iostat'' は ``io'' と省略できます。
画面サイズが表示内容に不十分な時は情報が捨てられる可能性があります。
例えば、10台のドライブがあるマシンでは
.Ic iostat
の棒グラフは 24行の端末では 3ドライブ分しか表示しません。
棒グラフが割り当てられた画面のスペースに収まらない時は
切り詰められて実際の値は棒の ``先端部分'' に表示されます。
.Pp
以下のコマンドはディスクドライブに関する情報を表示する物に
共通です。これらのコマンドは、あなたのシステムに、通常
画面に表示しきれない数のドライブがある場合に、情報を表示する
ドライブのセットを選択するために使うためのものです。
.Pp
.Bl -tag -width Tx -compact
.It Cm ignore Op Ar drives
指定されたドライブに関する情報を表示しません。複数のドライブを
空白で区切って指定できます。
.It Cm display Op Ar drives
指定されたドライブに関する情報を表示します。複数のドライブを
空白で区切って指定できます。
.El
+.Sh 関連項目
+.Xr iostat 1 ,
+.Xr netstat 1 ,
+.Xr vmstat 1 ,
+.Xr icmp 4 ,
+.Xr ip 4 ,
+.Xr tcp 4 ,
+.Xr udp 4
.Sh 関連ファイル
.Bl -tag -width /etc/networks -compact
.It Pa /kernel
ネームリストを読み出します。
.It Pa /dev/kmem
主記憶の情報を取ります。
.It Pa /dev/drum
スワップアウトされたプロセスの情報のために使います。
.It Pa /etc/hosts
ホスト名をひきます。
.It Pa /etc/networks
ネットワーク名をひきます。
.It Pa /etc/services
ポート名をひきます。
.El
.Sh 歴史
.Nm systat
プログラムは
.Bx 4.3
に初めて登場しました。
+.Ic icmp ,
+.Ic ip ,
+.Ic tcp
+の表示は
+.Fx 3.0
+に初めて登場しました;
+.Tn ICMP ,
+.Tn IP ,
+.Tn TCP ,
+.Tn UDP
+の統計情報のために別の表示モードを用意するという考え方は、
+Silicon Graphics の
+.Tn IRIX
+システムの
+.Xr netstat 1
+の
+.Fl C
+オプションから借用しました。
.Sh バグ
CPU の 2-10 パーセントを消費します。
表示内容によっては 1行に最低で 80文字が表示できる事を想定しています。
.Ic vmstat
は表示領域が足りないようです。なぜなら (訳注: 原文が切れています)
(新規のプログラムとしてではなく独立した表示画面として追加されました)。
.Sh 日本語訳
-野首 寛高(h-nokubi@nmit.tmg.nec.co.jp): FreeBSD 用に翻訳
+野首 寛高(hnokubi@yyy.or.jp): FreeBSD 用に翻訳
diff --git a/ja_JP.eucJP/man/man1/tar.1 b/ja_JP.eucJP/man/man1/tar.1
index 5ab54c2946..786f64c490 100644
--- a/ja_JP.eucJP/man/man1/tar.1
+++ b/ja_JP.eucJP/man/man1/tar.1
@@ -1,483 +1,493 @@
.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*-
.\" See /usr/src/gnu/COPYING for conditions of redistribution
.\"
.\" Written by John F. Woods <jfw@jfwhome.funhouse.com>
.\" Updated by Robert Eckardt <roberte@mep.ruhr-uni-bochum.de>
.\"
-.\" %Id: tar.1,v 1.6.2.4 1998/07/20 02:30:06 jkoshy Exp %
+.\" %Id: tar.1,v 1.16 1998/07/09 04:28:19 jkoshy Exp %
.\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab %
.\"
.Dd 25 August 1997
.Os FreeBSD
.Dt TAR 1
.Sh 名称
.Nm tar
.Nd
テープアーカイバ; "tar" アーカイブファイルの操作
.Sh 書式
.Nm tar
.Op [-] Ns Ar bundled-options
.Op Ar gnu-style-flags
.Op Ar tarfile
.Op Ar blocksize
.Op Ar exclude-file
.Op Ar filenames
.Op Fl C Ar directory-name
.Sh 解説
.Nm
は、歴史的な理由により
.Dq tape archiver
を省略して名付けられました。
.Nm
プログラムは、
.Ar tarfile
と呼ばれる
.Dq tar
フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、
またアーカイブからファイルを抽出したりします。
tarfile は通常磁気テープを指しますが、フロッピディスケットや
通常のファイルでも構いません。
.Pp
通常、
.Nm
コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、
その前に ダッシュ(-)をつけてもつけなくてもいいようになっています。
単語には、次の機能文字のうちちょうど 1 つを含んでいなければなりません:
.Cm A ,
.Cm c ,
.Cm d ,
.Cm r ,
.Cm t ,
.Cm u ,
.Cm x ,
これらはそれぞれ 追加 (append) 、作成 (create) 、差分 (difference) 、
置換 (replace) 、リスト表示 (table of contents) 、更新 (update) 、
そして抽出 (extract) を意味しています (下記に詳細があります) 。
これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に
含めることができます。それらのいくつかは、コマンド単語内と同じ順で
コマンドライン引数を要求します (使用例の節を参照) 。
機能文字と機能変更文字は、GNU 形式の引数で指定することもできます
(2 つのダッシュを最初につけ、1 つのコマンド単語ごとに機能文字か
機能変更文字を 1 つだけ指定する) 。
アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために
コマンドライン指定するファイル名には、
シェルのパターンマッチ文字列を使用することができます。
.Sh 機能
以下の機能のいずれか1つだけを必ず指定しなければなりません。
.Pp
.Bl -tag -width "--concatenate" -compact
.It Fl A
.It Fl -catenate
.It Fl "-concatenate"
指定された(tar アーカイブ形式の)ファイルを tar アーカイブの末尾
に追加します。(追加する前の古い end-of-archive ブロックは削除さ
れます。)
これは、指定されたファイルがアーカイブの中の1ファイルとなるので
はなく、指定したファイルの中に含まれているファイルを、最初に指定
したアーカイブに追加するという効果を持ちます。
.Em 注:
このオプションは tarfile を再書き込みする必要があるため、1/4
インチカートリッジテープでは動作しません。
.It Fl c
.It Fl -create
新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定
されたファイルをアーカイブに書き込みます。
.It Fl d
.It Fl -diff
.It Fl -compare
アーカイブの中のファイルと、それに相当するファイルシステム内の
ファイルとの違いを調査します。
.It Fl -delete
指定されたファイルをアーカイブから削除します。(1/4 インチテープ
では動作しません。)
.It Fl r
.It Fl -append
アーカイブの末尾にファイルを追加します。(1/4 インチテープでは
動作しません。)
.It Fl t
.It Fl -list
アーカイブ内容のリスト表示をします。もし引数としてファイル名が
指定されていれば、そのファイルだけがリスト表示されます。そうでなけ
れば、アーカイブに含まれるすべてのファイルリストが表示されます。
.It Fl u
.It Fl -update
指定したファイルのうち、アーカイブ内のファイルよりもディスク上の
ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ
では動作しません。
.It Fl x
.It Fl -extract
.It Fl -get
アーカイブからファイルを抽出します。可能ならば、所有者、
変更時刻、ファイル属性はリストアされます。もし
.Ar file
引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。
もし
.Ar filename
引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと
ディレクトリ内のファイルが抽出されます。(ディレクトリ内のす
べてのディレクトリについても同様に抽出されます。)
もしアーカイブ内に、相当する同じファイルが複数含まれていれば(上記の
.Fl -append
コマンドを参照)、最後に含まれているものが他のすべてのファイルを
上書きする形で抽出されます。
.Sh オプション
.Nm
の他のオプションは、組み合わせて使用することができます。
1文字オプションは、コマンド単語の中で指定することができます。
引数を与えるべきオプションの場合、オプションに続けて引数を指定し
ます。1文字オプションであれば、これに続くコマンドライン引数を
使用します (以下の
.Sx 使用例
を参照してください。)
.Pp
.Bl -tag -width "--preserve-permissions" -compact
.It Fl -help
.Nm
のすべてのコマンドオプションについて一覧と解説を表示します。
.It Fl -atime-preserve
テープに書かれている、ファイルのアクセス時刻をリストアします。
(inodeの変更時刻が変更されることに注意してください!)
.It Fl b
.It Fl -block-size Ar number
読み書きするブロックサイズを
.Ar number
* 512-byte ブロック に設定します。
.It Fl B
.It Fl -read-full-blocks
短い読みだしブロックを、完全なブロックに再組み立てします。
(4.2BSD パイプの読み込み用。)
.It Fl C Ar directory
.It Fl -directory Ar directory
残りの引数を処理する前に
.Ar directory
へ移動します。
.It Fl -checkpoint
アーカイブを読み書きする間に読み書きしたバッファの数を表示します。
.It Fl f Ar [hostname:]file
.It Fl -file Ar [hostname:]file
指定された
.Ar file
(デフォルトは /dev/rst0) を読み書きします。
もし
.Ar hostname
が指定されていれば、
.Nm
.Xr rmt 8
を使って、リモートマシン上の
.Ar file
を読み書きします。"-" はファイルネームとして使用されることもありますが、
これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。
.It Fl -force-local
コロンがある時でさえ、アーカイブファイルはローカルのものとします。
.It Fl F Ar file
.It Fl -info-script Ar file
.It Fl -new-volume-script Ar file
それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の
.Fl M
指定が行なわれます。)
.It Fl -fast-read
ワイルドカードで指定されていないすべての抽出ターゲットが
アーカイブ内に見つかったら、その時点で終了します。
.It Fl G
.It Fl -incremental
古い GNU-format インクリメンタルバックアップファイルを作成/リスト/
抽出します。
.It Fl g Ar file
.It Fl -listed-incremental Ar file
新しい GNU-format インクリメンタルバックアップファイルを作成/リスト/
抽出します。
.It Fl h
.It Fl -dereference
シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが
指しているデータを書き込みます。
.It Fl i
.It Fl -ignore-zeros
アーカイブの中のゼロブロック(通常、End-Of-File を意味する)を無視します。
.It Fl -ignore-failed-read
ファイルが読めなくても、非 0 のステータスで exit しません。
.It Fl k
.It Fl -keep-old-files
ディスク上に既にあるファイルを保持します。つまり、アーカイブから
抽出するファイルは、ディスク上のファイルへ上書きしません。
.It Fl K Ar file
.It Fl -starting-file Ar file
アーカイブの中の
.Ar file
から(抽出、リストなどを)始めます。
.It Fl l
.It Fl -one-file-system
あるファイルシステム内にあるファイルだけでアーカイブを作成します。
(他ファイルシステムへのマウントポイントを跨ぎません。)
.It Fl L Ar number
.It Fl -tape-length Ar number
.Ar number
* 1024 バイト書き込んだ後でテープの交換を要求します。
.It Fl m
.It Fl -modification-time
ファイルの変更時刻を抽出しません。
.It Fl M
.It Fl -multi-volume
マルチボリュームアーカイブを作成/リスト/抽出します。
.It Fl n
.It Fl -norecurse
作成時に再帰的にサブディレクトリを走査しません。
.It Fl -volno-file Ar file
ボリューム番号付きのファイル名です。
.It Fl N Ar date
.It Fl -after-date Ar date
.It Fl -newer Ar date
作成時間が
.Ar date
より新しいファイルだけを抽出します。
.It Fl -newer-mtime Ar date
変更時間が
- .Ar date
+.Ar date
より新しいファイルだけを抽出します。
.It Fl o
.It Fl -old-archive
.It Fl -portability
POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。
.It Fl O
.It Fl -to-stdout
ファイルを標準出力に抽出します。
.It Fl p
.It Fl -same-permissions
.It Fl -preserve-permissions
保護情報を完全に抽出します。
.It Fl -preserve
.Fl p s
の指定と同じ効果を持ちます。
.It Fl P
.It Fl -absolute-paths
ファイル名から先頭の `/' をとりません。
.It Fl R
.It Fl -record-number
メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。
.It Fl -remove-files
アーカイブに追加したファイルを、追加後に削除します。
.It Fl s
.It Fl -same-order
.It Fl -preserve-order
アーカイブ内から抽出するファイルを、指定された順のままにします。
.It Fl -show-omitted-dirs
アーカイブ作成中に除外されたディレクトリを表示します。
.It Fl S
.It Fl -sparse
「少ない」ファイルを効率的に扱うようにします。
.It Fl T Ar file
.It Fl -files-from Ar file
.Ar file
から抽出もしくは作成するファイル名を得ます。(1行1ファイル名。)
.It Fl -null
nullで終わっている名前を考慮し、
.Fl T
の振舞を変更します。
これは
.Fl C
指定を無効にします。
.It Fl -totals
.Fl -create
によって書かれたトータルバイト数を表示します。
.It Fl v
.It Fl -verbose
.Fl -create
でアーカイブに書くファイルや
.Fl -extract
でアーカイブから
取り出すファイル名をリスト表示します。
ファイルの保護情報をファイル名とともに表示させるには、
.Fl -list
を使います。
.It Fl V Ar volume-name
.It Fl -label Ar volume-name
指定された
.Ar volume-name
を持ったアーカイブを作成します。
.It Fl -version
.Nm
プログラムのバージョン番号を表示します。
.It Fl w
.It Fl -interactive
.It Fl -confirmation
すべての動作に対して、確認を求めるようになります。
.It Fl W
.It Fl -verify
アーカイブを書き込んだ後、ベリファイを試みます。
.It Fl -exclude Ar pattern
.Ar pattern
にマッチするファイルを除外します。
(抽出しません。追加しません。リスト表示しません。)
.It Fl X Ar file
.It Fl -exclude-from Ar file
.Ar file
に一覧されているファイルを除外します。
.It Fl Z
.It Fl -compress
.It Fl -uncompress
アーカイブを
.Xr compress 1
でフィルタリングします。
.It Fl z
.It Fl -gzip
.It Fl -gunzip
アーカイブを
.Xr gzip 1
でフィルタリングします。
.It Fl -use-compress-program Ar program
アーカイブを
.Ar program
でフィルタリングします。
(これは、
.Fl d
が指定されたときは ``decompress'' を意味しなければなりません。)
.It Fl -block-compress
テープもしくはフロッピのために、圧縮プログラムの出力をブロック
化します。(そうしないと、ブロック長がおかしくなり、デバイスドライバは
そのブロックを拒絶するでしょう。)
.It Fl [0-7][lmh]
テープドライブと密度を指定します。
.It Fl -unlink
ファイルを作成する前に、いったん削除します。
.El
.Sh 使用例
"bert" と "ernie" というファイルを含む、
ブロックサイズが 20 ブロックのアーカイブを、
テープドライブ /dev/rst0 に作るには、
.Pp
.Dl tar cfb /dev/rst0 20 bert ernie
.Pp
もしくは
.Pp
.Dl tar\ --create\ --file\ /dev/rst0\ --block-size\ 20\ bert\ ernie
.Pp
と入力します。
.Fl f
および
.Fl b
フラグは両方とも引数を必要としていることに注意してください。
この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから
取得されます。
.Pp
/dev/rst0 はデフォルトのデバイスであり、20 はデフォルトのブロック
サイズですので、上記の例は次のように単純化できます。
.Pp
.Dl tar c bert ernie
.Pp
"backup.tar" というアーカイブから、すべての C ソース及びヘッダを
抽出するには、次のようにタイプします。
.Pp
.Dl tar xf backup.tar '*.[ch]'
.Pp
シェルがカレントディレクトリ内のファイル名に展開しないよう、パタ
ーンをクォートしなければならないことに注意してください。(当然、
シェルはアーカイブ内のファイル一覧にアクセスすることはできません。)
.Pp
ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください:
.Bd -literal
tar cf - -C srcdir . | tar xpf - -C destdir
.Ed
.Pp
ディスケットに、gzip を使った圧縮アーカイブを作成するには、次の
ようなコマンドラインを使うといいでしょう。
.Pp
.Dl tar --block-compress -z -c -v -f /dev/rfd1a -b 36 tar/
.Pp
まとめ指定フラグと --スタイルのフラグを混在させることができない
ことに注意してください。次のようにタイプしなければならないわけで
はなく、上記のような書き方で1文字フラグを使うことができます。
.Pp
.Dl tar --block-compress --gzip --verbose --file /dev/rfd1a --block-size 20 tar
/
.Pp
上のようにして作成したディスクの内容は、次のようにすればリスト表
示できます。
.Pp
.Dl tar tvfbz /dev/rfd1a 36
.Pp
2 つの tar アーカイブを 1 つのアーカイブにまとめるには、
.Pp
.Dl tar Af archive1.tar archive2.tar
.Pp
を使います。こうすると、archive2.tar に含まれているファイルが
archive1.tar の末尾に追加されます。(単純に
.Pp
.Dl cat archive2.tar >> archive1.tar
.Pp
とタイプしてもうまくいかないことに注意してください。なぜなら、
tar アーカイブの末尾には end-of-file ブロックがあるからです。)
.Pp
srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた
全てのファイルをアーカイブするためには、以下の形式を使って下さい。
.Dl tar\ -c\ -f\ backup.tar\ --newer-mtime\ 'Feb\ 9\ 13:15\ 1997'\ srcdir/
.Pp
他の時間指定形式としては、'02/09/97 13:15',
\&'1997-02-09 13:15', '13:15 9 Feb 1997', '9 Feb 1997 13:15',
\&'Feb. 9, 1997 1:15pm', '09-Feb', '3 weeks ago', 'May first Sunday'
があります。
正しいタイムゾーンを指定するためには、
`13:15 CEST' や `13:15+200' を使用して下さい。
.Sh 環境変数
.Nm
プログラムは、以下の環境変数を参照します。
.Bl -tag -width "POSIXLY-CORRECT"
.It POSIXLY-CORRECT
通常、
.Nm
はファイル指定の中に混ざったフラグを処理します。
この環境変数を設定すると、
.Nm
は最初のフラグ以外の引数を見つける
とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様
に合わせた動作を行なうようになります。
.It SHELL
インタラクティブモードにおいて、サブシェルの起動が要求されたとき、
SHELL 変数が設定されていればそれが、設定されていなければ
"/bin/sh" が使用されます。
.It TAPE
tar のデフォルトのテープドライブを変更します。(これは、さらに
.Fl f
フラグによって変更することができます。)
.El
.Sh 関連ファイル
.Bl -tag -width "/dev/rst0"
.It Pa /dev/rst0
デフォルトのテープドライブ
.El
.\" This next request is for sections 1, 6, 7 & 8 only
.\" (command return values (to shell) and fprintf/stderr type diagnostics)
.\" .Sh 診断
.Sh 関連項目
.Xr compress 1 ,
.Xr gzip 1 ,
.Xr pax 1 ,
.Xr ft 8 ,
.Xr rmt 8
.\" .Sh 規格
.Sh 歴史
.Nm
フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に
原点があります。
この
.Nm
の実装は GNU 実装であり、John Gilmore によって書かれた
パブリックドメイン tar が元になっています。
.Sh 作者
次の人を含む、大変多くの人々。[ソースの中の ChangeLog ファイルに記
-述されている人々] John Gilmore (オリジナルのパブリックドメイン版の
-作者), Fenlason (最初の GNU 作者), Joy Kendall, Jim Kingdon, David
-J. MacKenzie, Michael I Bushnell, Noah Friedman, そして
+述されている人々]
+.An John Gilmore
+(オリジナルのパブリックドメイン版の作者),
+.An Jay Fenlason
+(最初の GNU 作者),
+.An Joy Kendall ,
+.An Jim Kingdon ,
+.An David J. MacKenzie ,
+.An Michael I Bushnell ,
+.An Noah Friedman
+そして
バグフィックスや追加を貢献してくれた無数の人々。
-このマニュアルページは NetBSD 1.0 release から、FreeBSD グループが
+このマニュアルページは NetBSD 1.0 release から、
+.Bx Free
+グループが
取り込んだものです。
.Sh バグ
特徴的な
.Fl C
-オプションは、これまでの tar プログラムのようには動作しないため、
-おそらく信頼できません。
+オプションの動作は、伝統的な tar プログラムのそれとは異なるので、
+あまり頼りにはできません。
.Pp
--A コマンドは、任意の数の tar アーカイブを結合するよう動くべきで
-すが、そうは動作しません。2 番目やそれ以降のアーカイブの
-end-of-archive ブロックを取り除くことを試みます。
+-A コマンドで任意の数の tar アーカイブを結合できればいいのですが、
+それはできません。これをやろうとしても、 2 つ目以降のアーカイブの
+end-of-archive ブロックが削除されずに残ってしまいます。
diff --git a/ja_JP.eucJP/man/man1/tconv.1 b/ja_JP.eucJP/man/man1/tconv.1
index 2dbbc2023a..9eeed768cf 100644
--- a/ja_JP.eucJP/man/man1/tconv.1
+++ b/ja_JP.eucJP/man/man1/tconv.1
@@ -1,168 +1,168 @@
.\" @(#) mytinfo tconv.1 3.2 92/02/01 public domain, By Ross Ridge
-.\" %Id: tconv.1,v 1.5.2.1 1997/08/14 06:37:58 charnier Exp %
+.\" %Id: tconv.1,v 1.8 1997/08/13 06:58:44 charnier Exp %
.\"
.\" jpman %Id: tconv.1,v 1.3 1997/09/21 06:56:54 konuma Stab %
.Dd February 1, 1992
.Dt TCONV 1
.Os
.Sh 名称
.Nm tconv
.Nd termcap, terminfo ソースと terminfo バイナリを相互変換する
.Sh 書式
.Nm tconv
.Op Fl b
.Op Fl c Op Fl OUGd
.Op Fl i
.Op Fl B Op Fl D Ar dir
.Op Fl I
.Op Fl k
.Op Fl V
.Op Fl t Ar term
.Op Ar file
.Nm tic
.Op Ar file
.Nm captoinfo
.Op Fl t Ar term
.Op Fl OUGdk
.Op Ar file
.Sh 解説
.Nm tconv
は、termcap、terminfo ソースと
.Em tinfo
ライブラリが使用する terminfo バイナリ
の 3 つの端末記述を互いに変換します。
このプログラムは
System V の
.Xr captoinfo 1
および
.Xr tic 1
と同じ機能を提供します。
また、System V の
.Xr infocmp 1
の機能の 1 つと同じく、terminfo バイナリから terminfo ソース
リスティングを出力するのに使うこともできます。
.Pp
翻訳オプション
.Bl -tag -width indent
.It Fl c
termcap から変換します。
.It Fl i
terminfo ソースから変換します。
.It Fl b
terminfo バイナリから変換します。
.It Fl B
terminfo バイナリに変換します。
.It Fl I
terminfo ソースに変換します。
.El
.Pp
ファイルを指定する場合、
.Fl c
または
.Fl i
オプションのどちらか一方と、翻訳されるファイルの完全な名前
を指定する必要があります。
ファイル名を指定しなかった場合、入力オプションは単に、
翻訳されるべき端末がある、要求された型の記述がありそうな場所を
検索するのを制限するだけに用いられます。
(すなわち、
.Fl c
オプション指定時には
.Ev TERMCAP
環境変数と
.Pa /usr/share/misc/termcap
を、
.Fl i
オプション指定時には
.Ev TERMINFO
環境変数と
.Pa /usr/lib/terminfo
を検索します。) それ以外の時は
.Nm
は全ての利用可能なデータベースを検索します。
もし、
.Fl I
.Fl B
のどちらのオプションも指定していない場合は、
.Fl I
オプションを指定したものと仮定します。
.Fl B
オプションを指定した場合、コンパイル結果の出力は terminfo データベースに
出力され、指定していない場合は標準出力に出力されます。
.Pp
terminfo バイナリから terminfo バイナリへの翻訳はできません。
terminfo ソースから terminfo ソースへの翻訳は可能ですが、
.Em use=
フィールドで参照している記述が、出力される端末記述に展開されるような場合を
除いては、ほとんどの場合あまり役に立ちません。
.Pp
.Nm
は標準 termcap の全てのパラメータ化された文字列を terminfo フォーマットに
翻訳できるはずですが、GNU の %a コードを使った複雑な文字列は難しすぎて
翻訳できません。
もし、
.Nm
が、termcap 文字列が 既に terminfoフォーマットに翻訳されていると見なした場合
(%p コードが文字列に含まれている場合)、
それを翻訳しようと試みることはありません。
パラメータを持たない文字列型機能記述は翻訳されません。
.Pp
termcap オプション:
以下のオプションは、termcap エントリを翻訳するとき
(
.Fl c
オプションを指定したとき) に利用可能です。
.Bl -tag -width indent
.It Fl d
欠けている機能記述を、一切デフォルトで補いません。
.It Fl O
時代遅れの termcap 機能記述を含めます。
.It Fl G
GNU の機能記述を含めます。
.It Fl U
UW の機能記述を含めます。
.El
.Pp
その他のオプション
.Bl -tag -width indent
.It Fl k
ファイルを翻訳する時にコメントを保存します。
.It Fl V
バージョン情報を表示して終了します。
.It Fl D Ar dir
terminfo バイナリを置くディレクトリ。
.It Fl t Ar term
翻訳の対象となる端末の名前。
.El
.Pp
もし
.Fl t
オプションで端末名を指定しなかった場合、翻訳の対象となる端末名は環境変数
.Ev TERM
から取られます。
.Sh 関連ファイル
.Bl -tag -width /usr/lib/terminfo/terminfo.src -compact
.It Pa /usr/lib/terminfo
terminfo バイナリを読み書きするデフォルトの場所。
.It Pa /usr/lib/terminfo/terminfo.src
terminfo ソースファイルのデフォルトのファイル名。
.It Pa /etc/termcap
termcap データベースのデフォルトのファイル名。
.El
.Sh 関連項目
.Xr curses 3 ,
.Xr termcap 3 ,
.Xr term 5 ,
.Xr termcap 5 ,
.Xr terminfo 5 .
.Sh 診断
ファイルを翻訳しているときの警告メッセージの行番号は
エントリ内の警告の原因となった行ではなく、そのエントリの最後の行の番号です。
.Sh バグ
もっと多くの警告を出力できるはずです。
.Nm
は termcap を翻訳できません。
生成されたバイナリはキャンセルされた機能記述をキャンセルされた
物とマークしたうえで含めていますが、これは
System V Release 2.0 の terminfo と非互換です。
diff --git a/ja_JP.eucJP/man/man1/tcpdump.1 b/ja_JP.eucJP/man/man1/tcpdump.1
index 5f22c63204..b26275c589 100644
--- a/ja_JP.eucJP/man/man1/tcpdump.1
+++ b/ja_JP.eucJP/man/man1/tcpdump.1
@@ -1,1280 +1,1280 @@
-.\" @(#) %Header: tcpdump.1,v 1.61 96/07/14 19:45:00 leres Exp % (LBL)
+.\" @(#) %Header: tcpdump.1,v 1.65 96/11/29 01:03:01 leres Exp % (LBL)
.\" jpman %Id: tcpdump.1,v 1.3 1997/05/23 22:18:59 yugawa Stab %
.\"
.\" Copyright (c) 1987, 1988, 1989, 1990, 1991, 1992, 1994, 1995, 1996
.\" The Regents of the University of California. All rights reserved.
.\" 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.
.\"
-.TH TCPDUMP 1 "14 July 1996"
+.TH TCPDUMP 1 "29 November 1996"
.SH 名称
tcpdump \- ネットワーク上のトラフィックデータをダンプします
.SH 書式
.na
.B tcpdump
[
.B \-deflnNOpqStvx
] [
.B \-c
.I count
] [
.B \-F
.I file
]
.br
.ti +8
[
.B \-i
.I interface
] [
.B \-r
.I file
]
[
.B \-s
.I snaplen
]
.br
.ti +8
[
.B \-T
.I type
]
[
.B \-w
.I file
]
[
.I expression
]
.br
.ad
.SH 解説
.LP
\fItcpdump\fP は、オプションで指定されたネットワークインタフェース上で
取得可能なパケットのヘッダのうち \fIexpression\fP にマッチするものを出力
します。
+.LP
.B SunOS 上の nit ないし bpf の場合:
.I tcpdump
を実行するには、
.I /dev/net
ないし
.IR /dev/bpf*
への読み込みアクセス権が必要です。
.B Solaris 上の dlpi の場合:
.IR /dev/le
等のネットワーク仮想デバイスへの読み込みアクセス権が必要です。
.B HP-UX 上の dlpi の場合:
root か root に setuid されてインストールされている場合のみ実行可能です。
.B IRIX 上の snoop の場合:
root か root に setuid されてインストールされている場合のみ実行可能です。
-.B Ultrix の場合:
+.B Linux の場合:
+root か root に setuid されてインストールされている場合のみ実行可能です。
+.B Ultrix および Digital UNIX の場合:
スーパユーザが、
.IR pfconfig (8)
を用いて promiscuous-mode での操作を許可していれば、どのユーザも
.BR tcpdump
を起動できます。
.B BSD の場合:
.IR /dev/bpf*
への読み込みアクセス権が必要です。
.SH オプション
.TP
.B \-c
\fIcount\fP で指定した数のパケットを受信した後に終了します。
.TP
.B \-d
解釈されたパケットマッチングコードを読みやすい形に整形した後、
標準出力にダンプして停止します。
.TP
.B \-dd
.B C
プログラムの断片の形でパケットマッチングコードをダンプします。
.TP
.B \-ddd
(先頭に個数を付加した)十進数の形でパケットマッチングコードをダンプします。
.TP
.B \-e
各ダンプ行ごとに、リンクレベルのヘッダを出力します。
.TP
.B \-f
外部ホストの IP アドレスについては、シンボルでなく数値で表示します。
(本オプションは、Sun の yp サーバに重大な障害が発生するのを回避するこ
とを意図してます。\(em 通常は、Sun の yp サーバは、ローカルに存在しない
IP アドレスを永久に変換しつづけてハングします。)
.TP
.B \-F
フィルタの表現として、\fIfile\fP に記述してある内容を用います。
コマンドラインで指定された追加表現は、無視されます。
.TP
.B \-i
\fIinterface\fP で指定されたインタフェースを監視します。
指定されない場合には、\fItcpdump\fP はシステムインタフェースリストの中で
最も小さい番号の稼働中のものを検索し、監視するインタフェースとして設定
します(ループバックインタフェースは検索しません)。
この動作は、最初にインタフェースが選択された時点で終了します。
.TP
.B \-l
標準出力を行バッファリングにします。データを捕捉しつつ、
そのデータを見たい場合には、本オプションは有効です。例えば
.br
``tcpdump\ \ \-l\ \ |\ \ tee dat'' や
``tcpdump\ \ \-l \ \ > dat\ \ &\ \ tail\ \ \-f\ \ dat''
のように使用します。
.TP
.B \-n
アドレス(IP アドレスやポート番号など)を名前に変換しません。
.TP
.B \-N
ホスト名のうち、ドメイン名の表示をしません。例えば、本オプションを
指定すると、``nic.ddn.mil'' とは表示されず、かわりに ``nic'' とだけ表示し
ます。
.TP
.B \-O
パケットマッチングコードのオプティマイザを動かしません。本オプションは、
オプティマイザ中のバグを疑う場合にのみ有効なものです。
.TP
.B \-p
ネットワークインタフェースを、promiscuous mode に設定しません。
ネットワークインタフェースは、何らかの理由により promiscuous mode に設定
されることもあり得るということに注意してください。ゆえに `-p'
オプションは、`ether host {local-hw-addr} or ether broadcast'
の短縮形として使うことは出来ません。
.TP
.B \-q
素早い(静かな?)出力を行ないます。出力する行を短くするために、通常出力
されるプロトコル情報の一部は出力されません。
.TP
.B \-r
パケットを、\fIfile\fR で指定したファイル (-w オプションで作成されます)か
ら読み込みます。\fIfile\fR として``-''が指定された場合は標準入力が用いら
れます。
.TP
.B \-s
デフォルトの 68 バイト(SunOS の NIT では最小値は実際には 96)ではなくて、
\fIsnaplen\fP だけのデータを各パケットから取得します。68 バイトという
データ長は、IP, ICMP, TCP, UDP のパケットを取得する分には十分ですが、
ネームサーバや NFS のパケットについてはプロトコル情報が切り詰められるこ
とがあります(これについては、以後の説明を参照して下さい)。
スナップショットが限られた量しかとれずに切り
詰められたパケットは、出力に ``[|\fIproto\fP]'' という文字列がいっしょ
に表示されます。 \fIproto\fP は、切り詰めが行われたプロトコルレベルの名
前です。大きなスナップショットをとる場合には、それだけパケット処理の時
間がかかるということと、パケットバッファリング用のバッファの量が減ると
いうことに注意してください。これにより、パケットが消失するかもしれませ
ん。\fIsnaplen\fP の大きさを、必要なプロトコル情報を取得できる最小の値に
とどめるようにしてください。
.TP
.B \-T
"\fIexpression\fP" により選択されたパケットを強制的に \fItype\fR で
指定されたタイプと解釈します。有効なタイプは、
\fBrpc\fR (リモートプロシージャコール)
\fBrtp\fR (リアルタイムアプリケーションプロトコル)
\fBrtcp\fR (リアルタイムアプリケーション制御プロトコル)
\fBvat\fR (ビジュアルオーディオツール)
\fBwb\fR (ディストリビューテッドホワイトボード)
です。
.TP
.B \-S
TCP シーケンス番号を相対番号ではなく、絶対番号で出力します。
.TP
.B \-t
各ダンプ行のタイムスタンプを出力しません。
.TP
.B \-tt
各行毎にタイムスタンプを人間が読みやすい形に変換せずに出力します。
.TP
.B \-v
(少しではありますが)出力情報を増やします。例えば、IP パケット中の
TTL や、サービス情報の型を出力します。
.TP
.B \-vv
さらに多くの情報を出力します。例えば、NFS の返答パケットの追加
フィールドを出力します。
.TP
.B \-w
受信した生パケットを、解析したり画面に出力したりせずに \fIfile\fR で指定
したファイルに出力します。本オプションを用いて取得したパケットは \-r
オプションを用いることで情報を見ることができます。\fIfile\fR で指定す
るファイル名が ``-'' の場合には、標準出力を用います。
.TP
.B \-x
リンクレベルヘッダを除いた各パケットの内容を 16 進出力します。
パケットサイズが
.I snaplen
バイトより小さい場合にはパケットの全部の内容を、それ以外の場合には、
.I snaplen
バイト分のデータをパケットごとに出力します。
.IP "\fI expression\fP"
.RS
ダンプするパケットを選択します。\fIexpression\ が指定されない場合には、
ネットワーク上のすべてのパケットがダンプ対象になります。それ以外の場
合には、\fIexpression\fP の条件が真になるパケットのみダンプします。
.LP
\fIexpression\fP は、1 つ以上の
.I プリミティブ
から成り立ちます。
プリミティブは通常 1 つ以上の限定子のついた
.I id
(名前もしくは番号)から成り立ちます。限定子は、3 種類あります。
.IP \fI型\fP
限定子は id 名や番号が参照するものの種類を指します。型には
.BR host 、
.B net 、
.B port
があります。例えば、`host foo', `net 128.3', `port 20' のように用います。
型限定子が指定されない場合には、
.B host
が指定されたものとみなされます。
.IP \fI方向\fP
限定子は、
パケットが
.I id
へ出ていく方向か、
.I id
から来る方向か、
もしくはその両方かという、特定の転送方向を指定します。
指定可能な方向は、
.BR src、
.BR dst、
.B "src or dst"、
.BR "src and dst"
の 4 つです。
例えば、`src foo'、 `dst net 128.3'、 `src or dst port ftp-data' のように
指定します。もし方向限定子が指定されない場合には、
.B "src or dst"
が指定されたものとみなします。
`null' リンクレイヤ
(つまり、slip などポイント・トゥ・ポイント・プロトコル)
では、
必要な方向を指定するのに
.B inbound
.B outbound
限定子を用いる事ができます。
.IP \fIプロトコル\fP
限定子は、特定のプロトコルに一致するパケットのみに制限します。
プロトコルとして指定可能なものは、
.BR ether,
.BR fddi,
.BR ip,
.BR arp,
.BR rarp,
.BR decnet,
.BR lat,
.BR sca,
.BR moprc,
.BR mopdl,
.BR iso,
.BR esis,
.BR isis,
.B tcp,
.BR udp
です。
例えば `ether src foo'、 `arp net 128.3'、 `tcp port 21' のように使用
します。もしプロトコル限定子が指定されない場合には、上記のプロトコルの
うち、型に矛盾しないすべてのものが指定されたものとみなします。
例えば `src foo' は、`(ip or arp or rarp) src foo' (これが正しい形式でな
い事を除いて)と、`net bar' は `(ip or arp or rarp) net bar' と同義であ
り、また `port 53' は `(tcp or udp) port 53' と同義です。
.LP
[`fddi' は実際には `ether' の別名になっています。解析ではこれらを``特定の
ネットワークインタフェースで使われるデータリンクレベル''を意味するもの
として同様に扱います。FDDI ヘッダはイーサネットに似た送信元と宛先
アドレスを含み、そしてしばしばイーサネットに似たパケット型を含むので、
イーサネットのフィールドと同じように FDDI のフィールドをフィルタリング
できます。FDDI ヘッダは他のフィールドも含みますが、フィルタ表現の中で
明示的にそれらを指定することはできません。]
.LP
上記に追加して、いくつかの特別な`プリミティブ'キーワードがあります。
これらのキーワードは
.BR gateway,
.BR broadcast,
.BR less,
.B greater,
と算術演算表現
です。これらの後ろにパターンが続く事はありません。
プリミティブキーワードについては後述します。
.LP
より複雑なフィルタの表現は、プリミティブの結合に
.BR and,
.B or,
.B not
を用いることで実現されます。例えば、
`host foo and not port ftp and not port ftp-data'
です。
タイプ量を少なくするために、同一の限定子リストは、省略することが可能です。
例えば、`tcp dst port ftp or ftp-data or domain' は、
`tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain'
と同じ意味です。
.LP
許されるプリミティブは、以下の通りです。
.IP "\fBdst host \fIhost\fR"
IP パケットの宛先フィールドが \fIhost\fP で指定したものの場合に真となります。
\fIhost\fP は、ホスト名もしくは IP アドレスです。
.IP "\fBsrc host \fIhost\fR"
IP パケットの送信元フィールドが \fIhost\fP で指定したものの場合に真となります。
.IP "\fBhost \fIhost\fP
IP パケットの送信元フィールドもしくは宛先フィールドが \fIhost\fP で指定した
ものの場合に真となります。
上記の host プリミティブの表現には、\fBip\fP, \fBarp\fP, \fBrarp\fP を
以下のように付加することが可能です。
.in +.5i
.nf
\fBip host \fIhost\fR
.fi
.in -.5i
という表記は、
.in +.5i
.nf
\fBether proto \fI\\ip\fB and host \fIhost\fR
.fi
.in -.5i
と同じ意味です。
\fIhost\fR が複数の IP アドレスを持つホスト名であった場合、それぞれのアドレス
について照合を検査します。
.IP "\fBether dst \fIehost\fP
イーサネットパケットの宛先アドレスが \fIehost\fP だった場合に真となります。
\fIehost\fP
は、/etc/ethers に記述された名前もしくはイーサネットアドレスの値が用いられます
(イーサネットアドレスの形式については、
.IR ethers (3N)
を参照)。
.IP "\fBether src \fIehost\fP
イーサネットパケットの送信元アドレスが \fIehost\fP だった場合に真となります。
.IP "\fBether host \fIehost\fP
イーサネットパケットの送信元アドレスもしくは宛先アドレスが \fIehost\fP だった
場合に真となります。
.IP "\fBgateway\fP \fIhost\fP
パケットが \fIhost\fP で指定したアドレスのマシンをゲートウェイとしている場合に
真となります。言い替えると、送信元もしくは宛先のイーサネットアドレスが
\fIhost\fP であり、送信元と宛先のどちらの IP アドレスも \fIhost\fP でない
ということです。
\fIhost\fP は /etc/hosts ファイルと /etc/ethers の両方で定義されている名前を
指定する必要があります(等価な表現は、
.in +.5i
.nf
\fBether host \fIehost \fBand not host \fIhost\fR
.fi
.in -.5i
です。この場合 \fIhost / ehost\fP のどちらにも名前もしくは値を用いることが
可能になります。)
.IP "\fBdst net \fInet\fR"
パケットの宛先 IP アドレスが、\fInet\fP で指定されたネットワークに属するもので
ある場合に真となります。\fInet\fP は、アドレス値もしくは /etc/networks で
定義されたネットワーク名のいずれかを指定可能です(詳しくは、\fInetworks(4)\fP
を参照)。
.IP "\fBsrc net \fInet\fR"
パケットの送信元 IP アドレスが、\fInet\fP で指定されたネットワークに属するもので
ある場合に真となります。
.IP "\fBnet \fInet\fR"
送信元 IP アドレスもしくは宛先 IP アドレスが \fInet\fP で指定された
ネットワークに属するものである場合に真となります。
.IP "\fBnet \fInet\fR \fBmask \fImask\fR"
IP アドレスが、指定された \fInet\fR および netmask の値で決まる
ネットワークに属するものである場合に真となります。
\fBsrc\fR や \fBdst\fR を指定する事も可能です。
.IP "\fBnet \fInet\fR/\fIlen\fR"
IP アドレスが、指定された \fInet\fR および \fIlen\fR のビット長のネットマスクで
決まるネットワークに属するものである場合に真となります。
\fBsrc\fR や \fBdst\fR を指定する事も可能です。
.IP "\fBdst port \fIport\fR"
パケットが ip/tcp (TCP パケット)もしくは ip/udp(UDP パケット)であり、宛先
ポート番号が \fIport\fP の場合に真となります。
\fIport\fP で指定されるポート番号は、値もしくは /etc/services で定義
されているサービス名で指定可能です(
.IR tcp (4P)
.IR udp (4P)
を参照)。
ポート番号がサービス名にて指定された場合、ポート番号とプロトコルの両方がチェック
対象になります。ポート番号や、あいまいなサービス名が指定された場合には、
ポート番号のみがチェック対象となります(例えば、\fBdst port 513\fR は、
tcp/login と udp/who の両方を出力し、\fBport domain\fR は、tcp/domain
と udp/domain の両方を出力します)。
.IP "\fBsrc port \fIport\fR"
パケットが \fIport\fP で指定した送信元ポート番号を保持している場合に
真となります。
.IP "\fBport \fIport\fR"
パケットの送信元ポート番号もしくは宛先ポート番号が \fIport\fP の場合に真と
なります。上記のポート番号の指定については、すべてキーワード \fBtcp\fP もし
くは \fBudp\fP を用いて、ある程度候補を絞り込むことが可能です。例えば、
.in +.5i
.nf
\fBtcp src port \fIport\fR
.fi
.in -.5i
と指定した場合には、tcp パケットのみが条件一致の評価対象となります。
.IP "\fBless \fIlength\fR"
パケットが \fIlength\fP で指定した長さ以下の場合、真となります。
これは、
.in +.5i
.nf
\fBlen <= \fIlength\fR
.fi
.in -.5i
の指定と等価です。
.IP "\fBgreater \fIlength\fR"
パケットが \fIlength\fP で指定した長さ以上の場合、真となります。
これは、
.in +.5i
.nf
\fBlen >= \fIlength\fR
.fi
.in -.5i
と等価です。
.IP "\fBip proto \fIprotocol\fR"
パケットが \fIprotocol\fP で指定したプロトコル型の IP パケット(
詳細は
.IR ip (4P)
を参照)の場合に真となります。
\fIprotocol\fP は、数字もしくは
\fIicmp\fP, \fIigrp\fP, \fIudp\fP, \fInd\fP, \fItcp\fP
のいずれかの名前が指定可能です。\fItcp\fP, \fIudp\fP, \fIicmp\fP の
各識別子はキーワードでもであり、バックスラッシュ(\\)(C-shell では \\\\)を用
いてエスケープしなければならないことに注意してください。
.IP "\fBether broadcast\fR"
パケットがイーサネットブロードキャストパケットの場合に真となります。\fIether\fP
キーワードは、省略可能です。
.IP "\fBip broadcast\fR"
パケットが IP ブロードキャストパケットの場合に真となります。オール 1 と
オール 0 の二つの形式のブロードキャストアドレスを検査し、そして
ローカルサブネットマスクを調べます。
.IP "\fBether multicast\fR"
パケットがイーサネットマルチキャストパケットの場合に真となります。\fIether\fP
キーワードは、省略可能です。
なお、この指定は、`\fBether[0] & 1 != 0\fP' の短縮系です。
.IP "\fBip multicast\fR"
パケットが IP マルチキャストパケットの場合に真となります。
.IP "\fBether proto \fIprotocol\fR"
パケットが \fIprotocol\fR で指定した ether 型の場合に真になります。
\fIprotocol\fP は、数字もしくは \fIip\fP, \fIarp\fP, \fIrarp\fP のような
名前を指定可能です。
これらの識別子はキーワードでもあり、バックスラッシュ(\\)でエスケープし
なければならないことに注意してください。
[FDDI の場合(例えば `\fBfddi protocol arp\fR')、プロトコルの識別は
IEEE802.2 の論理リンク制御(LLC)ヘッダによって行われます。通常これは FDDI
ヘッダの上の層にあります。\fItcpdump\fP は、プロトコル識別子で
フィルタリングするときは、すべての FDDI パケットは LLC ヘッダを含み、
かつその LLC ヘッダがいわゆる SNAP 形式であると仮定します。]
.IP "\fBdecnet src \fIhost\fR"
DECNET パケットの送信元アドレスが
.IR host
の場合に真となります。これは ``10.123'' という形式のアドレスでも DECNET の
ホスト名でも構いません。[DECNET のホスト名は DECNET を動かすように設定され
た Ultrix システムのみでサポートされます。]
.IP "\fBdecnet dst \fIhost\fR"
DECNET パケットの宛先アドレスが
.IR host
の場合に真となります。
.IP "\fBdecnet host \fIhost\fR"
DECNET パケットの送信元あるいは宛先アドレスが
.IR host
の場合に真となります。
.IP "\fBip\fR, \fBarp\fR, \fBrarp\fR, \fBdecnet\fR, \fBiso\fR"
.in +.5i
.nf
\fBether proto \fIp\fR
.fi
.in -.5i
の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
.IP "\fBlat\fR, \fBmoprc\fR, \fBmopdl\fR"
.in +.5i
.nf
\fBether proto \fIp\fR
.fi
.in -.5i
の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
\fItcpdump\fP は今のところこれらのプロトコルを解釈できない事に注意して
ください。
.IP "\fBtcp\fR, \fBudp\fR, \fBicmp\fR"
.in +.5i
.nf
\fBip proto \fIp\fR
.fi
.in -.5i
の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
.IP "\fBesis\fR, \fBisis\fR"
.in +.5i
.nf
\fBiso proto \fIp\fR
.fi
.in -.5i
の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
\fItcpdump\fR はこれらのプロトコルを完全には解釈できない事に注意して
ください。
.IP "\fIexpr relop expr\fR"
\fIrelop\fRは、>, <, >=, <=, =, != のいずれかであり、\fIexpr\fR の部分に
は、(標準 C 言語の構文で表現された)整数定数や通常の二項演算子 [+, -, *, /,
&, |]、length 演算子、そして特殊なパケットデータへのアクセス演算子などか
らなる算術表現が入って、その関係が成立する場合に真となります。
パケット内部のデータにアクセスするためには、以下の構文を用います。
.in +.5i
.nf
\fIproto\fB [ \fIexpr\fB : \fIsize\fB ]\fR
.fi
.in -.5i
\fIproto\fRは、\fBether, fddi, ip, arp, rarp, tcp, udp, \fR, または
\fBicmp\fR のいずれかであり、インデックス操作を行うプロトコル層を指示
します。
指示したプロトコル層からの相対バイトオフセットは、\fIexpr\fR で指定します。
\fIsize\fR は省略可能で、取得するフィールドのデータ長を表します。
データ長としては、1,2,4 のいずれかを指定することが可能であり、デフォルトでは
1 が指定されたものとみなされます。
キーワード \fBlen\fP で示されるデータ長演算子は、パケット長を与えます。
例えば、`\fBether[0] & 1 != 0\fP' は、全てのマルチキャストパケットを捕捉します。
`\fBip[0] & 0xf != 5\fP' という表現は、すべてのオプション付きIPパケットを捕捉す
ることを意味します。`\fBip[6:2] & 0x1fff = 0\fP' という表現は、フラグメントのな
いデータグラムパケット、もしくはフラグメント化されたデータグラムのうち
最初のフラグメントを捕捉します。
この検査は、\fBtcp\fP および \fBudp\fP のインデックス操作においては、暗黙のうち
に適用されます。
例えば、\fBtcp[0]\fP は常に TCP ヘッダの先頭バイトを指し、
決して各フラグメントの先頭バイトを指すものではありません。
.LP
プリミティブは、以下のように組み合わせることが可能です。
.IP
括弧で括られた一連のプリミティブや演算子
(括弧はシェルの特殊文字なのでエスケープする必要があります)。
.IP
否定 (`\fB!\fP' or `\fBnot\fP').
.IP
論理積 (`\fB&&\fP' or `\fBand\fP').
.IP
論理和 (`\fB||\fP' or `\fBor\fP').
.LP
否定は、最も高い演算優先度を持ちます。論理和と論理積は、同じ演算優先度を持ち、
左から右へ評価されます。論理積の場合には、単に識別子を並べるのではなく、
明示的に \fBand\fR を使用しなければならないことに注意して下さい。
.LP
キーワードなしで識別子が与えられている場合には、最も最近用いられたキーワードが
付加されているものと仮定されます。
例えば、
.in +.5i
.nf
\fBnot host vs and ace\fR
.fi
.in -.5i
は、
.in +.5i
.nf
\fBnot host vs and host ace\fR
.fi
.in -.5i
の短縮形ですが、
.in +.5i
.nf
\fBnot ( host vs or ace )\fR
.fi
.in -.5i
と混同してしまいがちなので気をつけましょう。
.LP
引数 expression は、単一の引数としても複数の引数としても、どちらか便利な
方で、tcpdump に渡すことができます。
一般的に、引数がシェルのメタキャラクタを含む場合、その引数をクォート
された単一の引数としてプログラムに渡す方が容易です。
複数の引数は、解析される前にスペースで連結されます。
.SH 使用例
.LP
\fIsundown\fP に到達する、もしくはそこから送信されるパケットのすべてを
表示する場合には、以下のように実行します。
.RS
.nf
\fBtcpdump host sundown\fP
.fi
.RE
.LP
\fIhelios\fR と、\fIhot\fR もしくは \fIace\fR の間のトラフィックを表示する
場合には、以下のように実行します。
.RS
.nf
\fBtcpdump host helios and \\( hot or ace \\)\fP
.fi
.RE
.LP
\fIace\fR と、\fIhelios\fR 以外のホストとの間でやりとりされるすべての
IP パケットを表示する場合には、以下のように実行します。
.RS
.nf
\fBtcpdump ip host ace and not helios\fP
.fi
.RE
.LP
ローカルなホストと Berkeley のホストとの間でやりとりされるすべての
トラフィックを表示する場合には、以下のように実行します。
.RS
.nf
.B
tcpdump net ucb-ether
.fi
.RE
.LP
インターネットゲートウェイ \fIsnup\fP を通過するすべての ftp
トラフィックを表示する場合には、以下のように実行します
(シェルが括弧を誤って解釈しないよう、フィルタを表現する引数がクォートさ
れていることに注意して下さい)。
.RS
.nf
.B
tcpdump 'gateway snup and (port ftp or ftp-data)'
.fi
.RE
.LP
送信元アドレスと宛先アドレスの両方がローカルネットワーク内のホスト
のものでないトラフィックについて表示する場合には、以下のように実行しま
(実行するホストが他のネットワークに対するゲートウェイの場合、そのホスト
が属すローカルネットワークでは、このコマンドは成功しないでしょう)。
.RS
.nf
.B
tcpdump ip and not net \fIlocalnet\fP
.fi
.RE
.LP
ローカルネットワーク外のホストとの通信において、TCP による各通信単位
のスタートパケットとエンドパケット(SYN と FIN パケット)を表示するには、以
下のように実行します。
.RS
.nf
.B
tcpdump 'tcp[13] & 3 != 0 and not src and dst net \fIlocalnet\fP'
.fi
.RE
.LP
ゲートウェイ \fIsnup\fP を中継される IP パケットのうち、576 バイトより大きいもの
を表示するには、以下のように実行します。
.RS
.nf
.B
tcpdump 'gateway snup and ip[2:2] > 576'
.fi
.RE
.LP
イーサネット上でブロードキャストもしくはマルチキャストを経由して送られる
もの以外の IP ブロードキャストもしくはマルチキャストパケットを表示するには、
以下のように実行します。
.RS
.nf
.B
tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'
.fi
.RE
.LP
echo 要求/応答以外(つまり ping パケット以外)の全ての ICMP パケットを
表示するには、以下のように実行します。
.RS
.nf
.B
tcpdump 'icmp[0] != 8 and icmp[0] != 0"
.fi
.RE
.SH 出力形式
.LP
\fItcpdump\fP の出力は、プロトコル依存です。以下の説明では、簡単な
パラメータの記述と、おおよそのフォーマットの説明を行ないます。
.de HD
.sp 1.5
.B
..
.HD
リンクレベルヘッダ
.LP
もし '-e' オプションが指定されると、リンクレベルヘッダが出力されます。
イーサネットにおいては、送信元と宛先のアドレス、プロトコル、そして
パケット長が出力されます。
.LP
FDDI ネットワークにおいては、'-e' オプションが指定されると \fItcpdump\fP
は、`フレーム制御'フィールド、発信元と宛先アドレス、そしてパケット長を
出力します。`フレーム制御'フィールドはパケットの残りの部分の解釈を決定
します。(IP データグラムを含むような)通常のパケットは `async' パケットで、
0 から 7 の間の優先順位を持ちます。例えば、`\fBasync4\fR' です。こうした
パケットは IEEE802.2 の論理リンク制御 (LLC) パケットを含むと仮定されます。
LLC ヘッダは、それが ISO データグラムでない場合やいわゆる SNAP パケットのと
きには出力されます。
.LP
\fI(注意:以下の記述は、利用者が RFC1144 に記述されている SLIP 圧縮ア
ルゴリズムについての知識がある前提で書いてます。)\fP
.LP
SLIP によるリンクにおいては、方向指示子(``I'' が入力方向、``O''
が出力方向)、パケット型、そして圧縮情報が出力されます。
パケット型は、最初に出力されます。パケット型には \fIip\fP、\fIutcp\fP、そして
\fIctcp\fP の 3 つがあります。
\fIip\fR 型パケットの場合、上記以上のリンク情報は表示されません。
TCP パケットの場合には、コネクション識別子がパケット型に続いて出力されます。
パケットが圧縮されている場合、符号化されたヘッダが出力されます。
特殊な場合は \fB*S+\fIn\fR や \fB*SA+\fIn\fR のように出力されます。ここ
で \fIn\fR は、シーケンス番号(もしくはシーケンス番号および ack)が変更された回
数です。特殊な場合でなければ、0 回以上の変更について出力されます。
変更は、U (緊急(urgent)ポインタ)、W(ウィンドウ)、A(ack)、S(シーケンス番号)、
そして I(パケット ID)で示され、変動量(+n or -n)もしくは新しい値(=n)が続きます。
最後に、パケット内のデータの総量および圧縮ヘッダ長が出力されます。
.LP
例えば、以下の行は、出力方向の圧縮 TCP パケットを、暗黙のコネクション識別子
とともに表示しています。ack は 6 変わり、シーケンス番号は 49 変わり、パケット
ID は 6 変わってます。3 バイトのデータと6 バイトの圧縮ヘッダが存在します。
.RS
.nf
\fBO ctcp * A+6 S+49 I+6 3 (6)\fP
.fi
.RE
.HD
ARP/RARP パケット
.LP
arp/rarp パケットの出力は、要求型とその引数を示してい
ます。出力形式は、その出力のみで理解可能なように作られています。
以下に、ホスト \fIrtsg\fP からホスト \fIcsam\fP への `rlogin' 開始時の
パケットの実例を示します。
.RS
.nf
.sp .5
\f(CWarp who-has csam tell rtsg
arp reply csam is-at CSAM\fP
.sp .5
.fi
.RE
1行目は、ホスト rtsg が、ホスト csam のイーサネットアドレスを問い合わせる
目的で arp パケットを送信していることを意味します。ホスト csam は、自分自身
のイーサネットアドレスを返答しています(この例では、イーサネットアドレス
は大文字で、インターネットアドレス部は小文字で表記してます)。
.LP
\fBtcpdump \-n\fP として起動した場合には、少し冗長になります。
.RS
.nf
.sp .5
\f(CWarp who-has 128.3.254.6 tell 128.3.254.68
arp reply 128.3.254.6 is-at 02:07:01:00:01:c4\fP
.fi
.RE
.LP
\fBtcpdump \-e\fP として起動した場合には、最初のパケットはブロードキャスト
パケットであり、次のパケットはポイントツーポイントのパケットであることが
わかります。
.RS
.nf
.sp .5
\f(CWRTSG Broadcast 0806 64: arp who-has csam tell rtsg
CSAM RTSG 0806 64: arp reply csam is-at CSAM\fP
.sp .5
.fi
.RE
最初のパケットについては、送信元のイーサネットアドレスは RTSG であり、
宛先はイーサネットブロードキャストアドレス、型フィールドには 16 進数の値
0806(ETHER_ARP を意味します)が格納されており、総パケット長は 64 バイトである
と表示してます。
.HD
TCP パケット
.LP
\fI(注意:以下の記述は、RFC793 に記述されている TCP プロトコルについての知識
があることを前提に記述されてます。この知識がない場合、本記述と tcpdump の
いずれもあなたには役に立たないでしょう。)\fP
.LP
TCP プロトコル行の一般的な形式は、以下の通りです。
.RS
.nf
.sp .5
\fIsrc > dst: flags data-seqno ack window urgent options\fP
.sp .5
.fi
.RE
\fIsrc\fP と \fIdst\fP は、それぞれ送信元と宛先の IP アドレスと
ポート番号です。\fIflags\fP の部分には、S (SYN),F (FIN), P (PUSH) ,R (RST)
の組合せ、もしくは単なる `.' (フラグなし)が入ります。
\fIdata-seqno\fP は、このパケット内のデータがシーケンス空間のどの部分に
あたるかを示します(以下の例を参照して下さい)。
\fIack\fP は、本コネクション上を逆方向に次に流れるデータパケットの
シーケンス番号です。
\fIwindow\fP は、本コネクションの逆方向のパケットを格納するバッファサイズ
です。
\fIurg\fP は、パケット中に `urgent'(緊急)データが格納されていることを示しま
す。
\fIoptions\fP は、例えば <mss 1024> のように、アングルブラケット(大小記号)で
くくられた tcp オプションです。
.LP
\fIsrc、dst\fP、そして \fIflags\fP は、常に表示されます。他のフィールドは、
パケットの TCP ヘッダに依存し、表示できる場合だけ表示されます。
.LP
以下の例は、ホスト \fIrtsg\fP からホスト \fIcsam\fP への rlogin
開設時のシーケンスの一部です。
.RS
.nf
.sp .5
\s-2\f(CWrtsg.1023 > csam.login: S 768512:768512(0) win 4096 <mss 1024>
csam.login > rtsg.1023: S 947648:947648(0) ack 768513 win 4096 <mss 1024>
rtsg.1023 > csam.login: . ack 1 win 4096
rtsg.1023 > csam.login: P 1:2(1) ack 1 win 4096
csam.login > rtsg.1023: . ack 2 win 4096
rtsg.1023 > csam.login: P 2:21(19) ack 1 win 4096
csam.login > rtsg.1023: P 1:2(1) ack 21 win 4077
csam.login > rtsg.1023: P 2:3(1) ack 21 win 4077 urg 1
csam.login > rtsg.1023: P 3:4(1) ack 21 win 4077 urg 1\fP\s+2
.sp .5
.fi
.RE
最初の行は、ホスト rtsg の TCP ポート 1023 番からホスト csam の \fIlogin\fP
ポートに対してパケットを送信していることを意味します。\fBS\fP は、
パケットの \fISYN\fP フラグが設定されていることを意味します。
パケットのシーケンス番号は 768512 番であり、データは含みません。
(表記は `first:last(nbytes)' であり、これは`シーケンス番号 \fIfirst\fP か
ら \fIlast\fP までの \fIlast\fP を含まない \fInbytes\fP のユーザデータという
こと'を意味しています。)
このパケット中に ack はなく、有効な受信ウィンドウの大きさは 4096 バイトで
あり、1024 バイトの最大セグメントサイズ要求を行なうオプションが付加され
ています。
.LP
csam は、rtsg から送られたパケットと類似したパケットを送り返しますが、
rtsg の送った SYN に対する ack が含まれるところが異なり
ます。続いて、rtsg は csam の SYN に対する ack を返します。
`.' は、S (SYN),F (FIN), P (PUSH) ,R (RST) のいずれのフラグも
立っていないことを意味します。
パケットはデータを含まないため、データシーケンス番号は入りません。
ack シーケンス番号が小さい整数 (1) であることに注意して下さい。
\fBtcpdump\fP は、初めて TCP の`通信'を検出すると、パケットから取得した
シーケンス番号を表示します。通信のその後のパケットについては、現在の
パケットシーケンス番号と、この最初のシーケンス番号の間の差を表示します。
このことは、最初に取得した以降のシーケンス番号は、通信データストリーム
の相対位置として解釈できることを意味します(最初の各方向のデータバイト
は 1 です)。`-S' は、本機能を無効にし、元のシーケンス番号を表示します。
.LP
6 行目では、rtsg は csam に 19 バイトのデータを送信しています (rtsg \(-> csam の
方向の通信における、2 バイト目から 20 バイト目までのデータ)。PUSH フラグが
このパケットでは設定されています。
7 行目では、csam は rtsg から 20 バイトまでのデータを受けとった旨の
レスポンスを rtsg に返してます。csam の受信ウィンドウが19バイト小さくなっ
たことから、これらのデータのほとんどは、ソケットバッファの中に存在する
ことが分かります。
csam は、rtsg に 1 バイトのデータを送信してます。
8 行めと 9 行めでは、csam は緊急 (urgent) で PUSH フラグの設定された
2 バイトデータを送信しています。
-.HD
+.LP
+スナップショットが小さ過ぎて \fBtcpdump\fP が
+TCP ヘッダ全体を捕えなかった場合、
+可能な限りのヘッダを解釈し、``[|\fItcp\fP]'' を表示して
+残りを解釈できなかったことを示します。
+(短か過ぎるまたはヘッダを越えてしまうといった) 不正なオプションを
+ヘッダが持つ場合には、tcpdump は ``[\fIbad opt\fP]'' を表示して
+残りのオプションを解釈しません (どこから開始したら良いのか分からないからです)。
+ヘッダ長によりオプションが存在することが分かるが、
+IP データグラム長がオプションがそこにあるために十分な長さではない場合に、
+tcpdump は ``[\fIbad hdr length\fP]'' を表示します。
+HD
.B
UDP パケット
.LP
UDP フォーマットは、以下の rwho パケットで例示します。
.RS
.nf
.sp .5
\f(CWactinide.who > broadcast.who: udp 84\fP
.sp .5
.fi
.RE
これは、ホスト \fIactinide\fP の \fIwho\fP ポートが UDP データグラムを
インターネットブロードキャストアドレスであるホスト \fIbroadcast\fP の
\fIwho\fP ポートに対して送信していることを意味します。本パケットは、
84 バイトのユーザデータを含みます。
.LP
いくつかの UDP サービスは(送信元もしくは宛先のポート番号から)種
類の判断が可能で、さらに上位レベルのプロトコル情報が出力されます。
ドメインネームサービス要求 (RFC1034/1035)、そして、Sun RPC 呼びだし
(RFC1050) を用いた NFS サービスなどがこの条件に該当します。
.HD
UDP ネームサーバ要求
.LP
\fI(注意:以下の記述は、RFC1035 に記述されている
ドメインサービスプロトコルの知識があることを前提に書かれてます。もしこ
れらの知識がない場合には、以下の記述は未知の言語で書かれているかのよう
に見えるでしょう。)\fP
.LP
ネームサーバ要求は、以下のような表示になります。
.RS
.nf
.sp .5
\fIsrc > dst: id op? flags qtype qclass name (len)\fP
.sp .5
\f(CWh2opolo.1538 > helios.domain: 3+ A? ucbvax.berkeley.edu. (37)\fP
.sp .5
.fi
.RE
ホスト \fIh2opolo\fP は、\fIhelios\fP 上のドメインサーバに対して
\fIucbvax.berkeley.edu\fP のホスト名に対応するアドレスレコード (qtype=A)
を問い合わせてます。
問い合わせの ID は `3' であり、`+' は\fI再帰要求\fPフラグが設定されて
いることを意味します。問い合わせの長さは 37 バイトであり、この中に UDP および
IP のプロトコルヘッダの長さは含みません。質問操作は普通の操作 (\fIQuery\fP)
であり、op フィールドは省略されます。op が他のいずれかであった場合、
その op は `3' と `+' の間に表示されます。
これと同様に、qclass は普通のもの (\fIC_IN\fP) であり、省略されます。
他の qclass が入った場合、`A' の直後に表示されます。
.LP
少数の変則的なパケットは検査され、カギカッコで囲まれた付加
フィールドにその結果が表示されます。query が返答、ネームサーバ
もしくはオーソリティセクションを含む場合、
.IR ancount ,
.IR nscount ,
もしくは
.I arcount
が、`[\fIn\fPa]'、 `[\fIn\fPn]' 、もしくは `[\fIn\fPau]' のような形式で
表示されます。\fIn\fP は、それぞれの個数です。
応答ビットのいずれかが設定されている(AA, RA もしくは rcode)場合、
もしくは`0 でなければならない'ビットが 2 バイト目と 3 バイト目に設定されてい
る場合には、`[b2&3=\fIx\fP]' が出力されます。\fIx\fP は、ヘッダの 2 バイト
目および 3 バイト目の値を 16 進で表したものです。
.HD
UDP ネームサーバ応答
.LP
ネームサーバ応答の形式は、以下の通りです。
.RS
.nf
.sp .5
\fIsrc > dst: id op rcode flags a/n/au type class data (len)\fP
.sp .5
\f(CWhelios.domain > h2opolo.1538: 3 3/3/7 A 128.32.137.3 (273)
helios.domain > h2opolo.1537: 2 NXDomain* 0/1/0 (97)\fP
.sp .5
.fi
.RE
最初の例は、\fIh2opolo\fP からの質問 ID 3 の要求に対し、\fIhelios\fP が
3 つのアンサーレコード、3 つのネームサーバレコード、そして 7 つの
オーソリティレコードを持っているパケットで返答しているというものです。
最初のアンサーレコードは、タイプ A(アドレス)であり、そのデータは
IP アドレス 128.32.137.3 です。UDP と IP のヘッダを除いた総サイズは
273 バイトです。
A レコードのクラス (C_IN) と同様に, op (Query) および応答コード
(NoError) は、省略されます。
.LP
2 つめの例は、\fIhelios\fP が質問 ID 2 の要求に対し、存在しない
ドメイン (NXDomain) という返答コードとともに、0 個のアンサーレコード、1 つ
のネームサーバレコード、そして 0 個のオーソリティレコードを含んだ
レスポンスを返しています。`*' は、\fIauthoritative answer\fP ビットが設定され
ていることを示します。
アンサーレコードがないため、型、クラス、データは出力されません。
.LP
出力される可能性のある他のフラグキャラクタは、`\-' (再帰利用,RA,が
設定されていない)および `|' (メッセージ切捨て, TC, が設定されてい
る)です。
`question' セクションに含まれるエントリがちょうど 1 つでない場合には、
`[\fIn\fPq]' が出力されます。
.LP
ネームサーバ要求および応答は、大きくなる傾向にあり、デフォルトの
\fIsnaplen\fP の値である 68 バイトの長さは、パケットを捕捉してその内容を
表示するには十分でないかも知れないことに注意して下さい。
もしネームサーバトラフィックの調査を真剣に
行なおうとするならば、\fB\-s\fP オプションを用いて、\fIsnaplen\fP を増やし
て下さい。自分の経験上、`\fB\-s 128\fP' で十分使い物になります。
.HD
NFS 要求と応答
.LP
Sun NFS (Network File System) 要求および応答は、以下のように
表示されます。
.RS
.nf
.sp .5
\fIsrc.xid > dst.nfs: len op args\fP
\fIsrc.nfs > dst.xid: reply stat len op results\fP
.sp .5
\f(CW
sushi.6709 > wrl.nfs: 112 readlink fh 21,24/10.73165
wrl.nfs > sushi.6709: reply ok 40 readlink "../var"
sushi.201b > wrl.nfs:
144 lookup fh 9,74/4096.6878 "xcolors"
wrl.nfs > sushi.201b:
reply ok 128 lookup fh 9,74/4134.3150
\fP
.sp .5
.fi
.RE
最初の行では、ホスト \fIsushi\fP が ID\fI6709\fP のトランザクションを
\fIwrl\fP に送信します(送信元ホストに続く数字はトランザクション ID
であり、送信元ポート番号で\fIない\fPことに注意して下さい)。要求
サイズは、UDP および IP ヘッダのサイズを除いて 112 バイトです。操作は、
ファイルハンドル (\fIfh\fP) 21,24/10.731657119 に対する \fIreadlink\fP
(シンボリックリンク読み込み)です。
(この例のように運が良ければ、ファイルハンドルはデバイスのメジャー、
マイナー番号のペアと、それに続く i ノード番号と世代番号と解釈することがで
きます。)
\fIwrl\fP はリンクの内容とともに `ok' と返答しています。
.LP
3 行めでは、\fIsushi\fP は \fIwrl\fP に対し、ファイルハンドル
9,74/4096.6878 のディレクトリ中の `xcolors' ファイルの検索を要求していま
す。出力されたデータは、操作の型に依存することに注意して下さい。本形式
は、NFS のプロトコル仕様とともに読めば、それ自身を見れば分かるよう
に意図して作成されています。
.LP
\-v (verbose, 冗長) フラグがある場合、追加情報が出力されます。
例えば
.RS
.nf
.sp .5
\f(CW
sushi.1372a > wrl.nfs:
148 read fh 21,11/12.195 8192 bytes @ 24576
wrl.nfs > sushi.1372a:
reply ok 1472 read REG 100664 ids 417/0 sz 29388
\fP
.sp .5
.fi
.RE
(\-v は IP ヘッダの TTL, ID, そしてフラグメンテーションフィールドも出力し
ますが、この例では省略しています。)最初の行では、\fIsushi\fP は
\fIwrl\fP に対してファイル 21,11/12.195 のオフセット 24576 バイト目か
ら 8192 バイトを読むように要求しています。\fIwrl\fP は `ok' と返答してい
ます。2 行めに示したパケットは応答の最初のフラグメントなので、1472
バイトしかありません(その他のデータは継続するフラグメント中に続きます
が、これらのフラグメントは NFS ヘッダも UDP ヘッダさえも持たないので、使わ
れるフィルタリングの表現によっては出力されないでしょう)。\-v フラグがあ
るのでいくつかのファイル属性(ファイルデータに追加されて返されてくる)が
出力されます。それらはファイルの型(普通のファイルなら``REG'')、(8 進数
表現の)ファイルモード、uid と gid、そしてファイルの大きさです。
.LP
\-v フラグが 2 回以上指定されると、さらに詳しい情報が出力されます。
.LP
NFS 要求は非常に大きなデータになるため、\fIsnaplen\fP を大きくし
ないと詳しい出力は得られません。NFS トラフィックを監視するには、
`\fB\-s 192\fP' と指定してみて下さい。
.LP
NFS 応答パケットは RPC 操作であることを明示的には示しません。その代わ
り、\fItcpdump\fP は``最近の''要求を追跡して、トランザクション ID を用い
て応答と照合します。応答が対応する要求のすぐ後に続かないと、解
析することはできません。
.HD
KIP Appletalk (DDP in UDP)
.LP
UDP データグラムでカプセル化された Appletalk DDP パケットは、カプセル化
を解かれ、DDP パケットとしてダンプされます(全ての UDP ヘッダ情報は破棄
されます)。
ファイル
.I /etc/atalk.names
が、Appletalk ネットワークおよびノード番号を名前に変換するのに用い
られます。
本ファイルの内容は、以下のように記述されます。
.RS
.nf
.sp .5
\fInumber name\fP
\f(CW1.254 ether
16.1 icsd-net
1.254.110 ace\fP
.sp .5
.fi
.RE
最初の 2 行は、Appletalk ネットワーク名を決めています。3 行めは、
特定のホストの名前を決めています(ホストは、3 オクテット目の有無で
ネットワークと区別されます。ネットワーク番号は、2 オクテットの数字
から、ホスト番号は 3 オクテットの数字から構成される必要があります。)
数字と名前は、空白文字もしくはタブ文字で区切られます。この
.I /etc/atalk.names
ファイルは、空行もしくは、`#' 文字で始まるコメント行を含んでもかま
いません。
.LP
Appletalk アドレスは、以下のように表示されます。
.RS
.nf
.sp .5
\fInet.host.port\fP
\f(CW144.1.209.2 > icsd-net.112.220
office.2 > icsd-net.112.220
jssmag.149.235 > icsd-net.2\fP
.sp .5
.fi
.RE
(もし、この
.I /etc/atalk.names
がないか、このファイルの中にホスト番号及びネットワーク番号のエントリが
存在しない場合には、アドレスは数字で表示されます。)
最初の例は、ネットワーク 144.1 の中のノード 209
の NBP(DDP port 2) が、ネットワーク icsd のノード 112 のホストの
ポート 220 を開いている何者かにデータを送信しています。
次の行は、1 行めとほぼ同じ例ですが、送信元のノード名が既知である
(`office') ところが異なります。
3 行目の例は、ネットワーク jssmag のノード 149 のポート 235 から、icsd-net の
NBP ポートにブロードキャストでデータ送信をしています
(ブロードキャストアドレス(255)は、ホスト番号なしでネットワーク番号のみ
が表示されているところでわかります。このことから、/etc/atalk.names では
ノード名とネットワーク名を区別する方がよいことが分かります)。
.LP
NBP (name binding protocol) および ATP (Appletalk transaction protocol)
パケットでは、その内容は解釈されます。
他のプロトコルは、プロトコル名(もしくは、プロトコルが登録されていない場
合には、プロトコル番号)およびパケットサイズをダンプします。
\fBNBP パケット\fP は、以下のような形式で表示されます。
.RS
.nf
.sp .5
\s-2\f(CWicsd-net.112.220 > jssmag.2: nbp-lkup 190: "=:LaserWriter@*"
jssmag.209.2 > icsd-net.112.220: nbp-reply 190: "RM1140:LaserWriter@*" 250
techpit.2 > icsd-net.112.220: nbp-reply 190: "techpit:LaserWriter@*" 186\fP\s+2
.sp .5
.fi
.RE
最初の行は、レーザライタの名前検索要求であり、ネットワーク icsd のホスト
112 から送られ、ネットワーク jssmag へとブロードキャストされています。
検索のための nbp の ID は 190 です。
次の行は jssmag.209 からの、この要求の応答(同じ ID を持つことに注意して下さ
い)で、 ポート 250 に登録された RM1140 という名前のレーザライタがあると答
えています。
3 行めは、同じ要求に対する他のホストからの応答で、
ホスト techpit が、ポート 186 に登録されたレーザライタ "techpit" を持ってい
ると答えています。
\fBATP パケット\fP の形式は、以下のように表示されます。
.RS
.nf
.sp .5
\s-2\f(CWjssmag.209.165 > helios.132: atp-req 12266<0-7> 0xae030001
helios.132 > jssmag.209.165: atp-resp 12266:0 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:1 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:2 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:3 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:4 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:5 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:6 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp*12266:7 (512) 0xae040000
jssmag.209.165 > helios.132: atp-req 12266<3,5> 0xae030001
helios.132 > jssmag.209.165: atp-resp 12266:3 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:5 (512) 0xae040000
jssmag.209.165 > helios.132: atp-rel 12266<0-7> 0xae030001
jssmag.209.133 > helios.132: atp-req* 12267<0-7> 0xae030002\fP\s+2
.sp .5
.fi
.RE
jssmag.209 は、ホスト helios に対し最大8個 ('<0-7>') までのパケットを
要求することで、トランザクション ID 12266 を開始します。行の最後の 16 進数は、
要求の中の`ユーザデータ'のフィールドの値です。
.LP
helios は、8 つの 512 バイトのパケットで応答しています。トランザクション ID
の後につづく`:数'は、パケットシーケンス番号を、括弧中の数値は ATP ヘッダ
を除いたパケット中のデータ量を示してます。パケットシーケンス 7 のところ
の `*' は、EOM ビットが設定されていることを示してます。
.LP
jssmag.209 は、パケットシーケンス番号 3 と 5 のパケットの再送要求をしてます。
helios はそれらを再送し、その後 jssmag.209 はトランザクションを解放します。
最後の行で、jssmag.209 は次の要求を開始します。この要求の表示
で付加されている `*' は、XO(`exactly once') が設定されていないことを示します。
.HD
IP フラグメンテーション
.LP
フラグメントのあるインターネットデータグラムは、以下のように表示されます。
.RS
.nf
.sp .5
\fB(frag \fIid\fB:\fIsize\fB@\fIoffset\fB+)\fR
\fB(frag \fIid\fB:\fIsize\fB@\fIoffset\fB)\fR
.sp .5
.fi
.RE
(最初の形式では、まだフラグメントがあることを示し、2 番めの形式は、
これが最後のフラグメントであることを示してます。)
.LP
\fIId\fP は、フラグメント ID です。\fIsize\fP は、フラグメントサイズを
バイト単位であらわしたものです。ただし IP ヘッダサイズは含みません。
\fIoffset\fP は、元のデータグラムでの本フラグメントのオフセットをバイト
単位であらわしたものです。
.LP
フラグメント情報は、各フラグメントごとに表示されます。最初の
フラグメントには、上位レベルのプロトコルヘッダが含まれるので、フラグ情
報がプロトコル情報の後に表示されます。2 つ目以降のフラグメントについて
は、上位レベルのプロトコルヘッダを含まないので、フラグ情報は送信元およ
び宛先アドレスの後ろに表示されます。
例えば、これは arizona.edu から lbl-rtsg.arpa への CSNET 接続での ftp
の様子の一部分ですが、どうやら 576 バイト以上ののデータグラムを扱えないよ
うです。
.RS
.nf
.sp .5
\s-2\f(CWarizona.ftp-data > rtsg.1170: . 1024:1332(308) ack 1 win 4096 (frag 595a:328@0+)
arizona > rtsg: (frag 595a:204@328)
rtsg.1170 > arizona.ftp-data: . ack 1536 win 2560\fP\s+2
.sp .5
.fi
.RE
注意すべきことがいくつかあります。まず最初に、2 行目は
ポート番号を含みません。これは、TCP プロトコル情報は、最初のフラグメント
に全て入っており、後のフラグメントを出力する時にはポート番号やシーケンス
番号を知る術がないからです。
次に、最初の行の TCP シーケンス情報は、パケットが 308 バイトのユーザデータ
を持ってるかのように表示されますが、実際には 512 バイトのユーザデータを
持ってます(308 バイトが最初のフラグ分で、204 バイトが 2 番目のフラグ分で
す)。シーケンススペースの穴をさがしたり、パケットの ack の対応が正しい
かをこのデータで見ようとしてはいけません。
.LP
フラグメント不可フラグが設定されたパケットは、最後の部分に \fB(DF)\fP と
印が付けられます。
.HD
タイムスタンプ
.LP
デフォルトでは、すべての出力行は最初にタイムスタンプが出力されます。
タイムスタンプは、以下の形式で、現在のクロックタイムを表示します
.RS
.nf
\fIhh:mm:ss.frac\fP
.fi
.RE
そして、クロックの精度は、カーネルクロックの精度に依存します。
タイムスタンプは、カーネルが最初にパケットを見つけた時間を反映します。
イーサネットインタフェースがケーブルからパケットを取り出してカーネルが
`新規パケット'割り込みを受け付けるまでのタイムラグなどは補正されません
.SH 関連項目
traffic(1C), nit(4P), bpf(4), pcap(3)
.SH 作者
-Van Jacobson (van@ee.lbl.gov),
-Craig Leres (leres@ee.lbl.gov) and
-Steven McCanne (mccanne@ee.lbl.gov), all of the
-Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
+Van Jacobson,
+Craig Leres and
+Steven McCanne, all of the
+Lawrence Berkeley National Laboratory, University of California, Berkeley, CA.
+.LP
+.RS
+.I ftp://ftp.ee.lbl.gov/tcpdump.tar.Z
+.RE
.SH バグ
-バグレポートは、tcpdump@ee.lbl.gov または libpcap@ee.lbl.gov へ送って下さい。
+バグレポートは、tcpdump@ee.lbl.gov へ送って下さい。
.LP
NIT では、外に出ていくトラフィックを観察できません。BPF ならできます。
-tcpdump を用いる場合には、後者を用いることを推奨します。
-.LP
-Ultrix 上で \fItcpdump\fP を使う場合には、Ultrix のバージョンは 4.0 以降のもの
-を用いて下さい。この場合には、\fIpacketfilter\fP 仮想デバイスドライバ
-を追加して、カーネルの再構成を行なう必要があります。
-(
-.IR packetfilter (4)
-参照)。
-外に出るトラフィックもしくは入ってくるトラフィックのどちらかを監視する
-には、Ultrix のバージョン 4.2 以降が必要で、
-.IR pfconfig (8)
-コマンドを用いて ``copyall'' モードにしなければなりません。
-.LP
-SunOS 4.1 では、パケットキャプチャコード(もしくは Streams NIT)は効率良く
-ありません。トラフィックの多いネットワークを監視する場
-合には、そんなには多くのことを行なわないで下さい。
-.LP
-SunOS 3.2 以前のものは、NIT が非常に不安定(buggy)です。古いシステムで
-tcpdump を動作させた場合、システムがクラッシュする可能性があります。
+後者を用いることを推奨します。
.LP
IP フラグメントを再構成するか、もしくは少なくとも上位プロトコルの正し
いデータサイズを計算するように設計しなおす必要があります。
.LP
ネームサーバについての逆引きについては、正しくダンプされません。
実際の要求ではなく、(empty)クエスチョンセクションが、
アンサーセクションに出力されます。
逆引きについてはそれ自体がバグであると信じ、tcpdump ではなく逆引きを要求する
プログラムを修正するべきと考える人達もいます。
.LP
Apple Ethertalk DDP パケットは、KIP DDP パケットと同様に簡単にダンプ出来
るようにしたいのですが、実際はそうではありません。
もし我々が、Ethertalk の利用を奨めるために何かやろうという気になったとし
ても(そうではないのですが)、LBL(Lawrence Berkeley Laboratory) のどの
ネットワーク上にも Ethertalk を通すことは許されていませんから、そのコード
の試験は出来ません。
.LP
夏時間との変更の時にパケットトレースを行うと、タイムスタンプは変更後の
時刻とはずれてしまいます(時間変化は無視されます)。
.LP
FDDI ヘッダを操作するようなフィルタの表現においては、全ての
FDDI パケットはカプセル化された Ethernet パケットであると仮定します。
これは、IP, ARP, DECNET フェーズ 4 については正しいですが、ISO の CLNS 等の
プロトコルについては正しくありません。したがって、フィルタ表現に正しく
マッチしないようなパケットを偶然に受け入れてしまうことがあります。
diff --git a/ja_JP.eucJP/man/man1/tcpslice.1 b/ja_JP.eucJP/man/man1/tcpslice.1
index f017a570a8..699836e09c 100644
--- a/ja_JP.eucJP/man/man1/tcpslice.1
+++ b/ja_JP.eucJP/man/man1/tcpslice.1
@@ -1,254 +1,268 @@
.\" @(#) %Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/tcpslice.1,v 1.4 1995/05/14 15:21:36 gpalmer Exp % (LBL)
.\" jpman %Id: tcpslice.1,v 1.3 1997/09/07 14:12:55 horikawa Stab %
.\"
.\" Copyright (c) 1988-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: (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.
.\"
-.TH TCPSLICE 1 "14 Oct 1991"
-.SH 名称
-tcpslice \- tcpdump ファイルの分割/結合
-.SH 書式
-.na
-.B tcpslice
-[
-.B \-dRrt
-] [
-.B \-w
-.I file
-]
-.br
-.ti +9
-[
-.I start-time
-[
-.I end-time
-] ]
-.I file ...
-.br
-.ad
-.SH 解説
-.LP
-.I tcpslice
+.Dd October 14, 1991
+.Dt TCPSLICE 1
+.Os
+.Sh 名称
+.Nm tcpslice
+.Nd tcpdump ファイルの切り出し/結合
+.Sh 書式
+.Nm tcpslice
+.Op Fl dRrt
+.Op Fl w Ar file
+.Op Ar start-time Op end-time
+.Ar
+.Sh 解説
+.Nm
は、
-\fItcpdump(1)\fP
+.Xr tcpdump 1
-.B \-w
+.Fl w
フラグ
を用いて作成されたパケットトレースファイルの一部を切り出すプログラムです。
また、以下に示すように、複数のパケットトレースファイルを結合する事も
できます。
-.LP
-.I tcpslice
-の基本機能は、入力となるファイルに含まれるパケットの時刻が与えられた範囲に
-あるものを
-.I stdout
-にコピーする事です。
+.Pp
+.Nm
+の基本機能は、入力ファイルに含まれるパケットのうち、指定された時間内の
+ものを
+.Pa stdout
+に出力する事です。
開始時刻および終了時刻の範囲は、コマンド行で指定できます。範囲は指定した
-時刻自身を含みます。開始時刻のデフォルトは最初の入力ファイルの最初の
-パケットの時刻で、これを
-.I first time
-と呼びます。終了時刻のデフォルトは開始時刻の 10 年後です。
+時刻自身を含みます。デフォルトでは、開始時刻は最初の入力ファイルの一つ目の
+パケットの時刻です。この時刻を
+.Em first time
+と呼びます。デフォルトでは、終了時刻は開始時刻の 10 年後です。
したがって、
-.I tcpslice trace-file
+.Nm
+.Ar trace-file
というコマンドは単に
-.I trace-file
-を \fIstdout\fP にコピーします(ファイルには 10 年分のデータがない事を
+.Ar trace-file
+を
+.Pa stdout
+に出力します(ファイルには 10 年分のデータがない事を
想定しています)。
-.LP
+.Pp
時刻の指定にはいくつかの方法があります。ひとつは
-.I sssssssss.uuuuuu
-の形式の Unix 時刻形式を用いる方法です
-(これは、\fItcpdump\fP の
-.B \-tt
+.Em sssssssss.uuuuuu
+の形をとる Unix 時刻形式を用いる方法です
+(これは、
+.Xr tcpdump 1
+の
+.Fl tt
フラグで指定される形式です)。
例えば、
-.B 654321098.7654
+.Em 654321098.7654
は、1990 年 9 月 25 日、午後 8 時 51 分 (PDT) から、
38 秒と 765,400 マイクロ秒後の時刻を示します。
-.LP
+.Pp
このマニュアルの例は全て PDT の時刻で示しますが、
以下で示すように時刻を表示したり解釈したりする場合、
-.I tcpslice
-は、\fItcpdump\fP のファイルがどのタイムゾーンで生成されたかに関わらず、
+.Nm
+は、
+.Xr tcpdump 1
+のファイルがどのタイムゾーンで生成されたかに関わらず、
ローカルのタイムゾーンを使用します。
夏時間の設定は、対象となる日のローカルのタイムゾーンで適切な物が用いられます。
-例えば、夏季の期間の時刻は、夏時間の影響を反映し、冬季の期間の時刻は
+例えば、夏季の時刻には、夏時間の影響を反映し、冬季の時刻には
影響しません。
-.LP
+.Pp
時刻は
-秒数の前に `+' を付けて指定する事により、
-.I first time
-(開始時刻を指定する場合)
-や開始時刻(終了時刻を指定する場合)
-からの相対的な時刻として指定する事もできます。
+.Em first time
+から(開始時刻を指定する場合)、
+あるいは開始時刻から(終了時刻を指定する場合)
+の相対的な時刻として指定する事もできます。
+指定するには秒数の前に `+' を付けます。
例えば、
-.B +200
-は
-.I first time
-から 200 秒後を示し、ふたつの引数
-.B +200 +300
+.Em +200
+は開始時刻が
+.Em first time
+から 200 秒後であることを示し、ふたつの引数
+.Em +200 +300
-.I first time
+.Em first time
から 200 秒後から、
-.I first time
-から 500 秒後までを示します。
-.LP
+.Em first time
+から 500 秒後までの範囲を示します。
+.Pp
時刻は、年 (y)、月 (m)、日 (d)、時 (h)、分 (m)、秒 (s)、マイクロ秒 (u) で
-指定する事もできます。例えば、上記で示した Unix 時刻 654321098.7654 は、
-.B 90y9m25d20h51m38s765400u
+指定する事もできます。例えば、上記の Unix 時刻 654321098.7654 は、
+.Em 90y9m25d20h51m38s765400u
と指定する事もできます。
-.LP
-この形式で時刻を指定した場合、省略されたフィールドのデフォルトは以下の様に
-なります。省略されたフィールドが最初に指定されたフィールドより
-.I 大きい
-単位ならば、そのデフォルト値は、
-.I first time
+.Pp
+この形式で時刻を指定した場合、省略されたフィールドのデフォルト値は以下
+のようになります。最初に指定されたフィールドより
+.Em 大きい
+単位の省略されたフィールドについてのデフォルト値は、
+.Em first time
(開始時刻を指定する場合) または開始時刻(終了時刻を指定する場合)と同じ
値となります。
-省略されたフィールドが最初に指定されたフィールドより
-.I 小さい
-単位ならば、そのデフォルト値はゼロとなります。
+最初に指定されたフィールドより
+.Em 小さい
+単位の省略されたフィールドについてのデフォルト値はゼロとなります。
例えば、入力ファイルの
-.I first time
-の Unix 時刻が上記の値、すなわち、1990 年 9 月 25 日、午後 8 時 51 分 (PDT)
+.Em first time
+が Unix 時刻で上記の値、すなわち、1990 年 9 月 25 日、午後 8 時 51 分 (PDT)
から 38 秒と 765,400 マイクロ秒後としましょう。この時、同じ日の 午後 9 時
36 分 (PDT) ちょうどを指定するには、
-.B 21h36m
+.Em 21h36m
と表す事ができます。
午後 9 時 36 分 (PDT) から翌日の午前 1 時 54 分 (PDT) までを指定するには、
-.B 21h36m 26d1h54m
+.Em 21h36m 26d1h54m
と表す事ができます。
-.LP
-.I ymdhmsu
-形式を使用する時にも相対時刻を指定する事ができます。
-この時、省略されたフィールドが指定された最初のフィールドより
-.I 大きい
+.Pp
+.Em ymdhmsu
+形式を使用する時にも相対時刻で指定する事ができます。
+この時、省略されたフィールドの単位が指定された最初のフィールドより
+.Em 大きい
単位ならば、デフォルト値は 0 となり、
-省略されたフィールドが指定された最初のフィールドより
-.I 小さい
+省略されたフィールドの単位が指定された最初のフィールドより
+.Em 小さい
単位ならば、デフォルト値は
-.I first time
+.Em first time
あるいは開始時刻と同じ値となります。
-.I first time
-が上記で示した Unix 時刻だった場合、
-.B 22h +1h10m
+.Em first time
+が上記の Unix 時刻だった場合、
+.Em 22h +1h10m
はその日の午後 10 時 00 分 (PDT) から 午後 11 時 10 分 (PDT) までを示し、
-.B +1h +1h10m
+.Em +1h +1h10m
は午後 9 時 51 分 (PDT) の 38.7654 秒後から 午後 11 時 01 分 (PDT) の
38.7654 秒後までを示します。
-.B +0 +1h
+.Em +0 +1h
と指定すれば、ファイルの最初から 1 時間分のデータを取り出す事ができます。
-.LP
-.I ymdhmsu
+.Pp
+.Em ymdhmsu
形式を用いる場合、
-.I m
+.Em m
が、`月' を示すのか `分' を示すのかが曖昧になります。
-この曖昧さは、以下のように決定されます。もし、
-.I m
+いずれになるかは、以下のように決定されます。
+.Em m
フィールドの後に
-.I d
-フィールドが来た場合、それは月であると判断され、それ以外の場合は、
-分であると判断されます。
-.LP
+.Em d
+フィールドが来た場合、月が指定されたと判断します。それ以外の場合は、
+分が指定された判断します。
+.Pp
複数の入力ファイルが指定された場合、
-.I tcpslice
-はまず、最初のファイルの与えられた時刻の範囲にあるパケットをコピーします。
+.Nm
+はまず、最初のファイル内の指定された時刻の範囲にあるパケットを出力します。
次に、範囲の開始時刻を最初のファイルの最後のパケットの時刻の直後に変更し、
-次のファイルを処理し、以降これを繰り返します。したがって、時間的に
-分散したパケットを含むような複数のファイルをまとめる事は
-.I できません。
+次のファイルを処理し、以降これを繰り返します。したがって、時間順に
+ならんでいないパケットを含む複数のファイルをまとめる事は
+.Em できません。
与えられたファイルのうち、先に処理されたファイルより新しいパケットに対して
のみ処理されます。この機構によりひとつのパケットが複数回出力に現れる
事を防ぐ事ができます。
-.SH オプション
-.LP
-.B \-R,
-.B \-r,
-.B \-t
+.Sh オプション
+.Pp
+.Fl R ,
+.Fl r ,
+.Fl t
のいずれかが指定された場合、
-.I tcpslice
+.Nm
は、各入力ファイルの最初および最後のパケットの時刻を表示して終了します。
-これらの 3 個のオプションのうち、ひとつだけを指定することができます。
-.TP
-.B \-d
-指定された範囲の開始時刻と終了時刻をダンプして終了します。
+これらの 3 個のオプションのうち、1 つだけを指定することができます。
+.Pp
+以下のオプションが指定できます:
+.Bl -tag -width indent
+.It Fl d
+指定された範囲の開始時刻と終了時刻を表示して終了します。
このオプションは、指定した範囲が想定している時間と本当に一致しているかどうかを
確認するのに有効です。
-.B \-R,
-.B \-r,
-.B \-t
-のいずれかが指定された場合、それらに相当する形式で時刻をダンプします。
-指定がない場合は、加工しない形式 (\fB \-R\fP) が使用されます。
-.TP
-.B \-R
-各入力ファイルの最初および最後のパケットの時刻を加工しない形式
-(つまり、\fI sssssssss.uuuuuu\fP の形式) でダンプします。
-.TP
-.B \-r
-.B \-R
-と同じですが、\fI date(1)\fP で使用される物と同様の、読みやすい形式で
-時刻をダンプします。
-.TP
-.B \-t
-.B \-R
+.Fl R ,
+.Fl r ,
+.Fl t
+のいずれかが指定された場合、それらに相当する形式で時刻を表示します。
+指定がない場合は、内部形式 (
+.Fl R )
+となります。
+.It Fl R
+各入力ファイルの最初および最後のパケットの時刻を内部形式
+(つまり、
+.Em sssssssss.uuuuuu
+の形式) で表示します。
+.It Fl r
+.Fl R
+と同じですが、
+.Xr date 1
+と同様の、読みやすい形式で時刻を表示します。
+.It Fl t
+.Fl R
と同じですが、時刻を
-.I tcpslice
+.Nm
形式、すなわち、上記に示した
-.I ymdhmsu
-の形でダンプします。
-.TP
-.B \-w
-結果を \fIstdout\fP ではなく、\fIfile\fR に出力します。
-.SH 関連項目
-tcpdump(1)
-.SH 作者
-Vern Paxson (vern@ee.lbl.gov), of
-Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
-.SH バグ
+.Em ymdhmsu
+の形で表示します。
+.It Fl w Ar file
+出力を
+.Pa stdout
+ではなく、
+.Ar file
+とします。
+.El
+.Sh 関連項目
+.Xr tcpdump 1
+.Sh 作者
+.An Vern Paxson Aq vern@ee.lbl.gov ,
+of Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
+.Sh バグ
数字や `+' で始まるファイル名を入力ファイルとして指定すると、
-開始/終了時刻と区別できません。このようなファイル名は、たとえば、
-`04Jul76.trace' というファイル名ならば `./04Jul76.trace' のように、
-先頭に `./' をつけて指定して下さい。
-.LP
-.I tcpslice
+開始/終了時刻と間違うことがあります。このようなファイル名は、
+先頭に `./' をつけて指定します。たとえば、
+`04Jul76.trace' というファイル名ならば `./04Jul76.trace' とします。
+.Pp
+.Nm
は、入力ファイルをくまなく探すためにランダムアクセスを使用するため、
-\fIstdin\fP から入力を読み込むことはできません。
-.LP
-.I tcpslice
-は、出力を (\fIisatty(3)\fP で示される) 端末へ出力しようとしません。
-これはバグではなく仕様で、ユーザの端末にバイナリデータをまき散らすことを
-防ぎます。つまり、\fIstdout\fP をリダイレクトするか、\fB\-w\fP により
-出力ファイルを指定する必要があります。
-.LP
-.I tcpslice
-は、1 年以上にわたる \fItcpdump\fP のファイルや、
+.Pa stdin
+から入力することはできません。
+.Pp
+.Nm
+は、出力先が端末 (
+.Xr isatty 3
+で示される) である場合、出力しません。
+これはバグではなく、ユーザの端末にバイナリデータをまき散らすことを
+防ぐための仕様です。つまり、
+.Pa stdout
+をリダイレクトするか、
+.Fl w
+により出力ファイルを指定しなければなりません。
+.Pp
+.Nm
+は、1 年以上にわたる
+.Xr tcpdump 1
+のファイルや、
もともとのパケットの長さが 65,535 バイトを超えるようなパケットの一部を
-含むようなファイル、3 パケットより少ないパケットしかないファイル
+含むようなファイル、3 パケット未満のパケットしか含まれないファイル
に対しては正しく働かないでしょう。
これらのファイルを処理しようとすると、
`couldn't find final packet in file' というエラーメッセージが出力されます。
これらの問題は、大きなトレースファイルを扱う場合に、
-.I tcpslice
-が処理速度を大きく改善するために使用している補間機能に起因します。
+.Nm
+が処理速度を大きく改善するために使用している機構に起因します。
一方、
-.I tcpslice
+.Nm
は、如何なるサイズのトレースファイルでも中央のスライスを効率的に取り出す
-ことができ、分断されたトレースファイル (ファイルの中の最後のパケットが
-一部しか存在しない様なファイル、\fItcpdump\fP が強制的に終了させられた
-場合にできる場合がある) に対しても正しく動作します。
+ことができ、不完全なトレースファイル (例えば、ファイル中の最後のパケットが
+途中で切れているファイル、
+.Xr tcpdump 1
+が強制的に終了させられた
+場合によくできる) に対しても正しく動作します。
diff --git a/ja_JP.eucJP/man/man1/telnet.1 b/ja_JP.eucJP/man/man1/telnet.1
index 65c01cf8b2..ae7b13bf84 100644
--- a/ja_JP.eucJP/man/man1/telnet.1
+++ b/ja_JP.eucJP/man/man1/telnet.1
@@ -1,1325 +1,1325 @@
.\" Copyright (c) 1983, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)telnet.1 8.5 (Berkeley) 3/1/94
-.\" %Id: telnet.1,v 1.3.2.4 1998/03/08 13:48:34 jkh Exp %
+.\" %Id: telnet.1,v 1.9 1997/12/27 18:58:27 steve Exp %
.\" jpman %Id: telnet.1,v 1.2 1997/05/23 00:55:09 mutoh Stab %
.\"
.Dd March 1, 1994
.Dt TELNET 1
.Os BSD 4.2
.Sh 名称
.Nm telnet
.Nd
.Tn TELNET
プロトコルを用いて他のホストと通信する
.Sh 書式
.Nm
.Op Fl 8EFKLacdfrx
.Op Fl S Ar tos
.Op Fl X Ar authtype
.Op Fl e Ar escapechar
.Op Fl k Ar realm
.Op Fl l Ar user
.Op Fl n Ar tracefile
.Oo
.Ar host
.Op Ar port
.Oc
.Sh 解説
.Nm
コマンドは、
他のマシンとの間で
.Tn TELNET
プロトコルを用いた通信を行なう時に用いられます。
.Nm
が、
.Ar host
引数なしで起動された場合には、
.Pq Nm telnet\&>
プロンプトを表示して、コマンドを受け付けるモードに移行します。
本モードでは、telnet は、後述のコマンドを解釈し、実行できます。
.Nm
.Ar host
引数を付加して起動された場合には、
.Ic open
コマンドをその引数で実行した場合と同様の動作を行ないます。
.Pp
.Nm
コマンドでは、以下のオプションが使用可能です。
.Bl -tag -width indent
.It Fl 8
8ビットデータをそのまま通すよう指示します。本オプションは、データ入出力時に
.Dv TELNET BINARY
オプションを使用することを意味します。
.It Fl E
エスケープ文字の解釈を禁止します。
.It Fl F
もし Kerberos V5 ユーザ認証を使用している場合
.Fl F
オプションはローカル credential をリモートシステムに送るのを許可します。
すでにローカルに送られている全ての credential を含みます。
.It Fl K
リモートシステムへの自動ログインを行なわないよう指示します。
.It Fl L
出力を8ビットクリーンにします。
本オプションは、データ出力時に
.Dv BINARY
オプションを使用することを意味します。
.It Fl S Ar tos
IPのサービス型(TOS)を設定します。 TOS は、数字で指定するか、システムが
.Pa /etc/iptos
ファイルをサポートしている場合には、そのファイル中で定義された
値と対応するシンボルを指定します。
.It Fl X Ar atype
.Ar atype
で指定されたユーザ認証を無効にします。
.It Fl a
自動ログインを行ないます。リモートシステムで ENVIRON オプションの
サポートをしている場合には、
.Ev ENVIRON
オプションの
.Ev USER
変数をログイン名として用います。
使用されるログイン名は、カレントユーザIDとログイン名の対応が
一致する場合には、
.Xr getlogin 2
で取得される名前です。それ以外の場合は、 UID に対応する名前が
用いられます。
.It Fl c
ユーザの
.Pa \&.telnetrc
ファイルを使いません
(本マニュアル中の
.Ic toggle skiprc
コマンドを参照してください)。
.It Fl d
変数
.Ic debug
の初期値を
.Dv TRUE
に設定します。
.It Fl e Ar escapechar
.Nm
のエスケープ文字の初期値を
.Ar escapechar
に設定します。
.Ar escapechar
が省略された場合には、
エスケープ文字は無いことになります。
.It Fl f
もし Kerberos V5 ユーザ認証を使用している場合
.Fl f
オプションはローカル credential をリモートシステムに送るのを許可します。
.It Fl k Ar realm
もし Kerberos ユーザ認証を使用している場合
.Fl k
オプションを指定すると、
.Xr krb_realmofhost 3
で決定されるリモートホストの realm の代わりに、
.Ar realm
からリモートホストに対するチケットが得られるように要求します。
.It Fl l Ar user
リモートシステムが
.Ev ENVIRON
オプションをサポートしている場合、リモートシステムへの接続時に
リモートシステムに変数
.Ev USER
の値として
.Ar user
を送信します。
本オプションは、
.Fl a
オプションとともに使用します。
また、本オプションは、
.Ic open
コマンドととも一緒に使用します。
.It Fl n Ar tracefile
トレース情報を記録するために
.Ar tracefile
をオープンします。
後述の
.Ic set tracefile
コマンドを参照して下さい。
.It Fl r
.Xr rlogin 1
と似たインタフェースを提供します。
本モードでは、エスケープ文字はチルダ文字(~)に設定されます。
ただし、
.Fl e
オプションで変更された場合には、この限りではありません。
.It Fl x
可能であれば、データストリームの暗号化を有効にします。本オプション
は、米国およびカナダ以外の国では使用できません。
.It Ar host
リモートホストの公式な名前、別名、またはIPアドレスを指定し
ます。
.It Ar port
telnetが叩くリモートホストのTCPポート番号を指定します。指定されない
場合には、デフォルトの
.Nm
ポート番号が使われます。
.El
.Pp
rlogin モードでは、~. をコマンドラインの先頭で入力すると、
リモートホストとの接続が切れます。この時、 ~ は
.Nm
のエスケープ文字
として働きます。
また、~^Z をコマンドラインの先頭で入力すると、
.Nm
セッションはサスペンドされます。
そして、~^] をコマンドラインの先頭で入力すると、通常の
.Nm
のエスケーププロンプトが出力され、コマンド入力モードに移行します。
.Pp
コネクションが開設されると、
.Nm
.Dv TELNET LINEMODE
を有効にしようとします。
これが失敗すると、次に
.Nm
は \*(Lqcharacter at a time\*(Rq と \*(Lqold line by line\*(Rq の
2つの入力モードのうち、どちらか1つを選択します。
これは、リモートシステムがサポートするモードに依存します。
.Pp
.Dv LINEMODE
が有効になった場合、
文字処理は、
リモートシステムの制御のもとでローカルシステムで行なわれます。
入力行の編集や、文字エコーは無効になり、
リモートシステムがそれらの操作情報を中継します。
リモートシステムは、
リモートシステムで生成された特殊文字をすべてローカルシステムに送ります。
その結果、ローカルシステムの制御が可能になります。
.Pp
\*(Lqcharacter at a time\*(Rq モードでは、ほとんどのテキスト入力は、
すぐにリモートシステムに送られて処理されます。
.Pp
\*(Lqold line by line\*(Rqモードでは、全てのテキストはローカルにエコーバック
されます。そして、通常、完全な行のみがリモートホストに送信されます。
.Pp
\*(Lqold line by line\*(Rq モードでは、全てのテキストはローカルに
エコーされ (普通は) 完全な行だけがリモートホストに送られます。
\*(Lqlocal echo character\*(Rq (初期設定は\*(Lq^E\*(Rq)は、ローカルエコー
の有効/無効を切り替えるのに用いられます(これは、パスワードをエコーバックし
ないために、パスワード入力時によく用いられる機能です)。
.Pp
.Dv LINEMODE
オプションが有効になっている場合、もしくは
.Ic localchars
.Dv TRUE
になっている場合には(デフォルトでは、\*(Lqold line by line\*(Rq に設定されて
います。以下を参照)、ユーザの
.Ic quit ,
.Ic intr ,
および
.Ic flush
文字はローカルでトラップされます。そして、
.Tn TELNET
プロトコルシーケンスとしてリモートホストに送信されます。
.Dv LINEMODE
が有効になっている場合には、
ユーザの
.Ic susp
および
.Ic eof
もまた
.Tn TELNET
プロトコルシーケンスとしてリモートホストに送信されます。そして、
.Ic quit
.Dv BREAK
のかわりに
.Dv TELNET ABORT
として送信されます。
また、
(リモートホストが TELNET シーケンスを認識するまで)
端末へのサブシーケンス出力をフラッシュするオプション(
.Ic toggle ,
.Ic autoflush ,
.Ic toggle ,
.Ic autosynch
を参照して下さい)
や、(
.Ic quit ,
.Ic intr
の場合に)
端末の先行入力をフラッシュするオプション
もあります。
.Pp
リモートホストと接続中に \*(Lqescape character\*(Rq (初期値は
\*(Lq^]\*(Rq です)を入力することで、
.Nm
コマンドモードに移行できます。
コマンドモードに移行すると、通常の対話的画面編集が可能になります。
.Pp
.Nm
のコマンドモードでは、以下のコマンドが使用できます。
コマンドを入力する場合には、先頭からコマンドを特定できるだけの文字を入れ
るだけでコマンドが認識されます。
(
.Ic mode ,
.Ic set ,
.Ic toggle ,
.Ic unset ,
.Ic slc ,
.Ic environ ,
そして
.Ic display
コマンドの引数についても同じことがいえます)。
.Pp
.Bl -tag -width "mode type"
.It Ic auth Ar argument ...
auth コマンドは、
.Dv TELNET AUTHENTICATE
オプションを用いて送られる認証情報を操作します。
.Ic auth
コマンドのとりうる引数は、以下の通りです。
.Bl -tag -width "disable type"
.It Ic disable Ar type
指定した認証タイプを無効にします。認証タイプの一覧を見たい場合には、
.Ic auth disable \&?
とコマンドを実行して下さい。
.It Ic enable Ar type
指定された認証タイプを有効にします。
認証タイプの一覧を見たい場合には、
.Ic auth enable \&?
とコマンドを実行して下さい。
.It Ic status
認証タイプの現在の状態一覧を表示します。
.El
.It Ic close
.Tn TELNET
セッションを終了し、コマンドモードに復帰します。
.It Ic display Ar argument ...
.Ic set
および
.Ic toggle
で設定された値(後述)のすべて、もしくは一部を表示します。
.It Ic encrypt Ar argument ...
encrypt コマンドは、
.Dv TELNET ENCRYPT
オプションによって送られる情報を操作します。
.Pp
注意: 輸出規制の関係上、
.Dv TELNET ENCRYPT
オプションは、米国およびカナダ以外の国ではサポートされません。
.Pp
.Ic encrypt
コマンドのとりうる引数は以下の通り:
.Bl -tag -width Ar
.It Ic disable Ar type Ic [input|output]
指定されたタイプの暗号化を無効にします。
input か output かが省略された場合、両方が無効になります。
.Ic encrypt disable \&?
コマンドを使えば type として何が使用できるかを表示できます。
.It Ic enable Ar type Ic [input|output]
指定されたタイプの暗号化を有効にします。
input か output かが省略された場合、両方が無効になります。
.Ic encrypt enable \&?
コマンドを使えば type として何が使用できるかを表示できます。
.It Ic input
.Ic encrypt start input
コマンドと同じです。
.It Ic -input
.Ic encrypt stop input
コマンドと同じです。
.It Ic output
.Ic encrypt start output
コマンドと同じです。
.It Ic -output
.Ic encrypt stop output
コマンドと同じです。
.It Ic start Ic [input|output]
暗号化を開始します。
.Ic input
.Ic output
かが省略された場合、
両方が暗号化されます。
.Ic encrypt enable \&?
コマンドを使えば type として何が使用できるかを表示できます。
.It Ic status
暗号化の現在の状態を表示します。
.It Ic stop Ic [input|output]
暗号化を中止します。
input か output かを省略した場合は
両方に対して作用します。
.It Ic type Ar type
.Ic encrypt start
.Ic encrypt stop
が使われた時のデフォルトの暗号化タイプを設定します。
.El
.It Ic environ Ar arguments...
.Ic environ
コマンドは、
.Dv TELNET ENVIRON
オプションを用いて送られる変数を取り扱うのに用いられます。
最初に設定される変数は、ユーザ環境変数から取られ、
デフォルトでは
.Ev DISPLAY
および
.Ev PRINTER
のみ値が環境に取り込まれます。
変数
.Ev USER
が環境に取り込まれるのは、
.Fl a
もしくは
.Fl l
オプションが起動時に指定された場合です。
.Pp
.Ic environ
コマンドの取りうる引数は、以下の通りです。
.Bl -tag -width Fl
.It Ic define Ar variable value
変数
.Ar variable
.Ar value
と定義します。
本コマンドで定義された変数は、自動的に環境に取り込まれます。
.Ar value
については、スペースやタブを含む場合には、シングルクォーテー
ション、もしくはダブルクォーテーションで囲んでも構いません。
.It Ic undefine Ar variable
環境変数
.Ar variable
の定義を無効にします。
.It Ic export Ar variable
変数
.Ar variable
が、リモートホストの環境に取り込まれるように設定します。
.It Ic unexport Ar variable
変数
.Ar variable
を、リモートホストに取り込まないように設定します。ただし、リモートホストへ
明示的に取り込むよう指定された変数に関しては、意味を持ちません。
.It Ic list
現在設定されている環境変数の一覧を表示します。
.Cm *
マークが付加されている環境変数については、リモートホストに自動的に取り込ま
れます。他の変数は、明示的に要求されない限り、取り込まれることはありません。
.It Ic \&?
.Ic environ
コマンドのヘルプメッセージを表示します。
.El
.It Ic logout
.Dv TELNET LOGOUT
オプションをリモートホストに送信します。
本コマンドは、
.Ic close
と似てますが、リモートホストが
.Dv LOGOUT
オプションをサポートしていない場合には、何も起きません。
しかしながら、リモートホストが
.Dv LOGOUT
オプションをサポートしている場合には、本コマンドはリモートホストに
.Tn TELNET
コネクションの切断を指示します。
リモートホストが再接続のためにセッションのサスペンドもサポートしている場合には、
logout 引数は、セッションを即時切断することを示します。
.It Ic mode Ar type
.Ar type
は、
.Tn TELNET
セッションの状態に依存するオプションの 1 つです。
リモートホストはリクエストモードに入るための許可を求められます。
リモートホストが許可を得られればリクエストモードに入ります。
.Bl -tag -width Ar
.It Ic character
.Dv TELNET LINEMODE
オプションを無効にする、
あるいはリモートホストが
.Dv LINEMODE
オプションを解釈できない場合に
\*(Lqcharacter at a time\*(Rq
モードに入ります。
.It Ic line
.Dv TELNET LINEMODE
オプションを有効にする、
あるいはリモートホストが
.Dv LINEMODE
オプションを解釈できない場合に
\*(Lqold-line-by-line\*(Rq
モードに入ろうとします。
.It Ic isig Pq Ic \-isig
.Dv LINEMODE
オプションの
.Dv TRAPSIG
モードを有効(無効)にします。
.Dv LINEMODE
オプションが有効になっている必要があります。
.It Ic edit Pq Ic \-edit
.Dv LINEMODE
オプションの
.Dv EDIT
モードを有効(無効)にします。
.Dv LINEMODE
オプションが有効になっている必要があります。
.It Ic softtabs Pq Ic \-softtabs
.Dv LINEMODE
オプションの
.Dv SOFT_TAB
モードを有効(無効)にします。
.Dv LINEMODE
オプションが有効になっている必要があります。
.It Ic litecho Pq Ic \-litecho
.Dv LINEMODE
オプションの
.Dv LIT_ECHO
モードを有効(無効)にします。
.Dv LINEMODE
オプションが有効になっている必要があります。
.It Ic \&?
.Ic mode
コマンドのヘルプメッセージを表示します。
.El
.It Xo
.Ic open Ar host
.Op Fl l Ar user
.Oo Op Fl
.Ar port Oc
.Xc
指定されたホストとの間で、コネクションを開設します。
ポート番号が指定されない場合は、
.Nm
は、デフォルトのポート番号を用いて、指定されたホストの
.Tn TELNET
サーバとの接続を試みます。
ホストの指定については、ホスト名(
.Xr hosts 5
を参照して下さい)もしくは、
ドット表記のIPアドレス(
.Xr inet 3
を参照して下さい)で指定します。
.Fl l
オプションは
.Ev ENVIRON
オプションによってリモートシステムに渡されるユーザ名を指定するのに
使われます。
標準でないポートにつなげた時は
.Nm
は全ての
.Tn TELNET
オプションの自動初期化を省略します。
マイナス記号の後にポート番号が指定されている場合は、
初期オプション交渉 (initial option negotiation) が行なわれます。
接続した後、ホームディレクトリの
.Pa \&.telnetrc
ファイルが読み込まれます。
# で始まる行はコメントです。
空行は無視されます。
空白以外で始まっている行は
マシンエントリの始まりです。
最初の項目は接続しているマシンの名前です。
その後の項目、およびそれに続く空白で始まっている
行は
.Nm
コマンドであるとみなされ、
.Nm
コマンドプロンプトでそのコマンドを入力した場合と
同じように処理されます。
.It Ic quit
.Tn TELNET
セッションをただちに切断し、
.Nm
を終了します。
コマンドモードにおいて、 EOF を入力した場合も同様です。
.It Ic send Ar arguments
1つ以上の特殊文字シーケンスをリモートホストに送信します。
以下は指定可能な引数です
(1度に複数の引数を指定できます)。
.Pp
.Bl -tag -width escape
.It Ic abort
.Dv TELNET ABORT
(Abort
processes)
シーケンスを送ります。
.It Ic ao
.Dv TELNET AO
(Abort Output)
シーケンスを送ります。
これはリモートシステム
.Em に
端末
.Em へ
全ての出力をフラッシュさせます。
.It Ic ayt
.Dv TELNET AYT
(Are You There)
シーケンスを送ります。
リモートシステムはそれに応答するかしないかを選択できます。
.It Ic brk
.Dv TELNET BRK
(Break)
シーケンスを送ります。
リモートシステムにとって
重要な意味があるかもしれません。
.It Ic ec
.Dv TELNET EC
(Erase Character)
シーケンスを送ります。
これはリモートシステムに最後に入力された文字を
消去させます。
.It Ic el
.Dv TELNET EL
(Erase Line)
シーケンスを送ります。
これはリモートシステムに現在入力中の行を
消去させます。
.It Ic eof
.Dv TELNET EOF
(End Of File)
シーケンスを送ります。
.It Ic eor
.Dv TELNET EOR
(End of Record)
シーケンスを送ります。
.It Ic escape
現在の
.Nm
エスケープ文字を送ります
(初期値は \*(Lq^\*(Rq です)。
.It Ic ga
.Dv TELNET GA
(Go Ahead) シーケンスを送ります。
おそらくリモートシステムにとってたいした意味は無いでしょう。
.It Ic getstatus
リモートシステムが
.Dv TELNET STATUS
コマンドをサポートしていれば、
.Ic getstatus
はサーバに現在のオプションステータスを送るように要求します。
.It Ic ip
.Dv TELNET IP
(Interrupt Process)
シーケンスを送ります。
これはリモートシステムに現在実行中のプロセスを
中断させます。
.It Ic nop
.Dv TELNET NOP
(No OPeration)
シーケンスを送ります。
.It Ic susp
.Dv TELNET SUSP
(SUSPend process)
シーケンスを送ります。
.It Ic synch
.Dv TELNET SYNCH
シーケンスを送ります。
このシーケンスはリモートシステムに、
それまでに送られた(しかしまだ読み込まれていない)入力を
捨てさせます。
このシーケンスは
.Tn TCP
緊急データとして送られます
(しかしリモートシステムが
.Bx 4.2
の場合、効かないかも知れません。
もし効かなかった場合は端末に \*(Lqr\*(Rq が返される場合があります)。
.It Ic do Ar cmd
.It Ic dont Ar cmd
.It Ic will Ar cmd
.It Ic wont Ar cmd
.Dv TELNET DO
.Ar cmd
シーケンスを送ります。
.Ar cmd
は 0 から 255 までの十進数か、
特定の
.Dv TELNET
コマンドに対するシンボル名です。
.Ar cmd
として
既知のシンボル名のリストを含むヘルプメッセージを表示する
.Ic help
または
.Ic \&?
を指定可能です。
.It Ic \&?
.Ic send
コマンドのヘルプメッセージを表示します。
.El
.It Ic set Ar argument value
.It Ic unset Ar argument value
.Ic set
コマンドは、指定した
.Nm
変数の1つを、特定の値を設定するか、
.Dv TRUE
にします。
特別な値
.Ic off
は、変数に関連する機能を無効にします。これは、
.Ic unset
コマンドと同じです。
.Ic unset
コマンドは、指定された機能を無効にするか、
.Dv FALSE
に設定します。
変数の値は
.Ic display
コマンドによって調べることができます。
トグルでなく設定、無効にされる変数を以下に示します。
また
.Ic toggle
コマンドに対する変数は
.Ic set
および
.Ic unset
コマンドによって明示的に
設定および無効にすることができます。
.Bl -tag -width escape
.It Ic ayt
.Tn TELNET
がローカル文字モードになっているか、
あるいは
.Dv LINEMODE
が有効になっていて、
ステータス文字が入力された場合、
.Dv TELNET AYT
シーケンス(前述の
.Ic send ayt
参照)
がリモートホストに送られます。\*(LqAre You There\*(Rq 文字の初期値は
ターミナルステータス文字です。
.It Ic echo
これは
\*(Lqline by line\*(Rq モード時に
入力された文字をローカルに表示する(通常処理)か
しないか(たとえばパスワード入力時)を
切替えるのに使われる値(初期値は \*(Lq^E\*(Rq )です。
.It Ic eof
.Nm
.Dv LINEMODE
あるいは
\*(Lqold line by line\*(Rq モードで動作していれば、
行の最初の文字としてこの文字を入力すると、
この文字をリモートシステムに送ります。
初期値として、端末の
.Ic eof
文字が使われます。
.It Ic erase
.Nm
.Ic localchars
モード(後述の
.Ic toggle
.Ic localchars
を参照)
になっていて、
.Sy そして
\*(Lqcharacter at a time\*(Rq モードで動作していれば、
この文字が入力された時に
.Dv TELNET EC
シーケンス(前述の
.Ic send
.Ic ec
を参照)が
リモートシステムに送られます。
初期値として、端末の
.Ic erase
文字が使われます。
.It Ic escape
これは
(リモートシステムと接続している時に)
.Nm
コマンドモードに入る
.Nm
エスケープ文字(初期値 \*(Lq^[\*(Rq) です。
.It Ic flushoutput
.Nm
.Ic localchars
モード(後述の
.Ic toggle
.Ic localchars
を参照)
になっていて、
.Ic flushoutput
文字が入力された時に
.Dv TELNET AO
シーケンス(前述の
.Ic send
.Ic ao
を参照)が
リモートシステムに送られます。
初期値として、端末の
.Ic flush
文字が使われます。
.It Ic forw1
.It Ic forw2
.Nm
.Dv LINEMODE
で動作している時に
この文字が入力されると
行の一部がリモートシステムに送られます。
初期値として、端末の eol および eol2 文字が
使われます。
.It Ic interrupt
.Nm
.Ic localchars
モード(後述の
.Ic toggle
.Ic localchars
を参照)
になっている時に、
.Ic interrupt
文字が入力されると
.Dv TELNET IP
シーケンス(前述の
.Ic send
.Ic ip
を参照)が
リモートホストに送られます。
初期値として、端末の
.Ic intr
文字が使われます。
.It Ic kill
.Nm
.Ic localchars
モード(後述の
.Ic toggle
.Ic localchars
を参照)
になっていて、
.Ic そして
\*(Lqcharacter at a time\*(Rq
モードで動作していれば、この文字が入力された時に
.Dv TELNET EL
シーケンス(前述の
.Ic send
.Ic el
を参照)がリモートシステムに送られます。
初期値として、端末の
.Ic kill
文字が使われます。
.It Ic lnext
.Nm
.Dv LINEMODE
\*(Lqold line by line\*(Rq モードで動作している時に、端末の
.Ic lnext
文字がこの文字として使われます。
初期値として、端末の
.Ic lnext
文字が使われます。
.It Ic quit
.Nm
.Ic localchars
モード(後述の
.Ic toggle
.Ic localchars
を参照)
になっていて、
.Ic quit
文字が入力されると、
.Dv TELNET BRK
シーケンス(前述の
.Ic send
.Ic brk
を参照)が
リモートホストに送られます。
初期値として、端末の
.Ic quit
文字が使われます。
.It Ic reprint
.Nm
.Dv LINEMODE
あるいは
\*(Lqold line by line\*(Rq モードで動作している時に、端末の
.Ic reprint
文字がこの文字として使われます。
初期値として、端末の
.Ic reprint
文字が使われます。
.It Ic rlogin
これは rlogin エスケープ文字です。
もし設定されていれば、行の最初でこの文字が入力されている場合を除き、
通常の
.Nm
エスケープ文字は無視されます。
行の最初でこの文字に続けて "." が入力された場合、
接続が切れます。
続けて ^Z が入力された場合、
.Nm
コマンドが中断されます。
初期状態では
.Nm rlogin
エスケープ文字は
無効になっています。
.It Ic start
もし
.Dv TELNET TOGGLE-FLOW-CONTROL
オプションが有効になっていれば、端末の
.Ic start
文字としてこの文字が使われます。
初期値として、端末の
.Ic start
文字が使われます。
.It Ic stop
もし
.Dv TELNET TOGGLE-FLOW-CONTROL
オプションが有効になっていれば
端末の
.Ic stop
文字がこの文字として使われます。
初期値として、端末の
.Ic stop
文字が使われます。
.It Ic susp
.Nm
.Ic localchars
モードになっているか、
.Dv LINEMODE
が有効になっている場合に
.Ic suspend
文字が入力されると、
.Dv TELNET SUSP
シーケンス(前述の
.Ic send
.Ic susp
を参照)が
リモートホストに送られます。
初期値として、端末の
.Ic suspend
文字が使われます。
.It Ic tracefile
これは
.Ic netdata
あるいは
.Ic option
によって
トレースが
.Dv TRUE
になっている場合に、出力が書き出されるファイルです。
もし
.Dq Fl
に設定されていれば、
トレース情報は標準出力(デフォルト)に書き出されます。
.It Ic worderase
.Nm
.Dv LINEMODE
\*(Lqold line by line\*(Rq モードで動作している時に、端末の
.Ic worderase
文字がこの文字として使われます。
初期値として、端末の
.Ic worderase
文字が使われます。
.It Ic \&?
.Ic set
.Pq Ic unset
コマンドのヘルプメッセージを表示します。
.El
.It Ic slc Ar state
.Ic slc
(Set Local Characters) コマンドは、
.Dv TELNET LINEMODE
オプションが有効な時に働く特殊文字を設定したり変更したりします。
特殊文字は(
.Ic ip
.Ic quit
のような)
.Tn TELNET
コマンドシーケンスや、(
.Ic erase
.Ic kill
のような)
ラインエディット文字に割り付けられます。
特殊文字はデフォルトで環境に取り込まれます。
.Bl -tag -width Fl
.It Ic check
現在の特殊文字の設定を確認します。
現在の全ての特殊文字の設定を送るように
リモートに要求を送り、
もしローカルな設定と違いがあれば、
ローカルな設定をリモートの値にします。
.It Ic export
ローカルの特殊文字のデフォルトを変えます。
ローカルの特殊文字のデフォルトは
.Nm
を起動した時の端末の特殊文字です。
.It Ic import
リモートの特殊文字のデフォルトを変えます。
リモートの特殊文字のデフォルトは
.Tn TELNET
接続が確立した時のリモートの特殊文字です。
.It Ic \&?
.Ic slc
コマンドのヘルプメッセージを表示します。
.El
.It Ic status
.Nm
の現在のステータスを表示します。
これには現在のモードと同じくらい接続先のモードについての状態が含まれています。
.It Ic toggle Ar arguments ...
.Nm
の動作を制御するさまざまな変数の値(
.Dv TRUE
.Dv FALSE
) を切替えます。
この変数は前述の
.Ic set
.Ic unset
を使って明示的に
.Dv TRUE
または
.Dv FALSE
に設定できます。複数の引数を指定可能です。
これらの変数の値は
.Ic display
コマンドによって調べることができます。
有効な引数の値は以下の通りです。
.Bl -tag -width Ar
.It Ic authdebug
認証コードに対するデバッグ情報を有効にする。
.It Ic autoflush
.Ic autoflush
.Ic localchars
が両方とも
.Dv TRUE
で、
.Ic ao
または
.Ic quit
文字が設定されている(そして
.Tn TELNET
シーケンスに変換されている;
詳細は前述の
.Ic set
を参照)場合、
リモートシステムが(
.Dv TELNET TIMING MARK
によって)
それらの
.Tn TELNET
シーケンスを処理したと認められるまで、
.Nm
がどんなデータも端末に表示しないようにします。
初期値は、端末で "stty noflsh" を実行していなければ
.Dv TRUE
、 していれば
.Dv FALSE
です(
.Xr stty 1
参照)。
.It Ic autodecrypt
.Dv TELNET ENCRYPT
オプションが交渉 (negotiate) されている時、デフォルトでは
データの暗号(復号)化は自動的には始まりません。
autoencrypt (autodecrypt) コマンドは
出力 (入力) の暗号化ができるだけ早く有効になるようにします。
.Pp
注意: 輸出規制の関係上、
.Dv TELNET ENCRYPT
オプションは、米国およびカナダ以外の国ではサポートされません。
.It Ic autologin
もしリモートで
.Dv TELNET AUTHENTICATION
オプションがサポートされている場合、
.Nm
は自動認証を行うために、それを使おうとします。
.Dv AUTHENTICATION
オプションがサポートされていない場合、
ログイン名は
.Dv TELNET ENVIRON
オプションを使用して伝えられます。
このコマンドは
.Ic open
コマンドで
.Fl a
オプションが指定された場合と同じです。
.It Ic autosynch
.Ic autosynch
.Ic localchars
が両方とも
.Dv TRUE
になっている時に
.Ic intr
または
.Ic quit
文字が入力されると(
.Ic intr
および
.Ic quit
文字の詳細は前述の
.Ic set
を参照)、
.Tn TELNET
シーケンスが送られた結果は
.Dv TELNET SYNCH
に従います。
これは、リモートシステムに、
両方の
.Tn TELNET
シーケンスが読み込まれて作用するまで、
それまでの全ての入力を捨てさせる
.Ic べき
です。
初期値は
.Dv FALSE
です。
.It Ic binary
入力と出力の両方に対して、
.Dv TELNET BINARY
オプションを有効または無効にします。
.It Ic inbinary
入力に対する
.Dv TELNET BINARY
オプションを有効または無効にします。
.It Ic outbinary
出力に対する
.Dv TELNET BINARY
オプションを有効または無効にします。
.It Ic crlf
もし
.Dv TRUE
なら、キャリッジリターンが
.Li <CR><LF>
として送られます。
.Dv FALSE
なら
.Li <CR><NUL>
として送られます。
初期値は
.Dv FALSE
です。
.It Ic crmod
キャリッジリターンモードを切替えます。
このモードが有効なら
リモートホストから受けとられたほとんどのキャリッジリターンは
キャリッジリターンとラインフィードに割り当てられます。
このモードはこれらの文字が入力された時には作用せず、
受けとらえた時にだけ作用します。
このモードはリモートホストがキャリッジリターンだけを送らなければ、
ラインフィードしないので、必ず役に立つというわけではありません。
初期値は
.Dv FALSE
です。
.It Ic debug
ソケットレベルデバッグ(
.Ic スーパユーザ
にのみ役立つ) を切替えます。
初期値は
.Dv FALSE
です。
.It Ic encdebug
暗号化コードに対するデバッグ情報を有効にする。
.It Ic localchars
もし
.Dv TRUE
ならば、
.Ic flush ,
.Ic interrupt ,
.Ic quit ,
.Ic erase ,
そして
.Ic kill
文字(前述の
.Ic set
参照)はローカルに認識され、(うまくいけば)適当な
.Tn TELNET
コントロールシーケンス(それぞれ
.Ic ao ,
.Ic ip ,
.Ic brk ,
.Ic ec ,
および
.Ic el ;
前述の
.Ic send
参照)に変換されます。
初期値は
\*(Lqold line by line\*(Rq モードでは
.Dv TRUE
\*(Lqcharacter at a time\*(Rq モードでは
.Dv FALSE
です。
.Dv LINEMODE
オプションが有効の時は、
.Ic localchars
の値は無視されて、常に
.Dv TRUE
になります。
もし
.Dv LINEMODE
が有効になったことがあれば、
.Ic quit
.Ic abort
として送られ、
.Ic eof and
.Ic suspend
.Ic eof and
.Ic susp
として送られます
(前述の
.Ic send
参照)。
.It Ic netdata
(16進フォーマットによる)全てのネットワークデータの表示を切替えます。
初期値は
.Dv FALSE
です。
.It Ic options
(
.Tn TELNET
オプションを処理する時の) 内部の
.Nm
プロトコルの処理の表示を切替えます。
初期値は
.Dv FALSE
です。
.It Ic prettydump
.Ic netdata
が有効になっている時、
.Ic prettydump
が有効になっていれば、
.Ic netdata
コマンドの出力を、より見やすいフォーマットにします。
出力の各文字の間にはスペースがはさまれ、
.Nm
エスケープシーケンスの前には、
探しやすいように '*' が置かれます。
.It Ic skiprc
skiprc が
.Dv TRUE
になっていると、
.Nm
はコネクションが開設される時に
ホームディレクトリから
.Pa \&.telnetrc
を読まないようにします。
初期値は
.Dv FALSE
です。
.It Ic termdata
(16進フォーマットによる)全ての端末データの表示を切替えます。
初期値は
.Dv FALSE
です。
.It Ic verbose_encrypt
.Ic verbose_encrypt
.Dv TRUE
になっていると、
.Nm
はメッセージを表示するたびに暗号化が有効か無効かを表示します。
初期値は
.Dv FALSE
です。
注意: 輸出規制の関係上、
データの暗号化は、米国およびカナダ以外の国ではサポートされません。
.It Ic \&?
.Ic toggle
コマンドのヘルプメッセージを表示します。
.El
.It Ic z
.Nm
コマンドをサスペンドします。このコマンドは、ユーザが
.Xr csh 1
を使用している時にのみ使用可能です。
.It Ic \&! Op Ar command
ローカルシステムのサブシェルで、コマンドを1つ実行できます。
.Ar command
が指定されなかった場合、サブシェルが対話モードで起動されます。
.It Ic \&? Op Ar command
ヘルプメッセージを表示します。
引数が指定されなかった場合、
.Nm
はコマンド一覧を表示します。
.Ar command
が指定された場合、
.Nm
はそのコマンドのヘルプメッセージを表示します。
.El
.Sh 環境変数
.Nm
は、少なくとも
.Ev HOME ,
.Ev SHELL ,
.Ev DISPLAY ,
および
.Ev TERM
環境変数を用います。
他の環境変数は、
.Dv TELNET ENVIRON
オプションによりリモートホストに送られます。
.Sh 関連項目
.Xr rlogin 1 ,
.Xr rsh 1 ,
.Xr hosts 5 ,
.Xr nologin 5 ,
.Xr telnetd 8
.Sh 関連ファイル
.Bl -tag -width ~/.telnetrc -compact
.It Pa ~/.telnetrc
ユーザカスタマイズ可能なtelnet初期設定ファイル
.El
.Sh 歴史
.Nm
コマンドは、
.Bx 4.2
ではじめて実装されました。
.Sh 注意
リモートシステムの中には、\*(Lqold line by line\*(Rq モードで
手動でエコーバックを切り替えなければならない場合があります。
.Pp
\*(Lqold line by line\*(Rq モードもしくは
.Dv LINEMODE
では、端末の
.Ic eof
文字は、
それが行の先頭にある時だけ
認識され(リモートシステムに送られ)ます。
diff --git a/ja_JP.eucJP/man/man1/test.1 b/ja_JP.eucJP/man/man1/test.1
index 8fd8cfbc98..6968448942 100644
--- a/ja_JP.eucJP/man/man1/test.1
+++ b/ja_JP.eucJP/man/man1/test.1
@@ -1,220 +1,220 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)test.1 8.1 (Berkeley) 5/31/93
-.\" %Id: test.1,v 1.2.8.2 1998/07/16 09:35:53 jkh Exp %
+.\" %Id: test.1,v 1.6 1998/05/18 06:51:56 charnier Exp %
.\" jpman %Id: test.1,v 1.2 1997/03/31 03:43:49 ryo2 Stab %
.\"
.Dd May 31, 1993
.Dt TEST 1
.Os
.Sh 名称
.Nm test
.Nd 条件式を評価する
.Sh 書式
.Nm test
.Ar expression
.Sh 解説
.Nm
ユーティリティは、式を評価し、結果が真なら 0 (true)を、
偽なら 1 (false) を戻り値として返します。引数の式がない
場合も 1 (false) を返します。
.Pp
演算子やフラグなどは、一つ一つ独立な引数として
.Nm
ユーティリティに渡します。
.Pp
式は以下の基本要素から構成されます:
.Bl -tag -width indent
.It Fl b Ar file
.Ar file
が存在し、それがブロック特殊ファイルであるならば真になります。
.It Fl c Ar file
.Ar file
が存在し、それがキャラクタ特殊ファイルであるならば真になります。
.It Fl d Ar file
.Ar file
が存在し、それがディレクトリであるならば真になります。
.It Fl e Ar file
.Ar file
が存在すれば真になります (ファイルの種類に依りません)。
.It Fl f Ar file
.Ar file
が存在し、それが通常ファイルであるならば真になります。
.It Fl g Ar file
.Ar file
が存在し、それに setgid (フラグが立っていれば真になります。
.It Fl h Ar file
.Ar file
が存在し、それがシンボリックリンクであるならば真になります。
.It Fl n Ar string
.Ar string
の長さが 0 でなければ真になります。
.It Fl p Ar file
.Ar file
が名前つきパイプ
.Po Tn FIFO Pc
であるならば真になります。
.It Fl r Ar file
.Ar file
が存在し、それが読み込み可能であれば真になります。
.It Fl s Ar file
.Ar file
が存在し、そのファイルサイズが 0 より大きければ真になります。
.It Fl t Ar [file_descriptor]
ファイルディスクリプタ番号が
.Ar file_descriptor
(デフォルトでは1) であるファイルがオープンされており、これが端末に
結びつけられていれば
真になります。
.It Fl u Ar file
.Ar file
が存在し、それに setuid フラグが立っていれば真になります。
.It Fl w Ar file
.Ar file
が存在し、書き込み可能であれば真になります。真ということは、
書き込み可能フラグが立っていることを表すに過ぎません。
ファイルが読み込み専用のファイルシステム上にあると、たとえ
この判定が真であっても書き込みはできません。
.It Fl x Ar file
.Ar file
が存在し、実行可能であれば真になります。真ということは、
実行可能フラグが立っていることを表すに過ぎません。
.Ar file
がディレクトリの場合、真は
.Ar file
が検索可能であることを表します。
.It Fl z Ar string
.Ar string
の長さが 0 であれば真になります。
.It Ar string
.Ar string
がナル文字列でなければ真になります。
.It Ar \&s\&1 Cm \&= Ar \&s\&2
文字列
.Ar \&s\&1
.Ar \&s\&2
が同一であれば真になります。
.It Ar \&s\&1 Cm \&!= Ar \&s\&2
文字列
.Ar \&s\&1
.Ar \&s\&2
が同一でなければ真になります。
.It Ar \&n\&1 Fl \&eq Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
が等しければ真になります。
.It Ar \&n\&1 Fl \&ne Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
が等しくなければ真になります。
.It Ar \&n\&1 Fl \&gt Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
がより大きければ真になります。
.It Ar \&n\&1 Fl \&ge Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
より大きいか等しければ真になります。
.It Ar \&n\&1 Fl \&lt Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
より小さければ真になります。
.It Ar \&n\&1 Fl \&le Ar \&n\&2
整数
.Ar \&n\&1
.Ar \&n\&2
より小さいか等しければ真になります。
.El
.Pp
これらの基本要素は以下の演算子と組み合わせることができます:
.Bl -tag -width Ar
.It Cm \&! Ar expression
.Ar expression
が偽ならば真になります。
.It Ar expression1 Fl a Ar expression2
.Ar expression1
.Ar expression2
の両方が真ならば真になります。
.It Ar expression1 Fl o Ar expression2
.Ar expression1
.Ar expression2
のどちらかが真ならば真になります。
.It Cm \&( Ns Ar expression Ns Cm \&)
.Ar expression
が真ならば真になります。
.El
.Pp
.Fl a
演算子は
.Fl o
演算子より優先されます。
.Sh 文法の曖昧性
.Nm
に使用されている文法は本質的に曖昧です。ある程度の一貫性を確保するため、
.St -p1003.2
の D11.2/4.62.4 節で述べられているケースに関しては、この標準化文書が
規定する規則に一貫して従った評価が行われます。しかしその他のケース
では、コマンドの持つ意味の曖昧さに左右されます。
.Sh 戻り値
.Nm
ユーティリティは次のいずれかの値を返します。
.Bl -tag -width Ds
.It 0
式を評価した結果が真である
.It 1
式を評価した結果が偽であるか、式がない
.It >1
エラーが発生した
.El
.Sh 標準
.Nm
の機能は、
.St -p1003.2
互換を想定しています。
diff --git a/ja_JP.eucJP/man/man1/time.1 b/ja_JP.eucJP/man/man1/time.1
index c11bcac695..a4b4023ccc 100644
--- a/ja_JP.eucJP/man/man1/time.1
+++ b/ja_JP.eucJP/man/man1/time.1
@@ -1,92 +1,102 @@
.\" 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.
.\"
.\" @(#)time.1 8.1 (Berkeley) 6/6/93
.\" jpman %Id: time.1,v 1.3 1997/07/27 12:00:02 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt TIME 1
.Os BSD 4
.Sh 名称
.Nm time
.Nd コマンドの実行時間の計測
.Sh 書式
.Nm
-.Op Fl l
+.Op Fl al
+.Op Fl o Ar file
.Ar command
.Sh 解説
.Nm
タイマーを初期化して、シェルに
.Ar command
を実行させ、処理に要した時間を計測します。
.Ar command
の実行を終えると、
標準エラー出力に
実行開始から実際に経過した時間、
システムのオーバヘッドに費された時間、
.Ar command
の実行に要した時間を秒単位で
出力します。
.Pp
使用可能なオプション:
.Bl -tag -width Ds
+.It Fl a
+.Fl o
+が使用されている場合、上書きするのではなく、指定されたファイルに追加します。
+.Fl o
+が使用されていない場合には、このオプションは効果ありません。
.It Fl l
デフォルトの出力に加え、
.Em rusage
構造体の内容を表示します。
+.It Fl o Ar file
+出力を標準エラー出力ではなく
+.Ar file
+に対して行います。
+.Ar file
+が存在し、
+.Fl a
+フラグが指定されなかった場合、ファイルは上書きされます。
.El
.Pp
.Xr csh 1
は独自の
.Nm
をビルトインコマンドとして実装しています。
シェルに
.Xr csh
を使用している場合、
ここで説明されている
.Nm
を実行するときは
.Pa /usr/bin/time
とタイプして下さい。
-.Sh バグ
-マイクロプロセッサで扱える時間の精度は低く、
-また、表示される時間には、実行時間の報告自体に要する時間も含まれます。
-この誤差は、秒単位にしては大きすぎます。
.Sh 関連項目
.Xr csh 1 ,
.Xr getrusage 2 ,
.Xr wait 2
.Sh 歴史
.Nm
.At v6
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/top.1 b/ja_JP.eucJP/man/man1/top.1
index 2010490cf4..1614f82dba 100644
--- a/ja_JP.eucJP/man/man1/top.1
+++ b/ja_JP.eucJP/man/man1/top.1
@@ -1,381 +1,382 @@
.\" NOTE: changes to the manual page for "top" should be made in the
.\" file "top.X" and NOT in the file "top.1".
.\" jpman %Id: top.1,v 1.3 1997/08/19 03:06:41 h-nokubi Stab %
.nr N %topn%
.nr D %delay%
.TH TOP 1 Local
.UC 4
.SH 名称
top \- CPU プロセスの上位リストに関する情報を表示/更新する
.SH 書式
.B top
[
.B \-SbiInqut
] [
.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 5
.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
.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 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<swapped>\*(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 システムイメージ
.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 2.x 版
.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/man1/tput.1 b/ja_JP.eucJP/man/man1/tput.1
index 22dfe3daf1..9e07317df2 100644
--- a/ja_JP.eucJP/man/man1/tput.1
+++ b/ja_JP.eucJP/man/man1/tput.1
@@ -1,130 +1,130 @@
.\" 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.
.\"
.\" @(#)tput.1 8.2 (Berkeley) 3/19/94
-.\" %Id: tput.1,v 1.1.1.1.8.3 1998/03/08 14:04:57 jkh Exp %
+.\" %Id: tput.1,v 1.3 1997/04/27 08:45:46 jmg Exp %
.\" jpman %Id: tput.1,v 1.3 1997/08/11 14:35:00 horikawa Stab %
.\"
.Dd March 19, 1994
.Dt TPUT 1
.Os BSD 4.4
.Sh 名称
.Nm tput
.Nd 端末属性を利用するためのインタフェース
.Sh 書式
.Nm tput
.Op Fl T Ar term
.Ar attribute
.Sh 解説
.Nm
コマンドは、端末の属性情報を取り出して、ユーザやシェルアプリケーションから
利用できるようにします。
オプションは、次の通りです。
.Bl -tag -width Ds
.It Fl T
.Xr termcap
データベースの中の端末名 (
.Dq vt100
.Dq xterm
) を指定します。
端末名が指定されない場合には、環境変数
.Dq Ev TERM
の内容を参照します。
.El
.Pp
.Ar attribute
で指定する端末属性が文字列型の場合、
.Nm
コマンドはその文字列を出力します。
端末属性が整数型の場合、その数値を出力します。
どちらでもなければ
.Nm
は余分な動作をせずに、
端末が属性を持っているなら 0 、そうでないなら 1 を
終了コードにして終了します。
.Pp
.Ar attribute
が文字列型で引数を取る場合 (例えばカーソル移動 : termcap の
.Dq cm
シーケンス) には、引数は属性名 (attribute) のすぐ後ろから取られます。
.Pp
次の属性は、特別な意味を持っています。
.Bl -tag -width Ar
.It clear
画面をクリアします (
.Xr termcap
.Dq cl
シーケンス)
.It init
端末を初期化します (
.Xr termcap
.Dq is
シーケンス)
.It longname
ユーザの端末タイプの詳細名称を表示します。
.It reset
端末をリセットする (
.Xr termcap
.Dq rs
シーケンス)
.Sh 診断
.Nm
の終了コードは、最後に指定された属性 (attribute) によります。
属性が文字列型か整数型なら、
端末に属性が定義されていたら 0 、定義されていなければ 1 で終了します。
属性が論理型なら、
端末がこの属性を持っていたら 0 、持っていなければ 1 で終了します。
何かエラーが起きた場合、
.Nm
コマンドは 2 で終了します。
.Sh 関連項目
.Xr termcap 3 ,
.Xr termcap 5
.Sh バグ
.Nm
は属性毎の正しい型を知っているわけではありません。
.Pp
termcap エントリによっては
.Sq %
のみからなる
.Sq %
を持つことに依存しているものがあります。
現在、有効なタイプ宣言を持たないものに関しては警告を発っします。
これらの警告は標準エラー出力へと送られます。
.Sh 歴史
.Nm
コマンドは、
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/tty.1 b/ja_JP.eucJP/man/man1/tty.1
index bb0cfa11d4..37b08a2aba 100644
--- a/ja_JP.eucJP/man/man1/tty.1
+++ b/ja_JP.eucJP/man/man1/tty.1
@@ -1,78 +1,78 @@
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)tty.1 8.1 (Berkeley) 6/6/93
-.\" %Id: tty.1,v 1.2.2.1 1997/08/20 07:22:28 charnier Exp %
+.\" %Id: tty.1,v 1.5 1997/08/18 07:30:14 charnier Exp %
.\" jpman %Id: tty.1,v 1.2 1997/03/29 11:52:12 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt TTY 1
.Os
.Sh 名称
.Nm tty
.Nd 端末名を返す
.Sh 書式
.Nm
.Op Fl s
.Sh 解説
.Nm
は、標準入力になっている端末の名前を標準出力へ出力します。この名前は、
.Xr ttyname 3
で得られる文字列です。標準入力が端末でない場合は、
``not a tty'' と出力します。
オプションとしては以下のものがあります。
.Bl -tag -width Ds
.It Fl s
端末名を表示しません。結果は終了コードだけに反映されます。ただし、この
オプションを使うよりは
.Dq Li "test -t 0"
コマンドを使ったほうがよりよいでしょう。
.El
.Pp
.Nm
は標準入力が端末だった場合は 0 を、端末でなかった場合
は 1 を、エラーが起きた場合は 2 以上の値を返します。
.Sh 関連項目
.Xr test 1 ,
.Xr ttyname 3
.Sh 規格
.Nm
ユーティリティは
.St -p1003.2-92
準拠であると考えられています。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/uniq.1 b/ja_JP.eucJP/man/man1/uniq.1
index 9068d0e731..b7d8ffd57d 100644
--- a/ja_JP.eucJP/man/man1/uniq.1
+++ b/ja_JP.eucJP/man/man1/uniq.1
@@ -1,132 +1,132 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" From: @(#)uniq.1 8.1 (Berkeley) 6/6/93
-.\" %Id: uniq.1,v 1.1.1.1.8.2 1998/03/08 14:07:56 jkh Exp %
+.\" %Id: uniq.1,v 1.3 1997/09/07 15:09:22 joerg Exp %
.\" jpman %Id: uniq.1,v 1.2 1997/03/29 11:56:16 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt UNIQ 1
.Os
.Sh 名称
.Nm uniq
.Nd ファイル内の重複行の報告または、フィルタ出力
.Sh 書式
.Nm
.Op Fl c | Fl d | Fl u
.Op Fl i
.Op Fl f Ar fields
.Op Fl s Ar chars
.Oo
.Ar input_file
.Op Ar output_file
.Oc
.Sh 解説
.Nm
ユーティリティは、標準入力を読み込み、隣り合う行同士を比較し、
重複した行を取り除いて標準出力へ書き込みます。
隣り合った行が同じ内容だったら 2 行目以降を出力しません。
同じ内容でも行が隣り合っていない場合は比較の対象になりませんので、
まずファイルをソートする事が必要になるかもしれません。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width Ds
.It Fl c
各出力行の先頭に、行が入力中に続けて出現した回数を表示し、空白一つあけて
その行の内容を表示します。
.It Fl d
重複した行のみを出力します。
.It Fl f Ar fields
比較する時に、各入力行の先頭から
.Ar fields
個のフィールドを無視します。
フィールドとは、空白文字で区切られた、空白以外の文字からなる文字列です。
.Ar fields
を指定するときは、最初のフィールドを 1 として数えます。
.It Fl s Ar chars
比較する時に、各入力行の先頭から
.Ar chars
文字を無視します。
本オプションを
.Fl f
オプションと一緒に指定した場合は、
.Ar fields
個のフィールドに続く
.Ar chars
文字が無視されます。
.Ar chars
を指定するときは、最初の文字を 1 として数えます。
.It Fl u
入力の重複がなかった行のみを出力します。
.It Fl i
行の比較において大文字小文字を区別しません。
.\".It Fl Ns Ar n
.\"(Deprecated; replaced by
.\".Fl f ) .
.\"Ignore the first n
.\"fields on each input line when doing comparisons,
.\"where n is a number.
.\"A field is a string of non-blank
.\"characters separated from adjacent fields
.\"by blanks.
.\".It Cm \&\(pl Ns Ar n
.\"(Deprecated; replaced by
.\".Fl s ) .
.\"Ignore the first
.\".Ar m
.\"characters when doing comparisons, where
.\".Ar m
.\"is a
.\"number.
.El
.Pp
コマンドラインにさらに引数が指定されると、その最初の引数を入力ファイルの
名前として使用し、その次の引数を出力ファイルの名前として使用します。
.Pp
.Nm
ユーティリティは、成功した場合は 0 を、
エラーが発生した場合は 0 より大きな値を返します。
.Sh 互換性
古くからある
.Cm \&\(pl Ns Ar number
.Fl Ns Ar number
のオプションは時代遅れですが、この実装ではまだサポートしています。
.Sh 関連項目
.Xr sort 1
.Sh 規格
.Nm
ユーティリティは、
.St -p1003.2
互換であるはずです。
diff --git a/ja_JP.eucJP/man/man1/units.1 b/ja_JP.eucJP/man/man1/units.1
index f250a9432f..46e047bec9 100644
--- a/ja_JP.eucJP/man/man1/units.1
+++ b/ja_JP.eucJP/man/man1/units.1
@@ -1,160 +1,160 @@
-.\" %Id: units.1,v 1.2.2.3 1998/07/17 07:25:36 jkh Exp %
+.\" %Id: units.1,v 1.7 1998/03/23 07:46:50 charnier Exp %
.\" jpman %Id: units.1,v 1.3 1997/07/21 09:42:33 konuma Stab %
.Dd July 14, 1993
.Dt UNITS 1
.Os
.Sh 名称
.Nm units
.Nd いろいろな単位の換算を行う
.Sh 書式
.Nm
.Op Fl f Ar filename
.Op Fl qv
.Op Ar to-unit from-unit
.Sh まとめ
.Bl -tag -width indent
.It Fl f Ar filename
単位換算用のデータファイル名を指定します。
.It Fl q
求める単位の入力プロンプトと、
換算する単位の入力プロンプトの表示を抑制します。
.It Fl v
バージョン番号を表示します。
.It Ar from-unit to-unit
コマンドラインから直接、単位換算を行ないます。
プロンプトは表示せず、
指定した換算結果を表示し終了します。
.Sh 解説
.Nm
プログラムは様々な単位で表された量を他の単位に換算します。
乗算で求められる単位の換算のみ行なえますが、
摂氏から華氏への変換などはできません。
入力プロンプトを介して、対話的に動作します。
.Bd -literal
You have: meters
You want: feet
* 3.2808399
/ 0.3048
You have: cm^3
You want: gallons
* 0.00026417205
/ 3785.4118
You have: meters/s
You want: furlongs/fortnight
* 6012.8848
/ 0.00016630952
You have: 1|2 inch
You want: cm
* 1.27
/ 0.78740157
.Ed
.Pp
単位の中で累乗を表す部分は、上の例のように `^' を用いて表すか、
あるいは単に連結して表記します。例えば `cm3' は `cm^3' と等価です。
単位の掛け算を表すには、空白、ダッシュあるいはアスタリスクを用います。
単位の割り算には `/' を用います。
掛け算は割り算より高い優先度を持ちますから、
`m/s/s' は `m/s^2' あるいは `m/s s' と同じ意味になります。
数値の割り算には縦棒(`|')を用いなければなりません。
例えば 1 メートルの半分を変換するには、`1|2 meter' と書きます。
もし `1/2 meter' と書くと、
.Nm
はそれを `0.5/meter' と解釈します。
換算できない単位型を指定すると、
.Nm
はそれに対応していない旨の
メッセージを表示し、各単位の簡略形を示します。
.Bd -literal
You have: ergs/hour
You want: fathoms kg^2 / day
conformability error
2.7777778e-11 kg m^2 / sec^3
2.1166667e-05 kg^2 m / sec
.Ed
.Pp
換算に必要な情報は、換算用データベースファイルから読み込まれます。
デフォルトのファイルには、よく用いられる単位のほとんど、
省略形、メートル法の接頭語、などの定義が含まれています。
以下のような自然定数もいくつか含まれています:
.Pp
.Bl -inset -offset indent -compact
.It pi 円周率
.It c 光速
.It e 電子の電荷
.It g 重力加速度
.It force g と同じ
.It mole アボガドロ数
.It water 単位水柱の圧力
.It mercury 単位水銀柱の圧力
.It au 天文単位
.El
.Pp
`pound' (ポンド) は質量の単位です。
複合した単位名は連結して記述します。
`poundforce' は力の単位です。
`ounce' (オンス) もまた質量の単位です。
液体のオンスは `floz' です。
英米で同じ単位の値が異なる場合、英国式単位の前に `br' を付けます。
通貨単位の場合には `belgiumfranc' や `britainpound' のように頭に国名を付けて区
別します。
単位を探す際に指定された文字列そのものが単位名として見つからない場合、
.Nm
は末尾の `s' や `es' を取り除いて再度チェックします。
.Pp
どのような単位が利用可能か、については、標準の単位ファイルを参照して
下さい。
独自の単位を追加したいなら、独自のファイルを指定できます。
単位の指定は、1 行に名前とそれに相当する量を書きます。
新しい単位は古い単位に基づいて定義し、
単位を変換していくと `!' 印を付した原始単位にたどりつく
ように注意してください。
不注意で単位定義に無限ループがあっても
.Nm
はそれを検知しません。
単位定義ファイル中において `/' で始まる行はコメントです。
.Pp
接頭語の定義も標準的な単位と同形式で行ないますが、
接頭語名の末尾にダッシュをつけます。
末尾の `s' や `es' を取り除いても、単位名として見つからない場合は、
接頭語かどうかがチェックされ、
接頭語を取り除くと有効な基本単位名となるかを調べます。
.Pp
基本的な単位を定義する簡単な単位ファイルの例を以下に示します。
.Pp
.Bl -inset -offset indent -compact
.It m !a!
.It sec !b!
.It micro- 1e-6
.It minute 60 sec
.It hour 60 min
.It inch 0.0254 m
.It ft 12 inches
.It mile 5280 ft
.El
.Sh バグ
.Pp
接頭語に `/' が含まれるとびっくりする結果を生みます。
.Pp
ユーザが入力する累乗部分は 1 桁でなければなりません。
必要なら何度か掛け合わせて下さい。
.Pp
数の除算には `|' を用い、シンボルの除算には `/' を用いなければなりませんが、
このような区別は不要にすべきです。
.Pp
このプログラムは、換算した表示桁数の制限がばらばらですし、
データファイルの長さにも制限があります。
.Pp
単位を格納するのにハッシュ表を用い、
単位表のロードと重複チェックの時間を軽減すべきです。
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/units.lib -compact
.It Pa /usr/share/misc/units.lib
標準単位ライブラリ
.El
.Sh 作者
.An Adrian Mariano Aq adrian@cam.cornell.edu
diff --git a/ja_JP.eucJP/man/man1/uucp.1 b/ja_JP.eucJP/man/man1/uucp.1
index 0e5019e19f..4bdd590c65 100644
--- a/ja_JP.eucJP/man/man1/uucp.1
+++ b/ja_JP.eucJP/man/man1/uucp.1
@@ -1,218 +1,218 @@
-''' %Id: uucp.1,v 1.4 1995/08/19 21:30:08 ache Exp %
+''' %Id: uucp.1,v 1.6 1997/02/22 15:28:40 peter Exp %
.\" jpman %Id: uucp.1,v 1.3 1997/08/19 00:44:58 h-nokubi Stab %
.TH uucp 1 "Taylor UUCP 1.06"
.SH 名称
uucp \- Unix 間のコピー
.SH 書式
.B uucp
[ options ] source-file destination-file
.PP
.B uucp
[ options ] source-file... destination-directory
.SH 解説
.I uucp
コマンドはシステム間でのファイルのコピーを行います。各
.I file
引数は、ローカルマシンのパス名か、
.IP
system!path
.LP
の形式のリモートシステムのファイル名のどちらかになります。
第一の書式では、最初のファイルの内容が二番目のファイルにコピーされます。
第二の書式では、全てのソースファイルが宛先ディレクトリにコピーされます。
.I system1
経由で
.I system2
へ、あるいは、
.I system1
経由で
.I system2
から転送されるファイルは、
.IP
system1!system2!path
.LP
という形で表す事ができます。
.B \-W
あるいは
.B \--noexpand
オプションがなければ、/ あるいは ~ で始まらないパス名はその前に
カレントディレクトリのパス名が付けられます。
このパスはリモートシステムに存在している必要はありません。~ のみで始まる
パス名は UUCP パブリックディレクトリと解釈され、~name で始まる
パス名は name というユーザのホームディレクトリと
解釈されます。~ は、適切なシステムで解釈されます。ある種のシェルは、~ を
.I uucp
が解釈する前にローカルのホームディレクトリと解釈してしまいます。
これを避けるためには、~ をクォートしなければいけません。
シェルのメタキャラクタの ? * [ ] は、ローカルのシェルが解釈して
しまわない様にクォートされていれば、適切なシステムで解釈されます。
実際のコピーはすぐには実行されず、
.I uucico
(8) デーモンのキューに蓄積されます。
.B \-r
あるいは
.B \-\-nouucico
オプションがなければ、デーモンはすぐに実行されます。いずれの場合も、
次にリモートシステムが呼び出された時にファイルがコピーされます。
.SH オプション
以下のオプションが
.I uucp
で使用可能です。
.TP 5
.B \-c, \-\-nocopy
ローカルファイルをスプールディレクトリにコピーしません。
もし、
.I uucico
(8) デーモンにより実際のコピーを行う前に、そのローカルファイルが
消去されてしまった場合、コピーは失敗します。
ファイルは
.I uucico
(8) デーモンと
.I uucp
を起動したユーザの両者から read 可能でなければなりません。
.TP 5
.B \-C, \-\-copy
ローカルファイルをスプールディレクトリにコピーします。
デフォルトはこの設定です。
.TP 5
.B \-d, \-\-directories
コピーを行う際に、必要な全てのディレクトリを作成します。
デフォルトはこの設定です。
.TP 5
.B \-f, \-\-nodirectories
もし、宛先パスに必要なディレクトリが存在しなければコピーを中止します。
.TP 5
.B \-R, \-\-recursive
ソースファイルにひとつでもディレクトリが含まれていた場合、その中身を
再帰的に宛先にコピーします。宛先は、ディレクトリでなければいけません。
.TP 5
.B \-g grade, \-\-grade grade
ファイル転送の優先度を指定します。高い優先度を持つジョブが
先に実行されます。優先度は、高い方から 0 ... 9 A ... Z a ... z
となっています。
.TP 5
.B \-m, \-\-mail
.I mail
(1) を使用して、ファイル転送の完了あるいは失敗を通知します。
.TP 5
.B \-n user, \-\-notify user
.I mail
(1) を使用して、リモートシステムの指定されたユーザに
ファイル転送の完了あるいは失敗を通知します。
.TP 5
.B \-r, \-\-nouucico
.I uucico
(8) デーモンを即時実行しません。後で処理されるように単にファイル転送をキューに
貯めるだけです。
.TP 5
.B \-j, \-\-jobid
ジョブの id を標準出力に表示します。ジョブの id を
.I uustat
(1) コマンドの
.B \-k
スイッチとともに指定する事により、ジョブを取り消す事ができます。
複雑な操作をした場合、複数のジョブ id がそれぞれ独立の行として
表示される場合があります。例えば、
.br
.in +0.5i
.nf
uucp sys1!~user1/file1 sys2!~user2/file2 ~user3
.fi
.in -0.5i
を実行するとシステム
.I sys1
向けのジョブと、システム
.I sys2
向けのジョブの二つのジョブが発生します。
.TP 5
.B \-W, \-\-noexpand
リモートの相対ファイル名の前にカレントディレクトリを補完しません。
.TP 5
.B \-t, \-\-uuto
このオプションは
.I uuto
シェルスクリプトにより使用されます。このオプションがあると、
.I uucp
は、最後の引数を
.I system!user
と解釈します。
ファイルはリモートシステムの
.I ~/receive/USER/LOCAL
に送られます。ここで、
.I USER
は最後の引数の user で、
.I LOCAL
は、ローカルの UUCP システム名です。
更に、
.I uucp
.I \-\-notify user
オプションが指定されたとみなして動作します。
.TP 5
.B \-x type, \-\-debug type
特定のデバッグタイプを指定します。タイプとしては、
abnormal、chat、handshake、uucp-proto、proto、port、
config、spooldir、execute、incoming、outgoing があります。
.I uucp
では、
abnormal、config、spooldir および execute だけが意味を持ちます。
コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
.B \-\-debug
オプションは、1回のコマンド起動で複数回指定可能です。
また、タイプとして数字を指定することも可能で、前述のリストから
指定した数のデバッグタイプを有効にします。
例えば、
.B \-\-debug 2
は、
.B \-\-debug abnormal,chat
と同じ意味です。
.TP 5
.B \-I file, \-\-config file
使用する初期設定ファイルを指定します。
ただし、本オプションが使用可能かどうかは、
.I uucp
がどのようにコンパイルされたかによります。
.TP 5
.B \-v, \-\-version
バージョンを表示し、終了します。
.TP 5
.B \-\-help
ヘルプを表示し、終了します。
.SH 関連ファイル
関連ファイル名は、コンパイル時の指定ないしは初期設定ファイルにより
変化します。以下に挙げるものは、その一例です。
.br
/etc/uucp/config - 初期設定ファイル
.br
/var/spool/uucp -
UUCP スプールディレクトリ
.br
/var/spool/uucp/Log -
UUCP ログファイル
.br
/var/spool/uucppublic -
デフォルトの UUCP パブリックディレクトリ
.SH 関連項目
mail(1), uux(1), uustat(1), uucico(8)
.SH バグ
オプションのいくつかは、リモートシステムの
.I uucico
(8) デーモンによっては使用できません。
.I \-n
および
.I \-m
オプションは、ファイルをリモートシステムから別のリモートシステムへ
転送する場合は動作しません。
実行ビットを除いて、ファイルのモードは保存されません。転送されたファイルの
所有者は uucp ユーザになります。
.SH 作者
Ian Lance Taylor
<ian@airs.com>
diff --git a/ja_JP.eucJP/man/man1/uuencode.1 b/ja_JP.eucJP/man/man1/uuencode.1
index 655b4faa90..1807b42995 100644
--- a/ja_JP.eucJP/man/man1/uuencode.1
+++ b/ja_JP.eucJP/man/man1/uuencode.1
@@ -1,145 +1,145 @@
.\" 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.
.\"
.\" @(#)uuencode.1 8.1 (Berkeley) 6/6/93
-.\" %Id: uuencode.1,v 1.3.2.2 1998/03/08 14:29:22 jkh Exp %
+.\" %Id: uuencode.1,v 1.7 1998/01/25 19:26:05 wosch Exp %
.\" jpman %Id: uuencode.1,v 1.2 1997/03/29 11:57:08 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt UUENCODE 1
.Os BSD 4
.Sh 名称
.Nm uuencode ,
.Nm uudecode
.Nd バイナリファイルのエンコード、デコード
.Sh 書式
.Nm uuencode
.Op Ar file
.Ar name
.Nm uudecode
.Op Fl cips
.Op Ar
.Sh 解説
.Nm uuencode
および
.Nm uudecode
.Tn ASCII
データ以外のデータ転送をサポートしてない伝送路を用いてバイナリファイル
を送る場合に用いられます。
.Pp
.Nm uuencode
.Ar file
(無指定時には標準入力) よりデータを読み込み、符号化されたデータを標準
出力へ出力します。出力データには、
.Tn ASCII
キャラクタしか含まれません。また、このデータには、
.Nm uudecode
を用いて元のファイルを復元する時に必要となるファイルのモードと
.Ar name
が含まれます。
.Pp
.Nm uudecode
.Em uuencode
によって生成されたファイル (もしくは、標準入力からのデータ) を元の形式
に変換します。生成されるファイルは、
.Nm uudecode
時に指定された名前 (
.Ar name
) になり、ファイルモードなどは変換前のものが採用されま
すが、setuid ビットと実行ビットは引き継がれません。本プログラムは
.Nm uuencode
された部分の前および後ろにいかなる情報が付加されていようと、それらを無視して
.Nm uuencode
された部分にのみ処理をかけます。
.Pp
以下のオプションを
.Nm uudecode
で使用可能です:
.Bl -tag -width ident
.It Fl c
.Ar file
から、可能であるならば複数の uuencode されたファイルをデコードします。
.It Fl i
ファイルの上書きをしません。
.It Fl p
.Ar file
をデコードし、標準出力に出力します。
.It Fl s
出力パス名をベース名に縮めません。
セキュリティのために、デフォルトでは
.Nm uuencode
は最後のスラッシュ '/' より前のプレフィックスを除去します。
.Sh 使用例
ソースツリーを compress し、uuencode し、別のシステムにメールで送る例を
以下に示します。
.Nm uudecode
が転送される側のシステムで実行されると、
``src_tree.tar.Z'' が生成されます。
このファイルはその後 uncompress され、元のツリーが展開されるでしょう。
.Pp
.Bd -literal -offset indent -compact
tar cf \- src_tree \&| compress \&|
uuencode src_tree.tar.Z \&| mail sys1!sys2!user
.Ed
以下の例では、すべての uuencode されたファイルを、
あなたのメールボックスから現在の作業ディレクトリへ展開します。
.Pp
.Bd -literal -offset indent -compact
uudecode -c < $MAIL
.Ed
以下の例では、compress された tar アーカイブをあなたのメールボックスから
展開します。
.Pp
.Bd -literal -offset indent -compact
uudecode -p < $MAIL | zcat | tar xfv -
.Ed
.Sh 関連項目
.Xr basename 1 ,
.Xr compress 1 ,
.Xr mail 1 ,
.Xr uucp 1 ,
.Xr uuencode 5
.Sh バグ
符号化されたファイルの大きさは、元のファイルの大きさに比較して 35% ほ
ど大きくなります。これは、3byte のデータを 4byte + 制御符号に変換する
ためです。
.Sh 歴史
.Nm uuencode
および
.Nm uudecode
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/uulog.1 b/ja_JP.eucJP/man/man1/uulog.1
index e0b6368260..f80bc34525 100644
--- a/ja_JP.eucJP/man/man1/uulog.1
+++ b/ja_JP.eucJP/man/man1/uulog.1
@@ -1,86 +1,86 @@
-''' %Id: uulog.1,v 1.1.2.1 1998/03/16 15:11:49 hoek Exp %
+''' %Id: uulog.1,v 1.2 1998/03/16 15:07:50 hoek Exp %
.TH uulog 1 "Taylor UUCP 1.06"
.SH 名称
uulog \- UUCP のログの記述を表示する
.SH 書式
.B uulog
[-#] [-n lines] [-sf system] [-u user] [-DSF] [--lines lines]
[--system system] [--user user] [--debuglog] [--statslog]
[--follow] [--follow=system] [standard UUCP options]
.SH 解説
.B uulog
プログラムは UUCP ログファイル中の記述を表示するために使われます。特定の
システム、もしくは特定のユーザに関する記述を選択することができます。この
プログラムを使うことで、過去に処理行列に投入したジョブに何が起ったのかを
調べることができます。
.SH オプション
.B uulog
には次のオプションを与えることができます。
.TP 5
.B \-#, \-n lines, \-\-lines lines
ここで `#' は数字で、たとえば `-10' などと指定します。ログファイルの最後
から、指定された行数が表示されます。デフォルトではファイル全てを表示しま
す。`-f'、`-F' もしくは `--follow' オプションを指定した場合は例外で、こ
の場合にはデフォルトで 10 行表示します。
.TP 5
.B \-s system, \-\-system system
指定されたシステムに関係する記述のみを表示します。
.TP 5
.B \-u user, \-\-user user
指定されたユーザに関係する記述のみを表示します。
.TP 5
.B \-D, \-\-debuglog
デバッグログファイルを表示します。
.TP 5
.B \-S, \-\-statslog
統計ログファイルを表示します。
.B \-F, \-\-follow
オプションを指定するとログファイルを永遠に表示し続けます。ログファイルに
新しい行が追加されると、それを表示します。
.TP 5
.B \-f system, \-\-follow=system
ログファイルを永遠に表示し続けます。ただし、指定されたシステムに関する記
述のみを表示します。
.TP 5
.B \-X type
.TP 5
.B \-\-debug type
.TP 5
.B \-I file
.TP 5
.B \-\-config file
.TP 5
.B \-v, \-\-version
.TP 5
.B \-\-help
標準的な UUCP オプションです。
ただし
.B uulog
はデバッグ種別を指定するのに一般の `-x' ではなく `-X' を使うことに注意し
てください。
.PP
ある程度
.B uulog
の操作は UUCP プログラムによって生成されるログファイルの形式に依存します。
これはコンパイル時にオプションで指定されます。
UUCP プログラムが HDB 形式のログファイルを用いるようにコンパイルされてい
た場合
.BB uulog
は以下のように変更します。
.PP
新しいオプション `-x' と `--uuxqtlog' は
.B uuxqt
ログファイルを表示するのに使われます。
.PP
全てのオプションを省略することはできません。
`--system'、 `-f'、 `--follow=system'、 `-D'、 `--debuglog'、 `-S'、
`--statslog'、 `-x' もしくは `--uuxqtlog' のうち一つは用いられなければな
りません。
.PP
システムに関係なく全てのログファイルを表示するために `--system ANY' オプ
ションを用いることができます。
.SH 関連項目
uucp(1)
.SH 作者
Ian Lance Taylor (ian@airs.com)
このマニュアルは Taylor UUCP 1.06 texinfo ドキュメントに基づいています。
diff --git a/ja_JP.eucJP/man/man1/uustat.1 b/ja_JP.eucJP/man/man1/uustat.1
index 90b9e96521..170450cc66 100644
--- a/ja_JP.eucJP/man/man1/uustat.1
+++ b/ja_JP.eucJP/man/man1/uustat.1
@@ -1,555 +1,555 @@
-''' %Id: uustat.1,v 1.6 1996/02/02 00:26:06 mpp Exp %
+''' %Id: uustat.1,v 1.8 1997/02/22 15:28:49 peter Exp %
.\" jpman %Id: uustat.1,v 1.2 1997/03/29 11:58:00 horikawa Stab %
.TH uustat 1 "Taylor UUCP 1.06"
.SH 名称
uustat \- UUCP システム状態のチェックや制御を行なう
.SH 書式
.B uustat \-a
.PP
.B uustat \-\-all
.PP
.B uustat
[
.B \-eKRiMNQ ] [
.B \-sS
system ] [
.B \-uU
user ] [
.B \-cC
command ] [
.B \-oy
hours ] [
.B \-B
lines ] [
.B \-\-executions
] [
.B \-\-kill-all
] [
.B \-\-rejuvenate-all
] [
.B \-\-prompt
] [
.B \-\-mail
] [
.B \-\-notify
] [
.B \-\-no-list
] [
.B \-\-system
system ] [
.B \-\-not-system
system ] [
.B \-\-user
user ] [
.B \-\-not-user
user ] [
.B \-\-command
command ] [
.B \-\-not-command
command ] [
.B \-\-older-than
hours ] [
.B \-\-younger-than
hours ] [
.B \-\-mail-lines
lines ]
.PP
.B uustat
[
.B \-kr
jobid ] [
.B \-\-kill
jobid ] [
.B \-\-rejuvenate
jobid ]
.PP
.B uustat \-q [
.B \-sS
system ] [
.B \-oy
hours ] [
.B \-\-system
system ] [
.B \-\-not-system
system ] [
.B \-\-older-than
hours ] [
.B \-\-younger-than
hours ]
.PP
.B uustat \-\-list [
.B \-sS
system ] [
.B \-oy
hours ] [
.B \-\-system
system ] [
.B \-\-not-system
system ] [
.B \-\-older-than
hours ] [
.B \-\-younger-than
hours ]
.PP
.B uustat \-m
.PP
.B uustat \-\-status
.PP
.B uustat \-p
.PP
.B uustat \-\-ps
.SH 解説
.I uustat
コマンドは、UUCPシステムに関するいろんな情報を表示します。また、
本コマンドを用いることで、
.I uucp
(1) や
.I uux
(1)で作成されたジョブを取り消したり、ジョブのタイムスタンプの若返りを行なったりすることが
出来ます。
デフォルトでは、
.I uustat
は、コマンド
を起動したユーザが要求したジョブをすべて表示します。これは、
.B \-\-user
オプションで自分を指定した場合の動作と同じです。
.B \-a,
.B \-\-all,
.B \-e,
.B \-\-executions,
.B \-s,
.B \-\-system,
.B \-S,
.B \-\-not-system,
.B \-u,
.B \-\-user,
.B \-U,
.B \-\-not-user,
.B \-c,
.B \-\-command,
.B \-C,
.B \-\-not-command,
.B \-o,
.B \-\-older-than,
.B \-y,
.B \-\-younger-than
のいずれかのオプションが指定されると、指定条件の組合せに合致するすべてのジョブを
表示します。
.B \-K
または
.B \-\-kill-all
オプションは、要求してから7日間経過した全てのジョブのような、選択したグルー
プのジョブを削除出来ます。
.SH オプション
.I uustat
では、以下のオプションが使用可能です。
.TP 5
.B \-a, \-\-all
キューイングされたすべてのファイル転送要求を表示します。
.TP 5
.B \-e, \-\-executions
ファイル転送要求ではなく、
コマンド実行要求を表示します。キューイングされた
コマンド実行要求は、
.I uucico
(8) ではなく
.I uuxqt
(8) にて処理されます。
キューイング中のコマンド実行要求には、リモートシステムから転送される
ファイルを待っているものもあります。これらの要求は、
.I uux
(1)を起動することで作成されます。
.TP 5
.B \-s system, \-\-system system
指定したシステムに対するジョブをすべて表示します。本オプションは、
1回のコマンド起動時に複数指定することが可能です。
この場合、指定したシステムに対応するジョブが全て表示されます。
.B \-\-list
オプションと共に指定したときは、指定したシステムのジョブだけが表示されます。
.TP 5
.B \-S system, \-\-not-system system
指定したシステム向け以外のジョブをすべて表示します。本オプションは、
1回のコマンド起動時に複数指定することが可能です。
この場合、指定しなかったシステムのジョブが全て表示されます。
.B \-\-list
オプションと共に指定したときは、指定しなかったシステムのジョブだけが表示されます。
なお、本オプションは、
.B \-s
.B \-\-system
とは同時に指定してはいけません。
.TP 5
.B \-u user, \-\-user user
指定したユーザのジョブをすべて表示します。本オプションは、
1回のコマンド起動時に複数指定することが可能です。
この場合、指定したユーザのジョブが全て表示されます。
.TP 5
.B \-U user, \-\-not-user user
指定したユーザのジョブを除くジョブをすべて表示します。本オプションは、
1回のコマンド起動時に複数指定することが可能です。
この場合、指定しなかったユーザのジョブが全て表示されます。
なお、本オプションは、
.B \-u
.B \-\-user
とは同時に指定してはいけません。
.TP 5
.B \-c command, \-\-command command
指定したコマンドの実行を要求するジョブをすべて表示します。
.B command
.I ALL
と指定した場合、すべての(単なる
.I uucp
ファイル転送ではない)コマンドの実行を要求するジョブ
を表示します。本オプションは、1回のコマンド起動時に複数指定することが
可能です。
この場合、指定したコマンドの実行を要求するジョブが全て表示されます。
.TP 5
.B \-C command, \-\-not-command command
指定したコマンド以外の実行を要求するジョブをすべて表示します。
.B command
.I ALL
と指定した場合、
単なる
.I uucp
ファイル転送要求がすべて表示されます。
本オプションは、1回のコマンド起動時に複数指定することが
可能です。
この場合、指定したコマンドの実行を要求しないジョブが全て表示されます。
なお、本オプションは、
.B \-c
.B \-\-command
と同時に指定してはいけません。
.TP 5
.B \-o hours, \-\-older-than hours
キューイングされてから指定した時間(単位:時間)以上超過した
ジョブを全て表示します。
.B \-\-list
オプションと共に指定した場合は、
そのシステムに関するもっとも古いジョブが、指定した時間より
古いという条件を満たすシステムの名前だけを表示します。
.TP 5
.B \-y hours, \-\-younger-than hours
キューイングされてから経過した時間が指定した時間(単位:時間)を
超過していないジョブを全て表示します。
.B \-\-list
オプションと共に指定した場合は、
そのシステムに関するもっとも古いジョブが指定した時間より
新しいという条件を満たすシステムの名前だけを表示します。
.TP 5
.B \-k jobid, \-\-kill jobid
指定したジョブを削除します。jobidは、デフォルトの出力結果から取得可能
です。また、
.I uucp
(1) や
.I uux
(1)にて
.B \-j
.B \-\-jobid
オプションを付加して実行することで、当該ジョブのジョブidを取得する
ことも出来ます。
ジョブの削除を行なうことが出来るのは、ジョブを要求したユーザ、UUCP
システム管理者、もしくはスーパーユーザです。
.B \-k
.B \-\-kill
オプションは、1回のコマンド実行で複数回指定することが可能です。
.TP 5
.B \-r jobid, \-\-rejuvenate jobid
指定したジョブのジョブ時刻を、本コマンドを起動した時刻に変更します。
このことにより、
.B \-o,
.B \-\-older-than,
.B \-y,
.B \-\-younger-than
の各オプションの出力結果に影響が出ます。
このオプションの使用により、
クリーンアップデーモンにより削除されるのを免れることができます。
jobidは、デフォルトの出力結果から取得可能
です。また、
.I uucp
(1) や
.I uux
(1)にて
.B \-j
.B \-\-jobid
オプションを付加して実行することで、当該ジョブのジョブidを取得する
ことも出来ます。
本操作を行なうことが出来るのは、ジョブを要求したユーザ、UUCPシステム管
理者、もしくはスーパーユーザです。
.B \-r
.B \-\-rejuvenate
オプションは、1回のコマンド実行で複数回指定することが可能です。
.TP 5
.B \-q, \-\-list
要求がキューイングされている全てのリモートシステムに対する要求の
ステータス、そして対話のステータスを表示します。
.B \-s,
.B \-\-system,
.B \-S,
.B \-\-not-system,
.B \-o,
.B \-\-older-than,
.B \-y,
.B \-\-younger-than
の各オプションはシステムの表示を制限するために用います。要求がキューイングさ
れていないシステムは表示されません。
.TP 5
.B \-m, \-\-status
すべてのリモートシステムとの対話のステータスを表示します。
.TP 5
.B \-p, \-\-ps
UUCPロックまたはポートを保持するすべての処理のステータスを表示します。
.TP 5
.B \-i, \-\-prompt
各ジョブについて、削除するかどうかを問い合わせるよう指示します。その
問い合わせに対してユーザが
.I y
もしくは
.I Y
を先頭に含む文字列を入力した場合(y もしくは Y だけでも)、そのジョブ
は削除されます。
.TP 5
.B \-K, \-\-kill-all
各ジョブを自動的に削除します。本機能は、
.B \-\-mail
.B \-\-notify
オプションと組み合わせて使用することで、自動メンテナンスを行なう
スクリプトを作成するのに役立ちます。
.TP 5
.B \-R, \-\-rejuvenate-all
指定したジョブを自動的に若返らせます。本オプションは
.B \-\-kill-all
と同時に指定できません。
.TP 5
.B \-M, \-\-mail
各ジョブについて、UUCPシステム管理者に対してメールを送ります。もし
ジョブが(
.B \-\-kill-all
.B \-\-prompt
を用いることで)削除された場合、その旨がメールに明記されます。
.B \-\-comment
オプションで指定したコメントについても、そのメールの中に含まれます。
ジョブが実行された場合、標準入力から入力された最初の部分がメールの
メッセージに含まれます。
メールに含まれる行数は、
.B \-\-mail-lines
オプションで設定可能です(デフォルトでは100行です)。
標準入力からの入力データがNULLキャラクタを含む場合、そのファイルはバイナリ
ファイルであるとみなされ、メールには含まれません。
.TP 5
.B \-N, \-\-notify
各ジョブについて、要求を行なったユーザに対してメールを送ります。メール
の内容については、
.B \-M
.B \-\-mail
オプションで説明したものと同一です。
.TP 5
.B \-W comment, \-\-comment comment
.B \-M,
.B \-\-mail,
.B \-N,
.B \-\-notify
の各オプションでメールを送る際に、そのメールに含めるコメントを指定します。
.TP 5
.B \-B lines, \-\-mail-lines lines
.B \-M,
.B \-\-mail,
.B \-N,
.B \-\-notify
のいずれかのオプションで、
標準入力を用いるコマンドを実行するジョブの結果をメールで送るように
指定している場合、メールに含める標準入力の行数を指定します。
デフォルトは 100行です。
.TP 5
.B \-Q, \-\-no-list
.B \-i,
.B \-\-prompt,
.B \-K,
.B \-\-kill-all,
.B \-M,
.B \-\-mail,
.B \-N
.B \-\-notify
オプションと同時に使用します。ジョブの表示を行なわず、
指定した動作のみ行います。
.TP 5
.B \-x type, \-\-debug type
特定のデバッグタイプを指定します。タイプとしては、abnormal, chat,
handshake, uucp-proto, proto, port, config, spooldir, execute, incoming,
outgoing がありますが、
.I uustat
では、abnormal, config, spooldir ,execute のみが意味を持ちます。
本オプションでは、コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
.B \-\-debug
オプションは、1回のコマンド起動で複数回指定可能です。
また、タイプとして数字を指定することも可能です。例えば、
.B \-\-debug 2
という指定は、
.B \-\-debug abnormal,chat
と同じ意味です。
.TP 5
.B \-I file, \-\-config file
使用する設定ファイルの指定を行ないます。ただし、本
オプションは、本コマンドの
コンパイル条件によっては使用できないことがあります。
.TP 5
.B \-v, \-\-version
バージョン情報を表示します。実行は行ないません。
.TP 5
.B \-\-help
ヘルプメッセージを表示します。実行は行ないません。
.SH 使用例
.br
.nf
uustat --all
.fi
全てのジョブのステータスを表示します。出力例を以下に示します。
.br
.in +0.5i
.nf
bugsA027h bugs ian 04-01 13:50 Executing rmail ian@airs.com (sending 1283 bytes)
.fi
.in -0.5i
フォーマットは、以下の通りです。
.br
.in +0.5i
.nf
jobid system user queue-date command (size)
.fi
.in -0.5i
jobid は、
.B \-\-kill
もしくは
.B \-\-rejuvenate
オプションで主に使用します。
size は、リモートシステムにどれだけのデータが転送されるかを示します。
また、ファイル受信要求の場合は表示されません。
.B \-\-system,
.B \-\-not-system,
.B \-\-user,
.B \-\-not-user,
.B \-\-command,
.B \-\-not-command,
.B \-\-older-than,
.B \-\-younger-than
オプションは、ジョブの表示制御のために用いられます。
.br
.nf
uustat --executions
.fi
キューイングされたコマンド実行ジョブのステータスを表示します。出力
例を以下に示します。
.br
.in +0.5i
.nf
bugs bugs!ian 05-20 12:51 rmail ian
.fi
.in -0.5i
フォーマットは以下の通りです。
.br
.in +0.5i
.nf
system requestor queue-date command
.fi
.in -0.5i
.B \-\-system,
.B \-\-not-system,
.B \-\-user,
.B \-\-not-user,
.B \-\-command,
.B \-\-not-command,
.B \-\-older-than,
.B \-\-younger-than
オプションは、ジョブの表示制御のために用いられます。
.br
.nf
uustat --list
.fi
全てのシステムについてキューイングされたコマンドのステータスを表示します。以
下に出力例を示します。
.br
.in +0.5i
.nf
bugs 4C (1 hour) 0X (0 secs) 04-01 14:45 Dial failed
.fi
.in -0.5i
システム、キューイングされたコマンド数、
もっとも古いコマンドがキューイングされてからの時間、
キューイングされたローカル実行数と
もっとも古いコマンドがローカル実行キューイングされてからの時間、
最後の対話の日時とステータスが表示されています。
.br
.nf
uustat --status
.fi
全てのリモートシステムについて対話のステータスを表示します。出力例を以下に示
します。
.br
.in +0.5i
.nf
bugs 04-01 15:51 Conversation complete
.fi
.in -0.5i
システム、最後の対話の日時とステータスが示されています。最後の対話が失敗した
場合、
.I uustat
はシステムを呼び出そうとした回数を表示します。
次のリトライ間隔までシステムを呼び出せないときには
.I uustat
は次にコールできる時刻を表示します。
.br
.nf
uustat --ps
.fi
UUCPロックしている全てのプロセスのステータスを表示します。
.I uustat
は単にロックしている各プロセス上で
.I ps
(1) を起動するだけなので、出力書式はシステムにより異なります。
.br
.in +0.5i
.nf
uustat --command rmail --older-than 168 --kill-all --no-list --mail --notify --comment "Queued for over 1 week"
.fi
.in -0.5i
これは一週間(168 時間)以上配送待ちになっているキューイングされている全ての
.I rmail
コマンドの実行を取り止めます。各コマンドに対し、UUCP 管理者と rmail の実行を
要求したユーザの双方にメールが送られます。メールには
.B \-\-comment
オプションで指定した文字列が含まれています。
.B \-\-no-list
オプションはジョブの出力を端末に出力しません。このときプログラムから出力される
のはエラーメッセージだけです。
.SH 関連ファイル
関連ファイル名は、コンパイル時の指定により変化します。以下に挙げるものは、
一例です。
.br
/usr/lib/uucp/config - 初期化ファイル
.br
/usr/spool/uucp -
UUCP スプールディレクトリ
.SH 関連項目
ps(1), rmail(8), uucp(1), uux(1), uucico(8), uuxqt(8)
.SH 作者
Ian Lance Taylor
(ian@airs.com)
diff --git a/ja_JP.eucJP/man/man1/uux.1 b/ja_JP.eucJP/man/man1/uux.1
index 9bf6fd31e0..2c14c2bf6a 100644
--- a/ja_JP.eucJP/man/man1/uux.1
+++ b/ja_JP.eucJP/man/man1/uux.1
@@ -1,265 +1,265 @@
-''' %Id: uux.1,v 1.4 1995/08/19 21:30:25 ache Exp %
+''' %Id: uux.1,v 1.6 1997/02/22 15:28:53 peter Exp %
.\" jpman %Id: uux.1,v 1.2 1997/03/29 11:58:56 horikawa Stab %
.TH uux 1 "Taylor UUCP 1.06"
.SH 名称
uux \- UUCP を用いて、リモートマシン上でコマンドを実行する
.SH 書式
.B uux
[ options ] command
.SH 解説
リモートシステム上でコマンドを実行する時、
またはリモートシステム上のファイルを用いて、
ローカルシステム上でコマンドを実行する時に
.I uux
コマンドを用います。
コマンドは即座に実行される訳ではなく、
.I uucico
(8) デーモンがシステムを呼び出し、ジョブを実行するまではキューイングされます。
デーモンは、
.B \-r
または、
.B \-\-nouucico
オプションを指定して本コマンドを実行しない限り、自動的に呼び出されます。
実際のコマンド実行は、
.I uuxqt
(8) デーモンが行います。
引数に指定されたファイルは、リモートシステムから実際にコマンド実行を行う
システムに集めることができます。
標準入力についても同様です。標準出力は、
リモートシステム上のファイルに出力することができます。
リモートシステムでコマンドを実行する場合は、[システム名] ! の後に、
[コマンド名] を記述します。
システム名が空白の場合には、
ローカルシステム上でのコマンドの実行であるとみなされます。
"!" マークを含む引数は、ファイル名を示しているものとみなされます。
"!" マークの前にはファイルが存在するシステム名を、
後にはファイルへのパス名を記
述します。
システム名が空白の場合には、ローカルシステム上のファイルであるとされます。
この場合、コマンドの実行されるリモートシステムへファイル転送が発生します。
ファイル名が絶対パス名でない場合、
現在のローカルシステム上の作業ディレクトリ名がその前に付加されます。
この場合、リモートシステム上で無効なパスとなってしまうかも知れません。
また、パス名として ~/ が先頭に付加される場合、
これはUUCPパブリックディレクトリ(通常は/usr/spool/uucppublic)からの
相対パスであるとみなされます。一般的に、~name/ で始まるディレクトリは、
ユーザ name のホームディレクトリであるとして処理されます。
標準入出力は普通にリダイレクトされます。パス名の中に "!" を含む時は、
そのファイルがリモートシステム上にあるものとして扱われます。
リダイレクトキャラクタを引数の一部として扱う時には、
シェルに解釈されずに
.I uux
に渡すことが出来るようにクオートしなくてはなりません。また、追加書き込み
のリダイレクション (>>) は使用できません。
指定された全てのファイルは、
コマンド実行前に1つのディレクトリに集められます。
このため、各ファイルは異なるベースネームを持つ必要があります。
例えば
.br
.in +0.5i
.nf
uux 'sys1!diff sys2!~user1/foo sys3!~user2/foo >!foo.diff'
.fi
.in -0.5i
は、コマンド実行時に失敗します。なぜなら、sys2 の ~user1/foo と、sys3 の
~usr2/foo の両方のファイルを、
sys1 の同一の名前のファイル foo にコピーするためです。
括弧で囲むことで "!" が解釈されるのをエスケープできます。これは
.I uucp
コマンドをリモートシステム上で実行する際に有用です。
コマンド名なしで実行(例:
.I uux sys!)
すると、システム sys の記録ファイル (原文: poll file) を作ります。
.SH オプション
以下のオプションが
.I uux
で使用可能です。
.TP 5
.B \-, \-p, \-\-stdin
標準入力から読み込んで、それを実行するコマンドの標準入力の内容とします。
.TP 5
.B \-c, \-\-nocopy
ローカルファイルをスプールディレクトリにコピーしません。デフォルトはこの
設定です。もし、
.I uucico
(8) デーモン実行前にそのローカルファイルが消去されてしまった場合、コピー
は失敗します。ファイルは、
.I uucico
(8) デーモンと
.I uux
を起動したユーザの両者から read 可能でなければなりません。
.TP 5
.B \-C, \-\-copy
ローカルファイルをスプールディレクトリにコピーします。
.TP 5
.B \-l, \-\-link
ローカルファイルをスプールディレクトリの下にハードリンクします。ファイル
がスプールディレクトリとは異なる物理デバイス上に存在する場合、
リンクは張れません。この場合、
.B \-c
か、
.B \-\-nocopy
オプションが指定されていない限り、スプールディレクトリの下に対象ファイル
がコピーされます(これは、
.B \-\-link
.B \-\-nocopy
のかわりに
.B \-\-copy
をデフォルト設定すると言うことです)。
ファイルが
.I uucico
(8) デーモンの処理前に変更された場合、
転送されるファイルは変更後のファイルです。ファイルは、
.I uucico
(8) デーモンと、
.I uux
を起動したユーザの両者から read 可能でなければなりません。
.TP 5
.B \-g grade, \-\-grade grade
ファイル転送の優先度を設定します。高い優先度を持つジョブが先に実行されます。
優先度は、高い方から 0 ... 9 A ... Z a ... z となっています。
.TP 5
.B \-n, \-\-notification=no
ジョブの結果を通知するメールを送りません。例えジョブが失敗してもです。
.TP 5
.B \-z, \-\-notification=error
エラー発生時に、ジョブの結果についてメールを送ります。
Taylor UUCP
.I uuxqt
を含む多くの
.I uuxqt
デーモンでは、これがデフォルトの動作であり、
.B \-\-notification=error
は何の効果もありません。しかし、
.B \-\-notification=error
オプションを設定していないと、ジョブが成功した場合にメール
を送る
.I uuxqt
デーモンもあれば、
.B \-\-notification=error
オプションを指定しないと、ジョブが失敗した時にメールを送ってくれないとい
.I uuxqt
デーモンもあります。
.TP 5
.B \-r, \-\-nouucico
.I uucico
(8) デーモンを即時実行しません。
後で処理されるように要求をキューに貯めるだけです。
.TP 5
.B \-j, \-\-jobid
ジョブの id を標準出力に表示します。
ジョブの id は、各ファイルコピー操作が実際に処理を開始するように要求された時、
生成されます。これらのファイルコピー操作は、
.B \-\-kill
スイッチとともに
.I uustat
(1)に ジョブ id を渡すことで取消可能かも知れませんが、
そうするとジョブは完了不能となります。
.TP 5
.B \-a address, \-\-requestor address
指定したE-mailアドレスに対してジョブの結果報告を送ります。
.TP 5
.B \-x type, \-\-debug type
特定のデバッグタイプを指定します。タイプとしては、abnormal, chat,
handshake, uucp-proto, proto, port, config, spooldir, execute, incoming,
outgoing がありますが、
.I uux
では、abnormal, config, spooldir, execute の4つだけが意味を持ちます。
コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
.B \-\-debug
オプションは、1回のコマンド起動で複数回指定可能です。
また、タイプとして数字を指定することも可能です。例えば、
.B \-\-debug 2
という指定は、
.B \-\-debug abnormal,chat
と同じ意味です。
.TP 5
.B \-I file, \-\-config file
使用する初期設定ファイルの指定を行ないます。
ただし、本オプションが使用可能かどうかは、
.I uux
がどのようにコンパイルされたかによります。
.TP 5
.B \-v, \-\-version
バージョンを表示し、終了します。
.TP 5
.B \-\-help
ヘルプを表示し、終了します。
.SH 使用例
.br
.nf
uux -z - sys1!rmail user1
.fi
コマンド``rmail user1'' を、システム sys1 上で実行します。コマンドへの入力
データは、標準入力が用いられます。ジョブが失敗した場合、
.I mail
(1) コマンドによって通知します。
.br
.nf
uux 'diff -c sys1!~user1/file1 sys2!~user2/file2 >!file.diff'
.fi
システム sys1 とシステム sys2 上にあるファイルを取得し、
.I diff
を実行した上で、カレントディレクトリのファイル file.diff に結果を
出力します。カレントディレクトリは、
.I uuxqt
(8) デーモンによって write 可能である必要があります。
.br
.nf
uux 'sys1!uucp ~user1/file1 (sys2!~user2/file2)'
.fi
.I uucp
を、sys1 上で実行し、sys1 上のファイル file1 を sys2 上にコピーします。
この例では、引数をクオートするために括弧を用いる方法を示しています。
.SH 制限
リモートシステムでは、実行が許可されないコマンドがあるかもしれません。
多くのリモートシステムでは、
.I rmail
.I rnews
に限って実行を許可しています。
実行されるかどうかは、リモートシステムの
.I uuxqt
(8) デーモンに依存するオプションがあります。
.SH 関連ファイル
関連ファイル名は、
コンパイル時の指定ないしは初期設定ファイルにより変化します。
以下に挙げるものは、その一例です。
.br
/usr/lib/uucp/config - 初期設定ファイル
.br
/usr/spool/uucp -
UUCP スプールディレクトリ
.br
/usr/spool/uucp/Log -
UUCP ログファイル
.br
/usr/spool/uucppublic -
デフォルトの UUCP パブリックディレクトリ
.SH 関連項目
mail(1), uustat(1), uucp(1), uucico(8), uuxqt(8)
.SH バグ
複数のシステムにまたがって、ファイル参照をすることは出来ません。
.B \-\-jobid
オプションを使うと、ジョブ id が非常に多く出力されてしまいます。
また、リモートファイルを必要とするローカルなコマンドの実行を
キャンセルする良い方法は存在しません。
.SH 作者
Ian Lance Taylor
(ian@airs.com)
diff --git a/ja_JP.eucJP/man/man1/vacation.1 b/ja_JP.eucJP/man/man1/vacation.1
index ba38a547c9..1ad86129f3 100644
--- a/ja_JP.eucJP/man/man1/vacation.1
+++ b/ja_JP.eucJP/man/man1/vacation.1
@@ -1,187 +1,188 @@
.\" Copyright (c) 1985, 1987, 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.
.\"
.\" From: @(#)vacation.1 8.1 (Berkeley) 6/16/93
+.\" %Id: vacation.1,v 1.6 1997/02/22 19:57:38 peter Exp %
+.\"
.\" jpman %Id: vacation.1,v 1.3 1997/08/19 03:07:07 h-nokubi Stab %
-.\" %Id: vacation.1,v 1.4 1996/09/28 13:37:36 joerg Exp %
.\"
.Dd June 16, 1993
.Dt VACATION 1
.Os BSD 4.3
.Sh 名称
.Nm vacation
.Nd 不在の通知を返送する
.Sh 書式
.Nm vacation
.Fl i
.Op Fl r Ar interval
.Nm vacation
.Fl l
.Nm vacation
.Op Fl a Ar alias
.Ar login
.Sh 解説
.Nm vacation
は、メールの送信者に対して、あなたが現在メールを
読んでいない旨を通知するメッセージを返送します。通常、
.Pa .forward
ファイルの中で使われます。
例えば、あなたの
.Pa .forward
ファイルの中で次のように記述します。
.Bd -literal -offset indent
\eeric, "|/usr/bin/vacation -a allman eric"
.Ed
これで、あなた自身(ここではログイン名がericであるとします)にメッセージを送るとともに、
.Dq eric
もしくは
.Dq allman
に宛てられたメッセージに自動応答します。
.Pp
以下のオプションを指定することができます。
.Bl -tag -width Ds
.It Fl a Ar alias
.Ar alias
宛てのメッセージをユーザのログイン名に送られたメールと同様に処理します。
.It Fl i
Vacationデータベースを初期化します。
これは、
.Pa .forward
ファイルを変更する前に行なっておく必要があります。
.It Fl r
自動応答の間隔を
.Ar interval
日に設定します。デフォルトは1週間です。間隔を
.Dq 0
に設定すると、全てのメッセージに対して自動応答を行ないます。
.Dq Li infinite
(実際には数字以外の文字ならなんでも)を設定すると、同じ送信者には一度しか自動応答を
行ないません。間隔を
.Dq Li \&0
に設定すると
.Dq I am on vacation
メールがループすることがあり、非常に危険です。
.It Fl l
Vacationデータベースファイルの内容を表示します。
それぞれのエントリについて自動応答が送られたアドレスとその時間が
標準出力に表示されます。
.El
.Pp
.Ar login
(もしくは
.Fl a
オプションによって指定された
.Ar alias
) がメールの
.Dq To:
もしくは
.Dq Cc:
ヘッダになければ、自動応答は送られません。また、
.Dq ???-REQUEST
.Dq Postmaster
.Dq Tn UUCP
.Dq MAILER
.Dq MAILER-DAEMON
から(大文字、小文字は区別されません)のメールや、
.Dq Precedence: bulk
.Dq Precedence: junk
の行がヘッダに含まれているメールに対しても自動応答は送られません。
あなたへのメールの送信者のアドレスは
ホームディレクトリの
.Pa .vacation.db
ファイル中で
.Xr hash 3
を使用して管理されます。
.Pp
.Nm Vacation
ではホームディレクトリに
.Pa .vacation.msg
ファイルを置くことによって、
あなたへのメールの送信者へのメッセージを指定します。
このファイルは(ヘッダを含む)完全なメッセージでなければなりません。
以下に例を示します。
.Pp
.Bd -unfilled -offset indent -compact
From: eric@CS.Berkeley.EDU (Eric Allman)
Subject: I am on vacation
Delivered-By-The-Graces-Of: The Vacation program
Precedence: bulk
わたしは7月22日まで休暇をとっています。緊急の場合は
Keith Bostic <bostic@CS.Berkeley.EDU> に連絡願います。
--eric
.Ed
(訳註)返答メッセージに日本語を使う場合には、
漢字コードは JIS (ISO-2022-JP) でなければいけません。
.\" 上記(訳註)は日本語対応のために追加しました。
.\" 2.2.1-RELEASE 対象
.\" by mihara@prd.fc.nec.co.jp (Apr. 4, 1997)
.Pp
.Nm Vacation
はメールの送信者を決定するために標準入力の1行目の
.Ux
.Dq From
行を読みます。この
.Dq From
行は
.Xr sendmail 8
が自答的に付加するものです。
.Pp
.Nm vacation
が不正な引数で呼ばれたり、
.Ar login
名が存在しないような致命的なエラーはシステムのログファイルに
.Xr syslog 3
を使って記録されます。
.Sh 関連ファイル
.Bl -tag -width "vacation.dirxxx" -compact
.It Pa ~/.vacation.db
データベースファイル
.It Pa ~/.vacation.msg
送信するメッセージ
.El
.Sh 関連項目
.Xr syslog 3 ,
.Xr sendmail 8 ,
.Xr syslogd 8
.Sh 歴史
.Nm vacation
コマンドは
.Bx 4.3
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/vidcontrol.1 b/ja_JP.eucJP/man/man1/vidcontrol.1
index 2c69712733..0e12f22158 100644
--- a/ja_JP.eucJP/man/man1/vidcontrol.1
+++ b/ja_JP.eucJP/man/man1/vidcontrol.1
@@ -1,135 +1,135 @@
.\"
.\" vidcontrol - a utility for manipulating the syscons video driver
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" @(#)vidcontrol.1
-.\" %Id: vidcontrol.1,v 1.8.2.3 1998/07/18 11:37:51 jkh Exp %
+.\" %Id: vidcontrol.1,v 1.12 1997/10/27 07:52:08 charnier Exp %
.\" jpman %Id: vidcontrol.1,v 1.3 1997/08/04 01:31:25 mitchy Stab %
.\"
.Dd May 22, 1994
.Dt VIDCONTROL 1
.Os
.Sh 名称
.Nm vidcontrol
.Nd syscons 画面ドライバの操作ユーティリティ
.Sh 書式
.Nm
.Op Fl r Ar fg Ar bg
.Op Fl b Ar color
.Op Fl c Ar appearance
.Op Fl d
.Op Fl l Ar scrmap
.Op Fl L
.Op Fl m Ar on|off
.Op Fl f Ar size Ar file
.Op Fl s Ar number
.Op Fl t Ar N|off
.Op Fl x
.Op mode
.Op fgcol Op bgcol
.Op show
.Sh 解説
.Nm
コマンドを用いて syscons 画面ドライバの様々なオプション、例えば、
画面モード、色、カーソル、画面マップ(scrnmap)、
フォント、スクリーンセーバタイムアウトを設定することができます。
.Pp
以下のコマンドラインオプションをサポートしています:
.Bl -tag -width indent
.It mode
新しいビデオモードを選択します。
現在サポートしているモードは以下の通りです:
.Ar VGA_40x25 ,
.Ar VGA_80x25 ,
.Ar VGA_80x50 ,
.Ar EGA_80x25 ,
.Ar EGA_80x43 .
ラップトップによっては画面モード
.Ar VGA_80x30
および
.Ar VGA_80x60
も使用できます。また、グラフィックモード
.Ar VGA_320x200
も選択できます。
.It fgcol Op bgcol
テキストを表示する際の色を変更します。
前景色(例: "vidcontrol white")、あるいは
前景色および背景色(例: "vidcontrol yellow blue")を指定することにより
変更できます。
.It show
指定したプラットフォームでサポートされている色を表示します。
.It Fl r Ar foreground Ar background
反転表示モードで用いる色を前景色
.Ar foreground
および背景色
.Ar background
に変更します。
.It Fl b Ar color
ボーダ色を
.Ar color
に設定します(VGA ハードウェアでのみサポートされています)。
.It Fl c Ar normal|blink|destructive
カーソルの外観を変更します。
カーソルは、反転ブロック(normal)、反転ブロックの点滅(blink)、
あるいは古いハードウェアカーソル様のもの(destructive)のいずれかです。
後者は実際にはシミュレートしています。
.It Fl d
現在の画面出力マップを表示します。
.It Fl l Ar scrmap
画面出力マップをファイル
.Ar scrmap
から読み込んで設定します。
.It Fl L
画面出力マップをデフォルトに設定します。
.It Fl m Ar on|off
マウスポインタを
.Ar on
または
.Ar off
します。
テキストモードでのカット&ペースト機能を利用するために moused デーモンと共に
使用します。
.It Fl f Ar size Ar file
サイズ
.Ar size
用のフォントをファイル
.Ar file
から読み込みます。
現在のところ
.Ar size
には 8x8, 8x14, 8x16 のみが指定できます。
フォントファイルは uuencode された形式でも
生のバイナリフォーマットでも構いません。
.It Fl s Ar number
現在の vty を
.Ar number
に設定します。
.It Fl t Ar N|off
スクリーンセーバのタイムアウト値を
.Ar N
秒に設定、あるいはスクリーンセーバを無効(
.Ar off
)にします。
.It Fl x
出力に 16 進数を用います。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/share/syscons/scrnmaps -compact
.It Pa /usr/share/syscons/fonts
.It Pa /usr/share/syscons/scrnmaps
.El
.Sh 関連項目
.Xr kbdcontrol 1 ,
.Xr keyboard 4 ,
.Xr screen 4 ,
.Xr moused 8
.Sh 作者
.An Sen Schmidt Aq sos@FreeBSD.org
diff --git a/ja_JP.eucJP/man/man1/w.1 b/ja_JP.eucJP/man/man1/w.1
index e27a3c7a7e..bb1d94d71f 100644
--- a/ja_JP.eucJP/man/man1/w.1
+++ b/ja_JP.eucJP/man/man1/w.1
@@ -1,146 +1,147 @@
.\" Copyright (c) 1980, 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.
.\"
.\" @(#)w.1 8.1 (Berkeley) 6/6/93
-.\" %Id: w.1,v 1.2.8.6 1998/03/22 19:17:50 steve Exp %
+.\" %Id: w.1,v 1.10 1998/03/22 17:39:08 steve Exp %
+.\"
.\" jpman %Id: w.1,v 1.2 1997/04/16 01:03:05 mitchy Stab %
.\"
.Dd June 6, 1993
.Dt W 1
.Os BSD 4
.Sh 名称
.Nm w
.Nd ログインしているユーザと、その作業内容を表示する
.Sh 書式
.Nm w
.Op Fl dhin
.Op Fl M Ar core
.Op Fl N Ar system
.Op Ar user
.Sh 解説
.Nm
は、システムの現在の動作状況や、ユーザの作業内容を表示します。
最初の行は現在時刻、システムの稼働時間、ログインしているユーザ数、
システムの平均負荷を表示します。
平均負荷は、最近の1分、5分、15分間における実行キュー内の
ジョブ数の平均値を表します。
.Pp
出力項目は、ユーザのログイン名とユーザが現在いる端末の名前、ユーザが
ログイン してきたホスト、ユーザがログイン している時間、ユーザが
最後にコマンドを入力してからの経過時間、現在実行しているプロセスの
名前と引数です。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl d
トップレベルのプロセスだけではなく、
制御 tty ごとの全プロセスリストをダンプします。
.It Fl h
最初の行を出力しません。
.It Fl i
アイドル時間の順に出力します。
.It Fl M
デフォルトの
.Dq /dev/kmem
のかわりに、指定された
.Ar core
ら名前のリストに関係する値を取り出します。
.It Fl N
デフォルトの
.Dq /kernel
のかわりに、指定された
.Ar system
から
名前のリストを取り出します。
.It Fl n
ネットワークアドレスを数字で表示します
(通常
.Nm
は、アドレスを解釈してホスト名で表示しようとします)。
.El
.Pp
.Ar ユーザ名
が指定されると、指定されたユーザのものだけ出力を行います。
.Sh 関連ファイル
.Bl -tag -width /var/run/utmp -compact
.It Pa /var/run/utmp
システム上のユーザのリスト
.El
.Sh 関連項目
.Xr finger 1 ,
.Xr ps 1 ,
.Xr uptime 1 ,
.Xr who 1
.Sh バグ
.Dq 現在実行しているプロセス
の意味はかなりいい加減なものです。現在のアルゴリズムは、
.Dq 端末の割り込みを無視していない、もっともプロセス-ID の大きいプロセス、それが見つからなければ、その端末のもっともプロセス-IDの大きいプロセスを見つける
という仕組みになっています。
これは失敗する場合があります。たとえば、シェルやエディタのように
プログラムがクリティカルセクション(ほかからの割り込みを受け付けるべき
ではないような重要な操作をする状態)にいる場合や、
不完全なプログラムがバックグラウンドで動いていて、割り込みを無視する
のに失敗しているような場合です (プロセスを見つけることができなかった
場合、
.Nm
.Dq Fl
を表示します) 。
.Pp
.Tn CPU
時間は推定でしかありません。特に、誰かがバックグラウンドでプロセスを
動かしたままログアウトすると、そのプロセスの時間が、
現在その端末を使用している人の
.Tn CPU
時間に加算されます。
.Pp
バックグラウンドで動いているプロセスは、たとえその負荷が非常に
大きくても出力されません。
.Pp
バックグラウンドである場合に典型的ですが、プロセスに空白やゴミの引数が
ついて表示されることがあります。このような場合、コマンドの名前は丸括弧で
括られて表示されます。
.Pp
.Nm
はバックグラウンドジョブを発見する新しい、便利な法則を知りません。そのため、
正しいものでなく、バックグラウンドジョブを見つけてしまうことがあります。
.Sh 互換性
.Fl f ,
.Fl l ,
.Fl s ,
.Fl w
オプションはサポートされなくなりました。
.Sh 歴史
.Nm
.Ux 3.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/wait.1 b/ja_JP.eucJP/man/man1/wait.1
index 9eee9847d2..2f0aeb60c4 100644
--- a/ja_JP.eucJP/man/man1/wait.1
+++ b/ja_JP.eucJP/man/man1/wait.1
@@ -1,89 +1,90 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)wait.1 8.1 (Berkeley) 6/5/93
+.\" %Id: wait.1,v 1.2 1997/03/07 03:27:50 jmg Exp %
+.\"
.\" jpman %Id: wait.1,v 1.3 1997/07/20 08:00:43 konuma Stab %
-.\" %Id: wait.1,v 1.1.1.1.8.1 1997/03/07 04:17:49 mpp Exp %
.\"
.Dd June 5, 1993
.Dt WAIT 1
.Os FreeBSD
.Sh 名称
.Nm wait
.Nd プロセスの終了を待つ
.Sh 書式
.Nm wait
.Op Ar pid
.Sh 解説
引数なしで起動された場合、
.Nm wait
はバックグラウンドで実行されている子プロセスが全て終了するまで待ちます。
.Pp
オプションは以下のとおりです。
.Bl -tag -width Ds
.It Ar pid
.Ar pid
が指定され、それがバックグラウンドで実行されている
子プロセスのプロセスIDであった場合、
.Nm wait
はそのプロセスが終了するまで待ち、そのプロセスの
ステータス情報を取得します。他のプロセスのステータス情報は
取得しません。
.Pp
pidが指定され、そのプロセスIDがバックグラウンドで
実行されている子プロセスのものでなかったら、
.Nm wait
はプロセスの終了を待たず終了します。
.El
.Pp
.Nm wait
は以下のうちのいずれかの戻り値を返します。
.Bl -tag -width Ds
.It \&0
.Nm wait
が引数なしで起動されて、全てのバックグラウンドの
子プロセスが終了するか、pidによって指定されたプロセスが
0を返して正常に終了した場合。
.It \&>\&0
指定されたプロセスが存在せず、その終了ステータスが無効で
あるか、または、指定されたプロセスが存在するかその終了ステータス
が有効で、戻り値が0でない場合。
.El
.Pp
指定されたプロセスがシグナルを受けて異常終了した場合は
.Nm wait
はそのプロセスの戻り値を返します。
.Sh 規格
.Nm wait
.St -p1003.2
互換となるように作られています。
diff --git a/ja_JP.eucJP/man/man1/wc.1 b/ja_JP.eucJP/man/man1/wc.1
index 1b6e7d9394..4fecce6e32 100644
--- a/ja_JP.eucJP/man/man1/wc.1
+++ b/ja_JP.eucJP/man/man1/wc.1
@@ -1,108 +1,108 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)wc.1 8.2 (Berkeley) 4/19/94
-.\" %Id: wc.1,v 1.2.2.1 1997/08/26 06:52:00 charnier Exp %
+.\" %Id: wc.1,v 1.5 1997/08/25 06:44:58 charnier Exp %
.\" jpman %Id: wc.1,v 1.2 1997/03/29 20:55:21 iwasaki Stab %
.\"
.Dd April 19, 1994
.Dt WC 1
.Os
.Sh 名称
.Nm wc
.Nd 行数、単語数、バイト数を数える。
.Sh 書式
.Nm wc
.Op Fl clw
.Op Ar
.Sh 解説
.Nm
は各入力ファイル
.Ar file
(デフォルトでは標準入力)
に含まれる行数、単語数、バイト数を数えて標準出力に表示します。
行は改行文字で区切られた文字列、
単語は空白文字で区切られた文字列、と定義されます。
ここで空白文字とは
.Xr isspace 3
が真を返すような文字をいいます。
複数のファイルが指定された場合は、
最後に行数、単語数、バイト数の各項目別の合計も表示します。
.Pp
オプションとしては以下のものがあります。
.Bl -tag -width Ds
.It Fl c
各入力ファイルのバイト数を標準出力に表示します。
.It Fl l
各入力ファイルの行数を標準出力に表示します。
.It Fl w
各入力ファイルの単語数を標準出力に表示します。
.El
.Pp
オプションが指定された場合、
.Nm
は要求された情報のみを表示します。
デフォルトの動作はすべてのオプションが指定された場合と同じです。
.Pp
.Ar file
が指定されなかった場合は、標準入力から読み込まれ、
ファイル名は出力されません。
.Pp
.Nm
は、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
.Sh 関連項目
.Xr isspace 3
.Sh 互換性
歴史的には、
.Nm
では単語は「スペース、タブ、改行文字で区切られる最長の文字列」として
定義する、とドキュメントに記述されていました。
しかしこの実装は非表示文字を正しく扱いませんでした。
例えば ``foo^D^Ebar'' を 8 文字と数える一方、`` ^D^E '' を 6 つの空白と
数えたのでした。4.3BSD 以降の 4BSD では
ドキュメントと矛盾のないよう修正され、
.St -p1003.2
で要求されているように、
.Xr isspace 3
を用いて「単語」を定義するよう実装し直されました。
.Sh 規格
.Nm
.St -p1003.2
準拠です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/what.1 b/ja_JP.eucJP/man/man1/what.1
index 5313a0894b..e98c78151d 100644
--- a/ja_JP.eucJP/man/man1/what.1
+++ b/ja_JP.eucJP/man/man1/what.1
@@ -1,81 +1,81 @@
.\" 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.
.\"
.\" @(#)what.1 8.1 (Berkeley) 6/6/93
.\"
-.\" %Id: what.1,v 1.2.2.3 1998/07/17 07:26:00 jkh Exp %
+.\" %Id: what.1,v 1.9 1998/05/04 22:26:55 rnordier Exp %
.\" jpman %Id: what.1,v 1.3 1997/06/14 16:05:25 kubo Stab %
.\"
.Dd June 6, 1993
.Dt WHAT 1
.Os BSD 4
.Sh 名称
.Nm what
.Nd ファイルを構成するオブジェクトモジュールのバージョンを表示する
.Sh 書式
.Nm
.Op Fl s
.Ar file Ar ...
.Sh 解説
.Nm
ユーティリティは、
指定された
.Ar file
を読み込み、SCCS (source code control
system) が挿入した
.Dq \&@(#)
形式のシーケンスを検索し、このマークのあと
に挿入されている文字列を NUL 文字か、改行か、ダブルクォート (") か、
.Dq \&>
文字かバックスラッシュが現れるまで表示します。
.Pp
次のオプションを使用可能です:
.Bl -tag -width Ds
.It Fl s
最初にマッチしたときに検索を停止します。
.El
.Pp
なにかがマッチしたら終了値は 0 となり、そうでない場合は 1 となります。
.Sh バグ
これは本来の
.Tn SCCS
のシステムに属する
.Nm
コマンドを書き直したものです。
このため、正確には同じ動作をしないかもしれません。
.Sh 関連項目
.Xr ident 1 ,
.Xr strings 1
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/whereis.1 b/ja_JP.eucJP/man/man1/whereis.1
index 7944cdb780..abc5196c8e 100644
--- a/ja_JP.eucJP/man/man1/whereis.1
+++ b/ja_JP.eucJP/man/man1/whereis.1
@@ -1,134 +1,135 @@
.\" 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.
.\"
.\" @(#)whereis.1 8.2 (Berkeley) 12/30/93
+.\" %Id: whereis.1,v 1.5 1998/05/15 11:22:40 jkoshy Exp %
+.\"
.\" jpman %Id: whereis.1,v 1.3 1997/06/14 16:06:45 kubo Stab %
-.\" %Id: whereis.1,v 1.2.2.1 1998/05/22 11:03:38 jkoshy Exp %
.\"
.Dd June 15, 1996
.Dt WHEREIS 1
.Os FreeBSD
.Sh 名称
.Nm whereis
.Nd プログラムのパスを表示します
.Sh 書式
.Nm whereis
.Op Fl bms
.Op Fl u
.Op Fl BMS dir ... Fl f
.Ar program ...
.Sh 解説
.Nm whereis
は標準のバイナリディレクトリやマニュアルページそして、特定のプログラム
のソースファイルディレクトリを検索し、指定されたプログラムのパスが
見つかれば表示します。与えられた名前は、はじめに
.Ql .ext
形式のプレフィックスをひとつはずし、
ソースコード制御システムのためのファイル名のはじめの
.Ql s.
や最後の
.Ql ,v
を外し、パス名にされます。
.Pp
検索されるディレクトリは
.Xr sysctl 8
に文字列
.Dq user.cs_path
を与えた時に返される文字列と
.Pa /usr/libexec
および現在のユーザの
.Ev $PATH
です。マニュアルは、デフォルトでは
.Ev $MANPATH
にしたがって検索されます。プログラムソースは、
.Pa /usr/src
.Pa /usr/ports
の全てのサブディレクトリを含む、標準の場所のリストにあるものとされます。
.Pp
以下のようなオプションが利用可能です。
.Bl -tag -width indent
.It Fl B
バイナリを検索するためのディレクトリを指定します。
.Fl f
オプションが必要です。
.It Fl M
マニュアルページを検索するためのディレクトリを指定します。
.Fl f
オプションが必要です。
.It Fl S
プログラムソースを検索するためのディレクトリを指定します。
.Fl f
オプションが必要です。
.It Fl b
バイナリを検索します。
.It Fl f
.Fl B ,
.Fl M ,
.Fl S
オプションが指定された後で、ディレクトリのリストの境界を設定し、
.Ar name
リストのはじめを指定します。
.It Fl m
マニュアルページを検索します。
.It Fl s
ソースディレクトリを検索します。
.It Fl u
.Dq unusual
エントリを検索します。ファイルは、要求されたそれぞれのタイプのエントリがない場合に
普通でない (unusual) といわれます。
.El
.Sh 実行例
以下では、
.Pa /usr/bin
以下のドキュメントがない全てのユーティリティを見つけます。
.Dl whereis -m -u /usr/bin/*
.Sh 関連項目
.Xr find ,
.Xr locate 1 ,
.Xr which 1 ,
.Xr man 1 ,
.Xr sysctl 8
.Sh バグ
ソースの検索は、ソースディレクトリのリストの各要素の第一レベルの
サブディレクトリを検索するクイック検索で実装されています。
これが成功しない場合、
.Xr locate 1
ユーティリティがサブディレクトリのより深いところまで検索するために
呼び出されます。これは、時間がかかりますし、ロケートデーターベースが
更新されている時にだけ成功します。
.Sh 歴史
.Nm whereis
コマンドは、
.Bx 3.0
で導入されました。この版は
.Bx 4.4
で失われた歴史的な機能を再実装しました。
diff --git a/ja_JP.eucJP/man/man1/which.1 b/ja_JP.eucJP/man/man1/which.1
index a1f21dea03..1d587d80b7 100644
--- a/ja_JP.eucJP/man/man1/which.1
+++ b/ja_JP.eucJP/man/man1/which.1
@@ -1,70 +1,70 @@
.\" Manpage Copyright (c) 1995, Jordan Hubbard <jkh@freebsd.org>
.\"
.\" 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 FreeBSD Project
.\" its contributors.
.\" 4. Neither the name of the FreeBSD 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 CONTRIBUTOR ``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 CONTRIBUTOR 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: which.1,v 1.6.2.3 1998/07/17 07:26:06 jkh Exp %
+.\" %Id: which.1,v 1.12 1998/05/22 11:09:01 jkoshy Exp %
.\" jpman %Id: which.1,v 1.3 1997/06/14 16:24:02 kubo Stab %
.Dd January 26, 1995
.Dt WHICH 1
.Os FreeBSD
.Sh 名称
.Nm which
.Nd "ユーザパスからプログラムを見つける"
.Sh 書式
.Nm which
.Op Fl as
.Op Ar command
.Ar ...
.Sh 解説
.Nm
は、コマンド名のリストを受け取り、
実際に起動したならば実行できる実行形式ファイルを探します。
.Pp
オプションには以下のものがあります:
.Bl -tag -width indent
.It Fl a
(最初に見つけたものだけでなく) みつけたすべての実行形式を表示します。
.It Fl s
実行形式が見つかれば 0 を返し、見つからなければ 1 を返します。
表示はしません。
.Sh 歴史
.Nm
コマンドは
.Fx 2.1
から登場しました。
.Sh 関連ファイル
.Xr find 1 ,
.Xr locate 1 ,
.Xr perl 1 ,
.Xr whereis 1
.Sh 作者
新しいバージョンの
.Nm
PERL スクリプトは
.An Wolfram Schneider Aq wosch@FreeBSD.org
によって書かれました。
diff --git a/ja_JP.eucJP/man/man1/who.1 b/ja_JP.eucJP/man/man1/who.1
index 2881c08252..96af8e097c 100644
--- a/ja_JP.eucJP/man/man1/who.1
+++ b/ja_JP.eucJP/man/man1/who.1
@@ -1,104 +1,104 @@
.\" Copyright (c) 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.
.\"
.\" @(#)who.1 8.2 (Berkeley) 12/30/93
-.\" %Id: who.1,v 1.2.2.2 1998/05/25 18:06:39 steve Exp %
+.\" %Id: who.1,v 1.6 1998/04/14 06:42:18 phk Exp %
.\" jpman %Id: who.1,v 1.3 1997/06/14 16:25:35 kubo Stab %
.\"
.Dd December 30, 1993
.Dt WHO 1
.Os
.Sh 名称
.Nm who
.Nd 誰がログインしているかを表示する
.Sh 書式
.Nm who
.Ar am I
.Nm who
.Sh 解説
.Nm
ユーティリティは、現在ログインしている全ユーザについて、ユーザごとに
ログイン名、端末名、ログインした日時、ホスト名 (リモートログイン
しているときのみ) を表示します。
.Pp
オプションは以下の通りです:
.Bl -tag -width file
.It Ar \&am I
このコマンドを起動したユーザの本当のユーザ名 (real user name) を表示します。
.It Ar file
.Nm
はデフォルトで
.Pa /var/run/utmp
を調べますが、
.Ar file
が指定された場合、そのファイルからユーザ情報を得るようにします。
.Ar file
には、普通、
.Pa /var/run/wtmp
を指定します (あるいは、サイトの方針次第ですが、
.Pa /var/run/wtmp.[0-6]
であるかもしれません。というのも、
.Pa wtmp
ファイルは大変大きくなるかもしれないので、
.Xr ac 8
によって圧縮した後には、
日毎のファイルを保存していない場合もあるからです)。
.Pa wtmp
には、最後に
.Pa wtmp
を作成するか、またはそのファイルサイズをゼロにして以来の
全てのログイン、ログアウト、クラッシュ、シャットダウン、および
date コマンドでの日時の変更が記録されています。
.El
.Pp
.Pa /var/log/wtmp
ファイルが記録ファイルとして使用されている場合には、
ユーザ名は空、あるいは特殊文字 '|', '}', '~' のうちの
ひとつであるかもしれません。その際には、ログアウトすることで、ユーザ名
が記録されていない出力行を生成します。より詳しくは、
.Xr utmp 5
を参照してください。
.Sh 関連ファイル
.Bl -tag -width /var/log/wtmp.[0-6] -compact
.It Pa /var/run/utmp
.It Pa /var/log/wtmp
.It Pa /var/log/wtmp.[0-6]
.El
.Sh 関連項目
.Xr last 1 ,
.Xr users 1 ,
.Xr getuid 2 ,
.Xr utmp 5
.Sh 歴史
.Nm
ユーティリティは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/whois.1 b/ja_JP.eucJP/man/man1/whois.1
index 28195a7d6d..52377f2c86 100644
--- a/ja_JP.eucJP/man/man1/whois.1
+++ b/ja_JP.eucJP/man/man1/whois.1
@@ -1,114 +1,114 @@
.\" Copyright (c) 1985, 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: @(#)whois.1 8.1 (Berkeley) 6/6/93
-.\" %Id: whois.1,v 1.1.1.1.8.3 1998/02/19 19:10:22 wollman Exp %
+.\" %Id: whois.1,v 1.4 1998/02/19 19:07:49 wollman Exp %
.\" jpman %Id: whois.1,v 1.3 1997/06/14 04:30:33 kubo Stab %
.\"
.Dd February 19, 1998
.Dt WHOIS 1
.Os BSD 4.3
.Sh 名称
.Nm whois
.Nd インターネットのドメイン名とネットワーク番号のディレクトリサービス
.Sh 書式
.Nm whois
.Op Fl adpr
.Op Fl h Ar host
.Ar name ...
.Sh 解説
.Nm
はネットワークインフォメーションセンタ
.Pq Tn NIC
のデータベースのレコード検索を行ないます。
.Pp
オプションとしては以下のものがあります。
.Bl -tag -width Ds
.It Fl a
American Registry for Internet Numbers
.Pq Tn ARIN
データベースを使用します。
ここには、
.Tn APNIC
および
.Tn RIPE
以外がカバーする全世界の IP 番号があります。
.It Fl d
(US Military) Defense Data Network
.Pq Tn DDN
データベースを使用します。
.Tn \&.MIL
のサブドメインの連絡先があります。
.It Fl h Ar host
デフォルトの NIC (whois.internic.net) に代えて、指定したホスト用います。
ホスト名もしくは IP 番号を指定可能です。
.It Fl p
Asia/Pacific Network Information Center
.Pq Tn APNIC
データベースを使用します。
ここには、東アジア、オーストラリア、ニュージーランド、太平洋諸島の
IP 番号があります。
.It Fl r
R\(aaeseaux IP Europ\(aaeens
.Pq Tn RIPE
データベースを使用します。
ここには、ヨーロッパのドメイン番号とドメインの連絡先情報があります。
.El
.Pp
.Nm
コマンドに指定されたオペランドは空白をはさんで結合され、
指定された
.Nm
サーバに渡されます。
.Pp
特に
.Ar name
で指定されなければ、デフォルトでは
データベース中のすべてのレコードのほとんどの
フィールド (名前、通称 (nicknames)、ホスト名、ネットアドレス、その他) に
ついて
.Ar name
に一致するものを探すという、広範囲な検索を実行します。
.Ar name
オペランドの持つ特別な意味や
検索の進め方に関してさらに情報を得るには、
特別な名前
.Dq Ar help
.Ar name
に指定して下さい。
.Sh 関連項目
RFC 812: Nicname/Whois
.Sh 歴史
.Nm
コマンドは
.Bx 4.3
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/write.1 b/ja_JP.eucJP/man/man1/write.1
index 4205cbb8de..99c34fefe5 100644
--- a/ja_JP.eucJP/man/man1/write.1
+++ b/ja_JP.eucJP/man/man1/write.1
@@ -1,100 +1,100 @@
.\" Copyright (c) 1989, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Jef Poskanzer and Craig Leres of the Lawrence Berkeley Laboratory.
.\"
.\" 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.
.\"
.\" @(#)write.1 8.1 (Berkeley) 6/6/93
-.\" %Id: write.1,v 1.2.2.2 1997/08/27 06:23:09 charnier Exp %
+.\" %Id: write.1,v 1.6 1997/08/26 11:23:31 charnier Exp %
.\" jpman %Id: write.1,v 1.3 1997/05/19 16:54:42 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt WRITE 1
.Os
.Sh 名称
.Nm write
.Nd 別のユーザにメッセージを送る
.Sh 書式
.Nm
.Ar user
.Op Ar ttyname
.Sh 解説
.Nm
は、あなたの端末入力行を他の端末に送ることで、
他のユーザとのコミュニケーションを可能にします。
.Pp
.Nm
を使ってメッセージを書くと、指定されたユーザは次のような
書き出しで始まるメッセージを受け取ります:
.Pp
.Dl Message from yourname@yourhost on yourtty at hh:mm ...
.Pp
この後の行は、1行入力するたびにその内容が相手の端末にコピーされます。
もし相手が返事をしたいと思ったら、その人も
.Nm
を実行して同じようにメッセージを送る必要があります。
.Pp
メッセージを送り終わったら、ファイルの終り文字か割り込み文字を入力します。
相手には、通信の終りを表す
.Ql EOF
が表示されます。
.Pp
他のユーザからのメッセージを拒否したいときは
(ただしスーパユーザからのメッセージは拒否できません)、
.Xr mesg 1
を使います。
.Pp
2つ以上の端末にログインしているユーザにメッセージを送りたい場合には、
どの端末にメッセージを送るかを、
.Nm
の2番目の引数で指定することができます。
端末名を指定しなければ、もっともアイドル時間の短い端末が選択されます。
事務所でログインしたままになっているユーザが、今は自宅からモデムでログイン
している場合などは、これによって正しい端末が選択されるでしょう。
.Pp
.Nm
コマンドで人とやりとりする時には、次のようなプロトコルが使われてきました。
行末の
.Ql \-o
や、
.Ql \-o
だけの行は、あなたが話す番ですよ、という意味であり、
.Ql oo
は、会話を終りにしましょうという意味になります。
.Sh 関連項目
.Xr mesg 1 ,
.Xr talk 1 ,
.Xr who 1
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しました。
diff --git a/ja_JP.eucJP/man/man1/xten.1 b/ja_JP.eucJP/man/man1/xten.1
index 69a7138fcf..884cbb20cb 100644
--- a/ja_JP.eucJP/man/man1/xten.1
+++ b/ja_JP.eucJP/man/man1/xten.1
@@ -1,113 +1,113 @@
.\" Copyright (c) 1992, 1993 Eugene W. Stark
.\" 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 Eugene W. Stark.
.\" 4. 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 EUGENE W. STARK (THE AUTHOR) ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: xten.1,v 1.2.2.4 1998/07/18 11:38:07 jkh Exp %
+.\" %Id: xten.1,v 1.8 1998/03/23 08:30:11 charnier Exp %
.\" jpman %Id: xten.1,v 1.3 1997/06/12 17:21:13 kubo Stab %
.\"
.Dd October 30, 1993
.Dt XTEN 1
.Os
.Sh 名称
.Nm xten
.Nd X-10 コマンドを転送する
.Sh 書式
.Nm xten
.Op Fl ""
.Ar house Ar key Ns Op Ar :cnt
.Oo
.Op Ar house
.Ar key Ns Op Ar :cnt
.Ar ...
.Oc
.Sh 解説
.Nm
は、 X-10 デーモンへのコマンドラインインタフェースです。
一文字のハウスコード (A-P) と一連のキー/ユニットコードが引数として
与えられて呼び出された時、X-10 デーモンへ対応する一連の X-10
パケットの転送を要求します。
コマンドが実際に受け取られて実行されるかどうかをリモートの X-10 デバイスによって
知ることは一般的にできませんが、X-10 デーモンは、パケットがすべて正しく転送されるように、
最大限努力します。
.Pp
一つの引数
.Fl
付きで呼び出された時は、
.Nm
は、インタラクティブモードに入ります。ここでは、標準入力を繰り返し
読み込み、X-10 デーモンに送り、デーモンからの一行の応答が標準出力に表示されます。
.Sh オプション
ハウス(
.Ar house
)引数は、 A-P の範囲の一文字のハウスコードです。
全ての X-10 リクエストは、ハウスコードを参照します。
各キー(
.Ar key
)は 1-16 の数値コードか、X-10 機能を指定する文字列です。
可能な機能コード文字列は以下の通りです。
.Bl -diag
.It AllUnitsOff
.It AllLightsOn
.It On
.It Off
.It Dim
.It Bright
.It AllLightsOff
.It ExtendedCode
.It HailRequest
.It HailAcknowledge
.It PreSetDim0
.It PreSetDim1
.It ExtendedData
.It StatusOn
.It StatusOff
.It StatusRequest
.El
.Pp
各キー(
.Ar key
)にはオプションの数字(
.Ar cnt
)が続きます。この数字は、間隙がないキーコード
によっておくられるパケットの数を指定します。
この引数が省略された時、二つのパケットが転送されます。
X-10 の
.Em Dim
.Em Bright
コマンドでは、二つ以外のパケット数を指定して使うことができます。
.Sh 関連項目
.Xr tw 4 ,
.Xr xtend 8
.Sh 関連ファイル
.Bl -tag -width /var/spool/xten/Status -compact
.It Pa /dev/tw0
TW523 スペシャルファイル
.El
.Sh 作者
.An Eugene W. Stark Aq stark@cs.sunysb.edu
diff --git a/ja_JP.eucJP/man/man1/yacc.1 b/ja_JP.eucJP/man/man1/yacc.1
index 9dc1032f48..996fd3536a 100644
--- a/ja_JP.eucJP/man/man1/yacc.1
+++ b/ja_JP.eucJP/man/man1/yacc.1
@@ -1,143 +1,143 @@
.\" Copyright (c) 1989, 1990 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Robert Paul Corbett.
.\"
.\" 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.
.\"
.\" @(#)yacc.1 5.8 (Berkeley) 5/24/93
-.\" %Id: yacc.1,v 1.1.1.1.8.2 1998/03/08 14:53:14 jkh Exp %
+.\" %Id: yacc.1,v 1.8 1997/08/28 06:33:53 charnier Exp %
.\" jpman %Id: yacc.1,v 1.3 1997/06/12 16:37:49 kubo Stab %
.\"
.Dd May 24, 1993
.Dt YACC 1
.Os
.Sh 名称
.Nm yacc
.Nd LALR(1) パーサジェネレータ
.Sh 書式
.Nm
.Op Fl dlrtv
.Op Fl b Ar file_prefix
.Op Fl o Ar output_filename
.Op Fl p Ar symbol_prefix
.Ar filename
.Sh 解説
.Nm
は、
.Ar filename
から文法仕様を読み取り、その仕様から LR(1) パーサを生成します。
パーサは、C 言語で書かれた LALR(1)
解析テーブルとドライバルーチンのセットから構成されています。
.Nm
は通常、
.Pa y.tab.c
というファイルに解析テーブルとドライバルーチンを書き込みます。
.Pp
以下のオプションが使えます:
.Bl -tag -width indent
.It Fl b Ar file_prefix
出力ファイル名の先頭に加えるプレフィックス文字列を
.Ar file_prefix
に変更します。
デフォルトのプレフィックスは
.Pa y
です。
.It Fl d
ヘッダファイル
.Pa y.tab.h
を生成するよう指示します。
.It Fl l
もし
.Fl l
オプションが指定されていなければ、
.Nm
は生成コードに #line ディレクティブを挿入します。
#line ディレクティブは、生成されたコードの中のエラーと
ユーザのオリジナルコードとの関連づけを C コンパイラに行わせます。
もし
.Fl l
オプションが指定されていれば、
.Nm
は #line ディレクティブを挿入しません。
ユーザによって指定された #line ディレクティブはそのまま残されます。
.It Fl o Ar output_filename
.Nm
に対し、デフォルトファイルの
.Pa y.tab.c
の代りに
.Ar output_filename
に生成コードを出力させます。
.It Fl p Ar symbol_prefix
yacc によって生成されたシンボルの先頭につけるプレフィックスを
.Ar symbol_prefix
で指定された文字列に変更します。
デフォルトのプレフィックスは、文字列
.Pa yy
です。
.It Fl r
.Nm
はコードとテーブルを別々のファイルに出力します。コードファイル名は
.Pa y.code.c
となり、テーブルファイル名は
.Pa y.tab.c
となります。
.It Fl t
.Nm
によって生成されるプリプロセッサディレクティブを変更し、デバッグ
用の文をコンパイルされたコードの中に埋め込みます。
.It Fl v
生成されたパーザの詳細を人間に読める形式で、
ファイル
.Pa y.output
に出力します。
.El
.Pp
もし環境変数
.Ev TMPDIR
が設定されていれば、
.Ev TMPDIR
に設定されている文字列はテンポラリファイルが作られる
ディレクトリ名として使用されます。
.Sh 関連ファイル
.Bl -tag -width /tmp/yacc.aXXXXXX -compact
.It Pa y.code.c
.It Pa y.tab.c
.It Pa y.tab.h
.It Pa y.output
.It Pa /tmp/yacc.aXXXXXX
.It Pa /tmp/yacc.tXXXXXX
.It Pa /tmp/yacc.uXXXXXX
.El
.Sh 診断
もし還元できないルールがあった場合、そのルール数が標準エラー
出力に表示されます。
もし何らかの LALR(1) の衝突があった場合、衝突数も標準エラー出力に表
示されます。
diff --git a/ja_JP.eucJP/man/man1/ypcat.1 b/ja_JP.eucJP/man/man1/ypcat.1
index ff12a216de..89daddc3f2 100644
--- a/ja_JP.eucJP/man/man1/ypcat.1
+++ b/ja_JP.eucJP/man/man1/ypcat.1
@@ -1,72 +1,72 @@
.\" Copyright (c) 1993 Winning Strategies, 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 Winning Strategies, Inc.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ypcat.1,v 1.3.2.2 1998/07/17 08:19:35 jkh Exp %
+.\" %Id: ypcat.1,v 1.7 1998/03/23 07:48:19 charnier Exp %
.\" jpman %Id: ypcat.1,v 1.3 1997/06/12 16:24:33 kubo Stab %
.\"
.Dd December 3, 1993
.Dt YPCAT 1
.Os
.Sh 名称
.Nm ypcat
.Nd "YP データベースのすべてのキーの値を表示する"
.Sh 書式
.Nm ypcat
.Op Fl kt
.Op Fl d Ar domainname
.Ar mapname
.Nm ypcat
.Fl x
.Sh 解説
.Nm ypcat
は、
.Ar mapname
(マップの名前またはニックネーム) で指定された
.Tn YP
データベース中のすべてのキーに関連付けられた値を表示します。
.Pp
オプションは以下のとおりです:
.Bl -tag -width indent
.It Fl d Ar domainname
デフォルトとは異なったドメイン名を用いたいときに指定します。
.It Fl k
指定したマップのキーも表示します。値が空のマップや、値にキーが含ま
れていないマップの内容を表示するのに便利です。
.It Fl t
マップのニックネームを、対応したマップ名に変換することを禁止します。
.It Fl x
マップのニックネームテーブルを表示します。
.El
.Sh 関連項目
.Xr domainname 1 ,
.Xr ypmatch 1 ,
.Xr yp 4 ,
.Xr ypbind 8 ,
.Xr ypset 8
.Sh 作者
.An Theo De Raadt .Aq deraadt@theos.com .
diff --git a/ja_JP.eucJP/man/man1/ypmatch.1 b/ja_JP.eucJP/man/man1/ypmatch.1
index bfefe540da..def9a787b0 100644
--- a/ja_JP.eucJP/man/man1/ypmatch.1
+++ b/ja_JP.eucJP/man/man1/ypmatch.1
@@ -1,74 +1,74 @@
.\" Copyright (c) 1993 Winning Strategies, 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 Winning Strategies, Inc.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ypmatch.1,v 1.3.2.2 1998/07/17 08:19:39 jkh Exp %
+.\" %Id: ypmatch.1,v 1.7 1998/03/23 07:48:31 charnier Exp %
.\" jpman %Id: ypmatch.1,v 1.3 1997/06/12 15:46:11 kubo Stab %
.\"
.Dd December 3, 1993
.Dt YPMATCH 1
.Os
.Sh 名称
.Nm ypmatch
.Nd "YP データベースのキーの値を表示する"
.Sh 書式
.Nm ypmatch
.Op Fl kt
.Op Fl d Ar domainname
.Ar key ...
.Ar mapname
.Nm ypmatch
.Fl x
.Sh 解説
.Nm ypmatch
は、
.Ar mapname
(マップの名前またはニックネーム) で指定された
.Tn YP
データベースを、
指定された 1 つまたは複数のキーで検索し、キーに対応する値を表示します。
.Pp
オプションは以下のとおりです:
.Bl -tag -width indent
.It Fl d Ar domainname
デフォルトとは異なったドメイン名を用いたいときに指定します。
.It Fl k
指定したマップのキーも表示します。値が空のマップや、値にキーが含ま
れていないマップの内容を表示するのに便利です。
.It Fl t
マップのニックネームを、対応したマップ名に変換することを禁止します。
.It Fl x
マップのニックネームテーブルを表示します。
.El
.Sh 関連項目
.Xr domainname 1 ,
.Xr ypcat 1 ,
.Xr yp 4 ,
.Xr ypbind 8 ,
.Xr ypset 8
.Sh 作者
.An Theo De Raadt Aq deraadt@theos.com .
diff --git a/ja_JP.eucJP/man/man1/ypwhich.1 b/ja_JP.eucJP/man/man1/ypwhich.1
index 3ce83f8b3f..f39d6ee0f6 100644
--- a/ja_JP.eucJP/man/man1/ypwhich.1
+++ b/ja_JP.eucJP/man/man1/ypwhich.1
@@ -1,100 +1,100 @@
.\" %NetBSD: ypwhich.1,v 1.3 1996/05/13 02:43:46 thorpej Exp %
.\"
.\" Copyright (c) 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 acknowledgement:
.\" This product includes software developed by Christopher G. Demetriou.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ypwhich.1,v 1.1.2.2 1998/07/17 08:19:43 jkh Exp %
+.\" %Id: ypwhich.1,v 1.3 1998/06/04 21:06:04 steve Exp %
.\"
.Dd February 23, 1994
.Dt YPWHICH 1
.Os
.Sh 名称
.Nm ypwhich
.Nd YP サーバのホスト名、もしくはマップのマスタを表示する
.Sh 書式
.Nm ypwhich
.Op Fl d Ar domain
.Oo
.Op Fl t
.Fl m Op Ar mname
|
.Ar host
.Oc
.Nm ypwhich
.Fl x
.Sh 解説
.Nm
はどの
.Tn YP
サーバが
.Tn YP
サービスをクライアントに提供しているか、または、どれがマップのマスタ
なのかを、知らせます。
引数なしで用いられると、ローカルマシンの
.Tn YP
サーバを返します。
.Ar host
を指定した場合には、どの
.Tn YP
サーバを使っているのか、指定したマシンに問合せます。
.Pp
オプションには以下のものが有ります:
.Bl -tag -width indent
.It Fl d Ar domain
デフォルトのドメインの代わりに
.Ar domain
を使用します。
.It Fl t
ニックネームを対応するマップネームに展開するのを抑制します。
.It Fl m Op Ar mname
指定したマップの
.Tn YP
サーバを探します。
.Fl m
オプションでは、
.Ar host
は指定できません。
.Ar mname
は、マップネームでもニックネームでもかまいません。もし
.Ar mname
が省略されていると、
.Nm
は、利用できるマップのリストを作成します。
.It Fl x
マップのニックネームのテーブルを表示します。
.El
.Sh 関連項目
.Xr domainname 1 ,
.Xr ypcat 1 ,
.Xr ypmatch 1 ,
.Xr yp 4 ,
.Xr ypbind 8 ,
.Xr yppoll 8 ,
.Xr ypset 8
.Sh 作者
.An Theo De Raadt
diff --git a/ja_JP.eucJP/man/man1/yyfix.1 b/ja_JP.eucJP/man/man1/yyfix.1
index 708e9a71cc..7cce78e6ef 100644
--- a/ja_JP.eucJP/man/man1/yyfix.1
+++ b/ja_JP.eucJP/man/man1/yyfix.1
@@ -1,116 +1,116 @@
.\" Copyright (c) 1990, 1991 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.
.\"
.\" @(#)yyfix.1 5.4 (Berkeley) 3/23/93
-.\" %Id: yyfix.1,v 1.1.1.1.8.2 1998/03/08 14:53:21 jkh Exp %
+.\" %Id: yyfix.1,v 1.2 1997/04/27 08:45:46 jmg Exp %
.\" jpman %Id: yyfix.1,v 1.3 1997/06/12 14:39:52 kubo Stab %
.\"
.Dd March 23, 1993
.Dt YYFIX 1
.Os BSD 4.4
.Sh 名称
.Nm yyfix
.Nd y.tab.c ファイルからテーブルを取り出す
.Sh 書式
.Nm yyfix
.Ar file
.Op Ar tables
.Sh 解説
歴史的には、
.Xr yacc 1
が生成したファイル
.Pa y.tab.c
からテーブルを取り出すために、
あるスクリプト (大抵は
.Dq :yyfix
という名前のもの) が用いられてきました。
現在のバージョンの
.Xr yacc
が生成するテーブル名は、これまでのバージョンの
.Xr yacc
が生成するものと異なるので、
この変換を簡単にするためにシェルスクリプト
.Nm
が提供されています。
.Pp
.Nm
の最初の (そして必須の) 引数は、
取り出したテーブルを格納するファイルの名前です。
.Pp
コマンドライン引数が更に指定された場合、
それらは取り出すテーブルのリストと解釈されます。
それ以外の場合、
.Nm
はファイル
.Pa y.tab.c
が新旧いずれの
.Xr yacc
から生成されたものかを判定し、
適切なテーブルを取り出そうとします。
.Pp
以前の
.Xr yacc
から取り出されるテーブルは以下の通りです:
.Dq yyexca ,
.Dq yyact ,
.Dq yypact ,
.Dq yypgo ,
.Dq yyr1 ,
.Dq yyr2 ,
.Dq yychk ,
.Dq yydef
.Pp
現バージョンの
.Xr yacc
から取り出されるテーブルは以下の通りです:
.Dq yylhs ,
.Dq yylen ,
.Dq yydefred ,
.Dq yydgoto ,
.Dq yysindex ,
.Dq yyrindex ,
.Dq yygindex ,
.Dq yytable ,
.Dq yyname ,
.Dq yyrule ,
.Dq yycheck
.Sh 関連ファイル
.Bl -tag -width y.tab.c
.It Pa y.tab.c
テーブルを取り出す元となるファイル
.El
.Sh 関連項目
.Xr yacc 1
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/a.out.5 b/ja_JP.eucJP/man/man5/a.out.5
index cec7ab4db5..dc8791f577 100644
--- a/ja_JP.eucJP/man/man5/a.out.5
+++ b/ja_JP.eucJP/man/man5/a.out.5
@@ -1,485 +1,485 @@
.\" 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
-.\" %Id: a.out.5,v 1.4.2.1 1996/12/31 22:50:38 mpp Exp %
+.\" %Id: a.out.5,v 1.7 1997/02/22 13:25:56 peter Exp %
.\"
.\" jpman %Id: a.out.5,v 1.3 1998/08/09 12:51:56 horikawa Stab %
.\" 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 書式
.Fd #include <a.out.h>
.Sh 解説
インクルードファイル
.Aq Pa 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) で格納されます。
このフィールドはいくつかのサブコンポーネントを持っており、それらは
以下のマクロ
.Dv N_GETFLAG() ,
.Dv N_GETMID() ,
.Dv N_GETMAGIC()
で参照され、マクロ
.Dv N_SETMAGIC()
で設定されます。
.Pp
マクロ
.Dv 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
マクロ
.Dv N_GETMID()
はマシン識別コード (machine-id) を返します。
これは、バイナリファイルが実行されるべきマシンを示しています。
.Pp
.Dv 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 になるように、
プログラムをロードします。
.It Fa a_syms
シンボルテーブルセクションのサイズ (バイト単位) を保持します。
.It Fa a_entry
カーネルがバイナリファイルをロードした後の、
プログラムのエントリポイントのメモリアドレスを保持します。
カーネルは、このアドレスにある機械命令からプログラムの実行を開始します。
.It Fa a_trsize
テキストリロケーションテーブルのサイズ (バイト単位) を保持します。
.It Fa a_drsize
データリロケーションテーブルのサイズ (バイト単位) を保持します。
.El
.Pp
インクルードファイル
.Pa 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
のいずれかをとります
.Po
これらの定義については
.Aq Pa link.h
を参照してください
.Pc 。
.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 link 5 ,
.Xr stab 5
.Sh 歴史
インクルードファイル
.Pa a.out.h
.At v7
で登場しました。
.Sh バグ
必ずしも全てのサポート対象アーキテクチャが
.Fa a_midmag
フィールドを用いるわけではないので、
あるバイナリがどのようなアーキテクチャ上で実行されるのかは、
実際のマシンコードを調べない限り判定困難な可能性があります。
マシン ID があったとしても、
.Fa exec
ヘッダのバイト順はマシン依存です。
.Pp
.Em bss
が何の略なのか、に関する合意はないようです。
.Pp
将来、新しいバイナリファイルフォーマットがサポートされるかも知れませんが、
その新フォーマットは恐らく、
あらゆるレベルでこの太古のフォーマットと互換性がないでしょう。
diff --git a/ja_JP.eucJP/man/man5/acct.5 b/ja_JP.eucJP/man/man5/acct.5
index dca16ef9fc..de5145913d 100644
--- a/ja_JP.eucJP/man/man5/acct.5
+++ b/ja_JP.eucJP/man/man5/acct.5
@@ -1,115 +1,115 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)acct.5 8.1 (Berkeley) 6/5/93
-.\" %Id: acct.5,v 1.1.1.1.8.4 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: acct.5,v 1.5 1998/06/28 21:33:41 hoek Exp %
.\"
.\" jpman %Id: acct.5,v 1.3 1998/05/27 11:45:48 kuma Stab %
.\"
.\" WORD: account アカウント[acct.5]
.\" WORD: accounting file アカウンティングファイル[acct.5]
.\" WORD: structure 構造体(C言語の)[C]
.\"
.Dd June 5, 1993
.Dt ACCT 5
.Os
.Sh 名称
.Nm acct
.Nd 実行アカウントファイル
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <sys/acct.h>
.Sh 解説
カーネルは、下記の
.Fa acct
情報構造を、全プロセスに対して管理します。
プロセスが終了すると、アカウンティングが有効になっている場合には、
カーネルは
.Xr acct 2
関数呼び出しを行い、アカウンティングファイルに記録を追加します。
.Bd -literal
/*
* アカウンティング構造体; これらは、基底値 8 の 3 ビット指数部および
* 13 ビット小数部の ``浮動小数点数'' である comp_t 型を使用します。
* 単位は 1/AHZ 秒です。
*/
typedef u_short comp_t;
#define AC_COMM_LEN 16
struct acct {
char ac_comm[AC_COMM_LEN]; /* コマンド名 */
comp_t ac_utime; /* ユーザ時間 */
comp_t ac_stime; /* システム時間 */
comp_t ac_etime; /* 経過時間 */
time_t ac_btime; /* 開始時刻 */
uid_t ac_uid; /* ユーザ ID */
gid_t ac_gid; /* グループ ID */
short ac_mem; /* 平均メモリ使用量 */
comp_t ac_io; /* 入出力ブロック数 */
dev_t ac_tty; /* 制御 tty */
#define AFORK 0x01 /* fork したが exec されていない */
#define ASU 0x02 /* スーパユーザ権限を使用した */
#define ACOMPAT 0x04 /* 互換モードを使用した */
#define ACORE 0x08 /* コアダンプした */
#define AXSIG 0x10 /* シクナルにより kill された */
char ac_flag; /* アカウンティングフラグ */
};
/*
* 1/AHZ の粒度で、データは comp_t フィールドにエンコードされます。
* 必ずしも周波数と同一となるとは限りません。
*/
#define AHZ 64
.Ed
.Pp
終了したプロセスが
.Xr execve 2
により生成されたものだった場合、
実行されたファイルのファイル名 (最大 10 文字まで) が
.Fa ac_comm
フィールドに保存され、その状態は
.Fa ac_flag
の次のフラグの 1 つ以上を設定することにより保存されます:
.Dv AFORK ,
.Dv ASU ,
.Dv ACOMPAT ,
.Dv ACORE ,
.Dv ASIG
.Sh 関連項目
.Xr acct 2 ,
.Xr execve 2 ,
.Xr sa 8
.Sh 歴史
.Nm
ファイルフォーマットは
.At v7
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/aliases.5 b/ja_JP.eucJP/man/man5/aliases.5
index 3b8503862c..2f3e336bc3 100644
--- a/ja_JP.eucJP/man/man5/aliases.5
+++ b/ja_JP.eucJP/man/man5/aliases.5
@@ -1,108 +1,85 @@
-.\" Copyright (c) 1983, 1997 Eric P. Allman
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1985, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" 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.
+.\" 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.
.\"
-.\" 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.
-.\"
-.\" @(#)aliases.5 8.3 (Berkeley) 2/1/97
+.\" @(#)aliases.5 8.8 (Berkeley) 5/19/98
.\" jpman %Id: aliases.5,v 1.3 1998/05/28 15:47:09 kuma Stab %
.\"
.\" WORD: alias (名)別名(sendmail),エイリアス(csh)(動)エイリアスする(sendmail)[aliases.5,csh.1]
.\"
-.Dd February 1, 1997
+.Dd May 19, 1998
.Dt ALIASES 5
.Os BSD 4
.Sh 名称
.Nm aliases
.Nd sendmail のためのエイリアスファイル
.Sh 書式
.Nm aliases
.Sh 解説
このファイルには、
.Pa /usr/sbin/sendmail
が使用する、ユーザ
.Tn ID
の別名を記述します。
このファイルは
.Pa /etc
に置かれる、下記の形式の一連の行です。
.Bd -filled -offset indent
name: name_1, name_2, name_3, . . .
.Ed
.Pp
.Em name
はエイリアスする名前、
.Em name_n
はその名前の別名です。
空白ではじまる行は継続行です。
.Ql #
ではじまる行はコメントです。
.Pp
エイリアスはローカル名でのみ適用されます。
ループは起りえません。
なぜなら、メッセージは同じ人に複数回送られないからです。
.Pp
エイリアス適用後、ローカルかつ有効な受信者で
.Dq Pa .forward
ファイルをホームディレクトリに持つ人のメッセージは、
このファイルに定義された一連のユーザに転送されます。
.Pp
これは単なる生のデータファイルです;
実際のエイリアス情報は
.Xr newaliases 1
プログラムを使用することにより、バイナリ形式でファイル
.Pa /etc/aliases.db
に置かれます。aliases ファイルを更新したときには、その内容を反映させるために、
.Xr newaliases
コマンドを実行する必要があります。
.Sh 関連項目
.Xr newaliases 1 ,
.Xr dbm 3 ,
.Xr dbopen 3 ,
.Xr sendmail 8
.Rs
.%T "SENDMAIL Installation and Operation Guide"
.Re
.Rs
.%T "SENDMAIL An Internetwork Mail Router"
.Re
.Sh バグ
.Xr sendmail
を NEWDB サポート付きではなく DBM サポート付きでコンパイルした時には、
エイリアス 1 つがおよそ 1000 バイトまでの情報に限るという
.Xr dbm 3
の制約が問題となるかもしれません。
このような場合に長いエイリアスを使用するためには ``連鎖'' を使用します;
これは別名の最後の名前をダミーの名前にし、
これを引続き別の別名として使用するというものです。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.0
に登場しました。
diff --git a/ja_JP.eucJP/man/man5/bootparams.5 b/ja_JP.eucJP/man/man5/bootparams.5
index 800eb21aa5..8f46e7c86a 100644
--- a/ja_JP.eucJP/man/man5/bootparams.5
+++ b/ja_JP.eucJP/man/man5/bootparams.5
@@ -1,78 +1,78 @@
.\"
.\" Copyright (c) 1994 Gordon W. Ross
.\" 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.
.\"
.\" from: Id: bootparams.5,v 1.2 1994/10/03 19:26:13 gwr Exp
-.\" %Id: bootparams.5,v 1.2.2.5 1998/03/09 13:50:33 jkh Exp %
+.\" %Id: bootparams.5,v 1.8 1998/01/01 11:02:45 bde Exp %
.\" jpman %Id: bootparams.5,v 1.3 1998/04/29 11:35:09 kuma Stab %
.\"
.Dd October 2, 1994
.Dt BOOTPARAMS 5
.Os
.Sh 名称
.Nm bootparams
.Nd ブートパラメータデータベース
.Sh 書式
.Nm /etc/bootparams
.Sh 解説
.Nm
ファイルは、
ディスクレスクライアントがネットワーク越しにブートする時に要求する、
ブートパラメータを指定します。
このサーバがサポートする各クライアントは、
.Nm
ファイル中に、
.Nm root
のパス名と (オプションで)
.Nm swap
領域のパス名を含むエントリを持つ必要があります。
.Pp
ファイル中の各行 (# から初まるコメント行以外) は、
クライアント名、
それに続いてクライアントの論理名にて要求するパス名から成ります。
行内部の要素は空白もしくはタブで区切られ、
バックスラッシュを使用すれば複数行を続けて使用することができます。
.Pp
例を以下に示します:
.Bd -literal -offset indent
dummy root=host:/export/dummy/root \\
swap=host:/export/dummy/swap \\
dump=host:/export/dummy/swap
.Ed
.Pp
名前が "dummy" のクライアントが、自らの論理 "root" のパス名を要求した時、
この
.Tn RPC
リクエストに対してパス名
.Dq Pa "host:/export/dummy/root"
が返答として与えられます。"host:" 部分は必ず指定する必要があります。
.Sh 関連ファイル
.Bl -tag -width /etc/bootparams -compact
.It Pa /etc/bootparams
デフォルトの構成ファイル
.El
.Sh 関連項目
.Xr bootparamd 8 ,
.Xr diskless 8
diff --git a/ja_JP.eucJP/man/man5/bootptab.5 b/ja_JP.eucJP/man/man5/bootptab.5
index e2e8849165..d480205969 100644
--- a/ja_JP.eucJP/man/man5/bootptab.5
+++ b/ja_JP.eucJP/man/man5/bootptab.5
@@ -1,395 +1,413 @@
.\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University
.\"
-.\" %Header: /home/ncvs/src/libexec/bootpd/bootptab.5,v 1.1.1.2.2.2 1998/02/18 05:55:30 jkh Exp %
+.\" %Id: bootptab.5,v 1.2 1998/02/03 07:30:22 charnier Exp %
.\"
-.TH BOOTPTAB 5 "October 31, 1991" "Carnegie Mellon University"
.\" jpman %Id: bootptab.5,v 1.3 1998/07/02 18:50:36 kumano Stab %
-.UC 6
-
-.SH 名称
-bootptab \- インターネットブートストラッププロトコルサーバのデータベース
-.SH 解説
-.I bootptab
+.Dd October 31, 1991
+.Dt BOOTPTAB 5
+.Os "Carnegie Mellon University"
+.Sh 名称
+.Nm bootptab
+.Nd インターネットブートストラッププロトコルサーバのデータベース
+.Sh 解説
+.Nm
ファイルは、
-.IR bootpd
+.Xr bootpd 8
すなわちインターネットブートストラッププロトコルサーバの
設定データベースファイルです。
このフォーマットは
-.IR termcap (5)
+.Xr termcap 5
のものに似ており、2 文字の大文字小文字を区別するタグシンボルが
ホストパラメータを表現します。
これらのパラメータ宣言はコロン (:) によって分けられ、次のような形式になります。
-.PP
-.I " hostname:tg=value. . . :tg=value. . . :tg=value. . . ."
-.PP
+.Pp
+.Dl "hostname:tg=value. . . :tg=value. . . :tg=value. . . ."
+.Pp
ここで
-.I hostname
+.Em hostname
は実際の bootp クライアントの名前 (もしくは「ダミーエントリ」) であり、
-.I tg
+.Em tg
は 2 文字のタグシンボルです。
ダミーエントリは不正なホスト名 ("." を最初の文字とする名前) を持ち、
-.B tc=.dummy-entry
+.Em tc=.dummy-entry
機構を介して他のエントリにデフォルト値を提供します。
ほとんどのタグの後には、上記のように等号と値を続ける必要があります。
値を伴わないブール形式のものもあります (すなわち
-.RI : tg :
+.Em :tg:
の形式です)。
現在、認識されるタグを示します:
-.PP
-.br
- bf ブートファイル
-.br
- bs 512 オクテットブロックでのブートファイルの大きさ
-.br
- cs クッキーサーバのアドレスリスト
-.br
- df メリットダンプファイル
-.br
- dn ドメイン名
-.br
- ds ドメインネームサーバのアドレスリスト
-.br
- ef 拡張ファイル
-.br
- gw ゲートウェイのアドレスリスト
-.br
- ha ホストのハードウェアアドレス
-.br
- hd ブートファイルのホームディレクトリ
-.br
- hn クライントのホスト名をクライアントに送る
-.br
- ht ホストのハードウェアタイプ (Assigned Numbers RFC を参照)
-.br
- im インプレスサーバのアドレスリスト
-.br
- ip ホストの IP アドレス
-.br
- lg ログサーバのアドレスリスト
-.br
- lp LPR サーバのアドレスリスト
-.br
- ns IEN-116 ネームサーバのアドレスリスト
-.br
- nt NTP (時刻) サーバ (RFC 1129)
-.br
- ra 返答アドレスの上書き
-.br
- rl リソースロケーションプロトコルサーバのアドレスリスト
-.br
- rp ルートとしてマウントするルートパス
-.br
- sa クライアントが使用すべき TFTP サーバのアドレス
-.br
- sm ホストのサブネットマスク
-.br
- sw スワップサーバのアドレス
-.br
- tc テーブル継続 (同様の「テンプレート」ホストエントリを指します)
-.br
- td 「安全な」 TFTP サーバが使用するルートディレクトリ
-.br
- to 秒で表現した UTC からのオフセット
-.br
- ts タイムサーバのアドレスリスト
-.br
- vm ベンダマジッククッキーセレクタ
-.br
- yd YP (NIS) のドメイン名
-.br
- ys YP (NIS) のサーバアドレス
-
-.PP
+.Pp
+.Bl -tag -width xxx -compact
+.It bf
+ブートファイル
+.It bs
+512 オクテットブロックでのブートファイルの大きさ
+.It cs
+クッキーサーバのアドレスリスト
+.It df
+メリットダンプファイル
+.It dn
+ドメイン名
+.It ds
+ドメインネームサーバのアドレスリスト
+.It ef
+拡張ファイル
+.It gw
+ゲートウェイのアドレスリスト
+.It ha
+ホストのハードウェアアドレス
+.It hd
+ブートファイルのホームディレクトリ
+.It hn
+クライントのホスト名をクライアントに送る
+.It ht
+ホストのハードウェアタイプ (Assigned Numbers RFC を参照)
+.It im
+インプレスサーバのアドレスリスト
+.It ip
+ホストの IP アドレス
+.It lg
+ログサーバのアドレスリスト
+.It lp
+LPR サーバのアドレスリスト
+.It ns
+IEN-116 ネームサーバのアドレスリスト
+.It nt
+NTP (時刻) サーバ (RFC 1129)
+.It ra
+返答アドレスの上書き
+.It rl
+リソースロケーションプロトコルサーバのアドレスリスト
+.It rp
+ルートとしてマウントするルートパス
+.It sa
+クライアントが使用すべき TFTP サーバのアドレス
+.It sm
+ホストのサブネットマスク
+.It sw
+スワップサーバのアドレス
+.It tc
+テーブル継続 (同様の「テンプレート」ホストエントリを指します)
+.It td
+「安全な」 TFTP サーバが使用するルートディレクトリ
+.It to
+秒で表現した UTC からのオフセット
+.It ts
+タイムサーバのアドレスリスト
+.It vm
+ベンダマジッククッキーセレクタ
+.It yd
+YP (NIS) のドメイン名
+.It ys
+YP (NIS) のサーバアドレス
+.El
+.Pp
包括的な
-.RI T n
+.Pf T Em n
タグもあります。ここで
-.I n
+.Em n
は RFC1084 のベンダフィールドタグ番号です。
これにより、まず
-.I bootpd
+.Nm bootpd
を変更しなくとも、
RFC1084 に対する将来の拡張の利点をすぐに利用することができます。
包括的なデータは、
-16 進数のストリームもしくはクォートされた ASCII 文字列として表現されます。
+16 進数のストリームもしくはクォートされた
+.Tn ASCII
+文字列として表現されます。
包括的なデータの長さは自動的に判定され、
RFC1084 スタイルのブートストラップリプライの適切なフィールドに挿入されます。
-.PP
+.Pp
以下のタグは空白で区切られた IP アドレスのリストを取ります:
-.BR cs ,
-.BR ds ,
-.BR gw ,
-.BR im ,
-.BR lg ,
-.BR lp ,
-.BR ns ,
-.BR nt ,
-.BR ra ,
-.BR rl ,
-.BR ts
+.Em cs ,
+.Em ds ,
+.Em gw ,
+.Em im ,
+.Em lg ,
+.Em lp ,
+.Em ns ,
+.Em nt ,
+.Em ra ,
+.Em rl ,
+.Em ts
。また
-.BR ip ,
-.BR sa ,
-.BR sw ,
-.BR sm ,
-.B ys
+.Em ip ,
+.Em sa ,
+.Em sw ,
+.Em sm ,
+.Em ys
タグはそれぞれ単一の IP アドレスを取ります。
IP アドレスは全て標準のインターネット「ドット」表記で指定されます。
10 進数、8 進数、16 進数のいずれも使用可能です
(8 進数は 0 から始まり、16 進数は '0x' または '0X' から始まります)。
IP アドレスは代りにホスト名で指定可能です。
この場合、
-.I bootpd
-はそのホスト名の IP アドレスを得るために gethostbyname(3) を使用します。
+.Nm bootpd
+はそのホスト名の IP アドレスを得るために
+.Xr gethostbyname 3
+を使用します。
もし
-.B ip
+.Em ip
タグが指定されなかった場合、
-.I bootpd
+.Nm bootpd
はエントリ名をホスト名とすることにより IP アドレスを判定します。
(ダミーエントリは不正なホスト名とすることにより、
自動的な IP 検索を避けます)
-.PP
-.B ht
+.Pp
+.Em ht
タグは、10 進数・8 進数・16 進数の符号無し整数、
もしくは以下のいずれかのシンボル名をもって、
ハードウェアタイプコードを指定します。
-.BR ethernet ,
-.B ether
+.Em ethernet ,
+.Em ether
は 10Mb イーサネットを、
-.BR ethernet3 ,
-.B ether3
+.Em ethernet3 ,
+.Em ether3
は 3Mb の実験的イーサネットを、
-.BR ieee802 ,
-.BR tr ,
-.B token-ring
+.Em ieee802 ,
+.Em tr ,
+.Em token-ring
は IEEE 802 ネットワークを、
-.B pronet
+.Em pronet
は Proteon ProNET Token Ring を、
-.BR chaos ,
-.BR arcnet ,
-.B ax.25
+.Em chaos ,
+.Em arcnet ,
+.Em ax.25
は Chaos, ARCNET, AX.25 Amateur Radio networks を、それぞれ表現します。
-.B ha
+.Em ha
タグは、ホスト名もしくは数値形式で、ハードウェアアドレスを指定します。
数値形式は 16 進数で指定する
-.I 必要があります
+.Em 必要があります
。可読性のためにピリオドを付けたり、前に '0x' を付けても良いです。
-.B ha
+.Em ha
タグの前に
-.B ht
+.Em ht
タグがある必要があります (明示的でも暗黙的でもかまいません。後述の
-.B tc
+.Em tc
参照)。ハードウェアアドレスが指定されない場合、指定されたタイプが
\&"ethernet" もしくは
\&"ieee802" の場合、
-.I bootpd
-は ether_hostton(3) を使用してハードウェアアドレスを決定しようとします。
-.PP
-ホスト名・ホームディレクトリ・ブートファイルは ASCII 文字列であり、
+.Nm bootpd
+は
+.Xr ether_hostton 3
+を使用してハードウェアアドレスを決定しようとします。
+.Pp
+ホスト名・ホームディレクトリ・ブートファイルは
+.Tn ASCII
+文字列であり、
ダブルクォート (") で括ることもできます。
クライアントのリクエストおよび
-.B hd
+.Em hd
シンボルと
-.B bf
+.Em bf
シンボルの値は、bootp リプライパケットのブートファイルフィールドを
サーバがどのように埋めるかを決定します。
-.PP
+.Pp
クライアントがファイル名を指定した場合、それはそのまま残されます。
そうでない場合は、
-.B bf
+.Em bf
オプションが指定されていれば、その値がリプライパケットにコピーされます。
もし
-.B hd
+.Em hd
オプションも指定されている場合には、
その値がリプライパケットにコピーされるブートファイルの前に付きます。
ブートファイルの存在確認は
-.BR bs =auto
+.Em bs Ns =auto
オプションが使用されているときのみ行われます
(ブートファイルサイズ確認のためです)。
ブートファイルが存在しようとしまいと、リプライは送られます。
-.PP
+.Pp
新しいバージョンの
-.I tftpd
+.Xr tftpd 8
では、
-.IR chroot (2)
+.Xr chroot 2
システムコールを使用してルートディレクトリを変更するという
セキュリティ機能を提供します。
-.B td
+.em td
タグは、
-.IR tftpd
+.Nm tftpd
が使用するこの特殊ルートディレクトリを
-.I bootpd
+.Nm bootpd
に通知するために使用します。
(代りに
-.I bootpd
-"-c chdir" オプションを使用したいかもしれません。)
+.Nm bootpd
+.Fl c Ar chdir
+オプションを使用したいかもしれません。)
実際、
-.B hd
+.Em hd
タグは
-.B td
+.Em td
タグにより指定されるルートディレクトリからの相対指定です。
例えば、BOOTP クライアントブートファイルの現実の絶対パスが
-/tftpboot/bootfiles/bootimage であり、
-.IR tftpd
-が /tftpboot を「安全な」ディレクトリとする場合、
-.IR bootptab
+.Pa /tftpboot/bootfiles/bootimage
+であり、
+.Nm tftpd
+が
+.Pa
+/tftpboot
+を「安全な」ディレクトリとする場合、
+.Pa bootptab
では次のように指定します。
-.PP
-.br
- :td=/tftpboot:hd=/bootfiles:bf=bootimage:
-.PP
-ブートファイルを直接 /tftpboot に置く場合には次のようにします。
-.PP
-.br
- :td=/tftpboot:hd=/:bf=bootimage:
-.PP
-.B sa
+.Pp
+.Fl :td=/tftpboot:hd=/bootfiles:bf=bootimage:
+.Pp
+ブートファイルを直接
+.Pa /tftpboot
+に置く場合には次のようにします。
+.Pp
+.Dl :td=/tftpboot:hd=/:bf=bootimage:
+.Pp
+.Em sa
タグは、あなたがクライアントに使用させたい特定の TFTP サーバの IP アドレスを
指定するために使用します。
このタグを指定しないと、
-.I bootpd
+.Nm bootpd
が実行されているのと同じマシンに対して TFTP を行うように、
.I bootpd
はクライアントに指示します。
-.PP
+.Pp
時刻オフセット
-.B to
+.Em to
は、クライアントの UTC からのタイムゾーンオフセットを秒で表現した
符号付き 10 進数、
またはサーバのタイムゾーンオフセットを使用することを意味するキーワード
-.B auto
+.Em auto
です。
-.B to
+.Em to
シンボルをブール値として指定することは、
-.B auto
+.Em auto
を値として指定するのと同じ効果があります。
-.PP
+.Pp
ブートファイルサイズ
-.B bs
+.Em bs
は、10 進数・8 進数・16 進数の整数で
ブートファイルのサイズを 512 オクテットブロックで表現したもの、
またはサーバが各リクエストに際して
ブートファイルサイズを自動的に計算することを示すキーワード
-.B auto
+.Em auto
です。
時刻オフセットと同じく、
-.B bs
+.Em bs
シンボルをブール値として指定することは、
-.B auto
+.Em auto
を値として指定するのと同じ効果があります。
-.PP
+.Pp
ベンダマジッククッキーセレクタ (
-.B vm
+.Em vm
タグ) は以下のキーワードのいずれかを取ります。
-.B auto
+.Em auto
(ベンダ情報をクライアントリクエストから判別)、
-.B rfc1048
+.Em rfc1048
または
-.B rfc1084
+.Em rfc1084
(常に RFC1084 スタイルのリプライを強制)、または
-.B cmu
+.Em cmu
(常に CMU スタイルのリプライを強制) です。
-.PP
-.B hn
+.Pp
+.Em hn
タグは厳密にブール値のタグです。通常の等号および値を取りません。
このタグが存在すると、ホスト名を RFC1084 クライアントに送ることを意味します。
-.I bootpd
+.Nm bootpd
は、構成ファイルで指定されるホスト名全体を送ろうとします。
リプライパケットに収まらない場合、
名前は (存在するならば最初のピリオドまでの) ホストフィールドのみに縮められ、
再度試されます。
任意の長さに縮められたホスト名が送られてしまうということはありません
(収まるものがない場合には、なにも送られません)。
-.PP
+.Pp
しばしば、多くのホストエントリが特定のタグの共通の値を共有します
(ネームサーバなど)。
これらのタグを何度も書くのではなく、
全体仕様を 1 つのホストエントリに記述してこれを
-.B tc
+.Em tc
(テーブル継続) 機構を介して共有することができます。
多くの場合、このテンプレートエントリは実際には存在しないダミーホストであり、
bootp リクエストを送ることはありません。
この機能は、
-.IR termcap (5)
+.Xr termcap 5
で似た端末を記述するための
-.B tc
+.Em tc
機能に似ています。
-.I termcap
+.Pa termcap
では最後のタグでなければなりませんが、
-.I bootpd
+.Nm bootpd
では
-.B tc
+.Em tc
タグシンボルがホストエントリ中のどこにあらわれても良いことに注意してください。
ホストに対して明示的に指定した情報は、エントリ中の
-.B tc
+.Em tc
タグシンボルの位置にかかわらず、これにより暗黙に指定される情報を上書きします。
-.B tc
+.Em tc
タグの値はホスト名もしくは構成ファイルで前に記述されている IP アドレスです。
-.PP
-.BR tc
+.Pp
+.Em tc
タグで暗示された特定のタグの削除が必要になることがあります。
これは
-.IB tag @
+.Em tag Ns @
構造を使用することにより、
-.IR termcap (5)
+.Xr termcap 5
の場合と同様に
-.I tag
+.Em tag
の効果を削除することにより実現できます。
例えば、IEN-116 ネームサーバ仕様を完全に無効にしたい場合には、
構成ファイルのエントリの適切な位置に
-\&":ns@:" を置きます。
-.BR @
+.Em :ns@:
+を置きます。
+.Em @
を使用して削除を行った後には、
-.B tc
+.Em tc
機構を使用してそのタグを再度設定することができます。
-.PP
+.Pp
構成ファイル中の、空行および "#" で始まる行は無視されます。
ホストエントリは改行で分けられます。
単一のホストエントリは、
行がバックスラッシュ (\\) で終る場合に複数行にまたがることができます。
行が 80 文字を越えることも許されます。
タグは任意の順序で現われてかまいませんが、次のような例外があります。
ホスト名はエントリの最初のフィールドである必要があり、
ハードウェアタイプはハードウェアアドレスの前に指定する必要があります。
-.PP
-.I /etc/bootptab
+.Pp
+.Pa /etc/bootptab
ファイルの例を示します:
-.PP
+.Pp
.nf
# Sample bootptab file (domain=andrew.cmu.edu)
.default:\\
:hd=/usr/boot:bf=null:\\
:ds=netserver, lancaster:\\
:ns=pcs2, pcs1:\\
:ts=pcs2, pcs1:\\
:sm=255.255.255.0:\\
:gw=gw.cs.cmu.edu:\\
:hn:to=-18000:
carnegie:ht=6:ha=7FF8100000AF:tc=.default:
baldwin:ht=1:ha=0800200159C3:tc=.default:
wylie:ht=1:ha=00DD00CADF00:tc=.default:
arnold:ht=1:ha=0800200102AD:tc=.default:
bairdford:ht=1:ha=08002B02A2F9:tc=.default:
bakerstown:ht=1:ha=08002B0287C8:tc=.default:
# Special domain name server and option tags for next host
butlerjct:ha=08002001560D:ds=128.2.13.42:\\
:T37=0x12345927AD3BCF:\\
:T99="Special ASCII string":\\
:tc=.default:
gastonville:ht=6:ha=7FFF81000A47:tc=.default:
hahntown:ht=6:ha=7FFF81000434:tc=.default:
hickman:ht=6:ha=7FFF810001BA:tc=.default:
lowber:ht=1:ha=00DD00CAF000:tc=.default:
mtoliver:ht=1:ha=00DD00FE1600:tc=.default:
.fi
-.SH 関連ファイル
-/etc/bootptab
-
-.SH "関連項目"
-bootpd (8), tftpd(8)
+.Sh 関連ファイル
+.Bl -tag -width /etc/bootptab -compact
+.It /etc/bootptab
+.El
+.Sh "関連項目"
+.Xr bootpd 8 ,
+.Xr tftpd 8
.br
DARPA Internet Request For Comments RFC951, RFC1048, RFC1084, Assigned Numbers
diff --git a/ja_JP.eucJP/man/man5/core.5 b/ja_JP.eucJP/man/man5/core.5
index 39069976e4..10fe67e28c 100644
--- a/ja_JP.eucJP/man/man5/core.5
+++ b/ja_JP.eucJP/man/man5/core.5
@@ -1,110 +1,132 @@
.\" 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
-.\" %Id: core.5,v 1.2.2.2 1998/05/11 03:42:44 steve Exp %
+.\" %Id: core.5,v 1.7 1998/07/21 18:16:00 joerg Exp %
.\"
.\" jpman %Id: core.5,v 1.3 1998/06/12 15:55:30 kumano Stab %
.\"
.Dd December 11, 1993
.Dt CORE 5
.Os BSD 4
.Sh 名称
.Nm core
.Nd メモリイメージのファイルフォーマット
.Sh 書式
.Fd #include <sys/param.h>
.Sh 解説
プロセスを異常終了させる少数のシグナルは、
プロセスのメモリ内状態の記録をディスクに書き出させる効果もあります。
これにより、デバッガを使用して後で検査を行うことが可能です。(
.Xr sigaction 2
を参照してください。)
-このメモリイメージは作業ディレクトリの
+このメモリイメージは、デフォルトでは作業ディレクトリの
.Nm プログラム名.core
という名前のファイルに書かれます。
ただし、終了したプロセスがそのディレクトリに書きこみ権限を持ち、
発生した異常がシステムを破壊しないことが前提です。
(システムが破壊された場合には、
コアファイルを保存するかどうかの決定は不定です。
.Xr savecore 8
を参照してください。)
.Pp
-.Nm プログラム名.core
-ファイルの最大サイズは
+コアファイルの最大サイズは
.Xr setrlimit 2
により制限されます。
制限よりも大きくなるファイルは生成されません。
-.Pp
-.Nm プログラム名.core
-ファイルは、(ページ数での) 大きさが
+ファイル名は
+.Xr sysctl 8
+変数
+.Va kern.corefile
+にて制御されます。
+この変数の内容がコアイメージを格納するファイルの名前を示します。
+このファイル名は絶対でも相対でもかまいません
+(後者の場合、コアを生成するプログラムの現在のディレクトリから解決されます)。
+このファイル名テンプレート中のシーケンス
+.Em \&%N
+はプロセス名で置き換えられ、
+.Em \&%P
+はプロセスの PID で置き換えられ、
+.Em \&%U
+は UID で置き換えられます。
+デフォルトの名前は
+.Em \&%N.core
+であり、伝統的な FreeBSD の振舞いとなります。
+コアファイルは、(ページ数での) 大きさが
.Aq Pa sys/param.h
ファイルで
.Dv UPAGES
と定義されている
.Fa u .
領域からなります。
.Fa u .
領域は
.Aq Pa sys/user.h
に記述されている
.Fa user
構造体から始まります。
-.Nm プログラム名.core
-の残りの部分には、
+コアの残りの部分には、
データページに続いてプロセスイメージのスタックページが格納されます。
-.Nm プログラム名.core
-ファイル中のデータ空間イメージの (ページ数での) 大きさは、
+コアファイル中のデータ空間イメージの (ページ数での) 大きさは、
.Fa u .
領域の変数
.Fa u_dsize
で与えられます。
コアファイル中のスタックイメージの (ページ数での) 大きさは、
.Fa u .
領域の変数
.Fa u_ssize
で与えられます。
``ページ'' サイズは定数
.Dv PAGE_SIZE
-.\" docs/6573 の内容を反映 horikawa@jp.freebsd.org 1998/05/18
で与えられます (これも
.Aq Pa sys/param.h
から与えられます)。
+.Sh 使用例
+全コアイメージを、
+.Pa /var/coredumps
+以下のユーザごとのプライベート領域に格納するためには、
+次のように
+.Xr sysctl 8
+コマンドを使用します:
+.Pp
+.Dl sysctl -w kern.corefile="/var/coredumps/\&%U/\&%N.core"
.Sh 関連項目
.Xr gdb 1 ,
.Xr kgdb 1 ,
.Xr setrlimit 2 ,
-.Xr sigaction 2
+.Xr sigaction 2 ,
+.Xr sysctl 8
.Sh 歴史
.Nm core
ファイルのフォーマットは
.At v6
に登場しました。
diff --git a/ja_JP.eucJP/man/man5/crontab.5 b/ja_JP.eucJP/man/man5/crontab.5
index dddc38f22a..70e8eedb52 100644
--- a/ja_JP.eucJP/man/man5/crontab.5
+++ b/ja_JP.eucJP/man/man5/crontab.5
@@ -1,223 +1,223 @@
.\"/* Copyright 1988,1990,1993,1994 by Paul Vixie
.\" * All rights reserved
.\" *
.\" * Distribute freely, except: don't remove my name from the source or
.\" * documentation (don't take credit for my work), mark your changes (don't
.\" * get me blamed for your possible bugs), don't alter or remove this
.\" * notice. May be sold if buildable source is provided to buyer. No
.\" * warrantee of any kind, express or implied, is included with this
.\" * software; use at your own risk, responsibility for damages (if any) to
.\" * anyone resulting from the use of this software rests entirely with the
.\" * user.
.\" *
.\" * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
.\" * I'll try to keep a version up to date. I can be reached as follows:
.\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul
.\" */
.\"
-.\" %Id: crontab.5,v 1.1.1.1.8.4 1998/07/18 11:09:18 jkh Exp %
+.\" %Id: crontab.5,v 1.8 1998/03/23 08:21:36 charnier Exp %
.\"
.\" jpman %Id: crontab.5,v 1.3 1998/07/02 14:12:25 horikawa Stab %
.\"
.\" WORD: day of the week 曜日
.Dd January 24, 1994
.Dt CRONTAB 5
.Os
.Sh 名称
.Nm crontab
.Nd cron を駆動するための一覧表
.Sh 解説
1 つの
.Nm
ファイルには ``この日のこの時間にこのコマンドを実行せよ''
という一般的な形式の
.Xr cron 8
デーモンへの複数の指示が含まれています。
各々ユーザは各自所有の crontab を持ち、crontab に書かれたコマンドはその
crontab を所有するユーザとして実行されることになります。UUCP と News は
通常それ自身所有の crontab を持ち、cron コマンドの一部として
.Xr su 1
を実際に実行させる必要のないようにしています。
.Pp
空行と、先頭の空白およびタブは無視されます。
最初の非空白文字がポンド記号 (#) である行は注釈行であり、無視されます。
注釈は cron コマンドと同じ行にあってはいけません。
なぜなら、注釈自身がコマンドの一部とみなされるからです。
同様に、注釈は環境変数を設定する行と同じ行にあって
はいけません。
.Pp
crontab の中で有効なのは環境変数の設定かまたは cron コマンドのどちらかです。
環境変数の設定は次のような形で行います。
.Pp
name = value
.Pp
ここで等号 (=) の周囲の空白は有っても良いですが、
.Em value
の中で = に引き続くスペースでない部分だけが
.Em name
に割当てられる値となります。
.Em value
文字列はクォート
(シングルクォートまたはダブルクォートですがどちらかに統一します)
で囲うこともでき、そのときには = に続くブランクや末尾のブランク
を含むことができます。
.Pp
いくつかの環境変数は自動的に
.Xr cron 8
デーモンによって設定されます。
.Ev SHELL
.Pa /bin/sh
に設定され、
.Ev LOGNAME
.Ev HOME
はその crontab の所有者の
.Pa /etc/passwd
行を元に設定されます。
.Ev HOME
.Ev SHELL
は、crontab ファイル中で設定することで上書きできますが、
.Ev LOGNAME
はできません。
.Pp
(別注:
.Ev LOGNAME
変数は BSD システム上では
.Ev USER
と呼ばれることがあります。このようなシステム上では
.Ev USER
も設定されます。)
.Pp
.Ev LOGNAME ,
.Ev HOME ,
.Ev SHELL
に加え、
``この'' crontab で実行したコマンドの実行結果をメールで送る理由がある場合、
.Xr cron 8
.Ev MAILTO
を見ます。
.Ev MAILTO
が定義されていて (かつ空でない) とき、そこで指定された名前のユーザへメール
が送られます。
.Ev MAILTO
が定義されているが空のとき (MAILTO="")、メールは送られません。
その他の場合にはメールは crontab の所有者に送られます。
cron インストール時に、メーラとして
.Pa /usr/lib/sendmail
ではなく
.Pa /bin/mail
を使う場合、このオプションは有用です
--
.Pa /bin/mail
はエリアスを行いませんし、UUCP は通常自分宛のメールを読みません。
.Pp
cron コマンドのフォーマットはほとんど V7 標準であり、多くの上位互換拡張を
持っています。各行は 5 つの時間と日付の欄、システム crontab
ファイルの場合は続いてユーザ名
(``:<グループ>'' および ``/<ログインクラス>'' の添字が付くこともあります)、
その後にコマンドが続きます。分、時間、月の欄と現在の時刻が一致し、
.Em かつ
2 つの日付欄 (月における日または曜日) のうちの少なくとも 1 つと
現在の時刻が一致したとき (下記の ``注'' 参照) に、コマンドは
.Xr cron 8
により実行されます。
.Xr cron 8
は 1 分ごとに cron エントリを調べます。時間と日付の欄は次のとおりです。
.Bd -literal -offset indent
欄          許される値
------------ ------------------------------------------------
分 0-59
時間 0-23
月における日 1-31
月 1-12 (または名前、下記参照)
曜日 0-7 (0 および 7 は日曜のこと。名前を用いてもよい)
.Ed
.Pp
欄はアスタリスク (*) でも良いですが、このときには常に "最初-最後" を表すこ
とになります。
.Pp
数値領域を指定できます。領域指定は、2 つの数をハイフンでつなげたものです。
指定された領域は、両端を含みます。
たとえば ``時間'' エントリの 8-11 は、
8, 9, 10, 11 時の実行を指定することになります。
.Pp
リスト指定もできます。リスト指定はコンマによって数 (または領域指定) をつな
げた 1 組のことです。例: ``1,2,5,9'', ``0-4,8-12''。
.Pp
間隔値は領域指定と共に用いることができます。領域指定に続けて
``/<数>'' を指定すると、その領域を通じてその数の値だけ飛ばす値になります。
たとえば ``0-23/2'' は時間の欄で用いられると、2 時間おきにコマンドを実行
することになります (別の方法で V7 標準で表せば
``0,2,4,6,8,10,12,14,16,18,20,22'' となります)。間隔指定はアスタリスクの
後で付けても構いません。たとえば ``2 時間おきに全て'' ということをしたい
なら ``*/2'' とするだけです。
.Pp
``月'' および ``曜日'' の指定には、名前を使用することができます。
曜日と月の指定には、最初の 3 文字を使ってください (この場合、
大文字・小文字の区別はありません)。名前による領域指定やリスト指定はでき
ません。
.Pp
``6 番目'' の欄 (行の残りの部分) には実行したいコマンドを指定します。行の
中のコマンド部全体、これは改行または % 文字までですが、は
.Pa /bin/sh
かまたはその cron ファイルの
.Ev SHELL
変数で指定されたシェルによって実行されます。コマンド内のパーセント記号
(%) はバックスラッシュ (\\) でエスケープされない限り改行文字に変換され、そ
の最初の % 以降の全てのデータはそのコマンドの標準入力となります。
.Pp
注: コマンド実行の日付は 2 つの欄 \(em 1 ヶ月中の日 および曜日
\(em で指定できます。両方の欄が領域限定されている (すなわち * でない
) 場合、コマンドは
.Em どちらかの
欄が現在の時刻と一致するときに実行されます。たとえば
.br
``30 4 1,15 * 5''
は各月の 1 日および 15 日に加えて全ての金曜日において、
午前 4:30 にコマンドを実行させます。
.Sh cron ファイルの例
.Bd -literal
# /etc/passwd の設定に関係なく、コマンドの実行には /bin/sh を用いる
SHELL=/bin/sh
# これが誰の crontab であっても、全ての出力は `paul' にメールする
MAILTO=paul
#
# 毎月 深夜 0時5分 に実行する
5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
# 毎月の最初の日の PM 2:15 に実行する -- 出力結果は paul にメールされる
15 14 1 * * $HOME/bin/monthly
# ウィークディの PM 10 時に実行して Joe をうるさがらせる
0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?%
23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday"
5 4 * * sun echo "run at 5 after 4 every sunday"
.Ed
.Sh 関連項目
.Xr crontab 1 ,
.Xr cron 8
.Sh 機能拡張項目
曜日を指定するとき、日 0 と日 7 は日曜日とみなされます。BSD お
よび ATT はこれに同意しないようです。
.Pp
リスト指定および領域指定は同じ欄内で指定できます。"1-3,7-9" は ATT や
BSD cron では受け付けません -- "1-3" や "7,8,9" だけが許されます。
.Pp
領域指定は ``間隔指定'' を含むことができますので "1-9/2" は "1,3,5,7,9" と
同じことになります。
.Pp
月の名前や曜日の名前は、名前で指定できます。
.Pp
環境変数は crontab の中で指定できます。BSD や ATT では 子プロセスに渡さ
れた環境変数は基本的に
.Pa /etc/rc
から渡された環境変数です。
.Pp
crontab 所有者へメールされる (BSD はできません) コマンド出力結果は、
crontab 所有者以外の人へメールしたり (SysV はできません)、
この機能を停止して誰にもメールを送らなくできます
(SysV はこれもできません) 。
.Sh 作者
.An Paul Vixie Aq paul@vix.com
diff --git a/ja_JP.eucJP/man/man5/ctm.5 b/ja_JP.eucJP/man/man5/ctm.5
index c3a02f9e1a..1082672d29 100644
--- a/ja_JP.eucJP/man/man5/ctm.5
+++ b/ja_JP.eucJP/man/man5/ctm.5
@@ -1,225 +1,225 @@
.\"----------------------------------------------------------------------------
.\""THE BEER-WARE LICENSE" (Revision 42):
.\"<joerg@freebsd.org> wrote this file. As long as you retain this notice you
.\"can do whatever you want with this stuff. If we meet some day, and you think
.\"this stuff is worth it, you can buy me a beer in return. Joerg Wunsch
.\"----------------------------------------------------------------------------
.\"
.\" This manual page is partially obtained from Poul-Hennings CTM README
.\" file.
.\"
.\" CTM and ctm(1) by <phk@login.dknet.dk>
.\"
-.\" %Id: ctm.5,v 1.3.2.2 1998/07/18 11:09:44 jkh Exp %
+.\" %Id: ctm.5,v 1.7 1998/06/10 12:33:41 phk Exp %
.\"
.\" jpman %Id: ctm.5,v 1.3 1998/07/02 14:18:10 horikawa Stab %
.\"
.Dd March 25, 1995
.Os
.Dt CTM 5
.Sh 名称
.Nm ctm
.Nd source code mirror system
.Sh 解説
.Nm
は CTM デルタと呼ばれる特別のファイルフォーマットでデータを送ります。
CTM デルタは制御行とデータ塊を含みます。
各制御行は
.Dq CTM
という文字で始まり、CTM 文と制御データが続いて、文字 '\en'
で終ります。
データ塊は常に先行する制御行に属して、その制御行の
最後のフィールドにはデータ塊のバイト数が入っています。
後に続く改行文字 '\en' が各データ塊に続き、この
改行は塊には含まれずバイト数にも数えられません。
CTM 文は以下の形式をとります。
.Bl -tag -width indent
.It _BEGIN Ar version name number timestamp prefix
これが CTM デルタファイル全体の始まりです。
.Ar version
フィールドはプログラムのバージョンと一致しなければなりません
.Pq 現在は 2.0
.Ar name
は名前で
.Ar number
は CTM サービスの通し番号です。通し番号はファイル
.Pa .ctm_status
と照合され、そのデルタがすでに適用されていないかの確認に使われます。
.Ar timestamp
はデルタ生成日時の年、月、日、時、分、秒を参考のために含みます
.Po
文字
.Sq Z
が続いて UTC のタイムスタンプであることを示します
.Pc
.Ar prefix
フィールドは現在実装されていません。
.It _END Ar md5
この文で CTM デルタは終了します。
.Ar md5
は全体のチェックサムで
デルタ全体の MD5 チェックサムと照合されます。
デルタ全体とは ``_END'' に続く空白 (0x20) 文字までのことです。
.It \&FM Ar name uid gid mode md5 count
ファイル
.Ar name
を作成します。元のファイルは uid として
.Ar uid
.Pq 数値、10進
を、
gid として
.Ar gid
.Pq 数値、10進
を、モードとして
.Ar mode
.Pq 数値、8進
を、そして MD5 チェックサムとして
.Ar md5
を持ちます。
続く
.Ar count
バイトのデータが新しいファイルの内容です。
.It \&FS Ar name uid gid mode md5before md5after count
ファイル
.Ar name
の内容を置き換えます。
元のファイルは新しい uid として
.Ar uid
.Pq 数値、10進
を、新しい gid として
.Ar gid
.Pq 数値、10進
を、新しいモードとして
.Ar mode
.Pq 数値、8進
を、古い MD5 チェックサムとして
.Ar md5before
を、そして新しい MD5 チェックサムとして
.Ar md5after
を持ちます。
続く
.Ar count
バイトのデータが新しいファイルの内容です。
ファイルを編集するためのコマンドがファイルサイズを超えてしまい
置き換えの方が効率的な場合に、ファイルの置き換えが使われます。
.It \&FN Ar name uid gid mode md5before md5after count
ファイル
.Ar name
を編集します。引数は上にある通りですが、データ部分には
.Xr diff 1
の -n スクリプトを含み該当ファイルに適用されます。
.It \&FR Ar name md5
ファイル
.Ar name
を削除します。
対象ファイルの MD5 チェックサムが
.Ar md5
と一致しなければなりません。
.It \&AS Ar name uid gid mode
元のファイル
.Ar name
の所有者を
.Ar uid
に、グループを
.Ar gid
に、そして/またはモードを
.Ar mode
に変更します。
.It \&DM Ar name uid gid mode
ディレクトリ
.Ar name
が作成されます。元々、ディレクトリの所有者は
.Ar uid
、グループは
.Ar gid
、そしてモードは
.Ar mode
でした。
.It \&DR name
ディレクトリ
.Ar name
を削除します。
.El
.Sh 使用例
以下の使用例では、長い行は表示できるように改行してあります
.Pq バックスラッシュを付けてあります
.Bd -literal
CTM_BEGIN 2.0 cvs-cur 485 19950324214652Z .
CTMFR src/sys/gnu/i386/isa/scd.c,v 5225f13aa3c7e458f9dd0d4bb637b18d
CTMFR src/sys/gnu/i386/isa/scdreg.h,v e5af42b8a06f2c8030b93a7d71afb223
CTMDM src/sys/gnu/i386/isa/Attic 0 552 775
CTMFS .ctm_status 545 552 664 d9ccd2a84a9dbb8db56ba85663adebf0 \\
e2a10c6f66428981782a0a18a789ee2e 12
cvs-cur 485
CTMFN CVSROOT/commitlogs/gnu 545 552 664 \\
5d7bc3549140d860bd9641b5782c002d 7fb04ed84b48160c9b8eea84b4c0b6e3 394
a6936 21
ache 95/03/24 09:59:50
Modified: gnu/lib/libdialog kernel.c prgbox.c
Log:
[...]
CTM_END 74ddd298d76215ae45a077a4b6a74e9c
.Ed
.Sh 関連項目
.Xr ctm 1 ,
.Xr ctm_rmail 1 ,
.Xr ed 1 .
.Sh 歴史
最初の試用は
.Fx 1.1.5
で行われて、多くのバグと手法が出されました。
CTM システムは
.Fx 2.1
で公開されました。
.Sh 作者
CTM システムは
.An Poul-Henning Kamp
.Aq phk@FreeBSD.org
によって設計、実装が行われました。
このマニュアルページは
.An Joerg Wunsch
.Aq joerg@FreeBSD.org
が書きました。
diff --git a/ja_JP.eucJP/man/man5/devfs.5 b/ja_JP.eucJP/man/man5/devfs.5
index 55e3799e6f..1a379f643a 100644
--- a/ja_JP.eucJP/man/man5/devfs.5
+++ b/ja_JP.eucJP/man/man5/devfs.5
@@ -1,95 +1,95 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved.
.\"
.\" Copyright (c) 1992, 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
.\" Jan-Simon Pendry.
.\"
.\" 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.
.\"
-.\" %Id: devfs.5,v 1.2.2.2 1998/07/19 06:52:11 jkh Exp %
+.\" %Id: devfs.5,v 1.4 1998/03/12 07:30:47 charnier Exp %
.\"
.\" jpman %Id: devfs.5,v 1.3 1998/04/29 11:36:05 kuma Stab %
.\"
.\" WORD: mount point マウントポイント
.\" WORD: namespace 名前空間
.\"
.Dd December 14, 1996
.Dt devfs 5
.Os FreeBSD 2.2
.Sh 名称
.Nm devfs
.Nd デバイスファイルシステム
.Sh 書式
devfs /devs devfs rw 0 0
.Sh 解説
デバイスファイルシステム、または
.Nm devfs
は、グローバルファイルシステム名前空間において、
カーネルのデバイス名前空間へのアクセスを提供します。
伝統的なマウントポイントは
.Pa /devs
です。
.Pp
このファイルシステムは、ディレクトリ、リンク、シンボリックリンク、
デバイスを含みます。
それらの中には書き込み可能なものがあります。
chroot した環境では、
.Nm
を使用して新しい
.Pa /devs
マウントポイントを作成可能です。
.Sh 関連ファイル
.Bl -tag -width /devs/XXXX -compact
.It Pa /devs
通常の
.Nm
マウントポイント
.El
.Sh 関連項目
.Xr mount_devfs 8
.Sh 歴史
.Nm
ファイルシステムは、最初に
.Fx 2.0
に登場しました。
.Nm
マニュアルページは、最初に
.Fx 2.2
に登場しました。
.Sh 作者
.Nm
マニュアルページは、
.Xr mount_devfs 8
マニュアルページを元に、
.An Mike Pritchard Aq mpp@FreeBSD.org
が記述しました。
diff --git a/ja_JP.eucJP/man/man5/dir.5 b/ja_JP.eucJP/man/man5/dir.5
index 5b3766a1c4..6ccdb8a9e3 100644
--- a/ja_JP.eucJP/man/man5/dir.5
+++ b/ja_JP.eucJP/man/man5/dir.5
@@ -1,174 +1,163 @@
.\" 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
+.\" %Id: dir.5,v 1.9 1998/02/24 02:39:00 bde Exp %
+.\"
.\" jpman %Id: dir.5,v 1.3 1998/07/19 22:22:07 yohta Stab %
-.\" %Id: dir.5,v 1.4.2.1 1997/02/28 03:27:22 mpp Exp %
.\"
.\" WORD: graft 接合 [mount.8]
.Dd April 19, 1994
.Dt DIR 5
.Os BSD 4.2
.Sh 名称
.Nm dir ,
.Nm dirent
.Nd ディレクトリファイルフォーマット
.Sh 書式
.Fd #include <sys/types.h>
-.Fd #include <sys/dir.h>
+.Fd #include <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 dirent.h
-で定義されています:
+.Aq sys/dirent.h
+で定義されています
+(これは直接アプリケーションからはインクルードされません):
.Bd -literal
-#ifndef _DIRENT_H_
-#define _DIRENT_H_
+#ifndef _SYS_DIRENT_H_
+#define _SYS_DIRENT_H_
/*
-* ディレクトリエントリはその先頭に dirent 構造体を持ちます。dirent
-* 構造体は inode 番号、そのエントリの長さ、そのエントリに含まれる
-* 名前の長さを保持します。その後に、ナルで 4 バイト境界までパディング
-* した名前が続きます。名前は全てナルで終端していることが保証されます。
-* ディレクトリ中の名前の長さの最大値は MAXNAMLEN です。
-*/
+ * dirent 構造体は、getdirentries(2) システムコールで返される
+ * ディレクトリエントリのフォーマットを定義します。
+ *
+ * ディレクトリエントリはその先頭に dirent 構造体を持ちます。dirent
+ * 構造体は inode 番号、そのエントリの長さ、そのエントリに含まれる
+ * 名前の長さを保持します。その後に、ナルで 4 バイト境界までパディング
+ * した名前が続きます。名前は全てナルで終端していることが保証されます。
+ * ディレクトリ中の名前の長さの最大値は MAXNAMLEN です。
+ */
struct dirent {
- u_long d_fileno; /* エントリのファイル番号 */
- u_short d_reclen; /* このレコードの長さ */
- u_char d_type; /* ファイルタイプ, 以下参照 */
- u_char d_namlen; /* d_name の文字列長 */
+ u_int32_t d_fileno; /* エントリのファイル番号 */
+ u_int16_t d_reclen; /* このレコードの長さ */
+ u_int8_t d_type; /* ファイルタイプ, 以下参照 */
+ u_int8_t d_namlen; /* d_name の文字列長 */
#ifdef _POSIX_SOURCE
- char d_name[255 + 1]; /* 名前の長さの最大値 */
+ char d_name[255 + 1]; /* 名前はこの長さを越えてはならない */
#else
#define MAXNAMLEN 255
- char d_name[MAXNAMLEN + 1]; /* 名前の長さの最大値 */
+ 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_LKN 10
-#define DT_SOCK 12
-#define DT_WHT 14
-
-#ifdef _POSIX_SOURCE
-typedef void * DIR;
-#else
-
-#define d_ino d_fileno /* 下位互換性 */
+#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
-/* ディレクトリ操作ライブラリルーチン用定義 */
-#define DIRBLKSIZ 1024
-
-/* オープンしたディレクトリを記述する構造体 */
-typedef struct _dirdesc {
- int dd_fd; /* ディレクトリに対応するファイル記述子 */
- long dd_loc; /* 現バッファ中のオフセット */
- long dd_size; /* getdirentriesが返すデータ量 */
- char *dd_buf; /* データバッファ */
- int dd_len; /* データバッファのサイズ */
- long dd_seek; /* getdirentriesが返すマジッククッキー */
- long dd_rewind;/* 巻き戻し用マジッククッキー */
-} DIR;
+/*
+ * stat 構造体型とディレクトリ型との変換
+ */
+#define IFTODT(mode) (((mode) & 0170000) >> 12)
+#define DTTOIF(dirtype) ((dirtype) << 12)
-#define dirfd(dirp) ((dirp)->dd_fd)
+/*
+ * _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))
-#ifndef NULL
-#define NULL 0
+#ifdef KERNEL
+#define GENERIC_DIRSIZ(dp) _GENERIC_DIRSIZ(dp)
#endif
-#endif /* _POSIX_SOURCE */
-
-#ifndef KERNEL
-
-#include <sys/cdefs.h>
-
-#endif /* !KERNEL */
-
-#endif /* !_DIRENT_H_ */
.Ed
.Sh 関連項目
.Xr fs 5 ,
.Xr inode 5
.Sh 歴史
ファイル形式
.Nm
.At v7
で登場しました。
diff --git a/ja_JP.eucJP/man/man5/disklabel.5 b/ja_JP.eucJP/man/man5/disklabel.5
index a5f8481d35..96a8d08456 100644
--- a/ja_JP.eucJP/man/man5/disklabel.5
+++ b/ja_JP.eucJP/man/man5/disklabel.5
@@ -1,394 +1,394 @@
.\" Copyright (c) 1987, 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.5.5 8.1 (Berkeley) 6/5/93
-.\" %Id: disklabel.5,v 1.2.2.2 1998/07/17 20:12:59 jkh Exp %
+.\" %Id: disklabel.5,v 1.4 1998/06/04 06:49:12 charnier Exp %
.\"
.\" jpman %Id: disklabel.5,v 1.3 1998/06/12 15:48:23 kumano Stab %
.\"
.\" WORD: initial bootstrap 初期ブートストラップ
.\" WORD: initial label 初期ラベル
.\" WORD: primary bootstrap 一次ブートストラップ
.\" WORD: secondary bootstrap 二次ブートストラップ
.\" WORD: ratio of physical sectors traversed per logical sector 論理セクタあたりの物理セクタ通過率
.\"
.Dd June 5, 1993
.Dt DISKLABEL 5
.Os
.Sh 名称
.Nm disklabel
.Nd ディスクパックラベル
.Sh 書式
.Fd #include <sys/disklabel.h>
.Sh 解説
システム上のそれぞれのディスクやディスクパックは、ディスクのジオメトリ
やディスクを分割しているパーティションについての詳細な情報を提供する
ディスクラベルを持っています。
ディスクラベルはディスクがフォーマットされたときに
初期化されなければならず、
後から
.Xr disklabel 8
プログラムによって変更することができます。
システムディクスドライバやブートストラッププログラムがこの情報を使って、
ドライブのプログラム方法や、ディスクパーティション上の
ファイルシステムの見つけ方を決定します。
ファイルシステムは、付加的な情報を使ってディスクを最も効果的に使い、
重要なファイルシステム情報の位置を特定します。
各パーティションの記述は、パーティションタイプ(標準ファイル、スワップ
領域等)の識別子を含みます。
ラベルのメモリ内コピーにあるファイルシステム情報が不完全な場合には、
ファイルシステムはそれを更新します。
.Pp
ラベルは、ドライブのセクタ番号
.Dv LABELSECTOR
にあります。
通常は、ディスクジオメトリについての情報がなくても見つけられる、
セクタ 0 にあります。
ラベルは、初期ブートストラップの場所を確保するために、
セクタの先頭からオフセット
.Dv LABELOFFSET
にあります。
ラベルを含むディスクセクタは、通常読み込み専用になっています。
これは、
パックからパックへの複写やスワップ操作時に
.Xr disklabel 8
プログラムによって必要に応じて行なわれる
.Dv DIOCWLABEL
.Xr ioctl 2
により不用意に上書きされないようにするためです。
.Pp
ディスクのメモリ内ラベルコピーは
.Dv DIOCGDINFO
.Xr ioctl 2
で得られます。
この操作は、ディスクの任意のパーティションに対するブロックデバイスや
キャラクタ (``raw'') デバイスへのファイル記述子に対して
行うことができます。
また、ディスクのメモリ内ラベルコピーは
.Dv DIOCSDINFO
.Xr ioctl 2
によりセットされます。
パーティションのオフセットは、一般にパーティションがオープンされている
ときには変更したり小さくしたりはできません。
ただし例外として、ディスクにラベルが見つからず、ドライバが
パーティション情報を含まない骨組みのラベルだけを構築できるときには、
どんな変更も許されます。
最後に、
.Dv DIOCWDINFO
.Xr ioctl 2
操作がメモリ内のラベルをセットし、ディスク上のラベルを更新します。
この操作が成功するためにはディスク上にラベルが存在しなければなりません。
つまり、ディスクやディスクパックの初期ラベルは生の (raw) ディスクに
対して書き込むことでインストールされなければなりません。
これらの操作はすべて、普通
.Xr disklabel 8
コマンドを使って行なわれます。
.Pp
.Pa <sys/disklabel.h>
で指定されるようにディスクラベルのフォーマットは以下のようになります。
.Bd -literal
/*
* ディスク記述テーブル, disktab(5) を参照
*/
#define DISKTAB "/etc/disktab"
/*
* 各ディスクはハードウェアディスクジオメトリ、ファイルシステムパーティション、
* ドライブ固有の情報についての情報を含むラベルを持っています。
* ラベルはブロック 0 か 1 、つまりブートストラップ等のための場所を空けて
* なるべく先頭のオフセットにあります。
*/
#ifndef LABELSECTOR
#define LABELSECTOR 0 /* ラベルを含むセクタ */
#endif
#ifndef LABELOFFSET
#define LABELOFFSET 64 /* セクタ内のラベルのオフセット */
#endif
#define DISKMAGIC ((u_long) 0x82564557) /* ディスクのマジックナンバ */
#ifndef MAXPARTITIONS
#define MAXPARTITIONS 8
#endif
#ifndef LOCORE
struct disklabel {
u_long d_magic; /* マジックナンバ */
short d_type; /* ドライブタイプ */
short d_subtype; /* コントローラ/d_type に固有 */
char d_typename[16]; /* タイプ名、たとえば "eagle" */
/*
* d_packname は、パック識別子を含み、ディスク上やメモリ内コピーの
* ディスクラベルを読んだときに返されます。
* d_boot0 と d_boot1 は、/usr/mdec にある一次 (block 0) または
* 二次 (block 1-15) ブートストラップの (省略可能な) 名前です。
* この名は、/etc/disktab から値を取り出すために getdiskbyname(3)
* を使う場合に返されます。
*/
#if defined(KERNEL) || defined(STANDALONE)
char d_packname[16]; /* パック識別子 */
#else
union {
char un_d_packname[16]; /* パック識別子 */
struct {
char *un_d_boot0; /* 一次ブートストラップ名 */
char *un_d_boot1; /* 二次ブートストラップ名 */
} un_b;
} d_un;
#define d_packname d_un.un_d_packname
#define d_boot0 d_un.un_b.un_d_boot0
#define d_boot1 d_un.un_b.un_d_boot1
#endif /* ! KERNEL or STANDALONE */
/* ディスクジオメトリ */
u_long d_secsize; /* セクタあたりのバイト数 */
u_long d_nsectors; /* トラックあたりのデータセクタ数 */
u_long d_ntracks; /* シリンダあたりのトラック数 */
u_long d_ncylinders; /* ユニットあたりのデータシリンダ数 */
u_long d_secpercyl; /* シリンダあたりのデータセクタ数 */
u_long d_secperunit; /* ユニットあたりのデータセクタ数 */
/*
* 以下の予備 (不良セクタ置換) は in d_nsectors や d_secpercyl
* には数えられません。
* 予備セクタは、各トラックまたはシリンダの末尾の場所を占める
* 物理セクタにあることにします。
*/
u_short d_sparespertrack; /* トラックあたりの予備セクタ */
u_short d_sparespercyl; /* シリンダあたりの予備セクタ */
/*
* メインテナンス、置換、コンフィグレーション記述領域等を
* 含む交替シリンダ
*/
u_long d_acylinders; /* ユニットあたりの交替シリンダ */
/* ハードウェア特性 */
/*
* d_interleave, d_trackskew, d_cylskew は、遅いコントローラの
* 埋め合わせに使うための、メディアフォーマット中の
* ぶれを記述します。
* interleave は、フォーマット時にフォーマッタやコントローラに
* よって設定される物理セクタインタリーブです。
* インタリーブが使われているとき、論理的に隣り合ったセクタは
* 物理的には連続ではなく、幾つかのセクタに分断されています。
* これは論理セクタあたりの物理セクタ通過率として指定されます。
* すなわち、1:1 のインタリーブは連続したレイアウトを意味し、
* 2:1 は論理セクタ 0 が論理セクタ 1 から 1 セクタ離れていること
* を意味します。
* d_trackskew は、同一シリンダ上でトラック N-1 上のセクタ 0 から
* トラック N のセクタ 0 の相対的なオフセットです。
* 最後の d_cylskew は、シリンダ N-1 上のセクタ 0 からシリンダ N
* 上のセクタ 0 の相対的なオフセットです。
*/
u_short d_rpm; /* 回転スピード */
u_short d_interleave; /* ハードウェアセクタインタリーブ */
u_short d_trackskew; /* トラックあたりのセクタ 0 スキュー */
u_short d_cylskew; /* シリンダあたりのセクタ 0 スキュー */
u_long d_headswitch; /* ハードスイッチ時間 usec */
u_long d_trkseek; /* トラック間シーク usec */
u_long d_flags; /* 一般フラグ */
#define NDDATA 5
u_long d_drivedata[NDDATA]; /* ドライブの型固有の情報 */
#define NSPARE 5
u_long d_spare[NSPARE]; /* 将来使うための予備 */
u_long d_magic2; /* マジックナンバ (再度) */
u_short d_checksum; /* データを含むパーティションの xor */
/* ファイルシステムとパーティション情報 */
u_short d_npartitions; /* 後に続くパーティション数 */
u_long d_bbsize; /* sn0 のブート領域の大きさ(バイト単位) */
u_long d_sbsize; /* fs スーパブロックの最大サイズ(バイト単位) */
struct partition { /* パーティションテーブル */
u_long p_size; /* パーティション内のセクタ数 */
u_long p_offset; /* 開始セクタ */
u_long p_fsize; /* ファイルシステム規定フラグメントサイズ */
u_char p_fstype; /* ファイルシステムタイプ、下記参照 */
u_char p_frag; /* ブロックあたりのファイルシステムフラグメント */
union {
u_short cpg; /* UFS: FS グループあたりのシリンダ数 */
u_short sgs; /* LFS: FS セグメントシフト */
} __partition_u1;
#define p_cpg __partition_u1.cpg
#define p_sgs __partition_u1.sgs
u_short p_cpg; /* グループあたりのファイルシステムシリンダ数 */
} d_partitions[MAXPARTITIONS]; /* 実際にはもっとある */
};
/* d_type values: */
#define DTYPE_SMD 1 /* SMD, XSMD; VAX hp/up */
#define DTYPE_MSCP 2 /* MSCP */
#define DTYPE_DEC 3 /* その他の DEC (rk, rl) */
#define DTYPE_SCSI 4 /* SCSI */
#define DTYPE_ESDI 5 /* ESDI インタフェース */
#define DTYPE_ST506 6 /* ST506 他 */
#define DTYPE_HPIB 7 /* CS/80 on HP-IB */
#define DTYPE_HPFL 8 /* HP ファイバリンク */
#define DTYPE_FLOPPY 10 /* フロッピー */
#ifdef DKTYPENAMES
static char *dktypenames[] = {
"unknown",
"SMD",
"MSCP",
"old DEC",
"SCSI",
"ESDI",
"ST506",
"HP-IB",
"HP-FL",
"type 9",
"floppy",
0
};
#define DKMAXTYPES (sizeof(dktypenames) / sizeof(dktypenames[0]) - 1)
#endif
/*
* ファイルシステムタイプとバージョン
* パーティションあたりの他のファイルシステム固有情報に使われます。
*/
#define FS_UNUSED 0 /* 未使用 */
#define FS_SWAP 1 /* スワップ */
#define FS_V6 2 /* 第 6 版 */
#define FS_V7 3 /* 第 7 版 */
#define FS_SYSV 4 /* System V */
#define FS_V71K 5 /* 7 版 1K ブロック (4.1, 2.9) */
#define FS_V8 6 /* 8 版 4K ブロック */
#define FS_BSDFFS 7 /* 4.2BSD fast ファイルシステム */
#define FS_MSDOS 8 /* MSDOS ファイルシステム */
#define FS_BSDLFS 9 /* 4.4BSD log-structured ファイルシステム */
#define FS_OTHER 10 /* 使用中だが未知/未サポート */
#define FS_HPFS 11 /* OS/2 high-performance ファイルシステム */
#define FS_ISO9660 12 /* ISO 9660, 通常は CD-ROM */
#define FS_BOOT 13 /* ブートストラップを含むパーティション */
#ifdef DKTYPENAMES
static char *fstypenames[] = {
"unused",
"swap",
"Version 6",
"Version 7",
"System V",
"4.1BSD",
"Eighth Edition",
"4.2BSD",
"MSDOS",
"4.4LFS",
"unknown",
"HPFS",
"ISO9660",
"boot",
0
};
#define FSMAXTYPES (sizeof(fstypenames) / sizeof(fstypenames[0]) - 1)
#endif
/*
* 多様なドライブが共有するフラグ
*/
#define D_REMOVABLE 0x01 /* リムーバブルメディア */
#define D_ECC 0x02 /* ECC サポート */
#define D_BADSECT 0x04 /* バッドセクタフォワードのサポート */
#define D_RAMDISK 0x08 /* ディスクエミュレータ */
#define D_CHAIN 0x10 /* back-back 転送ができる */
/*
* SMD のドライブデータ
*/
#define d_smdflags d_drivedata[0]
#define D_SSE 0x1 /* セクタスキップのサポート */
#define d_mindist d_drivedata[1]
#define d_maxdist d_drivedata[2]
#define d_sdist d_drivedata[3]
/*
* ST506 のドライブデータ
*/
#define d_precompcyl d_drivedata[0]
#define d_gap3 d_drivedata[1] /* フォーマット時にのみ使われる */
/*
* SCSI のドライブデータ
*/
#define d_blind d_drivedata[0]
#ifndef LOCORE
/*
* フォーマットや生の操作をする際に使われる
* 構造体で、データやレジスタ値を返します。
* レジスタの識別とフォーマットは、
* デバイス依存、ドライバ依存です。
*/
struct format_op {
char *df_buf;
int df_count; /* 値-結果 */
daddr_t df_startblk;
int df_reg[8]; /* 結果 */
};
/*
* ディスク上のパーティションに関する情報を
* 引き出すために内部で使われる構造体
*/
struct partinfo {
struct disklabel *disklab;
struct partition *part;
};
/*
* ディスク固有の ioctl
*/
/* ディスクラベルの取得と設定; 内部では DIOCGPART が使われる */
#define DIOCGDINFO _IOR('d', 101, struct disklabel) /* 取得 */
#define DIOCSDINFO _IOW('d', 102, struct disklabel) /* 設定 */
#define DIOCWDINFO _IOW('d', 103, struct disklabel) /* 設定、ディスク更新 */
#define DIOCGPART _IOW('d', 104, struct partinfo) /* パーティション取得 */
/* do format operation, read or write */
#define DIOCRFORMAT _IOWR('d', 105, struct format_op)
#define DIOCWFORMAT _IOWR('d', 106, struct format_op)
#define DIOCSSTEP _IOW('d', 107, int) /* ステップレート設定 */
#define DIOCSRETRIES _IOW('d', 108, int) /* リトライ回数の設定 */
#define DIOCWLABEL _IOW('d', 109, int) /* 書き込み可/不可のラベル */
#define DIOCSBAD _IOW('d', 110, struct dkbad) /* カーネル dkbad の設定 */
#endif LOCORE
.Ed
.Sh 関連項目
.Xr disktab 5 ,
.Xr disklabel 8
diff --git a/ja_JP.eucJP/man/man5/disktab.5 b/ja_JP.eucJP/man/man5/disktab.5
index 60cb458ab0..5bfddc2399 100644
--- a/ja_JP.eucJP/man/man5/disktab.5
+++ b/ja_JP.eucJP/man/man5/disktab.5
@@ -1,140 +1,140 @@
.\" 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.
.\"
.\" @(#)disktab.5 8.1 (Berkeley) 6/5/93
+.\" %Id: disktab.5,v 1.3 1997/03/07 03:27:58 jmg Exp %
.\" jpman %Id: disktab.5,v 1.3 1998/06/12 15:50:37 kumano Stab %
-.\" %Id: disktab.5,v 1.1.1.1.8.2 1997/03/07 04:18:02 mpp Exp %
.\"
.Dd June 5, 1993
.Dt DISKTAB 5
.Os BSD 4.2
.Sh 名称
.Nm disktab
.Nd ディスク記述ファイル
.Sh 書式
.Fd #include <disktab.h>
.Sh 解説
.Nm disktab
は、ディスクジオメトリとディスクパーティション特性を記述する
簡単なデータベースで、
.\"by the formatter(\c
.\"IR.Xr format 8 )
.\"to determine how to format the disk, and
ディスク上のディスクラベルを初期化する際に使われます。
フォーマットは
.Xr termcap 5
端末データベースと同様のパターンです。
.Nm disktab
内のエントリは、たくさんの `:' で区切られたフィールドからなります。
各ディスクの最初のエントリは `|' 文字で区切られていて、そのディスクの
既知の名前を与えます。最後の名前はディスクをディスクを識別する完全に
長い名前でなければなりません。
.Pp
以下のリストは、各ディスクエントリのための通常の値です。
.Bl -column "indent" "boolx"
.It Sy 名前 型 解説
.It "\&ty str ディスクの種類 (例えば removable, winchester)"
.It "\&dt str コントローラの種類 (例えば "
.Tn SMD , ESDI ,
フロッピー)
.It "\&ns num トラックあたりのセクタ数"
.It "\&nt num シリンダあたりのトラック数"
.It "\&nc num ディスク上の総シリンダ数"
.It "\&sc num シリンダあたりのセクタ数、デフォルトは nc*nt"
.It "\&su num ユニットあたりのセクタ数、デフォルトは sc*nc"
.It "\&se num バイト単位のセクタサイズ"
デフォルトは
.Dv DEV_BSIZE
.It "\&sf bool コントローラが bad144 スタイルのバッドセクタフォワードをサポートする"
.It "\&rm num 回転スピード (rpm), デフォルトは 3600"
.It "\&sk num トラックあたりのセクタスキュー、デフォルトは 0"
.It "\&cs num シリンダあたりのセクタスキュー、デフォルトは 0"
.It "\&hs num ヘッドスイッチ時間 (usec), デフォルトは 0"
.It "\&ts num 1 シリンダシーク時間 (usec), デフォルト 0"
.It "\&il num セクタインタリーブ (n:1), デフォルトは 1"
.It "\&d[0-4] num ドライブタイプ依存パラメータ"
.It "\&bs num ブートブロックサイズ、デフォルト"
.Dv BBSIZE
.It "\&sb num スーパブロックサイズ、デフォルト"
.Dv SBSIZE
.It "\&ba num パーティション `a' のブロックサイズ (bytes)"
.It "\&bd num パーティション `d' のブロックサイズ (bytes)"
.It "\&be num パーティション `e' のブロックサイズ (bytes)"
.It "\&bf num パーティション `f' のブロックサイズ (bytes)"
.It "\&bg num パーティション `g' のブロックサイズ (bytes)"
.It "\&bh num パーティション `h' のブロックサイズ (bytes)"
.It "\&fa num パーティション `a' のフラグメントサイズ (bytes)"
.It "\&fd num パーティション `d' のフラグメントサイズ (bytes)"
.It "\&fe num パーティション `e' のフラグメントサイズ (bytes)"
.It "\&ff num パーティション `f' のフラグメントサイズ (bytes)"
.It "\&fg num パーティション `g' のフラグメントサイズ (bytes)"
.It "\&fh num パーティション `h' のフラグメントサイズ (bytes)"
.It "\&oa num パーティション `a' のセクタ内オフセット"
.It "\&ob num パーティション `b' のセクタ内オフセット"
.It "\&oc num パーティション `c' のセクタ内オフセット"
.It "\&od num パーティション `d' のセクタ内オフセット"
.It "\&oe num パーティション `e' のセクタ内オフセット"
.It "\&of num パーティション `f' のセクタ内オフセット"
.It "\&og num パーティション `g' のセクタ内オフセット"
.It "\&oh num パーティション `h' のセクタ内オフセット"
.It "\&pa num パーティション `a' セクタサイズ"
.It "\&pb num パーティション `b' セクタサイズ"
.It "\&pc num パーティション `c' セクタサイズ"
.It "\&pd num パーティション `d' セクタサイズ"
.It "\&pe num パーティション `e' セクタサイズ"
.It "\&pf num パーティション `f' セクタサイズ"
.It "\&pg num パーティション `g' セクタサイズ"
.It "\&ph num パーティション `h' セクタサイズ"
.It "\&ta str パーティション `a' のパーティションタイプ"
.Pf ( Bx 4.2
ファイルシステム, スワップ他)
.It "\&tb str パーティション `b のパーティションタイプ"
.It "\&tc str パーティション `c のパーティションタイプ"
.It "\&td str パーティション `d のパーティションタイプ"
.It "\&te str パーティション `e のパーティションタイプ"
.It "\&tf str パーティション `f のパーティションタイプ"
.It "\&tg str パーティション `g のパーティションタイプ"
.It "\&th str パーティション `h のパーティションタイプ"
.El
.Sh 関連ファイル
.Bl -tag -width /etc/disktab -compact
.It Pa /etc/disktab
.El
.Sh 関連項目
.Xr getdiskbyname 3 ,
.Xr disklabel 5 ,
.Xr disklabel 8 ,
.Xr newfs 8
.Sh 歴史
.Nm
この記述ファイルは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/ethers.5 b/ja_JP.eucJP/man/man5/ethers.5
index 53fde9ab51..f4c3b7f5f7 100644
--- a/ja_JP.eucJP/man/man5/ethers.5
+++ b/ja_JP.eucJP/man/man5/ethers.5
@@ -1,101 +1,101 @@
.\" Copyright (c) 1995
.\" Bill Paul <wpaul@ctr.columbia.edu>. 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 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: ethers.5,v 1.2.2.2 1998/01/07 00:55:01 steve Exp %
+.\" %Id: ethers.5,v 1.6 1998/01/07 00:57:31 steve Exp %
.\" jpman %Id: ethers.5,v 1.3 1998/04/29 11:33:25 kuma Stab %
.\"
.\" WORD: Internetworking インターネット
.\" WORD: fully-qualified-host-name 完全な形でのホスト名
.\"
.Dd April 12, 1995
.Dt ETHERS 5
.Os FreeBSD 2.1
.Sh 名称
.Nm ethers
.Nd イーサネットアドレスのデータベース
.Sh 解説
.Nm ethers
データベースは、
インターネット上のホストの既知の 48 ビットイーサネットアドレスを格納します。
データは
.Pa /etc/ethers
と呼ばれるファイルに次のフォーマットで格納されます:
.Bd -unfilled -offset indent
.Pa イーサネットアドレス 完全な形でのホスト名
.Ed
.Pp
項目は任意個の空白文字やタブ文字で区切ります。
行頭の ``#'' は行末まで続くコメントの開始を表します。
行頭に ``+'' があると、
.Xr ethers 3
ライブラリ関数は、
.Pa /etc/ethers
ファイルのデータだけでなく、
.Xr NIS 4
.Pa ethers.byname
.Pa ethers.byaddr
のマップのデータも使用します。
.Pp
イーサネットアドレスは
.Tn ASCII
形式で "x:x:x:x:x:x" と表記されます。ここで、
.Ar x
は 0x00 から 0xFF までの 16 進数です。
アドレス値はネットワークオーダである必要があります。
.Pa /etc/ethers
データベースで指定するホスト名は、
.Xr hosts 5
ファイルのエントリに対応する必要があります。
.Pp
標準 C ライブラリの
.Fn ether_line
関数を使用して、
.Pa /etc/ethers
データベースの各行を、個々のコンポーネントに分割可能です:
バイナリのイーサネットアドレスは
.Pa ether_addr
構造として、ホスト名は文字列として格納されます。
.Sh 関連ファイル
.Bl -tag -width /etc/services -compact
.It Pa /etc/ethers
.Nm ethers
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr ethers 3 ,
.Xr yp 4
.Sh 歴史
.Nm ethers
フォーマットは SunOS 4.1.x で使用されている形式を元にしています。
diff --git a/ja_JP.eucJP/man/man5/exports.5 b/ja_JP.eucJP/man/man5/exports.5
index 4734f49a94..36c6aaacb9 100644
--- a/ja_JP.eucJP/man/man5/exports.5
+++ b/ja_JP.eucJP/man/man5/exports.5
@@ -1,257 +1,294 @@
.\" Copyright (c) 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)exports.5 8.3 (Berkeley) 3/29/95
-.\" %Id: exports.5,v 1.3.2.2 1998/08/12 06:44:25 charnier Exp %
+.\" %Id: exports.5,v 1.7 1998/07/15 06:21:37 charnier Exp %
.\"
.\" jpman %Id: exports.5,v 1.3 1998/07/02 14:10:07 horikawa Stab %
.\"
.Dd March 29, 1995
.Dt EXPORTS 5
.Os
.Sh 名称
.Nm exports
.Nd
.Tn NFS
マウント要求に対するリモートマウント点を定義する
.Sh 書式
.Nm exports
.Sh 解説
.Nm exports
ファイルは
.Tn NFS
サーバの指定 1 つについて
.Tn NFS
マウントプロトコルに対するリモートマウント点を指定します。
.%T "Network File System Protocol Specification \\*(tNRFC\\*(sP 1094, Appendix A"
および
.%T "NFS: Network File System Version 3 Specification, Appendix I"
を参照してください。
.Pp
.Nm exports
ファイルの各行 (# で始まる注釈行以外) は、1 つ以上のホスト向けに、
1 つのローカルサーバファイルシステム内の
マウント点 (複数) とエクスポートフラグを指定します。
あるホストは、
サーバの各ローカルファイルシステムに関して唯 1 度だけ指定可能です。
また他の全てのホストに適用されるデフォルトエントリは、
各サーバファイルシステムに関して唯 1 つだけ指定できます。
後者は ``世界'' に対しそのファイルシステムを公開することになるので、
そのファイルシステムが公の情報を含むときにのみ用いるべきです。
.Pp
マウントエントリ内の最初の欄 (複数) には、
対応するクライアント (複数) がマウント可能である
サーバファイルシステム内ディレクトリパス (複数) を指定します。
この指定には 2 つの形式があります。
最初の指定形式は、
全マウント点のリストであり、絶対ディレクトリパスを空白で区切ったものです。
次の指定形式は、そのファイルシステムのルートパス名に続いて
.Fl alldirs
フラグを指定するものです。この形式は、そのファイルシステム内の任意の点を
ホスト (複数) がマウントすることを可能にします。mountd で
.Fl r
オプションを用いれば、任意の点には通常ファイルを含むことができます。
パス名中には、シンボリックリンクを含んではなりませんし、また "." または ".."
を含んではなりません。
1 つのファイルシステムに対するマウント点を複数指定することが可能であり、
それぞれ異ったホストとエクスポートオプションの組を指定することができます。
.Pp
行の 2 番目の部分には、そのファイルシステムがホストの組にどのように
エクスポートされているかを指定します。
オプションフラグは、
そのファイルシステムを読み取り専用でエクスポートしているのか
それとも読み書き可でエクスポートしているのかを指定したり、
クライアントの UID がサーバ上のユーザ資格にどのように
マップされているのかを指定します。
.Pp
エクスポートオプションは以下のとおりです。
.Pp
.Sm off
.Fl maproot No = Sy user
.Sm on
指定されたユーザの資格を、root によるリモートアクセスに対して使用します。
その資格には、ローカルマシン上でユーザが属する全てのグループを含みます (
.Xr id 1
参照)。ユーザは名前または数字です。
.Pp
.Sm off
.Fl maproot No = Sy user:group1:group2:...
.Sm on
コロンによって区切られたリストは、
root によるリモートアクセスに対して使用する正確な資格を指定するために
使用します。
リストの要素は名前または数字です。
グループを含まない資格をユーザに関する完全な資格と区別するためには、
user: を使用すべきであることに注意してください。
.Pp
.Sm off
.Fl mapall No = Sy user
.Sm on
または
.Sm off
.Fl mapall No = Sy user:group1:group2:...
.Sm on
.Fl maproot
と同じ指定方法で、
(root を含む) 全てのクライアントの UID に対するマッピングを指定します。
.Pp
.Fl r
オプションは
.Fl maproot
と同じ意味です。
これは古い export ファイル形式と互換性を保つために用意されました。
.Pp
.Fl maproot
および
.Fl mapall
オプションのない場合には、
root によるリモートアクセスは -2:-2 という資格を用いることになります。
その他の全てのユーザはそれぞれのリモート資格にマップされます。
.Fl maproot
オプションを指定すると、root によるリモートアクセスは -2:-2 の代りに
指定した資格にマップされます。
.Fl mapall
オプションを指定すると、root を含む全てのユーザはそれら自身の資格の代りに
指定した資格にマップされます。
.Pp
.Fl kerb
オプションを指定すると、Kerberos 認証サーバを使用して
認証とクライアント資格のマップを行います。
このオプションを利用するには、カーネルを NFSKERB オプション付きで
構築してある必要があります。
.Pp
.Fl ro
オプションは、ファイルシステムが読み取り専用としてエクスポートされることを
指定します (デフォルトは読み書き可)。
.Fl o
オプションは
.Fl ro
と同じ意味です。
これは古い export ファイル形式と互換性を保つために用意されました。
.Pp
+仕様 (RFC 2054 と RFC 2055) に厳密に従う
+.Tn WebNFS
+エクスポートは
+.Fl public
+フラグにて実現されます。
+しかしながら、このフラグ自身は、ファイルシステム中の全ファイルに対して
+読み書きアクセスを与えますが、予約ポートを必要としませんし、
+uid のマッピングも行いません。
+これは仕様を満すためだけに提供されており、通常は使用すべきではありません。
+.Tn WebNFS
+エクスポートのためには、
+.Fl webnfs
+フラグを使用します。これは
+.Fl public ,
+.Sm off
+.Fl mapall No = Sy nobody ,
+.Sm on
+.Fl ro
+を意味します。
+.Pp
+.Sm off
+.Fl index No = Sy file
+.Sm on
+オプションを使用して、パブリックファイルハンドル (
+.Tn WebNFS Ns )
+を使用してディレクトリが検索された時にハンドルが返される
+ファイルを指定できます。
+これは URL の動作のまねをします。
+.Fl index
+オプションが指定されないと、通常通りディレクトリファイルハンドルが返されます。
+.Fl index
+オプションは
+.Fl public
+または
+.Fl webnfs
+フラグと組み合わせたときのみ意味があります。
+.Pp
行の 3 番目の部分には、その行が適用されるホストの組を指定します。
この組は 3 つの方法で指定できます。
最初の方法はホスト名 (複数) を空白で区切って並べる方法です。
(名前の代りに、標準的なインターネット ``ドット'' アドレスを用いることも
できます)。2 番目の方法はネットグループファイル (
.Xr netgroup 5
参照) の中で定義した ``netgroup'' を指定する方法です。
3 番目の方法は、 1 つのネットワークとネットワークマスクを用いることにより、
1 つのインターネットサブネットワークを指定する方法です。
これは、
そのサブネットワーク内のアドレスを持つ全てのホストの組として定義されます。
この最後の方法はカーネルのオーバヘッドを低く押えられるため、
1 つの管理サブネット内の多くのクライアントを
エクスポートの行が参照する場合に推奨されます。
.Pp
最初の 2 つの指定方法では、単に空白で区切られた名前 (複数) を並べて指定します。
全ての名前は、まずそれらが ``netgroup'' 名であるかチェックされ、
そうでなければホスト名であると仮定されます。
ホスト名に完全ドメイン指定をすれば、
ネットグループと同じ名前を持つホストの問題を通常避けることができます。
3 番目の指定方法は、
.Sm off
.Fl network No = Sy netname
.Sm on
フラグとオプションの
.Sm off
.Fl mask No = Sy netmask
.Sm on
フラグによって指定します。マスクが指定されないと、そのネットワーククラス
(A, B, C のどれかです。
.Xr inet 4
を参照してください) に対するマスクとなります。
.Pp
例:
.Bd -literal -offset indent
/usr /usr/local -maproot=0:10 friends
/usr -maproot=daemon grumpy.cis.uoguelph.ca 131.104.48.16
/usr -ro -mapall=nobody
/u -maproot=bin: -network 131.104.48 -mask 255.255.255.0
/u2 -maproot=root friends
/u2 -alldirs -kerb -network cis-net -mask cis-mask
.Ed
.Pp
.Sy /usr ,
.Sy /u ,
.Sy /u2
がローカルファイルシステムマウント点とすると、上の例は以下を指定します:
.Sy /usr
はネットクグープファイルで指定されるホスト群
.Em friends
にエクスポートされ、
この際ユーザはそれぞれのリモート資格にマップされ、
root は UID 0 およびグループ 10 にマップされます。
このファイルシステムは読み書き可でエクスポートされ、
``friends'' 内のホストは /usr と /usr/local のどちらもマウントできます。
このファイルシステムは
.Em 131.104.48.16
および
.Em grumpy.cis.uoguelph.ca
にエクスポートされ、
この際ユーザはそれぞれのリモート資格にマップされ、
root は ``daemon'' に結び付けられたユーザおよびグループにマップされます。
このファイルシステムは残りの世界へ読み出しのみでエクスポートされ、
この際全てのユーザは ``nobody'' に結び付けられたユーザおよびグループに
マップされます。
.Pp
.Sy /u
はサブネットワーク
.Em 131.104.48
上の全てのホストにエクスポートされ、
この際 root は ``bin'' の UID にマップされてグループアクセスを持ちません。
.Pp
.Sy /u2
は ``friends'' 中のホストにエクスポートされ、
その際 root は ``root'' に結び付けられた UID とグループにマップされます。
このファイルシステムは ``cis-net'' ネットワーク上の全てのホストへ
エクスポートされ、
この際 /u2 内のどんなディレクトリへもマウントを許し、
Kerberos 許可書によって認証される principal についての資格に
全 UID をマップします。
.Sh 関連ファイル
.Bl -tag -width /etc/exports -compact
.It Pa /etc/exports
デフォルトリモートマウント点ファイル
.El
.Sh 関連項目
.Xr netgroup 5 ,
.Xr mountd 8 ,
.Xr nfsd 8 ,
.Xr showmount 8
.Sh バグ
エクスポートオプションはカーネル内ではローカルマウント点に結び付けられます。
ローカルサーバマウント点のサブディレクトリでエクスポートされたものに、
エクスポートオプションの矛盾があってはいけません。
同じファイルシステム内の全てのエクスポートされたディレクトリは、
木を下る順に隣り合った行で指定されることが推奨されます。
ネットグループ名と同じ名前のホスト名は指定できません。
完全ドメイン指定でホスト名を指定すれば通常は問題ありません。
diff --git a/ja_JP.eucJP/man/man5/fbtab.5 b/ja_JP.eucJP/man/man5/fbtab.5
index 49aeba9793..06ce65131a 100644
--- a/ja_JP.eucJP/man/man5/fbtab.5
+++ b/ja_JP.eucJP/man/man5/fbtab.5
@@ -1,49 +1,49 @@
.\"
-.\" %Id: fbtab.5,v 1.1.8.3 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: fbtab.5,v 1.4 1998/03/12 07:30:47 charnier Exp %
.\"
.\" jpman %Id: fbtab.5,v 1.3 1998/04/29 11:36:22 kuma Stab %
.\"
.\" WORD: permission パーミッション
.\" WORD: device デバイス(/dev 下のデバイスファイル関連のもの)
.\" WORD: comment コメント
.\" WORD: whitespace 空白
.\" WORD: ownership 所有権(ファイルの)
.\"
.Dd August 22, 1994
.Dt FBTAB 5
.Os FreeBSD 2.0
.Sh 名称
.Nm fbtab
.Nd ログイン時にデパイスの保護状態を変更する
.Sh 解説
.Nm fbtab
ファイルには、
単一デバイス・複数デバイスのリスト・それらのパーミッション
の 3 つを指定する行が複数個格納されます。
コメントは # から開始し、行末まで続きます。
.Pp
空行もしくはコメントのみの行は無視されます。
.Pp
他の行は空白で区切られる次の 3 フィールドからなります:
ログインデバイス (/dev/ttyv0)・8 進数でのパーミッション値 (0600)・
そして ":" で区切ったデバイスリスト (/dev/console) です。
デバイス名は全て絶対パスで記述します。
\&"/*" で終るパスは "." と ".." 以外の全ディレクトリエントリを参照します。
.Pp
tty 引数 (相対パス) がログインデバイス名 (絶対パス) にマッチする場合、
\&":" 区切りでリストされるデバイスのパーミッションが
第 2 フィールドで指定される値に設定され、
所有者が UID と GID 引数の値に設定されます。
.Sh 関連ファイル
.Bl -tag -width /etc/fbtab -compact
.It Pa /etc/fbtab
.Nm fbtab
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr login 1 ,
.Xr getty 8
.Sh 作者
.An Guido van Rooij
diff --git a/ja_JP.eucJP/man/man5/fdesc.5 b/ja_JP.eucJP/man/man5/fdesc.5
index 71d9b3b40a..6123b77bd8 100644
--- a/ja_JP.eucJP/man/man5/fdesc.5
+++ b/ja_JP.eucJP/man/man5/fdesc.5
@@ -1,152 +1,152 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved.
.\"
.\" Copyright (c) 1992, 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
.\" Jan-Simon Pendry.
.\"
.\" 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.
.\"
-.\" %Id: fdesc.5,v 1.2.2.2 1998/07/19 06:52:11 jkh Exp %
+.\" %Id: fdesc.5,v 1.4 1998/03/12 07:30:47 charnier Exp %
.\"
.\" jpman %Id: fdesc.5,v 1.3 1998/07/30 15:24:07 horikawa Stab %
.\" WORD: file descriptor ファイル記述子
.\" WORD: augment (union マウントによる)重ね合わせ
.\"
.Dd December 14, 1996
.Dt fdesc 5
.Os BSD 4.4
.Sh 名称
.Nm fdesc
.Nd ファイル記述子ファイルシステム
.Sh 書式
fdesc /dev fdesc rw 0 0
.Sh 解説
ファイル記述子ファイルシステム、別名
.Nm fdesc
は、プロセス毎のファイル記述子の名前空間をグローバルなファイルシステムの
名前空間からアクセスする機能を提供します。
通常のマウントポイントは
.Pa /dev
であり、
.Pa /dev
の既存のエントリを置き換えるのではなく重ね合わせるために、
ファイルシステムを union マウントする必要があります。
.Pp
マウントポイントの内容は
.Pa fd ,
.Pa stderr ,
.Pa stdin ,
.Pa stdout
および
.Pa tty
です。
.Pp
.Pa fd
はディレクトリで、その中身は、番号で表したファイルのリストとして見えます。
これらのファイルは、ディレクトリを読むプロセスが現在オープンしている
ファイルに対応しています。
.Pa /dev/fd/0
から
.Pa /dev/fd/#
までのファイルは記述子への参照であり、
ファイルシステムを通じてアクセスすることができます。
ファイル記述子がオープンされていて、ファイルをオープンしたときのモードが
既存の記述子のモードのサブセットである場合は、システムコール呼び出し
.Bd -literal -offset indent
fd = open("/dev/fd/0", mode);
.Ed
.Pp
と、システムコール呼び出し
.Bd -literal -offset indent
fd = fcntl(0, F_DUPFD, 0);
.Ed
.Pp
は等価です。
.Pp
ファイル
.Pa /dev/stdin ,
.Pa /dev/stdout
および
.Pa /dev/stderr
.Pa /dev/fd
サブディレクトリの対応するエントリへのシンボリックリンクとなります。
これらをオープンするのは、以下のシステムコール呼び出しと等価です。
.Bd -literal -offset indent
fd = fcntl(STDIN_FILENO, F_DUPFD, 0);
fd = fcntl(STDOUT_FILENO, F_DUPFD, 0);
fd = fcntl(STDERR_FILENO, F_DUPFD, 0);
.Ed
.Pp
.Xr open 2
呼び出し時のフラグは
.Dv O_RDONLY ,
.Dv O_WRONLY
および
.Dv O_RDWR
以外は無視されます。
.Pp
.Pa /dev/tty
エントリはカレントプロセスの制御端末への間接参照です。
これは見かけ上は名前つきパイプ (FIFO) ですが、本物の制御端末デバイスと
全く同じ振舞いをします。
.Sh 関連ファイル
.Bl -tag -width /dev/stderr -compact
.It Pa /dev/fd/#
.It Pa /dev/stdin
.It Pa /dev/stdout
.It Pa /dev/stderr
.It Pa /dev/tty
.El
.Sh 関連項目
.Xr tty 4 ,
.Xr mount_devfs 8 ,
.Xr mount_fdesc 8
.Sh 歴史
.Nm
ファイルシステムは
.Bx 4.4
で最初に登場しました。
.Nm
マニュアルページは
.Fx 2.2
で最初に登場しました。
.Sh 作者
.Nm
マニュアルページは
.An Mike Pritchard Aq mpp@FreeBSD.org
によって書かれたもので、
.An Jan-Simon Pendry
による
.Xr mount_fdesc 8
マニュアルページに基づいています。
diff --git a/ja_JP.eucJP/man/man5/forward.5 b/ja_JP.eucJP/man/man5/forward.5
index 6751a2bde4..1d0b5c13a4 100644
--- a/ja_JP.eucJP/man/man5/forward.5
+++ b/ja_JP.eucJP/man/man5/forward.5
@@ -1,83 +1,83 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. 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 Mike Pritchard and
.\" contributors.
.\" 4. Neither the name of the author 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 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: forward.5,v 1.1.2.1 1997/03/07 04:18:03 mpp Exp %
+.\" %Id: forward.5,v 1.2 1997/03/07 03:28:00 jmg Exp %
.\" jpman %Id: forward.5,v 1.3 1998/04/29 11:32:30 kuma Stab %
.\"
.\" WORD: quote クォート(単一引用符または二重引用符文字のこと)
.\"
.Dd July 2, 1996
.Dt FORWARD 5
.Os
.Sh 名称
.Nm forward
.Nd メールの転送指示
.Sh 解説
.Nm .forward
ファイルは、ユーザのメールの転送先の
メールアドレスもしくはプログラムのリストを格納します。
このファイルが存在しない場合には、メール転送は行なわれません。
行頭に標準のシェルパイプシンボル (|) を付けることにより、
メールはプログラムの標準入力として転送されます。
引数をコマンドに渡す場合には、行全体をクォートで括る必要があります。
セキュリティ上の理由で、
.Nm .forward
ファイルはメール送付先のユーザもしくは root が所有者である必要があり、
ユーザのシェルが
.Pa /etc/shells
にリストされている必要があります。
.Pp
例えば、
.Nm .forward
ファイルが以下の行を含む場合:
.Bd -literal -offset indent
nobody@FreeBSD.org
"|/usr/bin/vacation nobody"
.Ed
.Pp
メールは
.Ar nobody@FreeBSD.org
に転送され、
単一引数
.Ar nobody
を伴なってプログラム
.Pa /usr/bin/vacation
に転送されます。
.Sh 関連ファイル
.Bl -tag -width $HOME/.forward -compact
.It Pa $HOME/.forward
ユーザによる転送指示
.El
.Sh 関連項目
.Xr mailaddr 7 ,
.Xr sendmail 8
diff --git a/ja_JP.eucJP/man/man5/fs.5 b/ja_JP.eucJP/man/man5/fs.5
index 1c87cedba3..c9f0d3edbf 100644
--- a/ja_JP.eucJP/man/man5/fs.5
+++ b/ja_JP.eucJP/man/man5/fs.5
@@ -1,363 +1,371 @@
.\" 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
+.\" %Id: fs.5,v 1.8 1997/03/24 00:33:38 mpp Exp %
+.\"
.\" jpman %Id: fs.5,v 1.3 1998/06/22 11:05:13 kumano Stab %
-.\" %Id: fs.5,v 1.3.2.2 1997/03/07 04:18:04 mpp Exp %
.\"
.Dd April 19, 1994
.Dt FS 5
.Os BSD 4.2
.Sh 名称
.Nm fs ,
.Nm inode
.Nd ファイルシステムボリュームのフォーマット
.Sh 書式
-.Fd #include <sys/types.h>
+.Fd #include <sys/param.h>
.Fd #include <ufs/ffs/fs.h>
+.Pp
+.Fd #include <sys/types.h>
+.Fd #include <sys/lock.h>
+.Fd #include <ufs/ufs/quota.h>
.Fd #include <ufs/ufs/inode.h>
.Sh 解説
ファイル
.Aq Pa fs.h
.Aq Pa inode.h
は、ランダムアクセスデバイス (ディスク) 上のファイルシステムオブジェクト
の基本フォーマットを作成、管理する際に使われるいくつかの構造体、
定義済み変数、マクロを宣言します。
.Pp
ファイルシステムはブロックサイズとブロック数から構成されており、
これらはファイルシステムのパラメータになります。
.Dv BBLOCK
から始まり
大きさ
.Dv BBSIZE
だけ続くセクタは、
ディスクラベルといくつかの一次、二次ハードウェアブートストラッププログラム
のために使われます。
.Pp
実際のファイルシステムは、
.Dv SBLOCK
セクタから始まり、そこには
大きさが
.Dv SBSIZE
である
.Em スーパブロック
があります。
ファイル
.Aq Pa ufs/ffs/fs.h
にある以下の構造体は、スーパブロックを記述しています。
.Bd -literal
/*
- * ファイルシステムのスーパブロック
+ * FFS ファイルシステムのスーパブロック
*/
struct fs {
- struct fs *fs_link; /* 内部スーパブロック用に使われるファイルシステムの */
- struct fs *fs_rlink; /* リンク済みリスト */
- daddr_t fs_sblkno; /* ファイルシステム内のスーパブロックのアドレス */
- daddr_t fs_cblkno; /* ファイルシステム内のシリンダブロックのオフセット */
- daddr_t fs_iblkno; /* ファイルシステム内の inode ブロックのオフセット */
- daddr_t fs_dblkno; /* cg 後の最初のデータのオフセット */
- long fs_cgoffset; /* シリンダ内のシリンダグループオフセット */
- long fs_cgmask; /* mod fs_ntrak の計算に使われる */
- time_t fs_time; /* 最後に書き込まれた時刻 */
- long fs_size; /* fs 内のブロック数 */
- long fs_dsize; /* fs 内のデータブロック数 */
- long fs_ncg; /* シリンダグループの数 */
- long fs_bsize; /* fs 内の基本ブロックサイズ */
- long fs_fsize; /* fs 内のフラグメントブロックサイズ */
- long fs_frag; /* fs の 1 ブロック中のフラグメント数 */
+ int32_t fs_firstfield; /* 内部スーパブロック用に使われる、歴史的な
+ int32_t fs_unused_1; /* ファイルシステムのリンク済みリスト */
+ ufs_daddr_t fs_sblkno; /* ファイルシステム内のスーパブロックのアドレス */
+ ufs_daddr_t fs_cblkno; /* ファイルシステム内のシリンダブロックのオフセット */
+ ufs_daddr_t fs_iblkno; /* ファイルシステム内の inode ブロックのオフセット */
+ ufs_daddr_t fs_dblkno; /* cg 後の最初のデータのオフセット */
+ int32_t fs_cgoffset; /* シリンダ内のシリンダグループオフセット */
+ int32_t fs_cgmask; /* mod fs_ntrak の計算に使われる */
+ time_t fs_time; /* 最後に書き込まれた時刻 */
+ int32_t fs_size; /* fs 内のブロック数 */
+ int32_t fs_dsize; /* fs 内のデータブロック数 */
+ int32_t fs_ncg; /* シリンダグループの数 */
+ int32_t fs_bsize; /* fs 内の基本ブロックサイズ */
+ int32_t fs_fsize; /* fs 内のフラグメントブロックサイズ */
+ int32_t fs_frag; /* fs の 1 ブロック中のフラグメント数 */
/* 以下はコンフィグレーションパラメータ */
- long fs_minfree; /* フリーブロックの最小パーセンテージ */
- long fs_rotdelay; /* 最適な次ブロックのための ms 数 */
- long fs_rps; /* 1 秒あたりのディスク回転 */
+ int32_t fs_minfree; /* フリーブロックの最小パーセンテージ */
+ int32_t fs_rotdelay; /* 最適な次ブロックのための ms 数 */
+ int32_t fs_rps; /* 1 秒あたりのディスク回転 */
/* これらのフィールドは他のフィールドから計算できる */
- long fs_bmask; /* ``blkoff'' ブロックオフセットの計算 */
- long fs_fmask; /* ``fragoff'' フラグメントオフセットの計算 */
- long fs_bshift; /* ``lblkno'' 論理ブロック番号の計算 */
- long fs_fshift; /* ``numfrags'' フラグメント数の計算 */
+ int32_t fs_bmask; /* ``blkoff'' ブロックオフセットの計算 */
+ int32_t fs_fmask; /* ``fragoff'' フラグメントオフセットの計算 */
+ int32_t fs_bshift; /* ``lblkno'' 論理ブロック番号の計算 */
+ int32_t fs_fshift; /* ``numfrags'' フラグメント数の計算 */
/* 以下はコンフィグレーションパラメータ */
- long fs_maxcontig; /* 連続したブロックの最大数 */
- long fs_maxbpg; /* シリンダグループあたりの最大ブロック数 */
+ int32_t fs_maxcontig; /* 連続したブロックの最大数 */
+ int32_t fs_maxbpg; /* シリンダグループあたりの最大ブロック数 */
/* これらのフィールドは他のフィールドから計算できる */
- long fs_fragshift; /* フラグメントシフトするブロック */
- long fs_fsbtodb; /* fsbtodb と dbtofsb シフト定数 */
- long fs_sbsize; /* スーパブロックの実際の大きさ */
- long fs_csmask; /* csum ブロックオフセット */
- long fs_csshift; /* csum ブロック数 */
- long fs_nindir; /* NINDIR の値 */
- long fs_inopb; /* INOPB の値 */
- long fs_nspf; /* NSPF の値 */
+ int32_t fs_fragshift; /* フラグメントシフトするブロック */
+ int32_t fs_fsbtodb; /* fsbtodb と dbtofsb シフト定数 */
+ int32_t fs_sbsize; /* スーパブロックの実際の大きさ */
+ int32_t fs_csmask; /* csum ブロックオフセット */
+ int32_t fs_csshift; /* csum ブロック数 */
+ int32_t fs_nindir; /* NINDIR の値 */
+ int32_t fs_inopb; /* INOPB の値 */
+ int32_t fs_nspf; /* NSPF の値 */
/* 別のコンフィグレーションパラメータ */
- long fs_optim; /* 最適化の選択、以下を参照 */
+ int32_t fs_optim; /* 最適化の選択、以下を参照 */
/* これらのフィールドはハードウェアから引き出される */
- long fs_npsect; /* 予備を含むトラックあたりのセクタ数 */
- long fs_interleave; /* ハードウェアセクタインタリーブ */
- long fs_trackskew; /* トラックあたりのセクタ 0 ゆがみ */
- long fs_headswitch; /* ヘッドスイッチ時間 (usec) */
- long fs_trkseek; /* トラック間シーク (usec) */
+ int32_t fs_npsect; /* 予備を含むトラックあたりのセクタ数 */
+ int32_t fs_interleave; /* ハードウェアセクタインタリーブ */
+ int32_t fs_trackskew; /* トラックあたりのセクタ 0 ゆがみ */
+/* fs_id は未使用の fs_headswitch と fs_trkseek のフィールドの空間を保持 */
+ int32_t fs_id[2]; /* ユニークなファイルシステム ID */
/* シリンダグループの数とサイズにより決められるサイズ */
- daddr_t fs_csaddr; /* シリンダグループ総括領域のブロックアドレス */
- long fs_cssize; /* シリンダグループ総括領域のサイズ */
- long fs_cgsize; /* シリンダグループサイズ */
+ ufs_daddr_t fs_csaddr; /* シリンダグループ総括領域のブロックアドレス */
+ int32_t fs_cssize; /* シリンダグループ総括領域のサイズ */
+ int32_t fs_cgsize; /* シリンダグループサイズ */
/* これらのフィールドはハードウェアから引き出される */
- long fs_ntrak; /* シリンダあたりのトラック数 */
- long fs_nsect; /* トラックあたりのセクタ数 */
- long fs_spc; /* シリンダあたりのセクタ数 */
+ int32_t fs_ntrak; /* シリンダあたりのトラック数 */
+ int32_t fs_nsect; /* トラックあたりのセクタ数 */
+ int32_t fs_spc; /* シリンダあたりのセクタ数 */
/* これはディスクドライバパーティション作成時のもの */
- long fs_ncyl; /* ファイルシステムのシリンダ数 */
+ int32_t fs_ncyl; /* ファイルシステムのシリンダ数 */
/* これらのフィールドは他のフィールドから計算できる */
- long fs_cpg; /* グループあたりのシリンダ数 */
- long fs_ipg; /* グループあたりの inode 数 */
- long fs_fpg; /* グループあたりのブロック数 * fs_frag */
+ int32_t fs_cpg; /* グループあたりのシリンダ数 */
+ int32_t fs_ipg; /* グループあたりの inode 数 */
+ int32_t fs_fpg; /* グループあたりのブロック数 * fs_frag */
/* このデータはクラッシュ後に再計算されなければならない */
- struct csum fs_cstotal; /* シリンダ総括情報 */
+ struct csum fs_cstotal;/* シリンダ総括情報 */
/* 以下のフィールドはマウント時にクリアされる */
- char fs_fmod; /* スーパブロック変更フラグ */
- char fs_clean; /* ファイルシステムがクリーンであるフラグ */
- char fs_ronly; /* 読み込み専用でマウントされたフラグ */
- char fs_flags; /* 現在未使用のフラグ */
- char fs_fsmnt[MAXMNTLEN]; /* マウントされている名前 */
+ int8_t fs_fmod; /* スーパブロック変更フラグ */
+ int8_t fs_clean; /* ファイルシステムがクリーンであるフラグ */
+ int8_t fs_ronly; /* 読み込み専用でマウントされたフラグ */
+ int8_t fs_flags; /* 現在未使用のフラグ */
+ int8_t fs_fsmnt[MAXMNTLEN]; /* マウントされている名前 */
/* これらのフィールドは現在のブロックの配置情報を保持する */
- long fs_cgrotor; /* 最後に検索された cg */
+ int32_t fs_cgrotor; /* 最後に検索された cg */
struct csum *fs_csp[MAXCSBUFS]; /* fs_cs 情報バッファのリスト */
- long fs_cpc; /* postbl 内のサイクルあたりのシリンダ */
- short fs_opostbl[16][8]; /* 旧回転ブロックリストヘッド */
- long fs_sparecon[50]; /* 将来のために予約された定数 */
- long fs_contigsumsize;/* クラスタ総括配列の大きさ */
- long fs_maxsymlinklen;/* 内部シンボリックリンクの最大長 */
- long fs_inodefmt; /* ディスク上の inode のフォーマット */
- u_quad_t fs_maxfilesize;/* 最大表示可能ファイルサイズ */
- quad fs_qbmask; /* ~fs_bmask - quad サイズで使う */
- quad fs_qfmask; /* ~fs_fmask - quad サイズで使う */
- long fs_postblformat; /* 位置レイアウトテーブルのフォーマット */
- long fs_nrpos; /* 回転位置の数 */
- long fs_postbloff; /* (short) 回転ブロックリストヘッド */
- long fs_rotbloff; /* (u_char) 各回転毎のブロック */
- long fs_magic; /* マジックナンバ */
- u_char fs_space[1]; /* 各回転毎のブロックのリスト */
+ int32_t *fs_maxcluster;/* 各シリンダグループの最大クラスタ */
+ int32_t fs_cpc; /* postbl 内のサイクルあたりのシリンダ */
+ int16_t fs_opostbl[16][8]; /* 旧回転ブロックリストヘッド */
+ int32_t fs_sparecon[50]; /* 将来のために予約された定数 */
+ int32_t fs_contigsumsize; /* クラスタ総括配列の大きさ */
+ int32_t fs_maxsymlinklen; /* 内部シンボリックリンクの最大長 */
+ int32_t fs_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_postblformat;/* 位置レイアウトテーブルのフォーマット */
+ int32_t fs_nrpos; /* 回転位置の数 */
+ int32_t fs_postbloff; /* (u_int16) 回転ブロックリストヘッド */
+ int32_t fs_rotbloff; /* (u_int8) 各回転毎のブロック */
+ int32_t fs_magic; /* マジックナンバ */
+ u_int8_t fs_space[1]; /* 各回転毎のブロックのリスト */
/* 実際はもっと長い */
};
/*
* ファイルシステム識別
*/
#define FS_MAGIC 0x011954 /* fast ファイルシステムのマジックナンバ */
#define FS_OKAY 0x7c269d38 /* スーパブロックチェックサム */
#define FS_42INODEFMT -1 /* 4.2BSD inode フォーマット */
-#define FS_44INODEFMT 2 /* 4.4BSD inode フォーマット */
+#define FS_44INODEFMT 2 /* 4.4BSD inode フォーット
+ */
/*
* 最適化のための選択
*/
#define FS_OPTTIME 0 /* 最小アロケーション時間 */
#define FS_OPTSPACE 1 /* 最小ディスクフラグメンテーション */
/*
* 回転レイアウトテーブルフォーマットタイプ
*/
#define FS_42POSTBLFMT -1 /* 4.2BSD 回転テーブルフォーマット */
#define FS_DYNAMICPOSTBLFMT 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_rotdelay
は、同一シリンダ上で別のディスク転送を開始する
最小ミリ秒数を与えます。
これは、あるファイル中のディスクブロックの周回の中での最適な配置を
決定するのに使われます。
デフォルトの
.Fa fs_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 SBSIZE
の大きさ以上ではないということに注意して下さい。
.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 SBSIZE
の大きさを持つことにより制限されています。
これらのテーブルの大きさは、ファイルシステムのブロックサイズに
.Em 逆比例
します。
セクタサイズが 2 のべき乗でないときには、周回パターンを
.Pq Fa fs_cpc
だけ繰り返すまでに含まれるシリンダ数が増加するので、
同様にテーブルの大きさも増加します。
周回レイアウトテーブルの大きさは、
.Pq Fa struct fs
に残っているバイト数から割り出されます。
.Pp
シリンダグループあたりのデータブロック数は、シリンダグループが
たかだか 1 ブロックであるので、制限されています。
inode と空きブロックテーブルは、単一ブロックから
シリンダグループ構造体
.Pq Fa struct cg
のための領域を除いた残りにぴったり合っていなければなりません。
.Pp
.Em Inode :
inode は、
.Tn UNIX
ファイルシステム内のすべてのファイルに関する動作の中心です。
各アクティブなファイル、カレントディレクトリ、マウントされたファイル、
テキストファイル、root には、それぞれユニークな inode が割り当てられます。
inode はそのデバイス / i 番号によって `名前付け' されています。
詳しくはインクルードファイル
-.Aq Pa sys/inode.h
+.Aq Pa ufs/ufs/inode.h
を参照して下さい。
.Sh 歴史
filsys と名付けられたスーパブロック構造は
.At v6
から登場しました。このマニュアルで記述されているファイルシステムは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/fstab.5 b/ja_JP.eucJP/man/man5/fstab.5
index 43d542ba7a..63f8a33ed3 100644
--- a/ja_JP.eucJP/man/man5/fstab.5
+++ b/ja_JP.eucJP/man/man5/fstab.5
@@ -1,246 +1,246 @@
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)fstab.5 8.1 (Berkeley) 6/5/93
-.\" %Id: fstab.5,v 1.4.2.5 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: fstab.5,v 1.9 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: fstab.5,v 1.3 1998/06/12 11:00:49 mutoh Stab %
.\"
.Dd June 5, 1993
.Dt FSTAB 5
.Os BSD 4
.Sh 名称
.Nm fstab
.Nd ファイルシステムに関する静的情報
.Sh 書式
.Fd #include <fstab.h>
.Sh 解説
.Nm fstab
ファイルは、さまざまなファイルシステムについて記述した情報を格納します。
.Nm fstab
はプログラムによって読み出されるだけで、書き込みはされません。
このファイルを適切に作成、保守するのはシステム管理者の責務です。
各ファイルシステムは個別の行に記述されます。
各々の行のフィールドはタブまたはスペースによって区切られます。
.Xr fsck 8 ,
.Xr mount 8 ,
および
.Xr umount 8
.Nm fstab
を通じて必要な処理を連続して繰り返すため、
.Nm fstab
のレコードの順序は重要な意味を持ちます。
.Pp
第1フィールド
.Pq Fa fs_spec
はマウントされるブロックスペシャルデバイス、またはリモートのファイル
システムを表します。
.Em ufs
形式のファイルシステムでは、スペシャルファイル名はブロックスペシャル
ファイル名であり、キャラクタスペシャルファイル名ではありません。
プログラムがキャラクタスペシャルファイル名を必要とする場合、そのプログラム
がスペシャルファイル名の中の最後の ``/'' の後ろに ``r'' を追加することで
キャラクタスペシャルファイル名を作成しなければなりません。
.Pp
第2フィールド
.Pq Fa fs_file
はファイルシステムのマウントポイントを表します。
スワップパーティションでは、このフィールドには ``none'' と記述すべきです。
.Pp
第3フィールド
.Pq Fa fs_vfstype
はファイルシステムの形式を表します。
システムはさまざまなファイルシステム形式をサポートできます。
ルート、 /usr および /tmp のファイルシステムだけはカーネルに静的に組み
込まれている必要があります。
他の全てのファイルシステムはマウント時に自動的にロードされます
(例外 : UFS 系 - FFS , MFS および LFS は現在のところデマンドロードは
できません)。
いまだに他のファイルシステムも同様に静的に組み込むのを好む人もいるようです。
.Bl -tag -width indent -offset indent
.It Em ufs
ローカルの
.Tn UNIX
ファイルシステム
.It Em mfs
ローカルのメモリベース
.Tn UNIX
ファイルシステム
.It Em nfs
Sun Microsystems 互換 ``Network File System''
.It Em swap
スワッピングに使用されるディスクパーティション
.It Em msdos
DOS 互換ファイルシステム
.It Em cd9660
( ISO 9660 による) CD-ROM ファイルシステム
.\" おそらく、例えばRock Ridge extension形式なども処理される?
.It Em procfs
プロセスデータへのアクセスのためのファイルシステム
.It Em kernfs
カーネルパラメータへのアクセスのためのファイルシステム
.El
.Pp
第4フィールド
.Pq Fa fs_mntops
は、ファイルシステムに関連するマウントオプションを表します。
これはコンマで区切られたオプションのリストとして記述されます。
これは少なくともマウントの形式(以下の
.Fa fs_type
参照)を含み、加えてファイルシステム形式に特有のいくつかの追加の
オプションを含みます。
.Pp
``userquota'' および ``groupquota'' オプションの双方、またはいずれかが
指定されている場合、ファイルシステムは自動的に
.Xr quotacheck 8
コマンドによって処理され、ユーザおよびグループクォータが
.Xr quotaon 8
で有効にされます。
デフォルトでは、ファイルシステムのクォータは関連するファイルシステムの
ルートに置かれた
.Pa quota.user
および
.Pa quota.group
というファイルで管理されます。
これらのデフォルトは、クォータオプションの直後に等号とデフォルトに代わる
絶対パス名を置くことで変更することができます。
従って、
.Pa /tmp
のユーザクォータファイルを
.Pa /var/quotas/tmp.user
に置く場合、そのファイルの場所は以下のように指定されます。
.Bd -literal -offset indent
userquota=/var/quotas/tmp.user
.Ed
.Pp
``noauto'' オプションが指定されている場合、ファイルシステムはシステム
起動時に自動的にマウントされません。
.Pp
マウント形式は
.Fa fs_mntops
フィールドから取り出され、
.Fa fs_type
フィールドに個別に保存されます(
.Fa fs_mntops
フィールドからは削除されません)。
.Fa fs_type
が ``rw'' または ``ro'' ならば、
.Fa fs_file
フィールドで指定されたファイルシステムは、読み書き可能、または読み出し
専用で指定のスペシャルファイルに正常にマウントされます。
.Fa fs_type
が ``sw'' ならば、スペシャルファイルはシステムのリブート処理の最後に
.Xr swapon 8
コマンドによってスワップ領域の一部として使用されます。
.Fa fs_spec
.Fa fs_type
以外のフィールドは使用されません。
.Fa fs_type
が ``xx'' と指定されている場合、このエントリは無視されます。
これは、現在使用されていないディスクパーティションを表すのに便利です。
.Pp
第5フィールド
.Pq Fa fs_freq
は、どのファイルシステムがダンプされる必要があるか決定するために
.Xr dump 8
コマンドによって使用されます。
第5フィールドが与えられていない場合は 0 が返され、
.Nm dump
コマンドはそのファイルシステムをダンプする必要がないと見なします。
.Pp
第6フィールド
.Pq Fa fs_passno
は、リブート時にファイルシステムのチェックが行われる順序を決定するために
.Xr fsck 8
プログラムによって使用されます。
ルートファイルシステムは
.Fa fs_passno
に 1 、他のファイルシステムは
.Fa fs_passno
に 2 が指定されているべきです。
1つのドライブ内のファイルシステムは逐次的にチェックされますが、
異なるドライブ上のファイルシステムは、ハードウェアの並列性を利用して
同時にチェックされます。
第6フィールドが与えられていないか 0 の場合、0 が返され、
.Xr fsck 8
コマンドはそのファイルシステムをチェックする必要がないと見なします。
.Bd -literal
#define FSTAB_RW "rw" /* 読み書き可能デバイス */
#define FSTAB_RQ "rq" /* クォータ付き読み書き可能デバイス */
#define FSTAB_RO "ro" /* 読み出し専用デバイス */
#define FSTAB_SW "sw" /* スワップデバイス */
#define FSTAB_XX "xx" /* 完全に無視 */
struct fstab {
char *fs_spec; /* ブロックスペシャルデバイス名 */
char *fs_file; /* ファイルシステムのパスのプレフィックス */
char *fs_vfstype; /* ufs,nfs などのファイルシステム形式 */
char *fs_mntops; /* -o に準拠したマウントオプション */
char *fs_type; /* fs_mntops から FSTAB_* のコピー */
int fs_freq; /* ダンプ周期の日数 */
int fs_passno; /* 並列 fsck のパス番号 */
};
.Ed
.Pp
.Pa fstab
のレコードを適切に読み出すには、
.Xr getfsent 3 ,
.Xr getfsspec 3 ,
.Xr getfstype 3 ,
および
.Xr getfsfile 3
ルーチンを使用します。
.Sh 関連ファイル
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
.Nm fstab
ファイルは
.Pa /etc
に存在します。
.El
.Sh 関連項目
.Xr getfsent 3 ,
.Xr getvfsbyname 3 ,
.Xr dump 8 ,
.Xr fsck 8 ,
.Xr mount 8 ,
.Xr quotacheck 8 ,
.Xr quotaon 8 ,
.Xr swapon 8 ,
.Xr umount 8
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/gettytab.5 b/ja_JP.eucJP/man/man5/gettytab.5
index 22c153e70a..5484ec2de5 100644
--- a/ja_JP.eucJP/man/man5/gettytab.5
+++ b/ja_JP.eucJP/man/man5/gettytab.5
@@ -1,521 +1,521 @@
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)gettytab.5 8.4 (Berkeley) 4/19/94
-.\" %Id: gettytab.5,v 1.7.2.8 1998/07/19 06:53:01 jkh Exp %
+.\" %Id: gettytab.5,v 1.18 1998/06/10 12:34:25 phk Exp %
.\"
.\" jpman %Id: gettytab.5,v 1.3 1998/07/30 15:25:14 horikawa Stab %
.\" "
.\" WORD: terminal line 端末回線
.\" WORD: .Sh CAPABILITIES ケーパビリティ
.\" WORD: erase 文字消去
.\" WORD: kill 行削除
.\" WORD: delay 遅延
.\" WORD: comma コンマ
.\" WORD: banner バナー
.\" WORD: answer chat script アンサーチャットスクリプト
.\" WORD: screen 画面 [termcap.5 gettytab.5]
.\" "
.Dd April 19, 1994
.Dt GETTYTAB 5
.Os BSD 4.2
.\" turn off hyphenation
.hym 999
.Sh 名称
.Nm gettytab
.Nd 端末設定データベース
.Sh 書式
.Nm gettytab
.Sh 解説
.Nm
ファイルは
.Xr termcap 5
データベースを単純化したバージョンで、
端末回線を記述するのに用いられます。
冒頭に起動される端末ログインプロセス
.Xr getty 8
は起動されるたびに
.Nm
ファイルにアクセスするので、
比較的簡単に端末の特性を再設定することができます。
データベースの各エントリは、それぞれ1個の端末クラスを記述するのに用いられます。
.Pp
デフォルトの端末クラス
.Em default
が存在し、
他の全てのクラスに対するグローバルなデフォルト値を記述するのに
用いられます。
(言い替えれば、まず、
.Em default
エントリを読み込み、その後で、必要なクラスのエントリを読み込み、
デフォルトの設定をクラス固有の設定で上書きします。)
.Sh ケーパビリティ
ファイルレイアウトの解説については、
.Xr termcap 5
を参照して下さい。
以下の
.Em デフォルト
欄は、
使用する端末用のテーブルに値がなく、特別の
.Em default
テーブルにも値がない場合に用いられる値です。
.Bl -column 名称 文字列 /usr/bin/login
.It Sy 名称 型 デフォルト 解説
.It "ac 文字列 unused モデム応答のための想定文字列-応答チャットスクリプト"
.It "ap bool 偽 端末はどのパリティでも受け付ける"
.It "bk 文字列 0377 代用の行末文字 (入力ブレーク)"
.It "c0 数値 unused メッセージ書き出しのための tty コントロールフラグ群"
.It "c1 数値 unused ログイン名読み込みのための tty コントロールフラグ群"
.It "c2 数値 unused 端末を去るときのコントロールフラグ群"
.It "ce bool 偽 crt 文字消去アルゴリズムを用いる"
.It "ck bool 偽 crt 行削除アルゴリズムを用いる"
.It "cl 文字列" Ta Dv NULL Ta
.No "画面削除シーケンス"
.It "co bool 偽 コンソール -"
.Ql \en
をログインプロンプトの後に追加する
.It "ct 数値 10 ac/ic スクリプトのためのチャットタイムアウト"
.It "dc 数値 0 チャットデバッグ用ビットマスク"
.It "de 数値 0 この秒数だけ待って、最初のプロンプトを描く前に入力をフラッシュする"
.It "ds 文字列" Ta So Li ^Y Sc Ta
.No "遅延されたサスペンド文字"
.It "dx bool 偽 "
.Dv DECCTLQ
をセットする
.It "ec bool 偽 echo を残す"
.Tn OFF
.It "ep bool 偽 端末は偶数パリティを用いる"
.It "er 文字列" Ta So Li ^? Sc Ta
.No "消去文字"
.It "et 文字列" Ta So Li ^D Sc Ta
.No "テキストの終り"
.Pq Dv EOF
文字
.It "ev 文字列" Ta Dv NULL Ta
.No "環境変数の初期設定"
.It "f0 数値 unused メッセージ書き出しのための tty モードフラグ群"
.It "f1 数値 unused ログイン名読み込みのための tty モードフラグ群"
.It "f2 数値 unused 端末を去るときの tty モードフラグ群"
.It "fl 文字列" Ta So Li ^O Sc Ta
.No "出力フラッシュ文字"
.It "hc bool 偽 "
最後のクローズのときに回線をハングアップ
.Tn させない
.It "he 文字列" Ta Dv NULL Ta
.No "ホスト名編集文字列"
.It "hn 文字列 hostname ホスト名"
.It "ht bool 偽 端末に本物のタブが実装されている"
.It "hw bool 偽 cts/rts によるハードウェアフロー制御を行う"
.It "i0 数値 unused メッセージ書き出しのための tty 入力フラグ群"
.It "i1 数値 unused ログイン名読み込みのための tty 入力フラグ群"
.It "i2 数値 unused 端末を去るときの tty 入力フラグ群"
.It "ic 文字列 unused モデム初期化のための、想定入力-出力チャットスクリプト"
.It "if 文字列 unused プロンプトの前に、/etc/issue のように名前で指定したファイルを表示する"
.It "ig bool 偽 ログイン名に含まれるガベージ文字を無視する"
.It "im 文字列" Ta Dv NULL Ta
.No "冒頭の (バナー) メッセージ"
.It "in 文字列" Ta So Li ^C Sc Ta
.No "割り込み文字"
.It "is 数値 unused 入力スピード"
.It "kl 文字列" Ta So Li ^U Sc Ta
.No "行消去文字"
.It "l0 数値 unused メッセージ書き出しのための tty ローカルフラグ群"
.It "l1 数値 unused ログイン名読み込みのための tty ローカルフラグ群"
.It "l2 数値 unused 端末を去るときの tty ローカルフラグ群"
.It "lm 文字列 login: ログインプロンプト"
.It "ln 文字列" Ta So Li ^V Sc Ta
.No "次の文字がリテラル値であることを示す文字"
.It "lo 文字列" Ta Pa /usr/bin/login Ta
.No "名前を得たときに実行するプログラム"
.It "mb bool 偽 キャリアに基づいたフロー制御を行う"
.It "nl bool 偽 端末には改行文字がある (あるいは、あるはずである)"
.It "np bool 偽 端末はパリティを用いない (つまり 8bit 文字)"
.It "nx 文字列 default (速度の自動選択のための) 次のテーブル"
.It "o0 数値 unused メッセージ書き出しのための tty 出力フラグ群"
.It "o1 数値 unused ログイン名読み込みのための tty 出力フラグ群"
.It "o2 数値 unused 端末を去るときの tty 出力フラグ群"
.It "op bool 偽 端末は奇数パリティを用いる"
.It "os 数値 unused 出力スピード"
.It "pc 文字列" Ta So Li \e0 Sc Ta
.No "パッド文字"
.It "pe bool 偽 プリンタの (ハードコピー) 文字消去アルゴリズムを用いる"
.It "pf 数値 0 最初のプロンプトと"
引き続くフラッシュの間の遅延 (秒数)
.It "pp 文字列 unused PPP 認証プログラム"
.It "ps bool 偽 回線は"
.Tn MICOM
ポートセレクタに接続されている
.It "qu 文字列" Ta So Li \&^\e Sc Ta
.No "終了文字"
.It "rp 文字列" Ta So Li ^R Sc Ta
.No "行の再タイプ文字"
.It "rt 数値 unused ac 使用時の ring タイムアウト"
.It "rw bool 偽 入力に raw モードを"
.Tn 用いずに
、cbreak を用いる
.It "sp 数値 unused (入力および出力の) 回線速度"
.It "su 文字列" Ta So Li ^Z Sc Ta
.No "サスペンド文字"
.It "tc 文字列 none テーブルの続き"
.It "to 数値 0 タイムアウト (秒数)"
.It "tt 文字列" Ta Dv NULL Ta
.No "端末の型 (環境変数用)"
.It "ub bool 偽 (プロンプトなどの) バッファリングしない出力を行う"
.It "we 文字列" Ta So Li ^W Sc Ta
.No "単語消去文字"
.It xc bool 偽 コントロール文字を
.Ql ^X
の形で出力
.Tn しない
.It "xf 文字列" Ta So Li ^S Sc Ta Dv XOFF
(出力ストップ) 文字
.It "xn 文字列" Ta So Li ^Q Sc Ta Dv XON
(出力開始) 文字
.It "Lo 文字列 C バナーメッセージでの \&%d のために用いるロケール"
.El
.Pp
以下のケーパビリティはもはや
.Xr getty 8
によってサポートされていません。
.Bl -column 名称 文字列 /usr/bin/login
.It "bd 数値 0 バックスペースでの遅延"
.It "cb bool 偽 crt バックスペースモードを用いる"
.It "cd 数値 0 復帰 (carriage return) での遅延"
.It "fd 数値 0 フォームフィード (垂直移動) での遅延"
.It "lc bool 偽 端末では小文字が使える"
.It "nd 数値 0 改行 (ラインフィード) での遅延"
.It "uc bool 偽 端末では大文字しか使えない"
.El
.Pp
回線速度が指定されていない場合、 getty が起動された時に設定されている速度は
変更されません。
入力速度または出力速度を指定したときは、
指定した方向の回線速度のみが上書き更新されます。
.Pp
メッセージの出力時、ログイン名の入力時、
getty が処理を済ませて端末を手放す時に用いる
端末モードの値は
ブール型フラグの指定に基づいて決定されます。
もしこの決定が適切でないことが分かった場合、
これら3つのどれか (あるいはすべて) の値は、数値指定
.Em \&c0 ,
.Em \&c1 ,
.Em \&c2 ,
.Em \&i0 ,
.Em \&i1 ,
.Em \&i2 ,
.Em \&l0 ,
.Em \&l1 ,
.Em \&l2 ,
.Em \&o0 ,
.Em \&o1 ,
または
.Em \&o2
のどれかで上書きされます。
これらの数値指定では、フラグの値
(通常は、0 を頭につけた 8 進数)
そのものを指定することができます。
これらのフラグは termio の
.Em c_cflag ,
.Em c_iflag ,
.Em c_lflag ,
および
.Em c_oflag
の各フィールドにそれぞれ対応します。
それらのセットの各々は、完全に指定しなければ有効になりません。
.Em \&f0 ,
.Em \&f1 ,
および
.Em \&f2
はTTYサブシステムの旧版の実装に対する後方互換性を意図した物です。
これらのフラグには、sgttyb の
.Em sg_flags
フィールドの (32ビット) 値の下位16ビットが含まれます。また、上位16ビットは
ローカルモードを収めるワードを表します。
.Pp
もし
.Xr getty 8
がナル文字 (回線ブレークを示すものと見なされます) を受け取った場合、
プログラムは
.Em nx
エントリに示されたテーブルを用いて再始動します。
もしこのエントリがなければ、今まで用いていたテーブルを再び用います。
.Pp
遅延はミリ秒単位で指定し、tty ドライバが使用可能な遅延のうち最も
近いものが用いられます。
より大きな確実性が必要な場合は、0 から 1, 2, 3 までの値の
遅延はドライバの特別な遅延アルゴリズムから選択するものと解釈されます。
.Pp
.Em \&cl
画面消去文字列には、その前に必要な遅延時間をミリ秒単位の
(10 進数) 数値で (termcap 風に) 書くことができます。
この遅延はパディング文字
.Em \&pc
を繰り返して用いることによりシミュレートされます。
.Pp
初期化メッセージ
.Em \&im
ログインメッセージ
.Em \&lm
および初期化ファイル
.Em \&if
は、以下の文字の並びをどれでも含めることができます。これらは
.Xr getty 8
が実行されている環境から得た情報に展開されます。
.Pp
.Bl -tag -offset indent -width \&%xxxxxxxxxxxxxx
.It \&%d
現在の日付と時間を、
.Em \&Lo
文字列で指定したロケールでの表記法 (
.Xr strftime 3
の \&%+ フォーマット) で表したもの。
.It \&%h
マシンのホスト名。通常は
.Xr gethostname 3
によってシステムから得ますが、テーブルの
.Em \&hn
エントリで指定して、この値を書き換えることができます。
どちらの場合でも、これは
.Em \&he
文字列を用いて編集することができます。
.Em \&he
文字列の中にある 1 個の '@' は 実際のホスト名から最終的なホスト名に
1文字のコピーを引き起こします。
.Em \&he
文字列中の '#' は実際のホスト名の次の1文字をスキップさせます。
-'@' でも '#' でもない各文字は最終的なホスト名にコピーされます。
+\&'@' でも '#' でもない各文字は最終的なホスト名にコピーされます。
余分な '@' と '#' は無視されます。
.It \&%t
tty の名前。
.It "\&%m, \&%r, \&%s, \&%v"
それぞれ、
.Xr uname 3
が返す
マシンの型、オペレーティングシステムのリリース、オペレーティングシステムの
名前、そしてカーネルのバージョンです。
.It \&%%
1個の
.Dq %
文字。
.El
.Pp
getty がログインプロセス
(通常は
.Dq Pa /usr/bin/login
ですが、
.Em \&lo
文字列で指定されていればそれ)を実行するとき、このプロセスの環境には
.Em \&tt
文字列 (が存在すれば) で指定した
端末の型が設定されます。
.Em \&ev
文字列は、プロセスの環境にデータを追加するために使用することができます。
これはコンマで区切られた文字列からなり、それぞれは、
.Em name=value
という形式になっていると仮定されます。
.Pp
もしタイムアウトとして、
.Em \&to
に 0 以外の値を指定した場合、
指定された秒数経過した後に終了します。
すなわち、getty はログイン名を受け取って制御を
.Xr login 1
に渡すか、または alarm シグナルを受け取って終了します。
これはダイアルイン回線をハングアップするために有用です。
.Pp
.Xr getty 8
からの出力は、
.Em \&op
.Em \&np
が指定された場合を除いて、偶数パリティを用います。
.Em \&op
文字列と
.Em \&ap
を一緒に指定すると、
入力としてはパリティが何であっても許可し、出力としては奇数パリティを
生成します。
注意: これは、getty が実行されているときのみ適用され、端末ドライバの
制限によりここまで完全な実装ができないかもしれません。
.Xr getty 8
.Dv RAW
モードのときは入力文字のパリティ検査を行いません。
.Pp
もし
.Em \&pp
文字列が指定されていて、 PPP リンク確立シーケンスが認識されると、
getty は pp オプションで指定されているプログラムを起動します。
これは PPP 着信を取り扱うために用いることができます。
.Pp
.Nm getty
は以下の2つのケーパビリティを用いて利用できるチャットスクリプト機能を
提供します。これによって、
基本的なインテリジェントモデムをある程度取り扱えるようにします。
.Pp
.Bl -tag -offset indent -width \&xxxxxxxx -compact
.It ic
モデムを初期化するチャットスクリプト。
.It ac
コールに答えるチャットスクリプト。
.El
.Pp
チャットスクリプトは、受信を想定した文字列/送信する文字列の対の連なり
からなります。チャット文字列が始まるとき、
.Nm getty
は最初の文字列を待ち、その文字列を見つけたら 2 番目の文字列を送ります。
以後も同様に処理を進めます。
指定された文字列は 1 個以上のタブあるいはスペースで区切られています。
文字列には標準 ASCII 文字と、特別な「エスケープ」を含めることが
できます。エスケープは、バックスラッシュに続き1文字以上の文字が
続いたもので、それは
以下のように解釈されます。
.Pp
.Bl -tag -offset indent -width \&xxxxxxxx -compact
.It \ea
ベル文字。
.It \eb
バックスペース。
.It \en
改行。
.It \ee
エスケープ。
.It \ef
フォームフィード。
.It \ep
0.5秒の一時停止。
.It \er
復帰文字。
.It \eS, \es
空白文字。
.It \et
タブ。
.It \exNN
16 進数のバイト値。
.It \e0NNN
8 進数のバイト値。
.El
.Pp
.Ql \ep
文字列は送信文字列でのみ有効で、前の文字と次の文字を送る間に 0.5 秒の
一時停止を発生することに注意のこと。
16 進数値は最大で 16 進数 2 桁で、 8 進数値は最大で 8 進数 3 桁です。
.Pp
.Em \&ic
チャットシーケンスはモデムやそれに類似したデバイスを初期化するのに
用いられます。ヘイズ互換のコマンドセットを持つモデム用の初期化チャット
スクリプトの典型例は、以下のようなものでしょう。
.Pp
.Dl :ic="" ATE0Q0V1\er OK\er ATS0=0\er OK\er:
.Pp
このスクリプトは何も待たず (つまり常に成功し)、モデムが正しいモード
(コマンドエコーを抑制し、応答を返す際に冗長モードで返す)
に確実になるようなシーケンスを送り、それから自動応答を
切ります。
終了する前に、 "OK" という反応を待ちます。
この初期化シーケンスは、モデムの応答をチェックして
モデムが正しく機能しているかを確かめるために
用いられます。
初期化スクリプトが完了するのに失敗した場合、
.Nm getty
はこれを致命的な状態であると見なし、その結果として、
.Xr syslogd 8
を用いてログを残してから終了します。
.Pp
同様に、アンサーチャットスクリプトは
(通常) "RING" に対して手動で電話に応答するために
用いることができます。
アンサースクリプトを指定して起動した場合、
.Nm getty
はポートをノンブロッキングモードでオープンし、それ以前の余分な入力をすべて
消去し、ポートへのデータを待ちます。
何らかのデータが取得可能になるとすぐ、アンサーチャットスクリプトが
開始し、文字列がスキャンされ、アンサーチャットスクリプトに従って
応答します。
ヘイズ互換のモデムでは、スクリプトは通常以下のような感じのものになるでしょう。
.Pp
.Dl :ac=RING\er ATA\er CONNECT:
.Pp
これは、"ATA" コマンドによってモデムに応答させ、続いて
入力をスキャンして文字列 "CONNECT" を探します。
もし
.Em \&ct
タイムアウトが生じる前にこの文字列を受け取った場合、
通常のログインシーケンスが開始されます。
.Pp
.Em \&ct
ケーパビリティはすべての送信文字列および想定される入力文字列
に適用されるタイムアウトの値を指定します。このタイムアウトは
文字列待ちを行うごと、および文字列送信を行うごとに設定されます。
少なくともリモートとローカルのモデムの間のコネクションが確立される
のにかかる時間 (通常およそ10秒) だけの長さは必要です。
.Pp
ほとんどの情況で、コネクションが検出された後に
追加の入力のすべてをフラッシュしたいと思うものですが、
この目的には
.Em \&de
ケーパビリティを使うことができます。これは、
コネクションが確立された後で短時間の遅延をかけ、
その間に接続データがすべてモデムによって送られてしまうのと
同じ効果を持ちます。
.Pp
.Sh 関連項目
.Xr login 1 ,
.Xr gethostname 3 ,
.Xr uname 3 ,
.Xr termcap 5 ,
.Xr getty 8 ,
.Xr telnetd 8 .
.Sh バグ
特殊文字 (文字消去、行削除など) は
.Xr login 1
によってシステムのデフォルトに再設定されてしまいます。
.Em 常に、
ログイン名としてタイプした '#' あるいは '^H' は1文字消去として
扱われ、 '@' は行消去として扱われます。
.Pp
遅延機能は実クロックです。
全般的に柔軟性がないという問題はさておき、遅延アルゴリズムのいくつかは
実装されていません。
端末ドライバが正常な遅延の設定をサポートしている必要があります。
.Pp
.Em \&he
ケーパビリティは全く知的ではありません。
.Pp
忌まわしい
.Xr termcap 5
フォーマットより、もっと合理的なものを選ぶべきでした。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
で登場しました。
diff --git a/ja_JP.eucJP/man/man5/group.5 b/ja_JP.eucJP/man/man5/group.5
index 362a6acff6..e4175af70d 100644
--- a/ja_JP.eucJP/man/man5/group.5
+++ b/ja_JP.eucJP/man/man5/group.5
@@ -1,149 +1,165 @@
.\" 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
-.\" %Id: group.5,v 1.4.2.2 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: group.5,v 1.13 1998/06/28 21:33:42 hoek Exp %
.\" jpman %Id: group.5,v 1.3 1998/07/02 14:08:51 horikawa Stab %
.\"
.Dd September 29, 1994
.Dt GROUP 5
.Os
.Sh 名称
.Nm group
.Nd グループ許可ファイルのフォーマット
.Sh 解説
.Aq Pa /etc/group
ファイルは改行で区切られた
.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
エントリ中にグループが指定されていれば自動的にそのグループに入ることに
なりますので、
.Pa /etc/group
ファイル中にそのユーザを追加する必要はありません。
.\" .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 :
.\" .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 YP/NIS との相互作用
.Pa /etc/group
ファイルは YP/NIS グループデータベースを有効にするように作成可能です。
C ライブラリ内部としては、
.Ar name
欄が 1 つのプラス符号 (`+') に続く 1 つのグループ名から成るエントリは、
その名前のグループに対する YP/NIS グループエントリで置き換えられます。
.Ar name
欄が引き続いてグループ名を持たない 1 つのプラス符号から成るエントリは、
YP/NIS の
.Dq Li group.byname
マップ全体で置き換えられます。
.Pp
何らかの理由で YP/NIS グループデータベースが有効になった場合、
少数のグループのみが有効であるときですら、全ての逆検索 (すなわち
.Fn getgrgid
) ではデータベース全体を利用することになるでしょう。それ故、
.Fn getgrgid
が返すグループ名が正しい前方マッピングを持つことは保証できません。
.Sh 制限
-1 つのグループは 200 以上のメンバを持つことはできません。
+様々な制限事項が該当する機能のところで説明されています。
+.Sx 関連項目
+の節を参照してください。
+
+古い実装においては、
+1 つのグループは 200 以上のメンバを持つことはできず、
.Pa /etc/group
-の最大行長は 1024 文字です。それより長い行は読み飛ばされます。
+の最大行長は 1024 文字でした。それより長い行は読み飛ばされました。
+この制限は
+.Fx 3.0
+でなくなりました。
+静的にリンクされた古いバイナリ、古い共有ライブラリに依存する古いバイナリ、
+互換モードにおける非 FreeBSD のバイナリには、まだこの制限があるかもしれません。
.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 yp 4 ,
.Xr passwd 5
.Sh バグ
.Xr passwd 1
コマンドは
.Nm group
パスワードを変更しません。
.Sh 歴史
.Nm
ファイルフォーマットは
.At v6
で現われました。
YP/NIS の機能は
.Tn SunOS
を手本に作られ、
.Tn FreeBSD
1.1 で初めて現われました。
+コメントサポートは
+.Fx 3.0
+で最初に現われました。
diff --git a/ja_JP.eucJP/man/man5/hosts.5 b/ja_JP.eucJP/man/man5/hosts.5
index a3f2bde98e..e95b01820c 100644
--- a/ja_JP.eucJP/man/man5/hosts.5
+++ b/ja_JP.eucJP/man/man5/hosts.5
@@ -1,102 +1,102 @@
.\" 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.
.\"
.\" @(#)hosts.5 8.2 (Berkeley) 12/11/93
-.\" %Id: hosts.5,v 1.2.2.2 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: hosts.5,v 1.4 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: hosts.5,v 1.3 1998/06/12 15:52:05 kumano Stab %
.Dd December 11, 1993
.Dt HOSTS 5
.Os BSD 4.2
.Sh 名称
.Nm hosts
.Nd ホスト名データベース
.Sh 解説
.Nm hosts
ファイルはネットワーク上の既知のホストに関する情報を保持します。
各ホストに対して、1つの行に以下の情報を与えます。
.Bd -unfilled -offset indent
インターネットアドレス
正式なホスト名
別名
.Ed
.Pp
各項目は任意の数の空白やタブ文字で区切られます。
``#'' はコメントの開始を表し、これ以降の行末までの文字はこの
ファイルを検索するルーチンによって解釈されません。
.Pp
ネームサーバ
.Xr named 8
使用時には、このファイルはネームサーバが動作していない時の予備として
機能します。
ネームサーバのために、ごく少数のアドレスがこのファイルに含まれて
いなければなりません。
これらはブート時に
.Xr ifconfig 8
が必要とするローカルインタフェースのアドレス、およびローカルネットワーク
上の少数のマシンを含みます。
.Pp
このファイルは Network Information Control Center
.Pq Tn NIC
で保守された正式なホストデータベースから作成されますが、非公式な別名や
未知のホストに関しては、ローカルでの変更を最新に保つ必要があります。
.Tn NIC
で保守されたデータベースは不完全なので、
.Tn DARPA
インターネット上のサイトではネームサーバの使用が推奨されます。
.Pp
ネットワークアドレスは、インターネットアドレス操作ライブラリ
.Xr inet 3
.Xr inet_addr 3
ルーチンを用いた伝統的な ``.'' (ドット) 表記で指定されます。
ホスト名は、フィールド区切り文字、改行、およびコメント文字
以外のあらゆる印字可能文字を含むことができます。
.Sh 関連ファイル
.Bl -tag -width /etc/hosts -compact
.It Pa /etc/hosts
.Nm hosts
ファイルは
.Pa /etc
に存在します。
.El
.Sh 関連項目
.Xr gethostbyname 3 ,
.Xr ifconfig 8 ,
.Xr named 8
.Rs
.%T "Name Server Operations Guide for BIND"
.Re
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/hosts.equiv.5 b/ja_JP.eucJP/man/man5/hosts.equiv.5
index a141911bf4..999e84e9fa 100644
--- a/ja_JP.eucJP/man/man5/hosts.equiv.5
+++ b/ja_JP.eucJP/man/man5/hosts.equiv.5
@@ -1,124 +1,124 @@
.\" 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.
.\"
-.\" %Id: hosts.equiv.5,v 1.2.2.2 1998/06/28 21:34:26 hoek Exp %
+.\" %Id: hosts.equiv.5,v 1.6 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: hosts.equiv.5,v 1.3 1998/06/12 11:02:12 mutoh Stab %
.Dd Feb 1996
.Dt HOSTS.EQUIV 5
.Os FreeBSD
.Sh 名称
.Nm hosts.equiv ,
.Nm .rhosts
.Nd 信頼できるリモートホスト名、およびユーザのデータベース
.Sh 解説
.Nm hosts.equiv
および
.Nm .rhosts
ファイルは、ネットワーク上の信頼できるホストとユーザに関する情報を格納
します。
各ホストに対して、1つの行に以下の情報を与えます。
単純に
.Bd -unfilled -offset indent
hostname [username]
.Ed
あるいは、より冗長に以下のようにします。
.Bd -unfilled -offset indent
[+-][hostname|@netgroup] [[+-][username|@netgroup]]
.Ed
.Pp
``@'' は netgroup というグループによってホスト、またはユーザを表します。
単独の ``+'' は全てのホスト、またはユーザと一致します。
前に ``-'' を伴うホスト名は、一致する全てのホストとそのホスト上の全ての
ユーザを拒否します。
前に ``-'' を伴うユーザ名は、指定されたホスト上の一致したユーザ全てを
拒否します。
.Pp
各項目は任意の数の空白やタブ文字で区切られます。
``#'' はコメントの開始を表し、これ以降の行末までの文字はこのファイルを
検索するルーチンによって解釈されません。
.Pp
ホスト名は、インターネットアドレス操作ライブラリ
.Xr inet 3
.Xr inet_addr 3
ルーチンを用いた伝統的な ``.'' (ドット) 表記で指定されます。
ホスト名は、フィールド区切り文字、改行、およびコメント文字
以外のあらゆる印字可能文字を含むことができます。
.Pp
セキュリティ上の理由から、ユーザの
.Nm .rhosts
が通常ファイルでないか、所有者がそのユーザでないか、あるいはその
ユーザ以外のユーザが書き込み可能な場合、そのファイルは無視されます。
.Sh 使用例
.Pp
.Dl bar.com foo
.Pp
ホスト ``bar.com'' の ユーザ ``foo'' を信頼します。
.Pp
.Dl +@allclient
.Pp
ネットグループ ``allclient'' の全てのホストを信頼します。
.Pp
.Dl +@allclient -@dau
.Pp
ネットグループ ``allclient'' の全てのホストとそのユーザを信頼しますが、
ネットグループ ``dau'' のユーザは例外です。
.Sh 関連ファイル
.Bl -tag -width /etc/hosts.equivxxx -compact
.It Pa /etc/hosts.equiv
.Nm hosts.equiv
ファイルは
.Pa /etc
に存在します。
.It Pa $HOME/.rhosts
.Nm .rhosts
ファイルは
.Pa $HOME
に存在します。
.El
.Sh 関連項目
.Xr rcp 1 ,
.Xr rlogin 1 ,
.Xr rsh 1 ,
.Xr gethostbyname 3 ,
.Xr inet 3 ,
.Xr innetgr 3 ,
.Xr ruserok 3 ,
.Xr yp 4 ,
.Xr ifconfig 8 ,
.Xr named 8
.Sh バグ
このマニュアルページは不完全です。
より詳細については、 lib/libc/net/rcmd.c のソースか、 SunOS の
マニュアルページを参照してください。
diff --git a/ja_JP.eucJP/man/man5/hosts.lpd.5 b/ja_JP.eucJP/man/man5/hosts.lpd.5
index 21e4b10261..cd25cf54aa 100644
--- a/ja_JP.eucJP/man/man5/hosts.lpd.5
+++ b/ja_JP.eucJP/man/man5/hosts.lpd.5
@@ -1,57 +1,57 @@
.\" 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.
.\"
-.\" %Id: hosts.lpd.5,v 1.2.2.1 1997/03/07 04:18:06 mpp Exp %
+.\" %Id: hosts.lpd.5,v 1.3 1997/03/07 03:28:02 jmg Exp %
.\" jpman %Id: hosts.lpd.5,v 1.3 1998/04/29 11:35:23 kuma Stab %
.\"
.\" WORD: trusted host 信頼できるホスト
.\"
.Dd June 1, 1996
.Dt HOSTS.LPD 5
.Os FreeBSD
.Sh 名称
.Nm hosts.lpd
.Nd ローカルプリントサービスを使用可能な信頼できるホスト
.Sh 解説
.Nm hosts.lpd
ファイルは、あなたのマシンのローカルプリントサービスを許可するホストの
ホスト名もしくは IP アドレスのリストを含みます。
ホスト名および IP アドレスは、各々 1 行に 1 つずつ記述します。
.Sh 関連ファイル
.Bl -tag -width /etc/hosts.lpdxxxxx -compact
.It Pa /etc/hosts.lpd
.Nm hosts.lpd
ファイルは
.Pa /etc
にあります。
.Sh 関連項目
.Xr printcap 5 ,
.Xr lpd 8 .
diff --git a/ja_JP.eucJP/man/man5/kernfs.5 b/ja_JP.eucJP/man/man5/kernfs.5
index 5411aca7a8..140f1e4e9c 100644
--- a/ja_JP.eucJP/man/man5/kernfs.5
+++ b/ja_JP.eucJP/man/man5/kernfs.5
@@ -1,138 +1,138 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. 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 Mike Pritchard.
.\" 4. Neither the name of author 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 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: kernfs.5,v 1.2.2.4 1998/07/19 06:52:11 jkh Exp %
+.\" %Id: kernfs.5,v 1.6 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: kernfs.5,v 1.3 1998/07/21 23:04:50 jsakai Stab %
.\"WORD: machine independent 機種に依存しない
.\"WORD: decimal ASCII ASCII 表記の 10 進数
.\"WORD: mount point マウントポイント
.\"
.Dd December 14, 1996
.Dt kernfs 5
.Os BSD 4.4
.Sh 名称
.Nm kernfs
.Nd カーネルファイルシステム
.Sh 書式
.Bd -literal
kern /kern kernfs rw 0 0
.Ed
.Sh 解説
カーネルファイルシステム
.Nm kernfs
は、現在実行中のカーネルに関する情報へのアクセス手段を提供するものです。
これは通常
.Pa /kern
にマウントされます。
このファイルシステムは読み取り可能な数個の通常ファイルを含んでおり、
これらのファイルの一部には書き込むこともできます。
ファイルの内容は文字列と ASCII 表記の 10 進整数からなり、
機種に依存しない書式になっています。
数値が返されるときは、後ろに改行文字が付け加えられます。
.Pp
マウントポイントには以下のファイルが含まれます。
.Bl -tag -width copyright
.It Pa bootfile
現在のカーネルが起動したパス。
.It Pa boottime
システムが最後に起動した時間 (ASCII 表記の 10 進数)。
.It Pa copyright
カーネルの著作権標示。
.It Pa hostname
現在のホスト名。後ろに改行がつきます。
このファイルに書き込むことにより、現在のホスト名を変更することが
できます。
ホスト名に後続する改行文字は書き込み時には取り除かれます。
.It Pa hz
システムクロックの周波数 (ASCII 表記の 10 進数)。
.It Pa loadavg
過去 1 分間、5 分間および 15 分間のロードアベレージで、カーネル固定小数点
フォーマットで表されます。最後の整数は固定小数のスケーリングファクタ
です。全ての数値は ASCII 10 進数で表されます。
.It Pa pagesize
マシンのページサイズ (ASCII 10進数)。
.It Pa physmem
マシンの物理メモリのページ数 (ASCII 表記の 10 進数)。
.It Pa root
システムのルートディレクトリ。chroot した環境では、
.Xr mount_kernfs 8
を、新しい
.Pa /kern
マウントポイントを生成するために用いることができます。
.Pa /kern/root
はカレントプロセスのルートではなく、システム全体のルートを示すことに
なる予定です。現在はまだ利用できません。
.It Pa rootdev
ルートデバイス。現在はまだ利用できません。
.It Pa rrootdev
raw ルートデバイス。現在はまだ利用できません。
.It Pa time
システムクロックの秒数およびマイクロ秒数 (ASCII 表記の 10 進数)。
.It Pa version
カーネルのバージョン文字列。
.Pa /etc/motd
のヘッドラインは
.Dq Ic "sed 1q /kern/version"
を実行することによって生成することができます。
.El
.Pp
.Nm
によって得られる情報のほとんどは
.Xr sysctl 8
からも入手可能です。
.Sh 関連ファイル
.Bl -tag -width /kern/XXXXXXX
.It Pa /kern
.Nm kernfs
のための通常のマウントポイント。
.El
.Sh 関連項目
.Xr sysctl 3 ,
.Xr mount_kernfs 8 ,
.Xr sysctl 8
.Sh 歴史
.Nm
ファイルシステムは
.Bx 4.4
で最初に登場しました。
.Nm
マニュアルページは
.Fx 2.2
で最初に登場しました。
.Sh 作者
.Nm
マニュアルページは
.An Mike Pritchard Aq mpp@FreeBSD.org
によって書かれたもので、
.An Jan-Simon Pendry
による
.Xr mount_kernfs 8
マニュアルページに基づいています。
diff --git a/ja_JP.eucJP/man/man5/keycap.5 b/ja_JP.eucJP/man/man5/keycap.5
index 37c5de613e..4b07e8ab97 100644
--- a/ja_JP.eucJP/man/man5/keycap.5
+++ b/ja_JP.eucJP/man/man5/keycap.5
@@ -1,128 +1,129 @@
.\"
.\" Copyright (c) 1992,1993,1994 Hellmuth Michaelis
.\"
.\" Copyright (c) 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.
.\"
+.\" @(#)keycap.5, 3.00, Last Edit-Date: [Sun Jan 2 13:45:59 1994]
+.\" %Id: keycap.5,v 1.5 1997/02/22 16:09:10 peter Exp %
+.\"
+.\" jpman %Id: keycap.5,v 1.3 1998/06/22 10:45:11 kumano Stab %
.\"WORD: keyboard mapping キーボードマッピング
.\"WORD: .Sh CAPABILITIES ケーパビリティ
.\"
-.\" @(#)keycap.5, 3.00, Last Edit-Date: [Sun Jan 2 13:45:59 1994]
-.\" jpman %Id: keycap.5,v 1.3 1998/06/22 10:45:11 kumano Stab %
-.\" %Id: keycap.5,v 1.2.2.1 1997/01/02 17:48:10 mpp Exp %
.\"
.Dd January 3, 1993
.Dt KEYCAP 5
.Sh 名称
.Nm keycap
.Nd キーボードマッピングデータベース
.Sh 書式
.Nm keycap
.Sh 解説
.Nm keycap
ファイルはキーボードマッピングを記述するデータベースで、
.Xr kcon 1
が用います。
.Pp
.Nm keycap
のエントリは `:' で区切られた多数のフィールドからなります。
各マッピングの最初のエントリは、そのマッピングの名称として
認識される名前を、文字 `|' で区切って並べたものです。
最初と最後以外の全ての名前は全部小文字で、空白文字を含まない必要があります。
最後の名前は可読性を高めるために、大文字や空白文字を含めることができます。
.Sh ケーパビリティ
.Pp
.Bl -column indent indent
.Sy 名称 型 解説
.It "de bool キーボードマッピングをコンパイル時に入れたデフォルトにリセットする"
.It "D<n> bool キー <n> を完全に使用不可にする"
.It "m<n> num ALT キーのキー番号を指定する
.It "l<n> num ALTGR キーのキー番号を指定する
.It "h<n> num SHIFT キーのキー番号を指定する
.It "t<n> num CONTROL キーのキー番号を指定する
.It "ca<n> num CAPS LOCK キーのキー番号を指定する
.It "sh<n> num SHIFT LOCK キーのキー番号を指定する
.It "nl<n> num NUM LOCK キーのキー番号を指定する
.It "sc<n> num SCROLL LOCK キーのキー番号を指定する
.It "K<n> str シフトなし (通常) のキーに文字列を対応させる
.It "S<n> str シフト (SHIFT キーと同時に押す) 時のキーに文字列を対応させる
.It "C<n> str CONTROL キーと同時に押したときの文字列を対応づける
.It "A<n> str ALTGR キーと同時に押したときの文字列を対応づける
.It "tc str 指定箇所以外が同じマップを持つエントリ \- 最後に指定する必要があります。"
.El
キー番号を記述するパラメータ <n> は 1 から 128 までの番号を取ることが
できます。
文字列パラメータは 15 文字までの値を取ることができます。
.Pp
.Ss エントリの例
以下のエントリはテスト用のエントリ記述で、
.Nm keycap
ファイルの中のごく単純なエントリ記述の1つに、この記述通りのものが存在します。
.Pp
.Bd -literal
tt\||test\||Test entry which swaps y and z:\e
:K22=z:S22=Z:C22=\e032:\e
:K46=y:S46=Y:C46=\e031:
.Ed
.Pp
行の最後に \e を置くことによって、エントリを複数行に続けることができます。
コメントは
.Dq #
で始まる行に含めることができます。
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/keycap.pcvt -compact
.It Pa /usr/share/misc/keycap.pcvt
キーボードマッピングの記述を含むファイル
.El
.Sh 関連項目
.Xr kcon 1 ,
.Xr keycap 3
.Sh 使用例
.Dq Li l1#60
は、 ALTGR キーのキー番号として、 60 を指定します。
.Dq Li K100=hugo
は、キー番号 100 のキーに文字列 'hugo' を対応させます。
.Dq Li K100=^D
は、キー番号 100 のキーにコントロール文字 EOT (0x04) を対応させます。
.Dq Li K100=\e000
は、キー番号 100 のキーにコントロール文字 NUL (0x00) を対応させます。
diff --git a/ja_JP.eucJP/man/man5/link.5 b/ja_JP.eucJP/man/man5/link.5
index 6f80378dc5..cc75e32b42 100644
--- a/ja_JP.eucJP/man/man5/link.5
+++ b/ja_JP.eucJP/man/man5/link.5
@@ -1,617 +1,617 @@
.\" 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.
.\"
-.\" %Id: link.5,v 1.7.2.4 1998/03/07 09:07:03 jkh Exp %
+.\" %Id: link.5,v 1.12 1997/03/21 20:14:05 mpp Exp %
.\" jpman %Id: link.5,v 1.3 1998/08/09 12:52:25 horikawa Stab %
.\"
.Dd October 23, 1993
.Dt LINK 5
.Os
.Sh 名称
.Nm link
.Nd ダイナミックローダとリンクエディタインタフェース
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <nlist.h>
.Fd #include <link.h>
.Sh 解説
インクルードファイル
.Aq Pa link.h
では、ダイナミックにリンクされたプログラムやライブラリに含まれる
数種の構造体が宣言されています。
その構造体は、リンクエディタとローダ機構のいくつかの構成要素間の
インタフェースを定義します。
バイナリ中でのこれらの構造体のレイアウトは
多くの点で a.out 形式に類似しており、
シンボル定義 (付随する文字列テーブルを含む) や外部エンティティへの参照を
解決するのに必要なリロケーションレコードといった、
よく似た機能を提供します。
それに加え、ダイナミックロードとリンク処理に固有のいくつかのデータ構造も
記録しています。このようなデータ構造としては、
リンクエディット処理を完結するのに必要な他のオブジェクトへの参照や、
異なるプロセス間でコードページの共有を進めるための
.Em 位置独立コード
(Position Independent Code 略して PIC) を機能させるための
間接テーブルがあります。
ここで述べるデータ構造全体を
.Em ランタイムリロケーションセクション (RRS)
と呼び、ダイナミックにリンクされるプログラムや共有オブジェクトの
標準テキスト及びデータセグメントに埋め込まれます。
これは、既存の
.Xr a.out 5
形式には RRS のための場所が他にないからです。
.Pp
あるプログラムを実行可能とする処理が、
システムリソースの使用を最適化しつつ正しく完了するよう、
複数のユーティリティが協調して働きます。
コンパイラは PIC コードを出力し、
それから
.Xr ld 1
によって共有ライブラリが作られます。
コンパイラはまた、初期化される各データアイテムのサイズ情報を
アセンブラディレクティブ .size を用いて記録します。
PIC コードは、ある間接テーブルを通じてデータ変数にアクセスする点で
従来のコードと異なっています。
この表はグローバルオフセットテーブルと呼ばれ、
慣習によって、予約名
.Em _GLOBAL_OFFSET_TABLE_
によってアクセス可能です。
ここで用いられるメカニズムの詳細は機種依存ですが、通常は
そのマシンのレジスタ 1 本がこの用途に予約されます。
このような仕組みの背景にある合理性は、
実際のロードアドレスとは独立したコードを生成することです。
実行時には、アドレス空間において様々な共有オブジェクトがロードされるアドレス
に応じて、グローバルオフセットテーブルに含まれる値のみ変更すればよいのです。
.Pp
同様に、大域的に定義された関数の呼び出しは、
コアイメージのデータセグメント中に置かれている
プロシージャリンケージテーブル (PLT) を通じて間接的に行われます。
これもまた、実行時にテキストセグメントを修正せずに済ませるためのものです。
.Pp
リンクエディタがグローバルオフセットテーブルとプロシージャリンケージテーブルを
配置するのは、
複数の PIC オブジェクトファイルを結合して
プロセスのアドレス空間にマップするのに適した 1 つのイメージにする時です。
リンクエディタはまた、実行時のリンクエディタが必要とする全てのシンボルを集め、
それらをイメージのテキストとデータのビット列と共にストアします。
もう 1 つの予約シンボル
.Em _DYNAMIC
は、実行時のリンク構造が存在することを示すのに用いられます。
_DYNAMIC が 0 にリロケートされる場合は、実行時リンクエディタを起動する
必要はありません。
もし _DYNAMIC が非 0 なら、_DYNAMIC は、必要なリロケーション情報と
シンボル情報の位置を引き出すことができるデータ構造を指しています。
これは特に、スタートアップモジュール
.Em crt0
で利用されます。
慣習として、_DYNAMIC 構造体は、
それが属するイメージのデータセグメントの最初に置かれます。
.Pp
.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
構造体
.Po
.Xr a.out 5
参照
.Pc
の配列の位置。
.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
構造体は、それを含むオブジェクトのリンクエディット処理を完了するのに
必要な共有オブジェクトを記述します。
そのようなオブジェクトのリスト
.Po
.Fa sod_next
で連結されます
.Pc
は 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
が検索することになるライブラリを指定します。
そのパス名は、あるディレクトリ群
.Po
.Xr ldconfig 8
参照
.Pc
.Em lib\&<sod_name>\&.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
.Po
.Xr nlist 3
参照
.Pc 。
.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
.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 クリアされたデマンドページを得ます。
.Tn FreeBSD
ではこのフィールドは -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/login.access.5 b/ja_JP.eucJP/man/man5/login.access.5
index 3b44941375..df33c907e2 100644
--- a/ja_JP.eucJP/man/man5/login.access.5
+++ b/ja_JP.eucJP/man/man5/login.access.5
@@ -1,56 +1,56 @@
.\" this is comment
.\" jpman %Id: login.access.5,v 1.3 1998/04/29 11:37:56 kuma Stab %
.\"
.\" WORD: access granted アクセス許可(許可された状態)
.\"
.Dd April 30, 1994
.Dt LOGIN.ACCESS 5
.Os FreeBSD 1.2
.Sh 名称
.Nm login.access
.Nd ログインアクセス制御表
.Sh 解説
.Nm
ファイルは、ログインを許可または拒否する
(ユーザ, ホスト) の組や (ユーザ, tty) の組を指定します。
.Pp
誰かがログインする際に、
.Nm
から (ユーザ, ホスト) の組にマッチする最初のエントリを探します。
非ネットワークログインの場合には、
(ユーザ, tty) の組にマッチする最初のエントリを探します。
表のエントリ中のパーミッションフィールドは、
ログインを許可するか拒否するかを決定します。
.Pp
ログインアクセス制御表の各行は、":" 文字で区切られる
次のような 3 フィールドから成ります: パーミッション : ユーザ : 起点
.Pp
第 1 フィールドは、"+" (アクセス許可) もしくは "-" (アクセス不許可) の
文字です。
第 2 フィールドは、ログイン名・グループ名・ALL (常にマッチ)
を 1 つ以上含むリストです。
第 3 フィールドは、tty 名 (非ネットワークログイン用)・ホスト名・
ドメイン名 ("." から開始)・ホストアドレス・インターネットのネットワーク番号
("." で終了)・ALL (常にマッチ)・LOCAL ("." を含まない文字列にマッチ)
を 1 つ以上含むリストです。
NIS 使用時には、ホストおよびユーザの指定に @netgroupname を使用できます。
.Pp
EXCEPT 演算子を使用すると、非常に小さいルールを記述できます。
.Pp
名前がログインしたユーザ名にマッチしない場合のみ、
グループファイルが検索されます。
ユーザが明示的にリストされている
グループのみがマッチします。
このプログラムはユーザのプライマリグループ ID 値を見ません。
.Sh 関連ファイル
.Bl -tag -width /etc/login.access -compact
.It Pa /etc/login.access
.Nm
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr login 1
.Sh 作者
-Guido van Rooij
+.An Guido van Rooij
diff --git a/ja_JP.eucJP/man/man5/login.conf.5 b/ja_JP.eucJP/man/man5/login.conf.5
index 6f654f9e3e..49f37433aa 100644
--- a/ja_JP.eucJP/man/man5/login.conf.5
+++ b/ja_JP.eucJP/man/man5/login.conf.5
@@ -1,354 +1,354 @@
.\" Copyright (c) 1996 David Nugent <davidn@blaze.net.au>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, is permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice immediately at the beginning of the file, without modification,
.\" this list of conditions, and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. This work was done expressly for inclusion into FreeBSD. Other use
.\" is permitted provided this notation is included.
.\" 4. Absolutely no warranty of function or purpose is made by the author
.\" David Nugent.
.\" 5. Modifications may be freely made to this file providing the above
.\" conditions are met.
.\"
-.\" %Id: login.conf.5,v 1.8.2.7 1998/02/21 23:36:10 fenner Exp %
+.\" %Id: login.conf.5,v 1.15 1998/02/21 23:29:59 fenner Exp %
.\" jpman %Id: login.conf.5,v 1.3 1998/07/21 23:10:00 jsakai Stab %
.\"
.Dd November 22, 1996
.Dt LOGIN.CONF 5
.Os FreeBSD
.Sh 名称
.Nm login.conf
.Nd ログインクラス ケーパビリティ データベース
.Sh 書式
.Pa /etc/login.conf ,
.Pa ~/.login_conf
.Sh 解説
login.conf には、ログインクラスについてのさまざまな属性やケーパビリティが
含まれています。
ログインクラス (ユーザアカウントデータベースである
.Pa /etc/master.passwd
のそれぞれの行について自由に設定できる注釈) は、セッションの
アカウンティングやリソース制限、ユーザ環境設定などを決定します。
ログインクラスはシステム内のさまざまなプログラムから利用され、
ユーザのログイン環境を設定するほか、
ポリシー、アカウンティング及び管理上の制限を設定します。
ログインクラスはまた、
システムや利用可能な種々の認証機構に対するユーザ認証手段を提供します。
.Pp
システムのユーザクラスケーパビリティデータベースである
.Pa /etc/login.conf
の中の "default" という特別なレコードは、
.Pa /etc/master.passwd
内に有効なログインクラスを持たない root 以外のすべてのユーザに
よって自動的に使われます。有効なログインクラスを持たない uid が 0 の
ユーザは、"root" レコードが存在する場合はそのレコードが、
存在しない場合は "default" レコードがログインクラスとして使われます。
.Pp
FreeBSD においては、個々のユーザは
.Pa .login_conf
というファイルをホームディレクトリに作成することができます。
このファイルは (/etc/login.conf と) 同じフォーマットで、
レコード id が "me" である 1 エントリのみで構成されます。
もし .login.conf が存在するならば、このファイルは
.Xr login 1
によって使用され、システムのログインケーパビリティデータベースによって
指定されたユーザ環境設定を上書き設定します。
その際、ログインケーパビリティのサブセット、
典型的には承認やリソース制限そしてアカウンティングを含まないもの
のみが上書きされます。
.Pp
クラスケーパビリティデータベースのレコードは、コロンで区切られた
いくつかのフィールドから構成されています。
各レコードの最初のフィールドは、レコードを特定するための
1 つまたは複数の名前で、それらは '|' 文字で区切られます。
その最初の名前が、最も一般化された短縮名称です。
最後の名前は、ログインケーパビリティエントリをより分かりやすく説明した
長い名前であるべきで、他の名前はその同義語です。
すべての名前は小文字かつ空白を含まないようにすべきですが、
最後の名前は可読性を考慮して、大文字やブランクを含んでいてもよいでしょう。
.Pp
ケーパビリティデータベースのフォーマットについての詳細な説明は
.Xr getcap 3
を参照してください。
.Sh ケーパビリティ
データベース内のそれぞれの行に含まれるフィールドは、
.Xr getcap 3
の慣習に従い、ブール型、文字列型
.Ql \&=
数値型
.Ql \&#
があります。
しかしながら数値データのところは、数値型が拒否され文字列型が
受け入れられることがあったり、両方の書式が両方の書式が受け入れられることも
あります。
値は次のカテゴリに分類されます。
.Bl -tag -width "program"
.It file
データファイルへのパス名
.It program
実行可能ファイルへのパス名
.It list
コンマや空白で区切られた値のリスト (または値の組)
.It path
普通の csh の慣習に従った、空白やコンマで区切られたパス名のリスト
(先頭のユーザ名を伴う/伴わないチルダはホームディレクトリに展開される等)
.It number
10進数(デフォルト)、16進数(0xで始まる)、または 8進数(0で始まる)の
数値型の値。数値型の場合、設定できる値は 1 つだけです。
数値型は文字列型のフォーマットでも指定できる場合があります
(ケーパビリティタグ '#' の代わりに '=' で値が区切られているなど)。
どの方法が使われた場合でも、データベース中のすべての行は修正したい行の値を
正確に上書きするために、同じ方法を用いなければなりません。
.It size
サイズを表す文字。単位のデフォルトの解釈はバイトで、サフィックスに
よって別の単位を指定できます。
.Bl -tag -offset indent -compact -width xxxx
.It b
512バイトブロックの明示的な指定
.It k
キロバイトの指定 (1024バイト)
.It m
1 メガバイトの乗数の指定 (1048576 バイト)
.It g
ギガバイト単位の指定。そして
.It t
テラバイトの記述。
.El
サイズの値は数値であり、サフィックスの大文字小文字は重要ではありません。
連続した値は足し込まれます。
.It time
時間の期間。デフォルトの単位は秒。
プレフィックスによって別の単位を指定できます。
.Bl -tag -offset indent -compact -width xxxx
.It y
1 年を 365 日で数えた年数の指定
.It w
週の数の指定
.It d
日数
.It h
時間数
.It m
分数
.It s
秒数
.El
連続した値は足し込まれます。
たとえば 2 時間 40 分は 9600s、160m または 2h40m と
表現することができます。
.El
.Pp
特別な
.Em tc=value
表記を使用することにより、通常の約束事であるケーパビリティエントリの
補間が可能です。
.Pp
.Sh リソース制限
.Bl -column coredumpsize indent indent
.Sy Name Type Notes Description
.It cputime time CPU 使用制限
.It filesize size ファイルサイズの最大値制限
.It datasize size データサイズの最大値制限
.It stacksize size スタックサイズの最大値制限
.It coredumpsize size コアダンプサイズの最大値制限
.It memoryuse size コアメモリ使用量の最大値制限
.It memorylocked size コアメモリロック可能量の最大値制限
.It maxproc number プロセス数の最大値制限
.It openfiles number プロセスごとにオープンできるファイル数の最大値制限
.El
.Pp
これらのリソース制限エントリは、実際には最大値と現在の
制限値の両方を指定します (
.Xr getrlimit 2
を参照してください)。
普通は現在の制限値 (ソフトリミット) が使われますが、
ユーザは現在の制限値を最大制限値 (ハードリミット) まで増やすことが
許されています。
最大制限値と現在の制限値はケーパビリティ名に各々 -max 及び -cur を
追加することによって指定できます。
.Pp
.Sh 環境
.Bl -column ignorenologin indent xbinxxusrxbin
.Sy Name Type Notes Description
.It charset string $MM_CHARSET 環境変数の明示的な設定値
.It hushlogin bool false ~/.hushlogin ファイルがある場合と同じ
.It ignorenologin bool false nologin によってログインを禁止されません
.It lang string $LANG 環境変数を指定した値に設定します
.It manpath path マニュアルページのデフォルト検索パス
.It nologin file このファイルが存在する場合、ファイルの内容が画面に表示され、そのログインセッションは終了されます
.It path path /bin /usr/bin デフォルトコマンド検索パス
.It priority number 優先度 (nice) レベルの初期値
.It requirehome bool false ログインのために有効なホームディレクトリが必要
.It setenv list コンマで区切られた環境変数とその設定値のリスト
.It shell prog パスワードファイルで指定されているシェルより優先して実行されるセッションシェル。SHELL 環境変数の値は、パスワードファイルで指定されているものになります。
.It term string su 他の手段によって決定できない場合のデフォルトの端末タイプ
.It timezone string $TZ 環境変数のデフォルト値
.It umask number 022 umask の初期値。続く数字が 8進数と解釈されるように、常に 0 から始めます
.It welcome file /etc/motd ウェルカムメッセージが入っているファイル
.El
.Pp
.Sh 認証
.Bl -column minpasswordlen indent indent
.Sy Name Type Notes Description
.It minpasswordlen number 6 ローカルパスワード文字列長の最小値
.\" .It approve program Program to approve login.
.It auth list passwd 許可される認証形式。 最初の値がデフォルトの形式になります。
.It auth-<type> list 'type' で指定された認証タイプで許可される認証形式。
.It copyright file 追加のコピーライト情報を含んだファイル
.\".It widepasswords bool false Use the wide password format. The wide password
.\" format allows up to 128 significant characters in the password.
.It host.allow list クラス内のユーザがアクセス可能なリモートホストワイルドカードのリスト
.It host.deny list クラス内のユーザがアクセス不可なリモートホストワイルドカードのリスト
.It times.allow list ログインが許されている時間帯のリスト
.It times.deny list ログインが許されない時間帯のリスト
.It ttys.allow list クラス内のユーザがアクセスに使用できる端末と端末グループのリスト
.It ttys.deny list クラス内のユーザがアクセスに使用不可な端末と端末グループのリスト
.El
.Pp
これらのフィールドは、ログイン認証システムの中で
.Xr passwd 1
や、その他のプログラムから使用される予定です。
.Pp
環境変数を設定するケーパビリティは、その中の文字
.Ql \&~
.Ql \&$
の両方がスキャンされ、これらはそれぞれ
ユーザのホームディレクトリ及びユーザ名に置換されます。
環境変数中にこれらの文字をそのまま含める場合には、
その前にバックスラッシュ '\\' をつけてエスケープします。
.Pp
.Em host.allow
.Em host.deny
エントリはコンマで区切られたリストで、システムへのリモートアクセスの
チェックに使われます。
これらはホスト名か IP アドレスまたはその両方を含むリストからなり、
それらに対してリモートログインのチェックが行われます。
このリストの各項目は、ワイルドカード一致用にシェルプログラムが使用しているのと
同じ書式のワイルドカードを含むことができます
(実装の詳細は
.Xr fnmatch 3
を参照してください)。
ホストのチェックは、リモートシステムのインターネットアドレス
と (もし有効なら) ホスト名の両方をつきあわせて行われます。
両方のリストが空かもしくは指定されていない場合、あらゆるリモートホスト
からのログインは許可されます。
host.allow が 1 つかそれ以上のホストを含む場合、リスト中の
各項目のどれかにマッチしたリモートシステムのみがログインを許されます。
host.deny が 1 つかそれ以上のホストを含む場合、そのリストのどれかに
マッチしたホストからのログインが禁止されます。
.Pp
.Em times.allow
.Em times.deny
エントリはコンマで区切られた期間のリストであり、この期間はクラス内の
ユーザがログインを許されます。
これらは 1 つ以上の日のコード指定と、これに続けて 24 時間表記の開始時刻と
終了時刻をハイフンまたはダッシュで区切ったものとして表現されます。
たとえば MoThSa0200-1300 は、月、木、土の
午前 2 時から午後 1 時と解釈されます。
これらの時間指定リストの両方が空だった場合、クラス内のユーザはいつでもアクセス
可能になります。
.Em times.allow
が指定されている場合、ログインは指定された期間のみ許可されます。
もし
.Em times.deny
が指定されている場合、
.Em times.allow
の中で期間が指定されているかどうかに関わらず、指定された期間は
ログインできなくなります。
.Pp
.Xr login 1
が強制することは、これらのエントリにより許可された期間内に実際の
ログインが行なわれることのみである点に注意して下さい。
セッションの生存期間に関して更なる規制をかけるには、別のデーモンを用意し、
許可されている期間から許可されていない期間への
遷移を監視する必要があります。
.Pp
.Em ttys.allow
.Em ttys.deny
エントリは、クラス内のユーザがシステムにアクセスするために使う
コンマで区切られた(/dev/ プレフィックスを除く)端末デバイスと、
端末グループ (ttygroup) のリストです (ttygroup の詳細は
.Xr getttyent 3
.Xr ttys 5
を参照して下さい)。
どちらのエントリも存在しない場合、ユーザが使用するログインデバイスの選択には
制限はありません。
.Em ttys.allow
のみ指定されている場合、ユーザの使えるデバイスは指定されたグループ
またはデバイスリストのみに制限されます。
.Em ttys.deny
のみ指定されている場合、ユーザは指定されたデバイスやデバイス
グループを使用できません。
両方が与えられていてかつどちらも空でない場合、ユーザは ttys.allow
で指定されていて、ttys.deny では指定されていないデバイス群のみ
使用できます。
.Sh アカウント制限
.Bl -column passwordperiod indent indent
.Sy Name Type Notes Description
.It accounted bool false このクラス内の全ユーザの
セッション時間アカウウンティングを有効化
.It autodelete time アカウント失効後自動で削除されるまでの時間
.It bootfull bool false セッション終了時の「ttygroup が一杯の場合にのみブート」戦略を
有効にする
.It daytime time 1 日あたりのログイン最大時間
.It expireperiod time 期限切れまでの割り当て時間
.It graceexpire time 失効したアカウントの猶予日数
.It gracetime time 追加された、猶予ログイン許可時間
.It host.accounted list ログインセッションがアカウントされる
リモートホストワイルドカードのリスト
.It host.exempt list ログインセッションのアカウンティング
を免除されたリモートホストワイルドカードのリスト
.It idletime time ログアウトまでの最大アイドル時間
.It monthtime time 月毎の最大ログイン時間
.It passwordtime time パスワードが無効になるまでの時間
.It refreshtime time アカウントのリフレッシュ許可時間
.It refreshperiod str リフレッシュが行なわれる頻度
.It sessiontime time セッション毎の最大ログイン時間
.It sessionlimit number すべてのグループに対する tty 上の
同時最大ログイン数
.It ttys.accounted list ログインアカウントが有効な tty と ttygroup のリスト
.It ttys.exempt list ログインアカウントが無効な tty と ttygroup のリスト
.It warnexpire time 失効しそうなアカウントに対する事前の注意を
行なう時間
.It warnpassword time 失効しそうなパスワードに対する事前の
注意を行なう時間
.It warntime time 時間切れになりそうな場合に対する事前の注意を
行なう時間
.It weektime time 1 週間毎の最大ログイン時間
.El
.Pp
これらのフィールドは、ユーザのログインアクセスを規制、コントロール、記録する
タイムアカウンティングシステムによって使われます。
.Pp
.Em ttys.accounted
.Em ttys.exempt
フィールドは、先に述べた
.Em ttys.allow
.Em ttys.deny
と同じような方法で状態を操作します。
.Em host.accounted
.Em host.exempt
のリストも同様です。
.Sh 関連項目
.Xr login 1 ,
.Xr getcap 3 ,
.Xr getttyent 3 ,
.Xr login_cap 3 ,
.Xr login_class 3 ,
.Xr passwd 5 ,
.Xr ttys 5
diff --git a/ja_JP.eucJP/man/man5/magic.5 b/ja_JP.eucJP/man/man5/magic.5
index ab5572edef..8e33a177ed 100644
--- a/ja_JP.eucJP/man/man5/magic.5
+++ b/ja_JP.eucJP/man/man5/magic.5
@@ -1,230 +1,230 @@
.\"
-.\" @(#)%Id: magic.5,v 1.4.2.3 1998/07/16 23:52:12 jkh Exp %
+.\" @(#)%Id: magic.5,v 1.9 1998/02/04 07:29:20 charnier Exp %
.\"
.\" install as magic.4 on USG, magic.5 on V7 or Berkeley systems.
.\"
.\" jpman %Id: magic.5,v 1.3 1998/07/21 05:29:49 jsakai Stab %
.Dd September 3, 1994
.Dt MAGIC 5
.Os "Public Domain"
.Sh 名称
.Nm magic
.Nd file コマンドのマジック番号ファイル
.Sh 解説
このマニュアルページでは
.Xr file 1
コマンド バージョン 3.22 で使用されるマジックファイルのフォーマットに
ついて説明します。
.Nm file
コマンドは、他のテストと共に、ファイルがある
.Em "マジック番号"
で始まっているかどうかをテストして、ファイルのタイプを識別します。
ファイル
.Pa /usr/share/misc/magic
では、どのマジック番号をテストするか、
あるマジック番号が見つかったときにどのようなメッセージを出力するか、
また、そのファイルから抽出するべき追加情報について指定しています。
.Pp
このファイルの各行ではテストすべき項目について指定しています。
テストは、ファイル中のある特定のオフセットで始まるデータを
1 バイト、2 バイトもしくは 4 バイトの数値あるいは文字列と
比較して行います。
もしテストが成功するとメッセージが出力されます。
各行は以下のフィールドから構成されます。
.Bl -tag -width indent
.It offset
テストするファイルのデータのオフセットをバイト数で指定する数字です。
.It type
テストするデータの型です。指定できる値は
.Bl -tag -width indent
.It byte
1 バイトの値。
.It short
(ほとんどのシステムにおいて) 2 バイトの値。
そのマシンの固有のバイト順で指定します。
.It long
(ほとんどのシステムにおいて) 4 バイトの値。
そのマシンの固有のバイト順で指定します。
.It string
バイトの文字列。
.It date
UNIX 日時として解釈される 4 バイトの値。
.It beshort
(ほとんどのシステムにおいて) 2 バイトの値。
ビッグエンディアンのバイト順です。
.IP belong
(ほとんどのシステムにおいて) 4 バイトの値。
ビッグエンディアンのバイト順です。
.IP bedate
UNIX 日時として解釈される (ほとんどのシステムにおいて) 4 バイトの値。
ビッグエンディアンのバイト順です。
.IP leshort
(ほとんどのシステムにおいて) 2 バイトの値。
リトルエンディアンのバイト順です。
.IP lelong
(ほとんどのシステムにおいて) 4 バイトの値。
リトルエンディアンのバイト順です。
.IP ledate
UNIX 日時として解釈される (ほとんどのシステムにおいて) 4 バイトの値。
リトルエンディアンのバイト順です。
.El
.El
.Pp
数字の型にはオプションとして
.Em &
と数値を続けることができ、
これにより比較を行う前に AND をとる数値を指定します。
型の前に
.Em u
を付加すると比較は符号なしで行なわれます。
.Bl -tag -width indent
.It test
ファイル中の値と比較される値。
型が数字の場合、この値は C 言語の形式で指定されます。
これが文字列の場合、
通常のエスケープ記法 (たとえば改行では\en) が可能な C 言語文字列として
指定されます。
.It ""
数値の前には実行される操作を示す文字を付加することができます。
その文字には
ファイルの値が指定された値と等価であることを指定する
.Em =
、ファイルの値が指定された値より小さいことを指定する
.Em <
、ファイルの値が指定された値より大きいことを指定する
.Em >
、指定された値の中でセットされているすべてのビットが
ファイルでの値ですべてセットされていることを指定する
.Em &
、指定された値の中でセットされているどれかのビットが
ファイルでの値でオフであることを指定する
.Em ^
、何らかの値がマッチすることを指定する
.Em x
があります。
これらの文字がない場合は
.Em =
が指定されているものとみなされます。
.It ""
数値は C 言語の形式で指定されます。例えば
.Em 13
は 10 進数、
.Em 013
は 8 進数、
.Em 0x13
は 16 進数となります。
.It ""
文字列値については、
ファイル中のバイト文字列は指定されたバイト文字列に
マッチしなければなりません。
オペレータ
.Em =
.Em <
.Em >
(
.Em &
を除く)
が文字列に適用できます。
マッチングに使用される長さは
マジックファイルでの文字列の引数の長さとなります。
これは
.Em >\e0
とすることにより、
その行はどの文字列にもマッチすることが可能であり、
おそらくその文字列が出力されることを意味します
(すべての文字列はヌル文字列より長いため)。
.It message
比較が成立したときに出力されるメッセージです。
文字列に
.Xr printf 3
指定形式が含まれている場合は、ファイルから得た値 (指定されたマスクを
適用したもの) が、そのメッセージをフォーマット文字列として用いて出力さ
れます。
.El
.Pp
いくつかのファイルフォーマットは、ファイルタイプと共に出力される追加情報
を含んでいます。文字
.Em >
で始まる行は追加テストと出力されるメッセージを指定します。
その行での
.Em >
の数はテストのレベルを指定します。行頭に
.Em >
がない行はレベル 0 とみなされます。
レベル
.Em n+1
の各行はマジックファイル中でその行より前にあるもっとも近いレベル
.Em n
の行の制御下にあります。レベル
.Em n
での行のテストが成功した場合、それに続く行で指定されたすべてのレベル
.Em n+1
のテストが実施され、
それらのテストが成功するとメッセージが出力されます。
次のレベル
.Em n
の行でこれが終了します。
最後の
.Em >
に続く最初の文字が
.Em (
であれば、その括弧の後の文字列は間接オフセットとして解釈されます。
これは括弧の後の数字がそのファイル中のオフセットとして使用されることを
意味します。そのオフセットでの値が読み込まれ、再度ファイルのオフセット
として使用されます。間接オフセットは
.Em (x[.[bsl]][+-][y])
の形式をとります。値
.Em x
はファイル中でのオフセットとして使われます。
型指定子
.Em [bsl]
によりそれぞれバイト、short もしくは long として読み込まれます。
その数字に値
.Em y
が加算され、その結果はファイルの中でのオフセットとして使用されます。型
指定子がない場合は long がデフォルトの型となります。
.Pp
オフセットは、その前にあるフィールドの長さに依存するため、
正確な値が分からない場合があります。
そのような場合は最後の上位レベルのフィールドの最後からの
相対的なオフセットを指定することができます。
(もちろんこれは下位レベルのテスト、すなわち
.Em >
で始まるテストでのみ可能です。)
この場合の相対オフセットは
.Em &
をオフセットのプレフィックスとして使用して指定します。
.Sh バグ
フォーマット
.Em long ,
.Em belong ,
.Em lelong ,
.Em short ,
.Em beshort ,
.Em leshort ,
.Em date ,
.Em bedate ,
.Em ledate
はシステムに依存します。
テストされるファイルは通常それらの長さが不変であるシステムのものであり、
これらはおそらくバイト数 (2B とか 4B とか) として指定すべきででょう。
.Pp
間接オフセットで使用されるエンディアンを指定したデータは
(現在は) サポートされていません。
.Sh 関連項目
.Xr file 1
.\"
.\" From: guy@sun.uucp (Guy Harris)
.\" Newsgroups: net.bugs.usg
.\" Subject: /etc/magic's format isn't well documented
.\" Message-ID: <2752@sun.uucp>
.\" Date: 3 Sep 85 08:19:07 GMT
.\" Organization: Sun Microsystems, Inc.
.\" Lines: 136
.\"
.\" Here's a manual page for the format accepted by the "file" made by adding
.\" the changes I posted to the S5R2 version.
.\"
.\" Modified for Ian Darwin's version of the file command.
diff --git a/ja_JP.eucJP/man/man5/networks.5 b/ja_JP.eucJP/man/man5/networks.5
index 4c0d3dfd3e..96355f774d 100644
--- a/ja_JP.eucJP/man/man5/networks.5
+++ b/ja_JP.eucJP/man/man5/networks.5
@@ -1,90 +1,90 @@
.\" 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.
.\"
.\" @(#)networks.5 8.1 (Berkeley) 6/5/93
-.\" %Id: networks.5,v 1.2.2.2 1998/06/28 21:34:27 hoek Exp %
+.\" %Id: networks.5,v 1.4 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: networks.5,v 1.3 1998/06/12 15:54:06 kumano Stab %
.\"
.Dd June 5, 1993
.Dt NETWORKS 5
.Os BSD 4.2
.Sh 名称
.Nm networks
.Nd ネットワーク名のデータベース
.Sh 解説
.Nm networks
ファイルは、
.Tn DARPA
インターネットを含む既知のネットワークの情報を保持します。
各ネットワーク毎に、以下の情報を表す 1 行が存在します。
.Bd -unfilled -offset indent
公式ネットワーク名
ネットワーク番号
別名
.Ed
.Pp
各項目は任意個の空白文字やタブ文字で分けられます。
``#'' はコメント開始を表し、
行末までの文字はファイルを検索するルーチンに解釈されません。
このファイルは通常
Network Information Control Center
.Pq Tn NIC
が管理する公式ネットワークデータベースから生成しますが、
非公式な別名や未知のネットワークに関する情報を最新とするために、
ローカルでの変更が必要になるかもしれません。
.Pp
ネットワーク番号は、
インターネットアドレス操作ライブラリ
.Xr inet 3
.Xr inet_network 3
ルーチンが使用する、伝統的な ``.'' (ドット) 表記で指定します。
ネットワーク名は、フィールド区切り文字・改行文字・コメント文字以外の、
任意の表示可能文字からなります。
.Sh 関連ファイル
.Bl -tag -width /etc/networks -compact
.It Pa /etc/networks
.Nm networks
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr getnetent 3
.Sh バグ
静的ファイルの代わりに、ネームサーバを使用すべきです。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
に登場しました。
diff --git a/ja_JP.eucJP/man/man5/nologin.5 b/ja_JP.eucJP/man/man5/nologin.5
index 23c6a820b2..c9ebb0846c 100644
--- a/ja_JP.eucJP/man/man5/nologin.5
+++ b/ja_JP.eucJP/man/man5/nologin.5
@@ -1,67 +1,67 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)nologin.8 8.1 (Berkeley) 6/19/93
-.\" %Id: nologin.5,v 1.2.2.2 1998/07/17 20:13:42 jkh Exp %
+.\" %Id: nologin.5,v 1.4 1998/07/15 06:37:06 charnier Exp %
.\"
.\" jpman %Id: nologin.5,v 1.3 1998/06/13 09:47:03 kumano Stab %
.\"
.Dd June 19, 1993
.Dt NOLOGIN 5
.Os FreeBSD 2.1
.Sh 名称
.Nm nologin
.Nd ログインを拒否する
.Sh 解説
.Nm
は、
.Pa /etc/nologin
ファイルがあるとログインを拒否します。
このプログラムはユーザに
.Pa /etc/nologin
の内容を表示し、終了します。
.Sh セキュリティ
ユーザ root の
.Xr login 1
では無視されます。
.Sh 関連ファイル
.Bl -tag -width /etc/nologinxxx -compact
.It Pa /etc/nologin
.Nm
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr login 1 ,
.Xr rlogin 1 ,
.Xr telnet 1 ,
.Xr shutdown 8
diff --git a/ja_JP.eucJP/man/man5/opiekeys.5 b/ja_JP.eucJP/man/man5/opiekeys.5
index 07a5c00f76..21fc6498ac 100644
--- a/ja_JP.eucJP/man/man5/opiekeys.5
+++ b/ja_JP.eucJP/man/man5/opiekeys.5
@@ -1,67 +1,67 @@
.\" opieaccess.5: Manual page describing the /etc/opiekeys file.
.\"
.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan
.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned
.\" to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and
.\" License Agreement applies to this software.
.\"
.\" History:
.\"
.\" Written at NRL for OPIE 2.0.
.\"
.ll 6i
.\" jpman %Id: opiekeys.5,v 1.3 1998/07/03 09:08:53 mutoh Stab %
.pl 10.5i
-.\" @(#)opiekeys.1 2.0 (NRL) 1/10/95
+.\" @(#)opiekeys.5 2.0 (NRL) 1/10/95
.\"
.lt 6.0i
-.TH OPIEKEYS 1 "January 10, 1995"
+.TH OPIEKEYS 5 "January 10, 1995"
.AT 3
.SH 名称
/etc/opiekeys \- ユーザキー情報の OPIE(One-time Password In Everything) データベース
.SH 解説
.I opiekeys
ファイルには
OPIE ソフトウェアがユーザ認証のために使用するユーザ情報が格納されます。
.I opiekeys
ファイルは S/Key の
.I /etc/skeykeys
データベースファイルに対して下位互換ですが、これは
ハッシングアルゴリズム (MD4 および MD5) が S/Key と OPIE で同一の
場合に限られます (すなわち、 MD5 OPIE は MD4 S/Key キーを使用できません)。
.I opiekeys
ファイルは、空白 (タブは正しく解釈されますが、代りにスペースを使うべきです)
で区切られた次のような 6 フィールドから成ります:
.PP
.nf
.ta \w' 'u
フィールド名 内容
name ユーザのログイン名。
sequence ユーザのシーケンス番号。
seed ユーザの種。
key ユーザの最後のレスポンス (16 進数)。
date 最後に変更された日付。
time 最後に変更された時刻。
.fi
.SH 関連項目
.BR ftpd (8)
.BR login (1),
.BR opie (4),
.BR opiekeys (5),
.BR opiepasswd (1),
.BR opieinfo (1),
.BR su (1),
.SH 作者
Bellcore の S/Key は、
Bellcore の Phil Karn, Neil M. Haller, John S. Walden が記述しました。
OPIE は NRL にて Randall Atkinson, Dan McDonald, Craig Metz が作成しました。
S/Key は Bell Communications Research (Bellcore) の商標です。
.SH 連絡先
OPIE は Bellcore の "S/Key Users" メーリングリストで議論されています。
加入要求は電子メールを下記アドレスに送ってください:
.sp
skey-users-request@thumper.bellcore.com
diff --git a/ja_JP.eucJP/man/man5/passwd.5 b/ja_JP.eucJP/man/man5/passwd.5
index 39620cd015..f2635882fb 100644
--- a/ja_JP.eucJP/man/man5/passwd.5
+++ b/ja_JP.eucJP/man/man5/passwd.5
@@ -1,678 +1,678 @@
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" From: @(#)passwd.5 8.1 (Berkeley) 6/5/93
-.\" %Id: passwd.5,v 1.6.2.8 1998/07/19 06:52:11 jkh Exp %
+.\" %Id: passwd.5,v 1.21 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: passwd.5,v 1.3 1998/07/30 15:26:15 horikawa Stab %
.\"
.\" WORD: NIS/YP INTERACTION NIS/YP との相互作用 [yppasswd.1]
.\" WORD: accounting アカウンティング (パスワード期限等の意味)
.\" WORD: epoch 基準時点
.Dd September 29, 1994
.Dt PASSWD 5
.Os
.Sh 名称
.Nm passwd
.Nd パスワードファイルのフォーマット
.Sh 解説
.Nm passwd
ファイルは改行で区切られたレコードから成ります。
ユーザごとに 1 レコードが対応し、
コロン(``:'')で区切られた 10 個の欄が含まれます。
これらの欄は以下の通りです:
.Pp
.Bl -tag -width password -offset indent
.It name
ユーザのログイン名。
.It password
ユーザの
.Em 暗号化された
パスワード。
.It uid
ユーザのid。
.It gid
ユーザのログイングループid。
.It class
ユーザのログインクラス。
.It change
パスワードの変更時間。
.It expire
アカウントの有効期限。
.It gecos
ユーザについての一般的な情報。
.It home_dir
ユーザのホームディレクトリ。
.It shell
ユーザのログインシェル。
.El
.Pp
最初の空白文字でない文字がポンド記号(#)であるような行は注釈であり、無視
されます。スペース、タブ、改行だけからなる空行もまた無視されます。
.Pp
.Ar name
欄はコンピュータアカウントにアクセスするのに用いられるログインであり、
.Ar uid
欄はそれに結び付けられた数字です。これらはファイルアクセスを制御するので、
両方共そのシステム(またしばしば複数のシステムにわたる1つのグループ)の中
で一意であるべきです。
.Pp
同じログイン名や同じユーザidのエントリを複数持つことは可能で
すが、普通それは誤りです。これらのファイルを取り扱うルーチンはしばしばそ
の複数エントリの 1 つだけを返しますし、
そしてそれはランダムな選択によるものです。
.Pp
ログイン名は決してハイフン(``-'')で始めてはいけません。また、メーラを
混乱させる傾向にあるので、大文字やドット(``.'')も絶対に名前の一部にしな
いことを強く推奨します。コロン(``:'')は歴史的にユーザデータベース中の欄
を分けるために用いられてきたので、いかなる欄にも含まれません。
.Pp
password欄はパスワードの
.Em 暗号化された
形です。
.Ar password
欄が空ならば、そのマシンへアクセスするのに何のパスワードも必要としないで
しょう。これはほとんど恒常的に誤りです。これらのファイルは暗号化された
ユーザパスワードを含んでいるので、
適当な権利無しにはいかなる人によっても可読であっ
てはいけません。管理上のアカウントは1個のアスタリスク
.Ql \&*
を含むパスワード欄を有しており、これは通常のログインを許しません。
.Pp
group欄はユーザがログインした上で位置付けられるグループです。このシステムは
マルチグループ(
.Xr groups 1
参照)
をサポートしますが、この欄はユーザの1次グループを指名します。2次グループの
メンバは
.Pa /etc/group
の中で選ばれます。
.Pp
.Ar class
欄はユーザのログインクラスに対するキーです。ログインクラスは
.Xr login.conf 5
の中で定義されます。
.Xr login.conf 5
は、ユーザの属性、アカウンティング、リソース、環境設定に関する
.Xr termcap 5
形式のデータベースです。
.Pp
.Ar change
欄は
.Dv GMT
における基準時点からの秒数を表したものであり、
この時までにアカウントに対するパスワードを変更する必要があります。
パスワードエージング機能をなくすには、
この欄を空欄にしておくか0をセットしておけば良いです。
.Pp
.Ar expire
欄は
.Dv GMT
における基準時点からの秒数を表したものであり、
その時にアカウントが消滅します。
アカウント再設定機能をなくすには、
この欄を空にセットしておくか0をセットしておけば良いです。
.Pp
.Ar gecos
欄はコンマ(``,'')で区切られた以下のような副欄を通常含んでいます:
.Pp
.Bd -unfilled -offset indent
fullname ユーザのフルネーム
office ユーザの職場の位置
wphone ユーザの職場の電話番号
hphone ユーザの自宅の電話番号
.Ed
.Pp
この情報は
フィンガープログラム
.Xr finger 1
によって利用され、最初の欄はシステムのメーラ
によって使われます。fullname 欄内にアンパサンド文字
.Ql \&&
が現われると、この欄を使うプログラムはそれをそのアカウントのログイン名の
大文字版に置き換えます。
.Pp
ユーザのホームディレクトリは、ユーザがログインして位置付けられる完全な
.Tn UNIX
パス名です。
.Pp
shell欄はユーザの好むインタプリタです。
.Ar shell
欄になにも無ければ Bourne シェル
.Pq Pa /bin/sh
が仮定されます。セキュリティ上の理由により、シェルがシステムへのアクセス
を許さないスクリプト(例えば
.Xr nologin 8
スクリプト)に設定されている場合、いかなる環境変数も渡されないように配慮さ
れるべきです。
.Xr sh 1
については、これは
.Fl p
フラグを指定することで可能です。これが他のシェルでどのように行なわれるか
は、特定のシェルの文書を調べてください。
.Sh YP/NIS との相互作用
.Ss NISパスワードデータへのアクセスを可能にする
システム管理者は
.Pa /etc/master.passwd
ファイルに特別なレコードを付け加えることによって、パスワード情報について
NIS/YPを用いるように
.Tn FreeBSD
を設定できます。ハッシュされたパスワードデータベースおよび
.Pa /etc/passwd
ファイル(
.Pa /etc/passwd
は絶対に手動で編集してはいけません)に変更が適切にマージされるように、
エントリは
.Xr vipw 8
で付加するべきです。別の方法としては、なんらかの方法で
.Pa /etc/master.passwd
を修正した後、
.Xr pwd_mkdb 8
を用いてパスワードデータベースを手動で更新することができます。
.Pp
NISを活性化するための最も簡単な方法は、名前欄にプラス符号(`+')だけを持つ、
以下のような空のレコードを付け加えることです。
.Bd -literal -offset indent
+:::::::::
.Ed
`+' は、
.Tn FreeBSD
の標準Cライブラリの
.Xr getpwent 3
ルーチンに対し、
検索において NIS パスワードマップを使用開始するよう指示します。
.Pp
上記のエントリは
.Em ワイルドカード
エントリとして知られていることに注意してください。なぜなら、それは全ての
ユーザと一致し (他に情報を持たない `+' は、全員に一致します)、
全 NIS パスワードデータを無変更にて引き出すことを許します。
一方、
NIS エントリで `+' の次にユーザ名やネットグループ名を指定することによって、
どのようなデータが NIS パスワードマップから展開されるのか、
およびそれがどのように解釈されるのかについて、
管理者が影響を与えることができます。
この特徴を示す、少数のレコード例を挙げます(1 つの
.Pa master.passwd
ファイル中には複数の NIS エントリを持つことが可能であることに注意):
.Bd -literal -offset indent
-mitnick:::::::::
+@staff:::::::::
+@permitted-users:::::::::
+dennis:::::::::
+ken:::::::::/bin/csh
+@rejected-users::32767:32767::::::/bin/false
.Ed
特定のユーザ名は明示的にリストされますが、ネットグループは `@' を前に付け
て表されます。
上の例では、``staff'' および ``permitted-users'' ネットグループ
のユーザは、NIS から読まれ無変更で使用されるパスワード情報を持ちます。
言い換えれば、それらのユーザはそのマシンに通常のアクセスを許される
ということです。ユーザ ``ken'' および ``dennis'' は、
ネットグループを通じてではなく明示的に名前が指定されており、
NIS から読まれるパスワード情報を持ちます。
例外は、ユーザ ``ken'' のシェルが
.Pa /bin/csh
に再マップされることです。
これは、NISパスワードマップで指定されたシェルの値が、ローカル
.Pa master.passwd
ファイルの特別なNISエントリで指定された値によって上書きされることを意味します。
ユーザ ``ken'' は csh シェルを割り当てておいても良いかも知れません。
なぜなら、
政治的あるいは技術的な理由でクライアントマシンにインストールされていない
別のシェルを、彼の NIS パスワードエントリに指定されているかもしれないためです。
他方、``rejected-users''ネットグループのユーザは、そのUID、
GID、シェルが不正な値で上書きされているのでログインできなくなります。
.Pp
ユーザ ``mitnick'' は、そのエントリが `+' ではなく `-' で指定されているので、
完全に無視されることになります。
マイナスエントリは、
ある NIS エントリを完全に遮断するために用いることができます。
このような方法でパスワードデータが除外されたユーザは、
システムから全く認識されません。(マイナスエントリで指定された
上書き情報は無視されます。
なぜなら、システムが最初に認識しないことにしたユーザの上書き情報を処理
することは無駄だからです。)
一般にマイナスエントリは、
ある権限のあるネットグループのメンバとなってアクセスを許されるかもしれない
ユーザを特別に除外するために使用します。
例えば ``mitnick'' が ``permitted-users'' ネットグループのメンバであり、
いかなる理由があってもそのネットグループ内に留まることを許す必要がある場合
(おそらくそのドメイン内の他のマシンにアクセスすることを保証するため)、
管理者はマイナスエントリを使用することにより、
特定のシステムへのアクセスを拒否し続けるこ
とができます。また、アクセスを許されたユーザおよびその残りを削除したよう
なよくありそうな混み入ったユーザのリストを生成するよりは、むしろアクセスを
許されないユーザを明示的にリストする方が容易なことが多いです。
.Pp
プラスおよびマイナスエントリは、先行一致優先で最初から最後の順で評価されま
す。これはシステムが特定のユーザに一致する最初のエントリだけを使用するこ
とを意味します。例えば、``staff'' ネットグループと ``rejected-users''
ネットグループの両方のメンバとなっているようなユーザ ``foo'' は、
上の例では
``rejected-users'' のエントリの前に ``staff'' のエントリがありますので、
システムに許可されます。もし順序が逆なら、今度はユーザ ``foo'' は
``rejected-users'' として認識され、アクセスは拒否されます。
.Pp
最後に、
.Pa /etc/master.passwd
ファイルの NIS アクセスエントリで指定されたユーザまたはネットグループ
のどれとも一致しないNISパスワードデータベースレコードは、(マイナスエントリ
を使って指定した全てのユーザと共に)全て無視されます。先に示した例
ではリストの最後にワイルドカードエントリが無いので、
``ken'' と ``dennis'' と ``staff'' ネットグループと
``permitted-users'' ネットグループとを除く全てのユーザを
システムは権限があるユーザとして認識しないでしょう。
``rejected-users'' ネットグループは認識されますが、
全メンバのシェルは再マップされますので、
アクセスは拒否されるでしょう。他の全てのNISパスワードレコードは無視され
るでしょう。 管理者は以下のようなワイルドカードエントリをリストの最後に
付けても良いでしょう。
.Bd -literal -offset indent
+:::::::::/usr/local/bin/go_away
.Ed
このエントリは他の全てのエントリと一致しない全てのユーザを一挙にとらえる
働きをします。
.Pa /usr/local/bin/go_away
は、システムにアクセスを許可されないユーザに伝えるメッセージを出力する短か
いスクリプトまたはプログラムでしょう。
必ずしもログインアクセスを許可せずに、
特定のNISドメイン内の全ユーザをシステムが認識可能であることが望ましいときには、
このテクニックが有効なことがあります。
ログインシェルとシェルスクリプトを使用するときのセキュリティに関する事柄
について、上記のシェル欄の記述を参照してください。
.Pp
この
.Pa 上書き
機能の主な用途は、
管理者がNISクライアント上でアクセス制限を強化可能とすることです。
単に特定のネットグループに対してユーザを追加したり削除したりするだけで、
そのユーザにあるマシン群へのアクセスを許可し、
かつ他のマシン群へのアクセスを拒否することができます。
ネットグループデータベースもまた NIS 経由でアクセスできるので、
1 個所すなわち NIS マスタサーバからアクセス制限を管理できます。
一旦ホストのアクセスリストが
.Pa /etc/master.passwd
に設定されると、新にネットグループが作られない限りそれは再度変更する必要
はありません。
.Sh 注釈
.Ss NIS経由のシャドウパスワード
.Tn FreeBSD
はシャドウパスワード法を採用しており、
ユーザの暗号化されたパスワードはスーパユーザだけが読み書き可能な
.Pa /etc/master.passwd
および
.Pa /etc/spwd.db
にのみに記憶されます。
暗号化されたパスワードをパスワード推測プログラムに通すことにより、
ユーザが他のユーザアカウントに対して不正アクセスすることを防ぐためです。
NIS にはパスワード隠蔽のための標準的な方法がありません。
これは、
パスワードデータを全てNISパスワードマップに置き換えることは、
.Tn FreeBSD
のパスワード隠蔽システムのセキュリティを無効にしてしまうことを意味します。
.Pp
.Tn FreeBSD
にはこの問題を回避するのに役立つ少数の特別な特徴が備わっています。
.Tn FreeBSD
NIS クライアントと
.Tn FreeBSD
NIS サーバとの間でパスワード隠蔽を実装することは可能です。
.Xr getpwent 3
ルーチンは
.Pa /etc/master.passwd
と同じデータを含む
.Pa master.passwd.byname
.Pa master.passwd.byuid
マップを検索します。マップが存在すれば
.Tn FreeBSD
は標準の
.Pa passwd.byname
および
.Pa passwd.byuid
マップの代りにそれらをユーザ認証に利用しようとします。
.Tn FreeBSD
.Xr ypserv 8
はまたクライアントの要求をチェックして、
クライアントの要求が特権ポートから来たことを確認します。
スーパユーザのみが特権ポートにアクセスすることが許されるので、
要求しているユーザがスーパユーザであるか否か判断可能です。
.Pa master.passwd
マップにアクセスする権限の無いユーザからの全ての要求は拒否されるでしょう。
全てのユーザ認証プログラムはスーパユーザの権限で実行されるので、
ユーザの暗号化されたパスワードデータへの必要なアクセスを持ちますが、
通常ユーザはパスワード情報を含まない標準
.Pa passwd
マップへのアクセスのみ許されます。
.Pp
この特徴は
.Tn FreeBSD
以外のシステムがある環境では利用できないことに注意してください。
また、ネットワーク
に無制限にアクセスできる真に限定されたユーザは依然
.Pa master.passwd
マップを危うくすることにも注意してください。
.Ss NISの上書きに伴なうUIDおよびGIDの再マップ
.Tn SunOS
や Sun の NIS コードを利用しているオペレーティングシステムとは異なり、
.Tn FreeBSD
ではユーザがNIS
.Pa passwd
エントリ中の
.Pa 全て
の欄を上書きすることを許しています。例えば以下のような
.Pa /etc/master.passwd
エントリを考えてみましょう。
.Bd -literal -offset indent
+@foo-users:???:666:666:0:0:0:Bogus user:/home/bogus:/bin/bogus
.Ed
このエントリにより、`foo-users' ネットグループ中の全てのユーザは、
UID、GID、パスワードを含めて
.Pa 全て
のパスワード情報を上書きされます。この結果、彼等のパスワードは不正な
値に再マップされるので、全ての `foo-users' はシステムから締め出さ
れることになるでしょう。
.Pp
以下のようにNISワイルドカードエントリを使う習慣のある人が多いので、
このことは覚えておくべき重要なことです。
.Bd -literal -offset indent
+:*:0:0:::
.Ed
これはしばしば新米の
.Tn FreeBSD
管理者が以下のように
.Pa master.passwd
ファイルのNISエントリを選んでしまうことにつながります。
.Bd -literal -offset indent
+:*:0:0::::::
.Ed
更に悪く、以下のようにしてしまうこともあります。
.Bd -literal -offset indent
+::0:0::::::
.Ed
.Sy Pa master.passwd
.Sy ファイルには「絶対に」このようなエントリは入れないでください!!
最初のものは、
全てのパスワードを `*' に再マップし (これは誰もログインできなくします)、
全ての UID および GID を 0 に再マップする (これは皆をスーパユーザにします)
ことを
.Tn FreeBSD
に指示します。
2 番目のものは全 UID および GID をちょうど 0 にマップします
が、これは
.Pa 全てのユーザがrootになってしまう
ことを意味します!
.Pp
.Ss NIS上書き評価の互換性
Sunが最初に
.Xr getpwent 3
ルーチンにNISサポートを追加したとき、
.Tn SunOS
のパスワードファイル
.Pa /etc/passwd
はプレーン
.Tn ASCII
フォーマットであるということが考慮されていました。
.Tn SunOS
のドキュメントによれば、パスワードファイルに '+' エントリを付け加えると、
パスワードファイル中の '+' エントリがある位置に
NIS パスワードデータベースの内容が「挿入」されます。例えば
管理者が
.Pa /etc/passwd
の中央に +:::::: エントリを置いた場合、
NIS パスワードマップの全体の内容が
パスワードファイルの中央にコピーされたかのように現われるでしょう。
管理者が +:::::: エントリを
.Pa /etc/passwd
の中央と最後の両方に置けばNISパスワードマップは2度現われることになるでしょ
う。すなわち 1 度目はそのファイルの中央に現れ、もう 1 度は最後に現れます
(単純なワイルドカードの代りに上書きエントリを用いることで、
他の組合せが可能です)。
.Pp
これに対し
.Tn FreeBSD
では単一の
.Tn ASCII
パスワードファイルを持つというわけではありません。
.Tn FreeBSD
ではハッシュ化されたパスワードデータベースを持ちます。このデータベースで
は最初や中央や最後を容易に定義できませんので、
.Tn SunOS
に 100% 互換の手法を設計することは非常に困難です。例えば
.Tn FreeBSD
.Fn getpwnam
関数と
.Fn getpwuid
関数は、線形検索ではなくハッシュデータベースに直接問い合わせするように設計さ
れています。パスワードデータベースが大きいシステムでは、
このアプローチの方が高速です。
しかしデータベースへ直接問い合わせを利用するとき、
システムは元のパスワードファイルの順序を知り得ませんし気にしませんので、
.Tn SunOS
が使用するものと同じ上書き論理は容易に適用できません。
.Pp
代りに
.Tn FreeBSD
では全ての NIS 上書きエントリを一緒のグループにまとめ、それらから 1 つ
のフィルタを作ります。各 NIS パスワードエントリはちょうど 1 回上書きフィルタ
に対して比較され、それに応じて取り扱われます。フィルタがエントリを変更せ
ずに通すことを許すならエントリは変更されないものとして取り扱われ、フィルタ
が欄の再マップを要求するなら欄は再マップされ、フィルタが明白な除外を要求
するなら(すなわちエントリが '-' 上書きと一致するなら)エントリは無視され、
エントリがフィルタ指定のどれとも一致しないならエントリは捨てられます。
.Pp
また、NIS の '+' および '-' エントリ自身は、
.Pa /etc/master.passwd
の中で指定された順序で取り扱われることに再度注意してください。
それ以外の方法で取り扱うと、予測不可能な振舞いとなってしまうからです。
.Pp
結局のところ、データベースのパラダイムを保ちつつ
.Tn FreeBSD
では
.Tn SunOS
と非常によく似た動作を行いますが、
.Xr getpwent 3
関数は
.Tn SunOS
のものとはいくぶん異なった振舞いをします。主な違いは以下の通りです。
.Bl -bullet -offset indent
.It
NIS パスワードマップの各々のレコードは、ローカルパスワード空間のパスワードに
1 度だけマップすることができます。
.It
NIS の '+' および '-' のエントリの位置は、
NIS パスワードレコードがパスワード空間にマップされる場所に
必ずしも影響を与えません。
.El
.Pp
あらゆる
.Tn FreeBSD
の構成のうち99%においてはNISクライアントの振舞いは
.Tn SunOS
や他の同種のシステムのそれと区別できないものとなるでしょう。それでもこれ
らのアーキテクチャ的な違いを知っておくことは必要です。
.Pp
.Ss NIS上書きに関しネットグループの代りにグループを用いる
.Tn FreeBSD
はネットグループではなくユーザグループに基づいた上書き照合を行なう能力
を提供します。例えば NIS エントリが以下のように指定されたとき、
.Bd -literal -offset indent
+@operator:::::::::
.Ed
システムはまず `operator' と呼ばれるネットグループに対してユーザを
照合しようとします。
`operator' ネットグループが存在しないとき、
システムは代りに通常の `operator' グループに対して照合しようとします。
.Ss FreeBSDの古いバージョンからの動作の変遷
.Tn FreeBSD
のNIS/YPの取り扱いについてはいくつかのバグフィックスと改善がありました。
そのいくつかは動作上の変化をもたらしました。動作上の変化は一般に良い方向
にありますが、ユーザおよびシステム管理者がそれらについて知っておくことは
重要です。
.Bl -enum -offset indent
.It
2.0.5 以前のバージョンでは、逆方向検索 (つまり
.Fn getpwuid
を用いる) には上書きは適用されませんでした。つまり、
.Fn getpwuid
.Fn getpwnam
が認識しないログイン名を返すことがありました。
これは現在では
.Pa /etc/master.passwd
で指定された上書きを全ての
.Xr getpwent 3
関数に適用することで解決されました。
.It
.Fx 2.0.5
以前では、ネットグループの上書きは全く動作しませんでした。
これは主に
.Tn FreeBSD
が NIS を通してネットグループを読むことをサポートしなかったことが原因です。
これもまた修正され、
.Tn SunOS
や同種の NIS を使用可能なシステムと全く同様に、
ネットグループを指定可能となりました。
.It
.Tn FreeBSD
は現在NISサーバの能力を持っており、標準第6版形式の
.Pa passwd
マップに加え
.Pa master.passwd
NIS マップの使用もサポートしています。このことは、NIS サーバとして
.Tn FreeBSD
システムを利用するなら、変更情報、有効期限の情報、クラス情報を指定可能であ
るということを意味しています。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd -compact
.It Pa /etc/passwd
パスワードを除いた
.Tn ASCII
パスワードファイル
.It Pa /etc/pwd.db
パスワードを除いた
.Xr db 3
形式のパスワードデータベース
.It Pa /etc/master.passwd
パスワードの入った
.Tn ASCII
パスワードファイル
.It Pa /etc/spwd.db
パスワードの入った
.Xr db 3
形式のパスワードデータベース
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr login 1 ,
.Xr passwd 1 ,
.Xr getpwent 3 ,
.Xr login.conf 5 ,
.Xr login_getclass 3 ,
.Xr yp 4 ,
.Xr login.conf 5 ,
.Xr adduser 8 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8 ,
.Xr pw 8
.Sh バグ
ユーザ情報は他のどこか に入れるべき(そして結局は入れることになる)でしょう。
.Pp
YP/NISパスワードデータベースでは、
普通のユーザには暗号化されたパスワードが見えてしまいます。したがって
.Pa master.passwd
マップのシャドウパスワードおよび
.Tn FreeBSD
.Xr ypserv 8
サーバを利用しないと、
簡単にパスワードクラッキングを許してしまうことになります。
.Pp
.Pa master.passwd
タイプのマップの使用をサポートする
.Tn FreeBSD
.Xr ypserv 8
を使用しないと、
YP/NIS パスワードデータベースは
古いスタイル (第 6 版) のフォーマットになります。これは、
.Tn FreeBSD
システムを標準 NIS サーバのクライアントとして利用するとき、
ユーザのログインクラスやパスワード期限等の
現在のフォーマットにある欄の値については
サイトワイドな値が利用できなくなることを意味します。
.Sh 互換性
パスワードファイル形式は
.Bx 4.3
以降で変更されました。以下の awk スクリプトは、古いスタイルの
パスワードファイルを新しいスタイルのパスワードファイルに
変換するのに利用できます。
.Dq class ,
.Dq change ,
.Dq expire
欄が追加されましたが、デフォルトでは無効になっています。
これらの欄を設定するには
.Xr vipw 8
もしくは
.Xr pw 8
を使用してください。
.Bd -literal -offset indent
BEGIN { FS = ":"}
{ print $1 ":" $2 ":" $3 ":" $4 "::0:0:" $5 ":" $6 ":" $7 }
.Ed
.Sh 歴史
.Nm
ファイルは
.At v6
で現われました。YP/NISの機能は
.Tn SunOS
を雛型として
.Fx 1.1
で初めて現われました。上書き機能は
.Fx 2.0
において新しく組み込まれました。上書き機能はネットグループを適切に
サポートするために
.Fx 2.0.5
で更新されました。注釈のサポートは
.Fx 3.0
で初めてサポートされました。
diff --git a/ja_JP.eucJP/man/man5/pbm.5 b/ja_JP.eucJP/man/man5/pbm.5
index 3ac9ff653d..496ac61e62 100644
--- a/ja_JP.eucJP/man/man5/pbm.5
+++ b/ja_JP.eucJP/man/man5/pbm.5
@@ -1,88 +1,88 @@
.\"
-.\" %Id: pbm.5,v 1.1.2.4 1998/07/19 06:52:12 jkh Exp %
+.\" %Id: pbm.5,v 1.5 1998/03/12 07:30:48 charnier Exp %
.\" jpman %Id: pbm.5,v 1.3 1998/04/29 11:36:38 kuma Stab %
.\"
.\" WORD: whitespace 空白
.\"
.Dd September 27, 1991
.Dt PBM 5
.Sh 名称
.Nm pbm
.Nd ボータブルビットマップファイルのフォーマット
.Sh 解説
ポータブルビットマップフォーマットは、
最低位の共通の白黒画像ファイルフォーマットです。
元々は、異なったタイプのマシン間で、
ビットマップ転送には適さないネットワークメーラを使用して、
ビットマップをメールで受け渡しする妥当な方法としてデザインされました。
現在は、多くのビットマップ変換フィルタ群の共通語として使用されています。
定義を以下に示します:
.Pp
.Bl -bullet -compact
.It
ファイルタイプを識別するための "マジックナンバ"。
pbm ファイルのマジックナンバは "P1" の 2 文字です。
.It
空白 (複数のブランク・TAB・CR・LF から成ります)。
.It
幅を ASCII 10 進数で表記します。
.It
空白。
.It
高さを ASCII 10 進数で表記します。
.It
空白。
.It
幅 * 高さの数のビット。各ビットは '1' または '0' で表し、
ビットマップ左上角を起点として通常の英語を読む向きに連続します。
.It
文字 '1' は黒を、'0' は白を表します。
.It
ビット部の空白は無視されます。
.It
\&"#" から行末までの文字列は無視されます (コメント)。
.It
長さが 70 文字を越える行は許されません。
.El
.Pp
以下に、このフォーマットでの小さなビットマップの例を示します:
.Bd -literal
P1
# feep.pbm
24 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.Ed
.Pp
このフォーマットを読むプログラムは可能な限り寛大になるべきで、
少しでもビットマップのように見えるものはなんでも受け付けるべきです。
.Pp
このフォーマットには派生形式があり、
RAWBITS オプションをコンパイル時にセットすることで利用可能です。
この派生形式は、以下の点が異なります:
.Pp
.Bl -bullet -compact
.It
\&"マジックナンバ" が "P1" ではなく "P4" です。
.It
8 ビットが 1 バイトに格納されます。上位ビットが先で下位ビットが後になります。
.It
ビット部には空白は許されませんし、
高さの後には単一の空白 (通常は改行) のみが許されます。
.It
ファイルは 1/8 の大きさになり、読み書きが何倍も高速になります。
.El
.Sh 作者
Copyright (C) 1989, 1991 by
.An Jef Poskanzer .
.\" Permission to use, copy, modify, and distribute this software and its
.\" documentation for any purpose and without fee is hereby granted, provided
.\" that the above copyright notice appear in all copies and that both that
.\" copyright notice and this permission notice appear in supporting
.\" documentation. This software is provided "as is" without express or
.\" implied warranty.
diff --git a/ja_JP.eucJP/man/man5/phones.5 b/ja_JP.eucJP/man/man5/phones.5
index fcab2f29bb..33f5546b7a 100644
--- a/ja_JP.eucJP/man/man5/phones.5
+++ b/ja_JP.eucJP/man/man5/phones.5
@@ -1,80 +1,80 @@
.\" 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.
.\"
.\" @(#)phones.5 8.1 (Berkeley) 6/5/93
+.\" %Id: phones.5,v 1.2 1997/03/07 03:28:04 jmg Exp %
.\" jpman %Id: phones.5,v 1.3 1998/07/21 23:07:26 jsakai Stab %
-.\" %Id: phones.5,v 1.1.1.1.8.1 1997/03/07 04:18:08 mpp Exp %
.\"
.Dd June 5, 1993
.Dt PHONES 5
.Os BSD 4.2
.Sh 名称
.Nm phones
.Nd リモートホストの電話番号のデータベース
.Sh 解説
ファイル
.Pa /etc/phones
には、
.Xr tip 1
プログラムが使用する、
システム内のプライベートな電話番号が格納されます。
このファイルは通常は読めませんので、特権情報を格納することができます。
このファイルのフォーマットは、次の形式の一連の行です:
<システム名>[\ \et]*<電話番号>。
システム名は
.Xr remote 5
ファイルで定義されているものの 1 つであり、
電話番号は ``,'' もしくは行末で終わる任意の文字列からなります。
``='' および ``*'' の文字は、(交換機を通す場合)
一旦停止して次のダイアルトーンを待つように自動電話機能に指示します。
``='' は
.Tn DF02-AC
にて必要ですし、``*'' は
.Tn BIZCOMP
1030
にて必要です。
.Pp
1 行には 1 つの電話番号のみ記述可能です。
しかしながら、ファイル中に同じシステム名が含まれる場合、
.Xr tip 1
は接続を確立するまで順番に各番号にダイアルしようとします。
.Sh 関連ファイル
.Bl -tag -width /etc/phones -compact
.It Pa /etc/phones
.El
.Sh 関連項目
.Xr tip 1 ,
.Xr remote 5
.Sh 歴史
.Nm
ファイルは
.Bx 4.2
に登場しました。
diff --git a/ja_JP.eucJP/man/man5/printcap.5 b/ja_JP.eucJP/man/man5/printcap.5
index 7b2647f8d4..3781dde94b 100644
--- a/ja_JP.eucJP/man/man5/printcap.5
+++ b/ja_JP.eucJP/man/man5/printcap.5
@@ -1,279 +1,360 @@
.\" 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.
.\"
.\" @(#)printcap.5 8.2 (Berkeley) 12/11/93
-.\" %Id: printcap.5,v 1.5.2.5 1998/04/28 13:49:50 danny Exp %
+.\" %Id: printcap.5,v 1.15 1998/08/21 18:08:46 brian Exp %
.\"
.\" jpman %Id: printcap.5,v 1.3 1998/07/21 23:12:17 jsakai Stab %
.Dd December 11, 1993
.Dt PRINTCAP 5
.Os BSD 4.2
.Sh 名称
.Nm printcap
.Nd プリンタケーパビリティデータベース
.Sh 書式
.Nm printcap
.Sh 解説
.Nm printcap
は、
ラインプリンタの記述に使われる
.Xr termcap 5
を簡略化したものです。
スプールシステムは利用のたび毎に
.Nm printcap
ファイルにアクセスするため、
プリンタを動的に追加したり削除することが可能です。
データベース中の各々のエントリが、1 台のプリンタを記述するのに使われます。
.Xr termcap 5
とは異なり、このデータベースは代替できません。
これは、アカウント情報がバイパスされてしまうことがあるからです。
.Pp
デフォルトのプリンタは通常
.Em lp
ですが、環境変数
.Ev PRINTER
によって上書きすることもできます。
各スプーリングユーティリティはオプション
.Fl P Ar printer
をサポートし、出力先のプリンタ名を明示することが可能です。
.Pp
あるプリンタに対するデータベースをセットアップする方法の詳細については、
.%T "4.3 BSD Line Printer Spooler Manual"
を参照してください。
.Sh ケーパビリティ
ファイルレイアウトの解説については
.Xr termcap 5
を参照してください。
.Bl -column Namexxx Typexx "/var/spool/lpdxxxxx"
.Sy Name Type Default Description
.It "af str" Ta Dv NULL Ta No "アカウンティングファイル名"
.It "br num none lp が tty の場合、ボーレートを設定 "
.Pf ( Xr ioctl 2
call)
.It "cf str" Ta Dv NULL Ta No "cifplot データ用フィルタ"
.It "ct num 120 TCP コネクションのタイムアウト時間(秒)"
.It "df str" Ta Dv NULL Ta No "tex データ用フィルタ"
.Pf ( Tn DVI
フォーマット)
.It "ff str" Ta So Li \ef Sc Ta No "フォームフィード送信文字"
.It "fo bool false デバイスオープン時にフォームフィードを印字"
.It "gf str" Ta Dv NULL Ta No "グラフデータフィルタ"
.Pf ( Xr plot 3
フォーマット
.It "hl bool false バーストヘッダページを最後に印刷"
.It "ic bool false 字下げ出力の用の(非標準の) ioctl をサポートした
ドライバ"
.It "if str" Ta Dv NULL Ta No "アカウンティングを行うためのテキストフィルタ名"
.It "lf str" Ta Pa /dev/console Ta No "エラーロギングファイル名"
.It "lo str" Ta Pa lock Ta No "ロックファイル名"
.It "lp str" Ta Pa /dev/lp Ta No "出力時にオープンするデバイス名"
.It "ms str" Ta Dv NULL Ta No "lp が tty の場合、コンマで区切ったリスト。"
tty モード記述用の
.Xr stty 1
リストに似ている。
.It "mx num 1000 最大ファイルサイズ ("
.Dv BUFSIZ
ブロック単位)。0 = 制限なし。
.It "nd str" Ta Dv NULL Ta No "キューのリスト用の次のディレクトリ (未実装)"
.It "nf str" Ta Dv NULL Ta No "ditroff データ用フィルタ (device independent troff)"
.It "of str" Ta Dv NULL Ta No "出力用フィルタリングプログラム名"
.It "pc num 200 1 フィートまたは 1 ページあたりの
費用 (1/100 セント単位)"
.It "pl num 66 1 ページの行数"
.It "pw num 132 1 行の文字数"
.It "px num 0 ピクセル単位のページ幅 (水平方向)"
.It "py num 0 ピクセル単位のページ長 (垂直方向)"
.It "rf str" Ta Dv NULL Ta No ""
.Tn FORTRAN
形式のテキストファイル出力用フィルタ
.It "rg str" Ta Dv NULL Ta No "グループ制限。許可されたグループのメンバのみアクセスが許可される"
.It "rm str" Ta Dv NULL Ta No "リモートプリンタ名"
.It "rp str ``lp'' リモートプリンタ名引数"
.It "rs bool false ローカルにアカウントを持つリモートユーザに対する制限"
.It "rw bool false 読み書き用にオープンするプリンタデバイス名"
.It "sb bool false 短いバナー (1 行のみ)"
.It "sc bool false 複数コピーの抑制"
.It "sd str" Ta Pa /var/spool/lpd Ta No "スプール ディレクトリ"
.It "sf bool false フォームフィードの抑制"
.It "sh bool false バーストページヘッダの出力抑制"
.It "st str" Ta Pa status Ta No "状態ファイル名"
.It "tf str" Ta Dv NULL Ta No "troff データ用フィルタ (cat phototypesetter)"
.It "tr str" Ta Dv NULL Ta No "キューが空の時に印刷するトレイラ文字列"
.It "vf str" Ta Dv NULL Ta No "ラスタイメージ用フィルタ"
.El
.Pp
+2 文字のケーパビリティは、別の読み易い名前があります。
+.Bl -column "短い形式" "長い形式"
+.Sy "短い形式 長い形式"
+.It "af acct.file"
+.It "br tty.rate"
+.It "cf filt.cifplot"
+.It "ct remote.timeout"
+.It "df filt.dvi"
+.It "du daemon.user"
+.It "ff job.formfeed"
+.It "fo job.topofform"
+.It "gf filt.plot"
+.It "hl banner.last"
+.It "if filt.input"
+.It "lf spool.log"
+.It "lo spool.lock"
+.It "lp tty.device"
+.It "mc max.copies"
+.It "ms tty.mode"
+.It "mx max.blocks"
+.It "nf filt.ditroff"
+.It "of filt.output"
+.It "pc acct.price"
+.It "pl page.length"
+.It "pw page.width"
+.It "px page.pwidth"
+.It "py page.plength"
+.It "rf filt.fortran"
+.It "rg daemon.restrictgrp"
+.It "rm remote.host"
+.It "rp remote.queue"
+.It "rs daemon.restricted"
+.It "rw tty.rw"
+.It "sb banner.short"
+.It "sc job.no_copies"
+.It "sd spool.dir"
+.It "sf job.no_formfeed"
+.It "sh banner.disable"
+.It "st spool.status"
+.It "tr job.trailer"
+.It "vf filt.raster"
+.El
+.Pp
ローカルラインプリンタのドライバが字下げをサポートしているならば、
プリンタデーモンはその使い方を理解しなければなりません。
.Sh フィルタ
.Xr lpd 8
デーモンは
.Em filters
のパイプラインを作成し、さまざまなタイプのプリンタ用に処理を行います。
フィルタは
.Xr lpr 1
へ渡されるフラグに応じて選択されます。
パイプラインは次のように設定されます。
.Bd -literal -offset indent
p pr | if 通常テキスト + pr(1)
none if 通常テキスト
c cf cifplot
d df DVI (tex)
g gf plot(3)
n nf ditroff
f rf Fortran
t tf troff
v vf ラスタイメージ
.Ed
.Pp
.Sy if
フィルタは次の引数をとります。
.Bd -filled -offset indent
.Cm if
.Op Fl c
.Fl w Ns Ar width
.Fl l Ns Ar length
.Fl i Ns Ar indent
.Fl n Ar login
.Fl h Ar host acct-file
.Ed
.Pp
.Fl c
フラグは
.Fl l
フラグ (コントロール文字をそのまま通過させます) が
.Xr lpr 1
に指定された場合のみ渡されます。
.Ar width
機能と
.Ar length
機能はページ幅とページ長を
(それぞれ
.Cm pw
.Cm pl
によって) 文字単位で指定します。
.Fl n
.Fl h
パラメータでそれぞれのジョブの所有者のログイン名とログイン先ホスト名を
指定します。
.Ar acct-file
機能は
.Nm printcap
.Cm af
エントリがそのまま使われます。
.Pp
.Cm if
が指定されなかった場合、
.Cm of
が代わりに使われます。
.Cm of
.Cm if
が個々のジョブ毎にオープンされるのに対して、たった 1 回だけ
オープンされると言う特徴を持っています。
そのため、アカウンティングを行うには
.Cm if
の方が向いています。
.Cm of
には、
.Ar width
.Ar length
フラグのみが与えられます。
.Pp
その他の全てのフィルタは次のように呼び出されます。
.Bd -filled -offset indent
.Nm filter
.Fl x Ns Ar width
.Fl y Ns Ar length
.Fl n Ar login
.Fl h Ar host acct-file
.Ed
.Pp
.Ar width
.Ar length
はピクセル単位で表され、それぞれ
.Cm px
.Cm py
エントリで指定されます。
.Pp
全てのフィルタはファイルを
.Em stdin
から読み込み
.Em stdout
からの出力をプリンタに送られ、
.Em stderr
または
.Xr syslog 3
がログ出力に使われます。
フィルタは
.Dv SIGINT
を無視してはいけません。
+.Sh リモートプリンティング
+.Cm rm
+を使用してリモートプリンタに印刷する時、
+.Cm if
+または
+.Cm of
+を使用できます。両方を指定した場合、
+.Cm of
+は無視されます。
+どちらのフィルタも同様に振舞いますが、上述の通り異なった引数を渡されます。
+特に、出力フィルタはファイルが転送されるたびに、停止・再起動されます。
+このように動作することが必要な理由は、フィルタを通した結果の大きさをリモート
+.Xr lpd 8
+に渡すためです。
+.Pp
+.Fl p
+フラグが
+.Xr lpr 1
+に渡されると、
+.Xr pr 1
+はローカルでは実行されませんが、リモートの
+.Xr lpd 8
+に対して要求されます。それゆえ、
+.Cm if
+を介したフィルタリングは、
+.Xr pr 1
+が実行される後ではなく前に実行されることになります。
+.Pp
+.Cm lp
+が
+.Em port Ns No @ Ns Em machine
+で指定された場合 (そして
+.Cm rm
+が使用されない場合)、印刷は指定された
+.Em machine
+の指定された
+.Em port
+に直接転送されます。
.Sh ロギング
ラインプリンタプログラム自身 (つまり
.Xr lpd 8
とそれに関連するプログラム) が生成したエラーメッセージは、
.Xr syslog 3
.Dv LPR
ファシリティを使ってロギングされます。
フィルタの 1 つから
.Em stderr
に出力されたメッセージは、対応する
.Cm lf
で指定されたファイルに送られます。
当然、フィルタ自身もまた
.Xr syslog 8
を使うことがあるかも知れません。
.Pp
コンソールに送られるエラーメッセージには、ラインフィードだけではなく
キャリッジリターンとラインフィードが追加されます。
.Sh 関連項目
.Xr lpq 1 ,
.Xr lpr 1 ,
.Xr lprm 1 ,
.Xr hosts.lpd 5 ,
.Xr termcap 5 ,
.Xr lpc 8 ,
.Xr lpd 8 ,
.Xr pac 8
.Rs
.%T "4.3 BSD Line Printer Spooler Manual"
.Re
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/procfs.5 b/ja_JP.eucJP/man/man5/procfs.5
index 17230a3e05..08e94c1762 100644
--- a/ja_JP.eucJP/man/man5/procfs.5
+++ b/ja_JP.eucJP/man/man5/procfs.5
@@ -1,216 +1,221 @@
-.\" %Id: procfs.5,v 1.2.8.4 1998/06/28 21:34:27 hoek Exp %
+.\" %Id: procfs.5,v 1.10 1998/06/28 21:33:42 hoek Exp %
.\" jpman %Id: procfs.5,v 1.3 1998/07/03 09:09:33 mutoh Stab %
.\" Written by Garrett Wollman
.\" This file is in the public domain.
.\"
.Dd August 10, 1994
.Dt PROCFS 5
.Os BSD 4.4
.Sh 名称
.Nm procfs
.Nd プロセスファイルシステム
.Sh 書式
.Bd -literal
proc /proc procfs rw 0 0
.Ed
.Sh 解説
プロセスファイルシステム、すなわち
.Nm procfs
はファイルシステム中でシステムプロセステーブルの閲覧を可能にします。
.Nm procfs
は通常
.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 etype
.Pa file
項目によって参照される実行形式のタイプ。
.It Pa file
プロセステキストが読まれる vnode への参照。
これはプロセスのシンボルテーブルへのアクセスを得る、
またはプロセスのもう 1 つのコピーを始めるために使われます。
.It Pa fpregs
.Pa <machine/reg.h>
中の
.Dv "struct fpregs"
で定義される浮動小数点レジスタ。
.Pa fpregs
は、汎用レジスタセットと浮動小数点レジスタセットが明確に区別されたマシンにのみ
実装されています。
.It Pa map
プロセスの仮想メモリのマップ。
.It Pa mem
プロセスの完全な仮想メモリイメージ。
プロセス中に存在するアドレスのみがアクセスできます。
このファイルに対する読み書きはプロセスを修正します。
テキストセグメントに対する書き込みはそのプロセスのみに留まります。
.It Pa note
プロセスへシグナルを送るために使われます。実装されていません。
.It Pa notepg
プロセスグループへシグナルを送るために使われます。実装されていません。
.It Pa regs
プロセスのレジスタセットへの読み書き手段を提供します。
このファイルは
.Pa <machine/reg.h>
中で定義されている
.Dv "struct regs"
バイナリデータ構造体を含んでいます。
.Pa regs
はプロセスが停止しているときのみ書き込みできます。
.It Pa status
プロセスの状態。
このファイルは読み込みのみで、空白で分けられた以下の多数のフィールドを
含んだ 1 行を返します:
.Pp
.Bl -bullet -compact
.It
コマンド名
.It
プロセス ID
.It
親プロセス ID
.It
プロセスグループ ID
.It
セッション ID
.It
制御端末の
.Ar major,minor
、またはもし制御端末がない場合には
.Dv -1,-1 。
.It
プロセスフラグのリスト:
.Dv ctty
制御端末がある、
.Dv sldr
プロセスがセッションリーダである、
.Dv noflags
他の 2 つのフラグがセットされていない。
.It
コンマで区切った秒とマイクロ秒によるプロセス開始時刻
.It
コンマで区切った秒とマイクロ秒によるユーザ時間
.It
コンマで区切った秒とマイクロ秒によるシステム時間
.It
ウェイトチャンネルメッセージ
.It
実効ユーザ ID と全てコンマで区切られた
グループリスト(最初の項目は実効グループ ID) から成っている
プロセスクリデンシャル
.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 procfs
の通常のマウントポイント。
.It Pa /proc/pid
プロセス
.Pa pid
のプロセス情報を含んだディレクトリ
.It Pa /proc/curproc
カレントプロセスのプロセス情報を含んだディレクトリ
.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/status
プロセスの現在の状態
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr sigaction 2 ,
.Xr unmount 2 ,
.Xr mount_procfs 8
.Sh 作者
-このマニュアルページは Jan-Simon Pendry によって提供された記述に基づいて
-Garrett Wollman によって書かれ、
-後に Mike Pritchard によって手直しされました。
+このマニュアルページは
+.An Jan-Simon Pendry
+によって提供された記述に基づいて
+.An Garrett Wollman
+によって書かれ、
+後に
+.An Mike Pritchard
+によって手直しされました。
diff --git a/ja_JP.eucJP/man/man5/protocols.5 b/ja_JP.eucJP/man/man5/protocols.5
index 93bec4853f..48443ee4bc 100644
--- a/ja_JP.eucJP/man/man5/protocols.5
+++ b/ja_JP.eucJP/man/man5/protocols.5
@@ -1,76 +1,76 @@
.\" 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.
.\"
.\" @(#)protocols.5 8.1 (Berkeley) 6/5/93
+.\" %Id: protocols.5,v 1.2 1997/03/07 03:28:05 jmg Exp %
.\" jpman %Id: protocols.5,v 1.3 1998/06/17 07:52:20 kumano Stab %
-.\" %Id: protocols.5,v 1.1.1.1.8.1 1997/03/07 04:18:09 mpp Exp %
.\"
.Dd June 5, 1993
.Dt PROTOCOLS 5
.Os BSD 4.2
.Sh 名称
.Nm protocols
.Nd プロトコル名のデータベース
.Sh 解説
.Nm protocols
ファイルには
.Tn DARPA
インターネットで使用される既知のプロトコルの情報が格納されます。
各プロトコル毎に、以下の情報を表す 1 行が存在します。
.Bd -unfilled -offset indent
公式なプロトコル名
プロトコル番号
別名
.Ed
.Pp
項目は任意個の空白文字やタブ文字で分けられます。
``#'' はコメント開始を表し、
行末までの文字はファイルを検索するルーチンに解釈されません。
.Pp
プロトコル名は、フィールド区切り文字・改行文字・コメント文字以外の、
任意の表示可能文字からなります。
.Sh 関連ファイル
.Bl -tag -width /etc/protocols -compact
.It Pa /etc/protocols
.Nm protocols
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr getprotoent 3
.Sh バグ
静的ファイルの代わりに、ネームサーバを使用すべきです。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
に登場しました。
diff --git a/ja_JP.eucJP/man/man5/pw.conf.5 b/ja_JP.eucJP/man/man5/pw.conf.5
index 717fee09b6..20c16ee083 100644
--- a/ja_JP.eucJP/man/man5/pw.conf.5
+++ b/ja_JP.eucJP/man/man5/pw.conf.5
@@ -1,283 +1,295 @@
.\" 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.
.\"
-.\" %Id: pw.conf.5,v 1.1.1.1.2.5 1997/12/25 09:35:59 hoek Exp %
+.\" %Id: pw.conf.5,v 1.8 1997/12/25 09:36:42 hoek Exp %
.\" jpman %Id: pw.conf.5,v 1.3 1998/07/02 18:49:55 kumano Stab %
.\"
.Dd December 9, 1996
.Dt PW.CONF 5
.Os
.Sh 名称
.Nm pw.conf
.Nd pw.conf 設定ファイルのフォーマット
.Sh 解説
ファイル
.Aq Pa /etc/pw.conf
には
.Xr pw 8
プログラムで使用される設定データが含まれています。
.Xr pw 8
プログラムはシステムのパスワードとグループファイルのメンテナンスに使用され、
ユーザやグループを追加、削除、変更します。
このファイルは
.Xr pw 8
コマンドによって
.Ar useradd
コマンドと
.Fl D
オプション
を使うか、テキストエディタによって直接編集することによって変更されます。
.Pp
.Aq Pa /etc/pw.conf
における各行は、コメントもしくは設定データとして扱われます。
空白行と
.Ql \&#
文字によって開始している行はコメントとなります。
それら以外の行はキーワードが最初に指定され、
それに対応するデータが続くものとして処理されます。
.Pp
.Xr pw 8
によって認識されるキーワードには以下のものがあります。
.Bl -tag -width password_days -offset indent -compact
.It defaultpasswd
新規ユーザのパスワードとなります。
.It reuseuids
UID の空き番号を再使用します。
+.It nispasswd
+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
+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
を指定すると、対応する (アカウントかパスワードの) 期限切れを抑止します。
.Pp
.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 c8cf62d30b..c1a63b0b00 100644
--- a/ja_JP.eucJP/man/man5/rc.conf.5
+++ b/ja_JP.eucJP/man/man5/rc.conf.5
@@ -1,880 +1,901 @@
.\" Copyright (c) 1995
.\" Jordan K. Hubbard
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: rc.conf.5,v 1.1.2.11 1998/06/27 21:23:28 steve Exp %
+.\" %Id: rc.conf.5,v 1.22 1998/07/08 23:31:28 nectar Exp %
.\"
.\" jpman %Id: rc.conf.5,v 1.3 1998/06/26 09:39:58 jsakai Stab %
.\"
.Dd April 26, 1997
.Dt RC.CONF 5
.Os FreeBSD 2.2.2
.Sh 名称
.Nm rc.conf
.Nd ローカルコンフィギュレーションの情報
.Sh 解説
.Nm rc.conf
ファイルはローカルホスト名、全ての潜在的なネットワークインタフェースに
関するコンフィギュレーションの詳細、システムの初期起動時に立ち上げるべき
サービスに関する記述可能な情報を含んできます。初めてインストールする際に
は、一般に
.Nm rc.conf
ファイルはシステムインストールユーティリティ
.Pa /stand/sysinstall
によって初期化されます。
.Pp
ローカルホスト上で変化が生じるたびにこのファイルを適切に保守することはシ
ステム管理者の仕事です。
.Sh 関連ファイル
.Bl -tag -width /etc/rc.conf -compact
.It Pa /etc/rc.conf
.El
.Sh 解説
.Nm
の目的は、
コマンドの実行やシステム起動操作を直接行うことではありません。
それに代わり、
そこに見出される設定にしたがって内部操作を条件付きで制御する
.Pa /etc
下のいろいろな類の起動スクリプトの一部をなしています。
.Pp
以下に示すのは
.Nm
ファイル中で設定可能な各変数について、
その名前と簡単な解説をリストしたものです。
.Bl -tag -width Ar
.It Ar swapfile
(文字列)
.Ar NO
にセットすると
スワップファイルはインストールされません。
.Ar NO
以外の場合、その値は追加スワップ領域のために利用するファイルの
完全パス名として用いられます。
.It Ar apm_enable
(ブール値)
.Ar YES
にセットすると
.Xr apm 8
コマンドでの自動電源管理(Automatic Power Management)のサポートを有効に
します。
.It Ar pccard_enable
(ブール値)
.Ar YES
にセットすると起動時にPCCARDのサポートを有効にします。
.It Ar pccard_mem
(文字列) PCCARDコントローラメモリアドレスをセットします。
.Ar DEFAULT
とするとデフォルト値になります。
.It Ar pccard_ifconfig
(文字列) 挿入または起動時に動的にifconfigされるべきイーサネットデバイス
のリストです。
(例
.Ar "ed0 ed1 ep0 ..." )
.It Ar local_startup
(文字列) 起動スクリプトファイルを検索するためのディレクトリのリストです。
+.It Ar local_periodic
+(文字列) 定期的に実行するスクリプトを検索するディレクトリのリストです
+(3.0 のみ)。
.It Ar hostname
(文字列) ネットワーク上でのあなたのホストの完全な形のドメイン名 (The
Fully Qualified Domain Name) です。あなたがネットワークに接続されていない
場合でも、この変数は確実に何か意味のあるものに設定すべきです。
.It Ar nisdomainname
(文字列) あなたのホストの NIS ドメイン名。NIS が動いてないときは
.Ar NO
とします。
.It Ar firewall_enable
(ブール値) 起動時にロードされるファイアウォール規則を持ちたくないときには
.Ar NO
、持ちたいときには
.Ar YES
をセットします。
.Ar YES
にセットし、かつカーネルが IPFIREWALL 付きで作られなかった場合、
ipfw カーネルモジュールがロードされます。
.It Ar firewall_type
(文字列)
.Pa /etc/rc.firewall
中で選択されたファイアウォールのタイプまたはローカルファイアウォール規則
の組を含むファイルを名付けます。
.Pa /etc/rc.firewall
中では以下のものが選択可能です:
``open''- 無制限の IP アクセス;
``closed''- lo0 経由を除く全ての IP サービスを禁止;
``client''- ワークステーション向けの基本的な保護;
``simple''- LAN 向けの基本的な保護。
ファイル名が指定される場合には完全なパス名でなければなりません。
.It Ar firewall_quiet
(ブール値)
.Ar YES
にセットすると起動時にコンソール上で ipfw 規則の表示を行ないません。
.It Ar natd_enable
(ブール値)
.Ar YES
にセットすると natd を有効にします。
.Ar firewall_enable
もまた
.Ar YES
にセットされ、
.Xr divert 4
ソケットがカーネルで有効にされている必要があります。
.It Ar natd_interface
natd が実行されるパブリックインタフェースの名前です。
.Ar natd_enable
.Ar YES
にセットされている場合には、これを設定する必要があります。
+インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。
.It Ar natd_flags
追加の natd フラグはここに記述する必要があります。
.Fl n
-フラグは上記
+または
+.Fl a
+のフラグは上記
.Ar natd_interface
とともに自動的に引数として追加されます。
.It Ar tcp_extensions
(ブール値) デフォルトでは
.Ar YES
です。これは RFC 1323 や 1644 で述べられているような
ある TCP オプションを有効にします。
もしネットワークコネクションが不規則にハングアップしたり、
それに類する他の不具合がある場合には、これを
.Ar NO
にセットして様子をみてみるのもよいかもしれません。世間に出回っている
ハードウェア/ソフトウェアの中には、これらのオプションでうまく動作しない
ものがあることが知られています。
.It Ar network_interfaces
(文字列) このホスト上で形成されるネットワークインタフェースのリストを
設定します。
たとえば、ループバックデバイス (標準) および SMC Elite Ultra NIC があるなら
.Qq Ar "lo0 ed0"
という 2 つのインタフェースを設定します。
.Em interface
の各値に対して
.No ifconfig_ Ns Em interface
という変数が存在すると仮定されます。
1 つのインタフェースに複数の IP アドレスを登録したい場合は、
ここに IP エイリアスのエントリを追加することも可能です。
対象とするインタフェースが ed0 であると仮定すると、
.Bd -literal
ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff"
ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff"
.Ed
というようになります。
見つかった各 ifconfig_<interface>_alias<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
のようにすると、alias4 は追加され\fB ない\fR ことに注意してください。これは
alias3 エントリを抜かしたことで検索が中止されるからです。
.It Ar syslogd_enable
(ブール値)
.Ar YES
にセットすると
.Xr syslogd 8
デーモンを起動します。
.It Ar syslogd_flags
(文字列) syslogd_enable が
.Ar YES
の場合、これらは
.Xr syslogd 8
に渡すフラグになります。
.It Ar inetd_enable
(ブール値)
.Ar YES
にセットすると
.Xr inetd 8
デーモンを起動します。
.It Ar inetd_flags
(文字列)inetd_enable が
.Ar YES
の場合、これらは
.Xr inetd 8
へ渡すフラグとなります。
.It Ar named_enable
(ブール値)
.Ar YES
にセットすると
.Xr named 8
デーモンを起動します。
.It Ar named_program
(文字列)
.Xr named 8
のパス。(デフォルトは
.Pa /usr/sbin/named )
.It Ar named_flags
(文字列)
.Ar named_enable
.Ar YES
の場合、これらは
.Xr named 8
に渡すフラグとなります。
.It Ar kerberos_server_enable
(ブール値) ブート時に Kerberos 認証サーバを起動したい場合は
.Ar YES
にセットします。
.It Ar kadmind_server_enable
.Xr kadmind 8
(Kerberos 管理デーモン) を実行したい場合は
.Ar YES
とします。スレーブサーバ上では
.Ar NO
にセットします。
.It Ar kerberos_stash
(文字列)
.Ar YES
なら (唯一
.Ar kerberos_server_enable
.Ar YES
にセットされ、かつ
.Xr kerberos 1
および
.Xr kadmind 8
の両方を用いるときにのみ) 隠されたマスタキーのプロンプト入力を行なう代りに、
そのキーを用いるよう Kerberos サーバに指示します。
.It Ar rwhod_enable
(ブール値)
.Ar YES
にセットするとブート時に
.Xr rwhod 8
デーモンを起動します。
.It Ar amd_enable
(ブール値)
.Ar YES
にセットするとブート時に
.Xr amd 8
デーモンを起動します。
.It Ar amd_flags
(文字列)
.Ar amd_enable
.Ar YES
にセットされている場合、これらは amd に渡すフラグとなります。
詳しくは\fBinfo amd\fR コマンドを利用してください。
.It Ar nfs_client_enable
(ブール値)
.Ar YES
にセットするとブート時に NFS クライアントデーモンを起動します。
.It Ar nfs_client_flags
(文字列)
.Ar nfs_client_enable
.Ar YES
の場合、これらは
.Xr nfsiod 8
デーモンに渡すフラグとなります。
.It Ar nfs_server_enable
(ブール値)
.Ar YES
にセットするとブート時に NFS サーバデーモンを起動します。
.It Ar nfs_server_flags
(文字列)
.Ar nfs_server_enable
.Ar YES
の場合、これらは
.Xr nfsd 8
デーモンに渡すフラグとなります。
.It Ar weak_mountd_authentication
(ブール値)
.Ar YES
にセットすると、権限付けられていないマウント要求を行なうために
\fBPCNFSD\fR のようなサービスを許可します。
.It Ar nfs_reserved_port_only
(ブール値)
.Ar YES
にセットすると、安全なポート上でのみ NFS サービスを提供します。
.It Ar rcp_lockd_enable
(ブール値) この変数が
.Ar YES
にセットされ、しかも NFS サーバである場合、ブート時に
.Xr rpc.lockd 8
を起動します。
.It Ar rcp_statd_enable
(ブール値) この変数が
.Ar YES
にセットされ、しかも NFS サーバである場合、ブート時に
.Xr rpc.statd 8
を起動します。
.It Ar portmap_enable
(ブール値)
.Ar YES
の場合、ブート時に
.Xr portmap 8
サービスを起動します。
.It Ar portmap_flags
(文字列)
.Ar portmap_enable
.Ar YES
の場合、これらは
.Xr portmap 8
デーモンに渡すフラグとなります。
.It Ar xtend_enable
(ブール値)
.Ar YES
にセットすると、ブート時に
.Xr xtend 8
デーモンを起動します。
.It Ar xtend_flags
(文字列)
.Ar xtend_enable
.Ar YES
の場合、これらは
.Xr xtend 8
デーモンに渡すフラグとなります。
.It Ar timed_enable
(ブール値)
.Ar YES
なら、ブート時に
.Xr timed 8
サービスを実行します。このコマンドは、全ホストについて一貫した
.Qq "ネットワーク時間"
が確立されなければならないマシンネットワークのためにあります。
これが有用である典型例は、
ファイルのタイムスタンプがネットワークワイドで一貫性をもつことが
期待されるような、大規模 NFS 環境です。
.It Ar timed_flags
(文字列)
.Ar timed_enable
.Ar YES
の場合、これらは
.Xr timed 8
サービスに渡すフラグとなります。
.It Ar ntpdate_enable
(ブール値)
.Ar YES
にセットすると、システムスタートアップ時に ntpdate を実行します。
このコマンドは、ある標準的な参照先を元に、ただ
.Ar 1 回
だけシステム時刻を同期させるためにあります。
また、システムを最初にインストールする際、
これを (知られているサービスのリストから) 最初にセットアップするオプションが
.Pa /stand/sysinstall
プログラムによって提供されます。
.It Ar ntpdate_program
(文字列)
.Xr ntpdate 8
のパス
(デフォルトは
.Pa /usr/sbin/ntpdate
です)。
.It Ar ntpdate_flags
(文字列)
.Ar ntpdate_enable
.Ar YES
の場合、これらは
.Xr ntpdate 8
コマンドに渡すフラグとなります (典型的にはホスト名)。
.It Ar xntpd_enable
(ブール値)
.Ar YES
にセットすると、ブート時に
.Xr xntpd 8
コマンドが起動されます。
.It Ar xntpd_program
(文字列)
.Xr xntpd 8
のパス
(デフォルトは
.Pa /usr/sbin/xntpd
です)。
.It Ar xntpd_flags
(文字列)
.Ar xntpd_enable
.Ar YES
の場合、これらは
.Xr xntpd 8
デーモンに渡すフラグとなります。
.It Ar tickadj_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr tickadj 8
コマンドを実行します。
.It Ar tickadj_flags
(文字列)
.Ar tickadj_enable
.Ar YES
の場合、これらは
.Xr tickadj 8
コマンドに渡すフラグとなります。
.It Ar nis_client_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr ypbind 8
サービスを起動します。
.It Ar nis_client_flags
(文字列)
.Ar nis_client_enable
.Ar YES
の場合、これらは
.Xr ypbind 8
サービスに渡すフラグとなります。
.It Ar nis_ypset_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr ypset 8
デーモンを起動します。
.It Ar nis_ypset_flags
(文字列)
.Ar nis_ypset_enable
.Ar YES
の場合、これらは
.Xr ypset 8
デーモンに渡すフラグとなります。
.It Ar nis_server_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr ypserv 8
デーモンを起動します。
.It Ar nis_server_flags
(文字列)
.Ar nis_server_enable
.Ar YES
の場合、これらは
.Xr ypserv 8
デーモンに渡すフラグとなります。
.It Ar nis_ypxfrd_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr ypxfrd 8
デーモンを起動します。
.It Ar nis_ypxfrd_flags
(文字列)
.Ar nis_ypxfrd_enable
.Ar YES
の場合、これらは
.Xr ypxfrd 8
デーモンに渡すフラグとなります。
.It Ar nis_yppasswdd_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr yppasswdd 8
デーモンを起動します。
.It Ar nis_yppasswdd_flags
(文字列)
.Ar nis_yppasswdd_enable
.Ar YES
の場合、これらは
.Xr yppasswdd 8
デーモンに渡すフラグとなります。
.It Ar defaultrouter
(文字列)
.Ar NO
をセットしないと、このホスト名または IP アドレスへのデフォルトルートを
作成します (このルータがネームサーバへたどりつく必要がある
場合は IPアドレスを使用すること!)。
.It Ar static_routes
(文字列) システムブート時に追加したいスタティックルートのリストを
セットします。
.Ar NO
以外をセットした場合、その値を空白で区切った各要素について、
.Em element
毎に変数
.No route_ Ns em element
が存在すると仮定され、その後、``route add'' 操作に渡されます。
.It Ar gateway_enable
(ブール値)
.Ar YES
にセットすると、IP ルータとして動作する、
たとえばインタフェース間でパケットをフォワードするように
ホストを設定します。
.It Ar router_enable
(ブール値)
.Ar YES
にセットすると、
.Ar router
および
.Ar router_flags
の設定に基づいて、ある種のルーティングデーモンを実行します。
.It Ar router
(文字列)
.Ar router_enable
.Ar YES
にセットされると、これが使用するルーティングデーモン名になります。
.It Ar router_flags
(文字列)
.Ar router_enable
.Ar YES
にセットされると、これらがルーティングデーモンへ渡すフラグとなります。
.It Ar mrouted_enable
(ブール値)
.Ar YES
にセットすると、マルチキャストルーティングデーモン
.Xr mrouted 8
を起動します。
.It Ar mrouted_flags
(文字列)
.Ar mrouted_enable
.Ar YES
の場合、これらはマルチキャストルーティングデーモンへ渡すフラグとなります。
.It Ar ipxgateway_enable
(ブール値)
.Ar YES
にセットすると、IPX トラフィックのルーティングを有効にします。
.It Ar ipxrouted_enable
(ブール値)
.Ar YES
にセットすると、ブート時に
.Xr ipxrouted 8
デーモンを起動します。
.It Ar ipxrouted_flags
(文字列)
.Ar ipxrouted_enable
.Ar YES
の場合、これらは
.Xr ipxrouted 8
デーモンへ渡すフラグとなります。
.It Ar arpproxy_all
.Ar YES
にセットするとグローバルプロキシ ARP を有効にします。
.It Ar forward_sourceroute
これが
.Ar YES
にセットされ、更に
.Ar gateway_enable
もまた
.Ar YES
にセットされている場合、
送信元が経路指定したパケット (source routed packets) はフォワードされます。
.It Ar accept_sourceroute
.Ar YES
にセットすると、
システムは自分宛の送信元経路指定パケットを受け付けます。
.It Ar rarpd_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr rarpd 8
デーモンを起動します。
.It Ar rarpd_flags
(文字列)
.Ar rarpd_enable
.Ar YES
の場合、これらは
.Xr rarpd 8
デーモンへ渡すフラグとなります。
.It Ar keymap
(文字列)
.Ar NO
にセットするとキーマップはインストールされません。それ以外の場合、
ここで指定した
.Ar value
がキーマップファイル
.Pa /usr/share/syscons/keymaps/<value>.kbd
をインストールするのに用いられます。
.It Ar keyrate
(文字列) キーボードのリピートスピードです。以下のいずれかにセットします。
.Ar slow ,
.Ar normal ,
.Ar fast
デフォルト値を希望する場合は
.Ar NO
とします。
.It Ar keychange
(文字列)
.Ar NO
以外にセットすると、その値でファンクションキーをプログラムしようとします。
指定できる値は単一の文字列で,
.Qq Ar "<funkey_number> <new_value> [<funkey_number> <new_value>]..."
という形式でないといけません。
.It Ar cursor
(文字列) カーソルの動作を明示的に指定する場合は
.Ar normal ,
.Ar blink ,
.Ar destructive
のいずれかの値にセットします。デフォルト動作を選ぶには
.Ar NO
とします。
.It Ar scrnmap
(文字列)
.Ar NO
にセットすると、スクリーンマップはインストールされません。
それ以外の場合には、ここで指定した
.Ar value
がスクリーンマップファイル
.Pa /usr/share/syscons/scrnmaps/<value>
をインストールするのに用いられます。
.It Ar font8x16
(文字列)
.Ar NO
にセットするとスクリーンサイズの要求に対しデフォルトの 8x16 フォント値が
用いられます。それ以外の場合は
.Pa /usr/share/syscons/fonts/<value>
の値が用いられます。
.It Ar font8x14
(文字列)
.Ar NO
にセットするとスクリーンサイズの要求に対しデフォルトの 8x14 フォント値が
用いられます。それ以外の場合は
.Pa /usr/share/syscons/fonts/<value>
の値が用いられます。
.It Ar font8x8
(文字列)
.Ar NO
にセットすると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が
用いられます。それ以外の場合は
.Pa /usr/share/syscons/fonts/<value>
の値が用いられます。
.It Ar blanktime
(整数)
.Ar NO
にセットすると、デフォルトのスクリーンブランク時間間隔が用いられます。
それ以外の場合は
.Ar value
秒にセットされます。
.It Ar saver
(文字列)
.Ar NO
以外にセットすると、これが実際に使用する
スクリーンセーバ (ブランク, 蛇, デーモンなど) となります。
.It Ar moused_enable
(文字列)
.Ar YES
にセットすると、コンソール上でのカット/ペーストセレクション用に
.Xr moused 8
デーモンが起動されます。
.It Ar moused_type
(文字列) 利用したいマウスのプロトコルのタイプ。
.Ar moused_enable
.Ar YES
の場合、この変数は必ず設定しなければなりません。
多くの場合、
.Xr moused 8
デーモンは適切なマウスタイプを自動的に検出することができます。
デーモンにマウスを検出させるには、この変数を
.Ar auto
にセットします。
自動検出が失敗する場合、以下のリストから 1 つを選びます。
.Bd -literal
microsoft Microsoft マウス
intellimouse Microsoft IntelliMouse
mousesystems Mouse system 社製のマウス
mmseries MM シリーズのマウス
logitech Logitech 製のマウス
busmouse バスマウス
mouseman Logitech の MouseMan および TrackMan
glidepoint ALPS 製の GlidePoint
thinkingmouse Kensignton 製の ThinkingMouse
ps/2 PS/2 マウス
mmhittab MM の HitTablet
+x10mouseremote X10 MouseRemote
.Ed
お使いのマウスが上記のリストにない場合でも、
リスト中のいずれかと互換性があるかも知れません。
互換性に関する情報については
.Xr moused 8
のマニュアルページを参照してください。
.Pp
また、
この変数が有効であるときは、(Xサーバのような) 他の全てのマウスクライアントは
仮想マウスデバイス
.Pa /dev/sysmouse
を通してマウスにアクセスし、
それを sysmouse タイプのマウスとして構成すべきであると
いうことにも注意すべきです。これは、
.Xr moused 8
使用時は、全てのマウスデータがこの単一の標準フォーマットに変換されるためです。
クライアントプログラムが sysmouse タイプを
サポートしないなら次に望ましいタイプとして mousesystems を指定してください。
.It Ar moused_port
(文字列)
.Ar moused_enable
.Ar YES
の場合、これはマウスが接続されている実際のポートになります。
たとえば、COM1 シリアルマウスに対しては
.Pa /dev/cuaa0
、PS/2 マウスに対しては
.Pa /dev/psm0
、バスマウスに対しては
.Pa /dev/mse0
となります。
.It Ar moused_flags
(文字列)
.Ar moused_type
がセットされている場合、これらは
.Xr moused 8
デーモンに渡す追加のフラグとなります。
.It Ar cron_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr cron 8
デーモンを起動します。
.It Ar lpd_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr lpd 8
デーモンを起動します。
.It Ar lpd_flags
(文字列)
.Ar lpd_enable
.Ar YES
の場合、これらは
.Xr lpd 8
デーモンに渡すフラグとなります。
.It Ar sendmail_enable
(ブール値)
.Ar YES
にセットすると、システムブート時に
.Xr sendmail 8
デーモンを起動します。
.It Ar sendmail_flags
(文字列)
.Ar sendmail_enable
.Ar YES
の場合、これらは
.Xr sendmail 8
デーモンに渡すフラグとなります。
.It Ar savecore_enable
(ブール値)
.Ar YES
にセットすると、クラッシュ後システムが復旧するとき、デバッグ用にカーネル
のクラッシュダンプを保存します。クラッシュイメージは通常
.Pa /var/crash
ディレクトリに格納されます。
.It Ar dumpdev
(文字列)
.Ar NO
にセットしないと、カーネルクラッシュダンプ出力先を
.Em value
で指定したスワップデバイスに向けます。
.It Ar check_quotas
(ブール値)
.Xr quotacheck 8
コマンドによってユーザディスクのクォータチェックを有効にしたいなら、
.Ar YES
にセットします。
.It Ar accounting_enable
(ブール値)
.Xr accton 8
ファシリティでシステムアカウンティングを有効にしたいなら
.Ar YES
にセットします。
.It Ar ibcs2_enable
(ブール値)
システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にしたいなら
.Ar YES
にセットします。
.It Ar linux_enable
(ブール値)
システムブート時に Linux/ELF バイナリエミュレーションを有効にしたいなら
.Ar YES
にセットします。
.It Ar rand_irqs
(文字列) 乱数生成用に監視する IRQ のリストをセットします (
.Xr rndcontrol 8
のマニュアル参照)。
.It Ar clear_tmp_enable
(ブール値)
起動時に
.Pa /tmp
下を消去したいなら
.Ar YES
をセットします。
.It Ar ldconfig_paths
(文字列)
.Xr ldconfig 8
で使用する共有ライブラリのパスのリストをセットします。注意:
.Pa /usr/lib
は常に先頭に追加されるので、このリストに指定する必要はありません。
+.It Ar kern_securelevel_enable
+(ブール値)
+カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、
+.Ar YES
+にセットします。
+.It Ar kern_securelevel
+(整数)
+スタートアップ時にセットされるカーネルセキュリティレベルです。
+.Ar 値
+として許される範囲は -1 (コンパイル時のデフォルト) から 2 (最も安全) です。
+利用可能なセキュリティレベルとシステム操作への影響については、
+.Xr init 8
+を参照してください。
.Sh 関連項目
.Xr gdb 1 ,
.Xr info 1 ,
.Xr exports 5 ,
.Xr accton 8 ,
.Xr amd 8 ,
.Xr apm 8 ,
.Xr cron 8 ,
.Xr gated 8 ,
.Xr ifconfig 8 ,
.Xr inetd 8 ,
.Xr lpd 8 ,
.Xr moused 8 ,
.Xr mrouted 8 ,
.Xr named 8 ,
.Xr nfsd 8 ,
.Xr nfsiod 8 ,
.Xr ntpdate 8 ,
.Xr pcnfsd 8 ,
.Xr portmap 8 ,
.Xr quotacheck 8 ,
.Xr rc 8 ,
.Xr rndcontrol 8 ,
.Xr route 8 ,
.Xr routed 8 ,
.Xr rpc.lockd 8 ,
.Xr rpc.statd 8 ,
.Xr rwhod 8 ,
.Xr sendmail 8 ,
+.Xr sysctl 8 ,
.Xr syslogd 8 ,
.Xr swapon 8 ,
.Xr tickadj 8 ,
.Xr timed 8 ,
.Xr vnconfig 8 ,
.Xr xntpd 8 ,
.Xr xtend 8 ,
.Xr ypbind 8 ,
.Xr ypserv 8 ,
.Xr ypset 8
.Sh 歴史
.Nm
ファイルは
.Fx 2.2.2 で登場しました。
.Sh 作者
-Jordan K. Hubbard.
+.An Jordan K. Hubbard .
diff --git a/ja_JP.eucJP/man/man5/rcsfile.5 b/ja_JP.eucJP/man/man5/rcsfile.5
index 2f19c9f8e1..5a2a7d97c3 100644
--- a/ja_JP.eucJP/man/man5/rcsfile.5
+++ b/ja_JP.eucJP/man/man5/rcsfile.5
@@ -1,426 +1,426 @@
.\" jpman %Id: rcsfile.5,v 1.3 1998/06/17 07:53:51 kumano Stab %
.\" FreeBSD jpman project 訳語表
.\" WORD: phrase 句
.\" WORD: meta syntax メタ文法
.\" WORD: altanatives 選言
.\" WORD: trunk 幹
.\" WORD: branch 枝
.\" WORD: branch point 分岐点
.\" WORD: numebr (RCSのリビジョン番号1.1, 1.2.2.1等を意味する時は) 番号
.lf 1 ./rcsfile.5in
.\" Set p to 1 if your formatter can handle pic output.
.if t .nr p 1
.de Id
.ds Rv \\$3
.ds Dt \\$4
..
-.Id %Id: rcsfile.5,v 1.2 1995/10/28 21:50:16 peter Exp %
+.Id %Id: rcsfile.5,v 1.4 1997/02/22 15:47:55 peter Exp %
.ds r \s-1RCS\s0
.if n .ds - \%--
.if t .ds - \(em
.TH RCSFILE 5 \*(Dt GNU
.SH 名称
rcsfile \- RCS ファイルの書式
.SH 解説
\*r ファイルの内容は以下の文法に基づき記述されます。
.PP
テキストはフリーフォーマットであり、
文字列中のスペース、バックスペース、
タブ、改行、垂直タブ、改頁、復帰 (まとめて
.IR "空白"
と呼びます) は意味を持ちません。
例外として、id, num, sym 内では空白があってはならず、
\*r ファイルは改行で終わらなければなりません。
.PP
文字列は
.BR @
で括られます。文字列が
.BR @
自身を含む場合、2 重化されなければならず、それ以外は任意の
バイナリデータを含むことができます。
.PP
以下、簡便のためにメタ文法を用います。
`|' (縦棒) は選言を分けます。
`{' と `}' は省略可能な句を括ります。
`{' と `}*' は 0 回以上繰り返される句を括ります。
`{' と `}+' は 1 回以上繰り返される句を括ります。
終端記号は
.BR 太字
で、非終端記号は
.IR 斜体
で表記します。
.LP
.nr w \w'\f3deltatext\fP '
.nr y \w'\f3newphrase\fP '
.if \nw<\ny .nr w \ny
.nr x \w'\f3branches\fP'
.nr y \w'{ \f3comment\fP'
.if \nx<\ny .nr x \ny
.nr y \w'\f3{ branch\fP'
.if \nx<\ny .nr x \ny
.ta \nwu +\w'::= 'u +\nxu+\w' 'u
.fc #
.nf
\f2rcstext\fP ::= \f2admin\fP {\f2delta\fP}* \f2desc\fP {\f2deltatext\fP}*
.LP
\f2admin\fP ::= \f3head\fP {\f2num\fP}\f3;\fP
{ \f3branch\fP {\f2num\fP}\f3;\fP }
\f3access\fP {\f2id\fP}*\f3;\fP
\f3symbols\fP {\f2sym\fP \f3:\fP \f2num\fP}*\f3;\fP
\f3locks\fP {\f2id\fP \f3:\fP \f2num\fP}*\f3;\fP {\f3strict ;\fP}
{ \f3comment\fP {\f2string\fP}\f3;\fP }
{ \f3expand\fP {\f2string\fP}\f3;\fP }
{ \f2newphrase\fP }*
.LP
\f2delta\fP ::= \f2num\fP
\f3date\fP \f2num\fP\f3;\fP
\f3author\fP \f2id\fP\f3;\fP
\f3state\fP {\f2id\fP}\f3;\fP
\f3branches\fP {\f2num\fP}*\f3;\fP
\f3next\fP {\f2num\fP}\f3;\fP
{ \f2newphrase\fP }*
.LP
\f2desc\fP ::= \f3desc\fP \f2string\fP
.LP
\f2deltatext\fP ::= \f2num\fP
\f3log\fP \f2string\fP
{ \f2newphrase\fP }*
\f3text\fP \f2string\fP
.LP
\f2num\fP ::= {\f2digit\fP | \f3.\fP}+
.LP
\f2digit\fP ::= \f30\fP | \f31\fP | \f32\fP | \f33\fP | \f34\fP | \f35\fP | \f36\fP | \f37\fP | \f38\fP | \f39\fP
.LP
\f2id\fP ::= {\f2num\fP} \f2idchar\fP {\f2idchar\fP | \f2num\fP}*
.LP
\f2sym\fP ::= {\f2digit\fP}* \f2idchar\fP {\f2idchar\fP | \f2digit\fP}*
.LP
\f2idchar\fP ::= \f2special\fP を除く任意の可視文字 (visible graphic character)
.LP
\f2special\fP ::= \f3$\fP | \f3,\fP | \f3.\fP | \f3:\fP | \f3;\fP | \f3@\fP
.LP
\f2string\fP ::= \f3@\fP{任意の文字、ただし \f3@\fP は 2 重化される}*\f3@\fP
.LP
\f2newphrase\fP ::= \f2id\fP \f2word\fP* \f3;\fP
.LP
\f2word\fP ::= \f2id\fP | \f2num\fP | \f2string\fP | \f3:\fP
.fi
.PP
識別子は大文字小文字を区別します。
キーワードは小文字のみです。
キーワードと識別子の集合は重複可能です。
ほとんどの環境では、\*r は \s-1ISO\s0 8859/1 エンコーディングを用います。
このコードでは、可視文字のコードが 041\-176 と 240\-377 で、
空白文字のコードが 010\-015 と 040 です。
.PP
.B date
キーワードの後に現れる日時は
\f2Y\fP\f3.\fP\f2mm\fP\f3.\fP\f2dd\fP\f3.\fP\f2hh\fP\f3.\fP\f2mm\fP\f3.\fP\f2ss\fP
という書式で、それぞれ
.I Y
が年を、
.I mm
が月 (01\-12) を、
.I dd
が日 (01\-31) を、
.I hh
が時 (00\-23) を、
.I mm
が分 (00\-59) を、
.I ss
が秒 (00\-60) を表します。
.I Y
は 1900 年から 1999 年までは年の最後の 2 桁で表し、それ以降は
年のすべての桁で表します。
日付はグレゴリオ暦を用い、時刻は UTC (世界標準時) で表します。
.PP
文法中の
.I newphrase
は \*r ファイル書式の今後の拡張のために予約されています。
すでに使われているキーワードでは
.I newphrase
は始まりません。
.PP
複数の
.I delta
ノードが集まって、木を形成します。
単一の組からなる番号のノード (例えば 2.3, 2.1, 1.3 など) は
すべて幹 (trunk) であり、降順で
.B next
フィールドを通してリンクされています。
.I admin
ノードの
.B head
フィールドは、このシーケンスの先頭 (head; すなわち最高位の組) を示します。
admin ノードの
.B branch
ノードは、
ほとんどの \*r 操作が利用するデフォルトの枝 (もしくはリビジョン) を示します。
もしこれが存在しなければ、幹の最高位の枝が用いられます。
.PP
.RI 2 n
.RI ( n \(>=2)
のフィールドからなる番号を持つ全
.I delta
ノード (例えば 3.1.1.1, 2.1.2.2 など) は、次のようにリンクされます。
すなわち、先頭の
.RI 2 n \-1
個のフィールドの番号が等しい全ノードは、昇順で
.B next
フィールドを通してリンクされます。
シーケンス中の delta ノードの番号の先頭
.RI 2 n \-2
個分と等しい番号を持つ
.I delta
ノードは、そのシーケンスの分岐点と呼ばれます。
ノードの
.B branches
フィールドは、
そのノードが分岐点となっている全シーケンスに対し、
最初のノード番号のリストを保持しています。
このリストは昇順で並べられています。
.LP
以下の図は \*r ファイルの構成の例を示しています。
.if !\np \{\
.nf
.vs 12
.ne 36
.cs 1 20
.eo
Head
|
|
v / \
--------- / \
/ \ / \ | | / \ / \
/ \ / \ | 2.1 | / \ / \
/ \ / \ | | / \ / \
/1.2.1.3\ /1.3.1.1\ | | /1.2.2.2\ /1.2.2.1.1.1\
--------- --------- --------- --------- -------------
^ ^ | ^ ^
| | | | |
| | v | |
/ \ | --------- / \ |
/ \ | \ 1.3 / / \ |
/ \ ---------\ / / \-----------
/1.2.1.1\ \ / /1.2.2.1\
--------- \ / ---------
^ | ^
| | |
| v |
| --------- |
| \ 1.2 / |
----------------------\ /---------
\ /
\ /
|
|
v
---------
\ 1.1 /
\ /
\ /
\ /
.ec
.cs 1
.vs
.fi
.\}
.if \np \{\
.lf 232
.PS 4.250i 3.812i
.\" -2.0625 -4.25 1.75 0
.\" 0.000i 4.250i 3.812i 0.000i
.nr 00 \n(.u
.nf
.nr 0x 1
\h'3.812i'
.sp -1
.lf 242
\h'2.062i-(\w'Head'u/2u)'\v'0.125i-(0v/2u)+0v+0.22m'Head
.sp -1
\h'2.062i'\v'0.250i'\D'l0.000i 0.500i'
.sp -1
\h'2.087i'\v'0.650i'\D'l-0.025i 0.100i'
.sp -1
\h'2.062i'\v'0.750i'\D'l-0.025i -0.100i'
.sp -1
\h'1.688i'\v'1.250i'\D'l0.750i 0.000i'
.sp -1
\h'2.438i'\v'1.250i'\D'l0.000i -0.500i'
.sp -1
\h'2.438i'\v'0.750i'\D'l-0.750i 0.000i'
.sp -1
\h'1.688i'\v'0.750i'\D'l0.000i 0.500i'
.sp -1
.lf 244
\h'2.062i-(\w'2.1'u/2u)'\v'1.000i-(0v/2u)+0v+0.22m'2.1
.sp -1
\h'2.062i'\v'1.250i'\D'l0.000i 0.500i'
.sp -1
\h'2.087i'\v'1.650i'\D'l-0.025i 0.100i'
.sp -1
\h'2.062i'\v'1.750i'\D'l-0.025i -0.100i'
.sp -1
.lf 246
\h'2.062i-(\w'1.3'u/2u)'\v'2.000i-(1v/2u)+0v+0.22m'1.3
.sp -1
\h'2.062i'\v'2.250i'\D'l-0.375i -0.500i'
.sp -1
\h'1.688i'\v'1.750i'\D'l0.750i 0.000i'
.sp -1
\h'2.438i'\v'1.750i'\D'l-0.375i 0.500i'
.sp -1
\h'1.875i'\v'2.000i'\D'~-0.500i 0.000i 0.000i -0.500i'
.sp -1
\h'1.350i'\v'1.600i'\D'l0.025i -0.100i'
.sp -1
\h'1.375i'\v'1.500i'\D'l0.025i 0.100i'
.sp -1
.lf 249
\h'1.375i-(\w'1.3.1.1'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.3.1.1
.sp -1
\h'1.375i'\v'1.000i'\D'l-0.375i 0.500i'
.sp -1
\h'1.000i'\v'1.500i'\D'l0.750i 0.000i'
.sp -1
\h'1.750i'\v'1.500i'\D'l-0.375i -0.500i'
.sp -1
\h'2.062i'\v'2.250i'\D'l0.000i 0.500i'
.sp -1
\h'2.087i'\v'2.650i'\D'l-0.025i 0.100i'
.sp -1
\h'2.062i'\v'2.750i'\D'l-0.025i -0.100i'
.sp -1
.lf 252
\h'2.062i-(\w'1.2'u/2u)'\v'3.000i-(1v/2u)+0v+0.22m'1.2
.sp -1
\h'2.062i'\v'3.250i'\D'l-0.375i -0.500i'
.sp -1
\h'1.688i'\v'2.750i'\D'l0.750i 0.000i'
.sp -1
\h'2.438i'\v'2.750i'\D'l-0.375i 0.500i'
.sp -1
\h'1.875i'\v'3.000i'\D'~-0.500i 0.000i -0.500i 0.000i -0.500i 0.000i 0.000i -0.500i'
.sp -1
\h'0.350i'\v'2.600i'\D'l0.025i -0.100i'
.sp -1
\h'0.375i'\v'2.500i'\D'l0.025i 0.100i'
.sp -1
.lf 255
\h'0.375i-(\w'1.2.1.1'u/2u)'\v'2.250i-(1v/2u)+1v+0.22m'1.2.1.1
.sp -1
\h'0.375i'\v'2.000i'\D'l-0.375i 0.500i'
.sp -1
\h'0.000i'\v'2.500i'\D'l0.750i 0.000i'
.sp -1
\h'0.750i'\v'2.500i'\D'l-0.375i -0.500i'
.sp -1
\h'0.375i'\v'2.000i'\D'l0.000i -0.500i'
.sp -1
\h'0.350i'\v'1.600i'\D'l0.025i -0.100i'
.sp -1
\h'0.375i'\v'1.500i'\D'l0.025i 0.100i'
.sp -1
.lf 257
\h'0.375i-(\w'1.2.1.3'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.2.1.3
.sp -1
\h'0.375i'\v'1.000i'\D'l-0.375i 0.500i'
.sp -1
\h'0.000i'\v'1.500i'\D'l0.750i 0.000i'
.sp -1
\h'0.750i'\v'1.500i'\D'l-0.375i -0.500i'
.sp -1
\h'2.250i'\v'3.000i'\D'~0.500i 0.000i 0.000i -0.500i'
.sp -1
\h'2.725i'\v'2.600i'\D'l0.025i -0.100i'
.sp -1
\h'2.750i'\v'2.500i'\D'l0.025i 0.100i'
.sp -1
.lf 261
\h'2.750i-(\w'1.2.2.1'u/2u)'\v'2.250i-(1v/2u)+1v+0.22m'1.2.2.1
.sp -1
\h'2.750i'\v'2.000i'\D'l-0.375i 0.500i'
.sp -1
\h'2.375i'\v'2.500i'\D'l0.750i 0.000i'
.sp -1
\h'3.125i'\v'2.500i'\D'l-0.375i -0.500i'
.sp -1
\h'2.938i'\v'2.250i'\D'~0.500i 0.000i 0.000i -0.500i 0.000i -0.500i'
.sp -1
\h'3.413i'\v'1.350i'\D'l0.025i -0.100i'
.sp -1
\h'3.438i'\v'1.250i'\D'l0.025i 0.100i'
.sp -1
.lf 264
\h'3.438i-(\w'\s-21.2.2.1.1.1\s0'u/2u)'\v'1.000i-(1v/2u)+1v+0.22m'\s-21.2.2.1.1.1\s0
.sp -1
\h'3.438i'\v'0.750i'\D'l-0.375i 0.500i'
.sp -1
\h'3.062i'\v'1.250i'\D'l0.750i 0.000i'
.sp -1
\h'3.812i'\v'1.250i'\D'l-0.375i -0.500i'
.sp -1
\h'2.750i'\v'2.000i'\D'l0.000i -0.500i'
.sp -1
\h'2.725i'\v'1.600i'\D'l0.025i -0.100i'
.sp -1
\h'2.750i'\v'1.500i'\D'l0.025i 0.100i'
.sp -1
.lf 267
\h'2.750i-(\w'1.2.2.2'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.2.2.2
.sp -1
\h'2.750i'\v'1.000i'\D'l-0.375i 0.500i'
.sp -1
\h'2.375i'\v'1.500i'\D'l0.750i 0.000i'
.sp -1
\h'3.125i'\v'1.500i'\D'l-0.375i -0.500i'
.sp -1
\h'2.062i'\v'3.250i'\D'l0.000i 0.500i'
.sp -1
\h'2.087i'\v'3.650i'\D'l-0.025i 0.100i'
.sp -1
\h'2.062i'\v'3.750i'\D'l-0.025i -0.100i'
.sp -1
.lf 270
\h'2.062i-(\w'1.1'u/2u)'\v'4.000i-(1v/2u)+0v+0.22m'1.1
.sp -1
\h'2.062i'\v'4.250i'\D'l-0.375i -0.500i'
.sp -1
\h'1.688i'\v'3.750i'\D'l0.750i 0.000i'
.sp -1
\h'2.438i'\v'3.750i'\D'l-0.375i 0.500i'
.sp -1
.sp 4.250i+1
.if \n(00 .fi
.br
.nr 0x 0
.lf 271
.PE
.lf 272
.\}
.PP
.SH 作者
.de VL
\\$2
..
Author: Walter F. Tichy,
Purdue University, West Lafayette, IN, 47907.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
.SH 関連項目
rcsintro(1), ci(1), co(1), ident(1), rcs(1), rcsclean(1), rcsdiff(1),
rcsmerge(1), rlog(1)
.br
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
diff --git a/ja_JP.eucJP/man/man5/remote.5 b/ja_JP.eucJP/man/man5/remote.5
index e01f533a7c..87f394e83e 100644
--- a/ja_JP.eucJP/man/man5/remote.5
+++ b/ja_JP.eucJP/man/man5/remote.5
@@ -1,193 +1,193 @@
.\" 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.
.\"
.\" @(#)remote.5 8.1 (Berkeley) 6/5/93
-.\" %Id: remote.5,v 1.2.2.2 1998/06/28 21:34:27 hoek Exp %
+.\" %Id: remote.5,v 1.4 1998/06/28 21:33:42 hoek Exp %
.\" jpman %Id: remote.5,v 1.3 1998/07/02 14:12:58 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt REMOTE 5
.Os BSD 4.2
.Sh 名称
.Nm remote
.Nd リモートホスト記述ファイル
.Sh 解説
.Xr tip 1
によって知られるシステムとその属性は、
.Xr termcap 5
ファイルのような構造の
.Tn ASCII
ファイルに記録されます。
ファイルの各行は、1 つの
.Em システム
についての記述を提供します。
フィールドはコロン (``:'') で分けられています。
\e 文字の直後に改行がある行末は、次の行へ継続されます。
.Pp
最初のエントリはホストシステムの (複数の) 名称です。
システムの名称が 1 つ以上ある場合、名称は縦棒で区切られます。
システムの名称の後に記述フィールドが続きます。
`=' 記号が続くフィールド名は、文字列型を示します。
`#' 記号が続くフィールド名は、数値を示します。
.Pp
``tip*'' と ``cu*'' という名前が付いたエントリは、
.Xr tip 1
や、以下で述べるように
.Nm tip
に対するインタフェース
.Xr cu 1
でデフォルトのエントリとして使われます。
.Nm tip
が電話番号だけをつけて呼び出された時、 ``tip300'' の形式のエントリを探
します。 ここで、 300 は接続が張られたボーレートです。
.Nm cu
インタフェースが使われた時は、 ``cu300'' という形式のエントリが使わ
れます。
.Sh ケーパビリティ
ケーパビリティは、文字列 (str) ・数値 (num) ・ブーリアンフラグ (bool)
のいずれかです。文字列ケーパビリティは
.Em capability Ns Ar = Ns Em value
のように指定されます。例えば、 ``dv=/dev/harris'' のように指定します。
数値ケーパビリティは
.Em capability Ns Ar # Ns Em value
のように指定されます。例えば、 ``xa#99'' のように指定します。
ブーリアンケーパビリティは単にケーパビリティを記述するだけで
指定されます。
.Bl -tag -width indent
.It Cm \&at
(str)
自動呼び出しユニットの形式です。
.It Cm \&br
(num)
リモートホストと接続を確立するために使われるボーレート。
これは、10 進の数値です。デフォルトのボーレートは 300 ボーです。
.It Cm \&cm
(str)
リモートホストに送られる初期接続メッセージです。
例えば、ホストにポート選択器を通して到達する場合、
ここにはホストに切替えるために必要とされる適切なシーケンスが設定されて
いるべきです。
.It Cm \&cu
(str)
電話の呼び出しが行われる場合の呼び出しユニットです。
デフォルトは、 `dv' フィールドと同じです。
.It Cm \&di
(str)
ユーザによって切断が要求されている時にホストに送られる
切断メッセージです。
.It Cm \&du
(bool)
このホストはダイアルアップ線上にあることを示します。
.It Cm \&dv
(str)
接続を確立するためにオープンする (複数の)
.Tn UNIX
デバイスです。このファイルが端末線を参照している場合、
.Xr tip 1
は、1 度に 1 ユーザだけがポートにアクセスすることを保証するために、
デバイスを排他的にオープンします。
.It Cm \&el
(str)
行末 (end-of-line) を示す文字です。
デフォルトでは
.Dv NULL
文字です。`el' 中の 1 文字もしくは復帰文字 (carriage return) の後の
`~' エスケープは
.Nm tip
だけで認識されます。
.It Cm \&fs
(str)
転送のためのフレームサイズです。
デフォルトフレームサイズは
.Dv BUFSIZ
と同じです。
.It Cm \&hd
(bool)
ホストが半 2 重通信を使い、ローカルエコーが行われることを示します。
.It Cm \&ie
(str)
入力のファイル終了 (end-of-file) マークです。
デフォルトは
.Dv NULL
です。
.It Cm \&oe
(str)
出力のファイル終了 (end-of-file) 文字列です。
デフォルトは
.Dv NULL
です。
.Nm tip
がファイルを転送している時、この文字列はファイル終了時に送られます。
.It Cm \&pa
(str)
データをホストに送っている時に使われるパリティの形式です。
これは ``even'', ``odd'', ``none'', ``zero'' (いつでも 8 ビット目を 0
に設定する), ``one'' (いつでも 8 ビット目を 1 に設定する)のいずれかです。
デフォルトではイーブンパリティです。
.It Cm \&pn
(str)
ホストに対する (複数の) 電話番号です。
電話番号フィールドが @ 符号を含んでいる場合、
.Nm tip
は電話番号の一覧を
.Pa /etc/phones
ファイルから検索します (
.Xr phones 5
参照)。
.It Cm \&tc
(str)
ケーパビリティのリストが、名前で与えられた記述に継続されることを示し
ます。これは主に共通のケーパビリティ情報を共有するために使われます。
.El
.Pp
ここで、ケーパビリティの継続機能の利用をしめす短い例をお見せしましょう:
.Bd -literal
UNIX-1200:\e
:dv=/dev/cau0:el=^D^U^C^S^Q^O@:du:at=ventel:ie=#$%:oe=^D:br#1200:
arpavax|ax:\e
:pn=7654321%:tc=UNIX-1200
.Ed
.Sh 関連ファイル
.Bl -tag -width /etc/remote -compact
.It Pa /etc/remote
.Pa /etc
に置かれた
.Nm リモート
ホスト記述ファイル。
.El
.Sh 関連項目
.Xr tip 1 ,
.Xr phones 5
.Sh 歴史
.Nm
ファイル書式は
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/resolver.5 b/ja_JP.eucJP/man/man5/resolver.5
index 7449f62af3..9dffe39f7d 100644
--- a/ja_JP.eucJP/man/man5/resolver.5
+++ b/ja_JP.eucJP/man/man5/resolver.5
@@ -1,137 +1,188 @@
.\" Copyright (c) 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.
.\"
.\" @(#)resolver.5 8.1 (Berkeley) 6/5/93
+.\" %Id: resolver.5,v 1.5 1997/09/01 01:19:23 brian Exp %
.\" jpman %Id: resolver.5,v 1.3 1998/07/22 02:40:21 issei Stab %
-.\" %Id: resolver.5,v 1.2.2.1 1997/03/07 04:18:10 mpp Exp %
.\"
-.Dd June 5, 1993
+.Dd November 11, 1993
.Dt RESOLVER 5
.Os BSD 4
.Sh 名称
.Nm resolver
.Nd リゾルバ設定ファイル
.Sh 書式
.Nm resolv.conf
.Sh 解説
.Xr resolver 3
はインターネットドメインネームシステムへのアクセスを提供する
C ライブラリのルーチン群です。
リゾルバ設定ファイルは、はじめてリゾルバルーチンがプロセスによって呼び出
されたときに読み込まれる情報を含んでいます。
ファイルは人に可読なように設計されており、様々な種類のリゾルバ情報を
提供する、値を伴うキーワードのリストを含んでいます。
.Pp
普通に構成されたシステムでは、このファイルは必要ではありません。
問い合わせされる唯一のネームサーバはローカルマシン上にあり、ホスト名
からドメイン名が決定され、ドメインの検索パスがそのドメイン名から作成
されます。
.Pp
様々な設定オプションは以下の通りです。
.Bl -tag -width nameserver
.It Sy nameserver
リゾルバが問い合わせをするネームサーバのインターネットアドレス
(ドット表記)です。
キーワード毎に 1 つづつ、計
.Dv MAXNS
(現状では 3)台までのネームサーバが記述できます。
複数のサーバが記述されている場合、リゾルバライブラリは記述された順に
問い合わせを出します。
.Sy nameserver
エントリが記述されていない場合、デフォルトではローカルマシン上のネーム
サーバを使用します
(ここで使われるアルゴリズムは以下のようになります。まず、あるネーム
サーバに問い合わせを試みます。この問い合わせがタイムアウトになれば、
次のネームサーバに問い合わせを試み、これをネームサーバがなくなるまで
続けます。応答がない場合、この一連の問い合わせの試みをリトライ最大回
数に達するまで繰り返します)。
.It Sy domain
ローカルドメイン名。
そのドメイン内での名前の問い合わせのほとんどが、ローカルドメインにおける
短い名前を使用することができます。
.Sy domain
エントリが記述されていない場合、
.Xr gethostname 3
で得たローカルホスト名からドメインを決定します。
ドメイン部は最初の `.' 以降の全てとなります。
ホスト名がドメイン部を含んでいない場合、最終的にはルートドメインが使用されます。
.It Sy search
ホスト名調査のための検索リスト。
通常、検索リストはローカルドメイン名から決定されます。
-デフォルトでは、ローカルドメイン名から始まり、次に少なくとも 2 つの構成要素を
-持つ親ドメインを検索します。
+デフォルトでは、ローカルドメイン名のみを含みます。
検索リストは、
.Sy search
キーワードの後にスペースまたはタブで区切られたドメイン検索パス名を羅列することで
変更できます。
ほとんどのリゾルバの問い合わせは、検索パスの各構成要素を一致するエントリが
見つかるまでまで順に試します。
記述されたドメインのサーバがローカルではない場合、この処理は低速で多くの
ネットワークトラフィックを発生させる可能性があることと、それらのいずれかの
ドメインに関して、使用可能なサーバが 1 つも存在しない場合には問い合わせが
タイムアウトすることに注意する必要があります。
.Pp
現在のところ、検索リストは 6 ドメイン、計 256 文字に制限されます。
+.It Sy sortlist
+sortlist を用いて gethostbyname により返されるアドレスをソートできます。
+sortlist は IP アドレスとネットマスクの組で指定されます。
+ネットマスクはオプションであり、
+デフォルトのネットマスクはネットに対する自然なネットマスク (natural netmask)
+です。
+IP アドレスとオプションのネットマスクの組はスラッシュで区切ります。
+10 組まで指定可能です。
+.Pp
+例 sortlist 130.155.160.0/255.255.240.0 130.155.0.0
+.It Sy options
+options によりリゾルバの内部変数を修正できます。
+文法は
+.Pp
+\fBoptions\fP \fIoption\fP \fI...\fP
+.Pp
+であり、
+.Sy option
+は以下のいずれかです:
+.Pp
+.Bl -tag -width no_tld_query
+.It Sy debug
+_res.options の
+.Dv RES_DEBUG
+を設定します。
+.It Sy ndots:n
+.Em 最初の絶対問い合わせ
+が行われる前に、
+.Fn res_query
+(
+.Xr resolver 3
+参照) に与えられる名前に含まれるべきドット数の閾値を設定します。
+.Em n
+のデフォルトは
+.Dq 1
+です。これは、名前中にドットがあれば、
+.Em search list
+要素が追加される前に、
+その名前がまず絶対名として試されることを意味します。
+.It Sy no_tld_query
+リゾルバにトップレベルのドメイン名、すなわちドットを持たない名前を
+解決しないようにさせます。
+このオプションを使用しても、リゾルバが与えられた名前を使用して標準の
+.Sy domain
+と
+.Sy search
+のルールに従うことを防ぐことはできません。
+.El
+.Pp
+options は
+.Dv RES_OPTIONS
+環境変数を使用して、空白またはタブ区切りのリストとして指定できます。
.El
.Pp
.Sy domain
.Sy search
キーワードは排他的です。
これらのキーワードが 1 つ以上記述されている場合、
最後のキーワードが有効になります。
.Pp
キーワードと値は同一行に存在する必要があり、キーワード
(例えば
.Sy nameserver )
は行の先頭にある必要があります。
値はキーワードに続いて空白で区切って記述します。
.Sh 関連ファイル
.Bl -tag -width /etc/resolv.conf -compact
.It Pa /etc/resolv.conf
.Nm resolv.conf
.Pa /etc
に存在します。
.El
.Sh 関連項目
.Xr gethostbyname 3 ,
.Xr resolver 3 ,
.Xr hostname 7 ,
.Xr named 8
.Rs
.%T "Name Server Operations Guide for BIND"
.Re
.Sh 歴史
.Nm resolv.conf
ファイルフォーマットは
.Bx 4.3
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/rpc.5 b/ja_JP.eucJP/man/man5/rpc.5
index 07904b0358..9e7dab01b0 100644
--- a/ja_JP.eucJP/man/man5/rpc.5
+++ b/ja_JP.eucJP/man/man5/rpc.5
@@ -1,33 +1,33 @@
.\" @(#)rpc.5 2.2 88/08/03 4.0 RPCSRC; from 1.4 87/11/27 SMI;
.\" jpman %Id: rpc.5,v 1.3 1998/06/25 08:44:57 jsakai Stab %
-.Dd "September 26, 1985"
+.Dd September 26, 1985
.Dt RPC 5
.Sh 名称
.Nm rpc
.Nd rpc プログラム番号データベース
.Sh 書式
/etc/rpc
.Sh 解説
.Pa /etc/rpc
ファイルには、rpc プログラム番号の代わりに使用可能な、
ユーザが可読な名前が記述されています。
各行は以下の情報から成ります。
.Pp
.Bl -bullet -compact
.It
rpc プログラムのサーバ名
.It
rpc プログラム番号
.It
別名
.El
.Pp
各項目は任意個の空白文字もしくはタブ文字で分けられます。
``#'' はコメントの開始を示します。
行末までの文字はファイルを検索するルーチンには解釈されません。
.Sh 関連ファイル
.Bl -tag -compact -width /etc/rpc
.Pa /etc/rpc
.El
.Sh "関連項目"
.Xr getrpcent 3
diff --git a/ja_JP.eucJP/man/man5/services.5 b/ja_JP.eucJP/man/man5/services.5
index 17b2ca32b7..092dec96f4 100644
--- a/ja_JP.eucJP/man/man5/services.5
+++ b/ja_JP.eucJP/man/man5/services.5
@@ -1,88 +1,88 @@
.\" 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.
.\"
.\" @(#)services.5 8.1 (Berkeley) 6/5/93
+.\" %Id: services.5,v 1.4 1997/03/07 03:28:06 jmg Exp %
.\" jpman %Id: services.5,v 1.3 1998/06/17 07:53:27 kumano Stab %
-.\" %Id: services.5,v 1.3.2.1 1997/03/07 04:18:11 mpp Exp %
.\"
.Dd June 5, 1993
.Dt SERVICES 5
.Os BSD 4.2
.Sh 名称
.Nm services
.Nd サービス名のデータベース
.Sh 解説
.Nm services
ファイルには
.Tn DARPA
インターネットで利用可能な既知のサービスの情報が格納されます。
各サービス毎に、以下の情報を表す 1 行が存在します。
.Bd -unfilled -offset indent
公式なサービス名
ポート番号
プロトコル名
別名
.Ed
.Pp
項目は任意個の空白文字やタブ文字で分けられます。
ポート番号およびプロトコル名は単一の
.Em 項目
とみなされ、
``/'' を 1 つ使用してポートとプロトコルを分けます (例 ``512/tcp'')。
``#'' はコメント開始を表し、
行末までの文字はファイルを検索するルーチンに解釈されません。
.Pp
サービス名は、フィールド区切り文字・改行文字・コメント文字以外の、
任意の表示可能文字からなります。
.Sh NIS との相互作用
NIS の
.Pa services.byname
マップへのアクセスを有効にするには、単一の ``+'' のみからなる行を
.Pa /etc/services
ファイルに追加します。
こうすると、NIS のサービスマップの内容が ``+'' のある位置に挿入されます。
.Sh 関連ファイル
.Bl -tag -width /etc/services -compact
.It Pa /etc/services
.Nm services
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr getservent 3
.Sh バグ
静的ファイルの代わりに、ネームサーバを使用すべきです。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
に登場しました。
diff --git a/ja_JP.eucJP/man/man5/shells.5 b/ja_JP.eucJP/man/man5/shells.5
index 5bbcbc97be..43b0939a06 100644
--- a/ja_JP.eucJP/man/man5/shells.5
+++ b/ja_JP.eucJP/man/man5/shells.5
@@ -1,64 +1,64 @@
.\" Copyright (c) 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.
.\"
.\" @(#)shells.5 8.1 (Berkeley) 6/5/93
+.\" %Id: shells.5,v 1.2 1997/03/07 03:28:08 jmg Exp %
.\" jpman %Id: shells.5,v 1.3 1998/06/25 08:44:02 jsakai Stab %
-.\" %Id: shells.5,v 1.1.1.1.8.1 1997/03/07 04:18:11 mpp Exp %
.\"
.Dd June 5, 1993
.Dt SHELLS 5
.Os BSD 4.2
.Sh 名称
.Nm shells
.Nd シェルデータベース
.Sh 解説
.Nm shells
ファイルはシステム上のシェルのリストを格納します。
各シェルごとに 1 行ずつ、ルートからの相対でシェルのパスを記述します。
.Pp
ハッシュマーク (``#'') はコメントの開始を意味します。
それ以降行末までの文字列はファイルを検索するルーチンには解釈されません。
空行もまた無視されます。
.Sh 関連ファイル
.Bl -tag -width /etc/shells -compact
.It Pa /etc/shells
.Nm shells
ファイルは
.Pa /etc
にあります。
.El
.Sh 関連項目
.Xr getusershell 3
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.3 tahoe
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/stab.5 b/ja_JP.eucJP/man/man5/stab.5
index 76b273ea70..55a8ec9c19 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
-.\" %Id: stab.5,v 1.2.2.1 1997/03/07 04:18:12 mpp Exp %
+.\" %Id: stab.5,v 1.3 1997/03/07 03:28:08 jmg Exp %
.\" jpman %Id: stab.5,v 1.3 1998/07/21 23:07:45 jsakai Stab %
.\" WORD: symbol table シンボルテーブル
.\" WORD: directive ディレクティブ(命令、指令の類)
.\"
.Dd June 5, 1993
.Dt STAB 5
.Os BSD 4
.Sh 名称
.Nm stab
.Nd シンボルテーブルの型
.Sh 書式
.Fd #include <stab.h>
.Sh 解説
.Aq Pa stab.h
ファイルは
a.out ファイルで使われる、シンボルテーブルのいくつかの
.Fa n_type
フィールド値の定義します。
これらは、恒久的なシンボル形式であり
(つまり、ローカルなラベルなどではない)、古いデバッガである
.Em sdb
や Berkeley パスカルコンパイラ
.Xr pc 1
で使われます。
.\" (訳注) BerkeleyパスカルコンパイラはFreeBSDディストリビューション
.\" に含まれない。
.\" 1998/05/05 Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
シンボルテーブルエントリは
.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
内で定義されている以下のマスクに基づきます。
これらのセグメントビットを設定しないようにすることで、シンボルをどの
セグメントにも属さないようにすることができます。
.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 のいくつかのビットが
* セットされています。これらは、<stab.h> 内に記述があります。
*/
#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 バグ
.Pp
もっと基本的な形式が必要でしょう。
.Sh 歴史
.Nm stab
ファイルは
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/syslog.conf.5 b/ja_JP.eucJP/man/man5/syslog.conf.5
index a4ef1a8edf..3ae1ed0760 100644
--- a/ja_JP.eucJP/man/man5/syslog.conf.5
+++ b/ja_JP.eucJP/man/man5/syslog.conf.5
@@ -1,358 +1,358 @@
.\" 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 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: @(#)syslog.conf.5 8.1 (Berkeley) 6/9/93
-.\" %Id: syslog.conf.5,v 1.3.2.7 1998/08/06 01:43:46 jkoshy Exp %
+.\" @(#)syslog.conf.5 8.1 (Berkeley) 6/9/93
+.\" %Id: syslog.conf.5,v 1.11 1998/07/22 06:15:16 phk Exp %
.\"
.\" jpman %Id: syslog.conf.5,v 1.3 1998/07/16 01:34:25 yohta Stab %
.\"
.Dd June 9, 1993
.Dt SYSLOG.CONF 5
.Os
.Sh 名称
.Nm syslog.conf
.Nd
.Xr syslogd 8
設定ファイル
.Sh 解説
.Nm
ファイルは
.Xr syslogd 8
プログラムの設定ファイルです。
このファイルは
.Em program
指定によって分けられた行ブロックから構成されています。
それぞれの行は 2つのフィールドを含みます。
その行が適用されるメッセージのタイプと優先度を指定する
.Em selector
フィールドと、
.Xr syslogd
が選んだ基準とマッチしたマッチしたメッセージを受けとった場合の動作を指定する
.Em action
フィールドです。
.Em selector
フィールドと
.Em action
フィールドは 1 つ以上のタブ文字で区切られています。
.Pp
.Em selector
機能は、
.Em facility
とピリオド
.Pq Dq \&.
とオプションの比較フラグ
.Pq Bq <=>
そして
.Em level
で符合化され、間に空白は含みません。
.Em facility
.Em level
の双方とも、大文字小文字の違いはありません。
.Pp
.Em facility
はシステムが発するメッセージの一部を表し、次にあげるキーワード群の
1 つで表されます : auth, authpriv, cron, daemon, ftp, kern, lpr, mail,
mark, news, ntp, syslog, user, uucp と local0 から local7。
これらのキーワード(markを除く)は
.Xr openlog 3
.Xr syslog 3
ライブラリルーチンで指定される
.Dq Dv LOG_
で始まる値と一致します。
.Em 比較フラグ
を使用して、何を記録するのかを正確に指定できます。
比較フラグのデフォルト組は
.Dq =>
(またはあなたが好むのなら
.Do >=
.Dc ) であり、
指定した
.Em facility
リストからの
.Em level
以上のレベルのメッセージを記録することを意味します。
.Pp
.Pp
.Em level
はメッセージの重要度を表し、以下のキーワードの順に高から低になります:
emerg, alert, crit, err, warning, notice, info, debug。
これらのキーワードは
.Xr syslog 3
ライブラリルーチンで指定される
.Dq Dv LOG_
で始まる値と一致します。
.Pp
それぞれの行ブロックはタグによって前のブロックと区別されます。
タグは行の先頭が
.Em #!prog
または
.Em !prog
(前者は以前の syslogd との互換性のためのものです。
例えば syslog.conf ファイルを共有したい時などに便利です)
で始まり、それぞれのブロックは syslog を呼び出す特定のプログラムと
関連付けられています。
また、タグ ``foo'' は、
``foo: '' というプレフィックスを持つ
カーネルログメッセージにもマッチします。
.Pp
.Em facility
.Em level
の両方のキーワードとその意味のより詳細な説明を知りたい場合は
.Xr syslog 3
を見てください。
選択は
.Em facility
で行なう方が
.Em program
で行なうよりも好まれています。
なぜなら、後者はネットワーク環境の中では
簡単に変化してしまう場合があるからです。しかし、適切な
.Em facility
が本当に存在しない場合もあります。
.Pp
もし
.Em facility
指定に一致したメッセージを受けとり、なおかつそれが
指定した
.Em level
.Em (もしくはそれ以上の level)
だった場合、またはメッセージ中の日付の後ろの最初の単語が
.Em program
と一致した場合、
.Em action
フィールドで指定された動作が選択されます。
.Pp
複数の
.Em selector
を、セミコロン
.Pq Dq \&;
によって区切ることにより、1 つの
.Em action
に対して指定することができます。
しかしそれぞれの
.Em selector
はその前にある指定を上書き修正できてしまいますので注意してください。
.Pp
複数の
.Em facility
は、コンマ
.Pq Dq \&,
によって区切ることにより 1 つの
.Em level
を指定することができます。
.Pp
アスタリスク
.Pq Dq *
は、全ての
.Em facility
、全ての
.Em levels
、または全ての
.Em programs
を指定するのに使用できます。
.Pp
特別な
.Em facility
である
.Dq mark
は、20分毎に
.Dq info
の優先度を持つメッセージを受け取ります
(
.Xr syslogd 8
を参照 )。これは
アスタリスクを含む
.Em facility
フィールドには適用されません。
.Pp
特別な
.Em level
である
.Dq none
は、特定の
.Em facility
を無効にします。
.Pp
それぞれの行の
.Em action
フィールドは、
.Em selector
フィールドに指定されたメッセージを受け取った際の動作を指定します。
動作指定には次の 5つの形式があります:
.Bl -bullet
.It
パス名 (先頭がスラッシュで始まります)。
該当するメッセージは、そのファイルに追加されます。
.It
ホスト名 (
.Pq Dq @
文字から始まる必要があります)。
該当するメッセージは、指定されたホストの
.Xr syslogd
プログラムに転送されます。
.It
コンマで区切られたユーザのリスト。
該当するメッセージは、指定されたユーザがログインしていれば、
そのユーザの画面に出力されます。
.It
1 つのアスタリスク。
該当するメッセージは、ログイン中の全てのユーザの画面に出力されます。
.It
垂直バー
.Pq Dq \&|
とそれに続くコマンド。該当したメッセージをパイプを使って
コマンドに渡すことができます。
このコマンドは、
.Pa /bin/sh
によって評価されるので、通常のシェルメタキャラクタや入力/出力
リダイレクトを利用できます。
(しかし実行されたコマンドからの
.Xr stdio 3
バッファされた出力のリダイレクトは余計な遅延を引き起こしたり、
あるいはシグナルによってロギング中のサブプロセスが終了した場合など
出力データを失うことがあるかもしれないことに注意してください)
コマンドそれ自身は
.Em stdout
.Em stderr
.Pa /dev/null
にリダイレクトして動作します。
.Dv SIGHUP
を受け取ると、
.Nm
はそのプロセスとのパイプを閉じます。もしそのプロセスが自発的に終了しない
場合は、60秒の猶予期間の後
.Dv SIGTERM
を送ります。
.Pp
コマンドはパイプでつながれるデータが到着した際に 1 度だけ起動されます。
その後、コマンドが終了した場合には必要に応じて再起動されます。
そのため、1行の入力だけをサブプロセスが手に入れるよう望んでいるなら、
(もし多くのメッセージが速く流れる場合には、
資源を大量に消費する可能性がありますが)
1行の入力があった後に終了する事によって達成する事ができます。
必要ならば、この効果のためにラッパスクリプトを書くこともできます。
.Pp
そのコマンドが完全なパイプラインでない場合、コマンドを
.Em exec
で起動すると、起動したシェルプロセスがコマンドの完了を待たなくなるので
便利かもしれません。
警告: このプロセスは
.Xr syslogd 8
の UID のもとで動きます。通常はスーパユーザです。
.El
.Pp
空行と最初の空白でない文字がハッシュ
.Pq Dq #
文字である行は無視されます。
.Sh 使用例
.Pp
設定ファイルは次のようになります:
.Bd -literal
# err レベル以上の全てのメッセージ、全てのレベルの kernel メッセージ、
# notice レベルの auth メッセージをコンソールに出力します。
# プライベートな認証メッセージは記録をとりません!
*.err;kern.*;auth.notice;authpriv.none /dev/console
# info 以上のレベルを持つ(mail を除く)全てのメッセージを記録します。
# プライベートな認証メッセージは記録をとりません!
*.info;mail.none;authpriv.none /var/log/messages
# debug レベルのみの daemon メッセージを記録します
daemon.=debug /var/log/daemon.debug
# authpriv ファイルはアクセス制限を持ちます。
.\" /var/log/secure の read permission を限定するということ?
.\" 2.2.6-RELEASE 対象
.\" By yohta@bres.tsukuba.ac.jp (July 8 1998)
authpriv.* /var/log/secure
# 全てのレベルの mail メッセージを一箇所にまとめて記録します。
mail.* /var/log/maillog
# emerg(非常事態)レベルの全てのメッセージは全員が受け取ります。
*.emerg *
*.emerg @arpa.berkeley.edu
# alert レベル以上のメッセージを root と eric の画面に表示されます。
.\" 原文は Root and Eric get alert and higher messages を意訳
.\" 2.2.6-RELEASE 対象
.\" By yohta@bres.tsukuba.ac.jp (July 10 1998)
*.alert root,eric
# err レベル以上の mail と news の エラーを特別なファイルに保存します。
mail;news.err /var/log/spoolerr
.\" 原文は uucp,news.crit / send-pr 予定
.\" 2.2.6-RELEASE 対象
.\" By yohta@bres.tsukuba.ac.jp (July 10 1998)
# 全てのレベルの認証メッセージをフィルタにパイプします。
auth.* |exec /usr/local/sbin/authfilter
# ftpd のトランザクションを mail と news にあわせて保存します。
!ftpd
*.* /var/log/spoolerr
# カーネルのファイヤウォールレポートを別のファイルに保存します。
!ipfw
*.* /var/log/ipfw
.Ed
.Sh 関連ファイル
.Bl -tag -width /etc/syslog.conf -compact
.It Pa /etc/syslog.conf
.Xr syslogd 8
設定ファイル
.El
.Sh バグ
複数のセレクタ指定は、時々思ったように効果を発揮しない事があります。
例えば、
.Dq mail.crit,*.err
と設定すると、
.Dq mail
ファシリティのメッセージのレベルは
.Dq err
かそれ以上となり、
.Dq crit
かそれ以上のレベルにはなりません。
.Pp
ネットワーク環境においては、全てのオペレーティングシステムが
同じ facility 名のセットを実装しているわけではない点に注意してください。
authpriv, cron, ftp, ntp といったこの実装において知られた facility が、
目的のシステムには存在しないかもしれません。更に悪い事に、
DEC UNIX は AdvFS ファイルシステムのログイベントに facility 番号 10
(この実装では authpriv です) を使っています。
.Sh 関連項目
.Xr syslog 3 ,
.Xr syslogd 8
diff --git a/ja_JP.eucJP/man/man5/termcap.5 b/ja_JP.eucJP/man/man5/termcap.5
index 589ba18120..e298828a5b 100644
--- a/ja_JP.eucJP/man/man5/termcap.5
+++ b/ja_JP.eucJP/man/man5/termcap.5
@@ -1,2081 +1,2081 @@
.\" Copyright (c) 1985, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)termcap.5 8.3 (Berkeley) 4/16/94
.\"
.\" /***************************************************************************
.\" * COPYRIGHT NOTICE *
.\" ****************************************************************************
.\" * ncurses is copyright (C) 1992-1995 *
.\" * Zeyd M. Ben-Halim *
.\" * zmbenhal@netcom.com *
.\" * Eric S. Raymond *
.\" * esr@snark.thyrsus.com *
.\" * *
.\" * Permission is hereby granted to reproduce and distribute ncurses *
.\" * by any means and for any fee, whether alone or as part of a *
.\" * larger distribution, in source or in binary form, PROVIDED *
.\" * this notice is included with any such distribution, and is not *
.\" * removed from any of its header files. Mention of ncurses in any *
.\" * applications linked with it is highly appreciated. *
.\" * *
.\" * ncurses comes AS IS with no warranty, implied or expressed. *
.\" * *
.\" ***************************************************************************/
.\"
-.\" %Id: termcap.5,v 1.2.2.2 1998/06/23 05:31:20 hoek Exp %
+.\" %Id: termcap.5,v 1.9 1998/06/23 05:30:26 hoek Exp %
.\"
.\" jpman %Id: termcap.5,v 1.4 1998/06/13 12:34:58 horikawa Stab %
.\" FreeBSD jpman project 訳語表
.\" WORD: terminal 端末
.\" WORD: text テキスト
.\" WORD: convention 約束
.\" WORD: virtual terminal 仮想端末
.\" WORD: print 印字
.\" WORD: display 描画
.\" WORD: screen 画面
.\" WORD: CRT CRT
.\" WORD: attribute 属性
.\" WORD: underline 下線
.\" WORD: standout 強調表示
.\" WORD: column 桁
.\" WORD: row 行
.\" WORD: carriage return キャリッジリターン
.\" WORD: home など ホーム(ホームポジション)、home(home キー)
.\" など、キーそのものについては英語のままとした
.\" WORD: foreground color 前景色
.\" WORD: background color 背景色
.\" WORD: bottom margin 下マージン
.\" WORD: top margin 上マージン
.\" WORD: bold mode ボールドモード
.\" WORD: scroll forward 前進スクロール
.\" WORD: scroll backward 後退スクロール
.\" WORD: glitch グリッチ (他の端末と不整合な機能)
.\" その他 Beehive はメーカ名です(.Ss Glitches and Braindamages 参照)。
.Dd April 16, 1994
.Dt TERMCAP 5
.Os BSD 3
.Sh 名称
.Nm termcap
.Nd 端末ケーパビリティのデータベース
.Sh 書式
.Nm
.Sh 解説
.Nm
ファイルは端末に関するデータベースであり、例えば
.Xr \&vi 1
.Xr curses 3
が使用します。
.Nm
には、端末が持つケーパビリティと、
操作がどのように行われるのかが記述されています。
パディングの必要性および初期化シーケンスも
.Nm
に記述されています。
.Pp
.Nm
のエントリは `:' で区切られた複数個のフィールドからなります。
各端末の最初のエントリは、`|' 文字で区切った端末名です。
最初の名前は、その端末の最も一般的な省略形です。
最後の名前は端末を完全に識別するための長い名前であり、
その他は端末名の類義語です。
最後以外の名前は小文字を使い、空白を含まないようにしてください;
最後の名前は、可読性のために大文字や空白を含んでかまいません。
.Pp
端末名 (最後の冗長なエントリを除く) は次の約束に従い選んでください。
端末を構成するハードウェアの特定の一部を、
.Dq hp2621
のように根幹の名前として選びます。
この名前はハイフンを含んではなりません。
ハードウェアのモードやユーザのプリファレンスは、
ハイフンとモード指示子を追加して示します。
ですから、132 桁モードの
.Dq vt100
.Dq vt100-w
になります。可能ならば、以下の接尾辞を使用してください:
.Pp
.Bd -filled -offset indent
.Bl -column indent "With automatic margins (usually default)xx"
.Sy 接尾辞 意味 例
-w 広いモード (80 桁超) vt100-w
-am 自動マージン付 (通常はデフォルト) vt100-am
-nam 自動マージン無し vt100-nam
.Pf \- Ar n Ta No "画面上の行数 aaa-60"
-na 矢印キー無し (ローカルのままにする) concept100-na
.Pf \- Ar \&np Ta No "メモリページ数 concept100-4p"
-rv 反転表示 concept100-rv
.El
.Ed
.Sh ケーパビリティ
記述フィールドに、ケーパビリティの意味を示そうとしています。
記述フィールドには次のようなコードが書いてあることがあります:
.Pp
.Bl -tag -width #[1-9]
.It (P)
パディングが指定されるかもしれないことを表します。
.It #[1-9]
記述フィールドでは、文字列が (#\fIi\fP) として与えられる引数として
.Xr tparm
.Xr tgoto
を介して渡されることを示します。
.It (P*)
影響を受ける行数に従いパディングが変化することを示します。
.It (#\d\fIi\fP\u)
\fIi\fP 番目のパラメータを表します。
.El
.Pp
以下、ブール値のケーパビリティです:
.Bd -literal
\fBブール値 TCap 記述\fR
\fB変数 コード\fR
auto_left_margin bw cursor_left は桁 0 から最後の桁に回り込む
auto_right_margin am 端末は自動マージンを持つ
no_esc_ctlc xb beehive (f1=escape, f2=ctrl C)
ceol_standout_glitch xs 強調表示は上書きによって消去されない (hp)
eat_newline_glitch xn 80 桁より後の改行は無視される (concept)
erase_overstrike eo 空白を上打ちすることで消去可能
generic_type gn 一般的な行タイプ
hard_copy hc ハードコピー端末
has_meta_key km メタキーを持ち、最上位ビットをセットする
has_status_line hs 追加のステータス行を持つ
insert_null_glitch in 挿入モードはナルを区別する
memory_above da 画面より上の描画が保存される
memory_below db 画面より下の描画が保存される
move_insert_mode mi 挿入モードでの移動が安全
move_standout_mode ms 強調表示モードでの移動が安全
over_strike os 端末は上打ちが可能
status_line_esc_ok es ステータス行でエスケープを使用可能
dest_tabs_magic_smso xt 破壊的タブ、強調文字の奇妙な動作 (t1061)
tilde_glitch hz ~ を印字できない (hazeltine)
transparent_underline ul 下線文字の上打ち
xon_xoff xo 端末は xon/xoff のハンドシェークを使用
needs_xon_xoff nx パディングは動作しないので xon/xoff が必要
prtr_silent 5i プリンタ出力は画面にエコーしない
hard_cursor HC カーソルが見にくい
non_rev_rmcup NR enter_ca_mode は exit_ca_mode を反転しない
no_pad_char NP パディング文字が存在しない
non_dest_scroll_region ND スクロール領域が非破壊的
can_change cc 端末は既存の色を再定義可能
back_color_erase ut 画面は背景色で消される
hue_lightness_saturation hl 端末は HLS カラー表現のみ使用
(tektronix)
col_addr_glitch YA 桁位置指定および micro_column_address
ケーパビリティは正方向の動きのみ
cr_cancels_micro_mode YB cr を使用するとマイクロモードがオフになる
has_print_wheel YC オペレータが文字セットを変更する必要がある
プリンタ
row_addr_glitch YD row_address および micro_row_address は
正方向の動きのみ
semi_auto_right_margin YE 最終桁で印字すると cr となる
cpi_changes_res YF 文字ピッチを変えると解像度が変わる
lpi_changes_res YG 行ピッチを変えると解像度が変わる
.Ed
.Pp
以下、数値のケーパビリティです:
.Bd -literal
\fB数値 TCap 記述\fR
\fB変数 コード\fR
columns co 1 行の桁数
init_tabs it タブの初期設定は # 個の空白ごと
lines li 画面もしくはページの行数
lines_of_memory lm 行より大きい場合はメモリの行数、
0 の場合はさまざま
.\" => は大小関係を表すのではない See .Sh その他
magic_cookie_glitch sg enter_standout_mode や exit_standout_mode
が残す空白文字数
padding_baud_rate pb パディングが必要な最低ボーレート
virtual_terminal vt 仮想端末番号 (CB/unix)
width_status_line ws ステータス行の桁数
num_labels Nl 画面上のラベル数
label_height lh 各ラベルの行数
label_width lw 各ラベルの桁数
max_attributes ma 端末が扱える属性の最大の組み合わせ
maximum_windows MW 定義可能なウィンドウ数の最大
magic_cookie_glitch_ul ug 下線により残される空白数
#
# 以下は SVr4 のカラーサポートにより導入
#
max_colors Co 画面上の最大色数
max_pairs pa 画面上の色の組の最大数
no_color_video NC 色付きでは使用できないビデオ属性
#
# 以下の数値ケーパビリティは SVr4.0 の term 構造体に存在しますが、
# マニュアルには記述されていません。
# これらは SVr4 のプリンタサポートにより追加されました。
#
buffer_capacity Ya 印字前にバッファされるバイト数
dot_vert_spacing Yb 1 インチあたりのピン数で表した垂直ピン間隔
dot_horz_spacing Yc 1 インチあたりのドット数で表した水平
ドット間隔
max_micro_address Yd micro_..._address での最大値
max_micro_jump Ye parm_..._micro での最大値
micro_char_size Yf マイクロモードでの文字サイズ
micro_line_size Yg マイクロモードでの行サイズ
number_of_pins Yh プリントヘッドのピン数
output_res_char Yi 行あたりのユニット数による水平解像度
output_res_line Yj 行あたりのユニット数による垂直解像度
output_res_horz_inch Yk インチあたりのユニット数による水平解像度
output_res_vert_inch Yl インチあたりのユニット数による垂直解像度
print_rate Ym 1 秒あたりの文字数による印字レート
wide_char_size Yn 倍幅モードでの文字ステップサイズ
buttons BT マウスのボタン数
bit_image_entwining Yo 各ビットイメージ行として渡される数
bit_image_type Yp ビットイメージデバイスのタイプ
.Ed
.Pp
以下、文字列ケーパビリティです:
.Bd -literal
\fB文字列 TCap 記述\fR
\fB変数 コード\fR
back_tab bt 後退タブ (P)
bell bl 可聴シグナル (ベル) (P)
carriage_return cr キャリッジリターン (P*)
change_scroll_region cs 領域を行 #1 から行 #2 までに変更 (P)
clear_all_tabs ct 全タブストップをクリア (P)
clear_screen cl 画面を消去しカーソルをホームに移動 (P*)
clr_eol ce 行末までクリア (P)
clr_eos cd 画面末までクリア (P*)
column_address ch 絶対指定での水平位置 #1 (P)
command_character CC 端末がプロトタイプで設定可能なコマンド文字
cursor_address cm 行 #1 桁 #2 に移動
cursor_down do 1 行下に移動
cursor_home ho カーソルをホームに移動
cursor_invisible vi カーソルを見えなくする
cursor_left le 1 つ左に移動
cursor_mem_address CM メモリ相対のカーソル位置指定
cursor_normal ve 通常のカーソル表示にする
(cursor_invisible/cursor_visible の無効化)
cursor_right nd 1 つ右に移動
cursor_to_ll ll 最終行の最初の桁
cursor_up up 1 行上に移動
cursor_visible vs カーソルを非常に見易くする
delete_character dc 文字削除 (P*)
delete_line dl 行削除 (P*)
dis_status_line ds ステータス行を無効にする
down_half_line hd 半行下に移動
enter_alt_charset_mode as 別の文字セット開始 (P)
enter_blink_mode mb 点滅オン
enter_bold_mode md ボールド (さらに明るい) モードオン
enter_ca_mode ti cursor_address を使用するプログラムを開始
する文字列
enter_delete_mode dm 削除モードへ入る
enter_dim_mode mh 半輝度モードオン
enter_insert_mode im 挿入モードへ入る
enter_secure_mode mk ブランクモードオン (文字が見えません)
enter_protected_mode mp 保護モードオン
enter_reverse_mode mr 反転表示モードオン
enter_standout_mode so 強調表示モード開始
enter_underline_mode us 下線モード開始
erase_chars ec #1 個文字を削除 (P)
exit_alt_charset_mode ae 別の文字セット終了 (P)
exit_attribute_mode me 全属性をオフ
exit_ca_mode te cup 使用のプログラムを終了する文字列
exit_delete_mode ed 削除モード終了
exit_insert_mode ei 挿入モードから抜ける
exit_standout_mode se 強調表示モードから抜ける
exit_underline_mode ue 下線モードから抜ける
flash_screen vb 可視ベル (カーソルは移動しません)
form_feed ff ハードコピー端末でのページ排出 (P*)
from_status_line fs ステータス行からの復帰
init_1string i1 初期化文字列
init_2string is 初期化文字列
init_3string i3 初期化文字列
init_file if 初期化ファイルの名前
insert_character ic 文字挿入 (P)
insert_line al 行挿入 (P*)
insert_padding ip 挿入された文字の後にパディングを挿入
key_backspace kb backspace キー
key_catab ka clear-all-tabs キー
key_clear kC clear-screen または erase キー
key_ctab kt clear-tab キー
key_dc kD delete-character キー
key_dl kL delete-line キー
key_down kd down-arrow キー
key_eic kM 挿入モードで mir や smir により送られる
key_eol kE clear-to-end-of-line キー
key_eos kS clear-to-end-of-screen キー
key_f0 k0 F0 ファンクションキー
key_f1 k1 F1 ファンクションキー
key_f10 k; F10 ファンクションキー
key_f2 k2 F2 ファンクションキー
key_f3 k3 F3 ファンクションキー
key_f4 k4 F4 ファンクションキー
key_f5 k5 F5 ファンクションキー
key_f6 k6 F6 ファンクションキー
key_f7 k7 F7 ファンクションキー
key_f8 k8 F8 ファンクションキー
key_f9 k9 F9 ファンクションキー
key_home kh home キー
key_ic kI insert-character キー
key_il kA insert-line キー
key_left kl left-arrow キー
key_ll kH last-line キー
key_npage kN next-page キー
key_ppage kP prev-page キー
key_right kr right-arrow キー
key_sf kF scroll-forward キー
key_sr kR scroll-backward キー
key_stab kT set-tab キー
key_up ku up-arrow キー
keypad_local ke 'キーボード送出' モードから抜ける
keypad_xmit ks 'キーボード送出' モードに入る
lab_f0 l0 非 f0 の時、ファンクションキー f0 のラベル
lab_f1 l1 非 f1 の時、ファンクションキー f1 のラベル
lab_f10 la 非 f10 の時、ファンクションキー f10 の
ラベル
lab_f2 l2 非 f2 の時、ファンクションキー f2 のラベル
lab_f3 l3 非 f3 の時、ファンクションキー f3 のラベル
lab_f4 l4 非 f4 の時、ファンクションキー f4 のラベル
lab_f5 l5 非 f5 の時、ファンクションキー f5 のラベル
lab_f6 l6 非 f6 の時、ファンクションキー f6 のラベル
lab_f7 l7 非 f7 の時、ファンクションキー f7 のラベル
lab_f8 l8 非 f8 の時、ファンクションキー f8 のラベル
lab_f9 l9 非 f9 の時、ファンクションキー f9 のラベル
meta_off mo メタモードオフ
meta_on mm メタモードオン (8 ビット目をオン)
newline nw 改行 (cr の後に lf が来たように振舞います)
pad_char pc パディング文字 (ナルの代り)
parm_dch DC #1 文字を削除 (P*)
parm_delete_line DL #1 行を削除 (P*)
parm_down_cursor DO #1 行下に移動 (P*)
parm_ich IC #1 文字を挿入 (P*)
parm_index SF #1 行の前進スクロール (P)
parm_insert_line AL #1 行を挿入 (P*)
parm_left_cursor LE #1 文字左に移動 (P)
parm_right_cursor RI #1 文字右に移動 (P*)
parm_rindex SR #1 行の後退スクロール (P)
parm_up_cursor UP #1 行上に移動 (P*)
pkey_key pk 文字列 #2 をタイプする
プログラムファンクションキー #1
pkey_local pl 文字列 #2 を実行する
プログラムファンクションキー #1
pkey_xmit px 文字列 #2 を転送する
プログラムファンクションキー #1
print_screen ps 画面の内容を印字
prtr_off pf プリンタオフ
prtr_on po プリンタオン
repeat_char rp 文字 #1 を #2 回繰り返す (P*)
reset_1string r1 リセット文字列
reset_2string r2 リセット文字列
reset_3string r3 リセット文字列
reset_file rf リセットファイルの名前
restore_cursor rc save_cursor の最後の位置へカーソルを戻す
row_address cv 絶対指定での垂直位置 #1 (P)
save_cursor sc 現在のカーソル位置を保存 (P)
scroll_forward sf テキストを上にスクロール (P)
scroll_reverse sr テキストを下にスクロール (P)
set_attributes sa ビデオ属性 #1-#9 を定義 (PG9)
set_tab st 全ての行において今いる桁にタブを設定
set_window wi 現在のウィンドウを、行 #1-#2 桁 #3-#4 に
設定
tab ta 次の 8 スペースハードウェアタブストップへ
タブ
to_status_line ts ステータス行へ移動
underline_char uc 文字に下線を引きその後に移動
up_half_line hu 半行上に移動
init_prog iP 初期化プログラムのパス名
key_a1 K1 キーパッドの左上キー
key_a3 K3 キーパッドの右上キー
key_b2 K2 キーパッドの中央キー
key_c1 K4 キーパッドの左下キー
key_c3 K5 キーパッドの右下キー
prtr_non pO #1 バイトだけプリンタをオンする
termcap_init2 i2 2 番目の初期化文字列
termcap_reset rs 端末リセット文字
#
# SVr1 のケーパビリティはここまでです。
# IBM の terminfo はここまでは SVr4 と同じですが、ここから先は異なります。
#
char_padding rP insert_padding と似ていますが挿入モード時
に使用
acs_chars ac 図形文字セットの組 - def=vt100
plab_norm pn プログラムラベル #1 は文字列 #2 を表示
key_btab kB back-tab キー
enter_xon_mode SX xon/xoff ハンドシェークオン
exit_xon_mode RX xon/xoff ハンドシェークオフ
enter_am_mode SA 自動マージンオン
exit_am_mode RA 自動マージンオフ
xon_character XN XON 文字
xoff_character XF XOFF 文字
ena_acs eA 別の文字セットを有効にする
label_on LO ソフトラベルオン
label_off LF ソフトラベルオフ
key_beg @1 begin キー
key_cancel @2 cancel キー
key_close @3 close キー
key_command @4 command キー
key_copy @5 copy キー
key_create @6 create キー
key_end @7 end キー
key_enter @8 enter/send キー
key_exit @9 exit キー
key_find @0 find キー
key_help %1 help キー
key_mark %2 mark キー
key_message %3 message キー
key_move %4 move キー
key_next %5 next キー
key_open %6 open キー
key_options %7 options キー
key_previous %8 previous キー
key_print %9 print キー
key_redo %0 redo キー
key_reference &1 reference キー
key_refresh &2 refresh キー
key_replace &3 replace キー
key_restart &4 restart キー
key_resume &5 resume キー
key_save &6 save キー
key_suspend &7 suspend キー
key_undo &8 undo キー
key_sbeg &9 シフト状態の begin キー
key_scancel &0 シフト状態の cancel キー
key_scommand *1 シフト状態の command キー
key_scopy *2 シフト状態の copy キー
key_screate *3 シフト状態の create キー
key_sdc *4 シフト状態の delete char キー
key_sdl *5 シフト状態の delete line キー
key_select *6 select キー
key_send *7 シフト状態の end キー
key_seol *8 シフト状態の end-of-line キー
key_sexit *9 シフト状態の exit キー
key_sfind *0 シフト状態の find キー
key_shelp #1 シフト状態の help キー
key_shome #2 シフト状態の home キー
key_sic #3 シフト状態の insert char キー
key_sleft #4 シフト状態の left キー
key_smessage %a シフト状態の message キー
key_smove %b シフト状態の move キー
key_snext %c シフト状態の next キー
key_soptions %d シフト状態の options キー
key_sprevious %e シフト状態の previous キー
key_sprint %f シフト状態の print キー
key_sredo %g シフト状態の redo キー
key_sreplace %h シフト状態の replace キー
key_sright %i シフト状態の right キー
key_srsume %j シフト状態の resume キー
key_ssave !1 シフト状態の save キー
key_ssuspend !2 シフト状態の suspend キー
key_sundo !3 シフト状態の undo キー
req_for_input RF 次の入力文字を送る (pty で使用)
key_f11 F1 F11 ファンクションキー
key_f12 F2 F12 ファンクションキー
key_f13 F3 F13 ファンクションキー
key_f14 F4 F14 ファンクションキー
key_f15 F5 F15 ファンクションキー
key_f16 F6 F16 ファンクションキー
key_f17 F7 F17 ファンクションキー
key_f18 F8 F18 ファンクションキー
key_f19 F9 F19 ファンクションキー
key_f20 FA F20 ファンクションキー
key_f21 FB F21 ファンクションキー
key_f22 FC F22 ファンクションキー
key_f23 FD F23 ファンクションキー
key_f24 FE F24 ファンクションキー
key_f25 FF F25 ファンクションキー
key_f26 FG F26 ファンクションキー
key_f27 FH F27 ファンクションキー
key_f28 FI F28 ファンクションキー
key_f29 FJ F29 ファンクションキー
key_f30 FK F30 ファンクションキー
key_f31 FL F31 ファンクションキー
key_f32 FM F32 ファンクションキー
key_f33 FN F33 ファンクションキー
key_f34 FO F34 ファンクションキー
key_f35 FP F35 ファンクションキー
key_f36 FQ F36 ファンクションキー
key_f37 FR F37 ファンクションキー
key_f38 FS F38 ファンクションキー
key_f39 FT F39 ファンクションキー
key_f40 FU F40 ファンクションキー
key_f41 FV F41 ファンクションキー
key_f42 FW F42 ファンクションキー
key_f43 FX F43 ファンクションキー
key_f44 FY F44 ファンクションキー
key_f45 FZ F45 ファンクションキー
key_f46 Fa F46 ファンクションキー
key_f47 Fb F47 ファンクションキー
key_f48 Fc F48 ファンクションキー
key_f49 Fd F49 ファンクションキー
key_f50 Fe F50 ファンクションキー
key_f51 Ff F51 ファンクションキー
key_f52 Fg F52 ファンクションキー
key_f53 Fh F53 ファンクションキー
key_f54 Fi F54 ファンクションキー
key_f55 Fj F55 ファンクションキー
key_f56 Fk F56 ファンクションキー
key_f57 Fl F57 ファンクションキー
key_f58 Fm F58 ファンクションキー
key_f59 Fn F59 ファンクションキー
key_f60 Fo F60 ファンクションキー
key_f61 Fp F61 ファンクションキー
key_f62 Fq F62 ファンクションキー
key_f63 Fr F63 ファンクションキー
clr_bol cb 行頭までクリア
clear_margins MC 左右のソフトマージンをクリア
set_left_margin ML 左のソフトマージンを設定
set_right_margin MR 右のソフトマージンを設定
label_format Lf ラベルフォーマット
set_clock SC 時刻を #1 時 #2 分 #3 秒に設定
display_clock DK 位置 (#1,#2) に時計を表示
remove_clock RC 時計を取り除く
create_window CW ウィンドウ #1 を #2, #3 から #4, #5 までと
定義
goto_window WG ウィンドウ #1 に移動
hangup HU 電話をハングアップする
dial_phone DI 番号 #1 にダイアルする
quick_dial QD チェックせずに番号 #1 にダイアルする
tone TO タッチトーンダイアルを選択
pulse PU パルスダイアルを選択
flash_hook fh スイッチフックをフラッシュする
fixed_pause PA 2-3 秒待つ
wait_tone WA ダイアルトーンを待つ
user0 u0 ユーザ文字列 #0
user1 u1 ユーザ文字列 #1
user2 u2 ユーザ文字列 #2
user3 u3 ユーザ文字列 #3
user4 u4 ユーザ文字列 #4
user5 u5 ユーザ文字列 #5
user6 u6 ユーザ文字列 #6
user7 u7 ユーザ文字列 #7
user8 u8 ユーザ文字列 #8
user9 u9 ユーザ文字列 #9
#
# SVr4 は以下のケーパビリティを追加してカラーをサポートしました
#
orig_pair op デフォルトのペアを元の値に戻す
orig_colors oc 色のペア全てを元に戻す
initialize_color Ic 色 #1 を (#2,#3,#4) に設定
initialize_pair Ip 色のペア #1 を fg=(#2,#3,#4),
bg=(#5,#6,#7) に設定
set_color_pair sp 現在の色のペアを #1 に設定
set_foreground Sf 前景色を #1 に設定
set_background Sb 背景色を #1 に設定
#
# SVr4 は以下のケーパビリティを追加してプリンタをサポートしました
#
change_char_pitch ZA 1 インチあたりの文字数を変更
change_line_pitch ZB 1 インチあたりの行数を変更
change_res_horz ZC 水平解像度を変更
change_res_vert ZD 垂直解像度を変更
define_char ZE 文字を定義
enter_doublewide_mode ZF 倍幅モードに入る
enter_draft_quality ZG ドラフト印字モードに入る
enter_italics_mode ZH イタリックモードに入る
enter_leftward_mode ZI キャリッジの左向き移動開始
enter_micro_mode ZJ マイクロ移動モードに入る
enter_near_letter_quality ZK NLQ 印字モードに入る
enter_normal_quality ZL 通常品質印字モードに入る
enter_shadow_mode ZM シャドウプリントモード開始
enter_subscript_mode ZN 下付き文字モード
enter_superscript_mode ZO 上付き文字モード
enter_upward_mode ZP キャリッジの上向き移動開始
exit_doublewide_mode ZQ 倍幅印字モード終了
exit_italics_mode ZR イタリックモード終了
exit_leftward_mode ZS 左向き移動モード終了
exit_micro_mode ZT マイクロ移動モード終了
exit_shadow_mode ZU シャドウプリントモード終了
exit_subscript_mode ZV 下付き文字モード終了
exit_superscript_mode ZW 上付き文字モード終了
exit_upward_mode ZX 逆向き文字移動終了
micro_column_address ZY マイクロモードの column_address
micro_down ZZ マイクロモードの cursor_down
micro_left Za マイクロモードの cursor_left
micro_right Zb マイクロモードの cursor_right
micro_row_address Zc マイクロモードの row_address
micro_up Zd マイクロモードの cursor_up
order_of_pins Ze ソフトウェアビットを印字ヘッドピンに
あわせる
.\" Match software bits to print-head pins ?
parm_down_micro Zf マイクロモードの parm_down_cursor
parm_left_micro Zg マイクロモードの parm_left_cursor
parm_right_micro Zh マイクロモードの parm_right_cursor
parm_up_micro Zi マイクロモードの parm_up_cursor
select_char_set Zj 文字セットの選択
set_bottom_margin Zk 現在の行を下マージンに設定
set_bottom_margin_parm Zl 下マージンを行 #1 または下から #2 行に設定
set_left_margin_parm Zm 左 (右) マージンを桁 #1 (#2) に設定
set_right_margin_parm Zn 右マージンを桁 #1 に設定
set_top_margin Zo 上マージンを現在の行に設定
set_top_margin_parm Zp 上 (下) マージンを行 #1 (#2) に設定
start_bit_image Zq ビットイメージグラフィクスの印刷開始
start_char_set_def Zr 文字セットの定義開始
stop_bit_image Zs ビットイメージグラフィクスの印刷停止
stop_char_set_def Zt 文字セットの定義終了
subscript_characters Zu 下付き文字となりうる文字のリスト
superscript_characters Zv 上付き文字となりうる文字のリスト
these_cause_cr Zw 印字すると CR となる文字
zero_motion Zx 次の文字表示では移動しない
#
# 以下の文字列ケーパビリティは SVr4.0 の term 構造体にありますが、
# マニュアルページには記述されていません。
#
char_set_names Zy 文字セット名のリスト
key_mouse Km マウスイベントが発生した
mouse_info Mi マウス状態の情報
req_mouse_pos RQ マウス位置の要求
get_mouse Gm curses がボタンイベントを取得すべき
set_a_foreground AF ANSI 前景色を設定
set_a_background AB ANSI 背景色を設定
pkey_plab xl 文字列 #2 をタイプし、文字列 #3 を表示する
プログラムファンクションキー
device_type dv 言語/コードセットサポートの表示
code_set_init ci 複数コードセットシーケンスの初期化
set0_des_seq s0 コードセット 0 へシフト
(EUC セット 0, ASCII)
set1_des_seq s1 コードセット 1 へシフト
set2_des_seq s2 コードセット 2 へシフト
set3_des_seq s3 コードセット 3 へシフト
set_lr_margin ML 左右マージンをそれぞれ #1, #2 に設定
set_tb_margin MT 上下マージンをそれぞれ #1, #2 に設定
bit_image_repeat Xy ビットイメージセル #1 を #2 回繰り返す
bit_image_newline Zz ビットイメージの次の行に移動
bit_image_carriage_return Yv 同一行の先頭に移動
color_names Yw 色 #1 の名前を与える
define_bit_image_region Yx 長方形のビットイメージ領域を定義
end_bit_image_region Yy ビットイメージ領域の終了
set_color_band Yz 色リボン #1 に変更
set_page_length YZ ページ長を #1 行に設定
#
# SVr4 は以下のケーパビリティを追加し、直接 PC クローンをサポートしました
#
display_pc_char S1 PC 文字を表示
enter_pc_charset_mode S2 PC 文字表示モードに入る
exit_pc_charset_mode S3 PC 文字表示モード終了
enter_scancode_mode S4 PC スキャンコードモードに入る
exit_scancode_mode S5 PC スキャンコードモードから抜ける
pc_term_options S6 PC 端末オプション
scancode_escape S7 スキャンコードエミュレーションのための
エスケープ
alt_scancode_esc S8 スキャンコードエミュレーションのための
別のエスケープ
#
# XSI curses 標準は、以下のケーパビリティを追加しました。
#
enter_horizontal_hl_mode Xh 水平ハイライトモードに入る
enter_left_hl_mode Xl 左ハイライトモードに入る
enter_low_hl_mode Xo 下ハイライトモードに入る
enter_right_hl_mode Xr 右ハイライトモードに入る
enter_top_hl_mode Xt 上ハイライトモードに入る
enter_vertical_hl_mode Xv 垂直ハイライトモードに入る
.Pp
以下は廃れた termcap ケーパビリティです。
新しいソフトウェアはどれにも依存しないようにしてください。
.Bd -literal
\fBブール値 TCap 記述\fR
\fB変数 コード\fR
linefeed_is_newline NL ^J で下に移動
even_parity EP 端末は偶数パリティを要求
odd_parity OP 端末は奇数パリティを要求
half_duplex HD 端末は半 2 重
lower_case_only LC 端末は小文字のみ持つ
upper_case_only UC 端末は大文字のみ持つ
has_hardware_tabs pt ^I で起動される 8 文字タブがある
return_does_clr_eol xr リターンは行をクリアする
tek_4025_insert_line xx Tektronix 4025 の insert-line グリッチ
backspaces_with_bs bs 左に移動するために ^H を使用
crt_no_scrolling ns crt はスクロールできない
no_correctly_working_cr nc 行頭に行く手段が無い
.Ed
.Bd -literal
\fB数値 TCap 記述\fR
\fB変数 コード\fR
backspace_delay dB ^H に必要なパディング
form_feed_delay dF ^L に必要なパディング
horizontal_tab_delay dT ^I に必要なパディング
vertical_tab_delay dV ^V に必要なパディング
number_of_function_keys kn ファンクションキーの数
carriage_return_delay dC CR に必要なパディング
new_line_delay dN LF に必要なパディング
.Ed
.Bd -literal
\fB文字列 TCap 記述\fR
\fB変数 コード\fR
other_non_function_keys ko 自己にマップされたキーのリスト
arrow_key_map ma 矢印キーを rogue(1) の移動キーにマップ
memory_lock_above ml 現在の行より上の画面で見える部分のメモリを
ロック
memory_unlock mu 現在の行より上の画面で見える部分のメモリの
ロックを解除
linefeed_if_not_lf nl 下に移動するために使用
backspace_if_not_bs bc ^H でない場合に左に移動
.Ed
.Ss エントリのサンプル
以下のエントリは Concept\-100 について記述しており、
本書の中でも最も複雑なエントリの 1 つです。
.Pp
.Bd -literal
ca\||\|concept100\||\|c100\||\|concept\||\|c104\||\|concept100-4p\||\|HDS Concept\-100:\e
:al=3*\eE^R:am:bl=^G:cd=16*\eE^C:ce=16\eE^U:cl=2*^L:cm=\eEa%+ %+ :\e
:co#80:.cr=9^M:db:dc=16\eE^A:dl=3*\eE^B:do=^J:ei=\eE\e200:eo:im=\eE^P:in:\e
:ip=16*:is=\eEU\eEf\eE7\eE5\eE8\eEl\eENH\eEK\eE\e200\eEo&\e200\eEo\e47\eE:k1=\eE5:\e
:k2=\eE6:k3=\eE7:kb=^h:kd=\eE<:ke=\eEx:kh=\eE?:kl=\eE>:kr=\eE=:ks=\eEX:\e
:ku=\eE;:le=^H:li#24:mb=\eEC:me=\eEN\e200:mh=\eEE:mi:mk=\eEH:mp=\eEI:\e
:mr=\eED:nd=\eE=:pb#9600:rp=0.2*\eEr%.%+ :se=\eEd\eEe:sf=^J:so=\eEE\eED:\e
:.ta=8\et:te=\eEv \e200\e200\e200\e200\e200\e200\eEp\er\en:\e
:ti=\eEU\eEv 8p\eEp\er:ue=\eEg:ul:up=\eE;:us=\eEG:\e
:vb=\eEk\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\eEK:\e
:ve=\eEw:vs=\eEW:vt#8:xn:\e
:bs:cr=^M:dC#9:dT#8:nl=^J:ta=^I:pt:
.Ed
.Pp
行末文字に \e を使用すれば、複数行にエントリを続けることができます。
また空のフィールドを含めて可読性を上げることもできます
(ある行の最後のフィールドから次の行の最初のフィールドまでです)。
コメントは
.Dq #
で始まる行に含めることができます。
.Ss ケーパビリティの型
.Nm
のケーパビリティには次の 3 種類があります:
特定の機能を端末が持つかどうかを示す、ブール値ケーパビリテイ;
画面の大きさや他の属性の大きさを与える、数値ケーパビリティ;
そして特定の端末操作を行うために使用可能な文字列を与える、
文字列ケーパビリティです。
全てのケーバビリティが 2 文字のコードを持ちます。
例えば、Concept が
.Em 自動マージン
(行末に到達すると、自動的にリターンおよびラインフィードする機能)
を持つという事実は、ブール値ケーパビリティ
.Sy \&am
で示されます。
それゆえ Concept の記述は
.Sy \&am
を含みます。
.Pp
数値ケーパビリティの後には文字 `#' が続き、そして値が続きます。
上の例では、画面の桁数を示す
.Sy \&co
は Concept に対しては値 `80' を与えます。
.Pp
最後に、文字列値のケーパビリティ、例えば
.Sy \&ce
(行末までクリアのシーケンス) は、2 文字のコード、単一の `='、
そして次の `:' までの文字列で与えられます。
このケーパビリティにおいては、ミリ秒指定の遅延を `=' の後に指定可能です。
この場合、残りの文字列が送られた後、パディング文字が
.Xr tputs
により与えられ、この遅延を発生させます。
遅延は `20' のような数値または `3*' のような `*' が続く数値です。
`*' は、
この操作により影響を受ける行数に必要なパディングが比例すること、
そして指定量は影響を受ける各行に必要なパディングであることを示します。
(insert-character の場合でも、係数は影響を受ける
.Em 行
数です; ただし、端末が
.Sy \&in
を持っていてソフトウェアがこれを使用する場合以外は、この値は常に 1 です。)
`*' が指定される時、`3.5' のような形式により 1/10 ミリ秒単位で
行あたりの遅延を指定するのが便利な場合があります。
(10 進数 1 桁分のみ許されます。)
.Pp
多くのエスケープシーケンスが文字列値のケーパビリティで提供されますので、
ここでは容易に制御文字をエンコードできます。
.Sy \&\eE
.Dv ESC
文字にマップし、
.Sy \&^X
は適切な X に対して control-X にマップし、シーケンス
.Sy \&\en
.Sy \&\er
.Sy \&\et
.Sy \&\eb
.Sy \&\ef
はそれぞれ、ラインフィード、リターン、タブ、バックスペース、フォームフィード
にマップします。
最後に、文字は
.Sy \&\e
の後に 3 桁 8 進数として指定可能ですし、
.Sy \&^
.Sy \&\e
の文字は
.Sy \&\e^
.Sy \&\e\e
として与えられます。
ケーパビリティ中に
.Sy \&:
を入れる必要がある場合、8 進数で
.Sy \&\e072
とエスケープする必要があります。
文字列ケーパビリティ中に
.Dv NUL
文字を入れる必要がある場合、
.Sy \&\e200
とエンコードする必要があります。(
.Nm
を扱うルーチンは C の文字列を使用し、
出力の最上位ビットをかなり遅い段階で取り除くので、
.Sy \&\e200
.Sy \&\e000
として出力されます。)
.Pp
個々のケーパビリティをコメントアウトする必要があるかもしれません。
その場合には、ケーパビリティ名の前にピリオドを付けます。
例えば、例における最初の
.Sy \&cr
.Sy \&ta
を見てください。
.Ss 記述の準備
端末記述を準備する最も効果的な方法は、
.Nm
中の似た端末の記述を真似し、
.Xr \&vi
を使用して部分記述の正しさを確認することにより、
徐々に記述を構築するというものです。
非常に稀なことですが、端末によっては、
.Nm
ファイルの記述能力不足や
.Xr \&vi
のバグが露呈することがありますので注意してください。
あなたが新しく作った端末記述を簡単にテストするには、
あなたのホームディレクトリに
.Pa .termcap
という名前のファイルとして置き、
プログラムが
.Pa /usr/share/misc/termcap
の前にこれを見るようにします。
環境変数
.Ev TERMPATH
をあなたが作成した記述を含む絶対ファイルパス名のリスト
(空白もしくはコロンで区切ります) に設定することにより、
プログラムはこれらをリスト順に検索し、他は検索しないようになります。
.Xr termcap 3
を参照してください。
.Ev TERMCAP
環境変数は、通常
.Nm
エントリ自身に設定され、プログラム起動時にファイルを読むことを避けます。
.Pp
行挿入に対する適切なパディングを得るためには
(端末製造元が記述しなかった場合には)、
.Xr \&vi
を使用して
.Pa /etc/passwd
を 9600 ボーで編集し、およそ 16 行を画面中央から削除し、
それから `u' キーを何度か素早く押すという、厳しいテストを行います。
画面がぐちゃぐちゃになった場合には、
通常はより多くのパディングが必要となります。
同様のテストを文字挿入に対しても行うことが可能です。
.Ss 基本ケーパビリティ
表示の各行の桁数は
.Sy \&co
数値ケーパビリティで与えられます。
表示が
.Tn CRT
になされる場合、画面の行数は
.Sy \&li
ケーパビリティで与えられます。
カーソルが右マージンに到達した時に、表示が次の行の先頭に回り込む場合には、
.Sy \&am
ケーパビリティを持ちます。
端末が画面をクリア可能な場合には、そうするためのコードが
.Sy \&cl
文字列ケーパビリティで与えられます。
端末が (上書きされる文字の位置をクリアするのではなく) 上打ちする場合には、
.Sy \&os
ケーパビリティがあります。
端末がプリント端末でソフトコピーユニットを持たない場合、
.Sy \&hc
.Sy \&os
を指定してください。
.Pf ( Sy \&os
があてはまるのは Tektronix 4010 シリーズのようなストレージスコープ端末、
ハードコピー端末、そして
.Tn APL
端末です。)
カーソルを直ちに左端に移動するためのコードがある場合には、それを
.Sy \&cr
で指定します。
(通常これは復帰文字(キャリッジリターン)、すなわち
.Sy \&^M
です。)
可聴シグナル (ベルやビープなど) を発生するコードがある場合には、それを
.Sy \&bl
で指定します。
.Pp
(バックスペースのように) カーソルを 1 つ左に移動するコードがある場合には、
このケーパビリテイは
.Sy \&le
で指定します。
同様に、右上下に移動するコードはそれぞれ
.Sy \&nd ,
.Sy \&up ,
.Sy \&do
で指定します。
これらの
.Em ローカルなカーソル移動
は、カーソルが通過する文字を変化させてはなりません;
例えば、通常は
.Dq nd=\ \&
を使用してはなりません。例外は
端末が
.Sy \&os
ケーパビリティを持つ場合です。
この理由は、通過する文字を空白が消してしまうからです。
.Pp
ここで非常に重要なポイントは、
.Nm
でエンコードされるローカルなカーソル移動は、
.Tn CRT
表示の左端および上端では動作が未定義だということです。
ローカルなカーソル移動を使用している場合には、
左端においては
.Sy \&bw
が与えられているのでなければ、
プログラムはバックスペースを試してはなりませんし、
上端においては上への移動を試してはなりません。
.Pp
テキストを上にスクロールするには、プログラムは画面左下角に移動して、
.Sy \&sf
(インデックス) 文字列を送ります。
テキストを下にスクロールするには、プログラムは画面左上角に移動して、
.Sy \&sr
(逆インデックス) 文字列を送ります。
期待された角以外での
.Sy \&sf
および
.Sy \&sr
文字列の動作は未定義です。
パラメータ化したバージョンのスクロールシーケンスは
.Sy \&SF
および
.Sy \&SR
で、
.Sy \&sf
および
.Sy \&sr
と同様の意味ですが、
1 つパラメータを取ってその行数だけスクロールさせるというところが違います。
これらもまた、画面上の適切な角以外での動作は未定義です。
.Pp
.Sy \&am
ケーパビリティは、画面の右端にてテキスト出力を行った時に、
カーソルがその位置に留まるか否かを示します。
しかしこれは、最後の桁での
.Sy \&nd
を必ずしも意味しません。
左端らかの左向きのローカル移動は、
.Sy \&bw
が与えられている場合のみ定義されます;
この場合、左端における
.Sy \&le
は、直前行の右端へ移動します。
例えば、画面の周囲に箱を描画する場合に便利です。
端末が切替選択式の自動マージンを持つ場合には、
.Nm
記述は通常この機能、
.Em すなわち
.Sy \&am
がオンであることを仮定します。
次行の先頭桁への移動コマンドを端末が持つ場合、このコマンドは
.Sy \&nw
(改行) で与えることができます。
これを使用して現在の行の残りの部分をクリアすることができますので、
正しく動作する
.Tn \&CR
および
.Tn \&LF
を持たない場合には、これらの代りに使用することができます。
.Pp
これらの機能で、ハードコピー端末および
.Dq ガラスの tty
端末を記述するためには十分です。
Teletype model 33 は以下のように記述されています
.Bd -literal -offset indent
T3\||\|tty33\||\|33\||\|tty\||\|Teletype model 33:\e
:bl=^G:co#72:cr=^M:do=^J:hc:os:
.Ed
.Pp
また Lear Siegler
.Tn ADM Ns \-3
は以下のように記述されています
.Bd -literal -offset indent
l3\||\|adm3\||\|3\||\|LSI \s-1ADM\s0-3:\e
:am:bl=^G:cl=^Z:co#80:cr=^M:do=^J:le=^H:li#24:sf=^J:
.Ed
.Ss パラメータ化された文字列
カーソル位置設定などのパラメータを要求する文字列は、
パラメータ化された文字列ケーパビリティで記述します。
ここでは
.Xr printf 3
に似たエスケープ
.Sy \&%x
を使用します。その他の文字は変更されずに渡されます。
例えば、カーソル位置設定のために
.Sy \&cm
ケーパビリティが与えられますが、これは 2 つのパラメータを使用します:
それぞれ移動先の行と桁です。
(行と桁は 0 から番号が振られ、ユーザから見える物理画面を参照します。
見えないメモリは参照しません。
端末がメモリ相対のカーソル位置設定機能を持つ場合には、
.Sy \&CM
という似たケーパビリティで指定されます。)
.Pp
.Sy \&%
エンコードは以下の意味を持ちます:
.Bl -column xxxxx
.It %% Ta No `%'
を出力
.It "%d 値を"
.Xr printf
%d のように出力
.It "%2 値を"
.Xr printf
%2d のように出力
.It "%3 値を"
.Xr printf
%3d のように出力
.It "%. 値を"
.Xr printf
%c のように出力
.It "%+" Ns Em x Ta No 値に
.Em x
を加え、% を実行
.It "%>" Ns Em \&xy Ta No もし
値 \&>
.Em x
の場合には
.Em y
を加える。無出力
.It "%r 2 つのパラメータの順を逆転。無出力"
.It "%i 1 増加。無出力"
.It "%n 全パラメータに関した 0140 との排他的論理和 (Datamedia 2500)"
.It "%B" Ta Tn BCD No "(16*(value/10)) + (value%10) を実行。無出力"
.It "%D 逆コーディング (value \- 2*(value%16))。無出力 (Delta Data)"
.El
.Pp
Hewlett-Packard 2645 において第 3 行第 12 桁に移動する場合、
.Dq \eE&a12c03Y
を送って 6 ミリ秒パディングする必要があります。
行と桁の関係がここでは逆であり、行および桁は 2 桁の整数として送る
ことに注意してください。
よって、この端末の
.Sy \&cm
ケーパビリティは
.Dq Li cm=6\eE&%r%2c%2Y
となります。
.Pp
Datamedia 2500 は現在の行と桁を
.Dq \&%.
でバイナリエンコードして送る必要があります。
.Dq \&%.
を使用する端末は、カーソルをバックスペース
.Po Sy \&le Pc
させる機能と画面上で 1 行カーソルを上に移動
.Po Sy \&up Pc
する機能を持つ必要があります。
なぜなら
.Sy \&\en ,
.Sy \&^D ,
.Sy \&\er
を送出するのは常に安全というわけではなく、
システムがこれらに変更を加えたり捨てたりする場合があるからです。(
.Nm
を使用するプログラムは、タブが展開されないように端末モードを設定し、
.Sy \&\et
が安全に送られるようにしなければなりません。
これは Ann Arbor 4080 において本質的です。)
.Pp
最後の例は Lear Siegler
.Tn ADM Ns \-3a
です。この端末では行と桁は空白文字で与えますので、
.Dq Li cm=\eE=%+ %+\
となります。
.Pp
絶対値での行や桁のカーソル位置設定は、単一パラメータのケーパビリティ
.Sy \&ch
(水平絶対位置) および
.Sy \&cv
(垂直絶対位置) で与えられます。
一般的な 2 パラメータシーケンスよりもこれらを使用する方が短かいことがあり
(Hewlett-Packard 2645 の場合)、
.Sy \&cm
よりも好んで使用され得ます。
パラメータ化されたローカル移動
.Pf ( Em 例えば
.Ar n
個右に移動) の機能がある場合、
.Sy \&DO ,
.Sy \&LE ,
.Sy \&RI ,
.Sy \&UP
として与えられます。これらは単一パラメータを取り、
いくつ移動するのかを示します。
第 1 に Tektronix 4025 のような
.Sy \&cm
を持たない端末で有用です。
.Ss カーソル移動
.Pp
端末が高速にカーソルをホーム (画面の左上角) に移動する方法がある場合、これは
.Sy \&ho
として与えられます。
同様に、高速に左下角に移動する方法は、
.Sy \&ll
で与えられます;
これには、ホームポジションにて
.Sy \&up
を使用することによる上への移動を含みますが、
プログラム自身がこれを実行してはなりません (ただし
.Sy \&ll
が実行する場合を除く)。
なぜならプログラムはホームポジションでの上への移動の効果を
仮定できないからです。)
ホームポジションは、カーソル位置 (0,0) と同じです:
画面の左上角であり、メモリは無関係です。
(それゆえ、Hewlett-Packard 端末の
.Dq \eEH
シーケンスは、
.Sy \&ho
としては使用できません。)
.Ss 領域クリア
端末が、現在位置に留まりつつ、現在位置から行末までクリア可能である場合には、
この機能は
.Sy \&ce
として与えられます。
端末が、現在位置から描画終端までをクリア可能である場合には、この機能は
.Sy \&cd
として与えられます。
.Sy \&cd
は行の最初の桁においてのみ起動可能です。(よって、真の
.Sy \&cd
が利用できない場合、この機能は多数の行を削除する要求にてシミュレート可能です。)
.Ss 行の挿入および削除
端末が、カーソルがいる行の前に新しい空行を開けることが可能な場合、この機能は
.Sy \&al
として与えられます; この機能を起動するには行頭にいる必要があります。
行を開けると、カーソルは新しい空行の左端に移動します。
端末が、カーソルがいる行を削除可能な場合、この機能は
.Sy \&dl
として与えられます;
この機能を起動するには削除する行の先頭にいる必要があります。
1 つパラメータを取ってその数だけ行を挿入および削除する
.Sy \&al
および
.Sy \&dl
の変形は、
.Sy \&AL
および
.Sy \&DL
として与えられます。
端末が、(VT100 のように) 設定可能なスクロール領域を持つ場合、
設定コマンドは 2 つのパラメータを取る
.Sy \&cs
ケーパビリティとして記述されます:
パラメータはスクロール領域の上端行および下端行です。
なんとしたことか、このコマンド使用後のカーソル位置は未定義です。
行挿入および行削除の効果はこのコマンドを使用することで得られます \(em
.Sy \&sc
および
.Sy \&rc
(カーソルの保存と回復) コマンドもまた有用です。
画面の上端または下端における行挿入は、
真の行挿入/削除を持たない多くの端末において、
.Sy \&sr
または
.Sy \&sf
にて実行できます。
また、真の行挿入/削除機能を持つ端末においても、
こちらの方が高速な場合が多いです。
.Pp
メモリの一部を、
全コマンドが影響するウィンドウとして定義する能力を端末が持つ場合、
これはパラメータ化された文字列
.Sy \&wi
で与えられます。
4 つのパラメータは順番に、メモリにおける開始行・終了行・開始桁・終了桁です。
(この
.Xr terminfo
ケーパビリティは完全性のために記述しています。
.Nm
を使用するプログラムはこの機能を使ってはいないでしょう。)
.Pp
端末が画面より上方の表示メモリを保存する場合、
.Sy \&da
ケーパビリティが与えられます;
下方の表示メモリが保存される場合、
.Sy \&db
が与えられます。
これらの機能は、
行削除やスクロールにより非空白行が下から現れることや、
.Sy \&sr
による後退スクロールにより非空白行が上から現れることを示します。
.Ss 文字の挿入および削除
.Nm
にて記述可能な文字挿入および削除に関しては、
基本的に 2 種類のインテリジェント端末があります。
最も一般的な文字の挿入/削除操作は現在行の文字にのみ作用し、
行末までの文字を厳格にシフトします。
他の端末、Concept\-100 や Perkin Elmer Owl では、
タイプされた空白とタイプされたものではない空白を区別し、
挿入/削除に際するシフトは
画面上のタイプされたものではない空白にのみ適用されます。
タイプされたものではない空白は、削除されるか、
2 つのタイプされたものではない空白に拡張されます。
使用している端末の種類を判別するためには、
画面をクリアし、カーソル移動を含めてテキストをタイプします。例えば
.Dq Li abc\ \ \ \ def
を、
.Dq abc
.Dq def
の間でローカルなカーソル移動 (空白ではありません) を行ってタイプします。
その後、カーソルを
.Dq abc
の前に移動し、端末を挿入モードにします。
そこで文字をタイプすると
行の残りの部分が厳密にシフトされ終端から出て行く場合、
あなたの端末は空白とタイプされたものではない位置とを区別しません。
もし挿入に際して、
.Dq abc
.Dq def
のところまでシフトし、
それから一緒に現在の行の終端まで移動して次行に移動する場合、
あなたの端末は 2 番目の種類の端末を持っていますので、
.Dq ナル挿入
を表すケーパビリティ
.Sy \&in
を指定します。
これら 2 つは論理的に別の属性
(1 行
.Em 対
複数行の挿入モードでタイプされたものではない空白を特別に扱う) ですが、
挿入モードをどちらかで記述できない端末を我々は見たことがありません。
.Pp
.Nm
エントリは、挿入モードを持つ端末も、
単純なシーケンスを送って現在の行に空白位置を開ける端末も、両方記述可能です。
.Sy \&im
は挿入モードに入るシーケンスを表します。
.Sy \&ei
は挿入モードから抜けるシーケンスを表します。そして、
.Sy \&ic
は、挿入する文字を送る直前に送る必要があるシーケンスを表します。
真の挿入モードを持つほとんどの端末は、
.Sy \&ic
を指定しません;
一方、画面上の位置を開けるためにシーケンスを使用する端末は、
これを指定する必要があります。
(端末が両方の機能を持つ場合には、挿入モードは通常
.Sy \&ic
が好まれます。実際に両機能を組み合せる必要がある端末の場合以外は、
両方を指定しないでください。)
挿入後にパディングが必要な場合、ミリ秒数にて
.Sy \&ip
(文字列オプション) で与えます。
1 文字挿入後に送る必要があるシーケンスもまた
.Sy \&ip
で指定します。`挿入モード' である必要があり、
なおかつ挿入文字の前に特別のコードを送る必要がある端末の場合、
.Sy \&im Ns / Sy \&ei
.Sy \&ic
が与えられ、両方を使用します。
単一のパラメータ
.Em n
を取る
.Sy \&IC
ケーパビリティは、
.Sy \&ic
の効果を
.Em n
回繰り返します。
.Pp
挿入モード中で同一行の文字を削除するために、時々移動が必要になります
.Pf ( Em 例えば
挿入位置の後にタブがある場合)。
挿入モード中で移動を許す端末の場合、ケーパビリティ
.Sy \&mi
を指定して、このような場合の挿入を高速化できます。
.Sy \&mi
を省略しても速度に影響するだけです。
端末によっては (特に Datamedia のものでは)、挿入モードの動作方法の理由により、
.Sy \&mi
を指定してはなりません。
.Pp
最後に、1 文字削除のために
.Sy \&dc
を指定可能です。
.Sy \&DC
は単一パラメータ
.Em n
を取り
.Em n
文字削除します。
そして削除モードは、
.Sy \&dm
および
.Sy \&ed
で、削除モードの入り方および抜け方を示します (削除モードとは、
.Sy \&dc
が動作するために端末がいるべきモードです)。
.Ss ハイライト・下線・可視ベル
端末が 1 つまたはそれ以上の種類の表示属性を持つ場合、
これらは様々な方法で表現されていることでしょう。
1 つの表示形式を
.Em 強調表示モード
として選択してください。このモードは十分高いコントラストで見易く、
エラーメッセージや注意を引く表示のハイライトに適します。
(選択可能ならば、反転表示に半分の明るさ、もしくは反転表示のみが良いでしょう。)
強調表示モードに入るシーケンスおよび出るシーケンスは、それぞれ
.Sy \&so
および
.Sy \&se
で与えられます。
.Tn TVI
912 や Teleray 1061 のように、
強調表示モードの出入りのコードが、
1 つ 2 つの空白やごみの文字を画面上に残す場合、
.Sy \&sg
を指定して、何文字残されるのかを指定してください。
.Pp
下線の開始および下線の終了は、それぞれ
.Sy \&us
および
.Sy \&ue
で指定します。
下線モード変更によるごみは、
.Sy \&sg
同様
.Sy \&ug
として指定します。
Microterm Mime のように、現在位置の文字に下線を引き、
カーソルをひとつ右の位置に移動するコードを端末が持つ場合、
このコードは
.Sy \&uc
で指定します。
.Pp
その他もろもろのハイライトモードに入るケーパビリティには、
.Sy \&mb
(点滅)、
.Sy \&md
(ボールドまたは更に明るい)、
.Sy \&mh
(暗いまたは半輝度)、
.Sy \&mk
(空白または見えないテキスト)、
.Sy \&mp
(保護状態)、
.Sy \&mr
(反転表示)、
.Sy \&me
.Pf ( Em 全て
の属性モードをオフ)、
.Sy \&as
(別の文字セットモードに入る) そして
.Sy \&ae
(別の文字セットモードから抜ける) があります。
これらのモードを単独でオンにした場合、
他のモードをオフにする場合もありますし、オフにしない場合もあります。
.Pp
モードの任意の組み合わせを設定するシーケンスがある場合、
これは 9 個のパラメータを取る
.Sy \&sa
(属性設定) で指定します。
それぞれのパラメータは 0 または 1 であり、
対応する属性がオンまたはオフされます。
9 個のパラメータは順番に次の通りです: 強調表示・下線・反転・点滅・
暗い・ボールド・空白・保護・別の文字セット。
全モードが
.Sy \&sa
によりサポートされている必要は無く、
サポートされているものに対応するコマンドが存在することのみ必要です。(
.Nm
を使用するプログラムはこのケーパビリティをサポートしていないでしょう。
このケーパビリティは
.Xr terminfo
との互換性のために定義しています。)
.Pp
各文字セルに追加された属性ビットを管理するのではなく、
.Dq マジッククッキー
グリッチ
.Pf ( Sy \&sg
および
.Sy \&ug )
を持つ端末では、
描画アルゴリズムに影響するモード設定シーケンスを受信した時に、
特別な
.Dq クッキー
または
.Dq ごみ文字
を画面に残します。
.Pp
Hewlett-Packard 2621 のように、
新しい行へ移動した時やカーソル位置を設定した時に
自動的に強調表示モードから抜ける端末があります。
このような端末においては、強調表示モードを使用するプログラムは、
カーソル移動や改行送信前に強調表示モードから抜ける必要があります。
このような問題が無い端末では、
.Sy \&ms
ケーパビリティが存在し、このオーバヘッドが不要であることを示します。
.Pp
エラーを静かに伝えるために端末が画面をフラッシュさせる方法を持つ場合
(ベルの代りです)、これは
.Sy \&vb
として指定します; この機能はカーソルを移動してはなりません。
.Pp
カーソルが最下行になくても、
通常時よりも見易くする必要がある場合
(例えば、点滅していない下線を、
より見付け易いブロックや点滅する下線に変更する場合)、このシーケンスは
.Sy \&vs
で与えます。
カーソルを完全に見えなくする方法がある場合には、これは
.Sy \&vi
ケーパビリティで指定します。
これらのモードの効果を打ち消すケーパビリティ
.Sy \&ve
も指定する必要があります。
.Pp
(特別なコードを必要とせずに) 下線を引かれた文字を端末が正しく表示する場合、
しかもその機能が上打ちではない場合、
このケーパビリティを
.Sy \&ul
で示します。
上打ちを空白にて消去可能な場合、これは
.Sy \&eo
で示します。
.Ss キーパッド
キーを押した時にコードを送出するキーパッドを持つ端末では、
この情報を指定することができます。
キーパッドがローカルモードにおいてのみ動作する端末は
扱うことができないことに注意してください。
(これは例えば Hewlett-Packard 2621 でシフト状態でないキーにあてはまります)。
キーコードの送出 / 非送出をキーパッドに設定できる場合は、
設定のためのコードは
.Sy \&ks
および
.Sy \&ke
で指定します。
そうでない場合はキーパッドは常にコードを送出するものと仮定されます。
left-arrow, right-arrow, up-arrow, down-arrow, home のキーで送出されるコードは
それぞれ
.Sy \&kl ,
.Sy \&kr ,
.Sy \&ku ,
.Sy \&kd ,
.Sy \&kh ,
で指定します。
f0, f1, ..., f9 のようなファンクションキーがある場合には、
これらのキーが送るコードは
.Sy \&k0 ,
.Sy \&k1 ,
...,
.Sy \&k9
で指定します。
これらのキーがデフォルトの f0 から f9 以外のラベルを持つ場合、このラベルは
.Sy \&l0 ,
.Sy \&l1 ,
...,
.Sy \&l9
で指定します。
その他の特殊キーで送出されるコードは次のように与えられます:
.Sy \&kH
(ホームダウン)、
.Sy \&kb
(バックスペース)、
.Sy \&ka
(全タブクリア)、
.Sy \&kt
(この桁のタブストップをクリア)、
.Sy \&kC
(画面クリアまたは消去)、
.Sy \&kD
(文字削除)、
.Sy \&kL
(行削除)、
.Sy \&kM
(挿入モードから抜ける)、
.Sy \&kE
(行末までクリア)、
.Sy \&kS
(画面の終りまでクリア)、
.Sy \&kI
(文字挿入または挿入モードに入る)、
.Sy \&kA
(行挿入)、
.Sy \&kN
(次のページ)、
.Sy \&kP
(前のページ)、
.Sy \&kF
(前進/下降スクロール)、
.Sy \&kR
(後退/上昇スクロール)、
.Sy \&kT
(この桁にタブストップを設定)。
更に、キーパッドが 4 つの矢印キーを含む 3 × 3 のキー配列を持つ場合、
他の 5 つのキーは
.Sy \&K1 ,
.Sy \&K2 ,
.Sy \&K3 ,
.Sy \&K4 ,
.Sy \&K5
で指定します。
3 × 3 の方向パッドが必要な時、これらのキーは有用です。
以前
.Dq その他
のファンクションキーを記述するために使用された、廃れた
.Sy \&ko
ケーパビリティは、上記のケーパビリティにより完全に置き換えられました。
.Pp
.Sy \&ma
エントリはまた、
端末の矢印キーが 1 文字矢印キーであることを示すためにも使用されます。
これは廃れた方法ですが、
.Sy \&vi
のバージョン 2 で未だ使用されています。
メモリ制約の理由で、このコマンドを使用しているミニコンピュータがあるでしょう。
このフィールドは
.Sy \&kl ,
.Sy \&kr ,
.Sy \&ku ,
.Sy \&kd ,
.Sy \&kh
と冗長関係にあります。
このフィールドは 2 文字の複数グループから構成されます。
各グループにおいては、最初の文字は矢印キーが何を送るかを表し、
2 番目の文字は対応する
.Sy \&vi
のコマンドを表します。
コマンドは、
.Ar h
.Sy \&kl
に、
.Ar j
.Sy \&kd
に、
.Ar k
.Sy \&ku
に、
.Ar l
.Sy \&kr
に、
.Ar H
.Sy \&kh
に対応します。
例えば Mime では
.Dq Li ma=^Hh^Kj^Zk^Xl
となり、矢印キーの left (^H), down (^K), up (^Z), down (^X) を示します。
(Mime には home キーはありません。)
.Ss タブおよび初期化
これらのケーパビリティを使用するプログラムを実行する時に
端末を特別なモードにすることが必要な場合、
このモードに入るコードおよび出るコードは
.Sy \&ti
.Sy \&te
で指定します。
これが関係あるのは、例えば Concept のようなメモリページを複数持つ端末です。
端末がメモリ相対のカーソル位置設定のみ持ち、
画面相対のカーソル位置設定を持たない場合には、
画面サイズのウィンドウに表示を固定し、
カーソル位置設定が正しく動作するようにする必要があります。
これは Tektronix 4025 でも使用され、
.Sy \&ti
はコマンド文字を
.Nm
が使うように設定します。
.Pp
他のケーパビリティとしては、端末初期化文字列
.Sy \&is
や、長い初期化文字列を格納するファイル名
.Sy \&if
があります。
これらの文字列は、端末を
.Nm
記述と矛盾がないモードに設定するものと期待されています。
これらは通常、ユーザがログインするたびに、
.Xr tset
プログラムによって端末に送られます。
印字は次の順に行われます: まず
.Sy \&is ;
次に
.Sy \&ct
.Sy \&st
によるタブ設定;
そして最後に
.Sy \&if
です。
.Pf ( Xr terminfo
では
.Sy \&is
の代りに
.Sy \&i\&1-i2
を使用し、プログラム
.Sy \&iP
を実行し、他の初期化の後
.Sy "\&i\&3"
を印字します。)
まったくわけがわからない状態から回復するためのよりハードな
リセットシーケンスの組が、類推できる名前
.Sy \&rs
および
.Sy \&rf
で与えられます。
これらの文字列は、端末がはまった状態に陥いった時に使用される
.Xr reset
プログラムにより出力されます。
.Pf ( Xr terminfo
.Sy \&rs
の代りに
.Sy "\&r1-r3"
を使用します。)
これらのコマンドが画面上を騒がせ、
なおかつログイン時に必ずしも必要ではない場合に限り、
通常これらは
.Sy \&rs
および
.Sy \&rf
に格納します。
例えば、VT100 を 80 桁モードに設定するコマンドは、普通に考えると
.Sy \&is
の一部に入れるでしょうが、これは画面に困ったゴミを生じさせますし、
端末は普段既に 80 桁モードですので、実際は入れる必要はありません。
.Pp
端末がハードウェアタブを持つ場合、
次のタブストップまで進むコマンドは
.Sy \&ta
で指定します (通常は
.Sy \&^I
です)。
直前のタブストップへ左向きに移動する
.Dq バックタブ
コマンドは、
.Sy \&bt
で指定します。
タブストップが端末には送られずに計算機により展開されることを
端末ドライバモードが示す場合、
.Sy \&ta
.Sy \&bt
が存在するとしても、プログラムでこれらを使用しないというのが約束になって
います。
なぜなら、ユーザがタブストップを正しく設定していないかもしれないからです。
端末電源オン時に各
.Ar n
位置ごとにハードウェアタブが初期設定される端末の場合、
数値パラメータ
.Sy \&it
を使用し、タブストップ間隔を示します。
このコマンドは通常
.Xr tset
コマンドが使用し、ドライバモードをハードウェアタブ展開に設定するか否か、
およびタブストップを設定するか否かを決定します。
端末が不揮発性メモリにタブストップを保存可能な場合、
.Nm
記述はタブストップが正しく設定されるものと仮定できます。
.Pp
タブストップを設定およびクリアするコマンドが存在する場合、
これらのコマンドは
.Sy \&ct
(全タブストップをクリア) および
.Sy \&st
(全ての行における現在の桁にタブストップを設定) で指定します。
タブ設定のために、ここで示した方法より複雑なシーケンスが必要な場合、
このシーケンスは
.Sy \&is
.Sy \&if
で指定します。
.Ss 遅延
端末ドライバのパディングを制御するケーパビリティもあります。
これらのケーパビリティは、第 1 にハードコピー端末にて必要とされ、
.Xr tset
プログラムにより端末ドライバのモードを適切に設定するために使用されます。
ケーパビリティ
.Sy \&cr ,
.Sy \&sf ,
.Sy \&le ,
.Sy \&ff ,
.Sy \&ta
に埋め込まれる遅延は、端末ドライバの適切な遅延ビットを設定する効果があります。
.Sy \&pb
(パディングボーレート) を指定した場合、
この値より低いボーレートにおいては、これらの値は無視されます。
.Bx 4.2
.Xr tset
では、遅延は別の数値ケーパビリティ
.Sy \&dC ,
.Sy \&dN ,
.Sy \&dB ,
.Sy \&dF ,
.Sy \&dT
で与えられます。
.Ss その他
端末が
.Dv NUL
(0) 文字以外のパディング文字を必要とする場合には、
.Sy \&pc
で指定します。
.Sy \&pc
文字列の最初の文字のみが使用されます。
.Pp
端末がカーソル位置を保存および回復するコマンドを持つ場合には、これらは
.Sy \&sc
および
.Sy \&rc
で指定します。
.Pp
通常はソフトウェアが使用しない追加の
.Dq ステータス行
を端末が持つ場合、この事実を示すことができます。
ステータス行が最下行の下に追加の行として見える場合には、ケーパビリティ
.Sy \&hs
を指定します。
ステータス行の位置への移動およびステータス行からの復帰のための特別な文字列は、
.Sy \&ts
および
.Sy \&fs
で指定します。
.Pf ( Sy \&ts
の前にカーソルが存在した位置に、
.Sy \&fs
はカーソルを戻す必要があります。必要ならば、
.Sy \&sc
および
.Sy \&rc
の文字列を
.Sy \&ts
および
.Sy \&fs
に含めてこの効果を得ることができます。)
ケーパビリティ
.Sy \&ts
は、ステータス行の何桁目にカーソルが移動すべきを示すパラメータを 1 つ取ります。
エスケープシーケンスや他の特殊コマンド、
例えばタブがステータス行でも動作するならば、フラグ
.Sy \&es
を指定します。
ステータス行をオフにする (または内容を消去する) 文字列は、
.Sy \&ds
で指定します。
通常、ステータス行の幅は画面の他の部分、
.Em すなわち
.Sy \&co
と同じであると仮定されます。(端末が行全体の使用を許さない等の理由で)
ステータス行の幅が異なる場合には、その幅を桁数で数値パラメータ
.Sy \&ws
で指定します。
.Pp
端末が半行上下に移動可能な場合、
.Sy \&hu
(半行上) および
.Sy \&hd
(半行下) で指定します。
これは、ハードコピー端末で上付き文字および下付き文字を使用するために有用です。
ハードコピー端末がページを排出して次のページに移動 (フォームフィード) する
ことができる場合、これは
.Sy \&ff
(通常
.Sy \&^L
です) で指定します 。
.Pp
指定した文字を指定した回数繰り返すコマンド
(同一文字を何度も送出する時間を節約します) がある場合、
パラメータ化された文字列
.Sy \&rp
で指定します。
最初のパラメータは繰り返される文字であり、2 番目のパラメータは
繰り返す回数です。(これは
.Xr terminfo
の機能であり、
.Nm
を使用するプログラムはこの機能をサポートしていないでしょう。)
.Pp
Tektronix 4025 のように端末が設定可能なコマンド文字を持つ場合、
.Sy \&CC
で指定します。
全ケーパビリティで使用されるプロトタイプコマンド文字が選択されます。
この文字を識別するために、この文字が
.Sy \&CC
ケーパビリティにより与えられます。
次の約束をサポートしている
.Ux
システムがあります: すなわち、
.Ev \&CC
環境変数を検査し、もし設定されている場合には、
プロトタイプ文字を環境変数で設定されているものと置き換えるという約束です。
このように
.Ev \&CC
環境変数を使用することは、
.Xr make 1
との衝突が発生しますので、非常に悪い考えです。
.Pp
特定の既知の端末を表現するものではない端末記述、
.Em switch ,
.Em dialup ,
.Em patch ,
.Xr network
では
.Sy \&gn
(一般) ケーパビリティを設定し、
端末に対してどのように話しかければよいのか分らないと
プログラムが文句を言えるようにします。
(このケーパビリティは、エスケープシーケンスが既知である
.Em 仮想
端末記述にはあてはまりません。
.Pp
端末が xoff/xon
.Pq Tn DC3 Ns / Ns Tn DC1
ハンドシェークを使用してフロー制御する場合、
.Sy \&xo
を指定します。
コストに関するより良い判定を可能とするために
依然としてパディング情報を指定する必要がありますが、
実際にパディング文字が送出されるということはありません。
.Pp
シフトキーのように動作し、送出される文字の 8 ビット目をセットする
.Dq メタキー
を端末が備える場合、
.Sy \&km
を設定してこの事実を示すことができます。
これが指定されない場合は、ソフトウェアは 8 ビット目はパリティであると仮定し、
通常これをクリアしてしまいます。
.Dq メタモード
をオンおよびオフする文字列が存在する場合、これらは
.Sy \&mm
および
.Sy \&mo
で指定します。
.Pp
画面 1 枚分より多くのメモリ行を端末が備える場合、
メモリの行数を
.Sy \&lm
で指定します。
明示的に値 0 を指定すると、行数は固定ではないものの
画面分より多くのメモリがあることを示します。
.Pp
.Ux
システムの仮想端末プロトコルにてサポートされる端末である場合、
端末番号は
.Sy \&vt
で与えられます。
.Pp
端末に接続された外部プリンタを制御するメディアコピー文字列は、
次のように与えられます。すなわち
.Sy \&ps :
画面内容の印字;
.Sy \&pf :
プリンタオフ; および
.Sy \&po :
プリンタオンです。
プリンタオン時には、端末に送られる全てのテキストはプリンタに送られます。
プリンタオン時に端末画面にもテキストが表示されるか否かは未定義です。
このバリエーションである
.Sy \&pO
は単一のパラメータを取り、
パラメータ値で指定される文字数だけプリンタをオンにし、
その後プリンタをオフにします。
このパラメータは 255 を越えてはなりません。
.Sy \&pf
を含む全テキストは、
.Sy \&pO
が有効である間、透過的にプリンタに渡されます。
.Pp
プログラムファンクションキーへの文字列は
.Sy \&pk ,
.Sy \&pl ,
.Sy \&px
で指定します。
これらの文字列は次の 2 つのパラメータを取ります:
それぞれ、プログラム対象のファンクションキー番号 (0 から 9 まで) と、
プログラムの文字列です。
この範囲外のファンクションキー番号を指定すると、
ここでは定義できないキーを端末依存の方式でプログラムするかもしれません。
これらのケーパビリティの差異は、
.Sy \&pk
は指定したキーを押すと指定した文字列を
ユーザがタイプしたものとして扱うものであり;
.Sy \&pl
はローカルモードの端末にて指定した文字列を実行させるものであり;
.Sy \&px
は指定した文字列を計算機に送出させるものである点です。
不幸なことに、
.Nm
では文字列パラメータが定義されていないため、
.Xr terminfo
のみがこれらのケーパビリティをサポートします。
.Ss グリッチと不良
文字 `~' を表示できない Hazeltine 端末は
.Sy \&hz
を指定する必要があります。
.Pp
.Sy \&nc
ケーパビリティは現在廃れていますが、
以前は Datamedia 端末を表すために使用していました。
この端末では、キャリッジリターンに対して
.Sy \&\er \en
をエコーし、続くラインフィードを無視します。
.Pp
Concept のように
.Sy \&am
による折り返しの直後のラインフィードを無視する端末では、
.Sy \&xn
を指定します。
.Pp
強調表示を取り除くために (単に通常のテキストを上書きするだけで済まず)
.Sy \&ce
が必要な場合、
.Sy \&xs
を指定します。
.Pp
タブによって移動された全ての文字が空白にされてしまう Teleray 端末では、
.Sy \&xt
(破壊的なタブ) を指定する必要があります。
このグリッチは、\*(lqマジッククッキー\*(rq の先頭に
カーソル位置を設定できないことと、
強調表示を消すためには行削除と行挿入が必要であることも表現します。
.Pp
.Dv ESC
.Sy \&^C
の文字を正しく送出できない Beehive Superbee は
.Sy \&xb
を指定し、
.Dq \&f\&1
キーが
.Dv ESC
として使用され、
.Dq \&f\&2
キーが ^C として使用されることを示します。(
特定の Superbee のみがこの問題を持ち、これは
.Tn ROM
に依存します。)
.Pp
ある特定の端末に他の問題がある場合、
.Sy x Ns Em x
の形式のケーパビリティを追加することにより正しく動作するようにしても
構いません。
.Ss 似た端末
2 つの非常によく似た端末がある場合、
例外はあるもののもう一方にそっくりであると、
一方を定義することができます。
文字列ケーパビリティ
.Sy \&tc
には似た端末の名前を与えます。
このケーパビリティは
.Em 最後
である必要があり、組み合わせたエントリの長さは 1024 を越えてはなりません。
.Sy \&tc
の前に指定したケーパビリティは
.Sy \&tc
により呼び出される端末タイプの記述に優先します。
ケーパビリティのキャンセルのためには
.Sy \&xx@
.Sy \&tc
の呼び出しの左に置きます。
.Sy \&xx
はキャンセルされるケーパビリティです。
例えば、エントリ
.Bd -literal -offset indent
hn\||\|2621\-nl:ks@:ke@:tc=2621:
.Ed
.Pp
は、ビジュアルモードでファンクションキーラベルをオンにしないために
.Sy \&ks
.Sy \&ke
のケーパビリティを持たない
.Dq 2621\-nl
を定義します。
端末の種々のモードやユーザの種々のプリファレンスを記述するために有用です。
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/termcap.db -compact
.It Pa /usr/share/misc/termcap
端末記述を格納するファイル
.It Pa /usr/share/misc/termcap.db
端末記述を格納するハッシュデータベースファイル
.Pf ( Xr cap_mkdb 1
を参照)。
.El
.Sh 関連項目
.Xr cap_mkdb 1 ,
.Xr ex 1 ,
.Xr more 1 ,
.Xr tset 1 ,
.Xr ul 1 ,
.Xr vi 1 ,
.Xr curses 3 ,
.Xr printf 3 ,
.Xr termcap 3 ,
.Xr term 5
.Sh 警告およびバグ
.Em 注 :
.Nm
の機能は
.At V
Release 2.0 の
.Xr terminfo
に置き換えられました。
.Dq 廃れた
とされるケーパビリティを使用していなければ、
移行のための苦痛は比較的少ないです。
.Pp
現在、行数および桁数は、
termcap エントリに格納するものと同様に、カーネルが格納します。
現在、ほとんどのプログラムはカーネルの情報を最初に使用します;
このファイルに記述されている情報は、
カーネルが情報を持たない時のみ使用されます。
.Pp
.Xr \&vi 1
プログラムは文字列ケーパビリティには 256 文字しか許しませんが、
.Xr termlib 3
のルーチンはこのバッファの溢れをチェックしません。
単一エントリの総計の長さは 1024 を越えてはなりません
(エスケープされた改行は除きます)。
.Pp
全てのプログラムが全てのエントリをサポートしているわけではありません。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 3
に登場しました。
diff --git a/ja_JP.eucJP/man/man5/ttys.5 b/ja_JP.eucJP/man/man5/ttys.5
index 660431d84d..338286aa8a 100644
--- a/ja_JP.eucJP/man/man5/ttys.5
+++ b/ja_JP.eucJP/man/man5/ttys.5
@@ -1,167 +1,167 @@
.\" 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.
.\"
.\" WORD: line 回線
.\"
.\" from: @(#)ttys.5 8.1 (Berkeley) 6/4/93
+.\" %Id: ttys.5,v 1.9 1997/11/21 07:43:53 charnier Exp %
.\" jpman %Id: ttys.5,v 1.3 1998/06/17 07:52:43 kumano Stab %
-.\" %Id: ttys.5,v 1.3.2.3 1997/12/15 07:10:54 charnier Exp %
.\" "
.Dd November 17, 1996
.Dt TTYS 5
.Os
.Sh 名称
.Nm ttys
.Nd 端末初期設定情報
.Sh 解説
ファイル
.Nm
は端末特殊ファイルを初期化したり制御するあらゆるルーチンが使用する
情報を含んでいます。
この情報は
.Xr getttyent 3
ライブラリルーチンで読まれます。
.Nm
ファイルの中には 1 つのスペシャルデバイスファイルにつき 1 行の記述が
あります。
フィールドはタブやスペースにより区切られます。
1 語以上からなるフィールドはダブルクォート (``"'') で括られていなければ
なりません。
空行やコメントはファイル中のどこに現れても構いません。
コメントはハッシュ記号 (``#'') および改行によって区切られます。
指定されていないフィールドはデフォルトでナルです。
.Pp
最初のフィールドは
.Pa /dev
にあるような端末特殊ファイルの名前です。
.Pp
2 番目のフィールドはその回線に対して実行するコマンドで、
通常
.Xr getty 8
です。これは回線を初期化して開くプログラムで、スピードを設定したり、
ユーザ名を待ったり
.Xr login 1
プログラムを実行します。
しかしながら、それはどんな希望するコマンド、例えばウィンドウシステム
の端末エミュレータやデーモンプロセスの起動コマンドでも構いません。
そして、もしクォートで括られているのなら複数語を含む事もできます。
.Pp
3 番目のフィールドは通常その tty 回線に接続される端末のタイプで、普通
.Xr termcap 5
データベースファイル中に収められています。
環境変数
.Ev TERM
.Xr getty 8
または
.Xr login 1
による値に初期化されます。
.Pp
残りのフィールドは
.Fa ty_status
エントリ
.Xr (getttyent 3
参照) 中のフラグを指定したり、その端末回線に対して
.Xr init 8
が維持するウィンドウシステムのプロセスを指定したり、
オプションで tty のタイプ
(ダイアルインか、ネットワークか、またはそれ以外か) を決定したり、
またログインクラスのデータベース
.Xr (login.conf 5
参照) が多くの tty をグループとして参照できるような
tty グループ名を指定します。
これはグループとして tty に対して選択的にアクセスを許可または
拒否したりアカウンティング機能を可能または不可能にするためです。
.Pp
フラグの値としては、文字列 ``on'' と ``off'' は
.Xr init 8
が 2 番目のフィールドで与えられるコマンドを実行するか(しないか)を
指定します。一方 ``secure'' は ( ``on'' も与えられていれば) uid が
0 のユーザがこの回線にログインすることを許可します。
フラグ ``dialin'' は tty エントリがダイアルイン回線であることを
示しており、 ``network'' は tty エントリがネットワーク接続で
あることを示しています。
端末タイプのフィールドには、これらの文字列のどちらかが指定できます。
文字列 ``window='' の後には
.Xr init 8
が 2 番目のフィールドで指定されるコマンドを開始する
.Em 前
に実行するコマンド列をクォートで括って続けます。
.Pp
文字列 ``group='' の後には、
多くの tty 回線をアクセスの許可/拒否やアカウンティング機能の
可能/不可能を決めるためのグループとして参照するために
.Xr login.conf 5
で使われる、文字・数字のグループ名を続けます。
何のグループも指定されなかった場合、ttyはグループ "none" に属するように
なります。
以前との互換性のために、 ``group='' は行の最後に、任意のコメントのすぐ前
に現れなければなりません。
.Sh 使用例
.Bd -literal
# 1200 ボーでコンソール、root でのログイン可
console "/usr/libexec/getty std.1200" vt100 on secure
# 1200 ボーでダイアルアップ、root でのログイン不可
ttyd0 "/usr/libexec/getty d1200" dialup on group=dialup # 555-1234
# Mike の端末: hp2621
ttyh0 "/usr/libexec/getty std.9600" hp2621-nl on group=dialup # 457 Evans
# John の端末: vt100
ttyh1 "/usr/libexec/getty std.9600" vt100 on group=dialup # 459 Evans
# 端末エミュレート/ウィンドウシステム
ttyv0 "/usr/new/xterm -L :0" vs100 on window="/usr/new/Xvs100 0"
# ネットワーク仮想 tty -- getty は使用しません
ttyp0 none network group=pty
ttyp1 none network off group=pty
.Ed
.\" 「使用例」1行目 `root login on ...'
.\" 3行目の `no root logins' との対比であるから、
.\" 3行目の訳と対比させて「root でのログイン可」と訳した。
.\" (98/06/17 kumano@jp.freebsd.org)
.Sh 関連ファイル
.Bl -tag -width /etc/ttys -compact
.It Pa /etc/ttys
.El
.Sh 関連項目
.Xr login 1 ,
.Xr getttyent 3 ,
.Xr ttyslot 3 ,
.Xr gettytab 5 ,
.Xr login.conf 5 ,
.Xr termcap 5 ,
.Xr getty 8 ,
.Xr init 8
.\".Xr init 8 ,
.\".Xr ttyflags 8
.Sh 歴史
.Nm
ファイルは
.At v6
で登場しました。
diff --git a/ja_JP.eucJP/man/man5/types.5 b/ja_JP.eucJP/man/man5/types.5
index 7b82d564b0..2bf9a4aecb 100644
--- a/ja_JP.eucJP/man/man5/types.5
+++ b/ja_JP.eucJP/man/man5/types.5
@@ -1,196 +1,220 @@
.\" 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.
.\"
.\" @(#)types.5 8.1 (Berkeley) 6/5/93
+.\" %Id: types.5,v 1.8 1998/02/24 02:19:02 bde Exp %
.\" jpman %Id: types.5,v 1.3 1998/07/30 15:28:11 horikawa Stab %
-.\" %Id: types.5,v 1.3.2.2 1997/02/28 05:53:25 mpp Exp %
.\"
.Dd June 5, 1993
.Dt TYPES 5
.Os BSD 4
.Sh 名称
.Nm types
.Nd システムのデータ型
.Sh 書式
.Fd #include <sys/types.h>
.Sh 解説
ファイル
.Pa sys/types.h
はカーネル内部で (ほとんどの物はシステム全体を通じて) 用いられる、
定義済みのデータ型を含みます。
.Bd -literal
#ifndef _SYS_TYPES_H_
#define _SYS_TYPES_H_
/* 機種に依存するパラメータ。 */
#include <machine/ansi.h>
#include <machine/types.h>
#ifndef _POSIX_SOURCE
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort; /* Sys V との互換性 */
typedef unsigned int uint; /* Sys V との互換性 */
#endif
typedef u_int64_t u_quad_t; /* quads */
typedef int64_t quad_t;
typedef quad_t * qaddr_t;
typedef char * caddr_t; /* コアアドレス */
typedef int32_t daddr_t; /* ディスクアドレス */
typedef u_int32_t dev_t; /* デバイス番号 */
+typedef u_int32_t fixpt_t; /* 固定小数点数 */
typedef u_int32_t fixpt_t; /* 固定小数点数 */
typedef u_int32_t gid_t; /* グループ ID */
typedef u_int32_t ino_t; /* i ノード番号 */
typedef long key_t; /* IPC キー (Sys V プロセス間通信用) */
typedef u_int16_t mode_t; /* パーミッション */
typedef u_int16_t nlink_t; /* リンクカウント */
typedef _BSD_OFF_T_ off_t; /* ファイルオフセット */
typedef _BSD_PID_T_ pid_t; /* プロセス ID */
+typedef quad_t rlim_t; /* リソースリミット */
typedef int32_t segsz_t; /* セグメントサイズ */
typedef int32_t swblk_t; /* スワップオフセット */
typedef u_int32_t uid_t; /* ユーザ id */
-typedef quad_t rlim_t; /* リソースリミット */
-
#ifdef KERNEL
typedef int boolean_t;
typedef struct vm_page *vm_page_t;
#endif
-/*
- * これは unistd.h にあるべきですが、lseek の第 2 引数を off_t にキャスト
- * しているプログラムが正しい版の lseek を用いることを確実にするために
- * ここに置かれています。
- */
-#ifndef KERNEL
-#include <sys/cdefs.h>
-__BEGIN_DECLS
-off_t lseek __P((int, off_t, int));
-__END_DECLS
-#endif
-
#ifndef _POSIX_SOURCE
/*
* minor() はインデックスの代わりにクッキーを与えます。これは、ビット0-15
* の意味を変更したり、ビット 16-31 をシフトして、それを使わないデバイス
* にとって時間とスペースの無駄遣いになることをしたくないからです。
*/
#define major(x) ((int)(((u_int)(x) >> 8)&0xff)) /* メジャー番号 */
#define minor(x) ((int)((x)&0xffff00ff)) /* マイナー番号 */
#define makedev(x,y) ((dev_t)(((x) << 8) | (y))) /* dev_t を生成する */
#endif
#include <machine/endian.h>
#ifdef _BSD_CLOCK_T_
typedef _BSD_CLOCK_T_ clock_t;
#undef _BSD_CLOCK_T_
#endif
+#ifdef _BSD_CLOCKID_T_
+typedef _BSD_CLOCKID_T_ clockid_t;
+#undef _BSD_CLOCKID_T_
+#endif
+
#ifdef _BSD_SIZE_T_
typedef _BSD_SIZE_T_ size_t;
#undef _BSD_SIZE_T_
#endif
#ifdef _BSD_SSIZE_T_
typedef _BSD_SSIZE_T_ ssize_t;
#undef _BSD_SSIZE_T_
#endif
#ifdef _BSD_TIME_T_
typedef _BSD_TIME_T_ time_t;
#undef _BSD_TIME_T_
#endif
+#ifdef _BSD_TIMER_T_
+typedef _BSD_TIMER_T_ timer_t;
+#undef _BSD_TIMER_T_
+#endif
+
+#ifdef _BSD_UINT8_T_
+typedef _BSD_UINT8_T_ uint8_t;
+#undef _BSD_UINT8_T_
+#endif
+
+#ifdef _BSD_UINT16_T_
+typedef _BSD_UINT16_T_ uint16_t;
+#undef _BSD_UINT16_T_
+#endif
+
+#ifdef _BSD_UINT32_T_
+typedef _BSD_UINT32_T_ uint32_t;
+#undef _BSD_UINT32_T_
+#endif
+
#ifndef _POSIX_SOURCE
#define NBBY 8 /* 1 バイトに含まれるビット数 */
/*
* select は long 型のファイル記述子ビットマスクを用います。これらの
* マクロはこの型のビットフィールドを操作します (ファイルシステムの
* マクロは char 型を用います)。
* FD_SETSIZE はユーザによって定義することもできますが、ほとんどの
* ユーザにとっては、ここに示すデフォルトで十分でしょう。
*/
#ifndef FD_SETSIZE
-#define FD_SETSIZE 256
+#define FD_SETSIZE 1024
#endif
-typedef long fd_mask;
-#define NFDBITS (sizeof(fd_mask) * NBBY) /* マスクごとのビット */
+typedef long fd_mask;
+#define NFDBITS (sizeof(fd_mask) * NBBY) /* マスクごとのビット */
#ifndef howmany
#define howmany(x, y) (((x) + ((y) - 1)) / (y))
#endif
typedef struct fd_set {
fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
} fd_set;
#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
#define FD_COPY(f, t) bcopy(f, t, sizeof(*(f)))
#define FD_ZERO(p) bzero(p, sizeof(*(p)))
-#if defined(__STDC__) && defined(KERNEL)
/*
- * 関数プロトタイプのための構造体の先行定義。サブシステムの境界を越えて
- * 用いられる共通の構造体をここに含めます。その他の構造体は、ほとんど
- * 定義されたのと同じ場所でしか使用されません。
+ * これらの宣言は別のところに属しますが、ここと <stdio.h> で繰り返して
+ * います。壊れたプログラムが 64 ビットの off_t で動作するようにする
+ * 機会を増すためです。
*/
-struct proc;
-struct pgrp;
-struct ucred;
-struct rusage;
-struct file;
-struct buf;
-struct tty;
-struct uio;
+#ifndef KERNEL
+__BEGIN_DECLS
+#ifndef _FTRUNCATE_DECLARED
+#define _FTRUNCATE_DECLARED
+int ftruncate __P((int, off_t));
#endif
+#ifndef _LSEEK_DECLARED
+#define _LSEEK_DECLARED
+off_t lseek __P((int, off_t, int));
+#endif
+#ifndef _MMAP_DECLARED
+#define _MMAP_DECLARED
+void * mmap __P((void *, size_t, int, int, int, off_t));
+#endif
+#ifndef _TRUNCATE_DECLARED
+#define _TRUNCATE_DECLARED
+int truncate __P((const char *, off_t));
+#endif
+__END_DECLS
+#endif /* !KERNEL */
#endif /* !_POSIX_SOURCE */
+
#endif /* !_SYS_TYPES_H_ */
.Ed
.Sh 関連項目
.Xr gdb 1 ,
.Xr lseek 2 ,
.Xr time 3 ,
.Xr fs 5
.Sh 歴史
.Nm
ファイルは
.At v7
から登場しました。
diff --git a/ja_JP.eucJP/man/man5/tzfile.5 b/ja_JP.eucJP/man/man5/tzfile.5
index db188c3cb6..f5c5753287 100644
--- a/ja_JP.eucJP/man/man5/tzfile.5
+++ b/ja_JP.eucJP/man/man5/tzfile.5
@@ -1,123 +1,122 @@
.Dd September 13, 1994
.\" jpman %Id: tzfile.5,v 1.3 1998/06/22 10:44:36 kumano Stab %
.Dt TZFILE 5
.Os FreeBSD 2.0
.Sh 名称
.Nm tzfile
.Nd タイムゾーンの情報
.Sh 書式
.Fd #include <tzfile.h>
.Sh 解説
.Xr tzset 3
が使用するタイムゾーン情報ファイルは、
将来の使用のために予約されている数バイトから始まり、 4 つの
-.Fa long
-型 4 バイト値が続きます。
+4 バイト値が続きます。
これは ``標準'' バイトオーダ (上位バイトを最初に格納) で格納されます。
これらの値を順序に従い、以下に示します。
.Pp
.Bl -tag -compact -width tzh_ttisstdcnt
.It Li tzh_ttisstdcnt
ファイルに格納された、標準/ウォール指示子の数。
.It Li tzh_leapcnt
ファイルに格納された、閏秒データの数。
.It Li tzh_timecnt
ファイルに格納された ``遷移時刻'' データの数。
.It Li tzh_typecnt
ファイルに格納された ``ローカルタイム型'' データの数 (0 であってはなりません)。
.It Li tzh_charcnt
ファイルに格納された ``タイムゾーン省略形文字列'' の文字数。
.El
.Pp
上記のヘッダに続いて、
4 バイト
.Fa long
型の値が
.Li tzh_timecnt
個、昇順に並びます。
値は ``標準'' バイトオーダで格納されます。
それぞれ、ローカルタイム計算方法が変わる遷移時刻 (
.Xr time 3
で返される形式) として使用されます。
続いて、1 バイト
.Fa "unsigned char"
型の値が
.Li tzh_timecnt
個続きます。
このそれぞれは、同一インデックスの遷移時刻に、
ファイル中のどの ``ローカルタイム'' 型が対応するかを示します。
値は、このファイル中で後続する
.Fa ttinfo
構造体の配列に対するインデックスです。
.\" つまり struct ttinfo が tzh_typecnt 個あるということ
.\" See src/lib/libc/stdtime/tzfile.h
.\" 1998/05/01 horikawa@jp.freebsd.org
この構造体の定義を以下に示します。
.Pp
.Bd -literal -offset indent
struct ttinfo {
long tt_gmtoff;
int tt_isdst;
unsigned int tt_abbrind;
};
.Ed
.Pp
各構造体は、
標準バイトオーダの 4 バイト
.Fa long
型の値
.Li tt_gmtoff
、それに続く 1 バイトの値
.Li tt_isdst
、そして 1 バイトの値
.Li tt_abbrind
の順に格納されます。
.Li tt_gmtoff
は GMT に加えるべき秒数を、
.Li tt_isdst
.Li tm_isdst
.Xr localtime 3
により設定されるべきかどうかを、
.Li tt_abbrind
はタイムゾーン省略文字列の配列に対するインデックスを意味します。
タイムゾーン省略文字列の配列は、同一ファイル中の
.Li ttinfo
構造体に後続しています。
.Pp
その後には標準バイトオーダで格納される 4 バイト値のペアが
.Li tzh_leapcnt
個格納されています。
各ペアの最初の値は、閏秒が発生する時刻 (
.Xr time 3
で返される形式) です。
2 番目の値は、
指定された時刻以降に適用される閏秒の
.Em 総計
です。
値のペアは時刻の昇順で格納されます。
.Pp
最後に、1 バイト値の標準/ウォールの指示子が
.Li tzh_ttisstdcnt
個格納されています。
これらは、ローカルタイム型に関する遷移時刻が
標準時刻で指定されているのか、
それともウォールクロックの時刻で指定されているのかを示します。
この情報は、POSIX スタイルのタイムゾーン環境変数を扱う際に、
タイムゾーンファイルを使用するときに使用します。
.Pp
.Li tzh_timecnt
が 0 の場合もしくは時刻引数がファイル中の最初の遷移時刻以前の場合、
.Nm localtime
は、ファイル中の最初の標準時間の
.Li ttinfo
構造体を使用します
(標準時間の構造体が無い場合には、単に最初の
.Li ttinfo
構造体を使用します)。
.Sh 関連項目
.Xr ctime 3 ,
.Xr time2posix 3 ,
.Xr zic 8
.\" @(#)tzfile.5 7.2
diff --git a/ja_JP.eucJP/man/man5/utmp.5 b/ja_JP.eucJP/man/man5/utmp.5
index 89929ba437..ef6434ee69 100644
--- a/ja_JP.eucJP/man/man5/utmp.5
+++ b/ja_JP.eucJP/man/man5/utmp.5
@@ -1,219 +1,219 @@
.\" 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
-.\" %Id: utmp.5,v 1.3.2.6 1998/06/28 21:34:27 hoek Exp %
+.\" %Id: utmp.5,v 1.8 1998/06/28 21:33:42 hoek Exp %
.\"
.\" jpman %Id: utmp.5,v 1.3 1998/06/17 07:53:04 kumano Stab %
.Dd March 17, 1994
.Dt UTMP 5
.Os BSD 4
.Sh 名称
.Nm utmp ,
.Nm wtmp ,
.Nm lastlog
.Nd ログイン記録
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <utmp.h>
.Sh 解説
.Aq Pa utmp.h
ファイルは、
.Nm utmp
ファイルでの現在のユーザについての情報や
.Nm wtmp
ファイル中でのログインやログアウトの情報、
.Nm lastlog
ファイル中での最終ログイン情報の記録のために使われる構造体を
宣言しています。
時刻の変更やシャットダウンおよびリブートのタイムスタンプは、同じように
.Nm wtmp
ファイルに記録されます。
.Pp
これらのファイルは、忙しいシステムでは急速に大きくなりますので、
毎日もしくは毎週ローテションすることを推奨します。
もし、これらのファイルのどれかが存在しない場合、そのファイルは作成されません。
これらのファイルは、手動で作成されなければならず、
.Xr newsyslog 8
によって管理されます。
.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 8
+#define UT_NAMESIZE 16
#define UT_LINESIZE 8
#define UT_HOSTSIZE 16
struct lastlog {
time_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];
long ut_time;
};
.Ed
.Pp
ユーザがログインするたびに、
.Xr login 1
プログラムは
.Nm lastlog
ファイル中のユーザの
.Tn UID
を検索します。
もし見つかった場合、ユーザが最後にログインした時刻のタイムスタンプ、
端末線、ホスト名が標準出力に書き出されます (
ログインが
.Em メッセージを表示しない
ように設定されていない場合。
.Xr login 1
を参照
)。
.Nm login
プログラムは、その後
.Nm lastlog
ファイルに新しいログイン時刻を記録します。
.Pp
新しい
.Fa lastlog
への記録が書き出された後で、
.\" the
.\" .Xr libutil 3
.\" routine
.Nm utmp
ファイルがオープンされ、ユーザに対する
.Fa utmp
記録が挿入されます。
この記録は、ユーザがログアウトして削除される時まで保持されます。
.Nm utmp
ファイルは、
.Xr rwho 1 ,
.Xr users 1 ,
.Xr w 1 ,
.Xr who 1
プログラムで使われます。
.Pp
次に、
.Xr login
プログラムは
.Nm wtmp
ファイルをオープンし、ユーザの
.Fa utmp
記録を追加します。
同じ
.Fa utmp
記録が更新されたタイムスタンプ付きで、ユーザがログアウトした時に、
ファイルに追加されます (
.Xr init 8
参照)。
.Nm wtmp
ファイルは、
.Xr last 1
.Xr ac 8
プログラムで使われます。
.Pp
時刻変更やシャットダウン・リブートの際には、
以下の項目が
.Nm wtmp
ファイルに記録されます。
.Pp
.Bl -tag -width shutdownxx -compact
.It Li reboot
.It Li shutdown
システムのリブートやシャットダウンが開始された。
.Fa ut_line
フィールドに
.Ql \&~
と言う文字が、
.Fa ut_name
フィールド中に
.Li reboot
もしくは
.Li shutdown
が記録されます (
.Xr shutdown 8
.Xr reboot 8
参照)。
.Pp
.It Li date
システム時刻が手動もしくは自動で更新された (
.Xr date 1
参照)。
コマンド名
.Xr date
がフィールド
.Fa ut_name
に記録されます。
.Fa ut_line
フィールド中の
.Ql \\*(Ba
文字は、変更前の時刻を示し、
.Ql \&{
文字は新しい時刻を示しています。
.El
.Sh 関連ファイル
.Bl -tag -width /var/log/lastlog -compact
.It Pa /var/run/utmp
.Nm utmp
ファイル。
.It Pa /var/log/wtmp
.Nm wtmp
ファイル。
.It Pa /var/log/lastlog
.Nm lastlog
ファイル。
.El
.Sh 関連項目
.Xr last 1 ,
.Xr login 1 ,
.Xr w 1 ,
.Xr who 1 ,
.Xr ac 8 ,
.Xr init 8
.Sh 歴史
A
.Nm utmp
.Nm wtmp
ファイル書式は
.At v6
から登場しました。
.Nm lastlog
ファイル書式は
.Bx 3.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/MAKEDEV.8 b/ja_JP.eucJP/man/man8/MAKEDEV.8
index a56f4fc17e..ebdade0b5b 100644
--- a/ja_JP.eucJP/man/man8/MAKEDEV.8
+++ b/ja_JP.eucJP/man/man8/MAKEDEV.8
@@ -1,95 +1,95 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)MAKEDEV.8 8.1 (Berkeley) 6/5/93
+.\" %Id: MAKEDEV.8,v 1.10 1997/08/11 01:25:06 steve Exp %
.\" jpman %Id: MAKEDEV.8,v 1.3 1997/07/22 09:19:04 mutoh Stab %
-.\" %Id: MAKEDEV.8,v 1.5.2.2 1998/03/07 10:04:22 jkh Exp %
.\"
.Dd June 5, 1993
.Dt MAKEDEV 8 i386
.Os
.Sh 名称
.Nm MAKEDEV
.Nd システムとデバイススペシャルファイルの作成
.Sh 書式
.Nm
name ...
.Sh 解説
このシェルスクリプト
.Nm
は、 ``/dev'' ディレクトリにあり、通常のスペシャルファイルを作成するのに
使われます。
スペシャルファイルに関するより徹底した議論が必要ならば、
.Xr intro 4
をご覧ください。
.Pp
.Nm
は、何個かのデバイス名を引数に取ります。
ここでのデバイス名は、デバイスに対する、よくある省略形です。
``std'' と ``local'' という、二つのスペシャルデバイスがあります。
前者はそのアーキテクチャの標準デバイスを作成します。
後者はローカルサイトの固有のデバイスの為のもので、
シェルファイル ``MAKEDEV.local'' を実行します。
.Pp
i386 アーキテクチャでは次のデバイスをサポートします。
ここで、ハッシュ記号(``#'')を伴ったデバイス名は、
ハッシュ記号をユニット番号で置き換えます。
.Bl -tag -width indent
.It std
標準デバイス (console, drum, fd/*, klog, kmem, mem, null,
stderr, stdin, stdout, tty) です。
.It local
コンフィギュレーション固有のデバイスです。
.It tty#
標準 PC COM ポートです。
.It fd#
``フロッピ'' ディスクドライブ (3 1/2, 5 1/4) です。
.It pty#
16対の仮想端末マスタとスレーブです。
.It sd#
SCSI ディスクドライブです。
.It st#
SCSI テープドライブです。
.It vty#
syscons/pcvt/codrv のための 12 の仮想コンソールの組です。
.It wd#
``ウィンチェスタ'' ディスクドライブ (ST506, IDE, ESDI, RLL など) です。
.It wt#
QIC-インタフェースの (つまり、SCSI ではない) 3M カートリッジテープです。
.El
.Sh 関連ファイル
.Bl -tag -width /dev/xxxx -compact
.It Pa /dev
スペシャルファイルのディレクトリ
.Sh 関連項目
.Xr intro 4 ,
.Xr config 8 ,
.Xr mknod 8
diff --git a/ja_JP.eucJP/man/man8/ac.8 b/ja_JP.eucJP/man/man8/ac.8
index ffbc2b4b67..413f5e1d76 100644
--- a/ja_JP.eucJP/man/man8/ac.8
+++ b/ja_JP.eucJP/man/man8/ac.8
@@ -1,161 +1,161 @@
.\"
.\" Copyright (c) 1994 Simon J. Gerraty
.\" Copyright (c) 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 acknowledgement:
.\" This product includes software developed by Christopher G. Demetriou.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ac.8,v 1.6.2.2 1997/09/02 06:28:56 charnier Exp %
+.\" %Id: ac.8,v 1.10 1997/09/01 06:11:40 charnier Exp %
.\" jpman %Id: ac.8,v 1.3 1997/07/22 16:35:12 horikawa Stab %
.\"
.Dd March 15, 1994
.Dt AC 8
.Os
.Sh 名称
.Nm ac
.Nd 接続時間の計測
.Sh 書式
.Nm
.Op Fl dp
.\".Op Fl c Ar console
.Op Fl t Ar tty
.Op Fl w Ar wtmp
.Op Ar users ...
.Sh 解説
.\" Nm ac から ac 削除。
.\" オリジナルで Ac が \&Ac となっていたのは Ac が mdoc コマンド
.\" Angle close quote(see mdoc(7)) であるため
.\" horikawa@jp.freebsd.org 1997/11/03
もしファイル
.Pa /var/log/wtmp
が存在すれば、個々のログイン時刻とログアウト時刻の記録が、各々
.Xr login 1
.Xr init 8
によって書き込まれます。
.Nm
はこれらの記録を検査し、ログイン全ての累積接続時間 (時間単位) を
標準出力に書き出します。
.Pp
オプションは次の通りです。
.Bl -tag -width indentXXX
.It Fl d
接続時間を 24 時間単位で表示します。
.\" .It Fl c Ar console
.\" .Ar console
.\" を、ローカル X セッション (ut_host が ":0.0" の場合)
.\" を始めるデバイス名として使います。
.\" .Ar console
.\" 上に記録されたログインはどれも、コンパイル時に COMPAT_SUNOS が
.\" 定義されていない限り、これらの X セッションは無視されます。
.It Fl p
各々のユーザの合計を表示します。
.It Fl t Ar tty
特定の tty からのログインだけを計測します。
.Ar tty
が '!' で始まっている場合はそれ以外の tty
を示し、'*' で終っている場合は、同様な全ての tty を示します。
複数の
.Fl t
フラグを指定しても構いません。
.It Fl w Ar wtmp
接続時間のデータを、デフォルトファイル
.Pa /var/log/wtmp
の代りに
.Ar wtmp
から読み込みます。
.It Ar users ...
与えられたユーザの合計だけを表示します。
.El
.Pp
もし、引数が与えられなければ、
.Nm
はログインセッションが
.Pa wtmp
に記録された全てのアカウントの合計接続時間を表示します。
.Pp
デフォルトの
.Pa wtmp
ファイルは、切り捨て (truncate) をしない限り、際限なく増加します。
これは通常、
.Xr cron 8
によって起動されるデイリースクリプトによって切り捨てが行なわれます。
デイリースクリプトは
.Pa wtmp
ファイルの改名と巡回 (rotate) を行ない、
一週間分のデータを手元に保持します。
ログインや接続時間のアカウントは、もし
.Pa /var/log/wtmp
が存在しなければ、行なわれません。
.Pp
例えば
.Bd -literal -offset
ac -p -t "ttyd*" > modems
ac -p -t "!ttyd*" > other
.Ed
.Pp
とすると、
.Pa modems
に記録された時間と、
.Pa other
のそれで、別の料金を請求することもできます。
.Pp
.Nm
ユーティリティは、
実行に成功したときには 0 で終了し、
致命的エラーが発生したときには >0 で終了します。
.Sh 関連ファイル
.Bl -tag -width /var/log/wtmp.[0-7] -compact
.It Pa /var/log/wtmp
接続時間アカウントファイル
.It Pa /var/log/wtmp.[0-7]
巡回されたファイル
.El
.Sh 関連項目
.Xr login 1 ,
.Xr utmp 5 ,
.Xr init 8 ,
.Xr sa 8
.\" .Sh 注釈
.\" もし COMPAT_SUNOS が定義されていると
.\" .Nm ac
.\" は ut_host が ":0.0" のエントリが本当のログインセッションではない
.\" という事実を無視します。
.\" 通常はこのようなエントリは、
.\" .Pa wtmp
.\" ファイルが巡回されたときにログインしているユーザの場合を除いて
.\" 無視されます。
.\" この場合、ut_host が ":0.0" のログインが、
.\" それ以前にコンソールへのログインがないのに現われるかもしれません。
.\" もし誰もコンソールにログインしていなければ、そのユーザは
.\" .Pa wtmp
.\" のもっとも早いタイムスタンプの時に既にログインしていたと思われます。
.\" .Pa console
.\" を使うことで、
.\" .Nm ac
.\" はユーザのログアウトを識別し、正しく処理できるようになります。
.\" .Pa console
.\" のデフォルト値はコンパイル時の正しい値です。
diff --git a/ja_JP.eucJP/man/man8/adding_user.8 b/ja_JP.eucJP/man/man8/adding_user.8
index f576d3b8b2..79c684d361 100644
--- a/ja_JP.eucJP/man/man8/adding_user.8
+++ b/ja_JP.eucJP/man/man8/adding_user.8
@@ -1,125 +1,125 @@
.\" Copyright (c) 1980, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)adduser.8 8.1 (Berkeley) 6/5/93
-.\" %Id: adding_user.8,v 1.1.6.1 1997/03/07 04:18:26 mpp Exp %
+.\" %Id: adding_user.8,v 1.2 1997/03/07 03:28:19 jmg Exp %
.\" jpman %Id: adding_user.8,v 1.3 1997/07/22 16:44:29 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt ADDING_USER 8
.Os BSD 4
.Sh 名称
.Nm adding_user
.Nd 新規ユーザ登録のためのプロシージャ
.Sh 解説
新規ユーザはログイン名を選ばなければなりません。
ここで、ログイン名は既に
.Pa /etc/passwd
.Pa /etc/aliases
に登録されているものであってはいけません。
また、ハイフン
.Ql Fl
文字で始まるものも使えません。
メーラを混乱させないためにも、全ての文字は英小文字でドット
.Ql \&.
文字を含まないことが、強く推奨されています。
アカウントは、パスワードファイルを一行編集することで加えることが
できます。これを行う時は、パスワードファイルはロックされていなければ
なりません。このロックは、
.Xr chpass 1
.Xr vipw 8
を使うことで可能です。
.Pp
新規ユーザには、グループとユーザ id を与えます。
ログイン名とユーザ id は、システム全体やしばしばシステムグループで
一意でなければなりません。これは、ファイルのアクセスを制御するために
使われるからです。
典型的には、似たようなプロジェクトで働いているユーザは同じグループに
入ります。カルフォルニア大学バークレイ分校では、システムスタッフ・
学部・大学院・大きなプロジェクトのための特別なプロジェクトのグループが
あります。
.Pp
新規ユーザ
\*(lqernie\*(rq
のための骨格となるアカウントは、以下のようになります。
.Bd -literal
ernie::25:30::0:0:Ernie Kovacs,508 Evans Hall,x7925,
642-8202:/a/users/ernie:/bin/csh
.Ed
.Pp
個々のフィールドの解説は、
.Xr passwd 5
を参照してください。
.Pp
新規ユーザに始めるにあたっていくつかの助けを与えることは良いことです。
このために、いくつかの骨格となるファイルを与えてあげれます。
.Pa /bin/sh
ユーザには、
.Pa \&.profile
を、
.Pa /bin/csh
ユーザには、
.Pa \&.cshrc
.Pa \&.login
を与えれば良いでしょう。
.Pa /usr/share/skel
ディレクトリに、そのようなファイルの骨格の定義を置いておけます。
新規ユーザは、これらのファイルの複製を与えられます。
ここで、例えば
.Xr tset 1
をログインする度に自動的に実行するように設定できます。
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwdxx -compact
.It Pa /etc/master.passwd
ユーザデータベース
.It Pa /usr/share/skel
ログインディレクトリのための骨格データ
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr finger 1 ,
.Xr passwd 1 ,
.Xr aliases 5 ,
.Xr passwd 5 ,
.Xr adduser 8 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8
.Sh バグ
ユーザ情報は (段々とそうなってきていますが)、別のところに
記憶するべきです。
.Sh 歴史
.Nm
プロシージャは
.Bx 3.0
から導入されました.
diff --git a/ja_JP.eucJP/man/man8/adduser.8 b/ja_JP.eucJP/man/man8/adduser.8
index c58f38965d..ac78285d8c 100644
--- a/ja_JP.eucJP/man/man8/adduser.8
+++ b/ja_JP.eucJP/man/man8/adduser.8
@@ -1,295 +1,253 @@
.\" Copyright (c) 1995-1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: adduser.8,v 1.12.2.8 1998/03/18 16:14:48 hoek Exp %
+.\" %Id: adduser.8,v 1.26 1998/08/17 18:50:29 wosch Exp %
.\" jpman %Id: adduser.8,v 1.4 1997/08/07 17:53:51 ken Stab %
.\"
.Dd January 9, 1995
.Dt ADDUSER 8
.Os FreeBSD 2.1
.Sh 名称
.Nm adduser
.Nd 新しいユーザを加えるためのコマンド
.Sh 解説
.Nm adduser
-.Oo
-.Fl batch Ar username
-.Op Ar group Ns , Ns Op Ar group,...
-.Op Ar class
-.Op Ar fullname
-.Op Ar password
-.Oc
-.br
.Op Fl check_only
.br
.Op Fl class Ar login_class
.br
.Op Fl config_create
.br
.Op Fl dotdir Ar dotdir
.br
.Op Fl group Ar login_group
.br
.Op Fl h | help
.br
.Op Fl home Ar home
.br
.Op Fl message Ar message_file
.br
.Op Fl noconfig
.br
.Op Fl shell Ar shell
.br
.Op Fl s | silent | q | quiet
.br
.Op Fl uid Ar uid_start
.br
.Op Fl v | verbose
.Sh 解説
.Nm
は新しいユーザを加えるための簡単なプログラムです。
.Nm
はパスワード, グループ, シェル等のデータベースをチェックし、
passwd/group の登録を行い、
.Ev HOME
ディレクトリとドットファイルを作成し、
新しいユーザに歓迎メッセージを送ります。
.Sh 制限事項
.Bl -tag -width Ds -compact
.It Sy username
-ログイン名は、小文字もしくは数字だけからなる最大 8 文字の文字列でな
+ログイン名は、小文字もしくは数字だけからなる最大 16 文字の文字列でな
ければなりません (
.Xr setlogin 2
のバグの章を参照してください)。この制限の理由は、 ``歴史的な'' 物で
す。美的な理由からこの制限を破りたいとする人々はいつもいましたが、
UNIX における基本的なパラメータを変更するほどの重要な理由ではありま
せんでした。
.Pa /usr/include/utmp.h
ファイル内の
.Dv UT_NAMESIZE
パラメータを変更し、全てを再コンパイルすることで、変更できますが、コ
ンパイル済みのプログラムや名前の8文字制限を前提としたソースコード、
そして NIS については、問題が起こるでしょう。 NIS のプロトコルは、ユー
ザ名を 8 文字と定めています。電子メールアドレスとして、もっと長いロ
グイン名を必要とする場合には、別名を
.Pa /etc/aliases
ファイルに定義することができます。
.It Sy fullname
姓と名です。
.Ql Pa \:
(コロン) は、使えません。
.It Sy shell
シェルデータベースに定義されている有効なシェル、もしくは、 sliplogin
と pppd だけが有効です。
.It Sy uid
自動生成されますが、自分で指定することもできます。ただし、 32000 よ
りも小さい数字でなければなりません。
.It Sy gid/login group
あなたが指定したものです。さもなければ、自動的に生成されます。
.It Sy password
定義した時には、パスワードは
.Xr crypt 3
を利用して暗号化されます。
.El
.Sh 一意なグループ
ひょっとして、あなたは、この方法ではできても他のほとんどの方法ではう
まく行かないことがあるのを見逃しているかもしれません。個々のユーザを
そのユーザ独自のグループに入れることで、 umask を 002 としておいても
安全になり、ホームディレクトリにファイルを作っても、他の人にファイル
を読まれる心配がなくなります。
.Pp
共有場所を作るためには、 (freefall における cvs や ncvs のように)
uid/gid を別に設けて、ユーザを個別にその新しいグループに入れることで、
その場所へのアクセスを可能とすべきです。
.Pp
この uid/gid の管理モデルは、たくさんのユーザをグループにまとめるよ
り柔軟性があり、共有場所で仕事をする時に umask をいじり回さずにすみ
ます。
.Pp
この方法をほぼ 10 年間使っていますが、ほとんどの場合に使えることがわ
かり、じゃまになったことはありませんでした。 (Rod Grimes)
.Sh 設定
.Bl -enum
.It
内部変数を読込みます。
.It
設定ファイル (/etc/adduser.conf) を読込みます。
.It
コマンドラインオプションを解析します。
.El
.Sh オプション
.Bl -tag -width Ds
-.It Sy -batch username [group[,group]...] [class] [fullname] [password]
-バッチモードです。
-列挙されるグループは、ユーザがメンバとなる二番目のグループであり、
-デフォルトのログイングループ以外のものを書きます。
-ヌル文字列の引数を埋め草として使用することができ、
-この場合デフォルト値の動作となります。
.It Sy -check_only
/etc/passwd, /etc/group, /etc/shells をチェックし、終了します。
.It Sy -class Ar login_class
デフォルトのログインクラスを設定します。
.It Sy -config_create
新しい設定を設定ファイルに書込み、メッセージファイルを作成して、
終了します。
.It Sy -dotdir Ar directory
ファイルを
.Ar directory
から、新しいユーザの
.Ev HOME
ディレクトリへコピーします。
.Ql Pa dot.foo
というファイルは、
.Ql Pa .foo
という名前に変更されます。
.Ar directory
として
.Ar no
が指定された場合には、コピーを行いません。セキュリティ的な理由から全
てのファイルは所有者に対して読み書き可能となり、グループや他の人達に
対しては書込み可能にはなりません。また、以下のファイルは、所有者に
対してのみ読み書き実行可能となります。
.Pa .rhost ,
.Pa .Xauthority ,
.Pa .kermrc ,
.Pa .netrc ,
.Pa Mail ,
.Pa prv ,
.Pa iscreen ,
.Pa term
.It Sy -group Ar login_group
ログイングループの指定です。
.Ar USER
はユーザ名がログイングループとして使用されることを意味します。
.It Sy -help,-h,-?
オプションの要約を表示して、終了します。
.It Sy -home Ar partition
全てのユーザがホームディレクトリを持つデフォルトのディレクトリ (home
partition) を指定します。
.It Sy -message Ar file
新しいユーザに
.Ar file
の歓迎メッセージを送ります。
.Ar file
.Ar no
であった時にはメッセージは送りません。
.It Sy -noconfig
デフォルトの設定ファイルを読みません。
.It Sy -shell Ar shell
新しいユーザに対するデフォルトのシェルを指定します。
.It Sy -silent,-s,-quiet,-q
警告や質問、バグの報告を少ししか行いません。
.It Sy -uid Ar uid
ユーザ id を
.Ar uid
かそれ以上にします。
.It Sy -verbose,-v
警告と質問をたくさん行います。初心者ユーザにはおすすめです。
.Sh フォーマット
.Bl -tag -width Ds -compact
.Ql Pa #
はコメントです。
.It Sy 設定ファイル
.Nm
はこのファイルを読み書きします。
より詳しくは、
.Pa /etc/adduser.conf
を見てください。
.It Sy メッセージファイル
このファイル内では変数は評価されます。
より詳しくは、
.Pa /etc/adduser.message
を見てください。
.El
-.Sh 使用例
-.Pp
-$ adduser
-.Pp
-adduser を会話モードで動かします。
-.Pp
-$ adduser -batch baerenkl guest,staff,baer '' 'Teddy II' qwerty7
-.Pp
-ユーザ名 'baerenkl' ログイングループ名 'baerenkl' のユーザを作成
-します。このユーザは、 guest, staff, baer グループにも入っています。
-デフォルトのログインクラスを用います。
-このユーザーの本名 (氏名) は 'Teddy II' であり、パスワードは 'qwerty7'
-です (が、こんなパスワードを使ってはいけません !)。
-.Ev HOME
-ディレクトリは、
-.Pa /home/baerenkl
-に作られ、全てのファイルやディレクトリが、
-.Pa /usr/share/skel
-から、
-.Pa /home/baerenkl
-にコピーされます。ユーザ 'baerenklau' に対して、歓迎メッセージが送ら
-れます。
-.Pp
-$ adduser -uid 5000 -group guest -message no -batch vehlefan
-.Pp
-ユーザ 'vehlefan' を作成します。ログイングループは guest で ユーザ
-id は 5000 以上で利用可能な最小のもの (例えば、5007など) となります。
-他に入っているグループはなく、本名もパスワードもありません。歓迎
-メッセージも送られません。
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwdxx -compact
.It Pa /etc/master.passwd
ユーザのデータベース
.It Pa /etc/group
グループのデータベース
.It Pa /etc/shells
シェルデータベース
.It Pa /etc/login.conf
ログインクラスデータベース
.It Pa /etc/adduser.conf
adduser 用の設定ファイル
.It Pa /etc/adduser.message
adduser 用のメッセージファイル
.It Pa /usr/share/skel
ログインディレクトリの雛型
.It Pa /var/log/adduser
adduser の ログ記録ファイル
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr finger 1 ,
.Xr passwd 1 ,
.Xr setlogin 2 ,
.Xr yp 4 ,
.Xr aliases 5 ,
.Xr group 5 ,
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr shells 5 ,
.Xr addgroup 8 ,
+.Xr pw 8 ,
.Xr pwd_mkdb 8 ,
.Xr rmgroup 8 ,
.Xr rmuser 8 ,
.Xr vipw 8
.\" .Sh バグ
.Sh 歴史
.Nm
コマンドは
.Fx 2.1
から導入されました.
diff --git a/ja_JP.eucJP/man/man8/adjkerntz.8 b/ja_JP.eucJP/man/man8/adjkerntz.8
index fb3644f3e7..57a13a6cbc 100644
--- a/ja_JP.eucJP/man/man8/adjkerntz.8
+++ b/ja_JP.eucJP/man/man8/adjkerntz.8
@@ -1,186 +1,186 @@
.\" Copyright (C) 1993-1998 by Andrey A. Chernov, Moscow, Russia.
.\" 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 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: adjkerntz.8,v 1.10.2.2 1998/07/17 20:12:55 jkh Exp %
+.\" %Id: adjkerntz.8,v 1.16 1998/06/04 06:35:11 charnier Exp %
.\" jpman %Id: adjkerntz.8,v 1.4 1997/07/26 21:28:35 horikawa Stab %
.\"
.Dd April 4, 1996
.Dt ADJKERNTZ 8
.Os FreeBSD
.Sh 名称
.Nm adjkerntz
.Nd "ローカル時間 CMOS クロックをタイムゾーンの変更を反映するように調整し、現在のタイムゾーンオフセットをカーネル用に保持する"
.Sh 書式
.Nm adjkerntz
.Fl i
.Nm adjkerntz
.Fl a Op Fl s
.Sh 解説
.Nm
は、 UTC がいつも設定されているカーネルクロックと、
ローカル時間が設定されているかもしれない CMOS クロックとの間の適切な関係を扱います。
.Nm
は、また MS-DOS ファイルシステムのようなローカル時間ファイルシステム
のための適切なタイムスタンプを扱うために、カーネルに機械のタイムゾーン
のシフトを教えます。この主要な目的は、最初から壊れている MS-DOS
ファイルタイムスタンプの考え方を一般に固定するためではなく、
同じタイムスタンプを同じ機械上の
.Bx Free
の MS-DOS ファイルシステムと
MS-DOS オペレーティングシステムで保つためのものです。
ファイル
.Pa /etc/wall_cmos_clock
がある場合、 CMOS クロックは (MS-DOS や MS-Windows 互換モードの)
ローカル時間を保持していることを意味します。
このファイルが無い場合、 CMOS クロックは UTC 時間を
保持していることになります。
.Nm
は、この状態をカーネル変数の
.Pa machdep.wall_cmos_clock
に通知します。
.Pp
時間調整はシステムの立ち上げとシャットダウン時、そしてタイムゾーンの
変更が起きた時はいつでも必要になります。
これらのことなった状況を扱うために、
.Nm
は二つの方法で立ち上げられます。
.Bl -tag -width 4n
.It Cm Fl i
この形式は、システムの立ち上げとシャットダウンを取り扱います。
マルチユーザモードの先頭で、
.Nm
.Pa /etc/rc
からこのオプションをつけて呼び出されます。
これは他のデーモンが実行される前に行われます。
.Nm
は自分自身をバックグラウンドで実行します。
その後、ローカル時間 CMOS クロックのために、
.Nm
は、ローカル時間をそこから読み込み、カーネル時間を正しい UTC 時間に
設定します。
.Nm
は、これ以降での
.Em "'adjkerntz -a'"
呼び出しでの利用のためや、ローカルファイルシステムでの利用のために、
ローカルタイムゾーンオフセットを
.Pa machdep.adjkerntz
カーネル変数に設定します。
.Pp
ローカル時間 CMOS クロックのために、
.Nm "'adjkerntz -i'"
は、一時停止し、バックグランドのデーモンとして活動を停止します。
このデーモンは、 SIGTERM シグナルを受け取るまでそのままです。
SIGTERM はふつう、システムがマルチユーザモードを終了する時に
.Xr init 8
によって送られます (普通、システムがシャットダウンされる時です)。
SIGTERM を受け取った後で
.Nm
は、 UTC カーネル時間クロックを読み込み、必要であれば現在の
ローカルタイムゾーンを反映するように CMOS クロックを更新します。
その後、
.Nm
は終了します。
.It Cm Fl a Op Fl s
この形式は、タイムゾーンの変更が起こった時に、ローカル時間 CMOS
クロックとカーネル
.Pa machdep.adjkerntz
変数を更新するために使われます。例えば、夏時間に入ったり、
終了したりした時に使われます。
.Nm
は、カーネルクロックの UTC 時間・以前に保存したタイムゾーンオフセット・
新しいタイムゾーンを計算するためのタイムゾーン変更規則を使います。
これは、新しいオフセットを
.Pa machdep.adjkerntz
カーネル変数に保存し、 CMOS クロックを新しいローカル時間に更新します。
.Em "'adjkerntz -a'"
が、(タイムゾーン変更中に) 存在しない時間で実行された場合、
.Fl s
オプションが使われていない場合は警告診断を出し、終了します。
.Fl s
オプションが使われている場合は、 30 秒間スリープしてもう一度試します。
.Pp
この形式は、大多数の現代のタイムゾーンの変更が起こる、
真夜中から 5:00 までの間に 30 分毎に、root の
.Xr crontab 5
から呼び出されるべきです。
警告:
.Fl s
オプションを
.Xr crontab 5
のコマンドライン中で使ってはいけません。使ってしまうと、複数の
.Em "'adjkerntz -a'"
がお互いに衝突してしまうでしょう。
.El
.Pp
.Nm
は、カーネルタイムゾーン構造を消去し、カーネルクロックを
UTC タイムゾーンで走らせます。
スーパユーザの権限が、全ての操作のために必要とされます。
.Sh 環境変数
.Bl -tag -width Fl
.It Ev TZ
タイムゾーンの変更規則。
.Xr tzset 3
を見てください。
.Xr tzsetup 8
もしくは
.Xr zic 8
を使っている場合は、必要ありません。
.Sh 関連ファイル
.Bl -tag -width /etc/wall_cmos_clock -compact
.It Pa /etc/localtime
現在のゾーン情報ファイルです。
.Xr tzsetup 8
.Xr zic 8
を見てください。
.It Pa /etc/wall_cmos_clock
空のファイルです。
これは、機械の CMOS クロックがローカル時間に設定されていることを
示しています。反対にこれが存在しないと、 UTC の CMOS クロックに
設定されています。
.El
.Sh 関連項目
.Xr tzset 3 ,
.Xr crontab 5 ,
.Xr mount_msdos 8 ,
.Xr rc 8 ,
.Xr sysctl 8 ,
.Xr tzsetup 8 ,
.Xr zic 8
.Sh 診断
診断はありません。
エラーが起こった場合は、
.Nm
はエラーメッセージを
.Xr syslog 3
を使って記録し、ゼロでない値を返して終了します。
.Sh 作者
.An Andrey A. Chernov Aq ache@astral.msk.su
.Sh 歴史
.Nm
コマンドは、
.Fx 1.0
から導入されました。
diff --git a/ja_JP.eucJP/man/man8/amd.8 b/ja_JP.eucJP/man/man8/amd.8
index 65e9c66d4f..9b28dd3f32 100644
--- a/ja_JP.eucJP/man/man8/amd.8
+++ b/ja_JP.eucJP/man/man8/amd.8
@@ -1,287 +1,287 @@
.\"
.\" Copyright (c) 1989 Jan-Simon Pendry
.\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine
.\" Copyright (c) 1989, 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 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.
.\"
.\" @(#)amd.8 5.10 (Berkeley) 4/19/94
.\"
-.\" %Id: amd.8,v 1.2.2.3 1998/07/18 11:08:35 jkh Exp %
+.\" %Id: amd.8,v 1.7 1998/03/23 08:19:30 charnier Exp %
.\"
.\" jpman %Id: amd.8,v 1.2 1997/04/15 00:24:08 mutoh Stab %
.\"
.Dd April 19, 1994
.Dt AMD 8
.Os
.Sh 名称
.Nm amd
.Nd 自動マウントファイルシステム
.Sh 書式
.Nm amd
.Op Fl nprv
.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 t Ar interval.interval
.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
.Oo
.Ar directory mapname
.Op Fl map-options
.Oc
.Ar ...
.Sh 解説
.Nm amd
は、ファイルシステムがアクセスされたときに自動的にそのファイルシステムを
マウントするデーモンです。マウントされたファイルシステムは、アクセスがな
ければ自動的にアンマウントされます。
.Pp
.Nm amd
は、自分自身をNFSサーバとして、指定された
.Ar directory
に結び付けます。
その指定ディレクトリ内でのファイルアクセスは
.Nm amd
によって処理されます。
.Nm amd
は、
.Ar mapname
で定義されたマップを使って、あるディレクトリ
にどのファイルシステムを割り当てるかを決定します。
一般に
.Ar mapname
は、ホスト名やファイルシステムの情報、
マウントオプションから構成されます。
.Sh オプション
.Bl -tag -width Ds
.It Fl a Ar temporary-directory
実際にファイルシステムをマウントする位置を指定します。
デフォルトは
.Pa /a
です。
.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
によってシステムログデーモンに送られます。
.It Fl n
ホスト名を正規化します。${rhost}で参照される名前は、使わ
れる前にホストデータベースに関連づけて正規化されます。
これは、エイリアスを `` 公式 (official)'' ホスト名に変換する効果があります。
.It Fl p
プロセスIDを表示します。
.Nm amd
のプロセス ID を標準出力に出力して、ファイルに保存することができます。
.It Fl r
存在するマウントをリスタートします。
.Nm amd
はマウントファイルテーブルをスキャンして、
現在マウントされているファイルシステムを判断します。
ファイルシステムが自動マウントされたものであれば、
.Nm amd
は、その情報を継承します。
.It Fl t Ar interval.interval
NFS/RPC/UDPのリトライの間隔を、10分の1秒単位で指定します。
デフォルト値は0.8秒です。2番目の値は再送カウンタを変更します。
どちらか一方か、両方の値が設定されていなければ、
適当なデフォルト値が設定されます。
.It Fl v
バージョンを表示します。標準エラー出力に設定情報を表示します。
.It Fl w Ar interval
キャッシュする時間を超えたファイルシステムのマウントを解除する時間を
秒単位で指定します。デフォルト値は2分です。
.It Fl y Ar domain
NISマップをとってくる際に用いるNISドメインを指定します。
デフォルトはシステムのドメイン名です。このオプションは、NIS
を動かしていないときには無視されます。
.It Fl x Ar options
実行時に何をログに記録するかを指定します。
.Ar options
には以下のものをコンマで区切って使用できます:
fatal, error, user, warn, info, map, stats, all
.\" 次の文は原文に表記無し (Feb 1997 jpman J.Sakai)
.\" .Ar options
.\" の最初に``no''をつけたもの(たとえば``noinfo'')は、記録されません。
.It Fl D Ar option
デバッグオプションの種類を選択することができます。
.Ar option
の頭に
.Ar no
をつけると、そのオプションの逆の影響を与えます。
オプションは並べて指定することができます。もっとも役に立つのは
.Ar all
です。
.El
.Pp
.Fl D
はデバッグのときにだけ使うものであるため、ここでは他のオプションに
ついては説明しません。サポートされているオプションは
.Fl v
オプションで表示されますが、詳細はソースコードに記述されています。
.\" 以下の使用例は FreeBSD の英語マニュアルには載ってない。
.\" 内容の正しさを完全には吟味できないので、ここではコメントアウトした。
.\" (Feb 1997 jpman J.Sakai)
.\" .Pp
.\" .Ss 使用例
.\" .Pp
.\" .Pa /etc/netstart
.\" で以下の部分を記述します。
.\" テンプレートがすでに用意されています。
.\" .Pp
.\" .Bd -literal -offset indent
.\" amd=YES
.\" amd_dir=/am # AMD's mount directory
.\" amd_master=/etc/amd/master # AMD 'master' map
.\" .Ed
.\" .Pp
.\" .Pa /etc/amd
.\" というディレクトリを作成します。
.\" .Pp
.\" .Pa /etc/amd/master
.\" ファイルを作成します。
.\" .Pa /etc/amd/master
.\" の内容:
.\" .Pp
.\" .Bd -literal -offset indent
.\" /home /etc/amd/am-home -cache:=inc
.\" .Ed
.\" .Pp
.\" amdマップとして、am-homeを指定しています。
.\" .Pp
.\" .Pa /etc/amd/am-home
.\" を作成します。
.\" .Pa /etc/amd/am-home
.\" の内容:
.\" .Pp
.\" .Bd -literal -offset indent
.\" /default opts:=rw,intr,soft,bg,grpid,timeo=30;\\
.\" type:=nfs;fs:=${autodir}/home/${key};rfs:=/home
.\" .Ed
.\" .Pp
.\" .Bd -literal -offset indent
.\" mizuno host==mercury;type:=ufs;dev:=/dev/sd0a
.\" * type:=error
.\" .Ed
.\" .Pp
.\" このような設定を行い、リブートしてください。
.\" .Pa /home/mizuno
.\" をアクセスすると、
.\" .Pa /dev/sd0a
.\" が
.\" .Pa /am/mercury/home/mizuno
.\" としてマウントされ、
.\" .Pa /home/mizuno
.\" が
.\" .Pa /am/mercury/home/mizuno
.\" へのシンボリックリンクとなります。
.\" .Pa /home/mizuno
.\" 以外がアクセスされるとエラーとなります。
.\" .Pp
.\" .Pp
.Sh 関連ファイル
.Bl -tag -width /axx
.It Pa /a
動的にファイルシステムがマウントされるディレクトリ
.El
.Pp
.Sh 注意
マウントマップを作成する場合には注意が必要です。
.Pp
.Tn NFS
ファイルシステム上のシンボリックリンクは、信じられないほど
非効率的です。
.Tn NFS
を実装した多くのシステムでは、
シンボリックリンクの展開結果はカーネルがキャッシュせずに、
.Em lookuppn
(パス名変換)時にシンボリックリンクに出会うたびに
NFSサーバに対してRPCコールを行うようになっています。
キャッシュをどこかに加えることによって、かなり大きな性能の向上が
得られるはずです。
上手に実現したオートマウントシステムで
.Xr symlink 2
を置き換えれば大きくスピードアップすることができますが、
同時に多くのコンテキストスイッチも起こします。
.Pp
.Nm amd
のすべての機能を駆使できれば非常に便利ですが、
それにはかなりの想像力が必要になります。
.Pp
.Sh 関連項目
.Xr hostname 1 ,
.Xr amq 8 ,
.Xr mount 8 ,
.Xr umount 8
.Rs
.%T Amd \- The 4.4 BSD Automounter.
.\" 以下の参考文献の節も原文にはない。
.\" しかし参考にはなるだろうから この節は残すことにした。(Feb 1997 jpman Sakai)
.Sh 参考文献
.Bl -bullet -offset indent -compact
.It
アスキー UNIX MAGAZINE 1991 4, 5月号: UNIX Communication Notes --- amd
.It
アスキー NUTSHELL HANDBOOKS: Managing NFS \& NIS --- 自動マウンタ
.El
.Pp
.Re
.Sh 作者
.An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk ,
Department of Computing, Imperial College, London, UK.
.Sh 歴史
.Nm amd
は 4.4BSD にはじめて導入されました。
diff --git a/ja_JP.eucJP/man/man8/amq.8 b/ja_JP.eucJP/man/man8/amq.8
index 0a986da50d..cd05d08cd3 100644
--- a/ja_JP.eucJP/man/man8/amq.8
+++ b/ja_JP.eucJP/man/man8/amq.8
@@ -1,143 +1,143 @@
.\"
.\" Copyright (c) 1990 Jan-Simon Pendry
.\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine
.\" 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 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.
.\"
.\" @(#)amq.8 8.3 (Berkeley) 4/18/94
.\"
-.\" %Id: amq.8,v 1.3.2.1 1998/07/18 11:08:42 jkh Exp %
+.\" %Id: amq.8,v 1.6 1998/03/23 08:19:53 charnier Exp %
.\"
.\" jpman %Id: amq.8,v 1.3 1997/08/11 14:26:54 horikawa Stab %
.\"
.Dd March 16, 1991
.Dt AMQ 8
.Os
.Sh 名称
.Nm amq
.Nd 自動マウントシステムへの問い合わせツール
.Sh 書式
.Nm amq
.Op Fl f
.Op Fl h Ar hostname
.Op Fl M Ar mountmap_entry
.Op Fl m
.Op Fl s
.Op Fl u
.Op Fl v
.Op Ar directory ...
.Pp
.Sh 解説
.Nm amq
は、現在の
.Xr amd 8
の動作状況を知るための簡単な手段を提供します。
.Nm amd
との通信は
.Tn RPC
によって行われます。現在のプロトコルでは、 3 つのモード
がサポートされています。デフォルトでは、マウントポイントと自動
マウントされたファイルシステムのリストが出力されます。別
のホストの状態を知るときは、
.Fl h
オプションで
.Ar hostname
を指定します。
.Pp
ディレクトリ名が与えられると、デフォルトの出力ではファイルシステム
ごとの情報が表示されます。
.Sh オプション
.Bl -tag -width flag
.It Fl f
自動マウントシステムに内部キャッシュを破棄するように要
求します。
.It Fl h Ar hostname
.Ar hostname
で指定されたホストに問い合わせを行います。デ
フォルトでは、ローカルホストが使われます。
.Tn HP-UX
クラスタでは、デフォルトでルートサーバに問い合わせが行わ
れます。これは通常、自動マウントシステムがルートサーバで動
いているからです。
.It Fl m
マウントされたファイルシステムのリストを、
各ファイルシステムへの参照回数と
マウント時に起きたエラーを含めて表示するように、自動マウント
システムに要求します。
.It Fl s
自動マウントシステムに、システムの統計情報を表示するよ
うに要求します。
.It Fl u
情報を表示する代わりに、
指定したファイルシステムをアンマウントするよう
自動マウントシステムに要求します。この要求によって、
必ずアンマウントが実行されるわけではありません。
単にそのファイルシステムのマウントが、
タイムアウトするにすぎません。
タイムアウトは
.Nm amd
のメインスケジューラに検出され、結果として
普通にタイムアウトしたときと同じことが行われます。
.It Fl v
自動マウントシステムに、バージョン情報を提供するように要
求します。これは、
.Nm amd
.Fl v
オプションで得られる情報の一部です。
.It Fl M Ar mountmap_entry
自動マウントシステムに、指定したマップエントリをルート
マップに追加しマウントするように要求します。
.El
.Sh 関連ファイル
.Bl -tag -width amq.x
.It Pa amq.x
RPCのプロトコル記述
.El
.Sh 警告
.Nm amq
は、Sunが登録しているRPCプログラム番号(十進数で300019)を使っ
ています。これは通常、
.Pa /etc/rpc
には含まれていません。
.Pp
.Sh 関連項目
.Xr amd 8
.Sh 作者
.An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk ,
Department of Computing, Imperial College, London, UK.
.Sh 歴史
.Nm amq
は、はじめに 4.4BSD で導入されました。
.At
diff --git a/ja_JP.eucJP/man/man8/apm.8 b/ja_JP.eucJP/man/man8/apm.8
index c691043a89..b5278aea36 100644
--- a/ja_JP.eucJP/man/man8/apm.8
+++ b/ja_JP.eucJP/man/man8/apm.8
@@ -1,105 +1,110 @@
.\" LP (Laptop Package)
.\"
-.\" Copyright (c) 1994 by HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>
+.\" Copyright (c) 1994 by Tatsumi Hosokawa <hosokawa@jp.FreeBSD.org>
.\"
.\" This software may be used, modified, copied, and distributed, in
.\" both source and binary form provided that the above copyright and
.\" these terms are retained. Under no circumstances is the author
.\" responsible for the proper functioning of this software, nor does
.\" the author assume any responsibility for damages incurred with its
.\" use.
.\" jpman %Id: apm.8,v 1.4 1997/07/26 21:52:01 horikawa Stab %
.Dd November 1, 1994
.Dt APM 8
.Os
.Sh 名称
.Nm apm, zzz
.Nd APM BIOS の制御を行い、その情報を表示する
.Sh 書式
.Nm apm
-.Op Fl ablsz
+.Op Fl ablstz
.Op Fl d Ar 1|0
.Pp
.Nm zzz
.Sh 解説
.Nm apm
は、 Intel / Microsoft APM (Advanced Power Management) BIOS を制御し、
ラップトップ PC 上の APM の現在の状態を表示します。
.Nm zzz
は、 APM 制御によって、システムをサスペンドします。
.Pp
以下のオプションが
.Nm apm
で利用可能です
(
.Nm zzz
には、オプションはありません)。
オプションが与えられなかった場合は、
.Nm apm
は、現在の APM の状態や情報を冗長モードで表示します。
+複数の表示オプションが指定された場合、
+ここに示す順番で値を 1 行に 1 つずつ表示します。
.Bl -tag -width indent
.It Fl a
現在の AC 電源の状態を整数値で表示します。
0, 1がそれぞれ
.Dq 外れている (off-line)
状態と
.Dq つながっている (on-line)
状態をあらわします。
.It Fl b
整数値で、現在のバッテリ状態を表示します。
0, 1, 2, 3という値はそれぞれ、
.Dq 良好 (high)
状態、
.Dq 低バッテリ (low)
状態、
.Dq 危険 (critical)
状態、
.Dq 充電 (charging)
状態をあらわします。
.It Fl d
通常のサスペンドとディスプレイのサスペンドを別に扱わない/別に扱うを、
それぞれ
.Ar 1
.Ar 0
で制御します。
.It Fl l
現在のバッテリの残り割合を表示します。
もし、あなたのラップトップがこの機能を提供していない時には、
255 が表示されます。
.It Fl s
APM サポート状態を整数値で表示します。0, 1 という値はそれぞれ、
.Dq 利用不可 (disabled)
状態
.Dq 利用可能 (enabled)
状態
をあらわします。
+.It Fl t
+残りのバッテリ時間を予測して、秒単位で表示します。
+分からない場合には -1 を表示します。
.It Fl z
システムをサスペンドします。これは、
.Nm zzz
と等価です。
.El
.Sh バグ
いくつかの APM 実装では、
.Nm apm
が必要とするパラメータが提供されていません。
そのようなシステムに於いては、
.Nm apm
は、それらを知らないと表示します。
.Pp
いくつかの APM 実装では、電源スイッチを押したことやカバーが
閉められたことなどのイベントを扱うことができません。
そのような実装に於いては、
システムは
.Nm apm
.Nm zzz
.Ar だけを
つかってサスペンドする
.Ar べき
です。
.Sh 関連項目
.Xr apm 4 ,
.Xr apmconf 8
.Sh 作者
-細川 達己<hosokawa@mt.cs.keio.ac.jp> ( 慶応大学, 日本 )
+.An Tatsumi Hosokawa Aq hosokawa@jp.FreeBSD.org
diff --git a/ja_JP.eucJP/man/man8/atrun.8 b/ja_JP.eucJP/man/man8/atrun.8
index 5647647c4b..af13302756 100644
--- a/ja_JP.eucJP/man/man8/atrun.8
+++ b/ja_JP.eucJP/man/man8/atrun.8
@@ -1,84 +1,84 @@
-.\" %Id: atrun.man,v 1.1.6.2 1998/07/07 04:49:55 jkoshy Exp %
+.\" %Id: atrun.man,v 1.5 1998/07/01 05:47:58 jkoshy Exp %
.\" jpman %Id: atrun.8,v 1.2 1997/04/23 02:43:41 yugawa Stab %
.Dd April 12, 1995
.Dt ATRUN 8
.Os "FreeBSD 2.1"
.Sh 名称
.Nm atrun
.Nd ジョブキューのなかから予定時刻になったものを実行
.Sh 書式
.Nm atrun
.Op Fl l Ar load_avg
.Op Fl d
.Sh 解説
.Nm
コマンドは
.Xr at 1
でキューに入れたジョブを実行するコマンドです。
.Pp
.Xr atrun 8
が5分毎に起動されるようにするために、
root の
.Xr crontab 5
ファイル
.Pa /etc/crontab
に、
.nf
*/5 * * * * root /usr/libexec/atrun
.fi
という設定を含めておく必要があります。
.Pp
呼び出しが起きるたびに
.Nm
は、小文字のキューの中のジョブのうち、
実行開始時間を過ぎたものすべてを開始します。
さらに、直前の1分間の負荷平均値(load avarage)が指定した限界値より小さい場合、
優先順位が最も高いバッチジョブ(大文字のキューで表されます)ひとつを
開始します。
.\" 上記の記述はオリジナルの英語版では、"A maximum of one batch jobs (denoted
.\" by uppercase queues) are started each time atrun is invoded." となっている。
.\" この記述だけでは非常にわかりにくいが、at(1) を見ると、バッチジョブには
.\" A 〜 Z のキューがあり、A 〜 Z の順番で nice 値が高くなる(優先度が低くなる)
.\" と書かれている。そこで、実際に試して見ると、同一のキューに登録されたジョブ
.\" は登録された順番に実行されるが、異なるキューに登録されたジョブは登録された
.\" 順番とは関係なく、より nice 値が低い(優先度の高い)ジョブから実行される
.\" ので、上記の記述とした。
.\" 2.2.1-RELEASE 対象
.\" By yugawa@orleans.rim.or.jp (Apr 23 1997)
.\" RELENG22-980710-SNAP(2.2.7 直前)でこの部分の記述は変更されたが、
.\" "A maximum of one batch jobs" の句は依然として残っているので、
.\" この句の訳はそのままにしてある。
.\" By kuma@jp.freebsd.org (Jul 10 1998)
.Sh オプション
.Bl -tag -width indent
.It Fl l Ar load_avg
負荷の上限を指定する。負荷がこの上限を越えている場合、バッチジョブは実行さ
れない。デフォルトの値は 1.5。
.It Fl d
デバッグ用。
.Xr syslog 3
を使う代わりに標準エラー出力にエラーメッセージを吐き出す。
.El
.Sh 警告
.Nm
を動かすためには
.Xr cron 8
デーモンを起動しておかねばなりません。
.Sh 関連ファイル
.Bl -tag -width /var/at/spool -compact
.It Pa /var/at/spool
出力ファイルを保管しておくディレクトリ
.It Pa /var/at/jobs
ジョブファイルを保管しておくディレクトリ
.El
.Sh 関連項目
.Xr at 1 ,
.Xr crontab 1 ,
.Xr syslog 3 ,
.Xr crontab 5 ,
.Xr cron 8
.Sh バグ
.Nm
の機能は
.Xr cron 8
に統合されるべきです。
diff --git a/ja_JP.eucJP/man/man8/badsect.8 b/ja_JP.eucJP/man/man8/badsect.8
index c2e0619654..9f8f57acbd 100644
--- a/ja_JP.eucJP/man/man8/badsect.8
+++ b/ja_JP.eucJP/man/man8/badsect.8
@@ -1,135 +1,135 @@
.\" 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 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: @(#)badsect.8 8.1 (Berkeley) 6/5/93
-.\" %Id: badsect.8,v 1.1.1.1.8.4 1998/07/17 20:12:56 jkh Exp %
+.\" %Id: badsect.8,v 1.7 1998/06/04 06:38:03 charnier Exp %
.\" jpman %Id: badsect.8,v 1.2 1997/03/31 13:30:12 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt BADSECT 8
.Os BSD 4
.Sh 名称
.Nm badsect
.Nd バッドセクタ上にファイルを作る
.Sh 書式
.Nm badsect
.Ar bbdir sector ...
.Sh 解説
.Nm
はバッドセクタを含むファイルを作成します。
通常のフォーマッタは、バッドセクタをアクセスできないようにします。
このとき、フォーマッタはドライバ用にバッドセクタのフォワーディングテーブルを
作ります。
詳しくは
.Xr bad144 8
を参照してください。
もしドライバが標準でバッドブロックをサポートしているならば、
バッドブロックを孤立させるためにはその方法を使用すべきです。
なぜならばバッドブロックフォワーディングはパックを完全に見せ、
そのようなパックは
.Xr dd 1
でコピー可能だからです。
本プログラムで採用している方法はバッドブロックフォワーディングよりは
一般的ではありません。
なぜならば
.Nm
はファイルシステムの i-list のバッドブロックを回復することができませんし、
スワップ領域のバッドブロックも回復することができないからです。
.Pp
突然バッドとなったセクタをバッドセクタテーブルに追加するためには、
ディスクによっては現在のところ、
標準の
.Tn DEC
フォーマッタを実行する必要があります。
このため、新たに生じたバッドブロックを扱う場合、
およびドライバがバッドブロッキング標準をサポートしていない場合には、
.Nm
は有効かも知れません。
.Pp
.Nm
は現在アクセスされていないファイルシステムに対して次のように使用します。
.Nm
を使うには、まず、ファイルシステムをマウントし、そのルート
ディレクトリに移動します。ここに
.Li BAD
という名前のディレクトリを作ります。
.Nm
コマンドに、引数として、このディレクトリと追加したいすべて
のバッドセクタを指定して実行します
(セクタ番号はファイルシステムの先頭からの相対で指定しなければなりませんが、
システムがコンソールエラーメッセージに表示するのは相対セクタ番号であるため
難しくはありません)。
その後、ルートディレクトリに移動し、
そのファイルシステムをアンマウントしてから
.Xr fsck 8
を実行します。
fsck はバッドセクタを含むファイルを削除しますが、
.Pa BAD/ Ns Em nnnnn
は削除
.Em しないように
してください。
以上の操作によりバッドセクタは
.Li BAD
ファイルにのみにあることになります。
.Pp
.Nm
.Xr mknod 2
の引数にセクタ番号を指定してコールすることで、
最初のブロックが指定したバッドセクタを含んだ特別なファイルを作ります。
このファイルの名前はバッドセクタの番号です。
.Xr fsck 8
は、このファイルを発見すると
.Dq Li "HOLD BAD BLOCK ?"
と聞いてきます。
これに対して y と答えると、
.Xr fsck 8
はその inode を、バッドブロックを含む
通常ファイルにコンバートします。
.Sh 関連項目
.Xr bad144 8 ,
.Xr fsck 8
.Sh 診断
.Nm
は、危険な領域のブロックやファイルシステム外のブロックを追加しません。
また、ブロックが既に使用されている場合には警告を表示します。
.Sh バグ
あるファイルシステムフラグメント中の複数のセクタがバッドとなった場合、
そのうちの 1 つだけを
.Nm
に指定しなければなりません。
バッドセクタファイル中のブロックは、
ファイルシステムフラグメント中の全てのセクタをカバーするからです。
.Sh 歴史
.Nm
コマンドは
.Bx 4.1
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/boot_i386.8 b/ja_JP.eucJP/man/man8/boot_i386.8
index a41154b8b5..1bae2f79d8 100644
--- a/ja_JP.eucJP/man/man8/boot_i386.8
+++ b/ja_JP.eucJP/man/man8/boot_i386.8
@@ -1,239 +1,254 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software written and contributed
.\" to Berkeley by William Jolitz.
.\"
.\" Almost completely rewritten for FreeBSD 2.1 by Joerg Wunsch.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)boot_i386.8 8.2 (Berkeley) 4/19/94
-.\" %Id: boot_i386.8,v 1.4.2.4 1998/03/23 08:14:06 danny Exp %
+.\" %Id: boot_i386.8,v 1.13 1998/07/15 06:51:35 charnier Exp %
.\" jpman %Id: boot_i386.8,v 1.5 1997/12/04 18:33:50 ken Exp %
.\"
.\"
.Dd April 19, 1994
.Dt BOOT 8 i386
.Os
.Sh 名称
.Nm boot
.Nd
システム立上げ時の手続き
.Sh 解説
.Sy 電源断とクラッシュからの回復。
通常、電源復旧時とクラッシュ発生後には、システムは自動的にリブートし
ます。ファイルシステムの整合性チェックが自動実行され、途中で失敗しな
ければ、システムはマルチユーザ・モードに移行します。
.Pp
.Sy コールドスタート。
大多数の 386
.Tn "PC AT"
互換機は、まずフロッピードライブ 0 (ドライブ A: ともいう) からの
ブートを試み、それに失敗すると、ハードディスクドライブ 0 (ドライブ C: も
しくは (紛らわしいが) ハードディスクドライブ 1 とも BIOS のドライブ
0x80 ともいう) からブートしようとします。いくつかの BIOS では、この
デフォルトの順序を変えたり、 CD-ROM デバイスをブートデバイスとして含
めることができます。
ブートブロックがロードされたあとで、次のようなプロンプトが現れます。
.Bd -literal
>> FreeBSD BOOT @ 0x10000: 640/7168 k of memory, internal console
Boot default: 0:wd(0,a)kernel
boot:
.Ed
.Pp
(スクリーン上にはいくつかの情報も出力されているかもしれません)
.Pp
自動ブートにおいては、フロッピー
もしくはハードディスクのパーティション
.Ql a
から
.Pa /kernel
をロードしようとします。
この動作は
.Ql boot:
というプロンプトが出ている間なら、キーボードから適当な文字を入力する
ことで中断できます。以下にあげるような入力はブート動作に対する指示と
して受付けられます。
.Bl -tag -width 10x
.It \&?
ブートファイルを探す際のヒントとして、デフォルトのブートデバイスの
ルートディレクトリにあるファイルの名前を表示します。
-.It Op bios_drive:interface(unit,part) Op filename Op Fl aCcDdghPrsv
+.It Op bios_drive:interface(unit,part) Op filename Op Fl abCcDdghPrsv
ブートファイルとブートフラグを指定します。
.Bl -tag -width 10x -compact
.It bios_drive
BIOS によって認識されるドライブ番号です。 1 つ目のドライブに対しては
0 、 2 つ目のドライブに対しては 1 、などです。
.It interface
そこからブートするコントローラのタイプです。ブートファイルのイメージ
をロードするのには BIOS の機能を使用するので、そのコントローラに対す
る BIOS サポートが必要となることに注意して下さい。
.Pp
サポートされているインタフェースを以下にあげます。
.Bl -tag -width "wdXX" -compact
.It wd
WD100[2367] とその互換コントローラ上の ST506, IDE, ESDI, RLL ディスク
.It fd
5 1/4" または 3 1/2" 高密度 フロッピ
.It sd
サポートされている SCSI コントローラ上の SCSI ディスク
.\".It cd
.\"CDROM からのブート
.El
.It unit
使用されているインタフェース上のドライブのユニット番号です。 1 つ
目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。
.It part
ディスク上の BSD 部分内のパーティション文字です。詳しくは
.Xr disklabel 8
を参照して下さい。慣例として、パーティション
.Ql a
のみが ブート可能なイメージを含んでいます。ディスクにスライス
.Pq Dq fdisk パーティション
が設けられていた場合、最初の BSD スライスからのみブートが可能です。
また、パーティション文字は常に最初のスライスについてのものとなります。
.It /filename
ブートファイルの (指定されたパーティションのルートディレクトリからの
相対) パス名です。デフォルトでは
.Pa /kernel
となります。シンボリックリンクはサポートされていません (ハードリンク
は使用できます)。
-.It Fl acCdDghPrsv
+.It Fl abcCdDghPrsv
ブートフラグです。
.Bl -tag -width "-CXX" -compact
.It Fl a
カーネル初期化中に、ルートファイルシステムとしてマウントされるデバイスを
尋ねて来るようにします。
+.It Fl b
+スクリーンを 800x600x4 モード (Vesa モード 0x102) にします。
+XFree86 の XF86_VGA16 サーバでサポートされていないグラフィックスチップを
+持つラップトップで有用です。
+スクリーンに表示させるためには、
+8x16 フォントを syscons に組み込むかブートストラップの一部にてロードする
+必要があります。
.It Fl C
CDROM からブートします。
.It Fl c
ロードしたカーネルに対し、ハードウェアのパラメータを変更するため、
UserConfig を実行します。
カーネルが USERCONFIG_BOOT オプション付きで構築された場合、
スクリプト中に
.Ic quit
コマンドがあったとしても、UserConfig 中にとどまります。
.It Fl D
シングルとデュアルのコンソール設定を切り替えます。シングル設定では、
下記の
.Fl h
オプションの状態によって、コンソールは内部ディスプレイかシリアルポートの
いずれかになります。デュアルコンソール設定では、内部ディスプレイ
とシリアルポートの両方が、
.Fl h
オプションの状態によらず、同時にコンソールになります。しかし、
デュアルコンソール設定は、ブートプロンプトの間だけでしか効果を持ちません。
一旦カーネルがロードされると、
.Fl h
オプションによって指定されたコンソールが唯一のコンソールになります。
.It Fl d
カーネルの初期化のできる限り早い段階で DDB カーネルデバッガ
.Pq Xr ddb 4 を参照
に入ります。
.It Fl g
GDB リモートデバッギングプロトコルを使用します。
.It Fl h
内部コンソールとシリアルコンソールの切替えを行います。これを使用して
コンソールデバイスを変更できます。例えば、内部コンソールからブートし
た場合、カーネルがコンソールデバイスとしてシリアルポートを使用するよ
うにするため、
.Fl h
オプションを使用できます。反対に、シリアルポートからブートした場合、
カーネルがコンソールとして代わりに内部ディスプレイを使用するようにす
るため、このオプションを使用できます。
+カーネルを
+.Em options COMCONSOLE
+付きでコンパイルした場合には、このオプションは効果ありません。
.It Fl P
キーボードを検出します。キーボードが発見できなかった場合には、
.Fl D
.Fl h
オプションが自動的にセットされます。
.It Fl r
ルートファイルシステムを含むデバイスとしてスタティックに config され
たデフォルトを使用します
.Pq Xr config 8 を参照
.It Fl s
シングルユーザ・モードで立上がるようになります。コンソールが
.Dq insecure
.Pq Xr ttys 5 を参照
に設定されていた場合には、root のパスワードを入力しなければなり
ません。
.It Fl v
デバイス検出の際 (そしてその後も) 、詳細を出力します。
.El
.El
.El
.Pp
デフォルトを設定するため、BIOS ドライブ番号, コントローラタイプ,
ユニット番号, パーティション, カーネルファイル名と
-.Fl D,
-.Fl h
-もしくは
+.Fl b ,
+.Fl D ,
+.Fl h ,
.Fl P
オプションを
.Pa /boot.config
に書くこともできます。
.Ql boot:
プロンプトでタイプするように、 1 行で書いてください。
.Sh 関連ファイル
.Bl -tag -width /kernel.old.config -compact
.It Pa /boot.config
ブートローダに対するパラメータ (必須ではない)
.It Pa /boot.help
ヘルプメッセージ
.It Pa /kernel
デフォルトカーネル
.It Pa /kernel.config
デフォルトカーネルに対するパラメータ (必須ではない)
.It Pa /kernel.old
ふつうは非デフォルトカーネル (必須ではない)
.It Pa /kernel.old.config
非デフォルトカーネルに対するパラメータ (必須ではない)
.\" .It Pa /boot
.\" system bootstrap
.El
.Sh 関連項目
.Xr ddb 4 ,
.Xr ttys 5 ,
.Xr config 8 ,
.Xr disklabel 8 ,
.Xr halt 8 ,
.Xr reboot 8 ,
.Xr shutdown 8
.Sh バグ
このバージョンの
.Bx
で使用されているディスクラベルのフォーマットは、他のアーキテクチャで
使用されている物とは全く異なっています。
.Pp
+フォントをカーネルに組み込まずに
+.Fl b
+を使用する場合、
+カーネルの出力は見えません (カーソル以外は見えません)。
+.Pp
一文字だけのブートフラグはあまり分かりやすい物とは言えず、有用と思わ
れるオプションをすべて実現するには、アルファベットの文字数は少なすぎ
ます。
diff --git a/ja_JP.eucJP/man/man8/bootpd.8 b/ja_JP.eucJP/man/man8/bootpd.8
index 3e487b55a2..20a639bd7b 100644
--- a/ja_JP.eucJP/man/man8/bootpd.8
+++ b/ja_JP.eucJP/man/man8/bootpd.8
@@ -1,313 +1,301 @@
.\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University
.\"
-.\" %Header: /home/ncvs/src/libexec/bootpd/bootpd.8,v 1.4.2.6 1998/06/03 04:35:16 jkoshy Exp %
+.\" %Id: bootpd.8,v 1.9 1998/06/03 04:21:33 jkoshy Exp %
.\" jpman %Id: bootpd.8,v 1.4 1997/10/11 07:39:12 horikawa Stab %
.\"
-.TH BOOTPD 8 "November 06, 1993" "Carnegie Mellon University"
-.SH 名称
-bootpd, bootpgw \- インターネットブートプロトコルサーバ/ゲートウェイ
-.SH 書式
-.B bootpd
-[
-.B \-i
-.B \-s
-.B \-t
-timeout
-.B \-d
-level
-.B \-c
-chdir\-path
-]
-[
-.I bootptab
-[
-.I dumpfile
-] ]
-.br
-.B bootpgw
-[
-.B \-i
-.B \-s
-.B \-t
-timeout
-.B \-d
-level
-] server
-.SH 解説
-.I bootpd
+.Dd November 06, 1993
+.Dt BOOTPD 8
+.Os "Carnegie Mellon University"
+.Sh 名称
+.Nm bootpd , bootpgw
+.Nd インターネットブートプロトコルサーバ/ゲートウェイ
+.Sh 書式
+.Nm bootpd
+.Op Fl i
+.Op Fl s
+.Op Fl t Ar timeout
+.Op Fl d Ar level
+.Op Fl c Ar chdir-path
+.Oo
+.Ar bootptab
+.Op Ar dumpfile
+.Oc
+.Nm bootpgw
+.Op Fl i
+.Op Fl s
+.Op Fl t Ar timeout
+.Op Fl d Ar level
+.Ar server
+.Sh 解説
+.Nm
は RFC951, RFC1532, RFC1533 で定義された
インターネットブートプロトコル (BOOTP) サーバを実装したものです。
-.I bootpgw
+.Nm bootpgw
は、要求と応答を、あるサブネット上のクライアントと、
別のサブネット上の BOOTP サーバ (すなわち
-.IR bootpd
+.Nm
) との間で転送するのに使われる、単純な BOOTP ゲートウェイを実装しています。
-.I bootpd
+.Nm
または
-.I bootpgw
+.Nm bootpgw
は BOOTREPLY パケットを転送しますが、
-.I bootpgw
+.Nm bootpgw
だけが BOOTREQUEST パケットを転送します。
-.PP
+.Pp
各々のネットワークセグメントにつき、通常一つのホストで、
以下の行のどれかをファイル
-.IR /etc/inetd.conf
+.Pa /etc/inetd.conf
に含めることにより、
-.I bootpd
+.Nm
あるいは
-.I bootpgw
+.Nm bootpgw
-.I inetd
+.Xr inetd 8
から起動されるように設定されます:
-.IP
-bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab
-.br
-bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server
-.PP
+.Pp
+.Dl bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab
+.Dl bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server
+.Pp
この動作モードは「inetd モード」と呼ばれ、
ブート要求が到着した時にだけ
-.I bootpd
+.Nm
(あるいは
-.IR bootpgw
+.Nm bootpgw
) を開始します。
もし最後にパケットを受信してから 15 分以内に別のパケットを受信しないのなら、
システムの資源を浪費しないように終了します。
-.B \-t
+.Fl t
オプションがこのタイムアウト時間を制御します (オプション参照)。
-.PP
+.Pp
他の通常のコマンドのように単にシェルから起動することで、
-.I bootpd
+.Nm
(あるいは
-.IR bootpgw
+.Nm bootpgw
) を「スタンドアローンモード」(
-.IR inetd
+.Xr inetd 8
なし) で実行することも可能です。
-.I bootpd
+.Nm
が大きなコンフィギュレーションデータベースのもとで使われる時には、
inetd モードでの起動時の遅延が
クライアントの要求に対する素早い応答を妨げるので、
スタンドアローンモードは特に役に立ちます。
(例えば
-.IR /etc/rc.local
+.Pa /etc/rc.local
から
-.I bootpd
+.Nm
を呼びだすことによって、
スタンドアローンモードで自動的に起動することができます)
-.I bootpgw
+.Nm bootpgw
は設定ファイルを読まないので、
起動時の遅延はかなり小さく、
スタンドアローンモードはあまり役に立ちません。
-.PP
+.Pp
どちらのプログラムも、inetd から呼び出されたかシェルから呼び出されたかを
自動的に検出し、自動的に適当なモードを選択します。
-.B \-s
+.Fl s
-.B \-i
+.Fl i
オプションは各々、スタンドアローンモードと inetd モードを強制するのに
使います (オプション参照)
-.SH オプション
-.TP
-.BI \-t \ timeout
-.I bootpd
+.Sh オプション
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl t Ar timeout
+.Nm
あるいは
-.I bootpgw
+.Nm bootpgw
プロセスが終了する前に BOOTP パケットを待つ
-.I timeout
+.Ar timeout
値 (分単位) を指定します。
もし
-.I timeout
+.Ar timeout
分内にパケットを受信しなければ、プログラムは終了します。
timeout の値が 0 の場合は「永遠に実行する」という意味です。
スタンドアローンモードでは、このオプションは 0 に強制されます。
-.TP
-.BI \-d \ debug\-level
+.It Fl d Ar debug-level
生成されるデバッグメッセージの量を制御する変数
-.I debug\-level
+.Ar debug-level
を設定します。
-例えば、-d4 あるいは -d 4 では、デバッグレベルが 4 に設定されます。
+例えば、
+.Fl d Ns 4
+.Fl d
+4 では、デバッグレベルが 4 に設定されます。
古いバージョンの
-.IR bootpd
-との互換性のため、数字のパラメータを省略 (つまり、-d だけ) すると
+.Nm
+との互換性のため、数字のパラメータを省略 (つまり、
+.Fl d
+だけ) すると
単にデバッグレベルを一つだけ増加させます。
-.TP
-.BI \-c \ chdir\-path
+.It Fl c chdir-path
クライアントのブートファイルの存在とサイズを検査する間に
-.I bootpd
+.Nm
で使われるカレントディレクトリを設定します。
クライアントのブートファイルが相対パス名で指定されていて、
-.I bootpd
-が TFTP サーバと同じカレントディレクトリ (典型的には /tftpboot)
-を必要とするときに有用です。
+.Nm
+が TFTP サーバと同じカレントディレクトリ (典型的には
+.Pa /tftpboot
+) を必要とするときに有用です。
このオプションは
-.IR bootpgw
+.Nm bootpgw
によっては認識されません。
-.TP
-.B \-i
+.It Fl i
強制的に inetd モードにします。
このオプションは時代遅れですが、古いバージョンの
-.IR bootpd
+.Nm
との互換性のために残してあります。
-.TP
+.It Fl s
.B \-s
強制的にスタンドアローンモードにします。
このオプションは時代遅れですが、
古いバージョンの
-.IR bootpd
+.Nm
との互換性のために残してあります。
-.TP
-.I bootptab
-.I bootpd
+.It Ar bootptab
+.Nm
がロードする
設定ファイルの名前を指定します (
-.RI bootpd
+.Nm
のみ)。
これはあらかじめ知っているクライアントと
そのクライアントのオプションに関するデータベースです。
-.TP
-.I dumpfile
-.I bootpd
+.It Ar dumpfile
+.Nm
が、SIGUSR1 シグナルを受信したときに
内部データベースをダンプするファイルの名前を指定します (
-.RI bootpd
+.Nm
のみ)。
このオプションは
-.I bootpd
+.Nm
が -DDEBUG フラグ付きでコンパイルされたときだけ認識されます。
-.TP
-.I server
-.I bootpgw
+.It Ar server
+.Nm bootpgw
が受信した全ての BOOTREQUEST パケットを転送する、
BOOTP サーバの名前を指定します (
-.RI bootpgw
+.Nm bootpgw
のみ)。
-.SH 操作
-.PP
-.I bootps
+.El
+.Sh 操作
+.Em bootps
ポートに送られたどんなパケットも取り込んで
どんな BOOTREPLY パケットも単純に転送するという点で
-.I bootpd
+.Nm
-.I bootpgw
+.Nm bootpgw
の双方が似た動きをします。
BOOTREQUEST の扱いは違います。
-.PP
-.I bootpgw
+.Pp
+.Nm bootpgw
は動作開始時に、コマンド行パラメタとして名前を与えられた
BOOTP サーバのアドレスを決めます。
-.I bootpgw
+.Nm bootpgw
が BOOTREQUEST パケットを受信したとき、
パケットの「ゲートウェイアドレス」と「ホップ数」フィールドを設定し、
パケットを前に決めたアドレスの BOOT サーバへ転送します。
要求パケットは、
クライアントが少くとも 3 秒は待っているとパケットが示している時にだけ
転送されます。
-.PP
-.I bootpd
+.Pp
+.Nm
は動作開始時に設定ファイル (通常
-.IR /etc/bootptab
+.Pa /etc/bootptab
) を読みこみます。
これで、あらかじめ知っているクライアントと
クライアントのオプションに関する内部データベースを初期化します。
この内部データベースは、
-.I bootpd
+.Nm
が回線切断シグナル (SIGHUP) を受信したとき、
または設定ファイルが変更されたことを
発見したときに、再読み込みが行なわれます。
-.PP
-.I bootpd
+.Pp
+.Nm
が BOOTREQUEST パケットを受信したとき、
クライアントの要求に一致するデータベースエントリを探します。
もしそのクライアントをあらかじめ知っていれば
-.I bootpd
+.Nm
は前に見付けたデータベースエントリを使って BOOTREPLY パケットを構成し、
(ひょっとしたらゲートウェイを使って) クライアントに返答を送ります。
もしクライアントが未知ならば、(debug > 0 のときは注意を出して)
要求は捨てられます。
-.PP
-.I bootpd
+.Pp
+.Nm
が -DDEBUG オプションでコンパイルされていれば、
SIGUSR1 シグナルを送ると内部データベースをファイル
-.I /tmp/bootpd.dump
+.Pa /tmp/bootpd.dump
か、コマンド行パラメータで指定されたダンプファイルに
にダンプします。
-.PP
+.Pp
初期化の時どちらのプログラムも、
(普通は
-.IR /etc/services
+.Pa /etc/services
を使う)
-.I getservbyname
+.Xr getservbyname 3
を呼ぶことで UDP ポート番号を決定します。
二つのサービス名 (とポート番号) が使われます:
-.IP
-bootps \- BOOTP サーバ待機ポート
-.br
-bootpc \- BOOTP クライアント届け先ポート
-.LP
+.Pp
+.Dl bootps \- BOOTP サーバ待機ポート
+.Dl bootpc \- BOOTP クライアント届け先ポート
+.Pp
もしポート番号が
-.I getservbyname
+.Xr getservbyname 3
を使って決定できないときには、
デフォルト値は bootps=67 と bootpc=68 です。
-.SH 関連ファイル
-.TP 20
-/etc/bootptab
-.IR bootpd
+.Sh 関連ファイル
+.Bl -tag -width /tmp/bootpd.dump -compact
+.It Pa /etc/bootptab
+.Nm
によって読み込まれるデータベースファイル。
-.TP
-/tmp/bootpd.dump
-.IR bootpd
+.It Pa /tmp/bootpd.dump
+.Nm
によって生成されるデバッグダンプファイル。
-.TP
-/etc/services
+.It Pa /etc/services
インターネットサービス番号。
-.TP
-/tftpboot
+.It Pa /tftpboot
TFTP サーバと
-.IR bootpd
+.Nm
で使われる典型的カレントディレクトリ。
-
-.SH バグ
+.El
+.Sh バグ
各々のホストエントリは 1024 文字を越えてはいけません。
-
-.SH 功労者
-.PP
-この配布版は現在、 Walter L. Wimer <walt+@cmu.edu> によって
+.Sh 功労者
+この配布版は現在、
+.An Walter L. Wimer Aq walt+@cmu.edu
+によって
保守されています。
-.PP
+.Pp
オリジナルの BOOTP サーバは
-スタンフォード大学の Bill Croft によって 1986 年 1 月に作成されました。
-.PP
+スタンフォード大学の
+.An Bill Croft
+によって 1986 年 1 月に作成されました。
+.Pp
現在のバージョンの
-.I bootpd
-は第一に、Carnegie Mellon University の David Kovar,
-Drew D. Perkins, Walter L. Wimer の仕事にるものです。
-.TP
+.Nm
+は第一に、Carnegie Mellon University の
+.An David Kovar ,
+.An Drew D. Perkins ,
+.An Walter L. Wimer
+の仕事にるものです。
+.Pp
機能拡張とバグフィクスは以下の方の貢献によります:
(アルファベット順)
-.br
-Danny Backx <db@sunbim.be>
-.br
-John Brezak <brezak@ch.hp.com>
-.br
-Frank da Cruz <fdc@cc.columbia.edu>
-.br
-David R. Linn <drl@vuse.vanderbilt.edu>
-.br
-Jim McKim <mckim@lerc.nasa.gov>
-.br
-Gordon W. Ross <gwr@mc.com>
-.br
-Jason Zions <jazz@hal.com>
-.SH 関連項目
-.LP
-bootptab(5), inetd(8), tftpd(8)
-.LP
+.Pp
+.An Danny Backx Aq db@sunbim.be ,
+.An John Brezak Aq brezak@ch.hp.com ,
+.An Frank da Cruz Aq fdc@cc.columbia.edu ,
+.An David R. Linn Aq drl@vuse.vanderbilt.edu ,
+.An Jim McKim Aq mckim@lerc.nasa.gov ,
+.An Gordon W. Ross Aq gwr@mc.com ,
+.An Jason Zions Aq jazz@hal.com .
+.Sh 関連項目
+.Xr bootptab 5 ,
+.Xr inetd 8 ,
+.Xr tftpd 8
+.Pp
DARPA Internet Request For Comments:
-.TP 10
-RFC951
+.Bl -tag -width RFC1533 -compact
+.It RFC951
Bootstrap Protocol
-.TP 10
-RFC1532
+.It RFC1532
Clarifications and Extensions for the Bootstrap Protocol
-.TP 10
-RFC1533
+.It RFC1533
DHCP Options and BOOTP Vendor Extensions
+.El
diff --git a/ja_JP.eucJP/man/man8/ccdconfig.8 b/ja_JP.eucJP/man/man8/ccdconfig.8
index dae26c476d..8db895c1d8 100644
--- a/ja_JP.eucJP/man/man8/ccdconfig.8
+++ b/ja_JP.eucJP/man/man8/ccdconfig.8
@@ -1,180 +1,180 @@
.\" $NetBSD: ccdconfig.8,v 1.1.2.1 1995/11/11 02:43:33 thorpej Exp %
.\"
.\" Copyright (c) 1995 Jason R. Thorpe.
.\" 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:
.\" must display the following acknowledgement:
.\" This product includes software developed for the NetBSD Project
.\" by Jason R. Thorpe.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: ccdconfig.8,v 1.4.2.1 1998/07/17 20:12:57 jkh Exp %
+.\" %Id: ccdconfig.8,v 1.5 1998/06/04 06:41:26 charnier Exp %
.\"
.\" jpman %Id: ccdconfig.8,v 1.3 1997/07/28 10:00:39 konuma Stab %
.Dd July 17, 1995
.Dt CCDCONFIG 8
.Os FreeBSD
.Sh 名称
.Nm ccdconfig
.Nd 結合ディスクドライバ用設定ユーティリティ
.Sh 書式
.Nm ccdconfig
.Op Fl cv
.Ar ccd
.Ar ileave
.Op Ar flags
.Ar dev
.Op Ar
.Nm ccdconfig
.Fl C
.Op Fl v
.Op Fl f Ar config_file
.Nm ccdconfig
.Fl u
.Op Fl v
.Ar ccd
.Op Ar
.Nm ccdconfig
.Fl U
.Op Fl v
.Op Fl f Ar config_file
.Nm ccdconfig
.Fl g
.Op Fl M Ar core
.Op Fl N Ar system
.Oo
.Ar ccd Oo ...
.Oc
.Oc
.Sh 解説
.Nm
は結合ディスクデバイス (concatenated disk device, ccd) の動的な設定および
解除を行う場合に使用します。ccd の詳細については、
.Xr ccd 4
を参照して下さい。
.Pp
以下のオプションが使用できます。
.Bl -tag -width indent
.It Fl c
ccd の設定を行います。
.Nm
のデフォルトの動作です。
.It Fl C
設定ファイルに書かれている全てのデバイスの設定を行います。
.It Fl f Ar config_file
全てのデバイスの設定あるいは解除を行う時に、デフォルトの
.Pa /etc/ccd.conf
ではなく、
.Pa config_file
から設定情報を読み込みます。
.It Fl g
ccd の設定ファイルとして使用できる形式で、現在の ccd の設定を出力します。
引数が指定されていなければ、設定されている全ての ccd について出力します。
引数が指定されていれば、指定された ccd についてのみ出力します。
.It Fl M Ar core
名前リストに対応する値の展開に、デフォルトの
.Pa /dev/mem
ではなく、
.Pa core
を使用します。
.It Fl N Ar system
(
.Xr getbootfile 3
により判断される)
現在稼働中のカーネルの代わりに
.Ar system
をカーネルとして使用します。
.It Fl u
ccd の設定を解除します。
.It Fl U
ccd 設定ファイルに書かれている全ての ccd デバイスの設定を解除します。
.It Fl v
より冗長な出力を行います。
.El
.Pp
ccd は、コマンド行ないし ccd 設定ファイルにて、ccd の名前、インタリーブ
ファクタ、ccd 設定フラグ、ひとつ以上のデバイスのリストの情報により
定義されます。フラグは、十進数、十六進数、コンマで区切られた名前のリスト、
.Dq none
のいずれかで表すことができます。
フラグには以下の物があります。
.\" 以下の表の部分のマクロはオリジナルの英語版とは異なるが、こちらの方が
.\" きれいに(見やすい形で)フォーマットされるので、変更した。
.\" マクロ自体は NetBSD の ccdconfig.8 の日本語版を参考にした。
.\" 2.2.2-RELEASE 対象
.\" By yugawa@orleans.rim.or.jp (May 20 1997)
.\"
.\" "-offset indent" 追加。
.\" 2.2.2-RELEASE 対象
.\" By konuma@de.mtex.co.jp (Jul 28 1997)
.Pp
.Bl -tag -width "CCDF_UNIFORM 0x02" -ffset intent -compact -offset indent
.It "CCDF_SWAP 0x01"
dmmax (swap の単位ブロックの最大値) 単位でインタリーブします
.It "CCDF_UNIFORM 0x02"
ディスク間で均一なインタリーブ動作になります
.It "CCDF_MIRROR 0x04"
データのミラーリングを行います
.It "CCDF_PARITY 0x08"
パリティ検査を行います (現状では使用できません)
.El
.Pp
設定ファイルのフォーマットは、コマンド行から指定する場合と
同一の形式になります。コマンド行から指定する場合も、
設定ファイルから指定する場合も、
.Pa flags
引数はオプションです。
.Bd -unfilled -offset indent
#
# /etc/ccd.conf
# Configuration file for concatenated disk devices
#
.Pp
# ccd ileave flags component devices
ccd0 16 none /dev/sd2e /dev/sd3e
.Ed
.Pp
.Sh 使用例
コマンド行から以下のコマンドを実行した場合、ccd0 を
(/dev/sd2e, /dev/sd3e, /dev/sd4e, /dev/sd5e の) 四つの要素から
構成され、32 ブロックごとにインタリーブする ccd として設定します。
.Bd -unfilled -offset indent
# ccdconfig ccd0 32 0 /dev/sd2e /dev/sd3e /dev/sd4e /dev/sd5e
.Ed
.Pp
.Sh 関連ファイル
.Bl -tag -width /etc/ccd.conf -compact
.It Pa /etc/ccd.conf
デフォルトの ccd 設定ファイル
.El
.Sh 関連項目
.Xr ccd 4 ,
.Xr rc 8
.Sh 歴史
.Nm
コマンドは
.Nx 1.0a
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/chat.8 b/ja_JP.eucJP/man/man8/chat.8
index b37e4c67df..5ba8d3255e 100644
--- a/ja_JP.eucJP/man/man8/chat.8
+++ b/ja_JP.eucJP/man/man8/chat.8
@@ -1,521 +1,521 @@
.\" -*- nroff -*-
.\" manual page [] for chat 1.8
-.\" %Id: chat.8,v 1.4.2.4 1998/06/23 22:12:41 peter Exp %
+.\" %Id: chat.8,v 1.12 1998/06/23 21:58:41 peter Exp %
.\" jpman %Id: chat.8,v 1.3 1997/08/31 14:02:42 horikawa Stab %
.\" SH section heading
.\" SS subsection heading
.\" LP paragraph
.\" IP indented paragraph
.\" TP hanging label
.TH CHAT 8 "27 Sep 1997" "Chat Version 1.17"
.SH 名称
chat \- モデム接続の確立を自動化するスクリプト言語
.SH 書式
.B chat
[
.I options
]
.I script
.SH 解説
.LP
\fIchat\fR プログラムはコンピュータとモデムの間のメッセージ交換を制御します。
このコマンドの主な目的は、Point-to-Point Protocol デーモン (\fIpppd\fR) と
リモートの \fIpppd\fR プロセスの間の接続を確立することです。
.SH オプション
.TP
.B -f \fI<chat file>
チャットスクリプトを \fIchat file\fR から読み込みます。このオプションと
script パラメータとは、互いに排他の関係にあります。
chat コマンドを実行するユーザは、このファイルのリードアクセス権を
持っていなければなりません。このファイルの中では、文字列の区切りとして
スペースとタブを使うことができます。
.TP
.B -t \fI<timeout>
文字列の受信待ちのタイムアウトを指定します。もし、タイムリミットまでに
指定された文字列を受信できなかった場合には、応答文字列の送信をおこないません。
この時、かわりの応答文字列が指定されていれば それが送信され、
指定されていなければ スクリプトの実行が失敗します。
スクリプトの実行が失敗すると、\fIchat\fR プログラムは
0 以外のエラーコードを返して終了します。
.TP
.B -r \fI<report file>
レポート文字列を出力するファイルを指定します。
キーワード \fIREPORT\fR を用いると、結果の文字列がこのファイルに
出力されます。このオプションを指定せずに \fIREPORT\fR キーワードを
使用すると、レポート文字列は \fIstderr\fR に出力されます。
.TP
.B -e
エコーオプションを有効にして開始します。
\fIchat\fR スクリプトの特定の場所において
\fIECHO\fR キーワードにて
エコーの有効および無効を切り替えることができます。
エコーが有効にされると、モデムからの出力は全て \fIstderr\fR へエコーされます。
.TP
.B -v
\fIchat\fR スクリプトを冗長モードで実行します。
これを指定すると、\fIchat\fR プログラムは、チャットスクリプトの実行状態、
モデムから受信した全てのテキスト、
モデムに送った全てのテキストのログをとります。
デフォルトでは
.IR syslogd (8)
を介して取得します。ログの方法は -S および -s のフラグで変更できます。
冗長トレースのログとりは \fIlocal2\fR ファシリティのレベル \fIinfo\fR
でおこなわれ、エラーについてはレベル \fIerr\fR が使われます。
.TP
.B -V
\fIchat\fR スクリプトを標準エラー出力冗長モードにて実行するように要求します。
\fIchat\fR プログラムは、
モデムから受信する全てのテキストおよびモデムへ送信する全てのテキストを
標準エラー出力デバイスへログします。
chat もしくは pppd プログラムを動作させている場所では、
このデバイスは通常ローカルのコンソールです。
.TP
.B -s
標準エラー出力を使用します。'-v' による全ログメッセージ
および全エラーメッセージを標準エラー出力へ送られます。
.TP
.B -S
.IR syslog (3)
を使用しません。デフォルトではエラーメッセージは
.IR syslog (3)
へ送られます。-S を使用すると '-v' によるログおよびエラーメッセージは
.IR syslog (3)
へは送られなくなります。
.TP
.B -T \fI<phone number>
送信文字列において \\T 置換メタ文字を置き換える任意の文字列を渡します。
通常は電話番号です。
.TP
.B -U \fI<phone number 2>
送信文字列において \\U 置換メタ文字を置き換える第 2 文字列を渡します。
通常は電話番号です。
2 つの番号を要する ISDN ターミナルアダプタでタイアルする場合に有用です。
.TP
.B script
\fI-f\fR オプションのファイルでスクリプトが指定されていなければ、
\fIchat\fR プログラムに対するパラメータ文字列が
スクリプトとして読み込まれます。
.SH チャットスクリプト
.LP
\fIchat\fR スクリプトには通信の手順を定義します。
.LP
スクリプトは一つまたはそれ以上の「受信待ち-送信」文字列の組からなり、
それぞれは空白で区切られています。
オプションとして「副受信待ち-副送信」文字列の組を追加することもでき、
その場合には以下の例のようにダッシュで区切ります:
.IP
ogin:-BREAK-ogin: ppp ssword: hello2u2
.LP
これにより、\fIchat\fR プログラムは文字列 "ogin:" の受信待ちをおこないます。
もしもタイムアウトする前にログインプロンプトを受信できなければ、
リモートホストにブレーク信号を送信し、それから文字列 "ogin:" を受信待ちします。
もしも最初の "ogin:" が受信できていれば、ブレーク信号は送信されません。
.LP
一旦ログインプロンプトを受信すると、\fIchat\fR プログラムは文字列 ppp を
送信して、プロンプト "ssword:" の受信を待ちます。 パスワードプロンプトを
受信すると、chat プログラムはパスワード hello2u2 を送信します。
.LP
応答文字列に続いて、通常はキャリッジリターン文字が送られます。
「受信待ち」文字列中では、\\r 文字シーケンスで明示的に指定しないかぎり、
キャリッジリターンは文字列に含まれません。
.LP
目的の文字列を識別するのに必要な部分だけを受信待ち文字列に
指定するようにするべきです。
なぜなら、受信待ち文字列は通常ディスクファイルに記録されるため、
動的に変化する情報を含むことができないからです。
一般には、時刻を表す文字列やネットワーク ID 文字列その他の
変化するデータの塊を受信待ちさせることはできません。
.LP
通信の初期段階では、文字が化けて受信される場合があります。
この場合にも正しく認識ができるように、
文字列 "login:" ではなく "ogin:" を待つようにします。
仮に最初の "l" という文字が化けて受信されたとしますと、
リモートシステムが "login:" を送信したとしても、
その文字列は認識されないことになります。
このため、スクリプトでは "login:" ではなく "ogin:" を、
"password:" ではなく "ssword:" を待つようにします。
.LP
非常に単純なスクリプトは、以下のようになるでしょう:
.IP
ogin: ppp ssword: hello2u2
.LP
言いかえると、....ogin: を受信待ちして ppp を送信し、...ssword: を
受信待ちして hello2u2 を送信するということになります。
.LP
現実問題としては、単純なスクリプトが使われることはほとんどないでしょう。
少なくとも、最初の受信待ち文字列が受信できなかった場合に、
副受信待ち文字列を実行するようにするべきでしょう。
たとえば、以下のスクリプトを考えてみます:
.IP
ogin:--ogin: ppp ssword: hello2u2
.LP
これは以前に使った単純なものよりも良いスクリプトでしょう。
以前のものと同様に login: プロンプトを待ちますが、もし受信できなかった場合には
リターンを一つ送ってから再び login: が送られてくるのを待ちます。
最初のログインプロンプトがラインノイズによって化けたとしても、
空行が送られることで、通常はもう一度ログインプロンプトが送信されます。
.SH コメント
コメントを chat スクリプト中に埋め込むことが可能です。
コメントは \fB#\fR (ハッシュ) 文字をカラム 1 から開始する行です。
このようなコメント行は chat プログラムは単に無視します。
「受信待ち」文字列の最初の文字が `#' 文字の場合、
「受信待ち」文字列をクォートする必要があります。
文字 # (ハッシュ)から始まるプロンプトを待ちたい場合には、
以下のように書かねばならないでしょう:
.IP
# Now wait for the prompt and send logout string
.br
\'# ' logout
.LP
.SH 中断文字列
多くのモデムはダイアルの結果を文字列としてレポートします。
これらの文字列は \fBCONNECTED\fR だったり、\fBNO CARRIER\fR や \fBBUSY\fR
だったりするでしょう。
モデムが相手との接続に失敗した場合には、スクリプトを終了させたいと
思うことがよくあるでしょう。
問題は、どの文字列を次に受信するかということを、
スクリプトが正確に知ることはできないということです。
ある時には \fBBUSY\fR を受信するかもしれませんが、
次には \fBNO CARRIER\fR を受信するかもしれません。
.LP
これらの「中断」文字列は、\fIABORT\fR シーケンスにより
スクリプト中に指定することができます。
それは、以下の例のようにスクリプトに指定します:
.IP
ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ATDT5551212 CONNECT
.LP
このシーケンスは受信待ちをおこないません。それから文字列 ATZ を送信します。
受信待ち文字列は \fIOK\fR です。
\fIOK\fR を受信すると、電話をかけるために文字列 ATDT5551212 を送信します。
受信待ち文字列は \fICONNECT\fR です。
文字列 \fICONNECT\fR を受信すると、スクリプトの残りが実行されます。
一方、モデムが話中を検出すると、文字列 \fIBUSY\fR が送られて
中断文字列への一致が起こります。
この一致が起きたことにより、スクリプトは失敗します。
もしも文字列 \fINO CARRIER\fR を受信すると、それは同じ理由で中断されます。
どちらの文字列が受信されても、\fIchat\fR スクリプトは終了します。
.SH CLR_ABORT 文字列
このシーケンスは以前に設定した \fBABORT\fR 文字列をクリアします。
\fBABORT\fR 文字列は規定サイズ(コンパイル時に決定)の配列に保持されます;
\fBCLR_ABORT\fR はクリアされたエントリの領域を再要求し、
新たな文字列をそこに格納できるようにします。
.SH SAY 文字列
\fBSAY\fR ディレクティブにて、
script が標準エラー出力を介してユーザ端末ヘ文字列を送ることができます。
\fBchat\fR が pppd から起動される場合、
pppd はデーモンとして実行され(制御端末から切離され)、
標準エラー出力は通常
/etc/ppp/connect-errors
へとリダイレクトされます。
.LP
\fBSAY\fR 文字列は、シングルクォートもしくはダブルクォートにて
括る必要があります。
出力中にキャリッジリターンおよびラインフィードが必要な場合、
明示的に文字列中に含める必要があります。
.LP
SAY 文字列を使用して script の進捗状況メッセージを表示することで、'ECHO
OFF'
しつつもユーザになにが起っているのか示すことが可能です。
例を示します:
.IP
ABORT BUSY
.br
ECHO OFF
.br
SAY "Dialling your ISP...\\n"
.br
\'' ATDT5551212
.br
TIMEOUT 120
.br
SAY "Waiting up to 2 minutes for connection ... "
.br
CONNECT ''
.br
SAY "Connected, now logging in ...\n"
.br
ogin: account
.br
ssword: pass
.br
$ \c
SAY "Logged in OK ...\n"
\fIetc ...\fR
.LP
このシーケンスは SAY 文字列のみユーザに示し、script の詳細は隠します。
例えば、上記 script を実行した場合、ユーザが見るのは以下です:
.IP
Dialling your ISP...
.br
Waiting up to 2 minutes for connection ... Connected, now logging in ...
.br
Logged in OK ...
.LP
.SH レポート文字列
\fBレポート\fR 文字列は ABORT 文字列に似ています。
違うのは、その文字列自身とキャリッジリターン等の
次の制御文字までの
全ての文字がレポートファイルに書かれるということです。
.LP
レポート文字列はモデムのコネクト文字列の転送レートと
chat ユーザへのリターン値を切りわけるために使えます。
レポート文字列ロジックの分析は、受信待ち文字列の検索などの
他の文字列処理と同時におこなわれます。
レポート文字列と中断文字列に同じ文字列を使用することも可能ですが、
おそらくあまり使い道がないでしょう。
.LP
レポート文字列はプログラムの終了コードに影響を及ぼしません。
.LP
これらの「レポート」文字列は、\fIREPORT\fR シーケンスにより
スクリプト中に指定することができます。
それは、以下の例のようにスクリプトに指定します:
.IP
REPORT CONNECT ABORT BUSY '' ATDT5551212 CONNECT '' ogin: account
.LP
このシーケンスは受信待ちをおこなわず、文字列 ATDT5551212 を送信して
電話をかけます。受信待ち文字列は \fICONNECT\fR です。
文字列 \fICONNECT\fR を受信すると、スクリプトの残りが実行されます。
さらに、文字列 "CONNECT" と、それに続く接続レートなどの
任意の文字がレポートファイルに記録されます。
.\" 原文では expect-file となっているが、report-file の間違いと思われる。
.\" send-pr する予定。
.\" 2.2.2R 対象(1997/06/04) Saeki Takashi <saeki@ba2.so-net.or.jp>
.SH CLR_REPORT 文字列
このシーケンスを使用して、以前に設定した \fBREPORT\fR 文字列をクリア
できます。
\fBREPORT\fR 文字列は規定サイズ(コンパイル時に決定)の配列に保持されます;
\fBCLR_REPORT\fR はクリアされたエントリの領域を再要求し、
新たな文字列をそこに格納できるようにします。
.SH エコー
エコーオプションはモデムからの出力を \fIstderr\fR へエコーするか否か
を制御します。
このオプションを \fI-e\fR オプションにて設定することができますし、
\fIECHO\fR キーワードにて制御することもできます。
「受信待ち-送信」文字列の組 \fIECHO\fR \fION\fR はエコーを有効にし、
\fIECHO\fR \fIOFF\fR は無効にします。
このキーワードを使用してどの会話を見せるかを選択可能です。
例えば以下の script では:
.IP
ABORT 'BUSY'
.br
ABORT 'NO CARRIER'
.br
'' ATZ
.br
OK\\r\\n ATD1234567
.br
\\r\\n \\c
.br
ECHO ON
.br
CONNECT \\c
.br
ogin: account
.LP
モデム設定結果およびダイヤル結果は見せませんが、
\fICONNECT\fR (もしくは \fIBUSY\fR) メッセージ語は全てをエコーします。
.SH 回線切断
HANGUP オプションはモデムの回線切断をエラーと扱うか否かを制御します。
このオプションは、
システムにダイヤル後に回線切断しコールバックする script 中で有効です。
HANGUP オプションは \fBON\fR もしくは \fBOFF\fR にできます。
.br
HANGUP を OFF に設定しモデムを回線切断
(つまりコールバックシステムへの最初のログイン)すると、\fBchat\fR は
script の実行を続けます
(つまり呼び出しと二度目のログインプロンプトを待ちます)。
呼び出しにて接続後すぐに、\fBHANGUP ON\fR ディレクティブを使用して
通常の回線切断シグナルの動作を戻す必要があります。
(簡単な) script 例を示します:
.IP
ABORT 'BUSY'
.br
'' ATZ
.br
OK\\r\\n ATD1234567
.br
\\r\\n \\c
.br
CONNECT \\c
.br
\'Callback login:' call_back_ID
.br
HANGUP OFF
.br
ABORT "Bad Login"
.br
\'Callback Password:' Call_back_password
.br
TIMEOUT 120
.br
CONNECT \\c
.br
HANGUP ON
.br
ABORT "NO CARRIER"
.br
ogin:--BREAK--ogin: real_account
.br
\fIetc ...\fR
.LP
.SH タイムアウト
タイムアウトの初期値は 45 秒です。これは \fB-t\fR パラメータにより
変更することができます。
.LP
次に受信待ちする文字列のタイムアウト値を変更するには、以下のようにします:
.IP
ATZ OK ATDT5551212 CONNECT TIMEOUT 10 ogin:--ogin: TIMEOUT 5 assword: hello2u2
.LP
これは login: プロンプトを受信待ちする際のタイムアウトを 10 秒に変更します。
さらに password プロンプトを受信待ちする際にはタイムアウトを 5 秒に変更します。
.LP
一旦タイムアウト値が変更されると、次に変更されるまでは
そのままになります。
.SH EOT の送信
チャットプログラムは特殊な応答文字列 \fIEOT\fR により、
リモート側へ EOT 文字を送信します。
通常、これはファイル終了を表す文字です。
EOT に続けてリターン文字が送られることはありません。
.PR
\fI^D\fR シーケンスを使って EOT を送信文字列に埋め込むことができます。
.SH ブレークの生成
特殊な応答文字列 \fIBREAK\fR により、ブレーク信号が送られます。
ブレークは送信側では特殊な信号として扱われます。
受信側では通常、転送レートの変更要求として処理されます。
これにより、正常に login プロンプトを受信できるまで
ブレーク信号を送ることで、リモート側がサポートしている転送レートを
順次切替えさせることができます。
.PR
\fI\\K\fR シーケンスを使ってブレーク信号を送信文字列に埋め込むことができます。
.SH エスケープシーケンス
受信待ち文字列と応答文字列には、エスケープシーケンスを指定することができます。
応答文字列では、全てのエスケープシーケンスが使えます。
受信待ち文字列では、ほとんどのエスケープシーケンスが使えます。
受信待ち文字列では使えないエスケープシーケンスについては、
説明文中にそのことが書かれています。
.TP
.B ''
空文字列を受信待ちしたり、送信したりします。
もし、空文字列を送信しようとすると、それはリターン文字を送ることになります。
このシーケンスはアポストロフィ文字またはクォート文字のペアの
どちらでもかまいません。
.TP
.B \\\\b
バックスペース文字を表します。
.TP
.B \\\\c
応答文字列の末尾の改行を抑制します。
これは末尾に改行文字のつかない文字列を送る唯一の方法です。
これは送信文字列の最後に置かれなければいけません。
たとえば、文字列 hello\\c は単に h, e, l, l, o という文字だけを送ります。
.I (受信待ち文字列では使えません)
.TP
.B \\\\d
1 秒のディレイです。プログラムは 1 秒のディレイのために sleep(1) を使います。
.I (受信待ち文字列では使えません)
.TP
.B \\\\K
ブレーク信号を挿入します。
.I (受信待ち文字列では使えません)
.TP
.B \\\\n
改行文字を送信します。
.TP
.B \\\\N
空 (null) 文字を送信します。\\0 でも同じシーケンスを表すことができます。
.I (受信待ち文字列では使えません)
.TP
.B \\\\p
1 秒以下のポーズです。ディレイ時間は 1/10 秒です。
.I (受信待ち文字列では使えません)
.TP
.B \\\\q
.IR syslogd (8)
への文字列出力を抑止します。
かわりに文字列 ?????? がログに出力されます。
.I (受信待ち文字列では使えません)
.TP
.B \\\\r
キャリッジリターン文字を送信または受信待ちします。
.TP
.B \\\\s
文字列中のスペース文字を表します。
これはスペースを含む文字列をクォートしたくない場合に使います。
シーケンス 'HI TIM' と HI\\sTIM は等価です。
.TP
.B \\\\t
タブ文字を送信または受信待ちします。
.TP
.B \\\\\\\\
バックスラッシュ文字を送信または受信待ちします。
.TP
.B \\\\ddd
8 進数 (ddd) を一つの ASCII 文字に変換し、その文字を送信します。
.I (受信待ち文字列では使えない文字がいくつかあります)
.TP
.B \^^C
C で表現される制御文字に置きかえられます。
例えば、文字 DC1 (17) は \^^Q で表されます。
.I (受信待ち文字列では使えない文字がいくつかあります)
.SH 終了コード
\fIchat\fR プログラムは以下の終了コードを返します。
.TP
.B 0
プログラムは正常終了しました。これは、スクリプトがエラーを起こさずに
実行されて、正常に終了したことを示します。
.TP
.B 1
一つまたはそれ以上のパラメータが不正であるか、受信待ち文字列が
内部バッファよりも大きすぎます。これはプログラムが正しく
実行されなかったことを示します。
.TP
.B 2
プログラムの実行中にエラーが発生しました。これは、何らかの理由で
リードまたはライトの操作が失敗したか、chat が SIGINT のような
シグナルを受信したためでしょう。
.TP
.B 3
「-副送信」文字列のない\fI受信待ち\fR文字列があり、タイムアウトイベントが
発生しました。これは、スクリプトが正しくプログラムされていないか、
予期しないイベントが発生して受信待ち文字列を見つけられなかったためでしょう。
.TP
.B 4
\fIABORT\fR 条件としてマークされた 1 番目の文字列を検出しました。
.TP
.B 5
\fIABORT\fR 条件としてマークされた 2 番目の文字列を検出しました。
.TP
.B 6
\fIABORT\fR 条件としてマークされた 3 番目の文字列を検出しました。
.TP
.B 7
\fIABORT\fR 条件としてマークされた 4 番目の文字列を検出しました。
.TP
.B ...
その他の終了コードも、\fIABORT\fR 条件としてマークされた文字列を
検出したことを示します。
.LP
終了コードを使うと、どのイベントによりスクリプトが終了したのかを
判断することができます。
つまり、"NO DIAL TONE" を受信したのか "BUSY" を受信したのかを
識別することができるということです。
最初のイベント (BUSY) ならばリトライする価値がありますが、
二つ目のイベント (NO DIAL TONE) だと、
おそらくリトライしてもそれがうまくいく可能性は低いでしょう。
.SH 関連項目
UUCP のドキュメントからも、\fIchat\fR スクリプトに関する
追加情報が得られるでしょう。
\fIchat\fR スクリプトは \fIuucico\fR プログラムで使われる
スクリプトによって提示されたアイデアを基にしています。
.LP
uucico(1), uucp(1), syslog(3), syslogd(8).
.SH 著作権
\fIchat\fR プログラムは、パブリックドメインのソフトウェアです。
これは GNU のパブリックライセンス (一般公有使用許諾) とは異なります。
このプログラムを分割する場合には、その両方を管理するようにしてください。
.\" 原文は The \fIchat\fR program is in public domain. This is not
.\" the GNU public license. If it breaks then you get to keep both pieces.
.\" 最後の文章にはあまり自信がありません。(^_^;;
.\" 2.2.2R 対象(1997/06/26) Saeki Takashi <saeki@ba2.so-net.or.jp>
diff --git a/ja_JP.eucJP/man/man8/chown.8 b/ja_JP.eucJP/man/man8/chown.8
index 46570a50de..3356bfbf45 100644
--- a/ja_JP.eucJP/man/man8/chown.8
+++ b/ja_JP.eucJP/man/man8/chown.8
@@ -1,148 +1,149 @@
.\" Copyright (c) 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.
.\"
.\" @(#)chown.8 8.3 (Berkeley) 3/31/94
+.\" %Id: chown.8,v 1.6 1997/09/04 11:55:42 charnier Exp %
.\" %Id: chown.8,v 1.2.2.2 1997/09/15 06:29:30 charnier Exp %
.\" jpman %Id: chown.8,v 1.3 1997/05/19 16:59:53 horikawa Stab %
.\"
.Dd March 31, 1994
.Dt CHOWN 8
.Os BSD 4
.Sh 名称
.Nm chown
.Nd 指定したファイルの所有者およびグループを変更する
.Sh 書式
.Nm chown
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl f
.Op Fl h
.Ar owner Op Ar :group
.Ar
.Nm chown
.Oo
.Fl R
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl f
.Op Fl h
.Ar :group
.Ar
.Sh 解説
.Nm
は指定したファイルのユーザ ID や グループ ID を設定します。
.Pp
オプションは以下のものがあります:
.Bl -tag -width Ds
.It Fl H
.Fl R
オプションが指定されている場合に、コマンドライン上の
シンボリックリンクをたどるようになります。
( ツリー内をたどっている際中に見つけたシンボリックリンクの先は
調べません。)
.It Fl L
.Fl R
オプションが指定された場合に、全てのシンボリックリンクを
たどるようになります。
.It Fl P
.Fl R
オプションが指定された場合に、シンボリックリンクの先を
たどらないようになります。
.It Fl R
指定したファイル自身だけでなくその代わりに、
そのファイルをルートとする階層のファイルのユーザ ID やグループ ID を
変更します。
.It Fl f
所有者やグループの変更が失敗しても報告を行ないません。
変更の失敗は戻り値にも影響しません。
.It Fl h
ファイルがシンボリックリンクの場合、
リンクが指すファイルではなくリンク自身のユーザ ID および/またはグループ ID
を変更します。
.El
.Pp
.Fl H ,
.Fl L ,
.Fl P
のオプションは
.Fl R
が指定されない限り無視されます。
加えて、これらのオプションはお互いの効果を上書きするため、
コマンドの動作は一番最後に指定されたもので決まります。
.Pp
.Ar owner
.Ar group
のオペランドはどちらも無くてもよいもの (optional) ですが、
少なくともどちらかを指定しなければなりません。
.Ar group
オペランドを指定した場合は
先頭にコロン (``:'') をつけて下さい。
.Pp
.Ar owner
は ユーザ ID の数値かユーザ名のどちらかです。ユーザ名がユーザ ID
の数値でもある場合、このオペランドはユーザ名とみなされます。
.Ar group
グループ ID の数値かグループ名のどちらかです。グループ名がグループ ID
の数値でもある場合、このオペランドはグループ名とみなされます。
.Pp
セキュリティの関係上明らかなことですが、ファイルの所有者の変更はスーパユーザ
にしか行なうことができません。
.Pp
.Nm
は成功時に 0 を、エラーが起こった時に 0 より大きい値を戻り値とし
て返します。
.Sh 互換性
.Nm
の以前のバージョンは、グループ名を指定するのにドット (``.'') を
用いていました。
この文字はコロン (``:'') に変更されたため、
ユーザ名やグループ名にドットを含んでも構いません。
.Pp
.Sh 関連項目
.Xr chgrp 1 ,
.Xr find 1 ,
.Xr chown 2 ,
.Xr fts 3 ,
.Xr symlink 7
.Sh 規格
.Nm
コマンドは
.St -p1003.2
互換であると考えられています。
.Sh 歴史
.Nm
コマンドは
.At v1
-から導入されました。
\ No newline at end of file
+から導入されました。
diff --git a/ja_JP.eucJP/man/man8/clri.8 b/ja_JP.eucJP/man/man8/clri.8
index 7bee759a8f..98071dbc35 100644
--- a/ja_JP.eucJP/man/man8/clri.8
+++ b/ja_JP.eucJP/man/man8/clri.8
@@ -1,82 +1,82 @@
.\" Copyright (c) 1980, 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.
.\"
.\" @(#)clri.8 8.2 (Berkeley) 4/19/94
-.\" %Id: clri.8,v 1.2.2.2 1998/07/17 20:12:58 jkh Exp %
+.\" %Id: clri.8,v 1.6 1998/06/04 06:44:16 charnier Exp %
.\" jpman %Id: clri.8,v 1.2 1997/05/17 16:57:59 horikawa Stab %
.\"
.Dd April 19, 1994
.Dt CLRI 8
.Os BSD 4
.Sh 名称
.Nm clri
.Nd i ノードをクリアする
.Sh 書式
.Nm clri
.Ar special_device inode_number ...
.Sh 解説
.Bf -symbolic
通常は
.Xr fsck 8
でファイルシステムの修復を行なうので、
.Nm
は古いもの(obsolete)
となっています。
.Ef
.Pp
.Nm
は、指定した特殊ファイル
.Ar special_device
上にあるファイルシステムの、指定された
i ノード番号の i ノードを 0 でクリアします。
クリアされた inode や、以前その inode によって
使用されていたブロックを再使用できるようにするために、普通は
.Nm
を実行したあとで
.Xr fsck 8
をそのファイルシステムに対して実行します。
.Pp
このコマンドは主に、なんらかの原因によって
.Xr fsck 8
が適切に処理することのできなくなったファイルを削除するためにあります。
一度削除されれば、
そのあとのファイルシステム上のつじつま合わせは
.Xr fsck 8
が行ってくれることが期待できます。
.Sh 関連項目
.Xr fsck 8 ,
.Xr fsdb 8
.Sh バグ
オープンされているファイルに対して
.Nm
を実行しても、
そのファイルをクローズする際にキャッシュからディスクに
i ノードが書き戻されるために、その効果が失われてしまいます。
diff --git a/ja_JP.eucJP/man/man8/comcontrol.8 b/ja_JP.eucJP/man/man8/comcontrol.8
index ac677e6066..7c4c5daa3b 100644
--- a/ja_JP.eucJP/man/man8/comcontrol.8
+++ b/ja_JP.eucJP/man/man8/comcontrol.8
@@ -1,66 +1,66 @@
-.\" %Id: comcontrol.8,v 1.8.2.3 1998/07/17 20:13:12 jkh Exp %
+.\" %Id: comcontrol.8,v 1.14 1998/06/30 06:09:37 charnier Exp %
.\" jpman %Id: comcontrol.8,v 1.3 1997/08/16 13:09:13 horikawa Stab %
.Dd May 15, 1994
.Dt COMCONTROL 8
.Os FreeBSD
.Sh 名称
.Nm comcontrol
.Nd シリアルデバイス(sio) の制御
.Sh 書式
.Nm comcontrol
.Ar sio_special_device
.Op options
.Sh 解説
.Nm
は、指定したシリアルデバイス (sio) の特別な設定内容を表示/変更するのに
用いられます。
デバイス名以外の引数が指定されない場合、
制御可能な全ての項目が表示されます。
.Nm
をこのように利用する際には、
当該デバイスの読み取り許可だけが必要になります。
設定を変更できるのはスーパユーザだけです。
.Pp
以下のオプションが利用可能です:
.Bl -tag -width width
.It Cm dtrwait Ar number
DTR が落ちたあと待機する時間を設定します。
単位は 100 分の 1 秒です。
デフォルトは 300 すなわち 3 秒です。
このオプションは主として、モデムをリセットした後に
適切な復帰時間を置くのに用いられます。
.It Cm drainwait Ar number
出力が出てくるまでの待機時間を設定します。
単位は秒です。
デフォルトは 0 つまり無限に待ち続けます。
このオプションは主に、
待ち時間上限値を指定してモデムのハングを回避するのに用いられます。
.El
.Pp
.Nm
の標準的な使い方は、スタートアップスクリプト
.Pa /etc/rc.serial
の中に
.Nm
の起動を含めておくことです。
.Sh 関連項目
.Xr stty 1 ,
.Xr sio 4
.Sh 関連ファイル
.Bl -tag -width /dev/ttyd? -compact
.It Pa /dev/ttyd?
ダイアルインデバイス。結線した端末(hardwired terminals)。
.It Pa /dev/cuaa?
ダイアルアウトデバイス。
.Sh 作者
Christopher G. Demetriou
.Sh バグ
.Nm
.Nm siocontrol
という名前にすべきです。
.Sh 歴史
オリジナルは 386BSD 0.1 に対する cgd の com パッケージパッチの
バージョン 0.2.1 です。
かつては双方向制御機能を持っていましたが、
現在ではこれらは標準機能となり、制御できるものはほとんどありません。
diff --git a/ja_JP.eucJP/man/man8/comsat.8 b/ja_JP.eucJP/man/man8/comsat.8
index d41e25d30f..cb770707af 100644
--- a/ja_JP.eucJP/man/man8/comsat.8
+++ b/ja_JP.eucJP/man/man8/comsat.8
@@ -1,99 +1,99 @@
.\" 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.
.\"
.\" @(#)comsat.8 8.1 (Berkeley) 6/4/93
-.\" %Id: comsat.8,v 1.3 1996/09/22 21:53:05 wosch Exp %
+.\" %Id: comsat.8,v 1.5 1997/02/22 14:21:23 peter Exp %
.\" jpman %Id: comsat.8,v 1.2 1997/03/31 13:32:20 horikawa Stab %
.\"
.Dd June 4, 1993
.Dt COMSAT 8
.Os BSD 4.2
.Sh 名称
.Nm comsat
.Nd biff サーバ
.Sh 書式
.Nm comsat
.Sh 解説
.Nm comsat
は受信メールのレポートを受け取り、
サービスを要求しているユーザに対して通知を行なうサーバプロセスです。
.Nm comsat
は、
.Dq biff
サービス仕様 (
.Xr services 5
および
.Xr inetd 8
を参照) に関連するデータグラムポートのメッセージを受信します。
1 行メッセージは次の形式です:
.Pp
.Dl user@mailbox-offset[:mailbox-name]
.Pp
もし、この
.Em user
がシステムにログインしていて、割り当てられた端末の所有者実行ビットが (
.Dq Li biff y
によって) ON になっていれば、
.Em offset
はメールボックスのシークオフセットとして使用され、
メッセージの先頭 7 行か、もしくは 560 文字がユーザの端末に表示されます。
.Dq From ,
.Dq \&To ,
.Dq Date ,
.Dq Subject
以外のメッセージヘッダの一部とみなされる行は、
表示されるメッセージに含まれません。
.Pp
mailbox-name を省略した場合, システム標準のメールボックスを監視します。
.Sh 関連ファイル
.Bl -tag -width /var/mail/user -compact
.It Pa /var/run/utmp
誰がどの端末でログオンしたかを識別します。
.It Pa /var/mail/user
システム標準のメールボックスです。
.El
.Sh 関連項目
.Xr biff 1 ,
.Xr inetd 8
.Sh バグ
メッセージヘッダのフィルタリングは誤りがちです。
表示される情報は、最低限のものです。
.Pp
現在ログインしているマシン以外のマシンへのメールの到着は、
ユーザに通知されるべきです。
.Pp
スクリーン表示を分かりやすくするために、通知は別のウィンドウに
表示されるべきです。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/config.8 b/ja_JP.eucJP/man/man8/config.8
index ee8f75f91b..cdd6515b7d 100644
--- a/ja_JP.eucJP/man/man8/config.8
+++ b/ja_JP.eucJP/man/man8/config.8
@@ -1,175 +1,175 @@
.\" 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.
.\"
.\" @(#)config.8 8.2 (Berkeley) 4/19/94
.\" jpman %Id: config.8,v 1.2 1997/03/31 13:33:05 horikawa Stab %
.\"
.Dd April 19, 1994
.Dt CONFIG 8
.Os BSD 4
.Sh 名称
.Nm config
.Nd システムを構築するために必要なファイルの作成
.Sh 書式
.Nm config
-.Op Fl gpn
+.Op Fl gpr
.Ar SYSTEM_NAME
.Sh 解説
これは古いバージョンの
.Nm
プログラムです。
このプログラムは、古いオートコンフィギュレーションスキームを理解します。
このスキームは HP300, i386, DECstation やその派生プラットフォームにて
使用されます。
新しいバージョンの config は SPARC プラットフォームで使用されます。
あなたが使用しているアーキテクチャに適合したバージョンの
.Nm
のみがあなたのマシンにインストールされているでしょう。
.Pp
.Nm
は、システムの構成を記述した設定ファイル
.Ar SYSTEM_NAME
にもとづいてシステムを構築するために必要なファイルを作成します。
別のファイルが、
.Nm
に対し、
システム生成に必要なファイルと、
構成依存ファイルセットにより追加されるファイルとを指示します。
構成依存ファイルセットは、固有マシン用代替ファイルを指定します
(以降に示す
.Sx 関連ファイル
を参照)。
.Pp
オプションとオペランドしては以下のものがあります:
.Pp
.Bl -tag -width SYSTEM_NAME
.It Fl g
システムのデバッグのための設定をします。
.It Fl p
プロファイリングを行うシステムを構築します。プロファイルを行うものは例えば
.Xr kgmon 8
.Xr gprof 1 などです。
.Fl p
オプションを 2 度以上指定すると、
.Nm
より詳細なプロファイリングを行うシステムを構築します。
-.It Fl n
-以前のコンパイル用ディレクトリを削除しません(以降参照)。
+.It Fl r
+以前のコンパイル用ディレクトリを削除します(以降参照)。
.It Ar SYSTEM_NAME
.Ar SYSTEM_NAME
はシステム設定ファイルの名前であり、システム設定ファイル
にはデバイスの仕様、構築するシステムのオプション、その他のシステムパラメータの記述をします。
.El
.Pp
.Nm
はシステムソースの
.Pa conf
サブディレクトリで起動します(通常
.Pa /sys/ARCH/conf
)。
.Nm
は必要により
.Pa ../../compile/SYSTEM_NAME
ディレクトリを作成し、そこにすべての出力ファイルを置きます。
-.Fl n
-オプションが指定されているか、環境変数
-.Ev NO_CONFIG_CLOBBER
-が設定されていないと、ディレクトリが既に存在する場合にはあらかじめ
-削除されます。
+ディレクトリが既に存在し、
+.Fl r
+オプションが指定されている場合、
+ディレクトリがまず削除されます。
.Nm
の出力は多くのファイルです;
.Tn i386
の場合は次のようなファイルになります:
-.Pa ioconf.c ,
-システムに接続された I/O デバイスの記述;
-.Pa vector.h ,
-割り込み計測関連のマクロ定義;
-.Pa Makefile ,
+.Pa ioconf.c
+はシステムに接続された I/O デバイスの記述です;
+.Pa vector.h
+は割り込み計測関連のマクロ定義です;
+.Pa Makefile
+は
.Xr make 1
-がシステム構築に使用する;
-ヘッダファイル, システムに組み込まれる多くのデバイスに関する定義;
-スワップ設定ファイル,
-スワップ、ルートファイルシステム、引数処理、システムダンプに使用する
-ディスク領域に関する定義。
+がシステム構築に使用するファイルです;
+ヘッダファイルはシステムに組み込まれる多くのデバイスに関する定義です;
+いわゆるスワップ設定ファイルは
+ルートファイルシステムとシステムダンプに使用する
+ディスク領域に関する定義です。
.Pp
.Nm
の実行後は、
.Dq Li make depend
を Makefile が作成されたディレクトリで実行する必要があります。
.Nm
は正常終了すると、これを促すメッセージ表示を行います。
.Pp
.Nm
が、これとは異なるエラーメッセージ表示を行った場合には、
設定ファイルの記述の誤りを修正し、再度
.Nm
を実行する必要があります。
コンフィギュレーションでエラーとなったシステムをコンパイルしようとしても、
おそらく失敗するでしょう。
.Pp
設定ファイル中に
オプション "INCLUDE_CONFIG_FILE" を指定した場合、
該ファイル全体が作成されるカーネルに埋め込まれます。
これは、
.Xr strings 1
によって該ファイルをカーネルから引き出す事が出来ることを意味します。
.Pp
strings | grep ___ によって構成情報を表示できます。
.Sh 関連ファイル
.Bl -tag -width /sys/i386/conf/Makefile.i386 -compact
.It Pa /sys/conf/files
システム生成に必要な共通のファイルのリスト
.It Pa /sys/i386/conf/Makefile.i386
.Tn i386
用の一般的な makefile
.It Pa /sys/i386/conf/files.i386
.Tn i386
特有のファイルのリスト
.It Pa /sys/i386/conf/devices.i386
.Tn i386
特有の、名前からメジャーデバイスへのマップ
.It Pa /sys/i386/conf/files. Ns Em ERNIE
.Em ERNIE
システム特有のファイルのリスト
.El
.Sh 関連項目
セクション 4 にある、デバイスのマニュアルの書式の部分。
.Rs
.%T "Building 4.3 BSD UNIX System with Config"
.Re
.Sh バグ
エラーメッセージにおいて報告される行番号は1行ずれます。
.Sh 歴史
.Nm
コマンドは
.Bx 4.1
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/crash.8 b/ja_JP.eucJP/man/man8/crash.8
index 20fb70b329..c7ba62edc2 100644
--- a/ja_JP.eucJP/man/man8/crash.8
+++ b/ja_JP.eucJP/man/man8/crash.8
@@ -1,228 +1,228 @@
.\" FreeBSD version Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved.
.\"
.\" Adapted from share/man/man8/man8.hp300/crash.8
.\"
.\" 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 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.
.\"
-.\" %Id: crash.8,v 1.3.2.2 1998/03/07 10:04:24 jkh Exp %
+.\" %Id: crash.8,v 1.7 1997/03/21 20:14:12 mpp Exp %
.\" jpman %Id: crash.8,v 1.3 1997/08/16 13:10:53 horikawa Stab %
.\"
.Dd February 2, 1996
.Dt CRASH 8 i386
.Os FreeBSD
.Sh 名称
.Nm crash
.Nd
.Tn FreeBSD
システム障害
.Sh 解説
このセクションではシステムクラッシュについて少し説明し、
クラッシュダンプの解析方法についても(かなり簡潔ですが)述べます。
.Pp
システムが自らクラッシュする際には、
.Bd -ragged -offset indent
panic: なぜ死んだのか
.Ed
.Pp
という形式でコンソールにメッセージを表示し、
もしダンプが有効になっていれば(
.Xr dumpon 8
参照)大容量記憶装置にダンプをとり、
そして
.Xr reboot 8
に述べられているように自動リブート手順を開始します。
ハードウェアあるいはソフトウェアの障害によって
ファイルシステムの状態に予期せぬ矛盾点が見つかった場合を除き、
システムはマルチユーザモードでのオペレーションを再開します。
.Pp
システムは数多くの内部一貫性チェックを行っています。
それらのチェックのうちひとつに引っかかると、
どのチェックに引っかかったかを示す簡潔なメッセージを表示して
パニックします。
多くの場合、このメッセージはエラーを検知したルーチン名、
あるいは見つかった一貫性エラーを記述する 2 語のフレーズです。
ほとんどのパニックメッセージを完全に理解するには、
システムのソースコードを熟読する必要があります。
.Pp
システム障害に共通するほとんどの原因はハードウェア障害であり、
それは様々なところに現れます。
ここでは発生する可能性の高いメッセージと、
原因に関する手掛かりを示します。
ハードウェアあるいはソフトウェアが予期せぬかたちで
そのようなメッセージを出力する可能性については、全く述べていません。
.Pp
.Bl -tag -width Ds -compact
.It Sy "cannot mount root"
このパニックメッセージは、ブートストラップ処理中に
ルートファイルシステムをマウントできなかった場合に表示されます。
ルートファイルシステムが壊れているか、
システムが誤ったデバイスをルートファイルシステムとして使おうとしています。
通常、システムバイナリの別のコピーか
別のルートファイルシステムを用いてシステムを立ち上げ、調査します。
よく行われるのは、システムをインストールしたブートフロッピでブートし、
次に "fixit" フロッピを使用することです。
.Pp
.It Sy "init: not found"
これはパニックメッセージではなく、リブートしても無駄でしょう。
ブートストラップ処理の最後の段階で、
システムが初期化プロセス
.Xr init 8
の場所を探してそれを実行するのに失敗したのです。
ルートファイルシステムが不正あるいは壊れている、
.Pa /sbin/init
が実行不能モードあるいはタイプになっている、
もしくは
.Pa /sbin/init
自体がなくなっています。
.Pp
.Pp
.It Sy "ffs_realloccg: bad optim"
.It Sy "ffs_valloc: dup alloc"
.It Sy "ffs_alloccgblk: cyl groups corrupted"
.It Sy "ffs_alloccg: map corrupted"
.It Sy "blkfree: freeing free block"
.It Sy "blkfree: freeing free frag"
.It Sy "ifree: freeing free inode"
これらのパニックメッセージはファイルシステム内に矛盾点が見つかったときに
出力されるものです。
通常、この問題の原因は、
クラッシュ後の破損したファイルシステムの修復失敗、
ハードウェア障害、
あるいは通常発生しない他の条件にあります。
ファイルシステムのチェックを行えば、通常、問題は解決します。
.Pp
.It Sy "timeout table full"
実はこれはパニックではありませんが、
関係するデータ構造の拡張を行う前に、
エントリが不足するためにクラッシュしたのです。
この現象が発生したら、timeout table を大きくして下さい。
.Pp
.\" .It Sy "trap type %d, code = %x, v = %x"
.\" An unexpected trap has occurred within the system; the trap types are:
.\" .Bl -column xxxx -offset indent
.\" 0 bus error
.\" 1 address error
.\" 2 illegal instruction
.\" 3 divide by zero
.\" .No 4\t Em chk No instruction
.\" .No 5\t Em trapv No instruction
.\" 6 privileged instruction
.\" 7 trace trap
.\" 8 MMU fault
.\" 9 simulated software interrupt
.\" 10 format error
.\" 11 FP coprocessor fault
.\" 12 coprocessor fault
.\" 13 simulated AST
.\" .El
.\" .Pp
.\" The favorite trap type in system crashes is trap type 8,
.\" indicating a wild reference.
.\" ``code'' (hex) is the concatenation of the
.\" MMU
.\" status register
.\" (see <hp300/cpu.h>)
.\" in the high 16 bits and the 68020 special status word
.\" (see the 68020 manual, page 6-17)
.\" in the low 16.
.\" ``v'' (hex) is the virtual address which caused the fault.
.\" Additionally, the kernel will dump about a screenful of semi-useful
.\" information.
.\" ``pid'' (decimal) is the process id of the process running at the
.\" time of the exception.
.\" Note that if we panic in an interrupt routine,
.\" this process may not be related to the panic.
.\" ``ps'' (hex) is the 68020 processor status register ``ps''.
.\" ``pc'' (hex) is the value of the program counter saved
.\" on the hardware exception frame.
.\" It may
.\" .Em not
.\" be the PC of the instruction causing the fault.
.\" ``sfc'' and ``dfc'' (hex) are the 68020 source/destination function codes.
.\" They should always be one.
.\" ``p0'' and ``p1'' are the
.\" VAX-like
.\" region registers.
.\" They are of the form:
.\" .Pp
.\" .Bd -ragged -offset indent
.\" <length> '@' <kernel VA>
.\" .Ed
.\" .Pp
.\" where both are in hex.
.\" Following these values are a dump of the processor registers (hex).
.\" Finally, is a dump of the stack (user/kernel) at the time of the offense.
.\" .Pp
.It Sy "init died (signal #, exit #)"
システム初期化プロセスが、示されたとおりのシグナルおよび終了コードで
終了してしまいました。
これは良くない知らせです。もう誰もログインできません。
リブートするしか手はなく、従ってシステムはただちにリブートします。
.Pp
以上が遭遇する可能性のあるパニックの種類一覧です。
.Pp
クラッシュダンプを取るようにシステムが設定されている場合(
.Xr dumpon 8
参照)、
システムがクラッシュすると
ダンプデバイス(通常は一つめのスワップ領域と同じ)の終わりに
メモリイメージを書き込みます(少なくとも書き込もうとします)。
システムがリブートした後、プログラム
.Xr savecore 8
が起動し、後の解析のために、
このコアイメージと現在のシステムのコピーを特定ディレクトリに保存します。
詳細は
.Xr savecore 8
を参照して下さい。
.Pp
ダンプを解析するには、システムのロードイメージとコアダンプに対して
.Xr gdb 1
.Fl k
オプション付きで起動します。
コアイメージがパニックによって生成されたものならば、
そのパニックメッセージが表示されます。
より詳しい情報は、
.Tn FreeBSD
ハンドブック (http://www.freebsd.org) の
カーネルデバッギングの章を参照して下さい。
.Sh 関連項目
.Xr gdb 1 ,
.Xr dumpon 8 ,
.Xr reboot 8 ,
.Xr savecore 8
.Sh 歴史
.Nm crash
マニュアルページは
.Fx 2.2
で登場しました。
diff --git a/ja_JP.eucJP/man/man8/cron.8 b/ja_JP.eucJP/man/man8/cron.8
index 64055879cf..63792a7e29 100644
--- a/ja_JP.eucJP/man/man8/cron.8
+++ b/ja_JP.eucJP/man/man8/cron.8
@@ -1,77 +1,77 @@
.\"/* Copyright 1988,1990,1993 by Paul Vixie
.\" * All rights reserved
.\" *
.\" * Distribute freely, except: don't remove my name from the source or
.\" * documentation (don't take credit for my work), mark your changes (don't
.\" * get me blamed for your possible bugs), don't alter or remove this
.\" * notice. May be sold if buildable source is provided to buyer. No
.\" * warrantee of any kind, express or implied, is included with this
.\" * software; use at your own risk, responsibility for damages (if any) to
.\" * anyone resulting from the use of this software rests entirely with the
.\" * user.
.\" *
.\" * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
.\" * I'll try to keep a version up to date. I can be reached as follows:
.\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul
.\" */
.\"
-.\" %Id: cron.8,v 1.2.2.2 1998/07/18 11:09:07 jkh Exp %
+.\" %Id: cron.8,v 1.6 1998/03/23 08:21:07 charnier Exp %
.\" jpman %Id: cron.8,v 1.2 1997/04/18 06:33:14 yugawa Stab %
.\"
.Dd December 20, 1993
.Dt CRON 8
.Os
.Sh 名称
.Nm cron
.Nd 定期的にコマンドを実行するデーモン (Vixie Cron)
.Sh 書式
.Nm cron
.Op Fl x Ar debugflag Ns Op ,...
.Sh 解説
.Nm
は、通常は
.Pa /etc/rc
もしくは
.Pa /etc/rc.local
から起動されます。このコマンドは実行するとすぐに返ってくるので、起動時に
`&' をつける必要はありません。
.Pp
.Nm
は、
.Pa /var/cron/tabs
ディレクトリの下から
.Pa /etc/passwd
内のアカウント名と同じ名前の crontab ファイルを探し、見つかったファイルを
メモリに読み込みます。
.Nm
は、別のフォーマットの
.Pa /etc/crontab (
.Xr crontab 5
を参照してください)
も調べます。このあと、
.Nm
は 1 分おきに目覚めて
読み込んでいるすべての crontab ファイルを調べ、各コマンドをその時刻に
実行させるべきかどうかを調べます。コマンドを実行する場合には、出力がメールで
crontab ファイルの所有者 (もしくは crontab ファイル内の環境変数
.Ev MAILTO
で指定されたユーザ) に送られます。
.Pp
さらに、
.Nm
は 1 分おきにスプールディレクトリの最終更新時刻 (
.Pa /etc/crontab
の最終更新時刻も ) が変わっているかどうかを調べます。もし
変化があれば、すべての crontab ファイルの最終更新時刻を調べ、変更のあった
ものを読み直します。このため、crontab ファイルを変更したときに
.Nm
をリスタートさせる必要はありません。
.Xr crontab 1
コマンドが crontab
ファイルを変更したときにスプールディレクトリの最終更新時刻も更新されることに
注意して下さい。
.Sh 関連項目
.Xr crontab 1 ,
.Xr crontab 5
.Sh 作者
.An Paul Vixie Aq paul@vix.com
diff --git a/ja_JP.eucJP/man/man8/disklabel.8 b/ja_JP.eucJP/man/man8/disklabel.8
index 45f3fec3a4..ffecc4ad6a 100644
--- a/ja_JP.eucJP/man/man8/disklabel.8
+++ b/ja_JP.eucJP/man/man8/disklabel.8
@@ -1,406 +1,406 @@
.\" 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
-.\" %Id: disklabel.8,v 1.3.2.3 1998/07/17 20:12:59 jkh Exp %
+.\" %Id: disklabel.8,v 1.8 1998/06/04 06:49:13 charnier Exp %
.\" jpman %Id: disklabel.8,v 1.2 1997/03/31 14:09:16 horikawa Stab %
.\"
.Dd April 19, 1994
.Dt DISKLABEL 8
.Os BSD 4.2
.Sh 名称
.Nm disklabel
.Nd ディスクラベルの読み書きを行う
.Sh 書式
.Nm disklabel
.Op Fl r
.Ar disk
.br
.Nm disklabel
.Fl w
.Op Fl r
.Ar disk Ar disktype
.Oo Ar packid Oc
.br
.Nm disklabel
.Fl e
.Op Fl r
.Ar disk
.br
.Nm disklabel
.Fl R
.Op Fl r
.Ar disk Ar protofile
.br
.Nm disklabel
.Op Fl NW
.Ar disk
.sp
.br
.Nm disklabel
.Fl B
.Oo
.Fl b Ar boot1
.Op Fl s Ar boot2
.Oc
.Ar disk
.Oo Ar disktype Oc
.br
.Nm disklabel
.Fl w
.Fl B
.Oo
.Fl b Ar boot1
.Op Fl s Ar boot2
.Oc
.Ar disk Ar disktype
.Oo Ar packid Oc
.br
.Nm disklabel
.Fl R
.Fl B
.Oo
.Fl b Ar boot1
.Op Fl s Ar boot2
.Oc
.Ar disk Ar protofile
.Oo Ar disktype Oc
.\" 注: 上記 .br は改行動作のために挿入
.\" By horikawa@jp.freebsd.org (30 Mar 1997)
.Sh 解説
.Nm
はディスクドライブやディスクパックにラベルを書き込んだり、
確認したり、修正したりするために使われます。
ラベルを書き込む際には、ドライブの識別子を変更したり、
ディスクのパーティションを変更したり、
異常のあるラベルを置き換えたりすることができます。
システムによっては、
.Nm
は同時にブートストラップコードを
インストールするためにも使われます。
コマンドには、ディスク上のラベルを読んだり (表示したり)、書き込んだり、
編集したりするいくつかの形式があります。
それぞれの形式に
.Fl r
オプションをつけると、ラベルの読み書きをシステムの
メモリ内のコピーに対して行うかわりに、ディスクに対して直接行います。
このオプションをつけると、システムに最初にラベルを書き込むときのように、
カーネルがそのラベルを保持していないような場合にもディスクへラベルを
書き込むことができるようになります。つまり、最初にディスクへラベルを
書き込むときには必ずこのオプションが必要になるということです。
.Fl r
スイッチの特別な機能については、それぞれのコマンドで解説しています。
ラベルの読み込みや書き込みの形式に対しては、ブートストラップコードを
インストールするために
.Fl B
スイッチを指定することができます。
これらの違いについてもあとで解説します。
.Pp
コマンドの最初の形式 (read) は、
指定したディスクドライブ (例: sd0 や /dev/rsd0c) のラベルを確認するため
に使用されます。
これによってドライブに関するすべてのパラメータとパーティションのレイアウトを
表示します。
.Fl r
フラグを指定しない場合には、カーネルのメモリ内にあるラベルのコピーが
表示されます。
もしディスクにラベルが書き込まれていなかったり、ディスクのパーティション形式が
正しくない場合には、カーネルが作り直したり、修正したりしたラベルが
表示されるかもしれません。
.Fl r
フラグが与えられると、メモリ内のラベルを表示するかわりにディスク上の実際の
ラベルが表示されます。
.Pp
2 番目の形式は、
.Fl w
フラグ付きの形式で、指定したドライブへ標準のラベルを書き込む
ために使用されます。
コマンドには引数として、ラベルを書き込むドライブ名 (例: sd0)、および
.Xr disktab 5
に書かれているドライブタイプが必要です。
ドライブのパラメータとパーティション情報は、このファイルから得られたもの
が使われます。
もし、同じ型のディスクに異なるパーティション情報を持たせたい場合には、
disktab にそれぞれ別々のエントリを書いておくか、ラベルを書き込んだあとで
後述する方法でそれを編集する必要があります。
オプションの引数として、16 文字までのパック識別用文字列を指定します。
パック名に空白を含める場合にはそれをクォートする必要があります。
.Fl r
フラグが与えられると、ディスクのラベルとブートストラップが
直接書き換えられます。
この副作用として、すでにあるブートストラップ用コードが上書きされてしまうため、
ディスクがブート不能にされてしまいます。
.Fl r
が指定されない場合には、ラベルはメモリ内のコピーを通して書き換えられる
ため、ブートストラップコードは影響されません。
もしまだディスクがラベル付けされていなければ、
.Fl r
フラグをつけなければなりません。
どちらの方法でも、カーネルのメモリ内コピーは変更されます。
.Pp
.Xr disktab 5
に記載されていない未使用のディスクに対しては、
.Ar disktype
として
.Dq auto
を指定できます。
この場合、ディスクの最初のラベルを生成するようにドライバに要求します。
これは成功するかも知れないし成功しないかも知れません。
これはディスクドライバがディスクを全く読む事無く
必要なデータを取得できるか否かに依存します。
全ての SCSI ディスクとほとんどの IDE ディスクと vnode デバイスにおいて
成功するでしょう。
ディスクに対するラベルの書き込みは唯一サポートされた操作であり、
.Ar disk
自身は標準の名前(フルパス名であってはなりません)で提供される必要があります。
.Pp
.Fl e
フラグによって、すでに存在するディスクラベルを編集することができます。
ラベルはカーネルのメモリ内コピーから、または
.Fl r
フラグが与えられた場合には直接ディスクから読み込まれます。
ラベルは整形され、編集するためのエディタへ渡されます。
.Ev EDITOR
環境変数によるエディタの指定がない場合には、このエディタには
.Xr vi 1
が使用されます。
エディタを終了すると、整形されたラベルが再読み込まれて、
ディスクラベルに再び書き込まれます。
.Fl r
フラグの指定の有無にかかわらず、
すでにあるブートストラップコードは変更されません。
.Pp
.Fl R
フラグを指定すると、
.Nm
は以前の操作により整形済でアスキーファイルとして保存されているディスクラベル
をディスクへ書き戻します。
ラベルを作成するときに使われるプロトタイプファイルは、ラベルを読み込んだり
編集したりするときのものと同じフォーマットである必要があります。
コメントは
.Ar \&#
と改行で区切られます。
.Fl w
のように、
.Fl r
が指定されているとブートストラップコードは使えなくなってしまいます。
.Pp
.Nm
コマンドの
.Fl NW
フラグはそれぞれ、指定したディスクのパックラベルエリアへの書き込みを
明示的に禁止したり、許可したりします。
.Pp
.Nm
の最後の 3 つの形式は、ブートストラップコードがラベルの一部である
ようなマシンで、ブートストラップコードをインストールするために使われます。
ブートストラップコードには、
マシンに依存する 1 つまたは 2 つのプログラムが含まれます。
.Fl B
フラグは、ブートストラップコードをインストールすることを示すために
使われます。
.Fl r
フラグの機能は
.Fl B
フラグに含まれているので、同時に指定しないようにしてください。
インストールされるブートストラップコードの名前は、
いくつかの方法で選択することができます。
第1に、
.Fl b
.Fl s
フラグによって明示的に名前を指定することができます。
1 段階のブートプログラムのみが必要なマシンでは、
.Fl b
によって指定するものがそのプログラムです。
2 段階のブートストラップを行うマシンでは、
.Fl b
で指定するのが最初のブートプログラムで、
.Fl s
で指定するのが 2 段階目のプログラムになります。
プログラム名が明示的に与えられなければ、標準ブートプログラムが使われます。
ブートプログラムは、
.Pa /usr/mdec
に置かれます。
もし、
.Ar disktype
が与えられ、それに対応する
.Xr disktab 5
のエントリが存在し、
なおかつ ``b0'' , ``b1'' の 2 つのパラメータがある場合には、
ブートプログラムはこれらのパラメータから得られます。
さもなければ、ブートプログラム名はディスク名から得られます。
この名前は、1段階目のブートストラップに対しては
.Pa basename Ns boot
、2 段階目のブートストラップに対しては
.Pf boot Pa basename
になります。
たとえば、ディスクデバイスが
.Em sd0
である場合には、これらの名前は
.Pa /usr/mdec/sdboot
.Pa /usr/mdec/bootsd
になります。
.Pp
3 つのブートプログラムインストールの形式のなかで最初のものは、
すでに存在するディスクラベルを変更せずにブートストラップコードを
インストールするために使われます。
これは、ディスクラベル自身に対しては本質的には読み込みコマンドで、
すべてのオプションはすでに記したように
ブートプログラムを特定するのに関するものです。
あとの 2 つの形式は同様に、ディスクラベルを書き込んだり復元したりするのと同時に
ブートストラップコードをインストールするものです。
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /etc/disktab
.It Pa /usr/mdec/ Ns Em xx Ns boot
.It Pa /usr/mdec/boot Ns Em xx
.El
.Sh 使用例
.Dl disklabel sd0
.Pp
sd0 のラベルとしてカーネル内のコピーを
.Pa /dev/rsd0c
から得られたものとして表示します。
.Pp
.Dl disklabel -w -r /dev/rsd0c sd2212 foo
.Pp
.Pa /etc/disktab
に書かれている ``sd2212'' の情報を
sd0 のラベルとして書き込みます。
存在したブートストラップコードは使えなくなります。
.Pp
.Dl disklabel -e -r sd0
.Pp
sd0 のディスク上のラベルを読み込み、編集し、再び書き込みます。
ディスク上のラベルとともにカーネル内コピーも書き換えられます。
存在したブートストラップコードは影響を受けません。
.Pp
.Dl disklabel -r -w sd0 auto
.Pp
sd0 から必要な情報を自動検出し、新しいラベルをディスクに書こうとします。
パーティションおよびファイルシステム情報を編集するために、
この後で disklabel -e コマンドを使って下さい。
.Pp
.Dl disklabel -R sd0 mylabel
.Pp
.Pa mylabel
に書かれている情報を
sd0 のラベルとして書き込みます。
ディスク上のラベルとともにカーネル内コピーも書き換えられます。
存在したブートストラップコードは影響を受けません。
.Pp
.Dl disklabel -B sd0
.Pp
sd0 に新たにブートストラップコードを書き込みます.
ブートストラップコードは
.Pa /usr/mdec/sdboot
、およびもし必要ならば
.Pa /usr/mdec/bootsd
です。
ディスク上のラベルおよびカーネル内コピーは影響を受けません。
.Pp
.Dl disklabel -w -B /dev/rsd0c -b newboot sd2212
.Pp
新たなラベルとブートストラップコードを書き込みます。
ラベルは disktab の ``sd2212'' の情報を使用し、
ディスク上のラベルとともにカーネル内コピーも書き換えられます。
ブートストラップコードは
.Pa /usr/mdec/newboot
です。
.Sh 関連項目
.Xr disklabel 5 ,
.Xr disktab 5
.Sh 診断
デバイスドライバは、
オープンされているパーティションに関して、
サイズが小さくなることおよびオフセットが変化することを許しません。
デバイスドライバの中には、
ラベルを持たないディスクに対して 1 パーティションのみからなる
ラベルを作成するものがあります。
そのため、
オープンされているディスクのラベルは ``a'' パーティションに書く必要があります。
このような理由で、
次の 2 ステップにより、
所望のラベルを作成する必要がある場合があります。
第 1 ステップは少なくとももう 1 つのパーティションを作成することであり、
第 2 ステップは ``a'' パーティションを小さくしながら
新たなパーティションのラベルを設定することです。
.Pp
ファイルシステムによっては、
用意された領域にブートストラップコードが収まり切らないような
マシンがあるかも知れません
その結果として、``ブート可能な'' ディスクのパーティションに
ファイルシステムを作成できない場合があります。
ブートストラップコードを書き込む時に、
.Nm
はこのようなケースをチェックします。
FS_UNUSED タイプのパーティションに重なるように
ブートストラップコードが書き込まれる場合には、
そのパーティションは FS_BOOT とマークされます。
.Xr newfs 8
ユーティリティは、
FS_BOOT パーティションにファイルシステムを作成することを禁止します。
また逆に、
パーティションのタイプが FS_UNUSED もしくは FS_BOOT では無い場合、
.Nm
はそのパーティションに重なるようなブートストラップコードを書き込みません。
.Sh バグ
ディスク名がフルパスで指定されない場合には、
デバイス名は Tahoe の場合 ``a'' パーティションになり、
その他の場合は ``c'' パーティションになります。
.Pp
i386 アーキテクチャでは、プライマリブートストラップセクタに、
組み込みの
.Em fdisk
テーブルを持ちます。
.Nm
は、
ブートストラップのみをインストールする時
.Pq Fl B
もしくはラベルを編集する時
.Pq Fl e
にこれを壊さないように気を付けます。
しかし、
.Fl w
.Fl R
を指定した時には、
無条件でプライマリブートストラッププログラムをディスクに書き込みますので、
.Em fdisk
テーブルをブートストラッププログラム内のダミーに置き換えます。
これはディスク全体を専用に使う場合、
すなわち BSD ディスクラベルがディスクの絶対ブロック 0 から始まる場合
のみ関係あります。
diff --git a/ja_JP.eucJP/man/man8/dmesg.8 b/ja_JP.eucJP/man/man8/dmesg.8
index 91d44697e9..c22a33f9d1 100644
--- a/ja_JP.eucJP/man/man8/dmesg.8
+++ b/ja_JP.eucJP/man/man8/dmesg.8
@@ -1,77 +1,77 @@
.\" 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 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.
.\"
.\" @(#)dmesg.8 8.1 (Berkeley) 6/5/93
-.\" %Id: dmesg.8,v 1.3.2.1 1998/07/17 20:13:02 jkh Exp %
+.\" %Id: dmesg.8,v 1.4 1998/06/04 06:51:13 charnier Exp %
.\" jpman %Id: dmesg.8,v 1.2 1997/04/25 00:26:27 mutoh Stab %
.\"
.Dd June 5, 1993
.Dt DMESG 8
.Os BSD 4
.Sh 名称
.Nm dmesg
.Nd システムメッセージバッファの表示
.Sh 書式
.Nm dmesg
.Op Fl M Ar core
.Op Fl N Ar system
.Sh 解説
.Nm dmesg
はシステムメッセージバッファの内容を表示します。
.Pp
オプションとしては、以下のものがあります:
.Bl -tag -width indent
.It Fl M
表示されるシステムメッセージバッファが含まれるファイルを指定します。
デフォルトは
.Pa /dev/kmem
です。
.It Fl N
ネームリストが含まれるファイルを指定します。
デフォルトは
.Pa /kernel
です。
.El
.Sh 関連項目
.Xr syslogd 8
.Sh 関連ファイル
.Bl -tag -width /etc/kmem -compact
.It Pa /dev/mem
.It Pa /dev/kmem
.It Pa /dev/drum
.It Pa /kernel
.El
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/dump.8 b/ja_JP.eucJP/man/man8/dump.8
index a04a63485b..acf6a25300 100644
--- a/ja_JP.eucJP/man/man8/dump.8
+++ b/ja_JP.eucJP/man/man8/dump.8
@@ -1,376 +1,376 @@
.\" Copyright (c) 1980, 1991, 1993
.\" Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgment:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)dump.8 8.1 (Berkeley) 6/16/93
-.\" %Id: dump.8,v 1.5.2.9 1998/07/17 20:13:04 jkh Exp %
+.\" @(#)dump.8 8.3 (Berkeley) 5/1/95
+.\" %Id: dump.8,v 1.21 1998/06/15 06:58:09 charnier Exp %
.\" jpman %Id: dump.8,v 1.2 1997/06/12 05:57:09 yugawa Stab %
.\"
-.Dd June 16, 1993
+.Dd May 1, 1995
.Dt DUMP 8
.Os BSD 4
.Sh 名称
.Nm dump
.Nd ファイルシステムのバックアップ
.Sh 書式
.Nm dump
.Op Fl 0123456789acknu
.Op Fl B Ar records
.Op Fl b Ar blocksize
.Op Fl d Ar density
.Op Fl f Ar file
.Op Fl h Ar level
.Op Fl s Ar feet
.Op Fl T Ar date
.Ar filesystem
.Nm dump
.Op Fl W Li \&| Fl w
.Pp
.in -\\n(iSu
(
.Bx 4.3
形式のオプションは後方互換性のために実装されていますが、
ここでは説明していません。)
.Sh 解説
.Nm
は、ファイルシステムを調べて
バックアップする必要のあるファイルを決定します。
これらのファイルは、指定されたディスク、テープや、
その他の記憶メディアへ保存のためコピーされます
(リモートバックアップについては、
.Fl f
オプションを参照)。
ダンプの大きさが記録メディアの容量より大きい場合は、
複数ボリュームに分割します。
たいていのメディアの容量は、メディアの終りを通知されるまで
書き込んでみることで決定します。
この方法は、
.Fl a
オプションにより強制的に使用することもできます。
.Pp
メディアの終りを正しく通知できないメディア (一部の
カートリッジ・テープドライブ等) の容量は、
テープ長と記録密度やブロック数のオプションから求め、
各ボリュームはすべて同じ容量を持つものとします。
デフォルトでは、
オペレータにメディア交換を要求した後の各ボリュームにも
同じ出力ファイル名を使用します。
.Pp
.Nm
は、次のオプションをサポートしています。
.Bl -tag -width Ds
.It Fl 0\-9
ダンプレベル。
レベル 0 はフルバックアップを意味し、ファイルシステム全体をコピー
することを保証します (ただし以下の
.Fl h
オプションにも注意して下さい)。
0 より大きなレベル番号はインクリメンタルバックアップを意味し、
前回のダンプ (今回指定したものより低いレベルのダンプ)
以降に作られたか修正されたすべてのファイルをコピーします。
デフォルトのレベルは 0 です。
.It Fl B Ar records
ボリュームあたりの 1 KB ブロック数です。
このオプションは、テープ長と記録密度を基にしたテープ容量より
優先されます。
.It Fl a
.Dq オートサイズ
全てのテープ長の考慮をせず、メディアの終了を通知されるまで、強制的に
書き込みを続けます。現在のほとんどのテープドライブでは、この方法により
もっとも良い結果が得られます。特に、使いかけのテープに追加したり、
ハードウェア圧縮機能のあるテープドライブ(圧縮率がどの程度になるか不確かな
もの)を使用したりする場合にこのオプションを使用することをお薦めします。
.It Fl b Ar blocksize
ダンプレコードあたりのブロックサイズを K バイト単位で指定します。
.It Fl c
カートリッジテープドライブ用に、記録密度とテープ長のデフォルトをそれぞれ
8000 bpi、1700 feet に変更します。
.It Fl h Ar level
ダンプレベルが
.Ar level
以上の時に、ユーザが指定した
.Dq nodump
フラグ
.Dp Dv UF_NODUMP
に従います (h: honor the flag)。
デフォルトの honor レベルは 1 ですから、
そのようなファイルは、インクリメンタルダンプからは省かれますが、
フルバックアップには含まれます。
.It Fl d Ar density
テープの記録密度を
.Ar density
に設定します。デフォルトは 1600BPI です。
.It Fl f Ar file
バックアップの出力先ファイルを指定します。
出力先ファイルとしては、
.Pa /dev/rst0
(テープドライブ)や
.Pa /dev/rfd1
(フロッピーディスクドライブ)のようなデバイスファイル、
通常ファイル、
.Ql Fl
(標準出力)を指定することができます。
複数のファイル名を、コンマで区切って一つの引数として指定する
ことができます。
各ファイルは、リストされた順に一つのダンプボリュームに使用されます。
指定した名前の数より多くのボリュームが必要な場合、
メディアの交換を要求した後、最後のファイル名を残りのすべての
ボリュームに使用します。
ファイル名が、
.Dq host:file
または、
.Dq user@host:file
の形式である場合、
.Nm
は、
.Xr rmt 8
を使用してリモートホスト上の指定されたファイルに書き込みます。
リモートの
.Xr rmt 8
のデフォルトのパス名は
.Pa /etc/rmt
ですが、環境変数
.Ev RMT
の値が優先されます。
.It Fl k
リモートのテープサーバとの通信でケルベロス認証を使います。
(このオプションが有効な状態で
.Nm
がコンパイルされた場合にのみ利用できます。)
.It Fl n
.Nm
がオペレータに注意を促す時に、
.Xr wall 1
に似た方法で
.Dq operator
グループに属するすべてのユーザにメッセージを送ります。
.It Fl s Ar feet
テープの容量を計算する時に記録密度とともに使います。
この容量を超えた場合に、
.Nm
は新しいテープを要求します。
このオプションはやや控え目に指定することをお勧めします。
デフォルトのテープの長さは、2300 フィートです。
.ne 1i
.It Fl T Ar date
.Pa /etc/dumpdates
から得られた日時の代わりに、指定された date をダンプの起点として
使います。date の形式は
.Xr ctime 3
のそれと同じです。このオプションは期間を指定してバックアップを
取るダンプスクリプトで有用です。
.Fl T
オプションは
.Fl u
オプションと同時には指定できません。
.It Fl u
ダンプが成功した後で、
.Pa /etc/dumpdates
ファイルを更新します。
.Pa /etc/dumpdates
は人が読めるファイルであり、各行に以下のレコードが
フリーフォーマットで記録されています :
ファイルシステム名、インクリメントレベル、
.Xr ctime 3
形式のダンプ日付。
各レベルとファイルシステムごとにエントリが一つだけ存在します。
必要なら、
.Pa /etc/dumpdates
の各フィールドを編集しても構いません。
.It Fl W
.Nm
は、ダンプの必要があるファイルシステムをオペレータに表示します。
この情報は
.Pa /etc/dumpdates
.Pa /etc/fstab
ファイルから集められます。
.Nm
は、
.Pa /etc/dumpdates
の中の各ファイルシステム毎に最新のダンプ日付とレベルを示し、
ダンプするべきファイルシステムを明らかにします。
.Fl W
オプションが指定された場合、その他のすべてのオプションは無視され、
.Nm
は直ちに終了します。
.It Fl w
W と同様ですが、ダンプの必要のあるファイルシステムのみを表示します。
.El
.Pp
.Nm
は、以下に示す場合にオペレータの介入を要求します :
テープの終了、
ダンプの終了、
テープ書き込みエラー、
テープオープンエラー、
ディスク読み込みエラー (32 回を越えた場合)。
処理を続けられない時や何か大変まずい事態になった場合には、
.Nm
は、
.Fl n
オプションがあればすべてのオペレータへ警告したうえで、
.Em dump
の制御端末上でオペレータとやりとりします。
.Nm
コマンドからのすべての質問には、
.Dq yes
または
.Dq no
で適切に答えなければなりません。
.Pp
フルダンプの実施には多くの時間と労力がかかるので、
.Nm
は各テープボリュームの先頭にチェックポイントを設定します。
何らかの理由により、あるボリュームの書き込みを失敗した場合には、
テープの巻き戻し、排出、新しいテープのマウントの後で、
.Nm
はオペレータの許可の下でチェックポイントから実行を再開します。
.Pp
.Nm
は処理の進行を定期的にオペレータに報告します。
報告には、少なめに推定される書き込みブロック数、
必要なテープ数、完了までの時間、テープ交換までの時間、
を含みます。
.Nm
に使っている端末が使用中であることが他人にも分かるように、
このメッセージは冗長になっています。
.Pp
ディスクに壊滅的なトラブルが起きた時に、
バックアップテープやファイルからディスクを復元するために
必要な時間は、
インクリメンタルダンプを適当なシーケンスで実行する事によって
最小にする事ができます。
最小のテープ数でこれを行なう効果的な方法を示します。
.\" staggering
.Bl -bullet -offset indent
.It
常にレベル 0 のバックアップから開始します。例えば以下の通りです。
.Bd -literal -offset indent
/sbin/dump -0u -f /dev/nrst0 /usr/src
.Ed
.Pp
これを一ヵ月か二ヵ月毎に新しいテープに対して実施し、
ずっと保存します。
.It
0 レベルのダンプの後は、アクティブなファイルシステムのダンプを、
修正ハノイの塔アルゴリズムによる
次の様なダンプレベルシーケンスによって、毎日行います。
.Bd -literal -offset indent
3 2 5 4 7 6 9 8 9 9 ...
.Ed
.Pp
毎日のダンプには、一週間毎に繰り返し使われる事になる
一定の数のテープを使う事ができます。
週毎にレベル 1 ダンプを行ない、毎日のハノイ・シーケンスは
レベル 3 から開始します。
週毎のダンプには、ダンプするファイルシステム毎に、これも繰り返し
使われる事になる一定数のテープを使います。
.El
.Pp
何ヵ月かの後、毎日と毎週のテープはダンプサイクルから順に外し、
新品のテープを導入すべきです。
.Sh 環境変数
環境変数
.Ev RMT
は、リモートの
.Xr rmt 8
プログラムのパス名を決定するのに用いられます。
.Sh 関連ファイル
.Bl -tag -width /etc/dumpdates -compact
.It Pa /dev/rst0
デフォルトのダンプテープユニット
.It Pa /etc/dumpdates
ダンプの日付を記録するファイル
.It Pa /etc/fstab
ダンプテーブル : ファイルシステムと頻度を決めるファイル
.It Pa /etc/group
.Em operator
グループを検索する
.El
.Sh 関連項目
.Xr fstab 5 ,
.Xr ft 8 ,
.Xr restore 8 ,
.Xr rmt 8
.Sh 診断
詳しいメッセージがたくさん出ます。
.Pp
正常時は終了コード 0 で終了します。
開始時のエラーは終了コード 1 で、
異常終了は終了コード 3 で表されます。
.Sh バグ
32 個未満のファイルシステムからの読み取りエラーは無視されます。
.Pp
各リール (ボリューム) ごとに新たなプロセスが作られ、
リールを書き終った親プロセスは
テープ全体の書き込みが終るまで待っています。
.Pp
現状では、
.Xr physio 9
スライスのリクエストは 64 KB の塊になります。したがって、それより大きな
テープのブロックサイズを使用することはできず、
.Nm
はこれが発生するのを防ぎます。
.Pp
.Nm
.Fl W
.Fl w
オプションは、
.Pa /etc/fstab
にリストされていても、
.Pa /etc/dumpdates
に記録のないファイルシステムについては報告しません。
.Pp
.Nm
コマンドが、
ダンプシーケンスについて知っていて、
使い散らかしたテープの使用履歴を管理でき、
どのテープをマウントすれば良いかオペレータに教えてくれ、
.Xr restore
を実行するオペレータをもっと助けてくれたら、
もっと使いやすいでしょうね。
.Pp
セキュリティ的な歴史により、
.Nm
は、root 以外のユーザでリモートバックアップを行うことはできません。
これは、
.Bx Free
の今後のバージョンでは修正されるでしょう。
現状では、(従来通り) setuid されていれば正常に動作しますが、
セキュリティ的なリスクを伴います。
.Sh 歴史
.Nm
コマンドは、
.At v6
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/dumpfs.8 b/ja_JP.eucJP/man/man8/dumpfs.8
index aeebf725a0..2a4a9dd68b 100644
--- a/ja_JP.eucJP/man/man8/dumpfs.8
+++ b/ja_JP.eucJP/man/man8/dumpfs.8
@@ -1,63 +1,63 @@
.\" 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.
.\"
.\" @(#)dumpfs.8 8.1 (Berkeley) 6/5/93
-.\" %Id: dumpfs.8,v 1.1.1.1.8.1 1997/03/03 07:01:21 mpp Exp %
+.\" %Id: dumpfs.8,v 1.4 1997/02/22 14:32:17 peter Exp %
.\" jpman %Id: dumpfs.8,v 1.2 1997/05/03 11:26:10 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt DUMPFS 8
.Os BSD 4.2
.Sh 名称
.Nm dumpfs
.Nd ファイルシステムの情報のダンプ
.Sh 書式
.Nm dumpfs
.Op Ar filesys No \&| Ar device
.Sh 解説
.Nm dumpfs
は、指定したファイルシステムまたはスペシャルデバイスの、
スーパブロックやシリンダグループの情報を表示します。
表示は非常に長く、詳細なものです。
このコマンドは、ファイルシステムのブロックサイズや最小空き容量などの
ファイルシステムに関する情報を調べるのにもっともよく使われます。
.Sh 関連項目
.Xr disktab 5 ,
.Xr fs 5 ,
.Xr disklabel 8 ,
.Xr fsck 8 ,
.Xr newfs 8 ,
.Xr tunefs 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しています。
diff --git a/ja_JP.eucJP/man/man8/dumpon.8 b/ja_JP.eucJP/man/man8/dumpon.8
index ef60a1cfbd..f4749d856a 100644
--- a/ja_JP.eucJP/man/man8/dumpon.8
+++ b/ja_JP.eucJP/man/man8/dumpon.8
@@ -1,131 +1,131 @@
.\" 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 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: @(#)swapon.8 8.1 (Berkeley) 6/5/93
-.\" %Id: dumpon.8,v 1.3.2.3 1998/07/17 20:13:09 jkh Exp %
+.\" %Id: dumpon.8,v 1.8 1998/06/15 07:03:46 charnier Exp %
.\" jpman %Id: dumpon.8,v 1.3 1997/08/16 13:12:52 horikawa Stab %
.\"
.Dd May 12, 1995
.Dt DUMPON 8
.Os FreeBSD 2.1
.Sh 名称
.Nm dumpon
.Nd クラッシュダンプ用デバイスの指定
.Sh 書式
.Nm dumpon
.Op Fl v
.Ar special_file
.Nm dumpon
.Op Fl v
.Ar off
.Sh 解説
.Nm
は、パニック時にカーネルがクラッシュダンプをセーブするデバイスを
指定するのに用いられます。
.Pp
通常、
.Nm
はシステムのマルチユーザ初期化ファイル
.Pa /etc/rc
の中で呼び出され、ブート時の設定ファイル
.Pa /etc/rc.conf
の変数
.Dq dumpdev
によって制御されます。
.Pp
指定したダンプデバイスは、
物理メモリよりも少なくとも 64 キロバイトは大きい必要があります。
.Pp
.Fl v
フラグは
.Nm
にその処理に関する詳細情報を出力させます。
.Sh 注釈
通常、システムスワップデバイスの 1 つをダンプデバイスとして選択します。
なぜなら、ダンプ時に必要な広さを持っていると考えられるものが、
スワップデバイスであるからです。
.Pp
ダンプバイスの指定として、カーネルコンパイル時に
.Dq dumps on
節をカーネル設定ファイル (
.Xr config 8
参照) に記述することができます。
これは、マルチユーザモードに移行する前にカーネルがパニックする場合に有効です。
その後に起動する
.Nm
は、コンパイル時の値に優先します。
.Pp
.Nm
プログラムの動作は、
.Xr sysctl 3
の MIB 変数
.Dq kern.dumpdev
に指定された
.Ar special_file
のデバイス番号を設定するか、
あるいは
.Ar special_file
が文字列
.Dq Li off
の場合は
.Dv NODEV
(ダンプはとらないことを意味します)
を設定する、というものです。
.Sh 関連項目
.Xr sysctl 3 ,
.Xr fstab 5 ,
.Xr rc.conf 5 ,
.Xr init 8 ,
.Xr config 8 ,
.Xr rc 8 ,
.Xr savecore 8 ,
.Xr swapon 8 ,
.Xr panic 9
.Sh 関連ファイル
.Bl -tag -width /dev/[ws]d?b -compact
.It Pa /dev/[ws]d?b
標準のスワップ領域
.It Pa /etc/rc.conf
ブート時のシステム設定
.El
.Sh バグ
クラッシュダンプをとるときには
既にファイルシステムレイヤは動作していないので、
クラッシュダンプを直接ファイルに落すことはできません。
.Pp
現在
.Nm
は、マイナ番号 1 のデバイスのみをダンプデバイスとして使用可能です。
.Sh 歴史
.Nm
コマンドは
.Fx 2.1
で登場しました。
diff --git a/ja_JP.eucJP/man/man8/fsck.8 b/ja_JP.eucJP/man/man8/fsck.8
index 1e253e7398..0c459fac1b 100644
--- a/ja_JP.eucJP/man/man8/fsck.8
+++ b/ja_JP.eucJP/man/man8/fsck.8
@@ -1,297 +1,306 @@
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
+.\" 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.
.\"
-.\" @(#)fsck.8 8.2 (Berkeley) 12/11/93
-.\" %Id: fsck.8,v 1.5.2.1 1997/03/03 07:01:23 mpp Exp %
+.\" @(#)fsck.8 8.4 (Berkeley) 5/9/95
+.\" %Id: fsck.8,v 1.11 1998/06/15 07:07:12 charnier Exp %
.\" jpman %Id: fsck.8,v 1.2 1997/04/24 00:30:54 mutoh Stab %
.\"
-.Dd December 11, 1993
+.Dd May 9, 1995
.Dt FSCK 8
.Os BSD 4
.Sh 名称
.Nm fsck
.Nd ファイルシステムの整合性チェックと対話的修正
.Sh 書式
.Nm fsck
.Fl p
.Op Fl f
.Op Fl m Ar mode
.Nm fsck
.Op Fl b Ar block#
.Op Fl c Ar level
.Op Fl l Ar maxparallel
.Op Fl y
.Op Fl n
.Op Fl m Ar mode
.Op Ar filesystem
.Ar ...
.Sh 解説
-.Nm fsck
+.Nm
の最初の書式は、標準のファイルシステムのセットや指定された
ファイルシステムの状態を整えるのに使われます。
通常は、自動リブートの間に
.Pa /etc/rc
スクリプトの中で使用されます。
この時
-.Nm fsck
+.Nm
.Pa /etc/fstab
を読んで、チェックするファイルシステムを決定します。
fstab 内の ``rw,'' ``rq,'' ``ro'' のいずれかのオプションで
マウントされる、 0 以外のパス番号をもつパーティションのみが
チェックの対象です。
パス番号 1 を持つファイルシステム
(通常はルートファイルシステムだけです) は、
一つずつ順番にチェックされます。
パス 1 が完了すると、残りのすべてのファイルシステムは、
ディスクドライブごとに一つのプロセスを使ってチェックされます。
ファイルシステムが含まれるディスクドライブは、
デバイス名のうち最後が数字である最も長い文字列として認識されます。
残りの文字列はパーティションを示すと解釈されます。
.Pp
各ファイルシステムのスーパーブロックのクリーン (clean) フラグを調べ、
クリーンでないファイルシステムのみをチェックします。
+ファイルシステムがクリーンとマークされるのは、
+アンマウントされた時、読み取り専用でマウントされた時、
++.Nm
+成功裏に実行された時です。
.Fl f
オプションを指定した場合、クリーンフラグの状態にかかわらず
ファイルシステムをチェックします。
.Pp
カーネルは、ハードウェアやソフトウェアに障害が起きない限り、
ファイルシステムには限定された無害な不整合しか起こさない様に
動作します。
それらの不整合には以下の物があります。
.Bl -item -compact
.It
参照されない inode
.It
inode のリンクカウントが多すぎる
.It
フリーマップ中にないフリー (空き) ブロック
.It
フリーマップとファイルの両方にあるブロック
.It
スーパーブロック内の数値の異常
.El
.Pp
.Fl p
オプション付の
-.Nm fsck
+.Nm
では、上記の不整合のみを修正します。その他の不整合を発見すると、
-.Nm fsck
+.Nm
は異常終了のステータスを返して終了し、自動リブートは失敗します。
不整合を修正するたびに、ファイルシステムと修正内容が表示されます。
ファイルシステムの修正に成功した後で、
-.Nm fsck
+.Nm
はファイルシステム中のファイル数、使用中ブロックとフリーブロックの数、
フラグメントの割合を表示します。
.Pp
-.Nm fsck
+.Nm
がファイルシステムをチェックしている間に
.Dv QUIT
シグナルを送ると、
-.Nm fsck
+.Nm
はチェックを続けますが、終了時に異常終了のステータスを返し、
自動リブートを失敗させます。
これは、自動リブートによるファイルシステムチェックは行いたいが、
チェック完了後にマルチユーザモードに移行したくない場合に有用です。
.Pp
.Fl p
オプションなしでは、
-.Nm fsck
+.Nm
はファイルシステムの状態の検査をおこない、それを対話的に修正します。
ファイルシステムに不整合がある場合、修正を実施する前にオペレータへ
確認を求めます。
.Fl p
オプションでは直せない修正では、データが失われる可能性があることに
注意すべきです。
失われるデータの量とその致命度は、診断メッセージから判断して下さい。
デフォルト動作では、修正を実行する前に、オペレータが
.Li yes
.Li no
と応答するまで待ちます。
オペレータにファイルシステムの書き込み権限がない場合、
-.Nm fsck
+.Nm
は、
.Fl n
オプションの動作をデフォルトにします。
.Pp
-.Nm fsck
+.Nm
は、以前使われていた
.Em check , dcheck , fcheck ,
.Em icheck
の組合せよりもより詳しい不整合チェックを行ないます。
.Pp
-.Nm fsck
+.Nm
は以下のフラグを解釈します。
.Bl -tag -width indent
.It Fl b
指定した番号のブロックをファイルシステムの
スーパーブロックとして使用します。
ブロック番号 32 は普通、代替スーパーブロックになっています。
.It Fl l
同時チェックの並列度を、指定した数に制限します。
デフォルト値はディスク数であり、
ディスク毎に一つのプロセスが実行されます。
これより小さい値を指定すると、
各ディスクを、ファイルシステムを一つずつ
ラウンドロビン方式でチェックします。
.It Fl m
.Pa lost+found
ディレクトリを作る時のモードとして、デフォルトの 1777 の代わりの
値を 8 進数で指定します。
失われたファイルをすべてのユーザには見せたくないシステムでは、
より制限の厳しい 700 を使うべきです。
.It Fl y
-.Nm fsck
+.Nm
からのすべての質問に yes と答えます。
このオプションは、
修正によって新たな不整合を生むような誤った修正に対しても無制限な
許可を与えてしまうものですから、
十分に用心して使用すべきです。
.\" お手上げにつき、意訳しました by TM
.\"(訳注)とくに問題がないと判断したので,この意訳をそのままとしました。
.\" 2.2.1R 対象(1997/04/23) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
.It Fl n
-.Nm fsck
+.Nm
からの
.Ql CONTINUE?
を除くすべての問い合わせに no と答えます。
このオプションは、ファイルシステムへの書き込みオープンを行いません。
.It Fl c
ファイルシステムを指定したレベルへ変換します。
ファイルシステムのレベルは、上げることのみが可能です。
.Bl -tag -width indent
-以下の 3 レベルが定義されています。
+以下の 4 レベルが定義されています。
.It 0
ファイルシステムは、旧フォーマットです (静的テーブル)。
.It 1
ファイルシステムは、新フォーマットです (動的テーブル)。
.It 2
ファイルシステムは 32 ビットの UID と GID を用い、
短いシンボリックリンクは inode 内へ格納し、
ディレクトリはファイルタイプを示す追加フィールドを持ちます。
+.It 3
+maxcontig が 1 より大きい場合、
+連続ブロックをみつけるためのフリーセグメントマップを作成します。
+maxcontig が 1 の場合、既存のセグメントマップを削除します。
.El
.Pp
対話モードでは、
-.Nm fsck
+.Nm
は、変換の内容を表示して、実際に変換するかどうかを問い合わせます。
no と答えると、ファイルシステムへのそれ以上の操作は行われません。
preen モード (
.Fl p
オプション) では、変換内容を表示しますが、変換が可能なら
ユーザへの問い合わせなしに実行します。
preen モードでの変換は、すべてのファイルシステムを一度に
変換してしまう場合に便利です。
ファイルシステムのフォーマットは、
.Xr dumpfs 8
の出力の最初の行から決定することができます。
.El
.Pp
ファイルシステムを指定せずに
-.Nm fsck
+.Nm
を実行すると
.Pa /etc/fstab
ファイルから読み込まれたファイルシステムのリストが対象になります。
.Pp
.Bl -enum -indent indent -compact
ファイルシステムは、以下の点について検査されます。
.It
二つ以上の inode やフリーマップにより使用されているブロック
.It
ファイルシステム領域外の inode により使用されているブロック
.It
不正なリンクカウント
.It
サイズのチェック:
.Bl -item -indent indent -compact
.It
サイズが DIRBLKSIZ の倍数でないディレクトリ
.It
切り詰め (truncate) が部分的に行われているファイル
.El
.It
不正な inode フォーマット
.It
どこにも登録されていないブロック
.It
ディレクトリのチェック:
.Bl -item -indent indent -compact
.It
割り当てされていない inode を指すファイル
.It
範囲外の inode 番号
.It
ディレクトリ内の穴
.It
最初の 2 つのエントリが `.' と `..' でないか、
不正な inode 番号を持つディレクトリ
.El
.It
スーパーブロックのチェック:
.Bl -item -indent indent -compact
.It
ファイルシステムにあるよりも多い inode ブロック数
.It
不正なフリーブロックマップフォーマット
.It
フリーブロックやフリー inode の総数の誤り
.El
.El
.Pp
親ディレクトリの無いファイルやディレクトリ (割り当て
られているが参照されていない) は、
オペレータへの問い合わせのあとで
.Pa lost+found
ディレクトリへ配置されます。
その際のファイル名は inode 番号になります。
.Pa lost+found
ディレクトリが存在しない場合、新たに作成されます。
スペースが不足している場合は、そのサイズが拡張されます。
.Pp
ブロックデバイスとバッファキャッシュの内容は一致しないかもしれないので、
必ずロー (raw) デバイスを指定してください。
.Sh 関連ファイル
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
チェックを行なうファイルシステムのデフォルトリストを含む
.El
.Sh 診断
-.Nm fsck
+.Nm
の出す診断メッセージは、
.Rs
.%T "Fsck \- The UNIX File System Check Program"
.Re
の Appendix A にすべて列挙され説明されています。
.Sh 関連項目
.Xr fs 5 ,
.Xr fstab 5 ,
+.Xr fsdb 8 ,
.Xr newfs 8 ,
.Xr reboot 8
diff --git a/ja_JP.eucJP/man/man8/fsdb.8 b/ja_JP.eucJP/man/man8/fsdb.8
index ac0d71858d..f00ce01a7b 100644
--- a/ja_JP.eucJP/man/man8/fsdb.8
+++ b/ja_JP.eucJP/man/man8/fsdb.8
@@ -1,255 +1,261 @@
.\" %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.
.\"
-.\" %Id: fsdb.8,v 1.3.2.2 1998/08/12 06:15:16 charnier Exp %
+.\" %Id: fsdb.8,v 1.8 1998/06/15 07:12:18 charnier Exp %
.\" jpman %Id: fsdb.8,v 1.3 1997/06/23 15:01:41 horikawa Stab %
.\"
.Dd September 14, 1995
.Dt FSDB 8
.Os FreeBSD
.Sh 名称
.Nm fsdb
.Nd FFS デバッグ/編集ツール
.Sh 書式
-.Nm
+.Nm fsdb
.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 libedit 3
ライブラリを使用しており、コマンド行を編集することによってタイピングの
量を減らすことができます。
コマンドループから抜けて終了する時には、ファイルシステムのスーパブロック
が dirty とマークされ、バッファリングされているブロックがあれば
ファイルシステムに書き込まれます。
.Pp
-.Fl d
-オプションを指定すると、デバッグ情報 (元は
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl d
+デバッグ情報 (元は
.Xr fsck 8
のコードに由来するもの) を出力します。
-.Pp
-.Fl f
-オプションは歴史的な理由により残されているもので、特に意味は持ちません。
+.It Fl f
+歴史的な理由により残されているもので、特に意味は持ちません。
+.It Fl r
+ファイルシステムを読み取り専用でオープンし、
+書き込みを行うコマンドを抑止します。
+.El
.Sh コマンド
組み込みの
.Xr libedit 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
現在の inode をクリアします。
.Pp
.It Cm lookup Ar name
.It Cm cd Ar name
.Ar name
を現在のディレクトリの中で探し、その inode を現在の inode に設定します。
.Ar name
はマルチコンポーネントの名前か、スラッシュで始めて検索をルートの inode
から始めることを指定できます。パス名の中のコンポーネントが見
つからない場合、最後に有効であったディレクトリがアクティブな inode と
して使われます。
.br
このコマンドは開始する inode がディレクトリの場合のみ有効です。
.Pp
.It Cm active
.It Cm print
アクティブな inode を表示します。
.Pp
.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
のそれぞれのフィールドにはゼロがセットされます。
.Pp
.It Cm quit, Cm q, Cm exit, Em <EOF>
プログラムを終了します。
.El
.Sh 関連項目
.Xr libedit 3 ,
.Xr fs 5 ,
.Xr clri 8 ,
.Xr fsck 8
.Sh バグ
``short'' のシンボリックリンクの操作は動作しません。(特に、
シンボリックリンクのタイプは変更しないでください。)
.br
モードはシンボル名ではなく数字で指定してください。
.br
多分
.Nm
に実装されていないことで、もっとやりたいことが沢山あるでしょう。
.br
.Xr libedit 3
のリファレンスページはまだ書かれていません。
.Sh 歴史
.Nm
.Xr fsck 8
のソースコードを使ってファイルシステムの操作のコードのほとんどを実装し
ています。
.Nm
の残りの部分は、最初
.Bx Net
において
.An John T. Kohl
によって書かれました。
.br
.Bx Free
への移植は
.An Peter Wemm
によって行われました。
.Sh 警告
このツールは最大限に注意を払って使って下さい。
.Xr fsck 8
を使っても修復できないほど FFS ファイルシステムを壊す恐れがあります。
diff --git a/ja_JP.eucJP/man/man8/fsirand.8 b/ja_JP.eucJP/man/man8/fsirand.8
index 75b1f99b69..f1894c0e18 100644
--- a/ja_JP.eucJP/man/man8/fsirand.8
+++ b/ja_JP.eucJP/man/man8/fsirand.8
@@ -1,112 +1,112 @@
.\" Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com>
.\" 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 Todd C. Miller.
.\" 4. 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 ``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: fsirand.8,v 1.6 1997/02/23 03:58:26 millert Exp $
-.\" %Id: fsirand.8,v 1.3.2.4 1998/07/17 20:13:11 jkh Exp %
+.\" %Id: fsirand.8,v 1.8 1998/06/30 06:18:43 charnier Exp %
.\" jpman %Id: fsirand.8,v 1.3 1997/09/08 07:26:22 kuma Stab %
.\"
.Dd January 25, 1997
.Dt FSIRAND 8
.Os
.Sh 名称
.Nm fsirand
.Nd inode 世代番号をランダム化する
.Sh 書式
.Nm fsirand
.Op Fl b
.Op Fl f
.Op Fl p
.Ar special
.Op Ar "special ..."
.Sh 解説
.Nm
コマンドは、コマンドラインにて
.Ar special
で指定したファイルシステム上の全ての inode に対し、
ランダムな世代番号を書き込みます。
これにより、ファイルハンドルを ``予測'' しにくくし、
NFS export したファイルシステムのセキュリティを向上させます。
.Pp
.Em 注 Ns :
現在
.Xr newfs 8
.Nm
と同等の処理を行うため、新規ファイルシステムに対し手動で
.Nm
を実行する必要は有りません。
用途は、
既存のファイルシステムを再びランダム化することか、
そこからレポートを得ることだけです。
.Pp
.Nm
は、アンマウントした後
.Xr fsck 8
にてチェックしたファイルシステムか、
リードオンリーにてマウントしたファイルシステムのみに適用すべきです。
.Nm
をシングルユーザモードにてルートファイルシステムに適用できますが、
その後システムを ``reboot -n'' にてリブートしなければなりません。
.Sh オプション
.Bl -tag -width indent
以下のオプションを使用可能です:
.It Fl b
ディスクラベルから得たブロックサイズではなく、
デフォルトのブロックサイズ(通常 512 バイト)を使用します。
.It Fl f
.Ar special
がクリーンとマークされていなくとも、
.Nm
を強制的に実行します。
.It Fl p
新たな世代番号を生成するのではなく、
全ての inode に対して現在の世代番号を表示します。
.Sh 警告
.Nm
はシリンダグループ中の全ての inode を保持できるだけの量のメモリを確保するため、
シリンダグループが少ない大きなディスクにおいては大量のメモリを消費する
可能性があります。
.Sh 関連項目
.Xr fs 5 ,
.Xr fsck 8 ,
.Xr newfs 8
.Sh 歴史
.Nm
コマンドは SunOS 3.x から登場しました。
.br
このバージョンの
.Nm
.Ox 2.1
から登場しました。
.Bx Free
のものは
.Fx 2.2.5
から登場しました。
.Sh 作者
.An Todd C. Miller Aq Todd.Miller@courtesan.com
diff --git a/ja_JP.eucJP/man/man8/ft.8 b/ja_JP.eucJP/man/man8/ft.8
index 90f8906be2..f7a22a3190 100644
--- a/ja_JP.eucJP/man/man8/ft.8
+++ b/ja_JP.eucJP/man/man8/ft.8
@@ -1,110 +1,110 @@
.\" Copyright (c) 1980, 1989, 1991 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.
.\"
.\" @(#)ft.8
-.\" %Id: ft.8,v 1.2.6.2 1998/07/17 20:13:18 jkh Exp %
+.\" %Id: ft.8,v 1.5 1998/06/30 06:22:05 charnier Exp %
.\" jpman %Id: ft.8,v 1.3 1997/08/20 11:58:37 horikawa Stab %
.\"
.Dd February 7, 1994
.Dt FT 8
.Os BSD 4
.Sh 名称
.Nm ft
.Nd QIC 40/80 フロッピテープドライブコントローラ
.Sh 書式
.Nm ft
.Op Fl f Ar tape
.Op Fl r
.Op Ar description
.Sh 解説
.Nm
コマンドはあらかじめフォーマットされている QIC-40/80 テープに対する、
マルチボリュームのダンプ、抽出、テープラベルの閲覧を行ないます。
これは完全にシステム依存であり、QIC 標準とは無関係です。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl f Ar tape
指定された
.Ar tape
から読み書きします
(環境変数
.Ev TAPE
が設定されていなければ、デフォルトは
.Pa /dev/rft0
です)。
.It Fl r
テープを保持します。
.El
.Pp
.Nm
はおもにテープ I/O のフィルターとして使われます。
例えば、
.Pa /usr
ディレクトリをテープに圧縮して保存するには、以下のように入力します。
.Bd -literal -offset indent
% tar cvzf - /usr | ft "/usr save"
.Ed
.Pp
テープから /usr を取り出すには、以下のように入力します。
.Bd -literal -offset indent
% ft | tar xvzf -
.Ed
.\" .Sh 関連項目
.\" .Xr qtar 1
.Sh バグ
フォーマットとベリファイ機能については作業中です。
現在これらを行なうには、今あるバックアッププログラムを使う必要があるでしょう。
.Sh 注釈
フロッピーテープドライバは、
Colorado Jumbo、Mountain Summit Express やいくつかの Archive/Conner モデル、
またおそらくその他のものもサポートしています。
これらのテープドライブはフロッピディスクコントローラカードと
フロッピディスクのリボンケーブルの間に接続されます。
現在のところこのドライバは、
専用のテープコントローラカードやパラレルポートをサポートしていません。
.Pp
QIC-40/80 ドライブは SCSI ドライブに比べ CPU に負荷がかかります。
マシンがネットワークに接続されていたり、
複数のユーザが同時に作業していたりする場合は、
QIC-40/80 ドライブは単なる 1 つの負荷の要素に過ぎません。
個人ユースでは (すなわち典型的なホーム Unix ユーザ)、
応答時間は完全に許容できるものです。
テープドライブは書き込みエラーを検出できません。
そのかわりに、CRC やエラー訂正や不良箇所マッピングを使用しています。
そのため、フォーマット時間は非常に長くなります。
ドライブは最初のパスでテープ全体にセクタを書いていきます。
そして、2 番目のパスを (感度をよくするために) 通常より遅いレートにして、
テープの不良箇所を検出します。
通常、1 本の QIC-80 テープ (120Mb 圧縮なし) をフォーマットするには
1 時間かかります。
.Sh 作者
.An Steve Gerakines Aq steve2@genesis.nred.ma.us
diff --git a/ja_JP.eucJP/man/man8/ftpd.8 b/ja_JP.eucJP/man/man8/ftpd.8
index fe4f46726b..785e79624c 100644
--- a/ja_JP.eucJP/man/man8/ftpd.8
+++ b/ja_JP.eucJP/man/man8/ftpd.8
@@ -1,464 +1,465 @@
.\" Copyright (c) 1985, 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94
-.\" %Id: ftpd.8,v 1.9.2.14 1998/07/17 04:00:02 jkoshy Exp %
+.\" %Id: ftpd.8,v 1.22 1998/07/09 11:38:21 jkoshy Exp %
.\" jpman %Id: ftpd.8,v 1.3 1997/09/08 07:23:46 kuma Stab %
.\"
.Dd April 19, 1994
.Dt FTPD 8
.Os BSD 4.2
.Sh 名称
.Nm ftpd
.Nd
インターネットファイル転送プロトコルサーバ
.Sh 書式
.Nm ftpd
.Op Fl dl
.Op Fl D
.Op Fl R
.Op Fl S
.Op Fl U
.Op Fl T Ar maxtimeout
.Op Fl t Ar timeout
.Op Fl a Ar address
.Op Fl p Ar file
.Sh 解説
.Nm
は、インターネットファイル転送プロトコルサーバプロセスです。
このサーバは
.Tn TCP
プロトコルを用いて、
.Dq ftp
サービスに割り当てられたポートを listen() します。
.Dq ftp
サービスについては、
.Xr services 5
を参照して下さい。
.Pp
利用可能なオプションは以下の通りです:
.Bl -tag -width indent
.It Fl d
syslog の LOG_FTP のファシリティ (facility) を用いてデバッグ情報を出力します。
.It Fl l
.Xr ftp 1
セッションそれぞれの結果を、成功も失敗もともども
syslog の LOG_FTP のファシリティを用いて
ログに残します。このオプションが 2 回指定されると、
retrieve (get), store (put), append, delete,
make directory, remove directory, rename の各操作およびそれらの引数で指定された
ファイル名も記録されます。
注意: LOG_FTP メッセージはデフォルトでは
.Xr syslogd 8
によって表示されません。場合によっては
.Xr syslogd 8 Ns
の設定ファイルでそれを有効にしなければなりません。
.It Fl D
このオプションがセットされると、
.Nm
は制御端末を切り離してデーモンとなり、
FTP ポートへの接続要求を待ち、
子プロセスを生成して接続要求に対応します。
この方式は
.Nm
.Xr inetd 8
から起動するよりオーバヘッドが少ないため、
処理量の多いサーバで負荷を低減するのに役立ちます。
.It Fl R
このオプションがセットされると、
.Nm
は、ユーザ操作のセキュリティチェックや PORT 要求の制限に関して
古き良き時代の振る舞いに戻ります。
現在では、
.Nm
はリモートユーザのホストの非特権ポートに向けられた PORT コマンド
だけを用います (これは FTP プロトコルの仕様に違反していますが、
いくつかのセキュリティホールを閉じることができます)。
.It Fl S
このオプションがセットされると、
.Nm
は匿名 (anonymous) による転送の全てについてのログを、ファイル
.Pa /var/log/ftpd
が存在する場合に限り、このファイルに残します。
.It Fl U
以前のバージョンの
.Nm
では、パッシブモードのクライアントがサーバにデータ接続を要求すると、
サーバは 1024 〜 4999 の範囲のデータポートを使用していました。
現在のバージョンでは、サーバはデフォルトでは 40000 〜 44999 の範囲の
データポートを使用しますが、
このオプションを指定することにより、以前の振る舞いに戻ります。
.It Fl T
クライアントは異なったタイムアウト秒数を要求することもできます。
.Fl T
オプションにより、
.Ar タイムアウト
までの最大待ち時間を設定できます。
デフォルトは 2 時間です。
.It Fl t
何も操作しないで放置した場合のタイムアウト時間を
.Ar timeout
秒に設定します (デフォルトは 15 分)。
.It Fl a
.Fl D
オプションが指定されている場合、
.Ar address
で指定されたアドレスに対する接続のみを許可します。
.It Fl p
.Fl D
オプションが指定されている場合、
デーモンのプロセス ID を
.Ar file
に書き出します。
.It Fl A
匿名 ftp アクセスのみ許可します。
.El
.Pp
ファイル
.Pa /etc/nologin
は、ftp アクセスを拒否するのに使うことができます。
このファイルが存在する場合、
.Nm
はそのファイルの内容を表示して終了します。
.Pa /etc/ftpwelcome
ファイルが存在する場合、
.Nm
.Dq ready
メッセージを表示する前にその内容を表示します。
もし
.Pa /etc/ftpmotd
ファイルが存在する場合、
ログイン成功後に
.Nm
はその内容を出力します。
使用される motd ファイルはログイン環境に対して相対であることに
注意してください。
つまり、匿名ユーザの場合には、
.Pa ~ftp/etc
に存在することを意味じます。
.Pp
この ftp サーバは、現在、以下の ftp リクエストをサポートしています。
リクエストの文字の大文字小文字の区別は無視されます。
.Bl -column "Request" -offset indent
.It Sy リクエスト Ta Sy "説明"
.It ABOR Ta "abort previous command"
.It ACCT Ta "specify account (ignored)"
.It ALLO Ta "allocate storage (vacuously)"
.It APPE Ta "append to a file"
.It CDUP Ta "change to parent of current working directory"
.It CWD Ta "change working directory"
.It DELE Ta "delete a file"
.It HELP Ta "give help information"
.It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA"
.It MKD Ta "make a directory"
.It MDTM Ta "show last modification time of file"
.It MODE Ta "specify data transfer" Em mode
.It NLST Ta "give name list of files in directory"
.It NOOP Ta "do nothing"
.It PASS Ta "specify password"
.It PASV Ta "prepare for server-to-server transfer"
.It PORT Ta "specify data connection port"
.It PWD Ta "print the current working directory"
.It QUIT Ta "terminate session"
.It REST Ta "restart incomplete transfer"
.It RETR Ta "retrieve a file"
.It RMD Ta "remove a directory"
.It RNFR Ta "specify rename-from file name"
.It RNTO Ta "specify rename-to file name"
.It SITE Ta "non-standard commands (see next section)"
.It SIZE Ta "return size of file"
.It STAT Ta "return status of server"
.It STOR Ta "store a file"
.It STOU Ta "store a file with a unique name"
.It STRU Ta "specify data transfer" Em structure
.It SYST Ta "show operating system type of server system"
.It TYPE Ta "specify data transfer" Em type
.It USER Ta "specify user name"
.It XCUP Ta "change to parent of current working directory (deprecated)"
.It XCWD Ta "change working directory (deprecated)"
.It XMKD Ta "make a directory (deprecated)"
.It XPWD Ta "print the current working directory (deprecated)"
.It XRMD Ta "remove a directory (deprecated)"
.El
.Pp
以下に示した非標準コマンドあるいは
.Tn UNIX
に特有のコマンドが、SITE リクエストでサポートされています。
.Pp
.Bl -column Request -offset indent
.It Sy リクエスト Ta Sy 説明
.It UMASK Ta change umask, e.g. ``SITE UMASK 002''
.It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60''
.It CHMOD Ta change mode of a file, e.g. ``SITE CHMOD 755 filename''
.It HELP Ta give help information.
.El
.Pp
Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のものは
解釈はされますがインプリメントされていません。
MDTM および SIZE は RFC 959 では規定されていませんが、次に改訂される
FTP RFC には登場するでしょう。
.Pp
ftp サーバがアクティブなファイル転送を中断するのは、ABOR コマンドの前に、
Telnet "Interrupt Process" (IP) シグナルか
Telnet "Synch" シグナルが Telnet ストリーム内にある場合だけです。
これは Internet RFC 959 に記述されています。
もし、データの転送中に
STAT
コマンドを受けとり、その前に Telnet IP や Synch
があった場合、転送ステータスが返されます。
.Pp
.Nm
は、
.Xr csh 1
で使われているファイル名展開を解釈します。これにより、
ユーザはメタキャラクタ
.Dq Li \&*?[]{}~
を利用できます。
.Pp
.Nm
は、5 つのルールに従ってユーザの認証を行います。
.Pp
.Bl -enum -offset indent
.It
ログイン名はパスワードデータベース
になければならず、空のパスワードであってはいけません。
この場合、あらゆるファイルの操作に先だって、クライアント側からパスワードが
提供されていなければなりません。ユーザが S/Key のキーを持っている場合は、
USER コマンドが成功した際の応答には S/Key チャレンジを含めて送られます。
クライアントは、それに対して PASS コマンドを使って応答する際に、
通常のパスワードか S/Key のワンタイムパスワードのどちらをつけて応答
するかを選択できます。サーバはどちらのパスワードを受け取ったかを自動的に
判定し、それに応じて認証を試みます。S/Key の認証に関する詳細は
.Xr key 1
を参照して下さい。S/Key は Bellcore 社の商標です。
.It
ログイン名はファイル
.Pa /etc/ftpusers
に載っていてはいけません。
.It
ログイン名はファイル
.Pa /etc/ftpusers
で指定されているグループのメンバであってはいけません。
このファイルでグループ名として解釈されるエントリの先頭には
アットマーク
.Ql \&@
が付きます。
.It
ユーザは
.Xr getusershell 3
が返す標準のシェルを持っていなければなりません。
.It
ユーザ名がファイル
.Pa /etc/ftpchroot
に載っているか、そのファイルにあるグループエントリ (つまり
.Ql \&@
で始まるエントリ) のメンバである場合、アカウント
.Dq anonymous
.Dq ftp
と同様、
.Xr chroot 2
によって、
そのセッションのルートディレクトリが
ユーザのログインディレクトリに変ります (次の項目を参照して下さい)。
この機能は、
.Xr login.conf 5
でブール型フラグ "ftp-chroot" をオンにしても有効になります。
しかし、ユーザは依然、パスワードを与える必要があります。
この特徴は、完全に匿名 (anonymous) なアカウントと
完全な特権のあるアカウントの間での妥協的な利用のためのものです。
このアカウントは匿名アカウントで設定するのと同様に設定されていなければ
なりません。
.It
もしユーザ名が
.Dq anonymous
または
.Dq ftp
の場合は、匿名の ftp アカウントがパスワードファイル (ユーザ
.Dq ftp
) で提供されていなければなりません。
この場合、ユーザはどのようなパスワードでもログインを許可されます (慣習としては
ユーザの email アドレスをパスワードとして用いることになっています)。
.Fl S
オプションがセットされていると、全ての転送操作も記録されます。
.El
.Pp
最後のケースの場合、
.Nm
は特別な手段でクライアントのアクセス権を制限します。
サーバは
.Dq ftp
ユーザのホームディレクトリへ
.Xr chroot 2
します。
システムのセキュリティが侵害されないために、
.Dq ftp
サブツリーは、以下の規則に従って慎重に構築することを推奨します。
.Bl -tag -width "~ftp/pub" -offset indent
.It Pa ~ftp
ホームディレクトリは
.Dq root
の所有とし、誰も書き込みできないようにします。
.It Pa ~ftp/bin
このディレクトリは
.Dq root
の所有とし、誰も書き込みできないようにします (モード 555)。
list コマンドのサポートのため、ここに
.Xr ls 1
プログラムを置くことが必要です。
このプログラムのモードは 111 とすべきです。
.It Pa ~ftp/etc
このディレクトリは
.Dq root
の所有とし、誰も書き込みできないようにします (モード 555)。
.Xr ls
が所有者を数字でなく名前で表示できるようにするために、
ファイル pwd.db (
.Xr passwd 5 参照) 及び
.Xr group 5
が必要です。
ファイル
.Xr passwd
中のパスワードは使用されませんので、本当のパスワードを入れてはいけません。
ファイル
.Pa ftpmotd
が存在すると、ログイン成功後、その内容が表示されます。
このファイルのモードは 444 とすべきです。
.It Pa ~ftp/pub
このディレクトリのモードは 777、所有者は
.Dq ftp
とします。
ゲストユーザは、このディレクトリ中にあって匿名アカウントで
アクセス可能なファイルをアクセスします。
.El
.Pp
システムに複数の IP アドレスがある場合、
.Nm
は仮想ホストの概念をサポートします。
仮想ホストは、複数の匿名 ftp 領域それぞれを別々のインターネットアドレス
に割り当てる機能を提供します。
ファイル
.Pa /etc/ftphosts
は各仮想ホストに関連した情報を保持します。
各ホストはそれぞれの行で定義され、
各行は空白で区切ったいくつかのフィールドからなります:
.Bl -tag -offset indent -width hostname
.It hostname
仮想ホストのホスト名あるいは IP アドレス。
.It user
システムのパスワードファイル中のユーザレコードを含みます。
普通の匿名 ftp と同様に、このユーザのアクセス UID, GID および
グループによって匿名 ftp 領域のファイルアクセス権が決まります。
匿名 ftp 領域 (ログイン時にユーザが chroot するディレクトリ) は、
そのアカウントに対するホームディレクトリとして決定されます。
他の ftp アカウントのユーザ ID およびグループも、
標準 ftp ユーザと同じであって構いません。
.It statfile
全てのファイル転送のログが記録されるファイル。デフォルトでは
.Pa /var/log/ftpd
です。
.It welcome
サーバがプロンプトを出す前に表示される welcome メッセージ。デフォルトでは
.Pa /etc/ftpwelcome
です。
.It motd
このファイル内容はユーザがログインした後に表示されます。デフォルトでは
.Pa /etc/ftpmotd
です。
.El
.Pp
文字 '#' で開始する行は無視されますので、コメントを含むことが可能です。
.Pp
プライマリ IP アドレスあるいはホスト名に対する仮想ホストを定義すると、
そのアドレスへの ftp ログインのデフォルト値が変更されます。
-'user', 'statfile', 'welcome', 'motd' の各フィールドは
-デフォルト値を用いる場合、ブランクのままもしくはハイフン一つ '-' と
+\&'user', 'statfile', 'welcome', 'motd' の各フィールドは
+デフォルト値を用いる場合、ブランクのままもしくはハイフン一つ
+\&'-' と
しても構いません。
.Pp
いかなる匿名ログインの設定についても言えることですが、
設定と保守には十分に注意を払い、セキュリティ上の問題をきたさないよう
防御しなければなりません。
.Pp
.Em FTPD_INTERNAL_LS
オプションをつけてコンパイルすると、
.Nm
はリモートからのファイル一覧表示要求に対応するための内部サポートを用意し、
chroot された環境でもそれ以外でも
.Pa /bin/ls
を実行しなくなります。
この場合、
.Pa ~/bin/ls
の実行形式ファイルは chroot されたディレクトリになくてよく、
.Pa ~/bin
ディレクトリも存在する必要はありません。
このサポートは、
.Pa /etc/make.conf
あるいはシェルの環境で
.Em INTERNAL_LS
変数を設定して ftpd を作成することで追加されます。
.Sh 関連ファイル
.Bl -tag -width /etc/ftpwelcome -compact
.It Pa /etc/ftpusers
歓迎されない/制限を受けるユーザのリスト。
.It Pa /etc/ftpchroot
chroot される一般ユーザのリスト。
.It Pa /etc/ftphosts
仮想ホストのための設定ファイル
.It Pa /etc/ftpwelcome
welcome メッセージ。
.It Pa /etc/ftpmotd
login 後の welcome メッセージ。
.It Pa /etc/nologin
内容を表示し、アクセスを拒否します。
.It Pa /var/log/ftpd
匿名による転送のログファイル。
.El
.Sh 関連項目
.Xr ftp 1 ,
.Xr key 1 ,
.Xr getusershell 3 ,
.Xr login.conf 5 ,
.Xr inetd 8 ,
.Xr syslogd 8
.Sh バグ
特権ポート番号を用いてソケットを作成するために、
ftpd はスーパーユーザの権限で実行させて下さい。
サーバはログインユーザの実効ユーザ ID を保持しておき、
アドレスをソケットにバインドする場合にのみスーパユーザの権限を使います。
考えられるセキュリティホールについてはかなり詳細にわたって調べ込みをおこないましたが、
それでも不完全かもしれません。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/getty.8 b/ja_JP.eucJP/man/man8/getty.8
index 3226a8087d..bdc5de8229 100644
--- a/ja_JP.eucJP/man/man8/getty.8
+++ b/ja_JP.eucJP/man/man8/getty.8
@@ -1,125 +1,125 @@
.\" 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: @(#)getty.8 8.1 (Berkeley) 6/4/93
-.\" %Id: getty.8,v 1.4.2.3 1997/12/15 07:10:52 charnier Exp %
+.\" %Id: getty.8,v 1.9 1997/11/21 07:43:42 charnier Exp %
.\" jpman %Id: getty.8,v 1.3 1997/05/19 17:00:46 horikawa Stab %
.\" "
.Dd April 25, 1991
.Dt GETTY 8
.Os BSD 4
.Sh 名称
.Nm getty
.Nd 端末のモードを設定する
.Sh 書式
.Nm getty
.Oo
.Ar type
.Op Ar tty
.Oc
.Sh 解説
.Nm
プログラムは、
.Xr init 8
から呼ばれ、tty回線をオープンしたあと初期化
し、ログイン名を読んで
.Xr login 1
を起動します。
.Pp
.Ar tty
は、端末にどの
.Pa /dev
のスペシャルデバイスファイルを使うかを指定します(例:``ttyh0'')。
引数がないか
.Ql Fl
ならば、tty回線はファイルディスクリプタ0としてオープンされます。
.Pp
.Ar type
は、
.Nm
が端末回線を特別に扱うようにするために使われます。
この
.Ar type
は、
.Xr gettytab 5
のデータベースのインデックスとして使われ、
回線の特徴を決定します。引数が与えられないか、データベースにマッチする
テーブルがなければ、
.Em default
テーブルが使われます。もし、
.Pa /etc/gettytab
ファイルがなければ、システムのデフォルトが使われます。
テーブルにより指示されれば、
.Nm
は端末画面をクリアし、
バナーヘッダを表示し、
ログインプロンプトを表示します。通常、このプロンプトのなかに
システムのホスト名が含まれます。
.Pp
.Nm
のデフォルトの行動は、大抵の場合、適当な
.Pa gettytab
テーブルを作成することによって、回避したり修正したりすることができます。
.Pp
.Nm
はタイムアウト時間を設定することができます。これによって、
ログイン名がすぐに入力されないような場合に、ダイアル回線を切断
することができます。
.Sh 診断
.Bl -diag
.It "ttyxx: No such device or address."
.It "ttyxx: No such file or address."
.Pp
.Pa ttys
ファイルのなかで有効にされていた端末がオープンできませんでした。
必要な回線がシステムに設定されていなかったか、
関係するデバイスがブート時のシステム設定の際に組み込まれなかったか、
もしくは
.Pa /dev
にスペシャルファイルがありませんでした。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/gettytab -compact
.It Pa /etc/gettytab
.It Pa /etc/ttys
.El
.Sh 関連項目
.Xr login 1 ,
.Xr ioctl 2 ,
.Xr tty 4 ,
.Xr gettytab 5 ,
.Xr ttys 5 ,
.Xr init 8
.Sh 歴史
.Nm
.At v6
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/ibcs2.8 b/ja_JP.eucJP/man/man8/ibcs2.8
index 2d1ac841d1..868f3985b7 100644
--- a/ja_JP.eucJP/man/man8/ibcs2.8
+++ b/ja_JP.eucJP/man/man8/ibcs2.8
@@ -1,64 +1,64 @@
.\"
.\" Copyright (c) 1995 Lyndon Nerenberg
.\"
.\" All rights reserved.
.\"
.\" This program is free software.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: ibcs2.8,v 1.2.2.1 1998/05/22 10:29:39 jkoshy Exp %
+.\" %Id: ibcs2.8,v 1.5 1998/05/19 03:31:34 jkoshy Exp %
.\" jpman %Id: ibcs2.8,v 1.3 1997/09/08 08:46:54 kuma Stab %
.\"
.Dd November 27, 1995
.Dt IBCS2 8
.Os FreeBSD-Experimental
.Sh 名称
.Nm ibcs2
.Nd SCO および ISC バイナリのための iBCS2 ランタイムサポートをロードする
.Sh 書式
.Nm ibcs2
.Sh 解説
.Nm
ユーティリティは iBCS2 互換プログラムの
カーネルランタイムサポートをロードします。
本ランタイムサポートの範囲は iBCS2 システムコールインタフェースの
エミュレーションに限定されており、完全サポートには程遠いです。
COFF バイナリおよび共有ライブラリはサポートされていますが、
FreeBSD での配布には共有ライブラリは提供されていません。
.Sh 関連ファイル
.Bl -tag -width /usr/share/examples/ibcs2/* -compact
.It Pa /lkm/ibcs2_mod.o
.It Pa /lkm/ibcs2_coff_mod.o
iBCS2 ローダブルカーネルモジュール。
.Pp
.It Pa /usr/share/examples/ibcs2/*
エミュレータ検査用のサンプルオブジェクトファイル。
.Sh 関連項目
.Xr modload 8 ,
.Xr lkm 4
.Sh バグ
エミュレータは全く不完全です。
.Pp
動的にリンクされたバイナリを実行するにあたり、
既存の SCO システムの共有ライブラリへのアクセスが不可欠です。
.Pp
使用にあたりソースコードを読むことが不可欠です。
diff --git a/ja_JP.eucJP/man/man8/ifconfig.8 b/ja_JP.eucJP/man/man8/ifconfig.8
index d5a4e28ec8..6ffb533843 100644
--- a/ja_JP.eucJP/man/man8/ifconfig.8
+++ b/ja_JP.eucJP/man/man8/ifconfig.8
@@ -1,345 +1,345 @@
.\" 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
-.\" %Id: ifconfig.8,v 1.9.2.5 1998/07/17 20:13:20 jkh Exp %
+.\" %Id: ifconfig.8,v 1.18 1998/07/06 06:53:42 charnier Exp %
.\" jpman %Id: ifconfig.8,v 1.2 1997/03/31 14:09:47 horikawa Stab %
.\"
.Dd February 13, 1996
.Dt IFCONFIG 8
.Os BSD 4.2
.Sh 名称
.Nm ifconfig
.Nd ネットワークインタフェースのパラメータの設定を行なう
.Sh 書式
.Nm ifconfig
.Ar interface address_family
.Oo
.Ar address
.Op Ar dest_address
.Oc
.Op Ar parameters
.Nm ifconfig
.Fl a
.Op Fl d
.Op Fl u
.Op Ar address_family
.Nm ifconfig
.Fl l
.Op Fl d
.Op Fl u
.Op Ar address_family
.Sh 解説
.Nm
は、ネットワークインタフェースに対してネットワークアドレス
の割り当てを行ない、ネットワークインタフェースのパラメータの設定を行ないます。
.Nm
は、システム立ち上げ
時に、マシンが備える各ネットワークインタフェースに対してネットワークアドレス
を割り当てるように使用しなければなりません。また、一旦各ネットワークインタフェ
ースに対し設定したネットワークアドレスを再定義したり、パラメータの設定を
変えたりすることも可能です。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Ar address
.Tn DARPA Ns -Internet
ファミリでは、アドレスはホスト名データベース
.Xr hosts 5
に登録されているホスト名であるか、もしくは
インターネット標準の
.Dq ドット表記
です。
.\" ゼロックスネットワークシステム(tm)ファミリでは、
.\" アドレスは
.\" .Ar net:a.b.c.d.e.f
.\" という形式です。
.\" ここで
.\" .Ar net
.\" は割り当てるネットワーク番号(10進数)、
.\" 残りの
.\" .Ar a
.\" から
.\" .Ar f
.\" までは
.\" ホスト番号を表す 6 バイトであり 16 進数で指定します。
.\" ホスト番号は 10Mb/s イーサネットインタフェースでは省略可能です。
.\" ホスト番号指定を省略した場合には、
.\" 一番目のインタフェースのハードウェア物理アドレスを
.\" すべてのインタフェースにおいて使用します。
.\" .Tn ISO
.\" ファミリでは、
.\" ゼロックスファミリと同じ長さのアドレスを、
.\" 長い 16 進数の文字列で指定します。
.\" 違いは、
.\" ドットが続いた場合にはそのバイトはゼロを表すことと、
.\" ドットはオプションであることです
.\" (ドットはネットワークバイトオーダの長い数字列を
.\" 注意深く扱うために使用します)。
.It Ar address_family
他のパラメータの解釈に影響するネットワーク
.Ar "address family"
を指定します。
インタフェースが異なるプロトコルの送信を異なる名前付け体系で
受けることがあるので、アドレスファミリを指定しておくことをお勧めします。
本コマンドでサポートされるプロトコルファミリは、
.Dq inet ,
.Dq atalk ,
.\".Dq iso ,
.Dq ipx
.\" .Dq ns
です。
.It Ar dest_address
ポイントツーポイントリンクにおける他端のアドレスを指定します。
.It Ar interface
インタフェースパラメータは、
.Dq name unit
の形式で表現されます。
例えば
.Dq en0
です。
.El
.Pp
.Nm
では以下のパラメータが利用できます:
.Bl -tag -width indent
.It Cm alias
指定したインタフェースに、ネットワークアドレスを追加して指定します。
これはネットワーク番号を変更した際に、以前のアドレスに送られるパケットを
受けとりたい場合などに便利です。
.It Cm arp
アドレス解決プロトコル (ARP) を用いてネットワークレベルのアドレスとリンクレベル
のアドレスの対応を取ることを可能にします (デフォルト)。この機能は、
.Tn DARPA
インターネットアドレスと 10Mb/s Ethernet アドレスの間の対応を取るように
作られています。
.It Fl arp
アドレス解決プロトコルの使用を禁止します。
.It Cm broadcast
ネットワークに対するブロードキャストアドレスを指定します。
ブロードキャストアドレスのデフォルト値は、
ホスト部のビットがすべて 1 になったアドレスです。
.It Cm debug
ドライバ依存のデバッグモードを有効にします。
通常コンソールへのエラーログを有効にします。
.It Fl debug
ドライバ依存のデバッグモードを無効にします。
.It Cm delete
指定したネットワークアドレスを無効にします。本機能は、alias で不正なアドレスを
指定した場合や、すでに指定したアドレスが必要ない場合などに使用します。
誤った NS アドレスをホスト部分とともに指定した場合には、
NS アドレスを全て無効にすることにより再度ホスト部分を指定可能となります。
.It Cm down
指定したネットワークインタフェースに ``down'' とマークします。``down'' と
マークされたインタフェースに対しては、システムはメッセージの送信を行ない
ません。可能であれば、そのインタフェースは受信も不可能となるように
リセットされます。この動作は、そのインタフェースを用いる
ルーティングを使用しないよう自動的に設定するものではありません。
.\" .It Cm ipdst
.\" リモートネットワーク向け NS パケットをカプセル化している IP パケットを
.\" 受信する、インターネットホストを指定するために使用します。
.\" 外見上 point to point リンクが構成され、
.\" 指定されたアドレスは、
.\" デスティネーションの NS アドレスとネットワークアドレスとされます。
.\" .Tn CLNP
.\" パケットの IP カプセル化はこれとは異なった方法で実現されます。
.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 metric Ar n
インタフェースのルーティングメトリックを
.Ar n
で指定します。初期値は 0 です。
ルーティングメトリックは、ルーティングプロトコル
.Pq Xr routed 8
で使用されます。
.It Cm mtu Ar n
そのインタフェースの最大転送単位 (mtu) を
.Ar n
に設定します。デフォルト値はインタフェースに依存します。
mtu はインタフェースに送られるパケットの大きさを制限するのに用いられます。
mtu を設定できなかったり、設定出来る値の範囲に制限のある
インタフェースがあります。
.It Cm netmask Ar mask
.\" (inet と ISO)
(inet のみ)
ネットワークをサブネットワークに細分割する際に、ネットワークアドレスとして
リザーブするアドレスを指定します。
mask が指定する部分は、
アドレスのネットワーク部とサブネット部です。
サブネット部はアドレスのホスト部の一部です。
mask は、0x ではじまる16進数、
ドット表記のインターネットアドレス形式、
ネットワークテーブル
.Xr networks 5
に記述されている仮想ネットワーク名のいずれかで指定できます。
mask での 32ビットアドレスにおける 1 であるビットの部分は、
ネットワーク部もしくはサブネット部として使用します。
0 であるビットの部分はホスト部として使用します。
mask は少なくともネットワーク部を含む必要があり、
サブネット部はネットワーク部に連続する必要があります。
.\" see
.\" Xr eon 5 .
.\" .It Cm nsellength Ar n
.\" .Pf ( Tn ISO
.\" のみ)
.\" .Tn NSAP
.\" に後続するローカル識別に使用するバイト数を指定します。
.\" この部分は
.\" .Tn NET
.\" (Network Entity Title)
.\" として扱われます。
.\" バイト数のデフォルト値は 1 であり、US
.\" .Tn GOSIP
.\" 準拠です。
.\" ifconfig コマンドで設定するISO アドレスが、
.\" .Tn NSAP
.\" です。
.\" 例えば
.\" .Tn US GOSIP
.\" では、20 文字の 16 進数を
.\" .Tn ISO NSAP
.\" において指定し、
.\" インタフェースに割り当てる必要があります。
.\" .Tn AFI
.\" 37 タイプアドレスにおいて、数字が 1 とは異なると便利であるのは、
.\" それなりの理由があります。
.It Cm range
Appletalk において
.Em netrange
に返答するようにインタフェースを設定します。
書式は startnet-endnet です。
Appletalk は netmask ではなくこの方法を使用しますが、
.Bx Free
の内部においては netmask の集合として実装しています。
.It Cm phase
これに続く引数は、
インタフェースに接続された Appletalk ネットワークの
バージョン (フェーズ) を指定します。
1 または 2 が許されています。
.It Cm link[0-2]
インタフェースのリンクレベルでの特殊な処理を有効にします。3 つのオプション
の実際の効果はインタフェース依存です。しかしながら、これらのオプションは、
一般的には特殊なオペレーションモードを選択するのに用いられます。この例として、
SLIP 使用時のデータ圧縮や、Ethernet カードのコネクタ選択を行います。
各ドライバごとのマニュアルページに
詳細が記してあるので、詳しくはそちらの方を参照して下さい。
.It Fl link[0-2]
上記の link[0-2] の指定を無効にします。
.It Cm up
指定したネットワークインタフェースに
.Dq up
とマークします。
本オプションは、
.Dq ifconfig down
を行なった後にインタフェースを有効にするのに用いられます。
最初にインタフェースにアドレスを設定した場合には、自動的に本指定はされたものと
して扱います。もし、down とマークされていたインタフェースがリセットされた場合、
ハードウェアは再初期化されます。
.El
.Pp
.Nm
は引数としてネットワークインタフェース以外に何のオプションも与えられない場合、
ネットワークインタフェースの現在の設定状態を表示します。
プロトコルファミリが指定されている場合、
.Nm
はプロトコルファミリに特有の情報についてのみ表示します。
.Pp
ドライバがメディア選択をサポートする場合、
サポートされているメディアのリストが出力に含まれます。
.Pp
オプションとして、インタフェース名の代りに
.Fl a
フラグを指定できます。そうすると、
.Nm
はシステム上の全インタフェースを表示します。
.Fl d
フラグはこれを down したインタフェースに限定し、
.Fl u
フラグはこれは up したインタフェースに限定します。
.Pp
The
.Fl l
フラグを使用するとシステム上の使用可能な全インタフェースのリストを、
その他の情報は付加せずに表示します。
このフラグは他のフラグとは排他的ですが、
.Fl d
(down したインタフェースのみをリスト)
.Fl u
(up したインタフェースのみをリスト)
は例外です。
.Pp
スーパユーザのみがネットワークインタフェースの設定を変更できます。
.Sh 註釈
メディア選択システムは比較的新しく、いくつかのドライバのみサポートしています
(必要があるものも限られています)。
.Sh 診断
指定したインタフェースが存在しない、
要求したアドレスが未知のものである、
ユーザがネットワークインタフェースの設定を変更する権限を持っていない、
といったメッセージを表示します。
.Sh 関連項目
.Xr netstat 1 ,
.Xr netintro 4 ,
.Xr rc 8 ,
.Xr routed 8
.\" .Xr eon 5
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/inetd.8 b/ja_JP.eucJP/man/man8/inetd.8
index 326fce6042..3a90e6c3f6 100644
--- a/ja_JP.eucJP/man/man8/inetd.8
+++ b/ja_JP.eucJP/man/man8/inetd.8
@@ -1,525 +1,525 @@
.\" Copyright (c) 1985, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)inetd.8 8.3 (Berkeley) 4/13/94
-.\" %Id: inetd.8,v 1.9.2.6 1998/07/18 11:10:23 jkh Exp %
+.\" %Id: inetd.8,v 1.22 1998/06/10 12:34:25 phk Exp %
.\" jpman %Id: inetd.8,v 1.2 1997/05/16 07:22:24 yugawa Stab %
.\"
.Dd February 7, 1996
.Dt INETD 8
.Os BSD 4.4
.Sh 名称
.Nm inetd
.Nd インターネット
.Dq スーパサーバ
.Sh 書式
.Nm inetd
.Op Fl d
.Op Fl l
.Op Fl c Ar maximum
.Op Fl C Ar rate
.Op Fl a Ar address
.Op Fl p Ar filename
.Op Fl R Ar rate
.Op Ar configuration file
.Sh 解説
.Nm
は、ブート時に
.Pa /etc/rc
の中で起動されます(
.Xr rc 8
参照)。起動されると、
.Nm
は定められたインターネットソケットを監視し、接続要求を待ちます。
監視しているソケットに対して接続要求が出されると、
.Nm
はそのソケットに対応したサービスを
判定し、サービスを提供するプログラムを起動します。
サーバプログラムはサービスソケットを標準入力・標準出力・
エラー出力として起動されます。
サービスプログラムが完了すると、
.Nm
は再びソケットの監視を行ないます(後述するような例外もあります)。
.Nm
を用いれば 1 つのデーモンで
複数のサービスプログラムを起動することができるので、
システムの負荷を軽減することができます。
.Pp
.Nm
は、起動時に以下のオプションを指定できます。
.Bl -tag -width indent
.It Fl d
デバッグモードにします。
.It Fl l
ログをとります。
.It Fl c Ar maximum
起動可能なサービスのデフォルトにおける最大値を指定します。
サービスごとに指定される "max-child" パラメータによって上書きされ得ます。
.It Fl C Ar rate
1 分間に単一の IP アドレスから起動されるサービスのデフォルトにおける最大値
を指定します。
デフォルトは未設定です。
サービスごとに指定される "max-connections-per-ip-per-minute"
パラメータによって上書きされ得ます。
.It Fl R Ar rate
1 分間に起動できる最大のサービス数を指定します。デフォルトは 256 です。
.It Fl a
監視する IP アドレスを指定します。
.It Fl p
デフォルトとは異なるプロセス ID を保持するファイルを指定します。
.El
.Pp
.Nm
は実行時に設定情報を設定ファイルから読み込みます。
デフォルトでは設定ファイルは
.Pa /etc/inetd.conf
です。
設定ファイルの各フィールドにはエントリが 1 つなければなりません。
各フィールドのエントリはタブやスペースで区切ります。
コメントは行頭に ``#'' をつけます。
設定ファイルのフィールドは以下のものからなります:
.Pp
.Bd -unfilled -offset indent -compact
サービス名
ソケットタイプ
プロトコル
{wait|nowait}[/最大子プロセス数[/IPあたりの分あたりの最大接続数]]
ユーザ名[:クループ名][/ログインクラス名]
サーバプログラム名
サーバプログラム引数
.Ed
.Pp
.No Tn "ONC RPC"
ベースのサービスを記述する場合には、以下のエントリを記述します。
.Pp
.Bd -unfilled -offset indent -compact
サービス名/バージョン
ソケットタイプ
RPC/プロトコル
ユーザ名
サーバプログラム名
サーバプログラム引数
.Ed
.Pp
.Nm
が起動することのできるサービスは 2 種類あります。
1 つは標準で、もう 1 つは TCPMUX です。
標準サービスには割り当てられた well-known ポートがあります。
これは公式のインターネット標準を実装したサービスや BSD 特有のサービスです。
.Tn RFC 1078
に書かれているように、TCPMUX は非標準サービスであり、
well-known ポートが割り当てられていません。
そういった非標準サービスは、あるプログラムが
.Dq tcpmux
well-known ポートに接続してそのサービス名を指定したとき、
.Nm
によって起動されます。
この機能はローカルに開発されたサーバを追加するときに
便利です。
TCPMUX リクエストが受理されるのは、
TCPMUX ベースのサーバに至るまでにおいて、
マルチプレクササービス自身が有効にされているときのみです。
後述の内部サービスに関する議論を参照してください。
.Pp
.Em サービス名
のエントリには、
.Pa /etc/services
ファイルに記述されているサービス名が記述されます。
.Dq 内部
サービス (後述) については、
名前としてそのサービスのオフィシャル名
(すなわち
.Pa /etc/services
内の最初のエントリ)を指定
.Em しなければなりません。
.No Tn "ONC RPC"
ベースのサービスを指定するためには、このフィールドは
.Pa /etc/rpc
に書かれた有効な RPC サービス名でなければなりません。
.Dq /
の右の部分が RPC のバージョン番号です。バージョン番号は、
数字もしくは、バージョンの幅(レンジ)で指定します。
幅を指定する場合は低い番号から高い番号を指定します。たとえば
.Dq rusers/1-3
のように記述します。
TCPMUX サービスでは、
.Em サービス名
のフィールドは、文字列
.Dq tcpmux
、スラッシュ、そしてローカルに選ばれたサービス名から
なります。
.Pa /etc/services
に書かれたサービス名と
.Dq help
は予約済であり、ローカルなサービス名には使用できません。
TCPMUX サービスのためにユニークな名前をつけるには、
頭に組織名をつけ、末尾にバージョン番号をつけるとよいでしょう。
.Pp
.Em ソケットタイプ
のエントリは、
.Dq stream ,
.Dq dgram ,
.Dq raw ,
.Dq rdm ,
.Dq seqpacket
のいずれかである必要があります。それぞれ、ソケットが
stream,
datagram,
raw,
reliably delivered message,
sequenced packet socket
である場合に対応しています。
TCPMUX サービスは
.Dq stream
を使わなければなりません。
.Pp
.Em プロトコル
のエントリには、
.Pa /etc/protocols
に記述されている有効なプロトコル名が記述されます。
例えば
.Dq tcp
.Dq udp
などです。
サービスが T/TCP 経由で到達可能とするためには、
.Dq tcp/ttcp
を指定する必要があります。
RPC ベースのサービスの場合、
.Dq rpc/tcp
.Dq rpc/udp
のような指定になります。
TCPMUX サービスは
.Dq tcp
を使わなければなりません。
.Pp
.Em wait/nowait
エントリは、
.Nm
によって起動されたサーバがサービスアクセスポイントに
関連付けられたソケットを引き継ぐかどうか、すなわちサーバが終了するまで
.Nm
が新しいサービス要求を監視するのを待つ必要があるか否かを
指定します。
datagram サーバは、特定のサービスアドレスと結び付いた
datagram ソケットで毎回起動されるため、
.Dq wait
を使わなければなりません。こういったサーバは、終了する前に少なくとも
1 データグラムをソケットから読まなければなりません。
もし datagram サーバが相手に接続したときソケットを
開放するなら、
.Nm
はソケットに対するメッセージをさらに受けることができます。
このようなサーバは
.Dq マルチスレッド
サーバと呼ばれます。
サーバはソケットから datagram を 1 つ読み込み、相手に接続する新しい
ソケットをつくります。
サーバは fork() を行い、親プロセス側は終了なければいけません。
これにより
.Nm
は新しいサービス要求をチェックし、新しいサーバを起動することが
できるようになります。
入って来る全ての datagram を処理し、
時間切れまで動作する datagram サーバは、
.Dq シングルスレッド
サーバと呼ばれます。
.Xr comsat 8 ,
.Pq Xr biff 1 ,
.Xr talkd 8
は後者のタイプの datagram サーバの例です。
.Xr tftpd 8
はマルチスレッドで動く datagram サーバの例です。
.Pp
stream ソケットを使うサーバは一般にマルチスレッドで動き
.Dq nowait
エントリを使います。
こういったサーバへの接続要求は
.Nm
で受け付けられ、新たに受理し、クライアントにつながった
ソケットのみがサーバに与えられます。
多くの stream ベースのサービスはこのように行われます。
.Dq wait
エントリを使う stream ベースのサーバは、
サービスのソケットを監視し、少なくとも 1 つの接続要求を受け入れてから
終了しなければなりません。
そういったサーバは通常、時間切れとなるまで、入って来る要求を
受け付け処理します。
TCPMUX サービスは
.Dq nowait
を使わなければなりません。
.Pp
``nowait'' サービスの子プロセス(あるいは ``スレッド'')の最大数は、
``nowait'' キーワードの後に ``/'' と数字を付け加えることで指定できます。
通常(あるいはゼロが指定された場合)、子プロセスの数に制限はありません。
一方、最大数に達すると、それ以降の接続要求は、存在する子プロセスが終了するまで
待ち行列に蓄えられます。これは、``wait'' モードでも同様ですが、通常は
1 (デフォルトの値)以外は意味がありません。
指定した IP アドレスからの 1 分あたりの最大接続数を指定することも可能です。
この場合、``/'' および最大子プロセス数を指定します。
最大値に達っした場合、指定した IP アドレスからの接続は、
この 1 分が経過するまで、落とされます。
.Pp
.Em ユーザ名
エントリには、サーバを実行するユーザ名を書きます。
これによりサーバを root よりも低い権限で実行できます。
オプションの
.Em グループ名
部分は ``:'' で分けられ、
このユーザのデフォルトグループ以外のグループ名を指定可能です。
オプションの
.Em ログインクラス名
部分は ``/'' で分けられ、
デフォルトの ``daemon'' 以外のログインクラス名を指定可能です。
.Pp
.Em サーバプログラム名
のエントリには、ソケットに要求があったとき
.Nm
が起動し、当該エントリのサービスを提供する
サーバプログラムのパス名を指定します。
.Nm
内にすでに実装されているサービスを提供する場合には、サーバプログラムとして
.Dq internal
を指定します。
.Pp
.Em サーバプログラム引数
のエントリは、サーバを起動する際の引数を、サーバプログラムの起動文字列
である argv[0] を含めて記述します。
.Nm
内に実装されているサービスを提供する場合には、サーバプログラム引数
として
.Dq internal
を指定します。
.Pp
.Nm
は、内蔵ルーチンを用いて簡単なサービスを自身で提供します。
これらのサービスとは
.Dq echo ,
.Dq discard ,
.Dq chargen
(文字生成),
.Dq daytime
(人間が読む形式で時間を出力します),
.Dq time
(機械可読形式の時間。1900 年 1 月 1 日 0 時からの経過秒数を出力します)
です。
これらのサービスは TCP と UDP バージョンのいずれでも利用できます。
UDP バージョンは返事のポートとして内部サービスに相当するポートを
要求されたとき、サービスを拒否します。
(これはループ攻撃に対する防護です。リモート IP アドレスは記録されます。)
これらのサービスの詳細については適当な
.Tn RFC
ドキュメントを参照して下さい。
.Pp
TCPMUX のデマルチプレクスサービスもまた内部サービスとして実装されています。
TCPMUX ベースのサービスを動作させるためには、以下の行を
.Pa inetd.conf
に含む必要があります:
.Bd -literal -offset indent
tcpmux stream tcp nowait root internal
.Ed
.Pp
.Fl l
オプションが指定された場合、
.Nm
は、
.Xr accept 2
が終了した時点で、選択されたサービスと要求を発したリモートの IP 番号を
syslog に記録します。
.Pp
.Dv SIGHUP
を受けとると、
.Nm
は、設定ファイルを再度読み込みます。設定ファイルを
再読み込みするとき、サービスを追加、削除、変更できます。
デバッグモードで起動された場合をのぞき、
.Nm
は再設定を容易にするために、プロセス ID を
.Pa /var/run/inetd.pid
に記録します。
.Sh TCPMUX
.Pp
.Tn RFC 1078
は TCPMUX プロトコルについて述べています。
「 TCP クライアントは他のホストに TCP ポート番号 1 で接続します。
クライアントは、サービス名に<CRLF>を付加して送ります。
サービス名は大文字/小文字を区別しません。
サーバは、肯定(+)もしくは否定(\-)を表す 1 文字を返します。
+ あるいは \- のすぐ後にメッセージが続く場合があります。
返答は <CRLF> で終わります。もし返答が肯定で
あれば、選択されたプロトコルが開始されます。
そうでなければ接続は切られます。」
プログラムにはファイルディスクプリタ 0 と 1 で TCP コネクションが
渡されます。
.Pp
TCPMUX サービス名が ``+'' で始まっているとき、
.Nm
は、プログラムに肯定返答(+)を返します。
これによって、
特別なサーバコードを追加することなく
標準入出力を使うプログラムを起動することができます。
.Pp
特別なサービス名である
.Dq help
により、
.Nm
.Pa inetd.conf
にある TCPMUX サービスの一覧を出力します。
.Sh 関連ファイル
.Bl -tag -width /var/run/inetd.pid -compact
.It Pa /etc/inetd.conf
設定ファイル
.It Pa /etc/rpc
サービス名を RPC プログラム番号に変換するテーブル
.It Pa /etc/services
サービス名をポート番号に変換するテーブル
.It Pa /var/run/inetd.pid
現在実行中の
.Nm
の pid
.El
.Sh 使用例
.Pp
次に、いくつかのサービスについて
サービスエントリの
例を挙げておきます。
.Bd -literal
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
ntalk dgram udp wait root /usr/libexec/ntalkd ntalkd
tcpmux/+date stream tcp nowait guest /bin/date date
tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook
rstatd/1-3 dgram rpc/udp wait root /usr/libexec/rpc.rstatd rpc.rstatd
.Ed
.Sh エラーメッセージ
.Nm
サーバは、
.Xr syslog 3
を使ってエラーメッセージを記録します。
重要なエラーメッセージと
その説明は以下の通りです。
.Pp
.Bl -ohang -compact
.It Xo
.Ar service Ns / Ns Ar protocol
.No " server failing (looping), service terminated."
.Xc
直前の 1 分間に、そのサービスについての要求数が制限に達しました。
不完全なプログラムや悪意のあるユーザがシステムを
ハングアップさせないために、このような制限が設けられています。
このメッセージが出力される理由はいくつかあります。
.Bl -enum -offset indent
.It
短時間の間に多くのホストがこのサービスを要求している。
.It
不完全なクライアントプログラムがサービスを
頻繁に要求しすぎている。
.It
悪意あるユーザがあるプログラムを起動し、
サービスが '拒否' されるように攻撃している。
.It
起動されたサービスプログラムにエラーがあり、
クライアントがすぐにリトライを起こしてしまう。
.El
.Pp
.Fl R Ar rate
オプションを使うと、制限を変えることができます。
制限に達したとき、10 分経つとサービスは自動的に
再許可されます。
.Pp
.It Xo
.Ar service Ns / Ns Ar protocol :
.No \&No such user
.Ar user ,
.No service ignored
.Xc
.It Xo
.Ar service Ns / Ns Ar protocol :
.No getpwnam :
.Ar user :
.No \&No such user
.Xc
.Xr passwd 5
データベースに
.Ar user
のエントリーがありません。
最初のメッセージは
.Nm
が設定ファイルを(再度)読み込むときに出されます。
2 つ目のメッセージは、サービスが呼び出されたときに
出されます。
.Pp
.It Xo
.Ar service :
.No can't set uid
.Ar uid
.Xc
.It Xo
.Ar service :
.No can't set gid
.Ar gid
.Xc
.Ar user
フィールドのユーザ ID もしくは グループ IDが
無効です。
.Pp
.It "setsockopt(SO_PRIVSTATE): Operation not supported"
.Nm
はそのソケットに設定されている特権状態を放棄しようとしましたが、
失敗しました。
.El
.Sh 関連項目
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr rpc 5 ,
.Xr services 5 ,
.Xr comsat 8 ,
.Xr fingerd 8 ,
.Xr ftpd 8 ,
.Xr portmap 8 ,
.Xr rexecd 8 ,
.Xr rlogind 8 ,
.Xr rshd 8 ,
.Xr telnetd 8 ,
.Xr tftpd 8 ,
.Sh 歴史
.Nm
コマンドは
.Bx 4.3
から登場しました。
TCPMUX は Mark Lottor によるコードとドキュメントを元にしています。
.Tn "ONC RPC"
ベースのサービスのサポートは、
.Tn SunOS
4.1
が供給されてから、
それにならって作られました。
diff --git a/ja_JP.eucJP/man/man8/init.8 b/ja_JP.eucJP/man/man8/init.8
index da9d3f11e8..0fbb00d6cd 100644
--- a/ja_JP.eucJP/man/man8/init.8
+++ b/ja_JP.eucJP/man/man8/init.8
@@ -1,316 +1,316 @@
.\" Copyright (c) 1980, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Donn Seeley at Berkeley Software Design, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)init.8 8.3 (Berkeley) 4/18/94
-.\" %Id: init.8,v 1.4.2.5 1998/07/17 20:13:23 jkh Exp %
+.\" %Id: init.8,v 1.12 1998/07/06 06:56:07 charnier Exp %
.\" jpman %Id: init.8,v 1.2 1997/05/27 08:12:44 yugawa Stab %
.\"
.Dd April 18, 1994
.Dt INIT 8
.Os BSD 4
.Sh 名称
.Nm init
.Nd プロセス制御の初期化を行う
.Sh 書式
.Nm init
.Sh 解説
.Nm
はブート処理の最後に起動されます。
.Nm
は通常、
.Xr reboot 8
で説明されている自動リブートシーケンスを実行します。それが成功すると、
システムはマルチユーザモードになります。
リブートスクリプトの実行に失敗すると、
.Nm
はスーパユーザが使うシェルを起動してシングルユーザモードを
開始させます。
.Nm
プログラムは、ブートプログラムからのパラメータの指示を受けて、マルチユー
ザモードに移行せず、一般のデーモンを起動することなくシングルユーザモードの
シェルを起動させることができます。
その場合、システムはメンテナンスのためのモードになり、
シェルを抜ける (^D を入力する)ことで
シングルユーザモードからマルチユーザモードになります。
これによって、
.Nm
.Pa /etc/rc
をファストブートモード(ディスクチェック省略)で実行します。
.Pp
もし
.Xr ttys 5
ファイルの
.Em console
のエントリが
``insecure'' にマークされていた場合には、
.Nm
はシングルユーザモードのシェルを起動する前に、スーパユーザのパスワードを
要求します。
パスワードチェックは、
.Em console
が ``secure'' にマークされていればスキップされます。
.Pp
カーネルは 4 種類のセキュリティレベルで走行します。どのスーパーユーザ
プロセスもセキュリティレベルを上げることができますが、レベルを下げることが
できるのは
.Nm
だけです。セキュリティレベルは以下のように定義されます:
.Bl -tag -width flag
.It Ic -1
常に危険なモード \- システムは常にレベル 0 モードで走行します。
これは初期値のデフォルトです。
.It Ic 0
危険なモード \- 変更不可(immutable)フラグや追加のみ(append-only)フラグは
無効にされます。
全てのデバイスは、そのパーミッションに従って読み書きされます。
.It Ic 1
安全なモード \- 変更不可フラグや追加のみのフラグは変更されません。
マウントされたファイルシステムのディスクおよび
.Pa /dev/mem
.Pa /dev/kmem
は read-only となります。
.It Ic 2
安全度の高いモード \- レベル 1 のモードの効果に加え、ディスクは
マウントさていようといまいと、(
.Xr mount 2
を除き) 常に read-only となります。
このレベルは、ファイルシステムをアンマウントして変更を加えることを不可能に
します。また、システムがマルチユーザで走行中に
.Xr newfs 8
を実行することも出来なくなります。
.El
.Pp
初期のセキュリティレベルが -1 だった場合、
.Nm
はセキュリティレベルを変更しません。
それ以外の場合、シングルユーザモードではレベル 0 で、マルチユーザモードでは
レベル 1 で、システムは動作します。マルチユーザモードにおいてレベル 2 で
システムを走らせたい場合は、シングルユーザの状態の間に、つまり、
.Pa /etc/rc
の中で
.Xr sysctl 8
を使って、変数
.Dq kern.securelevel
に必要なセキュリティレベルの値を設定します。
.Pp
マルチユーザモードの場合、
.Nm
.Xr ttys 5
ファイルで指示された端末ポートのためのプロセスを管理します。
.Nm
はこのファイルを読み込み、2 番目のフィールドに指示されたコマンドを
実行します。
そのコマンドは通常、
.Xr getty 8
で、
.Nm getty
はtty をオープン、初期化し、
.Xr login 1
プログラムを実行します。
.Nm login
プログラムは、ユーザがログインするとシェルを起動します。ユーザが
ログアウトするか異常終了するなどして、そのシェルが終了すると、
.Nm
プログラムが起こされ、
.Xr utmp 5
ファイルからユーザを消し、
.Xr wtmp 5
ファイルにログアウトを記録します。
このサイクルは、
.Nm
プログラムがその端末に新しい
.Nm getty
を実行することで繰り返されます。
.Pp
ラインの状態 (on, off, secure, getty, ウインドウの情報) は、
.Xr ttys 5
ファイルを書き換えて
.Dq Li "kill -HUP 1"
によってシグナル
.Dv SIGHUP
.Nm
に送ることで、リブートせずに変更できます。
このシグナルを受け取ると
.Nm
.Xr ttys 5
ファイルを再度読み込みます。
.Xr ttys 5
でラインがオフにされると、
.Nm
はそのラインに関係するセッションの制御プロセスに SIGHUP シグナルを送ります。
オフであったラインが
.Xr ttys 5
ファイルでオンにされると、
.Nm
は新しい
.Nm getty
を起動して、新しいログインを可能にします。
ラインの getty やウインドウフィールドが変更された場合、その変更は現在
のログインセッションが終了するまで有効にはなりません。
(例えば、
.Nm
によって新しいプロセスが起動されるまで有効にならない。)
.Xr ttys 5
中のあるラインをコメントアウトあるいは削除した場合は、
.Nm
はそのラインに関しては何も実行しません。
しかしこの場合、
.Xr ttys 5
ファイルと
.Xr utmp 5
ファイル内の記録情報が一致しなくなるため、試すことはお勧めしません。
.Pp
.Dq Li "kill \-TERM 1"
などによって terminate シグナル
.Pq Dv TERM
を受けると、
.Nm
はマルチユーザモードを終了し、シングルユーザモードに復帰します。
ハードウェアまたはソフトウェアの問題でデッドロックしたプロセスがある場合、
.Xr init
はすべてのプロセスの終了を待たず(これは無限に終らないかも知れません)、
30 秒間でタイムアウトして警告のメッセージを出力します。
.Pp
terminal stop シグナル
.Pq Dv TSTP
を送ると(
.Dq Li "kill \-TSTP 1"
)、
.Nm
は新しい
.Xr getty
を起動するのをやめ、徐々にシステム停止可能な状態にします。
その後、hangup シグナルで完全なマルチユーザモードに戻り、terminate シグナル
でシングルユーザモードに移ります。
この hook は
.Xr reboot 8
.Xr halt 8
で使われています。
.Pp
interrupt シグナル
.Pq Dv INT
を送ると(
.Dq Li "kill \-INT 1"
)、
.Nm
はすべてのプロセスを(デッドロックプロセスを待たずに)終了させ、
リブートを実行します。
この操作は、マシンがハングした時に、カーネルの中から、あるいは、X から、
システムを安全にシャットダウンするのに便利です。
.Pp
マシンをシャットダウンする時、
.Nm
.Pa /etc/rc.shutdown
スクリプトを実行しようとします。
このスクリプトは
.Nm innd
(インターネットニュースサーバ)
のような特定のプログラムを綺麗に終了させるために使用可能です。
.Pp
.Nm
の役割は非常に重要で、もし
.Nm
が死ぬとシステムが自動的にリブートされます。
もしブート時に
.Nm
プログラムを見つけられなければ、システムは以下のようなメッセージを出力
して panic で終了します。
``panic: init died (signal %d, exit %d)''
.Sh 診断
.Bl -diag
.It "getty repeating too quickly on port %s, sleeping"
ラインにサービスを提供するプロセスが、起動されるたびにすぐ終了してしまう。
これは、端末ラインに着信があるかノイズが大きい場合にしばしば起こります。
.Em "init は 10 秒間スリープし、"
.Em "その後、プロセスを開始させようとし続けます。"
.Pp
.It "some processes would not die; ps axl advised."
シャットダウンの際、ハングしていて終了させられないプロセスがあります。
この状態は、通常、デバイスに異常があるときにデバイスドライバではり付い
てしまうことにより起こります。
.El
.Sh 関連ファイル
.Bl -tag -width /var/log/wtmp -compact
.It Pa /dev/console
システムのコンソールデバイス
.It Pa /dev/tty*
.Xr ttys 5
内にある端末ポート
.It Pa /var/run/utmp
現在ログインしているのユーザの情報
.It Pa /var/log/wtmp
すべてのログイン・ログアウトの情報
.It Pa /etc/ttys
端末の初期化情報が書かれたファイル
.It Pa /etc/rc
システム立ち上げ用スクリプト
.It Pa /etc/rc.shutdown
システムシャットダウン用スクリプト
.El
.Sh 関連項目
.Xr kill 1 ,
.Xr login 1 ,
.Xr sh 1 ,
.Xr ttys 5 ,
.Xr crash 8 ,
.Xr getty 8 ,
.Xr halt 8 ,
.Xr rc 8 ,
.Xr reboot 8 ,
.Xr shutdown 8,
.Xr sysctl 8
.Sh 歴史
.Nm
コマンドは
.At v6
から登場しました。
.Sh 注意
.Xr sysctl
を持たないシステムは、セキュリティレベル \-1 で動作します。
.Pp
ブートシーケンスにおいて、セキュリティレベルを 2 に設定するのがあまり
にも早すぎると、
.Xr fsck 8
が一貫性のないファイルシステムを補修することを妨げてしまう可能性が
あります。セキュリティレベル設定を行う場所として適切なところは、
全てのマルチユーザ立ち上げ処理が完了した後である、
.Pa /etc/rc
の末尾です。
diff --git a/ja_JP.eucJP/man/man8/intro.8 b/ja_JP.eucJP/man/man8/intro.8
index c32033fab8..940626668b 100644
--- a/ja_JP.eucJP/man/man8/intro.8
+++ b/ja_JP.eucJP/man/man8/intro.8
@@ -1,70 +1,70 @@
.\" 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.
.\"
.\" @(#)intro.8 8.2 (Berkeley) 12/11/93
+.\" %Id: intro.8,v 1.2 1997/03/07 03:28:20 jmg Exp %
.\" jpman %Id: intro.8,v 1.3 1997/08/20 12:01:36 horikawa Stab %
-.\" %Id: intro.8,v 1.1.1.1.8.1 1997/03/07 04:18:27 mpp Exp %
.\"
.Dd December 11, 1993
.Dt INTRO 8
.Os BSD 4.2
.Sh 名称
.Nm intro
.Nd システムメンテナンスおよび操作コマンドの紹介
.Sh 解説
本セクションにはシステムの操作とメンテナンスに関連した情報が記載されています。
新しいファイルシステムを作成する時に使用する
.Ql Xr newfs ,
ファイルシステムの整合性をチェックする
.Ql Xr fsck ,
ディスクの使用を制限するための
.Ql Xr edquota ,
システムのバックアップを行なう
.Ql Xr dump ,
ディスクの内容が壊れた時にファイルをリカバーする
.Ql Xr restore
について解説されています。
ディスクやテープをフォーマットする場合には、
そのシステムが運用されている特定のアーキテクチャ用の
.Ql Xr format
のマニュアルを参照する必要があります。
.Ql Xr inetd
.Ql Xr ftpd
のようなネットワークに関連したサービスについても解説されています。
システムのクラッシュダンプをどのように解析するかについて理解するには
.Ql Xr crash
のセクションを参照する必要があります。
.Sh 歴史
.Nm intro
セクションのマニュアルページは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/ipfw.8 b/ja_JP.eucJP/man/man8/ipfw.8
index fcb4c37871..c5c067a527 100644
--- a/ja_JP.eucJP/man/man8/ipfw.8
+++ b/ja_JP.eucJP/man/man8/ipfw.8
@@ -1,516 +1,557 @@
.Dd July 20, 1996
.\" jpman %Id: ipfw.8,v 1.4 1997/05/19 17:19:51 horikawa Stab %
.Dt IPFW 8 SMM
.Os FreeBSD
.Sh 名称
.Nm ipfw
.Nd IPファイアウォール制御ユーティリィティ
.Sh 書式
.Nm ipfw
.Oo
.Fl q
.Oc
-.Ar file
+file
.Nm ipfw
.Oo
.Fl f
|
.Fl q
.Oc
flush
.Nm ipfw
.Oo
.Fl q
.Oc
zero
.Op Ar number ...
.Nm ipfw
delete
.Ar number ...
.Nm ipfw
.Op Fl aftN
list
.Op Ar number ...
.Nm ipfw
.Oo
.Fl ftN
.Oc
show
.Op Ar number ...
.Nm ipfw
.Oo
.Fl q
.Oc
add
.Op Ar number
.Ar action
.Op log
.Ar proto
from
.Ar src
to
.Ar dst
.Op via Ar name | ipno
.Op Ar options
.Sh 解説
書式の 1 行目のようにファイル名を指定した場合は、
.Ar file
を 1 行ずつ、引数として読み込みます。
.Pp
.Nm
はパケットごとに、マッチするルールが見つかるまでルールリストを調べます。
各ルールにはパケット数とパケットサイズの 2 つのカウンタが用意されていて、
パケットがマッチするとカウンタ値は更新されます。
.Pp
全ルールは 1 から 65534 の範囲の行番号で順序付けられます。この番号によって
ルールの並べ変えと削除を行ないます。
ルールのマッチングは昇順で行なわれ、最初にマッチしたものが適用されます。
複数のルールが同じ番号を共有することも可能です。この場合はルールが追加された
順序でマッチングが行なわれます。
.Pp
番号を指定せずにルールを追加した場合は、直前のルールの番号に 100 を加えたものと
なります。
-ルールの番号が 65434 より大きい場合は、新しいルールは最後のルールに追加されます
+ルールの番号が 65534 より大きい場合は、新しいルールは最後のルールに追加されます
.Pp
delete 操作は
.Ar number
で指定された番号を持つ最初のルールを、もし有れば、削除します。
.Pp
list 操作は現在のルール一覧を出力します。
.Pp
show 操作は `ipfw -a list' と同じ結果を出力します。
.Pp
zero 操作は
.Ar number
で指定された番号を持つルールのカウンタをクリアします。
.Pp
flush 操作は全ルールを削除します。
.Pp
記号 `#' で始まる行および空行は無視されます。
.Pp
どんな場合でも次のルールは存在します:
.Bd -literal -offset center
65535 deny all from any to any
.Ed
.Pp
全パケットを拒否するのがデフォルトのポリシーです。
これを修正し、必要なルールを設定して下さい。
.Pp
+しかしながら、カーネルオプション
+.Dq IPFIREWALL_DEFAULT_TO_ACCEPT
+が有効な場合、ルールは次のようになります:
+.Bd -literal -offset center
+65535 allow all from any to any
+.Ed
+.Pp
+このバリエーションでは全てが通過可能です。
+このオプションを有効にしてよいのは特定の状況だけであり、
+例えば通常は解放しており、
+必要に応じてサービス拒否 (denial-of-service) フィルタとなる
+ファイアウォールシステムを使用する場合がこれに該当します。
+.Pp
オプションは以下のものが利用可能です。
.Bl -tag -width flag
.It Fl a
list 操作の時、カウンタの値を表示します。
show の項を参照のこと。
.It Fl f
操作を実行する際に確認メッセージを表示しません。
flush 操作も無条件に実行されます。
.Ar (注意)
プロセスに tty が関連付けられていない場合には、
このオプションが指定されているものとして実行されます。
.It Fl q
ルールを add, zero, flush する際に、メッセージの出力を抑制します (
.Fl -f
も含まれます)。
このオプションは、リモートログインセッションでルールを調整する際に、
(例えば sh /etc/rc.firewall のようにして)スクリプトの中から複数の ipfw コマンド
実行する場合や、
多数の ipfw ルールを記述したファイルを用いる場合に
便利です。
-flush 操作が通常の(冗舌な)状態で実行されると、メッセージが出力されます。
+flush 操作が通常の(冗舌な)状態(デフォルトのカーネルの設定)
+で実行されると、メッセージが出力されます。
ここで、すべてのルールは削除されるので、メッセージをログインセッションに
送ることができず、ログインセッションがクローズされてしまうので、
残りのルールセットは実行されません。
この状態を修復するにはコンソールへのアクセスが必要となります。
.It Fl t
list 操作の時に、最後にマッチしたパケットのタイムスタンプを表示します。
.It Fl N
IPアドレスとサービス名をリゾルブしてホスト名で表示します。
.El
.Pp
.Ar action :
.Bl -hang -offset flag -width 1234567890123456
.It Ar allow
マッチするパケットを通過させ、マッチングを終了します。
.Ar pass ,
.Ar permit ,
.Ar accept
と同じです。
.It Ar deny
マッチするパケットを破棄し、マッチングを終了します。
.Ar drop
.Ar deny
と同じです。
.It Ar reject
(パケットを送らないよう嘆願) マッチするパケットを破棄し、
ICMP の host unreachable を送信して、終了します。
.It Ar unreach code
パケットを破棄し、ICMP の unreachable に
.Ar code
を付けて送信します。
.Ar code
は、 0 から 256 までの数字、もしくは、以下に列挙する別名のいずれかです:
.Ar net,
.Ar host ,
.Ar protocol ,
.Ar port ,
.Ar needfrag ,
.Ar srcfail ,
.Ar net-unknown ,
.Ar host-unknown ,
.Ar isolated ,
.Ar net-prohib ,
.Ar host-prohib ,
.Ar tosnet ,
.Ar toshost ,
.Ar filter-prohib ,
.Ar host-precedence ,
.Ar precedence-cutoff
。送信後、終了します。
.It Ar reset
TCP パケットのみに対応。
パケットを破棄し、TCP の (RST) を送信し、終了します。
.It Ar count
マッチするパケットのカウンタを更新し、引続きマッチングを行ないます。
.It Ar divert port
マッチするパケットを
.Ar port
で指定されたポートにバインドされている
.Xr divert 4
ソケットに送り、マッチングを終了します。
.It Ar tee port
マッチするパケットのコピーを
.Ar port
で指定されたポートにバインドされている
.Xr divert 4
ソケットに送り、引続きマッチングを行ないます。
+この機能は未実装です。
+.It Ar fwd ipaddr Op ,port
+マッチしたパケットの次のホップを
+.Ar ipaddr
+に変更します。これはドット付き 4 つ組の IP アドレスでもホスト名でもよいです。
+.Ar ipaddr
+が直接到達可能なアドレスではない場合、その IP に対して
+ローカルルーティングテーブルでみつかる経路を使用します。
+.Ar ipaddr
+がローカルアドレスの場合、
+リモートホストからこのシステムにパケットが到着すると、
+そのパケットをローカルマシンの
+.Ar port
+に転換します。
+その際、
+ソケットのローカルアドレスは、
+パケットの元々の宛先の IP アドレスのままとします。
+これは透過的プロキシサーバのためにあります。
+IP が ローカルアドレスではない場合、ポート番号は (指定されていても) 無視され、
+ルールはシステムから出て行くパケットに対してのみ適用されます。
+また、」
+パケットローカルに生成された時にもアドレスをローカルポートにマップします。
+検索はルールがマッチしたときに終了します。
+ポート番号が与えられなかった場合、パケット中のポート番号が使用され、
+外部マシンのポート Y へのパケットは ローカルポート Y へ転送されます。
+カーネルは、
+オプション IPFIREWALL_FORWARD 付きでコンパイルされている必要があります。
.It Ar skipto number
.Ar number
より小さな番号のルールを飛び越して、
.Ar number
以上の番号のルールで最初に存在するものから、マッチングを継続します。
.El
.Pp
パケットが
.Ar divert
.Ar tee
のどちらかひとつ以上、もしくは両方の組合せの、複数のルールにマッチした場合、
最後のものを除き、無視します。
.Pp
カーネルが
.Dv IPFIREWALL_VERBOSE
オプション付きでコンパイルされている場合に、``log'' が指定されているルールと
マッチした時は、メッセージをコンソールに表示します。
もし、
.Dv IPFIREWALL_VERBOSE_LIMIT
オプション付きでコンパイルされている場合、一連のルールに対し指定されたパケット
数を受信した後、メッセージの表示を中止します。
パケットのカウンタをクリアすれば再びメッセージを出力します。
.Pp
コンソールへの表示とその制限数は、
.Xr sysctl 8
を通し、直接設定できます。
.Pp
.Ar proto :
.Bl -hang -offset flag -width 1234567890123456
.It Ar ip
全パケットがマッチします。別名
.Ar all
も使えます。
.It Ar tcp
TCP パケットのみマッチします。
.It Ar udp
UDP パケットのみマッチします。
.It Ar icmp
ICMP パケットのみマッチします。
.It Ar <number|name>
指定されたプロトコルのパケットのみマッチします (
.Pa /etc/protocols
のリストを参照の事)
.El
.Pp
.Ar src
.Ar dst :
.Pp
.Bl -hang -offset flag
.It Ar <address/mask>
.Op Ar ports
.El
.Pp
.Em <address/mask>
は以下のように指定できます。
.Bl -hang -offset flag -width 1234567890123456
.It Ar ipno
IP番号を 1.2.3.4 の形式で指定します。指定されたアドレスのみがマッチします。
.It Ar ipno/bits
IP番号とネットマスクの幅を 1.2.3.4/24 の形式で指定します。
この場合は 1.2.3.0 から 1.2.3.255 のアドレスがマッチします。
.It Ar ipno:mask
IP番号とネットマスクの幅を 1.2.3.4:255.255.240.0 の形式で指定します。
この場合は 1.2.0.0 から 1.2.15.255 のアドレスがマッチします。
.El
.Pp
アドレスの前に ``not'' を付けることによって、マッチの意味を反転させる
ことができます(指定されたアドレス以外の総てのアドレスがマッチします)。
これはポート番号には影響しません。
.Pp
TCP と UDP ではさらに、
.Em ports
を以下のように指定できます。
.Pp
.Bl -hang -offset flag
.It Ns {port|port-port} Ns Op ,port Ns Op ,...
.El
.Pp
ポート番号の代わりに(ファイル
.Pa /etc/services
から取った)サービス名を使用できます。
port-port の書式で、最初の値に限り範囲指定できます。
列挙出来るポート数は
.Pa /usr/src/sys/netinet/ip_fw.h
.Dv IP_FW_MAX_PORTS
として定義されています。
.Pp
断片化されたパケットでオフセットが非 0 のもの
(すなわち、最初の断片ではないもの) は、
一つ以上のポート仕様を持つルールにはマッチしません。?
断片化されたパケットへのマッチングに関する詳細は
.Ar frag
オプションを参照してください。
.Pp
マッチングのルールは、入ってくるパケットか、出ていくパケット、もしくはその両方
に対し適応されます。
.Ar in
を指定すれば、入ってくるパケットのみにルールを適応します。
.Ar out
を指定すれば、出ていくパケットのみに適応します。
.Pp
特定のインタフェースを通過するパケットには、
.Ar via
を用いてインタフェースを指定します:
.Bl -hang -offset flag -width 1234567890123456
.It Ar via ifX
.Ar ifX
を通過するパケットを指定します。
.It Ar via if*
.Ar ifX
を通過するパケットを指定します。X はいずれかのユニットの番号です。
.It Ar via any
.Em いずれか
のインタフェースを通過するパケットを指定します。
.It Ar via ipno
IP アドレスが
.Ar ipno
のインタフェースを通過するパケットを指定します。
.El
.Pp
.Ar via
を用いると、常時指定されたインタフェースがチェックされます。
.Ar recv
.Ar xmit
を、
.Ar via
の代わりに指定すると、
受信、もしくは送信インタフェースのみが(各々に)チェックされます。
両方を指定すれば、
受信と送信の両方のインタフェースを通るパケットを指定できます。
例 :
.Pp
.Dl "ipfw add 100 deny ip from any to any out recv ed0 xmit ed1"
.Pp
.Ar recv
で指定したインタフェースでは、受信と送信、両方のパケットをチェックできます。
それに対し、
.Ar xmit
で指定したインタフェースでは、送信パケットのみとなります。
それゆえに、
.Ar xmit
を指定すると
.Ar out
が、必須です(
.Ar in
は不可)。
.Ar via
と共に
.Ar xmit
もしくは、
.Ar recv
を指定する事はできません。
.Pp
個々のパケットは、受信用ないし送信用インタフェースを持たないかもしれません。
ローカルホストで発生したパケットには受信用のインタフェースはないし、
ローカルホスト内宛のパケットは、送信用インタフェースが有りません。
.Pp
追加用
.Ar options :
.Bl -hang -offset flag -width 1234567890123456
.It frag
パケットが断片(フラグメント)化されたデータグラムの一部で、かつデータグラムの
先頭の断片でない場合にマッチします。
.Ar frag
を、
.Ar tcpflags
や TCP/UDP ポート仕様と共に使用することはできません。
.It in
ネットワークから受信したパケットのみマッチします。
.It out
ネットワークへ送信するパケットのみマッチします。
.It ipoptions Ar spec
IP ヘッダが、
.Ar spec
に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。
サポートされている IP オプションは
.Ar ssrr
(strict source route),
.Ar lsrr
(loose source route),
.Ar rr
(record packet route),
.Ar ts
(timestamp) です。
``!'' によって、特定のオプションを含めないよう指定できます。
.It established
RST または ACK ビットがセットされているパケットのみマッチします。
このビットがセットされることがあるのは TCP のパケットのみです。
.It setup
SYN ビットがセットされ ACK がセットされていないパケットのみマッチします。
このビットがセットされることがあるのは TCP のパケットのみです。
.It tcpflags Ar spec
TCP ヘッダが
.Ar spec
に指定されたコンマで区切られたフラグのリストを含む場合にのみマッチします。
サポートされているフラグは、
.Ar fin ,
.Ar syn ,
.Ar rst ,
.Ar psh ,
.Ar ack ,
.Ar urg
です。
``!'' によって、特定のフラグを含めないよう指定できます。
.Ar tcpflags
仕様を含むルールは非 0 のオフセットを持つ断片化されたパケットに
マッチすることはありません。
断片化されたパケットに関するマッチについての詳細は
.Ar frag
オプションを参照してください。
.It icmptypes Ar types
ICMP タイプが
.Ar types
で指定されたリスト中に存在する場合にのみ適用されるルールとなります。
リストはレンジの組み合わせでも、各タイプをコンマで区切ったものでもどちらでも
かまいません。
.El
.Sh チェックリスト
ルールを構成する際に考慮すべき重要な点を述べます。
.Bl -bullet -hang -offset flag
.It
かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。
ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。
.It
テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる
のがよいでしょう。
.It
ループバックインタフェースのことを忘れてはなりません。
.El
.Sh 長所
ファイアウォールが常に破棄するパケットが 1 種類あります。
フラグメントオフセットが 1 のフラグメントパケットです。
これはパケットとしては有効なものですが、利用目的はファイアウォールを
かいくぐることしかありません。
.Pp
ネットワーク越しにログインしている場合、LKM 版の
.Nm
をロードすることはそれほど単純なことではありません。
以下のコマンドを奨めます。
.Bd -literal -offset center
modload /lkm/ipfw_mod.o && \e
ipfw add 32000 allow all from any to any
.Ed
.Pp
これに引続き、同じような状況で
.Bd -literal -offset center
ipfw flush
.Ed
.Pp
とするのは良くありません。
.Sh パケットの行き先変更
指定されたポートを見ているソケットは、そのポートへ行き先変更されたパケットを、
全部受けとります。
.Xr divert 4
を参照して下さい。ポートを見ているソケットがない場合やカーネルがパケットの行き
先変更をサポートするようにはコンパイルされていない場合、パケットは破棄されます
.Sh 使用例
次のコマンドは
-.Em hacker.evil.org
+.Em cracker.evil.org
から
.Em wolf.tambov.su
の telnet ポートへ送られる全ての TCP パケットを拒否するルールを追加します。
.Pp
-.Dl ipfw add deny tcp from hacker.evil.org to wolf.tambov.su 23
+.Dl ipfw add deny tcp from cracker.evil.org to wolf.tambov.su 23
.Pp
次のコマンドはネットワーク hackers からホスト my への全てのコネクションを
拒否します。
.Pp
.Dl ipfw add deny all from 123.45.67.0/24 to my.host.org
.Pp
次はカウントされている情報とタイムスタンプを見る例です
.Pp
.Dl ipfw -at l
.Pp
これはタイムスタンプを省略して次のように指定できます。
.Pp
.Dl ipfw -a l
.Pp
次のルールは 192.168.2.0/24 からの全ての受信パケットを、5000番のポートに
行き先変更するものです。
.Pp
.Dl ipfw divert 5000 all from 192.168.2.0/24 to any in
.Sh 関連項目
+.Xr divert 4 ,
.Xr ip 4 ,
.Xr ipfirewall 4 ,
-.Xr divert 4 ,
.Xr protocols 5 ,
.Xr services 5 ,
.Xr reboot 8 ,
-.Xr syslogd 8 ,
-.Xr sysctl 8
+.Xr sysctl 8 ,
+.Xr syslogd 8
.Sh バグ
.Pp
.Em WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!
.Pp
このプログラムはコンピュータをかなり使いにくい状態にしてしまう可能性があります
はじめて使用する時はコンソール上で実行し、理解していない操作は
.Em 絶対に実行しない
ようにして下さい。
.Pp
連続したエントリの操作もしくは追加に際し、サービス名やプロトコル名は使用できま
せん。
.Pp
入ってきたパケットの断片(フラグメント)が
.Ar divert
によって行き先を変更されると、ソケットに配送される前に、組み立て直しをします。
それに対し、
.Ar tee
を経由した断片(フラグメント)は、組み立て直しされません。
.Pp
ポートの別名でダッシュ (-) を含むものは、リストの最初には書けません。
.Sh 作者
.An Ugen J. S. Antsilevich ,
.An Poul-Henning Kamp ,
.An Alex Nash ,
.An Archie Cobbs .
API は
.An Daniel Boulet
が BSDI 向けに記述したコードに基づいています。
.Sh 歴史
.Nm
は、FreeBSD 2.0 で最初に現れました。
diff --git a/ja_JP.eucJP/man/man8/ispcvt.8 b/ja_JP.eucJP/man/man8/ispcvt.8
index 798ef08c45..95e4afcdd2 100644
--- a/ja_JP.eucJP/man/man8/ispcvt.8
+++ b/ja_JP.eucJP/man/man8/ispcvt.8
@@ -1,91 +1,91 @@
.\" Copyright (c) 1992, 1995 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.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Hellmuth Michaelis
.\" 4. The name 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 AUTHORS ``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 AUTHORS 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.
.\"
.\" @(#)ispcvt.1, 3.20, Last Edit-Date: [Tue Apr 4 12:35:54 1995]
.\" jpman %Id: ispcvt.8,v 1.3 1997/09/09 04:05:01 yugawa Stab %
.\"
.Dd April 4, 1995
-.Dt ISPCVT 1
+.Dt ISPCVT 8
.Sh 名称
.Nm ispcvt
.Nd 現在のビデオドライバが pcvt ドライバか否かを確認する
.Sh 書式
.Nm ispcvt
.Op Fl c
.Op Fl d Ar device
.Op Fl v
.Sh 解説
.Nm ispcvt
は、カーネルに組み込まれた現在のビデオドライバが
pcvt ドライバか否かを確認する手段を提供します。
ドライバのメジャー及びマイナリリース番号も確認します。
さらに、
.Nm ispcvt
は、現在実行中のカーネルに組み込まれたドライバをコンパイルした時の、
すべてのコンパイル時オプション
.Dq Ar PCVT_XXXXXX
を表示する事も可能です。
.Pp
オプションは以下の通りです:
.Bl -tag -width Ds
.It Fl d
チェックを行うデバイスを指定します。
.It Fl v
冗長に表示するよう指定します。
成功すると、名前とリビジョンを報告します。
失敗すると、どの比較に失敗したかを報告します。
.It Fl c
現在実行中のカーネルをコンパイルした時の、
.Dq Ar PCVT_XXXXXX
を #define した値を全て表示します。
.Fl v
.Fl c
を共に指定すると、コンパイル時オプションの冗長な一覧を表示します。
.Sh 戻り値
.Bl -tag -width Ds
.Pp
.It Sy 0
ドライバは pcvt であり、メジャー及びマイナ番号が一致
.It Sy 1
open または ioctl システムコールに失敗
.It Sy 2
ドライバの名前が不一致
.It Sy 3
名称は一致、しかしリリースメジャー番号が不一致
.It Sy 4
名称とメジャー番号は一致、しかしマイナ番号が不一致
.It Sy 5
使用方法の誤り
.El
.Pp
.Sh バグ
既知のものは有りません。
.Sh 関連項目
.Xr pcvt 4
diff --git a/ja_JP.eucJP/man/man8/joy.8 b/ja_JP.eucJP/man/man8/joy.8
index c383c27221..98c9f804cc 100644
--- a/ja_JP.eucJP/man/man8/joy.8
+++ b/ja_JP.eucJP/man/man8/joy.8
@@ -1,46 +1,46 @@
.\"
.\" Copyright (c) 1996 Jean-Marc Zucconi <jmz@cabri.obs-besancon.fr>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: joy.8,v 1.1.2.1 1998/03/06 05:27:01 jkh Exp %
+.\" %Id: joy.8,v 1.4 1997/02/22 12:48:18 peter Exp %
.\" jpman %Id: joy.8,v 1.3 1997/07/22 16:48:04 horikawa Stab %
.\"
.Dd March 16, 1996
.Dt JOY 8
.Os FreeBSD
.Sh 名称
.Nm joy
.Nd ジョイスティックドライバのカーネルモジュールを読み込む。
.Sh 書式
.Nm joy
.Sh 解説
.Nm
は、ジョイスティックドライバのカーネルモジュールを読み込みます。
.Sh 関連ファイル
.Bl -tag -width /lkm/joy_mod.o
.It Pa /lkm/joy_mod.o
ジョイスティックの読み込み可能カーネルモジュール
.Sh 関連項目
.Xr joy 4 ,
.Xr lkm 4 ,
.Xr modload 8
diff --git a/ja_JP.eucJP/man/man8/kernbb.8 b/ja_JP.eucJP/man/man8/kernbb.8
index 780fd37e46..bcccbb4c04 100644
--- a/ja_JP.eucJP/man/man8/kernbb.8
+++ b/ja_JP.eucJP/man/man8/kernbb.8
@@ -1,69 +1,69 @@
.\" 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.
.\"
-.\" %Id: kernbb.8,v 1.1.6.4 1998/07/18 11:10:34 jkh Exp %
+.\" %Id: kernbb.8,v 1.7 1997/10/12 11:51:25 max Exp %
.\" jpman %Id: kernbb.8,v 1.3 1997/08/16 13:16:53 horikawa Stab %
.\"
.Dd May 22, 1995
.Dt KERNBB 8
.Os FreeBSD 2.1
.Sh 名称
.Nm kernbb
.Nd カーネルの基本ブロックプロファイルバッファのダンプを生成する
.Sh 書式
.Nm kernbb
.Sh 解説
.Nm kernbb
は、動作中のカーネルの基本ブロックプロファイリングバッファを
ダンプするのに用いられるツールです。
.Pp
動作中のカーネルにおいて、ソースファイルのうちの少なくとも 1 つは
.Fl a
オプション付きでコンパイルされている必要があります。
.Pp
出力形式はアスキーであり、1 行に 1 レコードずつ表示されます。
各レコードは以下のフィールドから成ります: ファイル名、行番号、
手続き名、アドレス、実行回数、基本ブロックのバイト数での長さ、
そして前の 2 つの欄の積です。
.Sh 関連ファイル
.Bl -tag -width /dev/kmemx -compact
.It Pa /kernel
デフォルトのシステム
.It Pa /dev/kmem
デフォルトのメモリ
.El
.Sh 関連項目
.Xr cc 1
.Sh 作者
.Nm
コマンドは
.An Poul-Henning Kamp
がカーネルサポートとともに記述しました。
diff --git a/ja_JP.eucJP/man/man8/kzip.8 b/ja_JP.eucJP/man/man8/kzip.8
index a523065b8a..8a0ea405b4 100644
--- a/ja_JP.eucJP/man/man8/kzip.8
+++ b/ja_JP.eucJP/man/man8/kzip.8
@@ -1,76 +1,76 @@
.\"
.\" Copyright (c) 1996 David E. O'Brien
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: kzip.8,v 1.1.2.2 1998/07/17 04:18:41 jkh Exp %
+.\" %Id: kzip.8,v 1.5 1998/03/23 07:44:18 charnier Exp %
.\" jpman %Id: kzip.8,v 1.3 1997/08/16 13:18:54 horikawa Stab %
.\"
.Dd August 15, 1996
.Os
.Dt KZIP 8
.Sh 名称
.Nm kzip
.Nd カーネルを圧縮する
.Sh 書式
.Nm kzip
.Op Fl v
.Op Fl l Ar loadaddr
.Sh 解説
このプログラムは、
.Xr gzip 1
を用いてカーネルを圧縮し、ディスク容量を節約します。
メモリ上にロードされた後の、メモリ使用量を減らすわけでは有りません。
シンボル情報は全て失われるので、利用法は限られます。
主な利用目的は、インストールフロッピや fixit フロッピ等のための
カーネルを作成することです。
.Pp
次のオプションが利用可能です:
.Bl -tag -width flag
.It Fl v
詳細出力モード。圧縮後のカーネルが使用するメモリ量を報告します。
そのカーネルが 4MB 境界を越えていないことも確認できます。
.It Fl l Ar loadaddr
カーネルをメモリ上にロードするアドレスを指定します。
.Sh 診断
.Nm
ユーティリティは、与えられた引数が不正の場合、終了コード 1 で終了します。
終了コードが 2 である場合は、
.Nm
がカーネルファイルを読めないか、処理できないことを示しています。
.Sh 関連項目
.Xr gzip 1
.\" .Sh 規格
.Sh 歴史
.Nm
コマンドは
.Fx 2.0.5
から登場しました。
Linux から 386BSD を経て取り込まれました。
Linus Torvalds の tools/build.c がベースになっており、
Serge Vakulenko が 386BSD に移植しました。
.Sh 作者
このマニュアルページは
.An David E. O'Brien
が記述しました。
.\" .Sh バグ
diff --git a/ja_JP.eucJP/man/man8/ldconfig.8 b/ja_JP.eucJP/man/man8/ldconfig.8
index 92d4c443f9..af03280fb3 100644
--- a/ja_JP.eucJP/man/man8/ldconfig.8
+++ b/ja_JP.eucJP/man/man8/ldconfig.8
@@ -1,161 +1,161 @@
.\"
.\" 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.
.\"
-.\" %Id: ldconfig.8,v 1.9.2.4 1998/03/03 07:00:19 jkh Exp %
+.\" %Id: ldconfig.8,v 1.15 1998/01/01 02:31:47 alex Exp %
.\" jpman %Id: ldconfig.8,v 1.3 1997/07/22 16:49:42 horikawa Stab %
.\"
.Dd October 3, 1993
.Dt LDCONFIG 8
.Os FreeBSD
.Sh 名称
.Nm ldconfig
.Nd 共有ライブラリのキャッシュを設定する
.Sh 書式
.Nm ldconfig
.Op Fl Rmrsv
.Op Fl f Ar hints_file
.Op Ar directory | file Ar ...
.Sh 解説
.Nm
は、実効時リンカ
.Xr ld.so 1
が、複数のディレクトリから利用可能な共有ライブラリを速く捜し出せるよう
につかわれる
.Dq ヒント
の集合を準備するために使われます。
コマンドは、組み込みのシステムディレクトリと
コマンドラインで指定された任意の
.Ar ディレクトリ
(を指定された順番) で共有ライブラリを探し、
その結果を
.Pa /var/run/ld.so.hints
に保存します。
これは、
.Xr ld.so 1
が要求された共有ライブラリを読み込む際のディレクトリ検索操作
オーバヘッドをあらかじめ払っていることになります。
.Pp
コマンドラインにて指定するファイル名は共有ライブラリを検査するディクトリ
を含むことが期待されます。
各ディレクトリのパス名は改行文字から始まる必要があります。
空行およびコメント文字
.Ql \&#
から始まる行は無視されます。
このファイルの標準の名前は、
.Xr /etc/ld.so.conf.
です。
.Pp
共有ライブラリは、実行されようとするプログラムによって必要とされる
ならば、利用可能なものが自動的に読み込まれることになります。
これは、実行形式に検索パスを保存する必要性を無くします。
.Pp
.Ev LD_LIBRARY_PATH
環境変数は、キャッシュから使用するディレクトリ (や、その順序関係) を
上書きしたり、共有ライブラリを探す追加のディレクトリを
指定するために使われます。
.Ev LD_LIBRARY_PATH
は、共有ライブラリを読み込む必要がある時、
.Xr ld.so 1
によって検索されるディレクトリパスのリストを
コロン
.Sq \:
で区切って指定します。
これは、
.Xr ld 1
における
.Fl L
オプションと、実行時点では等価です。
.Pp
.Nm ldconfig
は典型的にはブート時の手続きのひとつとして実行されます。
.Pp
以下のオプションが
.Nm ldconfig
で認識されます。
.Bl -tag -width indent
.It Fl R
以前に設定したディレクトリを再度検索します。
以前作成したヒントファイルをオープンし、
ヘッダからディレクトリリストを取り出します。
コマンドラインに指定したパス名も処理します。
.It Fl f Ar hints_file
.Pa /var/run/ld.so.hints
の変わりに、
特定のヒントファイルを読み込んだり、更新したり、その両方を
行ったりします。
このオプションは、テストのために提供されています。
.It Fl m
ヒントファイルの内容を指定されたディレクトリで見付かったものに
置き換える代わりに、新しいディレクトリの内容を
.Dq 併合 (merge)
します。
以前の
.Nm
の実行によってヒントファイル内に記録されているディレクトリも、
新しい共有ライブラリのために再び検索されます。
.It Fl r
現在のヒントファイルの中身について、標準出力に表示します。
ヒントファイルは変更されません。
ヒントファイル中のディレクトリリストが組み込まれます。
.It Fl s
共有ライブラリのために、システムの組み込みディレクトリ
.Pq Dq /usr/lib
を検索しません。
.It Fl v
冗長モードに切替えます。
.Sh セキュリティ
.Ev セット uid (set-user-Id)
プログラムのアドレス空間に共有ライブラリを読み込む時には、
特別の注意をしなければなりません。
そのようなプログラムが実行される時はいつでも、
.Nm ld.so
はヒントファイルからだけ共有ライブラリを読み込みます。
特に、
.Ev LD_LIBRARY_PATH
は、ライブラリを探すためには使われません。
したがって、 ldconfig の役割には二つあります。
素早い検索のためにヒント集合を作成することに加えて、
共有オブジェクトが共有ライブラリを安全に読み込むことができる
ディレクトリの集まりを特定することも、その役割です。
.Nm ldconfig
によって特定されたディレクトリ集合は、システム管理者の制御下にあること
が仮定されています。
.Sh 関連ファイル
.Bl -tag -width /var/run/ld.so.hintsxxx -compact
.It Pa /var/run/ld.so.hints
デフォルトの
.Dq ヒント
ファイル。
.Sh 関連項目
.Xr ld 1 ,
.Xr link 5
.Sh 歴史
.Nm
ユーティリティーは SunOS 4.0 ではじめに現れました。
現在の形は、 FreeBSD 1.1 からです。
diff --git a/ja_JP.eucJP/man/man8/linux.8 b/ja_JP.eucJP/man/man8/linux.8
index ad111cd5e3..0341effbf7 100644
--- a/ja_JP.eucJP/man/man8/linux.8
+++ b/ja_JP.eucJP/man/man8/linux.8
@@ -1,45 +1,45 @@
.\"
.\" Copyright (c) 1997
.\" The FreeBSD 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.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: linux.8,v 1.1 1997/01/10 05:48:50 mpp Exp %
+.\" %Id: linux.8,v 1.3 1997/02/22 12:48:26 peter Exp %
.\" jpman %Id: linux.8,v 1.3 1997/07/22 16:50:43 horikawa Stab %
.\"
.Dd January 9, 1997
.Dt LINUX 8
.Os FreeBSD
.Sh 名称
.Nm linux
.Nd Linux エミュレータのカーネルモジュールを読み込む
.Sh 書式
.Nm linux
.Sh 解説
.Nm
は、 Linux エミュレータのカーネルモジュールを読み込みます。
.Sh 関連ファイル
.Bl -tag -width /lkm/linux_mod.o
.It Pa /lkm/linux_mod.o
Linux エミュレータの読み込み可能カーネルモジュール
.Sh 関連項目
.Xr lkm 4 ,
.Xr modload 8
diff --git a/ja_JP.eucJP/man/man8/lptcontrol.8 b/ja_JP.eucJP/man/man8/lptcontrol.8
index c37381da4f..fbeb91dae1 100644
--- a/ja_JP.eucJP/man/man8/lptcontrol.8
+++ b/ja_JP.eucJP/man/man8/lptcontrol.8
@@ -1,78 +1,78 @@
.\"
.\" lptcontrol - a utility for manipulating the lpt driver
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\"
-.\" %Id: lptcontrol.8,v 1.3.2.3 1998/07/18 11:10:46 jkh Exp %
+.\" %Id: lptcontrol.8,v 1.7 1998/03/23 08:23:49 charnier Exp %
.\" jpman %Id: lptcontrol.8,v 1.3 1997/08/16 13:20:55 horikawa Stab %
.Dd September 3, 1994
.Dt LPTCONTROL 8
.Os FreeBSD 2
.Sh 名称
.Nm \&lptcontrol
.Nd lpt プリンタドライバ操作ユーティリティ
.Sh 書式
.Nm \&lptcontrol
.Cm -i
|
.Cm -p
.Op Fl u Ar unit no
.Sh 解説
.Nm
コマンドは、各
.Xr lpt 4
デバイスの割り込み駆動モード/ポーリングモードを設定するのに用いられます。
プリンタが割り込み駆動モード/ポーリングモード間で切り替えられると、
その切り替えは次回デバイスがオープンされたときに有効になります。
.Sh オプション
.TP
以下のコマンドラインオプションがサポートされています:
.Bl -tag -width indent
.It Fl i
割り込み駆動モードにします。
.It Fl p
ポーリングモードにします。
.It Fl u Ar n
.Em n
で指定されたプリンタデバイスのモードを設定します。
.Em n
のデフォルト値は
.Em 0
(つまり
.Pa /dev/lpt0
)です。
.El
.Pp
.Fl i
または
.Fl p
のいずれか一方を必ず指定しなければなりません。
.Pp
.Sh 関連ファイル
.Bl -tag -width /sys/i386/conf/GENERIC -compact
.It Pa /dev/lpt?
プリンタデバイス。
.It Pa /dev/lpctl?
プリンタ制御デバイス。
.It Pa /sys/i386/conf/GENERIC
カーネル設定ファイル。
.El
.Sh バグ
きっといくつかあるでしょう。
.Sh 関連項目
.Xr lpt 4
.Sh 作者
.An Geoffrey M. Rehmet
.Sh 歴史
.Nm
.Fx 1.1.5
で初めて登場しました。
diff --git a/ja_JP.eucJP/man/man8/mail.local.8 b/ja_JP.eucJP/man/man8/mail.local.8
index 684a2a216b..b9c11db8cc 100644
--- a/ja_JP.eucJP/man/man8/mail.local.8
+++ b/ja_JP.eucJP/man/man8/mail.local.8
@@ -1,114 +1,103 @@
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
.\" 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.
+.\" 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.
.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
.\"
-.\" @(#)mail.local.8 8.2 (Berkeley) 12/11/93
-.\" %Id: mail.local.8,v 1.4.2.1 1998/02/20 17:32:25 jkh Exp %
+.\" @(#)mail.local.8 8.7 (Berkeley) 5/19/98
.\" jpman %Id: mail.local.8,v 1.2 1997/03/31 13:35:26 horikawa Stab %
.\"
-.Dd December 11, 1993
+.Dd May 19, 1998
.Dt MAIL.LOCAL 8
.Os
.Sh 名称
.Nm mail.local
.Nd メールボックスにメールを格納する
.Sh 書式
.Nm mail.local
.Op Fl f Ar from
.Op Fl b
+.Op Fl s
.Ar user ...
.Sh 解説
.Nm mail.local
は EOF がくるまで標準入力から読み込みを行い、
それらを各
.Ar user
.Pa mail
ファイルに追加します。
.Ar user
は、有効なユーザ名でなければなりません。
.Pp
オプション:
.Bl -tag -width xxxfrom
.It Fl f Ar from
送り手の名前を指定します。
.It Fl b
.Dq biff
サービスに通知する事をやめます。
+.It Fl s
+.Dq success
+状態を返す前にメールボックスをディスクにコミットするために使用する、
+.Xr fsync 2
+呼び出しを無効にします。
.El
.Pp
メールボックスのなかの個々のメッセージは、
空行に続く
``From ''
という文字列からはじまる行によって区切られます。
``From'' という文字列、送り手 (sender) の名前、
時刻 (time stamp) を含む行が配送されたメールそれぞれに
付加されます。
空行がそれぞれのメッセージに追加されます。
大なり記号
(``>'') は ``From '' によって誤って別のメッセージとして処理
-される可能性のある行の行頭に付加されます。
+される可能性のある行の行頭に付加されます
+(それは、空白行に続く行で ``From '' という 5 文字で始まる行です)。
.Pp
メールファイルはメールが追加されている間は
.Xr flock 2
によって排他的にロックされます。
+メールボックスがロックされている間、
+.Pa user.lock
+が作成されますが、これは古い MUA との互換性のためです。
.Pp
.Xr getservbyname 3
が ``biff'' を返すと、
biff サーバにメールの配送が伝えられます。
.Pp
.Nm mail.local
は成功すれば 0 を、失敗すれば 0 より大きな値を返します。
.Sh 環境変数
.Bl -tag -width indent
.It Ev TZ
タイムスタンプを記録する際に適切なタイムゾーンを設定します。
.El
.Sh 関連ファイル
-.Bl -tag -width /var/tmp/local.XXXXXX -compact
-.It Pa /var/tmp/local.XXXXXX
+.Bl -tag -width /tmp/local.XXXXXX -compact
+.It Pa /tmp/local.XXXXXX
テンポラリファイル
.It Pa /var/mail/user
ユーザのメールボックスディレクトリ
+.It Pa /var/mail/user.lock
+ユーザメールボックスのロックファイル
.El
.Sh 関連項目
.Xr mail 1 ,
.Xr flock 2 ,
.Xr getservbyname 3 ,
.Xr comsat 8 ,
.Xr sendmail 8
.Sh 歴史
スーパセットの
.Nm mail.local
(メールボックスを読む際、配送時と同様に扱います) は
.At v7
から、
.Nm mail
として現れました。
diff --git a/ja_JP.eucJP/man/man8/mailstats.8 b/ja_JP.eucJP/man/man8/mailstats.8
index 92733aec08..c218986b34 100644
--- a/ja_JP.eucJP/man/man8/mailstats.8
+++ b/ja_JP.eucJP/man/man8/mailstats.8
@@ -1,82 +1,88 @@
-.\"/*
-.\" * Copyright (c) 1996 John M. Vinopal
-.\" * 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 for the NetBSD Project
-.\" * by John M. Vinopal.
-.\" * 4. The name of the author may not be used to endorse or promote products
-.\" * derived from this software without specific prior written permission.
-.\" *
-.\" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-.\" * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-.\" * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-.\" * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-.\" * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-.\" * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-.\" * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-.\" * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-.\" * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" * SUCH DAMAGE.
-.\" */
-.\" %Id: mailstats.8,v 1.2.2.4 1997/11/10 03:00:05 peter Exp %
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" @(#)mailstats.8 8.5 (Berkeley) 5/19/98
+.\"
+.Dd April 25, 1996
+.Dt MAILSTATS 1
+.Os BSD 3
.\" jpman %Id: mailstats.8,v 1.2 1997/05/21 07:42:38 yugawa Stab %
.Dd August 13, 1996
.Dt MAILSTATS 8
.Os
.Sh 名称
.Nm mailstats
-.Nd sendmail の利用統計を表示する
+.Nd メールの統計情報を表示する
.Sh 書式
.Nm mailstats
.Op Fl o
-.Op Fl C Ar sendmail.cf
-.Op Fl f Ar sendmail.st
+.Op Fl C Ar cffile
+.Op Fl f Ar stfile
.Sh 解説
.Nm mailstats
-は、sendmail を利用したメッセージのサイズなどの
-統計情報をメーラ毎に表示します。
-出力の各行は、
-.Fl o
-フラグが指定された場合を除き、
-メーラ番号、受け取ったメール数、受け取ったバイト数、
-送ったメール数、送ったバイト数、メーラの種類から構成されています。
-メーラの一般的な物には smtp や local (例えば、
-.Nm mail.local
-等のローカルに配送されるメールを処理するプログラム) があります。
+は、現在のメールの統計情報を表示します。
.Pp
-統計情報は
+まず、統計が開始された時刻が
+.Xr ctime 3
+で指定されるフォーマットで表示されます。
+次に、各メーラの状態が 1 行で表示されます。
+それぞれ空白で区切られた次のフィールドからなります:
+.Pp
+.Bl -tag -width 10n -offset indent -compact
+.It Sy M
+メーラ番号。
+.It Sy msgsfr
+メーラからのメッセージ数。
+.It Sy bytes_from
+メーラからのキロバイト数。
+.It Sy msgsto
+メーラへのメッセージ数。
+.It Sy bytes_to
+メーラへのキロバイト数。
+.It Sy Mailer
+メーラ名。
+.El
+.Pp
+この表示の後、
+すべてのメーラの総計行が表示されますが、
+等号
+.Pq Dq \&=
+文字のみからなる行によりその前の情報と分けられます。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width Ds
+.It Fl C
+デフォルトの
+.Nm sendmail
+.Dq cf
+ファイルの代りに指定されたファイルを読みます。
+.It Fl f
.Nm sendmail
-統計ファイル
-.Ar sendmail.st
-から読み込まれます。
-.Ar sendmail.st
-の場所は
-.Ar sendmail.cf
-で定義されていますが、
-.Fl f
-フラグで指定することもできます。
-同様に、メーラの種類も
-.Ar sendmail.cf
-で定義されています。統計情報は、累積されていきます。情報をリセットするには
-統計ファイルの内容を消す必要があります。
+.Dq cf
+ファイルで指定されている統計情報ファイルの代りに、
+指定された統計情報ファイルを読みます。
+.It Fl o
+出力においてメーラ名を表示しません。
+.El
+.Pp
+.Nm mailstats
+は成功時には 0 で、エラー時には >0 で終了します。
.Sh 関連ファイル
.Bl -tag -width /var/log/sendmail.st -compact
.It Pa /etc/sendmail.cf
-sendmail 設定ファイル
+デフォルトの
+.Nm sendmail
+.Dq cf
+ファイル
.It Pa /var/log/sendmail.st
-メール統計情報データベース
+デフォルトの
+.Nm sendmail
+統計情報ファイル
.El
.Sh 関連項目
-.Xr mail.local 8 ,
+.Xr mailq.1 ,
.Xr sendmail 8
diff --git a/ja_JP.eucJP/man/man8/makekey.8 b/ja_JP.eucJP/man/man8/makekey.8
index bc4ac02327..4f87fc1da4 100644
--- a/ja_JP.eucJP/man/man8/makekey.8
+++ b/ja_JP.eucJP/man/man8/makekey.8
@@ -1,60 +1,60 @@
.\" 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 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.
.\"
.\" @(#)makekey.8 8.2 (Berkeley) 12/11/93
-.\" %Id: makekey.8,v 1.5.2.1 1997/12/15 07:13:45 charnier Exp %
+.\" %Id: makekey.8,v 1.8 1997/11/24 07:29:12 charnier Exp %
.\" jpman %Id: makekey.8,v 1.2 1997/05/21 07:56:47 yugawa Stab %
.\"
.Dd December 11, 1993
.Dt MAKEKEY 8
.Os
.Sh 名称
.Nm makekey
.Nd 暗号キーやパスワードを作成する
.Sh 書式
.Nm makekey
.Sh 解説
.Nm makekey
は標準入力から読み込んだキーと隠しキー (salt) を暗号化し、
結果を標準出力へ書き込みます。
キーは 8 バイト、隠しキーは 2 バイトであること期待されます。
キーと隠しキーはどんな文字を含んでよいか、
どうやって暗号化計算が行なわれるか、の詳しい情報は
.Xr crypt 3
を参照のこと。
.Sh 関連項目
.Xr login 1 ,
.Xr crypt 3
.Sh 歴史
.Nm
コマンドは
.At v7
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/makemap.8 b/ja_JP.eucJP/man/man8/makemap.8
index d809083fd2..daee6c1071 100644
--- a/ja_JP.eucJP/man/man8/makemap.8
+++ b/ja_JP.eucJP/man/man8/makemap.8
@@ -1,218 +1,117 @@
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)makemap.8 8.4 (Berkeley) 7/23/97
+.\" @(#)makemap.8 8.10 (Berkeley) 5/19/98
.\" jpman %Id: makemap.8,v 1.3 1997/07/26 21:58:03 horikawa Stab %
.\"
.Dd November 16, 1992
.Dt MAKEMAP 8
.Os BSD 4.4
.Sh 名称
.Nm makemap
.Nd sendmail 用のデータベースマップを作成する
.Sh 書式
.Nm makemap
.Op Fl N
.Op Fl d
.Op Fl f
.Op Fl o
.Op Fl r
+.Op Fl s
.Op Fl v
.Ar maptype
.Ar mapname
.Sh 解説
.Nm
は、
.Xr sendmail 8
がキー付きマップを検索する際に用いるデータベースマップを作成します。
これは標準入力から読み込みを行い、指定された
.Ar mapname
に出力を行います。
.Pp
コンパイル方法に依存しますが、
.Nm
は最大 3 種類のデータベースフォーマットを扱います。
扱うフォーマットは
.Ar maptype
で指定します。
.Ar maptype
には、以下のようなものがあります。
.Pp
.Bl -tag -width Fl
.It Li dbm
.Tn DBM
フォーマットマップ。
.Xr ndbm 3
ライブラリが必要です。
.It Li btree
B-Treeフォーマットマップ。
-新しい Berkeley
-.Xr db 3
+新しい Berkeley DB
ライブラリが必要です。
.It Li hash
ハッシュフォーマットマップ。
同じく
-.Xr db 3
+Berkeley DB
ライブラリが必要です。
.El
.Pp
すべてのフォーマットで、
.Nm makemap
は標準入力から空白文字で区切られた 2 つの単語を読み込みます。
最初の単語はデータベースキーで、2番目の単語がその値です。
値が
``%\fIn\fP''
.Pf ( Ar n
は数字)という文字列を含んでいると、sendmail がパラメータ置換を行います。
.Dq %
という文字を含めるには、``%%'' とする必要があります。
空行や ``#'' から始まる行は無視されます。
.Pp
.Ss フラグ
.Bl -tag -width Fl
.It Fl N
文字列の終端記号として、ヌル文字もマップに含めます。
これは、sendmail.cf の ``K'' 行における \-N フラグと一致していなければ
なりません。
.It Fl d
マップ中に重複するキーが存在することを許します。
B-Treeフォーマットマップでのみ可能です。
2 つの同じキーが読まれた場合、両方ともマップに挿入されます。
.It Fl f
通常、キーのなかのすべての大文字(upper case)は、
すべて小文字(lower case)として記録されますが、
このフラグを指定することによってこの動作を行わないように指定できます。
これは、sendmail.cf 中の
\fBK\fP
行における
\-f フラグと一致していなければなりません。
.It Fl o
すでにあるファイルに追加が行われます。
すでに存在するファイルを引数として指定することができます。
.It Fl r
すでに存在しているキーを置き換えます。
通常はすでに入力したキーをさらに繰り返して入力しても、
.Nm
は警告を出力し、データベースには取り込みません。
+.It Fl s
+生成されるマップの安全チェックを無視します。
+これには、
+だれでも書き込めるディレクトリへのハードリンクおよびシンボリックのチェックも
+含まれます。
.It Fl v
処理の内容を詳細に表示します。
.El
-.\" この部分の動作確認を FreeBSD2.1.0R にて行なっています。
-.\" Noritaka Ishizumi <graphite@jp.freebsd.org>
-このプログラムは、
-.Pa sendmail.cf
-を作成する際に、キー付きマップを使用する
-場合に役に立ちます。
-.Pp
-FreeBSD で使われている
-.Xr sendmail 8
-はV8ですから、
-.Pa sendmail.cf
-を作成
-するには、
-.Nm cf
-(日本では CF と表記されるバージョンがある(CF-3.4W2.tar.gz))を使います。
-.Ss 使用例
-.Pa /usr/src/usr.sbin/sendmail/cf/cf
-に
-.Pa .mc
-(マスターコンフィギュレーションファイル)があります。このディレクトリで、
-各自のマシンにあわせた設定を
-.Pa yourhost.mc
-に行い、``make yourhost.cf''
-とすることで
-.Pa yourhost.cf
-が作成されます。これを
-.Pa /etc/sendmail.cf
-などにコピーして使用します(実際に使用する前に、
-.Dq sendmail -bt -C./yourhoust.cf
-などを実行して
-.Pa yourhost.cf
-が正しく作成されているかどうかをチェックしてください)。
-.Pp
-ホスト名だけの名前から、ドメイン名付きの名前へマッピングを
-.Nm sendmail
-に提供する
-方法の記述例を示します。
-.Pa yourhost.mc
-に以下の記述を含めてください。
-.Pp
-.Bd -literal -offset indent
-LOCAL_RULE_3
-R$* < @ $+ > $* $: $1 < @ $(hostmap $2 $) > $3
-.Ed
-.Pp
-ここで、ローカルルールを定義しています。この内容はヘッダにも反映されます。
-さらに、
-.Pp
-.Bd -literal -offset indent
-LOCAL_CONFIG
-Khostmap hash /etc/hostmap.db
-Kyplocal nis -m hosts.byname
-.Ed
-.Pp
-という記述を加えてください。1行目は、以下の設定がローカルな設定であることを
-示しています。2行目が
-.Nm makemap
-を必要とする例です。3行目は、ホスト名の
-マッピングを
-.Tn NIS
-からとってきます。
-.Pp
-この設定を利用した
-.Pa sendmail.cf
-を実際に使うには、
-.Pa /etc/hostmap.db
-を作成する必要があります。
-.Pp
-.Bd -literal -offset indent
-mercury% cd /etc
-mercury% makemap hash hostmap
-moon moon.silver-castle.millennium <- もちろん架空のドメインです
-^D <- コントロール D(EOF文字)
-.Ed
-.Pp
-これによって、たとえば、
-.Dq tsukino@moon
-は
-.Dq tsukino@moon.silver-castle.millennium
-に変換されます。実際の使い方は、
-.Pa .mc
-ファイルの設定によって変化します。
-.Pa sendmail/cf/README
-などを参照してください。
.Sh 関連項目
.Xr sendmail 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/makewhatis.local.8 b/ja_JP.eucJP/man/man8/makewhatis.local.8
index 74809c5ef6..6153590a6f 100644
--- a/ja_JP.eucJP/man/man8/makewhatis.local.8
+++ b/ja_JP.eucJP/man/man8/makewhatis.local.8
@@ -1,71 +1,71 @@
.\" Copyright (c) April 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: makewhatis.local.8,v 1.2.2.1 1996/12/10 17:23:18 joerg Exp %
+.\" %Id: makewhatis.local.8,v 1.6 1997/06/23 04:51:30 steve Exp %
.\" jpman %Id: makewhatis.local.8,v 1.3 1997/09/09 03:59:22 yugawa Stab %
-.Dd April, 26, 1996
+.Dd April 26, 1996
.Dt MAKEWHATIS.LOCAL 8
.Os FreeBSD 2.2
.Sh 名称
.Nm makewhatis.local , catman.local
.Nd ローカルファイルシステムに対して makewhatis を開始する
.Sh 書式
.Nm /usr/libexec/makewhatis.local
.Op options
.Ar directories ...
.Nm /usr/libexec/catman.local
.Op options
.Ar directories ...
.Sh 解説
.Nm
.Xr makewhatis 1
を開始しますが、
.Nm
が実行されるシステムに物理的にマウントされているファイルシステムだけを
対象とします。
読み書き可能な NFS マウントされた /usr ディレクトリに対し
.Pa /etc/weekly
から makewhatis を起動すると NFS サーバを殺してしまうでしょう --
すべての NFS クライアントが makewhatis を同時に開始してしまうからです!
ですから、
.Xr cron 8
へのラッパにこのプログラムを使用し、直接 makewhatis を呼ばないで下さい。
.Sh 関連ファイル
.Bl -tag -width /etc/weekly.XXX -compact
.It Pa /etc/weekly
毎週
.Nm
を実行します。
.El
.Sh 関連項目
.Xr catman 1 ,
.Xr find 1 ,
.Xr makewhatis 1 ,
.Xr cron 8 .
.Sh 歴史
.Nm
コマンドは
.Fx 2.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/man8.i386/apm.8 b/ja_JP.eucJP/man/man8/man8.i386/apm.8
index c691043a89..b5278aea36 100644
--- a/ja_JP.eucJP/man/man8/man8.i386/apm.8
+++ b/ja_JP.eucJP/man/man8/man8.i386/apm.8
@@ -1,105 +1,110 @@
.\" LP (Laptop Package)
.\"
-.\" Copyright (c) 1994 by HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>
+.\" Copyright (c) 1994 by Tatsumi Hosokawa <hosokawa@jp.FreeBSD.org>
.\"
.\" This software may be used, modified, copied, and distributed, in
.\" both source and binary form provided that the above copyright and
.\" these terms are retained. Under no circumstances is the author
.\" responsible for the proper functioning of this software, nor does
.\" the author assume any responsibility for damages incurred with its
.\" use.
.\" jpman %Id: apm.8,v 1.4 1997/07/26 21:52:01 horikawa Stab %
.Dd November 1, 1994
.Dt APM 8
.Os
.Sh 名称
.Nm apm, zzz
.Nd APM BIOS の制御を行い、その情報を表示する
.Sh 書式
.Nm apm
-.Op Fl ablsz
+.Op Fl ablstz
.Op Fl d Ar 1|0
.Pp
.Nm zzz
.Sh 解説
.Nm apm
は、 Intel / Microsoft APM (Advanced Power Management) BIOS を制御し、
ラップトップ PC 上の APM の現在の状態を表示します。
.Nm zzz
は、 APM 制御によって、システムをサスペンドします。
.Pp
以下のオプションが
.Nm apm
で利用可能です
(
.Nm zzz
には、オプションはありません)。
オプションが与えられなかった場合は、
.Nm apm
は、現在の APM の状態や情報を冗長モードで表示します。
+複数の表示オプションが指定された場合、
+ここに示す順番で値を 1 行に 1 つずつ表示します。
.Bl -tag -width indent
.It Fl a
現在の AC 電源の状態を整数値で表示します。
0, 1がそれぞれ
.Dq 外れている (off-line)
状態と
.Dq つながっている (on-line)
状態をあらわします。
.It Fl b
整数値で、現在のバッテリ状態を表示します。
0, 1, 2, 3という値はそれぞれ、
.Dq 良好 (high)
状態、
.Dq 低バッテリ (low)
状態、
.Dq 危険 (critical)
状態、
.Dq 充電 (charging)
状態をあらわします。
.It Fl d
通常のサスペンドとディスプレイのサスペンドを別に扱わない/別に扱うを、
それぞれ
.Ar 1
.Ar 0
で制御します。
.It Fl l
現在のバッテリの残り割合を表示します。
もし、あなたのラップトップがこの機能を提供していない時には、
255 が表示されます。
.It Fl s
APM サポート状態を整数値で表示します。0, 1 という値はそれぞれ、
.Dq 利用不可 (disabled)
状態
.Dq 利用可能 (enabled)
状態
をあらわします。
+.It Fl t
+残りのバッテリ時間を予測して、秒単位で表示します。
+分からない場合には -1 を表示します。
.It Fl z
システムをサスペンドします。これは、
.Nm zzz
と等価です。
.El
.Sh バグ
いくつかの APM 実装では、
.Nm apm
が必要とするパラメータが提供されていません。
そのようなシステムに於いては、
.Nm apm
は、それらを知らないと表示します。
.Pp
いくつかの APM 実装では、電源スイッチを押したことやカバーが
閉められたことなどのイベントを扱うことができません。
そのような実装に於いては、
システムは
.Nm apm
.Nm zzz
.Ar だけを
つかってサスペンドする
.Ar べき
です。
.Sh 関連項目
.Xr apm 4 ,
.Xr apmconf 8
.Sh 作者
-細川 達己<hosokawa@mt.cs.keio.ac.jp> ( 慶応大学, 日本 )
+.An Tatsumi Hosokawa Aq hosokawa@jp.FreeBSD.org
diff --git a/ja_JP.eucJP/man/man8/manctl.8 b/ja_JP.eucJP/man/man8/manctl.8
index d79479bf09..896018e459 100644
--- a/ja_JP.eucJP/man/man8/manctl.8
+++ b/ja_JP.eucJP/man/man8/manctl.8
@@ -1,59 +1,56 @@
.\" Copyright (c) 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: manctl.8,v 1.3.2.3 1998/03/09 13:51:08 jkh Exp %
+.\" %Id: manctl.8,v 1.7 1997/09/25 06:38:17 charnier Exp %
.\" jpman %Id: manctl.8,v 1.3 1997/08/16 13:22:57 horikawa Stab %
-
.Dd January 1, 1996
.Dt MANCTL 8
.Os FreeBSD
-
.Sh 名称
.Nm manctl
.Nd マニュアルページの取り扱い
-
.Sh 書式
.Nm manctl
.Op Fl compress
.Op Fl uncompress
.Op Fl purge
.Op Fl help
.Ar path ...
.Sh 解説
.Nm manctl
はディレクトリパスにあるマニュアルページを圧縮あるいは圧縮解凍します。
可能なら、.so マクロはハードリンクで置き換えられます。
.Sh オプション
.Bl -tag -width -indent
.It Fl help
オプション一覧を表示して終了します。
.It Fl compress
非圧縮マニュアルページを圧縮します(.so は除去します)。
.It Fl uncompress
圧縮マニュアルページを解凍します。
.It Fl purge
フォーマット済の古いマニュアルページを一掃します(未実装)。
.Sh 関連項目
.Xr catman 1 ,
.Xr man 1
diff --git a/ja_JP.eucJP/man/man8/map-mbone.8 b/ja_JP.eucJP/man/man8/map-mbone.8
index 7c801e96cc..e7ffb8a71a 100644
--- a/ja_JP.eucJP/man/man8/map-mbone.8
+++ b/ja_JP.eucJP/man/man8/map-mbone.8
@@ -1,98 +1,87 @@
-.TH MAP-MBONE 8
+.Dd May 8, 1995
+.Dt MAP-MBONE 8
.\" jpman %Id: map-mbone.8,v 1.2 1997/06/06 10:31:25 bobson Stab %
-.UC 5
-.SH 名称
-map-mbone \- マルチキャストコネクションマップを表示する
-.SH 書式
-.B /usr/sbin/map-mbone
-[
-.B \-d
-.I debug_level
-] [
-.B \-f
-] [
-.B \-g
-] [
-.B \-n
-] [
-.B \-r
-.I retry_count
-] [
-.B \-t
-.I timeout_count
-] [
-.B starting_router
-]
-.SH 解説
-.I map-mbone
+.Sh 名称
+.Nm map-mbone
+.Nd マルチキャストコネクションマッパ
+.Sh 書式
+.Nm map-mbone
+.Op Fl d Ar debug_level
+.Op Fl f
+.Op Fl g
+.Op Fl n
+.Op Fl r Ar retry_count
+.Op Fl t Ar timeout_count
+.Op Ar starting_router
+.Sh 解説
+.Nm
は、
-.I starting_router
+.Ar starting_router
で指定したマルチキャストルータから到達可能なすべてのマルチキャストルータに
ついて表示します。
コマンドラインに何の指定もない場合、デフォルトのマルチキャストルータ
-.I starting_router
+.Ar starting_router
は、ローカルホスト(localhost)になります。
-.PP
-.I map-mbone
+.Pp
+.Nm
は、ASK_NEIGHBORS IGMP メッセージを送信することで、
隣接するマルチキャストルータのデータ取得を行ないます。
指定したマルチキャストルータからの応答があった場合には、
その応答の中にあるバージョン番号と隣接するマルチキャストルータのアドレス一覧が
出力されます。応答したルータが、
最新のマルチキャストバージョン番号を持つ場合には、
-.I map-mbone
+.Nm
は、そのルータに対してメトリック、スレッショルド、フラグのような追加情報を
要求します。
隣接するマルチキャストルータに新たな事象が発生し、フルーディングオプションが
使用可能な場合、
-.I map-mbone
+.Nm
は、隣接するそれらのマルチキャストルータそれぞれに対して新たな情報を求めます。
また、マルチキャストルータの検索は、マルチキャストルータが
それ以上みつからないという状態になるまで継続します。
-.br
-.ne 5
-.SH オプション
-.PP
-"\-d" オプションは、デバッグレベルを設定します。デバッグレベルが
+以下のオプションを使用可能です。
+.Bl -tag -width indent
+.It Fl d
+デバッグレベルを設定します。デバッグレベルが
デフォルトレベルである 0 よりも大きい場合、追加デバッグメッセージが画面に
出力されます。デバッグレベルにかかわらず、エラーについてはエラーメッセージが
出力され、
-.I map-mbone
+.Nm
は終了します。
デバッグレベルが 0 でない場合、以下の効果があります。
-.IP "level 1"
+.Bl -tag -width indent
+.It "level 1"
パケットの警告が標準エラー出力に対して出力されます。
-.IP "level 2"
+.It "level 2"
すべてのレベル 1 のメッセージに加えて、ネットワークダウンの情報が
標準エラー出力に対して出力されます。
-.IP "level 3"
+.It "level 3"
すべてのレベル 2 のメッセージに加えて、すべてのパケットタイムアウトの情報が
標準エラー出力に対して出力されます。
-.PP
-"\-f" オプションは、フルーディングオプションを設定します。フルーディング
+.El
+.It Fl f
+フルーディングオプションを設定します。フルーディング
オプションを有効にすることで、再帰的に隣接するマルチキャストルータを検索
することを許可します。そして、starting_router が指定されない場合には、
このオプションはデフォルトでは有効になっています。
-.PP
-"\-g" オプションは、GraphEdフォーマットにしたがったグラフ出力を有効にします。
-.PP
-"\-n" オプションは、マルチキャストルータの名前の検索に DNS を使わないように
+.It Fl g
+GraphEdフォーマットにしたがったグラフ出力を有効にします。
+.It Fl n
+マルチキャストルータの名前の検索に DNS を使わないように
設定します。
-.PP
-"\-r retry_count" オプションは、隣接ルータに対するリトライ制限を設定します。
+.It Fl r Ar retry_count
+隣接ルータに対するリトライ制限を設定します。
デフォルトではリトライ回数は 1 です。
-.PP
-"\-t timeout_count" オプションは、リトライ間隔を秒単位で設定します。
+.It Fl t Ar timeout_count
+リトライ間隔を秒単位で設定します。
デフォルトのリトライ間隔は 2 秒です。
-.PP
-.SH 注意
-.I map-mbone
+.El
+.Sh 注意
+.Nm
は root のみ実行可能です。
-.PP
-.SH 関連項目
-.BR mrouted (8) ,
-.BR mrinfo (8) ,
-.BR mtrace (8)
-.PP
-.SH 作者
-Pavel Curtis
+.Sh SEE ALSO
+.Xr mrouted 8 ,
+.Xr mrinfo 8 ,
+.Xr mtrace 8
+.Sh 作者
+.An Pavel Curtis
diff --git a/ja_JP.eucJP/man/man8/mknetid.8 b/ja_JP.eucJP/man/man8/mknetid.8
index fc936a7ce8..6bbbf411e4 100644
--- a/ja_JP.eucJP/man/man8/mknetid.8
+++ b/ja_JP.eucJP/man/man8/mknetid.8
@@ -1,144 +1,144 @@
.\" Copyright (c) 1995, 1996
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: mknetid.8,v 1.1.1.1.2.2 1998/07/19 06:53:02 jkh Exp %
+.\" %Id: mknetid.8,v 1.6 1998/05/05 00:12:01 rnordier Exp %
.\" jpman %Id: mknetid.8,v 1.3 1997/08/16 13:26:57 horikawa Stab %
.\"
.Dd June 23, 1996
.Dt MKNETID 8
.Os
.Sh 名称
.Nm mknetid
.Nd netid マップデータの生成
.Sh 書式
.Nm mknetid
.Op Fl q
.Op Fl g Ar group_file
.Op Fl p Ar passwd_file
.Op Fl h Ar hosts_file
.Op Fl n Ar netid_file
.Op Fl d Ar domain
.Sh 解説
.Nm mknetid
は以下のファイル
.Xr group 5 ,
.Xr passwd 5 ,
.Xr hosts 5 ,
.Xr netid 5
の内容を処理し、
.Tn NIS
マップ
.Pa netid.byname
を生成するのに用いる形式に変換します。
このマップは、OS に依存しない形式でユーザとホスト双方の信用情報を
保持するために用いられます。
.Pp
.Nm
コマンドは重複した netid の出現をチェックし、それらを除去します。
.Pp
.Nm
コマンドは結果を標準出力に出力します。
通常は
.Tn NIS
マップを再構築する際に
.Nm /var/yp/Makefile
からのみ呼び出されます。
.Pp
.Sh オプション
.Nm
コマンドには以下のオプションがあります:
.Bl -tag -width indent
.It Fl q
通常、
.Nm
は重複した netid を見つけると警告メッセージを表示しますが、
このオプションにより「静粛」モードとなり、警告は抑制されます。
他のエラーメッセージはそのまま表示されます。
.It Fl g Ar group_file
.Fl g
オプションはグループ情報ファイルの場所を指定するのに用いられます。
コンパイル済みのデフォルト値は
.Pa /etc/group
です。
.It Fl p Ar passwd_file
パスワード情報ファイルの場所を指定します。
コンパイル済みのデフォルト値は
.Pa /etc/passwd
です。
.It Fl h Ar hosts_file
ホストデータベースファイルの場所を指定するのに用いられます。
コンパイル済みのデフォルト値は
.Pa /etc/hosts
です。
.It Fl n Ar netid_file
netid 情報ファイルの場所を指定します。
コンパイル済みのデフォルト値は
.Pa /etc/netid
です。
注: netid データベースが見つからなくてもエラーにはなりません。
.Bx Free
.Tn Secure RPC
がサポートされるようになるまでは、
ほとんどのシステムでは netid データベースは存在しないことでしょう。
.It Fl d Ar domain
.Nm
コマンドが netid レコードを生成する際、デフォルトでは、
システムのドメイン名を用います。
もしシステムのドメイン名が設定されていないなら、
.Fl d
オプションによってコマンドラインからドメイン名を指定しなければなりません。
ドメイン名が設定されている場合、
.Fl d
オプションによってその設定値を上書きすることもできます。
.El
.Sh 関連ファイル
.Bl -tag -width /var/yp/Makefile -compact
.It Pa /var/yp/Makefile
.Tn NIS
データベースを構築するために
.Nm yp_mkdb
および
.Nm mknetid
を呼び出す Makefile
.It Pa /etc/group
デフォルトのグループデータベースファイル
.It Pa /etc/passwd
デフォルトのパスワードデータベースファイル
.It Pa /etc/hosts
デフォルトのホストデータベースファイル
.It Pa /etc/netid
デフォルトの netid データベースファイル
.El
.Sh 関連項目
.Xr yp 4 ,
.Xr yp_mkdb 8
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja_JP.eucJP/man/man8/mknod.8 b/ja_JP.eucJP/man/man8/mknod.8
index 7d4887a501..43e61235f6 100644
--- a/ja_JP.eucJP/man/man8/mknod.8
+++ b/ja_JP.eucJP/man/man8/mknod.8
@@ -1,108 +1,108 @@
.\" 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.
.\"
.\" @(#)mknod.8 8.2 (Berkeley) 12/11/93
-.\" %Id: mknod.8,v 1.5.2.2 1998/07/17 20:13:27 jkh Exp %
+.\" %Id: mknod.8,v 1.7 1998/07/06 07:06:15 charnier Exp %
.\" jpman %Id: mknod.8,v 1.2 1997/03/31 13:37:12 horikawa Stab %
.\"
.Dd December 11, 1993
.Dt MKNOD 8
.Os BSD 4
.Sh 名称
.Nm mknod
.Nd スペシャルファイルを作成する
.Sh 書式
.Nm mknod
.Ar name
.Op Cm c | Cm b
.Ar major minor
.Sh 解説
.Nm
はデバイススペシャルファイルを作成します。通常、シェルスクリプト
.Pa /dev/MAKEDEV
で、よく知られているスペシャルファイルを作成することができます。
このスクリプトは、
.Nm
に適当な引数を渡して実行し、必要な全てのデバイスファイルの作成をします。
.Pp
.Nm
の引数としては、以下の 4 つが必要です。
.Bl -tag -width indent
.It Ar name
デバイスファイル名です。たとえば
.Dq sd
は SCSI ディスクで、
.Dq pty
は疑似デバイスです。
.It Cm b | Cm c
デバイスのタイプを指定します。
ブロック型のデバイスは、
.Cm b
を指定します。
テープやディスク等がこれに該当しますが、
ブロックスペシャルデバイス (cooked) とキャラクタスペシャルデバイス (raw) の
両方のスペシャルファイルが必要です。
キャラクタ型のデバイスは、
.Cm c
を指定します。
端末や疑似デバイス等がこれに該当します。
.It Ar major
メジャーデバイス番号を指定します。
メジャーデバイス番号は、
どのデバイスドライバエントリを使用すべきをカーネルに示します。
メジャーデバイス番号とデバイスの対応を知るには、
.Ar /dev/MAKEDEV
を見てください。
.It Ar minor
マイナーデバイス番号を指定します。
マイナーデバイス番号は、
デバイスのどのサブユニットが
スペシャルファイルに対応するのかをカーネルに示します。
例えば、サブユニットは
ファイルシステムのパーティションだったり端末ラインだったりします。
.El
.Pp
メジャーデバイス番号およびマイナーデバイス番号とも
.Xr strtoul 3
が受け付ける任意の形式で指定可能です。
.Ql 0x
で始めることにより 16 進数と、
.Ql 0
で始めることにより 8 進数であると解釈させる事が出来ます。
.Sh 関連項目
.Xr mkfifo 1 ,
.Xr mknod 2 ,
.Xr MAKEDEV 8
.Sh 歴史
.Nm
コマンドは
.At v6
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/modload.8 b/ja_JP.eucJP/man/man8/modload.8
index 00dbce7c91..6ca9310a12 100644
--- a/ja_JP.eucJP/man/man8/modload.8
+++ b/ja_JP.eucJP/man/man8/modload.8
@@ -1,117 +1,117 @@
.\" Copyright (c) 1993 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. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: modload.8,v 1.7.2.2 1998/07/17 20:13:28 jkh Exp %
+.\" %Id: modload.8,v 1.11 1998/03/19 07:45:37 charnier Exp %
.\" jpman %Id: modload.8,v 1.2 1997/04/25 00:25:43 mutoh Stab %
.\"
.Dd September 22, 1994
.Dt MODLOAD 8
.Os
.Sh 名称
.Nm modload
.Nd カーネルモジュールの読み込みを行う
.Sh 書式
.Nm modload
.Op Fl dquv
.Op Fl A Ar kernel
.Op Fl e Ar entry
.Op Fl p Ar postinstall
.Op Fl o Ar output_file
.Ar input_file
.Sh 解説
.Nm modload
は、ローダブルカーネルモジュールを稼働中のシステムに読み込み
ます。入力ファイルはオブジェクトファイル (.o) です。
.Pp
オプションとしては、以下のものがあります。
.Bl -tag -width indent
.It Fl d
デバッグオプションです。
.Nm modload
自体をデバッグする時に指定します。
.It Fl q
沈黙モード。メッセージをほとんど表示しません。
.It Fl u
モジュールが読み込まれた後で、ファイル
.Pq Ar output_file
を削除します。出力ファイルが指定されていない時は、このオプションは一時
ファイルを消去する前まで利用します。
.It Fl v
読み込み処理の詳細を表示します。
.It Fl A Ar kernel
外部シンボル参照を解決するためにリンカに使わせるファイルを指定します。
必ず、現在動いているカーネルの
シンボルを含むファイルを指定しなければなりません。
それ以外のファイルを指定すると、システムがクラッシュするでしょう。
.It Fl e Ar entry
ローダブルモジュールのエントリポイントを指定します。
この文字列はモジュールがリンクされる時に
.Xr ld 1
に渡されます。
デフォルトのモジュールエントリポイント名は モジュール名に `_mod' を
追加したものです。
.It Fl p Ar postinstall
ローダブルモジュールの読み込みが成功した後に起動するシェルスクリプト、
またはプログラムを指定します。
このスクリプトまたはプログラムには 3 つの引数が渡されます。
1 つ目はモジュール ID (10 進 )、 2 つ目はモジュールタイプ (16 進 ) です。
ローダブルモジュールがデバイスドライバならば、
3 つ目の引数としてメジャー番号が渡されます。
ローダブルモジュールがシステムコールならば、
3 つ目の引数としてシステムコール番号が渡されます。
.It Fl o Ar output_file
リンカが作成する出力ファイルの名前を指定します。このオプションが
指定されていない時は、 /tmp ディレクトリ内のファイルが使われます。
その名前は、モジュール名に `.out' という拡張子が付けられたものです。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/include/sys/lkm.h -compact
.It Pa /kernel
外部参照を解決するためにリンカに使わせるデフォルトのファイル。
.It Pa /usr/include/sys/lkm.h
モジュールタイプが定義されているファイル。
.\" .It Pa output file.
.\" リンカが作成するデフォルトの出力ファイル。
.Sh 診断
.Nm
は、成功時には 0、エラー発生時には 0 以外の値で終了します。
.Sh 関連項目
.Xr ld 1 ,
.Xr lkm 4 ,
.Xr modstat 8 ,
.Xr modunload 8
.Sh 歴史
.Nm
コマンドは
.Tn "SunOS 4.1.3"
の対応するコマンドと類似した機能になるように設計しました。
.Sh 作者
.Bl -tag
.An Terrence R. Lambert Aq terry@cs.weber.edu
.El
.Sh バグ
ローダブルデバイスドライバでは、
キャラクタデバイスまたはブロックデバイスのどちらかのエントリを確保できますが、
両方を確保することはできません。
diff --git a/ja_JP.eucJP/man/man8/modstat.8 b/ja_JP.eucJP/man/man8/modstat.8
index c28de3cdf2..b02faa2721 100644
--- a/ja_JP.eucJP/man/man8/modstat.8
+++ b/ja_JP.eucJP/man/man8/modstat.8
@@ -1,64 +1,64 @@
.\" Copyright (c) 1993 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. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: modstat.8,v 1.2.8.3 1998/07/17 04:19:33 jkh Exp %
+.\" %Id: modstat.8,v 1.7 1998/03/23 07:44:51 charnier Exp %
.\" jpman %Id: modstat.8,v 1.3 1997/09/08 07:02:33 seki Stab %
.\"
.Dd June 7, 1993
.Dt MODSTAT 8
.Os
.Sh 名称
.Nm modstat
.Nd 組み込んだカーネルモジュールのステータスを表示する
.Sh 書式
.Nm modstat
.Op Fl i Ar id
.Op Fl n Ar name
.Sh 解説
.Nm
は、カーネルに組み込んだローダブルカーネルモジュールの
ステータスを表示します。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width indent
.It Fl i Ar id
指定した ID のモジュールのみ表示する
.It Fl n Ar name
指定した名前のモジュールのみ表示する
.El
.Sh 診断
.Nm
は、成功したときは 0、失敗したときは 0 以外の状態にて終了します。
.Sh 関連項目
.Xr lkm 4 ,
.Xr modload 8 ,
.Xr modunload 8
.Sh 歴史
.Nm
コマンドは、
.Tn "SunOS 4.1.3"
の対応するコマンドと同じ機能になるように設計されました。
.Sh 作者
.An Terrence R. Lambert Aq terry@cs.weber.edu
diff --git a/ja_JP.eucJP/man/man8/modunload.8 b/ja_JP.eucJP/man/man8/modunload.8
index 794bc787fa..dde9cea663 100644
--- a/ja_JP.eucJP/man/man8/modunload.8
+++ b/ja_JP.eucJP/man/man8/modunload.8
@@ -1,76 +1,76 @@
.\" Copyright (c) 1993 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. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: modunload.8,v 1.4.2.2 1998/07/17 20:13:28 jkh Exp %
+.\" %Id: modunload.8,v 1.8 1998/03/19 07:45:43 charnier Exp %
.\" jpman %Id: modunload.8,v 1.2 1997/04/30 00:37:42 mutoh Stab %
.\"
.Dd June 7, 1993
.Dt MODUNLOAD 8
.Os
.Sh 名称
.Nm modunload
.Nd カーネルモジュールを取り外す
.Sh 書式
.Nm modunload
.Op Fl i Ar module_id
.Op Fl n Ar module_name
.Sh 解説
.Nm
は、カーネルに組み込んだ読み込み可能カーネルモジュールを
稼働中のシステムから取り外します。
.Ar module_id
.Ar module_name
は、
.Xr modstat 8
で表示される ID と名前です。
.Pp
以下のオプションのどちらか一方を指定する必要があります。
.Bl -tag -width indent
.It Fl i Ar module_id
指定した ID
.Ar module_id
のモジュールを取り外す
.It Fl n Ar module_name
指定した名前
.Ar module_name
のモジュールを取り外す
.El
.Sh 診断
.Nm
は、成功したときは0、失敗したときは0以外の値になります。
.Sh 関連項目
.Xr lkm 4 ,
.Xr modload 8 ,
.Xr modstat 8
.Sh 歴史
.Nm
コマンドは、
.Tn "SunOS 4.1.3"
の対応するコマンドと同じ機能になるように設計されました。
.Sh 作者
.Bl -tag
.An Terrence R. Lambert Aq terry@cs.weber.edu
.El
diff --git a/ja_JP.eucJP/man/man8/mount.8 b/ja_JP.eucJP/man/man8/mount.8
index 16800429b4..560241616f 100644
--- a/ja_JP.eucJP/man/man8/mount.8
+++ b/ja_JP.eucJP/man/man8/mount.8
@@ -1,347 +1,378 @@
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)mount.8 8.7 (Berkeley) 3/27/94
-.\" %Id: mount.8,v 1.11.2.5 1998/08/12 06:19:35 charnier Exp %
+.\" @(#)mount.8 8.8 (Berkeley) 6/16/94
+.\" %Id: mount.8,v 1.23 1998/07/09 05:49:58 jkoshy Exp %
.\"
.\" jpman %Id: mount.8,v 1.2 1997/05/03 11:26:50 horikawa Stab %
.\"
-.Dd March 27, 1994
+.Dd June 16, 1994
.Dt MOUNT 8
.Os BSD 4
.Sh 名称
.Nm mount
.Nd ファイルシステムをマウントする
.Sh 書式
.Nm mount
.Op Fl adfpruvw
.Op Fl t Ar ufs | lfs | external_type
.Nm mount
.Op Fl dfpruvw
.Ar special | node
.Nm mount
.Op Fl dfpruvw
.Op Fl o Ar options
.Op Fl t Ar ufs | lfs | external_type
.Ar special node
.Sh 解説
.Nm
コマンドは
.Xr mount 2
システムコールを使用して、
.Ar "スペシャルデバイス"
かリモートノード (rhost:path) を
ファイルシステムツリーの
.Ar node
へ接合します。
もし
.Ar special
または
.Ar node
が指定されなかった場合には、
.Xr fstab 5
ファイルから適切な情報を取得します。
.Pp
システムは、現在マウントしているファイルシステムのリストを管理しています。
.Nm
コマンドを引数を与えずに実行すると、このリストが表示されます。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width indent
.It Fl a
-.Pa /etc/fstab
+.Xr fstab 5
に記述されているファイルシステムを
-(``noauto'' が指定されているものは除いて)
すべてマウントします。
+例外は、``noauto'' が指定されているもの、
+.Fl t
+フラグにて除外されているもの(後述)、
+既にマウントされているもの
+(ルートファイルシステムは伝統的なシングルユーザモードの動作を保つ
+ために除外されます)です。
通常、これはシステムの起動時に実行されます。
.It Fl d
システムコールの実行以外のすべてのことを行ないます。
このオプションを
.Fl v
とともに指定することで、
.Nm
コマンドが何をしようとしているのかを確認することができます。
.It Fl f
ファイルシステムのマウント状態を読み書き可能から読み込み専用へ
変更しようとするときに、
すでにオープンされているファイルへの書き込み許可を強制的に取り消します。
また、正常かどうか不明なファイルシステムも強制的に読み書き可能に
マウントします (危険なため注意して使って下さい)。
.It Fl o
オプションは
.Fl o
の後にコンマで区切って指定します。
以下のオプションが指定できます:
.Bl -tag -width indent
.It async
指定したファイルシステムのすべての
.Tn I/O
を非同期に行います。
このフラグを指定することは非常に
.Em 危険
ですので、
システムクラッシュ時にファイルシステムを
作り直す用意ができていないかぎりは使うべきではありません。
.It force
.Fl f
オプションと同じです。
ファイルシステムのマウント状態を読み書き可能から読み込み専用へ
変更しようとするときに、
すでにオープンされているファイルへの書き込み許可を強制的に取り消します。
また、正常かどうか不明なファイルシステムも強制的に読み書き可能に
マウントします (危険なため注意して使って下さい)。
.It noatime
ファイル読み取り時に、ファイルアクセス時刻を更新しません。
このオプションが便利なのは、
多くのファイルを持ち、(ほとんどの場合重要ではない)ファイルアクセス時刻
を更新するよりも性能が重要であるファイルシステムです。
このオプションは現在ローカルファイルシステムでのみサポートされています。
+.It noauto
+mount が
+.Fl a
+フラグ付きで動作しているときに、このファイルシステムをスキップします。
+.It noclusterr
+リード時のクラスタリングを無効にします。
+.It noclusterw
+ライト時のクラスタリングを無効にします。
.It nodev
ファイルシステム上のキャラクタスペシャルデバイスや
ブロックスペシャルデバイスを解釈しません。
このオプションは、サーバが自分自身以外のアーキテクチャ用の
スペシャルデバイスを含むファイルシステムを持っている場合に有用です。
.It noexec
マウントしているファイルシステム上のバイナリの
実行を許可しません。
このオプションは、サーバが自分自身以外のアーキテクチャ用の
バイナリを含むファイルシステムを持っている場合に有用です。
.It nosuid
実効ユーザ ID (set-user-ID) セット、
実効グループ ID (set-group-ID) セットビットの
効果をなくします。
注意:
.Xr suidperl 1
のような suid/sgid ラッパが
誰でも使えるようにシステムにインストールされている場合には、価値がありません。
+.It nosymfollow
+マウントされたファイルシステムにおいては、シンボリックリンクを追跡しません。
.It rdonly
.Fl r
と同じく、マウントするファイルシステムを読み込み専用とします
(スーパユーザでも書き込みできなくなります)。
.It sync
ファイルシステムのすべての
.Tn I/O
を同期的に行います。
+.It suiddir
+マウントされたファイルシステムにおけるディレクトリに
+SUID ビットがセットされると、
+新規ファイルの所有者をディレクトリの所有者に設定します。
+新規ディレクトリは親ディレクトリのビットを継承します。
+実行ビットはファイルから取り除かれ、root には与えられません。
+.Pp
+この機能は PC ユーザに対して ftp, SAMBA, netatalk のサービスを行う
+ファイルサーバのためにデザインされました。
+これはシェルユーザに対してセキュリティホールとなりますので、
+特にホームディレクトリを持つシェルマシンでは使用すべきではありません。
+このオプションが動作するためには、カーネルの SUIDDIR オプションが必要です。
+UFS ファイルシステムのみがこのオプションをサポートします。
+詳細は
+.Xr chmod 2
+を参照してください。
.It update
.Fl u
と同じく、すでにマウントされているファイルシステムの状態を変化させることを
指示します。
.It union
マウントポイント以下の名前空間に、マウントされたファイルシステムのルートと
マウントポイントに元から存在するディレクトリの両方が見えるようにします。
名前を検索するときは、マウントしたファイルシステムが先に検索されます。
ファイルが存在しない
ために検索が失敗した場合は、既存のディレクトリがアクセスされます。
ファイル等の作成は、すべて
マウントしたファイルシステム上に対して行われます。
.El
.Pp
.Nm
が内部で知っているファイルシステムタイプ
.Pf ( Fl t
オプションを参照)
以外の、ファイルシステムタイプに固有のオプションは、
コンマで区切って指定します。このオプションは、オプションの前に
.Dq \&-
(ダッシュ記号)をつけて区別します。値を持つオプションは、
-option=valueの形で指定します。
たとえば、
.Bd -literal -offset indent
mount -t mfs -o nosuid,-N,-s=4000 /dev/dk0b /tmp
.Ed
.Pp
では、
.Nm
コマンドは以下と同じものを実行します:
.Bd -literal -offset indent
/sbin/mount_mfs -o nosuid -N -s 4000 /dev/dk0b /tmp
.Ed
.It Fl p
マウント情報を fstab の形式で表示します。暗黙的に
.Fl v
オプションを指定します。
.It Fl r
ファイルシステムをリードオンリーで
マウントします(スーパユーザでも書き込みは行えません)。
これは、
.Fl o
オプションで
.Dq rdonly
を指定するのと同じです。
.It Fl t Ar "ufs \\*(Ba lfs \\*(Ba external type"
.Fl t
のあとの引数にはファイルシステムタイプを指定します。
デフォルトは、
.Ar ufs
です。
.Fl t
オプションによって、
.Nm
コマンドの操作が、指定した特定のタイプのファイルシステムに対してのみ
行われるように指示することができます。
2つ以上のタイプを指定するにはコンマで区切ります。
ファイルシステムリスト
の先頭に
.Dq no
という文字をつけることに
よって、
.Nm
コマンドの操作の対象と
.Em しない
ファイルシステムタイプを指定することができます。
以下に例を示します:
.Bd -literal -offset indent
mount -a -t nonfs,mfs
.Ed
.Pp
は、
.Tn NFS
.Tn MFS
を除いた、すべてのファイルシステムをマウントします。
.Pp
type を内部で解釈できない場合、
.Nm
.Pa /sbin/mount_ Ns Em XXX
というプログラムを実行しようとします。
.Em XXX
の部分が type になります。たとえば nfs ファイルシステムは、
.Pa /sbin/mount_nfs
というプログラムによってマウント
されます。
.Pp
ほとんどのファイルシステム用モジュールは
カーネル中にない場合、ファイルシステム別のマウントプログラム
によって動的に読み込まれます。
そこでは
.Xr vfsload 3
サブルーチンが使われます。
この機構には書き込み可能な作業領域が必要なため、
.Pa /tmp
があるファイルシステムタイプのモジュールはカーネルに
組み込まれている必要があります。さらに
.Pa /etc/fstab
において、
.Pa /tmp
.Pa /usr/bin/ld
があるファイルシステムは
動的に読み込まれるファイルシステムよりも前に
記述されていなければいけません。
.It Fl u
.Fl u
フラグは、すでにマウントしているファイルシステム
の状態の変更を指示します。
ファイルシステムを読み込み専用から読み書き可能へ、またその逆へも変更することを
含めて、すでに説明したすべてのオプション
.Pf ( Fl o
オプション)
の内容を変更することができます。
読み書き可能なファイルシステムを読み出し専用に変更する場合、
書き込みのためにオープンしているファイルがあるときには、
.Fl f
オプションを指定しなければ変更に失敗します。
どのオプションを適用するかを決定する際、最初に
.Xr fstab 5
のテーブル
を参照し、適用します。その次に
.Fl o
オプションの引数を適用し、最後に
.Fl r
.Fl w
オプションが適用されます。
.It Fl v
詳細なメッセージを表示します。
.It Fl w
ファイルシステムを読み書き可能とします。
.Pp
.Tn NFS
ファイルシステムに対して指定できるオプションは、
.Xr mount_nfs 8
のマニュアルに記述されています。
.Sh 関連ファイル
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
ファイルシステムテーブル
.El
.Sh 診断
多岐に渡りますが、ほぼ全てが自明です。
.Pp
.Dl XXXXX filesystem is not available
.Pp
カーネルはそのファイルシステムタイプをサポートしていません。
ファイルシステムのサポートは、
静的(カーネルコンパイル時)もしくは動的(
.Xr modload 8
によってカーネルモジュールとしてロードされる)です。
通常、
.Nm
もしくはそのサブプロセスは、
ファイルシステムモジュールが静的に組み込まれていない場合は、
.Xr vfsload 3
を使用して動的にそのファイルシステムモジュールをロードしようとします。
この場合上記エラーメッセージは、
モジュールをロードするパーミッションを持たないことも意味する場合があります。
.Sh 関連項目
.Xr mount 2 ,
.Xr vfsload 3 ,
.Xr fstab 5 ,
.Xr mount_cd9660 8 ,
.Xr mount_devfs 8 ,
.Xr mount_fdesc 8 ,
.Xr mount_kernfs 8 ,
.Xr mount_lfs 8 ,
.Xr mount_mfs 8 ,
.Xr mount_msdos 8 ,
.Xr mount_nfs 8 ,
.Xr mount_null 8 ,
.Xr mount_portal 8 ,
.Xr mount_procfs 8 ,
.Xr mount_umap 8 ,
.Xr mount_union 8 ,
.Xr umount 8
.Sh バグ
異常なファイルシステムをマウントすると、
システムクラッシュを引き起こすことがあります。
.Sh 警告
マウントに成功した後にマウントされたファイルシステムから
.Pa ".."
がアクセス可能かどうかは、
元のマウントポイントのパーミッションが決定します。
全ユーザが双方向にマウントポイントを行き来可能とするために最低限必要な
パーミッションは 0111 (全員が実行可能) です。
.Sh 歴史
.Nm
コマンドは
.At v1
から登場しています。
diff --git a/ja_JP.eucJP/man/man8/mount_ext2fs.8 b/ja_JP.eucJP/man/man8/mount_ext2fs.8
index 07347b755c..2637a7e714 100644
--- a/ja_JP.eucJP/man/man8/mount_ext2fs.8
+++ b/ja_JP.eucJP/man/man8/mount_ext2fs.8
@@ -1,75 +1,76 @@
.\" Copyright (c) 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.
.\"
+.\" %Id: mount_ext2fs.8,v 1.5 1998/07/06 07:13:31 charnier Exp %
.\" jpman %Id: mount_ext2fs.8,v 1.3 1997/09/09 04:07:26 yugawa Stab %
.\"
.Dd January 31, 1996
.Dt MOUNT_EXT2FS 8
.Os FreeBSD 2.2
.Sh 名称
.Nm mount_ext2fs
.Nd ext2fs ファイルシステムをマウントする
.Sh 書式
.Nm mount_ext2fs
.Op Fl o Ar options
.Ar special
.Ar node
.Sh 解説
.Nm
コマンドは ext2fs ファイルシステムの
.Ar special
デバイスをファイルシステムツリーの
.Ar node
に接続します。
.Pp
通常このコマンドは、ブート時に
.Xr mount 8
によって実行されます。
.Pp
オプションは、次の通りです:
.Bl -tag -width indent
.It Fl o
.Fl o
フラグの後には、コンマで区切ったオプション文字列を指定することができます。
指定可能なオプションとその意味は、
.Xr mount 8
マニュアルページを参照して下さい。
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh 歴史
.Nm
の機能は
.Fx 2.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/mount_msdos.8 b/ja_JP.eucJP/man/man8/mount_msdos.8
index 35fb78fd0c..a068107662 100644
--- a/ja_JP.eucJP/man/man8/mount_msdos.8
+++ b/ja_JP.eucJP/man/man8/mount_msdos.8
@@ -1,223 +1,223 @@
.\" $NetBSD: mount_msdos.8,v 1.13 1998/02/06 05:57:00 perry Exp $
.\"
.\" Copyright (c) 1993,1994 Christopher G. Demetriou
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgment:
.\" This product includes software developed by Christopher G. Demetriou.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: mount_msdos.8,v 1.3.2.1 1998/07/16 02:02:02 jkh Exp %
+.\" %Id: mount_msdos.8,v 1.14 1998/06/30 06:23:41 charnier Exp %
.\" jpman %Id: mount_msdos.8,v 1.3 1997/09/08 01:55:26 seki Stab %
.\"
.Dd April 7, 1994
.Dt MOUNT_MSDOS 8
.Os
.Sh 名称
.Nm mount_msdos
.Nd MS-DOS ファイルシステムをマウントする
.Sh 書式
.Nm mount_msdos
.Op Fl o Ar options
.Op Fl u Ar uid
.Op Fl g Ar gid
.Op Fl m Ar mask
.Op Fl s
.Op Fl l
.Op Fl 9
.\".Op Fl G
.Op Fl L Ar locale
.Op Fl W Ar table
.Pa special
.Pa node
.Sh 解説
.Nm
コマンドは、デバイス名
.Pa special
上の MS-DOS ファイルシステムを、
グローバルファイルシステムの名前空間の
.Pa node
の示す位置に接続します。
通常このコマンドは、ブート時に
.Xr mount 8
によって実行されますが、
任意のユーザが、
自分の所有する任意のディレクトリに
MS-DOS ファイルシステムをマウントするために使うこともできます。
(もちろん、
そのファイルシステムを含むデバイスに対して
適切なアクセスを行えることが条件ですが。)
.Pp
オプションは以下のものが使用できます:
.Bl -tag -width Ds
.It Fl o Ar options
指定されたマウントオプション
.Ar options
.Xr mount 8
の記述通り使用します。
.It Fl u Ar uid
ファイルシステム上のファイルの所有者を
.Ar uid
にします。デフォルトの所有者はファイルシステムがマウントされるディレクトリの
所有者です。
.It Fl g Ar gid
ファイルシステム上のファイルのグループを
.Ar gid
にします。デフォルトのグループはファイルシステムがマウントされるディレクトリの
グループです。
.It Fl m Ar mask
ファイルシステム上のファイルの最大のパーミッションを指定します。
(例えば、
Ar mask
.Li 755
は、デフォルトで、
.\" ここでの by default は「MS-DOS の『ファイル属性』として特別な指定
.\" がないとき」という意味であると思われる。意味がわかりにくいが、原文
.\" もわかりにくいので、特に説明を補わない。
.\" by <seki@sysrap.cs.fujitsu.co.jp>
所有者がファイルの読み書き実行の権限を持ち、
他のユーザが読みと実行の権限だけを持つことを指定します。
8 進のファイルモードに関しては
.Xr chmod 1
を御覧下さい。)
.Ar mask
の下位 9 ビットのみが使用されます。
デフォルトの
.Ar mask
は、
ファイルシステムがマウントされるディレクトリから取得されます。
.It Fl s
Win'95 のロングファイル名を無視および生成しないように強制します。
.It Fl l
Win'95 のロングファイル名のリストおよび生成と、
生成/修正/アクセス日を分離するように強制します。
.Pp
.Fl s
.Fl l
も指定されない場合、
.Nm
は既存の Win'95 のロングファイル名から
マウントすべきファイルシステムのルートディレクトリを探してマウントします。
このようなエントリが見付からなかった場合、
.Fl s
がデフォルトです。そうでない場合、
.Fl l
が仮定されます。
.It Fl 9
ファイルを削除およびリネームするときにおいても、
特殊な Win'95 のディレクトリエントリを無視します。
これは
.Fl s
を強制します。
.\".It Fl G
.\"This option causes the filesystem to be interpreted as an Atari-Gemdos
.\"filesystem. The differences to the MS-DOS filesystem are minimal and
.\"limited to the boot block. This option enforces
.\".Fl s .
.It Fl L Ar locale
DOS と Win'95 の国際大文字小文字名前変換において使用される
ロケール名を指定します。
デフォルトでは ISO 8859-1 がローカルな文字セットと仮定されます。
.It Fl W Ar table
3 個の変換表を含むテキストファイルを指定します:
.Bl -enum
.It
Win'95 のロングファイル名に対して、
ローカル文字セットから Unicode へ変換する表 (上半分)であり、
128 Unicode コードです。
Unicode に存在しないコードがあった場合、
0x003F コード ('?') を代わりに使用します。
.It
DOS 名に対して、
DOS からローカル文字セットへ変換する表 (上半分) であり、
128 文字コードです。
変換できないものに対しては、
コード 0x3F ('?') を使用します。
.It
DOS 名に対して、
DOS からローカル文字セットへ変換する表 (上半分) であり、
128 文字コードです。
特殊な意味を持つコードがあります:
.Bl -hang
.It 0x00
DOS フィイル名において禁止されている文字;
.It 0x01
DOS ファイル名において '_' に変換されるべき文字;
.It 0x02
DOS ファイル名においてスキップされるべき文字;
.El
.El
.Pp
デフォルトでは ISO 8859-1 がローカル文字セットとして仮定されます。
パスが絶対パスでない場合、
.Pa /usr/libdata/msdosfs/
プレフィックスが前に付きます。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/libdata/msdosfs -compact
.It Pa /usr/libdata/msdosfs
文字セット変換表のデフォルトの置き場所
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh 警告
Win'95 で使用しているものと同様の手続きを使用して注意しているにもかかわらず、
.Fl 9
フラグを使用するとファイルシステムを破壊することがあります。
.Pp
.Fx 2.1
およびそれ以前のバージョンでは 16K より大きなクラスタサイズを扱えませんでした。
MS-DOS ファイルシステムをマウントするだけで、
そのファイルシステムを破壊してしまうことがありました。
16K より大きなクラスタサイズは
1G より大きなファイルシステムでは避けようがありませんし、
1G より大きなファイルシステムを FIPS で縮めたときにも発生し得ます。
.Pp
デフォルトの
.Fl s
および
.Fl l
の扱いによって、
空のファイルシステムにおいて短いファイル名のみ発生することがあります。
空の DOS ファイルシステムにおいてロングファイル名を生成するには
.Fl l
を使用してください。
.Sh 歴史
.Nm
.Fx 2.0
にて初めて登場しました。
この元になった、
.Nm mount_pcfs
.Fx 1.0
にて登場しましたが、
よりそれらしい名前の
.Nm
が出来たため廃止されました。
diff --git a/ja_JP.eucJP/man/man8/mount_nfs.8 b/ja_JP.eucJP/man/man8/mount_nfs.8
index 2e3bc6ee33..339af14918 100644
--- a/ja_JP.eucJP/man/man8/mount_nfs.8
+++ b/ja_JP.eucJP/man/man8/mount_nfs.8
@@ -1,298 +1,320 @@
-.\" Copyright (c) 1992, 1993, 1994
+.\" 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.2 (Berkeley) 3/27/94
+.\" @(#)mount_nfs.8 8.3 (Berkeley) 3/29/95
.\"
-.\" %Id: mount_nfs.8,v 1.5.2.2 1998/07/07 04:52:54 jkoshy Exp %
+.\" %Id: mount_nfs.8,v 1.14 1998/07/06 07:15:53 charnier Exp %
.\" jpman %Id: mount_nfs.8,v 1.3 1997/05/19 17:04:14 horikawa Stab %
.\""
-.Dd March 27, 1994
+.Dd March 29, 1995
.Dt MOUNT_NFS 8
.Os BSD 4.4
.Sh 名称
.Nm mount_nfs
.Nd NFS(ネットワークファイルシステム)をマウントする
.Pp
.Sh 書式
.Nm mount_nfs
-.Op Fl 23KPTUbcdilqs
+.Op Fl 23KNPTUbcdilqs
.Op Fl D Ar deadthresh
.Op Fl I Ar readdirsize
.Op Fl L Ar leaseterm
.Op Fl R Ar retrycnt
.Op Fl a Ar maxreadahead
.Op Fl g Ar maxgroups
.Op Fl m Ar realm
.Op Fl o Ar options
.Op Fl r Ar readsize
.Op Fl t Ar timeout
.Op Fl w Ar writesize
.Op Fl x Ar retrans
.Ar rhost:path node
.Sh 解説
-.Nm mount_nfs
+.Nm
は、ファイルシステムツリー上の指定された
.Ar node
にリモートの NFS ファイルシステム (rhost:path) をマウントするために、
.Xr mount 2
システムコールを呼び出します。このコマンドは通常、
.Xr mount 8
によって実行されます。このプログラムは、RFC 1094 の Appendix. A および
.%T "NFS: Network File System Version 3 Protocol Specification" ,
Appendix I.
に記述されているマウントプロトコルを実装しています。
.Pp
オプションを以下に示します:
.Bl -tag -width indent
.It Fl 2
NFS バージョン 2 プロトコルを使用します
(デフォルトはバージョン 3 をまず試した後にバージョン 2 を用います)。
+NFS バージョン 2 では、
+ファイルサイズは 2 ギガバイトに制限されることに注意してください。
.It Fl 3
NFS バージョン 3 プロトコルを使用します。
.It Fl D
NQNFSにおいて
.Dq "停止サーバ閾 (dead server threshold)"
をタイムアウト (round trip timeout) 回数で指定します。
再送タイムアウト回数が
.Dq 停止サーバ閾
に達した後は、無応答なサーバに関するキャッシュデータをいまだ有効な
ものと見倣します。
値は 1 から 9 までで、9 は
.Dq "無限停止閾 (infinite dead threshold)"
です (キャッシュデータを有効と見倣す事はありません)。
このオプションは一般に薦められるものではなく実験的なものです。
.It Fl I
readdir での読み取りサイズを指定した値にします。
値は通常 BIRBLKSIZ の倍数であり、マウントの読み取りサイズ以下です。
.It Fl K
クライアント - サーバ間のユーザ認証用に Kerberos 認証書をサーバへ渡します。
カーネルが NFSKERB オプションにて構築されている必要があります
インターネットドラフト
.%T "Authentication Mechanisms for ONC RPC"
を御覧下さい。)
.It Fl L
NQNFS において、リース期間を指定した秒数にします。
応答遅延 (round trip delay) が大きな場合だけ使って下さい。
値は通常、10 秒から 30 秒の間です。
+.It Fl N
+予約されたソケットポート番号を使用し
+.Em ません
+(後述)。
.It Fl P
予約されたソケットポート番号を使います。
+このフラグは廃れたものであり、互換性のためだけにあります。
+現在、予約されたソケットポート番号をデフォルトで使用します。
NFS がより安全になるとの考え方 (これは誤りです) に基づいて
クライアントが予約ポートを使用しないとマウントさせないサーバ
をマウントするのに役立ちます。
(クライアントの root が信頼でき、ネットワークケーブルも安全な場所にあ
るが、クライアントのユーザは信頼できないという、まれな場合には
役に立つでしょうが、通常のデスクトップクライアントには当てはまりません。)
.It Fl R
マウントする際のリトライ回数を、指定された値にします。
.It Fl T
UDP の代わりに TCP を使います。これは、サーバがクライアントと
同じ LAN ケーブル上にない場合に使うことをお勧めします
(注意: この機能は大抵の非 BSD サーバではサポートされていません)。
.It Fl U
TCP NFS マウントであっても、マウントプロトコルに UDP を強制します。
(古い BSD サーバにて必要です。)
.It Fl a
先読みブロック数を指定した値に設定します。値は 0 から 4 までの範囲で、
サイズの大きなファイルをシーケンシャルに読む場合、
何ブロック先読みするかを決定します。
帯域幅×遅延が大きな状況でマウントする場合に 1 より大きな値をお勧めします。
.It Fl b
最初にサーバの接続に失敗した場合、子プロセスを起動して、
バックグラウンドでマウントを続けようとします。
マルチユーザモードで起動する際、重要でないファイルシステムを
.Xr fstab 5
に書いておく場合に役に立ちます。
.It Fl c
.Tn UDP
マウントポイントに対しては、
.Xr connect 2
を使いません。
これは、標準のポート番号 2049 からのリクエストに答えないサーバ
に対しては使う必要があります。
.It Fl d
再送タイムアウト時間を動的に予測しません。これは、
動的に予測される再送タイムアウト時間が非常に短いために、
UDP マウントが高いリトライレートを示しているような場合に有効です。
.It Fl g
認証用のグループリストの最大サイズを、指定した値に設定します。
RFC 1057 ではグループリストのサイズは 16 と記述されていますが、これを
扱えない古いサーバをマウントするときに使うべきです。
多くのグループに属しているユーザに対してマウントポイントから
応答がない場合は、8 を指定してみて下さい。
.It Fl i
マウントを割り込み可能とします。これは、応答しないサーバがあるために
ファイル関連のシステムコールが遅れるような場合、
プロセスに終了シグナルが送られると、EINTR で
システムコールが失敗することを意味します。
.It Fl l
NQNFS と NFSV3 において、\fBReaddir_and_Lookup\fR RPCを使うことを
指定します。
このオプションは
.Dq "ls -l"
するようなときに RPC のトラフィックを減らしますが、
属性と名前のキャッシュをプリフェッチエントリで溢れさせる傾向があります。
このオプションを指定して性能が良くなるのか悪くなるのかを確認して下さい。
バンド幅と遅延の積が大きなネットワークにて最も有用でしょう。
.It Fl m
Kerberos の管理領域を文字列で指定します。
他の管理領域にマウントする場合に
.Fl K
オプションと共に使います。
.It Fl o
.Fl o
フラグの後に、オプションをコンマで区切って並べ指定します。
指定可能なオプションとその意味は
.Xr mount 8
を参照してください。
以下の NFS 固有のオプションを使用可能です:
.Bl -tag -width indent
.It port=<port_number>
指定したポート番号を NFS 要求に使用します。
デフォルトでは portmapper に問い合わせます。
+.It acregmin=<seconds>
+.It acregmax=<seconds>
+.It acdirmin=<seconds>
+.It acdirmax=<seconds>
+ファイル属性がキャッシュされたときに、
+キャッシュエントリをエクスパイアするためにタイムアウトを計算します。
+これらの 4 つの値は、``ディレクトリ'' および ``通常'' (ディレクトリ以外) の
+上限および下限を決定します。
+デフォルトでは、
+通常ファイルは 3 から 60 秒、
+ディレクトリは 30 から 60 秒です。
+タイムアウトの算出アルゴリズムはファイルの古さを元にするものです。
+ファイルが古くなると、キャッシュが有効であると見倣す期間も長くなり、
+上記限界に近付きます。
.El
.Pp
.Bl -tag -width "dumbtimerXX"
\fB歴史的な \&-o オプション\fR
.Pp
これらのオプションを使用する事は勧められません。
歴史的な
-.Nm mount_nfs
+.Nm
との互換性のためにここに記述してあります。
.It bg
.Fl b
と同じ。
.It conn
.Fl c
を指定しない場合と同じ。
.It dumbtimer
.Fl d
と同じ。
.It intr
.Fl i
と同じ。
.It kerb
.Fl K
と同じ。
.It nfsv2
.Fl 2
と同じ。
.It nfsv3
.Fl 3
と同じ。
.It rdirplus
.Fl l
と同じ。
.It mntudp
.Fl U
と同じ。
.It resvport
.Fl P
と同じ。
.It seqpacket
.Fl p
と同じ。
.It nqnfs
.Fl q
と同じ。
.It soft
.Fl s
と同じ。
.It tcp
.Fl T
と同じ。
.El
.It Fl q
キャッシュの一貫性を保つためにプロトコルのリース拡張を NFS バージョン 3
プロトコルにて使います。
このプロトコルのバージョン 2 は Not Quite Nfs (NQNFS) と呼ばれ、
最新の NFS コードでのみサポートされています。
(4.4BSD-Lite における NQNFS のリリースとは互換性がありません。
4.4BSD-Lite NFS システムを混在させて使用する場合には、
4.4BSD-Lite ベースシステムの NFS コードをアップグレードするまで、
このオプションを使用してはなりません。)
.It Fl r
データのリードサイズを指定した値にします。この値は通常 1024
以上の 2 のべき乗でなければなりません。これはマウントポイント
を頻繁に使っている間に、
.Dq タイムアウトで消失したフラグメント数
が大きくなっていくときに、UDP マウントに対して使います
.Pf ( Xr netstat 1
.Fl s
オプション付きで使う
ことで、
.Dq タイムアウトで消失したフラグメント数
の値を見ることができます)。
.Fl w
オプションも参照
してください。
.It Fl s
ソフトマウントを行います。これは、
タイムアウトが決められた\fBリトライ\fR回数に達すると、
システムコールが失敗することを意味します。
.It Fl t
指定した値に初期再送タイムアウト時間を設定します。パケット
の消失レートの高いネットワークや負荷の高いサーバで行う UDP マウントを
チューニングするときに役立ちます。
ファイルシステムがアクティブなときに
.Xr nfsstat 1
が高い再送レートを示す場合には、この値を増やしてみて下さい。
一方、再送レートは低いが、応答遅延が長い場合はこの値を減らします。
(通常、-d オプションをこのオプションとともに使い、
手動でタイムアウトインターバルを調整します。)
.It Fl w
指定した値にライトデータサイズを設定します。解説は
.Fl r
オプションと同様ですが、
.Dq タイムアウトで消失したフラグメント数
は、クライアントのかわりにサーバの値を使います。
.Fl r
.Fl w
のオプションは、マウントするサーバが TCP
マウントをサポートしていない場合にパフォーマンスを向上させる
最後の手段であることに注意してください。
.It Fl x
ソフトマウントの再送タイムアウト回数を設定します。
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh バグ
Sun RPCは UDP (信頼性のないデータグラム) トランスポート層上に
実装されているため、マウントの性能をチューニングしても
限界があります。サーバが同じ LAN ケーブル上にない場合や、
サーバの負荷が高い場合には、
.Tn TCP
トランスポートを使うことを強くすすめますが、
残念なことに、ほぼ 4.4BSD サーバに限られています。
diff --git a/ja_JP.eucJP/man/man8/mount_null.8 b/ja_JP.eucJP/man/man8/mount_null.8
index 214f7b0e4a..5136298d3b 100644
--- a/ja_JP.eucJP/man/man8/mount_null.8
+++ b/ja_JP.eucJP/man/man8/mount_null.8
@@ -1,210 +1,223 @@
.\"
.\" Copyright (c) 1992, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software donated to Berkeley by
.\" John Heidemann of the UCLA Ficus project.
.\"
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" from: @(#)mount_null.8 8.4 (Berkeley) 4/19/94
-.\" %Id: mount_null.8,v 1.5.2.2 1998/08/12 06:28:38 charnier Exp %
+.\" @(#)mount_null.8 8.6 (Berkeley) 5/1/95
+.\" %Id: mount_null.8,v 1.9 1998/07/06 07:17:26 charnier Exp %
.\" jpman %Id: mount_null.8,v 1.2 1997/03/31 13:38:01 horikawa Stab %
.\"
-.Dd April 19, 1994
+.Dd May 1, 1995
.Dt MOUNT_NULL 8
.Os BSD 4.4
.Sh 名称
.Nm mount_null
-.Nd 何もしない(null)ファイルシステム層の利用のデモ
+.Nd ループバックファイルシステムサブツリーをマウントする;
+何もしない(null)ファイルシステム層の利用のデモ
.Sh 書式
.Nm mount_null
.Op Fl o Ar options
.Ar target
.Ar mount_point
.Pp
.Sh 解説
-.Nm mount_null
+.Nm
は、null 層を作ります。これは、
ファイルシステムの名前空間の部分木を、グローバルなファイルシステムの名前空間
の別の場所にエイリアスします。
+これにより、既存のファイルとディレクトリが別のパス名にてアクセス可能
+となります。
+.Pp
+ファイルシステムの仮想的コピーとシンボリックリンクとの第 1 の違いは、
+.Xr getcwd 3
+関数が仮想コピーでは正しく動作する点と、
+別のファイルシステムを仮想コピー上にマウントしてもオリジナルには影響がない点
+です。
+.Xr stat 2
+は、仮想コピーに対して別のデバイス番号が返しますが、
+別の側面においてはオリジナルとの区別はつきません。
+.Pp
歴史的な
ループバックファイルシステムと異なるのは、次の2つの点です: 1つは、ファイル
システムのスタック化可能層(stackable layers)という技術を使って
実装されている点、もう1つはディレクトリの vnode だけでなく、
すべての下位層の vnode の上に
``null-node''が積み重なっているという点です。
.Pp
オプションは以下のものがあります:
.Bl -tag -width indent
.It Fl o
.Fl o
のあとに、オプション文字列をコンマで区切って指定すること
ができます。指定可能なオプションとその意味は
.Xr mount 8
を参照してください。
.El
.Pp
この null 層は2つの目的を持っています。1つは、何もしない層
を提供することでファイルシステムの層の構築のデモを示すことです(実際には
何も行わないというわけではなく、
ループバックファイルシステムが提供することはすべて行います)。
もう1つはプロトタイプ層を提供することで
す。層のフレームワークとして必要なことはすべて提供しているので、
ここから新しいファイルシステム層を簡単に作り出すことができます。
.Pp
このマニュアルの以下の部分では、新しいファイルシステム層を構築するための
基礎として null 層を調べます。
.\"
.\"
.Sh 新しい null 層の例示
新しい null 層は
.Xr mount_null 8
で作られます。
.Xr mount_null 8
2つの引数をとります。
1つは下位層の vfs のパス名(target-pn)で、
もう1つは null 層が現れる名前空間内のパス名(mount-point-pn)です。
null 層が適切な場所に置かれた後、
目的のディレクトリ階層(target-pn)の中身が
マウント先(mount-point-pn)にエイリアスされます。
.\"
.\"
.Sh null 層の操作
null 層は最小のファイルシステム層であり、
すべての操作を下位層に処理させるためにバイパスするだけです。
ほとんどすべてのvnodeに対する操作はパスすることですが、
その動作のほとんどはバイパスルーチンに集中します。
.Pp
バイパスルーチンは下位層における任意の vnode に対する操作を受け付けます。
まず、vnodeに対する操作の引数を検査し、
null-node を下位層において等価となるものに置き換えることから始めます。
次に、下位層の操作を起動します。
最後に、引数中の null-node を置き換えます。
もしその操作によってvnodeが返ってきたら、
その返ってきたvnodeの上に null-node を積みます。
.Pp
ほとんどの操作をバイパスしますが、
.Em vop_getattr ,
.Em vop_inactive ,
.Em vop_reclaim ,
.Em vop_print
はバイパスしません。
.Em vop_getattr
は戻り値の fsid を替えなければなりません。
.Em vop_inactive
と vop_reclaim は、null 層特有のデータを解放するためにバイパスしません。
.Em vop_print
は過度のデバッグ情報を避けるためにバイパスしません。
.\"
.\"
.Sh vnodeスタックの概説
マウントは null 層を下位層に関連づけます。
その結果 2 つの VFS が積み重なります。
vnode スタックはファイルがアクセスされるたびに必要に応じて作成されます。
.Pp
最初のマウントでは新しい null 層の根として単一の vnode スタックを作ります。
他のすべての vnode スタックは根の vnode スタックや他の null vnode スタックの
操作の結果として作られます。
.Pp
vnode を返す操作の結果として新しい vnode スタックが生まれます。
バイパスルーチンは、呼出し側に vnode を返す前に新しい vnode の上に null-node
を積みます。
.Pp
例えば、null 層を以下のようにマウントする例を想像します。
.Bd -literal -offset indent
mount_null /usr/include /dev/layer/null
.Ed
.Pa /dev/layer/null
にチェンジディレクトリすると、根の null-node (null 層をマウントした時
に作られたもの) が割り当てられます。
ここで
.Pa sys
をオープンすることを考えてみます。
vop_lookup は根の null-node で行なわれます。
この操作は下位層にバイパスされ、下位層が
UFS の
.Pa sys
を表す vnode を返します。
それから null_bypass は
UFS
.Pa sys
にエイリアスする null-node を構築し、呼出元にこれを返します。
null-node
.Pa sys
に対する以降の操作で他のvnodeスタックを構築する時には
この処理が繰り返されます。
.\"
.\"
.Sh 他のファイルシステム層の作成
新しいファイルシステム層を構築する一番簡単な方法は、
null 層のコピーを作り、すべてのファイル、変数の名前を付け直し、
そしてそのコピーを変更することです。
すべての変数の名前を変えるのには
.Xr sed 1
が良く使われます。
.Pp
umap 層は null 層の子孫の 1 例です。
.\"
.\"
.Sh 下位層の操作の起動
操作が完全にはバイパスできない時に
下位層にある操作を起動するための方法が 2 つあります。
それぞれの方法は違った状況に対して適切に使われます。
両方の場合とも、
その操作の引数を下位層のために正しく作るのはエイリアスする層の責任であり、
vnode 引数を下位層にマッピングします。
.Pp
最初の方法はエイリアスする層のバイパスルーチンを呼ぶことです。
この方法は、下位層で現在扱われている操作を起動したい時に最も適しています。
これはバイパスルーチンがすでにマッピングされているという利点があります。
この例として、
.Em null_getattrs
が null 層にあります。
.Pp
2 つ目の方法は、
.Em VOP_OPERATIONNAME
インタフェースを用いて下位層のvnodeの操作を直接起動することです。
この方法の利点は、下位層の任意の操作を起動するのが簡単ということにあります。
欠点は、vnode 引数は手動でマッピングされなければならないことです。
.\"
.\"
.Sh 関連項目
.Xr mount 8
.sp
UCLA Technical Report CSD-910056,
.Em "Stackable Layers: an Architecture for File System Development" .
.Sh 歴史
-.Nm mount_null
+.Nm
は、
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/mount_portal.8 b/ja_JP.eucJP/man/man8/mount_portal.8
index b69734ad4e..b7a1d3107d 100644
--- a/ja_JP.eucJP/man/man8/mount_portal.8
+++ b/ja_JP.eucJP/man/man8/mount_portal.8
@@ -1,141 +1,141 @@
.\"
.\" 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
.\" Jan-Simon Pendry.
.\"
.\" 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_portal.8 8.3 (Berkeley) 3/27/94
-.\" %Id: mount_portal.8,v 1.2.2.1 1998/07/17 20:13:33 jkh Exp %
+.\" %Id: mount_portal.8,v 1.3 1998/07/06 07:19:25 charnier Exp %
.\" jpman %Id: mount_portal.8,v 1.2 1997/03/31 13:38:30 horikawa Stab %
.\"
.\"
.Dd March 27, 1994
.Dt MOUNT_PORTAL 8
.Os BSD 4.4
.Sh 名称
.Nm mount_portal
.Nd ポータルデーモンをマウントする
.Pp
.Sh 書式
.Nm mount_portal
.Op Fl o Ar options
.Ar /etc/portal.conf
.Ar mount_point
.Sh 解説
.Nm
コマンドは、ポータルデーモンが提供するインスタンスを
ファイルシステムの名前空間に付加します。
慣例的なマウントポイントは
.Pa /p
です。このコマンド
は、通常、ブート時に
.Xr mount 8
によって実行されます。
.Pp
オプション:
.Bl -tag -width indent
.It Fl o
オプションは
.Fl o
のあとにオプション文字列をコンマで区切って並べることにより指定します。
指定できるオプションとそれらの意味は
.Xr mount 8
を参照してください。
.El
.Pp
ポータルデーモンは
.Em open
サービスを提供します。ポータルマウントポイント下で
オブジェクトをオープンすると、ポータルデーモンは設定ファイル中で指定
されたルールに従って動的にそのオブジェクトを生成します。
この機構を使えば、ソケットなどのディスクリプタをファイルシステムの
名前空間の中で使うことができるようになります。
.Pp
ポータルデーモンは、オープンしようとするオブジェクトのフルパス名を
与えることによって動作します。デーモンは、設定ファイル中のルールに従って
適切なディスクリプタを生成し、このディスクリプタを open システムコールの
戻り値として
呼び出しプロセスに返します。
.Sh 名前空間
慣例に従い、ポータルデーモンは名前空間を部分名前空間に分割します。
それぞれの部分名前空間は特定の型のオブジェクトを扱います。
.Pp
現在、
.Pa tcp
.Pa fs
という二つの部分名前空間が実装されています。
.Pa tcp
名前空間はホスト名とポート番号(スラッシュ``/''で区切られる)
を与えられることで
.Tn TCP/IP
接続を確立します。
.Pa fs
名前空間は、ルートディレクトリまで戻ってそこからたどった名前の
ファイルをオープンします。これは chroot によってルートディレクトリが
変更された環境において、もとのファイル
システムをアクセスする手法を安全に提供するために使用できます。
.Sh 設定ファイル
設定ファイルはルールのリストによって構成されます。それぞれのルールは
1行に書かれ、空白で区切られた2つ以上のフィールドからなります。ハッシュ記号
(``#'')から行末までは無視されます。空行も無視されます。
.Pp
第1フィールドはパス名のプレフィックスで、要求されたパス名と比較されます。
一致するものが見つかると、第2フィールドがデーモンに渡されてどの型の
オブジェクトを生成するかが示されます。
その後に続くフィールドは生成関数に渡されます。
.Pp
.Bd -literal -offset indent
# @(#)portal.conf 5.1 (Berkeley) 7/13/92
tcp/ tcp tcp/
fs/ file fs/
.Ed
.Sh 関連ファイル
.Bl -tag -width /p/* -compact
.It Pa /p/*
慣例的なマウントポイント
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh 警告
このファイルシステムは
.Tn NFS
によってエクスポートすることはできません。
.Sh 歴史
.Nm
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/mount_std.8 b/ja_JP.eucJP/man/man8/mount_std.8
index 15976a3059..317a733429 100644
--- a/ja_JP.eucJP/man/man8/mount_std.8
+++ b/ja_JP.eucJP/man/man8/mount_std.8
@@ -1,163 +1,163 @@
.\"
.\" Copyright (c) 1992, 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
.\" Jan-Simon Pendry.
.\"
.\" 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.
.\"
-.\" %Id: mount_std.8,v 1.3.2.3 1998/07/17 20:13:34 jkh Exp %
+.\" %Id: mount_std.8,v 1.8 1998/07/15 06:08:46 charnier Exp %
.\" jpman %Id: mount_std.8,v 1.3 1997/09/23 16:40:39 horikawa Stab %
.\"
.Dd May 13, 1996
.Dt MOUNT_STD 8
.Os FreeBSD 2.2
.Sh 名称
.Nm mount_std ,
.Nm mount_devfs ,
.Nm mount_fdesc ,
.Nm mount_kernfs ,
.Nm mount_procfs
.Nd ``標準'' ファイルシステムをマウントする
.Sh 書式
.Nm mount_ Ns Ar fsname
.Op Fl o Ar options
.Ar "fs"
.Ar mount_point
.Sh 解説
.Nm
は ``標準'' ファイルシステムをファイルシステムにマウントする一般的な機構です。
.Nm
は現在以下のファイルシステムをサポートしています:
.Nm devfs ,
.Nm fdesc ,
.Nm kernfs ,
.Nm procfs
``標準'' ファイルシステムは:
.Bl -enum -offset indent
.It
標準の
.Fl o
オプションだけを受け付けます
.Dq ro
.Pq ``rdonly'' ,
.Dq rw ,
.Dq nodev ,
.Dq noexec ,
.Dq nosuid ,
.Dq union
.It
ユーザに見える名前と同じ、カーネルファイルシステムモジュール名を持ちます。
.It
.Nm mount_std
では特別な処理を行う必要は有りません。
.El
.Pp
オプションを以下に示します:
.Bl -tag -width indent
.It Fl o
.Fl o
フラグの後には、コンマで区切ったオプション文字列を指定することができます。
指定可能なオプションとその意味は、
.Xr mount 8
マニュアルページを参照して下さい。
.El
.Pp
.Nm
は 0 番目のコマンドライン引数(呼ばれたコマンド名)を検査し、
マウントすべきファイルシステムを判定します。
これが
.Dq Li _ Ns Ar fsname
で終らない場合、
.Nm
は(
.Xr mount 8
と同じく)、ファイルシステムタイプの名前のみが 0 番目の引数に格納されていると
見倣します。
.Nm
は、この様にマウントされる分散ファイルシステムのコマンドへの
適切なリンクとして、通常はインストールされます。
各ファイルシステムの機能に関しては、
.Nm mount_ Ns Ar fsname
を御覧下さい。
.Pp
ファイルシステムに関する詳細は以下のマニュアルページを参照下さい:
.Xr devfs 5 ,
.Xr fdesc 5 ,
.Xr kernfs 5 ,
.Xr procfs 5
.Sh 診断
.Bl -diag
.It argv[0] must end in _fsname
.Nm mount_std
コマンドが
.Dq Li mount_std
の 0 番目の引数のコマンドとして呼ばれました。
.It vfsload(%s)
.Nm
は %s ファイルシステムタイプを実装するカーネルモジュールをロードできません。
.It %s filesystem not available
固有のファイルシステムタイプがカーネル中に存在せず、
ロード可能なモジュールが見付かりません。
.El
.Sh 関連項目
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr getvfsbyname 3 ,
.Xr devfs 5 ,
.Xr fdesc 5 ,
.Xr fstab 5 ,
.Xr kernfs 5 ,
.Xr procfs 5 ,
.Xr mount 8
.Sh 注意
``標準'' ファイルシステムは NFS エクスポートできません。
.Sh 歴史
.Nm mount_std
.Fx 2.2
から登場しました。
ロード可能なファイルシステムモジュールは
.Fx 2.0
から登場しました。
.Dq fdesc ,
.Dq kernfs ,
.Dq procfs
ファイルシステムタイプは
.Fx 2.0
から登場しました;
.Dq devfs
ファイルシステムタイプは
.Fx 2.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/mount_umap.8 b/ja_JP.eucJP/man/man8/mount_umap.8
index 54a4d49ff5..57adcb2775 100644
--- a/ja_JP.eucJP/man/man8/mount_umap.8
+++ b/ja_JP.eucJP/man/man8/mount_umap.8
@@ -1,124 +1,123 @@
.\" Copyright (c) 1992, 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
.\" Jan-Simon Pendry and from John Heidemann of the UCLA Ficus project.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)mount_umap.8 8.3 (Berkeley) 3/27/94
+.\" @(#)mount_umap.8 8.4 (Berkeley) 5/1/95
+.\" %Id: mount_umap.8,v 1.8 1998/07/15 06:12:31 charnier Exp %
.\" jpman %Id: mount_umap.8,v 1.2 1997/04/12 15:56:14 horikawa Stab %
.\"
-.Dd "March 27, 1994"
+.Dd May 1, 1995
.Dt MOUNT_UMAP 8
.Os BSD 4.4
.Sh 名称
.Nm mount_umap
.Nd ファイルシステム層のサンプルファイルシステム
.Pp
.Sh 書式
.Nm mount_umap
.Op Fl o Ar options
+.Fl u Ar uid-mapfile
+.Fl g Ar gid-mapfile
.Ar target
.Ar mount-point
-.Ar uid-mapfile
-.Ar gid-mapfile
.Sh 解説
-.Nm mount_umap
+.Nm
は、ローカルシステムとは異なる uid, gid を使用するファイルシステムの
サブトリーをマウントするために使用します。
そのようなファイルシステムには、別のサイトの NFS や
別のパスワードを使用する場所から持って来たリムーバブルメディア上の
ファイルシステムです。
.Pp
-以下のオプションを使用可能です:
-.Bl -tag -width indent
-.It Fl o
-.Fl o
-のあとに、コンマで区切ってオプション文字列を指定することができます。
-可能なオプションとその意味は
-.Xr mount 8
-を参照してください。
-.El
-.Pp
-.Nm mount_umap
+.Nm
はユーザが提供するファイルのセットを使用し、
サブトリーの元の環境とローカルの環境との uid, gid の対応を取ります。
元の環境では smith は uid 1000 を持ち、ローカル環境では
uid 2000 を持ちます。
-.Nm mount_umap
+.Nm
は、smith のオリジナルの環境で持っているファイルを次のようにマップさせます:
uid 1000 が所有するファイルを、実際には uid 2000 が所有者である
かのように見せます。
.Pp
-.Em target
-は、ローカルファイルシステム中での現在の位置を記述します。
-.Em mount_point
-はマップされたサブトリーが置かれるディレクトリです。
-.Em uid-mapfile
-と
-.Em gid-mapfile
-には、識別子の対応が記述されます。
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl o
+.Fl o
+のあとに、コンマで区切ってオプション文字列を指定することができます。
+可能なオプションとその意味は
+.Xr mount 8
+を参照してください。
+.It Ar target
+ローカルシステムの名前空間において、サブツリーの現在位置。
+.It Ar mount-point
+マップされたサブツリーが置かれるディレクトリ。
+.It Fl u Ar uid-mapfile
+.It Fl g Ar gid-mapfile
+識別子の対応が記述されます。
それぞれのファイルの1行目には、そのファイルがいくつの対応を持っている
かを記述します。
2行目からは、各行に対応を記述します。
-最初の項目はオリジナル環境での id で、次の項目がローカルな環境での idで、
+最初の項目はローカル環境での id で、次の項目がオリジナル環境での idで、
項目は空白で区切ります。
-.Em uid-mapfile
+.Ar uid-mapfile
にはすべての uid の対応を、
-.Em gid-mapfile
+.Ar gid-mapfile
にはすべての gid の対応を記述するべきです。
-.Em uid-mapfile
+.Ar uid-mapfile
に記載されない uid は NOBODY と、
-.Em gid-mapfile
+.Ar gid-mapfile
に記載されない gid は NULLGROUP と扱われます。
uid の対応は64個まで、gid の対応は16個まで記述することができます。
+.El
.Pp
マップファイルはファイル階層のどこにでも置くことができますが、
ファイルの所有者はrootで、rootのみが書き込めるようにしておかなければ
なりません。
-.Nm mount_umap
+.Nm
は、もしこれらのファイルの所有者や権限が
不適切な場合はサブトリーをマップしません。
もしマップファイルの1行目の対応数と実際の対応数が異なる場合も、
実行を停止します。
.Pp
-.Nm mount_umap
+.Nm
コマンドで作られるファイルシステム層は、簡単なファイルシステム層の
例となっています。商品としての利用は考えられていません。
そのため、あまり洗練された実装ではありません。
.Sh 関連項目
.Xr mount 8 ,
.Xr mount_null 8
.Sh 歴史
-.Nm mount_umap
+.Nm
.Bx 4.4
から実装されました。
diff --git a/ja_JP.eucJP/man/man8/mount_union.8 b/ja_JP.eucJP/man/man8/mount_union.8
index 0031d5c023..bbce452ca0 100644
--- a/ja_JP.eucJP/man/man8/mount_union.8
+++ b/ja_JP.eucJP/man/man8/mount_union.8
@@ -1,194 +1,195 @@
.\" Copyright (c) 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software donated to Berkeley by
.\" Jan-Simon Pendry.
.\"
.\" 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_union.8 8.6 (Berkeley) 3/27/94
+.\" %Id: mount_union.8,v 1.4 1998/07/15 06:13:45 charnier Exp %
.\" jpman %Id: mount_union.8,v 1.3 1997/08/31 14:06:42 horikawa Stab %
.\"
.Dd March 27, 1994
.Dt MOUNT_UNION 8
.Os BSD 4.4
.Sh 名称
.Nm mount_union
.Nd ユニオンファイルシステムをマウントする
.Sh 書式
.Nm mount_union
.Op Fl br
.Op Fl o Ar options
.Ar directory
.Ar uniondir
.Sh 解説
-.Nm mount_union
+.Nm
コマンドは
.Ar directory
.Ar uniondir
の上に接続し、そこから両方のディレクトリツリーの内容が見えるようにします。
デフォルトでは、
.Ar directory
.Em 上の
層に、
.Ar uniondir
.Em 下の
層になります。
.Pp
オプションには以下のものがあります:
.Bl -tag -width indent
.It Fl b
デフォルトの上下関係を反転します。つまり、
.Ar directory
が下の層に、
.Ar uniondir
が上の層になります。ただし、マウントポイントは
.Ar uniondir
のままになります。
.It Fl o
.Fl o
フラグの後には、オプション文字列をコンマで区切って指定します。
指定可能なオプションと、その意味については
.Xr mount 8
を参照してください。
.It Fl r
.Xr mount_null 8
でマウントした場合と同様に、下の層を完全に隠すようになります。
.El
.Pp
ファイルシステムのセキュリティを維持するため、
ファイルシステムをマウントするユーザは、スーパユーザか、
マウントポイントのディレクトリに書き込み許可を持つ者でなければなりません。
.Pp
ファイルの検索は、上の層、下の層の順におこなわれます。
上の層にはエントリのないディレクトリが、下の層で見つかった場合には、上の層に
.Em シャドウ
ディレクトリが作られます。
このディレクトリはユニオンマウントを実行したユーザの所有になり、モードは
.Dq rwxrwxrwx
(0777) をその時点で有効な umask で修正したものになります。
.Pp
あるファイルが上の層に存在している場合、下の層にある
同じ名前のファイルをアクセスする方法はありません。
どうしても必要なら、ループバックマウントとユニオンマウントを
組み合せることで、別のパス名を使って下の層のファイルを
アクセスできるようにしておくことができます。
.Pp
オブジェクトへのアクセスは、それがディレクトリである場合を除き、
通常のファイルシステムのアクセス権チェックのあとで実行されます。
ディレクトリの場合には、アクセスをおこなうユーザは上の層と下の層の
両方のディレクトリのアクセス権を持っていなければなりません
(両方のディレクトリが存在している必要があります)。
.Pp
いくつかの特別な場合を除き、
.Ar uniondir
中のオブジェクトの作成や変更の要求は上の層に渡されます。
下の層に存在するファイルを書き込み用にオープンしようとすると、
そのファイルの
.Em 完全な
コピーが上の層に作成され、それから上の層のコピーがオープンされます。
同様に、下の層のファイルを切り詰めてサイズを 0 にしようとすると、
空のファイルが上の層に作成されることになります。
これ以外の、本当に下の層の変更が必要となる操作は失敗し、
.Dv EROFS
が返されます。
.Pp
ユニオンファイルシステムは、個々のファイルシステムを扱うというよりも
名前空間を扱うものです。ユニオンマウントは
.Ar uniondir
以下のディレクトリツリーに再帰的に影響します。
このため
.Ar uniondir
以下にマウントされたファイルシステムは、すべて
ユニオン効果を持つようになります。これが
.Xr mount 8
.Em union
オプションとは異なる点です。
union オプションでは、ユニオン効果はマウントポイントだけに働き、
ファイル名の探索のみに使われます。
.Sh 使用例
コマンド
.Bd -literal -offset indent
mount -t cd9660 -o ro /dev/cd0a /usr/src
-mount -t union -o /var/obj /usr/src
+mount -t union /var/obj /usr/src
.Ed
.Pp
は、CD-ROM ドライブ
.Pa /dev/cd0a
.Pa /usr/src
にマウントし、その上に
.Pa /var/obj
を重ねます。ほとんどの場合、これはソースツリーが実際には CD-ROM 上に
あるにもかかわらず、書き込みが可能になるという効果を目的としています。
.Pp
コマンド
.Bd -literal -offset indent
mount -t union -o -b /sys $HOME/sys
.Ed
.Pp
は、ユーザのホームディレクトリの下の
.Pa sys
ディレクトリに、システムのソースツリーを下の層として重ね合わせます。
これにより、個々のユーザがそのソースツリーに対して個人的な変更を加えて、
新しいカーネルを構築することができるようになります。
他のユーザはその変更に関知しません。
下の層のファイルは、そのまま
.Pa /sys
からアクセスできることに注意してください。
.Sh 関連項目
.Xr intro 2 ,
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8 ,
.Xr mount_null 8
.Sh バグ
上の層を支えているファイルシステムで、ホワイトアウトが
サポートされていないため、下の層のオブジェクトに対して
削除や名前変更の操作をおこなう方法はありません。
このような操作や、下の層を変更する操作、たとえば
.Xr chmod 1
のような操作に対しては、
.Dv EROFS
が返されます。
.Pp
ユニオンツリーの上で
.Xr find 1
を実行すると、上の層にシャドウディレクトリのツリーが
作成されてしまうという副作用があります。
.Sh 歴史
-.Nm mount_union
+.Nm
コマンドは
.Bx 4.4
で初めて登場しました。
diff --git a/ja_JP.eucJP/man/man8/mountd.8 b/ja_JP.eucJP/man/man8/mountd.8
index acd10cb1df..4c56fa99ee 100644
--- a/ja_JP.eucJP/man/man8/mountd.8
+++ b/ja_JP.eucJP/man/man8/mountd.8
@@ -1,153 +1,157 @@
.\" Copyright (c) 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mountd.8 8.4 (Berkeley) 4/28/95
-.\" %Id: mountd.8,v 1.5.2.5 1998/07/30 02:11:58 alex Exp %
+.\" %Id: mountd.8,v 1.13 1998/07/15 06:21:39 charnier Exp %
.\"
.\" jpman %Id: mountd.8,v 1.3 1997/05/19 17:06:05 horikawa Stab %
.\"
.Dd April 28, 1995
.Dt MOUNTD 8
.Os
.Sh 名称
.Nm mountd
.Nd リモートの
.Tn NFS
マウント要求に対するサービスを行うデーモン
.Sh 書式
.Nm mountd
-.Op Fl 2dnr
+.Op Fl 2dlnr
.Op Ar exportsfile
.Sh 解説
.Nm
は、他のクライアントマシンからの
.Tn NFS
マウント要求のためのサーバです。
.Nm
は、
.Tn NFS
サーバの仕様で示されているポート
番号でサービス要求を待ちます。詳細は RFC1094
.%T "Network File System Protocol Specification"
の Appendix A と
.%T "NFS: Network File System Version 3 Protocol Specification"
の Appendix I
を参照してください。
.Pp
.Nm
では、以下のオプションや引数を指定できます:
.Bl -tag -width indent
このサーバからファイルシステムをマウントするクライアントに対し、
管理者はバージョン 2
.Tn NFS
プロトコルのみの使用を強制できます。
.It Fl d
デバッグ情報を出力します。
+.It Fl l
+成功した
+.Nm
+要求を記録します。
.It Fl n
非ルートからのマウント要求を許可します。
このオプションは、
クライアントが PC であるなど、それがどうしても必要な
場合にのみ使うようにしてください。
その場合、自動的に vfs.nfs.nfs_privport sysctl フラグがクリアされます。
このフラグはカーネルが NFS 要求を受け付けるのが、
予約されたポートからのみか否かを制御します。
.It Fl r
通常ファイルに対するマウント RPC 要求を許可します。
これは、マウントプロトコルの仕様によると危険なようですが、
いくつかのディスクレスワークステーションは、スワップファイルをマウント
しようとしますし、それが通常ファイルであることを期待しています。
通常ファイルは
.Pa /etc/exports
で指定できないので、スワップが置かれようとしているファイルシステム全体
が、
.Fl alldirs
フラグとともに公開されていなければなりません。
.It Ar exportsfile
exports ファイルの置き場所を指定します。
.El
.Pp
起動されると、
.Nm
.Xr mount 2
システムコールによって、公開するホストアドレスとオプションを
カーネル内にロードします。
公開設定ファイルを変更した場合は、
.Nm
に対して回線切断シグナルを送って
公開設定情報を再ロードする必要があります。
.Dv SIGHUP
を送ったあと(例:
kill \-s HUP `cat /var/run/mountd.pid`
)、exports ファイルにエラーがあるかどうか、
.Nm
の出力をチェックしてください。
.Pp
動作中のカーネルは
.Tn NFS
を組み込んでいないものであると判明した場合、
.Nm
は、
.Xr vfsload 3
を用いる
.Xr modload 8
コマンドを使って、
.Tn NFS
を含むローダブルカーネルモジュールのロードを試みます。
これが失敗するか、
.Tn NFS LKM
が使用できない場合は、
.Nm
はエラー終了します。
.Sh 関連ファイル
.Bl -tag -width /var/run/mountd.pid -compact
.It Pa /etc/exports
公開設定ファイル(エキスポートファイル)
.It Pa /var/run/mountd.pid
現在実行中の
.Nm
のプロセス id
.Tn ID
.It Pa /var/db/mountdtab
現在マウントされているリモートファイルシステムのリスト
.El
.Sh 関連項目
.Xr nfsstat 1 ,
.Xr exports 5 ,
.Xr modload 8 ,
.Xr nfsd 8 ,
.Xr portmap 8 ,
.Xr showmount 8
.Sh 歴史
.Nm
ユーティリティは
.Bx 4.4
から登場しています。
diff --git a/ja_JP.eucJP/man/man8/moused.8 b/ja_JP.eucJP/man/man8/moused.8
index 5bf272b533..2150d6bda5 100644
--- a/ja_JP.eucJP/man/man8/moused.8
+++ b/ja_JP.eucJP/man/man8/moused.8
@@ -1,561 +1,565 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. 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 Mike Pritchard.
.\" 4. Neither the name of the author 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 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: moused.8,v 1.1.2.5 1998/03/13 11:21:15 yokota Exp %
+.\" %Id: moused.8,v 1.15 1998/06/14 20:05:26 ahasty Exp %
.\"
.\" jpman %Id: moused.8,v 1.3 1997/07/22 16:52:17 horikawa Stab %
.Dd December 3, 1997
.Dt MOUSED 8
.Os FreeBSD
.Sh 名称
.Nm moused
.Nd マウスデータをコンソールドライバに渡す
.Sh 書式
.Nm
.Op Fl 3DPRcdfs
.Op Fl I Ar file
.Op Fl F Ar rate
.Op Fl r Ar resolution
.Op Fl S Ar baudrate
.Op Fl C Ar threshold
.Op Fl m Ar N=M
.Op Fl z Ar target
.Op Fl t Ar mousetype
.Fl p Ar port
.Pp
.Nm
.Op Fl Pd
.Fl p Ar port
.Fl i Ar info
.Sh 解説
マウスデーモン
.Nm
とコンソールドライバは協力し、
テキストコンソールやユーザプログラムにおけるマウス操作をサポートします。
マウスの仮想化とユーザプログラムへのマウスデータの提供は標準フォーマット
にて行われます
.Pq Xr sysmouse 4 を御覧ください
.Pp
マウスデーモンはマウスデータの読みとりのために指定されたポートを監視し、
解釈したデータを ioctl を介してコンソールドライバに渡します。
マウスデーモンは、移動、ボタンの押し/離しイベント、
存在するならばローラやホイールの移動も報告します。
ローラ/ホイールの移動は ``Z'' 軸での移動として報告されます。
.Pp
マウスポインタが
.Xr vidcontrol 4
によって有効にされていれば、
コンソールドライバはマウスポインタをスクリーンに表示し、
カットとペーストの機能を提供します。
.Xr sysmouse 4
をユーザプログラムがオープンすると、コンソールドライバは
マウスデータをこのデバイスに送るので、
ユーザプログラムはこのデータを使用できます。
.Pp
マウスデーモンがシグナル
.Dv SIGHUP
を受けとると、マウスポートを再オープンし、自己を再初期化します。
システムがサスペンドされている間にマウスの挿抜を行なった場合に有用です。
.Pp
以下のオプションがあります:
.Bl -tag -width indent
.It Fl 3
2 ボタンマウスで 3 番目(中)のボタンをエミュレートします。
物理的なボタンで左と右のものを同時に押すとエミュレートされます。
.It Fl C Ar threshold
ダブルクリック速度をボタンクリック間最大インターバルとしてミリ秒で指定します。
このオプションを指定しないと、デフォルト値は 500 ミリ秒が仮定されます。
このオプションは、
テキストモードコンソールのカットとペーストの操作においてのみ有効です。
.Xr sysmouse 4
を介してマウスデータを得るユーザプログラムは影響を受けません。
.It Fl D
シリアルポートの DTR を下げます。
このオプションが有効なのは、
.Ar mousesystems
がマウスプロトコルとして選択されている場合のみです。
.Ar mousesystems
モードで 3 ボタンマウスを操作するためには、
DTR ラインを落とすことが必要かもしれません。
.It Fl F Ar rate
サポートされていれば、デバイスのレポート頻度(秒あたりの回数)を設定します。
.It Fl I Ar file
.Nm
デーモンのプロセス ID を、指定されたファイルに書きます。
このオプションを指定しないと、プロセス ID は
.Pa /var/run/moused.pid
に格納されます。
.It Fl P
シリアルマウス識別時に、
プラグアンドプレイ COM デバイス列挙処理を開始しません。
.Fl i
オプションと共にこのオプションが指定された場合、
.Nm
はシリアルマウスに関する有用な情報を表示できません。
.It Fl R
シリアルポートの RTS を下げます。
このオプションが有効なのは
.Ar mousesystems
がプロトコルタイプとして、後述する
.Fl t
オプションで指定されている場合のみです。
これは前記
.Fl D
オプションと共によく使用されます。
.Ar mousesystems
モードで 3 ボタンマウスを操作するためには、
RTS と DTR のラインを共に下げる必要があるかもしれません。
.It Fl S Ar baudrate
シリアルポートの速度を指定します (1200 から 9600)。
全シリアルマウスがこのオプションをサポートするわけではありません。
.It Fl c
マウスによっては、中ボタンを押したイベントを、
左右ボタンが押されたかのようにレポートするものがあります。
このオプションはこれを扱うものです。
.It Fl d
デバッグ用のメッセージを有効にします。
.It Fl f
デーモンにならずに、フォアグラウンドプロセスとして実行します。
テストやデバッグに有用です。
.It Fl i Ar info
指定された情報を表示し終了します。指定可能な情報を以下に示します:
.Pp
.Bl -tag -compact -width modelxxx
.It Ar port
ポート(デバイスファイル)名、例えば
.Pa /dev/cuaa0 ,
.Pa /dev/mse0 ,
.Pa /dev/psm0
です。
.It Ar if
インタフェースタイプ: serial, bus, inport, ps/2 です。
.It Ar type
プロトコルタイプ。
.Fl t
オプションの説明の後でリストされているものか、
ドライバが
.Ar sysmouse
データフォーマット標準をサポートする場合には
.Ar sysmouse
です。
.It Ar model
マウスモデル。
.Nm
コマンドは常にモデルを識別できるわけではありません。
.It Ar all
上記全部。ポート、インタフェース、タイプ、モデルをこの順に一行に表示します。
.El
.Pp
.Nm
は要求された情報を判別できない場合、``unknown'' か ``generic'' を表示します。
.It Fl m Ar N=M
物理ボタン
.Ar M
に論理ボタン
.Ar N
を割当てます。
このオプションは任意個数指定可能です。
複数の物理ボタンを単一の論理ボタンに割り当て可能です。
この場合、指定された物理ボタンのいずれかが押されている場合、
論理ボタンが押されていることになります。`=' の周りにスペースを入れてはなりません。
.It Fl p Ar port
マウスと通信するためのポートとして
.Ar port
を使います。
.It Fl r Ar resolution
デバイスの解像度を設定します;
インチあたりのドット数または、
.Ar low ,
.Ar medium-low ,
.Ar medium-high ,
.Ar high
のいずれかです。
全デバイスにてこのオプションがサポートされているわけではありません。
.It Fl s
シリアルラインのために 9600 ボーを選びます。
全シリアルマウスがこのオプションをサポートしているわけではありません。
.It Fl t Ar type
ポートに接続されているマウスのプロトコルタイプを指定します。
以下に列挙されるタイプを陽に指定するか、
.Ar auto
を指定して
.Nm
コマンドに適切なプロトコルを自動選択させることができます。
コマンドラインにてこのオプションを指定しないと、
.Fl t Ar auto
が仮定されます。
通常では、
.Nm
コマンドがプロトコルの自動検出ができない場合に必要です
.Po Sx マウスデーモンの構成
を参照
.Pc
.Pp
また、
このオプションでプロトコルタイプを指定した場合、
前記
.Fl P
オプションが暗示され、プラグアンドプレイ COM デバイス列挙処理が無効になります。
.Pp
このオプションにおける有効なタイプを以下に列挙します。
.Pp
シリアルマウス:
.Bl -tag -compact -width mousesystemsxxx
.It Ar microsoft
Microsoft シリアルマウスプロトコル。
大抵の 2 ボタンマウスはこのプロトコルを使用します。
.It Ar intellimouse
Microsoft IntelliMouse プロトコル。
Genius NetMouse, ASCII Mie Mouse, Logitech MouseMan+, FirstMouse+
もこのプロトコルを使用します。
他のローラ/ホイールを持つマウスもこのプロトコル互換でしょう。
.It Ar mousesystems
MouseSystems の 5 バイトプロトコル。
3 ボタンマウスはこのプロトコルを使用するかもしれません。
.It Ar mmseries
MM Series マウスプロトコル。
.It Ar logitech
Logitech マウスプロトコル。
これは古い Logitech モデルであることに注意。
新しいモデルには
.Ar mouseman
もしくは
.Ar intellimouse
を指定します。
.It Ar mouseman
Logitech MouseMan と TrackMan のプロトコル。
3 ボタンマウスによってはこのプロトコル互換かもしれません。
MouseMan+ と FirstMouse+ は、このプロトコルではなく、
.Ar intellimouse
プロトコルを使用します
.It Ar glidepoint
ALPS GlidePoint プロトコル。
.It Ar thinkingmouse
Kensington ThinkingMouse プロトコル。
.It Ar mmhittab
Hitachi タブレットプロトコル。
+.It Ar x10mouseremote
+X10 MouseRemote。
.El
.Pp
バスおよび InPort マウス:
.Bl -tag -compact -width mousesystemsxxx
.It Ar busmouse
バスおよび InPort マウスはこのプロトコルのみ使用可能であり、
バスおよび InPort マウスはブランドに依らずこのオプションを
指定する必要があります。
.El
.Pp
PS/2 マウス:
.Bl -tag -compact -width mousesystemsxxx
.It Ar ps/2
PS/2 マウスはこのプロトコルのみ使用可能であり、
PS/2 マウスはブランドに依らずこのオプションを
指定する必要があります。
.El
.It Fl z Ar target
Z 軸(ローラ/ホイール)動作を別の軸や仮想ボタンに割り付けます。
有効な
.Ar target
は以下のいずれかです:
.Bl -tag -compact -width x__
.It Ar x
.It Ar y
X または Y 軸の移動として、検知した Z 軸移動を報告します。
.It Ar N
仮想ボタン
.Ar N
および
.Ar N+1
を押したイベントとして、検知した負/正の Z 軸移動をそれぞれ報告します。
物理ボタン
.Ar N
.Ar N+1
が存在する必要はありません。
論理ボタンへの割り付けは Z 軸移動を仮想ボタンへ割り付けた後に行われます。
.El
.El
.Ss マウスデーモンの構成
まず、使用予定マウスのインタフェースタイプを知ることが必要です。
これはマウスのコネクタを見れば分かります。
シリアルアウスは D-Sub の 9 ピンまたは 25 ピンのメスです。
バスおよび InPort のマウスは D-Sub 9 ピンのオスか丸い DIN 9 ピンコネクタです。
PS/2 マウスは小さくて丸い DIN 6 ピンコネクタです。
マウスによってはコネクタを別の形状に変換可能なコネクタが附属しています。
このようなアダプタを使用する場合には、
マウスから一番遠いコネクタの形状を見てください。
.Pp
次に決めねばならないことは、インタフェースのために使用するポートです。
バス、InPort、PS/2 マウスでは、選択肢はありません:
バスおよび InPort マウスは常に
.Pa /dev/mse0
を使用し、
PS/2 マウスは常に
.Pa /dev/psm0
を使用します。
シリアルマウスの場合、接続可能なポートが複数ありえます。
多くの人が組み込みのシリアルポート
.Pa /dev/cuaa0
をマウスに割当てます。
シンボリックリンク
.Pa /dev/mouse
でマウスの実際のポートを指すようにして、
どのマウスポートか後で簡単に分かるようにするのが良いかもしれません。
.Pp
次に適切なマウスプロトコルを選択します。
.Nm
コマンドはマウスタイプを自動決定可能かもしれません。
.Nm
コマンドを
.Fl i
オプションを付けて実行し、表示を見ます。
コマンドがプロトコルタイプを識別した場合、あなたは何も調べる必要はありません。
プロトコルタイプを指定せずにデーモンを起動可能です
.Po Sx 使用例
を参照
.Pc
.Pp
コマンドは、マウスドライバが
.Ar sysmouse
プロトコルをサポートする場合、
.Ar sysmouse
と表示するかもしれません。
.Pp
表示される
.Dv type
.Dv model
は、対象のポインティングデバイスの製品名では必ずしもありませんが、
互換性のあるデバイスの名前でしょう。
.Pp
.Fl i
オプションがなにも表示しない場合、
.Nm
に対して
.Fl t
オプションを使用し、プロトコルタイプを指定する必要があります。
予測して試行する必要があります。
以下に経験則を示します:
.Pp
.Bl -tag -compact -width 1.X
.It 1.
バスおよび InPort マウスはブランドに依らず
.Ar busmouse
プロトコルを使用します
.It 2.
PS/2 マウスはブランドに依らず
.Ar ps/2
プロトコルを使用します
.It 3.
ほとんどの 2 ボタンシリアルマウスは
.Ar microsoft
プロトコルをサポートします。
.It 4.
3 ボタンシリアルマウスは
.Ar mousesystems
プロトコルで動作するかもしれません。動作しない場合には、
三番目(中)ボタンが機能せずに
.Ar microsoft
プロトコルで動作するでしょう。
3 ボタンシリアルマウスは、期待通り三番目のボタンが動作しつつ
.Ar mouseman
プロトコルで動作するかもしれません。
.It 5.
3 ボタンマウスには小さなスイッチが付いていて、
``MS'' と ``PC'' または ``2'' と ``3'' とで選択できるできるようになっている
かもしれません。
``MS'' と ``2'' は通常
.Ar microsoft
プロトコルを意味します。
``PC'' と ``3'' は
.Ar mousesystems
プロトコルを選択します。
.It 6.
マウスにローラやホイールが付いている場合、
.Ar intellimouse
プロトコル互換でしょう。
.El
.Pp
マウスのために選択したプロトコルタイプが正しいかどうかテストする目的で、
現在の仮想コンソールでマウスポインタを有効にします。
.Pp
.Dl vidcontrol -m on
.Pp
マウスデーモンをフォアグラウンドで開始します。
.Pp
.Dl moused -f -p Ar _selected_port_ -t Ar _selected_protocol_
.Pp
マウスポインタがマウスの移動に伴い、
正しく移動することを確認してください。
そして、カットとペーストの機能を左、右、中のボタンを使用して確認してください。
^C をタイプすると、コマンドは停止します。
.Ss 複数のマウス
システムに接続したマウスと同じ数だけ、マウスデーモンを同時実行可能です;
一つのマウスデーモンが一つのマウスに対応します。
ラップトップコンピュータ組み込みの PS/2 ポインティングデバイスを移動中使用し、
オフィスではドッキングステーション接続のシリアルマウスを使用する
場合に有用です。
マウスデーモンを二つ実行し、アプリケーションプログラム
.Pq 例えば X Window System
.Xr sysmouse
を使用させます。
するとアプリケーションプログラムは常に両マウスからマウスデータを受け取ります。
シリアルマウスが取り付けられていない場合、
対応するマウスデーモンは移動やボタン状態の変化を検出しませんので、
アプリケーションプログラムは PS/2 マウスのデーモンからのマウスデータ
のみを使います。
一方この構成で両方のマウスを接続し同時に両方を動かした場合、
マウスの移動をすべて組合せたようにマウスポインタがスクリーン上を移動します。
.Sh 関連ファイル
.Bl -tag -width /dev/consolectl -compact
.It Pa /dev/consolectl
コンソール制御デバイス
.It Pa /dev/mse%d
バスおよび InPort マウスのドライバ
.It Pa /dev/psm%d
PS/2 マウスドライバ
.It Pa /dev/sysmouse
仮想化されたマウスドライバ
.It Pa /dev/ttyv%d
仮想コンソール
.It Pa /var/run/moused.pid
現在実行中の
.Nm
デーモンのプロセス ID
+.It Pa /var/run/MouseRemote
+X10 MouseRemote のイベントのための UNIX ドメインストリームソケット
.El
.Sh 使用例
.Pp
.Dl moused -p /dev/cuaa0 -i type
.Pp
.Nm
コマンドにシリアルポート
.Pa /dev/cuaa0
に接続されたマウスのプロトコルタイプを識別させます。
成功すると、コマンドはタイプを表示しますが、
失敗すると ``unknown'' が表示されます。
.Pp
.Dl moused -p /dev/cuaa0
.Dl vidcontrol -m on
.Pp
.Nm
が指定されたポートのマウスプロトコルタイプを識別可能な場合、
.Fl t
オプション無してデーモンを起動可能であり、
前記のようにマウスポインタをテキストコンソール上で有効にできます。
.Pp
.Dl moused -p /dev/mouse -t microsoft
.Dl vidcontrol -m on
.Pp
シリアルポート
.Pa /dev/mouse
に対してマウスデーモンを起動します。
プロトコルタイプは
.Ar microsoft
.Fl t
オプションにて陽に指定しています。
.Pp
.Dl moused -p /dev/mouse -m 1=3 -m 3=1
.Pp
物理ボタン 3 (右ボタン) を論理ボタン 1 (論理的に左) に、
物理ボタン 1 (左ボタン) を論理ボタン 3 (論理的に右) に、
それぞれ割当てます。
左右のボタンを事実上交換します。
.Pp
.Dl moused -p /dev/mouse -t intellimouse -z 4
.Pp
Z 軸(ローラ)における負の移動をボタン 4 が押されたものとし、
Z 軸における正の移動をボタン 5 が押されたものとします。
.Sh 警告
.Nm
コマンドは現在別のコンソールドライバ
.Xr pcvt 4
では動作しません。
.Pp
バッドデバイスの多くは、
ユーザがパッド表面を ``タップ'' した場合に最初の(左) ボタンが
押されたものとします。
また、ALPS GlidePoint モデルによっては、
タップ動作を 4 番目のボタンのイベントとして扱います。
このようなモデルでは、オプション ``-m 1=4'' を使用して、
他のパッドデバイスと同様の効果を得られます。
.Pp
仮想コンソールでのカットとペーストの機能は、
マウスに 3 ボタンあることを仮定しています。
論理ボタン 1 (論理的に左) は、
コンソールのテキスト領域を選択してカットバッファにコピーします。
論理ボタン 3 (論理的に右) は、
選択された領域を拡張します。
論理ボタン 2 (論理的に中) は、
選択されたテキストをテキストカーソル位置にペーストします。
マウスに 2 つしかボタンが無い場合、中央の `ペースト' ボタン
は使用できません。
ペースト機能を使用するためには、
.Fl 3
オプションを使用して中ボタンをエミュレートするか、
.Fl m
オプションを ``-m 2=3'' のように使用して
物理右ボタンに論理中ボタンを割当てます。
.Sh 関連項目
.Xr kill 1 ,
.Xr vidcontrol 1 ,
.Xr keyboard 4 ,
.Xr mse 4 ,
.Xr pcvt 4 ,
.Xr psm 4 ,
.Xr screen 4 ,
.Xr sysmouse 4
.Sh 規格
.Nm
コマンドは ``Plag and Play External COM Device Specification'' の一部を
サポートし、PnP シリアルマウスをサポートします。
しかしながら、シリアルマウスごとに仕様充足の度合が異なりますので、
標準のバージョン 1.0 に完全に従ってはいません。
このように厳密さを欠いた方法でも、シリアルマウスの適切なプロトコルタイプ
を常に決定できるわけではありません。
.Sh 作者
.Nm
コマンドは、
-.An Michael Smith
+.An Michael Smith Aq msmith@FreeBSD.org
によって書かれました。
このマニュアルは、
.An Mike Pritchard .Aq mpp@FreeBSD.org
によって書かれました。
コマンドとマニュアルページを、
-.An Kazutaka YOKOTA Aq yokota@FreeBSD.org
+.An Kazutaka Yokota Aq yokota@FreeBSD.org
が更新しました。
.Sh 歴史
.Nm
コマンドは、
.Fx 2.2
から導入されました。
diff --git a/ja_JP.eucJP/man/man8/mrinfo.8 b/ja_JP.eucJP/man/man8/mrinfo.8
index b52d6c5ded..1b990e94ca 100644
--- a/ja_JP.eucJP/man/man8/mrinfo.8
+++ b/ja_JP.eucJP/man/man8/mrinfo.8
@@ -1,91 +1,82 @@
.\" jpman %Id: mrinfo.8,v 1.2 1997/05/25 15:18:08 horikawa Stab %
-.TH MRINFO 8
-.UC 5
-.SH 名称
-mrinfo \- マルチキャストルータの設定情報を表示する
-.SH 書式
-.B /usr/sbin/mrinfo
-[
-.B \-d
-.I debug_level
-] [
-.B \-r
-.I retry_count
-] [
-.B \-t
-.I timeout_count
-]
-.B multicast_router
-
-.SH 解説
-.I mrinfo
+.Dd May 8, 1995
+.Dt MRINFO 8
+.Sh 名称
+.Nm mrinfo
+.Nd マルチキャストルータの設定情報を表示する
+.Sh SYNOPSIS
+.Nm mrinfo
+.Op Fl d Ar debug_level
+.Op Fl r Ar retry_count
+.Op Fl t Ar timeout_count
+.Ar multicast_router
+.Sh 解説
+.Nm
は、
-.I multicast_router
+.Ar multicast_router
で指定したマルチキャストルータの設定情報を表示します。
-.PP
-.I mrinfo
+.Pp
+.Nm
は、ASK_NEIGHBORS IGMP メッセージを送信することで隣接するマルチキャスト
ルータのデータ取得を行ないます。指定したマルチキャストルータからの応答が
あった場合には、バージョン番号と隣接するマルチキャストルータのアドレス一
覧が応答に含まれます。応答したルータが最新のマルチキャストバージョン番号を
持つ場合には、
.I mrinfo
はメトリック、スレッシュホールド、フラグのような追加情報を要求します。指
定したマルチキャストルータからの返答があると、当該ルータから取得した設定
情報が標準出力に表示されます。
-.br
-.ne 5
-.SH 起動
-.PP
-"\-d" オプションはデバッグレベルを設定します。デバッグレベルがデフォルト
+.Pp
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl d
+デバッグレベルを設定します。デバッグレベルがデフォルト
レベルであるところの 0 よりも大きい場合、追加デバッグメッセージが画面に出力
されます。デバッグレベルにかかわらず、エラーについてはエラーメッセージ
が出力され、
-.I mrinfo
+.Nm
は終了します。
デバッグレベルが 0 でない場合、以下の効果が期待できます:
-.IP "level 1"
+.Bl -tag -width indent
+.It "level 1"
パケットウォーニングが標準エラー出力に対して出力されます。
-.IP "level 2"
+.It "level 2"
レベル 1 のすべてのメッセージに加えて、ネットワークダウンについて標準エラー
出力に対して出力されます。
-.IP "level 3"
+.It "level 3"
レベル 2 のすべてのメッセージに加えて、パケットタイムアウトのすべての情報が
標準エラー出力に対して出力されます。
-.PP
-"\-r retry_count" オプションは隣接ルータに対するリトライ制限を設定します。
+.El
+.It Fl r Ar retry_count
+隣接ルータに対するリトライ制限を設定します。
デフォルトではリトライ回数は 3 です。
-.PP
-"\-t timeout_count"
-オプションは隣接ルータからの返答を待つ時間(タイムアウト)を秒単位で設定
+.It Fl t Ar timeout_count
+隣接ルータからの返答を待つ時間(タイムアウト)を秒単位で設定
します。デフォルトのタイムアウトは 4 秒です。
-.PP
-.SH 出力例
+.El
+.Sh 出力例
.nf
-.I mrinfo mbone.phony.dom.net
+.Nm mrinfo mbone.phony.dom.net
127.148.176.10 (mbone.phony.dom.net) [version 3.3]:
127.148.176.10 -> 0.0.0.0 (?) [1/1/querier]
127.148.176.10 -> 127.0.8.4 (mbone2.phony.dom.net) [1/45/tunnel]
127.148.176.10 -> 105.1.41.9 (momoney.com) [1/32/tunnel/down]
127.148.176.10 -> 143.192.152.119 (mbone.dipu.edu) [1/32/tunnel]
.fi
-.PP
+.Pp
指定したマルチキャストルータに隣接する個々のルータの IP アドレスが
表示されます。
指定したルータの IP アドレスに続き、隣接するルータの IP アドレスと名前
が表示されます。その後の括弧内には、メトリック(接続コスト)、スレッシュ
ホールド(マルチキャストパケット生存時間)が表示されます。問い合わせを受けた
マルチキャストルータが新しいバージョンの場合には、接続タイプ(tunnel, srcrt)
および接続状態(disabled, down)が表示されます。
-.PP
-.SH 注意
-.I mrinfo
+.Sh 注意
+.Nm
は、root で実行して下さい。
-.PP
-.SH 関連項目
-.BR mrouted (8) ,
-.BR map-mbone (8) ,
-.BR mtrace (8)
-.PP
-.SH 作者
-Van Jacobson
+.Sh 関連項目
+.Xr mrouted 8 ,
+.Xr map-mbone 8 ,
+.Xr mtrace 8
+.Sh 作者
+.An Van Jacobson
diff --git a/ja_JP.eucJP/man/man8/mrouted.8 b/ja_JP.eucJP/man/man8/mrouted.8
index 6e15548622..99b0e26471 100644
--- a/ja_JP.eucJP/man/man8/mrouted.8
+++ b/ja_JP.eucJP/man/man8/mrouted.8
@@ -1,426 +1,460 @@
-'\"COPYRIGHT 1989 by The Board of Trustees of Leland Stanford Junior University.
-'\"%Id: mrouted.8,v 1.5.2.2 1997/02/02 01:01:50 mpp Exp %
+.\"%Id: mrouted.8,v 1.10 1997/09/30 06:15:10 charnier Exp %
.\" jpman %Id: mrouted.8,v 1.3 1997/07/26 22:00:11 horikawa Stab %
-.TH MROUTED 8
-.UC 5
-.SH 名称
-mrouted \- IP マルチキャストルーティングデーモン
-.SH 書式
-.B mrouted
-[
-.B \-p
-] [
-.B \-c
-.I config_file
-] [
-.B \-d
-[
-.I debug_level
-]]
-.SH 解説
-.I mrouted
+.Dd May 8, 1995
+.Dt MROUTED 8
+.Sh 名称
+.Nm mrouted
+.Nd IP マルチキャストルーティングデーモン
+.Sh 書式
+.Nm mrouted
+.Op Fl c Ar config_file
+.Op Fl d Op Ar debug_level
+.Op Fl p
+.Sh 解説
+.Nm
は、RFC1075 にて規定されている Distance-Vector Multicast Routing Protocol
(DVMRP) の実装です。本コマンドは distance-vector routing protocol
(RIP に似たプロトコルであり、RFC1058 に記述されています)
を使うことで、ネットワークトポロジに関する情報を管理し、
そのプロトコルの上で、Reverse Path Multicasting と呼ばれる
マルチキャストデータグラムフォワーディングアルゴリズムを実装しています。
-.PP
-.I mrouted
+.Pp
+.Nm
は、マルチキャストデータグラムを、データグラムが生成されたサブネットを幹と
して樹状に構成されるパス上に、パスの最短距離を通過するようにして送出します。
マルチキャストツリーは目的のグループを含むサブネットを越えないブロード
キャストツリーと考えることができます。
したがって、データグラムはマルチキャストの受け手がいない枝には送出され
ません。
さらに、マルチキャストデータグラムパケットの生存時間によっては、到達で
きる範囲が限定される場合もあります。
-.PP
+.Pp
IP マルチキャストをサポートしない (ユニキャスト) ルータを介したサブネット間で、
マルチキャストを実現する場合、
-.I mrouted
+.Nm
の実装にはトンネリングのサポートも含まれます。トンネリングとは、
インターネットのあらゆるところにて稼働している
-.I mrouted
+.Nm
の組の間で仮想的なポイントツーポイントリンクを確立する技術です。
IP マルチキャストパケットは、トンネルを通過するところでカプセル化されます。
カプセル化されたパケットは、
ルータ及びサブネットを進む通常のユニキャストデータグラムに見えます。
トンネルの入口でカプセル化が行われ、トンネルの出口でカプセルが取り外されます。
デフォルトでは、パケットは、IP-in-IP プロトコル
(IP プロトコル番号 4)
を用いることでカプセル化を
行ないます。
古いバージョンの
-.I mrouted
+.Nm
のトンネリングは、
IP ソースルーティングを用いたものですが、
本手法はルータによっては大きな負荷をかけることになります。
本バージョンでは、IP ソースルーティングを用いたトンネリングは
サポートしません。
-.PP
+.Pp
トンネリング機構の実装により、
-.I mrouted
+.Nm
は、
実際のインターネットとは独立の、
マルチキャストパケットのみを扱う広範囲の自立システムに跨る
仮想インターネットを構築できます。
これを可能にすることにより、
実験的ではあるが、インターネットマルチキャストをサポートし、
(ユニキャスト)ルータによるマルチキャストルーティング
を可能にします。
-.I mrouted
+.Nm
は deistance vector ルーティングプロトコルが持つ
よく知られたスケーリングの問題の影響を被りますし、
階層的なマルチキャストルーティングを (まだ) サポートしていません。
-.PP
-.I mrouted
+.Pp
+.Nm
はマルチキャストルーティングのみを扱いますので、同じ機械の上でユニキャ
ストルーティングソフトが走っていてもいなくても構いません。
トンネリングを利用すれば、
-.I mrouted
+.Nm
はマルチキャストフォーワーディングのためにひとつより多くの
物理的なサブネットにアクセスする必要がありません。
-.br
-.ne 5
-.SH 起動オプション
-.PP
-"\-d" オプションが与えられないか、もしくは debug level として 0 が指定された
+.Pp
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl c Ar config_file
+別の設定コマンドファイルを指定します。
+デフォルトは
+.Pa /etc/mrouted.conf
+です。
+.Fl d
+オプションが与えられないか、もしくは debug level として 0 が指定された
場合、
-.I mrouted
+.Nm
は起動された端末から切り離されます。それ以外の場合は、
-.I mrouted
+.Nm
は、起動された端末に残り、起動された端末からの割り込みを受け付けます。
-"\-d" が引数なしで指定された場合の debug level はデフォルトの 2 です。
+.Fl d
+が引数なしで指定された場合の debug level はデフォルトの 2 です。
debug level の指定の有無にかかわらず、
-.I mrouted
+.Nm
は常に警告メッセージやエラーメッセージを syslogd に対して送ります。
0 以外の debug level が指定された場合、以下の挙動を示します:
-.IP "level 1"
+.Bl -tag -width indent
+.It "level 1"
すべての syslog へ出力されるメッセージは、stderr へも出力されます。
-.IP "level 2"
+.It "level 2"
debug level 1での挙動に加え、重要と思われる挙動通知を stderr に出力します。
-.IP "level 3"
+.It "level 3"
debug level 2 での挙動に加え、すべてのパケット送出/到着について stderr
に出力します。
-.PP
-起動にともない、mrouted はその pid を /var/run/mrouted.pid ファイルに
+.El
+.It Fl p
+枝苅りを抑止します。
+.El
+起動にともない、
+.Nm
+はその pid を
+.Pa /var/run/mrouted.pid
+ファイルに
書き出します。
-.SH 初期設定
-.PP
-.I mrouted
+.Sh 初期設定
+.Nm
は、自動的にすべてのマルチキャスト可能なインタフェース、
つまり、IFF_MULTICAST フラグがセットされたインタフェース
(ループバックインタフェースは除きます) に対して初期化を行い、別の
-.IR mrouted
+.Nm
に直接接続可能なインタフェースを探索します。
デフォルトの設定を上書きする、あるいは別の
-.IR mrouted
+.Nm
に対するトンネルリンクを付加するには、
-/etc/mrouted.conf (もしくは "\-c" オプションによって指定されるファイル)
+.Pa /etc/mrouted.conf
+(もしくは
+.Fl c
+オプションによって指定されるファイル)
を編集します。
コンフィグレーションのためには以下の 4 種類のコマンドがあります。
.nf
phyint <local-addr> [disable] [metric <m>] [advert_metric <m>]
[threshold <t>] [rate_limit <b>]
[boundary (<boundary-name>|<scoped-addr>/<mask-len>)]
[altnet <network>/<mask-len>]
tunnel <local-addr> <remote-addr> [metric <m>] [advert_metric <m>]
[threshold <t>] [rate_limit <b>]
[boundary (<boundary-name>|<scoped-addr>/<mask-len>)]
cache_lifetime <ct>
name <boundary-name> <scoped-addr>/<mask-len>
.fi
-.PP
+.Pp
ファイルの形式は自由です。すなわち、空白文字 (改行も含みます) は意味を
持ちません。
-.I boundary
+.Em boundary
-.I altnet
+.Em altnet
オプションは必要な数だけ指定して下さい。
-.PP
+.Pp
phyint コマンドはローカル IP アドレス <local-addr> によって認識される
物理インタフェース上のマルチキャストルーティングを無効にするか、
デフォルトでない metric あるいは threshold を
物理インタフェースに結びつけます。
ローカル IP アドレス <local-addr> はインタフェース名 (le0 等)
で代用できます。
phyint が複数の IP からなるサブネットに向けられる場合、
altnet キーワードを使用してそれぞれのサブネットについて記述して下さい。
phyint コマンドは tunnel コマンドより前に書く必要が有ります。
-.PP
+.Pp
tunnel コマンドはローカル IP アドレス <local-addr> と
リモート IP アドレス <remote-addr> とを結ぶトンネルリンクを作り、
デフォルトでない metric あるいは threshold をそのトンネルに結びつけます。
ローカル IP アドレス <local-addr> はインタフェース名(le0 等)で
置き換えても構いません。
リモート IP アドレス <remote-addr> は、
ホスト名に結びつけられた IP アドレスが 1 つである場合に限り、
ホスト名で置き換えても構いません。
-双方のルータの mrouted.conf ファイルにおいて、
+双方のルータの
+.Pa mrouted.conf
+ファイルにおいて、
そのトンネルが使用される前に記述されている必要があります。
-.PP
+.Pp
cache_lifetime はキャッシュされたマルチキャスト経路がタイムアウトまで
に kernel 内にどれだけ保持されるかを定めます。この変数は 300 (5 分) か
ら 86400 (1 日) の間がいいでしょう。デフォルトは 300 です。
-.PP
+.Pp
設定をキーワードを用いて簡単に行うために、境界に名前をつけることもでき
ます。phyint あるいは tunnel コマンドの boundary オプションは
名前もしくは boundary のいずれかを受け付けます。
-.PP
+.Pp
metric は与えられたインタフェースかトンネルへデータグラムを送るため
-の "コスト" です; 経路の選択に影響を与えます。
+の
+\&"コスト" です; 経路の選択に影響を与えます。
デフォルト値は 1 です。metric は可能なかぎり小さくすべきです。
なぜなら、
-.I mrouted
+.Nm
は metric の合計が 31 を越える経路を通ることができないからです。
-.PP
+.Pp
advert_metric は、与えられたインタフェースもしくは tunnel に関連する
-"コスト" です;
+\&"コスト" です;
これは経路選択に影響します。
advert_metric のデフォルト値は 0 です。
リンクの実際の metric は一端の metric ともう一端の advert_metric との和です。
-.LP
+.Pp
threshold は最小の IP の生存時間であり、
この要件を満たすマルチキャストデータグラムは
指定されるインタフェースもしくはトンネルを転送されます。
このパラメータによりマルチキャストデータグラムの到達範囲が定められます。
(転送されたパケットの TTL は threshold と比較するだけで、
threshold だけ TTL を減らしたりはしません。
すべてのマルチキャストルータは TTL を 1 づつ減らします。)
デフォルト値は 1 です。
-.LP
+.Pp
特定のサブネットやトンネルへ接続する
-.IR mrouted
+.Nm
は、一般的にはすべて同じ metric と threshold を持ちます。
-.PP
+.Pp
rate_limit オプションによって、ネットワークの管理者はマルチキャスト
トラフィックのために何キロビット毎秒のバンド幅をわりあてればよいかを指定
できます。デフォルト値は、トンネルは 500Kbps、
物理インタフェースは 0 (無制限) です。
-.PP
+.Pp
boundary オプションは、ある範囲のアドレスに対して、管理可能な境界を設
定します。この範囲のアドレスに属するパケットは範囲内のインタフェース
には転送されません。boundary オプションは名前もしくは境界にて指定します。
-.PP
-.I mrouted
+.Pp
+.Nm
は 2 つ以上の有効な vif (仮想インタフェース) が無いときには実行を開始しません。
vif はマルチキャスト可能な物理インタフェースもしくはトンネルです。
全ての仮想インタフェースがトンネルの場合は警告が記録されます;
そのような
-.I mrouted
+.Nm
の設定は、より多くの直接トンネルを指定した方が良いかもしれません
(中間管理者を削除するという意味です)。
-.SH 設定例
-.PP
+.Sh 設定例
以下は大きな学校にある架空のマルチキャストルータでの例です。
.sp
.nf
#
# mrouted.conf example
#
# Name our boundaries to make it easier
name LOCAL 239.255.0.0/16
name EE 239.254.0.0/16
#
# le1 is our gateway to compsci, don't forward our
# local groups to them
phyint le1 boundary EE
#
# le2 is our interface on the classroom net, it has four
# different length subnets on it.
# note that you can use either an ip address or an
# interface name
phyint 172.16.12.38 boundary EE altnet 172.16.15.0/26
altnet 172.16.15.128/26 altnet 172.16.48.0/24
#
# atm0 is our ATM interface, which doesn't properly
# support multicasting.
phyint atm0 disable
#
# This is an internal tunnel to another EE subnet
# Remove the default tunnel rate limit, since this
# tunnel is over ethernets
tunnel 192.168.5.4 192.168.55.101 metric 1 threshold 1
rate_limit 0
#
# This is our tunnel to the outside world.
# Careful with those boundaries, Eugene.
tunnel 192.168.5.4 10.11.12.13 metric 1 threshold 32
boundary LOCAL boundary EE
.fi
-.SH シグナル
-.PP
-.I mrouted
+.Sh シグナル
+.Nm
は以下のシグナルに反応します。
-.IP HUP
-.I mrouted
+.Bl -tag -width indent
+.It HUP
+.Nm
を再スタートします。
設定ファイルは再度読み込まれます。
-.IP INT
+.It INT
後かたづけをしてから実行終了します
(たとえば、隣接するルータすべてにさよならのメッセージを送ります)。
-.IP TERM
+.It TERM
INT と同じです。
-.IP USR1
-内部ルーティングテーブルを /var/tmp/mrouted.dump にダンプし
-ます。
-.IP USR2
-内部キャッシュテーブルを /var/tmp/mrouted.cache にダンプしま
-す。
-.IP QUIT
+.It USR1
+内部ルーティングテーブルを
+.Pa /var/tmp/mrouted.dump
+にダンプします。
+.It USR2
+内部キャッシュテーブルを
+.Pa /var/tmp/mrouted.cache
+にダンプします。
+.It QUIT
内部ルーティングテーブルを stderr にダンプします。
ただし、
-.I mrouted
+.Nm
が 0 以外の debug level の時のみです。
-.PP
+.El
+.Pp
シグナルを送る際の便宜のために、
-.I mrouted
-は開始時に自身の pid を /var/run/mrouted.pid に書き出します。
-.bp
+.Nm
+は開始時に自身の pid を
+.Pa /var/run/mrouted.pid
+に書き出します。
.SH 使用例
-.PP
ルーティングテーブルは以下のようになります:
.nf
Virtual Interface Table
Vif Local-Address Metric Thresh Flags
0 36.2.0.8 subnet: 36.2 1 1 querier
groups: 224.0.2.1
224.0.0.4
pkts in: 3456
pkts out: 2322323
1 36.11.0.1 subnet: 36.11 1 1 querier
groups: 224.0.2.1
224.0.1.0
224.0.0.4
pkts in: 345
pkts out: 3456
2 36.2.0.8 tunnel: 36.8.0.77 3 1
peers: 36.8.0.77 (2.2)
boundaries: 239.0.1
: 239.1.2
pkts in: 34545433
pkts out: 234342
3 36.2.0.8 tunnel: 36.6.8.23 3 16
Multicast Routing Table (1136 entries)
Origin-Subnet From-Gateway Metric Tmr In-Vif Out-Vifs
36.2 1 45 0 1* 2 3*
36.8 36.8.0.77 4 15 2 0* 1* 3*
36.11 1 20 1 0* 2 3*
.
.
.
.fi
この例では、4 つの vif が 2 つのサブネットと
2 つのトンネルにつながっています。
vif 3 がつながったトンネルは使われていません
(peer アドレスが有りません)。
vif 0 と vif 1 がつながったサブネットには
いくつかのグループが有ります;
トンネルにはグループは有りません。
この例の
-.I mrouted
-は、"querier" フラグが示すように、
+.Nm
+は、
+\&"querier" フラグが示すように、
定期的なグループメンバシップクエリを vif 0 および vif 1 サブネットにて
送出する責任が有ります。
境界のリストは当該インタフェースのアドレス範囲が示されます。
入力及び出力パケット数が各インタフェースに対して示されます。
-.PP
+.Pp
マルチキャストデータグラムの起源となりうるサブネットに関連して
表示される情報は、
直前のホップのルータのアドレス(サブネットが直接接続されていない場合)、
起源までのパスのメトリック、
当該サブネットから最後に更新を受信してから経過した時間、
当該起源からのマルチキャストが入力される vif、
出力 vif 一覧です。
-"*" は、
+\&"*" は、
起源を根とするブロードキャストツリーの葉に、
当該出力 vif が接続していることを意味します。
宛先グループのメンバが当該葉にいる時のみ、
当該起源からのマルチキャストデータグラムを当該出力 vif からフォワードします。
-.bp
-.PP
-.I mrouted
+.Pp
+.Nm
はカーネル内のフォワーディングキャッシュテーブルも管理します。
エントリの生成及び削除は
-.I mrouted
+.Nm
が行います。
-.PP
+.Pp
キャッシュテーブルは以下のようなものです:
.nf
Multicast Routing Cache Table (147 entries)
Origin Mcast-group CTmr Age Ptmr IVif Forwvifs
13.2.116/22 224.2.127.255 3m 2m - 0 1
>13.2.116.19
>13.2.116.196
138.96.48/21 224.2.127.255 5m 2m - 0 1
>138.96.48.108
128.9.160/20 224.2.127.255 3m 2m - 0 1
>128.9.160.45
198.106.194/24 224.2.135.190 9m 28s 9m 0P
>198.106.194.22
.fi
各エントリは起源のサブネット番号、マスク、宛先マルチキャストグループにて
区別します。
-'CTmr' フィールドは当該エントリの生存時間を表します。
+.Pp
+\&'CTmr' フィールドは当該エントリの生存時間を表します。
このタイマ値が 0 まで減算されたエントリはキャッシュテーブルから削除されます。
-'Age' フィールドはこのエントリが最初に生成されてから経過した時間を表します。
+.Pp
+\&'Age' フィールドはこのエントリが最初に生成されてから経過した時間を表します。
キャッシュエントリはリフレッシュされるため、
当該エントリに関するトラフィックが続く限りルーティングエントリは生き残ります。
-'Ptmr' フィールドは、上流に枝刈が送出されていなければ単に -、
+.Pp
+\&'Ptmr' フィールドは、上流に枝刈が送出されていなければ単に -、
そうでないばあいには上流の枝刈がタイムアウトするまでの時間を表します。
-'Ivif' フィールドは起源からのマルチキャストパケットが入力される vif
+.Pp
+\&'Ivif' フィールドは起源からのマルチキャストパケットが入力される vif
を表します。
各ルータは特定のソース及びグループに関し、
隣接するルータより受信する枝刈数の記録も管理します。
あるサブネットに関してマルチキャストツリーの下流の枝において
マルチキャストグループのメンバが存在しない場合、
上流のルータに対して枝刈メッセージが送信されます。
-この場合、vif 番号の後に "P" が付けられます。
-'Forwvifs' フィールドは
+この場合、vif 番号の後に
+\&"P" が付けられます。
+.Pp
+\&'Forwvifs' フィールドは
ソースグループに属するデータグラムがフォワードされる
インタフェースを表します。
-"p" は、このインタフェースを介してフォワードされるデータグラムが存在しない
+\&"p" は、このインタフェースを介してフォワードされるデータグラムが存在しない
ことを表します。
リストされないインタフェースは葉のサブネットであり、
特定のグループのメンバを当該サブネットに持ちません。
インタフェースにおける "b" の表示は、
当該インタフェースが境界インタフェースであることを表します。
すなわち、範囲内のアドレスのトラフィックは
当該インタフェースを介してフォワードされないことを意味します。
-">" を最初の文字として表示する追加の行は、当該サブネット上のソースと表します。
+.Pp
+\&">" を最初の文字として表示する追加の行は、
+当該サブネット上のソースと表します。
一つのサブネット上に複数のソースが存在可能であることに注意して下さい。
-.SH 関連ファイル
+.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 mrinfo 8 ,
+.Xr mtrace 8 ,
+.Xr map-mbone 8
+.Pp
/etc/mrouted.conf
.br
/var/run/mrouted.pid
.br
/var/tmp/mrouted.dump
.br
/var/tmp/mrouted.cache
-.SH 関連項目
.BR mrinfo (8) ,
.BR mtrace (8) ,
.BR map-mbone (8)
-.sp
+.Pp
DVMRP は、
他のマルチキャスト経路制御アルゴリズムと共に、
ACM SIGCOMM '88 コンファレンスのプロシーディングに、
S. Deering が
-"Multicast Routing in Internetworks and Extended LANs"
+\&"Multicast Routing in Internetworks and Extended LANs"
として記述しています。
.SH 作者
-Steve Deering, Ajit Thyagarajan, Bill Fenner
+.An Steve Deering ,
+.An Ajit Thyagarajan ,
+.An Bill Fenner
diff --git a/ja_JP.eucJP/man/man8/mtrace.8 b/ja_JP.eucJP/man/man8/mtrace.8
index 31507cbc7f..b694347df1 100644
--- a/ja_JP.eucJP/man/man8/mtrace.8
+++ b/ja_JP.eucJP/man/man8/mtrace.8
@@ -1,586 +1,543 @@
.\" Copyright (c) 1995 by the University of Southern California
.\" All rights reserved.
.\"
.\" Permission to use, copy, modify, and distribute this software and its
.\" documentation in source and binary forms for non-commercial purposes
.\" and without fee is hereby granted, provided that the above copyright
.\" notice appear in all copies and that both the copyright notice and
.\" this permission notice appear in supporting documentation, and that
.\" any documentation, advertising materials, and other materials related
.\" to such distribution and use acknowledge that the software was
.\" developed by the University of Southern California, Information
.\" Sciences Institute. The name of the University may not be used to
.\" endorse or promote products derived from this software without
.\" specific prior written permission.
.\"
.\" THE UNIVERSITY OF SOUTHERN CALIFORNIA makes no representations about
.\" the suitability of this software for any purpose. THIS SOFTWARE IS
.\" PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
.\" INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
.\" Other copyrights might apply to parts of this software and are so
.\" noted when applicable.
.\"
.\" This manual page (but not the software) was derived from the
.\" manual page for the traceroute program which bears the following
.\" copyright notice:
.\"
.\" Copyright (c) 1988 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" mtrace.8,v 5.1 1996/12/19 21:31:26 fenner Exp
.\"
.\" jpman %Id: mtrace.8,v 1.3 1997/08/20 12:03:14 horikawa Stab %
-.TH MTRACE 8 "May 8, 1995"
+.Dd May 8, 1995
+.Dt MTRACE 8
.UC 6
-.SH 名称
-mtrace \- 発信元から受信側へのマルチキャストのパスを表示する
-.SH 形式
-.B mtrace
-[
-.B \-e
-.I extrahops
-] [
-.B \-g
-.I gateway
-] [
-.B \-i
-.I if_addr
-] [
-.B \-l
-] [
-.B \-M
-] [
-.B \-m
-.I max_hops
-] [
-.B \-n
-] [
-.B \-O
-] [
-.B \-p
-] [
-.B \-P
-] [
-.B \-q
-.I nqueries
-] [
-.B \-r
-.I resp_dest
-] [
-.B \-s
-] [
-.B \-S
-.I stat_int
-] [
-.B \-t
-.I ttl
-] [
-.B \-T
-] [
-.B \-U
-] [
-.B \-v
-] [
-.B \-w
-.I waittime
-]
-.I source
-[
-.I receiver
-] [
-.I group
-]
-.SH 解説
-IP マルチキャストのトラフィックの配送における問題点を突き止めるのは困
-難な作業です。
-.B mtrace
-は IGMP プロトコルの拡張機能によってアクセスされる、マルチキャストルー
-タに実装されたトレース機能を利用します。
-.I receiver
+.Sh 名称
+.Nm mtrace
+.Nd 発信元から受信側へのマルチキャストの経路を表示する
+.Sh 書式
+.Nm mtrace
+.Op Fl e Ar extrahops
+.Op Fl g Ar gateway
+.Op Fl i Ar if_addr
+.Op Fl l
+.Op Fl M
+.Op Fl m Ar max_hops
+.Op Fl n
+.Op Fl O
+.Op Fl p
+.Op Fl P
+.Op Fl q Ar nqueries
+.Op Fl r Ar resp_dest
+.Op Fl s
+.Op Fl S Ar stat_int
+.Op Fl t Ar ttl
+.Op Fl T
+.Op Fl U
+.Op Fl v
+.Op Fl w Ar waittime
+.Ar source
+.Op Ar receiver
+.Op Ar group
+.Sh 解説
+IP マルチキャストのトラフィックの配送における問題点を突き止めるのは困難な
+作業です。
+.Nm mtrace
+は IGMP プロトコルの拡張機能によってアクセスされる、
+マルチキャストルータに実装されたトレース機能を利用します。
+.Ar receiver
から
-.I source
-への逆のパスに沿ったホップごとにトレースの問い合わせを行ない、パス上の
+.Ar source
+への逆経路に沿ったホップごとにトレースの問い合わせを行ない、経路上の
ホップのアドレス、パケット数、ルーティングのエラー状況の情報を収集し、
要求者へ応答を返します。
-.PP
-唯一必須であるパラメータは
-.I source
+.Pp
+唯一必須である引数は
+.Ar source
のホスト名もしくはアドレスです。デフォルトの
-.I receiver
+.Ar receiver
は mtrace を実行しているホストとなり、デフォルトの
-.I group
+.Ar group
は "MBone Audio" (224.2.0.1) となります。特定のマルチキャストグループ
でのパケット消失の統計が必要でなければ、これで十分です。以下に解説され
ているいくつかの制約を条件として、特定の group でのいくつかの他の
-receiver をテストするために、これらの 2 つのオプションのパラメータを指
-定することができます。
-.I receiver
+receiver をテストするために、これらの 2 つのオプションの引数を
+指定することができます。
+.Ar receiver
はユニキャストアドレスであり、
-.I group
-はマルチキャストアドレスであることより、これらの 2 つのパラメータは区
-別することができます。
-.B \-g
-フラグが指定されると、source アドレスには mtrace が実行されているホス
-トがデフォルトとして使われ、 receiver には
-.B \-g
+.Ar group
+はマルチキャストアドレスであることより、これらの 2 つの引数を
+区別することができます。
+.Fl g
+フラグが指定されると、source アドレスには
+.Nm mtrace
+が実行されているホストがデフォルトとして使われ、 receiver には
+.Fl g
フラグで指定されるルータがデフォルトとして使われます。この場合、必須の
-パラメータはありません。
-.PP
+引数はありません。
+.Pp
注釈: Solaris 2.4/2.5 ではマルチキャストインタフェースがデフォルトの
-インタフェースでなければ、 -i オプションによってローカルアドレスをセット
-しなければなりません。
-.SH オプション
-.TP 8 8
-.BI \-e\ extrahops
+インタフェースでなければ、
+.Fl i
+オプションによってローカルアドレスをセットしなければなりません。
+.Pp
+以下のオプションが使用できます:
+.Bl -tag -width indent
+.It Fl e Ar extrahops
応答がないルータを越えて、
-.I extrahops
+.Ar extrahops
だけのホップ数のトレースを試みます。
-.TP 8 8
-.BI \-g\ gwy
-トレースの問い合わせを、マルチキャストではなく、ユニキャストによって直
-接マルチキャストルータ
-.I gwy
+.It Fl g Ar gwy
+トレースの問い合わせを、マルチキャストではなく、ユニキャストによって
+直接マルチキャストルータ
+.Ar gwy
へ送ります。
このマルチキャストルータは意図する
-.I source
+.Ar source
から
-.I receiver
-へのパス上の最後のホップのルータでなければなりません。
-.RS 8
-.TP 12 12
-.I 注意!!
+.Ar receiver
+への経路上の最後のホップのルータでなければなりません。
+.Pp
+.Em 注意!!
バージョン 3.3 と 3.5 の
-.B mrouted
+.Nm mrouted
は、トレースの問い合わせがユニキャストパケットによって受信されかつ、
-.B mrouted
+.Nm mrouted
-.I source
+.Ar source
への経路がないと、クラッシュします。そのためターゲットの
-.B mrouted
+.Nm mrouted
が 3.4 であるか、3.5 より新しいことが分かっていなければ、
-.B \-g
+.Fl g
オプションを使わないでください。
-.RE
-.TP 8 8
-.BI \-i\ addr
-.I addr
-をトレースの問い合わせを送る (マルチホームホスト上の) ローカルインタ
-フェイスアドレス、および
-.I receiver
+.It Fl i Ar addr
+.Ar addr
+をトレースの問い合わせを送る (マルチホームホスト上の)
+ローカルインタフェースアドレス、および
+.Ar receiver
と応答先のデフォルトアドレスとして使用します。
-.TP 8 8
-.B \-l
-10 秒ごとにマルチキャストパスのパケットレートと消失の統計を表示して、
+.It Fl l
+10 秒ごとにマルチキャスト経路のパケットレートと消失の統計を表示して、
無限ループします。
(
-.B \-S
-.I stat_int
+.Fl S Ar stat_int
参照)
-.TP 8 8
-.B \-M
-試みの後半は、ユニキャストではなく、常にマルチキャストを使って応答を要
-求します。
-.TP 8 8
-.BI \-m\ n
-.I receiver
+.It Fl M
+試みの後半は、ユニキャストではなく、常にマルチキャストを使って応答を
+要求します。
+.It Fl m Ar n
+.Ar receiver
から
-.I source
+.Ar source
へ遡ってトレースされる最大ホップ数を
-.I n
+.Ar n
にセットします。
-デフォルトは 32 ホップ (DVMRP ルーティングプロトコルについては無限) で
-す。
-.TP 8 8
-.B \-n
-ホップアドレスをシンボル名および数字ではなく数字で表示します。(パス上に発見された
-各ルータに対するネームサーバでのアドレス-名前検索を省くことができます。)
-.TP 8 8
-.BI \-q\ n
+デフォルトは 32 ホップ (DVMRP ルーティングプロトコルについては無限)
+です。
+.It Fl n
+ホップアドレスをシンボル名および数字ではなく数字で表示します。
+(経路上に発見された各ルータに対する
+ネームサーバでのアドレス-名前検索を省くことができます。)
+.It Fl q Ar n
すべてのホップに対して試みる問い合わせの最大の回数を
-.I n
+.Ar n
にセットします。デフォルトは 3 です。
-.TP 8 8
-.B \-O
+.It Fl O
router-alert IP オプションを、これが必要な要求においても使用しません。
-Cisco の IOSのいくつかのバージョンでは IP オプションつきのマルチキャス
-トトレースルートが扱えないため、最後のホップのルータが Cisco のもので
-ある時は、-O フラグが必要となることがあります。
-.TP 8 8
-.B \-p
+Cisco の IOS のいくつかのバージョンでは IP オプションつきのマルチキャスト
+トレースルートが扱えないため、最後のホップのルータが Cisco のものである時は、
+.Fl O
+フラグが必要となることがあります。
+.It Fl p
他から起動されたトレースによるマルチキャストの応答を受動的に聴取します。
これはマルチキャストルータ上で動作している場合に最も良く動作します。
-.TP 8 8
-.B \-P
-10 秒おきにパス情報を収集しながら無限ループし
+.It Fl P
+10 秒おきに経路情報を収集しながら無限ループし
(
-.B \-S
-.I stat_int
+.Fl S Ar stat_int
参照)、
-パス情報が変化するとそれを表示します。統計情報は表示しません。
-.TP 8 8
-.BI \-r\ host
+経路情報が変化するとそれを表示します。統計情報は表示しません。
+.It Fl r Ar host
トレースの応答を、
-.B mtrace
+.Nm
が実行されているホストや
この目的で登録されている他のマルチキャストアドレス (224.0.1.32) ではなく、
-.I host
+.Ar host
へ送ります。
-.TP 8 8
-.B \-s
-マルチキャストパスのみを含む短い形式の表示を行ない、パケットレートと
+.It Fl s
+マルチキャスト経路のみを含む短い形式の表示を行ない、パケットレートと
消失統計は表示しません。
-.TP 8 8
-.BI \-S\ n
+.It Fl S Ar n
統計情報を収集する間隔を
-.I n
+.Ar n
秒 (デフォルトは 10 秒) に変更します。
-.TP 8 8
-.BI \-t\ ttl
+.It Fl t Ar ttl
マルチキャストトレースの問い合わせと応答の
-.I ttl
-(time-to-live もしくはホップ数) をセットします。ttl に 1 を使用する "全
-てのルータ" へのローカルな問い合わせの場合を除き、デフォルトは 127 で
-す。
-.TP 8 8
-.B \-T
-"トンネル統計" モードです。全てのトラフィックでのロスレートを表示しま
-す。これらの統計は非常に誤解を招くおそれのあるものです。
-.TP 8 8
-.B \-U
-マルチキャストから試みるのではなく、常にユニキャストによる応答を要求し
-ます。
-.TP 8 8
-.B \-v
+.Ar ttl
+(time-to-live もしくはホップ数) をセットします。ttl に 1 を
+使用する "全てのルータ" へのローカルな問い合わせの場合を除き、
+デフォルトは 127 です。
+.It Fl T
+"トンネル統計" モードです。全てのトラフィックでのロスレートを表示します。
+これらの統計は非常に誤解を招くおそれのあるものです。
+.It Fl U
+マルチキャストから試みるのではなく、常にユニキャストによる応答を要求します。
+.It Fl v
冗長モードです。最初のトレースのホップ時間と統計情報を表示します。最初
のトレースを転送するのに使用した経路も表示します。
-.TP 8 8
-.BI \-w\ n
+.It Fl w Ar n
トレースの応答の待ち時間を
-.I n
+.Ar n
秒 (デフォルトは 3 秒) にセットします。
-.SH 使用方法
-.SS どのように動作するか ?
-.B traceroute
+.El
+.Sh 使用方法
+.Ss どのように動作するか ?
+.Nm traceroute
ツールでユニキャストのネットワーク経路をトレースするために使用している
技法は IP マルチキャストでは動作しません。それは、ICMP 応答が
マルチキャストトラフィックでは禁止されているためです。そのかわりに、
トレースの機能はマルチキャストルータにおいて実装されています。
この技法は送出するパケット数を最小にしながら、
パケットレートやロスを計測できる点で優れています。
-.PP
+.Pp
マルチキャストでは逆経路転送が使われているため、トレースは
-.I receiver
+.Ar receiver
から
-.I source
+.Ar source
へ逆方向に実行されます。
トレースの問い合わせパケットは最終ホップのマルチキャストルータ (
-.I receiver
+.Ar receiver
アドレスでの末端ルータ) へ送られます。最終ホップのルータではトレースの
応答パケットを生成し、それにそのホップでのレポートを詰め込み、
ユニキャストを使って、指定された
-.I source
+.Ar source
から送られてくるパケットにおける、そのルータの前段のホップであると思わ
れるルータへ、生成したパケットを転送します。
経路上の各ルータはそのパケットにレポートを追加して転送します。
トレースの応答パケットが最初のホップのルータ ( source のネットワークに
直結されているルータ) に到達すると、そのルータはトレースの問い合わせに
指定されている応答の送り先アドレスへ最終的な形の応答を送ります。
-.PP
+.Pp
経路上のいくつかのマルチキャストルータにマルチキャストのトレースルート
機能が実装されていなかったり、停止しているものがあると、応答は返されま
せん。この問題を解決するには、応答が返されるまでにトレースされるホップ
数を制限するための最大ホップ数フィールドを、トレースの問い合わせに
含ませます。これによって、部分的な経路のトレースが可能となります。
-.PP
-各ルータによって挿入されるレポートには、ホップのアドレスだけでなく、転
-送のために必要な ttl とルーティングのエラーを示すいくつかのフラグ、そ
-れに受信と送信インタフェース上および指定された
-.I group
+.Pp
+各ルータによって挿入されるレポートには、ホップのアドレスだけでなく、
+転送のために必要な ttl とルーティングのエラーを示すいくつかのフラグ、
+それに受信と送信インタフェース上および指定された
+.Ar group
へ転送されたパケット数の合計が含まれます。時間をあけて 2 回トレースを
行なってこれらのパケット数の差分をとり、あるホップからの送信パケット
数とその次のホップでの受信パケット数を比較することにより、パケットレートと
パケット消失の統計が計算でき、ネットワークへの過負荷による問題を切
り離すことができます。
-.SS 最終ホップルータを見つける
+.Ss 最終ホップルータを見つける
トレースの問い合わせは
-.I source
+.Ar source
から
-.I receiver
+.Ar receiver
へ到る経路上の最後のホップであるマルチキャストルータへ送られなければな
りません。もし、receiver がローカルサブネット上にあれば (これはサブネットマスク
によって決定されます)、デフォルトの方法ではトレースの問い合わせ
を ttl を 1 にして all-routers.mcast.net (224.0.0.2) へマルチキャスト
します。receiver がサブネット上になければ、
-.I group
+.Ar group
へトレースの問い合わせをマルチキャストします。それは receiver がその
グループのメンバであれば、最後のホップルータもグループのメンバであるため
-です。そのため、意図している receiver が属しているグループを指定する必
-要があります。このマルチキャストは ttl をデフォルトの 127 にして送られ
+です。そのため、意図している receiver が属しているグループを指定する
+必要があります。このマルチキャストは ttl をデフォルトの 127 にして送られ
ます。この ttl は全ての場合では十分でないかもしれません。(
-.B \-t
+.Fl t
オプションで変更可能です。) もし最後のホップルータが分かっていれば、
-.B \-g
+.Fl g
オプションを使用して直接指定することもできます。また、最後のホップのルータが
別のグループのメンバであるということが分かっており、receiver が属
していないグループのトレースを行ないたい場合、
-.B \-g
+.Fl g
オプションを使用してトレースの問い合わせに別のマルチキャストアドレスを
指定することもできます。
-.PP
+.Pp
マルチホームであるホストやルータからのトレースを行なう場合は、デフォルトの
receiver のアドレスは source からの経路での意図したインタフェース
でないかも知れません。インタフェースを指定したい場合は、
-.I receiver
+.Ar receiver
によって明示的に指定しなければなりません。
-.SS 応答の誘導
-.B \-m
+.Ss 応答の誘導
+.Fl m
オプションによってトレースするホップ数が明示的に指定されている場合を除
き、
-.B mtrace
+.Nm
はデフォルトではまず逆経路全てに渡ったトレースを試みます。もしタイムアウト
時間である 3 秒 (これは
-.B \-w
+.Fl w
オプションで変更できます) 以内に応答がなければ、"*" が表示され、プローブ方式を
hop-by-hop モードに切り替えます。
トレースの問い合わせは最大ホップ数を 1 から開始し、応答を受信しなくなる
か全ての経路を網羅するまでホップ数を 1 づつ増やして行きます。
各ホップでは、複数のプローブ (デフォルトでは 3、
-.B \-q
+.Fl q
オプションで変更可)
が送られます。トレースの試みの前半 (デフォルトでは 2 回) では、応答
アドレスを標準のマルチキャストアドレス mtrace.mcast.net (224.0.1.32) に
セットし、ttl を receiver までの経路上で今までにあった最大のスレッショルド
である 32 にセットして行なわれます。引き続く各々の試みについては
ttl は最大 192 まで 32 づつ増やされます。
目的のルータはマルチキャスト応答を送ることができないかもしれないので、
残りの試みでは
-.B mtrace
+.Nm
が動作しているホストへユニキャストを使って応答することを要求します。
また、マルチキャストの ttl は
-.B \-t
-オプションを使って明示的に指定することができ、最初のマルチキャストの試
-みは
-.B \-U
+.Fl t
+オプションを使って明示的に指定することができ、最初のマルチキャストの試みは
+.Fl U
オプションを使ってユニキャストに強制的に変更することができ、最後の
マルチキャストの試みは
-.B \-M
+.Fl M
オプションを使って強制的にマルチキャストにすることができ、また
-.B \-UM
+.Fl UM
を指定することにより、
-.B mtrace
+.Nm
は最初はユニキャストで試み、次にマルチキャストを試みます。各々の試みで
-はタイムアウトとなるまで応答が受信できなければ "*" が表示されます。指
-定された回数の試みが失敗すると、
-.B mtrace
+はタイムアウトとなるまで応答が受信できなければ "*" が表示されます。指定された
+回数の試みが失敗すると、
+.Nm
は次のホップのルータへ (
-.B mrinfo
+.Nm mrinfo
プログラムで使われているように) DVMRP_ASK_NEIGHBORS2 要求で問い合わせ
を試み、そのルータの種類を調べます。
-.B mtrace
+.Nm mtrace
は応答がないルータを越えて 3 ホップ (これは
-.B \-e
+.Fl e
オプションで変更可能) へ、応答を返す能力がないとしてもその要求の転送は
できるであろうと想定して、問い合わせを試みます。
-.SH 使用例
-.B mtrace
+.Sh 使用例
+.Nm
の出力は 2つのセクションからなります。最初のセクションではホップが問い
合わされた順、すなわち
-.I source
+.Ar source
から
-.I receiver
-への逆順で簡潔にリストされます。各々のホップについて、ホップ番号 (逆パス
+.Ar receiver
+への逆順で簡潔にリストされます。各々のホップについて、ホップ番号 (逆経路
であることを示すように負の数でカウントされる)、マルチキャスト
ルーティングプロトコル (DVMRP、MOSPF、PIM など)、データの転送 (上向きの矢印で
示されたリストでの前のホップへの転送) 要求のスレッショルド、問い合わせ
がそのホップへ届くまでの遅れの累積 (クロックが同期している時のみ有効)
が 1 行で表示されます。最初のセクションの最後には、問い合わせが発行さ
れてから応答を受信するまでの間隔をローカルのシステムクロックで計測した
ラウンドトリップ時間と、パケットがこの経路を通って行き来するのに必要な
ttl の合計が表示されます。以下に使い方とその出力の例を示します。
-.PP
+.Pp
.nf
.ft C
oak.isi.edu 80# mtrace -l caraway.lcs.mit.edu 224.2.0.3
Mtrace from 18.26.0.170 to 128.9.160.100 via group 224.2.0.3
Querying full reverse path...
0 oak.isi.edu (128.9.160.100)
-1 cub.isi.edu (128.9.160.153) DVMRP thresh^ 1 3 ms
-2 la.dart.net (140.173.128.1) DVMRP thresh^ 1 14 ms
-3 dc.dart.net (140.173.64.1) DVMRP thresh^ 1 50 ms
-4 bbn.dart.net (140.173.32.1) DVMRP thresh^ 1 63 ms
-5 mit.dart.net (140.173.48.2) DVMRP thresh^ 1 71 ms
-6 caraway.lcs.mit.edu (18.26.0.170)
Round trip time 124 ms; total ttl of 6 required.
.fi
-.PP
+.Pp
あるホップがパケットを転送するのにデフォルトの経路を使っていることを報
告すれば、
-.B [default]
+.Em [default]
がそのホップの後に表示されます。
-.B \-v
+.Fl v
フラグが指定されていれば、そのパケットを転送するのに使われた経路が
-.B [18.26.0/24]
+.Em [18.26.0/24]
の形式で表示されます。
-.PP
-2 番目のセクションでは転送のパスが図によって表示されます。データの流れ
-は下向きの矢印で表され、問い合わせのパスは上向きの矢印で表されます。各
+.Pp
+2 番目のセクションでは転送の経路が図によって表示されます。データの流れ
+は下向きの矢印で表され、問い合わせの経路は上向きの矢印で表されます。各
ホップでは、ルータの入力アドレスと出力アドレスが違っていれば、それらの
-アドレスが、そのホップパケットを転送するのに必要な ttl の初期値と、両
-端のルータのクロックが同期していると想定した場合のホップにまたがった伝
-搬遅れとともに表示されます。このセクションの右半分は 2 組の統計情報か
+アドレスが、そのホップパケットを転送するのに必要な ttl の初期値と、
+両端のルータのクロックが同期していると想定した場合のホップにまたがった
+伝搬遅れとともに表示されます。このセクションの右半分は 2 組の統計情報か
ら構成されます。最初のカラムには各ホップでの全てのトラフィックについて
の平均のパケットレートが表示されます。残りのカラムでは消失したパケット
の数、送信したパケットの数、消失したパーセンテージ、それに平均パケット
レートが各ホップについて表示されます。これらの統計情報は上で解説したよ
うにトレース間の差とホップ間の差から計算されます。最初のグループでは、
あるホップでのインタフェースにおける全流出トラフィックと次のホップでの全流入
トラフィックの統計情報が表示されます。2 番目のグループでは、指定された
-.I source
+.Ar source
から指定された
-.I group
+.Ar group
への転送トラフィックのみについての統計情報が表示されます。統計の最初の
グループは
-.B \-T
+.Fl T
オプションを使って消失レートを含ませることもできます。しかし、これらの
数字は大幅な誤差を含む可能性があり、これらを適切に解釈するためには
ルータについての詳細な知識が要求されるでしょう。
-.PP
+.Pp
これらの統計情報は各々のホップにつき 1 行か 2 行で表示されます。
オプションが何も指定されていないと、この出力中の 2 番目のセクションは最初
のトレースからおよそ 10 秒後に 1 度のみ表示されます。各ホップにつき 1
行にその 10 秒間での統計情報を表示します。もし
-.B \-l
+.Fl l
オプションが指定されていると、2 番目のセクションは 10 秒ごとに繰り返さ
れ、各ホップにつき 2 行が表示されます。最初の行ではそれまでの 10 秒間
における統計が表示され、2 番目の行で最初のトレースからの累積の統計情報
が表示されます。下の例ではこれは 101 秒間での統計となっています。
-.B \-s
+.Fl s
オプションが指定されるか、マルチキャストグループが指定されていると、こ
の出力での 2 番目のセクションは省略されます。
.ie t \{\
.ft C
. ie \w'i'<>\w'm' \{\" looks like this is not proper Courier font
(If this example is not properly columned with a fixed-width font, get
.B groff
and try again.)
. \}
.\}
-.PP
+.Pp
.ft C
.nf
Waiting to accumulate statistics... Results after 101 seconds:
Source Response Dest Overall Packet Statistics For Traffic From
18.26.0.170 128.9.160.100 Packet 18.26.0.170 To 224.2.0.3
| __/ rtt 125 ms Rate Lost/Sent = Pct Rate
v / hop 65 ms ------- ---------------------
18.26.0.144
140.173.48.2 mit.dart.net
| ^ ttl 1 0 pps 0/2 = --% 0 pps
v | hop 8 ms 0 pps 0/18 = 0% 0 pps
140.173.48.1
140.173.32.1 bbn.dart.net
| ^ ttl 2 0 pps 0/2 = --% 0 pps
v | hop 12 ms 0 pps 0/18 = 0% 0 pps
140.173.32.2
140.173.64.1 dc.dart.net
| ^ ttl 3 27 pps 0/2 = --% 0 pps
v | hop 34 ms 26 pps 0/18 = 0% 0 pps
140.173.64.2
140.173.128.1 la.dart.net
| ^ ttl 4 83 pps 0/2 = --% 0 pps
v | hop 11 ms 79 pps 0/18 = 0% 0 pps
140.173.128.2
128.9.160.153 cub.isi.edu
| \\__ ttl 5 83 pps ?/2 0 pps
v \\ hop -8 ms 79 pps ?/18 0 pps
128.9.160.100 128.9.160.100
Receiver Query Source
.fi
-.PP
+.Pp
パケットのカウント数はトレースの問い合わせが伝搬するとともに変化するた
め、統計情報中には小さな誤差 (1 か 2 のずれ) が含まれることがあります。
しかし、これらの誤差は累積されるべきではないため、累積統計行ではあらた
なトレースが 10 秒ごとに実行されるたびに精度が増さなければなりません。
-大きな誤差の要因としては 2 つあり、このいずれもマイナスのロスとして現
-われます。
-.LP
-.RS
-.PD 0
-.TP 3
-\(bu
+大きな誤差の要因としては 2 つあり、このいずれもマイナスのロスとして現われます。
+.Pp
あるノードへの入力カウントが他のノードがアタッチされているマルチアクセス
ネットワークからのものであれば、入力カウントはアタッチされている全てのノード
からの出力カウントの総和となります (もしくは近くなります) が、トレースし
-ているパス上のその前のホップからの出力カウントはその単なる一部分となり
+ている経路上のその前のホップからの出力カウントはその単なる一部分となり
ます。そのため、出力カウントから入力カウントを引いたものはマイナスの値
になります。
-.TP 3
-\(bu
+.Pp
SunOS およびその他のシステムにおける DVMRP マルチキャスト転送ソフトウェアの
リリース 3.3 では、ルータにおいて生成されたマルチキャストパケット
はインタフェースに入力されていない場合においても、入力されたものとし
てカウントされます。これは上の例において見ることのできるマイナスのロス
となります。
-.PD
-.RE
-.LP
+.Pp
これらのマイナスのロスはプラスのロスを隠してしまうことが
あることに注意してください。
-.PP
+.Pp
この例ではまた、1 つマイナスのホップの時間が表示されています。これは
単にそのホップ間でのシステムクロックが同期していないことを示しています。
-この例ではまた、送られたパケットの数が 10 より少ない時には、パーセンテー
-ジの値は統計的に有効ではないため、ロスのパーセンテージが 2 つのダッシュ
+この例ではまた、送られたパケットの数が 10 より少ない時には、パーセンテージの
+値は統計的に有効ではないため、ロスのパーセンテージが 2 つのダッシュ
として表示されることも示しています。
-.PP
+.Pp
2 番目の例では ローカルでない receiver へのトレースを示します。問い合
わせは
-.B \-g
-オプションによって最終ホップのルータに送られます。この例では、全逆パス
-のトレースが、マルチキャストトレースルート機能が実装されていない古いバー
-ジョンの
-.B mrouted
+.Fl g
+オプションによって最終ホップのルータに送られます。この例では、全逆経路
+のトレースが、マルチキャストトレースルート機能が実装されていない
+古いバージョンの
+.Nm mrouted
が動作しているノードがあるために応答なしの結果となっており、そのため
-.B mtrace
+.Nm
は hop-by-hop モードに切り替わっています。\*(lqOutput pruned\*(rq の
エラーコードはグループ 224.2.143.24 へのトラフィックが転送されていないこ
とを示しています。
-.PP
+.Pp
.nf
.ft C
oak.isi.edu 108# mtrace -g 140.173.48.2 204.62.246.73 \\
butter.lcs.mit.edu 224.2.143.24
Mtrace from 204.62.246.73 to 18.26.0.151 via group 224.2.143.24
Querying full reverse path... * switching to hop-by-hop:
0 butter.lcs.mit.edu (18.26.0.151)
-1 jam.lcs.mit.edu (18.26.0.144) DVMRP thresh^ 1 33 ms Output pruned
-2 bbn.dart.net (140.173.48.1) DVMRP thresh^ 1 36 ms
-3 dc.dart.net (140.173.32.2) DVMRP thresh^ 1 44 ms
-4 darpa.dart.net (140.173.240.2) DVMRP thresh^ 16 47 ms
-5 * * * noc.hpc.org (192.187.8.2) [mrouted 2.2] didn't respond
Round trip time 95 ms
.fi
-.SH 作者
-Ajit Thyagarajan によって書かれた最初のプロトタイプをベースにして、
-Steve Casner によって実装されました。マルチキャストトレースルートの
-メカニズムは Steve Casner、Steve Deering、Dino Farinacci、Deb Agrawal の
-助けを得て、Van Jacobson によって設計され、Ajit Thyagarajan と Bill
-Fennerによって
-.B mrouted
-に実装されました。オプションのシンタックスと
-.B mtrace
-の出力フォーマットは、Van Jacobson によって書かれたユニキャストの
-.B traceroute
+.Sh 作者
+.An Ajit Thyagarajan
+によって書かれた最初のプロトタイプをベースにして、
+.An Steve Casner
+によって実装されました。マルチキャストトレースルートの
+メカニズムは
+.An Steve Casner ,
+.An Steve Deering ,
+.An Dino Farinacci ,
+.An Deb Agrawal
+の助けを得て、
+.An Van Jacobson
+によって設計され、
+.An Ajit Thyagarajan
+と
+.An Bill Fenner
+によって
+.Nm mrouted
+に実装されました。オプションの構文と
+.Nm
+の出力形式は、
+.An Van Jacobson
+によって書かれたユニキャストの
+.Nm traceroute
をモデルにしています。
-.SH 関連項目
-.BR mrouted (8) ,
-.BR mrinfo (8) ,
-.BR map-mbone (8) ,
-.BR traceroute (8)
-.SH バグ
-.PP
-パッシブモードでの統計収集は、活発にデータを収集しているときと常に同じ
+.Sh 関連項目
+.Xr mrouted 8 ,
+.Xr mrinfo 8 ,
+.Xr map-mbone 8 ,
+.Xr traceroute 8
+.Sh バグ
+.Pp
+受動モードでの統計収集は、能動的にデータを収集しているときと常に同じ
出力とはなりません。
diff --git a/ja_JP.eucJP/man/man8/mtree.8 b/ja_JP.eucJP/man/man8/mtree.8
index 46928663c6..ed6ede1aef 100644
--- a/ja_JP.eucJP/man/man8/mtree.8
+++ b/ja_JP.eucJP/man/man8/mtree.8
@@ -1,293 +1,293 @@
.\" 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
-.\" %Id: mtree.8,v 1.7.2.3 1998/07/18 11:11:06 jkh Exp %
+.\" %Id: mtree.8,v 1.13 1998/06/10 06:45:08 peter Exp %
.\" jpman %Id: mtree.8,v 1.3 1997/08/16 13:31:00 horikawa Stab %
.\"
.Dd February 9, 1995
.Dt MTREE 8
.Os
.Sh 名称
.Nm mtree
.Nd ディレクトリ階層をマップする
.Sh 書式
.Nm mtree
.Op Fl cdeinrUux
.Op Fl f Ar spec
.Op Fl K Ar keywords
.Op Fl k Ar keywords
.Op Fl p Ar path
.Op Fl s Ar seed
.Sh 解説
.Nm
は、カレントディレクトリをルートとするファイル階層を、
標準入力から読み込んだファイル階層記述と比較します。
.\" ↑原文では単に "specification" となっているが、日本語に訳すと
.\" わかりにくいので、「ファイル階層記述」という語をあてている。
.\" 以下も同様。 -- jpman J.Sakai
その記述とマッチしない特性をもつファイルや、
実際のファイル階層あるいはファイル階層記述のいずれかから欠落しているファイル
に関するメッセージを標準出力に出力します。
.Pp
以下のオプションがあります:
.Bl -tag -width flag
.It Fl c
ファイル階層の記述を標準出力に出力します。
.It Fl d
ディレクトリ型以外のファイルは全て無視します。
.It Fl e
ファイル階層には存在するが、ファイル階層記述に存在しないファイルが
あっても警告しません。
.It Fl f Ar file
ファイル階層記述を、標準入力からではなく、ファイル
.Ar file
から読み込みます。
.It Fl i
.Fl c
オプションでファイル階層記述を作成する際、
ディレクトリレベルを一つ下りる毎に空白 4 つ分ずつインデントして出力します。
各ディレクトリ前に出力される /set 文やコメントには影響を与えませんが、
各ディレクトリの最後に出力されるコメントには影響を及ぼします。
.It Fl K Ar keywords
指定した
.Ar keywords
(空白あるいはコンマで区切ったもの) を
現在のキーワード集合に追加します。
.It Fl k Ar keywords
現在のキーワード集合の代わりに、
``type'' キーワードおよび
指定した
.Ar keywords
(空白あるいはコンマで区切ったもの) を使用します。
.It Fl n
ファイル階層記述作成の際、パス名コメントを出力しません。
.Fl c
オプション使用時は通常、各ディレクトリの前後にコメントが出力されます。
.It Fl p Ar path
ファイル階層のルートディレクトリを、カレントディレクトリではなく
.Ar path
とします。
.It Fl r
ファイル階層記述に記載されていないファイル階層に含まれるファイルを
全て削除します。
.It Fl s Ar seed
キーワード
.Cm cksum
が指定されている全ファイルに対する単一のチェックサムを
標準エラー出力に出力します。
チェックサムのシードには指定された値が用いられます。
.It Fl U
既存ファイルの所有者、グループおよびパーミッションを
ファイル階層記述に合わせて修正し、欠落しているディレクトリを作成します。
欠落ディレクトリを作成するために、ユーザ、グループおよびパーミッションの
全てを指定しなければなりません。
成功するとステータス 0 で終了し、
何らかのエラーが発生すると 1 で終了します。
ミスマッチがあっても、それが訂正されればエラーとはみなされません。
.It Fl u
オプション
.Fl U
と同様ですが、現ファイル階層がファイル階層記述とマッチしなければ
ステータス 2 を返します。
.It Fl x
ファイル階層中のマウントポイント以下に降下しません。
.El
.Pp
ファイル階層記述は多くの場合、「キーワード」つまり
ファイルに関連した値を指定する文字列から構成されます。
どのキーワードにもデフォルト値はありません。
キーワードに値が設定されていない場合、
そのキーワードに基づいたチェックは行われません。
.Pp
現在サポートされているキーワードは以下の通りです:
.Bl -tag -width Cm
.It Cm cksum
.Xr cksum 1
ユーティリティで規定されるデフォルトアルゴリズムを用いた
ファイルのチェックサム。
.It Cm ignore
このファイル以下のファイル階層を無視します。
.It Cm gid
数値で指定したファイルのグループ。
.It Cm gname
シンボル名で指定したファイルのグループ。
.It Cm md5digest
ファイルの MD5 メッセージダイジェスト。
.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
ファイルタイプ。以下のいずれかを指定します:
.sp
.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 gid ,
.Cm mode ,
.Cm nlink ,
.Cm size ,
.Cm link ,
.Cm time ,
.Cm uid
です。
.Pp
ファイル階層記述には 4 つのタイプの行があります。
.Pp
1 つめのタイプの行はキーワードに大域的な値を設定するもので、
文字列 ``/set'' とそれに続く空白、そしてキーワードとその値のペアの集合を
空白で区切ったものから構成されます。
キーワードとその値のペアはキーワードとそれに続く等号 (``='')、
そして値から成り、空白は含みません。
一旦キーワードが設定されると、再設定あるいは設定解除されるまで
その値は変化しません。
.Pp
2 つめのタイプの行はキーワードの設定を解除するもので、
文字列 ``/unset'' とそれに続く空白、そして 1 つ以上のキーワードを
空白で区切ったものから構成されます。
.Pp
3 つめのタイプの行はファイル記述を行うもので、
ファイル名とそれに続く空白、そしてゼロ個以上のキーワードと値のペアを
空白で区切ったものから構成されます。
ファイル名の先頭には空白があっても構いません。
ファイル名には
標準的なファイル名マッチング文字 (``['', ``]'', ``?'', ``*'') が含まれて
いてもよく、その場合、そのファイル階層に存在するファイルは、
マッチする最初のパターンと関連づけられます。
.Pp
各キーワードと値のペアはキーワードと等号 (``='')、そして
そのキーワードの値から構成され、空白は含みません。
これらの値は、対応するキーワードの大域的な値を変更しませんが、
大域的な値に優先します。
.Pp
パスは全て相対指定です。
ディレクトリを指定すると、そのディレクトリ階層の中で
更にファイルが検索されます。
これがファイル階層記述における 4 つめのタイプの行です:
文字列
.Dq Nm \&..
だけが含まれる行は、カレントディレクトリパスを 1 レベル上に上げることを
意味します。
.Pp
空行および最初の非空白文字がハッシュ記号 (``#'') であるような行は無視されます。
.Pp
.Nm
は成功するとステータス 0 で終了し、何らかのエラーが生じると 1 で終了します。
また、ファイル階層がファイル階層記述とマッチしない場合はステータス 2 で
終了します。
ただしオプション
.Fl U
が指定されている場合は、ステータス 2 はステータス 0 に変換されます。
.Sh 使用例
「トロイの木馬」に感染したシステムバイナリを検出するには、
以下のように操作することを推奨します。
ファイルシステムに対して
.Nm
.Fl K
.Cm md5digest
を実行し、その結果のコピーを別マシンか、少なくとも暗号化した形式で
ストアします。
出力ファイル自身は
.Xr md5 1
ユーティリティを用いてダイジェストを作成します。
そして定期的に
.Nm
.Xr md5 1
をオンラインのファイル階層記述に対して走らせます。
クラッカーが手を加えたバイナリに合わせて
オンラインのファイル階層記述を変更することは
可能ですが、オリジナルと同じ MD5 ダイジェストをもつ記述を作成するのは
非現実的だと考えらていれます。
.Pp
.Fl d
オプションおよび
.Fl u
オプションを組み合わせると、ソフトウェア配布やそれに類する処理のために
ディレクトリ階層を作成するのに用いることができます。
.Pa /etc/mtree
に置かれたファイル群は、この
.Tn FreeBSD
配布のほとんど全てのディレクトリを作成するのに用いられました。
.Sh 関連ファイル
.Bl -tag -width /etc/mtree -compact
.It Pa /etc/mtree
システムのファイル階層記述ディレクトリ
.El
.Sh 関連項目
.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
で登場しました。
MD5 ダイジェスト機能は、
.Xr cksum 1
をだますプログラムが広範囲に悪用されたのに対抗して
.Fx 2.1
で追加されました。
diff --git a/ja_JP.eucJP/man/man8/named-xfer.8 b/ja_JP.eucJP/man/man8/named-xfer.8
index 26c08a17e2..283452469c 100644
--- a/ja_JP.eucJP/man/man8/named-xfer.8
+++ b/ja_JP.eucJP/man/man8/named-xfer.8
@@ -1,155 +1,151 @@
.\" ++Copyright++ 1985
.\" -
.\" Copyright (c) 1985
.\" 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.
.\" -
.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies, and that
.\" the name of Digital Equipment Corporation not be used in advertising or
.\" publicity pertaining to distribution of the document or software without
.\" specific, written prior permission.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" -
.\" --Copyright--
.\"
.\" from named.8 6.6 (Berkeley) 2/14/89
.\"
-.TH NAMED-XFER 8 "June 26, 1993"
.\" jpman %Id: named-xfer.8,v 1.2 1997/06/06 11:08:51 bobson Stab %
-.UC 4
-.SH 名称
-named-xfer \- ゾーン転送のための補助エージェント
-.SH 書式
-.B named-xfer
-.B \-z
-.I zone_to_transfer
-.B \-f
-.I db_file
-.B \-s
-.I serial_no
-[
-.B \-d
-.I debuglevel
-] [
-.B \-l
-.I debug_log_file
-] [
-.B \-t
-.I trace_file
-] [
-.B \-p
-.I port#
-] [
-.B \-S
-]
-.I nameserver
-...
-.SH 解説
-インターネットネームサーバの補助プログラムです。
-.I named-xfer
+.Dd June 26, 1993
+.Dt NAMED-XFER 8
+.Os BSD 4
+.Sh 名称
+.Nm named-xfer
+.Nd ゾーン転送のための補助エージェント
+.Sh 書式.Nm named-xfer
+.Fl z Ar zone_to_transfer
+.Fl f Ar db_file
+.Fl s Ar serial_no
+.Op Fl d Ar debuglevel
+.Op Fl l Ar debug_log_file
+.Op Fl t Ar trace_file
+.Op Fl p Ar port#
+.Op Fl S
+.Ar nameserver ...
+.Sh 解説
+.Nm
は、
-.IR named (8)
+.Xr named 8
によって実行される補助プログラムです。
インターネットネームサーバから呼び出されて、ゾーン情報を受け取ります。
直接実行されることはまれであり、ゾーン転送の問題を解決するために
システム管理者にいよってのみ実行されることがある程度です。
インターネットネームドメインシステムについての詳細は、
RFC 1033 、1034 、1035 を参照してください。
-.PP
+.Pp
オプションとしては、以下のものがあります:
-.TP
-.B \-z
+.Bl -tag -width Fl
+.It Fl z Ar zone_to_transfer
転送されるゾーン名を指定します。
-.TP
-.B \-f
+.It Fl f Ar db_file
プライマリサーバーからゾーンが転送された際に、ゾーンの情報をダンプ (格納) する
-ファイル名を指定します。
-.TP
-.B \-s
+.Ar db_file
+のファイル名を指定します。
+.It Fl s Ar serial_no
転送されるゾーンの情報のシリアル番号を指定します。プライマリサーバーから
-得た \s-1SOA RR\s+1 が、このシリアル番号よりも高いシリアル番号を持たない
+得た
+.Sy SOA RR
+が、このシリアル番号よりも高いシリアル番号を持たない
場合は、転送は中止されます。
-.TP
-.B \-d
-デバッグ情報を出力します。``d'' のあとの数字は出力されるメッセージのレベルを
-決定します。
-.TP
-.B \-l
+.It Fl d Ar debuglevel
+デバッグ情報を出力します。
+.Ar debuglevel
+出力されるメッセージのレベルを決定します。
+.It Fl l Ar debug_log_file
デバッグメッセージのログファイルを指定します。デフォルトでは
システムに依存しますが、通常は
-.I /var/tmp
+.Pa /var/tmp
または
-.IR /usr/tmp
+.Pa /usr/tmp
です。このオプションは
-.I \-d
+.Fl d
と同時に指定されたときのみ適用されますので注意してください。
-.TP
-.B \-t
-ゾーン情報転送のプロトコルトレースを格納するトレースファイルを指定します。
+.It Fl t Ar trace_file
+ゾーン情報転送のプロトコルトレースを格納するトレースファイル
+.Ar trace_file
+を指定します。
このオプションはネームサーバーそのものをデバッグする人にとってのみ
有益なのかもしれません。
-.TP
-.B \-p
+.It Fl p Ar port#
デフォルト以外のポート番号を使用するときに指定します。
デフォルトの標準ポートナンバーは
-``domain'' サービスの getservbyname(3) の返す値になります。
-.TP
-.B \-S
+``domain'' サービスの
+.Xr getservbyname 3
+の返す値になります。
+.It Fl S
SOA レコードと NS レコードの転送のみを許可し、
ゾーンに対して A レコードを結合します。
-SOA レコードは named によって読み込まれませんが、
+SOA レコードは
+.Xr named 8
+によって読み込まれませんが、
NS レコードをいつ検証するのかを決定するのに使用されます。
詳しくは
-.IR named (8)
-の ``stubs''を参照してください。
-.TP
-.PP
-付加的な引数としてネームサーバーのアドレスを、いわゆる ``dotted-quad''
-構文でのみ、とります。ネームサーバのアドレスの省略は許されません。
+.Xr named 8
+の
+.Dq Li stubs
+を参照してください。
+.El
+.Pp
+付加的な引数としてネームサーバーのアドレスを、いわゆる
+.Dq dotted-quad
+構文で
+.Em のみ
+、とります。ネームサーバのアドレスの省略は許されません。
少なくとも一つのアドレスを指定しなくてはなりません。
ネームサーバーのアドレスが複数指定されると、最初のサーバーが転送を失敗すると、
順番にサーバーを切替えて転送を試みます。
-
-.SH 関連項目
-named(8), resolver(3), resolver(5), hostname(7),
+.Sh 関連項目
+.Xr hostname 7,
+.Xr named 8 ,
+.Xr resolver 3 ,
+.Xr resolver 5 ,
RFC 882, RFC 883, RFC 973, RFC 974, RFC 1033, RFC 1034, RFC 1035, RFC 1123,
-\fIName Server Operations Guide for \s-1BIND\s+1\fR
+.Dq Name Server Operations Guide for Sy BIND .
diff --git a/ja_JP.eucJP/man/man8/named.8 b/ja_JP.eucJP/man/man8/named.8
index 0cfbdf770d..e737151c18 100644
--- a/ja_JP.eucJP/man/man8/named.8
+++ b/ja_JP.eucJP/man/man8/named.8
@@ -1,493 +1,462 @@
-.\" ++Copyright++ 1985
+.\" ++Copyright++ 1985, 1996
.\" -
-.\" Copyright (c) 1985
+.\" Copyright (c) 1985, 1996
.\" 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.
.\" -
.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies, and that
.\" the name of Digital Equipment Corporation not be used in advertising or
.\" publicity pertaining to distribution of the document or software without
.\" specific, written prior permission.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" -
.\" --Copyright--
.\"
.\" @(#)named.8 6.6 (Berkeley) 2/14/89
.\" jpman %Id: named.8,v 1.4 1997/11/11 13:59:51 horikawa Stab %
.\"
-.TH NAMED 8 "June 20, 1995"
-.UC 4
-.SH 名称
-named \- インターネットドメインネームサーバ
-.SH 書式
-.B named
-[
-.B \-d
-.I debuglevel
-] [
-.B \-p
-.IR port# [\fB/\fP\fIlocalport#\fP]
-] [{\-b}
-.I bootfile
-] [
-.B \-q
-] [
-.B \-r
-]
-.SH 解説
-.I Named
+.Dd February 1, 1996
+.Dt NAMED 8
+.Os BSD 4
+.Sh 名称
+.Nm named
+.Nd インターネットドメインネームサーバ (DNS)
+.Sh 書式
+.Nm NAMED
+.Op Fl d Ar debuglevel
+.Op Fl p Ar port#
+.Oo Fl Po
+.Cm b Ns \&| Ns Cm c
+.Pc
+.Ar config_file
+.Oc
+.Op Fl f q r
+.Op Fl u Ar user_name
+.Op Fl g Ar group_name
+.Op Fl t Ar directory
+.Op Fl w Ar directory
+.Op Ar config_file
+.Sh 解説
+.Ic named
はインターネットドメインネームサーバです。
インターネットドメインネームシステムの詳細な情報については
RFC 1033, 1034, 1035 を参照してください。
パラメータがない場合は
-.I named
-はデフォルトのブートファイルである
-.IR /etc/named.boot
+.Ic named
+はデフォルトの設定ファイルである
+.Pa /etc/namedb/named.conf
の初期化データを読み込み、問い合わせに対し待機します。
-.PP
+コマンド行の最後に与えられた
+.Ar config_file
+引き数は
+.Dq Fl b
+または
+.Dq Fl c
+フラグを使用して指定された
+.Ar config_file
+を無効にします。
+.Pp
+.Sy 注釈:
+.Nm named
+のいくつかのオプションと多くの動作は、設定ファイルの中で
+制御できます。更なる情報はこの
+.Sy BIND
+配布物に含まれる設定ファイルガイドを参照してください。
+.Pp
指定できるオプションは以下の通りです。
-.TP
-.B \-d
+.Bl -tag -width Fl
+.It Fl d Ar debuglevel
デバッグ情報を出力します。
-``d''に続く数字には出力するメッセージのレベルを指定します。
-.TP
-.B \-p
-標準でないポート番号を指定します。
-デフォルトは getservbyname(3) によって、
-サービス ``domain'' に対して返される標準のポート番号となります。
-このオプションでは2つのポートをスラッシュ(``\fB/\fP'')で続けて
-指定することができます。
-この場合は最初のポートがリモートサーバに接続する際に使用され、
-後のポートはローカルで実行されている
-.IR named
-のサービスポートとなります。
-これはおもにデバッグのために使用されます。
-.TP
-.B \-b
-ブートファイルを指定します。
-この指定はオプションであり、
-ダッシュで始まるファイルを指定することが可能となります。
-.TP
-.B \-q
-\fInamed\fP が \fIQRYLOG\fP を定義してコンパイルされている場合に、
-全ての問い合わせのトレースを行ないます。
-\fI注釈:\fP このオプションはブートファイル中の ``options query-log''
-の指定と同等です。
-.TP
-.B \-r
+.Ar debuglevel
+は表示するメッセージのレベルを決定する数字です。もし負の値の場合、
+.Ar debuglevel
+は
+.Dq 1
+に設定されます。
+.Pp
+.Sy 注釈:
+新しいデバッグの枠組は古いバージョンの
+.Nm NAMED
+よりもかなり洗練されています。
+設定ファイルの
+.Dq Li logging
+宣言は(問い合わせや内/外への転送などの)多くの種類にわたるイベント
+それぞれに対して、複数の別々なデバッグレベルを設定することができます。
+これらの広範囲にわたる新しい機能に関する更なる情報は、この
+.Sy BIND
+配布物に含まれる設定ファイルガイドを参照してください。
+.It Fl p Ar port#
+指定されたリモートポート番号を使用します。このポート番号は
+.Nm NAMED
+が問い合わせを送る番号です。デフォルトの値は標準のポート番号、つまり
+.Xr getservbyname 3
+が
+.Dq Li domain
+に対して返すポート番号です。
+.Pp
+.Sy 注釈:
+以前は、
+.Dq Fl p Ar port# Ns Op Ar \&/localport#
+という文法が使用でき、1 つ目のポートが
+.Em remote
+サーバへの接続に使用され、2 つ目のポートが
+.Nm NAMED
+の
+.Em local
+サーバに対するポート番号として使用されました。
+現在の使用法は古い使用法から
+.Ar localport#
+の指定を除いたものと同等です。この機能は
+設定ファイルの
+.Dq Li options
+宣言にある
+.Dq Li listen-on
+節で指定できます。
+.It Xo Fl Po
+.Cm b Ns \&| Ns Cm c
+.Pc Ar config_file
+.Xc
+代わりの
+.Ar config_file
+を使用します。
+この引き数はコマンド行の最後に指定された
+.Ar config_file
+によって上書きされます。
+デフォルトの値は
+.Pa /etc/namedb/named.conf
+です。
+.It Fl f
+このプロセスを表で動かし、
+.Xr fork 2
+やデーモン化をしません(デフォルトではデーモン化をします)。
+.It Fl q
+.Nm NAMED
+が
+.Li QRYLOG
+を定義してコンパイルされている場合に、
+すべての問い合わせのトレースを行ないます。
+.Pp
+.Sy 注釈:
+設定ファイルの
+.Dq Li logging
+宣言で
+.Dq Li queries
+.Em logging category
+する方が賛成され、このオプションは反対されています。
+更なる情報は、この
+.Sy BIND
+配布物に含まれる設定ファイルガイドを参照してください。
+.It Fl r
再帰的なネームサーバの問い合わせを抑止します。
問い合わせに対してはローカルゾーン(プライマリもしくはセカンダリ)からのみ
回答されます。
この指定はルートサーバにて使用することができます。
-\fI注釈:\fP このオプションはブートファイル中の ``options no-recursion''
-の指定と同等です。
-.PP
-その他の引数はブートファイル名として扱われます。
-複数のブートファイルが指定された場合は、最後の指定が有効となります。
-.PP
-ブートファイルにはネームサーバが得るべき初期データの所在の情報が含まれます。
-ブートファイル中の各行を次の行に引き続いて書くことはできません。
-以下に簡単な例を示します。
-.in +2m
-.nf
-
-;
-; boot file for name server
-;
-directory /usr/local/adm/named
-
-.ta \w'check-names\ 'u +\w'6.32.128.IN-ADDR.ARPA\ 'u +\w'128.32.137.8 128.32.137.3\ 'u
-; type domain source host/file backup file
-
-cache . root.cache
-primary Berkeley.EDU berkeley.edu.zone
-primary 32.128.IN-ADDR.ARPA ucbhosts.rev
-secondary CC.Berkeley.EDU 128.32.137.8 128.32.137.3 cc.zone.bak
-secondary 6.32.128.IN-ADDR.ARPA 128.32.137.8 128.32.137.3 cc.rev.bak
-primary 0.0.127.IN-ADDR.ARPA localhost.rev
-forwarders 10.0.0.78 10.2.0.78
-limit transfers-in 10
-limit datasize 64M
-limit files 256
-options forward-only query-log fake-iquery
-check-names primary fail
-check-names secondary warn
-check-names response ignore
-
-.DT
-.fi
-.in
-``directory'' 行はサーバのワーキングディレクトリを指定します。
-この指定はプライマリゾーンファイル中にて \s-1$INCLUDE\s+1 が、
-正しく機能する為に重要となります。
-.LP
-``cache'' 行は ``root.cache'' におけるデータがバックアップキャッシュに
-置かれることを指定します。
-これはおもにルートドメインサーバの位置のようなデータを指定するために
-使われます。
-このキャッシュは通常は使われませんが、現在のルートサーバをみつけるための
-「ヒント」として使われます。
-``root.cache'' ファイルは ``berkeley.edu.zone'' と同じフォーマットです。
-複数の ``cache'' ファイルを指定することもできます。
-``root.cache'' ファイルは \s-1FTP.RS.INTERNIC.NET\s+1 から
-定期的に取得するべきです。
-なぜならば、それにはルートサーバのリストが含まれており、
-リストは定期的に変更されているためです。
-.LP
-例における最初の ``primary'' 行ではファイル ``berkeley.edu.zone'' が
-``Berkeley.EDU'' ゾーンにおける信頼すべきデータを含んでいることを
-宣言しています。
-``berkeley.edu.zone'' ファイルは RFC 883 に記述されている
-マスタファイルフォーマットのデータが含まれています。
-全てのドメイン名は起点 (ここの例では ``Berkeley.EDU'') に対し
-相対的に指定されます (詳細は後述)。
-2番目の ``primary'' 行ではファイル ``ucbhosts.rev'' が
-ドメイン ``32.128.IN-ADDR.ARPA'' の信頼すべきデータを含んでいることを
-宣言しています。
-これはネットワーク 128.32 におけるアドレスをホスト名に変換するために
-使われます。
-それぞれのマスタファイルは
-そのゾーンの SOA レコードで始めなければなりません。(下記参照)
-.LP
-例における最初の ``secondary'' 行では
-``CC.Berkeley.EDU'' 以下の全ての信頼すべきデータは
-128.32.137.8 にあるネームサーバから転送されることを指定しています。
-データの転送に失敗したら 128.32.137.3 と、
-この行で指定された他のアドレス (10 個まで) を順に試みます。
-セカンダリコピーもここで指定されているドメインについての
-信頼すべきデータとなります。
-この行における最初の 4 つ組ドットアドレス表記でないものは、
-転送されたゾーンのバックアップをとるファイル名として扱われます。
-ネームサーバはこのバックアップファイルがブート時に存在すれば、
-ゾーン情報を読み込み、マスタサーバに接続できない場合でも
-完全なコピーとしてゾーン情報を供給します。
-ドメインの新しいコピーがマスタサーバのいずれかから自動ゾーン転送されれば、
-このファイルは更新されます。
-ファイル名が指定されなければ、
-一時ファイルが使用されゾーン転送が成功した後に削除されます。
-これは不要なトラフィックを発生するため、おすすめできません。
-2番目の ``secondary'' 行では、サブネット 128.32.136 におけるアドレスから
-ホスト名へのマッピングは、その前のゾーンと同じマスタサーバから得ることを
-宣言しています。
-.LP
-``forwarders'' 行では、他のサーバからの再帰的な問い合わせを
-サイト単位で受け持つサーバのアドレスを指定しています。
-ブートファイルに 1 つか複数のフォーワーダが指定してあると、
-サーバはキャッシュに含まれていない全てのデータの問い合わせを
-先ずフォーワーダに送ります。
-応答が返ってくるか、
-指定されている全てのフォーワーダに問い合わせが終るまで、
-各々のフォーワーダに順に問い合わせます。
-フォーワーダから応答が返って来ない場合、
-サーバは、``forward-only'' モードでなければ、
-forwarder 行が指定されていない場合と同様に処理を続けます。
-この問い合わせの転送機能はマスタサーバにサイト単位の大きなキャッシュを
-生成し、
-外部のサーバとのリンクのためのトラフィックを軽減するのに役立ちます。
-また、インターネットへの直接アクセスはできないが、
-外部のアドレスを検索できるようなサーバを運用することが可能となります。
-.LP
-``slave'' 行は古いソフトウェアとの互換性のために設けられています。
-これは ``options forward-only'' と同一です。
-.LP
-``sortlist'' 行は、他のネットワークより優先するネットワークを指定するのに
-使われます。
-サーバと同じネットワーク上のホストからのアドレスの問い合わせには、
-先ずローカルネットワークアドレスにリストされているもの、
-次にソートされたリストから、そして最後にその他のアドレスから応答が返されます。
-.LP
-``xfrnets'' の指定 (例では使われていない) は単純なアクセス制御を行なうために
-使われます。
-この指定があれば、ネームサーバは ``xfrnets'' にて指定されたネットワーク上の
-ホストからのゾーン情報の転送の要求にのみ応答を返します。
-これは古い中間的なサーバとの互換性を取るために ``tcplist'' として
-指定することもできます。
-.LP
-``include'' の指定 (例では使われていない) は、他のファイルの内容があたかも
-``include'' の指定がある場所におかれているように扱うために使われます。
-この指定はゾーンが多数あるか、ゾーンを論理的にグループ化し多数の人によって
-メンテナンスしている場合に有用です。
-``include'' の指定は引数をひとつ取り、そこでインクルードするファイル名を
-指定します。
-ファイル名の前後に引用符は必要ありません。
-.LP
-``bogusns'' の指定 (例では使われていない) は、
-指定されているネームサーバアドレス
-(これはドメイン名ではなく 4 つ組ドット表記にて指定される)
-には問い合わせをしないことを \s-1BIND\s+1 に指示します。
-この指定は、ある特定のサーバのゾーンやキャッシュのデータが不正であることが
-あらかじめ分かっていて、
-問題が修正されるまでデータの汚染を防止したい場合に有用です。
-.LP
-``limit'' の指定は \s-1BIND\s+1 の内部の制限を変更する場合に使用します。
-制限にはシステムによるもの (例えば \fBdatasize\fP) と
-\s-1BIND\s+1 自身によるもの (例えば \fBtransfers-in\fP) があります。
-limit の名称に続く数字はその後に続く ``k'', ``m'', ``g'' のいずれかによって
-各々キロバイト、メガバイト、ギガバイトの単位となります。
-\fBdatasize\fP の引数はカーネルによって設定されるプロセスのデータサイズです。
-\fI注釈:\fP これを実現する関数が提供されていないシステムもあります。
-そのようなシステムで ``limit'' に \fBdatasize\fP のパラメータを使用すると
-警告メッセージが出力されます。
-\fBtransfers-in\fP の引数は \s-1BIND\s+1 が一度に生成する \fInamed-xfer\fP
-サブプロセスの数を指定します。
-\fBtransfers-per-ns\fP の引数はいくつかのリモートネームサーバに対し、
-同時にゾーン転送を開始する最大の数となります。
-\fBfiles\fP の引数はプロセスが使えるファイル記述子の数を設定します。
-\fI注釈:\fP これを実現する関数が提供されていないシステムもあります。
-そのようなシステムで ``limit'' に \fBfiles\fP のパラメータを使用すると
-警告メッセージが出力されます。
-.LP
-``options'' の指定は \s-1BIND\s+1 の動作を変更するブール値の設定を行ないます。
-ひとつの指定中に複数のオプションを指定することが可能です。
-現在定義されているオプションには次のものがあります。
-\fBno-recursion\fP これは \s-1BIND\s+1 に対し、
-信頼できない名前に対する問い合わせを受け取った場合に実際のデータではなく、
-照会先を返すよう指示します。
-そのサーバが他のホストの \fIresolv.conf\fP ファイル中に記述されている場合は、
-このオプションは指定しないでください。
-\fBno-fetch-glue\fP これは応答中の「付属データ(additional data)」セクションを
-生成する時に、
-\s-1BIND\s+1 が存在しないつなぎ (missing glue) をフェッチしないようにします。
-これは、\fBno-recursion\fP と共に用いられ、
-\s-1BIND\s+1 のキャッシュサイズが大きくなったり、壊れたりするのを防ぐのに
-使われます。
-\fBquery-log\fP 全ての問い合わせのログを syslog(8) 経由で採取します。
-これを指定すると大量のデータを生成しますので、無闇には指定しないで下さい。
-\fBforward-only\fP フォーワーダにのみ問い合わせます。
-通常、この指定はサーバを運用したいが、
-サーバが物理的もしくは管理上の理由によりインターネットに
-アクセスできない場合に使われます。
-\fBfake-iquery\fP 「逆引き (inverse queries)」に対してエラーではなく、
-にせの応答を返すことを \s-1BIND\s+1 に指示します。
-これはクライアントにマイクロコンピュータやSunOSのホストが沢山ある場合に
-役に立ちます。
-.LP
-``check-names'' では、
-その引数として ``primary'', ``secondary'', ``response'' を指定することにより、
-\s-1BIND\s+1 に対してそれぞれ、
-プライマリゾーンファイル、
-セカンダリゾーンファイル、
-再帰問い合わせに対する応答
-(例えば、ファイアウォール中から問い合わせ転送に対する応答)
-の中の名称をチェックすることを指示します。
-また、それぞれ名称の各タイプについて、
-ゾーン情報が読み込まれていなかったり、
-応答がキャッシュや転送されない場合の \s-1BIND\s+1 の振舞を、
-引数に ``fail'', ``warn'', ``ignore''を指定することによってそれぞれ、
-失敗する、
-システムのログにメッセージを残す、
-不正な名称を無視し従来の方法で処理する、というように指定することができます。
-名称は、それがホスト名の場合は RFC 952 に準拠していれば正しいものと判断され、
-ホスト名以外の場合は表示可能な \s-1ASCII\s+1 文字でのみ構成されていれば
-正しいものと判断されます。
-.LP
-``max-fetch'' の指定 (例では使われていない) は
-古いソフトウェアとの互換性を取るためのもので、
-``limit transfers-in'' と同一です。
-.PP
+デフォルトでは再帰的な問い合わせを行ないます。
+.Pp
+.Sy 注釈:
+このオプションは設定ファイルの
+.Dq Li options
+宣言の
+.Dq Li recursion
+節によって上書きされ、またそちらのほうが推奨されています。
+.It Fl u Ar user_name
+ユーザを指定すると、初期化後のサーバがこのユーザで動作します。
+値はユーザ名または数字のユーザ ID どちらでも構いません。
+.Dq Fl g
+フラグが指定されていなかった場合、
+指定されたユーザのプライマリグループがグループ ID として使用されます
+(initgroups() が呼ばれるため、ユーザの所属するすべてのグループがサーバに
+渡されます)。
+.Pp
+.It Fl g Ar group_name
+グループを指定すると、初期化後のサーバがこのグループで動作します。
+値はグループ名または数字のグループ ID どちらでも構いません。
+.Pp
+.It Fl t Ar directory
+サーバがコマンド行引き数を処理したらすぐに chroot() するべき
+ディレクトリを指定します。
+.Pp
+.It Fl w Ar directory
+サーバの作業ディレクトリを設定します。設定ファイルの
+.Dq Li options
+宣言の
+.Dq Li directory
+節はコマンド行で指定したあらゆる値を上書きします。
+デフォルトの作業ディレクトリはカレンドディレクトリ
+.Pq Dq \&.
+です。
+.El
+.Pp
+それ以外の引き数は上で述べたとおり、
+古い実装との互換性のために、設定ファイルの名前として扱われます。この引き数は
+.Dq Fl b
+または
+.Dq Fl c
+フラグを使用して指定される
+.Ar config_file
+を無効にします。
+特に引き数が与えられなければ、デフォルトの設定ファイルが使用されます
+.Pq Pa /etc/namedb/named.conf
+。
+.Ss マスタファイル形式
マスタファイルは制御情報とゾーン中のオブジェクトの
資源レコードのリストからなり、次の形式を取ります。
-.RS
-.nf
-
+.Bd -literal -offset indent
$INCLUDE <filename> <opt_domain>
$ORIGIN <domain>
<domain> <opt_ttl> <opt_class> <type> <resource_record_data>
-
-.fi
-.RE
+.Ed
+.Pp
ここで、
-.I domain
-にはルートの場合は "." を、現在の起点の場合は "@" を、
-それら以外では通常のドメイン名を指定します。
-.I domain
-が ``.'' で終っていない通常のドメイン名である場合は、
+.Bl -tag -width "opt_domain "
+.It Ar domain
+ルートの場合は
+.Dq Li \&.
+を、現在の起点の場合は
+.Dq Li @
+を、それら以外では通常のドメイン名を指定します。
+.Ar domain
+が
+.Dq Li \&.
+で終って
+.Em いない
+通常のドメイン名である場合は、
現在の起点がドメインに追加されます。
-``.'' で終るドメイン名は変更されません。
-.I opt_domain
-フィールドにはインクルードファイル中のデータの起点を定義します。
-これはインクルードファイルの最初の行の前に
-$ORIGIN 宣言を置くことと等価です。
+ドメイン名が
+.Dq Li \&.
+で終っている場合は変更されません。
+.It Ar opt_domain
+このフィールドにはインクルードファイル中のデータの起点を定義します。
+これはインクルードファイルの最初の行の前に
+.Li $ORIGIN
+宣言を置くことと等価です。
このフィールドはオプショナルです。
-.I opt_domain
-や、インクルードファイル中の $ORIGIN 宣言は
-そのファイル自身の現在の起点を変更することはありません。
-.I opt_ttl
-フィールドはオプションであり、
-time-to-live フィールドを指定する整数値となります。
-このデフォルト値はゼロであり、
+.Ar opt_domain
+フィールドやインクルードファイル中の
+.Li $ORIGIN
+宣言はそのファイル自身の現在の起点を変更することはありません。
+.It Ar opt_ttl
+このフィールドはオプションであり、
+time-to-live を整数値で指定します。
+このデフォルト値は 0 であり、
そのゾーンの SOA レコードに指定された最小値を意味します。
-.I opt_class
-フィールドはオブジェクトのアドレスの型を指定します。
+.It opt_class
+オブジェクトのアドレスの型を指定します。
現在はDARPAインターネットに接続するオブジェクトである
-.BR IN
+.Dv IN
のみがサポートされています。
-.I type
-フィールドには以下のトークンのうちひとつが含まれます。
+.It Ar type
+このフィールドには以下のトークンのうちひとつが含まれます。
括弧中におのおの
-.I resource_record_data
+.Ar resource_record_data
フィールドに指定すべきデータを示しています。
-.TP "\w'MINFO 'u"
-A
-ホストアドレス (4つ組ドット)
-.IP NS
-信頼できるネームサーバ (ドメイン)
-.IP MX
+.Bl -tag -width "HINFO " -offset indent
+.It Dv A
+ホストアドレス (4つ組ドット IP アドレス)
+.It Dv NS
+権威があるネームサーバ (ドメイン)
+.It Dv MX
メールエクスチェンジャ (ドメイン)
優先順位 (0..32767) に引続き指定します。
優先順位は小さい値が優先順位の高いことを示します。
-.IP CNAME
+.It Dv CNAME
別名に対応した正式名 (ドメイン)
-.IP SOA
+.It Dv SOA
オーソリティゾーンデータの開始を示します。
(ホストの属するドメイン、メンテナのドメインアドレス、
シリアル番号、その後にリフレッシュ、リトライ、有効期限、最小 TTL (RFC 883を参照)
の各値を秒で指定したパラメータが続く)。
-.IP NULL
+.It Dv NULL
ヌルリソースレコード (形式やデータはありません)
-.IP RP
+.It Dv RP
いくつかのドメイン名の責任者 (メールアドレスか参照できるテキスト)
-.IP PTR
+.It Dv PTR
ドメイン名のポインタ (ドメイン)
-.IP HINFO
+.It Dv HINFO
ホスト情報 (CPUタイプ、OSタイプ)
-.PP
+.El
+.El
+.Pp
通常は行末でリソースレコードは終了しますが、
左括弧と右括弧で囲まれた場合は複数行にまたがることが可能となります。
セミコロンから行末まではコメントとして扱われます。
-.PP
+.Pp
+.Sy 注釈:
ここには示されていませんが、このほかのタイプのリソースレコードも存在します。
リソースレコードのすべてのタイプを知るには
-\s-1BIND\s+1 Operations Guide (``\s-1BOG\s+1'') を参照する必要があるでしょう。
+.Sy BIND
+Operations Guide
+.Pq Dq BOG
+を参照する必要があるでしょう。
新しい RFC にていくつかのリソースタイプが標準化されていますが、
-このバージョンの \s-1BIND\s+1 ではまだ実装されていません。
-.PP
+このバージョンの
+.Sy BIND
+ではまだ実装されていません。
+.Ss SOA レコード形式
各マスタゾーンファイルはそのゾーンの SOA レコードで始まらなければなりません。
以下に SOA レコードの例を示します。
-.LP
-.nf
-@ IN SOA ucbvax.Berkeley.EDU. rwh.ucbvax.Berkeley.EDU. (
-.ta \w'x\ IN\ SOA\ 'u +\w'1989020501\ 'u
- 1989020501 ; serial
- 10800 ; refresh
- 3600 ; retry
- 3600000 ; expire
- 86400 ) ; minimum
-.fi
-.LP
-SOA ではシリアル番号を指定します。
+.Bd -literal
+@ IN SOA ucbvax.Berkeley.EDU. rwh.ucbvax.Berkeley.EDU. (
+ 1989020501 ; serial
+ 10800 ; refresh
+ 3600 ; retry
+ 3600000 ; expire
+ 86400 ) ; minimum
+.Ed
+.Pp
+SOA ではシリアル番号 (serial) を指定します。
シリアル番号はマスタファイルを更新するたびに変更する必要があります。
-シリアル番号 (serial) は少数点つきの数字を指定することもできますが、
+シリアル番号は小数点つきの数字を指定することもできますが、
整数への変換は乗算や加算ではなく文字列としてつなげて行っているため、
-あまり賢い方法とはいえません。
+.Em あまり
+賢い方法とはいえません。
年月日と 0〜99 のシリアル番号を使用することで、
このフィールドのサイズである符号なしの 32 ビット以内に収まります。
-このやり方はグレゴリ暦の 4294 年には考え直す必要があることは確かですが、
-それについては心配する必要はないでしょう。
+(このやり方は 4294 年には考え直す必要があることは確かですが、
+それについては心配する必要はないでしょう)。
+.Pp
セカンダリサーバは秒で指定されたリフレッシュ時間 (refresh) の間隔で
シリアル番号をチェックします。
シリアル番号に変更があれば、新しいデータを読み込むために
ゾーン情報が転送されます。
リフレッシュ時間が過ぎてもマスタサーバに接続できない場合は、
リトライ時間 (retry) の間隔でリフレッシュが試みられます。
期限切れ時間 (expire) が過ぎてマスタサーバに接続できない場合は、
-セカンダリサーバはそのゾーンの全てのデータを破棄します。
-最小値 (minimum) はファイル中の生存時間 (``\s-1TTL\s+1'') が
-明示的に指定されていないレコードの生存時間となります。
-.SH 注釈
-ブートファイルでの ``domain'' と ``suffixes'' の指定は廃止され、
+セカンダリサーバはそのゾーンのすべてのデータを破棄します。
+最小値 (minimum) はファイル中の生存時間
+.Pq Dq TTL
+が明示的に指定されていないレコードの生存時間となります。
+.Sh 注釈
+ブートファイルでの
+.Dq Li domain
+と
+.Dq Li suffixes
+の指定は廃止され、
もっと便利なリゾルバベースの実装、すなわち部分的な形のドメイン名
-(partially qualified domain names) の接尾辞に置き変えられました。
+(partially-qualified domain names) の接尾辞に置き変えられました。
以前のメカニズムでは多くの状況下で失敗することがあり、
特にローカルネームサーバが完全な情報を持っていない場合に失敗しました。
-.sp
+.Pp
以下に各シグナルを
-.IR kill (1)
+.Xr kill 1
コマンドによってサーバに送った場合の効果を示します。
-.IP SIGHUP
-サーバは named.boot を読み、データベースをロードし直します。
-サーバがコンパイルオプションの FOCED_RELOAD を定義されて
-コンパイルされている場合は、
-SIGHUPを送るとサーバは全てのセカンダリゾーンのシリアル番号もチェックします。
+.Pp
+.Bl -tag -width "SIGWINCH"
+.It Dv SIGHUP
+サーバは
+.Pa named.conf
+を読み、データベースをロードし直します。
+サーバがコンパイルオプションの
+.Li FOCED_RELOAD
+を定義されてコンパイルされている場合は、
+.Dv SIGHUP
+を送るとサーバはすべてのセカンダリゾーンのシリアル番号もチェックします。
通常、シリアル番号は SOA 中に指定された間隔でのみチェックされます。
-.IP SIGINT
-現在のデータベースとキャッシュの内容を /var/tmp/named_dump.db にダンプします。
-.IP SIGIOT
+.It Dv SIGINT
+現在のデータベースとキャッシュの内容を
+.Dq Pa /var/tmp/named_dump.db
+または
+.Dv _PATH_DUMPFILE
+の値にダンプします。
+.It Dv SIGILL
サーバが -DSTATS 付きでコンパイルされていれば、
-統計データを /var/tmp/named.stats にダンプします。
+統計データを
+.Pa named.stats
+にダンプします。
統計データはこのファイルの末尾に追加されます。
-いくつかのシステムでは SIGIOT ではなく SIGABRT で統計データのダンプを行います。
-.IP SIGSYS
+.It Dv SIGSYS
サーバがプロファイリング (サーバの fork, chdir と exit) を
有効にされてコンパイルされていれば、
-プロファイリングデータを /var/tmp にダンプします。
-.IP SIGTERM
+プロファイリングデータを
+.Pa /var/tmp
+にダンプします。
+.It Dv SIGTERM
プライマリおよびセカンダリのデータベースファイルをダンプします。
サーバが動的更新を有効にしてコンパイルされていれば、
シャットダウン時に更新されたデータをセーブするために使用されます。
-.IP SIGUSR1
+.It Dv SIGUSR1
デバッグ機能を有効にします。
-SIGUSR1が送られるたびにデバッグレベルが上がります。
-(SIGUSR1がない古いシステムではSIGEMTが使われます。)
-.IP SIGUSR2
+.Dv SIGUSR1
+が送られるたびにデバッグレベルが上がります。
+.Po Dv SIGUSR1
+がない古いシステムでは
+.Dv SIGEMT
+が使われます。
+.Pc
+.It Dv SIGUSR2
デバッグ機能を完全に無効にします。
-(SIGUSR2がない古いシステムではSIGFPEが使われます。)
-.IP SIGWINCH
-全てのサーバに入力される問い合わせの syslog(8) による
+.Po Dv SIGUSR2
+がない古いシステムでは
+.Dv SIGFPE
+が使われます。
+.Pc
+.It Dv SIGWINCH
+すべてのサーバに入力される問い合わせの
+.Xr syslog 8
+による
ログ採取の有無を切り替えます。
-(ログ採取はサーバが QRYLOG オプションを指定されて
+(ログ採取はサーバが
+.Li QRYLOG
+オプションを指定されて
コンパイルされている必要があります。)
-.SH 関連ファイル
-.nf
-.ta \w'/var/tmp/named_dump.db 'u
-/etc/named.boot ネームサーバの設定ブートファイル
-/etc/named.pid プロセス ID (旧システム)
-/var/run/named.pid プロセス ID (新システム)
-/var/tmp/named_dump.db ネームサーバデータベースのダンプ
-/var/tmp/named.run デバッグ出力
-/var/tmp/named.stats ネームサーバの統計データ
-.fi
-.SH 関連項目
-kill(1), gethostbyname(3), signal(2),
-resolver(3), resolver(5), hostname(7),
+.Sh 関連ファイル
+.Bl -tag -width "/var/tmp/named_dump.db (_PATH_DUMPFILE) " -compact
+.It Pa /etc/namedb/named.conf
+デフォルトのネームサーバの設定ファイル
+.It Pa /var/run/named.pid Pq Dv _PATH_PIDFILE
+プロセス ID
+.It Pa /var/tmp/named_dump.db Pq Dv _PATH_DUMPFILE
+ネームサーバデータベースのダンプ
+.It Pa /var/tmp/named.run Pq file: Dv _PATH_DEBUG
+デバッグ出力
+.It Pa /var/tmp/named.stats Pq file: Dv _PATH_STATS
+ネームサーバの統計データ
+.El
+.Sh 関連項目
+.Xr gethostbyname 3 ,
+.Xr hostname 7 ,
+.Xr kill 1 ,
+.Xr resolver 3 ,
+.Xr resolver 5 ,
+.Xr signal 2 ,
RFC 882, RFC 883, RFC 973, RFC 974, RFC 1033, RFC 1034, RFC 1035, RFC 1123,
-\fIName Server Operations Guide for \s-1BIND\s+1\fR
+.Dq Name Server Operations Guide for Sy BIND
diff --git a/ja_JP.eucJP/man/man8/natd.8 b/ja_JP.eucJP/man/man8/natd.8
index 020648a7c7..14a907cd66 100644
--- a/ja_JP.eucJP/man/man8/natd.8
+++ b/ja_JP.eucJP/man/man8/natd.8
@@ -1,433 +1,433 @@
.\" manual page [] for natd 1.4
-.\" %Id: natd.8,v 1.4.2.11 1998/07/18 11:11:23 jkh Exp %
+.\" %Id: natd.8,v 1.15 1998/07/15 03:32:45 jkoshy Exp $%
.\" jpman %Id%
.Dd 15 April 1997
.Os FreeBSD
.Dt NATD 8
.Sh 名称
.Nm natd
.Nd
ネットワークアドレス変換デーモン
.Sh 書式
.Nm
.Op Fl ldsmvu
.Op Fl permanent_link
.Op Fl dynamic
.Op Fl i Ar inport
.Op Fl o Ar outport
.Op Fl p Ar port
.Op Fl a Ar address
.Op Fl n Ar interface
.Op Fl f Ar configfile
.Nm
.Op Fl log
.Op Fl deny_incoming
.Op Fl use_sockets
.Op Fl same_ports
.Op Fl verbose
.Op Fl unregistered_only
.Op Fl permanent_link
.Op Fl dynamic
.Op Fl inport Ar inport
.Op Fl outport Ar outport
.Op Fl port Ar port
.Op Fl alias_address Ar address
.Op Fl interface Ar interface
.Op Fl config Ar configfile
.Op Fl redirect_port Ar linkspec
.Op Fl redirect_address Ar localIP publicIP
.Sh 解説
このプログラムは、FreeBSD における
.Xr divert 4
ソケットと共に用いることによって、ネットワークアドレスの変換を
行います。
コマンドラインオプションのほとんどは、1 文字の短縮形か、長い表記が
利用できます。
見る人がはっきりと理解しやすいように、長い表記を使うことが
推奨されています。
.Pp
.Nm natd
は通常、デーモンとしてバックグラウンドで実行します。
.Nm
はマシンに入ってくるパケット、またはマシンから出て行くパケットを
生(raw)のまま扱い、場合により IP パケットストリームに
再び送り出す前に手を加えます。
.Pp
.Nm natd
は他のホストへ向かうすべてのパケットについて、発信元 IP アドレスを
現在のマシンのものにする、という変換を行います。
このように変換された各パケットについて、変換内容を記録するために
内部テーブルエントリが作成されます。
発信元ポート番号も、パケットに適用したテーブルエントリを示すように
変更されます。
現在のホストの、対象となる IP アドレスを使ったパケットが受信されると、
この内部テーブルがチェックされます。
エントリが見つかると、パケットに正しい対象 IP アドレスとポート番号を
入れるのに利用されます。
.Pp
以下のコマンドラインオプションが利用できます。
.Bl -tag -width Fl
.It Fl log | l
様々な alias の統計や情報をファイル
.Pa /var/log/alias.log
に記録します。このファイルは natd が起動されるたびに切りつめられます。
.It Fl deny_incoming | d
現在の IP アドレスへ向かうパケットのうち、内部変換テーブルに
エントリの無いものを拒否します。
.It Fl use_sockets | s
FTP data コネクションや IRC DCC send コネクションを確立するのに
.Xr socket 2
を割り当てます。このオプションはよりシステムリソースを消費しますが、
ポート番号が衝突する場合でもコネクションが成功することを保証します。
.It Fl same_ports | m
出て行くパケットを変換する時に、できるだけポート番号を同じまま
保つようにします。このオプションにより、RPC のようなプロトコルが
うまく働く可能性があがります。ポート番号を維持することができない時には、
暗黙のうちに通常と同じ方法で変換されます。
.It Fl verbose | v
起動時に
.Xr fork 2
.Xr daemon 3
を呼び出しません。よって、制御端末から切り離されずに、標準出力に
すべてのパケット変換を表示します。このオプションはデバッグの目的に
のみ用いるべきです。
.It Fl unregistered_only | u
登録されていない発信元アドレスを伴う出て行くパケットのみを変換します。
rfc 1918 によれば、登録されていない発信元アドレスは 10.0.0.0/8 と
172.16.0.0/12 と 192.168.0.0/16 となっています。
.It Fl redirect_port Ar linkspec
指定されたポートに入ってくるコネクションを別のホストとポートに
リダイレクトします。linkspec の書式は
proto targetIP:targetPORT [aliasIP:]aliasPORT [remoteIP[:remotePORT]]
のようになります。proto は tcp もしくは udp 、 targetIP は希望する
( リダイレクト先 ) 対象 IP アドレス、targetPORT は希望する対象ポート番号、
aliasPORT は ( クライアントが ) 要求するポート番号、aliasIP は alias を
行うアドレスです。
remoteIP と remotePORT は、必要な場合により正確なコネクションを
指定するのに利用できます。
例えば、
.Ar tcp inside1:telnet 6666
という引数は、このマシンのポート 6666 に向けられた tcp パケットが
マシン inside1 の telnet ポートに送られることを示しています。
.It Fl redirect_address Ar localIP publicIP
公式な IP アドレスへのパケットの流れを、ローカルネットワーク内の
マシンにリダイレクトします。この機能は "静的 NAT (static NAT)" と
呼ばれています。
静的 NAT はあなたの ISP が IP アドレスの小さなブロックをあなたに
割り当てた時に、単一のアドレスとして用いるのにも利用できます:
redirect_address 10.0.0.8 0.0.0.0
上記のコマンドは入ってくすべてのパケットをマシン 10.0.0.8 に
リダイレクトします。
下記のように、いくつかのアドレス alias が同一の公式アドレスを
示すように指定すると、
redirect_address 192.168.0.2 public_addr
redirect_address 192.168.0.3 public_addr
redirect_address 192.168.0.4 public_addr
入ってくるパケットの流れは最後に変換されたローカルアドレス
(192.168.0.4) に向けられますが、最初の二つのアドレスの出て行く
パケットの流れは指定された公式アドレスへの alias のままになります。
.It Fl permanent_link Ar linkspec
内部 alias テーブルに恒久的なエントリを作成します。linkspec の書式は
proto targetIP:targetPORT sourceIP:sourcePORT aliasPORT
のようになります。proto は tcp もしくは udp 、 targetIP は希望する
( リダイレクト先 ) 対象 IP アドレス、 targetPORT は希望する対象
ポート番号、 sourceIP と sourcePORT は入ってくるパケットにマッチする
もの、aliasPORT は ( クライアントが ) 要求するポート番号、となります。
値 0 はワイルドカードとして扱われます。例えば、
.Ar tcp inside1:telnet outside1:0 6666
はマシン outside1 ( の任意のポート ) からこのマシンのポート 6666 に
向けられた tcp パケットが、マシン inside1 の telnet ポートに送られる
ことを示します。
新規に導入する場合は、代わりに redirect_port を使うようにしてください。
.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
は alias アドレスを動的に変更します。
.It Fl i | inport Ar inport
すべてのパケットをマシンに入ってくるものとして扱い、
.Ar inport
から読み込み、
.Ar inport
へ書き出します。
.It Fl o | outport Ar outport
すべてのパケットをマシンから出て行くものとして扱い、
.Ar outport
から読み込み、
.Ar outport
へ書き出します。
.It Fl p | port Ar port
.Xr divert 4
によって指定されたルールを用いてパケットを識別し、入ってくるパケットを
.Ar port
から読み、出て行くパケットを
.Ar port
へ書き出します。
.Ar port
が数字でない場合、関数
.Xr getservbyname 3
を用いて
.Pa /etc/services
データベースが検索されます。
このフラグが指定されない時には、デフォルトとして natd という名前の
divert ポートが用いられます。
.Pa /etc/services
データベースのエントリの例としては以下のようになります:
natd 8668/divert # Network Address Translation socket
より詳しい説明は、
.Xr services 5
を参照してください。
.It Fl a | alias_address Ar address
alias アドレスとして
.Ar address
を用います。このオプションが指定されない場合は、
.Fl n
オプションか
.Fl interface
オプションが指定されなければなりません。
指定されたアドレスは、
公開されたネットワークインタフェースに割当てられたアドレスである
必要があります。
.Pp
このアドレスのインタフェースを通って出る全データのソースアドレスは
.Ar address
に書換えられます。
外部からこのインタフェースに到着する全データは、
既に alias された外向け接続にマッチするかどうかチェックされます。
マッチする場合、パケットはそれぞれ変換されます。
マッチしない場合、
.Fl redirect_port
.Fl redirect_address
の割り当てをチェックしそれぞれの動作を行います。
他の動作が行えない場合かつ
.Fl deny_incoming
が指定されていない場合、
パケットに指定された通りに
パケットはローカルのマシンのポートに配送されます。
.It Fl n | interface Ar interface
alias アドレスを決めるのに、
.Ar interface
を用います。
.Ar interface
に関連づけられた IP アドレスが変化する可能性がある場合には、
.Fl dynamic
フラグも指定されるべきです。
.Pp
指定された
.Ar interface
は公開されたネットワークインタフェースである必要があります。
.It Fl f | config Ar configfile
.Ar configfile
から設定を読み込みます。
.Ar configfile
はオプションのリストを含み、上記のコマンドラインフラグの長い表記と
同じ物が 1 行ずつ入ります。例えば、
alias_address 158.152.17.1
という行は alias アドレスに 158.152.17.1 を指定します。
設定ファイル内では、引数を持たないオプションは
.Ar yes
.Ar no
を伴って指定されます。例えば、
log yes
.Fl log
と同じ意味になります。空行と '#' で始まる行は無視されます。
.El
.Sh NATD の実行
.Nm natd
を走らせようとする前には以下の手順が必要となります:
.Bl -enum
.It
バージョン 2.2 かそれ以上の FreeBSD を手に入れる。これより前の
バージョンは
.Xr divert 4
ソケットをサポートしていません。
.It
自分のカーネルを以下のオプションを付けて構築します:
options IPFIREWALL
options IPDIVERT
自分のカーネルを構築する方法については、ハンドブックに詳しい説明が
あるのでそちらを参照してください。
.It
あなたのマシンがゲートウェイとして働くようにします。これは
.Pa /etc/rc.conf
gateway_enable=YES
と指定するか、
sysctl -w net.inet.ip.forwarding=1
というコマンドを用いることで機能するようになります。
.It
.Fl n
フラグや
.Fl interface
フラグを使いたい場合は、そのインタフェースがすでに設定済みとなるように
します。例えば、
.Ar interface
として tun0 を指定しようとし、そのインタフェースで
.Xr ppp 8
を使っている場合には、
.Nm natd
を起動する前に
.Nm ppp
を起動するようにしなければなりません。
.It
.Pa /etc/services
にエントリ:
natd 8668/divert # Network Address Translation socket
を作成します。これは
.Fl p
フラグや
.Fl port
フラグのデフォルトの値となります。
.El
.Pp
.Nm
の実行は至って簡単です。
natd -interface ed0
という行でほとんどの場合充分です(正しいインタフェース名に置き換えて
ください)。
.Nm
が起動されたら、パケットの流れの方向が natd の方に変わる
(divert される) ようにしなければなりません:
.Bl -enum
.It
.Pa /etc/rc.firewall
スクリプトをうまく調整する必要があります。防火壁 (firewall) に
興味が無ければ、以下のようにすれば良いでしょう:
/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
2 番目の行はあなたのインタフェースに依ります (ed0 を適切に
変更してください)。
また、前項のように
.Pa /etc/services
に natd のエントリが入るように更新されていると仮定します。
本物の防火壁ルールを指定する場合、スクリプトの先頭で上記の 2 行目を
指定すると良いでしょう。
そうすることによって、防火壁により排除されてしまう前に、
.Nm
がすべてのパケットを見ることができるようになります。
すべての divert ルールを除き、
.Nm
により変換された各パケットには再び防火壁のルールが適用されます。
.It
.Pa /etc/rc.conf
firewall_enable=YES
と設定し、防火壁を作動させます。これはシステムの起動時のスクリプトに
.Pa /etc/rc.firewall
スクリプトを実行するように伝えます。
今すぐ再起動したくない場合には、コンソールから手で実行してください。
バックグラウンドで実行させるのでない限り、これは決して仮想セッションから
行ってはいけません。もし実行させてしまうと、flush が行われた後に
あなたは締め出されてしまい、すべてのアクセスを永久に遮断するために
この地点で
.Pa /etc/rc.firewall
の実行は止まってしまいます。スクリプトをバックグラウンドで実行すれば、
この災害を避けることができます。
.El
.Sh 関連項目
.Xr getservbyname 2 ,
.Xr socket 2 ,
.Xr divert 4 ,
.Xr services 5 ,
.Xr ipfw 8
.Sh 作者
このプログラムは、多くの人々の細切れの努力の結果です:
.An Archie Cobbs Aq archie@whistle.com
(divert ソケット)
.An Charles Mott Aq cmott@srv.net
(パケットエイリアス)
.An Eivind Eklund Aq perhaps@yes.no
(IRC サポートとその他の追加)
.An Ari Suutari Aq suutari@iki.fi
(natd)
.An Brian Somers Aq brian@awfulhak.org
(まとめ役)
diff --git a/ja_JP.eucJP/man/man8/ndc.8 b/ja_JP.eucJP/man/man8/ndc.8
index cbf9ce551f..0f82332ca9 100644
--- a/ja_JP.eucJP/man/man8/ndc.8
+++ b/ja_JP.eucJP/man/man8/ndc.8
@@ -1,128 +1,143 @@
.\" Copyright (c) 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.
.\"
.\" jpman %Id: ndc.8,v 1.3 1997/09/07 14:10:53 horikawa Stab %
-.TH NDC 8 "November 27, 1994"
-.UC 5
-.SH 名称
-ndc \- ネームサーバデーモン制御インタフェース
-.SH 書式
-.B ndc
-.I directive
-[ ... ]
-.SH 解説
+.Dd November 27, 1994
+.Dt NDC 8
+.Os BSD 4
+.Sh 名称
+.Nm ndc
+.Nd ネームサーバデーモン制御インタフェース
+.Sh 書式
+.Nm ndc
+.Ar directive
+.Op Ar ...
+.Sh 解説
このコマンドを使用する事により、ネームサーバの管理者はネームサーバに
各種シグナルを送ったり、ネームサーバをリスタートする事ができます。
以下のリストの 0 個以上の命令を指定する事ができます。
-.TP
-.B status
-.BR ps (1)
+.Bl -tag -width "querylog"
+.It Ic status
+.Xr ps 1
で得られる
-.B named
+.Xr named 8
の現在の状態を表示します。
-.TP
-.B dumpdb
-.B named
+.It Ic dumpdb
+.Ic named
のデータベースおよびキャッシュを
-.B /var/tmp/named_dump.db
+.Pa /var/tmp/named_dump.db
に出力します。
-(INT シグナルを用います。)
-.TP
-.B reload
-.B named
+(
+.Dv INT
+シグナルを用います。)
+.It Ic reload
+.Ic named
の全てのプライマリおよびセカンダリゾーンのシリアル番号を調べ、
変更のあったものをリロードします。
-(HUP シグナルを用います。)
-.TP
-.B stats
-.B named
+(
+.Dv HUP
+シグナルを用います。)
+.It Ic stats
+.Ic named
の現在の統計的な状況を
-.B /var/tmp/named.stats
+.Pa /var/tmp/named.stats
に出力します。
-(IOT ないし ABRT シグナルを用います。)
-.TP
-.B trace
-.B named
-の ``tracing level'' を 1 だけ増加させます。``tracing level'' が 0 以上の時、
+(
+.Dv IOT
+ないし
+.Dv ABRT
+シグナルを用います。)
+.It Ic trace
+.Ic named
+の
+.Dq トレースレベル
+を 1 だけ増加させます。トレースレベルが 0 以上の時、
トレース情報は
-.BR /var/tmp/named.run
-に出力します。``tracing level'' が高い程、詳細な情報が得られます。
-(USR1 シグナルを用います。)
-.TP
-.B notrace
-.B named
-の ``tracing level'' を 0 にし、
-.B /var/tmp/named.run
+.Pa /var/tmp/named.run
+に出力します。トレースレベルが高い程、詳細な情報が得られます。
+(
+.Dv USR1
+シグナルを用います。)
+.It Ic notrace
+.Ic named
+の
+.Dq トレースレベル
+を 0 にし、
+.Pa /var/tmp/named.run
がオープンされていればクローズします。
-(USR2 シグナルを用います。)
-.TP
-.B querylog
-.B named
-の ``query logging'' を、現在有効になっていれば無効へ、
+(
+.Dv USR2
+シグナルを用います。)
+.It Ic querylog
+.Ic named
+の
+.Dq 問い合わせ記録
+を、現在有効になっていれば無効へ、
現在無効になっていれば有効へ変更します。
-(WINCH シグナルを用います。)
-``query logging'' が有効になっている場合、
+(
+.Dv WINCH
+シグナルを用います。)
+問い合わせ記録が有効になっている場合、
ネームサーバへの問い合わせ情報を
-.BR syslog (3)
-に記録します。
-``query logging'' を有効にすると非常に多くの情報がログファイルに
+.Xr syslog 2
+で記録します。
+問い合わせ記録を有効にすると非常に多くの情報がログファイルに
記録されることに注意して下さい。この命令は
-.BR qrylog
+.Ic qrylog
と指定することも可能です。
-.TP
-.B start
-.B named
+.It Ic start
+.Ic named
が実行中でなければ、実行を開始します。
-.TP
-.B stop
-.B named
+.It Ic stop
+.Ic named
が実行中であれば、停止します。
-.TP
-.B restart
-.B named
+.It Ic restart
+.Ic named
を停止させた後、再度実行します。
-.SH バグ
-.B named
+.El
+.Sh バグ
+.Ic named
への引数は、
-.BR restart
+.Ic restart
では保存されず、
-.BR start
+.Ic start
では指定できません。
+.Pp
パラメータや環境を制御する何らかの方法が必要でしょう。
-.PP
-.BR sh (1)
+.Pp
+.Xr sh 1
スクリプトにより作成されています。
-.SH 作者
+.Sh 作者
Paul Vixie (Internet Software Consortium)
.SH 関連項目
-named(8),
-named.reload(8),
-named.restart(8)
+.Xr named 8 ,
+.Xr named.reload 8 ,
+.Xr named.restart 8 .
diff --git a/ja_JP.eucJP/man/man8/newfs.8 b/ja_JP.eucJP/man/man8/newfs.8
index 170931e237..29b679735e 100644
--- a/ja_JP.eucJP/man/man8/newfs.8
+++ b/ja_JP.eucJP/man/man8/newfs.8
@@ -1,321 +1,321 @@
.\" 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
-.\" %Id: newfs.8,v 1.7.2.4 1998/07/17 20:13:38 jkh Exp %
+.\" %Id: newfs.8,v 1.15 1998/07/15 06:28:04 charnier Exp %
.\" jpman %Id: newfs.8,v 1.3 1997/07/26 22:02:06 horikawa Stab %
.\"
.Dd May 3, 1995
.Dt NEWFS 8
.Os BSD 4.2
.Sh 名称
.Nm newfs ,
.Nm mfs
.Nd 新しいファイルシステムを作成する
.Sh 書式
.Nm newfs
.Op Fl NO
.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 cylinders
.Op Fl d Ar rotdelay
.Op Fl e Ar maxbpg
.Op Fl f Ar frag-size
.Op Fl i Ar bytes
.Op Fl k Ar skew
.Op Fl l Ar interleave
.Op Fl m Ar free space
.Op Fl n Ar rotational positions
.Op Fl o Ar optimization
.Op Fl p Ar sectors
.Op Fl r Ar revolutions
.Op Fl s Ar size
.Op Fl t Ar tracks
.Op Fl u Ar sectors
.Op Fl x Ar sectors
.Ar special
.Nm mount_mfs
.Op Fl N
.Op Fl F Ar file
.Op Fl T Ar disktype
.Op Fl a Ar maxcontig
.Op Fl b Ar block-size
.Op Fl c Ar cylinders
.Op Fl d Ar rotdelay
.Op Fl e Ar maxbpg
.Op Fl f Ar frag-size
.Op Fl i Ar bytes
.Op Fl m Ar free space
.Op Fl n Ar rotational positions
.Op Fl o Ar options
.Op Fl s Ar size
.Ar special node
.Sh 解説
.Nm
は、わかりにくい
.Xr mkfs 8
の代わりとなるものです。
.Nm
.Nm mount_mfs
を走らせる前に、
.Xr disklabel 8
を使ってディスクラベルが書き込んでいなければなりません。
.Nm
は、指定したスペシャルデバイスにファイルシステムを作成します。
デフォルト値はたいてい妥当な値となりますが、
.Nm
にはこの値を変更するための数多くのオプションがあります。
.Pp
.Nm mount_mfs
は、仮想メモリ上にファイルシステムを構築し、指定したノード
にそのファイルシステムをマウントするために使います。
ファイルシステムがアンマウントされると、
.Nm mount_mfs
は終了し、このファイルシステムの内容は失われます。
.Nm mount_mfs
にシグナルが送られると、
ファイルシステムをアンマウントしようとします。たとえば、
シャットダウンする場合がこれにあたります。
.Nm mount_mfs
に指定するパラメータは
.Nm
のものと同じです。
.Fl T
フラグが指定されると(下記参照)、スペシャルファイルを使用しません。
そうでない場合、スペシャルファイルはディスクラベルを読むためにのみ使われ、
それによってメモリベースファイルシステムへのコンフィギュレーション
パラメータが得られます。
このスペシャルファイルは通常、第一スワップ領域を指定します。という
のは、フリーメモリが少なくなって、ファイルシステムをサポートす
るメモリ領域がページングされるとき、ファイルシステムがそこに
バックアップされるからです。
.Pp
以下のオプションにて一般的な配置方針を定義します。
.Bl -tag -width indent
.It Fl T Ar disktype
過去のものとの互換性のためと
.Nm mount_mfs
のための物です。
.It Fl F Ar file
.Nm mount_mfs
は、ファイルシステムのイメージとしてこのファイルを使用します。
.Nm mount_mfs
が終了した時、このファイルは残されます。
.It Fl N
実際にはファイルシステムを構築せずに、ファイルシステム
パラメータの表示のみを行います。
.It Fl O
.Bx 4.3
フォーマットのファイルシステムを作成します。この
オプションは、古いブート ROM が理解できるルートファイル
システムを使う必要がある場合に使います。
.It Fl T
指定したディスクのための情報を
.Pa /etc/disktab
から得て、disklabel を使用しません。
.It Fl a Ar maxconting
回転遅延 (rotational delay) を強制する前に
配置される連続ブロックの最大数を指定します (
.Fl d
オプションを参照)。
デフォルトは 1 です。このオプションをどのように設定す
るかについて、詳しくは
.Xr tunefs 8
を参照してください。
.It Fl b Ar block-size
ファイルシステムのブロックサイズをバイト単位で指定します。
.It Fl c Ar #cylinders/group
ファイルシステムのシリンダグループごとのシリンダ数を指定
します。デフォルトは 16 です。
.It Fl d Ar rotdelay
同じディスクに対する
ディスク転送完了割り込みサービスと新たな転送開始に費す時間の
期待値を指定します (ミリ秒単位)。デフォルトは0ミリ秒です。詳細は、
.Xr tunefs 8
を参照してください。
.ne 1i
.It Fl e Ar maxbpg
単一のファイルが他のシリンダグループへまたがることを強制される前に、
1 つのシリンダグループから割り当てることのできる最大のブロック数を指定し
ます。デフォルト値は、シリンダグループのブロック数の約 1/4 です。この
オプションの詳細については、
.Xr tunefs 8
を参照してください。
.It Fl f Ar frag-size
ファイルシステムのフラグメントサイズをバイト単位で指定します。
.It Fl i Ar number of bytes per inode
ファイルシステム中の i ノードの密度を設定します。デフォルト
は、(4 * フラグメントサイズ) バイトのデータ領域ごとに1つの i ノードを作ります。
i ノード数を少なくしたい場合は大きな値を指定し、
i ノード数を多くしたい場合は小さな値を指定します。
.It Fl m Ar free space \&%
通常のユーザからは保護されている領域のパーセンテージを
指定します。
これは最低限の空き領域のしきい値となります。
デフォルト値は
.Ao Pa ufs/ffs/fs.h Ac
にて
.Dv MINFREE
と定義され、現在 8% です。
このオプションの詳細については、
.Xr tunefs 8
を参照してください。
.It Fl n Ar number of distinguished rotational positions
ディスク一回転あたりに確保する回転時間の数を設定します。デフォルトは 1
で、回転位置テーブルを無効にすることを意味します。
.It Fl o Ar optimization\ preference
.Pq ``space'' か ``time''
ブロック確保に費す時間を最小にするか、
ディスク上のフラグメント領域を最小にするかを、
ファイルシステムに指示します。
デフォルトで minfree (前述) が 8% を下回る場合は、
領域の最小化が行われ、8% 以上ならば時間の最小化が行われます。
このオプションの詳細については、
.Xr tunefs 8
を参照してださい。
.It Fl s Ar size
ファイルシステムサイズをセクタ単位で指定します。
.El
.Pp
次のオプションは、ディスクジオメトリの標準設定を変更します。
デフォルトの値はディスクラベルから得られます。
これらの値を変更するのは、
最初にファイルシステムを構築したときとは異なるタイプのディスク上で
ロウイメージを使用してファイルシステムを構築するようなときだけです
(たとえば、ライトワンスディスク上など)。
これらの値をデフォルトの
値から変更すると、標準のスーパブロックが壊れたときに、
.Xr fsck 8
が代替のスーパブロックを見つけることができなくなるので注意して
ください。
.Bl -tag -width indent
.It Fl S Ar sector-size
セクタサイズ (バイト単位) です (通常 512 以外は使用しません)。
.It Fl k Ar sector \&0 skew , per track
遅いコントローラを補うためにメディアのフォーマット時の補正を指定します。
トラックスキューは同じシリンダ上のトラック N のセクタ 0 とトラック N-1
のセクタ 0 のオフセットです。
.It Fl l Ar hardware sector interleave
遅いコントローラを補うためにメディアのフォーマット時の補正を指定します。
インタリーブはトラック毎の物理セクタのインタリーブで、次の比の分母で
定義されます:
.Dl 読まれるセクタ/通過するセクタ
つまりインタリーブの 1/1 は連続的に配置されていることを、 1/2 は論理
セクタ 0 と論理セクタ 1 との間に 1 セクタあることを示します。
.It Fl p Ar spare sectors per track
予備セクタ (不良セクタと置き換えるセクタ) は、
各トラックの最後の物理セクタを使用します。
これらには、ファイルシステムとしてデータを割り当てることができないため、
セクタ/トラック
.Pq Fl u
に含まれません。
.It Fl r Ar revolutions/minute
1 分間あたりのディスク回転速度を指定します。
.ne 1i
.It Fl t Ar #tracks/cylinder
ファイルシステムによってデータを割り当てることができるシリンダあたりの
トラック数です。デフォルトは 1 です。0 が設定された場合にはディスクラベル
に指定されている値が使われます。
.It Fl u Ar sectors/track
ファイルシステムによってデータを割り当てることができるトラックあたりの
セクタ数です。デフォルトは 4096 です。 0 が設定された場合にはディスクラベルに
指定されている値が使われます。この値には、各トラックの最後に確保
される不良ブロックの置き換えのための予備セクタは含まれません (
.Fl p
オプションを参照)。
.It Fl x Ar spare sectors per cylinder
予備セクタ (不良セクタと置き換えるセクタ) は、シリンダの最後のトラック
の物理セクタを使用します。これらには、ファイルシステムとしてデータを
割り当てることができないため、セクタ/トラック
.Pq Fl u
には含まれません。
.El
.Pp
.Nm mount_mfs
コマンドのオプションは、
.Fl o
オプションを除いて
.Nm
コマンドと同じものです。
.Pp
.Fl o
オプションは以下のとおりです:
.Bl -tag -width indent
.It Fl o
.Fl o
フラグに続いて指定されるオプションは、コンマで区切られた文字列です。
指定できるオプションとその意味は
.Xr mount 8
を参照してください。
.El
.Sh 使用例
.Pp
.Dl mount_mfs -s=131072 -o nosuid,nodev /dev/sd0b /tmp
.Pp
.Xr mount 8
の nosuid と nodev のオプションを指定し、
64 MB の大きさのメモリファイルシステムを /tmp にマウントします。
.Sh バグ
.Bx Free
のブートコードは、カーネルが置かれているファイルシステムのブロックサイズ
が 8 キロバイトでフラグメント 1 キロバイトであることを仮定しています。
他のサイズを使用しているファイルシステムからブートすることはできません。
.Sh 関連項目
.Xr fdformat 1 ,
.Xr disktab 5 ,
.Xr fs 5 ,
.Xr disklabel 8 ,
.Xr diskpart 8 ,
.Xr dumpfs 8 ,
.Xr fsck 8 ,
.Xr mount 8 ,
.Xr scsiformat 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/newsyslog.8 b/ja_JP.eucJP/man/man8/newsyslog.8
index d1b693d54a..d2844ab6f9 100644
--- a/ja_JP.eucJP/man/man8/newsyslog.8
+++ b/ja_JP.eucJP/man/man8/newsyslog.8
@@ -1,187 +1,187 @@
.\" This file contains changes from the Open Software Foundation.
.\"
.\" from: @(#)newsyslog.8
-.\" %Id: newsyslog.8,v 1.1.1.1.2.8 1998/07/18 11:11:30 jkh Exp %
+.\" %Id: newsyslog.8,v 1.14 1998/06/09 18:24:04 ache Exp %
.\" jpman %Id: newsyslog.8,v 1.3 1997/08/16 13:33:00 horikawa Stab %
.\"
.\" Copyright 1988, 1989 by the 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 the above copyright notice
.\" appear in all copies and that both that copyright notice and
.\" this permission notice appear in supporting documentation,
.\" and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
.\" used in advertising or publicity pertaining to distribution
.\" of the software without specific, written prior permission.
.\" M.I.T. and the M.I.T. S.I.P.B. make no representations about
.\" the suitability of this software for any purpose. It is
.\" provided "as is" without express or implied warranty.
.\"
.Dd January 12, 1989
.Dt NEWSYSLOG 8
.Os
.Sh 名称
.Nm newsyslog
.Nd システムのログファイルを保守し、適切なサイズに保つ
.Sh 書式
.Nm newsyslog
.Op Fl Fnrv
.Op Fl f Ar config_file
.Sh 解説
.Nm
.Xr cron 8
から定期的に実行されるようにスケジュールされるべきプログラムです。
実行されると、
.Nm
は必要に応じてログファイルを保存(アーカイブ)します。
あるログファイルを保存する必要があると判断すると、
.Nm
は、``logfile'' が空になり、``logfile.0'' に前回のログファイルが入り、
``logfile.1'' に前々回のログが入り‥‥ といった具合に、
ユーザが指定した数の保存ログが残るよう、ファイルを再編します。
オプションにより、保存ログを圧縮してスペースを節約することもできます。
.Pp
ログが保存される場合には 2 つの理由があります。
そのログファイルのサイズが予めセットしておいたキロバイト数より大きくなった、
もしくは、前回ログを保存してから指定した時間が経過した、という理由です。
.Nm
の粒度は、このコマンドが
.Xr cron 8
からどの程度の頻度で実行されるかに依存しています。
.Nm
の実行は十分速いので、毎時間実行するようにスケジュールしても
悪影響はありません。
.Pp
起動されると、
.Nm
は設定ファイルを読み込んで、
どのログファイルをチェックすべきかを決定します。
デフォルトでは、このコンフィギュレーションファイルは
.Pa /etc/newsyslog.conf
です。
コンフィギュレーションファイルの各行には、
.Nm
が処理すべき特定のログファイルに関する情報を記述します。
各行は 5 つの必須フィールドと、3 つのオプションフィールドから成り、
それらは空白で区切られています。
空行や ``#'' で始まる行は無視されます。
コンフィギュレーションファイルの各フィールドは以下の通りです:
.Pp
.Bl -tag -width indent
.It Ar logfile_name
保存するシステムログファイル名。
.It Ar owner.group
保存ファイルの所有者とグループ名を指定します。
.Ar owner
あるいは
.Ar group
が空白のままである場合でも "." は必須です。
指定は数値、あるいは
.Pa /etc/passwd
.Pa /etc/group
にある名前で行います。
.It Ar mode
ログファイルと保存ログファイルのモードを指定します。
.It Ar count
ログファイルそのものに加えて保存しておく保存ファイルの数を指定します。
.It Ar size
ログファイルのサイズが
.Ar size
に達すると、ログファイルは上記のように入れ換えられます。
このフィールドが
.Ar *
で置き換えられると、ログファイル入れ換えに際して
そのサイズは考慮されなくなります。
.It Ar interval
.Ar interval
時間(60 分×interval の意)が経過すると、ログファイルが入れ換えられます。
このフィールドが
.Ar *
で置き換えられると、前回の入れ換えからの経過時間は考慮されません。
.It Ar flags
このフィールドはオプションであり、
保存に際してログファイルに特別な処理を行うかどうかを指定します。
.Ar Z
フラグを指定すると、スペース節約のために
保存ファイルは
.Xr gzip 1
で圧縮されます。
.Ar B
フラグはファイルがバイナリファイルであることを指示し、
ログファイルが入れ換わったという意味で
.Nm
が挿入する
.Tn ASCII
メッセージを含めないようにします。
.Ar -
は何も意味しませんが、
.Ar path_to_pid_file
フィールドが指定された場合には埋め草として使用可能です。
.It Ar path_to_pid_file
このオプションのフィールドは、
デーモンのプロセス ID を調べるために読むファイルを指定します。
このフィールドが存在する場合、
このファイルに書かれたプロセス ID に
.Ar signal_number
が送られます。
正しく認識するために、このフィールドは "/" から開始する必要があります。
.It Ar signal_number
このオピションフィールドは、
デーモンプロセスに送られるシグナル番号を指定します。
デフォルトで SIGHUP が送られます。
.El
.Sh オプション
newsyslog では以下のオプションが利用できます:
.Bl -tag -width indent
.It Fl f Ar config_file
コンフィギュレーションファイルとして
.Pa /etc/newsyslog.conf
に代えて
.Ar config_file
を使用します。
.It Fl v
.Nm
を詳細情報出力モードにします。
このモードでは、ログを入れ換えるあるいはそれをスキップするたびに、
そのログファイル名と理由を表示します。
.It Fl n
実際にログの入れ換えは行わず、このオプションが指定されない場合に
本来行うはずの処理内容を表示します。
.It Fl r
.Nm
は root として動作しなければならない、という制約を取り除きます。
もちろん、
.Nm
.Xr syslogd 8
に HUP シグナルを送れなくなりますから、
このオプションはデバッグにのみ用いるべきです。
.It Fl F
ログを入れ替える条件に合致しないとしても、強制的に
.Nm
にログを入れ替えさせます。
システムの問題を診断しているときには、
このオプションの使用により、
問題のみを含む新しいログを提供できるので有用です。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/newsyslog.confxxxx -compact
.It Pa /etc/newsyslog.conf
.Nm
のコンフィギュレーションファイル
.El
.Sh バグ
セキュリティ侵害を見つけるためにログを自動的に読むことは、
まだ行っていません。
.Sh 作者
.An Theodore Ts'o ,
MIT Project Athena
.Pp
Copyright 1987, Massachusetts Institute of Technology
.Sh 関連項目
.Xr gzip 1 ,
.Xr syslog 3 ,
.Xr syslogd 8
diff --git a/ja_JP.eucJP/man/man8/nextboot.8 b/ja_JP.eucJP/man/man8/nextboot.8
index 219cd5c946..00b0ddb3d8 100644
--- a/ja_JP.eucJP/man/man8/nextboot.8
+++ b/ja_JP.eucJP/man/man8/nextboot.8
@@ -1,110 +1,110 @@
-.\" %Id: nextboot.8,v 1.3.2.2 1998/07/17 20:13:19 jkh Exp %
+.\" %Id: nextboot.8,v 1.8 1998/06/30 06:28:17 charnier Exp %
.\" jpman %Id: nextboot.8,v 1.3 1997/08/16 13:35:00 horikawa Stab %
.Dd July 9, 1996
.Dt NEXTBOOT 8
.\".Os BSD 4
.Sh 名称
.Nm nextboot
.Nd ブートディスクにデフォルトのブートストリングブロックをインストールする
.Sh 書式
.Nm nextboot
.Op Fl b
.Ar filename bootstring
.Ar
.Nm nextboot
.Op Fl ed
.Ar filename
.Sh 解説
FreeBSD の
.Nm
プログラムは、次回ブート時のブートブロックの動作を制御します。
正しいオプションと共にコンパイルされていれば、
ブートに用いるマジックナンバとデフォルトネームがあるかどうか、
ブートブロックはネームブロックをチェックします。
ブートブロックがそのようにコンパイルされている場合、
ブートが失敗したら再度ブートを試みないように
ブートブロックはブロックからネームを削除します。
ブートが成功した場合に
.Nm
を用いてブートストリングを再インストールするのは
.Pa /etc/rc
の仕事です。
これにより、リモートデバッギングや
新しく信頼のおけないカーネルをインストールするといった場合に、
一度だけのブートストリングを用いることができるようになります。
コンパイル時に、ネームブロックはディスクの 2 番目の物理ブロックとして
定義されています。
.Pp
次のオプションを使用可能です:
.Bl -tag -width time
.It Fl b
ネームブロックをブートストラップする (最初に構成する) のに用いられます。
このオプションを指定しない場合、
.Nm
はマジックナンバをまだもっていないブロックへの書き込みを拒否します。
.It Fl d
マジックナンバ中のビットを変更して、既存のネームブロックを
一時的に無効化します。
.It Fl e
.Fl d
オプションで無効化されたブロックに、
有効なマジックナンバを再設定します。
.El
.Pp
.Fl e
および
.Fl d
のフラグは相互排除です。
.Sh 解説
.Nm
はまず、指定ディスクが fdisk テーブルを持ち、
そのテーブルで定義されている全パーティションがネームブロックを含んでいない
ことをチェックします。
ネームブロックが使われていないことが明らかになれば、
.Nm
引数に指定されたブートストリングを一つずつ、小さいマジックナンバを前につけ、
最後に NULL を加えてインストールします。
ストリングのリストの最後は 0xff バイトの列で区切られます。
ブートブロックがブートの度にネームブロックを書き戻す (write back) ように
コンパイルされている場合、
ブートブロックはブート毎に一つずつ供給されたネームをゼロクリアします。
これは 0xff に到達するまで続き、
その時点でコンパイル時に組み込まれたブートストリングに戻ります。
この時点で、ネームブロックはゼロクリアされたネームだけになります。
.Pp
使用例を示します:
.Bd -literal
nextboot -b /dev/rwd0 1:sd(0,a)/kernel.experimental wd(0,a)/kernel.old
.Ed
.Pp
これは、次回ブート時に実験カーネルを SCSI ディスクからブートしてみるよう、
ブートブトックに指示します。
何らかの理由でこれが失敗すると、その次のブートではカーネル
.Pa /kernel.old
を IDE ドライブからブートしようと試みます。
(書き戻しオプションが有効であると仮定しています。)
これも失敗すると、コンパイル時に組み込まれたデフォルトが用いられます。
.Pp
書き戻し機能が無効化されている場合、nextboot はデフォルトのブートストリングを
変更する簡便な手段となります。
もしネームブロックで指定されたファイルが存在しないと、
ネームブロックの次のネームではなく、コンパイル時にブートブロックの中に
組み込まれたネームがブート用に用いられることに注意して下さい。
ネームブロックはブート毎に
.Em "1 回だけ"
チェックされます。
.Sh 関連項目
.Xr boot 8 ,
.Xr disklabel 8 ,
.Xr fdisk 8
.Sh バグ
プログラム全体にもっとユーザフレンドリにすべきです。
書き戻しの有効無効オプション設定はコンパイル時オプションではなく、
ディスク上にストアすべきです。
fdisk パーティションテーブルが存在しないディスク (つまり
純粋にディスクラベルだけのシステム) と共存できるように、
将来、この点に関して再考したいと考えています。
.Pp
書き戻しを有効とするか否かは実行時にネームブロックで指定し、
この機能を得るためにブートブロックを書き換える必要のないようにすべきです。
diff --git a/ja_JP.eucJP/man/man8/nfsiod.8 b/ja_JP.eucJP/man/man8/nfsiod.8
index 54e3040877..9fe33703e0 100644
--- a/ja_JP.eucJP/man/man8/nfsiod.8
+++ b/ja_JP.eucJP/man/man8/nfsiod.8
@@ -1,99 +1,99 @@
.\" Copyright (c) 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" From: @(#)nfsiod.8 8.2 (Berkeley) 2/22/94
-.\" %Id: nfsiod.8,v 1.3.2.1 1998/07/17 20:13:42 jkh Exp %
+.\" %Id: nfsiod.8,v 1.6 1998/07/15 06:35:20 charnier Exp %
.\" jpman %Id: nfsiod.8,v 1.3 1997/08/10 18:33:51 horikawa Stab %
.\"
.Dd September 22, 1994
.Dt NFSIOD 8
.Os
.Sh 名称
.Nm nfsiod
.Nd ローカルな
.Tn NFS
のための非同期 I/O サーバ
.Pp
.Sh 書式
.Nm nfsiod
.Op Fl n Ar num_servers
.Pp
.Sh 解説
.Nm
.Tn NFS
クライアントマシン上で動作し、サーバに対する非同期 I/O 要求を処理します。
これによりパフォーマンスは向上しますが、
正しい動作のために必要とされているわけではありません。
.Pp
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl n Ar num_server
サーバをいくつスタートさせるかを指定する。
.El
.Pp
何も引数が指定されなければ、サーバは1つだけスタートします。
.Pp
クライアントは、最大限並行処理を行うのに十分な数のデーモンを実行するべきです。
典型的には 4 つから 6 つです。
.Pp
動作中のカーネルに
.Tn NFS
サポートが含まれていないことを
.Nm
が検出した場合、
.Nm
.Xr modload 8
に含まれる
.Xr vfsload 3
の機能を用いて、
.Tn NFS
コードを含むローダブルカーネルモジュールをロードしようとします。
これが失敗した場合、または
.Tn NFS
ローダブルカーネルモジュールが存在しない場合、
.Nm
はエラーを返して終了します。
.Pp
.Nm
は、成功すれば 0 を、エラーが起きると 0 より大きな値を返して終了します。
.Sh 関連項目
.Xr nfsstat 1 ,
.Xr nfssvc 2 ,
.Xr modload 8 ,
.Xr mountd 8 ,
.Xr portmap 8
.Sh 歴史
.Nm
ユーティリティは
.Bx 4.4
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/nologin.8 b/ja_JP.eucJP/man/man8/nologin.8
index d383a49d7e..f7f50635fa 100644
--- a/ja_JP.eucJP/man/man8/nologin.8
+++ b/ja_JP.eucJP/man/man8/nologin.8
@@ -1,57 +1,57 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)nologin.8 8.1 (Berkeley) 6/19/93
-.\" %Id: nologin.8,v 1.1.1.1.8.1 1998/07/17 20:13:42 jkh Exp %
+.\" %Id: nologin.8,v 1.2 1998/07/15 06:37:07 charnier Exp %
.\" jpman %Id: nologin.8,v 1.2 1997/03/31 14:54:31 horikawa Stab %
.\"
.Dd June 19, 1993
.Dt NOLOGIN 8
.Os BSD 4.4
.Sh 名称
.Nm nologin
.Nd 丁寧に login を断る
.Sh 書式
.Nm nologin
.Sh 解説
.Nm
は、
そのアカウントが利用出来ない旨のメッセージを表示して、
0 でない値を返して終了します。
このコマンドは、利用不可能とするアカウントの shell フィールドを
置き換えるという用途を想定しています。
.Sh 関連項目
.Xr login 1
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
から登場しています。
diff --git a/ja_JP.eucJP/man/man8/nslookup.8 b/ja_JP.eucJP/man/man8/nslookup.8
index b467f23d53..7cd5969894 100644
--- a/ja_JP.eucJP/man/man8/nslookup.8
+++ b/ja_JP.eucJP/man/man8/nslookup.8
@@ -1,391 +1,551 @@
.\"
.\" ++Copyright++ 1985, 1989
.\" -
.\" Copyright (c) 1985, 1989
.\" 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.
.\" -
.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies, and that
.\" the name of Digital Equipment Corporation not be used in advertising or
.\" publicity pertaining to distribution of the document or software without
.\" specific, written prior permission.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" -
.\" --Copyright--
.\"
.\" @(#)nslookup.8 5.3 (Berkeley) 6/24/90
.\" jpman %Id: nslookup.8,v 1.2 1997/04/30 00:39:04 mutoh Stab %
.\"
-.TH NSLOOKUP 8 "June 24, 1990"
-.UC 6
-.SH 名称
-nslookup \- インターネットネームサーバに対話的に問い合わせる
-.SH 書式
-.B nslookup
-[
-.I \-option ...
-]
-[
-.I host-to-find
-| \- [
-.I server
-]]
-.SH 解説
-.I nslookup
+.Dd June 24, 1990
+.Dt NSLOOKUP 8
+.Os BSD 4
+.Sh 名称
+.Nm nslookup
+.Nd インターネットネームサーバに対話的に問い合わせる
+.Sh 書式
+.Nm nslookup
+.Op Fl option Ar ...
+.Op Ar host-to-find | Fl Op Ar server
+.Sh 解説
+.Ic nslookup
はインターネットネームサーバに問い合わせを行います。
-.I nslookup
-には対話モードと非対話モードの二つのモードがあります。
+.Ic nslookup
+には対話モードと非対話モードの 2 つのモードがあります。
対話モードでは、
様々なホストやドメインの情報をネームサーバに対して問い合わせたり、
あるドメイン内のホスト一覧を表示することができます。
非対話モードでは、あるホストもしくはドメインの名前および
要求した情報のみが表示されます。
-.sp 1
-.SH 引数
+.Sh 引数
次の場合は対話モードに入ります。
-.IP a) 4
+.Bl -tag -width "a) "
+.It a)
引数が与えられなかったとき(デフォルトのネームサーバを利用します)。
-.IP b) 4
-最初の引数がハイフン (\-) であり、二番目の引数がネームサーバの
+.It b)
+最初の引数がハイフン (-) であり、2 番目の引数がネームサーバの
ホスト名もしくは IP アドレスであるとき。
-.LP
+.El
+.Pp
検索したいホストの名前もしくは IP アドレスが最初の引数として与えられた場合は、
非対話モードになります。
-二番目の引数はオプションで、ネームサーバのホスト名もしくは IP アドレスを
+2 番目の引数はオプションで、ネームサーバのホスト名もしくは IP アドレスを
指定します。
-.LP
-``set'' コマンドを使うオプションは、ホームディレクトリの .nslookuprc
-ファイルに一行に一つずつ書くことでも指定できます。
+.Pp
+.Dq Li set
+コマンドを使うオプションは、ホームディレクトリの
+.Pa .nslookuprc
+ファイルに 1 行に 1 つずつ書くことでも指定できます。
オプションはコマンドラインで指定することも可能です。その場合、
前にハイフンをつけ、引数より先に書きます。たとえば、デフォルトの問い合わせを
ホスト情報に変更し、初期タイムアウトを 10 秒とするには、
-.sp .5v
- nslookup \-query=hinfo \-timeout=10
-.sp .5v
+.Bd -literal -offset indent
+ nslookup -query=hinfo -timeout=10
+.Ed
とします。
-.SH "対話 コマンド"
+.Sh 対話コマンド
コマンドは control-C を入力することでいつでも中断できます。
-終了するには、 control-D (EOF) もしくは exit を入力します。
+終了するには、 control-D
+.Pq Dv EOF
+もしくは
+.Li exit
+を入力します。
コマンドラインの長さは 256 文字以下でなければなりません。
内部コマンドをホスト名として扱うには、
-エスケープ文字 (\e) を頭につけます。
-\fB注意:\fP 解釈できないコマンドはホスト名として扱われます。
-.sp .5v
-.IP "\fIhost\fP [\fIserver\fP]"
-\fIhost\fP についての情報を現在のデフォルトサーバ、もしくは
-\fIserver\fPが指定されている場合はそのサーバに問い合わせます。
-\fIhost\fP が IP アドレスであり、問い合わせタイプが A もしくは PTR
+エスケープ文字
+.Pq \e
+を頭につけます。
+.Sy 注意: 解釈できないコマンドはホスト名として扱われます。
+.Bl -tag -width "lserver"
+.It Ar host Op Ar server
+.Ar host
+についての情報を現在のデフォルトサーバ、もしくは
+.Ar server
+が指定されている場合はそのサーバに問い合わせます。
+.Ar host
+が IP アドレスであり、問い合わせタイプが
+.Dv A
+もしくは
+.Dv PTR
であるときは、ホスト名が返されます。
-\fIhost\fP が 名前であり、最後にピリオドがないときには、
+.Ar host が 名前であり、最後にピリオドがないときには、
その後ろにデフォルトのドメイン名が付加されます(この動作は、
-\fBset\fP オプションの \fBdomain\fP, \fBsrchlist\fP,
-\fBdefname\fP, \fBsearch\fP に依存します)。
+.Ic set
+オプションの
+.Ic domain , srchlist , defname , search
+に依存します)。
+.Pp
現在のドメインにないホストについて調べるときには、
名前の末尾にピリオドを付加します。
-.sp 1
-.IP "\fBserver\fP \fIdomain\fP"
-.ns
-.IP "\fBlserver\fP \fIdomain\fP"
-デフォルトサーバを \fIdomain\fP に変更します。
-\fBlserver\fP は \fIdomain\fP に
-ついての情報を探すのに初期サーバを使い、\fBserver\fPは
-現在のデフォルトサーバを使います。
+.It Ic server Ar domain
+.It Ic lserver Ar domain
+デフォルトサーバを
+.Ar domain
+に変更します。
+.Ic lserver
+は
+.Ar domain
+についての情報を探すのに初期サーバを使い、
+.Ic server
+は現在のデフォルトサーバを使います。
公式の答えが見つからないときには、答えを持つ可能性のある
サーバ名が返されます。
-.sp 1
-.IP \fBroot\fP
+.It Ic root
デフォルトサーバをドメイン名空間のルートサーバに変更します。
-現在のところホスト ns.internic.net が使われます
-(このコマンドは \fBlserver ns.internic.net\fP に同義です)。
-ルートサーバ名は \fBset root\fP コマンドで変更できます。
-.sp 1
-.IP "\fBfinger\fP [\fIname\fP] [\fB>\fP \fIfilename\fP]"
-.ns
-.IP "\fBfinger\fP [\fIname\fP] [\fB>>\fP \fIfilename\fP]"
+現在のところホスト
+.Li ns.internic.net
+が使われます
+(このコマンドは
+.Dq Ic lserver ns.internic.net
+に同義です)。
+ルートサーバ名は
+.Dq Ic set root
+コマンドで変更できます。
+.It Xo Ic finger Op Ar name
+.Op Ic > Ar filename
+.Xc
+.It Xo Ic finger Op Ar name
+.Op Ic >> Ar filename
+.Xc
現在のホストにあるフィンガーサーバと接続します。
現在のホストは、以前の問い合わせが成功し、アドレス情報が
-返されたときに定義されます(\fBset querytype=A\fP 参照)。
-\fIname\fP はオプションです。
-\fB>\fP と \fB>>\fP は普通に出力をリダイレクトするのに使えます。
-.sp 1
-.IP "\fBls\fR [\fIoption\fR] \fIdomain\fR [\fB>\fR \fIfilename\fR]"
-.ns
-.IP "\fBls\fR [\fIoption\fR] \fIdomain\fR [\fB>>\fR \fIfilename\fR]"
-\fIdomain\fP について入手できる情報の一覧を出します。
-オプションでファイル \fIfilename\fP を作成あるいは
-\fIfilename\fP に追加できます。
+返されたときに定義されます(
+.Dq Ic set querytype=A
+参照)。
+.Ar name はオプションです。
+.Ic >
+と
+.Ic >>
+は普通に出力をリダイレクトするのに使えます。
+.It Xo Ic ls Op Ar option
+.Ar domain Op Ic > Ar filename
+.Xc
+.It Xo Ic ls Op Ar option
+.Ar domain Op Ic >> Ar filename
+.Xc
+.Ar domain
+について入手できる情報の一覧を出します。
+オプションでファイル
+.Ar filename
+を作成あるいは
+.Ar filename
+に追加できます。
デフォルトの出力にはホスト名とその IP アドレスが含まれます。
-.I オプション
+.Ar option
は下記のいずれかです。
.RS
-.IP "\fB\-t \fIquerytype\fP" 4
-指定したタイプの全レコードの一覧を出力します(下記の \fIquerytype\fP 参照)。
-.IP \fB\-a\fP 4
+.Bl -tag -width "-a "
+.It Fl t Ar querytype
+指定したタイプの全レコードの一覧を出力します(下記の
+.Ar querytype
+参照)。
+.It Fl a
そのドメイン内での、各ホストのエイリアス一覧を出力します。
-\fB\-t\ \ CNAME\fP と同義です。
-.IP \fB\-d\fP 4
+.Dq Fl t Dv CNAME
+と同義です。
+.It Fl d
そのドメインの全レコードの一覧を出力します。
-\fB\-t\ \ ANY\fP と同義です。
-.IP \fB\-h\fP 4
+.Dq Fl t Dv ANY
+と同義です。
+.It Fl h
そのドメインの CPU 及び OS 情報を出力します。
-\fB\-t\ \ HINFO\fP と同義です。
-.IP \fB\-s\fP 4
-そのドメイン内のホストの well-known サービスの一覧を出力します。
-\fB\-t\ \ WKS\fP と同義です。
-.P
+.Dq Fl t Dv HINFO
+と同義です。
+.It Fl s
+そのドメイン内のホストの良く知られた (well-known) サービスの一覧を出力します。
+.Dq Fl t Dv WKS
+と同義です。
+.El
+.Pp
出力がファイルにリダイレクトされるときには、サーバから 50 レコードを
-受け取るたびに区切りが入れられます。
-.RE
-.sp 1
-.IP "\fBview\fP \fIfilename\fP"
-直前の \fBls\fP コマンドの出力を並べ変え、
-\fImore\fP(1)
+受け取るたびにハッシュマークが表示されます。
+.It Ic view Ar filename
+直前の
+.Ic ls
+コマンドの出力を並べ変え、
+.Xr more 1
で出力します。
-.sp 1
-.ne 4
-.IP "\fBhelp\fP"
-.ns
-.IP "\fB?\fP"
+.It Ic help
+.It Ic ?
コマンドの簡単な要約を表示します。
-.sp 1
-.IP "\fBexit\fP"
+.It Ic exit
プログラムを終了します。
-.sp 1
-.IP "\fBset\fP \fIkeyword\fP[=\fIvalue\fP]"
+.It Xo Ic set Ar keyword
+.Ns Op = Ns Ar value
+.Xc
このコマンドは探索に影響するオプションを変更するのに使われます。
有効な keyword は以下の通りです。
-.RS
-.IP "\fBall\fP"
-よく使われる \fBset\fP のオプションの現在の値を表示します。
+.Bl -tag -width "class=v"
+.It Ic all
+よく使われる
+.Ic set
+のオプションの現在の値を表示します。
現在のデフォルトサーバとホストに関する情報も表示されます。
-.IP "\fBclass=\fIvalue\fR"
+.It Ic class= Ns Ar value
問い合わせのクラスを次のいずれかに変更します。
-.RS
-.IP IN 10
-internet クラス。
-.IP CHAOS 10
+.Bl -tag -width "HESIOD "
+.It Dv IN
+インターネットクラス。
+.It Dv CHAOS
chaos クラス。
-.IP HESIOD 10
+.It Dv HESIOD
MIT Athena Hesiod クラス。
-.IP ANY 10
+.It Dv ANY
上記すべて。
-.P
+.El
+.Pp
クラスは情報のプロトコルグループを特定します。
-.br
-(デフォルト = IN, 略記 = cl)
-.RE
-.IP "\fB[no]debug\fP"
+.Pp
+(デフォルト =
+.Dv IN;
+略記 =
+.Ic cl )
+.It Xo Op Ic no
+.Ns Ic debug
+.Xc
デバッグモードにします。サーバに送られるパケットとそれに
対する返答について、より多くの情報が表示されます。
-.br
-(デフォルト = nodebug, 略記 = [no]deb)
-.IP "\fB[no]d2\fP"
+.Pp
+(デフォルト =
+.Ic nodebug ;
+略記 =
+.Xo Op Ic no
+.Ns Ic deb )
+.Xc
+.It Xo Op Ic no
+.Ns Ic d2
+.Xc
詳細なデバッグモードにします。
-パケットごとに重要な全てのフィールドが表示されます。
-.br
-(デフォルト = nod2)
-.IP "\fBdomain=\fIname\fR"
-デフォルトドメイン名を \fIname\fP に変更します。
-\fBdefname\fP , \fBsearch\fP オプションの設定に応じて、
+パケットごとに重要なすべてのフィールドが表示されます。
+.Pp
+(デフォルト =
+.Ic nod2 )
+.It Ic domain= Ns Ar name
+デフォルトドメイン名を
+.Ar name に変更します。
+.Ic defname
+と
+.Ic search
+オプションの設定に応じて、
探索要求されるホスト名にデフォルトドメイン名が付加されます。
-デフォルトドメイン名が二つ以上の要素から
+デフォルトドメイン名が 2 つ以上の要素から
なるとき、ドメインサーチリストにはデフォルトドメインの親が含まれます。
たとえば、デフォルトドメイン名が
CC.Berkeley.EDU であるとき、サーチリストは
CC.Berkeley.EDU 及び Berkeley.EDU です。
-異なるリストを指定するには、 \fBset srchlist\fP コマンドを使います。
-このリストを表示するには、 \fBset all\fP コマンドを使います。
-.br
-(デフォルト = ホスト名から得た値, /etc/resolv.conf あるいは LOCALDOMAIN,
-略記 = do)
-.IP "\fBsrchlist=\fIname1/name2/...\fR"
-デフォルトドメイン名を \fIname1\fP にし、ドメインサーチリストを
-\fIname1\fP, \fIname2\fP, ...に変更します。スラッシュ (/) で区切って
+異なるリストを指定するには、
+.Dq Ic set srchlist
+コマンドを使います。
+このリストを表示するには、
+.Dq Ic set all
+コマンドを使います。
+.Pp
+(デフォルト =
+.Xr hostname 1
+から得た値,
+.Pa /etc/resolv.conf
+あるいは
+.Pa LOCALDOMAIN;
+略記 =
+.Ic do )
+.It Ic srchlist= Ns Ar name1/name2/...
+デフォルトドメイン名を
+.Ar name1
+にし、ドメインサーチリストを
+.Ar name1 , name2 , etc.
+に変更します。スラッシュ (/) で区切って
最大 6 つまで指定可能です。
たとえば
-.sp .5v
- set\ srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU
-.sp .5v
+.Bd -literal -offset indent
+set srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU
+.Ed
+.Pp
の場合、ドメインを lcs.MIT.EDU にし、サーチリストを上の 3 つの名前に
設定します。
-このコマンドは、\fBset domain\fP コマンドによるデフォルトドメイン名と
+このコマンドは、
+.Dq Ic set domain
+コマンドによるデフォルトドメイン名と
サーチリストを上書きします。
-リストを表示するには、 \fBset all\fP コマンドを使います。
-.br
-(デフォルト = ホスト名に基づく値, /etc/resolv.conf あるいは LOCALDOMAIN,
-略記 = srchl)
-.IP "\fB[no]defname\fP"
+リストを表示するには、
+.Dq Ic set all
+コマンドを使います。
+.Pp
+(デフォルト =
+.Xr hostname 1
+に基づく値,
+.Pa /etc/resolv.conf
+あるいは
+.Ev LOCALDOMAIN ;
+略記 =
+.Ic srchl )
+.It Xo Op Ic no
+.Ns Ic defname
+.Xc
これが設定されると、単一要素からなる問い合わせ(すなわちピリオドのないもの)
に対して、
指定したデフォルトドメイン名が付加されます。
-.br
-(デフォルト = defname, 略記 = [no]def)
-.IP "\fB[no]search\fP"
-問い合わせ要求にピリオドが少なくとも一つ含まれているが
-ピリオドで終ってはいない場合、
+.Pp
+(デフォルト =
+.Ic defname ;
+略記 =
+.Xo Op Ic no
+.Ns Ic defname )
+.Xc
+.It Xo Op Ic no
+.Ns Ic search
+.Xc
+問い合わせ要求にピリオドが少なくとも 1 つ含まれているが
+ピリオドで終っては
+.Em いない
+場合、
答えが受け取れるまで、ドメインサーチリスト内のドメイン名を
付加します。
-.br
-(デフォルト = search, 略記 = [no]sea)
-.IP "\fBport=\fIvalue\fR"
-デフォルトのネームサーバの TCP/UDP ポートを \fIvalue\fP に変更します。
-.br
-(デフォルト = 53, 略記 = po)
-.IP "\fBquerytype=\fIvalue\fR"
-.ns
-.IP "\fBtype=\fIvalue\fR"
-.ns
+.Pp
+(デフォルト =
+.Ic search ;
+略記 =
+.Xo Op Ic no
+.Ns Ic sea )
+.Xc
+.It Ic port= Ns Ar value
+デフォルトのネームサーバの TCP/UDP ポートを
+.Ar value
+に変更します。
+.Pp
+(デフォルト = 53;
+略記 =
+.Ic \&po )
+.It Ic querytype= Ns Ar value
+.It Ic type= Ns Ar value
問い合わせる情報の種類を変更します。情報は次のうちのいずれかです。
-.RS
-.IP A 10
+.Bl -tag -width "HINFO "
+.It Dv A
ホストの IP アドレス。
-.IP CNAME 10
+.It Dv CNAME
別名に対する正式名。
-.IP HINFO 10
+.It Dv HINFO
ホストの CPU と OS の種類。
-.IP MINFO 10
+.It Dv MINFO
メールボックスもしくは、メールリストに関する情報。
-.IP MX 10
+.It Dv MX
メール交換ホスト。
-.IP NS 10
+.It Dv NS
その名前空間内のネームサーバ。
-.IP PTR 10
+.It Dv PTR
問い合わせが IP アドレスであればホスト名、そうでなければ
それ以外の情報へのポインタ。
-.IP SOA 10
-ドメインの ``start-of-authority'' 情報。
-.IP TXT 10
+.It Dv SOA
+ドメインの
+.Dq 権威開始 (start-of-authority)
+情報。
+.It Dv TXT
テキスト情報。
-.IP UINFO 10
+.It Dv UINFO
ユーザ情報。
-.IP WKS 10
-サポートする well-known サービス。
-.P
-他のタイプ (ANY, AXFR, MB, MD, MF, NULL) については、ドキュメント
+.It Dv WKS
+サポートする、よく知られたサービス。
+.El
+.Pp
+他のタイプ
+.Pq Dv ANY, AXFR, MB, MD, MF, NULL
+については、ドキュメント
RFC-1035 に書かれています。
-.br
-(デフォルト = A, 略記 = q, ty)
-.RE
-.IP "\fB[no]recurse\fP"
+.Pp
+(デフォルト =
+.Dv A ;
+略記 =
+.Ic q, ty )
+.It Xo Op Ic no
+.Ns Ic recurse
+.Xc
サーバが情報を持っていないときに、他のサーバに問い合わせるよう
指示します。
-.br
-(デフォルト = recurse, 略記 = [no]rec)
-.IP \fBretry=\fInumber\fR
-リトライ回数を \fInumber\fP 回とします。
-要求に対する返答をある時間内 (\fBset timeout\fP で変更できる) に
+.Pp
+(デフォルト =
+.Ic recurse ;
+略記 =
+.Xo Op Ic no
+.Ns Ic rec )
+.Xc
+.It Ic retry= Ns Ar number
+リトライ回数を
+.Ar number
+回とします。
+要求に対する返答をある時間内 (
+.Dq Ic set timeout
+で変更できる) に
受け取らなかったとき、タイムアウト期間は 2 倍にされ、
要求が再送されます。
retry の値は、あきらめるまでに要求を何回再送するかを決めます。
-.br
-(デフォルト = 4, 略記 = ret)
-.IP \fBroot=\fIhost\fR
-ルートネームサーバ名を \fIhost\fP に変更します。
-これは \fBroot\fP コマンドに影響します。
-.br
-(デフォルト = ns.internic.net., 略記 = ro)
-.IP \fBtimeout=\fInumber\fR
-返答を待つ初期タイムアウト間隔を \fInumber\fP 秒に変更します。
+.Pp
+(デフォルト = 4, 略記 =
+.Ic ret )
+.It Ic root= Ns Ar host
+ルートネームサーバ名を
+.Ar host
+に変更します。
+これは
+.Dq Ic root
+コマンドに影響します。
+.Pp
+(デフォルト =
+.Ic ns.internic.net ;
+略記 =
+.Ic ro )
+.It Ic timeout= Ns Ar number
+返答を待つ初期タイムアウト間隔を
+.Ar number
+秒に変更します。
リトライのたびにタイムアウト間隔は倍になります。
-.br
-(デフォルト = 5 seconds, 略記 = ti)
-.IP "\fB[no]vc\fP"
-サーバに 要求を出すときに常に 仮想回路
+.Pp
+(デフォルト = 5 seconds; 略記 =
+.Ic ti )
+.It Xo Op Ic no
+.Ns Ic vc
+.Xc
+サーバに要求を出すときに、常に仮想回路
(virtual circuit) を使います。
-.br
-(デフォルト = novc, 略記 = [no]v)
-.IP "\fB[no]ignoretc\fP"
+.Pp
+(デフォルト =
+.Ic novc ;
+略記 =
+.Xo Op Ic no
+.Ns Ic v )
+.Xc
+.It Xo Op Ic no
+.Ns Ic ignoretc
+.Xc
パケットトランケーションエラーを無視します。
-.br
-(デフォルト = noignoretc, 略記 = [no]ig)
-.RE
-.SH 診断
+.Pp
+(デフォルト =
+.Ic noignoretc ;
+略記 =
+.Xo Op Ic no
+.Ns Ic ig )
+.Xc
+.El
+.El
+.Sh 診断
問い合わせが失敗した場合、エラーメッセージが表示されます。
エラーには次のようなものがあります。
-.IP "Timed out" 5
-サーバに対する要求を、(\fBset timeout=\fIvalue\fR で変更できる)ある時間
-の間に(\fBset retry=\fIvalue\fR で変更できる)ある回数だけ
+.Bl -tag -width "Timed"
+.It Li Timed out
+サーバに対する要求を、(
+.Dq Ic set timeout= Ns Ar value
+で変更できる)ある時間
+の間に(
+.Dq Ic set retry= Ns Ar value
+で変更できる)ある回数だけ
リトライしましたが、応答しませんでした。
-.IP "No response from server" 5
+.It Li \&No response from server
サーバマシンでネームサーバが動いていません。
-.IP "No records" 5
+.It Li \&No records
ホスト名は正しいのですが、そのホストについて現在の問い合わせに
関する情報をサーバが持っていません。
-問い合わせる情報は \fBset querytype\fP コマンドで指定できます。
-.IP "Non-existent domain" 5
+問い合わせる情報は
+.Dq Ic set querytype
+コマンドで指定できます。
+.It Li Non-existent domain
そのホスト名もしくはドメイン名が存在しません。
-.IP "Connection refused" 5
-.ns
-.IP "Network is unreachable" 5
+.It Li Connection refused
+.It Li Network is unreachable
現在のところネームサーバもしくはフィンガーサーバに対して
接続できません。
-このエラーは一般に \fBls\fP \fBfinger\fP 要求に対して起こります。
-.IP "Server failure" 5
+このエラーは一般に
+.Ic ls
+と
+.Ic finger
+要求に対して起こります。
+.It Li Server failure
ネームサーバが内部でデータベースの矛盾を発見したため
正しい答えが返せませんでした。
-.IP "Refused" 5
+.It Li Refused
ネームサーバが要求に対するサービスを拒否しました。
-.IP "Format error" 5
+.It Li Format error
ネームサーバは要求パケットが適切なフォーマットになっていないと
判断しました。
-\fInslookup\fP 内にエラーがあるのかもしれません。
-.sp 1
-.SH 関連ファイル
-.ta \w'/usr/share/misc/nslookup.helpXXX'u
-/etc/resolv.conf ドメイン名の初期値とネームサーバのアドレスを記述するファイルです。
-.br
-$HOME/.nslookuprc ユーザ用の初期化オプションを記述するファイルです。
-.br
-/usr/share/misc/nslookup.help コマンドの要約です。
-.SH 環境変数
-.ta \w'HOSTALIASESXXXX'u
-HOSTALIASES ホスト名のエイリアスを記述したファイル。
-.br
-LOCALDOMAIN デフォルトドメインを上書きします。
-.SH 関連項目
-resolver(3), resolver(5), named(8),
-.br
-RFC-1034 ``Domain Names \- Concepts and Facilities''
-.br
-RFC-1035 ``Domain Names \- Implementation and Specification''
-.SH 作者
+.Nm nslookup
+内にエラーがあるのかもしれません。
+.El
+.Sh 関連ファイル
+.Bl -tag -width "/usr/share/misc/nslookup.helpXXX" -compact
+.It Pa /etc/resolv.conf
+ドメイン名の初期値とネームサーバのアドレスを記述するファイルです。
+.It Pa $HOME/.nslookuprc
+ユーザ用の初期化オプションを記述するファイルです。
+.It Pa /usr/share/misc/nslookup.help
+コマンドの要約です。
+.Sh 環境変数
+.Bl -tag -width "HOSTALIASESXXXX" -compact
+.It Ev HOSTALIASES
+ホスト名のエイリアスを記述したファイル。
+.It Ev LOCALDOMAIN
+デフォルトドメインを上書きします。
+.Sh 関連項目
+.Xr named 8 ,
+.Xr resolver 3 ,
+.Xr resolver 5 ;
+RFC-1034,
+.Dq Domain Names - Concepts and Facilities ;
+RFC-1035,
+.Dq Domain Names - Implementation and Specification
+.Sh 作者
Andrew Cherenson
diff --git a/ja_JP.eucJP/man/man8/ntpdate.8 b/ja_JP.eucJP/man/man8/ntpdate.8
index 8df89e0651..aaa16c1966 100644
--- a/ja_JP.eucJP/man/man8/ntpdate.8
+++ b/ja_JP.eucJP/man/man8/ntpdate.8
@@ -1,204 +1,159 @@
-''' $Header
-'''
+.\"
+.\" %Id: ntpdate.8,v 1.4 1998/02/19 08:05:35 charnier Exp %
.\" jpman %Id: ntpdate.8,v 1.3 1997/09/12 02:30:46 seki Stab %
-.de Sh
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH NTPDATE 8 LOCAL
-.SH 名称
-ntpdate - NTP を介して日付と時刻を設定する
-.SH 書式
-.B ntpdate
-[
-.B -bds
-] [
-.B -o
-.I version
-] [
-.B -a
-.I key#
-] [
-.B -e
-.I authdelay
-] [
-.B -k
-.I keyfile
-] [
-.B -p
-.I samples
-] [
-.B -t
-.I timeout
-]
-server ...
-.SH 解説
-.I ntpdate
+.\"
+.Dd December 21, 1993
+.Dt NTPDATE 8
+.Os
+.Sh 名称
+.Nm ntpdate
+.Nd NTP を介して日付と時刻を設定する
+.Sh 書式
+.Nm
+.Op Fl bds
+.Op Fl o Ar version
+.Op Fl a Ar key#
+.Op Fl e Ar authdelay
+.Op Fl k Ar keyfile
+.Op Fl p Ar samples
+.Op Fl t Ar timeout
+.Ar server ...
+.Sh 解説
+.Nm
は、正確な時刻を決めるために引数に与えられたホスト (複数可) の
ネットワークタイムプロトコル (Network Time Protocol)
サーバを調べることによって、
ローカルな日付と時刻を設定します。
これは、ローカルホストの root として起動されなければなりません。
指定された各サーバからたくさんのサンプルを得て、
標準の NTP 時計フィルタと選択アルゴリズムを適用し、
その中から最良のものを選択します。
通常
-.I ntpdate
+.Nm
コマンドは、ブート時の時刻を設定するために起動時スクリプト
-.I /etc/rc.local
+.Pa /etc/rc.local
の中に挿入したり、
-.IR cron (8)
+.Xr cron 8
を介して時間毎に間欠的に走らせたりすることができます。
-.I ntpdate
+.Nm
の信頼性と正確さは、
-サーバ数が増えると劇的に改善することを覚えておいて下さい。
+サーバ数が増えると劇的に改善することを覚えておいてください。
単一のサーバを使っても構いませんが、
あまり多くないにしても、
-少なくとも三つないし四つのサーバを用意すると、
+少なくとも 3 つないし 4 つのサーバを用意すると、
より良い性能と、
どれかのサーバの部分的な狂いに対するより大きな抵抗性が得られます。
-.PP
-.I ntpdate
-は二つの方法のうちの一つで時刻の調整を行います。
-.I ntpdate
+.Pp
+.Nm
+は 2 つの方法のうちの 1 つで時刻の調整を行います。
+.Nm
は、時計が 0.5 秒以上ずれていると判断すると、
-.IR settimeofday (2)
+.Xr settimeofday 2
を呼ぶことで単に時刻を合わせ直します。
しかし、
誤差が 0.5 秒以内のときは、デフォルトでは、そのずれを指定して
-.IR adjtime (2)
+.Xr adjtime 2
を呼ぶことで、時計の時刻を微調整します。
後者のテクニックは、ずれが小さいときには、より滑らかな上に正確であり、
-.I ntpdate
+.Nm
-.I cron (8)
+.Xr cron 8
で 1 〜 2 時間に一回走らせるときには、かなりうまく働きます。
後者の方法で行う調整は、実際には、計測されたずれよりも 50% 大きくなります。
-これは、ひどくフラフラする時計をより正確に保持するのに役立つからです。
-(安定性は少し犠牲になりますが、この取り引きは大抵は有効です。)
+これは、ひどくフラフラする時計をより正確に保持するのに役立つからです
+(安定性は少し犠牲になりますが、この取り引きは大抵は有効です)。
しかしブート時には、大抵の場合、必ず合わせ直す方がいいでしょう。
コマンドラインに
-.B -b
+.Fl b
スイッチを指定することにより、すべての場合にこれを強制することができます。
-.B -s
+.Fl s
スイッチは、
-.I ntpdate
+.Nm
の動作を標準出力ではなく、
-.IR syslog (3)
-ファシリティでログを取るようにします。
+.Xr syslog 3
+機能でログを取るようにします。
これはプログラムを
-.IR cron (8)
+.Xr cron 8
から走らせる際に便利なオプションです。
-.PP
-.B -d
+.Pp
+.Fl d
フラグは
-.I ntpdate
+.Nm
が何を行うのかを、
実際に実行させずに知るために使われます。
一般のデバッグに便利な情報も出力されます。
デフォルトでは、
-.I ntpdate
+.Nm
は、パケットを出力するときに NTPバージョン 3 の実装であると自称します。
古いソフトウェアのいくつかはバージョン 3 の問い合わせへの返答を拒否するため、
代わりに
-.B -o
-.I version
+.Fl o Ar version
スイッチにより、
バージョン 2 または 1 の実装として調べるように強制できます。
-.PP
-.I ntpdate
+.Pp
+.Nm
が各サーバから得るサンプルの数は、
-.B -p
+.Fl p
スイッチを使って、 1 から 8 までを設定することができます。
デフォルトは 4 です。
応答待ちに使われる時間は
-.B -t
+.Fl t
スイッチで設定でき、 0.2 秒の倍数に丸められます。
デフォルトは 1 秒で、これは LAN を通じて調べるのに適当な値です。
-.PP
+.Pp
必要なら
-.I ntpdate
+.Nm ntpdate
は、その処理を認証します。
-.B -a
+.Fl a
スイッチは、すべてのパケットは指定されたキー番号を使って
認証されなければならないという指定です。
-.B -k
+.Fl k
スイッチにより、デフォルトで
-.I /etc/ntp.keys
+.Pa /etc/ntp.keys
となっている、キーを読み込むファイルの名前を変更できます。
このファイルは
-.IR xntpd (8)
+.Xr xntpd 8
に記載されているフォーマットで記述されなければなりません。
-.B -e
-オプションは、認証処理による遅れを秒単位で指定できます。
+.Fl e
+オプションは、認証処理による遅れを秒単位で指定できます
(詳細は
-.IR xntpd (8)
-を参照して下さい。)
+.Xr xntpd 8
+を参照してください)。
この値は、通常は
-.I ntpdate
+.Nm
の用途では無視し得るほどわずかですが、
非常に遅い CPU ではこの数を指定することで、
-時間の正確さが改善するかも知れません。
-.PP
-.I ntpdate
+時間の正確さが改善するかもしれません。
+.Pp
+.Nm
は、同一ホスト上に NTP サーバデーモン
(例えば
-.IR xntpd (8)
+.Xr xntpd 8
)
が走っているときには、時刻の設定を拒否します。
デーモンを走らせる代わりに
-.I ntpdate
+.Nm
-.IR cron (8)
+.Xr cron 8
から定期的に走らせるときは、
-1 時間か 2 時間に一回動かせば、
+1 時間か 2 時間に 1 回動かせば、
時計の合わせ直しを避けて十分正確に時刻を刻むことになるでしょう。
-.SH 関連ファイル
-.nf
-/etc/ntp.keys\0\0 は、 \fIntpdate\fP で使われる暗号キーを含みます。
-.fi
-.SH 関連項目
-xntpd(8)
-.SH 歴史
-Toronto 大学の Dennis Ferguson によって書かれました。
-.SH バグ
+.Sh 関連ファイル
+.Bl -tag -width /etc/ntp.keys -compact
+.It Pa /etc/ntp.keys
+は
+.Nm
+で使われる暗号キーを含みます。
+.El
+.Sh 関連項目
+.Xr xntpd 8
+.Sh 歴史
+Toronto 大学の
+.An Dennis Ferguson
+によって書かれました。
+.Sh バグ
時計の発振子の誤差を補正して精度を高めるために用いたテクニックは
あまり出来がよくありませんが、
もっとうまくやるためには、
このプログラムが前回実行した時の状態を保存しておくことが必要となるでしょう。
+
diff --git a/ja_JP.eucJP/man/man8/ntpq.8 b/ja_JP.eucJP/man/man8/ntpq.8
index c18eec4bce..0314b745d0 100644
--- a/ja_JP.eucJP/man/man8/ntpq.8
+++ b/ja_JP.eucJP/man/man8/ntpq.8
@@ -1,609 +1,518 @@
-''' $Header
-'''
+.\"
+.\" %Id: ntpq.8,v 1.5 1998/02/19 08:05:38 charnier Exp %
+.\"
.\" jpman %Id: ntpq.8,v 1.3 1997/09/21 12:35:15 seki Stab %
.\"
.\" 対訳覚え書き (seki@sysrap.cs.fujitsu.co.jp 作成)
.\" association アソシエーション
.\" association identifier アソシエーション番号 (訳しすぎか?)
.\" authentication 認証
.\" clock 時計
.\" dispersion ばらつき
.\" fuzzball fuzzball (固有名詞; xntpd ベースでない NTP サーバ)
.\" offset ずれ
.\" peer peer のまま
.\" poll ポーリングする
.\" query 問い合わせ
.\" reference clock 参照時計
.\" request 要求
.\" status word 状態ワード
.\" time out (名詞) 制限時間
-.de Sh
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH NTPQ 8 LOCAL
-.SH 名称
-ntpq - ネットワークタイムプロトコルの標準問い合わせプログラム
-.SH 書式
-.B ntpq
-[
-.B -inp
-] [
-.B -c
-.I command
-] [
-.I host
-] [
-.I ...
-]
-.SH 解説
-.I ntpq
+.Dd December 21, 1993
+.Dt NTPQ 8
+.Os
+.Sh 名称
+.Nm ntpq
+.Nd ネットワークタイムプロトコルの標準問い合わせプログラム
+.Sh 書式
+.Nm
+.Op Fl inp
+.Op Fl c Ar command
+.Op Ar host ...
+.Sh 解説
+.Nm ntpq
は、
推奨されている NTP モード 6 制御メッセージフォーマットを実装する NTP サーバに、
現在の状態について問い合わせを行なったり、
状態の変更を要求するために使われます。
このプログラムは対話的モードでも、
コマンドラインの引数を使っても走らせることができます。
任意の変数を読み書きする要求を組み立てることができ、
-生のまま、または綺麗に整形する出力オプションがあります。
-.I ntpq
+生のまま、または綺麗に整形して出力するオプションがあります。
+.Nm ntpq
は、サーバに複数の問い合わせを送ることで、共通フォーマットにした
peer のリストを得て、出力することができます。
-.PP
-.I ntpq
+.Pp
+.Nm ntpq
を実行するときに一つ以上の要求オプションがコマンドラインに含まれていれば、
それぞれの要求は、
コマンドラインで指定された各ホストで走っている NTP サーバ、
またはデフォルトでは
-.I localhost
+.Ar localhost
で走っている NTP サーバに送られます。
要求オプションが与えられなかった場合、
-.I ntpq
+.Nm ntpq
は、コマンドを標準入力から読み込み、
コマンドラインで指定された最初のホストで走っている
NTP サーバに対して実行しようとします。
このときも、
ホストが指定されていないときは、デフォルトで
-.I localhost
+.Ar localhost
になります。
標準入力が端末装置である場合は、
-.I ntpq
+.Nm ntpq
はコマンドを求めるプロンプトを出します。
-.PP
-.I ntpq
-は NTP サーバと通信するために、 NTP モード 6 パケットを使います。
+.Pp
+NTP サーバと通信するために、
+.Nm ntpq
+は NTP モード 6 パケットを使います。
それゆえ、許可されていれば、
互換のあるどんなネットワーク上のサーバにでも問い合わせることができます。
NTP は UDP のプロトコルなので、特にネットワークトポロジ的に
遠くにある場合は、この伝達はやや信頼性に欠けるということを覚えておいて
下さい。
-.I ntpq
+.Nm ntpq
は、要求を再送する試みを一度行ない、
適当な制限時間の範囲内でリモートホストから返事がなかったときは、
その要求は時間切れとなります。
-.PP
+.Pp
コマンドラインオプションは以下の通りです。
-.B -i
+.Fl i
または
-.B -n
+.Fl n
以外のコマンドラインオプションを指定すると、指定したホスト (群) に、
指定した問い合わせ (または複数の問い合わせ) を直ちに送ることになります。
そうでなければ
-.I ntpq
+.Nm ntpq
は、標準入力から対話形式のコマンドを読み込もうとします。
-.Ip -c 8
-後に続く引数は、対話形式のコマンドとして解釈され、
+以下のオプションが利用可能です。
+.Bl -tag -width indent
+.It Fl c Ar command
+後に続く引数は、対話形式の
+.Ar コマンド
+として解釈され、
指定されたホスト (群) に対して実行すべきコマンドのリストに
付け加えられます。
複数の
-.B -c
+.Fl c
オプションも与えることができます。
-.Ip -i 8
-.I ntpq
+.It Fl i
+.Nm ntpq
の操作を強制的に対話モードにします。標準出力にプロンプトが書き出され、
標準入力からコマンドが読み込まれます。
-.Ip -n 8
+.It Fl n
すべてのホストアドレスを数字四つを点で区切った形式で出力し、
正規のホスト名に変換しません。
-.Ip -p 8
+.It Fl p
そのサーバに知られている peer の一覧を、その状態の概要と共に出力します。
-これは、対話コマンド \*(L"peers\*(R" と同等です。
-.SH 内部コマンド
-.PP
+これは、対話コマンド
+.Em peers
+と同等です。
+.El
+.Sh 内部コマンド
+.Pp
対話形式コマンドは、キーワードとそれに続く 0 個から 4 個の
引数からなります。
キーワードの単語のうち、他に同じものがないとわかる数の文字がタイプされ
ていれば大丈夫です。コマンドの出力は、通常標準出力に出力されますが、
-コマンドラインの後に \*(L">\*(R" とファイル名をつけると、
+コマンドラインの後に
+.Qq >
+とファイル名をつけると、
個々のコマンドの出力をファイルに出力することもできます。
-.PP
+.Pp
多くの対話形式コマンドは、
-.I ntpq
+.Nm ntpq
プログラム自身の中で実行されてしまい、
サーバへ送られる NTP モード 6 リクエストとはなりません。
この種のコマンドを以下に挙げます。
-.PP
-.B ?
-[
-.I command_keyword
-]
-.PP
-単独の \*(L"?\*(R" は、
-現在の
-.I ntpq
+.Pp
+.Bl -tag -width indent
+.It ? Op Ar command_keyword
+単独の
+.Qq ?
+は、現在の
+.Nm ntpq
のすべてのコマンドキーワードの一覧を出力します。
-\*(L"?\*(R" の後にコマンドキーワードが続くときは、関数とコマンドの使いかた
+.Qq ?
+の後にコマンドキーワードが続くときは、関数とコマンドの使いかた
を出力します。このコマンドは、
-.I ntpq
+.Nm ntpq
について、多分このマニュアルよりも良い情報源になります。
-.PP
-.B timeout
-.I millseconds
-.PP
+.Pp
+.It timeout Ar millseconds
サーバへの問い合わせに対する応答の、制限時間の長さを指定します。
-デフォルトは、約 5000 ミリ秒です。
-.I ntpq
+デフォルトは約 5000 ミリ秒です。
+.Nm ntpq
は制限時間が過ぎるとそれぞれの問い合わせを一回リトライするので、
合計の待ち時間は設定された制限時間の値の 2 倍になることを覚えておいて下さい。
-.PP
-.B delay
-.I milliseconds
-.PP
+.It delay Ar milliseconds
認証を必要とする要求に含めるタイムスタンプに追加すべき時間間隔を指定します。
これは、長い遅延のあるネットワーク経路や時計が同期していない
マシン間での (信頼性の低い) サーバの再設定を可能にするために
使われます。
実際には、サーバは、今では認証される要求のタイムスタンプを必要としません。
そのため、このコマンドは、すたれているかもしれません。
-.PP
-.B host
-.I hostname
-.PP
+.It host Ar hostname
問い合わせを送るホストをセットします。
-.I hostname
+.Ar hostname
はホスト名でも数値アドレスでもかまいません。
-.PP
-.B poll
-[
-.I #
-] [
-.B verbose
-]
-.PP
+.It Xo poll
+.Op Ar #
+.Op Ar verbose
+.Xc
クライアントモードで現在のサーバをポーリングします。最初の引数はポーリングする
回数 (デフォルトは 1) であり、 2 番目の引数は結果の出力をより詳しく
得るために与えることができます。
このコマンドは、今のところ希望的観測でしかありません。
-.PP
-.B keyid
-.I #
-.PP
+.It keyid Ar #
このコマンドは、設定要求を認証するために用いるキー番号を指定します。
これは、この目的で使うためにサーバに設定されているキー番号に
対応していなければなりません。
-.PP
-.B passwd
-.PP
+.It passwd
このコマンドは、設定要求を認証するために使われるパスワード
(画面に表示されません) の入力を求めるプロンプトを出します。
その要求を成功させるためには、
このパスワードが、
NTP サーバがこの目的で使うように設定されたキーに
対応していなければなりません。
-.PP
-.B "hostnames yes|no"
-.PP
-\*(L"yes\*(R" が指定されると、情報を表示するときにホスト名が出力されます。
-\*(L"no\*(R" が与えられると、代わりに数値アドレスが表示されます。
+.It hostnames Ar yes | no
+.Ar yes
+が指定されると、情報を表示するときにホスト名が出力されます。
+.Ar no
+が与えられると、代わりに数値アドレスが表示されます。
コマンドラインの
-.B -n
-スイッチが使われなければ、
-デフォルトは \*(L"yes\*(R" になります。
-.PP
-.B raw
-.PP
+.Fl n
+スイッチが使われなければ、デフォルトは
+.Ar yes
+になります。
+.It raw
問い合わせコマンドに対するすべての出力を、リモートサーバから受け取った
通りに出力します。
データに対して行なわれる唯一の整形/解釈は、印字できる
(しかしめったに理解できない) 形になるように、アスキー文字でないデータを
変換することです。
-.PP
-.B cooked
-.PP
-問い合わせコマンドからの出力を、 \*(L"加工済み (cooked)\*(R" 形にします。
+.It cooked
+問い合わせコマンドからの出力を、
+.Qq 加工済み (cooked)
+形にします。
サーバに認識された変数は、人間に使える形に再整形された値に
なります。
-.I ntpq
+.Nm ntpq
が、その変数は本来デコードできる値を持っていると判断したのに、
-デコードされていないものには、後に \*(L"?\*(R" が付けられます。
-.PP
-.B ntpversion
-.B 1|2|3
-.PP
-.I ntpq
+デコードされていないものには、その後に
+.Qq ?
+が付けられます。
+.It ntpversion Ar 1 | Ar 2 | Ar 3
+.Nm ntpq
がパケットの中で自称する NTP のバージョン番号をセットします。
デフォルトでは 3 です。
モード 6 制御メッセージ (詳しく言うとモードも) は、
NTP バージョン 1 には存在しなかったことに注意して下さい。
バージョン 1 を必要とするサーバは残っていないようですが。
-.PP
-.B authenticate
-.B yes|no
-.PP
+.It authenticate Ar yes | Ar no
通常、
-.I ntpq
+.Nm ntpq
は、
書き込み要求でない限り要求を認証しません。
コマンド
-.B authenticate yes
+.Em authenticate yes
は、
-.I ntpq
+.Nm ntpq
が生成するすべての要求に認証をつけて送るようにします。
認証された要求は、サーバによっては少し異なって扱われます。
もしも peer 表示を行う前に認証をオンにすると、
時々 fuzzball の CPU を溶かしてしまうかもしれません。
-.PP
-.B addvars
-.IR <variable_name>[=<value>] [,...]
-.B rmvars
-.IR <variable_name> [,...]
-.B clearvars
-.PP
+.It Xo addvars
+.Aq variable_name Ns
+.Op = Ns Aq value> Ns
+.Op ,...
+.Xc
+.It Xo rmvars
+.Aq variable_name Ns
+.Op ,...
+.Xc
+.It clearvars
NTP モード 6 メッセージが運ぶデータは、次の形の
項目のリストから成ります。
-.IP "" 8
-<variable_name>=<value>
-.PP
-ここで、サーバの変数を読み取る要求では、この \*(L"=<value>\*(R" は
-無視されるので、省略することができます。
-.I ntpq
+.Xo Aq variable_name Ns
+.Pf = Aq value
+.Xc
+ここで、サーバの変数を読み取る要求では、この
+.Qq = Ns Aq value
+は無視されるので、省略することができます。
+.Nm ntpq
は、制御メッセージに含まれるデータを組み立てるための内部リストを保持しており、
以下に述べる
-.B readlist
+.Em readlist
-.B writelist
+.Em writelist
コマンドを使って送ります。
-.B addvars
+.Em addvars
コマンドで、このリストに、変数と省略可能な値を追加することができます。
一つ以上の変数を追加するときには、リストはコンマで区切り、
空白を含んではいけません。
-.B rmvars
+.Em rmvars
コマンドは、個々の変数をリストから削除するために用い、
-.B clearlist
+.Em clearlist
コマンドは、リストからすべての変数を削除します。
-.PP
-.B debug
-.I more|less|off
-.PP
+.It debug Ar more | Ar less | Ar off
問い合わせプログラムの内部のデバッグをオンまたはオフにします。
-.PP
-.B quit
-.PP
-.I ntpq
+.It quit
+.Nm ntpq
を終了します。
-.SH 制御メッセージコマンド
-.PP
+.El
+.Sh 制御メッセージコマンド
ある NTP サーバが知っている各 peer には、
-.I アソシエーション番号
-.I (association identifier)
+.Em アソシエーション番号
+.Em (association identifier)
という 16 ビット整数が割り当てられています。
peer 変数を使う NTP 制御メッセージは、
アソシエーション番号を含めることによって、
その値が対応する peer を識別しなければなりません。
0 というアソシエーション番号は特別で、
その変数がシステム変数であることを表します。
システム変数の名前は、独立した名前空間から取りだされます。
-.PP
+.Pp
制御メッセージコマンドは、
サーバに一つ以上の NTP モード 6 メッセージを送り、
戻ってきたデータを何らかの書式で出力します。
現在実装されているほとんどのコマンドは、
一つのメッセージを送って、一つの応答を受け取ります。
今のところ例外は、必要なデータを得るためにあらかじめプログラムされた一連の
メッセージを送る
-.B peers
+.Em peers
コマンドと、
アソシエーションをある範囲で変えながら繰り返す
-.B mreadlist
+.Em mreadlist
-.B mreadvar
+.Em mreadvar
コマンドです。
-.PP
-.B associations
-.PP
+.Bl -tag -width indent
+.It associations
問い合わせ対象のサーバの規格内 (in\-spec) の peer についての、
アソシエーション番号と peer の状態の一覧を得て出力します。
一覧は複数の欄から成っています。
最初の欄は、内部で使用のために 1 から振ったアソシエーションの索引番号 (index)、
2 番目はサーバから返って来た実際のアソシエーション番号、
3 番目は peer の状態ワードです。
その後に、状態ワードをデコードしたデータを含む欄がいくつか続きます。
-\*(L"associations\*(R" コマンドによって返ったデータは
-.I ntpq
+\*(L"associations\*(R" コマンドによって返されたデータは
+.Nm ntpq
の内部でキャッシュされるということを覚えておいて下さい。
このため、索引番号は、
人間にはほとんど打ち込むることができないアソシエーション番号を使う
愚かなサーバを相手にするときに役立ちます。
すなわち、
それ以降の任意のコマンドが引き数としてアソシエーション番号を必要とするときに、
代わりに
-.I &index
+.Em &index
という形を使うことができます。
-.PP
-.B lassocations
-.PP
+.It lassocations
+.Pp
サーバが状態を保持しているすべてのアソシエーションについて
アソシエーション番号と peer の状態の一覧を得て、出力します。
-このコマンドと \*(L"associations\*(R" コマンドは、
+このコマンドと
+.Em associations
+コマンドは、
規格外 (out\-of\-spec) のクライアントのアソシエーション
の状態を保持するサーバ (つまり fuzzball) の場合にだけ異なります。
-\*(L"associations\*(R" コマンドが使われたとき、通常そういう関係は
-表示から省略されますが、 \*(L"lassociations\*(R" の出力には含まれます。
-.PP
-.B passociations
-.PP
+.Em associations
+コマンドが使われたとき、通常そういう関係は
+表示から省略されますが、
+.Em lassociations
+の出力には含まれます。
+.It passociations
内部でキャッシュされたアソシエーションの一覧から、
規格内 (in\-spec) の peer に関する
アソシエーションのデータを出力します。
このコマンドは、新しい問い合わせをするのではなく
内部に蓄えられたデータを表示するということを除けば、
-\*(L"associations\*(R" と同じに働きます。
-.PP
-.B lpassociations
-.PP
+.Em associations
+と同じに働きます。
+.It lpassociations
規格外 (out\-of\-spec) のクライアントとのアソシエーションを含む
全てのアソシエーションに関するデータを、
内部にキャッシュされたアソシエーションの一覧から出力します。
-このコマンドは、fuzzball を扱う場合だけ、 \*(L"passociations\*(R" と
-異なります。
-.PP
-.B pstatus
-.I assocID
-.PP
+このコマンドは、fuzzball を扱う場合だけ、
+.Em passociations
+と異なります。
+.It pstatus Ar assocID
与えられたアソシエーションに対応するサーバに対し、
状態読み取り要求を送ります。
返された peer 変数の名前と値を出力します。
変数の前に、ヘッダから得た状態ワードが 16 進数と下手な英語で
表示されることに注意して下さい。
-.PP
-.B readvar
-[
-.I assocID
-] [
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
+.It Xo readvar
+.Op Ar assocID Ns
+.Pf [ Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
変数読み取り要求を送ることで、指定した変数の値を返すようにサーバに要求します。
アソシエーション番号 (assocID) を省略するか 0 を指定したならば、
変数はシステム変数です。
そうでなければ peer 変数であり、
返される値は対応する peer のものとなります。
変数のリストを省略すると、データ無しの要求を送ります。
これは、サーバにデフォルトのディスプレイを返させます。
-.PP
-.B rv
-[
-.I assocID
-] [
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
-.B readvar
+.It Xo rv
+.Op Ar assocID Ns
+.Pf [ Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
+.Em readvar
コマンドの打ちやすい短縮形です。
-.PP
-.B writevar
-.I assocID
-.IR <variable_name>=<value> [,...]
-.PP
-.B readvar
+.It Xo writevar
+.Ar assocID
+.Aq variable_name Ns
+.Pf = Ns Aq value Ns
+.Op ,...
+.Xc
+.Em readvar
リクエストと似ていますが、
指定した変数を読み取る代わりに書き込みます。
-.PP
-.B readlist
-[
-.I assocID
-]
-.PP
+.It readlist Op Ar assocID
内部の変数リストの中の変数の値を返すようにサーバに要求します。
アソシエーション番号が省略されるか 0 の場合、
変数はシステム変数であるとみなされます。
そうでなければ、 peer 変数として扱われます。
内部の変数リストが空の場合は、
要求はデータ無しで送られます。
これは、リモートサーバにデフォルトのディスプレイを返させます。
-.PP
-.B rl
-[
-.I assocID
-]
-.PP
-.B readlist
+.It rl Op Ar assocID
+.Em readlist
コマンドの打ちやすい短縮形です。
-.PP
-.B writelist
-[
-.I assocID
-]
-.PP
-.B readlist
+.It writelist Op Ar assocID
+.Em readlist
リクエストと似ていますが、
内部のリストの変数を読み取る代わりに書き込みます。
-.PP
-.B mreadvar
-.I assocID
-.I assocID
-[
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
-.B readvar
+.It Xo mreadvar
+.Ar assocID assocID [
+.Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
+.Em readvar
コマンドと似ていますが、
問い合わせを (0でない) アソシエーション番号の範囲のそれぞれに
行ないます。
ここで言う範囲は、直前に実行された
-.B associations
+.Em associations
コマンドでキャッシュされたアソシエーションの一覧から決めます。
-.PP
-.B mrv
-.I assocID
-.I assocID
-[
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
-.B mreadvar
+.It Xo mrv
+.Ar assocID assocID [
+.Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
+.Em mreadvar
コマンドの打ちやすい短縮形です。
-.PP
-.B mreadlist
-.I assocID
-.I assocID
-.PP
-.B readlist
+.It mreadlist Ar assocID assocID
+.Em readlist
コマンドと似ていますが、
(0 でない) アソシエーション番号の範囲のそれぞれに問い合わせを行います。
ここで言う範囲は、直前に実行された
-.B associations
+.Em associations
コマンドでキャッシュされたアソシエーションの一覧から決めます。
-.PP
-.B mrl
-.I assocID
-.I assocID
-.PP
-.B mreadlist
+.It mrl Ar assocID assocID
+.Em mreadlist
コマンドの打ちやすい短縮形です。
-.PP
-.B clockvar
-[
-.I assocID
-]
-[
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
+.It Xo clockvar
+.Op Ar assocID Ns
+.Pf [ Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
サーバの時計変数 (clock variable) の一覧を送るように要求します。
ラジオ時計や他の外部同期機構を持っているサーバは、
このコマンドに肯定的に応答します。
アソシエーション番号が省略されるか 0 だと、
-要求は \*(L"システム時計\*(R" の変数に対するものとなり、
+要求は
+.Qq システム時計
+の変数に対するものとなり、
一般に、時計を持つすべてのサーバから肯定的な応答が得られるでしょう。
サーバが時計を擬似的な peer として扱い、
結果として一度に二つ以上の時計を接続することができるようになっていれば、
適切な peer のアソシエーション番号を参照すれば
特定の時計の変数が表示されます。
変数のリストを省略すると、サーバはデフォルトの変数のディスプレイを
返すことになります。
-.PP
-.B cv
-[
-.I assocID
-]
-[
-.IR <variable_name>[=<value>] [,...]
-]
-.PP
-.B clockvar
+.It Xo cv
+.Op Ar assocID Ns
+.Pf [ Aq variable_name Ns
+.Op = Ns Aq value Ns
+.Op ,...]
+.Xc
+.Em clockvar
コマンドの打ちやすい短縮形です。
-.PP
-.B peers
-.PP
+.It peers
サーバの規格内の peer の一覧を、各 peer の状態の概要と共に得ます。
概要の情報には、リモート peer のアドレス、
参照 ID (参照 IDが不明のときは 0.0.0.0)、
リモート peer の階層 (stratum)、
peer の種類
(ローカル、ユニキャスト、マルチキャスト、ブロードキャストのいずれか)、
最後のパケットを受信した時間、
秒単位のポーリング間隔、
8 進数表記の到達可能性レジスタ
そして、その peer に関する
(全て秒単位で)
現在の遅延の推定値、ずれ (offset)、ばらつき (dispersion) を含んでいます。
-.PP
+.Pp
左端の文字は、時計選択処理におけるこの peer の運命を示します。
コードの意味は以下です:
<sp> 階層が高いか、または妥当性のチェックにより捨てられたもの;
-\*(L"x\*(R" 交差アルゴリスムにより指示された誤りのチェッカ (falsticker);
-\*(L".\*(R" 候補リストの最後から間引かれたもの;
-\*(L"-\*(R" クラスタリングアルゴリスムにより捨てられたもの;
-\*(L"+\*(R" 最終の選択セットに含まれたもの;
-\*(L"#\*(R" 同期用に選択されたが隔たりが最大値を越えるもの;
-\*(L"*\*(R" 同期用に選択されたもの;
-\*(L"o\*(R" 同期用に選択され pps シグナル使用中のもの。
-.PP
-.B peers
+.Qq x
+交差アルゴリスムにより指示された誤りのチェッカ (falsticker);
+.Qq .
+候補リストの最後から間引かれたもの;
+.Qq -
+クラスタリングアルゴリスムにより捨てられたもの;
+.Qq +
+最終の選択セットに含まれたもの;
+.Qq #
+同期用に選択されたが隔たりが最大値を越えるもの;
+.Qq *
+同期用に選択されたもの;
+.Qq o
+同期用に選択され pps シグナル使用中のもの。
+.Em peers
コマンドは、得られた応答の中の値を解析できるかどうかに依るため、
データ形式の制御が貧弱なサーバでは、時々動作に失敗するかも
しれません。
-.PP
+.Pp
ホストフィールドの内容は、次の四つの型のうちの一つになります。
ホスト名、
IP アドレス、
参照時計 (reference clock) の実装名とパラメタ、
-\*(L"REFCLK(<実装番号>, <パラメータ>)\*(R" のいずれかです。
-\*(L"hostnames no\*(R" が設定されているときには、
-IP アドレスだけが表示されます。
-.PP
-.B lpeers
-.PP
-.B peers
+.Qq REFCLK(<実装番号>, <パラメータ>)
+のいずれかです。
+.Qq hostnames no
+が設定されているときには、IP アドレスだけが表示されます。
+.It lpeers
+.Em peers
と似ていますが、
サーバが状態を保持しているすべてのアソシエーションの概要を出力します。
これは fuzzball サーバの、より長い peer のリストを生成することがあります。
-.PP
-.B opeers
-.PP
-古い型の \*(L"peers\*(R" コマンドで、
+.It opeers
+古い型の
+.Em peers
+コマンドで、
参照 ID がローカルのインタフェースアドレスになります。
-.SH 歴史
-.PP
+.El
+.Sh 歴史
Toronto 大学の Dennis Ferguson によって書かれました。
-.SH バグ
-.PP
-.B peers
+.Sh バグ
+.Em peers
コマンドは不可分 (atomic) ではないため、
不正なアソシエーションという誤ったエラーメッセージが発生し
コマンドが終了することがあります。
-.PP
+.Pp
時間切れまでの時間は固定された定数です。
これは、ある種の最悪の場合を考えてあるため、
時間切れになるまで長時間待たされることになります。
このプログラムは、
特定のホストへ何回も問い合わせを送る間に
制限時間の見積もりを改善すべきですが、
実際には行なっていません。
diff --git a/ja_JP.eucJP/man/man8/ntptrace.8 b/ja_JP.eucJP/man/man8/ntptrace.8
index 3c373f727e..ad642bc9c5 100644
--- a/ja_JP.eucJP/man/man8/ntptrace.8
+++ b/ja_JP.eucJP/man/man8/ntptrace.8
@@ -1,108 +1,71 @@
-''' $Header
-'''
+.\"
+.\" %Id: ntptrace.8,v 1.2 1998/02/19 08:05:40 charnier Exp %
.\" jpman %Id: ntptrace.8,v 1.3 1997/09/12 02:34:26 seki Stab %
-.de Sh
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH NTPTRACE 8 LOCAL
-.SH 名称
-ntptrace - NTP ホスト連鎖をたどりマスタ時刻ソースまで追跡する
-.SH 書式
-.B ntptrace
-[
-.B -vdn
-] [
-.B -r
-.I retries
-] [
-.B -t
-.I timeout
-] [
-.I server
-]
-.SH 解説
-.I ntptrace
+.\"
+.Dd December 21, 1993
+.Dt NTPTRACE 8
+.Os
+.Sh 名称
+.Nm ntptrace
+.Nd "NTP ホスト連鎖をたどりマスタ時刻ソースまで追跡する"
+.Sh 書式
+.Nm ntptrace
+.Op Fl vdn
+.Op Fl r Ar retries
+.Op Fl t Ar timeout
+.Op Ar server
+.Sh 解説
+.Nm ntptrace
は、与えられた
ネットワークタイムプロトコル (NTP) サーバが
どこから時刻を取得するのかを決定し、
NTP サーバの連鎖をたどってマスタ時刻ソースまで戻ります。
-引数が与えられなかったときは、 ``localhost'' から始めます。
-.PP
+引数が与えられなかったときは、
+.Dq localhost
+から始めます。
+.Pp
以下は、
-.I ntptrace
+.Nm
の出力の例です。
-.RS 2
-.nf
-
+.Bd -literal
% ntptrace
localhost: stratum 4, offset 0.0019529, synch distance 0.144135
server2.bozo.com: stratum 2, offset 0.0124263, synch distance 0.115784
-usndh.edu: stratum 1, offset 0.0019298, synch distance 0.011993, refid 'WWVB'
-
-.fi
-.RE
-各行のフィールドは (左から右へ):
+h.edu: stratum 1, offset 0.0019298, synch distance 0.011993, refid 'WWVB'
+.Ed
+.Pp
+各行のフィールドは (左から右へ) 次のようになります:
ホスト名、ホストの階層 (stratum)、
そのホストとローカルホストの間の時刻のずれ (offset)
(
-.I ntptrace
-によって測定されたもの; これが ``localhost'' に対して
-いつも 0 になるとは限らない理由です) 、
-ホストの ``同期距離'' (synch distance)、
-そして、(階層が 1 のサーバのみですが) 参照時計 ID。
+.Nm
+によって測定されたもの;
+これが
+.Dq localhost
+に対していつも 0 になるとは限らない理由です )、
+ホストの
+.Dq 同期距離
+(synchronization distance)、
+そして (階層が 1 のサーバのみですが)、参照時計 ID 。
すべての時間は秒単位です。
-(同期距離というのは、時計の時刻の良さの測度です。)
-.SH オプション
-.IP "\-d" 5
+(同期距離とは、時計の時刻の精度を測ったものです。)
+.Sh オプション
+以下のオプションが使えます。
+.Bl -tag -width indent
+.It Fl d
デバッグ出力をオンにします。
-.IP "\-n" 5
-ホスト名の印刷をオフにします; 代わりに、ホストの IP アドレスが
-使われます。これは、ネームサーバが落ちているときに必要になるかも
-しれません。
-.IP "\-r retries" 5
-各ホストに対する再送信の回数をセットします。デフォルト = 5。
-.IP "\-t timeout" 5
-再送信の制限時間 (秒単位) をセットします。デフォルト = 2。
-.IP "\-v" 5
-NTP サーバについての詳細な情報を出力します。
-.SH 関連項目
-xntpd(8), xntpdc(8)
-.SH バグ
-このプログラムは、複数の標本を取って正確さを増すような試みをしません。
+.It Fl n
+ホスト名の表示をオフにします; 代わりに、ホストの IP アドレスが
+表示されます。これは、ネームサーバが落ちているときに必要になるでしょう。
+.It Fl r Ar retries
+ホスト毎の再送信の回数をセットします。デフォルトは 5 です。
+.It Fl t Ar timeout
+再送信のタイムアウト (秒単位) をセットします。デフォルト は 2 です。
+.It Fl v
+NTP サーバに関する詳細な情報を出力します。
+.El
+.Sh 関連項目
+.Xr xntpd 8 ,
+.Xr xntpdc 8
+.Sh バグ
+このプログラムは、複数の標本を取って精度を高めるような試みをしません。
diff --git a/ja_JP.eucJP/man/man8/pccardd.8 b/ja_JP.eucJP/man/man8/pccardd.8
index e3fc8ee954..e4f6ebd273 100644
--- a/ja_JP.eucJP/man/man8/pccardd.8
+++ b/ja_JP.eucJP/man/man8/pccardd.8
@@ -1,154 +1,154 @@
.\"
.\" Copyright (c) 1994 Andrew McRae. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: pccardd.8,v 1.4.2.4 1998/04/18 23:28:50 nate Exp %
+.\" %Id: pccardd.8,v 1.10 1998/03/23 08:25:40 charnier Exp %
.\" jpman %Id: pccardd.8,v 1.4 1997/07/26 22:04:06 horikawa Stab %
.\"
.Dd November 1, 1994
.Dt PCCARD 8
.Os FreeBSD
.Sh 名称
.Nm pccardd
.Nd PC-CARD (PCMCIA) 管理デーモン
.Sh 書式
.Nm pccardd
.Op Fl d
.Op Fl v
.Op Fl f Ar configfile
.Sh 解説
.Nm
は、普通ブート時に始動され、 PC-CARD カードの抜き差しを管理します。
.Pp
実行されると、
.Nm
は (デフォルト名が
.Pa /etc/pccard.conf
の) 設定ファイルを読み込み、カードのために利用可能な PC-CARD スロット
をスキャンします。
.Nm
は、その後、例えば新しいカードの挿入やカードの取り外しのような、
.Em "カードイベント"
を待ちます。
.Pp
カードが挿入された時、以下のような動作が行われます。
.Bl -enum
.It
カーネルドライバはカードの挿入を検出し、カードに電源を供給します。
.It
.Nm
は、
.Em CIS
データをカードの属性メモリから読み込み、製造者名とカードの
バージョンを設定ファイルのカード記述と照合します。
.It
マッチするものが見付かると、ドライバが割り当てられます。
.It
ひとたび自由なドライバとデバイス実体が割り当てられると、
.Nm
は (必要であれば) ISA メモリブロックや入出力ポートのような資源を
共通の資源から割り当てます。
.It
PC-CARD スロットは、割り当てられた I/O とメモリコンテキストによって
設定され、カーネルドライバがカードに割り当てられます。
.It
割当が成功すると、例えばネットワークインタフェースを設定するための
.Xr ifconfig 8
等のような
特定のシェルコマンドがデバイスを設定するために実行されます。
それぞれ別々のコマンドを各カード・ドライバ・デバイスのために指定して良く、
その順序で実行されます。
.El
.Pp
.Nm
がカードの除去を発見した時には、以下の一連の操作が実行されます。
.Bl -enum
.It
カード除去に対して割り当てられたシェルコマンドが実行されます。
これは、除去されたカードに割り当てられたどんなデバイスも
リセットしようとします。
それぞれ別々のコマンドを各カード・ドライバ・デバイスのために指定して良いです。
.It
PC-CARD スロット資源は解放されます。
.El
.Pp
ひとたびカード/ドライバ実体が設定されると、
その実体に割り当てた資源を憶えておきます。
そして、カードが取り外され再び挿入された場合、
同じドライバを割り当てます。この主な理由は、一度ドライバがカードに
割り当てられると、ドライバの
.Fn 検査 (prove)
ルーチンが呼ばれ、
ドライバ固有のデータ領域は
カードに割り当てられた I/O ポートやメモリ資源によって初期化されるからです。
大多数のドライバは、ハードウエアから関連を解消されたり、その後で再び
違うパラメータで再割当されるように設計されていません。
これは、読み込み可能カーネルモジュールがサポートされた時に大きく変わ
るでしょう。
.Pp
.Nm
が理解する実行時オプションは以下の通りです。
.Bl -tag -width Ds
.It Fl d
デーモンとして実行せず、フォアグランドジョブとして実行し、
エラーメッセージを表示します。
.It Fl v
設定ファイルを読み込んだ後で、そのまとめを出力します。
.It Fl f Ar configfile
デフォルト設定ファイル
.Pa /etc/pccard.conf
とは異なった設定ファイルを指定します。
ファイルの形式は、
.Xr card.conf 5
に詳細に記述されていますし、
.Nm
によって認識される PC-CARD カードがリストされています。
また、カードへのインタフェースとして使われるカーネルドライバと
デバイスについても詳細に書かれています。
.Pp
.Sh 関連ファイル
.Bl -tag -width /etc/pccard.conf -compact
.It Pa /etc/pccard.conf
.El
.Sh 関連項目
.Xr pccard.conf 5 ,
.Xr ifconfig 8
.Sh 作者
.An Andrew McRae Aq andrew@mega.com.au
によって開発されました。
.Sh バグ
.Nm
はカードのパラメータを設定することができますが、
特定のドライバがカードと動作することを保証しません。
.Pp
.Nm FreeBSD
は、現在読み込み可能カーネルモジュールをサポートしていないため、
設定ファイル中のすべての
.Em irq
設定は、カーネルの
.Nm config
エントリにマッチする必要が有ります。
.Pp
システム資源 (例えばネットワークマウントされているファイルシステム) が
カードに関連している場合は、カードを取り外すと問題が起こるかも知れません。
diff --git a/ja_JP.eucJP/man/man8/pciconf.8 b/ja_JP.eucJP/man/man8/pciconf.8
index a19c2a0779..449a6e9e3a 100644
--- a/ja_JP.eucJP/man/man8/pciconf.8
+++ b/ja_JP.eucJP/man/man8/pciconf.8
@@ -1,186 +1,186 @@
-.\" %Id: pciconf.8,v 1.3.2.2 1998/03/07 11:35:48 se Exp %
+.\" %Id: pciconf.8,v 1.3 1997/10/06 11:38:29 charnier Exp %
.\" Copyright (c) 1997
.\" Stefan Esser <se@freebsd.org>. 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.
.\"
.Dd February 7, 1997
.Dt PCICONF 8
.Os FreeBSD
.Sh 名称
.Nm pciconf
.Nd PCI バスのための診断ユーティリティ
.Sh 書式
.Nm pciconf Fl l
.Nm pciconf Fl a Ar selector
.Nm pciconf Fl r Ar selector
.Op Fl b | Fl h
.Ar reg
.Nm pciconf Fl w Ar selector
.Op Fl b | Fl h
.Ar reg value
.Sh 解説
.Nm
コマンドは、
.Pa /dev/pci
.Xr ioctl 2
インタフェースにより提供されている機能への
コマンドラインインタフェースを提供します。
.Fl l
オプションを付けると、ブート時のプローブにより見つかったすべてのデバイスを
以下の書式で表示します:
.Bd -literal
pci0:4:0: class=0x010000 card=0x00000000 chip=0x000f1000 rev=0x01 hdr=0x00
pci0:5:0: class=0x000100 card=0x00000000 chip=0x88c15333 rev=0x00 hdr=0x00
pci0:6:0: class=0x020000 card=0x00000000 chip=0x802910ec rev=0x00 hdr=0x00
.Ed
.Pp
最初の欄は、このコマンドの他の書式で直接使えるような形で
.Ar セレクタ
を表示します。
2 番目の欄はクラスコードで、2 桁の 16 進数で表されるクラスバイトと
サブクラスバイト、インタフェースバイトからなります。
3 番目の欄は
.Tn PCI
規格のリビジョン 2.1 で導入されたサブベンダ ID レジスタの内容です。
今日のほとんどの
.Tn PCI
カード (2.0) ではこれは 0 となりますが、新しく開発された
.Tn PCI
カードではそのカード固有の識別コード (unique card identification
code) が入れられます。この値は上位 2 バイトのカード ID と、
下位 2 バイトのカードベンダ ID から構成されます。
.Pp
4 番目の欄にはこのカードがどのチップに基づいているか識別する
チップデバイス ID が含まれます。この値は上記と同様に二つの
フィールドに分けられ、チップとベンダを識別します。
5 番目の欄はチップのリビジョンを表示します。
6 番目の欄はヘッダタイプを示します。
現在割り当てられているヘッダタイプは
.Tn PCI
-
.Tn PCI
ブリッジのチップが 1 となる以外はすべて 0 となります。
ヘッダタイプレジスタが 0 となっている
.Tn PCI
デバイスの最上位ビットがセットされていると、そのデバイスは
.Em 多機能 (multi-function)
デバイスであり、ひとつのチップにいくつかの (似たものかもしれないし、
まったく異なるものかもしれない) 機能を備えています。
.Pp
.Fl l
オプションは root ではないユーザが使うことのできる唯一のものです。
.Nm
を他の方法で実行するには
.Li pci Ns Va bus Ns \&: Ns Va device
(オプションで
.Li \&: Ns Va function
が続きます) という形式で
.Ar セレクタ
を指定する必要があります。
最後にコロンを付けても構いませんが無視されますので、
.Nm
.Fl l
の出力の最初の欄をそのまま使うことができます。
すべての番号は 10 進数で表します。
.Pp
.Fl a
フラグを付けると、
.Ar selector
で識別したデバイスになんらかのドライバが割り当てられているかを、
.Nm
は判定します。
終了状態 0 はデバイスがドライバを持つことを意味します;
非 0 はデバイスがドライバを持たないことを意味します。
.Pp
.Fl r
オプションはデバイス
.Ar selector
のバイトオフセット
.Ar reg
の所のコンフィギュレーションスペースレジスタ
(configuration space register) を読み取り、
その値を 16 進数で表示します。
.Fl w
オプションはデバイス
.Ar selector
のバイトオフセット
.Ar reg
の所のコンフィギュレーションスペースレジスタへ
.Ar value
を書き込みます。
この二つのオプションでは、
.Fl b
フラグと
.Fl h
フラグで読み書きの大きさを指定できます。
.Fl b
は 1 バイトの読み書きを行い、
.Fl h
は 2 バイト (halfword) の読み書きを行います。
読み書きの大きさのデフォルトは 4 バイト (longword) です。
.Sh 関連項目
.Xr ioctl 2 ,
.\" .Xr pci 4 ,
.Xr modload 8
.Sh 歴史
.Nm
コマンドは
.Fx 2.2
で初めて登場しました。
.Fl a
オプションは
.Tn PCI
LKM サポートのために
.Fx 3.0
で追加されました。
.Sh 作者
.Nm
.An Stefan Esser
.An Garrett Wollman
によって書かれました。
.Sh バグ
.Fl b
オプションと
.Fl h
オプションは
.Nm
の内部で実装されており、
.Fn ioctl
に基づいているわけではありません。
.Pp
root ではないユーザが
.Fl a
オプションと
.Fl r
オプションを使うことを許可することは有用かもしれませんが、
LKM ドライバでデバイスを供給するために
.Nm modload
を実行できるのは root だけでしょうし、
一部の粗悪な
.Tn PCI
チップではコンフィギュレーションスペースレジスタの
読み込みが故障を引き起こす場合があるのです。
diff --git a/ja_JP.eucJP/man/man8/ping.8 b/ja_JP.eucJP/man/man8/ping.8
index 68f446751a..41d9f1f939 100644
--- a/ja_JP.eucJP/man/man8/ping.8
+++ b/ja_JP.eucJP/man/man8/ping.8
@@ -1,410 +1,417 @@
.\" 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
-.\" %Id: ping.8,v 1.3.2.7 1998/07/17 20:13:44 jkh Exp %
+.\" %Id: ping.8,v 1.16 1998/08/26 01:58:39 dillon Exp %
.\" jpman %Id: ping.8,v 1.3 1997/10/11 08:00:36 horikawa Stab %
.\"
.Dd March 1, 1997
.Dt PING 8
.Os BSD 4.3
.Sh 名称
.Nm ping
.Nd
.Tn ICMP ECHO_REQUEST
パケットをネットワーク上のホストへ送る
.Sh 書式
.Nm ping
.Op Fl QRadfnqrv
.Op Fl c Ar count
.Op Fl i Ar wait
.Op Fl l Ar preload
.Op Fl p Ar pattern
.Op Fl s Ar packetsize
.Bo
.Ar host |
.Op Fl L
.Op Fl I Ar interface
.Op Fl T Ar ttl
.Ar mcast-group
.Bc
.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
聴覚モード。パケットを受け取った時に、出力にベル
.Pq ASCII 0x07
文字を
含みます。このオプションは、別形式のオプションがある場合は無視されます。
.It Fl c Ar count
.Tn ECHO_RESPONSE
パケットを
.Ar count
回送出
.Pq そして受信
してから終了します。
+非 root ユーザは 100 パケットを越えて送出できませんし、
+デフォルト値が 16 となっています。
+root のデフォルトは無限です。
.It Fl d
使用する socket に
.Dv SO_DEBUG
オプションを設定します。
.It Fl f
.Tn ECHO_REQUEST
ping を垂れ流します。
パケットが返って来るとすぐ、もしくは 100 分の 1 秒に 1 回のいずれか多い回数だけ
パケットを出力します。
.Tn ECHO_REQUEST
パケットを送るたびに
.Dq \&.
が表示され、
.Tn ECHO_REPLY
パケットを受信するたびにバックスペースが表示されます。
+root のみこのオプションを指定できます。
これによりどれだけのパケットが欠落したのかをすばやく表示することができます。
スーパユーザのみ使用可能です
.Bf -emphasis
このオプションはネットワークに非常に負荷をかけるので、注意して使用する
必要があります。
.Ef
.It Fl i Ar wait
.Ar wait
で指定した秒数だけパケットの送出間隔を空けます。
-デフォルトでは送出間隔は 1 秒です。このオプションは
+デフォルトでは送出間隔は 1 秒です。
+より小さい値を指定できますが、1 より小さい値を指定できるのは root だけです。
+このオプションは
.Fl f
オプションとは同時に指定できません。
.It Fl I Ar interface
与えられたインタフェースアドレスに対して、マルチキャストパケットを
送ります。このフラグは、 ping の宛先アドレスがマルチキャストアドレスの
場合だけに適用できます。
.It Fl l Ar preload
指定した
.Ar preload
値だけ
.Tn ECHO_REQUEST
パケットを出来るだけ速く送信し、通常の動作に戻ります。
スーパユーザのみがこのオプションを使用できます。
.It Fl L
マルチキャストパケットのループバックを抑制します。
このフラグは、宛先アドレスがマルチキャストアドレスの場合だけ
適用できます。
.It Fl n
数値のみ出力します。ホストアドレスに対する名前を調べるようなことは
しません。
.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 をかけるのに用いられます
.Po
たとえばインタフェースが
.Xr routed 8
によってドロップされた後
.Pc
.It Fl s Ar packetsize
送出するデータのバイト数を指定します。
デフォルトでは 56 バイトです。
これは
.Tn ICMP
ヘッダデータの 8 バイトと合せて 64
.Tn ICMP
バイトになります。
+root のみこのオプションを指定できます。
.It Fl T Ar ttl
マルチキャストパケットの IP 寿命時間 (Time To Live) を設定します。
このオプションは、宛先アドレスがマルチキャストアドレスの場合だけ
適用できます。
.It Fl v
冗長出力を有効にします。
.Tn ECHO_RESPONSE
以外の受信
.Tn ICMP
パケットも表示されます。
.El
.Pp
問題の切り分けのために
.Nm
を用いるにはローカルインタフェースが up かつ running であることを
確認するため、まずローカルホスト上で実行します。
その後により遠くのホストやゲートウェイに
.Dq ping
します。
経路周回時間 (round trip time) と消失パケットの統計が計算されます。
重複したパケットが受信された場合、そのパケットは消失パケットの計算には
含まれませんが、経路周回時間の統計の計算には
使われます。
指定されたパケットの数が送信され
.Pq 受信され
たとき、もしくはプログラムが
.Dv SIGINT
で終了した場合、簡単な要約が表示されます。
要約は、送出したパケット数、受信したパケット数、そして
経路周回時間の最小/最大/平均/分散です。
.Pp
このプログラムは主にネットワークのテスト、計測、管理に用いられことを
想定しています。
.Nm
はそれ自体ネットワークに負荷をかけるので、トラブルのないときや自動スクリ
プトで用いることは勧められません。
.Sh ICMP パケットの詳細
オプションなしの IP ヘッダは 20 バイトです。
.Tn ICMP
.Tn ECHO_REQUEST
パケットはさらなる 8 バイトの
.Tn ICMP
ヘッダとそれに続く任意の大きさのデータからなっています。
この大きさは
.Ar packetsize
によって指定されます
.Pq デフォルトでは 56 バイトです
このように受信した IP パケット内の
.Tn ICMP
.Tn ECHO_REPLY
データ量は常に指定されたデータ
.Pq 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
フィールドを 60 にすべきだとなっていますが、多くのシステムは
もっと小さい値を用いています
.Po
.Bx 4.3
では 30、
.Bx 4.2
では 15 を用いています
.Pc
.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 を返します;
エラーが発生した場合は、他の値
.Pq Aq Pa 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/pppctl.8 b/ja_JP.eucJP/man/man8/pppctl.8
index a587f43d24..95f90c73f1 100644
--- a/ja_JP.eucJP/man/man8/pppctl.8
+++ b/ja_JP.eucJP/man/man8/pppctl.8
@@ -1,200 +1,200 @@
-.\" %Id: pppctl.8,v 1.1.2.5 1998/07/18 11:11:56 jkh Exp %
+.\" %Id: pppctl.8,v 1.10 1998/05/13 07:57:44 phk Exp %
.Dd 26 June 1997
.Os FreeBSD
.Dt PPPCTL 8
.Sh 名称
.Nm pppctl
.Nd
PPP 制御プログラム
.Sh 書式
.Nm
.Op Fl v
.Op Fl t Ar n
.Op Fl p Ar passwd
.Ar [host:]Port | LocalSocket
.Op command[;command]...
.Sh 解説
このプログラムは
.Xr ppp 8
デーモンのコマンドラインからの制御手段を提供します。
基本的な使い方は、実行中のデーモンを制御する単純なスクリプトを
簡単に書けるようにすることです。
.Pp
.Nm ppp
デーモンが listen しているソケットをあらわす
少なくともひとつの引数を必要とします。
詳細については、
.Nm ppp
コマンドの
.Sq set server
を参照して下さい。
ソケットが先頭に '/' を含んでいると、
.Dv AF_LOCAL
ソケットとして扱われます。
コロンを含んでいると
.Ar host:port
の組として扱われ、
それ以外は単にローカルマシン (127.0.0.1) の TCP ポートを
指定したものとみなされます。
DNS 検索を避けたい場合や、
.Pa /etc/services
内に指定されたポートのエントリがない場合には、
.Ar host
.Ar port
には数字で指定することができます。
.Pp
残りの引数はすべて、
.Nm ppp
デーモンに送られる (複数の)
.Ar コマンド
を形成するために連結されます。
セミコロン文字はコマンドデリミタとして扱われ、ひとつの
.Sq セッション
で複数の
.Ar コマンド
を指定することが可能です。
例えば:
.Bd -literal -offset indent
pppctl 3000 set timeout 300\\; show timeout
.Ed
.Pp
ほとんどのシェルでは ';' は特殊文字として扱われるので、
エスケープかクォートすることを忘れないようにしてください。
.Pp
もし、
.Ar コマンド
引数が与えられなかった場合、
.Nm
はインタラクティブモードになります。
ここで、コマンドは標準入力から読み込まれます。
コマンドを読んでいる時に、
.Xr editline 3
が使われていれば、(
.Xr editrc 5
で指定した振る舞いで)
行編集が可能になります。 履歴の大きさはデフォルトでは
.Em 20 行
です。
.Pp
以下のコマンドラインオプションが利用可能です:
.Bl -tag -width Ds
.It Fl v
.Nm ppp
デーモンに送られたデータ、
.Nm ppp
デーモンから受け取ったデータをすべて表示します。
.Nm
は通常、受け取った非プロンプト行のみ表示します。
このオプションはインタラクティブモードでは無視されます。
.It Fl t Ar n
接続時のデフォルトの 2 秒の代わりに
.Ar n
をタイムアウトの値として用います。
これは (ダイアルアップも含む) 遅いリンク上でデーモンを制御しようとする
場合に必要かもしれません。
.It Fl p Ar passwd
.Nm ppp
デーモンが必要とするパスワードを指定します。
このスイッチが指定されないと、
.Nm
.Nm ppp
への接続が成功した時にパスワードの入力を促します。
.El
.Pp
.Sh 使用例
.Nm ppp
.Fl auto
モードで実行する場合、
.Nm
は多くの仕事を自動化するのに利用できます
(もちろん、実際に
.Nm ppp
をインタラクティブモードを除くどんなモードでも制御することができます) 。
.Xr ps 1
によりあなたの秘密がもれてしまう可能性のために、
.Fl p
オプションは
(たとえスクリプトが他の人に読めないようになっていたとしても)
お勧めできません。
.Pp
.Nm
への簡単で安全なアクセスを提供するもっとも良い方法は、
.Pa /etc/ppp/ppp.conf
(の正しいセクション) に以下のようにローカルサーバソケットを作成することです:
.Bd -literal -offset indent
set server /var/run/internet "" 0177
.Ed
.Pp
これは、
.Nm ppp
を実行したユーザだけにアクセスできるように、
パスワード無しでパーミッションが srw------- の
ローカルドメインソケットを作成するように
.Nm ppp
に指示します。より詳しい解説はマニュアルページ
.Xr ppp 8
を参照してください。
.Pp
このようにするといくつかのお気楽スクリプトが作成可能になります。
インターネットに接続するには:
.Bd -literal -offset indent
#! /bin/sh
test $# -eq 0 && time=300 || time=$1
exec pppctl /var/run/internet set timeout $time\\; dial
.Ed
.Pp
切断するには:
.Bd -literal -offset indent
#! /bin/sh
exec pppctl /var/run/internet set timeout 300\\; close
.Ed
.Pp
接続されているかどうか確かめるには:
.Bd -literal -offset indent
#! /bin/sh
pppctl -p '' -v /var/run/internet quit | grep ^PPP >/dev/null
if [ $? -eq 0 ]; then
echo Link is up
else
echo Link is down
fi
.Ed
.Pp
このような汎用スクリプトも作成可能です:
.Bd -literal -offset indent
#! /bin/sh
exec pppctl /var/run/internet "$@"
.Ed
.Pp
.Sh 環境変数
以下の環境変数が、インタラクティブモード中の
.Nm
によって理解されます:
.Bl -tag -width XXXXXXXXXX
.It Dv EL_SIZE
履歴行の数です。デフォルトでは 20 です。
.It Dv EL_EDITOR
編集モードです。 "emacs" もしくは "vi" だけが受け付けられます。
他の値は無視します。この環境変数は
.Pa ~/.editrc
.Ar bind -v
.Ar bind -e
で上書きされます。
.El
.Pp
.Sh 関連項目
.Xr editline 3 ,
.Xr editrc 5 ,
.Xr ppp 8 ,
.Xr ps 1 ,
.Xr services 5
.Sh 歴史
.Nm
コマンドは FreeBSD 2.2.5 で最初に登場しました。
diff --git a/ja_JP.eucJP/man/man8/pppd.8 b/ja_JP.eucJP/man/man8/pppd.8
index 6042934a08..353e8d1e42 100644
--- a/ja_JP.eucJP/man/man8/pppd.8
+++ b/ja_JP.eucJP/man/man8/pppd.8
@@ -1,1282 +1,1282 @@
.\" manual page [] for pppd 2.3
-.\" %Id: pppd.8,v 1.7.2.3 1998/06/23 21:41:46 peter Exp %
+.\" %Id: pppd.8,v 1.18 1998/06/20 18:02:14 peter Exp %
.\" jpman %Id: pppd.8,v 1.2 1997/05/27 00:43:48 mutoh Stab %
.\" SH section heading
.\" SS subsection heading
.\" LP paragraph
.\" IP indented paragraph
.\" TP hanging label
.TH PPPD 8
.SH 名称
pppd \- PPP (Point to Point Protocol) を処理するデーモン
.SH 書式
.B pppd
[
.I tty_name
] [
.I speed
] [
.I options
]
.SH 解説
.LP
Point-to-Point プロトコル (PPP) は、シリアル回線上に確立された
Point-to-Point リンクを介したデータグラムの送受方法を提供します。
PPP は、データグラムのカプセル化方式、拡張可能なリンク制御プロトコル (LCP)、
そして異なるネットワーク層プロトコルの設定と接続の確立を行う
一群のネットワーク制御プロトコル (NCP) の 3 つの部分から構成されています。
.LP
カプセル化体系は、カーネル内のドライバコードにより提供されています。
pppd
は、基本的な LCP 機能、認証機能、そしてインターネットプロトコル (IP)
接続の確立と設定を行う
NCP (IP 制御プロトコル (IPCP) と呼ばれています) を提供します。
.SH よく使われるオプション
.TP
.I <tty_name>
指定したデバイスを介して通信します。
もし必要であれば、前に "/dev/" 文字列が追加されます。
デバイス名が指定されていない場合や
標準入力に接続された端末の名前が与えられた場合には、
pppd
はその端末を使用し、
バックグラウンド実行のための fork を行いません。
\fInoauth\fR オプションが使用された場合、
このオプションは特権オプションとなります。
.TP
.I <speed>
ボーレートを <speed> に設定します (10 進数)。
4.4BSD や NetBSD といったシステムでは、
シリアルデバイスドライバがサポートする任意の速度を指定可能です。
その他のシステム (SunOS, Linux 等) では一定の組合せのみが指定可能です。
.TP
.B active-filter \fIfilter-expression
データパケットに適用されるパケットフィルタであり、
どのパケットをリンクアクティビティとみなすかを決定するパケットフィルタを
指定します。
リンクアクティビティとみなされると、アイドルタイマがリセットされるか、
デマンドダイアルモード時にはリンクがアップされます。
(例えば経路情報パケット等) 定常的にリンク上でパケット送受信が行われ、
他の方法ではリンクがアイドルであるとはみなされない場合に、
このオプションを \fBidle\fR オプションとともに使用すると便利です。
\fIfilter-expression\fR の文法は tcpdump(1) と同じですが、
限定子は PPP では不適当ですので、\fBether\fR や \fBarp\fR は使用できません。
一般的には、フィルタ式をシングルクォートで括って、
式中の空白がシェルに解釈されることを避けるべきです。
カーネル及び pppd が PPP_FILTER を定義してコンパイルされた場合のみ、
このオプションを利用可能です。
.TP
.B asyncmap \fI<map>
非同期文字マップを <map> に設定します。
このマップは、シリアル回線を経由するとどの制御文字の受信が
うまくいかなくなるかを記述するものです。
pppd
は、これらの文字を 2 バイトのエスケープシーケンスとして送信するよう、
相手側に依頼します。
引数は 32 ビットの 16 進数であり、各ビットがエスケープすべき文字を
表しています。
ビット 0 (00000001) は文字 0x00 を表し、
ビット 31 (80000000) は、文字 0x1f つまり '^_' を表しています。
複数の \fIasyncmap\fR オプションが与えられた場合、それらの値の論理和が
採用されます。
\fIasyncmap\fR オプションが与えられなかった場合には、このホストが受信側となる
非同期文字マップは設定されません。
相手側は\fIすべての\fR制御文字をエスケープして送信します。
送信文字をエスケープするには、\fIescape\fR オプションを使用します。
.TP
.B auth
ネットワークパケットの送受信を許可する前に、相手側に自分証明を
行うよう要求します。
.TP
.B call \fIname
ファイル /etc/ppp/peers/\fIname\fR からオプションを読みます。
pppd が root 以外によって起動された場合においても、
このファイルに \fInoauth\fR のような特権オプションを含んでもかまいません。
文字列 \fIname\fR は / で開始してはなりませんし、
パス名の一部に .. を含んではなりません。
オプションファイルのフォーマットは後述します。
.TP
.B connect \fIscript
\fIscript\fR で指定された実行可能コマンドまたはシェルコマンドを使用して、
シリアル回線のセットアップを行います。
ほとんどの場合、ここで指定されるスクリプトには chat(8) プログラムを使用し、
モデムにダイアルコマンドを送ったり、リモート ppp セッションを開始したりします。
\fInoauth\fR オプションが使用された場合、
このオプションは特権オプションとなります。
.TP
.B connect-max-attempts \fI<n>
指定した時間 (デフォルトでは 1) を越えてリモートシステムとの
ダイアル接続を保持しません。接続ができない場合は、
pppd は終了します。 \fBpersist\fR を指定することが要求されます。
.TP
.B crtscts
シリアルポートのフロー制御にハードウェアフロー制御 (RTS/CTS) を用います。
\fIcrtscts\fR か \fInocrtscts\fR の両方のオプションが与えられない時、
シリアルポートのハードウェアフロー制御の設定は変更されずに
そのままになります。
.TP
.B defaultroute
IPCP 交渉が成功すると、相手側をゲートウェイとする
デフォルト経路をシステムの経路テーブルに追加します。
このオプションにより追加されたデフォルト経路エントリは、
PPP 接続が切断された際に削除されます。
\fInodefaultroute\fR オプションが指定された場合には、
このオプションは特権オプションとなります。
.TP
.B disconnect \fIscript
pppd が接続を切った後に \fIscript\fR で指定した実行可能コマンドまたは
シェルコマンドを実行します。
このスクリプトで、例えばハードウェアモデム制御信号 (DTR) が使えない場合に
モデムをハングアップすることができます。
モデムが既にハングアップしている場合には、この切断スクリプトは実行されません。
\fInoauth\fR オプションが使用された場合には、
このオプションは特権オプションです。
.TP
.B escape \fIxx,yy,...
転送時にエスケープを行うべき文字を指定します (相手側が
非同期文字マップでエスケープを要求しているかどうかには影響されません)。
エスケープされる文字は、コンマで区切られた 16 進数で指定します。
制御文字しか指定できない \fIasyncmap\fR オプション
とは異なり、\fIescape\fR オプションではどんな文字でも指定できる
ことに注意してください。
ただし 16 進表記で 0x20 から 0x3f までと 0x5e の文字は
エスケープしてはなりません。
.TP
.B file \fIname
オプションをファイル \fIname\fR から読み込みます (フォーマットは後述します)。
このファイルは、pppd を起動したユーザが読むことが可能である必要があります。
.TP
.B lock
シリアルデバイスに対する排他アクセスを確実に行うために、
UUCP 形式のロックファイルを作成するよう pppd に指示します。
.TP
.B mru \fIn
交渉時の MRU [最大受信単位; Maximum Receive Unit]
値を \fIn\fR に設定します。
pppd
は、通信相手に \fIn\fR バイトを超えるパケットを送信しないよう要求します。
最小の MRU 値は、128 です。
デフォルトの MRU 値は 1500 です。低速のリンクでは 296 を推奨します
(TCP/IP ヘッダ 40 バイト + データ 256 バイト)。
.TP
.B mtu \fIn
MTU [最大転送単位; Maximum Transmit Unit] 値を \fIn\fR に設定します。
相手が MRU 交渉を通じてこれより小さい値を要求してこない限り、
PPP ネットワークインタフェースを通して \fIn\fR バイトを
越えないデータパケットを送ることを、
pppd はカーネルのネットワークコードに要求します。
.TP
.B passive
LCP で "passive" オプションを有効にします。このオプションを指定した場合には、
接続を開始しようとしても相手からの返答がない場合、
pppd
は相手から有効な LCP パケットが到着するのを受動的に待ち続けます。
このオプションを指定しなければ、相手からの返答がない場合に
pppd
は実行を中断します。
.SH オプション
.TP
.I <local_IP_address>\fB:\fI<remote_IP_address>
ローカルインタフェースとリモートインタフェースの IP アドレスを設定します。
どちらか片方を省略することも可能です。IP アドレスは、ホスト名もしくは
10 進数ドット表現 (例: 150.234.56.78) のどちらでも指定可能です。
デフォルトのローカルアドレスは、そのシステムの (最初の) IP アドレスと
なります。(ただし
\fInoipdefault\fR
オプションが指定された場合を除きます。) リモートアドレスは、
オプションで指定されていない場合には相手側から取得されます。
ですから、もっとも単純な指定を行う場合には、このオプションは不必要です。
ローカルまたはリモートの IP アドレスがこのオプションで指定されている場合には、
pppd
は IPCP 交渉で相手側がこの指定と異なるアドレスを送って来た場合
これを拒否します。ただし、
\fIipcp-accept-local\fR
\fIipcp-accept-remote\fR
が指定されている場合にはこの限りではありません。
.TP
.B bsdcomp \fInr,nt
接続相手に、BSD-Compress 方式を使った送出時のパケット圧縮を要求します。
ここでの最大コードサイズは \fInr\fR ビットです。
相手側が送るパケットの最大の大きさは、 \fInt\fR ビットです。
\fInt\fR が指定されない時は、デフォルトの \fInr\fR が使われます。
9 から 15 の範囲の値が、 \fInr\fR と \fInt\fR で使われます。
より大きな値は、よりよい圧縮となりますが、圧縮辞書のためにより多くの
カーネルメモリを消費します。\fInr\fR や \fInt\fR に対して、値 0 を
指定すると、指定した方向には圧縮を行いません。
BSD-Compress 圧縮を完全に無効にするためには、
\fInobsdcomp\fR か \fIbsdcomp 0\fR を指定してください。
.TP
.B chap-interval \fIn
このオプションが指定された場合、
pppd
は \fIn\fR 秒おきに再チャレンジします。
.TP
.B chap-max-challenge \fIn
CHAP チャレンジの最大送信回数を \fIn\fR に設定します (デフォルト値は 10)。
.TP
.B chap-restart \fIn
(チャレンジの再送のタイムアウトによる)
CHAP 再開の間隔を \fIn\fR 秒に設定します
(デフォルト値は 3)。
.TP
.B debug
接続のデバッグ機能を有効にします。
このオプションを指定した場合、pppd は送受信した
すべての制御パケットの内容を可読形式でログします。
パケットは syslog を経由して、\fIdaemon\fR ファシリティの
\fIdebug\fR レベルとして記録されます。
本情報は、/etc/syslog.conf を適切に記述することで
ファイルに記録することができます (syslog.conf(5) 参照)。
.TP
.B default-asyncmap
asyncmap 交渉を無効にし、
送受信両方向にて全制御文字をエスケープさせます。
.TP
.B default-mru
MRU [最大受信単位; Maximum Receive Unit] 交渉を無効にします。
このオプションを指定すると、送受信両方向において、
pppd はデフォルトの MRU 値 1500 バイトを使用します。
.TP
.B deflate \fInr,nt
接続相手に、Deflate 方式を使った送出時のパケット圧縮を要求します。
ここで最大のウィンドウサイズは \fI2**nr\fR バイトです。
また、相手に送るパケットを最大ウィンドウサイズ \fI2**nt\fR バイトにて圧縮
することを合意します。
\fInt\fR が指定されないと、デフォルトの \fInr\fR の値となります。
\fInr\fR と \fInt\fR には 8 から 15 までの範囲の値が許されます。
より大きな値は、よりよい圧縮となりますが、圧縮辞書のためにより多くの
カーネルメモリを消費します。
\fInr\fR や \fInt\fR に対して、値 0 を
指定すると、指定した方向には圧縮を行いません。
Deflate 圧縮を完全に無効にするためには、
\fInodeflate\fR か \fIdeflate 0\fR を指定してください。
(注: 相手が両方とも可能な場合には、
pppd は BSD-Compress よりも Deflate 圧縮を好んで要求します。)
.TP
.B demand
リンクの開始を要求時のみ、つまりデータトラフィックが存在する時のみ行います。
このオプションを指定する場合、リモート IP アドレスを、
ユーザがコマンドラインで指定するか、オプションファイル中に含む必要があります。
pppd は、相手に接続することなく、
まずインタフェースを設定して IP トラフィックに備えます。
トラフィックが現れると、pppd は相手へ接続し、
交渉や認証などを行います。
これが完了すると、pppd はリンクを介してデータパケット (すなわち IP パケット)
の授受を開始します。
\fIdemand\fR オプションは暗黙的に \fIpersist\fR オプションを指定します。
この動作が望ましくない場合、\fIdemand\fR オプションの後に
\fInopersist\fR オプションを使用してください。
\fIidle\fR および \fIholdoff\fR のオプションもまた、
\fIdemand\fR オプションとともに使用すると便利です。
.TP
.B domain \fId
認証のために使用するローカルホスト名にドメイン名 \fId\fR を付加します。
例えば、完全な形でのドメイン名 (FQDN) が porsche.Quotron.COM であって、
gethostname() が porsche という名前を返す場合には、
このオプションを用いてドメイン名を \fIQuotron.COM\fR と指定します。
そうすると、pppd は \fIporsche.Quotron.COM\fR を
秘密情報ファイルの中の秘密情報を調べるために使用したり、
相手に対して自己証明するために送るデフォルトの名前として使用します。
このオプションは特権オプションです。
.TP
.B holdoff \fIn
リンク切断から再初期化まで何秒待つかを指定します。
\fIpersist\fR または \fIdemand\fR オプション使用時にのみ、
このオプションは有効です。
アイドルであったためにリンクが切断された場合は、
この抑止期間は適用されません。
.TP
.B idle \fIn
リンクが \fIn\fR 秒アイドルだった場合に接続を切るように pppd に指定します。
データパケット (つまり IP パケット)が送受信されない時に、
リンクはアイドルだとみなされます。
注: \fIdemand\fR オプションを使用せずに
\fIpersist\fR オプションを使用する場合に、このオプションを使うことを勧めます。
\fBactive-filter\fR オプションが与えられると、
指定したアクティビティフィルタが受理しなかったデータパケットもまた、
リンクがアイドルであるとみなす対象とします。
.TP
.B ipcp-accept-local
このオプションが指定された場合には、
別のオプションによってローカル IP アドレスの指定が行われている場合でも、
pppd
は相手からのローカル IP アドレスの指定を受け入れます。
.TP
.B ipcp-accept-remote
このオプションが指定された場合には、
別のオプションによってリモート IP アドレスの指定が行われている場合でも、
pppd
は相手からのリモート IP アドレスの指定を受け入れます。
.TP
.B ipcp-max-configure \fIn
IPCP configure-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 10)。
.TP
.B ipcp-max-failure \fIn
IPCP configure-Reject を送信開始するまでの IPCP configure-NAK の最大応答回数を
\fIn\fR 回に設定します (デフォルト値は 10)。
.TP
.B ipcp-max-terminate \fIn
IPCP terminate-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 3)。
.TP
.B ipcp-restart \fI<n>
(再送のタイムアウトによる) IPCP 再開の間隔を \fIn\fR 秒に設定します。
(デフォルト値は 3)。
.TP
.B ipparam \fIstring
ip-up と ip-down スクリプト用に余分のパラメータを指定します。
このオプションが与えられた場合、 \fIstring\fR が 6 番目のパラメータと
して、これらのスクリプトに与えられます。
.TP
.B ipx
IPXCP および IPX プロトコルを有効にします。
このオプションは現在 Linux でのみ、
IPX サポートを含めてカーネルを構成した場合のみサポートされています。
.TP
.B ipx-network \fIn
IPXCP 設定要求フレーム中の IPX ネットワーク番号を \fIn\fR に設定します。
16 進数 (先頭の 0x を除いて) を指定します。
正当なデフォルト値はありません。
このオプションが指定されないと、ネットワーク番号は相手から獲得します。
相手がネットワーク番号を持っていない場合は、IPX プロトコルは開始されません。
.TP
.B ipx-node \fIn\fB:\fIm
IPX ノード番号を設定します。
2 つのノード番号をコロンで区切ります。
最初の番号 \fIn\fR はローカルのノード番号です。
次の番号 \fIm\fR は相手のノード番号です。
どちらのノード番号も 16 進数であり、最大 10 桁です。
ipx-network のノード番号は一意である必要があります。
正当なデフォルト値はありません。
このオプションが指定されないと、ノード番号は相手から獲得します。
.TP
.B ipx-router-name \fI<string>
ルータ名を設定します。
これは文字列であり、情報データとして相手に送られます。
.TP
.B ipx-routing \fIn
受信する経路プロトコルをこのオプションで指定します。
複数の \fIipx-routing\fR インスタンスを指定可能です。'\fInone\fR' オプション
(0) のみ、ipx-routing インスタンスとして指定可能です。
値は、\fI0\fR が \fINONE\fR に、\fI2\fR が \fIRIP/SAP\fR に、
\fI4\fR が \fINLSP\fR に対応します。
.TP
.B ipxcp-accept-local
ipx-node オプションで指定したノード番号に対する、相手の NAK を受け付けます。
非ゼロのノード番号が指定された場合、
この値の使用を主張することがデフォルトです。
このオプションを指定すると、
相手がノード番号のエントリを上書きすることを許します。
.TP
.B ipxcp-accept-network
ipx-network オプションで指定したネットワーク番号に対する、
相手の NAK を受け付けます。
非ゼロのノード番号が指定された場合、
この値の使用を主張することがデフォルトです。
このオプションを指定すると、
相手がノード番号のエントリを上書きすることを許します。
.TP
.B ipxcp-accept-remote
設定要求フレーム中に指定される相手のネットワーク番号を使用します。
相手のノード番号を指定し、
かつこのオプションを指定しなかった場合は、
相手はあなたが指定した値を使用することを強制されます。
.TP
.B ipxcp-max-configure \fIn
システムが送信する IPXCP 設定要求フレーム数の最大値を \fIn\fR に設定します。
デフォルト値は 10 です。
.TP
.B ipxcp-max-failure \fIn
ローカルシステムがオプションを拒否する前に、
ローカルシステムが送信する IPXCP NAK フレーム数の
最大値を設定します。デフォルト値は 3 です。
.TP
.B ipxcp-max-terminate \fIn
相手が聞いていないという判断をローカルシステムが下す前に、
ローカルシステムが送信する
IPCP 停止要求フレーム数の最大値を設定します。デフォルト値は 3 です。
.TP
.B kdebug \fIn
カーネルレベルの PPP ドライバのデバッグコードを有効にします。
引数 \fIn\fR として、以下の数値のうち必要なものの合計を指定します。
1 は一般的なデバッグメッセージ出力を有効にします。
2 は受信したパケットの内容の出力を要求します。
4 は送信したパケットの内容の出力を要求します。
ほとんどのシステムでは、カーネルが表示したメッセージは、
/etc/syslog.conf 設定ファイルに指示されるように、
syslog(1) がファイルにログします。
.TP
.B lcp-echo-failure \fIn
このオプションが指定された場合、 LCP echo-request を \fIn\fR 回送信しても
相手から有効な LCP echo-reply が帰ってこなければ、pppd は
相手がダウンしているものと推測します。このような場合、pppd は
接続を切断します。このオプションを使用する際には、
\fIlcp-echo-interval\fR のパラメータとして 0 以外の数値を指定してください。
このオプションは、ハードウェアモデム制御線 (DSR) が使用できない状況で、
(モデムがハングアップするなど) 物理的な接続が切断された後に
pppd を終了するために用いられます。
.TP
.B lcp-echo-interval \fI<n>
このオプションを指定すると、pppd は LCP echo-request フレームを
\fIn\fR 秒毎に相手側に送信します。
通常、相手側は echo-request を受信すると echo-reply を送り返して返答します。
このオプションは、相手側との接続が切れたことを検出するために
\fIlcp-echo-failure\fR オプションとともに使用されます。
.TP
.B lcp-max-configure \fIn
LCP configure-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 10)。
.TP
.B lcp-max-failure \fIn
LCP configure-Reject を送信開始するまでの LCP configure-NAK の最大応答回数を
\fIn\fR 回に設定します (デフォルト値は 10)。
.TP
.B lcp-max-terminate \fIn
LCP terminate-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 3)。
.TP
.B lcp-restart \fIn
(再送のタイムアウトによる) LCP 再開の間隔を \fIn\fR 秒に設定します
(デフォルト値は 3)。
.TP
.B local
モデム制御線を使用しません。このオプションを指定すると、
pppd
は、モデムからの CD (Carrier Detect) 信号の状態を無視し、
DTR (Data Terminal Ready) 信号の状態を変化させません。
.TP
.B login
PAP を用いた相手の認証に、システムパスワードデータベースを用い、
ユーザをシステムの wtmp ファイルに記録します。
アクセスが許されるためには、
/etc/ppp/pap-secrets ファイルとシステムパスワードデータベースの両方に、
相手のエントリが存在する必要があります。
.TP
.B maxconnect \fIn
ネットワークトラフィックの使用開始から \fIn\fR 秒後に接続を切断します
(これは、最初のネットワーク制御プロトコルが来てから \fIn\fR 秒になります)。
.TP
.B modem
モデム制御線を使用します。このオプションはデフォルトです。
このオプションを指定すると、pppd は
(接続スクリプトが指定していなければ)
モデムからの CD (Carrier Detect) 信号のアサートを待ってから
シリアルデバイスをオープンし、接続終了時に
DTR (Data Terminal Ready) 信号を短い期間落としてから
接続スクリプトを実行します。
Ultrix では、このオプションはハードウェアフロー制御、
すなわち \fIcrtscts\fR オプションを暗黙的に指定します。
.TP
.B ms-dns \fI<addr>
pppd が Microsoft Windows クライアントのサーバとして動作している場合、
このオプションは pppd に 1 または 2 の DNS (Domain Name Server) アドレスを
クライアントに提供することを許します。
このオプションの最初のインスタンスはプライマリ DNS アドレスを与えます。
次のインスタンスは (もし与えられれば) セカンダリ DNS アドレスを与えます。
(このオプションは、
古いバージョンの pppd では \fBdns-addr\fR という名前でした。)
.TP
.B ms-wins \fI<addr>
pppd が Microsoft Windows クライアントまたは "Samba" クライアントの
サーバとして動作している場合、このオプションは pppd に 1 または 2 の
WINS (Windows Internet Name Services) サーバアドレスをクライアントに提供
することを許します。
このオプションの最初のインスタンスはプライマリ WINS アドレスを与えます。
次のインスタンスは (もし与えられれば) セカンダリ WINS アドレスを与えます。
.TP
.B name \fIname
認証の目的で用いられるローカルシステムの名前を \fIname\fR に設定します。
このオプションは特権オプションです。
このオプションを指定すると、pppd は秘密情報ファイルの第 2 フィールドが \fIname\fR
である行を使用して秘密情報を探し、相手を認証します。
さらに、\fIuser\fR オプションで上書きしない場合は、
相手に対してローカルシステムを自己証明する時に送る名前として
\fIname\fR を使用します。
(pppd はドメイン名を \fIname\fR に付加しないことに注意してください。)
.TP
.B netmask \fIn
インタフェースのネットマスクを \fIn\fR に設定します。
32 ビットのネットマスクを「10 進数ドット」表記で指定します (例: 255.255.255.0)。
このオプションが与えられると、デフォルトのネットマスクと指定したネットマスク
との論理和が値となります。デフォルトのネットマスクは交渉される
リモートの IP アドレスに依存します。
リモート IP アドレスのクラスに適切なネットマスクと、
同一ネットワーク上システムの非 point-to-point ネットワークインターフェース
のネットマスクとの論理和となります。
.TP
.B noaccomp
Address/Control 圧縮を双方向 (送受信) で無効にします。
.TP
.B noauth
相手が自己証明することを要求しません。
\fIauth\fR オプションが /etc/ppp/options に指定されている場合、
このオプションは特権オプションです。
.TP
.B nobsdcomp
BSD-Compress 圧縮を無効にします。
BSD-Compress 方式を使用したパケット圧縮を \fBpppd\fR は要求も賛同もしません。
.TP
.B noccp
CCP (圧縮制御プロトコル; Compression Control Protocol) 交渉を無効にします。
相手にバグがあるために、
CCP 交渉のための pppd からの要求に混乱してしまう場合にのみ、
このオプションが必要です。
.TP
.B nocrtscts
シリアルポートにハードウェアフロー制御 (つまり RTS/CTS) を使用しません。
\fIcrtscts\fR か \fInocrtscts\fR の両方のオプションが与えられない時、
シリアルポートのハードウェアフロー制御の設定は変更されずに
そのままになります。
.TP
.B nodefaultroute
\fIdefaultroute\fR オプションを無効にします。
\fIpppd\fR を使っているユーザにデフォルト経路を作成させたくない
システム管理者は、このオプションを /etc/ppp/options ファイルに
記述することができます。
.TP
.B nodeflate
Deflate 圧縮を無効にします。
pppd は Deflate 方式を使用した圧縮パケットを要求しませんし、賛同もしません。
.TP
.B nodetach
制御端末から切り離しません。このオプションを指定しないと、
標準入力がある端末以外のシリアルデバイスが指定された場合は、
pppd は fork してバックグラウンドプロセスになります。
.TP
.B noip
IPCP 交渉と IP 通信を無効にします。
相手にバグがあるために、
IPCP 交渉のための pppd からの要求に混乱してしまう場合にのみ、
このオプションが必要です。
.TP
.B noipdefault
ローカル IP アドレスが指定されない場合にデフォルトで行われる、
ホスト名から IP アドレスを (可能であれば) 決定する動作を無効にします。
このオプションを指定した場合には、IPCP 交渉時に
相手側がローカルの IP アドレスを指定する必要があります
(明示的にコマンドラインで指定されているか、
オプションファイルで指定されている場合を除きます)。
.TP
.B noipx
IPXCP および IPX プロトコルを無効にします。
相手にバグがあるために、
IPXCP 交渉のための pppd からの要求に混乱してしまう場合にのみ、
このオプションが必要です。
.TP
.B nomagic
magic number 交渉を無効にします。このオプションを指定した場合には、
pppd
はループバック回線を検出することができません。
相手にバグがある場合にのみ必要となります。
.TP
.B nopcomp
送受信方向とも、プロトコルフィールド圧縮交渉を無効にします。
.TP
.B nopersist
接続の確立と切断のたびに終了します。
\fIpersist\fR または \fIdemand\fR のオプションが指定されない場合、
このオプションはデフォルトです。
.TP
.B nopredictor1
Predictor-1 圧縮を受け付けませんし、賛同もしません。
.TP
.B noproxyarp
\fIproxyarp\fR オプションを無効にします。pppd のユーザに
proxy ARP エントリを作成させたくないシステム管理者は、このオプションを
/etc/ppp/options ファイルに記述することでそのようにできます。
.TP
.B novj
Van Jacobson 形式の TCP/IP ヘッダ圧縮を送受信方向において無効にします
.TP
.B novjccomp
Van Jacobson 形式の TCP/IP ヘッダ圧縮において、
connection-ID 圧縮を無効にします。
このオプションを指定すると、
pppd は Van Jacobson 圧縮された TCP/IP ヘッダから
connection-ID バイトを省略しなくなりますし、
相手にも依頼しません。
.TP
.B papcrypt
相手の同一性を調べるために使われる
/etc/ppp/pap-secrets ファイル内の全ての秘密情報を暗号化することを
指示します。pppd は、暗号化前の /etc/ppp/pap-secrets
ファイルからの秘密情報と等しいパスワードを受け入れません。
.TP
.B pap-max-authreq \fIn
PAP authenticate-request の最大送信回数を \fIn\fR 回に設定します
(デフォルト値は 10)。
.TP
.B pap-restart \fIn
(再送のタイムアウトによる) PAP 再開の間隔を \fIn\fR 秒に設定します
(デフォルト値は 3)。
.TP
.B pap-timeout \fIn
PAP において接続先が自己証明するまで
pppd
が待機する最大時間を、\fIn\fR 秒に
設定します (0 は制限を設けないことを意味します)。
.TP
.B pass-filter \fIfilter-expression
送受信されるデータパケットに適用されるフィルタで、
通過を許されるパケットを決定するフィルタを指定します。
フィルタが拒否するパケットは黙って捨てられます。
特定のネットワークデーモン (例えば routed) が
リンクバンド幅を使い切ることを防いだり、
基本的なファイアウォール機能を提供するために、このオプションがあります。
\fIfilter-expression\fR の文法は tcpdump(1) と同じですが、
限定子は PPP リンクでは不適当ですので、
\fBether\fR や \fBarp\fR は使用できません。
一般的には、フィルタ式をシングルクォートで括って、
式中の空白がシェルに解釈されることを避けるべきです。
\fBinbound\fR と \fBoutbound\fR の限定子を付けることにより、
入出力のパケットに異なった制約を適用可能です。
このオプションは現在 NetBSD でのみ利用可能であり、
カーネル及び pppd が PPP_FILTER を定義してコンパイルされた場合のみ、
このオプションを利用可能です。
.TP
.B persist
接続が切断された後で終了しません。代わりに再接続しようとします。
.TP
.B predictor1
相手が送出するフレームを Predictor-1 圧縮を使用するよう要求し、
要求された場合 Predictor-1 で送出フレームを圧縮することに賛同します。
カーネルドライバが Predictor-1 圧縮をサポートしない場合には、
このオプションは影響ありません。
.TP
.B proxyarp
自システムの ARP [アドレス解決プロトコル; Address Resolution Protocol]
テーブルに相手の IP アドレス
と自システムのイーサネットアドレスを追加します。
他のシステムに対して、
相手がローカルイーサネット上にあるように見せることになります。
.TP
.B remotename \fIname
リモートシステムの名前を \fIname\fR とみなして認証を行います。
.TP
.B refuse-chap
このオプションを指定すると、
pppd は相手に対して自己証明するにあたり CHAP の使用に賛同しません。
.TP
.B refuse-pap
このオプションを指定すると、
pppd は相手に対して自己証明するにあたり PAP の使用に賛同しません。
.TP
.B require-chap
CHAP [チャレンジハンドシェーク認証プロトコル;
Challenge Handshake Authentication Protocol] を用いて
自己証明を行うことを相手に要求します。
.TP
.B require-pap
PAP [パスワード認証プロトコル; Password Authentication Protocol] を用いて
自己証明を行うことを相手に要求します。
.TP
.B silent
このオプションを指定した場合、
pppd
は相手から有効な LCP パケットを受信するまで、
接続を開始するための LCP パケットを送信せずに待ちます
(旧バージョンの pppd で 'passive' オプションを指定した場合と同じ動作です)。
.TP
.B usehostname
認証時にホスト名をローカルシステムの名前として使用することを強制します
(ドメイン名が与えられれば付加されます)。
(このオプションは \fIname\fR オプションに優先します。)
.TP
.B user \fIname
このマシンを相手に対して自己証明する際に用いるユーザ名を
\fIname\fR に設定します。
.TP
.B vj-max-slots \fIn
Van Jacobson の TCP/IP ヘッダ圧縮/伸長に使用する接続スロット数を
\fIn\fR に設定します。
2 から 16 (両端を含む) の範囲にある必要があります。
.TP
.B welcome \fIscript
PPP 交渉開始前かつ、(もしあれば) 接続スクリプトの完了後に、
\fIscript\fR で指定される実行コマンドもしくはシェルコマンドを実行します。
\fInoauth\fR オプションが使用された場合には、
このオプションは特権オプションとなります。
.TP
.B xonxoff
ソフトウェアフロー制御 (つまり XON/XOFF) を使用してシリアルポート上の
データフローを制御します。
.SH オプションファイル
オプションは、コマンドラインから与えられるのと同様に、
ファイルに記述されたものを用いることも可能です。
pppd
は、コマンドラインからのオプションを
読み込む前に /etc/ppp/options, ~/.ppprc, /etc/ppp/options.\fIttyname\fR から
(この順に) オプションを読み込みます。
(実際には、端末名を得るためにコマンドラインオプションがまずスキャンされてから、
options.\fIttyname\fR ファイルが読まれます。)
options.\fIttyname\fR ファイル名構成にあたり、
まず /dev/ が端末名から除かれ、残った / 文字がドットと置換されます。
.PP
オプションファイルの内容は、
空白文字をデリミタとする単語の並びとして解釈されます。
空白文字を含む文字列はダブルクォート (") で囲うことで
1 つの文字列として解釈されるようになります。
バックスラッシュ (\\) は、直後の 1 文字をクォートします。
ハッシュ文字 (#) はコメントの始まりとして解釈され、
改行までをコメントとみなします。
オプションファイル中での \fIfile\fR および \fIcall\fR のオプションの
使用制限はありません。
.SH セキュリティ
.I pppd
は、正当なユーザに対するサーバマシンへの PPP アクセスを提供しつつ、
サーバ自身やそのサーバが存在するネットワークのセキュリティを危険に
さらす心配のない、充分なアクセス制御をシステム管理者に提供します。
このアクセス制御の一部は、
/etc/ppp/options ファイルにより提供されます。
このファイルでシステム管理者は
pppd の使用制限を設定することができます。
また一部は、PAP や CHAP の秘密情報ファイルにより提供されます。
このファイルで個々のユーザが使用する IP アドレスの組を
管理者が制限することができます。
.PP
通常の pppd の用途においては、
\fIauth\fR オプションを /etc/ppp/options ファイルに設定すべきです。
(将来のリリースにおいてデフォルトになるかもしれません。)
ユーザが pppd を使用して相手にダイアルアウトしたい場合で、
相手が自己証明することを拒否する場合 (インターネットサービスプロバイダなど)、
システム管理者は /etc/ppp/peers 下にオプションファイルを作成し、
ここに \fInoauth\fR オプションと、使用するシリアルポート名と、
(必要なら) \fIconnect\fR オプションと、その他適切なオプションを格納します。
このようにすることで、
非特権ユーザが信頼関係のある相手との間で認証されない接続を結ぶことを可能
とします。
.PP
上述のように、セキュリティに影響するオプションは特権オプションであり、
通常の非特権ユーザが setuid-root された pppd では使用できません。
これは、コマンドラインでも、ユーザの ~/.ppprc ファイルでも、
\fIfile\fR オプションを使用して読まれるオプションファイルでも言えることです。
/etc/ppp/options ファイル中、
もしくは \fIcall\fR オプションを使用して読まれるオプションファイル中では、
特権オプションの使用は許されます。
pppd が root ユーザにより起動された場合、特権オプションの使用は無制限です。
.SH 認証
認証とは、一方が他方に自己を認めさせる処理のことを言います。
これは、一方が自己の名前を他方に送る際、
その名前のオーソライズされた本物の使用者のみから生まれる
ある種の秘密情報を伴うことを必要とします。
このような交換において、最初の一方を「クライアント」と呼び、
他方を「サーバ」と呼びます。
クライアントは自己をサーバに識別させるための名前を持ち、
サーバもまた自己をクライアントに識別させるための名前を持ちます。
一般的に本物のクライアントは秘密情報 (またはパスワード) をサーバと共有し、
自己を証明するにあたりその秘密情報を知っていると伝えます。
認証に使用される名前は相手のインターネットホスト名に対応することが多いですが、
これは本質的なことではありません。
.LP
現在 pppd は 2 つの認証プロトコルをサポートします:
それぞれ、パスワード認証プロトコル (Password Authentication Protocol; PAP) と
チャレンジハンドシェーク認証プロトコル
(Challenge Handshake Authentication Protocol; CHAP) です。
PAP の場合、クライアントは自己証明のために、
自己の名前とクリアテキストパスワードをサーバに送る必要があります。
これとは対称的に、CHAP 認証交換はサーバが開始し、
チャレンジをクライアントに送ります
(チャレンジパケットにはサーバ名が含まれます)。
クライアントはこれに返答する必要があり、
返事の中に自己の名前に加えて共有秘密情報とチャレンジから得られるハッシュ値を
含め、自己が秘密情報を知っていると伝える必要があります。
.LP
PPP プロトコルは対称的ですから、
両者が他方に対して自己証明を行うように要求することを許します。
この場合、2 つの別々かつ独立した認証交換が発生します。
2 つの交換においては別の認証プロトコルを使用できますし、
原則的には違う名前を使用可能です。
.LP
pppd
のデフォルトの挙動は、もし認証の要求があればそれを受け入れ、
相手側には認証を要求しないというものです。
ただし、
pppd
がその認証を行なうのに必要な秘密情報を持っていない
特定のプロトコルによる認証は拒否します。
.LP
pppd は認証に使用する秘密情報を秘密情報ファイル
(PAP の場合 /etc/ppp/pap-secrets、
CHAP の場合 /etc/ppp/chap-secrets) に格納します。
どちらの秘密情報ファイルも同じフォーマットです。
秘密情報ファイルには、
pppd が他のシステムに対して自己証明するための秘密情報を格納する
ことができますし、
他のシステムの認証を行うための秘密情報を格納することも可能です。
.LP
秘密情報ファイル中の各行は 1 つの秘密情報を格納します。
特定の秘密情報はあるクライアントとサーバの組み合わせに対して特有です -
このクライアントがこのサーバに対して自己証明することにのみ使用されます。
秘密情報ファイルの各行は、少くとも 3 つのフィールドからなります:
それぞれ、クライアント名、サーバ名、秘密情報です。
指定したサーバに指定したクライアントが接続する時に使用する
IP アドレスリストを、これらのフィールドの後に続けることができます。
.LP
秘密情報ファイルはオプションファイルと同じように単語の並びとして
解釈されますので、クライアント名、サーバ名、秘密情報の各フィールドは
1 語である必要があり、
これに含まれる空白文字や特殊文字は
クォートもしくはエスケープする必要があります。
同じ行の残りの語は、クライアントに許される IP アドレスのリストとされるか、
(ワイルドカードでもなく空でもない) 特定のクライアント名を含む行の
場合は "local:remote" アドレス
(コマンドラインもしくはオプションファイルで共通フォーマット)
に優先します。
行に 3 語しか無い場合もしくは最初の語が "-" である場合、
全ての IP アドレスが不許可となります。
全アドレスを許可するには "*" を使用します。
また "!" から始まる語は、指定したアドレスを受け付け\fIない\fRことを示します。
アドレスの後には "/" と数値 \fIn\fR を続けることが可能であり、
全体のサブネットを示します。
つまり、全てのアドレスの上位 \fIn\fR ビットが同じ値となります。
クライアント名、サーバ名、秘密情報においては大文字小文字の区別は重要です。
.LP
秘密情報が `@' から始まる場合、後続するものはファイル名であり、
そこから秘密情報を読み込むものとされます。
クライアント名もしくはクライアント名に単一の "*" を使用すると、
いかなる名前にもマッチします。
秘密情報を選択する時、pppd はベストマッチ、
すなわちワイルドカードが最小となるマッチを採用します。
.LP
秘密情報ファイルには、他のホストを認証するための秘密情報に加え、
他のホストに対して自己証明するための秘密情報も格納します。
pppd が相手を認証 (相手が相手であることを確認) する時、
秘密情報の検索にあたり、
相手の名前が最初のフィールドにありローカルシステムの名前が 2 番目のフィールド
にあるものを選びます。
ローカルシステム名のデフォルトはホスト名であり、
\fIdomain\fR オプション使用時にはドメイン名が付加されます。
このデフォルトには \fIname\fR オプションが優先しますが、
\fIusehostname\fR オプションが使用されている場合は例外です。
.LP
pppd が相手に対する自己証明のための秘密情報を選ぶ時には、
まずどの名前を使用して相手に対して自己識別するかを決めます。
この名前はユーザが \fIuser\fR オプションで指定可能です。
このオプションが使用されていない場合、
名前はデフォルトのローカルシステム名となり、
前の段落で示したように決定されます。
こうして pppd は秘密情報の検索にあたり、
この名前が最初のフィールドにあり相手の名前が 2 番目のフィールド
にあるものを選びます。
CHAP 認証が使用される場合、
相手はチャレンジパケット中に相手の名前を含めますから、
pppd は相手の名前を知ることになります。
しかし、PAP が使用される場合、
ユーザが指定したオプションを元に pppd は相手の名前を決定します。
ユーザは相手の名前を直接 \fIremotename\fR で指定可能です。
そうではない場合で、リモート IP アドレスが (数値形式でなく)
名前で指定された場合、その名前を相手の名前として使用します。
これに失敗すると、pppd は相手の名前に空文字列を使用します。
.LP
相手側を PAP で認証する際に、提供されるパスワードはまず秘密情報ファイルの
秘密情報と比較されます。
もしパスワードが秘密情報とマッチしなければ、
パスワードは crypt() を使用して暗号化され、再び秘密情報と比較されます。
このため相手側の認証に使用する秘密情報は
暗号化された形式で記録することができます。
\fIpapcrypt\fR オプションが与えられた場合、よりよいセキュリティのため
最初の (暗号化されていない) 比較対象は除外されます。
.LP
更にもし \fIlogin\fR オプションが指定されていれば、ユーザ名とパスワードも
システムパスワードデータベースでチェックされます。
このためシステム管理者は特定のユーザだけに PPP アクセスを
許可し、個々のユーザが使用できる IP アドレスの組を
制限するよう pap-secrets ファイルを設定することができます。
典型的には、\fIlogin\fR オプションを使う時に、
/etc/ppp/pap-secrets 中の秘密情報を "" とすることで、
相手が提供するいかなるパスワードにもマッチするようになります。
これにより、同じ秘密情報を 2 個所で必要とされることを避けることができます。
.LP
\fBlogin\fR オプションが使われている時には、更なる確認が行われます。
/etc/ppp/ppp.deny が存在して、ユーザがそこに記述されている場合、
認証は失敗します。 /etc/ppp/ppp.shells が存在して、ユーザの通常の
ログインシェルが記述されていない場合、認証は失敗します。
.LP
認証は IPCP (またはその他のネットワーク制御プロトコル)
が開始される前に納得のいくように完了している必要があります。
相手が自己証明することを求められている時に、認証に失敗すると、
\fIpppd\fR は (LCP をクローズすることで) リンクを切断します。
もし IPCP で得られたリモートホストの IP アドレスが受け入れられない
ものであった場合、IPCP はクローズされます。 IP パケットは IPCP が
オープンしている時だけ送受信可能です。
.LP
ローカルホストが一般的に認証を必要とする時でも、
接続を行い限定された IP アドレスの組の 1 つを使うために
自己証明ができないホストに対して、
接続を認める必要がある場合もあります。
もし相手側がこちらの認証要求を拒否した場合、pppd はそれを
ユーザ名とパスワードが空文字列である PAP 認証として扱います。
そこで、クライアント名とパスワードに空文字列を指定した 1 行を
pap-secrets ファイルに追加することで、自己証明を拒否する
ホストにも制限つきのアクセスを許可することができます。
.SH 経路制御
.LP
IPCP 交渉が成功した場合、
pppd
はカーネルに、PPP インタフェースで用いるローカル IP アドレスおよび
リモート IP アドレスを通知します。
これは、相手側と IP パケットを交換する
リンクのリモート終端への経路を作成するのに充分な情報です。
サーバ以外のマシンとの通信には、一般的には経路
テーブルや ARP (アドレス解決プロトコル; Address Resolution Protocol)
テーブルのさらなる更新が必要となります。
ほとんどの場合 \fIdefaultroute\fR や \fIproxyarp\fR オプションで十分ですが、
更なる解析が必要な場合もあります。
/etc/ppp/ip-up スクリプトが使用可能な場合があります。
.LP
インターネットへの接続を PPP インタフェース経由のみで行うマシンの
場合には、リモートホストを通るデフォルト経路の追加が
望ましい場合があります。
\fIdefaultroute\fR オプションは、IPCP が完了した際に pppd に
そのようなデフォルト経路を作成させ、リンクが切断されたときには
そのデフォルト経路を削除させます。
.LP
例えばサーバマシンが LAN に接続されている場合、LAN 上の他のホストが
リモートホストと通信できるようにするために proxy ARP の使用が
望ましい場合もあります。
\fIproxyarp\fR オプションを指定すると、pppd はリモートホストと
同一サブネット上にある (ブロードキャストと ARP をサポートし、動作中
かつ point-to-point やループバックでない) ネットワークインタフェースを
探します。
そのようなインタフェースが見つかった場合、pppd は
恒久的に公開された ARP エントリとしてリモートホストの IP アドレスと
その見つかったネットワークインタフェースのイーサネット (MAC) アドレスを
登録します。
.LP
\fIdemand\fR オプション使用時は、IPCP 起動時に
インタフェースの IP アドレスは設定済みです。
pppd がインタフェース設定に使用したものと同じアドレスを
交渉できなかった場合には
(例えば ISP が動的に IP アドレスを割り当てる場合)、
pppd はインタフェースの IP アドレスを交渉されたものに
変更する必要があります。
この場合既存の接続を破壊するかもしれませんので、
動的 IP 割り当てを行う相手と要求時ダイアルを行うことは勧められません。
.SH 使用例
.LP
(ppp の配布のデフォルトの /etc/ppp/options ファイルと同じく)
以下の例では /etc/ppp/options ファイルは
\fIauth\fR オプションを含むものとします
.LP
おそらく最も一般的な pppd の使用方法は ISP へダイアルアウトすることでしょう。
この場合次のコマンドを使用します。
.IP
pppd call isp
.LP
ここで /etc/ppp/peers/isp ファイルはシステム管理者が次のように設定します:
.IP
ttyS0 19200 crtscts
.br
connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
.br
noauth
.LP
この例では、chat を使用して ISP のモデムにダイアルし、
必要なログオンシーケンスを通過します。
/etc/ppp/chat-isp ファイルは chat が使用するスクリプトを含みます。
例えば次のようになっています:
.IP
ABORT "NO CARRIER"
.br
ABORT "NO DIALTONE"
.br
ABORT "ERROR"
.br
ABORT "NO ANSWER"
.br
ABORT "BUSY"
.br
ABORT "Username/Password Incorrect"
.br
"" "at"
.br
OK "at&d0&c1"
.br
OK "atdt2468135"
.br
"name:" "^Umyuserid"
.br
"word:" "\\qmypassword"
.br
"ispts" "\\q^Uppp"
.br
"~-^Uppp-~"
.LP
chat スクリプトの詳細については、
chat(8) のマニュアルページを参照してください。
.LP
pppd はまたダイアルイン ppp サービスをユーザに提供するために使用可能です。
ユーザが既にログインアカウントを持っている場合には、
ppp サービスの最も簡単な設定方法は、
ユーザにそのアカウントでログインしてもらってから、
(setuid-root された) pppd を次のように実行することです。
.IP
pppd proxyarp
.LP
ユーザが PPP 機能を使用することを許すためには、
そのユーザのマシンのための IP アドレスを割り当て、
/etc/ppp/pap-secrets または /etc/ppp/chap-secrets (ユーザのマシンの PPP 実装が
どちらの認証方法をサポートするかに依存します)
にエントリを作成して、ユーザのマシンを認証可能とします。
例えば、Joe が "joespc" というマシンを持っていて、"server" というマシンへの
ダイアルインおよび joespc.my.net という IP アドレスの使用が許されている場合、
次のようなエントリを /etc/ppp/pap-secrets または /etc/ppp/chap-secrets に
加えます:
.IP
joespc server "joe's secret" joespc.my.net
.LP
別の方法として、(例えば) "ppp" といったユーザ名を作成し、
そのログインシェルを pppd とし、
ホームディレクトリを /etc/ppp とする方法があります。
この方法で pppd を実行する場合に使用するオプションは
/etc/ppp/.ppprc に置くことができます。
.LP
もしあなたのシリアル接続がケーブル 1 本でなく、もっと複雑な場合には、
いくつかの制御文字がエスケープされるように
準備しておく必要があります。とりわけ、XON (^Q) および XOFF (^S) を、
\fIasyncmap a0000\fR を用いてエスケープすることはしばしば有効です。
パスが telnet を含む場合には、 ^] 文字も同様にエスケープ
(\fIasyncmap 200a0000\fR を指定) する必要があるでしょう。
パスが rlogin を含む場合には、rlogin クライアントの動作している側の
ホストで \fIescape ff\fR を指定する必要があるでしょう。これは、多くの
rlogin の実装がネットワーク透過でないためです。
それらの rlogin では、 0xff, 0xff, 0x73, 0x73 とそれに続く 8 バイトの
シーケンスをストリームから取り除きます。
.SH 診断
.LP
メッセージは LOG_DAEMON ファシリティを用いて syslog デーモンに
送られます (これは希望するファシリティを LOG_PPP マクロとして定義し、
pppd を再コンパイルすることで変更することができます)。
エラーメッセージやデバッグメッセージを見るためには、
/etc/syslogd.conf ファイルを編集して pppd からのメッセージが
希望する出力デバイスやファイルに書き出されるようにしておく必要があります。
.LP
\fIdebug\fR オプションは送受信されるすべての制御パケットの内容が
ログに記録されるようにします。対象となる制御パケットは、
すべての LCP, PAP, CHAP, IPCP パケットです。
この機能は、PPP 交渉がうまくいかない場合や
認証が失敗する場合の原因究明に効果的でしょう。
コンパイル時にデバッギングオプションを有効にしていた場合には、
\fIdebug\fR もまた他のデバッグメッセージを記録するために使われます。
.LP
.I pppd
プロセスに SIGUSR1 シグナルを送ってデバッギングを有効にすることが
できます。これはトグル動作します。
.SH スクリプト
pppd は処理の様々な段階においてスクリプトを起動し、
サイト固有の追加処理を行います。
これらのスクリプトは通常シェルスクリプトですが、
実行可能コードファイルであってもかまいません。
pppd はスクリプトが終了するまで待ちません。
スクリプトは root にて (実ユーザ ID および実効ユーザ ID とも 0 に設定して)
実行されますので、経路テーブルの更新や特権デーモンの実行が可能です。
これらのスクリプトの内容によってシステムセキュリティが危うくならないよう
注意してください。
pppd は標準入力・標準出力・標準エラー出力を /dev/null にリダイレクトし、
リンクの情報を与えるいくつかの環境変数を除いて環境変数を空にして、
スクリプトを実行します。
pppd が設定する環境変数を以下に示します:
.TP
.B DEVICE
使用しているシリアル tty デバイス名。
.TP
.B IFNAME
使用しているネットワークインタフェース名。
.TP
.B IPLOCAL
リンクのローカル側の IP アドレス。
IPCP が立ち上がった時のみ設定されます。
.TP
.B IPREMOTE
リンクのリモート側の IP アドレス。
IPCP が立ち上がった時のみ設定されます。
.TP
.B PEERNAME
相手の認証された名前。
相手が自己証明した場合のみ設定されます。
.TP
.B SPEED
tty デバイスのボーレート。
.TP
.B UID
pppd を起動したユーザの実ユーザ ID。
.P
pppd は、以下のスクリプトが存在すれば起動します。
存在しなくてもエラーではありません。
.TP
.B /etc/ppp/auth-up
リモートシステムが成功裏に自己証明した後で実行される
プログラムまたはスクリプトです。
次のものをパラメータとして実行されます。
.IP
\fIinterface-name peer-name user-name tty-device speed\fR
.IP
相手が自己証明しない場合には、
このスクリプトは実行されないことに注意してください。
例えば \fInoauth\fR オプションが使用される時がこれにあたります。
.TP
.B /etc/ppp/auth-down
/etc/ppp/auth-up が以前実行された後でリンクが落ちた時に実行される
プログラムまたはスクリプトです。
これは /etc/ppp/auth-up と同じパラメータを与えて、同じ方法で実行されます。
.TP
.B /etc/ppp/ip-up
そのリンクで IP パケットの送受信が行えるようになった時
(IPCP が完了した時) に実行されるプログラムまたはスクリプトです。
次のものをパラメータとして実行されます。
.IP
\fIinterface-name tty-device speed local-IP-address
remote-IP-address ipparam\fR
.TP
.B /etc/ppp/ip-down
そのリンクで IP パケットの送受信ができなくなった場合に実行される
プログラムまたはスクリプトです。
このスクリプトは /etc/ppp/ip-up スクリプトで行った変更を
元にもどすために用いられます。
これは ip-up と同じパラメータを与えて、同じ方法で実行されます。
.TP
.B /etc/ppp/ipx-up
そのリンクで IPX パケットの送受信が行えるようになった時
(IPXCP が完了した時) に実行されるプログラムまたはスクリプトです。
次のものをパラメータとして実行されます。
.IP
\fIinterface-name tty-device speed network-number local-IPX-node-address
remote-IPX-node-address local-IPX-routing-protocol remote-IPX-routing-protocol
local-IPX-router-name remote-IPX-router-name ipparam pppd-pid\fR
.IP
local-IPX-routing-protocol および remote-IPX-routing-protocol のフィールドは
以下のいずれかです:
.IP
NONE 経路プロトコルが無いことを示します
.br
RIP RIP/SAP を使うべきであることを示します
.br
NLSP Novell NLSP を使うべきであることを示します
.br
RIP NLSP RIP/SAP と NLSP の両方を使うべきであることを示します
.TP
.B /etc/ppp/ipx-down
そのリンクで IPX パケットの送受信ができなくなった場合に実行される
プログラムまたはスクリプトです。
このスクリプトは /etc/ppp/ipx-up スクリプトで行った変更を
元にもどすために用いられます。
これは ipx-up と同じパラメータを与えて、同じ方法で実行されます。
.SH 関連ファイル
.TP
.B /var/run/ppp\fIn\fB.pid \fR(BSD または Linux), \fB/etc/ppp/ppp\fIn\fB.pid \fR(その他)
ppp インタフェースユニット \fIn\fR に対応する pppd プロセスの
プロセス ID が記録されます。
.TP
.B /etc/ppp/pap-secrets
PAP 認証で使用するユーザ名、パスワード、IP アドレスを格納します。
このファイルは root が所有し、他のユーザは読み書きできてはなりません。
そうでない場合 pppd は警告ログを行います。
.TP
.B /etc/ppp/chap-secrets
CHAP 認証で使用する名前、秘密情報、IP アドレスを格納します。
このファイルは root が所有し、他のユーザは読み書きできてはなりません。
そうでない場合 pppd は警告ログを行います。
.TP
.B /etc/ppp/options
pppd
のシステムデフォルトオプションを記述します。
ユーザデフォルトオプションおよびコマンド
ラインオプションが読まれる前に読み込まれます。
.TP
.B ~/.ppprc
ユーザ毎のデフォルトオプションを記述します。
/etc/ppp/options.\fIttyname が読まれる前に読み込まれます。
.TP
.B /etc/ppp/options.\fIttyname
各シリアルポートのシステムデフォルトオプションを指定します。
~/.ppprc の後で読まれます。
このファイル名の \fIttyname\fR 部分の構成にあたり、
まず /dev/ が (存在すれば) ポート名から除かれ、
残ったスラッシュがドットに置換されます。
.TP
.B /etc/ppp/peers
pppd が非 root ユーザによって起動されたとしても
特権オプションを含んでかまわないオプションファイルを含むディレクトリです。
システム管理者はオプションファイルをこのディレクトリ中に作成することにより、
非特権ユーザが相手の認証を要さずにダイアルアウト可能とします。
しかし、信頼関係のある相手のみ可能です。
.TP
.B /etc/ppp/ppp.deny
システムのパスワードによる PAP 認証を使わせないユーザを記述します。
.TP
.B /etc/ppp/ppp.shells
システムのパスワードによる PAP 認証ログインのために適切なシェルを
記述します。
.SH 関連項目
.IR chat(8),
.IR ppp(8)
.TP
.B RFC1144
Jacobson, V.
\fICompressing TCP/IP headers for low-speed serial links.\fR
February 1990.
.TP
.B RFC1321
Rivest, R.
.I The MD5 Message-Digest Algorithm.
April 1992.
.TP
.B RFC1332
McGregor, G.
.I PPP Internet Protocol Control Protocol (IPCP).
May 1992.
.TP
.B RFC1334
Lloyd, B.; Simpson, W.A.
.I PPP authentication protocols.
October 1992.
.TP
.B RFC1661
Simpson, W.A.
.I The Point\-to\-Point Protocol (PPP).
July 1994.
.TP
.B RFC1662
Simpson, W.A.
.I PPP in HDLC-like Framing.
July 1994.
.SH 注意
以下のシグナルが
pppd
に送られた場合、ここで説明する効果が得られます。
.TP
.B SIGINT, SIGTERM
これらのシグナルを受信した場合、pppd は (LCP をクローズすることで)
リンクを切断し、シリアルデバイスの設定を復元して、プログラムを終了します。
.TP
.B SIGHUP
物理層のリンク切断を指示します。pppd はシリアルデバイスの設定を復元し、
シリアルデバイスを閉じます。
\fIpersist\fR または \fIdemand\fR のオプションが指定されている場合、pppd は
シリアルデバイスを再オープンし、(抑止期間を置いてから)
新しい接続を始めようとします。
そうでない場合は、pppd は終了します。
このシグナルを抑止期間に受けると、pppd は抑止期間をすぐに終了します。
.TP
.B SIGUSR1
このシグナルは、\fIdebug\fR オプションの状態を反転します。
.TP
.B SIGUSR2
このシグナルは、
pppd
に圧縮に付いて再び交渉させます。
これは、致命的な伸長エラーの結果として
圧縮を止めた後で、再び圧縮を有効にするために便利です。
(致命的な伸長エラーは一般にどちらかの実装上の
バグを示します。)
.SH 作者
Paul Mackerras (Paul.Mackerras@cs.anu.edu.au) が、
Drew Perkins,
Brad Clements,
Karl Fox,
Greg Christy,
Brad Parker
の作業を元に作成しました。
diff --git a/ja_JP.eucJP/man/man8/pppstats.8 b/ja_JP.eucJP/man/man8/pppstats.8
index 18e4774cc0..ba4c69fb28 100644
--- a/ja_JP.eucJP/man/man8/pppstats.8
+++ b/ja_JP.eucJP/man/man8/pppstats.8
@@ -1,207 +1,207 @@
-.\" @(#) %Id: pppstats.8,v 1.3.2.4 1998/07/18 11:12:09 jkh Exp %
+.\" @(#) %Id: pppstats.8,v 1.8 1998/07/09 04:53:11 jkoshy Exp %
.\" jpman %Id: pppstats.8,v 1.2 1997/05/23 09:03:43 mitchy Stab %
.\"
.TH PPPSTATS 8 "26 June 1995"
.SH 名称
pppstats \- PPP の利用統計を表示する
.SH 書式
.B pppstats
[
.B -a
] [
.B -v
] [
.B -r
] [
.B -z
] [
.B -c
.I <count>
] [
.B -w
.I <secs>
] [
.I interface
]
.ti 12
.SH 解説
.B pppstats
は、指定した PPP インタフェースについて、
PPP に関連した統計情報を一定間隔で表示します。
インタフェースは無指定の場合は ppp0 になります。
表示は入力と出力のセクションに横方向に分割され、
それぞれのセクションで、
そのインタフェースで入出力されたパケットの属性と大きさの統計値を示します。
.PP
オプションには以下のものがあります:
.TP
.B -a
差分ではなく絶対値を表示するようにします。
このオプションを指定すると、
すべてのレポートは
リンクが成立してからの統計値を表示するようになります。
このオプションが未指定なら、
2 回目とそれ以降のレポートが、
前回のレポートからの統計を表示するようになります。
.TP
.B -c \fIcount
表示を
.I count
回繰り返します。
このオプションが指定されない場合、
.B -w
オプションが指定されていれば無限に繰り返し、
さもなくば 1 回だけ表示されます。
.TP
.B -r
使用中のパケット圧縮アルゴリズムによる圧縮率の統計値を要約して
追加表示します。
.TP
.B -v
Van Jacobson TCP ヘッダ圧縮アルゴリズムのパフォーマンスに関する
統計値を追加表示します。
.TP
.B -w \fIwait
繰り返して表示する際の間隔を
.B -w \fIwait
秒にします。
無指定時は 5 秒です。
.TP
.B -z
通常の表示に替えて、
使用中のパケット圧縮アルゴリズムの性能の統計値を表示します。
.PP
.B -z
オプションが指定されない場合、入力側には以下の項目が表示されます:
.TP
.B IN
このインタフェースで受信した総バイト数。
.TP
.B PACK
このインタフェースで受信したパケットの総数。
.TP
.B VJCOMP
このインタフェースで受信した、ヘッダ圧縮された TCP パケットの数。
.TP
.B VJUNC
このインタフェースで受信した、ヘッダの圧縮されていない TCP パケットの数。
.B -r
オプションが指定されたときは表示されません。
.TP
.B VJERR
このインタフェースで受信した、
破損した、あるいは不正にヘッダが圧縮された TCP パケットの数。
.B -r
オプションが指定されたときは表示されません。
.TP
.B VJTOSS
先行するエラーで受理されずに落された、
VJ ヘッダ圧縮された TCP パケットの数。
.B -v
オプションが指定されたときだけ表示されます。
.TP
.B NON-VJ
このインタフェースで受信した非 TCP パケットの総数。
.B -v
オプションが指定されたときだけ表示されます。
.TP
.B RATIO
使用中のパケット圧縮方法で達成された、
受信パケットの、圧縮時に対する非圧縮時の大きさの比率で表した圧縮率。
.B -r
オプションが指定されたときだけ表示されます。
.TP
.B UBYTE
受信した圧縮パケットの展開後のバイト総数。
.B -r
オプションが指定されたときだけ表示されます。
.PP
出力側には以下の項目が表示されます:
.TP
.B OUT
このインタフェースから送信された総バイト数。
.TP
.B PACK
このインタフェースから送信した総パケット数。
.TP
.B VJCOMP
このインタフェースから送信された、
TCP ヘッダを VJ 圧縮した TCP パケットの数。
.TP
.B VJUNC
このインタフェースから送信された、
TCP ヘッダを VJ 圧縮していない TCP パケットの数。
.B -r
オプションが指定されたときは表示されません。
.TP
.B NON-VJ
このインタフェースから送信された非 TCP パケットの総数。
.B -r
オプションが指定されたときは表示されません。
.TP
.B VJSRCH
VJ ヘッダ圧縮パケットのヘッダエントリをキャッシュで探索した回数。
.B -v
オプションが指定されているときだけ表示されます。
.TP
.B VJMISS
VJ ヘッダ圧縮パケットのヘッダエントリをキャッシュで探索して失敗した回数。
.B -v
オプションが指定されているときだけ表示されます。
.TP
.B RATIO
使用中のパケット圧縮方法で達成された、送信パケットの、
圧縮後に対する圧縮前の大きさの比率で表した圧縮率。
.B -r
オプションが指定されているときだけ表示されます。
.TP
.B UBYTE
送信した圧縮パケットの圧縮前のバイト総数。
.B -r
オプションが指定されているときだけ表示されます。
.PP
.B -z
オプションが指定されている場合は、
.B pppstats
は上記のものに替えて、
現在使用中のパケット圧縮アルゴリズムについて以下の項目を表示します。
パケット圧縮が使用されていない場合は、これらの項目はすべて 0 になります。
入力側で表示される項目は:
.TP
.B COMPRESSED BYTE
受信した圧縮パケットのバイト数。
.TP
.B COMPRESSED PACK
受信した圧縮パケットの数。
.TP
.B INCOMPRESSIBLE BYTE
受信した圧縮不可能な (非圧縮形式で送られた) パケットのバイト数。
.TP
.B INCOMPRESSIBLE PACK
受信した非圧縮パケットの数。
.TP
.B COMP RATIO
(圧縮可能なものと不可能なものの両方を含めた)
圧縮後に対する圧縮前の大きさの比率で表した、
受信パケットの目下の圧縮率。
.PP
出力側で表示される項目は:
.TP
.B COMPRESSED BYTE
送信された圧縮パケットのバイト数。
.TP
.B COMPRESSED PACK
送信された圧縮パケットの数。
.TP
.B INCOMPRESSIBLE BYTE
送信された
(非圧縮の形式で送信された)
圧縮不可能なパケットのバイト数。
.TP
.B INCOMPRESSIBLE PACK
送信された圧縮不可能なパケットの数。
.TP
.B COMP RATIO
外へ出て行くパケットの目下の圧縮率。
.SH 関連項目
pppd(8)
diff --git a/ja_JP.eucJP/man/man8/praliases.8 b/ja_JP.eucJP/man/man8/praliases.8
index 376193473f..5a7d55466e 100644
--- a/ja_JP.eucJP/man/man8/praliases.8
+++ b/ja_JP.eucJP/man/man8/praliases.8
@@ -1,42 +1,50 @@
-.\" @(#)praliases.8 8.1 (Berkeley) 9/21/96
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" @(#)praliases.8 8.5 (Berkeley) 5/19/98
+.\"
.\" jpman %Id: praliases.8,v 1.3 1997/08/30 16:46:16 take-i Stab %
.Dd April 25, 1996
.Dt PRALIASES 1
.Os BSD 3
.Sh 名称
.Nm praliases
.Nd システムメールエイリアスの表示
.Sh 書式
.Nm praliases
.Op Fl f Ar ファイル
.Sh 解説
.Nm praliases
ユーティリティーは、
現在のシステムエイリアスを 1 行につき 1 つ
ずつ ( 但し項目順ではなく ) 表示します。
.Pp
オプションは次の通りです :
.Bl -tag -width Ds
.It Fl f
デフォルトの
.Nm sendmail
システムのエイリアスファイルの代わりに、
指定されたファイルを読みます。
.El
.Pp
.Nm praliases
ユーティリティーは成功すると 0 、
エラーが発生すると 0 より大きな値を返します。
.Sh 関連ファイル
.Bl -tag -width /var/log/sendmail.stXX -compact
.It Pa /etc/aliases
デフォルトの
.Nm sendmail
システムのエイリアスファイル
.It Pa /etc/aliases.db
.Pa /etc/aliases
ファイルのデータベース版
.El
.Sh 関連項目
.Xr mailq 1 ,
.Xr sendmail 8
diff --git a/ja_JP.eucJP/man/man8/pstat.8 b/ja_JP.eucJP/man/man8/pstat.8
index 12d76d7eec..5c75750683 100644
--- a/ja_JP.eucJP/man/man8/pstat.8
+++ b/ja_JP.eucJP/man/man8/pstat.8
@@ -1,379 +1,384 @@
.\" Copyright (c) 1980, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" @(#)pstat.8 8.4 (Berkeley) 4/19/94
.\" 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: @(#)pstat.8 8.4 (Berkeley) 4/19/94
-.\" %Id: pstat.8,v 1.10.2.1 1997/10/10 06:18:42 charnier Exp %
+.\" @(#)pstat.8 8.5 (Berkeley) 5/13/94
+.\" %Id: pstat.8,v 1.16 1998/01/17 16:58:55 bde Exp %
.\" jpman %Id: pstat.8,v 1.2 1997/03/31 14:56:46 horikawa Stab %
.\"
.Dd October 7, 1995
.Dt PSTAT 8
.Os BSD 4
.Sh 名称
.Nm pstat ,
.Nm swapinfo
.Nd システムデータ構造体を表示する
.Pp
.Sh 書式
.Nm pstat
.Op Fl Tfiknstv
.Op Fl M Ar core
.Op Fl N Ar system
.Pp
.Nm swapinfo
.Op Fl k
.Op Fl M Ar core
.Op Fl N Ar system
.Sh 解説
.Nm pstat
は、オープンしているファイルのエントリ・
スワップ領域の利用状況・端末の状態・vnodeデータ構造体
を表示します。
.Ar core
が指定されればそこから情報が取り出され、指定されなければ
.Pa /dev/mem
から情報が取り出されます。
.Ar system
が指定されなければ、
必要な名前リストは
.Pa /kernel
から取り出されます。
.Pp
.Nm swapinfo
という名前で起動されると
.Fl s
オプションが指定されたことになり、このときは
.Fl k
オプションだけを指定することができます。
.Pp
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl n
デバイスを表示するときに、名前ではなくデバイスのメジャー番号と
マイナー番号を使用します。
.It Fl k
BLOCKSIZE 環境変数での設定に関わらず、容量の表示をキロバイト単位
で行います。
.It Fl T
種々のシステムテーブルについて使用スロットと空きスロットの
数を表示します。システムの負荷が非常に重いとき、
システムテーブルがどれくらいの大きさになっているかを調べる
のに役立ちます。
.It Fl f
次のようなヘッダとともに、オープンしているファイルのテーブル
を表示します:
.Bl -tag -width indent
.It LOC
このテーブルエントリの core 中における位置
.It TYPE
このテーブルエントリが指すオブジェクトの型
.It FLG
その他の状態。以下のように記号化されています:
.Bl -tag -width indent
.It R
読み込み用にオープンされている
.It W
書き込み用にオープンされている
.It A
追加用にオープンされている
.It S
共有ロックが存在している
.It X
排他的ロックが存在している
.It I
データの準備ができたらプロセスグループにシグナルを送る
.El
.It CNT
オープンされたこのファイルのことを知っているプロセスの数
.It MSG
このファイルに向けられているメッセージの数
.It DATA
このファイルに関する vnode テーブルエントリもしくはソケット構造体の位置
.It OFFSET
ファイルオフセット
.Pf ( Xr lseek 2
参照)
.El
.It Fl s
カーネルに登録されたすべてのスワップ領域について、
利用状況に関する情報を表示します。第1の欄はパーティションのデバイス名
です。次の欄はそのパーティションで利用できる領域全体の大きさです。
.Ar Used
の欄は、現在使われているブロックの合計の大きさを示しています。
.Ar Available
の欄は、各パーティションに残っている領域の大きさを示しています。
.Ar Capacity
は領域の何%が使われているかを示します。
.Pp
2つ以上のパーティションをスワップ領域としてシステムに
設定している場合は、すべての項目について最後の行に合計が
報告されます。
.It Fl t
次のようなヘッダとともに、端末のテーブルを表示します。
.Bl -tag -width indent
.It RAW
rawな入力キューにある文字数
.It CAN
正規化された入力キューにある文字数
.It OUT
出力キューにある文字数
.It MODE
.Xr tty 4
を参照
.It ADDR
物理デバイスアドレス
.It DEL
正規化された入力キューにある区切り文字(改行)の数
.It COL
端末の計算した列の位置
.It STATE
その他の状態。以下のように記号化されています:
.Bl -tag -width indent
.It T
delay がタイムアウトしようとしている
.It W
オープンが完了するのを待っている
.It O
オープンしている
.It F
DMA 中に出力キューがフラッシュされた
.It C
キャリアがオン
.It c
接続している
.It B
出力中のためビジー
.It A
プロセスは出力キューに空きができるのを待っている
.It a
プロセスは出力の完了を待っている
.It X
排他的な利用のためにオープンしている
.It S
出力が停止した (ixon フロー制御の場合)
.It m
出力が停止した (carrier フロー制御の場合)
.It o
出力が停止した (CTS フロー制御の場合)
.It d
出力が停止した (DSR フロー制御の場合)
.It K
入力が停止した
.It Y
入力イベントの際に SIGIO を送る
.It D
小文字(lowercase)の
.Ql \e
が動作する状態
.It E
PRTRUBのため
.Ql \e.../
の中にいる
.It L
次の文字はリテラルである
.It P
中断された入力を再タイプしている (PENDIN)
.It N
タブ幅を数えている、FLUSHO を無視する
.It l
ブロックモード入力ルーチンは使用中
.It s
i/o が snoop された
.It Z
接続が失われた
.It SESS
セッション構造体のカーネル内アドレス
.It PGID
この端末を制御端末としているプロセスグループ
.It DISC
回線規約;
.Ql term
(TTYDISC の場合)
,
.Ql ntty
(NTTYDISC の場合)
,
.Ql tab
(TABLDISC の場合)
,
.Ql slip
(SLIPDISC の場合)
,
.Ql ppp
(PPPDISC の場合)
のいずれか
.El
.It Fl v
アクティブな vnode を表示します。あるファイルシステムに対応する
一連のvnodeには 2 行のヘッダが付いています。1 行目は以下のように
構成されています:
.Pp
.Df I
.No *** MOUNT Em fstype from
on
.Em on fsflags
.De
.Pp
ここで
.Em fstype
には、
.Em ufs , nfs , mfs , pc
のいずれかが入ります。
.Em from
にはどのファイルシステムがマウント
されているか、
.Em on
にはファイルシステムがどこにマウントされ
ているか、
.Em fsflags
にはマウントで適用されるオプション
.Pf ( Xr mount 8
を参照)が列挙されます。
2 行目は各フィールドを説明するヘッダです。
最初の部分は固定で、2 番目の部分はファイルシステムのタイプによります。
すべてのvnodeで共通なヘッダは以下の通りです:
.Bl -tag -width indent
.It ADDR
このvnodeの位置
.It TYP
ファイルタイプ
.It VFLAG
.Pp
vnodeのフラグを表す文字のリスト:
.Bl -tag -width indent
.It R
\- VROOT
.It T
\- VTEXT
+.It S
+\- VSYSTEM
+.It t
+\- VISTTY
.It L
\- VXLOCK
.It W
\- VXWANT
-.It E
-\- VEXLOCK
-.It S
-\- VSHLOCK
-.It T
-\- VLWAIT
-.It A
-\- VALIASED
.It B
\- VBWAIT
+.It A
+\- VALIASED
+.It V
+\- VOBJBUF
+.It a
+\- VAGE
+.It l
+\- VOLOCK
+.It w
+\- VOWANT
.El
.Pp
.It USE
この vnode への参照数
.It HOLD
この vnode が確保している I/O バッファの数
.It FILEID
vnode フィールド。
.Em ufs
の場合は inode 番号
.It IFLAG
ファイルシステムに固有なその他の状態。
以下のように記号化されています:
.Pp
.Bl -tag -width indent
.It "ufsの場合:"
.Bl -tag -width indent
.It L
ロックされている
.It U
更新時間
.Pf ( Xr fs 5
参照)は修正されなければならない
.It A
アクセス時刻は修正されなければならない
.It W
別のプロセスに要求されている(Lフラグがオン)
.It C
変更時刻は修正されなければならない
.It S
共有ロックが適用されている
.It E
排他的ロックが適用されている
.It Z
ロックを待っているものがいる
.It M
変更がある
.It R
リネーム中
.El
.It "nfsの場合:"
.Bl -tag -width indent
.It W
I/O バッファのフラッシュが完了するのを待っている
.It P
I/O バッファがフラッシュされている最中
.It M
ローカルで変更されたデータがある
.It E
以前の書き込みに失敗したものがある
.It X
キャッシュを行わないリース(lease)(nqnfs)
.It O
書き込みリース(lease)(nqnfs)
.It G
リース(lease)が破棄された(nqnfs)
.El
.El
.It SIZ/RDEV
通常のファイルの場合はバイト数、特殊ファイルの場合は
メジャーデバイスとマイナーデバイス
.El
.It Fl i
.Fl v
と同じですが、バックワードコンパチビリティのためにあります。
.El
.Sh 関連ファイル
.Bl -tag -width /dev/memxxx -compact
.It Pa /kernel
名前リスト
.It Pa /dev/mem
デフォルトのテーブル情報源
.El
.Sh 関連項目
.Xr ps 1 ,
.Xr systat 1 ,
.Xr stat 2 ,
.Xr fs 5 ,
.Xr iostat 8 ,
.Xr vmstat 8
.Pp
.Sh バグ
.Pp
.Tn NFS
スワップサーバはサポートしていません。
.Sh 歴史
.Nm pstat
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/pw.8 b/ja_JP.eucJP/man/man8/pw.8
index 322a99d280..f8c181a094 100644
--- a/ja_JP.eucJP/man/man8/pw.8
+++ b/ja_JP.eucJP/man/man8/pw.8
@@ -1,804 +1,860 @@
.\" 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.
.\"
-.\" %Id: pw.8,v 1.1.1.1.2.5 1997/11/04 07:16:14 charnier Exp %
+.\" %Id: pw.8,v 1.13 1998/03/23 08:28:12 charnier Exp %
.\" jpman %Id: pw.8,v 1.3 1997/10/28 15:30:48 kuriyama Stab %
.\"
+.\" WORD: primary group プライマリグループ(/etc/passwd のグループIDで決まるグループ)
+.\"
.Dd December 9, 1996
.Dt PW 8
.Os
.Sh 名称
.Nm pw
.Nd システムユーザ、グループの作成、削除、変更、表示
.Sh 書式
.Nm pw
.Ar useradd
.Op name|uid
.Op Fl C Ar config
.Op Fl q
.Op Fl n Ar name
.Op Fl u Ar uid
.Op Fl c Ar comment
.Op Fl d Ar dir
.Op Fl e Ar date
.Op Fl p Ar date
.Op Fl g Ar group
.Op Fl G Ar grouplist
.Op Fl m
.Op Fl k Ar dir
.Op Fl s Ar shell
.Op Fl o
.Op Fl L Ar class
.Op Fl h Ar fd
.Op Fl N
.Op Fl P
+.Op Fl Y
.Nm pw
.Ar useradd
.Op name|uid
-.Op Fl D
+.\" -D オプションは省略可能の通常のオプションではないのでこれでよい
+.Fl D
.Op Fl C Ar config
.Op Fl q
.Op Fl b Ar dir
.Op Fl e Ar days
.Op Fl p Ar days
.Op Fl g Ar group
.Op Fl G Ar grouplist
.Op Fl k Ar dir
.Op Fl u Ar min,max
.Op Fl i Ar min,max
.Op Fl w Ar method
.Op Fl s Ar shell
+.Op Fl y Ar path
.Nm pw
.Ar userdel
.Op name|uid
.Op Fl n Ar name
.Op Fl u Ar uid
.Op Fl r
+.Op Fl Y
.Nm pw
.Ar usermod
.Op name|uid
.Op Fl C Ar config
.Op Fl q
.Op Fl n Ar name
.Op Fl u Ar uid
.Op Fl c Ar comment
.Op Fl d Ar dir
.Op Fl e Ar date
.Op Fl p Ar date
.Op Fl g Ar group
.Op Fl G Ar grouplist
.Op Fl l Ar name
.Op Fl m
.Op Fl k Ar dir
.Op Fl w Ar method
.Op Fl s Ar shell
.Op Fl L Ar class
.Op Fl h Ar fd
.Op Fl N
.Op Fl P
+.Op Fl Y
.Nm pw
.Ar usershow
.Op name|uid
.Op Fl n Ar name
.Op Fl u Ar uid
.Op Fl F
.Op Fl P
.Op Fl a
.Nm pw
.Ar usernext
.Op Fl C Ar config
.Op Fl q
.Nm pw
.Ar groupadd
.Op group|gid
.Op Fl C Ar config
.Op Fl q
.Op Fl n Ar group
.Op Fl g Ar gid
.Op Fl M Ar members
.Op Fl o
.Op Fl h Ar fd
.Op Fl N
.Op Fl P
+.Op Fl Y
.Nm pw
.Ar groupdel
.Op Fl n Ar name
.Op Fl g Ar gid
+.Op Fl Y
.Nm pw
.Ar groupmod
.Op Fl C Ar config
.Op Fl q
.Op Fl F
.Op Fl n Ar name
.Op Fl g Ar gid
.Op Fl l Ar name
.Op Fl M Ar members
.Op Fl m Ar newmembers
.Op Fl h Ar fd
.Op Fl N
.Op Fl P
+.Op Fl Y
.Nm pw
.Ar groupshow
.Op Fl n Ar name
.Op Fl g Ar gid
.Op Fl F
.Op Fl P
.Op Fl a
.Nm pw
.Ar groupnext
.Op Fl C Ar config
.Op Fl q
.Sh 解説
.Nm pw
は、システムの
.Ar user
.Ar group
ファイルのユーザ、グループを簡単に、標準的な方法で追加、変更、削除
することができるようにするコマンドライン版のエディタです。
.Nm
は、ローカルな user ファイルと group ファイルを操作することができるだ
けだということに注意して下さい。 NIS のユーザ、グループは NIS サーバ上
で管理しなければなりません。
.Nm
-は root で実行されなければならず、
+は
.Pa passwd ,
.Pa master.passwd ,
.Pa group
ファイルや、安全なまたは安全でないパスワードデータベースファイル
-の更新作業を行います。
+の更新作業を行いますので、 root で実行されなければなりません。
.Pp
-.Xr pw 8
+.Nm
のコマンドラインにかかれている最初の一つか二つのキーワードは、引数の残り
-に対する文脈を規定します。
+を解釈する際の文脈を指定します。
.Ar user
.Ar group
のキーワードはどちらも、
.Ar add ,
.Ar del ,
.Ar mod ,
.Ar show ,
.Ar next
-と組み合わせるか、分離して用いることができ、どちらの順序 (例えば
-showuser, usershow, show user, user show はすべて同じことと
-みなされます) で指定してもかまいません。
-この柔軟性は、実際のユーザ、グループデータベース操作のために
+と組み合わせて用いることができ、どのような順序 (例えば
+.Ar showuser ,
+.Ar usershow ,
+.Ar show user ,
+.Ar user show
+はすべて同じこととみなされます) で指定してもかまいません。
+この柔軟性は、ユーザ、グループデータベース操作のために
.Nm
-を呼ぶ対話的なスクリプトには便利です。
+を呼び出す対話的なスクリプトには便利です。
.Fl n Ar name ,
.Fl u Ar uid ,
.Fl g Ar gid
オプションを使う代わりに、
これらのキーワードに続けてユーザ名、グループ名、数字の ID のうち一つ
を指定することができます。
.Pp
-以下のフラグは操作のすべてのモードで共通です:
+以下のフラグは操作のほとんどのモードで共通です。
.Pp
.Bl -tag -width "-G grouplist"
.It Fl C Ar config
.Nm
は新しいユーザアカウントとグループはどのように作られるべきかという
方針の情報を得るために、デフォルトではファイル
.Pa /etc/pw.conf
-を読み込みますが、
+を読み込みます。
.Fl C
オプションで異なる設定ファイルを指定できます。
設定ファイルのほとんどの内容は、コマンドライン
オプションにより上書きされますが、新しいアカウントを追加するための標準
-的な情報を設定ファイルに設定しておくと
-より便利かもしれません。
+的な情報を設定ファイルに設定しておいた方が
+便利かもしれません。
.It Fl q
このオプションを使うと
.Nm
-はエラーメッセージを抑制します。これは、注意深くフォーマットされたディスプレイへのメッセージ表示よりも、
+はエラーメッセージを抑制します。
+これは、注意深くフォーマットされたディスプレイへのメッセージ表示よりも、
.Nm
から返された戻り値を解釈する方が好まれるような対話的な環境では
便利かもしれません。
.It Fl N
-このオプションは add と modify 操作で使います。
+このオプションは
+.Ar add
+と
+.Ar modify
+操作で使います。
.Nm
-は、ユーザ/グループデータベースの更新をスキップして、操作を実際には
-実行せずに、代わりに結果だけを出力します。
+は、ユーザ/グループデータベースを更新せずに、操作の結果だけを出力します。
.Fl P
-オプションを使うと、標準 passwd と可読なフォーマットの切り替えが
-できます。
+オプションを使うと、標準 passwd フォーマットと可読なフォーマットの
+切り替えができます。
+.It Fl Y
+更新モードのいずれかと、このオプションとをいっしょに使うことで、
+.Nm
+は、
+.Pa /var/yp
+にカレントディレクトリを移動させてから
+.Xr make 1
+を実行します。これは、NIS データベースファイルの自動更新を可能とする
+ためのものです。NIS が別のパスワードファイル、グループファイルを
+使っている場合、
+.Fl y Ar path
+オプションを使い、NIS パスワードデータベースの位置を指定すると
+よいでしょう。これにより、
+.Nm
+は、システムパスワードデータベースと並行してこれらのデータベースも
+同時に更新します。
.El
.Pp
.Sh ユーザオプション
以下のオプションは
.Ar useradd
.Ar usermod
コマンドに付けます:
.Pp
.Bl -tag -width "-G grouplist"
.It Fl n Ar name
ユーザ名/アカウント名を指定します。
.It Fl u Ar uid
ユーザ ID / アカウント ID を数字で指定します。
.Pp
アカウント名は uid を含み、逆も同様であるため、通常これらのオプション
のどちらか片方しか必要ではありません。
-また
-.Ql Fl n
-や
-.Ql Fl u
-を使わなくても、コマンドライン上で
-.Ar useradd ,
-.Ar userdel ,
-.Ar usermod ,
-.Ar usershow
-キーワードの直後にアカウントとユーザIDのどちらでも続けることができます。
しかし、両方を指定しなければならないこともしばしばあります。
-例えば、存在するユーザの uid を
+例えば、すでに存在するユーザの uid を
.Ar usermod
で変えたり、新しいアカウントを作るときにデフォルトの uid を上書きした
りするときです。
.Nm
.Ar useradd
を使って新しいユーザに uid を自動的に割り当てたい場合は、
.Ql Fl u
オプションを使っては
.Em いけません
+コマンドライン上で
+.Ar useradd ,
+.Ar userdel ,
+.Ar usermod ,
+.Ar usershow
+キーワードの直後なら、アカウントとユーザIDのどちらかを
+.Ql Fl n
+や
+.Ql Fl u
+を使わずにそのまま続けて書くことができます。
.El
.Pp
-.Ar useradd
-と
-.Ar usermod
-の両方で使えるオプション:
.Bl -tag -width "-G grouplist"
.It Fl c Ar comment
このオプションは passwd の GECOS フィールドの内容をセットします。
-このフィールドは、コンマで区切られた四つのサブフィールドで、一般的には
+このフィールドは、コンマで区切られた 4 つのサブフィールドで、一般的には
ユーザの姓名、勤務先または地区、職場と自宅の電話番号を含みます。
これらのサブフィールドは慣習的に使われるだけであり、省略可能です。
このフィールドが空白を含む場合、コメント自身をダブルクォート
.Ql \&"
でくくらなければなりません。
-サブフィールドの区切りで使われたような、フィールド内のコンマの使用は
+コンマはサブフィールドの区切りとして使われるので、フィールド内での使用は
避けて下さい。そして、コロン
.Ql \&:
キャラクタも passwd ファイルのフィールド区切りであるため使えません。
.It Fl d Ar dir
このオプションは、アカウントのホームディレクトリを設定します。
-通常、これはホームディレクトリがデフォルト (基本のホームディレクトリ
-- 普通
+通常、これはホームディレクトリが
+.Pa /etc/pw.conf
+から決まるデフォルト
+(ふつうは
.Pa /home
-と サブディレクトリとしてのアカウント名 - を指定する
-pw.conf で決定されます) と異なる場合にだけ使うことになるでしょう。
+の下でアカウント名をサブディレクトリとしたもの)
+と異なる場合にだけ使うことになるでしょう。
.It Fl e Ar date
アカウントが破棄される日付をセットします。
この日付のフォーマットは、 10 進の UNIX 時間か
-.Ql \& dd-mmm-yy[yy]
+.Ql dd-mmm-yy[yy]
フォーマットの日付のどちらかになり、後者は dd が日、mmmが月で、数字と
アルファベット('Jan', 'Feb' 等)のどちらでもよく、年は 2 または 4 桁の
数字からなります。
このオプションは、
.Ql \&+n[mhdwoy]
の形の相対的な日付も受け付けます。
.Ql \&n
は 10 進数、 8 進数 (0 から始まる) 、 16 進数 (0x で始まる) の数字で、
その後に現在の日付時刻から破棄される日までの分(m)、時(h)、日(d)、
曜日(w)、月(o)、年(y)の数がセットされます。
.It Fl p Ar date
アカウントのパスワードが破棄される日付をセットします。
-このフィールドは、強制的なパスワードの変更を適用することを除けば、
-アカウントを破棄するオプションと同等です。
-アカウントを破棄するオプションと同じフォーマットを受け付けます。
+このフィールドは、パスワードの強制的な変更に対して適用されることを除けば、
+アカウント破棄日付指定オプションと似ています。
+これは、
+.Ql Fl e
+オプションと同様にしてセットされます。
.It Fl g Ar group
-与えられた group をアカウントの初期グループにセットします。
+与えられた group をアカウントのプライマリグループにセットします。
.Ar group
-は、グループ名または対応するグループ ID 番号が使えます。
+は、グループ名またはグループ ID 番号で定義されます。
.It Fl G Ar grouplist
-アカウントが属する別のグループをセットします。
+そのアカウントの追加グループをセットします。
.Ar grouplist
-は、コンマ区切りのリスト、またはグループ名、またはグループ IDです。
-ユーザを加える場合、
+は、コンマで区切られた、グループ名またはグループ ID 番号のリストです。
.Pa /etc/group
-の各グループにユーザ名が追加されます。
-ユーザを編集する場合、
-.Ar grouplist
-に指定されたグループにユーザ名が加えられ、
-指定されなかったグループからは除かれます。
+の、グループリストで指定されたグループにそのユーザ名が追加され、
+グループリストで指定されないグループからそのユーザ名が削除されます。
注意: ユーザは
.Pa /etc/group
-の初期グループには加えられるべきではありません。
+のプライマリグループには加えられるべきではありません。
また、グループのメンバの変更は現在のログインにはすぐには影響されず、変
更後のログインにだけ影響します。
.It Fl L Ar class
このオプションは生成されたユーザのログインクラスをセットします。
-ユーザクラスに関する情報は
+ユーザログインクラスに関する情報は
.Xr login.conf 5
を参照して下さい。
.It Fl m
このオプションは、ユーザのホームディレクトリの作成を試みるように
.Nm
に指示します。
もちろんこれは
.Ar useradd
で新しいアカウントを加えるときにも役に立ちますが、
-存在するユーザのホームディレクトリをファイルシステムの別の場所に
-移動する、という使い方もできます。
-新しいホームディレクトリは、一般にユーザが個人的に使う
-シェルの設定ファイル一式を含む、
-.Ar 雛型
-ディレクトリの内容と共に移されます。
+すでに存在するユーザのホームディレクトリを、ファイルシステムの別の場所に
+移動するという使い方もできます。
+新しいホームディレクトリには、
+.Ar 雛型(skeleton)
+ディレクトリの内容が置かれます。
+ここには、普通、ユーザが個人的に使うシェルの設定ファイル一式
+が含まれています。
.Ar usermod
にアカウントを指定して
.Ql Fl m
-が用いられると、そのユーザのホームディレクトリにある
-設定ファイルはプロトタイプのファイルで
+を用いる際には、そのユーザのホームディレクトリにある
+設定ファイルは、雛型ディレクトリのファイルで
.Em 上書きされません
.Pp
-ユーザのホームディレクトリが作成されるとき、デフォルトで
+ユーザのホームディレクトリが作成されるとき、デフォルトでは、
.Ql Fl b Ar dir
オプション (下記参照) で指定された
.Ar basehome
ディレクトリのサブディレクトリとして作られ、アカウント名と同じ名前が付
けられます。
コマンドラインに
.Ql Fl d Ar dir
-オプションを付けると、上書きするようにもできます。
+オプションを付けると、上書きするようにすることもできます。
.It Fl k Ar dir
このオプションは、
.Ar 雛型
-のサブディレクトリをセットします。ユーザのホームディレクトリが作成
+ディレクトリをセットします。ユーザのホームディレクトリが作成
されるとき、そこから基本の起動時ファイル、設定ファイル
がコピーされます。
このオプションは、
-.Ql Fl D
+.Ql Fl d
(下記参照) や
.Ql Fl m
-と共に使ったときにのみ意味があります。
+とともに使ったときにのみ意味があります。
.It Fl s Ar shell
ユーザのログインシェルを
.Ar shell
にセットまたは変更します。
シェルプログラムへのパスが省略されると、
.Nm
.Pa /etc/pw.conf
で指定された
.Ar shellpath
を探し、それを適切に補います。
パスを指定するのは、特別な理由があるのでなければ、避けるべきだ
ということを覚えておきましょう。
指定しないことで、プログラムが存在し、かつ実行可能であることを
.Nm
に確認させることができるからです。
フルパスを指定する (または空のままの "" シェルにしておく) と
このチェックをせず、対話的なログインをさせないアカウントを
設定しなければならないときに設定される
.Pa /nonexistent
のようなエントリを作ることができます。
.It Fl L Ar class
ユーザの passwd レコード内の
.Em class
フィールドをセットします。
このフィールドは現在使われていませんが、将来は
.Em termcap
エントリのようなタグ (詳細は
.Xr passwd 5
を参照のこと) を指定するために使われるでしょう。
.It Fl h Ar fd
このオプションは、
.Nm
-を使ってアカウントパスワードを設定することができる対話的なスクリプトを
+が対話的なスクリプトを使ってアカウントパスワードを
設定できるような特別のインタフェースを用意します。
コマンドラインと環境は、プログラムが情報を受け取るしくみとしては
基本的に安全ではないため、
.Nm
はファイル記述子 (通常対話的スクリプトとプログラム間のパイプ)
を通してのみ、アカウントとグループのパスワードの設定を許可します。
.Ar sh ,
.Ar bash ,
.Ar ksh ,
.Ar perl
は皆、これができるしくみを持っています。
.Ql Fl h Ar 0
が指定されると、代わりに
.Nm
-はユーザのパスワードを求めるプロンプトを出し、
+はユーザのパスワード入力を求めるプロンプトを出し、
.Em stdin
をパスワードを読み込むファイル記述子とします。
-このパスワードは一度しか読み込まれず、対話的な使用よりも
+パスワードは一度しか入力されません。対話的な使用よりも
スクリプト向きにできていることに注意して下さい。
.Xr passwd 1
-の行に合わせて新しいパスワードの確認をしたい場合、これは
+の行に合わせて新しいパスワードの確認をしたい場合、この機能は、
.Nm
-を呼び出す対話的なスクリプトの一部として実装されるべきです。
+を呼び出す対話的なスクリプトの一部として実装する必要があります。
.Pp
引数
.Ar fd
として
.Ql \&-
が与えられると、パスワードとして
.Ql \&*
-がセットされ、そのアカウントにはパスワードでログインすることが
+がセットされ、そのアカウントにはパスワードを使ってログインすることが
できないようになります。
.El
.Pp
.Ar useradd
を使うことで、存在するユーザ ID と重複する新しいアカウントを作成するこ
とができるようになります。
-これは普通エラーになって拒否されるはずですが、
+これは普通エラーになって拒否されますが、
.Ql Fl o
-オプションが重複チェックを上書きし、ユーザ ID の重複を
+オプションにより、重複チェックを上書きしユーザ ID の重複を
許すことになります。
これは、同一のユーザが異なるコンテキスト(異なるグループ割り当てや
異なるホームディレクトリ、異なるシェル)でログインするのを許可する
-場合に、各アカウントに基本的に同一のアクセス権を与える場合に便利です。
+場合に、各アカウントに基本的に同一のアクセス権を与える場合に
+使用できます。
.Pp
.Ar useradd
コマンドは
.Ql Fl D
オプションを使うことで新しいユーザとグループのデフォルトも設定できます。
新しいユーザを付け加える代わりに、
.Nm
は設定ファイル
.Pa /etc/pw.conf
に新しいデフォルトのセットを書き込みます。
.Ql Fl D
オプションを使う場合、
.Ql Fl n Ar name
.Ql Fl u Ar uid
を使ってはいけません。そうでないとエラーになります。
.Ql Fl D
を使うと、
.Ar useradd
コマンドのいくつかのコマンドラインスイッチの意味が変わります。
それは:
.Bl -tag -width "-G grouplist"
.It Fl D
設定ファイル
.Pa /etc/pw.conf
( もしくは
.Ql Fl C Ar config
オプションが使われたときは異なる名前の設定ファイル )
の中でのデフォルトの値をセットします。
.It Fl b Ar dir
ユーザホームディレクトリが作成されるルートディレクトリをセットします。
このオプションのデフォルトの値は
.Pa /home
ですが、他の好きなディレクトリにセットできます。
.It Fl e Ar days
デフォルトのアカウントの有効期間を日数でセットします。
.Ql Fl D
を付けずに使われる場合と異なり、引数はアカウントが作成されてから無効に
なるまでの日数を指定する数字でなければなりません。
- 0 という値は、破棄する日付の自動算出を抑制します。
+0 という値は、破棄する日付の自動算出を抑制します。
.It Fl p Ar days
デフォルトのパスワードの有効期間を日数でセットします。
.It Fl g Ar group
新しいユーザのデフォルトのグループをセットします。
.Ql Fl g Ar \&""
-を使って空のグループを指定すると、新しいユーザは自分自身の私的な初期
+を使って空のグループを指定すると、新しいユーザは自分自身の私的なプライマリ
グループ (ログイン名と同じ名前の新しいグループが作成されます) に
割り当てられます。
グループの指定には、名前または uid を引数として与えることができます。
.It Fl G Ar grouplist
新しいユーザが所属するデフォルトのグループ群を指定します。
-これは初期グループとは区別されたグループのセットで、一つの同じグルー
-プを初期グループとこの別グループ群の両方に指定することは
+これはプライマリグループとは別のグループの集合で、一つの
+グループをプライマリグループとこの別グループ群の両方に指定することは
避けなければなりません。
-言い替えると、これらの別グループ群では初期グループ
+言い替えると、これらの別グループ群ではプライマリグループ
.Em 以外の
グループの構成メンバが決められます。
.Ar grouplist
-はコンマ区切りのグループ名もしくは ID 、もしくはそれらの混在で、
+はコンマ区切りのグループ名もしくは ID で、
.Pa /etc/pw.conf
-の中にシンボリック名で保存されます。
+の中にシンボル名で保存されます。
.It Fl L Ar class
-このオプションは、新しいユーザのデフォルトのログインクラスを
+このオプションは、新しいユーザのためのデフォルトのログインクラスを
セットします。
.It Fl k Ar dir
デフォルトの
.Em 雛型
ディレクトリをセットし、
.Nm
がユーザのホームディレクトリを作成するときに、
そこからシェルなどの初期化ファイルのプロトタイプがコピーされます。
.It Fl u Ar min,max , Fl i Ar min,max
これらのオプションは、
.Nm
により作成された新しいアカウントとグループのために割り当てるユーザと
グループの最小の ID と最大の ID をセットします。
デフォルト値はどちらも最小 1000 で最大 32000 です。
.Ar min
.Ar max
はどちらも数字で、 max は min より大きく、両方とも 0 から 32767 の範囲
内でなければなりません。
一般に 100 未満のユーザ ID とグループ ID はシステムに予約されており、
32000 より大きな数も (システム daemon が使う) 特殊な目的に
予約されています。
.It Fl w Ar method
.Ql Fl w
オプションは新しく作成されたユーザアカウントのパスワードをセットするの
に使われるデフォルトの方法を指定します。
.Ar method
は以下のうちの一つです:
.Pp
.Bl -tag -width random -offset indent -compact
.It no
新しく作成されたアカウントでのログインを不可とします。
.It yes
アカウント名をパスワードにします。
.It none
パスワードを空欄にします。
.It random
ランダムパスワードを生成します。
.El
.Pp
-The
.Ql \&random
.Ql \&no
method は、最も安全です。前者の場合、
.Nm
はパスワードを生成し、標準出力に出力します。
このパスワードは、ユーザがそのアカウントにアクセスするパスワードとして
あなたが発行しますが、ユーザ自身が自分のパスワードを指定
(多分ひどい選択です) するものより適切です。
.Ql \&no
method にした場合、パスワードでアクセスできるアカウントを与えるために
スーパユーザが
.Xr passwd 1
を使わなければなりません。
+.It Fl y Ar path
+.Pa /etc/master.passwd
+からの情報を直接 NIS と共有しない場合、
+このオプションは、NIS が使うデータベースのパス名を設定します。
+NIS サーバに対してのみこのオプションを指定するべきでしょう。
.El
.Pp
.Ar userdel
-コマンドには三つしか正しいオプションがありません。
+コマンドには指定可能なオプションは 3 つしかありません。
.Ql Fl n Ar name
.Ql Fl u Ar uid
-オプションには、既に前述の説明があります。
-追加オプション:
+オプションは、既に説明したとおりです。
+追加のオプションは以下のものです。
.Bl -tag -width "-G grouplist"
.It Fl r
このオプションで、
.Nm
はユーザのホームディレクトリとその内容のすべてを削除します。
.Nm
はシステムからファイルを削除するとき、慎重すぎるやり方をとります。
まず、削除されるアカウントの uid がシステムの別のアカウントでも使われ
ていて、パスワードファイルの 'ホーム' ディレクトリが文字
.Ql \&/
で始まる正しいパスであった場合にはファイルは削除されません。
次に、ファイルやディレクトリが実際にそのユーザのものであるか、
誰かの所有であるシンボリックリンクがユーザのホームディレクトリ下にある
場合にだけ削除されます。
最後に、そのユーザの所有であるすべての中身を削除した後、
空のディレクトリだけが削除されます。
更に別の一掃が必要なときは、管理者に任されます。
.El
.Pp
-メールスプールファイルと crontab はユーザ名に無条件に付属しているもの
+メールスプールファイルと crontab は、ユーザ名に無条件に付属しているもの
なので、アカウントが削除されたとき常に削除されます。
.Ar at
コマンドによって処理待ちのキューに入っているジョブも、ユーザの uid
-がユニークである (そのシステムの別のアカウントに使われていない) 場合は
+がユニークであり、かつ、そのシステムの別のアカウントに使われていない場合は
削除されます。
.Pp
.Ar usershow
コマンドは、二種類のフォーマットでアカウントを閲覧できます。
フォーマットは、デフォルトで
.Pa /etc/master.passwd
で使われているものと同じで、パスワードフィールドは
.Ql \&*
に置き換えられています。
.Ql Fl P
オプションが使われると、
.Nm
はより人間に読みやすい形でアカウントの詳細を出力します。
.Ql Fl a
オプションは、現在ファイルにあるすべてのユーザをリストします。
.Pp
.Ar usernext
コマンドは、利用可能な次のユーザ ID とグループ ID を
コロン区切りで返します。
これは、通常
.Nm
を使う対話的なスクリプトやフロントエンド用です。
.Pp
.Sh グループオプション
グループを操作するコマンドには、
-.Ql Fl C Ar config
+.Ql Fl
.Ql Fl q
オプション (前セクションの始めに説明があります) が使えます。
他のグループ関係のコマンド:
.Bl -tag -width "-m newmembers"
.It Fl n Ar name
グループ名を指定します。
.It Fl g Ar gid
グループの ID を数字で指定します。
.Pp
グループ名は uid を意味し、逆も同様なので、アカウント名
と ID フィールドとして、普通どちらか一つを付ければよいのです。
両方を指定する必要があるのは、新しいグループに指定したグループ ID を
設定するとき、または存在するグループの uid を変えたいときだけです。
.It Fl M Ar memberlist
このオプションは、存在するユーザを新しいグループに (groupaddで)
加えたり、存在するメンバリストを (groupmodで) 新しいものに取り換える
もうひとつの方法です。
.Ar memberlist
は正当で、存在するユーザ名または uid のコンマ区切りのリストです。
.It Fl m Ar newmembers
-.Op M
+.Ql Fl M
オプションと同様、このオプションは最初に存在するメンバのリストを
入れ換えることなく、グループに存在するユーザを
.Em 追加
します。
ログイン名またはユーザ ID を使うことができ、重複するユーザは警告無く
-自動的に削除されます。
+削除されます。
.El
.Pp
.Ar groupadd
にも、存在するグループ ID を新しいグループに割り当てる
.Ql Fl o
オプションがあります。
デフォルトの動作は、グループ追加の試みを拒否することになっており、この
オプションはグループ ID の重複チェックを上書きします。
グループ ID を重複させる必要は滅多にありません。
.Pp
.Ar groupmod
コマンドには、一つの追加オプションがあります:
.Pp
.Bl -tag -width "-m newmembers"
.It Fl l Ar name
このオプションで、存在するグループ名を
.Ql \&name
に変更することができます。
新しい名前は存在しないものでなければならず、存在するグループ名と
重複させようとすると拒否されます。
.El
.Pp
.Ar groupshow
へのオプションは
.Ql Fl u Ar uid
の代わりにグループ ID を指定する
.Ql Fl g Ar gid
を付けた
.Ar usershow
と同じです。
.Pp
.Ar groupnext
コマンドは、次に使用できるグループ ID を標準出力に返します。
.Sh 診断
.Nm
は、操作に成功すると EXIT_SUCCESS を返し、そうでなければ
.Xr sysexits 3
により定義された以下の戻り値のうちどれかひとつを返します:
.Bl -tag -width xxxx
.It EX_USAGE
.Bl -bullet -compact
.It
コマンドラインのシンタックスエラー (不適切なキーワード、未定義オプション)。
.El
.It EX_NOPERM
.Bl -bullet -compact
.It
root でないユーザとして、何らかの更新を実行しようとした。
.El
.It EX_OSERR
.Bl -bullet -compact
.It
メモリアロケーションエラー。
.It
パスワードファイル記述子の読み出しエラー
.El
.It EX_DATAERR
.Bl -bullet -compact
.It
コマンドライン上やパスワードファイル記述子の、間違った、または正しくな
いデータや欠落データ。
.It
root アカウントの名前や uid の変更、削除をしようとした。
.El
.It EX_OSFILE
.Bl -bullet -compact
.It
雛型ディレクトリが適切でない、または存在しない。
.It
基本ホームディレクトリが適切でない、または存在しない。
.It
指定したシェルが適切でない、または存在しない。
.El
.It EX_NOUSER
.Bl -bullet -compact
.It
指定されたユーザ、ユーザ ID 、グループ、グループ ID が存在しない。
.It
記録、追加、または更新されたユーザ、グループが予期せず無くなった。
.El
.It EX_SOFTWARE
.Bl -bullet -compact
.It
指定した範囲には未使用グループ ID 、ユーザ ID が残っていない。
.El
.It EX_IOERR
.Bl -bullet -compact
.It
設定ファイルの書き換えができない。
.It
グループやユーザデータベースファイルの更新時エラー。
.It
パスワードまたはグループデータベースファイルの更新時エラー。
.El
.It EX_CONFIG
.Bl -bullet -compact
.It
基本ホームディレクトリが設定されていない。
.El
.El
.Pp
.Sh 注釈
各コマンドに使用可能なオプションの要約として、
.Dl pw [command] help
が使えます。例えば、
.Dl pw useradd help
は useradd 操作に使用できるすべてのオプションをリストします。
+.Pp
+.Nm Pw
+は、passwd ファイルの GECOS フィールド(ユーザの姓名、オフィス、業務用
+電話番号、自宅電話番号のサブフィールドがあります)に 8 ビット文字を
+使うことができます。しかし、8 ビット文字をユーザログイン名やグループ
+名に使うことはできません。8 ビット文字の使用に際して、以下の点に注意して
+ください。
+インターネットとの接続に際しては、メール配送プログラムが 8BITMIME を
+サポートしていることが要求されており、8 ビット文字を含むヘッダは
+7 ビットの quoted-printable フォーマットに変換されてしまいます。
+.Xr sendmail 8
+はこの機能をサポートしています。 GECOS フィールドに 8 ビット文字を
+置く際は、ユーザのデフォルトロケールとデフォルト文字集合といっしょに
+使用するべきで、これらを使用せずに実装してはいけません。
+8 ビット文字の使用は、
+.Xr fingerd 8
+のように、インターネット経由で GECOS フィールドの内容を
+やりとりする他のプログラムにも影響を及ぼす可能性があります。
+TCP/IP クライアントの中には、IRC のように、少数ながらもパスワード
+ファイルに指定されたフルネームをデフォルトで使用するものも
+あります。
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd.new -compact
.It Pa /etc/master.passwd
ユーザデータベース
.It Pa /etc/passwd
Version 7 フォーマットのパスワードファイル
.It Pa /etc/login.conf
ユーザケーパビリティデータベース (user capability database)
.It Pa /etc/group
グループデータベース
.It Pa /etc/master.passwd.new
マスタパスワードファイルの一時コピー
.It Pa /etc/passwd.new
Version 7 パスワードファイルの一時コピー
.It Pa /etc/group.new
グループファイルの一時コピー
.It Pa /etc/pw.conf
pw コマンドのデフォルトオプションファイル
.El
.Sh 関連ファイル
.Xr chpass 1 ,
.Xr passwd 1 ,
.Xr group 5 ,
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr pw.conf 5 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8
.Sh 歴史
.Nm
は、 SYSV の
.Em shadow
サポートで使われていた多くのオプションを模倣して書かれましたが、
.Bx 4.4
オペレーティングシステムに特有のパスワードフィールド、
グループフィールドに合わせて変更されています。また、ほとんどの要素が
一つのコマンドにまとめられています。
diff --git a/ja_JP.eucJP/man/man8/pwd_mkdb.8 b/ja_JP.eucJP/man/man8/pwd_mkdb.8
index bdb84a1f9f..3438563017 100644
--- a/ja_JP.eucJP/man/man8/pwd_mkdb.8
+++ b/ja_JP.eucJP/man/man8/pwd_mkdb.8
@@ -1,146 +1,156 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)pwd_mkdb.8 8.1 (Berkeley) 6/6/93
.\" jpman %Id: pwd_mkdb.8,v 1.3 1997/08/27 12:36:09 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt PWD_MKDB 8
.Os
.Sh 名称
.Nm pwd_mkdb
.Nd パスワードデータベースを構築する
.Sh 書式
.Nm pwd_mkdb
-.Op Fl c
+.Op Fl C
.Op Fl p
.Op Fl d Ar directory
+.Op Fl s Ar cachesize
.Op Fl u Ar username
.Ar file
.Sh 解説
.Nm
は、指定されたファイルから
.Xr db 3
スタイルの、セキュリティのしっかりしたデータベースと
そうでないデータベースの 2 つを構築します。
そして、これらのデータベースは、それぞれ
.Pa /etc/spwd.db
.Pa /etc/pwd.db
にインストールされます。
このファイルは、
.Pa /etc/master.passwd
にインストールされます。このファイルは
正しいフォーマットでなければなりません (
.Xr passwd 5
を参照) 。このシステムで使われるフォーマットは、旧来の
バージョン 7 スタイルのフォーマットとは異なるので注意を要します。
.Pp
オプションは以下の通りです。
.Bl -tag -width flag
-.It Fl c
+.It Fl C
パスワードファイルが正しいフォーマットかどうかをチェックします。
どのファイルも変更、追加、削除を行ないません。
.It Fl p
バージョン 7 スタイルのパスワードファイルを作成し、
.Pa /etc/passwd
にインストールします。
.It Fl d Ar directory
.Pa /etc
の代わりに、指定された先のディレクトリにデータベースを保存します。
.It Fl u Ar username
指定したユーザのレコードだけ更新します。
単一ユーザに対してのみ作用するユーティリティは、このオプションを使用し、
データベース全体を再構築するオーバヘッドを避けることが出来ます。
+.It Fl s Ar cachesize
+ハッシングライブラリが使用するメモリキャッシュの大きさを、
+メガバイト単位で指定します。
+ユーザ数が多いシステムでキャッシュを小さくすると、
+データベースファイルの再構築に耐えがたいほどの長時間を要します、
+おおざっぱな目安では、
+.Nm pwd_mkdb
+の使用メモリ量はここで指定した大きさの 2 倍をちょっと越えたものになります。
+デフォルト値は 2 メガバイトです。
.El
.Pp
2 つのデータベースの違いは、安全なバージョンでは、ユーザのパスワードが
暗号化されて入っており、安全でないバージョンでは、パスワードが ``*'' と
なっていることです。
.Pp
このデータベースは、 C ライブラリパスワードルーチンに使われます (
.Xr getpwent 3
を参照) 。
.Pp
.Nm
は成功したときは 0 を返し、失敗したときは 0 以外を返します。
.Sh ファイル
.Bl -tag -width Pa -compact
.It Pa /etc/pwd.db
セキュリティのないパスワードデータベースファイル
.It Pa /etc/pwd.db.tmp
一時ファイル。
.It Pa /etc/spwd.db
セキュリティのあるパスワードデータベースファイル。
.It Pa /etc/spwd.db.tmp
一時ファイル。
.It Pa /etc/master.passwd
現在のパスワードファイル。
.It Pa /etc/passwd
バージョン 7 フォーマットのパスワードファイル。
.El
.Sh バグ
パスワードファイルのアトミック (atomic; 不可分) な更新が必要なので、
.Nm
は、インストールに
.Xr rename 2
を使います。
しかし、コマンドラインで指定されたファイルが
.Pa /etc
ディレクトリと同じファイルシステム上に存在しなければなりません。
.Pp
複数の人が、
.Nm
を同時に異なるパスワードファイルに対して走らせると、
明らかにレース (race; 競合) になってしまいます。
.Nm
のフロントエンドである
.Xr chpass 1 ,
.Xr passwd 1 ,
.Xr vipw 8
では、この問題を避けるために必要なロック操作を行います。
.Sh 可搬性
以前のバージョンのシステムは、
.Nm pwd_mkdb ,
.Xr mkpasswd 8
と同様のプログラムを持っており、それはパスワードファイルに対して
.Xr dbm 3
スタイルのデータベースを構築しましたが、
これをインストールするために呼ぶプログラムに依存していました。
このプログラムは、以前のプログラムのユーザが機能の変化で
驚かないように名前が変えられました。
.Sh 関連項目
.Xr chpass 1 ,
.Xr passwd 1 ,
.Xr db 3 ,
.Xr getpwent 3 ,
.Xr passwd 5 ,
.Xr vipw 8
diff --git a/ja_JP.eucJP/man/man8/quot.8 b/ja_JP.eucJP/man/man8/quot.8
index 04c3c5836e..3f39bb17f3 100644
--- a/ja_JP.eucJP/man/man8/quot.8
+++ b/ja_JP.eucJP/man/man8/quot.8
@@ -1,103 +1,103 @@
.\" Copyright (C) 1994 Wolfgang Solfrank.
.\" Copyright (C) 1994 TooLs GmbH.
.\" 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 TooLs GmbH.
.\" 4. The name of TooLs GmbH may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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: quot.8,v 1.3.4.4 1998/07/18 11:12:14 jkh Exp %
+.\" %Id: quot.8,v 1.9 1998/05/13 07:57:49 phk Exp %
.\" jpman %Id: quot.8,v 1.3 1997/07/22 16:55:54 horikawa Stab %
.\"
.Dd February 8, 1994
.Dt QUOT 8
.Os BSD 4
.Sh 名称
.Nm quot
.Nd 各ユーザの利用しているディスク領域を表示する
.Sh 書式
.Nm quot
.Op Fl acfhknv
.Op Ar filesystem ...
.Sh 解説
.Nm quot
各ローカルユーザのディスク利用に関する統計情報を集めるために使われます。
.Pp
以下のオプションが利用可能です。
.Bl -tag -width indent
.It Fl a
全てのマウントされたファイルシステムに関する統計情報を与えます。
.It Fl c
一行毎に 3 つのカラムを使って、ファイルあたりのブロック数と、
この分類に含まれるファイルの数と、このサイズ以下の
ファイルのブロック総数を集計します。
.It Fl f
個々のユーザに対して、ファイル数と利用されているスペースを表示します。
.It Fl h
個々のファイルのサイズに基づいて、ブロック数を推定します。
これは、 ( ファイル中の穴を計算しないので ) 正しい結果を与えないうえ、
高速でもないので、お勧めしません。
.It Fl k
デフォルトでは、全てのサイズは 512 バイト / ブロックで報告されます。
.Fl k
オプションは、報告される値をキロバイト単位にします。
.It Fl n
標準入力から inode の一覧を (いくつかのオプションデータを加えて 1 行で)
与えることで、個々のファイルに対して持ち主を
( 入力行で与えられた残りの情報と共に ) 表示します。
これは歴史的にはパイプ中で以下のように使われました。
.Bd -literal -offset indent
ncheck filesystem | sort +0n | quot -n filesystem
.Ed
.Pp
ファイルの報告とその持ち主を手に入れます。
.It Fl v
デフォルトの出力に加えて、30, 60, 90 日間アクセスされていないファイルの数
を報告します。
.El
.Sh 環境変数
.Bl -tag -width BLOCKSIZE
.It Ev BLOCKSIZE
環境変数
.Ev BLOCKSIZE
が設定されており、
.Gl k
オプションが指定されていない時、ブロックカウントはこのブロックサイズの単位
で表示されます。
.El
.Sh バグ
FreeBSD では、 ncheck は存在しません :-)
.Sh 関連項目
.Xr df 1 ,
.Xr quota 1 ,
.Xr getmntinfo 3 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh 歴史
この
.Nm quot
の実装は、
.An Wolfgang Solfrank
/ TooLs GmbH
によって行われました。
diff --git a/ja_JP.eucJP/man/man8/quotacheck.8 b/ja_JP.eucJP/man/man8/quotacheck.8
index 482191e2ce..72dfb30d14 100644
--- a/ja_JP.eucJP/man/man8/quotacheck.8
+++ b/ja_JP.eucJP/man/man8/quotacheck.8
@@ -1,150 +1,150 @@
.\" Copyright (c) 1983, 1990, 1991, 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.
.\"
.\" @(#)quotacheck.8 8.1 (Berkeley) 6/5/93
-.\" %Id: quotacheck.8,v 1.2.2.1 1998/07/17 20:13:47 jkh Exp %
+.\" %Id: quotacheck.8,v 1.3 1998/07/15 06:48:50 charnier Exp %
.\" jpman %Id: quotacheck.8,v 1.2 1997/05/19 05:05:46 mitchy Stab %
.\"
.Dd June 5, 1993
.Dt QUOTACHECK 8
.Os BSD 4.2
.Sh 名称
.Nm quotacheck
.Nd ファイルシステムの割り当て制限の一貫性の検査を行う
.Sh 書式
.Nm quotacheck
.Op Fl g
.Op Fl u
.Op Fl v
.Ar filesystem
.Ar
.Nm quotacheck
.Op Fl g
.Op Fl u
.Op Fl v
.Fl a
.Sh 解説
.Nm
は各ファイルシステムを調べ、現在のディスク使用量のテーブルを作成し、こ
れをディスクに保存されている割り当て制限情報ファイルと比較します。違い
が発見された場合、割り当て制限情報ファイルとシステムが持っている割り当
て制限情報のコピー(アクティブなファイルシステムを検査した場合)を更新し
ます。デフォルトでは、ユーザ割り当て制限とグループ割り当て制限の両方が
検査されます。
.Pp
使用可能なオプションは以下の通りです:
.Bl -tag -width indent
.It Fl a
ファイルシステム名の代りに
指定されると、
.Nm
は、
.Pa /etc/fstab
に読み書き可能で割り当て制限ありと設定されているファイルシステムをすべ
て検査します。デフォルトでは、
.Pa /etc/fstab
に書かれている種類の割り当て制限のみを検査します。
.It Fl g
.Pa /etc/fstab
にグループ割り当て制限が指定してあるもののみ検査します。
.It Fl u
.Pa /etc/fstab
にユーザ割り当て制限が指定してあるもののみ検査します。
.It Fl v
計算した値と記録されていた割り当て制限ファイルとの違いを報告します。
.El
.Pp
.Fl g
.Fl u
の両方を指定すると、デフォルトの動作と同じになります。
ファイルシステム上では、
.Xr fsck 8
と同様に
.Pa /etc/fstab
の中のパス番号を使って、並行して複数のファイルシステムを検査します。
.Pp
通常
.Nm
は何も表示しません。
.Pp
.Nm
は、チェックされるファイルシステムのルートディレクトリに割り当て制限を
書いたファイル
.Pa quota.user
.Pa quota.group
があるものとして動作します。このデフォルトのファイル名は
.Pa /etc/fstab
により変更することができます。もし、割り当て制限を書いたファイル
がなければ、
.Nm
が作成します。
.Pp
.Nm
は、通常
.Pa /etc/rc.local
からブート時に、
.Xr quotaon 8
が割り当て制限を開始する前に実行されます(
.Xr rc 8
参照)。
.Pp
.Nm
は、各ユーザごとのディスク使用量を計算するために、rawデバイス
をアクセスします。そのため、
.Nm
の実行中にチェックされるファイルシステムを使用してはいけません。
.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 edquota 8 ,
.Xr fsck 8 ,
.Xr quotaon 8 ,
.Xr repquota 8
.Sh 歴史
.Nm
.Bx 4.2
で追加されました。
diff --git a/ja_JP.eucJP/man/man8/rarpd.8 b/ja_JP.eucJP/man/man8/rarpd.8
index a18c85a7dc..c749819a20 100644
--- a/ja_JP.eucJP/man/man8/rarpd.8
+++ b/ja_JP.eucJP/man/man8/rarpd.8
@@ -1,121 +1,121 @@
-.\" @(#) %Id: rarpd.8,v 1.3.2.3 1997/10/14 06:39:27 charnier Exp % (LBL)
+.\" @(#) %Id: rarpd.8,v 1.7 1997/10/13 11:03:34 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.
.\" jpman %Id: rarpd.8,v 1.2 1997/04/12 08:52:47 yugawa Stab %
.\"
.Dd July 19, 1993
.Dt RARPD 8
.Os
.Sh 名称
.Nm rarpd
.Nd 逆 ARP デーモン
.Sh 書式
.Nm rarpd
.Op Fl afsv
.Op Ar interface
.Sh 解説
.Nm rarpd
は、
.Ar interface
に対応するイーサネットについて、逆 ARP 要求に対するサービスを提供します。
要求を受け付けると、
.Nm
はイーサネットアドレスより IP アドレス を、ホスト名を経由して対応づけます。
ホスト名に関しては、
.Xr ethers 5
データベースと
.Xr hosts 5
データベースの両者に登録されている必要があります。もしホスト名がどちらにも登録
されてない場合、変換処理は実行されず、返答も行われません。
デフォルトでは、(
.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
フラグが指定された場合は、この制約はなくなります(下記参照)。
通常の動作においては、
.Nm
は自分自身を fork し、バックグラウンドプロセスとして
実行します。例外およびエラーについては、発生事象を
.Xr syslog 3
を通じて報告します。
.Sh オプション
.Bl -tag -width indent
.It Fl a
システムに接続されているすべてのイーサネットについて listen() を行ないます。
本オプションが指定されてない場合は、ネットワークインタフェースを指定する必要が
あります。
.It Fl f
.Nm rarpd
をフォアグラウンドプロセスとして起動します。
.It Fl s
.Pa /tftpboot/\fIipaddr\fP*
のあるなしにかかわらず、
イーサネットアドレスと IP アドレスの対応付けがあれば全ての RARP 要求に対して
応答します。
.It Fl v
詳細なログを出力します。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/ethers -compact
.It Pa /etc/ethers
.It Pa /etc/hosts
.It Pa /tftpboot
.El
.Sh 関連項目
.Xr bpf 4
.Pp
RFC 903: Finlayson, R.; Mann, T.; Mogul, J.C.; Theimer, M. Reverse Address
Resolution Protocol. 1984 June; 4 p.
.Sh 作者
.An Craig Leres Aq leres@ee.lbl.gov
および
.An Steven McCanne Aq mccanne@ee.lbl.gov .
Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
.Sh バグ
.Nm
は、
.Pa /etc/ethers
で発見されたホスト名の解決に DNS を使用する事も出来ます。
このホスト名が DNS には登録されていないが、
.Pa /etc/hosts
には存在する場合、
DNS への問い合わせのため、RARP の応答に時間がかかる事になります。
この様な場合は、
.Pa /etc/host.conf
にて
.Pa /etc/hosts
を先に検索するように設定する事をお薦めします。
diff --git a/ja_JP.eucJP/man/man8/rbootd.8 b/ja_JP.eucJP/man/man8/rbootd.8
index 0cd1d37c9c..df8b949daf 100644
--- a/ja_JP.eucJP/man/man8/rbootd.8
+++ b/ja_JP.eucJP/man/man8/rbootd.8
@@ -1,159 +1,159 @@
.\" Copyright (c) 1988, 1992 The University of Utah and the Center
.\" for Software Science (CSS).
.\" Copyright (c) 1992, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Center for Software Science of the University of Utah Computer
.\" Science Department. CSS requests users of this software to return
.\" to css-dist@cs.utah.edu any improvements that they make and grant
.\" CSS redistribution rights.
.\"
.\" 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.
.\"
-.\" @(#)rbootd.8 8.2 (Berkeley) 12/11/93
-.\" %Id: rbootd.8,v 1.3.2.1 1997/12/16 07:17:43 charnier Exp %
+.\" from: @(#)rbootd.8 8.2 (Berkeley) 12/11/93
+.\" %Id: rbootd.8,v 1.8 1997/11/24 07:33:41 charnier Exp %
.\"
.\" Utah $Hdr: rbootd.man 3.1 92/07/06$
.\" Author: Jeff Forys, University of Utah CSS
.\" jpman %Id: rbootd.8,v 1.2 1997/03/31 14:57:40 horikawa Stab %
.\"
.Dd "December 11, 1993"
.Dt RBOOTD 8
.Os
.Sh 名称
.Nm rbootd
.Nd HP 社製ワークステーションのブート要求に対応するブートサーバ
.Sh 書式
.Nm rbootd
.Op Fl ad
.Op Fl i Ar interface
.Op config_file
.Sh 解説
.Nm
ユーティリティは、LAN 上の Hewlett-Packard 社製ワークステーションからの
ブート要求に対するサービスを行います。
全てのブートファイルはブートファイル用のディレクトリになければならず、
さらに、もしクライアントがブートリクエスト中にパス情報をつけていた場合は、
処理する前にそのパスは取り除かれます。デフォルトでは、
.Nm
は, その設定ファイル中にリストされているマシンからの
リクエストにのみ応答します。
.Pp
オプションとしては以下のものがあります:
.Bl -tag -width indent
.It Fl a
どのようなマシンからのブート要求にも応えます。このオプションが設定された
場合は、設定ファイルは無視されます。
.It Fl d
.Nm
をデバッグモードで起動します。受信および送信
されたパケットが端末に表示されるようになります。
.It Fl i Ar interface
指定したインタフェースに対してサービスを行います。
もし指定されていない場合には、
.Nm
はループバック以外のもっとも小さい番号の使用可能なインタフェースを
システムインタフェースリストから探します。
早いもの順で選ぶので、組合せはバラバラになります。
.El
.Pp
.Ar config_file
を指定すれば、
.Nm
はデフォルトの設定ファイルではなく、こちらのファイルを
使用するようになります。
.Pp
設定ファイルは、各行に個々のマシンの設定を記述した
テキストファイルです。行の先頭は各マシンの Ethernet アドレスで始め、
そのあとにブートファイルの名前をオプションとして記述します。
Ethernet アドレスは 6 オクテッドの値を 16 進数で記述し、
各間を ``:'' で区切ります。
ブートファイルの名前は、ブートファイルディレクトリにあるファイルの名前です。
Ethernet アドレスとブートファイルの名前の間は、空白もしくはコンマで区切ら
なければなりません。
行中の ``#'' より後は無視します。
.Pp
設定ファイルの例を以下に示します:
.Bl -column 08:00:09:0:66:ad SYSHPBSD,SYSHPUX "# vandy (anything)"
.It #
.It # ethernet addr boot file(s) comments
.It #
.It 08:00:09:0:66:ad SYSHPBSD # snake (4.3BSD)
.It 08:00:09:0:59:5b # vandy (anything)
.It 8::9:1:C6:75 SYSHPBSD,SYSHPUX # jaguar (either)
.El
.Pp
.Nm
のログやエラーメッセージは
.Xr syslog 3
を使っています。スタートアップメッセージはつねにログに記録され、
致命的なエラー(もしくは
.Nm
を殺すようなシグナル)
が起こった場合にはサーバの終了メッセージもログに残します。
一般的には、致命的ではないエラーはそれによってひき起こされる動作を
無視するといった形で扱われます。
(例えば設定ファイル中の無効な Ethernet アドレスは
その行が無効になる原因となります)。
.Pp
以下のシグナルを
.Xr kill 1
コマンドを使ってサーバプロセスに送ることで、
サーバプロセスに影響を与えることができます:
.Bl -tag -width SIGUSR1 -offset -compact
.It SIGHUP
アクティブな接続を切り、リコンフィグします。
.It SIGUSR1
デバッグモードをオンにします。すでにオンであれば何もしません。
.It SIGUSR2
デバッグモードをオフにします。すでにオフであれば何もしません。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/libexec/rbootd -compact
.It /dev/bpf#
パケットフィルタのデバイス
.It /etc/rbootd.conf
設定ファイル
.It /tmp/rbootd.dbg
デバッグ出力
.It /usr/mdec/rbootd
ブートファイルを置くディレクトリ
.It /var/run/rbootd.pid
.Nm
のプロセス ID
.El
.Sh 関連項目
.Xr kill 1 ,
.Xr socket 2 ,
.Xr signal 3 ,
.Xr syslog 3
.Sh バグ
同一インタフェース上に複数のサーバが走った場合、
同一のパケットに対して各サーバが応答してしまいます。
diff --git a/ja_JP.eucJP/man/man8/rc.8 b/ja_JP.eucJP/man/man8/rc.8
index 970d67d576..c5d977ea15 100644
--- a/ja_JP.eucJP/man/man8/rc.8
+++ b/ja_JP.eucJP/man/man8/rc.8
@@ -1,154 +1,158 @@
.\" 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.
.\"
.\" @(#)rc.8 8.2 (Berkeley) 12/11/93
+.\" %Id: rc.8,v 1.4 1998/02/26 02:44:17 jkh Exp %
.\" jpman %Id: rc.8,v 1.3 1997/08/16 13:37:00 horikawa Stab %
-.\" %Id: rc.8,v 1.2.2.2 1998/02/26 02:45:22 jkh Exp %
.\"
.Dd December 11, 1993
.Dt RC 8
.Os BSD 4
.Sh 名称
.Nm rc
.Nd 自動リブート処理とデーモン起動のためのコマンドスクリプト
.Sh 書式
.Nm rc
.Nm rc.conf
.Nm rc.conf.local
.Nm rc.serial
.Nm rc.pccard
.Nm rc.network
.Nm rc.firewall
.Nm rc.<arch>
.Nm rc.local
+.Nm rc.shutdown
.Sh 解説
.Nm rc
は自動リブート処理 (他のスクリプトを呼びます) を制御するコマンドスクリプトで、
.Nm rc.local
は特定サイトに特化したコマンドを記述するスクリプトです。
.Nm rc.conf
は rc ファイル群から参照されるグローバルなシステム構成情報を持ち、
.Nm rc.conf.local
はローカルなシステム構成情報を持ちます。
.Pp
+.Nm Rc.shutdown
+は、システムシャットダウンにおいて実行されることが必要なコマンドを持つ
+コマンドスクリプトです。
.Pp
自動リブート処理の進行中、
.Nm rc
.Em autoboot
を引数として起動されます。
.Nm rc
はその最初の部分で
.Xr fsck 8
.Fl p
オプション付きで実行し、
前回のシステムシャットダウンによる些細なディスク不整合を全て「修繕」し、
ハードウェアあるいはソフトウェアの障害から生じた
重大なディスク不整合を調べます。
この自動チェックと修繕がうまくいくと、
.Nm rc
の第二部が開始します。
.Pp
.Nm rc
の第二部は
自動リブート処理が成功した後および
シングルユーザモードのシェルが終了して
.Nm rc
が起動された場合(
.Xr init 8
参照)に実行されます。
この第二部はシステムの全てのデーモンを起動し、
エディタファイルを保存し、
一時ディレクトリ
.Pa /tmp
をクリアします。
.Pp
.Nm rc.serial
は、シリアルデバイスの特殊な構成があればそれを設定するために使用します。
.Pp
.Nm rc.pccard
は PC カードを有効にするために使用します。
.Pp
.Nm rc.network
はネットワークを起動するために使用します。
ネットワークの起動は 3 パスで行われます。
最初のパスは、ホスト名とドメイン名を設定し、
ネットワークインタフェースを構成し、
IP ファイアウォール規則があれば有効にし、ルーティングを有効にします。
第 2 パスは、ほとんどのネットワーク関連デーモンの起動を行います。
第 3 パスは、NFS, amd, rwhod, Kerberos, マルチキャストルーティングデーモンの
起動を行います。
.Pp
.Nm rc.firewall
は、カーネルベースのファイアウォールサービスの規則の設定に使用されます。
.Pp
.Bl -tag -width "fBfilename" -compact -offset indent
.It open
全入力を許可します。
.It client
このマシンのみを保護しようとします。
.It simple
全ネットワークを保護しようとします。
.It closed
lo0 以外の全 IP サービスを無効にします。
.It UNKNOWN
ファイアウォール規則のロードを無効にします。
.It filename
指定したファイル名の規則をロードします (フルパス指定が必要)。
.El
.Pp
.Nm rc.<arch>
はアーキテクチャ依存のプログラムを起動します。
.Pp
.Nm rc.local
が起動されるのは、上記スクリプトの後ですが、残りの
.Nm rc
ファイルが完了する前です。
現在、
.Nm rc.local
がすることは、バージョン情報を
.Pa /etc/motd
に設定することだけです。
.Pp
伝統に従い、スタートアップファイルは
.Pa /etc
ディレクトリに置かれます。
.Sh 関連項目
.Xr rc.conf 5 ,
.Xr init 8 ,
.Xr reboot 8 ,
.Xr savecore 8
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
で登場しました。
diff --git a/ja_JP.eucJP/man/man8/reboot.8 b/ja_JP.eucJP/man/man8/reboot.8
index ea42843078..fb75a5487f 100644
--- a/ja_JP.eucJP/man/man8/reboot.8
+++ b/ja_JP.eucJP/man/man8/reboot.8
@@ -1,111 +1,111 @@
.\" 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 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.
.\"
.\" @(#)reboot.8 8.1 (Berkeley) 6/9/93
-.\" %Id: reboot.8,v 1.4.2.1 1998/07/17 20:13:47 jkh Exp %
+.\" %Id: reboot.8,v 1.5 1998/07/15 06:51:37 charnier Exp %
.\" jpman %Id: reboot.8,v 1.3 1997/06/06 11:35:27 bobson Stab %
.\"
.Dd June 9, 1993
.Dt REBOOT 8
.Os
.Sh 名称
.Nm reboot ,
.Nm halt
.Nd
システムを停止し、再起動する
.Sh 書式
.Nm halt
.Op Fl nqp
.Nm reboot
.Op Fl nqp
.Nm fasthalt
.Op Fl nqp
.Nm fastboot
.Op Fl nqp
.Sh 解説
.Nm halt
.Nm
は、ファイルシステムのキャッシュをディスクへ書き出し、
すべての実行中のプロセスに SIGTERM を
(そして、それに続いて SIGKILL を) 送ります。
そして、システムを停止(
.Nm halt
) したり、再起動 (
.Nm
) したりします。
その動作はログインのアカウンティング・ファイルに記入されます。
それはログインのアカウンティング・ファイルへのシャットダウン記録の書き出し
を含んでいます。
.Pp
オプションとしては以下のものがあります。
.Bl -tag -width indent
.It Fl n
システムのキャッシュがディスクへ書き出されません。
このオプションは使用すべきではありません。
.It Fl q
システムは、とにかく速く停止されたり、
再起動されたりします。そしてシステムのキャッシュの破棄だけが行われます。
このオプションは使用すべきではありません。
.It Fl p
システムは可能であれば電源を切ります。
これは、もちろん
.Nm
でも、
.Nm halt
と同じように振る舞うということです。
.El
.Pp
.Nm fasthalt
.Nm fastboot
は、それぞれ
.Nm halt
.Nm
の単なる別名にすぎません。
.Pp
通常、システムの停止や、再起動を要する場合には、ユーザーに事前警告を与える
.Xr shutdown 8
を使用します。
.Xr shutdown 8
は、ログインしているユーザーにシステム停止の警告を与えます。
.Pp
.Sh 関連項目
.Xr utmp 5 ,
.Xr boot 8 ,
.Xr shutdown 8 ,
.Xr sync 8
.Sh 歴史
.Nm
コマンドは
.At v6
で追加されました。
diff --git a/ja_JP.eucJP/man/man8/restore.8 b/ja_JP.eucJP/man/man8/restore.8
index 3f8273fb7c..69299ba39b 100644
--- a/ja_JP.eucJP/man/man8/restore.8
+++ b/ja_JP.eucJP/man/man8/restore.8
@@ -1,421 +1,421 @@
.\" Copyright (c) 1985, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)restore.8 8.4 (Berkeley) 5/1/95
-.\" %Id: restore.8,v 1.5.2.5 1998/08/12 06:51:28 charnier Exp %
+.\" %Id: restore.8,v 1.13 1998/07/28 06:20:11 charnier Exp %
.\"
.\" jpman %Id: restore.8,v 1.2 1997/03/31 14:58:10 horikawa Stab %
.Dd May 1, 1995
.Dt RESTORE 8
.Os BSD 4
.Sh 名称
.Nm restore
.Nd "dump コマンドで作ったバックアップからファイルやファイルシステムをリストアする"
.Sh 書式
.Nm restore
.Fl i
.Op Fl chkmuvy
.Op Fl b Ar blocksize
.Op Fl f Ar file
.Op Fl s Ar fileno
.Nm restore
.Fl R
.Op Fl ckuvy
.Op Fl b Ar blocksize
.Op Fl f Ar file
.Op Fl s Ar fileno
.Nm restore
.Fl r
.Op Fl ckuvy
.Op Fl b Ar blocksize
.Op Fl f Ar file
.Op Fl s Ar fileno
.Nm restore
.Fl t
.Op Fl chkuvy
.Op Fl b Ar blocksize
.Op Fl f Ar file
.Op Fl s Ar fileno
.Op file ...
.Nm restore
.Fl x
.Op Fl chkmuvy
.Op Fl b Ar blocksize
.Op Fl f Ar file
.Op Fl s Ar fileno
.Op file ...
.Pp
.in -\\n(iSu
(
.Bx 4.3
オプション文法はバックワードコンパチビリティのために実装されていますが、
ここには記載していません。)
.Sh 解説
.Nm restore
.Xr dump 8
と逆の動作を行います。
ファイルシステムの完全なリストアを行うには、
まず、フルバックアップのリストアから始め、
続いてその上にインクリメンタルバックアップをリストアします。
フルまたは部分バックアップから、単一のファイルやディレクトリの部分ツリー
のみをリストア
することも可能です。
.Nm restore
は、ネットワークを介した動作も可能です。これを行うには、以下で説明されている
.Fl f
フラグを参照してください。
コマンドに与えるその他の引数は、リストアされるファイルを指定するための
ファイルやディレクトリ名です。
.Fl h
フラグを指定していない限り(下記参照)、ディレクトリ名を指定することで、
そのディレクトリ中のファイルや
(再帰的に) サブディレクトリを指定することになります。
.Pp
以下のいずれか 1 つ(複数指定不可)のフラグが必要です:
.Bl -tag -width Ds
.It Fl i
バックアップからの対話的なリストアを行います。バックアップからディレクトリ情報
を読み取ると、
.Nm restore
はユーザに展開すべきファイルを選択させるために、
シェルに似たインタフェースでコマンドを受け付けます。
以下のコマンドが使用可能です。引数が必要なコマンドにおいて引数を省略すると、
デフォルトとしてカレントディレクトリが使われます。
.Bl -tag -width Fl
.It Ic add Op Ar arg
カレントディレクトリまたは指定した引数のファイルを、リストアするファイルの
リストに付け加えます。ディレクトリ名を指定した場合には、そのディレクトリの下の
すべてのファイルが展開リストに加えられます (コマンドラインに
.Fl h
フラグが指定されなかった場合)。
.Ic ls
でファイルのリストを表示するときに、展開リストに含まれているファイルの頭
には ``*'' がつけられています。
.It Ic \&cd Ar arg
カレントディレクトリを指定したディレクトリに移動します。
.It Ic delete Op Ar arg
カレントディレクトリまたは引数で指定したファイル名のファイルを、展開する
ファイルのリストから削除します。
ディレクトリ名を指定した場合には、そのディレクトリの下のすべてのファイルが
展開リストから削除されます (コマンドラインに
.Fl h
フラグが指定されなかった場合)。
ディレクトリ中のほとんどのファイルを展開する場合には、
ディレクトリ全体を展開リストに加えたあとで不要なファイルだけを
削除するのが一番便利なやりかたです。
.It Ic extract
展開ファイルリストにあるすべてのファイルをバックアップから展開します。
.Nm restore
は、どのボリュームをマウントしたいかをユーザにたずねます。
数個のファイルのみを展開するのにもっとも早い方法は、最終ボリュームから開始して
最初のボリュームへと戻ることです。
.It Ic help
利用できるコマンドの簡単な説明を表示します。
.It Ic \&ls Op Ar arg
カレントディレクトリまたは指定されたディレクトリのリストを表示します。
ディレクトリ名の後ろには ``/'' が付け加えられ、展開リストにあるファイルの前に
は ``*'' が加えられます。冗長フラグがセットされていた場合には、
各ディレクトリエントリにあわせて inode 番号も表示されます。
.It Ic pwd
カレントディレクトリのフルパス名を表示します。
.It Ic quit
.Nm restore
コマンドを中断します。展開リストに何かファイルがあったとしても終了します。
.It Ic setmodes
展開リストにあるすべてのディレクトリの所有者、モード、時刻がセットされる
のみで、バックアップからはなにも展開されません。
これは、リストアを途中で中断してしまった時の後始末に有用です。
.It Ic verbose
冗長フラグ
.Fl v
の意味を反転します。冗長フラグがセットされている場合には、
.Ic ls
コマンドは、すべてのエントリに対してその inode 番号を表示します。
また、
.Nm restore
コマンドは、ファイルを展開するたびにその情報を表示します。
.El
.It Fl R
.Nm restore
は、
フルリストアを再開するために、マルチボリュームのテープのうち特定のものを
リストアすることを要求します
(下記
.Fl r
フラグを参照)。
これはリストア動作を中断したときに使われます。
.It Fl r
リストア(ファイルシステムの再構築)を行います。
レベル 0 バックアップのリストアの前には、リストア先となるファイルシステムは
.Xr newfs 8
で初期化しておき、マウントして、そのディレクトリへ
.Xr cd
で移動しておく必要があります。
レベル 0 バックアップのリストアに成功したら、
.Fl r
フラグを指定することで、
それに加えて必要なインクリメンタルバックアップをリストアすることができます。
.Fl r
フラグは対話的なファイルリストアを行わないため、注意して扱わないと
損害を与えることがあります (ディスクは言うに及ばず、精神的にも)。
次のように実行します:
.Bd -literal -offset indent
newfs /dev/rrp0g eagle
mount /dev/rp0g /mnt
cd /mnt
restore rf /dev/rst8
.Ed
.Pp
.Nm restore
は、インクリメンタルリストアのための情報を、ルートディレクトリの
.Pa restoresymtable
に記録します。このファイルは、すべての増分をリストアしたあとで削除すべきです。
.Pp
.Nm restore
を、
.Xr newfs 8
.Xr dump 8
と組み合わせることで、ファイルシステムのサイズやブロックサイズといった
パラメータを変更するのに使うことができます。
.It Fl t
指定したファイル名のファイルがバックアップ中にあれば、その名前を表示します。
ファイル名引数がない場合にはルートディレクトリを表示するため、
.Fl h
フラグを指定していない限り、バックアップ中のすべてのファイルを表示することに
なります。
このフラグは、古くからあった
.Xr dumpdir 8
のかわりの機能を持つことに注意してください。
.ne 1i
.It Fl x
メディアから、指定したファイルが読み出されます。
指定ファイルがディレクトリで、そのディレクトリの内容がバックアップ中に存在し、
かつ
.Fl h
フラグが指定されていないときには、ディレクトリの内容が再帰的に展開されます。
(可能であれば) ファイルの所有者、修正日時、モードもリストアされます。
もし引数が与えられていなければルートディレクトリを展開するため、
.Fl h
フラグを指定していない限り、結果的にバックアップ全体が展開されます。
.El
.Pp
以下の追加オプションを指定可能です:
.Bl -tag -width Ds
.It Fl b Ar blocksize
ダンプレコードあたりのキロバイト数です。
.Fl b
が指定されないときは、
.Nm restore
はメディアのブロックサイズを動的に求めようとします。
.It Fl c
通常
.Nm
は、ダンプ対象のファイルシステムフォーマットが
新しいか古い(4.4 以前)かを動的に決定します。
.Fl c
フラグはこのチェックを無効にし、
古いフォーマットのダンプからのみ読み込むことを許します。
.It Fl f Ar file
バックアップを
.Ar file
から読み込みます;
.Ar file
は、
.Pa /dev/rmt12
(テープドライブ)や
.Pa /dev/rsd1c
(ディスクドライブ)といったスペシャルデバイスファイル、
通常のファイル、
.Ql Fl
(標準入力)のいずれかです。
ファイル名が
.Dq host:file
.Dq user@host:file
という形式である場合は、
.Nm restore
.Xr rmt 8
を用いて指定したファイルを指定のホストから読み取ります。
.Pp
.It Fl k
リモートテープサーバとの通信時に Kerberos 認証を使用します
(
.Nm restore
のコンパイル時に有効にされている場合のみ使用可能です。)
.Pp
.It Fl h
ディレクトリ名を指定された場合に、その中のファイルではなく、
ディレクトリそのものを展開するようにします。
これによって、ダンプからディレクトリのサブツリーを階層的に
展開してしまうことを防ぎます。
.It Fl m
展開を、ファイル名ではなく inode 番号によって行います。
これは数個のファイルのみを展開したい場合で、ファイルの完全なパス名を
再生することを防ぎたい場合に有用です。
.It Fl s Ar fileno
マルチファイルテープの
.Ar fileno
から読みます。
ファイル番号は 1 から始まります。
.It Fl u
特定のタイプのファイルを作成する時に、
リストア先ディレクトリに既に同名のファイルが存在する場合には、
リストアは警告診断を生成し得ます。
この動作を抑制するために、
.Fl u
(アンリンク) フラグを指定すると、リストアは古いエントリを作成してから
新しいエントリを作成しようとします。
.It Fl v
普通、
.Nm restore
は何も表示せずにリストア動作を行います。
.Fl v
(verbose, 冗長)フラグを指定すると、
扱うファイルのタイプとファイル名が表示されます。
.It Fl y
エラーが発生したときに、リストア動作を中断するかどうかの問い合わせを
行いません。
これによって、不良ブロックをスキップして、可能なかぎり動作を継続します。
.El
.Sh 診断
リードエラーが発生するとメッセージを表示します。
もし、
.Fl y
が指定されているか、あるいはユーザが
.Ql y
の応答をしたならば、
.Nm restore
はリストアを続行しようとします。
.Pp
バックアップが 1 巻より多くのテープボリュームに格納されていたならば、
.Nm restore
は次のボリュームをマウントすべき時点でそれをユーザに知らせます。
もし、
.Fl x
あるいは
.Fl i
フラグが指定されていたら、
.Nm restore
は、ユーザがマウントしたいのはどのボリュームであるかを問い合わせます。
少数のファイルを最も早く展開する方法は、最終ボリュームから開始して、
最初のボリュームへ向けて作業を進めることです。
.Pp
.Nm restore
は数多くの一貫性検査を行っていて、それを表示します。
ほとんどの検査結果の表示は自明であるか、あるいは「決して起こらない」ものです。
良くあるエラーを以下に示します。
.Pp
.Bl -tag -width Ds -compact
.It Converting to new file system format.
古い形式のファイルシステムで作られたダンプテープがロードされました。
その場合、自動的に新しいファイルシステムの形式に変換されます。
.Pp
.It <filename>: not found on tape
指定したファイル名はテープのディレクトリには記録されていましたが、
テープのなかに本体が見当たりませんでした。
このような事態が起きるのは、ファイルを探している間にテープのリードエラー
が発生した場合や、稼働中のファイルシステムにおいて作成したダンプテープ
を使った場合です。
.Pp
.It expected next file <inumber>, got <inumber>
ディレクトリに記録されていなかったファイルが示されます。
稼働中のファイルシステムにおいて作成したダンプを使った場合に発生することが
あります。
.Pp
.It Incremental dump too low
インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタルダンプ
よりも以前に書かれたものであったり、増分レベルが低すぎるダンプがロード
された場合に表示されます。
.Pp
.It Incremental dump too high
インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタルダンプ
の続きの範囲から開始していなかったり、あるいは増分レベルが高すぎる
ダンプがロードされた場合に表示されます。
.Pp
.It Tape read error while restoring <filename>
.It Tape read error while skipping over inode <inumber>
.It Tape read error while trying to resynchronize
テープ(あるいはその他の媒体)のリードエラーが発生しました。
ファイル名が表示されていたならば、その内容はおそらく部分的に不正なものに
なっているでしょう。
もし inode がスキップされたり、テープの resynchronize(再同期)が試みら
れていたならば、展開されたファイルには問題はありません。しかし、テープ
上からいくつかのファイルを見付けることができないかもしれません。
.Pp
.It resync restore, skipped <num> blocks
ダンプのリードエラーが発生した後に、おそらく
.Nm restore
は自分自身で再同期をとらなければなりません。
このメッセージはスキップしたブロックの個数を表示します。
.El
.Sh 関連ファイル
.Bl -tag -width "./restoresymtable" -compact
.It Pa /dev/rst0
デフォルトのテープドライブ
.It Pa /tmp/rstdir*
テープ中のディレクトリを保持するファイル
.It Pa /tmp/rstmode*
ディレクトリの所有者、モード、タイムスタンプ
.It Pa \&./restoresymtable
インクリメンタルリストア間で渡される情報
.El
.Sh 関連項目
.Xr dump 8 ,
.Xr ft 8 ,
.Xr mount 8 ,
.Xr newfs 8 ,
.Xr rmt 8
.Sh バグ
使用中のファイルシステムから作成されたダンプから
インクリメンタルリストアを行うと、誤動作を起こすことがあります。
.Pp
フルリストアの終了後にはレベル 0 ダンプを行う必要があります。
.Nm restore
はユーザコードで動作するので、inode の割り当てを制御することができません。
したがって、ファイルの内容が変更されていない場合でも、新しい inode 割り当てを
新しいディレクトリ集合に反映させるためには、
フルダンプを行わなければなりません。
.Pp
ネットワークを介したリストアを行う場合、
root 権限で restore を実行する必要があります。
これは、以前の dump と restore のセキュリティ上の歴史によるものです。
(restore は root に setuid されて使われるように書かれていますが、
restore のコードから全てのバグが取れているとは思わないので、
setuid にて使用する場合は自己の責任において行って下さい。)
.Sh 歴史
.Nm restore
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/revnetgroup.8 b/ja_JP.eucJP/man/man8/revnetgroup.8
index 069f559a00..c5837bb8b9 100644
--- a/ja_JP.eucJP/man/man8/revnetgroup.8
+++ b/ja_JP.eucJP/man/man8/revnetgroup.8
@@ -1,153 +1,153 @@
.\" Copyright (c) 1995
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: revnetgroup.8,v 1.1.1.1.2.1 1997/12/16 07:20:16 charnier Exp %
+.\" %Id: revnetgroup.8,v 1.6 1998/03/19 07:37:22 charnier Exp %
.\" jpman %Id: revnetgroup.8,v 1.2 1997/06/14 16:12:45 horikawa Stab %
.\"
.Dd October 24, 1995
.Dt REVNETGROUP 8
.Os
.Sh 名称
.Nm revnetgroup
.Nd "逆ネットグループデータを生成する"
.Sh 書式
.Nm revnetgroup
.Fl u
.Op Fl f Ar netgroup_file
.Nm revnetgroup
.Fl h
.Op Fl f Ar netgroup_file
.Sh 解説
.Nm revnetgroup
.Xr netgroup 5
フォーマットのファイル内容を処理し、
.Pa 逆ネットグループ
と呼ばれる形式に変換します。
元のファイルでは、あるグループが含むメンバを示す形式で
ネットグループのメンバが示されます。
逆ネットグループフォーマットでは、
あるメンバが属するグループを示します。
この情報は
.Pa netgroup.byuser
.Pa netgroup.byhosts
.Tn NIS
マップを作成するために使用します。
これらの逆ネットグループマップは、ネットグループの参照、
特に
.Fn innetgr
ライブラリ関数を高速化するために使用されます。
.Pp
例えば、標準の
.Pa /etc/netgroup
ファイルはネットグループとそのメンバリストを列挙します。
ここで、ネットグループは
.Em キー
であるとし、メンバ名を
.Em データ
であるとします。
これに対し、逆の
.Pa netgroup.byusers
データベースは、ユニークなメンバをキーとし、
メンバが属するネットグループをデータとします。
ユーザとホストに属する情報を保持する別々のデータベースを作成します;
これにより、ネットグループユーザ名参照とネットグループホスト名参照が
独立のキー空間にて実行されます。
.Pp
あらかじめ逆ネットグループデータベース
(およびこれに対応する
.Tn NIS
マップ)を構築することにより、
要求ごとに
.Xr getnetgrent 3
ライブラリ関数が依存関係を処理しなくても良くなります。
これは、ユーザ数及びホスト数が多いネットワークでは重要です。
なぜなら、巨大なネットグループデータベースの処理は多大な時間を要するからです。
.Pp
.Nm
コマンドは結果を標準出力に表示します。
通常は
.Pa /var/yp/Makefile
から呼ばれるだけであり、
これは
.Tn NIS
ネットグループマップを構築する時です。
.Pp
.Sh オプション
.Nm
コマンドは以下のオプションをサポートします:
.Bl -tag -width indent
.It Fl u
.Pa netgroup.byuser
を生成します;
元のネットグループファイルのユーザ名情報のみが処理されます。
.It Fl h
.Pa netgroup.byhost
を生成します;
元のネットグループファイルのホスト名情報のみが処理されます。(
.Fl u
.Fl h
のいずれかを指定する必要が有ります。)
.It Op Fl f Ar netgroup_file
.Nm
コマンドは
.Pa /etc/netgroup
をデフォルトの入力ファイルとします。
.Fl f
フラグにて、ユーザは別の入力ファイルを指定できます。``-'' を
入力ファイルとして指定すると、
.Nm
は標準入力を読みます。
.El
.Sh 関連ファイル
.Bl -tag -width /var/yp/Makefile -compact
.It Pa /var/yp/Makefile
.Tn NIS
データベースを構築するために
.Nm yp_mkdb
.Nm revnetgroup
を呼び出す Makefile。
.It Pa /etc/netgroup
デフォルトのネットグループデータベースファイル。
ほとんどの場合、
.Tn NIS
マスタサーバにだけ有ります。
.El
.Sh 関連項目
+.Xr getnetgrent 3 ,
.Xr yp 4 ,
.Xr netgroup 5 ,
-.Xr yp_mkdb 8 ,
-.Xr getnetgrent 3
+.Xr yp_mkdb 8
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja_JP.eucJP/man/man8/rexecd.8 b/ja_JP.eucJP/man/man8/rexecd.8
index 7aaf912cf2..5b393f8dde 100644
--- a/ja_JP.eucJP/man/man8/rexecd.8
+++ b/ja_JP.eucJP/man/man8/rexecd.8
@@ -1,147 +1,147 @@
.\" 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.
.\"
.\" @(#)rexecd.8 8.2 (Berkeley) 12/11/93
-.\" %Id: rexecd.8,v 1.3.2.3 1997/12/16 07:22:06 charnier Exp %
+.\" %Id: rexecd.8,v 1.8 1997/11/26 07:29:02 charnier Exp %
.\" jpman %Id: rexecd.8,v 1.2 1997/05/28 07:05:49 yugawa Stab %
.\"
.Dd September 23, 1994
.Dt REXECD 8
.Os BSD 4.2
.Sh 名称
.Nm rexecd
.Nd リモート実行サーバ
.Sh 書式
.Nm rexecd
.Sh 解説
.Nm
は、
.Xr rexec 3
ルーチンのためのサーバです。本サーバは、ユーザ名と
パスワードに基づいたユーザ認証による、リモートプロセス実行の環境
を提供します。
.Pp
.Nm
は、
.Xr services 5
にて ``exec'' サービスが定義されたポートを
監視します。サービス要求を受信した際に、以下のプロトコルが
実行されます。
.Bl -enum
.It
サーバは、ソケットから NUL
.Pq Ql \e0
を受信するまで文字を読みとります。受信した文字は
.Tn ASCII
文字からなる 10 進数の数字として評価されます。
.It
ステップ 1 で受信した番号が 0 でない場合、その番号は
.Em stderr
のために用いられる
ストリームのためのポート番号として用いられます。その後、第二の接続がクライア
ントホスト上の指定されたポートとの間に生成されます。
.It
NUL で終了する最大 16 文字のユーザ名が最初のソケットより取得されます。
.It
NUL で終了する、暗号化が施されていない最大 16 文字のパス
ワードが最初の socket より取得されます。
.It
NUL で終了する、シェルに渡されるコマンドが最初の socket より取得
されます。コマンドの長さは、システムの引数リストの制限を越えない長さに
制限されます。
.It
.Nm
は、次に、ログイン時と同様にユーザの認証を行い、
ユーザ認証が成功した場合、
カレントディレクトリを当該ユーザのホームディレクトリに変更し、
ユーザとグループの保護を行ないます。仮にこれらの段階が失敗した場合、
コネクションを切断し、診断メッセージを返します。
.It
NUL 文字が最初のソケットに返却され、コマンドラインは当該ユーザの
通常のログインシェルに渡されます。シェルは
.Nm
によって確立されたネットワークコネクションを継承します。
.El
.Sh 警告
.Nm
は root のログイン、
.Pa /etc/ftpusers
にリストされたユーザでのアクセス、
パスワードの無いユーザのアクセスを許可しません。
これらはすべて重大なセキュリティホールでした。
rexec/rexecd のコンセプトは、メジャーなセキュリティホールと、それをさせない
ための例です。
.Nm
.Pa /etc/inetd.conf
ではデフォルトで無効になっています。
.Sh 診断
以下のリストの一番最後のものを除き、全ての診断メッセージは、
他のネットワークコネクションが切断された後に、最初の socket を経由して返却
されます。エラーは、最初のバイトが値 1 であることで示されます
(コマンドの実行に先立つ全てのステップが正常に終了した場合、上記のステップ 7
で、値 0 が返されます)。
.Pp
.Bl -tag -width Ds
.It Sy username too long
ユーザ名が 16 文字を越えてます。
.It Sy password too long
パスワードが 16 文字を越えてます。
.It Sy command too long
コマンドラインの長さが(設定されている)システムの引数の長さ制限を越えてます。
.It Sy Login incorrect.
パスワードファイルのエントリに当該ユーザ名がありません。
.It Sy Password incorrect.
パスワードが不正です。
.It Sy \&No remote directory.
ホームディレクトリへの
.Xr chdir
コマンドが失敗しました。
.It Sy Try again.
サーバによる
.Xr fork 2
が失敗しました。
.It Sy <shellname>: ...
ユーザのログインシェルが起動できませんでした。このメッセージは
.Em stderr
のために確立されたコネクションを用いて送信されます。
そして、先頭にフラグバイトがつくことはありません。
.El
.Sh 関連項目
.Xr rexec 3
.Sh バグ
すべてのデータとパスワードを交換する場合に、それらの暗号化を行なう機構が
用意されるべきでしょう。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/rlogind.8 b/ja_JP.eucJP/man/man8/rlogind.8
index 9fc865253a..13d5de53a2 100644
--- a/ja_JP.eucJP/man/man8/rlogind.8
+++ b/ja_JP.eucJP/man/man8/rlogind.8
@@ -1,195 +1,195 @@
.\" Copyright (c) 1983, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)rlogind.8 8.1 (Berkeley) 6/4/93
-.\" %Id: rlogind.8,v 1.4.2.3 1998/02/18 11:48:06 markm Exp %
+.\" %Id: rlogind.8,v 1.9 1997/11/25 07:17:13 charnier Exp %
.\" jpman %Id: rlogind.8,v 1.2 1997/05/23 00:50:03 mutoh Stab %
.\"
.Dd June 4, 1993
.Dt RLOGIND 8
.Os BSD 4.2
.Sh 名称
.Nm rlogind
.Nd リモートログインのサーバ
.Sh 書式
.Nm
.Op Fl Daln
.Sh 解説
.Nm
は、
.Xr rlogin 1
のためのサーバです。サーバは信頼できるホストからの
特権ポート番号に基づいた認証を用いて、リモートログイン機能を提供します。
.Nm
では、以下のオプションが使用可能です。
.Bl -tag -width indent
.It Fl D
TCP_NODELAY ソケットオプションを設定します。これは、いくつかの
ネットワークトラフィックの増大に対して、応答性を向上します。
.It Fl a
検証のために、ホスト名を問い合わせます。
.It Fl l
ユーザがスーパユーザとしてログインしない限り、
一般ユーザの
.Dq Pa .rhosts
による、あらゆる認証を禁止します。
.It Fl n
キープアライブメッセージを禁止します。
.El
.Pp
Kerberos を使っている時には、以下のようなオプションが利用可能です。
.Bl -tag -width indent
.It Fl k
Kerberos 認証を利用可能にします。
.It Fl v
vacuous モードを利用可能にします。
.It Fl x
.Xr rlogin 1
セッションで流される全てのデータに
.Tn DES
暗号化を施します。このオプションを利用すると、応答性や CPU に負荷が
かかりますが、機密性は向上します。
.El
.Pp
.Nm
は、``login'' サービスの仕様に基づく番号のポートで、要求を受け付けます。
詳しくは
.Xr services 5
を参照してください。
サービスの要求を受け取ると、以下のプロトコルを開始します。
.Bl -enum
.It
サーバはクライアントの要求元ポート番号を調べます。
もしポート番号が512〜1023の範囲外であれば、サーバは接続を切断します。
.It
サーバはクライアントの要求元アドレスを調べ、それに対応するホスト名を
求めます (
.Xr gethostbyaddr 3 ,
.Xr hosts 5 ,
.Xr named 8
を参照してください)。
ホスト名を決定できなければ、ドット表記法によるホストアドレスを
用います。
ホスト名がサーバと同じドメインに属しているか (ドメイン名の最後の二つの
構成要素に基づいて判断します)、あるいは
.Fl a
オプションが指定されていたら、
ホスト名に対するアドレスを調べて、ホスト名とアドレスが一致しているか
どうかを検証します。
アドレスの検証に失敗した場合は、通常の認証作業は行いません。
.El
.Pp
要求元ポートの番号を調べ終えたら、
.Nm
は、
.Xr rshd 8
で説明している認証作業を開始します。
そして、疑似端末 (
.Xr pty 4
を参照のこと) を割り当てると共に、
ファイルディスクリプタを操作して、
この疑似端末のスレーブ側がログインプロセスの
.Em stdin ,
.Em stdout ,
.Em stderr
になるようにします。
認証作業が成功した場合には、
.Xr login 1
プログラムに
.Fl f
オプションを指定してログインプロセスを生成します。
自動認証作業に失敗した場合には、
通常の端末回線からのログインの場合と同様に、
ユーザに問い合わせをします。
.Pp
ログインプロセスの親プロセスは、疑似端末のマスタ側を操作します。
すなわちログインプロセスと、クライアント側の
.Xr rlogin 1
プログラムを実体化したものとの間で処理を行います。
通常の処理においては、
.Ql ^S/^Q
のような機能を提供したり、割り込み信号をリモートプログラムへと伝えるために
.Xr pty 4
で説明しているパケットプロトコルを起動します。
ログインプロセスは、クライアントの端末の通信速度や
環境変数
.Ql Ev TERM
で指定されている端末タイプを伝えます。
.Xr environ 7
を参照してください。
クライアント側に端末の画面、あるいはウィンドウの大きさを問い合わます。
また、クライアント側からウィンドウサイズの変更が疑似端末へ
伝えられます。
.Pp
トランスポートレベルのキープアライブメッセージは、オプション
.Fl n
が指定されていない限り出力されます。
キープアライブメッセージを利用すると、クライアントがクラッシュしたり、
通信不能になってしまった時に、セッションをタイムアウトで
終了することが可能になります。
.Sh 診断
すべての診断メッセージは、ネットワーク接続が切断された後に、最初に 1 の値
のバイトが付加されて通知されます。
.Xr login 1
が起動された後にエラーが発生しない場合、
処理成功の通知のために、NULL バイトを返します。
.Bl -tag -width Ds
.It Sy Try again.
サーバが
.Xr fork 2
に失敗したことを表します。
.El
.Sh 関連項目
.Xr login 1 ,
.Xr ruserok 3 ,
.Xr hosts 5 ,
.Xr nologin 5 ,
.Xr rshd 8
.Sh 関連ファイル
.Bl -tag -width /etc/hostsxxxxxxxx -compact
.It Pa /etc/hosts
.It Pa /etc/hosts.equiv
.It Pa $HOME/.rhosts
.It Pa /etc/nologin
.El
.Sh バグ
このコマンドが用いている認証手続きは、それぞれのクライアントマシンと
接続媒体が完全であるということを仮定したものです。これはセキュリティホールに
なりやすいのですが、``オープン'' な環境においては有用な方針です。
.Pp
全てのデータについて暗号化を行なう機能が実装されるべきです。
.Pp
もっと発展性のあるプロトコルが用いられるべきです。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/rmail.8 b/ja_JP.eucJP/man/man8/rmail.8
index c1bdf85294..d25c6b1a1c 100644
--- a/ja_JP.eucJP/man/man8/rmail.8
+++ b/ja_JP.eucJP/man/man8/rmail.8
@@ -1,75 +1,52 @@
-.\" Copyright (c) 1983, 1990 The Regents of the University of California.
-.\" All rights reserved.
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1983, 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.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)rmail.8 6.10 (Berkeley) 4/29/93
-.\" %Id: rmail.8,v 1.2.8.3 1998/07/16 09:35:47 jkh Exp %
+.\" @(#)rmail.8 6.14 (Berkeley) 5/19/98
.\" jpman %Id: rmail.8,v 1.2 1997/05/16 07:57:46 yugawa Stab %
.\"
-.Dd April 29, 1993
+.Dd May 19, 1998
.Dt RMAIL 8
.Os BSD 4.2
.Sh 名称
.Nm rmail
.Nd uucpで送られてきたメールを処理する
.Sh 書式
.Nm rmail
.Ar user ...
.Sh 解説
.Nm
.Xr uucp 1
経由で受けとったメールを解釈し、
.Xr mail.local 8
によって生成される``From''行を、``return-path!sender''
という一行に変換して
.Xr sendmail 8
に渡します。
.Pp
.Nm
は、明らかに
.Xr uucp 1
.Xr sendmail 8
で使われるように設計されています。
.Sh 関連項目
.Xr uucp 1 ,
.Xr mail.local 8 ,
.Xr sendmail 8
.Sh 歴史
.Nm
プログラムは
.Bx 4.2
から登場しました。
.Sh バグ
.Nm
.Pa /bin
に置くべきではありません。
diff --git a/ja_JP.eucJP/man/man8/rmuser.8 b/ja_JP.eucJP/man/man8/rmuser.8
index 7b4dc7b180..3c656c321d 100644
--- a/ja_JP.eucJP/man/man8/rmuser.8
+++ b/ja_JP.eucJP/man/man8/rmuser.8
@@ -1,174 +1,174 @@
.\" Copyright 1995, 1996, 1997
.\" Guy Helmer, Ames, Iowa 50014. 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.
.\" 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 GUY HELMER ``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 GUY HELMER 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: rmuser.8,v 1.1.2.4 1998/03/08 14:59:56 jkh Exp %
+.\" %Id: rmuser.8,v 1.8 1997/11/02 00:58:39 jraynard Exp %
.\" jpman %Id: rmuser.8,v 1.3 1997/07/22 16:58:06 horikawa Stab %
.\"
.Dd February 23, 1997
.Dt RMUSER 8
.Os
.Sh 名称
.Nm rmuser
.Nd システムからユーザを削除する
.Sh 書式
.Nm rmuser
.Op Fl y
.Op Ar username
.Sh 解説
ユーティリティ
.Nm
は以下を行います。
.Bl -enum
.It
ユーザの
.Xr crontab 1
エントリ (存在すれば) を削除します。
.It
ユーザの
.Xr at 1
ジョブを削除します。
.It
ユーザが所有する全プロセスに SIGKILL を送ります。
.It
システムのローカルパスワードファイルからユーザのエントリを削除します。
.It
ホームディレクトリがユーザ所有であれば削除します。
この際、実際のホームディレクトリまでのパスに存在するシンボリックリンク
も削除します。
.It
.Pa /var/mail
より、
存在すれば入力メールと pop デーモンのメールファイルを削除します。
.It
ユーザが所有する全ファイルを
.Pa /tmp ,
.Pa /var/tmp ,
.Pa /var/tmp/vi.recover ,
から削除します。
.It
ユーザ名を
.Pa /etc/group
の全てのグループから削除します。
(グループが空になりかつグループ名とユーザ名が等しければ、
グループも削除されます ( これは、
.Xr adduser 8
がユーザ 1 人に対して唯一のグループを与えているためです ) 。
.Pp
.Nm
は、
ユーザ id が 0 であるユーザ ( 典型的には root です ) の削除は丁寧に拒否します。
この仕様は、ある動作 (つまり、ユーザの全プロセスを殺したり
ユーザのホームディレクトリを削除すること) が実行システムにダメージを
与えうることを考慮しています。
ユーザ id が 0 であるユーザを削除することが必要な場合は、
.Xr vipw 8
を参照し、パスワードファイルを直接編集する方法を調べてください。
これにより、望みのユーザの
.Xr passwd 5
エントリを手動で削除可能です。
.Pp
「断言的」に実行されていない場合(つまり
.Fl y
オプションが指定されていない場合)は、
.Nm
は、選択されたユーザのパスワードファイルエントリを表示し、
本当に消したいユーザであるのか尋ねます。ユーザのホームディレクトリが
ユーザ所有であれば、
.Nm
はユーザのホームディレクトリ以下の全てを消してもいいのかどうか
訊いてきます。
.Pp
以下のオプションが利用可能です。
.Pp
.Nm
の動作中、現在なにをやっているかをユーザに知らせます。
エラーが発生すると、標準エラー出力にそれを表示し、
.Nm
が動作継続可能であれば動作を継続します。
.Pp
.Bl -tag -width username
.It Fl y
断言します - 問われる質問は全て断言(すなわち肯定)します。
このオプションを指定する場合にはユーザ名も指定する必要があります。
.It Ar \&username
消去するユーザを指定します。
指定されていなければ、
.Nm
は、対話的に消去するユーザを尋ねます。
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd -compact
.It Pa /etc/master.passwd
.It Pa /etc/passwd
.It Pa /etc/group
.It Pa /etc/spwd.db
.It Pa /etc/pwd.db
.El
.Sh 関連項目
.Xr at 1 ,
.Xr chpass 1 ,
.Xr crontab 1 ,
.Xr finger 1 ,
.Xr passwd 1 ,
.Xr group 5 ,
.Xr passwd 5 ,
.Xr addgroup 8 ,
.Xr adduser 8 ,
.Xr pwd_mkdb 8 ,
.Xr rmgroup 8 ,
.Xr vipw 8
.Sh 歴史
.Nm
コマンドは、
.Fx 2.2
から導入されました。
.\" .Sh 作者
.\" Guy Helmer, Ames, Iowa
.Sh バグ
.Nm
は、包括的にファイルシステムを検索して
削除されたユーザの全ファイルを消すわけではありません;
あらゆる規模のシステムにおいてもこのようなことをしてしまうと、
法外なほど遅くなり I/O 負荷がかかります。また、
.Nm
は、ユーザが
.Pa /tmp
.Pa /var/tmp
に作成したシンボリックリンクを削除できません。
なぜなら、4.4BSD ファイルシステムではシンボリクリンクを誰が作成したかの情報
を持たないからです。
さらに、
.Pa /var/mail
には、
.Pa /var/mail/username
でも
.Pa /var/mail/.pop.username
でもないファイルで、削除されたユーザ所有ではないものの、
削除すべきファイルが有るかもしれません。
.Pp
.Nm
は NIS (Yellow Pages) については何も知りませんので、
ローカルパスワードファイルに対してのみ動作します。
diff --git a/ja_JP.eucJP/man/man8/rndcontrol.8 b/ja_JP.eucJP/man/man8/rndcontrol.8
index 3e3e024c61..06682235ac 100644
--- a/ja_JP.eucJP/man/man8/rndcontrol.8
+++ b/ja_JP.eucJP/man/man8/rndcontrol.8
@@ -1,97 +1,97 @@
.\"
.\" Copyright (c) 1995
.\" Mark Murray. 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 Mark Murray
.\" and Theodore Ts'o
.\" 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 MARK MURRAY 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 MARK MURRAY 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: rndcontrol.8,v 1.4.2.2 1998/07/18 11:12:20 jkh Exp %
+.\" %Id: rndcontrol.8,v 1.8 1998/03/23 08:28:31 charnier Exp %
.\" jpman %Id: rndcontrol.8,v 1.3 1997/08/16 13:39:03 horikawa Stab %
.\"
.Dd October 20, 1995
.Dt RNDCONTROL 8
.Os FreeBSD 2
.Sh 名称
.Nm rndcontrol
.Nd /dev/random デバイス操作ユーティリティ
.Sh 書式
.Nm rndcontrol
.Op Fl q
.Op Fl s Ar irq_no
.Op Fl c Ar irq_no
.Sh 解説
.Nm
コマンドは、カーネルが管理する「エントロピーのたまり場」を
乱数化するためにどの割り込みを使用するかを設定するのに用いられます。
デバイス
.Pa /dev/random
.Pa /dev/urandom
がこの乱数源とのユーザインタフェースになります。
いかなる変更も直ちに有効になります。
.Sh オプション
以下のコマンドラインオプションがサポートされています:
.Bl -tag -width indent
.It Fl q
エラー以外の全ての出力を抑制します。
.It Fl s Ar n
IRQ
.Ar n
を乱数源として使用します。
このオプションを複数使用して、複数の IRQ を指定することもできます。
.It Fl c Ar n
IRQ
.Ar n
を乱数源として使用するのをやめます。
このオプションを複数使用して、複数の IRQ を指定することもできます。
.El
.Pp
デフォルトではどの IRQ も使用しません。
.Pp
.Sh 関連ファイル
.Bl -tag -width /dev/urandom -compact
.It Pa /dev/random
安全な乱数デバイス
.It Pa /dev/urandom
乱数デバイス
.El
.Sh バグ
きっと何かあるでしょう。
.Sh 関連項目
.Xr random 4
.Sh 作者
.An Theodore Ts'o
がコアとなるコードを書きました。
.An Mark Murray
がこのコードを FreeBSD に移植し、
サポートルーチンを書き、マニュアルページを作成しました。
.Sh 歴史
.Nm
.Fx 2.1.5
で初めて登場しました。
diff --git a/ja_JP.eucJP/man/man8/route.8 b/ja_JP.eucJP/man/man8/route.8
index 63decfa368..0601f0d2cf 100644
--- a/ja_JP.eucJP/man/man8/route.8
+++ b/ja_JP.eucJP/man/man8/route.8
@@ -1,334 +1,335 @@
.\" 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
-.\" %Id: route.8,v 1.7.2.4 1998/08/12 06:48:51 charnier Exp %
+.\" %Id: route.8,v 1.12 1998/07/28 06:25:33 charnier Exp %
.\"
.\" jpman %Id: route.8,v 1.3 1997/07/28 05:33:13 konuma Stab %
.\"
.Dd March 19, 1994
.Dt ROUTE 8
.Os BSD 4.4
.Sh 名称
.Nm route
.Nd マニュアルでルーティングテーブルを操作する
.Sh 書式
.Nm route
.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 Ds
+以下のオプションを使用可能です:
+.Bl -tag -width indnent
.It Fl n
レポートの出力において、ホスト名とネットワーク名のシンボル名での表示を
抑止します。
(シンボル名と数字によるアドレスの変換処理には時間がかかり、
またネットワークが正常に動作している必要があります。
そのため、特にネットワークの動作の修正中には、
変換処理を行なわない方が好都合かもしれません。)
.It Fl v
(冗長モード) 詳細な情報を出力します。
.It Fl q
全ての出力を行ないません。
.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 -filled -offset indent -compact
.Nm route Op Fl n
.Cm monitor
.Ed
.Pp
flush コマンドは以下の書式です。
.Pp
.Bd -filled -offset indent -compact
.Nm route Op Fl n
.Cm flush
.Op Ar family
.Ed
.Pp
.Cm flush
コマンドが指定されると、
.Nm
は全てのゲートウェイのエントリにおけるルーティングテーブルを削除します。
アドレスファミリが
.Fl osi ,
.Fl xns ,
.Fl atalk ,
.Fl inet
のいずれかの修飾子によって指定されている場合、
そのアドレスファミリの宛先を持つルートだけが削除されます。
.Pp
その他のコマンドは以下の書式です。
.Pp
.Bd -filled -offset indent -compact
.Nm route Op Fl n
.Ar command
.Op Fl net No \&| Fl host
.Ar destination gateway
.Ed
.Pp
ここで
.Ar destination
は宛先のホストもしくはネットワークです。
.Ar gateway
はパケットがルートされるべき次の中継点です。
ある特定のホストへのルートは、
.Ar destination
で指定されたインターネットアドレスを解釈することによって、
ネットワークへのルートと区別されます。
オプションの修飾子
.Fl net ,
.Fl host
が指定されると、
.Ar destination
をそれぞれネットワークもしくはホストとして強制的に解釈します。
これらの修飾子がないなら、
.Ar destination
に INADDR_ANY の ``ローカルアドレス部'' が含まれるか
.Ar destination
がネットワークのシンボル名である場合はネットワークへのルート、
その他の場合はホストへのルートと想定します。
.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
として解釈されます。
.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
ルートにはいくつかのフラグがあり、
そのルートを使う宛先にデータを送信する時のプロトコルの動作に
影響をおよぼします。
これらのフラグは以下の修飾子によってセット (もしくはクリア) できます。
.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
.Ar destination
.Ar gateway
で指定された全てのシンボル名は、まずホスト名として
.Xr gethostbyname 3
を使用して検索されます。検索に失敗した場合は、その名前をネットワーク名と見なし
.Xr getnetbyname 3
によって検索されます。
.Pp
.Nm
はルーティングソケットと新しいメッセージタイプである
RTM_ADD,
RTM_DELETE,
RTM_GET,
RTM_CHANGE
を使います。
ルーティングテーブルの変更はスーパユーザのみがおこなうことができます。
.Sh 診断
.Bl -tag -width Ds
.It Sy "add [host \&| network ] %s: gateway %s flags %x"
指定されたルートがテーブルに追加されました。
出力された値は
.Xr ioctl 2
の呼出しの中で使われたルーティングテーブルのエントリからのものです。
指定されたゲートウェイアドレスがそのゲートウェイのプライマリアドレス
(
.Xr gethostbyname 3
によって返される最初のもの) でなかった場合、
ゲートウェイアドレスがシンボル名に加えて、数字でも表示されます。
.It Sy "delete [ host &| network ] %s: gateway %s flags %x"
指定されたルートがテーブルから削除されました。
.It Sy "%s %s done"
.Cm flush
コマンドが指定された場合、削除された各ルーティングテーブルエントリが
この形式のメッセージで報告されます。
.It Sy "Network is unreachable"
指定されたゲートウェイが直接到達可能なネットワーク上にないために、
ルートの追加に失敗しました。
hop 数が 1 であるゲートウェイを指定しなければなりません。
.It Sy "not in table"
テーブルにないエントリを削除しようとしました。
.It Sy "routing table overflow"
ルートの追加を試みましたが、システムの資源が少なく、
新しいエントリを作成するためのメモリを割り当てられませんでした。
.El
.Sh 関連項目
.Xr netintro 4 ,
.Xr route 4 ,
.Xr IPXrouted 8 ,
.Xr routed 8
.\" .Xr XNSrouted 8
.\" Xr esis 4 ,
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
.Sh バグ
最初の段落は多少
.Xr routed 8
の能力を大げさに書いています。
diff --git a/ja_JP.eucJP/man/man8/routed.8 b/ja_JP.eucJP/man/man8/routed.8
index d0446f3d93..a3729e6162 100644
--- a/ja_JP.eucJP/man/man8/routed.8
+++ b/ja_JP.eucJP/man/man8/routed.8
@@ -1,616 +1,614 @@
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)routed.8 8.2 (Berkeley) 12/11/93
-.\" %Id: routed.8,v 1.2.2.5 1998/08/12 06:54:16 charnier Exp %
+.\" %Id: routed.8,v 1.11 1998/07/28 06:36:14 charnier Exp %
.\"
.\" jpman %Id: routed.8,v 1.2 1997/03/31 14:11:11 horikawa Stab %
.\"
.Dd June 1, 1996
.Dt ROUTED 8
.Os BSD 4.4
.Sh 名称
.Nm routed
.Nd ネットワークの RIP と router discovery のルーティングデーモン
.Sh 書式
.Nm
.Op Fl sqdghmpAt
.Op Fl T Ar tracefile
.Oo
.Fl F
.Ar net Ns Op /mask Ns Op ,metric
.Oc
.OP Fl P Ar parms
.Sh 解説
-.Nm routed
+.Nm
はネットワークのルーティングテーブルを管理するデーモンで、
システムのブート時に起動されます。
これは、カーネルのルーティングテーブルを管理するために、
ルーティング情報プロトコル (Routing Information Protocol) の
RIPv1 (RFC\ 1058)、RIPv2 (RFC\ 1723)、および
Internet Router Discovery Protocol (RFC 1256) を用います。
RIPv1 プロトコルは 4.3BSD のデーモンのものをベースとしています。
.Pp
-.Nm routed
+.Nm
は、ルーティング情報プロトコルのパケットを待つために、
.Xr route 8
サービス
.Ns ( Xr services 5
参照) 用の
.Xr udp 4
ソケットを listen() します。また、マルチキャストによる Router Discovery の
ICMP メッセージの送受信も行います。
ホストがルータだった場合、
-.Nm routed
+.Nm
は直接接続されている全てのホストやネットワークに、
ルーティングテーブルの複製を定期的に提供します。
また、Router Discovery の ICMP メッセージを用いてデフォルトルートを広告したり
要求したりします。
.Pp
-.Nm routed
+.Nm
が走行し始めると (または、ネットワークインタフェースがオンになると)、
-.Nm routed
+.Nm
は AF_ROUTE アドレスファミリを用いて、システムに直結されていて
コンフィギュレーションされているインタフェースのうちで "up" とマークされて
いるものを探します。そしてそのインタフェースに必要な経路をカーネルの
ルーティングテーブルに追加します。スタート直後で、RIP が無効になっていない
インタフェースが少なくとも 1 つある場合は、
-.Nm routed
+.Nm
はカーネルのテーブル内に既に存在する静的でない経路を全て削除します。
カーネルのテーブル内にある静的な経路は保存され、有効な RIP metric を
持っているものは RIP レスポンスに含められます
.Ns ( Xr route 8
参照)。
.Pp
複数のインタフェース (ループバックインタフェースは含めません) が提供されている
場合、そのホストは接続されているネットワーク間でパケットを中継するものと
みなされます。新しいインタフェース上で RIP リクエストを送信した後や
ルータ発見のための広告や要求を送信した後で、デーモンはループに入り、
他のホストからの RIP リクエストやレスポンスや Router Discovery のパケットを
listen します。
.Pp
リクエストパケットを受信すると、
-.Nm routed
+.Nm
は内部テーブルに持っている情報からリプライを作成します。
生成された
.Em レスポンス
パケットには既知の経路のリストが含められ、各経路に
"hop count" metric がつきます (16 以上は "無限大" とみなされます)。
広告した metric はインタフェースに設定した metric を反映するため
.Ns ( Xr ifconfig 8
参照)、トラフィックを制御するにはインタフェースの metric を設定するのが
よい方法です。
.Pp
.Em split-horizon
をインプリメントしているため、リクエストしてきたネットワークの 1 hop 先の
経路はレスポンスには含められません。
.Xr rtquery 8
のような問い合わせプログラムからのリクエストに対しては、テーブル全体
から答を導き出します。
.Pp
ルータの故障から素早く復旧できるようにするため、
デーモンが扱うルーティングテーブルには各到達先用のゲートウェイをいくつか
覚えておくための空間があります。受けとった RIP
.Em レスポンス
パケットが更新のために使用されるのは、
現在認識しているゲートウェイのうちの 1 つから提供された場合、
もしくは現在あるゲートウェイのうちの少なくとも 1 つよりも
よい metric を広告された場合です。
.Pp
更新を行う時、
.Nm
は自分自身が持つテーブルの変更を記録し、到達先への最適な経路が変更された
場合にはカーネルのルーティングテーブルを記録します。カーネルの
ルーティングテーブルに対するこの変更は、次に送出される
.Em レスポンス
パケットに反映されます。次のレスポンスがしばらくの間スケジューリングされない
場合には、最近変更された経路だけを含んだ
.Em flash update
レスポンスが送られます。
.Pp
到着パケットの処理に加えて、
.Nm
は定期的にルーティングテーブルのエントリをチェックします。
あるエントリが 3 分間更新されなかった場合、
そのエントリの metric は無限大として設定され、
削除のためのマークがつけられます。
この無効化がローカルなインターネットを通して伝搬するのを保証するために、
削除はその経路が無限大の metric を持つと広告されるまで延期されます。これが
.Em poison reverse
方式です。
.Pp
カーネルのテーブル内の経路のうちで ICMP Redirect メッセージの結果として
追加や変更されたものは、
.Em black-holes
を最小にするために、しばらく経ってから削除されます。
TCP コネクションのタイムアウトが起こると、カーネルは
-.Nm routed
+.Nm
に対し、そのゲートウェイを通る全てのリダイレクトされた経路を削除し、
そのゲートウェイを通る全ての RIP の経路の年齢を増やすことで他のゲートウェイが
選択されるようにし、関連する全ての Router Discovery Protocol の
デフォルトルートの年齢を増やします。
.Pp
ネットワーク間ルータとして動作するホスト群は、直接接続されているホストおよび
ネットワークすべてに対し、30 秒ごとにルーティングテーブルを無条件で提供します。
この RIP レスポンスは、ブロードキャストをサポートしているネット上の
ブロードキャストアドレス、point-to-point リンクの到達先アドレス、
ルータ自身の他のネットワークでのアドレスに対して送信されます。
RIPv2 が有効になっている場合は、マルチキャストをサポートしているインタフェース
に対してマルチキャストパケットが送られます。
.Pp
リモートインタフェース上でレスポンスが受信されない場合や、
レスポンスを送っている最中にエラーが起こった場合や、
エラーが入力や出力よりも多い場合
.Ns ( Xr netstat 8
参照) は、ケーブルやインタフェースの他の部分が接続されていないか壊れている
とみなされ、その経路は適切に変更されます。
.Pp
.Em Internet Router Discovery Protocol
も同様に扱われます。デーモンが RIP の経路を配っている時は、Router Discovery
の要求の listen と Router Discovery の広告の送信も行います。
デーモンが静かな状態で他の RIP ルータからのパケットを listen している時には、
Router Discovery の要求を送信して、Router Discovery の広告を listen します。
受けた広告がよいものであれば、
RIP レスポンスのブロードキャストやマルチキャストを listen するのをやめます。
現在利用中のルータが死んだ場合に障害のある状態から短時間で修復できるよう、
広告されているルータのいくつかを追跡します。
もし発見してあるルータが全て見えなくなった場合は、RIP レスポンスの listen を
再開します。
.Pp
Router Discover の仕様では、広告の "生存期間" をデフォルトで 30 分とすることを
要求しています。これは、何かが起こった場合に
クライアントに 30 分間よい経路がなくなる可能性があることを意味しています。
コマンドラインで
.Fl P Cm rdisc_interval=45
と指定したり
.Pa /etc/gateways
.Cm rdisc_interval=45
と書くことでデフォルトを 45 秒にするのはいい考えです。
.Pp
Router Discovery を利用している場合 (システムが持っている
ネットワークインタフェースが 1 つだけでかつ Router Discovery の広告を
受けた場合にはこれがデフォルトです)、カーネルのテーブル内には
デフォルトルートは 1 つだけで、ホストへの経路は可変個数となります。
複数のネットワークインタフェースを持つホストでは、
このデフォルトルートはそのインタフェースのうちの 1 つだけを経由します。
このため、複数のホームを持つホストで
.Fl q
つきで動作しているものは、
以下に示す
.Cm no_rdisc
が必要です。
.Pp
RIPv2 と Router Discovery のどちらも扱うことができない "遺物の" システムを
サポートするためには、以下に記述してある
.Cm pm_rdisc
を参照して下さい。
.Pp
デフォルトでは、point to point リンク (たとえば PPP) には Router Discovery
の広告も要求も送信されません。
point-to-point リンク (SLIP や PPP などのような、IFF_POINTOPOINT フラグ
のついたもの) のネットマスクは、
RIPv1 利用時にはそのネットマスクがリモートシステムで利用されると
-.Nm routed
+.Nm
は推測します。
.Pp
-.Nm routed
-がサポートしているオプションは以下の通りです:
-.Bl -tag -width Ds
+以下のオプションを使用可能です:
+.Bl -tag -width indent
.It Fl s
-このオプションを指定すると、
.Nm
は強制的にルーティング情報を提供します。
これは、RIP や Router Discovery を無効にしていない状態で複数の
ネットワークインタフェースが提供されており、カーネルが ipforwarding=1 に
なっている場合にはデフォルトです。
.It Fl q
.Fl s
オプションとは逆の動作をします。
インタフェースが 1 つだけの場合は、これがデフォルトです。
.It Fl d
バックグラウンドでは動作しません。このオプションは対話的に使用するための
ものです。
.It Fl g
-このフラグは、ネットワーク間ルータにおいて "default" の到達先への経路を設ける
+ネットワーク間ルータにおいて "default" の到達先への経路を設ける
ために使われます。これは
.Fl F
.Cm 0/0,1
と同じ意味を持ち、主として歴史的理由のために提供されています。
これよりは、
.Fl P Cm pm_rdisc
をコマンドラインで指定するか、
.Cm pm_rdisc
.Pa /etc/gateways
で指定するほうがよいでしょう。
大きな metric を使用すれば、
デフォルトルートの潜在的な危険が広がる可能性を減らせます。
これは、典型的にはインターネットへのゲートウェイで用いられるか、
経路を他のローカルルータに対して報告しないような他の
ルーティングプロトコルを利用しているゲートウェイの場合に用いられます。
metric には 1 が使われるため、この機能は危険です。このオプションは一般に、
問題を解決するよりも、ルーティングのループによる混乱を引き起こしがちです。
.It Fl h
ホストルートまたは point-to-point ルートを広告しません。
これらは同一方向へいくネットワークルートであると規定されます。これは
特別な性質を持つ集合です。このオプションは、イーサネットへのゲートウェイ
でかつ SLIP のような point-to-point リンクで他のゲートウェイマシンが継っている
ゲートウェイにおいて有効です。
.It Fl m
マシンが、そのプライマリインタフェースへのホストルートや point-to-point ルート
を広告するようになります。
これは NFS サーバなどのような複数のホームを持つマシンにおいて有効です。
このオプションは、作成したホストルートのコストがサーバの人気で正当化される
場合を除いて、使うべきではありません。
これは、マシンがルーティング情報を供給していて、複数のインタフェースを
持っている場合にのみ効果があります。
.Fl m
オプションは、
.Fl q
オプションの効果を上書きして、
ホストルートの広告を限定した範囲に制限します。
.It Fl A
もし RIPv2 の認証に注意を払わない場合は、RIPv2 の認証を無視しません。
RFC 1723 に準拠するためにはこのオプションが必要です。
しかしながら、これは意味がなく、マシンが認証について注意を払わない時に
認証を運ぶ全ての RIPv2 パケットを無視するために検出プロトコルとして
RIP を使う場合の妨げとなります。
.It Fl T Ar tracefile
デバッグレベルを最低でも 1 まで上げ、デバッグ情報をトレースファイルに
書き加えるようにします。セキュリティ上の都合により、
-.Nm routed
+.Nm
がファイルへのトレースを日常的に行うようにはしないのが賢明です。
.It Fl t
デバッグレベルを増やします。
.Fl T
で指定したトレースファイルや標準出力に対し、より詳細な情報を記録するように
なります。デバッグレベルは
.Em SIGUSR1
シグナルや
.Em SIGUSR2
シグナルや
.Xr rtquery
で増減できます。
.It Fl F Ar net[/mask][,metric]
.Em net/mask
にマッチするアドレスを持つインタフェースを介した転送における経路を最小にし、
このマシンへのデフォルトルートを metric 数
.Em metric
で作成します。この目的は、RIP 情報をもつ多数の大きな UDP パケットを "にせ" の
デフォルトルートを含んだ 1 つの小さなパケットに置き換えることで、
遅い、たとえば PPP のような point-to-point リンクでの RIP のトラフィックを
減らすことにあります。
もし
.Em metric
がない場合は、"にせ" のデフォルトルートが広まるのを制限するために 14 が
指定されたものとみなします。
この機能は、不注意に使うとルーティングのループを引き起こすので危険です。
指定したネットワーク番号とマスクに複数のインタフェースがマッチする可能性がある
ことに注意して下さい。
.Fl g
も参照してください。
.It Fl P Ar parms
パラメータ行
.Em parms
.Pa /etc/gateways
ファイルに書くのと同じです。
.El
.Pp
提供された他の引数は、
-.Nm routed
+.Nm
の動作を記録するファイルの名前として解釈されます。
トレースファイルの名前をコマンドに追加するよりは、
.Fl T
を使った方がよいでしょう。
.Pp
上記の機能に加えて、
-.Nm routed
+.Nm
は "遠隔にある"
.Em パッシブ
もしくは
.Em アクティブ
なゲートウェイという概念をサポートします。
.Nm
は動作を開始すると、実在しないかもしれない遠隔のゲートウェイを検索するために
.Pa /etc/gateways
を読み込みます。ローカルなゲートウェイがパッシブであるかどうかや、
他のパラメータの取得には、ルーティングソケットからの情報だけをもとにします。
このようにして指定されたゲートウェイは、ルーティング情報を交換しない場合は
パッシブマークが付加されます。一方、 RIP パケットを交換するゲートウェイに
ついては、アクティブマークが付与されます。
.Em パッシブ
ゲートウェイを介す経路については、システムスタートアップ時に一度だけ
カーネル内の経路情報テーブルに設定され、送出される RIP レスポンスには
含められません。
.Pp
遠隔のアクティブゲートウェイは、ネットワークインタフェースと同様に扱われます。
RIP レスポンスが遠隔の
.Em アクティブ
ゲートウェイに送られます。
応答がない場合は、
その経路はカーネルのテーブルと別のインタフェースから広告された RIP レスポンスの
ぞれぞれから削除されます。遠隔のゲートウェイが RIP レスポンスの送出を
再開した場合は、その経路は再追加されます。
.Pp
このようなゲートウェイは、ATM ネットワークなどのような、
ブロードキャストやマルチキャストはサポートしないがそれ以外は Ethernet のような
伝統的な共有メディア方式のように働くネットワークに有効です。
ATM ネットワーク上にある到達可能な全ての RIP ルータを
.Pa /etc/gateways
の "host" 行を使って記述することができます。
.Pp
.Em external
マークのついたゲートウェイはパッシブと同様の扱いになりますが、
カーネル内のルーティングテーブルに載ることはなく、
ルーティングの更新時にその情報が含められることもありません。
external エントリの機能は、他のルーティングプロセスがそのような経路を
必要時に追加する可能性があることを知らせるためにあり、その到達先への別の経路は
-.Nm routed
+.Nm
で設定されるべきではありません。
external エントリは、両方のルータが同じ到達先への経路を覚えてもよい場合にのみ
必要です。
.Pp
.Pa /etc/gateways
ファイルは、以下のフォーマットおよびパラメータからなる行の集まりです:
.Pp
.Bd -ragged
.Cm net
.Ar Nname[/mask]
.Cm gateway
.Ar Gname
.Cm metric
.Ar value
.Pf < Cm passive No \&|
.Cm active No \&|
.Cm extern Ns >
.Ed
.Bd -ragged
.Cm host
.Ar Hname
.Cm gateway
.Ar Gname
.Cm metric
.Ar value
.Pf < Cm passive No \&|
.Cm active No \&|
.Cm extern Ns >
.Ed
.Pp
キーワード
.Ar Nname
.Ar Hname
は、到達先のネットワークやホストの名前です。
.Pp
.Ar name1
は、到達先のネットワークもしくはホストの名前です。
これはネットワークのシンボル名または "ドット" 表記による
インターネットアドレスのどちらでも構いません
.Ns ( Xr inet 3
参照)。(もし名前の場合は、
.Pa /etc/networks
または
.Pa /etc/hosts
で定義されているか、
-.Nm routed
+.Nm
の動作開始前に
.Xr named 8
が起動されていなければなりません。)
.Pp
.Ar mask
は省略可能な数値で
.Ar Nname
のネットマスクを表し、1 から 32 までの値をとります。
.Pp
.Ar Gname
は、RIP レスポンスがフォワードされるべきゲートウェイの名前もしくは
アドレスです。
.Pp
.Ar value
は、到達先ホストもしくはネットワークへの hop 数です。
.Ar " host hname "
.Ar " net nname/32 "
と同一です。
.Pp
.Cm passive ,
.Cm active ,
.Cm external
のキーワードのうちの 1 つを指定することで、ゲートウェイが
.Cm passive
または
.Cm active
(前述の通り) であるか RIP プロトコルのスコープの範囲外つまり
.Cm external
であるかを指示しなければなりません。
.Pp
"net" と "host" のどちらでも始まらない行は、以下のようなパラメータ設定
でなければなりません。これは 1 つでも複数でもよく、複数の場合はコンマや
空白で区切ります:
.Bl -tag -width Ds
.It Cm if Ns \&= Ns Ar ifname
その行にある他のパラメータが、名前が
.Ar ifname
のインタフェースに適用されることを示します。
.It Cm subnet Ns \&= Ns Ar nname[/mask][,metric]
ネットワーク
.Ar nname
への経路をマスク
.Ar mask
と指定された metric (デフォルトは 1) で広告します。
これは CIDR の確保において "穴" を埋めるのに有効です。
このパラメータはその行にそれだけで出現しなければなりません。
.Pp
この機能は不必要に使ってはいけません。危険です。
.It Cm passwd Ns \&= Ns Ar XXX
RIPv2 の password を指定します。これは送信した全ての RIPv2 レスポンスに
含められ、受信した全ての RIPv2 レスポンスでチェックされます。
パスワードは、空白やタブ文字やコンマや '#' を含んではいけません。
.It Cm passwd Ns \&= Ns Ar XXX1[|KeyID[start|stop]]
RIPv2 の生のパスワードを指定します。
これは、送信される全ての RIPv2 レスポンスに含められ、
受信した全ての RIPv2 レスポンスでチェックされます。
パスワード内の空白、タブ文字、コンマ、'#'、'|'、NULL 文字は、
バックスラッシュ (\\) でエスケープしなければなりません。
よく使われる \\n, \\r, \\t, \\b, \\xxx などのエスケープシーケンスは、
それぞれ通常の意味を持っています。
.Cm KeyID
は一意でなければなりませんが、生のパスワードの場合は無視されます。
.Cm start
.Cm stop
がある場合、これはタイムスタンプで、
year/month/day@hour:minute の形式をとります。
これらはパスワードが正しい時に設定されます。
出力パケットで使われるパスワードには、期限が最も遠い将来まで設定されている
パスワードが使われます。全てのパスワードが期限切れになった場合には、
最も最近期限切れになったパスワードが使われます。
また、有効なパスワードがまだ設定されていない場合には、
パスワードは出力されません。
到着パケットは有効なパスワードを運んでくる可能性があります。
ここで有効とは、未来の 24 時間内で有効になるものか、
過去 24 時間内で有効であったものを指します。
.It Cm md5_passwd Ns \&= Ns Ar XXX1|KeyID[start|stop]
RIPv2 の MD5 パスワードを指定します。
.Cm KeyID
が必須であること以外は、このキーワードは
.Cm passwd
と同じです。
秘密を守るため、パスワードの設定は
.Em /etc/gateways
内のものだけが有効であり、かつ、このファイルが UID 0 でのみ読み込み可能
でなければなりません。
.It Cm no_ag
RIPv1 と RIPv2 のレスポンス内のサブネットの合成を行いません。
.It Cm no_super_ag
RIPv2 のレスポンス内のネットワークのスーパネットへの合成を行いません。
.It Cm passive
そのインタフェースが更新時に他のインタフェースを通して広告されないように
マークし、指定したインタフェースでは RIP および router discovery 処理を
全く行わないようにします。
.It Cm no_rip
指定したインタフェースでの全 RIP 処理を行いません。
RIP パケットを処理するインタフェースがない場合は、
.Nm
は単に Router Discovery デーモンとして働きます。
.Pp
.Cm rdisc_adv
または
.Fl s
で明示的に Router Discovery の広告を行うように指示せずに RIP を
行わないようにすると、
-.Nm routed
+.Nm
は広告を行わない Router Discovery デーモンとして働くことに注意して下さい。
.It Cm no_ripv1_in
受信した RIPv1 レスポンスが無視されるようになります。
.It Cm no_ripv2_in
受信した RIPv2 レスポンスが無視されるようになります。
.It Cm ripv2_out
可能な場合にマルチキャストができるよう、
RIPv1 の出力は行わず、RIPv2 による広告を行います。
.It Cm ripv2
.Cm no_ripv1_in
.Cm no_ripv1_out
を指定した場合と同じです。
.It Cm no_rdisc
Internet Router Discovery Protocol を無効にします。
.It Cm no_solicit
Router Discovery の要求を送信しません。
.It Cm send_solicit
たとえ point-to-point リンクであっても
Router Discovery の要求を送信します。
デフォルトでは Router Discovery のメッセージを聞くだけです。
.It Cm no_rdisc_adv
Router Discovery の広告の送信を行いません。
.It Cm rdisc_adv
たとえ point-to-point リンクであっても
Router Discovery の広告を送信します。
デフォルトでは Router Discovery のメッセージを聞くだけです。
.It Cm bcast_rdisc
Router Discovery のパケットをマルチキャストする代りにブロードキャストします。
.It Cm rdisc_pref Ns \&= Ns Ar N
Router Discovery の広告の優先度を整数
.Ar N
にします。
.It Cm rdisc_interval Ns \&= Ns Ar N
Router Discovery の広告を行う上での名目の送信間隔を N にし、その生存期間を
3*N にします。
.It Cm fake_default Ns \&= Ns Ar metric
指定したインタフェースのネットワークとネットマスクを使って
.Fl F Ar net[/mask][=metric]
を指定した場合と同じです。
.It Cm pm_rdisc
.Cm fake_default
に似ています。RIPv2 の経路がマルチキャストの場合、RIPv1 を聞いている
マシンはそれを受信することができないので、この機能を使えば RIPv1 のデフォルト
ルートが RIPv1 を聞いているマシンにブロードキャストされるようになります。
.Cm fake_default
で変更しない限り、
デフォルトルートは metric 14 でブロードキャストされます。
これは "能力の低い router discovery" プロトコルを提供することになります。
.It Cm trust_gateway Ns \&= Ns Ar rname
指定したルータや他の
.Cm trust_gateway
キーワードで指定したルータからの RIP パケットを受け付け、
これら以外からのパケットは無視するようになります。
.It Cm redirect_ok
システムがルータとして動作してパケットのフォワードを行っている場合に、
RIP が ICMP Redirect メッセージを許可するようになります。
そうでなければ、ICMP Redirect メッセージは上書きされます。
.El
.Pp
.Sh 関連ファイル
.Bl -tag -width /etc/gateways -compact
.It Pa /etc/gateways
遠隔ゲートウェイについての情報を記述するファイル。
.El
.Sh 関連項目
.Xr icmp 4 ,
.Xr udp 4 ,
.Xr gated 8 ,
.Xr rtquery 8
.Rs
.%T Internet Transport Protocols
.%R XSIS 028112
.%Q Xerox System Integration Standard
.Re
.Sh バグ
ネットワークインタフェースの一方向の失敗
(例えば、出力方向にのみ失敗するなど) を常に検出できるとは限りません。
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/rpc.rquotad.8 b/ja_JP.eucJP/man/man8/rpc.rquotad.8
index dce03b7195..4951c9b9b0 100644
--- a/ja_JP.eucJP/man/man8/rpc.rquotad.8
+++ b/ja_JP.eucJP/man/man8/rpc.rquotad.8
@@ -1,67 +1,67 @@
.\"
.\" Copyright (c) 1994 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.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Theo de Raadt.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: rpc.rquotad.8,v 1.1.1.1.2.2 1997/12/17 07:31:27 charnier Exp %
+.\" %Id: rpc.rquotad.8,v 1.5 1997/11/26 07:31:14 charnier Exp %
.\" jpman %Id: rpc.rquotad.8,v 1.3 1997/09/04 17:40:03 horikawa Stab %
.\"
.Dd June 22, 1994
.Dt RPC.RQUOTAD 8
.Os BSD 4.3
.Sh 名称
.Nm rpc.rquotad
.Nd リモートの quota (割り当て制限) サーバ
.Sh 書式
.Nm /usr/libexec/rpc.rquotad
.Sh 解説
.Nm
は、リモートマシンへ NFS マウントされているファイルシステムについて
ユーザに対するローカルマシンでの割り当て制限値を返す
.Xr rpc 3
サーバです。
.Xr quota 1
は、リモートファイルシステムの割り
当て制限値を表示するために本サーバを用います。
.Nm
は通常
.Xr inetd 8
から起動されます。
.Pp
.Nm
.Pa /usr/include/rpcsvc/rquota.x
で定義される
.Tn RPC
プロトコルを使用します。
.Sh バグ
.Bx 4.4
.Bx Free
はグループに対する割り当て制限をサポートしていますが、
rqutoa プロトコルはこれをサポートしていません。
.Sh 関連項目
.Xr quota 1
diff --git a/ja_JP.eucJP/man/man8/rpc.rstatd.8 b/ja_JP.eucJP/man/man8/rpc.rstatd.8
index e34c1dd854..f102159dc2 100644
--- a/ja_JP.eucJP/man/man8/rpc.rstatd.8
+++ b/ja_JP.eucJP/man/man8/rpc.rstatd.8
@@ -1,64 +1,64 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 1985, 1991 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.
.\"
-.\" %Id: rpc.rstatd.8,v 1.1.1.1.8.1 1997/12/17 07:33:09 charnier Exp %
+.\" %Id: rpc.rstatd.8,v 1.4 1997/11/26 07:34:54 charnier Exp %
.\"
.\" jpman %Id: rpc.rstatd.8,v 1.2 1997/05/22 08:05:12 mitchy Stab %
.Dd June 7, 1993
.Dt RPC.RSTATD 8
.Os BSD 4.3
.Sh 名称
.Nm rpc.rstatd
.Nd カーネル統計サーバー
.Sh 書式
.Nm /usr/libexec/rpc.rstatd
.Sh 解説
.Nm
はカーネルから性能統計を取得するサーバーです。
この統計は、
.Xr rup 1
コマンドを使って読むことができます。
.Nm
デーモンは通常
.Xr inetd 8
から起動されます。
.Pp
.Nm
.Pa /usr/include/rpcsvc/rstat.x
で定義された
.Tn RPC
プロトコルを使用します。
.Sh 関連項目
.Xr rup 1 ,
.Xr inetd 8
diff --git a/ja_JP.eucJP/man/man8/rpc.rusersd.8 b/ja_JP.eucJP/man/man8/rpc.rusersd.8
index 0421c53187..873447e281 100644
--- a/ja_JP.eucJP/man/man8/rpc.rusersd.8
+++ b/ja_JP.eucJP/man/man8/rpc.rusersd.8
@@ -1,68 +1,68 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 1985, 1991 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.
.\"
-.\" %Id: rpc.rusersd.8,v 1.1.1.1.8.1 1997/12/17 07:34:41 charnier Exp %
+.\" %Id: rpc.rusersd.8,v 1.5 1997/11/26 07:36:50 charnier Exp %
.\" jpman %Id: rpc.rusersd.8,v 1.2 1997/05/22 08:10:18 mitchy Stab %
.\"
.Dd June 7, 1993
.Dt RPC.RUSERSD 8
.Os BSD 4.3
.Sh 名称
.Nm rpc.rusersd
.Nd ログインしているユーザに関する情報のサーバ
.Sh 書式
.Nm /usr/libexec/rpc.rusersd
.Sh 解説
.Nm
は、システムに現在ログインしているユーザに関する情報を
返すサーバです。
.Pp
現在ログインしているユーザについて、
.Xr rusers 1
を用いることで問い合わせることが出来ます。
.Nm
デーモンは、通常
.Xr inetd 8
から起動されます。
.Pp
.Nm
は、
.Pa /usr/include/rpcsvc/rnusers.x
に定義された
.Tn RPC
プロトコルを使用します。
.Sh 関連項目
.Xr rusers 1 ,
-.Xr who 1 ,
.Xr w 1 ,
+.Xr who 1 ,
.Xr inetd 8
diff --git a/ja_JP.eucJP/man/man8/rpc.rwalld.8 b/ja_JP.eucJP/man/man8/rpc.rwalld.8
index 26d348165d..f3df438317 100644
--- a/ja_JP.eucJP/man/man8/rpc.rwalld.8
+++ b/ja_JP.eucJP/man/man8/rpc.rwalld.8
@@ -1,80 +1,80 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 1985, 1991 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.
.\"
-.\" %Id: rpc.rwalld.8,v 1.1.1.1.8.1 1997/12/17 07:36:28 charnier Exp %
+.\" %Id: rpc.rwalld.8,v 1.4 1997/12/02 12:20:10 charnier Exp %
.\" jpman %Id: rpc.rwalld.8,v 1.2 1997/05/22 08:15:10 mitchy Stab %
.\"
.Dd June 7, 1993
.Dt RPC.RWALLD 8
.Os BSD 4.3
.Sh 名称
.Nm rpc.rwalld
.Nd ログインしているユーザにメッセージを送るためのサーバ
.Sh 書式
.Nm /usr/libexec/rpc.rwalld
.Op Fl n
.Sh 解説
.Nm
は、システムにログインしている全てのユーザに対して
メッセージを送るためのサーバです。本サーバは
.Xr wall 1
を起動し、メッセージの送信を行ないます。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl n
デーモンになりません。
.Nm
.Xr inetd 8
から起動された場合のみ、本オプションを使用可能です。
.El
.Pp
メッセージは、
.Xr rwall 1
コマンドを用いて本サーバに送信されます。
.Nm
デーモンは、通常は
.Xr inetd 8
から起動されます。
.Pp
.Nm
は、
.Pa /usr/include/rpcsvc/rwall.x
に定義された
.Tn RPC
プロトコルを使用します。
.Sh 関連項目
.Xr rwall 1 ,
.Xr wall 1 ,
.Xr inetd 8
diff --git a/ja_JP.eucJP/man/man8/rpc.sprayd.8 b/ja_JP.eucJP/man/man8/rpc.sprayd.8
index f55f880378..526d29527b 100644
--- a/ja_JP.eucJP/man/man8/rpc.sprayd.8
+++ b/ja_JP.eucJP/man/man8/rpc.sprayd.8
@@ -1,59 +1,59 @@
.\"
.\" Copyright (c) 1994 Christos Zoulas
.\" 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 Christos Zoulas.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: rpc.sprayd.8,v 1.2.2.1 1997/12/17 07:38:17 charnier Exp %
+.\" %Id: rpc.sprayd.8,v 1.5 1997/12/02 12:25:31 charnier Exp %
.\" jpman %Id: rpc.sprayd.8,v 1.3 1997/09/04 17:42:05 horikawa Stab %
.\"
.Dd June 22, 1994
.Dt RPC.SPRAYD 8
.Os BSD 4.3
.Sh 名称
.Nm rpc.sprayd
.Nd spray 用サーバ
.Sh 書式
.Nm /usr/libexec/rpc.sprayd
.Sh 解説
.Nm
は、
.Xr spray 8
コマンドによって送出されたパケットを記録し、パケットの送出者に
ネットワークトラフィックの情報を送信するサーバです。
.Nm
は、通常
.Xr inetd 8
から起動されます。
.Pp
.Nm
は、
.Pa /usr/include/rpcsvc/spray.x
に定義された
.Tn RPC
プロトコルを使用します。
.Sh 関連項目
.Xr spray 8
diff --git a/ja_JP.eucJP/man/man8/rpc.yppasswdd.8 b/ja_JP.eucJP/man/man8/rpc.yppasswdd.8
index 6e83ed91f9..117e6c4075 100644
--- a/ja_JP.eucJP/man/man8/rpc.yppasswdd.8
+++ b/ja_JP.eucJP/man/man8/rpc.yppasswdd.8
@@ -1,326 +1,326 @@
.\" Copyright (c) 1995, 1996
.\" Bill Paul <wpaul@ctr.columbia.edu>. 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 contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: rpc.yppasswdd.8,v 1.4.2.2 1997/11/05 07:37:00 charnier Exp %
+.\" %Id: rpc.yppasswdd.8,v 1.9 1998/03/23 08:28:39 charnier Exp %
.\" jpman %Id: rpc.yppasswdd.8,v 1.3 1997/08/31 14:17:34 horikawa Stab %
.\"
.Dd February 8, 1996
.Dt RPC.YPPASSWDD 8
.Os
.Sh 名称
.Nm rpc.yppasswdd
.Nd "NIS パスワードを変更するためのサーバ"
.Sh 書式
.Nm rpc.yppasswdd
.Op Fl t Ar master.passwd template file
.Op Fl d Ar default domain
.Op Fl p Ar path
.Op Fl s
.Op Fl f
.Op Fl a
.Op Fl m
.Op Fl i
.Op Fl v
.Op Fl u
.Op Fl h
.Sh 解説
.Nm
デーモンは、ユーザが
.Xr yppasswd 1
.Xr ypchpass 1
コマンド使うことで、
NIS パスワードおよび他の情報を変更することを許します。
.Nm
は、パスワードの変更要求を受け入れ、その認証を行い、
.Pa /var/yp/master.passwd
ファイル中に更新された情報を配置し、
NIS の
.Pa master.passwd
マップと
.Pa passwd
マップを更新する、 RPC を使ったサーバです。
.Pp
.Nm
は、普通の NIS ユーザが、自分の NIS パスワード・
('GECOS'フィールドとして知られている)フルネーム・シェルを変更することを許します。
これらの更新は、典型的には
.Xr yppasswd 1 ,
.Xr ypchfn 1 ,
.Xr ypchsh 1 ,
.Xr ypchpass 1
コマンドを使って行われます。
(管理者の中には、ユーザが名前の情報やシェルを変更することを
望まない人もいます。サーバは、オプションフラグを使うことで、そのような
変更ができない様にできます。)サーバが更新要求を受け取ると、
.Pa /var/yp/securenets
ファイルに記述されている
.Pa securenets
規則 (securenets に関する詳細な情報は
.Xr ypserv 8
のマニュアルページを参照してください。
.Nm
サーバは、
.Xr ypserv 8
と同じアクセス制御機構を使います。)に照らして、
要求を行ったクライアントのアドレスを比較します。
.Pp
サーバは、その後ユーザが入力した '古い' パスワードが有効かどうかを
確認し、その後いくつかの更新情報のチェックを行います
(これらには、制御文字のチェックやコロンや有効なシェルのチェックを
含みます)。ひとたび更新要求が有効であることが満足されると、
サーバはパスワードテンプレートファイル (デフォルトでは、
.Pa /var/yp/master.passwd
です) を更新し、その後 NIS マップを再構築するために
.Pa /usr/libexec/yppwupdate
スクリプトを実行します。(このスクリプトは、二つの引数を受け取ります:
それらは変更されたパスワードテンプレートの相対パス名と更新された
ドメインの名前です。これらは、
.Pa /var/yp/Makefile
に渡されます。)
.Pp
.Bx Free
版の
.Nm
は、NIS マスタサーバ上のスーパユーザが NIS パスワードマップを更新するための
より洗練された方法を提供します。スーパユーザは任意のドメインの
任意のユーザの master.passwd エントリの任意のフィールドを変更できます。
これは、ユーザの現在の NIS パスワードについて知らなくても可能です
(サーバがスーパユーザからの要求を受け取ると、パスワード認証は
省略します)。そのうえ、サーバが
.Fl a
フラグ付きで実行された時には、スーパユーザは
.Xr ypchpass 1
を使って、新しいエントリをマップに付け加えることさえできます。
また、これは、 NIS マスタサーバ上のスーパユーザだけに適用されます。
これらの特別な機能はネットワークを介しては提供されません。
.Pp
.Nm
デーモンは、 NIS マスタサーバである機械上でだけ実行することが
できます。
.Sh オプション
以下のオプションが使用可能です:
.Bl -tag -width indent
.It Fl t Ar master.passwd template file
デフォルトでは、
.Nm
は、デフォルトドメインの
.Pa master.passwd
.Pa passwd
を生成するために使われるテンプレートファイルは、
.Pa /var/yp/master.passwd
であることを仮定しています。このデフォルトは、代わりのファイル名を
.Fl t
フラグとともに指定することで上書きできます。
.Pp
(注意): このフラグとともに指定されたテンプレートファイルが
.Pa /etc/master.passwd
である場合、
.Nm
は NIS のマップに加えてローカルのパスワードデータベースを
再構成するために、自動的に
.Xr pwd_mkdb 8
を呼び出します。
.It Fl d Ar domain
.Nm
サーバは複数のドメインを扱うことができますが、一つのドメインを
デフォルトとして選ばなければなりません。
.Xr domainname 1
コマンドによって設定されたシステムデフォルトのドメイン名を
使おうとします。しかしながら、システムドメイン名が設定されていない場合、
デフォルトドメイン名はコマンドラインで指定しなければなりません。
システムデフォルトドメインが設定されている場合、このオプションはその
定義を上書きします。
.It Fl p Ar path
このオプションは、デフォルトの NIS マップデータベースのパスを
上書きするために使われます。コンパイル時に指定されているデフォルトの
パスは
.Pa /var/yp
です。
.It Fl s
シェル情報の変更を認めません。
.It Fl f
フルネーム ('GECOS') 情報の変更を認めません。
.It Fl a
NIS パスワードデータベースへの追加を許可します。NIS マスタサーバ上の
スーパユーザは、
.Xr ypchpass 1
コマンドでユーザの
.Pa master.passwd
マップエントリのどんなフィールドでも、無制限の変更を行うことが
許されています。
.Nm
がこのフラグを付けて実行された場合、
.Xr chpass 1
を使用したローカルパスワードデータベース更新にて可能であるのと同様に、
スーパユーザが NIS パスワードマップに新しいレコードを追加することを許可します。
.It Fl m
マルチドメインモードを有効にします。
.Xr ypserv 8
は同時にいくつかのドメインを扱うことができますが、ほとんどの
.Nm
実装では、一つの NIS ドメインだけしか扱うことができません。
これは、一般に NIS マスタサーバのシステムデフォルトドメインと同じです。
.Bx Free
.Nm
は、
.Pa yppasswd
プロトコルでは
.Pa domain
引数をクライアントの要求中に含めることが出来ないという
プロトコル固有の制限にもかかわらず、
この問題を解決しようとしています。
マルチドメインモードでは、
.Nm
.Pa /var/yp
下の全ドメインの全パスワードマップを検索し、
与えられた更新要求で指定されたユーザ情報と一致するエントリを見付けます。
(一致したかどうかは、ユーザ名と UID および GID フィールドを調べることで
決定されます。) 一致したエントリとそのドメインはその後更新のために
使われます。
.Pp
マルチドメインモードがうまく動くためには、各ドメイン毎に
別々のテンプレートファイルが必要なことに注意してください。
例えば、サーバが 3 つのドメイン
.Pa foo ,
.Pa bar ,
.Pa baz
を提供している時、 3 つの別の master.passwd テンプレートファイル
.Pa /var/yp/foo/master.passwd ,
.Pa /var/yp/bar/master.passwd ,
.Pa /var/yp/baz/master.passwd
が必要です。
.Pa foo
がシステムデフォルトドメインであったとすると、そのテンプレートファイル
.Pa /var/yp/foo/master.passwd
もしくは
.Pa /var/yp/master.passwd
のどちらであっても構いません。
サーバは、後のファイルを先に確認し、見付からない場合には先のファイルを
確認します。
.Pp
デフォルトでは、マルチドメインモードにはなっていません。
これは、異なったドメインに同じもしくは似ているエントリが存在した場合
に失敗するからです。検索領域に複数のエントリを見付けた場合、
サーバは更新要求を停止します。
したがって、偏執的な管理者はマルチドメインモードを利用不可能にしたいと
思うでしょう。
.It Fl i
.Nm
がこのフラグ付きで呼び出された場合、マップ更新をその場で行おうとします。
この意味は、
パスワードテンプレートファイルを直接更新してマップ更新する代わりに、
サーバがマップデータベースを直接更新するということです。
これは、パスワードマップが大きい時に有効です。例えば、
パスワードデータベースに 10,000 ものエントリがある場合、マップの更新が
終了するまでに数分かかってしまいます。その場でマップを更新することで、
この時間を数秒までに減らすことができます。
.It Fl v
冗長なログモードに入ります。通常、サーバはエラー状態時や
スーパユーザによる NIS マスタサーバ上での更新n時に、
.Xr syslog 3
の能力を使ってメッセージを記録します。サーバが
.Fl v
オプションを使って実行されている時には、全ての更新に対する
情報メッセージを記録します。
.It Fl u
たくさんの商用の
.Xr yppasswd 1
クライアントは、
.Nm
への要求を送る時に予約ポートを使いません。
これは、
.Xr yppasswd 1
が root に set-uid されずにインストールされているか、 RPC の実装が
スーパユーザのためにクライアント接続が確立されたとき、
予約ポートを割り当てることをしないようになっているためです。
デフォルトでは、
.Nm
は、クライアントからの結果を予約ポートを使って受け取ることを期待します。
非特権ポートから受け取った要求は、排除されます。不幸にして、この振舞いは
特権ポートを使えないクライアントシステムからのパスワード更新要求を妨げます。
.Fl u
フラグを指定することで、
.Nm
は、特権ポートを使えない
.Xr yppasswd 1
でも働くように、特権ポートのチェックを無効にします。
これは、少しセキュリティを低下させますが、クライアントの振舞いを
変更できない場合には必要になるでしょう。
.It Fl h
.Nm
が理解できるフラグやオプションのリストを表示します。
.El
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /usr/libexec/yppwupdate
NIS マップを更新し、その後でプッシュするために、
.Nm
によって呼び出されるスクリプトです。
.It Pa /var/yp/master.passwd
デフォルトドメインのためのテンプレートパスワードファイルです。
.It Pa /var/yp/[domainname]/[maps]
特定の NIS ドメインのための NIS マップです。
.It Pa /var/yp/[domainname]/master.passwd
デフォルトでないドメインのための一時パスワードファイルです
(マルチドメインモードだけで使われます)。
.El
.Sh 関連項目
.Xr yp 4 ,
.Xr yppush 8 ,
.Xr ypserv 8 ,
.Xr ypxfr 8
.Sh バグ
yppasswd.x プロトコル定義で記述されているように、
YPPASSWDPROC_UPDATE プロシジャは二つの引数を取ります。
更新するユーザ情報を含む V7 形式のパスワード構造および、
ユーザの暗号化されない (クリアテキスト) パスワードです。
.Nm
はリモートの NIS クライアントマシンからの更新要求を扱うことを
仮定しています。これは、
.Xr yppasswd 1
や似たようなクライアントプログラムがネットワークを通して、
ユーザのクリアテキストパスワードを転送するということを意味します。
.Pp
これはパスワード更新では問題ではありません。
なぜなら、更新と共に送られるプレインテキストパスワードは、
新しい暗号化されたパスワードが有効になった時には無効になっているからです。
しかし、ユーザが自分の 'GECOS' 情報やシェルを更新する場合には、
更新と共に送られるクリアテキストパスワードは、
更新完了時にも有効です。
ネットワークがセキュアでない場合、このクリアテキストパスワードは、
途中でとらえられ、
そのユーザアカウントに対する不正アクセスに使用されるかも知れません。
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja_JP.eucJP/man/man8/rpc.ypxfrd.8 b/ja_JP.eucJP/man/man8/rpc.ypxfrd.8
index bad7b885c0..8dac7ce484 100644
--- a/ja_JP.eucJP/man/man8/rpc.ypxfrd.8
+++ b/ja_JP.eucJP/man/man8/rpc.ypxfrd.8
@@ -1,139 +1,139 @@
.\" Copyright (c) 1995, 1996
.\" Bill Paul <wpaul@ctr.columbia.edu>. 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 contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: rpc.ypxfrd.8,v 1.1.1.1.2.2 1997/10/14 06:40:05 charnier Exp %
+.\" %Id: rpc.ypxfrd.8,v 1.7 1998/03/23 08:28:49 charnier Exp %
.\" jpman %Id: rpc.ypxfrd.8,v 1.3 1997/09/04 17:48:28 horikawa Stab %
.\"
.Dd June 2, 1996
.Dt RPC.YPXFRD 8
.Os
.Sh 名称
.Nm rpc.ypxfrd
.Nd "NIS マップ転送サーバ"
.Sh 書式
.Nm rpc.ypxfrd
.Op Fl p Ar path
.Sh 解説
.Nm
デーモンは NIS マスタサーバから NIS スレーブサーバへの巨大な NIS
マップの配布を高速化するためのに使われます。通常、マップの転送はいくつ
かの手順を経ます:
.Bl -bullet -offset indent
.It
マスタサーバが
.Xr yppush 8
を呼び出し、スレーブサーバが転送を開始するよう指示します。
.It
スレーブサーバは、
.Xr ypxfr 8
を起動します。
.Xr ypxfr 8
は、マスタサーバから yp_all() を使ってマップの内容をすべて読みます。
.It
次に
.Xr ypxfr 8
は、
.Xr db 3
ライブラリを使ってサーバから受け取ったデータをハッシュし新しいマップ
データベースファイルを作成します。
.It
全てのデータを書き終えてから、
.Xr ypxfr 8
は、新しいファイルを置き換え、ローカルマシンの
.Xr ypserv 8
宛にデータベースハンドルを更新するよう YPPROC_CLEAR を送ります。
.El
.Pp
巨大なマップが含まれている場合、この処理に数分かかることがあります。
たとえば、数万のエントリのあるパスワードデータベースでは、数メガバイト
のディスクを消費し、
.Xr db 3
ライブラリがハッシュテーブルに全てのエントリをソートし納めるのに
長時間かかります。さらに、マップファイルは2セットあります:
.Pa master.passwd.by{name,uid}
.Pa passwd.by{name,uid}
です。
.Pp
.Nm
サーバは NIS スレーブサーバがマスターサーバのマップファイルを
コピーし、マップファイルの構築を行わないことで、転送処理を高速化し
ます。
.Nm
は、単に RPC ベースのファイル転送プロトコルを実装しているだけです。
十分に高速なスレーブサーバが数メガバイトのファイルからマップを構築する
のに数分かかるのにたいし、転送では数秒しかかかりません。
.Pp
.Nm
サーバは、
.Xr ypserv 8
と同じアクセス制限メカニズムを使っています。
したがって、
.Xr securenets 5
データベースで許されているスレーブサーバのみがファイルを転送できます。
さらに、reserved ポートを使うスレーブサーバのみが、
.Pa master.passwd
マップを転送することを許されています。
.Sh オプション
オプションは以下の通りです:
.Bl -tag -width indent
.It Fl p Ar path
このオプションにより、デフォルトの NIS データベースへのパスを変更しま
す。デフォルトパスは、
.Pa /var/yp
です。
.El
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /var/yp/[domainname]/[maps]
ある NIS ドメインの NIS マップ群。
.El
.Sh 関連項目
.Xr yp 4 ,
.Xr yppush 8 ,
.Xr ypserv 8 ,
.Xr ypxfr 8
.Sh バグ
.Bx Free
.Nm
プロトコルは SunOS で使われているものと互換性がありません。これは残念な
ことではありますが、避けることが出来ません: Sun のプロトコルは
自由に入手することは出来ず、さらに入手できたとしても、
SunOS NIS v2 の実装ではマップデータベースに ndbm パッケージを使ってお
り、
.Bx Free
の実装で使われている Berkeley DB パッケージではないため不便です。
これらの二つのパッケージ間のフォーマットは非常に異なっています。
さらに、 ndbm はバイトオーダの問題があり、ビッグエンディアンのシステムで
作った ndbm データベースはリトルエンディアンのシステムでは読むことが出来
ません。
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja_JP.eucJP/man/man8/rpcinfo.8 b/ja_JP.eucJP/man/man8/rpcinfo.8
index 9eb2750dfd..3fa69ec970 100644
--- a/ja_JP.eucJP/man/man8/rpcinfo.8
+++ b/ja_JP.eucJP/man/man8/rpcinfo.8
@@ -1,157 +1,157 @@
.\" from: @(#)rpcinfo.8c 2.2 88/08/03 4.0 RPCSRC; from 1.24 88/02/25 SMI
+.\" %Id: rpcinfo.8,v 1.4 1997/08/06 06:49:06 charnier Exp %
.\" jpman %Id: rpcinfo.8,v 1.2 1997/05/20 01:33:31 mutoh Stab %
-.\" %Id: rpcinfo.8,v 1.1.8.1 1997/08/07 06:40:10 charnier Exp %
.\"
.Dd December 17, 1987
.Dt RPCINFO 8
.Os
.Sh 名称
.Nm rpcinfo
.Nd RPC に関する情報を表示する
.Sh 書式
.Nm rpcinfo
.Fl p
.Op Ar host
.Nm rpcinfo
.Op Fl n Ar portnum
.Fl u Ar host
.Ar program
.Op Ar version
.Nm rpcinfo
.Op Fl n Ar portnum
.Fl t Ar host
.Ar program
.Op Ar version
.Nm rpcinfo
.Fl b
.Ar program version
.Nm rpcinfo
.Fl d
.Ar program version
.Sh 解説
.Nm
は、
.Tn RPC
サーバに対して
.Tn RPC
呼び出しを行ない、得られた情報を表示します。
.Sh オプション
.Bl -tag -width indent
.It Fl p
指定されたホスト上のポートマッパーを検出し、そこに登録されている全ての
.Tn RPC
プログラムの一覧を出力します。
.Ar host
が指定されない場合、
.Xr hostname 1
コマンドをオプション無しで実行した時に出力されるホスト名が
.Ar host
として採用されます。
.It Fl u
.Tn UDP
プロトコルを用いて、指定したホスト上のプログラムの手続き 0 に対して
.Tn RPC
呼び出しを行ないます。そして、応答があったかどうかを報告します。
.It Fl t
.Tn TCP
プロトコルを用いて、指定したホスト上のプログラムの手続き 0 に対して
.Tn RPC
呼び出しを行ないます。そして、応答があったかどうかを報告します。
.It Fl n
.Fl t
.Fl u
オプション使用時に、ポートマッパーに与えられたポート番号のかわり
に、引数
.Ar portnum
で指定した番号をポート番号として用います。
.It Fl b
.Tn UDP
プロトコルを用いて、引数
.Ar program
および
.Ar version
で指定したプログラムに対し、手続き 0 に
.Tn RPC
ブロードキャストを行ないます。そして、応答のあった全てのホストにつ
いてのレポートを出力します。
.It Fl d
引数
.Ar program
および
.Ar version
で指定したプログラムの
.Tn RPC
サービスへの登録を削除します。
本オプションは、スーパーユーザのみ指定可能です。
.El
.Pp
引数
.Ar program
は、名称・番号のいずれでも構いません。
.Pp
もし引数
.Ar version
が指定されると、
.Nm
は引数
.Ar program
で指定されたプログラムのそのバージョンの呼び出しを試みます。
.Ar version
が指定されなかった場合、
.Nm
.Ar program
で指定されたプログラムに対してバージョン 0 呼びだしを行なうことで、
全ての登録されているバージョンについて検索を試みます
(バージョン 0 は存在しないと仮定してのものです。もし存在すれば
.Ar rpcinfo
は極端に高いバージョンを使って情報を得ようとします)。
.Fl b
および
.Fl d
オプションには、バージョン番号の指定が必要であることに注意して下さい。
.Sh 使用例
ローカルマシンに登録されている全ての
.Tn RPC
サービスを見るには、次のようにします:
.Pp
.Dl example% rpcinfo -p
.Pp
ホスト名 klaxon 上に登録されている全ての
.Tn RPC
サービスを見るには、次のようにします:
.Pp
.Dl example% rpcinfo -p klaxon
.Pp
NIS サービス (Yellow Page サービス) が稼働している
ローカルネットワーク上に接続されているマシンすべてを表示するには、
次のようにします:
.Pp
.Dl example% rpcinfo -b ypserv 'version' | uniq
.Pp
\&'version' のところには、上記
.Fl p
オプションの結果から得られた現在の NIS サービス
(Yellow Page サービス)
のバージョンを使います。
.Pp
バージョン 1 の
.Nm walld
サービスを削除するには、次のようにします:
.Pp
.Dl example% rpcinfo -d walld 1
.Sh 関連項目
.Xr rpc 5 ,
.Xr portmap 8
.Rs
.%T "RPC Programming Guide"
.Re
.Sh バグ
SunOS 3.0 以前のリリースでは、ネットワークファイルシステム (
.Tn NFS
) がポートマッパーに登録されていません。そのため
.Nm
は、そのような OS が稼働しているマシンに対して
.Tn RPC
呼び出しを行なうことが出来ません。
diff --git a/ja_JP.eucJP/man/man8/rshd.8 b/ja_JP.eucJP/man/man8/rshd.8
index bd52178f20..4c05a8c951 100644
--- a/ja_JP.eucJP/man/man8/rshd.8
+++ b/ja_JP.eucJP/man/man8/rshd.8
@@ -1,226 +1,226 @@
.\" Copyright (c) 1983, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)rshd.8 8.1 (Berkeley) 6/4/93
-.\" %Id: rshd.8,v 1.4.2.3 1998/02/18 11:52:19 markm Exp %
+.\" %Id: rshd.8,v 1.11 1997/12/18 07:39:27 charnier Exp %
.\" jpman %Id: rshd.8,v 1.4 1997/08/10 18:35:56 horikawa Stab %
.\"
.Dd June 4, 1993
.Dt RSHD 8
.Os BSD 4.2
.Sh 名称
.Nm rshd
.Nd リモートシェルのサーバ
.Sh 書式
.Nm rshd
.Op Fl alnL
.Sh 解説
.Nm
は、
.Xr rcmd 3
ルーチンのためのサーバであり、結果として
.Xr rsh 1
の実行のために必要となるサーバです。
.Nm
は、信頼できるホストからの特権ポート番号に基づいた
認証を行なうことによって、プログラムのリモート実行機能を提供します。
.Pp
.Nm
サーバは、``cmd'' サービスに割り当てられたポート (
.Xr services 5
参照) でサービス要求を受け付けます。サービス要求を受信すると、
サーバは以下の手順を開始します:
.Bl -enum
.It
サーバは、クライアントの要求元ポート番号のチェックをおこないます。
要求元ポート番号
が 512 から 1023 の範囲にない場合、サーバは接続を強制切断します。
.It
サーバは、ソケットから
.Tn ヌル
バイト (`\e0') を検出するまで文字を読みます。
受信文字列は、
.Tn ASCII
コードによる 10 進数の数値に変換します。
.It
ステップ 2 で受信した数値が 0 でない場合、その数値を
.Em 標準エラー出力
で使用する 2 番目のストリームのポート番号として解釈します。
そしてクライアントマシン上でも指定されたポート番号の 2 番目の接続を生成します。
この 2 番目の接続の要求元ポート番号も、512 から 1023 の範囲で指定します。
.It
サーバは、クライアントの要求元アドレスをチェックし、該当するホスト名を要求し
ます (
.Xr gethostbyaddr 3 ,
.Xr hosts 5 ,
.Xr named 8
を参照してください)。ホスト名が特定
できない場合、ドット表記法によるホストアドレスを用います。
ホスト名で指定されたホストがサーバと同一の
ドメインに存在する場合 (ドメイン名の最後の 2 つの部分が一致する場合)、
または
.Fl a
オプションが与えられた場合は、ホスト名に対応したアドレスを要求して
名前とアドレスの対応をチェックします。もしこの対応が不正なもので
あった場合、接続を強制切断し、``Host address mismatch.'' の
メッセージを表示します。
.It
最初のソケットを介して、ヌル終端された最大 16 文字の
ユーザ名を取得します。ユーザ名は、
.Em クライアント
マシン上のユーザ識別に使用します。
.It
最初のソケットを介して、ヌル終端された最大 16 文字の
ユーザ名を取得します。ユーザ名は、
.Em サーバ
マシン上のユーザ認証に使用します。
.It
最初のソケットを介して、シェルに渡されるべき、ヌル終端された
コマンドを取得します。コマンド長の制限は、システムの引数リスト
サイズの上限に依存します。
.It
.Nm
は、
.Pa /etc/hosts.equiv
および当該ユーザのホームディレクトリ上に存在する
.Pa .rhosts
ファイルを用いる
.Xr ruserok 3
を使用して、ユーザ認証を行います。
.Fl l
オプションは、ユーザがスーパユーザでない限り、
.Pa .rhosts
ファイルに基づいた
.Xr ruserok 3
のすべての認証をおこなわないようにします。
.It
.Pa /etc/nologin
ファイルが存在し、ユーザがスーパユーザでない場合、接続を
切断します。
nologin ファイルの名前に関しては、
.Pa login.conf
にて
ローカルユーザのログインクラスに関する nologin ケーパビリティが優先します。
ログインクラスは、ログイン時間(times.allow と times.denny ケーパビリティ)
およびリモートホスト(hosts.allow と hosts.denny ケーパビリティ)による
.Xr rsh 1
アクセスの制限にも使われます。
.It
最初のソケットを用いて
.Tn ヌル
バイトを返し、コマンドライン
を、ユーザの通常のログインシェルに渡します。シェルは
.Nm
によって確立されたネットワーク接続を継承します。
.El
.Pp
.Fl n
オプションが与えられないかぎり、トランスポートレベルの keepalive メッセージが
有効になります。keepalive メッセージを使用することによって、
クライアントプロセスが異常終了するか、もしくはネットワーク到達不可に
なった場合にセッションをタイムアウトで終了させることができます。
.Pp
.Fl L
オプションを用いることで、すべての正常なアクセスを
.Xr syslogd 8
を経由して
.Li auth.info
メッセージとして、ログします。
.Sh 診断
以下に示す例のうち最後のものを除き、
すべての診断メッセージを最初のソケットを用いて返した後、
すべての接続をクローズします。
エラーは、先行する 1 バイトとして値 1 が返されるこ
とでわかります (ログインシェル実行の前のすべてのステップが正常に完了した場合、
上記のステップ 10 の処理で 0 を返します)。
.Bl -tag -width indent
.It Sy Locuser too long.
クライアントマシン上のユーザ名が、16 文字を超えています。
.It Sy Ruser too long.
リモートマシン上のユーザ名が、16 文字を超えています。
.It Sy Command too long.
渡されたコマンドラインの長さが、引数リストの大きさを超えています
(システムに依存します)。
.It Sy Login incorrect.
当該ユーザに関するエントリが、パスワードファイルに登録されていないか、
上述の認証手続きに失敗しました。
.It Sy Remote directory.
ホームディレクトリへの
.Xr chdir 2
巻数が失敗しました。
.It Sy Logins not available right now.
ローカルユーザのログインクラスに対する
.Pa login.conf
において、許された時間以外で
.Xr rsh 1
が試されました。
.It Sy Can't make pipe.
.Em 標準エラー出力
に必要なパイプを作成できませんでした。
.It Sy Can't fork; try again.
サーバによる
.Xr fork 2
が失敗しました。
.It Sy <shellname>: ...
ユーザのログインシェルを起動できませんでした。本メッセージの出力は
.Em 標準エラー出力
に関連づけられたコネクションを介して返されますので、
フラグバイトは先行しません。
.El
.Sh 関連項目
.Xr rlogin 1 ,
.Xr rsh 1 ,
.Xr gethostbyaddr 3 ,
.Xr rcmd 3 ,
.Xr ruserok 3 ,
.Xr hosts 5 ,
.Xr login.conf 5 ,
.Xr nologin 5 ,
.Xr services 5 ,
.Xr named 8 ,
.Xr rlogind 8 ,
.Xr syslogd 8 .
.Sh 関連ファイル
.Bl -tag -width /etc/hosts -compact
.It Pa /etc/hosts
.It Pa /etc/hosts.equiv
.It Pa /etc/login.conf
.It Pa $HOME/.rhosts
.It Pa /etc/nologin
.El
.Sh バグ
ここで用いられているユーザ認証手順は、各クライアントマシンおよび接続媒体が
信頼できるものと仮定しています。
これは安全ではないですが、``オープン'' な環境下では便利です。
.Pp
全てのデータについて暗号化を行なう機能が実装されるべきです。
.Pp
TELNET のような、もっと拡張性のあるプロトコルが用いられるべきです。
diff --git a/ja_JP.eucJP/man/man8/rtquery.8 b/ja_JP.eucJP/man/man8/rtquery.8
index 7199b8cd3c..8fa0fd5037 100644
--- a/ja_JP.eucJP/man/man8/rtquery.8
+++ b/ja_JP.eucJP/man/man8/rtquery.8
@@ -1,134 +1,134 @@
-.\" %Id: rtquery.8,v 1.1.1.1.2.5 1998/08/12 06:54:23 charnier Exp %
+.\" %Id: rtquery.8,v 1.8 1998/07/28 06:36:30 charnier Exp %
.\" jpman %Id: rtquery.8,v 1.2 1997/06/12 07:55:04 yugawa Stab %
.Dd June 1, 1996
.Dt RTQUERY 8
.Os BSD 4.4
.Sh 名称
.Nm rtquery
.Nd ルーティングデーモンが持つルーティングテーブルの問い合わせ
.Sh 書式
-.Nm
+.Nm rtquery
.Op Fl np1
.Op Fl w Ar timeout
.Op Fl r Ar addr
.Op Fl a Ar secret
-.Ar host ...
-
-.Nm
+.Ar host
+.Ar
+.Nm rtquery
.Op Fl t Ar op
-.Ar host ...
+.Ar host
+.Ar
.Sh 解説
.Nm
は、RIP ネットワークルーティングデーモン、すなわち、
.Xr routed 8
あるいは
.Xr gated 8
.Em request
ないし
.Em poll
コマンドを送る事によりそのルーティングテーブルの問い合わせを行います。
返答のあった全てのルーティング
.Em 応答
パケットについてのルーティング情報が数値およびシンボル名を用いて表示されます。
.Pp
デフォルトでは、
.Nm
.Em request
コマンドを使用します。
.Fl p
オプションが指定された場合、
.Nm
.Em poll
コマンドを使用します。
これは、
.Xr gated 8
でサポートされている、RIP プロトコルへの文書化されていない拡張コマンドです。
.Xr gated 8
への問い合わせを行う場合は、
.Em request
コマンドより
.Em poll
コマンドを使用する事をお薦めします。なぜなら、応答が Split Horizon や
Poisoned Reverse の影響を受けることがなく、また、ある種のバージョンの
.Xr gated 8
は、
.Em request
に対して返答を行わないからです。
.Nm routed
.Em poll
コマンドに対しては返答しませんが、
.Nm
からの
.Em request
コマンドを認識し、完全な返答をします。
.Pp
.Nm
は、
.Nm routed
のトレース機能を有効にしたり無効にしたりする場合にも用いられます。
.Pp
-.Nm
-には以下のオプションがあります。
-.Bl -tag -width Ds
+以下のオプションを使用可能です:
+.Bl -tag -width indent
.It Fl n
通常、ネットワークおよびホスト番号はシンボル名および数値の両方で表示されます。
.Fl n
オプションはネットワークおよびホスト番号を数値のみで表示します。
.It Fl p
.Xr gated 8
から得られる完全なルーティング情報を得るために
.Em Poll
コマンドを使用します。
これは、
.Xr gated 8
のみでサポートされている、RIP プロトコルへの文書化されていない拡張コマンドです。
.It Fl 1
RIP バージョン 2 ではなく、RIP バージョン 1 を使用して問い合わせを行います。
.It Fl w Ar timeout
各ホストから返答を待つ猶予時間を変更します。
デフォルトでは、返答があるまで 15 秒間待ちます。
.It Fl r Ar addr
到達先
.Em addr
への経路を問い合わせます。
.It Fl a Ar passwd=XXX
.It Fl a Ar md5_passwd=XXX|KeyID
問い合わせの際に、指定されたクリアテキストないし MD5 のパスワードを
使用します。
.It Fl t Ar op
トレース方法を変更します。
.Em op
には、以下のうちのひとつを指定します。
通常、UID 0 以外のプロセスからの問い合わせや、遠隔ネットワークからの
問い合わせは、システムのログにメッセージを記録するだけで、無視されます。
.Xr gated 8
は、大抵、これらのデバッグの問い合わせを無視します。
.El
.Bl -tag -width Ds -offset indent-two
.It Em on=tracefile
トレースを有効にし、指定されたファイルに記録します。このファイルは、
通常、デーモンが実行を開始した時に指定されるか、一般的な、
.Pa /etc/routed.trace
等の決まった名前でなければなりません。
.It Em more
デバッグレベルを増加させます。
.It Em off
トレースを無効にします。
.It Em dump
デーモンのルーティングテーブルを現在のトレースファイルにダンプします。
.El
.Sh 関連項目
.Xr gated 8 ,
.Xr routed 8
.Rs
.%T Routing Information Protocol, RIPV1
.%O RFC1058
.Re
.Rs
.%T Routing Information Protocol, RIPv2
.%O RFC1723
.Re
diff --git a/ja_JP.eucJP/man/man8/sa.8 b/ja_JP.eucJP/man/man8/sa.8
index 1a98b5bc98..83e7a56c80 100644
--- a/ja_JP.eucJP/man/man8/sa.8
+++ b/ja_JP.eucJP/man/man8/sa.8
@@ -1,230 +1,230 @@
.\"
.\" Copyright (c) 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 acknowledgement:
.\" This product includes software developed by Christopher G. Demetriou.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" %Id: sa.8,v 1.4.2.3 1998/07/18 11:12:27 jkh Exp %
+.\" %Id: sa.8,v 1.9 1998/03/23 08:29:09 charnier Exp %
.\" jpman %Id: sa.8,v 1.2 1997/03/31 15:00:26 horikawa Stab %
.\"
.Dd February 25, 1994
.Dt SA 8
.Os
.Sh 名称
.Nm sa
.Nd システムアカウント統計情報を表示する
.Sh 書式
.Nm sa
.Op Fl abcdDfijkKlmnqrstu
.Op Fl v Ar cutoff
.Op Ar file ...
.Pp
.Sh 解説
.Nm
は、システムアカウント統計情報の表示と、アカウント情報ファイルの
維持管理を行います。
.Pp
.Nm
を使えば、
.Pa /var/account/acct
に含まれる情報を、
サマリファイル
.Pa /var/account/savacct
.Pa /var/account/usracct
凝縮して収めることができます。これらのファイルには、コマンド名やユーザ ID
にもとづいたシステムの統計情報が記録されます。これらのサマリファイルは、
.Pa /var/account/acct
が 1 日に数百ブロックも大きくなるような利用者の多い
システムでは必要になります。
通常、アカウント情報ファイルの前にサマリファイルを読み込むため、
レポートには全ての保存されている情報が含まれます。
.Pp
.Ar file
が与えられると、
.Pa /var/account/acct
のかわりにそのファイル
が読み込まれます。各ファイルが読み込まれたあと、サマリファイルを更新する
必要があればディスクにセーブされます。最後のファイルが処理されたあと、
報告が表示されます。
.Pp
個々のオプションで指定されるものを除いて、以下に示すラベルが出力で使わ
れます。
.Pp
.Bl -tag -width k*sec
.It avio
実行時の I/O 操作の平均回数
.It cp
ユーザ時間とシステム時間の合計(単位:分)
.It cpu
.Dv cp
と同じ
.It k
CPU 時間1秒あたりのメモリ使用量(単位:KB)
.It k*sec
CPU 時間で積分したメモリ使用量(単位:1KB秒)
.It re
実時間(単位:分)
.It s
システム時間(単位:分)
.It tio
I/O 操作の合計回数
.It u
ユーザ時間(単位:分)
.El
.Pp
オプション:
.Bl -tag -width Ds
.It Fl a
全コマンド名を表示します。表示できない文字を含んだコマンドなども含みます
デフォルトでは表示できない文字を含むコマンドは、``***other'' に含まれます。
.It Fl b
コマンド統計情報を表示する場合、ユーザ時間とシステム時間の合計を
コマンドの呼び出し回数で割った値でソートして表示します。
.It Fl c
表示される呼び出し回数・実時間・CPU 時間それぞれに関して、コマン
ド全体に対するそのコマンドの割合をパーセンテージ表示します。
.It Fl d
コマンド統計情報を表示する場合は、ディスク I/O 操作の平均回数でソートします。
ユーザ統計情報を表示する場合は、各ユーザのコマンドあたりのディスクI/O操作回数を表示します。
.It Fl D
コマンド統計を表示する場合は、ディスク I/O 操作の合計回数でソートします。
.It Fl f
.Fl v
を使用する際、ユーザに問い合わせを行いません。
.It Fl i
サマリファイルを読みません。
.It Fl j
各コマンドの合計時間(単位:分)の代わりに、
各コマンドの消費時間(合計時間/呼び出し回数; 単位:秒)を
表示します。
.It Fl k
コマンド統計情報を表示する場合は、CPU 時間 1 秒あたりのメモリ使用量で
ソートします。ユーザ統計を表示する場合は、
CPU 時間 1 秒あたりのメモリ使用量を表示します。
.It Fl K
コマンド統計を表示する場合は、CPU 時間で積分したメモリ使用量を表示し、
これでソートします。
.It Fl l
システム時間とユーザ時間を別々に表示します。普通は合計して表示されます。
.It Fl m
コマンド統計情報のかわりに、ユーザ統計を表示します。
.It Fl n
呼び出し回数でソートします。
.It Fl q
エラーメッセージ以外の出力は行いません。
.It Fl r
逆順でソートします。
.It Fl s
データをサマリファイルに加えたあと、アカウント情報ファイルを空にします。
.It Fl t
各コマンドごとに、実時間/CPU 時間(システムとユーザ時間)の値を表示します。
CPU時間が小さすぎる場合は、``*ignore*'' が表示されます。
.It Fl u
他のオプションを打ち消して、アカウント情報ファイルからユーザ ID、
CPU を使用した合計秒数、合計メモリ使用量、I/O 操作回数、コマンド名
を表示します。
.It Fl v Ar cutoff
.Pp
.Ar cutoff
時間以下のコマンドについて、
コマンド名を表示し、
ユーザに問い合わせを行います。返答として ``y'' で始まる文字列を入力すると、
そのコマンドは ``**junk**'' に分類されます。このオプションは、報告の
なかから意味のないコマンドを取り除くために使われます。
.El
.Pp
デフォルトでは、コマンド統計を表示します。
各行には、コマンドの呼び出し回数、コマンドの経過時間(分)、
ユーザ時間とシステム時間を合計した CPU 時間、
平均の I/O 操作回数、CPU 時間 1 秒あたりのメモリ使用量、
コマンド名が列挙されます。
.Fl m
が指定された場合は、ユーザ統計を表示します。
それぞれの行は、各ユーザのユーザ名、コマンド実行回数、
合計 CPU 時間(分)、合計I/O操作回数、
CPU 時間で積分したメモリ使用量から構成されています。もし
.Fl u
が指定されると、アカウント情報
ファイルに記録されている各エントリを表示します。
各行は、ユーザ ID、CPU 時間(秒)、CPU 時間で積分したメモリ使用量、
I/O 操作回数、コマンド名から構成されています。
.Pp
.Fl u
が指定されると、
.Fl q
を除いて、他のオプションは無視されます。
.Fl m
が指定されると、
.Fl b ,
.Fl d ,
.Fl i ,
.Fl k ,
.Fl q ,
.Fl s
フラグだけが認識されます。
.Pp
成功した場合は 0 を、エラーが発生した場合は 0 より大きな値を返します。
.Sh 関連ファイル
.Bl -tag -width /var/account/usracct -compact
.It Pa /var/account/acct
生のアカウント情報ファイル
.It Pa /var/account/savacct
コマンドごとのサマリデータベースファイル
.It Pa /var/account/usracct
ユーザごとのサマリデータベースファイル
.El
.Sh 関連項目
.Xr lastcomm 1 ,
.Xr acct 5 ,
.Xr ac 8 ,
.Xr accton 8
.Sh バグ
このプログラムのオプションには不合理なものがいっぱいあります。特に
オプション文字は、機能とあまり関係がありません。
.Pp
各ラベルにはもっと一貫性があるべきです。
.Pp
仮想メモリ(VM)システムでは、CPU 時間で積分したメモリの使用量は記録されません。
.Sh 注意
この
.Nm
のオプションは、オリジナルの
.Nm
をもとに
していますが、内部的にもですが明らかに外部的にも変更点があります。特に
.Fl q
が追加され、
.Fl m
は以前よりも多くのオプションが利用可能です。
.Pp
サマリファイルのフォーマットはオリジナルのもの
から変更されていますが、ユーザ id が 32ビットに
なってアカウントのフォーマットも変更されている
ので、これは問題ありません。
.Sh 作者
.An Chris G. Demetriou Aq cgd@postgres.berkeley.edu
diff --git a/ja_JP.eucJP/man/man8/savecore.8 b/ja_JP.eucJP/man/man8/savecore.8
index 85c3127a6e..2d87abfd15 100644
--- a/ja_JP.eucJP/man/man8/savecore.8
+++ b/ja_JP.eucJP/man/man8/savecore.8
@@ -1,130 +1,130 @@
.\" 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
+.\" %Id: savecore.8,v 1.7 1998/07/28 06:38:57 charnier Exp %
.\" jpman %Id: savecore.8,v 1.3 1997/08/16 13:41:03 horikawa Stab %
-.\" %Id: savecore.8,v 1.4 1996/10/13 18:12:20 fenner Exp %
.\"
.Dd September 23, 1994
.Dt SAVECORE 8
.Os BSD 4
.Sh 名称
.Nm savecore
.Nd オペレーティングシステムのコアダンプを保存する
.Sh 書式
.Nm savecore
.Fl c
.Nm savecore
.Op Fl fvz
.Op Fl N Ar system
.Ar directory
.Sh 解説
-.Nm savecore
+.Nm
は現在動作中のカーネルおよびそのコアダンプをディレクトリ
.Fa directory
内にコピーし、
リブートメッセージとコアダンプ情報をシステムログに書き出します。
.Pp
オプションは以下の通りです:
-.Bl -tag -width directory
+.Bl -tag -width indent
.It Fl c
ダンプをクリアし、これ以降起動される
-.Nm savecore
+.Nm
でそれが用いられないようにします。
.It Fl f
ダンプが正しくないと思われる場合や、ディスク容量が不足している場合でも、
強制的にダンプをとります。
.It Fl N
(
.Xr getbootfile 3
で決定される)
動作中のカーネルの代わりに、
.Ar system
をカーネルとして用います。
.It Fl v
より詳しいデバッグ情報を出力します。
.It Fl z
コアダンプとカーネルを圧縮します(
.Xr compress 1
参照)。
.El
.Pp
-.Nm savecore
+.Nm
は様々な方法を用いてコアダンプが最新であること、
およびそのコアダンプが現在動作しているシステムに対応するものであることを
確認します。
このチェックにパスすると、
.Nm
はコアイメージを
.Ar directory Ns Pa /vmcore.#
に保存し、システムを
.Ar directory Ns Pa /kernel.#
に保存します。
``#'' はファイル
.Ar directory Ns Pa /bounds
先頭からの行数で、
-.Nm savecore
+.Nm
が正常に実行されるたびにインクリメントされてファイルに書き戻されます。
.Pp
-.Nm savecore
+.Nm
はまた、コピーを作る前にディスク容量が足りているかどうかチェックします。
.Ar directory
を含むファイルシステムのディスク容量が不足している場合、
あるいは、
.Ar directory Ns Pa /minfree
が存在し、ファイル生成後のそのファイルシステムの
(非スーパユーザに対する)残りキロバイト数が
このファイル先頭行の数値より小さい場合、
コピー作成は試みられません。
.Pp
-.Nm savecore
+.Nm
がカーネルとコアダンプのコピーに成功すると、
コアダンプはクリアされ、その後の
-.Nm savecore
+.Nm
では用いられないようになります。
.Pp
-.Nm savecore
+.Nm
は初期化ファイル
.Pa /etc/rc
の最終段階付近で呼び出されることを想定しています(
.Xr rc 8
参照)。
.Sh バグ
minfree コードは圧縮の効果を考慮していません。
.Sh 関連項目
.Xr compress 1 ,
.Xr getbootfile 3 ,
.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 46c875a8dc..3b4761e31d 100644
--- a/ja_JP.eucJP/man/man8/sendmail.8
+++ b/ja_JP.eucJP/man/man8/sendmail.8
@@ -1,588 +1,562 @@
-.\" Copyright (c) 1983, 1997 Eric P. Allman
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" 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.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)sendmail.8 8.12 (Berkeley) 2/1/97
+.\" @(#)sendmail.8 8.19 (Berkeley) 5/19/98
.\" jpman %Id: sendmail.8,v 1.2 1997/06/05 01:31:44 yugawa Stab %
.\"
-.Dd February 1, 1997
+.Dd May 19, 1998
.Dt SENDMAIL 8
.Os BSD 4
.Sh 名称
.Nm sendmail
.Nd 電子メール配送デーモン
.Sh 書式
.Nm sendmail
.Op Ar flags
.Op Ar address ...
.Nm newaliases
.Nm mailq
.Op Fl v
.Sh 解説
.Nm sendmail
はメッセージを他の人に送ります。必要ならばネットワークを
通してメッセージを正しい場所に転送します。
.Pp
ただし、
.Nm sendmail
はユーザインタフェースとして使われることは考慮さ
れていません。ユーザにとって使いやすいフロントエンドは別のプログラムで
提供されます。
.Nm sendmail
は、あらかじめメールとして整形されたメッセージ
を配送するためだけに使われます。
.Pp
.Nm sendmail
を引数を指定せずに起動すると、
.Nm sendmail
は標準入力を EOF
(エンド・オブ・
ファイル)か `.'だけを含む行まで読み込み、メッセージのなかに記述されている
アドレスにメッセージのコピーを送ります。アドレスの文法や内容にもとづいて
経路に使用するネットワークを決定します。
.Pp
ローカルアドレスは、ファイルの中を検索して適当なエイリアスを行います。
先頭にバックスラッシュ `\\' のついたアドレスについては、エイリアスは
行なわれません。
通常、送り手はエイリアスの対象に含まれません。つまり、もし
`john' が `group' にメールを送って、 `john' が `group' に
含まれている場合、送ったメッセージは `john' には送られません。
.Ss パラメータ
.Bl -tag -width Fl
.It Fl B Ns Ar type
ボディのタイプを
.Ar type
に設定します。現在有効なのは、
.Li `7BIT'
.Li `8BITMIME'
です。
.It Fl ba
.Tn ARPANET
モードに移行します。すべての入力行は CR-LF で終わらなければならず、
すべてのメッセージの末尾には CR-LF がつきます。また、``From:'' と ``Sender:''
フィールドは送り手の名前としてチェックされます。
.It Fl bd
デーモンモードで実行します。バークレー
.Tn IPC
が必要です。
.Nm sendmail
.Xr fork 2
を行い、バックグラウンドで動作し、ソケット番号 25 で
.Tn SMTP
コネクションを
待ちます。通常このモードは、
.Pa /etc/rc
から実行されています。
.It Fl bD
フォアグラウンドで動作する以外は
.Fl bd
と同じです。
.It Fl bh
現在のホストの状況のデータベースを表示します。
.It Fl bH
現在のホストの状況のデータベースをパージします。
.It Fl bi
エイリアスデータベースを初期化します。
.It Fl bm
普通にメールを配送します(デフォルト)。
.It Fl bp
メールキューのリストを表示します。
.It Fl bs
標準入出力で
.Tn RFC821
にもとづいた
.Tn SMTP
プロトコルを使います。この
フラグは、
.Fl ba
フラグのうち
.Tn SMTP
互換の全ての操作を含みます。
.It Fl bt
アドレスのテストモードで起動します。このモードは対話
モードでアドレスを入力し、処理の過程を表示します。設定ファイル
をデバッグするのに使います。
.It Fl bv
名前のチェックだけを行います。メッセージの収集や配送は行い
ません。ベリファイモードは、ユーザやメーリングリストが有効かどうかを確認する
ために使います。
.It Fl C Ns Ar file
別の設定ファイルを使います。
.Nm sendmail
は、別の設定ファイル
を使用する場合は root として実行することはできません。
.It Fl d Ns Ar X
デバッグ値を
.Ar X
に設定します。
.ne 1i
.It Fl F Ns Ar fullname
送り手のフルネームを設定します。
.It Fl f Ns Ar name
``from'' に入る名前(つまり、送り手の名前です)を設定します。
.Fl f
は、``trusted''なユーザ(普通は
.Em root ,
.Em daemon ,
.Em network
です)が使うか、
送り手が自分自身の名前を指定して使う場合のみ指定することができます。
.It Fl h Ns Ar N
ホップカウントを
.Ar N
に設定します。ホップカウントは、
メールが処理されるたびに増えていきます。ホップカウントがリミットになった
とき、メールは「エイリアスがループしている」という旨のエラーメッセージと
いっしょに送り返されます。
もしこのフラグが指定されなければ、メッセージのなかの ``Received:'' 行がカウント
されます。
.It Fl i
入力されるメッセージ中の `.' だけを含む行を無視します。
このフラグは、データをファイルから読み込むような場合に使用する必要があります。
.It Fl N Ar dsn
配送状況の通知条件を
.Ar dsn
に設定します。
.Ar dsn
には、
.Ql never
(何も通知しない)または、コンマで区切った、
.Ql failure
(配送が失敗した場合に通知する)
.Ql delay
(配送が遅れた場合に通知する)
.Ql success
(配送が正常に行われた場合に通知する)
の組合せを指定する事ができます。
.It Fl n
エイリアスを行いません。
.It Fl O Ar option Ns = Ns Em value
オプション
.Ar option
を、指定した
.Em value
に設定します。この形式では長いオプション名が使用されます。
詳しくは後に記述します。
.It Fl o Ns Ar x Em value
オプション
.Ar x
を、指定した
.Em value
に設定します。
この形式では、一文字のオプション名しか使用できません。
短いオプション名についてはこのマニュアルには記述されていません。
詳しくは、
.%T "Sendmail Installation and Operation Guide"
を参照して下さい。
.It Fl p Ns Ar protocol
メッセージを受け取るのに利用するプロトコル名を設定します。
設定できるのは、
``UUCP'' のようなプロトコル名だけかプロトコル+ホスト名、たとえば ``UUCP:ucbvax''
などです。
.It Fl q Ns Bq Ar time
キューのなかにあるメッセージを処理する間隔を設定します。
.Ar time
を省略した場合は、キューの内容を一度だけしか処理しません。
.Ar time
は、
.Ql s
(秒)、
.Ql m
(分)、
.Ql h
(時間)、
.Ql d
(日)、
.Ql w
(週)の単位を付けた数字で指定します。
たとえば、
.Ql -q1h30m
.Ql -q90m
は、タイムアウトを 1 時間 30 分に設定します。
.Ar time
が指定されると、
.Nm sendmail
はデーモンとしてバックグラウンドで
実行されます。
デーモンとして実行させる際には、同時にオプション
.Fl bd
つけておくほうが安全です。
.It Fl qI Ns Ar substr
キュー ID の文字列に
.Ar substr
が含まれるジョブのみを処理します。
.It Fl qR Ns Ar substr
受信者のリストの文字列に
.Ar substr
が含まれるジョブのみを処理します。
.It Fl qS Ns Ar substr
送信者の文字列に
.Ar substr
が含まれるジョブのみを処理します。
.It Fl R Ar return
メッセージがバウンスした時に返送されるメッセージの量を設定します。
.Ar return
パラメータには、メッセージ全体を返送する場合は
.Ql full
を、ヘッダのみを返送する場合は
.Ql hdrs
を指定します。
.It Fl r Ns Ar name
.Fl f
フラグと同じですが、古い形式です。
.It Fl t
受信者をメッセージから読み取ります。To:, Cc:, Bcc: フィールドが受信者
のアドレスとして読み込まれます。Bcc: フィールドはメッセージの転送前に
-削除されます。引数で指定されたアドレスは全て無視されますので、メッセー
-ジのヘッダに名前が並べてあっても、引数に指定してあるとメッセージは転送
-されません。
+削除されます。
.It Fl U
最初の(ユーザからの)発送である事を示します。
このフラグは、
.Nm Mail
.Nm exmh
の様なユーザエージェントから呼び出す場合は
.Em 必ず
指定する必要があり、
.Nm rmail
等のネットワーク配送エージェントから呼び出す場合は、
.Em 絶対に
指定してはいけません。
.It Fl V Ar envid
オリジナルのエンベロープ ID を設定します。
これは、DSN をサポートするサーバ間では SMTP 上を伝達し、
DSN に従ったエラーメッセージの中で返送されます。
.It Fl v
詳細モードに移行します。展開されるエイリアスなどが報告されます。
.It Fl X Ar logfile
指定された
.Ar logfile
に、メーラに出たり入ったり
するすべてメッセージに関する情報を記録します。メーラをデバッグする際の
最後の手段としてのみ使ってください。非常に大量の情報があっという間に記録
されます。
.El
.Ss オプション
.Nm sendmail
には、設定することができる多くの処理オプションがあります。
通常、これらのオプションはシステム管理者のみが使います。
オプションは、コマンドラインから
.Fl o
フラグを使って(短いオプション名で)指定したり、
.Fl O
フラグを使って(長いオプション名で)指定したり、
設定ファイルから指定することができます。ここに記述して
いるのは部分的なもので、コマンド行から指定する場合に便利な物だけを、
長いオプション名で示しています。完全なリスト(と詳細)は、
.%T "Sendmail Installation and Operation Guide"
を参照してください。
オプションには以下の物があります。
.Bl -tag -width Fl
.It Li AliasFile= Ns Ar file
別のエイリアスファイルを使います。
.It Li HoldExpensive
接続するのに時間がかかるホストと接続するときは、
すぐに接続せず、リクエストはキューに入れられます。
.It Li CheckpointInterval= Ns Ar N
.Nm sendmail
が、
.Ar N
個の配送に成功するたびにキューファイルに
チェックポイントを設定します(デフォルトは 10 個です)。これによって、
システムのクラッシュによって長いメーリングリストの配送が中断
されたときでも、再開時に同じ人に重複して配送されることを防ぎます。
.ne 1i
.It Li DeliveryMode= Ns Ar x
配送モードを
.Ar x
に設定します。配送モードには
.Ql i
対話的(同期的)配送モード、
.Ql b
バックグラウンド(非同期的)配送モード、
.Ql q
キューモード(実際の配送は、キューが実行されるときに行われる)、
.Ql d
延期モード(データベースの検索(特に DNS や NIS )が行われない以外は
.Ql q
と同じ)があります。
.It Li ErrorMode= Ns Ar x
エラー処理をモード
.Ar x
に設定します。
.Ql m
はエラーメッセージを送り返します。
.Ql w
はエラーメッセージを送り手の端末に書き出します
(送り手がログインしていなければ、メールを返します)。
.Ql p
は、エラーメッセージを端末に表示します(デフォルト)。
.Ql q
は、エラーメッセージを捨てます(exit コードだけを返します)。
.Ql e
は、BerkNet 用に特別処理をします。
もし、モード
.Ql m
.Ql w
を使っている場合に、エラーとなったメッセージが
エラーメールとして送り返されず、送り手が
.Nm sendmail
を実行している
マシン上のユーザならば、
メッセージのコピーは送り手のホームディレクトリにある
.Pa dead.letter
に追加されます。
.It Li SaveFromLine
メッセージのはじめに
.Tn UNIX Ns \-style
From 行を残します。
.It Li MaxHopCount= Ar N
メールがループしていると判断されない、最大のホップ数を
指定します。
.It Li IgnoreDots
`.' だけを含む行をメッセージの終わりとして解釈しません。
.It Li SendMimeErrors
エラーメッセージをMIMEフォーマットで送り返します。
設定されていない場合は、DSN (Delivery Status Notification: 配送状況通知) SMTP
拡張は無効になります。
.It Li ConnectionCacheTimeout= Ns Ar timeout
コネクションキャッシュの
.Ar timeout
を設定します。
.It Li ConnectionCacheSize= Ns Ar N
コネクションキャッシュのサイズを
.Ar N
に設定します。
.It Li LogLevel= Ns Ar n
ログレベルを
.Ar n
にします。
.It Li MeToo
エイリアスに自分自身が含まれている場合、``me''(送り手自身)にも送ります。
.It Li CheckAliases
.Xr newaliases 1
コマンドの実行の際、
エイリアスの右側の項目(エイリアスの値)を有効性をチェックします。
.It Li OldStyleHeaders
もしオプションが設定されていれば、メッセージが古いスタイルのヘッダ
を持つことがあることを意味します。
このオプションが設定されていなければ、このメッセージが新しい
スタイルを持っていることが保証されます(2 つのアドレスの間はスペースのかわり
にコンマで区切られます)。このオプションが設定されていると、大抵の場合、
ヘッダのフォーマットを正しく決定するためのアルゴリズムが用いられます。
.It Li QueueDirectory= Ns Ar queuedir
キューメッセージを保存するディレクトリを選択します。
.It Li StatusFile= Ns Ar file
指定した名前のファイルに統計情報をセーブします。
.It Li Timeout.queuereturn= Ns Ar time
キューのなかの配送されなかったメッセージのタイムアウト時間を設定します。
この時間内に(ホストのダウンなどにより)配送が行われなかったときには、
失敗した旨のメッセージが送り返されます。デフォルトは 5 日です。
.It Li UserDatabaseSpec= Ns Ar userdatabase
このオプションが設定されると、情報を送る際にユーザデータ
ベースに対する問い合わせが行われます。
この方法をエイリアス機構の補助として使用する事ができます。ただし、
エイリアスはそのホストローカルでのみ有効なので、データベースが意図的に
分散されている場合は使用できません。
.Nm sendmail
.Dv USERDB
付きでコンパイルされていなければ使うことはできません。
.It Li ForkEachJob
キューを処理する間、
.Xr fork 2
を行います。メモリが少ないマシン
では便利です。
.It Li SevenBitInput
到着するメッセージを 7 ビットにします (8 ビット目は落します)。
.It Li EightBitMode= Ns Ar mode
8 ビットの入力を 7 ビットの宛先へ送る場合の処理方法を
.Ar mode
に設定します。
処理方法には、
.Li m
(mime 化) 7 ビット MIME 形式へ変換、
.Li p
(パス) 8 ビットのまま配送(プロトコルには違反します)、
.Li s
(厳密) メッセージをバウンス、
があります。
.It Li MinQueueAge= Ns Ar timeout
配送の試行の間、ジョブがキューに蓄積される時間を設定します。
.It Li DefaultCharSet= Ns Ar charset
特に指定されていない場合に、8 ビットのデータである事を示す
ラベルとして使用されるデフォルトのキャラクタを設定します。
.It Li DialDelay= Ns Ar sleeptime
コネクションの確立が失敗した場合に、再試行までに
.Ar sleeptime
だけスリープします。オンデマンドでダイアル接続するサイトでの使用に便利です。
.It Li NoRecipientAction= Ns Ar action
受信者ヘッダ (To: Cc: あるいは Bcc:) がない場合の動作を
.Ar action
に設定します。
.Li none
メッセージを変更しない、
.Li add-to
To: ヘッダにエンベロープで指定された受信者を加える、
.Li add-apparrently-to
Apparrently-To: ヘッダにエンベロープで指定された受信者を加える、
.Li add-bcc
空の Bcc: ヘッダを加える、
.Li add-to-undisclosed
.Ql "To: undisclosed-recipients:;"
というヘッダを加える、という動作が指定できます。
.It Li MaxDaemonChildren= Ns Ar N
待ち受け SMTP デーモンが同時に動作できる子プロセスの最大数を
.Ar N
に設定します。
.It Li ConnectionRateThrottle= Ns Ar N
SMTP ポートへの 1 秒当りの最大コネクション数を
.Ar N
に設定します。
.El
.Pp
エイリアスのなかで最初の文字が `|' で始まるものは、メールの内容をパイプで
コマンドに送るものと解釈されます。引数などをつけるために空白文字が
必要な場合はクォートする (" でくくる)必要があります。以下に、例を示します:
.Pp
.Bd -literal -offset indent -compact
msgs: "|/usr/bin/msgs -s"
.Ed
.Pp
エイリアスには、
.Dq :include: Ns Ar filename
という文法もあります。
.Nm sendmail
は、
メールの受け手のエイリアスとして、指定されたファイルを読みます。
以下に、例を示します:
.Pp
.Bd -literal -offset indent -compact
poets: ":include:/usr/local/lib/poets.list"
.Ed
.Pp
上記の例の場合は、
.Pa /usr/local/lib/poets.list
を読み、`poets' のグループの
ためのアドレスリストを作ります。
.Pp
.Nm sendmail
は、以下に示すような終了コードを返します。これらの
コードは、
.Aq Pa sysexits.h
に定義されています。
.Bl -tag -width EX_UNAVAILABLE -compact -offset indent
.It Dv EX_OK
すべてのアドレスについて完全に成功しました。
.It Dv EX_NOUSER
ユーザ名が認識できません。
.It Dv EX_UNAVAILABLE
処理に必要なリソースを得ることができません。
.It Dv EX_SYNTAX
アドレスに文法的な間違いがあります。
.It Dv EX_SOFTWARE
引数が間違っている等の、内部的なエラーです。
.It Dv EX_OSERR
.Dq cannot fork
のような、一時的な OS エラーです。
.It Dv EX_NOHOST
ホスト名が認識できません。
.It Dv EX_TEMPFAIL
メッセージはすぐには送られませんでしたが、
キューには入れられました。
.El
.Pp
.Nm newaliases
というコマンドで実行されると、
.Nm sendmail
はエイリアス
データベースを再構築します。
.Nm mailq
というコマンドで実行されると、
.Nm sendmail
はメールキューの内容を表示します。
.Sh 関連ファイル
.Pa /etc/sendmail.cf
-を除き、以下のファイルのパスはすべて
+とデーモンプロセス ID ファイルを除き、以下のファイルのパスはすべて
.Pa /etc/sendmail.cf
内部で決められています。以下は一例に過ぎません。
.Pp
.Bl -tag -width /usr/lib/sendmail.fc -compact
.It Pa /etc/aliases
エイリアス名の生データ
.It Pa /etc/aliases.db
エイリアス名のデータベース
.It Pa /etc/sendmail.cf
設定ファイル
.It Pa /usr/share/misc/sendmail.hf
ヘルプファイル
.It Pa /var/log/sendmail.st
統計情報ファイル
.It Pa /var/spool/mqueue/*
テンポラリファイル
-.It Pa /var/run/sendmail.pid
-デーモンのプロセス ID を格納しているファイル
.El
.Sh 関連項目
.Xr mail 1 ,
.Xr syslog 3 ,
.Xr aliases 5 ,
.Xr mailaddr 7 ,
.Xr mail.local 8 ,
.Xr rc 8 ,
.Xr rmail 8 ;
.Pp
DARPA
Internet Request For Comments
.%T RFC819 ,
.%T RFC821 ,
.%T RFC822 .
.Rs
.%T "Sendmail \- An Internetwork Mail Router"
.%V SMM
.%N \&No. 9
.Re
.Rs
.%T "Sendmail Installation and Operation Guide"
.%V SMM
.%N \&No. 8
.Re
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/shutdown.8 b/ja_JP.eucJP/man/man8/shutdown.8
index d5afea9f91..5259949e2e 100644
--- a/ja_JP.eucJP/man/man8/shutdown.8
+++ b/ja_JP.eucJP/man/man8/shutdown.8
@@ -1,135 +1,136 @@
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)shutdown.8 8.1 (Berkeley) 6/5/93
+.\" %Id: shutdown.8,v 1.4 1998/08/03 06:22:43 charnier Exp %
.\" jpman %Id: shutdown.8,v 1.2 1997/05/13 00:55:09 mutoh Stab %
.\"
.Dd June 5, 1993
.Dt SHUTDOWN 8
.Os BSD 4
.Sh 名称
.Nm shutdown
.Nd 指定時刻にシステムを停止する
.Sh 書式
.Nm shutdown
.Op Fl
.Op Fl hkrn
.Ar time
.Op Ar warning-message ...
.Sh 解説
.Nm shutdown
は、自動的にシャットダウンするための手順をスーパユーザに提供します。
システムがシャットダウンされるときユーザに知らせるので、
こういったお知せを面倒がって行なわない
システム管理者やハッカーやグルといった人々から、ユーザを救います。
.Pp
-以下の親切なオプションがあります:
-.Bl -tag -width time
+以下のオプションを使用可能です:
+.Bl -tag -width indent
.It Fl h
.Ar time
で指定された時間に
.Xr halt 8
を実行し、システムを停止します。
.It Fl k
全ユーザを追い出します。
実際にはシステムを停止しませんが、
マルチユーザシステムのままでスーパユーザ以外のユーザをログインできなくします。
.It Fl n
停止する前に、通常実行される
.Xr sync 2
を実行しません。
.It Fl r
.Ar time
で指定した時刻に
.Xr reboot 8
を実行し、システムを再起動します。
.It Ar time
-.Nm shutdown
+.Nm
がシステムを停止させる時間を指定します。
.Ar now
を指定すると即時にシステムを停止します。
また、時間を指定する次の二つの書式があります:
.Ar +number
もしくは
.Ar yymmddhhmm
の形式です。現在のシステムの年・月・日の値がデフォルトになっています。
一つめの書式は
.Ar number
分経過後をあらわし、二つめの書式は停止する時刻を直接指定します。
.It Ar warning-message
その他の引数は現在ログイン中のユーザに送る警告メッセージとして扱われます。
.It Fl
もし
.Ql Fl
がオプションとして与えられると、警告メッセージを標準入力から読み取ります。
.El
.Pp
システム停止の 10 時間前から、ログイン中の全てのユーザの端末に
警告メッセージが表示されはじめ、終末が近付くにつれ頻繁になってきます。
システム停止の 5 分前、もしくは 5 分以内にシステム停止する場合には、
ただちに警告メッセージをコピーした
.Pa /etc/nologin
が作られログインが禁止されます。
ユーザがログインしようとした際にこのファイルが存在する場合には、
.Xr login 1
はその内容を表示し終了します。このファイルは
-.Nm shutdown
+.Nm
が終了する際に削除されます。
.Pp
システム停止時には、システムを停止した時間、実行者、理由が
システムログに記録されます。その後、terminate シグナルが
-.Xr init
+.Xr init 8
に送られ、システムをシングルユーザ状態にします(この動作は上記の
オプションに依存します)。
システムを停止する時間と警告メッセージは
.Pa /etc/nologin
に置かれます。これをユーザにシステムを再開する時間や、なぜシステムを
停止するかなどを知らせるために使うべきです。
.Sh 関連ファイル
.Bl -tag -width /etc/nologin -compact
.It Pa /etc/nologin
login に誰にもログインさせないことを知らせます。
.El
.Sh 関連項目
.Xr login 1 ,
.Xr wall 1 ,
.Xr nologin 5 ,
.Xr halt 8 ,
.Xr reboot 8
.Bd -literal -offset indent
.Sh 以前との互換性
以前との互換性のため、二つめの書式で時と分をコロン(``:'')で区切ることができます。
.Ed
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/sicontrol.8 b/ja_JP.eucJP/man/man8/sicontrol.8
index aa3bc19bad..c1768891c3 100644
--- a/ja_JP.eucJP/man/man8/sicontrol.8
+++ b/ja_JP.eucJP/man/man8/sicontrol.8
@@ -1,115 +1,115 @@
-.\" %Id: sicontrol.8,v 1.3.2.3 1998/07/18 11:12:36 jkh Exp %
+.\" %Id: sicontrol.8,v 1.8 1998/03/23 08:29:31 charnier Exp %
.\" jpman %Id: sicontrol.8,v 1.2 1997/06/17 17:49:35 saeki Stab %
.\" The following requests are required for all man pages.
.Dd September 26,1995
.Dt SICONTROL 8
.Os FreeBSD
.Sh 名称
.Nm sicontrol
.Nd Specialix 社 SI/XIO ドライバの設定とデバッグ
.Sh 書式
.Nm sicontrol
device
.Ar command Op Cm Ar param ...
.Sh 解説
.Nm sicontrol
は SI/XIO デバイスドライバの設定やモニタリングをおこなうために使用します。
.Pp
.Nm sicontrol
.Ar device
で指定されたポートを操作します。
.Pp
ドライバ全体の設定をおこなう際には、特別なデバイス名 `-' を
.Ar device
に指定します。
.Pp
必要であれば、デバイス名には '/dev/' が補完されます。
.Pp
以下のコマンドはドライバ全体の設定をおこなうので、
デバイス名に '-' を指定する必要があります。
.Bl -tag -width 4n
.It Cm int_throttle Op Cm value
「総合割り込みスロットル値」を設定します。
ホストアダプタ割り込みの 1 秒あたりの最大値は次のようにして求められます:
.Pp
.Ar "controller CPU clock / (8 * int_throttle)"
.Pp
ブート時のデフォルト値は 25000 で、ホストアダプタの CPU クロックは
25MHz ですから、この場合の最大割り込みレートは約 125 回/秒になります。
.Pp
この値を下げると、ホストアダプタがオペレーティングシステムに
処理を要求するための割り込みのレートを増加させることができます。
.\"
.It Cm rxint_throttle Op Cm value
受信割り込みスロットル値を設定します。
ブート時のデフォルト値は 4 で、割り込みレートは約 25 回/秒になります。
.Pp
この値を下げると、ホストアダプタがオペレーティングシステムに受信 FIFO を
空にするよう要求する割り込みのレートを増加させることができます。
.\"
.It Cm nport
そのデバイスドライバの制御下にあるシリアルポートの数を返します。
.El
.Pp
以下のコマンドは個々のシリアルポートに対して実行されるため、
.Pa /dev
以下のデバイス名を指定する必要があります。
.Bl -tag -width 4n
.It Cm mstate
モデムが駆動する制御信号の、現在の状態を表示します。
.It Cm ccbstat
指定されたシリアルポートの "ccb" 構造体の、現在の内容を表示します。
これはドライバのデバッグや、シリアルポートが反応しない原因の調査以外には、
あまり使い道がありません。
.It Cm ttystat
指定されたシリアルポートに関するカーネル内部の "tty" 構造体の現在の内容を
表示します。これはドライバのデバッグ以外には、あまり使い道がありません。
.El
.\" The following requests should be uncommented and used where appropriate.
.\" This next request is for sections 2 and 3 function return values only.
.\" .Sh RETURN VALUES
.\" This next request is for sections 1, 6, 7 & 8 only
.\" .Sh ENVIRONMENT
.Sh 関連ファイル
.Bl -tag -width /dev/si_control -compact
.It Pa /dev/si_control
.Xr sicontrol 8
で使用される、ドライバ全体の制御ファイル
.It Pa /dev/ttyA*
端末制御ポート
.It Pa /dev/ttyiA*
.Xr stty 1
で使用される、初期 termios ステートデバイス
.It Pa /dev/ttylA*
.Xr stty 1
で使用される、ロックされた termios ステートデバイス
.El
.\" .Sh EXAMPLES
.\" This next request is for sections 1, 6, 7 & 8 only
.\" (command return values (to shell) and fprintf/stderr type diagnostics)
.Sh 診断
一般に自明です.....
.\" The next request is for sections 2 and 3 error and signal handling only.
.\" .Sh ERRORS
.Sh 関連項目
.Xr stty 1 ,
.Xr si 4 ,
.Xr termios 4 ,
.Xr tty 4 ,
.Xr comcontrol 8 .
.\" .Sh STANDARDS
.Sh 歴史
.Nm sicontrol
.An Andy Rutter Aq andy@acronym.co.uk
によって書かれた
.Nm siconfig
ユーティリティを基にしている部分が多少あります。
.Pp
Specialix International 社は、このデバイスドライバに関して、
いかなる形のサポートもおこないません。
.Sh 作者
.An Peter Wemm Aq peter@FreeBSD.org
.Sh バグ
たくさんあるでしょう... :-)
diff --git a/ja_JP.eucJP/man/man8/slattach.8 b/ja_JP.eucJP/man/man8/slattach.8
index 1a836883dd..525cc83248 100644
--- a/ja_JP.eucJP/man/man8/slattach.8
+++ b/ja_JP.eucJP/man/man8/slattach.8
@@ -1,266 +1,266 @@
.\" Copyright (c) 1986, 1991 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.
.\"
.\" @(#)slattach.8 6.4 (Berkeley) 3/16/91
-.\" %Header: /home/ncvs/src/sbin/slattach/slattach.8,v 1.11.2.3 1998/08/12 06:57:33 charnier Exp %
+.\" %Header: /home/ncvs/src/sbin/slattach/slattach.8,v 1.13 1997/04/16 09:56:30 danny Exp %
.\"
.\" jpman %Id: slattach.8,v 1.2 1997/05/19 05:35:41 mitchy Stab %
.\"
.Dd April 4, 1993
.Dt SLATTACH 8
.Os BSD 4.3
.Sh 名称
.Nm slattach
.Nd シリアルラインをネットワークインタフェースに割り当てる
.Sh 書式
.Nm slattach
.Op Fl a
.Op Fl c
.Op Fl e Ar exit-command
.Op Fl f
.Op Fl h
.Op Fl l
.Op Fl n
.Op Fl z
.Op Fl L
.Op Fl r Ar redial-command
.Op Fl s Ar baudrate
.Op Fl u Ar unit-command
.Op Fl K Ar keepalive
.Op Fl O Ar outfill
.Op Fl S Ar unit
.Ar ttyname
.Sh 解説
.Nm slattach
は、シリアルポートをネットワークインタフェースに割り当て自分と相手の
アドレスを定義するために使用されます。
.Nm slattach
の、オプションは以下のとおりです:
.Bl -tag -width Ar
.It Fl a
VJ ヘッダ圧縮を自動許可します。
リンクの相手が VJ ヘッダ圧縮可能な時これを使用し、そうでなければ
標準ヘッダを使用します。
.It Fl c
VJ ヘッダ圧縮を指定します。リンクの両端が VJ ヘッダ圧縮を使用できなければ
ならないことに注意してください。
.It Fl e Ar exit-command
.Nm slattach
が終了する前にシェルで
.Ql sh \-c Ar exit-command
のように呼び出されるコマンドを指定します。
.It Fl f
.Nm slattach
をバックグラウンドで動かすための daemon() の呼び出しを行いません。
.It Fl h
cts/rts によるシリアルのフロー制御を有効にします。無指定時には、
フロー制御はサポートされません。
.It Fl l
slip ポートのモデム制御 (CLOCAL) を無効にしキャリア検出を無視します。
無指定時には、キャリアが落ちた時に
.Ar redial-command
を呼び出しますが、
.Ar redial-command
が指定されていなければ
.Nm slattach
は終了します。
.It Fl n
ICMP パケットを捨てます。 slip インタフェースは
ICMP レスポンスによるシリアルラインの遅延を防止するよう
ICMP パケットを無視します。
.It Fl r Ar redial-command
シリアルラインのキャリアが失われた時にシェルで
.Ql sh \-c Ar redial-command
のように呼び出されるコマンドを指定します。
.Ar redial-command
-として空白を指定 (すなわち
+として空白を指定、すなわち
.Fl r Qq ""
-) することで、専用線で外部コマンドを実行せずに再接続を試みます。
+とすることで、専用線で外部コマンドを実行せずに再接続を試みます。
.It Fl s Ar baudrate
接続速度を指定します。このオプションが指定されない場合には、
9600 bps になります。
.It Fl u Ar unit-command
シリアルラインが slip に切り替わった時、
-.Ql Nm "sh -c" Ar unit-command old new
+.Ql Nm "sh -c" Ar unit-command <old> <new>
が実行されます。
-.Ar old
+.Ar <old>
-.Ar new
+.Ar <new>
はそれぞれ slip の最後にオープンされた時のユニット番号と現在のコネクションの
ユニット番号です。
このユニット番号は 2 つ以上の slip ラインを使用すればリダイアル後に
変更することが出来ます。
.Nm slattach
の接続が初めて確立されたとき、
.Ql Nm "sh -c" Ar unit-command new Nm \-1
が実行されます。
.Nm slattach
の接続が切れたとき、
.Ql Nm "sh -c" Ar unit-command old Nm \-1
が実行されます。
.Nm slattach
は、ユニット番号が変更され
.Ql Fl u Ar \%unit-command
が指定されないとき終了します。
.It Fl z
開始時にキャリアにかかわり無く
.Ar redial-command
のリダイアルを行います。
.It Fl L
uucp方式のデバイスロックを行います。
他の uucp ロックを行うプログラムから
.Nm slattach
を開始する場合以外は、このオプションが必要です。
デフォルトではそのようなプログラムの使用を考え uucp ロックをしません。
.It Fl K Ar keepalive
SLIP "keep alive" タイムアウト時間を秒単位で設定します。
FRAME_END がこの時間内に受信できない時、再接続が行われます。
省略時はタイムアウトは設定されません。
.It Fl O Ar outfill
SLIP "out fill" タイムアウト時間を秒単位で設定します。
これにより、相手側の "keep alive" タイムアウトに必要な
FRAME_END をこの時間内に送信します。
省略時はタイムアウトは設定されません。
.It Fl S Ar unit
SLIP ユニット番号を直接指定します。
2 つのインタフェースが同じユニット番号にならないかチェックをしないので、
注意が必要です。
省略時は動的にユニット番号を割り当てます。
.It Ar ttyname
ttyデバイスの名前を指定します。
.Ar ttyname
.Ql ttyXX
.Ql /dev/ttyXX
の形式で記述します。
.El
.Pp
本コマンドを用いてシリアルポートをネットワークインタフェースに
割り当てることが出来るのはスーパーユーザに限られます。
.Pp
ネットワークインタフェースの割り当てを解除する場合は、
.Nm slattach
プロセスを
.Ql kill -INT
を使って kill した後に
.Dq Li ifconfig interface-name down
を実行してください。
.Ar Interface-name
.Xr netstat 1
で見ることが出来ます。
.Pp
.Nm slattach
をキャリアを失った時にリダイアルするように設定するには、
.Fl r Ar redial-command
オプションを使って slip サーバに再接続するスクリプトかコマンドを指定
します。スクリプトはサーバにリダイアルしログインするようなものです。
.Pp
slipユニット番号が変わった時にネットワークインタフェースを再構成するには、
.Fl u Ar unit-command
オプションを使用して
.Ql sh \-c Ar unit-command old new
のように呼び出す、スクリプトかコマンドを指定します。
.Ar old
.Ar new
は再接続前後の slip ユニット番号です。
同時に 2 つ以上のラインが切断されているときユニット番号が変わる可能性
があります。
最初の再接続に成功した slip が一番小さいユニット番号を得られます。
.Pp
.Nm slattach
を kill するには、 tty をクローズしてから終了するように
.Ql kill -INT
(SIGINT)を使用します。
.Pp
強制的にリダイアルするには、
.Ql kill -HUP
を使用し
.Nm slattach
がキャリアを失ったように思わせて
.Ql sh \-c Ar redial-command
でサーバに再接続させます。
.Pp
.Nm slattach
をモデム経由でなく直結で使用する場合、 slip ラインのキャリアを無視するために
.Fl l
オプション付きで実行します。
.Sh 使用例
.Bd -literal -offset indent -compact
slattach ttyd8
slattach \-s 4800 /dev/ttyd1
slattach \-c \-s 38400 /dev/cuaa1
slattach \-r 'kermit -y dial.script >kermit.log 2>&1'
.Ed
.Sh 診断
エラーメッセージは
.Pa /var/log/messages
にあります (
.Nm slattach
はデーモンです)
指定したネットワークインタフェースが終了しない、
要求されたアドレスがみつからない、権限のないユーザが
ネットワークインタフェースの設定を変更しようとした、というメッセージは
ここに記録されます。
.Nm slattach
は端末の制御の設定の失敗や、
シグナルハンドラの登録の失敗も記録します。
コネクション開始時とリダイアル時に tty 名と回線速度が記録され、
終了時に tty 名が記録されます。
.Pp
.Sh 関連ファイル
.Pa /var/run/slattach.<tty>.pid
.Pp
この
.Ar tty
.Ar tty 名
に置き換えられます。
このファイルには
.Nm slattach
のプロセス番号が含まれ、
.Nm slattach
にシグナルを送るスクリプトで確かめることができます。
.Sh 関連項目
.Xr netstat 1 ,
.Xr startslip 1 ,
.Xr uustat 1,
.Xr netintro 4 ,
.Xr ifconfig 8 ,
.Xr rc 8 ,
.Xr sliplogin 8
.Sh 歴史
.Nm
.Bx 4.3
ではじめて登場しました。
diff --git a/ja_JP.eucJP/man/man8/slstat.8 b/ja_JP.eucJP/man/man8/slstat.8
index 625fec7294..1b1a54270b 100644
--- a/ja_JP.eucJP/man/man8/slstat.8
+++ b/ja_JP.eucJP/man/man8/slstat.8
@@ -1,124 +1,124 @@
.\" Copyright (c) 1986 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: @(#)slstat.8 6.8 (Berkeley) 6/20/91
-.\" %Id: slstat.8,v 1.6.2.3 1997/11/06 07:40:40 charnier Exp %
+.\" %Id: slstat.8,v 1.11 1997/10/20 12:41:40 charnier Exp %
.\" jpman %Id: slstat.8,v 1.2 1997/05/24 05:28:27 mitchy Stab %
.\"
.Dd October 11, 1996
.Dt SLSTAT 8
.Os BSD 4
.Sh 名称
.Nm slstat
.Nd シリアル回線 IP (SLIP) の利用統計を表示する
.Sh 書式
.Nm
.Op Fl i Ar interval
.Op Fl vr
.Op Ar unit
.Sh 解説
.Nm
はシリアル回線インターネットプロトコル (SLIP) のトラフィックに関連する
カーネルの統計情報を表示します。
.Pp
オプションは、以下のとおりです:
.Bl -tag -width indent
.It Fl i
.Ar interval
秒毎に表示を繰り返します。
.Ar interval
が指定されない場合は、デフォルトの 5秒が使用されます。
.It Fl v
統計情報の追加フィールドを表示します。
.It Fl r
インターバルあたりの値を全て秒単位で表示します。
.It Ar unit
.Tn SLIP
インタフェースを指定する 1 桁の数字です。デフォルトは
.Sy 0
で、インタフェース
.Sy sl0
が指定されます。
.El
.Pp
デフォルトでは
.Nm
は以下の情報を表示します:
.Pp
.Bl -tag -width indent
.It in
受信バイト数
.It out
送信バイト数
.It pack
送受信したパケット数
.It comp
送受信した圧縮されたパケット数
.It uncomp
送受信した圧縮されていないパケット数
.It unknwn
未知のタイプの入力パケット数
.It toss
エラーにより返された入力パケット数
.It other
その他の発信/返信 IP パケット数
.It err
入出力エラー数
.It search
コネクションステートのサーチ回数
.It miss
コネクションステートを発見できなかった回数
.It coll
clist での衝突の回数
( 1 日に 1 回か 2 回以上の ) 多数の衝突がある場合には
おそらく clist が不足しています。
param.c の
.Dv nclist
を増やしておく必要があります。
.El
.Sh 使用例
コマンド:
.Dl slstat -i 5
は 5 秒毎にシステムが何をしているかを表示します。
.Sh 関連項目
.Xr fstat 1 ,
.Xr netstat 1 ,
.Xr nfsstat 1 ,
.Xr ps 1 ,
.Xr ststat 1 ,
.Xr iostat 8 ,
.Xr pppstats 8 ,
.Xr pstat 8
.Pp
.%T "Installing and Operating 4.3BSD"
の中の
``Interpreting system activity''
から始まる章
diff --git a/ja_JP.eucJP/man/man8/smrsh.8 b/ja_JP.eucJP/man/man8/smrsh.8
index 1096da301c..62d88f88a5 100644
--- a/ja_JP.eucJP/man/man8/smrsh.8
+++ b/ja_JP.eucJP/man/man8/smrsh.8
@@ -1,103 +1,81 @@
-.\" Copyright (c) 1993 Eric P. Allman
+.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved.
+.\" Copyright (c) 1993 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
-.\" 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.
+.\" 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.
.\"
-.\" 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.
.\"
-.\" @(#)smrsh.8 8.2 (Berkeley) 1/9/96
+.\" @(#)smrsh.8 8.7 (Berkeley) 5/19/98
.\" jpman %Id: smrsh.8,v 1.3 1997/09/04 18:05:48 horikawa Stab %
.\"
.TH SMRSH 8 11/02/93
.SH 名称
smrsh \- sendmail用に制限されたシェル
.SH 書式
.B smrsh
.B \-c
command
.SH 解説
.I smrsh
は、
.IR sendmail (8)
の設定ファイルで、
.I sh
の代わりに ``prog'' メーラとして使用する事を目的としています。
.I smrsh
は、システムの全体的なセキュリティを改善するために、
.I sendmail
の ``|program'' 書式により起動する事ができるコマンドを制限します。
つまり、もし ``悪者'' が alias ファイルや forward ファイルを経由せずに
sendmail からプログラムを実行する事ができたとしても、
.I smrsh
を使えば、彼(あるいは彼女)が実行できるプログラムを制限する事ができるのです。
.PP
簡単に言うと、
.I smrsh
は、実行可能なプログラムを /usr/libexec/sm.bin ディレクトリに存在するもの
だけに限定します。これにより、システム管理者は利用可能なコマンドを選択する
事ができます。
更に、
.I smrsh
は、``end run'' 攻撃を防ぐために、コマンド行に
`\`', `<', `>', `|', `;', `&', `$', `(', `)', `\er'(キャリッジリターン),
`\en'(ニューライン)
の文字を含むコマンドは実行しません。
.PP
プログラム名の前にあるパス名は全て取り除かれるため、
``/usr/bin/vacation'', ``/home/server/mydir/bin/vacation'', ``vacation''
などは全て ``/usr/libexec/sm.bin/vacation'' と解釈されます。
.PP
システム管理者は、
/usr/libexec/sm.bin に置くプログラムを選ぶ際には慎重な
判断をすべきです。適切な物としては、
.IR vacation (1)
.IR procmail (1)
などがあげられるでしょう。いかなる要望があっても、シェルや、
.IR perl (1)
などのシェルに似たプログラムを
sm.bin
に入れてはいけません。
これは、単に任意のプログラムを実行する事を制限するだけで、
``#!''書式を用いた、シェルスクリプトや perl スクリプトを
sm.bin
ディレクトリに入れる事を制限する訳ではありません。
.SH コンパイル
コンパイルはほとんどのシステムでつまらないものです。
デフォルトのサーチパス
(デフォルトでは``/bin:/usr/bin'')
を変更するためには、\-DPATH=\e"\fIpath\fP\e" を
使用する必要があり、また、
デフォルトのプログラムディレクトリ
(デフォルトでは ``/usr/libexec/sm.bin'')
を変更するためには、\-DCMDBIN=\e"\fIdir\fP\e" を
使用する必要があります。
.SH 関連ファイル
/usr/libexec/sm.bin \- 制限されたプログラム用のディレクトリ
.SH 関連項目
sendmail(8)
diff --git a/ja_JP.eucJP/man/man8/spkrtest.8 b/ja_JP.eucJP/man/man8/spkrtest.8
index 6cbc483bd7..c6ba1acced 100644
--- a/ja_JP.eucJP/man/man8/spkrtest.8
+++ b/ja_JP.eucJP/man/man8/spkrtest.8
@@ -1,55 +1,55 @@
.\" Copyright (c) May 1995 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: spkrtest.8,v 1.2.2.3 1998/03/09 14:45:56 jkh Exp %
+.\" %Id: spkrtest.8,v 1.7 1997/10/20 12:43:03 charnier Exp %
.\" jpman %Id: spkrtest.8,v 1.3 1997/08/16 13:43:02 horikawa Stab %
.Dd July 23, 1995
.Dt SPKRTEST 8
.Os FreeBSD
.Sh 名称
.Nm spkrtest
.Nd スピーカドライバ用テストスクリプト
.Sh 解説
.Nm
はスピーカドライバ用の簡単に使えるテストスクリプトです。
.Sh 関連ファイル
.Bl -tag -width /dev/speakerxx
.It Pa /dev/speaker
スピーカデバイスファイル
.El
.Sh 関連項目
.Xr dialog 1 ,
.Xr perl 1 ,
.Xr spkr 4
.Sh 歴史
.Nm
スクリプトは
.Fx 1.0
で登場しました。
diff --git a/ja_JP.eucJP/man/man8/sticky.8 b/ja_JP.eucJP/man/man8/sticky.8
index 01077cd71f..429ad23997 100644
--- a/ja_JP.eucJP/man/man8/sticky.8
+++ b/ja_JP.eucJP/man/man8/sticky.8
@@ -1,76 +1,76 @@
.\" 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
+.\" %Id: sticky.8,v 1.4 1997/12/26 12:26:43 helbig Exp %
.\" jpman %Id: sticky.8,v 1.3 1997/07/19 12:27:09 konuma Stab %
-.\" %Id: sticky.8,v 1.1.1.1.8.2 1998/03/07 12:17:29 jkh Exp %
.\"
.Dd June 5, 1993
.Dt STICKY 8
.Os BSD 4
.Sh 名称
.Nm sticky
.Nd スティッキーテキストと追加専用ディレクトリ
.Sh 解説
特別なファイルモード
.Em sticky bit
(mode S_ISVTX)
は、ディレクトリのための
特別な取り扱いを示すために使われます。
通常ファイルに対しては無視されます。
ファイルのモードについての説明は、
.Xr chmod 2
や、
.Pa /usr/include/sys/stat.h
ファイルを参照してください。
.Sh スティッキーディレクトリ
`スティッキービット' が設定されたディレクトリは追加専用ディレクトリ、
より正確にいえば、ファイルの削除が制限されたディレクトリになります。
スティッキーディレクトリのファイルの削除や名称変更が可能なのは、
そのディレクトリの書き込み権限を持つそのファイルの所有者か、
そのディレクトリの所有者か、スーパーユーザだけです。
この機能は、
.Pa /tmp
ディレクトリの様に、公共的に書き込み可能であるが、他人の任意のファイルを
消去したり、名称変更したりさせたくない場合には有効です。
.Pp
どんなユーザもスティッキーディレクトリを作成することができます。
ファイルモードの変更についての詳細は、
.Xr chmod 1
を参照してください。
.Sh バグ
.Xr open 2
もしくは
.Xr mkdir 2
のどちらも、スティッキービットが設定されたファイルを作成できません。
.Sh 歴史
.Nm
コマンドは、 Version 32V AT&T UNIX から登場しました。
diff --git a/ja_JP.eucJP/man/man8/swapon.8 b/ja_JP.eucJP/man/man8/swapon.8
index 34bd231162..357e0e84ec 100644
--- a/ja_JP.eucJP/man/man8/swapon.8
+++ b/ja_JP.eucJP/man/man8/swapon.8
@@ -1,93 +1,93 @@
.\" 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.
.\"
.\" @(#)swapon.8 8.1 (Berkeley) 6/5/93
-.\" %Id: swapon.8,v 1.4.2.2 1998/07/17 20:13:53 jkh Exp %
+.\" %Id: swapon.8,v 1.10 1998/08/03 06:35:01 charnier Exp %
.\" jpman %Id: swapon.8,v 1.2 1997/05/03 13:45:14 horikawa Stab %
.\"
.Dd June 5, 1993
.Dt SWAPON 8
.Os BSD 4
.Sh 名称
.Nm swapon
.Nd ページングやスワッピングに使用する追加デバイスを指定する
.Sh 書式
.Nm swapon
.Fl a
.Nm swapon
.Ar special_file ...
.Sh 解説
-.Nm swapon
+.Nm
は、ページングやスワッピングを行うための追加デバイス指定にて使用します。
システムは、ただ一つのデバイス上にページングやスワッピングして立ち上がるので、
起動時にはただ一つのディスクを要求します。
通常
-.Nm swapon
+.Nm
は、システムのマルチユーザモードの初期化ファイル
.Pa /etc/rc
から起動され、全てのスワップデバイスを有効にし、
ページングとスワッピング動作を複数デバイスにインタリーブします。
.Pp
通常は、最初の書式を使用します:
-.Bl -tag -width Ds
+.Bl -tag -width indent
.It Fl a
.Pa /etc/fstab
で、``noauto'' オプションが設定されていない、
``sw'' と指定されているすべてのスワップデバイスを使用可能にします。
.El
.Pp
二番目の書式は、システムスワップコンフィギュレーションテーブルに与えるように、
個々のブロックデバイスを指定します。
これにより、システムは指定されたデバイスのみをスワップ空間として利用します。
.Pp
.Sh 関連項目
.Xr swapon 2 ,
.Xr fstab 5 ,
.Xr init 8 ,
.Xr pstat.8 ,
.Xr rc 8 ,
.Xr vnconfig 8
.Sh 関連ファイル
.Bl -tag -width /dev/[ru][pk]?b -compact
.It Pa /dev/[ru][pk]?b
標準のページングデバイス
.It Pa /etc/fstab
ascii 形式のファイルシステム記述テーブル
.El
.Sh バグ
デバイスへのページングとスワッピングを停止する方法はありません。
ですから、
システム動作中にデバイスのマウントを解除して使用することは不可能です。
.Sh 歴史
.Nm
コマンドは
.Bx 4.0
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/sync.8 b/ja_JP.eucJP/man/man8/sync.8
index b7c6c53621..3d77730c8f 100644
--- a/ja_JP.eucJP/man/man8/sync.8
+++ b/ja_JP.eucJP/man/man8/sync.8
@@ -1,76 +1,76 @@
.\" 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.
.\"
.\" @(#)sync.8 8.1 (Berkeley) 5/31/93
-.\" %Id: sync.8,v 1.3.2.3 1998/07/16 09:35:52 jkh Exp %
+.\" %Id: sync.8,v 1.7 1998/05/18 06:50:15 charnier Exp %
.\" jpman %Id: sync.8,v 1.2 1997/04/10 05:32:43 mutoh Stab %
.\"
.Dd May 31, 1993
.Dt SYNC 8
.Os BSD 4
.Sh 名称
.Nm sync
.Nd 未実行のディスク書き込みを強制実行する ( キャッシュのフラッシュ )
.Sh 書式
.Nm sync
.Sh 解説
.Xr reboot 8
または
.Xr halt 8
を使わずにプロセッサを停止する場合、全てのディスク書き込みが
適切に完了することを保証するため、停止に先だって
.Nm
を呼ぶことができます。
一般的には、システムをシャットダウンするには
.Xr reboot 8
もしくは
.Xr halt 8
を使うことが好ましいでしょう。
なぜならこれらのプログラムは、最終的な
.Nm
を実行する前に、内蔵時計の再同期や内部キャッシュの
フラッシュなどの追加動作を実行する場合があるからです。
.Pp
.Nm
は、
.Xr sync 2
ファンクションコールを利用します。
.Sh 関連項目
.Xr fsync 2 ,
.Xr sync 2 ,
.Xr update 4 ,
.Xr halt 8 ,
.Xr reboot 8
.Sh 歴史
.Nm
コマンドは
.At v6
から実装されました。
diff --git a/ja_JP.eucJP/man/man8/sysctl.8 b/ja_JP.eucJP/man/man8/sysctl.8
index 976a549cdc..b0eead9203 100644
--- a/ja_JP.eucJP/man/man8/sysctl.8
+++ b/ja_JP.eucJP/man/man8/sysctl.8
@@ -1,244 +1,246 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93
-.\" %Id: sysctl.8,v 1.10.2.2 1997/11/07 07:27:11 charnier Exp %
+.\" %Id: sysctl.8,v 1.16 1998/07/29 08:30:37 joerg Exp %
.\" jpman %Id: sysctl.8,v 1.2 1997/05/30 00:57:58 yugawa Stab %
.\"
.Dd September 23, 1994
.Dt SYSCTL 8
.Os
.Sh 名称
.Nm sysctl
.Nd カーネル状態の取得や設定
.Sh 書式
.Nm sysctl
.Op Fl bn
.Ar name ...
.Nm sysctl
.Op Fl bn
.Fl w
.Ar name=value ...
.Nm sysctl
.Op Fl bn
.Fl aAX
.Sh 解説
.Nm
はカーネル状態を取り出し、適切な権限があれば
プロセスがカーネル状態を設定することを許します。取り出され
たり、設定されたりした状態は、``Management Information Base''(``MIB'')
形式を使って記述されます。この形式では、要素はドット ``.'' で
接続されます。
.Pp
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl a
現在有効な文字列や整数値をすべて表示します。
.It Fl A
データ形式を知らないもの(以下、形式不明の変数と称する) を含めて、
存在している全ての MIB を表示します。
.Fl a
フラグ同様、文字列や整数値も表示されます。
形式不明の変数に関しては、
そのフォーマットおよび長さに関する情報と、その変数の内容の最初の数バイトを
16 進数でダンプします。
.It Fl X
フラグは、形式不明の変数の全ての内容が 16 進数でダンプされる以外は
.Fl A
と同じです。
.It Fl n
フィールド名の出力は抑制されて、値
だけが表示されます。これはシェル変数を設定するのに役に
立ちます。たとえば、ページサイズを変数 psize に保存する
には、以下のようにします:
.Bd -literal -offset indent -compact
set psize=`sysctl -n hw.pagesize`
.Ed
.Pp
.It Fl b
変数の値を加工せずに、バイナリ形式で表示します。
変数名や、最後の改行文字は出力されません。これは、単一の変数に対して
操作する際に便利でしょう。
.It Fl w Ar name=value ...
MIB の
.Ar name
を新しい値
.Ar value
に設定します。
MIB 形式
.Ar name
だけが指定された場合、その名前に対応する値が得られます。
.El
.Nm
で得られる情報は、整数、文字列、形式不明の変数です。
.Nm
はいくつかの形式不明の変数の形式を知っているだけで、それ以外のものに
対しては 16 進ダンプに頼ります。
形式不明の変数の情報は、
.Nm ps
.Nm systat
,
.Nm netstat
などの特別な目的のプログラムによって取得された場合に、より効果的です。
.Pp
文字列と整数の情報を簡単にまとめて以下に示します。これらの
変数の詳細な説明は、
.Xr sysctl 3
を参照してください。
.Pp
changeable の列は、適切な権限を持つプロセスがその値を変更
できるかどうかを示しています。
.Bl -column net.inet.ip.forwardingxxxxxx integerxxx
.It Sy Name Type Changeable
.It kern.ostype string no
.It kern.osrelease string no
.It kern.osrevision integer no
.It kern.version string no
.It kern.maxvnodes integer yes
.It kern.maxproc integer yes
.It kern.maxprocperuid integer yes
.It kern.maxfiles integer yes
.It kern.maxfilesperproc integer yes
.It kern.argmax integer no
.It kern.securelevel integer raise only
.It kern.hostname string yes
.It kern.hostid integer yes
.It kern.clockrate struct no
.It kern.posix1version integer no
.It kern.ngroups integer no
.It kern.job_control integer no
.It kern.saved_ids integer no
.It kern.boottime struct no
.It kern.domainname string yes
.It kern.update integer yes
.It kern.osreldate string no
.It kern.bootfile string yes
+.It kern.corefile string yes
+.It kern.logsigexit integer yes
.It vm.loadavg struct no
.It hw.machine string no
.It hw.model string no
.It hw.ncpu integer no
.It hw.byteorder integer no
.It hw.physmem integer no
.It hw.usermem integer no
.It hw.pagesize integer no
.It hw.floatingpoint integer no
.It hw.machine_arch string no
.It machdep.console_device dev_t no
.It machdep.adjkerntz integer yes
.It machdep.disable_rtc_set integer yes
.It user.cs_path string no
.It user.bc_base_max integer no
.It user.bc_dim_max integer no
.It user.bc_scale_max integer no
.It user.bc_string_max integer no
.It user.coll_weights_max integer no
.It user.expr_nest_max integer no
.It user.line_max integer no
.It user.re_dup_max integer no
.It user.posix2_version integer no
.It user.posix2_c_bind integer no
.It user.posix2_c_dev integer no
.It user.posix2_char_term integer no
.It user.posix2_fort_dev integer no
.It user.posix2_fort_run integer no
.It user.posix2_localedef integer no
.It user.posix2_sw_dev integer no
.It user.posix2_upe integer no
.It user.stream_max integer no
.It user.tzname_max integer no
.El
.Pp
.Sh 使用例
たとえば、システム中で許されている最大のプロセス数を知りたい
ときは、以下のようにします:
.Bd -literal -offset indent -compact
sysctl kern.maxproc
.Ed
.Pp
システム中で許されている最大のプロセス数を 1000 に設定する
には、以下のようにします:
.Bd -literal -offset indent -compact
sysctl -w kern.maxproc=1000
.Ed
.Pp
システムのクロックレートに関する情報を得るには、以下の
ようにします:
.Bd -literal -offset indent -compact
sysctl kern.clockrate
.Ed
.Pp
システム負荷(ロード・アベレージ)の履歴に関する情報を
得るには、以下のようにします:
.Bd -literal -offset indent -compact
sysctl vm.loadavg
.Ed
.Pp
ここに挙げたもの以外の変数も存在します。それらに関するより深い意味を知る
もっとも良く、かつ、おそらく唯一の方法は、それらを定義しているソースコードを
みる事であることは疑いのない事実でしょう。
.Sh 関連ファイル
.Bl -tag -width <netinet/icmpXvar.h> -compact
.It Pa <sys/sysctl.h>
トップレベルの識別子、第 2 レベルのカーネル/ハードウェア識別子、
そしてユーザレベル識別子の定義
.It Pa <sys/socket.h>
第 2 レベルのネットワーク識別子の定義
.It Pa <sys/gmon.h>
第 3 レベルのプロファイル識別子の定義
.It Pa <vm/vm_param.h>
第 2 レベルの仮想メモリ識別子の定義
.It Pa <netinet/in.h>
第 3 レベルのインターネット識別子と
第 4 レベルの IP 識別子の定義
.It Pa <netinet/icmp_var.h>
第 4 レベルの ICMP 識別子の定義
.It Pa <netinet/udp_var.h>
第 4 レベルの UDP 識別子の定義
.El
.Sh 関連項目
.Xr sysctl 3
.Sh バグ
現状では
.Nm
は、sysctl ツリーの追跡、および、形式と名前の情報を得る際に、
文書化されていないカーネルの sysctl 機能へのインタフェースを使用しています。
この方法に関する正しいインタフェースは、現在検討中です。
.Sh 歴史
.Nm sysctl
.Bx 4.4
ではじめて登場しました。
.Pp
.Fx 2.2
.Nm sysctl
は著しく改良されています。
diff --git a/ja_JP.eucJP/man/man8/syslogd.8 b/ja_JP.eucJP/man/man8/syslogd.8
index d948919a5a..ce320f085f 100644
--- a/ja_JP.eucJP/man/man8/syslogd.8
+++ b/ja_JP.eucJP/man/man8/syslogd.8
@@ -1,243 +1,243 @@
.\" 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
-.\" %Id: syslogd.8,v 1.6.2.8 1998/08/06 01:43:45 jkoshy Exp %
+.\" %Id: syslogd.8,v 1.16 1998/07/22 06:15:18 phk Exp %
.\"
.\" jpman %Id: syslogd.8,v 1.3 1997/05/19 17:08:30 horikawa Stab %
.\"
.Dd October 12, 1995
.Dt SYSLOGD 8
.Os BSD 4.2
.Sh 名称
.Nm syslogd
.Nd システムメッセージの記録をとる
.Sh 書式
.Nm syslogd
.Op Fl dsuv
.Op Fl a Ar allowed_peer
.Op Fl f Ar config_file
.Op Fl m Ar mark_interval
.Op Fl p Ar log_socket
.Op Fl l Ar path
.Sh 解説
.Nm
デーモンは設定ファイルに指定された通りに、システムコンソール、
ログファイル、他のマシンやユーザへのメッセージを読み込み、記録します。
オプションには以下のものがあります。
.Bl -tag -width indent
.It Fl a Ar allowed_peer
.Ar allowed_peer
がこの
.Nm
に UDP データグラムを使用してログすることを許します。複数の
.Fl a
オプションを指定可能です。
.Pp
.Ar allowed_peer
は以下のいずれかです:
.Bl -tag -width "ipaddr/masklen[:service]XX"
.It Ar ipaddr/masklen Ns Op Ar :service
.Ar ipaddr
(通常のドット表記の 4 つ組)
からのデータグラムを受け付けます。
アドレス比較の際、
.Ar masklen
ビットを考慮します。
.Ar service
が指定された場合、パケット送出元が属すべき
UDP service の名前もしくは番号となります(
.Xr services 5
参照)。
.Ar service
.Ql \&*
を指定すると、全ての UDP ポートから送信されたパケットを受け付けます。
デフォルトの
.Ar service
.Ql syslog
です。
.Ar masklen
を指定しないと、
.Ar ipaddr
がクラス A もしくは B のアドレス範囲に属す場合にはそれぞれ
歴史的なクラス A もしくは B のネットマスクが使用され、
そうでない場合には 24 が使用されます。
.It Ar domainname Ns Op Ar :service
送信アドレスのアドレス逆引きにおいて
.Ar domainname
が得られたデータグラムを受け付けます。
.Ar service
の意味は前述の通りです。
.It Ar *domainname Ns Op Ar :service
上述の通りですが、送信ホスト名が
.Ar domainname
.Em 終る
全てのホストから受け付けます。
.El
.It Fl d
.Nm
をデバッグモードで実行します。これは恐らく、
.Nm
の開発者にのみ役立ちます。
.It Fl f
代りの設定ファイルのパス名を指定します。
デフォルトは
.Pa /etc/syslog.conf
です。
.It Fl m
.Dq mark
されたメッセージの間隔を分単位で指定します。
デフォルトは20分です。
.It Fl p
代りに使用するログ用ソケットのパス名を指定します。
デフォルトは
.Pa /var/run/log
です。
.It Fl l
.Nm syslogd
が追加のログ用ソケットを置く場所を指定します。
19 個まで追加のログ用ソケットを指定可能です。
主な用法は、
様々に chroot したファイル空間において追加のログ用ソケットを
.Pa /dev/log
に置くというものです。
.It Fl s
セキュアモードで操作します。リモートマシンからのログメッセージをログしません。
メッセージは受信計数され、
カウントが 2 の羃乗を越える時にログエントリが生成されます。
.It Fl u
ただ 1 つの優先度のログのみ行います。
指定した優先度のメッセージのみログします。
このオプションを指定しないと、指定した優先度以上のメッセージがログされます。
このオプションにより、デフォルトの比較を
.Dq =>
から
.Dq =
に変更します。
.It Fl v
冗長なログを行います。1 度指定すると、ローカルに書き込まれたメッセージと共に、
ファシリティと優先度が数値でログされます。
複数回指定すると、ローカルに書き込まれたメッセージと共に、
ファシリティと優先度が名前でログされます。
.El
.Pp
.Nm
デーモンは
起動時と hangup シグナルを受けとった時はいつでも設定ファイルを
読み込みます。
設定ファイルのフォーマットに関する情報は、
.Xr syslog.conf 5
参照して下さい。
.Pp
.Nm
デーモンは
.Tn UNIX
ドメインソケット
.Pa /var/run/log、
.Pa /etc/services
で指定されるインターネットドメインソケット
およびスペシャルデバイス
.Pa /dev/klog
(カーネルメッセージを読むため) からメッセージを読み込みます。
.Pp
.Nm
デーモンはファイル
.Pa /var/run/syslog.pid
を作成し、プロセス ID を記録します。
これは
.Nm
を kill や、設定ファイルを読み込ませるために使えます。
.Pp
.Nm
に送られるメッセージは単一の行で構成されます。このメッセージは先頭に優
先順位コードを含んでいます。このコードは
.Sq Aq 5
のように括弧でくくられた 10 進数から構成されており、インクルードファイル
.Aq Pa sys/syslog.h
で定義されている優先順位に対応します。
.Sh 関連ファイル
.Bl -tag -width /var/run/syslog.pid -compact
.It Pa /etc/syslog.conf
コンフィグレーションファイル
.It Pa /var/run/syslog.pid
動作中の
.Nm
のプロセスID
.It Pa /var/run/log
.Tn UNIX
ドメインデータグラムのログ用ソケットの名前
.It Pa /dev/klog
カーネルログ用のデバイス
.El
.Sh 関連項目
.Xr logger 1 ,
.Xr syslog 3 ,
.Xr services 5 ,
.Xr syslog.conf 5
.Sh 歴史
.Nm
コマンドは
.Bx 4.3
から登場しました。
.Pp
.Fl a ,
.Fl s ,
.Fl u ,
.Fl v
のオプションは
.Fx 2.2
における拡張です。
.Sh バグ
UDPパケットで受けとったメッセージを記録する能力は認証されていないディ
スクを溢れさせるリモートサービスと等価であり、恐らくデフォルトで無効に
されるべきです。ある種の
.Nm
間の認証メカニズムが用意されるべきでしょう。
最悪の無駄遣いを避けるために、
.Fl a
オプションの使用を強く勧めます。
.Pp
.Fl a
のマッチングアルゴリズムは非常に効率的には見えません;
ドメイン名比較より、数値による IP アドレスを使用する方が高速です。
許可されたピアのリストの検索は線型に行なわれるため、
多くのメッセージを受け付けると予測されるピアグループは
.Fl a
リストの最初の方に置くべきです。
.Pp
ログ用ソケットは読み込み専用のルートファイルシステムの扱いを容易にする
ために
.Pa /dev
から移されました。このことは古いバイナリを混乱させるかもしれないので、
過渡期の間はシンボリックリンクが役に立つでしょう。
diff --git a/ja_JP.eucJP/man/man8/telnetd.8 b/ja_JP.eucJP/man/man8/telnetd.8
index 5b1307f0b3..3204619bc6 100644
--- a/ja_JP.eucJP/man/man8/telnetd.8
+++ b/ja_JP.eucJP/man/man8/telnetd.8
@@ -1,605 +1,605 @@
.\" Copyright (c) 1983, 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.
.\"
.\" @(#)telnetd.8 8.3 (Berkeley) 3/1/94
-.\" %Id: telnetd.8,v 1.5.2.4 1998/05/04 02:41:38 steve Exp %
+.\" %Id: telnetd.8,v 1.12 1998/05/04 02:37:29 steve Exp %
.\" jpman %Id: telnetd.8,v 1.2 1997/05/12 08:14:57 yugawa Stab %
.\"
.Dd March 1, 1994
.Dt TELNETD 8
.Os BSD 4.2
.Sh 名称
.Nm telnetd
.Nd DARPA
.Tn TELNET
プロトコルサーバ
.Sh 書式
.Nm /usr/libexec/telnetd
.Op Fl BUhlkns
.Op Fl D Ar debugmode
.Op Fl I Ns Ar initid
.Op Fl S Ar tos
.Op Fl X Ar authtype
.Op Fl a Ar authmode
.Op Fl edebug
.Op Fl p Ar loginprog
.Op Fl r Ns Ar lowpty-highpty
.Op Fl u Ar len
.Op Fl debug Op Ar port
.Sh 解説
.Nm
コマンドは、
.Tn DARPA
標準
.Tn TELNET
仮想端末プロトコルをサポートするサーバです。
.Nm
は、通常は
.Pa /etc/services
ファイル (
.Xr services 5
参照) に記述されている
.Tn TELNET
ポートへの接続要求を受けて、インターネットサーバ (
.Xr inetd 8
参照) から起動されます。
.Fl debug
オプションは、
.Xr inetd 8
の代わりに
.Nm
を手動で起動するために用いられます。
このように手動で起動された場合には、代わりの
.Tn TCP
ポート番号で
.Nm
を動かすために
.Ar port
を指定する事ができます。
.Pp
.Nm
コマンドには以下のオプションがあります:
.Bl -tag -width indent
.It Fl a Ar authmode
このオプションは、どのモードが認証に使われるかを指定するために用いられます。
このオプションは、
.Nm
.Dv AUTHENTICATION
オプションをサポートする設定で構築された場合においてのみ役に立つことに
注意して下さい。
以下に示すようないくつかの
.Ar authmode
があります:
.Bl -tag -width debug
.It Cm debug
認証のデバッグコードを有効にします。
.It Cm user
リモートユーザは、自分自身であること示すための有効な認証情報を
提供した時にのみ接続が許可されます。
この場合、指定されたアカウントに対しては、パスワードの提供なしに接続が
許可されます。
.It Cm valid
リモートユーザが自分自身であることを示すための有効な認証情報を
提供した時にのみ接続が許可されます。
リモートユーザが指定されたアカウントに対する自動的な接続が許可されて
いなければ
.Xr login 1
コマンドは、必要となるユーザ認証を実施します。
.It Cm other
ある種の認証情報を提供した場合のみ接続を許可します。
現在このオプションはすべての認証方法でサポートされていないため
.Fl a
.Cm valid
オプションを指定した時と同じ動作をします。
.It Cm none
デフォルトではこの状態です。
認証情報は要求されません。
もし認証情報がなかったり不十分であれば、
.Xr login 1
プログラムによって必要となるユーザ認証を実施します。
.It Cm off
認証コードを無効にします。
すべてのユーザ証明が
.Xr login 1
プログラムによって行われます。
.El
.It Fl B
bftp サーバモードを指定します。このモードでは、
ユーザの通常のシェルではなく
.Xr bftp 1
セッションを開始するように、
.Nm
は login に指示します。
bftp デーモンモードにおいて通常のログインはサポートされていません。
また通常の
.Tn TELNET
ポートではなく別のポートを使わなくてはいけません。
.It Fl D Ar debugmode
このモードはデバックのために用いられます。
これによって
.Nm
がデバッグ情報を表示し、ユーザは
.Nm
が何をしているのかを見ることが許されます。
以下に示すようないくつかの
.Ar debugmode
があります:
.Bl -tag -width exercise
.It Cm options
.Tn TELNET
オプションのネゴシエーションについての情報が表示されます。
.It Cm report
.Cm options
で表示される情報に加えて、
どのような操作が行われているのかという、いくつかの付加的な情報が
表示されます。
.It Cm netdata
.Nm
が受け取ったデータストリームを表示します。
.It Cm ptydata
pty に書かれたデータを表示します。
.It Cm exercise
まだ実装されていません。
.El
.It Fl debug
.Nm
によって作られたソケットについてのデバッグを可能にします (
.Xr socket 2
.Dv SO_DEBUG
参照)。
.It Fl edebug
.Nm
がデータの暗号化をサポートする設定で構築されている場合に、
.Fl edebug
オプションは、暗号化デバッグコードを有効にするために使われます。
.It Fl p Ar loginprog
ログインを完了する際に実行されるコマンドとして
.Xr login 1
以外のコマンドを指定します。指定されたコマンドは通常の login と同じ引数を
解釈できる必要があります。
.It Fl h
ログインが完了するまでホストに特有の情報を表示しないようにします。
.It Fl I Ar initid
このオプションは、バージョン 7.0 以前の
.Tn UNICOS
システムでのみ有効です。
init がログインセッションを開始したときに、
.Pa /etc/inittab
から
.Dv ID
を特定します。デフォルトの
.Dv ID
.Dv fe
です。
.It Fl k
このオプションは、
.Nm
が linemode と kludge linemode をサポートする設定で構築されている
ときにのみ有効です。
.Fl k
オプションが指定されている場合で、もしリモートのクライアントが
.Dv LINEMODE
オプションをサポートしていなければ、
.Nm
は、 character at a time mode で動きます。
この様な状態でも kludge linemode をサポートしますが、リモートのクライアントが
要求した場合のみ kludge linemode になります
(これは、クライアントが
.Dv DONT SUPPRESS-GO-AHEAD
.Dv DONT ECHO
を送信することによって行われます)。
.Fl k
オプションは kludge linemode をサポートしていないリモートクライアントが
あるが、(もしクライアントが
.Dv DO TIMING-MARK
に対して
.Dv WILL TIMING-MARK
を応答する事で) 自己発見的に kludge linemode をサポートすると認められる
様な場合にとても便利です。
.It Fl l
line mode を指定します。クライアントを強制的に line-at-a-time mode に
なるよう試みます。
もし
.Dv LINEMODE
オプションがサポートされてなければ、kludge linemode になります。
.It Fl n
.Dv TCP
keep-alives を行いません。通常、
.Nm
.Tn TCP
keep-alive を有効にしています。なぜなら、クラッシュしたり、すでに接続
出来ないようなマシンからのアイドルコネクションを解消するために、
ある期間アイドルだった場合にクライアントとの接続がまだ存在するかどうかを
調べる必要があるからです。
.It Fl r Ar lowpty-highpty
このオプションは、
.Nm
.Dv UNICOS
用に構築されている場合にのみ有効です。
使用する仮想端末デバイスの包括的な範囲を指定します。
システムが sysconf 変数
.Dv _SC_CRAY_NPTY
を使用するように設定されている場合、デフォルトでの pty の検索範囲は
0から
.Dv _SC_CRAY_NPTY
までになります。そうでなければ、デフォルトでの検索範囲は 0 から 128 に
なります。検索範囲のどちらか一方だけを変更したい場合は、
.Ar lowpty
あるいは
.Ar highpty
は省略する事が出来ます。
.Ar lowpty
を省略した場合でも文字 - を省略する事は出来ません。
文字 - を省略してしまうと
.Nm
はそれが
.Ar highpty
であることを判断できずに
.Ar lowpty
であると判断してしまうからです。
.It Fl s
このオプションは、
.Nm
.Tn SecurID
カードをサポートする設定で構築されている時にのみ有効です。
このオプションを指定すると、
.Fl s
オプションはそのまま
.Xr login 1
に渡され、
.Xr login 1
.Fl s
オプションをサポートしていて
.Tn SecurID
によって認証されたログインのみを許可するような場合に有効です。
これは、ファイアウォールの外側からのリモートログインを制御するような
場合に有意義でしょう。
.It Fl S Ar tos
.It Fl u Ar len
このオプションは、リモートホスト名を保持している
.Dv utmp
構造体のフィールドの大きさを指定するために使われます。
もし解決されたホスト名が
.Ar len
よりも長ければ、ホスト名の代わりにドットで区切られたアドレスが使われます。
これによりフィールドを超えるようなとても長いホスト名を
一意に特定できるようにします。
.Fl u0
を指定することによって、ドットで区切られたアドレスだけが
.Pa utmp
ファイルに書き込まれるようにします。
.It Fl U
このオプションは
.Nm
が、
.Xr gethostbyaddr 3
ルーチンを通してシンボルでの名前にマップされないようなアドレスからの
コネクションを拒絶するようにします。
.It Fl X Ar authtype
このオプションは
.Nm
が認証オプションをサポートする設定で構築されたときにのみ有効です。
.Ar authtype
認証を使用不能にし、
.Nm
を再コンパイルすることなしに
特定の認証タイプを一時的に使用不能にする事が出来ます。
.El
.Pp
.Nm
は仮想端末デバイス (
.Xr pty 4
参照) をクライアントに割り当てます。
そして、
.Dv stdin ,
.Dv stdout ,
.Dv stderr
として仮想端末のスレーブ側を使用する login プロセスを生成します。
.Nm
は、
.Tn TELNET
プロトコルを実装し、
リモートクライアントと login プロセスとの間の
キャラクタを通過させることにより、仮想端末のマスター側を操作します。
.Pp
.Tn TELNET
セッションが開始されると
.Nm
は以下の
.Tn TELNET
オプションをクライアント側に送信して、これらの
.Tn TELNET
オプションの使用を希望している事を伝えます。
これらのオプションの詳細はついては以下に説明されています。
.Bd -literal -offset indent
DO AUTHENTICATION
WILL ENCRYPT
DO TERMINAL TYPE
DO TSPEED
DO XDISPLOC
DO NEW-ENVIRON
DO ENVIRON
WILL SUPPRESS GO AHEAD
DO ECHO
DO LINEMODE
DO NAWS
WILL STATUS
DO LFLOW
DO TIMING-MARK
.Ed
.Pp
クライアントに割り当てられた仮想端末は、
\*(lqcooked\*(rq
モードで動作し、
.Dv XTABS
.Dv CRMOD
(
.Xr tty 4
参照) が有効な状態で操作するように設定されます。
.Pp
.Nm
は、ローカル側で有効な以下に示す
.Tn TELNET
オプションをサポートしています:
.Bl -tag -width "DO AUTHENTICATION"
.It "WILL ECHO"
.Dv LINEMODE
オプションが設定されている時に
端末エコーの現在の状態を示すためにクライアントに
.Dv WILL ECHO
あるいは
.Dv WONT ECHO
が送信されます。
端末エコーが不要な場合は、
.Tn telnetd
がエコーが必要なデータに対する
エコーを処理する事を示すために
.Dv WILL ECHO
が送信され、何もエコーされません。
端末エコーが必要な場合は、
.Tn telnetd
がいかなる端末エコーも
行わない事を示すために
.Dv WONT ECHO
が送信されるので、必要な時は端末エコーをクライアント側が
行わなければなりません。
.It "WILL BINARY"
クライアントが、通常のネットワーク仮想端末が用いる 7 ビットのデータ
ではなく、8 ビットのデータを送信するように指定します。
.It "WILL SGA"
.Dv IAC GA
すなわち go ahead コマンドを送信しないように指定します。
.It "WILL STATUS"
クライアントから要求があった時に、全ての
.Tn TELNET
オプションの現在の状況を送信するように指定します。
.It "WILL TIMING-MARK"
.Dv DO TIMING-MARK
コマンドが受信された場合に、常にそれに対して
.Dv WILL TIMING-MARK
を返答します。
.It "WILL LOGOUT"
.Dv DO LOGOUT
が受信されると
.Dv WILL LOGOUT
を返答し、
.Tn TELNET
セッションはシャットダウンされます。
.It "WILL ENCRYPT"
.Nm
がデータの暗号化をサポートする設定で構築された場合のみ送信され、
データ列に対して暗号を復号するように指定します。
.El
.Pp
.Nm
はリモート側で有効な以下に示す
.Tn TELNET
オプションをサポートしています:
.Bl -tag -width "DO AUTHENTICATION"
.It "DO BINARY"
.Nm telnetd
が 8 ビットのデータ列を受信するように指定します。
.It "DO LFLOW"
クライアントがフロー制御文字をリモート側で処理するように指定します。
.It "DO ECHO"
このコマンドは実際にはサポートされませんが、クライアントが 4.2BSD
.Xr telnet 1
クライアント (
.Dv WILL ECHO
に正しく応答しない) であるかを判断するために送信されます。
もし、
.Dv WILL ECHO
が受信された場合は、それに対して
.Dv DONT ECHO
が送信されます。
.It "DO TERMINAL-TYPE"
接続のクライアント側に割り当てられた端末タイプの名前を
要求できるように指定します。
.It "DO SGA"
.Dv IAC GA
すなわち go ahead コマンドを受信する必要がないように指定します。
.It "DO NAWS"
ウィンドウ (ディスプレイ) のサイズが変わった場合に、クライアントが
それをサーバに知らせる事を要求します。
.It "DO TERMINAL-SPEED"
クライアントに割り当てられたシリアルラインの速度に関する情報を
要求できるように指定します。
.It "DO XDISPLOC"
telnet クライアントが使用している X ウィンドウのディスプレイの名前を
要求できるように指定します。
.It "DO NEW-ENVIRON"
RFC 1572 に示されている環境変数に関する情報を
要求できるように指定します。
.It "DO ENVIRON"
RFC 1408 に示されている環境変数に関する情報を
要求できるように指定します。
.It "DO LINEMODE"
.Nm
が linemode をサポートする設定で構築された場合のみ送信され、
クライアントに行単位の処理を行う事を要求します。
.It "DO TIMING-MARK"
.Nm
が linemode および kludge linemode の両方をサポートする設定で
構築され、クライアントが
.Dv WONT LINEMODE
を返信した場合のみ送信されます。
クライアントが
.Dv WILL TM
を返信した場合は、クライアントが kludge linemode を
サポートしていると判断されます。
.Op Fl k
オプションによりこの機能を無効にする事ができます。
.It "DO AUTHENTICATION"
.Nm
が認証機能をサポートする設定で構築された場合のみ送信され、
自動ログインに使用する認証情報を受信するようにします。
.It "DO ENCRYPT"
.Nm
がデータの暗号化をサポートする設定で構築された場合のみ送信され、
データ列に対して暗号を復号するように指定します。
.Sh 注釈
デフォルトでは、
.Nm
.Pa /etc/gettytab
から
.Em \&he ,
.Em \&hn ,
.Em \&im
のケーパビリティを読み、(存在するならば) この情報を使用して
login: プロンプトの前に何を表示すべきかを決定します。
.Em \&im
ケーパビリティに優先する
.Em \&if
ケーパビリティを使用して、System V スタイルの
.Pa /etc/issue
ファイルを使うこともできます。
.Em \&im
または
.Em \&if
に指定される情報は、コンソールとリモートログインの両方で表示されます。
.Sh 環境変数
.Sh ファイル
.Bl -tag -width /usr/ucb/bftp -compact
.It Pa /etc/services
.It Pa /etc/gettytab
.It Pa /etc/inittab
(UNICOS システムのみ)
.It Pa /etc/iptos
(サポートされている場合)
.It Pa /usr/ucb/bftp
(サポートされている場合)
.El
.Sh "関連項目"
.Xr bftp 1 ,
.Xr gettytab 5 ,
.Xr login 1 ,
.Xr telnet 1
(サポートされている場合)
.Sh 標準
.Bl -tag -compact -width RFC-1572
.It Cm RFC-854
.Tn TELNET
PROTOCOL SPECIFICATION
.It Cm RFC-855
TELNET OPTION SPECIFICATIONS
.It Cm RFC-856
TELNET BINARY TRANSMISSION
.It Cm RFC-857
TELNET ECHO OPTION
.It Cm RFC-858
TELNET SUPPRESS GO AHEAD OPTION
.It Cm RFC-859
TELNET STATUS OPTION
.It Cm RFC-860
TELNET TIMING MARK OPTION
.It Cm RFC-861
TELNET EXTENDED OPTIONS - LIST OPTION
.It Cm RFC-885
TELNET END OF RECORD OPTION
.It Cm RFC-1073
Telnet Window Size Option
.It Cm RFC-1079
Telnet Terminal Speed Option
.It Cm RFC-1091
Telnet Terminal-Type Option
.It Cm RFC-1096
Telnet X Display Location Option
.It Cm RFC-1123
Requirements for Internet Hosts -- Application and Support
.It Cm RFC-1184
Telnet Linemode Option
.It Cm RFC-1372
Telnet Remote Flow Control Option
.It Cm RFC-1416
Telnet Authentication Option
.It Cm RFC-1411
Telnet Authentication: Kerberos Version 4
.It Cm RFC-1412
Telnet Authentication: SPX
.It Cm RFC-1571
Telnet Environment Option Interoperability Issues
.It Cm RFC-1572
Telnet Environment Option
.Sh バグ
いくつかの
.Tn TELNET
コマンドは部分的にしか実装されていまいません。
.Pp
オリジナルの 4.2 BSD の
.Xr telnet 1
のバグに対処するため、
.Nm
は、ある種のあいまいなプロトコル変換を行うことにより、
リモートクライアントが実際に 4.2 BSD の
.Xr telnet 1
であるかどうかを判断しようとします。
.Pp
バイナリモードは
よく似たオペレーティングシステム (この場合 Unix) 間以外では
互換性がありません。
.Pp
リモートクライアントから受け取った端末タイプの名前は小文字に変換されます。
.Pp
.Nm
は、
.Tn TELNET
.Dv IAC GA
(go ahead) コマンドを絶対に送りません。
diff --git a/ja_JP.eucJP/man/man8/traceroute.8 b/ja_JP.eucJP/man/man8/traceroute.8
index 2f3feee717..42f7bdcb0b 100644
--- a/ja_JP.eucJP/man/man8/traceroute.8
+++ b/ja_JP.eucJP/man/man8/traceroute.8
@@ -1,321 +1,321 @@
.\" Copyright (c) 1989, 1995, 1996
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms are permitted
.\" provided that the above copyright notice and this paragraph are
.\" duplicated in all such forms and that any documentation,
.\" advertising materials, and other materials related to such
.\" distribution and use acknowledge that the software was developed
.\" by the University of California, Berkeley. The name of the
.\" University may not 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 MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
-.\" %Header: /home/ncvs/src/contrib/traceroute/traceroute.8,v 1.2.2.1 1998/01/09 18:51:35 steve Exp %
+.\" %Header: /home/ncvs/src/contrib/traceroute/traceroute.8,v 1.3 1998/01/09 18:46:53 steve Exp %
.\"
.\" jpman %Id: traceroute.8,v 1.2 1997/05/13 00:58:05 mutoh Stab %
.\"
.TH TRACEROUTE 8 "27 September 1996"
.UC 6
.SH 名称
traceroute \- パケットがネットワーク上のホストまでにたどる経路を表示する
.SH 書式
.. while ((op = getopt(argc, argv, "dnrvg:m:p:q:s:t:w:")) != EOF)
.na
.B traceroute
[
.B \-Sdnrv
] [
.B \-g
.I gw_host
] [
.B \-m
max_ttl
.I ]
.br
.ti +8
[
.B \-p
.I port
] [
.B \-q
.I nqueries
] [
.B \-s
.I src_addr
]
.br
.ti +8
[
.B \-t
.I tos
] [
.B \-w
.I waittime
]
.I host
[
.I packetlen
]
.ad
.SH 解説
インターネットはネットワーク機器の巨大で複雑な集合体で、
ゲートウェイによって互いに接続されています。
パケットの流れを追跡すること (あるいはパケットを破棄する悪い
ゲートウェイを見つけること) は大変難しい仕事になり得ます。
.I traceroute
は IP プロトコルの `time to live' フィールドを利用して、
あるホストまでの経路上の全てのゲートウェイから
ICMP TIME_EXCEEDED
レスポンスを引き出そうと試みます。
.PP
唯一の必須パラメータは目的地のホスト名 (IP アドレスでも可) です。
プローブパケットの長さはデフォルトで 40 バイトですが、
目的のホスト名の後にパケットサイズを (バイト単位で) 指定することによって
大きくすることもできます。
.PP
その他のオプションを以下で説明します。
.TP
.B \-S
各ホップについて、
どれだけの確認パケットに返答が無かったかのまとめを表示します。
.TP
.B \-g
粗く、ソースルーティングのためのゲートウエイを指定します。
最大 8 つ指定できます。
.TP
.B \-m
送出されるプローブパケットの最大 time-to-live (最大ホップ数) をセットします。
デフォルトは 30 ホップ (TCP と同じデフォルト値) です。
.TP
.B \-n
ゲートウェイのアドレスをホスト名と IP アドレスではなく
IP アドレスだけで表示します
(ネームサーバへの IP アドレスからホスト名への変換問い合わせを省きます)。
.TP
.B \-p
プローブに使用する UDP ポート番号 (デフォルトは 33434) の
基準値 (base) を指定します。
.I traceroute
は目的のホストにおいて、
.I base
から
.I base+nhops-1
までの UDP ポートで listen していないことを期待します
(そして ICMP PORT_UNREACHABLE
メッセージが経路追跡を終了させるために返って来ます)。
デフォルトの範囲のポートで listen されているものがある場合は、
このオプションを用いて使用されていない範囲のポートを
使用することができます。
.TP
.B \-r
通常のルーティングテーブルを使用しません。
プローブパケットを接続されているネットワーク上のホストに直接送出します。
そのホストが直接接続されたネットワーク上にない場合には
エラーが返ります。
このオプションは、
経路を持たないインタフェースを介してローカルホストに ping する場合
(たとえば、
.IR routed 8
によってインタフェースが消された後) に使用することができます。
.TP
.B \-s
送出されるプローブパケットのソースアドレス (送出するアドレス) として、
引数の IP アドレス (ホスト名ではなく、数字で指定して下さい) を用います。
複数の IP アドレスを持つホストで、
プローブパケットに別のソースアドレスを
持たせるのに使用することができます。
指定した IP アドレスが、このホストのインタフェースのアドレスのうちの
1 つでない場合、エラーが返され何も送出されません。
.TP
.B \-t
プローブパケットの
.I type-of-service
に引数の値 (デフォルトは 0) を指定します。
値は 0 から 255 までの十進数です。
.I type-of-service
の値によって、経路が異なるのかを見るために、
このオプションを使用することができます。
(telnet や ftp のような通常のネットワークサービスは、
TOS を制御することはできないので、
4.4bsd
以降のシステムでなければ、このオプションの実際的な意味はありません。)
全ての TOS の値に意味があるわけではありません。
定義については IP の詳細を参照してください。
おそらく、`\-t 16' (low delay) や `\-t 8' (high throughput) が
有益な値でしょう。
.TP
.B \-v
冗長モードです。
TIME_EXCEEDED と UNREACHABLE
以外の受信した ICMP パケットを表示します。
.TP
.B \-w
プローブパケットの応答時間 (デフォルトは 5 秒) を (秒単位で) 指定します。
.PP
このプログラムは、IP パケットが
あるホストに到達するまでにたどる経路を追跡するものです。
UDP プローブパケットを小さな ttl (time to live) で送出し、
ゲートウェイから ICMP "time exceeded" が返ってくるのを待ちます。
まず、プローブを ttl 1 から始め、(ホストに到達したことを意味する)
ICMP "port unreachable" を受け取るまで、
あるいは最大 (デフォルトは 30 ですが、 \-m フラグで変更できます)
になるまで ttl を 1 づつ増やします。
各 ttl に対して、3 個 (\-q フラグで変更可能です) のプローブが送出され、
ttl、ゲートウェイのアドレス、各プローブの往復時間を 1 行に表示します。
異なるゲートウェイからプローブが返ってきた場合は、
それぞれのシステムのアドレスを表示します。
5 秒 (\-w フラグで変更します) 以内に反応がない場合は、
各プローブに対して "*" を表示します。
.PP
目的のホストのポートが不適当な値に設定されているために、
UDP プローブパケットが処理されてしまうことを我々は望みません。
(目的のホストがその値を使用している場合、\-p フラグで
変更することができます。)
.PP
使用と出力の例 :
.RS
.nf
[yak 71]% traceroute nis.nsf.net.
traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 38 byte packet
1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms
5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms
6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms
7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms
8 129.140.70.13 (129.140.70.13) 99 ms 99 ms 80 ms
9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms
10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms
11 nic.merit.edu (35.1.1.48) 239 ms 239 ms 239 ms
.fi
.RE
2 行目と 3 行目が同じであることに注意して下さい。
これは、2番目のシステム \- lbl-csam.arpa \- が、
ttl 0 のパケットを転送するという (4.3BSD に含まれる) バグを
持ったカーネルであることによるものです。
また、NSFNet (129.140) はアドレスをホスト名に変換してくれないので、
パケットがどの経路をたどったのかを
推測する必要があることに注意して下さい。
.PP
もっと興味深い例 :
.RS
.nf
[yak 72]% traceroute allspice.lcs.mit.edu.
traceroute to allspice.lcs.mit.edu (18.26.0.115), 30 hops max
1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 19 ms 19 ms
3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 19 ms 39 ms 39 ms
5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 20 ms 39 ms 39 ms
6 128.32.197.4 (128.32.197.4) 59 ms 119 ms 39 ms
7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 39 ms
8 129.140.70.13 (129.140.70.13) 80 ms 79 ms 99 ms
9 129.140.71.6 (129.140.71.6) 139 ms 139 ms 159 ms
10 129.140.81.7 (129.140.81.7) 199 ms 180 ms 300 ms
11 129.140.72.17 (129.140.72.17) 300 ms 239 ms 239 ms
12 * * *
13 128.121.54.72 (128.121.54.72) 259 ms 499 ms 279 ms
14 * * *
15 * * *
16 * * *
17 * * *
18 ALLSPICE.LCS.MIT.EDU (18.26.0.115) 339 ms 279 ms 279 ms
.fi
.RE
l2, 14, 15, 16, 17 番目のゲートウェイが
ICMP "time exceeded" メッセージを送出していないか、
あるいは送出された ICMP "time exceeded" メッセージの ttl が小さいために、
こちらに到達しないのでしょう。
14 から 17 番目のホストでは、"time exceeded" を送出しない
MIT C Gateway コードが稼動しています。
12 番目で何が起こっているのかは、神のみぞ知るところです。
.PP
上記の 12 番目のゲートウェイが反応しないのは、4.[23] BSD
ネットワークコード (かその派生プログラム) のバグのせいでしょう。
4.x (x <= 3)では、元のデータグラムに残っている ttl がどんな値であっても、
それを用いて unreachable メッセージを送出します。
よって、ゲートウェイに対して残っている ttlは 0 なので、
ICMP "time exceeded" が戻ってこないことが保証されます。
このバグが目的のシステム上であらわれた場合、
さらにもう少し興味深いものとなります。
.RS
.nf
1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms
3 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 39 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms
5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms
6 csgw.Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 rip.Berkeley.EDU (128.32.131.22) 59 ms ! 39 ms ! 39 ms !
.fi
.RE
12 のゲートウェイ (13 番目は最終目的のホストです) があり、
ちょうど半分のゲートウェイが失敗しています。
これは、rip (Sun OS3.5 の稼働している Sun-3) が、
到着したデータグラムの ttl を ICMP 応答の ttl としてそのまま使用すること
によるものです。
経路の長さの少なくとも 2 倍の ttl のプローブが送出されるまで、(
ICMP に対して ICMP は送出されないので、誰にも気付かれずに)
帰りの経路上で応答がタイムアウトします。
すなわち、実際には rip までに 7 ホップしかありません。
ttlが 1 の応答は、問題解決の糸口になります。
ttlが 1 以下の場合、
.I traceroute
は時間の後に "!" を表示します。
ベンダーは旧式の (DEC の Ultrix、Sun 3.x) あるいは標準でない
(HPUX) ソフトウェアを多く使用しているので、
しばしばこの問題が起こることを承知して、
プローブの目標のホストは注意して選んでください。
時間の後に付くその他の注釈には、
.BR !H ,
.BR !N ,
.BR !P
(それぞれホスト、ネットワーク、プロトコルに到達不能というメッセージを
受け取った) や、
.BR !S ,
.BR !F
(ソースルーティングに失敗とフラグメンテーションが必要) や、
.B !X
(管理上、通信が禁止されている) や、
.B !<N>
(ICMP は コード N では到達できない) があります。
ほとんど全てのプローブが到達不能であれば、
.I traceroute
は送出を止め終了します。
.PP
このコマンドはネットワークの検査、測定、管理のために使用するものです。
本来は手動で障害を切り離すために使用されるべきものです。
ネットワークにかかる負荷が大きいので、
.I traceroute
を通常の操作や自動的なスクリプトで使用することは愚かなことです。
.SH 関連項目
netstat(1), ping(8)
.SH 作者
Steve Deering の提案に基づき Van Jacobson によって実装されました。
デバッグは何千もの人々、特に C.Philip Wood、 Tim Seaver と Ken Adelman
による説得力のある提案と修正によって行なわれました。
.LP
現在のバージョンは匿名 ftp を使って以下のところから入手できます。
.LP
.RS
.I ftp://ftp.ee.lbl.gov/traceroute.tar.Z
.RE
.SH バグ
バグレポートは、traceroute@ee.lbl.gov に送ってください。
diff --git a/ja_JP.eucJP/man/man8/tunefs.8 b/ja_JP.eucJP/man/man8/tunefs.8
index 150e5503aa..1d99b2b058 100644
--- a/ja_JP.eucJP/man/man8/tunefs.8
+++ b/ja_JP.eucJP/man/man8/tunefs.8
@@ -1,147 +1,152 @@
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)tunefs.8 8.2 (Berkeley) 12/11/93
+.\" %Id: tunefs.8,v 1.7 1998/08/03 06:41:20 charnier Exp %
.\" jpman %Id: tunefs.8,v 1.3 1997/07/26 22:16:10 horikawa Stab %
.\"
.Dd December 11, 1993
.Dt TUNEFS 8
.Os BSD 4.2
.Sh 名称
.Nm tunefs
.Nd 既存のファイルシステムをチューンする
.Sh 書式
.Nm tunefs
.Op Fl A
.Op Fl a Ar maxcontig
.Op Fl d Ar rotdelay
.Op Fl e Ar maxbpg
.Op Fl m Ar minfree
.Op Fl p
.Bk -words
+.Op Fl n Ar enable | disable
.Op Fl o Ar optimize_preference
.Ek
-.Op Ar special | Ar filesys
+.Op Ar special | Ar filesystem
.Sh 解説
.Nm tunefs
は、ファイルシステムのレイアウト方針に影響する動的なパラメータを
変更するために使います。変更するパラメータは以下のフラグで指定します:
-.Bl -tag -width Ds
+.Bl -tag -width indent
.It Fl A
ファイルシステムはスーパブロックのバックアップをいくつか持っています。
このオプションを指定すると、全てのバックアップの内容は
プライマリスーパブロックと同じく変更されます。
これはかなりの危険を秘めています。実行する時は気をつけて下さい。
.It Fl a Ar maxcontig
回転遅延 (
.Fl d
を参照) が強制的に行われる前に連続して配置されるブロック数を指定します。
ほとんどのデバイスドライバはディスク転送のたびに割り込みが必要なので、
デフォルト値は 1 です。
一度の転送でいくつかのバッファをつないで転送できるデバイスドライバでは、
この値を最大の連結長にすべきです。
.It Fl d Ar rotdelay
同じディスクに対する転送完了割り込みサービスと
次の転送を開始する時間の期待値をミリ秒単位で指定します。
この値は、回転遅延によるファイル中のブロック間隔を決めるのに使います。
.It Fl e Ar maxbpg
単一のファイルが他のシリンダグループへまたがる前に、1 つのシリンダグループ
から割り当てることのできる最大のブロック数を指定します。
普通は、この値にはシリンダグループのブロック数の約 1/4 が使われます。
この値は、単一のファイルが 1 つのシリンダグループのブロックを使いつくして
しまうことを防ぐために指定します。
なぜなら、これによって、そのシリンダグループに続いて配置される
すべてのファイルのアクセス速度を低下させてしまうからです。
この制限によって、大きなファイルに対しては 1 つのシリンダに配置するよりも、
長いシークをより頻繁に行わせることがあります。
極端に大きなファイルのあるファイルシステムに対しては、
このパラメータは大きな値にすべきです。
.It Fl m Ar minfree
一般ユーザが利用することができない領域の割合を指定します。
これは最低限の空き領域のしきい値となります。
デフォルト値は 8% です。
この値はゼロにすることもできますが、10% のしきい値を設けた場合と比較し、
アクセスの効率が最大 3 倍まで落ちてしまいます。
5% 以下にすると常に最適化は space 優先になってしまい、
ファイル書き込みのオーバーヘッドがかなり増えます。
もしこの値を現在の空き領域より大きな値に引き上げると、
ファイルを削除してその値を満たすだけの空き領域を用意するまで、
ユーザはファイルを作成することができなくなります。
+.It Fl n Ar enable | disable
+ソフトアップデートをオン/オフします。
+ファイルシステムのアンマウントが必要です。
.It Fl o Ar optimize_preference
ファイルシステムの最適化において、
ブロック割り当てにかかる時間を最小化するか、
もしくはディスク上のフラグメントサイズを最小にするかの
いずれかを選択できます。
space 優先の場合、
ファイル書き込みのオーバヘッドは大きくなります。
カーネルは通常、
ファイルシステムのフラグメントの割合に応じて自動的に優先を変化させます。
.It Fl p
このオプションは、
指定されたファイルシステムにおいて現在変更可能な設定のまとめを表示します。
詳細は
.Xr dumpfs 8
のマニュアルを参照してください。
.El
.Sh 関連項目
.Xr fs 5 ,
.Xr dumpfs 8 ,
.Xr newfs 8
.Rs
.%A M. McKusick
.%A W. Joy
.%A S. Leffler
.%A R. Fabry
.%T "A Fast File System for UNIX"
.%J "ACM Transactions on Computer Systems 2"
.%N 3
.%P pp 181-197
.%D August 1984
.%O "(reprinted in the BSD System Manager's Manual, SMM:5)"
.Re
.Sh バグ
このプログラムは、
マウントされているファイルシステムに対しても動作すべきです。
スーパブロックはバッファキャッシュ内に保存されていないため、
実行の影響は、それをマウントされていないファイルシステムに
対して実行したときのみ現れます。
ルートファイルシステムをチューンするには、チューン後に再起動する必要が
あります。
.\" Take this out and a Unix Demon will dog your steps from now until
.\" the time_t's wrap around.
.Pp
ファイルシステムをチューンする事はできても、ファイルの中身まではチュー
ンできません:-)
.Sh 歴史
.Nm
コマンドは
.Bx 4.2
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/tzsetup.8 b/ja_JP.eucJP/man/man8/tzsetup.8
index 9b922bc6bf..ff6a0bbadb 100644
--- a/ja_JP.eucJP/man/man8/tzsetup.8
+++ b/ja_JP.eucJP/man/man8/tzsetup.8
@@ -1,76 +1,76 @@
.\" Copyright (c) 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: tzsetup.8,v 1.3.2.3 1998/03/09 14:46:17 jkh Exp %
+.\" %Id: tzsetup.8,v 1.8 1997/10/27 07:49:45 charnier Exp %
.\" jpman %Id: tzsetup.8,v 1.3 1997/07/22 17:04:38 horikawa Stab %
.Dd January 1996
.Dt TZSETUP 8
.Os FreeBSD
.Sh 名称
.Nm tzsetup
.Nd ローカルタイムゾーンを設定する
.Sh 書式
.Nm tzsetup
.Op Fl n
.Sh 解説
.Nm
は、メニューによるローカルタイムゾーンの設定を行うためのプログラムです。
もっとも良くあなたの場所を表現している大陸と (例えば、あなたの首都の様な)
都市を選びます。すると
.Nm
が全ての仕事を行ってくれます。
.Pp
以下のオプションが使用可能です:
.Bl -tag -width indent
.It Fl n
実際には何も行わない。
.El
.Sh バグ
変更が効果を持つためには、機械をリブートする必要があります。
.Sh 関連ファイル
.Bl -tag -width /etc/wall_cmos_clock -compact
.It Pa /etc/localtime
現在のタイムゾーンのファイル
.It Pa /usr/share/zoneinfo
ゾーン情報ファイルのためのディレクトリ
.It Pa /etc/wall_cmos_clock
.Xr adjkerntz 8
を見てください。
.El
.Sh 関連項目
.Xr date 1 ,
.Xr adjtime 2 ,
.Xr ctime 3 ,
.Xr timezone 3 ,
.Xr tzfile 5 ,
.Xr adjkerntz 8 ,
.Xr zdump 8 ,
.Xr zic 8
diff --git a/ja_JP.eucJP/man/man8/umount.8 b/ja_JP.eucJP/man/man8/umount.8
index c83adfdf47..6468245af4 100644
--- a/ja_JP.eucJP/man/man8/umount.8
+++ b/ja_JP.eucJP/man/man8/umount.8
@@ -1,145 +1,151 @@
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)umount.8 8.1 (Berkeley) 2/20/94
+.\" @(#)umount.8 8.2 (Berkeley) 5/8/95
+.\" %Id: umount.8,v 1.5 1998/08/03 06:44:46 charnier Exp %
.\" jpman %Id: umount.8,v 1.3 1997/07/22 17:06:06 horikawa Stab %
.\"
.Dd February 20, 1994
.Dt UMOUNT 8
.Os BSD 4
.Sh 名称
.Nm umount
.Nd ファイルシステムのアンマウント
.Sh 書式
.Nm umount
.Op Fl fv
-.Ar special | node
+.Ar special \&| node
.Nm umount
-.Fl a
+.Fl a | A
.Op Fl fv
.Op Fl h Ar host
-.Op Fl t Ar ufs | lfs | external_type
+.Op Fl t Ar type
.Sh 解説
-.Nm umount
+.Nm
コマンドは、
.Ar "スペシャルデバイス (special device)"
もしくはリモートのノード (rhost:path) をファイルシステムツリーの
.Ar node
の位置から除去するために、
.Xr unmount 2
システムコールを呼び出します。
.Ar special
.Ar node
のどちらか一方が指定されなかった時は、適当な情報が
.Xr fstab 5
ファイルから入手されます。
.Pp
以下のようなオプションがあります。
.Bl -tag -width indent
.It Fl a
.Xr fstab 5
に記述されている全てのファイルシステムをアンマウントします。
+.It Fl A
+ルート以外で現在マウントされているファイルシステムをすべて
+アンマウントします。
.It Fl f
ファイルシステムを強制的にアンマウントします。
利用されているスペシャルデバイスは使い続けようとしますが、
更にアクセスしようとすると、全てのファイルはエラーを返します。
ルートファイルシステムは強制的にアンマウントすることはできません。
.It Fl h Ar host
指定されたホストからマウントしているファイルシステムだけをアンマウント
します。
このオプションは
-.Fl a
+.Fl A
オプションを暗黙に指定し、
.Fl t
-オプションで他のものを指定しなければ、NFS ファイルシステムだけを
+オプションで他のものを指定しなければ、
+.Tn NFS
+ファイルシステムだけを
アンマウントします。
-.It Fl t Ar "ufs \\*(Ba lfs \\*(Ba external type"
+.It Fl t Ar type
指定されたタイプのファイルシステムだけを扱うように指示します。
1 つ以上のタイプは、コンマ (``,'') で分けたリストで指定します。
ファイルシステム形式のリストは、
前に
.Dq no
を付けることで、その動作をそのファイルシステムに付いては行わない様に
指定することもできます。
例えば、
-.Nm umount
+.Nm
コマンド
.Bd -literal -offset indent
umount -a -t nfs,mfs
.Ed
.Pp
は、ファイルシステムのタイプが
.Tn NFS
.Tn MFS
である全てのファイルをアンマウントします。
.It Fl v
冗長モードです。アンマウントされる各ファイルシステムの追加情報が
出力されます。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
ファイルシステムテーブル
.El
.Sh 関連項目
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8
.Sh バグ
union ファイルシステムを使っている時は、
.Xr umount 8
は、常にマウントポイントであるノードを決定することができません。
この場合、アンマウントするために
.Xr mount 8
で表示されるのと同じ形式で適切なディレクトリを指定してやる必要が
あります。
例えば、マウントエントリが以下のような場合、
.Bd -literal -offset indent
<above>/tmpdir on /cdrom (local, user mount)
.Ed
.Pp
アンマウントのためのコマンドは、
.Bd -literal -offset indent
umount '<above>/tmpdir'
.Ed
.Pp
となります。ここで、
.Ar /tmpdir
は、マウントポイント
.Ar /cdrom
からアンマウントされます。
.Sh 歴史
-.Nm umount
+.Nm
コマンドは
.At v6
から導入されました。
diff --git a/ja_JP.eucJP/man/man8/uuchk.8 b/ja_JP.eucJP/man/man8/uuchk.8
index 86f24d1934..4dd88374c3 100644
--- a/ja_JP.eucJP/man/man8/uuchk.8
+++ b/ja_JP.eucJP/man/man8/uuchk.8
@@ -1,42 +1,42 @@
-''' %Id: uuchk.8,v 1.1.2.1 1998/03/09 11:13:33 jkh Exp %
+''' %Id: uuchk.8,v 1.2 1998/03/09 11:13:17 jkh Exp %
.TH uuchk 1 "Taylor UUCP 1.06"
.SH 名称
uuchk \- UUCP の設定から得た情報を表示する
.SH 書式
.B uuchk
[-s system] [standard UUCP options]
.SH 解説
.B uuchk
プログラムは UUCP 設定ファイルを読み込み、
どんなことが書かれていたかをどちらかというと長めの表現で表示します。
UUCP の設定を行っているときに、
UUCP パッケージがあなたの期待通りに動作することを確認するために使用すると
便利です。
.SH オプション
以下のオプションを
.B uuchk
に与えることが可能です:
.TP 5
.B \-s, \-\-system
全システムではなく、指定したシステムに関する情報のみを表示します。
.B uuchk
プログラムは、標準の UUCP プログラムのオプションもサポートします。
.TP 5
.B \-x type
.TP 5
.B \-\-debug type
.TP 5
.B \-I file
.TP 5
.B \-\-config file
.TP 5
.B \-v, \-\-version
.TP 5
.B \-\-help
標準の UUCP オプション。
.SH 関連項目
uucp(1)
.SH 作者
Ian Lance Taylor (ian@airs.com).
このマニュアルページは Taylor UUCP 1.06 の Texinfo 文書に基いています。
diff --git a/ja_JP.eucJP/man/man8/uucico.8 b/ja_JP.eucJP/man/man8/uucico.8
index af53f98902..fa4fdaf5e4 100644
--- a/ja_JP.eucJP/man/man8/uucico.8
+++ b/ja_JP.eucJP/man/man8/uucico.8
@@ -1,290 +1,290 @@
-''' %Id: uucico.8,v 1.5 1995/08/19 21:29:57 ache Exp %
+''' %Id: uucico.8,v 1.7 1997/02/22 15:28:33 peter Exp %
.\" jpman %Id: uucico.8,v 1.3 1997/09/07 14:14:55 horikawa Stab %
.TH uucico 8 "Taylor UUCP 1.06"
.SH 名称
uucico \- UUCP ファイル転送デーモン
.SH 書式
.B uucico
[ options ]
.SH 解説
.I uucico
デーモンは、
.I uucp
(1) および
.I uux
(1) によってキューに蓄積されたファイル転送リクエストの処理をします。
.I uucico
は、(
.B \-r
オプションなしに)
.I uucp
あるいは
.I uux
が実行された時に実行を始めます。
また、典型的な方法として、
.I crontab
テーブルを用いて定期的に実行されます。
.B \-r1,
.B \-\-master,
.B \-s,
.B \-\-system
あるいは
.B \-S
オプションとともに起動された場合、デーモンはリモートシステムを呼び出し、
マスタモードで動作します。それ以外の場合は、デーモンはスレーブモードで
動作し、リモートシステムからの呼び出しを受け付けます。典型的な方法として、
UUCP 用の特別なログイン名が準備され、呼び出しを受けると
.I uucico
を自動的に起動するように設定されます。
.I uucico
が終了すると、
.B \-q
あるいは
.B \-\-nouuxqt
が指定されていなければ、
.I uuxqt
(8) デーモンを起動します。
.I uuxqt
(8) は、リモートシステムの
.I uux
(1) によって作成された作業を実行し、また、待機していたリモートファイルの
受信によりローカルに作成された作業を実行します。
呼び出しが失敗すると、
.I uucico
は、ある(設定可能な)時間が経過するまで、再呼び出しを拒否します。
この動作は、
.B -f,
.B --force
あるいは
.B -S
オプションにより無効にする事ができます。
.B \-l,
.B \-\-prompt,
.B \-e
あるいは
.B \-\-loop
オプションを使用する事で、
.I uucico
に独自の "login:" および "Password:" プロンプトを生成させる事ができます。
他のデーモンが呼び出して来た場合、このプロンプトを見て、通常通りに
ログインする事ができます。この場合、ログイン名およびパスワードは
.I /etc/passwd
ファイルではなく、
.I uucico
専用に準備されたリストによりチェックされます。一部のシステムでは、
.I uucico
.I /etc/passwd
ファイルを用いるようにする事も可能です。
.B \-l
あるいは
.B \--prompt
オプションを用いると、プロンプトを一回だけ生成し、そのセッションが
終了するとプロセスも終了します。
このモードでは、UUCP 管理者あるいはスーパユーザは
.B \-u
あるいは
.B \--login
オプションを用いてログイン名を指定する事ができます。この時、
.I uucico
は "login:" プロンプトを生成しません。
.B \-e
あるいは
.B \--loop
オプションを用いると、最初のセッションが終了すると再びプロンプトを生成
します。このモードでは、
.I uucico
は、ポートを永久的に制御します。
.I uucico
が SIGQUIT、SIGTERM あるいは SIGPIPE シグナルを受け取ると、
現在のリモートシステムとのやり取りを中断し、終了します。
.I uucico
が SIGHUP シグナルを受け取ると、現在のやり取りを中断しますが、
.B \-r1
あるいは
.B \-\-master
により起動された場合は、呼び出しを継続し、
.B \-e
あるいは
.B \-\-loop
により起動された場合は、他のシステムからの呼び出しを受け付けます。
.I uucico
が SIGINT シグナルを受け取った場合、現在のやり取りを終了し、
それ以上の呼び出しや受付を行いません。
.SH オプション
以下のオプションが
.I uucico
で使用可能です。
.TP 5
.B \-r1, \-\-master
マスタモードで動作します(他のシステムを呼び出します)。
.B \-s,
.B \-\-system
あるいは
.B \-S
が指定されていれば、このオプションが指定されたと見なされます。
システムが指定されていなければ、待機中の作業がある全てのシステムを呼び出します。
.TP 5
.B \-r0, \-\-slave
スレーブモードで動作します。デフォルトはこの設定です。
.TP 5
.B \-s system, \-\-system system
指定されたシステムを呼び出します。
.TP 5
.B \-S system
必要な待ち時間を無視して、指定されたシステムを呼び出します。
.B \-s system \-f
と等価です。
.TP 5
.B \-f, \-\-force
呼び出しに際して、必要な待ち時間を無視します。
.TP 5
.B \-l, \-\-prompt
"login:" と "Password:" を表示してログイン名とパスワードの入力を
要求します。このオプションにより、
.I uucico
.I inetd
(8) から起動することを容易にします。ログイン名およびパスワードは
UUCP パスワードファイルによりチェックされ、通常このファイルは
.I /etc/passwd
ファイルとは関連していません。
.B \-\-login
オプションを用いてログイン名を指定する事ができます。この時、
.I uucico
は、パスワードの入力のみを要求します。
.TP 5
.B \-p port, \-\-port port
呼び出しあるいは待ち受けに使用するポートを指定します。
.TP 5
.B \-e, \-\-loop
ログイン/パスワードの要求とスレーブモードデーモンでの実行の無限ループ
に入ります。プログラムは自分自身では終了しないので、終了させるためには
.I kill
(1) を使用する必要があります。
.TP 5
.B \-w, \-\-wait
(
.B \-s,
.B \-\-system
あるいは
.B \-S
が指定されていればそのシステムへの、単に
.B \-r1
あるいは
.B \-\-master
が指定されていれば作業がある全てのシステムへの)呼び出しが終了すると、
.B \-\-loop
が指定された場合同様、無限ループに入ります。
.TP 5
.B \-q, \-\-nouuxqt
終了後に、
.I uuxqt
(8) デーモンの実行をしません。
.TP 5
.B \-c, \-\-quiet
その時間に全ての呼び出しが禁止されていた場合、呼び出しは行わず、
ログファイルにエラーメッセージも記録せず、
.I uustat
(1) で報告されるシステム状況も更新しません。
このオプションは、どのシステムが現在呼び出し可能であるかを気にせずに
全てのシステムへの呼び出しを試すような、自動ポーリングスクリプトから
使用する場合に便利でしょう。さらに、このオプションを使用すると、
作業が何もない事の記録も行いません。
.TP 5
.B \-C, \-\-ifwork
.B \-s,
.B \-\-system
あるいは
.B \-S
で指定されたシステムに対する作業がある場合のみ呼び出しを行います。
.TP 5
.B \-D, \-\-nodetach
制御端末の切り離しを行いません。通常、
.I uucico
は他のシステムの呼び出しや
.I uuxqt
の実行に先立ち、端末を切り離します。
このオプションはこの動作を防ぎます。
.TP 5
.B \-u name, \-\-login name
起動したユーザのログイン名の代わりに使用するログイン名を指定します。
このオプションは UUCP 管理者あるいはスーパユーザのみが使用できます。
.B \-\-prompt
とともに使用した場合、
.I uucico
は、ログイン名の入力待ちはせず、パスワードの入力だけを待ちます。
.TP 5
.B \-z, \-\-try-next
リモートシステムに接続したあとに呼び出しが失敗した場合、
単に終了するのではなく、次の選択肢を試行します。
.TP 5
.B \-i type, \-\-stdin type
標準入力を使用する場合のポートのタイプを指定します。サポートされる
唯一のタイプは TLI で、TLI ネットワークインタフェースをサポートしている
マシンでしか使用する事ができません。
.B \-iTLI
を指定すると、
.I uucico
は、入出力を行う時に TLI 呼び出しを使用します。
.TP 5
.B \-x type, \-X type, \-\-debug type
特定のデバッグタイプを指定します。タイプとしては、
abnormal, chat, handshake, uucp-proto, proto, port,
config, spooldir, execute, incoming, outgoing があります。
コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
.B \-\-debug
オプションは、1回のコマンド起動で複数回指定可能です。また、タイプとして
数字を指定することも可能です。
例えば、
.B \-\-debug 2
は、
.B \-\-debug abnormal,chat
と同じ意味です。
デバッグ出力は、デバッグファイルに記録されます。通常、デバッグファイルは、
/var/spool/uucp/Debug, /usr/spool/uucp/DEBUG,
/usr/spool/uucp/.Admin/audit.local のいずれかです。
.TP 5
.B \-I file, \-\-config file
使用する初期設定ファイルの指定を行います。
ただし、本オプションが使用可能かどうかは、
.I uucico
がどのようにコンパイルされたかによります。
.TP 5
.B \-v, \-\-version
バージョンを表示し、終了します。
.TP 5
.B \-\-help
ヘルプを表示し、終了します。
.SH 関連ファイル
関連ファイル名は、コンパイル時の指定ないしは初期設定ファイルにより
変化します。以下に挙げるものは、その一例です。
.br
/etc/uucp/config - 初期設定ファイル
.br
/etc/uucp/passwd - デフォルトの UUCP パスワードファイル
.br
/var/spool/uucp -
UUCP スプールディレクトリ
.br
/var/spool/uucp/Log -
UUCP ログファイル
.br
/var/spool/uucppublic -
デフォルトの UUCP パブリックディレクトリ
.br
/var/spool/uucp/Debug -
デバッグファイル
.SH 関連項目
kill(1), uucp(1), uux(1), uustat(1), uuxqt(8)
.SH 作者
Ian Lance Taylor
<ian@airs.com>
diff --git a/ja_JP.eucJP/man/man8/uucpd.8 b/ja_JP.eucJP/man/man8/uucpd.8
index f3df3ad855..ef1a2f24d3 100644
--- a/ja_JP.eucJP/man/man8/uucpd.8
+++ b/ja_JP.eucJP/man/man8/uucpd.8
@@ -1,68 +1,68 @@
.\" Copyright (c) 1983, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)rshd.8 8.1 (Berkeley) 6/4/93
-.\" %Id: uucpd.8,v 1.2.2.2 1998/03/06 01:48:36 jkh Exp %
+.\" %Id: uucpd.8,v 1.6 1997/12/04 07:20:42 charnier Exp %
.\"
.\" jpman %Id: uucpd.8,v 1.3 1997/09/04 16:43:12 horikawa Stab %
.Dd Feb 18, 1996
.Dt UUCPD 8
.Os BSD 4.4
.Sh 名称
.Nm uucpd
.Nd uucp ネットワークサーバ
.Sh 書式
.Nm /usr/libexec/uucpd
.Sh 解説
.Nm
は、ネットワーク経由での uucp 接続をサポートするサーバです。
.Nm
は、``uucp'' サービスとして定められたポート(
.Xr services 5
参照)を監視し、リクエストが来るのを待ちます。
サーバは、ログイン名とパスワードによる認証を行った後、実際の転送を行う
.Nm uucico
を起動します。
.Sh 関連項目
.Xr inetd.conf 5 ,
.Xr services 5 ,
.Xr inetd 8 ,
.Xr uucico 8
.Sh 関連ファイル
.Bl -tag -width /etc/hosts -compact
.It Pa /etc/services
.It Pa /etc/inetd.conf
.El
.Sh 歴史
.Nm
ユーティリティは、
.Bx 4.3
から登場しました。
diff --git a/ja_JP.eucJP/man/man8/uuxqt.8 b/ja_JP.eucJP/man/man8/uuxqt.8
index 4711998b7a..5e11a1ff04 100644
--- a/ja_JP.eucJP/man/man8/uuxqt.8
+++ b/ja_JP.eucJP/man/man8/uuxqt.8
@@ -1,113 +1,113 @@
-''' %Id: uuxqt.8,v 1.4 1995/08/19 21:30:28 ache Exp %
+''' %Id: uuxqt.8,v 1.6 1997/02/22 15:28:58 peter Exp %
.\" jpman %Id: uuxqt.8,v 1.2 1997/03/31 15:01:29 horikawa Stab %
.TH uuxqt 8 "Taylor UUCP 1.05"
.SH 名称
uuxqt \- UUCP 実行デーモン
.SH 書式
.B uuxqt
[ options ]
.SH 解説
.B uuxqt
デーモンは、ローカルもしくはリモートシステムの
.I uux
(1) によって要求されたコマンドを実行します。このデーモンは
.I uucico
(8) によって自動的に実行開始されます。ただし、
.I uucico
(8) デーモンが
.B \-q
オプションか
.B \-\-nouuxqt
オプションを付加して実行された場合にはこの限りではありません。
通常は、
.I uucico
(8) から本コマンドを起動するため、本コマンドをユーザが直接実行する
必要はありません。しかし、処理キューの処理について、なんらかの融通を
きかせたい場合に本コマンドは有効です。
.I uuxqt
の複数同時起動については、初期化コマンドの
.I max-uuxqt
を用いることによって
同時起動最大数を制御することが出来ます。
.SH オプション
以下のオプションが
.B uuxqt
で使用可能です。
.TP 5
.B \-c command, \-\-command command
引数
.I command
で指定したコマンドの要求のみを実行します。例:
.br
.in +0.5i
.nf
uuxqt --command rmail
.fi
.in -0.5i
.TP 5
.B \-s system, \-\-system system
指定したシステムからの要求のみを実行します。
.TP 5
.B \-x type, \-\-debug type
特定のデバッグタイプを有効にします。デバッグタイプとしては、
abnormal, chat, handshake, uucp-proto, proto, port,
config, spooldir, execute, incoming, outgoing が有効です。
なお、
.I uuxqt
自体に意味のあるデバッグタイプは
abnormal, config, spooldir, execute
の 4 つだけです。
デバッグタイプに関しては、コンマで区切ることで複数指定が可能になります。
.B \-\-debug
によるデバッグタイプ指定は、
1 つのコマンドライン中に複数存在してもかまいません。
数字による指定を行なうと、先述のリスト中、先頭から指定した番号までの
デバッグタイプが有効になります。例えば、
.B \-\-debug 2
と指定した場合は、
.B \-\-debug abnormal,chat
と指定したのと同じです。
デバッグ出力は、デバッグファイルに記録されます。デバッグファイルは、通常は、
/var/spool/uucp/Debug, /var/spool/uucp/DEBUG,
/var/spool/uucp/.Admin/audit.local
のいずれかです。
.TP 5
.B \-I file, \-\-config
使用する設定ファイルを指定します。しかし
このオプションが利用できるかできないかは
.I uuxqt
をどのようにコンパイルしたかに依存します。
.TP 5
.B \-v, \-\-version
バージョン情報を表示して終了します。
.TP 5
.B \-\-help
ヘルプメッセージを表示して終了します。
.SH 関連ファイル
ファイル名は、コンパイル時もしくは
設定ファイルによって変更可能です。
したがって、これは目安だと思って下さい。
.br
/etc/uucp/config - 設定ファイル。
.br
/var/spool/uucp -
UUCP スプールディレクトリ。
.br
/var/spool/uucp/Log -
UUCP ログ記録ファイル。
.br
/var/spool/uucppublic -
デフォルト時の UUCP パブリックディレクトリ。
.br
/var/spool/uucp/Debug -
デバッグ情報ファイル。
.SH 関連項目
uucp(1), uux(1), uucico(8)
.SH 作者
Ian Lance Taylor
(ian@airs.com)
diff --git a/ja_JP.eucJP/man/man8/vmstat.8 b/ja_JP.eucJP/man/man8/vmstat.8
index ec0381e9c8..b124a09b98 100644
--- a/ja_JP.eucJP/man/man8/vmstat.8
+++ b/ja_JP.eucJP/man/man8/vmstat.8
@@ -1,215 +1,217 @@
.\" Copyright (c) 1986, 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.
.\"
.\" @(#)vmstat.8 8.1 (Berkeley) 6/6/93
+.\" %Id: vmstat.8,v 1.9 1997/08/25 06:40:05 charnier Exp %
.\" jpman %Id: vmstat.8,v 1.2 1997/05/29 07:57:00 yugawa Stab %
.\"
.Dd June 6, 1996
.Dt VMSTAT 8
.Os BSD 4
.Sh 名称
.Nm vmstat
.Nd 仮想メモリの統計情報を報告する
.Sh 書式
.Nm vmstat
.\" .Op Fl fimst
.Op Fl ims
.Op Fl c Ar count
.Op Fl M Ar core
.Op Fl N Ar system
.Op Fl w Ar wait
.Op Ar disks
.Sh 解説
.Nm
は、プロセス、仮想メモリ、ディスク、トラップ、CPU の活動状況
などについてカーネルが持っている統計情報を報告します。
.Pp
オプション:
.Bl -tag -width indent
.It Fl c
表示を
.Ar count
回繰り返します。
最初の表示はリブート時からの統計で、
その後の表示は直前の表示から現在までの間の統計です。
.Ar wait
間隔を指定しないと、デフォルトは 1 秒となります。
.\" .It Fl f
.\" システムが起動してからの
.\" .Xr fork 2
.\" と
.\" .Xr vfork 2
.\" システムコールの回数と、それぞれのシステムコールで使われた
.\" 仮想メモリのページ数を表示します。
.It Fl i
システムが起動してから各デバイスで起こった割り込みの回数を表示します。
.It Fl M
名前に関するリストから値を取り出す際に、デフォルトの
.Pa /dev/kmem
の代わりに指定された
.Ar core
を使います。
.It Fl N
名前のリストを取り出す際に、デフォルトの
.Pa /kernel
の代わりに指定された
.Ar system
を使います。
.It Fl m
カーネルの動的メモリの利用状況について、確保したサイズ、利用のタイプの
順で一覧にして表示します。
.It Fl s
.Em sum
構造体の内容を表示し、システムが起動してから起こったいくつかの
種類のページング関連のイベントの合計を報告します。
.\" .It Fl t
.\" システムが起動してからのページインと際利用されたページ数、
.\" それぞれが要求した時間の合計を表示します。
.It Fl w
各表示の間で、
.Ar wait
秒ポーズします。
繰り返し回数
.Ar count
を指定していなければ、デフォルトでは無限に繰り返します。
.El
.Pp
デフォルトでは、
.Nm
は以下の情報を表示します。
.Pp
.Bl -tag -width indent
.It procs
以下の各状態でのプロセス数に関する情報
.Pp
.Bl -tag -width indent -compact
.It r
実行待ち行列にある状態
.It b
リソース確保 (i/o やページングなど) のためにブロックされている状態
.It w
実行可能または短期間のスリープ中 (20 秒以内) であるが、スワップされている状態
.El
.It memory
仮想メモリと実メモリの使用状況に関する情報を表示します。
実行中または最近 20 秒間で実行されたプロセスに属する仮想ページ
(1024 バイト単位で表示される) は、アクティブであるとみなします。
.Pp
.Bl -tag -width indent -compact
.It avm
アクティブな仮想ページ
.It fre
フリーリストのサイズ
.El
.It page
ページフォルトとページングの活動状況に関する情報を表示します。
これらは 5 秒間の平均として、秒単位で表示します。
.Pp
.Bl -tag -width indent -compact
.It flt
ページフォルトの総数
.It re
要求されたページ数 (参照ビットをシミュレート)
.\" .It at
.\" アタッチされたページ数(フリーリストの中から見つけ出されたもの)
.It pi
ページインされたページ数
.It po
ページアウトされたページ数
.It fr
秒単位の開放されたページ数
.\" .It de
.\" 予期される短期的なメモリ不足
.It sr
クロックアルゴリズムによってスキャンされたページ数 (秒単位)
.El
.It disks
秒単位のディスク操作に関する情報 (このフィールドはシステム依存です)。
通常、ページングは使用可能なドライブにまたがって分割されます。
このフィールドのヘッダは、ディスク名の最初の文字とユニット番号です。
システムが 4 つ以上のディスクドライブを扱うように設定されている場合、
.Nm
は最初の 4 つのドライブしか表示しません。
.Nm
で特定のドライブを表示するには、コマンド行でドライブ名を指定します。
.It faults
最近 5 秒間のトラップ/割り込みの平均レート (秒単位)。
.Pp
.Bl -tag -width indent -compact
.It in
デバイス割り込み (クロック割り込みを含む) の回数
.It sy
システムコールの回数
.It cs
cpu のコンテキストスイッチの回数
.El
.It cpu
CPU 使用時間の内訳 (%)
.Pp
.Bl -tag -width indent -compact
.It us
通常およびそれより低い優先度のプロセスのユーザ時間
.It sy
システム時間
.It id
CPU アイドル時間
.El
.El
.Sh 使用例
コマンド:
.Dl vmstat -w 5
-は、5 秒おきにシステムの統計を表示します。これは、システム内の統計を取るのに
-ちょうどよい間隔です。
-他の値では秒単位の値にバラツキがあり、しばらく出力を継続すると
-1 秒毎に計算しなおしていることがわかるでしょう。
+は、システムがどのように動作しているかを 5 秒おきに表示します。
+5 秒おきにサンプリングされている統計情報があるため、
+この間隔で表示するのがちょうどよいです。
+その他の統計情報は 1 秒毎に変化します。
+しばらく出力を続ければ、どれが毎秒計算し直されているかがわかるでしょう。
.Sh 関連ファイル
.Bl -tag -width /dev/kmemxxx -compact
.It Pa /kernel
デフォルトのカーネル名前リスト
.It Pa /dev/kmem
デフォルトのメモリファイル
.El
.Sh 関連項目
.Xr fstat 1 ,
.Xr netstat 1 ,
.Xr nfsstat 1 ,
.Xr ps 1 ,
.Xr systat 1 ,
.Xr iostat 8 ,
.Xr pstat 8
.Pp
.%T "Installing and Operating 4.3BSD"
の ``Interpreting system activity'' で始まるセクション
.Sh バグ
.Fl c
.Fl w
オプションは、デフォルトの出力を行うときにのみ有効です。
diff --git a/ja_JP.eucJP/man/man8/vnconfig.8 b/ja_JP.eucJP/man/man8/vnconfig.8
index b2b1b244bc..f7b1990967 100644
--- a/ja_JP.eucJP/man/man8/vnconfig.8
+++ b/ja_JP.eucJP/man/man8/vnconfig.8
@@ -1,187 +1,206 @@
.\" Copyright (c) 1993 University of Utah.
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Systems Programming Group of the University of Utah Computer
.\" Science Department.
.\"
.\" 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.
.\"
.\" @(#)vnconfig.8 8.1 (Berkeley) 6/5/93
.\" jpman %Id: vnconfig.8,v 1.2 1997/05/03 13:45:51 horikawa Stab %
.\"
.Dd July 8, 1993
.Dt VNCONFIG 8
.Os BSD 4
.Sh 名称
.Nm vnconfig
.Nd vnode ディスクを構築して利用できるようにする
.Sh 書式
.Nm vnconfig
.Op Fl cdeguv
.Op Fl s Ar option
.Op Fl r Ar option
.Ar special_file Ar regular_file
.Oo Ar feature Oc
.Nm vnconfig
.Fl a
.Op Fl cdeguv
.Op Fl s Ar option
.Op Fl r Ar option
.Op Fl f Ar config_file
.Sh 解説
.Nm
コマンドは、vnode 疑似ディスクデバイスを構築して使用可能にします。
コマンドの最初の書式では、スペシャルファイル
.Ar special_file
を通常ファイル
.Ar regular_file
に結びつけ、
後で通常ファイルをディスクであるかのようにアクセスできるようにします。
これによりファイルシステム中の通常ファイルを、
スワップや、名前空間にマウントされるファイルシステムと出来ます。
.Pp
オプションは動作を指定します:
.Bl -tag -width indent
.It Fl a
コマンドファイルを読み込み、
各デバイス/ファイルの組に対して指定された動作を実行します。
.It Fl c
デバイスを構築します。
成功すると、
.Ar special_file
への参照は、
.Ar regular_file
の内容へのアクセスとなります。
.It Fl d
指定した
.Ar feature
を(可能であれば)無効にします。
.It Fl e
デバイスを構築し、指定された
.Ar feature
を有効にします。
.Ar feature
が指定されないと、
.Fl e
.Fl c
と同じ意味になります。
.It Fl f Ar config_file
.Ar config_file
を設定ファイルの代りに使用します。
.It Fl g
global オプションを制御します。
-.It Fl r Ar option
-.Ar option
+.It Fl r Ar flag
+.Ar flag
をリセットします。
-.Ar option
-は labels, follow, debug, io, all, none のいずれかです。
-.It Fl s Ar option
-.Ar option
+利用可能なフラグと意味は以下の通りです:
+.Bl -tag -width "follow"
+.It Ar labels
+ディスク/スライスラベルを使用する。
+.It Ar follow
+.Xr vn 4
+ドライバのフローをデバッグする。
+.It Ar debug
+.Xr vn 4
+ドライバのデータをデバッグする。
+.It Ar io
+.Xr vn 4
+ドライバの I/O をデバッグする。
+.It Ar all
+すべてのフラグをオンにする。
+.It Ar none
+すべてのフラグをオフにする。
+.El
+.It Fl s Ar flag
+.Ar flag
をセットします。
+利用可能なフラグと意味は
+.Fl r
+と同じです。
.It Fl u
デバイスを無効にし、``無構築状態'' にします。
.It Fl v
実行される動作の内容を標準出力に表示します。
.El
.Pp
動作を指定するオプションがない場合には、
.Fl c
が指定されたものと見なします。
.Pp
.Ar feature
引数は、
.Fl e
によって有効になる機能を指定します。
.Bl -tag -width indent
.It Dv swap
スペシャルファイル上でのスワップを有効にします。
.Xr swapon 2
を参照してください。
.It Dv Pf mountro= Pa mount_point
スペシャルファイルは、
.Ar mount_point
へ読み込み専用マウントされます。
.Xr mount 2
を参照してください。
.It Dv Pf mountrw= Pa mount_point
スペシャルファイルは、
.Ar mount_point
へ読み書き可能マウントされます。
.Xr mount 2
を参照してください。
.It Dv Pf mount= Pa mount_point
``mountrw='' と同じです。
.El
.Pp
設定ファイルは、1 行にデバイスとファイル名の組を次の形式で持ちます:
.Bd -literal
special_file regular_file [ feature ]
.Ed
.Pp
ここでは各フィールドはスペースで分割されます。
設定ファイル中のすべてのデバイスの動作に関して、
前述の動作オプションが有効です。
.Sh 関連ファイル
.Bl -tag -width /etc/vntab -compact
.It Pa /etc/vntab
.Fl a
オプションで使われるデフォルトの設定ファイル
.El
.Sh 使用例
.Pp
.Dl vnconfig /dev/vn0c /tmp/diskimage
.Pp
vnode ディスクデバイス
.Pa vn0c
を構築します。
.Pp
.Dl vnconfig -e /dev/vn0c /var/swapfile swap
.Pp
vnode ディスクデバイス
.Pa vn0c
を構築し、それをスワップ領域として使うようにします。
.Pp
.Dl vnconfig -d /dev/vn0c myfilesystem mount=/mnt
.Pp
vnode ディスクデバイス
.Pa vn0c
のマウントを解除します(また無構築状態にします)。
.Pp
.Dl vnconfig -ae
.Pp
.Pa /etc/vntab
に記述されているすべてのデバイスを構築して使用可能にします。
.Sh 関連項目
.Xr mount 2 ,
.Xr swapon 2 ,
.Xr unmount 2 ,
.Xr vn 4 .
diff --git a/ja_JP.eucJP/man/man8/wormcontrol.8 b/ja_JP.eucJP/man/man8/wormcontrol.8
index 1b1010bf90..f319eabcc9 100644
--- a/ja_JP.eucJP/man/man8/wormcontrol.8
+++ b/ja_JP.eucJP/man/man8/wormcontrol.8
@@ -1,228 +1,190 @@
.\"
.\" Copyright (C) 1996
.\" interface business GmbH
.\" Tolkewitzer Strasse 49
.\" D-01277 Dresden
.\" F.R. Germany
.\"
.\" All rights reserved.
.\"
.\" Written by Joerg Wunsch <joerg_wunsch@interface-business.de>
.\"
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
.\" USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
-.\" %Id: wormcontrol.8,v 1.3.2.3 1997/11/18 07:28:14 charnier Exp %
+.\" %Id: wormcontrol.8,v 1.11 1998/03/23 08:30:03 charnier Exp %
.\" jpman %Id: wormcontrol.8,v 1.3 1997/08/16 13:45:04 horikawa Stab %
.\"
.\" arrgh, hilit19 needs this" :-(
.Dd Jan 27, 1996
.Os
.Dt WORMCONTROL 8
.Sh 名称
.Nm wormcontrol
.Nd CD-R ドライバの制御
.Sh 書式
.Nm wormcontrol
.Op Fl f Ar device
.Ar command
.Op Ar params...
.Sh 解説
.Nm
は、書き込み可能 CD
.Pq CD-R
の様々なパラメータを調整するために
.Xr worm 4
ドライバの動作を制御するのに用いられるユーティリティです。
.Pp
他の多くのデバイスと異なり、
CD-R デバイスは大変厳密な処理手順を要求します。
データ書き込みに先立って、ドライブ速度を選択しなければなりません。
またドライブを
.Ql dummy
モードにすることも出来ます。
このモードでは、あらゆる動作はレーザを止めて行われます。
このようにして、最悪の事態に陥ってメディアを破壊することなく、
書き込み環境が実際に CD-R を焼くのに十分なデータ速度を提供できるか否かを
テストすることができます。
.Pp
新しいトラックに書き込むには、そのトラックが音声トラックになるのか
データトラックになるのかをドライブに教えてやる必要があります。
音声トラックはブロックサイズ 2352 バイトで書き込まれますが、
データトラックはブロックあたり 2048 バイトです。
-実際に利用できるデータフォーマットは他にもありますが、
-このドライバが現在のところサポートしているのは、この
-.Em Yellow Book
-モード 1 フォーマットだけです。
音声トラックについては、ドライバは更に、
データをプリエンファシス付きで書き込むかどうかについても
知る必要があります。
.Pp
ひとたび、あるセッションの全トラックが書き込まれると、
ディスクは
.Em 定着
させなければなりません。
これは目録とリードアウト情報をディスクに書き込む処理であり、
この処理をしなくてはディスクは利用できません。
以下のオプションを指定可能です:
.Bl -tag -width ident
.It Fl f Ar device
デフォルトの
.Pa /dev/rworm0
ではなく
.Ar device
を使用します。
-.It select Ar vendor-id model-id
-残念なことに、各 CD-R ドライブベンダは独自の SCSI コマンドセットを
-実装することになってしまいました。従って
-.Xr worm 4
-ドライバは、ある特定のデバイスのためにどの
-.Ql quirk
-ファンクションを使うのか知る必要があります。
-現在のところ、ドライバ内に quirk 情報がスタティックにコンパイルされている
-デバイスのみ動作します。
-しかし将来的には、これらをローダブル・モジュールとして
-利用できるようにする予定です。
-.Em select
-コマンドは、適切な quirk を見つけるようドライバに指示します。
-ドライバは指定された
-.Ar vendor-id
-および
-.Ar model-id
-を既知の quirk リストと照合します。
-一致するものがなければエラーが返され、
-そのデバイスは quirk レコードが正しく選択されるまで
-他の処理に利用できなくなります。
-.Pp
-現在までに、ベンダ/モデル名として
-.Dq PLASMON
-\&/
-.Dq RF4100 ,
-.Dq PHILIPS
-\&/
-.Dq CDD2000 ,
-.Dq HP
-\&/
-.Dq 4020i
-が知られています。
.It prepdisk Ar single \&| double Op Ar dummy
ディスクの書き込み準備を行います。
この処理はトラック準備の前に行い、
セッションが完了するまでその状態を保つ必要があります。
通常 (single) 速度
.Pq 音声データ用
あるいは倍速 (double)
.Pq CD-ROM データ用
のいずれかを指定しなければなりません。
オプションで引数
.Ar dummy
を指定することで、テスト用にレーザをオフにしておくよう
ドライブに指示することができます。
.It track Ar audio \&| data Op Ar preemp
次トラックのフォーマットに関する情報をドライバに伝えます。
.Ar audio
あるいは
.Ar data
.Pq CD-ROM
を選択しなければなりません。
音声トラックにおいてデータをプリエンファシス付きで書き込むためには、
オプション引数
.Ar preemp
を指定しなければなりません。
ひとたびこのコマンドを正しく指定したら、
トラックの書き込み準備は完了です。
.It fixate Ar toc-type Op Ar onp
ひとたび全トラックを書き込んだら、このコマンドにより
現在のセッションをクローズします。
引数
.Ar toc-type
は 0 から 4 までの 1 桁の数で、以下の意味を持ちます:
.Bl -item
.It
0 CD 音声
.It
1 CD-ROM
.It
2 CD-ROM 第 1 トラック モード 1
.It
3 CD-ROM 第 1 トラック モード 2
.It
4 CDI
.El
.Pp
オプション引数
.Ar onp
.Dq open next program area
の意で、この CD-R の次のセッションが将来オープンされ、
書き込みが可能であることを意味します。
それ以外の場合、この CD-R はクローズされ、修正できないままとなります。
.El
.Sh 診断
内部で呼び出される
.Xr ioctl 2
コマンドのエラーコードが
.Xr err 3
機能によって表示されます。
.Sh 使用例
データ CD-R を焼く典型的な手順はこのようになります:
.Bd -literal
-# wormcontrol select PLASMON RF4100
# wormcontrol prepdisk double
# wormcontrol track data
# rtprio 5 team -v 1m 5 < cdrom.image | rtprio 5 dd of=/dev/rworm0 obs=20k
# wormcontrol fixate 1
.Ed
.Pp
注意: 上の
.Xr dd 1
コマンドは主として、データストリームを
.Dq スライス
するために用いられています。
これは、かなり特殊なブロックサイズで音声データを書き込む際に、特に有用です。
内部で用いられるデバイスは
.Em ロウ
デバイスなので、上のコマンドで用いられるブロックサイズは CD-R の
ブロックサイズの整数倍でなければなりません。
.Pp
上に述べたコマンド
.Xr team 1
は基本システムの一部ではありませんが、
一定のデータストリームを CD レコーダにパイプで流し込むのに
極めて有用です。
.Sh 関連項目
.Xr dd 1 ,
.Xr team 1 ,
.Xr ioctl 2 ,
.Xr err 3 ,
.Xr worm 4
.Pp
.Pa /usr/share/examples/worm/*
.Sh 歴史
.Nm wormcontrol
は現在も開発途上です。
.Sh 作者
本プログラムは
.ie t J\(:org Wunsch
.el Joerg Wunsch
Dresden によって寄贈されました。
diff --git a/ja_JP.eucJP/man/man8/xntpd.8 b/ja_JP.eucJP/man/man8/xntpd.8
index f418f96152..b0d4bdd3bb 100644
--- a/ja_JP.eucJP/man/man8/xntpd.8
+++ b/ja_JP.eucJP/man/man8/xntpd.8
@@ -1,1089 +1,1029 @@
-.\" jpman %Id: xntpd.8,v 1.2 1997/09/16 18:16:37 ken Stab %
-''' $Header
-'''
-.de Sh
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH XNTPD 8 LOCAL
-.SH 名称
-xntpd - Network Time Protocol デーモン
-.SH 書式
-.B xntpd
-[
-.B -abdm
-] [
-.B -c
-.I conffile
-] [
-.B -e
-.I authdelay
-] [
-.B -f
-.I driftfile
-] [
-.B -k
-.I keyfile
-] [
-.B -p
-.I pidfile
-] [
-.B -r
-.I broadcastdelay
-] [
-.B -s
-.I statsdir
-] [
-.B -t
-.I trustedkey
-] [
-.B -v
-.I variable
-] [
-.B -V
-.I variable
-]
-.SH 解説
-.I xntpd
+.\"
+.\" %Id: xntpd.8,v 1.5 1998/02/19 08:05:43 charnier Exp %
+.\"
+.Dd December 21, 1993
+.Dt XNTPD 8
+.Os
+.Sh 名称
+.Nm xntpd
+.Nd Network Time Protocol デーモン
+.Sh 書式
+.Nm xntpd
+.Op Fl abdm
+.Op Fl c Ar conffile
+.Op Fl e Ar authdelay
+.Op Fl f Ar driftfile
+.Op Fl k Ar keyfile
+.Op Fl p Ar pidfile
+.Op Fl r Ar broadcastdelay
+.Op Fl s Ar statsdir
+.Op Fl t Ar trustedkey
+.Op Fl v Ar variable
+.Op Fl V Ar variable
+.Sh 解説
+.Nm
は、インターネットの標準時間サーバに合わせて、 Unix のシステム時刻
(time\-of\-day) を設定し維持するデーモンです。
-.I xntpd
+.Nm
は、RFC 1305 で定義されている Network Time Protocol (NTP) バージョン
3 標準の完全な実装となっていますが、各々 RFC 1059 と RFC 1119 で定義
されているバージョン 1 とバージョン 2 に対する互換性も保っています。
-.I xntpd
-は全ての計算を固定少数点演算により行うので、浮動少数点を扱うコードは
-必要としません。プロトコルおよび時間調整のコードで行われる計算は、高
-精度で実行されます。また、最も正確な外部時計の供給源に対しても同期で
-きるだけの精度の維持を計るべく、計算に規則だった補正値を導入するといっ
-たように、細部まで注意が払われています。
-.PP
+.Nm
+は全ての計算を固定小数点演算により行うので、浮動小数点を扱うコードは
+必要としません。プロトコルおよび時間調整のコードで行われる計算は、
+高精度で実行されます。また、最も正確な外部時計の供給源に対しても同期
+できるだけの精度の維持を計るべく、計算に規則だった補正値を導入すると
+いったように、細部まで注意が払われています。
+.Pp
通常、
-.I xntpd
+.Nm
は、起動時に設定ファイルから設定を読込みます。
デフォルトの設定ファイル名は、
-.IR /etc/ntp.conf
+.Pa /etc/ntp.conf
ですが、コマンドラインの指定の方が優先します。また、もっぱらコマンド
ラインだけで、その局面に役立つ
-.I xntpd
-の設定を与え、設定ファイルを不要にすることもで
-きます。これは、
-.I xntpd
+.Nm
+の設定を与え、設定ファイルを不要にすることもできます。これは、
+.Nm
が、実行時にブロードキャストを待受ける (listen) ことで決定される全て
-の通信相手 (peer) に対して、ブロードキャストもしくはマルチキャスト・
+の通信相手 (peer) に対して、ブロードキャストもしくはマルチキャスト
クライアントとして設定されるべき時には、特に適しています。
-.I xntpd
+.Nm
デーモンの実行中は、
-.IR ntpq (8)
+.Xr ntpq 8
および
-.IR xntpdc (8)
+.Xr xntpdc 8
を使用することで、デーモンのさまざまな内部変数を表示したり
設定オプションを変更できます。
-.PP
-デーモンはアクティブ/パッシブ, クライアント/サーバ, ブロードキャスト
+.Pp
+デーモンは対称アクティブ/パッシブ、クライアント/サーバ、ブロードキャスト
/マルチキャスト等の対称的なモードを含むいずれかのモードで働くことが
-できます。ブロードキャストもしくはマルチキャスト・クライアントは、
+できます。ブロードキャストもしくはマルチキャストクライアントは、
自動的にリモートサーバを探し出し、片道の遅延補正因子を計算して、自動的
に自身に対する設定を行います。これにより、その環境に固有の詳細な設定
や設定ファイルなしに、一群のワークステーションを
配置することが可能になります。
-.PP
+.Pp
以下にあげるコマンドライン引数が
-.I xntpd
+.Nm
により理解されます。(より完全な機能の説明については、
設定ファイルの説明を参照のこと):
-
-.Ip -a 8
-「認証」 (\*(L"authenticate\*(R") モードで実行します。
-.Ip -b 8
+.Bl -tag -width indent
+.It Fl a
+.Qq 認証 (authenticate)
+モードで実行します。
+.It Fl b
NTP のブロードキャストを待受けて、可能ならそれに同期します。
-.Ip -c 8
+.It Fl c
デフォルトの代わりの設定ファイルを指定します。
-.Ip -d 8
+.It Fl d
デバッグモードを指定します。このフラグは何回指定してもかまいませんが、
回数が多いほど表示がより詳細になります。
-.Ip -e 8
+.It Fl e
このコンピュータ上で、NTP の暗号化 (encryption) フィールドを計算する
のに必要な時間を (秒で) 指定します。
-.Ip "-f driftfile" 8
+.It Fl f Ar driftfile
driftfile のある場所を指定します。
-.Ip -k 8
+.It Fl k
NTP の認証キーを含むファイルのある場所を指定します。
-.Ip -m 8
+.It Fl m
マルチキャストメッセージを待受けて、可能ならそれらに同期します (
マルチキャストカーネルが必要になります)。
-.Ip -p 8
+.It Fl p
デーモンのプロセス ID を記録するためのファイル名を指定します。
-.Ip -r 8
+.It Fl r
通常、デーモンは、ブロードキャストもしくはマルチキャストのサーバと
クライアントとの間のネットワーク遅延を自動的に補正します。
遅延の測定作業が失敗した場合には、ここで指定した (秒の) デフォルトの
遅延を使用するようになります。
-.Ip -s 8
+.It Fl s
統計ファイルを作成するためのディレクトリを指定します。
-.Ip "-t trustedkey" 8
+.It Fl t Ar trustedkey
キー番号を信頼できるキー (trusted key) のリストに付け加えます。
-.Ip -v 8
+.It Fl v
システム変数を追加します。
-.Ip -V 8
+.It Fl V
デフォルトでリストされるシステム変数を追加します。
-
-.SH "コンフィギュレーションオプション"
-.I xntpd
+.El
+.Sh "コンフィギュレーションオプション"
+.Nm
の設定ファイルのフォーマットは、
他の Unix 設定ファイルのものに似ています。
-コメントは文字 \*(L"#\*(R" で始まり、行末まで続きます。空行は無視されます。
-設定コマンドは、行頭のキーワードとそれに続く空白で区切られた
-引数のリストからなります。引数の内いくつかは、省略可能な場合があります。
+コメントは文字
+.Qq #
+で始まり、行末まで続きます。空行は無視されます。
+設定コマンドは、行頭のキーワードとそれに続く引数のリストからなります。
+引数の内いくつかは、省略可能な場合があります。
+また、引数は空白で区切ります。
これらのコマンドは複数行にわたってはなりません。
-引数は、ホスト名, ドットで区切られた 4 つ組の数からなる (dotted-quad) 形式の
-ホストアドレス, 整数, 浮動少数点数 (秒で時間を指定する際用います),
+引数は、ホスト名、ドットで区切られた 4 つ組の数からなる (dotted-quad) 形式の
+ホストアドレス、整数、浮動小数点数 (秒で時間を指定する際用います)、
テキスト文字列などです。
-以下の説明では、省略可能な引数は、\*(L"[]\*(R" で囲み、
-複数択一の引数は、互いに \*(L"|\*(R" で区切って表します。
-.PP
-.B peer
-.I host_address
-[
-.B key
-.I #
-] [
-.B version
-.I #
-] [
-.B prefer
-]
-.br
-.B server
-.I host_address
-[
-.B key
-.I #
-] [
-.B version
-.I #
-] [
-.B prefer
-]
-.br
-.B broadcast
-.I host_address
-[
-.B key
-.I #
-] [
-.B version
-.I #
-] [
-.B ttl
-.I #
-]
-.PP
-これらの 3つのコマンドは、利用されるべき時間サーバや与えられるべき
+以下の説明では、省略可能な引数は、
+.Qq []
+で囲み、複数択一の引数は、互いに
+.Qq |
+区切って表します。
+.Pp
+.Bl -tag -width indent
+.It Xo peer
+.Ar host_address
+.Op key Ar #
+.Op version Ar #
+.Op prefer
+.Xc
+.It Xo server
+.Ar host_address
+.Op key Ar #
+.Op version Ar #
+.Op prefer
+.Xc
+.It Xo broadcast
+.Ar host_address
+.Op key Ar #
+.Op version Ar #
+.Op ttl Ar #
+.Xc
+.Pp
+これらの 3 つのコマンドは、利用されるべき時間サーバや与えられるべき
時間サービスを指定します。
-.B peer
+.Em peer
コマンドは、ローカルサーバが、コマンド中の
-.I host_address
-で示されるリモートサーバに対し、「対称的アクティブ」 (\*(L"symmetric
-active\*(R") モードで動作するよう指示します。このモードでは、
+.Ar host_address
+で示されるリモートサーバに対し、
+.Qq 対称的アクティブ (symmetric active)
+モードで動作するよう指示します。このモードでは、
ローカルサーバをリモートサーバに同期させるのと同時に、リモートサーバ
をローカルサーバに同期させることができます。これは、サーバの
ネットワークにおいて、さまざまな悪い状況により、
ローカルサーバとリモートサーバのどちらかがより良い時刻供給源と
なり得るような場合に役立ちます。
-.B server
-コマンドは、ローカルサーバが、指定したリモートサーバに
-対して \*(L"クライアント\*(R" モードで動作するよう指示します。
+.Em server
+コマンドは、ローカルサーバが、指定したリモートサーバに対して
+.Qq クライアント
+モードで動作するよう指示します。
このモードでは、ローカルサーバはリモートサーバに同期しますが、
リモートサーバがローカルサーバに同期することは決してありません。
-.B broadcast
-コマンドは、ローカルサーバが、\*(L"ブロードキャスト\*(R" モードで
-動作するよう指示します。ローカルサーバは、コマンド中で指定される
-ブロードキャスト/マルチキャスト/アドレスを持つクライアント集団に、
+.Em broadcast
+コマンドは、ローカルサーバが、
+.Qq ブロードキャスト
+モードで動作するよう指示します。ローカルサーバは、コマンド中で指定される
+ブロードキャスト/マルチキャストアドレスを持つクライアント集団に、
定期的にブロードキャストメッセージを送ります。通常、この指示は、
送信側 (transmitter) として動作しているローカルサーバにのみ適用されます。
ブロードキャストクライアントに対する動作については、以下に説明する
-.B broadcastclient
+.Em broadcastclient
もしくは
-.B multicastclient
+.Em multicastclient
コマンドの項を参照して下さい。このモードでは、
-.I host_address
+.Ar host_address
は、通常、そのローカルネットワーク (もしくは複数の
ローカルネットワークの内のひとつ)の上でのブロードキャストアドレスであるか、
-NTP に割当てられたマルチキャストアドレスです。NTPには、アドレス 224.0.1.1 が
-割当てられてきました。現在のところは、このアドレスのみを使用すべきです。
+NTP に割り当てられたマルチキャストアドレスです。NTPには、アドレス 224.0.1.1 が
+割り当てられてきました。現在のところは、このアドレスのみを使用すべきです。
マルチキャスト機能はマルチキャストカーネルを必要としますが、これは、
まだ、どのベンダの製品にでも存在するものではないということに注意し
て下さい。
-.PP
-.B key
+.Pp
+.Ar key
オプションが含まれていると、そのアドレスに送られる全てのパケットが、
-指定したキー (32 ビット符号無し整数の範囲の数) を用いて暗号化された
+指定したキー番号 (32 ビット符号無し整数の範囲の数) を用いて暗号化された
認証フィールドを含むようになります。
-.B version
+.Ar version
オプションにより、送出される NTP パケットに使用されるべきバージョン
番号を指定することができます。バージョン 1, 2, 3 のいずれかが選択で
きますが、バージョン 3 がデフォルトになっています。
-.B prefer
+.Ar prefer
オプションは、そのホストを優先的ホストとします。このホストは、その他
全ての点では同等ですが、正常に動作している一群のホストの中から同期を
取る対象として選ばれます。
-.B ttl
+.Ar ttl
オプションは、ブロードキャストモードでのみ使用され、マルチキャスト
パケットで用いられる生存時間 (TTL) を指定します。デフォルトは 127 ですが、
適切な値を選択することは、黒魔術の一種であり、ネットワーク管理者
との調整を必要とします。
-.PP
-.B broadcastclient
-.PP
+.It broadcastclient
ローカルサーバに対し、同じサブネット上の他のサーバを見付けるために、
ローカルネットワーク上のブロードキャストメッセージを待受けるよう指示
します。ローカルサーバは、最初のブロードキャストメッセージを受取る際、
リモートサーバとクライアント/サーバ間の短いやりとりを用いて、名目上
の (nominal) ネットワーク遅延を測定してから、後続のブロードキャスト
-メッセージを待ち受けて、それに同期する\*(L"ブロードキャストクライアント\*(R"
+メッセージを待ち受けて、それに同期する
+.Qq ブロードキャストクライアント
モードに入ります。このモードでの偶然もしくは故意の分裂状態
を避けるため、ローカルとリモートのサーバの両方は認証に同一の信頼でき
るキーとキー識別子を使用して動作しなくてはならないことに注意して下さい。
-.PP
-.B multicastclient
-[
-.I IP address ...
-]
-.PP
+.It multicastclient Op Ar IP address ...
このコマンドは、
-.IR broadcastclient
+.Em broadcastclient
コマンドと同じように用いられますが、IP マルチキャストを使用して動作
します。この機能をサポートするには、マルチキャストカーネルと認証の使用が
必要です。1 つ以上の IP アドレスが与えられると、サーバはそれぞれ
のマルチキャストグループに加わります。1 つも与えられなければ、NTP に
-は IP アドレス (224.0.1.1) が割当てられていると想定されます。
-.PP
-.B driftfile
-.I filename
-.PP
+割り当てられている IP アドレス (224.0.1.1) が想定されます。
+.It driftfile Ar filename
このコマンドは、ローカルの時計発振子の周波数オフセットを記録するため
のファイル名を指定します。このファイルが存在すると、起動時に初期周波数
-オフセットを指定するのに使用され、その後デーモンにより計算される
-カレント周波数オフセットで、 1 時間に 1 度更新されます。ファイルが存在
+オフセットを指定するのに使用され、その後 1 時間に 1 度
+その時点での周波数オフセットがデーモンにより計算されて更新されます。
+ファイルが存在
しないか、このコマンドが与えられていない場合、初期周波数オフセットは
-ゼロと仮定されます。この場合、周波数が安定し、残った時間誤差が収まる
-のに数時間かかります。このファイルが、最初にカレント変動値を一時
-ファイルに書込み、
-.IR rename (3)
+0 と仮定されます。この場合、周波数が安定し、残った時間誤差が収まる
+のに数時間かかります。
+ファイルには、
+100 万分の 1 (ppm) 単位でのオフセット値を表す浮動小数点数が 1 つ含まれます。
+このファイルが、最初にカレント変動値を一時ファイルに書込み、
+.Xr rename 3
により古いファイルと置換えることで更新されることに注意して下さい。これは、
-.I xntpd
-が、 ドリフトファイルのあるディレクトリに対し書込み権を持っていなけ
-ればならず、ファイルは、シンボリックであろうとなかろうと、
+.Nm
+が、ドリフトファイルのあるディレクトリに対し書き込み権を持っている必要があり、
+ファイルは、シンボリックであろうとなかろうと、
ファイルシステムリンクであるべきではないだろうことを意味しています。
-.PP
-.B enable auth|bclient|pll|monitor|stats
-[
-.I ...
-]
-.PP
+.It enable Ar auth|bclient|pll|monitor|stats Op Ar ...
さまざまなサーバオプションを有効にします。指定されていないフラグは
-影響を受けません。\*(L"auth\*(R" フラグは、その通信相手 (peer) が信頼
+影響を受けません。
+.Ar auth
+フラグは、その通信相手 (peer) が信頼
できるキーとキー識別子を使用して正しく認証されている場合に限って、サーバが
-指定されていない相手に同期するようにします。このフラグのデフォルトは
-無効 (オフ) です。 \*(L"bclient\*(R" フラグは、サーバがブロード
-キャストもしくはマルチキャストサーバからのメッセージを待受けるように
-します。これにより、そのサーバに対する連携 (association) が自動的に
-成立します。このフラグのデフォルトは無効 (オフ) です。 \*(L"pll\*(R"
+未設定の相手に同期するようにします。このフラグのデフォルトは
+無効 (オフ) です。
+.Ar bclient
+フラグは、サーバがブロードキャストもしくはマルチキャストサーバからの
+メッセージを待ち受けるようにします。これにより、
+そのサーバに対する連携 (association) が自動的に成立します。
+このフラグのデフォルトは無効 (オフ) です。
+.Ar pll
フラグは、サーバのローカル時計を調整するようにします。デフォルトでは
-有効 (オン) です。無効にした場合、ローカル時計は固有の時間と周波数の
+有効 (オン) です。無効にした場合、ローカル時計は固有の時間と周波数オプセットの
まま動きます。このフラグは、ローカル時計が他の何らかのデバイスや
プロトコルにより制御されており、NTPは他のクライアントと同期をとるためだ
-けに使用されている場合に、役立ちます。\*(L"monitor\*(R" フラグは、
-モニタファシリティ (facility) を有効にします(下記参照のこと)。デフォルトでは
-有効 (オン) です。\*(L"stats\*(R" フラグは、統計のファシリティ
+けに使用されている場合に、役立ちます。
+.Ar monitor
+フラグは、モニタファシリティ (facility) を有効にします(下記参照のこと)。
+デフォルトでは有効 (オン) です。
+.Ar stats
+フラグは、統計のファシリティ
の filegen (下記説明を参照のこと) を有効にします。デフォルトでは有効
(オン) です。
-.PP
-.B disable auth|bclient|pll|monitor|stats
-[
-.I ...
-]
-.PP
+.It disable Ar auth|bclient|pll|monitor|stats Op Ar ...
さまざまなサーバオプションを無効にします。指定されていないフラグは影響を
受けません。現在使用可能なオプションは、enable コマンドの項で説明
しています。
-
-.SH "認証オプション"
-.PP
-.B keys
-.I filename
-.PP
+.El
+.Sh "認証オプション"
+.Bl -tag -width indent
+.It keys Ar filename
このコマンドは、認証モードでの操作の際、
-.I xntpd
+.Nm
により使用される暗号化キーとキー識別子を含むファイルの名前を指定します。
このファイルのフォーマットは以降で説明します。
-.PP
-.B trustedkey
-.I #
-[
-.I "# ..."
-]
-.PP
-このコマンドは、同期するのにふさわしい通信相手を認証する目的にとって
-信用できる暗号化キー識別子を指定するのに使用されます。異なるサーバは
-異なるキーを使用できますが、認証手続きにはローカルとリモート両方の
-サーバがこの目的のため同一のキーとキー識別子を共有することが必要です。
+.It trustedkey Ar # Op Ar # ...
+このコマンドは、同期するのにふさわしい通信相手を認証する目的において、
+信用できる暗号化キー識別子を指定するのに使用されます。
+この目的で、ローカルとリモート両方の
+サーバが同一のキーとキー識別子を共有することを、認証手続きは求めます。
+異なるサーバ間では異なるキーを使用できます。
引数は、32 ビット符合なし整数ですが、 NTP キー 0 は固定されており周知の
ものであることに注意してください。意味のある認証が行われるべきならば、
キー 0 は信用すべきではありません。
-.PP
-.B requestkey
-.I #
-.PP
+.It requestkey Ar #
このコマンドは、
-.IR xntpd (8)
+.Nm
の動作に影響を与える問題の診断と修復に役立つ
-.IR xntpdc (8)
+.Xr xntpdc 8
プログラムにより使用されるキー識別子を指定します。
-.I xntpdc
-プログラムの動作は、 xntpd のこの固有の実装に特定されており、これ
+.Nm xntpdc
+プログラムの動作は、
+.Nm
+のこの固有の実装に特定されており、このバージョン
および以前のバージョンのデーモンとのみ動作すると見込まれます。ローカル
サーバの状態に影響を与えるリモートの
-.I xntpdc
+.Nm xntpdc
プログラムからの要求は、
認証されねばなりません。そのためには、リモートプログラムとローカル
サーバが共通のキーとキー識別子を共有することが必要です。このコマンドの引数は、
32 ビット符合なし整数です。設定ファイルに
-.B controlkey
+.Em controlkey
コマンドが含まれていないか、キーがマッチしないと、この要求は無視され
ます。
-.PP
-.B controlkey
-.I #
-.PP
+.It controlkey Ar #
このコマンドは、
-.IR xntpd (8)
+.Nm
の動作に影響を与える問題の診断と修復に役立つ
-.IR ntpq (8)
+.Xr ntpq 8
プログラムにより使用されるキー識別子を指定します。
-.IR ntpq
+.Nm xntpq
プログラムと
-.I xntpd
+.Nm
の動作は RFC 1305 の定義を満たしています。ローカルサーバの状態に影響
を与えるリモートの
-.I ntpq
+.Nm ntpq
プログラムからの要求は、認証されねばなりません。そのためには、リモート
プログラムとローカルサーバが共通のキーとキー識別子を共有することが
必要です。このコマンドの引数は、32 ビット符合なし整数です。
設定ファイルに
-.B requestkey
+.Em requestkey
コマンドが含まれていないか、キーがマッチしないと、この要求は無視され
ます。
-.PP
-.B authdelay
-.I seconds
-.PP
+.It authdelay Ar seconds
ローカル計算機上で NTP 認証フィールドを暗号化するのに要する時間の
総計を示します。この値は、送出パケットに認証が用いられる際、送信タイム
スタンプを修正するのに使用されます。通常、この値は 0.0001 秒から
-0.003 秒あたりになりますが、これはホスト計算機の CPU 速度に依存して
+0.003 秒あたりになりますが、これはまさにホスト計算機の CPU 速度に依存して
います。通常、この値は、ディストリビューションに含まれている
-.I authspeed
+.Em authspeed
プログラムを用いて計算されます。
-.SH "アクセス制御オプション"
-.B restrict
-.I address
-[
-.B mask
-.I numeric_mask
-] [
-.I flag
-] [
-.I ...
-]
-.PP
-.I xntpd
+.El
+.Sh "アクセス制御オプション"
+.Bl -tag -width indent
+.It Xo restrict
+.Ar address
+.Op mask Ar numeric_mask
+.Op Ar flag
+.Op Ar ...
+.Xc
+.Nm
は、汎用のアドレスとマスクに基づく制限リストを実装しています。リスト
はアドレスにより、そしてマスクによりソートされ、その順番でマッチして
いるかどうか調べられます。ここで、最後にマッチしたものが受信パケット
に関する制限フラグを定義します。受信パケットのソースアドレスは、制限
-リストのエントリに関するマスクでアンドをとられた 32 ビットアドレスと
+リストエントリのマスクでアンドをとられた 32 ビットアドレスと
マッチするか調べられ、それからエントリアドレス (これもまたマスクと
アンドをとられます) と比較され、マッチするものを探します。引数
-\*(L"mask\*(R" のデフォルトは 255.255.255.255 で、\*(L"address\*(R"
+.Em mask
+のデフォルトは 255.255.255.255 で、
+.Em address
が個別のホストのアドレスとして扱われることを意味します。デフォルト
エントリ (address 0.0.0.0, mask 0.0.0.0) は常にリストに含まれ、既定の
ソートアルゴリズムでは、リストの先頭のエントリとなります。
-\*(L"address\*(R" は、通常、 dotted\-quad 形式で与えられ、 mask
-オプションを伴わないテキスト文字列 \*(L"default\*(R" は、デフォルト
-エントリを示すために使用できることに、注意して下さい。
-.PP
+.Em address
+は、通常ドット付き 4 つ組形式で与えられますが、mask
+オプションを伴わないテキスト文字列
+.Em default
+は、デフォルトエントリを示すために使用できることに、注意して下さい。
+.Pp
現在の実装では、フラグは常にアクセスを制限します。すなわち、フラグを
持たないエントリは、サーバへの自由なアクセスが与えられることを示す
ことになります。フラグは直交的ではなく、より制限の強いフラグは、より
制限の弱いフラグを冗長にします。フラグは、一般に 2 つのカテゴリに分類
されます。時間サービスを制限するものと、情報問い合わせやサーバの
-実行時再設定の試みを制限するものです。次のフラグの内1つ以上を指定する
+実行時再設定の試みを制限するものです。次のフラグの内、1 つ以上を指定する
ことができます:
-.Ip ignore 10
+.Bl -tag -width indent
+.It ignore
このエントリにマッチするホストからのすべてのパケットを無視します。
このフラグが指定されると、問い合わせも時間サーバへのポーリングも応答さ
れなくなります。
-.Ip noquery 10
-NTP の モード 6 と 7のすべてのパケット (つまり情報問い合わせと設定要求)
+.It noquery
+NTP の モード 6 と 7 のすべてのパケット (つまり情報問い合わせと設定要求)
を無視します。時間サービスは影響を受けません。
-.Ip nomodify 10
-サーバの状態を変えようとするモード 6 と 7のすべてのパケット (つまり
+.It nomodify
+サーバの状態を変えようとするモード 6 と 7 のすべてのパケット (つまり
実行時再設定) を無視します。情報を返す問い合わせは許されます。
-.Ip notrap 10
+.It notrap
マッチしたホストにモード 6 の制御メッセージのトラップサービスを提供
することを拒否します。トラップサービスは、モード 6 の制御メッセージ
プロトコルのサブシステムで、リモートのイベントロギングプログラムによ
る使用が意図されています。
-.Ip lowpriotrap 10
+.It lowpriotrap
マッチしたホストによるトラップセットを低い優先度として宣言します。1
つのサーバが保持し得るトラップの数は制限されています(現在の制限値は
3 です)。トラップは通常、先入れ先処理ベースで割当てられ、後から来た
-トラップ要求はサービスを拒否されます。このフラグは、通常優先度の
-トラップに対する後からの要求が、低い優先度のトラップより優先されることを
-許すことで、通常の割当てアルゴリズムを変更します。
-.Ip noserve 10
+トラップ要求はサービスを拒否されます。
+このフラグは割り当てアルゴリズムを変更し、
+後から到着する要求のための通常優先度のトラップを
+低い優先度のトラップより優先させます。
+.It noserve
モード 6 と 7 以外のすべての NTP パケットを無視します。基本的には、
時間サービスは拒否されますが、それでも問い合わせは許されています。
-.Ip nopeer 10
+.It nopeer
ポーリングしているホストに、状態を持たない (stateless) 時間サービス
を与えますが、そうしなければ将来的に同期の相手として有用であるかもし
-れない場合にさえ、それらに peer メモリ資源を割当てません。
-.Ip notrust 10
+れない場合にさえ、それらに更新相手 (peer) 用のメモリ資源を割当てません。
+.It notrust
これらのホストは同期源としては決して使用されませんが、その他の点では
普通に扱われます。
-.Ip limited 10
+.It limited
これらのホストは、同一のネットからのクライアント数の制限の対象となり
ます。ここで言うネットとは、 (class A, class B, class C 等の) ネット
-の IP 表記のことです。サーバで見えており、過去
-\*(L"client_limit_period\*(R" 秒の間アクティブであった、最初の
-\*(L"client_limit\*(R" 個のホストのみが、受付けられます。同一の
+の IP 表記のことです。 サーバに見えるホストで、過去
+.Qq client_limit_period
+秒の間アクティブであった、最初の
+.Qq client_limit
+個のホストのみが、受け付けられます。同一の
ネットの他のクライアントからの要求は拒否されます。時間要求パケットのみが、
-考慮されます。\*(L"プライベート\*(R"", \*(L"制御\*(R"", \*(L"ブロー
-ドキャスト\*(R" 等のパケットは、クライアント制限の対象にはならず、
+考慮されます。
+.Qq プライベート
+、
+.Qq 制御
+、
+.Qq ブロードキャスト
+等のパケットは、クライアント制限の対象にはならず、
クライアントの数の内には入れられません。クライアントの履歴は、
-.I xntpd
+.Nm
のモニタリング機能を使用して維持されます。それゆえ、モニタリングは、
-\*(L"limited\*(R" フラグに制限エントリがある限り、アクティブです。
-\*(L"client_limit\*(R" のデフォルト値は 3 です。
-\*(L"client_limit_period\*(R" デフォルト値は 3600 秒です。
-.Ip ntpport 10
+.Qq limited
+フラグに制限エントリがある限り、アクティブです。
+.Qq client_limit
+のデフォルト値は 3 です。
+.Qq client_limit_period
+のデフォルト値は 3600 秒です。
+.It ntpport
実質的には、制限フラグと言うより、マッチのアルゴリズムを変更するもの
です。このフラグが存在すると、パケットのソースポートが標準の NTP の
UDP ポート (123) である場合にのみ、制限エントリにマッチします。
-\*(L"ntpport\*(R" と non\-\*(L"ntpport\*(R" の両方が指定できます。
-\*(L"ntpport\*(R" はより限定的であると考えられ、リストの後方にソート
-されます。
-.PP
-デフォルトの制限リストエントリは、フラグ \*(L"ignore, ntpport\*(R"
-を持ち、ローカルホストのインタフェースアドレスの各々に対し、
+.Qq ntpport
+と
+.Pf non\- Qq ntpport
+の両方が指定できます。
+.Qq ntpport
+はより限定的であると考えられ、リストの後方にソートされます。
+.El
+.Pp
+デフォルトの制限リストエントリは、フラグ
+.Qq ignore ,
+.Qq ntpport
+を持ち、ローカルホストのインタフェースアドレスの各々に対し
スタートアップ時にテーブルに挿入され、サーバがそれ自身の時間に同期しようと
しないようにします。また、デフォルトエントリは常に存在しますが、他で
は設定されない場合は、どのフラグもデフォルトエントリに関連づけられま
せん (すなわち、あなた自身の NTP サーバ以外のすべてが無制限になります) 。
-.PP
-制限ファシリティは、NSFnet の幹線上で動いている時間サーバの現在の
-アクセスポリシが、
-.I xntpd
-と同様に実装され得るように、付け加えられたものです。このファシリティ
-は、あなたのサーバが、望まないか故障したリモート時間サーバの影響を受
-けないようにするのに、ことのほか有用ですが、これが 標準の NTP 認証
-ファシリティの代わりになると考えるべきではありません。ソースアドレスに
+.Pp
+制限機能は、NSFnet の幹線上で動いている時間サーバの現在のアクセスポリシが、
+.Nm
+と同様に実装され得るように、付け加えられたものです。
+望まないまたは故障したリモート時間サーバからのあなたのサーバへの影響を
+避けるために、この機能がことのほか有用である一方、これが 標準の NTP 認証
+機能の代わりになると考えるべきではありません。ソースアドレスに
基づく制限は、確信犯的クラッカーにたやすく裏をかかれます。
-.PP
-.B clientlimit
-.I limit
-.PP
-\*(L"client_limit\*(R" を \*(L"limit\*(R" にセットし、クライアント
-制限ポリシの設定を可能にします。この変数は、そのサーバの使用を許される
+.It clientlimit Ar limit
+.Qq client_limit
+を
+.Ar limit
+にセットし、クライアント制限ポリシの設定を可能にします。
+この変数は、そのサーバの使用を許される
同一ネットワークからのクライアント数を定義します。
-.PP
-.B clientperiod
-.I period
-.PP
-\*(L"client_limit_period\*(R" をセットし、クライアント制限ポリシの設
-定を可能にします。この変数は、その時間後にクライアントがインアクティブに
-なると考えられ、従って制限されるクライアント数にもはや数えられな
-くなるような秒数を指定します。
-.SH "モニタリングオプション"
-.PP
-.B statsdir
-.I /directory path/
-.PP
+.It clientperiod Ar period
+.Qq client_limit_period
+をセットし、クライアント制限ポリシの設定を可能にします。
+この変数は、その時間後にクライアントがインアクティブであるとみなし、
+従って制限されるクライアント数にもはや数えられなくなるような秒数を指定します。
+.El
+.Sh "モニタリングオプション"
+.Bl -tag -width indent
+.It statsdir Ar /directory path/
統計ファイルが作られるべきディレクトリのフルパスを指定します(下記参照)。
このキーワードにより (そうでなければ定数である) filegen ファイル名の
プレフィックスを統計ログ処理に対して用いられるファイル生成セットに対して
修正することが可能となります (下記
-.B filegen
+.Em filegen
文を参照)。
-.PP
-.B statistics
-.IR name \.\.\.
-.PP
+.It statistics Ar name Ns ...
統計レコードの書込みを有効にします。現在のところ、3 種類の統計がサポート
されています。
-.Ip loopstats 10
-ループフィルタの統計情報の記録を有効にします。ローカル時計の更新を
-行う度に、\*(L"loopstats\*(R" と名付けられたファイル生成セットに次の
-形式の行を出力します:
-.PP
-.RS 5
-48773 10847.650 0.0001307 17.3478 2
-.RE
-
-.RS 10
+.Bl -tag -width indent
+.It loopstats
+ループフィルタの統計情報の記録を有効にします。ローカル時計の更新を行う度に、
+.Qq loopstats
+と名付けられたファイル生成セットに次の形式の行を出力します:
+.Dl 48773 10847.650 0.0001307 17.3478 2
最初の 2 つのフィールドは、日付 (ユリウス歴に修正済) と時刻 (UTC
午前 0 時からの秒数)です。次の 3 つのフィールドは、時計の更新時の、
秒での時間オフセット, 100 万分の 1 単位の周波数オフセット,
clock-discipline アルゴリズムの時定数です。
-.RE
-.Ip peerstats 10
-通信相手に関する統計情報の記録を有効にします。これには、存在し初期化
-された NTP サーバと 1-pps シグナルのすべての通信相手に関する統計レコードが
-含まれます。有効な更新が行われる度に、 \*(L"peerstats\*(R" と
-名付けられたファイル生成セットの現在の要素に次の形式の行を出力します:
-.PP
-.RS 5
-48773 10847.650 127.127.4.1 9714 -0.001605 0.00000 0.00142
-.RE
-
-.RS 10
+.It peerstats
+通信相手に関する統計情報の記録を有効にします。これには、存在し設定済みの
+NTP サーバと 1-pps シグナルのすべての通信相手に関する統計レコードが
+含まれます。有効な更新が行われる度に、
+.Qq peerstats
+と名付けられたファイル生成セットの現在の要素に次の形式の行を出力します:
+.Dl 48773 10847.650 127.127.4.1 9714 -0.001605 0.00000 0.00142
最初の 2 つのフィールドは、日付 (ユリウス歴に修正済) と時刻 (UTC
午前 0 時からの秒数)です。次の 2 つのフィールドは、それぞれ
-dotted-quad 記法で表された通信相手のアドレスとステータスです。
+ドット付き 4 つ組記法で表された通信相手のアドレスとステータスです。
ステータスフィールドは、 NTP の仕様である RFC 1305 の Appendix A で記述さ
れたフォーマットに従い 16 進数にエンコードされています。最後の 3 つ
のフィールドは、オフセット, 遅延, ばらつきで、すべて秒単位です。
-.RE
-.Ip clockstats 10
+.It clockstats
時計ドライバの統計情報の記録を有効にします。時計ドライバからの更新を
-受ける度に、 \*(L"clockstats\*(R" と名付けられたファイル生成セット次
-の形式の行を出力します:
-.PP
-.RS 5
-49213 525.624 127.127.4.1 93 226 00:08:29.606 D
-.RE
-
-.RS 10
+受ける度に、
+.Qq clockstats
+と名付けられたファイル生成セット次の形式の行を出力します:
+.Dl 49213 525.624 127.127.4.1 93 226 00:08:29.606 D
最初の 2 つのフィールドは、日付 (ユリウス歴に修正済) と時刻 (UTC
-午前 0 時からの秒数)です。次のフィールドは、dotted-quad 記法で表された
+午前 0 時からの秒数)です。次のフィールドは、ドット付き 4 つ組記法で表された
時計のアドレスです。最後のフィールドは、時計から受け取った最後のタイム
-コードで、ここでは意味のある ASCII 形式になっています。いくつかの
+コードで、ここでは意味のある
+.Tn ASCII
+形式にデコードされています。いくつかの
時計ドライバでは、たくさんの付加的情報が集められ、同様に表示されます。
より詳しくは、それぞれの時計の仕様情報を参照してください。
-.RE
-.PP
+.El
+.Pp
統計ファイルは、ファイル生成セット(下記
-.B filegen
+.Em filegen
を参照)を用いて管理されます。統計を記録することで得られる情報は、
-.I xntpd
+.Nm
サーバの一時的なプロパティ (properties) の解析を可能にします。通常は
-主要な (primary) サーバで役立つだけで、あるいはキャンパスのメイン
+主要な (primary) サーバで役立つだけですが、あるいはキャンパスのメイン
サーバでも役立つかもしれません。
-.PP
-.B filegen
-.I name
-[
-.B file
-.I filename
-] [
-.B type
-.I typename
-] [
-.B flag
-.I flagval
-] [
-.BR link | nolink
-] [
-.BR enable | disable
-]
-.PP
+.It Xo filegen
+.Ar name
+.Op file Ar filename
+.Op type Ar typename
+.Op flag Ar flagval
+.Op link | nolink
+.Op enable | disable
+.Xc
ファイル生成セット (file generation set)
-.IR name
+.Ar name
の設定を行います。ファイル生成セットは、サーバの活動期間を通じて
継続的に大きくなっていくファイルを扱う手段を提供します。サーバ統計は
このようなファイルの典型例です。ファイル生成セットにより、現状のデータ
を格納するのに用いられるファイル集合にアクセスできます。任意の時点で、
集合の高々 1 つの要素への書き込みが行われます。
-.I type
+.Em type
は、その集合の新たな要素に、データが、いつ、どのように出力されるのか
の仕様を与えます。この方法で、
-.I xntpd
+.Nm
の動作を妨げる危険なしに、管理的な操作 (administrational operations)
から、現在使用されていないファイル集合の要素に格納されている情報が、
利用できるようになります。(最重要: それらは、新たな出力データのため
空きを作るのに削除される可能性があります。)要素のファイル名は 3 つの
部分から作られます。
-.Ip prefix 10
+.Bl -tag -width indent
+.It prefix
不変なファイル名のパスです。
-.B filegen
+.Em filegen
文による修正の対象にはなりません。サーバによって定義され、通常コンパイル時の
定数として指定されます。しかし、他のコマンドにより、個別のファイル生成
-セットに対して設定は可能です。たとえば、"loopstats" と
-"peerstats" という filegen で用いられるプレフィックスは、すでに説明した
-.B statsdir
+セットに対して設定は可能です。たとえば、
+.Qq loopstats
+と
+.Qq peerstats
+という filegen で用いられるプレフィックスは、すでに説明した
+.Em statsdir
文を使用して設定できます。
-.Ip filename 10
+.It filename
この文字列は、上で述べた
-.I prefix
-に、( \*(L'/\*(R' (スラッシュ) を入れずに ) 直接連結されます。
-\*(L"filegen\*(R" 文の \*(L"file\*(R" 引数を使って修正できます。
-\*(L"prefix\*(R" により示されるファイル名が、ファイルシステム階層の
-外側を参照しないように、この部分は \*(L"..\*(R" を含んではいけないよ
-うになっています。
-.Ip suffix 10
+.Em prefix
+に、(
+.Sq /
+(スラッシュ) を入れずに ) 直接連結されます。
+.Em filegen
+文の
+.Ar file
+引数を使って修正できます。
+.Em prefix
+により示されるファイル名が、ファイルシステム階層の
+外側を参照しないように、この部分は
+.Qq ..
+を含んではいけないようになっています。
+.It suffix
この部分はファイル集合の各要素を反映します。後述のように、ファイル集合の
-.I type
+.Em type
に従って生成されます。
-.PP
+.El
+.Pp
ファイル生成セットは、その型 (type) により特徴づけられます。次の型が
サポートされています:
-.Ip none 10
+.Bl -tag -width indent
+.It none
ファイル集合は実際には、単一のプレーンファイルです。
-.Ip pid 10
-.I xntpd
+.It pid
+.Nm
サーバの起動ごとに、ファイル集合の 1 つの要素が使われます。この型は、
実行中にファイル集合の要素への変更を一切行いませんが、異なる
-.I xntpd
+.Nm
サーバの起動ごとに別々のファイルをつくる簡単な方法になります。要素の
-ファイル名は、 \*(L"prefix\*(R" と \*(L"filename\*(R" をドット
-(\*(L'.\*(R') でつなげた上、
-.I xntpd
-サーバプロセスのプロセス ID の10進表現をつなげで作られます。
-.Ip day 10
+ファイル名は、
+.Em prefix
+と
+.Em filename
+をドット
+.Pf ( Sq \&. Ns )
+でつなげた上、
+.Nm
+サーバプロセスのプロセス ID の10進表現をつなげて作られます。
+.It day
1 日に 1 つのファイル生成セットの要素が作成されます。ここで、
-.I 日
+.Em 日
という用語は、
.IR UTC
-に基づきます。1 日は、 UTC の 00:00 と 24:00 の間の期間として定義さ
-れます。要素のサフィックスは、ドット \*(L".\*(R" と
-.RI < YYYYMMDD >
+に基づきます。1 日は、 UTC の 00:00 と 24:00 の間の期間として定義されます。
+要素のサフィックスは、ドット
+.Pf ( Qq \&. Ns )
+と
+.Aq < YYYYMMDD >
の形式の日付指定からなります。
-.I YYYY
+.Em YYYY
は 4 桁の西暦年 (たとえば 1992)で、
-.I MM
+.Em MM
は、2 桁の月です。
-.I DD
-は、2 桁の日となります。したがって、1992 年 12 月 10 日に情報はすべ
-て、 \*(L"<prefix><filename>.19921210\*(R" という名前のファイルに書
-かれます。
-.Ip week 10
+.Em DD
+は、2 桁の日となります。したがって、1992 年 12 月 10 日に情報はすべて、
+.Qq <prefix><filename>.19921210
+という名前のファイルに書かれます。
+.It week
どの要素も 1 年の内のある週に関連するデータを含みます。ここで、
-.I 週
-という用語は、年の始まりからの日数の 7 の商により定義されます。この
+.Em 週
+という用語は、
+.Qq 年の始まりからの日数
+の 7 の商により定義されます。この
ようなファイル生成セットの要素は、ファイル集合のファイル名のベースに
次のようなサフィックスをつけることで区別されます。サフィックスは、
-ドット, 4 桁の西暦年, 文字 \*(L"W\*(R", 2 桁の週番号です。例えば、 1992
-年 1 月 10 日からの情報は、サフィックス \*(L".1992W1\*(R" を持つ
-ファイルに出力されます。
-.Ip month 10
+ドット、4 桁の西暦年、文字
+.Qq W
+、2 桁の週番号です。例えば、1992 年 1 月 10 日からの情報は、サフィックス
+.Qq .1992W1
+を持つファイルに出力されます。
+.It month
1 月に 1 つのファイル生成セットの要素が作成されます。ファイル名の
-サフィックスは、ドット, 4 桁の西暦年, 2 桁の月からなります。
-.Ip year 10
+サフィックスは、ドット、4 桁の西暦年、2 桁の月からなります。
+.It year
1 年に 1 つのファイル生成セットの要素が作成されます。ファイル名の
サフィックスは、ドットと 4 桁の西暦年からなります。
-.Ip age 10
+.It age
この型のファイル生成セットは、サーバが 24 時間活動するごとに新たな要素に
-変わります。ファイル名のサフィックスは、ドット, 文字
-\*(L"a\*(R", 8 桁の数からなります。この数は、対応する 24 時間の始め
+変わります。ファイル名のサフィックスは、ドット、文字
+.Qq a
+、8 桁の数からなります。この数は、対応する 24 時間の始め
からサーバが実行されている秒数であるようになります。
-.PP
-情報は、ファイル生成セットが \*(L"enabled\*(R"のときのみ、そのセット
-に書込まれます。出力は \*(L"disabled\*(R"を指定することで抑止されます。
-.PP
+.El
+.Pp
+情報は、ファイル生成セットが
+.Qq enabled
+のときのみ、そのセットに書込まれます。出力は
+.Qq disabled
+を指定することで抑止されます。
+.Pp
ファイル生成セットの
-.I 現在の
+.Em 現在の
要素に決まった名前でアクセスできると便利です。この機能は、
-\*(L"link\*(R" を指定することで有効になり、 \*(L"nolink\*(R" を使っ
-て無効になります。 \*(L"link\*(R" が指定されると、 現在の要素から
-サフイックスを持たないファイルへのハードリンクが作成されます。その名前
+.Qq link
+を指定することで有効になり、
+.Qq nolink
+を使って無効になります。
+.Qq link
+が指定されると、 現在の要素から
+サフィックスを持たないファイルへのハードリンクが作成されます。その名前
を持つファイルが既に存在し、そのファイルのリンク数が 1 の場合、その
-ファイル名に、ドット, 文字 \*(L"C\*(R",
-.I xntpd
+ファイル名に、ドット、文字
+.Qq C
+、
+.Nm
サーバプロセスの pid をつなげて、名前変更を行います。リンク数が 1
以上の場合、ファイルはアンリンクされます。これにより現在のファイルを
定数名でアクセスすることができます。
-.SH "その他のオプション"
-.PP
-.B precision
-.I #
-.PP
+.El
+.Sh "その他のオプション"
+.Bl -tag -width indent
+.It precision Ar #
このコマンドは、ローカル時計の名目上の (nominal) 精度を指定します。
この値は、秒単位のローカルの時間管理精度の底を 2 とする対数に近似的
-に等しい整数です。ふつう、デーモンは起動時に自動的に精度を決定するの
+に等しい整数です。通常、デーモンは起動時に自動的に精度を決定するの
で、このコマンドは、精度を自動的に決定できない特殊な場合にのみ必要に
なります。
-.PP
-.B broadcastdelay
-.I seconds
-.PP
+.It broadcastdelay Ar seconds
ブロードキャストおよびマルチキャストモードは、ローカルとリモートサーバ間の
ネットワーク遅延を決定するため、特別の修正を必要とします。通常、
この修正は、ローカルとリモートサーバ間の最初のプロトコル交換により、
自動的に行われます。修正手続きは、例えば、ネットワークもしくはサーバ
のアクセス制御のために失敗する可能性があります。このコマンドは、これ
らの状況下で使用されるデフォルトの遅延を指定します。(イーサネットに
対する)典型としては、0.003 から 0.007 秒が適切です。このコマンドが使
-用されない場合のデフォルトは、 0.004 秒です。
-.PP
-.B trap
-.I host_address
-[
-.B port
-.I port_number
-] [
-.B interface
-.I interface_addess
-]
-.PP
+用されない場合のデフォルトは、0.004 秒です。
+.It Xo trap
+.Ar host_address
+.Op port Ar port_number
+.Op interface Ar interface_addess
+.Xc
このコマンドは、指定されたローカルインタフェースに送られる
メッセージに対する、所与のホストアドレスとポート番号でのトラップレシーバを
設定します。ポート番号が指定されない場合、 18447 が使用されます。
インタフェースアドレスが指定されない場合、メッセージが送信時に通過する
ローカルインタフェースのアドレスをソースアドレスとしてメッセージが
送られます。マルチホームのホストでは、使用されるインタフェースが、
ルーティングの変更にともない変化し得ることに注意してください。
-.PP
+.Pp
トラップレシーバは、一般には、イベントメッセージやサーバからのその他
の情報をログファイル中に記録するものです。このようなモニタプログラム
はまた、それら自身のトラップをダイナミックに要求するかもしれませんが、
トラップレシーバの設定は、サーバのスタート時にメッセージが失われない
ことを保証することになっています。
-.PP
-.B setvar
-.I variable
-.I [default]
-.PP
+.It Xo setvar
+.Ar variable
+.Op Ar default
+.Xc
このコマンドは、付加的なシステム変数を追加します。これらの変数は、
アクセスポリシなどの付加的な情報を配布するために使用できます。
<name>=<value> の形式の変数に、キーワード
-.I default
+.Em default
が続いた場合、変数はデフォルトのシステム変数の一部としてリストされる
ようになります (
-.I ntpq rv
+.Pf ( Nm ntpq
コマンド) 。これら付加的な変数は、情報を与える目的だけを果たします。
リストされ得ると言うこと以外に、プロトコルに関係しません。
既知のプロトコル変数は常に、
-.I setvar
+.Em setvar
の機構により定義されたいかなる変数よりも優先されます。
-.PP
+.Pp
同一グループのすべての変数の名前を含む 3 つの特別な変数があります。
-.I sys_var_list
+.Em sys_var_list
は、すべてのシステム変数の名前を保持しています。
-.I peer_var_list
-は、すべての peer (交信相手) 変数の名前を保持しています。
-.I clock_var_list
+.Em peer_var_list
+は、すべての更新相手 (peer) 変数の名前を保持しています。
+.Em clock_var_list
は、参照時計変数の名前を保持しています。
-.PP
-.B monitor yes|no
-.B authenticate yes|no
-.PP
+.It monitor Ar yes|no
+.It authenticate Ar yes|no
これらのコマンドは、
-.B enable
+.Em enable
-.B disable
+.Em disable
コマンドに置き換えられました。ここにあげたのは歴史を述べるためです。
-.SH "認証キーファイルのフォーマット"
-.PP
-NTP 標準は、受信した NTP パケットの認証の確認を可能とし、送信パケット内の
+.El
+.Sh "認証キーファイルのフォーマット"
+.Tn NTP
+標準は、受信した NTP パケットの認証の確認を可能とし、送信パケット内の
認証の指示を与えるための拡張を定めています。これは、
-.I xntpd
+.Nm
においては、デジタル署名, あるいは message-digest を計算するため、
DES もしくは MD5 アルゴリズムを使用して実装されています。この仕様は、
-32 ビットのキー識別子により、ほぼ 40 億分の 1 が、連携 (association)
+32 ビットのキー識別子により、約 40 億個のうちの 1 つが、連携 (association)
の認証に使用できるようにしています。連携に含まれるサーバは、各々独立
にキーとキー識別子を学習せねばならないにも関わらず、データを認証する
のに使用されるキーとキー識別子に合意せねばなりません。 DES の場合、
キーは 56 ビット長で、型によっては各バイトにパリティがつきます。MD5
の場合、キーは 64 ビット (8 バイト) です。
-.I xntpd
+.Nm
は、
コマンドラインオプション
-.B -k
+.Fl k
もしくは設定ファイル中の
-.B keys
+.Em keys
文を使用して指定されるファイルからキーを読み込みます。キー番号 0 は、
-NTP 標準によって (56 ビットの 0 として) 決定されており、変更できませ
-んが、一方、1 から 15 のキー番号の内の 1 つ以上がキーファイル中で任意に
+.Tn NTP
+標準によって (56 ビットの 0 として) 決定されており、変更できませんが、
+一方、1 から 15 のキー番号の内の 1 つ以上がキーファイル中で任意に
セットできます。
-.PP
+.Pp
キーファイルは、設定ファイルと同様のコメント記述法
を使用しています。キーエントリはの形式の固定されたフォーマットを
-使用します。
-.Ip "" 5
-.I "keyno type key"
-.PP
-の形式の固定されたフォーマットを使用します。ここで、 \*(L"keyno\*(R"
-は正の数、 \*(L"type\*(R" はキーが与えられる形式を定義する単一文字、
-\*(L"key\*(R" はキーそれ自身です。
-.PP
-キーは、 \*(L"type\*(R" 文字による制御で、3 つの異なるフォーマットの
+使用します:
+.Pp
+.Dl keyno type key
+.Pp
+の形式の固定されたフォーマットを使用します。ここで、
+.Em keyno
+は正の数、
+.Em type
+はキーが与えられる形式を定義する単一文字、
+.Em key
+はキーそれ自身です。
+.Pp
+キーは、
+.Em type
+文字による制御で、3 つの異なるフォーマットの
内の 1つで与えられます。3 つのキーの型とそれに対応するフォーマットは、
-次にあげるとおりです。
-.Ip "S" 5
-\*(L"key\*(R" は、 DES のドキュメントに定められたフォーマットの 64
+次にあげるとおりです:
+.Bl -tag -width indent
+.It S
+.Em key
+は、 DES のドキュメントに定められたフォーマットの 64
ビットの 16進数で、各オクテットの上位 7 ビットが使用された 56 ビット
キーです。各オクテットの下位 1 ビットは、オクテットを奇数パリティに
保つように与えられます。先頭の 0 は省略できません (すなわち、キーは
正確に 16 桁の 16 進数である必要があります) 。また、奇数パリティが保
たれねばなりません。それゆえ、ゼロキーは、標準フォーマットで、
-.I 0101010101010101
+.Em 0101010101010101
として与えられます。
-.Ip "N" 5
-\*(L"key\*(R" は、 NTP 標準で定められたフォーマットの 64 ビットの 16
-進数です。これは、各オクテットを 1 ビット右 rotate して、パリティビッ
-トがオクテットの上位ビットになったことを除いては、 DES フォーマット
-と同じです。先頭の 0 は省略できず、奇数パリティが保たれねばなりませ
-ん。ゼロキーは、 NTP フォーマットで、
-.I 8080808080808080
+.It N
+.Em key
+は、
+.Tn NTP
+標準で定められたフォーマットの 64 ビットの 16
+進数です。これは、各オクテットを 1 ビット右 rotate して、パリティビットが
+オクテットの上位ビットになったことを除いては、DES フォーマット
+と同じです。先頭の 0 は省略できず、奇数パリティが保たれねばなりません。
+0 キーは、 NTP フォーマットで、
+.Em 8080808080808080
のように指定されます。
-.Ip "A" 5
-\*(L"key\*(R" は 1 文字から 8 文字の ASCII 文字列です。キーは、文字
-列中の各文字の ASCII 表現の下位 7 ビットを使用して構成されます。56
+.It A
+.Em key
+は 1 文字から 8 文字の ASCII 文字列です。キーは、文字列中の各文字の
+.Tn ASCII
+表現の下位 7 ビットを使用して構成されます。56
ビット幅のキーを作るために、 Unix パスワードから暗号化キーを作るのと
同じ方法で、必要なら 0 が右端に付加されます。
-.Ip "M" 5
-\*(L"key\*(R" は 1 文字から 8 文字の ASCII 文字列で、 MD5 の認証方式
+.It M
+.Em key
+は 1 文字から 8 文字の
+.Tn ASCII
+文字列で、 MD5 の認証方式
を使用しています。キーと認証方式 (DES または MD5) の両方が、同じキー
番号を共有する一組の交信相手の間で一意であることが、必要であることに
注意してください。
-.PP
+.El
+.Pp
設定ファイルの
-.B requestkey
+.Em requestkey
文の方法で、
-.IR xntpdc (8)
+.Xr xntpdc 8
プログラムを用いてなされる実行時の設定要求を認証するために、キーの内
1 つが選択できます。後者のプログラムは、パスワードとして端末からキー
-を得ます。ですから、一般に、この目的のために使用されるキーを ASCII
+を得ます。ですから、一般に、この目的のために使用されるキーを
+.Tn ASCII
表現で指定するのは、適切なことです。
-.SH 主要な時計サポート (PRIMARY CLOCK SUPPORT)
-.I xntpd
+.Sh 主要な時計サポート (PRIMARY CLOCK SUPPORT)
+.Nm
は、オプションで、いくつかの型の参照時計に対するサポートを含むように
コンパイルできます。参照時計は、一般に (常にではなく)、カナダの NRC
やアメリカの NIST により提供されるサービスと同様の標準時刻の供給源に
同期している無線時刻コード受信機です。コンピュータと時刻コード受信機
の間のインタフェースはデバイス依存で多種にわたりますが、多くは
シリアルポートです。
-.PP
+.Pp
多種類の参照時計ドライバに対するサポートは、他の場所で記述された
コンパイラ定義のコードを使用して、条件コンパイルされます。参照時計を設定
しようとする試みは、特定のサポートが得られないか、ハードウェアポート
が適切に設定されていないとき、システムログファイルに警告を残しますが、
そのほかでは障害となりません。
-.PP
+.Pp
設定のために、
-.I xntpd
-は、参照時計を、できるかぎり普通の NTP の交信相手にするのと同じよう
+.Nm
+は、参照時計を、できるかぎり普通の
+.Tn NTP
+の交信相手にするのと同じよう
な方法で扱います。参照時計は、普通の交信相手と同様にアドレスで参照さ
れますが、普通の交信相手と区別するため、無効なアドレスが使用されます。
参照時計のアドレスは、
-.I 127.127.t.u
+.Em 127.127.t.u
の形式となります。ここで、
-.I t
+.Em t
は、時計の型を示す整数で、
-.I u
+.Em u
は、型で特定されるユニット番号を示します。参照時計は、設定ファイル中の
-.B server
+.Em server
文を使用して設定されます。このときの
-.I host_address
+.Em host_address
は、時計のアドレスです。
-.I key
-と
-.I version
-と
-.I ttl
+.Em key ,
+.Em version ,
+.Em ttl
オプションは、参照時計サポートのためには使用されませんが、
-.I prefer
+.Em prefer
オプションは、ある参照時計を、それが望ましい場合には、他の参照時計や
交信相手より少し熱心に大事に扱わせるよう、サーバに促すのにうまく使え
ます。時計のアドレスは、一般に設定ファイル中で普通
の IP アドレスが使用できるところならどこでも使用できます。例えば、
-.B restrict
+.Em restrict
文中などですが、このような使用法は普通は奇妙に思えるでしょう。
-.PP
+.Pp
参照時計サポートは、特別の方法で参照時計を設定するのに使用できる
-.B fudge
+.Em fudge
コマンドを与えます。
以下は、このコマンドに適用される一般的なフォーマットです。
-.PP
-.B fudge
-.I 127.127.t.u
-[
-.B time1
-.I secs
-] [
-.B time2
-.I secs
-] [
-.B stratum
-.I int
-] [
-.B refid
-.I int
-] [
-.B flag1
-.I 0|1
-] [
-.B flag2
-.I 0|1
-] [
-.B flag3
-.I 0|1
-] [
-.B flag4
-.I 0|1
-]
-.PP
-.I time1
+.Pp
+fudge
+.Ar 127.127.t.u
+.Op time1 Ar secs
+.Op time2 Ar secs
+.Op stratum Ar int
+.Op refid Ar int
+.Op flag1 Ar 0|1
+.Op flag2 Ar 0|1
+.Op flag3 Ar 0|1
+.Op flag4 Ar 0|1
+.Pp
+.Em time1
-.B time2
+.Em time2
オプションは、秒単位の固定小数点で指定され、いくつかの時計ドライバで
は、補正定数として使用されます。慣習により、別のやり方で示されない限り、
-.B time1
+.Em time1
は、特定の時計の名目上の時間オフセットを、高精度の PPS 信号のような、
外部の標準に一致させるように調整するための補正定数として使用されます。
指定されたオフセットは、内部の DIP スイッチのような他の手段により与えられた
伝搬遅延に付加されます。
-.B stratum
+.Em stratum
オプションは 0 から 15 までの数で、時計に対し非標準の operating
stratum を割当てるのに使用します。
-.B refid
-オプションは、 1 から 4 文字までの ASCII 文字列で、時計に対し非標準
+.Em refid
+オプションは、 1 から 4 文字までの
+.Tn ASCII
+文字列で、時計に対し非標準
の参照識別子を割当てるのに使用します。最後に、4つの 2 値フラグ
-.B flag1,
-.B flag2,
-.B flag3,
-.B flag4
+.Em flag1 ,
+.Em flag2 ,
+.Em flag3 ,
+.Em flag4
は、時計ドライバをカスタマイズするのに使用されます。これらの値の解釈
や、ともかくそれらが用いられるのかどうかは、特定の時計ドライバが必要
とするかに関わっています。しかし、慣習により、別のやり方で示されない
限り、
-.B flag3
+.Em flag3
は、 ppsclock ストリームモジュールを設定されるドライバにアタッチする
のに使用され、一方、
-.B flag4
+.Em flag4
は、
-.I filegen
+.Em filegen
コマンドで設定される時計統計 (clockstats) ファイルへの詳細なモニタリング
データの記録を有効にするために使用されます。 ppsclock ストリーム
モジュールについてのさらなる情報は、現在の xntp3 プログラムの
-ディストリビューション中の ./kernel ディレクトリの README ファイル内にあり
-ます。この機能についてのさらなる情報は、
-同じディストリビューション中の ./scripts/stats ディレクトリにあります。
-.PP
+ディストリビューション中の
+.Pa ./kernel
+ディレクトリの
+.Pa README
+ファイル内にあります。この機能についてのさらなる情報は、
+同じディストリビューション中の
+.Pa ./scripts/stats
+ディレクトリにあります。
+.Pp
通常、参照時計の stratum は、デフォルトで 0 です。
-.I xntpd
+.Nm
デーモンは、各交信相手の stratum に 1 を加算するので、主要 (primary)
サーバは、通常 stratum 1 を示します。巧みに運用されたバックアップを
与えるために、参照時計の stratum を 0 以上に指定することは、役に立つ
ことが多いです。
-.B stratum
+.Em stratum
オプションは、この目的のために使用されます。また、参照時計と 1-pps
discipline 信号の両方を含む場合、ドライバによっては、参照時計識別子
をデフォルト以外に指定することは有用です。
-.I refid
+.Em refid
オプションは、この目的のために使用されます。そう記されていない限り、
これらのオプションは、すべての時計ドライバに適用されます。
-.PP
+.Pp
現在、Unix マシン上の
-.I xntpd
+.Nm
は、バックアップとして用いられる、あるいは他の時計供給源が与えられな
いとき使用される特殊な仮想時計に加えて、いくつかの異なる型の時計
ハードウェアをサポートしています。たいていの時計ドライバの場合、xntp3
-プログラムのディストリビューション中の ./doc ディレクトリの README
+プログラムのディストリビューション中の
+.Pa ./doc
+ディレクトリの
+.Pa README
ファイル内で述べられているように 1-pps 精度のタイミング信号に対する
サポートが利用可能です。時計ドライバ、およびそれらを設定するのに使用される
-アドレスは、現在の xntp3 プログラムのディストリビューション中の doc
-ディレクトリの README.refclocks で記述されています。
-.PP
-.SH 変数
-NTP protocol により用いられるたいていの変数は、
-.I xntpdc
+アドレスは、現在の xntp3 プログラムのディストリビューション中の
+.Pa doc
+ディレクトリの
+.Pa README.refclocks
+で記述されています。
+.Sh 変数
+.Tn NTP
+プロトコルにより用いられるたいていの変数は、
+.Nm xntpdc
(モード 7 メッセージ) と
-.I ntpq
+.Nm ntpq
(モード 6 メッセージ) で、調べることができます。
現在は、ごくわずかの変数が、モード 6 メッセージを通して変更可能です。
-
これらの変数は、
-.I setvar
+.Em setvar
の指示で作られたか、リープ警告 (leap warning) 変数かのどちらかです。
リープ警告ビットは、
-.B leapwarning
+.Em leapwarning
変数で (1 ヶ月前までに) セットされます。
-.B leapwarning
+.Em leapwarning
-.B leapindication
+.Em leapindication
変数内の両方が通常の
-.B leap
+.Em leap
ビット解釈と少し違ったエンコーディングを持っています:
-.P
-.Ip 00 8
+.Bl -tag -width indent
+.It 00
デーモンは、同期源のリープビットを渡します (通常モードの動作) 。
-.Ip 01/10 8
-リープ秒が、付加/削除されます (オペレータによるリープ秒の強制)。
-.Ip 11 8
+.It 01/10
+うるう秒 (leap second) が、付加/削除されます (オペレータによるうるう秒の強制)。
+.It 11
同期源からのリープ情報は、無視されます (それゆえ LEAP_NOWARNING が
与えられます) 。
-.PP
-.SH 関連ファイル
-.Ip /etc/ntp.conf 20
+.El
+.Sh 関連ファイル
+.Bl -tag -width /etc/ntp.drift -compact
+.It /etc/ntp.conf
デフォルトの設定ファイル名
-.Ip /etc/ntp.drift 20
+.It /etc/ntp.drift
ドリフトファイルの慣習上の名前
-.Ip /etc/ntp.keys 20
+.It /etc/ntp.keys
キーファイルの慣習上の名前
-.SH 関連項目
-.PP
-.IR xntpdc (8),
-.IR ntpq (8),
-.IR ntpdate (8)
-.SH 歴史
-.PP
+.El
+.Sh 関連項目
+.Xr ntpdate 8 ,
+.Xr ntpq 8 ,
+.Xr xntpdc 8
+.Sh 歴史
+コマンドは
+University of Toronto の
+.An Dennis Ferguson
+によって書かれました。
+テキストは University of Delaware の
+.An David Mills
+により修正されました。
+.Sh バグ
.Nm
-コマンドはトロント大学の Dennis Ferguson によって書かれました。
-テキストはデラウェア大学の David Mills により修正されました。
-.SH バグ
-.PP
-.I xntpd
はかなり大きくなってしまいました。巨大とは言いませんが、ワークステーションで
実行される可変プライオリティのデーモンとして望ましい大きさを
超えてしまいました。それは特に、かさばる凝った特徴の多くが、高い
stratum のワークステーションよりは、高負荷の主要 (primary) サーバに
あわせて設計されているからです。
diff --git a/ja_JP.eucJP/man/man8/xntpdc.8 b/ja_JP.eucJP/man/man8/xntpdc.8
index f9679f4d8d..1b907015f6 100644
--- a/ja_JP.eucJP/man/man8/xntpdc.8
+++ b/ja_JP.eucJP/man/man8/xntpdc.8
@@ -1,737 +1,642 @@
-''' $Header
-'''
-.de Sh
-.\" jpman %Id: xntpdc.8,v 1.3 1997/09/10 04:36:59 yugawa Stab %
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Greek uppercase omega is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH XNTPDC 8 LOCAL
-.SH 名称
-xntpdc - Network Time Protocol デーモンのための問い合わせ、制御プログラム
-.SH 書式
-.B xntpdc
-[
-.B -ilnps
-] [
-.B -c
-.I command
-] [
-.I host
-] [
-.I ...
-]
-.SH 解説
-.I xntpdc
-は、
-.IR xntpd (8)
+.\"
+.\" %Id: xntpdc.8,v 1.3 1998/02/19 08:05:46 charnier Exp %
+.\"
+.Dd December 21, 1993
+.Dt XNTPDC 8
+.Os
+.Sh 名称
+.Nm xntpdc
+.Nd Network Time Protocol デーモンのための問い合わせ、制御プログラム
+.Sh 書式
+.Nm xntpdc
+.Op Fl ilnps
+.Op Fl c Ar command
+.Op Ar host ...
+.Sh 解説
+.Nm
+は
+.Xr xntpd 8
デーモンの現在の状態についての問い合わせや、状態の変更を要求する際に使
われます。このプログラムは、対話的なモードでもコマンドライン引数を
使った制御でも動作させることができます。
広範囲にわたる状態や統計の情報が、
-.I xntpdc
+.Nm
のインタフェースを通じて提供されています。
それに加えて、
-.I xntpd
+.Nm xntpd
の設定ファイルを使って起動時に指定できるほとんどすべて
のオプションが、
-.I xntpdc
+.Nm
を使って、実行時にも指定できます。
-.PP
-.I xntpdc
-が実行されたとき、一つまたは複数のリクエストオプションが、
+.Pp
+.Nm
+が実行されたとき、1 つまたは複数のリクエストオプションが、
コマンドラインに含まれる場合は、それぞれのリクエストは、コマンドライン
引数で与えられるホスト、またはデフォルトである
-.I localhost
-の NTP サーバに送られます。
+.Ar localhost
+の
+.Tn NTP
+サーバに送られます。
リクエストオプションが付けられなかったとき、
-.I xntpdc
+.Nm
はコマンドを標準入力から読み込もうとし、コマンドラインで与えられた
-最初のホストで走っている NTP サーバに対してそのコマンドを実行します。
+最初のホストで走っている
+.Tn NTP
+サーバに対してそのコマンドを実行します。
ホストが指定されなかったときは、
デフォルトである
-.I localhost
+.Ar localhost
のサーバに対して実行します。
-.I xntpdc
+.Nm
は、標準入力が端末である場合だけ、プロンプトを出します。
-.PP
-.I xntpdc
-は、 NTP サーバとの通信に NTP mode 7 パケットを使うため、
+.Pp
+.Nm
+は、
+.Tn NTP
+サーバとの通信に
+.Tn NTP
+モード 7 パケットを使うため、
ネットワーク上でそれを許すような互換サーバへの問い合わせに使えます。
-NTP は UDP プロトコルなので、特にネットワークトポロジー的に遠くに
+.Tn NTP
+は UDP プロトコルなので、特にネットワークトポロジー的に遠くに
ある場合は、この通信はやや信頼性に欠けるということを覚えておいて下さい。
-.I xntpdc
+.Nm
は、リクエストを再送する試みを行ないません。適当なタイムアウト時間の
範囲内でリモートホストから返答がなかったときは、時間切れとなります。
-.PP
+.Pp
コマンドラインオプションは以下の通りです。
-.B -i
+.Fl i
または
-.B -n
+.Fl n
以外のコマンドラインオプションを指定すると、指定したホスト (群) に、
指定した問い合わせ (または複数の問い合わせ) を直ちに送ることになります。
指定しなかった場合、
-.I xntpdc
+.Nm
は標準入力から対話的なフォーマットのコマンドを読み込もうとします。
-.Ip -c 8
+.Bl -tag -width indent
+.It Fl c
次の引数が対話的なフォーマットのコマンドとして解釈され、指定したホストで
実行されるようにコマンドのリストに加えられます。
複数の
-.B -c
+.Fl c
オプションを与えることができます。
-.Ip -i 8
-.I xntpdc
+.It Fl i
+.Nm
を強制的に対話的モードで動作させます。標準出力にプロンプトが
表示され、標準入力からコマンドが読み込まれます。
-.Ip -l 8
+.It Fl l
サーバに既知の peer のリストを取得します。このスイッチは、
-\*(L"-c listpeers\*(R" と同等です。
-.Ip -n 8
+.Qq -c listpeers
+と同等です。
+.It Fl n
すべてのホストアドレスを、標準的なホスト名でなく、ドット区切りの 4 個
の数値で出力します。
-.Ip -p 8
+.It Fl p
サーバに既知の peer のリストと、それらの状況の要約を出力します。
-これは、 \*(L"-c peers\*(R" と同等です。
-.Ip -s 8
+これは、
+.Qq -c peers
+と同等です。
+.It Fl s
サーバに既知の peer のリストと、それらの状況の要約を、
-.B -p
+.Fl p
スイッチとは少し異なるフォーマットで出力します。
-これは \*(L"-c dmpeers\*(R" と同等です。
-.SH 内部コマンド
-.PP
+これは
+.Qq -c dmpeers
+と同等です。
+.El
+.Sh 内部コマンド
対話的なフォーマットのコマンドは、キーワードとそれに続く 0 から 4 個の
引数から構成されます。キーワード全長のうち、他と区別できる文字数が
タイプされれば、有効になります。
コマンドの出力は通常標準出力に送られますが、コマンドライン上で
-\*(L">\*(R" に続けてファイル名を指定することで、個々のコマンドの出力を
+.Qq >
+に続けてファイル名を指定することで、個々のコマンドの出力を
ファイルに送ることができます。
-.PP
+.Pp
いくつかの対話的フォーマットのコマンドは、
.I xntpdc
-プログラム自身の中で全体が実行され、サーバへの NTP mode 7 リクエストは
+プログラム自身の中で全体が実行され、サーバへの
+.Tn NTP
+モード 7 リクエストは
送られません。この種類のコマンドには以下の物があります。
-.PP
-.B ?
-[
-.I command_keyword
-]
-.PP
-\*(L"?\*(R" のみのコマンドは、
-.I xntpdc
+.Pp
+.Bl -tag -width indent
+.It Xo ?
+.Op Ar command_keyword
+.Xc
+.Em ?
+のみのコマンドは、
+.Nm
が知っているすべてのコマンドキーワードのリストを出力します。
-\*(L"?\*(R" とそれに続くコマンドキーワードは、コマンドの機能と用法を
+.Em ?
+とそれに続くコマンドキーワードは、コマンドの機能と用法を
出力します。このコマンドは、
-.I xntpdc
+.Nm
に関して、このマニュアルよりも多分良い情報源となるでしょう。
-.PP
-.B help
-[
-.I command_keyword
-]
-.PP
-.B ?
+.It help Ar command_keyword
+.Em ?
コマンドと同義です。
-.PP
-.B timeout
-.I millseconds
-.PP
+.It timeout Ar millseconds
サーバ問い合わせに対する応答のタイムアウト時間を指定します。デフォルト
は、約 8000 ミリ秒です。
-.PP
-.B delay
-.I milliseconds
-.PP
+.It delay Ar milliseconds
認証を求めるリクエストに含まれるタイムスタンプに加えられる時間を
指定します。これは、長い遅延のあるネットワーク経路や時刻の同期していない
マシン間で (信頼できない) サーバの再設定ができるようにするために
使われます。
-.PP
-.B host
-.I hostname
-.PP
+.It host Ar hostname
問い合わせを送るホストを指定します。
-.I hostname
+.Ar hostname
は、ホスト名でも数値アドレス (ドット区切りの数値 4 つ) でもかまいません。
-.PP
-.B keyid
-.I #
-.PP
+.It keyid Ar #
このコマンドで、認証設定リクエストに使われるキー番号を指定できます。
この番号は、この目的で使うためにサーバが設定したキー番号に一致して
いなければなりません。
-.PP
-.B passwd
-.PP
+.It passwd
このコマンドは、認証設定リクエストに使われるパスワードの入力
(エコーされません) を求めるプロンプトを出します。
-このリクエストが成功するためには、NTP サーバが認証のために使うよう
+このリクエストが成功するためには、
+.Tn NTP
+サーバが認証のために使うよう
設定したキーに、パスワードが一致していなければなりません。
-.PP
-.B "hostnames yes|no"
-.PP
-\*(L"yes\*(R" が指定されると、情報の表示の際、ホスト名が使用されます。
-\*(L"no\*(R" が与えられると、代わりに数値アドレスが使用されます。
+.It hostnames Ar yes|no
+.Ar yes
+が指定されると、情報の表示の際、ホスト名が使用されます。
+.Ar no
+が与えられると、代わりに数値アドレスが使用されます。
コマンドラインの
-.B -n
+.Fl n
スイッチが使われなければ、
-デフォルトは \*(L"yes\*(R" になります。
-.PP
-.B quit
-.PP
-.I xntpdc
+デフォルトは
+.Ar yes
+になります。
+.It quit
+.Nm
を終了します。
-.SH 問い合わせコマンド
-.PP
-問い合わせコマンドは、情報を要求する NTP mode 7 パケットをサーバに送ります。
-これらは、サーバの設定状態を変更できない \*(L"読み込み専用\*(R" コマンドです。
-.PP
-.B listpeers
-.PP
+.El
+.Sh 問い合わせコマンド
+問い合わせコマンドは、情報を要求する
+.Tn NTP
+モード 7 パケットをサーバに送ります。
+これらは、サーバの設定状態を変更できない
+.Qq 読み込み専用
+コマンドです。
+.Bl -tag -width indent
+.It listpeers
サーバが状態を管理する peer の簡略なリストを得て、出力します。
これには、サーバが同期する予定の候補であるとみなす階層の peer を含めた、
すべての設定された隣接 peer を含んでいるはずです。
-.PP
-.B peers
-.PP
+.It peers
サーバが状態を管理する peer と、その状態の要約を出力します。
状態の要約は、以下のものを含みます。すなわち、リモート peer のアドレス、
ローカルインタフェースアドレス (ローカルアドレスが決まっていないなら
0.0.0.0) 、リモート peer の階層 (階層 16 は、リモートの peer が同期していない
事を示します)、秒で表すポーリング間隔、8 進で表す到達可能性レジスタ、
peer の現在の遅れ、オフセット、バラツキの秒で表した推定値です。
更に、左端の文字は、この peer エントリが操作しているモードを
-示します。 \*(L"+\*(R" は symmetric active を、 \*(L"-\*(R" は、
-symmetric passive を表し、 \*(L"=\*(R" は、リモートサーバが
-クライアントモードでポーリングされていることを意味し、 \*(L"^\*(R" は、
-サーバがこのアドレスに broadcast していることを示し、 \*(L"~\*(R" は、
-リモート peer が broadcast を送っていることを示し、 \*(L"*\*(R" は、
-サーバが現在同期している peer であることを示します。
-.PP
-ホストフィールドの内容は、ホスト名、IP アドレス、パラメータと
-参照時刻実装名、 \*(L"REFCLK(<implementation number>,
-<parameter>)\*(R" の
-4 つの形のうち一つです。 \*(L"hostnames no\*(R" の状態では、
-IP アドレスだけが表示されます。
-.PP
-.B dmpeers
-.PP
+示します。
+.Qq +
+は symmetric active を、
+.Qq -
+は symmetric passive を表し、
+.Qq =
+は、リモートサーバがクライアントモードでポーリングされていることを意味し、
+.Qq ^
+は、サーバがこのアドレスにブロードキャストブロードキャストしていることを示し、
+.Qq ~
+は、リモート peer がブロードキャストを送っていることを示し、
+.Qq *
+は、サーバが現在同期している peer であることを示します。
+.Pp
+ホストフィールドの内容は、ホスト名、IP アドレス、パラメータと参照時刻実装名、
+.Qq REFCLK(<implementation number>, <parameter>)
+の 4 つの形のうち 1 つです。
+.Qq hostnames no
+の状態では、IP アドレスだけが表示されます。
+.It dmpeers
少々異なる peer 要約リストです。
行の左端の文字以外は
-.B peers
+.Em peers
と同じ出力になります。
文字は、時刻選択アルゴリズムの最後のステージに含まれる peer の隣にだけ
-現れます。 \*(L".\*(R" は、誤りチェッカの検出でその peer が捨てられた
-ことを、 \*(L"+\*(R" はチェッカにより同期対象として適切であると判断された
-ことを示します。
-\*(L"*\*(R" は、サーバが現在同期している peer であることを
-示しています。
-.PP
-.B showpeer
-.I peer_address
-[
-.I addr2
-] [
-.I addr3
-] [
-.I addr4
-]
-.PP
-一つ以上の peer の、現在の詳細な内容を表示します。
-値については、 NTP バージョン 2 仕様に詳しく述べられています。
-.PP
-.B pstats
-.I peer_address
-[
-.I addr2
-] [
-.I addr3
-] [
-.I addr4
-]
-.PP
+現れます。
+.Qq \&.
+は、誤りチェッカの検出でその peer が捨てられたことを、
+.Qq +
+はチェッカにより同期対象として適切であると判断されたことを示します。
+.Qq *
+は、サーバが現在同期している peer であることを示しています。
+.It Xo showpeer
+.Ar peer_address
+.Op Ar addr2
+.Op Ar addr3
+.Op Ar addr4
+.Xc
+1 つ以上の peer の、現在の詳細な内容を表示します。
+値については、
+.Tn NTP
+バージョン 2 仕様に詳しく述べられています。
+.It Xo pstats
+.Ar peer_address
+.Op Ar addr2
+.Op Ar addr3
+.Op Ar addr4
+.Xc
指定した peer に関連する統計カウンタを peer 毎に表示します。
-.PP
-.B clockinfo
-.I clock_peer_address
-[
-.I addr2
-] [
-.I addr3
-] [
-.I addr4
-]
-.PP
+.It Xo clockinfo
+.Ar clock_peer_address
+.Op Ar addr2
+.Op Ar addr3
+.Op Ar addr4
+.Xc
peer クロックに関する情報を得て、それを表示します。得られた値は、
設定上のあいまいな要因の情報と他のクロックの性能の情報を
提供してくれます。
-.PP
-.B kerninfo
-.PP
-カーネルの phase-lock ループ操作パラメータを得て、それを表示します。
+.It kerninfo
+カーネルのフェーズロックループ操作パラメータを得て、それを表示します。
この情報は、精度の高い時刻保持機能のために、カーネルが特に
修正されている場合にだけ得られます。
-.PP
-.B loopinfo
-[
-.B oneline|multiline
-]
-.PP
+.It loopinfo Op Ar oneline|multiline
選択されたループフィルタ変数の値を表示します。ループフィルタとは、
-ローカルシステムクロックの調節を行なう NTP の一部です。
-\*(L"offset\*(R" は、パケット処理コードによってループフィルタに
-与えられる最後のオフセットです。 \*(L"frequency\*(R" は、
+ローカルシステムクロックの調節を行なう
+.Tn NTP
+の一部です。
+.Qq offset
+は、パケット処理コードによってループフィルタに与えられる最後のオフセットです。
+.Qq frequency
+は、
parts-per-million (ppm) で表わされるローカルクロックの周波数誤差です。
-\*(L"time_const\*(R" は、 phase-lock ループの"堅固さ"を制御し、
-その速度で発振器のゆらぎを調節します。 \*(L"watchdog timer\*(R" の値は、
-ループフィルタに最後のサンプルのオフセットが与えられてから経過した秒数です。
-\*(L"oneline\*(R" と \*(L"multiline\*(R" オプションはこの情報が
-出力されるフォーマットの指定で、 \*(L"multiline\*(R" がデフォルトです。
-.PP
-.B sysinfo
-.PP
-システム状態変数、すなわち、ローカルサーバに関する状態の変化を
-表示します。
-最後の 4 行以外は、皆 NTP バージョン 3 仕様である RFC 1305 で
-述べられています。 \*(L"system flags\*(R" は、いろいろなシステムフラグ
-を表示し、一部は \*(L"enable\*(R" 及び \*(L"disable\*(R" 設定コマンド
-で、それぞれの設定やクリアができます。 \*(L"stability\*(R" は、
-システム周波数の修正がされた後に残る残留周波数誤差で、
+.Qq time_const
+は、フェーズロックループの
+.Qq 堅固さ
+を制御し、その速度で発振器のゆらぎを調節します。
+.Qq watchdog timer
+の値は、ループフィルタに最後のサンプルのオフセットが与えられてから経過した秒数です。
+.Ar oneline
+と
+.Ar multiline
+オプションはこの情報が
+出力されるフォーマットの指定で、
+.Ar multiline
+ がデフォルトです。
+.It sysinfo
+システム状態変数、すなわち、ローカルサーバに関する状態の変化を表示します。
+最後の 4 行以外は、皆
+.Tn NTP
+バージョン 3 仕様である RFC 1305 で述べられています。
+.Qq system flags
+は、いろいろなシステムフラグを表示し、一部は
+.Qq enable
+及び
+.Qq disable
+設定コマンドで、それぞれの設定やクリアができます。
+.Qq stability
+は、システム周波数の修正がされた後に残る残留周波数誤差で、
保守やデバッグに使われます。
多くのアーキテクチャでは、この値は初期の 500 ppm 程度から、.01 から 0.1 ppm
という低い範囲にまで減少します。
もしデーモンが起動されてからも、この値が高いままである場合は、
-ローカルな時計がどこかおかしいか、カーネル変数 \*(L"tick\*(R" が
-間違っているかもしれません。 \*(L"broadcastdelay\*(R" は、
-\*(L"broadcastdelay\*(R" 変更コマンドで設定されるデフォルトの
-ブロードキャスト遅延時間を表示し、 \*(L"authdelay\*(R" は、
-\*(L"authdelay\*(R"変更コマンドで設定されるデフォルトの認証遅延時間を
-表示します。
-.PP
-.B sysstats
-.PP
+ローカルな時計がどこかおかしいか、カーネル変数
+.Qq tick
+が間違っているかもしれません。
+.Qq broadcastdelay
+は、
+.Qq broadcastdelay
+変更コマンドで設定されるデフォルトのブロードキャスト遅延時間を表示し、
+.Qq authdelay
+は、
+.Qq authdelay
+変更コマンドで設定されるデフォルトの認証遅延時間を表示します。
+.It sysstats
プロトコルモジュールで管理される統計カウンタを表示します。
-.PP
-.B memstats
-.PP
+.It memstats
メモリ割り当てコードに関する統計カウンタを表示します。
-.PP
-.B iostats
-.PP
+.It iostats
入力\-出力モジュールで管理される統計カウンタを表示します。
-.PP
-.B timerstats
-.PP
-timer/event キューをサポートするコードで管理される統計カウンタを
-表示します。
-.PP
-.B reslist
-.PP
+.It timerstats
+タイマ/イベントキューをサポートするコードで管理される統計カウンタを表示します。
+.It reslist
サーバの制限リストを得て、表示します。このリストは、
(通常) ソートされた順で出力され、制限がどのように適用されるかを
理解する助けになるかもしれません。
-.PP
-.B monlist
-[
-.I version
-]
-.PP
+.It monlist Op Ar version
モニタ機能により収集、管理されるトラフィックカウントの値を得て、表示します。
通常、バージョン番号は指定する必要がありません。
-.PP
-.B clkbug
-.I clock_peer_address
-[
-.I addr2
-] [
-.I addr3
-] [
-.I addr4
-]
-.PP
+.It Xo clkbug
+.Ar clock_peer_address
+.Op Ar addr2
+.Op Ar addr3
+.Op Ar addr4
+.Xc
時刻参照ドライバのデバッグ情報を得ます。この情報は、
一部のクロックドライバでだけ提供され、
ドライバのソースのコピーが手元に無い場合、ほとんどデコードできません。
-.SH 実行時設定リクエスト
-.PP
-サーバ内で状態を変更するようなリクエストは、すべてサーバが設定した NTP
+.El
+.Sh 実行時設定リクエスト
+サーバ内で状態を変更するようなリクエストは、すべてサーバが設定した
+.Tn NTP
キーを使って認証されます
(この機能はキーを設定しないことで、無効にもできます) 。
キー番号とそれに対応するキーも、
-.I xtnpdc
+.Nm
が知っていなければなりません。
これは、
-.B keyid
+.Em keyid
-.B passwd
+.Em passwd
コマンドを使えば可能で、後者では、暗号化されたキーを使うために
パスワードを求めるプロンプトを端末に出します。
サーバへの認証リクエストを必要とするコマンドが最初に実行された場合でも、
自動的にキー番号とパスワードの入力を要求します。
認証は、そのような変更をする権限を持っているリクエストであるかを
検証するだけでなく、送信エラーに対するより一層の保護を行う事になります。
-.PP
+.Pp
認証リクエストは、常にパケットデータの中に、認証コードの計算に
含まれているタイムスタンプを含んでいます。
このタイムスタンプは、サーバによって受信時刻と比較されます。この差がある小さな
値より大きければ、リクエストは拒否されます。これには二つの理由があります。
-一つは、あなたの LAN のトラフィックを盗み聞きできる誰かによるサーバへの
-単純かつ繰り返しによる攻撃を困難にします。二つ目は、ネットワーク的に
+1 つは、あなたの LAN のトラフィックを盗み聞きできる誰かによるサーバへの
+単純かつ繰り返しによる攻撃を困難にします。2 つ目は、ネットワーク的に
離れたホストから、あなたのサーバへ設定変更リクエストを行なうことを
困難にします。
再設定は、ローカルホストのサーバに対しては簡単で、時刻同期した
同じ LAN 上のホストでも普通に行なえますが、より離れたホストでは
やりにくくなっています。
したがって、適当なパスワードを選択し、キーの配布と防護に注意を払い、
適切なソースアドレス制限が施されれば、実行時再設定の機能については
適切なセキュリティレベルにあることになります。
-.PP
+.Pp
以下のコマンドは皆、認証リクエストです。
-.PP
-.B addpeer
-.I peer_address
-[
-.I keyid
-] [
-.I version#
-] [
-.B prefer
-]
-.PP
+.Bl -tag -width indent
+.It Xo addpeer
+.Ar peer_address
+.Op Ar keyid
+.Op Ar version#
+.Op Ar prefer
+.Xc
与えられたアドレスを設定された隣接 peer として追加し、symmetric active
モードで動作します。
既に隣接 peer として設定されている peer を指定した場合、その peer は
このコマンドが実行されたときに削除
されるか、単に新しい設定に従うよう適当に変更されます。
-オプションの \*(L"keyid\*(R" が 0 でない整数の場合、リモートサーバに
+オプションの
+.Ar keyid
+が 0 でない整数の場合、リモートサーバに
出ていくすべてのパケットは、このキーにより暗号化された
認証フィールドを持つことになります。値が 0 の場合
(または指定されなかった場合)、認証は行なわれません。
-\*(L"version#\*(R" は、1, 2, 3 のどれか
-となり、デフォルトは 3 です。 \*(L"prefer\*(R" キーワードは、
-優先する peer を示します(その結果、可能であれば時刻同期の主要元として
-使用されます)。
+.Ar version#
+は、1, 2, 3 のどれかとなり、デフォルトは 3 です。
+.Ar prefer
+キーワードは、優先する peer を示します
+(その結果、可能であれば時刻同期の主要元として使用されます)。
優先する peer は、 PPS 信号の信頼性も決めます。優先する peer が同期に
適している場合、PPS 信号も信頼できると判断されます。
-.PP
-.B addserver
-.I peer_address
-[
-.I keyid
-] [
-.I version#
-] [
-.B prefer
-]
-.PP
+.It Xo addserver
+.Ar peer_address
+.Op Ar keyid
+.Op Ar version#
+.Op Ar prefer
+.Xc
操作モードがクライアントであること以外は、
-.B addpeer
+.Em addpeer
コマンドと同等です。
-.PP
-.B broadcast
-.I peer_address
-[
-.I keyid
-] [
-.I version#
-]
-.PP
-操作モードが broadcast であること以外は、
-.B addpeer
-コマンドと同等です。この場合、正当なキー識別子とキーが
-必要になります。 \*(L"peer_address\*(R" パラメータは、
-ローカルネットワークのブロードキャストアドレスか、または NTP に
-割り当てられたマルチキャストグループアドレス にできます。
+.It Xo broadcast
+.Ar peer_address
+.Op Ar keyid
+.Op Ar version#
+.Xc
+操作モードがブロードキャストであること以外は、
+.Em addpeer
+コマンドと同等です。この場合、正当なキー識別子とキーが必要になります。
+.Ar peer_address
+パラメータは、ローカルネットワークのブロードキャストアドレスか、または
+.Tn NTP
+ に割り当てられたマルチキャストグループアドレスにできます。
マルチキャストアドレスの場合、マルチキャストに対応したカーネルが
必要になります。
-.PP
-.B unconfig
-.I peer_address
-[
-.I addr2
-] [
-.I addr3
-] [
-.I addr4
-]
-.PP
-このコマンドは、指定した peer (群) から設定されている bit を除きます。
+.It Xo unconfig
+.Ar peer_address
+.Op Ar addr2
+.Op Ar addr3
+.Op Ar addr4
+.Xc
+このコマンドは、指定した peer (群) から設定済みを表すビットを除去します。
多くの場合、これによって隣接 peer の設定が削除されることになります。
-しかしながら、リモートの peer が設定されていない状態のまま継続しようとし、
-それが適切である場合は、隣接関係は、設定されていないモードのまま残る場合も
-あります。
-.PP
-.B fudge
-.I peer_address
-[
-.I time1
-] [
-.I time2
-] [
-.I stratum
-] [
-.I refid
-]
-.PP
+しかしながら、リモートの peer が未設定状態の継続を希望し、
+それが適切である場合は、隣接関係は未設定モードのまま残る場合もあります。
+.It Xo fudge
+.Ar peer_address
+.Op Ar time1
+.Op Ar time2
+.Op Ar stratum
+.Op Ar refid
+.Xc
このコマンドは、あるデータを参照時刻としてセットすることができます。
詳しい情報は、ソースリストを見て下さい。
-.PP
-.B enable auth|bclient|pll|monitor|stats
-[
-.I ...
-]
-.PP
-各種サーバオプションを有効にします。言及されていないフラグ
-は影響を受けません。 \*(L"auth\*(R" フラグは、 peer が信頼できるキーと
-キー識別子を使って正しく認証されたときだけ、設定されていない
-peer にサーバを同期させます。
-デフォルトは無効 (オフ) です。 \*(L"bclient\*(R" フラグは、サーバが
+.It Xo enable
+.Ar auth|bclient|pll|monitor|stats
+.Op Ar ...
+.Xc
+各種サーバオプションを有効にします。言及されていないフラグは影響を受けません。
+.Ar auth
+フラグは、 peer が信頼できるキーと
+キー識別子を使って正しく認証されたときだけ、未設定の
+peer にサーバを同期させます。デフォルトは無効 (オフ) です。
+.Ar bclient
+フラグは、サーバが
ブロードキャストサーバやマルチキャストサーバからのメッセージを
聞く (listen) ようにして、 自動的にそのサーバと隣接関係を設定します。
-デフォルトは無効 (オフ) です。 \*(L"pll\*(R" フラグは、
-サーバがローカルクロックを修正するようにします。
+デフォルトは無効 (オフ) です。
+.Ar pll
+フラグは、サーバがローカルクロックを修正するようにします。
デフォルトは有効 (オン) です。これが設定されていないと、ローカルクロック
は内部の時間および周波数オフセットによって勝手に動作することになります。
-このフラグは、ローカルクロックが他のデバイスやプロトコルにより
-制御されていて、 NTP は他のクライアントが同期するためだけに使われるような
-場合に便利です。 \*(L"monitor\*(R" フラグは、
-モニタ機能 (他を参照のこと) を可能にするもので、
-デフォルトは無効 (オフ) です。 \*(L"stats\*(R" フラグは、統計機能
-ファイル出力 (他の説明を参照のこと) を可能にします。
-デフォルトは、有効 (オン) です。
-.PP
-.B disable auth|bclient|pll|monitor|stats
-[
-.I ...
-]
-.PP
+このフラグは、ローカルクロックが他のデバイスやプロトコルにより制御されていて、
+.Tn NTP
+は他のクライアントが同期するためだけに使われるような場合に便利です。
+.Ar monitor
+フラグは、モニタ機能 (他を参照のこと) を可能にするもので、
+デフォルトは無効 (オフ) です。
+.Ar stats
+フラグは、統計機能ファイル出力 (他の説明を参照のこと) を可能にします。
+デフォルトは有効 (オン) です。
+.It Xo disable
+.Ar auth|bclient|pll|monitor|stats
+.Op Ar ...
+.Xc
各種サーバオプションを無効 (オフ) にします。言及されていない
フラグは影響を受けません。現在有効なフラグは、 enable コマンドのところで
述べられています。
-.PP
-.B restrict
-.I address
-.I mask
-.I flag
-[
-.I flag
-]
-.PP
+.It Xo restrict
+.Ar address
+.Ar mask
+.Ar flag
+.Op Ar flag
+.Xc
フラグ (群) を存在する制限リストエントリに加えるか、または指定した
フラグ (群) で新しいエントリをリストにつけ加えます。
可能なフラグ引数の選択は、以下の通りとなります:
-.Ip ignore 10
+.Bl -tag -width indent
+.It ignore
このエントリにマッチするホストからのすべてのパケットを無視します。
このフラグが指定されると、どんな問い合わせやタイムサーバの
ポーリングにも反応しなくなります。
-.Ip noquery 10
-ソースからの NTP mode 7 のパケット
+.It noquery
+ソースからの
+.Tn NTP
+モード 7 のパケット
(すなわち、情報問い合わせと設定リクエスト) をすべて無視します。
時刻サービスは影響されません。
-.Ip nomodify 10
-サーバの状態を変更しようとする NTP mode 7 のパケット (すなわち、
-実行時再設定) をすべて無視します。
+.It nomodify
+サーバの状態を変更しようとする
+.Tn NTP
+モード 7 のパケット (すなわち、実行時再設定) をすべて無視します。
情報を返すような問い合わせは許されます。
-.Ip notrap 10
+.It notrap
一致するホストへの、モード 6 制御メッセージのトラップサービスを
提供しません。このトラップサービスはモード 6 制御メッセージプロトコルの
サブシステムで、リモートイベントの記録を行うようなプログラムで使用される
事を意図しています。
-.Ip lowpriotrap 10
+.It lowpriotrap
一致するホストによるトラップの優先度を低くします。
サーバが管理できるトラップの数は制限されています (現在の制限は 3)。
-トラップは、通常早い物勝ちベースで割り当てられ、制限に達すると以降の
+トラップは、通常早い者勝ちベースで割り当てられ、制限に達すると以降の
トラップ要求は拒否されます。このフラグは割り当てアルゴリズムを変更し、
優先度の低いトラップは後から発生した通常の優先度のトラップ要求により
無効にされるようになります。
-.Ip noserve 10
-モードが 7 以外の NTP パケットを無視します。要するに、問い合わせは受け
+.It noserve
+モードが 7 以外の
+.Tn NTP
+パケットを無視します。要するに、問い合わせは受け
付けるが、時刻サービスは拒否することになります。
-.Ip nopeer 10
+.It nopeer
問い合わせて来たホストに、状態を保存しない時刻サービスを行ないます。
しかし、たとえ将来同期先の相手として便利だとしても、
これらのホストには peer メモリのリソースを割り当てません。
-.Ip notrust 10
+.It notrust
これらのホストを同期する元としては決して使用しませんが、その他の
部分では通常に扱います。
-.Ip limited 10
+.It limited
これらのホストは同一のネットからのクライアントの数の制限を受けます。
この文脈でいう
ネットとは、ネットの IP の概念 (クラス A 、クラス B 、クラス C 等) を
指します。
-サーバが認識している \*(L"client_limit\*(R" 以下のホスト数で、
-過去 \*(L"client_limit_period\*(R" 秒間アクティブ
+サーバが認識している
+.Qq client_limit
+以下のホスト数で、過去
+.Qq client_limit_period
+秒間アクティブ
だったホストは受け入れられます。同じネットの他のクライアントからの
リクエストは、拒否されます。時刻リクエストパケットだけが考慮されます。
-\*(L"private\*(R" と \*(L"control\*(R" と
-\*(L"broadcast\*(R" のパケットは、クライアントの制限を受けず、
+.Qq Private ,
+.Qq control ,
+.Qq broadcast
+のパケットは、クライアントの制限を受けず、
したがってクライアント数にも数えられません。
クライアントの履歴は、
-.I xntpd
+.Xr xntpd 8
のモニタ機能により保存されます。
-したがって、モニタ機能は、 \*(L"limited\*(R" フラグで制限されたエントリが
-ある限り機能します。
-デフォルトの \*(L"client_limit\*(R" 値は 3 です。
-デフォルトの \*(L"client_limit_period\*(R" 値は 3600 秒です。
-現在、どちらの変数も実行時には変更できません。
-.Ip ntpport 10
+したがって、モニタ機能は、
+.Ar limited
+フラグで制限されたエントリがある限り機能します。
+デフォルトの
+.Qq client_limit
+値は 3 です。デフォルトの
+.Qq client_limit_period
+値は 3600 秒です。現在、どちらの変数も実行時には変更できません。
+.It ntpport
これは制限フラグというより、実際にはマッチアルゴリズム修飾子です。
-これがあると、パケットのソースポートが標準 NTP UDP ポート (123) である
-場合だけ、制限エントリがマッチします。
-\*(L"ntpport\*(R" と non\-\*(L"ntpport\*(R" の両方が指定できます。
-\*(L"ntpport\*(R" の方がより特別に扱われ、リスト中で
-後ろの方にソートされます。
-.PP
-.B unrestrict
-.I address
-.I mask
-.I flag
-[
-.I flag
-]
-.PP
-.I address
+これがあると、パケットのソースポートが標準
+.Tn NTP
+UDP ポート (123) である場合だけ、制限エントリがマッチします。
+.Em ntpport
+と
+.Pf non\- Em ntpport
+の両方が指定できます。
+.Em ntpport
+の方がより特別に扱われ、リスト中で後ろの方にソートされます。
+.El
+.It Xo unrestrict
+.Ar address
+.Ar mask
+.Ar flag
+.Op Ar flag
+.Xc
+.Ar address
-.I mask
+.Ar mask
の引数で指定された制限リストエントリから、指定されたフラグを除きます。
-.PP
-.B delrestrict
-.I address
-.I mask
-[
-.B ntpport
-]
-.PP
+.It Xo delrestrict
+.Ar address
+.Ar mask
+.Op Ar ntpport
+.Xc
制限リストから一致するエントリを削除します。
-.PP
-.B "monitor yes|no"
-.PP
+.It monitor Ar yes|no
モニタ機能を有効または無効にします。
-.B "monitor no"
+.Em monitor Ar no
に続けて
-.B "monitor yes"
+.Em monitor Ar yes
コマンドを送るのは、パケット数をリセットする良い方法です。
-.PP
-.B readkeys
-.PP
+.It readkeys
現在の認証キーのセットを一掃し、キーファイル (これは
-.I xntpd
+.Nm xntpd
設定ファイルの中で指定されていなければなりません) の
再読み込みを行なって新しいセットにします。
こうすることで、サーバを再スタートさせずに暗号化キーの変更ができます。
-.PP
-.B trustkey
-.I keyid
-[
-.I keyid
-] [
-.I keyid
-] [
-.I keyid
-]
-.PP
-一つないしそれ以上のキーを、信頼キーリストに加えます。
+.It Xo trustkey
+.Ar keyid
+.Op Ar keyid
+.Op Ar keyid
+.Op Ar keyid
+.Xc
+1 つないしそれ以上のキーを、信頼キーリストに加えます。
認証が有効になっているとき、信頼性のある時刻を持つ peer は、
信頼キーを使って認証されなければなりません。
-.PP
-.B untrustkey
-.I keyid
-[
-.I keyid
-] [
-.I keyid
-] [
-.I keyid
-]
-.PP
-一つないしそれ以上のキーを、信頼キーリストから削除します。
-.PP
-.B authinfo
-.PP
+.It Xo untrustkey
+.Ar keyid
+.Op Ar keyid
+.Op Ar keyid
+.Op Ar keyid
+.Xc
+1 つないしそれ以上のキーを、信頼キーリストから削除します。
+.It authinfo
既知のキーや実行された暗号化、復号化の数を含む、認証モジュールに関する
情報を返します。
-.PP
-.B setprecision
-.I precision_value
-.PP
-サーバが通知する精度の値を設定します。
+.It setprecision Ar precision_value
+サーバが通知する精度を指定した値に設定します。
値は、 -4 から -20 の範囲の負の整数でなければなりません。
-.PP
-.B traps
-.PP
+.It traps
サーバに設定されているトラップを表示します。
詳しくはソースリストを参照して下さい。
-.PP
-.B addtrap
-.I address
-[
-.I port
-] [
-.I interface
-]
-.PP
+.It Xo addtrap
+.Ar address
+.Op Ar port
+.Op Ar interface
+.Xc
非同期メッセージのトラップをセットします。
詳しくはソースリストを参照して下さい。
-.PP
-.B clrtrap
-.I address
-[
-.I port
-] [
-.I interface
-]
-.PP
+.It Xo clrtrap
+.Ar address
+.Op Ar port
+.Op Ar interface
+.Xc
非同期メッセージのトラップを解除します。
詳しくはソースリストを参照して下さい。
-.PP
-.B reset ...
-.PP
+.It reset Ar ...
サーバのいろいろなモジュールのなかの統計カウンタをクリアします。
詳しくはソースリストを参照して下さい。
-.SH 関連項目
-.PP
-.IR xntpd (8)
-.SH 歴史
-.PP
-Toronto 大学の Dennis Ferguson によって書かれました。
-.SH バグ
-.PP
-.I xntpdc
+.El
+.Sh 関連項目
+.Xr xntpd 8
+.Sh 歴史
+University of Toronto の
+.An Dennis Ferguson
+が作成しました。
+.Sh バグ
+.Nm
は、未完成のハックです。表示される情報の多くは死ぬほど退屈で、実装した
人間だけに気に入られるものです。このプログラムは、新しい (一時的な)
仕様を追加し易いようデザインされており、使いやすくするには手間が
かかります。それでも、このプログラムは、場合によっては有用です。
diff --git a/ja_JP.eucJP/man/man8/xtend.8 b/ja_JP.eucJP/man/man8/xtend.8
index 3a88892e27..f4ba50ee58 100644
--- a/ja_JP.eucJP/man/man8/xtend.8
+++ b/ja_JP.eucJP/man/man8/xtend.8
@@ -1,177 +1,177 @@
.\" Copyright (c) 1992, 1993 Eugene W. Stark
.\" 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 Eugene W. Stark.
.\" 4. 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 EUGENE W. STARK (THE AUTHOR) ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: xtend.8,v 1.4.2.3 1998/07/19 06:53:05 jkh Exp %
+.\" %Id: xtend.8,v 1.9 1998/03/19 07:37:36 charnier Exp %
.\" jpman %Id: xtend.8,v 1.2 1997/06/16 08:01:33 yugawa Stab %
.\"
.Th XTEND 8 "30 Oct 1993"
.Dd Oct 30, 1993
.Dt XTEND 8
.Os BSD FreeBSD
.Sh 名称
.Nm xtend
.Nd X-10 デーモン
.Sh 書式
.Nm /usr/libexec/xtend
.Sh 解説
.Nm
は、ユーザレベルのプログラムと TW523 X-10 コントローラとのインタフェースを
行います。TW523 から受信した全てのパケットを記録し、全ての X-10 デバイスの
状態を可能な限り追跡し、X-10 デバイスの操作を必要とするユーザレベルの
クライアントプログラムからのソケット接続を受け付けます。
.Pp
.Nm
を起動すると、自分自身をフォークし、制御端末を切り離し、以降発生する
全ての X-10 の活動状況と診断メッセージを記録するログファイルを開きます。
その後、TW523 から受信したパケットの処理を開始し、X-10 のコマンドを発行する
クライアントの接続を 1 度にひとつだけ受け付けます。
.Nm
は、
.Pa /etc/rc.conf
スクリプトにて有効に設定された場合、
.Pa /etc/rc.i386
起動スクリプトから実行されます。
.Pp
.Nm
に SIGHUP を送ると、ログファイルを一旦閉じ、再び開きます。これは、
ログファイルの肥大化を避けるために、シェルスクリプトによりログファイルを
変更する場合に便利でしょう。
.Nm
が SIGTERM を受け取ると、素直にシャットダウンし、終了します。
SIGPIPE を送ると、
.Nm
は現在のクライアント接続を強制的に切り離します。
.Pp
.Nm
は、クライアントのプロセスと、単純なプロトコルを用いて通信を行います。
このプロトコルは、クライアントから送られる 1 行のコマンドに対して、
デーモンが 1 行の応答を行うような単純な物です。
.Pp
.Nm
には、4 種類のコマンドがあります。コマンド:
.Bl -tag
.It status H U
.El
.Pp
に対して、
.Nm
は指定されたデバイスの状態を 1 行で返答します。ここで、H はハウスコードを
示す 1 文字で、U は数字のユニットコードです。
コマンド:
.Bl -tag
.It send H U N
.El
.Pp
に対して、
.Nm
は指定された X-10 の送信を行います。ここで、H はハウスコードを示す 1 文字で、
U は数字のユニットコードまたはリストに対する機能コード(
.Pa xtend/packet.c
ソースファイル参照)、N はギャップなしに送信されるパケットの数 (通常は 2)
です。送信が成功すると、
.B
OK
と応答し、それ以外の場合は、
.B
ERROR
と応答します。
コマンド:
.Bl -tag
.It dump
.El
.Pp
に対して、
.Nm
はスプールディレクトリの
.Tn ASCII
ファイルに全てのデバイスの現在の状態を
ダンプします。状態のダンプに成功したかどうかに関わらず、
.B
OK
と応答します。
コマンド:
.Bl -tag
.It monitor H U
.El
.Pp
に対して、
.Nm
は指定された X-10 デバイスに関する活動状況を報告するクライアントのリストに、
現在のクライアントのソケット接続を加えます。
リスト中のクライアント数の最大値 (現状では 5) を超えなければ、
.B
OK
を返答し、それ以外は
.B
ERROR
を返答します。その後、
.Nm
クライアントからの接続を受け付ける通常モードに戻ります。
しかし、それ以降に指定されたデバイスの状態が変化すると、
.Nm
は (
.B
status
コマンドにより得られる場合と同じ形式で)
デバイスの状態を保存したソケットに送ります。
この機能は、動作検出機等、デバイスの活動状況をモニタする必要があり、
X-10 送信を行うプログラムを作成する場合に便利でしょう。
.Sh オプション
なし。
.Sh 関連項目
.Xr xten 1 ,
.Xr tw 4
.Sh 関連ファイル
.Bl -tag -width /var/spool/xten/Status -compact
.It Pa /dev/tw0
TW523 スペシャルファイル
.It Pa /var/run/tw523
クライアント接続用ソケット
.It Pa /var/run/xtend.pid
pid ファイル
.It Pa /var/spool/xten/Log
ログファイル
.It Pa /var/spool/xten/Status
デバイス状態ファイル(バイナリ)
.It Pa /var/spool/xten/status.out
デバイス情報の
.Tn ASCII
ダンプ
.El
.Sh バグ
現状では、クライアントのソケット接続にタイムアウトはありません。そのため、
ハングしたクライアントプログラムがあると、他のクライアントはデーモンに
アクセスする事ができなくなります。
.Pp
.Nm
はできる限りデバイスの状態を追跡しますが、デバイスが手動で操作された
ことを知る方法はありません。これは、ほとんどの X-10 デバイスが状態の
問い合わせに対して応答する事ができないからです。
.Sh 作者
.An Eugene W. Stark Aq stark@cs.sunysb.edu
diff --git a/ja_JP.eucJP/man/man8/yp_mkdb.8 b/ja_JP.eucJP/man/man8/yp_mkdb.8
index 26d0f8cb56..9c3f75eecb 100644
--- a/ja_JP.eucJP/man/man8/yp_mkdb.8
+++ b/ja_JP.eucJP/man/man8/yp_mkdb.8
@@ -1,186 +1,186 @@
.\" Copyright (c) 1995, 1996
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: yp_mkdb.8,v 1.2.2.4 1998/07/18 11:38:12 jkh Exp %
+.\" %Id: yp_mkdb.8,v 1.8 1998/03/23 08:30:19 charnier Exp %
.\" jpman %Id: yp_mkdb.8,v 1.3 1997/05/19 17:09:21 horikawa Stab %
.\"
.Dd March 12, 1996
.Dt YP_MKDB 8
.Os
.Sh 名称
.Nm yp_mkdb
.Nd "NIS データベースを作成する"
.Sh 書式
.Nm yp_mkdb
.Fl c
.Nm yp_mkdb
.Fl u Ar dbname
.Nm yp_mkdb
.Op Fl c
.Op Fl b
.Op Fl s
.Op Fl i Ar inputfile
.Op Fl o Ar outputfile
.Op Fl d Ar domainname
.Op Fl m Ar mastername
.Ar inputfile
.Ar dbname
.Sh 解説
.Nm yp_mkdb
は FreeBSD の NIS サーバが使用する
.Xr db 3
スタイルのデータベースを作成します。
.Nm yp_mkdb
はデータを
.Ar inputfile
から読み取り、
そのデータを
.Ar dbname
.Xr db 3
フォーマットで書き込みます (ハッシュテーブル法を使用します)。
入力は 'key data' の形式、
すなわち空白で区切られた 2 つの
.Tn ASCII
データフィールドである必要があります。
1 番目のフィールドはキーであるとされ、他は全てデータであるとされます。
通常、データベースが格納されるのは
.Pa /var/yp/[domainname]
です。ここで、
.Ar domainname
はサーバが対象とする NIS ドメイン名です。
.Nm yp_mkdb
が起動されるのは、通常
.Pa /var/yp/Makefile
からです。
.Nm
で NIS データベースファイルをダンプし、内容検査を行えます。
セキュリティのため、
.Nm
が作成した全てのデータベースは、所有者のみ読み書き可能です
(通常所有者は root です)。
.Sh オプション
.Nm yp_mkdb
コマンドは以下のフラグとオプションをサポートしています:
.Bl -tag -width indent
.It Fl c
YPPROC_CLEAR リクエストをローカルホスト上の
.Xr ypserv 8
宛に送ることを
.Nm
に指示します。
このシグナルにより、
サーバはオープンしているデータベースデスクリプタをクローズし、
データベースキャッシュをフラッシュします。
このフラグを単体で使用した場合、
サーバにシグナルを送るだけで他には何もしません。
データベース作成コマンドとともに使用した場合には、
.Nm
は新たなデータベースが成功裏に作成された後にのみシグナルを送ります。
.It Fl b
このフラグを指定すると、キーが
.Em YP_INTERDOMAIN
でありデータフィールドが空である特別のエントリの
データベースへの追加を
.Nm
に指示します。
このキーがマップ中に存在すると、
.Xr ypserv 8
における 'マッチ' 手続きの動作が何も言わずに変わります。
(キーにマッチするレコードをサーバが見付けられなかったことにより)
マッチ問い合わせが失敗した場合、
その要求されたマップに
.Em YP_INTERDOMAIN
キーが存在する場合には、
.Xr ypserv 8
は今度はそのエントリが DNS でマッチするか検索します。
この特別な振舞は
.Em hosts
マップだけに適用されることに注意して下さい。
他のマップに
.Fl b
フラグを使用しても効果はありません。
.It Fl s
このフラグは、キーが
.Em YP_SECURE
でありデータフィールドが空である特別なエントリを
データベースに追加するために使用します。
このキーがマップ中にあると、
.Xr ypserv 8
は問い合わせのために用意されたポート以外からの
クライアントからのアクセスを拒否します。
これは主に、特権アクセスのみに制限しなければならない
.Em master.passwd
マップのために使用します。
.It Fl u Ar dbname
NIS データベースをダンプします('ほどき'ます)。
既に存在する NIS データベースの内容を検査するために使用可能です。
.It Fl i Ar inputfile
NIS マップ作成時に、キーが
.Em YP_INPUT_FILE
であり
.Ar inputfile
がエンコードされた特別なエントリをデータベース中に作成します。
.It Fl o Ar outputfile
NIS マップ作成時に、キーが
.Em YP_OUTPUT_FILE
.Ar outputfile
がエンコードされた特別なエントリをデータベース中に作成します。
.It Fl d Ar domainname
NIS マップ作成時に、キーが
.Em YP_DOMAIN_NAME
であり
.Ar domainname
がエンコードされた特別なエントリをデータベース中に作成します。
.It Fl m Ar mastername
NIS マップ作成時に、キーが
.Em YP_MASTER_NAME
であり
.Ar mastername
がエンコードされた特別なエントリをデータベース中に作成します。
データベース中のこのエントリは、
ドメイン中の NIS マスタサーバの名前を判定するために、
様々な NIS ユーティリティからしばしば使用されます。
デフォルトでは、
.Nm
はローカルホストが NIS マスタであるとします;
.Fl m
オプションをすればこのデフォルトを上書きできます。
.Sh 関連ファイル
.Bl -tag -width /var/yp/Makefile -compact
.It Pa /var/yp/Makefile
.Nm
を呼び出し NIS データベースを作成する Makefile
.Sh 関連項目
.Xr db 3 ,
.Xr ypserv 8
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja_JP.eucJP/man/man8/ypbind.8 b/ja_JP.eucJP/man/man8/ypbind.8
index 52fdda8fd2..db74f85b71 100644
--- a/ja_JP.eucJP/man/man8/ypbind.8
+++ b/ja_JP.eucJP/man/man8/ypbind.8
@@ -1,164 +1,182 @@
.\" Copyright (c) 1991, 1993, 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.
.\"
-.\" %Id: ypbind.8,v 1.5.2.3 1997/11/18 07:37:39 charnier Exp %
+.\" %Id: ypbind.8,v 1.12 1998/03/23 08:30:31 charnier Exp %
.\" jpman %Id: ypbind.8,v 1.4 1997/06/18 16:55:44 horikawa Stab %
.\"
.Dd April 9, 1995
.Dt YPBIND 8
.Os
.Sh 名称
.Nm ypbind
.Nd "NIS ドメインをバインドするデーモン"
.Sh 書式
.Nm ypbind
.Op Fl ypset
.Op Fl ypsetme
.Op Fl s
+.Op Fl m
.Op Fl S Ar domainname,server1,server2,...
.Sh 解説
.Nm
は NIS バインド情報を管理するプロセスです。
開始時にネットワークブロードキャストを行い、(
.Xr domainname 1
コマンドにより設定された) システムデフォルトドメインに対して
サービスする NIS サーバを探します。
返答を受け取ると、サーバのアドレス等の情報をファイル
.Pa /var/yp/binding
に格納します。
標準 C ライブラリ中の NIS ルーチンは、
NIS リクエストを処理する時にはこのファイルを使用します。
NIS クライアントは複数のドメインにバインドされる事がありうるため、
このようなファイルが複数ある場合があります。
.Pp
バインドされると、
.Nm
は DOMAIN_NONACK リクエストを NIS サーバ宛に 1 分置きに送ります。
リクエストに対する返答が得られない場合、
.Nm
はサーバがもう実行していないものとし、
別サーバにバインドされるまでネットワークブロードキャストを再開します。
.Nm
は、サーバが返答しなかったことを検知するたび
および新たなサーバにバインドされるたび、
警告メッセージを
.Xr syslog 3
の機能を使用して記録します。
.Sh オプション
以下のオプションが
.Nm
にてサポートされています:
.Bl -tag -width indent
.It Fl ypset
.Xr ypset 8
コマンドを使用し、
指定されたドメインの特定の NIS サーバに
.Nm
を強制的にバインドする事は可能です。
しかし
.Nm
は、正確には誰が要求しているのかを知る事が出来ないため、
YPBINDPROC_SETDOM リクエストをデフォルトでは拒否します。
.Fl ypset
フラグを使用する事により、
.Nm
にあらゆるホストからの YPBINDPROC_SETDOM リクエストを受理させられます。
任意のユーザにより NIS クライアントのバインドがリセットされてしまうという
セキュリティ上の危険がありますので、
このオプションは診断目的および短い期間のみ使用すべきです。
.It Fl ypsetme
これは
.Fl ypset
フラグに似ていますが、YPBINDPROC_SETDOM リクエストがローカルホスト発の場合のみ
処理を許すという点のみ異なります。
.It Fl s
.Nm
を安全モードで実行します:
root 以外により実行されている NIS サーバ
(つまり、特権 TCP ポートを使用していないもの)へのバインドを拒否します。
.It Fl S Ar domainname,server1,server2,server3,...
システム管理者は
.Nm
を特定のドメインおよび NIS サーバグループへロック出来ます。
10 サーバまで指定できます。
domain/server 指定においては、コンマの間には空白を入れてはなりません。
このオプションを指定する事により、
ある 1 つのドメインおよび指定されたサーバのうちの 1 つにのみに
システムがバインドされる事を保証できます。
これは NIS サーバであり NIS クライアントでもあるシステムにて有用です:
システムがバインド可能なマシンの限定を、
しばしばセキュリティホールであるとされる
.Fl ypset
.Fl ypsetme
といったオプションを指定する必要無く行えます。
指定されるサーバの有効なエントリが、ローカルの
.Pa /etc/hosts
ファイルに存在する必要があります。
ホスト名の代わりに IP アドレスを指定しても構いません。
.Nm
が引数を解釈できない場合、
.Fl S
フラグを無視し、通常の動作を行います。
.Pp
.Nm
.Fl S
フラグにより指定されるドメイン名を、システムデフォルトドメインと解釈
することに注意して下さい。
+.It Fl m
+制限されたモードのサーバリストからのサーバ選択において、
+.Nm
+にブロードキャストではなく、
+「メニーキャスト(many-cast)」を使用させます。
+メニーキャストモードでは、制限されたリストで指定されるサーバの
+YPPROC_DOMAIN_NONACK プロシジャに対して直接通信し、
+最も速く返答したサーバに対してバインドします。
+NIS サーバがローカルにない NIS クライアントにおいて、
+このモードが有用です。
+.Fl m
+フラグは上述の
+.Fl S
+フラグと組み合わせてのみ使用可能です (
+.Fl S
+フラグと組み合わせない場合には効果がありません)。
+.El
.Sh 注釈
.Nm
は 2 番目のドメインのバインドを連続して保持しようとはしません。
2 番目のドメインのサーバが ping に応答しない場合、
.Nm
はあきらめる前に一度だけ新たなサーバを探してブロードキャストします。
クライアントプログラムがバインドされていないドメインを参照しようとした場合、
.Nm
は再度ブロードキャストしようとします。
これとは対称的に、クライアントプログラムが参照していようといまいと、
.Nm
はデフォルトドメインへのバインドを自動的に保持します。
.Sh 関連ファイル
.Bl -tag -width /etc/rc.conf -compact
.It Pa /var/yp/binding/[domainname].[version]
NIS ドメインに関連したバインド情報を保持するファイル。
.It Pa /etc/rc.conf
システムデフォルトのドメインと ypbind 開始オプションを指定する
設定ファイル。
.El
.Sh 関連項目
.Xr domainname 1 ,
.Xr syslog 3 ,
.Xr yp 4 ,
.Xr ypserv 8 ,
.Xr ypset 8
.Sh 作者
.An Theo de Raadt Aq deraadt@fsa.ca
diff --git a/ja_JP.eucJP/man/man8/yppush.8 b/ja_JP.eucJP/man/man8/yppush.8
index 40cc97e6aa..115e271cb3 100644
--- a/ja_JP.eucJP/man/man8/yppush.8
+++ b/ja_JP.eucJP/man/man8/yppush.8
@@ -1,170 +1,170 @@
.\" Copyright (c) 1991, 1993, 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.
.\"
-.\" %Id: yppush.8,v 1.4.2.1 1997/11/18 07:45:16 charnier Exp %
+.\" %Id: yppush.8,v 1.8 1998/03/23 08:30:51 charnier Exp %
.\" jpman %Id: yppush.8,v 1.3 1997/09/09 04:08:40 yugawa Stab %
.\"
.Dd February 5, 1995
.Dt YPPUSH 8
.Os
.Sh 名称
.Nm yppush
.Nd "NIS データベースの更新を強制的に伝搬させる"
.Sh 書式
.Nm yppush
.Op Fl d Ar domain
.Op Fl t Ar timeout
.Op Fl j Ar #parallel jobs
.Op Fl h Ar host
.Op Fl p Ar path
.Op Fl v
.Ar mapname
.Sh 解説
.Nm yppush
は、NIS ドメインにおいて、更新した NIS データベース(もしくは
.Pa マップ )
を NIS マスタサーバから NIS スレーブサーバへ配布します。
通常、NIS マップが更新された場合に NIS マスタの
.Pa /var/yp/Makefile
からのみ起動されます。
.Pa /var/yp/Makefile
はデフォルトでは
.Nm
を起動しない事に注意して下さい:
これを変えるにはまず、Makefile 中の
.Nm NOPUSH=True
エントリをコメントアウトしなければなりません
(デフォルトの
.Bx Free
の設定は小さなネットワークに
単一の NIS サーバがある状況を想定しています; この様な設定では
.Nm
は不要です)。
.Pp
デフォルトでは、
.Nm yppush
はドメイン内のスレーブサーバ名を決定するために
.Pa ypservers
マップを検索します。
宛先ホスト(もしくはホストのリスト)は手動でコマンドラインから指定可能です。
スレーブサーバのリストが与えられると、
`マップ転送' 要求を各スレーブに送信します。
今度はスレーブが、
.Xr ypxfr 8
を使用して、NIS マスタサーバからマップのコピーを読み取ります。
コピーされるマップ名と
.Xr ypxfr 8
.Nm
に `コールバック' して転送を完遂するために必要な特別な情報とが、
各リクエストに含まれます。
コールバックにおいて
.Nm
.Xr ypxfr 8
から受け取るエラーメッセージは全て標準エラー出力に出力されます。
.Pp
.Sh オプション
以下のオプションが使用可能です:
.Bl -tag -width indent
.It Fl d Ar domain
ドメイン名を指定します。
ローカルホストの NIS ドメイン名がデフォルトで使用されます。
ローカルホストのドメイン名が設定されていない場合には、
このフラグでドメイン名を指定しなければなりません。
.It Fl t Ar timeout
タイムアウト値を秒単位で指定します。
このタイムアウトは、
.Nm
がリスト中の次のスレーブサーバ宛にマップ転送要求を送る前に
返答をどれくらい待つかを制御します。
.It Fl j Ar #parallel jobs
.Nm yppush
は通常、転送を逐次的に行います。すなわち、
マップ転送要求を一つのスレーブサーバに送り
次のスレーブサーバに取り掛かる前に返答を待つということです。
多くのスレーブがいる環境では、
同時に複数のマップ転送を開始し、転送を並列に行う方が効率が良くなります。
.Fl j
フラグにて並列処理するジョブ数を指定します:
.Nm
は指定された数の転送をすぐに開始し、返答を待ちます。
並列ジョブ数がスレーブ数より少ない場合は、
.Nm
は指定されたジョブ数の処理のみを開始し、返答を待ち、
処理が完了してから残りの処理に取り掛かります。
.Pp
.Nm
はコールバックを非同期に取り扱う事に注意して下さい。
これはどういうことかというと、
全てのマップ転送要求を送信する前であろうとも、
.Xr ypxfr 8
からコールバック情報を受け取るとすぐに、
この情報を表示する事を意味します。
.It Fl h Ar host
.Pa ypservers
マップ中のサーバのリストの代わりに、
ユーザが指定するマシンもしくはマシンのグループ宛にマップを転送できます。
複数のホストを指定するためには、複数の
.Fl h
フラグを使用します。
.It Fl p Ar path
デフォルトでは、
.Nm
は全てのローカル NIS マップは
.Pa /var/yp
以下に格納してあると期待しています。
.Fl p
フラグにて別のパスを指定することにより、
システム管理者が NIS マップを別の場所に格納する状況に対処できます。
.It Fl v
冗長モード:
.Nm
の実行時にデバッグ情報を表示させます。
このフラグを 2 回指定すると、
.Nm
はより冗長に情報を表示します。
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /var/yp/[domainname]/ypservers
ある NIS ドメインにおける全てのサーバ名を格納した NIS ypservers マップ。
.El
.Sh 関連項目
.Xr yp 4 ,
.Xr ypserv 8 ,
.Xr ypxfr 8
.Sh バグ
NIS v1 における NIS マップ転送機構は NIS v2 におけるものとは異なります。
このバージョンの
.Nm
は NIS v2 システム宛のマップ転送のみをサポートしています。
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja_JP.eucJP/man/man8/ypserv.8 b/ja_JP.eucJP/man/man8/ypserv.8
index 468bb7e702..7f63013630 100644
--- a/ja_JP.eucJP/man/man8/ypserv.8
+++ b/ja_JP.eucJP/man/man8/ypserv.8
@@ -1,422 +1,422 @@
.\" Copyright (c) 1995
.\" Bill Paul <wpaul@ctr.columbia.edu>. 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 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: ypserv.8,v 1.8.2.3 1997/11/18 07:52:07 charnier Exp %
+.\" %Id: ypserv.8,v 1.15 1998/03/23 08:31:07 charnier Exp %
.\" jpman %Id: ypserv.8,v 1.3 1997/05/19 17:11:16 horikawa Stab %
.\"
.Dd February 4, 1995
.Dt YPSERV 8
.Os
.Sh 名称
.Nm ypserv
.Nd NIS データベースサーバ
.Sh 書式
.Nm
.Op Fl n
.Op Fl d
.Op Fl p Ar path
.Sh 解説
.Tn NIS
は複数の UNIX ベースのマシン間で
共通の設定ファイルの集合を共有するための
RPC ベースのサービスです。
.Tn NIS
では、
.Pa /etc/hosts ,
.Pa /etc/passwd ,
.Pa /etc/group
といった、ほとんどの環境で頻繁に更新されるファイルの複数のコピーを
システム管理者が更新する必要は無く、
計算機のグループで一箇所で更新可能な 1 組のデータを共有することができます。
.Pp
.Nm
.Tn NIS
.Em ドメイン
内のクライアントシステムに
.Tn NIS
データベースを配布するサーバです。
.Tn NIS
ドメイン内のクライアントは
.Xr domainname 1
コマンドを使用し、
.Nm
がサービスしているドメイン名を設定しなければなりません。
また、単一
.Tn NIS
ドメイン中に複数のサーバが存在しうるため、
クライアントは、
.Xr ypbind 8
を実行させ、特定のサーバに接続する必要もあります。
.Pp
.Nm
によって配布されるデータベースは
.Pa /var/yp/[domainname]
に格納されます。
ここで
.Pa domainname
はサービスを受けるドメイン名です。
この様なディレクトリは様々なドメイン名にて複数存在可能ですが、
単一の
.Nm
デーモンにて全て処理可能です。
.Pp
データベース (もしくはしばしば
.Pa マップ
と呼ばれます)は、様々なシステムファイルをソースとして
.Pa /var/yp/Makefile
によって作成されます。
データベースファイルは
.Xr db 3
フォーマットであり、レコード数が多くとも高速に検索可能です。
.Bx Free
では、セキュリティのため、マップの読み書きは root のみ可能です。
技術的には、このような制限はパスワードマップにのみ必要ですが、
他のマップの内容は誰もが読める他のファイルに書いてありますので、
この様な制約は害ではなく、現実的であると考えられています。
.Pp
.Nm
.Pa /etc/rc.conf
にて有効にされている場合に
.Pa /etc/rc.network
から起動されます。
.Sh 特別な仕様
.Bx Free
のパスワードデータベースを
.Tn NIS
によって配布する場合にいくつかの問題があります。
.Bx Free
は通常、暗号化したパスワードを、root のみ読み書き可能な
.Pa /etc/master.passwd
にのみ格納します。
このファイルを
.Tn NIS
マップにすると、セキュリティが完全に破れてしまいます。
.Pp
これに対処するために、
.Bx Free
.Nm
.Pa master.passwd.byname
.Pa master.basswd.byuid
のマップを特別な方法で扱います。
サーバがこれら 2 つのマップへのアクセス要求を受け付けると、
要求元の TCP ポートをチェックし、ポート番号が 1023 より大きい場合には
エラーを返します。
スーパユーザのみ 1024 より小さい TCP ポートにバインドする事を許されているため、
サーバはこれを利用して特権ユーザからの要求か否かを判定できます。
非特権ユーザからの全ての要求は拒否されます。
.Pp
また、
.Bx Free
の標準 C ライブラリ中の
.Xr getpwent 3
ルーチンは、スーパユーザが使用した場合には
.Pa master.passwd.byname
.Pa master.passwd.byuid
のマップからデータを取得します。
通常のユーザがこれらのルーチンをコールした場合には、標準の
.Pa passwd.byname
.Pa passwd.byuid
のマップにアクセスします。後者の 2 つのマップは
.Pa /var/yp/Makefile
により、
.Pa master.passwd
ファイルをパースし、パスワードフィールドを削除する事により作成されますので、
非特権ユーザに渡しても安全です。
このように
.Pa master.passwd
データベースのシャドウパスワード機構は
.Tn NIS
においても守られます。
.Pp
.Sh 注釈
.Ss 制限
.Tn NIS
環境にてシャドウパスワードを使用することに起因する問題が 2 つあります。
ユーザは次のことに気をつけねばなりません。
.Pp
.Bl -enum -offset indent
.It
.Sq TCP ポートが 1024 より小さい
というテストは非常に簡単であるため、
同一ネットワーク上の、無制限のアクセスが可能なマシンを持つユーザは
これを破る事が可能です
(UNIX ベースではないオペレーティングシステムを実行するマシンでも可能です)。
.It
.Bx Free
システムを、シャドウパスワードをサポートしない非
.Bx Free
クライアント
(ほとんどがそうです) に対するサーバにしようとしている場合には、
.Pa /var/yp/Makefile
.Em UNSECURE=True
エントリのコメントを外し、
シャドウパスワードを無効にする必要があります。
これにより、
.Pa passwd.byname
.Pa passwd.byuid
のマップに、非
.Bx Free
クライアントが
.Tn NIS
を通じてユーザ認証を
行うために必要とする、
有効な暗号化されたパスワードフィールドが含まれるようになります。
.El
.Pp
.Ss セキュリティ
一般的に、リモートユーザは、ドメイン名を知ってさえいれば、RPC を
.Nm
に発行し、
.Tn NIS
マップの内容を取得可能です。
このような権限の無いトランザクションを防ぐために、
.Nm
には
.Pa securenets
と呼ばれる、あるホストの集合にのみアクセスを制限する機能があります。
起動時に、
.Nm
は securenets 情報をファイル
.Pa /var/yp/securenets
から読み込みます。
(後述するように、このパスは、
.Fl p
オプションによって指定するパスによって変化することに注意して下さい。)
このファイルは、空白によって区切られるネットワークとネットワークマスクからなる
エントリを複数含みます。
.Dq \&#
から始まる行はコメントと見なされます。
securenets ファイルの例を以下に示します:
.Bd -unfilled -offset indent
# allow connections from local host -- mandatory
127.0.0.1 255.255.255.255
# allow connections from any host
# on the 129.168.128.0 network
192.168.128.0 255.255.255.0
# allow connections from any host
# between 10.0.0.0 to 10.0.15.255
10.0.0.0 255.255.240.0
.Ed
.Pp
.Nm
がこれらのルールに適合するアドレスからの要求を受け取った場合には、
通常通り要求を処理します。
アドレスがルールに適合しない場合には、要求は無視され、警告がログされます。
.Pa /var/yp/securenets
ファイルが存在しない場合には、
.Nm
は全てのホストからの接続を許します。
.Pp
.Nm
は、Wietse Venema の
.Em tcpwrapper
パッケージをサポートしますが、
.Em tcpwrapper
パッケージは
.Bx Free
とともに配布されていないため、
デフォルトでは組み込まれていません。
しかし
.Pa libwrap.a
.Pa tcpd.h
があれば、容易に
.Nm
を再コンパイルすることができます。
これにより、アクセス管理のために、
システム管理者は tcpwrapper の設定ファイル
(
.Pa /etc/hosts.allow
.Pa /etc/hosts.deny
)
.Pa /var/yp/securenets
の代わりに使用できます。
.Pp
注: どちらのアクセス制御もそれなりのセキュリティを提供しますが、
特権ポートテストと同様に
.Dq IP 詐称 (spoofing)
攻撃には無力であることに
注意して下さい。
.Pp
.Ss NIS v1 互換性
このバージョンの
.Nm
.Tn NIS
v1 クライアントに対してある程度サービス可能です。
.Bx Free
.Tn NIS
実装は
.Tn NIS
v2 プロトコルのみを使用しますが、
他の実装では古いシステムとのバックワードコンパチビリティのために
v1 プロトコルもサポートしています。
そのようなシステムで提供されている
.Xr ypbind 8
デーモンは、実際にはおそらく不要なのですが、
.Tn NIS
v1 サーバにバインドしようとします。
(そして、v2 サーバから返答を受け取ったとしてもサーバを探すために
ブロードキャストし続けます。)
このバージョンの
.Nm
では通常のクライアントの呼び出しはサポートされていますが、
v1 マップ転送要求は扱いません。
すなわち、古い
.Tn NIS
サーバとともに、マスタもしくはスレーブとして使用することはできません。
好運なことに、今日ではこの様なサーバは存在しないでしょう。
.Ss NIS クライアントでもある NIS サーバ
複数のサーバが存在するドメインにおいて、
サーバが
.Tn NIS
クライアントでもある場合には、
.Nm
の実行に注意を払う必要があります。
バインド要求をブロードキャストさせてサーバ間でバインドさせるのではなく、
サーバを自分自身にバインドすることは一般的には良い考えです。
あるサーバがダウンし、他のサーバがそのサーバに依存していた場合には、
奇妙な障害が生じ得ます。(結果として全てのクライアントがタイムアウトし、
他のサーバにバインドしようとしますが、遅延は無視できず、
サーバはまだ互いにバインドしようとしますので、障害は残ります。)
.Pp
特定のサーバに強制的にバインドさせるための詳細は
.Xr ypbind 8
マニュアルページを参照して下さい。
.Sh オプション
以下のオプションが
.Nm
にてサポートされています。
.Bl -tag -width flag
.It Fl n
このオプションは
.Nm
.Pa hosts.byname
.Pa hosts.byaddress
のマップに対する yp_match 要求を扱う方法を操作します。
デフォルトでは、
.Nm
が与えられたホストのエントリをホストマップ中に見付けられなかった場合には、
エラーを返しそれ以上の処理を行いません。
.Fl n
フラグを指定すると、
.Nm
はさらなる処理を行います。
すぐにあきらめずに、ホスト名もしくはアドレスを DNS ネームサーバに問い合わせて
解決しようとします。
問い合わせが成功すると、
.Nm
は偽のデータベースレコードを作成し、それをクライアントに返しますので、
クライアントの yp_match 要求は成功したように見えます。
.Pp
この仕様は SunOS 4.1.x との互換性のために用意されています。
そのシステムの標準 C ライブラリではリゾルバが腐っており、
ホスト名とアドレスの解決のために
.Tn NIS
に依存していました。
.Bx Free
のリゾルバは DNS への問い合わせを直接行えますので、
.Bx Free
である
.Tn NIS
クライアントに対してのみサービスする場合は、
このオプションを有効にする必要はありません。
.It Fl d
サーバをデバッグモードで実行します。
通常
.Nm
は異常時のエラー (アクセス違反、ファイルアクセス失敗) のみを
.Xr syslog 3
機能を使用して報告します。
デバッグモードでは、サーバは自身をバックグラウンドでは実行せず、
リクエストを受けるたびに、
状態を表す追加のメッセージを標準エラー出力に表示します。
また、デバッグモードで実行している間は、通常とは異なり、
yp_all 要求処理時や DNS 検索処理時に
.Nm ypserv
サブプロセスを生成しません。
(これらの処理は多くの場合完了までに時間がかかるために
サブプロセスにより処理され、
親であるサーバは別の要求を処理できるようになっています。)
これによりデバッグツールによるサーバのトレースが容易になります。
.It Fl p Ar path
通常
.Nm
.Tn NIS
マップは
.Pa /var/yp
以下にあるものと想定します。
.Fl p
フラグを使用し、別の
.Tn NIS
ルートパスを指定できますので、
システム管理者はファイルシステム中の別の場所にマップファイルを移動できます。
.El
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /var/yp/[domainname]/[maps]
.Tn NIS
マップ
.It Pa /etc/host.conf
リゾルバ設定ファイル
.It Pa /var/yp/securenets
ホストアクセス制御ファイル
.El
.Sh 関連項目
.Xr ypcat 1 ,
.Xr db 3 ,
.Xr yp 4 ,
.Xr ypbind 8 ,
.Xr yppasswdd 8 ,
.Xr yppush 8 ,
.Xr ypxfr 8
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
.Sh 歴史
このバージョンの
.Nm
が最初に登場したのは
.Fx 2.2
です。
diff --git a/ja_JP.eucJP/man/man8/ypset.8 b/ja_JP.eucJP/man/man8/ypset.8
index 25be2a654e..29eb480d0a 100644
--- a/ja_JP.eucJP/man/man8/ypset.8
+++ b/ja_JP.eucJP/man/man8/ypset.8
@@ -1,89 +1,89 @@
.\"
.\" Copyright (c) 1994 Jason R. Thorpe
.\" 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 Jason Thorpe.
.\" 4. Neither the name of the author 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 AUTHOR ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: ypset.8,v 1.1.2.2 1997/11/18 07:54:08 charnier Exp %
+.\" %Id: ypset.8,v 1.6 1998/03/23 08:31:20 charnier Exp %
.\" jpman %Id: ypset.8,v 1.2 1997/04/06 14:59:23 horikawa Stab %
.\"
.Dd October 25, 1994
.Dt YPSET 8
.Os
.Sh 名称
.Nm ypset
.Nd
.Xr ypbind 8
に使用すべき YP サーバを指示する
.Sh 書式
.Nm ypset
.Op Fl h Ar host
.Op Fl d Ar domain
.Ar server
.Sh 解説
.Nm ypset
は、同一マシン上の
.Xr ypbind 8
プロセスに、通信すべき YP サーバプロセスを指示します。
もし
.Ar server
がダウンしていたり YP サーバプロセスが動作していない場合、
YP クライアントプロセスが
YP マップにアクセスしようと試みるまでは検知されません。
YP マップをアクセスしようとした時に、
.Xr ypbind 8
はバインドをテストして適切な処理を行います。
.Pp
.Nm ypset
は、最も近い YP サーバともブロードキャストネットワークが異なる
YP クライアントをバインドする場合に最も有用ですが、
ローカルなネットワークの YP の構成をデバッグする場合、
特定の YP クライアントのプログラムをテストする場合、
ローカルネットワークに存在する複数の YP サーバの中から
特定のサーバにバインドする場合にも使用できます。
.Pp
オプションは以下の通りです:
.Bl -tag -width flag
.It Fl h Ar host
ローカルマシンではなく、指定したホスト
.Ar host
にバインドします。
.It Fl d Ar domain
.Xr domainname 1
が返すデフォルトドメインではなく、指定した YP ドメイン
.Ar domain
を使用します。
.El
.Sh 関連項目
.Xr domainname 1 ,
.Xr yp 8
.Xr ypcat 1 ,
.Xr ypmatch 1 ,
.Xr ypbind 8 ,
.Sh 作者
.An Theo De Raadt
diff --git a/ja_JP.eucJP/man/man8/ypxfr.8 b/ja_JP.eucJP/man/man8/ypxfr.8
index 6850761ecb..8fdd3d13d3 100644
--- a/ja_JP.eucJP/man/man8/ypxfr.8
+++ b/ja_JP.eucJP/man/man8/ypxfr.8
@@ -1,295 +1,295 @@
.\" Copyright (c) 1995
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" %Id: ypxfr.8,v 1.3.2.2 1998/07/19 06:53:05 jkh Exp %
+.\" %Id: ypxfr.8,v 1.8 1998/03/19 07:37:43 charnier Exp %
.\" jpman %Id: ypxfr.8,v 1.3 1997/09/09 04:09:30 yugawa Stab %
.\"
.Dd February 5, 1995
.Dt YPXFR 8
.Os
.Sh 名称
.Nm ypxfr
.Nd "リモートのサーバからローカルホストへ NIS データベースを転送する"
.Sh 書式
.Nm /usr/libexec/ypxfr
.Op Fl f
.Op Fl c
.Op Fl d Ar target domain
.Op Fl h Ar source host
.Op Fl s Ar source domain
.Op Fl p Ar path
.Op Fl C Ar taskid program-number ipaddr port
.Ar mapname
.Sh 解説
.Nm ypxfr
.Tn NIS
データベース(または
.Pa マップ )
.Tn NIS
サービスを使用し、ある
.Tn NIS
サーバから別のサーバにコピーします。
.Bx Free
では一般に、
.Nm
.Xr yppush 8
からマップ転送要求を受け取った
.Xr ypserv 8
から
起動されます。
基本的に、
.Nm
を使用するのは、単一ドメイン内で複数の
.Tn NIS
サーバが使用される環境です。
一台のサーバ(
.Tn NIS
マスタ)は全ての
.Tn NIS
マップの基準となるコピーを管理します。
その他のサーバ(
.Tn NIS
スレーブ)は、マップに更新があったとき (例えば、ユーザが
.Xr yppasswd 1
を用いてパスワードを更新したとき)に、
新しいバージョンのマップをマスタからコピーします。
.Pp
実行時、
.Nm
は一時データベースファイルを
.Pa /var/yp/[domainmame]
に作成し、
指定された
.Ar source host
により提供される
.Ar mapname
の内容で埋めます。
マップ全体の転送が完了すると、
.Nm
.Ar mapname
の古いコピーを消去し、代わりに一時ファイルを置きます。
転送完了時に、
.Nm
は `現在のマップのクリア' 要求を、
ローカルの
.Xr ypserv 8
プロセス宛に送信し、
古いマップを参照している場合にはクリアさせようとします。
.Pp
.Nm
が作成した全てのファイルが所有者のみ読み書き可能なのは、
セキュリティのためである事に注意して下さい。
.Tn NIS
マップとそれを格納するディレクトリは通常 root が所有しますので、
非特権ユーザによる権限の無い変更を防ぎます。
.Pp
全ての
.Tn NIS
サーバ間で一貫性を保持するために
.Nm
.Xr cron 8
ジョブとして定期的に実行する事が出来ます。
ほとんど変更されないマップは 1 日 1 度
(システム使用率が一番低い深夜が望ましいでしょう)更新すれば良いですが、
頻繁に変更されるマップ(例えば
.Pa passwd.byname
.Pa passwd.byuid )
はおそらく 1 時間に 1 度更新すべきでしょう。
.Xr cron 8
を使用し NIS マップを自動的に更新する事は厳密には必須ではありません。
なぜなら、全ての更新は
.Tn NIS
マスタサーバ上で
.Pa /var/yp/Makefile
が実行された時に
.Xr yppush 8
にて伝搬されているはずだからです。
ただし、通信不能となって
.Tn NIS
サーバ間で同期が取れなくなる事があるような
大きなネットワークでは、良い実現方式です。
.Pp
.Nm
が制御端末無しで起動された場合、例えば
.Xr ypserv 8
内部から起動された場合には、
.Xr syslog 3
機構を使用して、全ての出力のログを取ります。
.Sh 注釈
.Bx Free
バージョンの
.Nm
.Bx Free
.Xr rpc.ypxfrd 8
サーバと連動する特別なマップ転送プロトコルをサポートします。
このプロトコルは、
生のマップデータベースファイルを
.Tn NIS
マスタサーバから転送する事を許しますので、
特に大きな
.Tn NIS
マップの場合は、標準の転送方法よりも数倍高速です。
.Nm
コマンドは
.Tn NIS
マスタサーバ上に
.Xr rpc.ypxfrd 8
が登録されているかをチェックし、存在する場合にはこれを使用しようとします。
存在しない場合には、標準プロトコルを使用し、
.Xr ypserv 8
からマップの内容をコピーし、新たなマップを作成します。
.Pp
概念的には
.Bx Free
の ypxfrd プロトコルは
SunOS の ypxfrd プロトコルと同じですが、
.Bx Free
のプロトコルは SunOS のプロトコルとは互換ではないため、
Sun の ypxfrd サーバとともに使用する事は出来ない事に注意して下さい。
FreeBSD のスレーブは
.Bx 非 Free
.Tn NIS
サーバから
マップを転送する事が出来ますが、
高速プロトコルを使用できるのは、マスタサーバも
.Bx Free
の場合だけです。
.Sh オプション
.Nm
がサポートするオプションは以下の通りです:
.Bl -tag -width indent
.It Fl f
マップ転送を強制します。通常、
.Tn NIS
マスタ上のコピーがローカルホスト上にあるコピーよりも新しくない場合には、
.Nm
はマップを転送しません:
.Fl f
フラグにより、サーバ上のバージョンが新しいか否かにかにかかわらず、
転送します。
.It Fl c
ローカルホスト上で実行されている
.Xr ypserv 8
プロセス宛に `現在のマップのクリア' 要求を送信しません。
このフラグは通常
.Xr ypserv 8
を実行していないマシン上で
.Nm
を手動で起動する時に使用します。
このフラグを指定しないと、ローカルの
.Tn NIS
サーバと通信できないために、
.Nm
は転送を中止します。
.It Fl d Ar target domain
現在の
.Tn NIS
ドメインではない別のドメイン名を指定します。
.It Fl h Ar source host
.Tn NIS
マップのコピー元のホスト名を指定します。
このオプションにより
.Nm
.Tn NIS
マスタサーバからのみマップをコピーする事を保証できます。
.It Fl s Ar source domain
マップの転送元のドメインを指定します。
これは 2 つの
.Tn NIS
ドメイン間で転送を行う時に有用です。
.It Fl p Ar path
.Tn NIS
マップを保持する最上位ディレクトリを指定します。
デフォルトではこのパスは
.Pa /var/yp
です。
.Fl p
フラグにより別のパスを指定し、
.Tn NIS
マップを別の場所に格納する場合に対処できます。
.Tn NIS
サーバ
.Xr ypserv 8
が別のパスを使用するように指示された場合にも、このフラグを
.Nm
に渡します。
.It Fl C Ar taskid program-number ipaddr port
.Xr yppush 8
によるマップ転送要求への応答として、
.Nm
.Xr ypserv 8
から起動された場合にのみ、このオプションは使用されます。
この場合、
.Nm
.Xr yppush 8
を `コールバック' して通信する必要がありますので、
.Xr yppush 8
は IP アドレス
.Ar ipaddr
、ポート番号
.Ar port
、登録プログラム番号(registered program number)
.Ar program-number
、トランザクション ID
.Ar taskid
を渡し、
マスタサーバ上で待っている
.Xr yppush 8
プロセスと通信出来るようにします。
.It Ar mapname
転送するマップを指定します。
.El
.Sh 関連ファイル
.Bl -tag -width Pa -compact
.It Pa /var/yp/[domainname]/[maps]
ある
.Tn NIS
ドメインの
.Tn NIS
マップ。
.El
.Sh 関連項目
.Xr yp 4 ,
.Xr ypserv 8 ,
.Xr yppush 8
.Sh 作者
.An Bill Paul Aq wpaul@ctr.columbia.edu
diff --git a/ja_JP.eucJP/man/man8/zdump.8 b/ja_JP.eucJP/man/man8/zdump.8
index e6de1b3291..144770eb77 100644
--- a/ja_JP.eucJP/man/man8/zdump.8
+++ b/ja_JP.eucJP/man/man8/zdump.8
@@ -1,44 +1,44 @@
.\"
.\" @(#)zdump.8 7.3
-.\" %Id: zdump.8,v 1.4.2.1 1998/03/09 14:14:30 jkh Exp %
+.\" %Id: zdump.8,v 1.5 1998/02/04 07:30:11 charnier Exp %
.\" jpman %Id: zdump.8,v 1.3 1997/08/30 18:39:05 take-i Stab %
.\"
.Dd September 13, 1994
.Dt ZDUMP 8
.Os
.Sh 名称
.Nm zdump
.Nd タイムゾーンをダンプする
.Sh 書式
.Nm zdump
.Op Fl v
.Op Fl c Ar cutoffyear
.Op Ar zonename ...
.Sh 解説
.Nm
は、コマンドラインの
.Ar zonename
で指定された各タイムゾーンを用いて現在時刻を表示します。
.Pp
以下のオプションが利用可能です:
.Bl -tag -width indent
.It Fl v
コマンドラインの各
.Ar zonename
に対し、表現可能な最も古い時刻、
その最も古い時刻から 1 日後の時刻、
検知された時間の不連続点の 1 秒前および不連続点そのものの時刻、
表現可能な最も先の時刻の 1 日前の時刻、
および表現可能な最も先の時刻そのもの
を表示します。
各時刻は、それが夏時間 (Daylight Saving Time) であれば
.Em isdst=1
、そうでなければ
.Em isdst=0
と行末にしるして表示されます。
.It Fl c Ar cutoffyear
指定した年の最初に近い余分な出力をなくします。
.Sh "関連項目"
.Xr ctime 3 ,
.Xr tzfile 5 ,
.Xr zic 8
diff --git a/ja_JP.eucJP/man/man8/zic.8 b/ja_JP.eucJP/man/man8/zic.8
index 6649a8cbfe..2a87a10c4d 100644
--- a/ja_JP.eucJP/man/man8/zic.8
+++ b/ja_JP.eucJP/man/man8/zic.8
@@ -1,371 +1,371 @@
.\" jpman %Id: zic.8,v 1.2 1997/06/16 08:24:17 yugawa Stab %
.Dd
.Dt ZIC 8
.Os
.Sh 名称
.Nm zic
.Nd タイムゾーンコンパイラ
.Sh 書式
.Nm zic
.Op Fl v
.Op Fl d Ar directory
.Op Fl l Ar localtime
.Op Fl p Ar posixrules
.Op Fl L Ar leapsecondfilename
.Op Fl s
.Op Fl y Ar command
.Op Ar filename ...
.Sh 解説
.Nm zic
はコマンド行で指定されたファイルを読み取り、その内容に従って
時刻変換情報のファイルを作成します。
.Ar filename
.Em -
だった場合、標準入力から読み込みます。
.Pp
以下のオプションがあります:
.Bl -tag -width indent
.It Fl d Ar directory
下記の標準ディレクトリではなく、指定されたディレクトリに時刻変換情報
ファイルを作成します。
.It Fl l Ar timezone
指定された
.Ar タイムゾーン
をローカルの時刻に使用します。
.Nm zic
は、以下のリンク行が入力ファイルにあった場合と同様に働きます。
.sp
.ti +.5i
Link \fItimezone\fP localtime
.It Fl p Ar timezone
POSIX 形式のタイムゾーンの環境変数を扱う場合に、指定されたタイムゾーンの
ルールを使用します。
.Nm
は、以下のリンク行が入力ファイルにあった場合と同様に働きます。
.sp
.ti +.5i
Link \fItimezone\fP posixrules
.It Fl L Ar leapsecondfilename
指定された名前のファイルからうるう秒の情報を読み込みます。
このオプションが指定されなかった場合、
出力ファイルにはうるう秒の情報は記録されません。
.It Fl v
データファイル中の年が
.Xr time 2
で表現できる年の範囲を超えていた場合、警告します。
.It Fl s
出力ファイルに記録される時刻の値を、それが符号付きと扱われるか符号なしと
扱われるかに関係なく同じ値になるように制限します。
このオプションを使用することで SVVS と互換のファイルを生成できます。
.It Fl y Ar command
年のタイプをチェックする際に、
.Em yearistype
の代わりに指定された
.Ar command
を用います(下記参照)。
.El
.Pp
入力の各行はフィールドから構成されます。
各フィールドは任意の数の空白文字により分離されます。先行する空白や、
行末の空白は無視されます。引用符で囲まれていない井桁文字 (#) から
その行の末尾まではコメントとして扱われます。
空白文字や井桁文字をフィールドの一部として使用する場合は、二重引用符
(") で囲みます。
(コメントを取り除いた後の)空白行は無視されます。
空白ではない行は、ルール行、ゾーン行、リンク行の 3 種類のいずれか
であるとみなされます。
.Pp
ルール行は、
.nf
.ti +.5i
.ta \w'Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'TYPE\0\0'u +\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u
.sp
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
.sp
と言う形式です。例えば、
.ti +.5i
.sp
Rule US 1967 1973 \- Apr lastSun 2:00 1:00 D
.sp
.fi
となります。ルール行を構成するフィールドは以下の通りです:
.Bl -tag -width indent
.It NAME
このルールが属するルールの(任意の)名前を指定します。
.It FROM
ルールが適用される最初の年を指定します。
如何なる整数の年も指定できます。グレゴリオ歴を仮定しています。
単語
.Em minimum
(あるいはその短縮形)は、整数で表せる最小の年を示します。
単語
.Em maximum
(あるいはその短縮形)は、整数で表せる最大の年を示します。
ルールは、時刻の値として表す事ができない時刻を定義します。
表す事ができない時刻は無視されます。これにより、時刻の値のタイプが
異なるホスト間でルールを共用する事ができます。
.It TO
ルールが適用される最後の年を指定します。
.Em minimum
.Em maximum
(上記)に加え、
単語
.Em only
(あるいはその短縮形)
を、
.Em FROM
フィールドの値を指すものとして使用することができます。
.It TYPE
ルールが適用される年のタイプを指定します。
.Em TYPE
.Em \-
だった場合、ルールは、
.Em FROM
から
.Em TO
までのその年を含む全ての年に適用されます。
.Em TYPE
がそれ以外だった場合、
.Nm
は、コマンド
.ti +.5i
\fByearistype\fP \fIyear\fP \fItype\fP
.br
を実行して、年のタイプをチェックします。実行したコマンドの
終了ステータスが 0 だった場合は、その年が指定されたタイプであり、
終了ステータスが 1 だった場合は、その年が指定されたタイプではないと
判断します。
.It IN
ルールが適用される月の名前を指定します。
月名は短縮形でも構いません。
.It ON
ルールが適用される日を指定します。
指定できる形式は以下の通りです:
.nf
.in +.5i
.sp
.ta \w'Sun<=25\0\0'u
5 その月の 5 日
lastSun その月の最後の日曜日
lastMon その月の最後の月曜日
Sun>=8 8 日以降の最初の日曜日
Sun<=25 25 日以前の最後の日曜日
.fi
.in -.5i
.sp
曜日は短縮形でも、フルスペルでも構いません。注意:
.Em ON
フィールド内にスペースを含んではいけません。
.It AT
ルールが適用される時刻を指定します。
指定できる形式は以下の通りです:
.nf
.in +.5i
.sp
.ta \w'1:28:13\0\0'u
2 時
2:00 時と分
15:00 24 時間形式の時刻 (正午以降について)
1:28:14 時、分、秒
.fi
.in -.5i
.sp
これらの形式の最後に
.Em w
をつけると、指定した時刻がローカルの
-.Sq "ウォールクロック"
+.Dq "ウォールクロック"
(夏時間の適用される地域で、ローカルの標準時に、
夏時間の期間であればその修正を加えた時刻)
.\" 上記の()内の記述は、wall clock では、特に日本人には
.\" 理解しづらいので追加した。
.\" 2.2.2-RELEASE 対象
.\" By yugawa@orleans.rim.or.jp (Jun 16 1997)
であり、
.Em s
をつけると、指定した時刻がローカルの
-.Sq 標準時
+.Dq 標準時
であり、
.Em u
(あるいは
.Em g
ないし
.Em z )
をつけると、指定した時刻が世界標準時であることを示します。
これらの文字を指定していない場合は、ウォールクロックが適用されます。
.It SAVE
ルールが有効な場合にローカルの標準時に加えられる量を指定します。
このフィールドの形式は
.Em AT
フィールドと同じです
(この場合は、末尾に
.Em w
.Em s
を指定する事はできません)。
.It LETTER/S
ルールが有効な場合にタイムゾーンの短縮形に用いられる
-.Sq "変化部分"
+.Dq "変化部分"
(例えば、
-.Sq EST
+.Dq EST
-.Sq EDT
+.Dq EDT
-.Sq S
+.Dq S
-.Sq D
+.Dq D
)
を指定します。
このフィールドが
.Em \-
だった場合、変化部分はヌル (NULL) になります。
.El
.Pp
ゾーン行は、
.sp
.nf
.ti +.5i
.ta \w'Zone\0\0'u +\w'Australia/Adelaide\0\0'u +\w'GMTOFF\0\0'u +\w'RULES/SAVE\0\0'u +\w'FORMAT\0\0'u
Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
.sp
と言う形式です。例えば、
.sp
.ti +.5i
Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00
.sp
.fi
となります。ゾーン行を構成するフィールドは以下の通りです:
.Bl -tag -width indent
.It NAME
タイムゾーンの名称です。
そのゾーンに対する時刻変換情報ファイルを作成する時の名前になります。
.It GMTOFF
そのゾーンの標準時を得る時に GMT に加算される量です。
このフィールドの形式は、ルール行の
.Em AT
および
.Em SAVE
フィールドと同じです。
GMT から時刻を引く場合は、フィールドの最初にマイナスをつけます。
.It RULES/SAVE
そのタイムゾーンに適用されるルールの名前、あるいは、ローカルの標準時に
加算される量を指定します。
このフィールドが
.Em \-
だった場合、そのタイムゾーンには常に標準時が適用されます。
.It FORMAT
そのタイムゾーンで使用されるタイムゾーンの短縮形の形式を指定します。
文字列
.Em %s
は、タイムゾーンの短縮形で用いられる
-.Sq "変化部分"
+.Dq "変化部分"
を示します。
一方、
スラッシュ (/)
で標準時の短縮形と夏時間の短縮形を指定する事もできます。
.It UNTIL
その場所で GMT との差あるいはルールが変化する時刻を指定します。
年、月、日、時刻を用いて指定できます。
このフィールドが指定された場合、その時刻になるまでは与えられた GMT との差
およびルールからタイムゾーンの情報が生成されます。
.Pp
この次の行は
-.Sq 継続
+.Dq 継続
行でなくてはなりません。この行は最初の
-.Sq Zone
+.Dq Zone
と NAME フィールドがない点を除いてはゾーン行と同一の形式で、その前の行の
.Em UNTIL
フィールドで指定した時刻以降の情報を指定します。
この継続行にも
.Em UNTIL
フィールドを指定する事ができ、その場合は、次の行に
その時刻以降の情報を指定します。
.El
.Pp
リンク行は、
.sp
.nf
.ti +.5i
.ta \w'Link\0\0'u +\w'Europe/Istanbul\0\0'u
Link LINK-FROM LINK-TO
.sp
と言う形式です。例えば、
.sp
.ti +.5i
Link Europe/Istanbul Asia/Istanbul
.sp
.fi
となります。
.Em LINK-FROM
フィールドは、存在するゾーン行の
.Em NAME
フィールドのいずれかと一致していなければなりません。
.Em LINK-TO
フィールドはそのゾーンに対する別名として使用されます。
.Pp
継続行以外は、入力中での行の順番に制限はありません。
.Pp
うるう秒の定義ファイルの各行は以下のような形式になります:
.nf
.ti +.5i
.ta \w'Leap\0\0'u +\w'YEAR\0\0'u +\w'MONTH\0\0'u +\w'DAY\0\0'u +\w'HH:MM:SS\0\0'u +\w'CORR\0\0'u
.sp
Leap YEAR MONTH DAY HH:MM:SS CORR R/S
.sp
例えば、
.ti +.5i
.sp
Leap 1974 Dec 31 23:59:60 + S
.sp
.fi
となります。
.Em YEAR ,
.Em MONTH ,
.Em DAY ,
.Em HH:MM:SS
フィールドは、うるう秒が起きる時刻を指定します。
.Em CORR
フィールドは、
秒が加えられる場合は
-.Sq +
+.Dq +
で、秒がスキップされる場合は
-.Sq -
+.Dq -
となります。
.\" There's no need to document the following, since it's impossible for more
.\" than one leap second to be inserted or deleted at a time.
.\" The C Standard is in error in suggesting the possibility.
.\" See Terry J Quinn, The BIPM and the accurate measure of time,
.\" Proc IEEE 79, 7 (July 1991), 894-905.
.\" or
.\" .q ++
.\" if two seconds were added
.\" or
.\" .q --
.\" if two seconds were skipped.
.Em R/S
フィールドは
他のフィールドで与えられるうるう秒の時刻が GMT である場合は、
-.Sq Stationary
+.Dq Stationary
(またはその短縮形)で、
他のフィールドで与えられるうるう秒の時刻がローカルのウォールクロックである
場合は、
-.Sq Rolling
+.Dq Rolling
(またはその短縮形)となります。
.Sh 注釈
ローカル時刻が複数のタイプとなる地域では、
作成されたファイルの最初の変化時刻を正しく設定するためには、
最初の変化時刻のルールの
.Em AT
フィールドでローカルの標準時を使用する必要があります。
.Sh 関連ファイル
.Bl -tag -width /usr/share/zoneinfo -compact
/usr/share/zoneinfo 作成されたファイルが置かれる標準ディレクトリ
.El
.Sh 関連項目
.Sh "SEE ALSO"
.Xr ctime 3 ,
.Xr tzfile 5 ,
.Xr zdump 8
.\" @(#)zic.8 7.12

File Metadata

Mime Type
application/octet-stream
Expires
Thu, Jun 6, 11:32 AM (2 d)
Storage Engine
chunks
Storage Format
Chunks
Storage Handle
qki8ve6NA65i
Default Alt Text
(7 MB)

Event Timeline