diff --git a/ja_JP.eucJP/man/man1/finger.1 b/ja_JP.eucJP/man/man1/finger.1 index a1c45b1192..2b07a97152 100644 --- a/ja_JP.eucJP/man/man1/finger.1 +++ b/ja_JP.eucJP/man/man1/finger.1 @@ -1,226 +1,229 @@ .\" Copyright (c) 1989, 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)finger.1 8.3 (Berkeley) 5/5/94 -.\" %FreeBSD: src/usr.bin/finger/finger.1,v 1.9.2.5 2000/12/19 16:22:10 ru Exp % +.\" %FreeBSD: src/usr.bin/finger/finger.1,v 1.9.2.6 2000/12/29 13:34:39 ru Exp % .\" jpman %Id: finger.1,v 1.2 1997/04/07 05:53:49 mutoh Stab % .\" .Dd August 1, 1997 .Dt FINGER 1 .Os BSD 4 .Sh 名称 .Nm finger .Nd ユーザ情報を調べるプログラム .Sh 書式 .Nm finger .Op Fl lmpshoT .Op Ar user ...\& .Op Ar user@host ...\& .Sh 解説 .Nm はシステムのユーザに関する情報を表示します。 .Pp オプションは以下の通りです: .Bl -tag -width flag .It Fl s .Nm はユーザのログイン名、本名、端末名、端末への書き込み 状態 (書き込みが不可の場合は、端末名の前に ``*'' が付きます)、 アイドル時間、ログイン時間、また、オフィスの所在地と電話番号もしくは リモートホスト名を表示します。 .Fl o が指定されていた場合 (デフォルト) は、 オフィスの所在地と電話番号が表示されます。 .Fl h が指定されていた場合は、代わりに、リモートホスト名が表示されます。 .Pp アイドル時間の単位は、数字だけの場合は 何分か、``:'' がある場合は何時間何分か、``d'' がある場合は何日か、です。 +アイドル時間が +.Dq * +の場合、ログイン時間は最後のログイン時間を示します。 ログイン時間は、6 日以内の場合は何曜日の何時何分からか、それ以上の 場合は何月何日の何時何分からかが表示されます。もし 6 ヶ月を超えて いる場合は、何年何月何日からかが表示されます。 .Pp アイドル時間やログイン時間がない場合と同様に、 不明なデバイスは一つのアスタリスクとして表示されます。 .Pp .It Fl h .Fl s オプションと共に指定されたとき、オフィスの所在地と電話番号の代わりに リモートホスト名を表示します。 .Pp .It Fl o .Fl s オプションと共に指定されたとき、リモートホスト名の代わりに オフィスの所在地と電話番号を表示します。 .Pp .It Fl l ユーザのホームディレクトリ、自宅の電話番号、ログインシェル、 メールの状態、そしてユーザのホームディレクトリの .Dq Pa .forward , .Dq Pa .plan , .Dq Pa .project の内容に加えて、 .Fl s オプションの解説で述べた情報全てが複数行にわたる形式で出力されます。 .Pp アイドル時間は 1 分以上 1 日以内の場合は、``hh:mm'' の形式となります。 1 日よりも大きいときには、``d day[s]hh:mm'' の形式となります。 .Pp 電話番号は、11 桁の場合には ``+N-NNN-NNN-NNNN'' と表示 されます。10 桁もしくは 7 桁の場合には、上の文字列の適切な 部分として表示されます。5 桁の場合は ``xN-NNNN''、 4 桁の場合は ``xNNNN'' と表示されます。 .Pp デバイスの書き込み許可がない場合、デバイス名を含む 行に ``(messages off)'' という語句が追加されます。 .Fl l オプションを指定すると、1 人のユーザにつき 1 つの項目が表示されます。 もしあるユーザが複数回ログインしている場合には、端末の情報は その各ログインについて表示されます。 .Pp メールの状態は、全くメールがない場合には ``No Mail.''、その人が自分の メールボックスに届いた新着メールを全て読んでいた場合 には ``Mail last read DDD MMM ## HH:MM YYYY (TZ)''、その人あての新着 メールがあれば ``New mail received ...'' や ``Unread since ...'' の ように表示されます。 .Pp .It Fl p オプションは、 .Nm の .Fl l オプションが、 .Dq Pa .forward , .Dq Pa .plan , .Dq Pa .project のファイルの内容を表示するのを抑制します。 .It Fl m ユーザの本名と .Ar user とが名前の比較で一致しないようにします。 .Ar user は、たいていはログイン名なのですが、 .Fl m オプションを指定しない限り、ユーザの本名との比較もまた行われてしまいます。 .Nm によって比較される名前は、大文字小文字を区別しません。 .Pp .It Fl T T/TCP の使用を行いません ( .Xr ttcp 4 を参照してください)。 このオプションは,いい加減な TCP の実装が行われている ホストに finger を行う時に必要です。 .El .Pp オプションが指定されなかった場合は、 .Nm は、対象が与えられた場合は .Fl l の出力形式、与えられなかった場合は .Fl s の出力形式をデフォルトの形式とします。 どちらの形式であったとしても、情報が有効でなかった場合には、その フィールドは欠けているかもしれないことに注意してください。 .Pp 引数が全く指定されていない場合は、 .Nm は、現在システムにログインしている各ユーザについての情報を表示します。 .Pp .Nm は、リモートマシン上のユーザを調べることにも利用できます。 これには、 .Ar user として .Dq Li user@host もしくは .Dq Li @host と指定する形式を使います。デフォルトでは、前者は .Fl l 形式の出力、後者は .Fl s 形式の出力となります。 .Fl l オプションは、リモートマシンに渡される唯一のオプションかも知れません。 .Pp もし、ユーザのホームディレクトリに .Dq Pa .nofinger というファイルが存在した場合、 .Nm は、そのユーザが存在していないかのように振る舞います。 .Pp オプションの .Xr finger.conf 5 設定ファイルを使用して、別名を指定可能です。 .Xr finger 1 は .Xr fingerd 8 が起動しますので、 ローカルの問い合わせとネットワークの問い合わせの両方で有効です。 .Sh 環境変数 .Nm は、もし設定されていれば、以下の環境変数を利用します: .Bl -tag -width Fl .It Ev FINGER .Nm に好みのオプションがあれば、この環境変数に設定しておくとよいでしょう。 .El .Sh 関連ファイル .Bl -tag -width /var/log/lastlog -compact .It Pa /etc/finger.conf 別名定義のデータベース .It Pa /var/log/lastlog 最後にログインした時間のデータベース .El .Sh 関連項目 .Xr chpass 1 , .Xr w 1 , .Xr who 1 , .Xr ttcp 4 , .Xr finger.conf 5 , .Xr fingerd 8 . .Rs .%A D. Zimmerman .%T The Finger User Information Protocol .%R RFC 1288 .%D December, 1991 .Re .Sh 歴史 .Nm コマンドは、 .Bx 3.0 で登場しました。 .Sh バグ 現在の FINGER プロトコルの RFC では、 サーバが接続を閉じるまでクライアントはフルに接続をオープンする必要があります。 これでは、最適な 3 パケット T/TCP 交換を妨げてしまいます。 (この仕様に依存するサーバは壊れていますが、 広いインターネットにはこのようなサーバが存在します。) diff --git a/ja_JP.eucJP/man/man1/ls.1 b/ja_JP.eucJP/man/man1/ls.1 index d7b4550197..510a6e0b0b 100644 --- a/ja_JP.eucJP/man/man1/ls.1 +++ b/ja_JP.eucJP/man/man1/ls.1 @@ -1,507 +1,507 @@ .\" Copyright (c) 1980, 1990, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 -.\" %FreeBSD: src/bin/ls/ls.1,v 1.33.2.6 2000/12/15 17:47:24 ru Exp % +.\" %FreeBSD: src/bin/ls/ls.1,v 1.33.2.7 2000/12/28 17:17:56 hoek Exp % .\" .\" jpman %Id: ls.1,v 1.3 1997/05/19 17:21:06 horikawa Stab % .Dd July 29, 1994 .Dt LS 1 .Os .Sh 名称 .Nm ls .Nd ディレクトリの内容のリストを表示する .Sh 書式 .Nm .Op Fl ABCFGHLPRTWabcdfgiklnoqrstu1 .Op Ar file ... .Sh 解説 .Nm は .Ar file で指定されたファイル名およびオプションの指定にしたがって、 ファイルに関する各種の情報を表示します。なお、 .Ar file としてディレクトリが指定された場合は、そのディレクトリ配下のファイル に関する情報を表示します。 .Pp .Ar file が指定されなかった場合は、カレントディレクトリのファイルを表示します。 表示はファイル名のアルファベット順にソートされます。ただし、 .Ar file としてディレクトリファイルとそれ以外のファイルを混在して指定した 場合は、ディレクトリ以外のファイルが先に表示され、その後 ディレクトリ配下のファイルが表示されます。 .Pp オプションとしては、以下のものがあります。 .Bl -tag -width indent .It Fl A .Ql .\& と .Ql \&.. を除く全てのエントリを表示します。スーパユーザの場合は、通常 このオプションがセットされています。 .It Fl B ファイル名中の非グラフィック文字を強制的に \\xxx の形式で表示します。 xxx は文字の数値であり 8 進数です。 .It Fl C マルチカラム形式で出力します。端末への出力の場合は、 これがデフォルトになります。 .It Fl F それぞれのパス名の最後に、ディレクトリならばスラッシュ (/)、 実行可能ファイルならばアスタリスク (*)、 シンボリックリンクならばアットマーク (@)、ソケットファイルならば等号 (=)、 .Tn FIFO ならば縦棒 (|) をつけて表示します。 .It Fl G カラー化出力を有効にします。 本オプションは、環境変数 .Ev CLICOLOR を定義することと同等です (後述)。 .It Fl H コマンドラインのシンボリックリンクを追跡します。 .Fl F , .Fl d , .Fl l オプションのいずれも指定されなかった場合、 このオプションが仮定されます。 .It Fl L 引数がシンボリックリンクファイルの場合、リンクファイル自体ではなく、 リンク先のファイルやディレクトリを表示します。 このオプションは .Fl P オプションを打ち消します。 .It Fl P 引数がシンボリックリンクの場合、リンクが参照しているオブジェクトではなく リンク自身を表示します。 このオプションは .Fl H , .Fl L オプションを打ち消します。 .It Fl R サブディレクトリを再帰的に表示します。 .It Fl T ファイルの日付と時間に関する詳細情報 (月・日・時・分・秒・年) を表示します。 .It Fl W ディレクトリ走査時にホワイトアウトも表示します。 .It Fl a ドット (.) で始まるファイルも含めて表示します。 .It Fl b .Fl B と同様ですが、可能であれば C のエスケープコードを使用します。 .It Fl c ファイルソートや時刻出力の際、ファイルステータスの最終変更日付を使用します。 .It Fl d 引数がディレクトリの場合、ディレクトリそのものの情報について表示します (再帰的に表示しません)。 .It Fl f ソートせずに表示します .It Fl g このオプションは、 .Bx 4.3 との互換性のためにだけ利用すべきです。 これは、 ロングフォーマットオプション .Pq Fl l を使ってグループの名前を表示したい時に使います。 .It Fl i 各ファイルについて、i ノード番号を表示します。 .It Fl k .Fl s オプションとともに使用し、ファイルサイズを ブロック単位ではなく K バイト単位で表示します。 このオプションは環境変数 BLOCKSIZE に優先します。 .It Fl l (``エル (L)'' の小文字)。ファイルの詳細情報をロングフォーマットで 表示します (下記参照)。 端末に出力している場合、ロングフォーマットの前の行に、全ファイル のサイズの合計値を表示します。 .It Fl n 長い .Pq Fl l 出力において、 ユーザとグループを名前に変換せずに、 ユーザとグループの ID を数値で表示します。 .It Fl o .Pq Fl l オプションによる詳細情報に、ファイルフラグも含めて表示します。 .It Fl q ファイル名に表示できない文字が使われていたとき、`?' として表示します。 端末に表示するときは、デフォルトでこの指定になります。 .It Fl r 辞書式順序で逆順または時刻の古い順にソートします。 .It Fl s 各ファイルがファイルシステム上で実際に占有している ブロック数 (512 バイト単位) を表示します。 ブロックの一部だけ占有しているものも整数値に切り上げられます。 端末に表示するときは、表示の先頭行に、全ファイルのサイズの合計値 を表示します。 環境変数 BLOCKSIZE は単位サイズ 512 バイトに優先します。 .It Fl t ファイルをアルファベット順に表示する前に、ファイルの最終修正日時の順 (新しいものほど先にくる) にソートします。 .It Fl u .Pq Fl t オプションや .Pq Fl l オプションで、ファイルの最終修正日時の代わりに、ファイルの最終アクセス日時を 使用します。 .It Fl \&1 (数字の ``1'')。 1 行につき 1 エントリの形式で表示します。 端末への出力でない場合には、これがデフォルトです。 .El .Pp .Fl 1 , .Fl C , .Fl l オプションは、互いに他を上書きします。最後に指定されたオプションが有効と なります。 .Pp .Fl c と .Fl u オプションは、互いに他を上書きします。最後に指定されたオプションが有効と なります。 .Pp .Fl B , .Fl b , .Fl q オプションは互いに優先し合う関係にあります。 最後に指定されたものが印字不可文字の書式を決定します。 .Pp .Fl H, .Fl L , .Fl P オプションは互いに優先し合う関係にあります(部分的もしくは全体的)。 指定された順序で適用されます。 .Pp デフォルトでは .Nm は標準出力に 1 行 1 エントリずつ表示します。 ただし、出力先が端末である場合および .Fl C オプションが指定された場合は別です。 .Pp .Fl i , .Fl s , .Fl l オプションが指定された場合、関連するファイルの情報は 1 個以上の空白 をあけて表示されます。 .Ss ロングフォーマット .Fl l オプションがつけられた場合、それぞれのファイルに対して以下に示す情報が 表示されます: ファイルモード・ リンク数・所有者名・所有グループ名・ ファイルのバイト数・月の短縮形・最終更新が行なわれた際の日付・時・分・ パス名。 さらに、各ディレクトリに対して、 ディレクトリ内のファイル情報が表示される直前に、 ファイルサイズの合計値が 512 バイトブロック単位で表示されます。 .Pp ファイルの修正修正時刻が 6 ヶ月以上過去もしくは未来の場合、 最終修正年が時間と分のフィールドに表示されます。 .Pp 所有者または所有グループ名が不明の場合、 または .Fl n オプション指定時には、 ID 番号で表示されます。 .Pp ファイルがキャラクタ型もしくはブロック型の特殊ファイルである場合、 ファイルサイズフィールドには ファイルのメジャー番号とマイナー番号が表示されます。 ファイルがシンボリックリンクファイルである場合、 リンク先ファイルのパス名が .Dq \-> によって表示されます。 .Pp .Fl l オプションのもとで表示されるファイルモードは、エントリタイプ、 所有者アクセス許可、所有グループアクセス許可などで成り立っています。 エントリタイプの文字はファイルのタイプを表しており、 各文字の意味は次のとおりです: .Pp .Bl -tag -width 4n -offset indent -compact .It Sy b ブロック型特殊ファイル .It Sy c キャラクタ型特殊ファイル .It Sy d ディレクトリ .It Sy l シンボリックリンクファイル .It Sy s ソケットファイル .It Sy p .Tn FIFO .It Sy \- 通常ファイル .El .Pp 次の 3 つのフィールドは、それぞれ 3 つの文字からなっています: 所有者に対するアクセス許可・ グループに属するユーザに対するアクセス許可・ 他のユーザに対するアクセス許可。 これらのフィールドはそれぞれ 3 つの文字からなっています: .Bl -enum -offset indent .It もし .Sy r ならば読みだし可能。もし .Sy \- ならば読みだし不能。 .It もし .Sy w ならば書き込み可能。もし .Sy \- ならば書き込み不能。 .It その他の場合: 以下のうち最初に該当するものが用いられる。 .Bl -tag -width 4n -offset indent .It Sy S 所有者に対するアクセス許可において、ファイルが実行可能ではなく、かつ、 実効ユーザ ID (set-user-ID) モードがセットされている場合。 所有グループに対するアクセス許可において、ファイルが実行可能ではなく、 かつ、実効グループ ID (set-group-ID) モードがセットされている場合。 .It Sy s 所有者に対するアクセス許可において、ファイルが実行可能で、かつ、 実効ユーザ ID モードがセットされている場合。 所有グループに対するアクセス許可の中で、ファイルが実行可能で、 かつ、実効グループ ID モードがセットされている場合。 .It Sy x ファイルが実効可能またはディレクトリが検索可能である場合。 .It Sy \- ファイルは、読み出し、書き込み、実行のいずれも許可されておらず、 実効ユーザ ID も実効グループ ID もスティッキービットも設定されていない場合 (以下参照)。 .El .Pp 次の2つは他のユーザに対するアクセス許可の 3 番目の文字に使用されます。 .Bl -tag -width 4n -offset indent .It Sy T スティッキービットがセットされている (モード .Li 1000 ) が、 実行不能あるいは検索不能である場合 ( .Xr chmod 1 または .Xr sticky 8 参照)。 .It Sy t スティッキービットがセットされており (モード .Li 1000 ) 、 かつ、検索可能または実行可能である場合 ( .Xr chmod 1 または .Xr sticky 8 参照)。 .El .El .Sh 診断 .Nm ユーティリティは、成功時には 0 を、エラー発生時には 0 より大きい値を 返します。 .Sh 環境変数 以下の環境変数は .Nm の動作に影響を与えます: .Bl -tag -width BLOCKSIZE .It Ev BLOCKSIZE ブロック数の表示を行う際、1 ブロックのサイズとして環境変数 .Ev BLOCKSIZE で指定された値が使用されます ( .Fl s オプション参照)。 .It Ev CLICOLOR .Tn ANSI カラーシーケンスを使用し、ファイルタイプを区別します。 後述の .Ev LSCOLORS を参照してください。 .Fl F で前述したもの加え、更なる属性 (setuid ビット設定等) もまた表示されます。 カラー化は、適切な .Xr termcap 5 ケーパビリティを持つ端末タイプに依存します。 デフォルトの .Dq cons25 コンソールは、適切なケーパビリティを持っていますが、例えば .Xr xterm 1 でカラー表示したい場合には .Ev TERM 変数を .Dq xterm-color に設定する必要があります。 他の端末タイプも同様の修正が必要かもしれません。 出力が端末に向けられていない場合、カラー化は黙って無効化されます。 ただし、 .Ev CLICOLOR_FORCE 変数が定義されている場合は例外です。 .It Ev CLICOLOR_FORCE 出力が端末に向けられていない場合、通常、カラーシーケンスは無効化されます。 本フラグを設定することで、この動作を変更可能です。 .Ev TERM 変数は、カラー出力可能な端末を参照することが必要です。 そうなっていない場合、どのカラーシーケンスを使用すべきか決定できません。 .It Ev COLUMNS ターミナルのカラム幅を指定します。マルチカラム表示の際、 1 行あたりいくつのファイル名を表示できるかを算出するために参照されます ( .Fl C 参照)。 .It Ev LANG 長い .Fl l フォーマット出力における、日と月の順序を決定するために使用するロケールです。 詳細は .Xr environ 7 を参照してください。 .It Ev LSCOLORS 本変数の値は、 .Ev CLICOLOR によってカラー出力が有効であるときに、 どの色をどの属性に使用するかを指定します。 この文字列は書式 .Sy fb の結合であり、ここで .Sy f は前景色であり、 .Sy b は背景色です。 .Pp 色の指示は次の通りです: .Pp .Bl -tag -width 4n -offset indent -compact .It Sy 0 黒 .It Sy 1 赤 .It Sy 2 緑 .It Sy 3 茶 .It Sy 4 青 .It Sy 5 マゼンタ .It Sy 6 シアン .It Sy 7 明い灰 .It Sy x デフォルトの前景色と背景色 .El .Pp 以上が標準 .Tn ANSI カラーです。 実際の表示は、端末の色の扱いに依存して異なるでしょう。 .Pp 属性の順番は次の通りです: .Pp .Bl -enum -offset indent -compact .It ディレクトリ .It シンボリックリンク .It ソケット .It パイプ .It 実行形式 .It ブロックスペシャル .It キャラクタスペシャル .It setuid ビットが設定された実行形式 .It setgid ビットが設定された実行形式 .It 他者 (others) が書き込み可能なディレクトリであり、 スティッキービット付き。 .It 他者 (others) が書き込み可能なディレクトリであり、 スティッキービット無し。 .El .Pp デフォルトは "4x5x2x3x1x464301060203" であり、 通常のディレクトリは前景色青でデフォルト背景色、 setuid 付き実行形式は前景色黒で背景色赤等です。 .It Ev LS_COLWIDTHS この変数が設定されている場合、 コロン区切りのリストで各フィールドの最小幅を指定しているものとみなされます。 適切でなかったり不十分だったりする幅は無視されます (よって 0 を指定すると、フィールド幅が動的に決まります)。 すべてのフィールドの幅を変えられるわけではありません。 フィールドの順序は次の通りです: iノード・ブロック数・リンク数・ユーザ名・グループ名・フラグ・ファイルサイズ・ ファイル名。 .It Ev TERM .Ev CLICOLOR の機能は、端末タイプのカラーケーパビリティが必要です。 .It Ev TZ 日時を表示するときに使われるタイムゾーンを指定します。 詳細は .Xr environ 7 を参照してください。 .El .Sh 互換性 .St -p1003.2 互換とするため、 ロングフォーマット形式の出力には所有グループ名フィールドが自動的に 含められます。 .Sh 関連項目 .Xr chflags 1 , .Xr chmod 1 , .Xr xterm 1 , .Xr termcap 5 , .Xr symlink 7 , .Xr sticky 8 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 .Sh 規格 .Nm コマンドの機能は .St -p1003.2 のスーパセットであると想定しています。 .Sh バグ 過去との互換性のために、多くのオプションの関係が複雑になっています。 diff --git a/ja_JP.eucJP/man/man5/dir.5 b/ja_JP.eucJP/man/man5/dir.5 index c1c01dfdf6..de26dee243 100644 --- a/ja_JP.eucJP/man/man5/dir.5 +++ b/ja_JP.eucJP/man/man5/dir.5 @@ -1,170 +1,170 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)dir.5 8.3 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man5/dir.5,v 1.12.2.1 2000/12/08 14:59:15 ru Exp % +.\" %FreeBSD: src/share/man/man5/dir.5,v 1.12.2.2 2000/12/29 10:18:04 ru Exp % .\" .\" jpman %Id: dir.5,v 1.3 1998/07/19 22:22:07 yohta Stab % .\" .\" WORD: graft 接合 [mount.8] .Dd April 19, 1994 .Dt DIR 5 .Os BSD 4.2 .Sh 名称 .Nm dir , .Nm dirent .Nd ディレクトリファイルフォーマット .Sh 書式 .Fd #include .Sh 解説 ディレクトリは、土台となる記憶媒体の詳細を隠蔽し、 ファイルをグループ分けする便利な階層手段を提供します。 ディレクトリファイルは、その .Xr inode 5 エントリ中のフラグによって、通常ファイルと区別されます。 ディレクトリファイルはレコード (ディレクトリエントリ) から構成され、 各レコードはファイルに関する情報とそのファイル自身へのポインタを 含んでいます。 ディレクトリエントリは、通常ファイルと同様に、 他のディレクトリを含むこともあります。 そのような入れ子になったディレクトリはサブディレクトリと呼ばれます。 このようにしてディレクトリとファイルの階層構造が形成され、 この構造はファイルシステムと呼ばれます (あるいはファイルシステムツリー と呼ばれます)。 .\" 以下の3行は英語版にコメントの形で含まれていたもの .\" An entry in this tree, .\" nested or not nested, .\" is a pathname. .Pp 各ディレクトリファイルには特別なディレクトリエントリが 2 つあります。 1 つはそのディレクトリ自身へのポインタで、ドット -.Ql \&. +.Ql .\& と呼ばれます。 もう 1 つは自分の親ディレクトリへのポインタで、ドットドット -.Ql \&.. +.Ql \&..\& と呼ばれます。 ドットとドットドットは有効なパス名ですが、 システムのルートディレクトリ .Ql / には親ディレクトリがなく、ドットドットはドットと同じく自分自身を指します。 .Pp ファイルシステムノードは普通のディレクトリファイルであり、 その上に物理ディスクやそのディスク中の分割された領域といった ファイルシステムオブジェクトを接合します ( .Xr mount 2 および .Xr mount 8 参照)。 .Pp ディレクトリエントリの形式はファイル .Aq sys/dirent.h で定義されています (これは直接アプリケーションからはインクルードされません): .Bd -literal #ifndef _SYS_DIRENT_H_ #define _SYS_DIRENT_H_ #include /* * dirent 構造体は、getdirentries(2) システムコールで返される * ディレクトリエントリのフォーマットを定義します。 * * ディレクトリエントリはその先頭に dirent 構造体を持ちます。dirent * 構造体は inode 番号、そのエントリの長さ、そのエントリに含まれる * 名前の長さを保持します。その後に、ナルで 4 バイト境界までパディング * した名前が続きます。名前は全てナルで終端していることが保証されます。 * ディレクトリ中の名前の長さの最大値は MAXNAMLEN です。 */ struct dirent { __uint32_t d_fileno; /* エントリのファイル番号 */ __uint16_t d_reclen; /* このレコードの長さ */ __uint8_t d_type; /* ファイルタイプ, 以下参照 */ __uint8_t d_namlen; /* d_name の文字列長 */ #ifdef _POSIX_SOURCE char d_name[255 + 1]; /* 名前はこの長さを越えてはならない */ #else #define MAXNAMLEN 255 char d_name[MAXNAMLEN + 1]; /* 名前はこの長さを越えてはならない */ #endif }; /* * ファイルタイプ */ #define DT_UNKNOWN 0 #define DT_FIFO 1 #define DT_CHR 2 #define DT_DIR 4 #define DT_BLK 6 #define DT_REG 8 #define DT_LNK 10 #define DT_SOCK 12 #define DT_WHT 14 /* * stat 構造体型とディレクトリ型との変換 */ #define IFTODT(mode) (((mode) & 0170000) >> 12) #define DTTOIF(dirtype) ((dirtype) << 12) /* * _GENERIC_DIRSIZ マクロはディレクトリエントリを保持する最小レコード長を * 与えます。これは d_name フィールド以外の dirent 構造体の空間に、ナル * バイトで終端される名前のために十分な空間 (dp->d_namlen+1) を加えたもの * を、4 バイト単位で繰り上げたものです。 */ #define _GENERIC_DIRSIZ(dp) \ ((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3)) #ifdef _KERNEL #define GENERIC_DIRSIZ(dp) _GENERIC_DIRSIZ(dp) #endif .Ed .Sh 関連項目 .Xr fs 5 , .Xr inode 5 .Sh BUGS struct dirent のメンバ d_type は .Fx 固有であり、 使用はポータブルではありません。 また、特定のファイルシステム、例えば cd9660 ファイルシステムでは失敗します。 .Sh 歴史 ファイル形式 .Nm は .At v7 で登場しました。 diff --git a/ja_JP.eucJP/man/man5/disktab.5 b/ja_JP.eucJP/man/man5/disktab.5 index 721a3f2030..25639eacf7 100644 --- a/ja_JP.eucJP/man/man5/disktab.5 +++ b/ja_JP.eucJP/man/man5/disktab.5 @@ -1,140 +1,140 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)disktab.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/disktab.5,v 1.4.2.1 2000/12/08 14:59:15 ru Exp % +.\" %FreeBSD: src/share/man/man5/disktab.5,v 1.4.2.2 2000/12/29 10:18:04 ru Exp % .\" jpman %Id: disktab.5,v 1.3 1998/06/12 15:50:37 kumano Stab % .\" .Dd June 5, 1993 .Dt DISKTAB 5 .Os BSD 4.2 .Sh 名称 .Nm disktab .Nd ディスク記述ファイル .Sh 書式 .Fd #include .Sh 解説 .Nm は、ディスクジオメトリとディスクパーティション特性を記述する 簡単なデータベースで、 .\"by the formatter(\c .\"IR.Xr format 8 ) .\"to determine how to format the disk, and ディスク上のディスクラベルを初期化する際に使われます。 フォーマットは .Xr termcap 5 端末データベースと同様のパターンです。 .Nm 内のエントリは、たくさんの `:' で区切られたフィールドからなります。 各ディスクの最初のエントリは `|' 文字で区切られていて、そのディスクの 既知の名前を与えます。最後の名前はディスクをディスクを識別する完全に 長い名前でなければなりません。 .Pp 以下のリストは、各ディスクエントリのための通常の値です。 .Bl -column "indent" "boolx" -.It Sy 名前 型 解説 +.It Sy "名前 型 解説 .It "\&ty str ディスクの種類 (例えば removable, winchester)" .It "\&dt str コントローラの種類 (例えば " .Tn SMD , ESDI , フロッピー) .It "\&ns num トラックあたりのセクタ数" .It "\&nt num シリンダあたりのトラック数" .It "\&nc num ディスク上の総シリンダ数" .It "\&sc num シリンダあたりのセクタ数、デフォルトは nc*nt" .It "\&su num ユニットあたりのセクタ数、デフォルトは sc*nc" .It "\&se num バイト単位のセクタサイズ" デフォルトは .Dv DEV_BSIZE .It "\&sf bool コントローラが bad144 スタイルのバッドセクタフォワードをサポートする" .It "\&rm num 回転スピード (rpm), デフォルトは 3600" .It "\&sk num トラックあたりのセクタスキュー、デフォルトは 0" .It "\&cs num シリンダあたりのセクタスキュー、デフォルトは 0" .It "\&hs num ヘッドスイッチ時間 (usec), デフォルトは 0" .It "\&ts num 1 シリンダシーク時間 (usec), デフォルト 0" .It "\&il num セクタインタリーブ (n:1), デフォルトは 1" .It "\&d[0-4] num ドライブタイプ依存パラメータ" .It "\&bs num ブートブロックサイズ、デフォルト" .Dv BBSIZE .It "\&sb num スーパブロックサイズ、デフォルト" .Dv SBSIZE .It "\&ba num パーティション `a' のブロックサイズ (bytes)" .It "\&bd num パーティション `d' のブロックサイズ (bytes)" .It "\&be num パーティション `e' のブロックサイズ (bytes)" .It "\&bf num パーティション `f' のブロックサイズ (bytes)" .It "\&bg num パーティション `g' のブロックサイズ (bytes)" .It "\&bh num パーティション `h' のブロックサイズ (bytes)" .It "\&fa num パーティション `a' のフラグメントサイズ (bytes)" .It "\&fd num パーティション `d' のフラグメントサイズ (bytes)" .It "\&fe num パーティション `e' のフラグメントサイズ (bytes)" .It "\&ff num パーティション `f' のフラグメントサイズ (bytes)" .It "\&fg num パーティション `g' のフラグメントサイズ (bytes)" .It "\&fh num パーティション `h' のフラグメントサイズ (bytes)" .It "\&oa num パーティション `a' のセクタ内オフセット" .It "\&ob num パーティション `b' のセクタ内オフセット" .It "\&oc num パーティション `c' のセクタ内オフセット" .It "\&od num パーティション `d' のセクタ内オフセット" .It "\&oe num パーティション `e' のセクタ内オフセット" .It "\&of num パーティション `f' のセクタ内オフセット" .It "\&og num パーティション `g' のセクタ内オフセット" .It "\&oh num パーティション `h' のセクタ内オフセット" .It "\&pa num パーティション `a' セクタサイズ" .It "\&pb num パーティション `b' セクタサイズ" .It "\&pc num パーティション `c' セクタサイズ" .It "\&pd num パーティション `d' セクタサイズ" .It "\&pe num パーティション `e' セクタサイズ" .It "\&pf num パーティション `f' セクタサイズ" .It "\&pg num パーティション `g' セクタサイズ" .It "\&ph num パーティション `h' セクタサイズ" .It "\&ta str パーティション `a' のパーティションタイプ" .Pf ( Bx 4.2 ファイルシステム, スワップ他) .It "\&tb str パーティション `b のパーティションタイプ" .It "\&tc str パーティション `c のパーティションタイプ" .It "\&td str パーティション `d のパーティションタイプ" .It "\&te str パーティション `e のパーティションタイプ" .It "\&tf str パーティション `f のパーティションタイプ" .It "\&tg str パーティション `g のパーティションタイプ" .It "\&th str パーティション `h のパーティションタイプ" .El .Sh 関連ファイル .Bl -tag -width /etc/disktab -compact .It Pa /etc/disktab .El .Sh 関連項目 .Xr getdiskbyname 3 , .Xr disklabel 5 , .Xr disklabel 8 , .Xr newfs 8 .Sh 歴史 .Nm この記述ファイルは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/forward.5 b/ja_JP.eucJP/man/man5/forward.5 index ca7bec7532..69a91492b6 100644 --- a/ja_JP.eucJP/man/man5/forward.5 +++ b/ja_JP.eucJP/man/man5/forward.5 @@ -1,101 +1,99 @@ .\" 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 and .\" contributors. .\" 4. Neither the name of the author nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/forward.5,v 1.4 1999/08/28 00:20:44 peter Exp % +.\" %FreeBSD: src/share/man/man5/forward.5,v 1.4.2.1 2000/12/29 10:18:04 ru Exp % .\" jpman %Id: forward.5,v 1.3 1998/04/29 11:32:30 kuma Stab % .\" .\" WORD: quote クォート(単一引用符または二重引用符文字のこと) .\" .Dd July 2, 1996 .Dt FORWARD 5 .Os .Sh 名称 .Nm forward .Nd メールの転送指示 .Sh 解説 .Nm .forward ファイルは、ユーザのメールの転送先の メールアドレスもしくはプログラムのリストを格納します。 このファイルが存在しない場合には、メール転送は行なわれません。 行頭に標準のシェルパイプシンボル (|) を付けることにより、 メールはプログラムの標準入力として転送されます。 引数をコマンドに渡す場合には、行全体をクォートで括る必要があります。 セキュリティ上の理由で、 .Nm .forward ファイルはメール送付先のユーザもしくは root が所有者である必要があり、 ユーザのシェルが .Pa /etc/shells にリストされている必要があります。 .Pp 例えば、 .Nm .forward ファイルが以下の行を含む場合: .Bd -literal -offset indent nobody@FreeBSD.org "|/usr/bin/vacation nobody" .Ed .Pp メールは .Ar nobody@FreeBSD.org に転送され、 単一引数 .Ar nobody を伴なってプログラム .Pa /usr/bin/vacation に転送されます。 .Pp ローカルユーザのアドレスの前にバックスラッシュ文字が付いている場合、 メールは直接そのユーザのメールスプールファイルに配送され、 更なる転送処理は回避されます。 .Pp 例えば、ユーザ chris の .Nm .forward ファイルに次の行を含む場合: .Bd -literal -offset indent chris@otherhost \echris .Ed .Pp メールの一方のコピーは .Ar chris@otherhost に転送され、 もう一方のコピーはローカルユーザ chris へのメールとして記録されます。 - .Sh 関連ファイル .Bl -tag -width $HOME/.forward -compact .It Pa $HOME/.forward - ユーザによる転送指示 .El .Sh 関連項目 .Xr aliases 5 , .Xr mailaddr 7 , .Xr sendmail 8 diff --git a/ja_JP.eucJP/man/man5/fstab.5 b/ja_JP.eucJP/man/man5/fstab.5 index b859e74694..14e1b2e559 100644 --- a/ja_JP.eucJP/man/man5/fstab.5 +++ b/ja_JP.eucJP/man/man5/fstab.5 @@ -1,251 +1,250 @@ .\" Copyright (c) 1980, 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)fstab.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/fstab.5,v 1.11.2.2 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/fstab.5,v 1.11.2.3 2000/12/29 10:18:04 ru Exp % .\" .\" jpman %Id: fstab.5,v 1.3 1998/06/12 11:00:49 mutoh Stab % .\" .Dd June 5, 1993 .Dt FSTAB 5 .Os BSD 4 .Sh 名称 .Nm fstab .Nd ファイルシステムに関する静的情報 .Sh 書式 .Fd #include .Sh 解説 .Nm ファイルは、さまざまなファイルシステムについて記述した情報を格納します。 .Nm はプログラムによって読み出されるだけで、書き込みはされません。 このファイルを適切に作成、保守するのはシステム管理者の責務です。 各ファイルシステムは個別の行に記述されます。 各々の行のフィールドはタブまたはスペースによって区切られます。 .Xr fsck 8 , .Xr mount 8 , .Xr umount 8 が .Nm を通じて必要な処理を連続して繰り返すため、 .Nm のレコードの順序は重要な意味を持ちます。 .Pp 第 1 フィールド .Pq Fa fs_spec はマウントされるブロック型スペシャルデバイス、またはリモートのファイル システムを表します。 .Em ufs 形式のファイルシステムでは、特殊ファイル名はブロック型特殊ファイル名であり、 キャラクタ型特殊ファイル名ではありません。 プログラムがキャラクタ型特殊ファイル名を必要とする場合、そのプログラム が特殊ファイル名の中の最後の ``/'' の後ろに ``r'' を追加することで キャラクタ特殊ファイル名を作成する必要があります。 .Pp 第 2 フィールド .Pq Fa fs_file はファイルシステムのマウントポイントを表します。 スワップパーティションでは、このフィールドには ``none'' と記述すべきです。 .Pp 第 3 フィールド .Pq Fa fs_vfstype はファイルシステムの形式を表します。 システムはさまざまなファイルシステム形式をサポートできます。 ルート、 /usr および /tmp のファイルシステムだけはカーネルに静的に組み 込まれている必要があります。 他のすべてのファイルシステムはマウント時に自動的にロードされます (例外 : UFS 系 - FFS, MFS, LFS は現在のところデマンドロードは できません)。 いまだに他のファイルシステムも同様に静的に組み込むのを好む人もいるようです。 - .Bl -tag -width indent -offset indent .It Em ufs ローカルの .Tn UNIX ファイルシステム .It Em mfs ローカルのメモリベース .Tn UNIX ファイルシステム .It Em nfs Sun Microsystems 互換 ``Network File System'' .It Em swap スワッピングに使用されるディスクパーティション .It Em msdos DOS 互換ファイルシステム .It Em cd9660 ( ISO 9660 による) CD-ROM ファイルシステム .\" おそらく、例えばRock Ridge extension形式なども処理される? .It Em procfs プロセスデータへのアクセスのためのファイルシステム .It Em kernfs カーネルパラメータへのアクセスのためのファイルシステム .El .Pp 第 4 フィールド .Pq Fa fs_mntops は、ファイルシステムに関連するマウントオプションを表します。 これはコンマで区切られたオプションのリストとして記述されます。 これは少なくともマウントの形式 (以下の .Fa fs_type 参照) を含み、加えてファイルシステム形式に特有のいくつかの追加の オプションを含みます。 指定可能なオプションフラグに関しては、 .Xr mount 8 ページおよび .Xr mount_nfs 8 等のファイルシステム固有のページの、オプションフラグ .Pq Fl o を参照してください。 .Pp ``userquota'' および ``groupquota'' オプションの双方、またはいずれかが 指定されている場合、ファイルシステムは自動的に .Xr quotacheck 8 コマンドによって処理され、ユーザおよびグループクォータが .Xr quotaon 8 で有効にされます。 デフォルトでは、ファイルシステムのクォータは関連するファイルシステムの ルートに置かれた .Pa quota.user および .Pa quota.group というファイルで管理されます。 これらのデフォルトは、クォータオプションの直後に等号とデフォルトに代わる 絶対パス名を置くことで変更することができます。 従って、 .Pa /tmp のユーザクォータファイルを .Pa /var/quotas/tmp.user に置く場合、そのファイルの場所は以下のように指定されます。 .Bd -literal -offset indent userquota=/var/quotas/tmp.user .Ed .Pp ``noauto'' オプションが指定されている場合、ファイルシステムはシステム 起動時に自動的にマウントされません。 .Pp マウント形式は .Fa fs_mntops フィールドから取り出され、 .Fa fs_type フィールドに個別に保存されます ( .Fa fs_mntops フィールドからは削除されません)。 .Fa fs_type が ``rw'' または ``ro'' ならば、 .Fa fs_file フィールドで指定されたファイルシステムは、読み書き可能、または読み出し 専用で指定の特殊ファイルに正常にマウントされます。 .Fa fs_type が ``sw'' ならば、特殊ファイルはシステムのリブート処理の最後に .Xr swapon 8 コマンドによってスワップ領域の一部として使用されます。 .Fa fs_spec と .Fa fs_type 以外のフィールドは使用されません。 .Fa fs_type が ``xx'' と指定されている場合、このエントリは無視されます。 これは、現在使用されていないディスクパーティションを表すのに便利です。 .Pp 第 5 フィールド .Pq Fa fs_freq は、どのファイルシステムがダンプされる必要があるか決定するために .Xr dump 8 コマンドによって使用されます。 第5フィールドが与えられていない場合は 0 が返され、 .Nm dump コマンドはそのファイルシステムをダンプする必要がないと見なします。 .Pp 第 6 フィールド .Pq Fa fs_passno は、リブート時にファイルシステムのチェックが行われる順序を決定するために .Xr fsck 8 プログラムによって使用されます。 ルートファイルシステムは .Fa fs_passno に 1、他のファイルシステムは .Fa fs_passno に 2 が指定されているべきです。 1つのドライブ内のファイルシステムは逐次的にチェックされますが、 異なるドライブ上のファイルシステムは、ハードウェアの並列性を利用して 同時にチェックされます。 第6フィールドが与えられていないか 0 の場合、0 が返され、 .Xr fsck 8 コマンドはそのファイルシステムをチェックする必要がないと見なします。 .Bd -literal #define FSTAB_RW "rw" /* 読み書き可能デバイス */ #define FSTAB_RQ "rq" /* クォータ付き読み書き可能デバイス */ #define FSTAB_RO "ro" /* 読み出し専用デバイス */ #define FSTAB_SW "sw" /* スワップデバイス */ #define FSTAB_XX "xx" /* 完全に無視 */ struct fstab { char *fs_spec; /* ブロック型スペシャルデバイス名 */ char *fs_file; /* ファイルシステムのパスのプレフィックス */ char *fs_vfstype; /* ufs,nfs などのファイルシステム形式 */ char *fs_mntops; /* -o に準拠したマウントオプション */ char *fs_type; /* fs_mntops から FSTAB_* のコピー */ int fs_freq; /* ダンプ周期の日数 */ int fs_passno; /* 並列 fsck のパス番号 */ }; .Ed .Pp .Pa fstab のレコードを適切に読み出すには、 .Xr getfsent 3 , .Xr getfsspec 3 , .Xr getfstype 3 , .Xr getfsfile 3 ルーチンを使用します。 .Sh 関連ファイル .Bl -tag -width /etc/fstab -compact .It Pa /etc/fstab .Nm ファイルは .Pa /etc に存在します。 .El .Sh 関連項目 .Xr getfsent 3 , .Xr getvfsbyname 3 , .Xr dump 8 , .Xr fsck 8 , .Xr mount 8 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr swapon 8 , .Xr umount 8 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/group.5 b/ja_JP.eucJP/man/man5/group.5 index 2e93699406..c97e358fe2 100644 --- a/ja_JP.eucJP/man/man5/group.5 +++ b/ja_JP.eucJP/man/man5/group.5 @@ -1,167 +1,167 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)group.5 8.3 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man5/group.5,v 1.15.2.1 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/group.5,v 1.15.2.2 2000/12/29 10:18:04 ru Exp % .\" jpman %Id: group.5,v 1.3 1998/07/02 14:08:51 horikawa Stab % .\" .Dd September 29, 1994 .Dt GROUP 5 .Os .Sh 名称 .Nm group .Nd グループ許可ファイルのフォーマット .Sh 解説 .Aq Pa /etc/group ファイルは改行で区切られた .Tn ASCII レコードから成ります。1 レコードが 1 グループに対応し、コロン .Ql \&: で区切られた 4 つの欄から成ります。 これらの欄の意味は以下のとおりです: .Bl -tag -width password -offset indent -compact .It group そのグループの名前。 .It passwd グループの .Em 暗号化された パスワード。 .It gid そのグループの 10 進数 ID。 .It member グループメンバ。 .El .Pp 最初の非空白文字がポンドサイン (#) である行はコメントであり、無視されます。 空白・タブ・改行のみからなる行は空行であり、これも無視されます。 .Pp .Ar group 欄は、そのグループのメンバであるユーザにファイルアクセスを許可するために 用いる、グループの名前です。 .Ar gid 欄はそのグループ名に結び付けられた番号です。両者はファイルアクセスを制御 しますので、システム (またしばしば複数システムの 1 グループ) 中で一意的で ある必要があります。 .Ar passwd 欄はなくてもいい .Em 暗号化された パスワードです。この欄はめったに用いられるこ とはなく、通常ブランクにしておくよりもむしろアスタリスクが置かれます。 .Ar member 欄は .Ar group の権利を許可されたユーザの名前を含んでいます。メンバ名は空白や改行なし にコンマで区切られます。ユーザの .Pa /etc/passwd エントリ中にグループが指定されていれば自動的にそのグループに入ることに なりますので、 .Pa /etc/group ファイル中にそのユーザを追加する必要はありません。 .\" .Pp .\" When the system reads the file .\" .Pa /etc/group .\" the fields are read into the structure .\" .Fa group .\" declared in .\" .Aq Pa grp.h : .\" .Bd -literal -offset indent .\" struct group { .\" char *gr_name; /* group name */ .\" char *gr_passwd; /* group password */ .\" int gr_gid; /* group id */ .\" char **gr_mem; /* group members */ .\" }; .\" .Ed .Sh YP/NIS との相互作用 .Pa /etc/group ファイルは YP/NIS グループデータベースを有効にするように作成可能です。 C ライブラリ内部としては、 .Ar name 欄が 1 つのプラス符号 (`+') に続く 1 つのグループ名から成るエントリは、 その名前のグループに対する YP/NIS グループエントリで置き換えられます。 .Ar name 欄が引き続いてグループ名を持たない 1 つのプラス符号から成るエントリは、 YP/NIS の .Dq Li group.byname マップ全体で置き換えられます。 .Pp 何らかの理由で YP/NIS グループデータベースが有効になった場合、 少数のグループのみが有効であるときですら、全ての逆検索 (すなわち .Fn getgrgid ) ではデータベース全体を利用することになるでしょう。それ故、 .Fn getgrgid が返すグループ名が正しい前方マッピングを持つことは保証できません。 .Sh 制限 様々な制限事項が該当する機能のところで説明されています。 .Sx 関連項目 の節を参照してください。 - +.Pp 古い実装においては、 1 つのグループは 200 以上のメンバを持つことはできず、 .Pa /etc/group の最大行長は 1024 文字でした。それより長い行は読み飛ばされました。 この制限は .Fx 3.0 でなくなりました。 静的にリンクされた古いバイナリ、古い共有ライブラリに依存する古いバイナリ、 互換モードにおける非 .Fx のバイナリには、まだこの制限があるかもしれません。 .Sh 関連ファイル .Bl -tag -width /etc/group -compact .It Pa /etc/group .El .Sh 関連項目 .Xr passwd 1 , .Xr setgroups 2 , .Xr crypt 3 , .Xr getgrent 3 , .Xr initgroups 3 , .Xr yp 4 , .Xr passwd 5 .Sh バグ .Xr passwd 1 コマンドは .Nm パスワードを変更しません。 .Sh 歴史 .Nm ファイルフォーマットは .At v6 で現われました。 YP/NIS の機能は .Tn SunOS を手本に作られ、 -.Tn FreeBSD -1.1 で初めて現われました。 +.Fx 1.1 +で初めて現われました。 コメントサポートは .Fx 3.0 で最初に現われました。 diff --git a/ja_JP.eucJP/man/man5/hosts.equiv.5 b/ja_JP.eucJP/man/man5/hosts.equiv.5 index 30eef7e0ec..581919d148 100644 --- a/ja_JP.eucJP/man/man5/hosts.equiv.5 +++ b/ja_JP.eucJP/man/man5/hosts.equiv.5 @@ -1,143 +1,143 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/hosts.equiv.5,v 1.10.2.1 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/hosts.equiv.5,v 1.10.2.2 2000/12/29 10:18:04 ru Exp % .\" .\" jpman %Id: hosts.equiv.5,v 1.3 1998/06/12 11:02:12 mutoh Stab % .Dd February 11, 1996 .Dt HOSTS.EQUIV 5 .Os FreeBSD .Sh 名称 .Nm hosts.equiv , .Nm .rhosts .Nd 信頼できるリモートホスト名、およびユーザのデータベース .Sh 解説 .Nm および .Nm .rhosts ファイルは、ネットワーク上の信頼できるホストとユーザに関する情報を格納 します。 各ホストに対して、1つの行に以下の情報を与えます。 - +.Pp 単純に .Bd -unfilled -offset indent hostname [username] .Ed - +.Pp あるいは、より冗長に以下のようにします。 .Bd -unfilled -offset indent [+-][hostname|@netgroup] [[+-][username|@netgroup]] .Ed .Pp .Dq @ は netgroup というグループによってホスト、またはユーザを表します。 単独の .Dq + は全てのホスト、またはユーザと一致します。前に .Dq - を伴うホスト名は、一致する全てのホストとそのホスト上の全ての ユーザを拒否します。 前に .Dq - を伴うユーザ名は、指定されたホスト上の一致したユーザ全てを拒否します。 .Pp 各項目は任意の数の空白やタブ文字で区切られます。 .Dq # はコメントの開始を表し、これ以降の行末までの文字はこのファイルを 検索するルーチンによって解釈されません。 .Pp ホスト名は、インターネットアドレス操作ライブラリ .Xr inet 3 の .Xr inet_addr 3 ルーチンを用いた伝統的な -.Dq \&. +.Dq .\& (ドット) 表記で指定されます。 ホスト名は、フィールド区切り文字、改行、およびコメント文字 以外のあらゆる印字可能文字を含むことができます。 .Pp セキュリティ上の理由から、ユーザの .Nm .rhosts が通常ファイルでないか、所有者がそのユーザでないか、あるいはその ユーザ以外のユーザが書き込み可能な場合、そのファイルは無視されます。 .Sh 使用例 .Pp .Dl bar.com foo .Pp ホスト .Dq bar.com のユーザ .Dq foo を信頼します。 .Pp .Dl +@allclient .Pp ネットグループ .Dq allclient の全てのホストを信頼します。 .Pp .Dl +@allclient -@dau .Pp ネットグループ .Dq allclient の全てのホストとそのユーザを信頼しますが、 ネットグループ .Dq dau のユーザは例外です。 .Sh 関連ファイル .Bl -tag -width /etc/hosts.equivxxx -compact .It Pa /etc/hosts.equiv .Nm ファイルは .Pa /etc に存在します。 .It Pa $HOME/.rhosts .Nm .rhosts ファイルは .Pa $HOME に存在します。 .El .Sh 関連項目 .Xr rcp 1 , .Xr rlogin 1 , .Xr rsh 1 , .Xr gethostbyname 3 , .Xr inet 3 , .Xr innetgr 3 , .Xr ruserok 3 , .Xr yp 4 , .Xr ifconfig 8 , .Xr named 8 .Sh バグ このマニュアルページは不完全です。 より詳細については、 .Pa lib/libc/net/rcmd.c のソースか、 SunOS のマニュアルページを参照してください。 diff --git a/ja_JP.eucJP/man/man5/hosts.lpd.5 b/ja_JP.eucJP/man/man5/hosts.lpd.5 index 804aa7e44c..8e8bf6395d 100644 --- a/ja_JP.eucJP/man/man5/hosts.lpd.5 +++ b/ja_JP.eucJP/man/man5/hosts.lpd.5 @@ -1,57 +1,58 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/hosts.lpd.5,v 1.4.2.2 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/hosts.lpd.5,v 1.4.2.3 2000/12/29 10:18:04 ru Exp % .\" jpman %Id: hosts.lpd.5,v 1.3 1998/04/29 11:35:23 kuma Stab % .\" .\" WORD: trusted host 信頼できるホスト .\" .Dd June 1, 1996 .Dt HOSTS.LPD 5 .Os FreeBSD .Sh 名称 .Nm hosts.lpd .Nd ローカルプリントサービスを使用可能な信頼できるホスト .Sh 解説 .Nm ファイルは、あなたのマシンのローカルプリントサービスを許可するホストの ホスト名もしくは IP アドレスのリストを含みます。 ホスト名および IP アドレスは、各々 1 行に 1 つずつ記述します。 .Sh 関連ファイル .Bl -tag -width /etc/hosts.lpdxxxxx -compact .It Pa /etc/hosts.lpd .Nm ファイルは .Pa /etc にあります。 +.El .Sh 関連項目 .Xr printcap 5 , .Xr lpd 8 diff --git a/ja_JP.eucJP/man/man5/link.5 b/ja_JP.eucJP/man/man5/link.5 index c1281385c4..658bc69715 100644 --- a/ja_JP.eucJP/man/man5/link.5 +++ b/ja_JP.eucJP/man/man5/link.5 @@ -1,617 +1,617 @@ .\" Copyright (c) 1993 Paul Kranenburg .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Paul Kranenburg. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/link.5,v 1.14.2.1 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/link.5,v 1.14.2.2 2000/12/29 10:18:04 ru Exp % .\" jpman %Id: link.5,v 1.3 1998/08/09 12:52:25 horikawa Stab % .\" .Dd October 23, 1993 .Dt LINK 5 .Os .Sh 名称 .Nm link .Nd ダイナミックローダとリンクエディタインタフェース .Sh 書式 .Fd #include .Fd #include .Fd #include .Sh 解説 インクルードファイル .Aq Pa link.h では、ダイナミックにリンクされたプログラムやライブラリに含まれる 数種の構造体が宣言されています。 その構造体は、リンクエディタとローダ機構のいくつかの構成要素間の インタフェースを定義します。 バイナリ中でのこれらの構造体のレイアウトは 多くの点で a.out 形式に類似しており、 シンボル定義 (付随する文字列テーブルを含む) や外部エンティティへの参照を 解決するのに必要なリロケーションレコードといった、 よく似た機能を提供します。 それに加え、ダイナミックロードとリンク処理に固有のいくつかのデータ構造も 記録しています。このようなデータ構造としては、 リンクエディット処理を完結するのに必要な他のオブジェクトへの参照や、 異なるプロセス間でコードページの共有を進めるための .Em 位置独立コード (Position Independent Code 略して PIC) を機能させるための 間接テーブルがあります。 ここで述べるデータ構造全体を .Em ランタイムリロケーションセクション (RRS) と呼び、ダイナミックにリンクされるプログラムや共有オブジェクトの 標準テキスト及びデータセグメントに埋め込まれます。 これは、既存の .Xr a.out 5 形式には RRS のための場所が他にないからです。 .Pp あるプログラムを実行可能とする処理が、 システムリソースの使用を最適化しつつ正しく完了するよう、 複数のユーティリティが協調して働きます。 コンパイラは PIC コードを出力し、 それから .Xr ld 1 によって共有ライブラリが作られます。 コンパイラはまた、初期化される各データアイテムのサイズ情報を アセンブラディレクティブ .size を用いて記録します。 PIC コードは、ある間接テーブルを通じてデータ変数にアクセスする点で 従来のコードと異なっています。 この表はグローバルオフセットテーブルと呼ばれ、 慣習によって、予約名 .Em _GLOBAL_OFFSET_TABLE_ によってアクセス可能です。 ここで用いられるメカニズムの詳細は機種依存ですが、通常は そのマシンのレジスタ 1 本がこの用途に予約されます。 このような仕組みの背景にある合理性は、 実際のロードアドレスとは独立したコードを生成することです。 実行時には、アドレス空間において様々な共有オブジェクトがロードされるアドレス に応じて、グローバルオフセットテーブルに含まれる値のみ変更すればよいのです。 .Pp 同様に、大域的に定義された関数の呼び出しは、 コアイメージのデータセグメント中に置かれている プロシージャリンケージテーブル (PLT) を通じて間接的に行われます。 これもまた、実行時にテキストセグメントを修正せずに済ませるためのものです。 .Pp リンクエディタがグローバルオフセットテーブルとプロシージャリンケージテーブルを 配置するのは、 複数の PIC オブジェクトファイルを結合して プロセスのアドレス空間にマップするのに適した 1 つのイメージにする時です。 リンクエディタはまた、実行時のリンクエディタが必要とする全てのシンボルを集め、 それらをイメージのテキストとデータのビット列と共にストアします。 もう 1 つの予約シンボル .Em _DYNAMIC は、実行時のリンク構造が存在することを示すのに用いられます。 _DYNAMIC が 0 にリロケートされる場合は、実行時リンクエディタを起動する 必要はありません。 もし _DYNAMIC が非 0 なら、_DYNAMIC は、必要なリロケーション情報と シンボル情報の位置を引き出すことができるデータ構造を指しています。 これは特に、スタートアップモジュール .Em crt0 で利用されます。 慣習として、_DYNAMIC 構造体は、 それが属するイメージのデータセグメントの最初に置かれます。 .Pp .Sh データ構造 ダイナミックリンクと実行時リロケーションをサポートするデータ構造は、 それらの処理の適用対象イメージのテキスト及びデータセグメントの 両方の中にあります。 テキストセグメントにはシンボル記述や名前といった読み取り専用データが含まれ、 他方データセグメントにはリロケーション処理で更新する必要のあるテーブル類が 含まれます。 .Pp シンボル _DYNAMIC は .Fa _dynamic 構造体を参照します: .Bd -literal -offset indent struct _dynamic { int d_version; struct so_debug *d_debug; union { struct section_dispatch_table *d_sdt; } d_un; struct ld_entry *d_entry; }; .Ed .Bl -tag -width d_version .It Fa d_version このフィールドは異なったバージョンのダイナミックリンク実装用に 提供されています。 .Xr ld 1 及び .Xr ld.so 1 が理解する現在のバージョン番号は、 .Tn SunOS 4.x リリースで用いられている .Em LD_VERSION_SUN (3) と、 .Fx 1.1 以来使用されている .Em LD_VERSION_BSD (8) です。 .It Fa d_un .Em d_version に応じたデータ構造を参照します。 .It Fa so_debug このフィールドは、 共有オブジェクトのシンボルテーブルをアクセスするためのフックを デバッガに提供します。 この共有オブジェクトは、 実行時リンクエディタの処理の結果ロードされたものです。 .El .Pp .Fa section_dispatch_table 構造体がメインとなる .Dq ディスパッチャ テーブルであり、 イメージ内で様々なシンボル情報やリロケーション情報が置かれるセグメントへの オフセットを保持します。 .Bd -literal -offset indent struct section_dispatch_table { struct so_map *sdt_loaded; long sdt_sods; long sdt_filler1; long sdt_got; long sdt_plt; long sdt_rel; long sdt_hash; long sdt_nzlist; long sdt_filler2; long sdt_buckets; long sdt_strings; long sdt_str_sz; long sdt_text_sz; long sdt_plt_sz; }; .Ed .Pp .Bl -tag -width sdt_filler1 .It Fa sdt_loaded ロードされた最初のリンクマップ (後述) へのポインタ。 このフィールドは .Nm ld.so によって設定されます。 .It Fa sdt_sods .Em この オブジェクトが必要とする共有オブジェクトデスクリプタの (リンク) リストの先頭。 .It Fa sdt_filler1 使用しないで下さい (SunOS では ライブラリの検索ルールを指定するのに使用されていました)。 .It Fa sdt_got このイメージ中でのグローバルオフセットテーブルの位置。 .It Fa sdt_plt このイメージ中でのプロシージャリンケージテーブルの位置。 .It Fa sdt_rel 実行時のリロケーションを指定する .Fa relocation_info 構造体 .Po .Xr a.out 5 参照 .Pc の配列の位置。 .It Fa sdt_hash このオブジェクトのシンボルテーブルでシンボル検索を高速化するための ハッシュテーブルの位置。 .It Fa sdt_nzlist シンボルテーブルの位置。 .It Fa sdt_filler2 現在使用されていません。 .It Fa sdt_buckets .Fa sdt_hash 中のバケット数。 .It Fa sdt_strings .Fa sdt_nzlist に対応するシンボル文字列テーブルの位置。 .It Fa sdt_str_sz 文字列テーブルのサイズ。 .It Fa sdt_text_sz このオブジェクトのテキストセグメントのサイズ。 .It Fa sdt_plt_sz プロシージャリンケージテーブルのサイズ。 .El .Pp .Fa sod 構造体は、それを含むオブジェクトのリンクエディット処理を完了するのに 必要な共有オブジェクトを記述します。 そのようなオブジェクトのリスト .Po .Fa sod_next で連結されます .Pc は section_dispatch_table 構造体の .Fa sdt_sods によって指し示されます。 .Bd -literal -offset indent struct sod { long sod_name; u_int sod_library : 1, sod_reserved : 31; short sod_major; short sod_minor; long sod_next; }; .Ed .Pp .Bl -tag -width sod_library .It Fa sod_name このリンクオブジェクトを記述する文字列の、 テキストセグメントにおけるオフセット。 .It Fa sod_library もし設定されていれば、 .Fa sod_name は .Nm ld.so が検索することになるライブラリを指定します。 そのパス名は、あるディレクトリ群 .Po .Xr ldconfig 8 参照 .Pc で .Em lib\&\&.so.n.m. にマッチする共有オブジェクトを検索することで得られます。 もし設定されていなければ、 .Fa sod_name は希望する共有オブジェクトに対するフルパス名を指し示す必要があります。 .It Fa sod_major ロードすべき共有オブジェクトのメジャーバージョン番号を指定します。 .It Fa sod_minor ロードすべき共有オブジェクトの希望するマイナーバージョン番号を指定します。 .El .Pp プロセスのアドレス空間にロードされる共有オブジェクト全てを追跡するために、 実行時リンクエディタは .Em リンクマップ と呼ばれる構造体のリストを管理しています。 これらの構造体は実行時にのみ用いられ、 実行可能ファイルや共有ライブラリのテキストあるいはデータセグメントには ありません。 .Bd -literal -offset indent struct so_map { caddr_t som_addr; char *som_path; struct so_map *som_next; struct sod *som_sod; caddr_t som_sodbase; u_int som_write : 1; struct _dynamic *som_dynamic; caddr_t som_spd; }; .Ed .Bl -tag -width som_dynamic .It Fa som_addr このリンクマップに対応する共有オブジェクトがロードされるアドレス。 .It Fa som_path ロードされるオブジェクトのフルパス名。 .It Fa som_next 次のリンクマップへのポインタ。 .It Fa som_sod この共有オブジェクトのロードをつかさどる .Fa sod 構造体。 .It Fa som_sodbase 将来のバージョンにおいては、実行時リンカに渡されます。 .It Fa som_write このオブジェクトのテキストセグメント (の一部分) が現在書き込み可能である 場合にセットされます。 .It Fa som_dynamic このオブジェクトの .Fa _dynamic 構造体へのポインタ。 .It Fa som_spd 実行時リンクエディタが管理するプライベートデータと連結するためのフック。 .El .Pp サイズ付きシンボル記述。 これは単に .Fa nlist 構造体にフィールド .Pq Fa nz_size を 1 つ追加したものです。 共有オブジェクトのデータセグメントにあるアイテムの サイズ情報を伝達するのに用いられます。 この構造体の配列は共有オブジェクトのテキストセグメントに存在し、 そのアドレスは .Fa section_dispatch_table の .Fa sdt_nzlist フィールドで指定されます。 .Bd -literal -offset indent struct nzlist { struct nlist nlist; u_long nz_size; #define nz_un nlist.n_un #define nz_strx nlist.n_un.n_strx #define nz_name nlist.n_un.n_name #define nz_type nlist.n_type #define nz_value nlist.n_value #define nz_desc nlist.n_desc #define nz_other nlist.n_other }; .Ed .Bl -tag -width nz_size .It Fa nlist .Po .Xr nlist 3 参照 .Pc 。 .It Fa nz_size このシンボルで表現されるデータのサイズ。 .El .Pp 実行時のリンクエディットで行われるシンボル検索を高速化するため、 共有オブジェクトのテキストセグメントにハッシュテーブルが含まれています。 .Fa section_dispatch_table の .Fa sdt_hash フィールドは .Fa rrs_hash 構造体を指し示します: .Bd -literal -offset indent struct rrs_hash { int rh_symbolnum; /* シンボル番号 */ int rh_next; /* 次のハッシュエントリ */ }; .Ed .Pp .Bl -tag -width rh_symbolnum .It Fa rh_symbolnum 共有オブジェクトのシンボルテーブル ( .Fa ld_symbols で与えられます) での当該シンボルのインデックス。 .It Fa rh_next 衝突が起きたとき、このフィールドはこのハッシュテーブルのバケットにおける 次のエントリのオフセットを保持します。 最終バケット要素の場合は 0 となります。 .El .Fa rt_symbol 構造体は、 実行時にアロケートされるコモン(commons)と 共有オブジェクトからコピーされるデータアイテムを 追跡するのに用いられます。 これらのアイテムはリンクリストで管理され、デバッガでの利用のために .Fa so_debug 構造体 (後述) 中の .Fa dd_cc フィールドによって公開されます。 .Bd -literal -offset indent struct rt_symbol { struct nzlist *rt_sp; struct rt_symbol *rt_next; struct rt_symbol *rt_link; caddr_t rt_srcaddr; struct so_map *rt_smp; }; .Ed .Pp .Bl -tag -width rt_scraddr .It Fa rt_sp シンボル記述。 .It Fa rt_next 次の rt_symbol の仮想アドレス。 .It Fa rt_link ハッシュバケットにおける次の要素。 .Nm ld.so の内部で用いられます。 .It Fa rt_srcaddr 共有オブジェクト中での初期化済データのソース位置。 .It Fa rt_smp この実行時シンボルが記述するデータの元のソースとなる共有オブジェクト。 .El .Pp .Fa so_debug 構造体は、 実行時リンクエディットの結果、当該プロセスのアドレス空間にロードされた あらゆる共有オブジェクトの情報を得るために、 デバッガによって利用されます。 実行時リンクエディタはプロセスの初期化処理の一部として実行されるため、 共有オブジェクトからシンボルにアクセスしようとするデバッガは、 crt0 からリンクエディタが呼ばれた後でのみそれが可能となります。 ダイナミックリンクされているバイナリは .Fa so_debug 構造体を持っています。この構造体の場所は .Fa _dynamic 中の .Fa d_debug フィールドで指示されます。 .Bd -literal -offset indent struct so_debug { int dd_version; int dd_in_debugger; int dd_sym_loaded; char *dd_bpt_addr; int dd_bpt_shadow; struct rt_symbol *dd_cc; }; .Ed .Pp .Bl -tag -width dd_in_debugger .It Fa dd_version このインタフェースのバージョン番号。 .It Fa dd_in_debugger 当該プログラムがデバッガの制御下にあることを実行時リンカに知らせるために デバッガによってセットされます。 .It Fa dd_sym_loaded 共有オブジェクトをロードすることで実行時リンカがシンボルを追加した場合、 実行時リンカによってセットされます。 .It Fa dd_bpt_addr デバッガに制御を移すために実行時リンカによってセットされる ブレークポイントアドレス。 このアドレスは、_main 呼び出しの前に、スタートアップモジュール .Em crt0.o によってある適切な場所に決定されます。 .It Fa dd_bpt_shadow アドレス .Fa dd_bpt_addr にあった元の機械命令を保持します。 デバッガは、プログラム実行を再開する前にこの機械命令を元に戻すことに なっています。 .It Fa dd_cc デバッガが必要とする可能性のある、実行時にアロケートしたシンボルの リンクリストへのポインタ。 .El .Pp .Em ld_entry 構造体は .Nm ld.so 中のサービスルーチン一式を定義します。 .\" See .\" .Xr libdl.a .\" for more information. .Bd -literal -offset indent struct ld_entry { void *(*dlopen)(char *, int); int (*dlclose)(void *); void *(*dlsym)(void *, char *); char *(*dlerror)(void); }; .Ed - +.Pp .Fa crt_ldso 構造体は、crt0 中のスタートアップコードと .Nm ld.so との間のインタフェースを定義します。 .Bd -literal -offset indent struct crt_ldso { int crt_ba; int crt_dzfd; int crt_ldfd; struct _dynamic *crt_dp; char **crt_ep; caddr_t crt_bp; char *crt_prog; char *crt_ldso; struct ld_entry *crt_ldentry; }; #define CRT_VERSION_SUN 1 #define CRT_VERSION_BSD_2 2 #define CRT_VERSION_BSD_3 3 #define CRT_VERSION_BSD_4 4 .Ed .Bl -tag -width crt_dzfd .It Fa crt_ba crt0 によって .Nm ld.so がロードされた仮想アドレス。 .It Fa crt_dzfd SunOS では、このフィールドは .Dq Pa /dev/zero へのオープンされたファイル記述子を保持し、 0 クリアされたデマンドページを得ます。 .Fx ではこのフィールドは -1 を保持します。 .It Fa crt_ldfd .Nm ld.so をロードするために crt0 が用いる、オープンされたファイル記述子 を保持します。 .It Fa crt_dp main の .Fa _dynamic 構造体へのポインタ。 .It Fa crt_ep 環境文字列へのポインタ。 .It Fa crt_bp メインプログラムがデバッガで実行される場合、 実行時リンカがブレークポイントを置くアドレス。 .Fa so_debug を参照してください。 .It Fa crt_prog crt0 で決定されるメインプログラムの名前 (CRT_VERSION_BSD3 のみ)。 .It Fa crt_ldso crt0 でマップされる実行時リンカのパス (CRT_VERSION_BSD4 のみ)。 .El .Pp .Fa hints_header 構造体及び .Fa hints_bucket 構造体は、通常 .Dq Pa /var/run/ld.so.hints に置かれるライブラリヒントのレイアウトを定義します。 ライブラリヒントは、ファイルシステム中で共有オブジェクトイメージの在処を すばやく見つけるために .Nm ld.so によって利用されます。 ヒントファイルの構成は .Dq a.out とそれほど異なりません。つまりヒントファイルは、 固定長ハッシュバケットのオフセットとサイズを決定するためのヘッダと、 共通の文字列プールを持っています。 .Bd -literal -offset indent struct hints_header { long hh_magic; #define HH_MAGIC 011421044151 long hh_version; #define LD_HINTS_VERSION_1 1 long hh_hashtab; long hh_nbucket; long hh_strtab; long hh_strtab_sz; long hh_ehints; }; .Ed .Bl -tag -width hh_strtab_sz .It Fa hh_magic ヒントファイルのマジックナンバ。 .It Fa hh_version インタフェースのバージョン番号。 .It Fa hh_hashtab ハッシュテーブルのオフセット。 .It Fa hh_strtab 文字列テーブルのオフセット。 .It Fa hh_strtab_sz 文字列テーブルのサイズ。 .It Fa hh_ehints ヒントファイルで利用可能な最大オフセット。 .El .Pp .Bd -literal -offset indent /* * ヒントファイルのハッシュテーブル要素 */ struct hints_bucket { int hi_namex; int hi_pathx; int hi_dewey[MAXDEWEY]; int hi_ndewey; #define hi_major hi_dewey[0] #define hi_minor hi_dewey[1] int hi_next; }; .Ed .Bl -tag -width hi_ndewey .It Fa hi_namex ライブラリを指定する文字列のインデックス。 .It Fa hi_pathx ライブラリのフルパス名を表す文字列のインデックス。 .It Fa hi_dewey 共通ライブラリのバージョン番号。 .It Fa hi_ndewey .Fa hi_dewey 中の有効エントリ数。 .It Fa hi_next ハッシュ衝突の際の次のバケット。 .El .Sh 警告 現在のところ、共有ライブラリ生成をサポートしているのは (GNU) C コンパイラ のみです。他のプログラミング言語では利用できません。 diff --git a/ja_JP.eucJP/man/man5/login.conf.5 b/ja_JP.eucJP/man/man5/login.conf.5 index 89e879acfe..99c6f22d42 100644 --- a/ja_JP.eucJP/man/man5/login.conf.5 +++ b/ja_JP.eucJP/man/man5/login.conf.5 @@ -1,368 +1,368 @@ .\" 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.22.2.5 2000/12/08 13:49:40 ru Exp % +.\" %FreeBSD: src/lib/libutil/login.conf.5,v 1.22.2.6 2000/12/29 14:45:03 ru Exp % .\" .\" jpman %Id: login.conf.5,v 1.3 1998/07/21 23:10:00 jsakai Stab % .Dd November 22, 1996 .Dt LOGIN.CONF 5 .Os FreeBSD .Sh 名称 .Nm login.conf .Nd ログインクラス ケーパビリティ データベース .Sh 書式 .Pa /etc/login.conf , .Pa ~/.login_conf .Sh 解説 .Nm には、ログインクラスについてのさまざまな属性やケーパビリティが 含まれています。 ログインクラス (ユーザアカウントデータベースである .Pa /etc/master.passwd のそれぞれの行について自由に設定できる注釈) は、セッションの アカウンティングやリソース制限、ユーザ環境設定などを決定します。 ログインクラスはシステム内のさまざまなプログラムから利用され、 ユーザのログイン環境を設定するほか、 ポリシー、アカウンティング及び管理上の制限を設定します。 ログインクラスはまた、 システムや利用可能な種々の認証機構に対するユーザ認証手段を提供します。 .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 file データファイルへのパス名 .It program 実行可能ファイルへのパス名 .It list コンマや空白で区切られた値のリスト (または値の組) .It path 普通の csh の慣習に従った、空白やコンマで区切られたパス名のリスト (先頭のユーザ名を伴う/伴わないチルダはホームディレクトリに展開される等) .It number 10 進数 (デフォルト)、16 進数 (0x で始まる)、または 8 進数 (0 で始まる) の 数値型の値。数値型の場合、設定できる値は 1 つだけです。 数値型は文字列型のフォーマットでも指定できる場合があります (ケーパビリティタグ '#' の代わりに '=' で値が区切られているなど)。 どの方法が使われた場合でも、データベース中のすべての行は修正したい行の値を 正確に上書きするために、同じ方法を用いなければなりません。 .It size サイズを表す文字。単位のデフォルトの解釈はバイトで、サフィックスに よって別の単位を指定できます。 .Bl -tag -offset indent -compact -width xxxx .It b 512 バイトブロックの明示的な指定 .It k キロバイトの指定 (1024 バイト) .It m 1 メガバイトの乗数の指定 (1048576 バイト) .It g ギガバイト単位の指定。そして .It t テラバイトの記述。 .El サイズの値は数値であり、サフィックスの大文字小文字は重要ではありません。 連続した値は足し込まれます。 .It time 時間の期間。デフォルトの単位は秒。 プレフィックスによって別の単位を指定できます。 .Bl -tag -offset indent -compact -width xxxx .It y 1 年を 365 日で数えた年数の指定 .It w 週の数の指定 .It d 日数 .It h 時間数 .It m 分数 .It s 秒数 .El 連続した値は足し込まれます。 たとえば 2 時間 40 分は 9600s、160m または 2h40m と 表現することができます。 .El .Pp 特別な .Em tc=value 表記を使用することにより、通常の約束事であるケーパビリティエントリの 補間が可能です。 .Pp .Sh リソース制限 .Bl -column coredumpsize indent indent -.Sy Name Type Notes Description -.It cputime time CPU 使用制限 -.It filesize size ファイルサイズの最大値制限 -.It datasize size データサイズの最大値制限 -.It stacksize size スタックサイズの最大値制限 -.It coredumpsize size コアダンプサイズの最大値制限 -.It memoryuse size コアメモリ使用量の最大値制限 -.It memorylocked size コアメモリロック可能量の最大値制限 -.It maxproc number プロセス数の最大値制限 -.It openfiles number プロセスごとにオープンできるファイル数の最大値制限 -.It sbsize size 最大のソケットバッファサイズ +.It Sy "名称 型 注 解説 +.It "cputime time CPU 使用制限 +.It "filesize size ファイルサイズの最大値制限 +.It "datasize size データサイズの最大値制限 +.It "stacksize size スタックサイズの最大値制限 +.It "coredumpsize size コアダンプサイズの最大値制限 +.It "memoryuse size コアメモリ使用量の最大値制限 +.It "memorylocked size コアメモリロック可能量の最大値制限 +.It "maxproc number プロセス数の最大値制限 +.It "openfiles number プロセスごとにオープンできるファイル数の最大値制限 +.It "sbsize size 最大のソケットバッファサイズ .El .Pp これらのリソース制限エントリは、実際には最大値と現在の 制限値の両方を指定します ( .Xr getrlimit 2 を参照してください)。 普通は現在の制限値 (ソフトリミット) が使われますが、 ユーザは現在の制限値を最大制限値 (ハードリミット) まで増やすことが 許されています。 最大制限値と現在の制限値はケーパビリティ名に各々 -max 及び -cur を 追加することによって指定できます。 .Pp .Sh 環境 .Bl -column ignorenologin indent xbinxxusrxbin -.Sy Name Type Notes Description -.It charset string $MM_CHARSET 環境変数の明示的な設定値 -.It hushlogin bool false ~/.hushlogin ファイルがある場合と同じ -.It ignorenologin bool false nologin によってログインを禁止されません -.It lang string $LANG 環境変数を指定した値に設定します -.It manpath path マニュアルページのデフォルト検索パス -.It nologin file このファイルが存在する場合、ファイルの内容が画面に表示され、そのログインセッションは終了されます -.It path path /bin /usr/bin デフォルトコマンド検索パス -.It priority number 優先度 (nice) レベルの初期値 -.It requirehome bool false ログインのために有効なホームディレクトリが必要 -.It setenv list コンマで区切られた環境変数とその設定値のリスト -.It shell prog パスワードファイルで指定されているシェルより優先して実行されるセッションシェル。SHELL 環境変数の値は、パスワードファイルで指定されているものになります。 -.It term string 他の手段によって決定できない場合のデフォルトの端末タイプ -.It timezone string $TZ 環境変数のデフォルト値 -.It umask number 022 umask の初期値。続く数字が 8 進数と解釈されるように、常に 0 から始めます -.It welcome file /etc/motd ウェルカムメッセージが入っているファイル +.It Sy "名称 型 注 解説 +.It "charset string $MM_CHARSET 環境変数の明示的な設定値 +.It "hushlogin bool false ~/.hushlogin ファイルがある場合と同じ +.It "ignorenologin bool false nologin によってログインを禁止されません +.It "lang string $LANG 環境変数を指定した値に設定します +.It "manpath path マニュアルページのデフォルト検索パス +.It "nologin file このファイルが存在する場合、ファイルの内容が画面に表示され、そのログインセッションは終了されます +.It "path path /bin /usr/bin デフォルトコマンド検索パス +.It "priority number 優先度 (nice) レベルの初期値 +.It "requirehome bool false ログインのために有効なホームディレクトリが必要 +.It "setenv list コンマで区切られた環境変数とその設定値のリスト +.It "shell prog パスワードファイルで指定されているシェルより優先して実行されるセッションシェル。SHELL 環境変数の値は、パスワードファイルで指定されているものになります。 +.It "term string 他の手段によって決定できない場合のデフォルトの端末タイプ +.It "timezone string $TZ 環境変数のデフォルト値 +.It "umask number 022 umask の初期値。続く数字が 8 進数と解釈されるように、常に 0 から始めます +.It "welcome file /etc/motd ウェルカムメッセージが入っているファイル .El .Pp .Sh 認証 .Bl -column minpasswordlen indent indent -.Sy Name Type Notes Description -.It minpasswordlen number 6 ローカルパスワード文字列長の最小値 -.It passwd_format string md5 新規パスワードが使用する +.It Sy "名称 型 注 解説 +.It "minpasswordlen number 6 ローカルパスワード文字列長の最小値 +.It "passwd_format string md5 新規パスワードが使用する 暗号フォーマット。 有効な値は "md5" と "des" です。 NIS クライアントが、 .Fx ではない NIS サーバを使用する場合、 おそらく "des" を使用すべきでしょう。 -.\" .It approve program Program to approve login. -.It mixpasswordcase bool true Whether +.\" .It "approve program Program to approve login. +.It "mixpasswordcase bool true Whether すべて小文字のパスワードが入力された場合、 .Xr passwd 1 がユーザに警告します -.It copyright file 追加のコピーライト情報を含んだファイル -.\".It widepasswords bool false Use the wide password format. The wide password +.It "copyright file 追加のコピーライト情報を含んだファイル +.\".It "widepasswords bool false Use the wide password format. The wide password .\" format allows up to 128 significant characters in the password. -.It host.allow list クラス内のユーザがアクセス可能なリモートホストワイルドカードのリスト -.It host.deny list クラス内のユーザがアクセス不可なリモートホストワイルドカードのリスト -.It times.allow list ログインが許されている時間帯のリスト -.It times.deny list ログインが許されない時間帯のリスト -.It ttys.allow list クラス内のユーザがアクセスに使用できる端末と端末グループのリスト -.It ttys.deny list クラス内のユーザがアクセスに使用不可な端末と端末グループのリスト +.It "host.allow list クラス内のユーザがアクセス可能なリモートホストワイルドカードのリスト +.It "host.deny list クラス内のユーザがアクセス不可なリモートホストワイルドカードのリスト +.It "times.allow list ログインが許されている時間帯のリスト +.It "times.deny list ログインが許されない時間帯のリスト +.It "ttys.allow list クラス内のユーザがアクセスに使用できる端末と端末グループのリスト +.It "ttys.deny list クラス内のユーザがアクセスに使用不可な端末と端末グループのリスト .El .Pp これらのフィールドは、ログイン認証システムの中で .Xr passwd 1 や、その他のプログラムから使用される予定です。 .Pp 環境変数を設定するケーパビリティは、その中の文字 .Ql \&~ と .Ql \&$ の両方がスキャンされ、これらはそれぞれ ユーザのホームディレクトリ及びユーザ名に置換されます。 環境変数中にこれらの文字をそのまま含める場合には、 その前にバックスラッシュ '\\' をつけてエスケープします。 .Pp .Em host.allow と .Em host.deny エントリはコンマで区切られたリストで、システムへのリモートアクセスの チェックに使われます。 これらはホスト名か IP アドレスまたはその両方を含むリストからなり、 それらに対してリモートログインのチェックが行われます。 このリストの各項目は、ワイルドカード一致用にシェルプログラムが使用しているのと 同じ書式のワイルドカードを含むことができます (実装の詳細は .Xr fnmatch 3 を参照してください)。 ホストのチェックは、リモートシステムのインターネットアドレス と (もし有効なら) ホスト名の両方をつきあわせて行われます。 両方のリストが空かもしくは指定されていない場合、あらゆるリモートホスト からのログインは許可されます。 host.allow が 1 つかそれ以上のホストを含む場合、リスト中の 各項目のどれかにマッチしたリモートシステムのみがログインを許されます。 host.deny が 1 つかそれ以上のホストを含む場合、そのリストのどれかに マッチしたホストからのログインが禁止されます。 .Pp .Em times.allow と .Em times.deny エントリはコンマで区切られた期間のリストであり、この期間はクラス内の ユーザがログインを許されます。 これらは 1 つ以上の日のコード指定と、これに続けて 24 時間表記の開始時刻と 終了時刻をハイフンまたはダッシュで区切ったものとして表現されます。 たとえば MoThSa0200-1300 は、月、木、土の 午前 2 時から午後 1 時と解釈されます。 これらの時間指定リストの両方が空だった場合、クラス内のユーザはいつでもアクセス 可能になります。 .Em times.allow が指定されている場合、ログインは指定された期間のみ許可されます。 もし .Em times.deny が指定されている場合、 .Em times.allow の中で期間が指定されているかどうかに関わらず、指定された期間は ログインできなくなります。 .Pp .Xr login 1 が強制することは、これらのエントリにより許可された期間内に実際の ログインが行なわれることのみである点に注意して下さい。 セッションの生存期間に関して更なる規制をかけるには、別のデーモンを用意し、 許可されている期間から許可されていない期間への 遷移を監視する必要があります。 .Pp .Em ttys.allow と .Em ttys.deny エントリは、クラス内のユーザがシステムにアクセスするために使う コンマで区切られた (/dev/ プレフィックスを除く) 端末デバイスと、 端末グループ (ttygroup) のリストです (ttygroup の詳細は .Xr getttyent 3 と .Xr ttys 5 を参照して下さい)。 どちらのエントリも存在しない場合、ユーザが使用するログインデバイスの選択には 制限はありません。 .Em ttys.allow のみ指定されている場合、ユーザの使えるデバイスは指定されたグループ またはデバイスリストのみに制限されます。 .Em ttys.deny のみ指定されている場合、ユーザは指定されたデバイスやデバイス グループを使用できません。 両方が与えられていてかつどちらも空でない場合、ユーザは ttys.allow で指定されていて、ttys.deny では指定されていないデバイス群のみ 使用できます。 .Sh アカウント制限 .Bl -column host.accounted indent indent -.Sy Name Type Notes Description -.It accounted bool false このクラス内の全ユーザの +.It "Sy "名称 型 注 解説 +.It "accounted bool false このクラス内の全ユーザの セッション時間アカウウンティングを有効化 -.It autodelete time アカウント失効後自動で削除されるまでの時間 -.It bootfull bool false セッション終了時の「ttygroup が一杯の場合にのみブート」戦略を +.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 "daytime time 1 日あたりのログイン最大時間 +.It "expireperiod time 期限切れまでの割り当て時間 +.It "graceexpire time 失効したアカウントの猶予日数 +.It "gracetime time 追加された、猶予ログイン許可時間 +.It "host.accounted list ログインセッションがアカウントされる リモートホストワイルドカードのリスト -.It host.exempt list ログインセッションのアカウンティング +.It "host.exempt list ログインセッションのアカウンティング を免除されたリモートホストワイルドカードのリスト -.It idletime time ログアウトまでの最大アイドル時間 -.It monthtime time 月毎の最大ログイン時間 -.It passwordtime time 次回パスワード無効日を指定するために +.It "idletime time ログアウトまでの最大アイドル時間 +.It "monthtime time 月毎の最大ログイン時間 +.It "passwordtime time 次回パスワード無効日を指定するために .Xr passwd 1 が使用 -.It refreshtime time アカウントのリフレッシュ許可時間 -.It refreshperiod str リフレッシュが行なわれる頻度 -.It sessiontime time セッション毎の最大ログイン時間 -.It sessionlimit number すべてのグループに対する tty 上の +.It "refreshtime time アカウントのリフレッシュ許可時間 +.It "refreshperiod str リフレッシュが行なわれる頻度 +.It "sessiontime time セッション毎の最大ログイン時間 +.It "sessionlimit number すべてのグループに対する tty 上の 同時最大ログイン数 -.It ttys.accounted list ログインアカウントが有効な tty と ttygroup のリスト -.It ttys.exempt list ログインアカウントが無効な tty と ttygroup のリスト -.It warnexpire time 失効しそうなアカウントに対する事前の注意を +.It "ttys.accounted list ログインアカウントが有効な tty と ttygroup のリスト +.It "ttys.exempt list ログインアカウントが無効な tty と ttygroup のリスト +.It "warnexpire time 失効しそうなアカウントに対する事前の注意を 行なう時間 -.It warnpassword time 失効しそうなパスワードに対する事前の +.It "warnpassword time 失効しそうなパスワードに対する事前の 注意を行なう時間 -.It warntime time 時間切れになりそうな場合に対する事前の注意を +.It "warntime time 時間切れになりそうな場合に対する事前の注意を 行なう時間 -.It weektime time 1 週間毎の最大ログイン時間 +.It "weektime time 1 週間毎の最大ログイン時間 .El .Pp これらのフィールドは、ユーザのログインアクセスを規制、コントロール、記録する タイムアカウンティングシステムによって使われます。 .Pp .Em ttys.accounted と .Em ttys.exempt フィールドは、先に述べた .Em ttys.allow と .Em ttys.deny と同じような方法で状態を操作します。 .Em host.accounted と .Em host.exempt のリストも同様です。 .Sh 関連項目 .Xr cap_mkdb 1 , .Xr login 1 , .Xr getcap 3 , .Xr getttyent 3 , .Xr login_cap 3 , .Xr login_class 3 , .Xr passwd 5 , .Xr ttys 5 diff --git a/ja_JP.eucJP/man/man5/periodic.conf.5 b/ja_JP.eucJP/man/man5/periodic.conf.5 index 68f5b7b567..96dc66a89c 100644 --- a/ja_JP.eucJP/man/man5/periodic.conf.5 +++ b/ja_JP.eucJP/man/man5/periodic.conf.5 @@ -1,552 +1,551 @@ .\"- .\" Copyright (c) 2000 Brian Somers .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/periodic.conf.5,v 1.8.2.8 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/periodic.conf.5,v 1.8.2.9 2000/12/29 10:18:04 ru Exp % .\" .Dd June 22, 2000 .\" jpman %Id: periodic.conf.5,v 1.3 2000/11/11 10:39:47 mistral Stab % .Dt PERIODIC.CONF 5 .Os FreeBSD .Sh 名称 .Nm periodic.conf .Nd 定期実行ジョブの設定情報 .Sh 解説 .Nm ファイルには、日次/週次/月次のシステムメンテナンスジョブを どのように実行するかが記述されています。 このファイルは .Pa /etc/defaults にあり、 .Pa /etc の下にある同名のファイルは部分的に優先されます。 そしてさらに .Pa /etc/periodic.conf.local が優先されます。 .Pp .Nm は実際にはそれぞれの定期実行スクリプトからシェルスクリプトとして 取り込まれ、単にデフォルトの設定変数を提供することを意図しています。 .Pp 以下の変数は .Xr periodic 8 自身によって使用されます: .Bl -tag -offset 4n -width 2n .It Ar local_periodic (文字列) 定期実行スクリプトを検索するディレクトリのリスト。 このリストは .Xr periodic 8 の引数が絶対パスのディレクトリ名でなかった場合にのみ使用され、常に .Pa /etc/periodic が前置きされます。 .It Ar dir Ns No _output (パスまたはリスト) .Ar dir ディレクトリから起動されるスクリプトの出力をどうするか記述します。 この変数に絶対パスが指定された場合、出力はそのファイルに行われます。 絶対パスではなかった場合は、一つ以上のスペースで区切られた 複数のメールアドレスと解釈され、それらのユーザにメールで送られます。 この変数が設定されてない場合や変数が空であった場合は、 標準出力に出力されます。 .Pp それほど気にかけていないマシンでは .Ar $daily_output 、 .Ar $weekly_output そして .Ar $monthly_output はそれぞれ .Dq /var/log/daily.log , .Dq /var/log/weekly.log そして .Dq /var/log/monthly.log にしておくといいでしょう。すると .Xr newsyslog 8 が、(もしファイルがあれば) これらのファイルを適切な時に切替えます。 .It Ar dir Ns No _show_success .It Ar dir Ns No _show_info .It Ar dir Ns No _show_badconfig (ブール値) これらの変数は 起動されたスクリプトの戻り値に従って、 .Xr periodic 8 が出力を抑制するかどうかを制御します (ここで .Ar dir はそれぞれのスクリプトが置かれてるディレクトリ名です)。 もしスクリプトの戻り値が .Sq 0 で、 .Ar dir Ns No _show_success が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしスクリプトの戻り値が .Sq 1 で、 .Ar dir Ns No _show_info が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしスクリプトの戻り値が .Sq 2 で、 .Ar dir Ns No _show_badconfig が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしこれらの変数が .Dq YES にも .Dq NO にも設定されていなかった場合は、それぞれのデフォルト値は .Dq YES , .Dq YES そして .Dq NO です。 .Pp スクリプトの戻り値がどのように解釈されるかは .Xr periodic 8 のマニュアルページを参照して下さい。 .El -.B Daily variables .Pp 以下の変数は .Pa /etc/periodic/daily にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Ar daily_clean_disks_enable (ブール値) .Ar daily_clean_disks_files にマッチしたファイルを毎日削除したい場合 .Dq YES にします。 .It Ar daily_clean_disks_files (文字列) マッチさせるファイル名のリストを設定します。 ワイルドカードも使用できます。 .It Ar daily_clean_disks_days (整数) .Ar daily_clean_disks_enable が .Dq YES の場合、何日間ファイルにアクセスや修正がなかったら 削除するかをこの変数に設定する必要もあります。 .It Ar daily_clean_disks_verbose (ブール値) 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_clean_tmps_enable (ブール値) 毎日一時ディレクトリをきれいにしたい場合 .Dq YES に設定します。 .It Ar daily_clean_tmps_dirs (文字列) .Ar daily_clean_tmps_enable が .Dq YES に設定されていた場合にきれいにするディレクトリ名のリストを指定します。 .It Ar daily_clean_tmps_days (整数) .Ar daily_clean_tmps_enable が設定されていた場合、何日間ファイルにアクセスや修正がなかったら 削除するかをこの変数に設定する必要もあります。 .It Ar daily_clean_tmps_ignore (文字列) .Ar daily_clean_tmps_enable が .Dq YES に設定されていた場合に削除させたくないファイルのリストを設定します。 ワイルドカードも使用可能です。 .It Ar daily_clean_tmps_verbose (ブール値) 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_clean_preserve_enable (ブール値) .Pa /var/preserve から古いファイルを削除したい場合 .Dq YES に設定します。 .It Ar daily_clean_preserve_days (整数) 何日間ファイルに修正がなかったら削除するかを この変数に設定します。 .It Ar daily_clean_preserve_verbose (ブール値) 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_clean_msgs_enable (ブール値) 古いシステムメッセージを削除する場合 .Dq YES に設定します。 .It Ar daily_clean_msgs_days (整数) 何日間ファイルに修正がなかったら削除するかを設定します。 この変数が空白だった場合、 .Xr msgs 1 のデフォルト値が使われます。 .It Ar daily_clean_rwho_enable (ブール値) .Pa /var/who の下の古いファイルを削除したい場合 .Dq YES に設定します。 .It Ar daily_clean_rwho_days (整数) 何日間ファイルに修正がなかったら削除するかを設定します。 .It Ar daily_clean_rwho_verbose (ブール値) 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_clean_hoststat_enable (ブール値) .Pa /var/spool/.hoststat の下の古いファイルを削除したい場合 .Dq YES に設定します。 .It Ar daily_clean_hoststat_days (整数) 何日間ファイルに修正がなかったら削除するかを設定します。 .It Ar daily_clean_hoststat_verbose (ブール値) 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_backup_passwd_enable (ブール値) .Pa /etc/master.passwd ファイルと .Pa /etc/group ファイルのバックアップをとりリポートを出力させたい場合 .Dq YES に設定します。 リポートは、両ファイルに対する修正点と .Pa group ファイルに .Xr chkgrp 8 をかけた結果を出力します。 .It Ar daily_backup_aliases_enable (ブール値) .Pa /etc/mail/aliases ファイルのバックアップをとり修正点を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_backup_distfile_enable (ブール値) .Pa /etc/Distfile ファイルのバックアップをとり修正点を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_calendar_enable (ブール値) 毎日 .Ic calendar -a を行いたい場合 .Dq YES に設定します。 .It Ar daily_accounting_enable (ブール値) 毎日アカウンティングファイルを 切り替えたい場合 .Dq YES にします。 .Xr rc.conf 5 の中の .Ar accounting_enable が有効になっていない場合は切り替える必要はありません。 .It Ar daily_accounting_compress (ブール値) 一日分のアカウンティングファイルを .Xr gzip 1 を使用して圧縮したい場合 .Dq YES に設定します。 .It Ar daily_distfile_enable (ブール値) 毎日 .Xr rdist 1 を実行したい場合 .Dq YES に設定します。その場合 .Pa /etc/Distfile も存在していなければなりません。 .It Pa daily_news_expire_enable (ブール値) .Pa /etc/news.expire を実行したい場合 .Dq YES に設定します。 .It Pa daily_uuclean_enable (ブール値) .Pa /etc/uuclean.daily を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_disks_enable (ブール値) .Po .Ar daily_status_disks_df_flags を引数に指定して .Pc .Xr df 1 を実行し、また .\" 原文の dump W は誤りと思われる [man-jp-reviewer 3018], docs/22267 .Ic dump -W を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_disks_df_flags (文字列) .Ar daily_status_disks_enable が .Dq YES の場合、 .Xr df 1 ユーティリティに渡す引数を設定します。 .It Ar daily_status_uucp_enable (ブール値) .\" 原文の /etc/uuclean.daily は誤りと思われる [man-jp-reviewer 3018], .\" docs/2267 .Ic uustat -a を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_network_enable (ブール値) .Ic netstat -i を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_network_usedns (ブール値) .Xr netstat 1 を実行する時、(DNS を参照するための) .Fl n オプションをつけずに実行したい場合 .Dq YES に設定します。 .It Ar daily_status_rwho_enable (ブール値) .Xr uptime 1 を実行したい場合 (もしくは .Pa /etc/rc.conf の中で .Ar rwhod_enable を .Dq YES に設定していて .Xr ruptime 1 を実行したい場合) .Dq YES に設定します。 .It Ar daily_status_mailq_enable (ブール値) .Xr mailq 1 を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_mailq_shorten (ブール値) .Ar daily_status_mailq_enable を .Dq YES に設定していて .Nm mailq の出力を短くしたい場合 .Dq YES に設定します。 .It Ar daily_status_security_enable (ブール値) .Pa /etc/security を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_security_inline (ブール値) .Pa /etc/security .\" inline -> その場 をその場で実行したい場合 .Dq YES に設定します。 そうでない場合はバックグランドジョブとして実行され、 出力は .An root へメールとして送られます。 .It Ar daily_status_security_noamd (ブール値) 前日のファイルシステムのマウント状況と比較する時に .Xr amd 8 によるマウントを無視したい場合 .Dq YES に設定します。 .It Ar daily_status_security_nomfs (ブール値) 前日のファイルシステムのマウント状況と比較する時に .Xr mfs 8 によるマウントを無視したい場合 .Dq YES に設定します。 .It Ar daily_status_mail_rejects_enable (ブール値) .Pa /var/log/maillog に記録された 前日分のメール拒否を要約したい場合 .Dq YES に設定します。 .It Ar daily_status_mail_rejects_logs (整数) 前日分のメール拒否をチェックするべき maillog ファイルの数を設定します。 .It Ar daily_local (文字列) 他のすべての日次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Pp 以下の変数は .Pa /etc/periodic/weekly にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Ar weekly_clean_kvmdb_enable (ブール値) 古い .Pa /var/db/kvm_*.db ファイルを削除したい場合 .Dq YES に設定します。 現在のカーネルが使っている kvm ファイルは削除されません。 .It Ar weekly_clean_kvmdb_days (整数) 何日間ファイルにアクセスがなかったら 削除するかをこの変数に設定する必要があります。 .It Ar weekly_clean_kvmdb_verbose .\" 原文の daily は weekly の誤りと思われる [man-jp-reviewer 3018] .\" docs/22267 (ブール値) 削除したファイル名を週次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar weekly_uucp_enable (ブール値) .Pa /usr/libexec/uucp/clean.weekly を実行したい場合 .Dq YES に設定します。 .It Ar weekly_locate_enable (ブール値) .Pa /usr/libexec/locate.updatedb を実行したい場合 .Dq YES に設定します。このスクリプトは .An nobody ユーザとして .Ic nice -5 を使用して実行され、 .Xr locate 1 コマンドによって使われるテーブルを生成します。 .It Ar weekly_whatis_enable (ブール値) .Pa /usr/libexec/makewhatis.local を実行したい場合 .Dq YES に設定します。このスクリプトは .Xr apropos 1 コマンドによって使われるデータベースを再生成します。 .It Ar weekly_catman_enable (ブール値) .Pa /usr/libexec/catman.local を実行したい場合 .Dq YES に設定します。 このスクリプトはすべての古くなったマニュアルページを処理して、 ディスク容量を消費する代わりに .Xr man 1 コマンドを速くします。 .It Ar weekly_noid_enable (ブール値) システム上でみなしごになったファイルを 探したい場合 .Dq YES に設定します。 みなしごになったファイルとは、 無効なユーザやグループのものとなっているファイルです。 .It Ar weekly_noid_dirs (文字列) みなしごになったファイルを探したいディレクトリのリストを 指定します。これは通常 .Pa / に設定されます。 .It Ar weekly_status_pkg_enable (ブール値) インストールされているパッケージの中で 古くなったものを .Xr pkg_version 1 を使用して一覧にしたい場合 .Dq YES に設定します。 .It Ar weekly_local (文字列) 他のすべての週次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Pp 以下の変数は .Pa /etc/periodic/monthly にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Ar monthly_accounting_enable (ブール値) .Xr ac 8 コマンドによってログインのアカウンティング処理を行いたい場合 .Dq YES に設定します。 .It Ar monthly_local (文字列) 他のすべての月次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Sh 関連ファイル .Bl -tag -width /etc/defaults/periodic.conf .It Pa /etc/defaults/periodic.conf デフォルト設定ファイルです。 このファイルはすべてのデフォルトの変数と設定値が記述されています。 .It Pa /etc/periodic.conf 通常、システム特有の変数を優先させるためのファイルです。 .It Pa /etc/periodic.conf.local さらに追加して優先させるためのファイルで、 .Pa /etc/periodic.conf を共有していたり、配布していたりする場合に役立ちます。 .El .Sh 関連項目 .Xr apropos 1 , .Xr calendar 1 , .Xr df 1 , .Xr gzip 1 , .Xr locate 1 , .Xr man 1 , .Xr msgs 1 , .Xr netstat 1 , .Xr nice 1 , .Xr pkg_version 1 , .Xr rdist 1 , .Xr rc.conf 5 , .Xr ac 8 , .Xr chkgrp 8 , .Xr dump 8 , .Xr mfs 8 , .Xr newsyslog 8 , .Xr periodic 8 .Sh 歴史 .Nm ファイルは .Fx 4.1 で登場しました。 .Sh 作者 .An Brian Somers Aq brian@Awfulhak.org diff --git a/ja_JP.eucJP/man/man5/pim6sd.conf.5 b/ja_JP.eucJP/man/man5/pim6sd.conf.5 index 37e1782336..0dc393933e 100644 --- a/ja_JP.eucJP/man/man5/pim6sd.conf.5 +++ b/ja_JP.eucJP/man/man5/pim6sd.conf.5 @@ -1,347 +1,347 @@ .\" Copyright (C) 1999 WIDE Project. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the project nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" KAME Id: pim6sd.conf.5,v 1.10 2000/07/09 17:28:42 itojun Exp .\" %FreeBSD: src/usr.sbin/pim6sd/pim6sd.conf.5,v 1.2.2.6 2000/12/27 16:23:21 ru Exp % .\" .\" jpman %Id: pim6sd.conf.5,v 1.2 2000/09/13 22:14:42 mzaki Stab % .\" .Dd Oct 6, 1999 .Dt PIM6SD.CONF 5 .Os .Sh 名称 .Nm pim6sd.conf .Nd pim6sd (PIM for IPv6 sparse mode デーモン) の設定ファイル .\" .Sh 解説 .Nm の設定ファイルはセミコロン (';') を文末とする一連の文から成ります。 それぞれの文は、デーモンがシステム上の各インタフェースを どのように扱うかということを指定したり、 PIM プロトコルのパラメータを指定したり、 プロトコルで定められている特別な動作を要求したりします。 .Pp それぞれの文は複数行にわけることができます。 .Pp .Ql # で始まる行はコメントです。 .\".Pp .\".Xr pim6sd 8 .\"は設定ファイルがなくても動作しますが、 .\"デーモンは設定ファイルがないことを警告します。 .\"その場合、デーモンは設定可能なパラメータに自動的にそれぞれ .\"デフォルトの値を設定します。 .\" .Pp 以下に挙げる文を設定ファイル中で指定できます。 .Pp -.Bl -tag -width Ds -compact +.Bl -tag -width Ds .It Xo .Ic log .Ar option... .Ic ; .Xc 出力するデバッグメッセージを指定します。 通常、それぞれの .Ar option は出力するメッセージの集合を指定します。 .Ar option が .Ic no で始まっている場合、 そのオプションで指定されるメッセージは出力されません。 例えば、 .Ic `all nomld' は、MLD 関連のもの以外の全てのメッセージを出力します。 有効なオプションは次の通りです: .Ic mld_proto, mld_timer, mld_member, mld, switch, trace, mtrace, traceroute, .Ic timeout, callout, pkt, packets, interfaces, vif, kernel, cache, mfc, .Ic k_cache, k_mfc, rsrr, pim_detail, pim_hello, pim_neighbors, pim_register, .Ic registers, pim_join_prune, pim_j_p, pim_jp, pim_bootstrap, pim_bsr, bsr, .Ic bootstrap, pim_asserts, pim_cand_rp, pim_c_rp, pim_rp, rp, pim_routes, .Ic pim_routing, pim_mrt, pim_timers, pim_rpf, rpf, pim, routes, routing, .Ic mrt, routers, mrouters, neighbors, timers, asserts, .Ic all .\" .It Xo .Ic reverselookup (yes \(ba no); .Xc ログにおいて、IPv6 アドレスに対するホスト名を解決したい場合に指定します。 .Ic yes では、ホスト名が解決されます。 .Ic no では、解決されません。 デフォルトでは、ホスト名は解決されません。 .\" .It Xo .Ic phyint Ar interface .Op disable .Ic ; そのインタフェースがたとえマルチキャスト可能であっても無視するように .Xc .Nm に指示します。 デフォルトでは PIM は全てのインタフェースに対して動作することに注意してください。 .\" 原著者によると、設定ファイルが存在しない場合は .\" 動作しないとのことなので、「(設定ファイルが存在しない場合も含みます)」 .\" を削除しました。原文も更新される (た?) ことでしょう。 .\" [man-jp-reviewer 2739] horikawa@jp.FreeBSD.org 09/30/2000 インタフェースは "name unit" 形式で、例えば .Ar gif0 や .Ar ep1 のように指定します。 .\" .It Xo .Ic phyint Ar interface .Op preference Ar preference .Op metric Ar metric .Op nolistener .Ic ; .Xc PIM assert メッセージをそのインタフェースから送出する際の preference ないし metric の値を指定します。 オプションパラメータである .Ic nolistener が指定されていれば、 .Xr pim6sd 8 はそのインタフェースには MLD パケットを送りません。 このオプションは通常は意味がありませんが、 MLD メッセージが邪魔である (例えばデバッグ中) とか、 本当にそのインタフェースに受信者 (listener) がいないような時には役立ちます。 .\" .It Xo .Ic default_source_preference Ar preference; .Xc PIM assert メッセージを送出する際のデフォルトの preference の値を指定します。 preference は assert election で上流ルータを決定する際に使われます。 現在、 .Xr pim6sd 8 はユニキャスト経路制御プロトコルから preference や metric を得られませんので、 デフォルトの値を設定するとよいでしょう。 なお、この preference のデフォルト値は 1024 です。 .\" .It Ic default_source_metric Ar metric; PIM assert メッセージを送出する際のデフォルトの metric の値を指定します。 metric が使われないような preference を設定することができますし、 デフォルトの metric を設定することもできます。 なお、この metric のデフォルト値は 1024 です。 .\" .It Xo .Ic granularity Ar second; .Xc タイマの粒度を秒単位で指定します。 デフォルトの値は 5 です。 .\" .It Xo .Ic hello_period Ar period Ar coef; .Xc .Ar period は hello メッセージ間の間隔を秒単位で指定します。 .Ar coef は hello 保持時間を決定するための係数です。 hello 保持時間は .Ar period * .Ar coef になります。 間隔と係数のデフォルト値はそれぞれ 30 と 3.5 です。 したがってデフォルトの保持時間は 105 秒になります。 .\" .It Xo .Ic join_prune_period Ar period Ar coef; .Xc .Ar period は join/prune メッセージ間の間隔を秒単位で指定します。 .Ar coef は join/prune 保持時間を決定するための係数です。 保持時間は .Ar period * .Ar coef になります。 間隔と係数のデフォルト値はそれぞれ 60 と 3.5 です。 したがってデフォルトの保持時間は 210 秒になります。 .\" .It Xo .Ic data_timeout Ar timer; .Xc あるソースアドレスからのパケットが途切れた場合に、 対応する (S,G) 状態が削除されるまでの時間を指定します。 デフォルトの値は 210 です。 .\" .It Xo .Ic register_suppression_timeout Ar interval; .Xc .Ar interval は Register-Stop を受け取ってから再び PIM Register を送れるようになるまでの 間隔を指定します。 デフォルトの値は 60 です。 .\" .It Xo .Ic probe_time Ar timer; .Xc .Ar timer は、 Register-Stop を受け取ることでリスタートすることがない場合に、 空の Register を送ってから Register-Suppression-Timer が期限切れに なるまでの時間を指定します。 デフォルトの値は 5 です。 .\" .It Xo .Ic assert_timeout Ar interval; .Xc .Ar interval は、最後に assert を受け取ってからその assert が時間切れになるまでの 間隔を指定します。 デフォルトの値は 180 です。 .\" .It Xo .Ic cand_rp .Op Ar interface .Op Ic time Ar time .Op Ic priority Ar priority .Ic ; .Xc Candidate Rendezvous Point(RP) として動作するために指定します。 標準的な使用法では、 .Ic cand_rp のみを指定することが推奨されています。 それ以外のパラメータはすべてオプションであり、自動的に設定されます。 .Ar interface が指定されている場合には、 .Xr pim6sd 8 は指定したインタフェースについてグローバルアドレスを検索し、 Candidate-RP-Advertisement のアドレスに使います。 オプションパラメータの .Ic time は、2 つの連続する Candidate-RP-Advertisement の間隔を秒単位で指定します。 デフォルトの値は 60 です。 2.5 * .Ar time が Candidate-RP-Advertisement メッセージに設定されます。 もう 1 つのオプションパラメータ .Ic priority は、RP の優先度を指定します。 デフォルトの値は 0 であり、これは最高の優先度を意味します。 .\" .It Xo .Ic group_prefix Ar prefix; .Xc .Ar prefix は、Rendezvous Point(RP) として動作している時に、 その RP が処理するグループプレフィックスを指定します。 .\" .It Xo .Ic cand_bootstrap_router .Op Ar interface .Op Ic time Ar time .Op Ic priority Ar priority .Op Ic masklen Ar masklen .Ic ; .Xc Candidate bootstrap router(BSR) として動作することを指定します。 標準的な使用法では、 .Ic cand_bootstrap_router のみを指定することが推奨されています。 それ以外のパラメータはすべてオプションであり、自動的に設定されます。 .Ar interface が指定されている場合には、 .Xr pim6sd 8 は指定したインタフェースについてグローバルアドレスを検索し、 Bootstrap メッセージ中のアドレスに使います。 オプションパラメータの .Ic time は、2 つの連続する bootstrap の送信間隔を秒単位で指定します。 デフォルトの値は 60 です。 もう 1 つのオプションパラメータ .Ic priority は、BSR の優先度を指定します。 .\" [man-jp-reviewer 2739] デフォルトの値は 0 であり、これは最低の優先度を意味します。 ハッシュマスクの長さは、 .Ic masklen パラメータで指定可能です。 値 .Ar masklen は、0 を下回ったり 128 を上回ってはなりません。 .\" .It Xo .Ic switch_register_threshold Ic rate Ar rate Ic interval Ar interval; .Xc Rendezvous Point(RP) が最短パスツリー (shortest path tree; SPT) に切り替えるための閾値を指定します。 これは RP として動作している時にのみ有効です。 .Ic rate は閾値をビット/秒単位で、 .Ic interval は rate のチェック間隔を秒単位で指定します。 デフォルトの値はそれぞれ 50000 と 20 です。 \" .It Xo .Ic switch_data_threshold Ic rate Ar rate Ic interval Ar interval; .Xc 最終段のルータが最短パスツリーに切り替えるための 閾値を指定します。 .Ic rate は閾値をビット/秒単位で、 .Ic interval は rate のチェック間隔を秒単位で指定します。 デフォルトの値はそれぞれ 50000 と 20 です。 .El .\" .Sh 使用例 .Bd -literal -offset # phyint gif0 disable; # phyint ep0 preference 101; phyint de0 disable; # # followings are for a candidate Rendezvous Point, which should usually # be disabled. cand_bootstrap_router; cand_rp; .Ed .Sh 関連項目 .Xr pim6sd 8 .Sh 歴史 .Xr pim6sd 8 コマンドは LSIIT Laboratory の Michael Hoerdt が開発しました。 これは University of Southern California (南カリフォルニア大学) で 開発された .Nm mrouted 由来の IPv4 PIM sparse-mode .Nm pimd に基づいています。 .Nm mrouted is COPYRIGHT 1989 by The Board of Trustees of Leland Stanford Junior University. .Pp KAME Project (http://www.kame.net/) スタックに基づく IPv6 および IPsec サポートは、 .Fx 4.0 で初めて統合されました。 diff --git a/ja_JP.eucJP/man/man5/radius.conf.5 b/ja_JP.eucJP/man/man5/radius.conf.5 index 4b50dd93cd..d2af93fb2b 100644 --- a/ja_JP.eucJP/man/man5/radius.conf.5 +++ b/ja_JP.eucJP/man/man5/radius.conf.5 @@ -1,177 +1,176 @@ ,.\" Copyright 1998 Juniper Networks, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL 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/libradius/radius.conf.5,v 1.4.2.1 2000/12/08 13:49:39 ru Exp % .\" .\" jpman %Id: radius.conf.5,v 1.4 1999/02/11 08:06:56 horikawa Stab % .\" WORD: sensitive (情報を)極めて慎重に扱うべき[radius.5] - .Dd October 30, 1999 .Dt RADIUS.CONF 5 .Os FreeBSD .Sh 名称 .Nm radius.conf .Nd RADIUS クライアントの設定ファイル .Sh 書式 .Pa /etc/radius.conf .Sh 解説 .Nm は、RADIUS クライアントライブラリの設定に必要な情報を含みます。 本ファイルは .Xr rad_config 3 が解釈します。 本ファイルは 1 行以上のテキスト行を含み、 各行は、ライブラリが使用する単一の RADIUS サーバについて記述します。 先行する空白は、空行および、コメントのみの行と同様、無視されます。 .Pp 1 つの RADIUS サーバは、3 から 5 フィールドからなる 1 行により記述されます: .Pp .Bl -item -offset indent -compact .It サーバタイプ .It サーバホスト .It 共有鍵 .It タイムアウト .It リトライ数 .El .Pp フィールドは空白で区切ります。 フィールドの先頭にある .Ql # 文字はコメントを開始し、行末まで続きます。 フィールドはダブルクォートで括ることができ、 この場合空白を含んだり、 .Ql # 文字で開始することができます。 クォートされた文字列中では、ダブルクォート文字は .Ql \e\&" で表現可能であり、バックスラッシュは .Ql \e\e で表現可能です。 他のエスケープシーケンスはサポートされていません。 .Pp .Pp 最初のフィールドはサーバタイプを指定します。 .Ql auth で RADIUS 認証を指定するか、 .Ql acct で RADIUS アカウンティングを指定します。 単一サーバで両方のサービスを提供する場合、ファイル中に 2 行必要です。 以前のバージョンのファイルではサービスタイプを含みませんでした。 後方互換のため、最初のフィールドが .Ql auth か .Ql acct のいずれでもない場合、ライブラリは、 .Ql auth が指定されたものとして振舞い、 その行をフィールド 2 から 5 が指定されたものとして解釈します。 .Pp 第 2 フィールドは、 完全な形でのドメイン名でもかまいませんし、 ドット付き 4 つ組の IP アドレスでもかまいません。 ホストの後には .Ql \&: と数値によるポート番号を続けることができます。この時、間に空白を入れては いけません。ポートを指定しない場合、サービスタイプ .Ql auth および .Ql acct のそれぞれに対して .Pa /etc/services ファイルの .Ql radius または .Ql radacct のサービスになります。 .Pa /etc/services ファイルにこのようなエントリが無い場合、 標準の RADIUS ポート 1812 および 1813 になります。 .Pp 第 3 フィールドには共有鍵が置かれ、 クライアントとサーバホスト以外には知られてはなりません。 共有鍵は任意の文字列ですが、 空白を含む場合はダブルクォートで括る必要があります。 共有鍵の長さに制限はありませんが、 RADIUS プロトコルでは先頭 128 文字しか使用されません。 注意: 有名な RADIUS サーバには、 16 文字より長い共有鍵では正しく動作しないというバグを持ったものがあります。 .Pp 第 4 フィールドは、 サーバから正当なリプライを受け取るまでに待つ秒数であり、 10 進数で指定します。 このフィールドを省略すると、デフォルトの 3 秒になります。 .Pp 第 5 フィールドは、 諦めるまでに最大何回サーバに認証を試みるかを示す値を 10 進数で指定します。 省略すると、デフォルトの 3 回になります。 これは試行回数の合計であり、リトライ回数ではないことに注意してください。 .Pp RADIUS サーバは、各サービスに対して最大 10 個まで指定できます。 サーバはラウンドロビン方式で試され、有効な返答が返されるか、 全サーバに対して、最大試行回数に達するまで続けます。 .Pp このファイルの標準的な置き場所は .Pa /etc/radius.conf です。しかし、 .Xr rad_config 3 を呼び出すときに別のパス名を指定できます。 このファイルは、共有鍵という形で極めて慎重に扱うべき情報を格納する ファイルですから、root 以外には読めないようにすべきです。 .Sh 関連ファイル .Pa /etc/radius.conf .Sh 使用例 .Bd -literal # 全部デフォルトである単純なエントリ acct radius1.domain.com OurLittleSecret # サーバはまだ廃れた RADIUS ポート使っており、 # タイムアウトと最大試行回数を増加しています: auth auth.domain.com:1645 "I can't see you" 5 4 # サーバを IP アドレスで指定: auth 192.168.27.81 $X*#..38947ax-+= .Ed .Sh 関連項目 .Xr libradius 3 .Rs .%A C. Rigney, et al -.%T Remote Authentication Dial In User Service (RADIUS) +.%T "Remote Authentication Dial In User Service (RADIUS)" .%O RFC 2138 .Re .Rs .%A C. Rigney .%T RADIUS Accounting .%O RFC 2139 .Re .Sh 作者 この文書を .An John Polstra が書き、Juniper Networks, Inc. が .Fx プロジェクトに寄贈しました。 diff --git a/ja_JP.eucJP/man/man5/rc.conf.5 b/ja_JP.eucJP/man/man5/rc.conf.5 index aa069c6d85..efe862ea5e 100644 --- a/ja_JP.eucJP/man/man5/rc.conf.5 +++ b/ja_JP.eucJP/man/man5/rc.conf.5 @@ -1,1537 +1,1538 @@ .\" Copyright (c) 1995 .\" Jordan K. Hubbard .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.64.2.11 2000/12/12 10:00:56 ru Exp % +.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.64.2.13 2000/12/29 10:18:04 ru Exp % .\" .\" jpman %Id: rc.conf.5,v 1.3 1998/06/26 09:39:58 jsakai Stab % .\" .Dd July 3, 2000 .Dt RC.CONF 5 .Os .Sh 名称 .Nm rc.conf .Nd システム設定情報 .Sh 解説 .Nm ファイルはローカルホスト名、全ての潜在的なネットワークインタフェースに 関する設定の詳細、システムの初期起動時に立ち上げるべき サービスに関する記述可能な情報を含んできます。初めてインストールする際に は、一般に .Nm ファイルはシステムインストールユーティリティ .Pa /stand/sysinstall によって初期化されます。 .Pp .Nm の目的は、 コマンドの実行やシステム起動操作を直接行うことではありません。 それに代わり、 そこに見出される設定にしたがって内部操作を条件付きで制御する .Pa /etc 下のいろいろな類の起動スクリプトの一部をなしています。 .Pp .Pa /etc/rc.conf ファイルは、 使用可能な全オプションのデフォルト設定を指定するファイル .Pa /etc/defaults/rc.conf からインクルードされます。 オプションを .Pa /etc/rc.conf に指定する必要があるのは、 システム管理者がこれらのデフォルトを上書きしたい場合だけです。 ファイル .Pa /etc/rc.conf.local は、 .Pa /etc/rc.conf の設定を上書きするために使用されます。これは歴史的事情のためです。 後述の .Dq rc_conf_files を参照してください。 .Pp 以下に示すのは .Nm ファイル中で設定可能な各変数について、 その名前と簡単な解説をリストしたものです。 .Bl -tag -width Ar .It Ar swapfile (文字列) .Ar NO にセットすると スワップファイルはインストールされません。 .Ar NO 以外の場合、その値は追加スワップ領域のために利用するファイルの 完全パス名として用いられます。 .It Ar apm_enable (ブール値) .Ar YES にセットすると .Xr apm 8 コマンドでの自動電源管理 (Automatic Power Management) のサポートを有効に します。 .It Ar apmd_enable (ブール値) .Xr apmd 8 を実行し、ユーザランドから APM イベントを扱います。 APM サポートも有効にします。 .It Ar apmd_flags (文字列) .Ar apmd_enable が .Ar YES の場合、これらは .Xr apmd 8 デーモンに渡すフラグになります。 .It Ar pccard_enable (ブール値) .Ar YES にセットすると起動時に PCCARD のサポートを有効にします。 .It Ar pccard_mem (文字列) PCCARD コントローラメモリアドレスをセットします。 .Ar DEFAULT とするとデフォルト値になります。 .It Ar pccard_ifconfig (文字列) ブート時またはカード挿入時に .Xr ifconfig 8 に渡される引数のリストです (例えば、 固定アドレスの場合は "inet 192.168.1.1 netmask 255.255.255.0" などですし、 DHCP クライアントの場合は "DHCP" です)。 .It Ar pccard_beep (整数) 0 である場合、PCCARD コントローラを静寂モードにします。 1 である場合、ビープモードにします。 2 である場合、メロディモードにします。 .It Ar pccard_conf (文字列) .Xr pccardd 8 デーモンの設定ファイルのパスです (例えば .Pa /etc/pccard.conf.sample です)。 .It Ar pccardd_flags (文字列) .Ar pccard_enable が .Ar YES の場合、これらは .Xr pccardd 8 デーモンに渡すフラグになります。 .It Ar local_startup (文字列) 起動スクリプトファイルを検索するためのディレクトリのリストです。 .It Ar hostname (文字列) ネットワーク上でのあなたのホストの完全な形のドメイン名 (The Fully Qualified Domain Name) です。あなたがネットワークに接続されていない 場合でも、この変数は確実に何か意味のあるものに設定すべきです。 ホスト名を DHCP を介して設定するために .Xr dhclient 8 を使用している場合、この変数は空文字列に設定すべきです。 .It Ar nisdomainname (文字列) あなたのホストの NIS ドメイン名。NIS が動いてないときは .Ar NO とします。 .It Ar dhcp_program (文字列) DHCP クライアントプログラムのパスです (ISC DHCP クライアントの .Pa /sbin/dhclient がデフォルトです)。 .It Ar dhcp_flags (文字列) DHCP クライアントプログラムに渡す追加のフラグです。 ISC DHCP クライアント用に利用可能なコマンドラインオプションについては、 .Xr dhclient 8 ページを参照してください。 .It Ar firewall_enable (ブール値) 起動時にロードされるファイアウォール規則を持ちたくないときには .Ar NO 、持ちたいときには .Ar YES をセットします。 .Ar YES にセットし、かつカーネルが IPFIREWALL 付きで作られなかった場合、 ipfw カーネルモジュールがロードされます。 .Ar ipfilter_enable も参照してください。 .It Ar firewall_script (文字列) .Pa /etc/rc.firewall 以外のファイアウォールスクリプトを実行したい場合、 そのスクリプトの完全なパス名をこの変数に設定してください。 .It Ar firewall_type (文字列) .Pa /etc/rc.firewall 中で選択されたファイアウォールのタイプまたはローカルファイアウォール規則 の組を含むファイルを名付けます。 .Pa /etc/rc.firewall 中では以下のものが選択可能です: .Dq open - 無制限の IP アクセス; .Dq closed - lo0 経由を除く全ての IP サービスを禁止; .Dq client - ワークステーション向けの基本的な保護; .Dq simple - LAN 向けの基本的な保護。 ファイル名が指定される場合には完全なパス名でなければなりません。 .It Ar firewall_quiet (ブール値) .Ar YES にセットすると起動時にコンソール上で ipfw 規則の表示を行ないません。 .It Ar firewall_logging (ブール値) .Ar YES にセットすると ipfw のイベントロギングを有効にします。 IPFIREWALL_VERBOSE カーネルオプションと等価です。 .It Ar natd_program (文字列) .Xr natd 8 のパス。 .It Ar natd_enable (ブール値) .Ar YES にセットすると natd を有効にします。 .Ar firewall_enable もまた .Ar YES にセットされ、 .Xr divert 4 ソケットがカーネルで有効にされている必要があります。 .It Ar natd_interface natd が実行されるパブリックインタフェースの名前です。 .Ar natd_enable が .Ar YES にセットされている場合には、これを設定する必要があります。 インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。 .It Ar natd_flags 追加の natd フラグはここに記述する必要があります。 .Fl n または .Fl a のフラグは上記 .Ar natd_interface とともに自動的に引数として追加されます。 .\" ----- ipfilter_enable seting -------------------------------- .It Ar ipfilter_enable (ブール値) デフォルトは .Ar NO にセットされます。 .Ar YES にセットすると、 .Xr ipf 8 パケットフィルタリングを有効にします。 厳密に言えば、この設定と、 .Ar ipfilter_program , .Ar ipfilter_rules , .Ar ipfilter_flags が連結されてコマンドとなるいう事実とを "濫用" して、 およそどんなフィルタでも構築可能です。 ただし、 .Ar ipfilter_rules で指定されるファイルが読めることが必要です。 .Ar ipfilter_enable と .Ar ipnat_enable が .Ar YES にセットされ、 .Ar ipnat_rules で指定されたファイルが読める場合、 .Ar ipnat_program , .Ar ipnat_rules , .Ar ipnat_flags が、 ネットワークアドレス変換プログラムの起動のためのコマンドラインを構成します。 .Ar ipfilter_enable と .Ar ipmon_enable が .Ar YES にセットされた場合、 .Ar ipmon_program と .Ar ipmon_flags が、上記コマンドの動作を監視するための別のコマンドラインを構成します。 詳細は .Pa /etc/rc.network を参照してください。 .Pp 典型的な用途では、 .Bd -literal ipfilter_enable="YES" ipfilter_flags="" ipnat_enable="YES" ipmon_enable="YES" .Ed を .Pa /etc/rc.conf に記述し、 .Pa /etc/ipf.rules と .Pa /etc/ipnat.rules を適切に編集する必要があるでしょう。 ipf 使用時には、 .Ar firewall_enable をオフにすることを推奨します。 カーネル構成ファイル中に .Bd -literal options IPFILTER options IPFILTER_LOG options IPFILTER_DEFAULT_BLOCK .Ed を置くことも良い考えです。 .\" ----- ipfilter_program setting ------------------------------ .It Ar ipfilter_program (文字列) デフォルトで .Ar /sbin/ipf -Fa -f にセットされます。 この変数は、フィルタルール (別のファイル中にあるものと期待されます) までのコマンドラインを含みます (フィルタルールは含みません)。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipfilter_rules setting -------------------------------- .It Ar ipfilter_rules (文字列) デフォルトで .Ar /etc/ipf.rules にセットされます。 この変数は、フィルタルール定義ファイルの名前を含みます。 このファイルは、実行するフィルタコマンドから読めることが期待されます。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipfilter_flags setting -------------------------------- .It Ar ipfilter_flags (文字列) デフォルトで .Ar -E にセットされます。 この変数は、フィルタコマンドに追加されるフラグを含みます。 このフラグはルール定義ファイルの後に追加されます。 デフォルト設定では、オンデマンドでロードされる ipf モジュールを初期化します。 ipfilter を直接カーネルに組み込むときには (これが推奨です)、 この変数を空にしてコード初期化が複数回行われないようにすべきです。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipnat_enable setting ---------------------------------- .It Ar ipnat_enable (ブール値) デフォルトで .Ar NO にセットされます。 .Ar YES にセットすると、 .Xr ipnat 8 ネットワークアドレス変換を有効にします。 この変数をセットする場合、 .Ar ipfilter_enable もセットすることが必要です。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipnat_program setting --------------------------------- .It Ar ipnat_program (文字列) デフォルトで .Ar /sbin/ipnat -CF -f にセットされます。 この変数は、変換ルール定義 (別のファイル中にあるものと期待されます) までのコマンドラインを含みます (変換ルール定義は含みません)。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipnat_rules setting ----------------------------------- .It Ar ipnat_rules (文字列) デフォルトで .Ar /etc/ipnat.rules にセットされます。 この変数は、ネットワークアドレス変換を定義するファイルの名前を含みます。 このファイルは、実行する NAT プログラムから読めることを期待しています。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipnat_flags setting ----------------------------------- .It Ar ipnat_flags (文字列) デフォルトで空です。 この変数は、ipnat のコマンドラインに追加されるフラグを含みます。 このフラグはルール定義ファイルの後に追加されます。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipmon_enable setting ---------------------------------- .It Ar ipmon_enable (ブール値) デフォルトで .Ar NO にセットされます。 .Ar YES にセットすると、 .Xr ipmon 8 モニタリング ( .Xr ipf 8 と .Xr ipnat 8 のイベントのログ) を有効にします。 この変数をセットする場合、 .Ar ipfilter_enable もセットすることが必要です。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipmon_program setting --------------------------------- .It Ar ipmon_program (文字列) デフォルトで .Ar /sbin/ipmon にセットされます。 この変数は .Xr ipmon 8 実行形式のファイル名を含みます。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipmon_flags setting ----------------------------------- .It Ar ipmon_flags (文字列) デフォルトで .Ar -Ds にセットされます。 この変数は、 .Xr ipmon 8 プログラムに渡されるフラグを含みます。 他の典型的な例は .Ar -D /var/log/ipflog であり、これは .Xr ipmon 8 に .Xr syslogd 8 をバイパスさせて、直接ファイルにログさせます。 このような場合、必ず .Pa /etc/newsyslog.conf を次のように修正してください: .Bd -literal /var/log/ipflog 640 10 100 * Z /var/run/ipmon.pid .Ed 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- end of added ipf hook --------------------------------- .It Ar tcp_extensions (ブール値) デフォルトでは .Ar NO です。YES にセットすると、 .%T RFC 1323 で述べられているような ある TCP オプションを有効にします。 もしネットワークコネクションが不規則にハングアップしたり、 それに類する他の不具合がある場合には、これを .Ar NO に戻して様子をみてみるのもよいかもしれません。世間に出回っている ハードウェア/ソフトウェアの中には、これらのオプションでうまく動作しない ものがあることが知られています。 .It Ar log_in_vain (ブール値) デフォルトで .Ar NO にセットされています。 YES に設定すると、 listen 中のソケットが無いポートに対する接続の試みをログするようになります。 .It Ar tcp_keepalive (ブール値) デフォルトで .Ar YES にセットされています。 NO にセットすると、 アイドルな TCP 接続を検出し、相手がまだ起きていて、到達可能であることを、 確認しなくなります。 .It Ar tcp_drop_synfin (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 TCP フレームで SYN と FIN のフラグを共にセットされているものを、 カーネルが無視するようになります。 これにより、OS が指紋を残すのを防ぎますが、 正当なアプリケーションが動作しなくなるかもしれません。 RCP_DROP_SYNFIN オプション付きでカーネルを構築した場合のみ、 本オプションが使用可能です、 .It Ar tcp_restrict_rst (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 不正な TCP パケット (例えば、閉じられたポート宛のフレーム) に応答する TCP RST フレームの送出を、 カーネルに止めさせます。 RCP_RESTRICT_RST オプション付きでカーネルを構築した場合のみ、 本オプションが使用可能です、 .It Ar icmp_drop_redirect (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 ICMP REDIRECT パケットを、カーネルが無視するようになります。 .It Ar icmp_log_redirect (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 ICMP REDIRECT パケットを、カーネルが記録するようになります。 ログメッセージの速度制限はありませんので、 あなたのネットワーク内の問題解決にのみ使用すべきです。 .It Ar network_interfaces (文字列) このホスト上で形成されるネットワークインタフェースのリストを 設定します。 たとえば、ループバックデバイス (標準) および SMC Elite Ultra NIC があるなら .Qq Ar "lo0 ed0" という 2 つのインタフェースを設定します。 .Em interface の各値に対して .No ifconfig_ Ns Em interface という変数が存在すると仮定されます。 1 つのインタフェースに複数の IP アドレスを登録したい場合は、 ここに IP エイリアスのエントリを追加することも可能です。 対象とするインタフェースが ed0 であると仮定すると、 .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff" .Ed というようになります。 見つかった各 ifconfig__alias エントリについて、 その内容が .Xr ifconfig 8 に渡されます。最初にアクセスに失敗した時点で実行は中止されるので .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.251 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.252 netmask 0xffffffff" ifconfig_ed0_alias2="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias4="inet 127.0.0.254 netmask 0xffffffff" .Ed のようにすると、alias4 は追加され .Em ない ことに注意してください。これは alias3 エントリを抜かしたことで検索が中止されるからです。 .Pp インタフェースの DHCP での立ち上げは、 .No ifconfig_ Ns Em interface 変数を .Dq DHCP に設定することで可能です。 例えば ed0 デバイスを HDCP で初期化するには、 次のような行を指定すればよいです: .Bd -literal ifconfig_ed0="DHCP" .Ed .It Ar ppp_enable (ブール値) .Ar YES にセットすると、 .Xr ppp 8 デーモンを実行します。 .It Ar ppp_mode (文字列) .Xr ppp 8 デーモンを実行するモードです。受け付けられるモードは .Ar auto , ddial , direct , .Ar dedicated のいずれかです。 完全な解説はマニュアルを参照してください。 .It Ar ppp_nat (ブール値) .Ar YES にセットすると、パケットエイリアスを有効にします。 .Ar gateway_enable と共に使用することにより、 本ホストをネットワークアドレス変換ルータとして使用して、 プライベートネットワークアドレスのホストからの インターネットへのアクセスを可能にします。 .It Ar ppp_profile (文字列) .Pa /etc/ppp/ppp.conf から使用するプロファイル名です。 .It Ar ppp_user (文字列) このユーザ名の元で ppp を起動します。 デフォルトでは ppp は .Ar root が起動します。 .It Ar rc_conf_files (文字列) 本オプションは、 .Pa /etc/defaults/rc.conf の設定を上書きするファイルのリストを指定するために使用されます。 ファイルは指定された順序に読み込まれ、 ファイルへの完全なパスを含む必要があります。 デフォルトでは、指定されるファイルは .Pa /etc/rc.conf と .Pa /etc/rc.conf.local です。 .It Ar syslogd_enable (ブール値) .Ar YES にセットすると .Xr syslogd 8 デーモンを起動します。 .It Ar syslogd_flags (文字列) .Ar syslogd_enable が .Ar YES の場合、これらは .Xr syslogd 8 に渡すフラグになります。 .It Ar inetd_enable (ブール値) .Ar YES にセットすると .Xr inetd 8 デーモンを起動します。 .It Ar inetd_flags (文字列) .Ar inetd_enable が .Ar YES の場合、これらは .Xr inetd 8 へ渡すフラグとなります。 .It Ar named_enable (ブール値) .Ar YES にセットすると .Xr named 8 デーモンを起動します。 .It Ar named_program (文字列) .Xr named 8 のパス (デフォルトは .Pa /usr/sbin/named です)。 .It Ar named_flags (文字列) .Ar named_enable が .Ar YES の場合、これらは .Xr named 8 に渡すフラグとなります。 .It Ar kerberos_server_enable (ブール値) ブート時に Kerberos 認証サーバを起動したい場合は .Ar YES にセットします。 .It Ar kadmind_server_enable .Xr kadmind 8 (Kerberos 管理デーモン) を実行したい場合は .Ar YES とします。スレーブサーバ上では .Ar NO にセットします。 .It Ar kerberos_stash (文字列) .Ar YES なら (唯一 .Ar kerberos_server_enable が .Ar YES にセットされ、かつ .Xr kerberos 1 および .Xr kadmind 8 の両方を用いるときにのみ) 隠されたマスタキーのプロンプト入力を行なう代りに、 そのキーを用いるよう Kerberos サーバに指示します。 .It Ar rwhod_enable (ブール値) .Ar YES にセットするとブート時に .Xr rwhod 8 デーモンを起動します。 .It Ar rwhod_flags (文字列) .Ar rwhod_enable が .Ar YES にセットされている場合、これらは rwhod に渡すフラグになります。 .It Ar amd_enable (ブール値) .Ar YES にセットするとブート時に .Xr amd 8 デーモンを起動します。 .It Ar amd_flags (文字列) .Ar amd_enable が .Ar YES にセットされている場合、これらは amd に渡すフラグとなります。 詳しくは .Xr amd 8 の .Xr info 1 ページを利用してください。 .It Ar update_motd (ブール値) .Ar YES にセットするとブート時に実行されているカーネルリリースを反映するように .Pa /etc/motd を更新します。 .Ar NO にセットすると .Pa /etc/motd は更新を行いません。 .It Ar nfs_client_enable (ブール値) .Ar YES にセットするとブート時に NFS クライアントデーモンを起動します。 .It Ar nfs_client_flags (文字列) .Ar nfs_client_enable が .Ar YES の場合、これらは .Xr nfsiod 8 デーモンに渡すフラグとなります。 .It Ar nfs_access_cache .Ar nfs_client_enable が .Ar YES の場合、この変数に .Ar 0 をセットして NFS ACCESS RPC キャッシングを無効化することができますし、 NFS ACCESS 結果がキャッシュされる秒数を指定することもできます。 2-10 秒の値を設定すると、 多くの NFS 操作のネットワークトラフィックを十分減らします。 .It Ar nfs_server_enable (ブール値) .Ar YES にセットするとブート時に NFS サーバデーモンを起動します。 .It Ar nfs_server_flags (文字列) .Ar nfs_server_enable が .Ar YES の場合、これらは .Xr nfsd 8 デーモンに渡すフラグとなります。 .It Ar single_mountd_enable (ブール値) .Ar YES にセットし .Ar nfs_server_enable をセットしないと、 .Xr mountd 8 は起動しますが .Xr nfsd 8 デーモンは起動しません。 実際に NFS は使用せずに CFS を使用する場合に、一般的に必要となります。 .It Ar weak_mountd_authentication (ブール値) .Ar YES にセットすると、権限付けられていないマウント要求を行なうために PCNFSD のようなサービスを許可します。 .It Ar nfs_privport (ブール値) .Ar YES にセットすると、安全なポート上でのみ NFS サービスを提供します。 .It Ar nfs_bufpackets (整数) 数値を設定すると、そのパケット数分のソケットバッファ空間が、 NFS クライアント上に予約されます。 .Ar DEFAULT に設定すると、カーネルのデフォルト (典型的には 4) が使用されます。 ギガビットネットワークでは大きな値を設定すると高性能になるでしょう、 最小値は 2 であり、最大値は 64 です。 -.It Ar rcp_lockd_enable +.It Ar rpc_lockd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.lockd 8 を起動します。 -.It Ar rcp_statd_enable +.It Ar rpc_statd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.statd 8 を起動します。 .It Ar portmap_program (文字列) .Xr portmap 8 のパス (デフォルトは .Pa /usr/sbin/portmap です)。 .It Ar portmap_enable (ブール値) .Ar YES の場合、ブート時に .Xr portmap 8 サービスを起動します。 .It Ar portmap_flags (文字列) .Ar portmap_enable が .Ar YES の場合、これらは .Xr portmap 8 デーモンに渡すフラグとなります。 .It Ar xtend_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xtend 8 デーモンを起動します。 .It Ar xtend_flags (文字列) .Ar xtend_enable が .Ar YES の場合、これらは .Xr xtend 8 デーモンに渡すフラグとなります。 .It Ar pppoed_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr pppoed 8 デーモンを起動し、PPP オーバイーサネットサービスを提供します。 .It Ar pppoed_provider .Xr pppoed 8 はこの .Ar provider に対する要求を listen し、究極的にはこの名前を .Ar system 引数として .Xr ppp 8 を実行します。 .It Ar pppoed_flags .Xr pppoed 8 へ渡す追加のフラグ。 .It Ar pppoed_interface pppoed が実行されるネットワークインタフェース。 .Ar pppoed_enable が .Dq YES にセットされた場合、必須です。 .It Ar timed_enable (ブール値) .Ar YES なら、ブート時に .Xr timed 8 サービスを実行します。このコマンドは、全ホストについて一貫した .Qq "ネットワーク時間" が確立されなければならないマシンネットワークのためにあります。 これが有用である典型例は、 ファイルのタイムスタンプがネットワークワイドで一貫性をもつことが 期待されるような、大規模 NFS 環境です。 .It Ar timed_flags (文字列) .Ar timed_enable が .Ar YES の場合、これらは .Xr timed 8 サービスに渡すフラグとなります。 .It Ar ntpdate_enable (ブール値) .Ar YES にセットすると、システムスタートアップ時に ntpdate を実行します。 このコマンドは、ある標準的な参照先を元に、ただ .Ar 1 回 だけシステム時刻を同期させるためにあります。 また、システムを最初にインストールする際、 これを (知られているサービスのリストから) 最初にセットアップするオプションが .Pa /stand/sysinstall プログラムによって提供されます。 .It Ar ntpdate_program (文字列) .Xr ntpdate 8 のパス (デフォルトは .Pa /usr/sbin/ntpdate です)。 .It Ar ntpdate_flags (文字列) .Ar ntpdate_enable が .Ar YES の場合、これらは .Xr ntpdate 8 コマンドに渡すフラグとなります (典型的にはホスト名)。 .It Ar xntpd_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xntpd 8 コマンドが起動されます。 .It Ar xntpd_program (文字列) .Xr xntpd 8 のパス (デフォルトは .Pa /usr/sbin/xntpd です)。 .It Ar xntpd_flags (文字列) .Ar xntpd_enable が .Ar YES の場合、これらは .Xr xntpd 8 デーモンに渡すフラグとなります。 .It Ar nis_client_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypbind 8 サービスを起動します。 .It Ar nis_client_flags (文字列) .Ar nis_client_enable が .Ar YES の場合、これらは .Xr ypbind 8 サービスに渡すフラグとなります。 .It Ar nis_ypset_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypset 8 デーモンを起動します。 .It Ar nis_ypset_flags (文字列) .Ar nis_ypset_enable が .Ar YES の場合、これらは .Xr ypset 8 デーモンに渡すフラグとなります。 .It Ar nis_server_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypserv 8 デーモンを起動します。 .It Ar nis_server_flags (文字列) .Ar nis_server_enable が .Ar YES の場合、これらは .Xr ypserv 8 デーモンに渡すフラグとなります。 .It Ar nis_ypxfrd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypxfrd 8 デーモンを起動します。 .It Ar nis_ypxfrd_flags (文字列) .Ar nis_ypxfrd_enable が .Ar YES の場合、これらは .Xr ypxfrd 8 デーモンに渡すフラグとなります。 .It Ar nis_yppasswdd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr yppasswdd 8 デーモンを起動します。 .It Ar nis_yppasswdd_flags (文字列) .Ar nis_yppasswdd_enable が .Ar YES の場合、これらは .Xr yppasswdd 8 デーモンに渡すフラグとなります。 .It Ar defaultrouter (文字列) .Ar NO をセットしないと、このホスト名または IP アドレスへのデフォルトルートを 作成します (このルータがネームサーバへたどりつく必要がある 場合は IPアドレスを使用すること!)。 .It Ar static_routes (文字列) システムブート時に追加したいスタティックルートのリストを セットします。 .Ar NO 以外をセットした場合、その値を空白で区切った各要素について、 各 .Em element 毎に変数 .No route_ Ns element が存在すると仮定され、その後、 .Dq route add 操作に渡されます。 .It Ar gateway_enable (ブール値) .Ar YES にセットすると、IP ルータとして動作する、 たとえばインタフェース間でパケットをフォワードするように ホストを設定します。 .It Ar router_enable (ブール値) .Ar YES にセットすると、 .Ar router および .Ar router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Ar router (文字列) .Ar router_enable が .Ar YES にセットされると、これが使用するルーティングデーモン名になります。 .It Ar router_flags (文字列) .Ar router_enable が .Ar YES にセットされると、これらがルーティングデーモンへ渡すフラグとなります。 .It Ar mrouted_enable (ブール値) .Ar YES にセットすると、マルチキャストルーティングデーモン .Xr mrouted 8 を起動します。 .It Ar mrouted_flags (文字列) .Ar mrouted_enable が .Ar YES の場合、これらはマルチキャストルーティングデーモンへ渡すフラグとなります。 .It Ar ipxgateway_enable (ブール値) .Ar YES にセットすると、IPX トラフィックのルーティングを有効にします。 .It Ar ipxrouted_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr IPXrouted 8 デーモンを起動します。 .It Ar ipxrouted_flags (文字列) .Ar ipxrouted_enable が .Ar YES の場合、これらは .Xr IPXrouted 8 デーモンへ渡すフラグとなります。 .It Ar arpproxy_all .Ar YES にセットするとグローバルプロキシ ARP を有効にします。 .It Ar forward_sourceroute これが .Ar YES にセットされ、更に .Ar gateway_enable もまた .Ar YES にセットされている場合、 送信元が経路指定したパケット (source routed packets) はフォワードされます。 .It Ar accept_sourceroute .Ar YES にセットすると、 システムは自分宛の送信元経路指定パケットを受け付けます。 .It Ar rarpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr rarpd 8 デーモンを起動します。 .It Ar rarpd_flags (文字列) .Ar rarpd_enable が .Ar YES の場合、これらは .Xr rarpd 8 デーモンへ渡すフラグとなります。 .It Ar atm_enable (ブール値) .Ar YES システムブート時に ATM インタフェースの設定を有効にします。 次に説明する ATM 関連の変数に関し、 利用可能なコマンドパラメータの更なる詳細については、 .Xr atm 8 のマニュアルページを参照してください。 更なる詳細な設定情報に関しては、 .Pa /usr/share/examples/atm 中のファイルも参照してください。 .It Ar atm_netif_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 作成すべき ATM ネットワークインタフェースの 名前プレフィックスと数字を指定します。 値はコマンド .Dq atm set netif Va のパラメータとして渡されます。 .It Ar atm_sigmgr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は使用すべき ATM シグナリングマネージャを定義します。 値はコマンド .Dq atm attach Va のパラメータとして渡されます。 .It Ar atm_prefix_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの NSAP プレフィックスを定義します。 .Em ILMI に設定すると、プレフィックスは自動的に .Xr ilmid 8 デーモンを介して設定されます。 そうでない場合、値はコマンド .Dq atm set prefix Va のパラメータとして渡されます。 .It Ar atm_macaddr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの MAC アドレスを定義します。 .Em NO に設定すると、ATM インタフェースカードに格納されている ハードウェア MAC アドレスが使用されます。 そうでない場合、値はコマンド .Dq atm set mac Va のパラメータとして渡されます。 .It Ar atm_arpserver_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、ATMARP サービスを提供するホストの ATM アドレスを定義します。 本変数は、UNI シグナリングマネージャを使用するインタフェースにおいてのみ 利用可能です。 .Em local に設定すると、本ホストが ATMARP サーバになります。 値はコマンド .Dq atm set arpserver Va のパラメータとして渡されます。 .It Ar atm_scsparp_ (ブール値) .Em YES に設定すると、ネットワークインタフェース .Va に対する SCSP/ATMARP サービスが、 .Xr scspd 8 および .Xr atmarpd 8 を使用して開始されます。 本変数は .So .No atm_arpserver_ Ns Va .No Ns = Ns Qq local .Sc が定義されている場合にのみ利用可能です。 .It Ar atm_pvcs (文字列) システムブート時に追加したい ATM PVC のリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_pvc_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add pvc のパラメータとして渡されます。 .It Ar atm_arps (文字列) システムブート時に追加したい、 永続的な ATM ARP エントリのリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_arp_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add arp のパラメータとして渡されます。 .It Ar keymap (文字列) .Ar NO にセットするとキーマップはインストールされません。それ以外の場合、 ここで指定した .Ar value がキーマップファイル .Pa /usr/share/syscons/keymaps/.kbd をインストールするのに用いられます。 .It Ar keyrate (文字列) キーボードのリピートスピードです。以下のいずれかにセットします。 .Ar slow , .Ar normal , .Ar fast デフォルト値を希望する場合は .Ar NO とします。 .It Ar keychange (文字列) .Ar NO 以外にセットすると、その値でファンクションキーをプログラムしようとします。 指定できる値は単一の文字列で, .Qq Ar " [ ]..." という形式でないといけません。 .It Ar cursor (文字列) カーソルの動作を明示的に指定する場合は .Ar normal , .Ar blink , .Ar destructive のいずれかの値にセットします。デフォルト動作を選ぶには .Ar NO とします。 .It Ar scrnmap (文字列) .Ar NO にセットすると、スクリーンマップはインストールされません。 それ以外の場合には、ここで指定した .Ar value がスクリーンマップファイル .Pa /usr/share/syscons/scrnmaps/ をインストールするのに用いられます。 .It Ar font8x16 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x16 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x14 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x14 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x8 (文字列) .Ar NO にセットすると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar blanktime (整数) .Ar NO にセットすると、デフォルトのスクリーンブランク時間間隔が用いられます。 それ以外の場合は .Ar value 秒にセットされます。 .It Ar saver (文字列) .Ar NO 以外にセットすると、これが実際に使用する スクリーンセーバ (ブランク, 蛇, デーモンなど) となります。 .It Ar moused_enable (文字列) .Ar YES にセットすると、コンソール上でのカット/ペーストセレクション用に .Xr moused 8 デーモンが起動されます。 .It Ar moused_type (文字列) 利用したいマウスのプロトコルのタイプ。 .Ar moused_enable が .Ar YES の場合、この変数は必ず設定しなければなりません。 多くの場合、 .Xr moused 8 デーモンは適切なマウスタイプを自動的に検出することができます。 デーモンにマウスを検出させるには、この変数を .Ar auto にセットします。 自動検出が失敗する場合、以下のリストから 1 つを選びます。 .Pp マウスが PS/2 マウスポートに接続されている場合、 .Ar auto か .Ar ps/2 を常に指定する必要があります。マウスのブランドやモデルには無関係です。 同様に、マウスがバスマウスポートに接続されている場合、 .Ar auto か .Ar busmouse を選択してください。 他のプロトコルはシリアルマウス用であり、 PS/2 マウスおよびバスマウスでは動作しません。 USB マウスを持っている場合、 .Ar auto のみが USB マウスで動作する唯一のプロトコルです。 .Bd -literal microsoft Microsoft マウス (シリアル) intellimouse Microsoft IntelliMouse (シリアル) mousesystems Mouse system 社製のマウス (シリアル) mmseries MM シリーズのマウス (シリアル) logitech Logitech 製のマウス (シリアル) busmouse バスマウス mouseman Logitech の MouseMan および TrackMan (シリアル) glidepoint ALPS 製の GlidePoint (シリアル) thinkingmouse Kensignton 製の ThinkingMouse (シリアル) ps/2 PS/2 マウス mmhittab MM の HitTablet (シリアル) x10mouseremote X10 MouseRemote (シリアル) versapad Interlink VersaPad (シリアル) .Ed お使いのマウスが上記のリストにない場合でも、 リスト中のいずれかと互換性があるかも知れません。 互換性に関する情報については .Xr moused 8 のマニュアルページを参照してください。 .Pp また、 この変数が有効であるときは、(Xサーバのような) 他の全てのマウスクライアントは 仮想マウスデバイス .Pa /dev/sysmouse を通してマウスにアクセスし、 それを sysmouse タイプのマウスとして構成すべきであると いうことにも注意すべきです。これは、 .Xr moused 8 使用時は、全てのマウスデータがこの単一の標準フォーマットに変換されるためです。 クライアントプログラムが sysmouse タイプを サポートしないなら次に望ましいタイプとして mousesystems を指定してください。 .It Ar moused_port (文字列) .Ar moused_enable が .Ar YES の場合、これはマウスが接続されている実際のポートになります。 たとえば、COM1 シリアルマウスに対しては .Pa /dev/cuaa0 、PS/2 マウスに対しては .Pa /dev/psm0 、バスマウスに対しては .Pa /dev/mse0 となります。 .It Ar moused_flags (文字列) .Ar moused_type がセットされている場合、これらは .Xr moused 8 デーモンに渡す追加のフラグとなります。 .It Ar allscreens_flags (文字列) 設定すると、各仮想端末 .Pq Pa /dev/ttyv* に対し、これらのオプションを使用して .Xr vidcontrol 1 を実行します。 例えば .Ar -m on は、 .Ar moused_enable が .Ar YES にセットされている場合、全仮想端末上でマウスポインタを有効にします。 .It Ar cron_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr cron 8 デーモンを起動します。 .It Ar lpd_program (文字列) .Xr lpd 8 のパス (デフォルトは .Pa /usr/sbin/lpd です)。 .It Ar lpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr lpd 8 デーモンを起動します。 .It Ar lpd_flags (文字列) .Ar lpd_enable が .Ar YES の場合、これらは .Xr lpd 8 デーモンに渡すフラグとなります。 .It Ar sendmail_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr sendmail 8 デーモンを起動します。 .It Ar sendmail_flags (文字列) .Ar sendmail_enable が .Ar YES の場合、これらは .Xr sendmail 8 デーモンに渡すフラグとなります。 .It Ar dumpdev (文字列) .Ar NO にセットしないと、カーネルクラッシュダンプ出力先を .Em value で指定したスワップデバイスに向けます。 システム再開時に、 .Xr savecore 8 プログラムは、指定したデバイスからクラッシュダンプを探し、典型的には .Pa /var/crash ディレクトリに格納します。 .It Ar check_quotas (ブール値) .Xr quotacheck 8 コマンドによってユーザディスクのクォータチェックを有効にしたいなら、 .Ar YES にセットします。 .It Ar accounting_enable (ブール値) .Xr accton 8 ファシリティでシステムアカウンティングを有効にしたいなら .Ar YES にセットします。 .It Ar ibcs2_enable (ブール値) システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar ibcs2_loaders (文字列) これを .Ar NO にセットせずに .Ar ibcs2_enable を .Ar YES にセットした場合、 この文字列は有効化すべき追加の iBCS2 ローダのリストを指定します。 .It Ar linux_enable (ブール値) システムブート時に Linux/ELF バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar rand_irqs (文字列) 乱数生成用に監視する IRQ のリストをセットします ( .Xr rndcontrol 8 のマニュアル参照)。 .It Ar clear_tmp_enable (ブール値) 起動時に .Pa /tmp 下を消去したいなら .Ar YES をセットします。 .It Ar ldconfig_paths (文字列) .Xr ldconfig 8 で使用する共有ライブラリのパスのリストをセットします。注意: .Pa /usr/lib は常に先頭に追加されるので、このリストに指定する必要はありません。 .It Ar kern_securelevel_enable (ブール値) カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、 .Ar YES にセットします。 .It Ar kern_securelevel (整数) スタートアップ時にセットされるカーネルセキュリティレベルです。 .Ar 値 として許される範囲は -1 (コンパイル時のデフォルト) から 3 (最も安全) です。 利用可能なセキュリティレベルとシステム操作への影響については、 .Xr init 8 を参照してください。 .It Ar start_vinum (ブール値) システムブート時に .Xr vinum 8 を開始したい場合、 .Ar YES にセットします。 .It Ar sshd_program (文字列) SSH サーバプログラムへのパスです .Po .Pa /usr/sbin/sshd がデフォルトです .Pc 。 .It Ar sshd_enable (ブール値) ブート時に .Xr sshd 8 を起動したい場合、 .Ar YES にセットします。 .It Ar sshd_flags (文字列) .Ar sshd_enable が .Ar YES の場合、これらは .Xr sshd 8 デーモンに渡すフラグになります。 +.El .Sh 関連ファイル .Bl -tag -width /etc/defaults/rc.conf -compact .It Pa /etc/defaults/rc.conf .It Pa /etc/rc.conf .It Pa /etc/rc.conf.local .El .Sh 関連項目 .Xr catman 1 , .Xr makewhatis 1 , .Xr gdb 1 , .Xr info 1 , .Xr exports 5 , .Xr motd 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , .Xr atm 8 , .Xr cron 8 , .Xr dhclient 8 , .Xr gated 8 , .Xr ifconfig 8 , .Xr inetd 8 , .Xr lpd 8 , .Xr moused 8 , .Xr mrouted 8 , .Xr named 8 , .Xr nfsd 8 , .Xr nfsiod 8 , .Xr ntpdate 8 , .Xr pcnfsd 8 , .Xr portmap 8 , .Xr quotacheck 8 , .Xr rc 8 , .Xr rndcontrol 8 , .Xr route 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , .Xr rwhod 8 , .Xr savecore 8 , .Xr sendmail 8 , .Xr sshd 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr swapon 8 , .Xr tickadj 8 , .Xr timed 8 , .Xr vinum 8 , .Xr vnconfig 8 , .Xr xntpd 8 , .Xr xtend 8 , .Xr ypbind 8 , .Xr ypserv 8 , .Xr ypset 8 .Sh 歴史 .Nm ファイルは .Fx 2.2.2 で登場しました。 .Sh 作者 .An Jordan K. Hubbard . diff --git a/ja_JP.eucJP/man/man5/rpc.5 b/ja_JP.eucJP/man/man5/rpc.5 index 6358ebfaff..72f57b5ca3 100644 --- a/ja_JP.eucJP/man/man5/rpc.5 +++ b/ja_JP.eucJP/man/man5/rpc.5 @@ -1,35 +1,35 @@ -.\" %FreeBSD: src/lib/libc/rpc/rpc.5,v 1.6.2.1 2000/12/14 14:10:34 ru Exp % +.\" %FreeBSD: src/lib/libc/rpc/rpc.5,v 1.6.2.2 2000/12/29 14:44:49 ru Exp % .\" @(#)rpc.5 2.2 88/08/03 4.0 RPCSRC; from 1.4 87/11/27 SMI; .\" jpman %Id: rpc.5,v 1.3 1998/06/25 08:44:57 jsakai Stab % .Dd September 26, 1985 .Os .Dt RPC 5 .Sh 名称 .Nm rpc .Nd rpc プログラム番号データベース .Sh 書式 /etc/rpc .Sh 解説 .Pa /etc/rpc ファイルには、rpc プログラム番号の代わりに使用可能な、 ユーザが可読な名前が記述されています。 各行は以下の情報から成ります。 .Pp .Bl -bullet -compact .It rpc プログラムのサーバ名 .It rpc プログラム番号 .It 別名 .El .Pp 各項目は任意個の空白文字もしくはタブ文字で分けられます。 ``#'' はコメントの開始を示します。 行末までの文字はファイルを検索するルーチンには解釈されません。 .Sh 関連ファイル .Bl -tag -compact -width /etc/rpc -.Pa /etc/rpc +.It Pa /etc/rpc .El .Sh "関連項目" .Xr getrpcent 3 diff --git a/ja_JP.eucJP/man/man5/sysctl.conf.5 b/ja_JP.eucJP/man/man5/sysctl.conf.5 index 6c90a48bcf..65c2c1b5de 100644 --- a/ja_JP.eucJP/man/man5/sysctl.conf.5 +++ b/ja_JP.eucJP/man/man5/sysctl.conf.5 @@ -1,77 +1,78 @@ .\" Copyright (c) 1999 Chris Costello .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/sysctl.conf.5,v 1.3.4.2 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/sysctl.conf.5,v 1.3.4.3 2000/12/29 10:18:05 ru Exp % .\" .Dd December 30, 1999 .Dt SYSCTL.CONF 5 .Os FreeBSD .Sh 名称 .Nm sysctl.conf .Nd カーネルの状態のデフォルト .Sh 解説 .Pa /etc/sysctl.conf ファイルは、カーネルのデフォルト設定のために、 システムがマルチユーザモードになるときに読み込まれます。 .Pa /etc/sysctl.conf は .Dq "sysctl -w" コマンドの書式であり、すなわち次のようなものです。 .Bd -literal -offset indent sysctl_mib=value .Ed .Pp コメントは、行頭に .Dq # を付けることで記述します。 コメントは行末にも付けられます。 後述の .Sx 使用例 を見てください。 .Sh 関連ファイル .Bl -tag -width /etc/sysctl.conf -compact .It Pa /etc/sysctl.conf .Xr sysctl 8 の初期設定。 +.El .Sh 使用例 致命的なシグナルにより終了したプログラムのロギングを無効にし、 Linux プログラムに対して .Fx 3.4-STABLE で実行していると通知するには、 次のような設定を使用します: .Bd -literal -offset indent # Configure logging and Linux execution. kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11) compat.linux.osname=FreeBSD compat.linux.osrelease=3.4-STABLE .Ed .Sh 関連項目 .Xr rc.conf 5 , .Xr rc 8 , .Xr sysctl 8 .Sh 歴史 .Nm ファイルは .Fx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/termcap.5 b/ja_JP.eucJP/man/man5/termcap.5 index fe00a5fe4a..aa488ae6bb 100644 --- a/ja_JP.eucJP/man/man5/termcap.5 +++ b/ja_JP.eucJP/man/man5/termcap.5 @@ -1,2081 +1,2083 @@ .\" Copyright (c) 1985, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)termcap.5 8.3 (Berkeley) 4/16/94 .\" .\" /*************************************************************************** .\" * COPYRIGHT NOTICE * .\" **************************************************************************** .\" * ncurses is copyright (C) 1992-1995 * .\" * Zeyd M. Ben-Halim * .\" * zmbenhal@netcom.com * .\" * Eric S. Raymond * .\" * esr@snark.thyrsus.com * .\" * * .\" * Permission is hereby granted to reproduce and distribute ncurses * .\" * by any means and for any fee, whether alone or as part of a * .\" * larger distribution, in source or in binary form, PROVIDED * .\" * this notice is included with any such distribution, and is not * .\" * removed from any of its header files. Mention of ncurses in any * .\" * applications linked with it is highly appreciated. * .\" * * .\" * ncurses comes AS IS with no warranty, implied or expressed. * .\" * * .\" ***************************************************************************/ .\" -.\" %FreeBSD: src/share/termcap/termcap.5,v 1.12.2.1 2000/12/08 14:59:21 ru Exp % +.\" %FreeBSD: src/share/termcap/termcap.5,v 1.12.2.2 2000/12/29 10:18:09 ru Exp % .\" .\" jpman %Id: termcap.5,v 1.4 1998/06/13 12:34:58 horikawa Stab % .\" FreeBSD jpman project 訳語表 .\" WORD: terminal 端末 .\" WORD: text テキスト .\" WORD: convention 約束 .\" WORD: virtual terminal 仮想端末 .\" WORD: print 印字 .\" WORD: display 描画 .\" WORD: screen 画面 .\" WORD: CRT CRT .\" WORD: attribute 属性 .\" WORD: underline 下線 .\" WORD: standout 強調表示 .\" WORD: column 桁 .\" WORD: row 行 .\" WORD: carriage return キャリッジリターン .\" WORD: home など ホーム(ホームポジション)、home(home キー) .\" など、キーそのものについては英語のままとした .\" WORD: foreground color 前景色 .\" WORD: background color 背景色 .\" WORD: bottom margin 下マージン .\" WORD: top margin 上マージン .\" WORD: bold mode ボールドモード .\" WORD: scroll forward 前進スクロール .\" WORD: scroll backward 後退スクロール .\" WORD: glitch グリッチ (他の端末と不整合な機能) .\" その他 Beehive はメーカ名です(.Ss Glitches and Braindamages 参照)。 .Dd April 16, 1994 .Dt TERMCAP 5 .Os BSD 3 .Sh 名称 .Nm termcap .Nd 端末ケーパビリティのデータベース .Sh 書式 .Nm .Sh 解説 .Nm ファイルは端末に関するデータベースであり、例えば .Xr \&vi 1 や .Xr ncurses 3 が使用します。 .Nm には、端末が持つケーパビリティと、 操作がどのように行われるのかが記述されています。 パディングの必要性および初期化シーケンスも .Nm に記述されています。 .Pp .Nm のエントリは `:' で区切られた複数個のフィールドからなります。 各端末の最初のエントリは、`|' 文字で区切った端末名です。 最初の名前は、その端末の最も一般的な省略形です。 最後の名前は端末を完全に識別するための長い名前であり、 その他は端末名の類義語です。 最後以外の名前は小文字を使い、空白を含まないようにしてください; 最後の名前は、可読性のために大文字や空白を含んでかまいません。 .Pp 端末名 (最後の冗長なエントリを除く) は次の約束に従い選んでください。 端末を構成するハードウェアの特定の一部を、 .Dq hp2621 のように根幹の名前として選びます。 この名前はハイフンを含んではなりません。 ハードウェアのモードやユーザのプリファレンスは、 ハイフンとモード指示子を追加して示します。 ですから、132 桁モードの .Dq vt100 は .Dq vt100-w になります。可能ならば、以下の接尾辞を使用してください: .Pp .Bd -filled -offset indent .Bl -column indent "With automatic margins (usually default)xx" -.Sy 接尾辞 意味 例 +.Sy "接尾辞 意味 例" -w 広いモード (80 桁超) vt100-w -am 自動マージン付 (通常はデフォルト) vt100-am -nam 自動マージン無し vt100-nam .Pf \- Ar n Ta No "画面上の行数 aaa-60" -na 矢印キー無し (ローカルのままにする) concept100-na .Pf \- Ar \&np Ta No "メモリページ数 concept100-4p" -rv 反転表示 concept100-rv .El .Ed .Sh ケーパビリティ 記述フィールドに、ケーパビリティの意味を示そうとしています。 記述フィールドには次のようなコードが書いてあることがあります: .Pp .Bl -tag -width #[1-9] .It (P) パディングが指定されるかもしれないことを表します。 .It #[1-9] 記述フィールドでは、文字列が (#\fIi\fP) として与えられる引数として .Xr tparm や .Xr tgoto を介して渡されることを示します。 .It (P*) 影響を受ける行数に従いパディングが変化することを示します。 .It (#\d\fIi\fP\u) \fIi\fP 番目のパラメータを表します。 .El .Pp 以下、ブール値のケーパビリティです: .Bd -literal \fBブール値 TCap 記述\fR \fB変数 コード\fR auto_left_margin bw cursor_left は桁 0 から最後の桁に回り込む auto_right_margin am 端末は自動マージンを持つ no_esc_ctlc xb beehive (f1=escape, f2=ctrl C) ceol_standout_glitch xs 強調表示は上書きによって消去されない (hp) eat_newline_glitch xn 80 桁より後の改行は無視される (concept) erase_overstrike eo 空白を上打ちすることで消去可能 generic_type gn 一般的な行タイプ hard_copy hc ハードコピー端末 has_meta_key km メタキーを持ち、最上位ビットをセットする has_status_line hs 追加のステータス行を持つ insert_null_glitch in 挿入モードはナルを区別する memory_above da 画面より上の描画が保存される memory_below db 画面より下の描画が保存される move_insert_mode mi 挿入モードでの移動が安全 move_standout_mode ms 強調表示モードでの移動が安全 over_strike os 端末は上打ちが可能 status_line_esc_ok es ステータス行でエスケープを使用可能 dest_tabs_magic_smso xt 破壊的タブ、強調文字の奇妙な動作 (t1061) tilde_glitch hz ~ を印字できない (hazeltine) transparent_underline ul 下線文字の上打ち xon_xoff xo 端末は xon/xoff のハンドシェークを使用 needs_xon_xoff nx パディングは動作しないので xon/xoff が必要 prtr_silent 5i プリンタ出力は画面にエコーしない hard_cursor HC カーソルが見にくい non_rev_rmcup NR enter_ca_mode は exit_ca_mode を反転しない no_pad_char NP パディング文字が存在しない non_dest_scroll_region ND スクロール領域が非破壊的 can_change cc 端末は既存の色を再定義可能 back_color_erase ut 画面は背景色で消される hue_lightness_saturation hl 端末は HLS カラー表現のみ使用 (tektronix) col_addr_glitch YA 桁位置指定および micro_column_address ケーパビリティは正方向の動きのみ cr_cancels_micro_mode YB cr を使用するとマイクロモードがオフになる has_print_wheel YC オペレータが文字セットを変更する必要がある プリンタ row_addr_glitch YD row_address および micro_row_address は 正方向の動きのみ semi_auto_right_margin YE 最終桁で印字すると cr となる cpi_changes_res YF 文字ピッチを変えると解像度が変わる lpi_changes_res YG 行ピッチを変えると解像度が変わる .Ed .Pp 以下、数値のケーパビリティです: .Bd -literal \fB数値 TCap 記述\fR \fB変数 コード\fR columns co 1 行の桁数 init_tabs it タブの初期設定は # 個の空白ごと lines li 画面もしくはページの行数 lines_of_memory lm 行より大きい場合はメモリの行数、 0 の場合はさまざま .\" => は大小関係を表すのではない See .Sh その他 magic_cookie_glitch sg enter_standout_mode や exit_standout_mode が残す空白文字数 padding_baud_rate pb パディングが必要な最低ボーレート virtual_terminal vt 仮想端末番号 (CB/unix) width_status_line ws ステータス行の桁数 num_labels Nl 画面上のラベル数 label_height lh 各ラベルの行数 label_width lw 各ラベルの桁数 max_attributes ma 端末が扱える属性の最大の組み合わせ maximum_windows MW 定義可能なウィンドウ数の最大 magic_cookie_glitch_ul ug 下線により残される空白数 # # 以下は SVr4 のカラーサポートにより導入 # max_colors Co 画面上の最大色数 max_pairs pa 画面上の色の組の最大数 no_color_video NC 色付きでは使用できないビデオ属性 # # 以下の数値ケーパビリティは SVr4.0 の term 構造体に存在しますが、 # マニュアルには記述されていません。 # これらは SVr4 のプリンタサポートにより追加されました。 # buffer_capacity Ya 印字前にバッファされるバイト数 dot_vert_spacing Yb 1 インチあたりのピン数で表した垂直ピン間隔 dot_horz_spacing Yc 1 インチあたりのドット数で表した水平 ドット間隔 max_micro_address Yd micro_..._address での最大値 max_micro_jump Ye parm_..._micro での最大値 micro_char_size Yf マイクロモードでの文字サイズ micro_line_size Yg マイクロモードでの行サイズ number_of_pins Yh プリントヘッドのピン数 output_res_char Yi 行あたりのユニット数による水平解像度 output_res_line Yj 行あたりのユニット数による垂直解像度 output_res_horz_inch Yk インチあたりのユニット数による水平解像度 output_res_vert_inch Yl インチあたりのユニット数による垂直解像度 print_rate Ym 1 秒あたりの文字数による印字レート wide_char_size Yn 倍幅モードでの文字ステップサイズ buttons BT マウスのボタン数 bit_image_entwining Yo 各ビットイメージ行として渡される数 bit_image_type Yp ビットイメージデバイスのタイプ .Ed .Pp 以下、文字列ケーパビリティです: .Bd -literal \fB文字列 TCap 記述\fR \fB変数 コード\fR back_tab bt 後退タブ (P) bell bl 可聴シグナル (ベル) (P) carriage_return cr キャリッジリターン (P*) change_scroll_region cs 領域を行 #1 から行 #2 までに変更 (P) clear_all_tabs ct 全タブストップをクリア (P) clear_screen cl 画面を消去しカーソルをホームに移動 (P*) clr_eol ce 行末までクリア (P) clr_eos cd 画面末までクリア (P*) column_address ch 絶対指定での水平位置 #1 (P) command_character CC 端末がプロトタイプで設定可能なコマンド文字 cursor_address cm 行 #1 桁 #2 に移動 cursor_down do 1 行下に移動 cursor_home ho カーソルをホームに移動 cursor_invisible vi カーソルを見えなくする cursor_left le 1 つ左に移動 cursor_mem_address CM メモリ相対のカーソル位置指定 cursor_normal ve 通常のカーソル表示にする (cursor_invisible/cursor_visible の無効化) cursor_right nd 1 つ右に移動 cursor_to_ll ll 最終行の最初の桁 cursor_up up 1 行上に移動 cursor_visible vs カーソルを非常に見易くする delete_character dc 文字削除 (P*) delete_line dl 行削除 (P*) dis_status_line ds ステータス行を無効にする down_half_line hd 半行下に移動 enter_alt_charset_mode as 別の文字セット開始 (P) enter_blink_mode mb 点滅オン enter_bold_mode md ボールド (さらに明るい) モードオン enter_ca_mode ti cursor_address を使用するプログラムを開始 する文字列 enter_delete_mode dm 削除モードへ入る enter_dim_mode mh 半輝度モードオン enter_insert_mode im 挿入モードへ入る enter_secure_mode mk ブランクモードオン (文字が見えません) enter_protected_mode mp 保護モードオン enter_reverse_mode mr 反転表示モードオン enter_standout_mode so 強調表示モード開始 enter_underline_mode us 下線モード開始 erase_chars ec #1 個文字を削除 (P) exit_alt_charset_mode ae 別の文字セット終了 (P) exit_attribute_mode me 全属性をオフ exit_ca_mode te cup 使用のプログラムを終了する文字列 exit_delete_mode ed 削除モード終了 exit_insert_mode ei 挿入モードから抜ける exit_standout_mode se 強調表示モードから抜ける exit_underline_mode ue 下線モードから抜ける flash_screen vb 可視ベル (カーソルは移動しません) form_feed ff ハードコピー端末でのページ排出 (P*) from_status_line fs ステータス行からの復帰 init_1string i1 初期化文字列 init_2string is 初期化文字列 init_3string i3 初期化文字列 init_file if 初期化ファイルの名前 insert_character ic 文字挿入 (P) insert_line al 行挿入 (P*) insert_padding ip 挿入された文字の後にパディングを挿入 key_backspace kb backspace キー key_catab ka clear-all-tabs キー key_clear kC clear-screen または erase キー key_ctab kt clear-tab キー key_dc kD delete-character キー key_dl kL delete-line キー key_down kd down-arrow キー key_eic kM 挿入モードで mir や smir により送られる key_eol kE clear-to-end-of-line キー key_eos kS clear-to-end-of-screen キー key_f0 k0 F0 ファンクションキー key_f1 k1 F1 ファンクションキー key_f10 k; F10 ファンクションキー key_f2 k2 F2 ファンクションキー key_f3 k3 F3 ファンクションキー key_f4 k4 F4 ファンクションキー key_f5 k5 F5 ファンクションキー key_f6 k6 F6 ファンクションキー key_f7 k7 F7 ファンクションキー key_f8 k8 F8 ファンクションキー key_f9 k9 F9 ファンクションキー key_home kh home キー key_ic kI insert-character キー key_il kA insert-line キー key_left kl left-arrow キー key_ll kH last-line キー key_npage kN next-page キー key_ppage kP prev-page キー key_right kr right-arrow キー key_sf kF scroll-forward キー key_sr kR scroll-backward キー key_stab kT set-tab キー key_up ku up-arrow キー keypad_local ke 'キーボード送出' モードから抜ける keypad_xmit ks 'キーボード送出' モードに入る lab_f0 l0 非 f0 の時、ファンクションキー f0 のラベル lab_f1 l1 非 f1 の時、ファンクションキー f1 のラベル lab_f10 la 非 f10 の時、ファンクションキー f10 の ラベル lab_f2 l2 非 f2 の時、ファンクションキー f2 のラベル lab_f3 l3 非 f3 の時、ファンクションキー f3 のラベル lab_f4 l4 非 f4 の時、ファンクションキー f4 のラベル lab_f5 l5 非 f5 の時、ファンクションキー f5 のラベル lab_f6 l6 非 f6 の時、ファンクションキー f6 のラベル lab_f7 l7 非 f7 の時、ファンクションキー f7 のラベル lab_f8 l8 非 f8 の時、ファンクションキー f8 のラベル lab_f9 l9 非 f9 の時、ファンクションキー f9 のラベル meta_off mo メタモードオフ meta_on mm メタモードオン (8 ビット目をオン) newline nw 改行 (cr の後に lf が来たように振舞います) pad_char pc パディング文字 (ナルの代り) parm_dch DC #1 文字を削除 (P*) parm_delete_line DL #1 行を削除 (P*) parm_down_cursor DO #1 行下に移動 (P*) parm_ich IC #1 文字を挿入 (P*) parm_index SF #1 行の前進スクロール (P) parm_insert_line AL #1 行を挿入 (P*) parm_left_cursor LE #1 文字左に移動 (P) parm_right_cursor RI #1 文字右に移動 (P*) parm_rindex SR #1 行の後退スクロール (P) parm_up_cursor UP #1 行上に移動 (P*) pkey_key pk 文字列 #2 をタイプする プログラムファンクションキー #1 pkey_local pl 文字列 #2 を実行する プログラムファンクションキー #1 pkey_xmit px 文字列 #2 を転送する プログラムファンクションキー #1 print_screen ps 画面の内容を印字 prtr_off pf プリンタオフ prtr_on po プリンタオン repeat_char rp 文字 #1 を #2 回繰り返す (P*) reset_1string r1 リセット文字列 reset_2string r2 リセット文字列 reset_3string r3 リセット文字列 reset_file rf リセットファイルの名前 restore_cursor rc save_cursor の最後の位置へカーソルを戻す row_address cv 絶対指定での垂直位置 #1 (P) save_cursor sc 現在のカーソル位置を保存 (P) scroll_forward sf テキストを上にスクロール (P) scroll_reverse sr テキストを下にスクロール (P) set_attributes sa ビデオ属性 #1-#9 を定義 (PG9) set_tab st 全ての行において今いる桁にタブを設定 set_window wi 現在のウィンドウを、行 #1-#2 桁 #3-#4 に 設定 tab ta 次の 8 スペースハードウェアタブストップへ タブ to_status_line ts ステータス行へ移動 underline_char uc 文字に下線を引きその後に移動 up_half_line hu 半行上に移動 init_prog iP 初期化プログラムのパス名 key_a1 K1 キーパッドの左上キー key_a3 K3 キーパッドの右上キー key_b2 K2 キーパッドの中央キー key_c1 K4 キーパッドの左下キー key_c3 K5 キーパッドの右下キー prtr_non pO #1 バイトだけプリンタをオンする termcap_init2 i2 2 番目の初期化文字列 termcap_reset rs 端末リセット文字 # # SVr1 のケーパビリティはここまでです。 # IBM の terminfo はここまでは SVr4 と同じですが、ここから先は異なります。 # char_padding rP insert_padding と似ていますが挿入モード時 に使用 acs_chars ac 図形文字セットの組 - def=vt100 plab_norm pn プログラムラベル #1 は文字列 #2 を表示 key_btab kB back-tab キー enter_xon_mode SX xon/xoff ハンドシェークオン exit_xon_mode RX xon/xoff ハンドシェークオフ enter_am_mode SA 自動マージンオン exit_am_mode RA 自動マージンオフ xon_character XN XON 文字 xoff_character XF XOFF 文字 ena_acs eA 別の文字セットを有効にする label_on LO ソフトラベルオン label_off LF ソフトラベルオフ key_beg @1 begin キー key_cancel @2 cancel キー key_close @3 close キー key_command @4 command キー key_copy @5 copy キー key_create @6 create キー key_end @7 end キー key_enter @8 enter/send キー key_exit @9 exit キー key_find @0 find キー key_help %1 help キー key_mark %2 mark キー key_message %3 message キー key_move %4 move キー key_next %5 next キー key_open %6 open キー key_options %7 options キー key_previous %8 previous キー key_print %9 print キー key_redo %0 redo キー key_reference &1 reference キー key_refresh &2 refresh キー key_replace &3 replace キー key_restart &4 restart キー key_resume &5 resume キー key_save &6 save キー key_suspend &7 suspend キー key_undo &8 undo キー key_sbeg &9 シフト状態の begin キー key_scancel &0 シフト状態の cancel キー key_scommand *1 シフト状態の command キー key_scopy *2 シフト状態の copy キー key_screate *3 シフト状態の create キー key_sdc *4 シフト状態の delete char キー key_sdl *5 シフト状態の delete line キー key_select *6 select キー key_send *7 シフト状態の end キー key_seol *8 シフト状態の end-of-line キー key_sexit *9 シフト状態の exit キー key_sfind *0 シフト状態の find キー key_shelp #1 シフト状態の help キー key_shome #2 シフト状態の home キー key_sic #3 シフト状態の insert char キー key_sleft #4 シフト状態の left キー key_smessage %a シフト状態の message キー key_smove %b シフト状態の move キー key_snext %c シフト状態の next キー key_soptions %d シフト状態の options キー key_sprevious %e シフト状態の previous キー key_sprint %f シフト状態の print キー key_sredo %g シフト状態の redo キー key_sreplace %h シフト状態の replace キー key_sright %i シフト状態の right キー key_srsume %j シフト状態の resume キー key_ssave !1 シフト状態の save キー key_ssuspend !2 シフト状態の suspend キー key_sundo !3 シフト状態の undo キー req_for_input RF 次の入力文字を送る (pty で使用) key_f11 F1 F11 ファンクションキー key_f12 F2 F12 ファンクションキー key_f13 F3 F13 ファンクションキー key_f14 F4 F14 ファンクションキー key_f15 F5 F15 ファンクションキー key_f16 F6 F16 ファンクションキー key_f17 F7 F17 ファンクションキー key_f18 F8 F18 ファンクションキー key_f19 F9 F19 ファンクションキー key_f20 FA F20 ファンクションキー key_f21 FB F21 ファンクションキー key_f22 FC F22 ファンクションキー key_f23 FD F23 ファンクションキー key_f24 FE F24 ファンクションキー key_f25 FF F25 ファンクションキー key_f26 FG F26 ファンクションキー key_f27 FH F27 ファンクションキー key_f28 FI F28 ファンクションキー key_f29 FJ F29 ファンクションキー key_f30 FK F30 ファンクションキー key_f31 FL F31 ファンクションキー key_f32 FM F32 ファンクションキー key_f33 FN F33 ファンクションキー key_f34 FO F34 ファンクションキー key_f35 FP F35 ファンクションキー key_f36 FQ F36 ファンクションキー key_f37 FR F37 ファンクションキー key_f38 FS F38 ファンクションキー key_f39 FT F39 ファンクションキー key_f40 FU F40 ファンクションキー key_f41 FV F41 ファンクションキー key_f42 FW F42 ファンクションキー key_f43 FX F43 ファンクションキー key_f44 FY F44 ファンクションキー key_f45 FZ F45 ファンクションキー key_f46 Fa F46 ファンクションキー key_f47 Fb F47 ファンクションキー key_f48 Fc F48 ファンクションキー key_f49 Fd F49 ファンクションキー key_f50 Fe F50 ファンクションキー key_f51 Ff F51 ファンクションキー key_f52 Fg F52 ファンクションキー key_f53 Fh F53 ファンクションキー key_f54 Fi F54 ファンクションキー key_f55 Fj F55 ファンクションキー key_f56 Fk F56 ファンクションキー key_f57 Fl F57 ファンクションキー key_f58 Fm F58 ファンクションキー key_f59 Fn F59 ファンクションキー key_f60 Fo F60 ファンクションキー key_f61 Fp F61 ファンクションキー key_f62 Fq F62 ファンクションキー key_f63 Fr F63 ファンクションキー clr_bol cb 行頭までクリア clear_margins MC 左右のソフトマージンをクリア set_left_margin ML 左のソフトマージンを設定 set_right_margin MR 右のソフトマージンを設定 label_format Lf ラベルフォーマット set_clock SC 時刻を #1 時 #2 分 #3 秒に設定 display_clock DK 位置 (#1,#2) に時計を表示 remove_clock RC 時計を取り除く create_window CW ウィンドウ #1 を #2, #3 から #4, #5 までと 定義 goto_window WG ウィンドウ #1 に移動 hangup HU 電話をハングアップする dial_phone DI 番号 #1 にダイヤルする quick_dial QD チェックせずに番号 #1 にダイヤルする tone TO タッチトーンダイヤルを選択 pulse PU パルスダイヤルを選択 flash_hook fh スイッチフックをフラッシュする fixed_pause PA 2-3 秒待つ wait_tone WA ダイヤルトーンを待つ user0 u0 ユーザ文字列 #0 user1 u1 ユーザ文字列 #1 user2 u2 ユーザ文字列 #2 user3 u3 ユーザ文字列 #3 user4 u4 ユーザ文字列 #4 user5 u5 ユーザ文字列 #5 user6 u6 ユーザ文字列 #6 user7 u7 ユーザ文字列 #7 user8 u8 ユーザ文字列 #8 user9 u9 ユーザ文字列 #9 # # SVr4 は以下のケーパビリティを追加してカラーをサポートしました # orig_pair op デフォルトのペアを元の値に戻す orig_colors oc 色のペア全てを元に戻す initialize_color Ic 色 #1 を (#2,#3,#4) に設定 initialize_pair Ip 色のペア #1 を fg=(#2,#3,#4), bg=(#5,#6,#7) に設定 set_color_pair sp 現在の色のペアを #1 に設定 set_foreground Sf 前景色を #1 に設定 set_background Sb 背景色を #1 に設定 # # SVr4 は以下のケーパビリティを追加してプリンタをサポートしました # change_char_pitch ZA 1 インチあたりの文字数を変更 change_line_pitch ZB 1 インチあたりの行数を変更 change_res_horz ZC 水平解像度を変更 change_res_vert ZD 垂直解像度を変更 define_char ZE 文字を定義 enter_doublewide_mode ZF 倍幅モードに入る enter_draft_quality ZG ドラフト印字モードに入る enter_italics_mode ZH イタリックモードに入る enter_leftward_mode ZI キャリッジの左向き移動開始 enter_micro_mode ZJ マイクロ移動モードに入る enter_near_letter_quality ZK NLQ 印字モードに入る enter_normal_quality ZL 通常品質印字モードに入る enter_shadow_mode ZM シャドウプリントモード開始 enter_subscript_mode ZN 下付き文字モード enter_superscript_mode ZO 上付き文字モード enter_upward_mode ZP キャリッジの上向き移動開始 exit_doublewide_mode ZQ 倍幅印字モード終了 exit_italics_mode ZR イタリックモード終了 exit_leftward_mode ZS 左向き移動モード終了 exit_micro_mode ZT マイクロ移動モード終了 exit_shadow_mode ZU シャドウプリントモード終了 exit_subscript_mode ZV 下付き文字モード終了 exit_superscript_mode ZW 上付き文字モード終了 exit_upward_mode ZX 逆向き文字移動終了 micro_column_address ZY マイクロモードの column_address micro_down ZZ マイクロモードの cursor_down micro_left Za マイクロモードの cursor_left micro_right Zb マイクロモードの cursor_right micro_row_address Zc マイクロモードの row_address micro_up Zd マイクロモードの cursor_up order_of_pins Ze ソフトウェアビットを印字ヘッドピンに あわせる .\" Match software bits to print-head pins ? parm_down_micro Zf マイクロモードの parm_down_cursor parm_left_micro Zg マイクロモードの parm_left_cursor parm_right_micro Zh マイクロモードの parm_right_cursor parm_up_micro Zi マイクロモードの parm_up_cursor select_char_set Zj 文字セットの選択 set_bottom_margin Zk 現在の行を下マージンに設定 set_bottom_margin_parm Zl 下マージンを行 #1 または下から #2 行に設定 set_left_margin_parm Zm 左 (右) マージンを桁 #1 (#2) に設定 set_right_margin_parm Zn 右マージンを桁 #1 に設定 set_top_margin Zo 上マージンを現在の行に設定 set_top_margin_parm Zp 上 (下) マージンを行 #1 (#2) に設定 start_bit_image Zq ビットイメージグラフィクスの印刷開始 start_char_set_def Zr 文字セットの定義開始 stop_bit_image Zs ビットイメージグラフィクスの印刷停止 stop_char_set_def Zt 文字セットの定義終了 subscript_characters Zu 下付き文字となりうる文字のリスト superscript_characters Zv 上付き文字となりうる文字のリスト these_cause_cr Zw 印字すると CR となる文字 zero_motion Zx 次の文字表示では移動しない # # 以下の文字列ケーパビリティは SVr4.0 の term 構造体にありますが、 # マニュアルページには記述されていません。 # char_set_names Zy 文字セット名のリスト key_mouse Km マウスイベントが発生した mouse_info Mi マウス状態の情報 req_mouse_pos RQ マウス位置の要求 get_mouse Gm curses がボタンイベントを取得すべき set_a_foreground AF ANSI 前景色を設定 set_a_background AB ANSI 背景色を設定 pkey_plab xl 文字列 #2 をタイプし、文字列 #3 を表示する プログラムファンクションキー device_type dv 言語/コードセットサポートの表示 code_set_init ci 複数コードセットシーケンスの初期化 set0_des_seq s0 コードセット 0 へシフト (EUC セット 0, ASCII) set1_des_seq s1 コードセット 1 へシフト set2_des_seq s2 コードセット 2 へシフト set3_des_seq s3 コードセット 3 へシフト set_lr_margin ML 左右マージンをそれぞれ #1, #2 に設定 set_tb_margin MT 上下マージンをそれぞれ #1, #2 に設定 bit_image_repeat Xy ビットイメージセル #1 を #2 回繰り返す bit_image_newline Zz ビットイメージの次の行に移動 bit_image_carriage_return Yv 同一行の先頭に移動 color_names Yw 色 #1 の名前を与える define_bit_image_region Yx 長方形のビットイメージ領域を定義 end_bit_image_region Yy ビットイメージ領域の終了 set_color_band Yz 色リボン #1 に変更 set_page_length YZ ページ長を #1 行に設定 # # SVr4 は以下のケーパビリティを追加し、直接 PC クローンをサポートしました # display_pc_char S1 PC 文字を表示 enter_pc_charset_mode S2 PC 文字表示モードに入る exit_pc_charset_mode S3 PC 文字表示モード終了 enter_scancode_mode S4 PC スキャンコードモードに入る exit_scancode_mode S5 PC スキャンコードモードから抜ける pc_term_options S6 PC 端末オプション scancode_escape S7 スキャンコードエミュレーションのための エスケープ alt_scancode_esc S8 スキャンコードエミュレーションのための 別のエスケープ # # XSI curses 標準は、以下のケーパビリティを追加しました。 # enter_horizontal_hl_mode Xh 水平ハイライトモードに入る enter_left_hl_mode Xl 左ハイライトモードに入る enter_low_hl_mode Xo 下ハイライトモードに入る enter_right_hl_mode Xr 右ハイライトモードに入る enter_top_hl_mode Xt 上ハイライトモードに入る enter_vertical_hl_mode Xv 垂直ハイライトモードに入る .Pp 以下は廃れた termcap ケーパビリティです。 新しいソフトウェアはどれにも依存しないようにしてください。 .Bd -literal \fBブール値 TCap 記述\fR \fB変数 コード\fR linefeed_is_newline NL ^J で下に移動 even_parity EP 端末は偶数パリティを要求 odd_parity OP 端末は奇数パリティを要求 half_duplex HD 端末は半 2 重 lower_case_only LC 端末は小文字のみ持つ upper_case_only UC 端末は大文字のみ持つ has_hardware_tabs pt ^I で起動される 8 文字タブがある return_does_clr_eol xr リターンは行をクリアする tek_4025_insert_line xx Tektronix 4025 の insert-line グリッチ backspaces_with_bs bs 左に移動するために ^H を使用 crt_no_scrolling ns crt はスクロールできない no_correctly_working_cr nc 行頭に行く手段が無い .Ed .Bd -literal \fB数値 TCap 記述\fR \fB変数 コード\fR backspace_delay dB ^H に必要なパディング form_feed_delay dF ^L に必要なパディング horizontal_tab_delay dT ^I に必要なパディング vertical_tab_delay dV ^V に必要なパディング number_of_function_keys kn ファンクションキーの数 carriage_return_delay dC CR に必要なパディング new_line_delay dN LF に必要なパディング .Ed .Bd -literal \fB文字列 TCap 記述\fR \fB変数 コード\fR other_non_function_keys ko 自己にマップされたキーのリスト arrow_key_map ma 矢印キーを rogue(1) の移動キーにマップ memory_lock_above ml 現在の行より上の画面で見える部分のメモリを ロック memory_unlock mu 現在の行より上の画面で見える部分のメモリの ロックを解除 linefeed_if_not_lf nl 下に移動するために使用 backspace_if_not_bs bc ^H でない場合に左に移動 .Ed .Ss エントリのサンプル 以下のエントリは Concept\-100 について記述しており、 本書の中でも最も複雑なエントリの 1 つです。 .Pp .Bd -literal ca\||\|concept100\||\|c100\||\|concept\||\|c104\||\|concept100-4p\||\|HDS Concept\-100:\e :al=3*\eE^R:am:bl=^G:cd=16*\eE^C:ce=16\eE^U:cl=2*^L:cm=\eEa%+ %+ :\e :co#80:.cr=9^M:db:dc=16\eE^A:dl=3*\eE^B:do=^J:ei=\eE\e200:eo:im=\eE^P:in:\e :ip=16*:is=\eEU\eEf\eE7\eE5\eE8\eEl\eENH\eEK\eE\e200\eEo&\e200\eEo\e47\eE:k1=\eE5:\e :k2=\eE6:k3=\eE7:kb=^h:kd=\eE<:ke=\eEx:kh=\eE?:kl=\eE>:kr=\eE=:ks=\eEX:\e :ku=\eE;:le=^H:li#24:mb=\eEC:me=\eEN\e200:mh=\eEE:mi:mk=\eEH:mp=\eEI:\e :mr=\eED:nd=\eE=:pb#9600:rp=0.2*\eEr%.%+ :se=\eEd\eEe:sf=^J:so=\eEE\eED:\e :.ta=8\et:te=\eEv \e200\e200\e200\e200\e200\e200\eEp\er\en:\e :ti=\eEU\eEv 8p\eEp\er:ue=\eEg:ul:up=\eE;:us=\eEG:\e :vb=\eEk\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\eEK:\e :ve=\eEw:vs=\eEW:vt#8:xn:\e :bs:cr=^M:dC#9:dT#8:nl=^J:ta=^I:pt: .Ed .Pp 行末文字に \e を使用すれば、複数行にエントリを続けることができます。 また空のフィールドを含めて可読性を上げることもできます (ある行の最後のフィールドから次の行の最初のフィールドまでです)。 コメントは .Dq # で始まる行に含めることができます。 .Ss ケーパビリティの型 .Nm のケーパビリティには次の 3 種類があります: 特定の機能を端末が持つかどうかを示す、ブール値ケーパビリテイ; 画面の大きさや他の属性の大きさを与える、数値ケーパビリティ; そして特定の端末操作を行うために使用可能な文字列を与える、 文字列ケーパビリティです。 全てのケーバビリティが 2 文字のコードを持ちます。 例えば、Concept が .Em 自動マージン (行末に到達すると、自動的にリターンおよびラインフィードする機能) を持つという事実は、ブール値ケーパビリティ .Sy \&am で示されます。 それゆえ Concept の記述は .Sy \&am を含みます。 .Pp 数値ケーパビリティの後には文字 `#' が続き、そして値が続きます。 上の例では、画面の桁数を示す .Sy \&co は Concept に対しては値 `80' を与えます。 .Pp 最後に、文字列値のケーパビリティ、例えば .Sy \&ce (行末までクリアのシーケンス) は、2 文字のコード、単一の `='、 そして次の `:' までの文字列で与えられます。 このケーパビリティにおいては、ミリ秒指定の遅延を `=' の後に指定可能です。 この場合、残りの文字列が送られた後、パディング文字が .Xr tputs により与えられ、この遅延を発生させます。 遅延は `20' のような数値または `3*' のような `*' が続く数値です。 `*' は、 この操作により影響を受ける行数に必要なパディングが比例すること、 そして指定量は影響を受ける各行に必要なパディングであることを示します。 (insert-character の場合でも、係数は影響を受ける .Em 行 数です; ただし、端末が .Sy \&in を持っていてソフトウェアがこれを使用する場合以外は、この値は常に 1 です。) `*' が指定される時、`3.5' のような形式により 1/10 ミリ秒単位で 行あたりの遅延を指定するのが便利な場合があります。 (10 進数 1 桁分のみ許されます。) .Pp 多くのエスケープシーケンスが文字列値のケーパビリティで提供されますので、 ここでは容易に制御文字をエンコードできます。 .Sy \&\eE は .Dv ESC 文字にマップし、 .Sy \&^X は適切な X に対して control-X にマップし、シーケンス .Sy \&\en .Sy \&\er .Sy \&\et .Sy \&\eb .Sy \&\ef はそれぞれ、ラインフィード、リターン、タブ、バックスペース、フォームフィード にマップします。 最後に、文字は .Sy \&\e の後に 3 桁 8 進数として指定可能ですし、 .Sy \&^ と .Sy \&\e の文字は .Sy \&\e^ と .Sy \&\e\e として与えられます。 ケーパビリティ中に .Sy \&: を入れる必要がある場合、8 進数で .Sy \&\e072 とエスケープする必要があります。 文字列ケーパビリティ中に .Dv NUL 文字を入れる必要がある場合、 .Sy \&\e200 とエンコードする必要があります。( .Nm を扱うルーチンは C の文字列を使用し、 出力の最上位ビットをかなり遅い段階で取り除くので、 .Sy \&\e200 は .Sy \&\e000 として出力されます。) .Pp 個々のケーパビリティをコメントアウトする必要があるかもしれません。 その場合には、ケーパビリティ名の前にピリオドを付けます。 例えば、例における最初の .Sy \&cr と .Sy \&ta を見てください。 .Ss 記述の準備 端末記述を準備する最も効果的な方法は、 .Nm 中の似た端末の記述を真似し、 .Xr \&vi を使用して部分記述の正しさを確認することにより、 徐々に記述を構築するというものです。 非常に稀なことですが、端末によっては、 .Nm ファイルの記述能力不足や .Xr \&vi のバグが露呈することがありますので注意してください。 あなたが新しく作った端末記述を簡単にテストするには、 あなたのホームディレクトリに .Pa .termcap という名前のファイルとして置き、 プログラムが .Pa /usr/share/misc/termcap の前にこれを見るようにします。 環境変数 .Ev TERMPATH をあなたが作成した記述を含む絶対ファイルパス名のリスト (空白もしくはコロンで区切ります) に設定することにより、 プログラムはこれらをリスト順に検索し、他は検索しないようになります。 .Xr termcap 3 を参照してください。 .Ev TERMCAP 環境変数は、通常 .Nm エントリ自身に設定され、プログラム起動時にファイルを読むことを避けます。 .Pp 行挿入に対する適切なパディングを得るためには (端末製造元が記述しなかった場合には)、 .Xr \&vi を使用して .Pa /etc/passwd を 9600 ボーで編集し、およそ 16 行を画面中央から削除し、 それから `u' キーを何度か素早く押すという、厳しいテストを行います。 画面がぐちゃぐちゃになった場合には、 通常はより多くのパディングが必要となります。 同様のテストを文字挿入に対しても行うことが可能です。 .Ss 基本ケーパビリティ 表示の各行の桁数は .Sy \&co 数値ケーパビリティで与えられます。 表示が .Tn CRT になされる場合、画面の行数は .Sy \&li ケーパビリティで与えられます。 カーソルが右マージンに到達した時に、表示が次の行の先頭に回り込む場合には、 .Sy \&am ケーパビリティを持ちます。 端末が画面をクリア可能な場合には、そうするためのコードが .Sy \&cl 文字列ケーパビリティで与えられます。 端末が (上書きされる文字の位置をクリアするのではなく) 上打ちする場合には、 .Sy \&os ケーパビリティがあります。 端末がプリント端末でソフトコピーユニットを持たない場合、 .Sy \&hc と .Sy \&os を指定してください。 .Pf ( Sy \&os があてはまるのは Tektronix 4010 シリーズのようなストレージスコープ端末、 ハードコピー端末、そして .Tn APL 端末です。) カーソルを直ちに左端に移動するためのコードがある場合には、それを .Sy \&cr で指定します。 (通常これは復帰文字(キャリッジリターン)、すなわち .Sy \&^M です。) 可聴シグナル (ベルやビープなど) を発生するコードがある場合には、それを .Sy \&bl で指定します。 .Pp (バックスペースのように) カーソルを 1 つ左に移動するコードがある場合には、 このケーパビリテイは .Sy \&le で指定します。 同様に、右上下に移動するコードはそれぞれ .Sy \&nd , .Sy \&up , .Sy \&do で指定します。 これらの .Em ローカルなカーソル移動 は、カーソルが通過する文字を変化させてはなりません; 例えば、通常は .Dq nd=\ \& を使用してはなりません。例外は 端末が .Sy \&os ケーパビリティを持つ場合です。 この理由は、通過する文字を空白が消してしまうからです。 .Pp ここで非常に重要なポイントは、 .Nm でエンコードされるローカルなカーソル移動は、 .Tn CRT 表示の左端および上端では動作が未定義だということです。 ローカルなカーソル移動を使用している場合には、 左端においては .Sy \&bw が与えられているのでなければ、 プログラムはバックスペースを試してはなりませんし、 上端においては上への移動を試してはなりません。 .Pp テキストを上にスクロールするには、プログラムは画面左下角に移動して、 .Sy \&sf (インデックス) 文字列を送ります。 テキストを下にスクロールするには、プログラムは画面左上角に移動して、 .Sy \&sr (逆インデックス) 文字列を送ります。 期待された角以外での .Sy \&sf および .Sy \&sr 文字列の動作は未定義です。 パラメータ化したバージョンのスクロールシーケンスは .Sy \&SF および .Sy \&SR で、 .Sy \&sf および .Sy \&sr と同様の意味ですが、 1 つパラメータを取ってその行数だけスクロールさせるというところが違います。 これらもまた、画面上の適切な角以外での動作は未定義です。 .Pp .Sy \&am ケーパビリティは、画面の右端にてテキスト出力を行った時に、 カーソルがその位置に留まるか否かを示します。 しかしこれは、最後の桁での .Sy \&nd を必ずしも意味しません。 左端らかの左向きのローカル移動は、 .Sy \&bw が与えられている場合のみ定義されます; この場合、左端における .Sy \&le は、直前行の右端へ移動します。 例えば、画面の周囲に箱を描画する場合に便利です。 端末が切り替え選択式の自動マージンを持つ場合には、 .Nm 記述は通常この機能、 .Em すなわち .Sy \&am がオンであることを仮定します。 次行の先頭桁への移動コマンドを端末が持つ場合、このコマンドは .Sy \&nw (改行) で与えることができます。 これを使用して現在の行の残りの部分をクリアすることができますので、 正しく動作する .Tn \&CR および .Tn \&LF を持たない場合には、これらの代りに使用することができます。 .Pp これらの機能で、ハードコピー端末および .Dq ガラスの tty 端末を記述するためには十分です。 Teletype model 33 は以下のように記述されています .Bd -literal -offset indent T3\||\|tty33\||\|33\||\|tty\||\|Teletype model 33:\e :bl=^G:co#72:cr=^M:do=^J:hc:os: .Ed .Pp また Lear Siegler .Tn ADM Ns \-3 は以下のように記述されています .Bd -literal -offset indent l3\||\|adm3\||\|3\||\|LSI \s-1ADM\s0-3:\e :am:bl=^G:cl=^Z:co#80:cr=^M:do=^J:le=^H:li#24:sf=^J: .Ed .Ss パラメータ化された文字列 カーソル位置設定などのパラメータを要求する文字列は、 パラメータ化された文字列ケーパビリティで記述します。 ここでは .Xr printf 3 に似たエスケープ .Sy \&%x を使用します。その他の文字は変更されずに渡されます。 例えば、カーソル位置設定のために .Sy \&cm ケーパビリティが与えられますが、これは 2 つのパラメータを使用します: それぞれ移動先の行と桁です。 (行と桁は 0 から番号が振られ、ユーザから見える物理画面を参照します。 見えないメモリは参照しません。 端末がメモリ相対のカーソル位置設定機能を持つ場合には、 .Sy \&CM という似たケーパビリティで指定されます。) .Pp .Sy \&% エンコードは以下の意味を持ちます: .Bl -column xxxxx .It %% Ta No `%' を出力 .It "%d 値を" .Xr printf %d のように出力 .It "%2 値を" .Xr printf %2d のように出力 .It "%3 値を" .Xr printf %3d のように出力 .It "%. 値を" .Xr printf %c のように出力 .It "%+" Ns Em x Ta No 値に .Em x を加え、% を実行 .It "%>" Ns Em \&xy Ta No もし 値 \&> .Em x の場合には .Em y を加える。無出力 .It "%r 2 つのパラメータの順を逆転。無出力" .It "%i 1 増加。無出力" .It "%n 全パラメータに関した 0140 との排他的論理和 (Datamedia 2500)" -.It "%B" Ta Tn BCD No "(16*(value/10)) + (value%10) を実行。無出力" +.It "\&%B" Ta Tn BCD No "(16*(value/10)) + (value%10) を実行。無出力" .It "%D 逆コーディング (value \- 2*(value%16))。無出力 (Delta Data)" .El .Pp Hewlett-Packard 2645 において第 3 行第 12 桁に移動する場合、 .Dq \eE&a12c03Y を送って 6 ミリ秒パディングする必要があります。 行と桁の関係がここでは逆であり、行および桁は 2 桁の整数として送る ことに注意してください。 よって、この端末の .Sy \&cm ケーパビリティは .Dq Li cm=6\eE&%r%2c%2Y となります。 .Pp Datamedia 2500 は現在の行と桁を -.Dq \&%. +.Dq %.\& でバイナリエンコードして送る必要があります。 -.Dq \&%. +.Dq %.\& を使用する端末は、カーソルをバックスペース .Po Sy \&le Pc させる機能と画面上で 1 行カーソルを上に移動 .Po Sy \&up Pc する機能を持つ必要があります。 なぜなら .Sy \&\en , .Sy \&^D , .Sy \&\er を送出するのは常に安全というわけではなく、 システムがこれらに変更を加えたり捨てたりする場合があるからです。( .Nm を使用するプログラムは、タブが展開されないように端末モードを設定し、 .Sy \&\et が安全に送られるようにしなければなりません。 これは Ann Arbor 4080 において本質的です。) .Pp 最後の例は Lear Siegler .Tn ADM Ns \-3a です。この端末では行と桁は空白文字で与えますので、 .Dq Li cm=\eE=%+ %+\ となります。 .Pp 絶対値での行や桁のカーソル位置設定は、単一パラメータのケーパビリティ .Sy \&ch (水平絶対位置) および .Sy \&cv (垂直絶対位置) で与えられます。 一般的な 2 パラメータシーケンスよりもこれらを使用する方が短かいことがあり (Hewlett-Packard 2645 の場合)、 .Sy \&cm よりも好んで使用され得ます。 パラメータ化されたローカル移動 .Pf ( Em 例えば 、 .Ar n 個右に移動) の機能がある場合、 .Sy \&DO , .Sy \&LE , .Sy \&RI , .Sy \&UP として与えられます。これらは単一パラメータを取り、 いくつ移動するのかを示します。 第 1 に Tektronix 4025 のような .Sy \&cm を持たない端末で有用です。 .Ss カーソル移動 .Pp 端末が高速にカーソルをホーム (画面の左上角) に移動する方法がある場合、これは .Sy \&ho として与えられます。 同様に、高速に左下角に移動する方法は、 .Sy \&ll で与えられます; これには、ホームポジションにて .Sy \&up を使用することによる上への移動を含みますが、 プログラム自身がこれを実行してはなりません (ただし .Sy \&ll が実行する場合を除く)。 なぜならプログラムはホームポジションでの上への移動の効果を 仮定できないからです。) ホームポジションは、カーソル位置 (0,0) と同じです: 画面の左上角であり、メモリは無関係です。 (それゆえ、Hewlett-Packard 端末の .Dq \eEH シーケンスは、 .Sy \&ho としては使用できません。) .Ss 領域クリア 端末が、現在位置に留まりつつ、現在位置から行末までクリア可能である場合には、 この機能は .Sy \&ce として与えられます。 端末が、現在位置から描画終端までをクリア可能である場合には、この機能は .Sy \&cd として与えられます。 .Sy \&cd は行の最初の桁においてのみ起動可能です。(よって、真の .Sy \&cd が利用できない場合、この機能は多数の行を削除する要求にてシミュレート可能です。) .Ss 行の挿入および削除 端末が、カーソルがいる行の前に新しい空行を開けることが可能な場合、この機能は .Sy \&al として与えられます; この機能を起動するには行頭にいる必要があります。 行を開けると、カーソルは新しい空行の左端に移動します。 端末が、カーソルがいる行を削除可能な場合、この機能は .Sy \&dl として与えられます; この機能を起動するには削除する行の先頭にいる必要があります。 1 つパラメータを取ってその数だけ行を挿入および削除する .Sy \&al および .Sy \&dl の変形は、 .Sy \&AL および .Sy \&DL として与えられます。 端末が、(VT100 のように) 設定可能なスクロール領域を持つ場合、 設定コマンドは 2 つのパラメータを取る .Sy \&cs ケーパビリティとして記述されます: パラメータはスクロール領域の上端行および下端行です。 なんとしたことか、このコマンド使用後のカーソル位置は未定義です。 行挿入および行削除の効果はこのコマンドを使用することで得られます \(em .Sy \&sc および .Sy \&rc (カーソルの保存と回復) コマンドもまた有用です。 画面の上端または下端における行挿入は、 真の行挿入/削除を持たない多くの端末において、 .Sy \&sr または .Sy \&sf にて実行できます。 また、真の行挿入/削除機能を持つ端末においても、 こちらの方が高速な場合が多いです。 .Pp メモリの一部を、 全コマンドが影響するウィンドウとして定義する能力を端末が持つ場合、 これはパラメータ化された文字列 .Sy \&wi で与えられます。 4 つのパラメータは順番に、メモリにおける開始行・終了行・開始桁・終了桁です。 (この .Xr terminfo ケーパビリティは完全性のために記述しています。 .Nm を使用するプログラムはこの機能を使ってはいないでしょう。) .Pp 端末が画面より上方の表示メモリを保存する場合、 .Sy \&da ケーパビリティが与えられます; 下方の表示メモリが保存される場合、 .Sy \&db が与えられます。 これらの機能は、 行削除やスクロールにより非空白行が下から現れることや、 .Sy \&sr による後退スクロールにより非空白行が上から現れることを示します。 .Ss 文字の挿入および削除 .Nm にて記述可能な文字挿入および削除に関しては、 基本的に 2 種類のインテリジェント端末があります。 最も一般的な文字の挿入/削除操作は現在行の文字にのみ作用し、 行末までの文字を厳格にシフトします。 他の端末、Concept\-100 や Perkin Elmer Owl では、 タイプされた空白とタイプされたものではない空白を区別し、 挿入/削除に際するシフトは 画面上のタイプされたものではない空白にのみ適用されます。 タイプされたものではない空白は、削除されるか、 2 つのタイプされたものではない空白に拡張されます。 使用している端末の種類を判別するためには、 画面をクリアし、カーソル移動を含めてテキストをタイプします。例えば .Dq Li abc\ \ \ \ def を、 .Dq abc と .Dq def の間でローカルなカーソル移動 (空白ではありません) を行ってタイプします。 その後、カーソルを .Dq abc の前に移動し、端末を挿入モードにします。 そこで文字をタイプすると 行の残りの部分が厳密にシフトされ終端から出て行く場合、 あなたの端末は空白とタイプされたものではない位置とを区別しません。 もし挿入に際して、 .Dq abc が .Dq def のところまでシフトし、 それから一緒に現在の行の終端まで移動して次行に移動する場合、 あなたの端末は 2 番目の種類の端末を持っていますので、 .Dq ナル挿入 を表すケーパビリティ .Sy \&in を指定します。 これら 2 つは論理的に別の属性 (1 行 .Em 対 複数行の挿入モードでタイプされたものではない空白を特別に扱う) ですが、 挿入モードをどちらかで記述できない端末を我々は見たことがありません。 .Pp .Nm エントリは、挿入モードを持つ端末も、 単純なシーケンスを送って現在の行に空白位置を開ける端末も、両方記述可能です。 .Sy \&im は挿入モードに入るシーケンスを表します。 .Sy \&ei は挿入モードから抜けるシーケンスを表します。そして、 .Sy \&ic は、挿入する文字を送る直前に送る必要があるシーケンスを表します。 真の挿入モードを持つほとんどの端末は、 .Sy \&ic を指定しません; 一方、画面上の位置を開けるためにシーケンスを使用する端末は、 これを指定する必要があります。 (端末が両方の機能を持つ場合には、挿入モードは通常 .Sy \&ic が好まれます。実際に両機能を組み合せる必要がある端末の場合以外は、 両方を指定しないでください。) 挿入後にパディングが必要な場合、ミリ秒数にて .Sy \&ip (文字列オプション) で与えます。 1 文字挿入後に送る必要があるシーケンスもまた .Sy \&ip で指定します。`挿入モード' である必要があり、 なおかつ挿入文字の前に特別のコードを送る必要がある端末の場合、 .Sy \&im Ns / Sy \&ei と .Sy \&ic が与えられ、両方を使用します。 単一のパラメータ .Em n を取る .Sy \&IC ケーパビリティは、 .Sy \&ic の効果を .Em n 回繰り返します。 .Pp 挿入モード中で同一行の文字を削除するために、時々移動が必要になります .Pf ( Em 例えば 挿入位置の後にタブがある場合)。 挿入モード中で移動を許す端末の場合、ケーパビリティ .Sy \&mi を指定して、このような場合の挿入を高速化できます。 .Sy \&mi を省略しても速度に影響するだけです。 端末によっては (特に Datamedia のものでは)、挿入モードの動作方法の理由により、 .Sy \&mi を指定してはなりません。 .Pp 最後に、1 文字削除のために .Sy \&dc を指定可能です。 .Sy \&DC は単一パラメータ .Em n を取り .Em n 文字削除します。 そして削除モードは、 .Sy \&dm および .Sy \&ed で、削除モードの入り方および抜け方を示します (削除モードとは、 .Sy \&dc が動作するために端末がいるべきモードです)。 .Ss ハイライト・下線・可視ベル 端末が 1 つまたはそれ以上の種類の表示属性を持つ場合、 これらは様々な方法で表現されていることでしょう。 1 つの表示形式を .Em 強調表示モード として選択してください。このモードは十分高いコントラストで見易く、 エラーメッセージや注意を引く表示のハイライトに適します。 (選択可能ならば、反転表示に半分の明るさ、もしくは反転表示のみが良いでしょう。) 強調表示モードに入るシーケンスおよび出るシーケンスは、それぞれ .Sy \&so および .Sy \&se で与えられます。 .Tn TVI 912 や Teleray 1061 のように、 強調表示モードの出入りのコードが、 1 つ 2 つの空白やごみの文字を画面上に残す場合、 .Sy \&sg を指定して、何文字残されるのかを指定してください。 .Pp 下線の開始および下線の終了は、それぞれ .Sy \&us および .Sy \&ue で指定します。 下線モード変更によるごみは、 .Sy \&sg 同様 .Sy \&ug として指定します。 Microterm Mime のように、現在位置の文字に下線を引き、 カーソルをひとつ右の位置に移動するコードを端末が持つ場合、 このコードは .Sy \&uc で指定します。 .Pp その他もろもろのハイライトモードに入るケーパビリティには、 .Sy \&mb (点滅)、 .Sy \&md (ボールドまたは更に明るい)、 .Sy \&mh (暗いまたは半輝度)、 .Sy \&mk (空白または見えないテキスト)、 .Sy \&mp (保護状態)、 .Sy \&mr (反転表示)、 .Sy \&me .Pf ( Em 全て の属性モードをオフ)、 .Sy \&as (別の文字セットモードに入る) そして .Sy \&ae (別の文字セットモードから抜ける) があります。 これらのモードを単独でオンにした場合、 他のモードをオフにする場合もありますし、オフにしない場合もあります。 .Pp モードの任意の組み合わせを設定するシーケンスがある場合、 これは 9 個のパラメータを取る .Sy \&sa (属性設定) で指定します。 それぞれのパラメータは 0 または 1 であり、 対応する属性がオンまたはオフされます。 9 個のパラメータは順番に次の通りです: 強調表示・下線・反転・点滅・ 暗い・ボールド・空白・保護・別の文字セット。 全モードが .Sy \&sa によりサポートされている必要は無く、 サポートされているものに対応するコマンドが存在することのみ必要です。( .Nm を使用するプログラムはこのケーパビリティをサポートしていないでしょう。 このケーパビリティは .Xr terminfo との互換性のために定義しています。) .Pp 各文字セルに追加された属性ビットを管理するのではなく、 .Dq マジッククッキー グリッチ .Pf ( Sy \&sg および .Sy \&ug ) を持つ端末では、 描画アルゴリズムに影響するモード設定シーケンスを受信した時に、 特別な .Dq クッキー または .Dq ごみ文字 を画面に残します。 .Pp Hewlett-Packard 2621 のように、 新しい行へ移動した時やカーソル位置を設定した時に 自動的に強調表示モードから抜ける端末があります。 このような端末においては、強調表示モードを使用するプログラムは、 カーソル移動や改行送信前に強調表示モードから抜ける必要があります。 このような問題が無い端末では、 .Sy \&ms ケーパビリティが存在し、このオーバヘッドが不要であることを示します。 .Pp エラーを静かに伝えるために端末が画面をフラッシュさせる方法を持つ場合 (ベルの代りです)、これは .Sy \&vb として指定します; この機能はカーソルを移動してはなりません。 .Pp カーソルが最下行になくても、 通常時よりも見易くする必要がある場合 (例えば、点滅していない下線を、 より見付け易いブロックや点滅する下線に変更する場合)、このシーケンスは .Sy \&vs で与えます。 カーソルを完全に見えなくする方法がある場合には、これは .Sy \&vi ケーパビリティで指定します。 これらのモードの効果を打ち消すケーパビリティ .Sy \&ve も指定する必要があります。 .Pp (特別なコードを必要とせずに) 下線を引かれた文字を端末が正しく表示する場合、 しかもその機能が上打ちではない場合、 このケーパビリティを .Sy \&ul で示します。 上打ちを空白にて消去可能な場合、これは .Sy \&eo で示します。 .Ss キーパッド キーを押した時にコードを送出するキーパッドを持つ端末では、 この情報を指定することができます。 キーパッドがローカルモードにおいてのみ動作する端末は 扱うことができないことに注意してください。 (これは例えば Hewlett-Packard 2621 でシフト状態でないキーにあてはまります)。 キーコードの送出 / 非送出をキーパッドに設定できる場合は、 設定のためのコードは .Sy \&ks および .Sy \&ke で指定します。 そうでない場合はキーパッドは常にコードを送出するものと仮定されます。 left-arrow, right-arrow, up-arrow, down-arrow, home のキーで送出されるコードは それぞれ .Sy \&kl , .Sy \&kr , .Sy \&ku , .Sy \&kd , .Sy \&kh , で指定します。 f0, f1, ..., f9 のようなファンクションキーがある場合には、 これらのキーが送るコードは .Sy \&k0 , .Sy \&k1 , -..., +\&..., .Sy \&k9 で指定します。 これらのキーがデフォルトの f0 から f9 以外のラベルを持つ場合、このラベルは .Sy \&l0 , .Sy \&l1 , -..., +\&..., .Sy \&l9 で指定します。 その他の特殊キーで送出されるコードは次のように与えられます: .Sy \&kH (ホームダウン)、 .Sy \&kb (バックスペース)、 .Sy \&ka (全タブクリア)、 .Sy \&kt (この桁のタブストップをクリア)、 .Sy \&kC (画面クリアまたは消去)、 .Sy \&kD (文字削除)、 .Sy \&kL (行削除)、 .Sy \&kM (挿入モードから抜ける)、 .Sy \&kE (行末までクリア)、 .Sy \&kS (画面の終りまでクリア)、 .Sy \&kI (文字挿入または挿入モードに入る)、 .Sy \&kA (行挿入)、 .Sy \&kN (次のページ)、 .Sy \&kP (前のページ)、 .Sy \&kF (前進/下降スクロール)、 .Sy \&kR (後退/上昇スクロール)、 .Sy \&kT (この桁にタブストップを設定)。 更に、キーパッドが 4 つの矢印キーを含む 3 × 3 のキー配列を持つ場合、 他の 5 つのキーは .Sy \&K1 , .Sy \&K2 , .Sy \&K3 , .Sy \&K4 , .Sy \&K5 で指定します。 3 × 3 の方向パッドが必要な時、これらのキーは有用です。 以前 .Dq その他 のファンクションキーを記述するために使用された、廃れた .Sy \&ko ケーパビリティは、上記のケーパビリティにより完全に置き換えられました。 .Pp .Sy \&ma エントリはまた、 端末の矢印キーが 1 文字矢印キーであることを示すためにも使用されます。 これは廃れた方法ですが、 .Sy \&vi のバージョン 2 で未だ使用されています。 メモリ制約の理由で、このコマンドを使用しているミニコンピュータがあるでしょう。 このフィールドは .Sy \&kl , .Sy \&kr , .Sy \&ku , .Sy \&kd , .Sy \&kh と冗長関係にあります。 このフィールドは 2 文字の複数グループから構成されます。 各グループにおいては、最初の文字は矢印キーが何を送るかを表し、 2 番目の文字は対応する .Sy \&vi のコマンドを表します。 コマンドは、 .Ar h が .Sy \&kl に、 .Ar j が .Sy \&kd に、 .Ar k が .Sy \&ku に、 .Ar l が .Sy \&kr に、 .Ar H が .Sy \&kh に対応します。 例えば Mime では .Dq Li ma=^Hh^Kj^Zk^Xl となり、矢印キーの left (^H), down (^K), up (^Z), down (^X) を示します。 (Mime には home キーはありません。) .Ss タブおよび初期化 これらのケーパビリティを使用するプログラムを実行する時に 端末を特別なモードにすることが必要な場合、 このモードに入るコードおよび出るコードは .Sy \&ti と .Sy \&te で指定します。 これが関係あるのは、例えば Concept のようなメモリページを複数持つ端末です。 端末がメモリ相対のカーソル位置設定のみ持ち、 画面相対のカーソル位置設定を持たない場合には、 画面サイズのウィンドウに表示を固定し、 カーソル位置設定が正しく動作するようにする必要があります。 これは Tektronix 4025 でも使用され、 .Sy \&ti はコマンド文字を .Nm が使うように設定します。 .Pp 他のケーパビリティとしては、端末初期化文字列 .Sy \&is や、長い初期化文字列を格納するファイル名 .Sy \&if があります。 これらの文字列は、端末を .Nm 記述と矛盾がないモードに設定するものと期待されています。 これらは通常、ユーザがログインするたびに、 .Xr tset プログラムによって端末に送られます。 印字は次の順に行われます: まず .Sy \&is ; 次に .Sy \&ct と .Sy \&st によるタブ設定; そして最後に .Sy \&if です。 .Pf ( Xr terminfo では .Sy \&is の代りに .Sy \&i\&1-i2 を使用し、プログラム .Sy \&iP を実行し、他の初期化の後 .Sy "\&i\&3" を印字します。) まったくわけがわからない状態から回復するためのよりハードな リセットシーケンスの組が、類推できる名前 .Sy \&rs および .Sy \&rf で与えられます。 これらの文字列は、端末がはまった状態に陥いった時に使用される .Xr reset プログラムにより出力されます。 .Pf ( Xr terminfo は .Sy \&rs の代りに .Sy "\&r1-r3" を使用します。) これらのコマンドが画面上を騒がせ、 なおかつログイン時に必ずしも必要ではない場合に限り、 通常これらは .Sy \&rs および .Sy \&rf に格納します。 例えば、VT100 を 80 桁モードに設定するコマンドは、普通に考えると .Sy \&is の一部に入れるでしょうが、これは画面に困ったゴミを生じさせますし、 端末は普段既に 80 桁モードですので、実際は入れる必要はありません。 .Pp 端末がハードウェアタブを持つ場合、 次のタブストップまで進むコマンドは .Sy \&ta で指定します (通常は .Sy \&^I です)。 直前のタブストップへ左向きに移動する .Dq バックタブ コマンドは、 .Sy \&bt で指定します。 タブストップが端末には送られずに計算機により展開されることを 端末ドライバモードが示す場合、 .Sy \&ta や .Sy \&bt が存在するとしても、プログラムでこれらを使用しないというのが約束になって います。 なぜなら、ユーザがタブストップを正しく設定していないかもしれないからです。 端末電源オン時に各 .Ar n 位置ごとにハードウェアタブが初期設定される端末の場合、 数値パラメータ .Sy \&it を使用し、タブストップ間隔を示します。 このコマンドは通常 .Xr tset コマンドが使用し、ドライバモードをハードウェアタブ展開に設定するか否か、 およびタブストップを設定するか否かを決定します。 端末が不揮発性メモリにタブストップを保存可能な場合、 .Nm 記述はタブストップが正しく設定されるものと仮定できます。 .Pp タブストップを設定およびクリアするコマンドが存在する場合、 これらのコマンドは .Sy \&ct (全タブストップをクリア) および .Sy \&st (全ての行における現在の桁にタブストップを設定) で指定します。 タブ設定のために、ここで示した方法より複雑なシーケンスが必要な場合、 このシーケンスは .Sy \&is や .Sy \&if で指定します。 .Ss 遅延 端末ドライバのパディングを制御するケーパビリティもあります。 これらのケーパビリティは、第 1 にハードコピー端末にて必要とされ、 .Xr tset プログラムにより端末ドライバのモードを適切に設定するために使用されます。 ケーパビリティ .Sy \&cr , .Sy \&sf , .Sy \&le , .Sy \&ff , .Sy \&ta に埋め込まれる遅延は、端末ドライバの適切な遅延ビットを設定する効果があります。 .Sy \&pb (パディングボーレート) を指定した場合、 この値より低いボーレートにおいては、これらの値は無視されます。 .Bx 4.2 の .Xr tset では、遅延は別の数値ケーパビリティ .Sy \&dC , .Sy \&dN , .Sy \&dB , .Sy \&dF , .Sy \&dT で与えられます。 .Ss その他 端末が .Dv NUL (0) 文字以外のパディング文字を必要とする場合には、 .Sy \&pc で指定します。 .Sy \&pc 文字列の最初の文字のみが使用されます。 .Pp 端末がカーソル位置を保存および回復するコマンドを持つ場合には、これらは .Sy \&sc および .Sy \&rc で指定します。 .Pp 通常はソフトウェアが使用しない追加の .Dq ステータス行 を端末が持つ場合、この事実を示すことができます。 ステータス行が最下行の下に追加の行として見える場合には、ケーパビリティ .Sy \&hs を指定します。 ステータス行の位置への移動およびステータス行からの復帰のための特別な文字列は、 .Sy \&ts および .Sy \&fs で指定します。 .Pf ( Sy \&ts の前にカーソルが存在した位置に、 .Sy \&fs はカーソルを戻す必要があります。必要ならば、 .Sy \&sc および .Sy \&rc の文字列を .Sy \&ts および .Sy \&fs に含めてこの効果を得ることができます。) ケーパビリティ .Sy \&ts は、ステータス行の何桁目にカーソルが移動すべきを示すパラメータを 1 つ取ります。 エスケープシーケンスや他の特殊コマンド、 例えばタブがステータス行でも動作するならば、フラグ .Sy \&es を指定します。 ステータス行をオフにする (または内容を消去する) 文字列は、 .Sy \&ds で指定します。 通常、ステータス行の幅は画面の他の部分、 .Em すなわち .Sy \&co と同じであると仮定されます。(端末が行全体の使用を許さない等の理由で) ステータス行の幅が異なる場合には、その幅を桁数で数値パラメータ .Sy \&ws で指定します。 .Pp 端末が半行上下に移動可能な場合、 .Sy \&hu (半行上) および .Sy \&hd (半行下) で指定します。 これは、ハードコピー端末で上付き文字および下付き文字を使用するために有用です。 ハードコピー端末がページを排出して次のページに移動 (フォームフィード) する ことができる場合、これは .Sy \&ff (通常 .Sy \&^L です) で指定します 。 .Pp 指定した文字を指定した回数繰り返すコマンド (同一文字を何度も送出する時間を節約します) がある場合、 パラメータ化された文字列 .Sy \&rp で指定します。 最初のパラメータは繰り返される文字であり、2 番目のパラメータは 繰り返す回数です。(これは .Xr terminfo の機能であり、 .Nm を使用するプログラムはこの機能をサポートしていないでしょう。) .Pp Tektronix 4025 のように端末が設定可能なコマンド文字を持つ場合、 .Sy \&CC で指定します。 全ケーパビリティで使用されるプロトタイプコマンド文字が選択されます。 この文字を識別するために、この文字が .Sy \&CC ケーパビリティにより与えられます。 次の約束をサポートしている .Ux システムがあります: すなわち、 .Ev \&CC 環境変数を検査し、もし設定されている場合には、 プロトタイプ文字を環境変数で設定されているものと置き換えるという約束です。 このように .Ev \&CC 環境変数を使用することは、 .Xr make 1 との衝突が発生しますので、非常に悪い考えです。 .Pp 特定の既知の端末を表現するものではない端末記述、 .Em switch , .Em dialup , .Em patch , .Xr network では .Sy \&gn (一般) ケーパビリティを設定し、 端末に対してどのように話しかければよいのか分らないと プログラムが文句を言えるようにします。 (このケーパビリティは、エスケープシーケンスが既知である .Em 仮想 端末記述にはあてはまりません。 .Pp 端末が xoff/xon .Pq Tn DC3 Ns / Ns Tn DC1 ハンドシェークを使用してフロー制御する場合、 .Sy \&xo を指定します。 コストに関するより良い判定を可能とするために 依然としてパディング情報を指定する必要がありますが、 実際にパディング文字が送出されるということはありません。 .Pp シフトキーのように動作し、送出される文字の 8 ビット目をセットする .Dq メタキー を端末が備える場合、 .Sy \&km を設定してこの事実を示すことができます。 これが指定されない場合は、ソフトウェアは 8 ビット目はパリティであると仮定し、 通常これをクリアしてしまいます。 .Dq メタモード をオンおよびオフする文字列が存在する場合、これらは .Sy \&mm および .Sy \&mo で指定します。 .Pp 画面 1 枚分より多くのメモリ行を端末が備える場合、 メモリの行数を .Sy \&lm で指定します。 明示的に値 0 を指定すると、行数は固定ではないものの 画面分より多くのメモリがあることを示します。 .Pp .Ux システムの仮想端末プロトコルにてサポートされる端末である場合、 端末番号は .Sy \&vt で与えられます。 .Pp 端末に接続された外部プリンタを制御するメディアコピー文字列は、 次のように与えられます。すなわち .Sy \&ps : 画面内容の印字; .Sy \&pf : プリンタオフ; および .Sy \&po : プリンタオンです。 プリンタオン時には、端末に送られる全てのテキストはプリンタに送られます。 プリンタオン時に端末画面にもテキストが表示されるか否かは未定義です。 このバリエーションである .Sy \&pO は単一のパラメータを取り、 パラメータ値で指定される文字数だけプリンタをオンにし、 その後プリンタをオフにします。 このパラメータは 255 を越えてはなりません。 .Sy \&pf を含む全テキストは、 .Sy \&pO が有効である間、透過的にプリンタに渡されます。 .Pp プログラムファンクションキーへの文字列は .Sy \&pk , .Sy \&pl , .Sy \&px で指定します。 これらの文字列は次の 2 つのパラメータを取ります: それぞれ、プログラム対象のファンクションキー番号 (0 から 9 まで) と、 プログラムの文字列です。 この範囲外のファンクションキー番号を指定すると、 ここでは定義できないキーを端末依存の方式でプログラムするかもしれません。 これらのケーパビリティの差異は、 .Sy \&pk は指定したキーを押すと指定した文字列を ユーザがタイプしたものとして扱うものであり; .Sy \&pl はローカルモードの端末にて指定した文字列を実行させるものであり; .Sy \&px は指定した文字列を計算機に送出させるものである点です。 不幸なことに、 .Nm では文字列パラメータが定義されていないため、 .Xr terminfo のみがこれらのケーパビリティをサポートします。 .Ss グリッチと不良 文字 `~' を表示できない Hazeltine 端末は .Sy \&hz を指定する必要があります。 .Pp .Sy \&nc ケーパビリティは現在廃れていますが、 以前は Datamedia 端末を表すために使用していました。 この端末では、キャリッジリターンに対して .Sy \&\er \en をエコーし、続くラインフィードを無視します。 .Pp Concept のように .Sy \&am による折り返しの直後のラインフィードを無視する端末では、 .Sy \&xn を指定します。 .Pp 強調表示を取り除くために (単に通常のテキストを上書きするだけで済まず) .Sy \&ce が必要な場合、 .Sy \&xs を指定します。 .Pp タブによって移動された全ての文字が空白にされてしまう Teleray 端末では、 .Sy \&xt (破壊的なタブ) を指定する必要があります。 -このグリッチは、\*(lqマジッククッキー\*(rq の先頭に +このグリッチは、 +.Dq マジッククッキー +の先頭に カーソル位置を設定できないことと、 強調表示を消すためには行削除と行挿入が必要であることも表現します。 .Pp .Dv ESC や .Sy \&^C の文字を正しく送出できない Beehive Superbee は .Sy \&xb を指定し、 .Dq \&f\&1 キーが .Dv ESC として使用され、 .Dq \&f\&2 キーが ^C として使用されることを示します。( 特定の Superbee のみがこの問題を持ち、これは .Tn ROM に依存します。) .Pp ある特定の端末に他の問題がある場合、 .Sy x Ns Em x の形式のケーパビリティを追加することにより正しく動作するようにしても 構いません。 .Ss 似た端末 2 つの非常によく似た端末がある場合、 例外はあるもののもう一方にそっくりであると、 一方を定義することができます。 文字列ケーパビリティ .Sy \&tc には似た端末の名前を与えます。 このケーパビリティは .Em 最後 である必要があり、組み合わせたエントリの長さは 1024 を越えてはなりません。 .Sy \&tc の前に指定したケーパビリティは .Sy \&tc により呼び出される端末タイプの記述に優先します。 ケーパビリティのキャンセルのためには .Sy \&xx@ を .Sy \&tc の呼び出しの左に置きます。 .Sy \&xx はキャンセルされるケーパビリティです。 例えば、エントリ .Bd -literal -offset indent hn\||\|2621\-nl:ks@:ke@:tc=2621: .Ed .Pp は、ビジュアルモードでファンクションキーラベルをオンにしないために .Sy \&ks と .Sy \&ke のケーパビリティを持たない .Dq 2621\-nl を定義します。 端末の種々のモードやユーザの種々のプリファレンスを記述するために有用です。 .Sh 関連ファイル .Bl -tag -width /usr/share/misc/termcap.db -compact .It Pa /usr/share/misc/termcap 端末記述を格納するファイル .It Pa /usr/share/misc/termcap.db 端末記述を格納するハッシュデータベースファイル .Pf ( Xr cap_mkdb 1 を参照)。 .El .Sh 関連項目 .Xr cap_mkdb 1 , .Xr ex 1 , .Xr more 1 , .Xr tset 1 , .Xr ul 1 , .Xr vi 1 , .Xr ncurses 3 , .Xr printf 3 , .Xr termcap 3 , .Xr term 5 .Sh 警告およびバグ .Em 注 : .Nm の機能は .At V Release 2.0 の .Xr terminfo に置き換えられました。 .Dq 廃れた とされるケーパビリティを使用していなければ、 移行のための苦痛は比較的少ないです。 .Pp 現在、行数および桁数は、 termcap エントリに格納するものと同様に、カーネルが格納します。 現在、ほとんどのプログラムはカーネルの情報を最初に使用します; このファイルに記述されている情報は、 カーネルが情報を持たない時のみ使用されます。 .Pp .Xr \&vi 1 プログラムは文字列ケーパビリティには 256 文字しか許しませんが、 .Xr termlib 3 のルーチンはこのバッファの溢れをチェックしません。 単一エントリの総計の長さは 1024 を越えてはなりません (エスケープされた改行は除きます)。 .Pp 全てのプログラムが全てのエントリをサポートしているわけではありません。 .Sh 歴史 .Nm ファイルフォーマットは .Bx 3 に登場しました。 diff --git a/ja_JP.eucJP/man/man7/operator.7 b/ja_JP.eucJP/man/man7/operator.7 index 2a03331a69..bd0980cc31 100644 --- a/ja_JP.eucJP/man/man7/operator.7 +++ b/ja_JP.eucJP/man/man7/operator.7 @@ -1,69 +1,69 @@ .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)operator.7 8.1 (Berkeley) 6/9/93 -.\" %FreeBSD: src/share/man/man7/operator.7,v 1.3 1999/08/28 00:20:58 peter Exp % +.\" %FreeBSD: src/share/man/man7/operator.7,v 1.3.2.1 2000/12/29 10:18:05 ru Exp % .\" .\" jpman %Id: operator.7,v 1.4 1999/01/21 17:51:28 kuma Stab % .\" .Dd June 9, 1993 .Dt OPERATOR 7 .Os .Sh 名称 .Nm operator .Nd C 言語の演算子の優先順位および評価の順序 .Sh 書式 .Bd -ragged -offset indent -compact -.Bl -column " 演算子 結合の順序 " -.It \ 演算子 結合の順序 -.It -------- ------------ -.It \&() [] -> . 左から右へ -.It "! ~ ++ -- - (type) * & sizeof" 右から左へ -.It \&* / % 左から右へ -.It \&+ - 左から右へ -.It \&<< >> 左から右へ -.It \&< <= > >= 左から右へ -.It \&== != 左から右へ -.It \&& 左から右へ -.It \&^ 左から右へ -.It \&| 左から右へ -.It \&&& 左から右へ -.It \&|| 左から右へ -.It \&?: 右から左へ -.It \&= += -= など 右から左へ -.It \&, 左から右へ +.Bl -column "! ~ ++ -- - (type) * & sizeof" +.It Sy "演算子 結合の順序" +.It "-------- ------------" +.It "\&() [] -> . 左から右へ" +.It "! ~ ++ -- - (type) * & sizeof 右から左へ" +.It "\&* / % 左から右へ" +.It "\&+ - 左から右へ" +.It "\&<< >> 左から右へ" +.It "\&< <= > >= 左から右へ" +.It "\&== != 左から右へ" +.It "\&& 左から右へ" +.It "\&^ 左から右へ" +.It "\&| 左から右へ" +.It "\&&& 左から右へ" +.It "\&|| 左から右へ" +.It "\&?: 右から左へ" +.It "\&= += -= など 右から左へ" +.It "\&, 左から右へ" .El .Ed .Sh 関連ファイル .Bl -tag -width /usr/share/misc/operator -compact .It Pa /usr/share/misc/operator .El .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1-21 diff --git a/ja_JP.eucJP/man/man7/ports.7 b/ja_JP.eucJP/man/man7/ports.7 index d398d17ab5..54109d2e40 100644 --- a/ja_JP.eucJP/man/man7/ports.7 +++ b/ja_JP.eucJP/man/man7/ports.7 @@ -1,362 +1,364 @@ .\" .\" Copyright (c) 1997 David E. O'Brien .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man7/ports.7,v 1.17.2.2 2000/12/14 12:14:31 ru Exp % +.\" %FreeBSD: src/share/man/man7/ports.7,v 1.17.2.3 2000/12/29 10:18:05 ru Exp % .\" .\" jpman %Id: ports.7,v 1.3 1999/01/24 06:53:11 horikawa Stab % .Dd January 25, 1998 .Dt PORTS 7 .Os FreeBSD .Sh 名称 .Nm ports .Nd 寄贈されたアプリケーション .Sh 解説 .Fx .Nm ports コレクション によって、ユーザや管理者は簡単にアプリケーションをインストールする ことができます。 .Em port はそれぞれ、オリジナルのソースコードを BSD 上でコンパイルして実行 させるために必要なパッチのすべてを含んでいます。アプリケーションの コンパイルは、 port のディレクトリで .Ic make build と入力するだけで簡単にできます。 port の .Ql Pa Makefile は、ローカルディスクからもしくは ftp を使って、自動的にアプリケーションの ソースコードを取得 .Pq fetch して、自分のシステムでそれを展開して、 パッチを当て、コンパイルします。すべてが順調に進んだ場合、 .Ic make install を実行することにより、アプリケーションがインストールされます。 .Pp インストールされたシステムよりも新しい ports を、 .Fx リポジトリからダウンロードして使用できます。 ただし、最初に適切な「アップグレードキット」を http://www.FreeBSD.org/ports/ から取得してインストールすることが重要です! 新しい ports をダウンロードするときには、 .Xr portcheckout 1 スクリプト (もちろんこれも port です!) が役立つでしょう。 .Pp port の利用に関してさらに情報が必要ならば、 .Nm ports コレクション (The Ports Collection) (原文: file:/usr/share/doc/handbook/ports.html または、 http://www.FreeBSD.org/handbook/ports.html。 和文: file:/usr/share/doc/ja/handbook/ports.html または、 http://www.FreeBSD.org/ja/handbook/ports.html) ) に目を通して下さい。 port を新規に作成するための情報については、 .Nm 自分で port を作る (Porting applications) (原文: file:/usr/share/doc/handbook/porting.html または、 http://www.FreeBSD.org/handbook/porting.html、 和文: file:/usr/share/doc/ja/handbook/porting.html または http://www.FreeBSD.org/ja/handbook/porting.html) に目を通して下さい。 どちらも .Fx ハンドブックの一部です。 .Pp .Sh ターゲット .Pp ターゲットのいくつかは、サブディレクトリを再帰的に make して行きます。 これにより、例えば、biology の port すべてをインストールすることが できます。再帰的に make を行なうターゲットは、 .Ar build , checksum , clean , configure , .Ar depends , extract , fetch , install , .Ar package です。 .Pp 次のターゲットは、それぞれすぐ手前のターゲットによって順に自動的に 実行されます。すなわち、 .Ar build は、 .Pq 必要があれば、 .Ar install によって実行されます。以下のターゲットそれぞれについて、同様のルールが .Ar fetch まで順次適用されます。 通常は、ターゲットとして、 .Ar install を指定するだけでよいはずです。 .Bl -tag -width configure .It Ar fetch MASTER_SITES と PATCH_SITES でリストされたサイトから、 この port を構築するために必要なファイルすべてを取得 .Pq fetch します。 .Ev FETCH_CMD と .Ev MASTER_SITE_OVERRIDE とを参照して下さい。 .It Ar checksum 取得した distfile が port で動作確認されたものと一致するかどうかを検証 します。 .Ev NO_CHECKSUM を定義することで、このステップを飛ばすことができます。 .It Ar depends 現在の port と依存関係にある port をインストール .Pq もしくは、必要がある場合のみコンパイル します。ターゲット .Ar extract もしくは .Ar fetch により呼び出された場合、 .Ar fetch-depends , .Ar build-depends などとしてひとつずつ実行されます。 .Ev NO_DEPENDS を定義することで、このステップを飛ばすことができます。 .It Ar extract distfile を作業用ディレクトリに展開します。 .It Ar patch port に必要なパッチすべてを適用します。 .It Ar configure port を構成 (configure) します。port によっては、この段階で質問して くるものもあります。 .Ev INTERACTIVE と .Ev BATCH を参照して下さい。 .It Ar build port を構築します。これはターゲット .Ar all を呼び出すことと同じです。 .It Ar install port をインストールし、この port をインストールしたことを package (訳注: .Fx の package system におけるパッケージを指す場合にこう表記します) システムに登録します。このターゲットは、実際に必要なこと すべてを行なってくれます。 .El .Pp 次のターゲットは、通常のインストールプロセスでは実行されません。 .Bl -tag -width fetch-list .It Ar fetch-list この port を構築するために取得が必要なファイルのリストを表示します。 .It Ar pretty-print-run-depends-list pretty-print-build-depends-list コンパイル依存 port リストと実行依存 port リストを表示します。 また、これらの依存 port リストが依存する port についても表示します。 .It Ar clean 展開されたソースコードを削除します。 .Ev NOCLEANDEPENDS を定義しておかない限り、削除は依存関係にある port に再帰的に適用されます。 .It Ar distclean その port の distfile を削除し、 .Ar clean を実行します。 .Ev NOCLEANDEPENDS を定義しておかない限り、 .Sq clean の部分は依存関係にある port に再帰的に適用されます。しかし、 .Sq distclean の部分は決して再帰的に適用されません .Pq この挙動はひょっとするとバグかもしれません 。 .It Ar reinstall .Ar deinstall を使用すべきところでうっかり .Xr pkg_delete 1 を使ってしまった場合、このターゲットを使って port を復活させて下さい。 .It Ar deinstall .Xr pkg_delete 1 と同様に、インストールした port をシステムから削除します。 .It Ar package この port のバイナリ package を作成します。まだインストールされて いなかった場合、その port をインストールします。 package は\ .tgz ファイルであり、その port を他のマシンに .Xr pkg_add 1 を使ってインストールする際に使用することができます。 .Ev PACKAGES で指定されたディレクトリが存在しなければ、package はカレントディレクトリに 置かれます。 .Ev PKGREPOSITORY と .Ev PKGFILE とを参照して下さい。 .It Ar readmes その port の .Pa README.html ファイルを生成します。 これは、あなたのシステム上の全 port をウェブでブラウズできるようにするために、 .Pa /usr/ports から使用可能です。 +.El .Sh 環境変数 これら環境変数のすべてを変更することができます。 .Bl -tag -width MASTER_SITES .It Ev PORTSDIR port ツリーの場所を指定します。これは .Fx と .Ox では .Pa /usr/ports で、 .Nx では .Pa /usr/pkgsrc です。 .It Ev WRKDIRPREFIX 一時ファイルを作成する場所です。 .Ev PORTSDIR が読み込み専用の場合 (おそらく cdrom をマウントした場合) 有用です。 .It Ev DISTDIR distfile を探す場所であり、取得した distfile を置く場所です。通常は .Ev PORTSDIR の下の .Pa distfiles/ です。 .It Ev PACKAGES ターゲット .Ar package でのみ使用されます。 package ツリーのベースディレクトリです。通常は、 .Ev PORTSDIR の下の .Pa packages/ です。 このディレクトリが存在する場合、package ツリーが (部分的に) 構築されます。 このディレクトリは存在する必要はありません。存在しない場合、package は カレントディレクトリに置かれます。もしくは、以下のいずれか一方を定義 することができます。 .Bl -tag -width PKGREPOSITORY .It Ev PKGREPOSITORY package を置くディレクトリ。 .It Ev PKGFILE その package のフルパス。 .El .It Ev PREFIX 一般に、成果物をどこにインストールするかを指定します .Po 通常は .Pa /usr/local か、 .Pa /usr/X11R6 です .Pc 。 .It Ev MASTER_SITES ローカルマシンに配布ファイルが存在しない場合、最初に取得しに行くサイトです。 .It Ev PATCH_SITES ローカルマシンにパッチファイルが存在しない場合、最初に取得しに行くサイトです。 .It Ev MASTER_SITE_FREEBSD これが設定されている場合、すべてのファイルを .Fx のマスタサイトに 取りに行きます。 .It Ev MASTER_SITE_OVERRIDE すべてのファイルとパッチについて、まずこのサイトに行って取得を試みます。 .It Ev NOCLEANDEPENDS これが定義されている場合、依存関係にある port に対して .Sq clean を再帰的に適用しません。 .It Ev FETCH_CMD ファイルを取得する際に使用するコマンドです。通常は .Xr fetch 1 です。 .It Ev FORCE_PKG_REGISTER これが設定されている場合、既にシステムに存在する package 登録情報を 上書きします。 .It Ev MOTIFLIB libXm.{a,so} の位置を指定します。 .It Ev INTERACTIVE これが設定されている場合、ユーザ入力が必要な port にのみ動作します。 .It Ev BATCH これが設定されている場合、100% 自動的にインストールできる port にのみ 動作します。 .El .Sh 関連ファイル .Bl -tag -width /usr/ports/xxxx -compact .It Pa /usr/ports デフォルトの port ディレクトリ .Po .Fx と .Ox .Pc 。 .It Pa /usr/pkgsrc デフォルトの port ディレクトリ .Po .Nx .Pc 。 .It Pa /usr/ports/Mk/bsd.port.mk .\"kuma: big Kahuna というのはモアイのような巨大石のものらしい。 .\"kuma: だれか教えて?! ご本尊様であらしゃいます。 +.El .Sh 関連項目 .Xr make 1 , .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr pkg_version 1 .Pp 次に示すものは ports コレクションの一部です: .Pp .Xr pib 1 , .Xr portcheckout 1 , .Xr portlint 1 .Pp .Fx ハンドブック .Pp http://www.FreeBSD.org/ports .Pq port すべてが検索可能なインデックス .Sh 作者 .An -nosplit このマニュアルページは、もともとは .An David O'Brien によるものです。 ports コレクションは .An Satoshi Asami と恐るべき port チームによって維持管理されています。 .Sh 歴史 .Nm ports コレクション は、 .Fx 1.0 で登場しました。 その後、 .Nx と .Ox にも広まりました。 .Sh バグ port に関する文書が 4 か所に分散されてしまっています。 .Pa /usr/ports/Mk/bsd.port.mk , ハンドブックの .Dq port コレクション のセクションと、 .Dq 既存のソフトウェアを port にする のセクション、 .Xr ports 7 の 4 つです。 .Pp このマニュアルページは長過ぎです。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai, 98-12-26 diff --git a/ja_JP.eucJP/man/man7/re_format.7 b/ja_JP.eucJP/man/man7/re_format.7 index c0586d85a8..5fc4d79c63 100644 --- a/ja_JP.eucJP/man/man7/re_format.7 +++ b/ja_JP.eucJP/man/man7/re_format.7 @@ -1,492 +1,492 @@ .\" Copyright (c) 1992, 1993, 1994 Henry Spencer. .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Henry Spencer. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)re_format.7 8.3 (Berkeley) 3/20/94 -.\" %FreeBSD: src/lib/libc/regex/re_format.7,v 1.4.2.1 2000/12/07 15:38:46 ru Exp % +.\" %FreeBSD: src/lib/libc/regex/re_format.7,v 1.4.2.2 2000/12/29 14:44:49 ru Exp % .\" jpman %Id: re_format.7,v 1.4 1999/01/21 17:51:03 kuma Stab % .\" .\" WORD: branch 枝 .\" WORD: bracket expression 角括弧式 .\" WORD: substring サブストリング .\" WORD: subexpression サブ式 .\" WORD: collating element 連続要素 .\" WORD: case ケース (大文字/小文字) .\" WORD: bound 領域 .\" .Dd March 20, 1994 .Dt RE_FORMAT 7 .Os .Sh 名称 .Nm re_format .Nd POSIX 1003.2 正規表現 .Sh 解説 .St -p1003.2 において定義されているように、 正規表現 .Pq Dq RE には 2 つの形式があります。 ひとつは現代正規表現 (大雑把にいうと .Xr egrep 1 で使用されているもので、1003.2 での .Dq 拡張 正規表現) で、もうひとつは旧式正規表現 (これも大雑把には .Xr ed 1 で使用されているもので、1003.2 での .Dq 基本 正規表現) です。 旧式正規表現は大抵の場合いくつかの古くからあるプログラムでの 旧バージョンとの互換性のために存在しています。 これについては最後に説明します。 .St -p1003.2 は正規表現の構文と意味のいくつかの部分を明確に定めないままに しています。 他の .St -p1003.2 の実装とは完全な互換性がないかもしれない これらの部分については、`\(dd' によって印をつけて示します。 .Pp 正規表現 (現代正規表現) はひとつ\(ddもしくはそれ以上の空でない\(dd .Em 枝 (branch) を .Ql \&| によって区切ったものです。 いずれかの枝にマッチすると正規表現はマッチします。 .Pp 枝はひとつ\(dd以上の .Em ピース (piece) が結合されたものです。 枝は最初のピース、次のピース...とすべてがマッチしたものにマッチします。 .Pp ピースは .Em アトム (atom) 、もしくはそれに単一の \(dd .Ql \&* , .Ql \&+ , -.Ql \&? +.Ql ?\& か .Em 領域 (bound) のいずれかが続いたものです。 アトムに .Ql \&* が続いたものは、 そのアトムの 0 個以上のシーケンスにマッチします。 アトムに .Ql \&+ が続いたものは、 そのアトム 1 個以上のシーケンスにマッチします。 アトムに -.Ql \&? +.Ql ?\& が続いたものは、 そのアトムの 0 個か 1 個のシーケンスにマッチします。 .Pp .Em 領域 は .Ql \&{ で始まり、符号なしの 10 進数の整数が続き、 その次に .Ql \&, が続くことがあり、 またその次にもうひとつ符号なしの 10 進数の整数が続くことがあり、 最後には常に .Ql \&} が続きます。 ここでの整数は 0 から .Dv RE_DUP_MAX (255\(dd) の範囲 (これらの数値を含む) でなくてはならず、 数値が 2 つある場合は、 最初のものは 2 番目のもの以下でなければなりません。 ひとつの整数値 .Em i が含まれコンマが含まれない領域がアトムに続くと、 アトムがちょうど .Em i 個のシーケンスにマッチします。 ひとつの整数値 .Em i とコンマが含まれる領域がアトムに続くと、 .Em i 個以上のアトムのシーケンスにマッチします。 2 つの整数値 .Em i と .Em j が含まれる領域がアトムに続くと、 .Em i 個以上 .Em j 個以下のアトムからなるシーケンスにマッチします。 .Pp アトムは次のいずれかです: .Ql () に囲まれた正規表現 (その正規表現にマッチ) 、 .Ql () の空のセット (ヌルストリングにマッチ)\(dd、 .Em 角括弧式 (下記参照)、 -.Ql \&. +.Ql .\& (任意の 1 文字にマッチ)、 .Ql \&^ (行の先頭のヌルストリングにマッチ)、 .Ql \&$ (行の末尾のヌルストリングにマッチ)、 .Ql \e とそれに続く .Ql ^.[$()|*+?{\e の内のどれか 1 文字 (それらの通常の扱いでの文字にマッチ)、 .Ql \e とそれに続くその他の文字\(dd (それらの通常の扱いでの文字にマッチ、 .Ql \e がない場合と同様\(dd)、 もしくはその他に何も指定されていない文字 (その文字にマッチ)。 .Ql \&{ に数字以外の文字が続くものは通常の文字であり、 領域の開始とはなりません\(dd。 .Ql \e で終了する正規表現は規則違反となります。 .Pp .Em 角括弧式 (bracket expression) とは .Ql [] で囲まれた文字のリストです。 通常はリスト中のどれか 1 文字にマッチします (下記を除く)。 リストの最初が .Ql \&^ で始まる場合、 リストの残りの文字 .Em でない 1 文字にマッチします (下記を除く)。 リスト中の 2 文字が .Ql \&- で分割されている場合は、 これら 2 文字の .Em 範囲 (その 2 文字を含む) にある文字の省略形となり、 例えば ASCII では .Ql [0-9] は 10 進数数字にマッチします。 .Ql a-c-e のように 2 つの文字範囲がひとつの文字を共有することはできません\(dd。 文字範囲は文字コードの配列に非常に依存しており、 移植性の良いプログラムを書くにはこれに頼ることを避けるのが賢明でしょう。 .Pp リスト中に文字 .Ql \&] を含めるには、これを最初の文字にする (もしくは .Ql \&^ に続ける) ようにします。 文字 .Ql \&- を含めるには、これを最初もしくは最後の文字にするか、 文字範囲の終了文字とします。 文字 .Ql \&- を文字範囲の開始文字とするには、 これを連続要素とするために -.Ql [. +.Ql [.\& と -.Ql .] +.Ql .]\& で括ります (下記参照)。 これらと .Ql \&[ を使用したいくつかの組合せの例外を除いて、 .Ql \e を含むすべての他の特殊文字は角括弧式の中では それらの特殊な作用は無効となります。 .Pp 角括弧式の中では、連続要素 (文字、1 文字のように扱われる複数文字からなるシーケンス、 またはそれら連続シーケンスの名称) は、 -.Ql [. +.Ql [.\& と -.Ql .] +.Ql .]\& で括られ、 その連続要素の文字のシーケンスの意味となります。 このシーケンスは角括弧式のリストのひとつの要素となります。 複数文字からなる連続要素を含む角括弧式はこのように 1 文字以上のものに マッチすることができます。 例えば、連続シーケンスが連続要素として .Ql ch を含む場合、 正規表現 .Ql [[.ch.]]*c は .Ql chchcc の最初の 5 文字にマッチします。 .Pp 角括弧式の中では、 .Ql [= と .Ql =] で囲まれた連続要素は ひとつの等価クラスであり、 それ自身を含むすべての連続要素の文字のシーケンスを示しています。 (もしその他に等価な連続要素がない場合は、 それはそれを囲うものが -.Ql [. +.Ql [.\& と -.Ql .] +.Ql .]\& であるもののように扱われます。) 例えば、 .Ql x と .Ql y が等価クラスのメンバである時、 .Ql [[=x=]] と .Ql [[=y=]] と .Ql [xy] はすべて同じ意味を持ちます。 等価クラスは文字範囲の終了点とすることはできません\(dd。 .Pp 角括弧式の中では、 .Ql [: と .Ql :] で囲まれた .Em 文字クラス の名称は そのクラスに属するすべての文字のリストを表わします。 標準の文字クラスの名称には次のものがあります。 .Pp .Bl -column "alnum" "digit" "xdigit" -offset indent -.It Em alnum digit punct -.It Em alpha graph space -.It Em blank lower upper -.It Em cntrl print xdigit +.It Em "alnum digit punct" +.It Em "alpha graph space" +.It Em "blank lower upper" +.It Em "cntrl print xdigit" .El .Pp これらは .Xr ctype 3 において定義されている文字クラスを表わしています。 ロケールによってはこれら以外のものがあることがあります。 文字クラスは文字範囲の終了点として使うことは出来ません。 .Pp 角括弧式には 2 つの特殊なケース\(ddがあります。 角括弧式 .Ql [[:<:]] と .Ql [[:>:]] はそれぞれ単語の開始および終了点に おけるヌルストリングにマッチします。 単語は単語文字が前にも後にも付加されない 単語文字のシーケンスとして定義されます。 単語文字は .Em alnum (アルファベットと数字) 文字 ( .Xr ctype 3 で定義されているように) か下線文字です。 これは拡張して定義されているもので、 .St -p1003.2 に互換性はありますが、指定はされていません。 この拡張はソフトウェアにおいては、 他のシステムへの移植性をよく考えて使うべきです。 .Pp 与えられた文字列の複数のサブストリング (文字列の一部) に、ある正規表現がマッチ可能な場合、 その正規表現は文字列の中で最初に現れたものにマッチします。 もし正規表現が同じ位置に現れた複数のサブストリングにマッチする場合は、 最も長いものにマッチします。 サブ式 (subexpression - 式の一部) も最も長いサブストリングにマッチしますが、 マッチ全体が最も長くなるように、 また正規表現中で先に開始しているサブ式が遅く開始しているものより 高い優先度をもつような条件があります。 高いレベルのサブ式はこのため低いレベルの部品的なサブ式より 高い優先度を持ちます。 .Pp マッチの長さは連続要素ではなく、文字数で計られます。 ヌルストリングは全くマッチしないものよりは長いものであると考えられます。 例えば、 .Ql bb* は .Ql abbbc の 3 つの真中の文字にマッチし、 .Ql (wee|week)(knights|nights) は .Ql weeknights の 10 個すべての文字にマッチし、 -.Ql (.*).* +.Ql (.*).*\& が .Ql abc にマッチする時には、括弧で囲まれたサブ式は 3 つすべての文字にマッチします。 そして .Ql (a*)* が .Ql bc にマッチする時には、 正規表現全体と括弧で囲まれたサブ式の両方がヌルストリングにマッチします。 .Pp ケース (大文字/小文字) 非依存マッチが指定された場合、 アルファベットからケースの区別がすべて消え去ったような効果があります。 ケースが複数あるアルファベットが角括弧式の外に通常の文字として現れた時、 それは事実上すべてのケースを含む角括弧式 (たとえば .Ql x は .Ql [xX] に) に変換されます。 角括弧式の中に現れたときは、 その文字の異なるケースがその角括弧式に追加されます。 すなわち .Ql [x] は .Ql [xX] となり、また .Ql [^x] は .Ql [^xX] となります。 .Pp 正規表現の長さは特に制限は設けられていません\(dd。 プログラムに移植性を持たせたい場合は 正規表現は 256 バイトにとどめるべきでしょう。 256 バイトを越える正規表現の受理を拒否するにもかかわらず、 POSIX 準拠であるとする実装がありうるからです。 .Pp 旧式 .Pq Dq 基本 正規表現はいくつかの点で異なっています。 .Ql \&| は通常の文字であり、 これらの機能の等価なものは存在しません。 .Ql \&+ や -.Ql \&? +.Ql ?\& は通常の文字であり、それらの機能は 領域を用いて表されます (それぞれ .Ql {1,} または .Ql {0,1})。 また、現代正規表現の .Ql x+ は .Ql xx* と等価であることに注意して下さい。 領域の区切り文字は .Ql \e{ と .Ql \e} であり、 .Ql \&{ と .Ql \&} は通常の文字として扱われます。 ネストしたサブ式での括弧は .Ql \e( と .Ql \e) であり、 .Ql \&( と .Ql \&) は通常の文字となります。 .Ql \&^ は正規表現の先頭、もしくは\(dd 括弧で囲まれたサブ式の先頭を除いて通常の文字となり、 .Ql \&$ は正規表現の末尾、もしくは\(dd 括弧で囲まれたサブ式の末尾を除いて通常の文字となり、 .Ql \&* はもしこれが正規表現の先頭、もしくは括弧で囲まれたサブ式の先頭 (か、先頭の .Ql \&^ のあと) に現れると通常の文字となります。 最後にひとつ新しい型のアトム - .Em 後方参照 があります。 .Ql \e に 0 でない 10 進数 .Em d が続いたものは、 .Em d 番目の括弧で囲まれたサブ式によってマッチする文字の同じ シーケンスにマッチします (開き括弧の位置によって左から右へサブ式に番号を付けます)。 すなわち .Ql \e([bc]\e)\e1 は .Ql bb や .Ql cc にマッチしますが、 .Ql bc にはマッチしません。 .Sh 関連項目 .Xr regex 3 .Rs .%T Regular Expression Notation .%R IEEE Std .%N 1003.2 .%P section 2.8 .Re .Sh バグ 正規表現が 2 種類もあるのはへまなことです。 .Pp 現在の .St -p1003.2 仕様では .Ql \&) はマッチする .Ql \&( がない場合に 普通の文字として扱われることになっています。 これは言葉使い上の誤りの意図しない結果であり、 変更される可能性があります。 よって、この仕様に依存すべきではありません。 .Pp 後方参照はひどいへまであり、 効率的な実装をおこなう上で大きな問題を引き起こします。 さらに、それらの定義はどこかあいまいです。( .Ql a\e(\e(b\e)*\e2\e)*d は .Ql abbbd にマッチするでしょうか ?) これらを使うのは避けてください。 .Pp .St -p1003.2 のケース非依存マッチの仕様はあいまいです。 上記での .Dq ひとつのケースはすべてのケースを表わす という定義は 実装を行ったものの間では正しい解釈として現在同意されているものです。 .Pp 語の境界の構文は信じられないほど醜いものです。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1-21 diff --git a/ja_JP.eucJP/man/man7/security.7 b/ja_JP.eucJP/man/man7/security.7 index e3bb34a7f1..c76fab31da 100644 --- a/ja_JP.eucJP/man/man7/security.7 +++ b/ja_JP.eucJP/man/man7/security.7 @@ -1,786 +1,784 @@ .\" Copyright (c) 1998, Matthew Dillon. Terms and conditions are those of .\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in .\" the source tree. .\" -.\" %FreeBSD: src/share/man/man7/security.7,v 1.13.2.1 2000/05/09 14:12:52 sheldonh Exp % +.\" %FreeBSD: src/share/man/man7/security.7,v 1.13.2.2 2000/12/29 10:18:05 ru Exp % .\" .\" jpman %Id: security.7,v 1.3 1999/02/11 11:18:48 vanitas Stab % .Dd September 18, 1999 .Dt SECURITY 7 .Os FreeBSD .Sh 名称 .Nm security .Nd FreeBSD におけるセキュリティ入門 .Sh 解説 .Pp セキュリティは、システム管理者とともに始まり、システム管理者と ともに終る機能です。 .Bx マルチユーザシステムは、昔ながらのセキュリティをいくらかは備えて いますが、さらなるセキュリティ機構を組み込んで維持していくことで、ユーザを .Sq 正直に し続ける仕事は、システム管理者の最も大きな責務の一つでしょう。マシンは、 管理者が設定しただけのセキュリティしか示しません。セキュリティに関する 問題は、むしろ、便利さを求める人間との競合問題です。一般に、 .Ux システムは莫大な数のプロセスを同時に実行させることができ、 それも、サーバとして動作するものが多いのです。つまり、外部の何者かが 接続してきて、サーバプロセスと会話することができるということなのです。 昨日まで使われていたミニコンピュータやメインフレームは、今日では デスクトップコンピュータが取って代わり、しかも、それらはネットワークで結ばれて インターネットと接続されるようになりました。これにより、セキュリティは 昔と比べてはるかに大きな問題となっています。 .Pp セキュリティは、タマネギの階層のようなアプローチを通すと最もよく実装できます。 手短に言って、やりたいことは、便利さを損ねない程度にできるだけ多くの 階層を作り、システムに侵入されていないかを注意深く監視することです。 セキュリティの階層を作りすぎたくはありません。作りすぎると、侵入の 検出が妨げられることになるでしょう。どんなセキュリティ機構でも、 侵入の検出をすることが唯一とても重要なことなのですから。 例えば、システムの各バイナリに .Pa schg フラグ .Po .Xr chflags 1 参照 .Pc を設定するのは大して意味がありません。フラグを設定すると、一時的には バイナリを保護することができますが、侵入してきたクラッカーが、 マシンのセキュリティ機構がクラッカーの侵入を全く検知できなくなるような 変更ではあるが、管理者が容易に検出できるような変更をできなくしてしまう からです。 .Pp システムセキュリティには、さまざまな形での攻撃に対処することも ついて回ります。攻撃には、root を破ろうとはしないが、システムを クラッシュさせたり、さもなければ、システムを使用不能にしたり しようとするものも含まれています。 セキュリティに関する問題は、いくつかのカテゴリに分類することができます。 .Bl -enum -offset indent .It サービス不能攻撃 .It ユーザアカウントにかかる危険 .It アクセス可能なサーバを経由した root 権限にかかる危険 .It ユーザアカウントを通した root 権限にかかる危険 .It 裏口の作成 .El .Pp サービス不能攻撃とは、マシンから必要な資源を奪う行為です。 サービス不能攻撃は、普通は、そのマシンで実行されるサーバや ネットワークスタックを圧倒して、マシンをクラッシュさせたり、 さもなければマシンを使えなくしたりするような力任せの方法です。 サービス不能攻撃のいくつかは、 ネットワークスタックのバグを利用して、パケット一つでマシンを クラッシュさせようとします。後者は、 カーネルにバグ修正を施すことによってのみ修正することができます。 サーバプロセスに対する攻撃は、オプションを適切に指定して、 不利な状況にあるシステムにおいて、サーバプロセスが引き起こす負荷に限界を設けることで 修正することができます。これらに比べると、ネットワークへの力任せの攻撃への 対応はずっと難しくなります。たとえば、偽造パケットによる攻撃 .Pq spoof-packet attack は、インターネットからシステムを切り離す以外の方法で防ぐことは ほとんど不可能です。 それによって、マシンを落としてしまうことはできないかもしれませんが、 インターネット回線をいっぱいにしてしまうことはできます。 .Pp ユーザアカウントを危険に晒してしまう問題は、サービス不能攻撃よりもずっとよくある 問題です。このご時勢でも、自分たちのマシンで標準の telnetd, rlogind, rshd, ftpd サーバを実行させているシステム管理者は多いのです。これらの サーバは、デフォルトでは、暗号化されたコネクション上で動作していません。 その結果、抱えているユーザ数が標準くらいであれば、リモートログイン .Po そのシステムにログインするには最も普通で便利な方法です .Pc しているユーザのうち一人以上は、パスワードを覗き見られて しまうでしょう。 システム管理者が注意深い人ならば、たとえログインが成功していたとしても、 リモートアクセスログを解析して、疑わしいソースアドレスを探すものです。 .Pp ひとたび攻撃者がユーザアカウントへのアクセス権を入手すると、攻撃者が root の権限を破る可能性があることを仮定するべきです。しかし、 セキュリティを十分維持し、手入れの行き届いたシステムにおいては、 あるユーザアカウントへのアクセスが可能となっても、攻撃者に必ずしも root へのアクセス権を与えるとは限らないのが現実です。この違いは重要です。 というのは、root へのアクセス権がなければ、一般的に、攻撃者は自分の 侵入の痕跡を隠蔽することができませんし、そのユーザのファイルを引っかき回したり、 マシンをクラッシュさせたりできるのがせいぜいです。 ユーザアカウントが危険に晒されるということは、たいへんよく起こることです。 なぜなら、ユーザは、システム管理者ほどには前もって注意を払わない 傾向があるからです。 .Pp システム管理者は、あるマシン上で root の権限を破る方法は、潜在的に 何通りもあるのだということを 心しておかねばなりません。攻撃者が root のパスワードを知ってしまうかも しれません。攻撃者が root の権限で実行されるサーバのバグを見つけ、 ネットワークからそのサーバへ接続して root の権限を破ることができるかも しれません。ひとたびユーザアカウントを破ると、ユーザアカウントから root の権限を破ることが可能であるというバグを持つ suid-root プログラムの 存在を、攻撃者は知っているかもしれません。 あるマシン上で、攻撃者が root の権限を破る方法を知ったとすると、 攻撃者は、裏口を作る必要などないかもしれません。 発見され、ふさがれた root の穴の多くには、クラッカーが侵入した跡を消そうとして たくさん仕事した結果が含まれています。 そのためにこそ、多くのクラッカーは裏口を作るのです。この裏口は、クラッカーの 検出をするのに便利なやり方です。クラッカーに裏口を作らせないようにする ということは、セキュリティにとっては実際には良くないことかもしれません。 なぜなら、そうすることで、クラッカーが最初に侵入してくるために発見した セキュリティホールがふさがるわけではないからです。 .Pp セキュリティを改善する方法は、常に、 .Sq タマネギの皮剥き のように 複数の層のアプローチで実装されるべきです。これらは次のように分類できます。 .Bl -enum -offset indent .It root とスタッフのアカウントの安全性を高める。 .It root の安全性を高める - root 権限のサーバと suid/sgid バイナリ。 .It ユーザアカウントの安全性を高める。 .It パスワードファイルの安全性を高める。 .It カーネルのコア、raw デバイス、ファイルシステムの安全性を高める。 .It システムに対して行なった、不適切な変更をすばやく検出する。 .It 偏執狂的方法。 .El .Sh root アカウントとスタッフアカウントの安全性を高める .Pp root のアカウントの安全性を確保しないうちからスタッフのアカウントの安全性を うんぬんしてもしかたがありません。ほとんどのシステムでは、root アカウントに 割り当てたパスワードが 1 つあります。まず最初にすべきことは、 このパスワードは .Sq いつでも 危険に晒されていると仮定することです。 ここでは、root のパスワードを消すべきだと言っているのではありません。 パスワードは、マシンにコンソールからアクセスするのには、ほとんどいつでも 必要なものです。ここで言いたいのは、コンソール以外からは、おそらくは、 .Xr su 1 コマンドを用いてすらパスワードを使えるようにするべきではないということです。 例えば、pty が、 .Sq Pa /etc/ttys ファイルで安全でないものと指定されているのかを確認してください。 そうすることで、telnet や rlogin 越しに root でログインできないようになります。 sshd のような、別のログインサービスを使っている場合でも同様に、 直接 root へログインすることを許していないかどうか確認してください。 アクセスする手段、例えば ftp のようなサービスが、たびたびクラックの手に落ちる ことを考えてみてください。root に直接ログインできるのは、システムコンソール を通したときのみにすべきです。 .Pp システム管理者として、自分は root になれるようにしておかねばならないの はもちろんですから、穴をいくつか空けておきます。しかし、それらの穴を 動作させるには、さらに追加のパスワード認証が必要であるようにして おきます。root でアクセス可能とする方法の一つとして、 適切なスタッフアカウントを .Pq Pa /etc/group の wheel グループに加えることがあります。 wheel グループに置かれたスタッフメンバには、 .Sq su を使って root になることが許されます。パスワードエントリにおいて、 最小限のメンバを wheel グループを置くことで、スタッフメンバに wheel のアクセス権を与えてはいけません。スタッフメンバのアカウントは .Sq staff に置くべきです。そして .Sq Pa /etc/group ファイルを通して wheel グループに加えるべきです。 実際に root アクセスの必要な staff メンバのみ wheel グループに置くように すべきです。kerberos のような認証方法を使用する場合、root アカウントで .Sq Pa .k5login ファイルを使って、誰も wheel グループに置く必要なく root に .Xr ksu 1 を許すようにすることもできます。 このやり方はよりよい解決策なのかもしれません。なぜなら、wheel のメカニズム では、侵入者がパスワードファイルを手に入れ、staff アカウントのいずれか 1 つを破ることができると、root を破ることがまだできてしまうからです。 wheel のメカニズムを用いる方が、何もしないよりは良いのですが、必ずしも 最も安全な選択肢とは限りません。 .Pp root アカウントの安全性を高める間接的な方法として、別のログインアクセス の方法を用いて、スタッフのアカウントの暗号化パスワードを\ * にして おくことで、スタッフのアカウントの安全性を高めるものがあります。この方法 だと、侵入者がパスワードファイルを盗むことができるかもしれませんが、 スタッフアカウントを破ることはできないでしょう。また、たとえ root が暗号化 パスワードをパスワードファイルに付けていたとしても、間接的には root アカウントも破ることができないでしょう。 スタッフメンバがスタッフアカウントでログインする際には、 .Xr kerberos 1 や .Xr ssh 1 のような、公開鍵 / 秘密鍵の鍵の組を使う 安全性の高いログインの仕組みを使います。kerberos のような仕掛けを使う場合、 一般に、kerberos サーバを実行するマシンと自分のデスクトップ ワークステーションとの安全性を確保しなければなりません。ssh で 公開鍵 / 秘密鍵の組を使う場合、一般に、ログイン元マシン .Pq 通常は自分のワークステーション の安全性を確保しなければなりません。ここで、 .Xr ssh-keygen 1 で公開鍵 / 秘密鍵の組を生成する際、鍵の組をパスワードで防御することにより、 鍵の組への防御層を追加することもできます。スタッフアカウントの パスワードを\ * で外すことができると、管理者自身が設定 した安全性の高い方法でしかスタッフメンバがログインできないことも保証 できます。こうして、多くの侵入者が使う重大なセキュリティの穴 .Pq 安全性の低い無関係なマシンからネットワークを覗き見る方法 を塞ぐようなセッションを提供する、安全性の高い暗号化されたコ ネクションを使うことを、スタッフメンバ全員に強制することができ るのです。 .Pp より間接的なセキュリティの仕組みでは、制限の強いサーバから制限の弱い サーバへログインすることを前提としています。例えば、メインマシンで、 様々な種類のサーバを実行させている場合、ワークステーションではそれらの サーバを実行させてはなりません。ワークステーションを十分に 安全にしておくためには、実行するサーバの数を、一つもサーバ が実行されていないというくらいにまでできる限り減らすべきです。 また、パスワードで保護されたスクリーンセーバを走らせておくべきです。 ワークステーションへの物理的アクセスが与えられたとすると、もちろん 言うまでもなく、攻撃者は管理者が設定したいかなる種類のセキュリティ をもうち破ることができるのです。これは、管理者として必ず考えておか ねばならない問題ですが、システム破りの大多数は、ネットワーク経由で リモートから、ワークステーションやサーバへの物理的アクセス手段を持 たない人々によって行われるという事実もまた、念頭に置いておく必要 があります。 .Pp kerberos のような方法を使うことで、スタッフアカウントのパスワードの変更 もしくは停止を一箇所で行なうことと、スタッフメンバがアカウントを持つ すべてのマシンに即時にその効果を及ぼすことが可能となります。スタッフメンバの アカウントが危険に晒されたときに、すべてのマシンでスタッフメンバのパスワードを 即座に変更する能力を過小評価してはいけません。パスワードが分散されている状況では、 N 台のマシンでパスワードを変更すると、てんやわんやの事態を招く可能性が あります。kerberos を使用すると、パスワードの再発行に制限 .Pq re-passwording restriction を課することもできます。この機能を使うことにより、 ある kerberos チケットをしばらく経つとタイムアウトにすることが できるだけでなく、一定期間 .Pq 例えば、1 ヶ月に 1 回 経つと、ユーザに新しいパスワードを選ぶように要求することもできます。 .Sh root の安全性を高める - root 権限のサーバと suid/sgid バイナリ .Pp 用心深いシステム管理者は、自分に必要なサーバプロセスだけを過不足なく 実行させるものです。第三者製のサーバは、よくバグを持っていがちだと いうことに注意して下さい。例えば、古いバージョンの imapd や popper を実行させておくのは、全世界に共通の root の切符を与えてい るようなものです。 自分で注意深くチェックしていないサーバは、決して実行してはいけません。 root で実行させる必要のあるサーバはほとんどありません。例えば、ntalk, comsat, finger デーモンを、特別の「砂場 .Pq sandbox 」ユーザで実行させることができます。 .\"kuma hellofalot of trouble って何や? .\" hell of a lot of trouble みたいですね。;-) (金ん田 '99.02.11) 管理者が膨大な数の問題に直面していないのなら、この「砂場」は完璧では ありませんが、セキュリティに関するタマネギ的アプローチはここでも 成り立ちます。砂場で実行されているサーバプロセスを経由して侵入を 果たすことができたとしても、攻撃者はさらに砂場から外に脱出しなければ なりません。攻撃者が通過せねばならない層の数が増えれば増えるほど、 それだけ攻撃者が侵入に成功する確率が減ります。root の抜け穴は 歴史的に、基本システムサーバも含め、 root 権限で実行されるほとんどすべてのサーバプロセスで発見されています。 ユーザが sshd 経由でのみログインし、 telnetd, rshd, rlogind 経由でログインすること が決してないマシンを稼働させているのであれば、それらのサービスを停止させて下さい。 .Pp .Fx では、今では ntalkd, comsat, finger は砂場で実行させることが デフォルトになっています。次に砂場で実行させるべきプログラムの候補として、 .Xr named 8 があります。デフォルトの rc.conf ファイルには、named を砂場で実行する ために必要な引数がコメントアウトされた形式で含まれています。新しい システムをインストールしているか、それとも既存のシステムを アップグレードして使っているかに依存しますが、砂場として使用する 特別のユーザアカウントがインストールされていないかもしれません。 用心深いシステム管理者であれば、できるだけいつでも研究を怠らず、 サーバに砂場を仕込むものでしょう。 .Pp 通常、砂場で実行しないサーバが他にいくつかあります。sendmail, popper, imapd, ftpd などです。これらのうちいくつかのサーバには代わりとなるも のがありますが、 代わりのものをインストールするには、それだけ多くの仕事が必要になるので、 結局これらを喜んで入れてしまいます .Pq 便利さという要素がまたも勝利を収めるわけです 。 これらのサーバは、root 権限で実行せねばならいかもしれません。また、 これらのサーバ経由で生じる侵入 を検出するためには、他の仕組みに頼らなくてはならないかもしれません。 .Pp システムの root 権限の潜在的な穴で他に大きなものとして、システムに インストールされた suid-root/sgid バイナリがあります。 これらのバイナリは、rloginのように、 .Pa /bin , .Pa /sbin , .Pa /usr/bin , .Pa /usr/sbin に存在するものがほとんどです。 100% 安全なものは存在しないとはいえ、システムデフォルトの siud/sgid バイナリは比較的安全といえます。それでもなお、root の穴が これらのバイナリにときおり発見されています。1998 年に Xlib で見つかった root の穴は、xterm .Pq 普通、suid 設定されています を攻撃可能にしていました。 安全である方がよいので、用心深いシステム管理者は残念に思いながらも、 スタッフのみが実行する必要がある suid バイナリは、スタッフのみが アクセス可能な特別なグループに含めるように制限を加え、 誰も使わない suid バイナリは .Pq chmod 000 を実行して 片付けてしまうでしょう。 ディスプレイを持たないサーバは、一般的に xterm のバイナリを必要としません。 sgid バイナリもほとんど同様の危険な存在になり得ます。 侵入者が kmem に sgid されたバイナリを破ることができた場合、 その侵入者は .Pa /dev/kmem を読み出すことができるようになります。 つまり、暗号化されたパスワードファイルを読み出すことができる ようになるので、パスワードを持つどのアカウントをも、 .Pq 潜在的な 危険に晒すことになります。 代わりに、kmem グループを破った侵入者が pty を通して送られたキーストロークを 監視できます。キーストロークには、安全な方法でログインするユーザが使っている pty も含まれます。tty グループを破った侵入者は、ほぼ任意のユーザの tty へ 書き込みができます。ユーザが端末プログラムやキーボードをシミュレーション する機能を持ったエミュレータを使っている場合、侵入者は潜在的に、 結局そのユーザとして実行されるコマンドをユーザの端末にエコーさせる データストリームを生成できる可能性があります。 .Sh ユーザアカウントの安全性を高める .Pp ユーザアカウントは、普通、安全性を高めることが最も困難です。 スタッフに対して、アテナイのドラコのような厳格なアクセス制限を課し、 スタッフのパスワードを\ * で外すことができるとはいえ、管理者が持ちうる 一般ユーザすべてのアカウントに対して同じことはできないかもしれません。 管理者が十分に統率をとることができるなら、管理者は勝利し、ユーザの アカウントの安全を適切に確保できるかもしれません。それが できないならば、よりいっそう気を配って一般ユーザのアカウントを 監視するよりほかありません。一般ユーザアカウントに対し ssh や kerberos を利用することには、システム管理がさらに増えたり テクニカルサポートが必要になるなどの問題があります。 それでも、暗号化パスワードファイルと比較するとはるかに良い解です。 .Sh パスワードファイルの安全性を高める .Pp できるだけ多くのパスワードを\ * で外し、それらのアカウントのアクセスには ssh や kerberos を使うようにすることが、唯一の確実な方法です。たとえ暗号化 パスワードファイル .Pq Pa /etc/spwd.db が root でのみ読み出し可能だとしても、 侵入者がそのファイルの読み出しアクセス権限を得ることは可能かもしれません。 たとえ root の書き込み権限が得られないにしてもです。 .Pp セキュリティスクリプトは常にパスワードファイルの変更をチェックし、報告 するようにすべきです .Po 後述の「ファイルの完全性のチェック」を参照して下さい .Pc 。 .Sh カーネルのコア、raw デバイス、ファイルシステムの安全性を高める .Pp root の権限を破ると、攻撃者は何でもできますが、 もっと簡便なこともいくつかあります。例えば、最近のカーネルは、 組み込みのパケット覗き見デバイス .Pq packet sniffing device ドライバを備えているものがほとんどです。 .Fx では .Sq bpf デバイスと呼ばれています。侵入者は普通、危険に晒された マシンでパケット覗き見プログラムを実行させようと試みます。侵入者に わざわざそういう機能を提供する必要はないので、ほとんどのシステムで bpf デバイスを組み込むべきではありません。 .Pp bpf デバイスを外し、モジュールローダを無効にしても、 .Pa /dev/mem と .Pa /dev/kmem という悩みの種がまだ残っています。この問題に関しては、侵入者は raw デバイスに書き込むこともできます。 また、 .Xr kldload 8 という、別のカーネル機能があります。 やる気まんまんの侵入者は、KLD モジュールを使って 自分独自の bpf もしくはその他覗き見デバイスを動作中のカーネルに インストールすることができます。 この問題を避けるため、システム管理者は カーネルをより高い安全レベル .Pq securelevel 、少なくとも安全レベル 1 で実行させる必要があります。 sysctl を使って kern.securelevel 変数に安全レベルを設定することが できます。ひとたび安全レベルに 1 を設定すると、 raw デバイスに対する書き込みアクセスは拒否され、例えば .Sq schg のような 特別な chflags フラグが効果を発揮します。これに加えて、 起動時において重要なバイナリ・ディレクトリ・スクリプトファイルなど、 安全レベルが設定されるまでの間に実行されるものすべてに対しても .Sq schg フラグを確実に on にしておく必要があります。この設定をやり過ぎても 構いませんが、より高い安全レベルで動作している場合、システムの アップグレードがはるかに困難になります。システムをより高い安全レベルで 実行させるようにするが、お天道さまの下にあるすべてのシステムファイルと ディレクトリに schg フラグを設定しないという妥協をする方法もあります。 もう一つの可能性としては、単純に / および /usr を読み込み専用でマウント することです。ここで特筆すべきことは、システムを守ろうとしてアテナイのドラコ のように厳しくしすぎると、侵入を検出するという非常に重要なことが できなくなってしまうということです。 .Sh ファイルの完全性のチェック: バイナリ、設定ファイルなど .Pp ことこの問題に至ると、システム管理者にできることは、 便利さという要素がその醜い頭を上げない程度に、 コアシステムの設定 / 制御ファイルを防御することだけです。 例えば、/ および /usr にある大部分のファイルに schg ビットを 設定するために chflags を使用するのは、おそらく逆効果でしょう。 なぜなら、そうすることでファイルは保護できますが、侵入を検出 する窓を閉ざしてしまうことにもなるからです。 セキュリティのタマネギの最後の層はおそらく最も重要なもの、すなわち検出です。 セキュリティの残りのものは、突然の侵入を検出できなければ、全然有用では ありません( あるいは、もっと悪ければ、間違った安全性に対する感覚を 植え付けてしまいます )。 タマネギの仕事の半分は、均衡状態にあるとき、攻撃中に検出側に攻撃者を 捕まえるきっかけを与えるため、攻撃者を食い止めるのではなく 侵入を遅らせることなのです。 .Pp 侵入を検出する最も良い方法は、変更されていたり、消えていたり、入れた覚えが ないのに入っているファイルを探すことです。 変更されたファイルを探すのに最も良い方法は、もう一つの ( しばしば中央に集められた ) アクセスが制限されたシステムから行なうものです。 さらに安全でアクセス制限されたシステム上でセキュリティ用スクリプトを書けば、 スクリプトは潜在的なクラッカー達からはほぼ見えなくなります。 これは重要なことです。 最大限に優位に立つために、一般的にビジネスで使う他のマシンへの重要な アクセスは、アクセスの制限されたマシンにやらせなくてはいけません。 普通は、他のマシンからアクセス制限されたマシンへ読み込み専用で NFS エクスポートしたり、アクセス制限されたマシンから他のマシンへ ssh を行なうために、ssh 鍵のペアを作ったりすることで行います。 ネットワークのトラフィックを別にして、NFS は最も可視性のない方法です。 事実上検出されない各クライアント上のファイルシステムを監視できるようになります。 アクセス制限されたサーバがスイッチを通してクライアントに接続する場合、 たいてい NFS がより良い選択肢です。アクセス制限されたサーバがハブを通したり、 いくつかのルーティング層を通したりしてクライアントに接続する場合、 NFS はあまりにも危険な方法かもしれず ( ネットワークの面で ) 、ssh の方が 認証の道筋は跡となって残りますが、それでもより良い方法かもしれません。 .Pp アクセス制限されたマシンに、少なくとも監視することを前提とした クライアントシステムへの読み込みアクセスをひとたび与えると、 実際に監視するためのスクリプトを書かなくてはいけません。 NFS マウントをすれば、 .Xr find 1 や .Xr md5 1 などの単純なシステムユーティリティでスクリプトを書くことができます。 少なくとも 1 日 1 回、クライアントのファイルを直接 md5 にかけ、 さらにもっと頻繁に .Pa /etc および .Pa /usr/local/etc にあるようなコントロール用ファイルを試験するのが一番です。 試験ファイルは、アクセス制限されたマシンが適性であると知っている、基となる md5 情報と比べて違いが見つかった場合、システム管理者に調べて欲しいと 訴えるようにするべきです。 優れたセキュリティ用スクリプトは、 .Pa / および .Pa /usr などのシステムパーティション上で不適当に suid されたバイナリや、 新たに作成されたファイルや削除されたファイルもチェックするのでしょう。 .Pp NFS ではなく、ssh を使用する場合は、セキュリティ用スクリプトを書くのはずっと 難しいことです。スクリプトをクライアントから見えるようにし、 動かすためには、クライアントに対して .Pa scp を必ず行わなくてはいけません。 そして、安全のため、スクリプトが使うバイナリ ( find など ) を scp する必要も あります。クライアントの ssh デーモンはすでに危険に晒されているかもしれません。 以上のことから、安全でないリンク上の場合は ssh は必要かもしれませんが、 ssh を扱うのはとても大変なことです。 .Pp 優れたセキュリティ用スクリプトは、ユーザやスタッフメンバの アクセス設定ファイルもチェックするものです。 .Pa .rhosts , .Pa .shosts , .Pa .ssh/authorized_keys などがそれですが、MD5 のチェックの範囲外になってしまうかもしれません。 .Pp ユーザ用のディスク容量が非常に大きい場合は、パーティション上の各ファイルを 見て回るのに大変な時間がかかるかもしれません。この場合は、マウントフラグを 設定して、このパーティションに suid されたバイナリやデバイスを置けないように するのが良い考えです。 .Sq nodev および .Sq nosuid オプション .Po .Xr mount 8 参照 .Pc が調べたいものでしょう。私なら、ともかくも週に 1 度はファイルシステムを スキャンするでしょう。なぜなら、この層での目的は、侵入が意味があるかどうかに 関わらず、侵入を検出することだからです。 .Pp プロセスアカウンティング .Po .Xr accton 8 参照 .Pc は、比較的オーバヘッドの低いオペレーティングシステムの機能で、 マシンに侵入されてしまった後の評価の仕組みとして使用することをお勧め します。 侵入を受けた後でも当該ファイルが無傷である場合に、 侵入者が実際にどのようにしてシステムに侵入したかを 追跡するのに特に有益です。 .Pp 最後に、セキュリティスクリプトはログファイルを処理するようにし、 ログファイル自体もできるだけ安全性の高い方法で .Sq リモート syslog は極めて有益になり得ます 生成するようにすべきです。侵入者は自分の侵入の痕跡を覆い隠そう としますし、また、ログファイルはシステム管理者が最初の侵入の時 刻と方法を追跡してゆくために極めて重要です。 ログファイルを永久に残しておくための 1 つの方法は、システムコンソールを シリアルポートにつないで走らせ、コンソールを監視している安全なマシンを通して 絶えず情報を集めることです。 .Sh 偏執狂的方法 .Pp 多少偏執狂的になっても決して悪いことにはなりません。原則的に、 システム管理者は、便利さに影響を与えない範囲でいくつでもセキュリティ 機能を追加することができます。また、いくらか考慮した結果、便利さに 影響を与えるセキュリティ機能を追加することもできます。 もっと重要なことには、セキュリティ管理者とは少し喧嘩になる はずなのですが、もしあなたが、このマニュアルページに書かれている 勧告をそのまま使用したりした場合は、 予想されるクラッカーはやはりこのマニュアルを読んでいるわけですから、 防御策を渡してしまうことになります。 .Sh サービス不能攻撃 (D.O.S. attack) についての特記事項 .Pp このセクションではサービス不能攻撃を扱います。サービス不能攻撃は、普通は、 パケット攻撃です。ネットワークを飽和させる最先端の偽造パケット .Pq spoofed packet 攻撃に対してシステム管理者が打てる手はそれほど多く ありませんが、一般的に、その種の攻撃によってサーバがダウン しないことを確実にすることで、被害をある限度に食い止める ことはできます。 .Bl -enum -offset indent .It サーバの fork の制限 .It 踏み台攻撃の制限 .Pq ICMP 応答攻撃、ping broadcast など .It カーネルの経路情報のキャッシュ .El .Pp 普通に見られるサービス不能攻撃に、fork するサーバプロセスに対する ものがあります。これは、サーバにプロセス・ファイル記述子・メモリを 食い尽くさせて、マシンを殺そうとするものです。 inetd .Po .Xr inetd 8 参照 .Pc には、この種の攻撃を制限するオプションがいくつかあります。マシンが ダウンすることを防止することは可能ですが、この種の攻撃によりサービスが 崩壊することを防止することは一般的に言ってできないことに注意する必要が あります。inetd のマニュアルページを注意深く読んで下さい。特に、 .Fl c , .Fl C , .Fl R オプションに注意して下さい。IP 偽造攻撃 .Pq spoofed-IP attack は inetd の .Fl C オプションの裏をかけるので、一般にオプションを 組み合わせて使用するべきであることに注意して下さい。スタンドアロンサーバ の中には、自分自身で fork を制限するパラメータを持っているものがあります。 .Pp sendmail には、 .Fl OMaxDaemonChildren オプションがあります。負荷には遅れがあるので、 sendmail の負荷に限界を設けるオプションを使うよりも、 このオプションを使う方がまともに動作する可能性ははるかに高いです。 sendmail の実行を開始する際に、 .Cm MaxDaemonChildren パラメータを設定するべきです。その値は、 通常見込まれる負荷を扱える程度に十分高いが、 それだけの数の sendmail を操作しようとすると マシンが卒倒してしまうほどには高くないような値に設定するべきです。 sendmail をキュー処理モード .Pq Fl ODeliveryMode=queued で実行することや、 sendmail デーモン .Pq Cm sendmail -bd をキュー処理用プロセス .Pq Cm sendmail -q15m と別に実行することも、用心深いことと言えます。それでもなおリアルタイムでの 配送を望むのであれば、 .Fl q1m のようにすることで、キュー処理をはるかに短い時間間隔で 行うことができます。いずれにしても、 .Cm MaxDaemonChildren オプションに 合理的な値を確実に指定して、sendmail がなだれをうって失敗することが ないようにして下さい。 .Pp syslogd は直接攻撃される可能性があるので、可能ならばいつでも .Fl s オプションを用いることを強く推奨します。これができないなら、 .Fl a オプションを使って下さい。 .Pp tcpwrapper の逆 identd などの接続返し .Pq connect-back を行うサービスに ついては十分注意を払うようにするべきです。これらは直接攻撃を受ける可能性が あります。こういう事情があるので、tcpwrapper の逆 ident 機能を使おうとは 思わないのが一般的です。 .Pp 境界ルータのところでファイアウォールを設けて、外部からのアクセスに対して 内部サービスを防御するという考えは実によいものです。この考えは、LAN の外部 からの飽和攻撃を防ぐことにあり、root ネットワークベースの root 権限への攻撃から内部サービスを防御することには、あまり考慮を払って いません。ファイアウォールは常に排他的に設定して下さい。つまり、 「ポート A, B, C, D と M から Z まで .Eo * 以外 .Ec * のすべてに防火壁を設ける」というふうにです。 このようにすることで、named .Pq ゾーンのプライマリである場合 , ntalkd, sendmail など、インターネットにアクセスを提供するサービス として特に指定するもの以外の、小さい番号のポートすべてをファイアウォールで 防御することができます。ファイアウォールをこの他のやり方、つまり 包含的もしくは受容的なファイアウォールとして設定しようとする場合、 .Sq close することを忘れてしまうサービスがいくつか出てきたり、新しい内部サービスを 追加したのにファイアウォールの更新を忘れたりする可能性がよく出てきます。 ファイアウォール上の大きい番号のポートを開けておいて、小さい番号のポートを 危険に晒すことなく受容的な動作を許すことができます。 .Fx では、net.inet.ip.portrange への sysctl .Pq sysctl -a \&| fgrep portrange をいろいろ使用することで、 動的バインドに使用されるポート番号の範囲を制御できることを記憶にとどめて おいて下さい。これによりファイアウォールの設定の複雑性を緩和できます。 私は、ファイアウォールに通常のfirst/last の範囲として、 4000 から 5000 を、 高位ポートの範囲として、49152 から 65535 を使用しています。そして、 .Po いくつかのインターネットアクセス可能なポートを ブロックから除外するのはもちろんですが .Pc 4000 より下のすべてをブロックしています。 .Pp また別のありふれたサービス不能攻撃として、踏み台攻撃 .Pq springboard attack と呼ばれるものがあります。これは、サーバが自分自身、ローカルネットワーク、 そして他のマシンを過負荷に追い込むような応答を生成させる方法でサーバを 攻撃します。この種の攻撃の中で最もありふれたものは、ICMP PING BROADCAST 攻撃があります。攻撃者は、実際に攻撃したいマシンのアドレスをソース アドレスに設定した ping パケットを偽造して、対象の LAN の ブロードキャストアドレスに向けてパケットを送信します。境界にあるルータが ブロードキャストアドレスに対する ping パケットを握り潰すように設定されていない 場合、LANは、詐称されたソースアドレスに向けて応答パケットを生成するはめになり、犠牲となるマシンが飽和するところまで行ってしまいます。攻撃者が同じトリックを 異なるネットワーク上のいくつものブロードキャスト アドレスに対して同時に使用した場合、とくにひどいことになります。 これまでに、120 メガビット以上のブロードキャスト攻撃が観測されています。 2 番目の踏み台攻撃は、ICMP エラー報告の仕掛けを狙うものです。ICMP エラー 応答を生成するパケットを生成することにより、攻撃者はサーバの 受信ネットワークを飽和させることができ、同時に、サーバが送信 ネットワークを ICMP 応答で飽和させるようにすることができます。 mbuf を消費し尽くさせることにより、この種の攻撃でサーバを クラッシュさせることも可能です。サーバの ICMP 応答生成が速過ぎて、 ICMP 応答の送信が追い付かない場合、とくにひどいことになります。 .Fx カーネルには、この種の攻撃の効果を抑制する ICMP_BANDLIM と 呼ばれる新しいコンパイルオプションがあります。 3つめの主要なクラスに属す踏み台攻撃は、udp echo サービスのような、 ある種の内部 inetd サービスに関連するものです。攻撃者は、単に ソースアドレスがサーバ A の echo ポートであり、ディスティネーション アドレスがサーバ B の echo ポートであるかのように UDP パケットを 偽造します。ここでサーバ A, B はともに自分の LAN に接続されています。 この 2 つのサーバは、この一つのパケットを両者の間で互いに相手に対して 打ち返しあいます。このようにしてパケットをいくつか注入するだけで、 攻撃者は両方のサーバと LAN を過負荷状態にすることができます。 同様の問題が内部 chargen ポートにも存在します。有能なシステム管理者は この手の inetd 内部テストサービスのすべてを無効にしておくものです。 .Pp 偽造パケット攻撃は、カーネルの経路情報キャッシュに過負荷を生じさせるために 用いられることもあります。net.inet.ip.rtexpire, rtminexpire, rtmaxcache の sysctl パラメータを参照して下さい。でたらめなソース IP を用いた この偽造パケット攻撃により、カーネルは、一時的なキャッシュ経路を 経路情報テーブルに生成します。これは .Sq netstat -rna \&| fgrep W3 で見ることができます。これらの経路は、普通は 1600 秒程度でタイムアウトに なります。カーネルがキャッシュ経路テーブルが大きくなり過ぎたことを 検知すると、カーネルは動的に rtexpire を減らしますが、rtminexpire より 小さくなるようには決して減らしません。ここに問題が 2 つあります。 (1) 負荷の軽いサーバが突然攻撃された場合、カーネルが十分素早く反応 できないこと。(2) カーネルが攻撃に耐え生き延びられるほど十分 rtminexpire が低く設定されていないこと。の2つです。 自分のサーバが T3 もしくはそれより 良質の回線でインターネットに接続されている場合、 .Xr sysctl 8 を用いて rtexpire と rtminexpire とを手動で上書きしておくことが思慮深いこと といえます。 .Pq 自分のマシンをクラッシュさせたくないのであれば :-) どちらか一方でも 0 に は決してしないで下さい。両パラメータを 2 秒に設定すれば、 攻撃から経路情報テーブルを守るには十分でしょう。 .Sh kerberos および ssh を用いたアクセスの問題 .Pp もしあなたが、kerberos および ssh を使用したいのだとしたら、両者に関して 言っておく必要のある問題がいくつかあります。 kerberos V は大変優れた認証プロトコルですが、kerberos 処理された telnet や rlogin は、バイナリストリームを扱うのに不向きになってしまうようなバグがあります。 さらに、デフォルトでは、kerberos は .Fl x オプションを使わない限りセッションを暗号化してくれません。 ssh では、デフォルトですべてを暗号化してくれます。 .Pp ssh はあらゆる場面でとても良く働いてくれます。ただし、デフォルトで 暗号鍵を送ってしまうことを除けばです。これはつまり、暗号鍵を持った安全な ワークステーションがあって、この暗号鍵で残りのシステムとアクセスできる ようになっている場合では、安全でないマシンへ ssh を行なう時に暗号鍵が 見えてしまうということです。実際の鍵そのものが見えてしまうわけでは ありませんが、ssh は、login を持続させるために配送用ポートを作ります。 クラッカーが安全でないマシンの root を破ると、クラッカーは、 このポートを使って暗号鍵を取得し、暗号鍵でロックの外れる他のマシンへの アクセスを得ます。 .Pp staff のログインには、kerberos を組み合せた ssh を使用することを勧めます。 ssh は、kerberos と一緒にコンパイルできます。こうすると、見えて しまうかもしれない ssh 鍵をあまりあてにしないで良いようになります。 また、それと同時に、kerberos 経由でパスワードを保護することもできます。 ssh 鍵は、安全なマシンからの自動化されたタスク (kerberos では不向きな ものなど ) 用のみに使用するべきです。また、ssh の設定で ssh 鍵を送らないようにするか、あるいは、 .Pa authorized_keys ファイル中で .Pa "from=IP/DOMAIN" オプションを使用して、特定のマシンからログインしてきたもののみに 有効になる鍵を ssh が生成できるようにすることも勧めます。 - .Sh 関連項目 .Pp .Xr chflags 1 , .Xr find 1 , .Xr kerberos 1 , .Xr md5 1 , .Xr netstat 1 , .Xr ssh 1 , .Xr openssl 1, .Xr xdm 1 , .Xr group 5 , .Xr ttys 5 , .Xr accton 8 , .Xr init 8 , .Xr sshd 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr vipw 8 - .Sh 歴史 .Nm マニュアルページは、もともと .An Matthew Dillon によって書かれました。 最初に現れたのは、 .Fx 3.1 で 1998 年 12 月のことです。 .\" translated by Norihiro Kumagai, 98-12-29 diff --git a/ja_JP.eucJP/man/man7/style.perl.7 b/ja_JP.eucJP/man/man7/style.perl.7 index f477b9b4ab..17c0e767c0 100644 --- a/ja_JP.eucJP/man/man7/style.perl.7 +++ b/ja_JP.eucJP/man/man7/style.perl.7 @@ -1,248 +1,248 @@ .\" Copyright (c) 2000 Josef Karthauser .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL [your name] OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man7/style.perl.7,v 1.12 2000/10/19 18:18:35 joe Exp % +.\" %FreeBSD: src/share/man/man7/style.perl.7,v 1.12.2.1 2000/12/29 10:18:05 ru Exp % .\" jpman %Id: style.perl.7,v 1.3 2000/11/20 01:08:57 yt-kage Stab % .\" .Dd October 16, 2000 .Dt STYLE.PERL 7 .Os FreeBSD .Sh 名称 .Nm style.perl 7 .Nd "FreeBSD Perl ソースファイルのスタイルガイド" .Sh 解説 このファイルは -.Tn FreeBSD +.Fx ソースツリーの perl スクリプトに好ましいスタイルを明記しています。 .Bd -literal -offset 0i # # Perl のためのスタイルガイドです。 # カーネルのスタイルガイドに基づいています。 # # # とても重要な 1 行のコメントはこのようにします。 # # 殆どの 1 行のコメントはこのようにします。 # 複数行にわたるコメントはこのようにします。実際の文章を書きます。実際の # 段落に見えるように埋めていきます。 .Ed .Pp 全てのスクリプトにはスクリプトの先頭に著作権ブロックと、 そのスクリプトが何をするものなのかを記述したコメントブロックを置くべき です。 .Bd -literal -offset 0i #!/usr/bin/perl -w # 著作権 # ブロック # このスクリプトは標準入力から古いカーネル設定ファイルを読み込み、 # 標準出力に新しい形式のヒントファイルを出力します。 .Ed 全てのスクリプトは .Fa strict モジュールを使用して警告なしに動作しなければいけません。例えば、 次のようにします: .Bd -literal -offset 0i #!/usr/bin/perl -w # 著作権、スクリプトの内容記述、その他 use strict; ... .Ed .Pp 可能な場所ではスクリプトを taint (汚染) モードにして 動作させてください。このことは .Xr perlsec 1 で文書化されています。 .Bd -literal -offset 0i #!/usr/bin/perl -wT .Ed .Pp メインプログラムは MAIN: とラベルされたブロックに置くべきです。 これにより大きな perl スクリプトで開始点を識別するのが容易になり、 またメインプログラムだけで使用される変数に対してスコープを与えます。 .Bd -literal -offset 0i MAIN:{ print(foo("/usr/bin/man", "7", "style.perl")); exit(0); } .Ed .Pp 全てのサブルーチンは .Xr perlsub 1 で定義されているようなプロトタイプ引数を使用して定義するべきです。 .Bd -literal -offset 0i sub foo($@) { my $cmd = shift; my @args = @_; } .Ed .Pp 全ての変数は使用する前に定義するべきです。これは .Fa use strict 下で利用する場合は強制されます。 .Pp ローカル変数のスコープの定義には .Fa local .Va $variable ではなく .Fa my .Va $variable を用いるべきです。 .Fa local 宣言はそれが必要とされる場面にのみ使用し、デフォルトでは使用すべきでは ありません。 たくさんの perl4 スクリプトでは、 .Fa my 定義が perl5 以前には存在しなかったという理由で .Fa local を使用しています。 .Pp 多くの場合、グローバル変数はコードの先頭で .Fa vars 定義ブロックを使用して定義するべきです: .Bd -literal -offset 0i use vars qw($globalscalar @globalarray %globalhash); .Ed .Pp 場合によってはスクリプトの先頭で .Fa vars 宣言ではなく .Fa my 文を用いるのが適していることもあります。 .Pp 全ての変数にはコメントをつけるべきです。 .Bd -literal -offset 0i sub foo($@) { my $cmd = shift; # 実行するコマンド my @args = @_; # $cmd への引数 } .Ed .Pp ローカル変数は空行によって関数の引数と分離するべきです: .Bd -literal -offset 0i sub foo($@) { my $cmd = shift; # 実行するコマンド my @args = @_; # command への引数 my $pid; # 子の PID local *PIPE; # パイプ my $output; # コマンドからの出力 } .Ed .Pp 可能な時にはいつでも、 コードはコードチェッカ .Nm perl .Ar -wc .Ar script.pl または .Nm perl .Ar -wcT .Ar script.pl を通過させてください。そのとき、警告が生成されてはいけません。 .Pp インデントは 8 文字のタブです。 第 2 レベルのインデントは 4 文字のスペースです。 .Bd -literal -offset 0i while (cnt < 20) { z = a + really + long + statement + that + needs + two lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines. } .Ed .Pp 空白文字を行末に追加してはいけません。 また、インデントを形成するために、スペースの前にはタブのみを使用して ください。 タブが生み出す以上のスペースおよびタブの前にスペースを使用しては いけません。 .Pp ブレースの開始は制御行の最後に置かれます。 else と elsif は直前の if または elsif ブロックの終了ブレースと 同じ行に置かれます: .Bd -literal -offset 0i sub foo($@) { my $cmd = shift; # 実行するコマンド my @args = @_; # コマンドへの引数 my $pid; # 子の PID local *PIPE; # パイプ my $output; # コマンドからの出力 unless (defined($pid = open(PIPE, "-|"))) { die("open(): $!\\n"); } elsif ($pid == 0) { exec($cmd, @args); die("exec(): $!\\n"); } $output = ""; while () { $output .= $_; } waitpid($pid, 0); if ($? & 0xff) { die("$cmd caught a signal " . ($? & 0x7f) . "\\n"); } elsif ($?) { die("$cmd returned exit code " . ($? >> 8) . "\\n"); } return $output; } .Ed .Pp 可能な場所では、スクリプトは標準モジュールを使用し、 コードをその場に書き直してはいけません。 このことを促進するために、 CPAN モジュールを基本システムに 取り込むことが適している場合があるかもしれません。 .Pp 適切な所では、 .Fa chop ではなく .Fa chomp を使用してください。 .Pp 可読性が増す場合には -.Fa if (! ... ) +.Fa if (! ...\& ) ではなく .Fa unless を使用してください。 .Pp このガイドに矛盾しない範囲で .Xr perlstyle 1 を読んで Larry Wall の推奨スタイルを採用してください。 .Sh 関連項目 .Xr perlsec 1 , .Xr perlstyle 1 , .Xr style 9 .Sh 歴史 このマニュアルページは、 -.Tn FreeBSD +.Fx の .Xr style 9 マニュアルページに大きく基づいています。 diff --git a/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 b/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 index aade0444b6..2032b8c317 100644 --- a/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 +++ b/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 @@ -1,60 +1,59 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 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/BUS_PRINT_CHILD.9,v 1.6 1999/08/28 00:21:05 peter Exp % +.\" %FreeBSD: src/share/man/man9/BUS_PRINT_CHILD.9,v 1.6.2.1 2000/12/14 12:43:55 ru Exp % .\" .Dd June 16, 1998 -.Os .Dt BUS_PRINT_CHILD 9 .Os FreeBSD .Sh 名称 .Nm BUS_PRINT_CHILD .Nd デバイスについての情報の表示 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn BUS_PRINT_CHILD "device_t dev" "device_t child" .Sh 解説 .Pp これはデバイスの説明をプリントアウトするシステムのコードから呼び出されます。 それは子デバイスが持っている親とのアタッチメントを記述するべきです。 例えば、TurboLaser のバスはどのノードにアタッチされたかをプリントします。 BUS_PRINT_CHILD によって出力されるメッセージの適切なフォーマット に関しての更なる情報は .Xr bus_generic_print_child 9 を見てください。 .Sh 関連項目 .Xr device 9 , .Xr driver 9 .Sh 戻り値 出力の文字数です。 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/BUS_READ_IVAR.9 b/ja_JP.eucJP/man/man9/BUS_READ_IVAR.9 index 5e7a47b73b..462d1b8ee9 100644 --- a/ja_JP.eucJP/man/man9/BUS_READ_IVAR.9 +++ b/ja_JP.eucJP/man/man9/BUS_READ_IVAR.9 @@ -1,65 +1,64 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 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/BUS_READ_IVAR.9,v 1.3 1999/08/28 00:21:05 peter Exp % +.\" %FreeBSD: src/share/man/man9/BUS_READ_IVAR.9,v 1.3.2.1 2000/12/14 12:43:55 ru Exp % .\" .Dd June 16, 1998 -.Os .Dt BUS_READ_IVAR 9 .Os FreeBSD .Sh 名称 .Nm BUS_READ_IVAR , .Nm BUS_WRITE_IVAR .Nd バス特有のデバイスインスタンス変数の操作 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn BUS_READ_IVAR "device_t dev" "device_t child" "int index" "uintptr_t *result" .Ft int .Fn BUS_WRITE_IVAR "device_t dev" "device_t child" "int index" "uintptr_t value" .Sh 解説 .Pp これらの 2 つのメソッドは子デバイスのバス特有のインスタンス変数の組 を管理します。 その意図は、異なった型のバスはそれぞれが適当なインスタンス変数 の組(ISA バスにおける port や irq という具合に)を定義するということです。 .Pp この情報は構造体として子デバイスに与えられることも出来ましたが、 そうすると、全てのドライバを編集し再コンパイルするという作業なしには、 バスが変数を追加したり削除したりすることは困難になります。 この作業はベンダが供給するバイナリのドライバでは不可能かもしれません。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr driver 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 b/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 index 6ae55d2697..8f0d862e96 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 @@ -1,63 +1,62 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 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/DEVICE_DETACH.9,v 1.3 1999/08/28 00:21:06 peter Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_DETACH.9,v 1.3.2.1 2000/12/14 12:43:55 ru Exp % .\" .Dd June 16, 1998 -.Os .Dt DEVICE_DETACH 9 .Os FreeBSD .Sh 名称 .Nm DEVICE_DETACH .Nd デバイスのデタッチ .Sh 書式 .Fd #include .Fd #include .Ft int .Fn DEVICE_DETACH "device_t dev" .Sh 解説 .Pp デバイスをデタッチします。 ユーザがドライバソフトウェアを置き換えた場合、またはデバイスが システムから物理的に切り離されようとしている場合(たとえば pccard デバイス)に、 呼び出されることができます。 .Pp このメソッドは .Xr DEVICE_ATTACH 9 メソッドで割り当てられたあらゆるシステムリソースを開放し、 ハードウェアを健全な状態にリセットする (つまり割り込みをディセーブルするなど)べきです。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr DEVICE_ATTACH 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 b/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 index f3d6e5ecb2..8ed6bc0e9f 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 @@ -1,86 +1,88 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 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/DEVICE_PROBE.9,v 1.4 2000/03/02 14:53:52 sheldonh Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_PROBE.9,v 1.4.2.3 2000/12/29 10:18:07 ru Exp % .\" .Dd June 16, 1998 .Os .Dt DEVICE_PROBE 9 .Os FreeBSD .Sh 名称 .Nm DEVICE_PROBE .Nd デバイスの存在のプローブ .Sh 書式 .Fd #include .Fd #include .Ft int .Fn DEVICE_PROBE "device_t dev" .Sh 解説 .Pp このデバイスメソッドはデバイスがあるかどうかを知るためにプローブするべきです。 -デバイスが存在すれば 0 を、デバイスが見つからなければ ENXIO を返すべきです。 +デバイスが存在すれば 0 を、デバイスが見つからなければ +.Er ENXIO +を返すべきです。 プローブの間にその他のエラー(メモリ割当の失敗など)が起こった場合は、 適切なエラーコードが返されるべきです。 1 つのデバイスに 1 つ以上のドライバが当てはまるような場合のために、 優先順位を返すことができます。 この場合、成功の値は 0 以下の値で、 最も大きな値が最も適切であることを意味します。 失敗の値は正の値で表現され、 通常の UNIX エラーコードが目的に応じて使用されるべきです。 .Pp ドライバが 0 より小さい成功値を返す場合、 ドライバはそのデバイスにアタッチされるのが 同じドライバであると想定してはいけません。 特に、softc 構造体に格納されたすべての値が アタッチメソッドで利用可能であると想定してはいけませんし、 また、アタッチメソッドが呼ばれた場合、 プローブの間に割り当てられたあらゆるリソースは開放して 再割り当てしなければなりません。 成功値 0 を返す場合には、 ドライバはそのドライバがアタッチされると想定することができます。 .Pp バスを実装するデバイスは、 バスに接続されたデバイスの存在をプローブし それらを子デバイスとして追加するために、 このメソッドを使用するべきです。 このメソッドが .Xr bus_generic_attach 9 の使用と結合していれば、 子デバイスは自動的にプローブされ、アタッチされるでしょう。 .Sh 戻り値 0 以下の値は成功を表し、0 より大きな値はエラー(errno)を表します。 0 以下の値の時、0 は最高の優先順位を表し、それ以上のプローブは行ないません。 0 未満の値は、低い値程、低い優先順位を表します。 たとえば、-100 は -50 よりも低い優先順位を表します。 .Sh 関連項目 .Xr device 9 , .Xr DEVICE_ATTACH 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/DEVICE_SHUTDOWN.9 b/ja_JP.eucJP/man/man9/DEVICE_SHUTDOWN.9 index c74cf2e86a..5833d6c99d 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_SHUTDOWN.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_SHUTDOWN.9 @@ -1,56 +1,55 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 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/DEVICE_SHUTDOWN.9,v 1.2 1999/08/28 00:21:07 peter Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_SHUTDOWN.9,v 1.2.2.1 2000/12/14 12:43:55 ru Exp % .\" .Dd June 16, 1998 -.Os .Dt DEVICE_SHUTDOWN 9 .Os FreeBSD .Sh 名称 .Nm DEVICE_SHUTDOWN .Nd システムシャットダウンの間に呼ばれる .Sh 書式 .Fd #include .Fd #include .Ft int .Fn DEVICE_SHUTDOWN "device_t dev" .Sh 解説 .Pp システムシャットダウンの間に呼び出され、 ドライバがハードウェアをコンピュータがリブートしても構わない状態にすることを 可能にします。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合にはエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr DEVICE_ATTACH 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/MD5.9 b/ja_JP.eucJP/man/man9/MD5.9 index 6d7987b22e..7423109e23 100644 --- a/ja_JP.eucJP/man/man9/MD5.9 +++ b/ja_JP.eucJP/man/man9/MD5.9 @@ -1,75 +1,76 @@ .\" $OpenBSD: md5.9,v 1.1 1996/04/17 21:40:14 mickey Exp $ .\" .\" Copyright (c) 1996 Michael Shalayeff .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Michael Shalayeff .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/MD5.9,v 1.5 2000/03/02 14:53:52 sheldonh Exp % +.\" %FreeBSD: src/share/man/man9/MD5.9,v 1.5.2.1 2000/12/29 10:18:07 ru Exp % .\" .Dd April 17, 1996 .Dt MD5 9 .Os OpenBSD .Sh 名称 .Nm MD5 , .Nm MD5Init , .Nm MD5Transform .Nd メッセージダイジェストルーチン .Sh 書式 .Fd #include .Fd #include .Ft void .Fn MD5Init "MD5_CTX *buf" .Ft void .Fn MD5Transform "u_int32_t buf[4]" "const unsigned char block[64]" .Sh 解説 .Nm モジュールは、RSA Data Security, Inc. の MD5 メッセージダイジェスト アルゴリズム(MD5)を実装しています。 これはデータの 128 ビットの MD5 ダイジェストを生成します。 .Pp .Bl -hang -width MD5Transformxx .It Pa MD5Init ダイジェストを生成するために .Fn MD5Transform を使用する直前に呼び出さなくてはなりません。 引数 .Fa buf は次に続いて呼ばれる .Fn MD5Transform ルーチンが生成するダイジェストの格納領域です。 .It Pa MD5Transform MD5 アルゴリズムの中核で、 引数 .Fa block で渡される 64 文字の新しいデータの追加を反映するように、 .Fa buf に格納してある MD5 ハッシュを変更します。 +.El .Sh 著作権 MD5 変換のコードはパブリックドメインに置かれていた Colin Plumb の 実装から得ています。 MD5 暗号化チェックサムは Ronald Rivest が考案し、 RFC 1321 "The MD5 Message Digest Algorithm" に記述されています。 diff --git a/ja_JP.eucJP/man/man9/Makefile b/ja_JP.eucJP/man/man9/Makefile index f0c0fe9c88..ec7a2433fb 100644 --- a/ja_JP.eucJP/man/man9/Makefile +++ b/ja_JP.eucJP/man/man9/Makefile @@ -1,65 +1,65 @@ MAN9 = BUS_PRINT_CHILD.9\ BUS_READ_IVAR.9\ DEVICE_ATTACH.9\ DEVICE_DETACH.9\ DEVICE_PROBE.9\ DEVICE_SHUTDOWN.9\ MD5.9\ VFS.9\ bus_generic_attach.9\ bus_generic_detach.9\ bus_generic_map_intr.9\ bus_generic_print_child.9\ bus_generic_read_ivar.9\ bus_generic_shutdown.9\ copy.9\ fetch.9\ - free.9\ inittodr.9\ intro.9\ malloc.9\ panic.9\ physio.9\ resettodr.9\ spl.9\ store.9\ style.9\ uio.9\ vslock.9 MLINKS+=BUS_READ_IVAR.9 BUSWRITE_IVAR.9 MLINKS+=malloc.9 FREE.9 MLINKS+=malloc.9 MALLOC.9 +MLINKS+=malloc.9 free.9 MLINKS+=MD5.9 MD5Init.9 MLINKS+=MD5.9 MD5Transform.9 MLINKS+=bus_generic_read_ivar.9 bus_generic_write_ivar.9 MLINKS+=copy.9 copyin.9 MLINKS+=copy.9 copyinstr.9 MLINKS+=copy.9 copyout.9 MLINKS+=copy.9 copystr.9 MLINKS+=copy.9 malloc.9 MLINLS+=fetch.9 fubyte.9 MLINKS+=fetch.9 fuswintr.9 MLINKS+=fetch.9 fusword.9 MLINKS+=fetch.9 fuword.9 MLINKS+=fetch.9 subyte.9 MLINKS+=fetch.9 suswintr.9 MLINKS+=fetch.9 susword.9 MLINKS+=fetch.9 suword.9 MLINKS+=spl.9 spl0.9 MLINKS+=spl.9 splbio.9 MLINKS+=spl.9 splclock.9 MLINKS+=spl.9 splhigh.9 MLINKS+=spl.9 splimp.9 MLINKS+=spl.9 splnet.9 MLINKS+=spl.9 splsoftclock.9 MLINKS+=spl.9 splsofttty.9 MLINKS+=spl.9 splstatclock.9 MLINKS+=spl.9 spltty.9 MLINKS+=spl.9 splvm.9 MLINKS+=spl.9 splx.9 MLINKS+=uio.9 uiomove.9 MLINKS+=vslock.9 vsunlock.9 .include "bsd.prog.mk" diff --git a/ja_JP.eucJP/man/man9/copy.9 b/ja_JP.eucJP/man/man9/copy.9 index 569c7eec95..62b378a5c5 100644 --- a/ja_JP.eucJP/man/man9/copy.9 +++ b/ja_JP.eucJP/man/man9/copy.9 @@ -1,138 +1,142 @@ .\" %NetBSD: copy.9,v 1.2 1996/01/09 03:23:04 thorpej Exp % .\" .\" Copyright (c) 1996 Jason R. Thorpe. .\" All rights reserved. .\" .\" This code is derived from software contributed by Kenneth Stailey. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Jason R. Thorpe. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/copy.9,v 1.6 1999/08/28 00:21:20 peter Exp % +.\" %FreeBSD: src/share/man/man9/copy.9,v 1.6.2.3 2000/12/12 10:00:56 ru Exp % .\" -.Dd Jan 7, 1996 +.Dd January 7, 1996 .Dt COPY 9 .Os FreeBSD .Sh 名称 .Nm copy , .Nm copyin , .Nm copyout , .Nm copystr , .Nm copyinstr .\" .Nm copyinstr , .\" .Nm copyoutstr .Nd カーネルコピー関数 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn copyin "const void *uaddr" "void *kaddr" "size_t len" .Ft int .Fn copyout "const void *kaddr" "void *uaddr" "size_t len" .Ft int .Fn copystr "const void *kfaddr" "void *kdaddr" "size_t len" "size_t *done" .Ft int .Fn copyinstr "const void *uaddr" "void *kaddr" "size_t len" "size_t *done" .\" .Ft int .\" .Fn copyoutstr "const void *kaddr" "void *uaddr" "size_t len" "size_t *done" .Sh 解説 .Nm 関数群は連続したデータをあるアドレスから 別のアドレスへコピーするようデザインされています。 .Fn copystr 以外の関数は、ユーザー空間からカーネル空間へ、 あるいは反対向きにデータをコピーします。 .Pp .Nm 関数群は以下の機能を提供します。 .Bl -tag -width "copyoutstr()" .It Fn copyin ユーザー空間のアドレス .Pa uaddr からカーネル空間のアドレス .Pa kaddr へ .Pa len バイトのデータをコピーします。 .It Fn copyout カーネル空間のアドレス .Pa kaddr からユーザー空間のアドレス .Pa uaddr へ .Pa len バイトのデータをコピーします。 .It Fn copystr カーネル空間のアドレス .Pa kfaddr からカーネル空間のアドレス .Pa kdaddr へヌル文字で終端された最大 .Pa len 文字の文字列をコピーします。 末尾のヌル文字を含む実際にコピーされた文字数が .Pa *done に返されます。 .It Fn copyinstr ユーザー空間のアドレス .Pa uaddr からカーネル空間のアドレス .Pa kaddr へヌル文字で終端された最大 .Pa len 文字の文字列をコピーします。 末尾のヌル文字を含む実際にコピーされた文字数が .Pa *done に返されます。 .\" .It Fn copyoutstr .\" カーネル空間のアドレス .\" .Pa kaddr .\" からユーザー空間のアドレス .\" .Pa uaddr .\" へヌル文字で終端された最大 .\" .Pa len .\" 文字の文字列をコピーします。 .\" 末尾のヌル文字を含む実際にコピーされた文字数が .\" .Pa *done .\" に返されます。 .El .Sh 戻り値 それぞれの .Nm -関数は成功した時に 0 を、不正なアドレスに遭遇した時に EFAULT を返します。 +関数は成功した時に 0 を、不正なアドレスに遭遇した時に +.Er EFAULT +を返します。 さらに、 .Fn copystr および .Fn copyinstr .\" 、 .\" .Fn copyoutstr 関数は文字列が .Pa len -バイトよりも長い時に ENAMETOOLONG を返します。 +バイトよりも長い時に +.Er ENAMETOOLONG +を返します。 .Sh 関連項目 .Xr fetch 9 , -.Xr store 9 . +.Xr store 9 diff --git a/ja_JP.eucJP/man/man9/fetch.9 b/ja_JP.eucJP/man/man9/fetch.9 index 4706ff5d6e..b4825cce12 100644 --- a/ja_JP.eucJP/man/man9/fetch.9 +++ b/ja_JP.eucJP/man/man9/fetch.9 @@ -1,90 +1,90 @@ .\" %NetBSD: fetch.9,v 1.2 1996/01/09 21:59:24 perry Exp % .\" .\" Copyright (c) 1996 Jason R. Thorpe. .\" All rights reserved. .\" .\" This code is derived from software contributed by Kenneth Stailey. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Jason R. Thorpe. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/fetch.9,v 1.6 1999/08/28 00:21:28 peter Exp % +.\" %FreeBSD: src/share/man/man9/fetch.9,v 1.6.2.2 2000/12/12 10:00:56 ru Exp % .\" -.Dd Jan 7, 1996 +.Dd January 7, 1996 .Dt FETCH 9 .Os FreeBSD .Sh 名称 .Nm fetch , .Nm fubyte , .Nm fusword , .Nm fuswintr , .Nm fuword .Nd ユーザー空間からのデータの取り出し .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Ft int .Fn fubyte "const void *base" .Ft int .Fn fusword "void *base" .Ft int .Fn fuswintr "void *base" .Ft long .Fn fuword "const void *base" .Sh 解説 .Nm 関数群はユーザー空間から小さなデータをコピーするようにデザインされています。 .Pp .Nm ルーチンは以下の機能を提供します。 .Bl -tag -width "fuswintr()" .It Fn fubyte ユーザー空間のアドレス .Pa base から 1 バイトのデータを取り出します。 .It Fn fusword ユーザー空間のアドレス .Pa base から 1 ショートワードのデータを取り出します。 .It Fn fuswintr ユーザー空間のアドレス .Pa base から 1 ショートワードデータを取り出します。 この関数は割り込みコンテキスト中でも安全に呼び出せます。 .It Fn fuword ユーザー空間のアドレス .Pa base から 1 ワードのデータを取り出します。 .El .Sh 戻り値 .Nm 関数は取り出したデータを返しますが、失敗した場合は -1 を返します。 .Sh 関連項目 .Xr copy 9 , -.Xr store 9 . +.Xr store 9 diff --git a/ja_JP.eucJP/man/man9/free.9 b/ja_JP.eucJP/man/man9/free.9 deleted file mode 100644 index 957639e835..0000000000 --- a/ja_JP.eucJP/man/man9/free.9 +++ /dev/null @@ -1,243 +0,0 @@ -.\" Copyright (c) 1996 The NetBSD Foundation, Inc. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to The NetBSD Foundation -.\" by Paul Kranenburg. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the 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 REGENTS OR CONTRIBUTORS BE -.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -.\" POSSIBILITY OF SUCH DAMAGE. -.\" -.\" %NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp % -.\" %FreeBSD: src/share/man/man9/malloc.9,v 1.13 2000/03/03 14:05:06 sheldonh Exp % -.\" -.Dd June 16, 1996 -.Dt MALLOC 9 -.Os FreeBSD -.Sh 名称 -.Nm malloc , -.Nm MALLOC , -.Nm free , -.Nm FREE -.Nd カーネルメモリマネージメントルーチン -.Sh 書式 -.Fd #include -.Fd #include -.Ft void * -.Fn malloc "unsigned long size" "struct malloc_type *type" "int flags" -.Fn MALLOC "space" "cast" "unsigned long size" "struct malloc_type *type" "int flags" -.Ft void -.Fn free "void *addr" "struct malloc_type *type" -.Fn FREE "void *addr" "struct malloc_type *type" -.Sh 解説 -.Fn malloc -関数はカーネルアドレス空間の初期化されていたいメモリを -.Fa size -で明示された大きさの 1 つのオブジェクトとして割り当てます。 -.Fn free -は -.Fn malloc -で先に割り当てられていた -.Fa addr -のアドレスのメモリを再使用するために開放します。 -メモリは 0 にクリアされません。 -.Fn MALLOC -マクロは機能的には -.Bd -literal -offset indent -(space) = (cast)malloc((u_long)(size), type, flags) -.Ed -.Pp -と同等で、 -.Fn FREE -マクロは -.Bd -literal -offset indent -free((addr), type) -.Ed -.Pp -と同等です。 -標準Cライブラリの同義関数の -.Pq Xr malloc 3 -と異なり、カーネルバージョンは更に 2 つの引き数をとります。 -引き数 -.Fa flags -は -.Fn malloc -の下記の操作上の特性からより適したものを選びます。 -.Bl -tag -width M_NOWAIT -.It Dv M_NOWAIT -リソースの不足のため直ちに実行することが出来ない場合は、 -.Fn malloc -に -.Dv NULL -を返させます。 -さもなければ、 -.Fn malloc -は他のプロセスによるリソースの開放を待つために -.Fn sleep -を呼び出すでしょう。 -このフラグがセットされていれば、 -.Fn malloc -はブロックせずに -.Dv NULL -を返します。 -.Dv M_WAITOK -が 0 に定義されていることに注意してください。 -これはブロッキング操作がデフォルトだということです。 -.It Dv M_ASLEEP -リソースの不足のため直ちに実行することが出来ない場合は、 -.Fn malloc -に -.Fn asleep -を呼ばせます。 -.Dv M_ASLEEP -は単独での使用は実用的ではなく、常に -.Dv M_NOWAIT -との論理和(OR)をとって -.Fn malloc -に -.Fn asleep -を呼ばせ、直ちに -.Dv NULL -を返させます。 -呼び出し側がある時点で -.Fn await -を呼び、割り当てのリトライをすることが期待されています。 -当のルーチンに依存して、呼び出し側で一時的な失敗を上位に連鎖的に伝搬し、実際に -.Fn malloc -がキューに入れた非同期のウェイトをブロックする -幾つかの別の高レベルルーチンをもつことを決めることも出来ます。 -.It Dv M_WAITOK -リソースを待つことが可能(OK)であることを示します。 -都合の悪いことに 0 として定義されているので、この値に対して比較したり、 -フラグとして論理積(AND)をとることが決して無い様に注意されなければなりません。 -デフォルトの操作はメモリの割り当てが成功するまでブロックします。 -.Dv M_NOWAIT -が明示されると -.Fn malloc -は -.Dv NULL -のみを返すことが出来ます。 -.It Dv M_USE_RESERVE -システムが要求されたメモリを獲得するために、 -リザーブ領域を調査することが可能なことを示します。 -このオプションは以前は M_KERNEL と呼ばれていましたが、 -より解りやすく改名されていました。 -このオプションは軽視されていて、カーネルから徐々に削除されています。 -そのため、新しいプログラミングでは使用されない様にするべきです。 -.El -.Pp -引き数 -.Fa type -はメモリの利用方法の統計をとるために使われていて、簡単で健全なチェックです。 -この統計は -.Sq vmstat -m -により調査されることが出来ます。 -.Pp -.Fa type -は -.Fn MALLOC_DECLARE -と -.Fn MALLOC_DEFINE -マクロを通して -.Va malloc_type_t -を使用し決定されます。 -.Bd -literal -offset indent -/* sys/something/foo_extern.h */ - -MALLOC_DECLARE(M_FOOBUF); - -/* sys/something/foo_main.c */ - -MALLOC_DEFINE(M_FOOBUF, "foobuffers", - "Buffers to foo data into the ether"); - -/* sys/something/foo_subr.c */ - -\&... - -MALLOC(buf, struct foo_buf *, sizeof *buf, M_FOOBUF, M_NOWAIT); -.Ed -.Pp -.Sh 戻り値 -.Fn malloc -はあらゆるタイプのストレージに適切に整列されたカーネル仮想アドレス、 -または要求が満足できずに且つ -.Dv M_NOWAIT -がセットされている場合に -.Dv NULL -を返します。 -.Dv M_ASLEEP -がセットされていて -.Fn malloc -が -.Dv NULL -を返す場合、副作用として -.Fn asleep -が呼び出されます。 -.Sh 関連項目 -.Xr vmstat 8 -.Sh 診断 -.Dv DIAGNOSTIC -コンフィギュレーションオプションを付けてコンパイルされたカーネルは、 -割り当てられた領域外への書き込みや不均衡な -.Fn malloc -関数と -.Fn free -関数の呼び出し等により生じたメモリ不正の検出を試みます。 -一貫性チェックの失敗はパニックまたはシステムコンソールメッセージを出力します。 -.Bl -bullet -offset indent -compact -.Pp -.It -panic: -.Dq malloc: bogus type -.It -panic: -.Dq malloc: allocation too large -.It -panic: -.Dq malloc: wrong bucket -.It -panic: -.Dq malloc: lost data -.It -panic: -.Dq free: address 0x%x out of range -.It -panic: -.Dq free: type %d out of range -.It -panic: -.Dq free: unaligned addr Aq description of object -.It -panic: -.Dq free: item modified -.It -panic: -.Dq free: multiple free[s] -.It -.Dq Data modified on freelist: Aq description of object -.El diff --git a/ja_JP.eucJP/man/man9/inittodr.9 b/ja_JP.eucJP/man/man9/inittodr.9 index 1f25533f98..d7f198c06f 100644 --- a/ja_JP.eucJP/man/man9/inittodr.9 +++ b/ja_JP.eucJP/man/man9/inittodr.9 @@ -1,116 +1,116 @@ .\" %NetBSD: inittodr.9,v 1.2 1996/03/27 21:16:06 jtc Exp % .\" .\" Copyright (c) 1994 Christopher G. Demetriou .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Christopher G. Demetriou .\" for the NetBSD Project. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/inittodr.9,v 1.4 1999/08/28 00:21:28 peter Exp % +.\" %FreeBSD: src/share/man/man9/inittodr.9,v 1.4.2.1 2000/12/08 14:59:20 ru Exp % .\" .Dd March 22, 1997 .Dt INITTODR 9 .Os FreeBSD .Sh 名称 .Nm inittodr .Nd システムタイムの初期化 .Sh 書式 .Fd #include .Fd #include .Ft void .Fn inittodr "time_t base" .Sh 解説 .Fn inittodr 関数は時刻を決定しシステムクロックの設定を行います。 システムのバッテリバックアップクロックおよび .Fa base で与えられるルートファイルシステムから得られる時刻 を検査する発見方法を使用して正しい時刻の取得を試みます。 .Fa base の値を得る方法は、ルートファイルシステムのタイプに依存して変化するでしょう。 下記の発見方法が使用されます。 .Bl -bullet .It バッテリバックアップクロックが妥当な時刻であれば、これが使用されます。 .\" .It .\" If the battery-backed clock does not have a valid time, and .\" the time provided in .\" .Fa base .\" is within reason, .\" .Fa base .\" is used as the current time. .\" .It .\" If the battery-backed clock appears invalid, and .\" .Fa base .\" appears non-sensical or was not provided (was given as zero), .\" a arbitrary base (typically some time in the late 1970s) .\" will be used. .It バッテリバックアップクロックが妥当な時刻でなければ、 .Fa base で与えられた時刻が使用されます。 .El .Pp 一度システムタイムが決定されると、これが .Va time 変数に格納されます。 .Sh 診断 システムタイムの計算に問題があった場合は、 .Fn inittodr 関数は診断メッセージを出力します。 出力される診断メッセージには下記の状態が含まれます。 .Bl -bullet .It バッテリバックアップクロックが無意味のようである。 .\" .It .\" The .\" .Fa base .\" time appears nonsensical. .\" .It .\" The .\" .Fa base .\" time and the battery-backed clock's time differ by a large amount. .El .Sh 関連項目 .Xr resettodr 9 , .Xr time 9 .Sh バグ 多くのシステムで .Fn inittodr は、 年、月、日、時、分、秒で表現される時刻から、秒で表現される .Va time に変換しなければなりません。 多くの実装ではコードの共有が可能ですが、共有していません。 .Pp それぞれのシステムの正確な時刻取得のための発見方法は、わずかに異なります。 .Pp -.Tn FreeBSD +.Fx の実装は、 バッテリバックアップクロックを使用できない場合は、 .Fa base で与えられた時刻をもっとうまく検証するべきでしょう。 現在は無条件にシステムタイムをこの値に設定します。 diff --git a/ja_JP.eucJP/man/man9/intro.9 b/ja_JP.eucJP/man/man9/intro.9 index 96df3c87c1..b9849e9279 100644 --- a/ja_JP.eucJP/man/man9/intro.9 +++ b/ja_JP.eucJP/man/man9/intro.9 @@ -1,111 +1,111 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/intro.9,v 1.10 1999/08/28 00:21:28 peter Exp % +.\" %FreeBSD: src/share/man/man9/intro.9,v 1.10.2.3 2000/12/29 10:18:07 ru Exp % .\" .Dd December 13, 1995 .Dt INTRO 9 -.Os FreeBSD 2.2 +.Os FreeBSD .Sh 名称 .Nm intro .Nd システムカーネルインターフェイスの紹介 .Sh 解説 このセクションはカーネル内のインターフェイスとサブルーチンについての 情報を含んでいます。 .Sh ANSI-C 等のプロトタイプ お願いします。 .Pp 我々は全てのコードが完全にプロトタイプされていることを望みます。 .Pp あなたのコードが .Nm cc .Ar -Wall とした時にきれいにコンパイルできれば、我々は嬉しく思います。 これは .Nm cc を黙らせることが問題ではなく、 苦情の原因事象を避けることが問題であるということを理解することが重要です。 遠慮なしに言うと、キャストや他の不明瞭化する手法で問題を隠すのではなく、 問題を解決してください。 .Sh インデントとスタイル それを信用するかどうかは別として、 インデントとスタイルについてのガイドが現に存在します。 けれども広くは適用されていません。 .Pp 人々がそれに注意を払い、少なくとも露骨に違反しないならば、 我々はそれを認めるでしょう。 .Pp 我々はあまりにもひどくない限り、あなたの独自のスタイルを気にしませんが、 必ず我々にも読めるようにしてください。 .Pp 更に情報を得るために .Xr style 9 を読む時間を取ってください。 .Sh 命名規則 幾つかの一般的な規則があります。 .Bl -enum .It ある関数が DDB でのデバッグ支援を意図したものであるならば、 それは下記のように囲まれるべきです。 .Bd -literal -offset indent #ifdef DDB #endif /* DDB */ .Ed - +.Pp 加えて、関数の名前は、それがデバッガルーチンであることが明確にわかるように、 .Li DDB_ を接頭辞として始めるべきです。 .El .Sh シンボルのスコープ カーネル内のシンボルのスコープは注意深く考慮することが重要です。 何らかの理由でそう出来ない場合以外は、デフォルトでは全てを static にします。 .Pp この方針には幾つかの理由があります。 主な理由は、カーネルは単一の名前空間であることと、 ここでは名前空間の汚染もあまり名案ではないということです。 .Pp デバイスドライバと カーネルに新しい内部のインターフェイスを追加しないモジュールでは、 可能であるならば全てのソースコードが一つのファイルであるべきです。 それは全てのシンボルを static にできる方法であるからです。 .Pp 何らかの理由によりモジュールが複数のファイルに分割される場合には、 大きな境界線に沿ってそのモジュールを分割するよう努力して、 グローバルなシンボルの数を手引にして熟考してください。 少ない方が好ましいです。 .Sh 関連項目 .Xr style 9 .Sh 歴史 -.Nm intro +.Nm セクションのマニュアルページは .Fx 2.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man9/malloc.9 b/ja_JP.eucJP/man/man9/malloc.9 index ee54b8f5eb..facd60aa9e 100644 --- a/ja_JP.eucJP/man/man9/malloc.9 +++ b/ja_JP.eucJP/man/man9/malloc.9 @@ -1,247 +1,247 @@ .\" Copyright (c) 1996 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Paul Kranenburg. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the 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 REGENTS OR CONTRIBUTORS BE .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" %NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp % -.\" %FreeBSD: src/share/man/man9/malloc.9,v 1.13 2000/03/03 14:05:06 sheldonh Exp % +.\" %FreeBSD: src/share/man/man9/malloc.9,v 1.13.2.1 2000/12/29 10:18:07 ru Exp % .\" .Dd June 16, 1996 .Dt MALLOC 9 .Os FreeBSD .Sh 名称 .Nm malloc , .Nm MALLOC , .Nm free , .Nm FREE .Nd カーネルメモリマネージメントルーチン .Sh 書式 .Fd #include .Fd #include .Ft void * .Fn malloc "unsigned long size" "struct malloc_type *type" "int flags" .Fn MALLOC "space" "cast" "unsigned long size" "struct malloc_type *type" "int flags" .Ft void .Fn free "void *addr" "struct malloc_type *type" .Fn FREE "void *addr" "struct malloc_type *type" .Sh 解説 .Fn malloc 関数はカーネルアドレス空間の初期化されていないメモリを .Fa size で指定された大きさの 1 つのオブジェクトとして割り当てます。 .Fn free は .Fn malloc で先に割り当てられていた .Fa addr のアドレスのメモリを再使用するために開放します。 メモリは 0 にクリアされません。 マクロ版の .Fn MALLOC は機能的には .Bd -literal -offset indent (space) = (cast)malloc((u_long)(size), type, flags) .Ed .Pp と同等で、 マクロ版 .Fn FREE は .Bd -literal -offset indent free((addr), type) .Ed .Pp と同等です。 標準Cライブラリの同義関数 .Pq Xr malloc 3 とは異なり、カーネルバージョンは更に 2 つの引き数をとります。 引き数 .Fa flags は .Fn malloc の操作上の特性を以下のようにみなします。 .Bl -tag -width M_NOWAIT .It Dv M_NOWAIT リソースの不足のため直ちに要求を満たすことができない場合は、 .Fn malloc が .Dv NULL を返すようにします。 通常は、 .Fn malloc は他のプロセスによるリソースの開放を待つために .Fn sleep を呼び出すでしょう。 このフラグがセットされていれば、 .Fn malloc はブロックせずに .Dv NULL を返します。 .Dv M_WAITOK が 0 に定義されていることに注意してください。 これはブロッキング操作がデフォルトだということです。 .It Dv M_ASLEEP リソースの不足のため直ちに要求を満たすことができない場合は、 .Fn malloc が .Fn asleep を呼ぶようにします。 .Dv M_ASLEEP の単独での使用は実用的ではなく、常に .Dv M_NOWAIT との論理和(OR)をとって .Fn malloc に .Fn asleep を呼ばせ、直ちに .Dv NULL を返させます。 呼び出し側がある時点で .Fn await を呼び、割り当てのリトライをすることが期待されています。 当のルーチンに依存して、呼び出し側で一時的な失敗を上位に連鎖的に伝搬し、実際に .Fn malloc がキューに入れた非同期のウェイトをブロックする 幾つかの別の高レベルルーチンをもつことを決めることも出来ます。 .It Dv M_WAITOK リソースを待つことが可能(OK)であることを示します。 都合の悪いことに 0 と定義されているので、直接この値に対して比較したり、 フラグとして論理積(AND)をとったりしないように注意されなければなりません。 デフォルトの操作はメモリの割り当てが成功するまでブロックします。 .Dv M_NOWAIT が指定されると .Fn malloc は単に .Dv NULL を返すことが出来ます。 .It Dv M_USE_RESERVE 要求されたメモリを獲得するために、 システムがリザーブ領域を使ってよいことを示します。 このオプションは以前は M_KERNEL と呼ばれていましたが、 より明示的に改名されました。 このオプションは軽視されていて、カーネルから徐々に削除されています。 そのため、新たなプログラミングでは使用されない様にするべきです。 .El .Pp 引き数 .Fa type はメモリの利用方法の統計をとるためと、 簡単なサニティチェックのために使われています。 この統計は .Sq vmstat -m で調べることが出来ます。 .Pp .Fa type は .Fn MALLOC_DECLARE と .Fn MALLOC_DEFINE マクロを通じて .Va malloc_type_t typedef を使用して定義されます。 .Bd -literal -offset indent /* sys/something/foo_extern.h */ MALLOC_DECLARE(M_FOOBUF); /* sys/something/foo_main.c */ MALLOC_DEFINE(M_FOOBUF, "foobuffers", "Buffers to foo data into the ether"); /* sys/something/foo_subr.c */ \&... MALLOC(buf, struct foo_buf *, sizeof *buf, M_FOOBUF, M_NOWAIT); .Ed .Pp .Sh 戻り値 .Fn malloc はすべてのタイプのオブジェクトの格納に適切なように整列された カーネル仮想アドレスを、 または要求が満足できずかつ .Dv M_NOWAIT がセットされている場合に .Dv NULL を返します。 .Dv M_ASLEEP がセットされていて .Fn malloc が .Dv NULL を返す場合、副作用として .Fn asleep が呼び出されます。 .Sh 関連項目 .Xr vmstat 8 .Sh 診断 .Dv DIAGNOSTIC コンフィギュレーションオプションを付けてコンパイルされたカーネルは、 割り当てられた領域以外への書き込みや .Fn malloc 関数と .Fn free 関数の不均衡な呼び出しなどにより生じたメモリ不正の検出を試みます。 一貫性チェックの失敗はパニックまたはシステムコンソールメッセージを出力します。 .Bl -bullet -offset indent -compact .Pp .It panic: .Dq malloc: bogus type .It panic: .Dq malloc: allocation too large .It panic: .Dq malloc: wrong bucket .It panic: .Dq malloc: lost data .It panic: .Dq free: address 0x%x out of range .It panic: .Dq free: type %d out of range .It panic: .Dq free: unaligned addr Aq description of object .It panic: .Dq free: item modified .It panic: .Dq free: multiple free[s] .It .Dq Data modified on freelist: Aq description of object .El diff --git a/ja_JP.eucJP/man/man9/spl.9 b/ja_JP.eucJP/man/man9/spl.9 index b85e468d5a..10c6d06cb9 100644 --- a/ja_JP.eucJP/man/man9/spl.9 +++ b/ja_JP.eucJP/man/man9/spl.9 @@ -1,199 +1,198 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/spl.9,v 1.8 1999/08/28 00:21:32 peter Exp % +.\" %FreeBSD: src/share/man/man9/spl.9,v 1.8.2.2 2000/12/29 10:18:08 ru Exp % .\" " .Dd July 21, 1996 .Os .Dt SPL 9 .Sh 名称 .Nm splbio, .Nm splclock, .Nm splhigh, .Nm splimp, .Nm splnet, .Nm splsoftclock, .Nm splsofttty, .Nm splstatclock, .Nm spltty, .Nm splvm, .Nm spl0, .Nm splx .Nd 割り込み優先度の操作 .Sh 書式 .Fd #include .Fd #include .Ft intrmask_t .Fn splbio "void" .Ft intrmask_t .Fn splclock "void" .Ft intrmask_t .Fn splhigh "void" .Ft intrmask_t .Fn splimp "void" .Ft intrmask_t .Fn splnet "void" .Ft intrmask_t .Fn splsoftclock "void" .Ft intrmask_t .Fn splsofttty "void" .Ft intrmask_t .Fn splstatclock "void" .Ft intrmask_t .Fn spltty "void" .Ft void .Fn spl0 "void" .Ft void .Fn splx "intrmask_t ipl" .Sh 解説 .Fn spl 関数ファミリは CPU の割り込み優先度の .Dq レベル を設定します。 これはブロックされた優先度レベルの割り込みハンドラの実行を抑制します。 割り込みハンドラによって調査あるいは修正されたであろうデータ領域を 調査あるいは修正するドライバの .Dq synchronous 部分(ユーザープロセスを代表して実行される部分)で使用されます。 .Pp 通常それぞれの割り込みを使用するドライバは、 config ファイルのキーワードによって 1 つの 割り込み優先度グループに割り当てられます。 例えば、 .Bd -literal -offset indent device foo0 at isa? port 0x0815 irq 12 tty .Ed .Pp は、割り込み 12 を .Dq tty 優先度グループに割り当てます。 システムは自動的に .Em xxx グループの割り込みを優先度が .Ns spl Ns Em xxx \&() 以上の時に呼ばれるように準備します。 .Pp .Fn splx 関数は割り込み優先度レベルを絶対的な数値に設定します。 これは別の割り込みレベル関数が返した値をローカルの変数に保存して、 後で元の優先度レベルに戻すために .Fn splx を使用する事を意図しています。 .Pp .Fn spl0 関数は全ての割り込みハンドラをブロックしない値に優先度を減少させます。 ただし、AST(非同期システムトラップ)はシステムが ユーザーモードに戻るまでの間はブロックされます。 .Pp いろいろなデバイスドライバの割り込み優先度グループの伝統的な割り当ては、 おおよそ次のように分類できます。 -.Bl -tag -width Fn splnet +.Bl -tag -width Fn .It Fn splnet 全てのネットワークインターフェイスドライバ。 .It Fn splbio 全ての .Em バッファ入出力 (つまりディスクなど)のドライバ。 .It Fn spltty 基本的にはネットワーク以外の通信デバイスですが、 事実上はネットワークとディスク以外の全てのドライバ。 .El .Sh 戻り値 .Fn splx および .Fn spl0 以外の全ての関数は、操作前の優先度の値を返します。 .Sh 使用例 以下は、標準的な使用例です。 .Bd -literal struct foo_softc { ... int flags; #define FOO_ASLEEP 1 #define FOO_READY 2 } foo_softc[NFOO]; int foowrite(...) { struct foo_softc *sc; int s, error; ... s = spltty(); if (!(sc->flags & FOO_READY)) { /* 準備ができていません、待機しなければなりません */ sc->flags |= FOO_ASLEEP; error = tsleep(sc, PZERO, "foordy", 0); sc->flags &= ~FOO_ASLEEP; } sc->flags &= ~FOO_READY; splx(s); ... } void foointr(...) { struct foo_softc *sc; ... sc->flags |= FOO_READY; if (sc->flags & FOO_ASLEEP) /* 誰かが我々を待っています、起こしてください */ wakeup(sc); ... } .Ed 割り込みハンドラは .Em 絶対に 優先度レベルを減少させるべきではない、ということに注意してください。 自動的に、自分のレベルの割り込み優先度に増加させられます。 すなわち、同じグループの全ての割り込みはブロックされます。 .Sh 歴史 割り込み優先度レベルは早期のバージョンの Unix で登場しました。 伝統的には名前ではなく数字が使われていて、そのレベルまでの全てを含んで (優先度 5 はレベル 5 までの全てをブロックします)いた事が知られています。 これは -.Tn FreeBSD +.Fx にはあてはまりません。 伝統的な名前 .Ql level はいまだに文字 .Ql l としてそれぞれの関数や変数の名前に反映されています。 しかし、実際にはもはやレベルではなく、 むしろ異なった(部分的に含まれた)関数群がシステムのある期間ブロックされます。 歴史的な番号による方法は単純で順番通りの 割り込み優先度レベルグループであるとみなす事ができます。 .Sh 作者 このマニュアルページは -.ie t J\(:org Wunsch -.el Joerg Wunsch +.An J\(:org Wunsch が書きました。 diff --git a/ja_JP.eucJP/man/man9/store.9 b/ja_JP.eucJP/man/man9/store.9 index 0fd1e7b321..2dc4a8a3db 100644 --- a/ja_JP.eucJP/man/man9/store.9 +++ b/ja_JP.eucJP/man/man9/store.9 @@ -1,90 +1,90 @@ .\" %NetBSD: store.9,v 1.2 1996/01/09 21:59:27 perry Exp % .\" .\" Copyright (c) 1996 Jason R. Thorpe. .\" All rights reserved. .\" .\" This code is derived from software contributed by Kenneth Stailey. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Jason R. Thorpe. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/store.9,v 1.7 1999/08/28 00:21:32 peter Exp % +.\" %FreeBSD: src/share/man/man9/store.9,v 1.7.2.2 2000/12/12 10:00:57 ru Exp % .\" -.Dd Jan 7, 1996 +.Dd January 7, 1996 .Dt STORE 9 .Os FreeBSD .Sh 名称 .Nm store , .Nm subyte , .Nm susword , .Nm suswintr , .Nm suword .Nd ユーザー空間へのデータの格納 .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Ft int .Fn subyte "void *base" "int byte" .Ft int .Fn susword "void *base" "int word" .Ft int .Fn suswintr "void *base" "int word" .Ft int .Fn suword "void *base" "int word" .Sh 解説 .Nm 関数群はユーザー空間へ小さなデータをコピーするようにデザインされています。 .Pp .Nm ルーチンは以下の機能を提供します。 .Bl -tag -width "suswintr()" .It Fn subyte 1 バイトのデータをユーザー空間のアドレス .Pa base へ格納します。 .It Fn susword 1 ショートワードのデータをユーザー空間のアドレス .Pa base へ格納します。 .It Fn suswintr 1 ショートワードのデータをユーザー空間のアドレス .Pa base へ格納します。 この関数は割り込みコンテキスト中でも安全に呼び出せます。 .It Fn suword 1 ワードのデータをユーザー空間のアドレス .Pa base へ格納します。 .El .Sh 戻り値 .Nm 関数は 0 を返しますが、失敗した場合は -1 を返します。 .Sh 関連項目 .Xr copy 9 , -.Xr fetch 9 . +.Xr fetch 9 diff --git a/ja_JP.eucJP/man/man9/style.9 b/ja_JP.eucJP/man/man9/style.9 index 42341f1fa6..0aa928b4f0 100644 --- a/ja_JP.eucJP/man/man9/style.9 +++ b/ja_JP.eucJP/man/man9/style.9 @@ -1,572 +1,572 @@ .\" Copyright (c) 1995 FreeBSD Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL [your name] OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/style.9,v 1.32.2.4 2000/10/28 10:03:40 alex Exp % +.\" %FreeBSD: src/share/man/man9/style.9,v 1.32.2.6 2000/12/29 10:18:08 ru Exp % .\" .Dd December 14, 1995 .Dt STYLE 9 .Os FreeBSD .Sh 名称 .Nm style .Nd カーネルソースファイルのスタイルガイド .Sh 解説 このファイルは -.Tn FreeBSD +.Fx ソースツリーのカーネルソースに好ましいスタイルを明記しています。 これはユーザランドのコードスタイルの手引きでもあります。 .Bd -literal -offset 0i /* * FreeBSD のためのスタイルガイドです。 * KNF (Kernel Normal Form, カーネル標準書式) に基づいています。 */ /* * とても重要な 1 行のコメントはこのようにします。 */ /* 殆どの 1 行のコメントはこのようにします。 */ /* * 複数行にわたるコメントはこのようにします。実際の文章を書きます。実際の * 段落に見えるように埋めていきます。 */ .Ed .Pp カーネルのインクルードファイル (すなわち、sys/*.h) が初めに来ます。 通常、 または のどちらかが必要ですが、 両方は必要ないでしょう。 をインクルードしており、 依存関係は問題ありません。 .Bd -literal -offset 0i #include /* 角括弧による非ローカルインクルード */ .Ed .Pp ネットワークプログラムである場合は、 次にネットワークインクルードファイルを置きます。 .Bd -literal -offset 0i #include #include #include #include #include .Ed .Pp それから空行を置き、/usr インクルードファイルを続けます。 /usr インクルードファイルはソートされているべきです。 .Bd -literal -offset 0i #include .Ed .Pp グローバルなパス名は /usr/include/paths.h で定義されています。 プログラムにローカルなパス名はローカルディレクトリの pathnames.h に入れます。 .Bd -literal -offset 0i #include .Ed .Pp それから、空行があって、ユーザインクルードファイルが来ます。 .Bd -literal -offset 0i #include "pathnames.h" /* " " によるローカルインクルード */ .Ed .Pp アプリケーションインタフェースを実装している場合を除き、 実装の名前空間で #define したり名前を定義したりしてはいけません。 .Pp .Dq Li 安全でない マクロ (副作用を持っているもの) の名前と、 明らかな定数のマクロの名前はすべて大文字です。 式のように展開されるマクロは、単一のトークンにするか外側に括弧をつけます。 .Ql #define とマクロ名の間にタブ文字を 1 個入れます。 マクロがある関数のインライン展開である場合は、 関数名は全て小文字で、マクロはすべて大文字の同じ名前を持ちます。 .\" XXX 上記は名前が同じマクロを #undef すれば関数を使える .\" という ANSI のスタイルと衝突します。 .\" これは MALLOC() については言えないし、インライン関数を使う時の .\" 一般的なやりかたではありません。 マクロが 1 行以上必要な場合は、ブレース .Po .Sq \&{ と .Sq \&} .Pc を使用します。 バックスラッシュは右揃えします。こうすると読みやすくなります。 マクロが複合文をカプセル化する場合には、それを .Dq Li do ループで囲みます。 これにより、 .Dq Li if 文で安全に使用できます。 最後の文の終端のセミコロンは、 マクロではなくマクロの実施時に付けられるべきです。 これにより、清書器やエディタで文法解析しやすくなります。 .Bd -literal -offset 0i #define MACRO(x, y) do { \e variable = (x) + (y); \e (y) += 2; \e } while(0) .Ed .Pp 列挙値は全て大文字を使用します。 .Bd -literal -offset 0i enum enumtype { ONE, TWO } et; .Ed .Pp 構造体の中で変数を宣言する時には、 使用順、サイズ順、アルファベット順にソートして宣言します。 最初の区分は通常適用しませんが、例外があります。 各宣言は、それぞれ独立した行にて行います。 最初の語の後にタブ文字を 1 個置きます、すなわち .Ql int^Ix; と .Ql struct^Ifoo *x; です。 .Pp 重要な構造体は、それが使用されるファイルの先頭で宣言されるか、 複数のソースファイルで使用される場合は別のヘッダファイルで宣言されるべきです。 構造体がヘッダファイルで宣言されている場合には、 それら構造体の使用は、宣言とは分けられるべきで、かつ "extern" であるべきです。 .Bd -literal -offset 0i struct foo { struct foo *next; /* 使用中の foo リスト */ struct mumble amumble; /* mumble のコメント */ int bar; }; struct foo *foohead; /* グローバルな foo リストの先頭 */ .Ed .Pp 可能な時には必ず、あなた自身でリストを操作するのではなく、 .Xr queue 3 マクロを使用してください。 従って、前の例をより良く書くと次のようになります。 .Bd -literal -offset 0i #include struct foo { LIST_ENTRY(foo) link; /* foo リスト用のキューマクロの糊 */ struct mumble amumble; /* mumble のコメント */ int bar; }; LIST_HEAD(, foo) foohead; /* グローバルな foo リストの先頭 */ .Ed .Pp 構造体の型に typedef を使用する事は避けてください。 使用してしまうと、 構造体へのポインタを不透明 (opaque) に使用することが、 アプリケーションにとって不可能となります。 通常の struct タグを使用すると、これが可能となり、かつ有益です。 規約が typedef を要求する場合には、その名前を構造体タグに一致させます。 標準 C または .Tn POSIX によって明示されたものを除いては、 .Dq Li \&_t で終る typedef を避けてください。 .Bd -literal -offset 0i /* 構造体名と typedef を一致させます */ typedef struct _bar { int level; } BAR; .Ed .Pp 全ての関数はどこかでプロトタイプされます。 .Pp 私的な関数 (すなわち、他のどこでも使用されない関数など) の関数プロトタイプは、 最初のソースモジュールの先頭に置かれます。 単一のソースモジュールにローカルな関数は、 .Ql static で宣言されるべきです。 .Pp カーネルの別の部分から使用される関数は、 関連のあるインクルードファイルの中でプロトタイプされます。 .Pp 複数のモジュールでローカルに使用される関数は、 .Pa extern.h 等の分離したヘッダファイルの中に置かれます。 .Pp 一般にソースファイルが K&R 旧約聖書コンパイラで コンパイル可能である (べき) 時にのみ、 インクルードファイル の __P マクロを使用します。 新しいコードでの __P マクロの使用は反対されていますが、 既存のファイルに対する修正はそのファイルの規約と首尾一貫しているべきです。 .Pp ファイルの 50% かそれ以上を巻き込んだ修正の場合は、 一般にコードは .Dq 新しいコード とみなすことができます。 これは既存のコードの慣例を破り、 現在のスタイルガイドラインを使用するのに十分です。 .Pp カーネルはパラメータの型に関連付けられた名前を持ちます。 例えば、カーネル内でこのように使用します。 .Bd -literal -offset 0i void function(int fd); .Ed .Pp ユーザランドのアプリケーションに対して見えるヘッダファイルの中では、 可視のプロトタイプは、 型を伴った保護された名前を使用するか、 型だけで名前を使用しないかのどちらかが必要です。 保護された名前の使用がより望ましいです。 例えば、このように使用します。 .Bd -literal -offset 0i void function(int); .Ed .Pp または .Bd -literal -offset 0i void function(int _fd); .Ed .Pp プロトタイプは関数名の行揃えを行なうために、タブの後に追加のスペース文字を 置いても構いません。 .Bd -literal -offset 0i static char *function(int _arg, const char *_arg2, struct foo *_arg3, struct bar *_arg4); static void usage(void); /* * 全ての主要なルーチンはそれが何をするのかを簡潔に記述した * コメントを持つべきです。"main" ルーチンの前のコメントは * そのプログラムが何をするのかを記述するべきです。 */ int main(int argc, char *argv[]) { long num; int ch; char *ep; .Ed .Pp 一貫性のために、オプションの解析には getopt が使用されるべきです。 getopt 呼び出しと switch 文では、オプションをソートすべきですが、 switch 文のカスケードの一部の場合は例外です。 switch 文のカスケード要素は FALLTHROUGH コメントを持つべきです。 数値の引数は精度をチェックされるべきです。 到達できないコードは NOTREACHED コメントを持つべきです。 .Bd -literal -offset 0i while ((ch = getopt(argc, argv, "abn")) != -1) switch (ch) { /* switch をインデント */ case 'a': /* case はインデントしない */ aflag = 1; /* FALLTHROUGH */ case 'b': bflag = 1; break; case 'n': num = strtol(optarg, &ep, 10); if (num <= 0 || *ep != '\e0') { warnx("illegal number, -n argument -- %s", optarg); usage(); } break; case '?': default: usage(); /* NOTREACHED */ } argc -= optind; argv += optind; .Ed .Pp 予約語 (if, while, for, return, switch) の後にスペースを入れます。 何も伴わないかただ 1 つの文を伴う制御文は、ブレースを使用しません。 1 つの文が 複数行である文の場合には、これは許されます。 無限ループは while ではなく for で行ないます。 .Bd -literal -offset 0i for (p = buf; *p != '\e0'; ++p) ; /* 何もなし */ for (;;) stmt; for (;;) { z = a + really + long + statement + that + needs + two lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines; } for (;;) { if (cond) stmt; } if (val != NULL) val = realloc(val, newsize); .Ed .Pp for ループの各部は空のまま残しても構いません。 異常に複雑なルーチンでない限りは、ブロックの中に宣言を置いてはなりません。 .Bd -literal -offset 0i for (; cnt < 15; cnt++) { stmt1; stmt2; } .Ed .Pp インデントは 8 文字のタブです。 第 2 レベルのインデントは 4 文字のスペースです。 .Bd -literal -offset 0i while (cnt < 20) z = a + really + long + statement + that + needs + two lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines. .Ed .Pp 空白文字を行末に追加してはいけません。 また、インデントを形成するためには、タブとその後にスペースのみを使用します。 タブが生み出す以上のスペースや、タブの前のスペースは使用しません。 .Pp ブレースの終了と開始は else と同じ行に置かれます。 必要でないブレースは省いても構いません。 .Bd -literal -offset 0i if (test) stmt; else if (bar) { stmt; stmt; } else stmt; .Ed .Pp 関数名の後はスペースを空けません。 コンマの後にはスペースを持ちます。 .Sq \&( または .Sq \&[ の後ろまたは .Sq \&] または .Sq \&) の前にはスペースを空けません。 .Bd -literal -offset 0i if (error = function(a1, a2)) exit(error); .Ed .Pp 単項演算子はスペースを要求しませんが、二項演算子は要求します。 優先順位が要求する場合または文が括弧なしでは混乱する場合以外は、 括弧は使用しません。 他人はあなたよりも混乱しやすいかもしれないということを覚えておいてください。 あなたは以下を理解できますか? .Bd -literal -offset 0i a = b->c[0] + ~d == (e || f) || g && h ? i : j >> 1; k = !(l & FLAGS); .Ed .Pp 成功時には 0 で、または .Xr sysexits 3 にあらかじめ定義してある値で exit するべきです。 .Bd -literal -offset 0i exit(EX_OK); /* * "Exit 0 on success." (成功時は 0 で終了) * の様に明白なコメントは避けてください */ } .Ed .Pp 関数の型は、関数自身に先行する行にあるべきです。 .Bd -literal -offset 0i static char * function(int a1, int a2, float fl, int a4) { .Ed .Pp 関数の中で変数を宣言する時には、サイズ順に、次にアルファベット順に ソートして宣言します。 1 行に複数の宣言は可能です。 リンケージのスコープが常にグローバルになるため、 関数の中での関数の宣言は推奨されません。 行が溢れる場合は、型の予約語を再度使用します。 .Pp 宣言時に変数を初期化することによってコードを 不明瞭にしない様に注意してください。 この機能は良く考えて使用してください。 初期化に関数呼び出しを使用しないでください。 .Bd -literal -offset 0i struct foo one, *two; double three; int *four, five; char *six, seven, eight, nine, ten, eleven, twelve; four = myfunction(); .Ed .Pp 他の関数の内部で関数を宣言しないでください。 ANSI C によると、このような宣言は、宣言のネスティングによらず、 ファイルスコープになります。 ローカルスコープに見えるものの中にファイルの宣言を隠すことは好ましくなく、 良いコンパイラは苦情を言います。 .Pp キャストと sizeof 演算子の後にはスペースを続けません。 この規則は .Xr indent 1 が理解しないことに注意してください。 .Pp NULL は、好まれるヌルポインタ定数です。 コンパイラが型を知っている文脈、例えば代入では、 (type *)0 または (type *)NULL の代わりに、NULL を使用します。 他の文脈では、特に全ての関数の引数では、 (type *)NULL を使用します。 (関数のプロトタイプがスコープ外かもしれない場合に、 キャストはいろいろな引数にとって必須で、その他の引数にとっても必要です。) ポインタは NULL と比較します。例えば、 .Bd -literal -offset 0i !(p = f()) .Ed .Pp ではなく、このように使います。 .Bd -literal -offset 0i (p = f()) == NULL .Ed .Pp 真理値ではない場合、テストには '!' を使用しないでください。 例えば、下記のように使います。 .Bd -literal -offset 0i if (*p == '\e0') .Ed .Pp 下記のようには使いません。 .Bd -literal -offset 0i if (!*p) .Ed .Pp void * を返すルーチンでは、 戻り値をどのポインタ型にもキャストしてはなりません。 .Pp .Xr err 3 または .Xr warn 3 を使用し、勝手に作らないでください。 .Bd -literal -offset 0i if ((four = malloc(sizeof(struct foo))) == NULL) err(1, (char *)NULL); if ((six = (int *)overflow()) == NULL) errx(1, "Number overflowed."); return (eight); } .Ed .Pp 古いスタイルの関数宣言はこのようになっています。 .Bd -literal -offset 0i static char * function(a1, a2, fl, a4) int a1, a2; /* int 型も宣言します、デフォルトにしないこと */ float fl; /* double と float の違いに気を付けてください */ int a4; /* 出てきた順に宣言します */ { .Ed .Pp あなたが明確に K&R との互換性を必要とする場合以外は、 ANSI の関数宣言を使用してください。 .Pp 可変個数の引数はこのようにします。 .Bd -literal -offset 0i #include void vaf(const char *fmt, ...) { va_list ap; va_start(ap, fmt); STUFF; va_end(ap); /* void 型の関数に return は不要です */ } static void usage() { /* 関数がローカル変数を持たない場合、空行をいれます */ .Ed .Pp fputs/puts/putchar 等ではなく、 .Xr printf 3 を使用してください。 これは速くて大抵はきれいで、言うまでもなくつまらないバグを避けます。 .Pp 使用法 (usage) の文はマニュアルページの書式の様であるべきです。 使用法の文は、次の構造であるべきです: .Pp -.Bl -enum -compat +.Bl -enum .It オペランドの無いオプションが、最初にアルファベット順に、 1 組の大括弧 .Po .Sq \&[ と .Sq \&] .Pc でくくられます。 .It オプションとそのオペランドがこれもアルファベット順に続き、 それぞれのオプションとその引数を 1 組の大括弧でくくります。 .It 必須の引数 .Pq もしあれば が続き、 コマンドラインで指定されるべき順で一覧されます。 .It 最後に、 すべての任意の引数が指定されるべき順で、 すべて大括弧の中に一覧されます。 .El .Pp 縦棒 .Pq Sq \&| は、二者択一のオプションまたは引数を分割し、 同時に使用するオプションと引数は、単一の大括弧でくくります。 .Pp .Bd -ragged -offset 0.3i "usage: f [-aDde] [-b b_arg] [-m m_arg] req1 req2 [opt1 [opt2]]\en" "usage: f [-a | -b] [-c [-dEe] [-n number]]\en" .Ed .Bd -literal -offset 0i (void)fprintf(stderr, "usage: f [-ab]\en"); exit(EX_USAGE); } .Ed .Pp 新しい中心的なカーネルのコードは、適度にスタイルガイドに従うべきです。 サードパーティが保守するモジュールやデバイスドライバのためのガイドラインは より緩やかですが、最低限内部的には彼らの一貫したスタイルであるべきです。 .Pp ソースリポジトリの文体の変更 (空白文字の変更を含む) は困難で、 正当な理由なしには避けるべきです。 リポジトリの中のおおよそ .Xr style 9 に適合しているコードは、この適合から離れてはなりません。 .Pp 可能な時にはいつでも、 コードはコードチェッカ (例えば、"gcc -Wall" または xlint(1)) を 通過し、発生する警告は最小限となるべきです。 .Sh 関連項目 .Xr indent 1 , .Xr err 3 , .Xr sysexits 3 , .Xr warn 3 .Sh 歴史 このページは .Tn BSD 4.4-Lite2 release の src/admin/style/style ファイルに大きく基づいていて、 現在の実装と -.Tn FreeBSD +.Fx プロジェクトの要望を反映して、更新してあります。 diff --git a/ja_JP.eucJP/man/man9/uio.9 b/ja_JP.eucJP/man/man9/uio.9 index 55718af1df..25e0613bb3 100644 --- a/ja_JP.eucJP/man/man9/uio.9 +++ b/ja_JP.eucJP/man/man9/uio.9 @@ -1,176 +1,175 @@ .\" .\" Copyright (c) 1997 Joerg Wunsch .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/uio.9,v 1.5 1999/08/28 00:21:34 peter Exp % +.\" %FreeBSD: src/share/man/man9/uio.9,v 1.5.2.1 2000/12/08 14:59:20 ru Exp % .\" " .Dd February 2, 1997 .Os .Dt UIO 9 .Sh 名称 .Nm uio , .Nm uiomove .Nd デバイスドライバ入出力ルーチン .Sh 書式 .Fd #include .Fd #include .Pp .Bd -literal struct uio { struct iovec *uio_iov; int uio_iovcnt; off_t uio_offset; int uio_resid; enum uio_seg uio_segflg; enum uio_rw uio_rw; struct proc *uio_procp; }; .Ed .Ft int .Fn uiomove "caddr_t buf" "int howmuch" "struct uio *uiop" .Sh 解説 .Fn uiomove 関数は、ユーザ空間とカーネル空間の境界を越えることさえ可能で、 バッファと入出力ベクタ間のデータ転送の実行に使用されます。 .Pp 文字型デバイスのドライバに渡された、あらゆる .Xr read 2 , .Xr write 2 , .Xr readv 2 ないし .Xr writev 2 システムコールの結果として、適切なドライバの .Em read または .Em write エントリが .Fa "struct uio" 構造体のポインタを渡されて呼び出されます。 転送のリクエストは、この構造体の中にエンコードされます。 ドライバ自身もこの構造体の中のデータを取り出すために .Fn uiomove を使用するべきです。 .Pp uio 構造体の各フィールドは下記のとおりです。 .Bl -tag -width "uio_iovcntX" -compact .It Dv uio_iov 処理すべき入出力ベクタの配列です。 散在的な入出力の場合には、一つ以上のベクタとなるでしょう。 .It Dv uio_iovcnt 存在している入出力ベクタの数を示します。 .It Dv uio_offset デバイスのオフセットです。 .It Dv uio_resid 処理すべきバイト数です。 .It Dv uio_segflg 以下のフラグの中の一つです。 .Bl -tag -width "UIO_USERISPACEX" -compact .It Dv UIO_USERSPACE 入出力ベクタはプロセスのアドレス空間を指しています。 .It Dv UIO_SYSSPACE 入出力ベクタはカーネルのアドレス空間を指しています。 .It Dv UIO_USERISPACE 入出力ベクタはプロセスのアドレス空間の命令領域を指しています。 .It Dv UIO_NOCOPY オブジェクト中に既にデータがあり、コピーしません。 .El .It Dv uio_rw 要求された転送の方向を示し、 .Dv UIO_READ または .Dv UIO_WRITE です。 .It Dv uio_procp プロセスに関連付けられた .Li struct proc 構造体へのポインタです。 .Dv uio_segflg がプロセスのアドレス空間との転送をすべきであると示している場合に 使用されます。 .El .Sh 具体例 考え方として、ドライバはデータのためのプライベートなバッファの保守を行ない、 このバッファの最大サイズのデータのかたまりの要求を処理します。 下記のバッファの取り扱いはとても簡略化されていて 恐らく動きません(バッファのポインタは部分的な読み込みの場合進みません)し、 uio の取り扱いを実際にやって見せているだけだ、ということに注意してください。 .Bd -literal /* MIN() の定義はこの中にあります */ #include #define BUFSIZE 512 static char buffer[BUFSIZE]; static int data_available; /* 読み込めるデータ量 */ static int fooread(dev_t dev, struct uio *uio, int flag) { int rv, amnt; while (uio->uio_resid > 0) { if (data_available > 0) { amnt = MIN(uio->uio_resid, data_available); if ((rv = uiomove((caddr_t)buffer, amnt, uio)) != 0) goto error; data_available -= amnt; } else { tsleep(...); /* より良い時期まで待つ */ } } return 0; error: /* エラーのクリーンアップをここで行なう */ return rv; } .Ed .Sh 戻り値 .Fn uiomove は プロセスのアドレス空間との転送の場合に、 .Xr copyin 9 または .Xr copyout 9 によって引き起こされた .Er EFAULT を返すことがあります。 .Sh 関連項目 .Xr read 2 , .Xr readv 2 , .Xr write 2 , .Xr writev 2 , .Xr copyin 9 , .Xr copyout 9 , .Xr sleep 9 .Sh 歴史 uio の仕組みはある早期のバージョンの .Ux で登場しました。 .Sh 作者 このマニュアルページは -.ie t J\(:org Wunsch -.el Joerg Wunsch +.An J\(:org Wunsch が書きました。 diff --git a/ja_JP.eucJP/man/man9/vslock.9 b/ja_JP.eucJP/man/man9/vslock.9 index 75733ea7a5..51983d16de 100644 --- a/ja_JP.eucJP/man/man9/vslock.9 +++ b/ja_JP.eucJP/man/man9/vslock.9 @@ -1,74 +1,74 @@ .\" %NetBSD: vslock.9,v 1.1 1996/06/15 20:47:29 pk Exp % .\" .\" Copyright (c) 1996 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Paul Kranenburg. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the 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 REGENTS OR CONTRIBUTORS BE .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (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/vslock.9,v 1.4 1999/08/28 00:21:35 peter Exp % +.\" %FreeBSD: src/share/man/man9/vslock.9,v 1.4.2.1 2000/12/12 10:00:57 ru Exp % .\" -.Dd Jun 15, 1996 +.Dd June 15, 1996 .Dt VSLOCK 9 .Os FreeBSD .Sh 名称 .Nm vslock , .Nm vsunlock .Nd ユーザー空間のアドレスのメモリへのロックとアンロック .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft void .Fn vslock "caddr_t addr" "u_int len" .Ft void .Fn vsunlock "caddr_t addr" "u_int len" "int dirtied" .Sh 解説 .Fn vslock および .Fn vsunlock 関数は現在実行中のプロセスに属するアドレスの範囲を メモリ中にそれぞれロックしたりアンロックしたりします。 ロックされる実際のメモリ量はマシンのページサイズの倍数になります。 開始ページナンバーは .Fa addr をすぐ前のページ境界に切りつめられ、終了ページは .Fa addr + .Fa len の次のページ境界に切り上げられて計算されます。 この操作に使用されるプロセスのコンテキストはグローバル変数 .Va curproc を参照します。 .Pp .Sh 関連項目 .Xr physio 9 .Sh バグ 引数としてプロセスのポインタを渡すべきです。