diff --git a/ja_JP.eucJP/man/man1/cvs.1 b/ja_JP.eucJP/man/man1/cvs.1 index 582aef2bb9..12618fa4b4 100644 --- a/ja_JP.eucJP/man/man1/cvs.1 +++ b/ja_JP.eucJP/man/man1/cvs.1 @@ -1,2179 +1,2179 @@ .\" %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 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/ee.1 b/ja_JP.eucJP/man/man1/ee.1 index 7bc96e31cf..efb041eeb6 100644 --- a/ja_JP.eucJP/man/man1/ee.1 +++ b/ja_JP.eucJP/man/man1/ee.1 @@ -1,593 +1,593 @@ .\" .\" %FreeBSD: src/usr.bin/ee/ee.1,v 1.15 2003/04/30 19:18:50 schweikh Exp % .\" .\" $FreeBSD$ .Dd August 30, 1995 .Dt EE 1 .Os .Sh 名称 .Nm ee .Nd 簡単エディタ .Sh 書式 .Nm ee .Op Fl eih .Op +# .Op Ar .Nm ree .Op Fl eih .Op +# .Op Ar .Sh 解説 .Nm ユーティリティはシンプルなスクリーンエディタで、 端末の下部にプロンプトがあるか、 (端末中央の箱の中に) メニューがあるとき以外は、 常にテキスト挿入モードになっています。 .Nm ree ユーティリティは .Nm と同じものですが、指定されたファイルの編集しかできない (ファィル操作やシェル を使うことができない) ように機能が制限されています。 .Pp .Nm を正常に動作させるためには、使用する端末のタイプに合わせて、環境変数 .Ev TERM を正しく設定しなければなりません。例えば、 .Tn HP 700/92 端末の場合は、 .Ev TERM 変数を "70092" に設定する必要があります。 更に詳しい情報が必要な場合は、システム管理者にお尋ねください。 .Pp 下記のオプションが使用可能です: .Bl -tag -width indent .It Fl e タブからスペースへの展開を禁止します。 .It Fl i 端末上部に情報ウィンドウを表示しません。 .It Fl h ウィンドウとメニューの縁の強調表示を止めます (一部の端末で 表示速度が向上します)。 .It Sy +# スタート時のカーソルを行番号 '#' で指定される行に置きます。 .El -.Ss "コントルールキー" +.Ss "コントロールキー" テキストの挿入以外の操作では、コントロールキー ( .Li Control キーは "^" で表示され、例えば ^a のように、 アルファベットキーと組み合わせて使われます) や、 キーボード上にあるファンクションキー ( .Em "Next Page" , .Em "Prev Page" , 矢印キー等) を使わなければなりません。 .Pp すべての端末がファンクションキーを持っているわけではありませんから、 .Nm ではコントロールキーに割り当てられた基本的なカーソル移動は、 キーボードに装備された、より直感的なキーでも扱えるようにしてあります。例えば、 カーソルの上方移動は、上向き矢印キーと .Em ^u のいずれでも可能です。 .Bl -tag -width indent .It ^a 挿入文字を ASCII の 10 進数で指定。 .It ^b テキストの終わりに移動。 .It ^c コマンド入力。 .It ^d カーソルを下に移動。 .It ^e 検索文字列を入力。 .It ^f 最後に削除した文字の復元。 .It ^g 行の先頭に移動。 .It ^h バックスペース。 .It ^i タブ。 .It ^j 改行を挿入。 .It ^k カーソル上の文字を消去。 .It ^l カーソルを左に移動。 .It ^m 改行を挿入 .It ^n 次ページに移動。 .It ^o 行末に移動。 .It ^p 前ページに移動。 .It ^r カーソルを右に移動。 .It ^t テキスト先頭に移動。 .It ^u カーソルを上に移動。 .It ^v 最後に削除した単語を復元。 .It ^w カーソル位置以降の単語を削除。 .It ^x 文字列検索。 .It ^y カーソル位置から行末まで削除。 .It ^z 最後に削除した行の復元。 .It ^[ (ESC) メニュー表示。 .El .Ss "EMACS キーモード" 多くのシェルは (カーソル移動その他の編集操作で) Emacs モードを 用意していますから、それらのキー割当に慣れた利用者のために、 いくつかのキー割当が別途用意されています。これは .Em 設定 メニューないしは初期化ファイル (下記を参照) から利用することができ、 その内容は次のとおりです: .Bl -tag -width indent .It ^a 行の先頭に移動。 .It ^b 1 文字後退。 .It ^c コマンド入力。 .It ^d カーソル位置の文字を消去。 .It ^e 行末に移動。 .It ^f 1 文字前進。 .It ^g 1 ページ戻る。 .It ^h バックスペース。 .It ^i タブ。 .It ^j 最後に削除した文字の復元。 .It ^k 行の削除。 .It ^l 最後に削除した行の復元。 .It ^m 改行の挿入。 .It ^n 次行に移動。 .It ^o 挿入文字を ASCII の 10 進数で指定。 .It ^p 前行に戻る。 .It ^r 最後に削除した後の復元。 .It ^t テキストの先頭に移動。 .It ^u テキストの最後に移動。 .It ^v 次ページに移動。 .It ^w カーソル以降の単語を削除。 .It ^y 検索文字列の入力。 .It ^z 次の単語。 .It ^[ (ESC) メニュー表示。 .El .Ss "ファンクションキー" .Bl -tag -width indent .It Next Page 次ページに移動。 .It Prev Page 前ページに移動。 .It Delete Char カーソル位置の文字を消去。 .It Delete Line カーソル位置から行末まで消去。 .It Insert line カーソル位置に改行を挿入。 .It Arrow keys 表示された方向にカーソルを移動。 .El .Ss コマンド ある種の操作では単一のキー操作で得られる以上の情報を必要とします。 基本的な操作のほとんどには、 .Tn ESC キーで表示されるメニューが用意されていますが、 それらに加え、いくつかの操作は、コマンド入力 (^c) に続いて 下記のうち一つをタイプすることで実行できます。 .Bl -tag -width indent .It ! Ns Ar cmd シェルを使って .Ar cmd を実行。 .It 0-9 指定された行番号に移動。 .It case 文字列検察で大文字と小文字を区別。 .It character カーソル位置の文字の ASCII 値を表示。 .It exit 編集したテキストを保存して終了。 .It expand タブをスペースに展開。 .It file ファイル名を表示。 .It help ヘルプ画面を表示。 .It line 現在行の行番号を表示。 .It nocase 文字列検索で大文字と小文字を区別しない (デフォルト)。 .It noexpand TAB キーが押されたとき、タブをスペースに展開しない。 .It quit テキストに加えられた変更を保存せずに終了。 .It read Ar file 指定されたファイル .Ar file を読み込む。 .It write Ar file 指定されたファイル .Ar file にテキストを書き込む。 .El .Ss "メニュー操作" .Em escape キー (存在しない場合は .Em ^[ ) を押すとメニューがでてきます。 メニューの中で escape キーを押すと、何もしないでメニューから抜け出すことが できます。上向き矢印と下向き矢印ないしは、上なら .Em ^u 下なら .Em ^d で希望する項目に移動して、 .Em return キーを押せば、その処理が実行されます。 .Pp メニュー項目の左側の文字のキーを押すと、そのメニューエントリを 選択することになります。 .Pp .Nm のメインメニューは次のとおりです: .Bl -tag -width indent .It leave editor 終了。 変更されている場合は、変更後のテキストを保存するかどうかの問い合わせ メニューが出ます。 .It help ヘルプ。 すべてのキー操作とコマンドを含むヘルプ画面を表示。 .It file operations ファイル操作。 ファイルの読み込み、書き込み、保存に加え、 編集内容の印刷コマンドへの送信メニュー ( .Sx "ファイルによる ee の初期化" を参照)。 .It redraw screen 画面再描画。 画面が乱れたとき画面を再描画するための手段。 .It settings 設定。 現在の操作モードと右マージンを表示。特定の項目上で return キーを押すと、 その値を変更できます。 このメニューから抜ける場合は .Em escape キーを押します。(下記の .Sx モード を参照。) .It search 検索。 新しい検索文字列ないしは既に設定した検索文字列で検索するためのメニュー。 .It miscellaneous その他。 現在の段落の整形、シェルコマンドの実行、編集中のテキストのスペルチェック を行うためのメニュー。 .El .Ss "段落整形" .Nm の段落 (paragraph) は、下記のいずれかで囲まれた部分を意味します: .Bl -bullet -width indent .It ファイルの先頭と終わり。 .It 文字を含まない行、ないしは、スペースとタブのみの行。 .It ピリオド ('.') か 大なり記号 ('>') で始まる行。 .El .Pp 段落整形を行う方法としては、メニューの .Em 段落整形(format paragraph) を選択して明示的に行う方法と、段落の自動整形を行うように .Nm を設定する方法の二つがあります。 自動モードはメニューからでも、初期化ファイルからでも設定可能です。 .Pp .Nm のテキスト操作には、自由形式 (free-form)、マージン (margins)、 自動整形 (automatic formatting) の3つの状態があります: .Pp 「自由形式」はプログラミングのような仕事に最適で、行の長さの制限がなく、 整形も行われません。 .Pp 「マージン」を使うと、右マージン (これは .Em 設定 (settings) メニューで指定しますが、 デフォルトは端末の右縁になっています) を越えていないかどうかを気にせずに テキストをタイプすることができます。 このモードでは .Em 段落整形 (format paragraph) メニュー項目が動作します。 .Pp 「自動整形」はワードプロセッサのようなふるまいをします。 ユーザがテキストを入力する一方で、 空白文字が入力されるかテキストを削除するたびに、 .Nm は段落全体が端末の幅を越えないように調整します。 自動整形を使う場合は、マージンも有効にしておかなければなりません。 .Ss モード .Nm そのものは「モードなし」(modeless) エディタ (常にテキスト挿入モードに なっています) ですが、その動作の中には次のようなモードをもつものもあります: .Bl -tag -width indent .It タブ拡張 タブ文字として挿入するか、空白文字に置換するかを決めます。 .It 大文字と小文字の区別 文字列検索では、大文字と小文字を区別することもできますし、 同一視させることもできます。 .It マージン監視 行の長さを右マージンまでに制限することもできますし、 無限に長くすることもできます。 .It 段落の自動整形 テキストの入力中、うまく画面の幅に収まるように、 エディタに調整させることができます。 .It 8 ビット文字 8 ビット文字をそのまま表示させるか、 その値を山括弧で囲んで表示 ("<220>" 等) させるかの切り替えです。 .It 情報ウィンドウ 実行可能なキー操作を表示するウィンドウを出すか出さないかを選択します。 .It emacs キー割り当て コントロールキーの割り当てを emacs 方式にするかどうかを決めます。 .It 16 ビット文字 16 ビット文字を 1 個の 16 ビット量として扱うのか、2 個の 8 ビット量として 扱うのかを切り替えます。 主として、Chinese Big 5 コードセットで動作します。 .El .Pp これらのモードは初期化ファイル (下記を参照) とメニュー (上記を参照) の いずれでも設定可能です。 .Ss "スペルチェック" .Nm でテキストに含まれる単語のスペルをチェックする方法には、 伝統的な .Xr spell 1 コマンドを使う方法と、オプションの .Nm ispell コマンドを使う方法の二つがあります。 .Pp .Nm spell を使う場合は、認識できない単語はファイルの先頭に置かれます。 .Nm ispell の場合は、ファィルをいったんディスクに書き出し、 .Nm ispell にそのファイルを処理させてから、 .Nm ispell が書き換えたファイルを再度読み込みます。 .Ss "編集内容の印刷" メニューの中に編集内容を印刷する項目があります。 .Nm ユーティリティは初期化コマンドの .Em printcommand (下記の .Sx "ファイルによる ee の初期化" を参照) で指定されたコマンドに編集中のテキストをパイプで転送します。 デフォルトでは .Xr lp 1 コマンドに転送します。 .Pp .Em printcommand で指定されたコマンドは、標準入力からテキストを読み込むものでなければ なりません。詳細はシステム管理者に聞いてください。 .Ss "シェルの操作" .Em その他 (miscellaneous) のメニューで .Em シェルコマンド (shell command) を選ぶか、 .Em command: プロンプトで感嘆符 ("!") に続けて実行したいコマンドを書くことで、 .Nm の中からシェルにコマンドを実行させることができます。さらに、"!' の前に 「大なり記号」(">") を書くことで、編集バッファの内容をシェルコマンドに リダイレクトすることができます。 同様に、感嘆符の前に「小なり記号」("<") を書くと、 シェルコマンドの実行結果を編集バッファに取り込みます。 これらを同時に指定することで、シェルコマンドに出力した後、コマンドの 実行結果を読み直すことも可能です。 従って、エディタで編集中の単語のリストをソートしたい場合は、 コマンド入力で次のようにタイプすることができます: .Dl >" のように山括弧で囲まれた数値 で表示します)。 .It 16bit 16 ビット文字を扱います。 .It no16bit 16 ビット文字を扱いません。 .It emacs emacs のキー割り当てにします。 .It noemacs emacs のキー割り当てをやめます。 .El .Ss "エディタの設定の保存" .Em settings メニューからこのエントリを使用すると、 ユーザは現在のエディタの設定 (前記 .Sx "ファイルによる ee の初期化" 参照) を現在のディレクトリもしくはユーザのホームディレクトリのファイル .Pa .init.ee に保存できます。 既に存在するファイル .Pa .init.ee は .Pa .init.ee.old にリネームされます。 .Sh 警告 (原文) .\" こういう部分は日本語訳により細かなニュアンスが変わって問題になる .\" かもしれないので、原文のままにしてあります。 sakai@jp.freebsd.org 1997.6.19 THIS MATERIAL IS PROVIDED "AS IS". THERE ARE NO WARRANTIES OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Neither Hewlett-Packard nor Hugh Mahon shall be liable for errors contained herein, nor for incidental or consequential damages in connection with the furnishing, performance or use of this material. Neither Hewlett-Packard nor Hugh Mahon assumes any responsibility for the use or reliability of this software or documentation. This software and documentation is totally UNSUPPORTED. There is no support contract available. Hewlett-Packard has done NO Quality Assurance on ANY of the program or documentation. You may find the quality of the materials inferior to supported materials. .Pp Always make a copy of files that cannot be easily reproduced before editing. Save files early, and save often. .Pp (上記段落の日本語訳 −参考−) .br このプログラムはこのままの状態 (AS IS) で供給されるもので、実用性や特定用途 に対する適合性を含む、いかなる保証もありません。Hewlett-Packard と Hugh Mahon のいずれも、このプログラムの間違い、あるいは、設置や使用に付随ないしは結果と して生ずるいかなる問題についても責任を負いません。Hewlett-Packard と Hugh Mahon のいずれも、このプログラムとドキュメントの信頼性に対する責任を負いませ ん。このプログラムとドキュメントに対するサポートはありませんし、サポートの窓 口もありません。Hewlett-Packard はプログラムとドキュメントの品質検査行ってい ません。サポートのある製品にくらべて品質が劣る可能性もあります。 .Pp 編集前の状態に戻すのが困難なファイルについては、常にコピーを残してください。 早めにファイルに保存し、小刻みに保存操作を行ってください。 .Ss "国際コードセットのサポート" .Nm ユーティリティは 8 ビット文字コード (8 ビットクリーン) または Chinese Big-5 コードセットをサポートしています (他のマルチバイトコードセットも動作するかもしれませんが、 Big-5 が動作する理由は、2 バイト文字は画面上で 2 桁を占めるためです)。 .Sh 警告 低速システムでは、段落自動整形は極端に遅くなります。 .Sh 関連ファイル .Bl -tag -width /usr/share/misc/init.ee -compact .It Pa /usr/share/misc/init.ee .It Pa $HOME/.init.ee .It Pa .init.ee .El .Sh 作者 ソフトウェア .Nm は .An Hugh Mahon が開発しました。 .Pp .\" 以下の部分も原文を残し、和訳併記としてあります。 .\" sakai@jp.freebsd.org 1997.6.19 This software and documentation contains proprietary information which is protected by copyright. All rights are reserved. .Pp (上記段落の日本語訳 −参考−) .br このプログラムとドキュメントは著作権法により保護されており、 すべての権利は著作者が有します。 .Pp Copyright (c) 1990, 1991, 1992, 1993, 1995, 1996 Hugh Mahon. .Sh "関連項目" .Xr ispell 1 , .Xr lpr 1 , .Xr spell 1 , .Xr termcap 5 , .Xr terminfo 5 , .Xr environ 7 .Sh 日本語マニュアル 平林浩一 (kh@mogami-wire.co.jp) による ee 日本語化キットに含まれている 日本語化 ee の日本語マニュアルをベースに、 酒井淳嗣 (sakai@jp.freebsd.org) が一部修正。 diff --git a/ja_JP.eucJP/man/man1/fdread.1 b/ja_JP.eucJP/man/man1/fdread.1 index b6403e728f..13a83c6ef2 100644 --- a/ja_JP.eucJP/man/man1/fdread.1 +++ b/ja_JP.eucJP/man/man1/fdread.1 @@ -1,219 +1,219 @@ .\" .\" Copyright (c) 2001 Joerg Wunsch .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" %FreeBSD: src/usr.sbin/fdread/fdread.1,v 1.5 2002/04/20 12:26:15 charnier Exp % .\" .\" $FreeBSD$ .Dd May 14, 2001 .Os .Dt FDREAD 1 .Sh 名称 .Nm fdread .Nd フロッピディスクの読み取り .Sh 書式 .Nm .Op Fl qr .Op Fl d Ar device .Op Fl f Ar fillbyte .Op Fl o Ar file .Nm .Op Fl d Ar device .Fl I Ar numsects .Op Fl t Ar trackno .Sh 解説 .Nm ユーティリティはフロッピディスクを読みます。 トラックサイズに基いて効果的なリードのブロック化が行われ、 バッドブロックとなるものに対してはエラー回復を有効化できます。 .Pp .Nm ユーティリティはフロッピメディア全体を読み、 対応する出力ファイルにその内容を書きます。 .Xr dd 1 のような他のツールとは違い、 単一ブロック読み取りより効果的なブロックサイズを .Nm は自動的に使用します (通常は 1 度に 1 トラック分のデータ) が、 入出力エラー発生時には単一フロッピセクタの読み取りに変更し、 正当なデータをなるべく多く取得しようとします。 .Nm の動作中は、フロッピエラーに関するカーネルエラー報告はオフにし、 コンソールや syslog がカーネルエラーメッセージで溢れないようします。 .Pp .Nm ユーティリティは次のオプションを受け付けます: .Bl -tag -width indent .It Fl q 静寂モードをオンにします。 デフォルトでは、デバイスのメディアパラメータが標準エラー出力に書かれ、 それまでに読まれたおよそのキロバイト数が示され、 出力中で回復されたデータの位置に関する情報を含むエラーの詳細が表示されます。 静寂モードでは、これらのメッセージは生成されません。 .It Fl r 回復モードを有効にします。 デフォルトでは、 .Xr dd 1 のように、 .Nm は最初の回復できない読み取りエラーで停止します。 しかし回復モードでは、次の 2 つのいずれかの回復動作が行われます: .Bl -bullet .It エラーがデータフィールドの CRC エラーの場合、 カーネルはそのエラーを無視し、ともかくデータは出力ファイルに転送されます。 .Bf -emphasis 出力ファイル中に誤ったデータが含まれてしまうということです! .Ef それでもこれが、実施可能な最良の回復動作です。 .It 他のエラーは本当に致命的であり (通常、FDC がセクタ ID フィールドを見付け られないというものです)、埋め草バイトのダミーブロックが出力ファイルに 含まれます。 .El .Pp 静寂モードでない限り、行われた動作とエラーの出力ファイルでの位置が、 表示されます。 .It Fl d Ar device 入力フロッピデバイスを指定します。 デフォルトは .Pa /dev/fd0 です。 パラメータ .Ar device は、正しいフロッピディスクデバイスであることが必要です。 .It Fl f Ar fillbyte 回復モードにおいて、出力ファイル中のダミーブロックに使われる、 埋め草バイトの値。 デフォルトは .Ql 0xf0 (ニーモニック: .Dq foo ) です。 値の指定には、通常の C 言語表現の基数指定が使用可能です。 .It Fl o Ar file 出力ファイルが .Ar file であると指定します。 デフォルトでは、データは標準出力へ書かれます。 .It Fl I Ar numsects .Ar numsects 個のセクタ ID フィールドを読み、それらの内容を標準出力へ書きます。 各セクタ ID フィールドは、 シリンダ番号 .Pq Ql C 、ヘッド番号 .Pq Ql H 、レコード番号 (セクタ番号は 1 から開始) .Pq Ql R 、 .Em セクタシフト値 (0 = 128 バイト、1 = 256 バイト、2 = 512 バイト、3 = 1024 バイト) に対し、記録値を含みます。 .Fl I は、 .Fl d Ar device と .Fl t Ar trackno を除き、他のすべてのオプションと排他です。 .It Fl t Ar trackno セクタ ID フィールドを読み取るトラック番号 (シリンダ番号 * ヘッド数 + ヘッド番号) を指定します。 .Fl I Ar numsects オプションとの組み合わせだけが許されています。 .El .Sh 関連ファイル .Bl -tag -width /dev/fd0 .It Pa /dev/fd0 読み取り用のデフォルトデバイス。 .El .Sh 診断 .Nm ユーティリティは .Xr sysexits 3 に従って終了値を設定します。 回復モードでは、処理中にエラーが発生すると、終了値に .Dv EX_IOERR を設定します (静寂モードにおいても)。 .Pp 静寂モードでない場合、エラーに出会うと、フロッピディスクコントローラ (FDC) の状態が表示され、これに続いて、PC 環境で発生しうるほとんどの一般的な エラーに対してはこの数値を人が読める形式に変換したテキスト表現が 表示されます。 .Pp FDC エラー状態には 3 個の FDC 状態レジスタ .Ql ST0 , .Ql ST1 , .Ql ST2 と、エラー位置 (それぞれ物理的なシリンダ・ヘッダ・セクタ番号と、 .Dq セクタシフト値 ) が含まれます。 状態レジスタの内容の詳細については、 NE767 や互換チップのマニュアルを参照してください。 .Pp その後、エラーが回復可能と思われるのかを判断するために、 FDC の状態が検査されます。 エラー回復が要求されている場合、出力ファイル中の不良ブロックの位置が (16 進数の) 範囲で表示されます。 また、転送エラーの合計を示すサマリ行が、終了前に表示されます。 .Sh 関連項目 .Xr dd 1 , .Xr fdwrite 1 , .Xr sysexits 3 , .Xr fdc 4 , .Xr fdcontrol 8 .Sh 歴史 .Nm ユーティリティが書かれた主な理由は、 不良メディアから少なくともいくらかのデータを回復することと、 フロッピ操作に有用だが覚え難い多数のオプションを使って .Xr dd 1 を起動しなくても良いようにすることです。 .Pp このコマンドは .Fx 5.0 に登場しました。 .Sh 作者 プログラムとマニュアルページを .An J\(:org Wunsch が書きました。 .Sh バグ 同じ FDC 上の第 2 のフロッピドライブに同時にトラフィックがあると、 エラー回復が無意味になってしまいます。 何故なら、読み取りエラー後に取得した FDC 状態が、 本当にその誤りを含む転送のものであることを保証できないからです。 よって、 .Fl r オプションの使用が信頼できるのは、 そのコントローラのアクティブデバイスが .Ar device のみの場合だけです。 .Pp .Xr fdc 4 のフロッピエラー再試行機構を越えた試行は行われませんので、 複数回試行することで不良セクタをエラー無しで読めるかどうかは調べません。 .Pp -フロッピメディ上で (もはや) 使用できないビットを +フロッピメディア上で (もはや) 使用できないビットを .Nm が推定することはできません。 diff --git a/ja_JP.eucJP/man/man1/pkg_delete.1 b/ja_JP.eucJP/man/man1/pkg_delete.1 index 45b4e9767b..1cb671a4e4 100644 --- a/ja_JP.eucJP/man/man1/pkg_delete.1 +++ b/ja_JP.eucJP/man/man1/pkg_delete.1 @@ -1,288 +1,288 @@ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_delete.1 .\" %FreeBSD: src/usr.sbin/pkg_install/delete/pkg_delete.1,v 1.28 2002/04/20 12:26:57 charnier Exp % .\" .\" $FreeBSD$ .\" .Dd November 25, 1994 .Dt PKG_DELETE 1 .Os .Sh 名称 .Nm pkg_delete .Nd インストールされているソフトウェア配布 package を削除するプログラム .Sh 書式 .Nm .Op Fl dDfGinrvx .Op Fl p Ar prefix .Ar pkg-name ... .Nm .Fl a .Op Ar flags .Sh 解説 .Nm コマンドは、 .Xr pkg_add 1 コマンドにより既にインストールされている package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) を削除するために 用いられます。 .Sh 警告 .Bf -emphasis .Nm コマンドは package ファイルにより提供されるスクリプトやプログラムを 実行することがあるので、あなたのシステムは、危険な配布ファイルを 作る極悪人からの .Dq トロイの木馬 や他の巧妙な攻撃などを受ける 可能性があります。 .Pp package ファイルを提供する人物の能力と身元を確認するとよいでしょう。 より進んだ安全のためには、package 記録ディレクトリ .Pa ( /var/db/pkg// ) にあるすべての package 制御ファイルを確認します。 +INSTALL, +POST-INSTALL, +DEINSTALL, +POST-DEINSTALL, +REQUIRE, +MTREE_DIRS の各ファイルには 特に注意を払い、+CONTENTS ファイルの .Cm @cwd , .Cm @mode (setuid をチェック), .Cm @dirrm , .Cm @exec , .Cm @unexec ディレクティブを調べてください。 インストールされている package 制御ファイルを調べるのには .Xr pkg_info 1 コマンドも使えます。 .Ef .Sh オプション 以下のコマンドラインオプションが提供されています: .Bl -tag -width indent .It Ar pkg-name ... 指定された package がアンインストールされます。 .It Fl a 無条件に、現在インストール済の package をすべて削除します。 .It Fl i 各 package の削除前に、確認を求めます。 これは、標準入力デバイスが端末かどうかに関係ありません。 .It Fl v 饒舌な出力に切り替えます。 .It Fl D package にアンインストール用スクリプトが存在しても、それを実行しません。 .It Fl n 実際にはアンインストールは行わず、アンインストールした場合に実行されるであろう ステップを表示します。 .It Fl p Ar prefix インストールされている package が明示的にディレクトリを設定していない 場合に、削除するファイルの前に .Ar prefix をディレクトリとして付け加えます。 ほとんどの package では、このディレクトリは .Xr pkg_add 1 によってインストールされた場所に自動的に設定されます。 .It Fl d ファイル削除により生じた空のディレクトリを削除します。 デフォルトでは、package の内容一覧に明示的に羅列された ファイル/ディレクトリ (通常のファイル/ディレクトリか .Cm @dirrm ディレクトリを伴ったもの) のみがアンインストール時に削除されます。 このオプションにより .Nm は package を削除することにより生ずる空ディレクトリも削除するように なります。 .It Fl f 依存関係が記録されていたり、アンインストールスクリプトや require スクリプトが失敗した場合でも、強制的に package を削除します。 .It Fl G 削除対象の package の選択時に、 .Ar pkg-name 中のシェルグロブパターンの展開を試みません (デフォルトでは、 .Nm は .Ar pkg-name 中のシェルグロブパターンを自動的に展開します)。 .It Fl x .Ar pkg-name を正規表現として扱い、名前がこの正規表現にマッチする全 package を削除します。 複数の正規表現を指定可能であす。 この場合、リスト中の少なくとも 1 個の正規表現にマッチする全 package が 削除されます。 .It Fl r 再帰的な削除。 指定した package に加え、これに依存する package もまた削除します。 .El .Sh 技術詳細 .Nm ユーティリティは名前の通りに働きます。 .Nm は .Pa /var/db/pkg/ に記録されたインストール済みの package をチェックし、 package の内容を削除し、最後に package の記録も削除します。 環境変数 .Ev PKG_DBDIR が設定されている場合には、前記パス .Pa /var/db/pkg/ にこれが優先します。 .Pp ある package が他のインストール済みの package から必要とされている場合、 .Nm はそれらの依存している package の一覧を表示し、package の削除は 行いません (ただし .Fl f オプションが指定された場合を除く)。 .Pp package が .Ar require ファイル( .Xr pkg_create 1 を参照)を含んでいる場合、まずそのファイルを以下の引数を付けて実行し、 アンインストール作業を続けるべきかどうかを確かめます: .Bd -ragged -offset indent -compact .Cm require .Ar .Ar DEINSTALL .Ed (ここで .Ar pkg-name は問題としている package の名前であり、 .Ar DEINSTALL はこれがアンインストールであることを示すキーワードです) 終了ステータスが 0 以外の場合には、 .Fl f オプションが指定されていない限りアンインストールを中断します。 .Pp package に .Cm deinstall スクリプトが含まれている場合、 そのスクリプトはファイルが削除される前に実行されます。 .Nm はオリジナルの package に含まれていたファイルを削除することしか 関知しないので、 package のインストールにまつわる雑多な事項をきれいに片づけるのは この .Cm deinstall スクリプトの責任です。 .\" since all ... 以下はなくてもどうにか意味が通じるだろう、という .\" のとうまい訳が見つからなかったので加えていません。 .\" By kuriyama@opt.phys.waseda.ac.jp (Jun 3 1997) .\" --> 訳してみました。By sakai@jp.freebsd.org (Jun 9, 1997) .Nm deinstall スクリプトは以下の引数を付けて実行されます: .Bd -ragged -offset indent -compact .Cm script .Ar .Ar DEINSTALL .Ed ここで、 .Ar pkg-name は対象の package 名であり、 .Ar DEINSTALL はこれがアンインストール前のフェーズであることを示すキーワードです。 .Pp .Sy 注: ( .Fl k および .Fl K のフラグを .Xr pkg_create 1 に使用することにより) package 作成時に deinstall と post-deinstall のスクリプトが別々に与えられる場合には、 .Ar DEINSTALL キーワードは登場しません。 .Pp .Cm post-deinstall スクリプトが package に対して存在する場合、 全ファイルが削除された .Cm 後 で実行されます。 package のインストールに際する更なる細々としたことを片づけ、 (願わくば) package インストール前と同じシステム状態に戻すことは、 このスクリプトの責任です。 .Pp .Nm post-deinstall は次のように呼び出されます: .Bd -ragged -offset indent -compact .Cm script .Ar .Ar POST-DEINSTALL .Ed ここで .Ar pkg-name は対象の package 名であり、 .Ar POST-DEINSTALL はこれがアンインストール後のフェーズであることを示すキーワードです。 .Pp .Sy 注: ( .Cm Fl k および .Cm Fl K のフラグを .Xr pkg_create 1 に使用することにより) package 作成時に deinstall と post-deinstall のスクリプトが別々に与えられる場合には、 .Ar POST-DEINSTALL キーワードは登場しません。 .Pp .Ar POST-DEINSTALL および .Ar PRE-DEINSTALL のキーワードを渡す背景には、 インストールと削除のすべてを扱うことができる単一のプログラム/スクリプト を記述可能にすることがあります。 .Pp しかしながら、この方法はメンテナンスがかなり難しく、 インストールおよびアンインストールの各局面を扱う別々のスクリプトを持つ方法 には及ばないことが、経験により分かりました。 .Pp すべてのスクリプトは環境変数 .Ev PKG_PREFIX にインストール時の prefix が設定された状態で実行されます (上記の .Fl p オプションを参照)。 このことにより、package の作者は .Nm や .Cm pkg_add の .Fl p フラグにより package がインストールされるディレクトリが 変更されても、きちんとふるまうスクリプトを書くことが可能になります。 .Sh 環境変数 環境変数 .Ev PKG_DBDIR は、インストール済み package の代替データベースを指定します。 .Sh 関連ファイル .Bl -tag -width /var/db/pkg -compact .It Pa /var/db/pkg -インストール済み package のデーバベースのデフォルトの位置。 +インストール済み package のデータベースのデフォルトの位置。 .El .Sh 関連項目 .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_info 1 , .Xr pkg_version 1 , .Xr mktemp 3 , .Xr mtree 8 .Sh 作者 .An Jordan Hubbard .Sh 協力者 .An John Kohl Aq jtk@rational.com .Sh バグ まだあるはずです。 diff --git a/ja_JP.eucJP/man/man1/stty.1 b/ja_JP.eucJP/man/man1/stty.1 index 81465bf182..f011b9baa6 100644 --- a/ja_JP.eucJP/man/man1/stty.1 +++ b/ja_JP.eucJP/man/man1/stty.1 @@ -1,538 +1,538 @@ .\" Copyright (c) 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)stty.1 8.4 (Berkeley) 4/18/94 .\" %FreeBSD: src/bin/stty/stty.1,v 1.27 2001/11/29 15:46:54 green Exp % .\" .\" $FreeBSD$ .Dd April 18, 1994 .Dt STTY 1 .Os .Sh 名称 .Nm stty .Nd 端末の設定を行なう .Sh 書式 .Nm .Op Fl a | Fl e | Fl g .Op Fl f Ar file .Op operands .Sh 解説 .Nm は、標準入力になっているデバイスの端末属性を設定もしくは表示する プログラムです。オプションや引数を指定しなかった場合、 設定されている属性の一部や、デフォルト値と違う値が設定されている属性 を表示します。 指定した場合は、指定された引数に従って端末の状態を変更します。 ターミナルの種類によっては相互に排他的な引数の組み合わせもあります。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width indent .It Fl a .St -p1003.2 に規定された形式で、 現在の端末属性をすべて標準出力に出力します。 .It Fl e .Bx の伝統的な ``all'' や ``everything'' の形式で、 現在の端末属性をすべて標準出力に出力します。 .It Fl f 標準入力ではなく、 .Ar file で指定された端末を使います。 このファイルは .Fn open 関数に .Dv O_NONBLOCK フラグを付けてオープンされるので、端末の設定や表示をブロックされず に行なうことができます。 .It Fl g 端末変更後に端末の状態を復帰させられるように、 .Nm の引数として指定できる形式で、現在の端末属性を標準出力に 出力します。 この形式は .St -p1003.2 に規定されています。 .El .Pp 端末属性の設定には、以下の引数が使えます。 .Ss 制御モード: .Pp 制御モードのフラグは端末と関連するハードウェアの属性 に影響します。これは termios 構造体の c_cflag に相当します。 .Bl -tag -width Fl .It Cm parenb Pq Fl parenb パリティ生成および検出を有効 (無効) にします。 .It Cm parodd Pq Fl parodd 奇数パリティ (偶数パリティ) にします。 .It Cm cs5 cs6 cs7 cs8 可能なら 1 文字のビット幅を設定します。 .It Ar number 可能なら、端末のボーレートを .Ar number に設定します。0 を指定した場合は、モデムの制御を切ります。 .It Cm ispeed Ar number 可能なら、入力のボーレートを .Ar number に設定します。0 を設定した場合は、出力のボーレートと同じ値に設定されます。 .It Cm ospeed Ar number 可能なら、出力のボーレートを .Ar number に設定します。0 を設定した場合は、モデムの制御を切ります。 .It Cm speed Ar number .Cm ispeed と .Cm ospeed の両方を .Ar number に設定します。 .It Cm hupcl Pq Fl hupcl そのデバイスをオープンしているプロセスがクローズ処理を行ったとき、ほか にこのデバイスをオープンしているプロセスがなければ、モデムの制御機能に より切断処理を行います (行いません)。 .It Cm hup Pq Fl hup hupcl .Pq Fl hupcl と同じです。 .It Cm cstopb Pq Fl cstopb ストップビットを 2 ビット (1 ビット) にします。 .It Cm cread Pq Fl cread 受話器を有効 (無効) にします。 .It Cm clocal Pq Fl clocal 回線に対してモデム制御が不要である (必要である) とみなします。 .It Cm crtscts Pq Fl crtscts RTS/CTS フロー制御を有効 (無効) にします。 .El .Ss 入力モード: これは termios 構造体の c_iflag に相当します。 .Bl -tag -width Fl .It Cm ignbrk Pq Fl ignbrk 入力のブレーク信号を無視します (無視しません)。 .It Cm brkint Pq Fl brkint ブレークを受信したとき、シグナル .Dv INTR を出します (出しません)。 .It Cm ignpar Pq Fl ignpar パリティエラーを無視します (無視しません)。 .It Cm parmrk Pq Fl parmrk パリティエラーをマークします (マークしません)。 .It Cm inpck Pq Fl inpck 入力のパリティチェックを有効 (無効) にします。 .It Cm istrip Pq Fl istrip 入力した文字の 8 ビット目を捨てて 7 ビットにします (8 ビット目 を捨てません)。 .It Cm inlcr Pq Fl inlcr 入力の .Dv NL を .Dv CR に変換します (変換しません)。 .It Cm igncr Pq Fl igncr 入力の .Dv CR を無視します (無視しません)。 .It Cm icrnl Pq Fl icrnl 入力の .Dv CR を .Dv NL に変換します (変換しません)。 .It Cm ixon Pq Fl ixon 制御コードの .Dv START/STOP を使った出力フロー制御を有効 (無効) にします。 システムから端末への出力において、システムが .Dv STOP を受信したら出力を中断し、 .Dv START を受信するか、 .Cm ixany が設定されている場合は何らかの文字を受信すると、 出力を再開するようになります。 .It Cm ixoff Pq Fl ixoff システムの入力キューが 空/満杯に近づいたら、それぞれ .Dv START/STOP を出力するようにします (近づいても、出力しません)。 .It Cm ixany Pq Fl ixany どんな文字が来ても ( .Dv START が来た場合のみ) 出力を再開します。 .It Cm imaxbel Pq Fl imaxbel システムによって入力キューの .Dv MAX_INPUT (一般的には 255) の最大文字数が規定されており、 .Cm imaxbel がセットされていると、入力キューの制限を越えた入力に対して ASCII BEL キャラクタを出力キューに送ります (端末が鳴ります)。 .Cm imaxbel がセットされていなくて入力キューが一杯になった場合、次の文字入力で すべての入力、出力キューは捨てられます。 .El .Ss 出力モード: これは termios 構造体の c_oflag に相当します。 .Bl -tag -width Fl .It Cm opost Pq Fl opost プロセス後の処理を行った上で出力をします (プロセス後の処理を行わずに出力します。 この指定をすると、他のすべての出力モードが無視されます)。 .It Cm onlcr Pq Fl onlcr 出力の .Dv NL を .Dv CR-NL に変換します (変換しません)。 .It Cm ocrnl Pq Fl ocrnl .Dv CR を .Dv NL へマップします (マップしません)。 .It Cm oxtabs Pq Fl oxtabs 出力のタブをスペースに展開します (展開しません)。 .It Cm onocr Pq Fl onocr 桁 0 において CR を出力します (出力しません)。 .It Cm onlret Pq Fl onlret 端末上で NL が CR の機能を実行します (実行しません)。 .El .Ss ローカルモード: .Pp ローカルモードのフラグ (lflags) は端末処理のさまざまな属性に影響します。 歴史的には、"local" という名前のつけられた新しいジョブコントロール機能 は Jim Kulp によって .Tn IIASA の .Tn Pdp 11/70 に実装されました。 その後このドライバは、 Evans Hall, UC Berkeley の最初の .Tn VAX 上で走りました。その際ジョブコントロールの細部は大幅に変更されましたが、 構造体の定義と名前は根本的には変わりませんでした。 lflag の 'l' の 2 つ目の解釈は、 .Ar termios 構造体の .Ar c_lflag に相当する ``line discipline flag''(行制御規則フラグ) です。 .Bl -tag -width Fl .It Cm isig Pq Fl isig 特殊な制御文字 .Dv INTR , QUIT , .Dv SUSP に対する処理を有効 (無効) にします。 .It Cm icanon Pq Fl icanon .Dv ERASE と .Dv KILL 処理による入力制御を有効 (無効) にします。 .It Cm iexten Pq Fl iexten icanon, isig, ixon で制御に使われているもの以外の特殊な 制御文字の処理を有効 (無効) にします。 .It Cm echo Pq Fl echo タイプされた文字をエコーバックします (エコーバックしません)。 .It Cm echoe Pq Fl echoe .Dv ERASE 文字の入力があった場合、可能ならディスプレイ上に見える現在の出力行の 最後の文字を消します (消しません)。 .It Cm echok Pq Fl echok .Dv KILL 文字の入力があった場合、そのあとに .Dv NL を出力します (出力しません)。 .It Cm echoke Pq Fl echoke 可能なら、 .Dv KILL 文字でディスプレイ上の現在の行を消します (消しません)。 .It Cm echonl Pq Fl echonl echo が無効になっているときでも .Dv NL 文字だけはエコーバックさせます (エコーバックしません)。 .It Cm echoctl Pq Fl echoctl .Cm echoctl をセットすると、制御文字は ^X のように表示されます。 セットしなければ、その文字自身が表示されます。 .It Cm echoprt Pq Fl echoprt プリンタ端末に対するもので、設定された場合、削除された文字を ``\\'' と ``/'' で囲んで逆方向にエコーします。 設定されていなければ、この機能を無効にします。 .It Cm noflsh Pq Fl noflsh .Dv INTR , QUIT , SUSP のあとのフラッシュ処理を無効 (有効) にします。 .It Cm tostop Pq Fl tostop バックグラウンドジョブが出力を行おうとした時に .Dv SIGTTOU を送ります (送りません)。これによってバックグラウンドジョブは画面出力を 行おうとすると停止するようになります。 .It Cm altwerase Pq Fl altwerase .Dv WERASE 文字を処理するときに、別の単語消去アルゴリズムを用います (用いません)。 このアルゴリズムは英数字とアンダースコアの並びを単語とみなします。 また、分類上直前の文字をスキップします (便宜的に、直前の文字を .Dv ERASE 一文字で消すことができるようにするため)。 .It Cm mdmbuf Pq Fl mdmbuf セットされると、CD 信号の検出によるフロー制御の出力を行います。 セットされなければ、CD 信号の低下に対してエラーを出力します (キャリア信号は .Dv CLOCAL フラグによっても無視されません)。 .It Cm flusho Pq Fl flusho 出力を捨てます (捨てません)。 .It Cm pendin Pq Fl pendin 入力を非標準 (non-canonical) モードから標準 (canonical) モードへ切り換えた あと、入力を保留します (保留しません)。読み込みが保留されたとき、または更に入力があったときに 再入力されます。 .El .Ss 制御文字: .Bl -tag -width Fl .It Ar control-character Ar string .Ar string に .Ar control-character を割り当てます。もし string が 1 文字だけなら、その文字に .Ar control-character が割り当てられます。 string が 2 文字の "^-" もしくは "undef" の場合は .Ar control-character は無効にされます (つまり、 .Pf { Dv _POSIX_VDISABLE Ns } になります)。 .Pp 認識される制御文字: .Bd -ragged -offset indent .Bl -column character Subscript .It 制御文字 Ta 記号 Ta 説明 .It _________ Ta _________ Ta _______________ .It eof Ta Tn VEOF Ta EOF No character .It eol Ta Tn VEOL Ta EOL No character .It eol2 Ta Tn VEOL2 Ta EOL2 No character .It erase Ta Tn VERASE Ta ERASE No character .It erase2 Ta Tn VERASE2 Ta ERASE2 No character .It werase Ta Tn VWERASE Ta WERASE No character .It intr Ta Tn VINTR Ta INTR No character .It kill Ta Tn VKILL Ta KILL No character .It quit Ta Tn VQUIT Ta QUIT No character .It susp Ta Tn VSUSP Ta SUSP No character .It start Ta Tn VSTART Ta START No character .It stop Ta Tn VSTOP Ta STOP No character .It dsusp Ta Tn VDSUSP Ta DSUSP No character .It lnext Ta Tn VLNEXT Ta LNEXT No character .It reprint Ta Tn VREPRINT Ta REPRINT No character .It status Ta Tn VSTATUS Ta STATUS No character .El .Ed .It Cm min Ar number .It Cm time Ar number min あるいは time の値を .Ar number にします。 .Dv MIN と .Dv TIME は非標準的なモード (-icanon) での入力処理に使われます。 .El .Ss 複合モード: .Pp .Bl -tag -width Fl .It Ar saved settings 現在の端末属性を .Fl g オプションによって保存された属性にします。 .It Cm evenp No or Cm parity parenb と cs7 を有効にし、parodd を無効にします。 .It Cm oddp parenb, cs7, parodd を有効にします。 .It Fl parity , evenp , oddp parenb を無効にして、cs8 をセットします。 .It Cm \&nl Pq Fl \&nl icrnl を有効 (無効) にします。 それに加えて、-nl は inlcr と igncr を解除します。 .It Cm ek .Dv ERASE , .Dv ERASE2 , .Dv KILL に割り当てられている文字をシステムのデフォルトのものに戻します。 .It Cm sane すべてのモードを対話的な端末利用に妥当な値にリセットします。 .It Cm tty 行制御規則を標準端末の規則 .Dv TTYDISC に設定します。 .It Cm crt Pq Fl crt CRT ディスプレイ用に適合するモードをすべて有効 (無効) にします。 .It Cm kerninfo Pq Fl kerninfo .Dv STATUS 文字 (通常 ^T に設定されています) に結びつけられた システムステータス行の生成を有効 (無効) にします。 このステータス行はシステムの負荷、現在のコマンドの名前、プロセス ID、 プロセスが待っているイベント (あるいはプロセスの状態)、 ユーザ時間とシステム時間、CPU 利用率、現在のメモリ使用状況 からなっています。 .It Cm columns Ar number 端末の大きさを .Ar number 列とします。 .It Cm cols Ar number .Cm columns の別名定義です。 .It Cm rows Ar number 端末の大きさを .Ar number 行とします。 .It Cm dec Digital Equipment Corporation systems の端末設定にします。 ( .Dv ERASE , .Dv KILL , .Dv INTR をそれぞれ ^?, ^U, ^Cとし、 .Dv ixany を無効、 .Dv crt を有効にします) .It Cm extproc Pq Fl extproc 設定されると、一部の端末処理が端末機器ないし pty に接続されたリモート側 で行なわれるようになります。 .It Cm raw Pq Fl raw 端末モードを全く入出力処理を行なわないモードにします。 これを無効にすると、端末を入出力処理を行なう普通のモードに戻します。 注意すべきなのは、端末用のドライバは単一の .Dv RAW ビットを持つわけではないので、 .Cm raw モードに設定する前にどのようなフラグが設定してあったのかを知ることがで きないということです。つまり、 .Cm raw モードを解除するだけでは、 .Cm raw モード設定前の状態には戻りません。 端末を raw 状態にして、それを正確に元に戻すためには、以下のような シェルコマンドを使うことを薦めます。 .Bd -literal save_state=$(stty -g) stty raw \&... stty "$save_state" .Ed .It Cm size 端末の大きさを行、列の順に並べた 1 行で表示します。 .El .Ss 互換モード: .Pp 以下のモードは旧バージョンの stty コマンドとの互換性保持のために残され ています。 .Bl -tag -width Fl .It Cm all -縦覧式でコントール文字を表示する以外は、 +縦覧式でコントロール文字を表示する以外は、 .Cm stty Fl a と同様に端末設定を表示します。 .It Cm everything .Cm all と同じです。 .It Cm cooked .Cm sane と同じです。 .It Cm cbreak .Cm brkint , ixon , imaxbel , opost , .Cm isig , iexten , .Fl icanon を有効にします。 解除した場合は .Cm sane と同じです。 .It Cm new .Cm tty と同じです。 .It Cm old .Cm tty と同じです。 .It Cm newcrt Pq Fl newcrt .Cm crt と同じです。 .It Cm pass8 .Cm parity の反対です。 .It Cm tandem Pq Fl tandem .Cm ixoff と同じです。 .It Cm decctlq Pq Fl decctlq .Cm ixany の反対です。 .It Cm crterase Pq Fl crterase .Cm echoe と同じです。 .It Cm crtbs Pq Fl crtbs .Cm echoe と同じです。 .It Cm crtkill Pq Fl crtkill .Cm echoke と同じです。 .It Cm ctlecho Pq Fl ctlecho .Cm echoctl と同じです。 .It Cm prterase Pq Fl prterase .Cm echoprt と同じです。 .It Cm litout Pq Fl litout .Cm opost の反対です。 .It Cm tabs Pq Fl tabs .Cm oxtabs の反対です。 .It Cm brk Ar value 制御文字 .Cm eol と同じです。 .It Cm flush Ar value 制御文字 .Cm discard と同じです。 .It Cm rprnt Ar value 制御文字 .Cm reprint と同じです。 .El .Sh 診断 .Ex -std .Sh 関連項目 .Xr termios 4 .Sh 規格 .Nm ユーティリティは、 .St -p1003.2 互換です。 .Fl e と .Fl f のフラグは規格を拡張しています。 diff --git a/ja_JP.eucJP/man/man3/glob.3 b/ja_JP.eucJP/man/man3/glob.3 index c57292f953..1ea9287224 100644 --- a/ja_JP.eucJP/man/man3/glob.3 +++ b/ja_JP.eucJP/man/man3/glob.3 @@ -1,474 +1,474 @@ .\" Copyright (c) 1989, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Guido van Rossum. .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)glob.3 8.3 (Berkeley) 4/16/94 .\" %FreeBSD: src/lib/libc/gen/glob.3,v 1.7.2.9 2001/12/14 18:33:51 ru Exp % .\" .\" $FreeBSD$ .Dd April 16, 1994 .Dt GLOB 3 .Os .Sh 名称 .Nm glob , .Nm globfree .Sh ライブラリ .Lb libc .Nd パターンに適合するパス名を生成 .Sh 書式 .Fd #include .Ft int .Fn glob "const char *pattern" "int flags" "int (*errfunc)(const char *, int)" "glob_t *pglob" .Ft void .Fn globfree "glob_t *pglob" .Sh 解説 .Fn glob 関数は、シェルによって使用されるファイル名パターンの、適合規則を 実装するパス名ジェネレータです。 .Pp インクルードファイル .Pa glob.h は、少なくとも次に示すフィールドが含まれる 構造体タイプ .Fa glob_t を定義します。 .Bd -literal typedef struct { int gl_pathc; /* これまでの合計パスカウント */ int gl_matchc; /* パターンに適合するパスカウント */ int gl_offs; /* gl_pathvの最初に予約されるフィールド */ int gl_flags; /* 返されるフラグ */ char **gl_pathv; /* パターンに適合するパスのリスト */ } glob_t; .Ed .Pp 引数 .Fa pattern は展開するパス名パターンのポインタです。 .Fn glob 引数はその パターンに対して、アクセス可能なすべてのパス名を突き合わせ (マッチング)、 適合するパス名リストを作成します。パス名にアクセスするため .Fn glob は、パス の各構成要素 (最終要素を除く) での検索許可と、特殊キャラクタ .Ql * , .Ql ?\& または .Ql \&[ などを含む .Fa pattern の、すべてのファイル名構成要素ディレクトリの読み 込み許可を要求します。 .Pp .Fn glob 引数は、適合パス名の数を .Fa gl_pathc フィールドに、パス名ポインタリスト のポインタを .Fa gl_pathv フィールドにそれぞれ保存します。最終パス名の後の 最初のポインタは .Dv NULL です。パターンに適合するパス名が皆無だった場合、 返される適合パスの数は 0 に設定されます。 .Pp .Fa pglob で示される構造体は呼び出し元が作成します。 .Fa gl_pathv で示されるメモリ などほかの空間は、 .Fn glob 関数が必要に応じて割り振ります。 .Pp 引数 .Fa flags は、 .Fn glob の挙動を変更するために使用します。 .Fa flags の値は、 .Pa glob.h で定義されている次に示す値のそれぞれビットごとの包括的 .Tn OR です。 .Bl -tag -width GLOB_ALTDIRFUNC .It Dv GLOB_APPEND 生成されたパス名を、 .Fn glob に対する前の呼び出し (単数または複数) で生成されたパス名に追加します。 .Fa gl_pathc の値は、今回の呼び出しおよび前の呼び出し (単数または複数) での、 適合パス名の合計になります。前の呼び出し (単数または複数) によって 返されたパス名に、今回生成されたパス名が追加されますが、 マージ (併合) はされません。前の呼び出しと今回の呼び出しのあいだに、 呼び出し元は .Dv GLOB_DOOFFS フラグを変えてはいけません。同様に、 .Dv GLOB_DOOFFS 設定時の .Fa gl_offs の値も変えてはいけません。 (もちろん) .Fa pglob に影響する .Fn globfree の呼び出しも行ってはなりません。 .It Dv GLOB_DOOFFS .Fa gl_offs フィールドを有効にします。このフラグを設定すると、 .Fa gl_pathv フィールドの前に付加する .Dv NULL ポインタの数が、 .Fa gl_offs によって指定できます。言い換えれば .Fa gl_pathv が .Fa gl_offs の .Dv NULL ポインタを示し、その後に .Fa gl_pathc パス名ポインタが続き、さらにその後に .Dv NULL ポインタが続きます。 .It Dv GLOB_ERR オープンまたは読み込みできないディレクトリに出会った場合、 .Fn glob をリターンさせます。通常は、 .Fn glob が適合パス名検索を続行します。 .It Dv GLOB_MARK .Fa pattern に適合するディレクトリの各パス名に、スラッシュを 付加します。 .It Dv GLOB_NOCHECK .Fa pattern に適合するパス名が皆無だった場合、 .Fn glob は .Fa pattern だけで構成されるリストを返します。パス名の合計数は 1 に、適合 パス名の数は 0 に設定されます。 .Dv GLOB_QUOTE が設定されていれば、返されるパターンにその効果が反映されます。 .It Dv GLOB_NOSORT デフォルトでパス名は .Tn ASCII 昇順にソートされます。このフラグはそうしたソート、すなわち高速化 .Fn glob 機能を妨げます。 .El .Pp 次に示す値も .Fa flags に含まれることはありますが、これらは .St -p1003.2 の非標準拡張です。 .Bl -tag -width GLOB_ALTDIRFUNC .It Dv GLOB_ALTDIRFUNC pglob 構造体の次に示す追加フィールドを、ディレクトリのオープン、読み込み、 クローズおよび、それらディレクトリで見付かったパス名のステータス情報取得に 使用する、代替 glob 関数で初期化します。 .Bd -literal void *(*gl_opendir)(const char * name); struct dirent *(*gl_readdir)(void *); void (*gl_closedir)(void *); int (*gl_lstat)(const char *name, struct stat *st); int (*gl_stat)(const char *name, struct stat *st); .Ed .Pp テープに保存されたディレクトリから、 .Xr restore 8 のようなプログラムによって グロッビング (ファイル名展開) できるように、 この拡張が用意されています。 .It Dv GLOB_BRACE .Xr csh 1 のような .Ql {pat,pat,...} ストリングを展開するために、 パターンストリングを前処理します。パターン .Ql {} は歴史的理由 (および .Xr find 1 パターンの入力を容易にするために、 .Xr csh 1 が同じことをするという理由) から、未展開のまま残されます。 .It Dv GLOB_MAGCHAR パターンに .Fn glob 用キャラクタが含まれていると、 .Fn glob 関数によってこのフラグが設定されます。詳細は .Fa gl_matchc 構造体メンバの、用法についての説明を参照してください。 .It Dv GLOB_NOMAGIC .Dv GLOB_NOCHECK と同じですが、特殊キャラクタ ``*'', ``?'' または ``['' がなにも含まれていない場合に、このフラグはただ .Fa pattern を後に付加するだけです。 .Dv GLOB_NOMAGIC は、歴史的な .Xr csh 1 によるグロッビング (ファイル名展開) 挙動の実装を単純化するために 用意されています。その他の目的ではたぶん、 どんな場合も使用すべきではありません。 .It Dv GLOB_QUOTE バックスラッシュ .Pq Ql \e キャラクタを引用符として 有効にします。パターンにバックスラッシュとそれに続くキャラクタがある場合、 そのキャラクタを特別に解釈することなくそのままのキャラクタとして 置換します。 .It Dv GLOB_TILDE .Ql ~ で始まるパターンを、ユーザ名のホームディレクトリに 展開します。 .It Dv GLOB_LIMIT 返されるパス名の合計数を、 .Fa gl_matchc で指定される数に制限します (デフォルトは .Dv ARG_MAX ) です。 非常に大きな数のマッチに展開される .Ql */../*/.. のような長いストリングのパターンによって、 サービス拒否攻撃に無理矢理されてしまい得るプログラムに対し、 本オプションを設定すべきです。 .El .Pp 検索においてオープンまたは読み込みできないディレクトリに出会った場合、 .Fa errfunc が .Dv NULL でなければ、 .Fn glob は .Fa (*errfunc)(path, errno) を呼び出します。 これは非直観的な場合があります。 .Ql */Makefile のようなパターンでは、 .Ql foo が -ディレクトでなくても +ディレクトリでなくても .Ql foo/Makefile の .Xr stat 2 が試みられて、 .Fa errfunc を 呼び出す結果になるからです。 .Er ENOENT および .Er ENOTDIR のテストによって、 エラールーチンはこの動作を抑制することができますが、 それでもなおこうした場合には .Dv GLOB_ERR フラグがただちに .Fn glob をリターンさせます。 .Pp .Fa errfunc から非 0 が返ると .Fn glob は操作を停止して、すでに適合したすべての パスを反映するために、 .Fa gl_pathc および .Fa gl_pathv を設定した後で .Dv GLOB_ABEND を返します。 エラーが起こり .Fa flags に .Dv GLOB_ERR が設定されていれば、 .Fa errfunc を呼び出した場合その戻り値に関係なく、同じことが起こります。 .Dv GLOB_ERR を未設定で、 .Fa errfunc が .Dv NULL かまたは .Fa errfunc が 0 を返した場合、エラーは無視されます。 .Pp .Fn globfree 関数は、前の .Fn glob 呼び出しによって .Fa pglob と 関連した、すべての空間を解放します。 .Sh 戻り値 無事に完了した場合 .Fn glob は 0 を返します。さらに、 .Fa pglob の各フィールド には次に示す値が含まれます。 .Bl -tag -width GLOB_NOCHECK .It Fa gl_pathc これまでの適合パス名の合計数が含まれます。 .Dv GLOB_APPEND が指定されている場合は、前の .Fn glob 起動で得られたほかの適合パス名の数も、 この合計には含れます。 .It Fa gl_matchc 現在の .Fn glob 起動によって得られた適合パス名の数が 含まれます。 .It Fa gl_flags .Fa pattern に特殊キャラクタ ``*'', ``?'', または ``['' のどれかが含まれている場合は、 .Dv GLOB_MAGCHAR が設定したビットを持つ .Fa flags パラメータの コピーが含まれます。特殊キャラクタが含まれていない場合、このフィールドの 内容はクリアされます。 .It Fa gl_pathv 適合パス名の .Dv NULL で終わるリストのポインタが含まれます。 ただし、もし .Fa gl_pathc が 0 ならば、 .Fa gl_pathv の内容は定義されません。 .El .Pp エラーのため終了すると .Fn glob は errno を設定して、次に示す非 0 定数の 1 つを返します。これらの定数は、インクルードファイル .Aq Pa glob.h で定義されます。 .Bl -tag -width GLOB_NOCHECK .It Dv GLOB_NOSPACE メモリ割り当ての試みが失敗しました。 もしくは .Fa errno が 0 の場合、 .Dv GLOB_LIMIT が flags に指定され、 .Fa pglob\->gl_matchc 個またはそれ以上のパターンがマッチしました。 .It Dv GLOB_ABEND エラーが発生した上に .Dv GLOB_ERR が設定されていたか、または .Fa \*(lp*errfunc\*(rp\*(lp\*(rp が非 0 を返したので、 .Fn glob はパス名の走査を停止しました。 .El .Pp 引数 .Fa pglob\->gl_pathc および .Fa pglob\->gl_pathv は依然として、上で 指定のとおりに設定されたままです。 .Sh 例 .Ql "ls -l *.c *.h" の大体の等価は、次に示すコードで取得することができます。 .Bd -literal -offset indent glob_t g; g.gl_offs = 2; glob("*.c", GLOB_DOOFFS, NULL, &g); glob("*.h", GLOB_DOOFFS | GLOB_APPEND, NULL, &g); g.gl_pathv[0] = "ls"; g.gl_pathv[1] = "-l"; execvp("ls", g.gl_pathv); .Ed .Sh 関連項目 .Xr sh 1 , .Xr fnmatch 3 , .Xr regexp 3 .Sh 規格 .Fn glob 関数には次に示す例外を除いて、 .St -p1003.2 との互換性が期待されています。例外はフラグ .Dv GLOB_ALTDIRFUNC , .Dv GLOB_BRACE , .Dv GLOB_LIMIT , .Dv GLOB_MAGCHAR , .Dv GLOB_NOMAGIC , .Dv GLOB_QUOTE , .Dv GLOB_TILDE それにフィールド .Fa gl_matchc および .Fa gl_flags などを、厳正な .Tn POSIX 適合を争うアプリケーションでは使用すべきではないということです。 .Sh 歴史 .Fn glob および .Fn globfree 関数は、 .Bx 4.4 ではじめて登場しました。 .Sh バグ .Dv MAXPATHLEN よりも長いパターンは、無検査エラーの原因となる可能性があります。 .Pp .Fn glob 引数は失敗して、ライブラリルーチン .Xr stat 2 , .Xr closedir 3 , .Xr opendir 3 , .Xr readdir 3 , .Xr malloc 3 , および .Xr free 3 用に指定したエラーのどれかに、errno を設定することがあります。 diff --git a/ja_JP.eucJP/man/man3/libalias.3 b/ja_JP.eucJP/man/man3/libalias.3 index a7ef0b14d9..67fea2d2bd 100644 --- a/ja_JP.eucJP/man/man3/libalias.3 +++ b/ja_JP.eucJP/man/man3/libalias.3 @@ -1,1051 +1,1051 @@ .\"- .\" Copyright (c) 2001 Charles Mott .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %FreeBSD: src/lib/libalias/libalias.3,v 1.23.2.11 2001/12/17 10:08:22 ru Exp % .\" .\" $FreeBSD$ .Dd April 13, 2000 .Dt LIBALIAS 3 .Os .Sh 名称 .Nm libalias -.Nd スカレードおよびネットワークアドレス変換用パケットエイリアシングライブラリ +.Nd マスカレードおよびネットワークアドレス変換用パケットエイリアシングライブラリ .Sh 書式 .In sys/types.h .In netinet/in.h .In alias.h .Pp 関数のプロトタイプは、このテキストの本文で紹介します。 .Sh 解説 .Nm ライブラリは、IP パケットのエイリアスおよびエイリアス解除用の関数群であり、 マスカレードおよびネットワークアドレス変換 (NAT) を目的としています。 .Pp 導入 このライブラリは、IP のローカルネットワークアドレスの変換 および変換処理サポート用にデザインされた関数です。 ローカルネットワークの未登録の IP アドレスから発信するパケットは、 アクセス可能な IP アドレスから来たかのように見せかけることができます。 外から入ってくるパケットに対しては、 ローカルネットワーク上の正しいマシンに送られるよう エイリアス解除されます。 .Pp パケットエイリアシングエンジンには、 ある程度の柔軟性が組み込まれています。 もっとも簡単な操作では、 ローカルネットワークアドレスとパケットエイリアスホストとの間で 多対 1 対応付けが行なわれます。 これは仮装 IP として知られていることです。 更に、ローカルアドレスとパブリックアドレスの間での 1 対 1 対応付けも実装することが可能で、 静的 NAT として知られています。 これらの間には、異なるプライベートアドレスのグループを それぞれ異なるパブリックアドレスにリンクさせることができ、 その中にははっきりした多対 1 対応もいくつか見られます。 更に、パブリックアドレスおよびポートは 固定的にプライベートアドレスおよびポートに リダイレクトさせることができます。 .Pp パケットエイリアシングエンジンは、 カーネル外部のユーザ空間で作用するように設計されており、 そのためプライベートなカーネルデータ構造へのアクセスは不要です。 ただし、ソースコードはカーネル環境に組み込むことができます。 .Sh 初期化と制御 2 つの特殊な関数、 .Fn PacketAliasInit および .Fn PacketAliasSetAddress は、 パケット操作が完了する前に呼ぶ必要があります。 また、パケットエイリアシングエンジンの操作モードに対し .Fn PacketAliasSetMode 呼び出しによりカスタマイズできます。 .Pp .Ft void .Fn PacketAliasInit "void" .Bd -ragged -offset indent この関数には引数がなく、また戻り値もありません。 内部データ構造の初期化に使用されます。 以下に示すモードビットは .Fn PacketAliasInit の呼び出し後、必ずセットされます。 これらのモードビットの意味については、後述の .Fn PacketAliasSetMode を参照してください。 .Bl -item -offset indent -compact .It .Dv PKT_ALIAS_SAME_PORTS .It .Dv PKT_ALIAS_USE_SOCKETS .It .Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE .El .Pp この関数はパケットエイリアスエンジンに対し、 常時同一の初期状態を返します。 .Fn PacketAliasSetAddress 呼び出しは、これに続いて行ないます。 また、前述したデフォルトモードビットを変更する場合は .Fn PacketAliasSetMode を呼び出します。 .Pp この関数呼び出しは、 パケット操作の前にプログラム開始段階で実行する必要があります。 .Ed .Pp .Ft void .Fn PacketAliasUninit void .Bd -ragged -offset indent この関数には引数も戻り値もなく、 内部データ構造に設定された値をクリアする場合に使用されます。 .Pp この関数はプログラムでエイリアスエンジンの使用を 停止させる場合に呼び出す必要があります。 それにより、ファイアウォールに空いた隙間を塞ぐことになります。 以前との互換性や特別なセキュリティを備えるために、本関数を .Fn PacketAliasInit が .Xr atexit 3 チェーンに付加しています。 何度呼び出しても問題はありません。 .Ed .Pp .Ft void .Fn PacketAliasSetAddress "struct in_addr addr" .Bd -ragged -offset indent この関数は、ローカル領域のネットワーク外へ パケットが発信する先のソースアドレスをセットします。 .Fn PacketAliasRedirectAddr により生成された 静的アドレス対応により上書きされない限り、 発信パケットはすべてこのアドレスに再対応付けされます。 .Pp .Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE モードビット (デフォルト操作モード) が設定されている場合、 内部的なエイリアスリンクテーブルは、 エイリアスアドレスが変更されるたび、 リセットされます。 これは一連のダイアルアップ操作の中で IP アドレス状態に関わらず、 .Xr ppp 8 のようなインタフェースに便利です。 .Pp .Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE モードビットが 0 にセットされていた場合、この関数は、 パケット間のエイリアスの動的変更に使用できます (オーバヘッドの少ない呼び出しです)。 .Pp パケット操作の前にこの関数を呼び出す必要があります。 .Ed .Pp .Ft unsigned int .Fn PacketAliasSetMode "unsigned int flags" "unsigned int mask" .Bd -ragged -offset indent この関数は、 .Fa flags 値に従ってモードビットの設定やクリアを行ないます。 .Fa mask により示されたビットだけが対象となります。 以下に示すモードビットは .Aq Pa alias.h で定義されています。 .Bl -tag -width indent .It Dv PKT_ALIAS_LOG .Pa /var/log/alias.log ファイルへのロギングを可能にします。 ログファイルには、エイリアス・リンクの作成、削除のたびに icmp、tcp、udp へのリンク回数が記録されます。 ログファイルが .Xr tail 1 により継続的に見ることができれば、 主としてデバッグ用として有効です。 .It Dv PKT_ALIAS_DENY_INCOMING このモードビットが設定されていると、 TCP 接続や UDP トランザクションに関連する 外部から着信するあらゆるパケットは、 呼び出しプログラムで無視 ( .Fn PacketAliasIn であれば .Dv PKT_ALIAS_IGNORED を返す) するための印が付けられます。 パケットのエイリアスホストや ローカルネットワークから発生した接続や トランザクションに対するレスポンスに対する影響はありません。 このモードビットは片方向のファイアウォールを実装する時に有効です。 .It Dv PKT_ALIAS_SAME_PORTS このモードビットが設定されていると、 パケットエイリアスエンジンは実際のローカルポート番号を そのままエイリアスポート番号にしようとします。 このことは (proto, alias addr, alias port, remote addr, remote port) の 5 つのパラメータのペアが一意であれば可能です。 競合が起きる場合は、このビットが設定されていても エイリアスポート番号には別の番号が選択されます。 .It Dv PKT_ALIAS_USE_SOCKETS このビットは、エイリアスホストがパケット移送時のように ネットワーク上にトラフィックを発生させる場合必ず設定します。 パケットエイリアスホストが不明なホストアドレスや 不明のポート番号 (例えば、FTP データ接続時) からの接続を待っている時は、このモードビットは、 ポートの競合が起きないように プレースホルダとしてソケットの割り当てを定義します。 接続が確立されると、 通常は 1 分ほどでソケットは閉じられます。 .It Dv PKT_ALIAS_UNREGISTERED_ONLY このビットが設定されていると、未登録のアドレス空間から生じた以外の ローカルネットワーク上のトラフィックが無視されます。 標準クラス A, B および C の未登録アドレスは次の通りです。 .Bd -literal -offset indent 10.0.0.0 -> 10.255.255.255 (Class A subnet) 172.16.0.0 -> 172.31.255.255 (Class B subnets) 192.168.0.0 -> 192.168.255.255 (Class C subnets) .Ed このオプションは、パケットエイリアスホストが 別々のインタフェースに登録済みおよび 未登録サブネットがある場合に有効です。 登録済みサブネットは完全に外部と接続しているので、 パケットエイリアスエンジンにより パケットを送り出す必要はありません。 .It Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE このモードビットが設定されており、 .Fn PacketAliasSetAddress が エイリアスアドレス変更のために呼ばれるケースでは、 パケットエイリアスエンジンの内部リンクテーブル内容がクリアされます。 この操作モードは、 ダイアルアップ間でのインタフェースアドレスを変更したり、 変更せずにおく .Xr ppp 8 リンクの場合に有効です。 このモードビットが設定されていない場合、 リンクテーブルはアドレスが変更されてもリセットされません。 .It Dv PKT_ALIAS_PUNCH_FW このオプションにより、 .Nm は、 FTP/IRC DCC 接続に対する .Xr ipfirewall 4 ベースのファイアウォールの `隙間' を作ることになります。 開けられた隙間は IP アドレスやポートと結び付いており、 別の接続に使用することはできません。 隙間はそれを使用している接続が消滅すれば除去されます。 .Nm を使用しているプログラムを強制的に終了させる (例えば kill -9) 仕組みは、フラグの状態により、 -隙間に割り当てられた全ファイアゥオール領域をクリアすることで実現されています。 +隙間に割り当てられた全ファイアウォール領域をクリアすることで実現されています。 このことはまた .Fn PacketAliasSetFWBase に対する 初期呼び出しでも起こります。 この呼び出しはフラグの設定の前に行なう必要があります。 .It Dv PKT_ALIAS_REVERSE 本オプションは、ライブラリが内向きパケットと外向きパケットを扱う方法を 反転させます。 これにより、外部インタフェースの代りに内部インタフェースを通過する パケットを食わせることができます。 .It Dv PKT_ALIAS_PROXY_ONLY 本オプションは、ライブラリが透過プロキシルールのみに従うよう指示します。 通常のパケットエイリアスは実行されません。 詳細は後述の .Fn PacketAliasProxyRule を参照してください。 .El .Ed .Pp .Ft void .Fn PacketAliasSetFWBase "unsigned int base" "unsigned int num" .Bd -ragged -offset indent ファイアウォールに ( .Dv PKT_ALIAS_PUNCH_FW フラグにより) ファイアウォールの隙間に対する領域を割り当てます。 領域は全初期化ルールに従いクリアされます。 .Ed .Sh パケット操作 パケット処理関数は、着信 (リモート -> ローカル) および発信 (ローカル -> リモート) パケットの修正に使用されます。 ネットワークインタフェース経由でのパケットの送受信は、 呼び出し側プログラムが行ないます。 .Pp .Fn PacketAliasInit および .Fn PacketAliasSetAddress とともに、 .Fn PacketAliasIn と .Fn PacketAliasOut の 2 つのパケット処理ルーチンが基本的な、 見かけの IP 実装に必要な最小機能として用意されています。 .Pp .Ft int .Fn PacketAliasIn "char *buffer" "int maxpacketsize" .Bd -ragged -offset indent リモートのマシンからローカルネットワークへの着信パケットは この関数によりエイリアス解除されます。 IP パケットは引数 .Fa buffer で指定されます。 .Fa maxpacketsize はパケットを含むデータ構造の長さを示しており、 実際のパケット長より大きくとる必要があります。 .Pp 戻りコード : .Bl -tag -width indent .It Dv PKT_ALIAS_OK パケットエイリアシング処理は成功しました。 .It Dv PKT_ALIAS_IGNORED パケットは無視され、エイリアスは解除されませんでした。 これは、プロトコルが認識されないとき、 ICMP のメッセージタイプは処理されていないか、 あるいは新たな接続についての入力パケットが 無視されたときに発生します ( .Fn PacketAliasSetMode が .Dv PKT_ALIAS_DENY_INCOMING を設定した場合)。 .It Dv PKT_ALIAS_UNRESOLVED_FRAGMENT ヘッダフラグメントが未送信のため フラグメントが解消されないときにこのコードが返されてきます。 この場合、フラグメントはヘッダフラグメントが見つかるまで .Fn PacketAliasSaveFragment により保存しておく必要があります。 .It Dv PKT_ALIAS_FOUND_HEADER_FRAGMENT パケットエイリアシング処理は成功し、 ヘッダフラグメントも見つかりました。 これは解消されていないフラグメントを、 .Fn PacketAliasGetFragment により探し、 .Fn PacketAliasFragmentIn を使って エイリアス解除する時のシグナルとなります。 .It Dv PKT_ALIAS_ERROR パケットエイリアシングエンジン内で発生した内部エラー。 .El .Ed .Pp .Ft int .Fn PacketAliasOut "char *buffer" "int maxpacketsize" .Bd -ragged -offset indent ローカルネットワークからリモートのマシンへ発信するパケットは、 この関数によりエイリアスされます。 IP パケットは引数 .Fa buffer で指定され、 .Fa maxpacketsize はパケットが取りうる最大長を示します。 IP 表現形式プロトコルは、アドレスと、修正され、 またパケット長の変更にからむ一連のデータ内のポート情報を設定します。 プロトコルのよく知られた事例としては、 FTP と IRC DDC があります。 Pp 戻りコード : .Bl -tag -width indent .It Dv PKT_ALIAS_OK パケットエイリアシング処理は成功しました。 .It Dv PKT_ALIAS_IGNORED パケットは無視され、エイリアス解除はされませんでした。 これはプロトコルが認識されないときか、あるいは ICMP メッセージタイプが処理されないときに発生します。 .It Dv PKT_ALIAS_ERROR パケットエイリアシング内で発生した内部エラー。 .El .Ed .Sh ポートとアドレスのリダイレクション このセクションで解説している関数は、 ローカルネットワーク上のマシンにおいて、 外部ネットワークから新たな着信に対するアクセスをある程度可能にします。 個々のポートは、再対応付けや 固定的なネットワークアドレスの変換を定義することができます。 .Pp .Ft struct alias_link * .Fo PacketAliasRedirectPort .Fa "struct in_addr local_addr" .Fa "u_short local_port" .Fa "struct in_addr remote_addr" .Fa "u_short remote_port" .Fa "struct in_addr alias_addr" .Fa "u_short alias_port" .Fa "u_char proto" .Fc .Bd -ragged -offset indent この関数は、所定のリモートアドレスやポートから エイリアスアドレスやポートへのトラフィックを、 指定されたローカルアドレスやポートへのリダイレクトを定義します。 パラメータ .Fa proto は .Dv IPPROTO_TCP か .Dv IPPROTO_UDP のどちらかに該当し、 .Aq Pa netinet/in.h で定義されます。 .Pp .Fa local_addr あるいは .Fa alias_addr が 0 ならば、パケットエイリアシングアドレスは .Fn PacketAliasSetAddress で設定されたものを使用します。 .Fn PacketAliasRedirectPort が .Fn PacketAliasSetAddress 呼び出し語に アドレス変更のために呼び出されても、 0 リファレンスがこの変更を記録します。 .Pp 負荷共有用にリンクが更に設定されると、 .Fa local_addr と .Fa local_port は無視され、サーバプールから動的に選択されます。 これは .Fn PacketAliasAddServer で後述されています。 .Pp .Fa remote_addr が 0 の場合、 パケットをリモートアドレスからリダイレクトします。 同様に、 .Fa remote_port が 0 の場合、リモートのポート番号から発生した パケットをリダイレクトします。 通常、リモートポート定義は 0 ですが、 ファイアウォールに対しては 0 でない リモートアドレスが有効な場合があります。 .Fn PacketAliasRedirectPort 呼び出しにより、 アドレスとポート定義が重複した場合、 最新の呼び出しが優先されます。 .Pp この関数は次いで .Fn PacketAliasRedirectDelete で使用するポインタを返します。 .Dv NULL が返された場合、関数呼び出しは正常に終了していません。 .Pp あらゆるポートアドレスは、 ネットワークアドレスのバイトオーダ表記に従っています。 これらのパラメータは .Xr htons 3 を使用して、 内部的な数値形式からネットワークバイトオーダ表記に 変換する必要があります。 アドレスもまた同様にネットワークバイトオーダ形式であり、 .Fa struct in_addr データ型で暗黙に定義されます。 .Ed .Pp .Ft struct alias_link * .Fo PacketAliasRedirectAddr .Fa "struct in_addr local_addr" .Fa "struct in_addr alias_addr" .Fc .Bd -ragged -offset indent この関数は、 .Fa alias_addr への全着信トラフィックを .Fa local_addr にリダイレクトします。同様に、 .Fa local_addr からの全発信トラフィックは .Fa alias_addr にエイリアスされます。 .Pp .Pa local_addr または .Pa alias_addr が 0 の場合、 .Fn PacketAliasSetAddress により設定された パケットエイリアシングアドレスが使用されます。 .Fn PacketAliasSetAddress が .Fn PacketAliasRedirectAddr の呼び出し後に アドレス変更のために呼び出されても、 0 リファレンスがこの変更を記録します。 .Pp 負荷共有用にリンクが更に設定されると、 .Fa local_addr は無視され、サーバプールから動的に選択されます。 これは .Fn PacketAliasAddServer で後述されています。 .Pp .Fn PacketAliasRedirectAddr に対する一連の呼び出しが 同一のエイリアシングアドレスを使用している場合、 このエイリアシングアドレスへの新たな全着信トラフィックは、 最後の関数呼び出しで作られたローカルアドレスへリダイレクトされます。 いくつかの関数呼び出しで指定されたローカルマシンからの 新たな全トラフィックは、 同一のアドレスにリダイレクトされます。 .Bd -literal -offset indent PacketAliasRedirectAddr(inet_aton("192.168.0.2"), inet_aton("141.221.254.101")); PacketAliasRedirectAddr(inet_aton("192.168.0.3"), inet_aton("141.221.254.101")); PacketAliasRedirectAddr(inet_aton("192.168.0.4"), inet_aton("141.221.254.101")); .Ed .Pp 192.168.0.2, 192.168.0.3 および 192.168.0.4 から、 .Xr telnet 1 や .Xr ftp 1 などでの発信接続は 141.221.254.101 からでてきたかのようにみえます。 141.221.254.101 への着信接続は 192.168.0.4 にリダイレクトされます。 .Pp .Fn PacketAliasRedirectPort に対する呼び出しより .Fn PacketAliasRedirectAddr で指定されたアドレス対応が必ず優先されます。 .Pp この関数は、 .Fn PacketAliasRedirectDelete が使用するポインタを返します。 .Dv NULL が返される場合、関数呼び出しは正常に終了していません。 .Ed .Pp .Ft int .Fo PacketAliasAddServer .Fa "struct alias_link *link" .Fa "struct in_addr addr" .Fa "u_short port" .Fc .Bd -ragged -offset indent 本関数は、 .Fa link を、IP Network Address Translation (RFC 2391, LSNAT) を使用した 負荷共有用に設定します。 LSNAT は次のように動作します。 クライアントが、サーバ仮想アドレスを使用してサーバへアクセスを試みます。 LSNAT ルータが、サーバプール中の 1 個のホストに対し、 要求を透過的にリダイレクトします。 ホスト選択には、実時間負荷共有アルゴリズムを使用します。 複数のセッションが同一のクライアントから開始されるかもしれません。 各セッションは、その時々のサーバプールホスト間の負荷バランスによって、 異なるホストに向けられる可能性があります。 数個の固有のサービスに対して負荷共有が望まれる場合、 LSNAT の設定により、望まれるサービスにのみ負荷共有を限定可能です。 .Pp 現在のところ、最も単純な選択アルゴリズムのみが実装されています。 この方法は、ラウンドロビンによる選択のみであり、 ホストの負荷を考慮しないものです。 .Pp まず、 .Fa link が .Fn PacketAliasRedirectPort または .Fn PacketAliasRedirectAddr により作成されます。 次に .Fn PacketAliasAddServer が複数回呼ばれ、 .Fa link のサーバプールにエントリが追加されます。 .Pp .Fn PacketAliasRedirectAddr で作成されたリンクに対し、 .Fa port 引数は無視されいかなる値、例えば htons(~0) を持ちえます。 .Pp 本関数は、成功時には 0 を返し、失敗時には -1 を返します。 .Ed .Pp .Ft void .Fn PacketAliasRedirectDelete "struct alias_link *ptr" .Bd -ragged -offset indent この関数は、 .Fn PacketAliasRedirectPort あるいは .Fn PacketAliasRedirectAddr が設定した 特定の静的リダイレクトルールを削除します。 パラメータ .Fa ptr は、いずれかのリダイレクション関数から返されてくるポインタです。 正しくないポインタが .Fn PacketAliasRedirectDelete に渡されると、 プログラムはクラッシュするか、予期せぬ動作結果となります。 そのためにこの関数の使用に際しては注意が必要です。 .Ed .Pp .Ft int .Fn PacketAliasProxyRule "const char *cmd" .Bd -ragged -offset indent 渡された .Fa cmd 文字列は、1 個以上の、語の組からなります。 各組の最初の語はトークンであり、次の語はそのトークンに適用される値です。 トークンと引数の型は次の通りです: .Bl -tag -width indent .It Cm type encode_ip_hdr | encode_tcp_stream | no_encode 透過プロキシのサポートのために、 新規終点サーバに元のアドレスとポートの情報を なんらかの方法で渡す必要があります。 .Cm encode_ip_hdr が指定された場合、追加の IP オプションとして元のアドレスとポートが渡されます。 .Cm encode_tcp_stream が指定された場合、TCP ストリーム中の最初のデータ片の中に .Dq DEST Ar IP port という書式で、元のアドレスとポートが渡されます。 .It Cm port Ar portnum 終点ポートが .Ar portnum のパケットのみがプロキシの対象となります。 .It Cm server Ar host Ns Xo .Op : Ns Ar portnum .Xc データの転送先の .Ar host と .Ar portnum を指定します。 .Ar host は、DNS ホスト名ではなく IP アドレスであることが必要です。 .Ar portnum が指定されないと、終点ポート番号は変更されません。 .Pp .Ar server の指定は、 .Cm delete コマンドが使用されない限り、必須です。 .It Cm rule Ar index 通常、各 .Fn PacketAliasProxyRule 呼び出しは、ルールの線型リストの先頭に次のルールを挿入します。 .Ar index が指定された場合、低いインデックスの全ルールがチェックされた後に、 新規ルールがチェックされます。 ルールを指定しない .Fn PacketAliasProxyRule 呼び出しは、ルールにルール 0 を割り当てます。 .It Cm delete Ar index 本トークンと引数は、他のトークンと組み合わせて使用してはなりません。 本トークンを使用すると、指定した .Ar index の既存のルールが削除されます。 .It Cm proto tcp|udp 指定すると、指定したプロトコルタイプのパケットのみがマッチします。 .It Cm src Ar IP Ns Xo .Op / Ns Ar bits .Xc 指定すると、指定した .Ar IP に始点アドレスがマッチするパケットのみがマッチします。 .Ar bits も指定すると、 .Ar IP アドレスの最初の .Ar bits ビットのみがネットワーク指定として使用され、 そのネットワークからの全 IP アドレスがマッチします。 .It Cm dst Ar IP Ns Xo .Op / Ns Ar bits .Xc 指定すると、指定した .Ar IP に終点アドレスがマッチするパケットのみがマッチします。 .Ar bits も指定すると、 .Ar IP アドレスの最初の .Ar bits ビットのみがネットワーク指定として使用され、 そのネットワークからの全 IP アドレスがマッチします。 .El .Pp 本関数は、通常、ある主のインターネットアクセスを禁止されている 内部マシンに対し、外向き接続をリダイレクトするか、 またはある種の外部マシンへのアクセスを制限します。 .Ed .Pp .Ft struct alias_link * .Fo PacketAliasRedirectProto .Fa "struct in_addr local_addr" .Fa "struct in_addr remote_addr" .Fa "struct in_addr alias_addr" .Fa "u_char proto" .Fc .Bd -ragged -offset indent 本関数は、指定したリモートアドレスからエイリアスアドレスへのプロトコル番号 .Fa proto の全パケットが、指定したローカルアドレスへリダイレクトすることを指定します。 .Pp .Fa local_addr または .Fa alias_addr が 0 の場合、 で確立したパケットエイリアスアドレスが使用されることを指定します。 .Fn PacketAliasSetAddress が .Fn PacketAliasRedirectProto の呼び出し後に アドレス変更のために呼び出されても、 0 リファレンスがこの変更を記録します。 .Pp .Fa remote_addr が 0 の場合、 全リモートホストからのパケットをリダイレクトすることを指定します。 非 0 のリモートアドレスは、ファイアウォール用途に有用な場合があります。 .Pp 2 個の .Fn PacketAliasRedirectProto 呼び出しが、アドレス指定において重なる場合、 最新の呼び出しが優先します。 .Pp 本関数は、後に .Fn PacketAliasRedirectDelete に使用可能なポインタを返します。 .Dv NULL が返される場合、関数呼び出しは正常に終了していません。 .Ed .Sh フラグメント操作 このセクションの関数は着信フラグメント操作で使用されます。 .Pp 発信フラグメントは、 .Fn PacketAliasRedirectAddr で設定した 適用可能な対応付によるアドレス変更により、 または .Fn PacketAliasSetAddress で設定した エイリアシングアドレスの省略時値により、 .Fn PacketAlaisOut 内で処理されます。 .Pp 着信フラグメントは 2 通りの方法で処理されます。 フラグメント化された IP パケットのヘッダが既に分かっている場合は、 一連のフラグメントはヘッダフラッグメントと 同じ方式で再対応付けされます。 フラグメントはヘッダが到着する前に保存され、 ヘッダフラグメントが消滅した段階で取り出されます。 .Pp .Ft int .Fn PacketAliasSaveFragment "char *ptr" .Bd -ragged -offset indent .Fn PacketAliasIn から .Dv PKT_ALIAS_UNRESOLVED_FRAGMENT 返されてくると、この関数が、 残っているフラグメントのポインタを保存するために使用できます。 .Pp 引数 .Fa ptr は .Xr malloc 3 で割り当てられたメモリブロックを 指すことが暗黙のうちに仮定されています。 フラグメントが解決されない場合、 パケットエイリアシングエンジンは タイムアウト時間経過後、自動的にメモリを解放します [実質的には、この関数は、 メモリ解放のコールバック関数が 引数として渡されるように修正しておく必要があります]。 .Pp この関数は、正常実行の場合 .Dv PKT_ALIAS_OK を返し、エラーの場合 .Dv PKT_ALIAS_ERROR を返します。 .Ed .Pp .Ft char * .Fn PacketAliasGetFragment "char *buffer" .Bd -ragged -offset indent この関数は、 .Fn PacketAliasSaveFragment で保管された フラグメントポインタの再取り出しができます。 .Fa buffer で示す IP ヘッダフラグメントは、 .Fn PacketAliasIn が .Fv PKT_ALIAS_FOUND_HEADER_FRAGMENT を返したときに指定される ヘッダフラグメントです。 フラグメントのポインタが再取り出しされると、 呼び出しプログラムによりフラグメントに 動的に割り当てられていたメモリが解放されます。 .Pp フラグメントがなくなるで .Fn PacketAliasGetFragment を続けて呼ぶことができます。 処理するフラグメントがなくなると .Dv NULL が返されてきます。 .Ed .Pp .Ft void .Fn PacketAliasFragmentIn "char *header" "char *fragment" .Bd -ragged -offset indent .Fn PacketAliasGetFragment によりフラグメントの再取得を行なうとき、 .Fn PacketAliasFragmentIn 呼び出しを実行して フラグメントのエイリアスを解除できます。 引数 .Fa header は、テンプレートとして使われているヘッダフラグメントのポインタです。 引数 .Fa fragment はエイリアス解除するパケットのポインタです。 .Ed .Sh その他の関数 .Ft void .Fn PacketAliasSetTarget "struct in_addr addr" .Bd -ragged -offset indent 既存のエイリアスリンクと関連のない 外からの着信パケットがホストマシンに到着すると、 それは .Fn PacketAliasSetTarget 呼び出しにより 指定されるアドレスへ送られます。 .Pp この関数が .Dv INADDR_NONE アドレスを引数として呼ばれた場合、 外からのあらゆる新規着信パケットは .Fn PacketAliasSetAddress で設定されるアドレスへ行きます。 .Pp この関数が .Dv INADDR_ANY アドレスを引数として呼ばれた場合、 外からのあらゆる新規着信パケットは パケット中で指定されるアドレスへ行きます。 外部のマシンが内部のマシンへ直接ルーティング可能な場合、 外部のマシンが直接内部のマシンと話すことを可能とします。 .Ed .Pp .Ft int .Fn PacketAliasCheckNewLink void .Bd -ragged -offset indent 新規のエイリアシングリンクが生成されると、 この関数は 0 以外の値を返します。 外からの着信トラフィックが順次異なるサーバへ送られるという状況下で、 この関数を .Fn PacketAliasSetTarget 呼び出しを デフォルトの目的アドレスを変更のため実行するときのトリガにできます。 .Ed .Pp .Ft u_short .Fn PacketAliasInternetChecksum "u_short *buffer" "int nbytes" .Bd -ragged -offset indent これはよそでは使うことがありませんが、 便利なユーティリティ関数です。 インターネットチェックサムを計算します。 チェックサムは、IP およびプロトコル (TCP, UDP, ICMP) 固有のヘッダのどちらでも使われています。 .Pp 引数 .Fa buffer はチェックサムを取るデータブロックを指しています。また .Fa nbytes はバイト数を与えます。 16 ビットのチェックサムフィールドは チェックサム計算の前に 0 クリアされます。 .Pp チェックサムはチェックサム自身を含めた データブロックの操作により検証することができます。 チェックサムが正しければ、 PacketAliasInternetChecksum() は 0 を返します。 .Ed .Pp .Ft int .Fn PacketUnaliasOut "char *buffer" "int maxpacketsize" .Bd -ragged -offset indent エイリアス処理済の外向きパケットは、 プライベートアドレス/ポートの情報を本関数によって復活されています。 .Fa buffer で指される IP パケットと .Fa maxpacketsize が、エラーチェックのために提供されています。 本関数は、エイリアス処理済パケットの元の IP ヘッダが 必要となる更なる処理 (例えばロギング) に使用可能です。 .Ed .Sh バグ PPTP エイリアスは、複数の内部クライアントが同一の外部サーバに 同時に接続すると動作しません。 なぜなら、PPTP は 2 つの IP アドレス間に 単一の TCP 制御接続を必要とするからです。 .Sh 作者 .An Charles Mott Aq cm@linktel.net , versions 1.0 - 1.8, 2.0 - 2.4。 .An Eivind Eklund Aq eivind@freebsd.org , versions 1.8b, 1.9 および 2.5。 アーキテクチャにおける数々の改善による貢献のほかに、 IRC DCC に関するサポートを行ないました。 ならびに FTP/IRC DCC のファイアウォールのバイパスです。 .An Erik Salander Aq erik@whistle.com が PPTP と RTSP のサポートを追加しました。 .An Junichi Satoh Aq junichi@junichi.org が RTSP/PNA のサポートを追加しました。 .Sh 謝辞 以下、概略時代順に示すのは、 有益なコメントやデバッグの手助けを提供してくれた人々の名前です。 .Pp .Bd -ragged -offset indent .An -split .An Gary Roberts .An Tom Torrance .An Reto Burkhalter .An Martin Renters .An Brian Somers .An Paul Traina .An Ari Suutari .An Dave Remien .An J. Fortes .An Andrzej Bialecki .An Gordon Burditt .Ed .Sh 概念的な背景 この付録は、ソースコードの修正を検討している人や、 パケットエイリアシング関数を使用して やや難解なアプリケーションを作成する人を対象としています。 .Pp ここにはパケットエイリアシングエンジンの 概念的なフレームワークが記述されています。 議論の中心は、ローカルマシンとエイリアスされた識別子 およびリモートマシン間の指定された パケットトランザクションの関係を定義している "エイリアシング リンク" に考え方についてです。 こうしたリンクがどのように発生して また消滅するかについて検討されています。 .Ss エイリアシングリンク .Em エイリアシング リンク は、 7 つの要素で記述できるという考え方があります: .Bd -literal -offset indent (ローカルアドレス、 ローカルポート番号、 エイリアスアドレス、エイリアスポート番号、 リモートアドレス、リモートポート、プロトコル) .Ed .Pp 外へ発信するパケットは、 ローカルアドレスとローカルポート番号が、 エイリアスアドレスとエイリアスポート番号で置き換えられます。 外から着信するパケットは、逆のプロセスで処理されます。 パケットエイリアシングエンジンは、 エイリアシングリンクの内部テーブルに対してパケットを対応させ、 指定 IP パケットの修飾方法を決定しようとします。 IP ヘッダおよびプロトコルに依存するヘッダのどちらも 必要に応じて修正されます。 エイリアシングリンクは、ネットワークのトラフィックにより、 必要に応じて生成、消滅が行なわれます。 .Pp プロトコルは、ある状況では TCP か UDP であり、 または ICMP であってかまいません (ICMP のある種のパケットタイプには、 個々のパケットの処理方式を決めるポート番号と同様な働きをする、 一連の id 番号にエイリアスすることができるものがあります)。 .Pp それぞれのエイリアスリンクは 次の 5 つの数値の組合せを持っていなければなりません。 すなわち、エイリアスアドレス / ポート、 リモートアドレス / ポート、およびプロトコルです。 このことによりローカルネットワーク上のいくつかのマシンは 同じエイリアス IP アドレスを共有することが可能となります。 競合が起こるケースでは、エイリアシングポートが、 一意性が保てるよう選択されます。 .Ss 静的および動的リンク エイリアシングリンクには静的および動的なものがあります。 静的リンクは無期限に存続し、IP パケットの変換に関しては 固定された規則を保持しています。 動的リンクは個別の TCP 接続や UDP トランザクションの エコーシーケンスに対して生成されます。 TCP の場合は、関連するエイリアシングリンクを 何時削除するべきかを知るために、接続を監視できます。 UDP トランザクション (および ICMP エコーとタイムスタンプ要求) は 単純なタイムアウト規則で動いています。 一定の時間、動的リンクを張るアクティビティが無いときは、 自動的に削除されます。 タイムアウト規則は適切なオープン / クローズを行なわない TCP 接続にも適用されます。 .Ss エイリアシングリンクの部分定義 エイリアシングリンクは部分的な定義が可能です。 これはリモートアドレスおよび (または) リモートポートが不明である場合に行ないます。 この場合、不完全な定義のパケットが見つかると、 完全仕様の動的リンクが生成されます。 元々の部分定義のリンクが動的なものである場合、 完全仕様のリンクが生成された後それは削除され、 そうでない場合無期限に残ることになります。 .Pp たとえば、部分定義リンクは次の通りです。 .Bd -literal -offset indent (192.168.0.4, 23, 204.228.203.215, 8066, 0, 0, tcp) .Ed .Pp 0 の値はリモートアドレスおよびポートの未定義部分を表しています。 リンクが静的なものであれば、 外から着信してくる全トラフィックを アドレス 204.228.203.215 のポート 8066 から、 ローカルネットワーク上の 192.168.0.4 のアドレスを持つマシンの ポート 23 (telnet) へリダイレクトすることになります。 .Ss A.4 動的リンクの生成 エイリアシングリンクに加え、 パケットエイリアシング機構を持つ 内部データテーブルに格納できるアドレス対応表があります。 .Bd -literal -offset indent (ローカルアドレス、エイリアスアドレス) .Ed .Pp アドレス対応表は動的リンク生成時に必要とされます。 .Pp ローカルネットワークから外へ発信するあらゆるパケットは、 既存の完全定義されたリンクと一致していなければ、 動的リンクを自動的に生成します。 これは発信するパケットに関し、 アドレス対応があれば使用されるエイリアスアドレスを決定します。 対応が無ければ、 デフォルトアドレスが通常エイリアシングホストのアドレスですが、 使用されます。 必要であれば、デフォルトアドレスは 個々のパケットが到着するたびに変更できます。 .Pp エイリアシングポート番号は、 新たな動的リンクが既存のリンクと競合しないよう決められます。 デフォルト操作モードでは、パケットエイリアシングエンジンは ローカルポート番号と同じ番号を エイリアシングポートとして設定しようとします。 その結果競合すれば、ポート番号は一意なエイリアシングリンクとなるまで 無作為に選択が行なわれます。 予備の操作モードでは、 エイリアシングポートの最初の選択は無作為に、 またローカルポート番号と無関係に行なわれます。 diff --git a/ja_JP.eucJP/man/man3/lockf.3 b/ja_JP.eucJP/man/man3/lockf.3 index 2551c42498..b7c793bb06 100644 --- a/ja_JP.eucJP/man/man3/lockf.3 +++ b/ja_JP.eucJP/man/man3/lockf.3 @@ -1,253 +1,253 @@ .\" $NetBSD: lockf.3,v 1.2 1998/02/05 18:47:28 perry Exp $ .\" .\" Copyright (c) 1997 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Klaus Klein and S.P. Zeidler. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the 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 NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (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/gen/lockf.3,v 1.5.2.4 2001/12/14 18:33:51 ru Exp % .\" .\" $FreeBSD$ .Dd December 19, 1997 .Dt LOCKF 3 .Os .Sh 名称 .Nm lockf .Nd ファイル上のレコードのロック .Sh ライブラリ .Lb libc .Sh 書式 .In unistd.h .Ft int .Fn lockf "int filedes" "int function" "off_t size" .Sh 解説 関数 .Fn lockf は、ファイルのセクションを助言モードロックでロック -できます。ロックされているファイルのセクションを他のプロセセスからロック +できます。ロックされているファイルのセクションを他のプロセスからロック しようとして、 .Fn lockf 呼び出しを実行すると、当該セクションのロックが 解除されるまでエラー表示値かまたはブロックが返ってきます。ロックはプロセス が終了するとすべて除去されます。 .Pp 引数 .Fa filedes は、対象ファイルの記述子です。ファイル記述子は、 書き込みのみ (O_WRONLY)、または読み込み / 書き込み両方 (O_RDWR) のどちらかで操作できる必要があります。引数 .Fa function は所要動作を定義する制御値です。 .Fa Function で指定できる値は次のとおりです。 .Bl -tag -width FULCOKXX -compact -offset indent .It Sy Function .Sy 解説 .It Dv F_ULOCK ロックされているセクションのロック解除 .It Dv F_LOCK セクションの排他的使用のロック .It Dv F_TLOCK セクションの排他的使用のテストとロック .It Dv F_TEST セクションの他プロセスによるロック状況をテスト .El .Pp .Dv F_ULOCK は、ファイルのセクションからロックを解除します。 .Dv F_LOCK および .Dv F_TLOCK は、どちらも、セクションが使用可能状態ならばロックします。 .Dv F_TEST は、他プロセスが指定のセクション上にあるかどうかを検査します。 .Pp 引数 .Fa size は、ロックまたはロック解除対象のバイト数を示しています。 ロックまたはロック解除対象のセクションは、ファイル上の現在のオフセットを 開始地点とし、前方向であれば正符号の長さで、後ろ方向であれば負の長さで 表します。(現在のオフセット値を除く後続する範囲のバイト数) しかし、 ファイルの先頭より前を開始点または対象範囲とすることはできません。 .Fa size が 0 の場合、セクションは現在の地点からファイル上で取りうる最大範囲の地点まで ロックされます (すなわち、現在の地点から現時点のまたは今後拡張するファイル の終了部分までです)。 .Pp .Dv F_LOCK または .Dv F_TLOCK でロックされたセクションは、同一プロセスで 先行してロックされたセクションの全体または一部を含むかあるいは 含まれることがあります。この場合、またはロックされたセクションが 隣接するとき、これらのセクションは一つのロックされたセクションに 統合されます。要求によりロックの数がシステムで定めた限界を超えた場合、 要求はエラーになります。 .Pp .Dv F_LOCK および .Dv F_TLOCK による要求は、セクションが利用不可の 場合それぞれの取る動作について差異があります。 .Dv F_LOCK は、セクションが 利用可能になるまで呼び出しプロセスを抑制します。 .Dv F_TLOCK では、他プロセスが 既にロックしている場合、関数はエラーになります。 .Pp ファイルのロックは、ファイルの記述子のロックプロセスが終了して初めて 解除されます。 .Pp .Dv F_ULOCK 要求は、プロセスで制御される複数のロックされた セクション (全体または一部) を解放します。ロックされたセクションは、現在の ファイル上の地点から .Fa size で示す長さのバイト数分、またはサイズ指定が 0 の場合 ファイルの終了位置まで、ロックが解除されます。ロックされたセクション がすべて解放されないとき (すなわち、ロック解除される区域の最初の部分または 終りの部分がロックされたセクションにあるとき)、セクションの残りの部分は プロセスにより引き続きロックされます。ロックされたセクションの中心部分を 解放することにより、ロックされた残りの部分は、先頭区域と終りの区域の 2 つの セクションに分離されます。要求により、システム内のロックの数が、システムで 定めた制限値を越える場合、その要求の処理は不成功になります。 .Pp .Dv F_ULOCK 要求は、サイズ指定が 0 でなく、要求されたセクションの最終バイトの 位置が、off_t 型のオブジェクトに対する最大値を越えない場合、 またはプロセス内にサイズ 0 のロックがあり、要求対象セクションの最終バイトを 含んでいる場合、サイズ 0 の要求対象セクションの開始位置からロック解除する 要求として扱われます。そうでない場合、 .Dv F_ULOCK 要求は、要求対象のセクションだけをロック解除しようとします。 .Pp ロックされている区域を制御しているプロセスが、他プロセスでロック されている区域をロックしようとしてスリープ状態になると、デッドロックが 起こる可能性があります。この仕組みにより、ロックされた区域が ロック解除されるまでのスリープがデッドロックを起こし、 .Er EDEADLK エラーで異常終了することを検出できます。 .Pp .Fn lockf , .Xr fcntl 2 および .Xr flock 2 によるロックは同時併行で問題なく使用できます。 セクションでの防護処理は適当なシグナルで解釈されます。 .Pp .Sh 戻り値 .Rv -std lockf 失敗時には、既存のロックは変更されません。 .Pp .Sh エラー .Fn lockf は、次の状態のとき不成功となります。 .Bl -tag -width Er .It Bq Er EAGAIN 引数 .Fa function は、 .Dv F_TLOCK または .Dv F_TEST であり、 セクションはすでに他のプロセスによりロックされています。 .It Bq Er EBADF 引数 .Fa filedes は妥当でない対象ファイル記述子です。 引数 .Fa function .Dv F_TLOCK または .Dv F_TEST であり、引数 .Fa filedes は書き込み可能ファイルとして妥当なファイル記述子ではありません。 .Pp .It Bq Er EDEADLK 引数 .Fa function は .Dv F_LOCK であり、デッドロックが検出されました。 .Pp .It Bq Er EINTR 引数 .Fa function は .Dv F_LOCK であり、 .Fn lockf がシグナル発生により中断されました。 .Pp .It Bq Er EINVAL 引数 .Fa function が .Dv F_ULOCK , .Dv F_LOCK , .Dv F_TLOCK , or .Dv F_TEST のどれにも該当しません。 .Pp 引数 .Fa filedes がロックをサポートしないファイルを示しています。 .Pp .It Bq Er ENOLCK 引数 .Fa function は .Dv F_ULOCK , .Dv F_LOCK , または .Dv F_TLOCK であり、 ロックまたはロック解除の要求により、 ロック区域の数がシステムで定めた 制限値を越えます。 .El .Sh 関連項目 .Xr fcntl 2 , .Xr flock 2 .Pp .Sh 規格 .Fn lockf 関数は .St -xpg4.2 に適合しています。 diff --git a/ja_JP.eucJP/man/man3/login_ok.3 b/ja_JP.eucJP/man/man3/login_ok.3 index fa3d99afd3..7ef3ab4fd7 100644 --- a/ja_JP.eucJP/man/man3/login_ok.3 +++ b/ja_JP.eucJP/man/man3/login_ok.3 @@ -1,143 +1,143 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" .\" %FreeBSD: src/lib/libutil/login_ok.3,v 1.7.2.4 2001/12/17 10:08:32 ru Exp % .\" $FreeBSD$ .\" .Dd January 2, 1997 .Os .Dt LOGIN_OK 3 .Sh 名称 .Nm auth_ttyok , .Nm auth_hostok , .Nm auth_timeok .Nd ログイン制約に基づくログインクラスのチェック用関数 .Sh ライブラリ .Lb libutil .Sh 書式 .In sys/types.h .In time.h .In login_cap.h .Ft int .Fn auth_ttyok "login_cap_t *lc" "const char *tty" .Ft int .Fn auth_hostok "login_cap_t *lc" "const char *host" "char const *ip" .Ft int .Fn auth_timeok "login_cap_t *lc" "time_t t" .Sh 解説 この関数セットは、ログインが、 .Xr login.conf 5 という ログインデータベース上のログインクラス登録権限に基づき許可できるかどうかを 判定します。 .Pp .Fn auth_ttyok は、名前付 tty が指定されたクラスのユーザで 利用可能かどうかを判定します。またそれが .Em ttys.allow アクセスリストに載っており、 .Em ttys.deny アクセスリストに載っていないこともチェックします。 tty デバイス経由でくるログインは、 .Em ttys.allow リストがなく (あるいは指定されたログインクラスの登録権限定義がない) ても、空でない .Em ttys.deny リストが存在しない限り、またはデバイスあるいは tty グループ( .Xr ttys 5 を参照のこと) がリストに載っていなければ、受入れられます。 tty に対するアクセスは、 tty デバイス名で固有の制限と範囲が決められます。また デバイス名はワイルドカード指定 (例えば、ttyD* または cuaD*) を含むか、または group= タグが .Pa /etc/ttys に割り振られている場合、ttygroup の名前を定義します。 ttys と ttygroups の一致はケースによります。 .Dv NULL または文字列を tty parameter として渡すと、関数は 0 でない数値を返します。 .Pp .Fn auth_hostok -は、リモートロングインにおけるホスト側の制約をチエック +は、リモートログインにおけるホスト側の制約をチェック します。この関数は、 .Em host.allow および .Em host.deny のログインクラスの権限レベルに対し、ホスト名や IP アドレス (具体的には n.n.n.n のようなテキスト形式で指定されます。) の両方のチエックを行います。 ttys およびそのグループについてと同様、許可、 非許可権限レコード内でワイルドカードや文字 クラスを使用できます。関数 .Xr fnmatch 3 は対応付けに使用されます。ホスト名の 対応付けは大文字か小文字かによります。この関数ではホスト名が完全形式で 記述 (たとえば、必要ならばローカルドメイン名が追加される) されている 必要があることに注意する必要があります。さらに、IP アドレスは標準的な 形式になっています。ホスト名やアドレス参照は行われません。 .Pp この関数の呼び出しは、ホスト名を使用するか、または IP アドレスを 指定せず (例えば .Dv NULL 指定) に実行できます。またマッチングはパラメータが 指定されなければ実行されません。どちらのパラメータについて .Dv NULL か空の文字列が渡された場合、0 以外の戻り値が返されます。 .Pp 関数 .Fn auth_timeok は、指定の時間値が、ログインクラス .Em times.allow の範囲にあり、 .Em times.deny アクセスリストにないかどうか判定します。 .Em times.allow リストが存在しないか空であれば、指定時間が .Em times.deny リストに示す時間帯にない限り、いつでもアクセス可能です。 .Em times.allow および .Em times.deny のフィールドに含まれる時間帯レコードの形式の詳細については、 .Xr login_times 3 のマニュアルページを参照してください。 .Sh 戻り値 これらの関数からの戻り値が 0 でない場合、ログインが認可されています。 戻り値が 0 の場合は、対象が .Em allow アクセスリストにないか .Em deny アクセスリストに載っています。 .Pp .Sh 関連項目 .Xr getcap 3 , .Xr login_cap 3 , .Xr login_class 3 , .Xr login_times 3 , .Xr login.conf 5 , .Xr termcap 5 diff --git a/ja_JP.eucJP/man/man5/login.conf.5 b/ja_JP.eucJP/man/man5/login.conf.5 index e13b218f8b..743086126c 100644 --- a/ja_JP.eucJP/man/man5/login.conf.5 +++ b/ja_JP.eucJP/man/man5/login.conf.5 @@ -1,395 +1,395 @@ .\" Copyright (c) 1996 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" .\" %FreeBSD: src/lib/libutil/login.conf.5,v 1.49 2003/05/05 06:25:03 murray Exp % .\" .\" $FreeBSD$ .Dd November 22, 1996 .Dt LOGIN.CONF 5 .Os .Sh 名称 .Nm login.conf .Nd ログインクラス ケーパビリティ データベース .Sh 書式 .Pa /etc/login.conf , .Pa ~/.login_conf .Sh 解説 .Nm には、ログインクラスについてのさまざまな属性やケーパビリティが 含まれています。 ログインクラス (ユーザアカウントデータベースである .Pa /etc/master.passwd のそれぞれの行について自由に設定できる注釈) は、セッションの アカウンティングやリソース制限、ユーザ環境設定などを決定します。 ログインクラスはシステム内のさまざまなプログラムから利用され、 ユーザのログイン環境を設定するほか、 ポリシー、アカウンティング及び管理上の制限を設定します。 ログインクラスはまた、 システムや利用可能な種々の認証機構に対するユーザ認証手段を提供します。 ここに記述した以外の属性は、サードパーティによる packages で利用可能です .Pp システムのユーザクラスケーパビリティデータベースである .Pa /etc/login.conf の中の "default" という特別なレコードは、 .Pa /etc/master.passwd 内に有効なログインクラスを持たない root 以外のすべてのユーザに よって自動的に使われます。有効なログインクラスを持たない uid が 0 の ユーザは、"root" レコードが存在する場合はそのレコードが、 存在しない場合は "default" レコードがログインクラスとして使われます。 .Pp .Fx においては、個々のユーザは .Pa .login_conf というファイルをホームディレクトリに作成することができます。 このファイルは (/etc/login.conf と) 同じフォーマットで、 レコード id が "me" である 1 エントリのみで構成されます。 もし .login.conf が存在するならば、このファイルは .Xr login 1 によって使用され、システムのログインケーパビリティデータベースによって 指定されたユーザ環境設定を上書き設定します。 その際、ログインケーパビリティのサブセット、 典型的には承認やリソース制限そしてアカウンティングを含まないもの のみが上書きされます。 .Pp クラスケーパビリティデータベースのレコードは、コロンで区切られた いくつかのフィールドから構成されています。 各レコードの最初のフィールドは、レコードを特定するための 1 つまたは複数の名前で、それらは '|' 文字で区切られます。 その最初の名前が、最も一般化された短縮名称です。 最後の名前は、ログインケーパビリティエントリをより分かりやすく説明した 長い名前であるべきで、他の名前はその同義語です。 すべての名前は小文字かつ空白を含まないようにすべきですが、 最後の名前は可読性を考慮して、大文字やブランクを含んでいてもよいでしょう。 .Pp ケーパビリティデータベースのフォーマットについての詳細な説明は .Xr getcap 3 を参照してください。 .Sh ケーパビリティ データベース内のそれぞれの行に含まれるフィールドは、 .Xr getcap 3 の慣習に従い、ブール型、文字列型 .Ql \&= 数値型 .Ql \&# があります。 しかしながら数値データのところは、数値型が拒否され文字列型が 受け入れられることがあったり、両方の書式が受け入れられることもあります。 値は次のカテゴリに分類されます。 .Bl -tag -width "program" .It bool 名前が存在する場合、ブール値は真になります。 そうでない場合、偽になります。 .It file データファイルへのパス名 .It program 実行可能ファイルへのパス名 .It list コンマや空白で区切られた値のリスト (または値の組) .It path 普通の csh の慣習に従った、空白やコンマで区切られたパス名のリスト (先頭のユーザ名を伴う/伴わないチルダはホームディレクトリに展開される等) .It number 10 進数 (デフォルト)、16 進数 (0x で始まる)、または 8 進数 (0 で始まる) の 数値型の値。数値型の場合、設定できる値は 1 つだけです。 数値型は文字列型のフォーマットでも指定できる場合があります (ケーパビリティタグ '#' の代わりに '=' で値が区切られているなど)。 どの方法が使われた場合でも、データベース中のすべての行は修正したい行の値を 正確に上書きするために、同じ方法を用いなければなりません。 .It size サイズを表す文字。単位のデフォルトの解釈はバイトで、サフィックスに よって別の単位を指定できます。 .Bl -tag -offset indent -compact -width xxxx .It b 512 バイトブロックの明示的な指定 .It k キロバイトの指定 (1024 バイト) .It m 1 メガバイトの乗数の指定 (1048576 バイト) .It g ギガバイト単位の指定。そして .It t テラバイトの記述。 .El サイズの値は数値であり、サフィックスの大文字小文字は重要ではありません。 連続した値は足し込まれます。 .It time 時間の期間。デフォルトの単位は秒。 プレフィックスによって別の単位を指定できます。 .Bl -tag -offset indent -compact -width xxxx .It y 1 年を 365 日で数えた年数の指定 .It w 週の数の指定 .It d 日数 .It h 時間数 .It m 分数 .It s 秒数 .El 連続した値は足し込まれます。 たとえば 2 時間 40 分は 9600s、160m または 2h40m と 表現することができます。 .El .Pp 特別な .Em tc=value 表記を使用することにより、通常の約束事であるケーパビリティエントリの 補間が可能です。 .Sh リソース制限 .Bl -column coredumpsize indent indent .It Sy "名称 型 注 解説 .It "coredumpsize size コアダンプサイズの最大値制限 .It "cputime time CPU 使用制限 .It "datasize size データサイズの最大値制限 .It "filesize size ファイルサイズの最大値制限 .It "maxproc number プロセス数の最大値制限 .It "memorylocked size コアメモリロック可能量の最大値制限 .It "memoryuse size コアメモリ使用量の最大値制限 .It "openfiles number プロセスごとにオープンできるファイル数の最大値制限 .It "sbsize size 最大のソケットバッファサイズ .It "vmemoryuse size プロセスあたりの最大総 VM 使用量 .It "stacksize size スタックサイズの最大値制限 .El .Pp これらのリソース制限エントリは、実際には最大値と現在の 制限値の両方を指定します ( .Xr getrlimit 2 を参照してください)。 普通は現在の制限値 (ソフトリミット) が使われますが、 ユーザは現在の制限値を最大制限値 (ハードリミット) まで増やすことが 許されています。 最大制限値と現在の制限値はケーパビリティ名に各々 -max 及び -cur を 追加することによって指定できます。 .Sh 環境 .Bl -column ignorenologin indent xbinxxusrxbin .It Sy "名称 型 注 解説 .It "charset string $MM_CHARSET 環境変数の明示的な設定値 .It "hushlogin bool false ~/.hushlogin ファイルがある場合と同じ .It "ignorenologin bool false nologin によってログインを禁止されません .It "label string MAC ポリシの定義。 .Xr maclabel 7 参照 .It "lang string $LANG 環境変数を指定した値に設定します .It "manpath path マニュアルページのデフォルト検索パス .It "nocheckmail bool false ログイン時にメールのステータスを表示します .It "nologin file このファイルが存在する場合、ファイルの内容が画面に表示され、そのログインセッションは終了されます .It "path path /bin /usr/bin デフォルトコマンド検索パス .It "priority number 優先度 (nice) レベルの初期値 .It "requirehome bool false ログインのために有効なホームディレクトリが必要 .It "setenv list コンマで区切られた環境変数とその設定値のリスト .It "shell prog パスワードファイルで指定されているシェルより優先して実行されるセッションシェル。SHELL 環境変数の値は、パスワードファイルで指定されているものになります。 .It "term string 他の手段によって決定できない場合のデフォルトの端末タイプ .It "timezone string $TZ 環境変数のデフォルト値 .It "umask number 022 umask の初期値。続く数字が 8 進数と解釈されるように、常に 0 から始めます .It "welcome file /etc/motd ウェルカムメッセージが入っているファイル .El .Sh 認証 .Bl -column passwd_prompt indent indent .It Sy "名称 型 注 解説 .\" .It "approve program Program to approve login. .It "copyright file 追加のコピーライト情報を含んだファイル .It "host.allow list クラス内のユーザがアクセス可能なリモートホストワイルドカードのリスト .It "host.deny list クラス内のユーザがアクセス不可なリモートホストワイルドカードのリスト .It "login_prompt string .Xr login 1 が与えるログインプロンプト .It "login-backoff number 3 この回数のログイン試行がなされた後、 後続する試行に対してバックオフ遅延が追加されます。 .It "login-retries number 10 ログイン失敗までに可能な、 ログイン試行回数。 .It "passwd_format string md5 新規パスワードが使用する 暗号フォーマット。 有効な値は "md5", "des", "blf" です。 NIS クライアントが、 .Fx ではない NIS サーバを使用する場合、 おそらく "des" を使用すべきでしょう。 .It "passwd_prompt string .Xr login 1 が表示するパスワードプロンプト .It "times.allow list ログインが許されている時間帯のリスト .It "times.deny list ログインが許されない時間帯のリスト .It "ttys.allow list クラス内のユーザがアクセスに使用できる端末と端末グループのリスト .It "ttys.deny list クラス内のユーザがアクセスに使用不可な端末と端末グループのリスト .It "warnexpire time 失効しそうなアカウントに対する事前の注意を 行なう時間 .It "warnpassword time 失効しそうなパスワードに対する事前の 注意を行なう時間 .\".It "widepasswords bool false Use the wide password format. The wide password .\" format allows up to 128 significant characters in the password. .El .Pp これらのフィールドは、ログイン認証システムの中で .Xr passwd 1 や、その他のプログラムから使用される予定です。 .Pp 環境変数を設定するケーパビリティは、その中の文字 .Ql \&~ と .Ql \&$ の両方がスキャンされ、これらはそれぞれ ユーザのホームディレクトリ及びユーザ名に置換されます。 環境変数中にこれらの文字をそのまま含める場合には、 その前にバックスラッシュ '\\' をつけてエスケープします。 .Pp .Em host.allow と .Em host.deny エントリはコンマで区切られたリストで、システムへのリモートアクセスの チェックに使われます。 これらはホスト名か IP アドレスまたはその両方を含むリストからなり、 それらに対してリモートログインのチェックが行われます。 このリストの各項目は、ワイルドカード一致用にシェルプログラムが使用しているのと 同じ書式のワイルドカードを含むことができます (実装の詳細は .Xr fnmatch 3 を参照してください)。 ホストのチェックは、リモートシステムのインターネットアドレス と (もし有効なら) ホスト名の両方をつきあわせて行われます。 両方のリストが空かもしくは指定されていない場合、あらゆるリモートホスト からのログインは許可されます。 host.allow が 1 つかそれ以上のホストを含む場合、リスト中の 各項目のどれかにマッチしたリモートシステムのみがログインを許されます。 host.deny が 1 つかそれ以上のホストを含む場合、そのリストのどれかに マッチしたホストからのログインが禁止されます。 .Pp .Em times.allow と .Em times.deny エントリはコンマで区切られた期間のリストであり、この期間はクラス内の ユーザがログインを許されます。 これらは 1 つ以上の日のコード指定と、これに続けて 24 時間表記の開始時刻と 終了時刻をハイフンまたはダッシュで区切ったものとして表現されます。 たとえば MoThSa0200-1300 は、月、木、土の 午前 2 時から午後 1 時と解釈されます。 これらの時間指定リストの両方が空だった場合、クラス内のユーザはいつでもアクセス 可能になります。 .Em times.allow が指定されている場合、ログインは指定された期間のみ許可されます。 もし .Em times.deny が指定されている場合、 .Em times.allow の中で期間が指定されているかどうかに関わらず、指定された期間は ログインできなくなります。 .Pp .Xr login 1 が強制することは、これらのエントリにより許可された期間内に実際の ログインが行なわれることのみである点に注意して下さい。 セッションの生存期間に関して更なる規制をかけるには、別のデーモンを用意し、 許可されている期間から許可されていない期間への 遷移を監視する必要があります。 .Pp .Em ttys.allow と .Em ttys.deny エントリは、クラス内のユーザがシステムにアクセスするために使う コンマで区切られた (/dev/ プレフィックスを除く) 端末デバイスと、 端末グループ (ttygroup) のリストです (ttygroup の詳細は .Xr getttyent 3 と .Xr ttys 5 を参照して下さい)。 どちらのエントリも存在しない場合、ユーザが使用するログインデバイスの選択には 制限はありません。 .Em ttys.allow のみ指定されている場合、ユーザの使えるデバイスは指定されたグループ またはデバイスリストのみに制限されます。 .Em ttys.deny のみ指定されている場合、ユーザは指定されたデバイスやデバイス グループを使用できません。 両方が与えられていてかつどちらも空でない場合、ユーザは ttys.allow で指定されていて、ttys.deny では指定されていないデバイス群のみ 使用できます。 .Pp .Em minpasswordlen および .Em minpasswordcase の機能は、パスワードの品質制限を強制するためのものです。 .Nm でサポートされていましたが、現在は .Xr pam_passwdqc 8 PAM モジュールにとってかわられました。 .Sh 予約済ケーパビリティ 下記ケーパビリティは、記述された目的のために予約済であり、 サードパーティソフトウェアによってサポートされているかもしれません。 ベースシステムでは実装されていません。 .Bl -column host.accounted indent indent .It Sy "名称 型 注 解説 .It "accounted bool false このクラス内の全ユーザの -セッション時間アカウウンティングを有効化 +セッション時間アカウンティングを有効化 .It "autodelete time アカウント失効後自動で削除されるまでの時間 .It "bootfull bool false セッション終了時の「ttygroup が一杯の場合にのみブート」戦略を 有効にする .It "daytime time 1 日あたりのログイン最大時間 .It "expireperiod time 期限切れまでの割り当て時間 .It "graceexpire time 失効したアカウントの猶予日数 .It "gracetime time 追加された、猶予ログイン許可時間 .It "host.accounted list ログインセッションがアカウントされる リモートホストワイルドカードのリスト .It "host.exempt list ログインセッションのアカウンティング を免除されたリモートホストワイルドカードのリスト .It "idletime time ログアウトまでの最大アイドル時間 .It "minpasswordlen number 6 ローカルパスワード文字列長の最小値 .It "mixpasswordcase bool true すべて小文字のパスワードが入力された場合、 .Xr passwd 1 がユーザに警告します .It "monthtime time 月毎の最大ログイン時間 .It "passwordtime time 次回パスワード無効日を指定するために .Xr passwd 1 が使用 .It "refreshtime time アカウントのリフレッシュ許可時間 .It "refreshperiod str リフレッシュが行なわれる頻度 .It "sessiontime time セッション毎の最大ログイン時間 .It "sessionlimit number すべてのグループに対する tty 上の 同時最大ログイン数 .It "ttys.accounted list ログインアカウントが有効な tty と ttygroup のリスト .It "ttys.exempt list ログインアカウントが無効な tty と ttygroup のリスト .It "warntime time 時間切れになりそうな場合に対する事前の注意を 行なう時間 .It "weektime time 1 週間毎の最大ログイン時間 .El .Pp .Em ttys.accounted と .Em ttys.exempt フィールドは、先に述べた .Em ttys.allow と .Em ttys.deny と同じような方法で状態を操作します。 .Em host.accounted と .Em host.exempt のリストも同様です。 .Sh 関連項目 .Xr cap_mkdb 1 , .Xr login 1 , .Xr getcap 3 , .Xr getttyent 3 , .Xr login_cap 3 , .Xr login_class 3 , .Xr pam 3 , .Xr passwd 5 , .Xr ttys 5 , .Xr pam_passwdqc 8 diff --git a/ja_JP.eucJP/man/man7/groff_mm.7 b/ja_JP.eucJP/man/man7/groff_mm.7 index 9dc96077d4..a299b33285 100644 --- a/ja_JP.eucJP/man/man7/groff_mm.7 +++ b/ja_JP.eucJP/man/man7/groff_mm.7 @@ -1,2079 +1,2079 @@ .\" -.\" $Id: groff_mm.7,v 1.16 2003-05-21 04:11:55 horikawa Exp $ +.\" $Id: groff_mm.7,v 1.17 2004-07-17 15:08:17 metal Exp $ .\" .\" $FreeBSD$ .\" .\" WORD: abstract アブストラクト .\" WORD: broken varable list 変則可変リスト .\" WORD: bullet list 黒丸リスト .\" WORD: diversion 転換 .\" WORD: exhibit エグジビット .\" WORD: front page 表題紙 .\" WORD: hanging indent ハンギングインデント .\" WORD: heading 見出し .\" WORD: justification 行末揃え .\" WORD: memorandum 覚書 .\" WORD: multiple columns 多段組 .\" WORD: nesting 入れ子 .\" WORD: overprint 重ね打ちする .\" WORD: released paper style 公開論文形式 .\" WORD: separate environment 隔離された環境 .\" WORD: static display スタティックディスプレイ .\" WORD: trap トラップ .\" WORD: variable item list 可変項目リスト .\" " .de T2 .if t .ne 2v .ti -.5i \\$1 .sp -1 .. .de T3 .if t .ne 2v .ti -.5i \fB\\$1\fP .br .. .TH GROFF_MM 7 "1 May 2003" "Groff Version 1.19" .SH 名称 groff_mm \- groff mm マクロ .SH 書式 .B groff .B \-mm [ .IR options .\|.\|. ] [ .IR files .\|.\|. ] .SH 解説 groff mm マクロは、DWB mm マクロと互換であるように設計されています。 しかし、以下のような制限があります: .TP .B \(bu ベル研の方言は実装されていません。 .TP .B \(bu マクロ OK 及び PM は実装されていません。 .TP .B \(bu groff mm は、カットマークをサポートしません。 .LP \fBmm\fP は、国際化されて設計されています。 そのため、各国語対応用の短いマクロファイルを書き換えて、 英語のテキストを好みの言語対応に置き換えることができます。 \fBmmse\fP を例として用いてください。 .LP .\"########################################################################" .LP 大域変数の初期化後に \fBlocale\fP か \fIlang\fP\fB_locale\fP という ファイルを読み込みます。そのため、企業名などについてのマクロを ローカライズすることができます。 .sp このマニュアルでは、角括弧は省略可能な引数を表示するのに用いられます。 .sp 3 \fB数値レジスタと文字列変数\fP .br 多くのマクロを数値レジスタと文字列変数によって制御することが出来ます。 数値レジスタは、\fBnr\fP コマンドによって、代入が出来ます。 .br \fB\&.nr\fP \fIXXX\fP \fI[+-]n [i]\fP .br \fBXXX\fP はレジスタの名前です。 \fBn\fP は、代入されるべき値です。 そして、\fBi\fP は、自動増加に使われる増分値です。 もし現在値の増減が必要ならば、\fBn\fP には、 前に接頭辞として正符号や負符号をつけることが出来ます。 (自動増加や自動減少が行なわれるのは、 数値レジスタが正符号か負符号とともに用いられた時のことで、 \fB\en+[XXX]\fP か \fB\en-[XXX]\fP の様になります。) .sp 文字列変数は、\fBds\fP により定義されます。 .br \fB\&.ds\fP \fIYYY string\fP .br 文字列 \fIstring\fP としては、空白も含めて行末までの全部が割り当てられます。 \fIstring\fP の中の最初の空白は、二重引用符が前につけられなければなりません。 (テキストの中では、文字列変数は \fB\e*[YYY]\fP の様に使われます。) .sp \fB数値レジスタの特殊な形式\fP .br 数値レジスタというものは、形式が何も指定されなければ、 通常の数字で表示されます。 形式は \fBaf\fP によって設定出来ます: .br \fB\&.af\fP \fIR c\fP .br \fIR\fP はレジスタの名前で、\fIc\fP はその形式です。 .in +.5i .T2 \fB形式\fP \fB数の並び\fP .T2 1 0, 1, 2, 3, ... .T2 001 000, 001, 002, 003, ... .T2 i 0, i, ii, iii, iv, ... .T2 I 0, I, II, III, IV, ... .T2 a 0, a, b, c, ..., z, aa, ab, ... .T2 A 0, A, B, C, ..., Z, AA, AB, ... .in .LP \fBマクロ:\fP .TP .B ")E level text" \fBtext\fP (見出しテキスト) を目次に加えます。 \fBlevel\fP は 0 か 1-7 の間です。 本マクロは目次のカスタマイズに使用します。 .TP .B "1C [1]" 1 段の段組処理を開始します。引数としての \fB1\fP はページ区切りを無効にします。 広い脚注を用いてください。 狭い脚注は重ね打ちになってしまうでしょう。 .TP .B 2C 2 段の段組処理を開始します。ページを 2 段のカラムに分割します。 これは、\fBMC\fP の特殊な場合になります。 関連項目は \fB1C\fP です。 .TP .B AE アブストラクトの終わり。 \&\fBAS\fP を参照してください。 .TP .B "AF [企業名]" 著者の帰属する企業。\fBAU\fP の前に呼び出さなければなりません。 関連項目は \fBCOVER\fP です。 .TP .B "AL [type [text-indent [1]]]" 自動番号付けリストを開始します。 項目は、1 から始められる番号を振付けられます。 引数の \fItype\fP は数字の型を制御します。 .in +.5i .T2 引数 数字の型 .T2 1 アラビア数字 (デフォルト) .T2 A 大文字 (A-Z) .T2 a 小文字 (a-z) .T2 I 大文字 ローマ数字 .T2 i 小文字 ローマ数字 .in \fItext-indent\fP はインデントを設定し、\fBLi\fP よりも優先されます。 3 番目の引数は、各項目の前に空行を出力することを禁止します。 .TP .B "APP name text" \fIname\fP という名前の付録を開始します。 \fIname\fP が "" である場合には、自動的に名前がつけられます。 名前が自動生成されるならば、付録は \fBA\fP から始まります。 数値変数の \fBAph\fP が非 0 であれば、新しいページに切り替えられ、 ヘッダも生成されます。 これが、デフォルトです。 付録は、常に「List of contents」の中に正しいページ番号とともに表示されます。 \fIAPPENDIX\fP という名前は、 文字列変数の \fBApp\fP に望みのテキストを代入すれば、 変えることが出来ます。 文字列 \fBApptxt\fP は、現在の付録テキストを含みます。 .TP .B "APPSK name pages text" \&\fB.APP\fP とほぼ同じです。異なるのは、\fIpages\fP だけ ページ番号が増加されることです。 これが使用されるのは、図表や、その他整形されていない文書が 付録に含まれる時です。 .TP .B "AS [arg [indent]]" アブストラクトの開始。 インデントは、「en (半角)」で指定されますが、単位付きの指定も可能です。 引数の \fIarg\fP は、アブストラクトが印字される場所を制御します。 .in +.5i .T2 arg 配置 .T2 0 公開論文形式 (\fBMT 4\fP) の場合には、 アブストラクトは第 1 ページと表紙に印字されます。 それ以外の場合には、表紙はなく、第 1 ページに印字されます。 .T2 1 アブストラクトは表紙だけに印字されます (\fBMT 4\fP の場合のみ)。 .T2 2 アブストラクトは表紙だけに印字されます (\fBMT 4\fP 以外の場合のみ)。 表紙の印字には、\fBCS\fP は必要ありません。 .in 外部へのレター形式 (\fBMT 5\fP) では、アブストラクトは全く印字されません。 \fIindent\fP は両側マージンのインデントを制御します。 指定されない時は、通常のテキストのインデントが用いられます。 .TP .B "AST [title]" アブストラクトの題目。 デフォルトでは、\fBABSTRACT\fP です。 アブストラクトのテキストの上にそのテキストを設定します。 .TP .B "AT title1 [title2 ...]" 著者の肩書。\fBAT\fP は、各々の \fBAU\fP のすぐ後に現れなければなりません。 肩書は、署名ブロックで名前の後に現れます。 .TP .B "AU [name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]]" 著者に関する情報。これは、覚書や論文の著者を明示し、表紙や他の同様の場所に 印字されます。 \fBAU\fP は \fBTL\fP の前に現れてはなりません。 著者情報には、イニシャル (initials)、所在地 (loc)、部局 (dept)、 電話内線番号 (ext)、部屋番号又は部屋の名前 (room)、そして 3 個までの 追加引数を含めることが出来ます。 .TP .B "AV [name [1]]" 承認署名。これは、署名と日付を伴う承認欄を生成します。 変数 \fBLetapp\fP を用いて文字列 \fBAPPROVED:\fP を変更することが出来ます。 また、文字列 \fBDate\fP は \fBLetdate\fP に入っています。 .TP .B "AVL [name]" 手紙の署名。署名用の空間の行を生成します。 .TP .B "B [bold-text [prev-font-text [bold...]]]" ボールド体の開始。引数の数には、制限はありません。 すべての引数は、1 個の単語に結合されます。 第 1 番目の引数、第 3 番目の引数、などなどがボールド体で印字されます。 .TP .B B1 (ms マクロのような) ボックスの開始。テキストの周りにボックスを描きます。 テキストは 1 文字インデントされ、右マージンは 1 文字短くなります。 .TP .B B2 ボックスの終了。\fBB1\fP によって開始されたボックスを終了します。 .TP .B BE ページ底部のブロックの終了。\fBBS\fP を参照してください。 .TP .B "BI [bold-text [italic-text [bold-text [...]]]]" ボールド体とイタリック体。 引数の数には制限はありません。 \fBB\fP を参照してください。 .TP .B "BL [text-indent [1]]" 黒丸リストの開始。これは、黒丸記号と空白を各リスト項目の先頭部分に配置する リストを初期化します (\fBLI\fP を参照してください)。 \fItext-indent\fP は、数値レジスタ \fBPi\fP により設定されるリスト項目の デフォルトのインデントより優先されます。 第 3 番目の引数により、各項目前の空行の出力が禁止されます。 .TP .B "BR [bold-text [roman-text [bold-text [...]]]]" ボールド体とローマン体。 引数の数には、制限はありません。 .TP .B BS ページ底部のブロック開始。これは、テキストブロックの定義を開始します。 このブロックは各ページの底部に印字されます。 ブロックは、\fBBE\fP で終了します。 .TP .B "BVL text-indent [mark-indent [1]]" 変則可変項目リスト。 この変則可変項目リストには、定まった項目記号がありません。 その代わり、各 \fBLI\fP に項目記号が定義されていると仮定しています。 テキストは必ず、項目記号の後の次の行で始まります。 \fItext-indent\fP によって、テキストのインデントが設定されます。 そして、\fImark-indent\fP によって、現在のインデントから項目記号までの 距離が設定されます。 第 3 番目の引数は、各項目の前に空行を出力することを禁止します。 .TP .B "COVER [arg]" \&\fBCOVER\fP は表紙の定義を開始します。 重要なことは、\fB.COVER\fP がすべての通常のテキストより前に現れることです。 \&\fB.COVER\fP では、\fIarg\fP を使用して、 /usr/share/tmac/mm/\fIarg\fP.cov というファイル名を構成します。 このお陰で、無制限な型の表紙を創作することが可能です。 \fIms.cov\fP の目的としていることは、\fBms\fP の表紙に似せることです。 \&\fB.COVER\fP では、表紙の定義の最後に \fB.COVEND\fP があることが要求されます。 必ず、以下のような順番で表紙マクロを使用してください: .nf \&.COVER \&.TL \&.AF \&.AU \&.AT \&.AS \&.AE \&.COVEND .fi しかし、必ず必要なのは \fB.TL\fP と \fB.AU\fP だけです。 .TP .B COVEND これによって表紙の記述は終了し、表紙が印字されます。 このマクロは、表紙ファイルに定義されています。 .TP .B DE ディスプレイ終了。これは、\fBDS\fP 又は \fBDF\fP で始まったテキストブロック やディスプレイを終了させます。 .TP .B "DF [format [fill [rindent]]]" フローティングディスプレイを開始します (入れ子にはできません)。 フローティングディスプレイは、キューに保存され、入れられた順番で印字されます。 \fIformat\fP, \fIfill\fP, \fIrindent\fP は、\fBDS\fP の場合と同じです。 フローティングディスプレイは、2 個の数値レジスタ \fBDe\fP と \fBDf\fP とによって制御されます。 .sp \fBDe レジスタ\fP .in +.5i .T2 0 特別なことは何もありません。これがデフォルトです。 .T2 1 十分な空白がある場合、 ディスプレイが印字された後で改ページが行われます。 そうでない場合、ディスプレイは文書の最後に印字されます。 .in .sp \fBDf レジスタ\fP .in +.5i .T2 0 (セクション - ページの番号付けが有効な時は) 各セクションの最後に、 そうでない時には文書の最後に、ディスプレイは印字されます。 .T2 1 充分な余地があれば、新しいディスプレイは現在のページに印字されます。 そのような余地がなければ、ディスプレイは文書の最後に印字されます。 .T2 2 1 つのディスプレイが、各ページの、又は (多段組のモードでは) 各カラムの一番上に印字されます。 .T2 3 -もし充分な余地があるならば、1 つのディプレイを印字します。 +もし充分な余地があるならば、1 つのディスプレイを印字します。 余地がなければ、ディスプレイは次ページか次のカラムの一番上に印字されます。 .T2 4 新しいページまたはカラムに、入るだけのディスプレイを印字します。 もし \fBDe\fP が 0 でなければ、各ディスプレイの間に改ページが出力されます。 .T2 5 現在のページをディスプレイで満たします。 そして、残りは、新しいページまたはカラムから始めます。(これがデフォルトです)。 もし \fBDe\fP が 0 でなければ、各ディスプレイの間に改ページが出力されます。 .in .TP .B "DL [text-indent [1 [1]]]" ダッシュリストの開始。これは、各項目がダッシュの後に印字されるリスト を開始します。 \fItext-indent\fP は、数値レジスタの \fBPi\fP によって設定される、リスト項目の デフォルトのインデントを変更します。 第 2 引数は、リスト項目の間の空行印字を抑止します。 \fBLI\fP を参照してください。 第 3 引数は、各リスト項目の前の空行印字を抑止します。 .TP .B "DS [format [fill [rindent]]]" スタティックディスプレイの開始。これは、\fBDE\fP に至るまでテキストの収集を 始めます。 テキストは、ページ長より長くならない限り同一のページに印字されます。 \fBDS\fP は入れ子にできます。入れ子の深さには限度はありません (合理的な程度に :-)。 .sp \fBformat\fP .in +.5i .ds x " .\" " .T2 """""" インデントしません。 .T2 none インデントしません。 .T2 L インデントしません。 .T2 I 数値レジスタ \fBSi\fP の値だけテキストをインデントします。 .T2 C 各行を中央揃えします。 .T2 CB ディスプレイ全体をブロックとして中央揃えします。 .T2 R 行を右揃えします。 .T2 RB ディスプレイ全体をブロックとして右揃えします。 .in .sp L, I, C, CB は 0, 1, 2, 3 とも指定できます。これは互換性の理由からです。 (この機能は使用しないでください。:-) .sp \fBfill\fP .in +.5i .T2 """""" 行詰め機能を無効にします。 .T2 none 行詰め機能を無効にします。 .T2 N 行詰め機能を無効にします。 .T2 F 行詰め機能を有効にします。 .in .sp N と F は 0 と 1 とも指定できます。 通常は空行がディスプレイの前と後に印字されます。 数値レジスタ \fBDs\fP に 0 を設定すればこれを抑止出来ます。 \fIrindent\fP を指定すれば、行の長さをその量だけ短く出来ます。 .TP .B "EC [title [override [flag [refname]]]]" 数式の題目。 数式に題目をつけます。 引数に \fIoverride\fP を指定すれば、数式番号を変更出来ます。 .sp \fBflag\fP .in +.5i .T2 none \fIoverride\fP は、番号の接頭辞となります。 .T2 0 \fIoverride\fP は、番号の接頭辞となります。 .T2 1 \fIoverride\fP は、番号の接尾辞となります。 .T2 2 番号は \fIoverride\fP に置き換えられます。 .in \&\fBEC\fP は数値レジスタの \fBEc\fP をカウンタとして使います。 番号の形式を変更する為に、\fB.af\fP を用いることが出来ます。 もし数値レジスタの \fBOf\fP が 1 であれば、題目の形式として番号の後にはドット の代わりにダッシュが使われます。 .br 文字列変数の \fBLe\fP は、式一覧 (List of Equations) の題目を 制御します。 式一覧は、数値レジスタ \fBLe\fP が 1 の場合のみ表示されます。 デフォルトは 0 です。 これは、デフォルトでは \fILIST OF EQUATIONS\fP です。 数値レジスタの \fBLiec\fP は単語 \fIEquation\fP を含みます。 この文字列は番号の前に印字されます。 もし \fIrefname\fP が指定されている時には、数式番号が \fB.SETR\fP によって 保存されます。これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .br \fBEC\fP が \fBDS\fP/\fBDE\fP の内部で使用されている場合、 特別な表題処理を行います。 \fBDS\fP の書式には影響されません。 .TP .B "EF [arg]" 偶数ページのフッタ。これは偶数ページの通常のページフッタの すぐ上に印字されます。 \&\fBPF\fP を参照してください。 .TP .B "EH [arg]" 偶数ページのヘッダ。これは偶数ページの通常のページヘッダの すぐ下に印字されます。 \&\fBPH\fP を参照してください。 .TP .B EN 数式の終了。 \&\fBEQ\fP を参照してください。 .TP .B EOP ページ終了のユーザ定義マクロ。 フッタを通常通り印字する代わりにこのマクロが呼び出されます。 このマクロは何のトラップもアクティブではない状態の隔離された環境下で 実行されます。 \&\fBTP\fPを参照してください。 .sp \fBEOP に利用できる文字列変数\fP .in +.5i .T2 EOPf \&\fBPF\fP からの引数。 .T2 EOPef \&\fBEF\fP からの引数。 .T2 EOPof \&\fBOF\fP からの引数。 .in .TP .B "EPIC [-L] width height [name]" \fBEPIC\fP は指定された \fIwidth\fP (幅) と \fIheight\fP (高さ) の 箱を描きます。 また、テキスト \fIname\fP を表示するか、 \fIname\fP が指定されていない場合にはデフォルト文字列を表示します。 外部ピクチャを取り込むときに使用し、 この場合、ピクチャの大きさだけを指定してください。 \fB-L\fP はピクチャを左揃えします。 デフォルトは中央揃えです。 \fBPIC\fP を見てください。 .TP .B "EQ [label]" 数式の開始。 \fBEQ\fP/\fBEN\fP は、\fBeqn\fP への入力として書かれた数式の区切り記号です。 \fBEQ\fP/\fBEN\fP は \fBDS\fP/\fBDE\fP ペアに囲まれていなければなりません。 しかし、\fBEQ\fP が \fBeqn\fP のオプションを設定するのに使用されているだけ ならば、その必要はありません。 数値レジスタの \fBEq\fP が 1 でなければ、\fIlabel\fP は数式の右マージンに 現れます。1 であれば、ラベルは左マージンに現れます。 .TP .B "EX [title [override [flag [refname]]]]" エグジビットの題目。 引数は \fBEC\fP と同じです。 \&\fBEX\fP は数値レジスタの \fBEx\fP をカウンタとして使用します。 文字列変数の \fBLx\fP は、エグジビット一覧 (List of Exhibits) の題名を 制御します。デフォルトでは \fILIST OF EXHIBITS\fP となります。 エグジビット一覧が表示されるのは、 数値レジスタ \fBLx\fP が 1 の場合のみです。 デフォルトは 1 です。 文字列変数の \fBLiex\fP は、\fIExhibit\fP という単語を含みます。 この単語は、番号の前に印字されます。 もし \fIrefname\fP が指定されたなら、その時はエグジビット番号は、 \&\fB.SETR\fP により保存されます。 これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .br \fBEX\fP が \fBDS\fP/\fBDE\fP の内部で使用されている場合、 特別な表題処理を行います。 \fBDS\fP の書式には影響されません。 .TP .B "FC [closing]" レターや覚書の正式な締めくくりとして \fIYours\ very\ truly,\fP を印字します。 引数でデフォルトの文字列を置き換えられます。 デフォルトは文字列変数の \fBLetfc\fP に保管されています。 .TP .B "FD [arg [1]]" 脚注のデフォルトの形式。 これは、ハイフネーション (hyphen)、右マージン揃え (adjust)、 脚注テキストのインデント (indent) を制御します。 また、ラベル揃え (ljust) も変更することが出来ます。 .sp .if t .ne 14v .nf .ta .5i +.8i +.8i +.8i +.8i \fBarg hyphen adjust indent ljust\fP 0 no yes yes left 1 yes yes yes left 2 no no yes left 3 yes no yes left 4 no yes no left 5 yes yes no left 6 no no no left 7 yes no no left 8 no yes yes right 9 yes yes yes right 10 no no yes right 11 yes no yes right .sp .fi .DT 11 以上の引数は、引数 0 と見なされます。mm でのデフォルトは 10 です。 .TP .B FE 脚注の終了。 .TP .B "FG [title [override [flag [refname]]]]" 図の題名。 引数は \fBEC\fP のものと同じです。 \&\fBFG\fP は数値レジスタの \fBFg\fP をカウンタとして使用します。 文字列変数の \fBLf\fP は、図一覧 (List of Figures) の題名を 制御します。デフォルトでは \fILIST OF FIGURES\fP となります。 図一覧が表示されるのは、 数値レジスタ \fBLf\fP が 1 の場合のみです。 デフォルトは 1 です。 文字列変数の \fBLifg\fP は、\fIFigure\fP という単語を含みます。 この単語は、番号の前に印字されます。 もし \fIrefname\fP が指定されていれば、図番号が \&\fB.SETR\fP によって保存されます。 これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .br \fBFG\fP が \fBDS\fP/\fBDE\fP の内部で使用されている場合、 特別な表題処理を行います。 \fBDS\fP の書式には影響されません。 .TP .B "FS [label]" 脚注の開始。 脚注は \fBFE\fP で閉じられます。 通常脚注は自動的に番号が付されます。 この番号は、文字列変数の \fBF\fP により利用出来ます。 ただ \fB\e*F\fP をテキストに加えてください。 また、\fIlabel\fP を引数として加えることで、 他の番号や名前を脚注に付けることが出来ます。 ディスプレイの中の脚注も今では可能です。 空行が、脚注同士を分離します。 行の高さは、数値レジスタの \fBFs\fP により制御されます。 デフォルト値は 1 です。 .TP .B "GETHN refname [varname]" これは、対応する \fBSETR\fP \fIrefname\fP が配置された場所の セクションヘッダ番号を挿入します。 これは、1 回目のパスでは、X.X.X. となっているでしょう。 \fBINITR\fP を参照してください。 もし \fIvarname\fP が指定されているなら、\fBGETHN\fP により文字列変数の \&\fIvarname\fP にはセクションヘッダ番号が代入されます。 .TP .B "GETPN refname [varname]" これは、対応する \fBSETR\fP \fIrefname\fP が配置された場所の ページ番号を挿入します。 これは、1 回目のパスでは、9999 となっているでしょう。 \fBINITR\fP を参照してください。 もし \fIvarname\fP が指定されているなら、\fBGETPN\fP により文字列変数の \&\fIvarname\fP にはページ番号が代入されます。 .TP .B "GETR refname" これは \fBGETHN\fP と \fBGETPN\fP をテキストの 「chapter」と「, page」とともに結合します。 文字列変数の \fIQrf\fP は参照用のテキストを保持しています: .ti +.5i \&.ds Qrf See chapter \e\e*[Qrfh], page \e\e*[Qrfp]. .br \fIQrf\fP は他の言語をサポートする為に変更出来ます。 文字列変数の \fIQrfh\fP と \fIQrfp\fP は \fBGETR\fP により設定され、 セクションヘッダ番号とページ番号が入っています。 .TP .B "GETST refname [varname]" これは、\fB.SETR\fP の第 2 引数により保存された文字列を挿入します。 これは、1 回目のパスでは、ダミー文字列になっているでしょう。 もし varname が指定されたなら、\fBGETST\fP により文字列変数の \fIvarname\fP には保存された文字列が代入されます。 \&\fBINITR\fP を参照してください。 .TP .B "H level [heading-text [heading-suffix]]" 番号付セクション見出し。 セクションヘッダには、1 から 7 迄のレベルを付けられます。 レベル 1 が、トップレベルです。 テキストは引数 \fIheading-text\fP に与えられます。 テキストに空白があるときには、二重引用符で括らなければなりません。 \fBheading-suffix\fP をセクションヘッダのテキスト中に付け加えられます。 しかし、これは目次には現れません。 通常、これは脚注マークや同様のものに用いられます。 \fIheading-suffix\fP の中では \fB\e*F\fP を使わないでください。 \fB\e*F\fP は機能しません。 手動のラベルを使わなければなりません。 \fBFS\fP を参照してください。 .sp \fBH\fP の直後に置かれた段落 \fBP\fP は、無視されます。 \fBH\fP によって、行送りとインデントの処理が行われます。 .sp \fB見出しの前のページ切り替え\fP .br 数値レジスタの \fBEj\fP は見出しの前のページ切り替えを制御します。 通常、レベル 1 の見出しは、その前に 2 行の空行が印字されます。 それより高次のレベルの見出しの前では 1 行になります。 数値レジスタの \fBEj\fP が 1 であれば、各第 1 レベルの見出しの前で 新しいページが排出されます。 レベルが \fBEj\fP の値以下の見出しすべてについて、ページが切り替えられます。 \fBEj\fP のデフォルト値は 0 です。 .sp \fB見出しの行区切りレベル\fP .br もし見出しレベルが数値レジスタ \fBHb\fP 以下ならば、 見出しの後で行区切りが起こります。 このレジスタのデフォルト値は 2 です。 .sp \fB見出しの空白行のレベル\fP .br もし見出しレベルが数値レジスタ \fBHs\fP 以下ならば、 空白行が見出しの後に挿入されます。 このレジスタのデフォルト値は 2 です。 .sp もしレベルが \fBHb\fP と \fBHs\fP の両方より大きければ、 テキストは同じ行で見出しの後に続きます。 .sp \fB見出しの後のインデント\fP .br 見出しの後のテキストのインデントは数値レジスタの \fBHi\fP によって制御 されます。 このレジスタのデフォルト値は 0 です。 .sp \fBHi\fP .in +.5i .T2 0 テキストは左揃えされます。 .T2 1 テキストのインデントは数値レジスタの \fBPt\fP の値に従います。 \fBP\fP を参照してください。 .T2 2 テキストは見出しの最初の単語に合わせて 1 列に並べられます。 .in .sp \fBセクション見出しの中央揃え\fP .br そのレベルが数値レジスタの \fBHc\fP 以下で、かつ \fBHb\fP 又は \fBHs\fP 以下の見出しはすべて、中央揃えされます。 .sp \fB見出しのフォントの管理\fP .br 各見出しレベルでのフォントは文字列変数の \fBHF\fP を用いて管理されています。 この変数には各レベルでのフォント番号又はフォント名が入れられています。 デフォルトでは \fB2\ 2\ 2\ 2\ 2\ 2\ 2\fP (すべての見出しでイタリック体) です。 これをまた \fBI\ I\ I\ I\ I\ I\ I\fP の様にも書くことが出来ます。 実装によっては、デフォルト値として \fB3\ 3\ 2\ 2\ 2\ 2\ 2\fP を使うものもある ことに注意してください。 省略された値はすべて 1 であると推定されます。 .sp \fBポイントサイズの管理\fP .br 各見出しのポイントサイズは、フォントが \fBHF\fP により管理されるのと同様な 方法で、文字列変数の \fBHP\fP により管理されます。 値 0 は、デフォルトのポイントサイズを選びます。 デフォルト値は \fB0\ 0\ 0\ 0\ 0\ 0\ 0\fP です。 ポイントサイズのみが変わるのであって、垂直サイズではないことに気をつけてください。 垂直サイズはユーザにより指定されるマクロ \fBHX\fP や \fBHZ\fP によって 管理出来ます。 .sp \fB見出しカウンタ\fP .br \fBH1\fP から \fBH7\fP 迄の名前をつけられた 7 個の数値レジスタには 各見出しレベルのカウンタが入れられています。 それらの値はアラビア数字を使って印字されます。 これらは、マクロの \fBHM\fP (下記参照) によって変えられます。 すべての記号は印字する前に結合されます。 これを避ける為には、数値レジスタの \fBHt\fP に 1 を代入してください。 これにより各見出しでは、現在の見出しのカウンタだけが印字されます。 .sp \fB自動の目次\fP .br その見出しレベルが数値レジスタ \fBCl\fP 以下の見出しは、 目次に印字する為に保存されます。 このレジスタのデフォルト値は 2 です。 .sp \fB見出しの特別な管理、ユーザ定義マクロ\fP .br これから記述するマクロは垂直行送り、フォント、または他の機能を細かく 制御するためにユーザが定義できるものです。 引数 \fIlevel\fP は \fBH\fP へのレベル引数です。 しかし、これは番号無し見出しでは 0 になります (\fBHU\fP を参照してください)。 引数 \fIrlevel\fP は実際のレベルです。 これは、番号無し見出しの為に数値レジスタ \fBHu\fP に代入されます。 引数 \fIheading-text\fP は、\fBH\fP や \fBHU\fP へのテキスト引数です。 .sp \fBHX\ \fP\fIlevel\ rlevel\ heading-text\fP .br \fBHX\fP は見出し印字の直前に呼び出されます。 以下のようなレジスタが \fBHX\fP に利用出来ます。 \fBHX\fP は\ \fB}0\fP, \fB}2\fP, \fB;3\fP を変更してもかまいません。 .in +.5i .T3 "文字列変数\ }0" もし \fIrlevel\fP が非 0 であれば、見出し記号と 2 個のスペースが入っています。 そうでなければ、空です。 .T3 "数値レジスタ\ ;0" 見出しの後のテキストの位置が入っています。 0 はテキストが見出しと同じ行に続くはずであることを意味しています。 1 はテキストの前で行区切りが生ずるはずであることを意味します。 2 は空白行が見出しとテキストを分離するはずであることを 意味します。 .T3 "文字列変数\ }2" 数値レジスタの \fB;0\fP が 0 であれば、このレジスタには 2 個のスペースが入ります。 これは見出しからテキストを分離するのに使われます。 もし \fB;0\fP が非 0 であれば、この文字列変数は空です。 .T3 "数値レジスタ\ ;3" これには見出しの後に必要とされる行送りが単位付きで入ります。 デフォルトは 2v です。 これらは番号付け (\fB}0\fP)、垂直行送り (\fB}2\fP)、そして 見出しの後に必要な行送りの様な事柄を変更するのに使用出来ます。 .in .sp \fBHY\ \fP\fIdlevel\ rlevel\ heading-text\fP .br \fBHY\fP はサイズとフォントの計算の後に呼び出されます。 インデントを変更するために使えるでしょう。 .sp \fBHZ\ \fP\fIdlevel\ rlevel\ heading-text\fP .br \fBHZ\fP は見出しの印字の後で、\fBH\fP 又は \fBHU\fP が終了する直前に、 呼ばれます。 これは、セクション見出しに従いページヘッダを変更する為に使うことが出来るでしょう。 .TP .B "HC [hyphenation-character]" ハイフネーション文字を設定します。 デフォルト文字は \e% です。 引数なしで呼ばれた時はデフォルトに再設定します。 ファイルの初めで数値レジスタ \fBHy\fP に 0 を設定すれば、 ハイフネーションを止められます。 .TP .B "HM [arg1 [arg2 [... [arg7]]]]" 見出し記号の型。 見出しカウンタを印字する為の記号の型を制御します。 デフォルトは、すべてのレベルで 1 です。 .sp \fB引数\fP .in +.5i .T2 1 アラビア数字 .T2 0001 ひとつ以上の 0 を先行したアラビア数字 .T2 A 大文字のアルファベット .T2 a 小文字のアルファベット .T2 I 大文字のローマ数字 .T2 i 小文字のローマ数字 .T2 \fI空\fP アラビア数字 .in .TP .B "HU heading-text" 番号無しセクションヘッダ。 数値レジスタ \fBHu\fP をレベルとして \fBHU\fP は \fBH\fP の様に振舞います。 \fBH\fP を参照してください。 .TP .B "HX dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字する直前に呼ばれます。 \fBH\fP を参照してください。 .TP .B "HY dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字する直前に呼ばれます。 \fBH\fP を参照してください。 .TP .B "HZ dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字した直後に呼ばれます。 \fBH\fP を参照してください。 .TP .B "I [italic-text [prev-font-text [italic-text [...]]]]" イタリック体です。 これは引数なしで呼ばれたならフォントをイタリック体に変更します。 引数が 1 個の場合には、これはその単語をイタリック体にします。 引数が 2 個の場合には、これは引数を連結し最初の単語にイタリック体を 設定し、2 番目に以前のままのフォントを設定します。 引数の数には制限はありません。 すべての引数は、連結されます。 .TP .B "IA [addressee-name [title]]" これはレター形式の受信人 (addressee) と受信人のアドレスの記述を 開始します。 いくつかの名前が空の \fBIA\fP/\fBIE\fP ペアにより指定できます。 しかし、アドレスは唯 1 つになります。 \fBLT\fP を参照してください。 .TP .B "IB [italic-text [bold-text [italic-text [...]]]]" イタリック体とボールド体。 偶数番目の引数がイタリック体で、奇数番目がボールド体で印字されます。 \fBI\fP を参照してください。 .TP .B IE \fPIA\fP の後でアドレス指定を終了します。 .TP .B "INITI type filename [macro]" 新しいインデックスシステムを初期化し、 インデックス行を集めるファイル名を \fBIND\fP に設定します。 引数 \fItype\fP はインデックスのタイプ、 すなわち、ページ番号・ヘッダマーク・両方のいずれかを選択します。 デフォルトは \fIN\fP です。 各行を整形する責任のあるマクロを生成することも可能です。 マクロの名前を第 3 引数として追加してください。 このマクロは、インデックスを引数として呼び出されます。 .sp \fBtype\fP .in +.5i .T2 N ページ番号 .T2 H ヘッダマーク .T2 B ページ番号とヘッダマークの両方をタブで区切ります .in .TP .B "INITR filename" 参照用マクロの初期化。 参照は標準エラー出力に書き込まれ、 \fIfilename.qrf\fP にも書き込まれることになっています。 これには、groff の 2 回のパスが必要とされます。 このために、\fBmmroff\fP と呼ばれる別のプログラムが使用されます。 この理由は、\fBINITR\fP が必要とする安全ではない操作が、 典型的な groff インストールには含まれないためです。 最初のパスでは参照を探し、2 回目のパスではそれらを取り込みます。 \fBINITR\fP は複数回使用できます。 しかし、有効なのは最初に出現した \fBINITR\fP だけです。 関連項目は、\fBSETR\fP, \fBGETPN\fP, \fBGETHN\fP です。 .TP .B "IND arg1 [arg2 [...]]" \fBIND\fP は、\fBINITI\fP で選択されたインデックスファイルへ、 全引数とページ番号またはヘッダマークをタブで区切った 1 行を書き込みます。 .in +.5i \fB礼\fP .br arg1\etページ番号 .br arg1\etarg2\etページ番号 .br arg1\etヘッダマーク .br arg1\etページ番号\etヘッダマーク .in .TP .B "INDP" \fBINDP\fP は、文字列変数 \fBIndcmd\fP で指定されるコマンドを実行し、 インデックスを表示します。通常は \fIsort\ -t\et\fP を実行します。 \fBINDP\fP はコマンドの出力を読み、インデックスを生成します。 通常は 2 桁の書式です (\fBTYIND\fP の定義により変更可能です)。 インデックスは、文字列変数 \fBIndex\fP のヘッダと共に表示されます。 この変数のデフォルト値は \fBINDEX\fP です。 1 桁の処理は、一覧の後で返されます。 \fBINDP\fP は、ユーザ定義マクロ \fBTXIND\fP, \fBTYIND\fP, \fBTZIND\fP が 定義されていれば呼び出します。 \fBTXIND\fP は、\fBINDEX\fP の表示前に呼び出されます。 \fBTYIND\fP は、\fBINDEX\fP の表示の代りに呼び出されます。 \fBTZIND\fP は、表示の後で呼び出され、再度通常動作へ戻る処理を行うべきです。 .TP .B "ISODATE [0]" \fBISODATE\fP は、\fBDT\fP 中で既に定義されている日付文字列を、 ISO 書式に、すなわち YYYY-MM-DD に変更します。 これは、コマンドライン上に \fB-rIso=1\fP を加えることでも可能です。 昔の日付書式にするには、引数に \fB0\fP を指定します。 .TP .B "IR [italic-text [roman-text [italic-text [...]]]]" イタリック体とローマン体。 偶数番目の引数がイタリック体で、奇数番目がローマン体で印字されます。 \fBI\fP を参照してください。 .TP .B "LB text-indent mark-indent pad type [mark [LI-space [LB-space]]]" リスト開始マクロ。 これはすべてのリストに使用される共通のマクロです。 引数 \fItext-indent\fP は現在のインデントからテキストをインデントする スペースの数です。 .sp \fIpad\fP と \fImark-indent\fP は項目記号を置く所を指定します。 項目記号は記号領域に配置されます。 \fImark-indent\fP はこの領域の前のスペースの数を設定します。 これは通常 0 です。 記号領域はテキストが始まる所で終ります。 それでもなお、テキストの開始は \fItext-indent\fP により決められます。 .sp もし \fIpad\fP が 0 ならば、項目記号は記号領域の中で左揃えされます。 もし\fIpad\fP が 0 より大きければ、その時は \fImark-indent\fP は無視されます。 そして項目記号はテキストに対しスペースで \fIpad\fP 個分前に配置されます。 この操作では、項目記号は右揃えされます。 .sp もし \fItype\fP が 0 であれば、リストはハンギングインデントになるか、又は 引数の \fImark\fP が与えられていたら、文字列の \fImark\fP が項目記号 となります。 .sp もし \fItype\fP が 0 より大きければ、自動的な番号付けが行われます。 更に \fImark\fP が空であれば、番号はアラビア数字となります。 この時、\fImark\fP には \fB1\fP, \fBA\fP, \fBa\fP, \fBI\fP, \fBi\fP のどれでも指定出来ます。 .sp \fItype\fP には項目記号を表示するため 6 通りの可能な方法の中から 1 つを選べます。 .br \fBtype\fP .in +.6i .T2 1 x. .T2 2 x) .T2 3 (x) .T2 4 [x] .T2 5 .T2 6 {x} .in .sp リストの各項目の前には \fILI-space\fP 行の空行が置かれます。 デフォルトは 1 です。 .sp \fBLB\fP 自体には \fILB-space\fP 行の空行が印字されます。 デフォルトは 0 です。 .TP .B "LC [list-level]" リスト状態情報のクリア。 これにより、アクティブなリストが \fIlist-level\fP レベル迄、 あるいは引数が指定されなかった場合には 0 レベル迄、すべて終了されます。 これはアクティブなリストをすべてクリアする為に \fBH\fP により使用されます。 .TP .B "LE [1]" リストの終了。 これは現在のリストを終了します。 \fBLE\fP はもし引数が指定されているなら、空行を印字します。 .TP .B "LI [mark [1]]" リスト項目。 これは、リストの各項目の最初に置かれます。 引数がないときは、\fBLI\fP は、現在のリスト形式で決められる項目記号 を印字します。 \fBLI\fP に引数を 1 つ指定すると、それが代わりの項目記号として使用されます。 \fBLI\fP に引数を 2 つ指定すれば、\fImark\fP は現在の項目記号の接頭辞と なります。 第 2 引数が \fB1\fP ではなく \fB2\fP の場合、 接頭辞と項目記号の区切り空白は生成されません。 この動作は、数値レジスタ \fBLimsp\fP を 0 に設定することでも実現可能です。 長さ 0 の \fImark\fP を指定した場合はハンギングインデントが生成されます。 .sp 通常はリスト項目の前に空行が印字されます。 この挙動は数値レジスタの \fBLs\fP を用いて制御出来ます。 \fBLs\fP 以下のすべてのリストレベルで先行する行送りが生成されます。 このレジスタのデフォルト値は 99 です。 (リストの入れ子は無制限です。:-) .sp インデントは数値レジスタの \fBLi\fP によって変えられます。 デフォルトは 6 です。 .sp すべてのリストはリスト初期化マクロの \fBLB\fP により始まります。 しかし、リストを使いやすくする為に予め定義されているリストの形式が 7 つあります。 これらの形式はすべて異なったデフォルト値で \fBLB\fP を呼び出します。 .in +.5i .T2 \fBAL\fP 自動増加番号リスト .T2 \fBML\fP 記号付きリスト .T2 \fBVL\fP 可変項目リスト .T2 \fBBL\fP 黒丸リスト .T2 \fBDL\fP ダッシュリスト .T2 \fBRL\fP 参照文献リスト .T2 \fBBVL\fP 変則可変リスト .in これらのリストについてはこのマニュアルのほかの所に記述してあります。 関連項目は \fBLB\fP です。 .TP .B "LT [arg]" 引数に基づいて 4 つの異なった形式の内の 1 つでレターを構成します。 関連項目は \fB内部\fP セクションです。 .in +.5i .T2 \fBarg 形式\fP .T2 BL ブロック形式。日付欄、返送先アドレス、著者のアドレスと結辞は行の中央から始まります。 他のすべての行は左マージンから始まります。 .T2 SB 半ブロック形式。ブロック形式と同様ですが、 各段落の最初の行が スペース 5 個分インデントされます。 .T2 FB 全ブロック形式。すべての行が左マージンから始まります。 .T2 SP 簡易形式。全ブロック形式とほぼ同じです。 主題と著者の身分がすべて大文字で印字されます。 .in .TP .B "LO type [arg]" レターのオプションを指定します (\fB.LT\fP を参照してください)。 以下に示すのは標準のオプションです。 .in +.5i .T2 CN 機密表記。 日付欄の下 2 行目に \fBCONFIDENTIAL\fP を印字します。 任意の引数で \fBCONFIDENTIAL\fP を置き換えられます。 関連項目は文字列変数 \fBLetCN\fP です。 .T2 RN 参考文献表記。 \fBIn reference to:\fP と引数を日付欄の 2 行下に印字します。 関連項目は文字列変数 \fBLetRN\fP です。 .T2 AT 気付。\fBATTENTION:\fP と引数を内部アドレスの下に印字します。 関連項目は文字列変数 \fBLetAT\fP です。 .T2 SA 頭辞。\fBTo Whom It May Concern:\fP か、又はもし指定されていた時には引数を 印字します。 頭辞は内部アドレスの 2 行下に印字されます。 関連項目は \fBLetSA\fP です。 .T2 SJ 主題欄。 レター形式 \fBSP\fP 以外の場合には、主題として \fBSUBJECT:\fP を 接頭辞として付けた引数を内部アドレスの 2 行下に印字します。 レター形式 \fBSP\fP の場合には、主題は接頭辞なしで、すべて大文字で印字されます。 関連項目は文字列変数の \fBLetSJ\fP です。 .in .TP .B "MC column-size [column-separation] " 多段組の開始。\fB1C\fP で通常状態に戻ります。 \fBMC\fP により現在の行長に入るだけの数のカラムが作られます。 \fIcolumn-size\fP は各カラムの幅で、\fIcolumn-separation\fP はカラムの間の 間隔です。 デフォルトの間隔は column-size/15 です。 関連項目は \fB1C\fP です。 .TP .B "ML mark [text-indent [1]]" 記号付きリストの開始。 各リスト項目の前に引数の \fImark\fP が印字されます。 \fItext-indent\fP の指定により、インデントが設定され、 \fBLi\fP よりも優先されます。 第 3 引数により各項目の前の空行の印字が禁止されます。 .TP .B "MT [arg [addressee]]" 覚書形式。 引数 \fIarg\fP は \fI/usr/share/tmac/mm/*.MT\fP というファイル名の部分です。 覚書の形式としては、\fI"string"\fP を含んで 0 から 5 迄サポートされています。 \fIaddressee\fP は単に、AT&T のマクロで使われる変数を設定するだけです。 .br \fBarg\fP .in +.5i .T2 0 通常の覚書。形式は印字されません .T2 1 \fIMEMORANDUM FOR FILE\fP が印字される覚書。 .T2 2 \fIPROGRAMMER'S NOTES\fP が印字される覚書。 .T2 3 \fIENGINEER'S NOTES\fP が印字される覚書。 .T2 4 公開論文形式。 .T2 5 外部へのレター形式。 .in 関連項目は、もっと柔軟な表題紙 \fBCOVER\fP/\fBCOVEND\fP です。 .TP .B "MOVE y-pos [x-pos [line-length]]" ある位置へ移動し、ページオフセットが \fIx-pos\fP に設定されます。 もし \fIline-length\fP が指定されなかったときは、現在の行長と 新しいページオフセットの差が使われます。 正常状態に戻るには、引数なしの \fBPGFORM\fP を使ってください。 .TP .B "MULB cw1 space1 [cw2 space2 [cw3 ...]]" 特殊多段組モードの開始。 各カラムの幅を指定しなければなりません。 また、カラム間の間隔も指定しなければなりません。 最後のカラムの後には間隔指定は必要ありません。 \fBMULB\fP により転換が開始し、 \fBMULE\fP により転換が終了しカラムが印字されます。 幅と間隔の単位は「n」です。 しかし、\fBMULB\fP は「c」や「i」のような通常の単位指定をすべて受け付けます。 \fBMULB\fP は、隔離された環境下で機能します。 .TP .B "MULN" 次のカラムの開始。 これは、カラムを切り替える唯一の方法です。 .TP .B "MULE" 多段組モードの終了とカラムの印字。 .TP .B "nP [type]" 2 段階のヘッダレベルを持つ番号付き段落の印字。 \&\fB.P\fP を参照してください。 .TP .B "NCOL" 次のカラムへの印字を強制します。 \fBMUL*\fP マクロとは共に使用しないでください。 \fB2C\fP を参照してください。 .TP .B "NS [arg [1]]" 異なる形式の注釈を印字します。 引数は予め定義された形式の注釈の中から選びます。 もし 2 番目の引数が利用可能であれば、引数が注釈全体になります。 もし引数が予め定義されたものの中になければ、このマクロは \&\fBCopy (\fP\fIarg\fP\fB) to\fP のように印字されます。 さらに標準の注釈を加えることも可能です。 文字列変数の \fBLetns\fP と \fBLetnsdef\fP を参照してください。 .nf .in +.5i .T2 \fBarg 注釈\fP .T2 \fIなし\fP Copy To .T2 """"" .\" " Copy To .T2 1 Copy To (with att.) to .T2 2 Copy To (without att.) to .T2 3 Att. .T2 4 Atts. .T2 5 Enc. .T2 6 Encs. .T2 7 Under separate cover .T2 8 Letter to .T2 9 Memorandum to .T2 10 Copy (with atts.) to .T2 11 Copy (without atts.) to .T2 12 Abstract Only to .T2 13 Complete Memorandum to .T2 14 CC .in .fi .TP .B "ND new-date" 新しい日付。 現在の日付を置き換えます。 もし \fInew-date\fP が空文字列であれば、日付は印字されません。 .TP .B "OF [arg]" 奇数ページフッタ。 通常のフッタのすぐ上に 1 行印字されます。 \fBEF\fP と \fBPF\fP を参照してください。 .TP .B "OH [arg]" 奇数ページヘッダ。 通常のヘッダのすぐ下に 1 行印字されます。 \fBEH\fP と \fBPH\fP を参照してください。 .TP .B OP 後続するテキストが奇数ページの一番上に印字されることを確認します。 もし現在奇数ページの一番上にいるなら、白紙ページの出力はしません。 .TP .B "P [type]" 新しい段落の開始。 引数なしの \fBP\fP は、段落の一番最初の行も左揃えしたテキストを生成します。 これは、\fItype\fP に 0 を指定するのと同じです。 もし引数が 1 であれば、\fBP\fP に続くテキストの最初の行は 数値レジスタ \fBPi\fP に設定された数のスペースだけインデントされます。 この値は通常 5 です。 .sp \&\fBP\fP への引数として 1 を指定する代わりに、数値レジスタ \fBPt\fP に 段落の形式を設定することも可能です。 0 と 1 を設定することは、その値を \fBP\fP に与えることと同じになります。 値 2 により、すべての段落がインデントされます。 ただし見出し、リスト、ディスプレイの後は例外です。 .sp 段落間の間隔は数値レジスタの \fBPs\fP により制御され、 デフォルトでは 1 です(1 行の空白行)。 .TP .B "PGFORM [linelength [pagelength [pageoffset [1]]]]" 行長やページ長、ページオフセットを設定します。 このマクロは、レターヘッドや他のものの様に、特別の形式を生成するために 使用出来ます。 これは、通常はファイル中の最初のコマンドですが、必須ではありません。 \&\fBPGFORM\fP を引数なしで使用すれば、 \&\fBMOVE\fP の後ですべてを再初期化することが出来ます。 4 番目の引数が指定されなければ、行区切りが生成されます。 このマクロは、新しい行長とページ長を設定する一方、 最初のページにページ番号を出力するのを避けるために使用できます。 (このマクロが十分に動作していないように見えるときがあります。 代りにコマンド行引数を使用して、 行の長さ、ページの長さ、ページオフセットを変えてください。 ごめんなさい。) .TP .B PGNH 次のページにヘッダが印字されません。 レターや他の特殊なテキストのヘッダを取り除くために使われます。 最初のページのページヘッダを禁止するためには、いかなるテキストよりも前に このマクロが使われなければなりません。 .TP .B PIC [-L] [-C] [-R] [-I n] filename [width [height]] \fBPIC\fP は Postscript ファイルを文書に取り込みます。 本マクロは \fBmmroff\fP と \fBINITR\fP に依存します。 \fB-L\fP, \fB-C\fP, \fB-R\fP, \fB-I n\fP は、 ピクチャを調整するか、ピクチャをインデントします。 オプションの \fIwidth\fP と \fIheight\fP もまた、 ピクチャの大きさを変えるために指定可能です。 .TP .B PE ピクチャの終り。 \&\fBpic\fP コマンドの為のピクチャを終了します。 \&\fBpic\fP コマンドのマニュアルを参照してください。 .TP .B "PF [arg]" ページフッタ。 \&\fBPF\fP は各ページの一番下に印字される行を設定します。 通常は空です。 引数の指定に関しては \fBPH\fP を参照してください。 .TP .B "PH [arg]" ページヘッダ。 各ページの一番上に 1 行印字されます。 引数は「'left-part'center-part'right-part'」のように 指定されなければなりません。 ここで、left-part, center-part, right-part はそれぞれ左揃え、中央揃え、右揃え に印字されます。 文字 \fB%\fP は現在のページ番号に変更されます。 デフォルトのページヘッダは「''- % -''」で、ページ番号が 2 個のダッシュ記号に はさまれます。 .TP .B PS ピクチャの開始 (pic コマンドより)。 \&\fBpic\fP の為のピクチャを開始します。 マニュアルを参照してください。 .TP .B PX ページヘッダのユーザ定義による出口マクロ。 \&\fIno-space\fP モードでページヘッダの印字の直後に \fBPX\fP は呼び出されます。 .TP .B R ローマン体。 ローマンフォントに戻ります。 関連項目は \fBI\fP です。 .TP .B "RB [roman-text [bold-text [roman-text [...]]]]" ローマン体とボールド体。 偶数番目の引数はローマン体で印字されます。 奇数番目は、ボールド体で印字されます。 \fBI\fP を参照してください。 .TP .B "RD [prompt [diversion [string]]]" 標準入力から転換や文字列変数に読み込みます。 テキストは \fIdiversion\fP という名前の転換に保存されます。 テキストを取り出すには、空行にドットの後に転換の名前を書いてください。 もし \fIstring\fP が指定されたなら文字列変数 \fIstring\fP も定義されます。 \&\fIdiversion\fP や \fIprompt\fP は空 ("") にすることが出来ます。 .TP .B RF 参考文献の終了。 参考文献の定義を終了し、通常の処理に復帰します。 \&\fBRS\fP を参照してください。 .TP .B "RI [roman-text [italic-text [roman-text [...]]]]" 偶数番目の引数はローマン体で印字されます。 奇数番目はイタリック体で印字されます。 \&\fBI\fP を参照してください。 .TP .B "RL [text-indent [1]]" 参考文献リストの開始。 各項目の前に角括弧で挟まれた自動増加の番号を付けたリストを開始します。 \&\fItext-indent\fP によって、デフォルトのインデントを変更出来ます。 .TP .B "RP [arg1 [arg2]]" 参考文献ページを生成します。 もし参考文献ページが文書のどこかで必要とされているなら \fBRP\fP を用いることが出来ます。 もし \fBTC\fP が目次の生成に使われているなら、このマクロは必要ありません。 その時は参考文献ページは自動的に印字されます。 .sp もし \fIarg1\fP が 1 ならば参考文献カウンタは再初期化されません。 .sp 引数 \fIarg2\fP により \fBRP\fP に対しページ切り替えが行われるか否か を指定出来ます。 .br \fBarg2\fP .in +.5i .T2 0 参考文献ページは別のページに印字されます。 これがデフォルトです。 .T2 1 リストの後でページを切り替えません。 .T2 2 ページの前でページを切り替えません。 .T2 3 リストの前後でページを切り替えません。 .in 参考文献の項目は空行で分離されます。 数値レジスタの \fBLs\fP を 0 に設定すれば、この空行は抑止出来ます。 .sp 文字列変数の \fBRp\fP には参考文献ページの題名が入っています。 この題名は通常は \fIREFERENCES\fP に設定されています。 .TP .B "RS [string-name]" \&\fBRS\fP により自動番号付けの参考文献の定義が開始します。 文字列変数の \fB\e*(Rf\fP を参考文献記号があるべき所に配置し、 参考文献を参考文献記号の後の次の改行のところから \fBRS\fP/\fBRF\fP の間に挟んで書いてください。 参考文献番号は数値レジスタの \fB:R\fP に保存されています。 もし \fIstring-name\fP が指定されたら、その名前の文字列変数が 定義され、現在の参考文献記号が入れられます。 文字列変数はその後テキスト中で \fB\e*[\fIstring-name\fP]\fP により 参照することが出来ます。 .TP .B "S [size [spacing]]" ポイントサイズと垂直行送りを設定します。 もし引数のどれかが「P」に等しければ、そのときは以前の値が用いられます。 「C」は現在の値を表し、「D」はデフォルトの値を表します。 もし、「+」又は「-」が値の前に用いられているなら、現在の値に加算又は減算 が行われます。 .TP .B "SA [arg]" 右マージン行末揃えが設定されます。 通常、行末揃えは機能しています。 引数がないか、または \fB0\fP であれば、行末揃えは機能を止められます。 引数が \fB1\fP であれば、行末揃えは機能を働かせます。 .TP .B "SETR refname [string]" 現在のヘッダ番号とページ番号を \fIrefname\fP として記憶します。 もし \fIstring\fP が定義されていれば、\fIstring\fP を保存します。 \fIstring\fP は \fB.GETST\fP によって取り出されます。 \fBINITR\fP を参照してください。 .TP .B "SG [arg [1]]" 署名欄。 正式な結辞の後に著者(達)の名前を印字します。 引数は参照データに加えられて、最初か最後の著者の箇所に印字されます。 参照データとは \fB.AU\fP により指定される 所在地、部局、及びイニシャルです。 第 2 引数が与えられた場合、このデータは最初の著者の箇所に印字されます。 そうでない場合、最後の著者の箇所に印字されます。 著者(達)が \fB.WA\fP/\fB.WE\fP で指定されていれば、 何の参照データも印字されません。 \&\fB内部\fP セクションを参照してください。 .TP .B "SK [pages]" ページ送りします。 もし \fIpages\fP が \fB0\fP であるか省略されている場合には、既に印字位置が ページの一番上でなければ、次のページ迄ページ送りされます。 また、\fIpages\fP がこれら以外であれば、\fIpages\fP のページを ページ送りします。 .TP .B "SM string1 [string2 [string3]]" 文字列を小さくします。 もし \fIstring2\fP が指定されたときには、\fIstring1\fP は小さくなり、\fIstring2\fP は通常の大きさで \fIstring1\fP に結合されます。 引数が 3 個あるときには、すべての引数が結合され、 \fIstring2\fP だけが小さくなります。 .TP .B "SP [lines]" 垂直に行送りします。 \fIlines\fP には \fI3i\fP や \fI8v\fP の様に、何らかの単位を付けられます。 1 行にいくつかの \fBSP\fP を記述しても、それらの合計の行数ではなく、 それらのうちで最大の行数の行送りを生成します。 またページの最初のテキスト行までは \fBSP\fP は無視されます。 これを避けるには、\fBSP\fP の前に \fB\e&\fP を加えてください。 .TP .B TAB タブ位置を 5n 毎に再設定します。 通常はそれまでの任意のタブ設定位置を再設定するのに使用されます。 .TP .B "TB [title [override [flag [refname]]]]" 表の題目。 引数は \fBEC\fP のものと同じです。 \&\fBTB\fP は数値レジスタの \fBTb\fP をカウンタとして使用します。 文字列変数の \fBLt\fP は、表一覧 (List of Tables) の題名を 制御します。デフォルトでは \fILIST OF TABLES\fP となります。 表一覧が表示されるのは、 数値レジスタ \fBlLt\fP が 1 の場合のみです。 デフォルトは 1 です。 文字列変数の \fBLitb\fP は、\fITABLE\fP という単語を含みます。 この単語は、番号の前に印字されます。 .br \fBTB\fP が \fBDS\fP/\fBDE\fP の内部で使用されている場合、 特別な表題処理を行います。 \fBDS\fP の書式には影響されません。 .TP .B "TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]" 目次。 通常このマクロは文書の最後の行に置かれます。 このマクロは、数値レジスタの \fBCl\fP によって制御されるレベルまでの 見出しで構成される目次を生成します。 \fBCl\fP は見出しの保存を制御するのであって、\fBTC\fP には 何の関わりもないことに注意してください。 \fIslevel\fP 以下のレベルの見出しにはそれらの前に \fIspacing\fP だけの空行が生成されます。 \fItlevel\fP 以下のレベルの見出しには右揃えした対応するページ番号が置かれます。 これらの見出しのテキストとページ番号はドットか空白によって分離されます。 もし \fItab\fP が 0 より大きければ、空白が用いられます。 そうでなければ、ドットが用いられます。 その他の見出しには見出しテキストの末尾にページ番号が直接置かれます (\fI右揃えしない\fP)。 .sp 引数の残りのものは、目次の前に中央揃えで印字されます。 .sp もし \fBTC\fP が多くて 4 個の引数を伴って呼び出されるならば、ユーザ定義の マクロ \fBTX\fP と \fBTY\fP が使われます。 \fBTX\fP は \fICONTENTS\fP の印字の前に呼び出されます。 そして \fBTY\fP は \fICONTENTS\fP を印字する代わりに呼び出されます。 .sp 等価のマクロを、図一覧、表一覧、式一覧、エクジビット一覧用に定義可能です。 これは \fBTXxx\fP または \fBTYxx\fP を定義することにより行い、 \fBxx\fP は \fBFg\fP, \fBTB\fP, \fBEC\fP, \fBEX\fP のいずれかです。 .sp 文字列変数 \fBCi\fP を各見出しレベルのインデントを制御するために 設定できます。 インデントには \fB.ds\ Ci\ .25i\ .5i\ .75i\ 1i\ 1i\fP の様に 単位を付けなければなりません。 インデントは通常各レベルの見出しの最大長によって制御されます。 .sp すべてのテキストは再定義が出来ます。 新しい文字列変数の \fILifg\fP, \fILitb\fP, \fILiex\fP, \fILiec\fP, \fILicon\fP にはそれぞれ 「Figure」、「TABLE」、「Exhibit」、「Equation」及び「CONTENTS」 が入っています。 これらの変数は、他の言語に再定義できます。 .TP .B TE 表の終了。 \&\fBTS\fP を参照してください。 .TP .B "TH [N]" 表のヘッダ。 \&\fBTS\fP を参照してください。 \&\fBTH\fP により表のヘッダが終了します。 もしページ区切りが起こればこのヘッダはもう一度印字されます。 引数の \fIN\fP はまだ実装されていません。 .TP .B TL [charging-case number(s) [filing-case number(s)]] 覚書の題名の開始。 次の \fBAU\fP 迄のすべてのテキストが題名に含められます。 \&\fIcharging-case number\fP と \fIfiling-case number\fP は 表題紙を処理するために保存されます。 .TP .B TM [num1 [num2 [...]]] \&\fB.MT\fP で使われる技術覚書番号。 無制限な数の引数を指定できます。 .TP .B TP ユーザが定義するページ最上部のマクロです。 このマクロは通常のページヘッダの代わりに呼ばれます。 ヘッダに対して完全な制御が出来ます。 ヘッダとフッタは隔離された環境下で印字されることに注意してください。 ただし、行長は保持されています。 .TP .B "TS [H]" 表の開始。 これは \fBtbl\fP に対する表の指定の開始です。 \&\fBtbl\fP については別個のマニュアルを参照してください。 \&\fBTS\fP は、\fBTE\fP により終了します。 引数 \fIH\fP は \fBmm\fP に対し表にはヘッダがあることを指定します。 \&\fBTH\fP を参照してください。 .TP .B TX ユーザが定義する目次の出口マクロ。 このマクロは \fBTC\fP が単語 \fICONTENTS\fP を印字する直前に呼び出されます。 \&\fBTC\fP を参照してください。 .TP .B TY ユーザが定義する目次の出口マクロ (「CONTENTS」は印字しません)。 \&\fICONTENTS\fP を印字する代わりにこのマクロが呼び出されます。 \&\fBTC\fP を参照してください。 .TP .B VERBON [flag [pointsize [font]]] クーリエフォントを用いた逐語的な出力の開始。 通常プログラムの印字のためです。 すべての文字が等しい幅を持ちます。 ポイントサイズは第 2 引数により変更できます。 font 引数を指定すればクーリエの代わりに他のフォントを使うことが出来ます。 \fIflag\fP によりいくつかの特別な機能を制御します。 この引数は必要とする機能をすべて合計したものとなります。 .in +.5i .T2 値 説明 .T2 1 エスケープ文字 (\e) を無効にします。 通常、これは冗長出力の間は働いています。 .T2 2 冗長テキストの前に空行を付加します。 .T2 4 冗長テキストの後に空行を付加します。 .T2 8 冗長テキストに行番号を振って印字します。 これにより各行の先頭に数字幅のスペースが 4 個付加されます。 文字列変数の \fBVerbnm\fP でより微妙な調節が可能です。 この変数には、\fBtroff\fP コマンドの \fB.nm\fP に指定できる すべての引数が入ります。 通常は「1」が指定されています。 .T2 16 冗長テキストを 5 個の「n」だけインデントします。 これは数値変数の \fBVerbin\fP (単位付き) により管理されます。 .in .TP .B VERBOFF 逐語的出力を終了させます。 .TP .B "VL text-indent [mark-indent [1]]" 可変項目リストには決まった項目記号はありません。 代わりに、このマクロでは各 \fBLI\fP に項目記号が指定されている と仮定しています。 \fItext-indent\fP によりテキストへのインデントが設定されます。 そして \fImark-indent\fP により現在のインデント位置から項目記号までの 距離が設定されます。 第 3 引数は各項目の前に空行が印字されることを禁止します。 .TP .B "VM [-T] [top [bottom]]" 垂直マージン。 トップおよびマージンに、垂直空間を追加します。 オプション \fB-T\fP は、代りにトータルの空間を設定します。 引数を設定しないと、マージンを 0 か、 \fB-T\fP 設定時にはデフォルトの \fI(7v 5v)\fP に設定します。 \fB-T\fP を使ってトップやボトムのマージンをデフォルト値より小さくする場合、 マクロ \fBTP\fP や \fBEOP\fP を定義しておくことを強くお薦めします。 .TP .B "WA [writer-name [title]]" 著者と著者のアドレスの記述を開始します。 空の \fBWA\fP/\fBWE\fP ペアでいくつかの名前を指定出来ます。 しかしアドレスについては 1 つだけです。 .TP .B WE \&\fP.WA\fP の後でアドレスの指定を終了します。 .TP .B "WC [format]" 脚注とディスプレイの幅の調整。 .in +.5i .T2 N デフォルトのモードを設定します。 \&\fB-WF\fP, \fB-FF\fP, \fB-WD\fP 及び \fBFB\fP です。 .T2 WF 広い脚注です。2 段組モードでもやはり広い脚注です。 .T2 -WF 通常の脚注の幅です。段組モードに従います。 .T2 FF すべての脚注は最初に出現した脚注と同じ幅になります。 .T2 -FF 通常の脚注です。幅は \fBWF\fP と \fB-WF\fP に従います。 .T2 WD 広いディスプレイです。2 段組モードでもやはり広いディスプレイです。 .T2 -WD 通常のディスプレイの幅です。段組モードに従います。 .T2 FB フローティングディスプレイが現在のページに印字された時には 行区切りを生成します。 .T2 -FB フローティングディスプレイは行区切を生成しません。 .in .sp 3 .LP .\"########################################################################" .LP .B "mm で用いられている文字列変数:" .TP .B App 単語「APPENDIX」が入れてある文字列変数です。 .TP .B Apptxt 現在の付録テキスト。 .TP .B "EM" em ダッシュ文字列です。 .TP .B H1txt \&\fB.H\fP と \fB.HU\fP で、現在の見出しテキストに更新されます。 目次とその類似のものにおいても、更新されます。 .TP .B HF 見出し用のフォントの目録です。 通常は「2 2 2 2 2 2 2」です。 数字ではないフォント名も使用できます。 .TP .B HP 見出し用のポイントサイズの目録です。 通常は「0 0 0 0 0 0 0」です。 これは、「10 10 10 10 10 10 10」と同じです。 .TP .B Index \fIINDEX\fP を含みます。 .TP .B Indcmd インデックスコマンド \fIsort\ -t\et\fP を含みます。 .TP .B Lifg \fIFigure\fP を入れている文字列変数です。 .TP .B Litb \fITABLE\fP を入れている文字列変数です。 .TP .B Liex \fIExhibit\fP を入れている文字列変数です。 .TP .B Liec \&\fIEquation\fP を入れている文字列変数です。 .TP .B Licon \&\fICONTENTS\fP を入れている文字列変数です。 .TP .B Lf 「LIST OF FIGURES」を入れています。 .TP .B Lt 「LIST OF TABLES」を入れています。 .TP .B Lx 「LIST OF EXHIBITS」を入れています。 .TP .B Le 「LIST OF EQUATIONS」を入れています。 .TP .B Letfc 「Yours very truly,」を入れています。 \&\fB.FC\fP で使用されます。 .TP .B Letapp 「APPROVED:」を入れています。 \&\fB.AV\fP で使用されます。 .TP .B Letdate 「Date」を入れています。 \&\fB.AV\fP で使用されます。 .TP .B LetCN 「CONFIDENTIAL」を入れています。 \&\fB.LO CN\fP で使用されます。 .TP .B LetSA 「To Whom It May Concern:」を入れています。 \&\fB.LO SA\fP で使用されます。 .TP .B LetAT 「ATTENTION:」を入れています。 \&\fB.LO AT\fP で使用されます。 .TP .B LetSJ 「SUBJECT:」を入れています。 \&\fB.LO SJ\fP で使用されます。 .TP .B LetRN 「In reference to:」を入れています。 \&\fB.LO RN\fP で使用されます。 .TP .B Letns これは \fB.NS\fP で使用されている色々な文字列を入れている配列です。 これらは実は、\fBLetns!\fP を接頭辞とするいくつかの文字列変数です。 もし \fB.NS\fP への引数が (訳注: 予め定義されているものの中に) 存在しなければ、 その引数は \fBLetns!copy\fP を接頭辞とし \fBLetns!to\fP を接尾辞 として \fB()\fP の間に挟まれます。 \fBcopy\fP の後と \fBto\fP の前の空白に注意してください。 .nf .ta 1.5i \fB変数名 値\fP Letns!0 Copy to Letns!1 Copy (with att.) to Letns!2 Copy (without att.) to Letns!3 Att. Letns!4 Atts. Letns!5 Enc. Letns!6 Encs. Letns!7 Under separate cover Letns!8 Letter to Letns!9 Memorandum to Letns!10 Copy (with atts.) to Letns!11 Copy (without atts.) to Letns!12 Abstract Only to Letns!13 Complete Memorandum to Letns!14 CC Letns!copy Copy " Letns!to " to .fi .TP .B Letnsdef \&\fB.NS\fP に何も引数が指定されていないときに使用される標準的な注釈を 定義します。 デフォルトは \fB0\fP です。 .TP .B "MO1 - MO12" \&\fIJanuary\fP から \fIDecember\fP 迄が入っている文字列変数です。 .TP .B Qrf 「See chapter \e\e*[Qrfh], page \e\en[Qrfp].」 が入っている文字列変数です。 .TP .B Rp 「REFERENCES」が入っています。 .TP .B Tm 商標記号 \e(tm が入っています。 .TP .B Tcst 目次の現在状態と XXXX の一覧を含みます。 \&\fB.TC\fP の外では空です。 \&\fB.TP\fP のようなユーザ定義マクロでは、便利です。 .nf .ta 1.5i \fB値 意味\fP co 目次 fg 図一覧 tb 表一覧 ec 式一覧 ex エクジビット一覧 ap 付録 .fi .ta .TP .B Verbnm \&\fB.VERBON\fP で使用されている \fB.nm\fP への引数です。 デフォルト: \fB1\fP。 .\"-----------------------------------" .LP .B "mm で使用されている数値変数:" .TP .B Aph もしこの数値変数が非 0 であれば、 各々の新しい付録について新しい付録ページに印字します。 もし \fBAph\fP が 0 であれば何も出力されません。 しかし、「目次」には付録の見出し項目が常に含まれます。 .TP .B Cl 目次の見出し項目レベル。範囲は [0:7] です。 もし見出しレベルが Cl 以下であれば、目次の見出し項目は保存されます。 デフォルトは 2 です。 .TP .B Cp もし、Cp が 0 であれば、LIST OF XXXX の間で改ページを行います。 デフォルトは 0 です。 .TP .B D デバッグフラグ。 値が正値であれば、様々な段階のデバッグリストを出力します。 値が 1 であれば整形についての進行情報を提供します。 デフォルトは 0 です。 .TP .B De フローティングディスプレイの後で改ページが出力されます。 範囲は [0:1] です。デフォルトは 0 です。 .TP .B Dsp 定義されている場合、 スタティックディスプレイの前後の空白出力を制御します。 定義されていない場合には、Lsp の値が使用されます。 .TP .B Df フローティングキープの出力形式。 範囲は [0:5] です。デフォルトは 5 です。 .TP .B Ds もし 1 であれば、ディスプレイの前後で \fBLsp\fP だけ行送りします。 範囲は [0:1] です。デフォルトは 1 です。 .TP .B Ej 改ページ。デフォルトは 0 です。 .TP .B Eq 数式ラベルの行揃え。 0 なら左揃え、1 なら右揃え。デフォルトは 0 です。 .TP .B Fs 脚注の行送り。デフォルトは 1 です。 .TP .B "H1-H7" 見出しカウンタ。 .TP .B H1dot 0 より大の場合、レベル 1 の見出し番号の後にドットを付けます。 デフォルトは 1 です。 .TP .B H1h 数値レジスタ \fBH1\fP をコピーしますが、 ページブレイク直前に増加されます。 ユーザ定義のヘッダマクロにおいて有用です。 .TP .B Hb 見出し行区切りのレベル。 範囲は [0:7] です。デフォルトは 2 です。 .TP .B Hc 見出し中央揃えのレベル。 範囲は [0:7] です。デフォルトは 0 です。 .TP .B Hi 見出しの一時的なインデント。 範囲は [0:2] です。デフォルトは 1 です。 .br 0\ ->\ 0 インデント、左マージン .br 1\ ->\ 右へインデント、.P 1 と同様 .br 2\ ->\ 先行する見出しのテキスト部分に合わせてインデント .TP .B Hps 見出しに先立つ行送りのレベルについての数値変数です。 もし見出しレベルが \fBHps\fP 以下ならば、 セクション見出しには 1 行ではなく 2 行が先行します。 デフォルトは第 1 レベルだけです。 行送りの実際の量は変数 \fBHps1\fP と \fBHps2\fP により制御されます。 .TP .B Hps1 見出しレベルが \fBHps\fP より大きい場合に \fB.H\fP に先行する行数です。 値には単位を付けます。通常は 0.5 です。 .TP .B Hps2 見出しレベルが \fBHps\fP 以下の場合に \fB.H\fP に先行する行数です。 値には単位を付けます。通常は 1 です。 .TP .B Hs 見出し行送りレベル。 範囲は [0:7] です。デフォルトは 2 です。 .TP .B Hss 見出しレベルが \fBHs\fP 以下のとき、 \&\fB.H\fP の後にこの数の行が続きます。 値は単位指定であり、通常 1 です。 .TP .B Ht 見出し番号の形式。デフォルトは 0 です。 0 -> 複合番号 (1.1.1 ...) .br 1 -> 単一番号。 .TP .B Hu 番号無し見出しのレベル。デフォルトは 2 です。 .TP .B Hy 本文のハイフネーション。デフォルトは 1 です。 .br 0\ ->\ ハイフネーションしない。 .br 1\ ->\ 14 でハイフネーションをする。 .TP .B Iso ISO 書式の日付文字列を得るには、コマンドラインでこの変数を 1 に設定します (\fB-rIso=1\fP)。 文書中では使用できません。 .TP .B L ページの長さであり、コマンドラインでのみ設定できます。 .TP .B Letwam \&\fB.WA\fP/\fB.WE\fP で使われる返送先アドレスの最大行数。 デフォルトは 14 です。 .TP .B "Lf, Lt, Lx, Le" それぞれ、図一覧、表一覧、エグジビット一覧、式一覧の 印字の許可 (1)、又は禁止 (0) です。 デフォルトは、Lf=1, Lt=1, Lx=1, Le=0 です。 .TP .B Li \&.AL で使われるリストのインデントです。 デフォルトは 6 です。 .TP .B Limsp 自動リスト (.Al) 用の、接頭辞と記号の間の空白のフラグです。 .br 0\ ==\ 空白無し .br 1\ ==\ 空白有り .TP .B Ls リストの行送り。 もし現在のリストレベルが Ls より大きければ、 リストの周囲には行送りは生じません。 デフォルトは 99 です。 .TP .B Lsp 空行の大きさ。通常は 0.5v です。 しかし、もし \fBn\fP が設定されていれば (\fB.nroff\fP)、1v となります。 .TP .B N 番号付けの形式。範囲は [0:5] です。デフォルトは 0 です。 .br 0\ ==\ (デフォルト) すべてのページで通常のヘッダ。 .br 1\ ==\ 最初のページのフッタはヘッダに置き換えられます。 ヘッダ部分には何もありません。 .br 2\ ==\ 最初のページのページヘッダは取り除かれます。 .br 3\ ==\ 「セクション - ページ」の番号付けが有効になります。 .br 4\ ==\ 最初のページのページヘッダは取り除かれます。 .br 5\ ==\ 「セクション - ページ」と「セクション - 図」の番号付けが有効になります。 関連項目は数値レジスタの Sectf と Sectp です。 .TP .B Np 番号付きの段落です。デフォルトは 0 です。 .br 0\ ==\ 番号を振りません。 .br 1\ ==\ 第 1 レベルの見出しに番号を振ります。 .TP .B O ページオフセットであり、コマンドラインでのみ設定できます。 .TP .B Of 図、表、エグジビット、数式の題目の形式です。 デフォルトは 0 です。 .br 0\ =\ ". " .br 1\ =\ " - " .TP .B P 現在のページ番号です。 「セクション - ページ」の番号付けが有効でなければ、 通常は % と同じです。 .TP .B Pi 段落のインデントです。 デフォルトは 5 です。 .TP .B Pgps ヘッダとフッタのポイントサイズが、現在の設定に従うべきか、 あるいはヘッダとフッタが定義されたときにだけ変更されるべきかを制御します。 .in +.5i .ti -.5i .T2 値 説明 .T2 0 \&\fB.PH\fP, \fB.PF\fP, \fB.OH\fP, \fP.EH\fP, \fB.OF\fP, \fB.OE\fP が実行された時だけ、ポイントサイズが現在の設定に変更されます。 .T2 1 ポイントサイズは \fB.S\fP のたびに変更されます。 これがデフォルトです。 .in .TP .B Ps 段落の行送り。デフォルトは 1 です。 .TP .B Pt 段落の形式です。デフォルトは 0 です。 .br 0\ ==\ 左揃え .br 1\ ==\ インデントする .P .br 2\ ==\ .H, .DE, .LE の後以外では、インデントする .P .TP .B Sectf 「セクション - 図」を制御するフラグです。 非 0 値であれば有効になります。 関連項目はレジスタ N です。 .TP .B Sectp 「セクション - ページ番号」を制御するフラグです。 非 0 値であれば有効になります。 関連項目はレジスタ N です。 .TP .B Si ディスプレイのインデントです。デフォルトは 5 です。 .TP .B Verbin \&\fB.VERBON\fP のインデントです。デフォルトは 5n です。 .TP .B W 行の長さであり、コマンドラインでのみ設定できます。 .TP .B .mgm 常に 1 です。 .LP .SH 内部 レターマクロではレターの形式により決まる種々の副マクロが使用されています。 副マクロの名前にはレターの形式が接尾辞として入っています。 そのため他のレターの形式の定義を、 その国のマクロファイル内や、局所的な追加として行うことが可能です。 \&\fB.LT\fP は数値変数の \fBPt\fP と \fBPi\fP を 0 と 5 に設定します。 新しいレター形式については、 以下の文字列変数とマクロを定義しなければなりません: .TP \fBlet@init_\fP\fItype\fP このマクロは \fB.LT\fP によって直接呼び出されます。 変数や他の要素を初期化することになっています。 .TP \fBlet@head_\fP\fItype\fP このマクロはレターヘッドを印字します。 通常のページヘッダの代わりに呼び出されます。 \fBlet@header\fP という別名を取り除くことになっています。 そうしなければ、この別名はすべてのページにおいて呼び出されてしまいます。 .TP \fBlet@sg_\fP\fItype\ name\ title\ n\ flag\ [arg1\ [arg2\ [...]]]\fP レターの場合だけ、\fB.SG\fP がこのマクロを呼び出します。 覚書にはそれ独自の処理機構があります。 \fIname\fP と \fItitle\fP は \fB.WA\fP/\fB.WB\fP によって指定されます。 \fIn\fP はカウンタで、1 から max までです。 そして \fIflag\fP は、\fIname\fP が最後の名前であれば真の値になります。 \&\fB.SG\fP に対する他の引数が追加されます。 .TP \fBlet@fc_\fP\fItype\ closing\fP このマクロは \fB.FC\fP によって呼び出され、正式な結辞を引数とします。 .LP \&\fB.LO\fP が包括的なオプションマクロとして実装されています。 \&\fB.LO\fP には \fBLet\fP\fItype\fP という名前の文字列変数が 定義されていることが必要とされます。 ここで、\fItype\fP はレターの形式です。 そのとき、\fB.LO\fP は引数を文字列変数 \fBlet*lo-\fP\fItype\fP に 割り当てます。 .LP .\".SH バグ .\" " .SH 作者 .ie t J\(:orgen H\(:agg, Lund, Sweden .el Jorgen Hagg, Lund, Sweden .SH 関連ファイル .TP .B /usr/share/tmac/tmac.m .TP .B /usr/share/tmac/mm/*.cov .TP .B /usr/share/tmac/mm/*.MT .TP .B /usr/share/tmac/mm/locale .SH 関連項目 .BR groff (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1) .br .BR groff_mmse (7) .\" Translated by Tetsuro FURUYA , Dec., 1998. . .\" Local Variables: .\" mode: nroff .\" coding: latin-1 .\" End: diff --git a/ja_JP.eucJP/man/man7/roff.7 b/ja_JP.eucJP/man/man7/roff.7 index e6d52222f2..29888a60f4 100644 --- a/ja_JP.eucJP/man/man7/roff.7 +++ b/ja_JP.eucJP/man/man7/roff.7 @@ -1,1294 +1,1294 @@ '\" t .ig roff.man Last update: 3 Apr 2003 This file is part of groff, the GNU roff type-setting system. Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. written by Bernd Warken maintained by Werner Lemberg Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being this .ig-section and AUTHORS, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the Free Documentation License is included as a file called FDL in the main directory of the groff source package. .. .\" $FreeBSD$ .\" WORD: gremlin picture gremlin 図 . .\" -------------------------------------------------------------------- .\" Setup .\" -------------------------------------------------------------------- . .mso www.tmac . .if n \{\ . mso tty-char.tmac . ftr CR R . ftr CI I . ftr CB B .\} . .if '\*[.T]'dvi' \{\ . ftr CB CW .\} . . .\" -------------------------------------------------------------------- .\" String definitions . .\" Final `\""' comments are used to make Emacs happy, sic \"" . .\" The `-' sign for options. .ie t \{\ . ds @- \-\" . ds @-- \-\-\" .\} .el \{\ . ds @- -\" . ds @-- --\" .\} . .ds Comment \.\[rs]\[dq]\" .ds Ellipsis \.\|.\|.\&\" . . .\" -------------------------------------------------------------------- .\" Begin of macro definitions . .de c .\" this is like a comment request when escape mechanism is off .. . .eo . .c --------------------------------------------------------------------- . .de Text . nop \)\$* .. . .de CodeSkip . ie t \ . sp 0.2v . el \ . sp .. . .de Esc . ds @1 \$1\" . shift . Text \f[B]\[rs]\*[@1]\f[]\$* . rm @1 .. . .de QuotedChar . ds @1 \$1 . shift . nop `\f[B]\*[@1]\f[]'\$* . rm @1 .. . .c -------------------------------------------------------------------- . .c a shell command line .de ShellCommand . br . ad l . nh . Text \f[I]sh#\h'1m'\f[]\f[CR]\$*\f[]\&\" . ft R . ft P . hy . ad .. . .c -------------------------------------------------------------------- . .c ShortOpt ([c [punct]]) .c .c `-c' somewhere in the text. .c The second argument is some trailing punctuation. .c .de ShortOpt . ds @1 \$1\" . shift . nh . Text \f[CB]\*[@-]\f[]\f[B]\*[@1]\f[]\/\$* . hy . rm @1 .. . .de TP+ . br . ns . TP \$1 .. . .c -------------------------------------------------------------------- . .c Topic .c .de Topic . TP 2m . Text \[bu] .. . .ec .\" End of macro definitions . . .\" -------------------------------------------------------------------- .\" Title .\" -------------------------------------------------------------------- . .TH ROFF 7 "1 May 2003" "Groff Version 1.19" .SH 名称 roff \- roff の清書のコンセプトと歴史 . . .\" -------------------------------------------------------------------- .SH 解説 .\" -------------------------------------------------------------------- . .I roff とは清書プログラム群の一般名称です。 .IR troff , .IR nroff , .IR ditroff , .IR groff などの名前で知られています。 . roff 清書システムは、拡張可能なフォーマット用言語と、 印刷および他のテキスト書式への変換のための一連のプログラムからなります。 . 伝統的には、これが Unix の主たるテキスト処理システムでした。 すべての Unix 的なオペレーティングシステムは、 いまだに roff システムをコアパッケージとして配布しています。 . .P 今日、最も一般的な roff システムはフリーソフトウェアでの 実装である .IR "GNU roff", .BR groff (1) です。 . .I groff です。 groff より前の実装は .I 古典 (1973 年まで遡ります) と呼ぶことにします。 . .I groff は、古典である先祖の見た目や使用感および機能を実装していますが、 多くの拡張を持ちます。 . .I groff ほとんどすべての計算機システムで利用できるため、今日では事実上の roff 標準となっています。 .P 古い Unix システムでは、 .I Multics オペレーティングシステムのもっと古い .B runoff を実装した、 .B roff と呼ばれるバイナリを持つものがありました。 .B 歴史 節を参照してください。 このプログラムの機能は、古代の troff と比べてさえ限定されたものでした。 これはもうサポートされていません。 . この結果、この文書では、 .I roff という術語は常に .IR "roff システム" 一般を指し、古代の roff バイナリを指しません。 . .P その古さにもかかわらず、roff は今日でも広く使用されています。 例えば、UNIX システムのマニュアルページ .RI ( man ページ ) や多くのソフトウェア書籍、システム文書、標準、企業の文書は roff で書かれています。 . テキストデバイスに対する roff 出力は、いまだに並ぶもののないほど優れて います。グラフィカルな出力も他のフリーの清書プログラムと同等の品質を 持っていますし、ものによっては商用システムのものよりも優れているときも あります。 . .P roff のもっとも有名なアプリケーションは .I マニュアルページ または単に .IR "man ページ" と呼ばれるものです。 これは、多くのオペレーティングシステムにおいて、 標準の文書化システムです。 . .P この文書は、 .IR "roff システム" の開発にまつわる歴史的な事実、 すべての roff バージョンに共通な使用側面や通常は .BR groff (1) のようなフロントエンドに隠されてしまうような roff パイプラインの詳細、 このフォーマット言語の一般概要、roff ファイル編集のこつ、 さらなる参考資料へのポインタを記述します。 . . .\" -------------------------------------------------------------------- .SH 歴史 .\" -------------------------------------------------------------------- . .I roff テキスト処理システムは、非常に長い歴史を持ち、1960 年代まで遡ります。 . roff システム自身 Unix オペレーティングシステムと密に繋っていますが、 その根源はより昔のオペレーティングシステムである CTSS および Multics です。 . . .\" -------------------------------------------------------------------- .SS "runoff の先祖" .\" -------------------------------------------------------------------- . .P .I roff の進化はオペレーティングシステムの歴史に密にかかわっています。 . その先祖である .B runoff は、 .I Jerry Saltzer によって .I CTSS .RI ( "Compatible Time Sharing System" ) オペレーティングシステム上で書かれました。 1961 年という早い時期です。 . 1963 年から CTSS が更に開発され、 -Unix の有名な先祖であるペレーティングシステム +Unix の有名な先祖であるオペレーティングシステム .URL http://\:www.multicians.org "Multics" になるとき、 .I runoff は文書テキスト処理の主たる書式になりました。 . 両オペレーティングシステムは当時非常に高価な計算機上でのみ動作したので、 それらは研究分野や政府や軍事の目的で主に使用されていました。 . .P 現代の roff に比べ、 .I runoff 言語の可能性は非常に限られていました。 . 1960 年代には、テキスト出力のみが可能でした。 . これは、長さ 2 のリクエストの集合により実装可能でした。 その多くは、roff でも同じく使用されています。 . この言語は、計算機世代以前の清書習慣に従ってモデル化されたものでした。 原稿中のドットで開始する行は、 後で手動で清書を行う人に対する清書の指示を表していたのです。 . .P runoff プログラムは、最初に .I PL/1 言語で記述され、後に .I C プログラム言語の祖母である .I BCPL で記述されました。 . Multics オペレーティングシステムでは、 ヘルプシステムが runoff で扱われていました。 これは、roff が Unix マニュアルページを扱う仕事と似ています。 . runoff 言語で書かれた文書は、現存します。 例えば Saltzer のホームページを見てください。 .B "関連項目" の節を参照してください。 . . .\" -------------------------------------------------------------------- .SS "古典的な nroff/troff システム" .\" -------------------------------------------------------------------- . 1970 年代には、Multics の子 .I Unix の人気がどんどんでてきました。 これは、購入可能なマシン上で動作することと、 当時大学ではより簡単に入手可能であったためです。 . MIT (the Massachusetts Institute of Technology) では、 Unix を実行する PDP-11 計算機からのグラフィックス出力デバイスである、 Wang .I Graphic Systems CAT 清書機を動かす必要がありました。 . runoff の機能はこの目的には足りなかったので、 .I "Josef F. Osanna" の手により更に強力なテキストフォーマットシステムへと開発されました。 彼は、Multics オペレーティングシステムの主たる開発者であり、 いくつかの runoff ポートのプログラマでもあります。 . .P .I runoff という名前は .I roff に縮められました。 Osanna のコンセプトである非常に拡大された言語は、既に完全な .I "roff システム" のすべての要素を含んでいました。 . すべての現代的な roff システムは、 このシステムとの互換性を実装しようとしています。 . そのため、Joe Osanna は roff システムの父とも呼べるのです。 . .P この最初の .I roff システム は 3 個のフォーマットプログラムを持っていました。 . .TP .B troff .RI ( "植字機 roff\/" ) は、唯一のデバイスとして .I CAT 植字機用のグラフィカル出力を生成しました。 . .TP .B nroff は、端末および行プリンタに適したテキスト出力を生成しました。 . .TP .B roff は、以前の runoff プログラムの再実装でしたが、機能は限定されていました。 このプログラムは後のバージョンで捨てられました。 . 今日では、 .I roff という名前は、troff/\:nroff システム全体を指すために使用されます。 . .P Osanna の最初のバージョンは PDP-11 アセンブリ言語で記述され、 1973 年にリリースされました。 . .I Brian Kernighan が、これを C プログラミング言語で書き直すことで、 .I roff 開発に加わりました。 . C バージョンは 1975 年にリリースされました。 . .P フォーマット言語 .BR nroff / troff プログラムは、著名な .IR "Troff User's Manual [CSTR\~#54]" に記述されています。 これは、1976 年に最初に出版され、 1992 年まで Brian Kernighan によって改訂され続けました。 . この文書は .I "古典 troff" の仕様書です。 後のすべての .I roff システムは、この仕様との互換性を確立しようと試みました。 . .P 1977 年に約 50 歳にて Osanna が心臓発作で死去した後は、 Kernighan が troff の開発を続けました。 . 次のマイルストーンは、 より多くのデバイスと中間出力言語と後処理システムのサポートのために、 一般的なインタフェースを troff に備えることでした。 . これは今日でも使用されていますので、これにより、 .I "roff システム" の構造が完成しました。 .BR "ROFF の使い方" の節を参照してください。 . 1979 年には、これらの斬新なシステムが論文 .IR "[CSTR\~#97]" に記述されました。 この新しい troff バージョンは、 .I groff を含む既存するすべてのより新しい troff システムの基礎となりました。 . システムによっては、この .I デバイス独立 troff だけで、 .BR ditroff (7) と呼ばれるバイナリを持つものもあります。 . すべての現代的な .B troff プログラムは、既に、完全な ditroff 機能を自動的に提供します。 . . .\" -------------------------------------------------------------------- .SS "商用化" .\" -------------------------------------------------------------------- . 簡単に入手可能な Unix\~7 オペレーティングシステムが商用化されたときに、 大きな退化が発生しました。 . 分岐したオペレーティングシステムが大量発生し、 互いに非互換な拡張をめぐって争いました。 . 幸運なことに、これらの非互換性は、元の troff とは争いませんでした。 . すべての商用 roff システムは、 Osanna/\:Kernighan のオープンソースコードと文書を多用しましたが、 それらに些細な追加をしただけで \[lq]彼等\[rq] のシステムとして販売しました。 . .P 古代 Unix と古典 troff のソースコードは、20 年もの間利用不可能でした。 . 幸運なことに、2001 年に Caldera が SCO UNIX を購入しました。 . そして Caldera は、古代のソースコードに対する、 非商用目的でのオンラインアクセスを可能にしました。 .BR "関連項目" を参照してください。 . . .\" -------------------------------------------------------------------- .SS "フリーの roff" .\" -------------------------------------------------------------------- . 商用 roff システムのいずれも、 一般的な roff 開発の後継者の地位を獲得できませんでした。 . 誰もが各々の物にだけ興味があったのです。 . これは 1980 年代に、 一度は素晴しかった Unix オペレーティングシステムの急降下に繋がります。 . .P 急速に突き進む商用化への対抗策として、 AT&T Bell Labs は、彼等の .I Plan\~9 オペレーティングシステムで救援プロジェクトを立ち上げようとしました。 . これは非商用にはソースコードですら自由に利用可能でしたが、 プロプラエタリなライセンスがあって、自由な開発を阻害していたのです。 . このコンセプトは時代遅れであったので、 メインストリームの開発をまとめるプラットフォームとしては Plan\~9 は受け入れられませんでした。 . .P 唯一の救済は、立ち上がりつつあったフリーのオペレーティングシステム (386BSD, GNU/\:Linux 等) やソフトウェアプロジェクトによるもので、 それは 1980 年代および 1990 年代のことです。 . これらは古代 Unix の機能と多くの拡張を実装していましたので、 古い経験は失われなかったのです。 . 21 世紀には、Unix 的なシステムは、再度、 計算機産業におけるメジャーな要因になりました \[em] フリーソフトウェアのおかげで。 . .P 最重要なフリー roff プロジェクトは troff の GNU ポートです。 James Clark によって作成され、 .URL http://\:www.gnu.org/\:copyleft "GNU Public License" にされました。 . これは .I groff .RI ( "GNU roff" ) と呼ばれます。 概要は .BR groff (1) を参照してください。 . .P groff システムは、依然として活発に開発されています。 . これは古典 troff と互換ですが、多くの拡張が追加されています。 . ほとんどすべての計算機システムで利用できる、 はじめての roff システムです \[em] しかもフリーです。 . このため、今日では groff が事実上の roff 標準となっています。 . . .\" -------------------------------------------------------------------- .SH "ROFF の使い方" .\" -------------------------------------------------------------------- . ほとんどの人々は、実際に roff を使っていることにさえ気付かないでしょう。 . システムマニュアルページ (man ページ) を読むときには、 roff がバックグラウンドで動作しているのです。 . roff 文書は、生粋のビューアである .BR xditview (1x) で閲覧可能です。 これは、X ウィンドウ配布物の標準プログラムです。 .BR X (7x) を参照してください。 . 明示的に roff を使うのもまた難しくはありません。 . .P roff の実装によっては、ラッパプログラムがあり、 シェルのコマンドラインから roff システムを簡単に使えるようにしています。 . 例えば、GNU roff 実装では、次のようになっています。 古典 troff の長いコマンドパイプを避けるためのコマンドラインオプションを 与えるために、 .BR groff (1) が提供されています。 .BR grog (1) プログラムは、文書をもとに、groff を起動するための引数を推測します。 コマンドラインオプションを指定したくない方は、 .BR groffer (1) プログラムを試すと良いでしょう。 こちらは、groff ファイルと man ページをグラフィカルに表示するためのものです。 . . .\" -------------------------------------------------------------------- .SS "roff パイプ" .\" -------------------------------------------------------------------- . 各 roff システムは、プリプロセッサ、roff フォーマットプログラム、 一組のデバイスポストプロセッサ群からなります。 . このコンセプトは、 .I パイプライン 機構を多用します。 それはすなわち、一連のプログラムが次々と呼ばれ、そこでは、 行列上の各プログラムの出力が次のプログラムの入力となるというものです。 . .CodeSkip . .ds @1 "cat \f[I]file\f[P] |\"" .ds @2 "\*[Ellipsis] | \f[I]preproc\f[P] | \*[Ellipsis] |\"" .ds @3 "troff \f[I]options\f[P] | \f[I]postproc\f[P]\"" . .ShellCommand "\*[@1] \*[@2] \*[@3]" . .rm @1 .rm @2 .rm @3 .P プリプロセッサは roff コードを生成し、これは roff フォーマッタ (例えば troff) に与えられます。 次に、roff フォーマッタが、 .I 中間出力 を生成し、これがデバイスポストプロセッサプログラムに与えられて 印刷や最終出力に使用されます。 . .P これらの部分すべてが、各自のプログラム言語を使用します。 各言語は、他の部分とは完全に独立です。 . 更に、特殊用途向けの roff マクロパッケージも含めることが可能です。 . .P ほとんどの roff 文書は、なにがしかのパッケージのマクロを使用し、 それらをプリプロセッサのコードと混ぜて使い、 それらに素の roff 言語の要素で味付けします。 . roff フォーマット言語の完全な力は、ユーザはほとんどの場合必要としません。 マクロパッケージのプログラマだけが、そのすさまじい詳細を知る必要があるのです。 . . . .\" -------------------------------------------------------------------- .SS "プリプロセッサ" .\" -------------------------------------------------------------------- . roff プリプロセッサは、 roff フォーマット言語に構文的に従う出力を生成する、任意のプログラムです。 . 各プリプロセッサは、 このプリプロセッサを通すと、roff コードに変換されるような、 自分自身の言語を定義します。 . このような言語で記述された部分は、roff 文書に埋め込めます。 このような部分は、特殊な roff リクエストやマクロで識別されます。 . プリプロセッサコードで拡張された文書は、 対応するすべてのプリプロセッサを通してから、 実際の roff フォーマットプログラムに通す必要があります。 これにより、フォーマッタが、外部コードを単に無視できるようになります。 . プリプロセッサプログラムは、文書のうち、 自分自身のものと判断した部分のみを抽出して変換します。 . .P フリーおよび商用の roff プリプロセッサが多数あります。 . すべてのシステムで利用できるわけではないものものありますが、 プリプロセッサのほんの小さな集合は、 roff システムの一部とみなされます。 . 古典的なプリプロセッサは次の通りです。 . .de @TP .\" local indent for .TP .TP \\w'\\f[B]soelim\\f[P]'u+2n .. .P .RS .PD 0 .@TP .B tbl 表のためのものです。 .@TP .B eqn 数式のためのものです。 .@TP .B pic 図の描画のためのものです。 .@TP .B refer 参考文献の参照用です。 .@TP .B soelim 標準の場所からマクロファイルをインクルードするためのものです。 .PD .RE . .P すべてのシステムで使用可能ではありませんが、 他の有名なプリプロセッサは次の通りです。 . .P .RS .PD 0 .@TP .B chem 化学式の描画のためのものです。 .@TP .B grap グラフィカル要素を構築するためのものです。 .@TP .B grn .BR gremlin (1) 図を埋め込むためのものです。 .PD .RE . .rm @TP . .\" -------------------------------------------------------------------- .SS "フォーマットプログラム" .\" -------------------------------------------------------------------- . .I roff フォーマッタ は、roff フォーマット言語で記述された文書 または roff マクロパッケージを使用する文書を、構文解析します。 . 生成される .IR "中間出力" は、フォーマットプログラムのコマンドラインオプションで指定されている、 単一のデバイスポストプロセッサに与えられることを意図しています。 . 文書は、必要なすべてのプリプロセッサに事前に通されていることが必要です。 . .P roff フォーマッタが生成する出力は、もうひとつの言語、すなわち .IR "中間出力書式" や .IR "troff 出力" と呼ばれるもので表現されます。 この言語は、最初に .IR "[CSTR\~#97]" で仕様が記述されました。 この GNU 拡張が .BR groff_out 5 に記述されています。 . 中間出力言語は、高位の roff 言語に対する、アセンブリ言語のようなものです。 . 生成された中間出力はある特殊デバイス用に最適化されたものですが、 言語はすべてのデバイスに共通です。 . .P roff 生成器は、roff システムの心臓です。 . 典型的な roff は、2 個の生成器、すなわちテキストデバイス用の .B nroff と、グラフィカルデバイス用の .B troff を持っています。 . .P しばしば、 .I troff という名前が、両方の生成器を指す一般術語として使用されます。 . . .\" -------------------------------------------------------------------- .SS "デバイスとポストプロセッサ" .\" -------------------------------------------------------------------- . デバイスとは、プリンタやテキスト端末やグラフィカル端末といった ハードウェアインタフェースや、別のテキスト形式やグラフィカル形式への 変換のソフトウェアインタフェースです。 . .P roff ポストプロセッサは、troff 出力を、 特殊デバイスに適した形式に変換するプログラムです。 . roff ポストプロセッサは、出力対象に対するデバイスドライバのようなものです。 . .P 各デバイスに対し、 そのデバイスに最適化されたポストプロセッサプログラムがあります。 . ポストプロセッサは、生成された中間出力を構文解析し、 デバイスに直接送られるバイス固有コードを生成します。 . .P デバイスおよびポストプロセッサの名前は固定ではありません。 なぜなら、これらは一般的に、実際の計算機のソフトウェアおよびハードウェアの 能力に依存するからです。 . 例えば、 .I [CSTR\~#54] で述べられている古典的なデバイスは、 古典的な時代から大部変わってしまいました。 . 古いハードウェアはもはや存在しませんし、 古いグラフィカル変換器は、現在使えるものと比較すると、非常に不正確です。 . .P 例えば、古典的な troff における Postscript デバイス .I post は解像度 720 でしたが、groff の .I ps デバイスは 72000 であり、100 倍の改善がなされています。 . .P 今日では、プリンタのようなほとんどのデバイスに対しては オペレーティングシステムがデバイスドライバを提供しますので、 それぞれのプリンタに対して特殊なハードウェアポストプロセッサを記述する 必要はありません。 . . .\" -------------------------------------------------------------------- .SH "ROFF プログラム" .\" -------------------------------------------------------------------- . roff を使用した文書は、普通のテキストファイルを roff のフォーマット用 要素で修飾したものです。 . roff フォーマット言語は非常に強力です。 ほぼ完全なプログラミング言語であり、言語を拡張する要素を提供します。 . これらを使用することで、特殊な応用に適したマクロパッケージを開発する ことが可能です。 . このようなマクロパッケージは、素の roff よりも簡単に扱えます。 . ほとんどの人々はマクロパッケージを選択することで、 roff 言語の内部について気にしなくても良くなっています。 . . .\" -------------------------------------------------------------------- .SS "マクロパッケージ" .\" -------------------------------------------------------------------- . マクロパッケージは、ある特殊な種類の文書を簡便な方法で フォーマットするのに適したマクロの集合です。 . マクロパッケージによって、roff の使い勝手が格段に良くなります。 . パッケージのマクロ定義は、 .IB name .tmac (または .BI tmac. name\c ) と呼ばれるファイルに保管されています。 . すべての tmac ファイルは、 1 つまたはそれ以上のディレクトリ中の標準の場所に保管されています。 . マクロパッケージの命名およびその置き場所についての一般的な詳細は .BR groff_tmac (5) にあります。 . .P 文書が使用するマクロパッケージは、 .BR troff (1) にあるようにフォーマッタのコマンドラインオプション .ShortOpt m で宣言することもできますし、 .BR groff (7) にあるように文書中で roff 言語のファイルインクルードリクエストで 指定可能です。 . .P 有名な古典的マクロパッケージとしては、典型的なマニュアルページ用の .I man や、BSD スタイルのマニュアルページ用の .I mdoc や、書籍・記事・手紙用の .I me (おそらく、作成者 .I Eric Allman のファーストネームから来ています) や、 .I ms .RI ( "Manuscript Macros" から来ています) や .I mm .RI ( "Memorandum Macros" から来ています) があります。 . . .\" -------------------------------------------------------------------- .SS "roff フォーマット言語" .\" -------------------------------------------------------------------- . 古典的な roff フォーマト言語は .I Troff User's Manual .IR "[CSTR\~#54]" に記述されています。 . roff 言語はリクエスト、マクロ定義、エスケープシーケンス、 文字列変数、数値レジスタまたはサイズレジスタ、そして 制御構造を提供する完全なプログラミング言語です。 . .P .I リクエスト は、シェルプロンプトにおけるコマンドのような、 定義された基本的なフォーマット用コマンドです。 . ユーザは、定義済の roff 要素を使用して、 リクエストのような要素を定義可能です。 . これらは、 .I マクロ と呼ばれます。 . 文書の著者は、リクエストとマクロを使う際の違いに 気づくことはないでしょう。どちらもドット 始まりの単独行で記述されます。 . .P .I エスケープシーケンス は、roff の要素であり、バックスラッシュ .QuotedChar \[rs] で始まります。 どこにでも挿入することができ、 それは行のテキストのまんなかであっても構いません。 . これらはさまざまな機能を実装するのに 使われます。 それには、 .Esc ( を用いた非 ASCII 文字の挿入、 .Esc f を用いたフォントの変更、 .Esc \[dq] を用いた文中のコメント、 .Esc \[rs] のような特殊な制御文字のエスケープ、 その他多くの機能が含まれます . .P .I 文字列 は文字列を格納可能な変数です。 . 文字列は、 .B .ds リクエストで格納可能です。 . 格納された文字列は、後で .B \[rs]* エスケープシーケンスを使用することで取り出せます。 . .P .I レジスタ は数値やサイズを格納します。 . レジスタは、 .B .nr リクエストで設定可能であり、その値は .BR "\[rs]n" エスケープシーケンスで取り出せます。 . . .\" -------------------------------------------------------------------- .SH "ファイル名の拡張子" .\" -------------------------------------------------------------------- . マニュアルページ (man ページ) はファイル名の拡張子として セクション番号をとります。例えば、この文書のファイル名は .IR roff.7 です。つまり、この文書はマニュアルページの セクション 7 . .P 古典的なマクロパッケージは、パッケージ名を拡張子にとります。 .I me マクロパッケージを使った文書は .IB file. me となり、 .IR mm マクロパッケージに対しては .IB file. mm 、 .IR ms マクロパッケージに対しては .IB file. ms 、 .I pic ファイルに対しては .IB file. pic といった具合です。 . .P roff 文書の一般的な命名方式はありませんが、時々 .I troff ファイル 用に .IB file. tr が使われているのが見受けられます。 . roff ファイル用に標準のファイル名拡張子が必要なのかもしれません。 . .P ファイル名拡張子は、 .BR less (1) ページャと組み合わせると、非常に便利なことがあります。 . これにより、シェル環境変数で指定されるコマンドラインパイプ .BR LESSOPEN へすべての入力を与えることが可能となります。 この処理はうまく書けませんので、例を書いておきます: . .CodeSkip .ShellCommand LESSOPEN='|lesspipe %s' .CodeSkip . ここで .B lesspipe は、システムが提供するコマンドやあなたが書いたシェルスクリプトです。 . . .\" -------------------------------------------------------------------- .SH "ROFF の編集" .\" -------------------------------------------------------------------- . roff 文書を編集するための最良のプログラムは Emacs (または Xemacs) です。 .BR emacs (1) を参照してください。 これは、あらゆる roff 方言に適した .I nroff モードを提供します。 . このモードは、次の方法で有効にできます。 . .P Emacs でファイルを編集しているときには、 .RI ` "M-x nroff-mode" ' とタイプすることでモードを変えられます。 ここで、 .B M-x は .B Meta キー (または .BR Alt ) を押したままで同時に .BR x キーを押すことを意味します。 . .P ファイルをエディタにロードしたときに自動的にモードを選択するようにする ことも可能です。 . .Topic もっとも一般的な方法は、次の 3 個のコメント行を、ファイルの最後に 含めることです。 . .CodeSkip .nf .B \*[Comment] Local Variables: .B \*[Comment] mode: nroff .B \*[Comment] End: .fi . .Topic 例えば man ページのような、あるファイル名拡張子の集合は、 nroff モードを自動的に有効にします。 . .Topic 理論上は、ファイルの最初の行として .CodeSkip .B \*[Comment] \%-*-\ nroff\ -*- .CodeSkip を書いておくことで、ロード時に nroff モードを開始可能です。 . 不幸なことに、これで混乱してしまう .B man プログラムのようなアプリケーションがありますので、 この方法は価値が低下しています。 . .P すべての roff 整形器は、自動化された改行と水平および垂直の間隔調整を 提供します。 . これを邪魔しないようにするには、次のこつが役立つでしょう。 . .Topic roff 文書に、空の行や空行を入れないでください。 . 構造的な要素が必要な場合には、代りに、 空のリクエスト (ドットのみからなる行) や、行コメント .B \*[Comment] を使ってください。 . .Topic 予期せぬ動作になるので、行を空白で開始しないでください。 . インデントされた段落は、roff リクエストで制御された方法で構築可能です。 . .Topic 各文をそれ自身の独立した行で開始することによって、 ドットが略語を終端するのか文を終端するのかによって、 ドットの後の空間を調整します。 . 両者を区別するために、各文の後で、改行してください。 . .Topic 更に、Emacs でオートフィルモードを使用するには、各文の後に、 空の roff リクエスト (ドットのみの行) を入れるのが最良です。 . .P 次の例は、最適な roff 編集がどのように見えるかを示しています。 . .IP .nf This is an example for a roff document. .Text . This is the next sentence in the same paragraph. .Text . This is a longer sentence stretching over several lines; abbreviations like `cf.' are easily identified because the dot is not followed by a line break. .Text . In the output, this will still go to the same paragraph. .fi . .P Emacs 以外にも、nroff スタイルファイルを提供するものがあります。 例えば、 .BR vi (1) の拡張である .BR vim (1) がそうです。 . . .\" -------------------------------------------------------------------- .SH バグ .\" -------------------------------------------------------------------- . .I UNIX\[rg] は、Open Group の登録商標です。 . Caldera が SCO UNIX を 2001 年に買収して以来、事態はずいぶん良く なりました。 . . .\" -------------------------------------------------------------------- .SH "関連項目" .\" -------------------------------------------------------------------- . roff 関連の文書は沢山あります。 . 古典的な troff に関するオリジナルの論文は、まだ入手可能であり、 groff のすべての側面について非常に細かいことまで記述されています。 . . .\" -------------------------------------------------------------------- .SS "インターネットサイト" .\" -------------------------------------------------------------------- . .TP troff.org .URL http://\:www.troff.org "The historical troff site" には、roff のすべての歴史的な側面に関する概要とポインタがあります。 . .TP Multics .URL http://\:www.multicians.org "The Multics site" には、MIT プロジェクト、CTSS や Multics や初期の Unix や .IR runoff の多くの情報があります。 用語解説や古代文書への多くのリンクが、特に有用でしょう。 . .TP Unix Archive .URL http://\:www.tuhs.org/\:Archive/ \ "The Ancient Unixes Archive" . には、Caldera が 2001 年以来パブリックにした古代 Unix のソースコードや バイナリ (troff のソースコードとその文書を含む) があります。 例えば、著名な Unix version\~7 for PDP-11 は .URL http://\:www.tuhs.org/\:Archive/\:PDP-11/\:Trees/\:V7 \ "Unix V7 site" にあります。 . .TP Developers at AT&T Bell Labs .URL http://\:cm.bell-labs.com/\:cm/\:index.html \ "Bell Labs Computing and Mathematical Sciences Research" . には、初期の開発者の情報を追跡するための、検索機能があります。 . .TP AT&T Bell Labs による Plan 9 .URL http://\:plan9.bell-labs.com "The Plan\~9 operating system" . です。 . .TP runoff .URL http://web.mit.edu/\:Saltzer/\:www/\:publications/\:pubs.html \ "Jerry Saltzer's home page" . には、古代の runoff 整形言語を使用した文書があります。 . .TP CSTR の論文 .URL http://\:cm.bell-labs.com/\:cm/\:cs/\:cstr.html \ "The Bell Labs CSTR site" . には、オリジナルの troff マニュアル (CSTR #54, #97, #114, #116, #122) と有名な歴史的なプログラミング文書があります。 . .TP GNU roff .URL http://\:www.gnu.org/\:software/\:groff "The groff web site" には、実際の標準 roff である、フリー roff 実装の groff があります。 . . .\" -------------------------------------------------------------------- .SS "歴史的な roff 文書" .\" -------------------------------------------------------------------- . 多くの古典的な .troff 文書が、まだオンラインで入手可能です。 . troff 言語の主要な 2 冊のマニュアルは次の通りです。 . .TP [CSTR\~#54] J. F. Osanna, .URL http://\:cm.bell-labs.com/\:cm/\:cs/\:54.ps \ "\fINroff/\:Troff User's Manual\fP" ; . Bell Labs, 1976; revised by Brian Kernighan, 1992. . .TP [CSTR\~#97] Brian Kernighan, .URL http://\:cm.bell-labs.com/\:cm/\:cs/\:97.ps \ "\fIA Typesetter-independent TROFF\fP" , . Bell Labs, 1981, revised March 1982. . .P 「小言語」の roff 論文は次の通りです。 . .TP [CSTR\~#114] Jon L. Bentley and Brian W. Kernighan, .URL http://\:cm.bell-labs.com/\:cm/\:cs/\:114.ps \ "\fIGRAP \(em A Language for Typesetting Graphs\fP" ; . Bell Labs, August 1984. . .TP [CSTR\~#116] Brian W. Kernighan, .URL http://\:cm.bell-labs.com/\:cm/\:cs/\:116.ps \ "\fIPIC -- A Graphics Language for Typesetting\fP" ; . Bell Labs, December 1984. . .TP [CSTR\~#122] J. L. Bentley, L. W. Jelinski, and B. W. Kernighan, .URL http://\:cm.bell-labs.com/\:cm/\:cs/\:122.ps \ "\fICHEM \(em A Program for Typesetting Chemical Structure Diagrams, \ Computers and Chemistry\fP" ; . Bell Labs, April 1986. . . .\" -------------------------------------------------------------------- .SS "マニュアルページ" .\" -------------------------------------------------------------------- . 構造が複雑であるため、完全な roff システムには、複数の man ページが 含まれ、それぞれが roff のあるひとつの側面を記述しています。 . 不幸なことに、異なった roff 実装間でも一般的となる、 文書の命名方法はありません。 . .P .IR groff では、man ページ .BR groff 1 に、groff で利用可能なすべての文書の概観が含まれます。 . .P 他のシステムでは、おまかせしますが、 .BR troff (1) から始めると良いかもしれません。 . . .\" -------------------------------------------------------------------- .SH 作者 .\" -------------------------------------------------------------------- . Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. . .P この文書は FDL (GNU Free Documentation License) バージョン 1.1 以降の条項のもとに配布されています。 . FDL のコピーをシステム上に持っているはずです。 また、これはオンライン .URL http://\:www.gnu.org/\:copyleft/\:fdl.html "GNU copyleft site" でも入手可能です。 . .P このドキュメントは .IR groff すなわち GNU roff 配布物の一部です。 . .MTO bwarken@mayn.de "Bernd Warken" が書き、 .MTO wl@gnu.org "Werner Lemberg" が管理しています。 . . .\" -------------------------------------------------------------------- .\" Emacs setup .\" -------------------------------------------------------------------- . .\" Local Variables: .\" mode: nroff .\" End: diff --git a/ja_JP.eucJP/man/man8/boot0cfg.8 b/ja_JP.eucJP/man/man8/boot0cfg.8 index c66ead2db5..d83abc5492 100644 --- a/ja_JP.eucJP/man/man8/boot0cfg.8 +++ b/ja_JP.eucJP/man/man8/boot0cfg.8 @@ -1,184 +1,184 @@ .\" Copyright (c) 1999 Robert Nordier .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, .\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT .\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR .\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" %FreeBSD: src/usr.sbin/boot0cfg/boot0cfg.8,v 1.22 2003/09/14 13:41:57 ru Exp % .\" .\" $FreeBSD$ .\" .Dd February 21, 1999 .Dt BOOT0CFG 8 .Os .Sh 名称 .Nm boot0cfg .Nd ブートマネージャのインストールと設定ユーティリティ .Sh 書式 .Nm .Op Fl Bv .Op Fl b Ar boot0 .Op Fl d Ar drive .Op Fl f Ar file .Op Fl m Ar mask .Op Fl o Ar options .Op Fl s Ar slice .Op Fl t Ar ticks .Ar disk .Sh 解説 .Fx の .Sq boot0 ブートマネージャは、 i386 マシン (PC) がどのディスクのどのスライスから起動するかを、 操作者が選択できるようにします。 .Pp ここで、 .Dq スライス と言及しているものは、 .Bx 以外の PC 関連文書においては一般的に .Dq パーティション と呼ばれることに注意してください。 典型的には、リムーバブルディスク以外のみ、スライスを持ちます。 .Pp オプションとして、 .Nm ユーティリティは .Sq boot0 ブートマネージャを指定した .Ar disk へインストールします; そして、様々に操作可能なパラメータの設定を許します。 .Pp PC では、ブートマネージャは典型的にディスクのセクタ 0 にあり、 マスタブートレコード (Master Boot Record; MBR) として知られています。 MBR は、コード (PC BIOS から制御を渡されます) と データ (定義されたスライスに関する組み込みの表) の、両方を含みます。 .Pp オプションは次の通りです: .Bl -tag -width indent .It Fl B .Sq boot0 ブートマネージャをインストールします。 このオプションは、MBR コードを交換しますが、 組み込み済のスライス表には影響しません。 .It Fl b Ar boot0 どの .Sq boot0 イメージを使用するかを指定します。デフォルトは .Pa /boot/boot0 です。 .It Fl d Ar drive 指定した .Ar disk を含むドライブを参照するために PC BIOS が使用する、ドライブ番号を指定します。 典型的には、最初のハードドライブは 0x80 であり、 2 番目のハードドライブは 0x81 などとなります; 0 から 0xff までの間の任意の整数を受け付け可能です。 .It Fl f Ar file 以前あった MBR のバックアップコピーを .Ar file に書き込むべきであることを指定します。 このファイルは、存在しない場合には作成され、 存在する場合には置換されます。 .It Fl m Ar mask スライスの有効/無効を指定します。 .Ar mask は 0 (全スライスが無効) から 0xf (4 つ全部のスライスが有効) の間の整数です。 .It Fl o Ar options コンマで区切られた文字列であり、次のオプションを指定可能です (必要に応じて .Dq no を前に付けることが可能です): .Bl -tag -width indent .It packet ディスク関連 BIOS サービスにアクセスするときに、 伝統的な (CHS) インタフェースではなく、 ディスクパケット (BIOS Int 0x13 拡張) インタフェースを必要に応じて使用します。 -これにより、1023 シンリンダ超からブート可能となりますが、 +これにより、1023 シリンダ超からブート可能となりますが、 特定のBIOS サポートが必要です。 デフォルトは .Sq nopacket です。 .It setdrv ディスクを含むドライブの参照に、-d オプションにより 定義可能なドライブ番号を使用することを強制します。 デフォルトは .Sq nosetdrv です。 .It update ブートマネージャが MBR を更新することを許可します。(スライスを .Sq 活動 状態とするためや、スライスの選択情報を保存するために、MBR が更新されます。) これがデフォルトです; .Sq noupdate オプションを指定すると、MBR は読み込み専用で扱われます。 .El .It Fl s Ar slice デフォルトのブート選択を .Ar slice に設定します。 1 から 4 までの値は、スライスを示します。 値 5 は、2 番目のディスクからのブートを示します。 本オプションは、通常、 .Sq noupdate オプションと共に使用します。 .It Fl t Ar ticks タイムアウト値を .Ar ticks に設定します (1 秒あたりの tick 数は約 18.2 個です)。 .It Fl v 冗長: 定義されたスライスに関する情報などを表示します。 .El .Sh 関連ファイル .Bl -tag -width /boot/boot0 -compact .It Pa /boot/boot0 デフォルトの .Sq boot0 イメージ .El .Sh 使用例 次回ブート時にスライス 2 からブートします: .Pp .Dl "boot0cfg -s 2 ad0" .Pp メニューで、スライス 1 と 2 だけを有効にします: .Pp .Dl "boot0cfg -m 0x3 ad0" .Sh 関連項目 .Xr boot 8 , .Xr fdisk 8 .Sh 診断 .Ex -std .Sh 作者 .An Robert Nordier Aq rnordier@FreeBSD.org .Sh バグ .Sq packet オプションを使用すると、 .Sq boot0 が失敗することがあります。 これは BIOS サポートの性質に依存しています。 .Pp 誤った -d オペランドとともに .Sq setdrv オプションを使用すると、MBR を誤ったディスクへ書き込むことになります。 注意してください ! diff --git a/ja_JP.eucJP/man/man8/chown.8 b/ja_JP.eucJP/man/man8/chown.8 index a8ba45773d..3a1aacd8d7 100644 --- a/ja_JP.eucJP/man/man8/chown.8 +++ b/ja_JP.eucJP/man/man8/chown.8 @@ -1,167 +1,167 @@ .\" Copyright (c) 1990, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)chown.8 8.3 (Berkeley) 3/31/94 .\" %FreeBSD: src/usr.sbin/chown/chown.8,v 1.22 2003/04/25 08:57:55 johan Exp % .\" .\" $FreeBSD$ .\" .Dd April 25, 2003 .Dt CHOWN 8 .Os .Sh 名称 .Nm chown .Nd 指定したファイルの所有者およびグループを変更する .Sh 書式 .Nm .Op Fl fhv .Oo .Fl R .Op Fl H | Fl L | Fl P .Oc .Ar owner Ns Op : Ns Ar group .Ar .Nm .Op Fl fhv .Oo .Fl R .Op Fl H | Fl L | Fl P .Oc .No : Ns Ar group .Ar .Sh 解説 .Nm ユーティリティは、指定したファイルのユーザ ID やグループ ID を変更します。 引数で指定されるシンボリックリンクは、 .Fl h が指定されない限りは、何も表示せずに無変更のままとなります。 .Pp オプションは以下のものがあります: .Bl -tag -width Ds .It Fl H .Fl R オプションが指定されている場合に、コマンドライン上の シンボリックリンクをたどるようになります。 ( ツリー内をたどっている際中に見つけたシンボリックリンクの先は 調べません。) .It Fl L .Fl R オプションが指定された場合に、全てのシンボリックリンクを たどるようになります。 .It Fl P .Fl R オプションが指定された場合に、シンボリックリンクの先を たどらないようになります。 これがデフォルトです。 .It Fl R 指定したディレクトリツリーのファイルのユーザ ID やグループ ID を -(再帰的に、ティレクトリ内のものを含め) +(再帰的に、ディレクトリ内のものを含め) 変更します。 .Dq Li ".*" のようなワイルドカードを使用するときには、 親ディレクトリへのハードリンク .Dq Pa ".." が意図に反してマッチしないように注意してください。 .It Fl f 所有者やグループの変更が失敗しても報告を行ないません。 変更の失敗は戻り値にも影響しません。 .It Fl h ファイルがシンボリックリンクの場合、 リンク自身のユーザ ID および/またはグループ ID を変更します。 .It Fl v .Nm を冗長にし、所有者が修正されるファイルを表示させます。 .Fl v フラグが複数回指定されると、 .Nm は、ファイル名に続けて、 古い数値ユーザ/グループ ID と新しい数値ユーザ/グループ ID を 表示します。 .El .Pp .Fl H , .Fl L , .Fl P のオプションは .Fl R が指定されない限り無視されます。 加えて、これらのオプションはお互いの効果を上書きするため、 コマンドの動作は一番最後に指定されたもので決まります。 .Pp .Ar owner と .Ar group のオペランドはどちらも無くてもよいもの (optional) ですが、 少なくともどちらかを指定しなければなりません。 .Ar group オペランドを指定した場合は 先頭にコロン (``:'') をつけて下さい。 .Pp .Ar owner は ユーザ ID の数値かユーザ名のどちらかです。ユーザ名がユーザ ID の数値でもある場合、このオペランドはユーザ名とみなされます。 .Ar group は グループ ID の数値かグループ名のどちらかです。グループ名がグループ ID の数値でもある場合、このオペランドはグループ名とみなされます。 .Pp セキュリティの関係上明らかなことですが、ファイルの所有者の変更はスーパユーザ にしか行なうことができません。 .Sh 診断 .Ex -std .Sh 互換性 .Nm の以前のバージョンは、グループ名を指定するのにドット (``.'') を 用いていました。 この文字はコロン (``:'') に変更されたため、 ユーザ名やグループ名にドットを含んでも構いません。 .Pp 以前のバージョンのシステムでは、シンボリックリンクは所有者がありませんでした。 .Pp .Fl v オプションは非標準ですので、スクリプト中での使用は勧められません。 .Sh 関連項目 .Xr chgrp 1 , .Xr find 1 , .Xr chown 2 , .Xr fts 3 , .Xr symlink 7 .Sh 規格 .Nm ユーティリティは .St -p1003.2 互換であると考えられています。 .Sh 歴史 .Nm ユーティリティは .At v1 から導入されました。 diff --git a/ja_JP.eucJP/man/man8/fingerd.8 b/ja_JP.eucJP/man/man8/fingerd.8 index e79b293bad..4cd1e83f2a 100644 --- a/ja_JP.eucJP/man/man8/fingerd.8 +++ b/ja_JP.eucJP/man/man8/fingerd.8 @@ -1,149 +1,149 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)fingerd.8 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/libexec/fingerd/fingerd.8,v 1.12 2002/08/13 11:11:32 ru Exp % .\" $FreeBSD$ .\" .Dd June 4, 1993 .Dt FINGERD 8 .Os .Sh 名称 .Nm fingerd .Nd 他のホストからの finger 要求に応えるサーバプログラム .Sh 書式 .Nm .Op Fl s .Op Fl l .Op Fl p Ar filename .Sh 解説 .Nm ユーティリティは、ネットワークの各サイト上の .Xr finger 1 プログラムとのインタフェースを提供する、 .%T RFC1196 で規定されるプロトコルを実現するデーモンプログラムです。 このプログラムはシステムあるいは特定の人について 人間的で親しみやすい状況報告をするものです。 特別なフォーマットは規定されておらず、プロトコルは 1 行ずつ .Dq コマンドライン のような形式でやりとりされます。 また .Fl p フラグと組み合わせることにより、他のプロトコルの実装のために .Nm を使用可能です。 .Pp .Nm ユーティリティは、 .Tn TCP の 79 番ポートを見張っている .Xr inetd 8 から開始されます。接続されると、 .Aq Tn CRLF で区切られたコマンドライン 1 行を受け取ります。これは .Xr finger 1 に送られ、処理されます。 .Nm ユーティリティは、出力が終わるとすぐに接続を切ります。 .Pp もし、そのコマンドラインがヌルの (つまり .Aq Tn CRLF だけが送られた) 場合、 .Xr finger 1 は .Dq デフォルト の出力を行ないます。デフォルトは、その時にシステムにログインしている全ての 人のリストです。 .Pp もし、ユーザ名が指定されると (たとえば .Pf eric Aq Tn CRLF ) 出力は、その人に関する詳細な情報だけとなります。これには、 ログインしている/いないの情報も含まれます。 コマンドラインの .Dq names は、 .Dq ログイン名 と .Dq ユーザ名 のどちらでもかまいません。 名前が曖昧な場合は、マッチするものすべてについて表示されます。 .Pp .Nm に渡す引数として、 .Pa /etc/inetd.conf の中で指定できるオプションは以下のとおりです: .Bl -tag -width indent .It Fl s secureモードを有効にします。ユーザ名なしの問い合わせと、他の リモートホストへの問い合わせの転送は拒否されます。 .It Fl l ログをとります。問い合わせをしたホストの名前を .Xr syslog 3 を通して LOG_NOTICE の優先度で報告します。 .It Fl p ローカルの情報提供元としてデフォルト以外のプログラムを使います。 .Nm によって起動されるデフォルトのローカルプログラムは、 .Xr finger 1 です。カスタマイズされたローカルサーバを指定することにより、 システム管理者はリモートサイトに提供する情報を -さらにコトロールできます。 +さらにコントロールできます。 .Fl p が指定されると、 .Nm は、環境変数 .Ev FINGERD_REMOTE_HOST をリクエストしているホスト名に設定します。 .El .Sh 関連項目 .Xr finger 1 , .Xr inetd 8 .Sh バグ サーバに .Tn TIP や、同じくらい見識の狭い .Tn TELNET Ns \-protocol ユーザプログラムで直接コネクトすると、 サーバに意味の無いネゴシエーションオプションを送ることになり 不正なコマンドライン解釈を行う可能性があります。 .Nm ユーティリティは、 .Tn IAC のものをフィルタリングして除くべきであり、おそらく 受け取った全てのオプションコマンドを否定するよう .Pq Tn IAC 拒否 をするべきです。 .Sh 歴史 .Nm ユーティリティは .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/moused.8 b/ja_JP.eucJP/man/man8/moused.8 index 3810ab2d94..7d0c573702 100644 --- a/ja_JP.eucJP/man/man8/moused.8 +++ b/ja_JP.eucJP/man/man8/moused.8 @@ -1,664 +1,664 @@ .\" Copyright (c) 1996 .\" Mike Pritchard . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Mike Pritchard. .\" 4. Neither the name of the author nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %FreeBSD: src/usr.sbin/moused/moused.8,v 1.43 2003/06/08 14:04:49 charnier Exp % .\" .\" $FreeBSD$ .Dd April 1, 2000 .Dt MOUSED 8 .Os .Sh 名称 .Nm moused .Nd マウスデータをコンソールドライバに渡す .Sh 書式 .Nm .Op Fl DPRacdfs .Op Fl I Ar file .Op Fl F Ar rate .Op Fl r Ar resolution .Op Fl S Ar baudrate .Op Fl a Ar X Ns Op , Ns Ar Y .Op Fl C Ar threshold .Op Fl m Ar N=M .Op Fl w Ar N .Op Fl z Ar target .Op Fl t Ar mousetype .Op Fl 3 Op Fl E Ar timeout .Fl p Ar port .Pp .Nm .Op Fl Pd .Fl p Ar port .Fl i Ar info .Sh 解説 .Nm ユーティリティとコンソールドライバは協力し、 テキストコンソールやユーザプログラムにおけるマウス操作をサポートします。 マウスの仮想化とユーザプログラムへのマウスデータの提供は標準フォーマット にて行われます ( .Xr sysmouse 4 を御覧ください)。 .Pp マウスデーモンはマウスデータの読みとりのために指定されたポートを監視し、 解釈したデータを ioctl を介してコンソールドライバに渡します。 マウスデーモンは、移動、ボタンの押し/離しイベント、 存在するならばローラやホイールの移動も報告します。 ローラ/ホイールの移動は ``Z'' 軸での移動として報告されます。 .Pp マウスポインタが .Xr vidcontrol 1 によって有効にされていれば、 コンソールドライバはマウスポインタをスクリーンに表示し、 カットとペーストの機能を提供します。 .Xr sysmouse 4 をユーザプログラムがオープンすると、コンソールドライバは マウスデータをこのデバイスに送るので、 ユーザプログラムはこのデータを使用できます。 .Pp マウスデーモンがシグナル .Dv SIGHUP を受けとると、マウスポートを再オープンし、自己を再初期化します。 システムがサスペンドされている間にマウスの挿抜を行なった場合に有用です。 .Pp 以下のオプションがあります: .Bl -tag -width indent .It Fl 3 2 ボタンマウスで 3 番目(中)のボタンをエミュレートします。 物理的なボタンで左と右のものを同時に押すとエミュレートされます。 .It Fl C Ar threshold ダブルクリック速度をボタンクリック間最大インターバルとしてミリ秒で指定します。 このオプションを指定しないと、デフォルト値は 500 ミリ秒が仮定されます。 このオプションは、 テキストモードコンソールのカットとペーストの操作においてのみ有効です。 .Xr sysmouse 4 を介してマウスデータを得るユーザプログラムは影響を受けません。 .It Fl D シリアルポートの DTR を下げます。 このオプションが有効なのは、 .Ar mousesystems がマウスプロトコルとして選択されている場合のみです。 .Ar mousesystems モードで 3 ボタンマウスを操作するためには、 DTR ラインを落とすことが必要かもしれません。 .It Fl E Ar timeout 第 3 ボタンエミュレーション (前述) が有効なとき、2 つのボタンが同時に押されたかを判定する前に .Nm ユーティリティは最長 .Ar timeout ミリ秒待ちます。 デフォルトのタイムアウトは 100 ミリ秒です。 .It Fl F Ar rate サポートされていれば、デバイスのレポート頻度(秒あたりの回数)を設定します。 .It Fl I Ar file .Nm ユーティリティのプロセス ID を、指定されたファイルに書きます。 このオプションを指定しないと、プロセス ID は .Pa /var/run/moused.pid に格納されます。 .It Fl P シリアルマウス識別時に、 プラグアンドプレイ COM デバイス列挙処理を開始しません。 .Fl i オプションと共にこのオプションが指定された場合、 .Nm ユーティリティはシリアルマウスに関する有用な情報を表示できません。 .It Fl R シリアルポートの RTS を下げます。 このオプションが有効なのは .Ar mousesystems がプロトコルタイプとして、後述する .Fl t オプションで指定されている場合のみです。 これは前記 .Fl D オプションと共によく使用されます。 .Ar mousesystems モードで 3 ボタンマウスを操作するためには、 RTS と DTR のラインを共に下げる必要があるかもしれません。 .It Fl S Ar baudrate シリアルポートの速度を指定します (1200 から 9600)。 全シリアルマウスがこのオプションをサポートするわけではありません。 .It Fl a Ar X Ns Op , Ns Ar Y マウスの入力を加速または減速します。 線型加速のみです。 1.0 より小さい値は、しばらく減速します。 1.0 より大きい値は、加速します。 1 個の値だけを指定した場合、両方の座標軸での加速を設定します。 .It Fl c マウスによっては、中ボタンを押したイベントを、 左右ボタンが押されたかのようにレポートするものがあります。 このオプションはこれを扱うものです。 .It Fl d デバッグ用のメッセージを有効にします。 .It Fl f デーモンにならずに、フォアグラウンドプロセスとして実行します。 テストやデバッグに有用です。 .It Fl i Ar info 指定された情報を表示し終了します。指定可能な情報を以下に示します: .Pp .Bl -tag -compact -width modelxxx .It Ar port ポート(デバイスファイル)名、例えば .Pa /dev/cuaa0 , .Pa /dev/mse0 , .Pa /dev/psm0 です。 .It Ar if インタフェースタイプ: serial, bus, inport, ps/2 です。 .It Ar type プロトコルタイプ。 .Fl t オプションの説明の後でリストされているものか、 ドライバが .Ar sysmouse データフォーマット標準をサポートする場合には .Ar sysmouse です。 .It Ar model マウスモデル。 .Nm ユーティリティは常にモデルを識別できるわけではありません。 .It Ar all 上記全部。ポート、インタフェース、タイプ、モデルをこの順に一行に表示します。 .El .Pp .Nm ユーティリティは要求された情報を判別できない場合、 ``unknown'' か ``generic'' を表示します。 .It Fl m Ar N=M 物理ボタン .Ar M に論理ボタン .Ar N を割当てます。 このオプションは任意個数指定可能です。 複数の物理ボタンを単一の論理ボタンに割り当て可能です。 この場合、指定された物理ボタンのいずれかが押されている場合、 論理ボタンが押されていることになります。`=' の周りにスペースを入れてはなりません。 .It Fl p Ar port マウスと通信するためのポートとして .Ar port を使います。 .It Fl r Ar resolution デバイスの解像度を設定します; インチあたりのドット数または、 .Ar low , .Ar medium-low , .Ar medium-high , .Ar high のいずれかです。 全デバイスにてこのオプションがサポートされているわけではありません。 .It Fl s シリアルラインのために 9600 ボーを選びます。 全シリアルマウスがこのオプションをサポートしているわけではありません。 .It Fl t Ar type ポートに接続されているマウスのプロトコルタイプを指定します。 以下に列挙されるタイプを陽に指定するか、 .Ar auto を指定して .Nm ユーティリティに適切なプロトコルを自動選択させることができます。 コマンドラインにてこのオプションを指定しないと、 .Fl t Ar auto が仮定されます。 通常では、 .Nm ユーティリティがプロトコルの自動検出ができない場合に必要です ( .Sx マウスデーモンの構成 ) を参照。 .Pp このオプションでプロトコルタイプを指定した場合、 前記 .Fl P オプションが暗示され、プラグアンドプレイ COM デバイス列挙処理が無効になります。 .Pp また、マウスを PS/2 マウスポートに接続している場合、 常に .Ar auto か .Ar ps/2 を選択すべきです。 これは、マウスのブランドやモデルとは関係ありません。 同様に、マウスをバスマウスポートに接続している場合、 .Ar auto か .Ar busmouse を選択してください。 これらのマウスではシリアルマウスプロトコルは動作しません。 .Pp USB マウスでは、プロトコルは .Ar auto であることが必要です。他のプロトコルは USB マウスで動作しません。 .Pp このオプションにおける有効なタイプを以下に列挙します。 .Pp シリアルマウス: .Bl -tag -compact -width mousesystemsxxx .It Ar microsoft Microsoft シリアルマウスプロトコル。 大抵の 2 ボタンマウスはこのプロトコルを使用します。 .It Ar intellimouse Microsoft IntelliMouse プロトコル。 Genius NetMouse, .Tn ASCII Mie Mouse, Logitech MouseMan+, FirstMouse+ もこのプロトコルを使用します。 他のローラ/ホイールを持つマウスもこのプロトコル互換でしょう。 .It Ar mousesystems MouseSystems の 5 バイトプロトコル。 3 ボタンマウスはこのプロトコルを使用するかもしれません。 .It Ar mmseries MM Series マウスプロトコル。 .It Ar logitech Logitech マウスプロトコル。 これは古い Logitech モデルであることに注意。 新しいモデルには .Ar mouseman もしくは .Ar intellimouse を指定します。 .It Ar mouseman Logitech MouseMan と TrackMan のプロトコル。 3 ボタンマウスによってはこのプロトコル互換かもしれません。 MouseMan+ と FirstMouse+ は、このプロトコルではなく、 .Ar intellimouse プロトコルを使用します .It Ar glidepoint ALPS GlidePoint プロトコル。 .It Ar thinkingmouse Kensington ThinkingMouse プロトコル。 .It Ar mmhitab Hitachi タブレットプロトコル。 .It Ar x10mouseremote X10 MouseRemote。 .It Ar kidspad Genius の Kidspad と Easypad のプロトコル。 .It Ar versapad Interlink VersaPad プロトコル。 .El .Pp バスおよび InPort マウス: .Bl -tag -compact -width mousesystemsxxx .It Ar busmouse バスおよび InPort マウスはこのプロトコルのみ使用可能であり、 バスおよび InPort マウスはブランドに依らずこのオプションを 指定する必要があります。 .El .Pp PS/2 マウス: .Bl -tag -compact -width mousesystemsxxx .It Ar ps/2 PS/2 マウスはこのプロトコルのみ使用可能であり、 PS/2 マウスはブランドに依らずこのオプションを 指定する必要があります。 .El .Pp USB マウスでは、 .Ar auto が使用可能な唯一のプロトコルであり、 ブランドにかかわらず USB マウスにはこれを指定すべきです。 .It Fl w Ar N 物理ボタン .Ar N が、ホイールモードボタンとして動作するようにします。 このボタンが押されている間、X 軸および Y 軸の移動は 0 と報告され、 Y 軸の移動は Z 軸の移動に割り付けられます。 後述する .Fl z オプションを使用することにより、 Z 軸の移動を更に仮想ボタンに割り付けることができます。 .It Fl z Ar target Z 軸(ローラ/ホイール)動作を別の軸や仮想ボタンに割り付けます。 有効な .Ar target は以下のいずれかです: .Bl -tag -compact -width x__ .It Ar x .It Ar y X または Y 軸の移動として、検知した Z 軸移動を報告します。 .It Ar N 仮想ボタン .Ar N および .Ar N+1 を押したイベントとして、検知した負/正の Z 軸移動をそれぞれ報告します。 物理ボタン .Ar N と .Ar N+1 が存在する必要はありません。 論理ボタンへの割り付けは Z 軸移動を仮想ボタンへ割り付けた後に行われます。 .It Ar N1 N2 仮想ボタン .Ar N1 および .Ar N2 を押したイベントとして、検知した負/正の Z 軸移動をそれぞれ報告します。 .It Ar N1 N2 N3 N4 2 個のホイールがあり 2 番目のホイールが水平スクロール動作を生成するために使用されるマウス、 およびユーザが加えた水平の力を検知するノブまたはスティック付きのマウスで 有用です。 .Pp 2 番目のホイールの動きは、負の向きが .Ar N3 にマップされ、正の向きが .Ar N4 にマップされます。 ボタン .Ar N3 および .Ar N4 がマウスに実在する場合、このアクションは検出されません。 .Pp 水平移動や 2 番目のローラ/ホイールの動きは常に検出されるわけではないことに 注意してください。 なぜなら、 これらをエンコードするための受け入れられた標準が無いように見えるからです。 .Pp また、水平方向において、左が負であると考えるマウスもいれば、 逆だと考えるマウスもいることにも注意してください。 更に、2 個のホイールが両方とも垂直に搭載されており、 一方の方向がもう一方の方向とはマッチしないものもあります。 .El .El .Ss マウスデーモンの構成 まず、使用予定マウスのインタフェースタイプを知ることが必要です。 これはマウスのコネクタを見れば分かります。 -シリアルアウスは D-Sub の 9 ピンまたは 25 ピンのメスです。 +シリアルマウスは D-Sub の 9 ピンまたは 25 ピンのメスです。 バスおよび InPort のマウスは D-Sub 9 ピンのオスか丸い DIN 9 ピンコネクタです。 PS/2 マウスは小さくて丸い DIN 6 ピンコネクタです。 マウスによってはコネクタを別の形状に変換可能なコネクタが附属しています。 このようなアダプタを使用する場合には、 マウスから一番遠いコネクタの形状を見てください。 USB マウスは、平らな長方形のコネクタを持ちます。 .Pp 次に決めねばならないことは、インタフェースのために使用するポートです。 バス、InPort、PS/2 マウスでは、選択肢はありません: バスおよび InPort マウスは常に .Pa /dev/mse0 を使用し、 PS/2 マウスは常に .Pa /dev/psm0 を使用します。 シリアルマウスの場合、接続可能なポートが複数ありえます。 多くの人が組み込みのシリアルポート .Pa /dev/cuaa0 をマウスに割当てます。 複数の USB マウスをシステムまたは USB ハブに接続可能です。 それらは .Pa /dev/ums0 , /dev/ums1 のようにアクセス可能です。 .Pa シンボリックリンク .Pa /dev/mouse でマウスの実際のポートを指すようにして、 どのマウスポートか後で簡単に分かるようにするのが良いかもしれません。 .Pp 次に適切なマウスプロトコルを選択します。 .Nm ユーティリティはマウスタイプを自動決定可能かもしれません。 .Nm ユーティリティを .Fl i オプションを付けて実行し、表示を見ます。 コマンドがプロトコルタイプを識別した場合、あなたは何も調べる必要はありません。 プロトコルタイプを指定せずにデーモンを起動可能です ( .Sx 使用例 ) を参照。 .Pp コマンドは、マウスドライバが .Ar sysmouse プロトコルをサポートする場合、 .Ar sysmouse と表示するかもしれません。 .Pp 表示される .Dv type と .Dv model は、対象のポインティングデバイスの製品名では必ずしもありませんが、 互換性のあるデバイスの名前でしょう。 .Pp .Fl i オプションがなにも表示しない場合、 .Nm ユーティリティに対して .Fl t オプションを使用し、プロトコルタイプを指定する必要があります。 予測して試行する必要があります。 以下に経験則を示します: .Pp .Bl -enum -compact -width 1.X .It バスおよび InPort マウスはブランドに依らず .Ar busmouse プロトコルを使用します .It PS/2 マウスはブランドに依らず .Ar ps/2 プロトコルを使用します .It USB マウスには .Ar auto プロトコルを指定する必要があります。 .It ほとんどの 2 ボタンシリアルマウスは .Ar microsoft プロトコルをサポートします。 .It 3 ボタンシリアルマウスは .Ar mousesystems プロトコルで動作するかもしれません。動作しない場合には、 三番目(中)ボタンが機能せずに .Ar microsoft プロトコルで動作するでしょう。 3 ボタンシリアルマウスは、期待通り三番目のボタンが動作しつつ .Ar mouseman プロトコルで動作するかもしれません。 .It 3 ボタンマウスには小さなスイッチが付いていて、 ``MS'' と ``PC'' または ``2'' と ``3'' とで選択できるようになっている かもしれません。 ``MS'' と ``2'' は通常 .Ar microsoft プロトコルを意味します。 ``PC'' と ``3'' は .Ar mousesystems プロトコルを選択します。 .It マウスにローラやホイールが付いている場合、 .Ar intellimouse プロトコル互換でしょう。 .El .Pp マウスのために選択したプロトコルタイプが正しいかどうかテストする目的で、 現在の仮想コンソールでマウスポインタを有効にします。 .Pp .Dl vidcontrol -m on .Pp マウスデーモンをフォアグラウンドで開始します。 .Pp .Dl moused -f -p Ar _selected_port_ -t Ar _selected_protocol_ .Pp マウスポインタがマウスの移動に伴い、 正しく移動することを確認してください。 そして、カットとペーストの機能を左、右、中のボタンを使用して確認してください。 ^C をタイプすると、コマンドは停止します。 .Ss 複数のマウス システムに接続したマウスと同じ数だけ、マウスデーモンを同時実行可能です; 一つのマウスデーモンが一つのマウスに対応します。 ラップトップコンピュータ組み込みの PS/2 ポインティングデバイスを移動中使用し、 オフィスではドッキングステーション接続のシリアルマウスを使用する 場合に有用です。 マウスデーモンを二つ実行し、アプリケーションプログラム (例えば X Window System) に .Xr sysmouse 4 を使用させます。 するとアプリケーションプログラムは常に両マウスからマウスデータを受け取ります。 シリアルマウスが取り付けられていない場合、 対応するマウスデーモンは移動やボタン状態の変化を検出しませんので、 アプリケーションプログラムは PS/2 マウスのデーモンからのマウスデータ のみを使います。 一方この構成で両方のマウスを接続し同時に両方を動かした場合、 マウスの移動をすべて組み合わせたようにマウスポインタがスクリーン上を移動します。 .Sh 関連ファイル .Bl -tag -width /dev/consolectl -compact .It Pa /dev/consolectl コンソール制御デバイス .It Pa /dev/mse%d バスおよび InPort マウスのドライバ .It Pa /dev/psm%d PS/2 マウスドライバ .It Pa /dev/sysmouse 仮想化されたマウスドライバ .It Pa /dev/ttyv%d 仮想コンソール .It Pa /dev/ums%d USB マウスドライバ .It Pa /var/run/moused.pid 現在実行中の .Nm ユーティリティのプロセス ID .It Pa /var/run/MouseRemote X10 MouseRemote のイベントのための UNIX ドメインストリームソケット .El .Sh 使用例 .Dl moused -p /dev/cuaa0 -i type .Pp .Nm ユーティリティにシリアルポート .Pa /dev/cuaa0 に接続されたマウスのプロトコルタイプを識別させます。 成功すると、コマンドはタイプを表示しますが、 失敗すると ``unknown'' が表示されます。 .Pp .Dl moused -p /dev/cuaa0 .Dl vidcontrol -m on .Pp .Nm ユーティリティが指定されたポートのマウスプロトコルタイプを識別可能な場合、 .Fl t オプション無してデーモンを起動可能であり、 前記のようにマウスポインタをテキストコンソール上で有効にできます。 .Pp .Dl moused -p /dev/mouse -t microsoft .Dl vidcontrol -m on .Pp シリアルポート .Pa /dev/mouse に対してマウスデーモンを起動します。 プロトコルタイプは .Ar microsoft を .Fl t オプションにて陽に指定しています。 .Pp .Dl moused -p /dev/mouse -m 1=3 -m 3=1 .Pp 物理ボタン 3 (右ボタン) を論理ボタン 1 (論理的に左) に、 物理ボタン 1 (左ボタン) を論理ボタン 3 (論理的に右) に、 それぞれ割当てます。 左右のボタンを事実上交換します。 .Pp .Dl moused -p /dev/mouse -t intellimouse -z 4 .Pp Z 軸(ローラ)における負の移動をボタン 4 が押されたものとし、 Z 軸における正の移動をボタン 5 が押されたものとします。 .Sh 警告 .Nm ユーティリティは現在別のコンソールドライバ .Xr pcvt 4 では動作しません。 .Pp パッドデバイスの多くは、 ユーザがパッド表面を ``タップ'' した場合に最初の(左) ボタンが 押されたものとします。 また、ALPS GlidePoint および Interlink VersaPad のモデルによっては、 タップ動作を 4 番目のボタンのイベントとして扱います。 このようなモデルでは、オプション ``-m 1=4'' を使用して、 他のパッドデバイスと同様の効果を得られます。 .Pp 仮想コンソールでのカットとペーストの機能は、 マウスに 3 ボタンあることを仮定しています。 論理ボタン 1 (論理的に左) は、 コンソールのテキスト領域を選択してカットバッファにコピーします。 論理ボタン 3 (論理的に右) は、 選択された領域を拡張します。 論理ボタン 2 (論理的に中) は、 選択されたテキストをテキストカーソル位置にペーストします。 マウスに 2 つしかボタンが無い場合、中央の `ペースト' ボタン は使用できません。 ペースト機能を使用するためには、 .Fl 3 オプションを使用して中ボタンをエミュレートするか、 .Fl m オプションを ``-m 2=3'' のように使用して 物理右ボタンに論理中ボタンを割当てます。 .Sh 関連項目 .Xr kill 1 , .Xr vidcontrol 1 , .Xr keyboard 4 , .Xr mse 4 , .Xr pcvt 4 , .Xr psm 4 , .Xr screen 4 , .Xr sysmouse 4 , .Xr ums 4 .Sh 規格 .Nm ユーティリティは .Dq Plug and Play External COM Device Specification の一部を サポートし、PnP シリアルマウスをサポートします。 しかしながら、シリアルマウスごとに仕様充足の度合が異なりますので、 標準のバージョン 1.0 に完全に従ってはいません。 このように厳密さを欠いた方法でも、シリアルマウスの適切なプロトコルタイプ を常に決定できるわけではありません。 .Sh 作者 .An -nosplit .Nm ユーティリティは、 .An Michael Smith Aq msmith@FreeBSD.org によって書かれました。 このマニュアルは、 .An Mike Pritchard Aq mpp@FreeBSD.org によって書かれました。 コマンドとマニュアルページを、 .An Kazutaka Yokota Aq yokota@FreeBSD.org が更新しました。 .Sh 歴史 .Nm ユーティリティは、 .Fx 2.2 から導入されました。 diff --git a/ja_JP.eucJP/man/man8/spppcontrol.8 b/ja_JP.eucJP/man/man8/spppcontrol.8 index f3b054a585..3bcc3c6811 100644 --- a/ja_JP.eucJP/man/man8/spppcontrol.8 +++ b/ja_JP.eucJP/man/man8/spppcontrol.8 @@ -1,259 +1,259 @@ .\" Copyright (C) 1997, 2001 by Joerg Wunsch, Dresden .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS .\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" %FreeBSD: src/sbin/spppcontrol/spppcontrol.8,v 1.13 2002/01/10 16:02:23 ru Exp % .\" .\" $FreeBSD$ .Dd October 11, 1997 .Os .Dt SPPPCONTROL 8 .Sh 名称 .Nm spppcontrol .Nd sppp インタフェースのパラメータの表示または設定 .Sh 書式 .Nm .Op Fl v .Ar ifname .Op Ar parameter Ns Op Li = Ns Ar value .Op Ar ... .Sh 解説 .Xr sppp 4 ドライバには、 .Xr ifconfig 8 にて調整可能な設定の他に、 多くの追加引数やオプションパラメータが必要となるかもしれません。 これらには、認証プロトコルのパラメータなどと、 他の調整可能なコンフィギュレーション変数があります。 .Nm ユーティリティは、現在の設定を表示したり、 これらのパラメータを必要に応じて調整するために使用可能です。 .Pp どのような用途においても、 .Nm 呼び出しにおいては、少なくともパラメータ .Ar ifname を指定して、インタフェースの名前を指定する必要があります。 このインタフェースに対して、設定がおこなわれるかまたは設定が表示されます。 .Xr ifconfig 8 または .Xr netstat 1 を使用して、どのインタフェースが使用可能かを確認してください。 .Pp 他にパラメータを指定しない場合、 .Nm は、 .Ar ifname の現在の設定を列挙 (list) して終了します。 報告される設定にはインタフェースの現在の PPP フェーズも含まれ、その名は .Em dead , .Em establish , .Em authenticate , .Em network , .Em terminate のうちの 1 つです。 認証プロトコルがインタフェースに対して設定されている場合、 使用するプロトコル名と、使用するまたは期待されるシステム名と、 そして認証プロトコルに対して使用可能なオプションがあればそれを表示します。 認証に使用する秘密情報 ( .Em キー とも呼ばれます) は、この機能が使用するシステムコールによって返されないため、 表示されません。 .Pp 追加のパラメータを指定する場合、スーパユーザの特権が必要になり、コマンドは .Dq 設定 (set) モードにて動作します。 オプション .Fl v が有効にならない限り、静かに動作します。 .Fl v を指定すると、他のすべての動作をおこなった後、 最後に上述のように設定を表示します。 インタフェースが現在 .Em dead フェーズ以外である場合、このモードを使用しようとしてもリジェクトされます。 インタフェースを強制的に .Em dead フェーズにするためには、 .Xr ifconfig 8 をパラメータ .Cm down 付きで呼び出せば良いことに注意してください。 .Pp 現在サポートされているパラメータには次のものがあります: .Bl -tag -offset indent -width indent .It Ar authproto Ns Li = Ns Em protoname 相手と自分の両方の認証プロトコルを .Ar protoname に設定します。 プロトコル名は .Dq Li chap , .Dq Li pap , .Dq Li none のいずれかです。 最後の場合、 指定したインタフェースにおいて認証プロトコルは使用されなくなります。 この副作用として、 このインタフェースに関する認証関連の他のパラメータもまた消去されます (つまり、システム名と認証における秘密情報を忘れてしまいます)。 .It Va myauthproto Ns Li = Ns Em protoname 上と同じですが、リンクの自分側にのみ作用します。 すなわち、 相手が認証者であり、かつ、 自分を認証してもらう必要がある場合に使用されるプロトコルです .It Va hisauthproto Ns Li = Ns Em protoname 上と同じですが、リンクの相手側にのみ作用します。 .It Va myauthname Ns Li = Ns Em name 認証プロトコルにおける自分のシステム名を設定します。 .It Va hisauthname Ns Li = Ns Em name 認証プロトコルにおける相手のシステム名を設定します。 CHAP では、これはヒントとしてのみ使用され、 相手が違う名前を提供した場合には警告メッセージが表示されます。 PAP では、これは相手が相手自身であることを認めさせるときに使用すべき名前です (相手の秘密情報と関連があります)。 .It Va myauthsecret Ns Li = Ns Em secret 認証フェーズにおいて使用する、自分の秘密情報 (キーとパスワード) を設定します。 CHAP では、これは相手のチャレンジに基づく 返答のハッシュ値を計算するために使用されます。 PAP では、これはシステム名とともにプレインテキストにて送信されます。 秘密情報にシェルのメタ文字 (や空白) を含む場合、 秘密情報をシェルからエスケープすることを忘れないようにしてください。 .It Va myauthkey Ns Li = Ns Em secret 上と同様です。 .It Va hisauthsecret Ns Li = Ns Em secret 上と同様ですが、 自分が認証者であり、かつ相手を認証する必要がある場合に使用されます。 .It Va hisauthkey Ns Li = Ns Em secret 上と同様です。 .It Va callin 相手から呼び出されるときにのみ、相手を認証する必要があり、 自分が呼び出す場合には不要であることを示します。 -相手が対称的な認証プロトルを実装していない場合に、必要となります +相手が対称的な認証プロトコルを実装していない場合に、必要となります (例えば Ascend ルータ)。 .It Va always .Va callin の逆です。どちらが呼び出す場合でも、 常に相手を認証する必要があることを示します。 これがデフォルトであり、 .Dq list モードでは明示的に表示されません。 .It Va norechallenge CHAP でのみ意味があります。 最初に CHAP 交換が成功したならば、相手に再チャレンジしません。 相手の実装が壊れていて、 接続が確立した後の再チャレンジを認識しない場合、対処として使用します。 .It Va rechallenge CHAP において、接続がネットワークフェーズである間、 ランダムな間隔にて再チャレンジを送信します。 (現在、間隔は 300 からおよそ 800 秒です。) これがデフォルトであり、 .Dq list モードでは明示的に表示されません。 .It Va lcp-timeout Ns Li = Ns Ar timeout-value LCP リスタートタイマの値を変更します。 値はミリ秒単位です。 値は 10 から 20000 ms の間であることが必要です。 デフォルトは 3000 ms です。 .It Va enable-vj Van Jacobsen ヘッダ圧縮のネゴシエーションを有効化します (デフォルトで有効です)。 .It Va disable-vj Van Jacobsen ヘッダ圧縮のネゴシエーションを無効化します .It Va enable-ipv6 IPv6 ネットワーク制御プロトコルのネゴシエーションを有効化します (カーネルの IPv6 が有効な場合、デフォルトで有効です) .It Va disable-ipv6 IPv6 ネットワーク制御プロトコルのネゴシエーションを無効化します IPv6 を有効可したカーネルでは、 すべての IPv4 インタフェースが自動的に IPv6 アドレスを割り当てられます。 本オプションにより、 リンクが IPv6 をネゴシエーションすることを運用として禁止できます。 IPv6 インタフェースの初期化には複数のパケットの送出を要しますので、 (ダイヤルオンデマンドのインタフェースでは) 望まないトラフィックコストがかかります。 .El .Sh 使用例 .Bd -literal # spppcontrol bppp0 bppp0: phase=dead myauthproto=chap myauthname="uriah" hisauthproto=chap hisauthname="ifb-gw" norechallenge lcp-timeout=3000 enable-vj enable-ipv6 .Ed .Pp .Li bppp0 の設定を表示します。 インタフェースは、現在 .Em dead フェーズ、つまり LCP 層はダウンしているため、通信できません。 接続の両端は CHAP プロトコルを使用し、 当方のシステム名は .Dq Li uriah であるとリモート側に対して告げ、 リモート側は .Dq Li ifb-gw という名前で認証されると期待されます。 最初の CHAP 交換が成功すると、更なる CHAP チャレンジは送信されません。 おそらく CHAP に関する双方の秘密情報があるでしょうが、それらは表示されません。 .Bd -literal # spppcontrol bppp0 \e authproto=chap \e myauthname=uriah myauthsecret='some secret' \e hisauthname=ifb-gw hisauthsecret='another' \e norechallenge .Ed .Pp インタフェースを前の例の状態にするために、このように .Nm を呼び出したかもしれません。 .Sh 関連項目 .Xr netstat 1 , .Xr sppp 4 , .Xr ifconfig 8 .Rs .%A B. Lloyd .%A W. Simpson .%T "PPP Authentication Protocols" .%O RFC 1334 .Re .Rs .%A W. Simpson, Editor .%T "The Point-to-Point Protocol (PPP)" .%O RFC 1661 .Re .Rs .%A W. Simpson .%T "PPP Challenge Handshake Authentication Protocol (CHAP)" .%O RFC 1994 .Re .Sh 歴史 .Nm ユーティリティは .Fx 3.0 に登場しました。 .Sh 作者 プログラムの記述を .An J\(:org Wunsch, Dresden がおこないました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LINK.9 b/ja_JP.eucJP/man/man9/VOP_LINK.9 index 27af891456..9680854567 100644 --- a/ja_JP.eucJP/man/man9/VOP_LINK.9 +++ b/ja_JP.eucJP/man/man9/VOP_LINK.9 @@ -1,117 +1,117 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" 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/VOP_LINK.9,v 1.20 2003/05/31 14:07:25 hmp Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_LINK 9 .Sh 名称 .Nm VOP_LINK .Nd ファイルの新しい名前の作成 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_LINK "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" .Sh 解説 これは、既存のファイルに対し、 指定したディレクトリ中の新しい名前をリンクします。 .Pp 引数は以下の通りです。 .Bl -tag -width 8n .It Fa dvp ディレクトリの vnode。 .It Fa vp リンクされるファイルの vnode。 .It Fa cnp ファイルについてのパス名情報。 .El .Pp パス名情報は戻り時に開放されるべきでは .Em ありません 。 なぜならば、それは呼び出し側によって行なわれるからです。 ディレクトリとファイルの vnode は戻り時に解放されるべきでは .Em ありません 。 .Sh ロック .Fn VOP_LINK はディレクトリおよびファイルの vnode は入る時にロックされ、戻る時まで ロックされ続けていることを期待します。 .Sh 戻り値 ファイルが成功裏にリンクされた場合には 0 が返され、 そうでない場合にはエラーが返されます。 .Sh 疑似コード .Bd -literal int vop_link(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) { int error = 0; if (vp->v_mount != dvp->v_mount) return (EXDEV); if (vp would have too many links) return (EMLINK); if (vp is immutable) return (EPERM); /* * vp のリンクカウントをインクリメントし、ディスクに書き戻します。 */ ...; if (!error) { /* * ディレクトリの新しい名前を追加します。 */ ...; } return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EMLINK ファイルのリンクの数が多すぎます。 .It Bq Er EPERM -ファィルが変更不可能です。 +ファイルが変更不可能です。 .It Bq Er EXDEV 異なるファイルシステム間ではハードリンクは利用できません。 .El .Sh 関連項目 .Xr vnode 9 , .Xr vn_lock 9 .Sh 作者 このマニュアルページは .An Doug Rabson が初めて書きました。