diff --git a/ja/man/man1/cksum.1 b/ja/man/man1/cksum.1 index d868b2cbca..c244454539 100644 --- a/ja/man/man1/cksum.1 +++ b/ja/man/man1/cksum.1 @@ -1,188 +1,190 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)cksum.1 8.2 (Berkeley) 4/28/95 -.\" %Id: cksum.1,v 1.7 1997/11/09 16:08:11 obrien Exp % +.\" %Id: cksum.1,v 1.7.2.1 1999/06/24 06:28:01 mpp Exp % +.\" .\" jpman %Id: cksum.1,v 1.4 1997/08/10 18:27:42 horikawa Stab % .\" .Dd April 28, 1995 .Dt CKSUM 1 .Os BSD 4.4 .Sh 名称 -.Nm cksum +.Nm cksum , +.Nm sum .Nd ファイルのチェックサムとブロックカウントを表示する .Sh 書式 .Oo .Fl o Ar \&1 Xo .No \&| .Ar \&2 .No \&| .Ar \&3 .Xc .Oc .Op Ar file ... .Nm sum .Op Ar file ... .Sh 解説 .Nm cksum ユーティリティは、各入力ファイルに対して、 空白で区切られた 3 つのフィールドを標準出力に出力します。 これら 3 フィールドはそれぞれ、 チェックサム .Tn CRC 、ファイル中のオクテット数、そしてファイル名です。 ファイルが一つも指定されない場合は標準入力が用いられ、 ファイル名は表示されません。 .Pp .Nm sum ユーティリティは .Nm cksum ユーティリティと同じですが、 以降で解説するデフォルトで歴史的アルゴリズム 1 を使用する点が異なります。 互換性のためだけに提供されています。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl o デフォルトの(より優れた)アルゴリズムに代えて、 歴史的なアルゴリズムを用います。 .Pp アルゴリズム 1 は .Xr sum 1 のアルゴリズムとして歴史的な .Bx システムにおいて、また、 .Fl r オプション付きで用いる場合の .Xr sum アルゴリズムとして歴史的な .At V システムにおいて用いられてきたものです。 これは加算のたびに右ローテーションを行う 16 ビットチェックサムであり、 算出あふれは無視されます。 .Pp アルゴリズム 2 はデフォルトの .Xr sum アルゴリズムとして歴史的な .At V システムで用いられてきたものです。 これは 32 ビットのチェックサムであり、以下のように定義されます: .Bd -unfilled -offset indent s = sum of all bytes; r = s % 2^16 + (s % 2^32) / 2^16; cksum = (r % 2^16) + r / 2^16; .Ed .Pp アルゴリズム 3 は一般に .Ql 32bit CRC アルゴリズムと呼ばれているものです。これは 32-bit チェックサムです。 .Pp アルゴリズム 1, 2 のいずれも、デフォルトアルゴリズムと同じフィールドを 標準出力に書き出します。 ただし、ファイルサイズはバイト単位ではなくブロック単位となります。 歴史的理由から、アルゴリズム 1 ではブロックサイズは 1024、 アルゴリズム 2 では 512 となっています。 ブロックに満たない部分は切り上げられます。 .El .Pp デフォルトで用いられる .Tn CRC は、 ネットワークの規格 .St -iso8802-3 における .Tn CRC エラーチェックに用いられる多項式に基づいています。 .Tn CRC チェックサムエンコーディングは、次の生成多項式で定義されます: .Pp .Bd -unfilled -offset indent G(x) = x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1 .Ed .Pp 数学的には、与えられたファイルに対応する .Tn CRC 値は次の手順で定義されます。 .Bd -filled -offset indent 評価される .Ar n ビットは、2 を法とする .Ar n Ns \-1 次多項式 M(x) の係数とみなされます。 これらの .Ar n ビットはファイルから得られますが、 ファイルの最初のオクテットの最上位ビットを最上位、 最後のオクテットの最下位ビットを最下位とします。 (必要なら)ゼロビットを埋めてオクテット単位に取りまとめ、 ファイルの長さをバイナリ値で表現した 1 個あるいは それ以上のオクテット(最下位オクテットが先)がそれに続きます。 この整数を表現可能な最小個数のオクテットが用いられます。 .Pp M(x) は x^32 倍(すなわち 32 ビットの左シフト)し、 2 を法として G(x) で割ります。 その結果 31 次以下の剰余 R(x) が得られます。 .Pp R(x) の係数は 32 ビットのビット列と見なされます。 .Pp そのビット列を反転した結果が CRC です。 .Ed .Pp .Nm cksum および .Nm sum ユーティリティは成功時には 0 を、エラー発生時には正の値を返します。 .Sh 関連項目 .Xr md5 1 .Rs デフォルトの計算方法は、次の .Tn ACM 論文で疑似コードを用いて記述されているものと等価です。 .Rs .%T "Computation of Cyclic Redundancy Checks Via Table Lookup" .%A Dilip V. Sarwate .%J "Communications of the \\*(tNACM\\*(sP" .%D "August 1988" .Re .Sh 規格 .Nm cksum ユーティリティは .St -p1003.2-92 を満していると考えられています。 .Sh 歴史 .Nm cksum ユーティリティは .Bx 4.4 から登場しました。 diff --git a/ja/man/man1/ctm_rmail.1 b/ja/man/man1/ctm_rmail.1 index 17e1f8d2ba..fd0a8403ec 100644 --- a/ja/man/man1/ctm_rmail.1 +++ b/ja/man/man1/ctm_rmail.1 @@ -1,502 +1,504 @@ .\" NOTICE: This is free documentation. I hope you get some use from these .\" words. In return you should think about all the nice people who sweat .\" blood to document their free software. Maybe you should write some .\" documentation and give it away. Maybe with a free program attached! .\" .\" Author: Stephen McKay .\" -.Dd January 24, 1995 .\" jpman %Id: ctm_rmail.1,v 1.3 1997/09/27 16:25:48 ryo2 Stab % +.Dd January 24, 1995 .Dt CTM_MAIL 1 .Os .Sh 名称 -.Nm ctm_smail, ctm_rmail +.Nm ctm_smail , +.Nm ctm_dequeue , +.Nm ctm_rmail .Nd メールを介しての .Nm ctm デルタの送受信 .Sh 書式 .Nm ctm_smail .Op Fl l Ar log .Op Fl m Ar maxmsgsize .Op Fl c Ar maxctmsize .Op Fl q Ar queue-dir .Ar ctm-delta .Ar mail-alias .Nm ctm_dequeue .Op Fl l Ar log .Op Fl n Ar numchunks .Ar queue-dir .Nm ctm_rmail .Op Fl Dfuv .Op Fl l Ar log .Op Fl p Ar piecedir .Op Fl d Ar deltadir .Op Fl b Ar basedir .Op Ar .Sh 解説 .Nm ctm_smail , .Nm ctm_dequeue , .Nm ctm_rmail は .Xr ctm 1 コマンドと組み合わせて、 ソースツリーへの変更を電子メールで配布するために使われます。 .Nm ctm_smail には圧縮した .Xr ctm のデルタとそれを送るメーリングリストを与えます。 するとデルタを送信できる大きさに切り分けて、メールメッセージとして エンコードしたものをメーリングリストに送ります (メールの負荷を分散させるためにキューに入れるように選択できます)。 各受信者は .Nm ctm_rmail を使い (手動または自動で) デルタのデコードと再組み立てを行い、 それをソースツリーに適用するために .Xr ctm を呼び出すようにも指定できます。 現在、 いくつかのソースツリーが、いくつかのサイトによって配布されています。 その中には .Li freefall.FreeBSD.org が配布している FreeBSD-current のソースと CVS のツリーもあります。 .Pp .Nm ctm_smail のコマンドラインの引数には以下があります: .Bl -tag -width indent .It Fl l Ar log .Em stderr に出力する代わりに、 (コマンドラインのエラー以外の) エラー診断と情報メッセージ にタイムスタンプを付けた物がファイル .Em log に書き込まれます。 .It Fl m Ar maxmsgsize .Nm ctm_smail が送信できるメールメッセージの最大サイズを制限します。 メールヘッダとその他の細かい物をこの制限に入れていないため およその値となります。 指定されないとデフォルトは、メールの限界と噂される 64k に対して ヘッダのための 1535 バイトを残した 64000 バイトです。 .It Fl c Ar maxctmsize 送信されるデルタの最大サイズを制限します。この制限より大きいデルタは 謝罪メールをメーリングリストに送り出します。 これは大幅な変更でユーザのメールボックスを圧迫してしまうのを 避けるためです。これはエンコードする前のサイズなので注意して下さい。 エンコードされるとメールヘッダを付ける前でサイズは 4/3 倍になります。 指定されないと無制限になります。 .It Fl q Ar queue-dir デルタのかけらをメールする代わりに、後で .Nm ctm_dequeue を使ってメールされるように指定されたディレクトリに格納します。 この機能によって、巨大なデルタを数時間または数日にも渡って分散させ、 ネットワークのバンド幅が狭かったりメールのスプール領域が小さい 受信者へのインパクトを押えることが可能です。 .El .Pp .Ar ctm-delta は送信されるデルタで、 .Ar mail-alias はデルタを送信するメーリングリストです。 メールメッセージは .Xr sendmail 8 を使って送信されます。 .Pp .Nm ctm_dequeue のコマンドラインの引数には以下があります: .Bl -tag -width indent .It Fl l Ar log .Em stderr に出力する代わりに、 (コマンドラインのエラー以外の) エラー診断と情報メッセージ にタイムスタンプを付けた物がファイル .Em log に書き込まれます。 .It Fl n Ar numchunks 1 回の .Nm ctm_dequeue の実行で送信するメールメッセージの数を制限します。 デフォルトでは、 .Nm ctm_dequeue は 1 回の実行で 1 つのメールメッセージを送信します。 .El .Pp .Ar queuedir は .Nm ctm_smail が格納したメールメッセージのあるディレクトリです。 .Ar numchunks 個までのメールメッセージが実行ごとに送信されます。 受信者のメーリングリストは、溜められたファイルに すでにエンコードされています。 .Pp .Nm ctm_smail がキューにエントリを追加している最中や、複数の .Nm ctm_smail を並行に実行している最中でも .Nm ctm_dequeue を安全に実行できますが、配布される各ツリーごとに独立した キューのディレクトリを使うべきです。 これはエントリがアルファベット順に処理されるので、デルタの 作成時刻ではなく、デルタ名に従って 1 つのツリーが他の物より 前に処理されて不公平になるからです。 .Pp .Nm ctm_rmail のコマンドラインの引数には以下があります: .Bl -tag -width indent .It Fl l Ar log .Em stderr に出力する代わりに、 (コマンドラインのエラー以外の) エラー診断と情報メッセージ にタイムスタンプを付けた物がファイル .Em log に書き込まれます。 .It Fl p Ar piecedir デルタのかけらをこのディレクトリに集めます。 それぞれのかけらは 1 つのメールメッセージに対応します。 かけらは完全なデルタが出来上がると削除されます。 もし このフラグが指定されないと、入力ファイルは読まれませんが、 .Fl b フラグが指定されていれば完成しているデルタは .Xr ctm を使って適用されるかもしれません。 .It Fl d Ar deltadir このディレクトリ内の完成したデルタを集めます。デルタは、すべてのかけらが 揃っている時に 1 つ以上のかけらから組み立てられます。 .It Fl b Ar basedir 完成しているデルタを このソースツリーに適用します。このフラグが 指定されていない場合、デルタは格納されますが適用はされません。 ユーザは手動、または .Nm ctm_rmail を .Fl p フラグ無しで使ってデルタを適用できます。 もしデルタが .Ar basedir の .Li .ctm_status ファイルとマッチしない場合 (もしくは .Li .ctm_status が存在しない場合) には、デルタは適用されません。 .It Fl D .Xr ctm による適用が成功した後でデルタを削除します。 .Xr ctm はデルタのフルセットからファイルの小グループを回復する機能を 持つので、このフラグを避けて (そしてすべてのデルタを取って) おくのが 良いでしょう。 .It Fl f fork して .Xr ctm でのデルタの適用をバックグラウンドで実行します。 これは .Xr sendmail から .Nm ctm_rmail を自動的に呼び出す場合に有効です。なぜなら .Xr ctm は終了までに、とても長い時間を要し、それによって他の人のメールを 遅らせる原因になり、理論的にはリモート側の .Xr sendmail のタイムアウトによるメールの不要な再送信や、 .Xr "MH" の .Xr slocal のようなメールフィルタによる .Nm ctm_rmail の強制終了を引き起こす可能性があるからです。 膨大な数のバックグラウンドの .Xr ctm プロセスでマシンに負荷がかかる心配はありません。同時に 2 つ以上の .Xr ctm が起動されないようにロックが行われているからです。 .It Fl u 完成したデルタを適用する時に .Fl u フラグを .Xr ctm コマンドに渡します。これによって作成、変更されたファイルの 変更時刻が CTM デルタの作成時刻にセットされます。 .It Fl v 完成したデルタを適用する時に .Fl v フラグを .Xr ctm コマンドに渡します。これによってより多くの情報出力が得られます。 すべての .Xr ctm からの出力は .Nm ctm_rmail のログファイルに記録されます。 .El .Pp 引数のファイル (もし無ければ .Em 標準入力 ) がデルタのかけらとしてスキャンされます。 1 つのファイルから複数のデルタのかけらを読む事ができるので、 メールドロップ全体を 1 回のコマンドでスキャンして処理できます。 .Pp .Nm ctm_rmail を並行に (異なる入力ファイルで) 複数回起動しても安全です。 .Xr sendmail .nh がメールを非同期に配送した時にこのようなことが起こり得ます。 これは処理を順序通りに保つためにロックが行われているからです。 .Sh ファイルフォーマット 以下は実際の (とても小さい) デルタのかけらの重要部分です: .Bd -literal From: owner-src-cur To: src-cur Subject: ctm-mail src-cur.0003.gz 1/4 CTM_MAIL BEGIN src-cur.0003.gz 1 4 H4sIAAAAAAACA3VU72/bNhD9bP0VByQoEiyRSZEUSQP9kKTeYCR2gDTdsGFAwB/HRogtG5K8NCj6 v4+UZSdtUQh6Rz0eee/xaF/dzx8up3/MFlDkBNrGnbttAwyo1pxoRgoiBNX/QJ5d3c9/X8DcPGGo lggkPiXngE4W1gUjKPJCYyk5MZRbIqmNW/ASglIFcdwIzTUxaAqhnCPcBqloKEkJVNDMF0Azk+Bo dDzzk0Ods/+A5gXv9YyJHjMCtJwQNeESNma7hOmXDRxn CTM_MAIL END 61065 .Ed .Pp メッセージのサブジェクトは常に .Dq ctm-mail で始まりデルタの名前、いくつ目のかけらか、そして全部でいくつの かけらがあるのかが続きます。データは .Dq CTM_MAIL BEGIN と .Dq CTM_MAIL END という行で囲まれており、サブジェクト行の情報の複製、加えて単純な チェックサムが付きます。 .Pp デルタが .Ar maxctmsize を超えると、代わりに以下のようなメッセージが送られます: .Bd -literal From: owner-src-cur To: src-cur Subject: ctm-notice src-cur.0999.gz src-cur.0999.gz is 792843 bytes. The limit is 300000 bytes. このデルタは ftpmail か、または大学の仲良しから得られます。 .Ed .Pp これでもうあなたのものです! .Sh 使用例 .Em src-cur の 32 番目のデルタを .Em src-guys として .Xr sendmail に登録されている素晴らしいコードハッカーのグループに、 メールのサイズをおよそ 60000 バイトに制限して送るためには 以下のように出来ます: .Bd -literal -offset indent ctm_smail -m 60000 /wherever/it/is/src-cur.0032.gz src-guys .Ed .Pp メールボックスの各 .Nm ctm-mail メッセージをデコードして、それらを完全なデルタに組み立て、そして 出来上がったデルタやそこらに転がっているデルタはどれも、 以下のように適用出来ます: .Bd -literal -offset indent ctm_rmail -p ~/pieces -d ~/deltas -b /usr/ctm-src-cur $MAIL .Ed .Pp ( .Nm ctm_rmail はメッセージを削除しないので注意して下さい。 削除には どんなメールリーダでも使用できます。) .Pp .Em receiver-dude という名前の自動的にデコードとデルタの組み立てを行うけれども、 それらの適用は行わないようなメールエイリアスは、以下の行を .Pa /etc/aliases ファイルに入れる事で作成可能です ( .Pa /ctm/tmp と .Pa /ctm/deltas ディレクトリ そして .Pa /ctm/log ファイルが .Em daemon ユーザか .Em wheel グループで書き込み可能な事を仮定しています) : .Bd -literal -offset indent receiver-dude: "|ctm_rmail -p /ctm/tmp -d /ctm/deltas -l /ctm/log" owner-receiver-dude: real_dude@wherever.you.like .Ed .Pp 2 行目は、失敗した場合にそれを通常のメールボックスか、または どこか好きな所へ転送するためにあります。 .Pp 集められた全デルタを適用して、適用したものを削除するには以下のように します: .Bd -literal -offset indent ctm_rmail -D -d /ctm/deltas -b /ctm/src-cur -l /ctm/apply.log .Ed .Pp 柔軟性を最大限生かすためには、この .Xr procmail スクリプトからの引用の利用を考えてみて下さい: .Bd -literal -offset indent PATH=$HOME/bin:$PATH :0 w * ^Subject: ctm-mail cvs-cur | ctm_incoming .Ed .Pp 以下のシェルスクリプト .Pa ~/bin/ctm_incoming と一緒に使います: .Bd -literal -offset indent #! /bin/sh PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin" export PATH cd $HOME/ctm && ctm_rmail -f -p pieces -d deltas -l log -b /ctm .Ed .Pp これは全部の .Xr ctm デルタを .Pa ~/ctm/deltas に置き、それらを .Pa /ctm 内のツリーに適用し、失敗したものは、すべてあなたの通常の メールボックスに落します。 .Pa ctm_incoming での .Ev PATH の操作は、このサンプルを取って来た (FreeBSD でない) マシンで .Nm ctm_rmail から .Xr ctm の実行を可能にするためのものです。 .Sh セキュリティ 自動的にメールを取ってファイルツリーへのパッチプログラムに 渡している場合、あなたのシステムへの鍵をクラッカーに手渡していると 考えるかも知れません。幸い、損害を起こす窓はとても小さいのです。 .Nm ctm_rmail は、 (デルタ名中の いかなる .Dq / 文字も信用しないことによって) 与えられたディレクトリのみにしか書き込まないように注意しています。 そして最新の .Xr ctm では操作するファイルに絶対パス名と .Dq \&\.\. を許可していないので、最悪でも失われる可能性のあるのは (デルタから復元できる) 二、三のソースツリーのファイルだけなのです。 .Xr ctm はファイルにさわる前に .Xr md5 によるチェックサムが合致する事を要求するので、ソースの受信者だけが 偽造したデルタを生成できる可能性を持ち、そして そういう人達が そんなことを考えるはずもありません! :-) .Pp この可能性さえも暗号化された署名で取り除く事が可能です。 将来の強化の可能性は、 .Nm PGP を使った安全なラッパの提供があります。 .\" This next request is for sections 1, 6, 7 & 8 only .Sh 環境変数 デルタを適用するのならば .Xr ctm 1 と .Xr gunzip 1 が .Ev PATH に含まれていなければなりません。 .Sh 関連ファイル .Bl -tag -width indent .It Pa QUEUEDIR/* メールメッセージとしてエンコードされて、メーリングリストに 送信されるのを待っているデルタのかけら。 .It Pa PIECEDIR/* 残りのかけらの到着を待っているデルタのかけら。 .It Pa DELTADIR/* 完成したデルタ。 .It Pa BASEDIR/.ctm_status このソースツリーに次に適用されるべきデルタの名前と番号を含むファイル。 .\" This next request is for sections 1, 6, 7 & 8 only .\" (command return values (to shell) and fprintf/stderr type diagnostics) .Sh 診断 .Nm ctm_smail , .Nm ctm_dequeue , .Nm ctm_rmail は正常に終了するとステータスとして 0 を、何らかの障害が あった場合は 1 を返します。 .Nm ctm_rmail は、メールの配送プログラムから呼ばれる事を想定しています。そして そのため入力されたメールメッセージが (送信者にではなく、 なるべく あなたの通常のメールドロップに) 返送されるべき状態に なった時にのみ障害を通知するようになっています。 いいかえれば、完成したデルタを .Xr ctm で適用する際に発生した障害はメールを返送する程に重要なエラーでは ないと判断されて、 .Nm ctm_rmail は終了ステータスとして 0 を返すということです。 .Pp 通常の操作では、 .Nm ctm_smail は以下のようなメッセージで報告します: .Bd -literal -offset indent ctm_smail: src-cur.0250.gz 1/2 sent to src-guys .Ed .Pp または、キューに入れたなら、 .Bd -literal -offset indent ctm_smail: src-cur.0250.gz 1/2 queued for src-guys .Ed .Pp .Nm ctm_dequeue は以下のようなメッセージで報告します: .Bd -literal -offset indent ctm_dequeue: src-cur.0250.gz 1/2 sent .Ed .Pp .Nm ctm_rmail は以下のようなメッセージで報告します: .Bd -literal -offset indent ctm_rmail: src-cur.0250.gz 1/2 stored ctm_rmail: src-cur.0250.gz 2/2 stored ctm_rmail: src-cur.0250.gz complete .Ed .Pp もし入力ファイルのいずれもが正しいデルタのかけらを含んでいないと、 .Nm ctm_rmail は以下のように報告します: .Bd -literal -offset indent ctm_rmail: message contains no delta .Ed .sp \n(Ppu そして終了ステータスとして 1 を返します。もしメールフィルタが 当てにならないのなら、これを使って気まぐれなメッセージを リダイレクトして本当のメールボックスに入れる事ができます。 .Pp これらのメッセージは .Em stderr かログファイルに出力されます。 .Xr ctm からのメッセージも同様にここに現れます。 エラーメッセージは それ自身が説明的であるべきです。 .\" The next request is for sections 2 and 3 error and signal handling only. .\" .Sh ERRORS .Sh 関連項目 .Xr ctm 1 , .Xr ctm 5 .\" .Sh STANDARDS .\" .Sh HISTORY .Sh 作者 Stephen McKay .\" .Sh BUGS .\" Gosh! No bugs here! .\" This message brought to you by the Coalition for More Humour in Man Pages. .\" -.\" %Id: ctm_rmail.1,v 1.14 1998/04/08 12:00:48 cracauer Exp % +.\" %Id: ctm_rmail.1,v 1.14.2.1 1999/06/24 06:28:11 mpp Exp % .Sh 日本語訳 -野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳 +野首 寛高 (h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳 diff --git a/ja/man/man1/enigma.1 b/ja/man/man1/enigma.1 index fdb14045a6..1e90dac872 100644 --- a/ja/man/man1/enigma.1 +++ b/ja/man/man1/enigma.1 @@ -1,117 +1,119 @@ .\" .\" enigma (aka. crypt) man page written by Joerg Wunsch. .\" .\" Since enigma itself is distributed in the Public Domain, this file .\" is also. .\" -.\" %Id: enigma.1,v 1.1.2.1 1999/01/28 19:24:03 billf Exp % +.\" %Id: enigma.1,v 1.1.2.2 1999/06/24 06:28:14 mpp Exp % +.\" .\" jpman %Id: enigma.1,v 1.4 1999/01/31 11:05:26 horikawa Stab % .\" " .Dd October 30, 1998 .Os .Dt enigma 1 .Sh 名称 -.Nm enigma +.Nm enigma , +.Nm crypt .Nd 非常に単純なファイルの暗号化 .Sh 書式 .Nm .Op Fl s .Op Fl k .Op Ar password .Nm crypt .Op Fl s .Op Fl k .Op Ar password .Sh 解説 .Nm enigma は .Nm crypt という名前でも知られていますが、 .Dq 秘密鍵 をベースとする .Em 非常に 単純な暗号化プログラムです。 これはフィルタとして働きます。つまり、標準入力からの一連のデータを暗号化 または復号化し、その結果を標準出力に出力します。 入力データがすでに暗号化されているかどうかを自動的に検出し、すでに 暗号化されている場合は復号モードに切り替わります。 .Pp 秘密鍵をプログラムに渡す方法はいくつかあります。 デフォルトでは、制御端末上で .Xr getpass 3 を用いて、ユーザに鍵を入力するよう促します。 これが安全に鍵を渡す唯一の方法です。 .Pp 別の方法としては、プログラム起動時に、単独のコマンドライン引数 .Ar password によって鍵を渡すこともできます。 明らかなことですが、この方法を用いると、 .Xr ps 1 を実行している他のユーザが、簡単に鍵を見破ることができます。 さらにもう一つの方法としては、コマンドライン引数として .Fl k オプションを与えると、 .Nm は環境変数 .Ev CrYpTkEy から鍵を取得します。 この方法は、一見前述の他の方法よりも安全なように見えますが、 実際はそうではありません。というのは、環境変数もまた .Xr ps 1 で調べることができるからです。 従って、このオプションは、主に他の実装の .Nm enigma との互換性のために存在します。 .Pp .Fl s オプションを指定すると、 .Nm は、もう少し安全だと思われるように暗号化エンジンを変更しますが、 他の実装との互換性はなくなります。 .Pp .Ss 警告 .Nm は暗号化の手法としてはほとんど価値がありません。このプログラムは、この 実装を持つ他のオペレーティングシステムとの互換性を保つためだけのもの です。 本当の暗号化については、 .Xr bdes 1 (DES配布パッケージに含まれます)、または、 .Xr pgp 1 (ports コレクションに含まれます) を参照してください。 しかしながら、いくつかの国ではこのようなツールの輸出、輸入、使用に対する 制限が存在するかもしれないので、これらの強力なツールは、デフォルトでは オペレーティングシステムと一緒には配布されていません。 .Sh 環境変数 .Bl -tag -offset indent -width "XXCrYpTkEy" .It Ev CrYpTkEy .Fl k オプション指定時に、この変数から秘密鍵を取得します。 .El .Sh 使用例 .Bd -literal -offset indent man enigma | enigma > encrypted Enter key: (XXX \(em 鍵は表示されません) .Ed .Pp このマニュアルページを暗号化して、その結果を .Ql encrypted というファイルに格納します。 .Bd -literal -offset indent enigma XXX < encrypted .Ed .Pp 前の例で作成されたファイルを端末上に表示します。 .Sh 関連項目 .Xr bdes 1 , .Xr pgp 1 , .Xr ps 1 , .Xr getpass 3 .Sh 歴史 .Nm crypt の実装方法は .Ux オペレーティングシステムの間では非常にありふれたものです。 本プログラムの実装は、パブリックドメインの .Em Cryptbreakers Workbench のものを使用しました。 diff --git a/ja/man/man1/fetch.1 b/ja/man/man1/fetch.1 index 43ef39f6ca..f16a8000dd 100644 --- a/ja/man/man1/fetch.1 +++ b/ja/man/man1/fetch.1 @@ -1,433 +1,434 @@ -.\" %Id: fetch.1,v 1.27.2.1 1999/02/25 18:36:32 wollman Exp % +.\" %Id: fetch.1,v 1.27.2.2 1999/07/02 08:57:06 green Exp % +.\" .\" jpman %Id: fetch.1,v 1.4 1997/08/15 06:31:28 horikawa Stab % .Dd February 22, 1999 .Dt FETCH 1 .Os FreeBSD 3.1 .Sh 名称 .Nm fetch .Nd URL(Uniform Resource Locator)形式でのファイルの取得 .Sh 書式 .Nm fetch .Op Fl AMPablmnpqrtv .Op Fl S Ar size .Op Fl T Ar timeout .Op Fl o Ar file .Ar URL .Op Ar ... .Nm fetch .Op Fl MPRlmnpqrv .Op Fl S Ar size .Op Fl o Ar file .Op Fl c Ar dir .Fl f Ar file .Fl h Ar host .Sh 解説 .Nm fetch は、 .Tn FTP もしくは .Tn HTTP プロトコルを使ってネットワークの遠隔サイトから、ファイルの転送を 行います。コマンドの最初の書式の .Ar URL は、 .Li http://site.domain/path/to/the/file もしくは、 .Li ftp://site.domain/path/to/the/file の形式をしています。 複製もしくはリンクされる (以下の .Fl l フラグを参照) ローカルでのファイル名を指定するために、 .Em file:/path/to/the/file という URL 形式が使えます。後述の URL 文法を参照してください。 .Pp コマンドの 2 番目の形式は、 ファイル名と遠隔ホスト名を .Fl h と .Fl f フラグで指定して、 .Tn FTP プロトコルを使ってファイルを取得するために使われます。 .Pp 以下のオプションが使用可能です。 .Bl -tag -width Fl .It Fl A ``一時的な'' (302) リダイレクトを自動的には追跡しません。 要求したオブジェクトが存在しない場合に、 発見できないというエラーではなくリダイレクトを返すという、 壊れたウェブサイトが存在します。 .It Fl a ソフト上での失敗の場合に自動的に転送を再試行します。 .It Fl b .Tn TCP プロトコルを正しく実装していない .Tn HTTP サーバのバグ対応を行います。 .It Fl c Ar dir 遠隔ホストの .Ar dir ディレクトリのファイルを取得します。 .It Fl f Ar file 遠隔ホストの .Ar file という名前のファイルを取得します .It Fl h Ar host ホスト名が .Ar host にあるファイルを取得します。 .It Fl l 目標が .Ar file:/ 形式のURLだった場合、目標を複製しようとするのではなく、 リンクを作成します。 .It Fl M .It Fl m ミラーモード: ファイルの変更時間を遠隔ホストの変更時間と同じに 設定します。ローカルホストにファイルが既に存在しサイズと 変更時間が同じである場合、転送は行われません。 .It Fl n 転送されるファイルの変更時間を保存せず、現在の時間を使います。 .It Fl o Ar file 出力ファイル名を .Ar file にします。 デフォルトでは、``パス名'' が指定された URI から取り出され、その ベースネームが出力ファイルの名前として使われます。 .Ar file 引数として .Sq Li \&- を与えると、結果は標準出力に出力されます。 .It Fl P .It Fl p .Tn FTP プロトコルをパッシブモードで使います。これは、防火壁 (firewall) を跨いだ場合に有効です。 .It Fl q 沈黙モード。端末に転送の進行状態を報告しません。 .It Fl R 転送が失敗もしくは不完全であった時でさえ、与えられたファイル名は ``大事にされ''、どんな状況下でもファイル名は消去されません. .It Fl r 以前に中断された転送を再開します。 .It Fl S Ar bytes .Tn FTP もしくは .Tn HTTP のサーバに対してファイルサイズを報告するよう要求し、 本オプションにより指定される値と比較します。 合致しない場合、メッセージが表示され、ファイルは取得されません。 サーバがファイルサイズの報告をサポートしない場合、 本オプションは無視され、ともかくファイルは取得されます。 前もってファイルサイズが分かる場合、 不完全なファイルもしくは誤ったバージョンのファイルを .Nm がダウンロードするのを防ぐために有用です。 .It Fl s サーバにファイルサイズ (バイト) を尋ね、これを標準出力に出力します。 実際のファイル取得は行いません。 .It Fl T Ar second タイムアウト時間を .Ar second 秒に設定します。 ftp での転送に対しては .Ev FTP_TIMEOUT 環境変数が、 http での転送に関しては .Ev HTTP_TIMEOUT 環境変数が,設定されていた場合は、それを上書きします。 .It Fl t 別のバグがある .Tn TCP 実装に対する対処を行います。 .It Fl v 冗長性を増加させます。 複数の .Fl v を指定することで、より情報が得られるようになります。 .El .Pp 多くのオプションは、環境によってのみ制御されます (これはバグです)。 .Sh URL 文法 .Nm は、RFC1738 に記述されている .Tn http および .Tn ftp の URL を受け付けます。 .Tn ftp の URL ではユーザ名とパスワードを指定可能であり、 .Li ftp://user:password@host/ という文法で指定します。 パスがユーザのホームディレクトリの相対指定ではなく、絶対指定の場合には、 パスを %2F で開始する必要があり、 .Li ftp://root:mypass@localhost/%2Fetc/passwd のように指定します。 .Nm は、 .Tn ftp URL の複数のスラッシュを圧縮して単一のスラッシュにします。 リテラルで複数のスラッシュが存在すると、 .Tn ftp プロトコルエラーとなります。 .Sh プロキシサーバ 防火壁の中の多くのサイトは、信用できるプロトコルで防火壁を通して 通信を行なうためにアプリケーションゲートウェイ (``プロキシサーバ'') を利用します。 .Nm プログラムは、プロキシサーバを使った .Tn FTP と .Tn HTTP プロトコルの両方を利用可能です。 .Tn FTP プロキシサーバは .Tn FTP の要求だけを取り次ぎ、 .Tn HTTP プロキシサーバは .Tn FTP と .Tn HTTP の両方の要求を取り次ぎます。 プロキシサーバは、環境変数 .Dq Va PROTO Ns Ev _PROXY を定義することで設定されます。 ここで、 .Va PROTO はプロトコルの名前で、英大文字で記述します。 環境変数の値には、ホスト名と必要ならばコロン (:) に続けてポート番号を 指定します。 .Pp .Tn FTP プロキシクライアントは、 .Do Va remoteuser Ns Li \&@ Ns Va remotehost .Op Li \&@ Ns Va port .Dc という形式の ホスト名とポート番号を遠隔地のユーザ名として送ります。 .Tn HTTP プロキシクライアントは、 .Tn HTTP .Dq Li GET 要求を出した時に、単純に要求を出した元の URI を遠隔サーバに送ります。 HTTP プロキシによる認証は、いまはまだ実装されていません。 .Sh HTTP による認証 .Tn HTTP プロトコルは、さまざまな種類の認証方法の提供を含んでいます。 現在、 .Nm fetch がサポートしている方式は .Dq basic 方式だけです。 この方法は、パケットの盗み見や人間が間に介在した攻撃にはセキュリティを 提供しません。 認証は、 .Ev HTTP_AUTH と .Ev HTTP_PROXY_AUTH 環境変数を設定することで可能となります。 両環境変数は、次のような同じ形式をしています。 空白で区切られたパラメータの設定リストからなり、個々の設定はコロンで 分けられたパラメータのリストからなります。最初の二つのパラメータはいつも (大文字でも小文字でも構わない) 認証方法名と認証が行われる範囲です。 認証範囲が .Sq Li \&* の形式で指定されている時、他に指定されていない全ての範囲とみなされます。 .Pp .Li basic 認証方式は、二つのオプションのパラメータを利用します。 一つ目はユーザ名で、2 番目はそれに付けられたパスワードです。 環境でパスワードもしくは両方のパラメータが指定されていなく、 .Nm の標準入力が端末である時には、 .Nm は欠けているパラメータの入力をユーザにうながします。 したがって、ユーザが .Dq Li jane で .Dq Li WallyWorld 範囲の認証で、パスワードが .Dq Li QghiLx79 であるなら、彼女は .Ev HTTP_AUTH 環境変数を以下のように設定します。 .Bl -enum -offset indent .It .Dq Li basic:WallyWorld:jane:QghiLx79 .It .Dq Li basic:WallyWorld:jane .It .Dq Li basic:WallyWorld .El .Pp .Nm は欠けている情報が必要な場合は、尋ねてきます。 彼女は、認証範囲を .Dq Li WallyWorld と指定する代わりに、 .Dq Li \&* と指定することで、どんな範囲でも認証を行うことを示せます。 これは、 .Dq Li basic:* の様なもっとも一般的に使われる設定です。 この設定は、 .Nm にどんな認証範囲であっても .Li basic 認証を行わせることを指示します。 .Sh エラー .Nm は成功した時は 0 を返します。 また、失敗した場合には、 .Aq Pa sysexits.h で定義される 0 でない値が返されます。 複数の URI が再試行のために与えられた時、 .Nm は全てを試して、全て成功した場合だけ 0 を返します (それ以外の場合は、最後の失敗のエラーを返します)。 .Sh 環境変数 .Bl -tag -width FTP_PASSIVE_MODE -offset indent .It Ev FTP_TIMEOUT .Tn FTP 接続を中断するまでの最大時間を秒で指定します。 .It Ev FTP_LOGIN .Tn FTP 転送で使われるログイン名です。 デフォルトは ``anonymous'' が使われます。 .It Ev FTP_PASSIVE_MODE パッシブモードで FTP を行います。 .It Ev FTP_PASSWORD .Tn FTP 転送で使われるパスワードです。 デフォルトは .Dq Va yourname Ns Li \&@ Ns Va yourhost です。 .It Ev FTP_PROXY .Tn FTP を理解するプロキシサーバのアドレスを .Do Va hostname Ns .Op Li : Ns Va port .Dc の形式で与えます。 .It Ev HTTP_AUTH .Tn HTTP 認証パラメータを定義します。 .It Ev HTTP_PROXY .Tn HTTP を理解するプロキシサーバのアドレスを .Do Va hostname Ns .Op Li : Ns Va port .Dc の形式で与えます。 .It Ev HTTP_PROXY_AUTH .Tn HTTP プロキシサーバのための認証パラメータを定義します。 .It Ev HTTP_TIMEOUT .Tn HTTP 接続を中断するまでの最大時間を秒で指定します。 .Sh 関連項目 .Xr ftp 1 , .Xr tftp 1 .Rs .%A R. Fielding .%A J. Gettys .%A J. Mogul .%A H. Frystyk .%A T. Berners-Lee .%T "Hypertext Transfer Protocol \-\- HTTP/1.1" .%O RFC 2068 .%D January 1997 .Re .Rs .%A T. Berners-Lee .%A L. Masinter .%A M. McCahill .%T "Uniform Resource Locators (URL)" .%O RFC 1738 .%D December 1994 .Re .Rs .%A J. Postel .%A J.K. Reynolds .%T "File Transfer Protocol" .%O RFC 959 / STD 9 .%D October 1985 .Re .Rs .%A M.R. Horton .%T "Standard for interchange of USENET messages." .%O RFC 850 .%D June 1983 .Re .Sh 歴史 .Nm fetch コマンドは .Fx 2.1.5 から導入されました。 .Sh 作者 .Nm のオリジナル実装は .An Jean-Marc Zucconi が行いました。 .Fx 2.2 のために、拡張を行ったのは .An Garrett Wollman です。 .Sh バグ たくさんの環境変数とコマンドラインオプションがあります。 .Pp .Fl a オプションは、ある種類の .Tn HTTP の接続失敗のために実装されており、 .Tn FTP の接続失敗のためではありません。 .Pp .Tn HTTP のために、 .Dq basic 認証モードだけが実装されています。 これは、ダイジェスト認証に置き換えられるべきものです。 .Pp ( .Tn FreeBSD 以外の) 実装には、データが含まれるパケットに .Dv SYN や .Dv FIN の制御フラグが含まれている状況を正しく実装していないものがあります。 .Sq Fl t フラグは後者に対する対処を行い、 .Sq Fl b フラグは前者に対する対処を行います。 これらはサーバの .Tn TCP スタックのエラーですから、我々ができる最良の解はこれらの対処です。 正しいサーバとの通信の場合には、 .Fl t および .Fl b を含まない最良の .Tn HTTP 転送が実現されます。 (少ない返答の場合) ラウンドトリップ回数は最小の 2 回となり、 他の実装よりも 1 回少なくなります。 .Pp .Tn HTTP 標準は、 .Tn RFC 850 の日付書式解釈を要求しますが、この書式は世紀情報を提供しません。 .Fx 3.1 以前のバージョンの .Nm fetch は、そのような日付を 1900 年代と解釈します。 このバージョンの .Nm fetch は、そのような日付を .Tn RFC 2068 にある次の規則に従って解釈します: .Bd -literal -offset indent o HTTP/1.1 クライアントおよびキャッシュは、50 年より先の未来の RFC-850 形式の日付を、実際は過去の日付であると解釈すべきです (これが「2000 年問題」解決の助けになります)。 .Ed diff --git a/ja/man/man1/ftp.1 b/ja/man/man1/ftp.1 index 1c2f65e15c..981008e83e 100644 --- a/ja/man/man1/ftp.1 +++ b/ja/man/man1/ftp.1 @@ -1,1379 +1,1379 @@ -.\" %Id: ftp.1,v 1.8 1998/03/01 18:58:03 steve Exp % +\" %Id: ftp.1,v 1.8.2.3 1999/07/03 11:57:10 des Exp % .\" %NetBSD: ftp.1,v 1.21 1997/06/10 21:59:58 lukem Exp % .\" .\" Copyright (c) 1985, 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ftp.1 8.3 (Berkeley) 10/9/94 .\" jpman %Id: ftp.1,v 1.3 1997/08/20 12:54:33 horikawa Stab % .\" .Dd August 18, 1997 .Dt FTP 1 .Os BSD 4.2 .Sh 名称 .Nm ftp , pftp , gate-ftp .Nd .Tn ARPANET ファイル転送プログラム .Sh 書式 .Nm -.Op Fl a -.Op Fl d -.Op Fl e -.Op Fl g -.Op Fl i -.Op Fl n -.Op Fl U -.Op Fl p +.Op Fl adeginptUvV .Op Fl P Ar port -.Op Fl t -.Op Fl v -.Op Fl V +.Op Fl s Ar src_addr .Op Ar host Op Ar port .Nm ftp ftp://[\fIuser\fR:\fIpassword\fR@]\fIhost\fR[:\fIport\fR]/\fIfile\fR[/] .Nm ftp http://\fIhost\fR[:\fIport\fR]/\fIfile\fR .Nm ftp \fIhost\fR:[/\fIpath\fR/]\fIfile\fR[/] .Sh 解説 .Nm は、 .Tn ARPANET 標準のファイル転送プロトコルを用いてファイル転送を実現するためのコマンドです。 本コマンドは、ネットワークを介して接続されているコンピュータ間で ファイルを転送する手段をユーザに提供します。 .Pp 書式の後ろから 3 つの使用例の形式では HTTP または FTP プロトコルの いずれかを使ってファイルをカレントディレクトリに取得します。 これはスクリプト用に理想的です。 より詳しい情報については .Sx ファイルの自動的な取得 を参照して下さい。 .Pp オプションは、コマンドライン上か、コマンドインタプリタで指定できます。 -.Bl -tag -width "port " +.Bl -tag -width Fl .It Fl a .Nm は通常のログイン手続きを飛ばして、かわりに anonymous ログインを 使います。 .It Fl d デバッグを有効にします。 .It Fl e コマンドラインでの編集を無効にします。 .It Fl g ファイル名展開を無効にします。 -.It Fl U -データポートの範囲制限を無効にします。 .It Fl i 複数ファイル転送を行っている間の対話的プロンプトモードを オフにします。 .It Fl n .Nm が最初に接続する際の .Dq 自動ログイン を行いません。 自動ログインが許可された場合は、 .Nm は起動したユーザのホームディレクトリの .Pa .netrc (下記参照) ファイルに、リモートマシンのアカウントを記述している エントリがあるかどうかを調べます。 そのファイルにエントリがない場合には、 .Nm はリモートマシン上のログイン名 (デフォルトはローカルマシンでのユーザ ID) を要求します。 そして、もし必要があればログイン用のパスワードと アカウントの入力も促します。 .It Fl p 防火壁を越える接続のためのパッシブモード操作を有効にします。 .Nm pftp コマンドを使うのと同じです。 .It Fl P Ar port ポート番号を .Ar port に設定します。 +.It Fl s Ar src_addr +すべての接続に使用するローカル側の IP アドレスを +.Ar src_addr +に設定します。IP アドレスとホスト名のどちらでも指定できます。 .It Fl t パケットのトレースを有効にします。 +.It Fl U +データポートの範囲制限を無効にします。 .It Fl v 饒舌モードを有効にします。 入力が端末からの場合はこれがデフォルトです。 .Nm はデータ転送状況と、 リモートサーバからのすべてのレスポンスを表示します。 .It Fl V 入力が端末からの場合に、デフォルトで有効になっているのを無視して 饒舌モードを無効にします。 .El .Pp .Nm は、通信相手をコマンドラインで指定することが出来ます。通信相手を コマンドラインで指定した場合、 .Nm は指定したリモートマシンの .Tn FTP サーバプログラムとの接続を試みます。それ以外の場合、 .Nm は内部のコマンドインタプリタに入り、ユーザからの コマンド入力を待ちます。このとき .Nm は、 .Ql ftp> というプロンプトを出力します。 本状態の時には、 .Nm は以下のコマンドを受け付けます。 .Bl -tag -width Fl .It Ic \&! Op Ar command Op Ar args ローカルマシン上でシェルを起動します。 引数が指定された場合、最初の引数をコマンドとして実行し、 それ以降の引数はそのコマンドに対する引数として処理されます。 .It Ic \&$ Ar macro-name Op Ar args .Ar macro-name で定義されたマクロを実行します。マクロは、 .Ic macdef コマンドで定義出来ます。 .Ar args で指定された文字列は、展開されずにマクロに対して引き渡されます。 .It Ic account Op Ar passwd 一旦ログインに成功したユーザが、資源を扱うためにリモートマシンから 要求された追加のパスワードを入力します。 引数が指定されない場合、ユーザに対してパスワード入力を促す表示がされます。 この場合はパスワードはエコーバックされません。 .It Ic append Ar local-file Op Ar remote-file ローカルファイルをリモートマシン上のファイルに追加書き込みします。 もし、 .Ar remote-file が指定されていなければ、ローカルファイルの名前を .Ic ntrans や .Ic nmap で修正した名前をリモートファイル名として使います。 ファイル転送では .Ic type , .Ic format , .Ic mode , .Ic structure の現在の設定が使われます。 .It Ic ascii 転送ファイルの .Ic type をネットワーク .Tn ASCII 形式にします。 これはデフォルト時の設定です。 .It Ic bell 各ファイル転送コマンド終了時にベルを鳴らすかどうかを指定します。 .It Ic binary 転送ファイルの .Ic type をバイナリ形式にします。 イメージファイルなど、バイナリファイルを転送する時には本指定は必須です。 .It Ic bye リモートサーバとの .Tn FTP セッションを終了し、 .Nm を終了します。 EOF を入力した場合も同様です。 .It Ic case .Ic mget コマンドで連続してファイルを取得する場合、リモートマシン上の ファイル名の大文字小文字の対応を切り替えます。 デフォルトでは .Ic case はオフですが、オンの場合にはリモートマシンファイル名の すべての大文字が小文字に変換されて、ローカル マシンのディレクトリに 書き込まれます。 .It Ic \&cd Ar remote-directory リモートマシン上での作業ディレクトリを .Ar remote-directory へ変更します。 .It Ic cdup リモートマシン上での作業ディレクトリを一つ上に変更させます。 .It Ic chmod Ar mode file-name .Ar file-name で指定したリモートマシン上のファイルの属性を、 .Ar mode で指定したものに変更します。 .It Ic close リモートサーバとの .Tn FTP セッションを終了します。そしてコマンド入力待ちのプロンプトを表示します。 すでに定義されたマクロはすべて無効になります。 .It Ic \&cr ASCII 形式ファイルの転送を行なう場合に、 復帰コードの除去を行なうかどうかを変更します。 ASCII 形式のファイル転送時には、 復帰/改行 の文字列によってレコードが認識されます。 .Ic \&cr がオン (デフォルト) の時には、改行コードのみでレコードを区切る .Ux に適合するように、 復帰コードが文字列から除去されます。 .Ux 以外のリモートのシステムのレコードは 単独の改行コードを含む可能性があります。 ASCII 形式で転送を行った時には、そういった改行コードは .Ic \&cr がオフの場合にだけレコード区切り記号と区別して扱われます。 .It Ic delete Ar remote-file リモートマシン上のファイル .Ar remote-file を削除します。 .It Ic debug Op Ar debug-value デバッグモードを切り替えます。 .Ar debug-value が指定されるとデバッグレベルとして設定されます。 デバッグモードが有効になると、 .Nm はリモートマシンに送信されたコマンドを .Ql \-\-> に続けて表示します。 .It Ic dir Op Ar remote-directory Op Ar local-file リモートマシン上のディレクトリの内容を表示します。 表示内容にはサーバが選択したシステム依存の情報を含みます。 例えば大部分の .Ux システムは .Ql ls \-l コマンドから得られる出力を表示します。 ( .Ic ls も参照して下さい) もし .Ar remote-directory が指定されなければ、リモートマシン上のカレントディレクトリの内容が 表示されます。 もしプロンプトがオンだったら、 .Nm は、最後の引数が本当に .Ic dir の出力を書き込むローカルファイルかどうか問い合わせます。 ローカルファイルの指定が無い場合、または .Ar local-file の指定が .Sq Fl だった場合は出力は画面に表示されます。 .It Ic disconnect .Ic close と同じです。 .It Ic edit コマンドラインの編集機能、そして文脈に応じたコマンドとファイルの 補完機能を切り替えます。 これは入力が端末の場合は自動的に有効になり、そして そうでなければ無効になります。 .It Ic exit .Ic bye と同じです。 .It Ic ftp Ar host Op Ar port .Ic open と同じです。 .It Ic form Ar format ファイル転送様式を .Ar format と指定します。 デフォルトでは、様式は \*(Lqfile\*(Rq となります。 .It Ic get Ar remote-file Op Ar local-file リモートマシン上のファイル .Ar remote-file を取得してローカルマシン上に格納します。 ローカルファイル名 .Ar local file が指定されない場合、 ローカルファイル名は取得したファイルの リモートマシン上の名前と同じになります。 ただし、その名前は .Ic case , .Ic ntrans , .Ic nmap の設定により変更される事があります。 ファイル転送の時には現在の .Ic type , .Ic form , .Ic mode , .Ic structure の設定が使用されます。 .It Ic gate Op Ar host Op Ar port gate-ftp モードを切り替えます。 これは gate-ftp サーバが設定されていないと有効になりません (ユーザによって明示的に、または .Ev FTPSERVER 環境変数によって)。 .Ar host が与えられると、 gate-ftp モードが有効になり、そして gate-ftp サーバが .Ar host に設定されます。 .Ar port も同時に与えられると、それが gate-ftp サーバへ接続する際のポートとして使用されます。 .It Ic glob .Ic mdelete , .Ic mget , .Ic mput を行なう場合のファイル名の展開のオン/オフを切り替えます。 .Ic glob がオフの場合には、ファイル名は展開されずにそのままになります。 .Ic mput でのファイル名展開の規則は .Xr csh 1 のファイル名展開規則と同様です。 .Ic mdelete と .Ic mget の場合には、 各々のリモートファイル名はリモートマシン上で別々に展開され、 リストはマージされません。 ディレクトリ名の展開は普通のファイル名の展開と異なる事があります。 つまり、展開の結果はリモートの OS と FTP サーバに依存しています。 これは .Ql mls remote-files \- を実行する事によってあらかじめ知ることができます。 注意: .Ic mget と .Ic mput はファイルのディレクトリ・サブツリーを全て転送する物ではありません。 そのようにしたい時はサブツリーの .Xr tar 1 のアーカイブを作成してバイナリモードで転送します。 .It Ic hash Op Ar size 1 データブロック転送するごとに ハッシュサイン (``#'') を出力するかどうかを切り替えます。 デフォルトでは 1 データブロックは 1024byte です。 これは .Ar size でバイト単位で指定する事で変更できます。 .It Ic help Op Ar command 引数 .Ar command で指定したコマンドのヘルプメッセージを出力します。 引数が与えられない場合、 .Nm は使用可能なコマンドの一覧を出力します。 .It Ic idle Op Ar seconds リモートサーバ上のアイドルタイマを .Ar seconds 秒に設定します。 .Ar seconds が与えられない場合は現在のアイドルタイマ値を表示します。 .It Ic lcd Op Ar directory ローカルマシン上の作業ディレクトリを変更します。 .Ar directory 名が与えられない場合はユーザのホームディレクトリに移動します。 .It Ic less Ar file .Ic page と同じです。 .It Ic lpwd ローカルマシン上の作業ディレクトリを表示します。 .It Ic \&ls Op Ar remote-directory Op Ar local-file リモートマシンのディレクトリの内容のリストを表示します。 .Ar remote-directory の指定が無い場合には、 代わりに現在の作業ディレクトリが使われます。 もしプロンプトモードになっているならば, .Nm は、最後の引数が .Ic ls の出力を受け取るローカルのファイルであるかをユーザに問い合わせます。 .Ar local-file の指定がない場合や .Fl が指定されている場合には、 出力は画面に表示されます。 .It Ic macdef Ar macro-name マクロ定義を行ないます。 後続の行がマクロ .Ar macro-name として格納されます。 空行 (1 つのファイル内での連続した改行文字や端末からの連続した 復帰文字) は マクロの入力モードを終了させます。 マクロの数の制限は 16 個で、定義されたマクロ全部で 4096 文字までがゆるされています。マクロは .Ic close コマンドが実行されるまで持続します。 マクロプロセッサは `$' と `\e' を特別な文字として解釈します。 1つ以上の数字が続く `$' は、コマンドラインで呼び出したマクロの 対応する引数によって置き換えられます。 後ろに `i' が続く `$' は、マクロプロセッサに対して実行している マクロのループを指示します。 最初のパスで `$i' はマクロを呼び出したコマンドラインの最初の引数に 置き換えられ、2 回目のパスで 2 つ目の引数に置き換えられ、それ以降も 同様に置き換えられます。 後ろに任意の文字が続いている `\e' はその文字に置き換えられます。 `\e' は `$' の特別な扱いを避けるために使用します。 .It Ic mdelete Op Ar remote-files リモートマシンの .Ar remote-files を削除します。 .It Ic mdir Ar remote-files local-file 複数のリモートファイルを指定出来る点を除くと .Ic dir と同様です。 プロンプトがオンの時には、 .Nm は最後の引数が .Ic mdir の出力を受け取るローカルファイルであるかをユーザに問い合わせます。 .It Ic mget Ar remote-files リモートマシンで .Ar remote-files で指定されたファイルを展開し、展開後の各ファイル名のファイルに対して .Ic get を実行します。 ファイル名の展開の詳細は .Ic glob を参照してください。 生成されたファイル名は .Ic case , .Ic ntrans , .Ic nmap の設定に従い処理されます。 ファイルはローカルの作業ディレクトリに転送されます。 そのディレクトリは .Ql lcd directory で変更できます。 ローカルの新しいディレクトリは .Ql "\&! mkdir directory" で作成できます。 .It Ic mkdir Ar directory-name リモートマシンにディレクトリを作ります。 .It Ic mls Ar remote-files local-file 複数のリモートファイル名を指定できる点と .Ar local-file を必ず指定しなければならない点を除くと .Ic ls と同様です。 プロンプトがオンの時には、 .Nm は最後の引数が .Ic mls の出力を受け取る目標のローカルファイルであるかをユーザに確認します。 .It Ic mode Op Ar mode-name ファイル転送モード .Ic mode を .Ar mode-name で指定したものに設定します。 デフォルトは \*(Lqstream\*(Rq です。 .It Ic modtime Ar file-name リモートマシン上の指定ファイルの最終更新日時を参照します。 .It Ic more Ar file .Ic page と同じです。 .It Ic mput Ar local-files 引数として与えられたローカルファイルのリスト中の ワイルドカードを展開し、 展開後の各ファイル名のファイルに対して .Ic put を実行します。 ファイル名の展開の詳細については .Ic glob を参照してください。 生成されたファイル名は .Ic ntrans と .Ic nmap の設定に従って処理されます。 .It Ic msend Ar local-files .Ic mput と同じです。 .It Ic newer Ar file-name リモートマシンのファイルの最終更新日時の方が ローカルマシンのファイルより新しい場合にのみファイルを取得します。 現在のシステムにファイルが無いときには、リモートファイルの方が .Ic 新しい ものとして扱われます。 その他については .Ar get と同じです。 .It Ic nlist Op Ar remote-directory Op Ar local-file .Ic ls と同じです。 .It Ic nmap Op Ar inpattern outpattern ファイル名のマッピング機能を設定したり解除したりします。 引数が無い場合にはマッピング機能が解除されます。 引数がある場合には、出力先のリモートファイル名の指定されていない .Ic mput コマンドと .Ic put コマンドの実行時に、リモートファイル名がマップされます。 同様な事が .Ic mget コマンドと .Ic get コマンドのローカルファイル名についても行われます。 このコマンドはファイルの命名規則が異なる .Ux ではないリモートマシンとの接続時に便利です。 マッピングは .Ar inpattern と .Ar outpattern によって設定されたパターンに従って行われます。 .Op Ar inpattern は (すでに .Ic ntrans と .Ic case によって処理されているかもしれない) 入力ファイル名のためのテンプレートです。 .Ar inpattern に `$1', `$2', ..., `$9' の文字列を含むことによって、 変数を使用したテンプレートも使えます。 `$' を特別扱いしたくない時には `\\' を使ってください。 他の文字はそのままその文字として扱われ、 .Ic nmap の .Op Ar inpattern 変数の値を決めるのに用いられます。 例えば、 .Ar inpattern として $1.$2 が、 リモートファイルの名前として "mydata.data" が 与えられた時に、$1 は "mydata" という値となり, $2 は "data" という値になります。 .Ar outpattern は生成されるマッピング後のファイル名を決定します。 文字列の `$1', `$2', ...., `$9' は .Ar inpattern のテンプレートから生成される値に置き換えられます。 文字列の `$0' は元のファイル名で置き換えられます。 さらに、文字列の .Ql Op Ar seq1 , Ar seq2 は .Ar seq1 が空文字列でない時には .Op Ar seq1 に、 空文字列の時には .Op Ar seq2 に置き換えられます。 例えばコマンド .Pp .Bd -literal -offset indent -compact nmap $1.$2.$3 [$1,$2].[$2,file] .Ed .Pp は、 入力ファイル名 "myfile.data" と "myfile.data.old" に対して出力ファイル名が "myfile.data" になり、 入力ファイル名 "myfile" に対して出力ファイル名が "myfile.file" になり、 入力ファイル名 ".myfile" に対して 出力ファイル名が "myfile.myfile"になります。 例えば、`nmap $1 sed "s/ *$//" > $1' のように、 .Ar outpattern にはスペースが入っていても構いません。 文字 `$', `[', `]', `,' を特別扱いしたくない時には `\e' を使ってください。 .It Ic ntrans Op Ar inchars Op Ar outchars ファイル名の文字変換機能を設定したり解除したりします。 引数が無い場合には文字変換機能が解除されます。 引数がある場合には、出力先のリモートファイル名の指定されていない .Ic mput コマンドと .Ic put コマンドの実行時にリモートファイル名が変換されます。 同様な事が .Ic mget コマンドと .Ic get コマンドでもローカルファイルに対して行われます。 このコマンドは、 .Ux とは異なるファイル命名規則のリモートマシンとの接続時に有効です。 ファイル名中の文字で、 .Ar inchars の中の文字に一致するものが .Ar outchars の対応する文字に置き換えられます。 .Ar inchars の中での文字の位置が .Ar outchars の長さを越えている時には、その文字はファイル名から削除されます。 .It Ic open Ar host Op Ar port 指定した .Ar host の .Tn FTP サーバとのコネクションを確立します。 ポート番号 .Ar port を指定した場合、 .Nm は指定したポート番号を用いて .Tn FTP サーバとのコネクションの確立を試みます。 .Ic 自動ログイン オプションがオン (デフォルト時) の場合には、 .Nm は自動的に .Tn FTP サーバに対してログインを行ないます (以下を参照)。 .It Ic page Ar file .Ic file を取得して、 .Ev PAGER で指定されたプログラム (デフォルトは .Xr less 1 ) を使って表示します。 .It Ic passive パッシブモードを切り替えます。パッシブモードがオン (デフォルトはオフ) なら、ftp クライアントは すべてのデータコネクションにおいて、通常の .Dv PORT コマンドの代わりに .Dv PASV コマンドを送ります。 .Dv PASV コマンドはリモートのサーバにデータコネクションのためのポートを 開いて、そのポートのアドレスを返すよう要求します。 リモートサーバはそのポートで待ち、クライアントはそこに接続します。 より伝統的な .Dv PORT コマンドを使う場合は、クライアントがポートで待ち、そしてそのアドレスを リモートサーバに送ってリモートサーバはそこに接続して来ます。 パッシブモードは ゲートウェイ・ルータやトラフィックの方向を制御しているホストを 経由して .Nm を使う場合に有用です。 (注意: ftp サーバが RFC 1123 の .Dv PASV コマンドをサポートしている必要がありますが、サポートしていない 場合もあります。) .It Ic preserve 受け取ったファイルの更新日時を保存するかどうかを切り替えます。 .It Ic progress 転送の進行状況を表す棒グラフ表示を切り替えます。 この棒グラフは、 .Ar ローカルファイル として .Sq Fl か .Sq \&| で始まるコマンドが指定された転送では表示されません。 詳しくは .Sx ファイル名の規則 を参照して下さい。 .It Ic prompt 対話的プロンプトモードを切り替えます。 対話的プロンプトモードをオンにすることで、 複数ファイル転送時に転送ファイルの選択を行なえます。 対話的プロンプトモードをオフにすると (デフォルトはオン)、 .Ic mget や .Ic mput で指定したファイルはすべて転送され、 .Ic mdelete で指定したファイルはすべて削除されます。 .Pp プロンプトモードがオンの時には、プロンプトにおいて以下の コマンドが使用できます: .Bl -tag -width 2n -offset indent .It Ic n ファイルを転送しません。 .It Ic a 現在のファイルについて .Sq yes とし、自動的に現在のコマンドに対する残りのすべての ファイルに対しても .Sq yes とします。 .It Ic p 現在のファイルについて .Sq yes とし、プロンプトモードをオフにします (あたかも .Dq prompt off が指定されたかのように)。 .El .Pp これ以外の応答は現在のファイルに対する .Sq yes として扱われます。 .It Ic proxy Ar ftp-command ftp コマンドを 2 次制御接続上で実行します。 本コマンドを用いることで、同時に 2 つのリモートマシンとコネクションを確立し、 2 つのサーバ間でファイル転送を行なうようにすることができるようになります。 最初の .Ic proxy コマンドは .Ic open コマンドである必要があります。 これは、2 次的な制御コネクションを確立するために必要な操作です。 "proxy ?" とコマンドを実行することで、 2 次接続下で使用可能なコマンド一覧が表示されます。 以下のコマンドは .Ic proxy の後におかれた時には異なった働きをします。 .Ic open は自動ログイン処理中には新しいマクロの定義を行いません。 .Ic close はマクロの削除を行いません。 .Ic get と .Ic mget は 1次制御接続のホストから 2次制御接続のホストにファイルの転送を行います。 .Ic put と .Ic mput と .Ic append は 2次制御接続のホストから 1次制御接続のホストにファイルの転送を行います。 第三者のファイル転送は、2次制御接続のサーバが FTP プロトコルの .Dv PASV コマンドをサポートしているかどうかに依存します。 .It Ic put Ar local-file Op Ar remote-file ローカルマシン上の指定ファイルをリモートマシンに転送します。 .Ar remote-file が指定されない場合には、転送先でのファイル名は、 .Ic ntrans か .Ic nmap の設定に基づく処理を行ったローカルファイルの名前が用いられます。 ファイル転送には .Ic type , .Ic format , .Ic mode , .Ic structure の現在の設定が用いられます。 .It Ic pwd 現在のリモートマシン上での作業ディレクトリを表示します。 .It Ic quit .Ic bye と同じです。 .It Ic quote Ar arg1 arg2 ... 引数で指定した文字列を、そのままリモート .Tn FTP サーバに送信します。 .It Ic recv Ar remote-file Op Ar local-file .Ic get と同じです。 .It Ic reget Ar remote-file Op Ar local-file getと似ていますが、 .Ar local-file が存在しており .Ar remote-file よりサイズが小さい場合には、 .Ar local-file がリモートファイルの一部であるとみなして続きをコピーする点が異なります。 本コマンドは、大きいファイルの転送中にコネクションが 切断されてしまった場合の続きを受信しなおす場合などに有用です。 .It Ic remotehelp Op Ar command-name リモート .Tn FTP サーバのヘルプメッセージを要求します。 .Ar command-name が指定された場合にはそのコマンドのヘルプが表示されます。 .It Ic rstatus Op Ar file-name 引数がない場合にはリモートマシンのステータスが表示されます。 .Ar file-name が指定されている場合には、 リモートマシン上の指定ファイルのステータスが表示されます。 .It Ic rename Op Ar from Op Ar to リモートマシン上のファイル .Ar from が、 .Ar to というファイル名にリネームされます。 .It Ic reset リプライキューをクリアします。 本コマンドはコマンド/リプライのシーケンスの再同期をとるのに使われます。 再同期を取ることは ftp プロトコル上の障害が発生した時に必要な操作です。 .It Ic restart Ar marker .Ic get や .Ic put を指定した .Ar marker 位置から再開します。 .Ux システムにおいては、通常 marker はファイルのバイトオフセットで指定します。 .It Ic restrict データポートの幅を制限するかをオン/オフします。 パッシブモードでない時に、 .Nm クライアントはリモートサーバに対して、独立したデータポートで クライアントホストに接続してくることを要求します。 前のバージョンでは、そのリモートポートは 1024 から 4999 までの幅に 収まっていました。 しかしほとんどの防火壁 (fire wall) では、その範囲に他のサービスが あるために TCPポートをフィルタリングしています。 -現在のデフォルトの動作では、ポート番号が 40000 から 44999 の間で、 +現在のデフォルトの動作では、ポート番号が 49152 から 65535 の間で、 サーバがクライアントに対して接続してくることを要求します。 もしセキュリティ上の危険性がないと考えるならば、防火壁管理者は その幅での TCP 接続に対して許可を行うという選択ができます。 .It Ic rmdir Ar directory-name リモートマシン上のディレクトリを消去します。 .It Ic runique ローカルマシンに保存されるファイルに対して ユニークな名前を付加するかどうかを切り替えます。 .Ic get や .Ic mget コマンドで目的のローカルファイルと同じ名前のファイルが既に存在する時には、 ".1" が名前に付加されます。 その名前も既に存在する時には ".2" が付加されます。 このように順番に処理をし、 ".99" になっても存在する時には エラーメッセージが表示され、転送は行われません。 生成されたユニークなファイル名は報告されます。 注意: .Ic runique はシェルコマンドで生成されるファイル名には効果がありません (下記参照)。 デフォルトではオフになっています。 .It Ic send Ar local-file Op Ar remote-file .Ic put と同じです。 .It Ic sendport .Dv PORT コマンドを使用するかどうか切り替えます。 デフォルトでは、 .Nm は各データ転送用のコネクションの確立の際に .Dv PORT コマンドの使用を試みます。 .Dv PORT を使うことで複数ファイル転送を行なう場合の遅延を避けることが出来ます。 .Dv PORT コマンドが失敗した場合、 .Nm はデフォルトのデータ・ポートを使用します。 .Dv PORT コマンドが無効になった場合、データ転送時に .Dv PORT コマンドは使われません。 これはある種の .Tn FTP の実装で .Dv PORT コマンドは無視するが、誤っていて、受け入れたと返事を返すような 物に対して有効です。 .It Ic site Ar arg1 arg2 ... 引数で指定した文字列を、 .Dv SITE コマンドの引数としてそのまま .Tn FTP サーバに送信します。 .It Ic size Ar file-name リモートマシン上の .Ar file-name で指定したファイルのサイズを表示します。 .It Ic status .Nm の現在の状態を表示します。 .It Ic struct Op Ar struct-name ファイル転送の .Ar structure を .Ar struct-name に設定します。 デフォルトでは、\*(Lqstream\*(Rq に設定されています。 .It Ic sunique リモートマシン上に転送するファイルのファイル名に対して、 一意な名前を付与するかどうかを切り替えます。 この機能が使えるためには、 リモートの FTP サーバが FTP のプロトコルの .Dv STOU コマンドをサポートしていなければなりません。 リモートサーバがユニークな名前を報告します。 デフォルトではこの機能はオフになっています。 .It Ic system リモートマシンで稼働している OS のタイプを表示します。 .It Ic tenex .Tn TENEX マシンと 通信するために必要なファイル転送モードを設定します。 .It Ic trace パケットトレースをするかどうかを切り替えます。 .It Ic type Op Ar type-name ファイル転送の .Ic type を .Ar type-name に変更します。引数が指定されない場合には 現在のファイル転送タイプを表示します。 デフォルトタイプはネットワーク .Tn ASCII です。 .It Ic umask Op Ar newmask リモートサーバのデフォルトの umask 値を .Ar newmask で指定した値に変更します。 .Ar newmask が指定されていない場合は現在の umask 値を表示します。 .It Xo .Ic user Ar user-name .Op Ar password Op Ar account .Xc ユーザをリモート .Tn FTP サーバに認識させます。 .Ar password が指定されていなくて、 .Tn FTP サーバが必要とする場合は (ローカルエコーをオフにしてから) .Nm がユーザに問い合わせます。 .Ar account が指定されていなくて、 .Tn FTP サーバが必要とする場合には、 .Nm がユーザに問い合わせます。 リモートサーバがログイン時にアカウントを必要としないのに .Ar account フィールドが指定された場合には、ログイン処理の完了後に account コマンドがリモートサーバに渡されます。 「自動ログイン」を無効にした状態で .Nm が呼び出されない限り、 この処理は .Tn FTP サーバに最初につながった時に自動的に行われます。 .It Ic verbose 饒舌モードの切り替えをします。 饒舌モードの時には .Tn FTP サーバからの全ての応答が表示されます。 さらにこのモードがオンの時には、ファイル転送が終了した時に 転送効率に関する統計が報告されます。 デフォルトではオンになっています。 .It Ic ? Op Ar command .Ic help コマンドと同じです。 .El .Pp スペースを含むコマンドの引数は、`"' マークで括って下さい。 .Pp 設定を切り替えるコマンドでは、設定を指定するために明示的に .Ic on か .Ic off を引数として指定できます。 .Pp .Nm が転送中に .Dv SIGINFO ( .Xr stty 1 の引数 .Dq status を参照) シグナルを受けると、その時点での転送レートの統計情報が 終了時の標準的なフォーマットと同じ形式で標準エラー出力に書き出されます。 .Sh ファイルの自動取得 標準的なコマンドに加えて、 このバージョンの .Nm は自動取得の機能をサポートします。 単にホスト名/ファイルのリストをコマンドラインで渡すと 自動取得が有効になります。 .Pp 自動取得の指定では以下の形式を認識します: .Bl -tag -width "host:/file" .It host:/file .Dq 古典的な ftp の形式 .It ftp://[user:password@]host[:port]/file ftp URL 形式で、 .Ev ftp_proxy が定義されていなければ ftp プロトコルで取得します。 そうでなければ .Ev ftp_proxy で指定されたプロキシを経由した http を使って転送します。 .Ar user:password@ が指定されていて .Ev ftp_proxy が定義されていない場合は、 パスワードに .Ar password を使って .Ar user でログインします。 .It http://host[:port]/file HTTP URL 形式、http プロトコルで取得します。 .Ev http_proxy が定義されている場合は、その内容が HTTP プロキシサーバの URL として使用されます。 .El .Pp 古典的な形式または ftp URL形式で最後に .Sq / がある場合は、 .Nm はサイトに接続して与えられたパスのディレクトリに .Ic cd し、以降の入力を受け付けるために対話モードに入ります。 .Pp 自動取得の対象が複数指定されていて、連続しているものが同じホストを 参照している時は、接続の確立と切断によるオーバヘッドを避けるために 複数の転送にわたって接続が維持されます。 .Pp ファイル名の展開がオンで .Ic file が展開の対象となる文字を含んでいるなら ( .Ic glob 参照) .Ic "mget file" と同じ事を行います。 .Pp .Ic file のディレクトリ部分が展開の対象となる文字を含まなければ、 ファイルは .Ic file から .Xr basename 1 で得られる名前で現在のディレクトリに置かれます。 そうでなければリモートの名前をローカルでの名前として使います。 .Sh ファイル転送の中止 ファイル転送を中断するためには、 端末のインタラプトキー (通常は Ctrl-C) を打鍵してください。 データ送信はただちに停止します。 データ受信は、ftp プロトコルの .Dv ABOR コマンドをリモートサーバに送ることでサーバからのデータ送信がとまります。 そしてそれ以降の受信データは捨てられます。 これが行われる速度は、リモートサーバが .Dv ABOR コマンドをサポートする方式に依存します。 リモートサーバが .Dv ABOR コマンドをサポートしていない時には、 リモートサーバが要求したファイルを送り終るまで .Ql ftp> というプロンプトは現れません。 .Pp 端末からの割り込みキー入力は、 .Nm が何かローカルの処理をすでに完了していて リモートサーバからの応答を待っている時には無視されます。 このモードでの長い遅延は上でも述べたように ABOR 処理の結果に よるものか、 ftp のプロトコル違反を含めたリモートサーバによる 予期せぬ動作のどちらかによるものです。 もしリモートサーバの予期せぬ動作の結果による遅延であるならば、 ローカルの .Nm プログラムは手動で終了 (kill) しなければなりません。 .Sh ファイル名の規則 .Nm コマンドの引数として指定されたファイル名は、以下の規則で処理されます。 .Bl -enum .It ファイル名として .Sq Fl が指定された場合、 入力ファイル名の場合には標準入力 .Ar stdin が、 出力ファイル名の場合には標準出力 .Ar stdout が使用されます。 .It ファイル名の先頭の文字が .Sq \&| の場合には、その後に指定された文字列はすべてシェルコマンドと解釈されます。 .Nm は与えられた引数をつけて .Xr popen 3 を用いてシェルを呼び出し、標準入力から (標準出力へ) 読み出し (書き込み) ます。 シェルコマンドにスペースが含まれている時には 引数は引用符で囲まれなければなりません。 (例: \*(Lq" ls -lt"\*(Rq ) 特に有用な例としては \*(Lqdir \&|more\*(Rq があります。 .It -上記のチェックにひっかからず、``globbing'' が許可されている場合、 +上記のチェックにひっかからず、 +.Dq globbing +が許可されている場合、 ローカルファイル名は .Xr csh 1 のファイル名展開規則にしたがって展開されます。 (詳細は .Ic glob コマンドを参照) ただし、 .Nm のコマンドが 1 つのファイル名しか必要としない場合 (例えば .Ic put ) は、ファイル名が展開された後の最初のファイル名だけが使用されます。 .It .Ic mget コマンドと .Ic get コマンドにおいてローカルファイル名が指定されない場合、 ローカルファイル名はリモートファイル名と同一になります。 ただし、これらのファイル名は .Ic case , .Ic ntrans , .Ic nmap の設定によって変わることもあります。 結果として得られたファイル名は、 .Ic runique が設定されていればさらに変わるかもしれません。 .It .Ic mput コマンドと .Ic put コマンドにおいてリモートファイル名が指定されない場合、 リモートファイル名はローカルファイル名と同一になります。 ただし、これらのファイル名は .Ic ntrans , .Ic nmap の設定によって変わることもあります。 結果として得られたファイル名は、 .Ic sunique が設定されていればリモートサーバによって さらに変えられるかも知れません。 .El .Sh ファイル転送パラメータ FTPの仕様にはファイル転送時に影響を及ぼす多くのパラメータがあります。 .Ic type は、\*(Lqascii\*(Rq, \*(Lqimage\*(Rq (binary), \*(Lqebcdic\*(Rq, \*(Lqlocal byte size\*(Rq ( .Tn PDP Ns -10 および .Tn PDP Ns -20 でよく使われます) が指定可能です。 .Nm は、ascii と image のタイプを指定可能なのに加えて、 .Ic tenex モードの転送を指定することにより ローカルバイトサイズ 8 を指定することが可能です。 .Pp .Nm では、他の .Ic mode , .Ic form , .Ic struct のパラメータではデフォルト値だけが使用可能です。 .Sh .netrc ファイル .Pa .netrc ファイルは、自動ログイン処理においてのログインおよび初期設定情報を記述します。 .Pa .netrc ファイルは、ユーザのホームディレクトリに置きます。 .Pa .netrc では以下の予約語が解釈されます。これらはスペース、タブそして new-line によって分割されます。 .Bl -tag -width password .It Ic machine Ar name リモートマシン名 .Ar name を定義します。 自動ログイン処理は .Pa .netrc ファイル中に .Ic machine トークンがあるかどうか探し、そのエントリが .Nm のコマンドラインもしくは .Ic open コマンドの引数と一致するかどうかチェックします。 一致するエントリがあった場合は後に続く .Pa .netrc トークンが処理され、その処理はファイル最後尾に行き着くか他の .Ic machine トークンまたは .Ic default トークンに出くわすまで続きます。 .It Ic default いろんな名前と一致するワイルドカード的な働きがあることを除けば .Ic machine .Ar name と同様です。 .Ic default トークンは、 .Pa .netrc ファイル中に 1 エントリだけが許され、 しかも他の全ての .Ic machine トークンより後ろでなければなりません。 通常は .Pp .Dl default login anonymous password user@site .Pp のように使用されます。 本エントリによって .Pa .netrc に指定の無い ftp サイトに自動で anonymous ログインを試みるようになります。 .Fl n フラグを付加して ftp を起動することで .Pa .netrc ファイルを無視することが出来ます。 .It Ic login Ar name リモートマシンにおけるログイン名を指定します。 本トークンが与えられている場合、自動ログイン処理は .Ar name をログイン名としてログインしようとします。 .It Ic password Ar string パスワードを指定します。 本トークンが指定されている場合でリモートサーバがログイン処理中に パスワードを要求する場合は、自動ログイン処理は指定した文字列を 送ります。 .Pa .netrc ファイルにおいて、 .Ar anonymous 以外のユーザエントリにおいて本トークンが登録されており、なおかつ .Pa .netrc がユーザ以外から読める属性である場合には .Nm は自動ログイン処理を中断します。 .It Ic account Ar string 追加のアカウントパスワードを登録します。 このトークンがあると、 もし追加のアカウントパスワードをリモートホストが必要とする時に 自動ログインプロセスが指定された文字列を与えます。 そうでない場合には、自動ログインプロセスは .Dv ACCT コマンドを与えます。 .It Ic macdef Ar name マクロを定義します。 このトークンの機能は .Nm .Ic macdef コマンドの機能に似ています。 マクロは指定された名前を用いて定義されます。 その内容は .Pa .netrc の次の行から始まり、空行 (改行文字の連続) が現れるまで続きます。 .Ic init というマクロが定義されているならば、 自動ログイン処理の中での最後の段階で自動的に実行されます。 .El .Sh コマンドラインの編集機能 .Nm は .Xr editline 3 ライブラリを使った対話的なコマンドラインの編集をサポートします。 これは .Ic edit コマンドによって有効になり、そして入力が tty からの場合は デフォルトで有効になっています。 カーソルキーで以前の行を呼び出して編集できます。 そして他にも GNU Emacs スタイルの編集用のキーが使えます。 .Pp .Xr editline 3 ライブラリは .Pa .editrc ファイルで設定できます - より詳しくは .Xr editrc 5 を参照して下さい。 .Pp .Nm には、文脈に依存したコマンドとファイル名の補完 (リモートファイルの補完を含む) 機能を提供するための 追加のキー割り当てが用意されています。 これを使うためには .Xr editline 3 の .Ic ftp-complete コマンドにキーを割り当てて下さい。 これはデフォルトで TAB キーに割り当てられています。 .Sh 環境変数 .Nm は、以下の環境変数を使用します。 .Bl -tag -width "FTP_PASSIVE_MODE" .It Ev FTP_PASSIVE_MODE +この変数を +.Sq NO +以外に設定すると、 パッシブモードの FTP をデフォルトで使用します。 .It Ev FTPSERVER .Ic gate が有効な時に gate-ftp サーバとして使用するホスト。 .It Ev FTPSERVERPORT .Ic gate が有効な時に gate-ftp サーバに接続するのに使うポート。 デフォルトは .Dq ftpgate/tcp で .Fn getservbyname を呼び出して返って来たポート。 .It Ev HOME 定義されていれば .Pa .netrc ファイルのデフォルトの置き場所となります。 .It Ev PAGER .Ic page でファイルを表示する際に使われます。 .It Ev SHELL デフォルトで起動するシェルを定義します。 .It Ev ftp_proxy FTP URL リクエストを発行する時に使う FTP プロキシの URL (定義されていなければ標準の ftp プロトコルを使います)。 .It Ev http_proxy HTTP URL リクエストを発行する時に使う HTTP プロキシの URL。 .El .Sh 関連項目 .Xr getservbyname 3 , .Xr editrc 5 , .Xr services 5 , .Xr ftpd 8 .Sh 注釈 .Xr pftp 1 と .Xr gate-ftp 1 コマンドは .Nm にリンクされています。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から実装されました。 .Pp コマンドラインの編集、文脈に依存したコマンドとファイルの補完、 進行状況を表す棒グラフ、ファイルの自動的な取得、 ftp と http 形式の URL、更新時刻の保存といった各種の機能は .Nx 1.3 で Luke Mewburn によって、Jason Thorpe のアシスタントを得て実装されました。 .Sh バグ 多くのコマンドの正しい動作は、リモートサーバの適切な動作に依存します。 .Pp .Bx 4.2 の ascii モードでの転送時の復帰文字の取り扱いのエラーは訂正されています。 この訂正の結果として、 .Bx 4.2 のサーバとの間でバイナリファイルを ascii タイプを使用して転送した時に 不正転送をひき起こすことが あります。この問題を回避するためにはバイナリモードを用いて ファイル転送をして下さい。 diff --git a/ja/man/man1/kbdcontrol.1 b/ja/man/man1/kbdcontrol.1 index e104ab6aa9..580da0b53d 100644 --- a/ja/man/man1/kbdcontrol.1 +++ b/ja/man/man1/kbdcontrol.1 @@ -1,116 +1,199 @@ .\" .\" kbdcontrol - a utility for manipulating the syscons keyboard driver section .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" @(#)kbdcontrol.1 .\" jpman %Id: kbdcontrol.1,v 1.3 1997/07/26 21:37:54 horikawa Stab % .\" -.Dd May 22, 1994 -.Dt kbdcontrol 1 +.Dd June 30, 1999 +.Dt KBDCONTROL 1 .Os FreeBSD .Sh 名称 .Nm kbdcontrol -.Nd syscons のキーボードドライバ部分を操作するユーティリティ +.Nd syscons コンソールドライバを操作するユーティリティ .Sh 書式 .Nm .Op Fl dFx -.Op Fl b Ar duration.pitch | Ar [quiet.]belltype +.Op Fl b Ar duration.pitch | Ar belltype .Op Fl r Ar delay.repeat | Ar speed -.Op Fl l Ar mapfile +.Op Fl l Ar keymap_file .Op Fl f Ar # Ar string .Op Fl h Ar size -.Op Fl L Ar mapfile +.Op Fl L Ar keymap_file .Sh 解説 .Nm コマンドは、 キーマップ、リピート速度/ディレイ時間、ベル -といった様々なキーボード関連オプションを syscons に対して -設定するのに用いられます。 +といった様々なキーボード関連オプションを、 +.Xr syscons 4 +コンソールドライバとキーボードドライバに対して設定するのに用いられます。 +.Pp +キーボードオプションは、 +.Pa /etc/rc.conf +中の変数を設定することにより、 +システムブート時に自動設定可能です。 +後述の +.Sx ブート時の設定 +を参照してください。 .Pp 以下のコマンドラインオプションを使用可能です: .Bl -tag -width indent .It Fl b Ar duration.pitch | Ar belltype -ベルの持続時間(duration)をミリ秒で、ピッチ(pitch)をヘルツで設定します。 +ベルの持続時間 (duration) をミリ秒で、ピッチ (pitch) をヘルツで設定します。 代わりに .Ar belltype 引数が指定された場合、この引数は -.Ar normal +.Cm normal (サウンドパラメータを標準値に戻します)か -.Ar visual +.Cm visual (ベルをビジュアルモードにします、 すなわち音を鳴らす代わりに画面をフラッシュさせます) -のいずれかでなければなりません。 +のいずれかであることが必要です。 .Ar belltype の前に語 -.Ar quiet. +.Cm quiet. .\" quiet. と、「.」が付くのが正しい が付いた場合、 ベルを鳴らすプロセスがバックグラウンドの vty にいるときにはベルを鳴らしません。 .It Fl r Ar delay.repeat | Ar speed キーボードの .Ar delay (250, 500, 750, 1000) と .Ar repeat (34, 38, 42, 46, 50, 55, 59, 63, 68, 76, 84, 92, 100, 110, 118, 126, 136, 152, 168, 184, 200, 220, 236, 252, 272, 304, 336, 368, 400, 440, 472, 504) レートを設定します。 代わりに .Ar speed 引数が指定された場合、この引数は -.Ar slow +.Cm slow (1000.504), -.Ar fast +.Cm fast (250.34), -.Ar normal +.Cm normal (500.126) -でなければなりません。 -.It Fl l Ar mapfile +であることが必要です。 +.It Fl l Ar keymap_file キーボードマップをファイル -.Ar mapfile +.Ar keymap_file から読み取って設定します。 +キーボードマップファイルのロードは、 +メニューによるコマンド +.Xw kbdmap 1 +により実行可能です。 .It Fl d 現在のキーボードマップを標準出力にダンプします。 +出力はファイルにリダイレクト可能であり、前述の +.Fl l +オプションを使用して後でカーネルにロードできます。 .It Fl f Ar # Ar string -.BI "\-f\ " #\ string +.\".BI "\-f\ " #\ string .Ar # 番のファンクションキーで文字列 .Ar string が送られるように設定します。 +使用可能なファンクションキーとその番号については、 +キーボードドライバのマニュアルページ +.Pq 例えば Xr atkbd 4 +を参照してください。 .It Fl F ファンクションキー設定を標準状態に戻します。 .It Fl x キーボードマップのダンプを 16 進数表示で行います。 .It Fl h Ar size ヒストリバッファの大きさを .Ar size 行に設定します。 -.It Fl L Ar mapfile +.It Fl L Ar keymap_file キーボードマップをファイル -.Ar mapfile +.Ar keymap_file から読み取り、これをコンパイルした結果の .Ft "struct keymap" を標準出力に書き出します。 +このオプションは第一にプログラマ向けであり、 +おそらく通常の状況下ではほとんど使用しないでしょう。 +.El +.Sh キーボードの設定 +.Ss ブート時の設定 +.Pa /etc/rc.conf +または +.Pa /etc/rc.conf.local +の変数を設定することにより、ブート時にキーボードを設定可能です。 +関連する変数を列挙します。 +.Pp +.Bl -tag -width foo_bar_var -compact +.It Ar keymap +.Fl l +オプション用のキーボードマップファイルを指定します。 +.It Ar keyrate +.Fl r +オプション用のキーボードリピートレートを指定します。 +.It Ar keychange +.Fl f +オプション用のファンクションキー文字列を列挙します。 +.El +.Pp +詳細は +.Xr rc.conf 5 +を参照してください。 +.Ss ドライバの設定 +キーボードマップなどのデフォルト設定オプションの変更を、 +キーボードドライバが許す場合があります。 +その場合、ブート時のオプション設定の必要はなくなります。 +詳細はキーボードドライバマニュアル +.Pq 例えば Xr atkbd 4 , Xr ukbd 4 +を参照してください。 .Sh 関連ファイル -.Bl -tag -width /usr/share/syscons/keymaps -compact +.Bl -tag -width /usr/share/syscons/keymaps/foo_bar -compact +.It Pa /usr/share/syscons/keymaps/* +キーボードマップファイル。 +.Sh 使用例 +次のコマンドでキーボードマップファイル +.Pa /usr/share/syscons/keymaps/ru.koi8-r.kbd +をロードします。 +.Pp +.Dl kbdcontrol -l /usr/share/syscons/keymaps/ru.koi8-r.kbd +.Pp +キーボードマップファイルが .Pa /usr/share/syscons/keymaps -.El +にある場合、ファイル名を +.Pa ru.koi8-r +のように短縮可能です。 +.Pp +.Dl kbdcontrol -l ru.koi8-r +.Pp +次のコマンドはファンクションキー 10 が "telnet myhost" を出力するようにします。 +.Pp +.Dl kbdcontrol -f 10 \&"telnet myhost\&" +.Pp +ベルをビジュアルにするものの、 +バックグラウンド画面でベルが鳴るときには画面がフラッシュするのを避けるには、 +次のコマンドを実行します。 +.Pp +.Dl kbdcontrol -b quiet.visual +.Pp .Sh バグ もし見つかったら報告してください。 .Sh 関連項目 +.Xr kbdmap 1 , .Xr vidcontrol 1 , +.Xr atkbd 4 , .Xr keyboard 4 , -.Xr screen 4 +.Xr screen 4 , +.Xr syscons 4 , +.Xr ukbd 4 , +.Xr rc.conf 5 . .Sh 作者 .An Soren Schmidt Aq sos@FreeBSD.org .Sh 日本語訳 -酒井 淳嗣(sakai@csl.cl.nec.co.jp): FreeBSD 向けに翻訳 +酒井 淳嗣 (sakai@csl.cl.nec.co.jp): FreeBSD 向けに翻訳 diff --git a/ja/man/man1/ps.1 b/ja/man/man1/ps.1 index 765010f46a..0f9230a75b 100644 --- a/ja/man/man1/ps.1 +++ b/ja/man/man1/ps.1 @@ -1,517 +1,517 @@ .\" Copyright (c) 1980, 1990, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" %Id: ps.1,v 1.19.2.1 1999/05/08 10:42:41 kris Exp % +.\" %Id: ps.1,v 1.19.2.2 1999/06/30 11:51:51 kris Exp % .\" .\" jpman %Id: ps.1,v 1.2 1997/05/20 01:19:55 mutoh Stab % .Dd April 18, 1994 .Dt PS 1 .Os BSD 4 .Sh 名称 .Nm ps .Nd プロセスの状態の表示 .Sh 書式 .Nm ps .Op Fl aCcefhjlmrSTuvwx .Op Fl M Ar core .Op Fl N Ar system .Op Fl O Ar fmt .Op Fl o Ar fmt .Op Fl p Ar pid .Op Fl t Ar tty .Op Fl W Ar swap .br .Nm ps .Op Fl L .Sh 解説 .Nm ps は、制御端末を持つ自分 (あなた) のプロセスの情報を、 ヘッダ行に続いて表示します。 この情報は、制御端末順に整列され、その中ではプロセス .Tn ID 順に整列されます。 .Pp 表示される情報は、一連のキーワードによって選ばれます .Pf ( Fl L , .Fl O , .Fl o オプションを参照)。 デフォルトの出力フォーマットは、各プロセス毎に、 プロセス .Tn ID , 制御端末・cpu 時間 (ユーザ時間とシステム時間の両方)・ プロセス状態・プロセスに関連するコマンドから成ります。 .Pp プロセスファイルシステム ( .Xr procfs 5 参照) は、 .Nm が実行されている時にマウントされているべきです。そうでない場合、 すべての情報が利用可能になるわけではありません。 .Pp オプションを以下に示します。 .Bl -tag -width indent .It Fl a 自分のプロセスに加え自分以外のプロセスの情報も同様に表示します。 .It Fl c ``コマンド'' 桁の出力を、すべてのコマンドラインを表示するのではなく、 実行形式名だけを表示するように変更します。 .It Fl C cpu パーセンテージの計算を、``常駐'' 時間を無視する ``生'' cpu 時間を使う方法に変更します (通常これは影響ありません)。 .It Fl e 環境 (変数) も同時に表示します。 .It Fl f スワップアウトされたプロセスに関して、 コマンドラインと環境の情報を表示します。 ユーザの uid が 0 である場合のみ、このオプションが有効になります。 .It Fl h ページ毎に 1 つヘッダが入るようにします。 .It Fl j 次のキーワードに関する情報を表示します: user, pid, ppid, pgid, sess, jobc, state, tt, time, command。 .It Fl L 有効なキーワードの一覧を表示します。 .It Fl l 次のキーワードに関する情報を表示します: uid, pid, ppid, cpu, pri, nice, vsz, rss, wchan, state, tt, time, command。 .It Fl M 名前リストの値を取り出すとき、 デフォルトの .Pa /dev/kmem の代わりに、指定した .Ar core から取り出します。 .It Fl m プロセス .Tn ID 順ではなく、メモリ使用量順に整列します。 .It Fl N デフォルトの .Pa /kernel の代わりに、指定された .Ar system から名前リストを取り出します。 .It Fl O デフォルトで表示される情報に加え、 指定されたキーワードに関する情報を、 プロセス .Tn ID の後に挿入する形式で表示します。 各キーワードの後ろには、等号 (``='') と文字列を追加しても構いません。 この場合、標準のヘッダの代わりに指定された文字列が表示されます。 .It Fl o 指定されたキーワードに関する情報を、表示します。 各キーワードの後ろには、等号(``='')と文字列を追加しても構いません。 この場合、標準のヘッダの代わりに指定された文字列が表示されます。 .It Fl p 指定したプロセス .Tn ID に関する情報を表示します。 .It Fl r プロセス .Tn ID 順ではなく、現在の cpu 利用率順に整列します。 .It Fl S プロセス時間を計算するのに、 終了した子プロセスの時間を親プロセスに合計するように変更します。 .It Fl T 標準入力のデバイスに取り付けられたプロセスの情報を表示します。 .It Fl t 指定された端末デバイスに取り付けられたプロセスの情報を表示します。 .It Fl U 指定された .Tn username に属するプロセスを表示します。 .It Fl u 次のキーワードに関する情報を表示します: user, pid, %cpu, %mem, vsz, rss, tt, state, start, time, command。 .Fl u オプションを指定すると .Fl r オプションも暗に指定したことになります。 .It Fl v 次のキーワードに関する情報を表示します: pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz, %cpu, %mem, command。 .Fl v オプションを指定すると .Fl m オプションも暗に指定したことになります。 .It Fl W デフォルトの .Pa /dev/drum の代わりに指定したファイルからスワップ情報を取り出します。 .It Fl w デフォルトの現行ウィンドウ幅ではなく、132 桁幅で表示します。 一度より多く .Fl w オプションを指定すると、 .Nm ps はウィンドウ幅にかかわらず、必要なだけの幅を使用します。 .It Fl x 制御端末のないプロセスの情報も表示します。 .El .Pp 有効なキーワードの全リストを以下に示します。 いくつかのキーワードに関してはさらに詳しく述べます。 .Bl -tag -width indent .It %cpu プロセスの cpu 利用率です。実時間で最近 1 分間の減衰平均です。 計算の基点となる時間は変化するので (プロセスはまだ生れたばかりかもしれないので)、 .Tn \&%CPU フィールド全部の合計は 100% を越える可能性もあります。 .It %mem プロセスで使われている実メモリのパーセンテージです。 .It flags インクルードファイル .Aq Pa sys/proc.h でプロセスに定義されたフラグです。 .Bl -column SNOCLDSTOP SNOCLDSTOP .It Dv "P_ADVLOCK" Ta No "0x00001 プロセスは POSIX 提案ロックを保持している" .It Dv "P_CONTROLT" Ta No "0x00002 制御端末を持っている" .It Dv "P_INMEM" Ta No "0x00004 メモリに読み込まれている" .It Dv "P_NOCLDSTOP" Ta No "0x00008 子プロセスが停止しても SIGCHLD を送らない" .It Dv "P_PPWAIT" Ta No "0x00010 親プロセスが、子プロセスが exec/exit するのを待っている" .It Dv "P_PROFIL" Ta No "0x00020 プロファイル付きで実行された" .It Dv "P_SELECT" Ta No "0x00040 select 中; wakeup/waiting は危険である" .It Dv "P_SINTR" Ta No "0x00080 sleep は割り込み可能" .It Dv "P_SUGID" Ta No "0x00100 最後の実行以来、id 特権が設定されている" .It Dv "P_SYSTEM" Ta No "0x00200 システムプロセス: シグナルや stat やスワップが無い" .It Dv "P_TIMEOUT" Ta No "0x00400 sleep 中にタイムアウトした" .It Dv "P_TRACED" Ta No "0x00800 デバッグプロセスはトレースされている" .It Dv "P_WAITED" Ta No "0x01000 デバッグプロセスは子プロセスを待っている" .It Dv "P_WEXIT" Ta No "0x02000 終了動作中" .It Dv "P_EXEC" Ta No "0x04000 プロセスは exec で呼ばれた" .It Dv "P_NOSWAP" Ta No "0x08000 別のフラグがスワップアウトを妨げている" .It Dv "P_PHYSIO" Ta No "0x10000 物理 I/O をおこなっている" .It Dv "P_OWEUPC" Ta No "0x20000 次の ast プロセスが addupc() 呼び出しの借り" .It Dv "P_SWAPPING" Ta No "0x40000 プロセスはスワップされている" .El .It lim .Xr setrlimit 2 の呼び出しで指定される、メモリ使用量のソフトリミットです。 .It lstart コマンドの実行が始まった正確な時刻を、 .Xr strftime 3 に記述された ``%c'' フォーマットで表示します。 .It nice プロセススケジューリングにおける増加値です .Ns ( Xr setpriority 2 参照)。 .\" .Ns により ( と setpriority が離れるのを防ぐ .\" by horikawa@jp.freebsd.org (Feb 9 1997) .It rss プロセスの実メモリ(常駐分)の大きさ(1024バイト単位)です。 .It start コマンドが開始された時間です。 コマンドが開始されたのが 24 時間以内なら、 開始時刻は .Xr strftime 3 で記述された ``%l:ps.1p'' フォーマットで表示されます。 コマンドが開始されたのが 7 日以内なら、 開始時刻は ``%a6.15p'' フォーマットで表示されます。 さもなくば、開始時刻は ``%e%b%y'' フォーマットで表示されます。 .It state プロセスの状態を文字の列で表示します。例えば、 .Dq Tn RWNA の最初の文字は、プロセスが runnable 状態であることを示しています。 .Pp .Bl -tag -width indent -compact .It D プロセスはディスク (あるいは他の割り込み不可能な短期間の) 待ち状態です。 .It I プロセスは idle 状態 (20 秒以上 sleep している) です。 .It R プロセスは runnable 状態です。 .It S プロセスは 20 秒未満の sleep 状態です。 .It T プロセスは stop している状態です。 .It Z プロセスは死んでいる状態 (``ゾンビ'') です。 .El .Pp さらにこの後に文字があれば、さらなる状態情報を示します。 .Pp .Bl -tag -width indent -compact .It + プロセスはその制御端末のフォアグラウンドプロセスグループに属しています。 .It < プロセスは .Tn CPU のスケジュール優先度が上げられています。 .It > プロセスはメモリ要求に対するソフトリミットが指定されており、 現在そのリミットを越えています。 このようなプロセスは (必然的に) スワップされていません。 .It A プロセスはランダムなページ置換 ( -.Xr vadvise 2 +.Xr madvise 2 における -.Dv VA_ANOM +.Dv MADV_RANDOM のことで、例えば、 .Xr lisp 1 でのガーベージコレクション) を要求しました。 .It E プロセスは終了しようとしています。 .It L プロセスは実メモリ中にロックされたページ (例えば、raw .Tn I/O 用) を持っています。 .It N プロセスは .Tn CPU スケジューリング優先度 ( .Xr setpriority 2 参照) が下げられています。 .It S プロセスは .Tn FIFO ページ置換 ( -.Xr vadvise 2 +.Xr madvise 2 における -.Dv VA_SEQL +.Dv MADV_SEQUENTIAL のことで、 例えば、仮想記憶の多量のデータを順次アクセスする 大規模画像処理プログラム) を要求しました。 .It s プロセスはセッションリーダです。 .It V プロセスは .Xr vfork 2 の間、一時中断されています。 .It W プロセスはスワップアウトされています。 .It X プロセスはトレースされているか、デバッグされています。 .El .It tt もしあれば、制御端末のパス名の省略形です。 省略形は .Pa /dev/tty に続く 3 文字か、コンソール場合の ``con'' です。 もはやプロセスがその制御端末に到達できない (即ち、revoke された) 場合、 後に ``-'' が付きます。 .It wchan プロセスが待っているイベント (システム内のアドレス)。 数字で表示される時には、アドレスの最初の部分は削られて その結果が 16 進で表示されます。例えば 0x80324000 では 324000 と表示されます。 .El .Pp キーワード command には、 すでに終了しているのに親がまだ wait してくれていない プロセス(即ちゾンビ)は ``'' と表示されます。 終了しようとしてブロックされているプロセスは ``'' と表示されます。 .Nm ps は、メモリやスワップ領域を検査して、 プロセスが生成されたときのファイル名や引数を推測します。 この方法は、本質的に少々信頼できるものではなく、 プロセスはとにかくこの情報を破壊することができます。 だから、表示されるコマンド名や引数をあまり信用しすぎてはなりません。 一方、キーワード ucomm (アカウンティング名) は信用できます。 .Sh キーワード 以下は有効なキーワードとその意味の全リストです。 そのうちいくつかは別名があります。 .Pp .Bl -tag -width sigignore -compact .It %cpu cpu 使用率 (別名 pcpu) .It %mem メモリ使用率 (別名 pmem) .It acflag アカウンティングフラグ (別名 acflg) .It command コマンド名と引数 .It cpu 短期間 cpu 使用係数 (スケジューリング用) .It flags 16 進数のプロセスフラグ (別名 f) .It inblk 総ブロック読み出し数 (別名 inblock) .It jobc ジョブコントロール数 .It ktrace トレース中フラグ .It ktracep トレース中の vnode .It lim メモリ利用のリミット .It logname プロセスを開始したユーザのログイン名 .It lstart 開始時刻 .It majflt 総ページフォールト数 .It minflt 総ページ再生数 .It msgrcv 総メッセージ受信数 (パイプ/ソケットからの読み込み) .It msgsnd 総メッセージ送信数 (パイプ/ソケットへの書き込み) .It nice nice 値 (別名 ni) .It nivcsw 総強制的コンテキストスィッチ数 .It nsigs 総シグナル受け入れ数 (別名 nsignals) .It nswap 総スワップイン/スワップアウト数 .It nvcsw 総自発的コンテキストスィッチ数 .It nwchan wait チャネル (アドレスで表示) .It oublk -総ブロック書き込み数 (別名oublock) +総ブロック書き込み数 (別名 oublock) .It p_ru リソース利用量 (ゾンビに対してのみ有効) .It paddr スワップアドレス .It pagein ページイン数 (majflt と同じ) .It pgid プロセスグループ番号 .It pid プロセス .Tn ID .It poip 進行中のページアウト数 .It ppid 親プロセス .Tn ID .It pri スケジューリング優先度 .It re 実メモリ常駐時間 (秒単位; 127 = 無限) .It rgid 実グループ .Tn ID .It rlink run 行列における逆リンク (あるいは 0) .It rss 常駐セットサイズ .It rsz 常駐セットサイズ + (テキストのサイズ/テキストの利用総数) (別名 rssize) .\" つまり、共通テキストを複数プロセスで分担しているわけだ .It rtprio 実時間優先度 (101 = 実時間プロセスではない) .It ruid 実ユーザ .Tn ID .It ruser ユーザ名 (ruid から得られたもの) .It sess セッションポインタ .It sig 遅延されたシグナル (別名 pending) .It sigcatch 捕獲されたシグナル (別名 caught) .It sigignore 無視されたシグナル (別名 ignored) .It sigmask ブロックされたシグナル (別名 blocked) .It sl sleep 時間 (秒単位; 127 = 無限) .It start 開始時刻 .It state 記号でのプロセス状態 (別名 stat) .It svgid setgid プログラムでの saved gid .It svuid setuid プログラムでの saved uid .It tdev 制御端末のデバイス番号 .It time ユーザ + システムの合計 cpu 時間 (別名 cputime) .It tpgid 制御端末プロセスグループ .Tn ID .\".It trss .\"text resident set size (in Kbytes) .\"テキスト常駐セットサイズ(Kbyte単位) .It tsess 制御端末セッションポインタ .It tsiz テキストサイズ (K バイト単位) .It tt 制御端末名 (2 文字の省略形) .It tty 制御端末の完全な名前 .It uprocp プロセスポインタ .It ucomm アカウンティングで使われるコマンド名 .It uid 実効ユーザ .Tn ID .It upr システムコールから帰る時のスケジューリング優先度 (別名 usrpri) .It user ユーザ名 (uid から得たもの) .It vsz k バイト単位の仮想記憶サイズ (別名 vsize) .It wchan wait チャネル (シンボル名で表示) .It xstat 終了ステータスまたは stop ステータス (stop プロセスかゾンビプロセスの時のみに有効) .El .Sh 関連ファイル .Bl -tag -width /var/run/kvm_kernel.db -compact .It Pa /dev 特殊ファイルとデバイスの名前 .It Pa /dev/drum デフォルトのスワップデバイス .It Pa /dev/kmem デフォルトのカーネルメモリデバイス .It Pa /var/run/dev.db .Pa /dev 名前データベース .It Pa /var/run/kvm_kernel.db システム (カーネル) の名前リストデータベース .It Pa /kernel デフォルトのシステムの名前リスト .El .Sh 関連項目 .Xr kill 1 , .Xr w 1 , .Xr kvm 3 , .Xr strftime 3 , .Xr pstat 8 .Sh バグ .Nm \&ps はシステムより速く実行できず、 他のプロセスと同様にスケジュールされて実行されるので、 表示される情報は正確ではあり得ません。 diff --git a/ja/man/man1/sleep.1 b/ja/man/man1/sleep.1 index ef0afe6eff..d0d92ed605 100644 --- a/ja/man/man1/sleep.1 +++ b/ja/man/man1/sleep.1 @@ -1,120 +1,121 @@ .\" Copyright (c) 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)sleep.1 8.3 (Berkeley) 4/18/94 -.\" %Id: sleep.1,v 1.8 1998/05/18 06:46:11 charnier Exp % +.\" %Id: sleep.1,v 1.8.2.1 1999/05/08 10:43:10 kris Exp % +.\" .\" jpman %Id: sleep.1,v 1.2 1997/05/04 13:38:26 horikawa Stab % .\" .Dd April 18, 1994 .Dt SLEEP 1 .Os .Sh 名称 .Nm sleep .Nd 一定の時間実行を停止する .Sh 書式 .Nm .Ar seconds .Sh 解説 .Nm コマンドは、少なくとも .Ar seconds で指定した秒数だけ実行を停止します。 .Nm コマンドは 他のコマンドの実行のスケジューリングに用いられます(以下の .Sx 使用例 を参照)。 .Pp .Nm コマンドが SIGALRM シグナルを受信すると終了ステータス 0 にて終了します。 その他のシグナルでは標準の動作を行います。 -.Pp +.Sh 診断 .Nm コマンドは終了時に以下の値のいずれかを返します。 .Bl -tag -width flag .It Li \&0 正常終了した場合、もしくは .Dv SIGALRM シグナルを受信した場合。 .It Li \&>\&0 エラーが起きた場合。 .El .Sh 使用例 あるコマンドの実行を .Va x 秒後に設定したい場合: .Pp .Dl (sleep 1800; sh command_file >& errors)& .Pp 上記の例では、command_file で指定したスクリプトを実行する前に 30 分間待ちます( .Xr at 1 ユーティリティの項を参照)。 .Pp あるコマンドを( .Xr csh 1 を使って)繰り返し実行したい場合: .Pp .Bd -literal -offset indent -compact while (1) if (! -r zzz.rawdata) then sleep 300 else foreach i (`ls *.rawdata`) sleep 70 awk -f collapse_data $i >> results end break endif end .Ed .Pp このようなスクリプトが必要とされるのは以下のような場合でしょう: 現在実行中のプログラムが、一連のファイル群を処理するのに予想以上の 時間を必要としていて、このプログラムが処理結果をファイル (zzz.rawdata)に出力したらすぐに別のプログラムを起動して そのファイルを処理したほうがよい場合があります。 上記のスクリプトでは、zzz.rawdata が生成されたかどうかを 5 分おきに確認し、生成が確認されたら 70 秒待って awk ジョブを 実行する、という操作を繰り返します。 .Sh 関連項目 .Xr at 1 , .Xr setitimer 2 , .Xr alarm 3 , .Xr sleep 3 .Sh 規格 .Nm コマンドは、おそらく .St -p1003.2 互換です。 diff --git a/ja/man/man1/tconv.1 b/ja/man/man1/tconv.1 index 9eeed768cf..6d24d6595d 100644 --- a/ja/man/man1/tconv.1 +++ b/ja/man/man1/tconv.1 @@ -1,168 +1,170 @@ .\" @(#) mytinfo tconv.1 3.2 92/02/01 public domain, By Ross Ridge -.\" %Id: tconv.1,v 1.8 1997/08/13 06:58:44 charnier Exp % +.\" %Id: tconv.1,v 1.8.2.1 1999/06/24 06:28:16 mpp Exp % .\" .\" jpman %Id: tconv.1,v 1.3 1997/09/21 06:56:54 konuma Stab % .Dd February 1, 1992 .Dt TCONV 1 .Os .Sh 名称 -.Nm tconv +.Nm tconv , +.Nm tic , +.Nm captoinfo .Nd termcap, terminfo ソースと terminfo バイナリを相互変換する .Sh 書式 .Nm tconv .Op Fl b .Op Fl c Op Fl OUGd .Op Fl i .Op Fl B Op Fl D Ar dir .Op Fl I .Op Fl k .Op Fl V .Op Fl t Ar term .Op Ar file .Nm tic .Op Ar file .Nm captoinfo .Op Fl t Ar term .Op Fl OUGdk .Op Ar file .Sh 解説 .Nm tconv は、termcap、terminfo ソースと .Em tinfo ライブラリが使用する terminfo バイナリ の 3 つの端末記述を互いに変換します。 このプログラムは System V の .Xr captoinfo 1 および .Xr tic 1 と同じ機能を提供します。 また、System V の .Xr infocmp 1 の機能の 1 つと同じく、terminfo バイナリから terminfo ソース リスティングを出力するのに使うこともできます。 .Pp 翻訳オプション .Bl -tag -width indent .It Fl c termcap から変換します。 .It Fl i terminfo ソースから変換します。 .It Fl b terminfo バイナリから変換します。 .It Fl B terminfo バイナリに変換します。 .It Fl I terminfo ソースに変換します。 .El .Pp ファイルを指定する場合、 .Fl c または .Fl i オプションのどちらか一方と、翻訳されるファイルの完全な名前 を指定する必要があります。 ファイル名を指定しなかった場合、入力オプションは単に、 翻訳されるべき端末がある、要求された型の記述がありそうな場所を 検索するのを制限するだけに用いられます。 (すなわち、 .Fl c オプション指定時には .Ev TERMCAP 環境変数と .Pa /usr/share/misc/termcap を、 .Fl i オプション指定時には .Ev TERMINFO 環境変数と .Pa /usr/lib/terminfo を検索します。) それ以外の時は .Nm は全ての利用可能なデータベースを検索します。 もし、 .Fl I と .Fl B のどちらのオプションも指定していない場合は、 .Fl I オプションを指定したものと仮定します。 .Fl B オプションを指定した場合、コンパイル結果の出力は terminfo データベースに 出力され、指定していない場合は標準出力に出力されます。 .Pp terminfo バイナリから terminfo バイナリへの翻訳はできません。 terminfo ソースから terminfo ソースへの翻訳は可能ですが、 .Em use= フィールドで参照している記述が、出力される端末記述に展開されるような場合を 除いては、ほとんどの場合あまり役に立ちません。 .Pp .Nm は標準 termcap の全てのパラメータ化された文字列を terminfo フォーマットに 翻訳できるはずですが、GNU の %a コードを使った複雑な文字列は難しすぎて 翻訳できません。 もし、 .Nm が、termcap 文字列が 既に terminfoフォーマットに翻訳されていると見なした場合 (%p コードが文字列に含まれている場合)、 それを翻訳しようと試みることはありません。 パラメータを持たない文字列型機能記述は翻訳されません。 .Pp termcap オプション: 以下のオプションは、termcap エントリを翻訳するとき ( .Fl c オプションを指定したとき) に利用可能です。 .Bl -tag -width indent .It Fl d 欠けている機能記述を、一切デフォルトで補いません。 .It Fl O 時代遅れの termcap 機能記述を含めます。 .It Fl G GNU の機能記述を含めます。 .It Fl U UW の機能記述を含めます。 .El .Pp その他のオプション .Bl -tag -width indent .It Fl k ファイルを翻訳する時にコメントを保存します。 .It Fl V バージョン情報を表示して終了します。 .It Fl D Ar dir terminfo バイナリを置くディレクトリ。 .It Fl t Ar term 翻訳の対象となる端末の名前。 .El .Pp もし .Fl t オプションで端末名を指定しなかった場合、翻訳の対象となる端末名は環境変数 .Ev TERM から取られます。 .Sh 関連ファイル .Bl -tag -width /usr/lib/terminfo/terminfo.src -compact .It Pa /usr/lib/terminfo terminfo バイナリを読み書きするデフォルトの場所。 .It Pa /usr/lib/terminfo/terminfo.src terminfo ソースファイルのデフォルトのファイル名。 .It Pa /etc/termcap termcap データベースのデフォルトのファイル名。 .El .Sh 関連項目 .Xr curses 3 , .Xr termcap 3 , .Xr term 5 , .Xr termcap 5 , .Xr terminfo 5 . .Sh 診断 ファイルを翻訳しているときの警告メッセージの行番号は エントリ内の警告の原因となった行ではなく、そのエントリの最後の行の番号です。 .Sh バグ もっと多くの警告を出力できるはずです。 .Nm は termcap を翻訳できません。 生成されたバイナリはキャンセルされた機能記述をキャンセルされた 物とマークしたうえで含めていますが、これは System V Release 2.0 の terminfo と非互換です。 diff --git a/ja/man/man1/tput.1 b/ja/man/man1/tput.1 index 9e07317df2..c040bb0854 100644 --- a/ja/man/man1/tput.1 +++ b/ja/man/man1/tput.1 @@ -1,130 +1,138 @@ .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tput.1 8.2 (Berkeley) 3/19/94 -.\" %Id: tput.1,v 1.3 1997/04/27 08:45:46 jmg Exp % +.\" %Id: tput.1,v 1.3.2.1 1999/06/24 06:28:18 mpp Exp % +.\" .\" jpman %Id: tput.1,v 1.3 1997/08/11 14:35:00 horikawa Stab % .\" .Dd March 19, 1994 .Dt TPUT 1 .Os BSD 4.4 .Sh 名称 -.Nm tput +.Nm tput , +.Nm clear .Nd 端末属性を利用するためのインタフェース .Sh 書式 .Nm tput .Op Fl T Ar term .Ar attribute +.Nm clear .Sh 解説 .Nm コマンドは、端末の属性情報を取り出して、ユーザやシェルアプリケーションから 利用できるようにします。 -オプションは、次の通りです。 +.Nm clear +ユーティリティとして起動されたときには、 +.Dl tput clear +が実行されたように画面がクリアされます。 +.Nm +のオプションは、次の通りです。 .Bl -tag -width Ds .It Fl T .Xr termcap データベースの中の端末名 ( .Dq vt100 や .Dq xterm ) を指定します。 端末名が指定されない場合には、環境変数 .Dq Ev TERM の内容を参照します。 .El .Pp .Ar attribute で指定する端末属性が文字列型の場合、 .Nm コマンドはその文字列を出力します。 端末属性が整数型の場合、その数値を出力します。 どちらでもなければ .Nm は余分な動作をせずに、 端末が属性を持っているなら 0 、そうでないなら 1 を 終了コードにして終了します。 .Pp .Ar attribute が文字列型で引数を取る場合 (例えばカーソル移動 : termcap の .Dq cm シーケンス) には、引数は属性名 (attribute) のすぐ後ろから取られます。 .Pp 次の属性は、特別な意味を持っています。 .Bl -tag -width Ar .It clear 画面をクリアします ( .Xr termcap の .Dq cl シーケンス) .It init 端末を初期化します ( .Xr termcap の .Dq is シーケンス) .It longname ユーザの端末タイプの詳細名称を表示します。 .It reset 端末をリセットする ( .Xr termcap の .Dq rs シーケンス) .Sh 診断 .Nm の終了コードは、最後に指定された属性 (attribute) によります。 属性が文字列型か整数型なら、 端末に属性が定義されていたら 0 、定義されていなければ 1 で終了します。 属性が論理型なら、 端末がこの属性を持っていたら 0 、持っていなければ 1 で終了します。 何かエラーが起きた場合、 .Nm コマンドは 2 で終了します。 .Sh 関連項目 .Xr termcap 3 , .Xr termcap 5 .Sh バグ .Nm は属性毎の正しい型を知っているわけではありません。 .Pp termcap エントリによっては .Sq % のみからなる .Sq % を持つことに依存しているものがあります。 現在、有効なタイプ宣言を持たないものに関しては警告を発っします。 これらの警告は標準エラー出力へと送られます。 .Sh 歴史 .Nm コマンドは、 .Bx 4.4 から登場しました。 diff --git a/ja/man/man1/tset.1 b/ja/man/man1/tset.1 index d420c9f9bd..fdac76cf11 100644 --- a/ja/man/man1/tset.1 +++ b/ja/man/man1/tset.1 @@ -1,389 +1,392 @@ .\" Copyright (c) 1985, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tset.1 8.1 (Berkeley) 6/9/93 +.\" .\" jpman %Id: tset.1,v 1.2 1997/04/18 10:42:28 kuriyama Stab % +.\" Original Regision: 1.2.2.1 .\" .Dd June 9, 1993 .Dt TSET 1 .Os BSD 4 .Sh 名称 -.Nm tset +.Nm tset , +.Nm reset .Nd 端末を初期化する .Sh 書式 .Nm tset .Op Fl IQrSs .Op Fl .Op Fl e Ar ch .Op Fl i Ar ch .Op Fl k Ar ch .Op Fl m Ar mapping .Op Ar terminal .br .Nm reset .Op Fl IQrSs .Op Fl .Op Fl e Ar ch .Op Fl i Ar ch .Op Fl k Ar ch .Op Fl m Ar mapping .Op Ar terminal .Sh 解説 .Nm は端末を初期化します。まず最初に .Nm は使用中の端末タイプを判別 します。判別方法は、以下の値を順番に調べ、最初に見つかった端末タイプを 利用するという方法です。 .sp .Bl -bullet -compact -offset indent .It コマンドライン上で指定した .Ar terminal 引数 .It 環境変数 .Ev TERM の値 .It 利用中の標準エラー出力デバイスに対応する、 .Pa /etc/ttys 内のエントリで定義している端末タイプ .It デフォルトの端末タイプである ``unknown'' .El .Pp 端末タイプがコマンドラインで指定されない時は、 .Fl m オプションのマッピングはその後に適用されます (詳細は下を参照)。 その後、もし端末タイプの前に ``?'' がついていたならば、端末タイプの確認用のプロンプトが出ます。空行を 与えるとその端末タイプになりますが、別の新しい端末タイプを入力することも 可能です。いったん端末タイプが決定すれば、その端末用の termcap エントリが 検索されます。termcap エントリが見つからない場合は、もう一度プロンプトが 出ます。 .Pp いったん termcap エントリが見つかれば、(他にもたくさんある中で) 画面サイズ、バックスペース、インタラプト、行消去のキャラクタがセットされ、 端末の初期化およびタブの初期化の文字列が標準エラー出力に送られます。 最後に、もし、消去、インタラプト、行削除のキャラクタが変更される、もしくは そのデフォルト値が未設定であれば、その値が標準エラー出力に表示されます。 .Pp .Nm が .Nm reset として起動された時は、上で述べた端末初期化が行なわ れる前に、端末を cooked モード、echo モードにセットし、cbreak モード、 raw モードをオフにし、newline 変換を有効にし、 未設定の特殊キャラクタをデフォルト値でリセットします。 これは、プログラムが端末を異常な状態にしたまま死んだ時に有用です。 端末が異常な状態にあるときにはキャリッジリターンが働かないことがあるので、 端末を正常に戻すためには .Dq Li reset (ラインフィードキャラクタは通常 コントロール-J です) とタイプしなければいけないかもしれないということに 注意して下さい。また、端末がコマンドのエコーを行なわなくなっているかも しれません。 .Pp オプションは以下のものがあります: .Bl -tag -width flag .It Fl 端末タイプが標準出力に表示されます。端末は初期化されません。 .It Fl e erase キャラクタを .Ar ch にします。 .It Fl I 端末初期化文字列もしくはタブ初期化文字列を端末に送りません。 .It Fl i インタラプトキャラクタを .Ar ch にします。 .It Fl k 行削除のキャラクタを .Ar ch にします。 .It Fl m ポートタイプから端末へのマッピングを指定します。詳細は下を参照して下さい。 .It Fl Q 消去、インタラプト、行削除の値を表示しません。 .It Fl r 端末タイプを標準エラー出力に表示します。 .It Fl S 端末タイプと termcap エントリを標準出力に表示します。 環境設定についての詳細は以下のセクションを参照して下さい。 .It Fl s 環境変数 .Ev TERM と .Ev TERMCAP を初期化する shell コマンド列を標準出力に書きます。 環境変数の設定についての詳細は以下のセクションを参照して下さい。 .El .Pp .Fl e , .Fl i , .Fl k オプションの引数は、実際のキャラクタを 書くか、もしくは .Dq ハット記号 を使って (すなわち コントロール-h なら .Dq Li ^H もしくは .Dq Li ^h ) 記述して下さい。 .Sh 環境設定 しばしば、端末タイプと端末の能力についての情報を shell の環境変数に設定する 必要がでてきます。これは .Fl S と .Fl s のオプションで行ないます。 .Fl S オプションが指定された時、端末タイプと termcap エントリが 標準出力に表示されます。この出力はスペースで区切られており、最後に 改行がつきません。また、この出力は .Nm csh , .Nm ksh やその他の shell の配列に 代入できます。 .Pp .Fl s オプションが指定された場合は shell の環境変数を設定するための コマンドが標準出力に書かれます。このコマンドは、環境変数 .Ev SHELL の設定値が ``csh'' で終っていれば .Nm csh 用の、それ以外は .Nm sh 用のものとなります。 .Nm csh 用のコマンドの場合は .Dq noglob シェル変数の set と unset が行なわれ、 unset したままになることに注意して下さい。以下の行を .Pa .login や .Pa .profile に記述すれば環境変数を正しく初期化できます: .Bd -literal -offset indent eval \`tset -s options ... \` .Ed .Pp .Fl S オプションの使い方を簡単に説明すると、 .Pa .login に以下のような記述をすると上と同じような効果が得られます: .Bd -literal -offset indent set noglob set term=(`tset -S options ...`) setenv TERM $term[1] setenv TERMCAP "$term[2]" unset term unset noglob .Ed .Sh 端末タイプへのマッピング 端末がシステムに組み込まれていない場合 (或は現在のシス テム情報が正しくない場合) .Pa /etc/ttys ファイル 或は .Ev TERM 環境変数から得た端末タイプは .Dq network , .Dq dialup , .Dq unknown のような generic になることがあります。 .Nm がスタートアップスクリプト ( .Xr sh 1 を使う場合は .Pa .profile 、 .Xr csh 1 を使う場合は .Pa .login ) で使われる場合は、しばしば、そのようなポートで使われる端末のタイプ の情報を提供する必要があります。 .Fl m オプションの目的は、端末タイプの状態リストから .Dq map すること、すなわち .Nm に ``もしこのポートがある特定のスピードであるならば、ある種の端末であることを 推定しなさい''という情報を伝えることです。 .Pp .Fl m オプションの引数は、ポートタイプ、オペレータ、ボーレート、コロン(``:'') と端末タイプからなります。 ポートタイプは (オペレータ或はコロン文字によって区切られた) 文字列で表し ます。オペレータは、 .Dq Li \&> , .Dq Li \&< , .Dq Li \&@ , .Dq Li \&! の組合せになります。 .Dq Li \&> は「より大きい」を意味し、 .Dq Li \&< は「より小さい」を意味し、 .Dq Li \&@ は「等しい」を意味し、 そして .Dq Li \&! は「 test の評価結果の反対」を意味します。 ボーレートは数値として表され、 (コントロール端末である べき) 標準エラー出力のスピードと比較されます。 端末タイプは文字列です。 .Pp もし端末タイプがコマンドラインで示されなければ、 .Fl m マッピングが端末タイプに適用されます。 もしポートタイプとボーレートがマッピングと一致すると、マッピングで示された端 末タイプでカレントタイプを置き換えます。もし、一つ以上のマッピングが示さ れた場合には、最初に適合したマッピングを使います。 .Pp 例えば、 .Dq Li dialup>9600:vt100 というマッピングを考えます。 ポートタイプは .Dq Li dialup 、オペレータは .Dq Li > 、ボーレートは .Dq Li 9600 、そして端末タイプは .Dq Li vt100 です。 このマッピングの結果、ターミナルタイプが .Dq Li dialup で、ボーレートが 9600 ボーより大きければ、端末タイプ .Dq Li vt100 が使われます。 .Pp ポートタイプがない場合は、端末タイプは任意のポートタイプに一致します。 例えば、 .Dq Li -m dialup:vt100 -m :?xterm では、任意のダイヤルアップポートにおいて、 ボーレートを無視してターミナルタイプを .Dq Li vt100 に一致させます。そして、ダイヤルアップ以外のポートをターミナルタイプ .Dq Li ?xterm に一致させます。 ?xterm はクエスチョンマークが先頭に付いているので、実際に .Ar xterm ターミナルを使っているかどうかについてデフォルトポートで 確認を求められことに注意して下さい。 .Pp .Fl m オプションでの引数に空白は許されません。 メタキャラクタの問題を避けるために、 .Fl m オプションの引数全体はシングルコーテーションで囲むこと、そして .Nm csh を使っている場合は、すべてのイクスクラメーションマーク (``!'') の前に バックスラッシュ (``\e'') をいれることを推奨します。 .Sh 環境変数 .Nm コマンドは、環境変数 .Ev SHELL および .Ev TERM を利用します。 .Sh 関連ファイル .Bl -tag -width /usr/share/misc/termcap -compact .It Pa /etc/ttys システムポート名から端末タイプへのマッピングを記述したデータベース .It Pa /usr/share/misc/termcap termcap データベース .El .Sh 関連項目 .Xr csh 1 , .Xr sh 1 , .Xr stty 1 , .Xr tty 4 , .Xr termcap 5 , .Xr ttys 5 , .Xr environ 7 .Sh 歴史 .Nm は .Bx 3.0 から現れました。 .Sh 互換性 .Fl A , .Fl E , .Fl h , .Fl u , .Fl v オプションは .Nm ユーティリティから削除されました。 これらは 4.3BSD のドキュメントにはなく、限られた用途しかありません。 .Fl a , .Fl d , .Fl p オプションも同様に、ドキュメントにないか有用ではありませんが、 広く使われるので残されています。これら3つのオプショ ンの代わりに、 .Fl m オプションを使うことが強く推奨されています。 .Fl n オプションは残っていますが、無効です。 .Fl e , .Fl i , .Fl k オプションは引数なしに使うことがまだ許されていますが、 このような使用法は、 文字を明示的に指定するよう修正されることが 強く推奨されています。 .Pp .Nm reset として .Nm を実行する場合には、 .Fl Q オプションは使いません。 .Nm の幾つかの歴史的な実装上での .Fl オプションと 引数 .Ar terminal の間の干渉は排除されています。 .Pp 最後に, .Nm の実装は ( .St -p1003.1-88 に従うシステムへの追加の一部として ) 完全にやり直されました。 もはや古い端末インターフェースのシステムの上では コンパイルはされないでしょう。 diff --git a/ja/man/man1/vacation.1 b/ja/man/man1/vacation.1 index 1ad86129f3..66add951cd 100644 --- a/ja/man/man1/vacation.1 +++ b/ja/man/man1/vacation.1 @@ -1,188 +1,207 @@ .\" Copyright (c) 1985, 1987, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)vacation.1 8.1 (Berkeley) 6/16/93 -.\" %Id: vacation.1,v 1.6 1997/02/22 19:57:38 peter Exp % +.\" %Id: vacation.1,v 1.6.2.1 1999/06/27 18:34:26 sheldonh Exp % .\" .\" jpman %Id: vacation.1,v 1.3 1997/08/19 03:07:07 h-nokubi Stab % .\" .Dd June 16, 1993 .Dt VACATION 1 .Os BSD 4.3 .Sh 名称 .Nm vacation .Nd 不在の通知を返送する .Sh 書式 .Nm vacation +.Op Fl d .Fl i .Op Fl r Ar interval .Nm vacation +.Op Fl d .Fl l .Nm vacation +.Op Fl d .Op Fl a Ar alias .Ar login .Sh 解説 .Nm vacation は、メールの送信者に対して、あなたが現在メールを 読んでいない旨を通知するメッセージを返送します。通常、 .Pa .forward ファイルの中で使われます。 例えば、あなたの .Pa .forward ファイルの中で次のように記述します。 .Bd -literal -offset indent \eeric, "|/usr/bin/vacation -a allman eric" .Ed -これで、あなた自身(ここではログイン名がericであるとします)にメッセージを送るとともに、 +これで、あなた自身 (ここではログイン名が eric であるとします) +にメッセージを送るとともに、 .Dq eric もしくは .Dq allman に宛てられたメッセージに自動応答します。 .Pp 以下のオプションを指定することができます。 .Bl -tag -width Ds .It Fl a Ar alias .Ar alias 宛てのメッセージをユーザのログイン名に送られたメールと同様に処理します。 +.It Fl d +デバックモードを有効にします。下記を参照してください。 .It Fl i -Vacationデータベースを初期化します。 +Vacation データベースを初期化します。 これは、 .Pa .forward ファイルを変更する前に行なっておく必要があります。 .It Fl r 自動応答の間隔を .Ar interval -日に設定します。デフォルトは1週間です。間隔を +日に設定します。デフォルトは 1 週間です。間隔を .Dq 0 に設定すると、全てのメッセージに対して自動応答を行ないます。 .Dq Li infinite -(実際には数字以外の文字ならなんでも)を設定すると、同じ送信者には一度しか自動応答を -行ないません。間隔を +(実際には数字以外の文字ならなんでも) を設定すると、 +同じ送信者には一度しか自動応答を行ないません。間隔を .Dq Li \&0 に設定すると .Dq I am on vacation メールがループすることがあり、非常に危険です。 .It Fl l Vacationデータベースファイルの内容を表示します。 それぞれのエントリについて自動応答が送られたアドレスとその時間が 標準出力に表示されます。 .El .Pp .Ar login (もしくは .Fl a オプションによって指定された .Ar alias ) がメールの .Dq To: もしくは .Dq Cc: ヘッダになければ、自動応答は送られません。また、 -.Dq ???-REQUEST -、 -.Dq Postmaster -、 -.Dq Tn UUCP -、 -.Dq MAILER -、 +.Dq ???-REQUEST , +.Dq Postmaster , +.Dq Tn UUCP , +.Dq MAILER , .Dq MAILER-DAEMON -から(大文字、小文字は区別されません)のメールや、 +から (大文字、小文字は区別されません) のメールや、 .Dq Precedence: bulk や .Dq Precedence: junk の行がヘッダに含まれているメールに対しても自動応答は送られません。 あなたへのメールの送信者のアドレスは ホームディレクトリの .Pa .vacation.db ファイル中で .Xr hash 3 を使用して管理されます。 .Pp .Nm Vacation ではホームディレクトリに .Pa .vacation.msg ファイルを置くことによって、 あなたへのメールの送信者へのメッセージを指定します。 -このファイルは(ヘッダを含む)完全なメッセージでなければなりません。 +このファイルは (ヘッダを含む) 完全なメッセージでなければなりません。 以下に例を示します。 .Pp .Bd -unfilled -offset indent -compact From: eric@CS.Berkeley.EDU (Eric Allman) Subject: I am on vacation Delivered-By-The-Graces-Of: The Vacation program Precedence: bulk -わたしは7月22日まで休暇をとっています。緊急の場合は +わたしは 7 月 22 日まで休暇をとっています。緊急の場合は Keith Bostic に連絡願います。 --eric .Ed (訳註)返答メッセージに日本語を使う場合には、 漢字コードは JIS (ISO-2022-JP) でなければいけません。 .\" 上記(訳註)は日本語対応のために追加しました。 .\" 2.2.1-RELEASE 対象 .\" by mihara@prd.fc.nec.co.jp (Apr. 4, 1997) .Pp .Nm Vacation -はメールの送信者を決定するために標準入力の1行目の +はメールの送信者を決定するために標準入力の 1 行目の .Ux .Dq From 行を読みます。この .Dq From 行は .Xr sendmail 8 が自答的に付加するものです。 .Pp .Nm vacation が不正な引数で呼ばれたり、 .Ar login 名が存在しないような致命的なエラーはシステムのログファイルに .Xr syslog 3 を使って記録されます。 +ただし、 +.Fl d +オプションでデバッグモードが指定されている場合はこの限りではありません。 +この場合、標準エラー出力に書き出されます。 +.Pp +前述の使用例に追加し、 +本プログラムの動作をテストする間に次のものをあなたの +.Pa .forward +ファイルに書くことで、エラー出力をファイルにリダイレクト可能です: +.Pp +.Bd -literal -offset indent +\eeric, "|/bin/sh -c '/usr/bin/vacation -d -a allman eric' 2>/home/eric/.vacation.log" +.Ed +.Sh 診断 +.Nm +ユーティリティは、成功時には 0 で、 +エラー発生時には 0 より大きな値で終了します。 .Sh 関連ファイル .Bl -tag -width "vacation.dirxxx" -compact .It Pa ~/.vacation.db データベースファイル .It Pa ~/.vacation.msg 送信するメッセージ .El .Sh 関連項目 .Xr syslog 3 , .Xr sendmail 8 , .Xr syslogd 8 .Sh 歴史 .Nm vacation コマンドは .Bx 4.3 から登場しました。 diff --git a/ja/man/man1/vidcontrol.1 b/ja/man/man1/vidcontrol.1 index 3471acab28..31ea4327e8 100644 --- a/ja/man/man1/vidcontrol.1 +++ b/ja/man/man1/vidcontrol.1 @@ -1,208 +1,299 @@ .\" t .\" .\" vidcontrol - a utility for manipulating the syscons video driver .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" @(#)vidcontrol.1 -.\" %Id: vidcontrol.1,v 1.14.2.2 1999/06/03 12:44:49 yokota Exp % +.\" %Id: vidcontrol.1,v 1.14.2.3 1999/07/05 10:00:41 yokota Exp % .\" .\" jpman %Id: vidcontrol.1,v 1.3 1997/08/04 01:31:25 mitchy Stab % -.Dd May 22, 1994 +.Dd June 30, 1999 .Dt VIDCONTROL 1 .Os .Sh 名称 .Nm vidcontrol -.Nd syscons 画面ドライバの操作ユーティリティ +.Nd syscons コンソールドライバの操作ユーティリティ .Sh 書式 .Nm -.Op Fl r Ar fg Ar bg .Op Fl b Ar color .Op Fl c Ar appearance .Op Fl d -.Op Fl i Ar adapter|mode -.Op Fl l Ar scrmap -.Op Fl L -.Op Fl m Ar on|off .Op Fl f Ar size Ar file +.Op Fl i Cm adapter | mode +.Op Fl l Ar screen_map +.Op Fl L +.Op Fl m Cm on | off +.Op Fl r Ar foreground Ar background .Op Fl s Ar number -.Op Fl t Ar N|off +.Op Fl t Ar N | Cm off .Op Fl x -.Op mode -.Op fgcol Op bgcol -.Op show +.Op Ar mode +.Op Ar foreground Op Ar background +.Op Cm show .Sh 解説 .Nm -コマンドを用いて syscons 画面ドライバの様々なオプション、例えば、 -画面モード、色、カーソル、画面マップ (scrnmap)、 -フォント、スクリーンセーバタイムアウトを設定することができます。 +コマンドを用いて +.Xr syscons 4 +コンソールドライバの様々なオプション、例えば、 +画面モード、色、カーソル形状、画面出力マップ、 +フォント、スクリーンセーバタイムアウトを設定できます。 .Pp 以下のコマンドラインオプションをサポートしています: .Bl -tag -width indent -.It mode +.It Ar mode 新しいビデオモードを選択します。 現在サポートしているモードは次の通りです: .Ar 40x25 , .Ar 80x25 , .Ar 80x30 , .Ar 80x43 , .Ar 80x50 , .Ar 80x60 , .Ar 132x25 , .Ar 132x30 , .Ar 132x43 , .Ar 132x50 , .Ar 132x60 , .Ar VGA_40x25 , .Ar VGA_80x25 , .Ar VGA_80x50 , .Ar EGA_80x25 , .Ar EGA_80x43 , .Ar VESA_132x25 , .Ar VESA_132x30 , .Ar VESA_132x43 , .Ar VESA_132x50 , .Ar VESA_132x60 。 .\" また、グラフィックモード .\" .Ar VGA_320x200 , ラスタテキストモード .Ar VGA_800x600 も選択できます。 後述の .Sx ビデオモードサポート を参照してください。 -.It fgcol Op bgcol +.It Ar foreground Op Ar background テキストを表示する際の色を変更します。 -前景色 (例: "vidcontrol white")、あるいは -前景色および背景色 (例: "vidcontrol yellow blue") を指定することにより +前景色 (例: ``vidcontrol white'')、あるいは +前景色および背景色 (例: ``vidcontrol yellow blue'') を指定することにより 変更できます。 -.It show +後述の +.Cm show +コマンドを使用して、使用可能な色を見られます。 +.It Cm show 指定したプラットフォームでサポートされている色を表示します。 -.It Fl r Ar foreground Ar background +.It Fl r Ar foreground background 反転表示モードで用いる色を前景色 .Ar foreground および背景色 .Ar background に変更します。 .It Fl b Ar color ボーダ色を .Ar color -に設定します (VGA ハードウェアでのみサポートされています)。 -.It Fl c Ar normal|blink|destructive +に設定します。 +本オプションをビデオドライバが常にサポートしているのではないかもしれません。 +.It Fl c Cm normal | blink | destructive カーソルの外観を変更します。 -カーソルは、反転ブロック (normal)、反転ブロックの点滅 (blink)、 -あるいは古いハードウェアカーソル様のもの (destructive) のいずれかです。 +カーソルは、反転ブロック +.Pq Cm normal +、反転ブロックの点滅 +.Pq Cm blink +、あるいは古いハードウェアカーソル様のもの +.Pq Cm destructive +のいずれかです。 後者は実際にはシミュレートしています。 .It Fl d 現在の画面出力マップを表示します。 -.It Fl l Ar scrmap +.It Fl l Ar screen_map 画面出力マップをファイル -.Ar scrmap +.Ar screen_map から読み込んで設定します。 +.Xr syscons 4 +も参照してください。 .It Fl L -画面出力マップをデフォルトに設定します。 -.It Fl i Ar adapter +出力画面マップをデフォルトに設定します。 +.It Fl i Cm adapter 現在のビデオアダプタに関する情報を表示します。 -.It Fl i Ar mode +.It Fl i Cm mode 現在のビデオハードウェアにて使用可能なビデオモードを表示します。 -.It Fl m Ar on|off +.It Fl m Cm on | off マウスポインタを -.Ar on +.Cm on または -.Ar off +.Cm off します。 -テキストモードでのカット & ペースト機能を利用するために moused デーモンと共に -使用します。 +テキストモードでのカット & ペースト機能を利用するために +.Xr moused 8 +デーモンと共に使用します。 .It Fl f Ar size Ar file サイズ .Ar size 用のフォントをファイル .Ar file から読み込みます。 -現在のところ +(現在のところ .Ar size -には 8x8, 8x14, 8x16 のみが指定できます。 +には +.Cm 8x8 , +.Cm 8x14 , +.Cm 8x16 +のみが指定できます)。 フォントファイルは uuencode された形式でも 生のバイナリフォーマットでも構いません。 +メニューによる +.Xr vidfont 1 +コマンドを使用して、好きなフォントをロード可能です。 +.Pp +MDA や CGA のような古いビデオカードは +ソフトウェアフォントをサポートしないことに注意してください。 +後述の +.Sx ビデオモードサポート +と +.Sx 使用例 +と +.Xr syscons 4 +のマニュアルページも参照してください。 .It Fl s Ar number 現在の vty を .Ar number に設定します。 -.It Fl t Ar N|off +.It Fl t Ar N | Cm off スクリーンセーバのタイムアウト値を .Ar N 秒に設定、あるいはスクリーンセーバを無効 ( -.Ar off +.Cm off )にします。 .It Fl x 出力に 16 進数を用います。 .El .Ss ビデオモードサポート 前記の全モードを ビデオカードがサポートしているとは限らないことに注意してください。 -.Fl i Ar mode +.Fl i Cm mode オプションを使用することにより、 ビデオカードがサポートしているモードを調べることが可能です。 .Pp VESA ビデオモードもしくは 132 桁モードを使用する場合には、 VESA BIOS サポートをカーネルにリンクするか KLD にてロードする必要があることにも 注意してください ( .Xr vga 4 を参照してください)。 .Pp 25 または 30 行モード以外のビデオモードは、 特定の大きさのフォントが必要となるかもしれません。 前述の .Fl f オプションを使用し、フォントファイルをカーネルにロードしてください。 必要な大きさのフォントがカーネルにロードされていないと、 ユーザが新規ビデオモードを設定しようとした場合に .Nm は失敗します。 .Pp .TS c s c c l c. ビデオモードとフォントの大きさ モード フォントの大きさ 25 行モード 8x16 (VGA), 8x14 (EGA) 30 行モード 8x16 43 行モード 8x8 50 行モード 8x8 60 行モード 8x8 .TE .Pp 同じフォントの 3 つの大きさすべて (8x8, 8x14, 8x16) を 常にロードすることが望ましいです。 .Pp +.Pa /etc/rc.conf +または .Pa /etc/rc.conf.local -中の変数 -.Ar font8x8 , -.Ar font8x14 , -.Ar font8x16 -を希望のフォントファイルに設定できます。 +中の変数を希望のフォントファイルに設定できます。 これにより、システム起動時にこれらのフォントが自動的にロードされます。 +後述を参照してください。 +.Sh ビデオ出力設定 +.Ss ブート時の設定 +次の変数を +.Pa /etc/rc.conf +または +.Pa /etc/rc.conf.local +に設定することにより、ブート時にビデオ出力を設定可能です。 +.Pp +.Bl -tag -width foo_bar_var -compact +.It Ar blanktime +.Fl t +オプション用のタイムアウトを設定します。 +.It Ar font8x16, font8x14, font8x8 +.Fl f +オプション用のフォントファイルを指定します。 +.It Ar scrnmap +.Fl l +オプション用の画面出力マップファイルを指定します。 +.El +.Pp +更なる詳細は +.Xr rc.conf 5 +を参照してください。 +.Ss ドライバの設定 +デフォルトフォントなどのデフォルト設定オプションの変更を、 +ビデオカードドライバが許す場合があります。 +その場合、ブート時のオプション設定の必要はなくなります。 +詳細はビデオカードドライバマニュアル +.Pq 例えば Xr vga 4 +を参照してください。 .Sh 関連ファイル -.Bl -tag -width /usr/share/syscons/scrnmaps -compact -.It Pa /usr/share/syscons/fonts -.It Pa /usr/share/syscons/scrnmaps +.Bl -tag -width /usr/share/syscons/scrnmaps/foo-bar -compact +.It Pa /usr/share/syscons/fonts/* +フォントファイル。 +.It Pa /usr/share/syscons/scrnmaps/* +画面出力マップファイル。 .El +.Sh 使用例 +カーネルに +.Pa /usr/share/syscons/fonts/iso-8x16.fnt +をロードしたい場合、 +.Nm +を次のように実行します。 +.Pp +.Dl vidcontrol -f 8x16 /usr/share/syscons/fonts/iso-8x16.fnt +.Pp +フォントファイルが +.Pa /usr/share/syscons/fonts +にある場合、ファイル名を +.Pa iso-8x16 +のように短縮可能です。 +.Pp +.Dl vidcontrol -f 8x16 iso-8x16 +.Pp +同様に、画面出力マップファイルが +.Pa /usr/share/syscons/scrnmaps . +にある場合、 +.Fl l +オプション用のファイル名を短縮可能です。 +.Pp +.Dl vidcontrol -l iso-8859-1_to_cp437 +.Pp +このコマンドは +.Pa /usr/share/syscons/scrnmaps/iso-8859-1_to_cp437.scm +をロードします。 .Sh 関連項目 .Xr kbdcontrol 1 , +.Xr vidfont 1 , .Xr keyboard 4 , .Xr screen 4 , .Xr syscons 4 , .Xr vga 4 , .Xr rc.conf 5 , .Xr moused 8 .Sh 作者 .An Soren Schmidt Aq sos@FreeBSD.org diff --git a/ja/man/man5/groff_out.5 b/ja/man/man5/groff_out.5 index 84905f97f2..9c377c0263 100644 --- a/ja/man/man5/groff_out.5 +++ b/ja/man/man5/groff_out.5 @@ -1,228 +1,228 @@ '\" e .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. .\" This man page must be preprocessed with eqn. .\" -.\" Original Revision: 1.1.1.1 +.\" Original Revision: 1.2 .\" jpman %Id: groff_out.5,v 1.3 1998/08/09 15:06:44 ryo2 Stab % .\" .\" FreeBSD jpman project 訳語表 .\" WORD: scaled point スケールドポイント (troff.1, groff_font.5 参照) .\" WORD: special character 特殊文字 (troff.1 参照) .\" WORD: special font スペシャルフォント (troff.1 参照) .\" WORD: machine unit マシン単位 (pic.1, groff_font.5 参照) .\" WORD: print 印字 .ie \n(.g .ds ic \/ .el .ds ic \^ .TH GROFF_OUT 5 "11 May 1998" "Groff Version 1.11" .SH 名称 groff_out \- groff の中間出力フォーマット .SH 解説 このマニュアルページは、GNU troff の出力フォーマットについて記述します。 GNU troff が使用する出力フォーマットは、 UNIX のデバイス非依存 troff が使用するものと似ています。 ここでは両者の差のみを記述します。 .LP .B s コマンドへの引数はスケールドポイントです (これは .IR ポイント/ n を意味します。 .I n は DESC ファイル中の .B sizescale コマンドへの引数です)。 .B x\ Height コマンドへの引数もまたスケールドポイントです。 .LP 最初の 3 つの出力コマンドは次のようになっていなければなりません: .IP .BI x\ T\ device .br .BI x\ res\ n\ h\ v .br .B x init .LP DESC ファイル中に .B tcommand 行が存在する場合には、troff は以下の 2 つのコマンドを使用します。 .TP .BI t xxx .I xxx は、任意の文字のシーケンスであり、空白または改行を終端とします; 最初の文字を現在位置で印字し、 現在の水平位置を最初の文字の幅だけ増加させます。 続けて、同じ処理を各文字に対して実行します。 文字の幅は、フォントファイルにおいて与えられたものを 現在のポイントサイズに応じて適切にスケーリングしてから、 水平解像度の倍数となるように丸めます。 特殊文字はこのコマンドでは印字できません。 .TP .BI u n\ xxx .B t コマンドと同様ですが、各文字の印字後に現在の水平位置に加えられるものが、 文字幅と .IR n の和である点が違います。 .LP 単一文字は 8 ビット目がセットされていてもかまわないことに注意してください。 これはフォント名や特殊文字名にもあてはまります。 .LP 文字名やフォント名は任意の長さが許されます; ドライバはこれらの長さが 2 文字のみであると仮定してはなりません。 .LP 文字を印字する時、その文字は常に現在のフォント中に存在します。 デバイス非依存 troff とは異なり、 ドライバがスペシャルフォントから文字を探す必要はありません。 .LP .B D 描画コマンドは拡張されています。 .B \-n オプション指定時には、GNU pic はこれらの拡張を使用しません。 .TP \fBDf \fIn\fR\*(ic\en オブジェクトの塗り潰しに使用する陰影を .IR n に設定します; ここで .I n は 0 から 1000 の範囲の整数である必要があり、0 は白の塗り潰しを、 1000 は黒の塗り潰しを、 そしてそれらの間の値は中間の陰影を意味します。 この設定は、円の塗り潰し、楕円の塗り潰し、多角形の塗り潰しにのみ適用されます。 デフォルトでは 1000 が使用されます。 塗り潰しオブジェクトが色を持つ場合、 その色でそのオブジェクトの下の全てのものを完全に隠します。 1000 より大きい値や 0 より小さい値も使用される可能性があります: これらの値を指定すると、 現在線やテキストで使用している陰影で塗り潰すことを意味します。 通常はこれは黒ですが、 ドライバによってはこれを変更する手段を提供するものがあります。 .TP \fBDC \fId\fR\*(ic\en 現在位置を最左端とする、半径 .I d の塗り潰された円を描画します。 .TP \fBDE \fIdx dy\fR\*(ic\en 現在位置を最左端とする、水平半径 .I dx 垂直半径 .I dy の塗り潰された楕円を描画します。 .EQ delim $$ .EN .TP \fBDp\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en $i = 1 ,..., n+1$ に対し、 .I i 番目の頂点を現在位置 $+ sum from j=1 to i-1 ( dx sub j , dy sub j )$ とする多角形を描画します。 今のところ、GNU pic のみがこのコマンドを使用し、三角形と矩形を生成します。 .TP \fBDP\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en .B Dp と同様ですが、多角形の外形のみの描画でなく、塗り潰しも行います。 .TP \fBDt \fIn\fR\*(ic\en 現在の線の太さを .I n マシン単位に設定します。 伝統的に UNIX troff ドライバは、 現在のポイントサイズに比例する線の太さを使用します; .B Dt コマンドが指定されない場合や、 .B Dt コマンドに負の .IR n が指定された場合は、ドライバはこの方法を使用する必要があります。 .I n に 0 を指定すると、利用可能な最小の線の太さを選択します。 .LP これらのコマンドを実行した後、 現在位置をどのように変更するのかという問題が生じます。 GNU pic が生成するコードはこの問題に依存しませんので、 これはたいして重要ではありません。 .IP \fB\eD\(fm\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\(fm .LP の形式、ただし .I c は .BR c , .BR e , .BR l , .BR a , .BR ~ のいずれでもない描画コマンドが与えられた時、 UNIX troff は各 $x sub i$ を水平の単位で扱い、$y sub i$ を垂直の単位で扱い、 描画されるオブジェクトの幅は $sum from i=1 to n x sub i$ であり、 高さは $sum from i=1 to n y sub i$ であると仮定します。 (高さに関する仮定は、このような .B D コマンドを \ew エスケープシーケンス中で使用した後、 .B st レジスタおよび .B sb レジスタを検査することにより確認できます。) この規則は全てのオリジナルの描画コマンドにあてはまりますが、 .B De は例外です。 .BR Df , .B Dt コマンドや、影響は少ないですが .B DE コマンドにおいて、たとえ醜い結果となったとしても、 GNU troff もまた互換性のためにこの規則に従います。 それゆえ、 .IP \fBD\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\en .LP の形式の .B D コマンドを実行した後は、現在位置は $( sum from i=1 to n x sub i , sum from i=1 to n y sub i )$ だけ増えます。 .LP .B x\ X コマンドへの引数に改行を含めることを許すという、 継続に関する取り決めがあります: .B x\ X コマンドへの引数を出力する時、GNU troff は 引数中の .B + 文字付きの改行を辿ります (通常は改行で引数全体が終端されます); それゆえ、 .B x\ X コマンドを含む行の次行が .B + で開始する場合には、 .B x\ X コマンドを含む行の終端となっている改行は .B x\ X コマンドへの引数の一部として扱い、 .B + を無視し、行の .B + に続く部分を .B x\ X コマンドに続く行の部分として扱います。 .SH "関連項目" .BR groff_font (5) diff --git a/ja/man/man7/mdoc.samples.7 b/ja/man/man7/mdoc.samples.7 index 102cae151d..6ac023a08a 100644 --- a/ja/man/man7/mdoc.samples.7 +++ b/ja/man/man7/mdoc.samples.7 @@ -1,2709 +1,2725 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mdoc.samples.7 8.2 (Berkeley) 12/30/93 -.\" %Id: mdoc.samples.7,v 1.17 1998/12/03 03:38:45 jkoshy Exp % +.\" %Id: mdoc.samples.7,v 1.17.2.2 1999/06/24 01:00:56 mpp Exp % .\" .\" jpman %Id: mdoc.samples.7,v 1.4 1999/01/21 17:52:58 kuma Stab % .\" .\" This tutorial sampler invokes every macro in the package several .\" times and is guaranteed to give a worst case performance .\" for an already extremely slow package. .\" .\" WORD: display 表示内容 .\" WORD: angle bracket カギ括弧 <> .\" WORD: keep キープ .\" WORD: display ディスプレイ .\" WORD: literal リテラル .\" WORD: content macro コンテントマクロ .\" WORD: command modifier コマンド修飾子 .\" WORD: enclosure 囲い .\" WORD: quoting クォート .\" WORD: nest 入れ子 .\" WORD: block ragged 凹凸ブロック .\" WORD: constant width character 定幅文字 .\" .Dd December 30, 1993 .Os .Dt MDOC.SAMPLES 7 .Sh 名称 .Nm mdoc.samples .Nd .Nm \-mdoc を使って .Bx マニュアルを書くためのチュートリアルサンプル .Sh 書式 .Nm man mdoc.samples .Sh 解説 .Xr troff 1 用の .Em コンテントベース でかつ .Em 領域ベース なフォーマットパッケージである .Nm \-mdoc マクロパッケージを使って .Bx マニュアルを書くためのチュートリアルサンプルです。 前身である .Xr \-man 7 パッケージはフォントの操作や他の写植方法の詳細は個々の作者に任せた ページレイアウトベースのものでした。 .Nm \-mdoc では、ページレイアウトマクロは タイトル、セクションのヘッダ、ディスプレイ、リストのマクロからなる .Em "ページ構造領域" を形成しています。 ページ構造領域に加え、 さらにマニュアル領域および一般テキスト領域の 2 つの領域があります。 一般テキスト領域はテキストの一部をクォートしたり、強調するといったような作業を 実行するマクロとして定義されています。 マニュアル領域はコマンドやルーチン、それに .Bx の関連ファイルを記述するための日常使用されるインフォーマルな言葉の サブセットであるマクロとして定義されています。 マニュアル領域のマクロはコマンド名、コマンド行の引数とオプション、 関数名、関数のパラメータ、パス名、変数名、他のマニュアルページへの クロスリファレンスなどを扱います。 これらの領域の項目は作者とマニュアルページの将来のユーザの両者に とって価値のあるものです。 マニュアル間で一貫性を高めることによって将来のドキュメントツールへの 移行が容易になることが望まれます。 .Pp マニュアルのエントリは、実際の長さに関わらず、 また男女の区別をするような意図なしで、 .Ux のマニュアルページを通して、単純に man ページとして参照されています。 .Sh さあ、始めよう 通常チュートリアルドキュメントは、そこに示された題材をすぐに使いたい時 に読むものですので、このドキュメントのユーザはせっかちな人だと 仮定しています。 このドキュメントの残りの部分で説明されている題材は以下のような構成に なっています。 .Bl -enum -offset indent .It .Tn "TROFF に特有な表現" .Bl -tag -width flag -compact -offset indent .It "マクロの使用方法" .It "引数に空白文字を指定する" .It "行末の空白文字 (警告)" .It "特殊文字のエスケープ" .El .It .Tn "MAN ページの分析" .Bl -tag -width flag -compact -offset indent .It "マニュアルページのテンプレート" .El .It .Tn "タイトルマクロ" .It .Tn "マニュアル領域および一般テキスト領域の紹介" .Bl -tag -width flag -compact -offset indent .It "この名前には何が...?" .It "一般的な構文" .El .It .Tn "マニュアル領域" .Bl -tag -width flag -compact -offset indent .It "アドレス" .It "作者名" .It "引数" .It "コンフィギュレーション宣言 (セクション 4 のみ)" .It "コマンド修飾子" .It "定義済みの変数" .It "errno (セクション 2 のみ)" .It "環境変数" .It "関数の引数" .It "関数の宣言" .It "フラグ" .It "関数 (ライブラリルーチン)" .It "関数の型" .\" .It "ヘッダファイル (ソースコードを含む)" .It "対話的なコマンド" .It "名称" .It "オプション" .It "パス名" .It "変数" .It "クロスリファレンス" .El .It .Tn "一般テキスト領域" .Bl -tag -width flag -compact -offset indent .It "AT&T マクロ" .It "BSD マクロ" .It "FreeBSD マクロ" .It "UNIX マクロ" .It "囲い/クォート マクロ" .Bl -tag -width flag -compact -offset indent .It "カギ括弧 <> によるクォート/囲い" .It "角括弧 [] によるクォート/囲い" .It "二重引用符マクロ/囲い" .It "括弧 () によるクォート/囲い" .It "一重引用符によるクォート/囲い" .It "プレフィックスマクロ" .El .It "no\-op もしくは通常テキストマクロ" .It "空白なしマクロ" .It "セクションのクロスリファレンス" .It "参考文献と引用" .It "戻り値 (セクション 2 および 3 のみ)" .It "商標名 (頭字語とタイプ名)" .It "拡張引数" .El .It .Tn "ページ構造領域" .Bl -tag -width flag -compact -offset indent .It "セクションヘッダ" .It "段落と行スペース" .It "キープ" .It "例示とディスプレイ" .It "フォントモード (強調、リテラル、およびシンボリック)" .It "リストと列" .El .It .Tn "定義済みの文字列" .It .Tn "診断" .It .Tn "GROFF、TROFF、および NROFF を使用したフォーマッティング" .It .Tn "バグ" .El .ne 7 .Sh TROFF に特有な表現 .Nm \-mdoc パッケージは man ページを記述するプロセスを簡単にすることを 目的としています。 .Nm \-mdoc を使うために .Xr troff 1 のゴタゴタした詳細を学ぶ必要がないのが理想ですが、 いくつか片付けるべき避けられない制限事項があります。 また、このパッケージは高速で .Em ない ということも予め警告しておきます。 .Ss マクロの使用方法 .Xr troff 1 のように、マクロは .Ql \&\. (ドット文字) を行頭に置き、それに続けて 2 文字からなるマクロの名称を指定することによって 呼び出されます。 引数はマクロの後にスペースで区切って指定することができます。 行頭にドット文字を指定することによって .Xr troff 1 にそれに続く 2 文字をマクロ名として解釈するよう指示しています。 マクロを起動せずに、ある文脈の行の先頭に .Ql \&\. (ドット文字) を置くためには、 .Ql \&\. (ドット) の前にエスケープシーケンス .Ql \e& を指定します。 .Ql \e& は文字通りスペース幅が 0 として解釈され、出力には現れません。 .Pp 一般的に .Xr troff 1 マクロは引数を 9 つまで取ることができ、それ以上指定された引数は無視されます。 .Nm \-mdoc でのほとんどのマクロは 9 つの引数を取ることができ、 限られた場合にのみ引数は次の行に続けて指定することができます ( .Sx 拡張引数 セクションを参照)。 いくつかのマクロは引用符に囲まれた引数を扱うことができます (下の .Sx 引数に空白文字を指定する セクションを参照)。 .Pp .Nm \-mdoc での一般テキスト領域とマニュアル領域のほとんどのマクロは特別であり、 その引数のリストは呼び出し可能なマクロ名として .Em 解析 されます。 これは一般テキスト領域またはマニュアル領域のマクロ名に一致し、 呼び出し可能であると判断された引数リストの中の引数は、 実行されるか、それが処理される時に呼び出されることを意味しています。 この場合、引数はマクロ名にも関わらず、 .Ql \&\. (ドット) で前置されません。 このようにしてたくさんのマクロを入れ子にすることができます。 例えばオプションマクロ .Ql \&.Op はフラグマクロ .Ql \&Fl と引数マクロ .Ql \&Ar を .Em 呼び出して 、オプションのフラグを引数とともに指定することができます。 .Bl -tag -width "\&.Op \&Fl s \&Ar bytes" -offset indent .It Op Fl s Ar bytes は .Li \&.Op \&Fl s \&Ar bytes によって生成される .El .Pp 2 文字からなる文字列をマクロ名として解釈されないようにするには、 その文字列の前にエスケープシーケンス .Ql \e& を指定します。 .Bl -tag -width "\&.Op \&Fl s \&Ar bytes" -offset indent .It Op \&Fl s \&Ar bytes は .Li \&.Op \e&Fl s \e&Ar bytes によって生成される .El .Pp ここで文字列 .Ql \&Fl と .Ql \&Ar はマクロとして解釈されていません。 本ドキュメントと関連のクイックリファレンスマニュアル .Xr mdoc 7 を通して、 引数リストが呼び出し可能な引数として解析されるマクロは「解析される」、 引数リストから呼び出されることができるマクロは「呼び出し可能」 と表現します。 .Nm \-mdoc のほとんどすべてのマクロは解析されるのですから、これは技術的には .Em 不謹慎な ことですが、常にマクロを「呼び出し可能である」とか「他のマクロを 呼び出すことができる」と表現するのは面倒なことであるため、 「解析される」という用語が使われています。 .Ss 引数に空白文字を指定する ひとつ以上の空白文字を含む文字列をひとつの引数として指定したい場合が よくあります。 これは 9 個を越える引数を指定できないという制限に対処したり、 引数のリストにある特有な配置をおこなうことが必要なマクロに引数を指定するような 場合に必要となることがあります。 たとえば、関数マクロ .Ql \&.Fn では最初の引数は関数名であり、残りの引数が関数のパラメータであることが 必要です。 .Tn "ANSI C" の括弧で囲まれたパラメータリストにおける関数のパラメータの宣言の規定に より、各パラメータは最低でも 2 語の文字列となります。 たとえば .Fa int foo のようになります。 .Pp 空白を含む引数を指定するには 2 通りの方法があります。 .Em 実装における注釈 : 解析の前に個々の引数を再割り当てすることによって、 引用符の間に空白を含めて渡すのが最も便利な方法なのですが、 .Tn AT&T の .Xr troff のすべてのマクロを実装するには処理速度およびメモリ使用量の点で かなり高価な方法となります。 .Xr groff では高価な処理にはなりませんが、移植性のため、この方法は 空白を含めることが最も必要である以下のマクロだけに限っています。 .Pp .Bl -tag -width 4n -offset indent -compact .It Li \&Cd コンフィギュレーション宣言 (セクション 4 の .Sx SYNOPSIS ) .It Li \&Bl リスト開始 (幅指定用) .It Li \&Em テキスト強調 .It Li \&Fn 関数 (セクション 2 と 4) .It Li \&It リストの項目 .It Li \&Li リテラルテキスト .It Li \&Sy シンボリックテキスト .It Li \&%B 書籍のタイトル .It Li \&%J 定期刊行物のタイトル .It Li \&%O 参照の追加的な注釈 .It Li \&%R 報告書のタイトル (参照の中で) .It Li \&%T 書籍もしくは定期刊行物の中の記事のタイトル .El .Pp 空白を含む文字列を渡すのに、固定空白、すなわち詰め込まれない空白文字 .Ql \e\ を使う方法があります。すなわち、空白の前にエスケープ文字 .Ql \e を指定する方法です。 この方法はどのマクロでも使うことができますが、1 行を越える長さのテキストの 調整の邪魔になるという副作用があります。 .Xr troff では固定空白は他の印刷可能文字と同様に扱われ、通常期待されるように、 そこで文字列を空白や改行で分けることを行なわなくなります。 この方法は文字列が行の境界をまたがないであろう場合に有用です。 例えば、 .Bl -tag -width "fetch(char *str)" -offset indent .It Fn fetch char\ *str は .Ql \&.Fn fetch char\e *str によって生成される .It Fn fetch "char *str" は .Ql \&.Fn fetch "\\*qchar *str\\*q" でも生成される .El .Pp もし .Ql \e や引用符が省かれると、 .Ql \&.Fn は引数を 3 つ取り、その結果は .Pp .Dl Fn fetch char *str .Pp となります。 .Pp パラメータのリストが改行の境界をまたぐ場合に何がおこるかについては、 .Sx バグ のセクションを参照してください。 .Ss 行末の空白文字 .Xr troff は行末に空白文字があると混乱してしまうことがあります。 <空白><行末>の文字シーケンスからすべての空白文字を取り除くのは良い予防策です。 どうしても行末に空白文字をおく必要性が出てきた場合は、 詰め込まれない空白とエスケープ文字 .Ql \e& を使用することによって対応できます。 例えば、 .Ql string\e\ \e& のようにします。 .Ss 特殊文字のエスケープ 改行 .Ql \en のような特殊文字は .Ql \e を .Ql \ee で置き換える (すなわち .Ql \een とする) ことによって、バックスラッシュを残して扱うことができます。 .Sh MAN ページの分析 man ページの本文はファイル .Pa /usr/share/misc/mdoc.template の基本テンプレートを使って容易に作り上げることができます。 .Pa /usr/share/examples/mdoc にはいくつかのサンプルの man ページが収められています。 .Pp .Ss マニュアルページのテンプレート .Bd -literal -offset indent \&.\e" 以下の項目はすべての man ページで必要な項目です。 \&.Dd 月\ 日, 年 \&.Os オペレーティングシステム [バージョン/リリース] \&.Dt ドキュメントタイトル [セクション番号] [ボリューム] \&.Sh NAME \&.Nm 名称 \&.Nd 名称の 1 行での説明 \&.Sh SYNOPSIS \&.Sh DESCRIPTION \&.\e" 以下の項目については、必要に応じてコメントをはずして使用してく -\&.\e" ださい。この次の項目はセクション 2 と 3 でのみ必要な、関数の戻り -\&.\e" 値です。 +\&.\e" ださい。この次の項目はセクション 2, 3, 9 でのみ必要な、関数の +\&.\e" 戻り値です。 \&.\e" .Sh RETURN VALUES -\&.\e" 次の項目はセクション 1, 6, 7, 8 でのみ必要なものです。 +\&.\e" 次の項目はセクション 1, 6, 7, 8, 9 でのみ必要なものです。 \&.\e" .Sh ENVIRONMENT \&.\e" .Sh FILES \&.\e" .Sh EXAMPLES -\&.\e" 次の項目はセクション 1, 6, 7, 8 でのみ必要なものです。 +\&.\e" 次の項目はセクション 1, 6, 7, 8, 9 でのみ必要なものです。 \&.\e" ((シェルへの)コマンドの戻り値と fprintf/stderr の型の診断 \&.\e" です。) \&.\e" .Sh DIAGNOSTICS -\&.\e" 次の項目はセクション 2 と 3 でのみ必要な、エラーハンドリングと +\&.\e" 次の項目はセクション 2, 3, 9 でのみ必要な、エラーハンドリングと \&.\e" シグナルハンドリングです。 \&.\e" .Sh ERRORS \&.\e" .Sh SEE ALSO \&.\e" .Sh STANDARDS \&.\e" .Sh HISTORY \&.\e" .Sh AUTHORS \&.\e" .Sh BUGS .Ed .Pp このテンプレートにおける最初の項目はマクロ .Pq Li \&.Dd , \&.Os , \&.Dt であり、それぞれドキュメントの日付、 man ページもしくは題材となっているソースの開発や変更のベースとなった オペレーティングシステム、 .Pq Em 大文字で man ページタイトルをそのページが属するマニュアルのセクション番号とともに 指定したもの、となっています。 これらのマクロはそのページを識別するものであり、後述の .Sx タイトルマクロ で議論されています。 .Pp テンプレート中の残りの項目はセクションのヘッダ .Pq Li \&.Sh であり、それらのうち .Sx NAME と .Sx SYNOPSIS と .Sx DESCRIPTION は必須項目です。 これらのヘッダについては .Sx マニュアル領域 を説明した後、 .Sx ページ構造領域 で議論されます。 いくつかのコンテントマクロはページレイアウトマクロの説明に 使われていますので、ページレイアウトマクロの前にコンテントマクロについて 読むことを推奨します。 .Sh タイトルマクロ タイトルマクロはページ構造領域の最初の部分ですが、man ページを 前日に書き始めたいという人のために、最初に分けて記述されます。 3 つのヘッダマクロでドキュメントか man ページのタイトル、 オペレーティングシステム、および原著の日付を指定します。 これらのマクロはドキュメントの最初に一度だけ呼び出されるもので、 ヘッダとフッタを構成するためだけに使用されます。 .Bl -tag -width 6n .It Li \&.Dt ドキュメントタイトル セクション番号 [ボリューム] ドキュメントタイトルは man ページの主題であり、troff の制限により .Tn 大文字 でなければいけません。 -セクション番号は 1,\ ...,\ 8 となり、これが指定されると +セクション番号は 1,\ ...,\ 9 となり、これが指定されると ボリュームタイトルを省略してもかまいません。 +.Pp +.Tn FreeBSD +では、次のセクション番号と解説について後述します: +.Pp +.Bl -column SMM -offset indent -compact +.It Li 1 FreeBSD General Commands Manual +.It Li 2 FreeBSD System Calls Manaul +.It Li 3 FreeBSD Library Calls Manual +.It Li 4 FreeBSD Kernel Interfaces Manual +.It Li 5 FreeBSD File Formats Manual +.It Li 6 FreeBSD Games Manual +.It Li 7 FreeBSD Miscellaneous Information Manual +.It Li 8 FreeBSD System Manager's Manual +.It Li 9 FreeBSD Kernel Developers Guide +.El +.Pp ボリュームタイトルは任意のものか、以下のうちいずれかになります。 .\" .Cl .\" USD UNIX User's Supplementary Documents .\" .Cl .\" PS1 UNIX Programmer's Supplementary Documents .Pp .Bl -column SMM -offset indent -compact .It Li AMD UNIX Ancestral Manual Documents .It Li SMM UNIX System Manager's Manual .It Li URM UNIX Reference Manual .It Li PRM UNIX Programmer's Manual .El .Pp デフォルトのボリュームは セクション 1, 6, 7 では .Li URM 、セクション 8 では .Li SMM 、セクション 2, 3, 4, 5 では .Li PRM となっています。 .\" .Cl .\" MMI UNIX Manual Master Index .\" .Cl .\" CON UNIX Contributed Software Manual .\" .Cl .\" LOC UNIX Local Manual .It Li \&.Os オペレーティングシステム リリース番号 オペレーティングシステムの名称には一般的な頭字語 (略称) を使わなければなりません。 例えば、 .Tn BSD や .Tn FreeBSD や .Tn ATT といったものです。 リリース番号は、例えば4.3, 4.3+Tahoe, V.3, V.4 というような各システム での標準のリリースの命名法を使用します。 認識されない引数はページのフッタ中に記述された通りに表示されます。 以下にフッタの典型的な例を示します。 .Pp .Dl \&.Os BSD 4.3 .Pp や .Dl \&.Os FreeBSD 2.2 .Pp ローカルで作られたセットの例。 .Pp .Dl \&.Os CS Department .Pp Berkeley でのデフォルトである、引数なしの .Ql \&.Os はサイト固有のファイル .Pa /usr/share/tmac/mdoc/doc-common において .Tn BSD として定義されています。 これは実際には .Tn LOCAL として定義すべきです。 .Ql \&.Os マクロがない場合は、ページの左下角はみにくくなるであろうことに 注意してください。 .It Li \&.Dd 月 日, 年 日付は次のようにフォーマルな形式で記述しなければなりません。 .Pp .ne 5 .Dl January 25, 1989 .El .Sh マニュアル領域および一般テキスト領域の紹介 .Ss この名前には何が...? マニュアル領域のマクロ名はコマンドやサブルーチン、それに関連ファイルを 説明するために使われている日常のインフォーマルな言葉から取られています。 この言葉と少し違うバリエーションのものが man ページを書く上での 3 つの異なった面を記述するのに使われます。 最初のものは、 .Nm \-mdoc マクロ使用方法の説明です。 2 番目のものは .Nm \-mdoc マクロを用いた .Ux コマンドの記述です。 3 番目はコマンドを通常の言葉の感覚でユーザに示したものです。 これはすなわち、man ページのテキスト中でのコマンドの議論となります。 .Pp 最初のケースでは、 .Xr troff 1 マクロはそれ自身、一種のコマンドとなっています。 troff コマンドは一般的に以下のような形式をとります。 .Bd -filled -offset indent \&.Va argument1 argument2 ... argument9 .Ed .Pp .Ql \&.Va はマクロコマンドもしくは要求を示しており、それに続くものは すべて引数として処理されます。 2 番目のケースでは、コンテントマクロを使用する .Ux コマンドの記述がもう少し含まれます。 典型的な .Sx SYNOPSIS コマンド行はこのように表示されます。 .Bd -filled -offset indent .Nm filter .Op Fl flag .Ar infile outfile .Ed .Pp ここで .Nm filter はコマンド名であり、角括弧で囲まれた文字列 .Fl flag は .Em フラグ 引数で、これは角括弧で囲むことによってオプションであることを示しています。 .Nm \-mdoc の用語では .Ar infile と .Ar outfile は .Em 引数 と称されています。 上の例のフォーマットを行なったマクロは以下のものです。 .Bd -literal -offset indent \&.Nm filter \&.Op \&Fl flag \&.Ar infile outfile .Ed .Pp 3 番目のケースでは、コマンドの説明や構文に上記の例の両方が使われ、 さらに細かい記述が追加されるでしょう。 上の例での引数 .Ar infile と .Ar outfile は .Em オペランド もしくは .Em ファイル引数 として参照されます。 コマンド行の引数のリストはかなり長くなる場合もあります。 .Bl -tag -width make -offset indent .It Nm make .Op Fl eiknqrstv .Op Fl D Ar variable .Op Fl d Ar flags .Op Fl f Ar makefile .Bk -words .Op Fl I Ar directory .Ek .Op Fl j Ar max_jobs .Op Ar variable=value .Bk -words .Op Ar target ... .Ek .El .Pp ここではコマンド .Nm make について記述しており、 .Ar makefile をフラグ .Fl f の引数としています。 またオプションのファイルオペランド .Ar target についても議論しています。 言葉での説明では、こういった詳細な記述が混乱を防いでくれますが、 .Nm \-mdoc パッケージにはフラグ .Em への 引数のためのマクロがありません。 その代わりに .Ar target のようなオペランドやファイル引数に使われる引数マクロ .Ql \&Ar が .Ar variable のようなフラグへの引数にも使われます。 この make コマンド行は以下の指定により生成されています。 .Bd -literal -offset indent \&.Nm make \&.Op Fl eiknqrstv \&.Op Fl D Ar variable \&.Op Fl d Ar flags \&.Op Fl f Ar makefile \&.Op Fl I Ar directory \&.Op Fl j Ar max_jobs \&.Op Ar variable=value \&.Bk -words \&.Op Ar target ... \&.Ek .Ed .Pp マクロ .Ql \&.Bk と .Ql \&.Ek は .Sx キープ セクションにおいて解説されています。 .Ss 一般的な構文 マニュアル領域と一般テキスト領域のマクロはいくつかの小さな違い があるものの、同様な構文を使用しています。 .Ql \&.Ar , .Ql \&.Fl , .Ql \&.Nm , .Ql \&.Pa は引数なしで呼び出された時のみ異なります。 .Ql \&.Fn と .Ql \&.Xr は引数のリストの順番が異なります。 マクロ .Ql \&.Op と .Ql \&.Fn には入れ子の制限があります。 すべてのコンテントマクロが句読点を認識し、正しく扱うには、 各々の句読点文字が先行する空白で分離されている必要があります。 以下のように指定されている場合、 .Pp .Dl \&.Li sptr, ptr), .Pp その結果は以下のようになります。 .Pp .Dl Li sptr, ptr), .Pp ここでは句読点は認識されずすべての出力はリテラルなフォントで行なわれて います。句読点が空白文字で区切られている場合、 .Pp .Dl \&.Li "sptr , ptr ) ," .Pp 結果は以下のようになります。 .Pp .Dl Li sptr , ptr ) , .Pp 今度は句読点が認識され、出力はデフォルトのフォントで行なわれ リテラルフォントの文字列と区別されています。 .Pp .Ql \e& でエスケープすることによって句読点文字の特別な意味を取り除くことができます。 .Xr troff はマクロ言語としての限界から、数学、論理学、もしくは以下の引用符の 集合のメンバを含んだ文字列を表現するのは困難です。 .Bd -literal -offset indent-two \&{+,\-,/,*,\&%,<,>,<=,>=,=,==,&,`,',"} .Ed .Pp .Xr troff が文字によって示唆されている操作もしくは評価を実際に行なっていることが、 その問題の原因となっています。 .Ql \e& でこれらをエスケープすることによって、これらの文字が予期せずに 評価されることを防止することができます。 最初のコンテントマクロは、以下の .Ql \&.Ad において、その典型的な構文が示されています。 .Sh マニュアル領域 .Ss アドレスマクロ アドレスマクロは addr1[,addr2[,addr3]] の形式からなるアドレスを識別します。 .Pp .Dl 使い方: .Ad address ... \*(Pu .Bl -tag -width ".Ad f1 , f2 , f3 :" -compact -offset 14n .It Li \&.Ad addr1 .Ad addr1 .It Li \&.Ad addr1\ . .Ad addr1 . .It Li \&.Ad addr1\ , file2 .Ad addr1 , file2 .It Li \&.Ad f1\ , f2\ , f3\ : .Ad f1 , f2 , f3 : .It Li \&.Ad addr\ )\ )\ , .Ad addr ) ) , .El .Pp .Ql \&.Ad を引数なしで呼び出すのはエラーです。 .Ql \&.Ad は他のマクロから呼び出し可能で解析されます。 .Ss 作者名 .Ql \&.An マクロは文書化されている項目の作者の名前、もしくは実際の マニュアルページの作者の名前を指定するために使われます。 名前の情報の後のすべての引数は句読点として扱われます。 .Pp .Dl 使い方: .An author_name \*(Pu .Bl -tag -width ".An Joe Author ) ) ," -compact -offset 14n .It Li \&.An Joe\ Author .An Joe Author .It Li \&.An Joe\ Author\ , .An Joe\ Author , .It Li \&.An Joe\ Author\ \&Aq\ nobody@FreeBSD.ORG .An Joe Author Aq nobody@FreeBSD.ORG .It Li \&.An Joe\ Author\ )\ )\ , .An Joe Author ) ) , .El .Pp .Ql \&.An マクロは解析され、呼び出し可能です。 .Ql \&.An を引数なしで呼び出すのはエラーです。 .Ss 引数マクロ 引数マクロ .Ql \&.Ar はコマンド行の引数を参照する際に使用することができます。 .Pp .Dl 使い方: .Ar argument ... \*(Pu .Bl -tag -width ".Ar file1 file2" -compact -offset 15n .It Li \&.Ar .Ar .It Li \&.Ar file1 .Ar file1 .It Li \&.Ar file1\ . .Ar file1 . .It Li \&.Ar file1 file2 .Ar file1 file2 .It Li \&.Ar f1 f2 f3\ : .Ar f1 f2 f3 : .It Li \&.Ar file\ )\ )\ , .Ar file ) ) , .El .Pp .Ql \&.Ar が引数なしで呼び出されると、 .Ql Ar として扱われます。 .Ql \&.Ar マクロは解析され、呼び出し可能です。 .Ss コンフィギュレーション宣言 (セクション 4 のみ) .Ql \&.Cd マクロはセクション 4 のマニュアルにおいて、デバイスインタフェースの .Xr config 8 による宣言の説明に使われます。 このマクロは引用符 (2 重引用符のみ) で囲まれた引数を取ることができます。 .Pp .Bl -tag -width "device le0 at scode?" -offset indent .It Cd "device le0 at scode?" は .Ql ".Cd device le0 at scode?" によって生成されます。 .El .Ss コマンド修飾子 コマンド修飾子は .Ql \&.Cm マクロがすべての引数の前にダッシュ文字を付けないことを除いて、 .Ql \&.Fl (フラグ) コマンドと同じです。 伝統的にフラグはダッシュ文字に引き続いて指定されますが、 いくつかのコマンドやコマンドのサブセットはこの方法を使っていません。 コマンド修飾子はエディタコマンドのような対話的なコマンドでも 指定されることがあります。 .Sx フラグ のセクションを参照してください。 .Ss 定義済みの変数 インクルードファイルにおいて定義されている変数は .Ql \&.Dv マクロによって指定します。 .Pp .Dl 使い方: .Dv defined_variable ... \*(Pu .Bl -tag -width ".Dv MAXHOSTNAMELEN" -compact -offset 14n .It Li ".Dv MAXHOSTNAMELEN" .Dv MAXHOSTNAMELEN .It Li ".Dv TIOCGPGRP )" .Dv TIOCGPGRP ) .El .Pp .Ql \&.Dv を引数なしで呼び出すのはエラーです。 .Ql \&.Dv は解析され、呼び出し可能です。 .Ss errno (セクション 2 のみ) エラーマクロ .Ql \&.Er はセクション 2 のライブラリルーチンにおけるエラーの戻り値を指定します。 下記の 2 番目の例では .Ql \&.Er は一般テキスト領域マクロである .Ql \&.Bq (これはセクション 2 のマニュアルページで使われています) と共に使われています。 .Pp .Dl 使い方: .Er ERRNOTYPE ... \*(Pu .Bl -tag -width ".Bq Er ENOTDIR" -compact -offset 14n .It Li \&.Er ENOENT .Er ENOENT .It Li \&.Er ENOENT\ )\ ; .Er ENOENT ) ; .It Li \&.Bq \&Er ENOTDIR .Bq Er ENOTDIR .El .Pp .Ql \&.Er を引数なしで呼び出すのはエラーです。 .Ql \&.Er は解析され、呼び出し可能です。 .Ss 環境変数 .Ql \&.Ev マクロは環境変数を指定します。 .Pp .Dl 使い方: .Ev argument ... \*(Pu .Bl -tag -width ".Ev PRINTER ) ) ," -compact -offset 14n .It Li \&.Ev DISPLAY .Ev DISPLAY .It Li \&.Ev PATH\ . .Ev PATH . .It Li \&.Ev PRINTER\ )\ )\ , .Ev PRINTER ) ) , .El .Pp .Ql \&.Ev を引数なしで呼び出すのはエラーです。 .Ql \&.Ev は解析され、呼び出し可能です。 .Ss 関数の引数 .Ql \&.Fa マクロは関数の引数 (パラメータ) を マニュアルの .Sx SYNOPSIS のセクション外、もしくは .Sx SYNOPSIS のセクション内で参照する場合に使われます。 パラメータのリストが .Ql \&.Fn マクロでは長すぎる場合は、 囲って使うマクロ .Ql \&.Fo と .Ql \&.Fc を使わなければなりません。 .Ql \&.Fa は構造体のメンバを参照する場合にも使われます。 .Pp .Dl 使い方: .Fa function_argument ... \*(Pu .Bl -tag -width ".Fa d_namlen\ )\ )\ ," -compact -offset 14n .It Li \&.Fa d_namlen\ )\ )\ , .Fa d_namlen ) ) , .It Li \&.Fa iov_len .Fa iov_len .El .Pp .Ql \&.Fa を引数なしで呼び出すのはエラーです。 .Ql \&.Fa は解析され、呼び出し可能です。 .Ss 関数の宣言 .Ql \&.Fd マクロは .Sx SYNOPSIS セクションにおいて、セクション 2 または 3 の関数の説明で使われます。 .Ql \&.Fd マクロから他のマクロを呼び出すことはなく、他のマクロから呼び出すことも できません。 .Pp .Dl 使い方: .Fd include_file (or defined variable) .Pp .Sx SYNOPSIS セクションにおいて、関数がすでに示されていて改行が入っていない場合、 .Ql \&.Fd によって改行が挿入されます。 これによって前の関数呼び出しと次の関数の宣言の間に最適な行間が設定されます。 .Ss フラグ .Ql \&.Fl マクロはコマンド行のフラグを扱います。 フラグの前にはダッシュ .Ql \- が挿入されます。 対話的なコマンドのフラグでは、ダッシュがフラグの前には挿入されませんが、 .Ql \&.Cm (コマンド修飾子) マクロは、ダッシュを付けないことを除き、同じ働きをします。 .Pp .Dl 使い方: .Fl argument ... \*(Pu .Bl -tag -width ".Fl \-s \-t \-v" -compact -offset 14n .It Li \&.Fl .Fl .It Li \&.Fl cfv .Fl cfv .It Li \&.Fl cfv\ . .Fl cfv . .It Li \&.Fl s v t .Fl s v t .It Li \&.Fl -\ , .Fl - , .It Li \&.Fl xyz\ )\ , .Fl xyz ) , .El .Pp 引数なしで .Ql \&.Fl マクロを指定すると、標準入力/標準出力を意味するダッシュとなります。 ひとつのダッシュに .Ql \&.Fl マクロを使用すると、2 つダッシュとなることに注意して下さい。 .Ql \&.Fl マクロは解析され、呼び出し可能です。 .Ss 関数 (ライブラリルーチン) .Ql \&.Fn マクロは ANSI C の記法を規範としています。 .Bd -literal 使い方: .Fn [type] function [[type] parameters ... \*(Pu] .Ed .Bl -tag -width ".Fn .int align. .const * char *sptrsxx" -compact .It Li "\&.Fn getchar" .Fn getchar .It Li "\&.Fn strlen ) ," .Fn strlen ) , .It Li \&.Fn "\\*qint align\\*q" "\\*qconst * char *sptrs\\*q" , .Fn "int align" "const * char *sptrs" , .El .Pp .Ql \&.Fn を引数を指定せずに呼び出すのはエラーです。 .Ql \&.Fn マクロは解析され、呼び出し可能です。他のマクロの呼び出しは .Ql \&.Fn の呼び出しの終了を意味することに注意して下さい (閉じ括弧がその点で挿入されます)。 .Pp 9 個以上のパラメータをとる関数 (これは滅多にないことですが) では、 .Ql \&.Fo マクロ (関数オープン) と .Ql \&.Fc マクロ (関数クローズ) を .Ql \&.Fa (関数引数) と共に使って、この制限を回避することができます。 以下にその例を示します。 .Bd -literal -offset indent \&.Fo "int res_mkquery" \&.Fa "int op" \&.Fa "char *dname" \&.Fa "int class" \&.Fa "int type" \&.Fa "char *data" \&.Fa "int datalen" \&.Fa "struct rrec *newrr" \&.Fa "char *buf" \&.Fa "int buflen" \&.Fc .Ed .Pp これは以下のような結果になります。 .Bd -filled -offset indent .Fo "int res_mkquery" .Fa "int op" .Fa "char *dname" .Fa "int class" .Fa "int type" .Fa "char *data" .Fa "int datalen" .Fa "struct rrec *newrr" .Fa "char *buf" .Fa "int buflen" .Fc .Ed .Pp .Ql \&.Fo と .Ql \&.Fc マクロは解析され、呼び出し可能です。 .Sx SYNOPSIS セクションでは、関数は常に行の先頭から開始されます。 .Sx SYNOPSIS セクションにおいて、複数の関数が示されており、関数の型が示されない場合、 改行が挿入され、現在の関数名とその前の関数名の間に最適な改行量が設定されます。 現在、 .Ql \&.Fn は troff の行の長さに対して、語の境界をチェックしておらず、予期しない 場所で改行が挿入されてしまうことがあります。 これは近い将来修正されるでしょう。 .Ss 関数の型 このマクロは .Sx SYNOPSIS セクションで使うものです。 man ページ中の他の場所でも問題なく使うことができますが、 セクション 2 と 3 の .Sx SYNOPSIS セクションでカーネルの通常の形式で関数の型を示すことがこのマクロの目的です (このマクロは関数名が次の行に置かれるように改行を挿入します)。 .Pp .Dl 使い方: .Ft type ... \*(Pu .Bl -tag -width "\&.Ft struct stat" -offset 14n -compact .It Li \&.Ft struct stat .Ft struct stat .El .Pp .Ql \&.Ft は他のマクロからは呼び出せません。 .Ss 対話的なコマンド .Ql \&.Ic マクロは対話的なコマンド、もしくは内部コマンドを指定します。 .Pp .Dl 使い方: .Ic argument ... \*(Pu .Bl -tag -width ".Ic setenv , unsetenvxx" -compact -offset 14n .It Li \&.Ic :wq .Ic :wq .It Li \&.Ic do while {...} .Ic do while {...} .It Li \&.Ic setenv\ , unsetenv .Ic setenv , unsetenv .El .Pp .Ql \&.Ic を引数なしで呼び出すのはエラーです。 .Ql \&.Ic マクロは解析され、呼び出し可能です。 .Ss 名称マクロ .Ql \&.Nm マクロは文書のタイトルやサブジェクト名を指定するために使われます。 このマクロは最初に呼び出された時の引数を覚えておくという特性を持っており、 それは常にそのページのサブジェクト名であるべきです。 引数なしで呼び出されると .Ql \&.Nm は作者の作業を少なくするためだけの目的で、最初の名称を出力します。 注釈: セクション 2 または 3 のドキュメントの関数名は .Sx NAME セクションにおいて .Ql \&.Nm で指定され、 .Sx SYNOPSIS セクションや残りのセクションでは .Ql \&.Fn で指定されます。 .Xr csh 1 での .Ql while コマンドのキーワードのような対話的なコマンドでは .Ql \&.Ic マクロを使うべきです。 .Ql \&.Ic はほとんど .Ql \&.Nm と同一ですが、 それが最初に使われたときの引数を記憶することはできません。 .Pp .Dl 使い方: .Nm argument ... \*(Pu .Bl -tag -width ".Nm mdoc.sample" -compact -offset 14n .It Li \&.Nm mdoc.sample .Nm mdoc.sample .It Li \&.Nm \e-mdoc .Nm \-mdoc . .It Li \&.Nm foo\ )\ )\ , .Nm foo ) ) , .It Li \&.Nm .Nm .El .Pp .Ql \&.Nm マクロは解析され、呼び出し可能です。 .Ss オプション .Ql \&.Op マクロはコマンド行の残りのすべての引数を オプションであることを示す角括弧で囲み、 末尾の句読点は角括弧の外に置きます。 .Ql \&.Oc マクロと .Ql \&.Oo マクロは複数行に渡って使うことができます。 .Pp .Dl 使い方: .Op options ... \*(Pu .Bl -tag -width ".Op Fl c Ar objfil Op Ar corfil ," -compact -offset indent .It Li \&.Op .Op .It Li ".Op Fl k" .Op Fl k .It Li ".Op Fl k ) ." .Op Fl k ) . .It Li ".Op Fl k Ar kookfile" .Op Fl k Ar kookfile .It Li ".Op Fl k Ar kookfile ," .Op Fl k Ar kookfile , .It Li ".Op Ar objfil Op Ar corfil" .Op Ar objfil Op Ar corfil .It Li ".Op Fl c Ar objfil Op Ar corfil ," .Op Fl c Ar objfil Op Ar corfil , .It Li \&.Op word1 word2 .Op word1 word2 .El .Pp .Ql \&.Oc マクロと .Ql \&.Oo マクロ: .Bd -literal -offset indent \&.Oo \&.Op \&Fl k \&Ar kilobytes \&.Op \&Fl i \&Ar interval \&.Op \&Fl c \&Ar count \&.Oc .Ed .Pp 出力結果: .Oo .Op Fl k Ar kilobytes .Op Fl i Ar interval .Op Fl c Ar count .Oc .Pp .Ql \&.Op と .Ql \&.Oc と .Ql \&.Oo マクロは解析され、呼び出し可能です。 .Ss パス名 .Ql \&.Pa マクロはパス名もしくはファイル名をフォーマットします。 .Pp .Dl 使い方: .Pa pathname \*(Pu .Bl -tag -width ".Pa /tmp/fooXXXXX ) ." -compact -offset 14n .It Li \&.Pa /usr/share .Pa /usr/share .It Li \&.Pa /tmp/fooXXXXX\ )\ . .Pa /tmp/fooXXXXX ) . .El .Pp .Ql \&.Pa マクロは解析され、呼び出し可能です。 .Ss 変数 一般的な変数への参照です。 .Pp .Dl 使い方: .Va variable ... \*(Pu .Bl -tag -width ".Va char s ] ) ) ," -compact -offset 14n .It Li \&.Va count .Va count .It Li \&.Va settimer , .Va settimer , .It Li \&.Va int\ *prt\ )\ : .Va int\ *prt ) : .It Li \&.Va char\ s\ ]\ )\ )\ , .Va char\ s ] ) ) , .El .Pp .Ql \&.Va を引数なしで呼び出すのはエラーです。 .Ql \&.Va マクロは解析され、呼び出し可能です。 .Ss マニュアルページのクロスリファレンス .Ql \&.Xr マクロは最初の引数にマニュアルページの名称を取り、もしあれば次の引数に セクションのページ数か句読点を取ります。 すべての残りの引数は句読点と見なされます。 .Pp -.Dl 使い方: .Xr man_page [1,...,8] \*(Pu +.Dl 使い方: .Xr man_page [1,...,9] \*(Pu .Bl -tag -width ".Xr mdoc 7 ) ) ," -compact -offset 14n .It Li \&.Xr mdoc .Xr mdoc .It Li \&.Xr mdoc\ , .Xr mdoc , .It Li \&.Xr mdoc 7 .Xr mdoc 7 .It Li \&.Xr mdoc 7\ )\ )\ , .Xr mdoc 7 ) ) , .El .Pp .Ql \&.Xr マクロは解析され、呼び出し可能です。 .Ql \&.Xr を引数なしで呼び出すのはエラーです。 .Sh 一般テキスト領域 .Ss AT&T マクロ .Bd -literal -offset indent -compact 使い方: .At [v6 | v7 | 32v | V.1 | V.4] ... \*(Pu .Ed .Bl -tag -width ".At v6 ) ," -compact -offset 14n .It Li ".At" .At .It Li ".At v6 ." .At v6 . .El .Pp .Ql \&.At マクロは解析 .Em されず 、呼び出し .Em 不可能 です。 最大 2 つまでの引数を取ることができます。 .Ss BSD マクロ .Dl 使い方: .Bx [Version/release] ... \*(Pu .Bl -tag -width ".Bx 4.3 ) ," -compact -offset 14n .It Li ".Bx" .Bx .It Li ".Bx 4.3 ." .Bx 4.3 . .El .Pp .Ql \&.Bx マクロは解析され、呼び出し可能です。 .Ss FreeBSD マクロ .Bd -literal -offset indent -compact 使い方: .Fx Version.release ... \*(Pu .Ed .Bl -tag -width ".Fx 2.2 ) ," -compact -offset 14n .It Li ".Fx 2.2 ." .Fx 2.2 . .El .Pp .Ql \&.Fx マクロは解析 .Em されず 、呼び出し .Em 不可能 です。 最大 2 つまでの引数を取ることができます。 .Ss UNIX マクロ .Dl 使い方: .Ux ... \*(Pu .Bl -tag -width ".Ux 4.3 ) ," -compact -offset 14n .It Li ".Ux" .Ux .El .Pp .Ql \&.Ux マクロは解析され、呼び出し可能です。 .Ss 囲い/クォートマクロ 囲いの概念はクォートと似たものです。 1 つ以上の文字列が引用符や括弧のような文字のペアで囲まれている オブジェクトを指します。 クォートと囲いという用語はこの文書を通して同じ意味で使われます。 ほとんどの 1 行の囲いマクロはクォート (quote) のヒントとするために、小文字の .Ql q で終了しますが、いくつかの例外があります。 各々の囲いマクロに対し、開始マクロと終了マクロのペアもあり、それぞれ小文字の .Ql o と .Ql c で終了します。 これらは 1 行以上のテキストに渡って使うことができますが、 入れ子にする場合に制限があります。 その中では 1 行形式のクォートマクロのみ使用することができます。 .Pp .ne 5 .Bd -filled -offset indent .Bl -column "クォート " "終了 " "開始 " "クォートされたリテラル " XX文字列XX .Em " クォート 終了 開始 機能 結果" \&.Aq .Ac .Ao カギ括弧による囲い <文字列> \&.Bq .Bc .Bo 角括弧による囲い [文字列] \&.Dq .Dc .Do 2 重引用符 ``文字列'' .Ec .Eo 囲い文字列 (XXによる) XX文字列XX \&.Pq .Pc .Po 括弧による囲い (文字列) \&.Ql クォートされたリテラル `st' または文字列 \&.Qq .Qc .Qo まっすぐな 2 重引用符 "文字列" \&.Sq .Sc .So 1 重引用符 `文字列' .El .Ed .Pp 下記の不正なマクロを除き、すべてのクォートマクロは解析され、呼び出し可能です。 句読点がひとつずつ置かれていて、スペースで区切られていれば、 すべてのクォートマクロは句読点を適切に扱います。 クォートマクロは開く句読点、閉じる句読点 (訳注: 句読点には括弧なども含みます) を調べ、 それが囲む文字列より前か後かを決めます。 これによって、ある程度の入れ子が可能になっています。 .Bl -tag -width xxx,xxxx .It Li \&.Ec , \&.Eo これらのマクロは各々開始および終了の文字列を最初の引数に取ります。 .It Li \&.Ql リテラルをクォートするマクロは .Xr troff では .Xr nroff と異なった処理を行ないます。 .Xr nroff でフォーマットされた場合、クォート指定されたリテラルは常にクォートされます。 .Xr troff でフォーマットされた場合は、アイテムの幅が固定幅文字 3 つ分より 狭い場合にのみクォートされます。 これはリテラル (固定幅) のフォントの変更があまり気づかれないものであるため、 短い文字列を良く見えるようにするためです。 .It Li \&.Pf プレフィックスマクロは呼び出し可能ではありませんが、解析されます。 .Bl -tag -width "(namexx" -offset indent .It Li ".Pf ( Fa name2" は .Pf ( Fa name2 となります。 .El .Pp .Ql \&.Ns (空白なし) マクロはサフィックス機能と同様の作用があります。 .El .Pp .ne 4 クォートの例: .Bl -tag -width ".Aq Pa ctype.h ) ,xxxxxxxx" -compact -offset indent .It Li \&.Aq .Aq .It Li \&.Aq \&Ar ctype.h\ )\ , .Aq Ar ctype.h ) , .It Li \&.Bq .Bq .It Li \&.Bq \&Em Greek \&, French \&. .Bq Em Greek , French . .It Li \&.Dq .Dq .It Li ".Dq string abc ." .Dq string abc . .It Li ".Dq \'^[A-Z]\'" .Dq \'^[A-Z]\' .It Li "\&.Ql man mdoc" .Ql man mdoc .It Li \&.Qq .Qq .It Li "\&.Qq string ) ," .Qq string ) , .It Li "\&.Qq string Ns )," .Qq string Ns ), .It Li \&.Sq .Sq .It Li "\&.Sq string .Sq string .El .Pp 囲いマクロの入れ子についての良い例については、 オプションマクロ .Ql \&.Op を参照してください。 このマクロは上でリストされているような囲いマクロと同じベースの上に 作られています。 拡張引数リストマクロ .Ql \&.Xo と .Ql \&.Xc もまた同じルーチンをベースに作られており、 .Nm \-mdoc マクロの使い方の非常に良い例となっています。 .Ss no\-op もしくは通常テキストマクロ .Ql \&.No マクロはマクロコマンド行において、コンテントマクロの構文形式に従うが、 フォーマットされては .Em ならない 単語をハックするものです。 .Ss 空白なしマクロ .Ql \&.Ns マクロはマクロ間での不要な空白を除去します。 これはフラグと引数の間に空白を含まない古いスタイルの引数リストを使う場合に 便利です。 .Bl -tag -width ".Op Fl I Ns Ar directoryxx" -offset indent .It Li ".Op Fl I Ns Ar directory" これは以下の結果になります。 .Op Fl I Ns Ar directory .El .Pp 注釈: .Ql \&.Ns マクロは他のマクロ名が続かなければ、スペースを除去したあとに .Ql \&.No マクロを常に起動します。 .Ql \&.Ns マクロは解析され、呼び出し可能です。 .Ss セクションのクロスリファレンス .Ql \&.Sx マクロは同一文書内でのセクションのヘッダへの参照を指定します。 これは解析され、呼び出し可能です。 .Pp .Bl -tag -width "Li \&.Sx FILES" -offset 14n .It Li \&.Sx FILES .Sx FILES .El .Ss 参考文献と引用 以下のマクロは多少なりとも参考文献を扱えるようにと意図したものです。 これらのマクロは、せいぜい参照スタイルの参考文献のサブセットを手動で 作成しやすくする程度です。 .Pp .Bl -tag -width 6n -offset indent -compact .It Li ".Rs" 参考文献の開始。 改行を挿入してから、参考文献の終了マクロが読み込まれるまで 参考文献の情報を収集する。 .It Li ".Re" 参考文献の終了。 参考文献が表示される。 .It Li ".%A" 参考文献の作者名。1 回の呼び出しにつき、作者名をひとつ指定する。 .It Li ".%B" 書籍のタイトル。 .It Li ".\&%C" 市 / 場所。 .It Li ".\&%D" 日付。 .It Li ".%J" 定期刊行物の名称。 .It Li ".%N" 発行番号。 .It Li ".%O" 追加情報。 .It Li ".%P" ページ番号。 .It Li ".%R" 報告書の名称。 .It Li ".%T" 記事のタイトル。 .It Li ".%V" 巻数。 .El .Pp .Ql % で始まるマクロは呼び出し不可能ですが、 呼び出し側に戻る商標名マクロだけは解析されます。 (現時点では予期できないことです。) 商標名のみ解析されるのは .Xr troff Ns / Ns Xr ditroff の出力をきれいにするためです。 .Ss 戻り値 .Ql \&.Rv マクロは .Sx RETURN VALUES のセクションで使うテキストを生成します。 .Pp .Dl 使い方: .Rv [-std function] .Pp .Ql \&.Rv -std atexit これは以下のテキストを生成します。 .Pp .Rv -std atexit .Pp .Fl std オプションはセクション 2 と 3 のマニュアルページでのみ有効です。 .Ss 商標名 (頭字語とタイプ名) 商標名マクロは一般的に長さが 2 文字を越えるすべてが大文字の単語用 に使われる小さな大文字のマクロです。 .Pp .Dl 使い方: .Tn symbol ... \*(Pu .Bl -tag -width ".Tn ASCII" -compact -offset 14n .It Li \&.Tn DEC .Tn DEC .It Li \&.Tn ASCII .Tn ASCII .El .Pp .Ql \&.Tn マクロは解析され、他のマクロから呼び出し可能です。 .Ss 拡張引数 .Ql \&.Xo と .Ql \&.Xc マクロでマクロの境界における引数リストを拡張することができます。 引数リストは .Ql \&.Op のようなすべての引数が 1 行中に指定されていることを前提としている マクロの中では行に渡って拡張することができません。 .Pp 以下に空白モードマクロをスペーシングをオフにするために使った .Ql \&.Xo での例を示します。 .Bd -literal -offset indent \&.Sm off \&.It Xo Sy I Ar operation \&.No \een Ar count No \een \&.Xc \&.Sm on .Ed .Pp これは以下のような結果になります。 .Bd -filled -offset indent .Bl -tag -width flag -compact .Sm off .It Xo Sy I Ar operation .No \en Ar count No \en .Xc .Sm on .El .Ed .Pp 例をもうひとつ: .Bd -literal -offset indent \&.Sm off \&.It Cm S No \&/ Ar old_pattern Xo \&.No \&/ Ar new_pattern \&.No \&/ Op Cm g \&.Xc \&.Sm on .Ed .Pp これは以下のような結果になります。 .Bd -filled -offset indent .Bl -tag -width flag -compact .Sm off .It Cm S No \&/ Ar old_pattern Xo .No \&/ Ar new_pattern .No \&/ Op Cm g .Xc .Sm on .El .Ed .Pp 囲いマクロを使った .Ql \&.Xo の他の例: 変数の値をテストして下さい。 .Bd -literal -offset indent \&.It Xo \&.Ic .ifndef \&.Oo \e&! Oc Ns Ar variable \&.Op Ar operator variable ... \&.Xc .Ed .Pp 結果は以下の通りです。 .Bd -filled -offset indent .Bl -tag -width flag -compact .It Xo .Ic .ifndef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc .El .Ed .Pp 上のすべての例では .Ql \&.It (リスト項目) マクロの引数リストに .Ql \&.Xo マクロを使用しています。 拡張マクロが使われることはあまりありません。 使われるとすれば、リスト項目の引数リストを拡張する場合です。 残念なことに、これが拡張マクロが最も懲り性であるところでもあります。 最初の 2 つの例では、スペーシングはオフになっています。 3 番目では、ある箇所にはスペーシングを入れることが望ましいのですが、 出力全体に入れたいわけではありません。 そのような状況でこれらのマクロが適切に動作するためには、 .Ql \&.Xo と .Ql \&.Xc マクロが 3 番目の例にあるように指定されていることを確認してください。 .Ql \&.Xo マクロが置かれた .Ql \&.It の引数リストに他のものが置かれると、スペーシングがどうなるかは予測不可能です。 この場合、 .Ql \&.Ns (空白なしマクロ) は行中の最初もしくは最後のマクロに指定してはいけません。 現在 .Bx でリリースされている 900 のマニュアルページ (実際のページでは約 1500 ページ) のうち 15 のマニュアルページでのみしか .Ql \&.Xo が使われていません。 .Sh ページ構造領域 .Ss セクションヘッダ 以下にリストされている、最初の 3 つのセクションヘッダマクロ .Ql \&.Sh はすべての man ページで必須のものです。 残りのセクションヘッダはマニュアルページの作者の裁量において、 推奨されているものです。 .Ql \&.Sh マクロは 9 つまでの引数を取ることができます。 これは解析されますが、呼び出し不可能です。 .Bl -tag -width ".Sh SYNOPSIS" .It \&.Sh NAME .Ql \&.Sh NAME (訳注: 名称) マクロは必須のものです。 これが指定されていないと、ヘッダとフッタ、それにデフォルトの ページレイアウトが設定されず、結果はかなり好ましくないものになるでしょう。 .Sx NAME セクションは最低 3 つの項目からなります。 最初のものは名称マクロ .Ql \&.Nm であり、man ページのサブジェクトとなります。 2 番目のものは名称説明マクロ .Ql \&.Nd であり、サブジェクト名を 3 つめの項目、 すなわちその名称の説明と分離します。 説明に割り当てられるスペースは小さいものですので、 できるだけ簡潔で分かりやすいものでなければなりません。 .It \&.Sh SYNOPSIS .Sx SYNOPSIS (訳注: 書式) セクションはその man ページのサブジェクトとなっている項目の 典型的な使用法を説明します。 必須のマクロは .Ql ".Nm" , .Ql ".Cd" , .Ql ".Fn" のいずれかです。 (他には .Ql ".Fo" , .Ql ".Fc" , .Ql ".Fd" , .Ql ".Ft" のマクロも必要な場合があります。) 関数名マクロ .Ql ".Fn" はセクション 2 と 3 のマニュアルページにおいて必須のもので、 コマンドと一般名称マクロ .Ql \&.Nm はセクション 1, 5, 6, 7, 8 で必須の項目です。 セクション 4 のマニュアルでは .Ql ".Nm" か .Ql ".Fd" 、もしくはコンフィギュレーションデバイス使用法マクロ .Ql ".Cd" が必要です。 その他のいくつかのマクロが下に示すような書式行を生成するために必要なこと があります。 .Pp .Bd -filled -offset indent .Nm cat .Op Fl benstuv .Op Fl .Ar .Ed .Pp 以下のマクロが使われています。 .Pp .Dl \&.Nm cat .Dl \&.Op \&Fl benstuv .Dl \&.Op \&Fl .Dl \&.Ar .Pp .Sy 注釈 : マクロ .Ql \&.Op , .Ql \&.Fl , .Ql \&.Ar はパイプの文字 .Ql \*(Ba を認識し、下記のようなコマンド行 .Pp .Dl ".Op Fl a | Fl b" .Pp はうまくいきません。 .Xr troff は通常 \*(Ba を特別のオペレータとして解釈します。 この他で \*(Ba が使える場合については .Sx 定義済みの文字列 セクションを参照して下さい。 .It \&.Sh DESCRIPTION .Sx DESCRIPTION (訳注: 解説) セクションでの最初のテキストは、ほとんどの場合ではそのコマンド、 関数もしくはファイルについての短い段落で、オプションの構文リストと それぞれの説明がそれに続きます。 そのようなリストを作成するには リスト開始マクロ .Ql \&.Bl 、リスト項目マクロ .Ql \&.It 、リスト終了マクロ .Ql \&.El を使います (後述の .Sx リストと列 セクションを参照)。 .El .Pp 以下の .Ql \&.Sh のセクションヘッダはマニュアルページの好ましいレイアウトの一部であり、 一貫性を保つために適切に使われなければなりません。 これらは使われる順番にリストされています。 .Bl -tag -width 書式 .It \&.Sh ENVIRONMENT (訳注: 環境変数) .Sx ENVIRONMENT セクションは関連する環境変数を明らかにし、 それらの振舞や使用方法を示します。 .It \&.Sh EXAMPLES (訳注: 使用例、実行例) 使用例、実行例を作成するには様々な方法があります。 詳細については、下の .Sx 例示とディスプレイ のセクションを参照してください。 .It \&.Sh FILES (訳注: 関連ファイル) man ページのサブジェクトによって使用されるか生成されるファイルで、 .Sx FILES のセクション中でマクロ .Ql \&.Pa によってリストされます。 .It \&.Sh SEE ALSO (訳注: 関連項目) .Sx SEE ALSO セクションには、その man ページの題材に関する資料への参照と 他の関連する man ページへのクロスリファレンスが記載されます。 クロスリファレンスは .Ql \&.Xr マクロによって指定されます。 .Sx SEE ALSO セクションでのクロスリファレンスはセクション番号順に並べ、 セクション中ではカンマで区切ってアルファベット順に並べなければなりません。 以下に例を示します。 .Pp .Xr ls 1 , .Xr ps 1 , .Xr group 5 , .Xr passwd 5 . .Pp ここで参考スタイルである .Xr refer 1 は適応されていません。 .It \&.Sh STANDARDS (訳注: 規格) コマンドやライブラリ関数やファイルが、 .St -p1003.2 や .St -ansiC のような特定の実装によるものであれば、ここで記述します。 もしコマンドがどの規格にも基づいていなければ、その歴史は .Sx HISTORY のセクションで説明されなければなりません。 .It \&.Sh HISTORY (訳注: 歴史) 特定の規格に基づいていないコマンドは、 このセクションでその歴史の概要が説明されるべきです。 .It \&.Sh AUTHORS (訳注: 作者) クレジットが必要であれば、ここで入れます。 .It \&.Sh DIAGNOSTICS (訳注: 診断) コマンドからの診断はこのセクションに入れます。 .It \&.Sh ERRORS (訳注: エラー) 特定のエラーハンドリング、特にライブラリ関数 -(man ページのセクション 2 と 3) でのエラーハンドリングは、ここで説明します。 +(man ページのセクション 2, 3, 9) でのエラーハンドリングは、ここで説明します。 .Ql \&.Er マクロが errno を記述するために使われます。 .It \&.Sh BUGS (訳注: バグ) あきらかな問題はここで記述します。 .El .Pp ユーザ指定の .Ql \&.Sh セクションを追加することができます。 たとえば、このセクションは以下のように設定されています。 .Bd -literal -offset 14n \&.Sh ページ構造領域 .Ed .Ss 段落と行スペース .Bl -tag -width 6n .It \&.Pp .Ql \&.Pp 段落コマンド は必要な場合に行スペースを指定するために使われます。 このマクロは .Ql \&.Sh マクロや .Ql \&.Ss マクロのあと、それに .Ql \&.Bl マクロの前では必要ありません。 ( .Ql \&.Bl マクロは -compact フラグが指定されていなければ、縦方向の距離を宣言します )。 .El .\" This worked with version one, need to redo for version three .\" .Pp .\" .Ds I .\" .Cw (ax+bx+c) \ is\ produced\ by\ \& .\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\& .\" .Cl Cx \t\t .\" .Li \&.Cx\ ( .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va ax .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy \+ .\" .Cx .\" .Cl Cx \&(\& .\" .Va ax .\" .Cx + .\" .Va by .\" .Cx + .\" .Va c ) .\" .Cx \t .\" .Em is produced by .\" .Cx \t .\" .Li \&.Va by .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy \+ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va c ) .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .\" This example shows the same equation in a different format. .\" The spaces .\" around the .\" .Li \&+ .\" signs were forced with .\" .Li \e : .\" .Pp .\" .Ds I .\" .Cw (ax\ +\ bx\ +\ c) \ is\ produced\ by\ \& .\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\& .\" .Cl Cx \t\t .\" .Li \&.Cx\ ( .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va a .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy x .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx \e\ +\e\ \e& .\" .Cx .\" .Cl Cx \&(\& .\" .Va a .\" .Sy x .\" .Cx \ +\ \& .\" .Va b .\" .Sy y .\" .Cx \ +\ \& .\" .Va c ) .\" .Cx \t .\" .Em is produced by .\" .Cl Cx \t\t .\" .Li \&.Va b .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy y .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx \e\ +\e\ \e& .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va c ) .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .\" The incantation below was .\" lifted from the .\" .Xr adb 1 .\" manual page: .\" .Pp .\" .Ds I .\" .Cw \&[?/]m_b1_e1_f1[?/]\& is\ produced\ by .\" .Cl Cx \t\t .\" .Li \&.Cx Op Sy ?/ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Nm m .\" .Cx .\" .Cl Cx Op Sy ?/ .\" .Nm m .\" .Ad \ b1 e1 f1 .\" .Op Sy ?/ .\" .Cx \t .\" .Em is produced by .\" .Cx \t .\" .Li \&.Ar \e\ b1 e1 f1 .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Op Sy ?/ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .Ss キープ 現在実装されているキープは単語に対するものだけです。 それらは .Ql \&.Bk (キープ開始) マクロと .Ql \&.Ek (キープ終了) マクロです。 .Ql \&.Bk に指定できるオプションは .Fl words のみであり、これはオプションの途中で改行が入らないようにするのに便利です。 コマンド行の引数を生成する例 ( .Sx この名前には何が...? セクションを参照) において、キープは .Xr nroff がフラグと引数を別の行に分けないように使われています。 (実際には、オプションマクロがこの目的で使われていましたが、 オプションが行中にわたって散らばってしまうと 一般的に見栄えが悪くなるという理由により .Xr troff で右揃えのマージンを強制的に行なう (宗教的な) 決定がなされてから、 オプションマクロをこの目的で使わないようになりました。 キープマクロについてはもっと機能を向上する作業が必要であり、 .Fl line オプションを追加していく必要があります。) .Ss 例示とディスプレイ ディスプレイには 5 つのタイプがあります。 即席 1 行インデントディスプレイ .Ql \&.D1 、即席 1 行リテラルディスプレイ .Ql \&.Dl 、それに ディスプレイ開始マクロ .Ql \&.Bd とディスプレイ終了マクロ .Ql \&.Ed を使用するリテラルブロック、フィルブロックおよび凸凹ブロックです。 .Pp .Bl -tag -width \&.Dlxx .It Li \&.D1 (D-いち) インデントされたテキストを 1 行表示します。 このマクロは解析されますが、呼び出し不可能です。 .Pp .Dl Fl ldghfstru .Pp これは次の指定で生成されたものです。 .Li \&.Dl Fl ldghfstru .It Li \&.Dl (D-エル) インデントされた .Em リテラル テキストを 1 行表示します。 .Ql \&.Dl マクロの例は本ファイルの中に渡って使われています。 これによって 1 行のテキストのインデント (表示) が可能になります。 このマクロは解析され、他のマクロを認識することができますが、 デフォルトのフォントは固定幅 (リテラル) にセットされています。 しかしながら、呼び出しは不可能です。 .Pp .Dl % ls -ldg /usr/local/bin .Pp これは .Li \&.Dl % ls -ldg /usr/local/bin から生成されています。 .It Li \&.Bd ディスプレイ開始です。 .Ql \&.Bd によるディスプレイは .Ql \&.Ed マクロによって終了しなければなりません。 ディスプレイはディスプレイ内およびリスト内で入れ子にすることができます。 .Ql \&.Bd は以下の書式をとります。 .Pp .Dl ".Bd ディスプレイタイプ [-offset オフセット値] [-compact]" .Pp ディスプレイタイプは以下の 4 つのタイプの内の 1 つでなければならず、 インデント .Ql \&.Bd のオフセット値を指定することができます。 .Pp .Bl -tag -width "file ファイル名 " -compact .It Fl ragged テキストのブロックをタイプされた通りに表示します。 右マージン (と左マージン) のエッジは左に不揃いに寄せられます。 .It Fl filled フィル (フォーマット) されたブロックを表示します。 テキストのブロックがフォーマットされます (エッジは左非揃えではなく、フィルされます)。 .It Fl literal リテラルなブロックを表示します。 ソースコードや、単純にタブもしくはスペースで整えられたテキストで便利です。 .It Fl file Ar ファイル名 .Fl file フラグに続く名称のファイルが読み込まれ、表示されます。 表示はリテラルなモードで行われ、タブは定幅文字 8 つ分に固定されますが、 ファイル中のすべての .Xr troff/ Ns Nm \-mdoc コマンドは解釈されます。 .It Fl offset Ar 文字列 .Fl offset が以下の文字列のいずれかとともに指定されていると、 その文字列は次のテキストのブロックのインデントのレベルを示すものとして 解釈されます。 .Pp .Bl -tag -width "indent-two" -compact .It Ar left ブロックを現在の左マージンに揃えます。 これは .Ql \&.Bd のデフォルトのモードです。 .It Ar center ブロックを中央揃えにします。 残念ながら現時点では、 単にブロックの左側を仮想的な中央マージンに揃えるだけです。 .It Ar indent デフォルトのインデント値もしくはタブの分だけインデントします。 デフォルトのインデント値はディスプレイ .Ql \&.D1 でも使われ、これら 2 つのタイプのディスプレイを使った場合、 行が揃うことが保証されています。 このインデントは通常 6n か約 2/3 インチ (定幅文字 6 つ分) です。 .It Ar indent-two デフォルトのインデント値の 2 倍分インデントします。 .It Ar right これはブロックをページの右端から約 2 インチ離して .Em 左 揃えします。 このマクロはちゃんと動作する必要があるのですが、 .Xr troff ではまったくちゃんと動作してくれていません。 .El .El .It ".Ed" ディスプレイ終了。 .El .Ss フォントモード マニュアルページのテキストの見栄えを変更するマクロは 5 つあります。 .Bl -tag -width \&.Emxx .It \&.Em テキストは .Ql \&.Em マクロで強調することができます。 強調の場合、通常イタリック体のフォントが使われます。 .Pp .Dl 使い方: .Em argument ... \*(Pu .Bl -tag -width ".Em vide infra ) ) ," -compact -offset 14n .It Li ".Em does not" .Em does not .It Li ".Em exceed 1024 ." .Em exceed 1024 . .It Li ".Em vide infra ) ) ," .Em vide infra ) ) , .El .Pp .Ql \&.Em マクロは解析され、呼び出し可能です。 .Ql \&.Em を引数なしで呼び出すのはエラーです。 .It \&.Li リテラルマクロ .Ql \&.Li は特殊文字や変数定数、その他タイプされた通りに表示する必要があるものに 使用することができます。 .Pp .Dl 使い方: .Li argument ... \*(Pu .Bl -tag -width ".Li cntrl-D ) ," -compact -offset 14n .It Li \&.Li \een .Li \en .It Li \&.Li M1 M2 M3\ ; .Li M1 M2 M3 ; .It Li \&.Li cntrl-D\ )\ , .Li cntrl-D ) , .It Li \&.Li 1024\ ... .Li 1024 ... .El .Pp .Ql \&.Li マクロは解析され、呼び出し可能です。 .It \&.Sy シンボリック体強調マクロはシンボリックの意味でも 伝統的な英語の使いかたにおいても、 通常はボールドマクロとなっています。 .Pp .Dl 使い方: .Sy symbol ... \*(Pu .Bl -tag -width ".Sy Important Noticex" -compact -offset 14n .It Li \&.Sy Important Notice .Sy Important Notice .El .Pp .Ql \&.Sy マクロは解析され、呼び出し可能です。 .Ql \&.Sy の引数は引用符で囲むことができます。 .It Li \&.Bf フォントモード開始。 フォントモード .Ql \&.Bf は .Ql \&.Ef マクロで終了しなければなりません。 フォントモードは他のフォントモードと入れ子にすることができます。 .Ql \&.Bf は次の構文を取ります。 .Pp .Dl ".Bf フォントモード" .Pp フォントモードは以下の 3 つのタイプのうちのいずれかでなければなりません。 .Pp .Bl -tag -width "file file_name " -compact .It Sy \&Em | Fl emphasis 強調モード。 .Ql \&.Em マクロがテキストブロック全体に使われているのと同様です。 .It Sy \&Li | Fl literal リテラルモード。 .Ql \&.Li マクロがテキストブロック全体に使われているのと同様です。 .It Sy \&Sy | Fl symbolic シンボリックモード。 .Ql \&.Sy マクロがテキストブロック全体に使われているのと同様です。 .El .It ".Ef" フォントモードの終了。 .El .Ss タグつきリストと列 リスト開始マクロ .Ql ".Bl" で開始されるリストにはいくつかのタイプがあります。 リスト中の項目は項目マクロ .Ql ".It" で指定され、各リストは .Ql ".El" マクロで終了しなければなりません。 リストはリスト自身やディスプレイの中で入れ子にすることができます。 列はリストの中で使うことができますが、 リストが列の中で使えるかどうかは検証されていません。 .Pp さらに、タグの幅、リストのオフセット、コンパクトさ (項目間の空白行が許されているかどうか) のような、 いくつかのリストの属性を指定することができます。 本ドキュメントのほとんどはタグ .Pq Fl tag スタイルリストでフォーマットされています。 各種リストタイプは、調子を変えるためにオーバーハング .Pq Fl ohang でリストしました。 このリストのタイプは .Tn TeX のユーザに非常に人気のあるものですが、tag リストで構成されたページを 何ページも読んだ後には幾分変に見えるでしょう。 以下のリストタイプを .Ql ".Bl" で使うことができます。 .Pp .Bl -ohang -compact .It Fl bullet .It Fl item .It Fl enum これら 3 つは最も単純なリストのタイプです。 一旦 .Ql ".Bl" マクロが与えられると、リスト中の項目は単に .Ql ".It" マクロによってのみ構成される行で指定されます。 例として、簡単な列挙リストのソーステキストは、このようになります。 .Bd -literal -offset indent-two \&.Bl -enum -compact \&.It \&ひとつめはここ。 \&.It \&そしてふたつめ。 \&.It \&最後にみっつめはここ。 \&.El .Ed .Pp これらの結果は以下のようになります。 .Pp .Bl -enum -offset indent-two -compact .It ひとつめはここ。 .It そしてふたつめ。 .It 最後にみっつめはここ。 .El .Pp 簡単な bullet リスト構成の例を示します。 .Bd -literal -offset indent-two \&.Bl -bullet -compact \&.It \&ひとつめの bullet。 \&.It \&これはふたつめの bullet。 \&.El .Ed .Pp その結果はこうなります。 .Bl -bullet -offset indent-two -compact .It ひとつめの bullet。 .It これはふたつめの bullet。 .El .Pp .It Fl tag .It Fl diag .It Fl hang .It Fl ohang .It Fl inset これらのリストタイプは .Ql \&.It マクロによって指定されている引数からラベルを生成します。 そして、 .Em inset では、次のテキストへそのラベルを挿入します。 .Em hang では、次のテキストをラベルの位置へインデントします。 .Em ohang (オーバーハング) では、次のテキストをラベルの位置にぶら下げ、インデントしません。 .Em tag では、タグつきテキストの形式にします。 ちなみに上のリストは .Ql Fl ohang リストタイプで構成されています。 .Ql \&.It マクロは inset, hang, tag のリストタイプでのみ解析され、 呼び出し不可能です。 以下に inset ラベルの例を示します。 .Bl -inset -offset indent .It Em tag tag リスト (tag 段落とも呼ばれる) は、 Berkely マニュアルで使われているリストのうち最も一般的なタイプです。 .It Em diag (診断) 診断リストはセクション 4 の診断リストを生成するもので、 呼び出し可能なマクロが無視されることを除き、inset リストと似ています。 .It Em hang hang ラベルは好みの問題です。 .It Em ohang ohang ラベルはスペースに制限がある時に便利です。 .It Em inset inset ラベルは段落のブロックを制御するのに便利で、 .Nm \-mdoc マニュアルを他の形式に変換する時に役立ちます。 .El .Pp 上の例を生成したソーステキストはこうなっています。 .Bd -literal -offset indent \&.Bl -inset -offset indent \&.It Em tag \&tag リスト (tag 段落とも呼ばれる) は、 \&Berkely マニュアルで使われているリストのうち最も一般的なタイプです。 \&.It Em diag (診断) \&診断リストはセクション 4 の診断リストを生成するもので、 \&呼び出し可能なマクロが無視されることを除き、inset リストと似ています。 \&.It Em hang \&hang ラベルは好みの問題です。 \&.It Em ohang \&ohang ラベルはスペースに制限がある時に便利です。 \&.It Em inset \&inset ラベルは段落のブロックを制御するのに便利で、 \&.Nm \-mdoc \&マニュアルを他の形式に変換する時に役立ちます。 \&.El .Ed .Pp 以下は 2 つの項目を持つ hang リストです。 .Bl -hang -offset indent .It Em hang ラベルがラベルの幅より小さいときには、 ラベルは tag リストと同じようになります。 .It Em 長い hang リストラベル は、tag 段落のラベルとは異なり、 段落の中に埋め込まれます。 .El .Pp これを生成している元のテキストは以下の通りです。 .Bd -literal -offset indent \&.Bl -hang -offset indent \&.It Em hang \&ラベルがラベルの幅より小さいときには、 \&ラベルは tag リストと同じようになります。 \&.It Em 長い hang リストラベル \&は、tag 段落のラベルとは異なり、 \&段落の中に埋め込まれます。 \&.El .Ed .Pp タグ幅を制御するためのオプションの幅指定を使ったタグつきリストは 以下の通りです。 .Pp .Bl -tag -width "PAGEIN" -compact -offset indent .It SL プロセスが sleep している時間 (ブロックされた秒数) .It PAGEIN そのプロセスによるコアにロードされていないページへの参照によるディスク .Tn I/O の回数 .It UID プロセスの所有者の数字表記によるユーザID .It PPID 親プロセスの数字表記によるID、プロセスの優先度 (割り込み不可のウエイトであるときには非正値) .El .Pp 元のテキストは以下の通りです。 .Bd -literal -offset indent \&.Bl -tag -width "PAGEIN" -compact -offset indent \&.It SL \&プロセスが sleep している時間 (ブロックされた秒数) \&.It PAGEIN \&そのプロセスによるコアにロードされていないページへの参照によるディスク \&.Tn I/O \&の回数 \&.It UID \&プロセスの所有者の数字表記によるユーザID \&.It PPID \&親プロセスの数字表記によるID、プロセスの優先度 \&(割り込み不可のウエイトであるときには非正値) \&.El .Ed .Pp 幅指定として以下のものを使うことができます。 .Bl -tag -width Ar -offset indent .It Fl width Ar "\&Fl" そのフラグでのデフォルトの幅を指定します。 すべての呼び出し可能なマクロは各々デフォルトの幅の値を持っています。 現在、 .Ql \&.Fl の値は定幅文字 10 個分、もしくは約 5/6 インチとなっています。 .It Fl width Ar "24n" 定幅文字 24 個分の幅、もしくは約 2 インチの幅をセットします。 これが正しく動作するには .Ql n が必ず必要となります。 .It Fl width Ar "ENAMETOOLONG" 指定された文字列の固定長に幅をセットします。 .It Fl width Ar "\\*qint mkfifo\\*q" これも、指定された文字列の固定長に幅をセットします。 .El .Pp タグつきリストタイプで幅が指定されていないと、 .Ql \&.It が最初に起動された時に適した幅を決定することが試みられます。 .Ql ".It" の最初の引数が呼び出し可能なマクロであれば、そのマクロのデフォルトの幅が そのマクロ名が幅として指定されたように使用されます。 しかしながら、そのリスト中に他の項目が別の呼び出し可能なマクロ名で 与えられていると、新しく入れ子となったリストとして処理されます。 .Sh 定義済みの文字列 以下の文字列はあらかじめ定義されているものであり、 troff の文字列解釈シーケンス .Ql \&\e*(xx もしくは .Ql \&\e*x を前に伴って使われます。 ここで、 .Em xx もしくは .Em x は定義されている文字列の名称です。 解釈シーケンスはテキストのどこでも使うことができます。 .Pp .Bl -column "文字列 " "Nroff " "Troff " -offset indent .It Sy "文字列 Nroff Troff" .It Li "<=" Ta \&<\&= Ta \*(<= .It Li ">=" Ta \&>\&= Ta \*(>= .It Li "Rq" Ta "''" Ta \*(Rq .It Li "Lq" Ta "``" Ta \*(Lq .It Li "ua" Ta ^ Ta \*(ua .It Li "aa" Ta ' Ta \*(aa .It Li "ga" Ta \` Ta \*(ga .\" .It Li "sL" Ta ` Ta \*(sL .\" .It Li "sR" Ta ' Ta \*(sR .It Li "q" Ta \&" Ta \*q .It Li "Pi" Ta pi Ta \*(Pi .It Li "Ne" Ta != Ta \*(Ne .It Li "Le" Ta <= Ta \*(Le .It Li "Ge" Ta >= Ta \*(Ge .It Li "Lt" Ta < Ta \*(Gt .It Li "Gt" Ta > Ta \*(Lt .It Li "Pm" Ta +- Ta \*(Pm .It Li "If" Ta infinity Ta \*(If .It Li "Na" Ta \fINaN\fP Ta \*(Na .It Li "Ba" Ta \fR\&|\fP Ta \*(Ba .El .Pp .Sy 注釈 : .Ql q の名称がつけられている文字列は、1 文字であるため .Ql \e*q と書かなければなりません。 .Sh 診断 .Nm \-mdoc は限られたデバッグ機能しか持っていませんが、 引数名と内部レジスタやマクロ名との衝突のような 潜在的なエラーを検出するのに役立ちます。 (A って何?) レジスタは .Xr troff での演算用記憶クラスであり、1 文字か 2 文字の名称がついています。 .Xr troff と .Xr ditroff での .Nm \-mdoc のすべての内部レジスタは .Ql \&Ar のように2 文字からなる <大文字><小文字> の形式か、 .Ql \&aR のように <小文字><大文字> の形式か、 .Ql \&C\&1 のように <大文字もしくは小文字><数字> の形式を取ります。 さらに混乱することに、 .Xr troff はそれ自身の内部レジスタを持ち、 それらすべては小文字 2 文字か、ドットに文字もしくはメタ文字が続く形式を取ります。 紹介例の 1 つに、 エスケープシーケンス .Ql \e& でマクロ名を解釈させない方法がありました。 これは内部レジスタ名にも有効です。 .Pp .\" Every callable macro name has a corresponding register .\" of the same name (). .\" There are also specific registers which have .\" been used for stacks and arrays and are listed in the .\" .Sx Appendix . .\" .Bd -ragged -offset 4n .\" [A-Z][a-z] registers corresponding to macro names (example ``Ar'') .\" [a-z][A-Z] registers corresponding to macro names (example ``aR'') .\" C[0-9] argument types (example C1) .\" O[0-9] offset stack (displays) .\" h[0-9] horizontal spacing stack (lists) .\" o[0-9] offset (stack) (lists) .\" t[0-9] tag stack (lists) .\" v[0-9] vertical spacing stack (lists) .\" w[0-9] width tag/label stack .\" .Ed .\" .Pp エスケープされていないレジスタ名が引数リストに指定されると、 予期できない振舞いとなります。 一般的には、テキストのかなり大きな部分が出力されるべきところに 出力されないとか、リストのタグのような小さな文字列が消えてしまうとか、 引数リストの中の引数のタイプが間違って解釈されるとかいうことが、起こり得ます。 きっとあなたのお母さんは、あなたにこんな面倒なことを覚えるようにとは 考えていないでしょう。 そこで、与えられた引数が有効か無効かを判断する方法があります。 そんなときには、 .Ql \&.Db (デバッグ) マクロによってほとんどのマクロの引数リストがどう解釈されるか を表示することができます。 .Ql \&.Pp (段落) マクロのようなマクロはデバッグ情報を含んでいません。 呼び出し可能なマクロはすべてデバッグ情報を含んでおり、 疑いがある場合はいつでも .Ql \&.Db マクロをオンにすることを強くお勧めします。 .Pp .Dl 使い方: \&.Db [on | off] .Pp 以下の例では、 問題が故意に発生するようにされた部分の上と下で デバッグマクロが指定されています (フラグ引数 .Ql \&aC は正しく動作するためには .Ql \e&aC でなければなりません)。 .Bd -literal -offset indent \&.Db on \&.Op Fl aC Ar file ) \&.Db off .Ed .Pp この結果の出力は以下の通りです。 .Bd -literal -offset indent DEBUGGING ON DEBUG(argv) MACRO: `.Op' Line #: 2 Argc: 1 Argv: `Fl' Length: 2 Space: `' Class: Executable Argc: 2 Argv: `aC' Length: 2 Space: `' Class: Executable Argc: 3 Argv: `Ar' Length: 2 Space: `' Class: Executable Argc: 4 Argv: `file' Length: 4 Space: ` ' Class: String Argc: 5 Argv: `)' Length: 1 Space: ` ' Class: Closing Punctuation or suffix MACRO REQUEST: .Op Fl aC Ar file ) DEBUGGING OFF .Ed .Pp この情報の最初の行では呼び出されているマクロの名称が出力されています。 ここでは .Ql \&.Op とそれが現れた行番号が表示されています。 複数のファイルが処理されている場合 (特にテキストが他のファイルからインクルードされている場合)、 行番号は正しくないでしょう。 ファイルが 1 つだけの場合には正しい行番号が出力されます。 2 番目の行では引数の個数と引数 .Pq Ql \&Fl とその長さが出力されています。 引数の長さが 2 文字であれば、 その引数が実行可能 (ゼロでない値を含むすべてのレジスタは実行可能なように見えます) かどうかテストされます。 3 番目の行ではそのクラスで指定されているスペースとクラスタイプが 出力されています。 ここでの問題は引数 aC が実行不可能でなければならないことです。 クラスの 4 つのタイプは文字列、実行可能、閉じる句読点、開く句読点です。 最後の行では引数リスト全体が読み込まれた通りに表示されています。 次の例では問題の原因となっている .Ql \&aC がエスケープされています。 .Bd -literal -offset indent \&.Db on \&.Em An escaped \e&aC \&.Db off .Ed .Bd -literal -offset indent DEBUGGING ON DEBUG(fargv) MACRO: `.Em' Line #: 2 Argc: 1 Argv: `An' Length: 2 Space: ` ' Class: String Argc: 2 Argv: `escaped' Length: 7 Space: ` ' Class: String Argc: 3 Argv: `aC' Length: 2 Space: ` ' Class: String MACRO REQUEST: .Em An escaped &aC DEBUGGING OFF .Ed .Pp .Ql \e& シーケンスは長さが 0 となるために 引数 .Ql \e&aC は先の例と同様に長さ 2 と表示されています。 しかし、 .Ql \e&aC という名称のレジスタが見つからず、タイプは文字列と判断されています。 .Pp この他の診断は使用方法を報告するものであり、 それ自身が説明を含んでいます。 .Sh GROFF, TROFF, NROFF .Nm \-mdoc パッケージは .Xr groff との互換モードは必要ではありません。 .Pp このパッケージでは改ページと、 .Xr nroff で改ページ時に通常挿入されるヘッダとフッタは禁止されており、 マニュアルをオンラインで効率良く見ることができるようになっています。 現在の所、 .Fl T Ns Ar ascii が指定された .Xr groff はページ内容の無いファイル末の残りの部分まで出力します。 改ページを禁止することによって .Xr nroff による出力はハードコピーには適さないものとなっています。 サイト依存のスタイルファイル .Pa /usr/src/share/tmac/doc-nroff において 0 にセットすることができる .Ql \&cR の名称を持つレジスタが古いスタイルの振る舞いを実現するために用意されています。 .Sh 関連ファイル .Bl -tag -width /usr/share/man0/template.doc -compact .It Pa /usr/share/tmac/tmac.doc マニュアルマクロパッケージ .It Pa /usr/share/misc/mdoc.template man ページを書くためのテンプレート .It Pa /usr/share/examples/mdoc/* man ページのいくつかの例 .El .Sh 関連項目 .Xr man 1 , .Xr troff 1 , .Xr mdoc 7 .Sh バグ フラグ引数のダッシュにおいて好ましくないハイフンが挿入される問題は、 まだ解決されておらず、 .Sx DESCRIPTION セクションにおいて災いをおこすことがあります (ハイフンにおいて改行が挿入される)。 .Pp あらかじめ定義されている文字列は文書において宣言されていません。 .Pp セクション 3f はヘッダルーチンには追加されていません。 .Pp .Ql \&.Nm フォントは .Sx NAME セクションにおいて変更されるべきです。 .Pp .Ql \&.Fn は分割されるのを防止するために、 行の長さが短すぎないかどうかをチェックする必要があります。 ときどき、最後の括弧が分割されることがあり、 行がフィルモードであるときには全くおかしな結果になることがあります。 .Pp nroff を使用している時に、 ヘッダとフッタで改ページを防止 (最初のヘッダとフッタ以外) している方法は、 時々おそらくページの下端に一部見苦しくフィルされた行 (空白行) を挿入する ことがあります。 .Pp リストマクロとディスプレイマクロはキープを行いませんが、 これはキープを行うべきです。 .\" Note what happens if the parameter list overlaps a newline .\" boundary. .\" to make sure a line boundary is crossed: .\" .Bd -literal .\" \&.Fn struct\e\ dictionarytable\e\ *dictionarylookup struct\e\ dictionarytable\e\ *tab[] .\" .Ed .\" .Pp .\" produces, nudge nudge, .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] , .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] , .\" nudge .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] . .\" .Pp .\" If double quotes are used, for example: .\" .Bd -literal .\" \&.Fn \*qstruct dictionarytable *dictionarylookup\*q \*qchar *h\*q \*qstruct dictionarytable *tab[]\*q .\" .Ed .\" .Pp .\" produces, nudge nudge, .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" , .\" nudge .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" , .\" nudge .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" . .\" .Pp .\" Not a pretty sight... .\" In a paragraph, a long parameter containing unpaddable spaces as .\" in the former example will cause .\" .Xr troff .\" to break the line and spread .\" the remaining words out. .\" The latter example will adjust nicely to .\" justified margins, but may break in between an argument and its .\" declaration. .\" In .\" .Xr nroff .\" the right margin adjustment is normally ragged and the problem is .\" not as severe. diff --git a/ja/man/man7/symlink.7 b/ja/man/man7/symlink.7 index f715758139..95152f1b40 100644 --- a/ja/man/man7/symlink.7 +++ b/ja/man/man7/symlink.7 @@ -1,440 +1,439 @@ .\" Copyright (c) 1992, 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. .\" .\" @(#)symlink.7 8.3 (Berkeley) 3/31/94 .\" %Id: symlink.7,v 1.8.2.1 1999/05/02 12:06:54 kris Exp % -.\" %Id: symlink.7,v 1.8 1998/04/24 12:38:18 des Exp % .\" .\" jpman %Id: symlink.7,v 1.5 1999/01/21 17:50:41 kuma Stab % .\" .\" WORD: dereference 手繰る .\" WORD: traverse たどる .Dd March 31, 1994 .Dt SYMLINK 7 .Os BSD 4 .Sh 名称 .Nm symlink .Nd シンボリックリンクの扱い .Sh シンボリックリンクの扱い シンボリックリンクは、他のファイルへのポインタとして働くファイルです。 動作を理解するためには、ハードリンクの動作を理解する必要があります。 ファイルへのハードリンクは元のファイルとは区別できません。 なぜなら、ハードリンクは元のファイル名の下敷きとなるオブジェクトを 参照するからです。 ファイルに対する変更は、ファイルを参照するために使用する名前には依存しません。 ハードリンクは、ディレクトリを参照してはなりませんし、 他のファイルシステム上のファイルを参照してもなりません。 シンボリックリンクは、リンクされたファイルの名前を格納します。 すなわち、他の名前へのポインタです。 下敷きとなるオブジェクトを参照するわけではありません。 このため、シンボリックリンクは、ディレクトリを参照することができますし、 ファイルシステムをまたがることが可能です。 .Pp シンボリックリンクとこれが参照するオブジェクトは ファイルシステムの名前空間において共存しますので、 リンク自身と参照されるオブジェクトの区別に関して混乱が生じることがあります。 歴史的には、コマンドおよびシステムコールは、 場当たり的にそれぞれ独自のリンク追跡規則を採用してきました。 このシステムに実装されている、統一的なアプローチの規則をここに示します。 ユーザインタフェースをできる限り一貫性あるものとするために、 ローカルアプリケーションもまたこの規則を守ることが重要です。 .Pp シンボリックリンクの操作は、リンク自身への操作、 もしくはリンクによって参照されるオブジェクトへの操作によって実現されます。 後者の場合、アプリケーションまたはシステムコールがリンクを .Dq 追跡 (follow) したと言います。 シンボリックリンクは他のシンボリックリンクを参照することができます。 この場合、シンボリックリンクではないオブジェクトが見付かるか、 存在しないファイルを参照するシンボリックリンクが見付かるか、 ループが検出されるまで、 リンクが手繰られます。 (ループ検出は、追跡可能なリンク数の上限を設定することにより実現されます。 この制限を超過する場合にはエラーとなります。) .Pp 議論すべき領域で異なるものが 3 つあります。それらは次の通りです: .sp .Bl -enum -compact -offset indent .It システムコールのファイル名引数として使用されるシンボリックリンク。 .It ファイルツリーをたどらないユーティリティの コマンドライン引数として指定されるシンボリックリンク。 .It ファイルツリーをたどる (traverse) ユーティリティが扱うシンボリックリンク (コマンドラインで指定されるもの、 およびファイル階層をたどるときに出会うものの両方です)。 .El .Ss システムコール 最初の領域は、 システムコールのファイル名引数として使用されるシンボリックリンクです。 .Pp 次の例外を除き、全システムコールはシンボリックリンクを追跡します。 例えば、 .Dq Li afile という名前のファイルを指すシンボリックリンク .Dq Li slink が存在する場合、システムコール .Dq Li open("slink" ...) はファイル .Dq afile のファイルディスクリプタを返します。 .Pp リンクを追跡せずに、シンボリックリンク自身を操作するシステムコールが 5 つあります。 それらは次の通りです: .Xr lchown 2 , .Xr lstat 2 , .Xr readlink 2 , .Xr rename 2 , .Xr unlink 2 。 .Xr remove 3 は .Xr unlink 2 の別名ですから、これもまたシンボリックリンクを追跡しません。 .Pp 既存のシンボリックリンクの所有者およびグループの変更は、 .Xr lchown 2 システムコールにて可能です。 他のファイル属性、例えば修正時刻やアクセスパーミッションは、 システムが使用しませんし、変更不能です。 .Pp .Bx 4.4 システムは歴史的な 4BSD システムとは異なり、システムコール .Xr chown 2 がシンボリックリンクを追跡するように変更されました。 後になって、新しい .Xr chown 2 の制限が明らかになると、 .Xr lchown 2 システムコールが追加されました。 .Ss ファイルツリーをたどらないコマンド 第 2 の領域は、 ファイルツリーをたどらないコマンドに対する コマンドラインのファイル名引数として指定されるシンボリックリンクです。 .Pp 下に述べる例外を除き、コマンドは、 コマンドライン引数として指定されるシンボリックリンクを追跡します。 例えば、 .Dq Li afile という名前のファイルを指すシンボリックリンク .Dq Li slink が存在する場合、コマンド .Dq Li cat slink はファイル .Dq afile の内容を表示します。 .Pp この規則は、ファイルツリーをたどることもできるコマンドも含みます。 これを認識することが重要です。 例えば、コマンド .Dq Li "chown file" はこの規則に含まれますが、コマンド .Dq Li "chown -R file" は含まれません。 (後者は第 3 の領域で後述します。) .Pp コマンドがシンボリックリンクを追跡するのではなく シンボリックリンク自身を操作する ことが明示的に意図されている場合、 例えば .Dq Li "chown slink" が、シンボリックリンクであるか否かにかかわらず、 .Dq Li slink 自身の所有者を変更したい場合、 .Fl h オプションを使用します。 先の例では、 .Dq Li "chown root slink" は .Dq Li slink が参照するファイルの所有者を変更しますが、 .Dq Li "chown -h root slink" は .Dq Li slink 自身の所有者を変更します。 .Pp この規則には 4 つの例外があります。 .Xr mv 1 および .Xr rm 1 のコマンドは、引数として指定されるシンボリックリンクを追跡せずに、 それぞれシンボリックリンク自身を改名したり削除しようとします。 (シンボリックリンクがファイルを相対パスで指定する場合、 シンボリックリンクを他のディレクトリに移動してしまうと、 パスが正しくなくなってしまいますので、 追跡できなくなります。) .Pp .Xr ls 1 コマンドもまたこの規則の例外です。 歴史的なシステムとの互換性のために ( .Nm ls がツリーをたどらない場合、すなわち .Fl R オプションが指定されない場合)、 .Fl H , .Fl L オプションが指定されるか .Fl F , .Fl d , .Fl l オプションが指定されない場合、 .Nm ls コマンドは引数として指定されたシンボリックリンクを追跡します。( ファイルツリーをたどらない場合にも、 .Fl H , .Fl L オプションが動作に影響を与えるコマンドは .Nm ls だけです。) .Pp .Xr file 1 コマンドもまたこの規則の例外です。 .Xr file 1 コマンドは、引数として指定されるシンボリックリンクを、 デフォルトでは追跡しません。 .Fl L オプションが指定されると、 .Xr file 1 コマンドは引数として指定されるシンボリックリンクを追跡します。 .Pp .Bx 4.4 システムは歴史的な 4BSD システムとは異なり、 .Nm chown , .Nm chgrp のコマンドがコマンドラインに指定されたシンボリックリンクを追跡します。 .Ss ファイルツリーをたどるコマンド 次のコマンドは、オプションとしてまたは常にファイルツリーをたどります: .Xr chflags 1 , .Xr chgrp 1 , .Xr chmod 1 , .Xr cp 1 , .Xr du 1 , .Xr find 1 , .Xr ls 1 , .Xr pax 1 , .Xr rm 1 , .Xr tar 1 , .Xr chown 8 。 .Pp ファイルシステムをたどるときに出会うシンボリックリンクおよび コマンドライン引数として指定されるシンボリックリンクに対し、 次の規則が等しく適用されることを認識することが重要です。 .Pp 最初の規則は、 ディレクトリ型ではない ファイルを参照するシンボリックリンクに対して適用されます。 シンボリックリンクに対して適用される操作は、 リンク自身に対してなされますが、 そうでない場合にはリンクは無視されます。 .Pp 例えば、コマンド .Dq Li "chown -R user slink directory" は .Dq Li slink を無視します。 なぜなら本システムにおけるシンボリックリンクは所有者を持たないためです。 ツリーをたどるときに出会うシンボリックリンクもまた無視されます。 コマンド .Dq Li "rm -r slink directory" は .Dq Li slink を削除し、 .Dq Li directory のツリーをたどるときに出会うシンボリックリンクもまた削除します。 なぜなら、シンボリックリンクは削除可能であるためです。 いかなる場合も、 .Dq Li slink が参照するファイルに .Nm chown および .Nm rm が影響することはありません。 .Pp 第 2 の規則は、 タイプがディレクトリであるファイルを参照するシンボリックリンクに適用されます。 デフォルトでは、 タイプがディレクトリであるファイルを参照するシンボリックリンクは .Dq 追跡 されません。 これはしばしば .Dq 物理 探索と呼ばれ、 .Dq 論理 探索 (ディレクトリを参照するシンボリックリンクが追跡される場合です) の対極に位置します。 .Pp 可能な限り一貫性を持たせるため、 シンボリックリンクが参照するファイルのタイプに依存せずに、 ファイルツリーをたどるコマンドに コマンドラインで指定されるシンボリックリンクを追跡させるためには、 .Fl H .Pf ( Dq 半論理 ) フラグを指定します。 このフラグは、 コマンドラインの名前空間を論理的な名前空間とすることを意図しています。 (注: 常にファイルツリーをたどるわけではないコマンドにおいては、 .Fl R フラグも指定されていない場合には、 .Fl H フラグは無視されます。) .Pp 例えば、コマンド .Dq Li "chown -HR user slink" は、 .Dq Li slink で指されるファイルを根とするファイル階層をたどります。 注: .Fl H は、以前議論した .Fl h フラグとは同じではありません。 .Fl H フラグは、 実行される操作およびファイルツリーをたどるときの両方において、 コマンドラインで指定されるシンボリックリンクを手繰るようにします。 これにより、シンボリックリンクが指すファイルの名前を、 ユーザが指定したかのようになります。 .Pp 可能な限り一貫性を持たせるため、 シンボリックリンクが参照するファイルのタイプに依存せずに、 ファイルツリーをたどるコマンドに コマンドラインで指定されるシンボリックリンクだけでなく ファイルツリーをたどっているときに出会うシンボリックリンクも 追跡させるためには、 .Fl L .Pf ( Dq 論理 ) フラグを指定します。 このフラグは、 すべての名前空間を論理的な名前空間とすることを意図しています。 (注: 常にファイルツリーをたどるわけではないコマンドにおいては、 .Fl R フラグも指定されていない場合には、 .Fl L フラグは無視されます。) .Pp 例えば、コマンド .Dq Li "chown -LR user slink" は、 .Dq Li slink で指されるファイルの所有者を変更します。 .Dq Li slink がディレクトリを参照する場合、 .Nm chown は .Dq Li slink で指されるディレクトリを根とするファイル階層をたどります。 さらに、 .Nm chown がたどるファイルツリーの中でシンボリックリンクに出会うと、 そのシンボリックリンクは .Dq Li slink と同じ方法で扱われます。 .Pp 可能な限り一貫性を持たせるため、 デフォルトの動作を指定するには、 .Fl P .Pf ( Dq 物理 ) フラグを指定します。 このフラグは、 名前空間全体を物理的な名前空間のように見せるためのものです。 .Pp デフォルトでファイルツリーをたどらないコマンドにおいては、 .Fl R もまた指定しない場合には、 .Fl H , .Fl L , .Fl P フラグは無視されます。 また、 .Fl H , .Fl L , .Fl P オプションは複数回指定可能です。 この場合、最後に指定したものがコマンドの動作を指定します。 ある動作を行うようにコマンドをエイリアスし、 それをコマンドラインで上書きできるようにすることを意図しています。 .Pp .Xr ls 1 と .Xr rm 1 のコマンドは、これらの規則において例外を持ちます。 .Nm rm コマンドはシンボリックリンクを操作し、 シンボリックリンクが参照するファイルを操作しません。 また、シンボリックリンクを追跡しません。 .Nm rm コマンドは .Fl H , .Fl L , .Fl P のオプションをサポートしません。 .Pp 歴史的なシステムとの互換性を維持するために、 .Nm ls コマンドは少し異なる挙動を示します。 .Fl F, .Fl d, .Fl l オプションのいずれも指定しない場合、 .Nm ls コマンドは、コマンド行で指定したシンボリックリンクを追跡します。 .Fl L フラグが指定されると、シンボリックリンクのタイプにかかわらず、 またコマンドラインで指定されたのかファイルツリーをたどる途中に 出会ったのにかもかかわらず、 .Nm ls は全シンボリックリンクを追跡します。 .Sh 関連項目 .Xr chflags 1 , .Xr chgrp 1 , .Xr chmod 1 , .Xr cp 1 , .Xr du 1 , .Xr find 1 , .Xr ln 1 , .Xr ls 1 , .Xr mv 1 , .Xr pax 1 , .Xr rm 1 , .Xr tar 1 , .Xr lchown 2 , .Xr lstat 2 , .Xr readlink 2 , .Xr rename 2 , .Xr symlink 2 , .Xr unlink 2 , .Xr fts 3 , .Xr remove 3 , .Xr chown 8 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1-21 diff --git a/ja/man/man8/ac.8 b/ja/man/man8/ac.8 index 413f5e1d76..51cd6d4852 100644 --- a/ja/man/man8/ac.8 +++ b/ja/man/man8/ac.8 @@ -1,161 +1,162 @@ .\" .\" Copyright (c) 1994 Simon J. Gerraty .\" Copyright (c) 1994 Christopher G. Demetriou .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Christopher G. Demetriou. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: ac.8,v 1.10 1997/09/01 06:11:40 charnier Exp % +.\" %Id: ac.8,v 1.10.2.2 1999/07/02 17:30:26 sheldonh Exp % +.\" .\" jpman %Id: ac.8,v 1.3 1997/07/22 16:35:12 horikawa Stab % .\" .Dd March 15, 1994 .Dt AC 8 .Os .Sh 名称 .Nm ac .Nd 接続時間の計測 .Sh 書式 .Nm .Op Fl dp .\".Op Fl c Ar console .Op Fl t Ar tty .Op Fl w Ar wtmp .Op Ar users ... .Sh 解説 .\" Nm ac から ac 削除。 .\" オリジナルで Ac が \&Ac となっていたのは Ac が mdoc コマンド .\" Angle close quote(see mdoc(7)) であるため .\" horikawa@jp.freebsd.org 1997/11/03 もしファイル .Pa /var/log/wtmp が存在すれば、個々のログイン時刻とログアウト時刻の記録が、各々 .Xr login 1 と .Xr init 8 によって書き込まれます。 .Nm はこれらの記録を検査し、ログイン全ての累積接続時間 (時間単位) を 標準出力に書き出します。 .Pp オプションは次の通りです。 .Bl -tag -width indentXXX .It Fl d 接続時間を 24 時間単位で表示します。 .\" .It Fl c Ar console .\" .Ar console .\" を、ローカル X セッション (ut_host が ":0.0" の場合) .\" を始めるデバイス名として使います。 .\" .Ar console .\" 上に記録されたログインはどれも、コンパイル時に COMPAT_SUNOS が .\" 定義されていない限り、これらの X セッションは無視されます。 .It Fl p 各々のユーザの合計を表示します。 .It Fl t Ar tty 特定の tty からのログインだけを計測します。 .Ar tty が '!' で始まっている場合はそれ以外の tty を示し、'*' で終っている場合は、同様な全ての tty を示します。 複数の .Fl t フラグを指定しても構いません。 .It Fl w Ar wtmp 接続時間のデータを、デフォルトファイル .Pa /var/log/wtmp の代りに .Ar wtmp から読み込みます。 .It Ar users ... 与えられたユーザの合計だけを表示します。 .El .Pp もし、引数が与えられなければ、 .Nm はログインセッションが .Pa wtmp に記録された全てのアカウントの合計接続時間を表示します。 .Pp デフォルトの .Pa wtmp ファイルは、切り捨て (truncate) をしない限り、際限なく増加します。 これは通常、 .Xr cron 8 によって起動されるデイリースクリプトによって切り捨てが行なわれます。 デイリースクリプトは .Pa wtmp ファイルの改名と巡回 (rotate) を行ない、 一週間分のデータを手元に保持します。 ログインや接続時間のアカウントは、もし .Pa /var/log/wtmp が存在しなければ、行なわれません。 .Pp 例えば .Bd -literal -offset ac -p -t "ttyd*" > modems ac -p -t "!ttyd*" > other .Ed .Pp とすると、 .Pa modems に記録された時間と、 .Pa other のそれで、別の料金を請求することもできます。 .Pp .Nm ユーティリティは、 実行に成功したときには 0 で終了し、 致命的エラーが発生したときには >0 で終了します。 .Sh 関連ファイル .Bl -tag -width /var/log/wtmp.[0-7] -compact .It Pa /var/log/wtmp 接続時間アカウントファイル .It Pa /var/log/wtmp.[0-7] 巡回されたファイル .El .Sh 関連項目 .Xr login 1 , .Xr utmp 5 , .Xr init 8 , .Xr sa 8 .\" .Sh 注釈 .\" もし COMPAT_SUNOS が定義されていると .\" .Nm ac .\" は ut_host が ":0.0" のエントリが本当のログインセッションではない .\" という事実を無視します。 .\" 通常はこのようなエントリは、 .\" .Pa wtmp .\" ファイルが巡回されたときにログインしているユーザの場合を除いて .\" 無視されます。 .\" この場合、ut_host が ":0.0" のログインが、 .\" それ以前にコンソールへのログインがないのに現われるかもしれません。 .\" もし誰もコンソールにログインしていなければ、そのユーザは .\" .Pa wtmp .\" のもっとも早いタイムスタンプの時に既にログインしていたと思われます。 .\" .Pa console .\" を使うことで、 .\" .Nm ac .\" はユーザのログアウトを識別し、正しく処理できるようになります。 .\" .Pa console .\" のデフォルト値はコンパイル時の正しい値です。 diff --git a/ja/man/man8/boot0cfg.8 b/ja/man/man8/boot0cfg.8 index c224c82f9f..4820147c54 100644 --- a/ja/man/man8/boot0cfg.8 +++ b/ja/man/man8/boot0cfg.8 @@ -1,146 +1,152 @@ .\" Copyright (c) 1999 Robert Nordier .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, .\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT .\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR .\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: boot0cfg.8,v 1.3.2.1 1999/04/25 11:35:58 rnordier Exp % +.\" %Id: boot0cfg.8,v 1.3.2.2 1999/06/26 21:40:35 rnordier Exp % +.\" .\" jpman %Id: boot0cfg.8,v 1.2 1999/05/07 11:24:37 horikawa Stab % .\" .Dd February 21, 1999 .Dt BOOT0CFG 8 .Os .Sh 名称 .Nm boot0cfg .Nd ブートマネージャのインストールと設定ユーティリティ .Sh 書式 .Nm boot0cfg .Op Fl Bv .Op Fl b Ar boot0 .Op Fl d Ar drive .Op Fl f Ar file +.Op Fl m Ar mask .Op Fl o Ar options .Op Fl t Ar ticks .Ar disk .Sh 解説 FreeBSD の .Sq boot0 ブートマネージャは、 i386 マシン (PC) がどのディスクのどのスライスから起動するかを、 操作者が選択できるようにします。 .Pp ここで、 .Dq スライス と言及しているものは、BSD 以外の PC 関連文書においては一般的に .Dq パーティション と呼ばれることに注意してください。 典型的には、リムーバブルディスク以外のみ、スライスを持ちます。 .Pp オプションとして、 .Nm ユーティリティは .Sq boot0 ブートマネージャを指定した .Ar disk へインストールします; そして、様々に操作可能なパラメータの設定を許します。 .Pp PC では、ブートマネージャは典型的にディスクのセクタ 0 にあり、 マスタブートレコード (Master Boot Record; MBR) として知られています。 MBR は、コード (PC BIOS から制御を渡されます) と データ (定義されたスライスに関する組み込みの表) の、両方を含みます。 .Pp オプションは次の通りです: .Bl -tag -width indent .It Fl B .Sq boot0 ブートマネージャをインストールします。 このオプションは、MBR コードを交換しますが、 組み込み済のスライス表には影響しません。 .It Fl v 冗長: 定義されたスライスに関する情報などを表示します。 .It Fl b Ar boot0 どの .Sq boot0 イメージを使用するかを指定します。デフォルトは /boot/boot0 です。 .It Fl d Ar drive 指定した .Ar disk を含むドライブを参照するために PC BIOS が使用する、ドライブ番号を指定します。 典型的には、最初のハードドライブは 0x80 であり、 2 番目のハードドライブは 0x81 などとなります; 0 から 0xff までの間の任意の整数を受け付け可能です。 .It Fl f Ar file 以前あった MBR のバックアップコピーを .Ar file に書き込むべきであることを指定します。 このファイルは、存在しない場合には作成され、 存在する場合には切り詰められます。 +.It Fl m Ar mask +スライスの有効/無効を指定します。 +.Ar mask +は 0 (全スライスが無効) から 0xf (4 つ全部のスライスが有効) の間の整数です。 .It Fl o Ar options コンマで区切られた文字列であり、次のオプションを指定可能です (必要に応じて .Dq no を前に付けることが可能です): .Bl -tag -width indent .It packet ディスク関連 BIOS サービスにアクセスするときに、 伝統的な (CHS) インタフェースではなく、 ディスクパケット (BIOS Int 0x13 拡張) インタフェースを使用します。 デフォルトは、 .Sq nopacket です。 .It setdrv ディスクを含むドライブの参照に、-d オプションにより 定義可能なドライブ番号を使用することを強制します。 デフォルトは .Sq nosetdrv です。 .It update ブートマネージャが MBR を更新することを許可します。(スライスを .Sq 活動 状態とするためや、スライスの選択情報を保存するために、MBR が更新されます。) これがデフォルトです; .Sq noupdate オプションを指定すると、MBR は読み込み専用で扱われます。 .El .It Fl t Ar ticks タイムアウト値を .Ar ticks に設定します。 (1 秒あたり、およそ 18.2 ticks です。) .El .Sh 関連項目 .Xr boot 8 , .Xr fdisk 8 .Sh 診断 終了状態は、成功時には 0 であり、エラー時には 0 より大きくなります。 .Sh AUTHORS .An Robert Nordier Aq rnordier@FreeBSD.org .Sh バグ .Sq packet オプションを使用すると、 .Sq boot0 が失敗することがあります。 これは BIOS サポートの性質に依存しています。 .Pp 誤った -d オペランドとともに .Sq setdrv オプションを使用すると、MBR を誤ったディスクへ書き込むことになります。 注意してください ! diff --git a/ja/man/man8/boot_i386.8 b/ja/man/man8/boot_i386.8 index 3a02082b16..15e22749e4 100644 --- a/ja/man/man8/boot_i386.8 +++ b/ja/man/man8/boot_i386.8 @@ -1,306 +1,322 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software written and contributed .\" to Berkeley by William Jolitz. .\" .\" Almost completely rewritten for FreeBSD 2.1 by Joerg Wunsch. .\" .\" Substantially revised for FreeBSD 3.1 by Robert Nordier. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)boot_i386.8 8.2 (Berkeley) 4/19/94 -.\" %Id: boot_i386.8,v 1.16.2.2 1999/05/22 13:03:28 rnordier Exp % +.\" %Id: boot_i386.8,v 1.16.2.4 1999/07/06 11:47:26 yokota Exp % +.\" .\" jpman %Id: boot_i386.8,v 1.5 1997/12/04 18:33:50 ken Exp % .\" .\" .Dd April 19, 1994 .Dt BOOT 8 i386 .Os .Sh 名称 .Nm boot .Nd システム立上げ時の手続き .Sh 解説 .Sy 電源断とクラッシュからの回復。 通常、電源復旧時とクラッシュ発生後には、システムは自動的にリブートし ます。ファイルシステムの整合性チェックが自動実行され、途中で失敗しな ければ、システムはマルチユーザ・モードに移行します。 .Pp .Sy コールドスタート。 大多数の i386 PC は、まずフロッピドライブ 0 (ドライブ A: ともいう) からのブートを試み、 それに失敗すると、 ハードディスクドライブ 0 (ドライブ C: もしくは BIOS のドライブ 0x80 ともいう) からブートしようとします。いくつかの BIOS では、この デフォルトの順序を変えたり、CD-ROM デバイスをブートデバイスとして 含めることができます。 .Pp デフォルトでは 3 段階のブートストラップが使用され、 ブートブロック (ブートストラップの 第 1 および 第 2 段階) から、 これとは別の第 3 段階のブートストラッププログラム .Pa loader へと自動的に制御が移行されます。 この第 3 段階では、 ブート処理において、 ブートブロックにおいて可能なことよりも洗練された制御を提供します。 ブートブロックには、 ディスクやスライスの限られた空間しか与えられないという制約があります。 .Pp しかしながら、第 3 段階をまったく使用せずに済ますこともできます。 このようにするには、ブートブロックパラメータファイル .Pa /boot.config においてカーネル名を指定するか、 .Pa loader が起動される前の短い待ち時間 (文字 .Dv - , .Dv \e , .Dv \&| , .Dv / のいずれかが表示されている間) にキーを打ちます。 第 3 段階をロードできない場合にも、第 2 段階においてブートが試みられます。 .Pp 本サブセクションの残りの部分では、ブートブロックについてのみ扱います。 .Pa loader プログラムの文書は別にあります。 .Pp ブートブロックがロードされたあとで、次のようなプロンプトが現れます。 .Bd -literal >> FreeBSD/i386 BOOT Default: 0:wd(0,a)/kernel boot: .Ed .Pp 自動ブートにおいては、フロッピ もしくはハードディスクのパーティション .Ql a から .Pa /kernel をロードしようとします。 この動作は .Ql boot: というプロンプトが出ている間なら、キーボードから適当な文字を入力する ことで中断できます。以下にあげるような入力はブート動作に対する指示と して受付けられます。 .Bl -tag -width 10x .It \&? ブートファイルを探す際のヒントとして、デフォルトのブートデバイスの ルートディレクトリにあるファイルの名前を表示します。 (パスの最後の部分に .Dv \&? を指定することもできます。この場合、任意のサブディレクトリの一覧となります。) .Pp .It bios_drive:interface(unit,part) filename Op Fl aCcDdghPrsv ブートファイルとブートフラグを指定します。 .Bl -tag -width 10x -compact .It bios_drive BIOS によって認識されるドライブ番号です。 1 つ目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。 .It interface そこからブートするコントローラのタイプです。ブートファイルのイメージ をロードするのには BIOS の機能を使用するので、そのコントローラに対す る BIOS サポートが必要となることに注意して下さい。 .Pp サポートされているインタフェースを以下にあげます。 .Bl -tag -width "wdXX" -compact .It wd WD100[2367] とその互換コントローラ上の ST506, IDE, ESDI, RLL ディスク .It fd 5 1/4" または 3 1/2" 高密度 フロッピ .It da サポートされている SCSI コントローラ上の SCSI ディスク .\".It cd .\"CDROM からのブート .El .It unit 使用されているインタフェース上のドライブのユニット番号です。 1 つ 目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。 .It part ディスク上の BSD 部分内のパーティション文字です。詳しくは .Xr disklabel 8 を参照して下さい。慣例として、パーティション .Ql a のみが ブート可能なイメージを含んでいます。ディスクにスライス .Pq Dq fdisk パーティション か設けられていた場合、任意のスライスからブート可能です。 デフォルトでは、アクティブスライスから、 これがない場合は最初の FreeBSD スライスからのブートとなります。 .It filename ブートファイルの (指定されたパーティションのルートディレクトリからの 相対) パス名です。デフォルトでは .Pa /kernel となります。シンボリックリンクはサポートされていません (ハードリンク は使用できます)。 .It Fl acCdDghPrsv ブートフラグです。 .Bl -tag -width "-CXX" -compact .It Fl a カーネル初期化中に、ルートファイルシステムとしてマウントされるデバイスを 尋ねて来るようにします。 .It Fl C CDROM からブートします。 .It Fl c ロードしたカーネルに対し、ハードウェアのパラメータを変更するため、 UserConfig を実行します。 カーネルが USERCONFIG_BOOT オプション付きで構築された場合、 スクリプト中に .Ic quit コマンドがあったとしても、UserConfig 中にとどまります。 .It Fl D シングルとデュアルのコンソール設定を切り替えます。シングル設定では、 下記の .Fl h オプションの状態によって、コンソールは内部ディスプレイかシリアルポートの いずれかになります。デュアルコンソール設定では、内部ディスプレイ とシリアルポートの両方が、 .Fl h オプションの状態によらず、同時にコンソールになります。しかし、 デュアルコンソール設定は、ブートプロンプトの間だけでしか効果を持ちません。 一旦カーネルがロードされると、 .Fl h オプションによって指定されたコンソールが唯一のコンソールになります。 .It Fl d カーネルの初期化のできる限り早い段階で DDB カーネルデバッガ .Pq Xr ddb 4 を参照 に入ります。 .It Fl g GDB リモートデバッギングプロトコルを使用します。 .It Fl h 内部コンソールとシリアルコンソールの切替えを行います。これを使用して コンソールデバイスを変更できます。例えば、内部コンソールからブートし た場合、カーネルがコンソールデバイスとしてシリアルポートを使用するよ うにするため、 .Fl h オプションを使用できます。反対に、シリアルポートからブートした場合、 カーネルがコンソールとして代わりに内部ディスプレイを使用するようにす るため、このオプションを使用できます。 -カーネルを -.Em options COMCONSOLE -付きでコンパイルした場合には、このオプションは効果ありません。 +シリアルポートドライバ +.Xr sio 4 +には、このオプションに優先するフラグがあります。 +そのフラグが設定されると、ここで記述した +.Fl h +オプションとは無関係に、シリアルポートが常にコンソールとして使用されます。 +更なる詳細については、マニュアルページ +.Xr sio 4 +を参照してください。 .It Fl P キーボードを検出します。キーボードが発見できなかった場合には、 .Fl D と .Fl h オプションが自動的にセットされます。 .It Fl r ルートファイルシステムを含むデバイスとしてスタティックに config され たデフォルトを使用します .Pq Xr config 8 を参照 。 .It Fl s シングルユーザ・モードで立上がるようになります。コンソールが .Dq insecure .Pq Xr ttys 5 を参照 に設定されていた場合には、root のパスワードを入力しなければなり ません。 .It Fl v デバイス検出の際 (そしてその後も) 、詳細を出力します。 .El .El .El .Pp デフォルトを設定するため、BIOS ドライブ番号, コントローラタイプ, ユニット番号, パーティション, カーネルファイル名と 有効なオプションを .Pa /boot.config に書くこともできます。 .Ql boot: プロンプトでタイプするように、 1 行で書いてください。 .Sh 関連ファイル .Bl -tag -width /kernel.old.config -compact .It Pa /boot.config ブートブロックに対するパラメータ (必須ではない) .It Pa /boot/boot1 第 1 段階のブートストラップ .It Pa /boot/boot2 第 2 段階のブートストラップ .It Pa /boot/loader 第 3 段階のブートストラップ .It Pa /kernel デフォルトカーネル .It Pa /kernel.old 普通は非デフォルトカーネル (必須ではない) .El .Sh 関連項目 .Xr ddb 4 , .Xr ttys 5 , .Xr btxld 8 , .Xr config 8 , .Xr disklabel 8 , .Xr halt 8 , .Xr loader 8 , .Xr reboot 8 , .Xr shutdown 8 .Sh 診断 ディスク関連のエラーが発生すると、 第 2 段階のブートストラップがエラーを報告します。 BUOS が返すものと同じエラーコードを使用し、 例えば ``Disk error 0x1 (lba=0x12345678)'' などと報告します。 エラーコードの一部のリストを示します: .Bl -tag -width "0x80" -compat .It 0x1 不正な引数 .It 0x2 アドレスマークが見付かりません .It 0x4 セクタが見付かりません .It 0x8 DMA オーバラン .It 0x9 64K 境界を越えて DMA を試みました .It 0xc 不正なメディア .It 0x10 訂正できない CRC/ECC エラー .It 0x20 コントローラの異常 .It 0x40 シークの失敗 .It 0x80 タイムアウト .El .Pp 重要な注釈: BIOS が提供する伝統的なディスクインタフェースの制約のため、 ブートフェーズにアクセスされるブート関連の全ファイルと構造 (カーネルを含みます) は、ディスク上で (BIOS が理解するジオメトリにおいて) シリンダ 1023 以下に置かれることが必要です。 第 2 段階のブートストラップが .Dq Disk error 0x1 を報告する場合、通常はこの条件が満されていないことを意味します。 .Sh バグ このバージョンの .Bx で使用されているディスクラベルのフォーマットは、他のアーキテクチャで 使用されている物とは全く異なっています。 .Pp +空間の制約により、 +.Fl P +オプションにより起動されるキーボード検出は、BIOS が +.Dq 拡張 +キーボードを検出したかを単にテストするだけです。 +.Dq XT/AT +キーボード (F11, F12 キーなどを持ちません) を接続した場合、 +検出は失敗します。 +.Pp まだ記述されていない機能があります。 diff --git a/ja/man/man8/chown.8 b/ja/man/man8/chown.8 index 3356bfbf45..ef0896a9ea 100644 --- a/ja/man/man8/chown.8 +++ b/ja/man/man8/chown.8 @@ -1,149 +1,149 @@ .\" Copyright (c) 1990, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)chown.8 8.3 (Berkeley) 3/31/94 .\" %Id: chown.8,v 1.6 1997/09/04 11:55:42 charnier Exp % -.\" %Id: chown.8,v 1.2.2.2 1997/09/15 06:29:30 charnier Exp % +.\" .\" jpman %Id: chown.8,v 1.3 1997/05/19 16:59:53 horikawa Stab % .\" .Dd March 31, 1994 .Dt CHOWN 8 .Os BSD 4 .Sh 名称 .Nm chown .Nd 指定したファイルの所有者およびグループを変更する .Sh 書式 .Nm chown .Oo .Fl R .Op Fl H | Fl L | Fl P .Oc .Op Fl f .Op Fl h .Ar owner Op Ar :group .Ar .Nm chown .Oo .Fl R .Op Fl H | Fl L | Fl P .Oc .Op Fl f .Op Fl h .Ar :group .Ar .Sh 解説 .Nm は指定したファイルのユーザ ID や グループ ID を設定します。 .Pp オプションは以下のものがあります: .Bl -tag -width Ds .It Fl H .Fl R オプションが指定されている場合に、コマンドライン上の シンボリックリンクをたどるようになります。 ( ツリー内をたどっている際中に見つけたシンボリックリンクの先は 調べません。) .It Fl L .Fl R オプションが指定された場合に、全てのシンボリックリンクを たどるようになります。 .It Fl P .Fl R オプションが指定された場合に、シンボリックリンクの先を たどらないようになります。 .It Fl R 指定したファイル自身だけでなくその代わりに、 そのファイルをルートとする階層のファイルのユーザ ID やグループ ID を 変更します。 .It Fl f 所有者やグループの変更が失敗しても報告を行ないません。 変更の失敗は戻り値にも影響しません。 .It Fl h ファイルがシンボリックリンクの場合、 リンクが指すファイルではなくリンク自身のユーザ ID および/またはグループ ID を変更します。 .El .Pp .Fl H , .Fl L , .Fl P のオプションは .Fl R が指定されない限り無視されます。 加えて、これらのオプションはお互いの効果を上書きするため、 コマンドの動作は一番最後に指定されたもので決まります。 .Pp .Ar owner と .Ar group のオペランドはどちらも無くてもよいもの (optional) ですが、 少なくともどちらかを指定しなければなりません。 .Ar group オペランドを指定した場合は 先頭にコロン (``:'') をつけて下さい。 .Pp .Ar owner は ユーザ ID の数値かユーザ名のどちらかです。ユーザ名がユーザ ID の数値でもある場合、このオペランドはユーザ名とみなされます。 .Ar group は グループ ID の数値かグループ名のどちらかです。グループ名がグループ ID の数値でもある場合、このオペランドはグループ名とみなされます。 .Pp セキュリティの関係上明らかなことですが、ファイルの所有者の変更はスーパユーザ にしか行なうことができません。 .Pp .Nm は成功時に 0 を、エラーが起こった時に 0 より大きい値を戻り値とし て返します。 .Sh 互換性 .Nm の以前のバージョンは、グループ名を指定するのにドット (``.'') を 用いていました。 この文字はコロン (``:'') に変更されたため、 ユーザ名やグループ名にドットを含んでも構いません。 .Pp .Sh 関連項目 .Xr chgrp 1 , .Xr find 1 , .Xr chown 2 , .Xr fts 3 , .Xr symlink 7 .Sh 規格 .Nm コマンドは .St -p1003.2 互換であると考えられています。 .Sh 歴史 .Nm コマンドは .At v1 から導入されました。 diff --git a/ja/man/man8/fsinfo.8 b/ja/man/man8/fsinfo.8 index 5835c62ed8..2d60e88119 100644 --- a/ja/man/man8/fsinfo.8 +++ b/ja/man/man8/fsinfo.8 @@ -1,80 +1,181 @@ .\" .\" Copyright (c) 1997-1998 Erez Zadok .\" Copyright (c) 1993 Jan-Simon Pendry. .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)fsinfo.8 8.1 (Berkeley) 6/28/93 +.\" %Id: fsinfo.8,v 1.2.2.1 1999/06/26 23:02:24 mpp Exp % +.\" .\" jpman %Id: fsinfo.8,v 1.2 1997/06/06 10:17:38 bobson Stab % .\" -.Dd June 28, 1993 +.Dd June 26, 1999 .Dt FSINFO 8 .Os .Sh 名称 .Nm fsinfo .Nd サイト規模 (サイト単位) のファイルシステム情報の管理 .Pp .Sh 書式 -.Nm \&fsinfo -.Op Fl v +.Nm +.Op Fl qv .Op Fl a Ar autodir -.Op Fl b Ar bootparams -.Op Fl d Ar dumpsets -.Op Fl e Ar exports -.Op Fl f Ar fstabs +.Op Fl b Ar bootparams_prefix +.Op Fl d Ar dumpsets_prefix +.Op Fl e Ar exports_prefix +.Op Fl f Ar fstabs_prefix .Op Fl h Ar hostname -.Op Fl m Ar automounts +.Op Fl m Ar automounts_prefix .Op Fl I Ar dir -.Op Fl D Ar string[=string]] -.Op Fl U Ar string[=string]] -.Ar config -\&... +.Op Fl D Ar name[=string]] +.Op Fl U Ar name +.Ar config ... .Sh 解説 .Nm は、システム設定ファイルを読み込んで、 -.Nm amd -、 -.Nm mount -、 +.Nm amd , +.Nm mount , .Nm mountd の管理情報 (設定ファイル) を生成します。 .Pp +次のオプションを使用可能です: +.Bl -tag -width Fl +.It Fl a Ar autodir +自動マウンタのマウントポイントのディレクトリ名を指定します。 +デフォルトは +.Pa /a +です。 +.It Fl b Ar bootparams_prefix +.Pa bootparams +ファイルのプレフィックスを指定します。 +指定しないと、このファイルは生成されません。 +このファイルは、対象マシン用に構成され、 +.Ar bootparams_prefix +文字列が前に付く +.Pa bootparams +という名前のファイルに置かれます。 +生成されたファイルは、 +対象マシンから起動可能なディスクレスクライアントを記述した +エントリのリストです。 +.It Fl d Ar dumpsets_prefix +.Pa dumpsets +ファイルのプレフィックスを指定します。 +指定しないと、ファイルは生成されません。 +このファイルは対象マシン用であり、 +.Ar dumpsets_prefix +文字列が前に付く +.Pa dumpsets +という名前のファイルに置かれます。 +このファイルは +.Tn Imperial College +のローカルバックアップシステムに使用されます。 +.It Fl e Ar exports_prefix +.Pa exports +ファイルのプレフィックスを定義します。 +指定しないと、このファイルは生成されません。 +設定ファイルでディスクを持つものとして定義される各マシンに対して、 +.Pa exports +ファイルが構築され、マシン名の前に +.Ar exports_prefix +文字列を付けた名前が与えられます。 +マシンがディスクレスとして定義される場合、 +このマシンに対してはファイルは生成されません。 +これらのファイルは、そのマシン上のディレクトリで、 +クライアントに対してエクスポートするものに関するエントリを含みます。 +.It Fl f Ar fstabs_prefix +.Pa fstab +ファイルのプレフィックスを定義します。 +このプレフィックスが定義された場合のみ、このファイルが生成されます。 +設定ファイル中で定義される各マシンに対し、 +.Pa fstab +ファイルを生成し、マシン名の前に +.Ar fstabs_prefix +文字列を付けた名前を与えます。 +これらのファイルは、 +ブート時にマウントするファイルシステムとパーティションに関するエントリを +含みます。 +.It Fl h Ar hostname +処理対象マシンのホスト名を定義します。 +指定しないと、 +.Xr gethostname 3 +が返すローカルマシン名になります。 +.It Fl m Ar automounts_prefix +自動マウンタファイルのプレフィックスを定義します。 +このオプションを指定した場合のみ、マップが生成されます。 +設定ファイルで定義されるネットワーク用のマウントマップは、 +各マップの名前の前に +.Ar automounts_prefix +文字列を付けた名前のファイルに置きます。 +.It Fl q +静かなモードを選択します。 +生成されたエラーメッセージだけが表示されます。 +.It Fl v +冗長モードを選択します。 +これが有効になると、より多くのメッセージが表示され、 +意味解析フェーズ実行時に発見したすべての情報を表示します。 +各冗長メッセージは標準出力に出力される際、文字 `#' で開始します。 +.It Fl D Ar name[=string] +設定ファイルを読み込むときのプリプロセッサ用に、シンボル +.Ar name +を定義します。 +.Em #define +ディレクティブと等価です。 +.It Fl I Ar dir +このオプションは、設定ファイルのためにプリプロセッサに渡されます。 +インクルードファイルを探すディレクトリを指定します。 +.It Fl U Ar name +シンボル +.Ar name +の初期定義を除去します。 +.Fl D +オプションの逆です。 +.It Ar config +1 個以上の設定ファイルを +.Nm fsinfo +の入力として渡します。 +.Pp .Nm -コマンドの詳細は、Amd --- The 4.4BSD Automounter に記述されています。 +コマンドの詳細は、Amd --- The 4.4BSD Automounter と +.Xr info 1 +の +.Nm amd +セクションに記述されています。 .Pp .Sh 関連項目 .Xr amd 8 , .Xr mount 8 , .Xr mountd 8 .Pp .Sh 歴史 .Nm -は 4.4BSD で追加されました。 +は +.Bx 4.4 +で追加されました。 diff --git a/ja/man/man8/ftpd.8 b/ja/man/man8/ftpd.8 index 5e23f0f3f9..978fe1b2c4 100644 --- a/ja/man/man8/ftpd.8 +++ b/ja/man/man8/ftpd.8 @@ -1,466 +1,466 @@ .\" Copyright (c) 1985, 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94 -.\" %Id: ftpd.8,v 1.25.2.1 1999/05/04 19:46:55 ghelmer Exp % +.\" %Id: ftpd.8,v 1.25.2.2 1999/06/28 10:53:44 mpp Exp % .\" .\" jpman %Id: ftpd.8,v 1.3 1997/09/08 07:23:46 kuma Stab % .Dd April 19, 1994 .Dt FTPD 8 .Os BSD 4.2 .Sh 名称 .Nm ftpd .Nd インターネットファイル転送プロトコルサーバ .Sh 書式 .Nm ftpd .Op Fl dl .Op Fl A .Op Fl D .Op Fl R .Op Fl S .Op Fl U .Op Fl T Ar maxtimeout .Op Fl t Ar timeout .Op Fl a Ar address .Op Fl p Ar file .Sh 解説 .Nm は、インターネットファイル転送プロトコルサーバプロセスです。 このサーバは .Tn TCP プロトコルを用いて、 .Dq ftp サービスに割り当てられたポートを listen() します。 .Dq ftp サービスについては、 .Xr services 5 を参照して下さい。 .Pp 利用可能なオプションは以下の通りです: .Bl -tag -width indent .It Fl d syslog の LOG_FTP のファシリティ (facility) を用いてデバッグ情報を出力します。 .It Fl l .Xr ftp 1 セッションそれぞれの結果を、成功も失敗もともども syslog の LOG_FTP のファシリティを用いて ログに残します。このオプションが 2 回指定されると、 retrieve (get), store (put), append, delete, make directory, remove directory, rename の各操作およびそれらの引数で指定された ファイル名も記録されます。 注意: LOG_FTP メッセージはデフォルトでは .Xr syslogd 8 によって表示されません。場合によっては .Xr syslogd 8 Ns の設定ファイルでそれを有効にしなければなりません。 .It Fl D このオプションがセットされると、 .Nm は制御端末を切り離してデーモンとなり、 FTP ポートへの接続要求を待ち、 子プロセスを生成して接続要求に対応します。 この方式は .Nm を .Xr inetd 8 から起動するよりオーバヘッドが少ないため、 処理量の多いサーバで負荷を低減するのに役立ちます。 .It Fl R このオプションがセットされると、 .Nm は、ユーザ操作のセキュリティチェックや PORT 要求の制限に関して 古き良き時代の振る舞いに戻ります。 現在では、 .Nm はリモートユーザのホストの非特権ポートに向けられた PORT コマンド だけを用います (これは FTP プロトコルの仕様に違反していますが、 いくつかのセキュリティホールを閉じることができます)。 .It Fl S このオプションがセットされると、 .Nm は匿名 (anonymous) による転送の全てについてのログを、ファイル .Pa /var/log/ftpd が存在する場合に限り、このファイルに残します。 .It Fl U 以前のバージョンの .Nm では、パッシブモードのクライアントがサーバにデータ接続を要求すると、 サーバは 1024 〜 4999 の範囲のデータポートを使用していました。 現在のバージョンでは、サーバはデフォルトでは 49152 〜 65535 の範囲の データポートを使用しますが、 このオプションを指定することにより、以前の振る舞いに戻ります。 .It Fl T クライアントは異なったタイムアウト秒数を要求することもできます。 .Fl T オプションにより、 .Ar タイムアウト までの最大待ち時間を設定できます。 デフォルトは 2 時間です。 .It Fl t 何も操作しないで放置した場合のタイムアウト時間を .Ar timeout 秒に設定します (デフォルトは 15 分)。 .It Fl a .Fl D オプションが指定されている場合、 .Ar address で指定されたアドレスに対する接続のみを許可します。 .It Fl p .Fl D オプションが指定されている場合、 デーモンのプロセス ID を .Ar file に書き出します。 .It Fl A 匿名 ftp アクセスのみ許可します。 .El .Pp ファイル .Pa /var/run/nologin は、ftp アクセスを拒否するのに使うことができます。 このファイルが存在する場合、 .Nm はそのファイルの内容を表示して終了します。 .Pa /etc/ftpwelcome ファイルが存在する場合、 .Nm は .Dq ready メッセージを表示する前にその内容を表示します。 もし .Pa /etc/ftpmotd ファイルが存在する場合、 ログイン成功後に .Nm はその内容を出力します。 使用される motd ファイルはログイン環境に対して相対であることに 注意してください。 つまり、匿名ユーザの場合には、 .Pa ~ftp/etc に存在することを意味じます。 .Pp この ftp サーバは、現在、以下の ftp リクエストをサポートしています。 リクエストの文字の大文字小文字の区別は無視されます。 .Bl -column "Request" -offset indent .It Sy リクエスト Ta Sy "説明" .It ABOR Ta "abort previous command" .It ACCT Ta "specify account (ignored)" .It ALLO Ta "allocate storage (vacuously)" .It APPE Ta "append to a file" .It CDUP Ta "change to parent of current working directory" .It CWD Ta "change working directory" .It DELE Ta "delete a file" .It HELP Ta "give help information" .It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" .It MKD Ta "make a directory" .It MDTM Ta "show last modification time of file" .It MODE Ta "specify data transfer" Em mode .It NLST Ta "give name list of files in directory" .It NOOP Ta "do nothing" .It PASS Ta "specify password" .It PASV Ta "prepare for server-to-server transfer" .It PORT Ta "specify data connection port" .It PWD Ta "print the current working directory" .It QUIT Ta "terminate session" .It REST Ta "restart incomplete transfer" .It RETR Ta "retrieve a file" .It RMD Ta "remove a directory" .It RNFR Ta "specify rename-from file name" .It RNTO Ta "specify rename-to file name" .It SITE Ta "non-standard commands (see next section)" .It SIZE Ta "return size of file" .It STAT Ta "return status of server" .It STOR Ta "store a file" .It STOU Ta "store a file with a unique name" .It STRU Ta "specify data transfer" Em structure .It SYST Ta "show operating system type of server system" .It TYPE Ta "specify data transfer" Em type .It USER Ta "specify user name" .It XCUP Ta "change to parent of current working directory (deprecated)" .It XCWD Ta "change working directory (deprecated)" .It XMKD Ta "make a directory (deprecated)" .It XPWD Ta "print the current working directory (deprecated)" .It XRMD Ta "remove a directory (deprecated)" .El .Pp 以下に示した非標準コマンドあるいは .Tn UNIX に特有のコマンドが、SITE リクエストでサポートされています。 .Pp .Bl -column Request -offset indent .It Sy リクエスト Ta Sy 説明 .It UMASK Ta change umask, e.g. ``SITE UMASK 002'' .It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60'' .It CHMOD Ta "change mode of a file, e.g. ``SITE CHMOD 755 filename''" .It HELP Ta give help information. .El .Pp Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のものは 解釈はされますがインプリメントされていません。 MDTM および SIZE は RFC 959 では規定されていませんが、次に改訂される FTP RFC には登場するでしょう。 .Pp ftp サーバがアクティブなファイル転送を中断するのは、ABOR コマンドの前に、 Telnet "Interrupt Process" (IP) シグナルか Telnet "Synch" シグナルが Telnet ストリーム内にある場合だけです。 これは Internet RFC 959 に記述されています。 もし、データの転送中に STAT コマンドを受けとり、その前に Telnet IP や Synch があった場合、転送ステータスが返されます。 .Pp .Nm は、 .Xr csh 1 で使われているファイル名展開を解釈します。これにより、 ユーザはメタキャラクタ .Dq Li \&*?[]{}~ を利用できます。 .Pp .Nm は、5 つのルールに従ってユーザの認証を行います。 .Pp .Bl -enum -offset indent .It ログイン名はパスワードデータベース になければならず、空のパスワードであってはいけません。 この場合、あらゆるファイルの操作に先だって、クライアント側からパスワードが 提供されていなければなりません。ユーザが S/Key のキーを持っている場合は、 USER コマンドが成功した際の応答には S/Key チャレンジを含めて送られます。 クライアントは、それに対して PASS コマンドを使って応答する際に、 通常のパスワードか S/Key のワンタイムパスワードのどちらをつけて応答 するかを選択できます。サーバはどちらのパスワードを受け取ったかを自動的に 判定し、それに応じて認証を試みます。S/Key の認証に関する詳細は .Xr key 1 を参照して下さい。S/Key は Bellcore 社の商標です。 .It ログイン名はファイル .Pa /etc/ftpusers に載っていてはいけません。 .It ログイン名はファイル .Pa /etc/ftpusers で指定されているグループのメンバであってはいけません。 このファイルでグループ名として解釈されるエントリの先頭には アットマーク .Ql \&@ が付きます。 .It ユーザは .Xr getusershell 3 が返す標準のシェルを持っていなければなりません。 .It ユーザ名がファイル .Pa /etc/ftpchroot に載っているか、そのファイルにあるグループエントリ (つまり .Ql \&@ で始まるエントリ) のメンバである場合、アカウント .Dq anonymous や .Dq ftp と同様、 .Xr chroot 2 によって、 そのセッションのルートディレクトリが ユーザのログインディレクトリに変ります (次の項目を参照して下さい)。 この機能は、 .Xr login.conf 5 でブール型フラグ "ftp-chroot" をオンにしても有効になります。 しかし、ユーザは依然、パスワードを与える必要があります。 この特徴は、完全に匿名 (anonymous) なアカウントと 完全な特権のあるアカウントの間での妥協的な利用のためのものです。 このアカウントは匿名アカウントで設定するのと同様に設定されていなければ なりません。 .It もしユーザ名が .Dq anonymous または .Dq ftp の場合は、匿名の ftp アカウントがパスワードファイル (ユーザ .Dq ftp ) で提供されていなければなりません。 この場合、ユーザはどのようなパスワードでもログインを許可されます (慣習としては ユーザの email アドレスをパスワードとして用いることになっています)。 .Fl S オプションがセットされていると、全ての転送操作も記録されます。 .El .Pp 最後のケースの場合、 .Nm は特別な手段でクライアントのアクセス権を制限します。 サーバは .Dq ftp ユーザのホームディレクトリへ .Xr chroot 2 します。 システムのセキュリティが侵害されないために、 .Dq ftp サブツリーは、以下の規則に従って慎重に構築することを推奨します。 .Bl -tag -width "~ftp/pub" -offset indent .It Pa ~ftp ホームディレクトリは .Dq root の所有とし、誰も書き込みできないようにします。 .It Pa ~ftp/bin このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 list コマンドのサポートのため、ここに .Xr ls 1 プログラムを置くことが必要です。 このプログラムのモードは 111 とすべきです。 .It Pa ~ftp/etc このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 .Xr ls が所有者を数字でなく名前で表示できるようにするために、 ファイル pwd.db ( .Xr passwd 5 参照) 及び .Xr group 5 が必要です。 ファイル .Xr passwd 中のパスワードは使用されませんので、本当のパスワードを入れてはいけません。 ファイル .Pa ftpmotd が存在すると、ログイン成功後、その内容が表示されます。 このファイルのモードは 444 とすべきです。 .It Pa ~ftp/pub このディレクトリのモードは 777、所有者は .Dq ftp とします。 ゲストユーザは、このディレクトリ中にあって匿名アカウントで アクセス可能なファイルをアクセスします。 .El .Pp システムに複数の IP アドレスがある場合、 .Nm は仮想ホストの概念をサポートします。 仮想ホストは、複数の匿名 ftp 領域それぞれを別々のインターネットアドレス に割り当てる機能を提供します。 ファイル .Pa /etc/ftphosts は各仮想ホストに関連した情報を保持します。 各ホストはそれぞれの行で定義され、 各行は空白で区切ったいくつかのフィールドからなります: .Bl -tag -offset indent -width hostname .It hostname 仮想ホストのホスト名あるいは IP アドレス。 .It user システムのパスワードファイル中のユーザレコードを含みます。 普通の匿名 ftp と同様に、このユーザのアクセス UID, GID および グループによって匿名 ftp 領域のファイルアクセス権が決まります。 匿名 ftp 領域 (ログイン時にユーザが chroot するディレクトリ) は、 そのアカウントに対するホームディレクトリとして決定されます。 他の ftp アカウントのユーザ ID およびグループも、 標準 ftp ユーザと同じであって構いません。 .It statfile 全てのファイル転送のログが記録されるファイル。デフォルトでは .Pa /var/log/ftpd です。 .It welcome サーバがプロンプトを出す前に表示される welcome メッセージ。デフォルトでは .Pa /etc/ftpwelcome です。 .It motd このファイル内容はユーザがログインした後に表示されます。デフォルトでは .Pa /etc/ftpmotd です。 .El .Pp 文字 '#' で開始する行は無視されますので、コメントを含むことが可能です。 .Pp プライマリ IP アドレスあるいはホスト名に対する仮想ホストを定義すると、 そのアドレスへの ftp ログインのデフォルト値が変更されます。 \&'user', 'statfile', 'welcome', 'motd' の各フィールドは デフォルト値を用いる場合、ブランクのままもしくはハイフン一つ \&'-' と しても構いません。 .Pp いかなる匿名ログインの設定についても言えることですが、 設定と保守には十分に注意を払い、セキュリティ上の問題をきたさないよう 防御しなければなりません。 .Pp .Em FTPD_INTERNAL_LS オプションをつけてコンパイルすると、 .Nm はリモートからのファイル一覧表示要求に対応するための内部サポートを用意し、 chroot された環境でもそれ以外でも .Pa /bin/ls を実行しなくなります。 この場合、 .Pa ~/bin/ls の実行形式ファイルは chroot されたディレクトリになくてよく、 .Pa ~/bin ディレクトリも存在する必要はありません。 このサポートは、 .Pa /etc/make.conf あるいはシェルの環境で .Em INTERNAL_LS 変数を設定して ftpd を作成することで追加されます。 .Sh 関連ファイル .Bl -tag -width /etc/ftpwelcome -compact .It Pa /etc/ftpusers 歓迎されない/制限を受けるユーザのリスト。 .It Pa /etc/ftpchroot chroot される一般ユーザのリスト。 .It Pa /etc/ftphosts 仮想ホストのための設定ファイル .It Pa /etc/ftpwelcome welcome メッセージ。 .It Pa /etc/ftpmotd login 後の welcome メッセージ。 .It Pa /var/run/nologin 内容を表示し、アクセスを拒否します。 .It Pa /var/log/ftpd 匿名による転送のログファイル。 .El .Sh 関連項目 .Xr ftp 1 , .Xr key 1 , .Xr getusershell 3 , .Xr login.conf 5 , .Xr inetd 8 , .Xr syslogd 8 .Sh バグ 特権ポート番号を用いてソケットを作成するために、 ftpd はスーパーユーザの権限で実行させて下さい。 サーバはログインユーザの実効ユーザ ID を保持しておき、 アドレスをソケットにバインドする場合にのみスーパユーザの権限を使います。 考えられるセキュリティホールについてはかなり詳細にわたって調べ込みをおこないましたが、 それでも不完全かもしれません。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja/man/man8/inetd.8 b/ja/man/man8/inetd.8 index 9d6d856bbe..6daa5de72b 100644 --- a/ja/man/man8/inetd.8 +++ b/ja/man/man8/inetd.8 @@ -1,538 +1,561 @@ .\" Copyright (c) 1985, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)inetd.8 8.3 (Berkeley) 4/13/94 -.\" %Id: inetd.8,v 1.22.2.1 1999/05/01 22:01:52 obrien Exp % +.\" %Id: inetd.8,v 1.22.2.2 1999/06/22 18:06:35 sheldonh Exp % .\" .\" jpman %Id: inetd.8,v 1.2 1997/05/16 07:22:24 yugawa Stab % .Dd February 7, 1996 .Dt INETD 8 .Os BSD 4.4 .Sh 名称 .Nm inetd .Nd インターネット .Dq スーパサーバ .Sh 書式 .Nm inetd .Op Fl d .Op Fl l .Op Fl c Ar maximum .Op Fl C Ar rate .Op Fl a Ar address .Op Fl p Ar filename .Op Fl R Ar rate .Op Ar configuration file .Sh 解説 .Nm は、ブート時に .Pa /etc/rc -の中で起動されます( +の中で起動されます ( .Xr rc 8 参照)。起動されると、 .Nm は定められたインターネットソケットを監視し、接続要求を待ちます。 監視しているソケットに対して接続要求が出されると、 .Nm はそのソケットに対応したサービスを 判定し、サービスを提供するプログラムを起動します。 サーバプログラムはサービスソケットを標準入力・標準出力・ エラー出力として起動されます。 サービスプログラムが完了すると、 .Nm -は再びソケットの監視を行ないます(後述するような例外もあります)。 +は再びソケットの監視を行ないます (後述するような例外もあります)。 .Nm を用いれば 1 つのデーモンで 複数のサービスプログラムを起動することができるので、 システムの負荷を軽減することができます。 .Pp .Nm は、起動時に以下のオプションを指定できます。 .Bl -tag -width indent .It Fl d デバッグモードにします。 .It Fl l ログをとります。 .It Fl c Ar maximum 起動可能なサービスのデフォルトにおける最大値を指定します。 サービスごとに指定される "max-child" パラメータによって上書きされ得ます。 .It Fl C Ar rate 1 分間に単一の IP アドレスから起動されるサービスのデフォルトにおける最大値 を指定します。 デフォルトは未設定です。 サービスごとに指定される "max-connections-per-ip-per-minute" パラメータによって上書きされ得ます。 .It Fl R Ar rate 1 分間に起動できる最大のサービス数を指定します。デフォルトは 256 です。 .It Fl a 監視する IP アドレスを指定します。 .It Fl p デフォルトとは異なるプロセス ID を保持するファイルを指定します。 .El .Pp .Nm は実行時に設定情報を設定ファイルから読み込みます。 デフォルトでは設定ファイルは .Pa /etc/inetd.conf です。 設定ファイルの各フィールドにはエントリが 1 つなければなりません。 各フィールドのエントリはタブやスペースで区切ります。 -コメントは行頭に ``#'' をつけます。 +コメントは行頭に +.Dq # +をつけます。 設定ファイルのフィールドは以下のものからなります: .Pp .Bd -unfilled -offset indent -compact サービス名 ソケットタイプ プロトコル {wait|nowait}[/最大子プロセス数[/IPあたりの分あたりの最大接続数]] ユーザ名[:クループ名][/ログインクラス名] サーバプログラム名 サーバプログラム引数 .Ed .Pp .No Tn "ONC RPC" ベースのサービスを記述する場合には、以下のエントリを記述します。 .Pp .Bd -unfilled -offset indent -compact サービス名/バージョン ソケットタイプ RPC/プロトコル ユーザ名 サーバプログラム名 サーバプログラム引数 .Ed .Pp .Nm が起動することのできるサービスは 2 種類あります。 1 つは標準で、もう 1 つは TCPMUX です。 標準サービスには割り当てられた well-known ポートがあります。 これは公式のインターネット標準を実装したサービスや BSD 特有のサービスです。 .Tn RFC 1078 に書かれているように、TCPMUX は非標準サービスであり、 well-known ポートが割り当てられていません。 そういった非標準サービスは、あるプログラムが .Dq tcpmux well-known ポートに接続してそのサービス名を指定したとき、 .Nm によって起動されます。 この機能はローカルに開発されたサーバを追加するときに 便利です。 TCPMUX リクエストが受理されるのは、 TCPMUX ベースのサーバに至るまでにおいて、 マルチプレクササービス自身が有効にされているときのみです。 後述の内部サービスに関する議論を参照してください。 .Pp .Em サービス名 のエントリには、 .Pa /etc/services ファイルに記述されているサービス名が記述されます。 .Dq 内部 サービス (後述) については、 名前としてそのサービスのオフィシャル名 (すなわち .Pa /etc/services -内の最初のエントリ)を指定 +内の最初のエントリ) を指定 .Em しなければなりません。 .No Tn "ONC RPC" ベースのサービスを指定するためには、このフィールドは .Pa /etc/rpc に書かれた有効な RPC サービス名でなければなりません。 .Dq / の右の部分が RPC のバージョン番号です。バージョン番号は、 -数字もしくは、バージョンの幅(レンジ)で指定します。 +数字もしくは、バージョンの幅 (レンジ) で指定します。 幅を指定する場合は低い番号から高い番号を指定します。たとえば .Dq rusers/1-3 のように記述します。 TCPMUX サービスでは、 .Em サービス名 のフィールドは、文字列 .Dq tcpmux 、スラッシュ、そしてローカルに選ばれたサービス名から なります。 .Pa /etc/services に書かれたサービス名と .Dq help は予約済であり、ローカルなサービス名には使用できません。 TCPMUX サービスのためにユニークな名前をつけるには、 頭に組織名をつけ、末尾にバージョン番号をつけるとよいでしょう。 .Pp .Em ソケットタイプ のエントリは、 .Dq stream , .Dq dgram , .Dq raw , .Dq rdm , .Dq seqpacket のいずれかである必要があります。それぞれ、ソケットが stream, datagram, raw, reliably delivered message, sequenced packet socket である場合に対応しています。 TCPMUX サービスは .Dq stream を使わなければなりません。 .Pp .Em プロトコル のエントリには、 .Pa /etc/protocols に記述されている有効なプロトコル名が記述されます。 例えば .Dq tcp や .Dq udp などです。 サービスが T/TCP 経由で到達可能とするためには、 .Dq tcp/ttcp を指定する必要があります。 RPC ベースのサービスの場合、 .Dq rpc/tcp や .Dq rpc/udp のような指定になります。 TCPMUX サービスは .Dq tcp を使わなければなりません。 .Pp .Em wait/nowait エントリは、 .Nm によって起動されたサーバがサービスアクセスポイントに 関連付けられたソケットを引き継ぐかどうか、すなわちサーバが終了するまで .Nm が新しいサービス要求を監視するのを待つ必要があるか否かを 指定します。 datagram サーバは、特定のサービスアドレスと結び付いた datagram ソケットで毎回起動されるため、 .Dq wait を使わなければなりません。こういったサーバは、終了する前に少なくとも 1 データグラムをソケットから読まなければなりません。 もし datagram サーバが相手に接続したときソケットを 開放するなら、 .Nm はソケットに対するメッセージをさらに受けることができます。 このようなサーバは .Dq マルチスレッド サーバと呼ばれます。 サーバはソケットから datagram を 1 つ読み込み、相手に接続する新しい ソケットをつくります。 サーバは fork() を行い、親プロセス側は終了なければいけません。 これにより .Nm は新しいサービス要求をチェックし、新しいサーバを起動することが できるようになります。 入って来る全ての datagram を処理し、 時間切れまで動作する datagram サーバは、 .Dq シングルスレッド サーバと呼ばれます。 .Xr comsat 8 , .Pq Xr biff 1 , .Xr talkd 8 は後者のタイプの datagram サーバの例です。 .Xr tftpd 8 はマルチスレッドで動く datagram サーバの例です。 .Pp stream ソケットを使うサーバは一般にマルチスレッドで動き .Dq nowait エントリを使います。 こういったサーバへの接続要求は .Nm で受け付けられ、新たに受理し、クライアントにつながった ソケットのみがサーバに与えられます。 多くの stream ベースのサービスはこのように行われます。 .Dq wait エントリを使う stream ベースのサーバは、 サービスのソケットを監視し、少なくとも 1 つの接続要求を受け入れてから 終了しなければなりません。 そういったサーバは通常、時間切れとなるまで、入って来る要求を 受け付け処理します。 TCPMUX サービスは .Dq nowait を使わなければなりません。 .Pp -``nowait'' サービスの子プロセス(あるいは ``スレッド'')の最大数は、 -``nowait'' キーワードの後に ``/'' と数字を付け加えることで指定できます。 -通常(あるいはゼロが指定された場合)、子プロセスの数に制限はありません。 +.Dq nowait +サービスの子プロセス (あるいは +.Dq スレッド +) の最大数は、 +.Dq nowait +キーワードの後に +.Dq / +と数字を付け加えることで指定できます。 +通常 (あるいは 0 が指定された場合)、子プロセスの数に制限はありません。 一方、最大数に達すると、それ以降の接続要求は、存在する子プロセスが終了するまで -待ち行列に蓄えられます。これは、``wait'' モードでも同様ですが、通常は -1 (デフォルトの値)以外は意味がありません。 +待ち行列に蓄えられます。これは、 +.Dq wait +モードでも同様ですが、通常は +1 (デフォルトの値) 以外は意味がありません。 指定した IP アドレスからの 1 分あたりの最大接続数を指定することも可能です。 -この場合、``/'' および最大子プロセス数を指定します。 +この場合、 +.Dq / +および最大子プロセス数を指定します。 最大値に達っした場合、指定した IP アドレスからの接続は、 この 1 分が経過するまで、落とされます。 .Pp .Em ユーザ名 エントリには、サーバを実行するユーザ名を書きます。 これによりサーバを root よりも低い権限で実行できます。 オプションの .Em グループ名 -部分は ``:'' で分けられ、 +部分は +.Dq \&: +で分けられ、 このユーザのデフォルトグループ以外のグループ名を指定可能です。 オプションの .Em ログインクラス名 -部分は ``/'' で分けられ、 -デフォルトの ``daemon'' 以外のログインクラス名を指定可能です。 +部分は +.Dq / +で分けられ、 +デフォルトの +.Dq daemon +以外のログインクラス名を指定可能です。 .Pp .Em サーバプログラム名 のエントリには、ソケットに要求があったとき .Nm が起動し、当該エントリのサービスを提供する サーバプログラムのパス名を指定します。 .Nm 内にすでに実装されているサービスを提供する場合には、サーバプログラムとして .Dq internal を指定します。 .Pp .Em サーバプログラム引数 のエントリは、サーバを起動する際の引数を、サーバプログラムの起動文字列 である argv[0] を含めて記述します。 .Nm 内に実装されているサービスを提供する場合には、サーバプログラム引数 として .Dq internal を指定します。 .Pp .Nm は、内蔵ルーチンを用いて簡単なサービスを自身で提供します。 これらのサービスとは .Dq echo , .Dq discard , .Dq chargen (文字生成), .Dq daytime (人間が読む形式で時間を出力します), .Dq time (機械可読形式の時間。1900 年 1 月 1 日 0 時からの経過秒数を出力します) です。 これらのサービスは TCP と UDP バージョンのいずれでも利用できます。 UDP バージョンは返事のポートとして内部サービスに相当するポートを 要求されたとき、サービスを拒否します。 (これはループ攻撃に対する防護です。リモート IP アドレスは記録されます。) これらのサービスの詳細については適当な .Tn RFC ドキュメントを参照して下さい。 .Pp TCPMUX のデマルチプレクスサービスもまた内部サービスとして実装されています。 TCPMUX ベースのサービスを動作させるためには、以下の行を .Pa inetd.conf に含む必要があります: .Bd -literal -offset indent tcpmux stream tcp nowait root internal .Ed .Pp .Fl l オプションが指定された場合、 .Nm は、 .Xr accept 2 が終了した時点で、選択されたサービスと要求を発したリモートの IP 番号を syslog に記録します。 .Pp .Dv SIGHUP を受けとると、 .Nm は、設定ファイルを再度読み込みます。設定ファイルを 再読み込みするとき、サービスを追加、削除、変更できます。 デバッグモードで起動された場合をのぞき、 .Nm は再設定を容易にするために、プロセス ID を .Pa /var/run/inetd.pid に記録します。 +.Sh 実装に関する注釈 .Pp TCP Wrappers サポートが提供されています; 関連する文書 ( .Xr hosts_access 5 ) を参照してください。この機能は組み込みであるため、 .Pa tcpd -デーモンは不要です。これにより、「内部」サービスも包むことができます。 +デーモンは不要です。 +.Dq 内部 +サービスを含むストリームベースのサービスのみを包むことができます。 .Sh TCPMUX .Pp .Tn RFC 1078 は TCPMUX プロトコルについて述べています。 「 TCP クライアントは他のホストに TCP ポート番号 1 で接続します。 クライアントは、サービス名にを付加して送ります。 サービス名は大文字/小文字を区別しません。 -サーバは、肯定(+)もしくは否定(\-)を表す 1 文字を返します。 +サーバは、肯定 (+) もしくは否定 (\-) を表す 1 文字を返します。 + あるいは \- のすぐ後にメッセージが続く場合があります。 返答は で終わります。もし返答が肯定で あれば、選択されたプロトコルが開始されます。 そうでなければ接続は切られます。」 プログラムにはファイルディスクプリタ 0 と 1 で TCP コネクションが 渡されます。 .Pp -TCPMUX サービス名が ``+'' で始まっているとき、 +TCPMUX サービス名が +.Dq + +で始まっているとき、 .Nm -は、プログラムに肯定返答(+)を返します。 +は、プログラムに肯定返答 (+) を返します。 これによって、 特別なサーバコードを追加することなく 標準入出力を使うプログラムを起動することができます。 .Pp 特別なサービス名である .Dq help により、 .Nm は .Pa inetd.conf にある TCPMUX サービスの一覧を出力します。 .Sh 関連ファイル .Bl -tag -width /var/run/inetd.pid -compact .It Pa /etc/inetd.conf 設定ファイル .It Pa /etc/rpc サービス名を RPC プログラム番号に変換するテーブル .It Pa /etc/services サービス名をポート番号に変換するテーブル .It Pa /var/run/inetd.pid 現在実行中の .Nm の pid .El .Sh 使用例 .Pp 次に、いくつかのサービスについて サービスエントリの 例を挙げておきます。 .Bd -literal ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l ntalk dgram udp wait root /usr/libexec/ntalkd ntalkd tcpmux/+date stream tcp nowait guest /bin/date date tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook rstatd/1-3 dgram rpc/udp wait root /usr/libexec/rpc.rstatd rpc.rstatd .Ed .Sh エラーメッセージ .Nm サーバは、 .Xr syslog 3 を使ってエラーメッセージを記録します。 重要なエラーメッセージと その説明は以下の通りです。 .Pp .Bl -ohang -compact .It Xo .Ar service Ns / Ns Ar protocol .No " server failing (looping), service terminated." .Xc 直前の 1 分間に、そのサービスについての要求数が制限に達しました。 不完全なプログラムや悪意のあるユーザがシステムを ハングアップさせないために、このような制限が設けられています。 このメッセージが出力される理由はいくつかあります。 .Bl -enum -offset indent .It 短時間の間に多くのホストがこのサービスを要求している。 .It 不完全なクライアントプログラムがサービスを 頻繁に要求しすぎている。 .It 悪意あるユーザがあるプログラムを起動し、 サービスが '拒否' されるように攻撃している。 .It 起動されたサービスプログラムにエラーがあり、 クライアントがすぐにリトライを起こしてしまう。 .El .Pp .Fl R Ar rate オプションを使うと、制限を変えることができます。 制限に達したとき、10 分経つとサービスは自動的に 再許可されます。 .Pp .It Xo .Ar service Ns / Ns Ar protocol : .No \&No such user .Ar user , .No service ignored .Xc .It Xo .Ar service Ns / Ns Ar protocol : .No getpwnam : .Ar user : .No \&No such user .Xc .Xr passwd 5 データベースに .Ar user のエントリーがありません。 最初のメッセージは .Nm -が設定ファイルを(再度)読み込むときに出されます。 +が設定ファイルを (再度) 読み込むときに出されます。 2 つ目のメッセージは、サービスが呼び出されたときに 出されます。 .Pp .It Xo .Ar service : .No can't set uid .Ar uid .Xc .It Xo .Ar service : .No can't set gid .Ar gid .Xc .Ar user フィールドのユーザ ID もしくは グループ IDが 無効です。 .Pp .It "setsockopt(SO_PRIVSTATE): Operation not supported" .Nm はそのソケットに設定されている特権状態を放棄しようとしましたが、 失敗しました。 .El .Sh 関連項目 .Xr hosts_access 5 , .Xr hosts_options 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr rpc 5 , .Xr services 5 , .Xr comsat 8 , .Xr fingerd 8 , .Xr ftpd 8 , .Xr portmap 8 , .Xr rexecd 8 , .Xr rlogind 8 , .Xr rshd 8 , .Xr telnetd 8 , .Xr tftpd 8 , .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 TCPMUX は Mark Lottor によるコードとドキュメントを元にしています。 .Tn "ONC RPC" ベースのサービスのサポートは、 .Tn SunOS 4.1 が供給されてから、 それにならって作られました。 .Tn FreeBSD の TCP Wrappers サポートが最初に登場したのは .Fx 3.2 です。 diff --git a/ja/man/man8/init.8 b/ja/man/man8/init.8 index cc34c06f34..2cf8d4d8ff 100644 --- a/ja/man/man8/init.8 +++ b/ja/man/man8/init.8 @@ -1,325 +1,368 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Donn Seeley at Berkeley Software Design, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)init.8 8.3 (Berkeley) 4/18/94 -.\" %Id: init.8,v 1.13 1998/12/16 16:50:12 ghelmer Exp % +.\" %Id: init.8,v 1.13.2.3 1999/07/05 18:13:11 mph Exp % +.\" .\" jpman %Id: init.8,v 1.2 1997/05/27 08:12:44 yugawa Stab % .\" .Dd April 18, 1994 .Dt INIT 8 .Os BSD 4 .Sh 名称 .Nm init .Nd プロセス制御の初期化を行う .Sh 書式 .Nm init +.Oo +.Cm 0 | 1 | 6 | +.Cm c | q +.Oc .Sh 解説 .Nm はブート処理の最後に起動されます。 .Nm は通常、 -.Xr reboot 8 +.Xr rc 8 で説明されている自動リブートシーケンスを実行します。それが成功すると、 システムはマルチユーザモードになります。 リブートスクリプトの実行に失敗すると、 .Nm はスーパユーザが使うシェルを起動してシングルユーザモードを 開始させます。 .Nm -プログラムは、ブートプログラムからのパラメータの指示を受けて、マルチユー -ザモードに移行せず、一般のデーモンを起動することなくシングルユーザモードの +プログラムは、ブートプログラムからのパラメータの指示を受けて、 +マルチユーザモードに移行せず、 +一般のデーモンを起動することなくシングルユーザモードの シェルを起動させることができます。 その場合、システムはメンテナンスのためのモードになり、 -シェルを抜ける (^D を入力する)ことで +シェルを抜ける (^D を入力する) ことで シングルユーザモードからマルチユーザモードになります。 これによって、 .Nm は .Pa /etc/rc -をファストブートモード(ディスクチェック省略)で実行します。 +をファストブートモード (ディスクチェック省略) で実行します。 .Pp もし .Xr ttys 5 ファイルの .Em console のエントリが -``insecure'' にマークされていた場合には、 +.Dq insecure +にマークされていた場合には、 .Nm はシングルユーザモードのシェルを起動する前に、スーパユーザのパスワードを 要求します。 パスワードチェックは、 .Em console -が ``secure'' にマークされていればスキップされます。 +が +.Dq secure +にマークされていればスキップされます。 .Pp カーネルは 4 種類のセキュリティレベルで走行します。どのスーパーユーザ プロセスもセキュリティレベルを上げることができますが、レベルを下げることが できるのは .Nm だけです。セキュリティレベルは以下のように定義されます: .Bl -tag -width flag .It Ic -1 常に危険なモード \- システムは常にレベル 0 モードで走行します。 これは初期値のデフォルトです。 .It Ic 0 -危険なモード \- 変更不可(immutable)フラグや追加のみ(append-only)フラグは +危険なモード \- 変更不可 (immutable) フラグや追加のみ (append-only) フラグは 無効にされます。 全てのデバイスは、そのパーミッションに従って読み書きされます。 .It Ic 1 安全なモード \- 変更不可フラグや追加のみのフラグは変更されません。 マウントされたファイルシステムのディスクおよび .Pa /dev/mem や .Pa /dev/kmem は read-only となります。 .It Ic 2 安全度の高いモード \- レベル 1 のモードの効果に加え、ディスクは マウントさていようといまいと、( .Xr mount 2 を除き) 常に read-only となります。 このレベルは、ファイルシステムをアンマウントして変更を加えることを不可能に します。また、システムがマルチユーザで走行中に .Xr newfs 8 を実行することも出来なくなります。 .It Ic 3 ネットワークの安全モード \- 安全度の高いモードに加え、 IP パケットフィルタルール ( .Xr ipfw 8 および .Xr ipfirewall 4 -参照) を変更不可能とし、dummynet の設定を修正不可能とします。 +参照) を変更不可能とし、 +.Xr dummynet 4 +の設定を修正不可能とします。 .El .Pp 初期のセキュリティレベルが -1 だった場合、 .Nm はセキュリティレベルを変更しません。 それ以外の場合、シングルユーザモードではレベル 0 で、マルチユーザモードでは レベル 1 で、システムは動作します。マルチユーザモードにおいてレベル 2 で システムを走らせたい場合は、シングルユーザの状態の間に、つまり、 .Pa /etc/rc の中で .Xr sysctl 8 を使って、変数 .Dq kern.securelevel に必要なセキュリティレベルの値を設定します。 .Pp マルチユーザモードの場合、 .Nm は .Xr ttys 5 ファイルで指示された端末ポートのためのプロセスを管理します。 .Nm はこのファイルを読み込み、2 番目のフィールドに指示されたコマンドを 実行します。 そのコマンドは通常、 .Xr getty 8 で、 .Nm getty はtty をオープン、初期化し、 .Xr login 1 プログラムを実行します。 .Nm login プログラムは、ユーザがログインするとシェルを起動します。ユーザが ログアウトするか異常終了するなどして、そのシェルが終了すると、 .Nm プログラムが起こされ、 .Xr utmp 5 ファイルからユーザを消し、 .Xr wtmp 5 ファイルにログアウトを記録します。 このサイクルは、 .Nm プログラムがその端末に新しい .Nm getty を実行することで繰り返されます。 .Pp ラインの状態 (on, off, secure, getty, ウィンドウの情報) は、 .Xr ttys 5 ファイルを書き換えて .Dq Li "kill -HUP 1" によってシグナル .Dv SIGHUP を .Nm に送ることで、リブートせずに変更できます。 このシグナルを受け取ると .Nm は .Xr ttys 5 ファイルを再度読み込みます。 .Xr ttys 5 でラインがオフにされると、 .Nm はそのラインに関係するセッションの制御プロセスに SIGHUP シグナルを送ります。 オフであったラインが .Xr ttys 5 ファイルでオンにされると、 .Nm は新しい .Nm getty を起動して、新しいログインを可能にします。 ラインの getty やウィンドウフィールドが変更された場合、その変更は現在 のログインセッションが終了するまで有効にはなりません。 (例えば、 .Nm によって新しいプロセスが起動されるまで有効にならない。) .Xr ttys 5 中のあるラインをコメントアウトあるいは削除した場合は、 .Nm はそのラインに関しては何も実行しません。 しかしこの場合、 .Xr ttys 5 ファイルと .Xr utmp 5 ファイル内の記録情報が一致しなくなるため、試すことはお勧めしません。 .Pp .Dq Li "kill \-TERM 1" などによって terminate シグナル .Pq Dv TERM を受けると、 .Nm はマルチユーザモードを終了し、シングルユーザモードに復帰します。 ハードウェアまたはソフトウェアの問題でデッドロックしたプロセスがある場合、 .Xr init -はすべてのプロセスの終了を待たず(これは無限に終らないかも知れません)、 +はすべてのプロセスの終了を待たず (これは無限に終らないかも知れません)、 30 秒間でタイムアウトして警告のメッセージを出力します。 .Pp terminal stop シグナル .Pq Dv TSTP -を送ると( +を送ると ( .Dq Li "kill \-TSTP 1" )、 .Nm は新しい .Xr getty を起動するのをやめ、徐々にシステム停止可能な状態にします。 その後、hangup シグナルで完全なマルチユーザモードに戻り、terminate シグナル でシングルユーザモードに移ります。 この hook は .Xr reboot 8 と .Xr halt 8 で使われています。 .Pp interrupt シグナル .Pq Dv INT -を送ると( +を送ると ( .Dq Li "kill \-INT 1" )、 .Nm -はすべてのプロセスを(デッドロックプロセスを待たずに)終了させ、 +はすべてのプロセスを (デッドロックプロセスを待たずに) 終了させ、 リブートを実行します。 この操作は、マシンがハングした時に、カーネルの中から、あるいは、X から、 システムを安全にシャットダウンするのに便利です。 .Pp +.Nm +は同じことを行いますが、ユーザ定義シグナル 1 +.Pq Dv USR1 +を送られた場合はマシンを停止し、 +ユーザ定義シグナル 2 +.Pq Dv USR2 +を送られた場合はマシンを停止してから電源を切ります (ハードウェアが許す場合)。 +.Pp マシンをシャットダウンする時、 .Nm は .Pa /etc/rc.shutdown スクリプトを実行しようとします。 このスクリプトは .Nm innd (インターネットニュースサーバ) のような特定のプログラムを綺麗に終了させるために使用可能です。 .Pp .Nm の役割は非常に重要で、もし .Nm が死ぬとシステムが自動的にリブートされます。 もしブート時に .Nm -プログラムを見つけられなければ、システムは以下のようなメッセージを出力 -して panic で終了します。 -``panic: init died (signal %d, exit %d)'' +プログラムを見つけられなければ、システムは +.Dq panic: init died (signal %d, exit %d) +のようなメッセージを出力して panic で終了します。 +.Pp +2 番目の書式行のようにユーザプロセスとして実行する場合、 +.Nm +は +.At V +の動作をエミュレートします。すなわち、スーパユーザがコマンドラインで +.Em ランレベル +を指定可能であり、 +.Nm +はオリジナルの +.Pq PID 1 +.Nm +に次のようなシグナルを送ります: +.Bl -column Run-level SIGTERM +.It Sy ランレベル シグナル 動作 +.It Cm 0 Ta Dv SIGUSR2 Ta "停止して電源切断" +.It Cm 1 Ta Dv SIGTERM Ta "シングルユーザモードへ移行" +.It Cm 6 Ta Dv SIGINT Ta "マシンを再起動" +.It Cm c Ta Dv SIGTSTP Ta "更なるログインを抑止" +.It Cm q Ta Dv SIGHUP Ta ファイル +.Xr ttys 5 +を再スキャン +.El .Sh 診断 .Bl -diag .It "getty repeating too quickly on port %s, sleeping" ラインにサービスを提供するプロセスが、起動されるたびにすぐ終了してしまう。 これは、端末ラインに着信があるかノイズが大きい場合にしばしば起こります。 -.Em "init は 10 秒間スリープし、" +.Em "init は 30 秒間スリープし、" .Em "その後、プロセスを開始させようとし続けます。" .Pp .It "some processes would not die; ps axl advised." シャットダウンの際、ハングしていて終了させられないプロセスがあります。 -この状態は、通常、デバイスに異常があるときにデバイスドライバではり付い +この状態は、通常、デバイスに異常があるときにデバイスドライバで貼り付い てしまうことにより起こります。 .El .Sh 関連ファイル -.Bl -tag -width /var/log/wtmp -compact +.Bl -tag -width /etc/rc.shutdown -compact .It Pa /dev/console システムのコンソールデバイス .It Pa /dev/tty* .Xr ttys 5 内にある端末ポート .It Pa /var/run/utmp 現在ログインしているのユーザの情報 .It Pa /var/log/wtmp すべてのログイン・ログアウトの情報 .It Pa /etc/ttys 端末の初期化情報が書かれたファイル .It Pa /etc/rc システム立ち上げ用スクリプト .It Pa /etc/rc.shutdown システムシャットダウン用スクリプト .El .Sh 関連項目 .Xr kill 1 , .Xr login 1 , .Xr sh 1 , +.Xr dummynet 4 , .Xr ipfirewall 4 , .Xr ttys 5 , .Xr crash 8 , .Xr getty 8 , .Xr halt 8 , .Xr ipfw 8 , .Xr rc 8 , .Xr reboot 8 , .Xr shutdown 8, .Xr sysctl 8 .Sh 歴史 .Nm コマンドは .At v6 から登場しました。 .Sh 注意 .Xr sysctl を持たないシステムは、セキュリティレベル \-1 で動作します。 .Pp ブートシーケンスにおいて、セキュリティレベルを 1 より高く設定するのがあまり にも早すぎると、 .Xr fsck 8 が一貫性のないファイルシステムを補修することを妨げてしまう可能性が あります。セキュリティレベル設定を行う場所として適切なところは、 全てのマルチユーザ立ち上げ処理が完了した後である、 .Pa /etc/rc の末尾です。 diff --git a/ja/man/man8/kget.8 b/ja/man/man8/kget.8 index b4d960a9bb..fcb9b2482b 100644 --- a/ja/man/man8/kget.8 +++ b/ja/man/man8/kget.8 @@ -1,77 +1,75 @@ .\" Copyright (c) 1999 Andrzej Bialecki .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: kget.8,v 1.1 1999/02/27 02:24:18 jkh Exp % +.\" %Id: kget.8,v 1.1.2.1 1999/06/21 10:22:27 jkoshy Exp % +.\" .\" jpman %Id: kget.8,v 1.3 1999/05/09 07:13:48 horikawa Stab % .\" .Dd Feb 20, 1999 .Dt KGET 8 -.Os FreeBSD 3.1 -.\" 3rd Berkeley Distribution は変だ。 .Os BSD 3 から修正: send-pr 済(99/5/6/) +.Os FreeBSD .Sh 名称 .Nm kget .Nd カーネルの変更情報を書き出す .Sh 書式 .Nm kget .Ar filename .Sh 解説 .Nm ユーティリティは、ユーザコンフィグ (-c) セッションで変更された すべてのデバイス設定情報を、見たり保存したりできるようにします。 もっとも典型的には、この情報は /boot/kernel.conf ファイルに書き込まれて、 /boot/loader.rc で ("load -t userconfig_script /boot/kernel.conf" として) 読み込まれます。これにより、 システムがブートする度にユーザが入力しなければいけない、 という手間を省くことができます。 .Pp .Nm はカーネルからデータを取り寄せるために .Xr sysctl 3 -.\" .Xt から .Xr に修正: send-pr 済(99/5/6) インタフェースを使います。 とにかく .Ar machdep.uc_devlist シンボルがないといけません。 もしないのであれば、このユーティリティを使う前に カーネルを更新する必要があるのでしょう。 .Pp 使用法: .Nm .Ar filename .Pp .Ar filename は通常のファイル (上書きされます) か、もしくは - です。 後者の場合は標準出力を使用します。 .Sh バグ きっといくつかあるでしょう。 .Sh 関連項目 .Xr sysctl 3 .Sh 歴史 .Nm コマンドは .An Andrzej Bialecki による PicoBSD 配布の一部として .Fx 3.1 に登場しました。 -.\" .Fx 3.1 を使うように変更: send-pr 済(99/5/6) diff --git a/ja/man/man8/kzip.8 b/ja/man/man8/kzip.8 index 8a0ea405b4..7934d26df2 100644 --- a/ja/man/man8/kzip.8 +++ b/ja/man/man8/kzip.8 @@ -1,76 +1,78 @@ .\" .\" Copyright (c) 1996 David E. O'Brien .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: kzip.8,v 1.5 1998/03/23 07:44:18 charnier Exp % +.\" %Id: kzip.8,v 1.5.2.1 1999/06/21 12:38:17 sheldonh Exp % +.\" .\" jpman %Id: kzip.8,v 1.3 1997/08/16 13:18:54 horikawa Stab % .\" .Dd August 15, 1996 .Os .Dt KZIP 8 .Sh 名称 .Nm kzip .Nd カーネルを圧縮する .Sh 書式 .Nm kzip .Op Fl v .Op Fl l Ar loadaddr +.Ar kernel .Sh 解説 このプログラムは、 .Xr gzip 1 を用いてカーネルを圧縮し、ディスク容量を節約します。 メモリ上にロードされた後の、メモリ使用量を減らすわけでは有りません。 シンボル情報は全て失われるので、利用法は限られます。 主な利用目的は、インストールフロッピや fixit フロッピ等のための カーネルを作成することです。 .Pp 次のオプションが利用可能です: .Bl -tag -width flag .It Fl v 詳細出力モード。圧縮後のカーネルが使用するメモリ量を報告します。 そのカーネルが 4MB 境界を越えていないことも確認できます。 .It Fl l Ar loadaddr カーネルをメモリ上にロードするアドレスを指定します。 .Sh 診断 .Nm ユーティリティは、与えられた引数が不正の場合、終了コード 1 で終了します。 終了コードが 2 である場合は、 .Nm がカーネルファイルを読めないか、処理できないことを示しています。 .Sh 関連項目 .Xr gzip 1 .\" .Sh 規格 .Sh 歴史 .Nm コマンドは .Fx 2.0.5 から登場しました。 Linux から 386BSD を経て取り込まれました。 Linus Torvalds の tools/build.c がベースになっており、 Serge Vakulenko が 386BSD に移植しました。 .Sh 作者 このマニュアルページは .An David E. O'Brien が記述しました。 .\" .Sh バグ diff --git a/ja/man/man8/loader.8 b/ja/man/man8/loader.8 index 2806cea420..b99100ec04 100644 --- a/ja/man/man8/loader.8 +++ b/ja/man/man8/loader.8 @@ -1,793 +1,797 @@ .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: loader.8,v 1.1.2.4 1999/05/22 13:22:17 rnordier Exp % +.\" %Id: loader.8,v 1.1.2.5 1999/06/23 09:19:19 ru Exp % .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. .\" .\" jpman %Id: loader.8,v 1.2 1999/05/07 11:24:21 horikawa Stab % -.\" revision 1.1.2.3 に追従済 (19990506 horikawa@jp.freebsd.org) .Dd March 14, 1999 .Dt LOADER 8 .Os .Sh 名称 .Nm loader .Nd システムブートストラップの第 3 段階 .Sh 解説 .Nm と呼ばれるプログラムは、 FreeBSD の 3 段階ブートストラップにおける、3 段目です。 これは .Xr libstand 3 に静的にリンクされた .Pa BTX クライアントであり、通常はディレクトリ .Pa /boot に置かれます。 .Pp また、作業自動化、事前設定、回復処理の補助に使用可能な、 スクリプト言語を提供します。 このスクリプト言語はおおまかに 2 つの主たる部分に分類されます。 小さな方は、通常のユーザが直接使用するようデザインされたコマンドの集合で、 歴史的な事情により「組み込みコマンド」と呼ばれます。 これらのコマンドを提供した背景には、 主としてユーザの使い勝手を改善する目的があります。 大きな部品は .Tn ANS Forth 互換の Forth インタプリタであり、 .An John Sadler の ficl をベースにしています。 .Pp 初期化において、 .Nm はコンソールを検出して .Va console 変数を設定します。 直前のブートステージにシリアルコンソールを使用した場合には、 この変数をシリアルコンソール .Pq Dq comconsole に設定します。 その後、デバイスをプローブし、 .Va currdev と .Va loaddev を設定し、 .Va LINES を 24 に設定します。 次に .Tn FICL が初期化され、組み込み語が語彙に追加され、存在する場合には .Pa /boot/boot.4th が処理されます。 このファイルが読み込まれるまで、ディスクの交換はできません。 .Nm が .Tn FICL とともに使用する内部インタプリタは .Ic interpret に設定されます。これは .Tn FICL のデフォルトです。 この後、使用可能な場合 .Pa /boot/loader.rc が処理され、そうでない場合には歴史的な理由で .Pa /boot/boot.conf が読み込まれます。 これらのファイルは .Ic include コマンドを介して処理されます。 このコマンドは、 処理前にファイル内容すべてをメモリに読み込みますので、 ディスク交換が可能となります。 .Pp この時点で、 .Ic autoboot が試されていない場合でかつ .Va autoboot_delay が .Dq NO (大文字小文字は区別しません) に設定されていない場合、 .Ic autoboot が試されます。 システムがこの時点まで到達した場合、 .Va prompt が設定され、 .Nm は対話モードになります。 .Sh 組み込みコマンド .Nm の組み込みコマンドは、パラメータをコマンドラインから受け取ります。 現在、スクリプトからの呼び出し方法は、文字列上で .Pa evaluate を使用することだけです。 エラー状態が発生すると、 .Tn ANS Forth 例外操作語でインタセプト可能な例外が生成されます。 インタセプトされない場合、エラーメッセージが表示され、 インタプリタの状態がリセットされます。 これにより、スタックが空になりインタプリタのモードが元に戻ります。 .Pp 使用可能な組み込みコマンドは次の通りです: .Pp .Bl -tag -width Ds -compact -offset indent .It Ic autoboot Op Ar seconds ユーザが割り込まない場合には、 指定した秒数の後にシステムのブートストラップへ進みます。 キーが押されて割り込まれるまで、 カウントダウンプロンプトを表示し、 ユーザに対してシステムがブートするところであることを警告します。 必要であれば、最初にカーネルがロードされます。 デフォルトは 10 秒です。 .Pp .It Ic bcachestat ディスクキャッシュの使用状況を表示します。 デバッグのためだけにあります。 .Pp .It Ic boot .It Ic boot Ar kernelname Op Cm ... .It Ic boot Fl flag Cm ... システムのブートストラップへすぐに進み、 必要であればカーネルをロードします。 すべてのフラグまたは引数はカーネルに渡されますが、 カーネル名が指定された場合、これらはカーネル名の後にある必要があります。 .Pp .It Ic echo Xo .Op Fl n .Op Aq message .Xc 画面にテキストを表示します。 .Fl n を指定しない場合、改行が表示されます。 .Pp .It Ic heap メモリ使用状況が表示されます。デバッグ目的のためだけにあります。 .Pp .It Ic help Op topic Op subtopic ヘルプメッセージを .Pa /boot/loader.help から読み込んで表示します。 特殊トピック .Em index は、使用可能なトピックを表示します。 .Pp .It Ic include Ar file Op Ar スクリプトファイルを処理します。 各ファイルは、順番がまわって来たところで完全にメモリに読み込まれ、 各行がコマンドラインインタプリタに渡されます。 インタプリタがエラーを返すと、 他のファイルは読み込まずに include コマンドは即時に異常終了し、 自身にエラーを返します ( .Sx エラー 参照)。 .Pp .It Ic load Xo .Op Fl t Ar type .Ar file Cm ... .Xc カーネル、カーネルローダブルモジュール (kld)、内容を問わず .Ar type とタグ付けされているファイルのいずれかをロードします。 カーネルとモジュールは、a.out または elf のどちらの形式であってもかまいません。 ロードされるファイルの後で渡される引数は、 そのファイルに対する引数として渡されます。 現在のところ、これはカーネルに対しては動作しないことに注意してください。 .Pp .It Ic ls Xo .Op Fl l .Op Ar path .Xc ディレクトリ .Ar path 、または .Ar path を指定しなかった場合にはルートディレクトリのファイル一覧を表示します。 .Fl l を指定すると、ファイルの大きさも表示します。 .Pp .It Ic lsdev Op Fl v モジュールのロード元となりうるデバイスをすべて表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic lsmod Op Fl v ロード済のモジュールを表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic more Ar file Op Ar .Va LINES 行を表示するごとに停止しながら、指定したファイルを表示します。 .Pp .It Ic pnpscan Op Fl v プラグアンドプレイデバイスをスキャンします。 現在のところ動作しません。 .Pp .It Ic read Xo .Op Fl t Ar seconds .Op Fl p Ar prompt .Op Va variable .Xc 入力行を端末から読み込み、 .Va variable が指定された場合にはこれに読み込み結果を格納します。 タイムアウトは .Fl t で指定可能ですが、これは最初に押されるキーにより打ち消されます。 プロンプトもまた .Fl p フラグにより表示可能です。 .Pp .It Ic reboot 即時にシステムをリブートします。 .Pp .It Ic set Ar variable .It Ic set Ar variable Ns = Ns Ar value ローダの環境変数を設定します。 .Pp .It Ic show Op Va variable 指定した変数の値を表示します。 .Va variable を指定しないと、すべての変数とその値を表示します。 .Pp .It Ic unload 全モジュールをメモリから取り除きます。 .Pp .It Ic unset Va variable .Va variable を環境から取り除きます。 .Pp .It Ic \&? .Dq help index と同じです。 .Pp .El .Ss 組み込みの環境変数 .Nm は実際のところ、異なった 2 種類の .Sq 環境 変数を持ちます。 それは、ANS Forth の .Em 環境問い合わせ と、別の空間であり組み込みコマンドが使用する環境変数です。 後者は Forth の語としては直接使用できません。 この節で説明するのは、後者です。 .Pp 環境変数の設定および設定解除は、 .Ic set と .Ic unset の組み込みコマンドを介して行います。これらの値は、 .Ic show 組み込みコマンドを使用して対話的に検査できます。 これらの値は、 .Sx 組み込みパーザ で説明する方法でもまたアクセス可能です。 .Pp この環境変数は、システムブート後にシェルに継承されないことに注意してください。 .Pp 数個の変数が .Nm により自動的に設定されます。 他の変数は、 .Nm またはブート時のカーネル動作に影響し得ます。 これらのうち値を要求するものがある一方、 設定されるだけで動作を定義するものもあります。 これらを以下に示します。 .Bl -tag -width bootfile -offset indent .It Va autoboot_delay .Ic autoboot がブート前に待つ秒数です。この変数が定義されていない場合、 .Ic autoboot はデフォルトの 10 秒になります。 .Pp .Dq NO に設定すると、 .Pa /boot/loader.rc の処理の後に .Ic autoboot を自動的には試みなくなります。 しかし、明示的に .Ic autoboot を指定すると、デフォルトの 10 秒の遅延の後に通常通り処理されます。 .It Va boot_askname カーネルブート時にルートデバイス名をユーザに尋ねるように、 カーネルに指示します。 .It Va boot_ddb ブート時に初期化に進むのではなく DDB デバッガを開始するように、 カーネルに指示します。 .It Va boot_gdb gdb リモートモードを、カーネルデバッガのデフォルトとして選択します。 .It Va boot_single カーネルがマルチユーザスタートアップを開始することを防ぎ、 カーネルがデバイスプローブを完了したときにはシングルユーザモードになります。 .It Va boot_userconfig カーネルブート時に カーネルの対話的なデバイス設定プログラムを実行するよう要求します。 .It Va boot_verbose この変数を設定すると、 ブートフェーズ中に追加のデバッグ情報をカーネルが表示します。 .It Va bootfile セミコロンで区切った検索パスのリストであり、 ここからブート可能なカーネルを探します。 デフォルトは .Li Dq kernel;kernel.old です。 .It Va console 現在のコンソールを定義します。 .It Va currdev デフォルトデバイスを選択します。デバイスの文法は奇妙なものです。 +.It Va init_path +カーネルが初期プロセスとして実行しようとすべきバイナリのリストを指定します。 +デフォルトは +.Li Dq /sbin/init:/sbin/oinit:/sbin/init.bak:/stand/sysinstall +です。 .It Va interpret Forth の現在の状態がインタプリタの場合、 .Li Dq ok という値を持ちます。 .It Va LINES 画面上の行数を定義します。ページャが使用します。 .It Va module_path モジュールを検索するディレクトリのリストを設定します。 モジュール名は、load コマンドまたは依存関係により暗黙的に指定されます。 この変数のデフォルト値は .Li Dq /;/boot;/modules です。 .It Va num_ide_disks IDE ディスクの数を設定します。 これは、ブート時にルートディスクを見つけることに関する問題への対処です。 .Va root_disk_unit により価値が低下しています。 .It Va prompt .Nm のプロンプトの値です。 デフォルトは .Li Dq "${currdev}>" です。 .It Va root_disk_unit ルートディスクのディスクユニット番号を検出するコードが混乱する場合、 この変数を設定することでユニット番号を強制可能です。 混乱するのは、例えば SCSI と IDE のディスクを両方持つ場合や、 IDE ディスクの並びに隙間がある場合 (プライマリスレーブが無い場合など) です。 .It Va rootdev デフォルトでは、カーネルブート時にルートファイルシステムの設定には .Va currdev が使用されます。 これは .Va rootdev を明示的に設定することによりオーバライド可能です。 .El .Pp 他の変数を使用することにより、 カーネルの調整可能なパラメータをオーバライド可能です。 次の調整可能な変数が使用可能です: .Bl -tag -width Va -offset indent .It Va kern.ipc.nmbclusters 割り当てられる mbuf クラスタ数を設定します。 カーネルコンパイル時に決定されたデフォルト値より小さくは、設定できません。 .Va NMBCLUSTERS を変更します。 .It Va kern.vm.kmem.size カーネルメモリの大きさ (バイト) を設定します。 カーネルコンパイル時に決定された値に、完全に優先します。 .Va VM_KMEM_SIZE を変更します。 .It Va machdep.pccard.pcic_irq 通常時に PCCARD コントローラに割り当てられる IRQ をオーバライドします。 典型的には、最初に利用可能な割り込みが割り当てられてしまい、 他のハードウェアと衝突してしまうかもしれません。 この値を 0 に設定すると、割り込みは割り当てられず、 コントローラはポーリングモードのみで動作します。 .It Va net.inet.tcp.tcbhashsize .Va TCBHASHSIZE のコンパイル時の設定値をオーバライドするか、 デフォルトの 512 にプリセットします。 2 のべき乗である必要があります。 .El .Ss 組み込みパーザ 組み込みコマンドが実行されるとき、 行の残りはコマンドが引数として受け取り、 通常の Forth コマンドには使用されない特別なパーザがコマンドを処理します。 .Pp この特別なパーザは、解析したテキストに対して次のルールを適用します: .Pp .Bl -enum .It すべてのバックスラッシュ文字は前処理されます。 .Bl -bullet .It \eb , \ef , \er , \en, \et は C の .Fn printf のように処理されます。 .It \es は空白文字に変換されます。 .It \ev は .Tn ASCII の 11 に変換されます。 .It \ez は単にスキップされます。 .Dq \e0xf\ez\e0xf のように使用すると便利です。 .It \e0xN と \e0xNN は 16 進数の N と NN に変換されます。 .It \eNNN は 8 進数 NNN の .Tn ASCII 文字に変換されます。 .It \e" , \e' , \e$ は、これらの文字をエスケープし、 後述するステップ 2 における特殊な意味を与えられないようにします。 .It \e\e は単一の \e に変換されます。 .It 他の場合、バックスラッシュは単に取り除かれます。 .El .It エスケープされていないクォートまたはダブルクォートの間のすべての文字列は、 後続するステップにおいて単一の語として扱われます。 .It .Li $VARIABLE または .Li ${VARIABLE} は、環境変数 .Va VARIABLE の値に変換されます。 .It 空白で区切られた複数の引数を、呼び出した組み込みコマンドへ渡します。 空白は \e\e を使用することによりエスケープ可能です。 .El .Pp 解析ルールには例外があり、これは .Sx 組み込み語と FORTH で説明します。 .Ss 組み込み語と FORTH すべての組み込み語は、状態を意識する即時実行語です。 インタプリトされると、これらは前述の通りに振舞います。 一方コンパイルされると、 引数をコマンドラインからではなくスタックから取り出します。 .Pp コンパイルされると、 実行時に組み込み語は、スタック上で次のパラメータを見付けられると期待します: .D1 Ar addrN lenN ... addr2 len2 addr1 len1 N ここで .Ar addrX lenX は文字列であり、組み込み語の引数として解釈されるコマンドラインを構成します。 内部的には、おのおのの間に空白を狭んで、 これらの文字列は 1 から N まで結合されます。 .Pp 引数が渡されない場合、組み込み語が引数を受け付けない場合であっても、 単一の 0 を渡す .Em 必要 があります。 .Pp この動作には利点がありますが、それ自身にはトレードオフがあります。 組み込み語の実行トークンが ( .Ic No ' または .Ic No ['] を通して) 得られて、 .Ic catch または .Ic execute に渡された場合、組み込み語の動作は .Bf Em .Ic catch または .Ic execute が実行されるときの .Ef システムの状態に依存します ! これは、 例外を扱いたいまたは扱う必要があるプログラムにとっては、特に悩ましいものです。 この場合、代理 (proxy) を使用することをお勧めします。 例えば次のようにします: .Dl : (boot) boot ; .Sh FICL .Tn FICL は C で記述された Forth インタプリタであり、 C の関数などとして呼び出し可能な forth 仮想マシンライブラリの形式です。 .Pp .Nm では、対話的に読み込まれた各行は .Tn FICL に与えられます。 .Tn FICL は、組み込み語を実行するために .Nm を呼び戻します。 組み込みの .Ic include もまた、1 度に 1 行ずつを .Tn FICL へ与えます。 .Pp .Tn FICL へ使用可能な語は 4 グループへ分類可能です。それは、 .Tn ANS Forth 標準語、追加の .Tn FICL 語、追加の .Os 語、そして組み込みコマンドです。 最後のものは既に説明しました。 .Tn ANS Forth 標準語は、 .Sx 規格 の節に列挙しています。 別の 2 グループの語については、以降の小節において説明します。 .Ss FICL 追加語 .Bl -tag -width wid-set-super -offset indent .It Ic .env .It Ic .ver .It Ic -roll .It Ic 2constant .It Ic >name .It Ic body> .It Ic compare This is the STRING word set's .Ic compare . .It Ic compile-only .It Ic endif .It Ic forget-wid .It Ic parse-word .It Ic sliteral This is the STRING word set's .Ic sliteral . .It Ic wid-set-super .It Ic w@ .It Ic w! .It Ic x. .It Ic empty .It Ic cell- .It Ic -rot .El .Ss FREEBSD 追加語 .Bl -tag -width XXXXXXX -offset indent .It Ic tib> Pq -- Ar addr len 入力バッファの残りを、スタック上の文字列として返します。 .It Ic \&% Pq -- .Ic catch 例外ガード下の、入力バッファの残りを評価します。 .It Ic \&$ Pq -- 入力バッファの残りを表示した後、評価します。 .It Ic fopen Pq Ar addr len -- fd ファイルをオープンします。ファイル記述子を返します。 失敗時には -1 を返します。 .It Ic fclose Pq Ar fd -- ファイルをクローズします。 .It Xo .Ic fread .Pq Ar fd addr len -- len' .Xc ファイル .Em fd から .Em len バイトを、バッファ .Em addr へ読み込もうとします。 実際に読み込んだバイト数を返します。 エラー時またはファイルの終了の場合には -1 を返します。 .It Ic fload Pq Ar fd -- ファイル .Em fd を処理します。 .It Ic fkey Pq Ar fd -- char ファイルから 1 文字読み込みます。 .It Ic key Pq -- Ar char コンソールから 1 文字読み込みます。 .It Ic key? Pq -- Ar flag コンソールから読み込み可能な文字がある場合、 .Ic 真 を返します。 .It Ic ms Pq Ar u -- .Em u マイクロ秒待ちます。 .It Ic seconds Pq -- Ar u 深夜 0 時からの秒数を返します。 .It Ic trace! Pq Ar flag -- トレースを有効または無効にします。 .Ic catch とともには動作しません。 .It Ic outb Pq Ar port char -- ポートへバイトを書き込みます。 .It Ic inb Pq Ar port -- char ポートからバイトを読み込みます。 .El .Ss FREEBSD で定義される環境問い合わせ .Bl -tag -width Ds -offset indent .It arch-i386 アーキテクチャが IA32 の場合 .Ic 真 です。 .It arch-alpha アーキテクチャが AXP の場合 .Ic 真 です。 .It FreeBSD_version コンパイル時の .Fx バージョンです。 .It loader_version .Nm のバージョンです。 .El .Ss システム文書 .Sh 関連ファイル .Bl -tag -width /dev/loader.helpX -compact .It Pa /boot/loader .Nm 自身。 .It Pa /boot/boot.4th 追加の .Tn FICL の初期化。 .It Pa /boot/boot.conf .Nm のブートストラップスクリプト。価値が低下しています。 .It Pa /boot/loader.rc .Nm のブートストラップスクリプト。 .It Pa /boot/loader.help .Ic help がロードします。 ヘルプメッセージを含みます。 .El .Sh 使用例 シングルユーザモードでブートします: .Pp .Dl boot -s .Pp カーネルのユーザ設定ファイルをロードします。 他の .Ic load コマンドを試みる前にカーネルをロードする必要があることに注意してください。 .Pp .Bd -literal -offset indent -compact load kernel load -t userconfig_script /boot/kernel.conf .Ed .Pp カーネルと起動画面をロードし、5 秒以内に自動ブートします。 .Pp .Bd -literal -offset indent -compact load kernel load splash_bmp load -t splash_image_data /boot/chuckrulez.bmp autoboot 5 .Ed .Pp ルートデバイスのディスクユニットを 2 に設定し、ブートします。 IDE ディスクが 2 台のシステムで、 2 台目の IDE が wd1 ではなく wd2 に固定されているシステムにおいて、 必要となるでしょう。 .Pp .Bd -literal -offset indent -compact set root_disk_unit=2 boot /kernel .Ed .Pp 次を参照してください: .Bl -tag -width /usr/share/examples/bootforth/X .It Pa /boot/loader.4th 追加の組み込み的な語について。 .It Pa /boot/support.4th .Pa loader.conf が処理する語について。 .It Pa /usr/share/examples/bootforth/ 分類された使用例。 .El .Sh エラー 次の値を .Nm は返します: .Bl -tag -width XXXXX -offset indent .It 100 組み込みコマンド処理において任意のタイプのエラーが発生しました。 .It -1 .Ic Abort が実行されました。 .It -2 .Ic Abort" が実行されました。 .It -56 .Ic Quit が実行されました。 .It -256 インタプリトするテキストがありません。 .It -257 成功するためには更なるテキストが必要です -- 次の実行で終了します。 .It -258 .Ic Bye が実行されました。 .It -259 未定義エラー。 .El .Sh 関連項目 .Xr libstand 3 , .Xr loader.conf 5 , .Xr boot 8 , .Xr btxld 8 .Sh 規格 ANS Forth 互換性の観点では、loader は .Bf Em 環境に制限がある ANS Forth System です。 Core Extensions 語集合からは、 .Ef .Bf Li .No .( , .No :noname , .No ?do , parse, pick, roll, refill, to, value, \e, false, true, .No <> , .No 0<> , compile\&, , erase, nip, tuck, maker .Ef .Bf Em を提供しています。 Exception Extensions 語集合を提供しています。 Locals Extensions 語集合を提供しています。 Memory-Allocation Extensions 語集合を提供しています。 Programming-Tools 拡張語集合からは .Ef .Bf Li \&.s , bye, forget, see, words, \&[if] , \&[else] , \&[then] .Ef .Bf Em を提供しています。 Search-Order 拡張語集合を提供しています。 .Ef .Sh 歴史 .Nm が最初に登場したのは .Fx 3.1 です。 .Sh 作者 .Bl -item .It .Nm は .An Michael Smith Aq msmith@freebsd.org が記述しました。 .It .Tn FICL は .An John Sadler Aq john_sadler@alum.mit.edu が記述しました。 .El .Sh バグ .Tn FICL は大文字小文字を区別します。 これは標準違反ではありませんが、 すべての Forth の語は小文字ですから、 結果として標準違反となります。 このバグに依存しないようにしてください。 .Pp .Ic expect と .Ic accept の語は、コンソールからではなく入力バッファから読み込みます。 後者については修正されますが、前者は修正されません。 diff --git a/ja/man/man8/pccardd.8 b/ja/man/man8/pccardd.8 index 42513b7216..f706d99ac6 100644 --- a/ja/man/man8/pccardd.8 +++ b/ja/man/man8/pccardd.8 @@ -1,154 +1,155 @@ .\" .\" Copyright (c) 1994 Andrew McRae. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: pccardd.8,v 1.10.2.1 1999/03/01 22:05:30 kuriyama Exp % +.\" %Id: pccardd.8,v 1.10.2.2 1999/06/26 23:18:32 mpp Exp % +.\" .\" jpman %Id: pccardd.8,v 1.4 1997/07/26 22:04:06 horikawa Stab % .\" .Dd November 1, 1994 -.Dt PCCARD 8 +.Dt PCCARDD 8 .Os FreeBSD .Sh 名称 .Nm pccardd .Nd PC-CARD (PCMCIA) 管理デーモン .Sh 書式 .Nm pccardd .Op Fl d .Op Fl v .Op Fl f Ar configfile .Sh 解説 .Nm は、普通ブート時に始動され、 PC-CARD カードの抜き差しを管理します。 .Pp 実行されると、 .Nm は (デフォルト名が .Pa /etc/pccard.conf の) 設定ファイルを読み込み、カードのために利用可能な PC-CARD スロット をスキャンします。 .Nm は、その後、例えば新しいカードの挿入やカードの取り外しのような、 .Em "カードイベント" を待ちます。 .Pp カードが挿入された時、以下のような動作が行われます。 .Bl -enum .It カーネルドライバはカードの挿入を検出し、カードに電源を供給します。 .It .Nm は、 .Em CIS データをカードの属性メモリから読み込み、製造者名とカードの バージョンを設定ファイルのカード記述と照合します。 .It マッチするものが見付かると、ドライバが割り当てられます。 .It ひとたび自由なドライバとデバイス実体が割り当てられると、 .Nm は (必要であれば) ISA メモリブロックや入出力ポートのような資源を 共通の資源から割り当てます。 .It PC-CARD スロットは、割り当てられた I/O とメモリコンテキストによって 設定され、カーネルドライバがカードに割り当てられます。 .It 割当が成功すると、例えばネットワークインタフェースを設定するための .Xr ifconfig 8 等のような 特定のシェルコマンドがデバイスを設定するために実行されます。 それぞれ別々のコマンドを各カード・ドライバ・デバイスのために指定して良く、 その順序で実行されます。 .El .Pp .Nm がカードの除去を発見した時には、以下の一連の操作が実行されます。 .Bl -enum .It カード除去に対して割り当てられたシェルコマンドが実行されます。 これは、除去されたカードに割り当てられたどんなデバイスも リセットしようとします。 それぞれ別々のコマンドを各カード・ドライバ・デバイスのために指定して良いです。 .It PC-CARD スロット資源は解放されます。 .El .Pp ひとたびカード/ドライバ実体が設定されると、 その実体に割り当てた資源を憶えておきます。 そして、カードが取り外され再び挿入された場合、 同じドライバを割り当てます。この主な理由は、一度ドライバがカードに 割り当てられると、ドライバの .Fn 検査 (prove) ルーチンが呼ばれ、 ドライバ固有のデータ領域は カードに割り当てられた I/O ポートやメモリ資源によって初期化されるからです。 大多数のドライバは、ハードウエアから関連を解消されたり、その後で再び 違うパラメータで再割当されるように設計されていません。 これは、読み込み可能カーネルモジュールがサポートされた時に大きく変わ るでしょう。 .Pp .Nm が理解する実行時オプションは以下の通りです。 .Bl -tag -width Ds .It Fl d デーモンとして実行せず、フォアグランドジョブとして実行し、 エラーメッセージを表示します。 .It Fl v 設定ファイルを読み込んだ後で、そのまとめを出力します。 .It Fl f Ar configfile デフォルト設定ファイル .Pa /etc/pccard.conf とは異なった設定ファイルを指定します。 ファイルの形式は、 .Xr pccard.conf 5 に詳細に記述されていますし、 .Nm によって認識される PC-CARD カードがリストされています。 また、カードへのインタフェースとして使われるカーネルドライバと デバイスについても詳細に書かれています。 .Pp .Sh 関連ファイル .Bl -tag -width /etc/pccard.conf -compact .It Pa /etc/pccard.conf .El .Sh 関連項目 .Xr pccard.conf 5 , .Xr ifconfig 8 .Sh 作者 .An Andrew McRae Aq andrew@mega.com.au によって開発されました。 .Sh バグ .Nm はカードのパラメータを設定することができますが、 特定のドライバがカードと動作することを保証しません。 .Pp .Nm FreeBSD は、現在読み込み可能カーネルモジュールをサポートしていないため、 設定ファイル中のすべての .Em irq 設定は、カーネルの .Nm config エントリにマッチする必要が有ります。 .Pp システム資源 (例えばネットワークマウントされているファイルシステム) が カードに関連している場合は、カードを取り外すと問題が起こるかも知れません。 diff --git a/ja/man/man8/reboot.8 b/ja/man/man8/reboot.8 index de2fc62bff..6389c290ed 100644 --- a/ja/man/man8/reboot.8 +++ b/ja/man/man8/reboot.8 @@ -1,111 +1,121 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)reboot.8 8.1 (Berkeley) 6/9/93 -.\" %Id: reboot.8,v 1.5 1998/07/15 06:51:37 charnier Exp % +.\" %Id: reboot.8,v 1.5.2.1 1999/06/23 10:24:49 ru Exp % +.\" .\" jpman %Id: reboot.8,v 1.3 1997/06/06 11:35:27 bobson Stab % .\" .Dd June 9, 1993 .Dt REBOOT 8 .Os .Sh 名称 .Nm reboot , .Nm halt .Nd システムを停止し、再起動する .Sh 書式 .Nm halt .Op Fl nqp .Nm reboot .Op Fl nqp .Nm fasthalt .Op Fl nqp .Nm fastboot .Op Fl nqp .Sh 解説 .Nm halt と .Nm は、ファイルシステムのキャッシュをディスクへ書き出し、 -すべての実行中のプロセスに SIGTERM を -(そして、それに続いて SIGKILL を) 送ります。 +すべての実行中のプロセスに +.Dv SIGTERM +を +(そして、それに続いて +.Dv SIGKILL +を) 送ります。 そして、システムを停止 ( .Nm halt ) したり、再起動 ( .Nm ) したりします。 -その動作はログインのアカウンティングファイルに記入されます。 +その動作は +.Xr wtmp 5 +ファイルに記入されます。 それはログインのアカウンティングファイルへのシャットダウン記録の書き出し を含んでいます。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width indent .It Fl n システムのキャッシュがディスクへ書き出されません。 このオプションは使用すべきではありません。 .It Fl q システムは、とにかく速く停止されたり、 -再起動されたりします。そしてシステムのキャッシュの破棄だけが行われます。 +再起動されたりします。そしてシステムのキャッシュの破棄だけが行われます ( +.Fl n +が指定されなかった場合)。 このオプションは使用すべきではありません。 .It Fl p システムは可能であれば電源を切ります。 これは、もちろん .Nm でも、 .Nm halt と同じように振る舞うということです。 .El .Pp .Nm fasthalt と .Nm fastboot は、それぞれ .Nm halt と .Nm の単なる別名にすぎません。 .Pp -通常、システムの停止や、再起動を要する場合には、ユーザに事前警告を与える +通常、システムの停止や再起動を要する場合には、 +ユーザに事前警告を与えて特定のプログラムを綺麗に停止する .Xr shutdown 8 を使用します。 .Xr shutdown 8 は、ログインしているユーザにシステム停止の警告を与えます。 .Pp .Sh 関連項目 -.Xr utmp 5 , +.Xr wtmp 5 , .Xr boot 8 , .Xr shutdown 8 , .Xr sync 8 .Sh 歴史 .Nm コマンドは .At v6 で追加されました。 diff --git a/ja/man/man8/rshd.8 b/ja/man/man8/rshd.8 index 04429a62da..202c4b4e8f 100644 --- a/ja/man/man8/rshd.8 +++ b/ja/man/man8/rshd.8 @@ -1,225 +1,225 @@ .\" Copyright (c) 1983, 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)rshd.8 8.1 (Berkeley) 6/4/93 .\" %Id: rshd.8,v 1.15 1999/01/12 14:09:18 asami Exp % -.\" %Id: rshd.8,v 1.14 1998/12/16 07:20:44 peter Exp % +.\" .\" jpman %Id: rshd.8,v 1.4 1997/08/10 18:35:56 horikawa Stab % .\" .Dd June 4, 1993 .Dt RSHD 8 .Os BSD 4.2 .Sh 名称 .Nm rshd .Nd リモートシェルのサーバ .Sh 書式 .Nm rshd .Op Fl alnDL .Sh 解説 .Nm は、 .Xr rcmd 3 ルーチンのためのサーバであり、結果として .Xr rsh 1 の実行のために必要となるサーバです。 .Nm は、信頼できるホストからの特権ポート番号に基づいた 認証を行なうことによって、プログラムのリモート実行機能を提供します。 .Pp .Nm サーバは、``cmd'' サービスに割り当てられたポート ( .Xr services 5 参照) でサービス要求を受け付けます。サービス要求を受信すると、 サーバは以下の手順を開始します: .Bl -enum .It サーバは、クライアントの要求元ポート番号のチェックをおこないます。 要求元ポート番号 が 512 から 1023 の範囲にない場合、サーバは接続を強制切断します。 .It サーバは、ソケットから .Tn ヌル バイト (`\e0') を検出するまで文字を読みます。 受信文字列は、 .Tn ASCII コードによる 10 進数の数値に変換します。 .It ステップ 2 で受信した数値が 0 でない場合、その数値を .Em 標準エラー出力 で使用する 2 番目のストリームのポート番号として解釈します。 そしてクライアントマシン上でも指定されたポート番号の 2 番目の接続を生成します。 この 2 番目の接続の要求元ポート番号も、512 から 1023 の範囲で指定します。 .It サーバは、クライアントの要求元アドレスをチェックし、該当するホスト名を要求し ます ( .Xr gethostbyaddr 3 , .Xr hosts 5 , .Xr named 8 を参照してください)。ホスト名が特定できない場合、 または確認したホスト名とアドレスとが一致しない場合、 ドット表記法によるホストアドレスを用います。 .It 最初のソケットを介して、ヌル終端された最大 16 文字の ユーザ名を取得します。ユーザ名は、 .Em クライアント マシン上のユーザ識別に使用します。 .It 最初のソケットを介して、ヌル終端された最大 16 文字の ユーザ名を取得します。ユーザ名は、 .Em サーバ マシン上のユーザ認証に使用します。 .It 最初のソケットを介して、シェルに渡されるべき、ヌル終端された コマンドを取得します。コマンド長の制限は、システムの引数リスト サイズの上限に依存します。 .It .Nm は、 .Pa /etc/hosts.equiv および当該ユーザのホームディレクトリ上に存在する .Pa .rhosts ファイルを用いる .Xr ruserok 3 を使用して、ユーザ認証を行います。 .Fl l オプションは、ユーザがスーパユーザでない限り、 .Pa .rhosts ファイルに基づいた .Xr ruserok 3 のすべての認証をおこなわないようにします。 .It .Pa /var/run/nologin ファイルが存在し、ユーザがスーパユーザでない場合、接続を 切断します。 nologin ファイルの名前に関しては、 .Pa login.conf にて ローカルユーザのログインクラスに関する nologin ケーパビリティが優先します。 ログインクラスは、ログイン時間(times.allow と times.denny ケーパビリティ) およびリモートホスト(hosts.allow と hosts.denny ケーパビリティ)による .Xr rsh 1 アクセスの制限にも使われます。 .It 最初のソケットを用いて .Tn ヌル バイトを返し、コマンドライン を、ユーザの通常のログインシェルに渡します。シェルは .Nm によって確立されたネットワーク接続を継承します。 .El .Pp .Fl n オプションが与えられないかぎり、トランスポートレベルの keepalive メッセージが 有効になります。keepalive メッセージを使用することによって、 クライアントプロセスが異常終了するか、もしくはネットワーク到達不可に なった場合にセッションをタイムアウトで終了させることができます。 .Pp .Fl D オプションは TCP_NODELAY ソケットオプションを設定します。 小さな連続する (back-to-back) 書き込みの性能を向上させますが、 ネットワークトラフィックは増えてしまいます。 .Pp .Fl L オプションを用いることで、すべての正常なアクセスを .Xr syslogd 8 を経由して .Li auth.info メッセージとして、ログします。 .Sh 診断 以下に示す例のうち最後のものを除き、 すべての診断メッセージを最初のソケットを用いて返した後、 すべての接続をクローズします。 エラーは、先行する 1 バイトとして値 1 が返されるこ とでわかります (ログインシェル実行の前のすべてのステップが正常に完了した場合、 上記のステップ 10 の処理で 0 を返します)。 .Bl -tag -width indent .It Sy Locuser too long. クライアントマシン上のユーザ名が、16 文字を超えています。 .It Sy Ruser too long. リモートマシン上のユーザ名が、16 文字を超えています。 .It Sy Command too long. 渡されたコマンドラインの長さが、引数リストの大きさを超えています (システムに依存します)。 .It Sy Login incorrect. 当該ユーザに関するエントリが、パスワードファイルに登録されていないか、 上述の認証手続きに失敗しました。 .It Sy Remote directory. ホームディレクトリへの .Xr chdir 2 巻数が失敗しました。 .It Sy Logins not available right now. ローカルユーザのログインクラスに対する .Pa login.conf において、許された時間以外で .Xr rsh 1 が試されました。 .It Sy Can't make pipe. .Em 標準エラー出力 に必要なパイプを作成できませんでした。 .It Sy Can't fork; try again. サーバによる .Xr fork 2 が失敗しました。 .It Sy : ... ユーザのログインシェルを起動できませんでした。本メッセージの出力は .Em 標準エラー出力 に関連づけられたコネクションを介して返されますので、 フラグバイトは先行しません。 .El .Sh 関連項目 .Xr rlogin 1 , .Xr rsh 1 , .Xr gethostbyaddr 3 , .Xr rcmd 3 , .Xr ruserok 3 , .Xr hosts 5 , .Xr login.conf 5 , .Xr nologin 5 , .Xr services 5 , .Xr named 8 , .Xr rlogind 8 , .Xr syslogd 8 . .Sh 関連ファイル .Bl -tag -width /etc/hosts -compact .It Pa /etc/hosts .It Pa /etc/hosts.equiv .It Pa /etc/login.conf .It Pa $HOME/.rhosts .It Pa /var/run/nologin .El .Sh バグ ここで用いられているユーザ認証手順は、各クライアントマシンおよび接続媒体が 信頼できるものと仮定しています。 これは安全ではないですが、``オープン'' な環境下では便利です。 .Pp 全てのデータについて暗号化を行なう機能が実装されるべきです。 .Pp TELNET のような、もっと拡張性のあるプロトコルが用いられるべきです。 diff --git a/ja/man/man8/rwhod.8 b/ja/man/man8/rwhod.8 index eeaed88663..6da06122cf 100644 --- a/ja/man/man8/rwhod.8 +++ b/ja/man/man8/rwhod.8 @@ -1,219 +1,228 @@ .\" this file based on that translated to japanese on NetBSD Japanese Reference .\" Manual Project, and modefied to fit FreeBSD Reference Manual .\" by Mochida Shuji 1995/03/31 .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)rwhod.8 8.2 (Berkeley) 12/11/93 .\" jpman %Id: rwhod.8,v 1.3 1997/10/11 07:49:54 horikawa Stab % .\" .Dd December 11, 1993 .Dt RWHOD 8 .Os BSD 4.2 .Sh 名称 .Nm rwhod .Nd システムステータスサーバ .Sh 書式 .Nm rwhod .Op Fl i +.Op Fl p .Op Fl l .Op Fl m Op Ar ttl .Sh 解説 .Nm は、 .Xr rwho 1 や .Xr ruptime 1 プログラムで使われるデータベースを管理するサーバです。 ネットワークにおいて .Em ブロードキャスト もしくは .Em マルチキャスト メッセージが使用できることが前提となります。 .Pp .Nm はステータス情報の生成と利用の両方を行います。 ただし、 .Fl l (listen モード) オプションを指定した場合は例外で、利用のみ行います。 情報の生成では、定期的に システムに状態を問い合わせ、ステータスメッセージを構築してネットワークに ブロードキャストします。情報の利用では、他の .Nm サーバからの状態メッセージを受け取り、検査してから、 .Pa /var/rwho ディレクトリの下のファイルに記録します。 .Pp .Fl i オプションは、安全ではないモードを有効にします。 このモードでは、 .Nm は入力パケットのソースポートを無視します。 .Pp +.Fl p +オプションは、 +.Nm +にすべての +.Dv POINTOPOINT +インタフェースを無視させます。 +要求時にダイヤルするインタフェースを常に活動状態にしたくない場合に有用です。 +.Pp .Fl l オプションを指定すると listen モードが有効になり、 .Nm は情報をブロードキャストしなくなります。 これにより、自分自身の情報をブロードキャストせずに他のマシンの .Nm 情報を監視することができます。 .Pp .Fl m オプションは、インタフェースの "ifnet" 構造体に IFF_MULTICAST フラグが 設定されている全てのインタフェース (ループバックインタフェースは 除きます) 上で、 .Nm に (ブロードキャストの代わりに) IP マルチキャストを使わせます。マルチキャストによる報告は、 直接つながっているサブネットへの転送を防ぐために TTL(Time To Live) 1で送られます。 .Pp オプションの .Ar ttl 引数が .Fl m フラグとともに与えられた時には、 .Nm は IP マルチキャストデータグラムを TTL が .Ar ttl として、 全てのインタフェースではなく 1 つのインタフェースに対して送ります。 .Ar ttl は 0 から 32 (または、MAX_MULTICAST_SCOPE) までの値です。 .Fl m Ar 1 は、 .Fl m とは異なることに注意してください。 .Fl m Ar 1 は、1 つのインタフェースにだけ転送を行います。 .Pp .Fl m フラグが、 .Ar ttl 引数無しで使われた場合、プログラムはマルチキャスト .Nm 報告を全ての マルチキャストが利用可能なインタフェースから受け取ります。 .Ar ttl 引数が与えられた場合は、マルチキャストレポートは 1 つのインタフェース からだけ受け取ります。その 1 つは、報告を行っているものです (これは、ホストルーティング表によって制御されます)。 .Fl m オプション無しでは、プログラムはブロードキャストもしくは ユニキャストによる報告を全てのインタフェースから受け取ります。 したがって、このプログラムは、古い報告をマルチキャストを使っていない .Nm から受け取り、マルチキャストが使われている場合は古い .Nm は このプログラムによって生成される報告を受け取れないことになります。 .Pp サーバは、``who'' サービスで指定されているポート番号でメッセージを 送受信します。 .Xr services 5 を参照して下さい。送受信するメッセージは以下のような形式です。 .Bd -literal -offset indent struct outmp { char out_line[8]; /* 端末 (tty) 名 */ char out_name[8]; /* ユーザID */ long out_time; /* 時刻 */ }; struct whod { char wd_vers; char wd_type; char wd_fill[2]; int wd_sendtime; int wd_recvtime; char wd_hostname[32]; int wd_loadav[3]; int wd_boottime; struct whoent { struct outmp we_utmp; int we_idle; } wd_we[1024 / sizeof (struct whoent)]; }; .Ed .Pp すべてのフィールドは、送信に先立ってネットワークバイトオーダに変換されます。 ホスト負荷 (load average) は .Xr w 1 によって計算され、送信の 5, 10, 15 分前の負荷を 100 倍した 整数として表現されます。ホスト名は、 .Xr gethostname 3 システムコールで得られたものがドメイン名を省略して格納されます。 メッセージの最後の配列には、メッセージを送信したマシンにログインしている ユーザの情報が格納されています。この情報は、 .Xr utmp 5 の非アイドルの端末ラインのエントリと、その端末ラインから最後に文字を 受け取った時間を秒数で表した値が入っています。 .Pp .Nm サーバによって受信されるメッセージは、 .Nm サーバのポートから送信されたものでないか、 .Fl i オプションが指定されていなければ捨てられます。さらにメッセージ のホストの名前が表示できない .Tn ASCII 文字を含んでいる場合も、メッセージは捨てられます。 .Nm が受け取った正しいメッセージは .Pa /var/rwho ディレクトリに .Pa whod.hostname というファイル名で格納されます。これらのファイルには、最新のメッセージ だけが、上で説明した形式で残っています。 .Pp ステータスメッセージはほぼ 3 分ごとに作成されます。 .Nm は、30 分ごとに .Pa /kernel に対して .Xr nlist 3 を実行します。これは、このファイルがその時点での実際のシステムイメージ であることを確認するためです。 .Sh 関連項目 .Xr ruptime 1 , .Xr rwho 1 .Sh バグ ネットワーク間でステータス情報を中継する方法が必要です。 ステータス情報は、ずっと送りつづけるのではなく、要求があったとき にだけ送るようにするべきでしょう。サーバが死んでいたり、ネットワークの 通信障害を、マシンがダウンしていると思い込んでしまう場合がよくあります。 .Sh 歴史 .Nm コマンドは .Bx 4.2 で登場しました。 diff --git a/ja/man/man8/shutdown.8 b/ja/man/man8/shutdown.8 index bb9a3c6bb6..5156fe9ef6 100644 --- a/ja/man/man8/shutdown.8 +++ b/ja/man/man8/shutdown.8 @@ -1,138 +1,167 @@ .\" Copyright (c) 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)shutdown.8 8.2 (Berkeley) 4/27/95 -.\" %Id: shutdown.8,v 1.9 1999/01/11 09:07:42 asami Exp % +.\" %Id: shutdown.8,v 1.9.2.1 1999/06/23 10:25:52 ru Exp % +.\" .\" jpman %Id: shutdown.8,v 1.2 1997/05/13 00:55:09 mutoh Stab % .\" .Dd Dec 11, 1998 .Dt SHUTDOWN 8 .Os BSD 4 .Sh 名称 .Nm shutdown .Nd 指定時刻にシステムを停止する .Sh 書式 .Nm shutdown -.Op Fl -.Op Fl hknpr +.Op Fl +.Oo +.Fl h | Fl p | +.Fl r | Fl k +.Oc +.Oo +.Fl o +.Op Fl n +.Oc .Ar time .Op Ar warning-message ... .Sh 解説 .Nm shutdown は、自動的にシャットダウンするための手順をスーパユーザに提供します。 システムがシャットダウンされるときユーザに知らせるので、 こういったお知せを面倒がって行なわない システム管理者やハッカーやグルといった人々から、ユーザを救います。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl h .Ar time -で指定された時間に -.Xr halt 8 -を実行し、システムを停止します。 +で指定された時間にシステムを停止します。 +.It Fl p +.Ar time +で指定された時間にシステムを停止し、電源をオフします +.Pq ハードウェアサポートが必要です +。 +.It Fl r +.Ar time +で指定された時間にシステムを再起動します。 .It Fl k 全ユーザを追い出します。 実際にはシステムを停止しませんが、 マルチユーザシステムのままでスーパユーザ以外のユーザをログインできなくします。 +.It Fl o +.Fl h , +.Fl p , +.Fl r +のいずれかひとつが指定された場合、 +.Nm +は +.Xr init 8 +へシグナルを送る代りに、 +.Xr halt 8 +または +.Xr reboot 8 +を実行します。 .It Fl n -停止する前に、通常実行される -.Xr sync 2 -を実行しません。 -.It Fl p -可能であれば、シャットダウン後にシステムは電源をオフします。 -.It Fl r -.Ar time -で指定した時刻に +.Fl o +オプションが指定されると、 +ファイルシステムキャッシュのフラッシュを防ぐために、 +.Fl n +オプションを +.Xr halt 8 +または .Xr reboot 8 -を実行し、システムを再起動します。 +に渡します。 +本オプションはおそらく使用すべきではありません。 .It Ar time .Nm がシステムを停止させる時間を指定します。 .Ar now を指定すると即時にシステムを停止します。 -また、時間を指定する次の二つの書式があります: +また、時間を指定する次の 2 つの書式があります: .Ar +number もしくは .Ar yymmddhhmm の形式です。現在のシステムの年・月・日の値がデフォルトになっています。 -一つめの書式は +1 つめの書式は .Ar number -分経過後をあらわし、二つめの書式は停止する時刻を直接指定します。 +分経過後をあらわし、2 つめの書式は停止する時刻を直接指定します。 .It Ar warning-message その他の引数は現在ログイン中のユーザに送る警告メッセージとして扱われます。 .It Fl もし .Ql Fl がオプションとして与えられると、警告メッセージを標準入力から読み取ります。 .El .Pp システム停止の 10 時間前から、ログイン中の全てのユーザの端末に 警告メッセージが表示されはじめ、終末が近付くにつれ頻繁になってきます。 システム停止の 5 分前、もしくは 5 分以内にシステム停止する場合には、 ただちに警告メッセージをコピーした .Pa /var/run/nologin が作られログインが禁止されます。 ユーザがログインしようとした際にこのファイルが存在する場合には、 .Xr login 1 はその内容を表示し終了します。このファイルは .Nm が終了する際に削除されます。 .Pp システム停止時には、システムを停止した時間、実行者、理由が -システムログに記録されます。その後、terminate シグナルが +システムログに記録されます。その後、対応するシグナルが .Xr init 8 -に送られ、システムをシングルユーザ状態にします(この動作は上記の -オプションに依存します)。 +に送られ、システムを停止、再起動、シングルユーザ状態のいずれかにします +(この動作は上記のオプションに依存します)。 システムを停止する時間と警告メッセージは .Pa /var/run/nologin に置かれます。これをユーザにシステムを再開する時間や、なぜシステムを 停止するかなどを知らせるために使うべきです。 .Sh 関連ファイル .Bl -tag -width /var/run/nologin -compact .It Pa /var/run/nologin login に誰にもログインさせないことを知らせます。 .El .Sh 関連項目 .Xr login 1 , .Xr wall 1 , .Xr nologin 5 , .Xr halt 8 , +.Xr init 8 , .Xr reboot 8 .Bd -literal -offset indent .Sh 以前との互換性 -以前との互換性のため、二つめの書式で時と分をコロン(``:'')で区切ることができます。 +以前との互換性のため、2 つめの書式で時と分をコロン (``:'') +で区切ることができます。 .Ed .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 diff --git a/ja/man/man8/spppcontrol.8 b/ja/man/man8/spppcontrol.8 index ee34ee692f..7de34da086 100644 --- a/ja/man/man8/spppcontrol.8 +++ b/ja/man/man8/spppcontrol.8 @@ -1,235 +1,233 @@ .\" Copyright (C) 1997 by Joerg Wunsch, Dresden .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS .\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" %Id: spppcontrol.8,v 1.4.2.1 1999/04/01 00:11:58 jdp Exp % .\" -.\" %Id: spppcontrol.1,v 1.3 1998/10/13 21:35:21 vanitas Stab % -.\" spppcontrol.8 was spppcontrol.1. .Dd October 11, 1997 .Os .Dt SPPPCONTROL 8 .Sh 名称 .Nm spppcontrol .Nd sppp インタフェースのパラメータの表示または設定 .Sh 書式 .Nm spppcontrol .Op Fl v .Ar ifname .Op Ar parameter Ns Op \&= Ns Ar value .Op Ar ... .Sh 解説 .Xr sppp 4 ドライバには、 .Xr ifconfig 8 にて調整可能な設定の他に、 多くの追加引数やオプションパラメータが必要となるかもしれません。 これらには、認証プロトコルのパラメータなどと、 他の調整可能なコンフィギュレーション変数があります。 .Nm ユーティリティは、現在の設定を表示したり、 これらのパラメータを必要に応じて調整するために使用可能です。 .Pp どのような用途においても、 .Nm 呼び出しにおいては、少なくともパラメータ .Ar ifname を指定して、インタフェースの名前を指定する必要があります。 このインタフェースに対して、設定がおこなわれるかまたは設定が表示されます。 .Xr ifconfig 8 または .Xr netstat 1 を使用して、どのインタフェースが使用可能かを確認してください。 .Pp 他にパラメータを指定しない場合、 .Nm は、 .Ar ifname の現在の設定を列挙 (list) して終了します。 報告される設定にはインタフェースの現在の PPP フェーズも含まれ、その名は .Em dead , .Em establish , .Em authenticate , .Em network , .Em terminate のうちの 1 つです。 認証プロトコルがインタフェースに対して設定されている場合、 使用するプロトコル名と、使用するまたは期待されるシステム名と、 そして認証プロトコルに対して使用可能なオプションがあればそれを表示します。 認証に使用する秘密情報 ( .Em キー とも呼ばれます) は、この機能が使用するシステムコールによって返されないため、 表示されません。 .Pp 追加のパラメータを指定する場合、スーパユーザの特権が必要になり、コマンドは .Ql 設定 (set) モードにて動作します。 オプション .Fl v が有効にならない限り、静かに動作します。 .Fl v を指定すると、他のすべての動作をおこなった後、 最後に上述のように設定を表示します。 インタフェースが現在 .Em dead フェーズ以外である場合、このモードを使用しようとしてもリジェクトされます。 インタフェースを強制的に .Em dead フェーズにするためには、 .Xr ifconfig 8 をパラメータ .Ql down 付きで呼び出せば良いことに注意してください。 .Pp 現在サポートされているパラメータには次のものがあります: .Bl -tag -offset indent -width indent .It Ar authproto Ns \&= Ns Em protoname 相手と自分の両方の認証プロトコルを .Em protoname に設定します。 プロトコル名は .Ql chap , .Ql pap , .Ql none のいずれかです。 最後の場合、 指定したインタフェースにおいて認証プロトコルは使用されなくなります。 この副作用として、 このインタフェースに関する認証関連の他のパラメータもまた消去されます (つまり、システム名と認証における秘密情報を忘れてしまいます)。 .It Ar myauthproto Ns \&= Ns Em protoname 上と同じですが、リンクの自分側にのみ作用します。 すわなち、 相手が認証者であり、かつ、 自分を認証してもらう必要がある場合に使用されるプロトコルです .It Ar hisauthproto Ns \&= Ns Em protoname 上と同じですが、リンクの相手側にのみ作用します。 .It Ar myauthname Ns \&= Ns Em name 認証プロトコルにおける自分のシステム名を設定します。 .It Ar hisauthname Ns \&= Ns Em name 認証プロトコルにおける相手のシステム名を設定します。 CHAP では、これはヒントとしてのみ使用され、 相手が違う名前を提供した場合には警告メッセージが表示されます。 PAP では、これは相手が相手自身であることを認めさせるときに使用すべき名前です (相手の秘密情報と関連があります)。 .It Ar myauthsecret Ns \&= Ns Em secret 認証フェーズにおいて使用する、自分の秘密情報 (キーとパスワード) を設定します。 CHAP では、これは相手のチャレンジに基づく 返答のハッシュ値を計算するために使用されます。 PAP では、これはシステム名とともにプレインテキストにて送信されます。 秘密情報にシェルのメタ文字 (や空白) を含む場合、 秘密情報をシェルからエスケープすることを忘れないようにしてください。 .It Ar myauthkey Ns \&= Ns Em secret 上と同様です。 .It Ar hisauthsecret Ns \&= Ns Em secret 上と同様ですが、 自分が認証者であり、かつ相手を認証する必要がある場合に使用されます。 .It Ar hisauthkey Ns \&= Ns Em secret 上と同様です。 .It Ar callin 相手から呼び出されるときにのみ、相手を認証する必要があり、 自分が呼び出す場合には不要であることを示します。 相手が対称的な認証プロトルを実装していない場合に、必要となります (例えば Ascend ルータ)。 .It Ar always .Ar callin の逆です。どちらが呼び出す場合でも、 常に相手を認証する必要があることを示します。 これがデフォルトであり、 .Ql list モードでは明示的に表示されません。 .It Ar norechallenge CHAP でのみ意味があります。 最初に CHAP 交換が成功したならば、相手に再チャレンジしません。 相手の実装が壊れていて、 接続が確立した後の再チャレンジを認識しない場合、対処として使用します。 .It Ar rechallenge CHAP において、接続がネットワークフェーズである間、 ランダムな間隔にて再チャレンジを送信します。 (現在、間隔は 300 からおよそ 800 秒です。) これがデフォルトであり、 .Ql list モードでは明示的に表示されません。 .El .Sh 使用例 .Bd -literal # spppcontrol bppp0 bppp0: phase=dead myauthproto=chap myauthname="uriah" hisauthproto=chap hisauthname="ifb-gw" norechallenge .Ed .Pp bppp0 の設定を表示します。 インタフェースは、現在 .Em dead フェーズ、つまり LCP 層はダウンしているため、通信できません。 接続の両端は CHAP プロトコルを使用し、 当方のシステム名は .Ql uriah であるとリモート側に対して告げ、 リモート側は .Ql ifb-gw という名前で認証されると期待されます。 最初の CHAP 交換が成功すると、更なる CHAP チャレンジは送信されません。 おそらく CHAP に関する双方の秘密情報があるでしょうが、それらは表示されません。 .Pp .Bd -literal # spppcontrol bppp0 \e authproto=chap \e myauthname=uriah myauthsecret='some secret' \e hisauthname=ifb-gw hisauthsecret='another' \e norechallenge .Ed .Pp インタフェースを前の例の状態にするために、このように .Nm を呼び出したかもしれません。 .Sh 関連項目 .Xr netstat 1 , .Xr sppp 4 , .Xr ifconfig 8 .Rs .%A B. Lloyd, W. Simpson .%T "PPP Authentication Protocols" .%O RFC 1334 .Re .Rs .%A W. Simpson, Editor .%T "The Point-to-Point Protocol (PPP)" .%O RFC 1661 .Re .Rs .%A W. Simpson .%T "PPP Challenge Handshake Authentication Protocol (CHAP)" .%O RFC 1994 .Re .Sh 歴史 .Nm ユーティリティは .Fx 3.0 に登場しました。 .Sh 作者 プログラムの記述を .ie t J\(:org Wunsch, .el Joerg Wunsch, Dresden がおこないました。 diff --git a/ja/man/man8/vipw.8 b/ja/man/man8/vipw.8 index 7aa13c6ccf..abe293afaa 100644 --- a/ja/man/man8/vipw.8 +++ b/ja/man/man8/vipw.8 @@ -1,89 +1,100 @@ .\" %NetBSD: vipw.8,v 1.4 1995/01/20 19:19:56 mycroft Exp % .\" .\" 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. .\" .\" @(#)vipw.8 8.1 (Berkeley) 6/6/93 .\" jpman %Id: vipw.8,v 1.2 1997/04/10 02:03:18 mutoh Stab % .\" .Dd June 6, 1993 .Dt VIPW 8 .Os BSD 4 .Sh 名称 .Nm vipw .Nd パスワードファイルの編集 .Sh 書式 .Nm vipw +.Op Fl d Ar directory .Sh 解説 .Nm は、適切なロックをしてパスワードファイルの編集を行い、 ロックを解除した後で必要な処理を行います。すでに他のユーザによって パスワードファイルが編集中でロックされていた場合には、 .Nm は後で再度実行するように知らせます。 デフォルトでは、 .Xr vi 1 がエディタとして使用されます。 .Pp +オプションを指定せずに実行すると、 +.Nm +は +.Pa /etc +のパスワードファイルに対して動作します。 +.Fl d +オプションを使用することにより、別の +.Ar directory +に対して動作させることが可能です。 +.Pp .Nm はパスワードファイルエントリの多くの整合性をチェックし、「間違った」エントリを 含むパスワードファイルがインストールされないようにします。 間違っていた場合にはユーザに再編集を要求します。 .Pp パスワードファイルの情報が正しいことが確かめられると、 .Nm は .Xr pwd_mkdb 8 を使ってデータベースを更新します。これはバックグラウンドで行なわれ、 大きなサイトでは数分かかります。 この更新が終了するまで、他でパスワードファイルを更新したり、 新しい情報をプログラムで利用することはできません。 .Sh 環境変数 以下の環境変数が .Nm で参照されます。 .Bl -tag -width EDITOR .It Ev EDITOR 起動するエディタを指定します。指定がなければ .Xr vi 1 を使用します。 .El .Sh 関連項目 .Xr chpass 1 , .Xr passwd 1 , .Xr passwd 5 , .Xr adduser 8 , .Xr pwd_mkdb 8 .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 diff --git a/ja/man/man8/vmstat.8 b/ja/man/man8/vmstat.8 index 37e28d671d..245b11401c 100644 --- a/ja/man/man8/vmstat.8 +++ b/ja/man/man8/vmstat.8 @@ -1,315 +1,316 @@ .\" Copyright (c) 1986, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)vmstat.8 8.1 (Berkeley) 6/6/93 -.\" %Id: vmstat.8,v 1.10 1998/09/15 08:16:43 gibbs Exp % +.\" %Id: vmstat.8,v 1.10.2.1 1999/06/06 14:28:50 kris Exp % +.\" .\" jpman %Id: vmstat.8,v 1.2 1997/05/29 07:57:00 yugawa Stab % .\" .Dd June 6, 1996 .Dt VMSTAT 8 .Os BSD 4 .Sh 名称 .Nm vmstat .Nd 仮想メモリの統計情報を報告する .Sh 書式 .Nm vmstat .\" .Op Fl fimst .Op Fl ims .Op Fl c Ar count .Op Fl M Ar core .Op Fl N Ar system .Op Fl w Ar wait .Op Fl n Ar devs .Op Fl p Ar type,if,pass .Op Ar disks .Sh 解説 .Nm は、プロセス、仮想メモリ、ディスク、トラップ、CPU の活動状況 などについてカーネルが持っている統計情報を報告します。 .Pp オプション: .Bl -tag -width indent .It Fl c 表示を .Ar count 回繰り返します。 最初の表示はリブート時からの統計で、 その後の表示は直前の表示から現在までの間の統計です。 繰り返し回数 .Ar count を指定せず、 .Fl w を指定しないと、デフォルトは無限になります。 そうでない場合、デフォルトは 1 になります。 .\" .It Fl f .\" システムが起動してからの .\" .Xr fork 2 .\" と .\" .Xr vfork 2 .\" システムコールの回数と、それぞれのシステムコールで使われた .\" 仮想メモリのページ数を表示します。 .It Fl i システムが起動してから各デバイスで起こった割り込みの回数を表示します。 .It Fl M 名前に関するリストから値を取り出す際に、デフォルトの .Pa /dev/kmem の代わりに指定された .Ar core を使います。 .It Fl N 名前のリストを取り出す際に、デフォルトの .Pa /kernel の代わりに指定された .Ar system を使います。 .It Fl m カーネルの動的メモリの利用状況について、確保したサイズ、利用のタイプの 順で一覧にして表示します。 .It Fl n 表示する最大ディスク数を、デフォルトの 3 から変更します。 .It Fl p どのタイプのデバイスを表示するのかを指定します。 3 種類のカテゴリのデバイスがあります: .Bl -tag -width indent -compact .It デバイスタイプ: .Bl -tag -width 123456789 -compact .It da ダイレクトアクセス .It sa シーケンシャルアクセスデバイス .It printer プリンタ .It proc プロセッサデバイス .It worm ライトワンスリードマルチプルデバイス .It cd CD デバイス .It scanner スキャナデバイス .It optical オプティカルメモリデバイス .It changer メディアチェンジャデバイス .It comm コミュニケーションデバイス .It array ストレージアレイデバイス .It enclosure エンクロージャサービスデバイス .It floppy フロッピデバイス .El .Pp .It インタフェース: .Bl -tag -width 123456789 -compact .It IDE Integrated Drive Electronics デバイス .It SCSI Small Computer System Interface デバイス .It other その他のデバイス .El .Pp .It パススルー: .Bl -tag -width 123456789 -compact .It pass パススルーデバイス .El .El .Pp ユーザは少なくとも 1 つのデバイスタイプを指定する必要があり、 各カテゴリにおいては最大 1 つのデバイスタイプを指定可能です。 1 つのデバイスタイプ文に複数のデバイスタイプを指定するには、 コンマで区切ります。 .Pp コマンドライン上では、 .Fl p 引数をいくつ指定してもかまいません。 .Fl p 引数はすべて OR がとられ、 システム内の全デバイスが対象となる比較式が形成されます。 いずれかの .Fl p 引数に完全に合致するデバイスは、 .Nm の出力に含まれます。 ただし、3 デバイスもしくはユーザが指定した最大デバイス数の範囲に限られます。 .It Fl s .Em sum 構造体の内容を表示し、システムが起動してから起こったいくつかの 種類のページング関連のイベントの合計を報告します。 .\" .It Fl t .\" システムが起動してからのページインと際利用されたページ数、 .\" それぞれが要求した時間の合計を表示します。 .It Fl w 各表示の間で、 .Ar wait 秒停止します。 停止間隔 .Ar wait を指定していなければ、デフォルトは 1 秒になります。 .El .Pp デフォルトでは、 .Nm は以下の情報を表示します。 .Pp .Bl -tag -width indent .It procs 以下の各状態でのプロセス数に関する情報 .Pp .Bl -tag -width indent -compact .It r 実行待ち行列にある状態 .It b リソース確保 (i/o やページングなど) のためにブロックされている状態 .It w 実行可能または短期間のスリープ中 (20 秒以内) であるが、スワップされている状態 .El .It memory 仮想メモリと実メモリの使用状況に関する情報を表示します。 実行中または最近 20 秒間で実行されたプロセスに属する仮想ページ (1024 バイト単位で表示される) は、アクティブであるとみなします。 .Pp .Bl -tag -width indent -compact .It avm アクティブな仮想ページ .It fre フリーリストのサイズ .El .It page ページフォルトとページングの活動状況に関する情報を表示します。 これらは 5 秒間の平均として、秒単位で表示します。 .Pp .Bl -tag -width indent -compact .It flt ページフォルトの総数 .It re 要求されたページ数 (参照ビットをシミュレート) .\" .It at .\" アタッチされたページ数(フリーリストの中から見つけ出されたもの) .It pi ページインされたページ数 .It po ページアウトされたページ数 .It fr 秒単位の開放されたページ数 .\" .It de .\" 予期される短期的なメモリ不足 .It sr クロックアルゴリズムによってスキャンされたページ数 (秒単位) .El .It disks 秒単位のディスク操作に関する情報 (このフィールドはシステム依存です)。 通常、ページングは使用可能なドライブにまたがって分割されます。 このフィールドのヘッダは、ディスク名の最初の 2 文字とユニット番号です。 システムが 3 つ以上のディスクドライブを扱うように設定されている場合、 .Nm は最初の 3 つのドライブしか表示しません。 ただし、ユーザが .Fl n 引数を指定して表示するデバイス数を増した場合は別です。 この場合、表示が 80 桁を越えてしまうかもしれません。 .Nm で特定のドライブを表示するには、コマンド行でドライブ名を指定します。 デフォルトでは、 .Nm はディスクを最初に、 それからシステム内の他の様々なランダムデバイスを合計 3 つまで、 もしあれば表示します。 デバイスをコマンドラインで指定した場合、 もしくはデバイスタイプが合致するパターンが指定された場合 (前述)、 .Nm は指定されたデバイスもしくはパターンに合致するデバイスのみを表示し、 システム内の他のデバイスをランダムに選択するということはありません。 .It faults 最近 5 秒間のトラップ/割り込みの平均レート (秒単位)。 .Pp .Bl -tag -width indent -compact .It in デバイス割り込み (クロック割り込みを含む) の回数 .It sy システムコールの回数 .It cs cpu のコンテキストスイッチの回数 .El .It cpu CPU 使用時間の内訳 (%) .Pp .Bl -tag -width indent -compact .It us 通常およびそれより低い優先度のプロセスのユーザ時間 .It sy システム時間 .It id CPU アイドル時間 .El .El .Sh 使用例 コマンド: .Dl vmstat -w 5 は、システムがどのように動作しているかを 5 秒おきに表示します。 5 秒おきにサンプリングされている統計情報があるため、 この間隔で表示するのがちょうどよいです。 その他の統計情報は 1 秒毎に変化します。 しばらく出力を続ければ、どれが毎秒計算し直されているかがわかるでしょう。 .Pp コマンド: .Dl vmstat -p da -p cd -w 1 は、ダイレクトアクセスデバイスもしくは CDROM デバイスから最初の 3 つの デバイスを選択し、 他のシステム統計情報と同様に、 毎秒これらのデバイスの統計情報を表示します。 .Sh 関連ファイル .Bl -tag -width /dev/kmemxxx -compact .It Pa /kernel デフォルトのカーネル名前リスト .It Pa /dev/kmem デフォルトのメモリファイル .El .Sh 関連項目 .Xr fstat 1 , .Xr netstat 1 , .Xr nfsstat 1 , .Xr ps 1 , .Xr systat 1 , .Xr iostat 8 , .Xr pstat 8 .Pp .%T "Installing and Operating 4.3BSD" の ``Interpreting system activity'' で始まるセクション .Sh バグ .Fl c と .Fl w オプションは、デフォルトの出力を行うときにのみ有効です。 diff --git a/ja_JP.eucJP/man/man1/cksum.1 b/ja_JP.eucJP/man/man1/cksum.1 index d868b2cbca..c244454539 100644 --- a/ja_JP.eucJP/man/man1/cksum.1 +++ b/ja_JP.eucJP/man/man1/cksum.1 @@ -1,188 +1,190 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)cksum.1 8.2 (Berkeley) 4/28/95 -.\" %Id: cksum.1,v 1.7 1997/11/09 16:08:11 obrien Exp % +.\" %Id: cksum.1,v 1.7.2.1 1999/06/24 06:28:01 mpp Exp % +.\" .\" jpman %Id: cksum.1,v 1.4 1997/08/10 18:27:42 horikawa Stab % .\" .Dd April 28, 1995 .Dt CKSUM 1 .Os BSD 4.4 .Sh 名称 -.Nm cksum +.Nm cksum , +.Nm sum .Nd ファイルのチェックサムとブロックカウントを表示する .Sh 書式 .Oo .Fl o Ar \&1 Xo .No \&| .Ar \&2 .No \&| .Ar \&3 .Xc .Oc .Op Ar file ... .Nm sum .Op Ar file ... .Sh 解説 .Nm cksum ユーティリティは、各入力ファイルに対して、 空白で区切られた 3 つのフィールドを標準出力に出力します。 これら 3 フィールドはそれぞれ、 チェックサム .Tn CRC 、ファイル中のオクテット数、そしてファイル名です。 ファイルが一つも指定されない場合は標準入力が用いられ、 ファイル名は表示されません。 .Pp .Nm sum ユーティリティは .Nm cksum ユーティリティと同じですが、 以降で解説するデフォルトで歴史的アルゴリズム 1 を使用する点が異なります。 互換性のためだけに提供されています。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl o デフォルトの(より優れた)アルゴリズムに代えて、 歴史的なアルゴリズムを用います。 .Pp アルゴリズム 1 は .Xr sum 1 のアルゴリズムとして歴史的な .Bx システムにおいて、また、 .Fl r オプション付きで用いる場合の .Xr sum アルゴリズムとして歴史的な .At V システムにおいて用いられてきたものです。 これは加算のたびに右ローテーションを行う 16 ビットチェックサムであり、 算出あふれは無視されます。 .Pp アルゴリズム 2 はデフォルトの .Xr sum アルゴリズムとして歴史的な .At V システムで用いられてきたものです。 これは 32 ビットのチェックサムであり、以下のように定義されます: .Bd -unfilled -offset indent s = sum of all bytes; r = s % 2^16 + (s % 2^32) / 2^16; cksum = (r % 2^16) + r / 2^16; .Ed .Pp アルゴリズム 3 は一般に .Ql 32bit CRC アルゴリズムと呼ばれているものです。これは 32-bit チェックサムです。 .Pp アルゴリズム 1, 2 のいずれも、デフォルトアルゴリズムと同じフィールドを 標準出力に書き出します。 ただし、ファイルサイズはバイト単位ではなくブロック単位となります。 歴史的理由から、アルゴリズム 1 ではブロックサイズは 1024、 アルゴリズム 2 では 512 となっています。 ブロックに満たない部分は切り上げられます。 .El .Pp デフォルトで用いられる .Tn CRC は、 ネットワークの規格 .St -iso8802-3 における .Tn CRC エラーチェックに用いられる多項式に基づいています。 .Tn CRC チェックサムエンコーディングは、次の生成多項式で定義されます: .Pp .Bd -unfilled -offset indent G(x) = x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1 .Ed .Pp 数学的には、与えられたファイルに対応する .Tn CRC 値は次の手順で定義されます。 .Bd -filled -offset indent 評価される .Ar n ビットは、2 を法とする .Ar n Ns \-1 次多項式 M(x) の係数とみなされます。 これらの .Ar n ビットはファイルから得られますが、 ファイルの最初のオクテットの最上位ビットを最上位、 最後のオクテットの最下位ビットを最下位とします。 (必要なら)ゼロビットを埋めてオクテット単位に取りまとめ、 ファイルの長さをバイナリ値で表現した 1 個あるいは それ以上のオクテット(最下位オクテットが先)がそれに続きます。 この整数を表現可能な最小個数のオクテットが用いられます。 .Pp M(x) は x^32 倍(すなわち 32 ビットの左シフト)し、 2 を法として G(x) で割ります。 その結果 31 次以下の剰余 R(x) が得られます。 .Pp R(x) の係数は 32 ビットのビット列と見なされます。 .Pp そのビット列を反転した結果が CRC です。 .Ed .Pp .Nm cksum および .Nm sum ユーティリティは成功時には 0 を、エラー発生時には正の値を返します。 .Sh 関連項目 .Xr md5 1 .Rs デフォルトの計算方法は、次の .Tn ACM 論文で疑似コードを用いて記述されているものと等価です。 .Rs .%T "Computation of Cyclic Redundancy Checks Via Table Lookup" .%A Dilip V. Sarwate .%J "Communications of the \\*(tNACM\\*(sP" .%D "August 1988" .Re .Sh 規格 .Nm cksum ユーティリティは .St -p1003.2-92 を満していると考えられています。 .Sh 歴史 .Nm cksum ユーティリティは .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/ctm_rmail.1 b/ja_JP.eucJP/man/man1/ctm_rmail.1 index 17e1f8d2ba..fd0a8403ec 100644 --- a/ja_JP.eucJP/man/man1/ctm_rmail.1 +++ b/ja_JP.eucJP/man/man1/ctm_rmail.1 @@ -1,502 +1,504 @@ .\" NOTICE: This is free documentation. I hope you get some use from these .\" words. In return you should think about all the nice people who sweat .\" blood to document their free software. Maybe you should write some .\" documentation and give it away. Maybe with a free program attached! .\" .\" Author: Stephen McKay .\" -.Dd January 24, 1995 .\" jpman %Id: ctm_rmail.1,v 1.3 1997/09/27 16:25:48 ryo2 Stab % +.Dd January 24, 1995 .Dt CTM_MAIL 1 .Os .Sh 名称 -.Nm ctm_smail, ctm_rmail +.Nm ctm_smail , +.Nm ctm_dequeue , +.Nm ctm_rmail .Nd メールを介しての .Nm ctm デルタの送受信 .Sh 書式 .Nm ctm_smail .Op Fl l Ar log .Op Fl m Ar maxmsgsize .Op Fl c Ar maxctmsize .Op Fl q Ar queue-dir .Ar ctm-delta .Ar mail-alias .Nm ctm_dequeue .Op Fl l Ar log .Op Fl n Ar numchunks .Ar queue-dir .Nm ctm_rmail .Op Fl Dfuv .Op Fl l Ar log .Op Fl p Ar piecedir .Op Fl d Ar deltadir .Op Fl b Ar basedir .Op Ar .Sh 解説 .Nm ctm_smail , .Nm ctm_dequeue , .Nm ctm_rmail は .Xr ctm 1 コマンドと組み合わせて、 ソースツリーへの変更を電子メールで配布するために使われます。 .Nm ctm_smail には圧縮した .Xr ctm のデルタとそれを送るメーリングリストを与えます。 するとデルタを送信できる大きさに切り分けて、メールメッセージとして エンコードしたものをメーリングリストに送ります (メールの負荷を分散させるためにキューに入れるように選択できます)。 各受信者は .Nm ctm_rmail を使い (手動または自動で) デルタのデコードと再組み立てを行い、 それをソースツリーに適用するために .Xr ctm を呼び出すようにも指定できます。 現在、 いくつかのソースツリーが、いくつかのサイトによって配布されています。 その中には .Li freefall.FreeBSD.org が配布している FreeBSD-current のソースと CVS のツリーもあります。 .Pp .Nm ctm_smail のコマンドラインの引数には以下があります: .Bl -tag -width indent .It Fl l Ar log .Em stderr に出力する代わりに、 (コマンドラインのエラー以外の) エラー診断と情報メッセージ にタイムスタンプを付けた物がファイル .Em log に書き込まれます。 .It Fl m Ar maxmsgsize .Nm ctm_smail が送信できるメールメッセージの最大サイズを制限します。 メールヘッダとその他の細かい物をこの制限に入れていないため およその値となります。 指定されないとデフォルトは、メールの限界と噂される 64k に対して ヘッダのための 1535 バイトを残した 64000 バイトです。 .It Fl c Ar maxctmsize 送信されるデルタの最大サイズを制限します。この制限より大きいデルタは 謝罪メールをメーリングリストに送り出します。 これは大幅な変更でユーザのメールボックスを圧迫してしまうのを 避けるためです。これはエンコードする前のサイズなので注意して下さい。 エンコードされるとメールヘッダを付ける前でサイズは 4/3 倍になります。 指定されないと無制限になります。 .It Fl q Ar queue-dir デルタのかけらをメールする代わりに、後で .Nm ctm_dequeue を使ってメールされるように指定されたディレクトリに格納します。 この機能によって、巨大なデルタを数時間または数日にも渡って分散させ、 ネットワークのバンド幅が狭かったりメールのスプール領域が小さい 受信者へのインパクトを押えることが可能です。 .El .Pp .Ar ctm-delta は送信されるデルタで、 .Ar mail-alias はデルタを送信するメーリングリストです。 メールメッセージは .Xr sendmail 8 を使って送信されます。 .Pp .Nm ctm_dequeue のコマンドラインの引数には以下があります: .Bl -tag -width indent .It Fl l Ar log .Em stderr に出力する代わりに、 (コマンドラインのエラー以外の) エラー診断と情報メッセージ にタイムスタンプを付けた物がファイル .Em log に書き込まれます。 .It Fl n Ar numchunks 1 回の .Nm ctm_dequeue の実行で送信するメールメッセージの数を制限します。 デフォルトでは、 .Nm ctm_dequeue は 1 回の実行で 1 つのメールメッセージを送信します。 .El .Pp .Ar queuedir は .Nm ctm_smail が格納したメールメッセージのあるディレクトリです。 .Ar numchunks 個までのメールメッセージが実行ごとに送信されます。 受信者のメーリングリストは、溜められたファイルに すでにエンコードされています。 .Pp .Nm ctm_smail がキューにエントリを追加している最中や、複数の .Nm ctm_smail を並行に実行している最中でも .Nm ctm_dequeue を安全に実行できますが、配布される各ツリーごとに独立した キューのディレクトリを使うべきです。 これはエントリがアルファベット順に処理されるので、デルタの 作成時刻ではなく、デルタ名に従って 1 つのツリーが他の物より 前に処理されて不公平になるからです。 .Pp .Nm ctm_rmail のコマンドラインの引数には以下があります: .Bl -tag -width indent .It Fl l Ar log .Em stderr に出力する代わりに、 (コマンドラインのエラー以外の) エラー診断と情報メッセージ にタイムスタンプを付けた物がファイル .Em log に書き込まれます。 .It Fl p Ar piecedir デルタのかけらをこのディレクトリに集めます。 それぞれのかけらは 1 つのメールメッセージに対応します。 かけらは完全なデルタが出来上がると削除されます。 もし このフラグが指定されないと、入力ファイルは読まれませんが、 .Fl b フラグが指定されていれば完成しているデルタは .Xr ctm を使って適用されるかもしれません。 .It Fl d Ar deltadir このディレクトリ内の完成したデルタを集めます。デルタは、すべてのかけらが 揃っている時に 1 つ以上のかけらから組み立てられます。 .It Fl b Ar basedir 完成しているデルタを このソースツリーに適用します。このフラグが 指定されていない場合、デルタは格納されますが適用はされません。 ユーザは手動、または .Nm ctm_rmail を .Fl p フラグ無しで使ってデルタを適用できます。 もしデルタが .Ar basedir の .Li .ctm_status ファイルとマッチしない場合 (もしくは .Li .ctm_status が存在しない場合) には、デルタは適用されません。 .It Fl D .Xr ctm による適用が成功した後でデルタを削除します。 .Xr ctm はデルタのフルセットからファイルの小グループを回復する機能を 持つので、このフラグを避けて (そしてすべてのデルタを取って) おくのが 良いでしょう。 .It Fl f fork して .Xr ctm でのデルタの適用をバックグラウンドで実行します。 これは .Xr sendmail から .Nm ctm_rmail を自動的に呼び出す場合に有効です。なぜなら .Xr ctm は終了までに、とても長い時間を要し、それによって他の人のメールを 遅らせる原因になり、理論的にはリモート側の .Xr sendmail のタイムアウトによるメールの不要な再送信や、 .Xr "MH" の .Xr slocal のようなメールフィルタによる .Nm ctm_rmail の強制終了を引き起こす可能性があるからです。 膨大な数のバックグラウンドの .Xr ctm プロセスでマシンに負荷がかかる心配はありません。同時に 2 つ以上の .Xr ctm が起動されないようにロックが行われているからです。 .It Fl u 完成したデルタを適用する時に .Fl u フラグを .Xr ctm コマンドに渡します。これによって作成、変更されたファイルの 変更時刻が CTM デルタの作成時刻にセットされます。 .It Fl v 完成したデルタを適用する時に .Fl v フラグを .Xr ctm コマンドに渡します。これによってより多くの情報出力が得られます。 すべての .Xr ctm からの出力は .Nm ctm_rmail のログファイルに記録されます。 .El .Pp 引数のファイル (もし無ければ .Em 標準入力 ) がデルタのかけらとしてスキャンされます。 1 つのファイルから複数のデルタのかけらを読む事ができるので、 メールドロップ全体を 1 回のコマンドでスキャンして処理できます。 .Pp .Nm ctm_rmail を並行に (異なる入力ファイルで) 複数回起動しても安全です。 .Xr sendmail .nh がメールを非同期に配送した時にこのようなことが起こり得ます。 これは処理を順序通りに保つためにロックが行われているからです。 .Sh ファイルフォーマット 以下は実際の (とても小さい) デルタのかけらの重要部分です: .Bd -literal From: owner-src-cur To: src-cur Subject: ctm-mail src-cur.0003.gz 1/4 CTM_MAIL BEGIN src-cur.0003.gz 1 4 H4sIAAAAAAACA3VU72/bNhD9bP0VByQoEiyRSZEUSQP9kKTeYCR2gDTdsGFAwB/HRogtG5K8NCj6 v4+UZSdtUQh6Rz0eee/xaF/dzx8up3/MFlDkBNrGnbttAwyo1pxoRgoiBNX/QJ5d3c9/X8DcPGGo lggkPiXngE4W1gUjKPJCYyk5MZRbIqmNW/ASglIFcdwIzTUxaAqhnCPcBqloKEkJVNDMF0Azk+Bo dDzzk0Ods/+A5gXv9YyJHjMCtJwQNeESNma7hOmXDRxn CTM_MAIL END 61065 .Ed .Pp メッセージのサブジェクトは常に .Dq ctm-mail で始まりデルタの名前、いくつ目のかけらか、そして全部でいくつの かけらがあるのかが続きます。データは .Dq CTM_MAIL BEGIN と .Dq CTM_MAIL END という行で囲まれており、サブジェクト行の情報の複製、加えて単純な チェックサムが付きます。 .Pp デルタが .Ar maxctmsize を超えると、代わりに以下のようなメッセージが送られます: .Bd -literal From: owner-src-cur To: src-cur Subject: ctm-notice src-cur.0999.gz src-cur.0999.gz is 792843 bytes. The limit is 300000 bytes. このデルタは ftpmail か、または大学の仲良しから得られます。 .Ed .Pp これでもうあなたのものです! .Sh 使用例 .Em src-cur の 32 番目のデルタを .Em src-guys として .Xr sendmail に登録されている素晴らしいコードハッカーのグループに、 メールのサイズをおよそ 60000 バイトに制限して送るためには 以下のように出来ます: .Bd -literal -offset indent ctm_smail -m 60000 /wherever/it/is/src-cur.0032.gz src-guys .Ed .Pp メールボックスの各 .Nm ctm-mail メッセージをデコードして、それらを完全なデルタに組み立て、そして 出来上がったデルタやそこらに転がっているデルタはどれも、 以下のように適用出来ます: .Bd -literal -offset indent ctm_rmail -p ~/pieces -d ~/deltas -b /usr/ctm-src-cur $MAIL .Ed .Pp ( .Nm ctm_rmail はメッセージを削除しないので注意して下さい。 削除には どんなメールリーダでも使用できます。) .Pp .Em receiver-dude という名前の自動的にデコードとデルタの組み立てを行うけれども、 それらの適用は行わないようなメールエイリアスは、以下の行を .Pa /etc/aliases ファイルに入れる事で作成可能です ( .Pa /ctm/tmp と .Pa /ctm/deltas ディレクトリ そして .Pa /ctm/log ファイルが .Em daemon ユーザか .Em wheel グループで書き込み可能な事を仮定しています) : .Bd -literal -offset indent receiver-dude: "|ctm_rmail -p /ctm/tmp -d /ctm/deltas -l /ctm/log" owner-receiver-dude: real_dude@wherever.you.like .Ed .Pp 2 行目は、失敗した場合にそれを通常のメールボックスか、または どこか好きな所へ転送するためにあります。 .Pp 集められた全デルタを適用して、適用したものを削除するには以下のように します: .Bd -literal -offset indent ctm_rmail -D -d /ctm/deltas -b /ctm/src-cur -l /ctm/apply.log .Ed .Pp 柔軟性を最大限生かすためには、この .Xr procmail スクリプトからの引用の利用を考えてみて下さい: .Bd -literal -offset indent PATH=$HOME/bin:$PATH :0 w * ^Subject: ctm-mail cvs-cur | ctm_incoming .Ed .Pp 以下のシェルスクリプト .Pa ~/bin/ctm_incoming と一緒に使います: .Bd -literal -offset indent #! /bin/sh PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin" export PATH cd $HOME/ctm && ctm_rmail -f -p pieces -d deltas -l log -b /ctm .Ed .Pp これは全部の .Xr ctm デルタを .Pa ~/ctm/deltas に置き、それらを .Pa /ctm 内のツリーに適用し、失敗したものは、すべてあなたの通常の メールボックスに落します。 .Pa ctm_incoming での .Ev PATH の操作は、このサンプルを取って来た (FreeBSD でない) マシンで .Nm ctm_rmail から .Xr ctm の実行を可能にするためのものです。 .Sh セキュリティ 自動的にメールを取ってファイルツリーへのパッチプログラムに 渡している場合、あなたのシステムへの鍵をクラッカーに手渡していると 考えるかも知れません。幸い、損害を起こす窓はとても小さいのです。 .Nm ctm_rmail は、 (デルタ名中の いかなる .Dq / 文字も信用しないことによって) 与えられたディレクトリのみにしか書き込まないように注意しています。 そして最新の .Xr ctm では操作するファイルに絶対パス名と .Dq \&\.\. を許可していないので、最悪でも失われる可能性のあるのは (デルタから復元できる) 二、三のソースツリーのファイルだけなのです。 .Xr ctm はファイルにさわる前に .Xr md5 によるチェックサムが合致する事を要求するので、ソースの受信者だけが 偽造したデルタを生成できる可能性を持ち、そして そういう人達が そんなことを考えるはずもありません! :-) .Pp この可能性さえも暗号化された署名で取り除く事が可能です。 将来の強化の可能性は、 .Nm PGP を使った安全なラッパの提供があります。 .\" This next request is for sections 1, 6, 7 & 8 only .Sh 環境変数 デルタを適用するのならば .Xr ctm 1 と .Xr gunzip 1 が .Ev PATH に含まれていなければなりません。 .Sh 関連ファイル .Bl -tag -width indent .It Pa QUEUEDIR/* メールメッセージとしてエンコードされて、メーリングリストに 送信されるのを待っているデルタのかけら。 .It Pa PIECEDIR/* 残りのかけらの到着を待っているデルタのかけら。 .It Pa DELTADIR/* 完成したデルタ。 .It Pa BASEDIR/.ctm_status このソースツリーに次に適用されるべきデルタの名前と番号を含むファイル。 .\" This next request is for sections 1, 6, 7 & 8 only .\" (command return values (to shell) and fprintf/stderr type diagnostics) .Sh 診断 .Nm ctm_smail , .Nm ctm_dequeue , .Nm ctm_rmail は正常に終了するとステータスとして 0 を、何らかの障害が あった場合は 1 を返します。 .Nm ctm_rmail は、メールの配送プログラムから呼ばれる事を想定しています。そして そのため入力されたメールメッセージが (送信者にではなく、 なるべく あなたの通常のメールドロップに) 返送されるべき状態に なった時にのみ障害を通知するようになっています。 いいかえれば、完成したデルタを .Xr ctm で適用する際に発生した障害はメールを返送する程に重要なエラーでは ないと判断されて、 .Nm ctm_rmail は終了ステータスとして 0 を返すということです。 .Pp 通常の操作では、 .Nm ctm_smail は以下のようなメッセージで報告します: .Bd -literal -offset indent ctm_smail: src-cur.0250.gz 1/2 sent to src-guys .Ed .Pp または、キューに入れたなら、 .Bd -literal -offset indent ctm_smail: src-cur.0250.gz 1/2 queued for src-guys .Ed .Pp .Nm ctm_dequeue は以下のようなメッセージで報告します: .Bd -literal -offset indent ctm_dequeue: src-cur.0250.gz 1/2 sent .Ed .Pp .Nm ctm_rmail は以下のようなメッセージで報告します: .Bd -literal -offset indent ctm_rmail: src-cur.0250.gz 1/2 stored ctm_rmail: src-cur.0250.gz 2/2 stored ctm_rmail: src-cur.0250.gz complete .Ed .Pp もし入力ファイルのいずれもが正しいデルタのかけらを含んでいないと、 .Nm ctm_rmail は以下のように報告します: .Bd -literal -offset indent ctm_rmail: message contains no delta .Ed .sp \n(Ppu そして終了ステータスとして 1 を返します。もしメールフィルタが 当てにならないのなら、これを使って気まぐれなメッセージを リダイレクトして本当のメールボックスに入れる事ができます。 .Pp これらのメッセージは .Em stderr かログファイルに出力されます。 .Xr ctm からのメッセージも同様にここに現れます。 エラーメッセージは それ自身が説明的であるべきです。 .\" The next request is for sections 2 and 3 error and signal handling only. .\" .Sh ERRORS .Sh 関連項目 .Xr ctm 1 , .Xr ctm 5 .\" .Sh STANDARDS .\" .Sh HISTORY .Sh 作者 Stephen McKay .\" .Sh BUGS .\" Gosh! No bugs here! .\" This message brought to you by the Coalition for More Humour in Man Pages. .\" -.\" %Id: ctm_rmail.1,v 1.14 1998/04/08 12:00:48 cracauer Exp % +.\" %Id: ctm_rmail.1,v 1.14.2.1 1999/06/24 06:28:11 mpp Exp % .Sh 日本語訳 -野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳 +野首 寛高 (h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳 diff --git a/ja_JP.eucJP/man/man1/enigma.1 b/ja_JP.eucJP/man/man1/enigma.1 index fdb14045a6..1e90dac872 100644 --- a/ja_JP.eucJP/man/man1/enigma.1 +++ b/ja_JP.eucJP/man/man1/enigma.1 @@ -1,117 +1,119 @@ .\" .\" enigma (aka. crypt) man page written by Joerg Wunsch. .\" .\" Since enigma itself is distributed in the Public Domain, this file .\" is also. .\" -.\" %Id: enigma.1,v 1.1.2.1 1999/01/28 19:24:03 billf Exp % +.\" %Id: enigma.1,v 1.1.2.2 1999/06/24 06:28:14 mpp Exp % +.\" .\" jpman %Id: enigma.1,v 1.4 1999/01/31 11:05:26 horikawa Stab % .\" " .Dd October 30, 1998 .Os .Dt enigma 1 .Sh 名称 -.Nm enigma +.Nm enigma , +.Nm crypt .Nd 非常に単純なファイルの暗号化 .Sh 書式 .Nm .Op Fl s .Op Fl k .Op Ar password .Nm crypt .Op Fl s .Op Fl k .Op Ar password .Sh 解説 .Nm enigma は .Nm crypt という名前でも知られていますが、 .Dq 秘密鍵 をベースとする .Em 非常に 単純な暗号化プログラムです。 これはフィルタとして働きます。つまり、標準入力からの一連のデータを暗号化 または復号化し、その結果を標準出力に出力します。 入力データがすでに暗号化されているかどうかを自動的に検出し、すでに 暗号化されている場合は復号モードに切り替わります。 .Pp 秘密鍵をプログラムに渡す方法はいくつかあります。 デフォルトでは、制御端末上で .Xr getpass 3 を用いて、ユーザに鍵を入力するよう促します。 これが安全に鍵を渡す唯一の方法です。 .Pp 別の方法としては、プログラム起動時に、単独のコマンドライン引数 .Ar password によって鍵を渡すこともできます。 明らかなことですが、この方法を用いると、 .Xr ps 1 を実行している他のユーザが、簡単に鍵を見破ることができます。 さらにもう一つの方法としては、コマンドライン引数として .Fl k オプションを与えると、 .Nm は環境変数 .Ev CrYpTkEy から鍵を取得します。 この方法は、一見前述の他の方法よりも安全なように見えますが、 実際はそうではありません。というのは、環境変数もまた .Xr ps 1 で調べることができるからです。 従って、このオプションは、主に他の実装の .Nm enigma との互換性のために存在します。 .Pp .Fl s オプションを指定すると、 .Nm は、もう少し安全だと思われるように暗号化エンジンを変更しますが、 他の実装との互換性はなくなります。 .Pp .Ss 警告 .Nm は暗号化の手法としてはほとんど価値がありません。このプログラムは、この 実装を持つ他のオペレーティングシステムとの互換性を保つためだけのもの です。 本当の暗号化については、 .Xr bdes 1 (DES配布パッケージに含まれます)、または、 .Xr pgp 1 (ports コレクションに含まれます) を参照してください。 しかしながら、いくつかの国ではこのようなツールの輸出、輸入、使用に対する 制限が存在するかもしれないので、これらの強力なツールは、デフォルトでは オペレーティングシステムと一緒には配布されていません。 .Sh 環境変数 .Bl -tag -offset indent -width "XXCrYpTkEy" .It Ev CrYpTkEy .Fl k オプション指定時に、この変数から秘密鍵を取得します。 .El .Sh 使用例 .Bd -literal -offset indent man enigma | enigma > encrypted Enter key: (XXX \(em 鍵は表示されません) .Ed .Pp このマニュアルページを暗号化して、その結果を .Ql encrypted というファイルに格納します。 .Bd -literal -offset indent enigma XXX < encrypted .Ed .Pp 前の例で作成されたファイルを端末上に表示します。 .Sh 関連項目 .Xr bdes 1 , .Xr pgp 1 , .Xr ps 1 , .Xr getpass 3 .Sh 歴史 .Nm crypt の実装方法は .Ux オペレーティングシステムの間では非常にありふれたものです。 本プログラムの実装は、パブリックドメインの .Em Cryptbreakers Workbench のものを使用しました。 diff --git a/ja_JP.eucJP/man/man1/fetch.1 b/ja_JP.eucJP/man/man1/fetch.1 index 43ef39f6ca..f16a8000dd 100644 --- a/ja_JP.eucJP/man/man1/fetch.1 +++ b/ja_JP.eucJP/man/man1/fetch.1 @@ -1,433 +1,434 @@ -.\" %Id: fetch.1,v 1.27.2.1 1999/02/25 18:36:32 wollman Exp % +.\" %Id: fetch.1,v 1.27.2.2 1999/07/02 08:57:06 green Exp % +.\" .\" jpman %Id: fetch.1,v 1.4 1997/08/15 06:31:28 horikawa Stab % .Dd February 22, 1999 .Dt FETCH 1 .Os FreeBSD 3.1 .Sh 名称 .Nm fetch .Nd URL(Uniform Resource Locator)形式でのファイルの取得 .Sh 書式 .Nm fetch .Op Fl AMPablmnpqrtv .Op Fl S Ar size .Op Fl T Ar timeout .Op Fl o Ar file .Ar URL .Op Ar ... .Nm fetch .Op Fl MPRlmnpqrv .Op Fl S Ar size .Op Fl o Ar file .Op Fl c Ar dir .Fl f Ar file .Fl h Ar host .Sh 解説 .Nm fetch は、 .Tn FTP もしくは .Tn HTTP プロトコルを使ってネットワークの遠隔サイトから、ファイルの転送を 行います。コマンドの最初の書式の .Ar URL は、 .Li http://site.domain/path/to/the/file もしくは、 .Li ftp://site.domain/path/to/the/file の形式をしています。 複製もしくはリンクされる (以下の .Fl l フラグを参照) ローカルでのファイル名を指定するために、 .Em file:/path/to/the/file という URL 形式が使えます。後述の URL 文法を参照してください。 .Pp コマンドの 2 番目の形式は、 ファイル名と遠隔ホスト名を .Fl h と .Fl f フラグで指定して、 .Tn FTP プロトコルを使ってファイルを取得するために使われます。 .Pp 以下のオプションが使用可能です。 .Bl -tag -width Fl .It Fl A ``一時的な'' (302) リダイレクトを自動的には追跡しません。 要求したオブジェクトが存在しない場合に、 発見できないというエラーではなくリダイレクトを返すという、 壊れたウェブサイトが存在します。 .It Fl a ソフト上での失敗の場合に自動的に転送を再試行します。 .It Fl b .Tn TCP プロトコルを正しく実装していない .Tn HTTP サーバのバグ対応を行います。 .It Fl c Ar dir 遠隔ホストの .Ar dir ディレクトリのファイルを取得します。 .It Fl f Ar file 遠隔ホストの .Ar file という名前のファイルを取得します .It Fl h Ar host ホスト名が .Ar host にあるファイルを取得します。 .It Fl l 目標が .Ar file:/ 形式のURLだった場合、目標を複製しようとするのではなく、 リンクを作成します。 .It Fl M .It Fl m ミラーモード: ファイルの変更時間を遠隔ホストの変更時間と同じに 設定します。ローカルホストにファイルが既に存在しサイズと 変更時間が同じである場合、転送は行われません。 .It Fl n 転送されるファイルの変更時間を保存せず、現在の時間を使います。 .It Fl o Ar file 出力ファイル名を .Ar file にします。 デフォルトでは、``パス名'' が指定された URI から取り出され、その ベースネームが出力ファイルの名前として使われます。 .Ar file 引数として .Sq Li \&- を与えると、結果は標準出力に出力されます。 .It Fl P .It Fl p .Tn FTP プロトコルをパッシブモードで使います。これは、防火壁 (firewall) を跨いだ場合に有効です。 .It Fl q 沈黙モード。端末に転送の進行状態を報告しません。 .It Fl R 転送が失敗もしくは不完全であった時でさえ、与えられたファイル名は ``大事にされ''、どんな状況下でもファイル名は消去されません. .It Fl r 以前に中断された転送を再開します。 .It Fl S Ar bytes .Tn FTP もしくは .Tn HTTP のサーバに対してファイルサイズを報告するよう要求し、 本オプションにより指定される値と比較します。 合致しない場合、メッセージが表示され、ファイルは取得されません。 サーバがファイルサイズの報告をサポートしない場合、 本オプションは無視され、ともかくファイルは取得されます。 前もってファイルサイズが分かる場合、 不完全なファイルもしくは誤ったバージョンのファイルを .Nm がダウンロードするのを防ぐために有用です。 .It Fl s サーバにファイルサイズ (バイト) を尋ね、これを標準出力に出力します。 実際のファイル取得は行いません。 .It Fl T Ar second タイムアウト時間を .Ar second 秒に設定します。 ftp での転送に対しては .Ev FTP_TIMEOUT 環境変数が、 http での転送に関しては .Ev HTTP_TIMEOUT 環境変数が,設定されていた場合は、それを上書きします。 .It Fl t 別のバグがある .Tn TCP 実装に対する対処を行います。 .It Fl v 冗長性を増加させます。 複数の .Fl v を指定することで、より情報が得られるようになります。 .El .Pp 多くのオプションは、環境によってのみ制御されます (これはバグです)。 .Sh URL 文法 .Nm は、RFC1738 に記述されている .Tn http および .Tn ftp の URL を受け付けます。 .Tn ftp の URL ではユーザ名とパスワードを指定可能であり、 .Li ftp://user:password@host/ という文法で指定します。 パスがユーザのホームディレクトリの相対指定ではなく、絶対指定の場合には、 パスを %2F で開始する必要があり、 .Li ftp://root:mypass@localhost/%2Fetc/passwd のように指定します。 .Nm は、 .Tn ftp URL の複数のスラッシュを圧縮して単一のスラッシュにします。 リテラルで複数のスラッシュが存在すると、 .Tn ftp プロトコルエラーとなります。 .Sh プロキシサーバ 防火壁の中の多くのサイトは、信用できるプロトコルで防火壁を通して 通信を行なうためにアプリケーションゲートウェイ (``プロキシサーバ'') を利用します。 .Nm プログラムは、プロキシサーバを使った .Tn FTP と .Tn HTTP プロトコルの両方を利用可能です。 .Tn FTP プロキシサーバは .Tn FTP の要求だけを取り次ぎ、 .Tn HTTP プロキシサーバは .Tn FTP と .Tn HTTP の両方の要求を取り次ぎます。 プロキシサーバは、環境変数 .Dq Va PROTO Ns Ev _PROXY を定義することで設定されます。 ここで、 .Va PROTO はプロトコルの名前で、英大文字で記述します。 環境変数の値には、ホスト名と必要ならばコロン (:) に続けてポート番号を 指定します。 .Pp .Tn FTP プロキシクライアントは、 .Do Va remoteuser Ns Li \&@ Ns Va remotehost .Op Li \&@ Ns Va port .Dc という形式の ホスト名とポート番号を遠隔地のユーザ名として送ります。 .Tn HTTP プロキシクライアントは、 .Tn HTTP .Dq Li GET 要求を出した時に、単純に要求を出した元の URI を遠隔サーバに送ります。 HTTP プロキシによる認証は、いまはまだ実装されていません。 .Sh HTTP による認証 .Tn HTTP プロトコルは、さまざまな種類の認証方法の提供を含んでいます。 現在、 .Nm fetch がサポートしている方式は .Dq basic 方式だけです。 この方法は、パケットの盗み見や人間が間に介在した攻撃にはセキュリティを 提供しません。 認証は、 .Ev HTTP_AUTH と .Ev HTTP_PROXY_AUTH 環境変数を設定することで可能となります。 両環境変数は、次のような同じ形式をしています。 空白で区切られたパラメータの設定リストからなり、個々の設定はコロンで 分けられたパラメータのリストからなります。最初の二つのパラメータはいつも (大文字でも小文字でも構わない) 認証方法名と認証が行われる範囲です。 認証範囲が .Sq Li \&* の形式で指定されている時、他に指定されていない全ての範囲とみなされます。 .Pp .Li basic 認証方式は、二つのオプションのパラメータを利用します。 一つ目はユーザ名で、2 番目はそれに付けられたパスワードです。 環境でパスワードもしくは両方のパラメータが指定されていなく、 .Nm の標準入力が端末である時には、 .Nm は欠けているパラメータの入力をユーザにうながします。 したがって、ユーザが .Dq Li jane で .Dq Li WallyWorld 範囲の認証で、パスワードが .Dq Li QghiLx79 であるなら、彼女は .Ev HTTP_AUTH 環境変数を以下のように設定します。 .Bl -enum -offset indent .It .Dq Li basic:WallyWorld:jane:QghiLx79 .It .Dq Li basic:WallyWorld:jane .It .Dq Li basic:WallyWorld .El .Pp .Nm は欠けている情報が必要な場合は、尋ねてきます。 彼女は、認証範囲を .Dq Li WallyWorld と指定する代わりに、 .Dq Li \&* と指定することで、どんな範囲でも認証を行うことを示せます。 これは、 .Dq Li basic:* の様なもっとも一般的に使われる設定です。 この設定は、 .Nm にどんな認証範囲であっても .Li basic 認証を行わせることを指示します。 .Sh エラー .Nm は成功した時は 0 を返します。 また、失敗した場合には、 .Aq Pa sysexits.h で定義される 0 でない値が返されます。 複数の URI が再試行のために与えられた時、 .Nm は全てを試して、全て成功した場合だけ 0 を返します (それ以外の場合は、最後の失敗のエラーを返します)。 .Sh 環境変数 .Bl -tag -width FTP_PASSIVE_MODE -offset indent .It Ev FTP_TIMEOUT .Tn FTP 接続を中断するまでの最大時間を秒で指定します。 .It Ev FTP_LOGIN .Tn FTP 転送で使われるログイン名です。 デフォルトは ``anonymous'' が使われます。 .It Ev FTP_PASSIVE_MODE パッシブモードで FTP を行います。 .It Ev FTP_PASSWORD .Tn FTP 転送で使われるパスワードです。 デフォルトは .Dq Va yourname Ns Li \&@ Ns Va yourhost です。 .It Ev FTP_PROXY .Tn FTP を理解するプロキシサーバのアドレスを .Do Va hostname Ns .Op Li : Ns Va port .Dc の形式で与えます。 .It Ev HTTP_AUTH .Tn HTTP 認証パラメータを定義します。 .It Ev HTTP_PROXY .Tn HTTP を理解するプロキシサーバのアドレスを .Do Va hostname Ns .Op Li : Ns Va port .Dc の形式で与えます。 .It Ev HTTP_PROXY_AUTH .Tn HTTP プロキシサーバのための認証パラメータを定義します。 .It Ev HTTP_TIMEOUT .Tn HTTP 接続を中断するまでの最大時間を秒で指定します。 .Sh 関連項目 .Xr ftp 1 , .Xr tftp 1 .Rs .%A R. Fielding .%A J. Gettys .%A J. Mogul .%A H. Frystyk .%A T. Berners-Lee .%T "Hypertext Transfer Protocol \-\- HTTP/1.1" .%O RFC 2068 .%D January 1997 .Re .Rs .%A T. Berners-Lee .%A L. Masinter .%A M. McCahill .%T "Uniform Resource Locators (URL)" .%O RFC 1738 .%D December 1994 .Re .Rs .%A J. Postel .%A J.K. Reynolds .%T "File Transfer Protocol" .%O RFC 959 / STD 9 .%D October 1985 .Re .Rs .%A M.R. Horton .%T "Standard for interchange of USENET messages." .%O RFC 850 .%D June 1983 .Re .Sh 歴史 .Nm fetch コマンドは .Fx 2.1.5 から導入されました。 .Sh 作者 .Nm のオリジナル実装は .An Jean-Marc Zucconi が行いました。 .Fx 2.2 のために、拡張を行ったのは .An Garrett Wollman です。 .Sh バグ たくさんの環境変数とコマンドラインオプションがあります。 .Pp .Fl a オプションは、ある種類の .Tn HTTP の接続失敗のために実装されており、 .Tn FTP の接続失敗のためではありません。 .Pp .Tn HTTP のために、 .Dq basic 認証モードだけが実装されています。 これは、ダイジェスト認証に置き換えられるべきものです。 .Pp ( .Tn FreeBSD 以外の) 実装には、データが含まれるパケットに .Dv SYN や .Dv FIN の制御フラグが含まれている状況を正しく実装していないものがあります。 .Sq Fl t フラグは後者に対する対処を行い、 .Sq Fl b フラグは前者に対する対処を行います。 これらはサーバの .Tn TCP スタックのエラーですから、我々ができる最良の解はこれらの対処です。 正しいサーバとの通信の場合には、 .Fl t および .Fl b を含まない最良の .Tn HTTP 転送が実現されます。 (少ない返答の場合) ラウンドトリップ回数は最小の 2 回となり、 他の実装よりも 1 回少なくなります。 .Pp .Tn HTTP 標準は、 .Tn RFC 850 の日付書式解釈を要求しますが、この書式は世紀情報を提供しません。 .Fx 3.1 以前のバージョンの .Nm fetch は、そのような日付を 1900 年代と解釈します。 このバージョンの .Nm fetch は、そのような日付を .Tn RFC 2068 にある次の規則に従って解釈します: .Bd -literal -offset indent o HTTP/1.1 クライアントおよびキャッシュは、50 年より先の未来の RFC-850 形式の日付を、実際は過去の日付であると解釈すべきです (これが「2000 年問題」解決の助けになります)。 .Ed diff --git a/ja_JP.eucJP/man/man1/ftp.1 b/ja_JP.eucJP/man/man1/ftp.1 index 1c2f65e15c..981008e83e 100644 --- a/ja_JP.eucJP/man/man1/ftp.1 +++ b/ja_JP.eucJP/man/man1/ftp.1 @@ -1,1379 +1,1379 @@ -.\" %Id: ftp.1,v 1.8 1998/03/01 18:58:03 steve Exp % +\" %Id: ftp.1,v 1.8.2.3 1999/07/03 11:57:10 des Exp % .\" %NetBSD: ftp.1,v 1.21 1997/06/10 21:59:58 lukem Exp % .\" .\" Copyright (c) 1985, 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ftp.1 8.3 (Berkeley) 10/9/94 .\" jpman %Id: ftp.1,v 1.3 1997/08/20 12:54:33 horikawa Stab % .\" .Dd August 18, 1997 .Dt FTP 1 .Os BSD 4.2 .Sh 名称 .Nm ftp , pftp , gate-ftp .Nd .Tn ARPANET ファイル転送プログラム .Sh 書式 .Nm -.Op Fl a -.Op Fl d -.Op Fl e -.Op Fl g -.Op Fl i -.Op Fl n -.Op Fl U -.Op Fl p +.Op Fl adeginptUvV .Op Fl P Ar port -.Op Fl t -.Op Fl v -.Op Fl V +.Op Fl s Ar src_addr .Op Ar host Op Ar port .Nm ftp ftp://[\fIuser\fR:\fIpassword\fR@]\fIhost\fR[:\fIport\fR]/\fIfile\fR[/] .Nm ftp http://\fIhost\fR[:\fIport\fR]/\fIfile\fR .Nm ftp \fIhost\fR:[/\fIpath\fR/]\fIfile\fR[/] .Sh 解説 .Nm は、 .Tn ARPANET 標準のファイル転送プロトコルを用いてファイル転送を実現するためのコマンドです。 本コマンドは、ネットワークを介して接続されているコンピュータ間で ファイルを転送する手段をユーザに提供します。 .Pp 書式の後ろから 3 つの使用例の形式では HTTP または FTP プロトコルの いずれかを使ってファイルをカレントディレクトリに取得します。 これはスクリプト用に理想的です。 より詳しい情報については .Sx ファイルの自動的な取得 を参照して下さい。 .Pp オプションは、コマンドライン上か、コマンドインタプリタで指定できます。 -.Bl -tag -width "port " +.Bl -tag -width Fl .It Fl a .Nm は通常のログイン手続きを飛ばして、かわりに anonymous ログインを 使います。 .It Fl d デバッグを有効にします。 .It Fl e コマンドラインでの編集を無効にします。 .It Fl g ファイル名展開を無効にします。 -.It Fl U -データポートの範囲制限を無効にします。 .It Fl i 複数ファイル転送を行っている間の対話的プロンプトモードを オフにします。 .It Fl n .Nm が最初に接続する際の .Dq 自動ログイン を行いません。 自動ログインが許可された場合は、 .Nm は起動したユーザのホームディレクトリの .Pa .netrc (下記参照) ファイルに、リモートマシンのアカウントを記述している エントリがあるかどうかを調べます。 そのファイルにエントリがない場合には、 .Nm はリモートマシン上のログイン名 (デフォルトはローカルマシンでのユーザ ID) を要求します。 そして、もし必要があればログイン用のパスワードと アカウントの入力も促します。 .It Fl p 防火壁を越える接続のためのパッシブモード操作を有効にします。 .Nm pftp コマンドを使うのと同じです。 .It Fl P Ar port ポート番号を .Ar port に設定します。 +.It Fl s Ar src_addr +すべての接続に使用するローカル側の IP アドレスを +.Ar src_addr +に設定します。IP アドレスとホスト名のどちらでも指定できます。 .It Fl t パケットのトレースを有効にします。 +.It Fl U +データポートの範囲制限を無効にします。 .It Fl v 饒舌モードを有効にします。 入力が端末からの場合はこれがデフォルトです。 .Nm はデータ転送状況と、 リモートサーバからのすべてのレスポンスを表示します。 .It Fl V 入力が端末からの場合に、デフォルトで有効になっているのを無視して 饒舌モードを無効にします。 .El .Pp .Nm は、通信相手をコマンドラインで指定することが出来ます。通信相手を コマンドラインで指定した場合、 .Nm は指定したリモートマシンの .Tn FTP サーバプログラムとの接続を試みます。それ以外の場合、 .Nm は内部のコマンドインタプリタに入り、ユーザからの コマンド入力を待ちます。このとき .Nm は、 .Ql ftp> というプロンプトを出力します。 本状態の時には、 .Nm は以下のコマンドを受け付けます。 .Bl -tag -width Fl .It Ic \&! Op Ar command Op Ar args ローカルマシン上でシェルを起動します。 引数が指定された場合、最初の引数をコマンドとして実行し、 それ以降の引数はそのコマンドに対する引数として処理されます。 .It Ic \&$ Ar macro-name Op Ar args .Ar macro-name で定義されたマクロを実行します。マクロは、 .Ic macdef コマンドで定義出来ます。 .Ar args で指定された文字列は、展開されずにマクロに対して引き渡されます。 .It Ic account Op Ar passwd 一旦ログインに成功したユーザが、資源を扱うためにリモートマシンから 要求された追加のパスワードを入力します。 引数が指定されない場合、ユーザに対してパスワード入力を促す表示がされます。 この場合はパスワードはエコーバックされません。 .It Ic append Ar local-file Op Ar remote-file ローカルファイルをリモートマシン上のファイルに追加書き込みします。 もし、 .Ar remote-file が指定されていなければ、ローカルファイルの名前を .Ic ntrans や .Ic nmap で修正した名前をリモートファイル名として使います。 ファイル転送では .Ic type , .Ic format , .Ic mode , .Ic structure の現在の設定が使われます。 .It Ic ascii 転送ファイルの .Ic type をネットワーク .Tn ASCII 形式にします。 これはデフォルト時の設定です。 .It Ic bell 各ファイル転送コマンド終了時にベルを鳴らすかどうかを指定します。 .It Ic binary 転送ファイルの .Ic type をバイナリ形式にします。 イメージファイルなど、バイナリファイルを転送する時には本指定は必須です。 .It Ic bye リモートサーバとの .Tn FTP セッションを終了し、 .Nm を終了します。 EOF を入力した場合も同様です。 .It Ic case .Ic mget コマンドで連続してファイルを取得する場合、リモートマシン上の ファイル名の大文字小文字の対応を切り替えます。 デフォルトでは .Ic case はオフですが、オンの場合にはリモートマシンファイル名の すべての大文字が小文字に変換されて、ローカル マシンのディレクトリに 書き込まれます。 .It Ic \&cd Ar remote-directory リモートマシン上での作業ディレクトリを .Ar remote-directory へ変更します。 .It Ic cdup リモートマシン上での作業ディレクトリを一つ上に変更させます。 .It Ic chmod Ar mode file-name .Ar file-name で指定したリモートマシン上のファイルの属性を、 .Ar mode で指定したものに変更します。 .It Ic close リモートサーバとの .Tn FTP セッションを終了します。そしてコマンド入力待ちのプロンプトを表示します。 すでに定義されたマクロはすべて無効になります。 .It Ic \&cr ASCII 形式ファイルの転送を行なう場合に、 復帰コードの除去を行なうかどうかを変更します。 ASCII 形式のファイル転送時には、 復帰/改行 の文字列によってレコードが認識されます。 .Ic \&cr がオン (デフォルト) の時には、改行コードのみでレコードを区切る .Ux に適合するように、 復帰コードが文字列から除去されます。 .Ux 以外のリモートのシステムのレコードは 単独の改行コードを含む可能性があります。 ASCII 形式で転送を行った時には、そういった改行コードは .Ic \&cr がオフの場合にだけレコード区切り記号と区別して扱われます。 .It Ic delete Ar remote-file リモートマシン上のファイル .Ar remote-file を削除します。 .It Ic debug Op Ar debug-value デバッグモードを切り替えます。 .Ar debug-value が指定されるとデバッグレベルとして設定されます。 デバッグモードが有効になると、 .Nm はリモートマシンに送信されたコマンドを .Ql \-\-> に続けて表示します。 .It Ic dir Op Ar remote-directory Op Ar local-file リモートマシン上のディレクトリの内容を表示します。 表示内容にはサーバが選択したシステム依存の情報を含みます。 例えば大部分の .Ux システムは .Ql ls \-l コマンドから得られる出力を表示します。 ( .Ic ls も参照して下さい) もし .Ar remote-directory が指定されなければ、リモートマシン上のカレントディレクトリの内容が 表示されます。 もしプロンプトがオンだったら、 .Nm は、最後の引数が本当に .Ic dir の出力を書き込むローカルファイルかどうか問い合わせます。 ローカルファイルの指定が無い場合、または .Ar local-file の指定が .Sq Fl だった場合は出力は画面に表示されます。 .It Ic disconnect .Ic close と同じです。 .It Ic edit コマンドラインの編集機能、そして文脈に応じたコマンドとファイルの 補完機能を切り替えます。 これは入力が端末の場合は自動的に有効になり、そして そうでなければ無効になります。 .It Ic exit .Ic bye と同じです。 .It Ic ftp Ar host Op Ar port .Ic open と同じです。 .It Ic form Ar format ファイル転送様式を .Ar format と指定します。 デフォルトでは、様式は \*(Lqfile\*(Rq となります。 .It Ic get Ar remote-file Op Ar local-file リモートマシン上のファイル .Ar remote-file を取得してローカルマシン上に格納します。 ローカルファイル名 .Ar local file が指定されない場合、 ローカルファイル名は取得したファイルの リモートマシン上の名前と同じになります。 ただし、その名前は .Ic case , .Ic ntrans , .Ic nmap の設定により変更される事があります。 ファイル転送の時には現在の .Ic type , .Ic form , .Ic mode , .Ic structure の設定が使用されます。 .It Ic gate Op Ar host Op Ar port gate-ftp モードを切り替えます。 これは gate-ftp サーバが設定されていないと有効になりません (ユーザによって明示的に、または .Ev FTPSERVER 環境変数によって)。 .Ar host が与えられると、 gate-ftp モードが有効になり、そして gate-ftp サーバが .Ar host に設定されます。 .Ar port も同時に与えられると、それが gate-ftp サーバへ接続する際のポートとして使用されます。 .It Ic glob .Ic mdelete , .Ic mget , .Ic mput を行なう場合のファイル名の展開のオン/オフを切り替えます。 .Ic glob がオフの場合には、ファイル名は展開されずにそのままになります。 .Ic mput でのファイル名展開の規則は .Xr csh 1 のファイル名展開規則と同様です。 .Ic mdelete と .Ic mget の場合には、 各々のリモートファイル名はリモートマシン上で別々に展開され、 リストはマージされません。 ディレクトリ名の展開は普通のファイル名の展開と異なる事があります。 つまり、展開の結果はリモートの OS と FTP サーバに依存しています。 これは .Ql mls remote-files \- を実行する事によってあらかじめ知ることができます。 注意: .Ic mget と .Ic mput はファイルのディレクトリ・サブツリーを全て転送する物ではありません。 そのようにしたい時はサブツリーの .Xr tar 1 のアーカイブを作成してバイナリモードで転送します。 .It Ic hash Op Ar size 1 データブロック転送するごとに ハッシュサイン (``#'') を出力するかどうかを切り替えます。 デフォルトでは 1 データブロックは 1024byte です。 これは .Ar size でバイト単位で指定する事で変更できます。 .It Ic help Op Ar command 引数 .Ar command で指定したコマンドのヘルプメッセージを出力します。 引数が与えられない場合、 .Nm は使用可能なコマンドの一覧を出力します。 .It Ic idle Op Ar seconds リモートサーバ上のアイドルタイマを .Ar seconds 秒に設定します。 .Ar seconds が与えられない場合は現在のアイドルタイマ値を表示します。 .It Ic lcd Op Ar directory ローカルマシン上の作業ディレクトリを変更します。 .Ar directory 名が与えられない場合はユーザのホームディレクトリに移動します。 .It Ic less Ar file .Ic page と同じです。 .It Ic lpwd ローカルマシン上の作業ディレクトリを表示します。 .It Ic \&ls Op Ar remote-directory Op Ar local-file リモートマシンのディレクトリの内容のリストを表示します。 .Ar remote-directory の指定が無い場合には、 代わりに現在の作業ディレクトリが使われます。 もしプロンプトモードになっているならば, .Nm は、最後の引数が .Ic ls の出力を受け取るローカルのファイルであるかをユーザに問い合わせます。 .Ar local-file の指定がない場合や .Fl が指定されている場合には、 出力は画面に表示されます。 .It Ic macdef Ar macro-name マクロ定義を行ないます。 後続の行がマクロ .Ar macro-name として格納されます。 空行 (1 つのファイル内での連続した改行文字や端末からの連続した 復帰文字) は マクロの入力モードを終了させます。 マクロの数の制限は 16 個で、定義されたマクロ全部で 4096 文字までがゆるされています。マクロは .Ic close コマンドが実行されるまで持続します。 マクロプロセッサは `$' と `\e' を特別な文字として解釈します。 1つ以上の数字が続く `$' は、コマンドラインで呼び出したマクロの 対応する引数によって置き換えられます。 後ろに `i' が続く `$' は、マクロプロセッサに対して実行している マクロのループを指示します。 最初のパスで `$i' はマクロを呼び出したコマンドラインの最初の引数に 置き換えられ、2 回目のパスで 2 つ目の引数に置き換えられ、それ以降も 同様に置き換えられます。 後ろに任意の文字が続いている `\e' はその文字に置き換えられます。 `\e' は `$' の特別な扱いを避けるために使用します。 .It Ic mdelete Op Ar remote-files リモートマシンの .Ar remote-files を削除します。 .It Ic mdir Ar remote-files local-file 複数のリモートファイルを指定出来る点を除くと .Ic dir と同様です。 プロンプトがオンの時には、 .Nm は最後の引数が .Ic mdir の出力を受け取るローカルファイルであるかをユーザに問い合わせます。 .It Ic mget Ar remote-files リモートマシンで .Ar remote-files で指定されたファイルを展開し、展開後の各ファイル名のファイルに対して .Ic get を実行します。 ファイル名の展開の詳細は .Ic glob を参照してください。 生成されたファイル名は .Ic case , .Ic ntrans , .Ic nmap の設定に従い処理されます。 ファイルはローカルの作業ディレクトリに転送されます。 そのディレクトリは .Ql lcd directory で変更できます。 ローカルの新しいディレクトリは .Ql "\&! mkdir directory" で作成できます。 .It Ic mkdir Ar directory-name リモートマシンにディレクトリを作ります。 .It Ic mls Ar remote-files local-file 複数のリモートファイル名を指定できる点と .Ar local-file を必ず指定しなければならない点を除くと .Ic ls と同様です。 プロンプトがオンの時には、 .Nm は最後の引数が .Ic mls の出力を受け取る目標のローカルファイルであるかをユーザに確認します。 .It Ic mode Op Ar mode-name ファイル転送モード .Ic mode を .Ar mode-name で指定したものに設定します。 デフォルトは \*(Lqstream\*(Rq です。 .It Ic modtime Ar file-name リモートマシン上の指定ファイルの最終更新日時を参照します。 .It Ic more Ar file .Ic page と同じです。 .It Ic mput Ar local-files 引数として与えられたローカルファイルのリスト中の ワイルドカードを展開し、 展開後の各ファイル名のファイルに対して .Ic put を実行します。 ファイル名の展開の詳細については .Ic glob を参照してください。 生成されたファイル名は .Ic ntrans と .Ic nmap の設定に従って処理されます。 .It Ic msend Ar local-files .Ic mput と同じです。 .It Ic newer Ar file-name リモートマシンのファイルの最終更新日時の方が ローカルマシンのファイルより新しい場合にのみファイルを取得します。 現在のシステムにファイルが無いときには、リモートファイルの方が .Ic 新しい ものとして扱われます。 その他については .Ar get と同じです。 .It Ic nlist Op Ar remote-directory Op Ar local-file .Ic ls と同じです。 .It Ic nmap Op Ar inpattern outpattern ファイル名のマッピング機能を設定したり解除したりします。 引数が無い場合にはマッピング機能が解除されます。 引数がある場合には、出力先のリモートファイル名の指定されていない .Ic mput コマンドと .Ic put コマンドの実行時に、リモートファイル名がマップされます。 同様な事が .Ic mget コマンドと .Ic get コマンドのローカルファイル名についても行われます。 このコマンドはファイルの命名規則が異なる .Ux ではないリモートマシンとの接続時に便利です。 マッピングは .Ar inpattern と .Ar outpattern によって設定されたパターンに従って行われます。 .Op Ar inpattern は (すでに .Ic ntrans と .Ic case によって処理されているかもしれない) 入力ファイル名のためのテンプレートです。 .Ar inpattern に `$1', `$2', ..., `$9' の文字列を含むことによって、 変数を使用したテンプレートも使えます。 `$' を特別扱いしたくない時には `\\' を使ってください。 他の文字はそのままその文字として扱われ、 .Ic nmap の .Op Ar inpattern 変数の値を決めるのに用いられます。 例えば、 .Ar inpattern として $1.$2 が、 リモートファイルの名前として "mydata.data" が 与えられた時に、$1 は "mydata" という値となり, $2 は "data" という値になります。 .Ar outpattern は生成されるマッピング後のファイル名を決定します。 文字列の `$1', `$2', ...., `$9' は .Ar inpattern のテンプレートから生成される値に置き換えられます。 文字列の `$0' は元のファイル名で置き換えられます。 さらに、文字列の .Ql Op Ar seq1 , Ar seq2 は .Ar seq1 が空文字列でない時には .Op Ar seq1 に、 空文字列の時には .Op Ar seq2 に置き換えられます。 例えばコマンド .Pp .Bd -literal -offset indent -compact nmap $1.$2.$3 [$1,$2].[$2,file] .Ed .Pp は、 入力ファイル名 "myfile.data" と "myfile.data.old" に対して出力ファイル名が "myfile.data" になり、 入力ファイル名 "myfile" に対して出力ファイル名が "myfile.file" になり、 入力ファイル名 ".myfile" に対して 出力ファイル名が "myfile.myfile"になります。 例えば、`nmap $1 sed "s/ *$//" > $1' のように、 .Ar outpattern にはスペースが入っていても構いません。 文字 `$', `[', `]', `,' を特別扱いしたくない時には `\e' を使ってください。 .It Ic ntrans Op Ar inchars Op Ar outchars ファイル名の文字変換機能を設定したり解除したりします。 引数が無い場合には文字変換機能が解除されます。 引数がある場合には、出力先のリモートファイル名の指定されていない .Ic mput コマンドと .Ic put コマンドの実行時にリモートファイル名が変換されます。 同様な事が .Ic mget コマンドと .Ic get コマンドでもローカルファイルに対して行われます。 このコマンドは、 .Ux とは異なるファイル命名規則のリモートマシンとの接続時に有効です。 ファイル名中の文字で、 .Ar inchars の中の文字に一致するものが .Ar outchars の対応する文字に置き換えられます。 .Ar inchars の中での文字の位置が .Ar outchars の長さを越えている時には、その文字はファイル名から削除されます。 .It Ic open Ar host Op Ar port 指定した .Ar host の .Tn FTP サーバとのコネクションを確立します。 ポート番号 .Ar port を指定した場合、 .Nm は指定したポート番号を用いて .Tn FTP サーバとのコネクションの確立を試みます。 .Ic 自動ログイン オプションがオン (デフォルト時) の場合には、 .Nm は自動的に .Tn FTP サーバに対してログインを行ないます (以下を参照)。 .It Ic page Ar file .Ic file を取得して、 .Ev PAGER で指定されたプログラム (デフォルトは .Xr less 1 ) を使って表示します。 .It Ic passive パッシブモードを切り替えます。パッシブモードがオン (デフォルトはオフ) なら、ftp クライアントは すべてのデータコネクションにおいて、通常の .Dv PORT コマンドの代わりに .Dv PASV コマンドを送ります。 .Dv PASV コマンドはリモートのサーバにデータコネクションのためのポートを 開いて、そのポートのアドレスを返すよう要求します。 リモートサーバはそのポートで待ち、クライアントはそこに接続します。 より伝統的な .Dv PORT コマンドを使う場合は、クライアントがポートで待ち、そしてそのアドレスを リモートサーバに送ってリモートサーバはそこに接続して来ます。 パッシブモードは ゲートウェイ・ルータやトラフィックの方向を制御しているホストを 経由して .Nm を使う場合に有用です。 (注意: ftp サーバが RFC 1123 の .Dv PASV コマンドをサポートしている必要がありますが、サポートしていない 場合もあります。) .It Ic preserve 受け取ったファイルの更新日時を保存するかどうかを切り替えます。 .It Ic progress 転送の進行状況を表す棒グラフ表示を切り替えます。 この棒グラフは、 .Ar ローカルファイル として .Sq Fl か .Sq \&| で始まるコマンドが指定された転送では表示されません。 詳しくは .Sx ファイル名の規則 を参照して下さい。 .It Ic prompt 対話的プロンプトモードを切り替えます。 対話的プロンプトモードをオンにすることで、 複数ファイル転送時に転送ファイルの選択を行なえます。 対話的プロンプトモードをオフにすると (デフォルトはオン)、 .Ic mget や .Ic mput で指定したファイルはすべて転送され、 .Ic mdelete で指定したファイルはすべて削除されます。 .Pp プロンプトモードがオンの時には、プロンプトにおいて以下の コマンドが使用できます: .Bl -tag -width 2n -offset indent .It Ic n ファイルを転送しません。 .It Ic a 現在のファイルについて .Sq yes とし、自動的に現在のコマンドに対する残りのすべての ファイルに対しても .Sq yes とします。 .It Ic p 現在のファイルについて .Sq yes とし、プロンプトモードをオフにします (あたかも .Dq prompt off が指定されたかのように)。 .El .Pp これ以外の応答は現在のファイルに対する .Sq yes として扱われます。 .It Ic proxy Ar ftp-command ftp コマンドを 2 次制御接続上で実行します。 本コマンドを用いることで、同時に 2 つのリモートマシンとコネクションを確立し、 2 つのサーバ間でファイル転送を行なうようにすることができるようになります。 最初の .Ic proxy コマンドは .Ic open コマンドである必要があります。 これは、2 次的な制御コネクションを確立するために必要な操作です。 "proxy ?" とコマンドを実行することで、 2 次接続下で使用可能なコマンド一覧が表示されます。 以下のコマンドは .Ic proxy の後におかれた時には異なった働きをします。 .Ic open は自動ログイン処理中には新しいマクロの定義を行いません。 .Ic close はマクロの削除を行いません。 .Ic get と .Ic mget は 1次制御接続のホストから 2次制御接続のホストにファイルの転送を行います。 .Ic put と .Ic mput と .Ic append は 2次制御接続のホストから 1次制御接続のホストにファイルの転送を行います。 第三者のファイル転送は、2次制御接続のサーバが FTP プロトコルの .Dv PASV コマンドをサポートしているかどうかに依存します。 .It Ic put Ar local-file Op Ar remote-file ローカルマシン上の指定ファイルをリモートマシンに転送します。 .Ar remote-file が指定されない場合には、転送先でのファイル名は、 .Ic ntrans か .Ic nmap の設定に基づく処理を行ったローカルファイルの名前が用いられます。 ファイル転送には .Ic type , .Ic format , .Ic mode , .Ic structure の現在の設定が用いられます。 .It Ic pwd 現在のリモートマシン上での作業ディレクトリを表示します。 .It Ic quit .Ic bye と同じです。 .It Ic quote Ar arg1 arg2 ... 引数で指定した文字列を、そのままリモート .Tn FTP サーバに送信します。 .It Ic recv Ar remote-file Op Ar local-file .Ic get と同じです。 .It Ic reget Ar remote-file Op Ar local-file getと似ていますが、 .Ar local-file が存在しており .Ar remote-file よりサイズが小さい場合には、 .Ar local-file がリモートファイルの一部であるとみなして続きをコピーする点が異なります。 本コマンドは、大きいファイルの転送中にコネクションが 切断されてしまった場合の続きを受信しなおす場合などに有用です。 .It Ic remotehelp Op Ar command-name リモート .Tn FTP サーバのヘルプメッセージを要求します。 .Ar command-name が指定された場合にはそのコマンドのヘルプが表示されます。 .It Ic rstatus Op Ar file-name 引数がない場合にはリモートマシンのステータスが表示されます。 .Ar file-name が指定されている場合には、 リモートマシン上の指定ファイルのステータスが表示されます。 .It Ic rename Op Ar from Op Ar to リモートマシン上のファイル .Ar from が、 .Ar to というファイル名にリネームされます。 .It Ic reset リプライキューをクリアします。 本コマンドはコマンド/リプライのシーケンスの再同期をとるのに使われます。 再同期を取ることは ftp プロトコル上の障害が発生した時に必要な操作です。 .It Ic restart Ar marker .Ic get や .Ic put を指定した .Ar marker 位置から再開します。 .Ux システムにおいては、通常 marker はファイルのバイトオフセットで指定します。 .It Ic restrict データポートの幅を制限するかをオン/オフします。 パッシブモードでない時に、 .Nm クライアントはリモートサーバに対して、独立したデータポートで クライアントホストに接続してくることを要求します。 前のバージョンでは、そのリモートポートは 1024 から 4999 までの幅に 収まっていました。 しかしほとんどの防火壁 (fire wall) では、その範囲に他のサービスが あるために TCPポートをフィルタリングしています。 -現在のデフォルトの動作では、ポート番号が 40000 から 44999 の間で、 +現在のデフォルトの動作では、ポート番号が 49152 から 65535 の間で、 サーバがクライアントに対して接続してくることを要求します。 もしセキュリティ上の危険性がないと考えるならば、防火壁管理者は その幅での TCP 接続に対して許可を行うという選択ができます。 .It Ic rmdir Ar directory-name リモートマシン上のディレクトリを消去します。 .It Ic runique ローカルマシンに保存されるファイルに対して ユニークな名前を付加するかどうかを切り替えます。 .Ic get や .Ic mget コマンドで目的のローカルファイルと同じ名前のファイルが既に存在する時には、 ".1" が名前に付加されます。 その名前も既に存在する時には ".2" が付加されます。 このように順番に処理をし、 ".99" になっても存在する時には エラーメッセージが表示され、転送は行われません。 生成されたユニークなファイル名は報告されます。 注意: .Ic runique はシェルコマンドで生成されるファイル名には効果がありません (下記参照)。 デフォルトではオフになっています。 .It Ic send Ar local-file Op Ar remote-file .Ic put と同じです。 .It Ic sendport .Dv PORT コマンドを使用するかどうか切り替えます。 デフォルトでは、 .Nm は各データ転送用のコネクションの確立の際に .Dv PORT コマンドの使用を試みます。 .Dv PORT を使うことで複数ファイル転送を行なう場合の遅延を避けることが出来ます。 .Dv PORT コマンドが失敗した場合、 .Nm はデフォルトのデータ・ポートを使用します。 .Dv PORT コマンドが無効になった場合、データ転送時に .Dv PORT コマンドは使われません。 これはある種の .Tn FTP の実装で .Dv PORT コマンドは無視するが、誤っていて、受け入れたと返事を返すような 物に対して有効です。 .It Ic site Ar arg1 arg2 ... 引数で指定した文字列を、 .Dv SITE コマンドの引数としてそのまま .Tn FTP サーバに送信します。 .It Ic size Ar file-name リモートマシン上の .Ar file-name で指定したファイルのサイズを表示します。 .It Ic status .Nm の現在の状態を表示します。 .It Ic struct Op Ar struct-name ファイル転送の .Ar structure を .Ar struct-name に設定します。 デフォルトでは、\*(Lqstream\*(Rq に設定されています。 .It Ic sunique リモートマシン上に転送するファイルのファイル名に対して、 一意な名前を付与するかどうかを切り替えます。 この機能が使えるためには、 リモートの FTP サーバが FTP のプロトコルの .Dv STOU コマンドをサポートしていなければなりません。 リモートサーバがユニークな名前を報告します。 デフォルトではこの機能はオフになっています。 .It Ic system リモートマシンで稼働している OS のタイプを表示します。 .It Ic tenex .Tn TENEX マシンと 通信するために必要なファイル転送モードを設定します。 .It Ic trace パケットトレースをするかどうかを切り替えます。 .It Ic type Op Ar type-name ファイル転送の .Ic type を .Ar type-name に変更します。引数が指定されない場合には 現在のファイル転送タイプを表示します。 デフォルトタイプはネットワーク .Tn ASCII です。 .It Ic umask Op Ar newmask リモートサーバのデフォルトの umask 値を .Ar newmask で指定した値に変更します。 .Ar newmask が指定されていない場合は現在の umask 値を表示します。 .It Xo .Ic user Ar user-name .Op Ar password Op Ar account .Xc ユーザをリモート .Tn FTP サーバに認識させます。 .Ar password が指定されていなくて、 .Tn FTP サーバが必要とする場合は (ローカルエコーをオフにしてから) .Nm がユーザに問い合わせます。 .Ar account が指定されていなくて、 .Tn FTP サーバが必要とする場合には、 .Nm がユーザに問い合わせます。 リモートサーバがログイン時にアカウントを必要としないのに .Ar account フィールドが指定された場合には、ログイン処理の完了後に account コマンドがリモートサーバに渡されます。 「自動ログイン」を無効にした状態で .Nm が呼び出されない限り、 この処理は .Tn FTP サーバに最初につながった時に自動的に行われます。 .It Ic verbose 饒舌モードの切り替えをします。 饒舌モードの時には .Tn FTP サーバからの全ての応答が表示されます。 さらにこのモードがオンの時には、ファイル転送が終了した時に 転送効率に関する統計が報告されます。 デフォルトではオンになっています。 .It Ic ? Op Ar command .Ic help コマンドと同じです。 .El .Pp スペースを含むコマンドの引数は、`"' マークで括って下さい。 .Pp 設定を切り替えるコマンドでは、設定を指定するために明示的に .Ic on か .Ic off を引数として指定できます。 .Pp .Nm が転送中に .Dv SIGINFO ( .Xr stty 1 の引数 .Dq status を参照) シグナルを受けると、その時点での転送レートの統計情報が 終了時の標準的なフォーマットと同じ形式で標準エラー出力に書き出されます。 .Sh ファイルの自動取得 標準的なコマンドに加えて、 このバージョンの .Nm は自動取得の機能をサポートします。 単にホスト名/ファイルのリストをコマンドラインで渡すと 自動取得が有効になります。 .Pp 自動取得の指定では以下の形式を認識します: .Bl -tag -width "host:/file" .It host:/file .Dq 古典的な ftp の形式 .It ftp://[user:password@]host[:port]/file ftp URL 形式で、 .Ev ftp_proxy が定義されていなければ ftp プロトコルで取得します。 そうでなければ .Ev ftp_proxy で指定されたプロキシを経由した http を使って転送します。 .Ar user:password@ が指定されていて .Ev ftp_proxy が定義されていない場合は、 パスワードに .Ar password を使って .Ar user でログインします。 .It http://host[:port]/file HTTP URL 形式、http プロトコルで取得します。 .Ev http_proxy が定義されている場合は、その内容が HTTP プロキシサーバの URL として使用されます。 .El .Pp 古典的な形式または ftp URL形式で最後に .Sq / がある場合は、 .Nm はサイトに接続して与えられたパスのディレクトリに .Ic cd し、以降の入力を受け付けるために対話モードに入ります。 .Pp 自動取得の対象が複数指定されていて、連続しているものが同じホストを 参照している時は、接続の確立と切断によるオーバヘッドを避けるために 複数の転送にわたって接続が維持されます。 .Pp ファイル名の展開がオンで .Ic file が展開の対象となる文字を含んでいるなら ( .Ic glob 参照) .Ic "mget file" と同じ事を行います。 .Pp .Ic file のディレクトリ部分が展開の対象となる文字を含まなければ、 ファイルは .Ic file から .Xr basename 1 で得られる名前で現在のディレクトリに置かれます。 そうでなければリモートの名前をローカルでの名前として使います。 .Sh ファイル転送の中止 ファイル転送を中断するためには、 端末のインタラプトキー (通常は Ctrl-C) を打鍵してください。 データ送信はただちに停止します。 データ受信は、ftp プロトコルの .Dv ABOR コマンドをリモートサーバに送ることでサーバからのデータ送信がとまります。 そしてそれ以降の受信データは捨てられます。 これが行われる速度は、リモートサーバが .Dv ABOR コマンドをサポートする方式に依存します。 リモートサーバが .Dv ABOR コマンドをサポートしていない時には、 リモートサーバが要求したファイルを送り終るまで .Ql ftp> というプロンプトは現れません。 .Pp 端末からの割り込みキー入力は、 .Nm が何かローカルの処理をすでに完了していて リモートサーバからの応答を待っている時には無視されます。 このモードでの長い遅延は上でも述べたように ABOR 処理の結果に よるものか、 ftp のプロトコル違反を含めたリモートサーバによる 予期せぬ動作のどちらかによるものです。 もしリモートサーバの予期せぬ動作の結果による遅延であるならば、 ローカルの .Nm プログラムは手動で終了 (kill) しなければなりません。 .Sh ファイル名の規則 .Nm コマンドの引数として指定されたファイル名は、以下の規則で処理されます。 .Bl -enum .It ファイル名として .Sq Fl が指定された場合、 入力ファイル名の場合には標準入力 .Ar stdin が、 出力ファイル名の場合には標準出力 .Ar stdout が使用されます。 .It ファイル名の先頭の文字が .Sq \&| の場合には、その後に指定された文字列はすべてシェルコマンドと解釈されます。 .Nm は与えられた引数をつけて .Xr popen 3 を用いてシェルを呼び出し、標準入力から (標準出力へ) 読み出し (書き込み) ます。 シェルコマンドにスペースが含まれている時には 引数は引用符で囲まれなければなりません。 (例: \*(Lq" ls -lt"\*(Rq ) 特に有用な例としては \*(Lqdir \&|more\*(Rq があります。 .It -上記のチェックにひっかからず、``globbing'' が許可されている場合、 +上記のチェックにひっかからず、 +.Dq globbing +が許可されている場合、 ローカルファイル名は .Xr csh 1 のファイル名展開規則にしたがって展開されます。 (詳細は .Ic glob コマンドを参照) ただし、 .Nm のコマンドが 1 つのファイル名しか必要としない場合 (例えば .Ic put ) は、ファイル名が展開された後の最初のファイル名だけが使用されます。 .It .Ic mget コマンドと .Ic get コマンドにおいてローカルファイル名が指定されない場合、 ローカルファイル名はリモートファイル名と同一になります。 ただし、これらのファイル名は .Ic case , .Ic ntrans , .Ic nmap の設定によって変わることもあります。 結果として得られたファイル名は、 .Ic runique が設定されていればさらに変わるかもしれません。 .It .Ic mput コマンドと .Ic put コマンドにおいてリモートファイル名が指定されない場合、 リモートファイル名はローカルファイル名と同一になります。 ただし、これらのファイル名は .Ic ntrans , .Ic nmap の設定によって変わることもあります。 結果として得られたファイル名は、 .Ic sunique が設定されていればリモートサーバによって さらに変えられるかも知れません。 .El .Sh ファイル転送パラメータ FTPの仕様にはファイル転送時に影響を及ぼす多くのパラメータがあります。 .Ic type は、\*(Lqascii\*(Rq, \*(Lqimage\*(Rq (binary), \*(Lqebcdic\*(Rq, \*(Lqlocal byte size\*(Rq ( .Tn PDP Ns -10 および .Tn PDP Ns -20 でよく使われます) が指定可能です。 .Nm は、ascii と image のタイプを指定可能なのに加えて、 .Ic tenex モードの転送を指定することにより ローカルバイトサイズ 8 を指定することが可能です。 .Pp .Nm では、他の .Ic mode , .Ic form , .Ic struct のパラメータではデフォルト値だけが使用可能です。 .Sh .netrc ファイル .Pa .netrc ファイルは、自動ログイン処理においてのログインおよび初期設定情報を記述します。 .Pa .netrc ファイルは、ユーザのホームディレクトリに置きます。 .Pa .netrc では以下の予約語が解釈されます。これらはスペース、タブそして new-line によって分割されます。 .Bl -tag -width password .It Ic machine Ar name リモートマシン名 .Ar name を定義します。 自動ログイン処理は .Pa .netrc ファイル中に .Ic machine トークンがあるかどうか探し、そのエントリが .Nm のコマンドラインもしくは .Ic open コマンドの引数と一致するかどうかチェックします。 一致するエントリがあった場合は後に続く .Pa .netrc トークンが処理され、その処理はファイル最後尾に行き着くか他の .Ic machine トークンまたは .Ic default トークンに出くわすまで続きます。 .It Ic default いろんな名前と一致するワイルドカード的な働きがあることを除けば .Ic machine .Ar name と同様です。 .Ic default トークンは、 .Pa .netrc ファイル中に 1 エントリだけが許され、 しかも他の全ての .Ic machine トークンより後ろでなければなりません。 通常は .Pp .Dl default login anonymous password user@site .Pp のように使用されます。 本エントリによって .Pa .netrc に指定の無い ftp サイトに自動で anonymous ログインを試みるようになります。 .Fl n フラグを付加して ftp を起動することで .Pa .netrc ファイルを無視することが出来ます。 .It Ic login Ar name リモートマシンにおけるログイン名を指定します。 本トークンが与えられている場合、自動ログイン処理は .Ar name をログイン名としてログインしようとします。 .It Ic password Ar string パスワードを指定します。 本トークンが指定されている場合でリモートサーバがログイン処理中に パスワードを要求する場合は、自動ログイン処理は指定した文字列を 送ります。 .Pa .netrc ファイルにおいて、 .Ar anonymous 以外のユーザエントリにおいて本トークンが登録されており、なおかつ .Pa .netrc がユーザ以外から読める属性である場合には .Nm は自動ログイン処理を中断します。 .It Ic account Ar string 追加のアカウントパスワードを登録します。 このトークンがあると、 もし追加のアカウントパスワードをリモートホストが必要とする時に 自動ログインプロセスが指定された文字列を与えます。 そうでない場合には、自動ログインプロセスは .Dv ACCT コマンドを与えます。 .It Ic macdef Ar name マクロを定義します。 このトークンの機能は .Nm .Ic macdef コマンドの機能に似ています。 マクロは指定された名前を用いて定義されます。 その内容は .Pa .netrc の次の行から始まり、空行 (改行文字の連続) が現れるまで続きます。 .Ic init というマクロが定義されているならば、 自動ログイン処理の中での最後の段階で自動的に実行されます。 .El .Sh コマンドラインの編集機能 .Nm は .Xr editline 3 ライブラリを使った対話的なコマンドラインの編集をサポートします。 これは .Ic edit コマンドによって有効になり、そして入力が tty からの場合は デフォルトで有効になっています。 カーソルキーで以前の行を呼び出して編集できます。 そして他にも GNU Emacs スタイルの編集用のキーが使えます。 .Pp .Xr editline 3 ライブラリは .Pa .editrc ファイルで設定できます - より詳しくは .Xr editrc 5 を参照して下さい。 .Pp .Nm には、文脈に依存したコマンドとファイル名の補完 (リモートファイルの補完を含む) 機能を提供するための 追加のキー割り当てが用意されています。 これを使うためには .Xr editline 3 の .Ic ftp-complete コマンドにキーを割り当てて下さい。 これはデフォルトで TAB キーに割り当てられています。 .Sh 環境変数 .Nm は、以下の環境変数を使用します。 .Bl -tag -width "FTP_PASSIVE_MODE" .It Ev FTP_PASSIVE_MODE +この変数を +.Sq NO +以外に設定すると、 パッシブモードの FTP をデフォルトで使用します。 .It Ev FTPSERVER .Ic gate が有効な時に gate-ftp サーバとして使用するホスト。 .It Ev FTPSERVERPORT .Ic gate が有効な時に gate-ftp サーバに接続するのに使うポート。 デフォルトは .Dq ftpgate/tcp で .Fn getservbyname を呼び出して返って来たポート。 .It Ev HOME 定義されていれば .Pa .netrc ファイルのデフォルトの置き場所となります。 .It Ev PAGER .Ic page でファイルを表示する際に使われます。 .It Ev SHELL デフォルトで起動するシェルを定義します。 .It Ev ftp_proxy FTP URL リクエストを発行する時に使う FTP プロキシの URL (定義されていなければ標準の ftp プロトコルを使います)。 .It Ev http_proxy HTTP URL リクエストを発行する時に使う HTTP プロキシの URL。 .El .Sh 関連項目 .Xr getservbyname 3 , .Xr editrc 5 , .Xr services 5 , .Xr ftpd 8 .Sh 注釈 .Xr pftp 1 と .Xr gate-ftp 1 コマンドは .Nm にリンクされています。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から実装されました。 .Pp コマンドラインの編集、文脈に依存したコマンドとファイルの補完、 進行状況を表す棒グラフ、ファイルの自動的な取得、 ftp と http 形式の URL、更新時刻の保存といった各種の機能は .Nx 1.3 で Luke Mewburn によって、Jason Thorpe のアシスタントを得て実装されました。 .Sh バグ 多くのコマンドの正しい動作は、リモートサーバの適切な動作に依存します。 .Pp .Bx 4.2 の ascii モードでの転送時の復帰文字の取り扱いのエラーは訂正されています。 この訂正の結果として、 .Bx 4.2 のサーバとの間でバイナリファイルを ascii タイプを使用して転送した時に 不正転送をひき起こすことが あります。この問題を回避するためにはバイナリモードを用いて ファイル転送をして下さい。 diff --git a/ja_JP.eucJP/man/man1/kbdcontrol.1 b/ja_JP.eucJP/man/man1/kbdcontrol.1 index e104ab6aa9..580da0b53d 100644 --- a/ja_JP.eucJP/man/man1/kbdcontrol.1 +++ b/ja_JP.eucJP/man/man1/kbdcontrol.1 @@ -1,116 +1,199 @@ .\" .\" kbdcontrol - a utility for manipulating the syscons keyboard driver section .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" @(#)kbdcontrol.1 .\" jpman %Id: kbdcontrol.1,v 1.3 1997/07/26 21:37:54 horikawa Stab % .\" -.Dd May 22, 1994 -.Dt kbdcontrol 1 +.Dd June 30, 1999 +.Dt KBDCONTROL 1 .Os FreeBSD .Sh 名称 .Nm kbdcontrol -.Nd syscons のキーボードドライバ部分を操作するユーティリティ +.Nd syscons コンソールドライバを操作するユーティリティ .Sh 書式 .Nm .Op Fl dFx -.Op Fl b Ar duration.pitch | Ar [quiet.]belltype +.Op Fl b Ar duration.pitch | Ar belltype .Op Fl r Ar delay.repeat | Ar speed -.Op Fl l Ar mapfile +.Op Fl l Ar keymap_file .Op Fl f Ar # Ar string .Op Fl h Ar size -.Op Fl L Ar mapfile +.Op Fl L Ar keymap_file .Sh 解説 .Nm コマンドは、 キーマップ、リピート速度/ディレイ時間、ベル -といった様々なキーボード関連オプションを syscons に対して -設定するのに用いられます。 +といった様々なキーボード関連オプションを、 +.Xr syscons 4 +コンソールドライバとキーボードドライバに対して設定するのに用いられます。 +.Pp +キーボードオプションは、 +.Pa /etc/rc.conf +中の変数を設定することにより、 +システムブート時に自動設定可能です。 +後述の +.Sx ブート時の設定 +を参照してください。 .Pp 以下のコマンドラインオプションを使用可能です: .Bl -tag -width indent .It Fl b Ar duration.pitch | Ar belltype -ベルの持続時間(duration)をミリ秒で、ピッチ(pitch)をヘルツで設定します。 +ベルの持続時間 (duration) をミリ秒で、ピッチ (pitch) をヘルツで設定します。 代わりに .Ar belltype 引数が指定された場合、この引数は -.Ar normal +.Cm normal (サウンドパラメータを標準値に戻します)か -.Ar visual +.Cm visual (ベルをビジュアルモードにします、 すなわち音を鳴らす代わりに画面をフラッシュさせます) -のいずれかでなければなりません。 +のいずれかであることが必要です。 .Ar belltype の前に語 -.Ar quiet. +.Cm quiet. .\" quiet. と、「.」が付くのが正しい が付いた場合、 ベルを鳴らすプロセスがバックグラウンドの vty にいるときにはベルを鳴らしません。 .It Fl r Ar delay.repeat | Ar speed キーボードの .Ar delay (250, 500, 750, 1000) と .Ar repeat (34, 38, 42, 46, 50, 55, 59, 63, 68, 76, 84, 92, 100, 110, 118, 126, 136, 152, 168, 184, 200, 220, 236, 252, 272, 304, 336, 368, 400, 440, 472, 504) レートを設定します。 代わりに .Ar speed 引数が指定された場合、この引数は -.Ar slow +.Cm slow (1000.504), -.Ar fast +.Cm fast (250.34), -.Ar normal +.Cm normal (500.126) -でなければなりません。 -.It Fl l Ar mapfile +であることが必要です。 +.It Fl l Ar keymap_file キーボードマップをファイル -.Ar mapfile +.Ar keymap_file から読み取って設定します。 +キーボードマップファイルのロードは、 +メニューによるコマンド +.Xw kbdmap 1 +により実行可能です。 .It Fl d 現在のキーボードマップを標準出力にダンプします。 +出力はファイルにリダイレクト可能であり、前述の +.Fl l +オプションを使用して後でカーネルにロードできます。 .It Fl f Ar # Ar string -.BI "\-f\ " #\ string +.\".BI "\-f\ " #\ string .Ar # 番のファンクションキーで文字列 .Ar string が送られるように設定します。 +使用可能なファンクションキーとその番号については、 +キーボードドライバのマニュアルページ +.Pq 例えば Xr atkbd 4 +を参照してください。 .It Fl F ファンクションキー設定を標準状態に戻します。 .It Fl x キーボードマップのダンプを 16 進数表示で行います。 .It Fl h Ar size ヒストリバッファの大きさを .Ar size 行に設定します。 -.It Fl L Ar mapfile +.It Fl L Ar keymap_file キーボードマップをファイル -.Ar mapfile +.Ar keymap_file から読み取り、これをコンパイルした結果の .Ft "struct keymap" を標準出力に書き出します。 +このオプションは第一にプログラマ向けであり、 +おそらく通常の状況下ではほとんど使用しないでしょう。 +.El +.Sh キーボードの設定 +.Ss ブート時の設定 +.Pa /etc/rc.conf +または +.Pa /etc/rc.conf.local +の変数を設定することにより、ブート時にキーボードを設定可能です。 +関連する変数を列挙します。 +.Pp +.Bl -tag -width foo_bar_var -compact +.It Ar keymap +.Fl l +オプション用のキーボードマップファイルを指定します。 +.It Ar keyrate +.Fl r +オプション用のキーボードリピートレートを指定します。 +.It Ar keychange +.Fl f +オプション用のファンクションキー文字列を列挙します。 +.El +.Pp +詳細は +.Xr rc.conf 5 +を参照してください。 +.Ss ドライバの設定 +キーボードマップなどのデフォルト設定オプションの変更を、 +キーボードドライバが許す場合があります。 +その場合、ブート時のオプション設定の必要はなくなります。 +詳細はキーボードドライバマニュアル +.Pq 例えば Xr atkbd 4 , Xr ukbd 4 +を参照してください。 .Sh 関連ファイル -.Bl -tag -width /usr/share/syscons/keymaps -compact +.Bl -tag -width /usr/share/syscons/keymaps/foo_bar -compact +.It Pa /usr/share/syscons/keymaps/* +キーボードマップファイル。 +.Sh 使用例 +次のコマンドでキーボードマップファイル +.Pa /usr/share/syscons/keymaps/ru.koi8-r.kbd +をロードします。 +.Pp +.Dl kbdcontrol -l /usr/share/syscons/keymaps/ru.koi8-r.kbd +.Pp +キーボードマップファイルが .Pa /usr/share/syscons/keymaps -.El +にある場合、ファイル名を +.Pa ru.koi8-r +のように短縮可能です。 +.Pp +.Dl kbdcontrol -l ru.koi8-r +.Pp +次のコマンドはファンクションキー 10 が "telnet myhost" を出力するようにします。 +.Pp +.Dl kbdcontrol -f 10 \&"telnet myhost\&" +.Pp +ベルをビジュアルにするものの、 +バックグラウンド画面でベルが鳴るときには画面がフラッシュするのを避けるには、 +次のコマンドを実行します。 +.Pp +.Dl kbdcontrol -b quiet.visual +.Pp .Sh バグ もし見つかったら報告してください。 .Sh 関連項目 +.Xr kbdmap 1 , .Xr vidcontrol 1 , +.Xr atkbd 4 , .Xr keyboard 4 , -.Xr screen 4 +.Xr screen 4 , +.Xr syscons 4 , +.Xr ukbd 4 , +.Xr rc.conf 5 . .Sh 作者 .An Soren Schmidt Aq sos@FreeBSD.org .Sh 日本語訳 -酒井 淳嗣(sakai@csl.cl.nec.co.jp): FreeBSD 向けに翻訳 +酒井 淳嗣 (sakai@csl.cl.nec.co.jp): FreeBSD 向けに翻訳 diff --git a/ja_JP.eucJP/man/man1/ps.1 b/ja_JP.eucJP/man/man1/ps.1 index 765010f46a..0f9230a75b 100644 --- a/ja_JP.eucJP/man/man1/ps.1 +++ b/ja_JP.eucJP/man/man1/ps.1 @@ -1,517 +1,517 @@ .\" Copyright (c) 1980, 1990, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" %Id: ps.1,v 1.19.2.1 1999/05/08 10:42:41 kris Exp % +.\" %Id: ps.1,v 1.19.2.2 1999/06/30 11:51:51 kris Exp % .\" .\" jpman %Id: ps.1,v 1.2 1997/05/20 01:19:55 mutoh Stab % .Dd April 18, 1994 .Dt PS 1 .Os BSD 4 .Sh 名称 .Nm ps .Nd プロセスの状態の表示 .Sh 書式 .Nm ps .Op Fl aCcefhjlmrSTuvwx .Op Fl M Ar core .Op Fl N Ar system .Op Fl O Ar fmt .Op Fl o Ar fmt .Op Fl p Ar pid .Op Fl t Ar tty .Op Fl W Ar swap .br .Nm ps .Op Fl L .Sh 解説 .Nm ps は、制御端末を持つ自分 (あなた) のプロセスの情報を、 ヘッダ行に続いて表示します。 この情報は、制御端末順に整列され、その中ではプロセス .Tn ID 順に整列されます。 .Pp 表示される情報は、一連のキーワードによって選ばれます .Pf ( Fl L , .Fl O , .Fl o オプションを参照)。 デフォルトの出力フォーマットは、各プロセス毎に、 プロセス .Tn ID , 制御端末・cpu 時間 (ユーザ時間とシステム時間の両方)・ プロセス状態・プロセスに関連するコマンドから成ります。 .Pp プロセスファイルシステム ( .Xr procfs 5 参照) は、 .Nm が実行されている時にマウントされているべきです。そうでない場合、 すべての情報が利用可能になるわけではありません。 .Pp オプションを以下に示します。 .Bl -tag -width indent .It Fl a 自分のプロセスに加え自分以外のプロセスの情報も同様に表示します。 .It Fl c ``コマンド'' 桁の出力を、すべてのコマンドラインを表示するのではなく、 実行形式名だけを表示するように変更します。 .It Fl C cpu パーセンテージの計算を、``常駐'' 時間を無視する ``生'' cpu 時間を使う方法に変更します (通常これは影響ありません)。 .It Fl e 環境 (変数) も同時に表示します。 .It Fl f スワップアウトされたプロセスに関して、 コマンドラインと環境の情報を表示します。 ユーザの uid が 0 である場合のみ、このオプションが有効になります。 .It Fl h ページ毎に 1 つヘッダが入るようにします。 .It Fl j 次のキーワードに関する情報を表示します: user, pid, ppid, pgid, sess, jobc, state, tt, time, command。 .It Fl L 有効なキーワードの一覧を表示します。 .It Fl l 次のキーワードに関する情報を表示します: uid, pid, ppid, cpu, pri, nice, vsz, rss, wchan, state, tt, time, command。 .It Fl M 名前リストの値を取り出すとき、 デフォルトの .Pa /dev/kmem の代わりに、指定した .Ar core から取り出します。 .It Fl m プロセス .Tn ID 順ではなく、メモリ使用量順に整列します。 .It Fl N デフォルトの .Pa /kernel の代わりに、指定された .Ar system から名前リストを取り出します。 .It Fl O デフォルトで表示される情報に加え、 指定されたキーワードに関する情報を、 プロセス .Tn ID の後に挿入する形式で表示します。 各キーワードの後ろには、等号 (``='') と文字列を追加しても構いません。 この場合、標準のヘッダの代わりに指定された文字列が表示されます。 .It Fl o 指定されたキーワードに関する情報を、表示します。 各キーワードの後ろには、等号(``='')と文字列を追加しても構いません。 この場合、標準のヘッダの代わりに指定された文字列が表示されます。 .It Fl p 指定したプロセス .Tn ID に関する情報を表示します。 .It Fl r プロセス .Tn ID 順ではなく、現在の cpu 利用率順に整列します。 .It Fl S プロセス時間を計算するのに、 終了した子プロセスの時間を親プロセスに合計するように変更します。 .It Fl T 標準入力のデバイスに取り付けられたプロセスの情報を表示します。 .It Fl t 指定された端末デバイスに取り付けられたプロセスの情報を表示します。 .It Fl U 指定された .Tn username に属するプロセスを表示します。 .It Fl u 次のキーワードに関する情報を表示します: user, pid, %cpu, %mem, vsz, rss, tt, state, start, time, command。 .Fl u オプションを指定すると .Fl r オプションも暗に指定したことになります。 .It Fl v 次のキーワードに関する情報を表示します: pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz, %cpu, %mem, command。 .Fl v オプションを指定すると .Fl m オプションも暗に指定したことになります。 .It Fl W デフォルトの .Pa /dev/drum の代わりに指定したファイルからスワップ情報を取り出します。 .It Fl w デフォルトの現行ウィンドウ幅ではなく、132 桁幅で表示します。 一度より多く .Fl w オプションを指定すると、 .Nm ps はウィンドウ幅にかかわらず、必要なだけの幅を使用します。 .It Fl x 制御端末のないプロセスの情報も表示します。 .El .Pp 有効なキーワードの全リストを以下に示します。 いくつかのキーワードに関してはさらに詳しく述べます。 .Bl -tag -width indent .It %cpu プロセスの cpu 利用率です。実時間で最近 1 分間の減衰平均です。 計算の基点となる時間は変化するので (プロセスはまだ生れたばかりかもしれないので)、 .Tn \&%CPU フィールド全部の合計は 100% を越える可能性もあります。 .It %mem プロセスで使われている実メモリのパーセンテージです。 .It flags インクルードファイル .Aq Pa sys/proc.h でプロセスに定義されたフラグです。 .Bl -column SNOCLDSTOP SNOCLDSTOP .It Dv "P_ADVLOCK" Ta No "0x00001 プロセスは POSIX 提案ロックを保持している" .It Dv "P_CONTROLT" Ta No "0x00002 制御端末を持っている" .It Dv "P_INMEM" Ta No "0x00004 メモリに読み込まれている" .It Dv "P_NOCLDSTOP" Ta No "0x00008 子プロセスが停止しても SIGCHLD を送らない" .It Dv "P_PPWAIT" Ta No "0x00010 親プロセスが、子プロセスが exec/exit するのを待っている" .It Dv "P_PROFIL" Ta No "0x00020 プロファイル付きで実行された" .It Dv "P_SELECT" Ta No "0x00040 select 中; wakeup/waiting は危険である" .It Dv "P_SINTR" Ta No "0x00080 sleep は割り込み可能" .It Dv "P_SUGID" Ta No "0x00100 最後の実行以来、id 特権が設定されている" .It Dv "P_SYSTEM" Ta No "0x00200 システムプロセス: シグナルや stat やスワップが無い" .It Dv "P_TIMEOUT" Ta No "0x00400 sleep 中にタイムアウトした" .It Dv "P_TRACED" Ta No "0x00800 デバッグプロセスはトレースされている" .It Dv "P_WAITED" Ta No "0x01000 デバッグプロセスは子プロセスを待っている" .It Dv "P_WEXIT" Ta No "0x02000 終了動作中" .It Dv "P_EXEC" Ta No "0x04000 プロセスは exec で呼ばれた" .It Dv "P_NOSWAP" Ta No "0x08000 別のフラグがスワップアウトを妨げている" .It Dv "P_PHYSIO" Ta No "0x10000 物理 I/O をおこなっている" .It Dv "P_OWEUPC" Ta No "0x20000 次の ast プロセスが addupc() 呼び出しの借り" .It Dv "P_SWAPPING" Ta No "0x40000 プロセスはスワップされている" .El .It lim .Xr setrlimit 2 の呼び出しで指定される、メモリ使用量のソフトリミットです。 .It lstart コマンドの実行が始まった正確な時刻を、 .Xr strftime 3 に記述された ``%c'' フォーマットで表示します。 .It nice プロセススケジューリングにおける増加値です .Ns ( Xr setpriority 2 参照)。 .\" .Ns により ( と setpriority が離れるのを防ぐ .\" by horikawa@jp.freebsd.org (Feb 9 1997) .It rss プロセスの実メモリ(常駐分)の大きさ(1024バイト単位)です。 .It start コマンドが開始された時間です。 コマンドが開始されたのが 24 時間以内なら、 開始時刻は .Xr strftime 3 で記述された ``%l:ps.1p'' フォーマットで表示されます。 コマンドが開始されたのが 7 日以内なら、 開始時刻は ``%a6.15p'' フォーマットで表示されます。 さもなくば、開始時刻は ``%e%b%y'' フォーマットで表示されます。 .It state プロセスの状態を文字の列で表示します。例えば、 .Dq Tn RWNA の最初の文字は、プロセスが runnable 状態であることを示しています。 .Pp .Bl -tag -width indent -compact .It D プロセスはディスク (あるいは他の割り込み不可能な短期間の) 待ち状態です。 .It I プロセスは idle 状態 (20 秒以上 sleep している) です。 .It R プロセスは runnable 状態です。 .It S プロセスは 20 秒未満の sleep 状態です。 .It T プロセスは stop している状態です。 .It Z プロセスは死んでいる状態 (``ゾンビ'') です。 .El .Pp さらにこの後に文字があれば、さらなる状態情報を示します。 .Pp .Bl -tag -width indent -compact .It + プロセスはその制御端末のフォアグラウンドプロセスグループに属しています。 .It < プロセスは .Tn CPU のスケジュール優先度が上げられています。 .It > プロセスはメモリ要求に対するソフトリミットが指定されており、 現在そのリミットを越えています。 このようなプロセスは (必然的に) スワップされていません。 .It A プロセスはランダムなページ置換 ( -.Xr vadvise 2 +.Xr madvise 2 における -.Dv VA_ANOM +.Dv MADV_RANDOM のことで、例えば、 .Xr lisp 1 でのガーベージコレクション) を要求しました。 .It E プロセスは終了しようとしています。 .It L プロセスは実メモリ中にロックされたページ (例えば、raw .Tn I/O 用) を持っています。 .It N プロセスは .Tn CPU スケジューリング優先度 ( .Xr setpriority 2 参照) が下げられています。 .It S プロセスは .Tn FIFO ページ置換 ( -.Xr vadvise 2 +.Xr madvise 2 における -.Dv VA_SEQL +.Dv MADV_SEQUENTIAL のことで、 例えば、仮想記憶の多量のデータを順次アクセスする 大規模画像処理プログラム) を要求しました。 .It s プロセスはセッションリーダです。 .It V プロセスは .Xr vfork 2 の間、一時中断されています。 .It W プロセスはスワップアウトされています。 .It X プロセスはトレースされているか、デバッグされています。 .El .It tt もしあれば、制御端末のパス名の省略形です。 省略形は .Pa /dev/tty に続く 3 文字か、コンソール場合の ``con'' です。 もはやプロセスがその制御端末に到達できない (即ち、revoke された) 場合、 後に ``-'' が付きます。 .It wchan プロセスが待っているイベント (システム内のアドレス)。 数字で表示される時には、アドレスの最初の部分は削られて その結果が 16 進で表示されます。例えば 0x80324000 では 324000 と表示されます。 .El .Pp キーワード command には、 すでに終了しているのに親がまだ wait してくれていない プロセス(即ちゾンビ)は ``'' と表示されます。 終了しようとしてブロックされているプロセスは ``'' と表示されます。 .Nm ps は、メモリやスワップ領域を検査して、 プロセスが生成されたときのファイル名や引数を推測します。 この方法は、本質的に少々信頼できるものではなく、 プロセスはとにかくこの情報を破壊することができます。 だから、表示されるコマンド名や引数をあまり信用しすぎてはなりません。 一方、キーワード ucomm (アカウンティング名) は信用できます。 .Sh キーワード 以下は有効なキーワードとその意味の全リストです。 そのうちいくつかは別名があります。 .Pp .Bl -tag -width sigignore -compact .It %cpu cpu 使用率 (別名 pcpu) .It %mem メモリ使用率 (別名 pmem) .It acflag アカウンティングフラグ (別名 acflg) .It command コマンド名と引数 .It cpu 短期間 cpu 使用係数 (スケジューリング用) .It flags 16 進数のプロセスフラグ (別名 f) .It inblk 総ブロック読み出し数 (別名 inblock) .It jobc ジョブコントロール数 .It ktrace トレース中フラグ .It ktracep トレース中の vnode .It lim メモリ利用のリミット .It logname プロセスを開始したユーザのログイン名 .It lstart 開始時刻 .It majflt 総ページフォールト数 .It minflt 総ページ再生数 .It msgrcv 総メッセージ受信数 (パイプ/ソケットからの読み込み) .It msgsnd 総メッセージ送信数 (パイプ/ソケットへの書き込み) .It nice nice 値 (別名 ni) .It nivcsw 総強制的コンテキストスィッチ数 .It nsigs 総シグナル受け入れ数 (別名 nsignals) .It nswap 総スワップイン/スワップアウト数 .It nvcsw 総自発的コンテキストスィッチ数 .It nwchan wait チャネル (アドレスで表示) .It oublk -総ブロック書き込み数 (別名oublock) +総ブロック書き込み数 (別名 oublock) .It p_ru リソース利用量 (ゾンビに対してのみ有効) .It paddr スワップアドレス .It pagein ページイン数 (majflt と同じ) .It pgid プロセスグループ番号 .It pid プロセス .Tn ID .It poip 進行中のページアウト数 .It ppid 親プロセス .Tn ID .It pri スケジューリング優先度 .It re 実メモリ常駐時間 (秒単位; 127 = 無限) .It rgid 実グループ .Tn ID .It rlink run 行列における逆リンク (あるいは 0) .It rss 常駐セットサイズ .It rsz 常駐セットサイズ + (テキストのサイズ/テキストの利用総数) (別名 rssize) .\" つまり、共通テキストを複数プロセスで分担しているわけだ .It rtprio 実時間優先度 (101 = 実時間プロセスではない) .It ruid 実ユーザ .Tn ID .It ruser ユーザ名 (ruid から得られたもの) .It sess セッションポインタ .It sig 遅延されたシグナル (別名 pending) .It sigcatch 捕獲されたシグナル (別名 caught) .It sigignore 無視されたシグナル (別名 ignored) .It sigmask ブロックされたシグナル (別名 blocked) .It sl sleep 時間 (秒単位; 127 = 無限) .It start 開始時刻 .It state 記号でのプロセス状態 (別名 stat) .It svgid setgid プログラムでの saved gid .It svuid setuid プログラムでの saved uid .It tdev 制御端末のデバイス番号 .It time ユーザ + システムの合計 cpu 時間 (別名 cputime) .It tpgid 制御端末プロセスグループ .Tn ID .\".It trss .\"text resident set size (in Kbytes) .\"テキスト常駐セットサイズ(Kbyte単位) .It tsess 制御端末セッションポインタ .It tsiz テキストサイズ (K バイト単位) .It tt 制御端末名 (2 文字の省略形) .It tty 制御端末の完全な名前 .It uprocp プロセスポインタ .It ucomm アカウンティングで使われるコマンド名 .It uid 実効ユーザ .Tn ID .It upr システムコールから帰る時のスケジューリング優先度 (別名 usrpri) .It user ユーザ名 (uid から得たもの) .It vsz k バイト単位の仮想記憶サイズ (別名 vsize) .It wchan wait チャネル (シンボル名で表示) .It xstat 終了ステータスまたは stop ステータス (stop プロセスかゾンビプロセスの時のみに有効) .El .Sh 関連ファイル .Bl -tag -width /var/run/kvm_kernel.db -compact .It Pa /dev 特殊ファイルとデバイスの名前 .It Pa /dev/drum デフォルトのスワップデバイス .It Pa /dev/kmem デフォルトのカーネルメモリデバイス .It Pa /var/run/dev.db .Pa /dev 名前データベース .It Pa /var/run/kvm_kernel.db システム (カーネル) の名前リストデータベース .It Pa /kernel デフォルトのシステムの名前リスト .El .Sh 関連項目 .Xr kill 1 , .Xr w 1 , .Xr kvm 3 , .Xr strftime 3 , .Xr pstat 8 .Sh バグ .Nm \&ps はシステムより速く実行できず、 他のプロセスと同様にスケジュールされて実行されるので、 表示される情報は正確ではあり得ません。 diff --git a/ja_JP.eucJP/man/man1/sleep.1 b/ja_JP.eucJP/man/man1/sleep.1 index ef0afe6eff..d0d92ed605 100644 --- a/ja_JP.eucJP/man/man1/sleep.1 +++ b/ja_JP.eucJP/man/man1/sleep.1 @@ -1,120 +1,121 @@ .\" Copyright (c) 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)sleep.1 8.3 (Berkeley) 4/18/94 -.\" %Id: sleep.1,v 1.8 1998/05/18 06:46:11 charnier Exp % +.\" %Id: sleep.1,v 1.8.2.1 1999/05/08 10:43:10 kris Exp % +.\" .\" jpman %Id: sleep.1,v 1.2 1997/05/04 13:38:26 horikawa Stab % .\" .Dd April 18, 1994 .Dt SLEEP 1 .Os .Sh 名称 .Nm sleep .Nd 一定の時間実行を停止する .Sh 書式 .Nm .Ar seconds .Sh 解説 .Nm コマンドは、少なくとも .Ar seconds で指定した秒数だけ実行を停止します。 .Nm コマンドは 他のコマンドの実行のスケジューリングに用いられます(以下の .Sx 使用例 を参照)。 .Pp .Nm コマンドが SIGALRM シグナルを受信すると終了ステータス 0 にて終了します。 その他のシグナルでは標準の動作を行います。 -.Pp +.Sh 診断 .Nm コマンドは終了時に以下の値のいずれかを返します。 .Bl -tag -width flag .It Li \&0 正常終了した場合、もしくは .Dv SIGALRM シグナルを受信した場合。 .It Li \&>\&0 エラーが起きた場合。 .El .Sh 使用例 あるコマンドの実行を .Va x 秒後に設定したい場合: .Pp .Dl (sleep 1800; sh command_file >& errors)& .Pp 上記の例では、command_file で指定したスクリプトを実行する前に 30 分間待ちます( .Xr at 1 ユーティリティの項を参照)。 .Pp あるコマンドを( .Xr csh 1 を使って)繰り返し実行したい場合: .Pp .Bd -literal -offset indent -compact while (1) if (! -r zzz.rawdata) then sleep 300 else foreach i (`ls *.rawdata`) sleep 70 awk -f collapse_data $i >> results end break endif end .Ed .Pp このようなスクリプトが必要とされるのは以下のような場合でしょう: 現在実行中のプログラムが、一連のファイル群を処理するのに予想以上の 時間を必要としていて、このプログラムが処理結果をファイル (zzz.rawdata)に出力したらすぐに別のプログラムを起動して そのファイルを処理したほうがよい場合があります。 上記のスクリプトでは、zzz.rawdata が生成されたかどうかを 5 分おきに確認し、生成が確認されたら 70 秒待って awk ジョブを 実行する、という操作を繰り返します。 .Sh 関連項目 .Xr at 1 , .Xr setitimer 2 , .Xr alarm 3 , .Xr sleep 3 .Sh 規格 .Nm コマンドは、おそらく .St -p1003.2 互換です。 diff --git a/ja_JP.eucJP/man/man1/tconv.1 b/ja_JP.eucJP/man/man1/tconv.1 index 9eeed768cf..6d24d6595d 100644 --- a/ja_JP.eucJP/man/man1/tconv.1 +++ b/ja_JP.eucJP/man/man1/tconv.1 @@ -1,168 +1,170 @@ .\" @(#) mytinfo tconv.1 3.2 92/02/01 public domain, By Ross Ridge -.\" %Id: tconv.1,v 1.8 1997/08/13 06:58:44 charnier Exp % +.\" %Id: tconv.1,v 1.8.2.1 1999/06/24 06:28:16 mpp Exp % .\" .\" jpman %Id: tconv.1,v 1.3 1997/09/21 06:56:54 konuma Stab % .Dd February 1, 1992 .Dt TCONV 1 .Os .Sh 名称 -.Nm tconv +.Nm tconv , +.Nm tic , +.Nm captoinfo .Nd termcap, terminfo ソースと terminfo バイナリを相互変換する .Sh 書式 .Nm tconv .Op Fl b .Op Fl c Op Fl OUGd .Op Fl i .Op Fl B Op Fl D Ar dir .Op Fl I .Op Fl k .Op Fl V .Op Fl t Ar term .Op Ar file .Nm tic .Op Ar file .Nm captoinfo .Op Fl t Ar term .Op Fl OUGdk .Op Ar file .Sh 解説 .Nm tconv は、termcap、terminfo ソースと .Em tinfo ライブラリが使用する terminfo バイナリ の 3 つの端末記述を互いに変換します。 このプログラムは System V の .Xr captoinfo 1 および .Xr tic 1 と同じ機能を提供します。 また、System V の .Xr infocmp 1 の機能の 1 つと同じく、terminfo バイナリから terminfo ソース リスティングを出力するのに使うこともできます。 .Pp 翻訳オプション .Bl -tag -width indent .It Fl c termcap から変換します。 .It Fl i terminfo ソースから変換します。 .It Fl b terminfo バイナリから変換します。 .It Fl B terminfo バイナリに変換します。 .It Fl I terminfo ソースに変換します。 .El .Pp ファイルを指定する場合、 .Fl c または .Fl i オプションのどちらか一方と、翻訳されるファイルの完全な名前 を指定する必要があります。 ファイル名を指定しなかった場合、入力オプションは単に、 翻訳されるべき端末がある、要求された型の記述がありそうな場所を 検索するのを制限するだけに用いられます。 (すなわち、 .Fl c オプション指定時には .Ev TERMCAP 環境変数と .Pa /usr/share/misc/termcap を、 .Fl i オプション指定時には .Ev TERMINFO 環境変数と .Pa /usr/lib/terminfo を検索します。) それ以外の時は .Nm は全ての利用可能なデータベースを検索します。 もし、 .Fl I と .Fl B のどちらのオプションも指定していない場合は、 .Fl I オプションを指定したものと仮定します。 .Fl B オプションを指定した場合、コンパイル結果の出力は terminfo データベースに 出力され、指定していない場合は標準出力に出力されます。 .Pp terminfo バイナリから terminfo バイナリへの翻訳はできません。 terminfo ソースから terminfo ソースへの翻訳は可能ですが、 .Em use= フィールドで参照している記述が、出力される端末記述に展開されるような場合を 除いては、ほとんどの場合あまり役に立ちません。 .Pp .Nm は標準 termcap の全てのパラメータ化された文字列を terminfo フォーマットに 翻訳できるはずですが、GNU の %a コードを使った複雑な文字列は難しすぎて 翻訳できません。 もし、 .Nm が、termcap 文字列が 既に terminfoフォーマットに翻訳されていると見なした場合 (%p コードが文字列に含まれている場合)、 それを翻訳しようと試みることはありません。 パラメータを持たない文字列型機能記述は翻訳されません。 .Pp termcap オプション: 以下のオプションは、termcap エントリを翻訳するとき ( .Fl c オプションを指定したとき) に利用可能です。 .Bl -tag -width indent .It Fl d 欠けている機能記述を、一切デフォルトで補いません。 .It Fl O 時代遅れの termcap 機能記述を含めます。 .It Fl G GNU の機能記述を含めます。 .It Fl U UW の機能記述を含めます。 .El .Pp その他のオプション .Bl -tag -width indent .It Fl k ファイルを翻訳する時にコメントを保存します。 .It Fl V バージョン情報を表示して終了します。 .It Fl D Ar dir terminfo バイナリを置くディレクトリ。 .It Fl t Ar term 翻訳の対象となる端末の名前。 .El .Pp もし .Fl t オプションで端末名を指定しなかった場合、翻訳の対象となる端末名は環境変数 .Ev TERM から取られます。 .Sh 関連ファイル .Bl -tag -width /usr/lib/terminfo/terminfo.src -compact .It Pa /usr/lib/terminfo terminfo バイナリを読み書きするデフォルトの場所。 .It Pa /usr/lib/terminfo/terminfo.src terminfo ソースファイルのデフォルトのファイル名。 .It Pa /etc/termcap termcap データベースのデフォルトのファイル名。 .El .Sh 関連項目 .Xr curses 3 , .Xr termcap 3 , .Xr term 5 , .Xr termcap 5 , .Xr terminfo 5 . .Sh 診断 ファイルを翻訳しているときの警告メッセージの行番号は エントリ内の警告の原因となった行ではなく、そのエントリの最後の行の番号です。 .Sh バグ もっと多くの警告を出力できるはずです。 .Nm は termcap を翻訳できません。 生成されたバイナリはキャンセルされた機能記述をキャンセルされた 物とマークしたうえで含めていますが、これは System V Release 2.0 の terminfo と非互換です。 diff --git a/ja_JP.eucJP/man/man1/tput.1 b/ja_JP.eucJP/man/man1/tput.1 index 9e07317df2..c040bb0854 100644 --- a/ja_JP.eucJP/man/man1/tput.1 +++ b/ja_JP.eucJP/man/man1/tput.1 @@ -1,130 +1,138 @@ .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tput.1 8.2 (Berkeley) 3/19/94 -.\" %Id: tput.1,v 1.3 1997/04/27 08:45:46 jmg Exp % +.\" %Id: tput.1,v 1.3.2.1 1999/06/24 06:28:18 mpp Exp % +.\" .\" jpman %Id: tput.1,v 1.3 1997/08/11 14:35:00 horikawa Stab % .\" .Dd March 19, 1994 .Dt TPUT 1 .Os BSD 4.4 .Sh 名称 -.Nm tput +.Nm tput , +.Nm clear .Nd 端末属性を利用するためのインタフェース .Sh 書式 .Nm tput .Op Fl T Ar term .Ar attribute +.Nm clear .Sh 解説 .Nm コマンドは、端末の属性情報を取り出して、ユーザやシェルアプリケーションから 利用できるようにします。 -オプションは、次の通りです。 +.Nm clear +ユーティリティとして起動されたときには、 +.Dl tput clear +が実行されたように画面がクリアされます。 +.Nm +のオプションは、次の通りです。 .Bl -tag -width Ds .It Fl T .Xr termcap データベースの中の端末名 ( .Dq vt100 や .Dq xterm ) を指定します。 端末名が指定されない場合には、環境変数 .Dq Ev TERM の内容を参照します。 .El .Pp .Ar attribute で指定する端末属性が文字列型の場合、 .Nm コマンドはその文字列を出力します。 端末属性が整数型の場合、その数値を出力します。 どちらでもなければ .Nm は余分な動作をせずに、 端末が属性を持っているなら 0 、そうでないなら 1 を 終了コードにして終了します。 .Pp .Ar attribute が文字列型で引数を取る場合 (例えばカーソル移動 : termcap の .Dq cm シーケンス) には、引数は属性名 (attribute) のすぐ後ろから取られます。 .Pp 次の属性は、特別な意味を持っています。 .Bl -tag -width Ar .It clear 画面をクリアします ( .Xr termcap の .Dq cl シーケンス) .It init 端末を初期化します ( .Xr termcap の .Dq is シーケンス) .It longname ユーザの端末タイプの詳細名称を表示します。 .It reset 端末をリセットする ( .Xr termcap の .Dq rs シーケンス) .Sh 診断 .Nm の終了コードは、最後に指定された属性 (attribute) によります。 属性が文字列型か整数型なら、 端末に属性が定義されていたら 0 、定義されていなければ 1 で終了します。 属性が論理型なら、 端末がこの属性を持っていたら 0 、持っていなければ 1 で終了します。 何かエラーが起きた場合、 .Nm コマンドは 2 で終了します。 .Sh 関連項目 .Xr termcap 3 , .Xr termcap 5 .Sh バグ .Nm は属性毎の正しい型を知っているわけではありません。 .Pp termcap エントリによっては .Sq % のみからなる .Sq % を持つことに依存しているものがあります。 現在、有効なタイプ宣言を持たないものに関しては警告を発っします。 これらの警告は標準エラー出力へと送られます。 .Sh 歴史 .Nm コマンドは、 .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/tset.1 b/ja_JP.eucJP/man/man1/tset.1 index d420c9f9bd..fdac76cf11 100644 --- a/ja_JP.eucJP/man/man1/tset.1 +++ b/ja_JP.eucJP/man/man1/tset.1 @@ -1,389 +1,392 @@ .\" Copyright (c) 1985, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tset.1 8.1 (Berkeley) 6/9/93 +.\" .\" jpman %Id: tset.1,v 1.2 1997/04/18 10:42:28 kuriyama Stab % +.\" Original Regision: 1.2.2.1 .\" .Dd June 9, 1993 .Dt TSET 1 .Os BSD 4 .Sh 名称 -.Nm tset +.Nm tset , +.Nm reset .Nd 端末を初期化する .Sh 書式 .Nm tset .Op Fl IQrSs .Op Fl .Op Fl e Ar ch .Op Fl i Ar ch .Op Fl k Ar ch .Op Fl m Ar mapping .Op Ar terminal .br .Nm reset .Op Fl IQrSs .Op Fl .Op Fl e Ar ch .Op Fl i Ar ch .Op Fl k Ar ch .Op Fl m Ar mapping .Op Ar terminal .Sh 解説 .Nm は端末を初期化します。まず最初に .Nm は使用中の端末タイプを判別 します。判別方法は、以下の値を順番に調べ、最初に見つかった端末タイプを 利用するという方法です。 .sp .Bl -bullet -compact -offset indent .It コマンドライン上で指定した .Ar terminal 引数 .It 環境変数 .Ev TERM の値 .It 利用中の標準エラー出力デバイスに対応する、 .Pa /etc/ttys 内のエントリで定義している端末タイプ .It デフォルトの端末タイプである ``unknown'' .El .Pp 端末タイプがコマンドラインで指定されない時は、 .Fl m オプションのマッピングはその後に適用されます (詳細は下を参照)。 その後、もし端末タイプの前に ``?'' がついていたならば、端末タイプの確認用のプロンプトが出ます。空行を 与えるとその端末タイプになりますが、別の新しい端末タイプを入力することも 可能です。いったん端末タイプが決定すれば、その端末用の termcap エントリが 検索されます。termcap エントリが見つからない場合は、もう一度プロンプトが 出ます。 .Pp いったん termcap エントリが見つかれば、(他にもたくさんある中で) 画面サイズ、バックスペース、インタラプト、行消去のキャラクタがセットされ、 端末の初期化およびタブの初期化の文字列が標準エラー出力に送られます。 最後に、もし、消去、インタラプト、行削除のキャラクタが変更される、もしくは そのデフォルト値が未設定であれば、その値が標準エラー出力に表示されます。 .Pp .Nm が .Nm reset として起動された時は、上で述べた端末初期化が行なわ れる前に、端末を cooked モード、echo モードにセットし、cbreak モード、 raw モードをオフにし、newline 変換を有効にし、 未設定の特殊キャラクタをデフォルト値でリセットします。 これは、プログラムが端末を異常な状態にしたまま死んだ時に有用です。 端末が異常な状態にあるときにはキャリッジリターンが働かないことがあるので、 端末を正常に戻すためには .Dq Li reset (ラインフィードキャラクタは通常 コントロール-J です) とタイプしなければいけないかもしれないということに 注意して下さい。また、端末がコマンドのエコーを行なわなくなっているかも しれません。 .Pp オプションは以下のものがあります: .Bl -tag -width flag .It Fl 端末タイプが標準出力に表示されます。端末は初期化されません。 .It Fl e erase キャラクタを .Ar ch にします。 .It Fl I 端末初期化文字列もしくはタブ初期化文字列を端末に送りません。 .It Fl i インタラプトキャラクタを .Ar ch にします。 .It Fl k 行削除のキャラクタを .Ar ch にします。 .It Fl m ポートタイプから端末へのマッピングを指定します。詳細は下を参照して下さい。 .It Fl Q 消去、インタラプト、行削除の値を表示しません。 .It Fl r 端末タイプを標準エラー出力に表示します。 .It Fl S 端末タイプと termcap エントリを標準出力に表示します。 環境設定についての詳細は以下のセクションを参照して下さい。 .It Fl s 環境変数 .Ev TERM と .Ev TERMCAP を初期化する shell コマンド列を標準出力に書きます。 環境変数の設定についての詳細は以下のセクションを参照して下さい。 .El .Pp .Fl e , .Fl i , .Fl k オプションの引数は、実際のキャラクタを 書くか、もしくは .Dq ハット記号 を使って (すなわち コントロール-h なら .Dq Li ^H もしくは .Dq Li ^h ) 記述して下さい。 .Sh 環境設定 しばしば、端末タイプと端末の能力についての情報を shell の環境変数に設定する 必要がでてきます。これは .Fl S と .Fl s のオプションで行ないます。 .Fl S オプションが指定された時、端末タイプと termcap エントリが 標準出力に表示されます。この出力はスペースで区切られており、最後に 改行がつきません。また、この出力は .Nm csh , .Nm ksh やその他の shell の配列に 代入できます。 .Pp .Fl s オプションが指定された場合は shell の環境変数を設定するための コマンドが標準出力に書かれます。このコマンドは、環境変数 .Ev SHELL の設定値が ``csh'' で終っていれば .Nm csh 用の、それ以外は .Nm sh 用のものとなります。 .Nm csh 用のコマンドの場合は .Dq noglob シェル変数の set と unset が行なわれ、 unset したままになることに注意して下さい。以下の行を .Pa .login や .Pa .profile に記述すれば環境変数を正しく初期化できます: .Bd -literal -offset indent eval \`tset -s options ... \` .Ed .Pp .Fl S オプションの使い方を簡単に説明すると、 .Pa .login に以下のような記述をすると上と同じような効果が得られます: .Bd -literal -offset indent set noglob set term=(`tset -S options ...`) setenv TERM $term[1] setenv TERMCAP "$term[2]" unset term unset noglob .Ed .Sh 端末タイプへのマッピング 端末がシステムに組み込まれていない場合 (或は現在のシス テム情報が正しくない場合) .Pa /etc/ttys ファイル 或は .Ev TERM 環境変数から得た端末タイプは .Dq network , .Dq dialup , .Dq unknown のような generic になることがあります。 .Nm がスタートアップスクリプト ( .Xr sh 1 を使う場合は .Pa .profile 、 .Xr csh 1 を使う場合は .Pa .login ) で使われる場合は、しばしば、そのようなポートで使われる端末のタイプ の情報を提供する必要があります。 .Fl m オプションの目的は、端末タイプの状態リストから .Dq map すること、すなわち .Nm に ``もしこのポートがある特定のスピードであるならば、ある種の端末であることを 推定しなさい''という情報を伝えることです。 .Pp .Fl m オプションの引数は、ポートタイプ、オペレータ、ボーレート、コロン(``:'') と端末タイプからなります。 ポートタイプは (オペレータ或はコロン文字によって区切られた) 文字列で表し ます。オペレータは、 .Dq Li \&> , .Dq Li \&< , .Dq Li \&@ , .Dq Li \&! の組合せになります。 .Dq Li \&> は「より大きい」を意味し、 .Dq Li \&< は「より小さい」を意味し、 .Dq Li \&@ は「等しい」を意味し、 そして .Dq Li \&! は「 test の評価結果の反対」を意味します。 ボーレートは数値として表され、 (コントロール端末である べき) 標準エラー出力のスピードと比較されます。 端末タイプは文字列です。 .Pp もし端末タイプがコマンドラインで示されなければ、 .Fl m マッピングが端末タイプに適用されます。 もしポートタイプとボーレートがマッピングと一致すると、マッピングで示された端 末タイプでカレントタイプを置き換えます。もし、一つ以上のマッピングが示さ れた場合には、最初に適合したマッピングを使います。 .Pp 例えば、 .Dq Li dialup>9600:vt100 というマッピングを考えます。 ポートタイプは .Dq Li dialup 、オペレータは .Dq Li > 、ボーレートは .Dq Li 9600 、そして端末タイプは .Dq Li vt100 です。 このマッピングの結果、ターミナルタイプが .Dq Li dialup で、ボーレートが 9600 ボーより大きければ、端末タイプ .Dq Li vt100 が使われます。 .Pp ポートタイプがない場合は、端末タイプは任意のポートタイプに一致します。 例えば、 .Dq Li -m dialup:vt100 -m :?xterm では、任意のダイヤルアップポートにおいて、 ボーレートを無視してターミナルタイプを .Dq Li vt100 に一致させます。そして、ダイヤルアップ以外のポートをターミナルタイプ .Dq Li ?xterm に一致させます。 ?xterm はクエスチョンマークが先頭に付いているので、実際に .Ar xterm ターミナルを使っているかどうかについてデフォルトポートで 確認を求められことに注意して下さい。 .Pp .Fl m オプションでの引数に空白は許されません。 メタキャラクタの問題を避けるために、 .Fl m オプションの引数全体はシングルコーテーションで囲むこと、そして .Nm csh を使っている場合は、すべてのイクスクラメーションマーク (``!'') の前に バックスラッシュ (``\e'') をいれることを推奨します。 .Sh 環境変数 .Nm コマンドは、環境変数 .Ev SHELL および .Ev TERM を利用します。 .Sh 関連ファイル .Bl -tag -width /usr/share/misc/termcap -compact .It Pa /etc/ttys システムポート名から端末タイプへのマッピングを記述したデータベース .It Pa /usr/share/misc/termcap termcap データベース .El .Sh 関連項目 .Xr csh 1 , .Xr sh 1 , .Xr stty 1 , .Xr tty 4 , .Xr termcap 5 , .Xr ttys 5 , .Xr environ 7 .Sh 歴史 .Nm は .Bx 3.0 から現れました。 .Sh 互換性 .Fl A , .Fl E , .Fl h , .Fl u , .Fl v オプションは .Nm ユーティリティから削除されました。 これらは 4.3BSD のドキュメントにはなく、限られた用途しかありません。 .Fl a , .Fl d , .Fl p オプションも同様に、ドキュメントにないか有用ではありませんが、 広く使われるので残されています。これら3つのオプショ ンの代わりに、 .Fl m オプションを使うことが強く推奨されています。 .Fl n オプションは残っていますが、無効です。 .Fl e , .Fl i , .Fl k オプションは引数なしに使うことがまだ許されていますが、 このような使用法は、 文字を明示的に指定するよう修正されることが 強く推奨されています。 .Pp .Nm reset として .Nm を実行する場合には、 .Fl Q オプションは使いません。 .Nm の幾つかの歴史的な実装上での .Fl オプションと 引数 .Ar terminal の間の干渉は排除されています。 .Pp 最後に, .Nm の実装は ( .St -p1003.1-88 に従うシステムへの追加の一部として ) 完全にやり直されました。 もはや古い端末インターフェースのシステムの上では コンパイルはされないでしょう。 diff --git a/ja_JP.eucJP/man/man1/vacation.1 b/ja_JP.eucJP/man/man1/vacation.1 index 1ad86129f3..66add951cd 100644 --- a/ja_JP.eucJP/man/man1/vacation.1 +++ b/ja_JP.eucJP/man/man1/vacation.1 @@ -1,188 +1,207 @@ .\" Copyright (c) 1985, 1987, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)vacation.1 8.1 (Berkeley) 6/16/93 -.\" %Id: vacation.1,v 1.6 1997/02/22 19:57:38 peter Exp % +.\" %Id: vacation.1,v 1.6.2.1 1999/06/27 18:34:26 sheldonh Exp % .\" .\" jpman %Id: vacation.1,v 1.3 1997/08/19 03:07:07 h-nokubi Stab % .\" .Dd June 16, 1993 .Dt VACATION 1 .Os BSD 4.3 .Sh 名称 .Nm vacation .Nd 不在の通知を返送する .Sh 書式 .Nm vacation +.Op Fl d .Fl i .Op Fl r Ar interval .Nm vacation +.Op Fl d .Fl l .Nm vacation +.Op Fl d .Op Fl a Ar alias .Ar login .Sh 解説 .Nm vacation は、メールの送信者に対して、あなたが現在メールを 読んでいない旨を通知するメッセージを返送します。通常、 .Pa .forward ファイルの中で使われます。 例えば、あなたの .Pa .forward ファイルの中で次のように記述します。 .Bd -literal -offset indent \eeric, "|/usr/bin/vacation -a allman eric" .Ed -これで、あなた自身(ここではログイン名がericであるとします)にメッセージを送るとともに、 +これで、あなた自身 (ここではログイン名が eric であるとします) +にメッセージを送るとともに、 .Dq eric もしくは .Dq allman に宛てられたメッセージに自動応答します。 .Pp 以下のオプションを指定することができます。 .Bl -tag -width Ds .It Fl a Ar alias .Ar alias 宛てのメッセージをユーザのログイン名に送られたメールと同様に処理します。 +.It Fl d +デバックモードを有効にします。下記を参照してください。 .It Fl i -Vacationデータベースを初期化します。 +Vacation データベースを初期化します。 これは、 .Pa .forward ファイルを変更する前に行なっておく必要があります。 .It Fl r 自動応答の間隔を .Ar interval -日に設定します。デフォルトは1週間です。間隔を +日に設定します。デフォルトは 1 週間です。間隔を .Dq 0 に設定すると、全てのメッセージに対して自動応答を行ないます。 .Dq Li infinite -(実際には数字以外の文字ならなんでも)を設定すると、同じ送信者には一度しか自動応答を -行ないません。間隔を +(実際には数字以外の文字ならなんでも) を設定すると、 +同じ送信者には一度しか自動応答を行ないません。間隔を .Dq Li \&0 に設定すると .Dq I am on vacation メールがループすることがあり、非常に危険です。 .It Fl l Vacationデータベースファイルの内容を表示します。 それぞれのエントリについて自動応答が送られたアドレスとその時間が 標準出力に表示されます。 .El .Pp .Ar login (もしくは .Fl a オプションによって指定された .Ar alias ) がメールの .Dq To: もしくは .Dq Cc: ヘッダになければ、自動応答は送られません。また、 -.Dq ???-REQUEST -、 -.Dq Postmaster -、 -.Dq Tn UUCP -、 -.Dq MAILER -、 +.Dq ???-REQUEST , +.Dq Postmaster , +.Dq Tn UUCP , +.Dq MAILER , .Dq MAILER-DAEMON -から(大文字、小文字は区別されません)のメールや、 +から (大文字、小文字は区別されません) のメールや、 .Dq Precedence: bulk や .Dq Precedence: junk の行がヘッダに含まれているメールに対しても自動応答は送られません。 あなたへのメールの送信者のアドレスは ホームディレクトリの .Pa .vacation.db ファイル中で .Xr hash 3 を使用して管理されます。 .Pp .Nm Vacation ではホームディレクトリに .Pa .vacation.msg ファイルを置くことによって、 あなたへのメールの送信者へのメッセージを指定します。 -このファイルは(ヘッダを含む)完全なメッセージでなければなりません。 +このファイルは (ヘッダを含む) 完全なメッセージでなければなりません。 以下に例を示します。 .Pp .Bd -unfilled -offset indent -compact From: eric@CS.Berkeley.EDU (Eric Allman) Subject: I am on vacation Delivered-By-The-Graces-Of: The Vacation program Precedence: bulk -わたしは7月22日まで休暇をとっています。緊急の場合は +わたしは 7 月 22 日まで休暇をとっています。緊急の場合は Keith Bostic に連絡願います。 --eric .Ed (訳註)返答メッセージに日本語を使う場合には、 漢字コードは JIS (ISO-2022-JP) でなければいけません。 .\" 上記(訳註)は日本語対応のために追加しました。 .\" 2.2.1-RELEASE 対象 .\" by mihara@prd.fc.nec.co.jp (Apr. 4, 1997) .Pp .Nm Vacation -はメールの送信者を決定するために標準入力の1行目の +はメールの送信者を決定するために標準入力の 1 行目の .Ux .Dq From 行を読みます。この .Dq From 行は .Xr sendmail 8 が自答的に付加するものです。 .Pp .Nm vacation が不正な引数で呼ばれたり、 .Ar login 名が存在しないような致命的なエラーはシステムのログファイルに .Xr syslog 3 を使って記録されます。 +ただし、 +.Fl d +オプションでデバッグモードが指定されている場合はこの限りではありません。 +この場合、標準エラー出力に書き出されます。 +.Pp +前述の使用例に追加し、 +本プログラムの動作をテストする間に次のものをあなたの +.Pa .forward +ファイルに書くことで、エラー出力をファイルにリダイレクト可能です: +.Pp +.Bd -literal -offset indent +\eeric, "|/bin/sh -c '/usr/bin/vacation -d -a allman eric' 2>/home/eric/.vacation.log" +.Ed +.Sh 診断 +.Nm +ユーティリティは、成功時には 0 で、 +エラー発生時には 0 より大きな値で終了します。 .Sh 関連ファイル .Bl -tag -width "vacation.dirxxx" -compact .It Pa ~/.vacation.db データベースファイル .It Pa ~/.vacation.msg 送信するメッセージ .El .Sh 関連項目 .Xr syslog 3 , .Xr sendmail 8 , .Xr syslogd 8 .Sh 歴史 .Nm vacation コマンドは .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/vidcontrol.1 b/ja_JP.eucJP/man/man1/vidcontrol.1 index 3471acab28..31ea4327e8 100644 --- a/ja_JP.eucJP/man/man1/vidcontrol.1 +++ b/ja_JP.eucJP/man/man1/vidcontrol.1 @@ -1,208 +1,299 @@ .\" t .\" .\" vidcontrol - a utility for manipulating the syscons video driver .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" @(#)vidcontrol.1 -.\" %Id: vidcontrol.1,v 1.14.2.2 1999/06/03 12:44:49 yokota Exp % +.\" %Id: vidcontrol.1,v 1.14.2.3 1999/07/05 10:00:41 yokota Exp % .\" .\" jpman %Id: vidcontrol.1,v 1.3 1997/08/04 01:31:25 mitchy Stab % -.Dd May 22, 1994 +.Dd June 30, 1999 .Dt VIDCONTROL 1 .Os .Sh 名称 .Nm vidcontrol -.Nd syscons 画面ドライバの操作ユーティリティ +.Nd syscons コンソールドライバの操作ユーティリティ .Sh 書式 .Nm -.Op Fl r Ar fg Ar bg .Op Fl b Ar color .Op Fl c Ar appearance .Op Fl d -.Op Fl i Ar adapter|mode -.Op Fl l Ar scrmap -.Op Fl L -.Op Fl m Ar on|off .Op Fl f Ar size Ar file +.Op Fl i Cm adapter | mode +.Op Fl l Ar screen_map +.Op Fl L +.Op Fl m Cm on | off +.Op Fl r Ar foreground Ar background .Op Fl s Ar number -.Op Fl t Ar N|off +.Op Fl t Ar N | Cm off .Op Fl x -.Op mode -.Op fgcol Op bgcol -.Op show +.Op Ar mode +.Op Ar foreground Op Ar background +.Op Cm show .Sh 解説 .Nm -コマンドを用いて syscons 画面ドライバの様々なオプション、例えば、 -画面モード、色、カーソル、画面マップ (scrnmap)、 -フォント、スクリーンセーバタイムアウトを設定することができます。 +コマンドを用いて +.Xr syscons 4 +コンソールドライバの様々なオプション、例えば、 +画面モード、色、カーソル形状、画面出力マップ、 +フォント、スクリーンセーバタイムアウトを設定できます。 .Pp 以下のコマンドラインオプションをサポートしています: .Bl -tag -width indent -.It mode +.It Ar mode 新しいビデオモードを選択します。 現在サポートしているモードは次の通りです: .Ar 40x25 , .Ar 80x25 , .Ar 80x30 , .Ar 80x43 , .Ar 80x50 , .Ar 80x60 , .Ar 132x25 , .Ar 132x30 , .Ar 132x43 , .Ar 132x50 , .Ar 132x60 , .Ar VGA_40x25 , .Ar VGA_80x25 , .Ar VGA_80x50 , .Ar EGA_80x25 , .Ar EGA_80x43 , .Ar VESA_132x25 , .Ar VESA_132x30 , .Ar VESA_132x43 , .Ar VESA_132x50 , .Ar VESA_132x60 。 .\" また、グラフィックモード .\" .Ar VGA_320x200 , ラスタテキストモード .Ar VGA_800x600 も選択できます。 後述の .Sx ビデオモードサポート を参照してください。 -.It fgcol Op bgcol +.It Ar foreground Op Ar background テキストを表示する際の色を変更します。 -前景色 (例: "vidcontrol white")、あるいは -前景色および背景色 (例: "vidcontrol yellow blue") を指定することにより +前景色 (例: ``vidcontrol white'')、あるいは +前景色および背景色 (例: ``vidcontrol yellow blue'') を指定することにより 変更できます。 -.It show +後述の +.Cm show +コマンドを使用して、使用可能な色を見られます。 +.It Cm show 指定したプラットフォームでサポートされている色を表示します。 -.It Fl r Ar foreground Ar background +.It Fl r Ar foreground background 反転表示モードで用いる色を前景色 .Ar foreground および背景色 .Ar background に変更します。 .It Fl b Ar color ボーダ色を .Ar color -に設定します (VGA ハードウェアでのみサポートされています)。 -.It Fl c Ar normal|blink|destructive +に設定します。 +本オプションをビデオドライバが常にサポートしているのではないかもしれません。 +.It Fl c Cm normal | blink | destructive カーソルの外観を変更します。 -カーソルは、反転ブロック (normal)、反転ブロックの点滅 (blink)、 -あるいは古いハードウェアカーソル様のもの (destructive) のいずれかです。 +カーソルは、反転ブロック +.Pq Cm normal +、反転ブロックの点滅 +.Pq Cm blink +、あるいは古いハードウェアカーソル様のもの +.Pq Cm destructive +のいずれかです。 後者は実際にはシミュレートしています。 .It Fl d 現在の画面出力マップを表示します。 -.It Fl l Ar scrmap +.It Fl l Ar screen_map 画面出力マップをファイル -.Ar scrmap +.Ar screen_map から読み込んで設定します。 +.Xr syscons 4 +も参照してください。 .It Fl L -画面出力マップをデフォルトに設定します。 -.It Fl i Ar adapter +出力画面マップをデフォルトに設定します。 +.It Fl i Cm adapter 現在のビデオアダプタに関する情報を表示します。 -.It Fl i Ar mode +.It Fl i Cm mode 現在のビデオハードウェアにて使用可能なビデオモードを表示します。 -.It Fl m Ar on|off +.It Fl m Cm on | off マウスポインタを -.Ar on +.Cm on または -.Ar off +.Cm off します。 -テキストモードでのカット & ペースト機能を利用するために moused デーモンと共に -使用します。 +テキストモードでのカット & ペースト機能を利用するために +.Xr moused 8 +デーモンと共に使用します。 .It Fl f Ar size Ar file サイズ .Ar size 用のフォントをファイル .Ar file から読み込みます。 -現在のところ +(現在のところ .Ar size -には 8x8, 8x14, 8x16 のみが指定できます。 +には +.Cm 8x8 , +.Cm 8x14 , +.Cm 8x16 +のみが指定できます)。 フォントファイルは uuencode された形式でも 生のバイナリフォーマットでも構いません。 +メニューによる +.Xr vidfont 1 +コマンドを使用して、好きなフォントをロード可能です。 +.Pp +MDA や CGA のような古いビデオカードは +ソフトウェアフォントをサポートしないことに注意してください。 +後述の +.Sx ビデオモードサポート +と +.Sx 使用例 +と +.Xr syscons 4 +のマニュアルページも参照してください。 .It Fl s Ar number 現在の vty を .Ar number に設定します。 -.It Fl t Ar N|off +.It Fl t Ar N | Cm off スクリーンセーバのタイムアウト値を .Ar N 秒に設定、あるいはスクリーンセーバを無効 ( -.Ar off +.Cm off )にします。 .It Fl x 出力に 16 進数を用います。 .El .Ss ビデオモードサポート 前記の全モードを ビデオカードがサポートしているとは限らないことに注意してください。 -.Fl i Ar mode +.Fl i Cm mode オプションを使用することにより、 ビデオカードがサポートしているモードを調べることが可能です。 .Pp VESA ビデオモードもしくは 132 桁モードを使用する場合には、 VESA BIOS サポートをカーネルにリンクするか KLD にてロードする必要があることにも 注意してください ( .Xr vga 4 を参照してください)。 .Pp 25 または 30 行モード以外のビデオモードは、 特定の大きさのフォントが必要となるかもしれません。 前述の .Fl f オプションを使用し、フォントファイルをカーネルにロードしてください。 必要な大きさのフォントがカーネルにロードされていないと、 ユーザが新規ビデオモードを設定しようとした場合に .Nm は失敗します。 .Pp .TS c s c c l c. ビデオモードとフォントの大きさ モード フォントの大きさ 25 行モード 8x16 (VGA), 8x14 (EGA) 30 行モード 8x16 43 行モード 8x8 50 行モード 8x8 60 行モード 8x8 .TE .Pp 同じフォントの 3 つの大きさすべて (8x8, 8x14, 8x16) を 常にロードすることが望ましいです。 .Pp +.Pa /etc/rc.conf +または .Pa /etc/rc.conf.local -中の変数 -.Ar font8x8 , -.Ar font8x14 , -.Ar font8x16 -を希望のフォントファイルに設定できます。 +中の変数を希望のフォントファイルに設定できます。 これにより、システム起動時にこれらのフォントが自動的にロードされます。 +後述を参照してください。 +.Sh ビデオ出力設定 +.Ss ブート時の設定 +次の変数を +.Pa /etc/rc.conf +または +.Pa /etc/rc.conf.local +に設定することにより、ブート時にビデオ出力を設定可能です。 +.Pp +.Bl -tag -width foo_bar_var -compact +.It Ar blanktime +.Fl t +オプション用のタイムアウトを設定します。 +.It Ar font8x16, font8x14, font8x8 +.Fl f +オプション用のフォントファイルを指定します。 +.It Ar scrnmap +.Fl l +オプション用の画面出力マップファイルを指定します。 +.El +.Pp +更なる詳細は +.Xr rc.conf 5 +を参照してください。 +.Ss ドライバの設定 +デフォルトフォントなどのデフォルト設定オプションの変更を、 +ビデオカードドライバが許す場合があります。 +その場合、ブート時のオプション設定の必要はなくなります。 +詳細はビデオカードドライバマニュアル +.Pq 例えば Xr vga 4 +を参照してください。 .Sh 関連ファイル -.Bl -tag -width /usr/share/syscons/scrnmaps -compact -.It Pa /usr/share/syscons/fonts -.It Pa /usr/share/syscons/scrnmaps +.Bl -tag -width /usr/share/syscons/scrnmaps/foo-bar -compact +.It Pa /usr/share/syscons/fonts/* +フォントファイル。 +.It Pa /usr/share/syscons/scrnmaps/* +画面出力マップファイル。 .El +.Sh 使用例 +カーネルに +.Pa /usr/share/syscons/fonts/iso-8x16.fnt +をロードしたい場合、 +.Nm +を次のように実行します。 +.Pp +.Dl vidcontrol -f 8x16 /usr/share/syscons/fonts/iso-8x16.fnt +.Pp +フォントファイルが +.Pa /usr/share/syscons/fonts +にある場合、ファイル名を +.Pa iso-8x16 +のように短縮可能です。 +.Pp +.Dl vidcontrol -f 8x16 iso-8x16 +.Pp +同様に、画面出力マップファイルが +.Pa /usr/share/syscons/scrnmaps . +にある場合、 +.Fl l +オプション用のファイル名を短縮可能です。 +.Pp +.Dl vidcontrol -l iso-8859-1_to_cp437 +.Pp +このコマンドは +.Pa /usr/share/syscons/scrnmaps/iso-8859-1_to_cp437.scm +をロードします。 .Sh 関連項目 .Xr kbdcontrol 1 , +.Xr vidfont 1 , .Xr keyboard 4 , .Xr screen 4 , .Xr syscons 4 , .Xr vga 4 , .Xr rc.conf 5 , .Xr moused 8 .Sh 作者 .An Soren Schmidt Aq sos@FreeBSD.org diff --git a/ja_JP.eucJP/man/man5/groff_out.5 b/ja_JP.eucJP/man/man5/groff_out.5 index 84905f97f2..9c377c0263 100644 --- a/ja_JP.eucJP/man/man5/groff_out.5 +++ b/ja_JP.eucJP/man/man5/groff_out.5 @@ -1,228 +1,228 @@ '\" e .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. .\" This man page must be preprocessed with eqn. .\" -.\" Original Revision: 1.1.1.1 +.\" Original Revision: 1.2 .\" jpman %Id: groff_out.5,v 1.3 1998/08/09 15:06:44 ryo2 Stab % .\" .\" FreeBSD jpman project 訳語表 .\" WORD: scaled point スケールドポイント (troff.1, groff_font.5 参照) .\" WORD: special character 特殊文字 (troff.1 参照) .\" WORD: special font スペシャルフォント (troff.1 参照) .\" WORD: machine unit マシン単位 (pic.1, groff_font.5 参照) .\" WORD: print 印字 .ie \n(.g .ds ic \/ .el .ds ic \^ .TH GROFF_OUT 5 "11 May 1998" "Groff Version 1.11" .SH 名称 groff_out \- groff の中間出力フォーマット .SH 解説 このマニュアルページは、GNU troff の出力フォーマットについて記述します。 GNU troff が使用する出力フォーマットは、 UNIX のデバイス非依存 troff が使用するものと似ています。 ここでは両者の差のみを記述します。 .LP .B s コマンドへの引数はスケールドポイントです (これは .IR ポイント/ n を意味します。 .I n は DESC ファイル中の .B sizescale コマンドへの引数です)。 .B x\ Height コマンドへの引数もまたスケールドポイントです。 .LP 最初の 3 つの出力コマンドは次のようになっていなければなりません: .IP .BI x\ T\ device .br .BI x\ res\ n\ h\ v .br .B x init .LP DESC ファイル中に .B tcommand 行が存在する場合には、troff は以下の 2 つのコマンドを使用します。 .TP .BI t xxx .I xxx は、任意の文字のシーケンスであり、空白または改行を終端とします; 最初の文字を現在位置で印字し、 現在の水平位置を最初の文字の幅だけ増加させます。 続けて、同じ処理を各文字に対して実行します。 文字の幅は、フォントファイルにおいて与えられたものを 現在のポイントサイズに応じて適切にスケーリングしてから、 水平解像度の倍数となるように丸めます。 特殊文字はこのコマンドでは印字できません。 .TP .BI u n\ xxx .B t コマンドと同様ですが、各文字の印字後に現在の水平位置に加えられるものが、 文字幅と .IR n の和である点が違います。 .LP 単一文字は 8 ビット目がセットされていてもかまわないことに注意してください。 これはフォント名や特殊文字名にもあてはまります。 .LP 文字名やフォント名は任意の長さが許されます; ドライバはこれらの長さが 2 文字のみであると仮定してはなりません。 .LP 文字を印字する時、その文字は常に現在のフォント中に存在します。 デバイス非依存 troff とは異なり、 ドライバがスペシャルフォントから文字を探す必要はありません。 .LP .B D 描画コマンドは拡張されています。 .B \-n オプション指定時には、GNU pic はこれらの拡張を使用しません。 .TP \fBDf \fIn\fR\*(ic\en オブジェクトの塗り潰しに使用する陰影を .IR n に設定します; ここで .I n は 0 から 1000 の範囲の整数である必要があり、0 は白の塗り潰しを、 1000 は黒の塗り潰しを、 そしてそれらの間の値は中間の陰影を意味します。 この設定は、円の塗り潰し、楕円の塗り潰し、多角形の塗り潰しにのみ適用されます。 デフォルトでは 1000 が使用されます。 塗り潰しオブジェクトが色を持つ場合、 その色でそのオブジェクトの下の全てのものを完全に隠します。 1000 より大きい値や 0 より小さい値も使用される可能性があります: これらの値を指定すると、 現在線やテキストで使用している陰影で塗り潰すことを意味します。 通常はこれは黒ですが、 ドライバによってはこれを変更する手段を提供するものがあります。 .TP \fBDC \fId\fR\*(ic\en 現在位置を最左端とする、半径 .I d の塗り潰された円を描画します。 .TP \fBDE \fIdx dy\fR\*(ic\en 現在位置を最左端とする、水平半径 .I dx 垂直半径 .I dy の塗り潰された楕円を描画します。 .EQ delim $$ .EN .TP \fBDp\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en $i = 1 ,..., n+1$ に対し、 .I i 番目の頂点を現在位置 $+ sum from j=1 to i-1 ( dx sub j , dy sub j )$ とする多角形を描画します。 今のところ、GNU pic のみがこのコマンドを使用し、三角形と矩形を生成します。 .TP \fBDP\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en .B Dp と同様ですが、多角形の外形のみの描画でなく、塗り潰しも行います。 .TP \fBDt \fIn\fR\*(ic\en 現在の線の太さを .I n マシン単位に設定します。 伝統的に UNIX troff ドライバは、 現在のポイントサイズに比例する線の太さを使用します; .B Dt コマンドが指定されない場合や、 .B Dt コマンドに負の .IR n が指定された場合は、ドライバはこの方法を使用する必要があります。 .I n に 0 を指定すると、利用可能な最小の線の太さを選択します。 .LP これらのコマンドを実行した後、 現在位置をどのように変更するのかという問題が生じます。 GNU pic が生成するコードはこの問題に依存しませんので、 これはたいして重要ではありません。 .IP \fB\eD\(fm\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\(fm .LP の形式、ただし .I c は .BR c , .BR e , .BR l , .BR a , .BR ~ のいずれでもない描画コマンドが与えられた時、 UNIX troff は各 $x sub i$ を水平の単位で扱い、$y sub i$ を垂直の単位で扱い、 描画されるオブジェクトの幅は $sum from i=1 to n x sub i$ であり、 高さは $sum from i=1 to n y sub i$ であると仮定します。 (高さに関する仮定は、このような .B D コマンドを \ew エスケープシーケンス中で使用した後、 .B st レジスタおよび .B sb レジスタを検査することにより確認できます。) この規則は全てのオリジナルの描画コマンドにあてはまりますが、 .B De は例外です。 .BR Df , .B Dt コマンドや、影響は少ないですが .B DE コマンドにおいて、たとえ醜い結果となったとしても、 GNU troff もまた互換性のためにこの規則に従います。 それゆえ、 .IP \fBD\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\en .LP の形式の .B D コマンドを実行した後は、現在位置は $( sum from i=1 to n x sub i , sum from i=1 to n y sub i )$ だけ増えます。 .LP .B x\ X コマンドへの引数に改行を含めることを許すという、 継続に関する取り決めがあります: .B x\ X コマンドへの引数を出力する時、GNU troff は 引数中の .B + 文字付きの改行を辿ります (通常は改行で引数全体が終端されます); それゆえ、 .B x\ X コマンドを含む行の次行が .B + で開始する場合には、 .B x\ X コマンドを含む行の終端となっている改行は .B x\ X コマンドへの引数の一部として扱い、 .B + を無視し、行の .B + に続く部分を .B x\ X コマンドに続く行の部分として扱います。 .SH "関連項目" .BR groff_font (5) diff --git a/ja_JP.eucJP/man/man7/mdoc.samples.7 b/ja_JP.eucJP/man/man7/mdoc.samples.7 index 102cae151d..6ac023a08a 100644 --- a/ja_JP.eucJP/man/man7/mdoc.samples.7 +++ b/ja_JP.eucJP/man/man7/mdoc.samples.7 @@ -1,2709 +1,2725 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mdoc.samples.7 8.2 (Berkeley) 12/30/93 -.\" %Id: mdoc.samples.7,v 1.17 1998/12/03 03:38:45 jkoshy Exp % +.\" %Id: mdoc.samples.7,v 1.17.2.2 1999/06/24 01:00:56 mpp Exp % .\" .\" jpman %Id: mdoc.samples.7,v 1.4 1999/01/21 17:52:58 kuma Stab % .\" .\" This tutorial sampler invokes every macro in the package several .\" times and is guaranteed to give a worst case performance .\" for an already extremely slow package. .\" .\" WORD: display 表示内容 .\" WORD: angle bracket カギ括弧 <> .\" WORD: keep キープ .\" WORD: display ディスプレイ .\" WORD: literal リテラル .\" WORD: content macro コンテントマクロ .\" WORD: command modifier コマンド修飾子 .\" WORD: enclosure 囲い .\" WORD: quoting クォート .\" WORD: nest 入れ子 .\" WORD: block ragged 凹凸ブロック .\" WORD: constant width character 定幅文字 .\" .Dd December 30, 1993 .Os .Dt MDOC.SAMPLES 7 .Sh 名称 .Nm mdoc.samples .Nd .Nm \-mdoc を使って .Bx マニュアルを書くためのチュートリアルサンプル .Sh 書式 .Nm man mdoc.samples .Sh 解説 .Xr troff 1 用の .Em コンテントベース でかつ .Em 領域ベース なフォーマットパッケージである .Nm \-mdoc マクロパッケージを使って .Bx マニュアルを書くためのチュートリアルサンプルです。 前身である .Xr \-man 7 パッケージはフォントの操作や他の写植方法の詳細は個々の作者に任せた ページレイアウトベースのものでした。 .Nm \-mdoc では、ページレイアウトマクロは タイトル、セクションのヘッダ、ディスプレイ、リストのマクロからなる .Em "ページ構造領域" を形成しています。 ページ構造領域に加え、 さらにマニュアル領域および一般テキスト領域の 2 つの領域があります。 一般テキスト領域はテキストの一部をクォートしたり、強調するといったような作業を 実行するマクロとして定義されています。 マニュアル領域はコマンドやルーチン、それに .Bx の関連ファイルを記述するための日常使用されるインフォーマルな言葉の サブセットであるマクロとして定義されています。 マニュアル領域のマクロはコマンド名、コマンド行の引数とオプション、 関数名、関数のパラメータ、パス名、変数名、他のマニュアルページへの クロスリファレンスなどを扱います。 これらの領域の項目は作者とマニュアルページの将来のユーザの両者に とって価値のあるものです。 マニュアル間で一貫性を高めることによって将来のドキュメントツールへの 移行が容易になることが望まれます。 .Pp マニュアルのエントリは、実際の長さに関わらず、 また男女の区別をするような意図なしで、 .Ux のマニュアルページを通して、単純に man ページとして参照されています。 .Sh さあ、始めよう 通常チュートリアルドキュメントは、そこに示された題材をすぐに使いたい時 に読むものですので、このドキュメントのユーザはせっかちな人だと 仮定しています。 このドキュメントの残りの部分で説明されている題材は以下のような構成に なっています。 .Bl -enum -offset indent .It .Tn "TROFF に特有な表現" .Bl -tag -width flag -compact -offset indent .It "マクロの使用方法" .It "引数に空白文字を指定する" .It "行末の空白文字 (警告)" .It "特殊文字のエスケープ" .El .It .Tn "MAN ページの分析" .Bl -tag -width flag -compact -offset indent .It "マニュアルページのテンプレート" .El .It .Tn "タイトルマクロ" .It .Tn "マニュアル領域および一般テキスト領域の紹介" .Bl -tag -width flag -compact -offset indent .It "この名前には何が...?" .It "一般的な構文" .El .It .Tn "マニュアル領域" .Bl -tag -width flag -compact -offset indent .It "アドレス" .It "作者名" .It "引数" .It "コンフィギュレーション宣言 (セクション 4 のみ)" .It "コマンド修飾子" .It "定義済みの変数" .It "errno (セクション 2 のみ)" .It "環境変数" .It "関数の引数" .It "関数の宣言" .It "フラグ" .It "関数 (ライブラリルーチン)" .It "関数の型" .\" .It "ヘッダファイル (ソースコードを含む)" .It "対話的なコマンド" .It "名称" .It "オプション" .It "パス名" .It "変数" .It "クロスリファレンス" .El .It .Tn "一般テキスト領域" .Bl -tag -width flag -compact -offset indent .It "AT&T マクロ" .It "BSD マクロ" .It "FreeBSD マクロ" .It "UNIX マクロ" .It "囲い/クォート マクロ" .Bl -tag -width flag -compact -offset indent .It "カギ括弧 <> によるクォート/囲い" .It "角括弧 [] によるクォート/囲い" .It "二重引用符マクロ/囲い" .It "括弧 () によるクォート/囲い" .It "一重引用符によるクォート/囲い" .It "プレフィックスマクロ" .El .It "no\-op もしくは通常テキストマクロ" .It "空白なしマクロ" .It "セクションのクロスリファレンス" .It "参考文献と引用" .It "戻り値 (セクション 2 および 3 のみ)" .It "商標名 (頭字語とタイプ名)" .It "拡張引数" .El .It .Tn "ページ構造領域" .Bl -tag -width flag -compact -offset indent .It "セクションヘッダ" .It "段落と行スペース" .It "キープ" .It "例示とディスプレイ" .It "フォントモード (強調、リテラル、およびシンボリック)" .It "リストと列" .El .It .Tn "定義済みの文字列" .It .Tn "診断" .It .Tn "GROFF、TROFF、および NROFF を使用したフォーマッティング" .It .Tn "バグ" .El .ne 7 .Sh TROFF に特有な表現 .Nm \-mdoc パッケージは man ページを記述するプロセスを簡単にすることを 目的としています。 .Nm \-mdoc を使うために .Xr troff 1 のゴタゴタした詳細を学ぶ必要がないのが理想ですが、 いくつか片付けるべき避けられない制限事項があります。 また、このパッケージは高速で .Em ない ということも予め警告しておきます。 .Ss マクロの使用方法 .Xr troff 1 のように、マクロは .Ql \&\. (ドット文字) を行頭に置き、それに続けて 2 文字からなるマクロの名称を指定することによって 呼び出されます。 引数はマクロの後にスペースで区切って指定することができます。 行頭にドット文字を指定することによって .Xr troff 1 にそれに続く 2 文字をマクロ名として解釈するよう指示しています。 マクロを起動せずに、ある文脈の行の先頭に .Ql \&\. (ドット文字) を置くためには、 .Ql \&\. (ドット) の前にエスケープシーケンス .Ql \e& を指定します。 .Ql \e& は文字通りスペース幅が 0 として解釈され、出力には現れません。 .Pp 一般的に .Xr troff 1 マクロは引数を 9 つまで取ることができ、それ以上指定された引数は無視されます。 .Nm \-mdoc でのほとんどのマクロは 9 つの引数を取ることができ、 限られた場合にのみ引数は次の行に続けて指定することができます ( .Sx 拡張引数 セクションを参照)。 いくつかのマクロは引用符に囲まれた引数を扱うことができます (下の .Sx 引数に空白文字を指定する セクションを参照)。 .Pp .Nm \-mdoc での一般テキスト領域とマニュアル領域のほとんどのマクロは特別であり、 その引数のリストは呼び出し可能なマクロ名として .Em 解析 されます。 これは一般テキスト領域またはマニュアル領域のマクロ名に一致し、 呼び出し可能であると判断された引数リストの中の引数は、 実行されるか、それが処理される時に呼び出されることを意味しています。 この場合、引数はマクロ名にも関わらず、 .Ql \&\. (ドット) で前置されません。 このようにしてたくさんのマクロを入れ子にすることができます。 例えばオプションマクロ .Ql \&.Op はフラグマクロ .Ql \&Fl と引数マクロ .Ql \&Ar を .Em 呼び出して 、オプションのフラグを引数とともに指定することができます。 .Bl -tag -width "\&.Op \&Fl s \&Ar bytes" -offset indent .It Op Fl s Ar bytes は .Li \&.Op \&Fl s \&Ar bytes によって生成される .El .Pp 2 文字からなる文字列をマクロ名として解釈されないようにするには、 その文字列の前にエスケープシーケンス .Ql \e& を指定します。 .Bl -tag -width "\&.Op \&Fl s \&Ar bytes" -offset indent .It Op \&Fl s \&Ar bytes は .Li \&.Op \e&Fl s \e&Ar bytes によって生成される .El .Pp ここで文字列 .Ql \&Fl と .Ql \&Ar はマクロとして解釈されていません。 本ドキュメントと関連のクイックリファレンスマニュアル .Xr mdoc 7 を通して、 引数リストが呼び出し可能な引数として解析されるマクロは「解析される」、 引数リストから呼び出されることができるマクロは「呼び出し可能」 と表現します。 .Nm \-mdoc のほとんどすべてのマクロは解析されるのですから、これは技術的には .Em 不謹慎な ことですが、常にマクロを「呼び出し可能である」とか「他のマクロを 呼び出すことができる」と表現するのは面倒なことであるため、 「解析される」という用語が使われています。 .Ss 引数に空白文字を指定する ひとつ以上の空白文字を含む文字列をひとつの引数として指定したい場合が よくあります。 これは 9 個を越える引数を指定できないという制限に対処したり、 引数のリストにある特有な配置をおこなうことが必要なマクロに引数を指定するような 場合に必要となることがあります。 たとえば、関数マクロ .Ql \&.Fn では最初の引数は関数名であり、残りの引数が関数のパラメータであることが 必要です。 .Tn "ANSI C" の括弧で囲まれたパラメータリストにおける関数のパラメータの宣言の規定に より、各パラメータは最低でも 2 語の文字列となります。 たとえば .Fa int foo のようになります。 .Pp 空白を含む引数を指定するには 2 通りの方法があります。 .Em 実装における注釈 : 解析の前に個々の引数を再割り当てすることによって、 引用符の間に空白を含めて渡すのが最も便利な方法なのですが、 .Tn AT&T の .Xr troff のすべてのマクロを実装するには処理速度およびメモリ使用量の点で かなり高価な方法となります。 .Xr groff では高価な処理にはなりませんが、移植性のため、この方法は 空白を含めることが最も必要である以下のマクロだけに限っています。 .Pp .Bl -tag -width 4n -offset indent -compact .It Li \&Cd コンフィギュレーション宣言 (セクション 4 の .Sx SYNOPSIS ) .It Li \&Bl リスト開始 (幅指定用) .It Li \&Em テキスト強調 .It Li \&Fn 関数 (セクション 2 と 4) .It Li \&It リストの項目 .It Li \&Li リテラルテキスト .It Li \&Sy シンボリックテキスト .It Li \&%B 書籍のタイトル .It Li \&%J 定期刊行物のタイトル .It Li \&%O 参照の追加的な注釈 .It Li \&%R 報告書のタイトル (参照の中で) .It Li \&%T 書籍もしくは定期刊行物の中の記事のタイトル .El .Pp 空白を含む文字列を渡すのに、固定空白、すなわち詰め込まれない空白文字 .Ql \e\ を使う方法があります。すなわち、空白の前にエスケープ文字 .Ql \e を指定する方法です。 この方法はどのマクロでも使うことができますが、1 行を越える長さのテキストの 調整の邪魔になるという副作用があります。 .Xr troff では固定空白は他の印刷可能文字と同様に扱われ、通常期待されるように、 そこで文字列を空白や改行で分けることを行なわなくなります。 この方法は文字列が行の境界をまたがないであろう場合に有用です。 例えば、 .Bl -tag -width "fetch(char *str)" -offset indent .It Fn fetch char\ *str は .Ql \&.Fn fetch char\e *str によって生成される .It Fn fetch "char *str" は .Ql \&.Fn fetch "\\*qchar *str\\*q" でも生成される .El .Pp もし .Ql \e や引用符が省かれると、 .Ql \&.Fn は引数を 3 つ取り、その結果は .Pp .Dl Fn fetch char *str .Pp となります。 .Pp パラメータのリストが改行の境界をまたぐ場合に何がおこるかについては、 .Sx バグ のセクションを参照してください。 .Ss 行末の空白文字 .Xr troff は行末に空白文字があると混乱してしまうことがあります。 <空白><行末>の文字シーケンスからすべての空白文字を取り除くのは良い予防策です。 どうしても行末に空白文字をおく必要性が出てきた場合は、 詰め込まれない空白とエスケープ文字 .Ql \e& を使用することによって対応できます。 例えば、 .Ql string\e\ \e& のようにします。 .Ss 特殊文字のエスケープ 改行 .Ql \en のような特殊文字は .Ql \e を .Ql \ee で置き換える (すなわち .Ql \een とする) ことによって、バックスラッシュを残して扱うことができます。 .Sh MAN ページの分析 man ページの本文はファイル .Pa /usr/share/misc/mdoc.template の基本テンプレートを使って容易に作り上げることができます。 .Pa /usr/share/examples/mdoc にはいくつかのサンプルの man ページが収められています。 .Pp .Ss マニュアルページのテンプレート .Bd -literal -offset indent \&.\e" 以下の項目はすべての man ページで必要な項目です。 \&.Dd 月\ 日, 年 \&.Os オペレーティングシステム [バージョン/リリース] \&.Dt ドキュメントタイトル [セクション番号] [ボリューム] \&.Sh NAME \&.Nm 名称 \&.Nd 名称の 1 行での説明 \&.Sh SYNOPSIS \&.Sh DESCRIPTION \&.\e" 以下の項目については、必要に応じてコメントをはずして使用してく -\&.\e" ださい。この次の項目はセクション 2 と 3 でのみ必要な、関数の戻り -\&.\e" 値です。 +\&.\e" ださい。この次の項目はセクション 2, 3, 9 でのみ必要な、関数の +\&.\e" 戻り値です。 \&.\e" .Sh RETURN VALUES -\&.\e" 次の項目はセクション 1, 6, 7, 8 でのみ必要なものです。 +\&.\e" 次の項目はセクション 1, 6, 7, 8, 9 でのみ必要なものです。 \&.\e" .Sh ENVIRONMENT \&.\e" .Sh FILES \&.\e" .Sh EXAMPLES -\&.\e" 次の項目はセクション 1, 6, 7, 8 でのみ必要なものです。 +\&.\e" 次の項目はセクション 1, 6, 7, 8, 9 でのみ必要なものです。 \&.\e" ((シェルへの)コマンドの戻り値と fprintf/stderr の型の診断 \&.\e" です。) \&.\e" .Sh DIAGNOSTICS -\&.\e" 次の項目はセクション 2 と 3 でのみ必要な、エラーハンドリングと +\&.\e" 次の項目はセクション 2, 3, 9 でのみ必要な、エラーハンドリングと \&.\e" シグナルハンドリングです。 \&.\e" .Sh ERRORS \&.\e" .Sh SEE ALSO \&.\e" .Sh STANDARDS \&.\e" .Sh HISTORY \&.\e" .Sh AUTHORS \&.\e" .Sh BUGS .Ed .Pp このテンプレートにおける最初の項目はマクロ .Pq Li \&.Dd , \&.Os , \&.Dt であり、それぞれドキュメントの日付、 man ページもしくは題材となっているソースの開発や変更のベースとなった オペレーティングシステム、 .Pq Em 大文字で man ページタイトルをそのページが属するマニュアルのセクション番号とともに 指定したもの、となっています。 これらのマクロはそのページを識別するものであり、後述の .Sx タイトルマクロ で議論されています。 .Pp テンプレート中の残りの項目はセクションのヘッダ .Pq Li \&.Sh であり、それらのうち .Sx NAME と .Sx SYNOPSIS と .Sx DESCRIPTION は必須項目です。 これらのヘッダについては .Sx マニュアル領域 を説明した後、 .Sx ページ構造領域 で議論されます。 いくつかのコンテントマクロはページレイアウトマクロの説明に 使われていますので、ページレイアウトマクロの前にコンテントマクロについて 読むことを推奨します。 .Sh タイトルマクロ タイトルマクロはページ構造領域の最初の部分ですが、man ページを 前日に書き始めたいという人のために、最初に分けて記述されます。 3 つのヘッダマクロでドキュメントか man ページのタイトル、 オペレーティングシステム、および原著の日付を指定します。 これらのマクロはドキュメントの最初に一度だけ呼び出されるもので、 ヘッダとフッタを構成するためだけに使用されます。 .Bl -tag -width 6n .It Li \&.Dt ドキュメントタイトル セクション番号 [ボリューム] ドキュメントタイトルは man ページの主題であり、troff の制限により .Tn 大文字 でなければいけません。 -セクション番号は 1,\ ...,\ 8 となり、これが指定されると +セクション番号は 1,\ ...,\ 9 となり、これが指定されると ボリュームタイトルを省略してもかまいません。 +.Pp +.Tn FreeBSD +では、次のセクション番号と解説について後述します: +.Pp +.Bl -column SMM -offset indent -compact +.It Li 1 FreeBSD General Commands Manual +.It Li 2 FreeBSD System Calls Manaul +.It Li 3 FreeBSD Library Calls Manual +.It Li 4 FreeBSD Kernel Interfaces Manual +.It Li 5 FreeBSD File Formats Manual +.It Li 6 FreeBSD Games Manual +.It Li 7 FreeBSD Miscellaneous Information Manual +.It Li 8 FreeBSD System Manager's Manual +.It Li 9 FreeBSD Kernel Developers Guide +.El +.Pp ボリュームタイトルは任意のものか、以下のうちいずれかになります。 .\" .Cl .\" USD UNIX User's Supplementary Documents .\" .Cl .\" PS1 UNIX Programmer's Supplementary Documents .Pp .Bl -column SMM -offset indent -compact .It Li AMD UNIX Ancestral Manual Documents .It Li SMM UNIX System Manager's Manual .It Li URM UNIX Reference Manual .It Li PRM UNIX Programmer's Manual .El .Pp デフォルトのボリュームは セクション 1, 6, 7 では .Li URM 、セクション 8 では .Li SMM 、セクション 2, 3, 4, 5 では .Li PRM となっています。 .\" .Cl .\" MMI UNIX Manual Master Index .\" .Cl .\" CON UNIX Contributed Software Manual .\" .Cl .\" LOC UNIX Local Manual .It Li \&.Os オペレーティングシステム リリース番号 オペレーティングシステムの名称には一般的な頭字語 (略称) を使わなければなりません。 例えば、 .Tn BSD や .Tn FreeBSD や .Tn ATT といったものです。 リリース番号は、例えば4.3, 4.3+Tahoe, V.3, V.4 というような各システム での標準のリリースの命名法を使用します。 認識されない引数はページのフッタ中に記述された通りに表示されます。 以下にフッタの典型的な例を示します。 .Pp .Dl \&.Os BSD 4.3 .Pp や .Dl \&.Os FreeBSD 2.2 .Pp ローカルで作られたセットの例。 .Pp .Dl \&.Os CS Department .Pp Berkeley でのデフォルトである、引数なしの .Ql \&.Os はサイト固有のファイル .Pa /usr/share/tmac/mdoc/doc-common において .Tn BSD として定義されています。 これは実際には .Tn LOCAL として定義すべきです。 .Ql \&.Os マクロがない場合は、ページの左下角はみにくくなるであろうことに 注意してください。 .It Li \&.Dd 月 日, 年 日付は次のようにフォーマルな形式で記述しなければなりません。 .Pp .ne 5 .Dl January 25, 1989 .El .Sh マニュアル領域および一般テキスト領域の紹介 .Ss この名前には何が...? マニュアル領域のマクロ名はコマンドやサブルーチン、それに関連ファイルを 説明するために使われている日常のインフォーマルな言葉から取られています。 この言葉と少し違うバリエーションのものが man ページを書く上での 3 つの異なった面を記述するのに使われます。 最初のものは、 .Nm \-mdoc マクロ使用方法の説明です。 2 番目のものは .Nm \-mdoc マクロを用いた .Ux コマンドの記述です。 3 番目はコマンドを通常の言葉の感覚でユーザに示したものです。 これはすなわち、man ページのテキスト中でのコマンドの議論となります。 .Pp 最初のケースでは、 .Xr troff 1 マクロはそれ自身、一種のコマンドとなっています。 troff コマンドは一般的に以下のような形式をとります。 .Bd -filled -offset indent \&.Va argument1 argument2 ... argument9 .Ed .Pp .Ql \&.Va はマクロコマンドもしくは要求を示しており、それに続くものは すべて引数として処理されます。 2 番目のケースでは、コンテントマクロを使用する .Ux コマンドの記述がもう少し含まれます。 典型的な .Sx SYNOPSIS コマンド行はこのように表示されます。 .Bd -filled -offset indent .Nm filter .Op Fl flag .Ar infile outfile .Ed .Pp ここで .Nm filter はコマンド名であり、角括弧で囲まれた文字列 .Fl flag は .Em フラグ 引数で、これは角括弧で囲むことによってオプションであることを示しています。 .Nm \-mdoc の用語では .Ar infile と .Ar outfile は .Em 引数 と称されています。 上の例のフォーマットを行なったマクロは以下のものです。 .Bd -literal -offset indent \&.Nm filter \&.Op \&Fl flag \&.Ar infile outfile .Ed .Pp 3 番目のケースでは、コマンドの説明や構文に上記の例の両方が使われ、 さらに細かい記述が追加されるでしょう。 上の例での引数 .Ar infile と .Ar outfile は .Em オペランド もしくは .Em ファイル引数 として参照されます。 コマンド行の引数のリストはかなり長くなる場合もあります。 .Bl -tag -width make -offset indent .It Nm make .Op Fl eiknqrstv .Op Fl D Ar variable .Op Fl d Ar flags .Op Fl f Ar makefile .Bk -words .Op Fl I Ar directory .Ek .Op Fl j Ar max_jobs .Op Ar variable=value .Bk -words .Op Ar target ... .Ek .El .Pp ここではコマンド .Nm make について記述しており、 .Ar makefile をフラグ .Fl f の引数としています。 またオプションのファイルオペランド .Ar target についても議論しています。 言葉での説明では、こういった詳細な記述が混乱を防いでくれますが、 .Nm \-mdoc パッケージにはフラグ .Em への 引数のためのマクロがありません。 その代わりに .Ar target のようなオペランドやファイル引数に使われる引数マクロ .Ql \&Ar が .Ar variable のようなフラグへの引数にも使われます。 この make コマンド行は以下の指定により生成されています。 .Bd -literal -offset indent \&.Nm make \&.Op Fl eiknqrstv \&.Op Fl D Ar variable \&.Op Fl d Ar flags \&.Op Fl f Ar makefile \&.Op Fl I Ar directory \&.Op Fl j Ar max_jobs \&.Op Ar variable=value \&.Bk -words \&.Op Ar target ... \&.Ek .Ed .Pp マクロ .Ql \&.Bk と .Ql \&.Ek は .Sx キープ セクションにおいて解説されています。 .Ss 一般的な構文 マニュアル領域と一般テキスト領域のマクロはいくつかの小さな違い があるものの、同様な構文を使用しています。 .Ql \&.Ar , .Ql \&.Fl , .Ql \&.Nm , .Ql \&.Pa は引数なしで呼び出された時のみ異なります。 .Ql \&.Fn と .Ql \&.Xr は引数のリストの順番が異なります。 マクロ .Ql \&.Op と .Ql \&.Fn には入れ子の制限があります。 すべてのコンテントマクロが句読点を認識し、正しく扱うには、 各々の句読点文字が先行する空白で分離されている必要があります。 以下のように指定されている場合、 .Pp .Dl \&.Li sptr, ptr), .Pp その結果は以下のようになります。 .Pp .Dl Li sptr, ptr), .Pp ここでは句読点は認識されずすべての出力はリテラルなフォントで行なわれて います。句読点が空白文字で区切られている場合、 .Pp .Dl \&.Li "sptr , ptr ) ," .Pp 結果は以下のようになります。 .Pp .Dl Li sptr , ptr ) , .Pp 今度は句読点が認識され、出力はデフォルトのフォントで行なわれ リテラルフォントの文字列と区別されています。 .Pp .Ql \e& でエスケープすることによって句読点文字の特別な意味を取り除くことができます。 .Xr troff はマクロ言語としての限界から、数学、論理学、もしくは以下の引用符の 集合のメンバを含んだ文字列を表現するのは困難です。 .Bd -literal -offset indent-two \&{+,\-,/,*,\&%,<,>,<=,>=,=,==,&,`,',"} .Ed .Pp .Xr troff が文字によって示唆されている操作もしくは評価を実際に行なっていることが、 その問題の原因となっています。 .Ql \e& でこれらをエスケープすることによって、これらの文字が予期せずに 評価されることを防止することができます。 最初のコンテントマクロは、以下の .Ql \&.Ad において、その典型的な構文が示されています。 .Sh マニュアル領域 .Ss アドレスマクロ アドレスマクロは addr1[,addr2[,addr3]] の形式からなるアドレスを識別します。 .Pp .Dl 使い方: .Ad address ... \*(Pu .Bl -tag -width ".Ad f1 , f2 , f3 :" -compact -offset 14n .It Li \&.Ad addr1 .Ad addr1 .It Li \&.Ad addr1\ . .Ad addr1 . .It Li \&.Ad addr1\ , file2 .Ad addr1 , file2 .It Li \&.Ad f1\ , f2\ , f3\ : .Ad f1 , f2 , f3 : .It Li \&.Ad addr\ )\ )\ , .Ad addr ) ) , .El .Pp .Ql \&.Ad を引数なしで呼び出すのはエラーです。 .Ql \&.Ad は他のマクロから呼び出し可能で解析されます。 .Ss 作者名 .Ql \&.An マクロは文書化されている項目の作者の名前、もしくは実際の マニュアルページの作者の名前を指定するために使われます。 名前の情報の後のすべての引数は句読点として扱われます。 .Pp .Dl 使い方: .An author_name \*(Pu .Bl -tag -width ".An Joe Author ) ) ," -compact -offset 14n .It Li \&.An Joe\ Author .An Joe Author .It Li \&.An Joe\ Author\ , .An Joe\ Author , .It Li \&.An Joe\ Author\ \&Aq\ nobody@FreeBSD.ORG .An Joe Author Aq nobody@FreeBSD.ORG .It Li \&.An Joe\ Author\ )\ )\ , .An Joe Author ) ) , .El .Pp .Ql \&.An マクロは解析され、呼び出し可能です。 .Ql \&.An を引数なしで呼び出すのはエラーです。 .Ss 引数マクロ 引数マクロ .Ql \&.Ar はコマンド行の引数を参照する際に使用することができます。 .Pp .Dl 使い方: .Ar argument ... \*(Pu .Bl -tag -width ".Ar file1 file2" -compact -offset 15n .It Li \&.Ar .Ar .It Li \&.Ar file1 .Ar file1 .It Li \&.Ar file1\ . .Ar file1 . .It Li \&.Ar file1 file2 .Ar file1 file2 .It Li \&.Ar f1 f2 f3\ : .Ar f1 f2 f3 : .It Li \&.Ar file\ )\ )\ , .Ar file ) ) , .El .Pp .Ql \&.Ar が引数なしで呼び出されると、 .Ql Ar として扱われます。 .Ql \&.Ar マクロは解析され、呼び出し可能です。 .Ss コンフィギュレーション宣言 (セクション 4 のみ) .Ql \&.Cd マクロはセクション 4 のマニュアルにおいて、デバイスインタフェースの .Xr config 8 による宣言の説明に使われます。 このマクロは引用符 (2 重引用符のみ) で囲まれた引数を取ることができます。 .Pp .Bl -tag -width "device le0 at scode?" -offset indent .It Cd "device le0 at scode?" は .Ql ".Cd device le0 at scode?" によって生成されます。 .El .Ss コマンド修飾子 コマンド修飾子は .Ql \&.Cm マクロがすべての引数の前にダッシュ文字を付けないことを除いて、 .Ql \&.Fl (フラグ) コマンドと同じです。 伝統的にフラグはダッシュ文字に引き続いて指定されますが、 いくつかのコマンドやコマンドのサブセットはこの方法を使っていません。 コマンド修飾子はエディタコマンドのような対話的なコマンドでも 指定されることがあります。 .Sx フラグ のセクションを参照してください。 .Ss 定義済みの変数 インクルードファイルにおいて定義されている変数は .Ql \&.Dv マクロによって指定します。 .Pp .Dl 使い方: .Dv defined_variable ... \*(Pu .Bl -tag -width ".Dv MAXHOSTNAMELEN" -compact -offset 14n .It Li ".Dv MAXHOSTNAMELEN" .Dv MAXHOSTNAMELEN .It Li ".Dv TIOCGPGRP )" .Dv TIOCGPGRP ) .El .Pp .Ql \&.Dv を引数なしで呼び出すのはエラーです。 .Ql \&.Dv は解析され、呼び出し可能です。 .Ss errno (セクション 2 のみ) エラーマクロ .Ql \&.Er はセクション 2 のライブラリルーチンにおけるエラーの戻り値を指定します。 下記の 2 番目の例では .Ql \&.Er は一般テキスト領域マクロである .Ql \&.Bq (これはセクション 2 のマニュアルページで使われています) と共に使われています。 .Pp .Dl 使い方: .Er ERRNOTYPE ... \*(Pu .Bl -tag -width ".Bq Er ENOTDIR" -compact -offset 14n .It Li \&.Er ENOENT .Er ENOENT .It Li \&.Er ENOENT\ )\ ; .Er ENOENT ) ; .It Li \&.Bq \&Er ENOTDIR .Bq Er ENOTDIR .El .Pp .Ql \&.Er を引数なしで呼び出すのはエラーです。 .Ql \&.Er は解析され、呼び出し可能です。 .Ss 環境変数 .Ql \&.Ev マクロは環境変数を指定します。 .Pp .Dl 使い方: .Ev argument ... \*(Pu .Bl -tag -width ".Ev PRINTER ) ) ," -compact -offset 14n .It Li \&.Ev DISPLAY .Ev DISPLAY .It Li \&.Ev PATH\ . .Ev PATH . .It Li \&.Ev PRINTER\ )\ )\ , .Ev PRINTER ) ) , .El .Pp .Ql \&.Ev を引数なしで呼び出すのはエラーです。 .Ql \&.Ev は解析され、呼び出し可能です。 .Ss 関数の引数 .Ql \&.Fa マクロは関数の引数 (パラメータ) を マニュアルの .Sx SYNOPSIS のセクション外、もしくは .Sx SYNOPSIS のセクション内で参照する場合に使われます。 パラメータのリストが .Ql \&.Fn マクロでは長すぎる場合は、 囲って使うマクロ .Ql \&.Fo と .Ql \&.Fc を使わなければなりません。 .Ql \&.Fa は構造体のメンバを参照する場合にも使われます。 .Pp .Dl 使い方: .Fa function_argument ... \*(Pu .Bl -tag -width ".Fa d_namlen\ )\ )\ ," -compact -offset 14n .It Li \&.Fa d_namlen\ )\ )\ , .Fa d_namlen ) ) , .It Li \&.Fa iov_len .Fa iov_len .El .Pp .Ql \&.Fa を引数なしで呼び出すのはエラーです。 .Ql \&.Fa は解析され、呼び出し可能です。 .Ss 関数の宣言 .Ql \&.Fd マクロは .Sx SYNOPSIS セクションにおいて、セクション 2 または 3 の関数の説明で使われます。 .Ql \&.Fd マクロから他のマクロを呼び出すことはなく、他のマクロから呼び出すことも できません。 .Pp .Dl 使い方: .Fd include_file (or defined variable) .Pp .Sx SYNOPSIS セクションにおいて、関数がすでに示されていて改行が入っていない場合、 .Ql \&.Fd によって改行が挿入されます。 これによって前の関数呼び出しと次の関数の宣言の間に最適な行間が設定されます。 .Ss フラグ .Ql \&.Fl マクロはコマンド行のフラグを扱います。 フラグの前にはダッシュ .Ql \- が挿入されます。 対話的なコマンドのフラグでは、ダッシュがフラグの前には挿入されませんが、 .Ql \&.Cm (コマンド修飾子) マクロは、ダッシュを付けないことを除き、同じ働きをします。 .Pp .Dl 使い方: .Fl argument ... \*(Pu .Bl -tag -width ".Fl \-s \-t \-v" -compact -offset 14n .It Li \&.Fl .Fl .It Li \&.Fl cfv .Fl cfv .It Li \&.Fl cfv\ . .Fl cfv . .It Li \&.Fl s v t .Fl s v t .It Li \&.Fl -\ , .Fl - , .It Li \&.Fl xyz\ )\ , .Fl xyz ) , .El .Pp 引数なしで .Ql \&.Fl マクロを指定すると、標準入力/標準出力を意味するダッシュとなります。 ひとつのダッシュに .Ql \&.Fl マクロを使用すると、2 つダッシュとなることに注意して下さい。 .Ql \&.Fl マクロは解析され、呼び出し可能です。 .Ss 関数 (ライブラリルーチン) .Ql \&.Fn マクロは ANSI C の記法を規範としています。 .Bd -literal 使い方: .Fn [type] function [[type] parameters ... \*(Pu] .Ed .Bl -tag -width ".Fn .int align. .const * char *sptrsxx" -compact .It Li "\&.Fn getchar" .Fn getchar .It Li "\&.Fn strlen ) ," .Fn strlen ) , .It Li \&.Fn "\\*qint align\\*q" "\\*qconst * char *sptrs\\*q" , .Fn "int align" "const * char *sptrs" , .El .Pp .Ql \&.Fn を引数を指定せずに呼び出すのはエラーです。 .Ql \&.Fn マクロは解析され、呼び出し可能です。他のマクロの呼び出しは .Ql \&.Fn の呼び出しの終了を意味することに注意して下さい (閉じ括弧がその点で挿入されます)。 .Pp 9 個以上のパラメータをとる関数 (これは滅多にないことですが) では、 .Ql \&.Fo マクロ (関数オープン) と .Ql \&.Fc マクロ (関数クローズ) を .Ql \&.Fa (関数引数) と共に使って、この制限を回避することができます。 以下にその例を示します。 .Bd -literal -offset indent \&.Fo "int res_mkquery" \&.Fa "int op" \&.Fa "char *dname" \&.Fa "int class" \&.Fa "int type" \&.Fa "char *data" \&.Fa "int datalen" \&.Fa "struct rrec *newrr" \&.Fa "char *buf" \&.Fa "int buflen" \&.Fc .Ed .Pp これは以下のような結果になります。 .Bd -filled -offset indent .Fo "int res_mkquery" .Fa "int op" .Fa "char *dname" .Fa "int class" .Fa "int type" .Fa "char *data" .Fa "int datalen" .Fa "struct rrec *newrr" .Fa "char *buf" .Fa "int buflen" .Fc .Ed .Pp .Ql \&.Fo と .Ql \&.Fc マクロは解析され、呼び出し可能です。 .Sx SYNOPSIS セクションでは、関数は常に行の先頭から開始されます。 .Sx SYNOPSIS セクションにおいて、複数の関数が示されており、関数の型が示されない場合、 改行が挿入され、現在の関数名とその前の関数名の間に最適な改行量が設定されます。 現在、 .Ql \&.Fn は troff の行の長さに対して、語の境界をチェックしておらず、予期しない 場所で改行が挿入されてしまうことがあります。 これは近い将来修正されるでしょう。 .Ss 関数の型 このマクロは .Sx SYNOPSIS セクションで使うものです。 man ページ中の他の場所でも問題なく使うことができますが、 セクション 2 と 3 の .Sx SYNOPSIS セクションでカーネルの通常の形式で関数の型を示すことがこのマクロの目的です (このマクロは関数名が次の行に置かれるように改行を挿入します)。 .Pp .Dl 使い方: .Ft type ... \*(Pu .Bl -tag -width "\&.Ft struct stat" -offset 14n -compact .It Li \&.Ft struct stat .Ft struct stat .El .Pp .Ql \&.Ft は他のマクロからは呼び出せません。 .Ss 対話的なコマンド .Ql \&.Ic マクロは対話的なコマンド、もしくは内部コマンドを指定します。 .Pp .Dl 使い方: .Ic argument ... \*(Pu .Bl -tag -width ".Ic setenv , unsetenvxx" -compact -offset 14n .It Li \&.Ic :wq .Ic :wq .It Li \&.Ic do while {...} .Ic do while {...} .It Li \&.Ic setenv\ , unsetenv .Ic setenv , unsetenv .El .Pp .Ql \&.Ic を引数なしで呼び出すのはエラーです。 .Ql \&.Ic マクロは解析され、呼び出し可能です。 .Ss 名称マクロ .Ql \&.Nm マクロは文書のタイトルやサブジェクト名を指定するために使われます。 このマクロは最初に呼び出された時の引数を覚えておくという特性を持っており、 それは常にそのページのサブジェクト名であるべきです。 引数なしで呼び出されると .Ql \&.Nm は作者の作業を少なくするためだけの目的で、最初の名称を出力します。 注釈: セクション 2 または 3 のドキュメントの関数名は .Sx NAME セクションにおいて .Ql \&.Nm で指定され、 .Sx SYNOPSIS セクションや残りのセクションでは .Ql \&.Fn で指定されます。 .Xr csh 1 での .Ql while コマンドのキーワードのような対話的なコマンドでは .Ql \&.Ic マクロを使うべきです。 .Ql \&.Ic はほとんど .Ql \&.Nm と同一ですが、 それが最初に使われたときの引数を記憶することはできません。 .Pp .Dl 使い方: .Nm argument ... \*(Pu .Bl -tag -width ".Nm mdoc.sample" -compact -offset 14n .It Li \&.Nm mdoc.sample .Nm mdoc.sample .It Li \&.Nm \e-mdoc .Nm \-mdoc . .It Li \&.Nm foo\ )\ )\ , .Nm foo ) ) , .It Li \&.Nm .Nm .El .Pp .Ql \&.Nm マクロは解析され、呼び出し可能です。 .Ss オプション .Ql \&.Op マクロはコマンド行の残りのすべての引数を オプションであることを示す角括弧で囲み、 末尾の句読点は角括弧の外に置きます。 .Ql \&.Oc マクロと .Ql \&.Oo マクロは複数行に渡って使うことができます。 .Pp .Dl 使い方: .Op options ... \*(Pu .Bl -tag -width ".Op Fl c Ar objfil Op Ar corfil ," -compact -offset indent .It Li \&.Op .Op .It Li ".Op Fl k" .Op Fl k .It Li ".Op Fl k ) ." .Op Fl k ) . .It Li ".Op Fl k Ar kookfile" .Op Fl k Ar kookfile .It Li ".Op Fl k Ar kookfile ," .Op Fl k Ar kookfile , .It Li ".Op Ar objfil Op Ar corfil" .Op Ar objfil Op Ar corfil .It Li ".Op Fl c Ar objfil Op Ar corfil ," .Op Fl c Ar objfil Op Ar corfil , .It Li \&.Op word1 word2 .Op word1 word2 .El .Pp .Ql \&.Oc マクロと .Ql \&.Oo マクロ: .Bd -literal -offset indent \&.Oo \&.Op \&Fl k \&Ar kilobytes \&.Op \&Fl i \&Ar interval \&.Op \&Fl c \&Ar count \&.Oc .Ed .Pp 出力結果: .Oo .Op Fl k Ar kilobytes .Op Fl i Ar interval .Op Fl c Ar count .Oc .Pp .Ql \&.Op と .Ql \&.Oc と .Ql \&.Oo マクロは解析され、呼び出し可能です。 .Ss パス名 .Ql \&.Pa マクロはパス名もしくはファイル名をフォーマットします。 .Pp .Dl 使い方: .Pa pathname \*(Pu .Bl -tag -width ".Pa /tmp/fooXXXXX ) ." -compact -offset 14n .It Li \&.Pa /usr/share .Pa /usr/share .It Li \&.Pa /tmp/fooXXXXX\ )\ . .Pa /tmp/fooXXXXX ) . .El .Pp .Ql \&.Pa マクロは解析され、呼び出し可能です。 .Ss 変数 一般的な変数への参照です。 .Pp .Dl 使い方: .Va variable ... \*(Pu .Bl -tag -width ".Va char s ] ) ) ," -compact -offset 14n .It Li \&.Va count .Va count .It Li \&.Va settimer , .Va settimer , .It Li \&.Va int\ *prt\ )\ : .Va int\ *prt ) : .It Li \&.Va char\ s\ ]\ )\ )\ , .Va char\ s ] ) ) , .El .Pp .Ql \&.Va を引数なしで呼び出すのはエラーです。 .Ql \&.Va マクロは解析され、呼び出し可能です。 .Ss マニュアルページのクロスリファレンス .Ql \&.Xr マクロは最初の引数にマニュアルページの名称を取り、もしあれば次の引数に セクションのページ数か句読点を取ります。 すべての残りの引数は句読点と見なされます。 .Pp -.Dl 使い方: .Xr man_page [1,...,8] \*(Pu +.Dl 使い方: .Xr man_page [1,...,9] \*(Pu .Bl -tag -width ".Xr mdoc 7 ) ) ," -compact -offset 14n .It Li \&.Xr mdoc .Xr mdoc .It Li \&.Xr mdoc\ , .Xr mdoc , .It Li \&.Xr mdoc 7 .Xr mdoc 7 .It Li \&.Xr mdoc 7\ )\ )\ , .Xr mdoc 7 ) ) , .El .Pp .Ql \&.Xr マクロは解析され、呼び出し可能です。 .Ql \&.Xr を引数なしで呼び出すのはエラーです。 .Sh 一般テキスト領域 .Ss AT&T マクロ .Bd -literal -offset indent -compact 使い方: .At [v6 | v7 | 32v | V.1 | V.4] ... \*(Pu .Ed .Bl -tag -width ".At v6 ) ," -compact -offset 14n .It Li ".At" .At .It Li ".At v6 ." .At v6 . .El .Pp .Ql \&.At マクロは解析 .Em されず 、呼び出し .Em 不可能 です。 最大 2 つまでの引数を取ることができます。 .Ss BSD マクロ .Dl 使い方: .Bx [Version/release] ... \*(Pu .Bl -tag -width ".Bx 4.3 ) ," -compact -offset 14n .It Li ".Bx" .Bx .It Li ".Bx 4.3 ." .Bx 4.3 . .El .Pp .Ql \&.Bx マクロは解析され、呼び出し可能です。 .Ss FreeBSD マクロ .Bd -literal -offset indent -compact 使い方: .Fx Version.release ... \*(Pu .Ed .Bl -tag -width ".Fx 2.2 ) ," -compact -offset 14n .It Li ".Fx 2.2 ." .Fx 2.2 . .El .Pp .Ql \&.Fx マクロは解析 .Em されず 、呼び出し .Em 不可能 です。 最大 2 つまでの引数を取ることができます。 .Ss UNIX マクロ .Dl 使い方: .Ux ... \*(Pu .Bl -tag -width ".Ux 4.3 ) ," -compact -offset 14n .It Li ".Ux" .Ux .El .Pp .Ql \&.Ux マクロは解析され、呼び出し可能です。 .Ss 囲い/クォートマクロ 囲いの概念はクォートと似たものです。 1 つ以上の文字列が引用符や括弧のような文字のペアで囲まれている オブジェクトを指します。 クォートと囲いという用語はこの文書を通して同じ意味で使われます。 ほとんどの 1 行の囲いマクロはクォート (quote) のヒントとするために、小文字の .Ql q で終了しますが、いくつかの例外があります。 各々の囲いマクロに対し、開始マクロと終了マクロのペアもあり、それぞれ小文字の .Ql o と .Ql c で終了します。 これらは 1 行以上のテキストに渡って使うことができますが、 入れ子にする場合に制限があります。 その中では 1 行形式のクォートマクロのみ使用することができます。 .Pp .ne 5 .Bd -filled -offset indent .Bl -column "クォート " "終了 " "開始 " "クォートされたリテラル " XX文字列XX .Em " クォート 終了 開始 機能 結果" \&.Aq .Ac .Ao カギ括弧による囲い <文字列> \&.Bq .Bc .Bo 角括弧による囲い [文字列] \&.Dq .Dc .Do 2 重引用符 ``文字列'' .Ec .Eo 囲い文字列 (XXによる) XX文字列XX \&.Pq .Pc .Po 括弧による囲い (文字列) \&.Ql クォートされたリテラル `st' または文字列 \&.Qq .Qc .Qo まっすぐな 2 重引用符 "文字列" \&.Sq .Sc .So 1 重引用符 `文字列' .El .Ed .Pp 下記の不正なマクロを除き、すべてのクォートマクロは解析され、呼び出し可能です。 句読点がひとつずつ置かれていて、スペースで区切られていれば、 すべてのクォートマクロは句読点を適切に扱います。 クォートマクロは開く句読点、閉じる句読点 (訳注: 句読点には括弧なども含みます) を調べ、 それが囲む文字列より前か後かを決めます。 これによって、ある程度の入れ子が可能になっています。 .Bl -tag -width xxx,xxxx .It Li \&.Ec , \&.Eo これらのマクロは各々開始および終了の文字列を最初の引数に取ります。 .It Li \&.Ql リテラルをクォートするマクロは .Xr troff では .Xr nroff と異なった処理を行ないます。 .Xr nroff でフォーマットされた場合、クォート指定されたリテラルは常にクォートされます。 .Xr troff でフォーマットされた場合は、アイテムの幅が固定幅文字 3 つ分より 狭い場合にのみクォートされます。 これはリテラル (固定幅) のフォントの変更があまり気づかれないものであるため、 短い文字列を良く見えるようにするためです。 .It Li \&.Pf プレフィックスマクロは呼び出し可能ではありませんが、解析されます。 .Bl -tag -width "(namexx" -offset indent .It Li ".Pf ( Fa name2" は .Pf ( Fa name2 となります。 .El .Pp .Ql \&.Ns (空白なし) マクロはサフィックス機能と同様の作用があります。 .El .Pp .ne 4 クォートの例: .Bl -tag -width ".Aq Pa ctype.h ) ,xxxxxxxx" -compact -offset indent .It Li \&.Aq .Aq .It Li \&.Aq \&Ar ctype.h\ )\ , .Aq Ar ctype.h ) , .It Li \&.Bq .Bq .It Li \&.Bq \&Em Greek \&, French \&. .Bq Em Greek , French . .It Li \&.Dq .Dq .It Li ".Dq string abc ." .Dq string abc . .It Li ".Dq \'^[A-Z]\'" .Dq \'^[A-Z]\' .It Li "\&.Ql man mdoc" .Ql man mdoc .It Li \&.Qq .Qq .It Li "\&.Qq string ) ," .Qq string ) , .It Li "\&.Qq string Ns )," .Qq string Ns ), .It Li \&.Sq .Sq .It Li "\&.Sq string .Sq string .El .Pp 囲いマクロの入れ子についての良い例については、 オプションマクロ .Ql \&.Op を参照してください。 このマクロは上でリストされているような囲いマクロと同じベースの上に 作られています。 拡張引数リストマクロ .Ql \&.Xo と .Ql \&.Xc もまた同じルーチンをベースに作られており、 .Nm \-mdoc マクロの使い方の非常に良い例となっています。 .Ss no\-op もしくは通常テキストマクロ .Ql \&.No マクロはマクロコマンド行において、コンテントマクロの構文形式に従うが、 フォーマットされては .Em ならない 単語をハックするものです。 .Ss 空白なしマクロ .Ql \&.Ns マクロはマクロ間での不要な空白を除去します。 これはフラグと引数の間に空白を含まない古いスタイルの引数リストを使う場合に 便利です。 .Bl -tag -width ".Op Fl I Ns Ar directoryxx" -offset indent .It Li ".Op Fl I Ns Ar directory" これは以下の結果になります。 .Op Fl I Ns Ar directory .El .Pp 注釈: .Ql \&.Ns マクロは他のマクロ名が続かなければ、スペースを除去したあとに .Ql \&.No マクロを常に起動します。 .Ql \&.Ns マクロは解析され、呼び出し可能です。 .Ss セクションのクロスリファレンス .Ql \&.Sx マクロは同一文書内でのセクションのヘッダへの参照を指定します。 これは解析され、呼び出し可能です。 .Pp .Bl -tag -width "Li \&.Sx FILES" -offset 14n .It Li \&.Sx FILES .Sx FILES .El .Ss 参考文献と引用 以下のマクロは多少なりとも参考文献を扱えるようにと意図したものです。 これらのマクロは、せいぜい参照スタイルの参考文献のサブセットを手動で 作成しやすくする程度です。 .Pp .Bl -tag -width 6n -offset indent -compact .It Li ".Rs" 参考文献の開始。 改行を挿入してから、参考文献の終了マクロが読み込まれるまで 参考文献の情報を収集する。 .It Li ".Re" 参考文献の終了。 参考文献が表示される。 .It Li ".%A" 参考文献の作者名。1 回の呼び出しにつき、作者名をひとつ指定する。 .It Li ".%B" 書籍のタイトル。 .It Li ".\&%C" 市 / 場所。 .It Li ".\&%D" 日付。 .It Li ".%J" 定期刊行物の名称。 .It Li ".%N" 発行番号。 .It Li ".%O" 追加情報。 .It Li ".%P" ページ番号。 .It Li ".%R" 報告書の名称。 .It Li ".%T" 記事のタイトル。 .It Li ".%V" 巻数。 .El .Pp .Ql % で始まるマクロは呼び出し不可能ですが、 呼び出し側に戻る商標名マクロだけは解析されます。 (現時点では予期できないことです。) 商標名のみ解析されるのは .Xr troff Ns / Ns Xr ditroff の出力をきれいにするためです。 .Ss 戻り値 .Ql \&.Rv マクロは .Sx RETURN VALUES のセクションで使うテキストを生成します。 .Pp .Dl 使い方: .Rv [-std function] .Pp .Ql \&.Rv -std atexit これは以下のテキストを生成します。 .Pp .Rv -std atexit .Pp .Fl std オプションはセクション 2 と 3 のマニュアルページでのみ有効です。 .Ss 商標名 (頭字語とタイプ名) 商標名マクロは一般的に長さが 2 文字を越えるすべてが大文字の単語用 に使われる小さな大文字のマクロです。 .Pp .Dl 使い方: .Tn symbol ... \*(Pu .Bl -tag -width ".Tn ASCII" -compact -offset 14n .It Li \&.Tn DEC .Tn DEC .It Li \&.Tn ASCII .Tn ASCII .El .Pp .Ql \&.Tn マクロは解析され、他のマクロから呼び出し可能です。 .Ss 拡張引数 .Ql \&.Xo と .Ql \&.Xc マクロでマクロの境界における引数リストを拡張することができます。 引数リストは .Ql \&.Op のようなすべての引数が 1 行中に指定されていることを前提としている マクロの中では行に渡って拡張することができません。 .Pp 以下に空白モードマクロをスペーシングをオフにするために使った .Ql \&.Xo での例を示します。 .Bd -literal -offset indent \&.Sm off \&.It Xo Sy I Ar operation \&.No \een Ar count No \een \&.Xc \&.Sm on .Ed .Pp これは以下のような結果になります。 .Bd -filled -offset indent .Bl -tag -width flag -compact .Sm off .It Xo Sy I Ar operation .No \en Ar count No \en .Xc .Sm on .El .Ed .Pp 例をもうひとつ: .Bd -literal -offset indent \&.Sm off \&.It Cm S No \&/ Ar old_pattern Xo \&.No \&/ Ar new_pattern \&.No \&/ Op Cm g \&.Xc \&.Sm on .Ed .Pp これは以下のような結果になります。 .Bd -filled -offset indent .Bl -tag -width flag -compact .Sm off .It Cm S No \&/ Ar old_pattern Xo .No \&/ Ar new_pattern .No \&/ Op Cm g .Xc .Sm on .El .Ed .Pp 囲いマクロを使った .Ql \&.Xo の他の例: 変数の値をテストして下さい。 .Bd -literal -offset indent \&.It Xo \&.Ic .ifndef \&.Oo \e&! Oc Ns Ar variable \&.Op Ar operator variable ... \&.Xc .Ed .Pp 結果は以下の通りです。 .Bd -filled -offset indent .Bl -tag -width flag -compact .It Xo .Ic .ifndef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc .El .Ed .Pp 上のすべての例では .Ql \&.It (リスト項目) マクロの引数リストに .Ql \&.Xo マクロを使用しています。 拡張マクロが使われることはあまりありません。 使われるとすれば、リスト項目の引数リストを拡張する場合です。 残念なことに、これが拡張マクロが最も懲り性であるところでもあります。 最初の 2 つの例では、スペーシングはオフになっています。 3 番目では、ある箇所にはスペーシングを入れることが望ましいのですが、 出力全体に入れたいわけではありません。 そのような状況でこれらのマクロが適切に動作するためには、 .Ql \&.Xo と .Ql \&.Xc マクロが 3 番目の例にあるように指定されていることを確認してください。 .Ql \&.Xo マクロが置かれた .Ql \&.It の引数リストに他のものが置かれると、スペーシングがどうなるかは予測不可能です。 この場合、 .Ql \&.Ns (空白なしマクロ) は行中の最初もしくは最後のマクロに指定してはいけません。 現在 .Bx でリリースされている 900 のマニュアルページ (実際のページでは約 1500 ページ) のうち 15 のマニュアルページでのみしか .Ql \&.Xo が使われていません。 .Sh ページ構造領域 .Ss セクションヘッダ 以下にリストされている、最初の 3 つのセクションヘッダマクロ .Ql \&.Sh はすべての man ページで必須のものです。 残りのセクションヘッダはマニュアルページの作者の裁量において、 推奨されているものです。 .Ql \&.Sh マクロは 9 つまでの引数を取ることができます。 これは解析されますが、呼び出し不可能です。 .Bl -tag -width ".Sh SYNOPSIS" .It \&.Sh NAME .Ql \&.Sh NAME (訳注: 名称) マクロは必須のものです。 これが指定されていないと、ヘッダとフッタ、それにデフォルトの ページレイアウトが設定されず、結果はかなり好ましくないものになるでしょう。 .Sx NAME セクションは最低 3 つの項目からなります。 最初のものは名称マクロ .Ql \&.Nm であり、man ページのサブジェクトとなります。 2 番目のものは名称説明マクロ .Ql \&.Nd であり、サブジェクト名を 3 つめの項目、 すなわちその名称の説明と分離します。 説明に割り当てられるスペースは小さいものですので、 できるだけ簡潔で分かりやすいものでなければなりません。 .It \&.Sh SYNOPSIS .Sx SYNOPSIS (訳注: 書式) セクションはその man ページのサブジェクトとなっている項目の 典型的な使用法を説明します。 必須のマクロは .Ql ".Nm" , .Ql ".Cd" , .Ql ".Fn" のいずれかです。 (他には .Ql ".Fo" , .Ql ".Fc" , .Ql ".Fd" , .Ql ".Ft" のマクロも必要な場合があります。) 関数名マクロ .Ql ".Fn" はセクション 2 と 3 のマニュアルページにおいて必須のもので、 コマンドと一般名称マクロ .Ql \&.Nm はセクション 1, 5, 6, 7, 8 で必須の項目です。 セクション 4 のマニュアルでは .Ql ".Nm" か .Ql ".Fd" 、もしくはコンフィギュレーションデバイス使用法マクロ .Ql ".Cd" が必要です。 その他のいくつかのマクロが下に示すような書式行を生成するために必要なこと があります。 .Pp .Bd -filled -offset indent .Nm cat .Op Fl benstuv .Op Fl .Ar .Ed .Pp 以下のマクロが使われています。 .Pp .Dl \&.Nm cat .Dl \&.Op \&Fl benstuv .Dl \&.Op \&Fl .Dl \&.Ar .Pp .Sy 注釈 : マクロ .Ql \&.Op , .Ql \&.Fl , .Ql \&.Ar はパイプの文字 .Ql \*(Ba を認識し、下記のようなコマンド行 .Pp .Dl ".Op Fl a | Fl b" .Pp はうまくいきません。 .Xr troff は通常 \*(Ba を特別のオペレータとして解釈します。 この他で \*(Ba が使える場合については .Sx 定義済みの文字列 セクションを参照して下さい。 .It \&.Sh DESCRIPTION .Sx DESCRIPTION (訳注: 解説) セクションでの最初のテキストは、ほとんどの場合ではそのコマンド、 関数もしくはファイルについての短い段落で、オプションの構文リストと それぞれの説明がそれに続きます。 そのようなリストを作成するには リスト開始マクロ .Ql \&.Bl 、リスト項目マクロ .Ql \&.It 、リスト終了マクロ .Ql \&.El を使います (後述の .Sx リストと列 セクションを参照)。 .El .Pp 以下の .Ql \&.Sh のセクションヘッダはマニュアルページの好ましいレイアウトの一部であり、 一貫性を保つために適切に使われなければなりません。 これらは使われる順番にリストされています。 .Bl -tag -width 書式 .It \&.Sh ENVIRONMENT (訳注: 環境変数) .Sx ENVIRONMENT セクションは関連する環境変数を明らかにし、 それらの振舞や使用方法を示します。 .It \&.Sh EXAMPLES (訳注: 使用例、実行例) 使用例、実行例を作成するには様々な方法があります。 詳細については、下の .Sx 例示とディスプレイ のセクションを参照してください。 .It \&.Sh FILES (訳注: 関連ファイル) man ページのサブジェクトによって使用されるか生成されるファイルで、 .Sx FILES のセクション中でマクロ .Ql \&.Pa によってリストされます。 .It \&.Sh SEE ALSO (訳注: 関連項目) .Sx SEE ALSO セクションには、その man ページの題材に関する資料への参照と 他の関連する man ページへのクロスリファレンスが記載されます。 クロスリファレンスは .Ql \&.Xr マクロによって指定されます。 .Sx SEE ALSO セクションでのクロスリファレンスはセクション番号順に並べ、 セクション中ではカンマで区切ってアルファベット順に並べなければなりません。 以下に例を示します。 .Pp .Xr ls 1 , .Xr ps 1 , .Xr group 5 , .Xr passwd 5 . .Pp ここで参考スタイルである .Xr refer 1 は適応されていません。 .It \&.Sh STANDARDS (訳注: 規格) コマンドやライブラリ関数やファイルが、 .St -p1003.2 や .St -ansiC のような特定の実装によるものであれば、ここで記述します。 もしコマンドがどの規格にも基づいていなければ、その歴史は .Sx HISTORY のセクションで説明されなければなりません。 .It \&.Sh HISTORY (訳注: 歴史) 特定の規格に基づいていないコマンドは、 このセクションでその歴史の概要が説明されるべきです。 .It \&.Sh AUTHORS (訳注: 作者) クレジットが必要であれば、ここで入れます。 .It \&.Sh DIAGNOSTICS (訳注: 診断) コマンドからの診断はこのセクションに入れます。 .It \&.Sh ERRORS (訳注: エラー) 特定のエラーハンドリング、特にライブラリ関数 -(man ページのセクション 2 と 3) でのエラーハンドリングは、ここで説明します。 +(man ページのセクション 2, 3, 9) でのエラーハンドリングは、ここで説明します。 .Ql \&.Er マクロが errno を記述するために使われます。 .It \&.Sh BUGS (訳注: バグ) あきらかな問題はここで記述します。 .El .Pp ユーザ指定の .Ql \&.Sh セクションを追加することができます。 たとえば、このセクションは以下のように設定されています。 .Bd -literal -offset 14n \&.Sh ページ構造領域 .Ed .Ss 段落と行スペース .Bl -tag -width 6n .It \&.Pp .Ql \&.Pp 段落コマンド は必要な場合に行スペースを指定するために使われます。 このマクロは .Ql \&.Sh マクロや .Ql \&.Ss マクロのあと、それに .Ql \&.Bl マクロの前では必要ありません。 ( .Ql \&.Bl マクロは -compact フラグが指定されていなければ、縦方向の距離を宣言します )。 .El .\" This worked with version one, need to redo for version three .\" .Pp .\" .Ds I .\" .Cw (ax+bx+c) \ is\ produced\ by\ \& .\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\& .\" .Cl Cx \t\t .\" .Li \&.Cx\ ( .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va ax .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy \+ .\" .Cx .\" .Cl Cx \&(\& .\" .Va ax .\" .Cx + .\" .Va by .\" .Cx + .\" .Va c ) .\" .Cx \t .\" .Em is produced by .\" .Cx \t .\" .Li \&.Va by .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy \+ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va c ) .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .\" This example shows the same equation in a different format. .\" The spaces .\" around the .\" .Li \&+ .\" signs were forced with .\" .Li \e : .\" .Pp .\" .Ds I .\" .Cw (ax\ +\ bx\ +\ c) \ is\ produced\ by\ \& .\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\& .\" .Cl Cx \t\t .\" .Li \&.Cx\ ( .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va a .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy x .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx \e\ +\e\ \e& .\" .Cx .\" .Cl Cx \&(\& .\" .Va a .\" .Sy x .\" .Cx \ +\ \& .\" .Va b .\" .Sy y .\" .Cx \ +\ \& .\" .Va c ) .\" .Cx \t .\" .Em is produced by .\" .Cl Cx \t\t .\" .Li \&.Va b .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy y .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx \e\ +\e\ \e& .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va c ) .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .\" The incantation below was .\" lifted from the .\" .Xr adb 1 .\" manual page: .\" .Pp .\" .Ds I .\" .Cw \&[?/]m_b1_e1_f1[?/]\& is\ produced\ by .\" .Cl Cx \t\t .\" .Li \&.Cx Op Sy ?/ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Nm m .\" .Cx .\" .Cl Cx Op Sy ?/ .\" .Nm m .\" .Ad \ b1 e1 f1 .\" .Op Sy ?/ .\" .Cx \t .\" .Em is produced by .\" .Cx \t .\" .Li \&.Ar \e\ b1 e1 f1 .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Op Sy ?/ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .Ss キープ 現在実装されているキープは単語に対するものだけです。 それらは .Ql \&.Bk (キープ開始) マクロと .Ql \&.Ek (キープ終了) マクロです。 .Ql \&.Bk に指定できるオプションは .Fl words のみであり、これはオプションの途中で改行が入らないようにするのに便利です。 コマンド行の引数を生成する例 ( .Sx この名前には何が...? セクションを参照) において、キープは .Xr nroff がフラグと引数を別の行に分けないように使われています。 (実際には、オプションマクロがこの目的で使われていましたが、 オプションが行中にわたって散らばってしまうと 一般的に見栄えが悪くなるという理由により .Xr troff で右揃えのマージンを強制的に行なう (宗教的な) 決定がなされてから、 オプションマクロをこの目的で使わないようになりました。 キープマクロについてはもっと機能を向上する作業が必要であり、 .Fl line オプションを追加していく必要があります。) .Ss 例示とディスプレイ ディスプレイには 5 つのタイプがあります。 即席 1 行インデントディスプレイ .Ql \&.D1 、即席 1 行リテラルディスプレイ .Ql \&.Dl 、それに ディスプレイ開始マクロ .Ql \&.Bd とディスプレイ終了マクロ .Ql \&.Ed を使用するリテラルブロック、フィルブロックおよび凸凹ブロックです。 .Pp .Bl -tag -width \&.Dlxx .It Li \&.D1 (D-いち) インデントされたテキストを 1 行表示します。 このマクロは解析されますが、呼び出し不可能です。 .Pp .Dl Fl ldghfstru .Pp これは次の指定で生成されたものです。 .Li \&.Dl Fl ldghfstru .It Li \&.Dl (D-エル) インデントされた .Em リテラル テキストを 1 行表示します。 .Ql \&.Dl マクロの例は本ファイルの中に渡って使われています。 これによって 1 行のテキストのインデント (表示) が可能になります。 このマクロは解析され、他のマクロを認識することができますが、 デフォルトのフォントは固定幅 (リテラル) にセットされています。 しかしながら、呼び出しは不可能です。 .Pp .Dl % ls -ldg /usr/local/bin .Pp これは .Li \&.Dl % ls -ldg /usr/local/bin から生成されています。 .It Li \&.Bd ディスプレイ開始です。 .Ql \&.Bd によるディスプレイは .Ql \&.Ed マクロによって終了しなければなりません。 ディスプレイはディスプレイ内およびリスト内で入れ子にすることができます。 .Ql \&.Bd は以下の書式をとります。 .Pp .Dl ".Bd ディスプレイタイプ [-offset オフセット値] [-compact]" .Pp ディスプレイタイプは以下の 4 つのタイプの内の 1 つでなければならず、 インデント .Ql \&.Bd のオフセット値を指定することができます。 .Pp .Bl -tag -width "file ファイル名 " -compact .It Fl ragged テキストのブロックをタイプされた通りに表示します。 右マージン (と左マージン) のエッジは左に不揃いに寄せられます。 .It Fl filled フィル (フォーマット) されたブロックを表示します。 テキストのブロックがフォーマットされます (エッジは左非揃えではなく、フィルされます)。 .It Fl literal リテラルなブロックを表示します。 ソースコードや、単純にタブもしくはスペースで整えられたテキストで便利です。 .It Fl file Ar ファイル名 .Fl file フラグに続く名称のファイルが読み込まれ、表示されます。 表示はリテラルなモードで行われ、タブは定幅文字 8 つ分に固定されますが、 ファイル中のすべての .Xr troff/ Ns Nm \-mdoc コマンドは解釈されます。 .It Fl offset Ar 文字列 .Fl offset が以下の文字列のいずれかとともに指定されていると、 その文字列は次のテキストのブロックのインデントのレベルを示すものとして 解釈されます。 .Pp .Bl -tag -width "indent-two" -compact .It Ar left ブロックを現在の左マージンに揃えます。 これは .Ql \&.Bd のデフォルトのモードです。 .It Ar center ブロックを中央揃えにします。 残念ながら現時点では、 単にブロックの左側を仮想的な中央マージンに揃えるだけです。 .It Ar indent デフォルトのインデント値もしくはタブの分だけインデントします。 デフォルトのインデント値はディスプレイ .Ql \&.D1 でも使われ、これら 2 つのタイプのディスプレイを使った場合、 行が揃うことが保証されています。 このインデントは通常 6n か約 2/3 インチ (定幅文字 6 つ分) です。 .It Ar indent-two デフォルトのインデント値の 2 倍分インデントします。 .It Ar right これはブロックをページの右端から約 2 インチ離して .Em 左 揃えします。 このマクロはちゃんと動作する必要があるのですが、 .Xr troff ではまったくちゃんと動作してくれていません。 .El .El .It ".Ed" ディスプレイ終了。 .El .Ss フォントモード マニュアルページのテキストの見栄えを変更するマクロは 5 つあります。 .Bl -tag -width \&.Emxx .It \&.Em テキストは .Ql \&.Em マクロで強調することができます。 強調の場合、通常イタリック体のフォントが使われます。 .Pp .Dl 使い方: .Em argument ... \*(Pu .Bl -tag -width ".Em vide infra ) ) ," -compact -offset 14n .It Li ".Em does not" .Em does not .It Li ".Em exceed 1024 ." .Em exceed 1024 . .It Li ".Em vide infra ) ) ," .Em vide infra ) ) , .El .Pp .Ql \&.Em マクロは解析され、呼び出し可能です。 .Ql \&.Em を引数なしで呼び出すのはエラーです。 .It \&.Li リテラルマクロ .Ql \&.Li は特殊文字や変数定数、その他タイプされた通りに表示する必要があるものに 使用することができます。 .Pp .Dl 使い方: .Li argument ... \*(Pu .Bl -tag -width ".Li cntrl-D ) ," -compact -offset 14n .It Li \&.Li \een .Li \en .It Li \&.Li M1 M2 M3\ ; .Li M1 M2 M3 ; .It Li \&.Li cntrl-D\ )\ , .Li cntrl-D ) , .It Li \&.Li 1024\ ... .Li 1024 ... .El .Pp .Ql \&.Li マクロは解析され、呼び出し可能です。 .It \&.Sy シンボリック体強調マクロはシンボリックの意味でも 伝統的な英語の使いかたにおいても、 通常はボールドマクロとなっています。 .Pp .Dl 使い方: .Sy symbol ... \*(Pu .Bl -tag -width ".Sy Important Noticex" -compact -offset 14n .It Li \&.Sy Important Notice .Sy Important Notice .El .Pp .Ql \&.Sy マクロは解析され、呼び出し可能です。 .Ql \&.Sy の引数は引用符で囲むことができます。 .It Li \&.Bf フォントモード開始。 フォントモード .Ql \&.Bf は .Ql \&.Ef マクロで終了しなければなりません。 フォントモードは他のフォントモードと入れ子にすることができます。 .Ql \&.Bf は次の構文を取ります。 .Pp .Dl ".Bf フォントモード" .Pp フォントモードは以下の 3 つのタイプのうちのいずれかでなければなりません。 .Pp .Bl -tag -width "file file_name " -compact .It Sy \&Em | Fl emphasis 強調モード。 .Ql \&.Em マクロがテキストブロック全体に使われているのと同様です。 .It Sy \&Li | Fl literal リテラルモード。 .Ql \&.Li マクロがテキストブロック全体に使われているのと同様です。 .It Sy \&Sy | Fl symbolic シンボリックモード。 .Ql \&.Sy マクロがテキストブロック全体に使われているのと同様です。 .El .It ".Ef" フォントモードの終了。 .El .Ss タグつきリストと列 リスト開始マクロ .Ql ".Bl" で開始されるリストにはいくつかのタイプがあります。 リスト中の項目は項目マクロ .Ql ".It" で指定され、各リストは .Ql ".El" マクロで終了しなければなりません。 リストはリスト自身やディスプレイの中で入れ子にすることができます。 列はリストの中で使うことができますが、 リストが列の中で使えるかどうかは検証されていません。 .Pp さらに、タグの幅、リストのオフセット、コンパクトさ (項目間の空白行が許されているかどうか) のような、 いくつかのリストの属性を指定することができます。 本ドキュメントのほとんどはタグ .Pq Fl tag スタイルリストでフォーマットされています。 各種リストタイプは、調子を変えるためにオーバーハング .Pq Fl ohang でリストしました。 このリストのタイプは .Tn TeX のユーザに非常に人気のあるものですが、tag リストで構成されたページを 何ページも読んだ後には幾分変に見えるでしょう。 以下のリストタイプを .Ql ".Bl" で使うことができます。 .Pp .Bl -ohang -compact .It Fl bullet .It Fl item .It Fl enum これら 3 つは最も単純なリストのタイプです。 一旦 .Ql ".Bl" マクロが与えられると、リスト中の項目は単に .Ql ".It" マクロによってのみ構成される行で指定されます。 例として、簡単な列挙リストのソーステキストは、このようになります。 .Bd -literal -offset indent-two \&.Bl -enum -compact \&.It \&ひとつめはここ。 \&.It \&そしてふたつめ。 \&.It \&最後にみっつめはここ。 \&.El .Ed .Pp これらの結果は以下のようになります。 .Pp .Bl -enum -offset indent-two -compact .It ひとつめはここ。 .It そしてふたつめ。 .It 最後にみっつめはここ。 .El .Pp 簡単な bullet リスト構成の例を示します。 .Bd -literal -offset indent-two \&.Bl -bullet -compact \&.It \&ひとつめの bullet。 \&.It \&これはふたつめの bullet。 \&.El .Ed .Pp その結果はこうなります。 .Bl -bullet -offset indent-two -compact .It ひとつめの bullet。 .It これはふたつめの bullet。 .El .Pp .It Fl tag .It Fl diag .It Fl hang .It Fl ohang .It Fl inset これらのリストタイプは .Ql \&.It マクロによって指定されている引数からラベルを生成します。 そして、 .Em inset では、次のテキストへそのラベルを挿入します。 .Em hang では、次のテキストをラベルの位置へインデントします。 .Em ohang (オーバーハング) では、次のテキストをラベルの位置にぶら下げ、インデントしません。 .Em tag では、タグつきテキストの形式にします。 ちなみに上のリストは .Ql Fl ohang リストタイプで構成されています。 .Ql \&.It マクロは inset, hang, tag のリストタイプでのみ解析され、 呼び出し不可能です。 以下に inset ラベルの例を示します。 .Bl -inset -offset indent .It Em tag tag リスト (tag 段落とも呼ばれる) は、 Berkely マニュアルで使われているリストのうち最も一般的なタイプです。 .It Em diag (診断) 診断リストはセクション 4 の診断リストを生成するもので、 呼び出し可能なマクロが無視されることを除き、inset リストと似ています。 .It Em hang hang ラベルは好みの問題です。 .It Em ohang ohang ラベルはスペースに制限がある時に便利です。 .It Em inset inset ラベルは段落のブロックを制御するのに便利で、 .Nm \-mdoc マニュアルを他の形式に変換する時に役立ちます。 .El .Pp 上の例を生成したソーステキストはこうなっています。 .Bd -literal -offset indent \&.Bl -inset -offset indent \&.It Em tag \&tag リスト (tag 段落とも呼ばれる) は、 \&Berkely マニュアルで使われているリストのうち最も一般的なタイプです。 \&.It Em diag (診断) \&診断リストはセクション 4 の診断リストを生成するもので、 \&呼び出し可能なマクロが無視されることを除き、inset リストと似ています。 \&.It Em hang \&hang ラベルは好みの問題です。 \&.It Em ohang \&ohang ラベルはスペースに制限がある時に便利です。 \&.It Em inset \&inset ラベルは段落のブロックを制御するのに便利で、 \&.Nm \-mdoc \&マニュアルを他の形式に変換する時に役立ちます。 \&.El .Ed .Pp 以下は 2 つの項目を持つ hang リストです。 .Bl -hang -offset indent .It Em hang ラベルがラベルの幅より小さいときには、 ラベルは tag リストと同じようになります。 .It Em 長い hang リストラベル は、tag 段落のラベルとは異なり、 段落の中に埋め込まれます。 .El .Pp これを生成している元のテキストは以下の通りです。 .Bd -literal -offset indent \&.Bl -hang -offset indent \&.It Em hang \&ラベルがラベルの幅より小さいときには、 \&ラベルは tag リストと同じようになります。 \&.It Em 長い hang リストラベル \&は、tag 段落のラベルとは異なり、 \&段落の中に埋め込まれます。 \&.El .Ed .Pp タグ幅を制御するためのオプションの幅指定を使ったタグつきリストは 以下の通りです。 .Pp .Bl -tag -width "PAGEIN" -compact -offset indent .It SL プロセスが sleep している時間 (ブロックされた秒数) .It PAGEIN そのプロセスによるコアにロードされていないページへの参照によるディスク .Tn I/O の回数 .It UID プロセスの所有者の数字表記によるユーザID .It PPID 親プロセスの数字表記によるID、プロセスの優先度 (割り込み不可のウエイトであるときには非正値) .El .Pp 元のテキストは以下の通りです。 .Bd -literal -offset indent \&.Bl -tag -width "PAGEIN" -compact -offset indent \&.It SL \&プロセスが sleep している時間 (ブロックされた秒数) \&.It PAGEIN \&そのプロセスによるコアにロードされていないページへの参照によるディスク \&.Tn I/O \&の回数 \&.It UID \&プロセスの所有者の数字表記によるユーザID \&.It PPID \&親プロセスの数字表記によるID、プロセスの優先度 \&(割り込み不可のウエイトであるときには非正値) \&.El .Ed .Pp 幅指定として以下のものを使うことができます。 .Bl -tag -width Ar -offset indent .It Fl width Ar "\&Fl" そのフラグでのデフォルトの幅を指定します。 すべての呼び出し可能なマクロは各々デフォルトの幅の値を持っています。 現在、 .Ql \&.Fl の値は定幅文字 10 個分、もしくは約 5/6 インチとなっています。 .It Fl width Ar "24n" 定幅文字 24 個分の幅、もしくは約 2 インチの幅をセットします。 これが正しく動作するには .Ql n が必ず必要となります。 .It Fl width Ar "ENAMETOOLONG" 指定された文字列の固定長に幅をセットします。 .It Fl width Ar "\\*qint mkfifo\\*q" これも、指定された文字列の固定長に幅をセットします。 .El .Pp タグつきリストタイプで幅が指定されていないと、 .Ql \&.It が最初に起動された時に適した幅を決定することが試みられます。 .Ql ".It" の最初の引数が呼び出し可能なマクロであれば、そのマクロのデフォルトの幅が そのマクロ名が幅として指定されたように使用されます。 しかしながら、そのリスト中に他の項目が別の呼び出し可能なマクロ名で 与えられていると、新しく入れ子となったリストとして処理されます。 .Sh 定義済みの文字列 以下の文字列はあらかじめ定義されているものであり、 troff の文字列解釈シーケンス .Ql \&\e*(xx もしくは .Ql \&\e*x を前に伴って使われます。 ここで、 .Em xx もしくは .Em x は定義されている文字列の名称です。 解釈シーケンスはテキストのどこでも使うことができます。 .Pp .Bl -column "文字列 " "Nroff " "Troff " -offset indent .It Sy "文字列 Nroff Troff" .It Li "<=" Ta \&<\&= Ta \*(<= .It Li ">=" Ta \&>\&= Ta \*(>= .It Li "Rq" Ta "''" Ta \*(Rq .It Li "Lq" Ta "``" Ta \*(Lq .It Li "ua" Ta ^ Ta \*(ua .It Li "aa" Ta ' Ta \*(aa .It Li "ga" Ta \` Ta \*(ga .\" .It Li "sL" Ta ` Ta \*(sL .\" .It Li "sR" Ta ' Ta \*(sR .It Li "q" Ta \&" Ta \*q .It Li "Pi" Ta pi Ta \*(Pi .It Li "Ne" Ta != Ta \*(Ne .It Li "Le" Ta <= Ta \*(Le .It Li "Ge" Ta >= Ta \*(Ge .It Li "Lt" Ta < Ta \*(Gt .It Li "Gt" Ta > Ta \*(Lt .It Li "Pm" Ta +- Ta \*(Pm .It Li "If" Ta infinity Ta \*(If .It Li "Na" Ta \fINaN\fP Ta \*(Na .It Li "Ba" Ta \fR\&|\fP Ta \*(Ba .El .Pp .Sy 注釈 : .Ql q の名称がつけられている文字列は、1 文字であるため .Ql \e*q と書かなければなりません。 .Sh 診断 .Nm \-mdoc は限られたデバッグ機能しか持っていませんが、 引数名と内部レジスタやマクロ名との衝突のような 潜在的なエラーを検出するのに役立ちます。 (A って何?) レジスタは .Xr troff での演算用記憶クラスであり、1 文字か 2 文字の名称がついています。 .Xr troff と .Xr ditroff での .Nm \-mdoc のすべての内部レジスタは .Ql \&Ar のように2 文字からなる <大文字><小文字> の形式か、 .Ql \&aR のように <小文字><大文字> の形式か、 .Ql \&C\&1 のように <大文字もしくは小文字><数字> の形式を取ります。 さらに混乱することに、 .Xr troff はそれ自身の内部レジスタを持ち、 それらすべては小文字 2 文字か、ドットに文字もしくはメタ文字が続く形式を取ります。 紹介例の 1 つに、 エスケープシーケンス .Ql \e& でマクロ名を解釈させない方法がありました。 これは内部レジスタ名にも有効です。 .Pp .\" Every callable macro name has a corresponding register .\" of the same name (). .\" There are also specific registers which have .\" been used for stacks and arrays and are listed in the .\" .Sx Appendix . .\" .Bd -ragged -offset 4n .\" [A-Z][a-z] registers corresponding to macro names (example ``Ar'') .\" [a-z][A-Z] registers corresponding to macro names (example ``aR'') .\" C[0-9] argument types (example C1) .\" O[0-9] offset stack (displays) .\" h[0-9] horizontal spacing stack (lists) .\" o[0-9] offset (stack) (lists) .\" t[0-9] tag stack (lists) .\" v[0-9] vertical spacing stack (lists) .\" w[0-9] width tag/label stack .\" .Ed .\" .Pp エスケープされていないレジスタ名が引数リストに指定されると、 予期できない振舞いとなります。 一般的には、テキストのかなり大きな部分が出力されるべきところに 出力されないとか、リストのタグのような小さな文字列が消えてしまうとか、 引数リストの中の引数のタイプが間違って解釈されるとかいうことが、起こり得ます。 きっとあなたのお母さんは、あなたにこんな面倒なことを覚えるようにとは 考えていないでしょう。 そこで、与えられた引数が有効か無効かを判断する方法があります。 そんなときには、 .Ql \&.Db (デバッグ) マクロによってほとんどのマクロの引数リストがどう解釈されるか を表示することができます。 .Ql \&.Pp (段落) マクロのようなマクロはデバッグ情報を含んでいません。 呼び出し可能なマクロはすべてデバッグ情報を含んでおり、 疑いがある場合はいつでも .Ql \&.Db マクロをオンにすることを強くお勧めします。 .Pp .Dl 使い方: \&.Db [on | off] .Pp 以下の例では、 問題が故意に発生するようにされた部分の上と下で デバッグマクロが指定されています (フラグ引数 .Ql \&aC は正しく動作するためには .Ql \e&aC でなければなりません)。 .Bd -literal -offset indent \&.Db on \&.Op Fl aC Ar file ) \&.Db off .Ed .Pp この結果の出力は以下の通りです。 .Bd -literal -offset indent DEBUGGING ON DEBUG(argv) MACRO: `.Op' Line #: 2 Argc: 1 Argv: `Fl' Length: 2 Space: `' Class: Executable Argc: 2 Argv: `aC' Length: 2 Space: `' Class: Executable Argc: 3 Argv: `Ar' Length: 2 Space: `' Class: Executable Argc: 4 Argv: `file' Length: 4 Space: ` ' Class: String Argc: 5 Argv: `)' Length: 1 Space: ` ' Class: Closing Punctuation or suffix MACRO REQUEST: .Op Fl aC Ar file ) DEBUGGING OFF .Ed .Pp この情報の最初の行では呼び出されているマクロの名称が出力されています。 ここでは .Ql \&.Op とそれが現れた行番号が表示されています。 複数のファイルが処理されている場合 (特にテキストが他のファイルからインクルードされている場合)、 行番号は正しくないでしょう。 ファイルが 1 つだけの場合には正しい行番号が出力されます。 2 番目の行では引数の個数と引数 .Pq Ql \&Fl とその長さが出力されています。 引数の長さが 2 文字であれば、 その引数が実行可能 (ゼロでない値を含むすべてのレジスタは実行可能なように見えます) かどうかテストされます。 3 番目の行ではそのクラスで指定されているスペースとクラスタイプが 出力されています。 ここでの問題は引数 aC が実行不可能でなければならないことです。 クラスの 4 つのタイプは文字列、実行可能、閉じる句読点、開く句読点です。 最後の行では引数リスト全体が読み込まれた通りに表示されています。 次の例では問題の原因となっている .Ql \&aC がエスケープされています。 .Bd -literal -offset indent \&.Db on \&.Em An escaped \e&aC \&.Db off .Ed .Bd -literal -offset indent DEBUGGING ON DEBUG(fargv) MACRO: `.Em' Line #: 2 Argc: 1 Argv: `An' Length: 2 Space: ` ' Class: String Argc: 2 Argv: `escaped' Length: 7 Space: ` ' Class: String Argc: 3 Argv: `aC' Length: 2 Space: ` ' Class: String MACRO REQUEST: .Em An escaped &aC DEBUGGING OFF .Ed .Pp .Ql \e& シーケンスは長さが 0 となるために 引数 .Ql \e&aC は先の例と同様に長さ 2 と表示されています。 しかし、 .Ql \e&aC という名称のレジスタが見つからず、タイプは文字列と判断されています。 .Pp この他の診断は使用方法を報告するものであり、 それ自身が説明を含んでいます。 .Sh GROFF, TROFF, NROFF .Nm \-mdoc パッケージは .Xr groff との互換モードは必要ではありません。 .Pp このパッケージでは改ページと、 .Xr nroff で改ページ時に通常挿入されるヘッダとフッタは禁止されており、 マニュアルをオンラインで効率良く見ることができるようになっています。 現在の所、 .Fl T Ns Ar ascii が指定された .Xr groff はページ内容の無いファイル末の残りの部分まで出力します。 改ページを禁止することによって .Xr nroff による出力はハードコピーには適さないものとなっています。 サイト依存のスタイルファイル .Pa /usr/src/share/tmac/doc-nroff において 0 にセットすることができる .Ql \&cR の名称を持つレジスタが古いスタイルの振る舞いを実現するために用意されています。 .Sh 関連ファイル .Bl -tag -width /usr/share/man0/template.doc -compact .It Pa /usr/share/tmac/tmac.doc マニュアルマクロパッケージ .It Pa /usr/share/misc/mdoc.template man ページを書くためのテンプレート .It Pa /usr/share/examples/mdoc/* man ページのいくつかの例 .El .Sh 関連項目 .Xr man 1 , .Xr troff 1 , .Xr mdoc 7 .Sh バグ フラグ引数のダッシュにおいて好ましくないハイフンが挿入される問題は、 まだ解決されておらず、 .Sx DESCRIPTION セクションにおいて災いをおこすことがあります (ハイフンにおいて改行が挿入される)。 .Pp あらかじめ定義されている文字列は文書において宣言されていません。 .Pp セクション 3f はヘッダルーチンには追加されていません。 .Pp .Ql \&.Nm フォントは .Sx NAME セクションにおいて変更されるべきです。 .Pp .Ql \&.Fn は分割されるのを防止するために、 行の長さが短すぎないかどうかをチェックする必要があります。 ときどき、最後の括弧が分割されることがあり、 行がフィルモードであるときには全くおかしな結果になることがあります。 .Pp nroff を使用している時に、 ヘッダとフッタで改ページを防止 (最初のヘッダとフッタ以外) している方法は、 時々おそらくページの下端に一部見苦しくフィルされた行 (空白行) を挿入する ことがあります。 .Pp リストマクロとディスプレイマクロはキープを行いませんが、 これはキープを行うべきです。 .\" Note what happens if the parameter list overlaps a newline .\" boundary. .\" to make sure a line boundary is crossed: .\" .Bd -literal .\" \&.Fn struct\e\ dictionarytable\e\ *dictionarylookup struct\e\ dictionarytable\e\ *tab[] .\" .Ed .\" .Pp .\" produces, nudge nudge, .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] , .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] , .\" nudge .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] . .\" .Pp .\" If double quotes are used, for example: .\" .Bd -literal .\" \&.Fn \*qstruct dictionarytable *dictionarylookup\*q \*qchar *h\*q \*qstruct dictionarytable *tab[]\*q .\" .Ed .\" .Pp .\" produces, nudge nudge, .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" , .\" nudge .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" , .\" nudge .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" . .\" .Pp .\" Not a pretty sight... .\" In a paragraph, a long parameter containing unpaddable spaces as .\" in the former example will cause .\" .Xr troff .\" to break the line and spread .\" the remaining words out. .\" The latter example will adjust nicely to .\" justified margins, but may break in between an argument and its .\" declaration. .\" In .\" .Xr nroff .\" the right margin adjustment is normally ragged and the problem is .\" not as severe. diff --git a/ja_JP.eucJP/man/man7/symlink.7 b/ja_JP.eucJP/man/man7/symlink.7 index f715758139..95152f1b40 100644 --- a/ja_JP.eucJP/man/man7/symlink.7 +++ b/ja_JP.eucJP/man/man7/symlink.7 @@ -1,440 +1,439 @@ .\" Copyright (c) 1992, 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. .\" .\" @(#)symlink.7 8.3 (Berkeley) 3/31/94 .\" %Id: symlink.7,v 1.8.2.1 1999/05/02 12:06:54 kris Exp % -.\" %Id: symlink.7,v 1.8 1998/04/24 12:38:18 des Exp % .\" .\" jpman %Id: symlink.7,v 1.5 1999/01/21 17:50:41 kuma Stab % .\" .\" WORD: dereference 手繰る .\" WORD: traverse たどる .Dd March 31, 1994 .Dt SYMLINK 7 .Os BSD 4 .Sh 名称 .Nm symlink .Nd シンボリックリンクの扱い .Sh シンボリックリンクの扱い シンボリックリンクは、他のファイルへのポインタとして働くファイルです。 動作を理解するためには、ハードリンクの動作を理解する必要があります。 ファイルへのハードリンクは元のファイルとは区別できません。 なぜなら、ハードリンクは元のファイル名の下敷きとなるオブジェクトを 参照するからです。 ファイルに対する変更は、ファイルを参照するために使用する名前には依存しません。 ハードリンクは、ディレクトリを参照してはなりませんし、 他のファイルシステム上のファイルを参照してもなりません。 シンボリックリンクは、リンクされたファイルの名前を格納します。 すなわち、他の名前へのポインタです。 下敷きとなるオブジェクトを参照するわけではありません。 このため、シンボリックリンクは、ディレクトリを参照することができますし、 ファイルシステムをまたがることが可能です。 .Pp シンボリックリンクとこれが参照するオブジェクトは ファイルシステムの名前空間において共存しますので、 リンク自身と参照されるオブジェクトの区別に関して混乱が生じることがあります。 歴史的には、コマンドおよびシステムコールは、 場当たり的にそれぞれ独自のリンク追跡規則を採用してきました。 このシステムに実装されている、統一的なアプローチの規則をここに示します。 ユーザインタフェースをできる限り一貫性あるものとするために、 ローカルアプリケーションもまたこの規則を守ることが重要です。 .Pp シンボリックリンクの操作は、リンク自身への操作、 もしくはリンクによって参照されるオブジェクトへの操作によって実現されます。 後者の場合、アプリケーションまたはシステムコールがリンクを .Dq 追跡 (follow) したと言います。 シンボリックリンクは他のシンボリックリンクを参照することができます。 この場合、シンボリックリンクではないオブジェクトが見付かるか、 存在しないファイルを参照するシンボリックリンクが見付かるか、 ループが検出されるまで、 リンクが手繰られます。 (ループ検出は、追跡可能なリンク数の上限を設定することにより実現されます。 この制限を超過する場合にはエラーとなります。) .Pp 議論すべき領域で異なるものが 3 つあります。それらは次の通りです: .sp .Bl -enum -compact -offset indent .It システムコールのファイル名引数として使用されるシンボリックリンク。 .It ファイルツリーをたどらないユーティリティの コマンドライン引数として指定されるシンボリックリンク。 .It ファイルツリーをたどる (traverse) ユーティリティが扱うシンボリックリンク (コマンドラインで指定されるもの、 およびファイル階層をたどるときに出会うものの両方です)。 .El .Ss システムコール 最初の領域は、 システムコールのファイル名引数として使用されるシンボリックリンクです。 .Pp 次の例外を除き、全システムコールはシンボリックリンクを追跡します。 例えば、 .Dq Li afile という名前のファイルを指すシンボリックリンク .Dq Li slink が存在する場合、システムコール .Dq Li open("slink" ...) はファイル .Dq afile のファイルディスクリプタを返します。 .Pp リンクを追跡せずに、シンボリックリンク自身を操作するシステムコールが 5 つあります。 それらは次の通りです: .Xr lchown 2 , .Xr lstat 2 , .Xr readlink 2 , .Xr rename 2 , .Xr unlink 2 。 .Xr remove 3 は .Xr unlink 2 の別名ですから、これもまたシンボリックリンクを追跡しません。 .Pp 既存のシンボリックリンクの所有者およびグループの変更は、 .Xr lchown 2 システムコールにて可能です。 他のファイル属性、例えば修正時刻やアクセスパーミッションは、 システムが使用しませんし、変更不能です。 .Pp .Bx 4.4 システムは歴史的な 4BSD システムとは異なり、システムコール .Xr chown 2 がシンボリックリンクを追跡するように変更されました。 後になって、新しい .Xr chown 2 の制限が明らかになると、 .Xr lchown 2 システムコールが追加されました。 .Ss ファイルツリーをたどらないコマンド 第 2 の領域は、 ファイルツリーをたどらないコマンドに対する コマンドラインのファイル名引数として指定されるシンボリックリンクです。 .Pp 下に述べる例外を除き、コマンドは、 コマンドライン引数として指定されるシンボリックリンクを追跡します。 例えば、 .Dq Li afile という名前のファイルを指すシンボリックリンク .Dq Li slink が存在する場合、コマンド .Dq Li cat slink はファイル .Dq afile の内容を表示します。 .Pp この規則は、ファイルツリーをたどることもできるコマンドも含みます。 これを認識することが重要です。 例えば、コマンド .Dq Li "chown file" はこの規則に含まれますが、コマンド .Dq Li "chown -R file" は含まれません。 (後者は第 3 の領域で後述します。) .Pp コマンドがシンボリックリンクを追跡するのではなく シンボリックリンク自身を操作する ことが明示的に意図されている場合、 例えば .Dq Li "chown slink" が、シンボリックリンクであるか否かにかかわらず、 .Dq Li slink 自身の所有者を変更したい場合、 .Fl h オプションを使用します。 先の例では、 .Dq Li "chown root slink" は .Dq Li slink が参照するファイルの所有者を変更しますが、 .Dq Li "chown -h root slink" は .Dq Li slink 自身の所有者を変更します。 .Pp この規則には 4 つの例外があります。 .Xr mv 1 および .Xr rm 1 のコマンドは、引数として指定されるシンボリックリンクを追跡せずに、 それぞれシンボリックリンク自身を改名したり削除しようとします。 (シンボリックリンクがファイルを相対パスで指定する場合、 シンボリックリンクを他のディレクトリに移動してしまうと、 パスが正しくなくなってしまいますので、 追跡できなくなります。) .Pp .Xr ls 1 コマンドもまたこの規則の例外です。 歴史的なシステムとの互換性のために ( .Nm ls がツリーをたどらない場合、すなわち .Fl R オプションが指定されない場合)、 .Fl H , .Fl L オプションが指定されるか .Fl F , .Fl d , .Fl l オプションが指定されない場合、 .Nm ls コマンドは引数として指定されたシンボリックリンクを追跡します。( ファイルツリーをたどらない場合にも、 .Fl H , .Fl L オプションが動作に影響を与えるコマンドは .Nm ls だけです。) .Pp .Xr file 1 コマンドもまたこの規則の例外です。 .Xr file 1 コマンドは、引数として指定されるシンボリックリンクを、 デフォルトでは追跡しません。 .Fl L オプションが指定されると、 .Xr file 1 コマンドは引数として指定されるシンボリックリンクを追跡します。 .Pp .Bx 4.4 システムは歴史的な 4BSD システムとは異なり、 .Nm chown , .Nm chgrp のコマンドがコマンドラインに指定されたシンボリックリンクを追跡します。 .Ss ファイルツリーをたどるコマンド 次のコマンドは、オプションとしてまたは常にファイルツリーをたどります: .Xr chflags 1 , .Xr chgrp 1 , .Xr chmod 1 , .Xr cp 1 , .Xr du 1 , .Xr find 1 , .Xr ls 1 , .Xr pax 1 , .Xr rm 1 , .Xr tar 1 , .Xr chown 8 。 .Pp ファイルシステムをたどるときに出会うシンボリックリンクおよび コマンドライン引数として指定されるシンボリックリンクに対し、 次の規則が等しく適用されることを認識することが重要です。 .Pp 最初の規則は、 ディレクトリ型ではない ファイルを参照するシンボリックリンクに対して適用されます。 シンボリックリンクに対して適用される操作は、 リンク自身に対してなされますが、 そうでない場合にはリンクは無視されます。 .Pp 例えば、コマンド .Dq Li "chown -R user slink directory" は .Dq Li slink を無視します。 なぜなら本システムにおけるシンボリックリンクは所有者を持たないためです。 ツリーをたどるときに出会うシンボリックリンクもまた無視されます。 コマンド .Dq Li "rm -r slink directory" は .Dq Li slink を削除し、 .Dq Li directory のツリーをたどるときに出会うシンボリックリンクもまた削除します。 なぜなら、シンボリックリンクは削除可能であるためです。 いかなる場合も、 .Dq Li slink が参照するファイルに .Nm chown および .Nm rm が影響することはありません。 .Pp 第 2 の規則は、 タイプがディレクトリであるファイルを参照するシンボリックリンクに適用されます。 デフォルトでは、 タイプがディレクトリであるファイルを参照するシンボリックリンクは .Dq 追跡 されません。 これはしばしば .Dq 物理 探索と呼ばれ、 .Dq 論理 探索 (ディレクトリを参照するシンボリックリンクが追跡される場合です) の対極に位置します。 .Pp 可能な限り一貫性を持たせるため、 シンボリックリンクが参照するファイルのタイプに依存せずに、 ファイルツリーをたどるコマンドに コマンドラインで指定されるシンボリックリンクを追跡させるためには、 .Fl H .Pf ( Dq 半論理 ) フラグを指定します。 このフラグは、 コマンドラインの名前空間を論理的な名前空間とすることを意図しています。 (注: 常にファイルツリーをたどるわけではないコマンドにおいては、 .Fl R フラグも指定されていない場合には、 .Fl H フラグは無視されます。) .Pp 例えば、コマンド .Dq Li "chown -HR user slink" は、 .Dq Li slink で指されるファイルを根とするファイル階層をたどります。 注: .Fl H は、以前議論した .Fl h フラグとは同じではありません。 .Fl H フラグは、 実行される操作およびファイルツリーをたどるときの両方において、 コマンドラインで指定されるシンボリックリンクを手繰るようにします。 これにより、シンボリックリンクが指すファイルの名前を、 ユーザが指定したかのようになります。 .Pp 可能な限り一貫性を持たせるため、 シンボリックリンクが参照するファイルのタイプに依存せずに、 ファイルツリーをたどるコマンドに コマンドラインで指定されるシンボリックリンクだけでなく ファイルツリーをたどっているときに出会うシンボリックリンクも 追跡させるためには、 .Fl L .Pf ( Dq 論理 ) フラグを指定します。 このフラグは、 すべての名前空間を論理的な名前空間とすることを意図しています。 (注: 常にファイルツリーをたどるわけではないコマンドにおいては、 .Fl R フラグも指定されていない場合には、 .Fl L フラグは無視されます。) .Pp 例えば、コマンド .Dq Li "chown -LR user slink" は、 .Dq Li slink で指されるファイルの所有者を変更します。 .Dq Li slink がディレクトリを参照する場合、 .Nm chown は .Dq Li slink で指されるディレクトリを根とするファイル階層をたどります。 さらに、 .Nm chown がたどるファイルツリーの中でシンボリックリンクに出会うと、 そのシンボリックリンクは .Dq Li slink と同じ方法で扱われます。 .Pp 可能な限り一貫性を持たせるため、 デフォルトの動作を指定するには、 .Fl P .Pf ( Dq 物理 ) フラグを指定します。 このフラグは、 名前空間全体を物理的な名前空間のように見せるためのものです。 .Pp デフォルトでファイルツリーをたどらないコマンドにおいては、 .Fl R もまた指定しない場合には、 .Fl H , .Fl L , .Fl P フラグは無視されます。 また、 .Fl H , .Fl L , .Fl P オプションは複数回指定可能です。 この場合、最後に指定したものがコマンドの動作を指定します。 ある動作を行うようにコマンドをエイリアスし、 それをコマンドラインで上書きできるようにすることを意図しています。 .Pp .Xr ls 1 と .Xr rm 1 のコマンドは、これらの規則において例外を持ちます。 .Nm rm コマンドはシンボリックリンクを操作し、 シンボリックリンクが参照するファイルを操作しません。 また、シンボリックリンクを追跡しません。 .Nm rm コマンドは .Fl H , .Fl L , .Fl P のオプションをサポートしません。 .Pp 歴史的なシステムとの互換性を維持するために、 .Nm ls コマンドは少し異なる挙動を示します。 .Fl F, .Fl d, .Fl l オプションのいずれも指定しない場合、 .Nm ls コマンドは、コマンド行で指定したシンボリックリンクを追跡します。 .Fl L フラグが指定されると、シンボリックリンクのタイプにかかわらず、 またコマンドラインで指定されたのかファイルツリーをたどる途中に 出会ったのにかもかかわらず、 .Nm ls は全シンボリックリンクを追跡します。 .Sh 関連項目 .Xr chflags 1 , .Xr chgrp 1 , .Xr chmod 1 , .Xr cp 1 , .Xr du 1 , .Xr find 1 , .Xr ln 1 , .Xr ls 1 , .Xr mv 1 , .Xr pax 1 , .Xr rm 1 , .Xr tar 1 , .Xr lchown 2 , .Xr lstat 2 , .Xr readlink 2 , .Xr rename 2 , .Xr symlink 2 , .Xr unlink 2 , .Xr fts 3 , .Xr remove 3 , .Xr chown 8 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1-21 diff --git a/ja_JP.eucJP/man/man8/ac.8 b/ja_JP.eucJP/man/man8/ac.8 index 413f5e1d76..51cd6d4852 100644 --- a/ja_JP.eucJP/man/man8/ac.8 +++ b/ja_JP.eucJP/man/man8/ac.8 @@ -1,161 +1,162 @@ .\" .\" Copyright (c) 1994 Simon J. Gerraty .\" Copyright (c) 1994 Christopher G. Demetriou .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Christopher G. Demetriou. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: ac.8,v 1.10 1997/09/01 06:11:40 charnier Exp % +.\" %Id: ac.8,v 1.10.2.2 1999/07/02 17:30:26 sheldonh Exp % +.\" .\" jpman %Id: ac.8,v 1.3 1997/07/22 16:35:12 horikawa Stab % .\" .Dd March 15, 1994 .Dt AC 8 .Os .Sh 名称 .Nm ac .Nd 接続時間の計測 .Sh 書式 .Nm .Op Fl dp .\".Op Fl c Ar console .Op Fl t Ar tty .Op Fl w Ar wtmp .Op Ar users ... .Sh 解説 .\" Nm ac から ac 削除。 .\" オリジナルで Ac が \&Ac となっていたのは Ac が mdoc コマンド .\" Angle close quote(see mdoc(7)) であるため .\" horikawa@jp.freebsd.org 1997/11/03 もしファイル .Pa /var/log/wtmp が存在すれば、個々のログイン時刻とログアウト時刻の記録が、各々 .Xr login 1 と .Xr init 8 によって書き込まれます。 .Nm はこれらの記録を検査し、ログイン全ての累積接続時間 (時間単位) を 標準出力に書き出します。 .Pp オプションは次の通りです。 .Bl -tag -width indentXXX .It Fl d 接続時間を 24 時間単位で表示します。 .\" .It Fl c Ar console .\" .Ar console .\" を、ローカル X セッション (ut_host が ":0.0" の場合) .\" を始めるデバイス名として使います。 .\" .Ar console .\" 上に記録されたログインはどれも、コンパイル時に COMPAT_SUNOS が .\" 定義されていない限り、これらの X セッションは無視されます。 .It Fl p 各々のユーザの合計を表示します。 .It Fl t Ar tty 特定の tty からのログインだけを計測します。 .Ar tty が '!' で始まっている場合はそれ以外の tty を示し、'*' で終っている場合は、同様な全ての tty を示します。 複数の .Fl t フラグを指定しても構いません。 .It Fl w Ar wtmp 接続時間のデータを、デフォルトファイル .Pa /var/log/wtmp の代りに .Ar wtmp から読み込みます。 .It Ar users ... 与えられたユーザの合計だけを表示します。 .El .Pp もし、引数が与えられなければ、 .Nm はログインセッションが .Pa wtmp に記録された全てのアカウントの合計接続時間を表示します。 .Pp デフォルトの .Pa wtmp ファイルは、切り捨て (truncate) をしない限り、際限なく増加します。 これは通常、 .Xr cron 8 によって起動されるデイリースクリプトによって切り捨てが行なわれます。 デイリースクリプトは .Pa wtmp ファイルの改名と巡回 (rotate) を行ない、 一週間分のデータを手元に保持します。 ログインや接続時間のアカウントは、もし .Pa /var/log/wtmp が存在しなければ、行なわれません。 .Pp 例えば .Bd -literal -offset ac -p -t "ttyd*" > modems ac -p -t "!ttyd*" > other .Ed .Pp とすると、 .Pa modems に記録された時間と、 .Pa other のそれで、別の料金を請求することもできます。 .Pp .Nm ユーティリティは、 実行に成功したときには 0 で終了し、 致命的エラーが発生したときには >0 で終了します。 .Sh 関連ファイル .Bl -tag -width /var/log/wtmp.[0-7] -compact .It Pa /var/log/wtmp 接続時間アカウントファイル .It Pa /var/log/wtmp.[0-7] 巡回されたファイル .El .Sh 関連項目 .Xr login 1 , .Xr utmp 5 , .Xr init 8 , .Xr sa 8 .\" .Sh 注釈 .\" もし COMPAT_SUNOS が定義されていると .\" .Nm ac .\" は ut_host が ":0.0" のエントリが本当のログインセッションではない .\" という事実を無視します。 .\" 通常はこのようなエントリは、 .\" .Pa wtmp .\" ファイルが巡回されたときにログインしているユーザの場合を除いて .\" 無視されます。 .\" この場合、ut_host が ":0.0" のログインが、 .\" それ以前にコンソールへのログインがないのに現われるかもしれません。 .\" もし誰もコンソールにログインしていなければ、そのユーザは .\" .Pa wtmp .\" のもっとも早いタイムスタンプの時に既にログインしていたと思われます。 .\" .Pa console .\" を使うことで、 .\" .Nm ac .\" はユーザのログアウトを識別し、正しく処理できるようになります。 .\" .Pa console .\" のデフォルト値はコンパイル時の正しい値です。 diff --git a/ja_JP.eucJP/man/man8/boot0cfg.8 b/ja_JP.eucJP/man/man8/boot0cfg.8 index c224c82f9f..4820147c54 100644 --- a/ja_JP.eucJP/man/man8/boot0cfg.8 +++ b/ja_JP.eucJP/man/man8/boot0cfg.8 @@ -1,146 +1,152 @@ .\" Copyright (c) 1999 Robert Nordier .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, .\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT .\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR .\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: boot0cfg.8,v 1.3.2.1 1999/04/25 11:35:58 rnordier Exp % +.\" %Id: boot0cfg.8,v 1.3.2.2 1999/06/26 21:40:35 rnordier Exp % +.\" .\" jpman %Id: boot0cfg.8,v 1.2 1999/05/07 11:24:37 horikawa Stab % .\" .Dd February 21, 1999 .Dt BOOT0CFG 8 .Os .Sh 名称 .Nm boot0cfg .Nd ブートマネージャのインストールと設定ユーティリティ .Sh 書式 .Nm boot0cfg .Op Fl Bv .Op Fl b Ar boot0 .Op Fl d Ar drive .Op Fl f Ar file +.Op Fl m Ar mask .Op Fl o Ar options .Op Fl t Ar ticks .Ar disk .Sh 解説 FreeBSD の .Sq boot0 ブートマネージャは、 i386 マシン (PC) がどのディスクのどのスライスから起動するかを、 操作者が選択できるようにします。 .Pp ここで、 .Dq スライス と言及しているものは、BSD 以外の PC 関連文書においては一般的に .Dq パーティション と呼ばれることに注意してください。 典型的には、リムーバブルディスク以外のみ、スライスを持ちます。 .Pp オプションとして、 .Nm ユーティリティは .Sq boot0 ブートマネージャを指定した .Ar disk へインストールします; そして、様々に操作可能なパラメータの設定を許します。 .Pp PC では、ブートマネージャは典型的にディスクのセクタ 0 にあり、 マスタブートレコード (Master Boot Record; MBR) として知られています。 MBR は、コード (PC BIOS から制御を渡されます) と データ (定義されたスライスに関する組み込みの表) の、両方を含みます。 .Pp オプションは次の通りです: .Bl -tag -width indent .It Fl B .Sq boot0 ブートマネージャをインストールします。 このオプションは、MBR コードを交換しますが、 組み込み済のスライス表には影響しません。 .It Fl v 冗長: 定義されたスライスに関する情報などを表示します。 .It Fl b Ar boot0 どの .Sq boot0 イメージを使用するかを指定します。デフォルトは /boot/boot0 です。 .It Fl d Ar drive 指定した .Ar disk を含むドライブを参照するために PC BIOS が使用する、ドライブ番号を指定します。 典型的には、最初のハードドライブは 0x80 であり、 2 番目のハードドライブは 0x81 などとなります; 0 から 0xff までの間の任意の整数を受け付け可能です。 .It Fl f Ar file 以前あった MBR のバックアップコピーを .Ar file に書き込むべきであることを指定します。 このファイルは、存在しない場合には作成され、 存在する場合には切り詰められます。 +.It Fl m Ar mask +スライスの有効/無効を指定します。 +.Ar mask +は 0 (全スライスが無効) から 0xf (4 つ全部のスライスが有効) の間の整数です。 .It Fl o Ar options コンマで区切られた文字列であり、次のオプションを指定可能です (必要に応じて .Dq no を前に付けることが可能です): .Bl -tag -width indent .It packet ディスク関連 BIOS サービスにアクセスするときに、 伝統的な (CHS) インタフェースではなく、 ディスクパケット (BIOS Int 0x13 拡張) インタフェースを使用します。 デフォルトは、 .Sq nopacket です。 .It setdrv ディスクを含むドライブの参照に、-d オプションにより 定義可能なドライブ番号を使用することを強制します。 デフォルトは .Sq nosetdrv です。 .It update ブートマネージャが MBR を更新することを許可します。(スライスを .Sq 活動 状態とするためや、スライスの選択情報を保存するために、MBR が更新されます。) これがデフォルトです; .Sq noupdate オプションを指定すると、MBR は読み込み専用で扱われます。 .El .It Fl t Ar ticks タイムアウト値を .Ar ticks に設定します。 (1 秒あたり、およそ 18.2 ticks です。) .El .Sh 関連項目 .Xr boot 8 , .Xr fdisk 8 .Sh 診断 終了状態は、成功時には 0 であり、エラー時には 0 より大きくなります。 .Sh AUTHORS .An Robert Nordier Aq rnordier@FreeBSD.org .Sh バグ .Sq packet オプションを使用すると、 .Sq boot0 が失敗することがあります。 これは BIOS サポートの性質に依存しています。 .Pp 誤った -d オペランドとともに .Sq setdrv オプションを使用すると、MBR を誤ったディスクへ書き込むことになります。 注意してください ! diff --git a/ja_JP.eucJP/man/man8/boot_i386.8 b/ja_JP.eucJP/man/man8/boot_i386.8 index 3a02082b16..15e22749e4 100644 --- a/ja_JP.eucJP/man/man8/boot_i386.8 +++ b/ja_JP.eucJP/man/man8/boot_i386.8 @@ -1,306 +1,322 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software written and contributed .\" to Berkeley by William Jolitz. .\" .\" Almost completely rewritten for FreeBSD 2.1 by Joerg Wunsch. .\" .\" Substantially revised for FreeBSD 3.1 by Robert Nordier. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)boot_i386.8 8.2 (Berkeley) 4/19/94 -.\" %Id: boot_i386.8,v 1.16.2.2 1999/05/22 13:03:28 rnordier Exp % +.\" %Id: boot_i386.8,v 1.16.2.4 1999/07/06 11:47:26 yokota Exp % +.\" .\" jpman %Id: boot_i386.8,v 1.5 1997/12/04 18:33:50 ken Exp % .\" .\" .Dd April 19, 1994 .Dt BOOT 8 i386 .Os .Sh 名称 .Nm boot .Nd システム立上げ時の手続き .Sh 解説 .Sy 電源断とクラッシュからの回復。 通常、電源復旧時とクラッシュ発生後には、システムは自動的にリブートし ます。ファイルシステムの整合性チェックが自動実行され、途中で失敗しな ければ、システムはマルチユーザ・モードに移行します。 .Pp .Sy コールドスタート。 大多数の i386 PC は、まずフロッピドライブ 0 (ドライブ A: ともいう) からのブートを試み、 それに失敗すると、 ハードディスクドライブ 0 (ドライブ C: もしくは BIOS のドライブ 0x80 ともいう) からブートしようとします。いくつかの BIOS では、この デフォルトの順序を変えたり、CD-ROM デバイスをブートデバイスとして 含めることができます。 .Pp デフォルトでは 3 段階のブートストラップが使用され、 ブートブロック (ブートストラップの 第 1 および 第 2 段階) から、 これとは別の第 3 段階のブートストラッププログラム .Pa loader へと自動的に制御が移行されます。 この第 3 段階では、 ブート処理において、 ブートブロックにおいて可能なことよりも洗練された制御を提供します。 ブートブロックには、 ディスクやスライスの限られた空間しか与えられないという制約があります。 .Pp しかしながら、第 3 段階をまったく使用せずに済ますこともできます。 このようにするには、ブートブロックパラメータファイル .Pa /boot.config においてカーネル名を指定するか、 .Pa loader が起動される前の短い待ち時間 (文字 .Dv - , .Dv \e , .Dv \&| , .Dv / のいずれかが表示されている間) にキーを打ちます。 第 3 段階をロードできない場合にも、第 2 段階においてブートが試みられます。 .Pp 本サブセクションの残りの部分では、ブートブロックについてのみ扱います。 .Pa loader プログラムの文書は別にあります。 .Pp ブートブロックがロードされたあとで、次のようなプロンプトが現れます。 .Bd -literal >> FreeBSD/i386 BOOT Default: 0:wd(0,a)/kernel boot: .Ed .Pp 自動ブートにおいては、フロッピ もしくはハードディスクのパーティション .Ql a から .Pa /kernel をロードしようとします。 この動作は .Ql boot: というプロンプトが出ている間なら、キーボードから適当な文字を入力する ことで中断できます。以下にあげるような入力はブート動作に対する指示と して受付けられます。 .Bl -tag -width 10x .It \&? ブートファイルを探す際のヒントとして、デフォルトのブートデバイスの ルートディレクトリにあるファイルの名前を表示します。 (パスの最後の部分に .Dv \&? を指定することもできます。この場合、任意のサブディレクトリの一覧となります。) .Pp .It bios_drive:interface(unit,part) filename Op Fl aCcDdghPrsv ブートファイルとブートフラグを指定します。 .Bl -tag -width 10x -compact .It bios_drive BIOS によって認識されるドライブ番号です。 1 つ目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。 .It interface そこからブートするコントローラのタイプです。ブートファイルのイメージ をロードするのには BIOS の機能を使用するので、そのコントローラに対す る BIOS サポートが必要となることに注意して下さい。 .Pp サポートされているインタフェースを以下にあげます。 .Bl -tag -width "wdXX" -compact .It wd WD100[2367] とその互換コントローラ上の ST506, IDE, ESDI, RLL ディスク .It fd 5 1/4" または 3 1/2" 高密度 フロッピ .It da サポートされている SCSI コントローラ上の SCSI ディスク .\".It cd .\"CDROM からのブート .El .It unit 使用されているインタフェース上のドライブのユニット番号です。 1 つ 目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。 .It part ディスク上の BSD 部分内のパーティション文字です。詳しくは .Xr disklabel 8 を参照して下さい。慣例として、パーティション .Ql a のみが ブート可能なイメージを含んでいます。ディスクにスライス .Pq Dq fdisk パーティション か設けられていた場合、任意のスライスからブート可能です。 デフォルトでは、アクティブスライスから、 これがない場合は最初の FreeBSD スライスからのブートとなります。 .It filename ブートファイルの (指定されたパーティションのルートディレクトリからの 相対) パス名です。デフォルトでは .Pa /kernel となります。シンボリックリンクはサポートされていません (ハードリンク は使用できます)。 .It Fl acCdDghPrsv ブートフラグです。 .Bl -tag -width "-CXX" -compact .It Fl a カーネル初期化中に、ルートファイルシステムとしてマウントされるデバイスを 尋ねて来るようにします。 .It Fl C CDROM からブートします。 .It Fl c ロードしたカーネルに対し、ハードウェアのパラメータを変更するため、 UserConfig を実行します。 カーネルが USERCONFIG_BOOT オプション付きで構築された場合、 スクリプト中に .Ic quit コマンドがあったとしても、UserConfig 中にとどまります。 .It Fl D シングルとデュアルのコンソール設定を切り替えます。シングル設定では、 下記の .Fl h オプションの状態によって、コンソールは内部ディスプレイかシリアルポートの いずれかになります。デュアルコンソール設定では、内部ディスプレイ とシリアルポートの両方が、 .Fl h オプションの状態によらず、同時にコンソールになります。しかし、 デュアルコンソール設定は、ブートプロンプトの間だけでしか効果を持ちません。 一旦カーネルがロードされると、 .Fl h オプションによって指定されたコンソールが唯一のコンソールになります。 .It Fl d カーネルの初期化のできる限り早い段階で DDB カーネルデバッガ .Pq Xr ddb 4 を参照 に入ります。 .It Fl g GDB リモートデバッギングプロトコルを使用します。 .It Fl h 内部コンソールとシリアルコンソールの切替えを行います。これを使用して コンソールデバイスを変更できます。例えば、内部コンソールからブートし た場合、カーネルがコンソールデバイスとしてシリアルポートを使用するよ うにするため、 .Fl h オプションを使用できます。反対に、シリアルポートからブートした場合、 カーネルがコンソールとして代わりに内部ディスプレイを使用するようにす るため、このオプションを使用できます。 -カーネルを -.Em options COMCONSOLE -付きでコンパイルした場合には、このオプションは効果ありません。 +シリアルポートドライバ +.Xr sio 4 +には、このオプションに優先するフラグがあります。 +そのフラグが設定されると、ここで記述した +.Fl h +オプションとは無関係に、シリアルポートが常にコンソールとして使用されます。 +更なる詳細については、マニュアルページ +.Xr sio 4 +を参照してください。 .It Fl P キーボードを検出します。キーボードが発見できなかった場合には、 .Fl D と .Fl h オプションが自動的にセットされます。 .It Fl r ルートファイルシステムを含むデバイスとしてスタティックに config され たデフォルトを使用します .Pq Xr config 8 を参照 。 .It Fl s シングルユーザ・モードで立上がるようになります。コンソールが .Dq insecure .Pq Xr ttys 5 を参照 に設定されていた場合には、root のパスワードを入力しなければなり ません。 .It Fl v デバイス検出の際 (そしてその後も) 、詳細を出力します。 .El .El .El .Pp デフォルトを設定するため、BIOS ドライブ番号, コントローラタイプ, ユニット番号, パーティション, カーネルファイル名と 有効なオプションを .Pa /boot.config に書くこともできます。 .Ql boot: プロンプトでタイプするように、 1 行で書いてください。 .Sh 関連ファイル .Bl -tag -width /kernel.old.config -compact .It Pa /boot.config ブートブロックに対するパラメータ (必須ではない) .It Pa /boot/boot1 第 1 段階のブートストラップ .It Pa /boot/boot2 第 2 段階のブートストラップ .It Pa /boot/loader 第 3 段階のブートストラップ .It Pa /kernel デフォルトカーネル .It Pa /kernel.old 普通は非デフォルトカーネル (必須ではない) .El .Sh 関連項目 .Xr ddb 4 , .Xr ttys 5 , .Xr btxld 8 , .Xr config 8 , .Xr disklabel 8 , .Xr halt 8 , .Xr loader 8 , .Xr reboot 8 , .Xr shutdown 8 .Sh 診断 ディスク関連のエラーが発生すると、 第 2 段階のブートストラップがエラーを報告します。 BUOS が返すものと同じエラーコードを使用し、 例えば ``Disk error 0x1 (lba=0x12345678)'' などと報告します。 エラーコードの一部のリストを示します: .Bl -tag -width "0x80" -compat .It 0x1 不正な引数 .It 0x2 アドレスマークが見付かりません .It 0x4 セクタが見付かりません .It 0x8 DMA オーバラン .It 0x9 64K 境界を越えて DMA を試みました .It 0xc 不正なメディア .It 0x10 訂正できない CRC/ECC エラー .It 0x20 コントローラの異常 .It 0x40 シークの失敗 .It 0x80 タイムアウト .El .Pp 重要な注釈: BIOS が提供する伝統的なディスクインタフェースの制約のため、 ブートフェーズにアクセスされるブート関連の全ファイルと構造 (カーネルを含みます) は、ディスク上で (BIOS が理解するジオメトリにおいて) シリンダ 1023 以下に置かれることが必要です。 第 2 段階のブートストラップが .Dq Disk error 0x1 を報告する場合、通常はこの条件が満されていないことを意味します。 .Sh バグ このバージョンの .Bx で使用されているディスクラベルのフォーマットは、他のアーキテクチャで 使用されている物とは全く異なっています。 .Pp +空間の制約により、 +.Fl P +オプションにより起動されるキーボード検出は、BIOS が +.Dq 拡張 +キーボードを検出したかを単にテストするだけです。 +.Dq XT/AT +キーボード (F11, F12 キーなどを持ちません) を接続した場合、 +検出は失敗します。 +.Pp まだ記述されていない機能があります。 diff --git a/ja_JP.eucJP/man/man8/chown.8 b/ja_JP.eucJP/man/man8/chown.8 index 3356bfbf45..ef0896a9ea 100644 --- a/ja_JP.eucJP/man/man8/chown.8 +++ b/ja_JP.eucJP/man/man8/chown.8 @@ -1,149 +1,149 @@ .\" Copyright (c) 1990, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)chown.8 8.3 (Berkeley) 3/31/94 .\" %Id: chown.8,v 1.6 1997/09/04 11:55:42 charnier Exp % -.\" %Id: chown.8,v 1.2.2.2 1997/09/15 06:29:30 charnier Exp % +.\" .\" jpman %Id: chown.8,v 1.3 1997/05/19 16:59:53 horikawa Stab % .\" .Dd March 31, 1994 .Dt CHOWN 8 .Os BSD 4 .Sh 名称 .Nm chown .Nd 指定したファイルの所有者およびグループを変更する .Sh 書式 .Nm chown .Oo .Fl R .Op Fl H | Fl L | Fl P .Oc .Op Fl f .Op Fl h .Ar owner Op Ar :group .Ar .Nm chown .Oo .Fl R .Op Fl H | Fl L | Fl P .Oc .Op Fl f .Op Fl h .Ar :group .Ar .Sh 解説 .Nm は指定したファイルのユーザ ID や グループ ID を設定します。 .Pp オプションは以下のものがあります: .Bl -tag -width Ds .It Fl H .Fl R オプションが指定されている場合に、コマンドライン上の シンボリックリンクをたどるようになります。 ( ツリー内をたどっている際中に見つけたシンボリックリンクの先は 調べません。) .It Fl L .Fl R オプションが指定された場合に、全てのシンボリックリンクを たどるようになります。 .It Fl P .Fl R オプションが指定された場合に、シンボリックリンクの先を たどらないようになります。 .It Fl R 指定したファイル自身だけでなくその代わりに、 そのファイルをルートとする階層のファイルのユーザ ID やグループ ID を 変更します。 .It Fl f 所有者やグループの変更が失敗しても報告を行ないません。 変更の失敗は戻り値にも影響しません。 .It Fl h ファイルがシンボリックリンクの場合、 リンクが指すファイルではなくリンク自身のユーザ ID および/またはグループ ID を変更します。 .El .Pp .Fl H , .Fl L , .Fl P のオプションは .Fl R が指定されない限り無視されます。 加えて、これらのオプションはお互いの効果を上書きするため、 コマンドの動作は一番最後に指定されたもので決まります。 .Pp .Ar owner と .Ar group のオペランドはどちらも無くてもよいもの (optional) ですが、 少なくともどちらかを指定しなければなりません。 .Ar group オペランドを指定した場合は 先頭にコロン (``:'') をつけて下さい。 .Pp .Ar owner は ユーザ ID の数値かユーザ名のどちらかです。ユーザ名がユーザ ID の数値でもある場合、このオペランドはユーザ名とみなされます。 .Ar group は グループ ID の数値かグループ名のどちらかです。グループ名がグループ ID の数値でもある場合、このオペランドはグループ名とみなされます。 .Pp セキュリティの関係上明らかなことですが、ファイルの所有者の変更はスーパユーザ にしか行なうことができません。 .Pp .Nm は成功時に 0 を、エラーが起こった時に 0 より大きい値を戻り値とし て返します。 .Sh 互換性 .Nm の以前のバージョンは、グループ名を指定するのにドット (``.'') を 用いていました。 この文字はコロン (``:'') に変更されたため、 ユーザ名やグループ名にドットを含んでも構いません。 .Pp .Sh 関連項目 .Xr chgrp 1 , .Xr find 1 , .Xr chown 2 , .Xr fts 3 , .Xr symlink 7 .Sh 規格 .Nm コマンドは .St -p1003.2 互換であると考えられています。 .Sh 歴史 .Nm コマンドは .At v1 から導入されました。 diff --git a/ja_JP.eucJP/man/man8/fsinfo.8 b/ja_JP.eucJP/man/man8/fsinfo.8 index 5835c62ed8..2d60e88119 100644 --- a/ja_JP.eucJP/man/man8/fsinfo.8 +++ b/ja_JP.eucJP/man/man8/fsinfo.8 @@ -1,80 +1,181 @@ .\" .\" Copyright (c) 1997-1998 Erez Zadok .\" Copyright (c) 1993 Jan-Simon Pendry. .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)fsinfo.8 8.1 (Berkeley) 6/28/93 +.\" %Id: fsinfo.8,v 1.2.2.1 1999/06/26 23:02:24 mpp Exp % +.\" .\" jpman %Id: fsinfo.8,v 1.2 1997/06/06 10:17:38 bobson Stab % .\" -.Dd June 28, 1993 +.Dd June 26, 1999 .Dt FSINFO 8 .Os .Sh 名称 .Nm fsinfo .Nd サイト規模 (サイト単位) のファイルシステム情報の管理 .Pp .Sh 書式 -.Nm \&fsinfo -.Op Fl v +.Nm +.Op Fl qv .Op Fl a Ar autodir -.Op Fl b Ar bootparams -.Op Fl d Ar dumpsets -.Op Fl e Ar exports -.Op Fl f Ar fstabs +.Op Fl b Ar bootparams_prefix +.Op Fl d Ar dumpsets_prefix +.Op Fl e Ar exports_prefix +.Op Fl f Ar fstabs_prefix .Op Fl h Ar hostname -.Op Fl m Ar automounts +.Op Fl m Ar automounts_prefix .Op Fl I Ar dir -.Op Fl D Ar string[=string]] -.Op Fl U Ar string[=string]] -.Ar config -\&... +.Op Fl D Ar name[=string]] +.Op Fl U Ar name +.Ar config ... .Sh 解説 .Nm は、システム設定ファイルを読み込んで、 -.Nm amd -、 -.Nm mount -、 +.Nm amd , +.Nm mount , .Nm mountd の管理情報 (設定ファイル) を生成します。 .Pp +次のオプションを使用可能です: +.Bl -tag -width Fl +.It Fl a Ar autodir +自動マウンタのマウントポイントのディレクトリ名を指定します。 +デフォルトは +.Pa /a +です。 +.It Fl b Ar bootparams_prefix +.Pa bootparams +ファイルのプレフィックスを指定します。 +指定しないと、このファイルは生成されません。 +このファイルは、対象マシン用に構成され、 +.Ar bootparams_prefix +文字列が前に付く +.Pa bootparams +という名前のファイルに置かれます。 +生成されたファイルは、 +対象マシンから起動可能なディスクレスクライアントを記述した +エントリのリストです。 +.It Fl d Ar dumpsets_prefix +.Pa dumpsets +ファイルのプレフィックスを指定します。 +指定しないと、ファイルは生成されません。 +このファイルは対象マシン用であり、 +.Ar dumpsets_prefix +文字列が前に付く +.Pa dumpsets +という名前のファイルに置かれます。 +このファイルは +.Tn Imperial College +のローカルバックアップシステムに使用されます。 +.It Fl e Ar exports_prefix +.Pa exports +ファイルのプレフィックスを定義します。 +指定しないと、このファイルは生成されません。 +設定ファイルでディスクを持つものとして定義される各マシンに対して、 +.Pa exports +ファイルが構築され、マシン名の前に +.Ar exports_prefix +文字列を付けた名前が与えられます。 +マシンがディスクレスとして定義される場合、 +このマシンに対してはファイルは生成されません。 +これらのファイルは、そのマシン上のディレクトリで、 +クライアントに対してエクスポートするものに関するエントリを含みます。 +.It Fl f Ar fstabs_prefix +.Pa fstab +ファイルのプレフィックスを定義します。 +このプレフィックスが定義された場合のみ、このファイルが生成されます。 +設定ファイル中で定義される各マシンに対し、 +.Pa fstab +ファイルを生成し、マシン名の前に +.Ar fstabs_prefix +文字列を付けた名前を与えます。 +これらのファイルは、 +ブート時にマウントするファイルシステムとパーティションに関するエントリを +含みます。 +.It Fl h Ar hostname +処理対象マシンのホスト名を定義します。 +指定しないと、 +.Xr gethostname 3 +が返すローカルマシン名になります。 +.It Fl m Ar automounts_prefix +自動マウンタファイルのプレフィックスを定義します。 +このオプションを指定した場合のみ、マップが生成されます。 +設定ファイルで定義されるネットワーク用のマウントマップは、 +各マップの名前の前に +.Ar automounts_prefix +文字列を付けた名前のファイルに置きます。 +.It Fl q +静かなモードを選択します。 +生成されたエラーメッセージだけが表示されます。 +.It Fl v +冗長モードを選択します。 +これが有効になると、より多くのメッセージが表示され、 +意味解析フェーズ実行時に発見したすべての情報を表示します。 +各冗長メッセージは標準出力に出力される際、文字 `#' で開始します。 +.It Fl D Ar name[=string] +設定ファイルを読み込むときのプリプロセッサ用に、シンボル +.Ar name +を定義します。 +.Em #define +ディレクティブと等価です。 +.It Fl I Ar dir +このオプションは、設定ファイルのためにプリプロセッサに渡されます。 +インクルードファイルを探すディレクトリを指定します。 +.It Fl U Ar name +シンボル +.Ar name +の初期定義を除去します。 +.Fl D +オプションの逆です。 +.It Ar config +1 個以上の設定ファイルを +.Nm fsinfo +の入力として渡します。 +.Pp .Nm -コマンドの詳細は、Amd --- The 4.4BSD Automounter に記述されています。 +コマンドの詳細は、Amd --- The 4.4BSD Automounter と +.Xr info 1 +の +.Nm amd +セクションに記述されています。 .Pp .Sh 関連項目 .Xr amd 8 , .Xr mount 8 , .Xr mountd 8 .Pp .Sh 歴史 .Nm -は 4.4BSD で追加されました。 +は +.Bx 4.4 +で追加されました。 diff --git a/ja_JP.eucJP/man/man8/ftpd.8 b/ja_JP.eucJP/man/man8/ftpd.8 index 5e23f0f3f9..978fe1b2c4 100644 --- a/ja_JP.eucJP/man/man8/ftpd.8 +++ b/ja_JP.eucJP/man/man8/ftpd.8 @@ -1,466 +1,466 @@ .\" Copyright (c) 1985, 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94 -.\" %Id: ftpd.8,v 1.25.2.1 1999/05/04 19:46:55 ghelmer Exp % +.\" %Id: ftpd.8,v 1.25.2.2 1999/06/28 10:53:44 mpp Exp % .\" .\" jpman %Id: ftpd.8,v 1.3 1997/09/08 07:23:46 kuma Stab % .Dd April 19, 1994 .Dt FTPD 8 .Os BSD 4.2 .Sh 名称 .Nm ftpd .Nd インターネットファイル転送プロトコルサーバ .Sh 書式 .Nm ftpd .Op Fl dl .Op Fl A .Op Fl D .Op Fl R .Op Fl S .Op Fl U .Op Fl T Ar maxtimeout .Op Fl t Ar timeout .Op Fl a Ar address .Op Fl p Ar file .Sh 解説 .Nm は、インターネットファイル転送プロトコルサーバプロセスです。 このサーバは .Tn TCP プロトコルを用いて、 .Dq ftp サービスに割り当てられたポートを listen() します。 .Dq ftp サービスについては、 .Xr services 5 を参照して下さい。 .Pp 利用可能なオプションは以下の通りです: .Bl -tag -width indent .It Fl d syslog の LOG_FTP のファシリティ (facility) を用いてデバッグ情報を出力します。 .It Fl l .Xr ftp 1 セッションそれぞれの結果を、成功も失敗もともども syslog の LOG_FTP のファシリティを用いて ログに残します。このオプションが 2 回指定されると、 retrieve (get), store (put), append, delete, make directory, remove directory, rename の各操作およびそれらの引数で指定された ファイル名も記録されます。 注意: LOG_FTP メッセージはデフォルトでは .Xr syslogd 8 によって表示されません。場合によっては .Xr syslogd 8 Ns の設定ファイルでそれを有効にしなければなりません。 .It Fl D このオプションがセットされると、 .Nm は制御端末を切り離してデーモンとなり、 FTP ポートへの接続要求を待ち、 子プロセスを生成して接続要求に対応します。 この方式は .Nm を .Xr inetd 8 から起動するよりオーバヘッドが少ないため、 処理量の多いサーバで負荷を低減するのに役立ちます。 .It Fl R このオプションがセットされると、 .Nm は、ユーザ操作のセキュリティチェックや PORT 要求の制限に関して 古き良き時代の振る舞いに戻ります。 現在では、 .Nm はリモートユーザのホストの非特権ポートに向けられた PORT コマンド だけを用います (これは FTP プロトコルの仕様に違反していますが、 いくつかのセキュリティホールを閉じることができます)。 .It Fl S このオプションがセットされると、 .Nm は匿名 (anonymous) による転送の全てについてのログを、ファイル .Pa /var/log/ftpd が存在する場合に限り、このファイルに残します。 .It Fl U 以前のバージョンの .Nm では、パッシブモードのクライアントがサーバにデータ接続を要求すると、 サーバは 1024 〜 4999 の範囲のデータポートを使用していました。 現在のバージョンでは、サーバはデフォルトでは 49152 〜 65535 の範囲の データポートを使用しますが、 このオプションを指定することにより、以前の振る舞いに戻ります。 .It Fl T クライアントは異なったタイムアウト秒数を要求することもできます。 .Fl T オプションにより、 .Ar タイムアウト までの最大待ち時間を設定できます。 デフォルトは 2 時間です。 .It Fl t 何も操作しないで放置した場合のタイムアウト時間を .Ar timeout 秒に設定します (デフォルトは 15 分)。 .It Fl a .Fl D オプションが指定されている場合、 .Ar address で指定されたアドレスに対する接続のみを許可します。 .It Fl p .Fl D オプションが指定されている場合、 デーモンのプロセス ID を .Ar file に書き出します。 .It Fl A 匿名 ftp アクセスのみ許可します。 .El .Pp ファイル .Pa /var/run/nologin は、ftp アクセスを拒否するのに使うことができます。 このファイルが存在する場合、 .Nm はそのファイルの内容を表示して終了します。 .Pa /etc/ftpwelcome ファイルが存在する場合、 .Nm は .Dq ready メッセージを表示する前にその内容を表示します。 もし .Pa /etc/ftpmotd ファイルが存在する場合、 ログイン成功後に .Nm はその内容を出力します。 使用される motd ファイルはログイン環境に対して相対であることに 注意してください。 つまり、匿名ユーザの場合には、 .Pa ~ftp/etc に存在することを意味じます。 .Pp この ftp サーバは、現在、以下の ftp リクエストをサポートしています。 リクエストの文字の大文字小文字の区別は無視されます。 .Bl -column "Request" -offset indent .It Sy リクエスト Ta Sy "説明" .It ABOR Ta "abort previous command" .It ACCT Ta "specify account (ignored)" .It ALLO Ta "allocate storage (vacuously)" .It APPE Ta "append to a file" .It CDUP Ta "change to parent of current working directory" .It CWD Ta "change working directory" .It DELE Ta "delete a file" .It HELP Ta "give help information" .It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" .It MKD Ta "make a directory" .It MDTM Ta "show last modification time of file" .It MODE Ta "specify data transfer" Em mode .It NLST Ta "give name list of files in directory" .It NOOP Ta "do nothing" .It PASS Ta "specify password" .It PASV Ta "prepare for server-to-server transfer" .It PORT Ta "specify data connection port" .It PWD Ta "print the current working directory" .It QUIT Ta "terminate session" .It REST Ta "restart incomplete transfer" .It RETR Ta "retrieve a file" .It RMD Ta "remove a directory" .It RNFR Ta "specify rename-from file name" .It RNTO Ta "specify rename-to file name" .It SITE Ta "non-standard commands (see next section)" .It SIZE Ta "return size of file" .It STAT Ta "return status of server" .It STOR Ta "store a file" .It STOU Ta "store a file with a unique name" .It STRU Ta "specify data transfer" Em structure .It SYST Ta "show operating system type of server system" .It TYPE Ta "specify data transfer" Em type .It USER Ta "specify user name" .It XCUP Ta "change to parent of current working directory (deprecated)" .It XCWD Ta "change working directory (deprecated)" .It XMKD Ta "make a directory (deprecated)" .It XPWD Ta "print the current working directory (deprecated)" .It XRMD Ta "remove a directory (deprecated)" .El .Pp 以下に示した非標準コマンドあるいは .Tn UNIX に特有のコマンドが、SITE リクエストでサポートされています。 .Pp .Bl -column Request -offset indent .It Sy リクエスト Ta Sy 説明 .It UMASK Ta change umask, e.g. ``SITE UMASK 002'' .It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60'' .It CHMOD Ta "change mode of a file, e.g. ``SITE CHMOD 755 filename''" .It HELP Ta give help information. .El .Pp Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のものは 解釈はされますがインプリメントされていません。 MDTM および SIZE は RFC 959 では規定されていませんが、次に改訂される FTP RFC には登場するでしょう。 .Pp ftp サーバがアクティブなファイル転送を中断するのは、ABOR コマンドの前に、 Telnet "Interrupt Process" (IP) シグナルか Telnet "Synch" シグナルが Telnet ストリーム内にある場合だけです。 これは Internet RFC 959 に記述されています。 もし、データの転送中に STAT コマンドを受けとり、その前に Telnet IP や Synch があった場合、転送ステータスが返されます。 .Pp .Nm は、 .Xr csh 1 で使われているファイル名展開を解釈します。これにより、 ユーザはメタキャラクタ .Dq Li \&*?[]{}~ を利用できます。 .Pp .Nm は、5 つのルールに従ってユーザの認証を行います。 .Pp .Bl -enum -offset indent .It ログイン名はパスワードデータベース になければならず、空のパスワードであってはいけません。 この場合、あらゆるファイルの操作に先だって、クライアント側からパスワードが 提供されていなければなりません。ユーザが S/Key のキーを持っている場合は、 USER コマンドが成功した際の応答には S/Key チャレンジを含めて送られます。 クライアントは、それに対して PASS コマンドを使って応答する際に、 通常のパスワードか S/Key のワンタイムパスワードのどちらをつけて応答 するかを選択できます。サーバはどちらのパスワードを受け取ったかを自動的に 判定し、それに応じて認証を試みます。S/Key の認証に関する詳細は .Xr key 1 を参照して下さい。S/Key は Bellcore 社の商標です。 .It ログイン名はファイル .Pa /etc/ftpusers に載っていてはいけません。 .It ログイン名はファイル .Pa /etc/ftpusers で指定されているグループのメンバであってはいけません。 このファイルでグループ名として解釈されるエントリの先頭には アットマーク .Ql \&@ が付きます。 .It ユーザは .Xr getusershell 3 が返す標準のシェルを持っていなければなりません。 .It ユーザ名がファイル .Pa /etc/ftpchroot に載っているか、そのファイルにあるグループエントリ (つまり .Ql \&@ で始まるエントリ) のメンバである場合、アカウント .Dq anonymous や .Dq ftp と同様、 .Xr chroot 2 によって、 そのセッションのルートディレクトリが ユーザのログインディレクトリに変ります (次の項目を参照して下さい)。 この機能は、 .Xr login.conf 5 でブール型フラグ "ftp-chroot" をオンにしても有効になります。 しかし、ユーザは依然、パスワードを与える必要があります。 この特徴は、完全に匿名 (anonymous) なアカウントと 完全な特権のあるアカウントの間での妥協的な利用のためのものです。 このアカウントは匿名アカウントで設定するのと同様に設定されていなければ なりません。 .It もしユーザ名が .Dq anonymous または .Dq ftp の場合は、匿名の ftp アカウントがパスワードファイル (ユーザ .Dq ftp ) で提供されていなければなりません。 この場合、ユーザはどのようなパスワードでもログインを許可されます (慣習としては ユーザの email アドレスをパスワードとして用いることになっています)。 .Fl S オプションがセットされていると、全ての転送操作も記録されます。 .El .Pp 最後のケースの場合、 .Nm は特別な手段でクライアントのアクセス権を制限します。 サーバは .Dq ftp ユーザのホームディレクトリへ .Xr chroot 2 します。 システムのセキュリティが侵害されないために、 .Dq ftp サブツリーは、以下の規則に従って慎重に構築することを推奨します。 .Bl -tag -width "~ftp/pub" -offset indent .It Pa ~ftp ホームディレクトリは .Dq root の所有とし、誰も書き込みできないようにします。 .It Pa ~ftp/bin このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 list コマンドのサポートのため、ここに .Xr ls 1 プログラムを置くことが必要です。 このプログラムのモードは 111 とすべきです。 .It Pa ~ftp/etc このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 .Xr ls が所有者を数字でなく名前で表示できるようにするために、 ファイル pwd.db ( .Xr passwd 5 参照) 及び .Xr group 5 が必要です。 ファイル .Xr passwd 中のパスワードは使用されませんので、本当のパスワードを入れてはいけません。 ファイル .Pa ftpmotd が存在すると、ログイン成功後、その内容が表示されます。 このファイルのモードは 444 とすべきです。 .It Pa ~ftp/pub このディレクトリのモードは 777、所有者は .Dq ftp とします。 ゲストユーザは、このディレクトリ中にあって匿名アカウントで アクセス可能なファイルをアクセスします。 .El .Pp システムに複数の IP アドレスがある場合、 .Nm は仮想ホストの概念をサポートします。 仮想ホストは、複数の匿名 ftp 領域それぞれを別々のインターネットアドレス に割り当てる機能を提供します。 ファイル .Pa /etc/ftphosts は各仮想ホストに関連した情報を保持します。 各ホストはそれぞれの行で定義され、 各行は空白で区切ったいくつかのフィールドからなります: .Bl -tag -offset indent -width hostname .It hostname 仮想ホストのホスト名あるいは IP アドレス。 .It user システムのパスワードファイル中のユーザレコードを含みます。 普通の匿名 ftp と同様に、このユーザのアクセス UID, GID および グループによって匿名 ftp 領域のファイルアクセス権が決まります。 匿名 ftp 領域 (ログイン時にユーザが chroot するディレクトリ) は、 そのアカウントに対するホームディレクトリとして決定されます。 他の ftp アカウントのユーザ ID およびグループも、 標準 ftp ユーザと同じであって構いません。 .It statfile 全てのファイル転送のログが記録されるファイル。デフォルトでは .Pa /var/log/ftpd です。 .It welcome サーバがプロンプトを出す前に表示される welcome メッセージ。デフォルトでは .Pa /etc/ftpwelcome です。 .It motd このファイル内容はユーザがログインした後に表示されます。デフォルトでは .Pa /etc/ftpmotd です。 .El .Pp 文字 '#' で開始する行は無視されますので、コメントを含むことが可能です。 .Pp プライマリ IP アドレスあるいはホスト名に対する仮想ホストを定義すると、 そのアドレスへの ftp ログインのデフォルト値が変更されます。 \&'user', 'statfile', 'welcome', 'motd' の各フィールドは デフォルト値を用いる場合、ブランクのままもしくはハイフン一つ \&'-' と しても構いません。 .Pp いかなる匿名ログインの設定についても言えることですが、 設定と保守には十分に注意を払い、セキュリティ上の問題をきたさないよう 防御しなければなりません。 .Pp .Em FTPD_INTERNAL_LS オプションをつけてコンパイルすると、 .Nm はリモートからのファイル一覧表示要求に対応するための内部サポートを用意し、 chroot された環境でもそれ以外でも .Pa /bin/ls を実行しなくなります。 この場合、 .Pa ~/bin/ls の実行形式ファイルは chroot されたディレクトリになくてよく、 .Pa ~/bin ディレクトリも存在する必要はありません。 このサポートは、 .Pa /etc/make.conf あるいはシェルの環境で .Em INTERNAL_LS 変数を設定して ftpd を作成することで追加されます。 .Sh 関連ファイル .Bl -tag -width /etc/ftpwelcome -compact .It Pa /etc/ftpusers 歓迎されない/制限を受けるユーザのリスト。 .It Pa /etc/ftpchroot chroot される一般ユーザのリスト。 .It Pa /etc/ftphosts 仮想ホストのための設定ファイル .It Pa /etc/ftpwelcome welcome メッセージ。 .It Pa /etc/ftpmotd login 後の welcome メッセージ。 .It Pa /var/run/nologin 内容を表示し、アクセスを拒否します。 .It Pa /var/log/ftpd 匿名による転送のログファイル。 .El .Sh 関連項目 .Xr ftp 1 , .Xr key 1 , .Xr getusershell 3 , .Xr login.conf 5 , .Xr inetd 8 , .Xr syslogd 8 .Sh バグ 特権ポート番号を用いてソケットを作成するために、 ftpd はスーパーユーザの権限で実行させて下さい。 サーバはログインユーザの実効ユーザ ID を保持しておき、 アドレスをソケットにバインドする場合にのみスーパユーザの権限を使います。 考えられるセキュリティホールについてはかなり詳細にわたって調べ込みをおこないましたが、 それでも不完全かもしれません。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/inetd.8 b/ja_JP.eucJP/man/man8/inetd.8 index 9d6d856bbe..6daa5de72b 100644 --- a/ja_JP.eucJP/man/man8/inetd.8 +++ b/ja_JP.eucJP/man/man8/inetd.8 @@ -1,538 +1,561 @@ .\" Copyright (c) 1985, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)inetd.8 8.3 (Berkeley) 4/13/94 -.\" %Id: inetd.8,v 1.22.2.1 1999/05/01 22:01:52 obrien Exp % +.\" %Id: inetd.8,v 1.22.2.2 1999/06/22 18:06:35 sheldonh Exp % .\" .\" jpman %Id: inetd.8,v 1.2 1997/05/16 07:22:24 yugawa Stab % .Dd February 7, 1996 .Dt INETD 8 .Os BSD 4.4 .Sh 名称 .Nm inetd .Nd インターネット .Dq スーパサーバ .Sh 書式 .Nm inetd .Op Fl d .Op Fl l .Op Fl c Ar maximum .Op Fl C Ar rate .Op Fl a Ar address .Op Fl p Ar filename .Op Fl R Ar rate .Op Ar configuration file .Sh 解説 .Nm は、ブート時に .Pa /etc/rc -の中で起動されます( +の中で起動されます ( .Xr rc 8 参照)。起動されると、 .Nm は定められたインターネットソケットを監視し、接続要求を待ちます。 監視しているソケットに対して接続要求が出されると、 .Nm はそのソケットに対応したサービスを 判定し、サービスを提供するプログラムを起動します。 サーバプログラムはサービスソケットを標準入力・標準出力・ エラー出力として起動されます。 サービスプログラムが完了すると、 .Nm -は再びソケットの監視を行ないます(後述するような例外もあります)。 +は再びソケットの監視を行ないます (後述するような例外もあります)。 .Nm を用いれば 1 つのデーモンで 複数のサービスプログラムを起動することができるので、 システムの負荷を軽減することができます。 .Pp .Nm は、起動時に以下のオプションを指定できます。 .Bl -tag -width indent .It Fl d デバッグモードにします。 .It Fl l ログをとります。 .It Fl c Ar maximum 起動可能なサービスのデフォルトにおける最大値を指定します。 サービスごとに指定される "max-child" パラメータによって上書きされ得ます。 .It Fl C Ar rate 1 分間に単一の IP アドレスから起動されるサービスのデフォルトにおける最大値 を指定します。 デフォルトは未設定です。 サービスごとに指定される "max-connections-per-ip-per-minute" パラメータによって上書きされ得ます。 .It Fl R Ar rate 1 分間に起動できる最大のサービス数を指定します。デフォルトは 256 です。 .It Fl a 監視する IP アドレスを指定します。 .It Fl p デフォルトとは異なるプロセス ID を保持するファイルを指定します。 .El .Pp .Nm は実行時に設定情報を設定ファイルから読み込みます。 デフォルトでは設定ファイルは .Pa /etc/inetd.conf です。 設定ファイルの各フィールドにはエントリが 1 つなければなりません。 各フィールドのエントリはタブやスペースで区切ります。 -コメントは行頭に ``#'' をつけます。 +コメントは行頭に +.Dq # +をつけます。 設定ファイルのフィールドは以下のものからなります: .Pp .Bd -unfilled -offset indent -compact サービス名 ソケットタイプ プロトコル {wait|nowait}[/最大子プロセス数[/IPあたりの分あたりの最大接続数]] ユーザ名[:クループ名][/ログインクラス名] サーバプログラム名 サーバプログラム引数 .Ed .Pp .No Tn "ONC RPC" ベースのサービスを記述する場合には、以下のエントリを記述します。 .Pp .Bd -unfilled -offset indent -compact サービス名/バージョン ソケットタイプ RPC/プロトコル ユーザ名 サーバプログラム名 サーバプログラム引数 .Ed .Pp .Nm が起動することのできるサービスは 2 種類あります。 1 つは標準で、もう 1 つは TCPMUX です。 標準サービスには割り当てられた well-known ポートがあります。 これは公式のインターネット標準を実装したサービスや BSD 特有のサービスです。 .Tn RFC 1078 に書かれているように、TCPMUX は非標準サービスであり、 well-known ポートが割り当てられていません。 そういった非標準サービスは、あるプログラムが .Dq tcpmux well-known ポートに接続してそのサービス名を指定したとき、 .Nm によって起動されます。 この機能はローカルに開発されたサーバを追加するときに 便利です。 TCPMUX リクエストが受理されるのは、 TCPMUX ベースのサーバに至るまでにおいて、 マルチプレクササービス自身が有効にされているときのみです。 後述の内部サービスに関する議論を参照してください。 .Pp .Em サービス名 のエントリには、 .Pa /etc/services ファイルに記述されているサービス名が記述されます。 .Dq 内部 サービス (後述) については、 名前としてそのサービスのオフィシャル名 (すなわち .Pa /etc/services -内の最初のエントリ)を指定 +内の最初のエントリ) を指定 .Em しなければなりません。 .No Tn "ONC RPC" ベースのサービスを指定するためには、このフィールドは .Pa /etc/rpc に書かれた有効な RPC サービス名でなければなりません。 .Dq / の右の部分が RPC のバージョン番号です。バージョン番号は、 -数字もしくは、バージョンの幅(レンジ)で指定します。 +数字もしくは、バージョンの幅 (レンジ) で指定します。 幅を指定する場合は低い番号から高い番号を指定します。たとえば .Dq rusers/1-3 のように記述します。 TCPMUX サービスでは、 .Em サービス名 のフィールドは、文字列 .Dq tcpmux 、スラッシュ、そしてローカルに選ばれたサービス名から なります。 .Pa /etc/services に書かれたサービス名と .Dq help は予約済であり、ローカルなサービス名には使用できません。 TCPMUX サービスのためにユニークな名前をつけるには、 頭に組織名をつけ、末尾にバージョン番号をつけるとよいでしょう。 .Pp .Em ソケットタイプ のエントリは、 .Dq stream , .Dq dgram , .Dq raw , .Dq rdm , .Dq seqpacket のいずれかである必要があります。それぞれ、ソケットが stream, datagram, raw, reliably delivered message, sequenced packet socket である場合に対応しています。 TCPMUX サービスは .Dq stream を使わなければなりません。 .Pp .Em プロトコル のエントリには、 .Pa /etc/protocols に記述されている有効なプロトコル名が記述されます。 例えば .Dq tcp や .Dq udp などです。 サービスが T/TCP 経由で到達可能とするためには、 .Dq tcp/ttcp を指定する必要があります。 RPC ベースのサービスの場合、 .Dq rpc/tcp や .Dq rpc/udp のような指定になります。 TCPMUX サービスは .Dq tcp を使わなければなりません。 .Pp .Em wait/nowait エントリは、 .Nm によって起動されたサーバがサービスアクセスポイントに 関連付けられたソケットを引き継ぐかどうか、すなわちサーバが終了するまで .Nm が新しいサービス要求を監視するのを待つ必要があるか否かを 指定します。 datagram サーバは、特定のサービスアドレスと結び付いた datagram ソケットで毎回起動されるため、 .Dq wait を使わなければなりません。こういったサーバは、終了する前に少なくとも 1 データグラムをソケットから読まなければなりません。 もし datagram サーバが相手に接続したときソケットを 開放するなら、 .Nm はソケットに対するメッセージをさらに受けることができます。 このようなサーバは .Dq マルチスレッド サーバと呼ばれます。 サーバはソケットから datagram を 1 つ読み込み、相手に接続する新しい ソケットをつくります。 サーバは fork() を行い、親プロセス側は終了なければいけません。 これにより .Nm は新しいサービス要求をチェックし、新しいサーバを起動することが できるようになります。 入って来る全ての datagram を処理し、 時間切れまで動作する datagram サーバは、 .Dq シングルスレッド サーバと呼ばれます。 .Xr comsat 8 , .Pq Xr biff 1 , .Xr talkd 8 は後者のタイプの datagram サーバの例です。 .Xr tftpd 8 はマルチスレッドで動く datagram サーバの例です。 .Pp stream ソケットを使うサーバは一般にマルチスレッドで動き .Dq nowait エントリを使います。 こういったサーバへの接続要求は .Nm で受け付けられ、新たに受理し、クライアントにつながった ソケットのみがサーバに与えられます。 多くの stream ベースのサービスはこのように行われます。 .Dq wait エントリを使う stream ベースのサーバは、 サービスのソケットを監視し、少なくとも 1 つの接続要求を受け入れてから 終了しなければなりません。 そういったサーバは通常、時間切れとなるまで、入って来る要求を 受け付け処理します。 TCPMUX サービスは .Dq nowait を使わなければなりません。 .Pp -``nowait'' サービスの子プロセス(あるいは ``スレッド'')の最大数は、 -``nowait'' キーワードの後に ``/'' と数字を付け加えることで指定できます。 -通常(あるいはゼロが指定された場合)、子プロセスの数に制限はありません。 +.Dq nowait +サービスの子プロセス (あるいは +.Dq スレッド +) の最大数は、 +.Dq nowait +キーワードの後に +.Dq / +と数字を付け加えることで指定できます。 +通常 (あるいは 0 が指定された場合)、子プロセスの数に制限はありません。 一方、最大数に達すると、それ以降の接続要求は、存在する子プロセスが終了するまで -待ち行列に蓄えられます。これは、``wait'' モードでも同様ですが、通常は -1 (デフォルトの値)以外は意味がありません。 +待ち行列に蓄えられます。これは、 +.Dq wait +モードでも同様ですが、通常は +1 (デフォルトの値) 以外は意味がありません。 指定した IP アドレスからの 1 分あたりの最大接続数を指定することも可能です。 -この場合、``/'' および最大子プロセス数を指定します。 +この場合、 +.Dq / +および最大子プロセス数を指定します。 最大値に達っした場合、指定した IP アドレスからの接続は、 この 1 分が経過するまで、落とされます。 .Pp .Em ユーザ名 エントリには、サーバを実行するユーザ名を書きます。 これによりサーバを root よりも低い権限で実行できます。 オプションの .Em グループ名 -部分は ``:'' で分けられ、 +部分は +.Dq \&: +で分けられ、 このユーザのデフォルトグループ以外のグループ名を指定可能です。 オプションの .Em ログインクラス名 -部分は ``/'' で分けられ、 -デフォルトの ``daemon'' 以外のログインクラス名を指定可能です。 +部分は +.Dq / +で分けられ、 +デフォルトの +.Dq daemon +以外のログインクラス名を指定可能です。 .Pp .Em サーバプログラム名 のエントリには、ソケットに要求があったとき .Nm が起動し、当該エントリのサービスを提供する サーバプログラムのパス名を指定します。 .Nm 内にすでに実装されているサービスを提供する場合には、サーバプログラムとして .Dq internal を指定します。 .Pp .Em サーバプログラム引数 のエントリは、サーバを起動する際の引数を、サーバプログラムの起動文字列 である argv[0] を含めて記述します。 .Nm 内に実装されているサービスを提供する場合には、サーバプログラム引数 として .Dq internal を指定します。 .Pp .Nm は、内蔵ルーチンを用いて簡単なサービスを自身で提供します。 これらのサービスとは .Dq echo , .Dq discard , .Dq chargen (文字生成), .Dq daytime (人間が読む形式で時間を出力します), .Dq time (機械可読形式の時間。1900 年 1 月 1 日 0 時からの経過秒数を出力します) です。 これらのサービスは TCP と UDP バージョンのいずれでも利用できます。 UDP バージョンは返事のポートとして内部サービスに相当するポートを 要求されたとき、サービスを拒否します。 (これはループ攻撃に対する防護です。リモート IP アドレスは記録されます。) これらのサービスの詳細については適当な .Tn RFC ドキュメントを参照して下さい。 .Pp TCPMUX のデマルチプレクスサービスもまた内部サービスとして実装されています。 TCPMUX ベースのサービスを動作させるためには、以下の行を .Pa inetd.conf に含む必要があります: .Bd -literal -offset indent tcpmux stream tcp nowait root internal .Ed .Pp .Fl l オプションが指定された場合、 .Nm は、 .Xr accept 2 が終了した時点で、選択されたサービスと要求を発したリモートの IP 番号を syslog に記録します。 .Pp .Dv SIGHUP を受けとると、 .Nm は、設定ファイルを再度読み込みます。設定ファイルを 再読み込みするとき、サービスを追加、削除、変更できます。 デバッグモードで起動された場合をのぞき、 .Nm は再設定を容易にするために、プロセス ID を .Pa /var/run/inetd.pid に記録します。 +.Sh 実装に関する注釈 .Pp TCP Wrappers サポートが提供されています; 関連する文書 ( .Xr hosts_access 5 ) を参照してください。この機能は組み込みであるため、 .Pa tcpd -デーモンは不要です。これにより、「内部」サービスも包むことができます。 +デーモンは不要です。 +.Dq 内部 +サービスを含むストリームベースのサービスのみを包むことができます。 .Sh TCPMUX .Pp .Tn RFC 1078 は TCPMUX プロトコルについて述べています。 「 TCP クライアントは他のホストに TCP ポート番号 1 で接続します。 クライアントは、サービス名にを付加して送ります。 サービス名は大文字/小文字を区別しません。 -サーバは、肯定(+)もしくは否定(\-)を表す 1 文字を返します。 +サーバは、肯定 (+) もしくは否定 (\-) を表す 1 文字を返します。 + あるいは \- のすぐ後にメッセージが続く場合があります。 返答は で終わります。もし返答が肯定で あれば、選択されたプロトコルが開始されます。 そうでなければ接続は切られます。」 プログラムにはファイルディスクプリタ 0 と 1 で TCP コネクションが 渡されます。 .Pp -TCPMUX サービス名が ``+'' で始まっているとき、 +TCPMUX サービス名が +.Dq + +で始まっているとき、 .Nm -は、プログラムに肯定返答(+)を返します。 +は、プログラムに肯定返答 (+) を返します。 これによって、 特別なサーバコードを追加することなく 標準入出力を使うプログラムを起動することができます。 .Pp 特別なサービス名である .Dq help により、 .Nm は .Pa inetd.conf にある TCPMUX サービスの一覧を出力します。 .Sh 関連ファイル .Bl -tag -width /var/run/inetd.pid -compact .It Pa /etc/inetd.conf 設定ファイル .It Pa /etc/rpc サービス名を RPC プログラム番号に変換するテーブル .It Pa /etc/services サービス名をポート番号に変換するテーブル .It Pa /var/run/inetd.pid 現在実行中の .Nm の pid .El .Sh 使用例 .Pp 次に、いくつかのサービスについて サービスエントリの 例を挙げておきます。 .Bd -literal ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l ntalk dgram udp wait root /usr/libexec/ntalkd ntalkd tcpmux/+date stream tcp nowait guest /bin/date date tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook rstatd/1-3 dgram rpc/udp wait root /usr/libexec/rpc.rstatd rpc.rstatd .Ed .Sh エラーメッセージ .Nm サーバは、 .Xr syslog 3 を使ってエラーメッセージを記録します。 重要なエラーメッセージと その説明は以下の通りです。 .Pp .Bl -ohang -compact .It Xo .Ar service Ns / Ns Ar protocol .No " server failing (looping), service terminated." .Xc 直前の 1 分間に、そのサービスについての要求数が制限に達しました。 不完全なプログラムや悪意のあるユーザがシステムを ハングアップさせないために、このような制限が設けられています。 このメッセージが出力される理由はいくつかあります。 .Bl -enum -offset indent .It 短時間の間に多くのホストがこのサービスを要求している。 .It 不完全なクライアントプログラムがサービスを 頻繁に要求しすぎている。 .It 悪意あるユーザがあるプログラムを起動し、 サービスが '拒否' されるように攻撃している。 .It 起動されたサービスプログラムにエラーがあり、 クライアントがすぐにリトライを起こしてしまう。 .El .Pp .Fl R Ar rate オプションを使うと、制限を変えることができます。 制限に達したとき、10 分経つとサービスは自動的に 再許可されます。 .Pp .It Xo .Ar service Ns / Ns Ar protocol : .No \&No such user .Ar user , .No service ignored .Xc .It Xo .Ar service Ns / Ns Ar protocol : .No getpwnam : .Ar user : .No \&No such user .Xc .Xr passwd 5 データベースに .Ar user のエントリーがありません。 最初のメッセージは .Nm -が設定ファイルを(再度)読み込むときに出されます。 +が設定ファイルを (再度) 読み込むときに出されます。 2 つ目のメッセージは、サービスが呼び出されたときに 出されます。 .Pp .It Xo .Ar service : .No can't set uid .Ar uid .Xc .It Xo .Ar service : .No can't set gid .Ar gid .Xc .Ar user フィールドのユーザ ID もしくは グループ IDが 無効です。 .Pp .It "setsockopt(SO_PRIVSTATE): Operation not supported" .Nm はそのソケットに設定されている特権状態を放棄しようとしましたが、 失敗しました。 .El .Sh 関連項目 .Xr hosts_access 5 , .Xr hosts_options 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr rpc 5 , .Xr services 5 , .Xr comsat 8 , .Xr fingerd 8 , .Xr ftpd 8 , .Xr portmap 8 , .Xr rexecd 8 , .Xr rlogind 8 , .Xr rshd 8 , .Xr telnetd 8 , .Xr tftpd 8 , .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 TCPMUX は Mark Lottor によるコードとドキュメントを元にしています。 .Tn "ONC RPC" ベースのサービスのサポートは、 .Tn SunOS 4.1 が供給されてから、 それにならって作られました。 .Tn FreeBSD の TCP Wrappers サポートが最初に登場したのは .Fx 3.2 です。 diff --git a/ja_JP.eucJP/man/man8/init.8 b/ja_JP.eucJP/man/man8/init.8 index cc34c06f34..2cf8d4d8ff 100644 --- a/ja_JP.eucJP/man/man8/init.8 +++ b/ja_JP.eucJP/man/man8/init.8 @@ -1,325 +1,368 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Donn Seeley at Berkeley Software Design, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)init.8 8.3 (Berkeley) 4/18/94 -.\" %Id: init.8,v 1.13 1998/12/16 16:50:12 ghelmer Exp % +.\" %Id: init.8,v 1.13.2.3 1999/07/05 18:13:11 mph Exp % +.\" .\" jpman %Id: init.8,v 1.2 1997/05/27 08:12:44 yugawa Stab % .\" .Dd April 18, 1994 .Dt INIT 8 .Os BSD 4 .Sh 名称 .Nm init .Nd プロセス制御の初期化を行う .Sh 書式 .Nm init +.Oo +.Cm 0 | 1 | 6 | +.Cm c | q +.Oc .Sh 解説 .Nm はブート処理の最後に起動されます。 .Nm は通常、 -.Xr reboot 8 +.Xr rc 8 で説明されている自動リブートシーケンスを実行します。それが成功すると、 システムはマルチユーザモードになります。 リブートスクリプトの実行に失敗すると、 .Nm はスーパユーザが使うシェルを起動してシングルユーザモードを 開始させます。 .Nm -プログラムは、ブートプログラムからのパラメータの指示を受けて、マルチユー -ザモードに移行せず、一般のデーモンを起動することなくシングルユーザモードの +プログラムは、ブートプログラムからのパラメータの指示を受けて、 +マルチユーザモードに移行せず、 +一般のデーモンを起動することなくシングルユーザモードの シェルを起動させることができます。 その場合、システムはメンテナンスのためのモードになり、 -シェルを抜ける (^D を入力する)ことで +シェルを抜ける (^D を入力する) ことで シングルユーザモードからマルチユーザモードになります。 これによって、 .Nm は .Pa /etc/rc -をファストブートモード(ディスクチェック省略)で実行します。 +をファストブートモード (ディスクチェック省略) で実行します。 .Pp もし .Xr ttys 5 ファイルの .Em console のエントリが -``insecure'' にマークされていた場合には、 +.Dq insecure +にマークされていた場合には、 .Nm はシングルユーザモードのシェルを起動する前に、スーパユーザのパスワードを 要求します。 パスワードチェックは、 .Em console -が ``secure'' にマークされていればスキップされます。 +が +.Dq secure +にマークされていればスキップされます。 .Pp カーネルは 4 種類のセキュリティレベルで走行します。どのスーパーユーザ プロセスもセキュリティレベルを上げることができますが、レベルを下げることが できるのは .Nm だけです。セキュリティレベルは以下のように定義されます: .Bl -tag -width flag .It Ic -1 常に危険なモード \- システムは常にレベル 0 モードで走行します。 これは初期値のデフォルトです。 .It Ic 0 -危険なモード \- 変更不可(immutable)フラグや追加のみ(append-only)フラグは +危険なモード \- 変更不可 (immutable) フラグや追加のみ (append-only) フラグは 無効にされます。 全てのデバイスは、そのパーミッションに従って読み書きされます。 .It Ic 1 安全なモード \- 変更不可フラグや追加のみのフラグは変更されません。 マウントされたファイルシステムのディスクおよび .Pa /dev/mem や .Pa /dev/kmem は read-only となります。 .It Ic 2 安全度の高いモード \- レベル 1 のモードの効果に加え、ディスクは マウントさていようといまいと、( .Xr mount 2 を除き) 常に read-only となります。 このレベルは、ファイルシステムをアンマウントして変更を加えることを不可能に します。また、システムがマルチユーザで走行中に .Xr newfs 8 を実行することも出来なくなります。 .It Ic 3 ネットワークの安全モード \- 安全度の高いモードに加え、 IP パケットフィルタルール ( .Xr ipfw 8 および .Xr ipfirewall 4 -参照) を変更不可能とし、dummynet の設定を修正不可能とします。 +参照) を変更不可能とし、 +.Xr dummynet 4 +の設定を修正不可能とします。 .El .Pp 初期のセキュリティレベルが -1 だった場合、 .Nm はセキュリティレベルを変更しません。 それ以外の場合、シングルユーザモードではレベル 0 で、マルチユーザモードでは レベル 1 で、システムは動作します。マルチユーザモードにおいてレベル 2 で システムを走らせたい場合は、シングルユーザの状態の間に、つまり、 .Pa /etc/rc の中で .Xr sysctl 8 を使って、変数 .Dq kern.securelevel に必要なセキュリティレベルの値を設定します。 .Pp マルチユーザモードの場合、 .Nm は .Xr ttys 5 ファイルで指示された端末ポートのためのプロセスを管理します。 .Nm はこのファイルを読み込み、2 番目のフィールドに指示されたコマンドを 実行します。 そのコマンドは通常、 .Xr getty 8 で、 .Nm getty はtty をオープン、初期化し、 .Xr login 1 プログラムを実行します。 .Nm login プログラムは、ユーザがログインするとシェルを起動します。ユーザが ログアウトするか異常終了するなどして、そのシェルが終了すると、 .Nm プログラムが起こされ、 .Xr utmp 5 ファイルからユーザを消し、 .Xr wtmp 5 ファイルにログアウトを記録します。 このサイクルは、 .Nm プログラムがその端末に新しい .Nm getty を実行することで繰り返されます。 .Pp ラインの状態 (on, off, secure, getty, ウィンドウの情報) は、 .Xr ttys 5 ファイルを書き換えて .Dq Li "kill -HUP 1" によってシグナル .Dv SIGHUP を .Nm に送ることで、リブートせずに変更できます。 このシグナルを受け取ると .Nm は .Xr ttys 5 ファイルを再度読み込みます。 .Xr ttys 5 でラインがオフにされると、 .Nm はそのラインに関係するセッションの制御プロセスに SIGHUP シグナルを送ります。 オフであったラインが .Xr ttys 5 ファイルでオンにされると、 .Nm は新しい .Nm getty を起動して、新しいログインを可能にします。 ラインの getty やウィンドウフィールドが変更された場合、その変更は現在 のログインセッションが終了するまで有効にはなりません。 (例えば、 .Nm によって新しいプロセスが起動されるまで有効にならない。) .Xr ttys 5 中のあるラインをコメントアウトあるいは削除した場合は、 .Nm はそのラインに関しては何も実行しません。 しかしこの場合、 .Xr ttys 5 ファイルと .Xr utmp 5 ファイル内の記録情報が一致しなくなるため、試すことはお勧めしません。 .Pp .Dq Li "kill \-TERM 1" などによって terminate シグナル .Pq Dv TERM を受けると、 .Nm はマルチユーザモードを終了し、シングルユーザモードに復帰します。 ハードウェアまたはソフトウェアの問題でデッドロックしたプロセスがある場合、 .Xr init -はすべてのプロセスの終了を待たず(これは無限に終らないかも知れません)、 +はすべてのプロセスの終了を待たず (これは無限に終らないかも知れません)、 30 秒間でタイムアウトして警告のメッセージを出力します。 .Pp terminal stop シグナル .Pq Dv TSTP -を送ると( +を送ると ( .Dq Li "kill \-TSTP 1" )、 .Nm は新しい .Xr getty を起動するのをやめ、徐々にシステム停止可能な状態にします。 その後、hangup シグナルで完全なマルチユーザモードに戻り、terminate シグナル でシングルユーザモードに移ります。 この hook は .Xr reboot 8 と .Xr halt 8 で使われています。 .Pp interrupt シグナル .Pq Dv INT -を送ると( +を送ると ( .Dq Li "kill \-INT 1" )、 .Nm -はすべてのプロセスを(デッドロックプロセスを待たずに)終了させ、 +はすべてのプロセスを (デッドロックプロセスを待たずに) 終了させ、 リブートを実行します。 この操作は、マシンがハングした時に、カーネルの中から、あるいは、X から、 システムを安全にシャットダウンするのに便利です。 .Pp +.Nm +は同じことを行いますが、ユーザ定義シグナル 1 +.Pq Dv USR1 +を送られた場合はマシンを停止し、 +ユーザ定義シグナル 2 +.Pq Dv USR2 +を送られた場合はマシンを停止してから電源を切ります (ハードウェアが許す場合)。 +.Pp マシンをシャットダウンする時、 .Nm は .Pa /etc/rc.shutdown スクリプトを実行しようとします。 このスクリプトは .Nm innd (インターネットニュースサーバ) のような特定のプログラムを綺麗に終了させるために使用可能です。 .Pp .Nm の役割は非常に重要で、もし .Nm が死ぬとシステムが自動的にリブートされます。 もしブート時に .Nm -プログラムを見つけられなければ、システムは以下のようなメッセージを出力 -して panic で終了します。 -``panic: init died (signal %d, exit %d)'' +プログラムを見つけられなければ、システムは +.Dq panic: init died (signal %d, exit %d) +のようなメッセージを出力して panic で終了します。 +.Pp +2 番目の書式行のようにユーザプロセスとして実行する場合、 +.Nm +は +.At V +の動作をエミュレートします。すなわち、スーパユーザがコマンドラインで +.Em ランレベル +を指定可能であり、 +.Nm +はオリジナルの +.Pq PID 1 +.Nm +に次のようなシグナルを送ります: +.Bl -column Run-level SIGTERM +.It Sy ランレベル シグナル 動作 +.It Cm 0 Ta Dv SIGUSR2 Ta "停止して電源切断" +.It Cm 1 Ta Dv SIGTERM Ta "シングルユーザモードへ移行" +.It Cm 6 Ta Dv SIGINT Ta "マシンを再起動" +.It Cm c Ta Dv SIGTSTP Ta "更なるログインを抑止" +.It Cm q Ta Dv SIGHUP Ta ファイル +.Xr ttys 5 +を再スキャン +.El .Sh 診断 .Bl -diag .It "getty repeating too quickly on port %s, sleeping" ラインにサービスを提供するプロセスが、起動されるたびにすぐ終了してしまう。 これは、端末ラインに着信があるかノイズが大きい場合にしばしば起こります。 -.Em "init は 10 秒間スリープし、" +.Em "init は 30 秒間スリープし、" .Em "その後、プロセスを開始させようとし続けます。" .Pp .It "some processes would not die; ps axl advised." シャットダウンの際、ハングしていて終了させられないプロセスがあります。 -この状態は、通常、デバイスに異常があるときにデバイスドライバではり付い +この状態は、通常、デバイスに異常があるときにデバイスドライバで貼り付い てしまうことにより起こります。 .El .Sh 関連ファイル -.Bl -tag -width /var/log/wtmp -compact +.Bl -tag -width /etc/rc.shutdown -compact .It Pa /dev/console システムのコンソールデバイス .It Pa /dev/tty* .Xr ttys 5 内にある端末ポート .It Pa /var/run/utmp 現在ログインしているのユーザの情報 .It Pa /var/log/wtmp すべてのログイン・ログアウトの情報 .It Pa /etc/ttys 端末の初期化情報が書かれたファイル .It Pa /etc/rc システム立ち上げ用スクリプト .It Pa /etc/rc.shutdown システムシャットダウン用スクリプト .El .Sh 関連項目 .Xr kill 1 , .Xr login 1 , .Xr sh 1 , +.Xr dummynet 4 , .Xr ipfirewall 4 , .Xr ttys 5 , .Xr crash 8 , .Xr getty 8 , .Xr halt 8 , .Xr ipfw 8 , .Xr rc 8 , .Xr reboot 8 , .Xr shutdown 8, .Xr sysctl 8 .Sh 歴史 .Nm コマンドは .At v6 から登場しました。 .Sh 注意 .Xr sysctl を持たないシステムは、セキュリティレベル \-1 で動作します。 .Pp ブートシーケンスにおいて、セキュリティレベルを 1 より高く設定するのがあまり にも早すぎると、 .Xr fsck 8 が一貫性のないファイルシステムを補修することを妨げてしまう可能性が あります。セキュリティレベル設定を行う場所として適切なところは、 全てのマルチユーザ立ち上げ処理が完了した後である、 .Pa /etc/rc の末尾です。 diff --git a/ja_JP.eucJP/man/man8/kget.8 b/ja_JP.eucJP/man/man8/kget.8 index b4d960a9bb..fcb9b2482b 100644 --- a/ja_JP.eucJP/man/man8/kget.8 +++ b/ja_JP.eucJP/man/man8/kget.8 @@ -1,77 +1,75 @@ .\" Copyright (c) 1999 Andrzej Bialecki .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: kget.8,v 1.1 1999/02/27 02:24:18 jkh Exp % +.\" %Id: kget.8,v 1.1.2.1 1999/06/21 10:22:27 jkoshy Exp % +.\" .\" jpman %Id: kget.8,v 1.3 1999/05/09 07:13:48 horikawa Stab % .\" .Dd Feb 20, 1999 .Dt KGET 8 -.Os FreeBSD 3.1 -.\" 3rd Berkeley Distribution は変だ。 .Os BSD 3 から修正: send-pr 済(99/5/6/) +.Os FreeBSD .Sh 名称 .Nm kget .Nd カーネルの変更情報を書き出す .Sh 書式 .Nm kget .Ar filename .Sh 解説 .Nm ユーティリティは、ユーザコンフィグ (-c) セッションで変更された すべてのデバイス設定情報を、見たり保存したりできるようにします。 もっとも典型的には、この情報は /boot/kernel.conf ファイルに書き込まれて、 /boot/loader.rc で ("load -t userconfig_script /boot/kernel.conf" として) 読み込まれます。これにより、 システムがブートする度にユーザが入力しなければいけない、 という手間を省くことができます。 .Pp .Nm はカーネルからデータを取り寄せるために .Xr sysctl 3 -.\" .Xt から .Xr に修正: send-pr 済(99/5/6) インタフェースを使います。 とにかく .Ar machdep.uc_devlist シンボルがないといけません。 もしないのであれば、このユーティリティを使う前に カーネルを更新する必要があるのでしょう。 .Pp 使用法: .Nm .Ar filename .Pp .Ar filename は通常のファイル (上書きされます) か、もしくは - です。 後者の場合は標準出力を使用します。 .Sh バグ きっといくつかあるでしょう。 .Sh 関連項目 .Xr sysctl 3 .Sh 歴史 .Nm コマンドは .An Andrzej Bialecki による PicoBSD 配布の一部として .Fx 3.1 に登場しました。 -.\" .Fx 3.1 を使うように変更: send-pr 済(99/5/6) diff --git a/ja_JP.eucJP/man/man8/kzip.8 b/ja_JP.eucJP/man/man8/kzip.8 index 8a0ea405b4..7934d26df2 100644 --- a/ja_JP.eucJP/man/man8/kzip.8 +++ b/ja_JP.eucJP/man/man8/kzip.8 @@ -1,76 +1,78 @@ .\" .\" Copyright (c) 1996 David E. O'Brien .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: kzip.8,v 1.5 1998/03/23 07:44:18 charnier Exp % +.\" %Id: kzip.8,v 1.5.2.1 1999/06/21 12:38:17 sheldonh Exp % +.\" .\" jpman %Id: kzip.8,v 1.3 1997/08/16 13:18:54 horikawa Stab % .\" .Dd August 15, 1996 .Os .Dt KZIP 8 .Sh 名称 .Nm kzip .Nd カーネルを圧縮する .Sh 書式 .Nm kzip .Op Fl v .Op Fl l Ar loadaddr +.Ar kernel .Sh 解説 このプログラムは、 .Xr gzip 1 を用いてカーネルを圧縮し、ディスク容量を節約します。 メモリ上にロードされた後の、メモリ使用量を減らすわけでは有りません。 シンボル情報は全て失われるので、利用法は限られます。 主な利用目的は、インストールフロッピや fixit フロッピ等のための カーネルを作成することです。 .Pp 次のオプションが利用可能です: .Bl -tag -width flag .It Fl v 詳細出力モード。圧縮後のカーネルが使用するメモリ量を報告します。 そのカーネルが 4MB 境界を越えていないことも確認できます。 .It Fl l Ar loadaddr カーネルをメモリ上にロードするアドレスを指定します。 .Sh 診断 .Nm ユーティリティは、与えられた引数が不正の場合、終了コード 1 で終了します。 終了コードが 2 である場合は、 .Nm がカーネルファイルを読めないか、処理できないことを示しています。 .Sh 関連項目 .Xr gzip 1 .\" .Sh 規格 .Sh 歴史 .Nm コマンドは .Fx 2.0.5 から登場しました。 Linux から 386BSD を経て取り込まれました。 Linus Torvalds の tools/build.c がベースになっており、 Serge Vakulenko が 386BSD に移植しました。 .Sh 作者 このマニュアルページは .An David E. O'Brien が記述しました。 .\" .Sh バグ diff --git a/ja_JP.eucJP/man/man8/loader.8 b/ja_JP.eucJP/man/man8/loader.8 index 2806cea420..b99100ec04 100644 --- a/ja_JP.eucJP/man/man8/loader.8 +++ b/ja_JP.eucJP/man/man8/loader.8 @@ -1,793 +1,797 @@ .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: loader.8,v 1.1.2.4 1999/05/22 13:22:17 rnordier Exp % +.\" %Id: loader.8,v 1.1.2.5 1999/06/23 09:19:19 ru Exp % .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. .\" .\" jpman %Id: loader.8,v 1.2 1999/05/07 11:24:21 horikawa Stab % -.\" revision 1.1.2.3 に追従済 (19990506 horikawa@jp.freebsd.org) .Dd March 14, 1999 .Dt LOADER 8 .Os .Sh 名称 .Nm loader .Nd システムブートストラップの第 3 段階 .Sh 解説 .Nm と呼ばれるプログラムは、 FreeBSD の 3 段階ブートストラップにおける、3 段目です。 これは .Xr libstand 3 に静的にリンクされた .Pa BTX クライアントであり、通常はディレクトリ .Pa /boot に置かれます。 .Pp また、作業自動化、事前設定、回復処理の補助に使用可能な、 スクリプト言語を提供します。 このスクリプト言語はおおまかに 2 つの主たる部分に分類されます。 小さな方は、通常のユーザが直接使用するようデザインされたコマンドの集合で、 歴史的な事情により「組み込みコマンド」と呼ばれます。 これらのコマンドを提供した背景には、 主としてユーザの使い勝手を改善する目的があります。 大きな部品は .Tn ANS Forth 互換の Forth インタプリタであり、 .An John Sadler の ficl をベースにしています。 .Pp 初期化において、 .Nm はコンソールを検出して .Va console 変数を設定します。 直前のブートステージにシリアルコンソールを使用した場合には、 この変数をシリアルコンソール .Pq Dq comconsole に設定します。 その後、デバイスをプローブし、 .Va currdev と .Va loaddev を設定し、 .Va LINES を 24 に設定します。 次に .Tn FICL が初期化され、組み込み語が語彙に追加され、存在する場合には .Pa /boot/boot.4th が処理されます。 このファイルが読み込まれるまで、ディスクの交換はできません。 .Nm が .Tn FICL とともに使用する内部インタプリタは .Ic interpret に設定されます。これは .Tn FICL のデフォルトです。 この後、使用可能な場合 .Pa /boot/loader.rc が処理され、そうでない場合には歴史的な理由で .Pa /boot/boot.conf が読み込まれます。 これらのファイルは .Ic include コマンドを介して処理されます。 このコマンドは、 処理前にファイル内容すべてをメモリに読み込みますので、 ディスク交換が可能となります。 .Pp この時点で、 .Ic autoboot が試されていない場合でかつ .Va autoboot_delay が .Dq NO (大文字小文字は区別しません) に設定されていない場合、 .Ic autoboot が試されます。 システムがこの時点まで到達した場合、 .Va prompt が設定され、 .Nm は対話モードになります。 .Sh 組み込みコマンド .Nm の組み込みコマンドは、パラメータをコマンドラインから受け取ります。 現在、スクリプトからの呼び出し方法は、文字列上で .Pa evaluate を使用することだけです。 エラー状態が発生すると、 .Tn ANS Forth 例外操作語でインタセプト可能な例外が生成されます。 インタセプトされない場合、エラーメッセージが表示され、 インタプリタの状態がリセットされます。 これにより、スタックが空になりインタプリタのモードが元に戻ります。 .Pp 使用可能な組み込みコマンドは次の通りです: .Pp .Bl -tag -width Ds -compact -offset indent .It Ic autoboot Op Ar seconds ユーザが割り込まない場合には、 指定した秒数の後にシステムのブートストラップへ進みます。 キーが押されて割り込まれるまで、 カウントダウンプロンプトを表示し、 ユーザに対してシステムがブートするところであることを警告します。 必要であれば、最初にカーネルがロードされます。 デフォルトは 10 秒です。 .Pp .It Ic bcachestat ディスクキャッシュの使用状況を表示します。 デバッグのためだけにあります。 .Pp .It Ic boot .It Ic boot Ar kernelname Op Cm ... .It Ic boot Fl flag Cm ... システムのブートストラップへすぐに進み、 必要であればカーネルをロードします。 すべてのフラグまたは引数はカーネルに渡されますが、 カーネル名が指定された場合、これらはカーネル名の後にある必要があります。 .Pp .It Ic echo Xo .Op Fl n .Op Aq message .Xc 画面にテキストを表示します。 .Fl n を指定しない場合、改行が表示されます。 .Pp .It Ic heap メモリ使用状況が表示されます。デバッグ目的のためだけにあります。 .Pp .It Ic help Op topic Op subtopic ヘルプメッセージを .Pa /boot/loader.help から読み込んで表示します。 特殊トピック .Em index は、使用可能なトピックを表示します。 .Pp .It Ic include Ar file Op Ar スクリプトファイルを処理します。 各ファイルは、順番がまわって来たところで完全にメモリに読み込まれ、 各行がコマンドラインインタプリタに渡されます。 インタプリタがエラーを返すと、 他のファイルは読み込まずに include コマンドは即時に異常終了し、 自身にエラーを返します ( .Sx エラー 参照)。 .Pp .It Ic load Xo .Op Fl t Ar type .Ar file Cm ... .Xc カーネル、カーネルローダブルモジュール (kld)、内容を問わず .Ar type とタグ付けされているファイルのいずれかをロードします。 カーネルとモジュールは、a.out または elf のどちらの形式であってもかまいません。 ロードされるファイルの後で渡される引数は、 そのファイルに対する引数として渡されます。 現在のところ、これはカーネルに対しては動作しないことに注意してください。 .Pp .It Ic ls Xo .Op Fl l .Op Ar path .Xc ディレクトリ .Ar path 、または .Ar path を指定しなかった場合にはルートディレクトリのファイル一覧を表示します。 .Fl l を指定すると、ファイルの大きさも表示します。 .Pp .It Ic lsdev Op Fl v モジュールのロード元となりうるデバイスをすべて表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic lsmod Op Fl v ロード済のモジュールを表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic more Ar file Op Ar .Va LINES 行を表示するごとに停止しながら、指定したファイルを表示します。 .Pp .It Ic pnpscan Op Fl v プラグアンドプレイデバイスをスキャンします。 現在のところ動作しません。 .Pp .It Ic read Xo .Op Fl t Ar seconds .Op Fl p Ar prompt .Op Va variable .Xc 入力行を端末から読み込み、 .Va variable が指定された場合にはこれに読み込み結果を格納します。 タイムアウトは .Fl t で指定可能ですが、これは最初に押されるキーにより打ち消されます。 プロンプトもまた .Fl p フラグにより表示可能です。 .Pp .It Ic reboot 即時にシステムをリブートします。 .Pp .It Ic set Ar variable .It Ic set Ar variable Ns = Ns Ar value ローダの環境変数を設定します。 .Pp .It Ic show Op Va variable 指定した変数の値を表示します。 .Va variable を指定しないと、すべての変数とその値を表示します。 .Pp .It Ic unload 全モジュールをメモリから取り除きます。 .Pp .It Ic unset Va variable .Va variable を環境から取り除きます。 .Pp .It Ic \&? .Dq help index と同じです。 .Pp .El .Ss 組み込みの環境変数 .Nm は実際のところ、異なった 2 種類の .Sq 環境 変数を持ちます。 それは、ANS Forth の .Em 環境問い合わせ と、別の空間であり組み込みコマンドが使用する環境変数です。 後者は Forth の語としては直接使用できません。 この節で説明するのは、後者です。 .Pp 環境変数の設定および設定解除は、 .Ic set と .Ic unset の組み込みコマンドを介して行います。これらの値は、 .Ic show 組み込みコマンドを使用して対話的に検査できます。 これらの値は、 .Sx 組み込みパーザ で説明する方法でもまたアクセス可能です。 .Pp この環境変数は、システムブート後にシェルに継承されないことに注意してください。 .Pp 数個の変数が .Nm により自動的に設定されます。 他の変数は、 .Nm またはブート時のカーネル動作に影響し得ます。 これらのうち値を要求するものがある一方、 設定されるだけで動作を定義するものもあります。 これらを以下に示します。 .Bl -tag -width bootfile -offset indent .It Va autoboot_delay .Ic autoboot がブート前に待つ秒数です。この変数が定義されていない場合、 .Ic autoboot はデフォルトの 10 秒になります。 .Pp .Dq NO に設定すると、 .Pa /boot/loader.rc の処理の後に .Ic autoboot を自動的には試みなくなります。 しかし、明示的に .Ic autoboot を指定すると、デフォルトの 10 秒の遅延の後に通常通り処理されます。 .It Va boot_askname カーネルブート時にルートデバイス名をユーザに尋ねるように、 カーネルに指示します。 .It Va boot_ddb ブート時に初期化に進むのではなく DDB デバッガを開始するように、 カーネルに指示します。 .It Va boot_gdb gdb リモートモードを、カーネルデバッガのデフォルトとして選択します。 .It Va boot_single カーネルがマルチユーザスタートアップを開始することを防ぎ、 カーネルがデバイスプローブを完了したときにはシングルユーザモードになります。 .It Va boot_userconfig カーネルブート時に カーネルの対話的なデバイス設定プログラムを実行するよう要求します。 .It Va boot_verbose この変数を設定すると、 ブートフェーズ中に追加のデバッグ情報をカーネルが表示します。 .It Va bootfile セミコロンで区切った検索パスのリストであり、 ここからブート可能なカーネルを探します。 デフォルトは .Li Dq kernel;kernel.old です。 .It Va console 現在のコンソールを定義します。 .It Va currdev デフォルトデバイスを選択します。デバイスの文法は奇妙なものです。 +.It Va init_path +カーネルが初期プロセスとして実行しようとすべきバイナリのリストを指定します。 +デフォルトは +.Li Dq /sbin/init:/sbin/oinit:/sbin/init.bak:/stand/sysinstall +です。 .It Va interpret Forth の現在の状態がインタプリタの場合、 .Li Dq ok という値を持ちます。 .It Va LINES 画面上の行数を定義します。ページャが使用します。 .It Va module_path モジュールを検索するディレクトリのリストを設定します。 モジュール名は、load コマンドまたは依存関係により暗黙的に指定されます。 この変数のデフォルト値は .Li Dq /;/boot;/modules です。 .It Va num_ide_disks IDE ディスクの数を設定します。 これは、ブート時にルートディスクを見つけることに関する問題への対処です。 .Va root_disk_unit により価値が低下しています。 .It Va prompt .Nm のプロンプトの値です。 デフォルトは .Li Dq "${currdev}>" です。 .It Va root_disk_unit ルートディスクのディスクユニット番号を検出するコードが混乱する場合、 この変数を設定することでユニット番号を強制可能です。 混乱するのは、例えば SCSI と IDE のディスクを両方持つ場合や、 IDE ディスクの並びに隙間がある場合 (プライマリスレーブが無い場合など) です。 .It Va rootdev デフォルトでは、カーネルブート時にルートファイルシステムの設定には .Va currdev が使用されます。 これは .Va rootdev を明示的に設定することによりオーバライド可能です。 .El .Pp 他の変数を使用することにより、 カーネルの調整可能なパラメータをオーバライド可能です。 次の調整可能な変数が使用可能です: .Bl -tag -width Va -offset indent .It Va kern.ipc.nmbclusters 割り当てられる mbuf クラスタ数を設定します。 カーネルコンパイル時に決定されたデフォルト値より小さくは、設定できません。 .Va NMBCLUSTERS を変更します。 .It Va kern.vm.kmem.size カーネルメモリの大きさ (バイト) を設定します。 カーネルコンパイル時に決定された値に、完全に優先します。 .Va VM_KMEM_SIZE を変更します。 .It Va machdep.pccard.pcic_irq 通常時に PCCARD コントローラに割り当てられる IRQ をオーバライドします。 典型的には、最初に利用可能な割り込みが割り当てられてしまい、 他のハードウェアと衝突してしまうかもしれません。 この値を 0 に設定すると、割り込みは割り当てられず、 コントローラはポーリングモードのみで動作します。 .It Va net.inet.tcp.tcbhashsize .Va TCBHASHSIZE のコンパイル時の設定値をオーバライドするか、 デフォルトの 512 にプリセットします。 2 のべき乗である必要があります。 .El .Ss 組み込みパーザ 組み込みコマンドが実行されるとき、 行の残りはコマンドが引数として受け取り、 通常の Forth コマンドには使用されない特別なパーザがコマンドを処理します。 .Pp この特別なパーザは、解析したテキストに対して次のルールを適用します: .Pp .Bl -enum .It すべてのバックスラッシュ文字は前処理されます。 .Bl -bullet .It \eb , \ef , \er , \en, \et は C の .Fn printf のように処理されます。 .It \es は空白文字に変換されます。 .It \ev は .Tn ASCII の 11 に変換されます。 .It \ez は単にスキップされます。 .Dq \e0xf\ez\e0xf のように使用すると便利です。 .It \e0xN と \e0xNN は 16 進数の N と NN に変換されます。 .It \eNNN は 8 進数 NNN の .Tn ASCII 文字に変換されます。 .It \e" , \e' , \e$ は、これらの文字をエスケープし、 後述するステップ 2 における特殊な意味を与えられないようにします。 .It \e\e は単一の \e に変換されます。 .It 他の場合、バックスラッシュは単に取り除かれます。 .El .It エスケープされていないクォートまたはダブルクォートの間のすべての文字列は、 後続するステップにおいて単一の語として扱われます。 .It .Li $VARIABLE または .Li ${VARIABLE} は、環境変数 .Va VARIABLE の値に変換されます。 .It 空白で区切られた複数の引数を、呼び出した組み込みコマンドへ渡します。 空白は \e\e を使用することによりエスケープ可能です。 .El .Pp 解析ルールには例外があり、これは .Sx 組み込み語と FORTH で説明します。 .Ss 組み込み語と FORTH すべての組み込み語は、状態を意識する即時実行語です。 インタプリトされると、これらは前述の通りに振舞います。 一方コンパイルされると、 引数をコマンドラインからではなくスタックから取り出します。 .Pp コンパイルされると、 実行時に組み込み語は、スタック上で次のパラメータを見付けられると期待します: .D1 Ar addrN lenN ... addr2 len2 addr1 len1 N ここで .Ar addrX lenX は文字列であり、組み込み語の引数として解釈されるコマンドラインを構成します。 内部的には、おのおのの間に空白を狭んで、 これらの文字列は 1 から N まで結合されます。 .Pp 引数が渡されない場合、組み込み語が引数を受け付けない場合であっても、 単一の 0 を渡す .Em 必要 があります。 .Pp この動作には利点がありますが、それ自身にはトレードオフがあります。 組み込み語の実行トークンが ( .Ic No ' または .Ic No ['] を通して) 得られて、 .Ic catch または .Ic execute に渡された場合、組み込み語の動作は .Bf Em .Ic catch または .Ic execute が実行されるときの .Ef システムの状態に依存します ! これは、 例外を扱いたいまたは扱う必要があるプログラムにとっては、特に悩ましいものです。 この場合、代理 (proxy) を使用することをお勧めします。 例えば次のようにします: .Dl : (boot) boot ; .Sh FICL .Tn FICL は C で記述された Forth インタプリタであり、 C の関数などとして呼び出し可能な forth 仮想マシンライブラリの形式です。 .Pp .Nm では、対話的に読み込まれた各行は .Tn FICL に与えられます。 .Tn FICL は、組み込み語を実行するために .Nm を呼び戻します。 組み込みの .Ic include もまた、1 度に 1 行ずつを .Tn FICL へ与えます。 .Pp .Tn FICL へ使用可能な語は 4 グループへ分類可能です。それは、 .Tn ANS Forth 標準語、追加の .Tn FICL 語、追加の .Os 語、そして組み込みコマンドです。 最後のものは既に説明しました。 .Tn ANS Forth 標準語は、 .Sx 規格 の節に列挙しています。 別の 2 グループの語については、以降の小節において説明します。 .Ss FICL 追加語 .Bl -tag -width wid-set-super -offset indent .It Ic .env .It Ic .ver .It Ic -roll .It Ic 2constant .It Ic >name .It Ic body> .It Ic compare This is the STRING word set's .Ic compare . .It Ic compile-only .It Ic endif .It Ic forget-wid .It Ic parse-word .It Ic sliteral This is the STRING word set's .Ic sliteral . .It Ic wid-set-super .It Ic w@ .It Ic w! .It Ic x. .It Ic empty .It Ic cell- .It Ic -rot .El .Ss FREEBSD 追加語 .Bl -tag -width XXXXXXX -offset indent .It Ic tib> Pq -- Ar addr len 入力バッファの残りを、スタック上の文字列として返します。 .It Ic \&% Pq -- .Ic catch 例外ガード下の、入力バッファの残りを評価します。 .It Ic \&$ Pq -- 入力バッファの残りを表示した後、評価します。 .It Ic fopen Pq Ar addr len -- fd ファイルをオープンします。ファイル記述子を返します。 失敗時には -1 を返します。 .It Ic fclose Pq Ar fd -- ファイルをクローズします。 .It Xo .Ic fread .Pq Ar fd addr len -- len' .Xc ファイル .Em fd から .Em len バイトを、バッファ .Em addr へ読み込もうとします。 実際に読み込んだバイト数を返します。 エラー時またはファイルの終了の場合には -1 を返します。 .It Ic fload Pq Ar fd -- ファイル .Em fd を処理します。 .It Ic fkey Pq Ar fd -- char ファイルから 1 文字読み込みます。 .It Ic key Pq -- Ar char コンソールから 1 文字読み込みます。 .It Ic key? Pq -- Ar flag コンソールから読み込み可能な文字がある場合、 .Ic 真 を返します。 .It Ic ms Pq Ar u -- .Em u マイクロ秒待ちます。 .It Ic seconds Pq -- Ar u 深夜 0 時からの秒数を返します。 .It Ic trace! Pq Ar flag -- トレースを有効または無効にします。 .Ic catch とともには動作しません。 .It Ic outb Pq Ar port char -- ポートへバイトを書き込みます。 .It Ic inb Pq Ar port -- char ポートからバイトを読み込みます。 .El .Ss FREEBSD で定義される環境問い合わせ .Bl -tag -width Ds -offset indent .It arch-i386 アーキテクチャが IA32 の場合 .Ic 真 です。 .It arch-alpha アーキテクチャが AXP の場合 .Ic 真 です。 .It FreeBSD_version コンパイル時の .Fx バージョンです。 .It loader_version .Nm のバージョンです。 .El .Ss システム文書 .Sh 関連ファイル .Bl -tag -width /dev/loader.helpX -compact .It Pa /boot/loader .Nm 自身。 .It Pa /boot/boot.4th 追加の .Tn FICL の初期化。 .It Pa /boot/boot.conf .Nm のブートストラップスクリプト。価値が低下しています。 .It Pa /boot/loader.rc .Nm のブートストラップスクリプト。 .It Pa /boot/loader.help .Ic help がロードします。 ヘルプメッセージを含みます。 .El .Sh 使用例 シングルユーザモードでブートします: .Pp .Dl boot -s .Pp カーネルのユーザ設定ファイルをロードします。 他の .Ic load コマンドを試みる前にカーネルをロードする必要があることに注意してください。 .Pp .Bd -literal -offset indent -compact load kernel load -t userconfig_script /boot/kernel.conf .Ed .Pp カーネルと起動画面をロードし、5 秒以内に自動ブートします。 .Pp .Bd -literal -offset indent -compact load kernel load splash_bmp load -t splash_image_data /boot/chuckrulez.bmp autoboot 5 .Ed .Pp ルートデバイスのディスクユニットを 2 に設定し、ブートします。 IDE ディスクが 2 台のシステムで、 2 台目の IDE が wd1 ではなく wd2 に固定されているシステムにおいて、 必要となるでしょう。 .Pp .Bd -literal -offset indent -compact set root_disk_unit=2 boot /kernel .Ed .Pp 次を参照してください: .Bl -tag -width /usr/share/examples/bootforth/X .It Pa /boot/loader.4th 追加の組み込み的な語について。 .It Pa /boot/support.4th .Pa loader.conf が処理する語について。 .It Pa /usr/share/examples/bootforth/ 分類された使用例。 .El .Sh エラー 次の値を .Nm は返します: .Bl -tag -width XXXXX -offset indent .It 100 組み込みコマンド処理において任意のタイプのエラーが発生しました。 .It -1 .Ic Abort が実行されました。 .It -2 .Ic Abort" が実行されました。 .It -56 .Ic Quit が実行されました。 .It -256 インタプリトするテキストがありません。 .It -257 成功するためには更なるテキストが必要です -- 次の実行で終了します。 .It -258 .Ic Bye が実行されました。 .It -259 未定義エラー。 .El .Sh 関連項目 .Xr libstand 3 , .Xr loader.conf 5 , .Xr boot 8 , .Xr btxld 8 .Sh 規格 ANS Forth 互換性の観点では、loader は .Bf Em 環境に制限がある ANS Forth System です。 Core Extensions 語集合からは、 .Ef .Bf Li .No .( , .No :noname , .No ?do , parse, pick, roll, refill, to, value, \e, false, true, .No <> , .No 0<> , compile\&, , erase, nip, tuck, maker .Ef .Bf Em を提供しています。 Exception Extensions 語集合を提供しています。 Locals Extensions 語集合を提供しています。 Memory-Allocation Extensions 語集合を提供しています。 Programming-Tools 拡張語集合からは .Ef .Bf Li \&.s , bye, forget, see, words, \&[if] , \&[else] , \&[then] .Ef .Bf Em を提供しています。 Search-Order 拡張語集合を提供しています。 .Ef .Sh 歴史 .Nm が最初に登場したのは .Fx 3.1 です。 .Sh 作者 .Bl -item .It .Nm は .An Michael Smith Aq msmith@freebsd.org が記述しました。 .It .Tn FICL は .An John Sadler Aq john_sadler@alum.mit.edu が記述しました。 .El .Sh バグ .Tn FICL は大文字小文字を区別します。 これは標準違反ではありませんが、 すべての Forth の語は小文字ですから、 結果として標準違反となります。 このバグに依存しないようにしてください。 .Pp .Ic expect と .Ic accept の語は、コンソールからではなく入力バッファから読み込みます。 後者については修正されますが、前者は修正されません。 diff --git a/ja_JP.eucJP/man/man8/pccardd.8 b/ja_JP.eucJP/man/man8/pccardd.8 index 42513b7216..f706d99ac6 100644 --- a/ja_JP.eucJP/man/man8/pccardd.8 +++ b/ja_JP.eucJP/man/man8/pccardd.8 @@ -1,154 +1,155 @@ .\" .\" Copyright (c) 1994 Andrew McRae. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: pccardd.8,v 1.10.2.1 1999/03/01 22:05:30 kuriyama Exp % +.\" %Id: pccardd.8,v 1.10.2.2 1999/06/26 23:18:32 mpp Exp % +.\" .\" jpman %Id: pccardd.8,v 1.4 1997/07/26 22:04:06 horikawa Stab % .\" .Dd November 1, 1994 -.Dt PCCARD 8 +.Dt PCCARDD 8 .Os FreeBSD .Sh 名称 .Nm pccardd .Nd PC-CARD (PCMCIA) 管理デーモン .Sh 書式 .Nm pccardd .Op Fl d .Op Fl v .Op Fl f Ar configfile .Sh 解説 .Nm は、普通ブート時に始動され、 PC-CARD カードの抜き差しを管理します。 .Pp 実行されると、 .Nm は (デフォルト名が .Pa /etc/pccard.conf の) 設定ファイルを読み込み、カードのために利用可能な PC-CARD スロット をスキャンします。 .Nm は、その後、例えば新しいカードの挿入やカードの取り外しのような、 .Em "カードイベント" を待ちます。 .Pp カードが挿入された時、以下のような動作が行われます。 .Bl -enum .It カーネルドライバはカードの挿入を検出し、カードに電源を供給します。 .It .Nm は、 .Em CIS データをカードの属性メモリから読み込み、製造者名とカードの バージョンを設定ファイルのカード記述と照合します。 .It マッチするものが見付かると、ドライバが割り当てられます。 .It ひとたび自由なドライバとデバイス実体が割り当てられると、 .Nm は (必要であれば) ISA メモリブロックや入出力ポートのような資源を 共通の資源から割り当てます。 .It PC-CARD スロットは、割り当てられた I/O とメモリコンテキストによって 設定され、カーネルドライバがカードに割り当てられます。 .It 割当が成功すると、例えばネットワークインタフェースを設定するための .Xr ifconfig 8 等のような 特定のシェルコマンドがデバイスを設定するために実行されます。 それぞれ別々のコマンドを各カード・ドライバ・デバイスのために指定して良く、 その順序で実行されます。 .El .Pp .Nm がカードの除去を発見した時には、以下の一連の操作が実行されます。 .Bl -enum .It カード除去に対して割り当てられたシェルコマンドが実行されます。 これは、除去されたカードに割り当てられたどんなデバイスも リセットしようとします。 それぞれ別々のコマンドを各カード・ドライバ・デバイスのために指定して良いです。 .It PC-CARD スロット資源は解放されます。 .El .Pp ひとたびカード/ドライバ実体が設定されると、 その実体に割り当てた資源を憶えておきます。 そして、カードが取り外され再び挿入された場合、 同じドライバを割り当てます。この主な理由は、一度ドライバがカードに 割り当てられると、ドライバの .Fn 検査 (prove) ルーチンが呼ばれ、 ドライバ固有のデータ領域は カードに割り当てられた I/O ポートやメモリ資源によって初期化されるからです。 大多数のドライバは、ハードウエアから関連を解消されたり、その後で再び 違うパラメータで再割当されるように設計されていません。 これは、読み込み可能カーネルモジュールがサポートされた時に大きく変わ るでしょう。 .Pp .Nm が理解する実行時オプションは以下の通りです。 .Bl -tag -width Ds .It Fl d デーモンとして実行せず、フォアグランドジョブとして実行し、 エラーメッセージを表示します。 .It Fl v 設定ファイルを読み込んだ後で、そのまとめを出力します。 .It Fl f Ar configfile デフォルト設定ファイル .Pa /etc/pccard.conf とは異なった設定ファイルを指定します。 ファイルの形式は、 .Xr pccard.conf 5 に詳細に記述されていますし、 .Nm によって認識される PC-CARD カードがリストされています。 また、カードへのインタフェースとして使われるカーネルドライバと デバイスについても詳細に書かれています。 .Pp .Sh 関連ファイル .Bl -tag -width /etc/pccard.conf -compact .It Pa /etc/pccard.conf .El .Sh 関連項目 .Xr pccard.conf 5 , .Xr ifconfig 8 .Sh 作者 .An Andrew McRae Aq andrew@mega.com.au によって開発されました。 .Sh バグ .Nm はカードのパラメータを設定することができますが、 特定のドライバがカードと動作することを保証しません。 .Pp .Nm FreeBSD は、現在読み込み可能カーネルモジュールをサポートしていないため、 設定ファイル中のすべての .Em irq 設定は、カーネルの .Nm config エントリにマッチする必要が有ります。 .Pp システム資源 (例えばネットワークマウントされているファイルシステム) が カードに関連している場合は、カードを取り外すと問題が起こるかも知れません。 diff --git a/ja_JP.eucJP/man/man8/reboot.8 b/ja_JP.eucJP/man/man8/reboot.8 index de2fc62bff..6389c290ed 100644 --- a/ja_JP.eucJP/man/man8/reboot.8 +++ b/ja_JP.eucJP/man/man8/reboot.8 @@ -1,111 +1,121 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)reboot.8 8.1 (Berkeley) 6/9/93 -.\" %Id: reboot.8,v 1.5 1998/07/15 06:51:37 charnier Exp % +.\" %Id: reboot.8,v 1.5.2.1 1999/06/23 10:24:49 ru Exp % +.\" .\" jpman %Id: reboot.8,v 1.3 1997/06/06 11:35:27 bobson Stab % .\" .Dd June 9, 1993 .Dt REBOOT 8 .Os .Sh 名称 .Nm reboot , .Nm halt .Nd システムを停止し、再起動する .Sh 書式 .Nm halt .Op Fl nqp .Nm reboot .Op Fl nqp .Nm fasthalt .Op Fl nqp .Nm fastboot .Op Fl nqp .Sh 解説 .Nm halt と .Nm は、ファイルシステムのキャッシュをディスクへ書き出し、 -すべての実行中のプロセスに SIGTERM を -(そして、それに続いて SIGKILL を) 送ります。 +すべての実行中のプロセスに +.Dv SIGTERM +を +(そして、それに続いて +.Dv SIGKILL +を) 送ります。 そして、システムを停止 ( .Nm halt ) したり、再起動 ( .Nm ) したりします。 -その動作はログインのアカウンティングファイルに記入されます。 +その動作は +.Xr wtmp 5 +ファイルに記入されます。 それはログインのアカウンティングファイルへのシャットダウン記録の書き出し を含んでいます。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width indent .It Fl n システムのキャッシュがディスクへ書き出されません。 このオプションは使用すべきではありません。 .It Fl q システムは、とにかく速く停止されたり、 -再起動されたりします。そしてシステムのキャッシュの破棄だけが行われます。 +再起動されたりします。そしてシステムのキャッシュの破棄だけが行われます ( +.Fl n +が指定されなかった場合)。 このオプションは使用すべきではありません。 .It Fl p システムは可能であれば電源を切ります。 これは、もちろん .Nm でも、 .Nm halt と同じように振る舞うということです。 .El .Pp .Nm fasthalt と .Nm fastboot は、それぞれ .Nm halt と .Nm の単なる別名にすぎません。 .Pp -通常、システムの停止や、再起動を要する場合には、ユーザに事前警告を与える +通常、システムの停止や再起動を要する場合には、 +ユーザに事前警告を与えて特定のプログラムを綺麗に停止する .Xr shutdown 8 を使用します。 .Xr shutdown 8 は、ログインしているユーザにシステム停止の警告を与えます。 .Pp .Sh 関連項目 -.Xr utmp 5 , +.Xr wtmp 5 , .Xr boot 8 , .Xr shutdown 8 , .Xr sync 8 .Sh 歴史 .Nm コマンドは .At v6 で追加されました。 diff --git a/ja_JP.eucJP/man/man8/rshd.8 b/ja_JP.eucJP/man/man8/rshd.8 index 04429a62da..202c4b4e8f 100644 --- a/ja_JP.eucJP/man/man8/rshd.8 +++ b/ja_JP.eucJP/man/man8/rshd.8 @@ -1,225 +1,225 @@ .\" Copyright (c) 1983, 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)rshd.8 8.1 (Berkeley) 6/4/93 .\" %Id: rshd.8,v 1.15 1999/01/12 14:09:18 asami Exp % -.\" %Id: rshd.8,v 1.14 1998/12/16 07:20:44 peter Exp % +.\" .\" jpman %Id: rshd.8,v 1.4 1997/08/10 18:35:56 horikawa Stab % .\" .Dd June 4, 1993 .Dt RSHD 8 .Os BSD 4.2 .Sh 名称 .Nm rshd .Nd リモートシェルのサーバ .Sh 書式 .Nm rshd .Op Fl alnDL .Sh 解説 .Nm は、 .Xr rcmd 3 ルーチンのためのサーバであり、結果として .Xr rsh 1 の実行のために必要となるサーバです。 .Nm は、信頼できるホストからの特権ポート番号に基づいた 認証を行なうことによって、プログラムのリモート実行機能を提供します。 .Pp .Nm サーバは、``cmd'' サービスに割り当てられたポート ( .Xr services 5 参照) でサービス要求を受け付けます。サービス要求を受信すると、 サーバは以下の手順を開始します: .Bl -enum .It サーバは、クライアントの要求元ポート番号のチェックをおこないます。 要求元ポート番号 が 512 から 1023 の範囲にない場合、サーバは接続を強制切断します。 .It サーバは、ソケットから .Tn ヌル バイト (`\e0') を検出するまで文字を読みます。 受信文字列は、 .Tn ASCII コードによる 10 進数の数値に変換します。 .It ステップ 2 で受信した数値が 0 でない場合、その数値を .Em 標準エラー出力 で使用する 2 番目のストリームのポート番号として解釈します。 そしてクライアントマシン上でも指定されたポート番号の 2 番目の接続を生成します。 この 2 番目の接続の要求元ポート番号も、512 から 1023 の範囲で指定します。 .It サーバは、クライアントの要求元アドレスをチェックし、該当するホスト名を要求し ます ( .Xr gethostbyaddr 3 , .Xr hosts 5 , .Xr named 8 を参照してください)。ホスト名が特定できない場合、 または確認したホスト名とアドレスとが一致しない場合、 ドット表記法によるホストアドレスを用います。 .It 最初のソケットを介して、ヌル終端された最大 16 文字の ユーザ名を取得します。ユーザ名は、 .Em クライアント マシン上のユーザ識別に使用します。 .It 最初のソケットを介して、ヌル終端された最大 16 文字の ユーザ名を取得します。ユーザ名は、 .Em サーバ マシン上のユーザ認証に使用します。 .It 最初のソケットを介して、シェルに渡されるべき、ヌル終端された コマンドを取得します。コマンド長の制限は、システムの引数リスト サイズの上限に依存します。 .It .Nm は、 .Pa /etc/hosts.equiv および当該ユーザのホームディレクトリ上に存在する .Pa .rhosts ファイルを用いる .Xr ruserok 3 を使用して、ユーザ認証を行います。 .Fl l オプションは、ユーザがスーパユーザでない限り、 .Pa .rhosts ファイルに基づいた .Xr ruserok 3 のすべての認証をおこなわないようにします。 .It .Pa /var/run/nologin ファイルが存在し、ユーザがスーパユーザでない場合、接続を 切断します。 nologin ファイルの名前に関しては、 .Pa login.conf にて ローカルユーザのログインクラスに関する nologin ケーパビリティが優先します。 ログインクラスは、ログイン時間(times.allow と times.denny ケーパビリティ) およびリモートホスト(hosts.allow と hosts.denny ケーパビリティ)による .Xr rsh 1 アクセスの制限にも使われます。 .It 最初のソケットを用いて .Tn ヌル バイトを返し、コマンドライン を、ユーザの通常のログインシェルに渡します。シェルは .Nm によって確立されたネットワーク接続を継承します。 .El .Pp .Fl n オプションが与えられないかぎり、トランスポートレベルの keepalive メッセージが 有効になります。keepalive メッセージを使用することによって、 クライアントプロセスが異常終了するか、もしくはネットワーク到達不可に なった場合にセッションをタイムアウトで終了させることができます。 .Pp .Fl D オプションは TCP_NODELAY ソケットオプションを設定します。 小さな連続する (back-to-back) 書き込みの性能を向上させますが、 ネットワークトラフィックは増えてしまいます。 .Pp .Fl L オプションを用いることで、すべての正常なアクセスを .Xr syslogd 8 を経由して .Li auth.info メッセージとして、ログします。 .Sh 診断 以下に示す例のうち最後のものを除き、 すべての診断メッセージを最初のソケットを用いて返した後、 すべての接続をクローズします。 エラーは、先行する 1 バイトとして値 1 が返されるこ とでわかります (ログインシェル実行の前のすべてのステップが正常に完了した場合、 上記のステップ 10 の処理で 0 を返します)。 .Bl -tag -width indent .It Sy Locuser too long. クライアントマシン上のユーザ名が、16 文字を超えています。 .It Sy Ruser too long. リモートマシン上のユーザ名が、16 文字を超えています。 .It Sy Command too long. 渡されたコマンドラインの長さが、引数リストの大きさを超えています (システムに依存します)。 .It Sy Login incorrect. 当該ユーザに関するエントリが、パスワードファイルに登録されていないか、 上述の認証手続きに失敗しました。 .It Sy Remote directory. ホームディレクトリへの .Xr chdir 2 巻数が失敗しました。 .It Sy Logins not available right now. ローカルユーザのログインクラスに対する .Pa login.conf において、許された時間以外で .Xr rsh 1 が試されました。 .It Sy Can't make pipe. .Em 標準エラー出力 に必要なパイプを作成できませんでした。 .It Sy Can't fork; try again. サーバによる .Xr fork 2 が失敗しました。 .It Sy : ... ユーザのログインシェルを起動できませんでした。本メッセージの出力は .Em 標準エラー出力 に関連づけられたコネクションを介して返されますので、 フラグバイトは先行しません。 .El .Sh 関連項目 .Xr rlogin 1 , .Xr rsh 1 , .Xr gethostbyaddr 3 , .Xr rcmd 3 , .Xr ruserok 3 , .Xr hosts 5 , .Xr login.conf 5 , .Xr nologin 5 , .Xr services 5 , .Xr named 8 , .Xr rlogind 8 , .Xr syslogd 8 . .Sh 関連ファイル .Bl -tag -width /etc/hosts -compact .It Pa /etc/hosts .It Pa /etc/hosts.equiv .It Pa /etc/login.conf .It Pa $HOME/.rhosts .It Pa /var/run/nologin .El .Sh バグ ここで用いられているユーザ認証手順は、各クライアントマシンおよび接続媒体が 信頼できるものと仮定しています。 これは安全ではないですが、``オープン'' な環境下では便利です。 .Pp 全てのデータについて暗号化を行なう機能が実装されるべきです。 .Pp TELNET のような、もっと拡張性のあるプロトコルが用いられるべきです。 diff --git a/ja_JP.eucJP/man/man8/rwhod.8 b/ja_JP.eucJP/man/man8/rwhod.8 index eeaed88663..6da06122cf 100644 --- a/ja_JP.eucJP/man/man8/rwhod.8 +++ b/ja_JP.eucJP/man/man8/rwhod.8 @@ -1,219 +1,228 @@ .\" this file based on that translated to japanese on NetBSD Japanese Reference .\" Manual Project, and modefied to fit FreeBSD Reference Manual .\" by Mochida Shuji 1995/03/31 .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)rwhod.8 8.2 (Berkeley) 12/11/93 .\" jpman %Id: rwhod.8,v 1.3 1997/10/11 07:49:54 horikawa Stab % .\" .Dd December 11, 1993 .Dt RWHOD 8 .Os BSD 4.2 .Sh 名称 .Nm rwhod .Nd システムステータスサーバ .Sh 書式 .Nm rwhod .Op Fl i +.Op Fl p .Op Fl l .Op Fl m Op Ar ttl .Sh 解説 .Nm は、 .Xr rwho 1 や .Xr ruptime 1 プログラムで使われるデータベースを管理するサーバです。 ネットワークにおいて .Em ブロードキャスト もしくは .Em マルチキャスト メッセージが使用できることが前提となります。 .Pp .Nm はステータス情報の生成と利用の両方を行います。 ただし、 .Fl l (listen モード) オプションを指定した場合は例外で、利用のみ行います。 情報の生成では、定期的に システムに状態を問い合わせ、ステータスメッセージを構築してネットワークに ブロードキャストします。情報の利用では、他の .Nm サーバからの状態メッセージを受け取り、検査してから、 .Pa /var/rwho ディレクトリの下のファイルに記録します。 .Pp .Fl i オプションは、安全ではないモードを有効にします。 このモードでは、 .Nm は入力パケットのソースポートを無視します。 .Pp +.Fl p +オプションは、 +.Nm +にすべての +.Dv POINTOPOINT +インタフェースを無視させます。 +要求時にダイヤルするインタフェースを常に活動状態にしたくない場合に有用です。 +.Pp .Fl l オプションを指定すると listen モードが有効になり、 .Nm は情報をブロードキャストしなくなります。 これにより、自分自身の情報をブロードキャストせずに他のマシンの .Nm 情報を監視することができます。 .Pp .Fl m オプションは、インタフェースの "ifnet" 構造体に IFF_MULTICAST フラグが 設定されている全てのインタフェース (ループバックインタフェースは 除きます) 上で、 .Nm に (ブロードキャストの代わりに) IP マルチキャストを使わせます。マルチキャストによる報告は、 直接つながっているサブネットへの転送を防ぐために TTL(Time To Live) 1で送られます。 .Pp オプションの .Ar ttl 引数が .Fl m フラグとともに与えられた時には、 .Nm は IP マルチキャストデータグラムを TTL が .Ar ttl として、 全てのインタフェースではなく 1 つのインタフェースに対して送ります。 .Ar ttl は 0 から 32 (または、MAX_MULTICAST_SCOPE) までの値です。 .Fl m Ar 1 は、 .Fl m とは異なることに注意してください。 .Fl m Ar 1 は、1 つのインタフェースにだけ転送を行います。 .Pp .Fl m フラグが、 .Ar ttl 引数無しで使われた場合、プログラムはマルチキャスト .Nm 報告を全ての マルチキャストが利用可能なインタフェースから受け取ります。 .Ar ttl 引数が与えられた場合は、マルチキャストレポートは 1 つのインタフェース からだけ受け取ります。その 1 つは、報告を行っているものです (これは、ホストルーティング表によって制御されます)。 .Fl m オプション無しでは、プログラムはブロードキャストもしくは ユニキャストによる報告を全てのインタフェースから受け取ります。 したがって、このプログラムは、古い報告をマルチキャストを使っていない .Nm から受け取り、マルチキャストが使われている場合は古い .Nm は このプログラムによって生成される報告を受け取れないことになります。 .Pp サーバは、``who'' サービスで指定されているポート番号でメッセージを 送受信します。 .Xr services 5 を参照して下さい。送受信するメッセージは以下のような形式です。 .Bd -literal -offset indent struct outmp { char out_line[8]; /* 端末 (tty) 名 */ char out_name[8]; /* ユーザID */ long out_time; /* 時刻 */ }; struct whod { char wd_vers; char wd_type; char wd_fill[2]; int wd_sendtime; int wd_recvtime; char wd_hostname[32]; int wd_loadav[3]; int wd_boottime; struct whoent { struct outmp we_utmp; int we_idle; } wd_we[1024 / sizeof (struct whoent)]; }; .Ed .Pp すべてのフィールドは、送信に先立ってネットワークバイトオーダに変換されます。 ホスト負荷 (load average) は .Xr w 1 によって計算され、送信の 5, 10, 15 分前の負荷を 100 倍した 整数として表現されます。ホスト名は、 .Xr gethostname 3 システムコールで得られたものがドメイン名を省略して格納されます。 メッセージの最後の配列には、メッセージを送信したマシンにログインしている ユーザの情報が格納されています。この情報は、 .Xr utmp 5 の非アイドルの端末ラインのエントリと、その端末ラインから最後に文字を 受け取った時間を秒数で表した値が入っています。 .Pp .Nm サーバによって受信されるメッセージは、 .Nm サーバのポートから送信されたものでないか、 .Fl i オプションが指定されていなければ捨てられます。さらにメッセージ のホストの名前が表示できない .Tn ASCII 文字を含んでいる場合も、メッセージは捨てられます。 .Nm が受け取った正しいメッセージは .Pa /var/rwho ディレクトリに .Pa whod.hostname というファイル名で格納されます。これらのファイルには、最新のメッセージ だけが、上で説明した形式で残っています。 .Pp ステータスメッセージはほぼ 3 分ごとに作成されます。 .Nm は、30 分ごとに .Pa /kernel に対して .Xr nlist 3 を実行します。これは、このファイルがその時点での実際のシステムイメージ であることを確認するためです。 .Sh 関連項目 .Xr ruptime 1 , .Xr rwho 1 .Sh バグ ネットワーク間でステータス情報を中継する方法が必要です。 ステータス情報は、ずっと送りつづけるのではなく、要求があったとき にだけ送るようにするべきでしょう。サーバが死んでいたり、ネットワークの 通信障害を、マシンがダウンしていると思い込んでしまう場合がよくあります。 .Sh 歴史 .Nm コマンドは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/shutdown.8 b/ja_JP.eucJP/man/man8/shutdown.8 index bb9a3c6bb6..5156fe9ef6 100644 --- a/ja_JP.eucJP/man/man8/shutdown.8 +++ b/ja_JP.eucJP/man/man8/shutdown.8 @@ -1,138 +1,167 @@ .\" Copyright (c) 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)shutdown.8 8.2 (Berkeley) 4/27/95 -.\" %Id: shutdown.8,v 1.9 1999/01/11 09:07:42 asami Exp % +.\" %Id: shutdown.8,v 1.9.2.1 1999/06/23 10:25:52 ru Exp % +.\" .\" jpman %Id: shutdown.8,v 1.2 1997/05/13 00:55:09 mutoh Stab % .\" .Dd Dec 11, 1998 .Dt SHUTDOWN 8 .Os BSD 4 .Sh 名称 .Nm shutdown .Nd 指定時刻にシステムを停止する .Sh 書式 .Nm shutdown -.Op Fl -.Op Fl hknpr +.Op Fl +.Oo +.Fl h | Fl p | +.Fl r | Fl k +.Oc +.Oo +.Fl o +.Op Fl n +.Oc .Ar time .Op Ar warning-message ... .Sh 解説 .Nm shutdown は、自動的にシャットダウンするための手順をスーパユーザに提供します。 システムがシャットダウンされるときユーザに知らせるので、 こういったお知せを面倒がって行なわない システム管理者やハッカーやグルといった人々から、ユーザを救います。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl h .Ar time -で指定された時間に -.Xr halt 8 -を実行し、システムを停止します。 +で指定された時間にシステムを停止します。 +.It Fl p +.Ar time +で指定された時間にシステムを停止し、電源をオフします +.Pq ハードウェアサポートが必要です +。 +.It Fl r +.Ar time +で指定された時間にシステムを再起動します。 .It Fl k 全ユーザを追い出します。 実際にはシステムを停止しませんが、 マルチユーザシステムのままでスーパユーザ以外のユーザをログインできなくします。 +.It Fl o +.Fl h , +.Fl p , +.Fl r +のいずれかひとつが指定された場合、 +.Nm +は +.Xr init 8 +へシグナルを送る代りに、 +.Xr halt 8 +または +.Xr reboot 8 +を実行します。 .It Fl n -停止する前に、通常実行される -.Xr sync 2 -を実行しません。 -.It Fl p -可能であれば、シャットダウン後にシステムは電源をオフします。 -.It Fl r -.Ar time -で指定した時刻に +.Fl o +オプションが指定されると、 +ファイルシステムキャッシュのフラッシュを防ぐために、 +.Fl n +オプションを +.Xr halt 8 +または .Xr reboot 8 -を実行し、システムを再起動します。 +に渡します。 +本オプションはおそらく使用すべきではありません。 .It Ar time .Nm がシステムを停止させる時間を指定します。 .Ar now を指定すると即時にシステムを停止します。 -また、時間を指定する次の二つの書式があります: +また、時間を指定する次の 2 つの書式があります: .Ar +number もしくは .Ar yymmddhhmm の形式です。現在のシステムの年・月・日の値がデフォルトになっています。 -一つめの書式は +1 つめの書式は .Ar number -分経過後をあらわし、二つめの書式は停止する時刻を直接指定します。 +分経過後をあらわし、2 つめの書式は停止する時刻を直接指定します。 .It Ar warning-message その他の引数は現在ログイン中のユーザに送る警告メッセージとして扱われます。 .It Fl もし .Ql Fl がオプションとして与えられると、警告メッセージを標準入力から読み取ります。 .El .Pp システム停止の 10 時間前から、ログイン中の全てのユーザの端末に 警告メッセージが表示されはじめ、終末が近付くにつれ頻繁になってきます。 システム停止の 5 分前、もしくは 5 分以内にシステム停止する場合には、 ただちに警告メッセージをコピーした .Pa /var/run/nologin が作られログインが禁止されます。 ユーザがログインしようとした際にこのファイルが存在する場合には、 .Xr login 1 はその内容を表示し終了します。このファイルは .Nm が終了する際に削除されます。 .Pp システム停止時には、システムを停止した時間、実行者、理由が -システムログに記録されます。その後、terminate シグナルが +システムログに記録されます。その後、対応するシグナルが .Xr init 8 -に送られ、システムをシングルユーザ状態にします(この動作は上記の -オプションに依存します)。 +に送られ、システムを停止、再起動、シングルユーザ状態のいずれかにします +(この動作は上記のオプションに依存します)。 システムを停止する時間と警告メッセージは .Pa /var/run/nologin に置かれます。これをユーザにシステムを再開する時間や、なぜシステムを 停止するかなどを知らせるために使うべきです。 .Sh 関連ファイル .Bl -tag -width /var/run/nologin -compact .It Pa /var/run/nologin login に誰にもログインさせないことを知らせます。 .El .Sh 関連項目 .Xr login 1 , .Xr wall 1 , .Xr nologin 5 , .Xr halt 8 , +.Xr init 8 , .Xr reboot 8 .Bd -literal -offset indent .Sh 以前との互換性 -以前との互換性のため、二つめの書式で時と分をコロン(``:'')で区切ることができます。 +以前との互換性のため、2 つめの書式で時と分をコロン (``:'') +で区切ることができます。 .Ed .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/spppcontrol.8 b/ja_JP.eucJP/man/man8/spppcontrol.8 index ee34ee692f..7de34da086 100644 --- a/ja_JP.eucJP/man/man8/spppcontrol.8 +++ b/ja_JP.eucJP/man/man8/spppcontrol.8 @@ -1,235 +1,233 @@ .\" Copyright (C) 1997 by Joerg Wunsch, Dresden .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS .\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" %Id: spppcontrol.8,v 1.4.2.1 1999/04/01 00:11:58 jdp Exp % .\" -.\" %Id: spppcontrol.1,v 1.3 1998/10/13 21:35:21 vanitas Stab % -.\" spppcontrol.8 was spppcontrol.1. .Dd October 11, 1997 .Os .Dt SPPPCONTROL 8 .Sh 名称 .Nm spppcontrol .Nd sppp インタフェースのパラメータの表示または設定 .Sh 書式 .Nm spppcontrol .Op Fl v .Ar ifname .Op Ar parameter Ns Op \&= Ns Ar value .Op Ar ... .Sh 解説 .Xr sppp 4 ドライバには、 .Xr ifconfig 8 にて調整可能な設定の他に、 多くの追加引数やオプションパラメータが必要となるかもしれません。 これらには、認証プロトコルのパラメータなどと、 他の調整可能なコンフィギュレーション変数があります。 .Nm ユーティリティは、現在の設定を表示したり、 これらのパラメータを必要に応じて調整するために使用可能です。 .Pp どのような用途においても、 .Nm 呼び出しにおいては、少なくともパラメータ .Ar ifname を指定して、インタフェースの名前を指定する必要があります。 このインタフェースに対して、設定がおこなわれるかまたは設定が表示されます。 .Xr ifconfig 8 または .Xr netstat 1 を使用して、どのインタフェースが使用可能かを確認してください。 .Pp 他にパラメータを指定しない場合、 .Nm は、 .Ar ifname の現在の設定を列挙 (list) して終了します。 報告される設定にはインタフェースの現在の PPP フェーズも含まれ、その名は .Em dead , .Em establish , .Em authenticate , .Em network , .Em terminate のうちの 1 つです。 認証プロトコルがインタフェースに対して設定されている場合、 使用するプロトコル名と、使用するまたは期待されるシステム名と、 そして認証プロトコルに対して使用可能なオプションがあればそれを表示します。 認証に使用する秘密情報 ( .Em キー とも呼ばれます) は、この機能が使用するシステムコールによって返されないため、 表示されません。 .Pp 追加のパラメータを指定する場合、スーパユーザの特権が必要になり、コマンドは .Ql 設定 (set) モードにて動作します。 オプション .Fl v が有効にならない限り、静かに動作します。 .Fl v を指定すると、他のすべての動作をおこなった後、 最後に上述のように設定を表示します。 インタフェースが現在 .Em dead フェーズ以外である場合、このモードを使用しようとしてもリジェクトされます。 インタフェースを強制的に .Em dead フェーズにするためには、 .Xr ifconfig 8 をパラメータ .Ql down 付きで呼び出せば良いことに注意してください。 .Pp 現在サポートされているパラメータには次のものがあります: .Bl -tag -offset indent -width indent .It Ar authproto Ns \&= Ns Em protoname 相手と自分の両方の認証プロトコルを .Em protoname に設定します。 プロトコル名は .Ql chap , .Ql pap , .Ql none のいずれかです。 最後の場合、 指定したインタフェースにおいて認証プロトコルは使用されなくなります。 この副作用として、 このインタフェースに関する認証関連の他のパラメータもまた消去されます (つまり、システム名と認証における秘密情報を忘れてしまいます)。 .It Ar myauthproto Ns \&= Ns Em protoname 上と同じですが、リンクの自分側にのみ作用します。 すわなち、 相手が認証者であり、かつ、 自分を認証してもらう必要がある場合に使用されるプロトコルです .It Ar hisauthproto Ns \&= Ns Em protoname 上と同じですが、リンクの相手側にのみ作用します。 .It Ar myauthname Ns \&= Ns Em name 認証プロトコルにおける自分のシステム名を設定します。 .It Ar hisauthname Ns \&= Ns Em name 認証プロトコルにおける相手のシステム名を設定します。 CHAP では、これはヒントとしてのみ使用され、 相手が違う名前を提供した場合には警告メッセージが表示されます。 PAP では、これは相手が相手自身であることを認めさせるときに使用すべき名前です (相手の秘密情報と関連があります)。 .It Ar myauthsecret Ns \&= Ns Em secret 認証フェーズにおいて使用する、自分の秘密情報 (キーとパスワード) を設定します。 CHAP では、これは相手のチャレンジに基づく 返答のハッシュ値を計算するために使用されます。 PAP では、これはシステム名とともにプレインテキストにて送信されます。 秘密情報にシェルのメタ文字 (や空白) を含む場合、 秘密情報をシェルからエスケープすることを忘れないようにしてください。 .It Ar myauthkey Ns \&= Ns Em secret 上と同様です。 .It Ar hisauthsecret Ns \&= Ns Em secret 上と同様ですが、 自分が認証者であり、かつ相手を認証する必要がある場合に使用されます。 .It Ar hisauthkey Ns \&= Ns Em secret 上と同様です。 .It Ar callin 相手から呼び出されるときにのみ、相手を認証する必要があり、 自分が呼び出す場合には不要であることを示します。 相手が対称的な認証プロトルを実装していない場合に、必要となります (例えば Ascend ルータ)。 .It Ar always .Ar callin の逆です。どちらが呼び出す場合でも、 常に相手を認証する必要があることを示します。 これがデフォルトであり、 .Ql list モードでは明示的に表示されません。 .It Ar norechallenge CHAP でのみ意味があります。 最初に CHAP 交換が成功したならば、相手に再チャレンジしません。 相手の実装が壊れていて、 接続が確立した後の再チャレンジを認識しない場合、対処として使用します。 .It Ar rechallenge CHAP において、接続がネットワークフェーズである間、 ランダムな間隔にて再チャレンジを送信します。 (現在、間隔は 300 からおよそ 800 秒です。) これがデフォルトであり、 .Ql list モードでは明示的に表示されません。 .El .Sh 使用例 .Bd -literal # spppcontrol bppp0 bppp0: phase=dead myauthproto=chap myauthname="uriah" hisauthproto=chap hisauthname="ifb-gw" norechallenge .Ed .Pp bppp0 の設定を表示します。 インタフェースは、現在 .Em dead フェーズ、つまり LCP 層はダウンしているため、通信できません。 接続の両端は CHAP プロトコルを使用し、 当方のシステム名は .Ql uriah であるとリモート側に対して告げ、 リモート側は .Ql ifb-gw という名前で認証されると期待されます。 最初の CHAP 交換が成功すると、更なる CHAP チャレンジは送信されません。 おそらく CHAP に関する双方の秘密情報があるでしょうが、それらは表示されません。 .Pp .Bd -literal # spppcontrol bppp0 \e authproto=chap \e myauthname=uriah myauthsecret='some secret' \e hisauthname=ifb-gw hisauthsecret='another' \e norechallenge .Ed .Pp インタフェースを前の例の状態にするために、このように .Nm を呼び出したかもしれません。 .Sh 関連項目 .Xr netstat 1 , .Xr sppp 4 , .Xr ifconfig 8 .Rs .%A B. Lloyd, W. Simpson .%T "PPP Authentication Protocols" .%O RFC 1334 .Re .Rs .%A W. Simpson, Editor .%T "The Point-to-Point Protocol (PPP)" .%O RFC 1661 .Re .Rs .%A W. Simpson .%T "PPP Challenge Handshake Authentication Protocol (CHAP)" .%O RFC 1994 .Re .Sh 歴史 .Nm ユーティリティは .Fx 3.0 に登場しました。 .Sh 作者 プログラムの記述を .ie t J\(:org Wunsch, .el Joerg Wunsch, Dresden がおこないました。 diff --git a/ja_JP.eucJP/man/man8/vipw.8 b/ja_JP.eucJP/man/man8/vipw.8 index 7aa13c6ccf..abe293afaa 100644 --- a/ja_JP.eucJP/man/man8/vipw.8 +++ b/ja_JP.eucJP/man/man8/vipw.8 @@ -1,89 +1,100 @@ .\" %NetBSD: vipw.8,v 1.4 1995/01/20 19:19:56 mycroft Exp % .\" .\" 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. .\" .\" @(#)vipw.8 8.1 (Berkeley) 6/6/93 .\" jpman %Id: vipw.8,v 1.2 1997/04/10 02:03:18 mutoh Stab % .\" .Dd June 6, 1993 .Dt VIPW 8 .Os BSD 4 .Sh 名称 .Nm vipw .Nd パスワードファイルの編集 .Sh 書式 .Nm vipw +.Op Fl d Ar directory .Sh 解説 .Nm は、適切なロックをしてパスワードファイルの編集を行い、 ロックを解除した後で必要な処理を行います。すでに他のユーザによって パスワードファイルが編集中でロックされていた場合には、 .Nm は後で再度実行するように知らせます。 デフォルトでは、 .Xr vi 1 がエディタとして使用されます。 .Pp +オプションを指定せずに実行すると、 +.Nm +は +.Pa /etc +のパスワードファイルに対して動作します。 +.Fl d +オプションを使用することにより、別の +.Ar directory +に対して動作させることが可能です。 +.Pp .Nm はパスワードファイルエントリの多くの整合性をチェックし、「間違った」エントリを 含むパスワードファイルがインストールされないようにします。 間違っていた場合にはユーザに再編集を要求します。 .Pp パスワードファイルの情報が正しいことが確かめられると、 .Nm は .Xr pwd_mkdb 8 を使ってデータベースを更新します。これはバックグラウンドで行なわれ、 大きなサイトでは数分かかります。 この更新が終了するまで、他でパスワードファイルを更新したり、 新しい情報をプログラムで利用することはできません。 .Sh 環境変数 以下の環境変数が .Nm で参照されます。 .Bl -tag -width EDITOR .It Ev EDITOR 起動するエディタを指定します。指定がなければ .Xr vi 1 を使用します。 .El .Sh 関連項目 .Xr chpass 1 , .Xr passwd 1 , .Xr passwd 5 , .Xr adduser 8 , .Xr pwd_mkdb 8 .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/vmstat.8 b/ja_JP.eucJP/man/man8/vmstat.8 index 37e28d671d..245b11401c 100644 --- a/ja_JP.eucJP/man/man8/vmstat.8 +++ b/ja_JP.eucJP/man/man8/vmstat.8 @@ -1,315 +1,316 @@ .\" Copyright (c) 1986, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)vmstat.8 8.1 (Berkeley) 6/6/93 -.\" %Id: vmstat.8,v 1.10 1998/09/15 08:16:43 gibbs Exp % +.\" %Id: vmstat.8,v 1.10.2.1 1999/06/06 14:28:50 kris Exp % +.\" .\" jpman %Id: vmstat.8,v 1.2 1997/05/29 07:57:00 yugawa Stab % .\" .Dd June 6, 1996 .Dt VMSTAT 8 .Os BSD 4 .Sh 名称 .Nm vmstat .Nd 仮想メモリの統計情報を報告する .Sh 書式 .Nm vmstat .\" .Op Fl fimst .Op Fl ims .Op Fl c Ar count .Op Fl M Ar core .Op Fl N Ar system .Op Fl w Ar wait .Op Fl n Ar devs .Op Fl p Ar type,if,pass .Op Ar disks .Sh 解説 .Nm は、プロセス、仮想メモリ、ディスク、トラップ、CPU の活動状況 などについてカーネルが持っている統計情報を報告します。 .Pp オプション: .Bl -tag -width indent .It Fl c 表示を .Ar count 回繰り返します。 最初の表示はリブート時からの統計で、 その後の表示は直前の表示から現在までの間の統計です。 繰り返し回数 .Ar count を指定せず、 .Fl w を指定しないと、デフォルトは無限になります。 そうでない場合、デフォルトは 1 になります。 .\" .It Fl f .\" システムが起動してからの .\" .Xr fork 2 .\" と .\" .Xr vfork 2 .\" システムコールの回数と、それぞれのシステムコールで使われた .\" 仮想メモリのページ数を表示します。 .It Fl i システムが起動してから各デバイスで起こった割り込みの回数を表示します。 .It Fl M 名前に関するリストから値を取り出す際に、デフォルトの .Pa /dev/kmem の代わりに指定された .Ar core を使います。 .It Fl N 名前のリストを取り出す際に、デフォルトの .Pa /kernel の代わりに指定された .Ar system を使います。 .It Fl m カーネルの動的メモリの利用状況について、確保したサイズ、利用のタイプの 順で一覧にして表示します。 .It Fl n 表示する最大ディスク数を、デフォルトの 3 から変更します。 .It Fl p どのタイプのデバイスを表示するのかを指定します。 3 種類のカテゴリのデバイスがあります: .Bl -tag -width indent -compact .It デバイスタイプ: .Bl -tag -width 123456789 -compact .It da ダイレクトアクセス .It sa シーケンシャルアクセスデバイス .It printer プリンタ .It proc プロセッサデバイス .It worm ライトワンスリードマルチプルデバイス .It cd CD デバイス .It scanner スキャナデバイス .It optical オプティカルメモリデバイス .It changer メディアチェンジャデバイス .It comm コミュニケーションデバイス .It array ストレージアレイデバイス .It enclosure エンクロージャサービスデバイス .It floppy フロッピデバイス .El .Pp .It インタフェース: .Bl -tag -width 123456789 -compact .It IDE Integrated Drive Electronics デバイス .It SCSI Small Computer System Interface デバイス .It other その他のデバイス .El .Pp .It パススルー: .Bl -tag -width 123456789 -compact .It pass パススルーデバイス .El .El .Pp ユーザは少なくとも 1 つのデバイスタイプを指定する必要があり、 各カテゴリにおいては最大 1 つのデバイスタイプを指定可能です。 1 つのデバイスタイプ文に複数のデバイスタイプを指定するには、 コンマで区切ります。 .Pp コマンドライン上では、 .Fl p 引数をいくつ指定してもかまいません。 .Fl p 引数はすべて OR がとられ、 システム内の全デバイスが対象となる比較式が形成されます。 いずれかの .Fl p 引数に完全に合致するデバイスは、 .Nm の出力に含まれます。 ただし、3 デバイスもしくはユーザが指定した最大デバイス数の範囲に限られます。 .It Fl s .Em sum 構造体の内容を表示し、システムが起動してから起こったいくつかの 種類のページング関連のイベントの合計を報告します。 .\" .It Fl t .\" システムが起動してからのページインと際利用されたページ数、 .\" それぞれが要求した時間の合計を表示します。 .It Fl w 各表示の間で、 .Ar wait 秒停止します。 停止間隔 .Ar wait を指定していなければ、デフォルトは 1 秒になります。 .El .Pp デフォルトでは、 .Nm は以下の情報を表示します。 .Pp .Bl -tag -width indent .It procs 以下の各状態でのプロセス数に関する情報 .Pp .Bl -tag -width indent -compact .It r 実行待ち行列にある状態 .It b リソース確保 (i/o やページングなど) のためにブロックされている状態 .It w 実行可能または短期間のスリープ中 (20 秒以内) であるが、スワップされている状態 .El .It memory 仮想メモリと実メモリの使用状況に関する情報を表示します。 実行中または最近 20 秒間で実行されたプロセスに属する仮想ページ (1024 バイト単位で表示される) は、アクティブであるとみなします。 .Pp .Bl -tag -width indent -compact .It avm アクティブな仮想ページ .It fre フリーリストのサイズ .El .It page ページフォルトとページングの活動状況に関する情報を表示します。 これらは 5 秒間の平均として、秒単位で表示します。 .Pp .Bl -tag -width indent -compact .It flt ページフォルトの総数 .It re 要求されたページ数 (参照ビットをシミュレート) .\" .It at .\" アタッチされたページ数(フリーリストの中から見つけ出されたもの) .It pi ページインされたページ数 .It po ページアウトされたページ数 .It fr 秒単位の開放されたページ数 .\" .It de .\" 予期される短期的なメモリ不足 .It sr クロックアルゴリズムによってスキャンされたページ数 (秒単位) .El .It disks 秒単位のディスク操作に関する情報 (このフィールドはシステム依存です)。 通常、ページングは使用可能なドライブにまたがって分割されます。 このフィールドのヘッダは、ディスク名の最初の 2 文字とユニット番号です。 システムが 3 つ以上のディスクドライブを扱うように設定されている場合、 .Nm は最初の 3 つのドライブしか表示しません。 ただし、ユーザが .Fl n 引数を指定して表示するデバイス数を増した場合は別です。 この場合、表示が 80 桁を越えてしまうかもしれません。 .Nm で特定のドライブを表示するには、コマンド行でドライブ名を指定します。 デフォルトでは、 .Nm はディスクを最初に、 それからシステム内の他の様々なランダムデバイスを合計 3 つまで、 もしあれば表示します。 デバイスをコマンドラインで指定した場合、 もしくはデバイスタイプが合致するパターンが指定された場合 (前述)、 .Nm は指定されたデバイスもしくはパターンに合致するデバイスのみを表示し、 システム内の他のデバイスをランダムに選択するということはありません。 .It faults 最近 5 秒間のトラップ/割り込みの平均レート (秒単位)。 .Pp .Bl -tag -width indent -compact .It in デバイス割り込み (クロック割り込みを含む) の回数 .It sy システムコールの回数 .It cs cpu のコンテキストスイッチの回数 .El .It cpu CPU 使用時間の内訳 (%) .Pp .Bl -tag -width indent -compact .It us 通常およびそれより低い優先度のプロセスのユーザ時間 .It sy システム時間 .It id CPU アイドル時間 .El .El .Sh 使用例 コマンド: .Dl vmstat -w 5 は、システムがどのように動作しているかを 5 秒おきに表示します。 5 秒おきにサンプリングされている統計情報があるため、 この間隔で表示するのがちょうどよいです。 その他の統計情報は 1 秒毎に変化します。 しばらく出力を続ければ、どれが毎秒計算し直されているかがわかるでしょう。 .Pp コマンド: .Dl vmstat -p da -p cd -w 1 は、ダイレクトアクセスデバイスもしくは CDROM デバイスから最初の 3 つの デバイスを選択し、 他のシステム統計情報と同様に、 毎秒これらのデバイスの統計情報を表示します。 .Sh 関連ファイル .Bl -tag -width /dev/kmemxxx -compact .It Pa /kernel デフォルトのカーネル名前リスト .It Pa /dev/kmem デフォルトのメモリファイル .El .Sh 関連項目 .Xr fstat 1 , .Xr netstat 1 , .Xr nfsstat 1 , .Xr ps 1 , .Xr systat 1 , .Xr iostat 8 , .Xr pstat 8 .Pp .%T "Installing and Operating 4.3BSD" の ``Interpreting system activity'' で始まるセクション .Sh バグ .Fl c と .Fl w オプションは、デフォルトの出力を行うときにのみ有効です。