diff --git a/ja_JP.eucJP/man/man1/cvs.1 b/ja_JP.eucJP/man/man1/cvs.1 index 14193e6f7f..582aef2bb9 100644 --- a/ja_JP.eucJP/man/man1/cvs.1 +++ b/ja_JP.eucJP/man/man1/cvs.1 @@ -1,2172 +1,2179 @@ -.\" %FreeBSD: src/contrib/cvs/man/cvs.1,v 1.19 2002/09/02 05:57:13 peter Exp % +.\" %FreeBSD: src/contrib/cvs/man/cvs.1,v 1.20 2003/11/13 17:57:53 obrien Exp % .\" $FreeBSD$ .de Id .ds Rv \\$3 .ds Dt \\$4 .. .TH CVS 1 "\*(Dt" .\" Full space in nroff; half space in troff .de SP .if n .sp .if t .sp .5 .. .\" quoted command .de ` .RB ` "\|\\$1\|" '\\$2 .. .SH "名称" cvs \- コンカレントバージョンシステム .SH "注記" このマニュアルページは .B cvs の機能のまとめですが、最新ではないかもしれません。 より新規で詳細な文書に関しては ( .B info cvs コマンドか、無い場合にはこのマニュアルページの関連項目の節に記述してあるように) Cederqvist 著のマニュアルを参照して下さい。 .SH "書式" .TP \fBcvs\fP [ \fIcvs_options\fP ] .I cvs_command [ .I command_options ] [ .I command_args ] .SH "解説" .IX "revision control system" "\fLcvs\fR" .IX cvs "" "\fLcvs\fP \- concurrent versions system" .IX "concurrent versions system \- \fLcvs\fP" .IX "release control system" "cvs command" "" "\fLcvs\fP \- concurrent versions system" .IX "source control system" "cvs command" "" "\fLcvs\fP \- concurrent versions system" .IX revisions "cvs command" "" "\fLcvs\fP \- source control" CVS はバージョン制御システムであり、RCS や SCCS のように、 ファイル (通常はソースコード) の古いバージョンの保持と 誰が何時何故変更を施したかなどの記録の保持を可能にします。 同様のシステムとは異なり、 CVS は一時に 1 ファイルや 1 ディレクトリのみを操作対象とするのではなく、 バージョン管理されたファイルを持つディレクトリ集合からなる階層を 操作対象とします。 CVS は、リリース管理を助け、 また複数の作者による並行的なソースファイル編集を助けます。 CVS は、 様々な操作を有効にしたり記録したり制御したりするためにトリガを使用可能であり、 広域ネットワークでうまく動作します。 .SP .B cvs はマスタソースの単一のコピーを保持します。 このコピーはソースの``リポジトリ''と呼ばれます。 これは、以前の ソフトウェアリリースをいつでもシンボリックなリビジョンタグか、 または過去の日付のいずれかに基づいて取り出せるようにするための 全ての情報を含みます。 .SH "不可欠なコマンド" .B cvs はバラエティに富んだコマンドを提供します (書式説明における \fIcvs_command\fP)。 また分散環境での多様なソース管理要求を満たすために、 これらのコマンドの多くにはいくつものオプションが用意されています。 しかしながら、 .BR cvs で便利に仕事をするためにそれぞれの細部に渡ってマスタする 必要はありません。 実際、ソースリポジトリを使う (そしてそれに貢献する) には 5 つの コマンドで充分です。 .TP \fBcvs checkout\fP \fImodules\fP\|.\|.\|. 大部分の \fBcvs\fP での作業のために必要な準備: \fImodules\fP (名前をつけたソースの集合。 ここにはソースリポジトリへの相対パスを 使うこともできます) のソースの私的なコピーを作成します。 他人の作業に邪魔されることなく このコピーで作業することができます。 少なくとも 1 レベルのサブディレクトリが必ず作成されます。 .TP .B cvs update 他の開発者がリポジトリのソースに行った変更を あなたのコピーに 取り込みたいと思ったときに、あなたの私的なソースのディレクトリの \fI中で\fP このコマンドを実行して下さい。 .TP \fBcvs add\fP \fIfile\fP\|.\|.\|. あなたの作業ディレクトリの \fBcvs\fP のレコードに新しいファイルを 載せるには、このコマンドを使います。そのファイルは次にあなたが .` "cvs commit" を実行した時にリポジトリに追加されます。 注意: 新しいソースをソースリポジトリに登録するには .` "cvs import" コマンドを使って下さい。 .` "cvs add" はすでにチェックアウトされているモジュールに新しいファイルを 追加するときにのみ使います。 .TP \fBcvs remove\fP \fIfile\fP\|.\|.\|. (指定するファイルを消した後に) リポジトリからファイルを 消したいことを宣言する場合に、このコマンドを使います。 .` "cvs commit" を実行するまで削除は他へは影響しません。 .TP \fBcvs commit\fP \fIfile\fP\|.\|.\|. あなたの変更をソースリポジトリに取り込むことで、他の開発者へ 変更結果を ``公開'' したいときに、このコマンドを使います。 .SH "オプション" .B cvs のコマンドラインには .IR cvs_options を含めることができ、 これは .B cvs プログラム全体に適用されます。 ひとつの .IR cvs_command がソースリポジトリへの特定の動作を 指定します。 そして .I cvs_command の動作を完全に指定するために .I command_options と .I command_arguments とを含めることができます。 .SP .I 警告: .IR cvs_command とオプションの相対的な位置関係に正確さを 期さなければなりません。 なぜなら同じオプションが .I cvs_options の位置 ( .B cvs コマンドの左側) と .I command_options の位置 ( .B cvs コマンドの右側) のいずれに置かれるかで異なる意味を持つ可能性が あるためです。 .SP .IR cvs_command を省略できる状況が 2 つだけあります: .` "cvs \-H" または .` "cvs --help" は利用可能なコマンドの一覧を引き出します、そして .` "cvs \-v" または .` "cvs --version" は \fBcvs\fP それ自身のバージョン情報を表示します。 .SP .SH "CVS OPTIONS" リリース 1.6 現在、 .B cvs は、短いオプションと共に .SM GNU スタイルの長いオプションもサポートします。 現在はまだ 2, 3 の長いオプションしかサポートされておらず、 それらは同じ意味を持つ短いオプションの後ろにかぎ括弧で囲んで 示されています。 .SP 以下のオプションは .B cvs プログラムの全体的な制御に使います: .TP .B \-H [ --help ] 指定された .I cvs_command の用法を表示します (が、コマンドの実行は行いません)。コマンド名を 指定しないと .` "cvs \-H" は利用可能な全コマンドの要約を表示します。 .TP .B \-Q はコマンドを .I 真に 寡黙にします。コマンドは深刻な問題についてのみ出力を行います。 .TP .B \-q はコマンドをいくぶん静かにします。サブディレクトリを再帰的に 移動する際の報告のような通知的なメッセージが抑制されます。 .TP \fB\-b\fP \fIbindir\fP .SM RCS プログラムが置かれているディレクトリとして .I bindir を使います (CVS 1.9 およびそれ以前)。 環境変数 .SM RCSBIN の設定より優先されます。 これは絶対パス名で指定しなければなりません。 .TP \fB\-d\fP \fICVS_root_directory\fP マスタとなる ソースリポジトリのルートディレクトリへのパス名として .I CVS_root_directory を使います。 環境変数 .SM CVSROOT の設定より優先されます。 これは絶対パスで指定しなければなりません。 .TP \fB\-e\fP \fIeditor\fP ログ情報の入力においてエディタとして .I editor を使います。 環境変数 .SM CVSEDITOR\c , .SM VISUAL\c , .SM EDITOR の設定より優先されます。 .TP .B \-f .B cvs スタートアップファイル (\fI~/.cvsrc\fP) を読み込みません。 .TP .B \-l コマンドヒストリに .I cvs_command のログを取りません (しかし実行はします)。コマンドヒストリに関する 情報については .B history コマンドの説明を参照して下さい。 .TP .B \-n いかなるファイルも変更しません。 .IR cvs_command を実行しようとしますが、 経過報告のみを行います。ファイルへの削除、更新やマージのいずれも 行いませんし、新しいファイルも作成しません。 .TP .B \-t プログラムの実行をトレースします。 .B cvs の動作のステップを示すメッセージを表示します。 不慣れなコマンドの影響の可能性を調べるのに .B \-n との組み合わせで特に有用です。 .TP .B \-r 新しい作業ファイルを読み出し専用にします。 環境変数 .SM CVSREAD がセットされている場合と同じ効果を持ちます。 .TP .B \-R 読み出し専用リポジトリモードをオンにします。 これにより、 anoncvs サーバ上などの読み出し専用リポジトリからのチェックアウトや、 CDROM 上のリポジトリからのチェックアウトが可能になります。 環境変数 .SM CVSREADONLYFS がセットされている場合と同じ効果を持ちます。 また、 .B \-R を使用すると NFS を介したチェックアウトが高速になります。 .TP .B \-v [ --version ] .BR cvs のバージョンと著作権情報を表示します。 .TP .B \-w 新しい作業ファイルを読み書き可能にします (デフォルトです)。 環境変数 .SM CVSREAD がセットされていても無視します。 .TP .B \-g 強制的に、グループ書き込み権限を作業ファイルに付加します。 典型的には、 単一のチェックアウトされたソースツリーを複数ユーザで共有する場合に このオプションを使用し、 各ユーザがより安全な umask でシェルを使用できるようにします。 この機能を使用するためには、 チェックアウトするソースツリーを格納するディレクトリを作成し、 本ディレクトリのグループをプライベートグループに設定し、 本ディレクトリ下のファイルがディレクトリのグループ ID を継承するようにします。 FreeBSD では自動的に、ファイルはディレクトリのグループ ID を継承します。 SysV では、典型的には SGID ビットをディレクトリに設定する必要があります。 チェックアウトしたツリーを共有するユーザは、 このグループに含まれる必要があります。 単一のチェックアウトされたソースツリーを共有するということは、 共通の CVS リポジトリに複数ユーザのアクセスを許すこととまったく異なることに 注意してください。 共通の CVS リポジトリへのアクセスは、 共有グループ書き込み権限によって既に実現されており、 本オプションを必要としません。 本オプションを透過的に使用するためには、 単に 'cvs -g' という行を ~/.cvsrc ファイルに置くだけで良いです。 プライベートグループもしくはプライベートモード 0700 のディレクトリに 全ソースをチェックアウトしたものをファイアウォールで防御しているのでない限り、 本オプションの使用は勧められません。 .TP .B \-x クライアントとサーバの間の通信を全て暗号化します。 現在では、Kerberos コネクション使用時のみ使用可能です。 .TP \fB\-z\fP \fIcompression\-level\fP ファイルをネットワーク経由でやりとりする際、 圧縮レベル \fIcompression\-level\fP で .B gzip を使い、やりとりするデータの圧縮と伸長を行います。リンクの両端で .SM GNU .B gzip プログラムがその時点でのサーチパス中に存在する必要があります。 .SH "使用法" .` "cvs \-H" で全般のヘルプを要求する場合を除き、 行いたい特定のリリース制御機能を選択するために、 .B cvs に対して一つの .I cvs_command を指定しなければなりません。 各 .B cvs コマンドはそれ自身のオプションと引数の集まりを受け付けます。 しかしながら、多くのオプションが複数のコマンドに渡って利用可能です。 .B \-H オプションをコマンドと共に指定することで、 各コマンドの使用法のまとめを表示することができます。 .SH "CVS のスタートアップファイル" 通常、CVS は起動時にユーザのホームディレクトリから .I .cvsrc というファイルを読み込みます。この起動時の手続きは .B \-f フラグで止めることができます。 .SP .I .cvsrc ファイルには CVS コマンドに引数リストを付けて、1 行に 1 つの コマンドを並べます。例えば \fI.cvsrc\fP に以下のように書くと: .SP diff \-c .SP .` "cvs diff" コマンドには常にコマンドラインで指定されたオプションに加えて \-c オプションが渡されるという意味になります (この場合 .` "cvs diff" を実行すると 全てにおいて context diff 形式が生成されるという 効果を持ちます)。 .SP 大域的なオプションは、\fBcvs\fP キーワードを使用して指定します。 例えば次の .SP cvs \-q .SP は、大域的オプション \-q が指定されたかのように全 .` "cvs" コマンドが動作することを意味します。 .SH "CVS COMMAND のまとめ" 以下は全 .B cvs コマンドの解説を要約したものです: .TP .B add 新しいファイルまたはディレクトリをリポジトリに追加します。 ファイルについては追加を同ファイルに対する .` "cvs commit" が行われるまで待ちます。 以前に .` "cvs checkout" を行うことで作成されたソースの中からのみ実行可能です。 新しいソース階層の全体を .B cvs の制御下に置くには .` "cvs import" を使って下さい。 (リポジトリを直接に変更するものではありません。 作業ディレクトリを変更します。) .TP .B admin ソースリポジトリに対して 制御コマンドを実行します。(リポジトリを直接に変更します。 作業ディレクトリを使用しますが変更は行いません。) .TP .B checkout 編集作業のためのソースファイルの作業ディレクトリを作成します。 (作業ディレクトリを生成または変更します。) .TP .B commit 作業ディレクトリでの変更、追加、削除部分をソースリポジトリに 反映します。(リポジトリを変更します。) .TP .B diff 作業ディレクトリのファイルとソースリポジトリ、または ソースリポジトリ中の 2 つのリビジョン間の差分を表示します。 (リポジトリ、作業ディレクトリのいずれも変更しません。) .TP .B export サイトからの出荷のための一揃いのソースファイルのコピーを用意します。 .` "cvs checkout" と違い .B cvs 管理のためのディレクトリが作られず (そしてそのため .` "cvs export" で作成されたディクトリから .` "cvs commit" を行うことはできません)、 シンボリックタグが指定されなければなりません (リポジトリを変更しません。 作業ディレクトリに似たディレクトリを 作成します)。 .TP .B history ソースリポジトリの特定のファイルまたはディレクトリにあなたや 他の人が実行した .B cvs コマンドを表示します。(リポジトリも作業ディレクトリも変更しません。) ヒストリログは .` "$CVSROOT/CVSROOT/history" ファイルが作成されることで有効になった場合にのみ記録されます。 .BR cvs ( 5 ) を参照して下さい。 .TP .B import 外部で行われた更新内容を ``ベンダブランチ'' としてソースリポジトリに 取り込みます。(リポジトリを変更します。) .TP .B init CVSROOT サブディレクトリとデフォルトの制御ファイルを追加することで、 リポジトリを初期化します。 リポジトリを使用する前に、 本コマンドを使用するか、他の方法でリポジトリを初期化する必要があります。 .TP .B log ログ情報を表示します。 (リポジトリも作業ディレクトリも変更しません。) .TP .B rdiff リポジトリの中の 2 つのリリースの間の差分の集合をパッチファイルとして 用意します。(リポジトリも作業ディレクトリも変更しません。) .TP .B release .` "cvs checkout" をキャンセルし、 全ての変更を捨て去ります。 (作業ディレクトリを削除できます。 リポジトリは変更しません。) .TP .B remove ソースリポジトリからファイルを削除します、そのファイルに .` "cvs commit" が実行されるまで保留されます。(直接リポジトリには影響しません。 作業ディレクトリを変更します。) .TP .B rtag ソースリポジトリの特定のリビジョンのファイルに明示的に シンボリックタグを指定します。 .` "cvs tag" も参照して下さい。 (リポジトリを直接変更します。作業ディレクトリは必要なくまた 変更もしません。) .TP .B status 現在のファイルの状態を表示します: 最新バージョン、作業ディレクトリの ファイルのバージョン、作業バージョンが編集されたかどうか、オプションで .SM RCS ファイル中のシンボリックタグ。(リポジトリ、作業ディレクトリとも 変更しません。) .TP .B tag リポジトリ中のファイルにシンボリックタグを指定します。 デフォルトでは、作業ディレクトリと最後に同期を取ったリビジョンに タグをつけます。 (直接リポジトリを変更します。作業ディレクトリを使いますが 変更はしません。) .TP .B update リポジトリから変更を取り出して作業ディレクトリを最新状態にします。 可能であればマージが自動で行われます。 変更点が衝突しているために手動で解決しなければならない場合は、 警告が表示されます。(作業ディレクトリを変更します。 リポジトリは変更しません。) .SH "共通の COMMAND OPTIONS" この節では 複数の .B cvs コマンドで使用できる .I command_options について説明します。必ずしも全てのコマンドがこれら全てのオプションを サポートしているわけではありません。 コマンドの各オプションは、それが 意味を成すコマンドでのみサポートされます。しかしながら、 コマンドがそれらのオプションのひとつを持つとき、 他のコマンドでもそのオプションが同じ意味を持つと考えて差し支えありません。 (個々のコマンドと共に列挙してある別のオプションは ある .B cvs コマンドと別のコマンドで異なる意味を持つかもしれません。) .I "注意:" .B history コマンドは例外です。 このコマンドは、これら標準のオプションとも衝突するたくさんの オプションをサポートしています。 .TP \fB\-D\fP \fIdate_spec\fP \fIdate_spec\fP 以前のものの中で最も最近のリビジョンを使います (単独の 引数で、日時の表記は過去の日時を指定します)。 多種多様な日時のフォーマットが、 特に ISO ("1972-09-24 20:05") または Internet ("24 Sep 1972 20:05") が サポートされます。 特定のタイムゾーンが指定されていなければ、\fIdate_spec\fP は ローカルタイムゾーンで解釈されます。 ソースファイルの個人的なコピーを作るときに使うと、指定は ``sticky'' と なります。 つまり、\fB\-D\fP を使って作業ファイルを取り出すと、 \fBcvs\fP は指定された日時を記録します。 これは同じディレクトリでのその後の update で同じ日時を使うように するためです (これを明示的に無効にするよう指定していない場合に限ります。 \fBupdate\fP コマンドの説明を参照して下さい)。 .B \-D は .BR checkout ", " diff ", " history ", " export ", " .BR rdiff ", " rtag ", " .B update コマンドで有効です。 有効な日時指定には以下のようなものがあります: .in +1i .ft B .nf 1 month ago 2 hours ago 400000 seconds ago last year last Monday yesterday a fortnight ago 3/31/92 10:00:07 PST January 23, 1987 10:05pm 22:00 GMT .fi .ft P .in -1i .TP .B \-f \fBcvs\fP コマンドに特定の日時かタグを指定した場合、 通常は指定したタグを含まない (または指定した日時に存在しなかった) ファイルを無視します。一致するタグまたは日時が存在しなくても ファイルを取り出したいときは \fB\-f\fP オプションを使います。 (その場合、最も新しいバージョンが使われます。) .B \-f は以下のコマンドで使用できます: .BR checkout ", " export ", " .BR rdiff ", " rtag ", " update .TP \fB\-k\fP \fIkflag\fP デフォルトの キーワード処理を変更します。 \fB\-k\fP オプションは .BR add ", " checkout ", " diff ", " export ", " .BR rdiff ", " update コマンドで使用できます。 ソースファイルの個人的なコピーを作成するときに使うと \fIkflag\fP の指定は ``sticky'' になります。 つまり、このオプションを \fBcheckout\fP か \fBupdate\fP コマンドで指定すると、 \fBcvs\fP は指定した \fIkflag\fP をファイルに関連付け、 他のものを指定するまで、以降の \fBupdate\fP コマンドでそれを使い続けます。 .SP より有用な \fIkflag\fP としては \-ko と \-kb (バイナリファイル用) と \-kv があります。\-kv は .B export の際、どこか別のサイトで後に .B import されてもキーワード情報が残るようにしたい場合に有用です。 .TP .B \-l ローカル; サブディレクトリを再帰的に処理するのではなく、 現ディレクトリでのみ実行します。 以下のコマンドで使用できます: .BR checkout ", " commit ", " diff ", " .BR export ", " remove ", " rdiff ", " rtag ", " .BR status ", " tag ", " update .I 注意: これは .B cvs コマンドの .I 左 に指定することのできる、全体に作用する .` "cvs \-l" オプションとは違います! .TP .B \-n .BR checkout / commit / tag / update のいずれのプログラムも .I 実行しません。 (プログラムはそれぞれの動作中にモジュールデータベースで 実行することを指定される可能性があり、このオプションはこれを バイパスします。) .BR checkout ", " commit ", " export ", " .B rtag コマンドで利用できます。 .I 警告: これは .B cvs コマンドの .I 左側 に指定できる、全体に作用する .` "cvs \-n" オプションと同じではありません。 .TP .B \-P .BR checkout " か " update によって更新されたことで空になった余分なディレクトリを 取り除きます (すなわち削除します)。 通常は、空のディレクトリ (リビジョン管理されたファイルを 含まないもの) は残されます。 .B \-P を指定すると、チェックアウトしたソースからそういったディレクトリを 黙って削除します。 これはリポジトリからはディレクトリを削除しません。あなたが チェックアウトしたコピーから削除するだけです。 このオプションは .B \-r か .B \-D オプションが .BR checkout " と " export で指定された場合に暗黙のうちに 指定されることに注意して下さい。 .TP .B \-T (ローカル) リポジトリからのコピーにより、CVS/Template を作成/更新します。 本オプションは、ローカルの cvs リポジトリを管理し、 リモートのリポジトリへコミットする開発者にとって有用です。 CVS/Template を維持することにより、 リモートコミットにおいても依然として、 適切なテンプレートをコミットエディタセッションに立ち上げ可能となります。 .BR checkout " と " update で利用可能です。 .TP .B \-p リポジトリから取り出されたファイルを、カレントディレクトリに 書き込むのではなく、標準出力へパイプします。 .BR checkout " と " update コマンドで使用できます。 .TP \fB\-r\fP \fItag\fP デフォルトの ``head'' リビジョンの代わりに引数 .I tag で指定されたリビジョンを使います。 \fBtag\fP と \fBrtag\fP コマンドで 付けられた任意のタグと共に、常に 2 つの特別なタグが使用できます: .` "HEAD" はリポジトリ中で最も新しい有効なバージョンを指し、 そして .` "BASE" はカレントの作業ディレクトリに最後にチェックアウトした リビジョンを指します。 .SP このオプションを .` "cvs checkout" か .` "cvs update" でファイルのコピーを作成するときに使うと、 \fItag\fP の指定は ``sticky'' です: \fBcvs\fP は \fItag\fP を記憶して以降の \fBupdate\fP コマンドでも、他のものを 指定するまで、それを使い続けます。 .I tag としては シンボリックまたは番号によるものが使用できます。 .SM RCS ファイルが指定されたタグを含んでいないときに警告メッセージを抑止するため 全体に作用する .B \-q オプションをコマンドオプション .B \-r と一緒に指定すると便利な場合が多くあります。 .B \-r は .BR checkout ", " commit ", " diff ", " .BR history ", " export ", " .BR rdiff ", " rtag ", " update コマンドで使用できます。 .I 警告: これは .B cvs コマンドの .I 左側 に指定し、全体に作用する .` "cvs \-r" オプションと同じではありません。 .SH "CVS COMMANDS" 以下が (最終的な) 全 .B cvs コマンドの詳細とそれぞれが受け付けるオプションです。 各コマンドの最初のサマリ行の説明は 3 種類の事柄をまとめています: .TP 1i \ \ \ \ コマンドのオプションと引数 特別なオプションが以下で説明されます。共通のコマンドオプションは サマリ行にしか現れないかもしれません。 .TP 1i \ \ \ \ 作業ディレクトリかリポジトリか? いくつかの \fBcvs\fP コマンドは実行に作業ディレクトリが必要です。 いくつかはリポジトリが必要です。同様に、いくつかのコマンドは リポジトリを \fI変更し\fP、いくつかは作業ディレクトリを変更し、 いくつかは何の変更も行いません。 .TP 1i \ \ \ \ 同義語 多くのコマンドには同義語があります。 同義語は正式な名前よりも覚えやすい (あるいはタイプしやすい) と 感じることでしょう。 .PP .TP \fBadd\fP [\fB\-k\fP \fIkflag\fP] [\fB\-m '\fP\fImessage\fP\fB'\fP] \fIfiles.\|.\|.\fP .I 以下が必要: リポジトリ、作業ディレクトリ。 .br .I 以下を変更: 作業ディレクトリ。 .br .I 同義語: .B new .br .B add コマンドを使って ソースリポジトリに新しいファイルまたはディレクトリを作成します。 .B add で指定されるファイルまたはディレクトリは、すでに カレントディレクトリ ( .B checkout コマンドで作成されたディレクトリでなければなりません) に 存在しなければなりません。 新しいディレクトリ階層の全体をソースリポジトリに追加する (例えば、サードパーティのベンダから受け取ったファイル群のような) には、 代わりに .` "cvs import" コマンドを使います。 .SP .` "cvs add" の引数が直下のサブディレクトリを指しているなら、そのディレクトリが ソースリポジトリの現位置に作成され、必要な .B cvs 管理ファイルが作業ディレクトリに作成されます。 ディレクトリがすでにソースリポジトリに存在した場合でも、 .` "cvs add" はあなたのバージョンのディレクトリに管理ファイルを作成します。 これによって、あなたがソースを .B checkout した後に誰か他の人がディレクトリを作っていても .` "cvs add" でそのディレクトリをあなたの私的なソースに作成することが 可能になります。以下のようにすることができます: .SP .in +1i .ft B .nf example% mkdir new_directory example% cvs add new_directory example% cvs update new_directory .fi .ft P .in -1i .SP .` "cvs update" を使った別のアプローチもあります: .SP .in +1i .ft B .nf example% cvs update -d new_directory .fi .ft P .in -1i .SP (新しく \fIできた\fP ディレクトリをあなたの作業ディレクトリに 追加するには、おそらく .` "cvs checkout" か .` "cvs update -d" を使用する方が簡単でしょう。) .SP .` "cvs commit" で変更が恒久的なものとされるまで、追加されたファイルは ソースリポジトリには置かれません。 .` "cvs remove" コマンドで削除されたファイルに対して .` "cvs add" を行うと、間で .` "cvs commit" コマンドが実行されていなければファイルが復活します。 .SP 新しいファイルを .` "cvs commit" で恒久的なものにするときに、いつものように、ログメッセージを指定する 機会があります。もしファイルの .I 作成 と対応するもう一つのログメッセージを指定したいならば (例えば、ファイルの目的を説明するなど)、 .B add コマンドの .` "\-m \fImessage\fP" オプションで指定することができます。 .SP .` "-k kflag" オプションで このファイルがチェックアウトされるときの デフォルトを指定できます。 引数 .` "kflag" は .SM RCS ファイルに記録されて .` "cvs admin" で変更することができます。 展開された キーワードを持たないであろうバイナリをチェックインする場合には .` "-ko" を指定すると便利です。 .TP \fBadmin\fP [\fIrcs-options\fP] \fIfiles.\|.\|.\fP .I 以下が必要: リポジトリ、作業ディレクトリ。 .br .I 以下を変更: リポジトリ。 .br .I 同義語: .B rcs .br これは .BR rcs ( 1 ) に似た管理機構と対応する .B cvs のインタフェースです。 なんのフィルタや変換も行いません。 しかしながら、このコマンドは再帰的に働きます。よって使用には 特別な注意を払わなければいけません。 .TP \fBcheckout\fP [\fBoptions\fP] \fImodules\fP.\|.\|. .I 以下が必要: リポジトリ。 .br .I 以下を変更: 作業ディレクトリ。 .br .I 同義語: .BR co ", " get .br .IR modules で指定されたソースファイルのコピーを持つ 作業ディレクトリを作成します。他の大部分の .B cvs コマンドは作業ディレクトリに作用するものなので、これらを使う前に .` "cvs checkout" を実行しなくてはなりません。 .SP \fImodules\fP はいくつかのソースディレクトリとファイルを 集めたものに対するシンボル名 (それ自体は .` "modules" というモジュールとしてソースリポジトリに定義されています。 .BR cvs ( 5 ) 参照) か、あるいはリポジトリ中でのディレクトリまたはファイルへのパス名です。 .SP 指定した .I modules に応じて、 .B checkout は再帰的にディレクトリを作成して適切なソースファイルで満たします。 その後はいつでも、(他のソフトウェア開発者達がソースの彼らの分のコピーを 編集しているかどうかを気にすることなく) これらのソースファイルを編集したり、 他の人によってソースリポジトリに行われた新しい変更を取り込むために これらを更新 (update) したり、 あなたの作業を恒久的な変更としてリポジトリに 登録 (commit) することができます。 .SP .B checkout はディレクトリの作成に使われることに注意して下さい。 作成されるディレクトリのトップレベルは常に .B checkout が起動されたディレクトリに追加され、そして通常、指定された .IR module と同じ名前を持ちます。 .I module がエイリアスの場合は、作成されたサブディレクトリは違う名前を持つかも しれませんが、それがサブディレクトリであること、そして .B checkout はファイルが私的な作業領域に取り出される際に各ファイルへの 相対パスを表示すること (全体に作用する .B \-Q オプションを指定していなければ) は当てにできます。 .SP すでに以前の .B checkout で作成されているディレクトリで .` "cvs checkout" を実行することも許されています。これは 以下で説明する .B update コマンドに .B \-d オプションを指定するのと同じ効果を持ちます。 .SP .` "cvs checkout" で使える .I options は以下の標準のコマンドオプションです。 .BR \-P ", " \-f ", " .BI \-k " kflag" \&, .BR \-l ", " \-n ", " \-p ", " .BR \-r .IR tag ", " .BI \-D " date"\c .SP これらに加えて、以下の特別のコマンドオプションを .BR checkout で使うことができます: .SP .B \-A オプションで sticky なタグ、日付または .B \-k オプションをリセットできます。(作業ファイルを \fB\-r\fP, \fB\-D\fP, \fB\-k\fP オプションのいずれかを使って取り出すと、 \fBcvs\fP は対応するタグ、日付、\fIkflag\fP を記録して以降の 更新 (update) でそれを使い続けます。 \fB\-A\fP オプションを使って \fBcvs\fP に それらの指定を忘れさせ、ファイルの ``head'' バージョンを取り出します)。 .SP .BI \-j " branch" オプションはベースとなったリビジョンと、そこから変更された結果の リビジョンとの差分をマージします (例えば、もしタグがブランチを 指しているときは、 .B cvs は、そのブランチで行われた全ての変更を作業ファイルにマージします)。 .SP 2 つの \fB-j\fP オプションを指定すると、 .B cvs は 2 つの各々のリビジョン間での変更をマージします。 これは特定の差分を作業ファイルから ``削除'' するために使うことが できます。 .SP 加えて、各 \fB-j\fP オプションをブランチで使う場合に必要であれば 日時指定を加えることができ、選択するリビジョンを指定した日時以内に 制限できます。 日時を加える場合はタグにコロン (:) を付けて指定します。 例としては .` "cvs import" でローカルな変更と衝突する部分のあるソースを import するときに 実行するように指示されるコマンドがあります: .SP .in +1i .ft B .nf example% cvs checkout -jTAG:yesterday -jTAG module .fi .ft P .in -1i .SP .B \-N オプションと .` "\-d \fIdir\fP" を指定することで作業ディレクトリでモジュールのパスが短縮されるのを 防げます。(通常、明示的に対象ディレクトリを指定すると \fBcvs\fP は なるべくパスが短くなるようにします。) .SP .B \-c オプションで、作業ディレクトリのファイルやディレクトリに作成や変更を 行う代わりに、モジュールファイルをソートしたものを標準出力にコピー します。 .SP .BI \-d " dir" オプションで、モジュール名ではなく、 .I dir で指定した名前のディレクトリを作業ファイルのために作成します。 \fB\-N\fP を一緒に指定しない場合は、\fIdir\fP の下に作成されるパスは 可能な限り短くなります。 .SP .B \-s オプションを使って .B \-s オプションでモジュールファイルに格納されたモジュール単位の ステータス情報を表示します。 .TP \fBcommit\fP [\fB\-lnR\fP] [\fB\-m\fP '\fIlog_message\fP' | \fB\-F\fP \fIfile\fP] [\fB\-r\fP \fIrevision\fP] [\fIfiles.\|.\|.\fP] .I 以下が必要: 作業ディレクトリ、リポジトリ。 .br .I 以下を変更: リポジトリ。 .br .I 同義語: .B ci .br 作業ディレクトリでの変更を共有のソースリポジトリに組み込むにときには .` "cvs commit" を使います。 .SP コミットする対象となる \fIfiles\fP を指定しない場合、現在の 作業ディレクトリ中の全ファイルが調べられます。 .B commit はあなたが本当に変更したファイルだけを慎重にリポジトリで変更します。 デフォルトでは (または明示的に .B \-R オプションを指定した場合)、サブディレクトリのファイルも 調べられ、もし変更されていればコミットされます。 .B \-l オプションで現ディレクトリのみ .B コミット するように制限できます。 変更されていなくても強制的にファイルをコミットしたい場合があるかも しれません。 これは .B \-f フラグで可能で、これは同時に再帰も抑止します (もちろん .B \-R で再帰するようにできます)。 .SP .B commit は選択されたファイルがソースリポジトリの現リビジョンに対して 最新であることを確認します。 もし選択されたファイルのいずれかが まず .` "cvs update" で最新にされなければならないなら、そこで通知してコミットせずに終ります。 .B commit は .B update コマンドを呼び出しません。update すべきときであるかどうかの判断は ユーザにゆだねられます。 .SP 全てがうまくいくと、ログメッセージを入力するためにエディタが 呼び出されます。ログメッセージは一つかそれ以上のログを取る プログラムに書き込まれて ソースリポジトリのファイルに置かれます。 代わりにコマンドラインで .B \-m オプションと共にログメッセージを指定し、 エディタの呼び出しを抑制することができます。また .B \-F オプションで引数の \fIfile\fP にログメッセージが含まれていることを 指示することもできます。 .SP .B \-r オプションで特定のシンボリックまたは番号で指定される リビジョンとしてコミットできます。 例えば、全ファイルを リビジョン ``3.0'' に上げる (変更されていないものも含めて) には、以下のようにします: .SP .in +1i .ft B .nf example% cvs commit -r3.0 .fi .ft P .in -1i .SP .B cvs はメインの幹上のリビジョン (ドットが 1 つのリビジョン) へのコミットのみ 許します。 しかしながら、 .B \-r オプションでブランチ上のリビジョン (偶数個のドットをもつリビジョン) へ コミットすることもできます。 ブランチとなるリビジョンを作成するには、通常 .BR rtag " または " tag コマンドの .B \-b オプションを使います。 その後、 .BR checkout " または " update のいずれかでソースのベースを新しく作成したブランチにすることができます。 それ以降、それらの作業ファイルで行われた全ての .B commit される変更点は自動的にブランチのリビジョンに追加され、 それによって主たる開発ラインが混乱させられることはありません。 例をあげると、製品のバージョン 1.2 へのパッチを作成しなければ ならなくなったとすると、バージョン 2.0 がすでに開発中だったとしても、 以下のようにできます: .SP .in +1i .ft B .nf example% cvs rtag -b -rFCS1_2 FCS1_2_Patch product_module example% cvs checkout -rFCS1_2_Patch product_module example% cd product_module [[ hack away ]] example% cvs commit .fi .ft P .in -1i .SP 極めて実験的なソフトウェアを開発しているとして、 前の週にチェックアウトしたなんらかのリビジョンをベースにしていると します。 あなたのグループの別の人がこのソフトウェアであなたと一緒に作業したいが、 主たる開発ラインの邪魔はしたくないと考えたなら、あなたはあなたの 変更点を新しいブランチにコミットすると良いでしょう。 すると別の人はあなたの実験的な変更をチェックアウトして .B cvs の衝突解決機能を最大限に利用することができます。 シナリオは以下のようになります: .SP .in +1i .ft B .nf example% cvs tag -b EXPR1 example% cvs update -rEXPR1 [[ hack away ]] example% cvs commit .fi .ft P .in -1i .SP 別の人は単純に .` "cvs checkout -rEXPR1 whatever_module" とすれば実験的な変更を採り入れてあなたと作業できるようになります。 .TP \fBdiff\fP [\fB\-kl\fP] [\fIrcsdiff_options\fP] [[\fB\-r\fP \fIrev1\fP | \fB\-D\fP \fIdate1\fP | \fB\-j\fP \fIrev1:date1\fP] [\fB\-r\fP \fIrev2\fP | \fB\-D\fP \fIdate2\fP | \fB\-j\fP \fIrev2:date2\fP]] [\fIfiles.\|.\|.\fP] .I 以下が必要: 作業ディレクトリ、リポジトリ。 .br .I 以下を変更: なにも変更しません。 .br 作業ディレクトリのファイルとソースリポジトリのリビジョンを .` "cvs diff" コマンドで比較できます。もし特定のリビジョンを指定しなければ、 ベースにしたリビジョンと比較されます。 標準の .B cvs コマンドのオプション .B \-r で比較の対象となるリビジョンを指定することもできます。 最後に、 .B \-r を 2 回 使うと、リポジトリの 2 つのリビジョン間の差分を取ることができます。 (head ブランチの) 過去のリビジョンとの差分を取るために .B \-D オプションを指定することもできます。 また、過去のブランチタグ間の差分を取るために .B \-j オプションを指定することもできます。 .B \-r と .B \-D と .B \-j オプションは常に指定された中で 2 つまでを組み合わせられます。 .SP 他の使用可能なオプションについては .BR rcsdiff ( 1 ) を参照して下さい。 .SP ファイルを何も指定しないと、 .B diff は現ディレクトリ (そして、標準オプション .BR \-l を指定していなければ そのサブディレクトリ) の全てのファイルについて、 ソースリポジトリの対応するリビジョンと異なっているもの (つまり .I あなたが 変更したファイル) または指定されたリビジョンと 異なっているものについて、その差分を表示します .TP \fBexport\fP [\-\fBf\|lNnQq\fP] \fB\-r\fP \fIrev\fP\||\|\fB\-D\fP \fIdate\fP [\fB\-d\fP \fIdir\fP] [\fB\-k\fP \fIkflag\fP] \fImodule\fP.\|.\|. .I 以下が必要: リポジトリ。 .br .I 以下を変更: 現ディレクトリ。 .br このコマンドは .` "cvs checkout" の一種です。 \fBcvs\fP の管理ディレクトリを持たない \fImodule\fP のソースのコピーが必要なときに使います。 例えば、サイト外にソースを出す準備をするために .` "cvs export" を使うことができます。 このコマンドでは日付またはタグを指定することが \fI必要\fP です。 (\fB\-D\fP または \fB\-r\fP によって)。それによって出荷したソースを 確実に再構成できるようになります。 .SP 標準でないオプションは .` "\-d \fIdir\fP" (ソースをディレクトリ \fIdir\fP に書き込みます) と .` "\-N" (モジュールパスを短縮しません) のみです。 これらは .` "cvs checkout" の同名のオプションと同じ意味を持ちます。 .SP .B export が使われるときは .B \-kv オプションが有用です。 これによって キーワードが、どこか別のサイトで .B import が行われたときにリビジョン情報が失われないような形に展開されるように なります。 他の \fIkflag\fP を .` "cvs export" で使用することもできます。その説明は .BR co ( 1 ) にあります。 .TP \fBhistory\fP [\fB\-\fP\fIreport\fP] [\fB\-\fP\fIflags\fP] [\fB\-\fP\fIoptions args\fP] [\fIfiles\fP.\|.\|.] .I 以下が必要: .` "$CVSROOT/CVSROOT/history" ファイル。 .br .I 以下を変更: 何も変更しません。 .br \fBcvs\fP はヒストリファイルを管理しており、各 \fBcheckout\fP, \fBcommit\fP, \fBrtag\fP, \fBupdate\fP, \fBrelease\fP コマンドの使用を記録します。 .` "cvs history" を使って、この情報を色々なフォーマットで表示することができます。 .SP .I 警告: .` "cvs history" は .` "\-f", .` "\-l", .` "\-n", .` "\-p" を .SM 共通の COMMAND OPTIONS\c \&での説明とは異なる意味に使用します。 .SP いくつかのオプション (上で \fB\-\fP\fIreport\fP となっている部分) は どんな種類のレポートを生成するかを制御します: .TP 1i .B \ \ \ \ \ \ \-c 今までの各 \fBcommit\fP (つまりリポジトリの変更) についてレポートします。 .TP 1i \fB\ \ \ \ \ \ \-m\fP \fImodule\fP 特定の \fImodule\fP についてレポートします。(コマンドラインで複数の \fB\-m\fP を指定できます。) .TP 1i .B \ \ \ \ \ \ \-o チェックアウトされたモジュールについてレポートします。 .TP 1i .B \ \ \ \ \ \ \-T 全てのタグについてレポートします。 .TP 1i \fB\ \ \ \ \ \ \-x\fP \fItype\fP 特定のレコードタイプ \fIX\fP のセットを \fBcvs\fP ヒストリから 取り出します。タイプは 1文字で表され、組み合わせて指定できます。 以下のコマンドは単一のレコードタイプを持ちます: \fBcheckout\fP (タイプ `O')、 \fBrelease\fP (タイプ `F')、\fBrtag\fP (タイプ `T')。 \fBupdate\fP は 4 つのレコードタイプのうちの 1 つになります: `W' は 作業用のファイルのコピーが update で (それがリポジトリから無くなって いたために) 削除された場合です; `U' は作業ファイルがリポジトリから コピーされた場合です; `G' は必要なマージが無事に終った場合です; 'C' は マージが必要だが衝突が検出された場合 (手動でのマージが必要な場合) です。 また、\fBcommit\fP では 3つのレコードタイプのうちの 1つになります: `M' はファイルが変更された場合; `A' はファイルが最初に追加された場合; `R' はファイルが削除された場合です。 .TP 1i .B \ \ \ \ \ \ \-e 全て (全レコードタイプ); 以下を指定するのと等価です。 .` "\-xMACFROGWUT" .TP 1i \fB\ \ \ \ \ \ \-z\fP \fIzone\fP ヒストリレコードを出力する際に .I zone で指定されたタイムゾーンを使います。 .B LT というゾーン名はローカルタイムの意味になります。 数値によるオフセットは時分での UTC との時差を意味します。 例えば、 .B +0530 は 5 時間と 30 分だけ UTC より前 (つまり東側) の意味になります。 .PP .RS .5i \fB\-\fP\fIflags\fP と書かれた部分のオプションは、レポートする範囲を絞ります。 引数の指定はありません。 .RE .TP 1i .B \ \ \ \ \ \ \-a 全てのユーザのデータを表示します (デフォルトでは .` "cvs history" を実行しているユーザのみのデータを表示します)。 .TP 1i .B \ \ \ \ \ \ \-l 最後の変更のみ表示します。 .TP 1i .B \ \ \ \ \ \ \-w .` "cvs history" が実行されているのと同じ作業ディレクトリから行われた変更に関する レコードのみを表示します。 .PP .RS .5i \fB\-\fP\fIoptions args\fP と書かれた部分のオプションは引数に 基づいてレポート範囲を絞ります: .RE .TP 1i \fB\ \ \ \ \ \ \-b\fP \fIstr\fP 文字列 \fIstr\fP をモジュール名、ファイル名、リポジトリパスの いずれかに含むレコードに戻って表示します。 .TP 1i \fB\ \ \ \ \ \ \-D\fP \fIdate\fP \fIdate\fP 以降のデータを表示します。 .TP 1i \fB\ \ \ \ \ \ \-p\fP \fIrepository\fP 特定のソースリポジトリのデータを表示します (複数の \fB\-p\fP オプションを同じコマンド行で指定できます)。 .TP 1i \fB\ \ \ \ \ \ \-r\fP \fIrev\fP 個々の RCS ファイルに現れるリビジョンが \fIrev\fP で指定されたリビジョンまたはタグ以降であるレコードを表示します。 各 .SM RCS ファイルについてリビジョンまたはタグが検索されます。 .TP 1i \fB\ \ \ \ \ \ \-t\fP \fItag\fP \fItag\fP で指定されるタグがヒストリファイルに最後に 追加されてからのレコードを表示します。 このオプションは、 .SM RCS ファイルではなくヒストリファイルのみ参照する点で 上記の \fB-r\fP フラグと異なり、 より高速です。 .TP 1i \fB\ \ \ \ \ \ \-u\fP \fIname\fP \fIname\fP で指定されるユーザのレコードを表示します。 .PP .TP \fBimport\fP [\fB\-\fP\fIoptions\fP] \fIrepository vendortag releasetag\fP.\|.\|. .I 以下が必要: リポジトリ、ソース配布物のディレクトリ。 .br .I 以下を変更: リポジトリ。 .br .` "cvs import" を使うことで外部の供給元 (例えばソースベンダ) からのソース配布物 全体をあなたのソースリポジトリのディレクトリへ取り込めます。 最初のリポジトリの作成と、外部の供給元からのモジュールへの 大規模な更新の両方にこのコマンドを使うことができます。 .SP 引数 \fIrepository\fP で CVS ルートディレクトリ下のリポジトリ用 ディレクトリ名 (またはディレクトリへのパス) を与えます。 もしディレクトリが存在しないなら、\fBimport\fP が作成します。 .SP あなたのソースリポジトリで (前回の \fBimport\fP から) 変更された ソースへの更新に \fBimport\fP を使った場合、開発の 2 本のブランチで 衝突しているファイルについて警告します。 \fBimport\fP が指示するように、 .` "cvs checkout -j" を使って差分を調整できます。 .SP デフォルトでは、ある種のファイル名が .` "cvs import" で無視されます: .SM CVS 管理、または他の一般的なソース管理システムに関連する名前; パッチファイル、オブジェクトファイル、アーカイブファイル、 エディタのバックアップファイルのための一般的な名前; そして雑多なユーティリティの加工品であることを示すその他の名前。 無視されるファイルのリストの最新については、 (このマニュアルページの関連項目の節に記述してあるように) Cederqvist 著のマニュアルを参照して下さい。 .SP 外部からのソースは第一レベルの ブランチ、デフォルトでは .` "1.1.1" に保存されます。 以降の更新は このブランチのリーフになります。 例えば、最初に import したソース集合からのファイルはリビジョン .` "1.1.1.1" になり、 次の import による更新でファイルはリビジョン .` "1.1.1.2" になり、以下同様に続きます。 .SP 最低で 3 つの引数が必要です。ソースの集合を識別するために \fIrepository\fP が必要です。\fIvendortag\fP はブランチ全体を示す タグになります (例えば .` "1.1.1" と対応します)。 .` "cvs import" を実行する度にリーフとしてできるファイルを 識別するために少なくとも一つの \fIreleasetag\fP も指定しなければ なりません。 .SP .B cvs の標準のコマンドオプションのうちの 1 つ \fB\-m\fP が利用可能です: ログメッセージを \fB\-m\fP で指定しないと、(\fBcommit\fP でのように) メッセージを 入力できるようにエディタが起動されます。 .SP さらに 3 つの特別なオプションがあります。 .SP .` "\-d" を使って、各ファイルの最終更新日時がチェックインの日付と時刻として 使われるよう指示できます。 .SP .` "\-b \fIbranch\fP" を使って第一レベルのブランチを .` "1.1.1" 以外に指定できます。 .SP .` "\-I \fIname\fP" を使って \fBimport\fP 中に無視されるべきファイル名を指定できます。 このオプションは繰り返して指定できます。 いかなるファイルも無視されない (デフォルトで無視されるものでも) ようにするには、 .` "\-I !" と指定します。 .TP \fBlog\fP [\fB\-l\fP] \fIrlog-options [files\fP\|.\|.\|.] .I 以下が必要: リポジトリ、作業ディレクトリ。 .br .I 以下を変更: 何も変更しません。 .br .I 同義語: .B rlog .br \fIfiles\fP のログ情報を表示します。 \fBrlog\fP のオプションの中でも有用なものとしては、次のものがあります: ヘッダ (タグの定義を含むが、ログの大部分は省略される) のみ表示する \fB\-h\fP ; 特定のリビジョンまたはリビジョンの範囲でログを選択する \fB\-r\fP; そして特定の日時または時刻の範囲を選択する \fB\-d\fP が あります。完全な説明は .BR rlog ( 1 ) を参照して下さい。 このコマンドは .B \-l オプションが指定されていなければ、デフォルトで再帰的に働きます。 .TP \fBrdiff\fP [\fB\-\fP\fIflags\fP] [\fB\-V\fP \fIvn\fP] [\fB\-r\fP \fIt\fP|\fB\-D\fP \fId\fP [\fB\-r\fP \fIt2\fP|\fB\-D\fP \fId2\fP]] \fImodules\|.\|.\|.\fP .I 以下が必要: リポジトリ。 .br .I 以下を変更: 何も変更しません。 .br .I 同義語: .B patch .br 2 つのリリース間の .BR patch ( 1 ) ファイルを Larry Wall 氏のフォーマットで作成します。それは直接 .B patch プログラムに入力できるもので、古いリリースを新しいリリースに更新する ために使えます。 (これは直接リポジトリを参照するため、これに先立って .BR checkout する必要のない、数少ない \fBcvs\fP コマンドのうちの 1 つです。) 差分出力は標準出力デバイスに送られます。 (標準の \fB\-r\fP と \fB\-D\fP オプションを 使って) 1 つまたは 2 つのリビジョンまたは日時の任意の組み合わせを指定できます。 もしリビジョンまたは日時が 1 つしか指定されないと、 そのリビジョンまたは日時とその時点での .SM RCS ファイルの ``head'' リビジョンの差分がパッチファイルに反映されます。 .SP もしソフトウェアリリースへの影響が複数ディレクトリにわたるなら、 古いソースにパッチを当てる際、 .B patch が他のディレクトリに置かれたファイルを見つけられるように、 .B \-p オプションを .B patch コマンドに指定する必要があるかもしれません。 .SP 標準オプションの \fIflags\fP \fB\-f\fP、\fB\-l\fP が このコマンドで利用可能です。他にもいくつかの 特別なオプションフラグがあります: .SP .B \-s オプションを指定すると、パッチ出力が作られません。 代わりに、2 つのリリース間で変更または追加されたファイルの要約が 標準出力デバイスに送られます。 これは、例えば、2 つの日付またはリビジョンの間で、どのファイルが 変更されたかを調べるのに便利です。 .SP .B \-t オプションを指定すると、新しい方から 2 つのリビジョンの差分が 標準出力デバイスに送られます。これはファイルへの最後の変更が 何であったかを知るのに最適です。 .SP .B \-u オプションを指定すると、パッチ出力として新しい ``unidiff'' フォーマットを使って文脈差分とします。 .SP 希望するなら、 .B \-c を使って明示的に .` "diff \-c" 形式の文脈差分を指定できます (こちらがデフォルトです)。 .TP \fBrelease\fP [\fB\-dQq\fP] \fImodules\fP\|.\|.\|. .I 以下が必要: 作業ディレクトリ。 .br .I 以下を変更: 作業ディレクトリ、ヒストリログ。 .br このコマンドは .` "cvs checkout" の効果を安全にキャンセルすることになっています。 .B cvs はファイルをロックしないので、厳密にはこのコマンドを使用する必要は ありません。 単に作業ディレクトリを削除しても構いません。 しかし忘れているかも知れない変更を失う危険があり、そして .B cvs ヒストリファイルには捨ててしまったチェックアウトの記録は残りません。 .SP .` "cvs release" を使うとこれらの問題を回避できます。 このコマンドは以下の点をチェックします: コミットされていない変更が存在しないこと、 \fBcvs\fP の作業ディレクトリの直上または内部から実行していること、 ファイルが記録されたリポジトリがモジュールデータベースに 定義されたリポジトリと同じであること、です。 .SP これらの条件が全て真なら .` "cvs release" は その実行記録 (意図的にチェックアウトを削除した証拠) を .B cvs のヒストリログに残します。 .SP \fB\-d\fP フラグを使ってソースの作業用コピーを \fBrelease\fP が 成功したら削除するように指示できます。 .TP \fBremove\fP [\fB\-lR\fP] [\fIfiles\|.\|.\|.\fP] .I 以下が必要: 作業ディレクトリ。 .br .I 以下を変更: 作業ディレクトリ。 .br .I 同義語: .BR rm ", " delete .br このコマンドを使って、\fIfiles\fP をソースリポジトリから削除する つもりであることを宣言できます。大部分の .B cvs コマンドがそうであるように、 .` "cvs remove" は作業ディレクトリのファイルに作用し、リポジトリには直接には 作用しません。安全機構として、まず指定するファイルを作業ディレクトリ から削除することも必要になっています。 .SP リポジトリに .BR commit で変更を反映するまで、ファイルは実際には削除されません。 commit した時点で、ソースリポジトリの対応する .SM RCS ファイルが .` "Attic" ディレクトリ (これもソースリポジトリの中です) に .I 移動 されます。 .SP このコマンドはデフォルトで再帰的になっており、 物理的に削除された全てのファイルが次の .BR commit での削除されるようにスケジュールします。 .B \-l オプションを使うか、または実際に削除したいファイルのみを 指定することで、この再帰を抑制できます。 .TP \fBrtag\fP [\fB\-f\|alnRQq\fP] [\fB\-b\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP | \fB\-D\fP \fIdate\fP] \fIsymbolic_tag\fP \fImodules\|.\|.\|.\fP .I 以下が必要: リポジトリ。 .br .I 以下を変更: リポジトリ。 .br .I 同義語: .B rfreeze .br このコマンドを使って、リポジトリ中の特定の、明示的に 指定されたソースバージョンにシンボリックタグを割り当てられます。 .` "cvs rtag" はリポジトリの内容に直接に作用します (これに先立って .BR checkout する必要はありません)。 作業ディレクトリの内容に基づいて タグを付けるバージョンを選択するには、代わりに .` "cvs tag" を使います。 .SP 一般に、タグ (しばしばソフトウェア配布物のシンボリックな 名前でもある) は削除されるべきではありません。 しかし完全に廃れてしまったシンボリックな名前を削除する場合 (例えば、 アルファリリースの場合など) の手段として、 .B \-d オプションが用意されています。 .SP .` "cvs rtag" はすでに存在するタグを移動しません。 しかしながら、\fB\-F\fP オプションが指定されると .` "cvs rtag" はそのファイルに既に存在する \fIsymbolic_tag\fP のインスタンスを 新しいリポジトリのバージョンへ移動します。 \fB\-F\fP オプションが無い場合、 .` "cvs rtag" を使ってすでにそのファイルに存在するタグを付けようとすると、 エラーメッセージが出力されます。 .SP \fB-b\fP オプションはタグを ``ブランチ'' タグにし、並行の、 独立した開発を可能にします。 これは以前にリリースしたソフトウェア配布物へのパッチを作成するのに 最も有用です。 .SP 標準の \fB\-r\fP と \fB\-D\fP オプションを使って、すでに特定の タグを含んでいるファイルのみにタグを付けることができます。 この方法はタグの名前を変えるのに使えるでしょう: 古いタグで指定されるファイルにのみタグを付け、 それから古いタグを削除すれば、確実に同じファイルで古いタグを 新しいタグで置き換えることができます。 .SP .B rtag はデフォルトで再帰的に実行し、引数で指定した \fImodules\fP の全てのサブディレクトリにタグをつけます。 この動作を トップレベルのディレクトリに制限するには標準の \fB\-l\fP オプションを 指定します。 また明示的に再帰を指定するには \fB\-R\fP を指定します。 .SP モジュールデータベースではタグが指定されたときに必ず実行される プログラムを指定できます。よくある使い方は、興味を持っている グループに電子メールを送るというものです。もしそのプログラムを バイパスしたい場合は、標準の \fB\-n\fP オプションを使います。 .SP .B \-a オプションを使うと .` "Attic" の中の指定されたタグを含む削除されたファイルを .B rtag の対象にできます。 タグはそれらのファイルから削除され、開発の進展につれての シンボリックタグの再利用に便利になります (そしてファイルは以降の 配布物から削除されます)。 .TP \fBstatus\fP [\fB\-lRqQ\fP] [\fB\-v\fP] [\fIfiles\fP\|.\|.\|.] .I 以下が必要: 作業ディレクトリ、リポジトリ。 .br .I 以下を変更: 何も変更しません。 .br \fIfiles\fP の現在の状態について、``sticky'' なタグ、 日付、\fB\-k\fP オプションを含む、ソースリポジトリに関する 簡潔なレポートを表示します。(``sticky'' オプションはリセットするまで .` "cvs update" がどう働くかを規定します。 .` "cvs update \-A\|.\|.\|." の説明を参照して下さい。) .SP このコマンドを用いて、作業用ソースディレクトリでの .` "cvs update" による潜在的な影響を予測することもできます。 もし \fIfiles\fP を明示的に指定しないと、\fBcvs\fP が 作業ディレクトリに置いた全てのファイルについてレポートが 表示されます。 この検索の範囲を (そのサブディレクトリではなく) カレントディレクトリ だけに制限するには、標準の \fB\-l\fP オプションフラグを使います。 \fB\-R\fP オプションによって、明示的に再帰的なステータスレポートを 指定することもできます。 .SP .B \-v オプションを指定すると .SM RCS ファイルのシンボリックタグも表示されるようになります。 .TP \fBtag\fP [\fB\-lQqR\fP] [\fB\-F\fP] [\fB\-b\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP | \fB\-D\fP \fIdate\fP] [\fB\-f\fP] \fIsymbolic_tag\fP [\fIfiles\fP\|.\|.\|.\|] .I 以下が必要: 作業ディレクトリ、リポジトリ。 .br .I 以下を変更: リポジトリ。 .br .I 同義語: .B freeze .br このコマンドは、作業ディレクトリに最も近いリポジトリのバージョンに シンボリックタグをつけるために使います。\fBrtag\fP を 使ったときのように、タグはリポジトリに直接つけられます。 .SP \fBcvs tag\fP がリポジトリを直接操作するという事実に関し、 潜在的に驚いてしまうことがあります。 それは、チェックインバージョンに対してタグ付けするということであり、 これは作業ディレクトリにおいてローカルに修正したファイルとは 違ってもかまわないということです。 誤ってこのようなことをしたくない場合、 \fB-c\fP オプションを \fBcvs tag\fP へ指定してください。 ローカルに修正されたファイルがある場合、ファイルにタグ付けする前に、 CVS はエラーで中断します。 .SP タグの使い方の一つは、プロジェクトのソフトウェア凍結日が やってきたときに開発中のソースの ``snapshot'' を記録するというものです。 凍結した日の後でバグが修正されたら、それらの変更されたリリースの 一部となるソースのみに再度タグをつける必要があります。 .SP シンボリックタグはどのファイルのどのリビジョンがソフトウェア配布物を 作成する際に使われたかを恒久的に記録する意味があります。 .BR checkout , .B export , .B update コマンドは、タグをつけたリリースと全く同じものを、リリースのタグが つけられて以降にファイルが変更、追加、削除されたかどうかを気にする ことなく、将来のいつでも取り出すことを可能にします。 .SP 標準の \fB\-r\fP と \fB\-D\fP オプションを使って、すでに特定の タグを含んでいるファイルのみにタグを付けることができます。 この方法はタグの名前を変えるのに使えます。 すなわち、 古いタグで指定されるファイルにのみタグを付け、 それから古いタグを削除すれば、確実に同じファイルで古いタグを 新しいタグで置き換えることができます。 .SP \fB\-r\fP または \fB\-D\fP フラグに加えて \fB\-f\fP フラグを 指定すると、コマンドラインで指定したファイルで古いタグを 持っていないか指定された日時に存在しなかったものにもタグを 付けます。 .SP デフォルト (\fB\-r\fP または \fB\-D\fP フラグが無い場合) では、 バージョンは明示的に指定されるのではなく、暗黙のうちに作業ファイルの ヒストリの \fBcvs\fP レコードから取られます。 .SP .` "cvs tag \-d \fIsymbolic_tag\fP\|.\|.\|." とすると、指定したシンボリックタグが追加されるのではなく .I 削除 されます。\fI警告\fP: タグを削除する前にその根拠をしっかり確認して下さい。 これは効率的に一部の履歴情報を捨てますが、後になってその情報が重要だったと 判明するかも知れないからです。 .SP .` "cvs tag" はすでに存在するタグを移動しません。 しかしながら、\fB\-F\fP オプションが指定されると .` "cvs tag" はそのファイルに既に存在する \fIsymbolic_tag\fP のインスタンスを 新しいリポジトリのバージョンへ移動します。 \fB\-F\fP オプションが無い場合、 .` "cvs tag" を使って すでにそのファイルに存在するタグを付けようとすると エラーメッセージが出力されます。 .SP \fB-b\fP オプションはタグを ``ブランチ'' タグにし、並行して、 独立した開発を可能にします。 これは以前にリリースしたソフトウェア配布物へのパッチを作成するために 最も有効です。 .SP 通常、 .B tag はサブディレクトリに渡って再帰的に実行します。これは 標準の \fB\-l\fP オプションを使って抑制できます。 明示的に再帰を指定するには \fB\-R\fP を使います。 .TP \fBupdate\fP [\fB\-ACdf\|lPpQqR\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP|\fB\-D\fP \fIdate\fP] \fIfiles\|.\|.\|.\fP .I 以下が必要: リポジトリ、作業ディレクトリ。 .br .I 以下を変更: 作業ディレクトリ。 .br あなたが共有のリポジトリから私的なソースのコピーを作成するために .B checkout を実行した後も、別の開発者は共有のソースへの変更を続けるでしょう。 時々、開発過程で都合のいいときに、作業ディレクトリ内から .B update コマンドを使うことで、 最後に .B checkout または .BR update してからソースリポジトリに登録された変更を、あなたの変更と 融合させることができます。 .SP .B update は進行状況をファイルごとに 1 行表示することで知らせ続けます。 各行の先頭には以下の .` "U P A R M C ?" のいずれか 1 文字があり、ファイルの状態を示しています: .TP 1i \fBU\fP \fIfile\fP file はリポジトリに関して \fI最新に\fP なりました。 これはリポジトリには存在するがあなたのソースには無いもの、 およびあなたは変更していないけれどもリポジトリの 最新リビジョンでは無いものに関して行われます。 .TP 1i \fBP\fP \fIfile\fP \fBU\fP と似ていますが、CVS サーバは全ファイルの代りにパッチを送りました。 \fBU\fP と同じことを、低バンド幅で実行しました。 .TP 1i \fBA\fP \fIfile\fP file はソースのあなたの私的なコピーに \fI追加\fP されたもので、 file に対して .` "cvs commit" を実行したときに ソースリポジトリに追加されます。 これは当該ファイルを commit する必要があるという助言です。 .TP 1i \fBR\fP \fIfile\fP これはソースのあなたの私的なコピーから file が \fI削除\fP されており、 file に対して .` "cvs commit" を実行すると ソースリポジトリから削除されることを示します。 これは当該ファイルを commit する必要があるという助言です。 .TP 1i \fBM\fP \fIfile\fP あなたの作業ディレクトリの file は \fI変更\fP されています。 .` "M" は作業中のファイルについて 2 つの状態のうちの 1 つを示します: リポジトリ中の対応するファイルは変更されておらず、あなたのファイルは 最後に見たときのままになっている。 または、あなたのコピー同様 リポジトリのものも変更されているが、それらの変更は 衝突することなく無事にあなたの作業ディレクトリに \fI融合 (merge)\fP されました。 .TP 1i \fBC\fP \fIfile\fP \fIfile\fP へのあなたの変更とソースリポジトリからの変更との 融合を試みる間に \fI衝突 (conflict)\fP が検出されました。 現在 \fIfile\fP (あなたの作業ディレクトリのコピー) は 2 つのバージョンをマージした結果になっています。 変更されていない あなたのファイルのコピーも作業ディレクトリに、 `\fB.#\fP\fIfile\fP\fB.\fP\fIversion\fP' という名前で置かれます。 ここで .I version は あなたの変更したファイルの出発点となった リビジョンです。 (ある種のシステムでは、 \& .` ".#" で始まるファイルは何日かアクセスされないと自動的に削除されるので 注意して下さい。もし元のファイルのコピーを取っておくつもりなら、 名前を変えておくのが良いでしょう。) .TP 1i \fB?\fP \fIfile\fP \fIfile\fP が あなたの作業ディレクトリにありますが、 ソースリポジトリのどれとも対応しておらず、 \fBcvs\fP が無視するファイルのリストにもありません (\fB\-I\fP オプションの説明を参照して下さい)。 .PP .RS .5i .SP .B \-A オプションを用いて sticky なタグ、日付、 .B \-k オプションをリセットできます。(\fB\-r\fP, \fB\-D\fP, \fB\-k\fP オプションの いずれかを使って作業ファイルのコピーを得ると、 \fBcvs\fP は対応するタグ、日付、\fIkflag\fP を記憶し、 以降の update で それを使い続けます。\fB\-A\fP オプションを使って \fBcvs\fP にそれらの指定を忘れさせることで、ファイルの ``head'' バージョンを取り出します)。 .SP \fB\-j\fP\fIbranch\fP オプションは、変更結果のリビジョンと ベースにしたリビジョンの間での変更をマージします (例えば、もしタグがブランチを指しているなら、 .B cvs は、そのブランチで行われた全ての変更をあなたの作業ファイルにマージします)。 .SP 2 つの \fB-j\fP オプションを指定すると、 .B cvs は 2 つの それぞれのリビジョン間での変更をマージします。 これは特定の変更を作業ファイルから ``削除'' するのに使えます。 例えば、ファイル foo.c がリビジョン 1.6 をベースにしていて、 1.3 と 1.5 の間で行われた変更を削除したいなら、次のようにします: .SP .in +1i .ft B .nf example% cvs update -j1.5 -j1.3 foo.c # 順番に注意... .fi .ft P .in -1i .SP 加えて、各 \fB-j\fP オプションにはオプションで、ブランチと使う場合に、 日付指定を含めることが可能で、選択するリビジョンを指定した 日付の範囲内に制限できます。 オプションの日付はコロン (:) をタグに付けることで指定します。 .SP .in +1i .ft B .nf -jSymbolic_Tag:Date_Specifier .fi .ft P .in -1i .SP .B \-d オプションを使うと、もし作業ディレクトリに無いディレクトリが リポジトリにあれば作成します。(通常、update は作業ディレクトリに すでに登録されているディレクトリとファイルのみに働きます。) これは最初の \fBcheckout\fP 以降に作成されたディレクトリを 更新するのに有用です。しかし不幸にも副作用があります。 もし作業ディレクトリを作る際に慎重にリポジトリ中の特定の ディレクトリを除いた (モジュール名を使ったか明示的に必要な ファイルとディレクトリをコマンドラインで指定したかのいずれかで) とすると、 .B \-d で更新するとそれらの不要かも知れないディレクトリができてしまいます。 .SP \fB\-I\fP \fIname\fP を使うと、update の際、名前が \fIname\fP に符合する (作業ディレクトリの) ファイルを無視します。 コマンドラインで \fB\-I\fP を 2 回以上指定することで、 複数の無視するファイルを指定できます。 デフォルトで、\fBupdate\fP はあるパターンに名前がマッチするファイルを 無視します; 無視されるファイル名の最新リストについては、 (このマニュアルページの関連項目の節に記述してあるように) Cederqvist 著のマニュアルを参照して下さい。 .SP いずれのファイルも無視しないようにするには .` "\-I !" を使います。 .SP ローカルで修正したファイルを、 リポジトリ上のクリーンなファイルで上書きするには、 .` "\-C" を使います (修正されたファイルは `\fB.#\fP\fIfile\fP\fB.\fP\fIrevision\fP' に保存されます)。 .SP 標準の \fBcvs\fP コマンドオプション \fB\-f\fP, \fB\-k\fP, \fB\-l\fP, \fB\-P\fP, \fB\-p\fP, \fB\-r\fP も \fBupdate\fP で使用可能です。 .RE .SH "関連ファイル" より詳細な .B cvs サポートファイルの情報については .BR cvs ( 5 ) を参照して下さい。 .LP .I ホームディレクトリのファイル: .TP \&.cvsrc .B cvs の初期化ファイル。このファイルの行は各 .B cvs コマンドのデフォルトのオプションの指定に使えます。例えば .` "diff \-c" と言う行は .` "cvs diff" に対して、コマンドラインで渡されたオプションに、常に .B \-c オプションが加えられて渡されることを指定します。 .TP \&.cvswrappers リポジトリのファイル CVSROOT/cvswrappers で指定されている ものに加えて使用されるラッパを指定します。 .LP .I 作業ディレクトリのファイル: .TP CVS \fBcvs\fP 管理ファイルのディレクトリ。 .I 削除してはいけません。 .TP CVS/Entries 作業ディレクトリのファイルのリストと状態。 .TP CVS/Entries.Backup .` "CVS/Entries" のバックアップ。 .TP CVS/Entries.Static フラグ: .` "cvs update" でそれ以上エントリを追加しません。 .TP CVS/Root チェックアウトしたときのリポジトリ ( .SM CVSROOT ) 位置へのパス名。 .SM CVSROOT 環境変数が設定されていない場合、このファイルが代わりに使用されます。 このファイルの内容と .SM CVSROOT 環境変数が異なっていると警告メッセージが出されます。 .SM CVS_IGNORE_REMOTE_ROOT 環境変数が設定されていると、このファイルは上書きされることがあります。 .TP CVS/Repository ソースリポジトリ中の対応するディレクトリへのパス名。 .TP CVS/Tag ディレクトリ毎の ``sticky'' なタグまたは日付情報を保持しています。 このファイルは .B \-r か .B \-D を .B checkout または .B update コマンドに指定して、ファイルが指定されなかったときに作成/更新されます。 .TP CVS/Checkin.prog .` "cvs commit" 時に実行するプログラム名。 .TP CVS/Update.prog .` "cvs update" 時に実行するプログラム名。 .LP .I ソースリポジトリ中のファイル: .TP $CVSROOT/CVSROOT リポジトリ全体の管理ファイルのディレクトリ。 .TP CVSROOT/commitinfo,v .` "cvs commit" のリクエストを選別するプログラムを登録します。 .TP CVSROOT/cvswrappers,v ファイルをリポジトリにチェックインそしてリポジトリから チェックアウトするときに使用される .B cvs ラッパコマンドを登録します。 ラッパはファイルまたはディレクトリが CVS で入出力される際に 処理を行うことを可能にします。使い道はいろいろありますが、 その一つとして、C のファイルをチェックインする前に再フォーマットして、 リポジトリ中のコードの見た目を揃えるというものがあります。 .TP CVSROOT/editinfo,v .` "cvs commit" のログエントリの編集/確認用プログラムを登録します。 .TP CVSROOT/history \fBcvs\fP 処理のログファイル。 .TP CVSROOT/loginfo,v .` "cvs commit" のログエントリをパイプで渡すプログラムを登録します。 .TP CVSROOT/modules,v このリポジトリ中のモジュールを定義します。 .TP CVSROOT/rcsinfo,v .` "cvs commit" 操作中に使用するテンプレートへのパス名を登録します。 .TP CVSROOT/taginfo,v .` "cvs tag" と .` "cvs rtag" での確認/ログ採集のためのプログラムを登録します。 .TP MODULE/Attic 削除されたソースファイルのためのディレクトリ。 .TP #cvs.lock ソースリポジトリに微妙な変更を行っているときに .B cvs が作成するロックディレクトリ。 .TP #cvs.tfl.\fIpid\fP リポジトリの一時的なロックファイル。 .TP #cvs.rfl.\fIpid\fP 読み出しロック。 .TP #cvs.wfl.\fIpid\fP 書き込みロック。 .SH "環境変数" .TP .SM CVSROOT .B cvs ソースリポジトリのルートへのフルパス名 ( .SM RCS ファイルが保存されている場所) を指定します。 この情報は大部分のコマンドの実行で \fBcvs\fP から参照できなければなりません。 もし .SM CVSROOT が設定されていないか、それを上書き指定したい場合は、 コマンドライン上で与えることができます: .` "cvs \-d \fIcvsroot cvs_command\fP\|.\|.\|." もし \fBcvs\fP バイナリのコンパイル時に正しいパスが指定されているなら .SM CVSROOT を設定しなくて構いません。 .TP .SM CVSREAD これがセットされていると、 .B checkout と .B update は作業ディレクトリのファイルを読み出し専用にするべく努力します。 これがセットされていないときは、デフォルトでは作業ファイルの 変更が許可されます。 .TP .SM CVSREADONLYFS これがセットされていると、 .B \-R オプションが仮定され、 .B cvs の動作が読み出し専用リポジトリモードになります。 .TP .SM RCSBIN .BR co ( 1 ) や .BR ci ( 1 ) といった .SM RCS のプログラムが置かれている場所へのフルパス名を指定します (CVS 1.9 またはそれ以前)。 .TP .SM CVSEDITOR .BR commit 中にログメッセージの記録に使われるプログラムを指定します。 設定されていないと、 .SM VISUAL と .SM EDITOR の環境変数が (この順序で) 試されます。 どちら も設定されていないなら、システム依存のデフォルトエディタ (例えば .BR vi ) が使用されます。 .TP +.SM CVS_CLIENT_PORT +この変数がセットされていると +.B cvs +はデフォルトポート (cvspserver 2401) の代りにこのポートを +\fIpserver モード\fP +で使用します。 +.TP .SM CVS_IGNORE_REMOTE_ROOT この変数がセットされていると .B cvs は CVS/Root ファイル中のリモートのリポジトリへの参照を全て 無視します。 .TP .SM CVS_OPTIONS .B cvs のデフォルトオプションを指定します。 これらのオプションは、 スタートアップファイル (\fI~/.cvsrc\fP) の読み込み前に解釈されます。 また、コマンドラインパラメータにより明示的に上書き可能です。 .TP .SM CVS_RSH .B cvs サーバを開始するときに使用するリモートシェルコマンドの 名前を決定します。 この変数が設定されていない場合は .` "ssh" が使用されます。 .TP .SM CVS_SERVER .B cvs サーバコマンドの名前を指定します。 この変数が設定されていない場合は .` "cvs" が使用されます。 .TP .SM CVSWRAPPERS .` "cvswrappers" スクリプトは、 リポジトリの .SM CVSROOT/cvswrappers とユーザのホームディレクトリの ~/.cvswrappers に 含まれるデフォルトのラッパに加え、 変数 .SM CVSWRAPPERS を参照して、ラッパファイルの名前を決定します。 .SH "作者" .TP Dick Grune .B comp.sources.unix にポストされ、1986 年 12 月のリリース volume6 に収められたオリジナルの .B cvs シェルスクリプト版の作者。 .B cvs の衝突を解決するアルゴリズムの大部分を作成しました。 .TP Brian Berliner .B cvs プログラム自身のコーディングとデザインを 1989 年 4 月に、Dick によるオリジナルをベースにして行いました。 .TP Jeff Polk Brian を助けて .B cvs のモジュールとベンダブランチのサポートをデザインしました。 そして .BR checkin ( 1 ) シェルスクリプト ( .` "cvs import" の祖先) の作者でもあります。 .TP ここに書くには多くの人が他にもいます。 .SH "関連項目" CVS の最も包括的なマニュアルは Per Cederqvist らによる Version Management with CVS です。 システムによっては、 .B info cvs コマンドで閲覧できたり、 cvs.ps (postscript), cvs.texinfo (texinfo のソース), cvs.html が 利用可能かもしれません。 .SP CVS の更新、ドキュメントに関するさらなる情報、 CVS 関連のソフトウェア、CVS の開発等については、下記をご覧ください: .in +1i .B http://cvshome.org .B http://www.loria.fr/~molli/cvs-index.html .in -1i .SP .BR ci ( 1 ), .BR co ( 1 ), .BR cvs ( 5 ), .BR cvsbug ( 8 ), .BR diff ( 1 ), .BR grep ( 1 ), .BR patch ( 1 ), .BR rcs ( 1 ), .BR rcsdiff ( 1 ), .BR rcsmerge ( 1 ), .BR rlog ( 1 ). .SH 日本語訳 野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳 .br 酒井 淳嗣(sakai@jp.freebsd.org): FreeBSD 版の校正 diff --git a/ja_JP.eucJP/man/man1/mklocale.1 b/ja_JP.eucJP/man/man1/mklocale.1 index eabb04936a..65f6da764c 100644 --- a/ja_JP.eucJP/man/man1/mklocale.1 +++ b/ja_JP.eucJP/man/man1/mklocale.1 @@ -1,309 +1,312 @@ .\" Copyright (c) 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Paul Borman at Krystal Technologies. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mklocale.1 8.2 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/mklocale/mklocale.1,v 1.17 2003/08/10 11:51:14 tjr Exp % +.\" %FreeBSD: src/usr.bin/mklocale/mklocale.1,v 1.19 2003/11/15 02:49:53 tjr Exp % .\" .\" $FreeBSD$ .\" -.Dd August 10, 2003 +.Dd November 8, 2003 .Dt MKLOCALE 1 .Os .Sh 名称 .Nm mklocale .Nd LC_CTYPE locale ファイルの作成 .Sh 書式 .Nm .Op Fl d .Ar "< src-file" .Ar "> language/LC_CTYPE" .Nm .Op Fl d .Fl o .Ar language/LC_CTYPE .Ar src-file .Sh 解説 .Nm ユーティリティは標準入力から .Dv LC_CTYPE のソースファイルを読み込み、 .Pa /usr/share/locale/ Ns Ar language Ns Pa /LC_CTYPE に置くのに適した .Dv LC_CTYPE のバイナリファイルを標準出力へ書き出します。 .Pp .Ar src-file のフォーマットは非常に単純です。 キーワードから始まり、それに付随するデータが続く複数の行から構成されます。 ファイル中にコメントを書く場合は、 C のスタイルのコメントを使用することができます。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl d デバッグ用メッセージを有効にします。 .It Fl o 出力ファイルを指定します。 .El .Pp 後述するキーワードの他に、 .Ar src-file の中で有効なトークンとして以下のものがあります。 .Bl -tag -width ".Ar literal" .It Dv RUNE .Dv RUNE は以下のいずれかです。 .Bl -tag -width ".Ar 0x[0-9a-z]*" .It Ar 'x' ASCII 文字の .Ar x 。 .It Ar '\ex' ANSI 文字の .Ar \ex 。 ここで、 .Ar \ex は .Dv \ea , .Dv \eb , .Dv \ef , .Dv \en , .Dv \er , .Dv \et , .Dv \ev のいずれかになります。 .It Ar 0x[0-9a-z]* rune コードを表す16進数です。 .It Ar 0[0-7]* rune コードを表す8進数です。 .It Ar [1-9][0-9]* rune コードを表す10進数です。 .El .It Dv STRING ダブルクォーテーション (") で囲まれた文字列です。 .It Dv THRU .Dv ... か .Dv - のいずれかで、範囲を示すために使われます。 .It Ar literal 以下の文字は文字通りに解釈されます。 .Bl -tag -width ".Dv <\|\|(\|\|[" .It Dv "<\|(\|[" マッピングを開始します。これらは全て同じ意味を持ちます。 .It Dv ">\|\^)\|]" マッピングを終了します。これらは全て同じ意味を持ちます。 .It Dv : マッピング中の区切り文字として使用されます。 .El .El .Pp ソースファイル中に一度のみ現れるキーワードには以下のものがあります。 .Bl -tag -width ".Dv PHONOGRAM" .It Dv ENCODING これに続く .Dv STRING トークンによって、 作成中の locale にて使われるエンコーディング機構を指定します。 現在指定できるエンコーディングとして以下のものがあります。 .Bl -tag -width ".Dv MSKanji" .It Dv BIG5 中国語の .Dq Big5 エンコーディングです。 .It Dv EUC いくつかの .Ux のベンダで使われている .Dv EUC エンコーディングです。 .It Dv GB18030 中国語テキストの PRC 国家標準エンコーディングです。 +.It Dv GB2312 +中国語テキストの古い PRC 国家標準エンコーディングです。 .It Dv GBK 広範囲に使用されている、中国語テキストのエンコーディングであり、 GB\ 2312-1980 との後方互換性があります .It Dv MSKanji Microsoft が使用する日本語エンコーディング方法であり、 ゆるやかに JIS を基にしています。 .Dq "Shift JIS" や .Dq SJIS としても知られています。 .It Dv NONE 変換を行ないません。デフォルトのエンコーディングです。 .It Dv UTF2 (価値が低下しています) .Tn "Bell Labs の Plan 9" から移植された .Dq "Universal character set Transformation Format" です。 .It Dv UTF-8 .Tn ISO 10646 の .Dv UTF-8 変換フォーマットであり、RFC 2279 で定義されています。 .El .It Dv VARIABLE 1 つのタブ文字もしくはスペース文字がこのキーワードに続き、 その後にエンコーディングに特有のデータが置かれます。 現在は .Dv "EUC" エンコーディングのみで、この可変データが必要となります。 詳しくは .Xr euc 4 を参照してください。 .It Dv INVALID (価値が低下しています) 1 つの .Dv RUNE を続いて指定し、作成中の locale における不正な rune を指定します。 .El .Pp 以下のキーワードは複数回指定でき、次の形式を取ります。 .Bl -tag -width ".Dv " -offset indent .It Dv .Dv RUNE1 が .Dv RUNE2 にマップされます。 .It Dv .Dv RUNE1 から .Dv RUNEn の rune が .Dv RUNE2 から .Dv RUNE2 + n-1 にマップされます。 .El .Bl -tag -width ".Dv PHONOGRAM" .It Dv MAPLOWER 小文字への変換マッピングを定義します。 .Dv RUNE2 は .Dv RUNE1 の小文字表現となります。 .It Dv MAPUPPER 大文字への変換マッピングを定義します。 .Dv RUNE2 は .Dv RUNE1 の大文字表現となります。 .It Dv TODIGIT rune からその数値へのマッピングを定義します。 .Dv RUNE2 は .Dv RUNE1 の整数値表現となります。 例えば、ASCII 文字の .Ql 0 は 10進数の 0 にマップされます。 255 以下の値のみが指定可能です。 .El .Pp 以下のキーワードは複数回指定でき、次の形式を取ります。 .Bl -tag -width ".Dv RUNE1 THRU RUNEn" -offset indent .It Dv RUNE この rune はキーワードによって定義された属性を持ちます。 .It Dv "RUNE1 THRU RUNEn" .Dv RUNE1 と .Dv RUNEn を含む、この間に指定された全ての rune はキーワードによって定義された属性を持ちます。 .El .Bl -tag -width ".Dv PHONOGRAM" .It Dv ALPHA アルファベットで表示可能な文字である rune を定義します。 .It Dv CONTROL 制御文字である rune を定義します。 .It Dv DIGIT 10 進数字で表示可能な文字である rune を定義します。 .It Dv GRAPH 表示可能な文字である rune を定義します。 .It Dv LOWER 小文字で表示可能な文字である rune を定義します。 .It Dv PUNCT 句読点で表示可能文字な rune を定義します。 .It Dv SPACE スペース文字である rune を定義します。 .It Dv UPPER 大文字で表示可能な文字である rune を定義します。 .It Dv XDIGIT 16 進数字で表示可能な文字である rune を定義します。 .It Dv BLANK 空白文字である rune 定義します。 .It Dv PRINT 表示可能な rune を定義します。 .It Dv IDEOGRAM 表意記号 (訳註:7, = & などの記号) で表示可能な文字である rune を定義します。 .It Dv SPECIAL 特殊文字で印刷可能な文字である rune を定義します。 .It Dv PHONOGRAM 表音文字で表示可能な文字である rune を定義します。 .It Dv SWIDTH0 表示幅 0 の rune を定義します。 .It Dv SWIDTH1 表示幅 1 の rune を定義します。 .It Dv SWIDTH2 表示幅 2 の rune を定義します。 .It Dv SWIDTH3 表示幅 3 の rune を定義します。 .El .Pp 表示幅を明示的に定義しない場合、デフォルトでは、 表示可能 rune に対しては幅 1 が仮定されます。 .Sh 関連項目 .Xr colldef 1 , .Xr mbrune 3 , .Xr rune 3 , .Xr setlocale 3 , .Xr wcwidth 3 , -.Xr euc 4 , -.Xr utf2 4 , .Xr big5 5 , +.Xr euc 5 , .Xr gb18030 5 , +.Xr gb2312 5 , .Xr gbk 5 , .Xr mskanji 5 , +.Xr utf2 8 , .Xr utf8 5 .Sh バグ .Nm mklocale ユーティリティはあまりに割り切り過ぎです。 .Sh 歴史 .Nm mklocale ユーティリティは .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man2/jail.2 b/ja_JP.eucJP/man/man2/jail.2 index d337c5f1a3..19be1e0859 100644 --- a/ja_JP.eucJP/man/man2/jail.2 +++ b/ja_JP.eucJP/man/man2/jail.2 @@ -1,125 +1,134 @@ .\" .\"---------------------------------------------------------------------------- .\""THE BEER-WARE LICENSE" (Revision 42): .\" 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 .\"---------------------------------------------------------------------------- -.\"%FreeBSD: src/lib/libc/sys/jail.2,v 1.24 2003/05/22 13:02:28 ru Exp % +.\"%FreeBSD: src/lib/libc/sys/jail.2,v 1.26 2003/11/11 18:31:36 kensmith Exp % .\" .\" $FreeBSD$ .Dd April 8, 2003 .Dt JAIL 2 .Os .Sh 名称 .Nm jail , jail_attach .Nd 現在のプロセスとその将来の子孫を閉じ込める .Sh ライブラリ .Lb libc .Sh 書式 .In sys/param.h .In sys/jail.h .Ft int .Fn jail "struct jail *jail" .Ft int .Fn jail_attach "int jid" .Sh 解説 .Fn jail システムコールは牢屋をつくり、現在のプロセスをその中に閉じ込めます。 .Pp 引数は牢屋を記述する構造体へのポインタです。 .Bd -literal -offset indent struct jail { u_int32_t version; char *path; char *hostname; u_int32_t ip_number; }; .Ed .Pp .Dq Li version には使用する API のバージョンを定義します。 今のところ 0 に設定します。 .Pp .Dq Li path ポインタには牢屋のルートになるディレクトリを設定します。 .Pp .Dq Li hostname ポインタには牢屋のホスト名を設定します。 これは牢屋の中から変更できます。 .Pp .Dq Li ip_number は牢屋に割り当てる IP 番号を設定します。 .Pp .Fn jail_attach システムコールは、 .Fa jid によって識別される既存の jail を現在のプロセスにアタッチします。 .Sh 戻り値 成功の場合には、 .Fn jail は jail 識別子 (JID) と呼ばれる負ではない整数を返します。 失敗の場合には \-1 を返し、そのエラーを示すために .Va errno を設定します。 .Pp .Rv -std jail_attach .Sh 牢屋? プロセスは一度牢屋に入れられると、それ自身とその子孫は牢屋から 逃れることはできません。 .Pp -牢屋の中では "スーパユーザ" の概念はとても弱まっています。 +牢屋の中では +.Dq スーパユーザ +の概念はとても弱まっています。 一般に全体が牢屋の中にあるわけではないものを牢屋の中から台無しにすることは できないと考えられます。 例えば .Dq Li path の下のディレクトリツリーは .Dq Li "rm -rf /*" も含めて、root が普通にできるように操作できますが、 デバイス型特殊ノードは共有されたリソース (カーネルの中のデバイスドライバ) を 参照するので、新しく作ることはできません。 +プロセスにとっての実際の +.Dq セキュアレベル +は、グローバルな +.Dq セキュアレベル +と、jail 毎の +.Dq セキュアレベル +(存在する場合) の大きい方です。 .Pp IP 活動はすべて指定された IP 番号に制限されます。 指定された IP 番号はネットワークインタフェースのうちの 1 つの別名で あるべきです。 .Pp .Dq Li /proc//status を調べることで閉じ込められたプロセスを識別することができます。 行末のフィールドが、閉じ込められていないプロセスではハイフン 1 つ、 閉じ込められたプロセスでは現在牢屋に設定されているホスト名になります。 .Sh エラー .Fn jail システムコールは次の場合に失敗します: .Bl -tag -width Er .It Bq Er EINVAL 引数のバージョン番号が正しくありません。 .El .Pp さらに .Fn jail は内部で .Xr chroot 2 を呼ぶので、全く同じ理由で失敗する可能性があります。 詳しくは .Xr chroot 2 のマニュアルページを参照して下さい。 .Sh 関連項目 .Xr chdir 2 , .Xr chroot 2 .Sh 歴史 .Fn jail システムコールは .Fx 4.0 で登場しました。 .Fn jail_attach システムコールは .Fx 5.1 で登場しました。 .Sh 作者 jail の機能は .An Poul-Henning Kamp によって R&D Associates .Dq Li http://www.rndassociates.com/ のために書かれ、 .Fx に寄贈されました。 diff --git a/ja_JP.eucJP/man/man2/kqueue.2 b/ja_JP.eucJP/man/man2/kqueue.2 index b87e90fad5..6e7af7ffd8 100644 --- a/ja_JP.eucJP/man/man2/kqueue.2 +++ b/ja_JP.eucJP/man/man2/kqueue.2 @@ -1,504 +1,529 @@ .\" Copyright (c) 2000 Jonathan Lemon .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must 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 ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc/sys/kqueue.2,v 1.35 2003/10/20 02:29:16 jmg Exp % +.\" %FreeBSD: src/lib/libc/sys/kqueue.2,v 1.36 2003/11/11 16:41:27 brueffer Exp % .\" .\" $FreeBSD$ .Dd April 14, 2000 .Dt KQUEUE 2 .Os .Sh 名称 .Nm kqueue , .Nm kevent .Nd カーネルイベント通知メカニズム .Sh ライブラリ .Lb libc .Sh 書式 .In sys/types.h .In sys/event.h .In sys/time.h .Ft int .Fn kqueue "void" .Ft int .Fn kevent "int kq" "const struct kevent *changelist" "int nchanges" "struct kevent *eventlist" "int nevents" "const struct timespec *timeout" .Fn EV_SET "&kev" ident filter flags fflags data udata .Sh 解説 .Fn kqueue システムコールは、フィルタと呼ばれる小さなカーネルコードの実行結果に基づき、 イベントの発生やある状態の成立をユーザに通知する一般的な方法を提供します。 kevent は (ident, filter) のペアによって識別されます。 ここで、ident は識別子、filter はフィルタを表します。 1 つの kqueue には、同じ kevent が複数存在することはできません。 .Pp フィルタは、kevent の初期登録時に 以前から存在した状態を検出するために実行されます。 また、あるイベントが評価のためにフィルタに渡されるたびに実行されます。 状態を報告すべきとフィルタが決定した場合には、 その kevent はユーザが回収できるように kqueue に置かれます。 .Pp ユーザが kqueue から kevent を回収しようとしたときにも、 フィルタが実行されます。 フィルタの実行により、そのイベントをトリガした状態が成立していないこと が示された場合には、その kevent は kqueue から削除され、 ユーザに渡されません。 .Pp フィルタをトリガするイベントが複数ある場合でも、 kqueue の中に kevent が複数置かれるわけではありません。 代わりに、フィルタは複数のイベントを単一の kevent 構造体へ集めます。 ファイル記述子に対する .Fn close の呼び出しは、その記述子を参照しているあらゆる kevent を削除します。 .Pp .Fn kqueue システムコールは新規のカーネルイベントキューを生成して記述子を返します。 キューは .Xr fork 2 で生成された子プロセスには継承されません。 しかしながら、 .Dv RFFDG フラグなしで .Xr rfork 2 が呼び出された場合には、記述子テーブルが共有され、2 つの プロセス間で kqueue の共有が可能になります。 .Pp .Fn kevent システムコールは、キューにイベントを登録し、保留中のあらゆるイベントを ユーザに返すために使用されます。 .Fa changelist 引数は .Va kevent 構造体の配列へのポインタです。 この構造体は .In sys/event.h で定義されています。 保留中のイベントをキューから読み取る前に、 .Fa changelist に含まれている全ての変更を適用します。 .Fa nchanges 引数は .Fa changelist の大きさを与えます。 .Fa eventlist 引数は kevent 構造体の配列へのポインタです。 .Fa nevents 引数は .Fa eventlist の大きさを決定します。 .Fa nevents が 0 の時には、 .Xr select 2 とは違って、たとえ .Fa timeout がある場合でも .Fn kevent はすぐに戻ります。 .Fa timeout が NULL でないポインタの場合には、timespec 構造体であると解釈されて、 イベントを待つ最大待ち時間を指定します。 .Fa timeout が NULL ポインタの場合には、 .Fn kevent は無期限に待ちます。 ポーリングの効果を得るためには、 .Fa timeout 引数に、0 を示す .Va timespec 構造体を指す非 NULL のポインタを与えるべきです。 .Fa changelist と .Fa eventlist 用に同じ配列を使うことができます。 .Pp .Fn EV_SET マクロは kevent 構造体の初期化を簡単にするために用意されています。 .Pp .Va kevent 構造体は次のように定義されています: .Bd -literal struct kevent { uintptr_t ident; /* このイベントの識別子 */ short filter; /* イベントのフィルタ */ u_short flags; /* kqueue のアクションフラグ */ u_int fflags; /* フィルタフラグ値 */ intptr_t data; /* フィルタデータ値 */ void *udata; /* 不透明なユーザデータ識別子 */ }; .Ed .Pp .Fa struct kevent のフィールドは以下のとおりです: .Bl -tag -width XXXfilter .It ident このイベントを識別するために使用される値です。 厳密な解釈は結び付けられたフィルタにより決定されますが、 普通はファイル記述子として解釈されます。 .It filter このイベントを処理するために使用されるカーネルフィルタを識別します。 あらかじめ定義されたシステムフィルタは後述してあります。 .It flags イベント発生時に実行するべきアクションです。 .It fflags フィルタ固有のフラグです。 .It data フィルタ固有のデータの値です。 .It udata 変更されずにカーネルを通して渡される不透明なユーザ定義の値です。 .El .Pp .Va flags フィールドは以下の値を含むことができます: .Bl -tag -width XXXEV_ONESHOT .It EV_ADD イベントを kqueue に追加します。 既存のイベントを再び追加すると、元のイベントのパラメータが変更されます。 重複するエントリができるわけではありません。 イベントを追加すると、EV_DISABLE フラグによって上書きされない限りは 自動的に有効にされます。 .It EV_ENABLE イベントがトリガされた場合に、 .Fn kevent がそのイベントを返すことを許可します。 .It EV_DISABLE イベントを無効にします。 これにより .Fn kevent はそのイベントを返さなくなります。 フィルタ自身は無効にされません。 .It EV_DELETE kqueue からイベントを削除します。 ファイル記述子に結び付けられているイベントは、 その記述子の最後のクローズ時に自動的に削除されます。 .It EV_ONESHOT フィルタが最初トリガされたときにのみ、イベントが返るようにします。 ユーザがイベントを kqueue から回収した後で、そのイベントは削除されます。 .It EV_CLEAR ユーザがイベントを回収した後に、その状態をリセットします。 これは現在の状態ではなく、状態の変化を報告するフィルタに有用です。 幾つかのフィルタは内部でこのフラグを自動的にセットしている かもしれないことに注意してください。 .It EV_EOF そのフィルタ固有の EOF 状態であることを示すために、 フィルタがこのフラグをセットすることがあります。 .It EV_ERROR 後述の .Sx 戻り値 を参照してください。 .El .Pp あらかじめ定義されたシステムフィルタを次に示します。 引数は kevent 構造体の .Va fflags および .Va data フィールドを経由してやりとりすることができます。 .Bl -tag -width EVFILT_SIGNAL .It EVFILT_READ 識別子に記述子を引数として取ります。 読取り可能なデータがあるときに戻ります。 このフィルタの振舞いは、その記述子の型により少し異なります。 .Pp .Bl -tag -width 2n .It ソケット 事前に .Fn listen に渡されたソケットの場合、保留中の次の接続があるときに戻ります。 .Va data には listen のバックログ (backlog) の大きさが入っています。 .Pp その他のソケット記述子の場合、ソケットバッファの .Dv SO_RCVLOWAT の値を基準にして、読み取るデータがあるときに戻ります。 フィルタを追加するときに、 .Va fflags に NOTE_LOWAT を設定し .Va data に新しい最低基準値を指定することにより、 この値を、 フィルタごとの最低基準値で上書きすることが可能です。 戻るときには、 .Va data には読取り可能なプロトコルデータのバイト数が入っています。 .Pp ソケットの読取り側が切断された場合には、フィルタは .Va flags に EV_EOF も設定します。 ここでエラーが起きた場合には、 .Va fflags にソケットエラーを返します。 ソケットバッファの中に保留中のデータが残っていても、 (接続が切れたことを示す) EOF が返されることがあります。 .It vnode ファイルポインタがファイルの最後 (EOF) でないときに戻ります。 .Va data は現在位置からファイルの最後 (EOF) までのオフセットが入っています。 この値は負であるかもしれません。 .It FIFO とパイプ 読み取るべきデータがあるときに戻ります。 .Va data には有効なバイト数が入っています。 .Pp 最後の書込み側が切断したときに、フィルタは .Va flags に EV_EOF をセットします。 EV_CLEAR を渡すことで、このフラグをクリアすることができ、 フィルタはデータが読み取るようになるのを戻らずに再び待ちます。 .It "BPF デバイス" BPF バッファが一杯になったとき、BPF タイムアウトが満了したとき、 または BPF の .Dq 直接モード が有効で読み込むべきデータがあるときに、戻ります。このときの .Va data には利用可能なバイト数が入ります。 .El .It EVFILT_WRITE 識別子に記述子を引数として取ります。 その記述子が書込み可能になるたびに戻ります。 ソケット、パイプおよび FIFO では、 .Va data には書込みバッファの残り領域の大きさが入っています。 読取り側が切断したときに、フィルタは EV_EOF をセットします。 FIFO の場合、EV_CLEAR を使いこれをクリアすることができます。 このフィルタは vnode または BPF デバイスをサポートしていないことに 注意してください。 .Pp ソケットの場合、最低基準値およびソケットエラーの取り扱いは EVFULT_READ の場合と同じです。 .It EVFILT_AIO 非同期入出力要求の sigevent 部分の、 .Va sigev_notify_kqueue にはイベントを付加する kqueue の記述子を入れ、 .Va sigev_value には udata の値を入れ、 .Va sigev_notify には SIGEV_KEVENT を入れて、非同期入出力要求を埋めます。 .Fn aio_* システムコールが呼び出されたとき、そのイベントは 指定された kqueue に登録されます。 aio_* 関数が返した .Fa aiocb 構造体を .Va ident 引数にセットします。 このフィルタは aio_error と同様の条件で戻ります。 .Pp 別の方法として、 .Va ident に kqueue 記述子を入れて kevent 構造体を初期化し、 そのアドレスを非同期要求の .Va aio_lio_opcode フィールドに置くことも可能です。 しかしながら、このアプローチは 64 ビットポインタのアーキテクチャでは 動作しないでしょうし、あてにするべきではありません。 .It EVFILT_VNODE ファイル記述子を識別子に、監視するイベントを .Va fflags に引数として取ります。 指定した記述子に対し要求されたイベントが 1 つ以上発生したときに戻ります。 監視するイベントを以下に示します: .Bl -tag -width XXNOTE_RENAME .It NOTE_DELETE 記述子が参照するファイルに対し .Fn unlink システムコールが呼ばれました。 .It NOTE_WRITE 記述子が参照するファイルに対し書込みが起こりました。 .It NOTE_EXTEND 記述子が参照するファイルのサイズが拡張されました。 .It NOTE_ATTRIB 記述子が参照するファイルの属性が変更されました。 .It NOTE_LINK ファイルのリンク数が変更されました。 .It NOTE_RENAME 記述子が参照するファイルがリネームされました。 .It NOTE_REVOKE ファイルへのアクセスが .Xr revoke 2 によって無効にされたか、もしくは、下位層のファイルシステムが マウントされていません。 .El .Pp 戻るときに、 .Va fflags にフィルタをトリガしたイベントが入っています。 .It EVFILT_PROC 監視するプロセス ID を識別子に、監視するイベントを .Va fflags に引数として取ります。 要求されたイベントを 1 つ以上プロセスが実行するときに戻ります。 あるプロセスが他のプロセスを正常に見ることができる場合には、 イベントをそのプロセスに結び付けることができます。 監視するイベントを次に示します: .Bl -tag -width XXNOTE_TRACKERR .It NOTE_EXIT プロセスが終了しました。 .It NOTE_FORK プロセスが .Fn fork を呼びました。 .It NOTE_EXEC プロセスが .Xr execve 2 または類似の呼び出しにより、新規のプロセスを実行しました。 .It NOTE_TRACK .Fn fork の呼び出しを越えて、プロセスを追跡します。 親プロセスは .Va fflags フィールドに NOTE_TRACK をセットして戻り、一方、子プロセスは .Va fflags に NOTE_CHILD を .Va data に親プロセスの PID をセットし戻ります。 .It NOTE_TRACKERR このフラグは、システムが子プロセスへのイベントを 結び付けることができなかったときに戻ります。 通常、これは資源の制限により生じます。 .El .Pp 戻るときに、 .Va fflags はフィルタをトリガしたイベントが入っています。 .It EVFILT_SIGNAL 監視するシグナル番号を識別子に引数として取ります。 与えられたシグナルがプロセスに配送されたときに戻ります。 これは .Fn signal および .Fn sigaction の仕組みと共存し、低い優先順位を持っています。 たとえそのシグナルが SIG_IGN とマークされていたとしても、 フィルタはプロセスに配送されようとしたシグナル全てを記録します。 通常のシグナル配送処理の後に、イベント通知が発生します。 .Va data には .Fn kevent を最後に呼び出してからのシグナル発生の回数が返ります。 このフィルタは内部で自動的に EV_CLEAR フラグをセットします。 .It EVFILT_TIMER .Va ident で識別される、任意のタイマを設定します。 タイマを追加する場合、 .Va data はタイムアウトをミリ秒単位で指定します。 EV_ONESHOT を指定しない限り、タイマは周期的です。 .Va data には、 .Fn kevent を最後に呼び出してからのタイムアウトの回数が返ります。 このフィルタは内部で自動的に EV_CLEAR フラグをセットします。 +.It Dv EVFILT_NETDEV +識別子としてネットワークインタフェースの記述子を取り、 +監視するイベントを +.Va fflags +に取ります。 +記述子上に要求されたイベントが 1 つ以上発生したとき、戻ります。 +監視可能なイベントは次の通りです: +.Bl -tag -width XXNOTE_LINKDOWN +.It Dv NOTE_LINKUP +リンクがアップ。 +.It Dv NOTE_LINKDOWN +リンクがダウン。 +.It Dv NOTE_LINKINV +リンク状態が無効。 +.El +.Pp +戻るとき、フィルタをトリガしたイベントが +.Va fflags +に格納されます。 .El .Sh 戻り値 .Fn kqueue システムコールは新規のカーネルイベントキューを生成し、 ファイル記述子を返します。 カーネルイベントキューの生成時にエラーがあった場合には、 値 -1 が返されて errno がセットされます。 .Pp .Fn kevent システムコールは .Fa eventlist に配列されているイベントの数を返します。 この数は、最大 .Fa nevents で与えられた値までです。 .Fa changelist の要素の処理中にエラーが発生し、かつ .Fa eventlist に十分な余地がある場合には、 .Va flags に .Dv EV_ERROR がセットされ、 .Va data にシステムエラーがセットされたイベントが、 .Fa eventlist に置かれます。 さもなければ、 .Dv -1 が返され、 .Dv errno がエラー状態を示すためにセットされます。 時間切れの場合には、 .Fn kevent は 0 を返します。 .Sh エラー .Fn kqueue システムコールは以下の場合に失敗します: .Bl -tag -width Er .It Bq Er ENOMEM カーネルがカーネルキューのための十分なメモリの割り当てに失敗しました。 .It Bq Er EMFILE プロセスの記述子テーブルが満杯です。 .It Bq Er ENFILE システムファイルテーブルが満杯です。 .El .Pp .Fn kevent 関数は以下の場合に失敗します: .Bl -tag -width Er .It Bq Er EACCES プロセスがフィルタを登録する権限を持っていません。 .It Bq Er EFAULT .Va kevent 構造体の読取りまたは書込みでエラーがありました。 .It Bq Er EBADF 指定された記述子が有効ではありません。 .It Bq Er EINTR 時間切れ前や、戻るための何らかのイベントが kqueue に 置かれる前に、シグナルが配送されました。 .It Bq Er EINVAL 指定されたタイムリミットまたはフィルタが無効です。 .It Bq Er ENOENT 修正または削除されるべきイベントが見つかりません。 .It Bq Er ENOMEM イベント登録のためのメモリがありません。 .It Bq Er ESRCH 結び付けるために指定したプロセスが存在しません。 .El .Sh 関連項目 .Xr aio_error 2 , .Xr aio_read 2 , .Xr aio_return 2 , .Xr poll 2 , .Xr read 2 , .Xr select 2 , .Xr sigaction 2 , .Xr write 2 , .Xr signal 3 .Sh 歴史 .Fn kqueue および .Fn kevent システムコールは .Fx 4.1 ではじめて登場しました。 .Sh 作者 .Fn kqueue システムと、このマニュアルページは .An Jonathan Lemon Aq jlemon@FreeBSD.org が書きました。 .Sh バグ 現在は、UFS ファイルシステムに属さない .Xr vnode 9 を監視することができません。 +.Pp +.Dv EVFILT_NETDEV +フィルタが現在実装されているのは、LINKUP と LINKDOWN の操作に +.Xr miibus 4 +ドライバを使用しているデバイスに対してのみです。 +そのため、非イーサネットデバイスに対しては動作しません。 diff --git a/ja_JP.eucJP/man/man2/ktrace.2 b/ja_JP.eucJP/man/man2/ktrace.2 index 816dbdc2f7..99b2abf44b 100644 --- a/ja_JP.eucJP/man/man2/ktrace.2 +++ b/ja_JP.eucJP/man/man2/ktrace.2 @@ -1,166 +1,186 @@ .\" 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. .\" .\" @(#)ktrace.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/ktrace.2,v 1.21 2003/11/04 09:15:42 tjr Exp % +.\" %FreeBSD: src/lib/libc/sys/ktrace.2,v 1.23 2003/11/11 04:59:25 jkoshy Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt KTRACE 2 .Os .Sh 名称 .Nm ktrace .Nd プロセスのトレース .Sh ライブラリ .Lb libc .Sh 書式 .In sys/param.h .In sys/time.h .In sys/uio.h .In sys/ktrace.h .Ft int .Fn ktrace "const char *tracefile" "int ops" "int trpoints" "int pid" .Sh 解説 .Fn ktrace システムコールは、1 つまたは複数のプロセスのトレースを有効または無効にします。 ユーザは自分のプロセスだけをトレースできます。 スーパユーザだけが、setuid プログラムまたは setgid プログラムをトレースできます。 .Pp .Fa tracefile 引数は、トレースに使用するファイルのパス名を指定します。 ファイルは存在していなければならず、 呼び出し側プロセスによって書込み可能な通常ファイルである必要があります。 トレースレコードはすべてファイルの末尾に追加されるので、 直前のトレースデータを切り捨てるためにはファイルの長さを 0 にする必要が あります。 トレース点が無効な場合 (後述の KTROP_CLEAR を参照)、 .Fa tracefile は NULL にできます。 .Pp .Fa ops 引数は要求された ktrace 操作を指定します。 定義されている操作は次のとおりです: .Bl -column KTRFLAG_DESCENDXXX -offset indent .It "KTROP_SET " .Fa trpoints で指定されたトレース点を有効にします。 .It "KTROP_CLEAR " .Fa trpoints で指定されたトレース点を無効にします。 .It "KTROP_CLEARFILE すべてのトレースを停止します。" .It "KTRFLAG_DESCEND トレースの変更が、指定のプロセスとその現在の" すべての子プロセスに適用されます。 .El .Pp .Fa trpoints 引数は関心のあるトレース点を指定します。 定義されているトレース点は次のとおりです: .Bl -column KTRFAC_SYSCALLXXX -offset indent .It "KTRFAC_SYSCALL システムコールをトレースします。" .It "KTRFAC_SYSRET システムコールからの戻り値をトレースします。" .It "KTRFAC_NAMEI パス名の探索操作をトレースします。" .It "KTRFAC_GENIO すべての入出力をトレースします" (このオプションが大量の出力を生成する可能性があることに注意してください)。 .It "KTRFAC_PSIG ポストされたシグナルをトレースします。" .It "KTRFAC_CSW コンテキストスイッチをトレースします。" .It "KTRFAC_INHERIT これ以降の子にトレースを継承します。" .El .Pp 各トレースイベントは、汎用のヘッダの後に トレース点に固有の構成要素が続く形式のレコードを出力します。 汎用のヘッダは次のとおりです: .Bd -literal struct ktr_header { int ktr_len; /* バッファの長さ */ short ktr_type; /* トレースレコードのタイプ */ pid_t ktr_pid; /* プロセス ID */ char ktr_comm[MAXCOMLEN+1]; /* コマンド名 */ struct timeval ktr_time; /* タイムスタンプ */ caddr_t ktr_buf; }; .Ed .Pp .Va ktr_len フィールドはこのヘッダに続く .Va ktr_type データの長さを示します。 .Va ktr_pid フィールドと .Va ktr_comm フィールドは、レコードを生成したプロセスとコマンドを示します。 .Va ktr_time フィールドは、 レコードが生成された時刻を (マイクロ秒単位で) 示します。 .Va ktr_buf は、内部カーネルポインタであって有用ではありません。 .Pp 汎用ヘッダには .Va ktr_len バイトの長さの .Va ktr_type レコードが続きます。 タイプに固有のレコードは .In sys/ktrace.h インクルードファイル内で定義されています。 +.Sh SYSCTL チューナブル +次の +.Xr sysctl 8 +チューナブルが +.Fn ktrace +の動作に影響します: +.Bl -tag -width indent +.It Va kern.ktrace.geniosize +トレースされた I/O 要求がトレースファイルに記録するデータ量を制限します。 +.It Va kern.ktrace.request_pool +一度に記録するトレースイベント数を制限します。 +.El .Sh 戻り値 .Rv -std ktrace .Sh エラー .Fn ktrace システムコールは次の場合に失敗します: .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定のトレースファイルが存在しません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .It Bq Er ENOSYS カーネルが .Nm サポートとともにコンパイルされていません。 .El +.Pp +一時的な資源不足のために、 +スレッドが 1 個以上のトレースイベントを記録できないことがあり得ます。 +この状態はカーネルによって記憶され、次に成功するトレース要求において +.Va ktr_type +フィールドの +.Li KTR_DROP +フラグがセットされます。 .Sh 関連項目 .Xr kdump 1 , .Xr ktrace 1 , .Xr utrace 2 .Sh 歴史 .Fn ktrace システムコールは .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/msync.2 b/ja_JP.eucJP/man/man2/msync.2 index 9aab4bcdd0..a5bbba4942 100644 --- a/ja_JP.eucJP/man/man2/msync.2 +++ b/ja_JP.eucJP/man/man2/msync.2 @@ -1,97 +1,99 @@ .\" 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. .\" .\" @(#)msync.2 8.2 (Berkeley) 6/21/94 -.\" %FreeBSD: src/lib/libc/sys/msync.2,v 1.25 2002/12/19 09:40:25 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/msync.2,v 1.26 2003/11/14 07:18:12 alc Exp % .\" .\" $FreeBSD$ .Dd June 21, 1994 .Dt MSYNC 2 .Os .Sh 名称 .Nm msync .Nd マップされた領域を同期化する .Sh ライブラリ .Lb libc .Sh 書式 .In sys/mman.h .Ft int .Fn msync "void *addr" "size_t len" "int flags" .Sh 解説 .Fn msync システムコールは、修正されたページをファイルシステムに書き込んで ファイル修正時刻を更新します。 .Fa len が 0 の場合、 .Fa addr を含むリージョン内のすべての修正済みページがフラッシュされます。 .Fa len が 0 でない場合、 .Fa addr から .Fa len-1 の範囲を含むページだけが調べられます。 .Fa flags 引数は次のように指定できます: .Bd -literal MS_ASYNC ただちに戻ります MS_SYNC 同期書込みを実行します MS_INVALIDATE キャッシュされたデータをすべて無効にします .Ed .Sh 戻り値 .Rv -std msync .Sh エラー .Fn msync システムコールは次の場合に失敗します: .Bl -tag -width Er +.It Bq Er EBUSY +指定された領域の一部またはすべてのページがロックされており、 +MS_INVALIDATE が指定されました。 .It Bq Er EINVAL .Fa addr 引数はハードウェアページサイズの倍数ではありません。 .It Bq Er EINVAL .Fa len 引数が大きすぎるか、または負です。 .It Bq Er EINVAL .Fa flags 引数に MS_ASYNC と MS_INVALIDATE の両方が指定されました。 これらのフラグは同時に指定することはできません。 -.It Bq Er EIO -ファイルシステムに書き込む間に入出力エラーが発生しました。 .El .Sh 関連項目 .Xr madvise 2 , .Xr mincore 2 , +.Xr mlock 2 , .Xr mprotect 2 , .Xr munmap 2 .Sh 歴史 .Fn msync システムコールは .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/munmap.2 b/ja_JP.eucJP/man/man2/munmap.2 index 70e8ad476d..e64c38e6ac 100644 --- a/ja_JP.eucJP/man/man2/munmap.2 +++ b/ja_JP.eucJP/man/man2/munmap.2 @@ -1,77 +1,77 @@ .\" 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. .\" .\" @(#)munmap.2 8.3 (Berkeley) 5/27/94 -.\" %FreeBSD: src/lib/libc/sys/munmap.2,v 1.18 2002/12/19 09:40:25 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/munmap.2,v 1.19 2003/11/10 08:02:05 des Exp % .\" .\" $FreeBSD$ .Dd May 27, 1994 .Dt MUNMAP 2 .Os .Sh 名称 .Nm munmap .Nd マッピングを除去する .Sh ライブラリ .Lb libc .Sh 書式 .In sys/mman.h .Ft int .Fn munmap "void *addr" "size_t len" .Sh 解説 .Fn munmap システムコールは指定アドレス範囲についてマッピングを除去します。 これにより、以降のこのアドレス範囲内への参照は 無効なメモリ参照を引き起こすようになります。 .Sh 戻り値 .Rv -std munmap .Sh エラー .Fn munmap システムコールは次の場合に失敗します: .Bl -tag -width Er .It Bq Er EINVAL .Fa addr 引数がページ境界に整列していなかったか、 .Fa len -引数が負であったか、またはアンマップする領域の一部が +引数が 0 か負であったか、またはアンマップする領域の一部が プロセスにとって有効な範囲外にあります。 .El .Sh 関連項目 .Xr madvise 2 , .Xr mincore 2 , .Xr mmap 2 , .Xr mprotect 2 , .Xr msync 2 , .Xr getpagesize 3 .Sh 歴史 .Fn munmap システムコールは .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/utrace.2 b/ja_JP.eucJP/man/man2/utrace.2 index d74caa6223..b54173e067 100644 --- a/ja_JP.eucJP/man/man2/utrace.2 +++ b/ja_JP.eucJP/man/man2/utrace.2 @@ -1,90 +1,92 @@ .\" $NetBSD: utrace.2,v 1.11 2003/04/24 12:17:49 wiz Exp $ .\" .\" Copyright (c) 2000 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Gregory McGarry . .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" 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. .\" -.\" %FreeBSD: src/lib/libc/sys/utrace.2,v 1.1 2003/11/01 05:36:14 tjr Exp % +.\" %FreeBSD: src/lib/libc/sys/utrace.2,v 1.2 2003/11/11 04:54:10 jkoshy Exp % .\" .\" $FreeBSD$ .Dd December 28, 2000 .Dt UTRACE 2 .Os .Sh 名称 .Nm utrace .Nd ktrace のログの中へのユーザレコードの挿入 .Sh ライブラリ .Lb libc .Sh 書式 .In sys/types.h .In sys/param.h .In sys/time.h .In sys/uio.h .In sys/ktrace.h .Ft int .Fn utrace "const void *addr" "size_t len" .Sh 解説 プロセストレースに、ユーザによって供給された情報のレコードを追加します。 このレコードは .Fa addr によって指されているメモリから .Fa len バイトを格納しています。 この呼び出しは、 呼び出したプロセスがトレースされている場合にのみ効果があります。 .Sh 戻り値 成功して完了した時には、0 の値が返されます。 そうでない時には、-1 の値が返され、そのエラーを示すために .Va errno が設定されます。 .Sh エラー .Bl -tag -width Er -.It Bq Er ENOSYS -現在実行中のカーネルが -.Xr ktrace 2 -のサポートを (options KTRACE) 外してコンパイルされています。 .It Bq Er EINVAL 指定されたデータの長さ .Fa len が .Dv KTR_USER_MAXLEN よりも大きいです。 +.It Bq Er ENOMEM +要求を実現するためにはメモリが不足しています。 +.It Bq Er ENOSYS +現在実行中のカーネルが +.Xr ktrace 2 +のサポート (options KTRACE) を外してコンパイルされています。 .El .Sh 関連項目 .Xr kdump 1 , .Xr ktrace 1 , .Xr ktrace 2 .Sh 歴史 .Fn utrace システムコールは .Fx 2.2 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man5/rc.conf.5 b/ja_JP.eucJP/man/man5/rc.conf.5 index 06a4b57b11..205204e0c7 100644 --- a/ja_JP.eucJP/man/man5/rc.conf.5 +++ b/ja_JP.eucJP/man/man5/rc.conf.5 @@ -1,2705 +1,2705 @@ .\" Copyright (c) 1995 .\" Jordan K. Hubbard .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.201 2003/09/18 09:59:37 dougb Exp % +.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.202 2003/11/10 16:04:48 brueffer Exp % .\" .\" $FreeBSD$ .\" .Dd March 3, 2002 .Dt RC.CONF 5 .Os .Sh 名称 .Nm rc.conf .Nd システム設定情報 .Sh 解説 .Nm ファイルは、ローカルホスト名、任意の潜在的なネットワークインタフェースに 関する設定の詳細、システムの初期起動時に立ち上げるべき サービスに関して記述される情報を含んでいます。 初めてインストールする際には、一般に .Nm ファイルはシステムインストールユーティリティ .Xr sysinstall 8 によって初期化されます。 .Pp .Nm の目的は、 直接コマンドを実行したりシステム起動操作を行うことではありません。 そうではなく、 このファイルで見つかる設定に従って内部の動作を条件付きで制御する .Pa /etc 配下のさまざまな起動スクリプトも含まれています。 .Pp .Pa /etc/rc.conf ファイルは、 使用可能な全オプションのデフォルト設定を指定するファイル .Pa /etc/defaults/rc.conf からインクルードされます。 オプションを .Pa /etc/rc.conf に指定する必要があるのは、 システム管理者がこれらのデフォルトを上書きしたい場合だけです。 ファイル .Pa /etc/rc.conf.local は、 .Pa /etc/rc.conf の設定を上書きするために使用されます。 これは歴史的事情のためです。 後述の .Va rc_conf_files を参照してください。 .Pp 次に示すリストは、 .Nm ファイル中で設定可能な各変数について、 その名前と簡単な解説をしたものです。 .Bl -tag -width indent-two .It Va rc_debug .Pq Vt ブール値 .Dq Li YES にすると、rc スクリプトからのデバッグメッセージ出力を有効にします。 新規スクリプトの編集や組み込み時に誤りを診断するために、 この変数が有用かもしれません。 この手続きは大量の出力を端末と .Xr syslog 3 に生成しますので、注意してください。 .It Va rc_info .Pq Vt ブール値 .Dq Li NO にすると、rc スクリプトからの情報メッセージを無効にします。 情報メッセージは、警告やエラーとするほど深刻ではない状態のときに表示されます。 .It Va swapfile .Pq Vt 文字列 .Dq Li NO にすると スワップファイルはインストールされません。 .Dq Li NO 以外の場合、その値は追加スワップ領域に利用するファイルの フルパス名として用いられます。 .It Va apm_enable .Pq Vt ブール値 .Dq Li YES に設定すると .Xr apm 8 コマンドでの自動電源管理 (Automatic Power Management) のサポートを有効に します。 .It Va apmd_enable .Pq Vt ブール値 .Xr apmd 8 を実行し、ユーザランドから APM イベントを扱います。 APM サポートも有効にします。 .It Va apmd_flags .Pq Vt 文字列 .Va apmd_enable が .Dq Li YES の場合、これらは .Xr apmd 8 デーモンに渡すフラグになります。 .It Va devd_enable .Pq Vt ブール値 .Xr devd 8 を実行し、カーネルからのデバイス追加、デバイス削除、未知のイベントを扱います。 .It Va kldxref_enable .Pq Vt ブール値 デフォルトで .Dq Li NO です。 .Dq Li YES に設定すると、ブート時に、 .Pa linker.hints ファイルを .Xr kldxref 8 で自動的に再構築します。 .It Va kldxref_clobber .Pq Vt ブール値 デフォルトで .Dq Li NO です。 .Va kldxref_enable が真の場合、これを .Dq Li YES にすると、ブート時に既存の .Pa linker.hints ファイルを上書きします。 そうでない場合、存在しない .Pa linker.hints ファイルのみが生成されます。 .It Va kldxref_module_path .Pq Vt 文字列 デフォルトで空です。 .Xr kld 4 モジュールのパスを含む、セミコロン .Pq Ql \&; で区切られたリストです。 空の場合、 .Va kern.module_path .Xr sysctl 8 の内容が使用されます。 .It Va pccard_enable .Pq Vt ブール値 .Dq Li YES に設定すると、起動時に PCCARD のサポートを有効にします。 .It Va pccard_mem .Pq Vt 文字列 PCCARD コントローラメモリアドレスを設定します。 .Dq Li DEFAULT とするとデフォルト値になります。 .It Va pccard_ifconfig .Pq Vt 文字列 ブート時またはカード挿入時に .Xr ifconfig 8 に渡される引数のリストです (例えば、 固定アドレスの場合は .Dq Cm inet Li 192.168.1.1 Cm netmask Li 255.255.255.0 などですし、 DHCP クライアントの場合は .Dq Li DHCP です)。 .It Va pccard_beep .Pq Vt 整数 0 である場合、PCCARD コントローラを静寂モードにします。 1 である場合、ビープモードにします。 2 である場合、メロディモードにします。 .It Va pccard_conf .Pq Vt 文字列 .Xr pccardd 8 デーモンの設定ファイルのパスです (例えば .Pa /etc/pccard.conf.sample です)。 .It Va pccardd_flags .Pq Vt 文字列 .Va pccard_enable が .Dq Li YES の場合、これらは .Xr pccardd 8 デーモンに渡すフラグになります。 .It Va pccard_ether_delay .Pq Vt 文字列 .Pa /etc/pccard_ether スクリプト中で .Xr dhclient 8 を起動するまでの遅延時間を設定します。 デフォルトは 5 秒です。 これは、 .Xr ed 4 ベースの新しいカードを使用した時にシステムがハングしてしまうという .Xr ed 4 ドライバのバグを回避するためのものです。 .It Va removable_interfaces .Pq Vt 文字列 .Pa /etc/pccard_ether でサポートすべき、取り外し可能なネットワークインタフェースのリストです。 .It Va local_startup .Pq Vt 文字列 起動スクリプトファイルを検索するディレクトリのリストです。 .It Va script_name_sep .Pq Vt 文字列 起動スクリプトファイルのリストを各々のファイル名に分割するために 使用するフィールドセパレータです。 デフォルトは空白です。 名前に空白を含む起動スクリプトを持っていない限り、変更不要です。 .It Va hostname .Pq Vt 文字列 ネットワーク上でのホストの完全な形のドメイン名 (FQDN; The Fully Qualified Domain Name) です。 ネットワークに接続されていない場合でも、 この変数は確実に何か意味のあるものに設定すべきです。 ホスト名を DHCP を介して設定するために .Xr dhclient 8 を使用している場合、この変数は空文字列に設定すべきです。 .It Va ipv6_enable .Pq Vt ブール値 IPv6 ネットワークサポートを有効にします。 このためには、カーネルが .Cd "options INET6" 付きでコンパイルされていることが必要です。 .It Va nisdomainname .Pq Vt 文字列 ホストの NIS ドメイン名。 NIS が動いてないときは .Dq Li NO とします。 .It Va dhclient_program .Pq Vt 文字列 DHCP クライアントプログラムのパスです (ISC DHCP クライアントの .Pa /sbin/dhclient がデフォルトです)。 .It Va dhclient_flags .Pq Vt 文字列 DHCP クライアントプログラムに渡す追加のフラグです。 ISC DHCP クライアント用に利用可能なコマンドラインオプションについては、 .Xr dhclient 8 マニュアルページを参照してください。 .It Va background_dhclient .Pq Vt ブール値 .Dq Li YES に設定すると、DHCP クライアントをバックグラウンドで起動します。 ネットワークが動作していることに依存するアプリケーションで問題と なるかもしれませんが、多くの場合は起動が早くなります。 .It Va firewall_enable .Pq Vt ブール値 ファイアウォール規則を起動時にロードするには、 .Dq Li YES に設定します。 カーネルが .Cd "options IPFIREWALL" 付きで作られなかった場合、 .Pa ipfw.ko カーネルモジュールがロードされます。 .Va ipfilter_enable も参照してください。 .It Va ipv6_firewall_enable .Pq Vt ブール値 IPv6 の .Va firewall_enable です。 .Dq Li YES IPv6 ファイアウォール規則を起動時にロードするには、 .Dq Li YES に設定します。 カーネルが .Cd "options IPV6FIREWALL" 付きで作られなかった場合、 .Pa ip6fw.ko カーネルモジュールがロードされます。 .It Va firewall_script .Pq Vt 文字列 この変数は、実行するファイアウォールスクリプトのフルパスを指定します。 デフォルトは .Pa /etc/rc.firewall です。 .It Va ipv6_firewall_script .Pq Vt 文字列 IPv6 の .Va firewall_script です。 .It Va firewall_type .Pq Vt 文字列 .Pa /etc/rc.firewall 中にある選択肢から選んだファイアウォールタイプもしくは ローカルファイアウォール規則の組を含むファイル名をつけます。 .Pa /etc/rc.firewall からは以下のものが選択可能です: .Pp .Bl -tag -width ".Li simple" -compact .It Li open 無制限の IP アクセス; .It Li closed .Dq Li lo0 経由を除く全ての IP サービスを禁止 .It Li client ワークステーション向けの基本的な保護 .It Li simple LAN 向けの基本的な保護 .El .Pp ファイル名が指定される場合にはフルパス名でなければなりません。 .It Va ipv6_firewall_type .Pq Vt 文字列 IPv6 の .Va firewall_type です。 .It Va firewall_quiet .Pq Vt ブール値 .Dq Li YES に設定すると、起動時にコンソール上でファイアウォール規則の表示を行ないません。 .It Va ipv6_firewall_quiet .Pq Vt ブール値 IPv6 の .Va firewall_quiet です。 .It Va firewall_logging .Pq Vt ブール値 .Dq Li YES に設定すると、ファイアウォールのイベントロギングを有効にします。 .Dv IPFIREWALL_VERBOSE カーネルオプションと等価です。 .It Va ipv6_firewall_logging .Pq Vt ブール値 IPv6 の .Va firewall_logging です。 .It Va firewall_flags .Pq Vt 文字列 .Va firewall_type でファイル名を指定する場合、 .Xr ipfw 8 に渡されるフラグです。 .It Va ipv6_firewall_flags .Pq Vt 文字列 IPv6 の .Va firewall_flags です。 .It Va natd_program .Pq Vt 文字列 .Xr natd 8 のパス。 .It Va natd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr natd 8 を有効にします。 .Va firewall_enable もまた .Dq Li YES に設定され、 .Xr divert 4 ソケットがカーネルで有効にされている必要があります。 .It Va natd_interface .Pq Vt 文字列 .Xr natd 8 が実行されるパブリックインタフェースの名前です。 インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。 .It Va natd_flags .Pq Vt 文字列 追加の .Xr natd 8 フラグはここに記述する必要があります。 .Fl n または .Fl a のフラグは上記 .Va natd_interface とともに自動的に引数として追加されます。 .\" ----- ipfilter_enable setting -------------------------------- .It Va ipfilter_enable .Pq Vt ブール値 デフォルトは .Dq Li NO に設定されます。 .Dq Li YES に設定すると、 .Xr ipf 8 パケットフィルタリングを有効にします。 .Pp 典型的な用途では、 .Bd -literal ipfilter_enable="YES" ipnat_enable="YES" ipmon_enable="YES" ipfs_enable="YES" .Ed .Pp を .Pa /etc/rc.conf に記述し、 .Pa /etc/ipf.rules と .Pa /etc/ipnat.rules を適切に編集する必要があるでしょう。 .Pp .Va ipfilter_enable と .Va ipnat_enable とは別々に有効にできることに注意してください。 .Va ipmon_enable および .Va ipfs_enable を有効にするには .Va ipfilter_enable と .Va ipnat_enable の少なくともどちらか 1 つが有効になっている必要があります。 .Pp カーネル設定ファイル中に .Bd -literal options IPFILTER options IPFILTER_LOG options IPFILTER_DEFAULT_BLOCK .Ed .Pp を置くことも良い考えです。 .\" ----- ipfilter_program setting ------------------------------ .It Va ipfilter_program .Pq Vt 文字列 .Xr ipf 8 へのパスです (デフォルトは .Pa /sbin/ipf です)。 .\" ----- ipfilter_rules setting -------------------------------- .It Va ipfilter_rules .Pq Vt 文字列 デフォルトで .Pa /etc/ipf.rules に設定されます。 この変数は、フィルタルール定義ファイルの名前を含みます。 このファイルは、 .Xr ipf 8 コマンドが実行できるよう、読み取り可能であることが期待されます。 .\" ----- ipv6_ipfilter_rules setting --------------------------- .It Va ipv6_ipfilter_rules .Pq Vt 文字列 デフォルトは .Pa /etc/ipf6.rules に設定されます。 この変数には、IPv6 フィルタルール定義ファイルの名前を含みます。 このファイルは、 .Xr ipf 8 コマンドが実行できるよう、読み取り可能であることが期待されます。 .\" ----- ipfilter_flags setting -------------------------------- .It Va ipfilter_flags .Pq Vt 文字列 デフォルトは空文字列です。 この変数には、 .Xr ipf 8 プログラムに渡されるフラグが含まれます。 .\" ----- ipnat_enable setting ---------------------------------- .It Va ipnat_enable .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、 .Xr ipnat 1 ネットワークアドレス変換を有効にします。 詳細は .Va ipfilter_enable を参照してください。 .\" ----- ipnat_program setting --------------------------------- .It Va ipnat_program .Pq Vt 文字列 .Xr ipnat 1 へのパスです (デフォルトは .Pa /sbin/ipnat です)。 .\" ----- ipnat_rules setting ----------------------------------- .It Va ipnat_rules .Pq Vt 文字列 デフォルトで .Pa /etc/ipnat.rules に設定されます。 この変数は、ネットワークアドレス変換を定義するファイルの名前を含みます。 このファイルは、 .Xr ipnat 1 コマンドが実行できるよう、読み取り可能であることが期待されます。 .\" ----- ipnat_flags setting ----------------------------------- .It Va ipnat_flags .Pq Vt 文字列 デフォルトは空文字列です。 この変数には、 .Xr ipnat 1 プログラムへ渡されるフラグが含まれます。 .\" ----- ipmon_enable setting ---------------------------------- .It Va ipmon_enable .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、 .Xr ipmon 8 モニタリング ( .Xr ipf 8 と .Xr ipnat 1 のイベントのログ) を有効にします。 この変数を設定する場合、 .Va ipfilter_enable あるいは .Va ipnat_enable も設定することが必要です。 詳細は .Va ipfilter_enable を参照してください。 .\" ----- ipmon_program setting --------------------------------- .It Va ipmon_program .Pq Vt 文字列 .Xr ipmon 8 へのパスです (デフォルトは .Pa /sbin/ipmon です)。 .\" ----- ipmon_flags setting ----------------------------------- .It Va ipmon_flags .Pq Vt 文字列 デフォルトで .Dq Li -Ds に設定されます。 この変数は、 .Xr ipmon 8 プログラムに渡されるフラグを含みます。 他の典型的な例は .Dq Fl D Pa /var/log/ipflog であり、これは .Xr ipmon 8 に .Xr syslogd 8 をバイパスさせて、直接ファイルにログを書かせます。 このような場合、必ず .Pa /etc/newsyslog.conf を次のように修正してください: .Bd -literal /var/log/ipflog 640 10 100 * Z /var/run/ipmon.pid .Ed .\" ----- ipfs_enable setting ----------------------------------- .It Va ipfs_enable .Pq Vt ブール値 デフォルトでは .Dq Li NO に設定されます。 この変数を .Dq Li YES に設定すると .Xr ipfs 8 が有効になり、シャットダウン時にフィルタおよび NAT 状態テーブルを 保存し、再起動時に読み込み直されるようになります。 この変数を設定するには .Va ipfilter_enable あるいは .Va ipnat_enable も .Dq Li YES に設定する必要があります。 詳細は .Va ipfilter_enable を参照してください。 .Va kern_securelevel を 3 に設定した場合、 .Va ipfs_enable は使用できなくなることに注意してください。 なぜなら、セキュアレベルを引き上げることでシャットダウン時に .Xr ipfs 8 が状態テーブルを保存できなくなるからです。 .\" ----- ipfs_program setting ---------------------------------- .It Va ipfs_program .Pq Vt 文字列 .Xr ipfs 8 へのパスです (デフォルトは .Pa /sbin/ipfs です)。 .\" ----- ipfs_flags setting ------------------------------------ .It Va ipfs_flags .Pq Vt 文字列 デフォルトは空文字列です。 この変数には、 .Xr ipfs 8 プログラムに渡されるフラグが含まれます。 .\" ----- end of added ipf hook --------------------------------- .It Va tcp_extensions .Pq Vt ブール値 デフォルトでは .Dq Li YES です。 .Dq Li NO に設定すると、 .%T "RFC 1323" で述べられているような ある TCP オプションを無効にします。 .Dq Li NO に設定すると、ネットワークコネクションが不規則にハングアップしたり、 それに類する他の不具合を回避する助けとなるかもしれません。 ネットワークデバイスには、これらのオプションに関連する部分において、 壊れているものがあることが知られています。 .It Va log_in_vain .Pq Vt 整数 デフォルトで 0 に設定されています。 .Xr sysctl 8 変数 .Va net.inet.tcp.log_in_vain と .Va net.inet.udp.log_in_vain が、 .Xr tcp 4 と .Xr udp 4 に記述されているように、指定された値に設定されます。 .It Va tcp_keepalive .Pq Vt ブール値 デフォルトで .Dq Li YES に設定されています。 .Dq Li NO に設定すると、アイドルになっている TCP 接続を検出し、 通信相手がまだ立ち上がっていて、到達可能であることを確認する のをやめます。 .It Va tcp_drop_synfin .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されています。 .Dq Li YES に設定すると、 TCP フレームで SYN と FIN のフラグが共に設定されているものを、 カーネルが無視するようになります。 これにより、OS が指紋を残すのを防ぎますが、 正当なアプリケーションが動作しなくなるかもしれません。 .Dv TCP_DROP_SYNFIN オプション付きでカーネルを構築した場合のみ、 本オプションが使用可能です、 .It Va icmp_drop_redirect .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されています。 .Dq Li YES に設定すると、 ICMP REDIRECT パケットを、カーネルが無視するようになります。 更なる情報は .Xr icmp 4 を参照してください。 .It Va icmp_log_redirect .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されています。 .Dq Li YES に設定すると、 ICMP REDIRECT パケットを、カーネルが記録するようになります。 ログメッセージの速度制限はありませんので、 あなたのネットワーク内の問題解決にのみ使用すべきです。 更なる情報は .Xr icmp 4 を参照してください。 .It Va icmp_bmcastecho .Pq Vt ブール値 .Dq Li YES に設定すると、 ブロードキャストまたはマルチキャストの ICMP ping パケットに 応答するようになります。 更なる情報は .Xr icmp 4 を参照してください。 .It Va ip_portrange_first .Pq Vt 整数 .Dq Li NO 以外に設定すると、デフォルトのポート範囲の最初のポートになります。 更なる情報は .Xr ip 4 を参照してください。 .It Va ip_portrange_last .Pq Vt 整数 .Dq Li NO 以外に設定すると、デフォルトのポート範囲の最後のポートになります。 更なる情報は .Xr ip 4 を参照してください。 .It Va network_interfaces .Pq Vt 文字列 このホスト上で設定するネットワークインタフェースのリストを 設定します。 たとえば、ループバックデバイス .Pq Li lo0 および .Xr ed 4 ドライバの NIC があるなら、 .Dq Li "lo0 ed0" に設定されるでしょう。 .Ar interface の各値に対して .Va ifconfig_ Ns Aq Ar interface という変数も存在すると仮定されます。 1 つのインタフェースに複数の IP アドレスを登録したい場合は、 ここに IP エイリアスのエントリを追加することも可能です。 対象とするインタフェースが .Li ed0 であると仮定すると、 .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff" .Ed .Pp というようになります。 見つかった各 .Va ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n エントリについて、 その内容が .Xr ifconfig 8 に渡されます。 最初にアクセスに失敗した時点で実行は中止されるので .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.251 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.252 netmask 0xffffffff" ifconfig_ed0_alias2="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias4="inet 127.0.0.254 netmask 0xffffffff" .Ed .Pp のようにすると、alias4 は追加され .Em ない ことに注意してください。 これは alias3 エントリを抜かしたことで検索が中止されるからです。 .Pp .Pa /etc/start_if. Ns Aq Ar interface ファイルが存在する場合、 .Va ifconfig_ Ns Aq Ar interface および .Va ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n の変数で指定されるようにインタフェースが設定される前に、 このファイルが .Xr sh 1 インタプリタにより実行されます。 .Pp .Va ifconfig_ Ns Aq Ar interface 変数を .Dq Li DHCP に設定することで、インタフェースを DHCP で立ち上げることが 可能です。 例えば .Li ed0 デバイスを DHCP で初期化するには、 次のような行を指定すればよいです: .Bd -literal ifconfig_ed0="DHCP" .Ed .It Va ipv6_network_interfaces .Pq Vt 文字列 IPv6 の .Va network_interfaces です。 設定すべき ifconfig 変数は .Va ifconfig_ Ns Aq Ar interface ではなく、 .Va ipv6_ifconfig_ Ns Aq Ar interface です。 エイリアスは .Va ipv6_ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n のように設定します。 .Va ipv6_prefix_ Ns Aq Ar interface も関係あります。 .Va ipv6_ifconfig_ Ns Aq Ar interface 設定を持たないインタフェースは、 .Va ipv6_gateway_enable が .Dq Li NO に設定されている場合には、 .Xr rtsol 8 で自動設定されます。 IPv6 ネットワークコードは .Pa /etc/start_if. Ns Aq Ar interface ファイルをサポートしないことに注意してください。 .It Va ipv6_default_interface .Pq Vt 文字列 .Dq Li NO 以外に設定すると、 これがスコープ対象のアドレスに対するデフォルト出力インタフェースになります。 現在のところ、これは IPv6 リンクローカルマルチキャストアドレスに 対してのみ働きます。 .It Va cloned_interfaces .Pq Vt 文字列 このホストに生成する、複製可能なネットワークインタフェースの リストを設定します。 .Va cloned_interfaces のエントリは、設定を行うため自動的に .Va network_interfaces に追加されます。 .It Va gif_interfaces .Pq Vt 文字列 このホストで設定する、 .Xr gif 4 トンネルインタフェースのリストを設定します。 .Ar interface の各値に対して、 .Va gifconfig_ Ns Aq Ar interface 変数が存在すると想定されます。 本変数の値を使用し、 .Xr ifconfig 8 の .Cm tunnel オプションの書式に従って、トンネルのリンク層を設定します。 さらに本オプションは、リストされたインタフェースの設定を試みる前に、 これらが .Xr ifconfig 8 の .Cm create オプションで作成されていることを保証します。 .It Va sppp_interfaces .Pq Vt 文字列 このホスト上で設定すべき .Xr sppp 4 インタフェースのリストに設定します。 各 .Ar interface に対して .Va spppconfig_ Ns Aq Ar interface 変数が存在するものと仮定されます。 各インタフェースは、普通の .Va ifconfig_ Ns Aq Ar interface 設定でも設定されます。 使用可能なオプションについての更なる情報は .Xr spppcontrol 8 を参照してください。 .It Va ppp_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr ppp 8 デーモンを実行します。 .It Va ppp_mode .Pq Vt 文字列 .Xr ppp 8 デーモンを実行するモードです。 受け付けられるモードは .Dq Li auto , .Dq Li ddial , .Dq Li direct , .Dq Li dedicated のいずれかです。 完全な解説はマニュアルを参照してください。 .It Va ppp_nat .Pq Vt ブール値 .Dq Li YES に設定すると、ネットワークアドレス変換を有効にします。 .Va gateway_enable と共に使用することにより、 本ホストをネットワークアドレス変換ルータとして使用して、 プライベートネットワークアドレスのホストからの インターネットへのアクセスを可能にします。 .It Va ppp_profile .Pq Vt 文字列 .Pa /etc/ppp/ppp.conf から使用するプロファイル名です。 .It Va ppp_user .Pq Vt 文字列 このユーザ名の元で .Xr ppp 8 を起動します。 デフォルトでは .Xr ppp 8 は .Dq Li root が起動します。 .It Va rc_conf_files .Pq Vt 文字列 本オプションは、 .Pa /etc/defaults/rc.conf の設定を上書きするファイルのリストを指定するために使用されます。 ファイルは指定された順序に読み込まれますし、 また、ファイルへの完全なパスを含む必要があります。 デフォルトでは、指定されるファイルは .Pa /etc/rc.conf と .Pa /etc/rc.conf.local です。 .It Va gbde_autoattach_all .Pq Vt ブール値 .Dq Li YES に設定すると、 .Pa /etc/rc.d/gbde は .Pa /etc/fstab 中の .bde デバイスを自動的に初期化しようとします。 .It Va gbde_devices .Pq Vt 文字列 スクリプトがアタッチしようとするデバイスのリストもしくは .Dq Li AUTO です。 .It Va fsck_y_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 ファイルシステムの初期調整に失敗した場合、 .Xr fsck 8 を .Fl y フラグ付きで実行します。 .It Va background_fsck .Pq Vt ブール値 .Dq Li YES に設定すると、可能ならば、システムは .Xr fsck 8 をバックグラウンドで実行しようと試みます。 .It Va background_fsck_delay .Pq Vt 整数 この秒数だけ寝た後で、バックグラウンド .Xr fsck 8 を開始します。 デフォルトは 60 秒であり、X サーバ等の巨大なアプリケーションの起動が、 .Xr fsck 8 によるディスク I/O 占有の前となるようにします。 .It Va netfs_types .Pq Vt 文字列 ネットワークベースのファイルシステムタイプを列挙します。 通常、エンドユーザが変更すべきものではありません。 代りに .Va extra_netfs_types を使用してください。 .It Va extra_netfs_types .Pq Vt 文字列 .Dq Li NO (デフォルト) 以外に設定すると、ネットワーク初期化まで遅延させて .Xr rc 8 により起動時に自動マウントするファイルシステムタイプのリストを、 この変数により拡張します。 これは、空白区切りのネットワークファイルシステム記述子ペアのリストです。 それぞれのペアは、 .Xr mount 8 に渡されるファイルシステムタイプと、人が読める 1 語記述を、コロン .Pq Ql \&: で結合したものです。 デフォルトリストの拡張が必要なのは、 サードパーティのファイルシステムタイプを使用する場合だけです。 .It Va syslogd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr syslogd 8 デーモンを起動します。 .It Va syslogd_program .Pq Vt 文字列 .Xr syslogd 8 へのパス (デフォルトは .Pa /usr/sbin/syslogd です)。 .It Va syslogd_flags .Pq Vt 文字列 .Va syslogd_enable が .Dq Li YES の場合、これらは .Xr syslogd 8 に渡すフラグになります。 .It Va inetd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr inetd 8 デーモンを起動します。 .It Va inetd_program .Pq Vt 文字列 .Xr inetd 8 へのパス (デフォルトは .Pa /usr/sbin/inetd です)。 .It Va inetd_flags .Pq Vt 文字列 .Va inetd_enable が .Dq Li YES の場合、これらは .Xr inetd 8 へ渡すフラグとなります。 .It Va named_rcng .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr chroot 8 した .Xr named 8 を使うという .Pa /etc/rc.d/named の新機能を使用します。 この変数は実験的です。 近い将来、削除されたり変更されたりするかもしれません .It Va named_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr named 8 デーモンを起動します。 .It Va named_program .Pq Vt 文字列 .Xr named 8 へのパス (デフォルトは .Pa /usr/sbin/named です)。 .It Va named_flags .Pq Vt 文字列 .Va named_enable が .Dq Li YES の場合、これらは .Xr named 8 に渡すフラグとなります。 .It Va named_pidfile .Pq Vt 文字列 これは、 .Xr named 8 デーモンの PID ファイルへのデフォルトパスです。 .Xr named.conf 5 で場所を変えた場合、これも変えてください。 .It Va named_chrootdir .Pq Vt 文字列 .Xr chroot 8 環境で実行するネームサーバのルートディレクトリです。 空のままにすると、 .Xr named 8 は .Xr chroot 8 環境では実行しません。 .Va named_rcng が有効でない場合、この変数は効果がありません。 この変数は実験的です。 近い将来、削除されたり変更されたりするかもしれません .It Va named_chroot_autoupdate .Pq Vt ブール値 .Dq Li NO に設定すると、 ルートファイルシステムと .Xr chroot 8 との間のライブラリや他のシステムファイルの自動同期を無効にします。 .Va named_rcng が有効でない場合、この変数は効果がありません。 この変数は実験的です。 近い将来、削除されたり変更されたりするかもしれません .It Va named_symlink_enable .Pq Vt ブール値 .Dq Li NO に設定すると、 .Xr named 8 が実行している .Xr chroot 8 環境への、 .Va named_pidfile および .Pa /var/run/ndc のシンボリックリンクを無効化します。 .Va named_rcng が有効でない場合、この変数は効果がありません。 この変数は実験的です。 近い将来、削除されたり変更されたりするかもしれません .It Va kerberos5_server_enable .Pq Vt ブール値 ブート時に Kerberos 5 認証デーモンを起動したい場合は .Dq Li YES とします。 .It Va kerberos5_server .Pq Vt 文字列 .Va kerberos5_server_enable が .Dq Li YES の場合、これが Kerberos 5 認証サーバのパスになります。 .It Va kadmind5_server_enable .Pq Vt ブール値 .Xr kadmind 8 すなわち Kerberos 5 管理デーモンを起動したい場合は .Dq Li YES とします。 スレーブサーバでは .Dq Li NO に設定します。 .It Va kadmind5_server .Pq Vt 文字列 .Va kadmind5_server_enable が .Dq Li YES の場合、これが Kerberos 5 管理デーモンのパスになります。 .It Va kpasswdd_server_enable .Pq Vt ブール値 .Dq Li YES に設定すると、Kerberos 5 パスワード変更デーモン .Xr kpasswdd 8 をスレーブサーバ上で実行します。 .It Va kpasswdd_server .Pq Vt 文字列 .Va kpasswdd_server_enable が .Dq Li YES の場合、これが Kerberos 5 パスワード変更デーモンのパスになります。 .It Va rwhod_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr rwhod 8 デーモンを起動します。 .It Va rwhod_flags .Pq Vt 文字列 .Va rwhod_enable が .Dq Li YES に設定されている場合、これらは rwhod に渡すフラグになります。 .It Va amd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr amd 8 デーモンを起動します。 .It Va amd_flags .Pq Vt 文字列 .Va amd_enable が .Dq Li YES に設定されている場合、これらは amd に渡すフラグとなります。 詳しくは .Xr amd 8 マニュアルページを利用してください。 .It Va amd_map_program .Pq Vt 文字列 設定すると、指定されたプログラムが実行され、 .Xr amd 8 マップのリストを受け取ります。 例えば、 .Xr amd 8 マップが NIS に格納されている場合、 .Xr ypcat 1 を実行して .Pa amd.master NIS マップから .Xr amd 8 マップのリストを取得するよう設定可能です。 .It Va update_motd .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に実行されているカーネルリリースを反映するように .Pa /etc/motd を更新します。 .Dq Li NO に設定すると、 .Pa /etc/motd は更新を行いません。 .It Va nfs_client_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に NFS クライアントデーモンを起動します。 .It Va nfs_access_cache .Pq Vt 整数 .Va nfs_client_enable が .Dq Li YES の場合、この変数に .Dq Li 0 を設定して NFS ACCESS RPC キャッシングを無効化することができますし、 NFS ACCESS 結果がキャッシュされる秒数を指定することもできます。 2-10 秒の値を設定すると、 多くの NFS 操作に対するネットワークトラフィックを十分減らします。 .It Va nfs_server_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に NFS サーバデーモンを起動します。 .It Va nfs_server_flags .Pq Vt 文字列 .Va nfs_server_enable が .Dq Li YES の場合、これらは .Xr nfsd 8 デーモンに渡すフラグとなります。 .It Va mountd_enable .Pq Vt ブール値 .Dq Li YES に設定し .Va nfs_server_enable を設定しないと、 .Xr mountd 8 は起動しますが .Xr nfsd 8 デーモンは起動しません。 実際に NFS は使用せずに CFS を使用する場合に、一般的に必要となります。 .It Va mountd_flags .Pq Vt 文字列 .Va mountd_enable が .Dq Li YES の場合、これらは .Xr mountd 8 デーモンへのフラグとなります。 .It Va weak_mountd_authentication .Pq Vt ブール値 .Dq Li YES に設定すると、PCNFSD のようなサービスで権限付けられていない マウント要求ができるようになります。 .It Va nfs_reserved_port_only .Pq Vt ブール値 .Dq Li YES に設定すると、安全なポート上でのみ NFS サービスを提供します。 .It Va nfs_bufpackets .Pq Vt 整数 数値を設定すると、そのパケット数分のソケットバッファ空間が、 NFS クライアント上に予約されます。 カーネルのデフォルトは、通常は 4 です。 ギガビットネットワークでは大きな値を設定すると高性能になるでしょう、 最小値は 2 であり、最大値は 64 です。 .It Va rpc_lockd_enable .Pq Vt ブール値 この変数が .Dq Li YES に設定され、しかも NFS サーバである場合、ブート時に .Xr rpc.lockd 8 を起動します。 .It Va rpc_statd_enable .Pq Vt ブール値 この変数が .Dq Li YES に設定され、しかも NFS サーバである場合、ブート時に .Xr rpc.statd 8 を起動します。 .It Va rpcbind_program .Pq Vt 文字列 .Xr rpcbind 8 へのパス (デフォルトは .Pa /usr/sbin/rpcbind です)。 .It Va rpcbind_enable .Pq Vt ブール値 .Dq Li YES の場合、ブート時に .Xr rpcbind 8 サービスを起動します。 .It Va rpcbind_flags .Pq Vt 文字列 .Va rpcbind_enable が .Dq Li YES の場合、これらは .Xr rpcbind 8 デーモンに渡すフラグとなります。 .It Va keyserv_enable .Pq Vt ブール値 .Dq Li YES に設定すると、Secure RPC 実行のために、起動時に .Xr keyserv 8 デーモンを実行します。 .It Va keyserv_flags .Pq Vt 文字列 .Va keyserv_enable が .Dq Li YES の場合、これらは .Xr keyserv 8 デーモンに渡すフラグになります。 .It Va pppoed_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr pppoed 8 デーモンを起動し、PPP オーバイーサネットサービスを提供します。 .It Va pppoed_ Ns Ar provider .Pq Vt 文字列 .Xr pppoed 8 はこの .Ar provider に対する要求を待ち受け、最終的にはこの名前を .Ar system 引数として .Xr ppp 8 を実行します。 .It Va pppoed_flags .Pq Vt 文字列 .Xr pppoed 8 へ渡す追加のフラグ。 .It Va pppoed_interface .Pq Vt 文字列 .Xr pppoed 8 が実行されるネットワークインタフェース。 .Va pppoed_enable が .Dq Li YES に設定された場合、必須です。 .It Va timed_enable .Pq Vt ブール値 .Dq Li YES なら、ブート時に .Xr timed 8 サービスを実行します。 このコマンドは、全ホストについて一貫した .Dq "ネットワーク時間" が確立されなければならないマシンネットワークのためにあります。 これが有用である典型例は、 ファイルのタイムスタンプがネットワーク全体で一貫性をもつことが 期待されるような、大規模 NFS 環境です。 .It Va timed_flags .Pq Vt 文字列 .Va timed_enable が .Dq Li YES の場合、これらは .Xr timed 8 サービスに渡すフラグとなります。 .It Va ntpdate_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムスタートアップ時に .Xr ntpdate 8 を実行します。 このコマンドは、ある標準的な参照先を元に、ただ .Em 1 回 だけシステム時刻を同期させるためにあります。 また、システムを最初にインストールする際、 この値を (知られているサービスのリストから) 最初に設定するオプションが .Xr sysinstall 8 プログラムによって提供されます。 .It Va ntpdate_program .Pq Vt 文字列 .Xr ntpdate 8 へのパス (デフォルトは .Pa /usr/sbin/ntpdate です)。 .It Va ntpdate_flags .Pq Vt 文字列 .Va ntpdate_enable が .Dq Li YES の場合、これらは .Xr ntpdate 8 コマンドに渡すフラグとなります (通常はホスト名)。 .It Va ntpd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr ntpd 8 コマンドが起動されます。 .It Va ntpd_program .Pq Vt 文字列 .Xr ntpd 8 へのパス (デフォルトは .Pa /usr/sbin/ntpd です)。 .It Va ntpd_flags .Pq Vt 文字列 .Va ntpd_enable が .Dq Li YES の場合、これらは .Xr ntpd 8 デーモンに渡すフラグとなります。 .It Va nis_client_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr ypbind 8 サービスを起動します。 .It Va nis_client_flags .Pq Vt 文字列 .Va nis_client_enable が .Dq Li YES の場合、これらは .Xr ypbind 8 サービスに渡すフラグとなります。 .It Va nis_ypset_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr ypset 8 デーモンを起動します。 .It Va nis_ypset_flags .Pq Vt 文字列 .Va nis_ypset_enable が .Dq Li YES の場合、これらは .Xr ypset 8 デーモンに渡すフラグとなります。 .It Va nis_server_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr ypserv 8 デーモンを起動します。 .It Va nis_server_flags .Pq Vt 文字列 .Va nis_server_enable が .Dq Li YES の場合、これらは .Xr ypserv 8 デーモンに渡すフラグとなります。 .It Va nis_ypxfrd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr rpc.ypxfrd 8 デーモンを起動します。 .It Va nis_ypxfrd_flags .Pq Vt 文字列 .Va nis_ypxfrd_enable が .Dq Li YES の場合、これらは .Xr rpc.ypxfrd 8 デーモンに渡すフラグとなります。 .It Va nis_yppasswdd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr rpc.yppasswdd 8 デーモンを起動します。 .It Va nis_yppasswdd_flags .Pq Vt 文字列 .Va nis_yppasswdd_enable が .Dq Li YES の場合、これらは .Xr rpc.yppasswdd 8 デーモンに渡すフラグとなります。 .It Va rpc_ypupdated_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システム起動時に .Nm rpc.ypupdated デーモンを実行します。 .It Va defaultrouter .Pq Vt 文字列 .Dq Li NO を設定しないと、このホスト名または IP アドレスへのデフォルトルートを 作成します (このルータがネームサーバへも到達する必要がある 場合は IPアドレスを使用すること!)。 .It Va ipv6_defaultrouter .Pq Vt 文字列 IPv6 の .Va defaultrouter です。 .It Va static_routes .Pq Vt 文字列 システムブート時に追加したいスタティックルートのリストを 設定します。 .Dq Li NO 以外を設定した場合、その値を空白で区切った各要素について、 .Ar element ごとに変数 .Va route_ Ns Aq Ar element が存在すると仮定され、後でその内容が .Dq Nm route Cm add 操作に渡されます。 .It Va ipv6_static_routes .Pq Vt 文字列 IPv6 の .Va static_routes です。 .Dq Li NO 以外に設定した場合、値の中で空白で区切られた各 .Ar element に対して .Va ipv6_route_ Ns Aq Ar element 変数が存在することが仮定され、これらの内容が後で .Dq Nm route Cm add Fl inet6 操作に渡されることになります。 .It Va natm_static_routes .Pq Vt 文字列 .Xr natmip 4 において .Va static_routes と等価なものです。 空でない場合、値において空白で区切られた各 .Ar element に対し、 .Va route_ Ns Aq Ar element が存在することが仮定され、その内容が後で .Dq Nm atmconfig Cm natm Cm add 操作に渡されます。 .It Va gateway_enable .Pq Vt ブール値 .Dq Li YES に設定すると、IP ルータとして動作するように、 たとえばインタフェース間でパケットをフォワードするように ホストを設定します。 .It Va ipv6_gateway_enable .Pq Vt ブール値 IPv6 の .Va gateway_enable です。 .It Va router_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Va router および .Va router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Va ipv6_router_enable .Pq Vt ブール値 IPv6 の .Va router_enable です。 .Dq Li YES に設定すると、 .Va ipv6_router および .Va ipv6_router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Va router .Pq Vt 文字列 .Va router_enable が .Dq Li YES に設定されると、これが使用するルーティングデーモン名になります。 .It Va ipv6_router .Pq Vt 文字列 IPv6 の .Va router です。 .It Va router_flags .Pq Vt 文字列 .Va router_enable が .Dq Li YES に設定されると、これらがルーティングデーモンへ渡すフラグとなります。 .It Va ipv6_router_flags .Pq Vt 文字列 IPv6 の .Va router_flags です。 .It Va mrouted_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr mrouted 8 デーモンを起動します。 .It Va mroute6d_enable .Pq Vt ブール値 IPv6 の .Va mrouted_enable です。 .Dq Li YES に設定すると、IPv6 マルチキャストルーティングデーモンを実行します。 IPv6 マルチキャストルーティングデーモンは .Fx ベースシステムに含まれていませんが、 .Fx Ports Collection に .Xr pim6dd 8 があります。 .It Va mrouted_flags .Pq Vt 文字列 .Va mrouted_enable が .Dq Li YES の場合、これらは .Xr mrouted 8 へ渡すフラグとなります。 .It Va mroute6d_flags .Pq Vt 文字列 IPv6 の .Va mrouted_flags です。 .Va mroute6d_enable が .Dq Li YES の場合、 これらは IPv6 マルチキャストルーティングデーモンへ渡すフラグとなります。 .It Va mroute6d_program .Pq Vt 文字列 .Va mroute6d_enable が .Dq Li YES の場合、これが IPv6 マルチキャストルーティングデーモンのパスです。 .It Va rtadvd_enable .Pq Vt ブール値 .Dq Li YES の場合、起動時に .Xr rtadvd 8 デーモンを実行します。 .Xr rtadvd 8 は .Va ipv6_gateway_enable も .Dq Li YES の場合のみ実行します。 .Xr rtadvd 8 ユーティリティは、ルータ広告パケットを、 .Va rtadvd_interfaces で指定したインタフェースへ送ります。 .Xr rtadvd 8 は非常に注意して設定すべきです。 .Xr rtadvd.conf 5 を調整したいかもしれません。 .It Va rtadvd_interfaces .Pq Vt 文字列 .Va rtadvd_enable が .Dq Li YES の場合、これが使用するインタフェースリストです。 .It Va ipxgateway_enable .Pq Vt ブール値 .Dq Li YES に設定すると、IPX トラフィックのルーティングを有効にします。 .It Va ipxrouted_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr IPXrouted 8 デーモンを起動します。 .It Va ipxrouted_flags .Pq Vt 文字列 .Va ipxrouted_enable が .Dq Li YES の場合、これらは .Xr IPXrouted 8 デーモンへ渡すフラグとなります。 .It Va arpproxy_all .Pq Vt ブール値 .Dq Li YES に設定すると、グローバルプロキシ ARP を有効にします。 .It Va forward_sourceroute .Pq Vt ブール値 これが .Dq Li YES に設定され、更に .Va gateway_enable もまた .Dq Li YES に設定されている場合、 送信元が経路指定したパケット (source routed packets) はフォワードされます。 .It Va accept_sourceroute .Pq Vt ブール値 .Dq Li YES に設定すると、 システムは自分宛の送信元経路指定パケットを受け付けます。 .It Va rarpd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr rarpd 8 デーモンを起動します。 .It Va rarpd_flags .Pq Vt 文字列 .Va rarpd_enable が .Dq Li YES の場合、これらは .Xr rarpd 8 デーモンへ渡すフラグとなります。 .It Va bootparamd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr bootparamd 8 デーモンを起動します。 .It Va bootparamd_flags .Pq Vt 文字列 .Va bootparamd_enable が .Dq Li YES の場合、これらは .Xr bootparamd 8 デーモンへ渡すフラグとなります。 .It Va stf_interface_ipv4addr .Pq Vt 文字列 .Dq Li NO 以外に設定すると、これが 6to4 (IPv6 over IPv4 トンネリングインタフェース) のローカル IPv4 アドレスです。 6to4 インタフェースを有効にするには、このエントリを指定してください。 .It Va stf_interface_ipv4plen .Pq Vt 整数 6to4 IPv4 アドレスのプレフィックス長であり、対向アドレス範囲を限定します。 有効な値は 0-31 です。 .It Va stf_interface_ipv6_ifid .Pq Vt 文字列 .Xr stf 4 の IPv6 インタフェース ID です。 .Dq Li AUTO に設定可能です。 .It Va stf_interface_ipv6_slaid .Pq Vt 文字列 .Xr stf 4 の IPv6 サイトレベルアグリゲータです。 .It Va ipv6_faith_prefix .Pq Vt 文字列 .Dq Li NO 以外に設定すると、これが faith プレフィックスになり、 FAITH IPv6-to-IPv4 TCP 変換器を有効にします。 .Xr faithd 8 の設定も必要です。 .It Va ipv6_ipv4mapping .Pq Vt ブール値 .Dq Li YES に設定すると、 .Li ( ::ffff:a.b.c.d のような) IPv4 をマップした IPv6 アドレス通信を有効にします。 .It Va atm_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 システムブート時に ATM インタフェースの設定を有効にします。 次に説明する ATM 関連の変数に関し、 利用可能なコマンドパラメータの更なる詳細については、 .Xr atm 8 のマニュアルページを参照してください。 更なる詳細な設定情報に関しては、 .Pa /usr/share/examples/atm 中のファイルも参照してください。 .It Va atm_load .Pq Vt 文字列 ロードすべき物理 ATM インタフェースドライバのリストです。 典型的な値は .Dq Li hfa_pci や .Dq Li hea_pci です。 .It Va atm_netif_ Ns Aq Ar intf .Pq Vt 文字列 ATM 物理インタフェース .Ar intf に対し、本変数は、 作成される ATM ネットワークインタフェース名の プレフィックスと数字を指定します。 値はコマンド .Dq Nm atm Cm "set netif" Ar intf のパラメータとして渡されます。 .It Va atm_sigmgr_ Ns Aq Ar intf .Pq Vt 文字列 ATM 物理インタフェース .Ar intf に対し、本変数は使用すべき ATM シグナリングマネージャを定義します。 値はコマンド .Dq Nm atm Cm attach Ar intf のパラメータとして渡されます。 .It Va atm_prefix_ Ns Aq Ar intf .Pq Vt 文字列 ATM 物理インタフェース .Ar intf に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの NSAP プレフィックスを定義します。 .Dq Li ILMI に設定すると、プレフィックスは自動的に .Xr ilmid 8 デーモンを介して設定されます。 そうでない場合、値はコマンド .Dq Nm atm Cm "set prefix" Ar intf のパラメータとして渡されます。 .It Va atm_macaddr_ Ns Aq Ar intf .Pq Vt 文字列 ATM 物理インタフェース .Ar intf に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの MAC アドレスを定義します。 .Dq Li NO に設定すると、ATM インタフェースカードに格納されている ハードウェア MAC アドレスが使用されます。 そうでない場合、値はコマンド .Dq Nm atm Cm "set mac" Ar intf のパラメータとして渡されます。 .It Va atm_arpserver_ Ns Aq Ar netif .Pq Vt 文字列 ATM 物理インタフェース .Ar netif に対し、本変数は、ATMARP サービスを提供するホストの ATM アドレスを定義します。 本変数は、UNI シグナリングマネージャを使用するインタフェースにおいてのみ 利用可能です。 .Dq Li local に設定すると、本ホストが ATMARP サーバになります。 値はコマンド .Dq Nm atm Cm "set arpserver" Ar netif のパラメータとして渡されます。 .It Va atm_scsparp_ Ns Aq Ar netif .Pq Vt ブール値 .Dq Li YES に設定すると、ネットワークインタフェース .Ar netif に対する SCSP/ATMARP サービスが、 .Xr scspd 8 および .Xr atmarpd 8 を使用して開始されます。 本変数は .Va atm_arpserver_ Ns Aq Ar netif が .Dq Li local に設定されている場合にのみ利用可能です。 .It Va atm_pvcs .Pq Vt 文字列 システムブート時に追加したい ATM PVC のリストを設定します。 この値の中で空白で区切られた .Ar element ごとに、変数 .Va atm_pvc_ Ns Aq Ar element が存在するものと仮定されます。 これらの変数の値がコマンド .Dq Nm atm Cm "add pvc" のパラメータとして渡されます。 .It Va atm_arps .Pq Vt 文字列 システムブート時に追加したい、 永続的な ATM ARP エントリのリストを設定します。 この値の中で空白で区切られた .Ar element ごとに、変数 .Va atm_arp_ Ns Aq Ar element が存在するものと仮定されます。 これらの変数の値がコマンド .Dq Nm atm Cm "add arp" のパラメータとして渡されます。 .It Va natm_interfaces .Pq Vt 文字列 .Xr harp 4 を介して HARP でも使用される、 .Xr natm 4 インタフェースのリストに設定します。 このリストが空ではない場合、このリスト中のすべてのインタフェースが .Xr ifconfig 8 で立ち上げられ、 .Xr harp 4 がロードされます。 これが動作するためには、 インタフェースドライバがカーネルに組み込まれているか ルートパーティションに存在することが必要です。 .It Va keybell .Pq Vt 文字列 キーボードベル音。 デフォルト動作が必要な場合、 .Dq Li normal , .Dq Li visual , .Dq Li off , .Dq Li NO のいずれかに設定します。 詳細については .Xr kbdcontrol 1 マニュアルページを参照してください。 .It Va keymap .Pq Vt 文字列 .Dq Li NO に設定すると、キーマップはインストールされません。 それ以外の場合、 ここで指定した .Ar value がキーマップファイル .Pa /usr/share/syscons/keymaps/ Ns Ao Ar value Ac Ns Pa .kbd をインストールするのに用いられます。 .It Va keyrate .Pq Vt 文字列 キーボードのリピートスピードです。以下のいずれかに設定します。 .Dq Li slow , .Dq Li normal , .Dq Li fast か、 デフォルト値を希望する場合は .Dq Li NO とします。 .It Va keychange .Pq Vt 文字列 .Dq Li NO 以外に設定すると、その値でファンクションキーをプログラムしようとします。 指定できる値は単一の文字列で, .Dq Ar funkey_number new_value Op Ar funkey_number new_value ... . という形式でないといけません。 .It Va cursor .Pq Vt 文字列 カーソルの動作を明示的に指定する場合は .Dq Li normal , .Dq Li blink , .Dq Li destructive のいずれかの値に設定します。 デフォルト動作を選ぶには .Dq Li NO とします。 .It Va scrnmap .Pq Vt 文字列 .Dq Li NO に設定すると、スクリーンマップはインストールされません。 それ以外の場合には、ここで指定した .Ar value がスクリーンマップファイル .Pa /usr/share/syscons/scrnmaps/ Ns Aq Ar value をインストールするのに用いられます。 .It Va font8x16 .Pq Vt 文字列 .Dq Li NO に設定すると、スクリーンサイズの要求に対しデフォルトの 8x16 フォント値が 用いられます。 それ以外の場合は .Pa /usr/share/syscons/fonts/ Ns Aq Ar value の値が用いられます。 .It Va font8x14 .Pq Vt 文字列 .Dq Li NO に設定すると、スクリーンサイズの要求に対しデフォルトの 8x14 フォント値が 用いられます。 それ以外の場合は .Pa /usr/share/syscons/fonts/ Ns Aq Ar value の値が用いられます。 .It Va font8x8 .Pq Vt 文字列 .Dq Li NO に設定すると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が 用いられます。 それ以外の場合は .Pa /usr/share/syscons/fonts/ Ns Aq Ar value の値が用いられます。 .It Va blanktime .Pq Vt 整数 .Dq Li NO に設定すると、デフォルトのスクリーンブランク時間間隔が用いられます。 それ以外の場合は .Ar value 秒に設定されます。 .It Va saver .Pq Vt 文字列 .Dq Li NO 以外に設定すると、これが実際に使用する スクリーンセーバ .Li ( blank , snake , daemon など) となります。 .It Va moused_enable .Pq Vt 文字列 .Dq Li YES に設定すると、コンソール上でのカット/ペーストセレクション用に .Xr moused 8 デーモンが起動されます。 .It Va moused_type .Pq Vt 文字列 利用したいマウスのプロトコルのタイプ。 .Va moused_enable が .Dq Li YES の場合、この変数は必ず設定しなければなりません。 多くの場合、 .Xr moused 8 デーモンは適切なマウスタイプを自動的に検出することができます。 デーモンにマウスを検出させるには、この変数を .Dq Li auto に設定します。 自動検出が失敗する場合、以下のリストから 1 つを選びます。 .Pp マウスが PS/2 マウスポートに接続されている場合、 .Dq Li auto か .Dq Li ps/2 を常に指定する必要があります。マウスのブランドやモデルには無関係です。 同様に、マウスがバスマウスポートに接続されている場合、 .Dq Li auto か .Dq Li busmouse を選択してください。 他のプロトコルはシリアルマウス用であり、 PS/2 マウスおよびバスマウスでは動作しません。 USB マウスの場合、 .Dq Li auto のみが、動作する唯一のプロトコルです。 .Pp .Bl -tag -width ".Li x10mouseremote" -compact .It Li microsoft Microsoft マウス (シリアル) .It Li intellimouse Microsoft IntelliMouse (シリアル) .It Li mousesystems Mouse system 社製のマウス (シリアル) .It Li mmseries MM シリーズのマウス (シリアル) .It Li logitech Logitech 製のマウス (シリアル) .It Li busmouse バスマウス .It Li mouseman Logitech の MouseMan および TrackMan (シリアル) .It Li glidepoint ALPS 製の GlidePoint (シリアル) .It Li thinkingmouse Kensington 製の ThinkingMouse (シリアル) .It Li ps/2 PS/2 マウス .It Li mmhittab MM の HitTablet (シリアル) .It Li x10mouseremote X10 MouseRemote (シリアル) .It Li versapad Interlink VersaPad (シリアル) .El .Pp お使いのマウスが上記のリストにない場合でも、 リスト中のいずれかと互換性があるかも知れません。 互換性に関する情報については .Xr moused 8 のマニュアルページを参照してください。 .Pp また、 この変数が有効であるときは、(Xサーバのような) 他の全ての マウスクライアントは仮想マウスデバイス .Pa /dev/sysmouse を通してマウスにアクセスし、 それを .Dq Li sysmouse タイプのマウスとして構成すべきであると いうことにも注意すべきです。 これは、 .Xr moused 8 使用時は、全てのマウスデータがこの単一の標準フォーマットに 変換されるためです。 クライアントプログラムが .Dq Li sysmouse タイプを サポートしないなら次に望ましいタイプとして .Dq Li mousesystems を 指定してください。 .It Va moused_port .Pq Vt 文字列 .Va moused_enable が .Dq Li YES の場合、これはマウスが接続されている実際のポートになります。 たとえば、COM1 シリアルマウスに対しては .Pa /dev/cuaa0 、PS/2 マウスに対しては .Pa /dev/psm0 、バスマウスに対しては .Pa /dev/mse0 となります。 .It Va moused_flags .Pq Vt 文字列 .Va moused_type が設定されている場合、これらは .Xr moused 8 デーモンに渡す追加のフラグとなります。 .It Va mousechar_start .Pq Vt 整数 .Dq Li NO に設定すると、デフォルトのマウスカーソル文字範囲 .Li 0xd0 Ns - Ns Li 0xd3 が使用されます。 そうでない場合、範囲の開始が .Ar value 文字に設定されます。 .Xr vidcontrol 1 を参照してください。 デフォルトの範囲が言語のコード表で占められる場合に使用してください。 .It Va allscreens_flags .Pq Vt 文字列 設定すると、各仮想端末 .Pq Pa /dev/ttyv* に対し、これらのオプションを使用して .Xr vidcontrol 1 を実行します。 例えば .Dq Fl m Cm on は、 .Va moused_enable が .Dq Li YES に設定されている場合、全仮想端末上でマウスポインタを有効にします。 .It Va allscreens_kbdflags .Pq Vt 文字列 設定されると、各仮想端末 .Pq Pa /dev/ttyv* に対し、 .Xr kbdcontrol 1 がこれらのオプション付きで実行されます。 例えば、 .Dq Fl h Li 200 は .Xr syscons 4 をスクロールバック (ヒストリ) バッファ 200 行に設定します。 .It Va cron_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr cron 8 デーモンを起動します。 .It Va cron_program .Pq Vt 文字列 .Xr cron 8 へのパス (デフォルトは .Pa /usr/sbin/cron です)。 .It Va cron_flags .Pq Vt 文字列 .Va cron_enable が .Dq Li YES を設定されている場合、これが .Xr cron 8 へ渡すフラグとなります。 .It Va lpd_program .Pq Vt 文字列 .Xr lpd 8 へのパス (デフォルトは .Pa /usr/sbin/lpd です)。 .It Va lpd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr lpd 8 デーモンを起動します。 .It Va lpd_flags .Pq Vt 文字列 .Va lpd_enable が .Dq Li YES の場合、これらは .Xr lpd 8 デーモンに渡すフラグとなります。 .It Va mta_start_script .Pq Vt 文字列 本変数は、メール転送エージェントを起動するスクリプトへのフルパスを指定します。 デフォルトは、 .Pa /etc/rc.sendmail です。 .Pa /etc/rc.sendmail が使用する .Va sendmail_* 変数は、 .Xr rc.sendmail 8 マニュアルページに記述してあります。 .It Va dumpdev .Pq Vt 文字列 システムクラッシュ時にクラッシュダンプを書き込むデバイス (通常はスワップパーティション) を指定します。 この変数の値は .Xr dumpon 8 への引数として渡されます。 クラッシュダンプを無効にするには、この変数を .Dq Li NO に設定します。 .It Va dumpdir .Pq Vt 文字列 クラッシュ後にシステムがリブートするとき、 .Va dumpdev で指定されるデバイスにクラッシュダンプが見付かると、 .Xr savecore 8 は、 このクラッシュダンプとカーネルのコピーを、 .Va dumpdir 変数で指定されるディレクトリへ保存します。 デフォルト値は .Pa /var/crash です。 .Va dumpdir を .Dq Li NO に設定すると、ブート時に .Xr savecore 8 を起動しません。 .It Va savecore_flags .Pq Vt 文字列 クラッシュダンプが有効な場合、これらは .Xr savecore 8 ユーティリティに渡すフラグになります。 .It Va enable_quotas .Pq Vt ブール値 .Dq Li YES に設定すると、システム起動時に、 .Xr quotaon 8 コマンドによってユーザディスクのクォータチェックを有効にします。 .It Va check_quotas .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr quotacheck 8 コマンドによってユーザディスクのクォータチェックを有効にします。 .It Va accounting_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr accton 8 機能でシステムアカウンティングを有効にします。 .It Va ibcs2_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にします。 .It Va ibcs2_loaders .Pq Vt 文字列 これを .Dq Li NO に設定せずに .Va ibcs2_enable を .Dq Li YES に設定した場合、 この文字列は有効化すべき追加の iBCS2 ローダのリストを指定します。 .It Va linux_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 システムブート時に Linux/ELF バイナリエミュレーションを有効にします。 .It Va osf1_enable .Pq Vt ブール値 システムブート時に OSF/1 (Digital UNIX) バイナリエミュレーションを 有効にしたいなら .Dq Li YES に設定します (Alpha)。 .It Va svr4_enable .Pq Vt ブール値 .Dq Li YES に設定すると、起動時に SysVR4 エミュレーションを有効にします。 .It Va sysvipc_enable .Pq Vt ブール値 .Dq Li YES に設定すると、起動時に System V IPC プリミティブをロードします。 .It Va clear_tmp_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 起動時に .Pa /tmp 下を消去します。 .It Va ldconfig_paths .Pq Vt 文字列 .Xr ldconfig 8 で使用する共有ライブラリのパスのリストを設定します。 注意: .Pa /usr/lib は常に先頭に追加されるので、このリストに指定する必要はありません。 .It Va ldconfig_paths_aout .Pq Vt 文字列 .Xr ldconfig 8 で使用する共有ライブラリパスに設定します。 古い .Xr a.out 5 サポートです。 .It Va ldconfig_insecure .Pq Vt ブール値 .Xr ldconfig 8 ユーティリティは、通常、 root 以外が書き込み可能なディレクトリの使用を拒否します。 .Dq Li YES に設定すると、 システムの起動中はこのセキュリティチェックを無効化します。 .It Va kern_securelevel_enable .Pq Vt ブール値 カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、 .Dq Li YES に設定します。 .It Va kern_securelevel .Pq Vt 整数 スタートアップ時に設定されるカーネルセキュリティレベルです。 .Va 値 として許される範囲は \-1 (コンパイル時のデフォルト) から 3 (最も安全) です。 利用可能なセキュリティレベルとシステム操作への影響については、 .Xr init 8 を参照してください。 .It Va lomac_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 ブート時に Low Watermark Mandatory Access Control (LOMAC) を有効にします。 このセキュリティモデルは、システムプロセスに対し、完全性の制約を課します。 LOMAC モデルの完全な記述と、システム動作への影響については、 .Xr lomac 4 を参照してください。 .It Va start_vinum .Pq Vt ブール値 .Dq Li YES に設定すると、 システムブート時に .Xr vinum 8 を開始します。 .It Va sshd_program .Pq Vt 文字列 SSH サーバプログラムへのパスです ( .Pa /usr/sbin/sshd がデフォルトです)。 .It Va sshd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 ブート時に .Xr sshd 8 を起動します。 .It Va sshd_flags .Pq Vt 文字列 .Va sshd_enable が .Dq Li YES の場合、これらは .Xr sshd 8 デーモンに渡すフラグになります。 .It Va usbd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、起動時に .Xr usbd 8 を実行します。 .It Va usbd_flags .Pq Vt 文字列 .Va usbd_enable が .Dq Li YES の場合、これらは .Xr usbd 8 デーモンに渡すフラグになります。 .It Va watchdogd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr watchdogd 8 を起動します。 このためには、カーネルが .Cd "options WATCHDOG" 付きでコンパイルされていることが必要です。 .It Va jail_enable .Pq Vt ブール値 .Dq Li NO に設定すると、設定済の jail は起動されません。 .It Va jail_list .Pq Vt 文字列 空白で区切られた jail 名のリストです。 これは、複数の jail の識別と設定を助ける、設定のためのものです。 このリストで指定される名前が、 ある jail のインスタンスに共通する識別子として使用されます。 対象の jail 名が .Li vjail とすると、これに依存する下記の変数ができます: .Bd -literal jail_vjail_hostname="jail.example.com" jail_vjail_ip="192.168.1.100" jail_vjail_rootdir="/var/jails/vjail/root" jail_vjail_exec="/bin/sh /etc/rc" .Ed .Pp 最後の項目は省略可能です。 設定されていない場合には、デフォルトの .Pa /etc/rc になります。 .It Va jail_set_hostname_allow .Pq Vt ブール値 .Dq Li NO に設定すると、jail 中の root ユーザがホスト名を設定できないようにします。 .It Va jail_socket_unixiproute_only .Pq Vt ブール値 .Dq Li NO に設定すると、jail 内で TCP/IP 以外のプロトコルを使えないようにします。 .It Va jail_sysvipc_allow .Pq Vt ブール値 .Dq Li YES に設定すると、jail 内のアプリケーションが System V IPC を使えるようにします。 .It Va unaligned_print .Pq Vt ブール値 .Dq Li NO に設定すると、境界調整されていないアクセスの警告は表示されません (Alpha)。 .\" ----- isdn settings --------------------------------- .It Va isdn_enable .Pq Vt ブール値 デフォルトは .Dq Li NO です。 .Dq Li YES に設定すると、 .Xr isdnd 8 デーモン をシステム起動時に起動します。 .It Va isdn_flags .Pq Vt 文字列 デフォルトは .Dq Fl d Ns Cm n Fl d Ns Li 0x1f9 です。 .Xr isndn 8 に渡される追加のフラグです (調整可能なパラメータについては .Va isdn_fsdev と .Va isdn_ttype を参照してください)。 .It Va isdn_ttype .Pq Vt 文字列 デフォルトは .Dq Li cons25 です。 .Xr idsnd 8 が全画面モードで動作する場合の出力端末の型です。 .It Va isdn_screenflags .Pq Vt 文字列 デフォルトで .Dq Li NO に設定されます。 全画面モード用のビデオモードです ( .Xr syscons 4 コンソールドライバ専用です)。 .Xr vidcontrol 1 を参照してください。 .It Va isdn_fsdev .Pq Vt 文字列 デフォルトは .Dq Li NO です。 .Xr idsnd 8 が全画面モードで動作する場合の出力端末です (デーモンモード時は .Dq Li NO です)。 .It Va isdn_trace .Pq Vt ブール値 デフォルトは .Dq Li NO です。 .Dq Li YES に設定すると、ISDN プロトコルトレースユーティリティ .Xr isdntrace 8 をシステム起動時に有効にします。 .It Va isdn_traceflags .Pq Vt 文字列 デフォルトは .Dq Fl f Pa /var/tmp/isdntrace0 です。 .Xr isdntrace 8 へのフラグです。 .\" ----------------------------------------------------- .It Va pcvt_verbose .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、 起動スクリプトが行った動作に関する冗長なメッセージが表示されます。 .Em 注 : ここで記述されている .Xr pcvt 4 オプション関連の効果のためには、 .Xr pcvt 4 ドライバがカーネルに組み込まれている必要があります。 .It Va pcvt_keymap .Pq Vt 文字列 デフォルトで .Dq Li NO に設定されます。 これで各国キーボード配列の初期化をします。 キーボード配列は .Pa /usr/share/misc/keycap.pcvt ファイルに記述されています .Xr ( pcvt 4 の keycap データベースの使用方法については、マニュアルページ .Xr keycap 5 および .Xr keycap 3 を参照し、各国キーボード配列の設定については .Xr kcon 1 のオプション .Fl m を参照してください)。 .It Va pcvt_keydel .Pq Vt 整数 デフォルトで .Dq Li NO に設定されます。 キーボードのキーリピート遅延値に使用されます。 正当な値は 0..3 の範囲であり、遅延値 250, 500, 750, 1000 msec です .Xr ( kcon 1 マニュアルページも参照してください)。 .It Va pcvt_keyrate .Pq Vt 整数 デフォルトで .Dq Li NO に設定されます。 キーボードのキーリピートレート値に使用されます。 正当な値は 0..31 の範囲であり、秒あたり 2..30 文字のリピート値です。 .It Va pcvt_keyrepeat .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、自動キーボードキーリピートを有効にします。 .It Va pcvt_force24 .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、オリジナルの .Tn VT220 端末との互換性のために (25 行モードで) 24 行のみを使用するよう .Xr pcvt 4 に強制します。 .It Va pcvt_hpext .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、ファンクションキーラベル .Tn ( Hewlett-Packard の .Tn HP2392A や .Tn HP700/92 のような端末の ANSI モードで見られるもの) の表示と機能を有効にします。 .It Va pcvt_lines .Pq Vt 整数 デフォルトの .Dq Li NO は、値 25 になります。 画面の行数を設定するために使用します。 VGA ディスプレイでは、正当な値は 25, 28, 40, 50 行です .Xr ( scon 1 マニュアルページも参照してください)。 .It Va pcvt_blanktime .Pq Vt 整数 デフォルトで .Dq Li NO に設定されます。 0 より大きい値を使用することで、スクリーンセーバのタイムアウトを、 秒単位で指定します。 .It Va pcvt_cursorh .Pq Vt 整数 デフォルトで .Dq Li NO に設定されます。 カーソルトップスキャンラインを設定するために使用されます .Xr ( cursor 1 マニュアルページも参照してください)。 .It Va pcvt_cursorl .Pq Vt 整数 デフォルトで .Dq Li NO に設定されます。 カーソルボトムスキャンラインを設定するために使用されます。 .It Va pcvt_monohigh .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、モノクロームモニタの輝度を高くします (VGA パレット値の変更に関する更なる情報は、 .Xr scon 1 マニュアルページの .Fl p を参照してください)。 .It Va harvest_interrupt .Pq Vt ブール値 .Dq Li YES に設定すると、エントロピ源としてハードウェア割り込みを使用します。 更なる情報については .Xr random 4 を参照してください。 .It Va harvest_ethernet .Pq Vt ブール値 .Dq Li YES に設定すると、エントロピ源として LAN トラフィックを使用します。 更なる情報については .Xr random 4 を参照してください。 .It Va harvest_p_to_p .Pq Vt ブール値 .Dq Li YES に設定すると、エントロピ源としてシリアル線を使用します。 更なる情報については .Xr random 4 を参照してください。 .It Va entropy_dir .Pq Vt 文字列 .Dq Li NO に設定すると、 .Xr cron 8 によるエントロピキャッシングを無効化します。 そうでない場合、エントロピファイルを格納するディレクトリを設定します。 .It Va entropy_file .Pq Vt 文字列 .Dq Li NO に設定すると、リブートを通じたエントロピキャッシングを無効化します。 そうでない場合、キャッシュしたエントロピを、 リブートの間に格納するために使用するファイル名を設定します。 このファイルはルートファイルシステムに置き、ブート処理のなるべく早期に .Xr random 4 デバイスをシードするべきです。 .It Va entropy_save_sz .Pq Vt 整数 .Nm save-entropy により定期的に保存されるエントロピキャッシュファイルの大きさです。 .It Va entropy_save_num .Pq Vt 整数 .Nm save-entropy により定期的に保存されるエントロピキャッシュファイルの数です。 .It Va ipsec_enable .Pq Vt ブール値 .Dq Li YES に設定すると、起動時に .Xr setkey 8 を .Va ipsec_file に対して実行します。 .It Va ipsec_file .Pq Vt 文字列 .Xr setkey 8 の設定ファイルです。 .It Va dmesg_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr dmesg 8 を .Pa /var/run/dmesg.boot に保存します。 .It Va rcshutdown_timeout .Pq Vt 整数 設定した場合、バックグラウンドでウォッチドッグタイマを起動し、 .Xr shutdown 8 が指定した時間 (秒単位) で完了しない場合には .Pa rc.shutdown を終了させます。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /etc/defaults/rc.conf" -compact .It Pa /etc/defaults/rc.conf .It Pa /etc/rc.conf .It Pa /etc/rc.conf.local .El .Sh 関連項目 .Xr catman 1 , .Xr gdb 1 , .Xr info 1 , .Xr kbdcontrol 1 , .Xr makewhatis 1 , .Xr vidcontrol 1 , .Xr ip 4 , .Xr kld 4 , .Xr tcp 4 , .Xr udp 4 , .Xr exports 5 , .Xr motd 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , .Xr atm 8 , .Xr cron 8 , .Xr dhclient 8 , .Xr ifconfig 8 , .Xr inetd 8 , .Xr isdnd 8 , .Xr isdntrace 8 , .Xr kldxref 8 , .Xr lpd 8 , .Xr mdconfig 8 , .Xr mountd 8 , .Xr moused 8 , .Xr mrouted 8 , .Xr named 8 , .Xr nfsd 8 , .Xr ntpd 8 , .Xr ntpdate 8 , .Xr pcnfsd 8 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr rc 8 , .Xr rc.sendmail 8 , .Xr route 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , .Xr rpcbind 8 , .Xr rwhod 8 , .Xr savecore 8 , .Xr sshd 8 , .Xr swapon 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr timed 8 , .Xr usbd 8 , .Xr vinum 8 , .Xr yp 8 , .Xr ypbind 8 , .Xr ypserv 8 , .Xr ypset 8 .Sh 歴史 .Nm ファイルは .Fx 2.2.2 で登場しました。 .Sh 作者 .An Jordan K. Hubbard . diff --git a/ja_JP.eucJP/man/man7/build.7 b/ja_JP.eucJP/man/man7/build.7 index fcbf291fb8..082bd5c6c8 100644 --- a/ja_JP.eucJP/man/man7/build.7 +++ b/ja_JP.eucJP/man/man7/build.7 @@ -1,205 +1,206 @@ .\" Copyright (c) 2000 .\" Mike W. Meyer .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man7/build.7,v 1.21 2003/07/08 16:39:10 smkelly Exp % +.\" %FreeBSD: src/share/man/man7/build.7,v 1.23 2003/11/14 16:55:00 imp Exp % .\" .\" $FreeBSD$ .Dd March 15, 2002 .Dt BUILD 7 .Os .Sh 名称 .Nm build .Nd システムの構築方法についての情報 .Sh 解説 .Fx システムおよびアプリケーションのソースコードは、異なる 3 つの ディレクトリに格納されています。通常は、 .Pa /usr/src , .Pa /usr/doc , .Pa /usr/ports です。 .Pa /usr/src には .Dq "ベースシステム" のソースが含まれています。ベースシステムとは、システムを使える 状態に構築し直すのに必要なものとして大雑把に定義されています。 .Pa /usr/doc にはシステムドキュメントのソースが含まれています。ただし、マニュアル ページは除きます。 .Pa /usr/ports は、サードパーティのアプリケーションを構築し、インストールするための 一貫したインタフェースを提供しているツリーです。 .Pp これら 3 つのディレクトリそれぞれに格納されているものを構築し インストールするには、 .Xr make 1 コマンドを使用します。これら 3 つのディレクトリ、もしくは サブディレクトリ内のどこででも .Xr make 1 コマンドを実行すれば、 そのディレクトリ配下のサブディレクトリ内すべてで同一のコマンドを 発行したのと同じ効果があります。 ターゲットを指定しなければ、make コマンドを実行した ディレクトリ内にあるものを単純に構築します。 次のリストはその他のターゲットの名称およびアクションを示した ものです: .Bl -tag -width indent-two .It Cm clean 構築プロセス中で生成されたファイルをすべて消去します。 .It Cm install このディレクトリに対する構築結果をインストールします。 .It Cm update 更新されたソースを .Pa /etc/make.conf で設定されている通りに取得します。 .El .Pp その他の .Pa /usr/src での make ターゲットは次のものがあります: .Bl -tag -width indent-two .It Cm buildworld カーネル以外のすべてのものを再構築し、 .Pa /etc ディレクトリ内のファイルを設定してリリースします。 .It Cm installworld .Cm buildworld で構築したものすべてをインストールします。 .It Cm world .Cm buildworld と .Cm installworld を足したものです。 .It Cm buildkernel カーネルとカーネルモジュールを再構築します。 .It Cm installkernel カーネルとカーネルモジュールをインストールします。 .It Cm reinstallkernel カーネルとカーネルモジュールを再インストールします。 -.It Cm most -ユーザコマンドを構築します。ライブラリやインクルードファイルは -含みません。 -.It Cm installmost -ユーザコマンドをインストールします。ライブラリやインクルードファイルは -含みません。 .El .Pp ports の構築プロセスに関する情報については、 .Xr ports 7 を参照してください。 .Sh 環境変数 .Bl -tag -width ".Va TARGET_ARCH" .It Va TARGET_ARCH ターゲットとなるマシンプロセッサアーキテクチャ。 この環境変数は .Dq Nm uname Fl p の出力と同じものです。 異なるアーキテクチャ用にクロスビルドするにはこの 環境変数を設定してください。 .It Va TARGET ターゲットとなるハードウェアプラットフォーム。 この環境変数は .Dq Nm uname Fl m の出力と同じものです。 ターゲットアーキテクチャをクロスビルドするのに必要な 変数です。 例えば、PC98 マシン用にクロスビルドを行うには .Va TARGET_ARCH Ns = Ns Li i386 と .Va TARGET Ns = Ns Li pc98 が必要です。 .It Va NO_WERROR 定義されている場合、警告が出ても構築が停止することはありません。 makefile が別のことを言ってきても停止しません。 .It Va DESTDIR 生成したバイナリをインストールするディレクトリ階層を指します。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact .It Pa /etc/make.conf .It Pa /usr/doc/Makefile .It Pa /usr/doc/share/mk/doc.project.mk .It Pa /usr/ports/Mk/bsd.port.mk .It Pa /usr/ports/Mk/bsd.sites.mk .It Pa /usr/share/examples/etc/make.conf .It Pa /usr/src/Makefile .It Pa /usr/src/Makefile.inc1 .El .Sh 使用例 最新のソースからシステムを更新するのには 次のようにするのが .Dq よい とされています: .Bd -literal -offset indent make buildworld make buildkernel KERNCONF=FOO make installkernel KERNCONF=FOO +<新規カーネルをシングルユーザモードでリブート> make installworld mergemaster .Ed .Pp .Dq Li FOO のところは、カーネルを構築する際に必要となるカーネル設定ファイル名で 置き換える必要があります。 この代わりに、 .Pa /etc/make.conf ファイル中にある .Va KERNCONF 変数を構築するカーネル名に設定することができます。 この場合、 .Cm buildkernel および .Cm installkernel コマンドの .Va KERNCONF Ns = Ns Li FOO の部分は省略可能です。 .Pp これらのコマンドの実行後は、システムをリブートする必要があります。 リブートしないと、再構築されたプログラムの多く ( .Xr ps 1 や .Xr top 1 等) は、まだ動作している古いカーネルでは動かない可能性が あります。 +極最近のソースからアップグレードするほとんどの場合には +厳密には必要とはならないのですが、 +古いカーネルからのアップグレード時や、そのカーネルで +.Dq 奇妙な現象 +が発生することが分かっている時には、 +シングルユーザモードでのリブートは非常に重要です。 .Pp i386 のホストで Alpha アーキテクチャ用のシステムをクロスビルド するには、次のコマンドシーケンスを使用できます: .Bd -literal -offset indent cd /usr/src make TARGET_ARCH=alpha buildworld make TARGET_ARCH=alpha DESTDIR=/clients/axp installworld .Ed .Sh 関連項目 .Xr cc 1 , .Xr install 1 , .Xr make 1 , .Xr make.conf 5 , .Xr ports 7 , .Xr release 7 , .Xr mergemaster 8 , .Xr reboot 8 , .Xr shutdown 8 .Sh 作者 .An Mike W. Meyer Aq mwm@mired.org です。 diff --git a/ja_JP.eucJP/man/man7/hier.7 b/ja_JP.eucJP/man/man7/hier.7 index 2072398597..2f41471b43 100644 --- a/ja_JP.eucJP/man/man7/hier.7 +++ b/ja_JP.eucJP/man/man7/hier.7 @@ -1,808 +1,811 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man7/hier.7,v 1.88 2003/10/30 21:25:37 fjoe Exp % +.\" %FreeBSD: src/share/man/man7/hier.7,v 1.89 2003/11/08 18:01:44 rwatson Exp % .\" .\" $FreeBSD$ .Dd June 5, 1993 .Dt HIER 7 .Os .Sh 名称 .Nm hier .Nd ファイルシステムのレイアウト .Sh 解説 ファイルシステムの階層構成についての概略です。 .Bl -tag -width "/stand/" .It Pa / ファイルシステムのルートディレクトリ。 .It Pa /bin/ ユーザ用ユーティリティの基本的なもの。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Pa /boot/ オペレーティングシステムのブートストラップ中に使用される プログラムと設定ファイル。 .Pp .Bl -tag -width defaults/ -compact .It Pa defaults/ デフォルトのブートストラップ用設定ファイル。 .Xr loader.conf 5 参照。 .It Pa kernel/ カーネルの pure な実行可能ファイル (ブート時にメモリに読み込まれる オペレーティングシステム)。 .It Pa modules/ サードパーティのロード可能なカーネルモジュール。 .Xr kldstat 8 参照。 .El .It Pa /cdrom/ CD-ROM ドライブのデフォルトマウントポイント .Xr ( sysinstall 8 が作成します)。 .It Pa /compat/ 通常は、 .Pa /usr/compat へのリンクです。 そうでない場合、 .Pa /usr/compat コメントがあてはまります。 .Xr ( sysinstall 8 が作成します)。 .It Pa /dev/ ブロックデバイスおよびキャラクタデバイスファイル。 .Pp .Bl -tag -width ".Pa fd/" -compact .It Pa fd/ ファイル記述子ファイル。 .Xr \&fd 4 参照。 .El .It Pa /dist/ .Xr sysinstall 8 が使用するマウントポイント。 .It Pa /etc/ システムの設定ファイル、およびスクリプト。 .Pp .Bl -tag -width "disklabels/" -compact .It Pa defaults/ デフォルトのシステム設定ファイル。 .Xr rc 8 参照。 .It Pa gnats/ gnats 設定ファイル。 .Xr send-pr 1 参照。 .It Pa isdn/ isdn4bsd の設定ファイル。 .Xr isdnd 8 参照。 .It Pa localtime ローカルタイムゾーン情報。 .Xr ctime 3 参照。 .It Pa mail/ sendmail の制御情報。 .It Pa mtree/ mtree 設定ファイル。 .Xr mtree 8 参照。 .It Pa namedb/ named 設定ファイル。 .Xr named 8 参照。 .It Pa pam.d/ プラグ可能認証モジュール (Pluggable Authentication Modules; PAM) ライブラリの設定ファイル。 .Xr pam 8 参照。 .It Pa periodic/ .Xr cron 8 により、毎日/毎週/毎月実行されるスクリプト。 .Xr periodic 8 参照。 .It Pa ppp/ .Xr ppp 8 ppp 設定ファイル。 .Xr ppp 8 参照。 .It Pa ssl/ OpenSSL 設定ファイル。 .El .It Pa /kernel カーネルの pure な実行可能ファイル (ブート時にメモリに読み込まれる オペレーティングシステム)。 .It Pa /modules/ ロード可能なカーネルモジュール。 .Xr kldstat 8 参照。 .It Pa /mnt/ 通常、システム管理者が一時的なマウントポイントとして使用する 空のディレクトリ。 .It Pa /proc/ プロセスファイルシステム。 .Xr procfs 5 , .Xr mount_procfs 8 参照。 .It Pa /rescue/ 緊急回復時に使用される、静的にリンクされたプログラム群です。 .Xr rescue 8 を参照してください。 .It Pa /root/ root のホームディレクトリ。 .It Pa /sbin/ システムプログラム、および基本的な管理者用ユーティリティ。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Pa /stand/ スタンドアロン環境で使用されるプログラム。 .It Pa /tmp/ システムリブートをまたがった永続性が保証されない、一時ファイル。 .It Pa /usr/ ユーザ用ユーティリティ、およびアプリケーションの大部分を含む。 .Pp .Bl -tag -width "libdata/" -compact .It Pa bin/ 一般的なユーティリティ、プログラミングツール、アプリケーション。 .It Pa compat/ Linux 等の他のオペレーティングシステムとのバイナリ互換性をサポートするために 必要なファイル .Xr ( sysinstall 8 が作成します)。 .It Pa games/ 有用でちょっとふざけたプログラム。 .It Pa include/ 標準 C 言語インクルードファイル。 .Pp .Bl -tag -width "kerberos5/" -compact .It Pa arpa/ インターネットサービスプロトコルのための C 言語インクルードファイル。 .It Pa cam/ Common Access Methods Layer 用 C インクルードファイル。 .Bl -tag -width "kerberos5/" -compact .It Pa scsi/ CAM 上の SCSI デバイス。 .El .It Pa dev/ 様々な .Fx デバイスのプログラミング用の C インクルードファイル。 .Bl -tag -width "kerberos5/" -compact .It Pa ic/ ドライバ/バス独立なハードウェア回路を記述する、様々なヘッダファイル。 .It Pa ofw/ OpenFirmware サポート。 .It Pa ppbus/ パラレルポートバス。 .Xr ppbus 4 参照。 .It usb/ USB サブシステム。 .It Pa utopia/ ATM インタフェース用の物理チップドライバ。 .Xr utopia 4 参照。 .It Pa wi/ .Xr wi 4 WaveLAN ドライバ。 .El .It Pa fs/ .Bl -tag -width "kerberos5/" -compact .It Pa fdescfs/ プロセス毎のファイル記述子ファイルシステム。 .It Pa fifofs/ .St -p1003.1 FIFO ファイルシステム。 .It Pa msdosfs/ MS-DOS ファイルシステム。 .It Pa ntfs/ NTFS ファイルシステム。 .It Pa nullfs/ ループバックファイルシステム。 .It Pa nwfs/ NetWare ファイルシステム。 .It Pa portalfs/ ポータルファイルシステム。 .It Pa procfs/ プロセスファイルシステム。 .It Pa smbfs/ SMB/CIFS ファイルシステム。 .It Pa umapfs/ uid/gid マッピングを変えるファイルシステム .It Pa unionfs ユニオンファイルシステム。 .El .It Pa g++/ GNU C++ 言語インクルードファイル。 .Bl -tag -width "kerberos5/" -compact .It Pa std/ GNU C++ 言語 libstdc++ インクルードファイル。 .El .It Pa isc/ ISC ユーティリティライブラリ libisc インクルードファイル。 .It Pa isofs/ .Bl -tag -width "kerberos5/" -compact .It Pa cd9660/ iso9660 形式ファイルシステム。 .El .It Pa libmilter/ libmilter 用の C インクルードファイルであり、 .Xr sendmail 8 メールフィルタ の API です。 .It Pa machine/ マシン固有機能の C 言語インクルードファイル。 .It Pa net/ その他のネットワーク機能用 C 言語インクルードファイル。 .It Pa netatalk/ Appletalk プロトコル。 .It Pa netatm/ ATM のインクルードファイル。 .Xr atm 8 参照。 .It Pa netinet/ インターネット標準プロトコル用 C 言語インクルードファイル。 .Xr inet 4 参照。 .It Pa netinet6/ インターネットプロトコルバージョン 6 用の C インクルードファイル。 .Xr inet6 4 参照。 .It Pa netipx/ IPX/SPX プロトコルスタック。 .It Pa netkey/ カーネルの鍵管理サービス。 .It Pa netnatm/ NATM インクルードファイル。 .Xr natm 4 参照。 .It Pa netsmb/ SMB/CIFS リクエスタ。 .It Pa nfs/ NFS (Network File System) 用 C 言語インクルードファイル。 .It Pa objc/ Objective C のインクルードファイル。 .It Pa posix4/ POSIX リアルタイム拡張のインクルードファイル。 .Xr p1003_1b 9 参照。 .It Pa openssl/ OpenSSL (Cryptography/SSL ツールキットの) ヘッダ。 .It Pa pccard/ PC-CARD コントローラ。 .It Pa protocols/ Berkeley サービスプロトコル用 C 言語インクルードファイル。 .It Pa readline/ ユーザからの一行入力機能 (編集機能付き)。 .Xr readline 3 参照。 .It Pa rpc/ リモート手続き呼び出し。 .Xr rpc 3 参照。 .It Pa rpcsvc/ RPC サービス構造の定義。 .Xr rpc 3 参照。 .It Pa security/ PAM。 .Xr pam 8 参照。 .It Pa sys/ システム用 C 言語インクルードファイル (カーネルデータ構造)。 .\" .It Pa tcl/ .\" Tcl 言語。 .\" .Xr Tcl n .\" 参照。 .\" .Bl -tag -width "kerberos5/" -compact .\" .It Pa generic/ .\" ??? .\" .It Pa unix/ .\" ??? .\" .El .It Pa ufs/ UFS (U-word File System) 用 C 言語インクルードファイル。 .Bl -tag -width "kerberos5/" -compact .It Pa ffs/ Fast filesystem。 .It Pa ufs/ UFS ファイルシステム。 .El .It Pa vm/ 仮想記憶。 .Xr vmstat 8 参照。 .El .Pp .It Pa lib/ アーカイブライブラリ。 .Bl -tag -width Fl -compact .It Pa aout/ a.out アーカイブライブラリ。 .It Pa compat/ 互換性維持用の共有ライブラリ。 .Bl -tag -width Fl -compact .It Pa aout/ a.out 後方互換ライブラリ。 .El .El .Pp .It Pa libdata/ その他のユーティリティデータファイル。 .Bl -tag -width Fl -compact .It Pa doscmd/ doscmd が使用するファイル (ドライバ、フォント等)。 .Xr doscmd 1 参照。 .Bl -tag -width 6n -compact .It Pa fonts/ doscmd が使用するフォント。 .El .It Pa gcc/ ??? .It Pa ldscripts/ リンカスクリプト。 .Xr ld 1 参照。 .It Pa lint/ さまざまな lint 用ライブラリ (事前に構築されている)。 .Xr lint 1 参照。 .It Pa stallion/ Stallion シリアルコントローラ用ファームウェアイメージ。 .Xr stl 4 参照。 .El .Pp .It Pa libexec/ システムデーモンおよびシステムユーティリティ。 (他のプログラムから実行されるもの)。 .Bl -tag -width Fl -compact .It Pa aout/ a.out 実行形式を操作するユーティリティ。 .It Pa elf/ ELF 実行形式を操作するユーティリティ。 .It Pa lpr/ LP プリントシステムのユーティリティとフィルタ。 .Xr lpr 1 参照。 .It Pa sendmail/ .Xr sendmail 8 バイナリ。 .Xr mailwrapper 8 参照。 .It Pa sm.bin/ .Xr sendmail 8 用制限付きシェル。 .Xr smrsh 8 参照。 .El .Pp .It Pa local/ ローカルの実行可能ファイル、ライブラリなど。 .Fx ports フレームワークのデフォルトのインストール先としても使用されます。 local/以下では、 .Nm で /usr に関して 記述された一般的な配置が使用されます。 例外は、man ディレクトリ (local/share/ の下ではなく local/ の直下に存在)、 ports のドキュメント (share/doc// に置かれます)、 /usr/local/etc (/etc の模倣) です。 .It Pa obj/ アーキテクチャ依存のターゲットツリー。 /usr/src ツリーを構築することで作成される。 .It Pa ports/ .Fx ports コレクション (オプション扱い)。 .It Pa sbin/ (ユーザによって実行される) システムデーモン、およびシステムユーティリティ。 .It Pa share/ アーキテクチャに依存しないファイル。 .Pp .Bl -tag -width "calendar/" -compact .It Pa calendar/ 事前に組み立てられた calendar ファイルいろいろ。 .Xr calendar 1 参照。 .It Pa dict/ 単語リスト。 .Xr look 1 参照。 .Pp .Bl -tag -width Fl -compact .It Pa freebsd .Fx 固有の術語、固有の名前、隠語。 .It Pa words 一般の単語 .It Pa web2 Webster's 2nd International からの単語 .It Pa papers/ リファレンスデータベース。 .Xr refer 1 参照。 .El .Pp .It Pa doc/ その他の文書。 ( .Tn USENIX association から入手できる) .Bx マニュアルのほとんどのソース。 .Bl -tag -width Fl -compact .It Pa FAQ/ しばしば行なわれる質問とその答え (Frequently Asked Questions)。 .It Pa IPv6/ IPv6 の実装に関する注。 .It Pa bind/ BIND (Berkeley Internet Name Domain) に属する文書。 .It Pa es/ /usr/share/doc 中の文書のスペイン語への翻訳。 .It Pa handbook/ .Fx ハンドブック .It Pa ja/ /usr/share/doc 中の文書の日本語への翻訳。 .It Pa ncurses/ ncurses に属する HTML 文書。 .Xr ncurses 3X 参照 .It Pa ntp/ Network Time Protocol に属する HTML 文書。 .It Pa papers/ UNIX 関連の論文 .It Pa psd/ UNIX プログラマ用補助文書 .It Pa ru/ /usr/share/doc 中の文書のロシア語への翻訳。 .It Pa smm/ UNIX システム管理者用マニュアル .It Pa tutorials/ .Fx チュートリアル。 .It Pa usd/ UNIX ユーザ用補助文書 .It Pa zh/ /usr/share/doc 中の文書の中国語への翻訳。 .El .Pp .It Pa examples/ 一般ユーザやプログラマ向けのさまざまな用例。 .It Pa games/ 各種のゲームで使用される ASCII テキストファイル。 .It Pa groff_font/ デバイス名ごとに用意されたデバイス記述ファイル。 .It Pa info/ GNU Info ハイパーテキストシステム。 .It Pa isdn/ ISDN。 .It Pa locale/ ローカル化関係のファイル。 .Xr setlocale 3 参照。 .It Pa man/ マニュアルページ。 .It Pa me/ me マクロパッケージで使用するマクロ。 .Xr me 7 参照。 .It Pa misc/ その他システム全体の ASCII テキストファイル。 .Bl -tag -width Fl -compact .It Pa fonts/ ??? .It Pa pcvtfonts/ pcvt フォント。 .Xr pcvt 4 参照。 .It Pa termcap 端末の特性を記述するデータベース。 .Xr termcap 5 参照。 .El .It Pa mk/ make 用テンプレート。 .Xr make 1 参照。 .It Pa nls/ 各国語サポート (National Lanuguage Support) ファイル。 .Xr mklocale 1 参照。 .It Pa pcvt/ pcvt の文書とその他の例。 .Xr pcvt 4 参照。 +.It Pa security/ +.Xr mac_lomac 4 +等のセキュリティポリシ用のデータファイル。 .It Pa sendmail/ .Xr sendmail 8 の設定ファイル。 .It Pa skel/ 新しいアカウントのための . (ドット) ファイルの例。 .It Pa syscons/ syscons が使用するファイル。 .Xr syscons 4 参照。 .Bl -tag -width "scrnmaps/xx" -compact .It Pa fonts/ コンソールフォント。 .Xr vidcontrol 1 と .Xr vidfont 1 参照。 .It Pa keymaps/ コンソールキーボードマップ。 .Xr kbdcontrol 1 と .Xr kbdmap 1 参照。 .It Pa scrnmaps/ コンソールスクリーンマップ。 .El .It Pa tabset/ 各種端末用タブ記述ファイル。termcap ファイルの中で使用される。 .Xr termcap 5 参照。 .It Pa tmac/ テキスト処理マクロ。 .Xr nroff 1 および .Xr troff 1 参照。 .It Pa vi/ .Xr vi 1 のローカライズサポートとユーティリティ。 .It Pa zoneinfo/ タイムゾーン設定情報。 .Xr tzfile 5 参照。 .El .It Pa src/ .Bx とサードバーティとローカルのソースファイル。 .Pp .Bl -tag -width "kerberos5/" -compact .It Pa bin/ /bin 内のファイルのソース。 .It Pa contrib/ 寄贈されたソフトウェアのソース。 .It Pa crypto/ 寄贈された暗号化ソフトウェアのソース。 .It Pa etc/ /etc 内のファイルのソース。 .It Pa games/ /usr/games 内のファイルのソース。 .It Pa gnu/ GNU Public Licence で保護されたユーティリティ。 .It Pa include/ /usr/include 内のファイルのソース。 .It Pa kerberos5/ Kerberos version 5 のビルドインフラストラクチャ。 .It Pa lib/ /usr/lib 内のファイルのソース。 .It Pa libexec/ /usr/libexec 内のファイルのソース。 .It Pa release/ .Fx のリリースを生成するために必要なファイル。 .It Pa sbin/ /sbin 内のファイルのソース。 .It Pa secure/ /usr/src/crypto 中のファイル用のビルドディレクトリ。 .It Pa share/ /usr/share 内のファイルのソース。 .It Pa sys/ カーネルのソースファイル。 .It Pa tools/ .Fx のメンテナンスとテストに使用するツール。 .It Pa usr.bin/ /usr/bin 内のファイルのソース。 .It Pa usr.sbin/ /usr/sbin 内のファイルのソース。 .El .Pp .It Pa X11R6/ X11R6 配布パッケージの実行可能形式ファイル、ライブラリなど (オプション扱い)。 .Bl -tag -width "include/" -compact .It Pa bin/ X11R6 のバイナリ (サーバ、ユーティリティ、ローカルな packages/ports)。 .It Pa etc/ X11R6 の設定ファイルとスクリプト。 .It Pa include/ X11R6 のインクルードファイル。 .It Pa lib/ X11R6 のライブラリ。 .It Pa man/ X11R6 のマニュアルファイル。 .It Pa share/ アーキテクチャ独立なファイル。 .El .El .It Pa /var/ さまざまな用途のログファイル、一時ファイル、遷移的ファイル、 スプールファイル。 .Pp .Bl -tag -width "preserve/" -compact .It Pa account/ システムアカウンティングファイル。 .Pp .Bl -tag -width Fl -compact .It Pa acct 実行アカウントファイル。 .Xr acct 5 参照。 .El .Pp .It Pa at/ 指定した時間に動くコマンドのスケジュールファイル。 .Xr \&at 1 参照。 .Bl -tag -width "preserve/" -compact .It Pa jobs/ ジョブファイルを含むディレクトリ。 .It Pa spool/ 出力スプールファイルを含むディレクトリ。 .El .Pp .It Pa backups/ さまざまなバックアップファイル。 .It Pa crash/ カーネルクラッシュダンプを保存するデフォルトのディレクトリ。 .Xr crash 8 と .Xr savecore 8 参照。 .It Pa cron/ cron が使用するファイル。 .Xr cron 8 参照。 .Bl -tag -width "preserve/" -compact .It Pa tabs/ crontab ファイル。 .Xr crontab 5 参照。 .El .Pp .It Pa db/ システム固有のさまざまなデータベースファイル。自動生成される。 .It Pa empty/ 特別に空のディレクトリが必要なプログラムによって使用される、空のディレクトリ。 例えば、特権分離のために .Xr sshd 8 が使用します。 .Xr sshd 8 参照 .It Pa games/ さまざまなゲームのステータスおよびスコアファイル。 .It Pa heimdal/ Kerberos サーバデータベース。 .Xr kdc 8 参照。 .It Pa log/ さまざまなシステムログファイル。 .Pp .Bl -tag -width Fl -compact .It Pa wtmp login/logout ログ。 .Xr wtmp 5 参照。 .El .Pp .It Pa mail/ ユーザのメールボックスファイル。 .It Pa msgs/ システムメッセージのデータベース。 .Xr msgs 1 参照。 .It Pa preserve/ エディタの不慮の死の際に保存されるファイルを一時的に安置するディレクトリ。 .Xr \&ex 1 参照。 .It Pa quotas/ ファイルシステムのクォータ情報のファイル。 .It Pa run/ ブートされてからのシステムについての各種情報を記述した システム情報ファイル。 .Pp .Bl -tag -width Fl -compact .It Pa named/ .Dq bind ユーザが書き込み可能です。 .Xr named 8 参照。 .It Pa ppp/ コマンドの接続ソケット用に、 .Dq network グループが書き込み可能です。 .Xr ppp 8 参照。 .It Pa utmp 現在のユーザについてのデータベース。 .Xr utmp 5 参照。 .El .Pp .It Pa rwho/ rwho データファイル。 .Xr rwhod 8 , .Xr rwho 1 , .Xr ruptime 1 参照。 .It Pa spool/ さまざまなプリンタ、メールシステムのスプールディレクトリ。 .Pp .Bl -tag -width Fl -compact .It Pa ftp/ 一般に ~ftp となる部分。anonymous ftp のルートディレクトリ。 .It Pa mqueue/ 配送されていないメールのキュー。 .Xr sendmail 8 参照。 .It Pa output/ ラインプリンタ用スプールディレクトリ。 .El .Pp .It Pa tmp/ システムリブートをまたがって保持される、一時ファイル。 .Bl -tag -width Fl -compact .It Pa vi.recover/ vi のリカバリファイルを格納しておくディレクトリ。 .El .It Pa yp NIS マップ。 .El .El .Sh 注 このマニュアルページはデフォルトの .Fx ファイルシステムレイアウトを 記述しており、 各システムの実際の階層構造はシステム管理者の裁量に委ねられています。 よく維持管理されたインストールにおいては、 カスタマイズされた本ドキュメントが付属するでしょう。 .Sh 関連項目 .Xr apropos 1 , .Xr find 1 , .Xr finger 1 , .Xr grep 1 , .Xr ls 1 , .Xr whatis 1 , .Xr whereis 1 , .Xr which 1 , .Xr fsck 8 .Sh 歴史 .Nm マニュアルページは .At v7 で登場しました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 98-12-26 diff --git a/ja_JP.eucJP/man/man7/ports.7 b/ja_JP.eucJP/man/man7/ports.7 index 09a40400a5..9106e8d89e 100644 --- a/ja_JP.eucJP/man/man7/ports.7 +++ b/ja_JP.eucJP/man/man7/ports.7 @@ -1,407 +1,417 @@ .\" .\" Copyright (c) 1997 David E. O'Brien .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man7/ports.7,v 1.38 2003/09/13 16:16:31 eivind Exp % +.\" %FreeBSD: src/share/man/man7/ports.7,v 1.41 2003/11/12 08:26:08 brueffer Exp % .\" .\" $FreeBSD$ .Dd January 25, 1998 .Dt PORTS 7 .Os .Sh 名称 .Nm ports .Nd 寄贈されたアプリケーション .Sh 解説 .Fx ports コレクション によって、ユーザや管理者は簡単にアプリケーションをインストールする ことができます。 .Em port はそれぞれ、オリジナルのソースコードを .Bx 上でコンパイルして実行 させるために必要なパッチのすべてを含んでいます。アプリケーションの コンパイルは、 port のディレクトリで .Nm make Cm build と入力するだけで簡単にできます。 port の .Pa Makefile は、ローカルディスクからもしくは FTP を使って、自動的にアプリケーションの ソースコードを取得 .Pq fetch して、自分のシステムでそれを展開して、 パッチを当て、コンパイルします。すべてが順調に進んだ場合、 .Nm make Cm install を実行することにより、アプリケーションがインストールされます。 .Pp インストールされたシステムよりも新しい ports を、 .Fx リポジトリからダウンロードして使用できます。 ただし、最初に適切な .Dq "アップグレードキット" を .Pa http://www.FreeBSD.org/ports/ から取得してインストールすることが重要です! 新しい ports をダウンロードするときには、 .Xr portcheckout 1 スクリプト (もちろんこれも port です!) が役立つでしょう。 .Pp port の利用に関してさらに情報が必要ならば、 .%B "The FreeBSD Handbook" の .Dq "Packages and Ports" (原文 .Pa file:/usr/share/doc/en_US.ISO8859-1/books/handbook/ports.html または、 .Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports.html 、和文 .Pa file:/usr/share/doc/ja_JP.eucJP/books/handbook/ports.html または、 .Pa http://www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/ports.html ) に目を通して下さい。 port を新規に作成するための情報については、 .%B "The Porter's Handbook" -.Pa ( file:/usr/share/doc/porters-handbook/index.html +.Pa ( file:/usr/share/doc/en_US.ISO8859-1/books/porters-handbook/index.html または、 .Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/ ) に目を通して下さい。 .Sh ターゲット ターゲットのいくつかは、サブディレクトリを再帰的に make して行きます。 これにより、例えば、 .Dq Li biology の port すべてをインストールすることが できます。再帰的に make を行なうターゲットは、 .Cm build , checksum , clean , configure , .Cm depends , extract , fetch , install , .Cm package です。 .Pp 次のターゲットは、それぞれすぐ手前のターゲットによって順に自動的に 実行されます。すなわち、 .Cm build は、 (必要があれば、) .Cm install によって実行されます。以下のターゲットそれぞれについて、同様のルールが .Cm fetch まで順次適用されます。 通常は、ターゲットとして、 .Cm install を指定するだけでよいはずです。 .Bl -tag -width ".Cm configure" .It Ar fetch .Va MASTER_SITES と .Va PATCH_SITES でリストされたサイトから、 この port を構築するために必要なファイルすべてを取得 .Pq fetch します。 .Va FETCH_CMD と .Va MASTER_SITE_OVERRIDE とを参照して下さい。 .It Cm checksum 取得した distfile のチェックサムが port で動作確認されたものと 一致するかどうかを検証します。 .Va NO_CHECKSUM を定義することで、このステップを飛ばすことができます。 .It Cm depends 現在の port と依存関係にある port をインストール (もしくは、必要がある場合のみコンパイル) します。ターゲット .Cm extract もしくは .Cm fetch により呼び出された場合、 .Cm fetch-depends , .Cm build-depends などとしてひとつずつ実行されます。 .Va NO_DEPENDS を定義することで、このステップを飛ばすことができます。 .It Cm extract distfile を作業用ディレクトリに展開します。 .It Cm patch port に必要なパッチすべてを適用します。 .It Cm configure port を構成 (configure) します。port によっては、この段階で質問して くるものもあります。 .Va INTERACTIVE と .Va BATCH を参照して下さい。 .It Cm build port を構築します。これはターゲット .Cm all を呼び出すことと同じです。 .It Cm install port をインストールし、この port をインストールしたことを package (訳注: .Fx の package system におけるパッケージを指す場合にこう表記します) システムに登録します。このターゲットは、実際に必要なこと すべてを行なってくれます。 .El .Pp 次のターゲットは、通常のインストールプロセスでは実行されません。 .Bl -tag -width ".Cm fetch-recursive" .It Cm fetch-list この port を構築するために取得が必要なファイルのリストを表示します。 .It Cm fetch-recursive この port と依存するものの distfile を取得します。 +.It Cm fetch-recursive-list +.Cm fetch-recursive +で取得されるファイルのリストを表示します。 .It Cm pretty-print-run-depends-list , pretty-print-build-depends-list コンパイル依存 port リストと実行依存 port リストを表示します。 また、これらの依存 port リストが依存する port についても表示します。 .It Cm clean 展開されたソースコードを削除します。 .Va NOCLEANDEPENDS を定義しておかない限り、削除は依存関係にある port に再帰的に適用されます。 .It Cm distclean その port の distfile を削除し、 .Cm clean ターゲットを実行します。 .Va NOCLEANDEPENDS を定義しておかない限り、 .Cm clean の部分は依存関係にある port に再帰的に適用されます。しかし、 .Cm distclean の部分は決して再帰的に適用されません (この挙動はひょっとするとバグかもしれません)。 .It Cm reinstall .Cm deinstall を使用すべきところでうっかり .Xr pkg_delete 1 を使ってしまった場合、このターゲットを使って port を復活させて下さい。 .It Cm deinstall .Xr pkg_delete 1 と同様に、インストールした port をシステムから削除します。 +.It Cm deinstall-all +同じ +.Va PKGORIGIN +のインストール済 ports すべてを、システムから削除します。 .It Cm package この port のバイナリ package を作成します。まだインストールされて いなかった場合、その port をインストールします。 package は .Pa .tbz ファイルであり、その port を他のマシンに .Xr pkg_add 1 を使ってインストールする際に使用することができます。 .Va PACKAGES で指定されたディレクトリが存在しなければ、package はカレントディレクトリに 置かれます。 .Va PKGREPOSITORY と .Va PKGFILE とを参照して下さい。 +.It Cm package-recursive +.Cm package +と似ていますが、依存する各 port に対しても package を作成します。 .It Cm readmes その port の .Pa README.html ファイルを生成します。 これは、あなたのシステム上の全 port をウェブでブラウズできるようにするために、 .Pa /usr/ports から使用可能です。 .It Cm search .Pa INDEX ファイルを、 .Cm key (port の名前、コメント、依存を調べます) または .Cm name (port の名前のみを調べます) の .Xr make 1 変数で指定されたパターンで検索します。 例えば、次のように入力します: .Pp .Dl "cd /usr/ports && make search name=query" .Pp すると、全 ports のうち名前が .Dq Li query に適合するものが探されます。 結果には、適合する ports のパス、コメント、メンテナ、構築依存、実行依存が 含まれます。 .It Cm index .Pa /usr/ports/INDEX を作成します。 これは、 .Cm pretty-print-* および .Cm search のターゲットで使用されます。 CVS リポジトリのマスタ .Pa INDEX ファイルは定期的に更新されますが、 .Cm index ターゲットを実行することで、 .Pa INDEX ファイルが ports ツリに対して最新であることを保証します。 .El .Sh 環境変数 これら環境変数のすべてを変更することができます。 .Bl -tag -width ".Va MASTER_SITES" .It Va PORTSDIR port ツリーの場所を指定します。これは .Fx と .Ox では .Pa /usr/ports で、 .Nx では .Pa /usr/pkgsrc です。 .It Va WRKDIRPREFIX 一時ファイルを作成する場所です。 .Va PORTSDIR が読み込み専用の場合 (おそらく CD-ROM をマウントした場合) 有用です。 .It Va DISTDIR distfile を探す場所であり、取得した distfile を置く場所です。通常は .Va PORTSDIR の下の .Pa distfiles/ です。 .It Va PACKAGES ターゲット .Cm package でのみ使用されます。 package ツリーのベースディレクトリです。通常は、 .Va PORTSDIR の下の .Pa packages/ です。 このディレクトリが存在する場合、package ツリーが (部分的に) 構築されます。 このディレクトリは存在する必要はありません。存在しない場合、package は カレントディレクトリに置かれます。もしくは、以下のいずれか一方を定義 することができます。 .Bl -tag -width ".Va PKGREPOSITORY" .It Va PKGREPOSITORY package を置くディレクトリ。 .It Va PKGFILE その package のフルパス。 .El .It Va PREFIX 一般に、成果物をどこにインストールするかを指定します (通常は .Pa /usr/local か、 .Pa /usr/X11R6 です)。 .It Va MASTER_SITES ローカルマシンに配布ファイルが存在しない場合、最初に取得しに行くサイトです。 .It Va PATCH_SITES ローカルマシンにパッチファイルが存在しない場合、最初に取得しに行くサイトです。 .It Va MASTER_SITE_FREEBSD これが設定されている場合、すべてのファイルを .Fx のマスタサイトに 取りに行きます。 .It Va MASTER_SITE_OVERRIDE すべてのファイルとパッチについて、まずこれらのサイトに行って取得を試みます。 .It Va NOCLEANDEPENDS これが定義されている場合、依存関係にある port に対して .Cm clean を再帰的に適用しません。 .It Va FETCH_CMD ファイルを取得する際に使用するコマンドです。通常は .Xr fetch 1 です。 .It Va FORCE_PKG_REGISTER これが設定されている場合、既にシステムに存在する package 登録情報を 上書きします。 .It Va MOTIFLIB .Pa libXm. Ns Brq Pa a , Ns Pa so の位置を指定します。 .It Va INTERACTIVE これが設定されている場合、ユーザ入力が必要な port にのみ動作します。 .It Va BATCH これが設定されている場合、100% 自動的にインストールできる port にのみ 動作します。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /usr/ports/Mk/bsd.port.mk" -compact .It Pa /usr/ports デフォルトの port ディレクトリ .No ( Fx と .Ox ) 。 .It Pa /usr/pkgsrc デフォルトの port ディレクトリ .Po .Nx .Pc 。 .It Pa /usr/ports/Mk/bsd.port.mk .\"kuma: big Kahuna というのはモアイのような巨大石のものらしい。 .\"kuma: だれか教えて?! ご本尊様であらしゃいます。 .El .Sh 関連項目 .Xr make 1 , .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr pkg_version 1 .Pp 次に示すものは ports コレクションの一部です: .Pp .Xr pib 1 , .Xr portcheckout 1 , .Xr portlint 1 .Rs .%B "The FreeBSD Handbook" .Re .Pp .Pa http://www.FreeBSD.org/ports (port すべてが検索可能なインデックス) .Sh 作者 .An -nosplit このマニュアルページは、もともとは .An David O'Brien によるものです。 .Sh 歴史 ports コレクション は、 .Fx 1.0 で登場しました。 その後、 .Nx と .Ox にも広まりました。 .Sh バグ port に関する文書が 4 か所に分散されてしまっています。 .Pa /usr/ports/Mk/bsd.port.mk と .%B "The Porter's Handbook" と .%B "The FreeBSD Handbook" の .Dq "Packages and Ports" セクションと、 このマニュアルページ の 4 つです。 .Pp このマニュアルページは長過ぎです。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai, 98-12-26 diff --git a/ja_JP.eucJP/man/man8/faithd.8 b/ja_JP.eucJP/man/man8/faithd.8 index 7978e83054..c5a90f07d9 100644 --- a/ja_JP.eucJP/man/man8/faithd.8 +++ b/ja_JP.eucJP/man/man8/faithd.8 @@ -1,432 +1,416 @@ -.\" $KAME: faithd.8,v 1.33 2001/09/05 03:04:20 itojun Exp $ +.\" $KAME: faithd.8,v 1.37 2002/05/09 14:21:23 itojun Exp $ .\" .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the project nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/faithd/faithd.8,v 1.16 2002/07/14 14:43:06 charnier Exp % +.\" %FreeBSD: src/usr.sbin/faithd/faithd.8,v 1.17 2003/11/14 17:34:08 ume Exp % .\" .\" $FreeBSD$ .Dd January 27, 2000 .Dt FAITHD 8 .Os .Sh 名称 .Nm faithd .Nd FAITH IPv6/v4 変換デーモン .Sh 書式 .Nm .Op Fl dp .Op Fl f Ar configfile .Ar service .Op Ar serverpath Op Ar serverargs +.Nm "" .Sh 解説 .Nm ユーティリティは IPv6 から IPv4 への TCP リレー機能を提供します。 .Pp .Nm は IPv4/v6 デュアルスタックルータ上で起動しなければなりません。 .Pp .Tn TCPv6 トラフィックが見つかると、 .Nm はその .Tn TCPv6 トラフィックを .Tn TCPv4 にリレーします。 リレーする .Tn TCPv4 コネクションの終点は、元の .Tn IPv6 終点の末尾 4 オクテットから決定されます。 例えば、 .Nm 用に .Li 3ffe:0501:4819:ffff:: が予約されていて、 .Tn TCPv6 終点アドレスが .Li 3ffe:0501:4819:ffff::0a01:0101 なら、このトラフィックは IPv4 の終点 .Li 10.1.1.1 に向けてリレーされます。 .Pp .Nm による変換サービスを用いるには、 IPv4 アドレスをマップするための IPv6 アドレスプレフィックスを 予約しておく必要があります。 カーネルは、そこで予約した IPv6 アドレスプレフィックスへの すべての TCP コネクションを、 .Xr route 8 を用いて疑似インタフェース .Xr faith 4 にルーティングするように、適切に構築されていなければなりません。 また、 .Xr sysctl 8 を用いて .Dv net.inet6.ip6.keepfaith を .Dv 1 に設定しておくべきです。 .Pp ルータは、予約された .Tn IPv6 アドレスプレフィックス行きのすべての TCP トラフィックを捕まえるように 設定しなければなりません。このためには .Xr route 8 と .Xr sysctl 8 のコマンドを使用します。 .Pp .Nm ユーティリティは、名前からアドレスへの特別な変換機構を必要とし、 ホスト名から特別な .Tn IPv6 アドレスプレフィックスへ解決します。 小規模なインストールでは、 .Xr hosts 5 を使用してください。 大規模なインストールでは、 特別なアドレス変換をサポートする DNS サーバが有用でしょう。 .Nm totd と呼ばれる実装が .Pa http://www.vermicelli.pasta.cs.uit.no/ipv6/software.html で入手可能です。 変換された DNS レコードが一般の DNS 群に伝播されないよう、注意してください。 非常に有害です。 -.Pp .Ss デーモンモード .Nm がスタンドアロンプログラムとして起動されると、 .Nm は自分自身をデーモン化します。 .Nm ユーティリティは .Tn TCPv6 のポート .Ar service を listen します。 ポート .Ar service への .Tn TCPv6 トラフィックを見付けると、コネクションをリレーします。 .Pp .Nm が TCP ポート .Ar service を listen するので、 .Xr inetd 8 や他の標準的な仕組みを用いて、そのルータ上で .Ar service ポートを使うローカルな TCP デーモンを動作させることはできません。 .Nm に対して .Ar serverpath を指定することで、 ルータ上でローカルデーモンを走らせることができます。 終点アドレスがローカルのインターネットアドレスであれば、 .Nm ユーティリティは .Ar serverpath においてローカルデーモンを起動します。 それ以外の場合、 .Nm は IPv4 TCP への変換を行います。 ローカルデーモンの引数は .Ar serverargs を用いて指定することができます。 .Pp 次のオプションが使用可能です: .Bl -tag -width indent .It Fl d .Xr syslog 3 を用いてデバッグ情報を出力します。 .It Fl f Ar configfile -アクセス制御用の設定ファイルを指定します。後述を参照してください。 +アクセス制御用の設定ファイルを指定します。 +後述を参照してください。 .It Fl p IPv4 TCP コネクションを最終の終点向けにリレーする際、 .Nm はソースポートとして特権 TCP ポートを使用します。 .Xr ftp 1 -や -.Xr rlogin 1 をリレーする際は -本オプションは不要です。そのための特別なプログラムコードが含まれています。 +本オプションは不要です。 +そのための特別なプログラムコードが含まれています。 .El .Pp .Nm ユーティリティは通常の TCP データも帯域外 TCP データもリレーします。 TCP half close をエミュレートすることも可能です。 .Nm ユーティリティは .Xr ftp 1 -と -.Xr rlogin 1 で用いられるプロトコルに対して、特別なサポートを行います。 FTP プロトコルを転送する際は、 .Nm は、 .Li PORT/LPRT/EPRT コマンドおよび .Li PASV/LPSV/EPSV コマンドにおけるネットワークレベルアドレスも変換します。 -RLOGIN プロトコルに対しては、 -.Nm -は、サーバ側の -.Xr rlogind 8 -からクライアント側の -.Xr rlogin 1 -への逆方向コネクションもリレーします。 .Pp アクティブでないセッションは 30 分で切断します。 これは、使わなくなったセッションのせいでリソースが消費されるのを 防ぐためです。 サービスによってはこの機能は適切でないかもしれません。 (この機能をコンフィギュレーション可能にすべきでしょうか?) .Ss inetd モード .Nm が .Xr inetd 8 から起動されると、 .Nm ユーティリティは標準入力から渡されるコネクションを扱います。 コネクションの終点が、予約した IPv6 アドレスプレフィックスの範囲内の場合、 .Nm はコネクションをリレーします。 それ以外の場合、 .Nm はサービスに対応する .Xr telnetd 8 のようなデーモンを起動し、 .Xr inetd 8 から渡されるコマンド引数を使用します。 .Pp .Nm は、ローカルな TCP ポート番号を元に動作モードを決定し、 必要な時/可能な時には特別なプロトコル処理を有効にします。 例えば、 .Nm が FTP ポート上で .Xr inetd 8 から起動されると、これは FTP リレーとして動作します。 .Pp この動作モードでは、 .Xr inetd 8 中に .Nm 用の特別なサポートを必要とします。 .Ss アクセス制御 悪意あるアクセスを防ぐため、 .Nm は単純なアドレスベースのアクセス制御を実装しています。 .Pa /etc/faithd.conf (または .Fl f で指定した .Ar configfile ) で、 .Nm は望まないトラフィックの中継を防ぎます。 .Pa faithd.conf は、次の書式のディレクティブを含みます: .Bl -bullet .It .Ar src Ns / Ns Ar slen Cm deny Ar dst Ns / Ns Ar dlen .Pp 問い合わせの始点アドレスが .Ar src Ns / Ns Ar slen に合致する場合で、変換後の終点アドレスが .Ar dst Ns / Ns Ar dlen に合致する場合、接続を拒否します。 .It .Ar src Ns / Ns Ar slen Cm permit Ar dst Ns / Ns Ar dlen .Pp 問い合わせの始点アドレスが .Ar src Ns / Ns Ar slen に合致する場合で、変換後の終点アドレスが .Ar dst Ns / Ns Ar dlen に合致する場合、接続を許可します。 .El .Pp これらのディレクティブは順番に評価され、 最初に合致するエントリが効果を持ちます。 合致しないと (これがルールセットの最後である場合) トラフィックは拒否されます。 .Pp inetd モードでは、 .Xr inetd 8 のアクセス制御機能でトラフィックをフィルタ可能です。 +.Sh 戻り値 +成功すると +.Nm +ユーティリティは +.Dv EXIT_SUCCESS +.Pq 0 +で終了し、エラーがある場合は +.Dv EXIT_FAILURE +.Pq 1 +で終了します。 .Sh 使用例 .Nm を起動する前に、 .Xr faith 4 インタフェースを適切に設定しておく必要があります。 .Bd -literal -offset # sysctl net.inet6.ip6.accept_rtadv=0 # sysctl net.inet6.ip6.forwarding=1 # sysctl net.inet6.ip6.keepfaith=1 # ifconfig faith0 up # route add -inet6 3ffe:501:4819:ffff:: -prefixlen 96 ::1 # route change -inet6 3ffe:501:4819:ffff:: -prefixlen 96 -ifp faith0 .Ed .Ss デーモンモードのサンプル .Li telnet サービスを変換し、そしてローカルな telnet サービスを提供しない場合は、 次のように .Nm を起動します: .Bd -literal -offset # faithd telnet .Ed .Pp もし .Pa /usr/libexec/telnetd にある .Xr telnetd 8 によるローカル telnet サービスを提供したい場合は、 次のコマンドラインを使用します: .Bd -literal -offset # faithd telnet /usr/libexec/telnetd telnetd .Ed .Pp ローカルデーモンに追加の引数を渡したい場合は: .Bd -literal -offset # faithd ftp /usr/libexec/ftpd ftpd -l .Ed .Pp 他の使用例です。 -rsh/rlogin サービスを変換するには +サービスが始点ポート範囲をチェックする場合には .Fl p が必要かもしれません。 .Bd -literal -offset # faithd ssh -# faithd login /usr/libexec/rlogin rlogind -# faithd shell /usr/libexec/rshd rshd +# faithd telnet /usr/libexec/telnetd telnetd .Ed -.Pp -しかしながら、rlogin や rsh のコネクションを変換するときには注意が必要です。 -更なる詳細については -.Sx セキュリティの考察 -を参照してください。 .Ss inetd モードのサンプル .Xr inetd.conf 5 に次の行を追加します。 構文はオペレーティングシステムによって様々でしょう。 .Bd -literal -offset -telnet stream tcp6/faith nowait root /usr/sbin/faithd telnetd -ftp stream tcp6/faith nowait root /usr/sbin/faithd ftpd -l -ssh stream tcp6/faith nowait root /usr/sbin/faithd /usr/sbin/sshd -i +telnet stream tcp6/faith nowait root faithd telnetd +ftp stream tcp6/faith nowait root faithd ftpd -l +ssh stream tcp6/faith nowait root faithd /usr/sbin/sshd -i .Ed .Pp .Xr inetd 8 は、listen するソケットをオープンし、 カーネルの TCP リレーサポートを有効化します。 コネクションが到着すると、 .Nm が .Xr inetd 8 から起動されます。 コネクションの終点が、予約した IPv6 アドレスプレフィックスの範囲内の場合、 .Nm はコネクションをリレーします。 それ以外の場合、 .Nm ユーティリティはサービスに対応する .Xr telnetd 8 のようなデーモンを起動します。 .Ss アクセス制御の例 以下に単純な .Pa faithd.conf 設定を示します。 .Bd -literal -offset # 3ffe:501:ffff::/48 からのすべてに変換器の使用を許し、 # 次の IPv4 の終点へ接続させます: # - 10.0.0.0/8 と 127.0.0.0/8 以外のすべて # 他の接続は許しません。 # 3ffe:501:ffff::/48 deny 10.0.0.0/8 3ffe:501:ffff::/48 deny 127.0.0.0/8 3ffe:501:ffff::/48 permit 0.0.0.0/0 .Ed -.Sh 戻り値 -成功すると -.Nm -ユーティリティは -.Dv EXIT_SUCCESS -.Pq 0 -で終了し、エラーがある場合は -.Dv EXIT_FAILURE -.Pq 1 -で終了します。 .Sh 関連項目 .Xr faith 4 , .Xr route 8 , .Xr sysctl 8 .Rs .%A Jun-ichiro itojun Hagino .%A Kazu Yamamoto .%T "An IPv6-to-IPv4 transport relay translator" .%B RFC3142 .%O ftp://ftp.isi.edu/in-notes/rfc3142.txt .%D June 2001 .Re .\" .Sh 歴史 .Nm ユーティリティは WIDE Hydrangea IPv6 プロトコルスタックキットで 初めて登場しました。 .\" .Pp KAME プロジェクト (http://www.kame.net/) スタックに 基づく IPv6, IPsec サポートは、 .Fx 4.0 で初めて統合されました。 .Sh セキュリティの考察 .Nm -(および他の TCP リレーサービス) +および他の TCP リレーサービス でリレーされたコネクションに対し、 -.Xr rhosts 5 -をはじめとする IP アドレスベースの認証を用いるのは大変危険です。 +IP アドレスベースの認証を用いるのは大変危険です。 .Pp .Pa faithd.conf もしくは IPv6 パケットフィルタを使用し、 .Nm へのアクセス制限を行うことを、管理者へお勧めします。 これは .Nm を悪意ある者達から防御することであり、 サービス/バンド幅を盗まれないようにすることを意味します。 IPv6 の終点アドレスについては、 .Xr route 8 を用いて、 .Xr faith 4 を指す経路エントリを注意深く設定することで、制限可能です。 IPv6 の始点アドレスについては、 パケットフィルタでフィルタする必要があります。 .Sx 関連項目 に列挙した文書に、本件に関する更なる議論が記述されています。 diff --git a/ja_JP.eucJP/man/man8/init.8 b/ja_JP.eucJP/man/man8/init.8 index 01f4b7c1fb..8f84eba554 100644 --- a/ja_JP.eucJP/man/man8/init.8 +++ b/ja_JP.eucJP/man/man8/init.8 @@ -1,397 +1,411 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Donn Seeley at Berkeley Software Design, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)init.8 8.3 (Berkeley) 4/18/94 -.\" %FreeBSD: src/sbin/init/init.8,v 1.39 2003/06/08 12:50:49 charnier Exp % +.\" %FreeBSD: src/sbin/init/init.8,v 1.40 2003/11/11 18:37:50 kensmith Exp % .\" .\" $FreeBSD$ .\" .Dd April 18, 1994 .Dt INIT 8 .Os .Sh 名称 .Nm init .Nd プロセス制御の初期化を行う .Sh 書式 .Nm .Nm .Oo .Cm 0 | 1 | 6 | .Cm c | q .Oc .Sh 解説 .Nm ユーティリティはブート処理の最後に起動されます。 .Nm は通常、 .Xr rc 8 で説明されている自動リブートシーケンスを実行します。それが成功すると、 システムはマルチユーザモードになります。 リブートスクリプトの実行に失敗すると、 .Nm はスーパユーザが使うシェルを起動してシングルユーザモードを 開始させます。 .Nm ユーティリティは、ブートプログラムからのパラメータの指示を受けて、 マルチユーザモードに移行せず、 一般のデーモンを起動することなくシングルユーザモードの シェルを起動させることができます。 その場合、システムはメンテナンスのためのモードになり、 シェルを抜ける (^D を入力する) ことで シングルユーザモードからマルチユーザモードになります。 これによって、 .Nm は .Pa /etc/rc をファストブートモード (ディスクチェック省略) で実行します。 .Pp もし .Xr ttys 5 ファイルの .Em console のエントリが .Dq insecure にマークされていた場合には、 .Nm はシングルユーザモードのシェルを起動する前に、スーパユーザのパスワードを 要求します。 パスワードチェックは、 .Em console が .Dq secure にマークされていればスキップされます。 .Pp カーネルは 4 種類のセキュリティレベルで走行します。どのスーパユーザ プロセスもセキュリティレベルを上げることができますが、レベルを下げることが できるプロセスはありません。 セキュリティレベルは以下のように定義されます: .Bl -tag -width flag .It Ic -1 常に危険なモード \- システムは常にレベル 0 モードで走行します。 これは初期値のデフォルトです。 .It Ic 0 危険なモード \- 変更不可 (immutable) フラグや追加のみ (append-only) フラグは オフにできます。 全てのデバイスは、そのパーミッションに従って読み書きされます。 .It Ic 1 安全なモード \- 変更不可フラグや追加のみのフラグはオフにできません。 マウントされたファイルシステムのディスクおよび .Pa /dev/mem や .Pa /dev/kmem は read-only となります。 カーネルモジュール ( .Xr kld 4 参照) は、ロードおよびアンロードできません。 .It Ic 2 安全度の高いモード \- レベル 1 のモードの効果に加え、ディスクは マウントされていようといまいと、( .Xr mount 2 を除き) 常に read-only となります。 このレベルは、ファイルシステムをアンマウントして変更を加えることを不可能に します。また、システムがマルチユーザで走行中に .Xr newfs 8 を実行することも出来なくなります。 .Pp 更に、カーネル時間の変更は 1 秒以内に制限されています。 これ以上変更しようとすると、 .Dq Time adjustment clamped to +1 second というメッセージをログします。 .It Ic 3 ネットワークの安全モード \- 安全度の高いモードに加え、 IP パケットフィルタルール ( .Xr ipfw 8 および .Xr ipfirewall 4 参照) を変更不可能とし、 .Xr dummynet 4 の設定を修正不可能とします。 .El .Pp 初期のセキュリティレベルが非 0 だった場合、 .Nm はセキュリティレベルを変更しません。 それ以外の場合、 .Nm は、最初にレベル 1 に上げます。 レベルは減らすことはできませんので、 その後の操作においてはレベルは最低 1 であり、 これはシングルユーザモードに戻る場合においても成立ちます。 マルチユーザモードにおいてレベル 2 で システムを走らせたい場合は、シングルユーザの状態の間に、 .Xr sysctl 8 を使って、変数 -.Dq kern.securelevel +.Va kern.securelevel に必要なセキュリティレベルの値を設定します。 .Pp +.Nm +が jail 中で実行される場合、 +.Dq ホストシステム +のセキュリティレベルは影響しません。 +jail をサポートするためにカーネル中に設定される情報の一部に、jail 毎の +.Dq セキュリティレベル +設定があります。 +これにより、ホストシステムよりも高いセキュリティレベルで +jail 内を実行することが可能となります。 +jail に関する更なる詳細は +.Xr jail 8 +を参照してください。 +.Pp マルチユーザモードの場合、 .Nm は .Xr ttys 5 ファイルで指示された端末ポートのためのプロセスを管理します。 .Nm ユーティリティはこのファイルを読み込み、 2 番目のフィールドに指示されたコマンドを 実行します。 ただし、1 番目のフィールドが .Pa /dev 中のデバイスを参照し、そのデバイスが設定されていない場合は例外です。 1 番目のフィールドは、コマンドへ渡される最後の引数になります。 そのコマンドは通常、 .Xr getty 8 で、 .Nm getty は tty をオープン、初期化し、 .Xr login 1 プログラムを実行します。 .Nm login プログラムは、ユーザがログインするとシェルを起動します。ユーザが ログアウトするか異常終了するなどして、そのシェルが終了すると、 .Nm ユーティリティが起こされ、 .Xr utmp 5 ファイルからユーザを消し、 .Xr wtmp 5 ファイルにログアウトを記録します。 このサイクルは、 .Nm プログラムがその端末に新しい .Nm getty を実行することで繰り返されます。 .Pp .Nm ユーティリティは任意のデーモンを走行させ続けるためにも使用可能であり、 デーモンが死んだ場合には自動的に再開します。 この場合、 .Xr ttys 5 ファイルの 1 番目のフィールドは、 設定されたデバイスノードへのパスを参照してはならず、 デーモンに対する最後のコマンドライン引数として渡されます。 これは .At V .Pa /etc/inittab にある機能と同様です。 .Pp ラインの状態 (on, off, secure, getty, ウィンドウの情報) は、 .Xr ttys 5 ファイルを書き換えて .Dq Li "kill -HUP 1" によってシグナル .Dv SIGHUP を .Nm に送ることで、リブートせずに変更できます。 このシグナルを受け取ると .Nm は .Xr ttys 5 ファイルを再度読み込みます。 .Xr ttys 5 でラインがオフにされると、 .Nm はそのラインに関係するセッションの制御プロセスに SIGHUP シグナルを送ります。 オフであったラインが .Xr ttys 5 ファイルでオンにされると、 .Nm は 2 番目のフィールドで指定されるコマンドを起動します。 ラインのコマンドやウィンドウフィールドが変更された場合、その変更は現在 のログインセッションが終了するまで有効にはなりません。 (例えば、 .Nm によって新しいプロセスが起動されるまで有効にならない。) .Xr ttys 5 中のあるラインをコメントアウトあるいは削除した場合は、 .Nm はそのラインに関しては何も実行しません。 しかしこの場合、 .Xr ttys 5 ファイルと .Xr utmp 5 ファイル内の記録情報が一致しなくなるため、試すことはお勧めしません。 .Pp .Dq Li "kill \-TERM 1" などによって terminate シグナル .Pq Dv TERM を受けると、 .Nm ユーティリティはマルチユーザモードを終了し、シングルユーザモードに復帰します。 ハードウェアまたはソフトウェアの問題でデッドロックしたプロセスがある場合、 .Xr init はすべてのプロセスの終了を待たず (これは無限に終らないかも知れません)、 30 秒間でタイムアウトして警告のメッセージを出力します。 .Pp terminal stop シグナル .Pq Dv TSTP を送ると ( .Dq Li "kill \-TSTP 1" )、 .Nm ユーティリティは新しい プロセス を起動するのをやめ、徐々にシステム停止可能な状態にします。 その後、hangup シグナルで完全なマルチユーザモードに戻り、terminate シグナル でシングルユーザモードに移ります。 この hook は .Xr reboot 8 と .Xr halt 8 で使われています。 .Pp interrupt シグナル .Pq Dv INT を送ると ( .Dq Li "kill \-INT 1" )、 .Nm ユーティリティはすべてのプロセスを (デッドロックプロセスを待たずに) 終了させ、 リブートを実行します。 この操作は、マシンがハングした時に、カーネルの中から、あるいは、X から、 システムを安全にシャットダウンするのに便利です。 .Pp .Nm ユーティリティは同様に、ユーザ定義シグナル 1 .Pq Dv USR1 を送られた場合はマシンを停止し、 ユーザ定義シグナル 2 .Pq Dv USR2 を送られた場合はマシンを停止してから電源を切ります (ハードウェアが許す場合)。 .Pp マシンをシャットダウンする時、 .Nm は .Pa /etc/rc.shutdown スクリプトを実行しようとします。 このスクリプトは .Nm innd (インターネットニュースサーバ) のような特定のプログラムを綺麗に終了させるために使用可能です。 .Pp .Nm の役割は非常に重要で、もし .Nm が死ぬとシステムが自動的にリブートされます。 もしブート時に .Nm プログラムを見つけられなければ、システムは .Dq panic: init died (signal %d, exit %d) のようなメッセージを出力して panic で終了します。 .Pp 2 番目の書式行のようにユーザプロセスとして実行する場合、 .Nm は .At V の動作をエミュレートします。すなわち、スーパユーザがコマンドラインで .Em ランレベル を指定可能であり、 .Nm はオリジナルの (PID 1) .Nm に次のようなシグナルを送ります: .Bl -column Run-level SIGTERM .It Sy "ランレベル シグナル 動作 .It Cm 0 Ta Dv SIGUSR2 Ta "停止して電源切断" .It Cm 1 Ta Dv SIGTERM Ta "シングルユーザモードへ移行" .It Cm 6 Ta Dv SIGINT Ta "マシンを再起動" .It Cm c Ta Dv SIGTSTP Ta "更なるログインを抑止" .It Cm q Ta Dv SIGHUP Ta ファイル .Xr ttys 5 を再スキャン .El .Sh 診断 .Bl -diag .It "getty repeating too quickly on port %s, sleeping." ラインにサービスを提供するプロセスが、起動されるたびにすぐ終了してしまう。 これは、端末ラインに着信があるかノイズが大きい場合にしばしば起こります。 .Bf -emphasis init は 30 秒間スリープし、 その後、プロセスを開始させようとし続けます。 .Ef .It "some processes would not die; ps axl advised." シャットダウンの際、ハングしていて終了させられないプロセスがあります。 この状態は、通常、デバイスに異常があるときにデバイスドライバで貼り付い てしまうことにより起こります。 .El .Sh 関連ファイル .Bl -tag -width /etc/rc.shutdown -compact .It Pa /dev/console システムのコンソールデバイス .It Pa /dev/tty* .Xr ttys 5 内にある端末ポート .It Pa /var/run/utmp 現在ログインしているのユーザの情報 .It Pa /var/log/wtmp すべてのログイン・ログアウトの情報 .It Pa /etc/ttys 端末の初期化情報が書かれたファイル .It Pa /etc/rc システム立ち上げ用スクリプト .It Pa /etc/rc.shutdown システムシャットダウン用スクリプト .El .Sh 関連項目 .Xr kill 1 , .Xr login 1 , .Xr sh 1 , .Xr dummynet 4 , .Xr ipfirewall 4 , .Xr kld 4 , .Xr ttys 5 , .Xr crash 8 , .Xr getty 8 , .Xr halt 8 , .Xr ipfw 8 , +.Xr jail 8 , .Xr rc 8 , .Xr reboot 8 , .Xr shutdown 8 , .Xr sysctl 8 .Sh 歴史 .Nm ユーティリティは .At v6 から登場しました。 .Sh 警告 .Xr sysctl 8 を持たないシステムは、セキュリティレベル \-1 で動作します。 .Pp ブートシーケンスにおいて、セキュリティレベルを 1 より高く設定するのがあまり にも早すぎると、 .Xr fsck 8 が一貫性のないファイルシステムを補修することを妨げてしまう可能性が あります。セキュリティレベル設定を行う場所として適切なところは、 全てのマルチユーザ立ち上げ処理が完了した後である、 .Pa /etc/rc の末尾です。 diff --git a/ja_JP.eucJP/man/man8/jail.8 b/ja_JP.eucJP/man/man8/jail.8 index 6bdf6a5dba..85e558f730 100644 --- a/ja_JP.eucJP/man/man8/jail.8 +++ b/ja_JP.eucJP/man/man8/jail.8 @@ -1,457 +1,466 @@ .\" .\" Copyright (c) 2000 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must 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. .\" .\" .\" ---------------------------------------------------------------------------- .\" "THE BEER-WARE LICENSE" (Revision 42): .\" 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 .\" ---------------------------------------------------------------------------- .\" -.\" %FreeBSD: src/usr.sbin/jail/jail.8,v 1.44 2003/06/26 19:04:15 rwatson Exp % +.\" %FreeBSD: src/usr.sbin/jail/jail.8,v 1.45 2003/11/11 18:34:29 kensmith Exp % .\" .\" $FreeBSD$ .Dd December 12, 2001 .Dt JAIL 8 .Os .Sh 名称 .Nm jail .Nd プロセスとその子孫を閉じ込める .Sh 書式 .Nm .Op Fl i .Op Fl u Ar username .Ar path hostname ip-number command ... .Sh 解説 .Nm ユーティリティはプロセスとその将来の子孫を閉じ込めます。 .Pp オプションは次の通りです: .Bl -tag -width ".Fl u Ar username" .It Fl i 新規に作成された jail (牢屋) に対し、jail の識別子を出力します。 .It Fl u Ar username .Ar command を実行するユーザ名。 .It Ar path jail の根となるディレクトリ。 .It Ar hostname jail のホスト名。 .It Ar ip-number jail に割り当てられた IP 番号。 .It Ar command 実行されるべきプログラムのパス名。 .El .Pp 詳細は .Xr jail 2 のマニュアルページを参照してください。 .Sh 使用例 .Ss jail 用ディレクトリツリー設定 この例は、 .Fx 配布物全体を含む jail 用ディレクトリツリーをどのように構築するかを示しています: .Bd -literal D=/here/is/the/jail cd /usr/src mkdir -p $D make world DESTDIR=$D cd etc make distribution DESTDIR=$D mount_devfs devfs $D/dev cd $D ln -sf dev/null kernel .Ed .Pp 注: jail に対し、devfs 中の適切なデバイスのみが見えるようになっている ことが重要です。 jail 中でのディスクデバイスへのアクセスを許すと、 jail 中のプロセスが jail 外のファイルを修正することで、 jail の砂箱を通り抜けてしまうかもしれません。 devfs ルールを使用することで、 jail 毎の devfs 中のエントリへのアクセスを制限する方法については、 .Xr devfs 8 を参照してください。 .Pp 多くの場合、この例の方法では、 必要をはるかに越えた数のものを jail に入れてしまうでしょう。 もう一方の極端な例では、jail はただ 1 個のファイルのみを保持します: すなわち jail の中で実行する実行形式 1 個だけです。 .Pp .Dq 太い jail から開始して動かなくなるまで徐々にものを削除していく方が、 .Dq 細い jail から開始して動くようになるまで徐々にものを追加していくよりも かなり簡単ですので、試すにはお勧めですが、また用心することもお勧めします。 .Ss jail の設定 jail 用ディレクトリツリーの構築のためには、 .Sx jail 用ディレクトリツリー設定 に記述されている手順を実行してください。 この例では、jail された IP アドレス用に .Pa /data/jail/192.168.11.100 に構築するものと仮定します。 以降、 あなたが必要とするディレクトリ、IP アドレス、ホスト名で置き換えてください。 .Pp まず、実システムの環境を .Dq jail に適した環境 にします。 一貫性のために、親となる実マシンを .Dq ホスト環境 と呼び、jail される仮想マシンを .Dq jail 環境 と呼びます。 jail は IP エイリアスを使用して実装されていますので、 最初にすべきことのひとつは、 ホストシステムの IP サービスで、 全ローカル IP アドレスに対してサービスを listen しているものを、 無効化することです。 これは、 .Xr inetd 8 を修正して、適切な IP アドレスのみ listen させるといった ことを意味します。 次の設定を、ホスト環境の .Pa /etc/rc.conf に追加します: .Bd -literal -offset indent sendmail_enable="NO" inetd_flags="-wW -a 192.168.11.23" rpcbind_enable="NO" .Ed .Pp この例では、 .Li 192.168.11.23 はホストシステムの元々の IP アドレスです。 .Xr inetd 8 から実行されるデーモンは、指定されたホスト IP アドレスを使用するよう、 簡単に設定可能です。 他のデーモンは手動での設定が必要です \(em いくつかに対しては、 .Xr rc.conf 5 フラグエントリにて可能ですが、他のものに対してはアプリケーション毎の 設定ファイルをいじるか、再コンパイルが必要です。 実行に使用する IP アドレスを指定不可能なアプリケーションに対しては、 可能であればこれらを無効にする方が良いです。 .Pp ベースシステムに付属する多くのデーモンは、 jail 中枢環境内で jail から実行されると、問題を持ち得ます。 これには .Xr sendmail 8 , .Xr named 8 , .Xr rpcbind 8 が含まれます。 .Xr sendmail 8 と .Xr named 8 は、自身の設定ファイルを使用して、 特定の IP のみ listen するよう設定可能ですが、 ほとんどの場合、 デーモンを単に jail 内でのみ実行して、ホスト環境では実行しない方が簡単です。 ホスト環境からの NFS にサービスしようとすると、 混乱が生じるかもしれませんし、 特定の IP だけを使用するようには簡単には再設定できません。 これは、NFS のサービスには、直接カーネルが実行するものがあるからです。 ホスト環境内で動作している すべてのサードパーティネットワークソフトウェアもまた確認および設定して、 すべての IP アドレスに bind しないようにすべきです。 結果として、これらのサービスもまた、 jail 環境から提供されているように見えるでしょう。 .Pp ひとたびこれらのデーモンが無効化またはホスト環境内に固定化されたなら、 後の混乱 (jail へメールを送るときに、jail の sendmail がダウンしていて、 メールがホストへ配送されてしまうなど) の可能性を減らすために、 リブートして全デーモンが既知の状態となるようにするのが最良です。 .Pp 最初に jail を起動するときには、 ネットワークインタフェースを設定しないでください。 これは、ネットワークインタフェースを少し整理したり、 アカウントを設定するためです。 どんなマシンでも (仮想であってもそうでなくても)、 root のパスワードやタイムゾーンといった情報を設定する必要があるでしょう。 始める前に、 .Xr sysinstall 8 を jail のツリーにコピーすることにより、簡単に設定できます。 次のように行います: .Bd -literal -offset indent mkdir /data/jail/192.168.11.100/stand cp /stand/sysinstall /data/jail/192.168.11.100/stand .Ed .Pp それから、jail を開始します: .Pp .Dl "jail /data/jail/192.168.11.100 testhostname 192.168.11.100 /bin/sh" .Pp 最後に、エラー無しで、jail 内の、シェルプロンプトで終るでしょう。 ここで、 .Pa /stand/sysinstall を実行し、インストール後の設定で様々な設定オプションを設定できます。 また、同様のことを実現するために、 .Pa /etc/rc.conf 等を手動で編集できます。 .Pp .Bl -bullet -offset indent -compact .It 空の .Pa /etc/fstab を作成し、fstab が存在しないという起動警告を解消します。 .It ポートマッパを無効化します .Pa ( /etc/rc.conf : .Li rpcbind_enable="NO" ) 。 .It .Xr newaliases 1 を実行し、 .Xr sendmail 8 の警告を解消します。 .It インタフェース設定を無効化し、ifconfig 関連の起動警告を解消します .Pq Li network_interfaces="" 。 .It .Pa /etc/resolv.conf を設定し、jail 内の名前解決が正しく動作するようにします。 .It root のパスワードを設定します。 実ホストシステムとは異なっても良いです。 .It タイムゾーンを設定します。 .It jail 環境内のユーザにユーザアカウントを追加します。 .It jail 環境に必要なパッケージを追加します。 .El .Pp パッケージ固有の設定 (ウェブサーバや SSH サーバ等) や、 好みのログを取るための .Pa /etc/syslog.conf の修正等を行ってください。 .Pp シェルから抜ければ、jail はシャットダウンします。 .Ss jail の開始 jail を再開し、 全デーモンと他のプログラムと共に環境を立ち上げる準備ができました。 これを実行するには、まず仮想ホストのインタフェースを立ち上げ、 それから jail の .Pa /etc/rc スクリプトを jail 内から実行します。 .Pp 注: 信頼できないユーザに jail 内で root アクセスを許す予定なら、 .Va security.jail.set_hostname_allowed を 0 に設定することを検討すると良いでしょう。 管理上の理由を参照して、何故これが良い考えなのかを見てください。 この変数を設定することにしたならば、 すべての jail の起動前にこれを設定することが必要であり、 またブートの度に 1 度必要です。 .Bd -literal -offset indent ifconfig ed0 inet alias 192.168.11.100/32 mount -t procfs proc /data/jail/192.168.11.100/proc jail /data/jail/192.168.11.100 testhostname 192.168.11.100 \\ /bin/sh /etc/rc .Ed .Pp ほとんどの .Xr sysctl 8 設定変数は jail 内から設定不可であるため、若干の警告が表示されます。 なぜなら、 これらの設定変数は、すべての jail 環境とホスト環境に渡って大域的だからです。 しかしながら、すべて正しく動作することでしょう。 .Xr inetd 8 , .Xr syslogd 8 および他のプロセスが jail 内で動作していることは、 .Xr ps 1 を使用することにより、jail されたプロセスの横に .Ql J フラグが付いていることにより確認可能です。 jail のアクティブリストを見るには .Xr jls 8 ユーティリティを使用します。 jail された環境へは、ホスト名または IP アドレスで .Xr telnet 1 可能であり、 前述の手順で作成したアカウントを使用してログイン可能です。 .Ss jail の管理 通常のマシンのシャットダウンコマンド、例えば .Xr halt 8 , .Xr reboot 8 , .Xr shutdown 8 は jail 内ではうまく使えません。 jail 内の全プロセスを殺すためには、jail に root でログインし、 やりたいことに依存して次のいずれかのコマンドを使用します: .Pp .Bd -literal -offset indent kill -TERM -1 kill -KILL -1 .Ed .Pp これにより、 .Dv SIGTERM または .Dv SIGKILL のシグナルを、jail 内から jail 内の全プロセスに通知します。 jail の用途に依存して、jail 内で .Pa /etc/rc.shutdown を実行したいかもしれません。 jail 外からプロセスを殺すには、 .Xr jexec 8 ユーティリティを上述の .Xr kill 1 コマンドと組み合わせて使用するか、 .Xr killall 1 ユーティリティを .Fl j オプション付きで使用します。 .Pp .Pa /proc/ Ns Ar pid Ns Pa /status ファイルの最後のフィールドには、 プロセスが動作している jail のホスト名か、 このプロセスが jail 内で動作していないことを示すために .Dq Li - を含みます。 .Xr ps 1 コマンドもまた、jail 内のプロセスに対して .Ql J フラグを示します。 しかし、jail 用のホスト名はデフォルトでは jail 内から書き換え可能であるため、 デフォルトでは .Pa /proc の status エントリは信頼できません。 jail 内からのホスト名設定を禁ずるには、ホスト環境の sysctl 変数 .Va security.jail.set_hostname_allowed を 0 に設定します。 これはすべての jail に影響します。 .Xr sysctl.conf 5 を使うことにより、ブートのたびにこの sysctl 設定を行えます。 次の行を .Pa /etc/sysctl.conf に追加するだけです: .Pp .Dl security.jail.set_hostname_allowed=0 .Ss Sysctl MIB エントリ jail 封鎖環境の特定の側面は、ホスト環境から、 .Xr sysctl 8 MIB 変数を使用して変更可能です。 現在のところ、これらの変数はシステム上のすべての jail 環境に影響しますが、 将来的にこの機能はより細粒度となる予定です。 .Bl -tag -width XXX .It Va security.jail.set_hostname_allowed 本 MIB エントリは、jail 内のプロセスが .Xr hostname 1 または .Xr sethostname 3 を使用して、ホスト名を変更可能か否かを指定します。 現在の jail 実装では、 jail 内からホスト名を設定できてしまうと、 .Pa /proc 内の jail 情報が正確であることに依存している管理ツールへ影響します。 このため、 信頼できない団体に jail への特権アクセスを許している環境においては、 本機能は無効化するべきです。 .It Va security.jail.socket_unixiproute_only jail 機能は、単一の IPv4 アドレスを各 jail へ bind し、 IPv4 空間における他のネットワークアドレスへのアクセスを制限します。 これらは、ホスト環境ではアクセス可能であるかもしれません。 しかしながら jail は現在のところ、 jail 機能を持たない他のネットワークプロトコルスタックへの アクセスを制限できません。 このためデフォルトでは、jail 内のプロセスは .Dv PF_LOCAL , .Dv PF_INET , .Dv PF_ROUTE ドメインのプロトコルにのみアクセス可能ですので、 .Ux ドメインソケット、IPv4 アドレス、ルーティングソケットにアクセス可能です。 他のドメインへアクセスを有効にするには、 本 MIB エントリを 0 に設定します。 .It Va security.jail.sysvipc_allowed 本 MIB エントリは、jail 内のプロセスが System V IPC プリミティブへの アクセスを持つか否かを指定します。 現在の jail 実装では、System V プリミティブは、 ホスト環境と jail 環境に跨がる単一の名前空間を共有します。 これは、jail 内のプロセスが jail 外のプロセスや他の jail 内のプロセスと 通信可能である (また潜在的に妨害も可能である) ことを意味します。 このため、この機能はデフォルトで無効ですが、 本 MIB エントリを 1 に設定することで有効にできます。 .El +.Pp +現在、jail 毎の設定を保持する 2 個の MIB 関係変数があります。 +jail 内のプロセスによるこれらの変数の変更は、ホスト環境には影響せず、 +jail 環境に対してのみ影響します。 +変数名は +.Va kern.securelevel +と +.Va kern.hostname +です。 .Sh 関連項目 .Xr killall 1 , .Xr chroot 2 , .Xr jail 2 , .Xr jail_attach 2 , .Xr procfs 5 , .Xr rc.conf 5 , .Xr sysctl.conf 5 , .Xr devfs 8 , .Xr halt 8 , .Xr inetd 8 , .Xr jexec 8 , .Xr jls 8 , .Xr mount_devfs 8 , .Xr named 8 , .Xr reboot 8 , .Xr rpcbind 8 , .Xr sendmail 8 , .Xr shutdown 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh 歴史 .Nm ユーティリティは .Fx 4.0 ではじめて登場しました。 .Sh 作者 .An -nosplit jail の機能は .An Poul-Henning Kamp によって R&D Associates .Pa http://www.rndassociates.com/ のために書かれ、 .Fx に寄贈されました。 .Pp .An Robert Watson が追加の文書を書き、少々バグを見つけ、 新規機能を少々追加し、ユーザランドの jail 環境を綺麗にしました。 .Sh バグ jail は現在のところ、 .Xr procfs 5 に対して特定の jail 情報を .Xr ps 1 経由でアクセスできるようにするという能力がありません。 また、アドレスエイリアスフラグを追加して、 全 IP .Pq Dv INADDR_ANY 上で listen するようなデーモンが このフラグを持つアドレスには bind しないようにすると良いかもしれません。 これにより、jail 内から提供されるサービスに対して ホストデーモンが負担をかけない、安全なホスト環境を構築可能とします。 現在のところ、 最も単純な答えはホスト上で提供するサービスを最小化することであり、 おそらく簡単に設定可能な .Xr inetd 8 から提供されるものに限定することでしょう。 diff --git a/ja_JP.eucJP/man/man8/ndp.8 b/ja_JP.eucJP/man/man8/ndp.8 index 84e84e54bc..d00c3f8291 100644 --- a/ja_JP.eucJP/man/man8/ndp.8 +++ b/ja_JP.eucJP/man/man8/ndp.8 @@ -1,190 +1,246 @@ -.\" %FreeBSD: src/usr.sbin/ndp/ndp.8,v 1.10 2003/08/05 14:57:11 ume Exp % -.\" $KAME: ndp.8,v 1.15 2001/02/08 07:17:03 itojun Exp $ +.\" %FreeBSD: src/usr.sbin/ndp/ndp.8,v 1.11 2003/11/13 16:02:44 ume Exp % +.\" $KAME: ndp.8,v 1.28 2002/07/17 08:46:33 itojun Exp $ .\" .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the project nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .\" WORD: neighbor discovery 近接探索 .Dd May 17, 1998 .Dt NDP 8 .Os .\" .Sh 名称 .Nm ndp .Nd IPv6 近接探索プロトコルを制御 / 診断する .\" .Sh 書式 -.Nm -.Fl a +.Nm ndp .Op Fl nt -.Nm -.Fl A Ar wait +.Ar hostname +.Nm ndp .Op Fl nt -.Nm -.Fl c +.Fl a | Fl c | Fl p +.Nm ndp .Op Fl nt -.Nm -.Fl d +.Fl r +.Nm ndp .Op Fl nt -.Ar hostname -.Nm -.Fl f +.Fl H | Fl P | Fl R +.Nm ndp +.Op Fl nt +.Fl A Ar wait +.Nm ndp +.Op Fl nt +.Fl d Ar hostname +.Nm ndp +.Op Fl nt +.Fl f Ar filename +.Nm ndp .Op Fl nt -.Ar filename -.Nm -.Fl H -.Nm -.Fl I -.Op Cm delete | Ar interface -.Nm .Fl i .Ar interface -.Op Ar flags... -.Nm -.Fl p -.Nm -.Fl P -.Nm -.Fl r -.Nm -.Fl R -.Nm -.Fl s +.Op Ar flags ... +.Nm ndp .Op Fl nt -.Ar nodename -.Ar ether_addr +.Fl I Op Ar interface | Li delete +.Nm ndp +.Op Fl nt +.Fl s Ar nodename etheraddr .Op Li temp .Op Li proxy .\" .Sh 解説 .Nm ユーティリティは 近隣探索プロトコル (NDP) で使用される アドレスマッピングテーブルを操作します。 .Bl -tag -width Ds .It Fl a 現在存在する NDP エントリをダンプします。 +次の情報が表示されます: +.Bl -tag -width NeighborXX +.It Neighbor +近隣の IPv6 アドレス。 +.It Linklayer Address +近隣のリンク層アドレス。 +アドレスが使用可能ではない場合 +.Dq Li (incomplete) +となります。 +.It Netif +近隣キャッシュエントリに関連付けられたネットワークインタフェース。 +.It Expire +エントリの満了までの時間。 +エントリは +.Dq Li permanent +であることも可能であり、この場合は永遠に満了しません。 +.It S +近隣キャッシュエントリの状態であり、1 文字です: +.Pp +.Bl -tag -width indent -compact +.It N +Nostate +.It W +Waitdelete +.It I +Incomplete +.It R +Reachable +.It S +Stale +.It D +Delay +.It P +Probe +.It ? +未知の状態 (この状態にはならないはずです)。 +.El +.It Flags +近隣キャッシュエントリのフラグであり、1 文字です。 +フラグは次の通りです: ルータであり、近隣通知を代理 +.Pq Dq p +。 +このフィールドには 10 進数値が続くことがあります。 +この数値は、現在の状態の間に、このノードが送出した NS プローブ数です。 +.El .It Fl A Ar wait .Fl a (NDP エントリのダンプ) を .Ar wait 秒毎に繰り返します。 .It Fl c 全ての NDP エントリを削除します。 .It Fl d 指定された NDP エントリを削除します。 .It Fl f .Ar filename で指定されたファイルを解析します。 .It Fl H ルーティングテーブルとデフォルトルータリストを 一致させます; リストの先頭のエントリをカーネルの ルーティングテーブルリストにインストールします。 -.It Fl I Op Cm delete | Ar interface +.It Fl I +デフォルトルータが存在しないとき、 +デフォルト経路として使用するデフォルトインタフェースを表示します。 +.It Fl I Ar interface デフォルトルータが存在しないとき、 -デフォルト経路として使用するデフォルトインタフェースを表示または指定します。 -引数を指定しないと、現在のデフォルトインタフェースが表示されます。 +デフォルト経路として使用するデフォルトインタフェースを指定します。 .Ar interface -を指定すると、そのインタフェースがデフォルトとして使用されます。 -特別なキーワード -.Ic delete -を指定すると、現在のデフォルトインタフェースがカーネルから削除されます。 -.It Fl i Ar interface Op Ar flags... +がデフォルトとして使用されます。 +.It Fl I Li delete +現在のデフォルトインタフェースをカーネルから削除します。 +.It Fl i Ar interface Op Ar flags ... 指定されたインタフェースの ND 情報を表示します。 追加の引数として .Ar flags を指定すると、そのフラグをインタフェースに対して設定または削除します。 +各フラグは、空白かタブ文字で区切る必要があります。 指定可能なフラグは次の通りです。 すべてのフラグは特殊文字 .Ql - で開始可能であり、これはフラグを削除することを意味します。 +この場合、 +.Fl foo +の前に +.Fl - +が必要であることに注意してください。 .\" +.Pp .Bl -tag -width Ds -compact .It Xo .Ic nud .Xc インタフェースの NUD (Neighbor Unreachability Detection; 隣に到達不能であることの検知) を、 オンまたはオフにします。 通常、NUD はデフォルトでオンです。 .It Xo .Ic accept_rtadv .Xc .Ar interface で受信したルータ通知 (Router Advertisement) メッセージを 受理するかどうかを指定します。 このフラグがオンであったとしても、 .Li net.inet6.ip6.accept_rtadv が非 0 でない限り、カーネルはルータ通知メッセージを受理しません。 このフラグはデフォルトで 1 です。 +.It Xo +.Ic prefer_source +.Xc +出力パケット用の始点アドレス候補として +.Ar interface +上のアドレスを優先します。 +始点アドレス選択のアルゴリズム全体に関する更なる詳細については、 +KAME キットと共に提供される +.Pa IMPLEMENTATION +ファイルを参照してください。 .El .It Fl n 数値アドレスからホスト名への解決を試みません。 .It Fl p プレフィックスリストを表示します。 .It Fl P プレフィックスリスト中の全てのエントリをフラッシュします。 .It Fl r デフォルトルータリストを表示します。 .It Fl R デフォルトルータリスト中の全てのエントリをフラッシュします。 .It Fl s ノードに対する NDP エントリを登録します。 コマンド上で語 .Li temp を指定しない限り、エントリは永続的です。 語 .Li proxy を指定すると、このシステムは代理 NDP サーバとして動作します。 すなわち、ホストアドレスが自己のものでなくても、 .Ar hostname に対する要求に応答します。 .It Fl t .Xr tcpdump の出力と統合可能にするために、 各エントリ毎にタイムスタンプを表示します。 .Fl A とともに用いると有効です。 .El .\" .Sh 戻り値 .Nm は成功時に 0 を、エラー時に 0 以外を返します。 .\" .Sh 関連項目 .Xr arp 8 .\" .Sh 歴史 .Nm ユーティリティは WIDE Hydrangea IPv6 プロトコルスタックキットで はじめて登場しました。 .\" .\" .Sh BUGS .\" (to be written) diff --git a/ja_JP.eucJP/man/man8/pam_radius.8 b/ja_JP.eucJP/man/man8/pam_radius.8 index a5db3fe275..f7b235a027 100644 --- a/ja_JP.eucJP/man/man8/pam_radius.8 +++ b/ja_JP.eucJP/man/man8/pam_radius.8 @@ -1,134 +1,138 @@ .\" Copyright (c) 1999 .\" Andrzej Bialecki . 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. .\" -.\" %FreeBSD: src/lib/libpam/modules/pam_radius/pam_radius.8,v 1.13 2002/11/29 15:57:50 ru Exp % +.\" %FreeBSD: src/lib/libpam/modules/pam_radius/pam_radius.8,v 1.14 2003/11/12 17:47:23 sobomax Exp % .\" $FreeBSD$ .\" .Dd October 28, 2002 .Dt PAM_RADIUS 8 .Os .Sh 名称 .Nm pam_radius .Nd RADIUS 認証 PAM モジュール .Sh 書式 .Op Ar service-name .Ar module-type .Ar control-flag .Pa pam_radius .Op Ar options .Sh 解説 .Nm モジュールは RADIUS (Remote Authentication Dial In User Service) プロトコルに基づく認証サービスを提供する PAM (Pluggable Authentication Module) の枠組みのモジュールです。 .Pp .Nm モジュールは次のオプションパラメータを受け付けます: .Bl -tag -width Fl .It Cm use_first_pass を指定すると、 .Nm は新しいパスワードの入力を求めずに、以前に入力されたパスワードを 使います。パスワードが入力されていない場合には、認証は失敗します。 .It Cm try_first_pass を指定すると、 .Nm は以前に入力されたパスワードがあれば、それを使います。パスワードが 入力されていなければ、 .Nm は通常通り入力を求めます。 .It Cm echo_pass は、 .Nm パスワードの入力を求めるとき、エコーを有効のままにします。 .It Cm conf Ns = Ns Ar pathname は RADIUS クライアント設定ファイルの標準以外の位置を指定します (通常は .Pa /etc/radius.conf です)。 .It Cm nas_id Ns No = Ns Ar identifier ホスト名の代りに送る NAS 識別子を指定します。 .It Cm template_user Ns No = Ns Ar username は、セッションの環境をつくるテンプレートとして使用する .Xr passwd 5 エントリをもつユーザ名を指定します。 このエントリは、提供されるユーザ名が、ローカルのパスワードデータベースに 存在しない場合に使用されます。 ユーザは提供されたユーザ名とパスワードで認証されますが、 システムでの資格は .Ar username に与えられたものとなります。すなわち、ログインクラス、ホームディレクトリ、 資源の制限などは、 .Ar username に指定されたものが適用されます。 .Pp このオプションが省略され、かつ与えられたユーザ名がシステムのデータベースに 存在しない ( .Xr getpwnam 3 を呼び出して決定されます) 場合には、認証に失敗します。 +.It Cm nas_ipaddr Ns Op No = Ns Ar address +送られるべき NAS IP アドレスを指定します。 +このオプションが存在するが値が指定されていなかった場合、 +現在のホスト名に対応する IP アドレスが使用されます。 .El .Sh 関連ファイル .Bl -tag -width /etc/radius.conf -compact .It Pa /etc/radius.conf .Nm の標準 RADIUS クライアント設定ファイル。 .El .Sh 関連項目 .Xr passwd 5 , .Xr radius.conf 5 , .Xr pam 8 .Sh 歴史 .Nm モジュールは .Fx 3.1 から登場しました。 .Nm マニュアルページは .Fx 3.3 から登場しました。 .Sh 作者 .An -nosplit .Nm マニュアルページは .An Andrzej Bialecki Aq abial@FreeBSD.org が書きました。 .Pp .Nm モジュールは .An John D. Polstra Aq jdp@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man8/route.8 b/ja_JP.eucJP/man/man8/route.8 index bf76b0e61c..77e491683e 100644 --- a/ja_JP.eucJP/man/man8/route.8 +++ b/ja_JP.eucJP/man/man8/route.8 @@ -1,404 +1,410 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)route.8 8.3 (Berkeley) 3/19/94 -.\" %FreeBSD: src/sbin/route/route.8,v 1.34 2003/09/26 18:10:11 bms Exp % +.\" %FreeBSD: src/sbin/route/route.8,v 1.35 2003/11/10 14:28:33 brueffer Exp % .\" .\" $FreeBSD$ .\" .Dd June 8, 2001 .Dt ROUTE 8 .Os .Sh 名称 .Nm route .Nd マニュアルでルーティングテーブルを操作する .Sh 書式 .Nm .Op Fl dnqtv .Ar command .Oo .Op Ar modifiers .Ar args .Oc .Sh 解説 .Nm ユーティリティはネットワークルーティングテーブルを手動で操作します。 通常は、 .Xr routed 8 のようなシステムルーティングテーブル管理デーモンが 保守をしているので、マニュアルでの操作は必要ありません。 .Pp .Nm ユーティリティは指定できるオプションは少数ですが、 -強力なコマンド言語をサポートしています。ユーザは +強力なコマンド言語をサポートしています。 +ユーザは .Xr route 4 において解説されているプログラム可能なインタフェースを通して、 任意の要求を指定することができます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indnent +.It Fl d +デバッグモードで実行します。 +すなわち、ルーティングテーブルを実際には変更しません。 .It Fl n レポートの出力において、ホスト名とネットワーク名のシンボル名での表示を 抑止します。 (シンボル名と数字によるアドレスの変換処理には時間がかかり、 またネットワークが正常に動作している必要があります。 そのため、特にネットワークの動作の修正中には、 変換処理を行なわない方が好都合かもしれません。) .It Fl v (冗長モード) 詳細な情報を出力します。 .It Fl q .Cm add , delete , .Cm flush コマンドからの全ての出力を抑制します。 .El .Pp .Nm ユーティリティでは以下の 6 つのコマンドを提供しています。 .Pp .Bl -tag -width Fl -compact .It Cm add ルートを追加します。 .It Cm flush 全てのルートを削除します。 .It Cm delete 指定されたルートを削除します。 .It Cm change ルートの属性 (ゲートウェイなど) を変更します。 .It Cm get ある宛先に対するルートを検索し、表示します。 .It Cm monitor ルーティング情報ベースの変更、ルーティング検索の失敗、 ネットワーク分割の疑いなどの情報を継続的に報告します。 .El .Pp monitor コマンドは以下の書式です。 .Pp .Bd -ragged -offset indent -compact .Nm .Op Fl n .Cm monitor .Ed .Pp flush コマンドは以下の書式です。 .Pp .Bd -ragged -offset indent -compact .Nm .Op Fl n .Cm flush .Op Ar family .Ed .Pp .Cm flush コマンドが指定されると、 .Nm は全てのゲートウェイのエントリにおけるルーティングテーブルを削除します。 アドレスファミリが .Fl osi , .Fl xns , .Fl atalk , .Fl inet6 , .Fl inet のいずれかの修飾子によって指定されている場合、 そのアドレスファミリの宛先を持つルートだけが削除されます。 .Pp その他のコマンドは以下の書式です。 .Pp .Bd -ragged -offset indent -compact .Nm .Op Fl n .Ar command .Op Fl net No \&| Fl host .Ar destination gateway .Op Ar netmask .Ed .Pp ここで .Ar destination は宛先のホストもしくはネットワークです。 .Ar gateway はパケットがルートされるべき次の中継点です。 ある特定のホストへのルートは、 .Ar destination で指定されたインターネットアドレスを解釈することによって、 ネットワークへのルートと区別されます。 オプションの修飾子 .Fl net , .Fl host が指定されると、 .Ar destination をそれぞれネットワークもしくはホストとして強制的に解釈します。 これらの修飾子がないなら、 .Ar destination に INADDR_ANY .Pq Li 0.0.0.0 の .Dq ローカルアドレス部 が含まれるか .Ar destination がネットワークのシンボル名である場合はネットワークへのルート、 その他の場合はホストへのルートと想定します。 .Ar destination は、 .Ar net Ns / Ns Ar bits の書式でも指定可能です。 .Pp 例えば、 .Li 128.32 は .Fl host Li 128.0.0.32 として解釈されます。 .Li 128.32.130 は .Fl host Li 128.32.0.130 として、 .Fl net Li 128.32 は .Li 128.32.0.0 として、 .Fl net Li 128.32.130 は .Li 128.32.130.0 として解釈されます。 .Li 192.168.64/20 は .Fl net Li 192.168.64 Fl netmask Li 255.255.240.0 として解釈されます。 .Pp .Ar destination に対する .Ar default 指定は、 .Fl net Li 0.0.0.0 と同じ意味であり、デフォルト経路です。 .Pp 宛先がゲートウェイとして動作する中継点なしで、 あるインタフェースから直接到達可能な場合、 .Fl interface 修飾子を指定しなければなりません。 この場合、指定されたゲートウェイは共通なネットワーク上の ローカルホストのアドレスとなり、 そのインタフェースが転送に使用されることを示します。 また、インタフェースが point to point 接続の場合、 インタフェースをその名前で指定できます。 この場合、ローカルやリモートのアドレスが変更されても そのルートは有効のまま残ります。 .Pp オプションの修飾子 .Fl xns , .Fl osi , .Fl atalk , .Fl link はそれに続いて指定されるアドレスが、それぞれ .Tn XNS , .Tn OSI , .Tn AppleTalk アドレスファミリである、もしくはリンクレベルのアドレスであることを指定します。 これらの場合、名前はシンボル名ではなく、 数字によって指定をおこなわなければなりません。 .Pp オプションの修飾子 .Fl netmask はネットマスクオプションつきの .Tn OSI .Tn ESIS プロトコルによるリダイレクトの効果を実現するためのものです。 つまり、ネットワークインタフェースの暗黙のネットマスクとは異なる ネットマスクをもつサブネットを手動で追加します。 (この方法によらない場合は、OSPF や ISIS ルーティングプロトコルによって 通信します。) この修飾子に続いて、アドレスパラメータ (これはネットワークマスクとして解釈されます) を指定します。 AF_INET の場合に生成される暗黙のネットワークマスクは、 このオプションを .Ar destination パラメータに続いて指定することによって、上書きすることができます。 .Pp .Dv AF_INET6 では、 .Fl mask 修飾子の代りに .Fl prefixlen -修飾子が使用可能です。IPv6 では非連続なマスクが許されないためです。 +修飾子が使用可能です。 +IPv6 では非連続なマスクが許されないためです。 例えば .Fl prefixlen Li 32 はネットワークマスク .Li ffff:ffff:0000:0000:0000:0000:0000:0000 の使用を指定します。 prefixlen のデフォルト値は 64 であり、 集約可能 (aggregatable) アドレスと共に動作可能となっています。 ただし、 .Cm default 指定時には 0 が仮定されます。 この修飾子は .Dv AF_INET6 アドレスファミリのみで動作可能なことに注意してください。 .Pp ルートにはいくつかのフラグがあり、 そのルートを使う宛先にデータを送信する時のプロトコルの動作に 影響をおよぼします。 これらのフラグは以下の修飾子によってセット (もしくはクリア) できます。 .Bd -literal -cloning RTF_CLONING - 使用中のルートを新たにひとつ生成する。 -xresolve RTF_XRESOLVE - (外部からの検索に対して) 使用中である旨のメッ セージを発行する。 -iface ~RTF_GATEWAY - 宛先が直接到達可能。 -static RTF_STATIC - 手動でルートを追加する。 -nostatic ~RTF_STATIC - カーネルかデーモンによってルートが追加された ように振舞う。 -reject RTF_REJECT - マッチした場合に ICMP unreachable を出力する。 -blackhole RTF_BLACKHOLE - (更新中に) 何も報告せずにパケットを捨てる。 -proto1 RTF_PROTO1 - プロトコルに特有のフラグ #1 をセットする。 -proto2 RTF_PROTO2 - プロトコルに特有のフラグ #2 をセットする。 -llinfo RTF_LLINFO - プロトコルアドレスからリンクアドレスへの変換の 正当性をチェックする。 .Ed .Pp オプションの修飾子 .Fl rtt , .Fl rttvar , .Fl sendpipe , .Fl recvpipe , .Fl mtu , .Fl hopcount , .Fl expire , .Fl ssthresh によって TCP や TP4 のトランスポートレベルのプロトコルによる ルーティングのエントリ中でメインテナンスされる値の初期値を指定します。 これらは各々の修飾子の前に .Fl lock メタ修飾子を指定することによって、個別にその値をロックすることができます。 また .Fl lockrest メタ修飾子をつけることによって、 その後に続く全ての値をロックすることもできます。 .Pp .Cm change もしくは .Cm add コマンドにおいて、 .Ar destination もしくは .Ar gateway がルートを特定するのに不十分であった場合 (たとえば .Tn ISO のケースにおいて、複数のインタフェースが同じアドレスを持っているような場合)、 .Fl ifp や .Fl ifa 修飾子を使うことによって、 インタフェースやインタフェースアドレスを特定することができます。 .Pp オプションの .Fl proxy 修飾子を指定すると、 .Dv RTF_LLINFO 経路表エントリが、 .Dq 公表された (代理のみの) .Tn ARP エントリとなり、 .Xr arp 8 はそのように報告します。 .Pp 省略可能な .Fl genmask 修正子は、クローンマスクが存在することを指定します。 これは、子の経路が作成されるべきかどうかを判断するときに、 マスクが適用されることを指定します。 これは、 .Dv RTF_CLONING フラグが設定されたネットワーク経路に対してのみ適用されます。 .Pp .Ar destination や .Ar gateway で指定された全てのシンボル名は、まずホスト名として .Xr gethostbyname 3 -を使用して検索されます。検索に失敗した場合は、その名前をネットワーク名と見なし +を使用して検索されます。 +検索に失敗した場合は、その名前をネットワーク名と見なし .Xr getnetbyname 3 によって検索されます。 .Pp .Nm ユーティリティはルーティングソケットと新しいメッセージタイプである .Dv RTM_ADD , RTM_DELETE , RTM_GET , RTM_CHANGE を使います。 ルーティングテーブルの変更はスーパユーザのみがおこなうことができます。 .Sh 診断 .Bl -diag .It "add [host \&| network ] %s: gateway %s flags %x" 指定されたルートがテーブルに追加されました。 出力された値は .Xr ioctl 2 の呼出しの中で使われたルーティングテーブルのエントリからのものです。 指定されたゲートウェイアドレスがそのゲートウェイのプライマリアドレス ( .Xr gethostbyname 3 によって返される最初のもの) でなかった場合、 ゲートウェイアドレスがシンボル名に加えて、数字でも表示されます。 .It "delete [ host \&| network ] %s: gateway %s flags %x" 指定されたルートがテーブルから削除されました。 .It "%s %s done" .Cm flush コマンドが指定された場合、削除された各ルーティングテーブルエントリが この形式のメッセージで報告されます。 .It "Network is unreachable" 指定されたゲートウェイが直接到達可能なネットワーク上にないために、 ルートの追加に失敗しました。 hop 数が 1 であるゲートウェイを指定しなければなりません。 .It "not in table" テーブルにないエントリを削除しようとしました。 .It "routing table overflow" ルートの追加を試みましたが、システムの資源が少なく、 新しいエントリを作成するためのメモリを割り当てられませんでした。 .It "gateway uses the same route" .Cm change 操作の結果変更された経路は、そのゲートウェイが使用する経路と同一です。 次ホップのゲートウェイが別の経路から到達可能であるべきです。 .El .Pp .Ex -std .Sh 関連項目 .\".Xr esis 4 , .Xr netintro 4 , .Xr route 4 , .Xr arp 8 , .Xr IPXrouted 8 , .Xr routed 8 .\".Xr XNSrouted 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 から登場しました。 .Sh バグ 最初の段落は多少 .Xr routed 8 の能力を大げさに書いています。 diff --git a/ja_JP.eucJP/man/man8/setkey.8 b/ja_JP.eucJP/man/man8/setkey.8 index e9f141d6a6..550f4ae931 100644 --- a/ja_JP.eucJP/man/man8/setkey.8 +++ b/ja_JP.eucJP/man/man8/setkey.8 @@ -1,670 +1,670 @@ .\" $KAME: setkey.8,v 1.89 2003/09/07 22:17:41 itojun Exp $ -.\" %FreeBSD: src/usr.sbin/setkey/setkey.8,v 1.28 2003/11/05 09:47:54 ume Exp % +.\" %FreeBSD: src/usr.sbin/setkey/setkey.8,v 1.29 2003/11/10 10:39:14 ume Exp % .\" .\" Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the project nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd November 20, 2000 .Dt SETKEY 8 .Os .\" .Sh 名称 .Nm setkey .Nd 手動で IPsec の SA/SP データベースを操作する .\" .Sh 書式 .Nm .Op Fl v .Fl c .Nm .Op Fl v .Fl f Ar filename .Nm .Op Fl aPlv .Fl D .Nm .Op Fl Pv .Fl F .Nm .Op Fl h .Fl x .\" .Sh 解説 .Nm ユーティリティは、 カーネル内のセキュリティアソシエーションデータベース (SAD) エントリと セキュリティポリシデータベース (SPD) エントリを、 追加・更新・内容列挙・削除します。 .Pp .Nm ユーティリティは、一連の操作を標準入力から受け取るか ( .Fl c 付で起動された場合) .Ar filename という名前のファイルから受け取ります ( .Fl f Ar filename 付で起動された場合)。 .Bl -tag -width Ds .It Fl D SAD エントリをダンプします。 .Fl P 付の場合、SPD エントリをダンプします。 .It Fl F SAD エントリを捨てます。 .Fl P 付の場合、SPD を捨てます。 .It Fl a .Nm は通常、死んだ SAD エントリを表示しません。 .Fl a 付の場合、死んだ SAD エントリも表示します。 死んだ SAD エントリとは、期限切れではあるものの、 SPD エントリから参照されているためにシステム中に残っているものを指します。 .It Fl h .Fl x モードにおいて、16 進数ダンプを追加します。 .It Fl l .Fl D において、短い出力で無限ループします。 .It Fl v 冗長になります。 プログラムは、 .Dv PF_KEY ソケット上で交換したメッセージをダンプします。 これには他プロセスからカーネルに送られたメッセージを含みます。 .It Fl x 無限ループし、 .Dv PF_KEY ソケットへ送られる全メッセージをダンプします。 .Fl xx は、各タイムスタンプのフォーマットをやめます。 .El .Ss 設定構文 .Fl c もしくは .Fl f がコマンドラインにあると、 .Nm は次の設定構文を受け付けます。 ハッシュマーク ('#') で始まる行は コメント行として扱われます。 .Bl -tag -width Ds .It Xo .Li add .Op Fl 46n .Ar src Ar dst Ar protocol Ar spi .Op Ar extensions .Ar algorithm ... .Li ; .Xc 単一の SAD エントリを追加します。 .Li add の失敗にはいくつか理由があり、 鍵の長さが指定したアルゴリズムに合致しない場合が含まれます。 .\" .It Xo .Li get .Op Fl 46n .Ar src Ar dst Ar protocol Ar spi .Li ; .Xc 単一の SAD エントリを表示します。 .\" .It Xo .Li delete .Op Fl 46n .Ar src Ar dst Ar protocol Ar spi .Li ; .Xc 単一の SAD エントリを削除します。 .\" .It Xo .Li deleteall .Op Fl 46n .Ar src Ar dst Ar protocol .Li ; .Xc 指定に適合するすべての SAD エントリを削除します。 .\" .It Xo .Li flush .Op Ar protocol .Li ; .Xc オプションに適合する全 SAD エントリをクリアします。 コマンドラインに .Fl F を指定すると、同じ効果が得られます。 .\" .It Xo .Li dump .Op Ar protocol .Li ; .Xc オプションに適合する全 SAD エントリをダンプします。 コマンドラインに .Fl D を指定すると、同じ効果が得られます。 .\" .It Xo .Li spdadd .Op Fl 46n .Ar src_range Ar dst_range Ar upperspec Ar policy .Li ; .Xc 単一の SPD エントリを追加します。 .\" .It Xo .Li spddelete .Op Fl 46n .Ar src_range Ar dst_range Ar upperspec Fl P Ar direction .Li ; .Xc 単一の SPD エントリを削除します。 .\" .It Xo .Li spdflush .Li ; .Xc 全 SPD エントリをクリアします。 コマンドラインに .Fl FP を指定すると、同じ効果が得られます。 .\" .It Xo .Li spddump .Li ; .Xc 全 SPD エントリをダンプします。 コマンドラインに .Fl DP を指定すると、同じ効果が得られます。 .El .\" .Pp メタ引数は下記の通りです: .Pp .Bl -tag -compact -width Ds .It Ar src .It Ar dst セキュアコミュニケーションの始点/終点を IPv4/v6 アドレスで指定します。 .Nm は FQDN を数値アドレスに解決可能です。 FQDN が複数のアドレスに解決された場合、 .Nm はすべての組み合わせを試みて、 複数の SAD/SPD エントリをカーネルにインストールします。 .Fl 4 , .Fl 6 , .Fl n は、FQDN の解決を制限します。 .Fl 4 と .Fl 6 はそれぞれ、結果が IPv4/v6 アドレスのみになるよう制限します。 .Fl n は FQDN の解決を防止し、アドレスが数値アドレスであることを要求します。 .\" .Pp .It Ar protocol .Ar protocol は次のいずれか 1 つです: .Bl -tag -width Fl -compact .It Li esp rfc2406 を基にした暗号ペイロード .It Li esp-old rfc1827 を基にした暗号ペイロード .It Li ah rfc2402 を基にした認証ヘッダ .It Li ah-old rfc1826 を基にした認証ヘッダ .It Li ipcomp IPComp .El .\" .Pp .It Ar spi SAD および SPD 用の、セキュリティパラメータインデックス (SPI)。 10 進数または 16 進数 .Li ( 0x 付) で指定する必要があります。 範囲 0 から 255 の SPI 値は、将来の使用のために IANA が予約しており、 使用できません。 .\" .Pp .It Ar extensions 次に示す引数を受け付けます: .Bl -tag -width Fl -compact .\" .It Fl m Ar mode 使用するセキュリティプロトコルモードを指定します。 .Ar mode は次のいずれか 1 つです: .Li transport , tunnel , .Li any 。 デフォルト値は .Li any です。 .\" .It Fl r Ar size 繰り返し攻撃を防ぐためのウィンドウサイズをバイト数で指定します。 .Ar size は 32 ビットワードの 10 進数で指定する必要があります。 .Ar size が 0 または指定されなかった場合、繰り返しのチェックは行われません。 .\" .It Fl u Ar id SAD 中のポリシエントリの識別子を指定します。 .Ar policy を参照してください。 .\" .It Fl f Ar pad_option ESP パディングの内容を指定します。 .Ar pad_option は次のいずれか 1 つです: .Bl -tag -width random-pad -compact .It Li zero-pad パディングはすべて 0。 .It Li random-pad 一連の乱数値を設定。 .It Li seq-pad 1 から開始して増加する一連の数を設定。 .El .\" .It Fl f Li nocyclic-seq 周期的な順序番号を許可しません。 .\" .It Fl lh Ar time .It Fl ls Ar time SA のハード有効期間/ソフト有効期間を指定します。 .El .\" .Pp .It Ar algorithm .Bl -tag -width Fl -compact .It Fl E Ar ealgo Ar key ESP 用に暗号化アルゴリズム .Ar ealgo を指定します。 .It Xo .Fl E Ar ealgo Ar key .Fl A Ar aalgo Ar key .Xc ESP 用に暗号化アルゴリズム .Ar ealgo とペイロード認証アルゴリズム .Ar aalgo を指定します。 .It Fl A Ar aalgo Ar key AH 用に認証アルゴリズムを指定します。 .It Fl C Ar calgo Op Fl R IPComp 用に圧縮アルゴリズムを指定します。 .Fl R が指定されると、 .Ar spi フィールド上の値が、 ワイヤ上にそのまま IPComp CPI フィールドとして使用されます。 .Fl R が指定されないと、 カーネルはワイヤ上に良く知られた CPI を使用し、 .Ar spi フィールドはカーネル内部使用のためのインデックスとしてのみ使用されます。 .El .Pp .Ar key は、ダブルクォートで括られた文字列か、 一続きの .Dq Li 0x 付き 16 進数で指定する必要があります。 .Pp .Ar ealgo , .Ar aalgo , .Ar calgo が取り得る値は別の節で規定します。 .\" .Pp .It Ar src_range .It Ar dst_range セキュアコミュニケーションの選択であり、 IPv4/v6 アドレスまたは IPv4/v6 アドレス範囲で指定します。 TCP/UDP ポート指定を付加することも可能です。 次の形式を受け付けます: .Bd -literal -offset .Ar address .Ar address/prefixlen .Ar address[port] .Ar address/prefixlen[port] .Ed .Pp .Ar prefixlen と .Ar port は 10 進数で指定する必要があります。 .Ar port の周りの角括弧は、実際に必要です。 マニュアルページのメタ文字ではありません。 FQDN の解決に関しては、 .Ar src と .Ar dst に対して適用されるルールがここでも適用されます。 .\" .Pp .It Ar upperspec 使用する上位層プロトコル。 .Ar upperspec として、 .Pa /etc/protocols 中の 1 語を使用可能です。 または、 .Li icmp6 , .Li ip4 , .Li any を指定可能です。 .Li any は .Dq 任意のプロトコル を意味します。 また、プロトコル番号を使用可能です。 上位層が ICMPv6 の場合、ICMPv6 用のタイプやコードを指定可能です。 仕様は .Li icmp6 の後に置きます。 タイプは、単一のコンマで区切ります。 コードは常に指定することが必要です。 0 が指定された場合、カーネルはこれをワイルドカードとして扱います。 カーネルはワイルドカードと ICMPv6 タイプ 0 とを区別できないことに 注意してください。 例えば下記は、 入力の近隣要請に対して IPsec が不要というポリシを意味します。 .Dl spdadd ::/0 ::/0 icmp6 135,0 -P in none ; .Pp 注: .Ar upperspec は、現時点では転送に対して機能しません。 転送ノードにおいて、追加の再構成 (現時点では未実装) が必要となるからです。 .Pa /etc/protocols には多数のプロトコルが登録されていますが、 TCP, UDP, ICMP 以外は IPSec と共に使用するには不適切かもしれません。 そのようなプロトコルの使用には、注意してください。 .\" .Pp .It Ar policy .Ar policy は次の 3 種類の形式のうちいずれか 1 つです: .Bd -literal -offset indent .It Fl P Ar direction Li discard .It Fl P Ar direction Li none .It Xo Fl P Ar direction Li ipsec .Ar protocol/mode/src-dst/level Op ... .Xc .Ed .Pp ポリシの方向を .Ar direction で指定する必要があります。 .Li out または .Li in が使用されます。 .Li discard は、インデックスに適合するパケットが捨てられることを意味します。 .Li none は、パケットに対して IPsec 操作が実施されないことを意味します。 .Li ipsec は、パケットに対して IPsec 操作が実施されることを意味します。 .Ar protocol/mode/src-dst/level の部分は、パケット処理方法のルールを指定します。 .Li ah , .Li esp , .Li ipcomp のいずれかを、 .Ar protocol として設定します。 .Ar mode は .Li transport または .Li tunnel のいずれかです。 .Ar mode が .Li tunnel の場合、 SA の末端アドレスを、 .Ar src および .Ar dst で、両アドレス間に .Sq - を付けて指定する必要があります。 これは、使用する SA を指定するために用いられます。 .Ar mode が .Li transport の場合、 .Ar src と .Ar dst は両方省略可能です。 .Ar level は次のいずれかです: .Li default , use , require , .Li unique 。 すべてのレベルにおいて SA が利用可能でない場合、 SA 取得要求をカーネルは鍵交換デーモンに送ります。 .Li default は、カーネルがパケットを処理するとき、 指定したプロトコルについて、 システム全体のデフォルトを問い合わせることを意味します。 これは例えば sysctl 変数 .Li esp_trans_deflev を指します。 .Li use は、カーネルが SA を使用可能であれば使用し、 使用不能の場合には通常操作を続けることを意味します。 .Li require は、ポリシに適合するパケットをカーネルが送る時には いつも SA が必要であることを意味します。 .Li unique は require と同じです。 更に、ポリシが一意な外向き SA に結合することを許します。 ポリシレベルには .Li unique を指定するだけで良く、 .Xr racoon 8 がそのポリシのために SA を設定してくれます。 そのポリシ用に手動キー入力で SA を設定する場合、 .Li unique の後にコロン .Sq \&: で区切った後に 10 進数でポリシ識別子を指定可能であり、次のようにします: .Li unique:number 。 これでこのポリシが SA に結合されます。 .Li number は 1 から 32767 の範囲にあることが必要です。 これは、手動 SA 設定の .Ar extensions Fl u に対応します。 SA バンドルを使用したい場合、複数のルールを定義可能です。 例えば、IP ヘッダ、AH ヘッダ、ESP ヘッダ、上位層プロトコルヘッダと続く場合、 ルールは次のようになります: .Dl esp/transport//require ah/transport//require ; ルールの順序は非常に重要です。 .Pp .Dq Li discard と .Dq Li none は .Xr ipsec_set_policy 3 に記述されている構文には存在しないことに注意してください。 両者の構文にはちょっとした違いがあります。 詳細は .Xr ipsec_set_policy 3 を参照してください。 .Pp .El .Pp .\" .Sh アルゴリズム 次の一覧は、サポートされているアルゴリズムを示しています。 .Sy protocol と .Sy algorithm は、ほぼ直交しています。 次に示すのは、 .Ar protocol パラメータの .Fl A Ar aalgo で .Ar aalgo として使用可能な認証アルゴリズムの一覧です: .Pp .Bd -literal -offset indent アルゴリズム 鍵長 (ビット) コメント hmac-md5 128 ah: rfc2403 128 ah-old: rfc2085 hmac-sha1 160 ah: rfc2404 160 ah-old: 128bit ICV (文書無し) keyed-md5 128 ah: 96bit ICV (文書無し) 128 ah-old: rfc1828 keyed-sha1 160 ah: 96bit ICV (文書無し) 160 ah-old: 128bit ICV (文書無し) null 0 〜 2048 デバッグ用 hmac-sha2-256 256 ah: 96bit ICV (draft-ietf-ipsec-ciph-sha-256-00) hmac-sha2-384 384 ah: 96bit ICV (文書無し) 384 ah-old: 128bit ICV (文書無し) hmac-sha2-512 512 ah: 96bit ICV (文書無し) 512 ah-old: 128bit ICV (文書無し) hmac-ripemd160 160 ah: 96bit ICV (RFC2857) ah-old: 128bit ICV (文書無し) -.\"aes-xcbc-mac 128 ah: 96bit ICV (RFC3566) -.\" 128 ah-old: 128bit ICV (文書無し) +aes-xcbc-mac 128 ah: 96bit ICV (RFC3566) + 128 ah-old: 128bit ICV (文書無し) .Ed .Pp 次に示すのは、 .Ar protocol パラメータの .Fl E Ar ealgo で .Ar ealgo として使用可能な暗号化アルゴリズムの一覧です: .Pp .Bd -literal -offset indent アルゴリズム 鍵長 (ビット) コメント des-cbc 64 esp-old: rfc1829, esp: rfc2405 3des-cbc 192 rfc2451 null 0 〜 2048 rfc2410 blowfish-cbc 40 〜 448 rfc2451 cast128-cbc 40 〜 128 rfc2451 des-deriv 64 ipsec-ciph-des-derived-01 3des-deriv 192 文書無し rijndael-cbc 128/192/256 rfc3602 -.\"aes-ctr 160/224/288 draft-ietf-ipsec-ciph-aes-ctr-03 +aes-ctr 160/224/288 draft-ietf-ipsec-ciph-aes-ctr-03 .Ed .Pp .Li aes-ctr 鍵の最初の 128 ビットは AES 鍵として使用され、 残りの 32 ビットは nonce として使用されることに注意してください。 .Pp 次に示すのは、 .Ar protocol パラメータの .Fl C Ar calgo で .Ar calgo として使用可能な圧縮アルゴリズムの一覧です: .Pp .Bd -literal -offset indent アルゴリズム コメント deflate rfc2394 .Ed .\" .Sh 戻り値 本コマンドは成功時に 0 を、エラー時に 0 以外を返します。 .\" .Sh 使用例 .Bd -literal -offset add 3ffe:501:4819::1 3ffe:501:481d::1 esp 123457 -E des-cbc 0x3ffe05014819ffff ; add -6 myhost.example.com yourhost.example.com ah 123456 -A hmac-sha1 "AH SA configuration!" ; add 10.0.11.41 10.0.11.33 esp 0x10001 -E des-cbc 0x3ffe05014819ffff -A hmac-md5 "authentication!!" ; get 3ffe:501:4819::1 3ffe:501:481d::1 ah 123456 ; flush ; dump esp ; spdadd 10.0.11.41/32[21] 10.0.11.33/32[any] any -P out ipsec esp/tunnel/192.168.0.1-192.168.1.2/require ; .Ed .\" .Sh 関連項目 .Xr ipsec_set_policy 3 , .Xr racoon 8 , .Xr sysctl 8 .Rs .%T "Changed manual key configuration for IPsec" .%O "http://www.kame.net/newsletter/19991007/" .%D "October 1999" .Re .\" .Sh 歴史 .Nm ユーティリティは WIDE Hydrangea IPv6 プロトコルスタックキットで はじめて登場しました。 本コマンドは 1998 年 6 月に、完全に再デザインされました。 .\" .Sh バグ .Nm は、構文エラーをよりよく報告し、扱えるべきです。 .Pp IPsec ゲートウェイ設定では、 TCP/UDP ポート番号付きの .Ar src_range と .Ar dst_range は動作しません。 これは、ゲートウェイがパケットを再組み立てしないからです (上位層ヘッダの検査はできません)。 diff --git a/ja_JP.eucJP/man/man8/sysctl.8 b/ja_JP.eucJP/man/man8/sysctl.8 index 147514a961..54ea406c23 100644 --- a/ja_JP.eucJP/man/man8/sysctl.8 +++ b/ja_JP.eucJP/man/man8/sysctl.8 @@ -1,304 +1,306 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/sbin/sysctl/sysctl.8,v 1.51 2003/09/08 19:57:18 ru Exp % +.\" %FreeBSD: src/sbin/sysctl/sysctl.8,v 1.53 2003/11/07 21:28:29 des Exp % .\" .\" $FreeBSD$ .\" .Dd March 10, 2002 .Dt SYSCTL 8 .Os .Sh 名称 .Nm sysctl .Nd カーネル状態の取得や設定 .Sh 書式 .Nm -.Op Fl bdeNnox +.Op Fl bdehNnox .Ar name Ns Op = Ns Ar value .Ar ... .Nm -.Op Fl beNnox +.Op Fl bdehNnox .Fl a .Sh 解説 .Nm はカーネル状態を取り出し、適切な権限があれば プロセスがカーネル状態を設定することを許します。取り出され たり、設定されたりした状態は、 .Pq Management Information Base .Pq Dq MIB 形式を使って記述されます。この形式では、要素はドット ``.'' で 接続されます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl A .Fl o a と等価です (互換性用)。 .It Fl a 現在利用可能な、データ形式を知らないもの(以下、形式不明の変数と称する) でない値を列挙します。 1 個以上の変数名がコマンドラインに指定された場合、 本オプションは無視されます。 .It Fl b 変数の値を加工せずに、バイナリ形式で表示します。 変数名や、最後の改行文字は出力されません。これは、単一の変数に対して 操作する際に便利でしょう。 .It Fl d 変数の値の代りに解説を表示します。 .It Fl e 変数の名前と値を、 .Ql = で区切ります。 .Nm ユーティリティにフィードバック可能な出力を生成するために有用です。 .Fl N または .Fl n が指定される場合、または変数が設定される場合、本オプションは無視されます。 +.It Fl h +マシンが読み易いフォーマットではなく、人間が読み易いフォーマットで出力します。 .It Fl N 値の出力は抑制されて、変数名のみを表示します。 プログラム可能な補完機能を持つシェルで、有用です。 .Xr zsh 1 で変数名を補完するには、次のコードを使用します: .Bd -literal -offset indent listsysctls () { set -A reply $(sysctl -AN ${1%.*}) } compctl -K listsysctls sysctl .Ed .It Fl n 変数名の出力は抑制されて、値だけが表示されます。 これはシェル変数を設定するのに役に立ちます。 たとえば、ページサイズを変数 .Va psize に保存するには、以下のようにします: .Pp .Dl "set psize=`sysctl -n hw.pagesize`" .It Fl o 形式不明な値を表示します (通常は抑制されます)。 書式と長さが表示され、値の最初の 16 バイトが 16 進数でダンプされます。 .It Fl X .Fl x a と等価です (互換性用)。 .It Fl x .Fl o と同様ですが、 形式不明の変数の最初の数バイトの代りに全ての内容が 16 進数でダンプされます。 .El .Pp .Nm で得られる情報は、整数、文字列、デバイス .Pq Vt dev_t 、形式不明の変数です。 .Nm ユーティリティはいくつかの形式不明の変数の形式を知っているだけで、 それ以外のものに 対しては 16 進ダンプに頼ります。 形式不明の変数の情報は、 .Xr ps 1 , .Xr systat 1 , .Xr netstat 1 などの特別な目的のプログラムによって取得された場合に、より効果的です。 .Pp 通常のシステム動作中には修正できない変数のいくつかは、 .Xr loader 8 チューナブルで修正可能です。 例えば、これらを .Xr loader.conf 5 で設定することで実現できます。 どのようなチューナブルが利用可能か、そしてそれらをどのように設定するのか という更なる情報については、 .Xr loader.conf 5 を参照してください。 .Pp 文字列と整数の情報を簡単にまとめて以下に示します。これらの 変数の詳細な説明は、 .Xr sysctl 3 を参照してください。 .Pp 変更可能の列は、適切な権限を持つプロセスがその値を変更 できるかどうかを示しています。 文字列、整数、デバイス値を .Nm で設定可能です。 デバイス値 .Ar value は、キャラクタデバイススペシャルファイル名で指定可能です。 特殊な値 .Cm off と .Cm none は .Dq デバイス無し を意味します。 .Bl -column security.bsd.unprivileged_read_msgbuf integerxxx .It Sy "名称 型 変更可能 .It "kern.ostype 文字列 no .It "kern.osrelease 文字列 no .It "kern.osrevision 整数 no .It "kern.version 文字列 no .It "kern.maxvnodes 整数 yes .It "kern.maxproc 整数 no .It "kern.maxprocperuid 整数 yes .It "kern.maxfiles 整数 yes .It "kern.maxfilesperproc 整数 yes .It "kern.argmax 整数 no .It "kern.securelevel 整数 増やすのみ .It "kern.hostname 文字列 yes .It "kern.hostid 整数 yes .It "kern.clockrate struct no .It "kern.posix1version 整数 no .It "kern.ngroups 整数 no .It "kern.job_control 整数 no .It "kern.saved_ids 整数 no .It "kern.boottime struct no .It "kern.domainname 文字列 yes .It "kern.filedelay 整数 yes .It "kern.dirdelay 整数 yes .It "kern.metadelay 整数 yes .It "kern.osreldate 文字列 no .It "kern.bootfile 文字列 yes .It "kern.corefile 文字列 yes .It "kern.dumpdev dev_t yes .It "kern.logsigexit 整数 yes .It "security.bsd.suser_enabled 整数 yes .It "security.bsd.see_other_uids 整数 yes .It "security.bsd.unprivileged_proc_debug 整数 yes .It "security.bsd.unprivileged_read_msgbuf 整数 yes .It "vm.loadavg struct no .It "hw.machine 文字列 no .It "hw.model 文字列 no .It "hw.ncpu 整数 no .It "hw.byteorder 整数 no .It "hw.physmem 整数 no .It "hw.usermem 整数 no .It "hw.pagesize 整数 no .It "hw.floatingpoint 整数 no .It "hw.machine_arch 文字列 no .It "machdep.console_device dev_t no .It "machdep.adjkerntz 整数 yes .It "machdep.disable_rtc_set 整数 yes .It "machdep.guessed_bootdev 文字列 no .It "user.cs_path 文字列 no .It "user.bc_base_max 整数 no .It "user.bc_dim_max 整数 no .It "user.bc_scale_max 整数 no .It "user.bc_string_max 整数 no .It "user.coll_weights_max 整数 no .It "user.expr_nest_max 整数 no .It "user.line_max 整数 no .It "user.re_dup_max 整数 no .It "user.posix2_version 整数 no .It "user.posix2_c_bind 整数 no .It "user.posix2_c_dev 整数 no .It "user.posix2_char_term 整数 no .It "user.posix2_fort_dev 整数 no .It "user.posix2_fort_run 整数 no .It "user.posix2_localedef 整数 no .It "user.posix2_sw_dev 整数 no .It "user.posix2_upe 整数 no .It "user.stream_max 整数 no .It "user.tzname_max 整数 no .El .Sh 使用例 たとえば、システム中で許されている最大のプロセス数を知りたい ときは、以下のようにします: .Pp .Dl "sysctl kern.maxproc" .Pp システム中で許されている最大のプロセス数を 1000 に設定する には、以下のようにします: .Pp .Dl "sysctl kern.maxprocperuid=1000" .Pp クラッシュダンプに使用するデバイスは次のように指定可能です: .Pp .Dl "sysctl kern.dumpdev=/dev/somedev" .Pp これは次と等価です .Pp .Dl "dumpon /dev/somedev" .Pp システムのクロックレートに関する情報を得るには、以下の ようにします: .Pp .Dl "sysctl kern.clockrate" .Pp システム負荷 (ロード・アベレージ) の履歴に関する情報を 得るには、以下のようにします: .Pp .Dl "sysctl vm.loadavg" .Pp ここに挙げたもの以外の変数も存在します。それらに関するより深い意味を知る もっとも良く、かつ、おそらく唯一の方法は、それらを定義しているソースコードを みる事であることは疑いのない事実でしょう。 .Sh 関連ファイル .Bl -tag -width ".In netinet/icmp_var.h" -compact .It In sys/sysctl.h トップレベルの識別子、第 2 レベルのカーネル/ハードウェア識別子、 そしてユーザレベル識別子の定義 .It In sys/socket.h 第 2 レベルのネットワーク識別子の定義 .It In sys/gmon.h 第 3 レベルのプロファイル識別子の定義 .It In vm/vm_param.h 第 2 レベルの仮想メモリ識別子の定義 .It In netinet/in.h 第 3 レベルのインターネット識別子と 第 4 レベルの IP 識別子の定義 .It In netinet/icmp_var.h 第 4 レベルの ICMP 識別子の定義 .It In netinet/udp_var.h 第 4 レベルの UDP 識別子の定義 .El .Sh 互換性 .Fl w オプションは推奨されておらず、黙って無視されます。 .Sh 関連項目 .Xr sysctl 3 , .Xr loader.conf 5 , .Xr sysctl.conf 5 , .Xr loader 8 .Sh バグ 現状では .Nm ユーティリティは、sysctl ツリーの追跡、および、形式と名前の情報を得る際に、 文書化されていないカーネルの sysctl 機能へのインタフェースを使用しています。 この方法に関する正しいインタフェースは、現在検討中です。 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 ではじめて登場しました。 .Pp .Fx 2.2 の .Nm は著しく改良されています。 diff --git a/ja_JP.eucJP/man/man8/traceroute6.8 b/ja_JP.eucJP/man/man8/traceroute6.8 index 17f638b522..c618296254 100644 --- a/ja_JP.eucJP/man/man8/traceroute6.8 +++ b/ja_JP.eucJP/man/man8/traceroute6.8 @@ -1,126 +1,130 @@ -.\" $KAME: traceroute6.8,v 1.8 2000/06/12 16:29:18 itojun Exp $ +.\" $KAME: traceroute6.8,v 1.9 2002/08/30 03:56:20 onoe Exp $ .\" .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the project nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/traceroute6/traceroute6.8,v 1.9 2002/07/14 14:46:38 charnier Exp % +.\" %FreeBSD: src/usr.sbin/traceroute6/traceroute6.8,v 1.10 2003/11/12 18:56:59 ume Exp % .\" .\" $FreeBSD$ .\" .Dd May 17, 1998 .Dt TRACEROUTE6 8 .Os .Sh 名称 .Nm traceroute6 .Nd IPv6 パケットが終点までにたどる経路を表示する .\" .Sh 書式 .Nm .Bk -words -.Op Fl dlnrv +.Op Fl dIlnrv .Ek .Bk -words .Op Fl f Ar firsthop .Ek .Bk -words .Op Fl g Ar gateway .Ek .Bk -words .Op Fl m Ar hoplimit .Ek .Bk -words .Op Fl p Ar port .Ek .Bk -words .Op Fl q Ar probes .Ek .Bk -words .Op Fl s Ar src .Ek .Bk -words .Op Fl w Ar waittime .Ek .Bk -words .Ar target .Op Ar datalen .Ek .\" .Sh 解説 .Bl -tag -width Ds .It Fl d デバッグモードです。 .It Fl f Ar firsthop トレースにおいて、何ホップをスキップするかを指定します。 .It Fl g Ar gateway 中間ゲートウェイ ( .Nm はルーティングヘッダを使用) を指定します。 .It Fl m Ar hoplimit ホップ制限の最大を設定します。 +.It Fl I +UDP データグラムの代りに ICMP6 ECHO を使用します。 .It Fl l ホストのホスト名と数値アドレスの両方を表示します。 通常 .Nm コマンドは .Fl n が指定されていない場合はホスト名のみを、 .Fl n が指定されている場合は数値アドレスのみを表示します。 +.It Fl m Ar hoplimit +最大ホップ数を指定します。 .It Fl n 数値アドレスからホスト名への解決を行いません。 .It Fl p Ar port UDP ポート番号を .Ar port に設定します。 .It Fl q Ar probes ホップ数あたりのプローブ回数を .Ar probes に設定します。 .It Fl r .It Fl s Ar src .Ar src を始点 IPv6 アドレスとして用います。 .It Fl v 冗長になります。 .It Fl w Ar waittime プローブ間の遅延時間を設定します。 .El .\" .Sh 戻り値 .Nm ユーティリティは、成功時に 0 を、エラー時に 0 以外を返します。 .\" .Sh 関連項目 .Xr ping 8 , .Xr ping6 8 , .Xr traceroute 8 .\" .Sh 歴史 .Nm ユーティリティは WIDE Hydrangea IPv6 プロトコルスタックキットで はじめて登場しました。 diff --git a/ja_JP.eucJP/man/man9/device_get_name.9 b/ja_JP.eucJP/man/man9/device_get_name.9 index 36293e5def..75c0aa5fc0 100644 --- a/ja_JP.eucJP/man/man9/device_get_name.9 +++ b/ja_JP.eucJP/man/man9/device_get_name.9 @@ -1,56 +1,56 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2003 M. Warner Losh .\" .\" 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. .\" -.\" %FreeBSD: src/share/man/man9/device_get_name.9,v 1.3 2003/10/23 06:19:45 hmp Exp % +.\" %FreeBSD: src/share/man/man9/device_get_name.9,v 1.4 2003/11/06 15:54:32 des Exp % .\" .\" $FreeBSD$ .Dd April 21, 2003 .Dt DEVICE_GET_NAME 9 .Os .Sh 名称 .Nm device_get_name , device_get_nameunit .Nd デバイスのデバイスクラスまたは実体の名前へのアクセス .Sh 書式 .In sys/param.h .In sys/bus.h -.Ft int +.Ft const char * .Fn device_get_name "device_t dev" -.Ft int +.Ft const char * .Fn device_get_nameunit "device_t dev" .Sh 解説 .Fn device_get_name 関数はデバイスのデバイスクラスの名前を返します。 .Pp .Fn device_get_nameunit 関数はデバイスの実体の名前を返します。 .Sh 関連項目 .Xr device 9 .Sh 作者 このマニュアルページは .An Warner Losh が書きました。 diff --git a/ja_JP.eucJP/man/man9/style.9 b/ja_JP.eucJP/man/man9/style.9 index 178c6040a7..e9b571888d 100644 --- a/ja_JP.eucJP/man/man9/style.9 +++ b/ja_JP.eucJP/man/man9/style.9 @@ -1,802 +1,809 @@ .\" Copyright (c) 1995-2001 FreeBSD Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL [your name] OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/style.9,v 1.103 2003/09/27 22:17:37 imp Exp % +.\" %FreeBSD: src/share/man/man9/style.9,v 1.105 2003/11/12 10:53:52 fanf Exp % .\" $FreeBSD$ .\" .Dd December 7, 2001 .Dt STYLE 9 .Os .Sh 名称 .Nm style .Nd カーネルソースファイルのスタイルガイド .Sh 解説 このファイルは .Fx ソースツリーのカーネルソースに好ましいスタイルを明記しています。 これはユーザランドのコードスタイルの手引きでもあります。 例において、スタイル規則の多くを暗黙的に使用しています。 .Nm がこれらの事例について言及していないと決め付ける前に、 注意して例を確認してください。 .Nm はそのような事柄については記述していません。 .\" $ と FreeBSD を続けるとキーワード置換されるので、\& を挿入 .\" 2001/05/23 horikawa@jp.FreeBSD.org .Bd -literal /* * FreeBSD のためのスタイルガイドです。 * CSRG の KNF (Kernel Normal Form, カーネル標準書式) に基づいています。 * * @(#)style 1.14 (Berkeley) 4/28/95 - * $\&FreeBSD: src/share/man/man9/style.9,v 1.100 2003/03/25 19:46:55 jhb Exp $ + * $\&FreeBSD: src/share/man/man9/style.9,v 1.105 2003/11/12 10:53:52 fanf Exp $ */ /* * とても重要な 1 行のコメントはこのようにします。 */ /* 殆どの 1 行のコメントはこのようにします。 */ /* * 複数行にわたるコメントはこのようにします。実際の文章を書きます。実際の * 段落に見えるように埋めていきます。 */ .Ed .Pp 著作権ヘッダの後には空行を 1 行入れ、ソースファイルには .Va rcsid を付けます。 バージョン管理システムの ID タグは、ファイル中に 1 個のみあるべきです (このファイルでは違いますが)。 C/C++ ソースファイル以外はこの例に従いますが、 C/C++ ソースファイルは以降の例に従います。 外部から入手したファイルの すべての VCS (バージョン管理システム) リビジョン識別子は、 存在すれば維持します。 これには、ファイルの来歴を示す複数の ID も含みます。 一般的に、外来の ID またはその下部構造は編集しません。 さもなければ .Dq Li ( "#if defined(LIBC_SCCS)" のように) 囲まれていない場合には、全ての互換性のない小片を隠すため、および その ID をオブジェクトファイルから追い出しておくために、両方を .Dq Li "#if 0 ... #endif" の中に囲みます。 ファイルの名前が変更された場合には、外来の VCS ID の前に .Dq Li "From: " のみを追加します。 .Bd -literal #if 0 #ifndef lint static char sccsid[] = "@(#)style 1.14 (Berkeley) 4/28/95"; #endif /* not lint */ #endif #include -__FBSDID("$\&FreeBSD: src/share/man/man9/style.9,v 1.103 2003/09/27 22:17:37 imp Exp $"); +__FBSDID("$\&FreeBSD: src/share/man/man9/style.9,v 1.105 2003/11/12 10:53:52 fanf Exp $"); .Ed .Pp ヘッダファイルの前に、空行を 1 行付けます。 .Pp カーネルのインクルードファイル (すなわち、 .Pa sys/*.h ) が初めに来ます。 通常、 .In sys/types.h または .In sys/param.h のどちらかが必要ですが、 両方は必要ないでしょう。 .In sys/types.h は .In sys/cdefs.h をインクルードしており、 依存関係は問題ありません。 .Bd -literal #include /* 山括弧による非ローカルインクルード */ .Ed .Pp ネットワークプログラムである場合は、 次にネットワークインクルードファイルを置きます。 .Bd -literal #include #include #include #include #include .Ed .Pp カーネル用のファイルには、 .Pa /usr/include 中のファイルを使用しないでください。 .Pp それから空行を置き、 .Pa /usr/include のファイルを続けます。 .Pa /usr/include のファイルはアルファベット順にソートされているべきです。 .Bd -literal #include .Ed .Pp グローバルなパス名は .In /usr/include/paths.h で定義されています。 プログラムにローカルなパス名はローカルディレクトリの .Qq Pa pathnames.h に入れます。 .Bd -literal #include .Ed .Pp それから、空行があって、ユーザインクルードファイルが来ます。 .Bd -literal #include "pathnames.h" /* " " によるローカルインクルード */ .Ed .Pp アプリケーションインタフェースを実装している場合を除き、 実装の名前空間で .Ic #define したり名前を定義したりしてはいけません。 .Pp .Dq Li 安全でない マクロ (副作用を持っているもの) の名前と、 明らかな定数のマクロの名前はすべて大文字です。 式のように展開されるマクロは、単一のトークンにするか外側に括弧をつけます。 .Ic #define とマクロ名の間にタブ文字を 1 個入れます。 マクロがある関数のインライン展開である場合は、 関数名は全て小文字で、マクロはすべて大文字の同じ名前を持ちます。 .\" XXX 上記は名前が同じマクロを #undef すれば関数を使える .\" という ANSI のスタイルと衝突します。 .\" これは MALLOC() については言えないし、インライン関数を使う時の .\" 一般的なやりかたではありません。 バックスラッシュは右揃えします。こうすると読みやすくなります。 マクロが複合文をカプセル化する場合には、それを .Ic do ループで囲みます。 これにより、 .Ic if 文で安全に使用できます。 最後の文の終端のセミコロンは、 マクロではなくマクロの実施時に付けられるべきです。 これにより、清書器やエディタで文法解析しやすくなります。 .Bd -literal #define MACRO(x, y) do { \e variable = (x) + (y); \e (y) += 2; \e } while (0) .Ed .Pp コードが .Ic #ifdef または .Ic #if を使用して条件付きでコンパイルされるときには、 どこで条件付きでコンパイルされるコードが終了するのかを 読む人が容易に識別することが可能にするために、それに続く適合する .Ic #endif または .Ic #else にコメントを追加しても構いません。 このコメントは (主観的に) 長い部分、20 行以上の部分、またはネストされた .Ic #ifdef の連続が読む人を混乱させるかもしれないとき、にのみ使用されるべきです。 たとえコンパイルされない領域が小さくなるかもしれないでも、 .Xr lint 1 の目的のために条件付きでコンパイルされない個所のために、 例外が作られても構いません。 そのコメントは .Ic #endif または .Ic #else から 1 つの空白によって分離されるべきです。 短い条件付きでコンパイルされる部分のために、 終わりのコメントを使用するべきではありません。 .Pp .Ic #endif のためのコメントは対応する .Ic #if または .Ic #ifdef で使用されている表現に合わせるべきです。 .Ic #else および .Ic #elif のためのコメントは先行する .Ic #if および/または .Ic #elif 文に使用されている表現の反対に合わせるべきです。 コメントの中では、補助表現 .Dq Li defined(FOO) は .Dq Li FOO と省略されます。 コメントの目的のためには、 .Dq Ic #ifndef Li FOO は .Dq Ic #if Li !defined(FOO) とみなされます。 .Bd -literal #ifdef KTRACE #include #endif #ifdef COMPAT_43 /* 大きな部分が、または他の条件付きのコードがここに */ #else /* !COMPAT_43 */ /* またはここに */ #endif /* COMPAT_43 */ #ifndef COMPAT_43 /* 更に別の大きな部分が、または他の条件付きのコードがここに */ #else /* COMPAT_43 */ /* またはここに */ #endif /* !COMPAT_43*/ .Ed .Pp このプロジェクトは、 .Ic u_intXX_t 形式の古い BSD スタイルの整数識別子よりもむしろ、 .Ic uintXX_t 形式の .St -isoC-99 の符号なし整数識別子を使用するように、徐々に移行しています。 新しいコードは後者を使用するべきで、さらにその領域の他の主要な作業が完了し、 古い BSD スタイルを好むための優先する理由がない場合には、古いコードは 新しい形式に変換されるべきです。 空白文字のコミットと同様に、 .Ic uintXX_t のみのコミットをするよう、考慮すべきです。 .Pp 列挙値は全て大文字を使用します。 .Bd -literal enum enumtype { ONE, TWO } et; .Ed .Pp 宣言の中では、型に関係付けられたトークンを除いて、 アスタリスクと隣接したトークンの間には空白文字を置きません。 (これらの識別子は基本の型の名前、型の修飾語句、および今宣言されようとしている もの以外の .Ic typedef 名です。) これらの識別子はアスタリスクから 1 つの空白で分離します。 .Pp 構造体の中で変数を宣言する時には、 使用順、サイズ順、アルファベット順にソートして宣言します。 最初の区分は通常適用しませんが、例外があります。 各宣言は、それぞれ独立した行にて行います。 構造体の名前の位置を、あなたの判断で読み易いように、 タブ 1 個または 2 個を使用して揃えてください。 少なくとも 90% のメンバの名前を揃えるのに十分な場合には、 1 つだけのタブを使用するべきです。 非常に長い型の後の名前は、単一の空白で区切られるべきです。 .Pp 重要な構造体は、それが使用されるファイルの先頭で宣言されるか、 複数のソースファイルで使用される場合は別のヘッダファイルで宣言されるべきです。 構造体がヘッダファイルで宣言されている場合には、 それら構造体の使用は、宣言とは分けられるべきで、かつ .Ic "extern であるべきです。 .Bd -literal struct foo { struct foo *next; /* 使用中の foo のリスト */ struct mumble amumble; /* mumble のコメント */ int bar; /* コメントを揃えようとしています */ struct verylongtypename *baz; /* タブ 2 個には収まりません */ }; struct foo *foohead; /* グローバルな foo リストの先頭 */ .Ed .Pp 可能な時には必ず、あなた自身でリストを操作するのではなく、 .Xr queue 3 マクロを使用してください。 従って、前の例をより良く書くと次のようになります。 .Bd -literal #include struct foo { LIST_ENTRY(foo) link; /* foo リストにキューマクロを使用 */ struct mumble amumble; /* mumble のコメント */ int bar; /* コメントを揃えようとしています */ struct verylongtypename *baz; /* タブ 2 個には収まりません */ }; LIST_HEAD(, foo) foohead; /* グローバルな foo リストの先頭 */ .Ed .Pp 構造体の型に typedef を使用する事は避けてください。 -使用してしまうと、 -構造体へのポインタを不透明 (opaque) に使用することが、 -アプリケーションにとって不可能となります。 -通常の struct タグを使用すると、これが可能となり、かつ有益です。 +typedef は、その下位にある型を適切に隠さないので、問題となり得ます。 +例えば、typedef が構造体そのものであるのか、構造体へのポインタであるのか、 +あなたが知る必要があります。 +更に、typedef は正確に 1 度だけ宣言しなければなりませんが、 +不完全な構造体型は必要な回数だけ宣言可能です。 +typedef はスタンドアロンなヘッダファイル中で使用することが困難です。 +typedef を定義するヘッダは、この typedef を使用するヘッダの前に +インクルードするか、この typedef を使用するヘッダによってインクルード +する必要があります (これは名前空間の汚染となります)。 +さもなければ、typedef を得るための裏口が必要となってしまいます。 +.Pp 規約が .Ic typedef を要求する場合には、その名前を構造体タグに一致させます。 標準 C または .Tn POSIX によって明示されたものを除いては、 .Dq Li _t で終る typedef を避けてください。 .Bd -literal /* 構造体名と typedef を一致させます */ typedef struct bar { int level; } BAR; typedef int foo; /* これは foo です */ typedef const long baz; /* これは baz です */ .Ed .Pp 全ての関数はどこかでプロトタイプされます。 .Pp 私的な関数 (すなわち、他のどこでも使用されない関数など) の関数プロトタイプは、 最初のソースモジュールの先頭に置かれます。 単一のソースモジュールにローカルな関数は、 .Ic static で宣言されるべきです。 .Pp カーネルの別の部分から使用される関数は、 関連のあるインクルードファイルの中でプロトタイプされます。 関数プロトタイプは、異なる順序の使用を強制する理由がない場合には、 なるべくアルファベット順の論理的な順序で整列されるべきです。 .Pp 複数のモジュールでローカルに使用される関数は、 .Qq Pa extern.h 等の分離したヘッダファイルの中に置かれます。 .Pp .Dv __P マクロは使用しません。 .Pp ファイルの 50% かそれ以上を巻き込んだ修正の場合は、 一般にコードは .Dq 新しいコード とみなすことができます。 これは既存のコードの慣例を破り、 現在の .Nm ガイドラインを使用するのに十分です。 .Pp カーネルはパラメータの型に関連付けられた名前を持ちます。 例えば、カーネル内でこのように使用します。 .Bd -literal void function(int fd); .Ed .Pp ユーザランドのアプリケーションに対して見えるヘッダファイルの中では、 可視のプロトタイプは、 型を伴った .Dq 保護された (アンダスコアで開始する) 名前を使用するか、 型だけで名前を使用しないかのどちらかが必要です。 保護された名前の使用がより望ましいです。 例えば、このように使用します。 .Bd -literal void function(int); .Ed .Pp または .Bd -literal void function(int _fd); .Ed .Pp プロトタイプは関数名の行揃えを行なうために、タブの後に追加のスペース文字を 置いても構いません。 .Bd -literal static char *function(int _arg, const char *_arg2, struct foo *_arg3, struct bar *_arg4); static void usage(void); /* * 全ての主要なルーチンはそれが何をするのかを簡潔に記述した * コメントを持つべきです。"main" ルーチンの前のコメントは * そのプログラムが何をするのかを記述するべきです。 */ int main(int argc, char *argv[]) { char *ep; long num; int ch; .Ed .Pp 一貫性のために、オプションの解析には .Xr getopt 3 が使用されるべきです。 .Xr getopt 3 呼び出しと .Ic switch 文では、オプションをソートすべきですが、 .Ic switch 文のカスケードの一部の場合は例外です。 .Ic switch 文のカスケード要素は .Li FALLTHROUGH コメントを持つべきです。 数値の引数は精度をチェックされるべきです。 到達できないコードは .Li NOTREACHED コメントを持つべきです。 .Bd -literal while ((ch = getopt(argc, argv, "abn:")) != -1) switch (ch) { /* switch をインデント */ case 'a': /* case はインデントしない */ aflag = 1; /* FALLTHROUGH */ case 'b': bflag = 1; break; case 'n': num = strtol(optarg, &ep, 10); if (num <= 0 || *ep != '\e0') { warnx("illegal number, -n argument -- %s", optarg); usage(); } break; case '?': default: usage(); /* NOTREACHED */ } argc -= optind; argv += optind; .Ed .Pp 予約語 .Pq Ic if , while , for , return , switch の後にスペースを入れます。 何も伴わないか、ただ 1 つの文を伴う制御文は、ブレース .Ql ( \&{ および .Ql \&} ) を使用しません。 1 つの文が 複数行である文の場合には、これは許されます。 無限ループは .Ic while ではなく .Ic for で行ないます。 .Bd -literal for (p = buf; *p != '\e0'; ++p) ; /* 何もなし */ for (;;) stmt; for (;;) { z = a + really + long + statement + that + needs + two + lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines; } for (;;) { if (cond) stmt; } if (val != NULL) val = realloc(val, newsize); .Ed .Pp .Ic for ループの各部は空のまま残しても構いません。 異常に複雑なルーチンでない限りは、ブロックの中に宣言を置いてはなりません。 .Bd -literal for (; cnt < 15; cnt++) { stmt1; stmt2; } .Ed .Pp インデントは 8 文字のタブです。 第 2 レベルのインデントは 4 文字のスペースです。 長い分を折り返す必要がある場合、オペレータを行末に置きます。 .Bd -literal while (cnt < 20 && this_variable_name_is_too_long && ep != NULL) z = a + really + long + statement + that + needs + two + lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines; .Ed .Pp 空白文字を行末に追加してはいけません。 また、インデントを形成するためには、タブとその後にスペースのみを使用します。 タブが生み出す以上のスペースや、タブの前のスペースは使用しません。 .Pp ブレースの終了と開始は .Ic else と同じ行に置かれます。 必要でないブレースは省いても構いません。 .Bd -literal if (test) stmt; else if (bar) { stmt; stmt; } else stmt; .Ed .Pp 関数名の後はスペースを空けません。 コンマの後にはスペースを持ちます。 .Ql \&( または .Ql \&[ の後ろまたは .Ql \&] または .Ql \&) の前にはスペースを空けません。 .Bd -literal error = function(a1, a2); if (error != 0) exit(error); .Ed .Pp 単項演算子はスペースを要求しませんが、二項演算子は要求します。 優先順位が要求する場合または文が括弧なしでは混乱する場合以外は、 括弧は使用しません。 他人はあなたよりも混乱しやすいかもしれないということを覚えておいてください。 あなたは以下を理解できますか? .Bd -literal a = b->c[0] + ~d == (e || f) || g && h ? i : j >> 1; k = !(l & FLAGS); .Ed .Pp 成功時には 0 で、または .Xr sysexits 3 にあらかじめ定義してある値で exit するべきです。 .Bd -literal exit(EX_OK); /* * "Exit 0 on success." (成功時は 0 で終了) * の様に明白なコメントは避けてください */ } .Ed .Pp 関数の型は、関数自身に先行する行にあるべきです。 関数の本体の開始のブレースは、単独で 1 行であるべきです。 .Bd -literal static char * function(int a1, int a2, float fl, int a4) { .Ed .Pp 関数の中で変数を宣言する時には、サイズ順に、次にアルファベット順に ソートして宣言します。 1 行に複数の宣言は可能です。 行が溢れる場合は、型の予約語を再度使用します。 .Pp 宣言時に変数を初期化することによってコードを 不明瞭にしない様に注意してください。 この機能は良く考えて使用してください。 初期化に関数呼び出しを使用しないでください。 .Bd -literal struct foo one, *two; double three; int *four, five; char *six, seven, eight, nine, ten, eleven, twelve; four = myfunction(); .Ed .Pp 他の関数の内部で関数を宣言しないでください。 ANSI C によると、このような宣言は、宣言のネスティングによらず、 ファイルスコープになります。 ローカルスコープに見えるものの中にファイルの宣言を隠すことは好ましくなく、 良いコンパイラは苦情を言います。 .Pp キャストと .Ic sizeof 演算子の後にはスペースを続けません。 この規則は .Xr indent 1 が理解しないことに注意してください。 .Ic sizeof は常に括弧をつけて書かれます。 冗長な括弧の規則は .Fn sizeof var の事例には適用されません。 .Pp .Dv NULL は、好まれるヌルポインタ定数です。 コンパイラが型を知っている文脈、例えば代入では、 .Vt ( "type *" ) Ns 0 または .Vt ( "type *" ) Ns Dv NULL の代わりに、 .Dv NULL を使用します。 他の文脈では、特に全ての関数の引数では、 .Vt ( "type *" ) Ns Dv NULL を使用します。 (関数のプロトタイプがスコープ外かもしれない場合に、 キャストはいろいろな引数にとって必須で、その他の引数にとっても必要です。) ポインタは .Dv NULL と比較します。例えば、 .Bd -literal !(p = f()) .Ed .Pp ではなく、このように使います。 .Bd -literal (p = f()) == NULL .Ed .Pp 真理値ではない場合、テストには .Ic \&! を使用しないでください。 例えば、下記のように使います。 .Bd -literal if (*p == '\e0') .Ed .Pp 下記のようには使いません。 .Bd -literal if (!*p) .Ed .Pp .Vt "void *" を返すルーチンでは、 戻り値をどのポインタ型にもキャストしてはなりません。 .Pp .Ic return 文の値は括弧で囲まれているべきです。 .Pp .Xr err 3 または .Xr warn 3 を使用し、勝手に作らないでください。 .Bd -literal if ((four = malloc(sizeof(struct foo))) == NULL) err(1, (char *)NULL); if ((six = (int *)overflow()) == NULL) errx(1, "number overflowed"); return (eight); } .Ed .Pp 古いスタイルの関数宣言はこのようになっています。 .Bd -literal static char * function(a1, a2, fl, a4) int a1, a2; /* int 型も宣言します、デフォルトにしないこと */ float fl; /* double と float の違いに気を付けてください */ int a4; /* 出てきた順に宣言します */ { .Ed .Pp あなたが明確に K&R との互換性を必要とする場合以外は、 ANSI の関数宣言を使用してください。 長いパラメータリストの折り返しには、 4 個の空白による通常のインデントを付けます。 .Pp 可変個数の引数はこのようにします。 .Bd -literal #include void vaf(const char *fmt, ...) { va_list ap; va_start(ap, fmt); STUFF; va_end(ap); /* void 型の関数に return は不要です */ } static void usage() { /* 関数がローカル変数を持たない場合、空行をいれます */ .Ed .Pp .Xr fputs 3 , .Xr puts 3 , .Xr putchar 3 等ではなく、 .Xr printf 3 を使用してください。 これは速くて大抵はきれいで、言うまでもなくつまらないバグを避けます。 .Pp 使用法 (usage) の文はマニュアルページの .Sx SYNOPSIS (書式) の様であるべきです。 使用法の文は、次の構造であるべきです: .Bl -enum .It オペランドの無いオプションが、最初にアルファベット順に、 1 組の大括弧 .Ql ( \&[ と .Ql \&] ) でくくられます。 .It オプションとそのオペランドがこれもアルファベット順に続き、 それぞれのオプションとその引数を 1 組の大括弧でくくります。 .It 必須の引数 (もしあれば) が続き、 コマンドラインで指定されるべき順で一覧されます。 .It 最後に、 すべての任意の引数が指定されるべき順で、 すべて大括弧の中に一覧されます。 .El .Pp 縦棒 .Pq Ql \&| は、 .Dq 二者択一 のオプションまたは引数を分割し、 同時に使用するオプションと引数は、単一の大括弧でくくります。 .Bd -literal -offset 4n "usage: f [-aDde] [-b b_arg] [-m m_arg] req1 req2 [opt1 [opt2]]\en" "usage: f [-a | -b] [-c [-dEe] [-n number]]\en" .Ed .Bd -literal (void)fprintf(stderr, "usage: f [-ab]\en"); exit(EX_USAGE); } .Ed .Pp マニュアルページのオプション記述は、 純粋なアルファベット順であるべきであることに注意してください。 つまり、オプションが引数を取るか否かに関わらないということです。 アルファベット順は、前述の大文字小文字の順序を考慮に入れるべきです。 .Pp 新しい中心的なカーネルのコードは、適度に .Nm ガイドに従うべきです。 サードパーティが保守するモジュールやデバイスドライバのためのガイドラインは より緩やかですが、最低限内部的には彼らの一貫したスタイルであるべきです。 .Pp ソースリポジトリの文体の変更 (空白文字の変更を含む) は困難で、 正当な理由なしには避けるべきです。 リポジトリの中のおおよそ KNF .Nm に適合しているコードは、この適合から離れてはなりません。 .Pp 可能な時にはいつでも、 コードはコードチェッカ (例えば、 .Xr lint 1 または .Nm gcc Fl Wall ) を 通過し、発生する警告は最小限となるべきです。 .Sh 関連項目 .Xr indent 1 , .Xr lint 1 , .Xr err 3 , .Xr sysexits 3 , .Xr warn 3 , .Xr style.Makefile 5 .Sh 歴史 このページは .Bx 4.4 Lite2 リリースの .Pa src/admin/style/style ファイルに大きく基づいていて、 現在の実装と .Fx プロジェクトの要望を反映して、頻繁に更新しています。