diff --git a/ja_JP.eucJP/man/man1/at.1 b/ja_JP.eucJP/man/man1/at.1 index 18a10fb2ab..43e5670f7e 100644 --- a/ja_JP.eucJP/man/man1/at.1 +++ b/ja_JP.eucJP/man/man1/at.1 @@ -1,341 +1,343 @@ -.\" %FreeBSD: src/usr.bin/at/at.man,v 1.31 2002/08/13 16:07:26 ru Exp % +.\" %FreeBSD: src/usr.bin/at/at.man,v 1.32 2002/11/26 17:55:41 ru Exp % .\" $FreeBSD$ .Dd January 13, 2002 .Dd April 12, 1995 .Dt "AT" 1 .Os .Sh 名称 .Nm at , .Nm batch , .Nm atq , .Nm atrm .Nd あとでジョブを実行させるためのキューの設定、確認、ジョブの削除を行なう .Sh 書式 .Nm at .Op Fl q Ar queue .Op Fl f Ar file .Op Fl mldbv .Ar time .Nm at .Op Fl q Ar queue .Op Fl f Ar file .Op Fl mldbv .Fl t .Sm off .Op Oo Ar CC Oc Ar YY .Ar MM DD hh mm Op . Ar SS .Sm on .Nm at .Fl c Ar job Op Ar job ... .Nm at .Fl l Op Ar job ... .Nm at .Fl l .Fl q Ar queue .Nm at .Fl r Ar job Op Ar job ... .Pp .Nm atq .Op Fl q Ar queue .Op Fl v .Pp .Nm atrm .Ar job .Op Ar job ... .Pp .Nm batch .Op Fl q Ar queue .Op Fl f Ar file .Op Fl mv .Op Ar time .Sh 解説 .Nm at と .Nm batch は、標準入力もしくは指定したファイルからコマンドを読み 込み、あとで .Xr sh 1 を使って実行します。 .Bl -tag -width indent .It Nm at コマンドを、引数で指定した時間に実行します。 .It Nm atq ユーザの、実行待ち状態のジョブのリストを表示します。 スーパユーザが実行した場合は全員のジョブが表示されます。 .It Nm atrm 指定したジョブを削除します。 .It Nm batch ロードアベレージが特定の値以下になったときにジョブを実行 します。この値は、デフォルトでは 1.5 です。 この値は .Nm atrun によって指定可能です。 .El .Pp .Nm at では、様々な形式の時間を .Ar time として受け付けます。 時刻は .Ar HHMM もしくは .Ar HH:MM の形で指定します (もしこの時刻が過ぎていた場合は、次の日のその時刻に設定されます)。 また、 .Em midnight , .Em noon , .Em teatime (4pm) のキーワードも受け付けますし、時刻の後ろに .Em AM もしくは .Em PM をつけた時間も受け付けます。 日付は、 .Ar \%month-name day およびオプションの .Ar year の形で受け付けます。 .Ar DD.MM.YYYY , .Ar DD.MM.YY , .Ar MM/DD/YYYY , .Ar MM/DD/YY , .Ar MMDDYYYY , .Ar MMDDYY も受け付けます。 日付の指定は時刻の指定の後に記述します。 .Op Em now .Em + Ar count \%time-units のような形式で時間を指定することも可能です。time-units は時間の単位で、 .Em minutes , .Em hours , .Em days , .Em weeks のいずれかです。時間のサフィックスの .Em today はジョブを今日に設定すること、 .Em tomorrow はジョブを明日に設定することを意味します。 .Pp 例えば、今から 3 日後の午後 4 時にジョブを走らせるためには .Nm at Ar 4PM + 3 days とします。7 月 31 日の午前 10 時の場合は .Nm at Ar 10am Jul 31 とします。明日の午前 1 時は .Nm at Ar 1am tomorrow です。 .Pp .Nm at -ユーティリティは、\*[Px] 時刻書式 ( +ユーティリティは、 +.Tn POSIX +時刻書式 ( .Fl t オプションを参照してください) もサポートしています。 .Pp .Nm at と .Nm batch はどちらも、標準入力または .Fl f オプションで指定したファイルからコマンドを読み込み、実行します。 ワーキングディレクトリと環境変数 ( .Ev TERM , .Ev TERMCAP , .Ev DISPLAY および .Em _ は除く)、umask は実行時のものが保持されます。 .Nm at もしくは .Nm batch が .Xr su 1 で起動されたシェルから実行された場合は、カレントの userid を保持します。 出力結果が得られた場合は、 その標準出力と標準エラー出力がメールで送られます。メールは .Xr sendmail 8 を使って送られます。もし .Nm at が .Xr su 1 で起動されたシェルから実行された場合は、そのログインシェルの所有者が メールを受けることになります。 .Pp スーパユーザはどんな場合でもこれらのコマンドを実行できます。 その他のユーザは .Pa /var/at/at.allow と .Pa /var/at/at.deny のファイルによって .Nm を実行できるか決められます。 .Pp もし .Pa /var/at/at.allow が存在するならば、その中にユーザ名を記述されたユーザだけが .Nm at の実行を許可されます。 .Pp もし .Pa /var/at/at.allow が存在しなければ、 .Pa /var/at/at.deny がチェックされ、その中にユーザ名が記述されていないすべてのユーザが .Nm at の実行を許可されます。 .Pp もし両方ともなければ、スーパユーザだけが .Nm at を実行できます。 これがデフォルトの設定です。 .Pp 空の .Pa /var/at/at.deny は全てのユーザがこれらのコマンドを使用できることを意味します。 .Sh 実装に関する注 .Nm の実装は、 .Xr atrun 8 を 5 分毎に呼び出す .Xr cron 8 デーモンを通じて実装されていることに注意してください。 これは、 .Nm の粒度がすべての用途において最適ではないかもしれないことを意味します。 より細かい粒度が必要な場合、システムの crontab .Pa /etc/crontab を変更してください。 .Sh オプション .Bl -tag -width indent .It Fl q Ar queue 指定したキューを用います。キューの名称は単一の文字からなります。 有効なキューの名前は .Ar a から .Ar z と .Ar A から .Ar Z です。 .Nm at のデフォルトのキューは .Ar c で、 .Nm batch のデフォルトのキューは .Ar E です。 キューの文字が後の方であればあるほど nice 値が上がります。 もし大文字のキューがジョブに対して指定されたならば、時間を指定して batch が実行されたものとして扱われます。 もし .Nm atq でキューが指定されたときは、そのキューだけの実行待ちのジョブを表示します。 .It Fl m 出力がなかった場合でも、ジョブの完了時にメールをユーザに送ります。 .It Fl f Ar file 標準入力のかわりにファイルからジョブを読み込みます。 .It Fl l 引数無しの場合、起動したユーザの全ジョブを表示します。 1 個以上のジョブ番号を指定した場合、それらのジョブのみを表示します。 .It Fl d .Nm atrm の別名 (本オプションは価値が低下しています。 代りに .Fl r を使用してください)。 .It Fl b .Nm batch の別名。 .It Fl v .Nm atq の場合は、キューの中の実行されたがまだ削除されていないジョブを 表示します。さもなければジョブが実行される時間を表示します。 .It Fl c コマンドラインにリストされたジョブを標準出力に出力します。 .It Fl r 指定したジョブを削除します。 .It Fl t \*[Px] 時刻書式を使用して、ジョブの時刻を指定します。 引数の書式は .Sm off .Op Oo Ar CC Oc Ar YY .Ar MM DD hh mm Op . Ar SS .Sm on という形式であることが必要であり、各文字の組は以下の意味です: .Pp .Bl -tag -width indent -compact -offset indent .It Ar CC 年の最初の 2 桁 (世紀)。 .It Ar YY 年の次の 2 桁。 .It Ar MM 月であり 1 から 12 です。 .It Ar DD 日であり 1 から 31 です。 .It Ar hh 時間であり、0 から 23 です。 .It Ar mm 分であり、0 から 59 です。 .It Ar SS 秒あり、0 から 61 です。 .El .Pp .Ar CC および .Ar YY の文字の組が指定されない場合、今年を意味します。 .Ar SS の文字の組が指定されない場合、値は 0 になります。 .El .Sh 関連ファイル .Bl -tag -width /var/at/jobs/.lockfile -compact .It Pa /var/at/jobs ジョブファイルを保管しておくディレクトリ .It Pa /var/at/spool 出力ファイルを保管しておくディレクトリ .It Pa /var/run/utmp ログインレコード .It Pa /var/at/at.allow 許可属性の設定 .It Pa /var/at/at.deny 不許可属性の設定 .It Pa /var/at/jobs/.lockfile ジョブ作成のロックファイル .El .Sh 関連項目 .Xr nice 1 , .Xr sh 1 , .Xr umask 2 , .Xr atrun 8 , .Xr cron 8 , .Xr sendmail 8 .Sh バグ .Pa /var/run/utmp が利用できないか不正であった場合、もしくは .Nm at が実行された時にユーザがログインしていない場合、 環境変数 .Ev LOGNAME で表される userid にメールが送られます。 もし定義されていないか空ならばカレントの userid になります。 .Pp ユーザ同士でリソースの競合がある場合は現実装の .Nm at と .Nm batch は適当ではありません。 もしこのような場合にあてはまるのなら、 .Em nqs のような他のバッチシステムを検討してください。 .Pp 2038 年以降の日付を指定しても動作しないシステムがあるかもしれません。 .Sh 作者 at のほとんどの部分は .An Thomas Koenig Aq ig25@rz.uni-karlsruhe.de が作成しました。 時間の構文解析部分は .An David Parsons Aq orc@pell.chi.il.us が作成し、 .An Joe Halpin Aq joe.halpin@attbi.com が少し拡張しました。 diff --git a/ja_JP.eucJP/man/man1/calendar.1 b/ja_JP.eucJP/man/man1/calendar.1 index a7e2a606be..8e160fa06a 100644 --- a/ja_JP.eucJP/man/man1/calendar.1 +++ b/ja_JP.eucJP/man/man1/calendar.1 @@ -1,256 +1,274 @@ .\" 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. .\" .\" @(#)calendar.1 8.1 (Berkeley) 6/29/93 -.\" %FreeBSD: src/usr.bin/calendar/calendar.1,v 1.32 2002/08/14 11:32:32 ru Exp % +.\" %FreeBSD: src/usr.bin/calendar/calendar.1,v 1.33 2002/11/19 00:30:38 grog Exp % .\" $FreeBSD$ .\" .Dd June 13, 2002 .Dt CALENDAR 1 .Os .Sh 名称 .Nm calendar .Nd 予定表サービス .Sh 書式 .Nm calendar .Op Fl a .Op Fl A Ar num .Op Fl B Ar num .Op Fl F Ar friday .Op Fl f Ar calendarfile .Oo .Bk -words .Fl t Ar dd Ns .Sm off .Op . Ar mm Op . Ar year .Sm on .Ek .Oc .Op Fl W Ar num .Sh 解説 .Nm ユーティリティは、カレントディレクトリの .Pa calendar という名前のファイルをチェックし、今日もしくは明日の日付で始まる行を 表示します。 週末の前日 (通常は金曜日) には、3 日間分のイベントを表示します。 .Pp オプションには以下のものがあります: .Bl -tag -width Ds .It Fl A Ar num 今日から .Ar num 日先(未来)までの行を表示します。 .It Fl a 全ユーザの ``calendar'' ファイルを処理し、結果をメールで各ユーザに 送ります。このオプションを使用するためには、スーパユーザの権限が必要です。 .It Fl B Ar num 今日から .Ar num 日前 (過去) までの行を表示します。 .It Fl F Ar friday どの日が ``金曜日'' (週末が始まる前日) かを指定します 。 デフォルトは 5 です。 .It Fl f Pa calendarfile デフォルトのカレンダファイルとして .Pa calendarfile を使用します。 .It Xo Fl t .Sm off .Ar dd .Op . Ar mm Op . Ar year .Sm on .Xc テスト専用: 指定された値に日付を設定します。 .It Fl W Ar num 今日から次の .Ar num 日 (未来方向) は線を表示します。 日数を数えるにあたり、週末は無視します。 .El .Pp 各国語でのカレンダを扱うには、 カレンダファイルのできるだけ最初のほうに .Dq LANG= という記述を入れておきます。 その国のカレンダでのイースター名を扱うには、 .Dq Easter= (Catholic Easter の場合) あるいは .Dq Paskha= (Orthodox Easter の場合) という記述を入れます。 .\" ↑ catholic easter, orthodox easter の訳がわからないのでそのままに .\" してあります。どなたか分かる方、修正して下さい。 (J.Sakai) .Pp 各行は月や日で始まらなければなりません。 数字による表記、文字による表記を含め、ほぼいかなる形式でも受け付けます。 適切な locale が設定されていれば、 その国の月表記や曜日表記も使用できます。 アスタリスク (``*'') 1 つは、全ての月にマッチします。 曜日だけで月の指定のないものは、毎週のその曜日にマッチします。 月だけの指定で日のないものは、その月の 1 日 (ついたち) にマッチします。 .\" ↓原文と若干異なるがこの意味であっていると思う (J.Sakai) 日の指定の後に 2 桁の数字が来た場合は、この数字が月の指定とみなされます。 .\" 原文は "Two numbers default to the month followed by the day." タブではじまる行は直前に指定した日にちが指定されたことになり、 これによって同一日のイベントを複数の行に記述することが出来ます。 .Pp ``Easter'' は今年のイースターであり、 正または負の整数を後ろにつけることができます。 .Pp ``Paskha'' は今年の Orthodox Easter であり、 正または負の整数を後ろにつけることができます。 .Pp 曜日の後ろには ``-4'' ... ``+5'' をつけることができます。 これらは「最後」「第 1」「第 2」「第 3」「第 4」の別名であり、 「4 月の最後の月曜日」といった日付が変動するイベントの記述に用いられます。 .Pp 慣習により、日付の後にアスタリスクが付いているイベントは 決まった日にちではなく、その年によって日にちが変わります。 .Pp イベントの内容は行の中の最初のタブ文字以降に記述します。 行の中にタブ文字がなければイベント内容は表示されません。 行の中の最初の文字がタブである場合、 その行は直前の行の継続行として扱われます。 .Pp ``calendar'' ファイルは .Xr cpp 1 によって処理されます。例えば、その会社の休日やミーティングの予定などの 共有ファイルを include することができます。 共有ファイルがフルパス名指定されない場合、 .Xr cpp 1 はまずカレントディレクトリ (もしくはホームディレクトリ) を参照し、 次に .Pa /usr/share/calendar ディレクトリを参照します。空行や C のコメント .Pq Li /* ... */ の部分は無視されます。 .Pp calendar ファイルの例を示します (タブ文字 は強調した \fB\et\fR で示します): .Bd -unfilled -offset indent LANG=C Easter=Ostern #include #include 6/15\fB\et\fR6月15日 (曖昧だと、デフォルトでは 月/日になります). Jun. 15\fB\et\fR6月15日. 15 June\fB\et\fR6月15日. Thursday\fB\et\fR毎週木曜日. June\fB\et\fR毎年6月1日. 15 *\fB\et\fR毎月15日. May Sun+2\fB\et\fR5月の第2日曜日 (母の日) 04/SunLast\fB\et\fR4月の最後の日曜日, \fB\et\fR欧州のサマータイム Easter\fB\et\fRイースター Ostern-2\fB\et\fRGood Friday (イースターの 2 日前) Paskha\fB\et\fROrthodox Easter .Ed .Sh 関連ファイル .Bl -tag -width calendar.christian -compact .It Pa calendar カレントディレクトリにあるカレンダファイル。 .It Pa ~/.calendar .Pa カレンダ のホームディレクトリ。 もしこのディレクトリが存在すれば、 そこに chdir します。 .It Pa ~/.calendar/calendar カレントディレクトリにカレンダファイルが存在しない場合に 用いるカンレダファイル。 .It Pa ~/.calendar/nomail このファイルが存在すればメールは送信しません。 .El .Pp デフォルトのカレンダファイルとして、以下のものが用意されています: .Pp -.Bl -tag -width calendar.christian -compact +.Bl -tag -width calendar.southafrica -compact +.It Pa calendar.all +すべてのデフォルトファイルをインクルードするファイル。 +.It Pa calendar.australia +オーストラリアの記念日。 .It Pa calendar.birthday 有名な人 (およびそれほど有名でない人) の誕生日や没日。 .It Pa calendar.christian キリスト教の休暇。 このカレンダは、その年にあうように、 システム管理者が毎年更新する必要があります。 .It Pa calendar.computer コンピュータ関連の人が知っておきたい記念日。 +.It Pa calendar.croatian +クロアチアの記念日。 .It Pa calendar.freebsd .Fx コミッタの誕生日。 +.It Pa calendar.french +フランスの記念日。 +.It Pa calendar.german +ドイツの記念日。 .It Pa calendar.history その他いろいろ。主にアメリカの歴史的な記念日。 .It Pa calendar.holiday その他の記念日。あまり知られていないものや、全く知られていないものも 含まれています。 .It Pa calendar.judaic ユダヤ教の休暇。 このカレンダは、その年にあうように、 システム管理者が毎年更新する必要があります。 .It Pa calendar.music 音楽関係の記念日。誕生日、没日。特にロックンロール系。 .It Pa calendar.usholiday アメリカの記念日。 このカレンダは、その年にあうように、 システム管理者が毎年更新する必要があります。 .It Pa calendar.french フランスのカレンダ。 .It Pa calendar.german ドイツのカレンダ。 +.It Pa calendar.newzealand +ニュージーランドの記念日。 .It Pa calendar.russian ロシアのカレンダ。 +.It Pa calendar.southafrica +南アフリカの記念日。 +.It Pa calendar.usholiday +アメリカ合衆国固有の祝日。 +.It Pa calendar.world +各国のカレンダファイル以外すべてをインクルード。 .\" 日本のカレンダーも標準配布されるようになれば、 .\" 以下のような行を追加しないとね。 (J.Sakai) .\" .It Pa calendar.japan .\" 日本の暦 .El .Sh 関連項目 .Xr at 1 , .Xr cpp 1 , .Xr mail 1 , .Xr cron 8 .Sh 互換性 以前の .Nm は、正しい日付であれば、行のどこにあっても認識するように プログラムされていましたが、本バージョンの .Nm は、行の先頭にある日付しか認識しません。 .Sh 歴史 .Nm コマンドは Version 7 AT&T UNIX から登場しました。 .Sh バグ ユダヤの祝日や月齢は .Nm ユーティリティでは処理できません。 diff --git a/ja_JP.eucJP/man/man1/cdcontrol.1 b/ja_JP.eucJP/man/man1/cdcontrol.1 index 742c2fe920..9707178188 100644 --- a/ja_JP.eucJP/man/man1/cdcontrol.1 +++ b/ja_JP.eucJP/man/man1/cdcontrol.1 @@ -1,194 +1,196 @@ -.\" %FreeBSD: src/usr.sbin/cdcontrol/cdcontrol.1,v 1.36 2002/10/18 22:03:38 njl Exp % +.\" %FreeBSD: src/usr.sbin/cdcontrol/cdcontrol.1,v 1.37 2002/11/27 15:31:07 ru Exp % .\" .\" $FreeBSD$ .\" .Dd May 8, 2002 .Dt CDCONTROL 1 .Os .Sh 名称 .Nm cdcontrol .Nd コンパクトディスク制御ユーティリティ .Sh 書式 .Nm cdcontrol .Op Fl sv .Op Fl f Ar device .Op Ar command ... .Sh 解説 .Nm ユーティリティはオーディオ CD プレイヤーを操作するためのプログラムです。 device には .Pa cd0 や .Pa mcd0 などを指定します。 .Pp .Ar command を指定しない場合、 .Nm は対話モードになり、標準入力からコマンドを読み込みます。 .Pp 以下のオプションを使用可能です。 .Bl -tag -width indent .It Fl s サイレントモード。 テーブルヘッダ及び人間が可読なコメントを表示しません。 .It Fl v 冗長モード。 表示できる情報は全て表示します。 .It Fl f Ar device .Pa /dev/cd0c や .Pa mcd0 といったデバイスを指定します。 絶対パス及び .Pa /dev からの相対パスの指定が可能です。 必要ならば最後に .Pa c を追加します。 .El .Pp 現時点では以下のコマンドが利用できます。 コマンドをユニークに特定できるために必要な文字だけ指定する 必要があります。 語 .Ic play は省略可能であり、 .Ic next と .Ic prev の代りに文字 .Ic + と .Ic - を使用可能です。 .Bl -tag -width indent .It Ic play Ar first_track Op Ar last_track .Ar first_track で指定されたトラックから .Ar last_track で指定されたトラックまで演奏します。最初のトラックが1番になります。 .It Xo .Ic play .Ar start_m : Ns Ar start_s . Ns Ar start_f .Op Ar end_m : Ns Ar end_s . Ns Ar end_f .Xc 絶対アドレス (MSF) を元に演奏します。演奏開始する時間は .Ar start_m に演奏開始する分を、 .Ar start_s に秒を、 .Ar start_f にはフレーム番号を指定します。演奏終了の時間は .Ar end_m に演奏終了する分を、 .Ar end_s, に秒を、 .Ar end_f にフレーム番号を指定することで指定できます。分指定で指定できる数値は 0 から 99 の範囲の値です。秒には 0 から 59 までが指定できます。フレーム 番号は 0 から 74 までの範囲で指定できます。 .It Ic play Op # Ns Ar start_block Op Ar length 論理ブロック .Ar start_block から .Ar length 論理ブロック分だけ演奏します。 .It Ic next Op Ar tracks 指定した数のトラックを、前向きにスキップします (デフォルト 1)。 .It Ic prev Op Ar tracks 指定した数のトラックを、後向きにスキップします (デフォルト 1)。 .It Ic pause 演奏を停止します。ディスクは停止しません。 .It Ic resume 演奏を再開します。 .Ic pause で一時停止した後に使います。 .It Ic stop ディスクを停止します。 .It Ic eject ディスクを取り出します。 .It Ic close ディスクを挿入します。 .It Ic volume Ar left_channel right_channel 左チャネルのボリュームを .Ar left_channel にセットし、右チャネルを .Ar right_channel にセットします。指定できる値は 0 から 255 の範囲の値です。 .It Ic volume Cm mute 音を消します。 .It Ic volume Cm mono モノラルモードにします。 .It Ic volume Cm stereo ステレオモードにします。 .It Ic volume Cm left 左サブトラックを左と右の両チャネルで演奏します。 .It Ic volume Cm right 右サブトラックを左と右の両チャネルで演奏します。 .It Ic info 目次を表示します。 .It Ic status Op Cm audio | media | volume ディスクに関する以下のような情報を表示します: .Pp .Bl -tag -width ".Cm volume" -compact .It Cm audio 現在の演奏の状態と位置、 .It Cm media 現在のメディアカタログ状態、 .It Cm volume 現在の左チャネル及び右チャネルのボリューム値。 .El .It Ic cdid CD のシリアル番号を、 .Tn CDDB プロジェクト .Pq Pa http://www.cddb.org/ が使用する方法を使用して、 表示します。 .It Ic help 利用可能なコマンドの一覧を表示します。 .It Ic debug Cm on CD デバイスドライバのデバッグモードを有効にします。 .It Ic debug Cm off ドライバのデバッグモードを無効にします。 .It Ic reset デバイスに対するハードウェアリセットを実行します。 .It Ic set Cm msf minute-second-frame ioctl モードに設定します (デフォルト)。 .It Ic set Cm lba LBA ioctl モードに設定します。 .It Ic speed Ar s ドライブが読み込みに使用可能な最高速度を指定します。 単倍速 CDROM (150KB/s) の倍数の単位となります。 -ドライブの最高速度を指定するには "max" を使用します。 +ドライブの最高速度を指定するには +.Dq Li max +を使用します。 .It Ic quit プログラムを終了します。 .El .Sh 環境変数 次の環境変数が .Nm の実行に影響します: .Bl -tag -width ".Ev CD_DRIVE" .It Ev CDROM .Fl f オプションで指定しなかった場合に使用される CD デバイス。 .It Ev CDPLAY , CD_DRIVE , DISC , MUSIC_CD .Ev CDROM が選ばれたため、これらの変数の価値は低下しています。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /dev/mcd0c" -compact .It Pa /dev/cd0c .It Pa /dev/mcd0c .It Pa /dev/acd0c .El .Sh 作者 .An Jean-Marc Zucconi .An Andrey A. Chernov .An Serge V. Vakulenko .Sh 歴史 .Nm コマンドは .Fx 2.1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/chmod.1 b/ja_JP.eucJP/man/man1/chmod.1 index 2c44832c09..4220d7e304 100644 --- a/ja_JP.eucJP/man/man1/chmod.1 +++ b/ja_JP.eucJP/man/man1/chmod.1 @@ -1,322 +1,323 @@ .\" Copyright (c) 1989, 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)chmod.1 8.4 (Berkeley) 3/31/94 -.\" %FreeBSD: src/bin/chmod/chmod.1,v 1.34 2002/11/04 06:46:53 tjr Exp % +.\" %FreeBSD: src/bin/chmod/chmod.1,v 1.35 2002/11/25 14:18:42 ru Exp % .\" .\" $FreeBSD$ .Dd March 31, 1994 .Dt CHMOD 1 .Os .Sh 名称 .Nm chmod .Nd ファイルのモードを変更する .Sh 書式 .Nm chmod .Op Fl fhv .Op Fl R Op Fl H | L | P .Ar mode .Ar .Sh 解説 .Nm は指定されたファイルのモードを .Ar mode で指定したものに変更します。 .Pp オプションとして以下のものがあります: -.Bl -tag -width Ds +.Bl -tag -width indent +.It Fl f +.Nm +が +.Va file +のモードを変更できなかったときに、診断メッセージを表示しませんし、 +失敗を示す終了値の変更を行いません。 .It Fl H .Fl R オプションが指定されていれば、引数がシンボリックリンクのとき、それを たどって変更します。 (ディレクトリツリー探索中に見つかったシンボリックリンクは、デフォルトでは それ以上追跡しません) +.It Fl h +ファイルがシンボリックリンクの場合、 +リンクの先のファイルの代りにリンク自身のモードを変更します。 .It Fl L .Fl R オプションが指定されていれば、すべてのシンボリックリンクをたどり、 リンク先のファイルを変更します。 .It Fl P .Fl R オプションが指定されていても、どのシンボリックリンクもたどりません。 これがデフォルトです。 .It Fl R 指定されたファイル自身だけではなく、それらをルートとする ディレクトリ階層を再帰的に検索してモードを変更します。 -.It Fl f -.Nm -が -.Va file -のモードを変更できなかった場合に、診断メッセージを表示しません。 -.It Fl h -ファイルがシンボリックリンクの場合、 -リンクの先のファイルの代りにリンク自身のモードを変更します。 .It Fl v .Nm を冗長にし、モードが変更されるファイルを表示させます。 .Fl v が複数回指定された場合、ファイルの旧モードと新モードが、 8 進数およびシンボルにて表示されます。 .El .Pp .Fl H , .Fl L , .Fl P オプションは、 .Fl R オプションが指定されていなければ無視されます。また、これらが 複数指定されると最後に指定したものが有効になります。 .Pp ファイルのモードの変更はそのファイルの所有者とスーパユーザだけにしか 許されていません。 .Sh 診断 .Ex -std .Sh モード モードには、数値を用いた絶対値指定と、シンボルによる指定があります。 数値指定では、以下の値を .Ar ``or'' で組み合わせた 8 進数を用います: .Pp .Bl -tag -width 6n -compact -offset indent .It Li 4000 -(set-user-ID-on-execution ビット) +(setuid ビット) このビットがセットされている実行可能ファイルは、 ファイルを所有するユーザ ID に実効ユーザ ID を設定されて実行されます。 -set-user-id ビットをセットされているディレクトリは、 +このビットをセットされているディレクトリは、 その中で作成される全てのファイルおよびディレクトリの所有者を ディレクトリの所有者に設定することを強制し、 作成するプロセスのユーザ ID は無関係となります。 これは、ディレクトリが存在するファイルシステムが この機能をサポートしている場合に限られます: .Xr chmod 2 と .Xr mount 8 の -.Ar suiddir +.Cm suiddir オプションを参照してください。 .It Li 2000 -(set-group-ID-on-execution ビット) +(setgid ビット) このビットがセットされている実行可能ファイルは、 ファイルを所有するグループ ID に実効グループ ID を設定されて実行されます。 .It Li 1000 -(スティッキービット) +(スティッキービット)。 .Xr chmod 2 と .Xr sticky 8 を参照してください。 .It Li 0400 所有者の読み込みを許可。 .It Li 0200 所有者の書き込みを許可。 .It Li 0100 ファイルの場合、所有者の実行を許可。 ディレクトリの場合、所有者の検索を許可。 .It Li 0040 グループのメンバの読み込みを許可。 .It Li 0020 グループのメンバの書き込みを許可。 .It Li 0010 ファイルの場合、グループのメンバの実行を許可。 ディレクトリの場合、グループのメンバの検索を許可。 .It Li 0004 他者の読み込みを許可。 .It Li 0002 他者の書き込みを許可。 .It Li 0001 ファイルの場合、他者の実行を許可。 ディレクトリの場合、他者の検索を許可。 .El .Pp 例えば、所有者に読み込み・書き込み・実行を許可し、 グループのメンバに読み込み・実行を許可し、 他者に読み込み・実行を許可し、 set-uid と set-gid を指定しない絶対値指定のモードは、 755 (400+200+100+040+010+004+001) となります。 .Pp シンボルによる指定は以下の文法に従います。 .Bd -literal -offset indent mode ::= clause [, clause ...] clause ::= [who ...] [action ...] action action ::= op [perm ...] who ::= a | u | g | o op ::= + | \- | = perm ::= r | s | t | w | x | X | u | g | o .Ed .Pp .Ar who シンボルの ``u'', ``g'', ``o'' はそれぞれユーザ、グループ、それ以外に 相当します。``a'' シンボルは ``ugo'' を指定した場合と同じになります。 .Pp .Ar perm シンボルはモードの各ビットを以下のように表現します。 .Pp .Bl -tag -width Ds -compact -offset indent .It r 読み込み許可ビット .It s 実行時 setuid および実行時 setgid ビット .It t sticky ビット .It w 書き込み許可ビット .It x 実行/検索 許可ビット .It X 対象がディレクトリであるか、変更前のモードで誰かの実行/検索許可ビット が立っている場合に、実行/検索許可ビットがセットされます。 .Ar perm シンボルでの ``X'' の指定は、 .Ar op シンボルを ``+''で連結する時のみ意味があり、他の場合は無視されます。 .It u 元の、ファイルの所有者許可ビット .It g 元の、ファイルのグループ許可ビット .It o 元の、ファイルの所有者とグループ以外の許可ビット .El .Pp .Ar op シンボルの働きは以下のようになります .Bl -tag -width 4n .It + .Ar perm 値が指定されなければ、``+'' は何の作用もありません。 .Ar who シンボルが指定されていなければ、 .Ar perm 値はそれぞれの who シンボルの対応するビットに作用し、それを umask で マスクしたビットがセットされます。 .Ar who シンボルが指定されていれば、その .Ar perm 値が設定されます。 .It \&\- .Ar perm 値が指定されていなければ、``\-'' は何の作用もありません。 .Ar who シンボルが指定されていなければ、 .Ar perm 値はそれぞれの who シンボルの対応するビットに作用し、それを umask で マスクしたビットがクリアされます。 .Ar who シンボルが指定されていれば、その .Ar perm 値がクリアされます。 .It = .Ar who シンボルで指定されたモードビットがクリアされます。who シンボルが指定 されていなければ、所有者、グループ、その他の各モードビットがクリアされ ます。 .Ar who シンボルが指定されていなければ、 perm で指定したビットが、所有者、グループ、その他のそれぞれを umask で マスクしたものだけ設定されます。 .Ar who シンボルと .Ar perm が指定されていれば、その値がそのまま設定されます。 .El .Pp 各 .Ar clause では、モードビットを操作するためのオペレーションを 1 つ以上記述しなけ ればなりません。そして各オペレーションは記述した順番で適用されます。 .Pp 所有者とグループ以外の ``o'' のみに対して、``s'' や ``t'' の組み合わせの .Ar perm 値が指定されても無視されます。 .Sh 使用例 .Bl -tag -width "u=rwx,go=u-w" -compact .It Li 644 ファイルを誰にでも読めるようにして、ファイルの所有者のみ書き込み可能に します。 .Pp .It Li go-w ファイルの所有者以外の書き込みを禁止します。 .Pp .It Li =rw,+X umask でマスクされていないビットの読み書きを許可しますが、実行許可は 現在設定されているものを保持します。 .Pp .It Li +X 誰かが実行/検索可能なファイルやディレクトリならば、すべてのユーザが 実行/検索できるファイルやディレクトリとします。 .Pp .It Li 755 .It Li u=rwx,go=rx .It Li u=rwx,go=u-w 誰にでも読み込みと実行ができて、所有者のみ書き込み可能になるようにしま す。 .Pp .It Li go= グループやその他のユーザにいかなる許可も与えません。 .Pp .It Li g=u-w グループビットをユーザビットと同じにしますが、グループの書き込みは禁止 します。 .El .Sh バグ naughty bit のための .Ar perm オプションがありません。 .Sh 互換性 .Fl v オプションは非標準であり、スクリプト中の使用は非推奨です。 .Sh 関連項目 .Xr chflags 1 , .Xr install 1 , .Xr setfacl 1 , .Xr chmod 2 , .Xr stat 2 , .Xr umask 2 , .Xr fts 3 , .Xr setmode 3 , .Xr symlink 7 , .Xr chown 8 , .Xr mount 8 , .Xr sticky 8 .Sh 規格 .Nm ユーティリティは、規格にない .Ar perm シンボルの .Dq t を除いては .St -p1003.2 互換になるように作られています。 .Sh 歴史 .Nm コマンドは .At v1 から導入されました. diff --git a/ja_JP.eucJP/man/man1/colldef.1 b/ja_JP.eucJP/man/man1/colldef.1 index 9388c27339..dbc68995ca 100644 --- a/ja_JP.eucJP/man/man1/colldef.1 +++ b/ja_JP.eucJP/man/man1/colldef.1 @@ -1,238 +1,238 @@ .\" Copyright (c) 1995 Alex Tatmanjants .\" at Electronni Visti IA, Kiev, Ukraine. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.bin/colldef/colldef.1,v 1.17 2002/10/16 13:00:42 charnier Exp % +.\" %FreeBSD: src/usr.bin/colldef/colldef.1,v 1.18 2002/11/26 17:33:34 ru Exp % .\" .\" $FreeBSD$ .\" .Dd January, 27 1995 .Dt COLLDEF 1 .Os .Sh 名称 .Nm colldef .Nd 照合シークエンスのソース定義を変換する .Sh 書式 .Nm colldef .Op Fl I Ar map_dir .Op Fl o Ar out_file .Op Ar filename .Sh 解説 .Nm ユーティリティは、照合シークエンスのソース定義を .Fn strxfrm と .Fn strcoll 関数で使えるフォーマットに変換します。すなわち、文字列をソートや照合で きるようにする様々な方法を定義するために使われます。 .Fn strxfrm は、その第一引数を変換して第二引数の結果に置き換えます。 変換された文字列は、 .Fn strcmp , .Fn strncmp , .Fn memcmp を使って別の変換された文字列と比較して正しくソートできるようになります。 .Fn strcoll はその引数を変換し、比較を行ないます。 .Pp .Nm ユーティリティは、 標準入力から照合シークエンスソース定義を読み込み、変換された定義を filename に格納します。 生成される出力ファイルの内容は、システムコマンドやシステムルーチンが 使える形式の照合シークエンス情報を持つデータベースです。 .Pp オプションリスト: .Bl -tag -width 4n .It Fl I Ar map_dir このオプションは .Ar charmap ファイルを探すディレクトリ名を設定します。 デフォルトでカレントディレクトリです。 .It Fl o Ar out_file 出力ファイル名を設定します。 デフォルトで .Ar LC_COLLATE になります。 .El .Pp 照合シークエンス定義は、照合要素集合、 およびこれを含む文字列をどのように順序付けるかを定義する規則を指定します これは異なる言語定義に最も便利です。 .Pp 指定ファイルは次の三つのステートメントから成ります: .Ar charmap , .Ar substitute, .Ar order .Pp この中で .Ar order ステートメントだけが必須です。 .Ar charmap や .Ar substitute が与えられたときは、ステートメントの順序は上のようになっていなければ なりません。 orderステートメントの後のステートメントは無視されます。 .Pp 指定ファイルの中で .Ar # で始まる行はコメントと扱われ、無視されます。空行も無視されます。 .Pp .Ar charmap charmapfile .Pp .Ar charmap は、文字のマッピングと実際の文字エンコーディングへの照合要素シンボル が見つかる場所を定義します。 .Pp .Ar charmapfile のフォーマットを以下に示します。 シンボル名とその値は、タブまたは空白文字によって区切られます。 symbol-value は 16 進 (\ex\fI??\fR) または 8 進 (\e\fI???\fR) 表現で指定でき、長さは一文字を意味します。 .Bd -literal .Ar symbol-name1 symbol-value1 .Ar symbol-name2 symbol-value2 .Ar ... .Ed .Ar charmap ステートメントはオプション指定です。 .Pp .Ar substitute \fIsymbol\fR .Ar with \fIrepl_string\fR .Pp .Ar substitute ステートメントは、文字 .Ar symbol を文字列 .Ar repl_string に置き換えます。 .Pp .Ar substitute ステートメントはオプション指定です。 .Pp .Ar order order_list .Pp .Ar order_list は、セミコロンで区切られた、照合シークエンスを定義する シンボルのリストです。 特殊シンボル .Ar ... は、簡略な形の機械語順で連なったシンボルを指定します。 .Pp orderリストの要素は、次の方法のうちのどれかで表現できます。 .Bl -bullet .It シンボル自身 (例えば、小文字の .Ar a は .Ar a と書きます) .It 8 進表現のシンボル (例えば、文字 .Ar a には .Ar \e141 ) .It 16 進表現のシンボル (例えば、文字 .Ar a には .Ar \ex61 ) .It .Ar charmap ファイル内で定義されたシンボル名 (例えば、 .Ar charmapfile の .Ar letterA \e023 に対して .Ar )。文字マップ名が、文字 .Ar > を持つ場合は、 .Ar /> , のようにエスケープされなければならず、 文字 .Ar / は .Ar // のようにエスケープされなければなりません。 .It シンボル .Ar \ea , .Ar \eb , .Ar \ef , .Ar \en , .Ar \er , .Ar \ev は、通常の C言語の意味で使うことが許されています。 .It シンボルチェーン (例えば、 .Ar abc , .Ar c , .Ar \exf1b\exf2 ) .It シンボルの範囲 (例えば .Ar a;...;z ) .It コンマ区切りのシンボル、範囲、チェーンは括弧でくくられます。 (例えば .Ar \&( .Ar sym1 , .Ar sym2 , .Ar ... .Ar \&) ) は同じ一次順序で割り当てられますが、異なる二次順序となります。 .It 鈎括弧でくくられたコンマ区切りのシンボル、範囲、チェーン (例えば、 .Ar \&{ .Ar sym1 , .Ar sym2 , .Ar ... .Ar \&} ) は、同じ一次順序だけに割り当てられます) .El .Pp バックスラッシュ文字 .Ar \e は、行の継続に使われます。この場合、バックスラッシュ文字の後には どんな文字も書かれてはなりません。 .Sh 診断 .Nm ユーティリティは、次の戻り値で終了します。 .Bl -tag -width indent .It Li 0 エラーがなく、出力の生成に成功した場合 .It Li !=0 エラーが見つかった場合 .El .Sh 関連ファイル -.Bl -tag -width /usr/share/locale//LC_COLLATE -compact +.Bl -tag -width ".Pa /usr/share/locale//LC_COLLATE" -compact .It Pa /usr/share/locale//LC_COLLATE localeの配下で、localeの照合順序のための標準共有位置 .El .Sh 関連項目 .Xr mklocale 1 , .Xr setlocale 3 , .Xr strcoll 3 , .Xr strxfrm 3 diff --git a/ja_JP.eucJP/man/man1/ctags.1 b/ja_JP.eucJP/man/man1/ctags.1 index 473902277d..f3c5f66087 100644 --- a/ja_JP.eucJP/man/man1/ctags.1 +++ b/ja_JP.eucJP/man/man1/ctags.1 @@ -1,231 +1,231 @@ .\" Copyright (c) 1987, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ctags.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/ctags/ctags.1,v 1.14 2002/05/30 12:13:18 tjr Exp % +.\" %FreeBSD: src/usr.bin/ctags/ctags.1,v 1.15 2002/11/26 17:33:34 ru Exp % .\" $FreeBSD$ .\" .\" ctags.1 修正時には gctags.1 も同様に修正して下さい。 .\" Aug 31 1997 .Dd June 6, 1993 .Dt CTAGS 1 .Os .Sh 名称 .Nm ctags .Nd .Pa tags ファイルを作成する .Sh 書式 .Nm ctags .Op Fl BFTaduwvx .Op Fl f Ar tagsfile -.Ar name ... +.Ar .Sh 解説 .Nm は、指定された C, Pascal, Fortran, .Xr yacc 1 , .Xr lex 1 , lisp のソースから、 .Xr ex 1 コマンド用の .Pa tags ファイルを作成します。 タグファイルは、指定されたオブジェクトが一群のファイル中の どの場所にあるかを示すものです。 タグファイルの各行はオブジェクトの名前、定義されているファイル、 オブジェクトの定義を見つけるための検索パターンを含み、 各々は空白で区切られています。 この .Pa tags ファイルを用いることにより、 .Xr ex 1 でこれらのオブジェクトが定義されている場所をすばやく見つけることが できます。 .Nm に与えられるオプションによりますが、オブジェクトは subroutine、 typedef、 define、 struct、 enum、 union から 構成されます。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl B 後方検索パターン .Pq Li ?...? を用います。 .It Fl F 前方検索パターン .Pq Li /.../ を用います(デフォルト)。 .It Fl T typedefs, structs, unions, enums に関してタグを作成しません。 .It Fl a 既存の .Pa tags ファイルに追加します。 .It Fl d 引数を持たない .Li #define に関してもタグを作成します。引数を持つ .Li #define は自動的にタグが作成されます。 .It Fl f Ar tagsfile .Ar tagsfile で指定されたファイル名でタグファイルを生成します。 デフォルトでは .Pa tags というファイル名でタグファイルを生成します。 .It Fl u .Pa tags ファイル内の指定されたファイルに関する情報を更新します。 すなわち、関係するファイルへのすべての参照が削除され、新しいタグ情報が ファイルに追加されます。 (注意: このオプションはあまりスピードのでないような実装しか おこなわれていません。単に .Pa tags ファイルを再構築した方が早く終了するでしょう。) .It Fl v .Xr vgrind 1 形式のファイル一覧が標準出力に出力されます。 この一覧はオブジェクト名、ファイル名、1 ページあたり 64 行とした場合の ページ番号から構成されます。 出力は辞書式の順番でソートされているので、この後に .Xr sort 1 を通した方がよいでしょう。次のように使います。 .Bd -literal -offset indent ctags -v files | sort -f > index vgrind -x index .Ed .It Fl w 診断用メッセージを表示しないようにします。 .It Fl x .Nm はオブジェクト名、行番号、ファイル名、その行の内容からなる一覧を作成し、 それを標準出力に出力します。 これはオフラインでも読みやすいように印刷できる簡単な関数一覧として 利用できます。 .El .Pp .Pa .c や .Pa .h で終わる名前のファイルは、 C 言語のソースファイルとみなされ、 C の形式の関数・マクロ定義が検索されます。 .Pa .y で終わる名前のファイルは、 .Xr yacc 1 のソースファイルとみなされます。 .Pa .l で終わる名前のファイルは、最初の空白でない文字が .Ql \&; , .Ql \&( , .Ql \&[ のいずれかであれば Lisp のファイルであるとみなされ、そうでなければ .Xr lex 1 のファイルとみなされます。 その他のファイルは、まず Pascal か Fortran の定義が含まれるか どうかがチェックされ、含まれない場合には C 形式の定義が検索されます。 .Pp C 言語の場合、 .Dq Li main は特別に扱われ、元のソースファイルのパス名部分と末尾の .Pa .c の部分を取り除いたファイル名に対し、その先頭に .Ql M を付加したものをオブジェクト名とします。 これにより、同じディレクトリに複数のプログラムがある場合でも .Nm を実用的に使うことができます。 .Pp .Xr yacc 1 と .Xr lex 1 のファイルには特殊なタグがあります。 .Dq Li yyparse は .Xr yacc 1 ファイルの第二セクションの始まりを示し、 .Dq Li yylex は .Xr lex 1 ファイルの第二セクションの始まりを示します。 .Sh 関連ファイル .Bl -tag -width ".Pa tags" -compact .It Pa tags デフォルトで出力されるタグファイル .El .Sh 診断 .Nm ユーティリティは、エラーが発生すると 1 を返し、それ以外では 0 を返します。 同じ名前のオブジェクトが複数出てきてもエラーとはみなされません。 .Sh 互換性 .Fl t オプションは何もしません。 typedefs, enums, structs, unions に関してデフォルトでタグを作成しなかった、 以前のバージョンの .Nm との互換性のためです。 .Sh 関連項目 .Xr ex 1 , .Xr vi 1 .Sh 歴史 .Nm ユーティリティは .Bx 3.0 から登場しました。 .Sh バグ Fortran と Pascal 用の 関数(function)、サブルーチン(subroutine)、手続き(procedure) の認識にはとても単純な方法を用いています。 ブロック構造が解釈できないので、異なるブロックに同じ名前の Pascal 手続きが 存在するとうまく動作しません。 .Nm ユーティリティは Pascal の型(type)も理解しません。 .Pp C か Pascal か Fortran かを判断する方法はとりあえず動いている、という程度のものです。 .Pp .Nm ユーティリティはきちんと整形された入力に頼っています。 また、ソースファイルに文法的な間違いがあると 簡単に混乱してしまいます。 文法的に間違っていなくても混乱する場合があります。 例えば、 .Li #ifdef を理解しないので(バグではなく仕様です)、 .Li #ifdef 内に括弧のつりあっていないコードがあると混乱してしまいます。 同様に、定義が複数行にわたっている場合、オブジェクトの先頭行ではなく 最終行が検索パターンにマッチします。 複数行にわたる .Li typedef に関しても同様です。 diff --git a/ja_JP.eucJP/man/man1/cut.1 b/ja_JP.eucJP/man/man1/cut.1 index a794955b2b..4b754ee9a5 100644 --- a/ja_JP.eucJP/man/man1/cut.1 +++ b/ja_JP.eucJP/man/man1/cut.1 @@ -1,171 +1,171 @@ .\" %NetBSD: cut.1,v 1.5 1995/03/26 20:51:25 glass Exp % .\" .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. -.\" %FreeBSD: src/usr.bin/cut/cut.1,v 1.21 2002/07/23 15:09:56 trhodes Exp % +.\" %FreeBSD: src/usr.bin/cut/cut.1,v 1.22 2002/11/26 10:51:47 ru Exp % .\" .\" @(#)cut.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt CUT 1 .Os .Sh 名称 .Nm cut .Nd ファイルの各行の、指定した部分を取り出す .Sh 書式 .Nm cut .Fl b Ar list .Op Fl n .Op Ar .Nm cut .Fl c Ar list .Op Ar .Nm cut .Fl f Ar list .Op Fl d Ar delim .Op Fl s .Op Ar .Sh 解説 .Nm は、 .Ar file から行を読み込み、 .Ar list の指定に従って選択した部分を取り出して標準出力に出力します。 .Ar file 引数が指定されない場合もしくはこれが単一のダッシュ .Pq Sq Fl の場合、 .Nm は標準入力から読み込みます。 .Ar list には、カラム番号、もしくはフィールド番号を指定します。 フィールドは特定の文字で区切られた領域です。 カラム番号およびフィールド番号は 1 から始まります。 .\" フィールド番号が 1 から始まるという記述はオリジナルには無いですが、 .\" 分かりやすくするために補足しました。 .\" By horikawa@isrd.hitachi.co.jp (Nov 9 1996) .Pp .Ar list オプション引数には、コンマもしくは空白で区切られた 複数の増加方向の番号もしくは番号範囲を指定することができます。 番号範囲は、1 番目の番号、ダッシュ .Pq Sq \- 、2 番目の番号の 3 つの組から構成され、 1 番目の番号から 2 番目の番号までの複数のフィールドもしくは複数のカラムを 選択します。 範囲には 1 番目の番号および 2 番目の番号も含まれます。 番号もしくは番号範囲の前にダッシュをつけた場合には、 1 番目の番号までのすべてのフィールドもしくはカラムも選択します。 番号もしくは番号範囲の後にダッシュをつけた場合には、 最後の番号以降のすべてのフィールドもしくはカラムも選択します。 番号もしくは番号範囲は、 繰り返しても、重なっても、いかなる順番であっても構いません。 また、入力行に指定のフィールドやカラムがない場合、 エラーとはなりません。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl b Ar list バイト単位で指定します。 .It Fl c Ar list 文字単位で指定します。 .It Fl d Ar delim フィールドを区切る文字として .Ar delim を使用します。デフォルトではタブが使用 されます。 .It Fl f Ar list タブで区切られたフィールド単位で指定します。 出力フィールドはタブで区切られます。 .It Fl n マルチバイト文字を分割しません。 .It Fl s 区切り文字のない行を出力しないようにします。このオプションが 指定されてない場合、区切り文字がない行はそのまま出力されます。 .El .Sh 環境変数 .Fl n オプションが指定された場合、 .Ev LANG , .Ev LC_ALL , .Ev LC_CTYPE の環境変数が、 .Xr environ 7 の記述通りに、 .Nm の動作に影響します。 .Sh 使用例 ユーザのログイン名とシェルを、システムの .Xr passwd 5 ファイルから .Dq name:shell という組で取り出します: .Pp .Dl "cut -d : -f 1,7 /etc/passwd" .Pp 現在ログインしているユーザに対し、名前とログイン時刻を表示します: .Pp .Dl "who | cut -c 1-16,26-38" .Sh 診断 .Ex -std .Sh 関連項目 .Xr paste 1 .Sh 規格 .Nm ユーティリティは .St -p1003.2 準拠です。 .Sh 歴史 .Nm コマンドは .Tn AT&T System III .Ux に登場しました。 .Sh バグ .Fl c オプションは .Fl b オプションの同義語ですが、 マルチバイト文字をサポートするローケルでは正しく動作しません。 .Pp -フィールドに対する動作では ( -.Fl f +フィールドに対する動作では +.Fl ( f オプション指定時には)、 .Nm はマルチバイト文字を認識しませんし、マルチバイトシーケンス中の .Ar delim 文字は認識されてしまいます。 diff --git a/ja_JP.eucJP/man/man1/dd.1 b/ja_JP.eucJP/man/man1/dd.1 index c3ad028b5c..99b11e4763 100644 --- a/ja_JP.eucJP/man/man1/dd.1 +++ b/ja_JP.eucJP/man/man1/dd.1 @@ -1,354 +1,354 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Keith Muller of the University of California, San Diego. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)dd.1 8.2 (Berkeley) 1/13/94 -.\" %FreeBSD: src/bin/dd/dd.1,v 1.20 2002/05/29 14:01:27 ru Exp % +.\" %FreeBSD: src/bin/dd/dd.1,v 1.21 2002/11/26 17:55:40 ru Exp % .\" .\" $FreeBSD$ .Dd January 13, 1994 .Dt DD 1 .Os .Sh 名称 .Nm dd .Nd ファイルのコンバートおよびコピー .Sh 書式 .Nm dd .Op Ar operands ... .Sh 解説 .Nm ユーティリティは、標準入力を標準出力にコピーします。入力データは ブロック単位 (デフォルトでは 512 バイト) で読み書きされます。 入力データのブロック数が短かった場合は、何回か読み込みを行い、 ブロック数単位にまとめて出力します。 終了時に、 .Nm は、入力と出力の各々について、ブロック単位で処理できたブロック数と 最終ブロックを満たさず半端になったブロック数を 標準エラー出力に表示します。ブロック単位の変換で切り捨てられた 入力レコードがあった場合には、そのブロック数も表示します。 .Pp 以下のオペランドが利用可能です: .Bl -tag -width ".Cm of Ns = Ns Ar file" .It Cm bs Ns = Ns Ar n 入出力両方のブロックサイズを .Ar n バイトに設定します。 .Cm ibs , obs の指定に優先します。 .Cm noerror , .Cm notrunc , .Cm sync 以外の変換指定がない場合は、入力ブロック数が小さい場合のまとめ処理なしで 入力ブロックを出力ブロックに 1 ブロック単位でコピーします。 .It Cm cbs Ns = Ns Ar n 変換レコードサイズを .Ar n バイトにします。 レコード指向の変換が指定された場合には変換レコードサイズが必要です。 .It Cm count Ns = Ns Ar n 入力のうち .Ar n 個のブロックだけをコピーします。 .It Cm files Ns = Ns Ar n .Ar n 個の入力ファイルをコピーします。このオペランドは入力デバイスが テープのときだけ有効です。 .It Cm ibs Ns = Ns Ar n 入力ブロックのサイズを、デフォルトの 512 バイトに代えて .Ar n バイトにします。 .It Cm if Ns = Ns Ar file 標準入力のかわりに .Ar file から入力を行います。 .It Cm iseek Ns = Ns Ar n 入力ファイルの .Ar n ブロック目にシークします。 .Cm skip Ns = Ns Ar n と同じです。 .It Cm obs Ns = Ns Ar n 出力ブロックのサイズをデフォルトの 512 バイトに代えて .Ar n バイトにします。 .It Cm of Ns = Ns Ar file 標準出力のかわりに .Ar file に対し出力を行います。 .Cm notrunc が指定されないかぎり、普通の出力ファイルでは最後の 1 ブロックサイズに 満たないデータは切り詰められます。 出力ファイルの最初の部分がシークされて通り過ぎる場合は ( .Cm oseek オペランド参照) 出力ファイルは そこまで切り詰められます。 .It Cm oseek Ns = Ns Ar n 出力ファイルの .Ar n ブロック目にシークします。 .Cm seek Ns = Ns Ar n と同じです。 .It Cm seek Ns = Ns Ar n コピーする前に、出力側ファイルの開始位置を先頭から .Ar n ブロックだけ進めます。出力がテープデバイスでない場合は、 .Xr lseek 2 システムコールを使ってシークが実行され ます。テープデバイスの場合は、既存のブロックを読み捨てる事で指定位置まで 進める処理を実行します。もしユーザがテープデバイスに対し読み込みのアクセス権 を持っていないときは、テープデバイスに対する .Xr ioctl 2 システムコールを使います。シーク処理がファイルの最後を超えて行われる場合は、 ファイルの末尾から指定のシーク位置に相当する部分まで .Dv NUL データのブロックを挿入します。 .It Cm skip Ns = Ns Ar n コピーする前に、入力側ファイルの開始位置を先頭から .Ar n ブロックだけ進めます。入力がシーク機能を持っているなら、 .Xr lseek 2 システムコールが使用されます。シーク機能がなければ、既存のブロックを 読み捨てる事で指定位置まで進める処理を実行します。入力がパイプから渡される 場合は、正確に指定されたバイト数が読まれます。 それ以外のデバイスでは、読まれたブロックのサイズが指定のブロックサイズに 満たない物や完全な物の区別をせずに、正確に指定されたブロック数が 読まれます。 .It Cm conv Ns = Ns Ar value Ns Op , Ns Ar value ... .Cm value に以下のリストから 1 つのシンボルを指定して変換を行います。 .Bl -tag -width ".Cm unblock" .It Cm ascii , oldascii レコードの変換を行う前に .Tn EBCDIC から .Tn ASCII への文字コード変換を行います。そのほかは .Cm unblock と同じです。 (これらの指定では .Cm cbs も指定されている場合は暗黙の内に .Cm unblock も指定された事になります。) .Tn ASCII 用に 2 つの変換マップがあります。 .Cm ascii は .At V 互換の お奨め変換マップです。 .Cm oldascii は昔の .At および .No pre- Ns Bx 4.3 reno システムで使われていた変換マップです。 .It Cm block 入出力のブロック境界に関係なく、入力を newline (改行) もしくは end-of-file (ファイル末) で区切られる可変長レコード列として 扱います。各入力レコードは .Cm cbs で指定する長さの固定長レコードに変換されます。 変換するレコード・サイズより短い入力レコードは space (空白) で パディングされます。変換するレコード・サイズより長い入力レコードは 長い部分が切り捨てられます。切り捨てがあった入力レコード数は、 もしあれば、コピーの終了時に標準エラー出力に表示されます。 .It Cm ebcdic , ibm , oldebcdic , oldibm レコードが変換された後で .Tn ASCII から .Tn EBCDIC への変換を行う以外は .Cm block と同じです。 (これらの指定では .Cm cbs も指定されている場合は暗黙の内に .Cm block も指定された事になります。) .Tn EBCDIC 用に 4 つの変換マップがあります。 .Cm ebcdic は .At V 互換の お奨め変換マップです。 .Cm ibm は微妙に違う変換マップで、 .At V で変換に .Cm ibm を指定した場合に相当します。 .Cm oldebcdic と .Cm oldibm は、昔の .At および .No pre- Ns Bx 4.3 reno システムで使われていた変換マップです。 .It Cm lcase 英大文字を小文字に変換します。 .It Cm noerror 入力にエラーがあっても処理を止めないようにします。入力エラーが 起こったときは、診断メッセージに続けて その時の入力と出力の ブロック数を、正常動作終了時に表示するメッセージと同じ フォーマットで標準エラー出力に表示します。 もし .Cm sync 変換も指定されていた場合は、入力データのうち失われた物を .Dv NUL バイト (ブロック指向の変換のときは space) に置き換えて、 通常の入力バッファとして処理します。 .Cm sync 変換が指定されていなければ、その入力ブロックは出力から削除されます。 テープかパイプ以外の入力ファイルでは、ファイル・オフセットは .Xr lseek 2 を使ってエラーの発生したブロック以降にも設定されます。 .It Cm notrunc 出力ファイルを切り詰めません。 これによって出力ファイルのブロックの内で明らかに .Nm によって書き込まれる部分以外は保存されます。 .Cm notrunc はテープではサポートされません。 .It Cm osync 最後の出力ブロックを出力ブロックサイズを満たすようにパディングします。 もし変換後に入力ファイルが出力ブロックサイズの整数倍でなかった場合に、 書き込む際に一定サイズのブロックが必要なデバイスで使う時のため、 最後の出力ブロックが直前のブロックと同じなるようにします。 このオプションは .Cm bs Ns = Ns Ar n によるブロックサイズ指定とは両立しません。 .It Cm sparse 一つ以上の出力ブロックが .Dv NUL バイトのみからなる場合、 .Dv NUL で埋める代りに、必要な空間だけ出力ファイルのシークを試みます。 結果として、疎なファイルとなります。 .It Cm swab 入力データを 2 バイトごとのペアとみなし、入れ替えます。入力が奇数 バイトだった場合、最後のデータはそのままになります。 .It Cm sync 各入力ブロックを入力バッファ・サイズになるようにパディングします。 パディングには、ブロック指向の変換の場合は空白を、そうでなければ .Dv NUL バイトを使います。 .It Cm ucase 英小文字を大文字に変換します。 .It Cm unblock 入出力のブロック境界に関係なく、入力を固定長レコード列として扱います。 入力レコードの長さは .Cm cbs オペランドで指定します。 データの後ろにパディングされている space を除去して newline をつけます。 .El .El .Pp サイズの指定は 10 進・ 8 進・ 16 進のバイト数が期待されます。 数字の最後に .Dq Li b , .Dq Li k , .Dq Li m , .Dq Li g , .Dq Li w をつけた場合、 その数字に、 512, 1024 (1K), 1048576 (1M), 1073741824 (1G), integer (整数) に格納されるバイト数が、それぞれ乗ぜられます。 2 つ以上の数字を .Dq x でつないだ物を積の意味で使用できます。 .Pp 終了時に、 .Nm は、きちんともしくは部分的に入出力を行ったブロックの数、 切り詰められた入力レコードの数、奇数長のバイト入れ換えを行った ブロックの数を標準エラー出力に表示します。 部分的入力ブロックとは、入力ブロックサイズより少なく読まれた 物のことです。 部分出力ブロックとは、出力ブロックサイズより少なく書かれた 物のことです。 テープデバイスで部分出力ブロックが出た場合は致命的なエラーとみなされます。 それ以外の場合は、そのブロックの残りが書かれます。 キャラクタ・デバイスで部分出力ブロックが出た場合は警告メッセージが出ます。 切り詰められた入力ブロックとは、可変長レコード指向の変換が 指定され入力行が変換レコードに合わせるには長すぎるか newline で 終っていない場合の物です。 .Pp 通常、入力または変換の もしくは両方の結果のデータは 指定されたサイズの出力ブロックに集められます。 入力データが最後に達した場合、残っている出力データはブロックとして 出力されます。これは、最後の出力ブロックのサイズは 出力ブロックサイズより短くなる可能性がある事を意味します。 .Pp .Nm が .Dv SIGINFO ( .Xr stty 1 の引数 .Dq status 参照) シグナルを受けた場合、その時点の入出力ブロック数を標準エラー出力に 通常の処理完了時と同じフォーマットで出力します。 .Nm が .Dv SIGINT シグナルを受けた場合、その時点の入出力ブロック数を標準エラー出力に 通常の処理完了時と同じフォーマットで出力して .Nm は終了します。 .Sh 診断 .Ex -std .Sh 関連項目 .Xr cp 1 , .Xr mt 1 , .Xr tr 1 .Sh 規格 .Nm ユーティリティは .St -p1003.2 規格のスーパセットです。 .Cm files オペランドおよび、 .Cm ascii , .Cm ebcdic , .Cm ibm , .Cm oldascii , .Cm oldebcdic , .Cm oldibm は -\*[Px] +.Tn POSIX 規格を拡張しています。 diff --git a/ja_JP.eucJP/man/man1/doscmd.1 b/ja_JP.eucJP/man/man1/doscmd.1 index 7681161d53..b4bb5b8853 100644 --- a/ja_JP.eucJP/man/man1/doscmd.1 +++ b/ja_JP.eucJP/man/man1/doscmd.1 @@ -1,761 +1,761 @@ .\" .\" Copyright (c) 1992, 1993, 1996 .\" Berkeley Software Design, Inc. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Berkeley Software .\" Design, Inc. .\" .\" THIS SOFTWARE IS PROVIDED BY Berkeley Software Design, Inc. ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Berkeley Software Design, Inc. BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" BSDI doscmd.1,v 2.3 1996/04/08 19:32:29 bostic Exp -.\" %FreeBSD: src/usr.bin/doscmd/doscmd.1,v 1.30 2002/05/16 02:18:59 trhodes Exp % +.\" %FreeBSD: src/usr.bin/doscmd/doscmd.1,v 1.31 2002/12/12 17:25:59 ru Exp % .\" .\" $FreeBSD$ .\" WORD: raw file ロウファイル (mknod.8 によると character special file) .\" WORD: cooked device 加工されたデバイス (mknod.8 によると block special) .Dd January 30, 1995 .Dt DOSCMD 1 .Os .Sh 名称 .Nm doscmd .Nd リアルモード DOS プログラムのサブセットを実行する .Sh 書式 .Nm doscmd .Fl 23AbDEfGHIMOPRrtVvXxYz .Fl c Ar file .Fl d Ar file .Fl i Ar port Ns Xo .Op : Ns Ar cnt .Xc .Fl o Ar port Ns Xo .Op : Ns Ar cnt .Xc .Fl S Ar int .Fl U Ar int .Op Ar cmd Op Ar args ... .Sh 解説 .Nm ユーティリティは、DOS のサブセットをエミュレートして単一コマンド .Ar cmd .Ar args を実行することができますし、 PC をエミュレートして DOS をブートすることもできます。 DOS をブートする場合には、より多様な DOS アプリケーションを 実行することができます。 MS-DOS 6.2 以降は .Nm ではうまく扱えないようです。 DOS をブートするには、 .Fl b フラグを指定するか、 .Ar cmd 引数を省略してください。 .Fl b を指定すると、 .Ar cmd と .Ar args は無視されます。 .Pp .Nm は DOS のサブセットを提供するだけですが、 多くのプログラムを実行するには十分です。 コンパイラ、アセンブラ、リンカローダといったプログラムも実行できますが、 これらに限定するものではありません。 .Pp 次に示す多様なフラグを .Nm に指定可能です: .Bl -tag -width indent .It Fl 2 DOS プログラムからの .Nm エミュレータへのすべてのトラップのデバッグトレースを有効にします。 カーネルによって扱われるためにトレースされないトラップがあることに 注意してください。 .It Fl 3 割り込みベクタの変更や論理ドライブへのパスの初期化といった、 いくつかの下位レベル機能のデバッグを有効にします。 .\" .\" .\" .It Fl A エミュレータを通過するすべての割り込みのトレースを有効にします。 .Fl S オプションを、255 個すべての割り込みの値とともに指定する場合と同じです。 .\" .\" .\" .It Fl b DOS をエミュレートする代りに DOS をブートします。 .\" .\" .\" .It Fl c Ar file 画面へのすべての出力を捕まえて、 .Ar file へ出力します。 画面の直接の書き込みは捕まえられないことに注意してください。 .\" .\" .\" .It Fl C MS-DOS の呼び出しエミュレーションと戻り値をリストします。 .\" .\" .\" .It Fl D ディスクとファイルの操作に関するデバッグを有効にします。 .\" .\" .\" .It Fl d Ar file デバッグ出力を、標準エラー出力の代りに .Ar file へ送ります。 .\" .\" .\" .It Fl E exec ルーチンのデバッグを有効にします。 .\" .\" .\" .It Fl G ビデオ (グラフィックス) ルーチンのデバッグを有効にします。 .\" .\" .\" .It Fl H 中途半端に実装された呼び出しのトレースを有効にします。 .\" .\" .\" .It Fl I すべての割り込みのトレースを有効にします。 .Fl A とほとんど同じですが、有効になるトレースは少しだけ少ないです。 .\" .\" .\" .It Fl i Ar port Ns Xo .Op : Ns Ar cnt .Xc 入出力ポート .Ar port からのすべての入力要求のトレースを有効にします。 もし .Ar cnt が与えられると、 .Ar port から .Ar port+cnt Ns No -1 までをトレースします。 .\" .\" .\" .It Fl M メモリ操作のデバッグを有効にします。 .\" .\" .\" .It Fl O デバッグ出力を、標準エラー出力の代りに、標準出力へ出力します。 .\" .\" .\" .It Fl o Ar port Ns Xo .Op : Ns Ar cnt .Xc 入出力ポート .Ar port からのすべての出力要求のトレースを有効にします。 もし .Ar cnt が与えられると、 .Ar port から .Ar port+cnt Ns No -1 までをトレースします。 .\" .\" .\" .It Fl p Ar port Ns Xo .Op : Ns Ar cnt .Xc 要求された I/O .Ar port (オプションとして .Ar port+cnt Ns No -1 までの範囲を指定可能です) を実機ハードウェア I/O ポートへマップします。 アクセスには root 権限が必要でしょう。 .\" .\" .\" .It Fl P 入出力ポート呼び出し (例えば .Li inb , .Li outb など) のトレースを有効にします。 .\" .\" .\" .It Fl R ファイルリダイレクトコードのデバッグを有効にします。 .\" .\" .\" .It Fl r 生のキーボード入力と表示を使用します。 を押すと、 doscmd は終了します。VGA グラフィックスが使えるようになります。 .\" .\" .\" .It Fl S Ar int 割り込み .Ar int のトレースを有効にします。 .\" .\" .\" .It Fl t 命令レベルのトレースを試みます。 トレースを混乱させる命令があります。 .Li を押すとトレースモードの有効と無効とを切り替えます。 .\" .\" .\" .It Fl U Ar int 割り込み .Ar int のトレースを無効にします。 .Fl A や .Fl I の後で使用すると便利です。 .\" .\" .\" .It Fl V 未知の割り込みを報告する際、レジスタダンプも含めます。 .\" .\" .\" .It Fl v .Fl AH と同じです。 .\" .\" .\" .It Fl X XMS 操作のデバッグを有効にします。 .\" .\" .\" .It Fl x X11 のウィンドウを表示出力のためにオープンします。 他の方法では利用できない様々な割り込みを有効にします。 .Fl b を指定しても、指定しなくても、使用可能です。 .\" .\" .\" .It Fl Y EMS 操作のデバッグを有効にします。 .\" .\" .\" .It Fl z DOS プログラムにジャンプする直前に .Nm を停止させます。 .Nm を開発する以外の用途はほとんどありません。 .El .Pp 起動時に、 .Nm はコンフィギュレーションファイルを読もうとします。 まず、カレントディレクトリのファイル .Cm .doscmdrc を試します。もし見付からない場合、 .Cm $HOME を検索します。それでもなお見付からない場合、ファイル .Cm /etc/doscmdrc を使用します。 .Pp コンフィギュレーションファイルでは、コメントは \fB#\fP 文字から開始します。 また、空行は無視されます。 非空行は、環境変数またはデバイスを設定するコマンドです。 空白の前に \fB=\fP がある行は、環境変数への代入であると扱われ、 DOS の環境に追加されます。 その他の行は次のいずれかです。 .Bl -tag -width XXXXX .\" .\" .\" .It Cm boot Op Cm A: | C: ブートするデバイスを設定します。 デフォルトでは、 .Cm A: が定義されていれば最初に試され、もしそれが失敗すると、 .Cm C: が試されます。 .\" .\" .\" .It Cm assign Xo .Op Cm A-Z : .Op Fl ro .Ar path .Xc .Bsx のディレクトリ .Ar path を、指定したドライブに割り当てます。 .Fl ro フラグを指定すると、読み取り専用ファイルシステムになります。 DOS ブート時には、 .Pa /usr/libdata/doscmd/redir.com バイナリが実行されるまでは、これらの割り当ては実行されません。 .\" .\" .\" .It Cm assign Xo .Cm lpt Ns Op Cm 0-4 : .Op Cm direct .Ar path .Op Ar timeout .Xc 指定したプリンタを .Ar path に割り当てようとします。 .Ar timeout が指定された場合、 その期間 (秒数) 活動がない場合に、プリンタをフラッシュすべきことを示します。 デフォルトは 30 秒です。 .Ar path が本物のプリンタを参照している場合には、 .Cm direct オプションを指定してください。 .\" .\" .\" .It Cm assign Xo .Op Cm A: | B: .Op Fl ro .Ar path .Ar density .Xc .It Cm assign Xo .Cm flop Ns Op Cm 01 .Op Fl ro .Ar path .Ar density .Xc ファイル .Ar path を、次に利用可能なフロッピまたは指定したフロッピに割り当てます。 .Fl ro が指定されると、フロッピは読み取り専用になります。 .Ar density は次のいずれかです: .sp .Bl -tag -compact -width 1440x .It 180 9 ヘッド 40 トラック片面フロッピ .It 360 9 ヘッド 40 トラック両面フロッピ .It 720 9 ヘッド 80 トラック両面フロッピ .It 1200 15 ヘッド 80 トラック両面フロッピ .It 1440 18 ヘッド 80 トラック両面フロッピ .It 2880 36 ヘッド 80 トラック両面フロッピ .El .\" .\" .\" .It Cm assign Xo .Op Cm C-Z : .Op Fl ro .Ar path .Op Ar type | cyl head sec .Op Ar fdisk_tab .Xc .It Cm assign Xo .Cm hard Ns Op Cm 01 .Op Fl ro .Ar path .Op Ar type | cyl head sec .Op Ar fdisk_tab .Xc ファイル .Ar path を、次に利用可能なハードディスクまたは指定したハードディスクに割り当てます。 ディスクのジオメトリは、シリンダ数 .Ar cyl とヘッド数 .Ar head とトラックあたりのセクタ数 .Ar sec で直接指定することもできますし、標準タイプから 1 つを .Ar type (後述) で指定することもできます。 オプションの .Ar fdisk_tab 引数は、このディスクの最初のセクタとして使用するファイルを指定します。 .Ar path がディスクの一部のみを参照する場合に、 偽の fdisk テーブルを挿入するために使用できます。 .\" .\" .\" .It Cm assign Xo .Cm com Ns Op Cm 1-4 : .Ar path .Ar port .Ar irq .Xc .Ar path で指定した tty または pty を、 指定した com ポートとして使用するように割り当てます。 ベースアドレスは .Ar port でエミュレートされ、割り込みは .Ar irq で指定されます。 このコードは軽くテストしただけなので、向かない用途があるかもしれません。 .\" .\" .\" .It Cm "setver command version" doscmd が DOS をエミュレートする場合、 .Cm command という名前のプログラムから呼ばれた時に、DOS バージョンとして .Cm version を報告するようにします。 .Cm version のフォーマットは、後述の .Cm MS_VERSION 変数と同じです。 .El .Pp .Cm C: は、まだ割り当てられていない場合には、ルートディレクトリ (/) に割り当てられ、 .Cm C: のカレントディレクトリは、現在のカレントディレクトリに設定されます。 これはすなわち、 .Pp .Dl "doscmd ../foo .Pp のように起動しても、動作しないことを意味することに注意してください。 なぜなら .Cm C: ディレクトリはカレントパスで開始するからです。 また、次の環境変数も、未設定の場合には設定されます: .Bd -literal .Cm "COMSPEC=C:\eCOMMAND.COM .Cm "PATH=C:\e .Cm "PROMPT=DOS> .Ed .Pp .Cm PATH 変数は .Ar cmd を検索する際にも使用されます。 DOS のように、まず .Ar cmd.com が検索され、それから .Ar cmd.exe が検索されます。 .Sh コンフィギュレーション変数 doscmd の内部変数であり、実際の DOS の環境では設定されない変数が、 .Cm .doscmdrc ファイル中にいくつかあります。 それらを以下に示します: .Bl -tag -width MS_VERSION .It Cm MS_VERSION この変数の値は、 .Nm が報告を行なう DOS のバージョンを決定するために使用されます。 .Nm は、動作を変えずに、報告方法だけを変えることに注意してください。 デフォルトでは、この値は .Cm 410 であり、 .Tn "MS-DOS バージョン 4.1 に対応します。 バージョン 3.2 (以前の .Nm のデフォルトでした) に変更するには、値 .Cm 320 を使用してください。 .It Cm X11_FONT この変数の値は X window で使用するフォントを決定します。 デフォルトのフォントは .Cm vga であり .Pa /usr/libdata/doscmd/fonts にインストールされています。 X サーバがフォントを見付けられるように .Ql xset fp+ /usr/libdata/doscmd/fonts を .Pa ${HOME}/.xsession か .Pa ${HOME}/.xinitrc に追加してください。 .El .Sh ファイル変換 .Nm ユーティリティは .Bsx のファイル名を .Tn DOS のファイル名に変換する際、すべて大文字に変換し、無効な文字を除去します。 ASCII ファイルを、DOS の世界で好まれる .Cm 形式へ変換するということはありません。 ASCII ファイルを変換するには、プログラム .Xr fconv 1 (ports コレクションの一部です) か、これに類するツール を使用してください。 .bp .Sh ディスクタイプ .TS H expand, box; r | r | r | r | r. タイプ シリンダ ヘッド セクタ サイズ = 01 306 4 17 10MB 02 615 4 17 20MB 03 615 6 17 30MB 04 940 8 17 62MB 05 940 6 17 46MB _ 06 615 4 17 20MB 07 462 8 17 30MB 08 733 5 17 30MB 09 900 15 17 112MB 10 820 3 17 20MB _ 11 855 5 17 35MB 12 855 7 17 49MB 13 306 8 17 20MB 14 733 7 17 42MB 15 976 15 17 121MB _ 16 612 4 17 20MB 17 977 5 17 40MB 18 977 7 17 56MB 19 1024 7 17 59MB 20 733 5 17 30MB _ 21 733 7 17 42MB 22 733 5 17 30MB 23 306 4 17 10MB 24 925 7 17 53MB 25 925 9 17 69MB _ 26 754 7 17 43MB 27 754 11 17 68MB 28 699 7 17 40MB 29 823 10 17 68MB 30 918 7 17 53MB _ 31 1024 11 17 93MB 32 1024 15 17 127MB 33 1024 5 17 42MB 34 612 2 17 10MB 35 1024 9 17 76MB _ 36 1024 8 17 68MB 37 615 8 17 40MB 38 987 3 17 24MB 39 987 7 17 57MB 40 820 6 17 40MB _ 41 977 5 17 40MB 42 981 5 17 40MB 43 830 7 17 48MB 44 830 10 17 68MB 45 917 15 17 114MB _ 46 1224 15 17 152MB .TE .bp .Sh 擬似ディスクへの DOS のインストール doscmd の擬似ハードディスクに DOS をインストールするには、 次のようにします: .Bl -tag -width XXXX .It 1 少なくとも次の記述を含む .Pa .doscmdrc を作成します: .Bd -literal -offset indent assign A: /dev/fd0.1440 1440 assign A: /dev/fd0.720 720 assign hard boot_drive 80 2 2 .Ed .Pp A: ドライブに対応するロウファイル (訳注: キャラクタスペシャルファイル) を、 システムに応じて修正する必要があるかもしれません。 この例では、HD ドライブを最初に試し、DD ドライブを次に試します (訳注: HD = High Density; 高密度、DD = Double Density; 倍密度)。 .\" HD = Hard Disk と思ってしまうと混乱するので、訳注を追加したい。 .\" HD = High Density, DD = Double Density .\" 1998/09/20 by horikawa@jp.FreeBSD.org .Pp ここでは、 ロウデバイスやロウファイルのみを使用する必要があることに注意してください。 加工された (cooked) デバイス (訳注: ブロックスペシャルファイル) を使用しないこと! (おそらくハードディスクは大丈夫でしょうが、フロッピは確実に駄目です) .Pp .Li boot_drive は、ブート可能なイメージを格納するファイルの名前です。 .Li 80 2 2 という 3 つの数字は、 ドライブが 80 個のシリンダと 2 個のヘッドとトラックあたり 2 個のセクタを 持つことを示します。 これは、MS-DOS 5.0 を .Pa config.sys と .Pa autoexec.bat のファイルと共にインストールすることが可能な、最小のドライブです。 .Pp もっと大きなブートドライブを作成したいかもしれません。 .Pp ファイル .Pa boot_drive は存在する必要がありますので、touch コマンドで作成してください。 .It 2 MS-DOS をブート可能で fdisk, format, sys コマンドを含むフロッピディスクを、 A: ドライブに挿入してください。 ファイル redir.com もフロッピにコピーしてください。 この際、msdos ファイルシステム型でフロッピをマウントするか、mtools を使用してください (例えば .Dq Li mwrite redir.com a: とします)。 .It 3 doscmd を実行してください。 .It 4 > プロンプトにて、 .Li fdisk とタイプします。 .It 5 .Li Create DOS partition or Logical Drive を選択します。 .It 6 .Li Create Primary DOS Partition を選択します。 .It 7 大きさを指定します (典型的にはドライブ全体です。それでも非常に小さいものです。) .It 8 .Li を何度か押して、FDISK を終了します。 .It 9 doscmd が実行中断するでしょうから、 そうなった場合、doscmd を再度実行します。 .It 10 > プロンプトにて、 .Li format c: とタイプし、指示に従います。 .It 11 > プロンプトにて、 .Li sys c: とタイプします。 .It 12 doscmd を終了します。 .It 13 ドライブからフロッピを取り除くか、 .Bd -literal -offset indent boot C: .Ed という行をあなたの .Pa .doscmdrc に加えてください。 .It 14 新しいディスクから DOS を動かします。 config.sys と autoexec.bat の両ファイルが欲しいでしょうから、 まず最初は次のようにします: .Bd -literal -offset indent > copy con: config.sys LASTDRIVE=Z ^Z > copy con: autoexec.bat @echo off redir.com ^Z .Ed .It 15 doscmd を終了します。 .It 16 .Fx ディスクを組み込む魔法のプログラム .Li redir を自動的に呼び出す、ブート可能な擬似ディスクが完成しました。 FreeBSD ディスクを使用するためには、次の行をあなたの .doscmdrc に追加します: .Bd -literal -offset indent assign D: /usr/dos assign P: -ro /usr/prb .Ed 名前の問題により、 アクセスできないファイルがあるかもしれないことに注意してください。 .El .Sh 診断 実装されていない割り込みに出会うと、 .Nm は次のようなメッセージを表示し終了します: .Pp .Dl Unknown interrupt 21 function 99 .Pp .Pp .Nm .Fl x スイッチ指定時に、 .Ic X11 support not compiled in というメッセージが表示された場合、環境変数 .Ev X11BASE を X Window System をインストールした場所 (通常 .Pa /usr/X11R6 ) に設定し、ソースディレクトリ (通常 .Pa /usr/src/usr.bin/doscmd ) で .Ic make install とタイプすることで、本機能を有効にすることができます。 このように動作するためには、 X プログラマキットがインストールしてある必要があります。 .Sh 作者 .An Pace Willisson , .An Paul Borman .Sh 歴史 .Nm は .Tn BSD/386 に初めて登場しました。 diff --git a/ja_JP.eucJP/man/man1/du.1 b/ja_JP.eucJP/man/man1/du.1 index 34ff054943..100759822a 100644 --- a/ja_JP.eucJP/man/man1/du.1 +++ b/ja_JP.eucJP/man/man1/du.1 @@ -1,150 +1,150 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)du.1 8.2 (Berkeley) 4/1/94 -.\" %FreeBSD: src/usr.bin/du/du.1,v 1.24 2002/05/16 02:19:01 trhodes Exp % +.\" %FreeBSD: src/usr.bin/du/du.1,v 1.25 2002/12/12 17:26:00 ru Exp % .\" .\" $FreeBSD$ .\" .Dd April 1, 1994 .Dt DU 1 .Os .Sh 名称 .Nm du .Nd ディスク使用統計の表示 .Sh 書式 .Nm du .Op Fl H | L | P .Op Fl I Ar mask .Op Fl a | s | d Ar depth .Op Fl c .Op Fl h | k .Op Fl x .Op Ar .Sh 解説 .Nm ユーティリティは、引数に指定された各ファイル、および 引数に指定された各ディレクトリを根とするファイル階層内にある 各ディレクトリ内のディスク使用統計をブロック単位で表示します。 引数にファイルが指定されなかった場合には、カレントディレクトリを 根とするファイル階層内のブロック単位の使用統計を表示します。 .Fl k フラグを指定した場合、表示は 1024 バイトブロックにて行います。 指定しなかった場合は、 .Xr getbsize 3 が使用され、どのブロックサイズを使用するかを決定します。 端数となるブロック数は切り上げられます。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl H コマンドラインに指定されたシンボリックリンクをたどります。 階層内を調べている途中で見つかったシンボリックリンクはたどりません。 .It Fl L コマンドラインのシンボリックリンク および階層内を調べている途中で見つかったシンボリックリンクをたどります。 .It Fl I Ar mask 指定した .Ar mask に適合するファイルおよびディレクトリを無視します。 .It Fl P シンボリックリンクを全くたどりません。 これがデフォルトです。 .It Fl a ファイル階層内の各ファイルの情報も表示します。 .It Fl h 「人間が読める」出力。単位のサフィックス、 Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte を付けます。 .It Fl r 読めないディレクトリやオープンできないファイルといったメッセージを生成します。 これはデフォルトです。 このオプションは、単に .St -xpg4 準拠のためだけにあります。 .It Fl s 指定したファイルのエントリを表示します。( .Fl d Li 0 と等価です) .It Fl d Ar depth 深さ .Ar depth までの全てのファイルとディレクトリだけを表示します. .It Fl c 総計を表示します。 .It Fl k 1024 バイト (1 キロバイト) ブロックとして報告します。 .It Fl x ファイルシステムマウントポイントはたどりません。 .El .Pp .Nm ユーティリティは、 .Fl H もしくは .Fl L オプションが指定されない限り、シンボリックリンクの大きさは リンクの参照先の大きさではなく、シンボリックリンク自身の 占める大きさとして数えます。 もし .Fl H もしくは .Fl L のどちらかのオプションが指定された場合には、 たどられた全てのシンボリック リンクの大きさは数えられず、また表示もされません。 .Pp 複数のハードリンクを持つファイルは、 .Nm の実行中、1 回しか数えられず、1 回しか表示されません。 .Sh 環境変数 .Bl -tag -width BLOCKSIZE .It Ev BLOCKSIZE .Ev BLOCKSIZE 環境変数が指定されていて .Fl k オプションが指定されていないと、ブロック数はそのブロックサイズ単位で 表示されます。 .Ev BLOCKSIZE 環境変数が指定されておらず .Fl k オプションが指定されていないと、ブロック数は 512 ブロックサイズ単位で 表示されます。 .El .Sh 関連項目 .Xr df 1 , .Xr fts 3 , .Xr symlink 7 , .Xr quot 8 .Sh 歴史 .Nm コマンドは、 .At v1 で登場しました。 diff --git a/ja_JP.eucJP/man/man1/expand.1 b/ja_JP.eucJP/man/man1/expand.1 index 1913a5b193..7e7818304f 100644 --- a/ja_JP.eucJP/man/man1/expand.1 +++ b/ja_JP.eucJP/man/man1/expand.1 @@ -1,124 +1,117 @@ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)error.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/expand/expand.1,v 1.11 2002/06/15 10:52:20 tjr Exp % +.\" %FreeBSD: src/usr.bin/expand/expand.1,v 1.12 2002/11/26 10:57:57 ru Exp % .\" $FreeBSD$ .\" .Dd April 21, 2002 .Dt EXPAND 1 .Os .Sh 名称 .Nm expand , .Nm unexpand .Nd タブと空白文字の変換 .Sh 書式 .Nm expand .Oo .Fl t .Sm off .Ar tab1 , tab2 , ... , tabn .Sm on .Oc .Op Ar .Nm unexpand .Op Fl a .Oo .Fl t .Sm off .Ar tab1 , tab2 , ... , tabn .Sm on .Oc .Op Ar .Sh 解説 .Nm ユーティリティは、指定されたファイルまたは標準入力を読み込み、 タブを空白文字に変換して標準出力に出力します。 バックスペース文字はそのまま出力し、 同時にタブの計算に用いるカラム位置カウンタを一つ減じます。 .Nm ユーティリティは、 (ソートの前、特定のカラムに注目したいとき、など) タブを含んだテキストファイルの前処理用に便利です。 .Pp .Nm unexpand ユーティリティは、 .Nm とは逆に、空白文字をタブに戻します。デフォルトでは、 行頭の空白文字とタブだけを、できるだけ長いタブの並びに戻します。 .Pp オプションとしては以下のものがあります: .Bl -tag -width flag .It Fl a -.Pq Nm unexpand No のみ +.Nm ( unexpand +のみ)。 行頭でなくても、二つ以上の空白文字が続いており、空白文字をタブに置き換えれば サイズが圧縮されるような箇所はすべてタブに置き換えられます。 -.It Xo -.Fl t -.Sm off -.Ar tab1 , tab2 , ... , tabn -.Sm on -.Xc +.It Fl t Sm Ar tab1 , tab2 , ... , tabn Sm コラム位置 -.Ar tab1 , -.Ar tab2 , -\&..., -.Ar tabn +.Ar tab1 , tab2 , ... , tabn にタブストップを設定します。 単一の数値が指定された場合、 デフォルト値の 8 の代りに、 その数値だけ離れたコラム位置にタブストップを設定します。 .El .Sh 環境変数 .Ev LANG , .Ev LC_ALL , .Ev LC_CTYPE の環境変数が、 .Xr environ 7 の記述通りに、 -.Nm expand +.Nm と .Nm unexpand の実行に影響します。 .Sh 診断 .Ex -std expand unexpand .Sh 規格 .Nm expand および .Nm unexpand のユーティリティは、 .St -p1003.1-2001 に適合しています。 .Sh 歴史 .Nm コマンドは .Bx 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/expr.1 b/ja_JP.eucJP/man/man1/expr.1 index c178774082..9e51314651 100644 --- a/ja_JP.eucJP/man/man1/expr.1 +++ b/ja_JP.eucJP/man/man1/expr.1 @@ -1,257 +1,257 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1993 Winning Strategies, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Winning Strategies, Inc. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software withough specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/bin/expr/expr.1,v 1.21 2002/10/28 00:15:42 wollman Exp % +.\" %FreeBSD: src/bin/expr/expr.1,v 1.23 2002/11/26 17:55:40 ru Exp % .\" $FreeBSD$ .\" .Dd May 10, 2002 .Dt EXPR 1 .Os .Sh 名称 .Nm expr .Nd 式を評価する .Sh 書式 .Nm expr .Op Fl e .Ar expression .Sh 解説 すべての演算子およびオペランドは個別の引数として渡す必要があります。 演算子にはコマンドインタプリタにとって特別な意味を持つものがありますので、 適切にクォートする必要があります。 整数オペランドはすべて基数 10 として解釈されます。 .Pp 数値演算は、符号付き整数計算で行われます。 .Fl e フラグを指定すると、演算は C の .Vt intmax_t データ型 (使用可能な最大整数型) を使用し、 .Nm は数値あふれを検出するとエラー表示を返します。 整数に変換するとあふれるような大きさの数値オペランドが指定されると、 これは代りに文字列として解釈されます。 .Fl e を指定しないと、数値演算および整数引数の解釈は、 .Vt long データ型を使用し、C 標準のルールに従って黙って桁あふれを起します。 .Pp 以下に、使える演算子を優先度の低い順に示します。 すべて左結合です。 同じ優先度の演算子は、{ } で括ってあります。 .Bl -tag -width indent .It Ar expr1 Li | Ar expr2 .Ar expr1 が空の文字列でも 0 でもない場合は .Ar expr1 を評価した結果を返し、さもなければ .Ar expr2 を評価した結果を返します。 .It Ar expr1 Li & Ar expr2 .Ar expr1 と .Ar expr2 の各々の評価結果が、ともに空の文字列でも 0 でもない場合は .Ar expr1 を評価した結果を返し、さもなければ 0 を返します。 .It Ar expr1 Li "{=, >, >=, <, <=, !=}" Ar expr2 .Ar expr1 と .Ar expr2 がともに整数ならば整数としての比較結果を返し、さもなければ 文字列とみなして、ロカールに従った照合方法を用いた比較結果を 返します。 いずれの場合も、指定された関係が「真」ならば 1 を、「偽」ならば 0 を返します。 .It Ar expr1 Li "{+, -}" Ar expr2 整数値の引数に関して、加算あるいは減算した結果を返します。 .It Ar expr1 Li "{*, /, %}" Ar expr2 整数値の引数に関して、乗算、整数除算、または剰余の結果を返します。 .It Ar expr1 Li : Ar expr2 .Dq \&: 演算子は、 .Ar expr1 と .Ar expr2 のパターンマッチを行います。 .Ar expr2 は、正規表現でなければなりません。 またこの正規表現は、暗黙のうちに .Dq ^ が仮定されることにより、文字列の先頭から比較を始めることに なります。 .Pp パターンマッチが成功した場合、もし正規表現中に少なくとも1つ .Dq "\e(...\e)" の形の部分正規表現が含まれていたならば、このうち .Dq "\e1" に相当する文字列を返します。 このような部分正規表現が含まれていなければ、マッチした文字列の 長さを返します。 またパターンマッチが失敗した場合、もし部分正規表現が含まれて いたならば空の文字列を返し、含まれていない場合は 0 を返します。 .El .Pp 丸括弧 .Dq "()" は通常と同じくグループ分けに用いることができます。 .Pp .Nm ユーティリティは、 演算子かもしれない引数とオペランドかもしれない引数を字句的には区別しません。 字句的に演算子と等しいオペランドは、構文エラーと解釈されます。 回避方法については、後述の使用例を参照してください。 .Pp 一般に .Nm コマンドの構文は、歴史的なもので不便です。 新規アプリケーションでは、 .Nm の代りにシェルの数値演算を使用することをお勧めします。 .Ss 以前の実装との互換性 -.Fx 4.x +.Fx +4.x 互換性が有効にならない限り、本バージョンの .Nm は、 -\*[Px] +.Tn POSIX Utility Syntax Guidelines を支持します。 このガイドラインでは、マイナス記号が付いている先行引数は、 プログラムに対するオプションとみなすことが必要です。 標準の .Fl Fl 構文を使用し、このような解釈を避けられます。 しかしながら、以前の .Fx バージョンを含む多くの歴史的な .Nm 実装は、この構文を許しません。 正しい解釈を保証する可搬性のある方法については、 後述の使用例を参照してください。 .Xr check_utility_compat 3 関数 ( .Fa utility 引数を .Dq Li expr にします) を使用して、互換モードを有効にすべきかどうか判定できます。 可搬的でない使用方法を避けるように簡単にできないような複雑なスクリプトで .Nm が使用されている場合に、 移行およびデバッグのためにこの機能を使用することを意図しています。 互換モードを有効にすると、暗黙的に .Fl e オプションを有効にします。 これは、 .Fx における歴史的な .Nm の動作に合致するからです。 歴史的な理由で、環境変数 .Ev EXPR_COMPAT を定義しても互換モードが有効になります。 -.Pp .Sh 環境変数 .Bl -tag -width ".Ev EXPR_COMPAT" .It Ev EXPR_COMPAT 設定すると、互換モードが有効になります。 .El .Sh 使用例 .Bl -bullet .It .Xr ( sh 1 構文での) 以下の例は、変数 .Va a に 1 を加えます: .Dl "a=$(expr $a + 1)" .It .Va a の値が負数だと、これは失敗します。 .Va a が負数の場合に .Nm コマンドへのオプションだと解釈されないようにするには、 この式を次のようにする必要があります: .Dl "a=$(expr 1 + $a)" .It より一般的には、負数となる可能性のある値は括弧で括ります: .Dl "a=$(expr \e( $a \e) + 1)" .It 以下の例は、変数 .Va a に設定されたパス名のうち、 ファイル名に当たる部分を表示します。 .Va a はパス .Pa / を表現している可能性があるので、 これが割り算の演算氏として解釈されないようにする必要があります。 .Li // 文字がこの曖昧性を解決します。 .Dl "expr \*q//$a\*q \&: '.*/\e(.*\e)'" .El .Pp 以下の例は、変数 .Va a に含まれる文字の数を返します。 繰り返しになりますが、 .Va a がハイフンで開始する可能性がある場合、 .Nm へのオプションとして解釈されることを避ける必要があります。 .Bl -bullet .It .Nm コマンドが .St -p1003.1-2001 に適合している場合、これは単純です: .Dl "expr -- \*q$a\*q \&: \*q.*\*q" .It 一方、古いシステムへも可搬とするためには、より複雑なコマンドが必要となります: .Dl "expr \e( \*qX$a\*q \&: \*q.*\*q \e) - 1" .El .Sh 診断 .Nm ユーティリティは、以下の値のうち1つを返して終了します。 .Bl -tag -width indent -compact .It 0 式は空文字列でも 0 でもない .It 1 式は空文字列か、0 であった .It 2 式が無効だった .El .Sh 関連項目 .Xr sh 1 , .Xr test 1 , .Xr check_utility_compat 3 .Sh 規格 .Nm expr ユーティリティは、互換モードが有効でない場合には、 .St -p1003.1-2001 に適合します。 .Fl e フラグは拡張です。 diff --git a/ja_JP.eucJP/man/man1/file.1 b/ja_JP.eucJP/man/man1/file.1 index 5d65f28b2b..b941c2b61c 100644 --- a/ja_JP.eucJP/man/man1/file.1 +++ b/ja_JP.eucJP/man/man1/file.1 @@ -1,530 +1,530 @@ -.\" %FreeBSD: src/usr.bin/file/file.1,v 1.29 2002/09/19 13:53:17 ru Exp % +.\" %FreeBSD: src/usr.bin/file/file.1,v 1.30 2002/12/12 17:26:00 ru Exp % .\" $Id: file.man,v 1.42 2002/07/03 18:26:37 christos Exp % .\" .\" $FreeBSD$ .Dd April 4, 2001 .Dt FILE 1 "Copyright but distributable" .Os .Sh 名称 .Nm file .Nd ファイルの種類を判定する .Sh 書式 .Nm .Op Fl bciknsvzL .Op Fl f Ar namefile .Op Fl m Ar magicfiles .Ar .Nm .Fl C .Op Fl m Ar magicfile .Sh 解説 このマニュアルは、 引数で指定されたファイルの種類を判定する、 .Nm ユーティリティのバージョン 3.39 について記載しています。 判定のために、ファイルシステムテスト、マジックナンバテスト、言語テストの 3 つのテストをこの順に実行し、 .Em 最初に 判定できた結果からファイルの種類を表示します。 .Pp ファイルの種類として表示されるのは、 .Dq Li text (印字可能文字と少数の制御文字だけのファイルで、 .Tn ASCII 端末に表示した場合、 問題が起こらないもの)、 .Dq Li executable ( .Ux カーネル等に理解可能な形にコンパイルされたプログラムを 含むファイル)、その他のものを意味する .Dq Li data (data は、通常 .Sq バイナリ か表示不能なもの) のうちの 1 つです。 例外は、内部フォーマットがよく知られた、 バイナリデータを含むファイル (コアファイルや tar アーカイブ) です。 ファイル .Pa /usr/share/misc/magic やプログラムそのものを変更するときは、 .Em "これらのキーワードを残して下さい" 。 ディレクトリ内のすべての可読なファイルは、 単語 .Dq Li text を表示することが期待されています。 Berkeley で行われたように、 .Dq Li "shell commands text" を .Dq Li "shell script" と変更するようなことはしないで下さい。 ファイル .Pa /usr/share/misc/magic は、 .Nm のソース配布中の .Pa Magdir サブディレクトリ中の大量の小さなファイルから機械的に構築されることに 注意してください。 .Pp ファイルシステムテストは、 .Xr stat 2 システムコールからの戻り値を調べることに基づいています。 このプログラムは、ファイルが空であるかどうか、ある種の 特殊ファイルであるかどうかを調べます。 使っているシステムに合った既知のファイルの種類 (システムに実装されたソケット、シンボリックリンク、 名前付きパイプ (FIFO)) は、システムヘッダファイル .Aq Pa sys/stat.h で定義されていれば表示されます。 .Pp マジックナンバテストは、ファイルが固定フォーマットのデータであるか どうかをチェックするために使われます。 よい例が、実行可能なバイナリ実行形式 (コンパイルされたプログラム) .Pa a.out ファイルです。このフォーマットは標準インクルードディレクトリ内の .Aq Pa a.out.h や場合により .Aq Pa exec.h で定義されています。 実行ファイルは、 ファイルの先頭近くの特定の場所に、 .Sq マジックナンバ を持ちます。 これは .Ux オペレーティングシステムに対し、 ファイルがバイナリ実行形式であり、 どのタイプの実行可能ファイルであるかを知らせます。 .Sq マジックナンバ の概念は拡張され、データファイルにも適用されています。 ファイルの先頭に近い固定位置に固定識別子があるファイルは、 このように記述できます。 これらのファイル識別情報は、組み込みのマジックファイル .Pa /usr/share/misc/magic.mgc または組み込みファイルが存在しない場合は .Pa /usr/share/misc/magic から読み込まれます。 .Pp ファイルがマジックファイルのどのエントリにもマッチしない場合、 text ファイルに見えるかどうか検査されます。 .Tn ASCII , .Tn ISO-8859-x , 非 ISO 8-bit 拡張 ASCII 文字集合 (Macintosh および IBM PC システムで使用), .Tn UTF-8-encoded Unicode , .Tn UTF-16-encoded Unicode , .Tn EBCDIC の文字集合が区別可能であり、 これには各文字集合における印字可能 text を構成する バイトの範囲およびシーケンスを使用します。 ファイルがこれらのテストのいずれかを通過した場合、文字集合が報告されます。 .Tn ASCII , .Tn ISO-8859-x , .Tn UTF-8 , extended-ASCII ファイルは .Dq text として識別されます。 なぜなら、ほとんどどのような端末においても読めるからです。 .Tn UTF-16 および .Tn EBCDIC は .Dq Li "character data" でしかありません。 これらは text を含みますが、読む前に変換が必要だからです。 さらに、 .Nm は text タイプファイルの他の特性も判定しようとします。 ファイルの行の終端が、 .Ux 標準の LF ではなく、 CR, CRLF, NEL のいずれかである場合、そのことが報告されます。 組み込みのエスケープシーケンスや重ね打ちを含むファイルについても、 識別されます。 .Pp text タイプファイルで使用されている文字集合を判定した後、 その言語を推定しようとします。 言語テストは、ファイルの始めの数ブロックに 特定の文字列 ( .Pa Inames.h を参照) があるかどうかを探します。たとえばキーワード .Ic .br があればそれはおそらく .Xr troff 1 の入力ファイルであり、 .Ic struct というキーワードは、C 言語のプログラムであることを示しています。 こうした推定方法は、前述の 2 つのテストより信頼性が低いため、 最後に行われます。言語テストルーチンは ( .Xr tar 1 アーカイブのような) その他のファイルもチェックします。 .Pp 上記の文字集合のいずれで記述されているとも識別できなかったファイルは、 単に .Dq Li data と呼ばれます。 .Sh オプション .Bl -tag -width indent .It Fl b 出力行の前にファイル名を付けません (短縮モード)。 .It Fl c マジックファイルを解析した形式を、調査できるように表示します。 通常、 新しいマジックナンバファイルを使う前にデバッグするために、 .Fl m オプションとともに用います。 .It Fl C .Pa magic.mgc 出力ファイルを書きます。 これには構文解析される前のバージョンのファイルが含まれます。 .It Fl f Ar namefile 引数の前に .Ar namefile から調べるべきファイル名を (1 行に 1 つ) 読み込みます。 .Ar namefile もしくは引数の filename は少なくとも 1 つは指定しなければなりません。 標準入力のファイルの種類を判定させる場合は、 ファイル名として、 .Dq Fl を指定します。 .It Fl i .Nm に、伝統的な人間が読める形式の代りに、 mime タイプ文字列を出力させます。 よって、 .Dq Li "ASCII text" の代りに .Dq Li "text/plain; charset=us-ascii" となります。 本オプションが動作するようにするために、 .Nm はファイル認識方法 (例えば、多くの text ファイルタイプやディレクトリ等) を変え、 別の .Pa magic ファイルを使用します (後述の .Sx 関連ファイル 節を参照してください)。 .It Fl k 最初にマッチしても停止せずに、処理を継続します。 .It Fl m Ar list マジックナンバを含む別のファイルの list を指定します。 これは、1 つのファイルか、コロン (:) で分けられたファイルのリストです。 .It Fl n 各ファイルのチェック後に、標準出力をフラッシュします。 ファイルの一覧をチェックしているときのみ、有用です。 ファイルタイプをパイプから出力するプログラムにおいて使用することを意図します。 .It Fl v プログラムのバージョンを表示して、終了します。 .It Fl z compress で圧縮されたファイルの中身を見ようとします。 .It Fl L オプションは(システムがシンボリックリンクを提供していれば)、 .Xr ls 1 コマンドの .Fl L オプションと同様にシンボリックリンクをたどって実際のファイルの中 身の種類を判定します。 .It Fl s 通常、 .Nm が引数のファイルの読み込みとタイプの判定を行うのは、 .Xr stat 2 が通常ファイルであると報告した場合のみです。 これにより問題を回避しています。 なぜなら、特殊ファイルの読み込みは、 特定の結果を発生させる場合があるからです。 .Fl s オプションを指定すると、 .Nm は、ブロックおよびキャラクタの特殊ファイルも読み込みます。 これは、raw ディスクパーティション中のデータに存在する ファイルシステムタイプの判定に有用です。 なぜなら、raw ディスクパーティションはブロック型特殊ファイルであるからです。 本オプションはまた、 .Nm が .Xr stat 2 が報告するファイルの大きさを無視するようにさせます。 なぜなら、システムによっては、 raw ディスクパーティションの大きさは 0 であると報告するものがあるからです。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /usr/share/misc/magic.mime" -compact .It Pa /usr/share/misc/magic.mgc デフォルトの組み込まれたマジックナンバのリスト .It Pa /usr/share/misc/magic デフォルトのマジックナンバのリスト .It Pa /usr/share/misc/magic.mime .Fl i が指定されて mime タイプを出力する場合に使用する、 デフォルトのマジックナンバのリスト .El .Sh 環境変数 環境変数 .Ev MAGIC は、デフォルトのマジックナンバファイルを指定するために 使うことができます。 .Sh 関連項目 .Xr hexdump 1 , .Xr od 1 , .Xr strings 1 , .Xr magic 5 .Sh 標準適合性 FILE(CMD) の .St -svid4 の曖昧な記述から 判断する限りにおいては、 このプログラムはこの仕様を越えていると思われます。 同名の System V のプログラムと、ほとんど動作は同じです。 しかし、このバージョンはより多くのマジックを知っているので、多くの場合に 異なった (より正確な) 出力を出します。 .Pp このバージョンと System V のものとの大きな違いは、 このバージョンは全ての空白を区切り文字として扱うため パターン内の空白はエスケープしなければならないということです。 たとえば、 .Pp .Dl ">10 string language impress\ (imPRESS data)" .Pp とマジックファイルに書かれていた場合は、次のように 変更せねばなりません。 .Pp .Dl ">10 string language\e impress (imPRESS data)" .Pp またこのバージョンでは、バックスラッシュを含んでいる パターンもエスケープしなくてはいけません。たとえば、 .Pp .Dl "0 string \ebegindata Andrew Toolkit document" .Pp とマジックファイルに書かれていた場合は、次のように 変更せねばなりません。 .Pp .Dl "0 string \e\ebegindata Andrew Toolkit document" .Pp Sun Microsystems の SunOS リリース 3.2 もしくはそれ以降には、 System V 由来の .Xr file 1 コマンドが含まれていますが、拡張がなされています。 このバージョンは SUN のものとは、細かい点でしか異なりません。 このバージョンには .Sq Ic & 演算子の拡張が含まれています。 使い方は、次のようなものです。 .Pp .Dl ">16 long&0x7fffffff >0 not stripped" .Sh マジックディレクトリ マジックファイルのエントリは様々なソース (主に USENET) から集められたり、様々な作者から提供されました。 .An Chirstos Zoulas (下記のアドレス) が、 マジックファイルエントリをさらに集めたり訂正するでしょう。 統合したマジックファイルエントリは、定期的に配布されるでしょう。 .Pp マジックファイルにおけるエントリの順序は 重要です。 使っているシステムによって、エントリの順序が正しくなくなることが あります。 もし、あなたの古い .Nm コマンドがマジックファイルを使っているのなら、 比較のため古いマジックファイルを保存して下さい (たとえば、 .Pa /usr/share/misc/magic.orig という名前に変更します)。 .Sh 使用例 .Bd -literal $ file file.c file /dev/{wd0a,hda} file.c: C program text file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped /dev/wd0a: block special (0/0) /dev/hda: block special (3/0) $ file -s /dev/wd0{b,d} /dev/wd0b: data /dev/wd0d: x86 boot sector $ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10} /dev/hda: x86 boot sector /dev/hda1: Linux/i386 ext2 filesystem /dev/hda2: x86 boot sector /dev/hda3: x86 boot sector, extended partition table /dev/hda4: Linux/i386 ext2 filesystem /dev/hda5: Linux/i386 swap file /dev/hda6: Linux/i386 swap file /dev/hda7: Linux/i386 swap file /dev/hda8: Linux/i386 swap file /dev/hda9: empty /dev/hda10: empty $ file -i file.c file /dev/{wd0a,hda} file.c: text/x-c file: application/x-executable, dynamically linked (uses shared libs), not stripped /dev/hda: application/x-not-regular-file /dev/wd0a: application/x-not-regular-file .Ed .Sh 歴史 .Nm コマンドは、少なくとも Research Version 4 (マニュアルページの日付は、1973 年 11 月) からはどの .Ux にもありました。 System V バージョンはある重要な変更、 すなわち外部マジックナンバリストを導入しました。 これによってプログラムのスピードはわずかに低下しましたが、 更にまた柔軟になりました。 .Pp このプログラムは、System V バージョンを基づいており、 .An Ian Darwin Aq ian@darwinsys.com によって、他の誰かのソースコードを見ることなく 書かれました。 .Pp .An John Gilmore は、コードを拡張し、最初の版よりもよいものにしました。 .An Geoff Collyer は、不適当なところが数箇所あるのを発見し、 いくつかマジックファイルエントリを提供しました。 .An Rob McMahon Aq cudcv@warwick.ac.uk は、1989 年に、 .Sq Ic & 演算子を寄贈しました。 .Pp .An Guy Harris Aq guy@netapp.com は、1993 年から現在に至り、多くの変更を行っています。 .Pp 基本開発と 1990 年から現在に至るメンテナンスを、 .An Christos Zoulas Aq christos@astron.com が行っています。 .Pp 2000 年に .An Chris Lowth Aq chris@lowth.com が修正を行い、 .Fl i オプションが mime タイプ文字列を出力し、 別のマジックファイルと内部ロジックを使用するようになりました。 .Pp 2000 年 7 月に .An Eric Fischer Aq enf@pobox.com が修正を行い、 文字コードを識別し、非 .Tn ASCII ファイルの原語を識別しようとするようになりました。 .Pp .Pa Magdir ディレクトリ ( .Pa /usr/share/misc/magic ファイルのソース) に対する寄贈者は、ここに含めるには長過ぎます。 ご了承ください。 .Sh 法律上の注意 Copyright (c) Ian F. Darwin, Toronto, Canada, 1986-1999. Covered by the standard Berkeley Software Distribution copyright; see the file .Pa LEGAL.NOTICE in the source distribution. .Pp The files .Pa tar.h and .Pa is_tar.c were written by .An John Gilmore from his public-domain .Nm tar program, and are not covered by the above license. .Sh バグ .Pa Magdir から .Pa Magic ファイルを自動的に作成するよりよい方法があるはずです。 それは何なのでしょうか。より起動を速くするため マジックファイルをバイナリにコンパイルするとよいでしょう。 (たとえば .Xr ndbm 3 あるいは、異機種ネットワーク環境では固定長の .Tn ASCII 文字)。 そうすれば、同名の バージョン 7 のプログラムと同じぐらいの速さで System V バージョンの柔軟性を持ったプログラムとなるでしょう。 .Pp .Nm ユーティリティには、正確さよりも 速度を重視したアルゴリズムが いくつかあるので text ファイルの内容については 間違うことがあります。 .Pp text ファイルのサポート (元々はプログラミング言語のため) は 単純で、不十分であり、更新には再コンパイルが必要です。 .Pp 複数の行に渡るものをサポートするため .Ic else 項があるべきです。 .Pp マジックファイルと キーワードの正規表現を サポートするべきです。 .Tn "ASCII TAB" をフィールドの識別子にすることは醜く、 ファイルの編集を難しくしていますが、残されています。 .Pp キーワードに大文字を許すことが勧められます。たとえば、 .Xr troff 1 コマンドと man page マクロの区別です。 正規表現のサポートで、このことは簡単になるでしょう。 .Pp .Tn FORTRAN に対してプログラムが働きません。 行の先頭にインデントされているキーワードを見ることにより .Tn FORTRAN だと判別すべきです。 正規表現のサポートによりこれは簡単になるでしょう。 .Pp .Pa ascmagic に入っている キーワードのリストは、おそらく .Pa Magic ファイルに 入れるべきものです。 これはオフセットの値として .Sq Ic * のようなキーワードを 使うことで可能でしょう。 .Pp 最初の文字、最初の語、最初の long などに関する テストを 最初に読み込んだときに全て行うことができるよう マジックファイルを並べ直す最適化法はないだろうか。 マジックファイルの矛盾について述べるようにならないか。 エントリの順序を マジックファイル上の位置ではなく、 ファイルオフセット順にすることはできないだろうか。 .Pp プログラムは、推定が .Dq どれぐらいよい のかを知る方法を 提供すべきです。ファイルの最初の 5 文字が .Dq Li "From " であるときに推測をしても、 .Dq Li "Newsgroups:" や .Dq Li "Return-Path:" といった文字による推測ほどよくはないので、推測結果を 捨てることになります。しかし、もしそういった文字が 現れなければ最初の推定を使わなければなりません。 .Pp このプログラムは、いくつかの商用の .Nm コマンドより遅いです。 複数の文字コードのサポートにより、より遅くなっています。 .Pp このマニュアルページ、特にこの節が長過ぎます。 .Sh 入手性 オリジナル作者の最新のバージョンを anonymous FTP で、 .Pa ftp.deshaw.com の .Pa /pub/file/file-X.YY.tar.gz から手に入れることができます。 diff --git a/ja_JP.eucJP/man/man1/find.1 b/ja_JP.eucJP/man/man1/find.1 index 97e0d72677..3018a75387 100644 --- a/ja_JP.eucJP/man/man1/find.1 +++ b/ja_JP.eucJP/man/man1/find.1 @@ -1,875 +1,863 @@ .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)find.1 8.7 (Berkeley) 5/9/95 -.\" %FreeBSD: src/usr.bin/find/find.1,v 1.52 2002/08/27 19:14:08 charnier Exp % +.\" %FreeBSD: src/usr.bin/find/find.1,v 1.54 2002/12/12 17:26:00 ru Exp % .\" .\" $FreeBSD$ .Dd May 3, 2001 .Dt FIND 1 .Os .Sh 名称 .Nm find .Nd ディレクトリツリーを再帰的に下ってファイルを捜す .Sh 書式 .Nm find .Op Fl H | Fl L | Fl P .Op Fl EXdsx .Op Fl f Ar pathname .Op Ar pathname ... .Ar expression .Sh 解説 .Nm ユーティリティは、 .Ar pathname に対してディレクトリツリーを再帰的に下って、 ツリー上の各ファイルについて .Ar expression (後に示す .Dq プライマリ と .Dq 演算子 から構成されます) で指定された処理を実行します。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl E .Ic -regex および .Ic -iregex のオプションの後の正規表現を、 基本正規表現 (BRE) の代りに拡張 (最近の) 正規表現として解釈します。 .Xr re_format 7 マニュアルページは、両方のフォーマットを完全に解説しています。 .It Fl H .Ar file で指定したファイルがシンボリックリンクファイルだった場合、シンボリックリンク 自体ではなく、リンク先のファイルに関してファイル情報とファイルタイプ ( .Xr stat 2 参照) を使って .Ar expression の処理をするように指定します。 もしリンク先のファイルがなければ、 シンボリックリンク自体を処理の対象とします。 コマンドラインからの .Ar file で直接指定されたのではなく、 ディレクトリツリー上で見つかったシンボリックリンクファイルに関しては、 シンボリックリンク自体を処理の対象とします。 .It Fl L .Ar file で指定したファイルがシンボリックリンクファイルだった場合、シンボリックリンク 自体ではなく、リンク先のファイルに関してファイル情報とファイルタイプ ( .Xr stat 2 参照) を使って .Ar expression の処理をするように指定します。もしリンク先のファイルがな ければ、シンボリックリンク自体を処理の対象とします。 .It Fl P シンボリックリンク自体に関して ファイル情報とファイルタイプ ( .Xr stat 2 参照) を使って .Ar expression の処理をするように指定します。 これがデフォルトです。 .It Fl X .Xr xargs 1 と組み合わせて使うときのため、より安全に動作するようにします。もし .Xr xargs 1 によりデリミタ文字 (シングルクォート .Pq Dq Li " ' " 、ダブルクォート .Pq Dq Li " \*q " 、バックスラッシュ .Pq Dq Li \e 、スペース、タブ、改行) が含まれるファイル名 が使われた場合、診断メッセージを標準エラー出力に表示して、 そのファイル名をスキップします。 .Pp ちゃんと動作する代案として、 .Fl print0 プライマリを .Dq Nm xargs Fl 0 と共に使用することを検討すると良いかもしれません。 .It Fl d ファイルに対する処理順序を深さ優先の探索方式にします。 すなわち、ディレクトリ自体に 対する処理を行う前に、ディレクトリ内の個々のファイルに対して処理を 実行します。デフォルトでは、ディレクトリは最初に処理されます。 (デフォルトの方式は幅優先探索方式では .Em ない です。) .It Fl f Ar file 明示的にファイルを指定します。ファイル名の先頭が .Dq \- で始まっていたり、 あとで述べる .Ar expression の指定と混同してしまうようなファイル名を指定したりするときに使用します。 (ファイルはオプション直後のオペランドとしても指定可能です。) .It Fl s 辞書編集上の順に、 すなわち各ディレクトリ内においてアルファベット順に、 ファイル階層を .Nm に辿らせます。 注: .Ql find -s と .Ql "find | sort" は異なった結果となる場合があります。 .It Fl x ディレクトリツリーを下って行くとき、最初に file のあったファイルシステムとは 異なるファイルシステム上のファイルに対する処理になる場合は、実行しないように します。 .El .Sh プライマリ .Bl -tag -width indent .It Ic -amin Ar n 最後にファイルがアクセスされた時刻と、 .Nm を起動した時刻との差 (1 分単位で切り上げます) が .Ar n 分であれば、真とします。 .It Ic -anewer Ar file .Ic -neweram と同じです。 .It Ic -atime Ar n Ns Op Cm smhdw 単位を指定しない場合、 最後にファイルがアクセスされた時刻と、 .Nm を起動した時刻との差 (24 時間単位で切り上げます) が .Ar n 日であれば、真とします。 .Pp 単位を指定する場合、最後にファイルがアクセスされた時刻と、 .Nm を起動した時刻との差が正確に .Ar n 単位であれば、真とします。 可能な時間の単位は次の通りです: .Pp .Bl -tag -width indent -compact .It Cm s 秒 .It Cm m 分 (60 秒) .It Cm h 時間 (60 分) .It Cm d 日 (24 時間) .It Cm w 週 (7 日) .El .Pp いくつもの単位を組み合わせて 1 個の .Ic -atime 引数に使用可能であり、例えば .Dq Li "-atime -1h30m" とできます。 単位指定は、 .Cm + または .Cm - の修正子と組み合わせた場合のみ、おそらく有用でしょう。 .It Ic -cmin Ar n 最後にファイルのステータスが修正された時刻と、 .Nm を起動した時刻との差 (1 分単位で切り上げます) が .Ar n 分であれば、真とします。 .It Ic -cnewer Ar file .Ic -newercm と同じです。 .It Ic -ctime Ar n Ns Op Cm smhdw 単位を指定しない場合、最後にファイルのステータスが変更された時刻と、 .Nm を起動した時刻の差 (24 時間単位で切り上げます) が .Ar n 日であれば、真とします。 単位を指定する場合、最後にファイルのステータスが変更された時刻と、 .Nm を起動した時刻との差が正確に .Ar n 単位であれば、真とします。 サポートされている時間の単位については、 .Ic -atime プライマリの記述を参照してください。 .It Ic -delete 見付けたファイルやディレクトリを消去します。常に真を返します。 現在の作業ディレクトリから .Nm は再帰的にディレクトリツリーを下ります。 セキュリティ上の理由から、 .Dq Pa \&. からの相対パス名に .Dq Pa / 文字を含むファイル名のファイルを 消去しようとはしません。 このオプションにより暗示的に深さ優先の処理が指定されます。 .It Ic -depth 常に真です。 .Fl d オプションと同じです。 .Nm を .Xr cpio 1 と共に使用する場合、 普通ではないパーミッションのディレクトリ中のファイルを処理するために、 .Ic -depth が有用です。 .It Ic -empty 現在のファイルまたはディレクトリが空の場合、真となります。 -.It Xo -.Ic -exec Ar utility Op Ar argument ... -; -.Xc +.It Ic -exec Ar utility Oo Ar argument ... Oc Li \&; .Ar utility で指定した名前のプログラムを実行し、終了コードが 0 の場合、真とします。 .Ar argument は、utility への引数として渡されます。 この指定は、最後に必ずセミコロン .Pq Dq Li \&; をつけてください。 utility もしくは argument の指定 のなかで .Dq Li {} が使われていた場合は、その部分が、現在 .Nm が対象としているファイルのパス名に置き換えられます。ただし、 .Ar utility が実行されるときのカレントディレクトリは、 .Nm が起動されたディレクトリのままです。 .Ar utility と .Ar arguments は、シェルのパターンと構造の更なる展開対象とはなりません。 -.It Ic -exec Ar utility Oo Ar argument ... Oc {} + +.It Ic -exec Ar utility Oo Ar argument ... Oc Li {} + .Ic -exec と同じですが、各 .Ar utility の起動において .Dq Li {} はなるべく多くのパス名と置き換えられます。 この動作は .Xr xargs 1 のものに似ています。 -.It Xo -.Ic -execdir Ar utility Op Ar argument ... -; -.Xc +.It Ic -execdir Ar utility Oo Ar argument ... Oc Li \&; .Ic -execdir プライマリは .Ic -exec プライマリと同様ですが、 .Ar utility が現在のファイルを持つディレクトリにおいて実行される点が異なります。 文字列 .Dq Li {} に対して置換されるファイル名は適切ではありません。 .It Ic -flags Oo Cm - Ns | Ns Cm + Oc Ns Ar flags , Ns Ar notflags フラグは、シンボル名 ( .Xr chflags 1 参照) で指定します。 フラグの前に .Qq Li no を付けると ( .Qq Li nodump は除きます)、 .Ar notflags と呼ばれます。 .Ar flags にあるフラグは設定されていることが検査され、 .Ar notflags にあるフラグは設定されていないことが検査されます。 これは、設定されているモードビットのみをユーザが指定可能な .Ic -perm とは異なることに注意してください。 .Pp フラグの前にダッシュ .Pq Dq Li - が付く場合、このプライマリは、ファイルのフラグビットのうち少なくとも .Ar flags 中の全ビットが設定されていて、 .Ar notflags 中のどのビットも設定されていない場合に真になります。 フラグの前にプラス .Pq Dq Li + が付く場合、このプライマリは、ファイルのフラグビットのうち .Ar flags のいずれかのビットが設定されているか、 .Ar notflags のいずれかのビットが設定されていない場合に真になります。 どちらでもない場合、このプライマリは、 .Ar flags のビットがファイルのフラグビットに完全に適合し、 .Ar flags のいずれもが .Ar notflags に適合しない場合に真になります。 .It Ic -fstype Ar type 対象ファイルが格納されているファイルシステムのタイプが、 .Ar type で指定されたものである場合に真となります。 .Xr sysctl 8 コマンドを使用して、 システム上で利用可能なファイルシステムタイプを調べることができます: .Pp .Dl "sysctl vfs" .Pp さらに、2 つの 擬似タイプ .Dq Li local と .Dq Li rdonly があります。 前者は、 .Nm を実行しているシステム上に物理的にマウントされているファイルシステムです。 後者は、読み取り専用でマウントされているファイルシステムです。 .It Ic -group Ar gname ファイルが .Ar gname で指定したグループに属している場合、真になります。 .Ar gname が数字で、そのようなグループ名がない場合は、 .Ar gname をグループ ID として扱います。 .It Ic -iname Ar pattern .Ic -name に似ていますが、大文字小文字を区別せずにマッチします。 .It Ic -inum Ar n ファイルの inode 番号が .Ar n なら、真になります。 .It Ic -ipath Ar pattern .Ic -path に似ていますが、大文字小文字を区別せずにマッチします。 .It Ic -iregex Ar pattern .Ic -regex に似ていますが、大文字小文字を区別せずにマッチします。 .It Ic -links Ar n ファイルのリンク数が .Ar n なら、真になります。 .It Ic -ls このプライマリは常に真になります。対象となっているファイルの情報を 標準出力に出力します。出力する内容は inode 番号、 512 バイトブロックでのファイルの大きさ、 ファイルのパーミッション、ハードリンクの数、所有者、グループ、 バイトで表したファイルの大きさ、最後にファイルが修正された時刻、パス名です。 ファイルがブロック型もしくはキャラクタ型の特殊ファイルならば、 バイトで表したファイルの大きさの代わりにメジャー番号とマイナー番号を 出力します。ファイルがシンボリックリンクならば、 .Dq Li -> の後にリンク先のファイルのパス名を表示します。 フォーマットは .Bk -words .Nm ls Fl dgils .Ek の出力結果と同じです。 .It Ic -maxdepth Ar n 現在のファイルのツリーにおける深さが .Ar n 以下である場合、真になります。 .It Ic -mindepth Ar n 現在のファイルのツリーにおける深さが .Ar n 以上である場合、真になります。 .It Ic -mmin Ar n 最後にファイルが修正された時刻と、 .Nm を起動した時刻との差 (1 分単位で切り上げます) が .Ar n 分であれば、真とします。 .It Ic -mnewer Ar file .Ic -newer と同じです。 .It Ic -mtime Ar n Ns Op Cm smhdw 単位を指定しない場合、最後にファイルが修正された時刻と、 .Nm を起動した時刻との差(24 時間単位で切り上げます)が .Ar n 日であれば、真とします。 単位を指定する場合、最後にファイルが修正された時刻と、 .Nm を起動した時刻との差が正確に .Ar n 単位であれば、真とします。 サポートされている時間の単位については、 .Ic -atime プライマリの記述を参照してください。 .It Ic -name Ar pattern 対象ファイルのパス名の最後のファイル名部分が .Ar pattern で指定したものとマッチするかどうかを調べ、マッチした場合は真になります。 .Ar pattern としては、シェルで使われるパターンマッチ 指定 ( .Dq Li \&[ , .Dq Li \&] , .Dq Li * , .Dq Li \&? ) を使用することができます。これらの文字は バックスラッシュ .Pq Dq Li \e を前において、パターンマッチ指定ではなく文字として 扱う事を明示することができます。 .It Ic -newer Ar file 対象ファイルの修正日付が、 .Ar file で指定したファイルのものより新しい場合は、真になります。 .It Ic -newer Ns Ar X Ns Ar Y Ar file 現在のファイルの最終アクセス時刻 .Ar ( X Ns = Ns Cm a ) ・ステータス修正時刻 .Ar ( X Ns = Ns Cm c ) ・内容修正時刻 .Ar ( X Ns = Ns Cm m ) が、 .Ar file の最終アクセス時刻 .Ar ( Y Ns = Ns Cm a ) ・ステータス修正時刻 .Ar ( Y Ns = Ns Cm c ) ・内容修正時刻 .Ar ( Y Ns = Ns Cm m ) より新しい場合は、真となります。 さらに .Ar Y Ns = Ns Cm t の場合、 .Ar file は代りに、 .Xr cvs 1 が理解する直接的な時刻指定として解釈されます。 .Ic -newermm は .Ic -newer と同じであることに注意してください。 .It Ic -nogroup 対象ファイルのグループが unknown の場合、真になります。 .It Ic -nouser 対象ファイルの所有者が unknown の場合、真になります。 -.It Xo -.Ic -ok Ar utility Op Ar argument ... -; -.Xc +.It Ic -ok Ar utility Oo Ar argument ... Oc Li \&; .Ic -ok プライマリは .Ic exec とほぼ同じですが、 .Ar utility を実行するかどうかの確認をユーザに求め、端末にメッセージを出力します。 .Dq Li y 以外の返答をした場合は、 コマンドは実行されず、 .Ic -ok 式の値は偽になります。 -.It Xo -.Ic -okdir Ar utility Op Ar argument ... -; -.Xc +.It Ic -okdir Ar utility Oo Ar argument ... Oc Li \&; .Ic -okdir プライマリは、 .Ic -execdir プライマリと同様ですが、 .Ic -ok プライマリの解説に該当する部分が異なります。 .It Ic -path Ar pattern 対象ファイルのパス名が、 .Ar pattern で指定したものとマッチす るかどうかを調べます、マッチした場合は真になります。 .Ar pattern としては、シェルで使われるパターンマッチ指定 ( .Dq Li \&[ , .Dq Li \&] , .Dq Li * , .Dq Li \&? ) を使用することができます。これらの文字は バックスラッシュ .Pq Dq Li \e を前において、パターンマッチ指定ではなく文字として 扱う事を明示することができます。 .Pq Dq Li / は、そのままパスのディレクトリの区切りにマッチします。 .It Ic -perm Oo Cm - Ns | Ns Cm + Oc Ns Ar mode ファイルのモードを、 .Ar mode と比較します。 .Ar mode は、シンボル 形式 ( .Xr chmod 1 参照) もしくは 8 進数形式で指定します。 .Ar mode がシンボル形式の場合は、 .Ar mode は 00000 から開始してパーミッションのセットとクリアを行います。 (プロセスのファイル生成マスクとは無関係です。) .Ar mode が 8 進数形式の場合は、 ファイルのモードビットのうち、07777 .Pq Dv S_ISUID | S_ISGID | S_ISTXT | S_IRWXU | S_IRWXG | S_IRWXO の部分が比較対象になります。 .Ar mode の最初にダッシュ .Pq Dq Li - を指定した場合は、 .Ar mode でセットされているすべてのビットが ファイルのモードでもセットされていれば、このプライマリは真となります。 .Ar mode の最初にプラス .Pq Dq Li + を指定した場合は、 .Ar mode でセットされているビットのどれかがファイルのモードでもセットされていれば、 このプライマリは真となります。 どちらでもない場合、ファイルのモードと .Ar mode が完全に一致した場合にのみ真となります。 なお、 シンボル形式でモード指定をする場合は、少なくとも最初がダッシュ .Pq Dq Li - にならない ようにする必要があります。 .It Ic -print このプライマリは常に真になります。 対象となっているファイルのパス名を標準出力に出力して改行します。 .Ic -exec , -ls , -print0 , .Ic -ok のどのプライマリも指定されなかった場合は、 与えられた式 given expression は .Cm \&( Ar "given expression" Cm \&) Ic -print で置き換えられます。 .It Ic -print0 .Ic -print とほぼ同じですが、標準出力に対象となっているファイルのパス名を出力 したあと、改行ではなく、 .Tn ASCII NUL 文字 (文字コード 0) を出力します。 .It Ic -prune このプライマリは常に真になります。 対象となっているファイル配下のディレクトリに下りないようにします。 .Fl d オプションが指定されている場合は、 .Ic -prune の指定は無効になります。 .It Ic -regex Ar pattern ファイルのパス全体が、正規表現 .Ar pattern にマッチする場合、真になります。 ファイル名 .Dq Pa ./foo/xyzzy にマッチさせるには、 正規表現 .Dq Li ".*/[xyz]*" や .Dq Li ".*/foo/.*" が使えますが、 .Dq Li xyzzy や .Dq Li /foo/ は使えません。 .It Ic -size Ar n Ns Op Cm c ファイルサイズを 512 バイトのブロック単位で数えたとき (端数は切り上げ)、 .Ar n ブロックであれば真になります。 .Ar n のあとに .Cm c が指定されていた場合は、ファイルサイズが .Ar n バイト (文字) であれば真になります。 .It Ic -type Ar t ファイルタイプが .Ar t で指定されたタイプに一致すれば真になります。 タイプとして、次のような指定が可能です: .Pp .Bl -tag -width indent -compact .\" jpman project では special file を「特殊ファイル」と訳している。 .\" これにあわせて block special を「ブロックスペシャル」ではなく .\" 「ブロック特殊」とするのは違和感があるので、「ファイル」を補った。 .\" Kazuo Horikawa 1999/03/10 .It Cm b ブロック型特殊ファイル .It Cm c キャラクタ型特殊ファイル .It Cm d ディレクトリ .It Cm f 普通のファイル .It Cm l シンボリックリンク .It Cm p FIFO .It Cm s ソケット .El .It Ic -user Ar uname ファイルの所有者が、 .Ar uname で指定されたユーザと一致すれば真になります。もし .Ar uname が数字で、そのようなユーザ名がなければ、 ユーザ ID が指定されたものとして扱います。 .El .Pp なお、数字を引数にとるプライマリは、 数字の前にプラス .Pq Dq Li + およびマイナス .Pq Dq Li \- をつけることができます。 それぞれ .Dq n より大 および .Dq n より小 の意味になり、 .Dq 正確に n という意味ではなくなります。 .Sh 演算子 以下の演算子を使って、プライマリを組み合わせることができます。 演算子は優先度が下がる順番で示されています。 .Pp .Bl -tag -width "( expression )" -compact .It Cm \&( Ar expression Cm \&) もし、括弧内の .Ar expression が真なら、真になります。 .Pp .It Cm \&! Ar expression .It Cm -false Ar expression .It Cm -not Ar expression 単項否定演算子 ( .Tn NOT ) です。 .Ar expression が偽なら、真となります。 .Pp .It Ar expression1 Cm -and Ar expression2 .It Ar expression1 expression2 論理積 ( .Tn AND ) 演算子です。 .Ar expression1 と .Ar expression2 の両方とも真のとき、真になります。 もし .Ar expression1 が偽なら、 .Ar expression2 は実行されません。 .Ic -and を書かずに、単に 2 つの expression を並べて .Pp .Ar expression1 expression2 .Pp と書いても同じです。 .Pp .It Ar expression1 Cm -or Ar expression2 論理和 ( .Tn OR ) 演算子です。 .Ar expression1 か .Ar expression2 のどちらか一方でも真であれば、真になります。もし .Ar expression1 が真なら、 .Ar expression2 は実行されません。 .El .Sh 使用例 コマンドラインからのタイプ例です。 .Bl -tag -width indent .It Li "find / \e! -name \*q*.c\*q -print" ファイル名の終わりが .Pa \&.c でない全ファイルを表示します。 .It Li "find / -newer ttt -user wnj -print" .Pa ttt というファイルより新しく 所有者が .Dq wnj である全ファイルを表示します。 .It Li "find / \e! \e( -newer ttt -user wnj \e) -print" .Pa ttt というファイルより古く所有者が .Dq wnj であるという条件が成立しない、全ファイルを表示します。 .It Li "find / \e( -newer ttt -or -user wnj \e) -print" .Pa ttt というファイルより新しいか、 所有者が .Dq wnj である、全ファイルを表示します。 .It Li "find . -newerct '1 minute ago' -print" inode 修正時刻が現在から 1 分以内の全ファイルを表示します。 .El .Sh 関連項目 .Xr chflags 1 , .Xr chmod 1 , .Xr cvs 1 , .Xr locate 1 , .Xr whereis 1 , .Xr which 1 , .Xr xargs 1 , .Xr stat 2 , .Xr fts 3 , .Xr getgrent 3 , .Xr getpwent 3 , .Xr strmode 3 , .Xr re_format 7 , .Xr symlink 7 .Sh 規格 .Nm ユーティリティの文法は .St -p1003.2 の仕様で決められた文法のスーパセットです。 全 1 文字オプションと .\" .Ic -iname , -inum , -iregex , -print0 , -delete , -ls , .\" ja-groff-0.100_3 で整形できないためマクロ使用方法を変えています .Ic -iname , .Ic -inum , .Ic -print0 , .Ic -delete , .Ic -ls , .Ic -regex のプライマリは .St -p1003.2 の拡張です。 .Pp 昔は .Fl d , h , x のオプションは それぞれ .Ic -depth , -follow , -xdev のプライマリを 用いて実装されていました。 これらのプライマリは常に真に評価されていました。 これらのプライマリは 探索が始まる前に効果を与える本当のグローバル変数であったので、 いくつかの合法的な expression が予期しない結果となりました。 一例として .Ic -print Cm -o Ic -depth の expression があります。 .Ic -print が常に真に評価されるため 標準の評価の順番では .Ic -depth は決して評価されないはずですが、 そうではありませんでした。 .Pp 演算子の .Cm -or は .Cm -o として実装されていました。 演算子の .Cm -and は .Cm -a として実装されていました。 .Pp 昔の実装では .Ic exec と .Ic -ok のプライマリでは、 tility 名やその引数中において、 空白以外の文字が前後に続く .Dq Li {} を置き換えませんでした。 このバージョンでは utility 名やその引数のどの場所に .Dq Li {} が現れても 置き換えます。 .Pp .Fl E オプションは、 .Xr grep 1 および .Xr sed 1 の類推から実装されました。 .Sh バグ .Nm によって使われる特殊文字は多くのシェルにとっても 特殊文字です。 特に .Dq Li * , .Dq Li \&[ , .Dq Li \&] , .Dq Li \&? , .Dq Li \&( , .Dq Li \&) , .Dq Li \&! , .Dq Li \e , .Dq Li \&; は、 シェルからエスケープされなくてはならないでしょう。 .Pp オプションとファイル名との間および ファイル名と .Ar expression との間を区切るデリミタが存在しませんので、 ファイル名にオプションと間違えるようなもの ( .Pa -xdev のようなもの) や、 .Ar expression と間違えるようなもの ( .Pa \&! のようなもの) を指定することは難しいです。 このようなファイル名を指定する場合は .Fl f オプションを使うか、 .Xr getopt 3 で使われるオプション指定の終了記号 .Dq Fl Fl を使用します。 .Pp .Ic -delete プライマリは、ファイルシステムツリーの検索順序に影響する 他のオプションとは十分には連係しません。 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/finger.1 b/ja_JP.eucJP/man/man1/finger.1 index cb07621874..aafc0bb0f9 100644 --- a/ja_JP.eucJP/man/man1/finger.1 +++ b/ja_JP.eucJP/man/man1/finger.1 @@ -1,239 +1,233 @@ .\" Copyright (c) 1989, 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)finger.1 8.3 (Berkeley) 5/5/94 -.\" %FreeBSD: src/usr.bin/finger/finger.1,v 1.25 2002/07/22 17:19:54 ume Exp % +.\" %FreeBSD: src/usr.bin/finger/finger.1,v 1.26 2002/11/26 11:09:27 ru Exp % .\" $FreeBSD$ .\" -.Dd August 1, 1997 +.Dd July 22, 2002 .Dt FINGER 1 .Os .Sh 名称 .Nm finger .Nd ユーザ情報を調べるプログラム .Sh 書式 .Nm finger .Op Fl 46glmpshoT .Op Ar user ...\& .Op Ar user@host ...\& .Sh 解説 .Nm ユーティリティはシステムのユーザに関する情報を表示します。 .Pp オプションは以下の通りです: -.Bl -tag -width flag +.Bl -tag -width indent .It Fl 4 .Nm が IPv4 アドレスのみを使用するよう、強制します。 .It Fl 6 .Nm が IPv6 アドレスのみを使用するよう、強制します。 .It Fl s ユーザのログイン名、本名、端末名、端末への書き込み 状態 (書き込みが不可の場合は、端末名の前に ``*'' が付きます)、 アイドル時間、ログイン時間、また、オフィスの所在地と電話番号もしくは リモートホスト名を表示します。 .Fl o が指定されていた場合 (デフォルト) は、 オフィスの所在地と電話番号が表示されます。 .Fl h が指定されていた場合は、代わりに、リモートホスト名が表示されます。 .Pp アイドル時間の単位は、数字だけの場合は 何分か、``:'' がある場合は何時間何分か、``d'' がある場合は何日か、です。 アイドル時間が .Dq * の場合、ログイン時間は最後のログイン時間を示します。 ログイン時間は、6 日以内の場合は何曜日の何時何分からか、それ以上の 場合は何月何日の何時何分からかが表示されます。もし 6 ヶ月を超えて いる場合は、何年何月何日からかが表示されます。 .Pp アイドル時間やログイン時間がない場合と同様に、 不明なデバイスは一つのアスタリスクとして表示されます。 -.Pp .It Fl h .Fl s オプションと共に指定されたとき、オフィスの所在地と電話番号の代わりに リモートホスト名を表示します。 -.Pp .It Fl o .Fl s オプションと共に指定されたとき、リモートホスト名の代わりに オフィスの所在地と電話番号を表示します。 -.Pp .It Fl g 本オプションは、gecos 出力をユーザの実名のみに制限します。 .Fl h オプション共に指定されたとき、 リモートホストの出力を制限するという副作用もあります。 -.Pp .It Fl l ユーザのホームディレクトリ、自宅の電話番号、ログインシェル、 メールの状態、そしてユーザのホームディレクトリの -.Dq Pa .forward , -.Dq Pa .plan , -.Dq Pa .project , -.Dq Pa .pubkey +.Pa .forward , +.Pa .plan , +.Pa .project , +.Pa .pubkey の内容に加えて、 .Fl s オプションの解説で述べた情報全てが複数行にわたる形式で出力されます。 .Pp アイドル時間は 1 分以上 1 日以内の場合は、``hh:mm'' の形式となります。 1 日よりも大きいときには、``d day[s]hh:mm'' の形式となります。 .Pp 電話番号は、11 桁の場合には ``+N-NNN-NNN-NNNN'' と表示 されます。10 桁もしくは 7 桁の場合には、上の文字列の適切な 部分として表示されます。5 桁の場合は ``xN-NNNN''、 4 桁の場合は ``xNNNN'' と表示されます。 .Pp デバイスの書き込み許可がない場合、デバイス名を含む 行に ``(messages off)'' という語句が追加されます。 .Fl l オプションを指定すると、1 人のユーザにつき 1 つの項目が表示されます。 もしあるユーザが複数回ログインしている場合には、端末の情報は その各ログインについて表示されます。 .Pp メールの状態は、全くメールがない場合には ``No Mail.''、その人が自分の メールボックスに届いた新着メールを全て読んでいた場合 には ``Mail last read DDD MMM ## HH:MM YYYY (TZ)''、その人あての新着 メールがあれば ``New mail received ...'' や ``Unread since ...'' の ように表示されます。 -.Pp .It Fl p オプションは、 .Nm の .Fl l オプションが、 -.Dq Pa .forward , -.Dq Pa .plan , -.Dq Pa .project , -.Dq Pa .pubkey +.Pa .forward , +.Pa .plan , +.Pa .project , +.Pa .pubkey のファイルの内容を表示するのを抑制します。 .It Fl m ユーザの本名と .Ar user とが名前の比較で一致しないようにします。 .Ar user は、たいていはログイン名なのですが、 .Fl m オプションを指定しない限り、ユーザの本名との比較もまた行われてしまいます。 .Nm によって比較される名前は、大文字小文字を区別しません。 -.Pp .It Fl T 最初の接続要求において、データをピギーバックしません。 このオプションは,いい加減な TCP の実装が行われている ホストに finger を行う時に必要です。 .El .Pp オプションが指定されなかった場合は、 .Nm は、対象が与えられた場合は .Fl l の出力形式、与えられなかった場合は .Fl s の出力形式をデフォルトの形式とします。 どちらの形式であったとしても、情報が有効でなかった場合には、その フィールドは欠けているかもしれないことに注意してください。 .Pp 引数が全く指定されていない場合は、 .Nm は、現在システムにログインしている各ユーザについての情報を表示します。 .Pp .Nm ユーティリティは、リモートマシン上のユーザを調べることにも利用できます。 これには、 .Ar user として .Dq Li user@host もしくは .Dq Li @host と指定する形式を使います。デフォルトでは、前者は .Fl l 形式の出力、後者は .Fl s 形式の出力となります。 .Fl l オプションは、リモートマシンに渡される唯一のオプションかも知れません。 .Pp もし、ユーザのホームディレクトリに -.Dq Pa .nofinger +.Pa .nofinger というファイルが存在した場合、 .Nm は、そのユーザが存在していないかのように振る舞います。 .Pp オプションの .Xr finger.conf 5 設定ファイルを使用して、別名を指定可能です。 .Xr finger 1 は .Xr fingerd 8 が起動しますので、 ローカルの問い合わせとネットワークの問い合わせの両方で有効です。 .Sh 環境変数 .Nm ユーティリティは、もし設定されていれば、以下の環境変数を利用します: .Bl -tag -width Fl .It Ev FINGER .Nm に好みのオプションがあれば、この環境変数に設定しておくとよいでしょう。 .El .Sh 関連ファイル .Bl -tag -width /var/log/lastlog -compact .It Pa /etc/finger.conf 別名定義のデータベース .It Pa /var/log/lastlog 最後にログインした時間のデータベース .El .Sh 関連項目 .Xr chpass 1 , .Xr w 1 , .Xr who 1 , .Xr finger.conf 5 , .Xr fingerd 8 .Rs .%A D. Zimmerman .%T The Finger User Information Protocol .%R RFC 1288 .%D December, 1991 .Re .Sh 歴史 .Nm コマンドは、 .Bx 3.0 で登場しました。 .Sh バグ 現在の FINGER プロトコルの RFC では、 サーバが接続を閉じるまでクライアントはフルに接続をオープンする必要があります。 これでは、最適な 3 パケット T/TCP 交換を妨げてしまいます。 (この仕様に依存するサーバは壊れていますが、 広いインターネットにはこのようなサーバが存在します。) diff --git a/ja_JP.eucJP/man/man1/fstat.1 b/ja_JP.eucJP/man/man1/fstat.1 index dd85e29a9f..7b46054058 100644 --- a/ja_JP.eucJP/man/man1/fstat.1 +++ b/ja_JP.eucJP/man/man1/fstat.1 @@ -1,231 +1,231 @@ .\" Copyright (c) 1987, 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. .\" .\" @(#)fstat.1 8.3 (Berkeley) 2/25/94 -.\" %FreeBSD: src/usr.bin/fstat/fstat.1,v 1.18 2002/05/09 11:47:39 joe Exp % +.\" %FreeBSD: src/usr.bin/fstat/fstat.1,v 1.19 2002/12/12 17:26:00 ru Exp % .\" $FreeBSD$ .\" .Dd March 27, 2002 .Dt FSTAT 1 .Os .Sh 名称 .Nm fstat .Nd アクティブファイルを識別する .Sh 書式 .Nm .Op Fl fmnv .Op Fl M Ar core .Op Fl N Ar system .Op Fl p Ar pid .Op Fl u Ar user .Op Ar .Sh 解説 .Nm ユーティリティは、現在オープンされているファイルについての情報を表示します。 オープンされているファイルとは、プロセスによって明示的にオープンされている もの、ワーキングディレクトリ、ルートディレクトリ、アクティブな実行可能 テキストや、カーネルのトレースファイルなどを指します。引数が何も与え られなければ、 .Nm はシステム中でオープンされているすべてのファイルについての情報を表示します。 .Pp オプション: .Bl -tag -width Ds .It Fl f 表示する情報を、 .Ar filename で指定されたファイルと同じファイルシステム のものに制限します。引数が指定されていない場合は、カレントディレクトリ を含むファイルシステムのものに制限されます。たとえば、 .Pa /usr/src 以下のディレクトリでオープンされているすべてのファイルを見つけるには、 .Dq Li fstat -f /usr/src としてください。 .\" FreeBSD 2.1.0R 英語版マニュアルでは、以下で引数 core を明記していない .\" が、明らかにこれでも妥当だと考えられる。 .\" これ以降でも同様の部分がいくつか存在する。 -- jpman Sakai .\"(訳中)同様のこと確認しました。そのままにしてあります。 .\" 2.2.1R 対象(1997/05/17) Takeshi MUTOH .It Fl M Ar core 名前に関するリストから値を取り出す際、デフォルトの .Pa /dev/kmem のかわりに .Ar core を使います。 .It Fl N Ar system 名前のリストを取り出す際、デフォルトの .Pa /boot/kernel/kernel のかわりに .Ar system を使います。 .It Fl m メモリマップされたファイルをリストに含めます。 更なる処理が必要であるため、通常はこれらは除外されています。 .It Fl n 数値フォーマットで表示を行います。マウントポイントの名前を表示する かわりに、そのファイルシステムにおけるデバイス番号 (メジャー、マイナー) を表示します。特殊ファイルに関しては、 .Pa /dev の下のファイル名 は参照されず、特殊デバイスのデバイス番号が表示されます。また、 ファイルの属性も記号ではなく、8 進数で表示されます。 .It Fl p Ar pid 指定されたプロセス ID のプロセスによってオープンされているすべてのファイル の情報を表示します。 .It Fl u Ar user 指定されたユーザによってオープンされているすべてのファイル の情報を表示します。 .It Fl v 詳細報告モード。システムのデータ構造体を見つけるのに失敗した場合などに エラーメッセージを表示します (デフォルトでは無視します)。これらの 構造体の多くは、動的に生成されたり消去されたりするもので、 .Nm を実行中に 消えてしまう可能性があります。これは、 .Nm 実行中にも、システム の残りの部分が動いているためで、ごく普通のことですし、避けることはできません。 .It Ar 表示する情報を、指定されたファイル .Ar filename に限定します。 .El .Pp 以下のような項目が表示されます。 .Bl -tag -width MOUNT .It Li USER プロセスの所有者のユーザ名 (実効ユーザ ID のものが表示されます) .It Li CMD プロセスのコマンド名 .It Li PID プロセスID .It Li FD プロセスごとのオープンしているファイルのファイル番号、もしくは 以下の特別な名前のどれかです。 .Pp .Bd -literal -offset indent -compact text - 実行可能テキストの inode wd - 現在のワーキングディレクトリ root - ルートの inode tr - カーネルトレースファイル mmap - メモリマップされたファイル .Ed .Pp ファイル番号のあとにアスタリスク記号 ``*'' がある場合は、ファイルは inode ではなく、ソケットや .Tn FIFO であったり、そのファイルにエラーがあるのかもしれません。この 場合、残りの行は後ろのヘッダと一致しません。 -- 行のフォーマットは、 .Sx ソケット のところで説明します。 .It Li MOUNT .Fl n オプションが指定されていなければ、このヘッダが現れます。 マウントされているパス名は、ファイルが存在しているファイルシステムです。 .It Li DEV .Fl n が指定されると、このヘッダが現れます。ファイルが存在しているデバイス のメジャー番号とマイナー番号です。 .Pp .It Li SZ\&|DZ ファイルがキャラクタデバイスファイルやブロックデバイスファイルでなけ れば、そのファイルのバイト数を表示します。デバイスファイルあって .Fl n が 指定されていなければ、その特殊ファイルの .Pa /dev における名前を表示します。 .Pa /dev になかったり、 .Fl n が指定されていたりする と、スペシャルデバイスが参照するメジャー番号、マイナー番号を表示します。 .It Li R/W このフィールドには、ファイルのアクセス属性が表示されます。 ``r'' の場合は、ファイルが読み込みのためにオープンされていることを意味します。 ``w'' の場合は、ファイルが書き込みのためにオープンされていることを意味します。 このフィールドは、ファイルシステムを読み込み専用状態に移行する際に、 それを妨げているプロセスを見つける場合に役に立ちます。 .It Li NAME .Ar filename が指定されていて、 .Fl f が指定されていなければ、この フィールドが表示され、指定されたファイルに関連する名前が表示されます。 普通、この名前は決まったものではありません。というのも、オープンされた ファイルから、ディレクトリ中のエントリへの逆のマッピングは存在しない からです。また、異なるディレクトリエントリが同じファイルを参照してい ることもある ( .Xr ln 2 を参照) ため、表示されている名前 は、プロセスがオープンした元のファイルの実際の名前と 異なっているかもしれません。 .El .Sh ソケット オープンしているファイルのフォーマットは、プロトコルのドメインに依存します。 最初のフィールドはドメイン名で、2 番目のフィールドは ソケットの型 (stream や dgramなど)、3 番目はソケットフラグのフィールド (16 進数) です。残りのフィールドはプロトコルに依存します。tcp の場合は、 tcpcb のアドレスですし、udp の場合は inpcb (ソケット pcb) のアドレスです。 UNIX ドメインソケットの場合はソケット pcb のアドレスと (もし接続すれば) 接続先 pcb のアドレスです。それ以外の場合はプロトコル番号とソケット自身 のアドレスが表示されます。 .Xr netstat 1 と重複しない範囲で、詳しく分析するのに十分な情報を表示しようとします。 .Pp たとえば、上で述べたアドレスは .Dq Li netstat -A コマンドで表示される tcp, udp, UNIX ドメインのそれぞれのアドレスです。ただし、パイプはソケットを用いて 実装されているので、パイプは接続先の UNIX ドメインストリームソケットとして 現れることに注意してください。単方向 UNIX ドメインソケットは、向き を持った矢印 (``<-'' か ``->'') として表示され、双方向 (全二重) UNIX ドメイン は二重矢印 (``<->'') として表示されます。 .Sh バグ .Nm はシステムのスナップショットをとるので、表示される情報は ほんのわずかな間しか正しくありません。 .Sh 関連項目 .Xr netstat 1 , .Xr nfsstat 1 , .Xr ps 1 , .Xr sockstat 1 , .Xr systat 1 , .Xr tcp 4 , .Xr unix 4 , .Xr iostat 8 , .Xr pstat 8 , .Xr vmstat 8 .Sh 歴史 .Nm コマンドは .Bx 4.3 tahoe から登場しました。 diff --git a/ja_JP.eucJP/man/man1/gcc.1 b/ja_JP.eucJP/man/man1/gcc.1 index 063a961071..57e1b4dfa7 100644 --- a/ja_JP.eucJP/man/man1/gcc.1 +++ b/ja_JP.eucJP/man/man1/gcc.1 @@ -1,4145 +1,4145 @@ -.\" %FreeBSD: src/contrib/gcc/gcc.1,v 1.16 2001/08/01 18:35:54 obrien Exp % +.\" %FreeBSD: src/contrib/gcc/gcc.1,v 1.17 2002/11/27 03:36:49 obrien Exp % .\" Copyright (c) 1991, 1992, 1993, 1994 Free Software Foundation -*-Text-*- .\" See section COPYING for conditions for redistribution .\" .\" $FreeBSD$ .\" Set up \*(lq, \*(rq if -man hasn't already set it up. .if @@\*(lq@ \{\ . ds lq " . if t .ds lq `` . if !@@\(lq@ .ds lq "\(lq .\} .if @@\*(rq@ \{\ . ds rq " . if t .ds rq '' . if !@@\(rq@ .ds rq "\(rq .\} .de Id .ds Rv \\$3 .ds Dt \\$4 .. .de Sp .if n .sp .if t .sp 0.4 .. .Id %Id: gcc.1,v 1.9 1998/12/16 20:55:57 law Exp % .TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools" .SH 名称 -gcc, g++ \- GNU プロジェクト C および C++ コンパイラ (gcc-2.95.3) +gcc, g++ \- GNU プロジェクト C および C++ コンパイラ (gcc-3.2.1) .SH 書式 .B gcc .RI "[ " option " | " filename " ].\|.\|." .br .SH 注意 このマニュアルに書かれた情報は GNU C コンパイラの完全な ドキュメンテーションからの抜粋であり、オプションの意味の記述にとどめます。 .PP このマニュアルはボランティアのメンテナンスが行なわれた時にのみ更新され るもので、常に最新の情報を示しているわけではありません。 もしこのマニュアルと実際のソフトウェアの間に矛盾点があれば、 正式なドキュメントである Info ファイルのほうを参照して下さい。 .PP このマニュアル中の古い記述が重大な混乱や不具合をきたすことになれば、 このマニュアルページの配布は中止します。 GNU CCのメンテナンス作業の都合上、 Info ファイルを更新した時にマニュアルページも併せて更新することは できません。マニュアルページは時代遅れであり、 これに時間をかけるべきではないと GNU プロジェクトでは考えています。 .PP 完全な最新のドキュメンテーションが必要な場合は、Info ファイルの`\|\c .B gcc\c \&\|' またはマニュアルの .I Using and Porting GNU CC (for version 2.0)\c \& を参照して下さい。この双方は Texinfo のソースファイル .B gcc.texinfo から生成されます。 .SH 解説 C と C++ のコンパイラは統合されています。どちらの場合も、入力ファイル は、プリプロセス、コンパイル、アセンブル、リンクの 4 つの処理ステージの うちの 1 つ以上のステージを踏んで処理されます。 ソースファイル名の拡張子によってソースの言語を識別しますが、 デフォルトの動作は、どちらの名前でコンパイラを使うかに依存しています: .TP .B gcc プリプロセス済みの (\c .B .i\c \&) ファイルを C のファイルと仮定し、C スタイルのリンクを行います。 .TP .B g++ プリプロセス済みの(\c .B .i\c \&) ファイルを C++ のファイルと仮定し、C++ スタイルのリンクを行います。 .PP ソースファイル名の拡張子は、その言語が何であるかと、どのような処理が行われる べきかを示します: .Sp .nf .ta \w'\fB.cxx\fP 'u \&\fB.c\fP C言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。 \&\fB.C\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。 \&\fB.cc\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。 \&\fB.cxx\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。 \&\fB.m\fP Objective-C 言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。 \&\fB.i\fP プリプロセッサにかけられたC言語ソースです。コンパイラ、アセンブラにかけられます。 \&\fB.ii\fP プリプロセッサにかけられたC++言語ソースです。コンパイラ、アセンブラにかけられます。 \&\fB.s\fP アセンブリ言語ソースです。アセンブラにかけられます。 \&\fB.S\fP アセンブリ言語ソースです。プリプロセッサ、アセンブラにかけられます。 \&\fB.h\fP プリプロセッサファイルです。通常はコマンドラインには現れません。 .Sp .fi その他の拡張子を持つファイルはリンカに渡されます。以下のものがあります。 .Sp .nf \&\fB.o\fP オブジェクトファイルです。 \&\fB.a\fP アーカイブファイルです。 .br .fi .Sp リンクは、オプション .BR \-c , .BR \-S , .B \-E を指定して抑制しないかぎり(もしくはコンパイルエラーによってすべての処理が中断 しないかぎり)、常に最終ステージで実行されます。 リンクのステージにおいては、ソースファイルに対応した全ての .B .o ファイルと、 .B \-l で指定したライブラリと、認識されなかったファイル名 (名前に .B .o のついたオブジェクトファイルや .B .a のついたアーカイブを含む) は、 コマンドラインに並べられた順番でリンカに渡されます。 .SH オプション オプションは分割されていなければなりません。すなわち `\|\c .B \-dr\c \&\|' は `\|\c .B \-d \-r \&\|'とは異なった扱いを受けます。 .PP ほとんどの `\|\c .B \-f\c \&\|' と `\|\c .B \-W\c \&\|' 形式のオプションには、 .BI \-f name と .BI \-fno\- name\c \& (または .BI \-W name と .BI \-Wno\- name\c \&) の形式の、対照的な表現があります。ここではデフォルトでない形式の みを示します。 .PP すべてのオプションを種類別に分けてまとめました。詳しい解説は 以下の節で行ないます。 .hy 0 .SH FreeBSD 固有のオプション .TP .BI "\-pthread" スレッド化ユーザプロセスに libc の代りに libc_r をリンクします。 スレッド化ユーザプロセスにリンクされるオブジェクトは -D_THREAD_SAFE 付きで コンパイルする必要があります。 .TP .BI "\-kthread" スレッド化カーネルプロセスに libc に加えて libpthread をリンクします。 スレッド化カーネルプロセスにリンクされるオブジェクトは -D_THREAD_SAFE 付きで コンパイルする必要があります。 .na .TP .B 全体的なオプション .br \-c \-S \-E .RI "\-o " file \-pipe \-v .RI "\-x " language .TP .B 言語オプション \-ansi \-fall\-virtual \-fcond\-mismatch \-fdollars\-in\-identifiers \-fenum\-int\-equiv \-fexternal\-templates \-fno\-asm \-fno\-builtin \-fhosted \-fno\-hosted \-ffreestanding \-fno\-freestanding \-fno\-strict\-prototype \-fsigned\-bitfields \-fsigned\-char \-fthis\-is\-variable \-funsigned\-bitfields \-funsigned\-char \-fwritable\-strings \-traditional \-traditional\-cpp \-trigraphs .TP .B 警告オプション \-fsyntax\-only \-pedantic \-pedantic\-errors \-w \-W \-Wall \-Waggregate\-return \-Wcast\-align \-Wcast\-qual \-Wchar\-subscript \-Wcomment \-Wconversion \-Wenum\-clash \-Werror \-Wformat .RI \-Wid\-clash\- len \-Wimplicit \-Wimplicit\-int \-Wimplicit\-function\-declaration \-Winline \-Wlong\-long \-Wmain \-Wmissing\-prototypes \-Wmissing\-declarations \-Wnested\-externs \-Wno\-import \-Wparentheses \-Wpointer\-arith \-Wredundant\-decls \-Wreturn\-type \-Wshadow \-Wstrict\-prototypes \-Wswitch \-Wtemplate\-debugging \-Wtraditional \-Wtrigraphs \-Wuninitialized \-Wunused \-Wwrite\-strings .TP .B デバッグオプション \-a .RI \-d letters \-fpretend\-float \-g .RI \-g level \-gcoff \-gxcoff \-gxcoff+ \-gdwarf \-gdwarf+ \-gstabs \-gstabs+ \-ggdb \-p \-pg \-save\-temps .RI \-print\-file\-name= library \-print\-libgcc\-file\-name .TP .B 最適化オプション \-fcaller\-saves \-fcse\-follow\-jumps \-fcse\-skip\-blocks \-fdelayed\-branch \-felide\-constructors \-fexpensive\-optimizations \-ffast\-math \-ffloat\-store \-fforce\-addr \-fforce\-mem \-finline\-functions \-fkeep\-inline\-functions \-fmemoize\-lookups \-fno\-default\-inline \-fno\-defer\-pop \-fno\-function\-cse \-fno\-inline \-fno\-peephole \-fomit\-frame\-pointer \-frerun\-cse\-after\-loop \-fschedule\-insns \-fschedule\-insns2 \-fstrength\-reduce \-fthread\-jumps \-funroll\-all\-loops \-funroll\-loops \-O \-O2 \-O3 \-O0 \-Os .TP .B プリプロセッサオプション .RI \-A assertion \-C \-dD \-dM \-dN .RI \-D macro [\|= defn \|] \-E \-H .RI "\-idirafter " dir .RI "\-include " file .RI "\-imacros " file .RI "\-iprefix " file .RI "\-iwithprefix " dir \-M \-MD \-MM \-MMD \-nostdinc \-P .RI \-U macro \-undef .TP .B アセンブラオプション .RI \-Wa, option .TP .B リンカオプション .RI \-l library \-nostartfiles \-nostdlib \-static \-shared \-symbolic .RI "\-Xlinker\ " option .RI \-Wl, option .RI "\-u " symbol .TP .B ディレクトリオプション .RI \-B prefix .RI \-I dir \-I\- .RI \-L dir .TP .B ターゲットオプション .RI "\-b " machine .RI "\-V " version .TP .B コンフィギュレーション依存オプション .I M680x0\ オプション .br \-m68000 \-m68020 \-m68020\-40 \-m68030 \-m68040 \-m68881 \-mbitfield \-mc68000 \-mc68020 \-mfpa \-mnobitfield \-mrtd \-mshort \-msoft\-float .Sp .I VAX オプション .br \-mg \-mgnu \-munix .Sp .I SPARC オプション .br \-mepilogue \-mfpu \-mhard\-float \-mno\-fpu \-mno\-epilogue \-msoft\-float \-msparclite \-mv8 \-msupersparc \-mcypress .Sp .I Convex オプション .br \-margcount \-mc1 \-mc2 \-mnoargcount .Sp .I AMD29K オプション .br \-m29000 \-m29050 \-mbw \-mdw \-mkernel\-registers \-mlarge \-mnbw \-mnodw \-msmall \-mstack\-check \-muser\-registers .Sp .I M88K オプション .br \-m88000 \-m88100 \-m88110 \-mbig\-pic \-mcheck\-zero\-division \-mhandle\-large\-shift \-midentify\-revision \-mno\-check\-zero\-division \-mno\-ocs\-debug\-info \-mno\-ocs\-frame\-position \-mno\-optimize\-arg\-area \-mno\-serialize\-volatile \-mno\-underscores \-mocs\-debug\-info \-mocs\-frame\-position \-moptimize\-arg\-area \-mserialize\-volatile .RI \-mshort\-data\- num \-msvr3 \-msvr4 \-mtrap\-large\-shift \-muse\-div\-instruction \-mversion\-03.00 \-mwarn\-passed\-structs .Sp .I RS6000 オプション .br \-mfp\-in\-toc \-mno\-fop\-in\-toc .Sp .I RT オプション .br \-mcall\-lib\-mul \-mfp\-arg\-in\-fpregs \-mfp\-arg\-in\-gregs \-mfull\-fp\-blocks \-mhc\-struct\-return \-min\-line\-mul \-mminimum\-fp\-blocks \-mnohc\-struct\-return .Sp .I MIPS オプション .br \-mcpu=\fIcpu type\fP \-mips2 \-mips3 \-mint64 \-mlong64 \-mlonglong128 \-mmips\-as \-mgas \-mrnames \-mno\-rnames \-mgpopt \-mno\-gpopt \-mstats \-mno\-stats \-mmemcpy \-mno\-memcpy \-mno\-mips\-tfile \-mmips\-tfile \-msoft\-float \-mhard\-float \-mabicalls \-mno\-abicalls \-mhalf\-pic \-mno\-half\-pic \-G \fInum\fP \-nocpp .Sp .I i386 オプション .br \-m386 \-m486 \-mpentium \-mpentiumpro \-mno\-486 \-mcpu=\fIcpu type\fP \-march=\fIcpu type\fP \-msoft\-float \-mrtd \-mregparm \-msvr3\-shlib \-mno\-ieee\-fp \-mno\-fp\-ret\-in\-387 \-mfancy\-math\-387 \-mno\-wide\-multiply \-mdebug\-addr \-mno\-move \-mprofiler\-epilogue \-reg\-alloc=LIST .Sp .I HPPA オプション .br \-mpa\-risc\-1\-0 \-mpa\-risc\-1\-1 \-mkernel \-mshared\-libs \-mno\-shared\-libs \-mlong\-calls \-mdisable\-fpregs \-mdisable\-indexing \-mtrailing\-colon .Sp .I i960 オプション .br \-m\fIcpu-type\fP \-mnumerics \-msoft\-float \-mleaf\-procedures \-mno\-leaf\-procedures \-mtail\-call \-mno\-tail\-call \-mcomplex\-addr \-mno\-complex\-addr \-mcode\-align \-mno\-code\-align \-mic\-compat \-mic2.0\-compat \-mic3.0\-compat \-masm\-compat \-mintel\-asm \-mstrict\-align \-mno\-strict\-align \-mold\-align \-mno\-old\-align .Sp .I DEC Alpha オプション .br \-mfp\-regs \-mno\-fp\-regs \-mno\-soft\-float \-msoft\-float .Sp .I System V オプション .br \-G \-Qy \-Qn .RI \-YP, paths .RI \-Ym, dir .TP .B コード生成オプション .RI \-fcall\-saved\- reg .RI \-fcall\-used\- reg .RI \-ffixed\- reg \-finhibit\-size\-directive \-fnonnull\-objects \-fno\-common \-fno\-ident \-fno\-gnu\-linker \-fpcc\-struct\-return \-fpic \-fPIC \-freg\-struct\-return \-fshared\-data \-fshort\-enums \-fshort\-double \-fvolatile \-fvolatile\-global \-fverbose\-asm .ad b .hy 1 .SH 全体的なオプション .TP .BI "\-x " "language" このオプションに続く入力ファイルの言語を .I language\c \& であると明示的に指定します (拡張子に基づくデフォルトの選択よりも優先されます)。このオプションは、 次の `\|\c .B \-x\c \&\|' オプションが出てくるまで、後続する全ての入力ファイルに対して 適用されます。\c .I language\c \& としては、 `\|\c .B c\c \&\|', `\|\c .B objective\-c\c \&\|', `\|\c .B c\-header\c \&\|', `\|\c .B c++\c \&\|', `\|\c .B cpp\-output\c \&\|', `\|\c .B assembler\c \&\|', `\|\c .B assembler\-with\-cpp\c \&\|' を指定することが可能です。 .TP .B \-x none 言語の指定を解除します。このオプションのあとに続くファイルは、それらの拡張子に 基づいて (あたかも何の `\|\c .B \-x\c \&\|' オプションも使用されたことがないように) 処理されます。 .PP もし、4 つのステージ (プリプロセス、コンパイル、アセンブル、リンク) の うちの一部のみが必要な場合は、 `\|\c .B \-x\c \&\|' オプション (またはファイル名の拡張子) を使用して \c .B gcc\c \& に対してどのステージから開始するかを伝え、さらに `\|\c .B \-c\c \&\|', `\|\c .B \-S\c \&\|', `\|\c .B \-E\c \&\|' のオプションのうちのどれかを使用して .B gcc\c \& に対してどこで処理を停止させるかを指定します。ここで、 いくつかの組み合わせ (例えば `\|\c .B \-x cpp\-output \-E\c \&\|') は \c .B gcc\c \& に対して何の動作も行なわないように指定することになることに注意してください。 .TP .B \-c ソースファイルを、コンパイルまたはアセンブルまではしますが、リンクはしません。 コンパイラの出力は、それぞれのソースファイルに対応したオブジェクトファイル となります。 .Sp デフォルトでは、GCC はオブジェクトファイルのファイル名として、 ソースファイルの拡張子 `\|\c .B .c\c \&\|', `\|\c .B .i\c \&\|', `\|\c .B .s\c \&\|' 等を `\|\c .B .o\c \&\|' で置き換えたものを使用します。 .B \-o\c \& オプションを使用することによって、他の名前を指定することも可能です。 .Sp GCC は .B \-c オプションを使用した場合は、理解できない入力ファイル (コンパイルやアセンブル を必要としないファイル) を無視します。 .TP .B \-S コンパイルが終った所で処理を停止し、アセンブルは行いません。 アセンブラコードではない入力ファイルが指 定された場合は、出力はアセンブラコードのファイルになります。 .Sp デフォルトでは、GCC はアセンブラファイルのファイル名として、 ソースファイルの拡張子 `\|\c .B .c\c \&\|', `\|\c .B .i\c \&\|' 等を `\|\c .B .s\c \&\|' で置き換えたものを使用します。 .B \-o\c \& オプションを使用することによって、他の名前を指定することも可能です。 .Sp GCC はコンパイルを必要としない入力ファイルを全て無視します。 .TP .B \-E プリプロセス処理が終了したところで停止します。コンパイルはしません。 出力はプリプロセス済みのソースコードであり、標準出力へと送られます。 .Sp GCC はプリプロセスを必要としない入力ファイルを全て無視します。 .TP .BI "\-o " file 出力先を \c .I file\c \& に指定します。このオプションは GCC が実行可能ファイル、 オブジェクトファイル、アセンブラファイル、プリプロセス済み C コードなどの、 いかなる種類の出力を行なう場合にも適用可能です。 .Sp 出力ファイルは 1 つしか指定できないため、 `\|\c .B \-o\c \&\|' を複数の入力ファイルをコンパイルする際に使用することは、実行ファ イルを出力する時以外は無意味です。 .Sp `\|\c .B \-o\c \&\|'オプションを指定しなかった場合のデフォルトは、実行ファイルを作る場 合は `\|\c .B a.out\c \&\|' という名前であり、`\|\c .I source\c .B \&.\c .I suffix\c \&\c \&\|' の形式のファイル名を持ったソースファイルのオブジェクトファイルは `\|\c .I source\c .B \&.o\c \&\|' であり、アセンブラのファイルは `\|\c .I source\c .B \&.s\c \&\|' です。 プリプロセス済みの C 言語は、全て標準出力に送られます。 .TP .B \-v (標準エラー出力に対して) コンパイルの各ステージで実行されるコマンドを 表示します。コンパイラドライバ、プリプロセッサおよび本来のコンパイラの 各バージョン番号も表示します。 .TP .B -pipe コンパイル時のステージの間のデータの受け渡しに、テンポラリファイルではなく パイプを使用します。いくつかのシステムではアセンブラがパイプからの入力を受け 付けることができないために、このオプションを指定すると失敗します。 GNU アセンブラでは問題なく使用できます。 .PP .SH 言語オプション .TP 以下のオプションは、コンパイラが受け付ける C の方言に関する制御を行ないます: .TP .B \-ansi 全ての ANSI 標準の C プログラムをサポートします。 .Sp このオプションは、GNU C が持つ ANSI C との非互換な機能を全て排除します。 例えば、\c .B asm\c \&, \c .B inline\c \&, \c .B typeof などのキーワードや、\c .B unix\c \& や \c .B vax などの現在使用しているシステムを規定する定義済みマクロなどが抑制されます。 さらに、好ましくなくかつほとんど使用されない ANSI のトライグラフの機能を使 用可能とし、さらに `\|\c .B $\c \&\|' を識別子の一部として使用できないようにします。 .Sp 代替キーワードである\c .B _\|_asm_\|_\c \&, \c .B _\|_extension_\|_\c \&, .B _\|_inline_\|_\c \&, \c .B _\|_typeof_\|_\c \& は、 `\|\c .B \-ansi\c \&\|' が指定された場合でも使用することが可能です。もちろん、 これらを ANSI C プログラムで使用することが望ましくないのは当然ですが、`\|\c .B \-ansi\c \&\|' をつけてコンパイルされる場合でも、インクルードされるヘッダファイル中に これらが記述できるということは有用です。 \c .B _\|_unix_\|_\c \& や \c .B _\|_vax_\|_\c \& などの代替定義済みマクロは、 `\|\c .B \-ansi\c \&\|' を指定する場合でも指定しない場合でも、利用可能となっています。 .Sp `\|\c .B \-ansi\c \&\|' オプションは、ANSI 準拠でないプログラムを不必要に拒否することは ありません。もしこのような動作を行なわせたい場合には`\|\c .B \-ansi\c \&\|'に加えて\c .B \-pedantic\c \&\|' オプションを指定する必要があります。 .Sp プリプロセッサ定義済みマクロ \c .B _\|_STRICT_ANSI_\|_\c \& が `\|\c .B \-ansi\c \&\|' オプションを使用した際には定義されます。いくつかのヘッダファイルは、この マクロを識別して、ANSI 標準が望まない関数やマクロの定義を抑制します。 これは、 それらの関数やマクロと同じ名前を別の目的で使用するプログラム を混乱させないようにするためです。 .TP .B \-fno\-asm \c .B asm\c \&, \c .B inline\c \&, \c .B typeof\c \& をキーワードとして解釈しません。 これらの単語は識別子として解釈されるようになります。これらの代用として \c .B _\|_asm_\|_\c \&, \c .B _\|_inline_\|_\c \&, \c .B _\|_typeof_\|_\c \& が使用できます。 `\|\c .B \-ansi\c \&\|' を指定すると、暗黙のうちに `\|\c .B \-fno\-asm\c \&\|' を指定したものとみなされます。 .TP .B \-fno\-builtin ビルトイン関数のうち、2 つのアンダースコアで始まるもの以外を認識しなくなり ます。現在、この指定は\c .B _exit\c \&, .B abort\c \&, \c .B abs\c \&, \c .B alloca\c \&, \c .B cos\c \&, \c .B exit\c \&, .B fabs\c \&, \c .B labs\c \&, \c .B memcmp\c \&, \c .B memcpy\c \&, \c .B sin\c \&, .B sqrt\c \&, \c .B strcmp\c \&, \c .B strcpy\c \&, \c .B strlen\c \& の関数に影響を及ぼします。 .Sp `\|\c .B \-ansi\c \&\|' オプションを指定すると、\c .B alloca\c \& と \c .B _exit\c \& はビルトイン関数として扱われなくなります。 .TP .B \-fhosted ホスト実行環境 (hosted environment) 用にコンパイルを行います。 これにより、`\|\c .B \-fbuiltin\c \&\|' オプションが有効になり、また、不審な .B main\c \& 宣言に対して警告を発するようになります。 .TP .B \-ffreestanding フリースタンディング実行環境 (freestanding environment) 用に コンパイルを行います。 これにより、`\|\c .B \-fno-builtin\c \&\|' オプションが有効になり、また、 .B main\c \& に特別な条件は不要とみなします。 .TP .B \-fno\-strict\-prototype `\|\c .B int foo ();\c \&\|' のような、引数を指定しない関数宣言を、C 言語のように引数の数や 型について何の仮定もしないという扱いにします (C++ のみ)。通常はこのよう な宣言は、C++ では \c .B foo\c \& という関数が 1 つも引数をとらないことを意味します。 .TP .B \-trigraphs ANSI C のトライグラフを使用可能とします。`\|\c .B \-ansi\c \&\|' オプションを指定すると、暗黙のうちに `\|\c .B \-trigraphs\c \&\|' を指定したものとみなされます。 .TP .B \-traditional 伝統的な C コンパイラのいくつかの特徴をサポートします。詳しくは GNU C の マニュアルを参照してください。以前はここにそのリストの複製を載せていましたが、 それらが完全に時代遅れになった時に我々に文句が来ないように削除してしまいま した。 .Sp しかし、C++ のプログラムだけについて (C ではありません) 特記しておくこと が 1 つあります。 `\|\c .B \-traditional\c \&\|' オプションは C++ に対して 1 つだけ特別な効果を持ちます。それは、 .B this への代入を許可するというものです。これは `\|\c .B \-fthis\-is\-variable\c \&\|'オプションの指定が及ぼす効果と同一のものです。 .TP .B \-traditional\-cpp 伝統的な C プリプロセッサのいくつかの特徴をサポートします。これは上に挙 げた中で特にプリプロセッサに関係したものを含みますが、 `\|\c .B \-traditional\c \&\|' の指定によって引き起こされる以外の効果を及ぼすことはありません。 .TP .B \-fdollars\-in\-identifiers 識別子中の `\|\c .B $\c \&\|' の使用を許可します (C++ のみ)。 `\|\c .B \-fno\-dollars\-in\-identifiers\c \&\|' を使用することによって、明示的に `\|\c .B $\c \&\|'の使用を禁止することも可能です。(GNU C++ では、デフォルトで `\|\c .B $\c \&\|' を許可しているシステムと禁止しているシステムがあります)。 .TP .B \-fenum\-int\-equiv \c .B int\c \& から列挙型への暗黙の変換を許可します (C++ のみ)。通常は GNU C++ は \c .B enum\c \& から \c .B int\c \& への変換は許可していますが、 逆は許していません。 .TP .B \-fexternal\-templates テンプレート関数について、その関数が定義された場所にのみ単一のコピー を生成することによって、テンプレート宣言に対してより小さなコードを生成 します (C++ のみ)。このオプションを使用して正しいコードを得るためには、 テンプレートを使用する全てのファイルにおいて、`\|\c .B #pragma implementation\c \&\|' (定義) または `\|\c .B #pragma interface\c \&\|' (宣言) を記述しておく必要があります。 `\|\c .B \-fexternal\-templates\c \&\|' を指定してコンパイルを行なう場合には、全てのテンプレートの 実体は external となります。全ての使用される実体はインプリメンテーション ファイル中にまとめて記述しておかなければなりません。これはその必要とされ る実体に対応した \c .B typedef\c \& 宣言を行なうことによって実現できます。 逆に、デフォルトのオプション `\|\c .B \-fno\-external\-templates\c \&\|' でコンパイルした場合には全てのテンプレートの実体は internal と なります。 .TP .B \-fall\-virtual 可能な限り全てのメンバ関数を暗黙のうちに仮想関数として扱います。 全てのメンバ関数 (コンストラクタと .B new , .B delete メンバ演算子を除きます) は、出現した時点でそのクラスの仮想関数とし て扱われます。 .Sp これは、これらのメンバ関数への全ての呼び出しが仮想関数のための内部 テーブルを参照して間接的に決定されるということを意味しません。特定の状況 においては、コンパイラは与えられた仮想関数への呼び出しを直接決定できます。 このような場合にはその関数呼び出しは常に直接呼び出しとなります。 .TP .B \-fcond\-mismatch 条件演算子の第 2, 第 3 引数の型が異なる記述を許します。このような式の型は void となります。 .TP .B \-fthis\-is\-variable \c .B this\c \& への代入を許可します (C++ のみ)。ユーザ定義による記憶管理が可 能となった現在では、 `\|\c .B this\c \&\|' への代入は時代遅れのものとなりました。従ってデフォルトでは、クラスの メンバ関数からの \c .B this\c \& への代入は不当なものとして扱われています。しかし、後方互換性のために、 `\|\c .B \-fthis-is-variable\c \&\|' を指定することによってこの効果を得ることができます。 .TP .B \-funsigned\-char \c .B char\c \& 型を \c .B unsigned char\c \& のように符号無しとして扱います。 .Sp それぞれのマシンには \c .B char\c \& がどちらであるべきかというデフォルトがあります。 デフォルトで \c .B unsigned char\c \& であることもあれば、デフォルトで .B signed char\c \& であることもあります。 .Sp 理想的には、可搬性のあるプログラムは、オブジェクトの符号の有無に依 存する記述を行なう場合には常に \c .B signed char\c \&、もしくは .B unsigned char\c \& を使用すべきです。 しかし実際には多くのプログラムが単なる \c .B char\c \& を用いて記述されており、さらにそのプログラムを記述した 環境に依存して、符号付きである、あるいは符号無しであるという暗黙の仮定が 行なわれています。このオプション、あるいはこの逆のオプションは、デフォル トと逆の動作を行なわせることにより、これらのプログラムを正しく動作させ ることを可能にします。 .Sp \c .B char\c \& 型は常に .B signed char\c \& あるいは \c .B unsigned char\c \& とは区別された型として扱われます。常にそれらの振舞いがそのどち らかと全く同じであるということに関わらず、このような扱いを行います。 .TP .B \-fsigned\-char \c .B char\c \& 型を \c .B signed char\c \& 型のように符号付きとして扱います。 .Sp ただし、このオプションは `\|\c .B \-fno\-unsigned\-char\c \&\|' と等価です。これは `\|\c .B \-funsigned\-char\c \&\|'の否定形です。同様に `\|\c .B \-fno\-signed\-char\c \&\|' は `\|\c .B \-funsigned\-char\c \&\|' と等価です。 .TP .B \-fsigned\-bitfields .TP .B \-funsigned\-bitfields .TP .B \-fno\-signed\-bitfields .TP .B \-fno\-unsigned\-bitfields これらのオプションは、明示的に `\|\c .B signed\c \&\|' または `\|\c .B unsigned\c \&\|' の指定が行なわれていないビットフィールドに対して、符号つきであるかある いは符号なしであるかを制御します。デフォルトではこのようなビットフィール ドは符号つきとなっています。なぜなら、 .B int\c \& のような基本的な型は符号つきであるという点で、整合性がとれるからです。 .Sp ただし、`\|\c .B \-traditional\c \&\|' を指定した場合は、ビットフィールドは常に全て符号無しであるとされます。 .TP .B \-fwritable\-strings 文字列定数を書き込み可能なデータセグメントに配置し、同内容の文字列を 1 つの共有オブジェクトにする処理を行いません。これは、文字定数に書き込む ことができることを仮定した昔のプログラムとの互換性をとるために提供され ています。`\|\c .B \-traditional\c \&\|' オプションも同様の効果を含みます。 .Sp 文字定数に書き込むという考えは非常によくない考えです。\*(lq定数\*(rq はまさに定数であり、変化すべきではありません。 .PP .SH プリプロセッサオプション これらのオプションは C プリプロセッサを制御します。 各 C ソースファイルは、実際にコンパイルする前に、C プリプロセッサに かけられます。 .PP `\|\c .B \-E\c \&\|' オプションを使用すると、GCC はプリプロセス以外の処理を行いません。 以下に示すオプションのうちのいくつかは、`\|\c .B \-E\c \&\|' と同時に使用された時のみ意味をもちます。なぜならば、これらのオプション によって、実際のコンパイルには不適当なプリプロセッサ出力が生成されるためです。 .TP .BI "\-include " "file" \c .I file\c \& を、通常の入力ファイルが処理される前に処理します。結果的に \c .I file\c \& に含まれる内容は、一番最初にコンパイルされることになります。コマンドラ インに指定されたすべての `\|\c .B \-D\c \&\|' や `\|\c .B \-U\c \&\|' オプションは、その記述された順番に関わらず常に `\|\c .B \-include \c .I file\c \&\c \&\|' が処理される前に処理されます。全ての `\|\c .B \-include\c \&\|' や `\|\c .B \-imacros\c \&\|' オプションは、それらが記述された順番通りに処理されます。 .TP .BI "\-imacros " file 通常の入力ファイルを処理する前に\c .I file\c \& を入力として処理しますが、その結果の出力を捨てます。 .I file\c \& によって生成された出力は捨てられるため、`\|\c .B \-imacros \c .I file\c \&\c \&\|' の処理結果の影響は、\c .I file\c \& 中に記述されたマクロがメインの入力ファイル中で使用可能になることだけです。 プリプロセッサは、`\|\c .B \-imacros \c .I file\c \&\|' が記述された順番に関わらず、これを処理する前に、 コマンドラインから与えられた全ての `\|\c .B \-D\c \&\|' や `\|\c .B \-U\c \&\|' オプションを評価します。全ての `\|\c .B \-include\c \&\|' および `\|\c .B \-imacros\c \&\|' オプションは、それらが記述された順番通りに処理されます。 .TP .BI "\-idirafter " "dir" ディレクトリ \c .I dir\c \& を第 2 インクルードパスに加えます。第 2 インクルードパス中のディレクトリは、 メインインクルードパス (オプション `\|\c .B \-I\c \&\|' によって追加されます) 中にヘッダファイルを探した結果発見できな かった場合に検索されます。 .TP .BI "\-iprefix " "prefix" \c .I prefix\c \& を、その後に続く `\|\c .B \-iwithprefix\c \&\|' オプション用のプレフィックスとして使用します。 .TP .BI "\-iwithprefix " "dir" ディレクトリを第 2 インクルードパスに追加します。ディレクトリ名は \c .I prefix\c \& と \c .I dir\c \& を連結することによって得られます。ここで \c .I prefix は、`\|\c .B \-iprefix\c \&\|' オプションによって指定されたものです。 .TP .B \-nostdinc ヘッダファイルのための標準のシステムディレクトリを検索しません。`\|\c .B \-I\c \&\|' オプションによって指定したディレクトリ (またはカレントディレクト リ) のみを検索します。 .Sp `\|\c .B \-nostdinc\c \&\|' と `\|\c .B \-I\-\c \&\|'を使用することにより、インクルードファイルの検索パスを明示的に指 定したディレクトリのみに限定することが可能となります。 .TP .B \-nostdinc++ ヘッダファイルの検索に、C++\-固有の標準ディレクトリを用いません。ただ しそれ以外の標準ディレクトリは検索されます。 (このオプションは `\|\c .B libg++\c \&\|' の構築に使用されます。) .TP .B \-undef 標準でない定義済みマクロ(アーキテクチャフラグも含めて)を定義しません。 .TP .B \-E C プリプロセッサの処理のみを行います。指定された全ての C のソースファイル に対してプリプロセスを行ない、標準出力、または指定された出力ファイルに 対して出力を行います。 .TP .B \-C プリプロセッサに対してコメントの削除を行なわないように指示します。 `\|\c .B \-E\c \&\|' オプションとともに使用されます。 .TP .B \-P プリプロセッサに対して `\|\c .B #line\c \&\|' コマンドを生成しないように指示します。 `\|\c .B \-E\c \&\|' オプションとともに使用されます。 .TP .B \-M\ [ \-MG ] プリプロセッサに対して\c .B make で使用可能な、オブジェクト間の依存関係を記述した出力を生成するように指示 します。それぞれのソースファイルに対して、プリプロセッサは\c .B make\c \& のための規則を 1 つ出力します。この出力は、ターゲットとして そのソースファイルから生成されるオブジェクトファイルのファイル名をとり、 依存するファイルのリストとしては `\|\c .B #include\c \&\|' によってソースファイルに 読み込まれる全てのファイルの名前が並びます。この 規則は 1 行、あるいは長い場合には`\|\c .B \e\c \&\|' と改行を入れて複数行で出力されます。この規則のリストは、プリプロセス済 みの C プログラムのかわりに、標準出力へと出力されます。 .Sp `\|\c .B \-M\c \&\|' は暗黙のうちに `\|\c .B \-E\c \&\|' を含みます。 .Sp `\|\c .B \-MG\c \&\|' を指定すると、見つからないヘッダファイルは生成されたファイルであり、 それらはソースファイルと同じディレクトリに存在するとみなします。 これは `\|\c .B \-M\c \&\|' と同時に指定しなければなりません。 .TP .B \-MM\ [ \-MG ] `\|\c .B \-M\c \&\|' と似ていますが、`\|\c .B #include "\c .I file\c .B \&"\c \&\|'によってインクルードされるユーザ定義のヘッダファイルのみを対象に した出力ファイルを生成します。`\|\c .B #include <\c .I file\c .B \&>\c \&\|' によってインクルードされるシステムヘッダファイルは省略されます。 .TP .B \-MD `\|\c .B \-M\c \&\|' と似ていますが、依存情報は出力ファイル名の最後の `\|\c .B .o\c \&\|' を `\|\c .B .d\c \&\|' に置き換えたファイル名のファイルに対して出力されます。 \&`\|\c .B \-MD\c \&\|' を指定したファイルのコンパイルもこれに加えて行なわれ、 `\|\c .B \-M\c \&\|' のように通常のコンパイルを抑制することはありません。 .Sp Mach のユーティリティである`\|\c .B md\c \&\|' は、これらの複数の `\|\c .B .d\c \&\|' ファイルを `\|\c .B make\c \&\|' コマンドによって使用できる単一の依存記述ファイルへとマージするのに使用 することができます。 .TP .B \-MMD `\|\c .B \-MD\c \&\|' と似ていますが、ユーザヘッダファイルのみを対象とし、システムヘッダ ファイルを無視します。 .TP .B \-H 通常の動作に加えて、使用されたヘッダファイルの名前を表示します。 .TP .BI "\-A" "question" ( answer ) .I question\c に対するアサーション .I answer \& を定義します。これは `\|\c .BI "#if #" question ( answer )\c \&\|' のようなプリプロセッサ条件節によってテストされます。`\|\c .B \-A\-\c \&\|' は標準のアサーション(通常はターゲットマシンに関 する情報を表している)を禁止します。 .TP .BI \-D macro マクロ \c .I macro\c \& に対して文字列 `\|\c .B 1\c \&\|' を定義として与えます。 .TP .BI \-D macro = defn マクロ \c .I macro\c \& を \c .I defn\c \& として定義します。コマンドライン上の全ての `\|\c .B \-D\c \&\|' オプションは `\|\c .B \-U\c \&\|' オプションの処理を行なう前に処理されます。 .TP .BI \-U macro マクロ \c .I macro\c \& の定義を無効にします。`\|\c .B \-U\c \&\|' オプションは全ての `\|\c .B \-D\c \&\|' オプションの処理が終了した後、`\|\c .B \-include\c \&\|' と `\|\c .B \-imacros\c \&\|' オプションの処理の前に処理されます。 .TP .B \-dM プリプロセッサに対して、プリプロセス終了時に有効であったマクロの定義の みを出力するように指示します。`\|\c .B \-E\c \&\|' オプションとともに使用します。 .TP .B \-dD プリプロセッサに対して、全てのマクロ定義を適切な順番で出力中にそのまま 出力するように指示します。 .TP .B \-dN `\|\c .B \-dD\c \&\|' と似ていますが、マクロの引数と内容を削除します。 出力には`\|\c .B #define \c .I name\c \&\c \&\|' のみが含まれます。 .PP .SH アセンブラオプション .TP .BI "\-Wa," "option" \c .I option\c \& をアセンブラに対するオプションとして渡します。\c .I option がコンマを含む場合は、そのコンマで区切られた複数のオプションとして与え られます。 .PP .SH リンカオプション これらのオプションは、コンパイラがオブジェクトファイル群をリンクして 1 つ の実行可能ファイルを出力する際に使用されるものです。これらはコンパイラが リンクステップを行なわない場合には意味を持ちません。 .TP .I object-file-name 特別に認識される拡張子で終っていないファイル名は、オブジェクトファイル、 またはライブラリであると認識されます。(オブジェクトファイルとライブラリ はリンカがその内容を参照することで区別されます。) GCC がリンクステップを 行なう場合は、これらのファイルはリンカへの入力として使用されます。 .TP .BI \-l library 名前が .I library\c \& であるライブラリをリンク時に使用します。 .Sp リンカは、標準のライブラリ用ディレクトリのリスト中から、 実際のファイル名が `\|\c .B lib\c .I library\c \&.a\c \&\|' であるファイルを検索します。リンカはこのファイルを、ファイル 名で直接指定した場合と同様に使用します。 .Sp 検索するディレクトリには、いくつかの標準システムディレクトリと、`\|\c .B \-L\c \&\|' によって指定したディレクトリが含まれます。 .Sp 通常、この方法で発見されるファイルはライブラリファイル、つまりいくつかの オブジェクトファイルをメンバとして含むアーカイブファイルです。 リンカは、アーカイブファイルの中を検索して、 参照されているが定義されていないシンボルを定義しているメンバを 探し出します。 しかし、もしリンカがライブラリでなく通常のオブジェクトファイルを発見した 場合は、そのオブジェクトファイルを通常の方法でリンクします。`\|\c .B \-l\c \&\|' オプションを使用する場合とファイル名を直接指定する場合の違いは、`\|\c .B \-l\c \&\|' の場合が .I library を `\|\c .B lib\c \&\|' と `\|\c .B .a\c \&\|' で囲み、いくつものディレクトリを検索することだけです。 .TP .B \-lobjc Objective C のプログラムをリンクする場合は、この特別な .B \-l オプションを指定する必要があります。 .TP .B \-nostartfiles リンク時に、標準のシステムスタートアップファイルを使用しません。 標準ライブラリは通常通りに使用されます。 .TP .B \-nostdlib リンク時に、標準のシステムライブラリとスタートアップファイルを使用しません。 指定したファイルのみがリンカに渡されます。 .TP .B \-static ダイナミックリンクをサポートするシステムにおいて、このオプションは共有 ライブラリとのリンクを抑制します。それ以外のシステムではこのオプションは 意味を持ちません。 .TP .B \-shared 他のオブジェクトとリンクして実行可能プログラムを形成し得る共有オブジェクトを 生成します。ごく少数のシステムでのみ、このオプションはサポートされ ています。 .TP .B \-symbolic 共有オブジェクトを構築する際に、グローバルなシンボルへの参照をバインド します。全ての解決できなかった参照に対して警告を与えます (ただしリンクエディタオプション `\|\c .B \-Xlinker \-z \-Xlinker defs\c \&\|' によってこれを無効化した場合を除きます)。ごく少数のシステムでのみ、 このオプションはサポートされています。 .TP .BI "\-Xlinker " "option" オプション \c .I option をリンカに対して渡します。リンカに渡すシステム固有のオプションが、 GNU CC が理解できないものである場合に利用できます。 .Sp 引数を持ったオプションを渡したい場合は、 `\|\c .B \-Xlinker\c \&\|' を 2 度使用すれば可能です。1 度目でオプションを渡し、2 度目で引数を 渡します。例えば `\|\c .B \-assert definitions\c \&\|' を渡すには、 `\|\c .B \-Xlinker \-assert \-Xlinker definitions\c \&\|' のように記述すれば可能です。 `\|\c .B \-Xlinker "\-assert definitions"\c \&\|' のように指定した場合は正常に動作しません。なぜならこれは、文字列全 体を 1 つの引数として渡してしまい、リンカの期待する形式と異なってしま うからです。 .TP .BI "\-Wl," "option" オプション \c .I option\c \& をリンカに渡します。\c .I option\c \& がコンマを含む場合は、それらのコンマで複数のオプションとして分割されます。 .TP .BI "\-u " "symbol" シンボル .I symbol が未定義であるかのように振舞います。これは強制的にこのシンボルを定義してい るライブラリモジュールをリンクするために使用します。`\|\c .B \-u\c \&\|' は異なったシンボルに対して複数回使用することができます。これによっ て、さらに多くのライブラリモジュールを読み込ませることができます。 .SH ディレクトリオプション これらのオプションは、ヘッダファイル、ライブラリ、コンパイラの一部を検 索するディレクトリを指定するために使用されます。 .TP .BI "\-I" "dir" ディレクトリ \c .I dir\c \& を、インクルードファイルの検索するディレクトリのリスト中に追加します。 .TP .B \-I\- `\|\c .B \-I\-\c \&\|' オプション指定前に `\|\c .B \-I\c \&\|' オプションによって指定された全てのディレクトリは、`\|\c .B #include "\c .I file\c .B \&"\c \&\|' の形式によってのみ検索されます。 これらのディレクトリは `\|\c .B #include <\c .I file\c .B \&>\c \&\|' によっては検索されません。 .Sp \&\|` .B \-I\-\c \&\|' オプション指定後に `\|\c .B \-I\c \&\|' で指定したディレクトリは、全ての `\|\c .B #include\c \&\|' 命令によって検索されます。(通常は \c .I 全ての\c \& `\|\c .B \-I\c \&\|' で指定されたディレクトリは この方法で検索されます。) .Sp これに加えて `\|\c .B \-I\-\c \&\|' オプションは、カレントディレクトリ (現在の入力ファイルが存在する ディレクトリ) が `\|\c .B #include "\c .I file\c .B \&"\c \&\|' に対する最初の検索対象となることを抑制します。`\|\c .B \-I\-\c \&\|' によるこの効果を上書きする方法はありません。`\|\c .B \-I.\c \&\|' を指定することによって、コンパイラが起動されたディレクトリが検索 されることを指定することは可能です。これはプリプロセッサが行なう デフォルトの動作とは異なりますが、たいていはこれで十分です。 .Sp `\|\c .B \-I\-\c \&\|' は、ヘッダファイルの検索に標準のシステムディレクトリを使うことを抑制 するわけではありません。 従って、`\|\c .B \-I\-\c \&\|' と `\|\c .B \-nostdinc\c \&\|' は 独立です。 .TP .BI "\-L" "dir" ディレクトリ\c .I dir\c \& を `\|\c .B \-l\c \&\|' による検索が行なわれるディレクトリのリストに加えます。 .TP .BI "\-B" "prefix" このオプションはコンパイラ自身の実行形式、ライブラリ、データファイルの 検索場所を指定します。 .Sp コンパイラドライバはサブプログラム `\|\c .B cpp\c \&\|', `\|\c .B cc1\c \&\|' (または C++ においては `\|\c .B cc1plus\c \&\|'), `\|\c .B as\c \&\|', そして `\|\c .B ld\c \&\|' を 1 つ、あるいはそれ以上起動します。コンパイラドライバは、 起動するプログラムのプレフィックスとして .I prefix\c \& に `\|\c .I machine\c .B /\c .I version\c .B /\c \&\|' をつけたものとつけないものの双方を 使用します。 .Sp コンパイラドライバは各サブプログラムの起動時に、 `\|\c .B \-B\c \&\|' プレフィックスの指定がある場合は、それを最初に利用します。もしその 名前が見つからなければ、または `\|\c .B \-B\c \&\|' が指定されていなければ、ドライバは 2 つの標準プレフィックス `\|\c .B /usr/lib/gcc/\c \&\|' と `\|\c .B /usr/local/lib/gcc-lib/\c \&\|' を試します。このどちらにも見つからなければ、コンパイラドライバは、 環境変数 `\|\c .B PATH\c \&\|' のディレクトリリストを利用して、そのプログラム名を検索します。 .Sp ランタイムサポートファイル `\|\c .B libgcc.a\c \&\|' も、必要ならば `\|\c .B \-B\c \&\|' プレフィックスを用いて検索されます。もしそこに見つからなければ、 前記 2 つの標準プレフィックスが試みられますが、それで終りです。この場合は リンクの対象から外されます。ほとんどの場合、またほとんどのマシンでは、`\|\c .B libgcc.a\c \&\|' は実際には必要ではありません。 .Sp これと同じ効果を、環境変数 .B GCC_EXEC_PREFIX\c \& によっても得ることができます。もしこの環境変数が定義されていれば、こ の値がプレフィックスとして同様に使用されます。もし `\|\c .B \-B\c \&\|' オプションと .B GCC_EXEC_PREFIX\c \& 環境変数の双方が存在した場合は、`\|\c .B \-B\c \&\|' オプションが最初に使用され、環境変数は次に使用されます。 .SH 警告オプション 警告は、本質的に間違いであるわけではありませんが、危険な構造を報告したり、 エラーがあるかもしれないような部分を示唆する診断メッセージです。 .Sp 以下のオプションは、GNU CC が生成する警告の量と種類を制御します。 .TP .B \-fsyntax\-only コードの文法エラーをチェックしますが、一切出力は行いません。 .TP .B \-w 全ての警告メッセージを抑制します。 .TP .B \-Wno\-import .BR #import の利用による警告メッセージを抑制します。 .TP .B \-pedantic 厳密な ANSI 標準 C 言語で規定している全ての警告を表示し、許されていない拡張を 使用したプログラムを全て拒否します。 .Sp 正当な ANSI 標準 C プログラムは、このオプションの有無に関わらず コンパイルできるべきです (もっとも、ほんのわずかではありますが `\|\c .B \-ansi\c \&\|' を必要とするものはあります)。しかし、このオプションを使用しない場合、 GNU 拡張や伝統的な C の特徴も、これに加えてサポートされます。このオプション を使用すれば、それらは拒絶されます。このオプションを\c .I 使う\c \&理由はありませんが、こだわりのある人々を満足させるためにのみ 存在しています。 .Sp `\|\c .B \-pedantic\c \&\|' は、始まりと終りとが `\|\c .B _\|_\c \&\|' である代替キーワードの使用については、警告しません。 同様に .B _\|_extension_\|_\c \& に続く表現についても警告しません。しかし、システムヘッダファイルのみ がこの抜け道を使用すべきであり、アプリケーションプログラムはこれを避け るべきです。 .TP .B \-pedantic\-errors `\|\c .B \-pedantic\c \&\|' と似ていますが、警告のかわりにエラーを出します。 .TP .B \-W 以下のイベントに対して、特別な警告メッセージを表示します。 .TP \ \ \ \(bu volatile でない自動変数が .B longjmp\c \& の呼び出しによって変更され得る場合です。これらの警告は、最適化コンパイル の時のみ問題になり得ます。 .Sp コンパイラは .B setjmp\c \& の呼び出しのみを見ています。コンパイラは、どこで \c .B longjmp\c \& が呼び出されるかを知ることはできません。実際には、シグナルハンドラは コード中の任意の場所で .B longjmp\c \& を呼び出すことができます。従って、実際には \c .B longjmp\c \& への呼び出しが危険な部分からはおこなわれていないために問題のないプ ログラムであっても、警告が発せられることになります。 .TP \ \ \ \(bu 関数が、値を伴ってリターンする場合と、値を伴わずにリターンする場合の両方 が起こりうる場合です。 (関数の最後を抜けていくことは、値を伴わずに関数をリターンするとみなされます。) 例えば、次の関数がこの種類の警告を引き起こします。 .Sp .nf foo (a) { if (a > 0) return a; } .Sp .fi ある関数 (\c .B abort\c \& や\c .B longjmp\c \& を含む) が決してリターンしないということを GNU CC が理解できないために、にせの警告 が発生するかもしれません。 .TP \ \ \ \(bu 式文 (expression-statement) またはコンマ式の左部分が 一切の副作用を含まない場合です。 警告を抑制するには、使用しない式を void にキャストして下さい。 例えば `\|\c .B x[i,j]\c \&\|' といった式は警告されますが、`\|\c .B x[(void)i,j]\c \&\|' は警告されません。 .TP \ \ \ \(bu 符号無しの値が 0 と `\|\c .B >\c \&\|' または `\|\c .B <=\c \&\|' で比較される場合です。 .PP .TP .B \-Wimplicit-int 型を指定していない宣言に対して警告します。 .TP .B \-Wimplicit-function-declaration 宣言に先立って用いられた関数に対して警告します。 .TP .B \-Wimplicit -Wimplicit-int および -Wimplicit-function-declaration と同じです。 .TP .B \-Wmain .B main 関数が不審な型で宣言あるいは定義されている場合に警告します。 通常、main は外部リンケージを持ち、 .B int\c \& を返し、0 個または 2 個の引数をとる関数です。 .TP .B \-Wreturn\-type 関数の戻り値の型が、デフォルトである \c .B int\c \& に定義された時に常に警告します。また、戻り値の型が \c .B void\c でない関数内に、戻り値のない \c .B return\c \& 文がある場合にも常に警告します。 .TP .B \-Wunused ローカル変数が宣言されたにも関わらず使用されていない場合、静的に宣言さ れた関数の実体が定義されていない場合、計算結果が明らかに 利用されていない場合に常に警告します。 .TP .B \-Wswitch .B switch\c \& 文がインデックスとして列挙型をとっている時、その列挙型中のいくつ かの値に対する \c .B case\c \& が欠けている場合に常に警告します。(\c .B default\c \& ラベルが存在する場合、この警告は出ません。) このオプションを使用した場合 には、列挙型の範囲を越えた \c .B case\c \& ラベルも、常に警告されます。 .TP .B \-Wcomment コメントの開始文字列 `\|\c .B /\(**\c \&\|' がコメント中に現れた時に常に警告します。 .TP .B \-Wtrigraphs トライグラフの出現を常に警告します (トライグラフが使用可能であると仮定します)。 .TP .B \-Wformat .B printf\c \&, \c .B scanf\c \& などへの呼び出しに対して、与えられた引数が、フォーマット文字列の指 定を満足する型を持っているかを検査します。 .TP .B \-Wchar\-subscripts 配列の添字の型が .BR char であった場合に警告します。これはよくある間違いのもとです。 いくつかのマシンにおいてはこの型が符号付きであることを、 プログラマはしばしば忘れてしまいます。 .TP .B \-Wuninitialized 初期化されていない自動変数が使用されています。 .Sp これらの警告は、最適化コンパイルを行なう時のみ発生します。なぜなら、 コンパイラは最適化を行なう時にのみデータフロー情報を必要とするからです。 もし `\|\c .B \-O\c \&\|' を指定しなかった場合は、この警告を得ることはできません。 .Sp これらの警告は、レジスタ割り当ての対象となった変数についてのみ発生します。 従って、\c .B volatile\c \& であると宣言された変数や、アドレス上に割り当てられた変数、サイズが 1, 2, 4, 8 バイト以外の変数に関してはこれらの警告は発生しません。 さらに、構造体、共用体、配列については、たとえそれらがレジスタに 割り当てられたとしても、これらの警告は発生しません。 .Sp ある変数によって計算された値が結局使用されないような変数については、一切の 警告が生じないことに注意して下さい。このような計算は、警告が表示される前に データフロー解析によって削除されます。 .Sp これらの警告をオプションにした理由の一つは、GNU CC がまだあまり賢くなくて、 あるコードが一見間違いを含むかのように見えても それは実は正しいものかもしれない、 ということを GNU CC が理解できない、というものです。 ここにその 1 つの例を挙げます。 .Sp .nf { int x; switch (y) { case 1: x = 1; break; case 2: x = 4; break; case 3: x = 5; } foo (x); } .Sp .fi もし \c .B y\c \& の値が常に 1, 2 あるいは 3 である限りは \c .B x\c \& は常に 初期化されます。しかし GNU CC はこれを知ることはできません。もう 1 つの一般 的な例を挙げます。 .Sp .nf { int save_y; if (change_y) save_y = y, y = new_y; .\|.\|. if (change_y) y = save_y; } .Sp .fi これはバグを含みません。なぜなら \c .B save_y\c \& は、その値が設定された時のみ使用されるからです。 .Sp いくつかのにせの警告は、使用している決してリターンしない関数全てに対して .B volatile\c \& と宣言することによって防ぐことが可能です。 .TP .B \-Wparentheses ある特定の文脈中で括弧が省略されていた場合に警告します。 .TP .B \-Wtemplate\-debugging C++ プログラムにおいてテンプレートを使用している際に、デバッグが完全に 可能でない場合を警告します (C++ のみ)。 .TP .B \-Wall 全ての上に挙げた `\|\c .B \-W\c \&\|' オプションを結合したものです。これらのオプションは全て、 たとえマクロとの組み合わせ であっても、避けたほうがいいと我々が推奨する用法や、 簡単に避けることができると我々が信じている用法に関するものです。 .PP 残りの `\|\c .B \-W.\|.\|.\c \&\|' オプションは `\|\c .B \-Wall\c \&\|' によっては暗黙のうちに指定されません。なぜならこれらは、クリーンなプ ログラムにおいても、ある状況においては使用することが妥当であると我々が 考える構造についての警告を行なうオプションだからです。 .TP .B \-Wtraditional 伝統的な C と ANSI C において異なった振舞いをする特定の構造について警 告します。 .TP \ \ \ \(bu マクロ引数がマクロ本体内の文字列定数に現れるものです。これは、伝統的な C に おいてはその引数で置換しましたが、ANSI C においては定数の一部として扱わ れます。 .TP \ \ \ \(bu ブロック内で外部宣言であると宣言され、かつそのブロックの終端の後で 使用されている関数です。 .TP \ \ \ \(bu オペランドとして \c .B long\c \& 型をとる \c .B switch\c \& 文です。 .PP .TP .B \-Wshadow ローカル変数が他のローカル変数を隠している時に常に警告します。 .TP .BI "\-Wid\-clash\-" "len" 2 つの全く別の識別子の最初の \c .I len 文字が一致した時に警告します。これはある種の旧式な おばかさんコンパイラでコンパイルされ得るプログラムを作る場合に役に立ちます。 .TP .B \-Wpointer\-arith 関数型や \c .B void\c \& の \*(lqサイズ\*(rq に依存するものを全て警告します。GNU C はこれらに対して、 サイズ 1 を割り当てています。これは \c .B void \(**\c \& ポインタと関数へのポインタにおける計算を簡便にするためです。 .TP .B \-Wcast\-qual ポインタが、型修飾子が削除されるようにキャストされる全ての場合に警告します。 例えば \c .B const char \(**\c \& を 普通の \c .B char \(**\c \& にキャストした場合に警告がなされます。 .TP .B \-Wcast\-align ポインタのキャストにおいて、そのターゲットに要求される境界条件が 大きくなるようなキャストを全て警告します。例えば \c .B char \(**\c \& が \c .B int \(**\c \& へとキャストされると、整数が 2、あるいは 4 バイト境界でしかアクセスで きないマシンにおいては警告が発せられます。 .TP .B \-Wwrite\-strings 文字定数に対して、型 \c .B const char[\c .I length\c .B ]\c \& を与え、非-\c .B const\c \& の \c .B char \(** ポインタへのアドレスのコピーに対して警告するようにします。この警告は、 宣言とプロトタイプにおいて \c .B const\c \& の使用を非常に注意深くおこなっていさえすれば、 文字列定数に書き込みをしそうなコードをコンパイル時に発見することを助けますが、 そうでない場合は有害無益な指定です。これが、我々がこの警告を `\|\c .B \-Wall\c \&\|' のリクエストに含めなかった理由です。 .TP .B \-Wconversion 同じ引数が与えられた時に、プロトタイプが存在する場合とプロトタイプが 存在しない場合とで、異なった型変換を引き起こす場合について警告します。 これは固定小数点から浮動小数点への変換やその逆、デフォルトの動作と異なる固定 小数点引数の幅や符号の有無の変換が含まれます。 .TP .B \-Waggregate\-return 構造体や共用体を返す関数を定義した場合や、 それらを呼び出す全ての場合に警告します。 (配列を返すことができる言語においても、これは警告を引き起こします。) .TP .B \-Wstrict\-prototypes 引数の型を指定せずに関数を宣言、あるいは定義した場合に警告します。 (以前に引数の型を指定した宣言が存在する場合には、旧式の関数宣言に対しては 警告をしません。) .TP .B \-Wmissing\-declarations グローバルな関数を、その前にプロトタイプ宣言をせずに定義した場合に 警告します。 この警告は、たとえその定義自身がプロトタイプを含んでいたとしても発生します。 この警告の目的は、ヘッダファイル中にグローバル関数の定義を忘れるこ とを防ぐことにあります。 .TP .B \-Wredundant-decls 同一スコープ中で複数回、同一対象を宣言した場合に、たとえそれが正当で何も 変化させない場合であっても警告します。 .TP .B \-Wnested-externs 関数内で \c .B extern\c \& 宣言を行なった場合に警告します。 .TP .B \-Wenum\-clash 異なる列挙型の間で変換を行なった際に警告します (C++ のみ)。 .TP .B \-Wlong-long .B long long \c 型が使用されている場合に警告します。これはデフォルトです。 この警告メッセージを抑止するには `\|\c .B \-Wno\-long\-long\c \&\|' フラグを用いて下さい。フラグ `\|\c .B \-Wlong\-long\c \&\|' および `\|\c .B \-Wno\-long\-long\c \&\|' は、フラグ `\|\c .B \-pedantic\c \&\|' 使用時のみ考慮されます。 .TP .B \-Woverloaded\-virtual (C++ のみ。) 導出クラスにおいて、仮想関数の定義は基底クラスで定義された仮想関数の型 の記述と一致していなければなりません。このオプションを使用することによっ て、基底クラスにおける仮想関数と同一の名前を持ち、基底クラスのいかなる 仮想関数とも異なった型の記述を持つ関数に対して警告が行われます。これに よって、導出クラスが仮想関数を定義しようとして失敗する場合を警告するこ とができます。 .TP .B \-Winline 関数がインライン宣言されている、あるいは .B \-finline\-functions オプションが与えられている場合に、関数をインライン展開できなかった場合 に警告します。 .TP .B \-Werror 警告をエラーとして扱います。警告の後にコンパイルを中断します。 .SH デバッグオプション GNU CC は、ユーザのプログラムや GCC の双方をデバッグするために、 多くのオプションを備えています。 .TP .B \-g オペレーティングシステムのネイティブのフォーマット (stabs, COFF, XCOFF, DWARF) でデバッグ情報を生成します。GDB はこのデバッグ情報に基づい て動作することができます。 .Sp stabs フォーマットを使用するほとんどのシステムにおいては、`\|\c .B \-g\c \&\|' を指定すると、GDB だけが使用できる余分なデバッグ情報が使用可能に なります。 この特別の情報は GDB に対してはよりよいデバッグを行なうことを可能 としますが、おそらく他のデバッガに対してはクラッシュ、あるいはそのプログラムを 読めなくしてしまいます。この特別な情報の生成を制御するためには `\|\c .B \-gstabs+\c \&\|', `\|\c .B \-gstabs\c \&\|', `\|\c .B \-gxcoff+\c \&\|', `\|\c .B \-gxcoff\c \&\|', `\|\c .B \-gdwarf+\c \&\|', `\|\c .B \-gdwarf\c \&\|' を使用してください (下記参照)。 .Sp 他の多くの C コンパイラと異なり、GNU CC は `\|\c .B \-g\c \&\|' を `\|\c .B \-O\c \&\|' とともに使用することを許しています。最適化されたコードが通る近道は、 時には驚くべき結果を生み出すかもしれません。 定義したはずの変数が存在しなかったり、 制御の流れが予想もしなかった場所に移動したり、結果が定数とわかる計算や、 結果がすでに手元にある文は実行されなくなり、ある文がループの外に追い出されて 別の場所で実行されたりします。 .Sp それにも関わらず、このオプションは最適化された出力のデバッグを可能とし ています。これによって、バグを含むかもしれないプログラムに対して オプティマイザを使用することができるようになります。 .PP 以下のオプションは、GNU CC を 1 つ以上のデバッグフォーマットを扱 えるように作成してある場合に有益です。 .TP .B \-ggdb (もしサポートされていれば)ネイティブのフォーマットでデバッグ情報を生成 します。これは可能な限りの全ての GDB 拡張を含みます。 .TP .B \-gstabs (もしサポートされていれば) stabs フォーマットでデバッグ情報を生成します。 ただし GDB 拡張は含みません。このフォーマットはほとんどの BSD システム上 の DBX で利用できるフォーマットです。 .TP .B \-gstabs+ (もしサポートされていれば) stabs フォーマットでデバッグ情報を生成します。 ただし GNU デバッガ (GDB) でしか理解できない GNU 拡張を使用します。 この拡張を使用すると、他のデバッガでは、クラッシュや プログラムが読めなくなるなどの影響がおそらく出ます。 .TP .B \-gcoff (サポートされていれば) COFF フォーマットでデバッグ情報を生成します。 これは、System V Release 4 より前の ほとんどの System V 上の SDB で利用できるフォーマットです。 .TP .B \-gxcoff (サポートされていれば) XCOFF フォーマットでデバッグ情報を生成します。こ れは IBM RS/6000 システムにおいて DBX デバッガによって使用される フォーマットです。 .TP .B \-gxcoff+ (もしサポートされていれば) XCOFF フォーマットでデバッグ情報の生成を行 います。ただし、GNU デバッガ (GDB) によってのみ理解され得る GNU 拡張を使 用します。これらの拡張を使用すると、他のデバッガに対してはクラッシュやプ ログラムを読みとり不能にするなどの影響を及ぼし得ます。 .TP .B \-gdwarf (もしサポートされていれば) DWARF フォーマットでデバッグ情報の生成を行 います。これはほとんどの System V Release 4 システムにおいて SDB によっ て使用される形式です。 .TP .B \-gdwarf+ (もしサポートされていれば) DAWRF フォーマットでデバッグ情報の生成を行 います。ただし、GNU デバッガ (GDB) によってのみ理解され得る GNU 拡張を使 用します。これらの拡張を使用すると、他のデバッガに対してはクラッシュや プログラムを読みとり不能にするなどの影響を及ぼし得ます。 .PP .BI "\-g" "level" .br .BI "\-ggdb" "level" .br .BI "\-gstabs" "level" .br .BI "\-gcoff" "level" .BI "\-gxcoff" "level" .TP .BI "\-gdwarf" "level" デバッグ情報を要求しますが、同時に \c .I level\c \& によってどの程度の情報が必要かを指定します。デフォルトのレベルは 2 です。 .Sp レベル 1 は、デバッグを予定しないプログラムの部分に対してバックトレース を生成するに十分な最低限の情報を生成します。これは関数と外部変数の記述 を含みますが、ローカル変数や行番号に関する情報は含みません。 .Sp レベル 3 はプログラムに含まれる全てのマクロ定義などの特別な情報を含みます。 いくつかのデバッガは `\|\c .B \-g3\c \&\|' の使用によってマクロの展開をサポートします。 .TP .B \-p プログラム \c .B prof\c \& によって使用されるプロファイル情報を書き込む特別なコードを生成します。 .TP .B \-pg プログラム \c .B gprof\c \& によって使用されるプロファイル情報を書き込む特別なコードを生成します。 .TP .B \-a 基本ブロックのプロファイル情報を書き込む特別なコードを生成します。これは それぞれのブロックが何回実行されたかを記録します。このデータは \c .B tcov\c \& のようなプログラムによって解析されます。ただし、このデータフォーマットは \c .B tcov\c \& が期待するものとは異なっています。最終的には、GNU \c .B gprof\c \& が処理できるように拡張されるべきです。 .TP .B \-ax ファイル `bb.in' から基本ブロックプロファイルパラメータを読み出し、 ファイル `bb.out' にプロファイル結果を書き出すための、 特別なコードを生成します。 `bb.in' は関数のリストを保持しています。 このリストに含まれる関数に入ると、プロファイリングがオンになります。 最外側関数を抜けると、プロファイリングはオフになります。 関数名が `-' で始まっている場合、その関数はプロファイル対象外に なります。もし関数名が唯一に定まらない場合は、 `/path/filename.d:functionname' と記述することでこれらを区別できます。 `bb.out' には、いくつかの利用可能な関数がリストされます。 特別な意味をもつ関数が 4 つあります: `__bb_jumps__' はジャンプ頻度を `bb.out' に書き出します。 `__bb_trace__' は基本ブロック列を `gzip' にパイプし、 ファイル `bbtrace.gz' に書き出します。 `__bb_hidecall__' は call 命令をトレースから除外します。 `__bb_showret__' は return 命令をトレースに含めるようにします。 .TP .BI "\-d" "letters" コンパイル中の .I letters\c \& で指定されるタイミングに、デバッグ用のダンプを生成するように指示します。 これはコンパイラをデバッグするために使用されます。ほとんどのダンプのファイル 名はソースファイル名に 1 単語をつなげたものになります。(例えば、`\|\c .B foo.c.rtl\c \&\|' や `\|\c .B foo.c.jump\c \&\|' などです)。 .TP .B \-dM 全てのマクロ定義をダンプし、プリプロセス終了時に出力に書き出します。 その他には何も書き出しません。 .TP .B \-dN 全てのマクロ名をダンプし、プリプロセス終了時に出力に書き出します。 .TP .B \-dD 全てのマクロ定義をプリプロセス終了時に通常の出力に加えてダンプします。 .TP .B \-dy パース中にデバッグ情報を標準エラー出力にダンプします。 .TP .B \-dr RTL 生成後に `\|\c .I file\c .B \&.rtl\c \&\|' に対してダンプします。 .TP .B \-dx 関数をコンパイルするかわりに、RTL を生成するのみの処理を行います。通常は `\|\c .B r\c \&\|' とともに使用されます。 .TP .B \-dj 最初のジャンプ最適化の後に、`\|\c .I file\c .B \&.jump\c \&\|' に対してダンプします。 .TP .B \-ds 共通部分式削除 (しばしば共通部分式削除に続くジャンプ最適化も含みます) の終了 時に `\|\c .I file\c .B \&.cse\c \&\|' に対してダンプします。 .TP .B \-dL ループ最適化終了時に `\|\c .I file\c .B \&.loop\c \&\|' に対してダンプします。 .TP .B \-dt 第 2 共通部分式削除段階 (しばしば共通部分式削除に続くジャンプ最適化も 含みます) の終了時に、`\|\c .I file\c .B \&.cse2\c \&\|' に対してダンプします。 .TP .B \-df フロー解析終了後に、`\|\c .I file\c .B \&.flow\c \&\|' に対してダンプします。 .TP .B \-dc 命令コンビネーション終了時に `\|\c .I file\c .B \&.combine\c \&\|' に対してダンプします。 .TP .B \-dS 第 1 命令スケジューリング段階終了時に `\|\c .I file\c .B \&.sched\c \&\|' に対してダンプします。 .TP .B \-dl ローカルレジスタ割り当て終了時に `\|\c .I file\c .B \&.lreg\c \&\|' に対してダンプします。 .TP .B \-dg グローバルレジスタ割り当て終了時に `\|\c .I file\c .B \&.greg\c \&\|' に対してダンプします。 .TP .B \-dR 第 2 命令スケジューリング段階終了時に `\|\c .I file\c .B \&.sched2\c \&\|' に対してダンプします。 .TP .B \-dJ 最終ジャンプ最適化終了時に `\|\c .I file\c .B \&.jump2\c \&\|' に対してダンプします。 .TP .B \-dd 遅延分岐スケジューリング終了時に `\|\c .I file\c .B \&.dbr\c \&\|' に対してダンプします。 .TP .B \-dk レジスタからスタックへの転換終了時に `\|\c .I file\c .B \&.stack\c \&\|' に対してダンプします。 .TP .B \-da 以上の全てのダンプを生成します。 .TP .B \-dm 処理の終了時に、メモリ使用に関する統計情報を標準エラー出力に出力します。 .TP .B \-dp どのようなパターンや選択肢が使用されたかを示すコメントをアセンブラ出力 中のコメントで解説します。 .TP .B \-fpretend\-float クロスコンパイラで処理を行なう際に、ホストマシンと同じ浮動小数点フォーマット をターゲットマシンが持つかのように振舞わせます。これは浮動小数点定 数の誤った出力を引き起こしますが、実際の命令列はおそらく GNU CC を ターゲットマシンで起動した場合と同じものとなるでしょう。 .TP .B \-save\-temps 通常の \*(lq一時\*(rq 中間ファイルを消去せずに保存します。これらは カレントディレクトリに置かれ、ソースファイルに基づいた名前が付けられます。 従って、`\|\c .B foo.c\c \&\|' を `\|\c .B \-c \-save\-temps\c \&\|' を使用してコンパイルした場合は、 `\|\c .B foo.cpp\c \&\|', `\|\c .B foo.s\c \&\|' が、`\|\c .B foo.o\c \&\|' と同様に生成されます。 .TP .BI "\-print\-libgcc\-file\-name=" "library" ライブラリファイル `\|\c .nh .I library .hy \&\|' の完全な絶対名を表示します。このファイルはリンクの際のみに使用され、 それ以外の働きはありません。このオプションが指定された場合は、GNU CC は コンパイルやリンクを何も行なわず、ただファイル名を表示するのみです。 .TP .B \-print\-libgcc\-file\-name `\|\c .B \-print\-file\-name=libgcc.a\c \&\|' と同じです。 .TP .BI "\-print\-prog\-name=" "program" `\|\c .B \-print\-file\-name\c \&\|' と似ていますが、`\|\c cpp\c \&\|' のような program を検索します。 .SH 最適化オプション これらのオプションは様々な種類の最適化処理を制御します。 .TP .B \-O .TP .B \-O1 最適化を行います。最適化コンパイルは幾分長めの処理時間と、大きな関数に対 する非常に多くのメモリを必要とします。 .Sp `\|\c .B \-O\c \&\|' が指定されなかった場合は、コンパイラの目標はコンパイルのコストを 低減することや、目的の結果を得るためのデバッグを可能とすることに置かれ ます。それぞれの文は独立しています。つまり、ブレークポイントでプログラムを 停止させることによって、任意の変数に新し い値を代入したり、プログラムカウンタを他の文へと変更することを可能とし、 そのソースコードにプログラマが望む正しい結果を得ることを可能にします。 .Sp `\|\c .B \-O\c \&\|' を指定しなかった場合は、\c .B register\c \& と宣言した変数のみがレジスタへと割り当てられます。コンパイルの結果と して得られるコードは、PCC を `\|\c .B \-O\c \&\|' なしで使用した場合と比較して若干良くないものとなります。 .Sp `\|\c .B \-O\c \&\|' が指定されると、コンパイラはコードのサイズと実行時間を減少させる ことを試みます。 .Sp `\|\c .B \-O\c \&\|' を指定することによって、 `\|\c .B \-fthread\-jumps\c \&\|' と `\|\c .B \-fdefer\-pop\c \&\|' のフラグが指定されます。遅延スロットをもつマシンでは `\|\c .B \-fdelayed\-branch\c \&\|' が指定されます。フレームポインタを使わないデバッグをサポートしている マシンでは、`\|\c .B \-fomit\-frame\-pointer\c \&\|' も指定されます。マシンによってはさらにその他のフラグが 指定されることもあります。 .TP .B \-O2 さらに最適化を行います。サポートされている最適化手段のうち、 空間と速度のトレードオフを含まないものはほとんどの全て使用されます。 例えばループのアンローリングや関数のインライン化は行われません。 .B \-O\c \& と比較して、このオプションはコンパイル時間と生成コードの性能の双方を増加 させます。 .TP .B \-O3 さらなる最適化を行います。これは .B \-O2 が行う全ての最適化手段に加えて .B \-finline\-functions も有効にします。 .TP .B \-Os サイズ優先で最適化します。 普通、コードを増大させることのない全ての .B \-O2 最適化が有効になります。 更に、コードサイズを減らすように設計された最適化も行います。 .TP .B \-O0 最適化を行いません。 .Sp 複数の .B \-O オプションを指定した場合は、レベル番号の有無に関わらず、最後に指定した ものが有効になります。 .PP `\|\c .B \-f\c .I flag\c \&\c \&\|' の形式を持ったオプションは、マシン独立のフラグです。ほとんどの フラグは有効形式と無効形式の双方を持っています。`\|\c .B \-ffoo\c \&\|' の無効形式は `\|\c .B \-fno\-foo\c \&\|' です。以下のリストでは、デフォルトではない方の形式のみを示します。 これに対して `\|\c .B no\-\c \&\|' を削除する、あるいは追加することによって双方の形式を生成すること が可能です。 .TP .B \-ffloat\-store 浮動小数点変数をレジスタに格納しません。このオプションは 68000 のように (68881 の) 浮動小数点レジスタが \c .B double\c \& よりも高い精度を持っていると思われるマシンにおいて、望まない超過精度を 抑制することを可能にします。 .Sp ほとんどのプログラムにおいては、超過精度は単に良い結果を生むだけですが、 いくつかのプログラムは正確な IEEE の浮動小数点フォーマット定義に依 存しています。 このようなプログラムに対して `\|\c .B \-ffloat\-store\c \&\|' を使用します。 .TP .B \-fmemoize\-lookups .TP .B \-fsave\-memoized コンパイルを高速に行なうために、ヒューリスティックスを使用します (C++ のみ)。これらのヒューリスティックスはデフォルトでは有効になってい ません。なぜなら、これはある種の入力ファイルにしか効果がなく、その他の ファイルではかえってコンパイルが低速になるからです。 .Sp 最初に、コンパイラはメンバ関数への呼び出し (あるいはデータメンバへの参 照) を構築します。これは (1) どのクラスでその名前のメンバ関数が実装さ れているかを決定し、(2) どのメンバ関数への呼び出しであるかという問題 (これはどの種類の型変換が必要となるかという決定も含みます) を解決し、(3) 呼び出し側に対するその関数の可視性を検査するという作業を行なう必要があります。 これらは全て、コンパイルをより低速にしてしまいます。通常は、そのメンバ 関数への 2 度目の呼び出しが起こった場合も、この長い処理がまた行なわれ ることになります。これは次のようなコード .Sp \& cout << "This " << p << " has " << n << " legs.\en"; .Sp は、これらの 3 つの手順を 6 回繰り返すということを意味します。これに対し て、ソフトウェアキャッシュを使用すると、そのキャッシュへの\*(lqヒット \*(rqは、コストを劇的に低減することが期待できます。不幸なことに、キャッシュ の導入によって異なったレイヤの機構を実装することが必要となり、それ 自身のオーバヘッドが生じてしまいます。`\|\c .B \-fmemoize\-lookups\c \&\|' はこのソフトウェアキャッシュを有効にします。 .Sp メンバとメンバ関数へのアクセス特権 (可視性) はある関数におけるコンテキスト と別の関数におけるものとでは異なるので、 .B g++ はキャッシュをフラッシュしなければなりません。`\|\c .B \-fmemoize\-lookups\c \&\|' フラグを使用すると、全ての関数をコンパイルするたびに毎回キャッシュを フラッシュします。`\|\c .B \-fsave\-memoized\c \&\|' フラグは同一のソフトウェアキャッシュについて、コンパイラが前回 コンパイルした関数のコンテキストが、次にコンパイルするコンテキストと同 一のアクセス特権を有しているとみなせる時には、キャッシュを保持します。 これは同一クラス中に多くのメンバ関数を定義している時に特に有効です。 他のクラスのフレンドになっているメンバ関数を除き、同一のクラスに属して いる全てのメンバ関数のアクセス特権は、全て同一です。このような場合は キャッシュをフラッシュする必要はありません。 .TP .B \-fno\-default\-inline クラススコープ中に定義されたメンバ関数をデフォルトでインライン関数とす る処理を行ないません (C++ のみ)。 .TP .B \-fno\-defer\-pop それぞれの関数呼び出しに対して、関数のリターン直後に常に引数をポップします。 関数呼出後に引数をポップしなければならないマシンにおいては、 コンパイラは通常、いくつかの関数の引数をスタックに積んで、 それらを同時にポップします。 .TP .B \-fforce\-mem メモリオペランドに対して、それらに対する演算が行なわれる前に、 レジスタにコピーします。これは全てのメモリ参照を、潜在的な共通部分式であると 定めることによって、より良いコードを生成します。もしそれが共通部分式でな かった場合は、命令コンビネーションによってレジスタへの読み込みは削 除されます。私はこれがどのような違いを生み出すかということに興味があります。 .TP .B \-fforce\-addr メモリアドレス定数について、それらに対する演算が行なわれる前にレジスタ にコピーします。これは `\|\c .B \-fforce\-mem\c \&\|' と同じ手法でより良いコードを生成します。私はこれがどのような違いを 生み出すかということに興味があります。 .TP .B \-fomit\-frame\-pointer フレームポインタをレジスタに格納する必要のない関数において、この処理を 行いません。これはフレームポインタの保存、設定、復帰にかかる命令を省略 し、さらに、多くの関数でレジスタ変数として使用できる余分なレジスタを 得ることを可能にします。\c .I ただし、このオプションはほとんどのマシンにおいてデバッグを不可能にします。 .Sp Vax などのいくつかのマシンでは、このフラグは効果を持ちません。なぜならこ れらのマシンでは標準の呼び出し手順が自動的にフレームポインタの設定を 行なってしまい、これが存在しないとしたところで何も節約ができないからです。 マシン記述マクロ \c .B FRAME_POINTER_REQUIRED\c \& が、ターゲットマシンがこのフラグをサポートするかどうかを制御しています。 .TP .B \-finline\-functions 全ての単純な関数を呼び出し側に組み込んでしまいます。コンパイラは ヒューリスティックスを用いて、 どの関数がこの方法で組み込むに足りるほど単純かを決定します。 .Sp もし、ある関数に対する全ての呼び出しを組み込むことができ、かつその関数が \c .B static\c \& と宣言されていた場合は、GCC はその関数を独立したアセンブラコードと しては出力をしません。 .TP .B \-fcaller\-saves 関数呼び出しにおいて破壊されるであろう値を、レジスタに保持することを可 能とします。これはこのような呼び出しの周囲にレジスタに対する保存、復帰の 特別なコードを出力することによって実現されます。このような割り当ては、そ れが通常よりも良いコードを出力するとみなされる場合にのみ行われます。 .Sp このオプションは特定のマシンではデフォルトで有効となっています。これらは 通常、このオプションの処理の代わりに使うことができる呼び出し時保存 レジスタが存在しないマシンです。 .TP .B \-fkeep\-inline\-functions ある関数への呼び出しが全て呼び出し側に組み込むことができて、かつその関数が \c .B static\c \& と宣言されていたとしても、実行時に呼び出し可能な関数も生成します。 .TP .B \-fno\-function\-cse 関数のアドレスをレジスタに置きません。つまり、定まった関数を呼び出すコードは、 それぞれ明示的な関数のアドレスを含むコードとなります。 .Sp このオプションは効率の低いコードを生成しますが、アセンブラ出力を書き換え るようなハックを行なう場合には、このオプションを使用しなければ 混乱させられることでしょう。 .TP .B \-fno\-peephole マシン固有のピープホール最適化を禁止します。 .TP .B \-ffast-math このオプションは生成コードのスピードのために、GCC に対して、いくつかの ANSI または IEEE の規則/規格を侵させます。例えば、このオプションは \c .B sqrt\c \& 関数の引数は非負の数であることを仮定します。 .Sp このオプションはどの `\|\c .B \-O\c \&\|' オプションによっても有効とされません。なぜなら、このオプションは数 学関数に関する IEEE または ANSI の規則/規格の厳密な実装に依存して書かれた プログラムに対して誤った出力を与えるからです。 .PP 以下のオプションは特殊な最適化に関する制御を行います。`\|\c .B \-O2\c \&\|' オプションは`\|\c .B \-funroll\-loops\c \&\|' と `\|\c .B \-funroll\-all\-loops\c \&\|' を除くこれらの全てのオプションを有効にします。 .PP `\|\c .B \-O\c \&\|' オプションは通常 `\|\c .B \-fthread\-jumps\c \&\|' と `\|\c .B \-fdelayed\-branch\c \&\|' を有効とします。ただし、特殊なマシンではデフォルトの最適化に対して 変更が加えられているかもしれません。 .PP 最適化に関する \*(lqきめ細かいチューニング\*(rq が必要な場合に、以下の フラグを使用することが可能です。 .TP .B \-fstrength\-reduce ループのストレングスリダクションと繰り返し変数の除去を行います。 .TP .B \-fthread\-jumps 分岐ジャンプによってある場所にジャンプした時に、最初の分岐に包括される 比較が存在した時に、最初の分岐のジャンプ先を後者の分岐先に変更します。 この変更先は、2 番目の分岐条件の真偽によって、2 番目の分岐のジャンプ先か、 あるいは2 番目の分岐の直後に定められます。 .TP .B \-funroll\-loops ループ展開の最適化を行います。これはループの繰り返し数がコンパイル時、 あるいはランタイムに決定できる時においてのみ、実行されます。 .TP .B \-funroll\-all\-loops ループ展開の最適化を行います。これは全てのループに対して行われます。この オプションは大抵、より遅く動作するプログラムを生成します。 .TP .B \-fcse\-follow\-jumps 共通部分式削除の処理において、ジャンプ命令の行先が 他の経路から到達できない場合は、そのジャンプ命令を越えてスキャンを行 ないます。例えば、共通部分式削除処理中に \c .B else \c \& 節を伴った .B if \c \& 文に出会った場合、条件が偽ならば分岐先に対しても共通部分式削除を続けます。 .TP .B \-fcse\-skip\-blocks これは `\|\c .B \-fcse\-follow\-jumps\c \&\|' に似ていますが、ブロックを跨ぐジャンプに対しても共通部分式削除を継 続します。共通部分式削除処理中に、else 節を持たない単純な \c .B if\c \& 文にであった時、 `\|\c .B \-fcse\-skip\-blocks\c \&\|' は \c .B if\c \& のボディを跨いだジャンプに対する共通部分式削除処理を継続します。 .TP .B \-frerun\-cse\-after\-loop ループ最適化が行なわれた後に、再度共通部分式削除の処理を行います。 .TP .B \-felide\-constructors コンストラクタへの呼び出しが省略できるように思われる場合に、その呼び出 しを省略します (C++ のみ)。このフラグを指 定した場合は、GNU C++ は以下のコードに対して、一時オブジェクトを経由せずに \c .B y\c \& を \c .B foo への呼び出しの結果から直接初期化します。 .Sp A foo (); A y = foo (); .Sp このオプションを使用しない場合は、GNU C++ は最初に \c .B y\c \& を\c .B A\c \& 型の適切なコンストラクタを呼び出すことによって初期化します。そして、 .B foo\c \& の結果を一時オブジェクトに格納し、最終的には `\|\c .B y\c \&\|' の値を一時オブジェクトの値に入れ換えます。 .Sp デフォルトの振舞い (`\|\c .B \-fno\-elide\-constructors\c \&\|') が、ANSI C++ 標準のドラフトには規定されています。コンストラクタ が副作用を含むプログラムに対して、`\|\c .B \-felide-constructors\c \&\|' を指定すると、そのプログラムは異なった動作をする可能性があります。な ぜなら、いくつかのコンストラクタの呼び出しが省略されるからです。 .TP .B \-fexpensive\-optimizations 比較的コストの高いいくつかの些細な最適化を行います。 .TP .B \-fdelayed\-branch ターゲットマシンにおいてこのフラグがサポートされている場合は、遅延分岐 命令後の命令スロットを命令の順番変更によって利用するように設定します。 .TP .B \-fschedule\-insns ターゲットマシンにおいてこのフラグがサポートされている場合は、必要な データを利用可能になるまで待つことによる実行の遅滞を防ぐために、命令 の順番の変更を行います。これは遅い浮動小数点命令やメモリ読み込み命令の実 行において、それらの結果を必要とする命令の前に他の命令を詰め込みます。 .TP .B \-fschedule\-insns2 `\|\c .B \-fschedule\-insns\c \&\|' と似ていますが、レジスタ割当て処理の後にもう一度命令スケジューリングの 段階を置きます。これは、比較的レジスタ数が少なく、メモリロード命令 が 1 サイクルよりも多くを要するマシンにおいて、特に効果的です。 .SH ターゲットオプション デフォルトでは、GNU CC コンパイラは、現在使用しているマシンと同じタイプの コードをコンパイルします。しかし、GNU CC はクロスコンパイラ としてもインストールすることが可能です。実際には、異なったターゲット マシンのための様々なコンフィギュレーションの GNU CC は、同時にいくつ もインストールすることが可能です。そこで、どの GNU CC を使用するかを 指定するために、`\|\c .B \-b\c \&\|' オプションを使用することができます。 .PP これに加えて、古い、あるいはより新しいバージョンの GNU CC も同時にいく つもインストールしていくことができます。これらのうち 1 つ (おそらくもっ とも新しいもの) がデフォルトとなります。しかし、ひょっとしたら別のものを使 いたくなるかもしれません。 .TP .BI "\-b " "machine" 引数 \c .I machine\c \& は、コンパイルのターゲットマシンを規定します。これは GNU CC をクロス コンパイラとしてインストールした時に有用です。 .Sp .I machine\c \& に指定する値は、GNU CC をクロスコンパイラとしてコンフィギュレーション した時に与えたマシンタイプと同じです。例えば、80386 上の System V で実行されるプログラムのために `\|\c .B configure i386v\c \&\|' というコンフィギュレーションを行なったクロスコンパイラを起動した い場合は、`\|\c .B \-b i386v\c \&\|' と指定します。 .Sp `\|\c .B \-b\c \&\|' の設定を省略した場合は、通常は使用しているマシンと同タイプのマシン のためのコンパイルが行われます。 .TP .BI "\-V " "version" 引数 \c .I version\c \& は、起動される GNU CC のバージョンを規定します。これは複数のバージョンが インストールされている場合に有用です。例えば、 .I version\c \& が `\|\c .B 2.0\c \&\|' ならば、GNU CC バージョン 2.0 を起動することを意味します。 .Sp `\|\c .B \-V\c \&\|' を指定しなかった場合のデフォルトのバージョンは、GNU CC をインストール する時に調整可能です。通常は、もっとも一般的な使用に勧めることができる バージョンがここに指定されます。 .SH マシン依存オプション それぞれのターゲットマシンタイプは、それぞれの特別なオプションを持つ ことが可能です。`\|\c .B \-m\c \&\|' で始まるオプション群は、様々なハードウェアモデルや コンフィギュレーション\(em\&例えば 68010 と 68020、 浮動小数点コプロセッサの有無\(em\& などを選択できます。このオプションを指定することによって、コンパイラは どれか 1 つのモデル、 あるいはコンフィギュレーションに対するコンパイルが可能です。 .PP いくつかのコンフィギュレーションは、通常はそのプラットフォーム上の 他のコンパイラとのコマンドラインに関するの互換性をとるため の特別なオプションを用意しています。 .PP 以下は 68000 シリーズのために定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .B \-m68000 .TP .B \-mc68000 68000 のためのコードを生成します。これは 68000 ベースのシステムに対して コンフィギュレーションを行なったコンパイラのデフォルトです。 .TP .B \-m68020 .TP .B \-mc68020 (68000 ではなく) 68020 のためのコードを生成します。これは 68020 ベースの システムに対してコンフィギュレーションを行なったコンパイラのデフォルト です。 .TP .B \-m68881 浮動小数点演算のために 68881 命令を含んだ出力を行います。これはほとんどの 68020 ベースのシステムにおいて、コンパイラのコンフィギュレーション時に .B \-nfp を指定されなかった場合のデフォルトです。 .TP .B \-m68030 68030 のためのコードを生成します。これは 68030 ベースのシステムに対して コンフィギュレーションを行なったコンパイラのデフォルトです。 .TP .B \-m68040 68040 のためのコードを生成します。これは 68040 ベースのシステムに対して コンフィギュレーションを行なったコンパイラのデフォルトです。 .TP .B \-m68020\-40 68040 のためのコードを生成しますが、新しい命令を使用しません。この結果とし て得られるコードは、68020/68881, 68030, 68040 のいずれのシステムにおいても、 比較的高い性能を持ちます。 .TP .B \-mfpa 浮動小数点演算のために Sun FPA 命令を含んだ出力を行います。 .TP .B \-msoft\-float 浮動小数点演算のためにライブラリを呼び出す出力を行います。 .I 警告: この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシン の一般的な C コンパイラの提供するものを使用しますが、これは通常の方法 ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行 ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。 .TP .B \-mshort .B int\c \& 型を \c .B short int\c \& 型のように 16 ビット幅とみなします。 .TP .B \-mnobitfield ビットフィールド命令を使用しません。`\|\c .B \-m68000\c \&\|' は暗黙のうちに `\|\c .B \-mnobitfield\c \&\|' を含みます。 .TP .B \-mbitfield ビットフィールド命令を使用します。`\|\c .B \-m68020\c \&\|' は暗黙のうちに `\|\c .B \-mbitfield\c \&\|' を含みます。これは変更されていないソースの場合のデフォルトです。 .TP .B \-mrtd 固定個数の引数をとる関数に対して、異なった関数呼び出し規約を使用します。 これは、リターン時に引数をポップする \c .B rtd 命令を利用するものです。これは呼び出し側で引数をポップさせる必要がな いために、1 命令を省略することが可能となります。 .Sp この呼び出し規約は通常の Unix で使用されている方式とは互換性がありません。そ のため、Unix コンパイラでコンパイルされたライブラリを呼び出す必要があ る限りは、使用することはできません。 .Sp さらに、全ての可変引数をとり得る関数 ( .B printf\c を含みます) に対して、関数プロトタイプを用意する必要があります。さもないと、 これらの関数に対して誤ったコードが生成されます。 .Sp さらに、関数に対して多過ぎる引数をつけて呼び出すコードを書いた場合、こ れは深刻な誤ったコードを生成します。(通常は多過ぎる変数は害を及ぼすこと なく無視されます。) .Sp .B rtd\c \& 命令は 68010 と 68020 によってサポートされますが、 68000 では使用でき ません。 .PP 以下は Vax のために定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .B \-munix 特定のいくつかのジャンプ命令 (\c .B aobleq\c \& 等) を出力しません。これらの命令で長いレンジを使用した場合、 Vax 用の Unix アセンブラはこれを処理できません。 .TP .B \-mgnu これらのジャンプ命令を出力します。アセンブルには GNU アセンブラの使用 を仮定します。 .TP .B \-mg 浮動小数点数について、d-フォーマットではなく、g-フォーマットのための コードを出力します。 .PP 以下は SPARC でサポートされている `\|\c .B \-m\c \&\|' スイッチです。 .PP .B \-mfpu .TP .B \-mhard\-float 浮動小数点命令を含む出力を行います。これはデフォルトです。 .PP .B \-mno\-fpu .TP .B \-msoft\-float 浮動小数点の処理のためにライブラリを呼び出す出力を行います。 .I 警告: SPARC 用の GNU 浮動小数点ライブラリは存在しません。 通常はそのマシンの一般的な C コンパイラの提供するものを使用しますが、 これは通常の方法ではクロスコンパイルで直接使用することはできません。 クロスコンパイルを行ないたい場合は、 自分自身で必要なライブラリ関数を用意する必要があります。 .Sp .B \-msoft\-float は呼び出し規約を変更します。したがって、 .I 全て のプログラムをこのオプションでコンパイルしない限り、 このオプションは意味をなしません。 .PP .B \-mno\-epilogue .TP .B \-mepilogue .B \-mepilogue を指定することによって (デフォルト)、コンパイラは関数を抜けるため のコードを常に関数の最後に出力します。関数の途中で関数を抜けるコードは全て、 関数の最後の終了コードへのジャンプとして生成されます。 .Sp .BR \-mno\-epilogue を設定することによって、コンパイラは関数から抜けるコードをインライン化 することを試みます。 .PP .B \-mno\-v8 .TP .B \-mv8 .TP .B \-msparclite これらの 3 つのオプションは SPARC アーキテクチャのバリエーションを選択 するために使用されます。 .Sp デフォルトでは、(Fujitsu SPARClite 用にコンフィギュレーションしない限 りは) GCC は SPARC アーキテクチャ v7 用のコードを生成します。 .Sp .B \-mv8 は、SPARC v8 用コードを生成します。v7 コードとの違いは、整数の乗算と整数 の除算が v7 では存在しないが v8 には存在するという点のみです。 .Sp .B \-msparclite は、SPARClite 用のコードを生成します。これは v7 には存在せず SPARClite に存在する、整数乗算、整数除算とスキャン (ffs) 命令を追加します。 .PP .B \-mcypress .TP .B \-msupersparc これら 2 つのオプションはコード最適化対象のプロセッサを選択するための ものです。 .Sp .B \-mcypress を用いると(これがデフォルト)、 コンパイラは Cypress CY7C602 チップ用にコードを最適化します。 このチップは SparcStation/SparcServer 3xx シリーズに用いられています。 このオプションは古い SparcStation 1, 2, IPX などにも適用できます。 .Sp .B \-msupersparc を用いると、コンパイラは SuperSparc CPU 用にコードを最適化します。 このチップは SparcStation 10, 1000, 2000 シリーズに用いられています。 このオプションを用いると、SPARC v8 の全命令セットを用いるようになります。 .PP 以下は Convex のために定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .B \-mc1 C1 用の出力を行います。これはコンパイラが C1 用にコンフィギュレーション を行なわれた時のデフォルトです。 .TP .B \-mc2 C2 用の出力を行います。これはコンパイラが C2 用にコンフィギュレーション を行なわれた時のデフォルトです。 .TP .B \-margcount 引数列の前に、引数の数をワードに置くコードを生成します。いくつかの可搬性 のない Convex や Vax のプログラムはこのワードを必要とします。(デバッガは 不定長引数リストを持つ関数を除いて、このワードを必要としません。これらの 情報はシンボルテーブルに書かれます。) .TP .B \-mnoargcount 引数の数を示すワードを省略します。これは変更されていないソースを使用した 場合のデフォルトです。 .PP 以下は、AMD Am29000 のために定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .B \-mdw DW ビットが立っていることを仮定したコードを出力します。これは、ハードウェア によってバイト操作やハーフワード操作がサポートされているということを 意味します。これはデフォルトです。 .TP .B \-mnodw DW ビットが立っていないことを仮定したコードを出力します。 .TP .B \-mbw システムがバイト操作やハーフワード書き込み操作をサポートしていることを仮定した コードを生成します。これはデフォルトです。 .TP .B \-mnbw システムがバイト操作やハーフワード書き込み操作をサポートしていないことを仮定し たコードを生成します。これは暗黙のうちに `\|\c .B \-mnodw\c \&\|' を含みます。 .TP .B \-msmall スモールメモリモデルを使用します。これは全ての関数のアドレスが単一の 256KB のセグメント内に入ることと、関数の絶対アドレスが 256K 以下にある ことを仮定します。このオプションは \c .B call\c \& 命令を \c .B const\c \&, \c .B consth\c \&, \c .B calli\c \& シーケンスの代わりに使用することを可能にします。 .TP .B \-mlarge .B call\c \& 命令が使用できることを仮定しません。これはデフォルトです。 .TP .B \-m29050 Am29050 用のコードを生成します。 .TP .B \-m29000 Am29000 用のコードを生成します。これはデフォルトです。 .TP .B \-mkernel\-registers .B gr96-gr127\c \& レジスタへの参照の代わりに .B gr64-gr95\c \& を参照するコードを生成します。このオプションは、ユーザのコードか ら使用できるグローバルレジスタから区別されたグローバルレジスタの集合 を利用するカーネルのコードをコンパイルする時に使用できます。 .Sp ただし、このオプションが使用されている時にも `\|\c .B \-f\c \&\|' フラグ中のレジスタ名は通常のユーザモードでの名前を使用します。 .TP .B \-muser\-registers 通常のグローバルレジスタの集合 \c .B gr96-gr127\c \& を使用します。これはデフォルトです。 .TP .B \-mstack\-check .B _\|_msp_check\c \& への呼び出しをそれぞれのスタック調整の後に挿入します。これはしばしば カーネルのコードにおいて用いられます。 .PP 以下は、Motorola 88K アーキテクチャのために定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .B \-m88000 m88100 と m88110 の双方で比較的高性能で動作するコードを生成します。 .TP .B \-m88100 m88100 に最適なコードを生成します。ただし m88110 においても動作します。 .TP .B \-m88110 m88110 に最適なコードを生成します。 ただし m88100 においては動作しないかも知れません .TP .B \-midentify\-revision アセンブラ出力中に、ソースファイル名、コンパイラ名とバージョン、 タイムスタンプ、使用されたコンパイルフラグを記した \c .B ident\c \& ディレクティブを挿入します。 .TP .B \-mno\-underscores シンボル名の最初にアンダースコアキャラクタをつけないアセンブラ出力を生 成します。デフォルトでは個々の名前に対して、アンダースコアをプレフィック スとして使用します。 .TP .B \-mno\-check\-zero\-division .TP .B \-mcheck\-zero\-division 初期の 88K のモデルは 0 による除算の処理に問題を持っていました。特に、そ れらの多くにおいてトラップが生じなかったことは問題でした。これ らのオプションを使用することによって、0 除算を発見し、例外を知らせる コードを埋め込むことを禁止 (あるいは明示的に許可) することができます。全 ての 88K 用の GCC のコンフィギュレーションは `\|\c .B \-mcheck\-zero\-division\c \&\|' をデフォルトとして使用しています。 .TP .B \-mocs\-debug\-info .TP .B \-mno\-ocs\-debug\-info 88Open Object Compatibility Standard \*(lqOCS\*(rq で定義された (それぞれのスタックフレーム中で使用されるレジスタに関する) 付加的なデバッグ 情報を取り込みます (または省略します)。これらの付加的な情報は GDB によっ ては必要とされません。DG/UX, SVr4, Delta 88 SVr3.2 ではデフォルトでこの情 報を含めます。その他の 88K コンフィギュレーションではデフォルトで省略します。 .TP .B \-mocs\-frame\-position .TP .B \-mno\-ocs\-frame\-position OCS で規定されているように、レジスタの値に対して、スタックフレーム中の 特定の場所に保存されるという動作を強制します (あるいは要求しません)。 DG/UX, Delta88 SVr3.2, BCS のコンフィギュレーションでは `\|\c .B \-mocs\-frame\-position\c \&\|' をデフォルトとして、それ以外の 88k コンフィギュレーションでは `\|\c .B \-mno\-ocs\-frame\-position\c \&\|' をデフォルトとして使用しています。 .TP .B \-moptimize\-arg\-area .TP .B \-mno\-optimize\-arg\-area 関数の引数がどのような方法でスタックフレームに格納されるかを指定します。 `\|\c .B \-moptimize\-arg\-area\c \&\|' はスペースを節約しますが、いくつかのデバッガ (GDB は含まれない) を クラッシュさせます。`\|\c .B \-mno\-optimize\-arg\-area\c \&\|' はより標準に従っています。デフォルトでは GCC は引数エリアの最適化 を行いません。 .TP .BI "\-mshort\-data\-" "num" データ参照時に、それらの処理を \c .B r0\c \& からの相対参照で行なうことによって小さなコードにすることを可能とします。 これは値のロードを (その他の場合は 2 命令かかるところを) 1 命令で行な うことを可能にします。\c .I num\c \& をこのオプションとともに指定することによって、どのデータ参照が影響 を受けるかを指定することができます。例えば `\|\c .B \-mshort\-data\-512\c \&\|' を指定すると、512 バイト以内のディスプレースメントのデータ参照が 影響を受けることになります。 `\|\c .B \-mshort\-data\-\c .I num\c \&\c \&\|' は \c .I num\c \& が 64K よりも大きな時は効果を持ちません。 .PP .B \-mserialize-volatile .TP .B \-mno-serialize-volatile volatile なメモリへの参照について、シーケンシャルな整合性を持った コードを生成する、あるいは生成しません。 .Sp GNU CC はデフォルトではどのプロセッササブモデルを選んだ場合においても、 整合性を常に保証します。これがどのように実現されているかは、サブモデルに 依存しています。 .Sp m88100 プロセッサはメモリ参照の順番を入れ換えないので、常にシーケンシャルな 整合性は保たれます。もし `\|\c .B \-m88100\c \&\|' を使用した場合は、GNU CC はシーケンシャルな整合性を保つための特 別な命令を生成しません。 .Sp m88110 プロセッサにおけるメモリ参照の順番は、必ずしもそれらの要求を行 なった命令の順番とは一致しません。特に、読み込み命令は、先行する書き込み 命令よりも先に実行され得ます。このような順番の入れ換えは、マルチプロセッサ時に volatile なメモリの参照におけるシーケンシャルな整合性を崩してしまいます。 `\|\c .B \-m88000\c \&\|' または `\|\c .B \-m88110\c \&\|' を指定した場合には、GNU CC は、必要な場合は特別な命令を生成し、 命令の実行が正しい順番で行なわれることを強制します。 .Sp ここで生成される整合性を保証するための特別な命令はアプリケーションの性 能に対して影響を及ぼします。もしこの保証無しで問題がないということがわかっ ている場合は、`\|\c .B \-mno-serialize-volatile\c \&\|' を使用することができます。 .Sp `\|\c .B \-m88100\c \&\|' オプションを使用しているが、m88110 における実行時にシーケンシャルな 整合性が必要とされる場合は、`\|\c .B \-mserialize-volatile\c \&\|' を使用するべきです。 .PP .B \-msvr4 .TP .B \-msvr3 System V release 4 (SVr4) に関連したコンパイラの拡張を有効 (`\|\c .B \-msvr4\c \&\|') あるいは無効 (`\|\c .B \-msvr3\c \&\|') にします。これは以下の内容を制御します。 .TP \ \ \ \(bu 生成するアセンブラの文法の種類 (これは `\|\c .B \-mversion\-03.00\c \&\|' を使用することによって独立に制御できます)。 .TP \ \ \ \(bu `\|\c .B \-msvr4\c \&\|' は C プリプロセッサに対して `\|\c .B #pragma weak\c \&\|' を理解させます。 .TP \ \ \ \(bu `\|\c .B \-msvr4\c \&\|' は、GCC に SVr4 によって使用されている付加的な宣言ディレクティブ を生成させます。 .PP `\|\c .B \-msvr3\c \&\|' は、SVr4 を除く全ての m88K コンフィギュレーションにおけるデフォ ルトです。 .TP .B \-mtrap\-large\-shift .TP .B \-mhandle\-large\-shift 31 ビットより大きいビットシフトを検出するコードを埋め込みます。これらの オプションを指定することによって、それぞれトラップ、あるいは適切に処理す るコードが埋め込まれます。デフォルトでは GCC は大きなビットシフトには 特別な対策を行いません。 .TP .B \-muse\-div\-instruction 非常に初期の 88K アーキテクチャのモデルは除算命令を持っていません。従っ て、GCC はデフォルトでは除算命令を生成しません。このオプションは除算命令 が安全に使用できるということを指定します。 .TP .B \-mversion\-03.00 DG/UX コンフィギュレーションには、2 つの SVr4 の種類があります。このオプション は .B \-msvr4 オプションによって hybrid-COFF と real-ELF のどちらが使用されるかを選択します。 他のコンフィギュレーションはこのオプションを無視します。 .TP .B \-mwarn\-passed\-structs 関数に対して構造体を渡した場合と、関数が構造体を返した場合に警告します。 構造体を渡す規約は C 言語の発展の中で変化しており、移植性の問題をしば しば生じることになります。デフォルトでは GCC はこの警告を行いません。 .PP 以下のオプションは IBM RS6000 のために定義されたものです。 .PP .B \-mfp\-in\-toc .TP .B \-mno\-fp\-in\-toc 浮動小数点定数を Table of Contents (TOC) に入れるかどうかを指定します。 このテーブルは全てのグローバル変数と関数のアドレスを格納します。デフォルト では GCC は浮動小数点定数をここに格納します。もし TOC が算術あふれをおこす 場合は、`\|\c .B \-mno\-fp\-in\-toc\c \&\|' を使用することによって TOC のサイズを小さくすることが可能であり、 算術あふれを防ぐことができるでしょう。 .PP 以下は IBM RT PC 用に定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .B \-min\-line\-mul 整数の乗算に対してインラインのコード列を生成します。これはデフォルトです。 .TP .B \-mcall\-lib\-mul 整数の乗算に対して \c .B lmul$$\c \& を呼び出します。 .TP .B \-mfull\-fp\-blocks フルサイズの浮動小数点データブロックを生成します。これは IBM によって推 奨されている最低限のスクラッチスペースの量を包含します。これはデフォルトです。 .TP .B \-mminimum\-fp\-blocks 浮動小数点データブロック内に特別なスクラッチスペースを含めません。これに よって、より小さなコードが生成されますが、実行は遅くなります。 なぜならスクラッチスペースが動的に確保されるからです。 .TP .B \-mfp\-arg\-in\-fpregs IBM の関数呼び出し規約とは互換性のない呼び出し手順を使用します。 この規約では浮動小数点引数を浮動小数点レジスタに入れて渡します。 このオプションを指定すると、\c .B varargs.h\c \& や \c .B stdarg.h\c \& で浮動小数点オペランドが使用できなくなることに注意して下さい。 .TP .B \-mfp\-arg\-in\-gregs 浮動小数点に対して通常の関数呼び出し規約を使用します。これはデフォルトです。 .TP .B \-mhc\-struct\-return 1 ワードより大きな構造体を返す時に、レジスタではなくメモリを使用して返します。 これは MetaWare HighC (hc) コンパイラとの互換性を提供します。`\|\c .B \-fpcc\-struct\-return\c \&\|' を使用することによって Portable C Compiler (pcc) との互換性を得 ることができます。 .TP .B \-mnohc\-struct\-return 1 ワードより大きな構造体を返す時に、レジスタによって返される場合があります。 これはその方が便利であると考えられる時に使用されます。これはデフォルトです。 IBM が提供するコンパイラとの互換性を得るためには、`\|\c .B \-fpcc\-struct\-return\c \&\|' と `\|\c .B \-mhc\-struct\-return\c \&\|' の双方を使用します。 .PP 以下は MIPS ファミリのために定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .BI "\-mcpu=" "cpu-type" 命令スケジューリング時に、デフォルトのマシンタイプを .I cpu-type に仮定します。デフォルトの .I cpu-type は .BR default です。この選択はすべてのマシンに対する最長のサイクル数を元にコードを 生成します。これは、生成されるコードがどの MIPS cpu においても適当な速度 で処理されるようにするためです。これ以外の .I cpu-type の選択としては、 .BR r2000 , .BR r3000 , .BR r4000 , .BR r6000 があります。特定の .I cpu-type を選択した場合は、その特定のチップに適したスケジュールが行われます。 コンパイラは、 .B \-mips2 または .B \-mips3 スイッチが使用されていない場合は、MIPS ISA (instruction set architecture) のレベル 1 に合致しないコードを生成することはありません。 .TP .B \-mips2 MIPS ISA のレベル 2 (branch likely 命令, 平方根命令) による命令群 を出力します。 .B \-mcpu=r4000 と .B \-mcpu=r6000 スイッチは、 .BR \-mips2 と共に使用される必要があります。 .TP .B \-mips3 MIPS ISA のレベル 3 (64 ビット命令) を含む命令群を出力します。 .B \-mcpu=r4000 スイッチは、 .BR \-mips2 と同時に使用する必要があります。 .TP .B \-mint64 .TP .B \-mlong64 .TP .B \-mlonglong128 これらのオプションは現在動作しません。 .TP .B \-mmips\-as MIPS アセンブラのためのコードを生成し、 .B mips\-tfile を起動して通常のデバッグ情報を追加します。 これは OSF/1 リファレンスプラットフォーム 以外の全てのプラットフォームにおけるデフォルトです。 OSF/1 リファレンスプラットフォームは OSF/rose オブジェクトフォーマットを 使用します。スイッチ .BR \-ggdb , .BR \-gstabs , .B \-gstabs+ のうちのどれかが使用されている場合は、 .B mips\-tfile プログラムは、stabs を MIPS ECOFF 中にカプセル化します。 .TP .B \-mgas GNU アセンブラ用のコードを生成します。これは OSF/1 リファレンスプラットフォーム におけるデフォルトです。OSF/1 リファレンスプラットフォームは OSF/rose オブジェクトフォーマットを使用します。 .TP .B \-mrnames .TP .B \-mno\-rnames .B \-mrnames スイッチは出力コードにおいて、レジスタの名前として、ハードウェア名の代 わりに MIPS ソフトウェア名を使用することを指定します。(つまり、 .B a0 を .BR $4 の代わりに使用します)。 GNU アセンブラは .B \-mrnames スイッチをサポートしません。MIPS アセンブラはソースファイルに対して MIPS C プリプロセッサを起動するでしょう。 .B \-mno\-rnames スイッチがデフォルトです。 .TP .B \-mgpopt .TP .B \-mno\-gpopt .B \-mgpopt スイッチは、全てのデータ宣言をテキストセクション中の全命令の前に書き出 すことを指定します。これによって、全ての MIPS アセンブラは、 ショートグローバル、あるいは静的なデータアイテムに対して、2 ワードではなく、1 ワードのメモリ参照命令を生成します。 これは最適化が指定された場合のデフォルトです。 .TP .B \-mstats .TP .B \-mno\-stats .B \-mstats が指定された場合は、コンパイラによってインラインでない関数が処理される ごとに、標準エラー出力ファイルに対して、そのプログラムに対する統計情報 を示す 1 行のメッセージを出力します。このメッセージは、保存したレジスタ の数、スタックのサイズなどを示します。 .TP .B \-mmemcpy .TP .B \-mno\-memcpy .B \-mmemcpy スイッチは、全てのブロック転送に対して、インラインコードを生成する代わ りに、適切なストリング関数 .RB ( memcpy または .BR bcopy ) を呼び出すコードを生成します。 .TP .B \-mmips\-tfile .TP .B \-mno\-mips\-tfile .B \-mno\-mips\-tfile スイッチを指定すると、 MIPS アセンブラがデバッグサポートのために生成したオブジェクトファイルに対し、 .B mips\-tfile を使用した後処理を行いません。 .B mips\-tfile が実行されないと、デバッガからはローカル変数を扱うことができません。 さらに、 .B stage2 と .B stage3 のオブジェクトはアセンブラに渡される一時的なファイル名をオブジェクトファイル 中に埋め込まれて持っており、このためそれらを比較した場合に同一のも のとはみなされません。 .TP .B \-msoft\-float 浮動小数点演算のためにライブラリを呼び出す出力を行います。 .I 警告: この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシンの 一般的な C コンパイラの提供するものを使用しますが、これは通常の方法 ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行 ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。 .TP .B \-mhard\-float 浮動小数点命令を含んだ出力を生成します。これは変更されないソースを使用し た場合のデフォルトです。 .TP .B \-mfp64 ステータスワード中の .B FR ビットが立っていることを仮定します。これは 32 個の 32 ビット浮動小数点 レジスタの代わりに、32 個の 64 ビットの浮動小数点レジスタが存在するとい うことを示します。この場合は、同時に .B \-mcpu=r4000 と .B \-mips3 スイッチを指定する必要があります。 .TP .B \-mfp32 32 個の 32 ビット浮動小数点レジスタが存在するということを仮定します。こ れはデフォルトです。 .PP .B \-mabicalls .TP .B \-mno\-abicalls いくつかの System V.4 の移植が位置独立コードのために使用する疑似命令 .BR \&.abicalls , .BR \&.cpload , .B \&.cprestore を出力する、あるいは出力しません。 .TP .B \-mhalf\-pic .TP .B \-mno\-half\-pic .B \-mhalf\-pic スイッチは、テキストセクション中に参照を配置する代わりに、外部参照を行 なうポインタをデータセクションに配置し、それをロードする動作を指定します。 このオプションは現在まだ動作しません。 .B .BI \-G num は .I num バイト以下のグローバル、あるいは静的なアイテムを、通常のデータや bss セクションではなく、小さなデータ、または bss セクションに配置することを 指定します。 これによりアセンブラは、通常では 2 ワードの参照を行うところを、 グローバルポインタ .RB ( gp または .BR $28 ) を基準とした 1 ワードのメモリ参照命令を生成可能となります。 デフォルトでは MIPS アセンブラが使用される場合、 .I num は 8 です。また、GNU アセンブラが使用される場合のデフォルトは 0 です。 .BI \-G num スイッチはアセンブラ、リンカにも同様に渡されます。全てのモジュールは同一の .BI \-G num の値でコンパイルされなければなりません。 .TP .B \-nocpp MIPS アセンブラに、ユーザアセンブラファイル (`\|\c .B .s\c \&\|' 拡張子を持ちます) に対するアセンブル時のプリプロセッサの起動を抑制さ せます。 .PP 以下は、Intel 80386 ファミリ用に定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .B \-m486 .TP .B \-mno\-486 386 ではなく 486 に最適化されたコードを出力する、あるいはその逆を行な う指定を行います。486 用に生成されたコードは 386 で実行可能であり、逆も また可能です。 .TP .B \-mpentium .B \-mcpu=pentium と同義です。 .TP .B \-mpentiumpro .B \-mcpu=pentiumpro と同義です。 .TP .B \-mcpu=\fIcpu type\fP 命令をスケジューリングする際のマシンタイプのデフォルトを設定します。 CPU TYPE の選択肢は .B i386, .B i486, .B i586 (pentium), .B pentium, .B i686 (pentiumpro), および .B pentiumpro です。 ある CPU TYPE を選ぶと、その特定チップに適するようにスケジューリングを 行いますが、 .B \-march=\fIcpu type\fP オプションを指定しない限り、コンパイラは i386 で実行できないような コードは生成しません。 .TP .B \-march=\fIcpu type\fP マシンタイプ CPU TYPE 用に命令を生成します。 CPU TYPE の選択肢は .B i386, .B i486, .B pentium, および .B pentiumpro です。 .B \-march=\fIcpu type\fP を指定すると .B \-mcpu=\fIcpu type\fP も指定されたものとみなします。 .TP .B \-msoft\-float 浮動小数点演算のためにライブラリを呼び出す出力を行います。 .I 警告: この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシンの 一般的な C コンパイラの提供するものを使用しますが、これは通常の方法 ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行 ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。 .Sp 関数が浮動小数点数を返す時に 80387 レジスタスタックを使用するマシンに おいては、`\|\c .B \-msoft-float\c \&\|' を使用した場合でも、いくつかの浮動小数点命令が生成されます。 .TP .B \-mno-fp-ret-in-387 関数からの返り値に FPU のレジスタを使用しません。 .Sp 通常の関数呼び出し規約は、たとえ FPU が存在しなくても .B float\c \& と \c .B double\c \& の結果を FPU レジスタに入れて返します。したがってこの場合、 オペレーティングシステムは FPU をエミュレートしなければなりません。 .Sp `\|\c .B \-mno-fp-ret-in-387\c \&\|' オプションを指定すると、浮動小数点数も通常の CPU レジスタに入れ て返されます。 .TP .B \-mprofiler-epilogue .TP .B \-mno-profiler-epilogue 関数から抜けるコードにてプロファイル情報を書き出す追加コードを生成します。 .PP 以下は HPPA ファミリ用に定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .B \-mpa-risc-1-0 PA 1.0 プロセッサ用のコードを出力します。 .TP .B \-mpa-risc-1-1 PA 1.1 プロセッサ用のコードを出力します。 .TP .B \-mkernel カーネルに適したコードを生成します。特に、引数の 1 つとして DP レジスタを とる .B add\c \& 命令の使用を抑制し、その代わりに、\c .B addil\c \& 命令を生成します。これは HP-UX リンカの深刻なバグを避けるための措置です。 .TP .B \-mshared-libs HP-UX 共有ライブラリとリンクさせるコードを生成します。このオプションはま だ完全に動作しているわけではなく、どの PA ターゲットにおいてもデフォルト になっていません。このオプションを指定すると、コンパイラは誤ったコード を出力し得ます。 .TP .B \-mno-shared-libs 共有ライブラリとリンクしないコードを生成します。これは全ての PA ターゲット においてデフォルトのオプションです。 .TP .B \-mlong-calls 関数の呼び出し先と呼び出し元が同一ファイルに含まれた場合、呼び出し時の 距離が 256K を越える場合でも動作するようなコードを出力します。 このオプションは、リンカから \*(lqbranch out of range errors\*(rq で リンクを拒否された時以外には使用しないようにしてください。 .TP .B \-mdisable-fpregs いかなる形においても、浮動小数点レジスタの使用を禁止します。 これは浮動小数点レジスタに配慮しないコンテキストスイッチを行なう カーネルに対して有効です。 このオプションを使用して、浮動小数点処理を行なおうとすると、 コンパイラはアボートします。 .TP .B \-mdisable-indexing コンパイラに対して、indexing addressing mode を使用しないように指定します。 これによって MACH において MIG によって生成されたコードをコンパイルす る際の、あまり重要でないいくつかの問題を防ぐことができます。 .TP .B \-mtrailing-colon ラベル定義の後にコロンを加えます (ELF アセンブラ用)。 .PP 以下は、Intel 80960 ファミリ用に定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .BI "\-m" "cpu-type" デフォルトのマシンタイプを .I cpu-type に仮定します。これは生成する命令とアドレッシングモード、そして境界条件に 関係します。 デフォルトの .I cpu-type は .BR kb です。その他の選択としては .BR ka , .BR mc , .BR ca , .BR cf , .BR sa , .BR sb があります。 .TP .B \-mnumerics .TP .B \-msoft\-float .B \-mnumerics オプションはプロセッサが浮動小数点命令をサポートすることを示します。 .B \-msoft\-float オプションは浮動小数点サポートを仮定しないことを示します。 .TP .B \-mleaf\-procedures .TP .B \-mno\-leaf\-procedures 葉に位置する手続きについて、 .IR call 命令と同様に .I bal 命令でも呼び出すことを可能とします (あるいは、しません)。これは .I bal 命令がアセンブラ、またはリンカによって置き換えられ得る場合には、直接呼 び出しに対して効率の良いコードを得ることができます。ただし、それ以外の場 合は効率の良くないコードを生成します。例えば、関数へのポインタ経由の呼び 出しや、この最適化をサポートしないリンカを使用した場合などがこれ に該当します。 .TP .B \-mtail\-call .TP .B \-mno\-tail\-call (マシン非依存の部分を越えて) 末尾再帰を分岐に変換する処理に関するさ らなる最適化を行います(または行いません)。 この手法の適用が正当でないということに関する判断 が完全ではないので、まだこのオプションを使用することは適当でないかも しれません。デフォルトは .BR \-mno\-tail\-call です。 .TP .B \-mcomplex\-addr .TP .B \-mno\-complex\-addr この i960 の実装では複雑なアドレッシングモードの使用が優位であると仮定 します (あるいは仮定しません)。複雑なアドレッシングモードは K-シリーズでは 使用する価値は無いかも知れませんが、 C-シリーズでは確かに使用する価値があります。 現在は .B \-mcomplex\-addr が、CB と CC を除く全てのプロセッサにおけるデフォルトです。 .TP .B \-mcode\-align .TP .B \-mno\-code\-align より高速なフェッチのためにコードを 8 バイトにアラインします (または何も しません)。現在では C シリーズの実装においてのみデフォルトで有効にしています。 .TP .B \-mic\-compat .TP .B \-mic2.0\-compat .TP .B \-mic3.0\-compat iC960 v2.0 または v3.0 との互換性を持たせます。 .TP .B \-masm\-compat .TP .B \-mintel\-asm iC960 アセンブラとの互換性を持たせます。 .TP .B \-mstrict\-align .TP .B \-mno\-strict\-align アラインされないアクセスを許可しません (あるいは許可します)。 .TP .B \-mold\-align Intel による gcc リリースバージョン 1.3 (gcc 1.37 ベース) との構造体の 境界条件に関する互換性を持たせます。現在は、 .B #pragma align 1 が同時に仮定されてしまい、無効化できないというバグを持っています。 .PP 以下は、DEC Alpha 用に定義された `\|\c .B \-m\c \&\|' オプションです。 .TP .B \-mno-soft-float .TP .B \-msoft-float 浮動小数点操作に対して、ハードウェアによる浮動小数点命令を使用します (し ません)。もし、\c .B \-msoft-float\c \& が指定された場合は、`\|\c .B libgcc1.c\c \&\|' 内の関数が浮動小数点演算に使用されます。ただし、これらのルーチンが 浮動小数点演算をエミュレートするルーチンによって置き換えられているか、 そのようなエミュレーションルーチンを呼び出すようにコンパイルされている のでない限り、これらのルーチンは浮動小数点演算を行なってしまいます。浮動小 数点演算のない Alpha のためのコンパイルを行なうためには、ライブラリも これらを呼び出さないようにコンパイルされていなければなりません。 .Sp 浮動小数点演算のない Alpha の実装は、浮動小数点レジスタを必要とすると いうことに注意して下さい。 .TP .B \-mfp-reg .TP .B \-mno-fp-regs 浮動小数点レジスタセットを使用する (使用しない)コードを生成します。 .B \-mno-fp-regs\c \& は暗黙のうちに \c .B \-msoft-float\c \& を含みます。浮動小数点レジスタセットが使用されない場合は、浮動小数点 オペランドは整数レジスタに入れられて渡され、浮動小数点数の結果は $f0 では なく $0 に入れて返されます。これは非標準の関数呼び出し手順であり、 浮動小数点数の引数や返り値を持つ関数で、\c .B \-mno-fp-regs\c \& をつけてコンパイルされたコードから呼び出される関数はすべてこのオプションを つけてコンパイルされている必要があります。 .Sp このオプションの典型的な用法は、浮動小数点レジスタを使用せず、したがっ て浮動小数点レジスタへのセーブもリストアも必要のないカーネルを構築する 時などがあるでしょう。 .PP ここに追加するオプションは System V Release 4 において、これらのシステム上の 他のコンパイラとの互換性のために提供されるものです。 .TP .B \-G SVr4 システムにおいて、\c .B gcc\c \& は `\|\c .B \-G\c \&\|' オプションを受け付けます (そして これをシステムリンカに渡します)。これは他のコンパイラとの互換性のためです。 しかし、リンカオプションを \c .B gcc のコマンドラインから渡すよりも、我々は `\|\c .B \-symbolic\c \&\|' または `\|\c .B \-shared\c \&\|' の使用が適当であると考えています。 .TP .B \-Qy コンパイラが使用したそれぞれのツールのバージョンを .B .ident\c \& アセンブラディレクティブを使用して、出力で明示します。 .TP .B \-Qn .B .ident\c \& ディレクティブを出力に加えることを抑制します (これは デフォルトです)。 .TP .BI "\-YP," "dirs" `\|\c .B \-l\c \&\|' で指定されたライブラリに対して、 .I dirs\c で規定されたディレクトリのみを検索し、他は検索しません。 .I dirs\c \& 中は、1 つのコロンで区切ることにより、 複数のディレクトリエントリを記述します。 .TP .BI "\-Ym," "dir" M4 プリプロセッサを \c .I dir\c \& に検索します。アセンブラがこのオプションを使用します。 .SH コード生成オプション これらのマシン独立オプションは、 コード生成にて使用されるインタフェース規約を制御します。 .PP これらのほとんどは `\|\c \-f\c \&\|' で始まります。これらのオプションは有効形式と無効形式の 2 つの形式を持っ ています。`\|\c .B \-ffoo\c \&\|' の無効形式は `\|\c .B \-fno\-foo\c \&\|' です。以下に挙げる表においては、このうち、デフォルトではない片 方のみが挙げられています。`\|\c .B no\-\c \&\|' を追加するか、削除するかによって双方の形式を得ることができます。 .TP .B \-fnonnull\-objects 参照型によって参照されるオブジェクトはヌルでないと仮定します (C++ のみ)。 .Sp 通常は GNU C++ は参照型によって参照されるオブジェクトに関しては保守的 な仮定を行います。例えば、コンパイラは \c .B a が以下のコードにおいてヌルでないことをチェックする必要があります。 .Sp obj &a = g (); a.f (2); .Sp この種の参照がヌルでないことのチェックは、特別なコードを必要とします。 しかし、これは多くのプログラムにとって無用なものです。 このヌルに対するチェックを必要のない場合 `\|\c .B \-fnonnull-objects\c \&\|' を使用することにより、省略することができます。 .TP .B \-fpcc\-struct\-return .B struct\c \& と \c .B union の値を返す場合に、普通の C コンパイラが行なうのと同じ規約を使用します。 この規約は小規模な構造体に対して非効率なものとなり、また多くのマシンでその 関数を再入不可能としてしまいます。しかしこれは、GCC でコンパイルされたコード と PCC でコンパイルされたコードを相互に呼び出すことを可能とするとい う利点を持ちます。 .TP .B \-freg\-struct\-return .B struct と .B union の値を返す場合に、可能な場合はレジスタを使用する規約を使用します。これは .BR \-fpcc\-struct\-return を使用した場合と比較して、小さな構造体を返す場合に高い性能を発揮します。 .Sp .B \-fpcc\-struct\-return と .BR \-freg\-struct\-return のどちらも使用しなかった場合には、GNU CC は各ターゲットに対して標準で あると考えられる規約をデフォルトとして使用します。 もし標準規約がなかった場合は、 .BR \-fpcc\-struct\-return をデフォルトとして使用します。 .TP .B \-fshort\-enums .B enum\c \& 型に対して、ちょうど取り得る値の範囲に応じたバイト数の型を与えます。 具体的には、\c .B enum\c \& 型は、その値域を格納するに十分な最小の整数型と等価になります。 .TP .B \-fshort\-double .B double を .B float \& と同サイズにします。 .TP .B \-fshared\-data データと非 \c .B const\c \& 変数を、プライベートなデータではなく、共有データとしてコンパイルします。 このオプションは、走行中の同じプログラム間は共有データが共有され、 プライベートデータがそれぞれのプロセスに 1 つずつ与えられるような一部 のオペレーティングシステムで意味を持ちます。 .TP .B \-fno\-common bss セクション中の初期化されていないグローバル変数に対してでも、共通ブロック に生成するのではなく、領域を割り当てます。このオプションは、(\c .B extern\c \& をつけずに) 同一の変数を宣言した 2 つのコンパイルに対して、リンク時 にエラーを発生するという効果があります。このオプションは、常にこのような動 作を行なうシステムにおいても、プログラムが正常に動作するかどうかを検査 する場合にのみ有用です。 .TP .B \-fno\-ident `\|\c .B #ident\c \&\|' ディレクティブを無視します。 .TP .B \-fno\-gnu\-linker (C++ のコンストラクタとデストラクタのような) グローバルな初期化のコードを (GNU リンカがこれらを扱う標準のシステムであるようなシステムにおいて) GNU リンカで使用される形式で出力しません。これは GNU リンカではない リンカを使用する場合に指定します。この場合、 .B collect2\c \& を使用して、確実にシステムリンカにコンストラクタとデストラクタを含 んだコードを出力させる必要があります。(\c .B collect2\c \& は GNU CC のディストリビューションに含まれます。) \c .B collect2 \c を\c .I 必ず使用しなければならない\c \& システムにおいては、 コンパイラドライバ \c .B gcc\c \& は自動的にそのようにコンフィギュレーションされます。 .TP .B \-finhibit-size-directive .B .size\c アセンブラディレクティブなど、関数が途中で分割され、メモリ上の異なった 位置にそれぞれの部分が配置されるような場合に不都合が生じるような要素を 出力しません。このオプションは `\|\c .B crtstuff.c\c \&\|' をコンパイルする時に使用されます。それ以外の場所ではこれを使用する 必要はありません。 .TP .B \-fverbose-asm 出力のアセンブラ中に特別なコメント情報を追加し、可読性を高めます。この オプションは一般的には、出力のアセンブラコードを本当に読みたい場合 (例え ばコンパイラ自身をデバッグしているような場合) にのみ効果があります。 .TP .B \-fvolatile ポインタによるメモリの参照を全て volatile として扱います。 .TP .B \-fvolatile\-global 外部変数やグローバルデータアイテムへのメモリ参照を全て volatile として 扱います。 .TP .B \-fpic このオプションがターゲットマシンでサポートされていれば、位置独立なコードを 出力します。このオプションは共有ライブラリでの使用に適します。 .TP .B \-fPIC このオプションがターゲットマシンでサポートされていれば、位置独立なコードを 出力します。このオプションはダイナミックリンクに適しており、分岐にお いて大きなディスプレースメントを要求する場合にも適応します。 .TP .BI "\-ffixed\-" "reg" 名前が \c .I reg\c \& のレジスタを固定レジスタとして扱います。生成されたコードはこのレジスタ を参照しません (ただし、スタックポインタ、フレームポインタ、その他固定用 途の場合を除きます)。 .Sp .I reg\c \& はレジスタ名でなければなりません。受け付けられるレジスタ名はマシン固 有であり、マシン記述マクロファイル内の \c .B REGISTER_NAMES マクロに記述されたものです。 .Sp このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で あるからです。 .TP .BI "\-fcall\-used\-" "reg" 名前が \c .I reg\c \& のレジスタを、関数呼び出しによって破壊される割り当て可能のレジスタ として取り扱います。これは、関数呼び出しを跨いで存在しない一時領域や変数 として割り当ることができます。この指定でコンパイルされた関数は、レジスタ \c .I reg\c \& の保存や復帰を行いません。 .Sp このフラグをマシンの実行モデルにおいて、ある固定的で特殊な役割を持って いるレジスタ、例えばスタックポインタやフレームポインタに対して適用する ことは、破滅的な結果を生みます。 .Sp このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で あるからです。 .TP .BI "\-fcall\-saved\-" "reg" 名前が \c .I reg\c \& のレジスタを、関数によって保存される割り当て可能なレジスタとして取 り扱います。これは、関数呼び出しを跨いで存在する一時領域や変数としても割り 当てることができます。この指定でコンパイルされた関数は、レジスタ \c .I reg\c \& を使用する場合、その保存と復帰を行います。 .Sp このフラグをマシンの実行モデルにおいて、ある固定的で特殊な役割を持って いるレジスタ、例えばスタックポインタやフレームポインタに対して適用する ことは、破滅的な結果を生みます。 .Sp また、このフラグを関数の返り値が格納されるレジスタに使用すると、これも 破滅的な結果を生みます。 .Sp このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で あるからです。 .SH プラグマ 2 つの `\|\c .B #pragma\c \&\|' ディレクティブ(指令)が GNU C++ によってサポートされています。これは、1 つのヘッダファイルを 2 つの目的、つまりあるオブジェクトクラスのための インタフェースの定義としての目的と、オブジェクトクラスに含まれる内容 の完全な定義としての目的の、両方の目的で使用するためのものです。 .TP .B #pragma interface (C++ のみ) このディレクティブを、オブジェクトクラスを定義しているヘッダファイル中 に使用することによって、それらのクラスを使用するほとんどのオブジェクト ファイルの大きさを減少させることができます。通常は、 特定の情報 (インラインメンバ関数のバックアップコピー、デバッグ情報、 仮想関数実現のための内部テーブル) の複製がそのクラス定義をインクルードした それぞれのオブジェクトファイル中に置かれます。 このプラグマを使用することによって、このような複製を防ぐことが 可能となります。`\|\c .B #pragma interface\c \&\|' を含んだヘッダファイルをインクルードした場合は、これらの追加情報 は生成されません (ただし、メインの入力ソースファイル自身が `\|\c .B #pragma implementation\c \&\|' を含んでいる場合を除きます)。そのかわり、オブジェクトファイルは リンク時に解決される参照を含むことになります。 .TP .B #pragma implementation .TP \fB#pragma implementation "\fP\fIobjects\fP\fB.h"\fP (C++ のみ) インクルードされたヘッダファイルによる完全な出力を生成させたい (またそ れをグローバルに可視化したい) 場合には、メインの入力ファイル中でこの プラグマを使用します。この場合、インクルードされるヘッダファイルは、`\|\c .B #pragma interface\c \&\|' を使用していなければなりません。インライン関数のバックアップ情報、 デバッグ情報、仮想関数実現用の内部テーブルは、全てインプリメンテーション ファイル中に生成されます。 .Sp `\|\c .B #pragma implementation\c \&\|' を、引数をつけずに使用した場合は、これはそのソースファイルと同じ ベースネーム(basename)を持つファイルに対して適用されます。例えば、`\|\c .B allclass.cc\c \&\|' 中の `\|\c .B #pragma implementation\c \&\|' は、`\|\c .B #pragma implementation \*(lqallclass.h\*(rq \c \&\|' と等価です。もし複数のヘッダファイルに対して、 1 つのインプリメンテーションファイルを対応させたい場合は、 文字列の引数を使用する必要があります。 .Sp 1 つのヘッダファイルに対して、複数のインプリメンテーションファイルを対 応させる方法はありません。 .SH 関連ファイル .nf .ta \w'LIBDIR/g++\-include 'u file.c C 言語ソースファイル file.h C 言語ヘッダ (プリプロセッサ) ファイル file.i プリプロセス済みの C 言語ソースファイル file.C C++ ソースファイル file.cc C++ ソースファイル file.cxx C++ ソースファイル file.m Objective-C ソースファイル file.s アセンブリ言語ファイル file.o オブジェクトファイル a.out リンクエディット済みの出力 \fITMPDIR\fR/cc\(** 一時ファイル群 \fILIBDIR\fR/cpp プリプロセッサ \fILIBDIR\fR/cc1 C 言語コンパイラ \fILIBDIR\fR/cc1plus C++ コンパイラ \fILIBDIR\fR/collect いくつかのマシンで必要となるリンカのフロントエンド \fILIBDIR\fR/libgcc.a GCC サブルーチンライブラリ /lib/crt[01n].o スタートアップルーチン \fILIBDIR\fR/ccrt0 C++ 用の付加的なスタートアップルーチン /lib/libc.a 標準ライブラリ、\c .IR intro (3) \c を参照 /usr/include \fB#include\fP ファイルのための標準ディレクトリ \fILIBDIR\fR/include \fB#include\fP ファイルのための GCC 標準ディレクトリ \fILIBDIR\fR/g++\-include \fB#include\fP ファイルのための付加的な g++ ディレクトリ .Sp .fi .I LIBDIR は通常 .B /usr/local/lib/\c .IR machine / version の形式を持ちます .br .I TMPDIR は環境変数 .B TMPDIR (もし使用可能ならば .B /usr/tmp を、そうでなければ .B /tmp\c \& を使用します) からとられます。 .SH "関連項目" as(1), cpp(1), gdb(1), ld(1) .br .B info \c 中の .RB "`\|" gcc "\|', `\|" cpp \|', .RB "`\|" as "\|', `\|" ld \|', .RB `\| gdb \|' \& エントリ .br .I Using and Porting GNU CC (for version 2.0)\c , Richard M. Stallman; .I The C Preprocessor\c , Richard M. Stallman; .I Debugging with GDB: the GNU Source-Level Debugger\c , Richard M. Stallman and Roland H. Pesch; .I Using as: the GNU Assembler\c , Dean Elsner, Jay Fenlason & friends; .I ld: the GNU linker\c , Steve Chamberlain and Roland Pesch. .SH バグ バグを報告する方法については、GCC マニュアルを参照してください。 .SH COPYING Copyright .if t \(co 1991, 1992, 1993 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. .PP Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. .PP Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .SH 作者 GNU CC に対して貢献した人々に関しては、GNU CC マニュアルを参照してください。 .SH 日本語訳 細川 達己(hosokawa@mt.cs.keio.ac.jp): NetBSD 用に翻訳 .br sakai@csl.cl.nec.co.jp, h-nokubi@nmit.mt.nec.co.jp, .br kumano@strl.nhk.or.jp, horikawa@isrd.hitachi.co.jp: FreeBSD 向けに修正, 査閲 diff --git a/ja_JP.eucJP/man/man1/gprof.1 b/ja_JP.eucJP/man/man1/gprof.1 index 394c6bb911..2774a91a3a 100644 --- a/ja_JP.eucJP/man/man1/gprof.1 +++ b/ja_JP.eucJP/man/man1/gprof.1 @@ -1,333 +1,333 @@ .\" Copyright (c) 1983, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)gprof.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/gprof/gprof.1,v 1.22 2002/10/16 13:50:09 charnier Exp % +.\" %FreeBSD: src/usr.bin/gprof/gprof.1,v 1.23 2002/11/26 11:22:59 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt GPROF 1 .Os .Sh 名称 .Nm gprof .Nd 呼び出しグラフに基づくプロファイルデータを表示する .Sh 書式 .Nm .Op Fl abcKlLsuz .Op Fl C Ar count .Op Fl e Ar name .Op Fl E Ar name .Op Fl f Ar name .Op Fl F Ar name -.Op Fl k Ar fromname Ar toname +.Op Fl k Ar fromname toname .Op Ar a.out Op Ar a.out.gmon ... .Sh 解説 .Nm ユーティリティは、C や Pascal, Fortran77 の実行プロファイルを生成します。 .Nm では、呼び出されたルーチンの実行時間は、呼び出した側の ルーチンに加算されます。 プロファイルデータは、呼び出しグラフプロファイルファイル (call graph profile file) から読み出されます。このファイルは、 .Xr cc 1 , .Xr pc 1 , .Xr f77 1 に .Fl pg をつけてコンパイル されたプログラムによって生成されます。 .Fl pg をつけると、コンパイラは プロファイル用ライブラリをリンクします。 約束事として、これらのライブラリの名前の後には .Pa _p が付きます。つまり、プロファイルされるバージョンの .Pa libc.a は .Pa libc_p.a であり、コンパイラや隣家に直接ライブラリを指定するときに .Fl l Ns Ar c の代りに .Fl l Ns Ar c_p を使用可能です。 与えられたオブジェクトファイル (デフォルトでは .Pa a.out ) を読み込んで、そのオブジェクトのシンボルテーブルと 呼び出しグラフプロファイルとを結び付けます。 デフォルトのグラフプロファイルファイルの名前は、 実行形式名にサフィックス .Pa .gmon を付けたものです。 2 つ以上のプロファイルファイルが与えられると、 .Nm は、それらの情報を合計して出力します。 .Pp .Nm ユーティリティは、各ルーチンが消費した時間を計算します。 次に、この時間は呼び出しグラフの辺にそって伝播されます。 サイクルが見つかると、サイクルに対する呼び出しが、サイクルの時間を 共有するものとされます。 最初のリストには、関数からの呼び出しグラフ全体の合計時間によって ソートされた関数が表示されています。 各関数のエントリの下には、その関数の呼び出しグラフ での (直接の) 子 (すなわち呼び出された関数名) が表示され、それらの 関数の消費時間がどれくらい親 (つまり呼び出した側の関数) に伝播されているかが 示されています。 同様に、各関数のエントリの上側には、 関数での消費時間が呼び出し元の関数にどのように伝播されているかが 示されています。 .Pp サイクル全体とそのメンバのリストを示したエントリが、 サイクルの呼び出し回数や実行時間への各メンバの寄与を含めて表示されます。 .Pp 次のリストでは、 .Xr prof 1 (NetBSD, FreeBSDにはありません) と同様なフラットプロファイル (flat profile) 表示されます。 ここには、関数の合計実行時間や呼び出し回数、 その関数本体のみの実行時間 (ミリ秒またはマイクロ秒)、 その関数本体及びそこから呼び出された関数の実行時間 (ミリ秒またはマイクロ秒)、 が表示されます。 .Pp 最後に関数名の索引が表示されます。 .Pp 以下のオプションが利用可能です。 .Bl -tag -width indent .It Fl a 静的に宣言された関数の表示を抑制します。 このオプションが指定されると、静的関数についてのすべての関連する情報 (実行時間、別の関数の呼び出し、他の関数からの呼び出しなど) が、 .Pa a.out ファイル中の静的関数の直前に読み込まれるされる関数に含まれることになります。 .It Fl b プロファイル中の各フィールドの説明文を抑制します。 .It Fl c オブジェクトファイルのテキスト空間を調べる発見的な方法を使って、 プログラムの静的呼び出しグラフを見つけます。 静的な呼び出しのみの親と子供は、 呼び出し数 0 として表示されます。 アーキテクチャによっては、本オプションはサポートされていません。 .It Fl C Ar count .Ar count 数以上の関数を含む (呼び出し関係の) サイクルを取り除くために、 切断すべきアーク (呼び出し関係) の最小集合を見つけます。 注意:サイクルを中断するために用いられるアルゴリズムは指数関数的な ものです。そのため、このオプションを指定すると、 .Nm を実行するのに非常に長い時間がかかります。 .It Fl e Ar name ルーチン .Ar name とそのすべての子孫 (それらの関数が表示抑制されていない親をほかに 持っていなければ) のグラフプロファイルエントリの表示を抑制 します。2 つ以上の .Fl e を指定することができます。各 .Fl e には 1 つしか .Ar name を指定することができません。 .It Fl E Ar name .Fl e と同様、指定されたルーチン .Ar name のグラフプロファイル エントリ表示を抑制します。さらに、プログラムのトータルの時間と計算時間の パーセンテージから .Ar name で使われている時間を取り除きます。 (たとえば、 .Fl E .Ar mcount .Fl E .Ar mcleanup がデフォルトです) .It Fl f Ar name 指定されたルーチン .Ar name とその子孫のグラフプロファイルエントリ のみを表示します。 .Fl f オプションは、複数指定することができます。 各オプション .Fl f には、1 つしか .Ar name を指定することができません。 .It Fl F Ar name .Fl f と同様に、指定されたルーチン .Ar name とその子孫のグラフ プロファイルエントリのみを表示します。 プログラムのトータルの時間と計算時間の割合 には、表示されたルーチンの時間のみが使われます。 .Fl F は複数指定することができます。各オプション .Fl F には、1 つしか .Ar name を指定することができません。オプション .Fl F は、オプション .Fl E の効果を打ち消します。 .It Fl k Ar fromname Ar toname .Ar fromname から .Ar toname への関数呼び出し関係のアークを削除します。 このオプションによって、不必要だと思うサイクルを切断することができます。 オプション .Fl k は、複数指定することができます。各オプション .Fl k には一対のルーチン名 .Pf ( Ar fromname と .Ar toname ) しか 指定することができません。 .It Fl K .Xr sysctl 3 および .Xr kldsym 2 のインタフェースを使用して、 現在実行中のカーネルからシンボル情報を収集します。 これは、 .Pa a.out 引数を無視させ、 .Xr kld 4 モジュール中のシンボルを使用できるようにします。 .It Fl l 呼び出しグラフプロファイルの表示を抑制します。 .It Fl L フラットプロファイルの表示を抑制します。 .It Fl s 指定されたすべてのプロファイルファイル中のプロファイル情報の合計 を表すサマリプロファイルファイル .Pa gmon.sum が生成されます。 このサマリプロファイルファイルはこのあとの .Nm の実行に 対して与えられ .Pf ( その際にも通常 Fl s が指定される)、一連の .Pa a.out 実行の結果のプロファイルデータの合計を 求めることができます。 .It Fl u C プログラムには見えない名前の関数の表示を抑制します。 ELF オブジェクト形式では、文字 .Ql .\& を含む名前を意味します。 a.out オブジェクト形式では、文字 .Ql _ で開始しない名前を意味します。 それらの関数に関連する情報は、すぐ低位側のアドレスにある (表示が 抑制されていない) 関数に含まれます。 これにより関数内にあるただのラベルが関数と認識されてしまうのを 防ぐ事ができます。 .It Fl z 使用されていないルーチン (呼び出し回数と合計時間が 0 である) を表示します。 .Fl c オプションとともに使うと、一度も呼ばれていないルーチンを発見する事ができます。 .El .Sh 関連ファイル .Bl -tag -width a,out.sum -compact .It Pa a.out -テキスト空間と名前リスト +テキスト空間と名前リスト。 .It Pa a.out.gmon -動的な呼び出しグラフとプロファイル +動的な呼び出しグラフとプロファイル。 .It Pa gmon.sum -動的な呼び出しグラフとプロファイルのサマリ +動的な呼び出しグラフとプロファイルのサマリ。 .El .Sh 関連項目 .Xr cc 1 , .Xr profil 2 , .Xr clocks 7 .\" .Xr monitor 3 , .\" .Xr prof 1 .Pp .Rs .%T "An Execution Profiler for Modular Programs" .%A S. Graham .%A P. Kessler .%A M. McKusick .%J "Software - Practice and Experience" .%V 13 .%P pp. 671-685 .%D 1983 .Re .Pp .Rs .%T "gprof: A Call Graph Execution Profiler" .%A S. Graham .%A P. Kessler .%A M. McKusick .%J "Proceedings of the SIGPLAN '82 Symposium on Compiler Construction, SIGPLAN Notices" .%V 17 .%N 6 .%P pp. 120-126 .%D June 1982 .Re .Sh 歴史 .Nm プロファイラは、 .Bx 4.2 から登場しました。 .Sh バグ サンプリングの周期がリストの最初に表示されますが、 統計的な域を出ないものであるかもしれません。 我々は、各関数の実行時間はその関数が消費した時間の合計をその関数の 呼び出し回数で割ったものによって表現されると仮定しています。 したがって、呼び出しグラフの関係にそって関数の親に伝播される時間は、 その関係をたどる回数に直接比例しています。 .Pp 自身がプロファイルされていない親は、プロファイルしている子供から 伝播される時間を持っており、呼び出しグラフのリストのなかで 自動的に起動されるものとして現れます。しかし、この関数が持つ時間は それ以上伝播されません。 同様に、シグナルを捕捉する関数は、それらがプロファイルされていても、 自動的に起動されるものとして現れます (もう少し複雑な理由がありますが)。 プロファイルルーチンを実行している最中にシグナルを捕捉する 関数が呼出されたとき (この場合はすべてが失われてしまいます) を除いては、 シグナルを捕捉する関数の子供の実行時間は、その親に正しく 伝播されるべきです。 .Pp プロファイルされているプログラムは、 グラフプロファイル ファイルにプロファイル情報がセーブされるよう .Xr exit 3 を呼ぶか、正常に終了しなければいけません。 diff --git a/ja_JP.eucJP/man/man1/gtar.1 b/ja_JP.eucJP/man/man1/gtar.1 index 255047f5a9..b32139aec6 100644 --- a/ja_JP.eucJP/man/man1/gtar.1 +++ b/ja_JP.eucJP/man/man1/gtar.1 @@ -1,597 +1,597 @@ .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- .\" See /usr/src/gnu/COPYING for conditions of redistribution .\" .\" Written by John F. Woods .\" Updated by Robert Eckardt .\" -.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.42 2002/10/01 23:15:32 dd Exp % +.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.43 2002/12/12 17:25:52 ru Exp % .\" .\" $FreeBSD$ .Dd December 23, 2000 .Os .Dt TAR 1 .Sh 名称 .Nm tar .Nd "テープアーカイバ; ""tar"" アーカイブファイルの操作" .Sh 書式 .Nm .Op Oo Fl Oc Ns Ar bundled-options Ar Args .Op Ar gnu-style-flags .Op Ar filenames | Fl C Ar directory-name .Ar ... .Sh 解説 .Nm は、歴史的な理由により .Dq tape archiver を省略して名付けられました。 .Nm プログラムは、 .Ar tarfile と呼ばれる .Nm フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、 またアーカイブからファイルを抽出したりします。 .Ar tarfile は通常磁気テープを指しますが、フロッピディスケットや 通常のファイルでも構いません。 .Pp 通常、 .Nm コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、 その前に ダッシュ (-) を付けても付けなくてもいいようになっています。 単語には、次の機能文字のうち丁度 1 つを含んでいる必要があります: .Cm A , .Cm c , .Cm d , .Cm r , .Cm t , .Cm u , .Cm x , これらはそれぞれ、 .Em 追加 (append) 、 .Em 作成 (create) 、 .Em 差分 (difference) 、 .Em 置換 (replace) 、 .Em リスト表示 (table of contents) 、 .Em 更新 (update) 、 .Em 抽出 (extract) を意味しています (下記に詳細があります)。 これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に 含めることができます。それらのいくつかは、コマンド単語内と同じ順で コマンドライン引数を要求します ( .Sx 使用例 の節を参照)。 機能文字と機能変更文字は、GNU 形式の引数で指定することもできます (2 つのダッシュを最初に付け、1 つのコマンド単語ごとに機能文字か 機能変更文字を 1 つだけ指定する)。 アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために コマンドライン指定するファイル名には、 シェルのパターンマッチ文字列を使用することができます。 .Sh 機能 以下の機能のいずれか 1 つだけを必ず指定する必要があります。 .Pp .Bl -tag -width "--concatenate" -compact .It Fl A .It Fl -catenate .It Fl "-concatenate" 指定された ( .Nm アーカイブ形式の) ファイルを tar アーカイブの末尾 に追加します (追加する前の古い end-of-archive ブロックは削除さ れます)。 これは、指定されたファイルがアーカイブの中の 1 ファイルとなるので はなく、指定したファイルの中に含まれているファイルを、最初に指定 したアーカイブに追加するという効果を持ちます。 .Em 注 : このオプションは .Ar tarfile を再書き込みする必要があるため、1/4 インチカートリッジテープでは動作しません。 .It Fl c .It Fl -create 新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定 されたファイルをアーカイブに書き込みます。 .It Fl d .It Fl -diff .It Fl -compare アーカイブの中のファイルと、それに相当するファイルシステム内の ファイルとの違いを調査します。 .It Fl -delete 指定されたファイルをアーカイブから削除します (1/4 インチテープでは動作しません)。 .It Fl r .It Fl -append アーカイブの末尾にファイルを追加します (1/4 インチテープでは動作しません)。 .It Fl t .It Fl -list アーカイブ内容のリスト表示をします。もし引数として .Ar filename が指定されていれば、そのファイルだけがリスト表示されます。 そうでなければ、アーカイブに含まれるすべてのファイルリストが表示されます。 .It Fl u .It Fl -update 指定したファイルのうち、アーカイブ内のファイルよりもディスク上の ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ では動作しません。 .It Fl x .It Fl -extract .It Fl -get アーカイブからファイルを抽出します。可能ならば、所有者、 変更時刻、ファイル属性はリストアされます。もし .Ar file 引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。 もし .Ar filename 引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと ディレクトリ内のファイルが抽出されます (ディレクトリ内の すべてのディレクトリについても同様に抽出されます)。 もしアーカイブ内に、相当する同じファイルが複数含まれていれば (上記の .Fl -append コマンドを参照)、最後に含まれているものが他のすべてのファイルを 上書きする形で抽出されます。 .El .Sh オプション .Nm の他のオプションは、組み合わせて使用することができます。 1 文字オプションは、コマンド単語の中で指定することができます。 引数を与えるべきオプションの場合、オプションに続けて引数を指定し ます。1 文字オプションであれば、これに続くコマンドライン引数を 使用します (以下の .Sx 使用例 を参照してください)。 .Pp .Bl -tag -width "--preserve-permissions" -compact .It Fl -help .Nm のすべてのコマンドオプションについて一覧と解説を表示します。 .It Fl -atime-preserve テープに書かれている、ファイルのアクセス時刻をリストアします。 (inode の変更時刻が変更されることに注意してください!) .It Fl b .It Fl -block-size Ar number 読み書きするブロックサイズを .Ar number * 512-byte ブロック に設定します。 .It Fl B .It Fl -read-full-blocks 短い読みだしブロックを、完全なブロックに再組み立てします ( .Bx 4.2 パイプの読み込み用)。 .It Fl C Ar directory .It Fl -directory Ar directory 残りの引数を処理する前に .Ar directory へ移動します。 .It Fl -checkpoint アーカイブを読み書きする間に読み書きしたバッファの数を表示します。 .It Fl f Xo .Oo Ar hostname : Oc Ns Ar file .Xc .It Fl -file Xo .Oo Ar hostname : Oc Ns Ar file .Xc 指定された .Ar file (デフォルトは .Pa /dev/sa0 ) を読み書きします。 もし .Ar hostname が指定されていれば、 .Nm は .Xr rmt 8 を使って、リモートマシン上の .Ar file を読み書きします。 .Dq Ar - はファイル名として使用されることもありますが、 これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。 .It Fl -force-local コロンがある時でさえ、アーカイブファイルはローカルのものとします。 .It Fl F Ar file .It Fl -info-script Ar file .It Fl -new-volume-script Ar file それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の .Fl M 指定が行なわれます)。 .It Fl -fast-read ワイルドカードで指定されていないすべての抽出ターゲットが アーカイブ内に見つかったら、その時点で終了します。 .It Fl G .It Fl -incremental 古い GNU-format インクリメンタルバックアップファイルを作成/リスト/抽出します。 .It Fl g Ar file .It Fl -listed-incremental Ar file 新しい GNU-format インクリメンタルバックアップファイルを 作成/リスト/抽出します。 .It Fl h .It Fl -dereference シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが 指しているデータを書き込みます。 .It Fl i .It Fl -ignore-zeros アーカイブの中のゼロブロック (通常、End-Of-File を意味する) を無視します。 .It Fl -ignore-failed-read ファイルが読めなくても、非 0 のステータスで exit しません。 .It Fl j .It Fl y .It Fl -bzip .It Fl -bzip2 .It Fl -bunzip2 アーカイブを .Xr bzip2 1 でフィルタリングします。 .It Fl k .It Fl -keep-old-files ディスク上に既にあるファイルを保持します。つまり、アーカイブから 抽出するファイルは、ディスク上のファイルへ上書きしません。 .It Fl K Ar file .It Fl -starting-file Ar file アーカイブの中の .Ar file から (抽出、リストなどを) 始めます。 .It Fl l .It Fl -one-file-system あるファイルシステム内にあるファイルだけでアーカイブを作成します (他ファイルシステムへのマウントポイントを跨ぎません)。 .It Fl L Ar number .It Fl -tape-length Ar number .Ar number * 1024 バイト書き込んだ後でテープの交換を要求します。 .It Fl m .It Fl -modification-time ファイルの変更時刻を抽出しません。 .It Fl M .It Fl -multi-volume マルチボリュームアーカイブを作成/リスト/抽出します。 .It Fl n .It Fl -norecurse 作成時に再帰的にサブディレクトリを走査しません。 .It Fl -volno-file Ar file ボリューム番号付きのファイル名です。 .It Fl N Ar date .It Fl -after-date Ar date .It Fl -newer Ar date 作成時間が .Ar date より新しいファイルだけを抽出します。 .It Fl -newer-mtime Ar date 変更時間が .Ar date より新しいファイルだけを抽出します。 .It Fl o .It Fl -old-archive .It Fl -portability POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。 .It Fl O .It Fl -to-stdout ファイルを標準出力に抽出します。 .It Fl p .It Fl -same-permissions .It Fl -preserve-permissions 保護情報を完全に抽出します。 .It Fl -preserve .Fl p s の指定と同じ効果を持ちます。 .It Fl P .It Fl -absolute-paths ファイル名から先頭の .Ql / をとりません。 .It Fl R .It Fl -record-number メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。 .It Fl -remove-files アーカイブに追加したファイルを、追加後に削除します。 .It Fl s .It Fl -same-order .It Fl -preserve-order アーカイブ内から抽出するファイルを、指定された順のままにします。 .It Fl -show-omitted-dirs アーカイブ作成中に除外されたディレクトリを表示します。 .It Fl S .It Fl -sparse .Dq 疎な ファイルを効率的に扱うようにします。 .It Fl T Ar file .It Fl I Ar file .It Fl -files-from Ar file .Ar file から抽出もしくは作成するファイル名を得ます (1 行 1 ファイル名)。 .It Fl -null null で終わっている名前を考慮し、 .Fl T の振舞を変更します。 これは .Fl C 指定を無効にします。 .It Fl -totals .Fl -create によって書かれた総バイト数を表示します。 .It Fl U .It Fl -unlink .It Fl -unlink-first ファイルを作成する前に、いったん削除します。 .It Fl v .It Fl -verbose .Fl -create でアーカイブに書くファイルや .Fl -extract でアーカイブから 取り出すファイル名をリスト表示します。 ファイルの保護情報をファイル名とともに表示させるには、 .Fl -list を使います。 .It Fl V Ar volume-name .It Fl -label Ar volume-name 指定された .Ar volume-name を持ったアーカイブを作成します。 .It Fl -version .Nm プログラムのバージョン番号を表示します。 .It Fl w .It Fl -interactive .It Fl -confirmation すべての動作に対して、確認を求めるようになります。 .It Fl W .It Fl -verify アーカイブを書き込んだ後、ベリファイを試みます。 .It Fl -exclude Ar pattern .Ar pattern にマッチするファイルを除外します (抽出しません。追加しません。リスト表示しません)。 .It Fl X Ar file .It Fl -exclude-from Ar file .Ar file に一覧されているファイルを除外します。 .It Fl Z .It Fl -compress .It Fl -uncompress アーカイブを .Xr compress 1 でフィルタリングします。 .It Fl z .It Fl -gzip .It Fl -gunzip アーカイブを .Xr gzip 1 でフィルタリングします。 .It Fl -use-compress-program Ar program アーカイブを .Ar program でフィルタリングします (これは、 .Fl d が指定されたときは .Dq decompress を意味しなければなりません)。 .It Fl -block-compress テープもしくはフロッピのために、圧縮プログラムの出力をブロック 化します (そうしないと、ブロック長がおかしくなり、デバイスドライバは そのブロックを拒絶するでしょう)。 .It Fl Xo .Op Cm 0 Ns - Ns Cm 7 Ns .Op Cm lmh .Xc テープドライブと密度を指定します。 .El .Sh 環境 環境変数 .Ev TAR_OPTIONS に .Nm のデフォルトオプションを保持させることが可能です。 これらのオプションは最初に解釈されますので、 明示的なコマンドラインパラメータで上書き可能です。 .Sh 使用例 .Pa bert と .Pa ernie というファイルを含む、 ブロックサイズが 20 ブロックのアーカイブを、 テープドライブ .Pa /dev/sa0 に作るには、 .Dl "tar cfb /dev/sa0 20 bert ernie" もしくは .Dl "tar --create --file /dev/sa0 --block-size 20 bert ernie" と入力します。 .Fl f および .Fl b フラグは両方とも引数を必要としていることに注意してください。 この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから 取得されます。 .Pp .Pa /dev/sa0 はデフォルトのデバイスであり、20 はデフォルトのブロック サイズですので、上記の例は次のように単純化できます。 .Dl "tar c bert ernie" \&"backup.tar" というアーカイブから、すべての C ソース及びヘッダを 抽出するには、次のようにタイプします。 .Pp .Dl tar xf backup.tar '*.[ch]' .Pp シェルがカレントディレクトリ内のファイル名に展開しないよう、パターンを クォートしなければならないことに注意してください (当然、 シェルはアーカイブ内のファイル一覧にアクセスすることはできません)。 .Pp ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください: .Bd -literal tar cf - -C srcdir . | tar xpf - -C destdir .Ed .Pp ディスケットに、 .Xr gzip 1 を使った圧縮アーカイブを作成するには、次の ようなコマンドラインを使うといいでしょう。 .Dl "tar --block-compress -z -c -v -f /dev/fd1a -b 36 tar/" .Pp まとめ指定フラグと .Fl - スタイルのフラグを混在させることができない ことに注意してください。次のようにタイプしなければならないわけで はなく、上記のような書き方で 1 文字フラグを使うことができます。 .Dl "tar --block-compress --gzip --verbose --file /dev/fd1a --block-size 20 tar/" .Pp 上のようにして作成したディスクの内容は、次のようにすればリスト 表示できます。 .Pp .Dl "tar tvfbz /dev/fd1a 36" .Pp 2 つの .Nm アーカイブを 1 つのアーカイブにまとめるには、 .Dl "tar Af archive1.tar archive2.tar" を使います。こうすると、 .Pa archive2.tar に含まれているファイルが .Pa archive1.tar の末尾に追加されます (単純に .Dl "cat archive2.tar >> archive1.tar" とタイプしてもうまくいかないことに注意してください。なぜなら、 .Nm アーカイブの末尾には end-of-file ブロックがあるからです)。 .Pp .Pa srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた 全てのファイルをアーカイブするためには、以下の形式を使って下さい。 .Dl "tar -c -f backup.tar --newer-mtime 'Feb 9 13:15 1997' srcdir/" .Pp 他の時間指定形式としては、 .Sq "02/09/97 13:15" , .Sq "1997-02-09 13:15" , .Sq "13:15 9 Feb 1997" , .Sq "'9 Feb 1997 13:15" , .Sq "Feb. 9, 1997 1:15pm" , .Sq "09-Feb" , .Sq "3 weeks ago" , .Sq "May first Sunday" があります。 正しいタイムゾーンを指定するためには、 .Sq "13:15 CEST" や .Sq "13:15+200" を使用して下さい。 .Sh 環境変数 .Nm プログラムは、以下の環境変数を参照します。 .Bl -tag -width "POSIXLY_CORRECT" .It Ev POSIXLY_CORRECT 通常、 .Nm はファイル指定の中に混ざったフラグを処理します。 この環境変数を設定すると、 .Nm は最初のフラグ以外の引数を見つける とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様 に合わせた動作を行なうようになります。 .It Ev SHELL インタラクティブモードにおいて、サブシェルの起動が要求されたとき、 .Ev SHELL 変数が設定されていればそれが、設定されていなければ .Pa /bin/sh が使用されます。 .It Ev TAPE .Nm のデフォルトのテープドライブを変更します (これは、さらに .Fl f フラグによって変更することができます)。 .It TAR_RSH TAR_RSH 環境変数は、デフォルトシェルに優先して、 .Nm tar のデータ転送に使用されます。 .El .Sh 関連ファイル .Bl -tag -width "/dev/sa0" .It Pa /dev/sa0 デフォルトのテープドライブ .El .Sh 互換性 .Fl y は FreeBSD だけの機能です。 GNU .Nm メンテナは、 .Fl j を GNU .Nm 1.13.18 以降における公式な .Xr bzip2 1 圧縮オプションとして採用しました。 .Fl I オプションは、Solaris の .Nm との互換性のためにあります。 .Sh 関連項目 .Xr bzip2 1 , .Xr compress 1 , .Xr gzip 1 , .Xr pax 1 , .Xr rmt 8 .Sh 歴史 .Nm フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に 原点があります。 この .Nm の実装は GNU 実装であり、 .An John Gilmore によって書かれた パブリックドメイン .Nm が元になっています。 .Sh 作者 .An -nosplit 次の人を含む、大変多くの人々。[ソースの中の .Pa ChangeLog ファイルに記述されている人々] .An John Gilmore (オリジナルのパブリックドメイン版の作者), .An Jay Fenlason (最初の GNU 作者), .An Joy Kendall , .An Jim Kingdon , .An David J. MacKenzie , .An Michael I Bushnell , .An Noah Friedman そして バグフィックスや追加を貢献してくれた無数の人々。 .Pp このマニュアルページは .Nx 1.0 release から、 .Fx グループが 取り込んだものです。 .Sh バグ 特徴的な .Fl C オプションの動作は、伝統的な .Nm プログラムのそれとは異なるので、 あまり頼りにはできません。 .Pp .Fl A コマンドで任意の数の .Nm アーカイブを結合できればいいのですが、それはできません。 これをやろうとしても、2 つ目以降のアーカイブの end-of-archive ブロックが削除されずに残ってしまいます。 .Pp .Nm ファイルフォーマットは準固定幅フィールドフォーマットであり、 デバイス番号用のフィールドは 16 ビット用 (メジャー 8 ビットでマイナ 8 ビット) にデザインされており、我々の 32 ビット番号 (メジャー 8 ビットでマイナ 16+8 ビット) を吸収できません。 diff --git a/ja_JP.eucJP/man/man1/hexdump.1 b/ja_JP.eucJP/man/man1/hexdump.1 index adba175a49..bddb42ba19 100644 --- a/ja_JP.eucJP/man/man1/hexdump.1 +++ b/ja_JP.eucJP/man/man1/hexdump.1 @@ -1,342 +1,342 @@ .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)hexdump.1 8.2 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/hexdump/hexdump.1,v 1.18 2002/05/17 06:12:25 tjr Exp % +.\" %FreeBSD: src/usr.bin/hexdump/hexdump.1,v 1.19 2002/12/05 08:50:00 ru Exp % .\" $FreeBSD$ .\" .Dd April 18, 1994 .Dt HEXDUMP 1 .Os .Sh 名称 .Nm hexdump , hd .Nd ASCII, 10進, 16進, 8進でのダンプ .Sh 書式 .Nm .Op Fl bcCdovx .Op Fl e Ar format_string .Op Fl f Ar format_file .Op Fl n Ar length .Bk -words .Op Fl s Ar skip .Ek .Ar .Nm hd .Op Fl bcdovx .Op Fl e Ar format_string .Op Fl f Ar format_file .Op Fl n Ar length .Bk -words .Op Fl s Ar skip .Ek .Ar .Sh 解説 .Nm ユーティリティは、ファイルが指定されていればそのファイル、 指定されていなければ標準入力を読み込み、ユーザの指定した フォーマットに従って表示するフィルタです。 .Pp オプションは以下の通りです: .Bl -tag -width Fl .It Fl b .Em 1 バイト 8 進表示。 入力のオフセットを 16 進数で表示し、次に、 入力の1バイトずつを、0 詰めした 3 桁の 8 進数で、1 行あたり 16 個、 空白で区切って表示します。 .It Fl c .Em 1 バイト キャラクタ表示。 入力のオフセットを 16 進数で表示し、次に、 入力の1バイトずつを、空白詰めした 3 桁の ASCII 文字で、1 行あたり 16 個、 空白で区切って表示します。 .It Fl C .Em 標準的な hex+ASCII 表示 。 入力オフセットを 16 進数で表示し、 引続いて 16 バイトを 16 進数 2 桁で空白で区切って表示し、 引き続いて同じ 16 バイトを %_p フォーマットで ``|'' 文字で括って表示します。 .Pp コマンド .Nm hd を実行すると、このオプションで .Nm 実行したことを意味します。 .It Fl d .Em 2 バイト 10 進表示 。 入力のオフセットを 16 進数で表示し、次に、 入力の 2 バイトずつを、0 詰めした 5 桁の 10 進数で、1 行あたり 8 個、 空白で区切って表示します。 .It Fl e Ar format_string データの表示形式を決めるフォーマット文字列を指定します。 .It Fl f Ar format_file 1 つあるいはそれ以上のフォーマット文字列 (改行で区切る) の書かれたファイルを指定します。 空行、および、 空白を除いた最初の文字が ハッシュ記号 .Pf ( Cm \&# ) である行は無視されます。 .It Fl n Ar length 入力のうち .Ar length バイト分だけを処理します。 .It Fl o .Em 2 バイト 8 進表示 。 入力のオフセットを 16 進数で表示し、次に、 入力の 2 バイトずつを、0 詰めした 6 桁の 8 進数で、1 行あたり 8 個、 空白で区切って表示します。 .It Fl s Ar offset 入力の先頭から .Ar offset バイトを読み飛ばします。 デフォルトでは .Ar offset は 10 進数として解釈されます。 .Cm 0x または .Cm 0X , を頭に付けると .Ar offset は 16 進数として解釈されます。 また、 .Cm 0 を頭に付けると .Ar offset は 8 進数として解釈されます。 .Cm b , .Cm k , .Cm m を .Ar offset の後ろにつけると、それぞれ .Li 512 , .Li 1024 , .Li 1048576 倍と解釈されます。 .It Fl v .Fl v オプションは .Nm に対してすべての入力を表示させます。 .Fl v オプションを指定しない場合、直前の行と 内容 (オフセットは除く) が全く同じ行は何行であっても、 アスタリスク 1 個の 1 行で置き換えられます。 .It Fl x .Em 2 バイト 16 進表示 。 入力のオフセットを 16 進数で表示し、次に、 入力の 2 バイトづつを、0 詰めした 4 桁の 16 進数で、1 行あたり 8 個、 空白で区切って表示します。 .El .Pp .Nm は、各々の入力ファイルの内容を、それらが指定された順に、 .Fl e および .Fl f オプションによって指示されたフォーマット文字列に従って変換しながら、 シーケンシャルに標準出力へコピーします。 .Ss フォーマット フォーマット文字列は、任意の数のフォーマット単位を空白で区切って 並べたものです。 フォーマット単位は最大 3 個までの要素すなわち 繰り返し回数・バイト数・フォーマットによって構成されます。 .Pp 繰り返し回数は正の整数で、省略時の値は 1 です。 それぞれのフォーマットは この繰り返し回数だけ適用されます。 .Pp バイト数も正の整数で、省略することもできます。 指定された場合には 繰り返し 1 回あたりに処理されるバイト数を示します。 .Pp 繰り返し回数とバイト数はスラッシュ (/) で区切ります。 どちらか一方だけ 指定する時も、繰り返し回数の場合は直後、バイト数の場合は直前にスラッシュを 付け、曖昧にならないようにします。 スラッシュの前後にある空白は無視されます。 .Pp フォーマットは必須であり、ダブルクォート (" ") で囲みます。 フォーマットは fprintf 形式のフォーマット文字列 ( .Xr fprintf 3 を参照) ですが、以下の例外があります。 .Bl -bullet -offset indent .It フィールドの幅あるいは精度としてアスタリスク (*) を使用することはできません。 .It ``s'' 変換文字にはバイト数または精度を指定しなければなりません (精度が指定されなかった場合は文字列全体を表示するという .Xr fprintf 3 のデフォルトとは異なります)。 .It 変換文字 ``h'', ``l'', ``n'', ``p'' , ``q'' は サポートされていません。 .It C の標準規格の中で記述されている 以下の 1 文字エスケープシーケンスをサポートしています。 .Bd -ragged -offset indent -compact .Bl -column .It "NUL \e0 .It " \ea .It " \eb .It " \ef .It " \en .It " \er .It " \et .It " \ev .El .Ed .El .Pp .Nm ユーティリティはさらに以下の変換文字をサポートします。 .Bl -tag -width Fl .It Cm \&_a Ns Op Cm dox 次に表示されるバイトのオフセット (複数の入力ファイルを通算しての値) を表示します。 文字 .Cm d , .Cm o , .Cm x を付加すると、表示をそれぞれ 10 進、8 進、16 進形式にします。 .It Cm \&_A Ns Op Cm dox .Cm \&_a 変換文字とほぼ同じですが、すべての入力が処理された後で一度だけ実行 されるという点が異なります。 .It Cm \&_c デフォルトの文字セット中における文字を表示します。 表示不能な文字は 0 詰めして 3 桁にした 8 進数で表示します。 ただし標準のエスケープ 表記 (上述) ができるものについてはその 2 文字で表示します。 .It Cm _p デフォルトの文字セット中における文字を表示します。 表示不能な文字は .Dq Cm \&. として表示します。 .It Cm _u 文字セット US .Tn ASCII 中での文字を表示します。 ただし制御文字については以下に示す小文字名で表示します。 16 進で 0xff より大きな文字に ついては 16 進表記の文字列として表示します。 .Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo -.It "\&000\ nul\t001\ soh\t002\ stx\t003\ etx\t004\ eot\t005\ enq -.It "\&006\ ack\t007\ bel\t008\ bs\t009\ ht\t00A\ lf\t00B\ vt -.It "\&00C\ ff\t00D\ cr\t00E\ so\t00F\ si\t010\ dle\t011\ dc1 -.It "\&012\ dc2\t013\ dc3\t014\ dc4\t015\ nak\t016\ syn\t017\ etb -.It "\&018\ can\t019\ em\t01A\ sub\t01B\ esc\t01C\ fs\t01D\ gs -.It "\&01E\ rs\t01F\ us\t0FF\ del +.It "\&000\ NUL\t001\ SOH\t002\ STX\t003\ ETX\t004\ EOT\t005\ ENQ +.It "\&006\ ACK\t007\ BEL\t008\ BS\t009\ HT\t00A\ LF\t00B\ VT +.It "\&00C\ FF\t00D\ CR\t00E\ SO\t00F\ SI\t010\ DLE\t011\ DC1 +.It "\&012\ DC2\t013\ DC3\t014\ DC4\t015\ NAK\t016\ SYN\t017\ ETB +.It "\&018\ CAN\t019\ EM\t01A\ SUB\t01B\ ESC\t01C\ FS\t01D\ GS +.It "\&01E\ RS\t01F\ US\t0FF\ DEL .El .El .Pp 各々の変換文字について、サポートされているバイト数とデフォルトの バイト数は以下の通りです: .Bl -tag -width "Xc,_Xc,_Xc,_Xc,_Xc,_Xc" -offset indent .It Li \&%_c , \&%_p , \&%_u , \&%c 1 バイトのみ使用できます。 .It Xo .Li \&%d , \&%i , \&%o , .Li \&%u , \&%X , \&%x .Xc デフォルトでは 4 バイトで、1 バイト・2 バイト・4 バイトが使用できます。 .It Xo .Li \&%E , \&%e , \&%f , .Li \&%G , \&%g .Xc デフォルトでは 8 バイトで、4 バイトと 12 バイトも使用できます。 .El .Pp 各フォーマット文字列によって処理されるデータの量は、 各フォーマット単位が必要とするデータ量の合計であり、これは バイト数の繰り返し回数倍、あるいはバイト数が指定されていない場合には フォーマットの必要とするバイト数の繰り返し回数倍になります。 .Pp 入力は ``ブロック'' ごとに処理されます。 ブロックとは、フォーマット 文字列によって指定されるデータの塊のうちで最も大きいものです。 1 ブロック分のデータを処理し切らないフォーマット文字列で、その中の 最後のフォーマット単位が何バイトかを処理し、かつ繰り返し 回数が指定されていないものは、ブロック全体が処理され切るか、 フォーマット文字列に合致するデータがブロック中になくなるまで 繰り返し回数を増やされます。 .Pp ユーザの指定または hexdump が上記のように繰り返し回数を変更した結果、 繰り返し回数が 1 より大きくなった場合、最後の繰り返しにおける 末尾の空白は出力されません。 .Pp バイト数を複数の変換文字と共に指定すると、1 つを除いた全ての変換文字が .Cm \&_a または .Cm \&_A である時以外、エラーになります。 .Pp 入力がフォーマット文字列の一部分しか満たしていない状態で .Fl n オプションで指定したバイト数あるいはEOFに到達した場合、 有効なデータをすべて表示できるよう、入力ブロックには適当な数の 0 が 補われます。(すなわち、データの終端にまたがっている フォーマット単位は何バイトかの 0 を表示します。) .Pp そのようなフォーマット文字列によるさらなる出力は、等数の空白で 置き換えられます。 等数の空白とは、 もとの変換文字あるいは変換文字列とフィールド幅と精度は同じで .Dq Li \&+ , .Dq \&\ \& , .Dq Li \&# を取り除いた .Cm s 変換文字が、NULL 文字列を指した場合に出力される数の空白です。 .Pp フォーマット文字列が指定されない場合、デフォルトの表示形式は .Fl x オプションが指定された場合のものと同じになります。 .Sh 診断 .Ex -std hexdump hd .Sh 使用例 入力を perusal 形式で表示する: .Bd -literal -offset indent "%06.6_ao " 12/1 "%3_u " "\et\et" "%_p " "\en" .Ed .Pp \-x オプションを実装: .Bd -literal -offset indent "%07.7_Ax\en" "%07.7_ax " 8/2 "%04x " "\en" .Ed .Sh 関連項目 .Xr gdb 1 diff --git a/ja_JP.eucJP/man/man1/install.1 b/ja_JP.eucJP/man/man1/install.1 index 1579f093d6..bd72740cb3 100644 --- a/ja_JP.eucJP/man/man1/install.1 +++ b/ja_JP.eucJP/man/man1/install.1 @@ -1,226 +1,226 @@ .\" Copyright (c) 1987, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)install.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/xinstall/install.1,v 1.26 2002/10/31 10:43:32 ru Exp % +.\" %FreeBSD: src/usr.bin/xinstall/install.1,v 1.27 2002/12/12 17:26:01 ru Exp % .\" .\" $FreeBSD$ .Dd May 7, 2001 .Dt INSTALL 1 .Os .Sh 名称 .Nm install .Nd バイナリのインストール .Sh 書式 .Nm .Op Fl bCcMpSsv .Op Fl B Ar suffix .Op Fl f Ar flags .Op Fl g Ar group .Op Fl m Ar mode .Op Fl o Ar owner .Ar file1 file2 .Nm .Op Fl bCcMpSsv .Op Fl B Ar suffix .Op Fl f Ar flags .Op Fl g Ar group .Op Fl m Ar mode .Op Fl o Ar owner .Ar file1 ... fileN directory .Nm .Fl d .Op Fl v .Op Fl g Ar group .Op Fl m Ar mode .Op Fl o Ar owner .Ar directory ... .Sh 解説 ファイルを指定したファイルもしくはディレクトリへコピーします。 もしもターゲットがディレクトリであれば、 .Ar file は元のファイル名のままで .Ar directory の中にコピーされます。もし指定ファイルがすでに存在している場合、 .Fl b オプションが指定されていれば .Ar file Ns Pa .old にリネームし、そうでない場合には パーミッションが許せば上書きされます。 バックアップ用の別のサフィックスを、 .Fl B オプションの引数で指定可能です。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl b 既存のファイルに上書きする前に、 .Ar file Ns Pa .old へリネームして、バックアップします。 バックアップ用の別のサフィックスについては .Fl B を参照してください。 .It Fl B Ar suffix .Fl b 指定時に、 .Ar suffix をバックアップのサフィックスとして使用します。 .It Fl C ファイルをコピーします。 コピー先ファイルがすでに存在しかつ内容が同一である場合には、 ターゲットの修正時刻を変更しません。 ターゲットのファイルフラグとモードを変更する必要がない場合、 ターゲットの inode 変更時刻もまた変更されません。 .It Fl c ファイルをコピーします。 これがデフォルトです。 .Fl c オプションは、後方互換性のためだけに含まれています。 .It Fl d ディレクトリを作成します。 必要であれば、無い親ディレクトリも作成されます。 .It Fl f ターゲットファイルのファイルフラグを指定します; 指定可能なフラグのリストとその意味は .Xr chflags 1 を参照して下さい。 .It Fl g グループを指定します。数値指定の GID が利用できます。 .It Fl M .Xr mmap 2 の使用を全面的に禁止します。 .It Fl m モードを指定します。デフォルトのモードは rwxr-xr-x (0755) にセットされます。モード指定は 8 進数もしくは シンボリックな値のどちらでも可能です; 指定可能なモードの値については .Xr chmod 1 を参照して下さい。 .It Fl o 所有者を指定します。数値指定の UID が利用できます。 .It Fl p アクセス時刻および修正時刻を保存します。 .Fl C (比較してコピー) オプションが指定された場合のようにコピーを行いますが、 ターゲットファイルが存在しないもしくは内容が異なる場合、 ファイルのアクセス時刻と修正時刻を保存します。 .It Fl S 安全モード。 通常、 .Nm は、新規ファイルをインストールする前に、 既存のターゲットをアンリンクします。 .Fl S フラグを付けると、一時ファイルを使用し、これがターゲットにリネームされます。 こちらの方が安全な理由は、コピーまたはリネームが失敗した場合、 既存のターゲットはそのまま残ることです。 .It Fl s .Nm は .Xr strip 1 コマンドを実行してバイナリをストリップします。 .Nm strip コマンドを別に起動するため、多くのシステムやバイナリ形式に対して 移植性のある方法となっています。 .It Fl v .Nm を冗長にし、インストールもしくはバックアップされるファイルを表示します。 .El .Pp デフォルトでは .Nm は全てのファイルフラグを保存します。ただし .Dq nodump フラグは例外です。 .Pp .Nm ユーティリティは、ファイルをそれ自身に移動しないように試みます。 .Pp .Pa /dev/null をインストールすると、空のファイルを作ります。 .Pp 正常終了時は 0 が返ります。他の場合は 1 が返ります。 .Sh 診断 .Ex -std .Sh 関連ファイル .Bl -tag -width INS@XXXX -compact .It Pa INS@XXXX .Fl S , .Fl C , .Fl p オプションのいずれが使われている時は、一時ファイル名を .Pa INS@XXXX とします。 ここで、 .Pa XXXX 部分は .Xr mkstemp 3 で決定され、ターゲットディレクトリに作成されます。 .El .Sh 互換性 歴史的に、デフォルトでは .Nm はファイルを移動していました。 デフォルトがコピーに変更されたのは、 .Fx 4.4 です。 .Sh 関連項目 .Xr chflags 1 , .Xr chgrp 1 , .Xr chmod 1 , .Xr cp 1 , .Xr mv 1 , .Xr strip 1 , .Xr mmap 2 , .Xr chown 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 から登場しました。 .Sh バグ .Nm が異常終了した場合に、 一時ファイルがターゲットディレクトリに残るかも知れません。 .Pp NFS ファイルシステム経由では .Xr fchflags 2 でファイルフラグを設定できません。 他のファイルシステムはフラグの概念がありません。 フラグをサポートしないファイルシステムにおいてフラグ設定に失敗した場合には、 .Nm ユーティリティは警告だけ行います。 .Pp .Nm ユーティリティに .Fl v を指定すると、 .Fl C がハードリンクを扱うときに、コピーをしたと嘘をつきます。 diff --git a/ja_JP.eucJP/man/man1/join.1 b/ja_JP.eucJP/man/man1/join.1 index 91349b3139..86be9e90b7 100644 --- a/ja_JP.eucJP/man/man1/join.1 +++ b/ja_JP.eucJP/man/man1/join.1 @@ -1,222 +1,222 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)join.1 8.3 (Berkeley) 4/28/95 -.\" %FreeBSD: src/usr.bin/join/join.1,v 1.11 2002/08/13 15:59:28 ru Exp % +.\" %FreeBSD: src/usr.bin/join/join.1,v 1.12 2002/11/26 11:25:04 ru Exp % .\" $FreeBSD$ .\" .Dd April 28, 1995 .Dt JOIN 1 .Os .Sh 名称 .Nm join .Nd リレーショナルデータベースの操作 .Sh 書式 .Nm .Oo .Fl a Ar file_number | Fl v Ar file_number .Oc .Op Fl e Ar string .Op Fl o Ar list .Bk -words .Ek .Op Fl t Ar char .Op Fl \&1 Ar field .Op Fl \&2 Ar field .Ar file1 .Ar file2 .Sh 解説 .Nm ユーティリティは、指定されたファイルに対し .Dq equality join と呼ばれる、 各ファイルの同一の部分を結合する操作を施して結果を標準出力に出力します。 .Pp 比較は、それぞれのファイルの .Dq join field と呼ばれるフィールドで 行ないます。デフォルトでは、各行の最初のフィールドが使用されます。 .Ar file1 と .Ar file2 の中で、 .Dq join field が一致した行が組みとなり、1 行で出力されます。 join field と、 .Ar file1 のうちの残りのフィールド、その後、 .Ar file2 のうちの残りのフィールドが 1 行になって出力されます。 .Pp フィールドの区切は、デフォルトではタブか空白文字です。複数のタブや空白 が繋っていても、1 つの区切とみなされ、読み込み時にこれらは無視されます。 出力時の各フィールドの区切は、デフォルトでは空白 1 文字です。 .Pp ファイルとフィールドの番号に関し、多くのオプションがあります。これらの 番号は常に、1 から始まります。すなわち、コマンドラインの最初のファイル はファイル番号 1 番であり、各行の最初のフィールドは、フィールド番号 1 番となります。 .Bl -tag -width indent .It Fl a Ar file_number デフォルトの出力に加えて、 .Ar file_number で指定したファイルに関して、同一フィールドがなかった行を表示します。 .It Fl e Ar string 出力時に、空のフィールドがあれば .Ar string で指定した文字列に置き換えます。 .It Fl o Ar list .Nm の処理して出力すべき行に関し、デフォルトの順序でなく、 .Ar list で指定した順序で各ファイルの各フィールドを出力 するようにします。 .Ar list の各要素は、 .Ql file_number.field または .Ql 0 .Pq ゼロ で表わし、要素間は、コンマ -.Pq Dq \&, +.Pq Ql \&, か空白で区切ります (空白で区切る場合は、シェルが要素を別々のパラメータに分解しないよう クォーティングするか、複数の .Fl o オプションを使用します)。 .It Fl t Ar char 入力および出力に使用するフィールドの区切として .Ar char で指定した文字を使用するようにします。 1行の中で出現したすべての .Ar char が有効です。 .It Fl v Ar file_number .Ar file_number で指定したファイル番号のファイルに関して、 join 処理で同一フィールドが見つからなかった行だけを表示する ようにします。 .Fl v Ar 1 と .Fl v Ar 2 を同時に指定してもかまいません。 .It Fl 1 Ar field ファイル 1 の .Dq join field を .Ar field で指定した番号のフィールドとします。 .It Fl 2 Ar field ファイル 2 の .Dq join field を .Ar field で指定した番号のフィールドとします。 .El .Pp デフォルトのフィールド区切り文字が使われる場合、 結合の対象となるファイルは、結合すべきフィールドをキーとして .Xr sort 1 に .Fl b オプションを付けたものでソートされていなければなりません。 そうしないと、 .Nm はマッチするフィールドを一部しか表示しないことが あります。 .Fl t オプションでフィールド区切り文字が指定されている場合、 .Fl b オプション無しの .Xr sort 1 でソートされていなければなりません。 .Pp .Ar file1 または .Ar file2 のうちの片方が .Dq - であった場合には、標準入力が使われます。 .Sh 診断 .Ex -std .Sh 互換性 さらに、古いバージョンの .Nm との互換のため、次のオプションも使用できます。 .Bl -tag -width indent .It Fl a デフォルトの出力に加え、file1 と file2 の各々で、同一フィールド がない行を表示します。 .It Fl j1 Ar field ファイル1の ``join field'' を .Ar field で指定した番号のフィールドとします。 .It Fl j2 Ar field ファイル2の ``join field'' を .Ar field で指定した番号のフィールドとします。 .It Fl j Ar field file1 と file2 の ``join field'' を .Ar field で指定した番号のフィールドとします。 .It Fl o Ar list ... 歴史的な .Nm の実装では .Fl o オプションに複数の引数を許可していました。 これらの引数は、現在の .Fl o オプションで説明したものと同じ .Dq file_number.field_number という形式でした。 しかし、この方法では .Ql 1.2 と名付けられたファイルが存在すると、明らかに困難を生じます。 .El .Pp これらのオプションは、修正をしたくないような非常に古いシェルスクリプト のためだけに用意されています。 これらのオプションは、使うべきではありません。 .Sh 規格 .Nm コマンドは .St -p1003.1-2001 互換です。 .Sh 関連項目 .Xr awk 1 , .Xr comm 1 , .Xr paste 1 , .Xr sort 1 , .Xr uniq 1 diff --git a/ja_JP.eucJP/man/man1/kbdmap.1 b/ja_JP.eucJP/man/man1/kbdmap.1 index bbbb363cb2..ecbbee9ec3 100644 --- a/ja_JP.eucJP/man/man1/kbdmap.1 +++ b/ja_JP.eucJP/man/man1/kbdmap.1 @@ -1,150 +1,152 @@ .\" Copyright (c) March 1995 Wolfram Schneider . Berlin. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/kbdmap/kbdmap.1,v 1.29 2002/07/03 14:56:08 markm Exp % +.\" %FreeBSD: src/usr.sbin/kbdmap/kbdmap.1,v 1.31 2002/12/04 14:45:48 ru Exp % .\" $FreeBSD$ -.Dd March 25, 1995 +.Dd July 3, 2002 .Dt KBDMAP 1 .Os .Sh 名称 .Nm kbdmap , .Nm vidfont .Nd syscons 用フロントエンド .Sh 書式 .Nm .Op Fl K .Op Fl V .Op Fl d | Fl default .Op Fl h | Fl help .Op Fl l | Fl lang Ar language .Op Fl p | Fl print .Op Fl r | Fl restore .Op Fl s | Fl show .Op Fl v | Fl verbose .Sh 解説 .Nm ユーティリティは有効なキーマップを容易に設定するコマンドです。 同様に .Nm vidfont はフォントを設定します。 いずれもデータベース中の記述 (description) を探します。 この記述は英語 (デフォルト) あるいは他の言語で書かれています。 両コマンドともキーマップおよびフォントのデータベースを検査します。 デフォルトでは英語で記述されていますが、他の言語でなされても構いません。 これらのプログラムは対話的であり、 ユーザからの必要な入力 (例えばキーマップ選択) を得るために端末出動作するものと期待します。 .Pp .Tn MSDOS コードページのキーマップやフォントを使用しないよう強く勧めます。 可能であれば .Tn ISO 標準バージョンを使ってください! .Tn X11 は .Tn MSDOS コードページをサポートしません。 .Pp 次のオプションが利用可能です: .Bl -tag -width Ds .It Fl K .Nm としてコマンドを実行します。 .It Fl V .Nm vidfont としてコマンドを実行します。 .It Fl d , Fl default デフォルト言語を使用します。 .Ev LANG 環境変数は無視されます。 .It Fl h , Fl help オプション一覧を表示して終了します。 .It Fl l , Fl lang Ar language 記述およびメニューの表示に言語 .Ar language を用います。 .It Fl p , Fl print 標準出力に使用可能なキーマップもしくはフォントを表示し、終了します。 .It Fl r , Fl restore .Pa /etc/rc.conf からデフォルトフォントをロードします。 .It Fl s , Fl show 現在サポートしている言語を表示して終了します。 .It Fl v , Fl verbose 通常よりきめ細かく警告メッセージを出力します。 .El .Sh 環境変数 .Bl -tag -width LANG -compact .It Ev LANG 希望する言語。 .El .Sh 関連ファイル .Bl -tag -width /usr/share/syscons/keymaps/INDEX.keymaps -compact .It Pa /usr/share/syscons/keymaps/INDEX.keymaps キーマップのデータベース .It Pa /usr/share/syscons/fonts/INDEX.fonts フォントのデータベース .It Pa /etc/rc.conf デフォルトのフォント .It Pa /usr/X11/lib/X11/locale/locale.alias 共通な .Ev LANG に関する記述 .El .Sh バグ .\" .Nm kbdmap/vidfont .\" does not know which font is in use. E.g. if the current font .\" is iso-8859-1 and you chose lang 'ru' (for Russian) .\" you get funny latin1 characters and not russkij shrift. .\" .Nm および .Nm vidcontrol のユーティリティは (仮想) コンソールでのみ機能します。 .Tn X11 上では動作しません。 .Sh 関連項目 .Xr dialog 1 , .Xr kbdcontrol 1 , .Xr vidcontrol 1 , .Xr kbdmap 5 , .Xr rc.conf 5 .Sh 歴史 .Nm および .Nm vidfont コマンドは .Fx 2.1 から登場しました。 .Sh 作者 +.An -nosplit .An Wolfram Schneider +.Aq wosch@FreeBSD.org がオリジナルの Perl バージョンを書きました。 元バージョンは、 .Fx 5.0 向きに .An Jonathan Belson .Aq jon@witchspace.com が C で書き直したものです。 .Sh 日本語訳 酒井 淳嗣(sakai@csl.cl.nec.co.jp): FreeBSD向けに翻訳 diff --git a/ja_JP.eucJP/man/man1/ld.1 b/ja_JP.eucJP/man/man1/ld.1 index 40623ee585..bfeb862524 100644 --- a/ja_JP.eucJP/man/man1/ld.1 +++ b/ja_JP.eucJP/man/man1/ld.1 @@ -1,1918 +1,1929 @@ -.\" %FreeBSD: src/contrib/binutils/ld/ld.1,v 1.9 2002/10/11 06:14:04 obrien Exp % .\" $FreeBSD$ -.\" -.\" -.\" Automatically generated by Pod::Man v1.3, Pod::Parser v1.13 +.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R - .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "LD 1" -.TH LD 1 "2002-08-05" "binutils-2.12.91" "GNU Development Tools" +.TH LD 1 "2002-10-30" "binutils-2.13" "GNU Development Tools" .UC .SH "名称" -ld \- \s-1GNU\s0 リンカ \s-1LD\s0 の使い方 +ld \- GNU リンカ LD の使い方 .SH "書式" .IX Header "書式" ld [\fBoptions\fR] \fIobjfile\fR ... .SH "解説" .IX Header "解説" \&\fBld\fR は、いくつかのオブジェクトファイルとアーカイブファイルを 結合し、そのデータを再配置し、シンボルの参照を結びつけます。 通常、プログラムのコンパイルの最終段階が、\fBld\fR を実行することです。 .PP \&\fBld\fR は、リンク処理を明示的かつ統合的に制御するために、 \&\s-1AT&T\s0 のリンクエディタコマンド言語の文法の上位互換セットで 記述されたリンカコマンド言語のファイルを受け付けます。 .PP このマニュアルページではコマンド言語についてふれません。 コマンド言語の詳細と \s-1GNU\s0 リンカの別の側面からの詳細については \&\f(CW\*(C`info\*(C'\fR の \fBld\fR の項、またはマニュアル ld: the \s-1GNU\s0 linker を参照してください。 .PP このバージョンの \fBld\fR は、オブジェクトファイルの操作に汎用の \&\s-1BFD\s0 ライブラリを使用します。 これによって \fBld\fR は、多くの異なった形式 \-\-\- 例えば \&\s-1COFF\s0 や \f(CW\*(C`a.out\*(C'\fR のようなオブジェクトファイル \&\-\-\- の読み込み、結合、書き込みが出来るようになっています。 異なる形式のファイルを一緒にリンクして、 任意の利用可能なオブジェクトファイルを生成できます。 .PP その柔軟性の他にも、\s-1GNU\s0 リンカは、診断情報の提供という点で 他のリンカよりも役に立ちます。 多くのリンカは、エラーを起こした時点で即座に実行を中断してしまいますが、 \&\fBld\fR は可能な限り実行を続けるので、他のエラーも突き止めることが できます。 (また、場合によっては、エラーにもかかわらず出力ファイルを生成します)。 .PP \&\s-1GNU\s0 リンカ \fBld\fR は、広い範囲の各種状況に対応すること、 そして他のリンカとの互換性をできるだけ維持することを目指しています。 そのため、その動作を制御するための多くの選択肢があります。 .SH "オプション" .IX Header "オプション" このリンカは、おびただしい量のコマンドラインオプションを備えていますが、 実際には、いかなる局面においても使用されるオプションは、少ししかありません。 例えば、\fBld\fR がよく使われるのは、Unix の標準のオブジェクトファイルを、 \&\fBld\fR がサポートする標準の Unix システム上でリンクする場合です。 そのようなシステム上では、\f(CW\*(C`hello.o\*(C'\fR というファイルを リンクするためには以下のようにします: .PP .Vb 1 \& ld -o /lib/crt0.o hello.o -lc .Ve +.PP これは、\f(CW\*(C`/lib/crt0.o\*(C'\fR と \f(CW\*(C`hello.o\*(C'\fR、そして 標準で検索されるディレクトリにあるライブラリ \f(CW\*(C`libc.a\*(C'\fR を リンクして、\fIoutput\fR という名前のファイルを生成することを \fBld\fR に 対して指示しています。 .PP \&\fBld\fR に対するいくつかのコマンドラインオプションは、コマンドラインの どこででも指定できます。 しかし、ファイルを参照する \fB\-l\fR や \fB\-T\fR のようなオプションは、 オブジェクトファイルやその他のファイルオプションに関連しており、 コマンドライン中にオプションが現れた時点でファイルを読みます。 ファイルを取らないオプションを異なる引数を指定して繰返しても、 それ以上影響がないか、もしくは (コマンドライン上で左にある) それまでの指定を上書きします。 2 回以上指定しても意味のあるオプションは、以下の説明の中で記述されています。 .PP オプション引数ではないものは、一緒にリンクされるオブジェクトファイルか アーカイブです。 それらは、オプションとそのオプションの引数の間に入らない限り、 コマンドラインオプションの前に置いても、後ろに置いても、 混ぜて指定しても構いません。 .PP 通常、リンカは少なくとも 1 つのオブジェクトファイルを指定して 起動されますが、\fB\-l\fR や \fB\-R\fR を用いて、または スクリプトコマンド言語使って、他のバイナリ形式の入力ファイルを 指定することができます。 バイナリ入力ファイルが全く指定されなかった場合、 リンカは何も出力をせず、\fBNo input files\fR というメッセージを出します。 .PP リンカがオブジェクトファイルの形式を認識できなかった時は、 それをリンカスクリプトと仮定します。 このように指定されたスクリプトは、リンクに使われる主リンカスクリプト (デフォルトのリンカスクリプト、もしくは \fB\-T\fR で指定されたスクリプト) に 追加されます。 この機能により、一見オブジェクトファイルもしくはアーカイブに見えるが、 実際は単にシンボル値を定義しているだけだったり、 \&\f(CW\*(C`INPUT\*(C'\fR や \f(CW\*(C`GROUP\*(C'\fR を使って 他のオブジェクトを読み込んでるだけのファイルをリンクすることができます。 このように指定されたスクリプトは、主リンカスクリプトに 単に追加されるだけということに注意してください。 デフォルトのリンカスクリプトを完全に置き換える場合は、 \&\fB\-T\fR オプションを使ってください。 .PP 1 文字の名前を持つオプションの引数は、間に空白が入らずに オプション文字に続くか、その引数が必要なオプションのすぐ後に、 独立した引数として与えられるかしなければなりません。 .PP 複数文字の名前を持つオプションは、 1 つ、または 2 つのダッシュの どちらの後に続いても構いません。 例えば、\fB\-trace\-symbol\fR と \fB\-\-trace\-symbol\fR は等価です。 このルールには 1 つだけ例外があることに注意してください。 小文字の 'o' で始まる複数文字のオプションは、 2 つのダッシュの後にしか続きません。 これは、\fB\-o\fR オプションとの混乱を少なくするためです。 ですから、例えば \fB\-omagic\fR は出力ファイル名を \&\fBmagic\fR とするのに対して、\fB\-\-omagic\fR は出力に \&\s-1NMAGIC\s0 フラグを設定します。 .PP 複数文字のオプションへの引数は、等号記号がオプションとの間に入るか、 その引数を必要とするオプションのすぐ後に、 独立した引数として与えられるかしなければなりません。 例えば、\fB\-\-trace\-symbol foo\fR と \fB\-\-trace\-symbol=foo\fR は 等価です。 複数文字のオプションを、一意に定まるように省略しても、受け付けられます。 .PP リンカがコンパイラドライバ (例えば \fBgcc\fR) によって間接的に 起動される場合、すべてのリンカのコマンドラインオプションは、 \&\fB\-Wl,\fR (もしくは特定のコンパイラドライバの適切なオプション) に続いて以下のように指定されなければなりません: .PP .Vb 1 \& gcc -Wl,--startgroup foo.o bar.o -Wl,--endgroup .Ve +.PP これは重要です。 というのも、このようにしないと、コンパイラドライバプログラムは 何も言わずにリンカオプションを落してしまい、リンクが正しく 行われなくなってしまうからです。 .PP 以下は、\s-1GNU\s0 リンカが受け入れる一般的なコマンドラインスイッチの 一覧です: .IP "\fB\-a\fR\fIkeyword\fR" 4 .IX Item "-akeyword" このオプションは、\s-1HP/UX\s0 との互換性のためにサポートされています。 \&\fIkeyword\fR 引数は、文字列 \fBarchive\fR, \fBshared\fR または \&\fBdefault\fR のどれかでなければなりません。 \&\fB\-aarchive\fR は、機能的には \fB\-Bstatic\fR と等価であり、 残りの 2 つの keyword は、機能的に \fB\-Bdynamic\fR と等価です。 このオプションは何度でも使うことができます。 .IP "\fB\-A\fR\fIarchitecture\fR" 4 .IX Item "-Aarchitecture" .PD 0 .IP "\fB\-\-architecture=\fR\fIarchitecture\fR" 4 .IX Item "--architecture=architecture" .PD 現在リリースされている \fBld\fR では、このオプションは Intel 960 ファミリのアーキテクチャでのみ使われます。 そのような \fBld\fR の構成では、\fIarchitecture\fR 引数は、 960 ファミリの特定のアーキテクチャを指定し、いくつかの保護手段を有効にし、 アーカイブライブラリの検索パスを修正します。 .Sp 将来の \fBld\fR のリリースでは、他のアーキテクチャファミリでも 同様の機能をサポートするかもしれません。 .IP "\fB\-b\fR \fIinput-format\fR" 4 .IX Item "-b input-format" .PD 0 .IP "\fB\-\-format=\fR\fIinput-format\fR" 4 .IX Item "--format=input-format" .PD \&\fBld\fR は、1 種類以上のオブジェクトファイルをサポートするように 構成することができます。 もし \fBld\fR がそのように構成されているなら、\fB\-b\fR オプションで 入力するオブジェクトファイルのバイナリ形式を指定することができます。 その入力ファイルは、コマンドライン上でこのオプションに続けて指定します。 たとえ \fBld\fR が、他のオブジェクト形式をサポートするように 設定されていても、通常このオプションを指定する必要はありません。 というのも、\fBld\fR は、それぞれマシン上で最も一般的な形式が デフォルトの入力形式であると期待するよう設定されているからです。 \&\fIinput-format\fR はテキスト文字列で、\s-1BFD\s0 ライブラリで サポートされている特定の形式名です (\fBobjdump \-i\fR で、使用可能なバイナリ形式名のリストが得られます)。 .Sp ファイルを通常でないバイナリ形式とリンクしたい場合に、 このオプションを使うことができます。 (異なる形式のオブジェクトファイルとリンクする時に) 同様に \&\fB\-b\fR で明示的に形式を切り替えられます。 その場合は \fB\-b\fR \fIinput-format\fR を特定の形式の オブジェクトファイルの各グループの前で指定します。 .Sp デフォルトの形式は、環境変数 \f(CW\*(C`GNUTARGET\*(C'\fR から 取得されます。 .Sp スクリプトから入力形式を指定する事もでき、 その場合はコマンド \f(CW\*(C`TARGET\*(C'\fR を使います。 .IP "\fB\-c\fR \fIMRI-commandfile\fR" 4 .IX Item "-c MRI-commandfile" .PD 0 .IP "\fB\-\-mri\-script=\fR\fIMRI-commandfile\fR" 4 .IX Item "--mri-script=MRI-commandfile" .PD \&\s-1MRI\s0 製のリンカとの互換性のため、\fBld\fR は、 \&\s-1GNU\s0 ld ドキュメントの \s-1MRI\s0 互換スクリプトファイルの章に 記述されているもう一つの制限されたコマンド言語で書かれた スクリプトファイルを受け付けます。 オプション \fB\-c\fR で \s-1MRI\s0 スクリプトファイルを導入した場合は、 \&\fB\-T\fR オプションを用いることで、汎用目的の \fBld\fR スクリプト言語で 書かれたリンカスクリプトを走らせることができます。 \&\fIMRI-commandfile\fR がなかった場合、\fBld\fR は、\fB\-L\fR で指定された すべてのディレクトリを探します。 .IP "\fB\-d\fR" 4 .IX Item "-d" .PD 0 .IP "\fB\-dc\fR" 4 .IX Item "-dc" .IP "\fB\-dp\fR" 4 .IX Item "-dp" .PD これらの 3 つのオプションは等価です。 他のリンカとの互換性のために複数の形式がサポートされています。 再配置可能なファイルを出力するように (\fB\-r\fR によって) 指定された場合でも、コモンシンボルに空間を割り当てます。 スクリプトコマンドの \f(CW\*(C`FORCE_COMMON_ALLOCATION\*(C'\fR も 同じ効果を持ちます。 .IP "\fB\-e\fR \fIentry\fR" 4 .IX Item "-e entry" .PD 0 .IP "\fB\-\-entry=\fR\fIentry\fR" 4 .IX Item "--entry=entry" .PD プログラムの実行開始点を示す明示的なシンボルとして、 デフォルトのエントリポイントの代わりに \fIentry\fR を使用します。 シンボル \fIentry\fR がなかった場合、リンカは \fIentry\fR を 数字として解釈しようと試み、それを開始番地として使います (数字は基数を 10 として解釈されます。先頭についた \fB0x\fR は 16 を基数とすることを表し、\fB0\fR は 8 を基数とすることを表します)。 .IP "\fB\-E\fR" 4 .IX Item "-E" .PD 0 .IP "\fB\-\-export\-dynamic\fR" 4 .IX Item "--export-dynamic" .PD 動的にリンクされた実行ファイルを作成する時に、すべてのシンボルを 動的シンボルテーブルに加えます。 動的シンボルテーブルは、実行時に動的オブジェクトから見えるシンボルの テーブルです。 .Sp もしこのオプションを使用しなかった場合、通常、 動的シンボルテーブルには、リンク中に指定されたいくつかの 動的オブジェクトから参照されるシンボルのみが含まれます。 .Sp 他の動的オブジェクトではなく、そのプログラムで定義されているシンボルを 参照し返す必要のある動的オブジェクトを \f(CW\*(C`dlopen\*(C'\fR で ロードする場合は、おそらくプログラム自身をリンクする時にこのオプションを 使う必要があるでしょう。 .Sp 出力形式がサポートしていた場合、バージョンスクリプトを使って、 どのシンボルを動的シンボルテーブルに追加すべきかを制御できます。 \&\f(CW@ref\fR{\s-1VERSION\s0} 中の \fB\-\-version\-script\fR の記述を 参照してください。 .IP "\fB\-EB\fR" 4 .IX Item "-EB" ビッグエンディアンのオブジェクトをリンクします。 これはデフォルトの出力形式に影響します。 .IP "\fB\-EL\fR" 4 .IX Item "-EL" リトルエンディアンのオブジェクトをリンクします。 これはデフォルトの出力形式に影響します。 .IP "\fB\-f\fR" 4 .IX Item "-f" .PD 0 .IP "\fB\-\-auxiliary\fR \fIname\fR" 4 .IX Item "--auxiliary name" .PD \&\s-1ELF\s0 の共有オブジェクトを生成する際に、内部の \s-1DT_AUXILIARY\s0 フィールドに、指定した name を設定します。 これは、共有オブジェクトのシンボルテーブルを、共有オブジェクト \&\fIname\fR のシンボルテーブルに適用する補助のフィルタとして使う事を、 動的リンカに対して指示します。 .Sp 後からこのフィルタオブジェクトに対してプログラムをリンクした場合、 そのプログラムを実行した時に、動的リンカは \&\s-1DT_AUXILIARY\s0 フィールドを見ます。 動的リンカがフィルタオブジェクトからのシンボルを解決する場合は、 共有オブジェクト \fIname\fR の中に定義があるかどうかをまずチェックします。 もしそれがあった場合は、フィルタオブジェクト中の定義の代わりに使用されます。 共有オブジェクト \fIname\fR は、存在しなくても構いません。 このようにして共有オブジェクト \fIname\fR は、おそらくデバッギングや マシン特有のパフォーマンスといったある機能の別の実装を提供するために 使用できます。 .Sp このオプションは 2 回以上指定されても構いません。 \&\s-1DT_AUXILIARY\s0 エントリは、コマンドラインに現れた順番に生成されます。 .IP "\fB\-F\fR \fIname\fR" 4 .IX Item "-F name" .PD 0 .IP "\fB\-\-filter\fR \fIname\fR" 4 .IX Item "--filter name" .PD \&\s-1ELF\s0 の共有オブジェクトを生成する際に、内部の \s-1DT_FILTER\s0 フィールドに、指定した name を設定します。 これは、共有オブジェクトのシンボルテーブルを、共有オブジェクト \&\fIname\fR のシンボルテーブルに適用するフィルタとして使う事を、 動的リンカに対して指示します。 .Sp 後からこのフィルタオブジェクトに対してプログラムをリンクした場合、 そのプログラムを実行した時に、動的リンカは \&\s-1DT_FILTER\s0 フィールドを見ます。 動的リンカは、通常のようにフィルタオブジェクトのシンボルテーブルに従って シンボルを解決しますが、実際には共有オブジェクト \fIname\fR 中に見つかった 定義にリンクします。 このようにしてフィルタオブジェクトは、オブジェクト \fIname\fR によって 提供されたシンボルのサブセットを選択するのに使用できます。 .Sp いくつかの古いリンカは、コンパイルツールチェーンを通して、 \&\fB\-F\fR オプションを、入力および出力オブジェクトファイル両方の形式を 指定するために使っていました。 \&\s-1GNU\s0 リンカは、この目的に別のメカニズムを用いています。 それは \fB\-b\fR, \fB\-\-format\fR, \fB\-\-oformat\fR オプションや、 リンカスクリプト中の \f(CW\*(C`TARGET\*(C'\fR コマンド、 そして \f(CW\*(C`GNUTARGET\*(C'\fR 環境変数です。 \&\s-1GNU\s0 リンカは、\s-1ELF\s0 共有オブジェクトを作らない時には、 \&\fB\-F\fR オプションを無視します。 .IP "\fB\-fini\fR \fIname\fR" 4 .IX Item "-fini name" \&\s-1ELF\s0 の実行形式もしくは共有オブジェクトを生成する際、 関数のアドレスに \s-1DT_FINI\s0 を設定することにより、 実行形式もしくは共有オブジェクトがアンロードされる時に \s-1NAME\s0 を呼びます。 デフォルトでは、リンカは \f(CW\*(C`_fini\*(C'\fR を、呼ぶべき関数として 使用します。 .IP "\fB\-g\fR" 4 .IX Item "-g" 無視されます。 これは他のツールとの互換性のために提供されています。 .IP "\fB\-G\fR\fIvalue\fR" 4 .IX Item "-Gvalue" .PD 0 .IP "\fB\-\-gpsize=\fR\fIvalue\fR" 4 .IX Item "--gpsize=value" .PD \&\s-1GP\s0 レジスタを使用して最適化されるオブジェクトの最大サイズを \&\fIsize\fR に設定します。 これは、大きいオブジェクトと小さいオブジェクトを異なるセクションに 配置することをサポートしている \s-1MIPS\s0 \s-1ECOFF\s0 のような オブジェクトファイル形式の場合のみ意味を持ちます。 他のオブジェクトファイル形式の場合は無視されます。 .IP "\fB\-h\fR\fIname\fR" 4 .IX Item "-hname" .PD 0 .IP "\fB\-soname=\fR\fIname\fR" 4 .IX Item "-soname=name" .PD \&\s-1ELF\s0 の共有オブジェクトを生成する際に、内部の \s-1DT_SONAME\s0 フィールドに、指定した name を設定します。 実行形式が \s-1DT_SONAME\s0 フィールドを持つ共有オブジェクトと リンクされると、実行形式が実行される時に、動的リンカは リンカに与えられたファイル名を使う代わりに DT_SONAME フィールドで 指定された共有オブジェクトをロードしようとします。 .IP "\fB\-i\fR" 4 .IX Item "-i" インクリメンタルリンクを行います (オプション \fB\-r\fR と同じです)。 .IP "\fB\-init\fR \fIname\fR" 4 .IX Item "-init name" \&\s-1ELF\s0 の実行形式もしくは共有オブジェクトを生成する際、 関数のアドレスに \s-1DT_INIT\s0 を設定することにより、 実行形式もしくは共有オブジェクトがロードされる時に \s-1NAME\s0 を呼びます。 デフォルトでは、リンカは \f(CW\*(C`_init\*(C'\fR を、呼ぶべき関数として 使用します。 .IP "\fB\-l\fR\fIarchive\fR" 4 .IX Item "-larchive" .PD 0 .IP "\fB\-\-library=\fR\fIarchive\fR" 4 .IX Item "--library=archive" .PD アーカイブファイル \fIarchive\fR を、リンクすべきファイルのリストに 追加します。 このオプションは、何度指定しても構いません。 \&\fBld\fR は、\fIarchive\fR が指定されるたびに \&\f(CW\*(C`lib\f(CIarchive\f(CW.a\*(C'\fR を自身のパスリストから探します。 .Sp 共有ライブラリをサポートするシステムでは、\fBld\fR は、\f(CW\*(C`.a\*(C'\fR 以外のサフィックスを持つライブラリも探すことがあります。 特に \s-1ELF\s0 や SunOS システムでは、\fBld\fR は、\f(CW\*(C`.a\*(C'\fR というサフィックスを持つライブラリを探す前に、\f(CW\*(C`.so\*(C'\fR という サフィックスを持つライブラリをディレクトリから探します。 慣習により、\f(CW\*(C`.so\*(C'\fR サフィックスは共有ライブラリを示します。 .Sp リンカは、コマンドラインで指定されたその場所でのみ、 1 回だけアーカイブを検索します。 もしそのアーカイブが、それまでにコマンドラインに現れたオブジェクトでは 定義していないシンボルを定義していた時は、リンカは、そのアーカイブから 適切なファイルを取り込みます。 しかし、コマンドラインに後から現れたオブジェクトに含まれる 未定義シンボルによって、リンカがアーカイブを再度検索することはありません。 .Sp アーカイブを複数回検索するようリンカに強制する方法は、 \&\fB\-(\fR オプションを参照してください。 .Sp 同じアーカイブをコマンドライン上に複数回指定しても構いません。 .Sp この種のアーカイブ検索は、Unix のリンカでは普通です。 しかし \s-1AIX\s0 上で \fBld\fR を使用する場合、\s-1AIX\s0 リンカとは 異なった動作をするので注意が必要です。 .IP "\fB\-L\fR\fIsearchdir\fR" 4 .IX Item "-Lsearchdir" .PD 0 .IP "\fB\-\-library\-path=\fR\fIsearchdir\fR" 4 .IX Item "--library-path=searchdir" .PD パス \fIsearchdir\fR を、\fBld\fR がアーカイブライブラリや \fBld\fR の 制御スクリプトを検索するのに使用するパスのリストに追加します。 このオプションは、何度指定しても構いません。 ディレクトリは、コマンドライン上で指定された順に検索されます。 コマンドライン上で指定されたディレクトリは、デフォルトのディレクトリの 前に検索されます。 すべての \fB\-L\fR オプションは、オプションの出現した順番によらず、 すべての \fB\-l\fR オプションに適用されます。 .Sp (\fB\-L\fR で指定されない) デフォルトの検索パスの組は、 \&\fBld\fR がどのエミュレーションモードを使っているか、 そして場合によってはどのように構成されたかに依存します。 .Sp パスは、リンクスクリプト中で \f(CW\*(C`SEARCH_DIR\*(C'\fR コマンドを用いても指定できます。 この方法で指定されたディレクトリは、コマンドライン上でリンカスクリプトが 現れた時点で検索されます。 .IP "\fB\-m\fR\fIemulation\fR" 4 .IX Item "-memulation" \&\fIemulation\fR リンカをエミュレートします。 \&\fB\-\-verbose\fR や \fB\-V\fR オプションで、利用可能なエミュレーションを リストできます。 .Sp \&\fB\-m\fR オプションが指定されていない場合、エミュレーションは、 \&\f(CW\*(C`LDEMULATION\*(C'\fR 環境変数が定義されていれば そこから取得されます。 .Sp それ以外の場合、デフォルトのエミュレーションは、リンカがどのように 構成されたかに依存します。 .IP "\fB\-M\fR" 4 .IX Item "-M" .PD 0 .IP "\fB\-\-print\-map\fR" 4 .IX Item "--print-map" .PD リンクマップを標準出力に表示します。 リンクマップは、以下を含むリンクの情報を提供します: .RS 4 .IP "\(bu" 4 オブジェクトファイルとシンボルが、メモリのどこにマップされるか。 .IP "\(bu" 4 コモンシンボルがどのように割り当てられたか。 .IP "\(bu" 4 リンクに含まれるすべてのアーカイブメンバ、および そのアーカイブメンバを取り込むきっかけとなったシンボル。 .RE .RS 4 .RE .IP "\fB\-n\fR" 4 .IX Item "-n" .PD 0 .IP "\fB\-\-nmagic\fR" 4 .IX Item "--nmagic" .PD セクションのページアラインメントを無効にし、可能であれば 出力に \f(CW\*(C`NMAGIC\*(C'\fR と印を付けます。 .IP "\fB\-N\fR" 4 .IX Item "-N" .PD 0 .IP "\fB\-\-omagic\fR" 4 .IX Item "--omagic" .PD テキストセクションとデータセクションを読み書き可能に設定します。 また、データセグメントのページアラインメントも行いません。 出力形式が Unix 形式のマジックナンバをサポートしている場合、 出力に \f(CW\*(C`OMAGIC\*(C'\fR と印を付けます。 .IP "\fB\-o\fR \fIoutput\fR" 4 .IX Item "-o output" .PD 0 .IP "\fB\-\-output=\fR\fIoutput\fR" 4 .IX Item "--output=output" .PD \&\fIoutput\fR を、\fBld\fR によって生成されるプログラムの 名前として使用します。 このオプションが指定されなかった場合、\fIa.out\fR という名前が デフォルトで使用されます。 スクリプトコマンドの \f(CW\*(C`OUTPUT\*(C'\fR によっても、 出力ファイル名を指定することができます。 .IP "\fB\-O\fR \fIlevel\fR" 4 .IX Item "-O level" \&\fIlevel\fR が 0 より大きい数値であった場合、 \&\fBld\fR は出力を最適化します。 これにはとても長い時間がかかりますので、最終的なバイナリの作成時のみ 有効にするべきでしょう。 .IP "\fB\-q\fR" 4 .IX Item "-q" .PD 0 .IP "\fB\-\-emit\-relocs\fR" 4 .IX Item "--emit-relocs" .PD 最終的にリンクされた実行形式中に、再配置セクションと内容を残します。 これらの情報は、リンク後の分析・最適化ツールが実行形式を正しく変更するのに 必要となるでしょう。 これは、より大きな実行形式を生成します。 .Sp このオプションは、現在 \s-1ELF\s0 プラットフォームでしか サポートされていません。 .IP "\fB\-r\fR" 4 .IX Item "-r" .PD 0 .IP "\fB\-\-relocateable\fR" 4 .IX Item "--relocateable" .PD 再配置可能な出力を生成します。 つまり、\fBld\fR への入力として利用できる出力ファイルを生成します。 これはよく \fI部分リンク\fR と呼ばれます。 この副作用として、Unix の標準のマジックナンバをサポートする環境では、 このオプションは出力ファイルのマジックナンバを \&\f(CW\*(C`OMAGIC\*(C'\fR に設定します。 このオプションが指定されなかった場合は、 絶対アドレス値を用いたファイルが生成されます。 \&\*(C+ プログラムをリンクする場合、 このオプションはコンストラクタへの参照を解決しません。 そのような場合は \fB\-Ur\fR を使用してください。 .Sp 入力ファイルが出力ファイルと同じ形式ではない場合、 部分リンクは、入力ファイルが再配置セクションを全く持たない時のみ サポートされます。 異なった出力形式は、さらなる制限を持つことがあります。 例えば、ある \f(CW\*(C`a.out\*(C'\fR\ ベースの形式は、 入力ファイルが異なった形式であった時には、部分リンクを全くサポートしません。 .Sp このオプションは、\fB\-i\fR と同じです。 .IP "\fB\-R\fR \fIfilename\fR" 4 .IX Item "-R filename" .PD 0 .IP "\fB\-\-just\-symbols=\fR\fIfilename\fR" 4 .IX Item "--just-symbols=filename" .PD シンボル名やそのアドレスを \fIfilename\fR から読み込みますが、 それを再配置したり出力に含めることはしません。 これにより、出力ファイルが他のプログラムで定義されたメモリの絶対位置を シンボルで参照できるようになります。 このオプションは 2 回以上使って構いません。 .Sp 他の \s-1ELF\s0 リンカとの互換性のため、\fB\-R\fR オプションの後に ファイル名ではなくディレクトリ名が続いた場合、 \&\fB\-rpath\fR オプションとして扱われます。 .IP "\fB\-s\fR" 4 .IX Item "-s" .PD 0 .IP "\fB\-\-strip\-all\fR" 4 .IX Item "--strip-all" .PD すべてのシンボル情報を出力ファイルから削除します。 .IP "\fB\-S\fR" 4 .IX Item "-S" .PD 0 .IP "\fB\-\-strip\-debug\fR" 4 .IX Item "--strip-debug" .PD (すべてのシンボルではなく) すべてのデバッグ用シンボル情報を 出力ファイルから削除します。 .IP "\fB\-t\fR" 4 .IX Item "-t" .PD 0 .IP "\fB\-\-trace\fR" 4 .IX Item "--trace" .PD \&\fBld\fR が入力ファイルを処理するたびに、入力ファイル名を表示します。 .IP "\fB\-T\fR \fIscriptfile\fR" 4 .IX Item "-T scriptfile" .PD 0 .IP "\fB\-\-script=\fR\fIscriptfile\fR" 4 .IX Item "--script=scriptfile" .PD \&\fIscriptfile\fR をリンカスクリプトとして使用します。 このスクリプトは、(追加されるのではなく) \fBld\fR のデフォルトの リンカスクリプトを置き換えます。 したがって、\fIscriptile\fR には、出力ファイルを記述するのに必要な すべてのことを指定しなければなりません。 \&\fIscriptfile\fR がカレントディレクトリに存在しない場合、 \&\f(CW\*(C`ld\*(C'\fR は、すべての \fB\-L\fR オプションに続いて 指定されたディレクトリを検索します。 複数の \fB\-T\fR オプションは、一つにまとめられます。 .IP "\fB\-u\fR \fIsymbol\fR" 4 .IX Item "-u symbol" .PD 0 .IP "\fB\-\-undefined=\fR\fIsymbol\fR" 4 .IX Item "--undefined=symbol" .PD 強制的に \fIsymbol\fR を未定義シンボルとして出力ファイルに含めます。 こうすることによって、例えば標準ライブラリからさらにモジュールを リンクする引き金とすることができます。 異なるオプション引数を持つことで \fB\-u\fR を繰返し指定することができ、 未定義シンボルを追加します。 このオプションは、\f(CW\*(C`EXTERN\*(C'\fR リンカスクリプトコマンドと 同じです。 .IP "\fB\-Ur\fR" 4 .IX Item "-Ur" \&\*(C+ プログラム以外に対しては、このオプションは \fB\-r\fR と同じです。 再配置可能な出力、つまり \fBld\fR に再度入力可能な出力ファイルを 生成します。 \&\*(C+ プログラムをリンクする場合、\fB\-r\fR とは異なり、 \&\fB\-Ur\fR はコンストラクタへの参照を解決します。 \&\fB\-Ur\fR を使用してリンクされたファイルに対しては、 \&\fB\-Ur\fR を使用できません。 コンストラクタのテーブルが一度生成されると、追加することができないのです。 \&\fB\-Ur\fR は、最後の部分リンクのみに使用するようにして、 その他の場合は \fB\-r\fR を使用してください。 .IP "\fB\-\-unique[=\fR\fI\s-1SECTION\s0\fR\fB]\fR" 4 .IX Item "--unique[=SECTION]" \&\fI\s-1SECTION\s0\fR に一致した入力セクション毎に、 個別の出力セクションを生成します。 オプションのワイルドカード \fI\s-1SECTION\s0\fR 引数がない場合は、 親なし入力セクション毎に、個別の出力セクションを生成します。 親なしセクションとは、リンカスクリプト中に 明示的に記述されていないセクションです。 このオプションは、コマンドライン上で複数回使用できます。 これによって、通常の同名の入力セクションのマージを行わないようにします。 これは、リンカスクリプト中での出力セクションの割り当てを上書きします。 .IP "\fB\-v\fR" 4 .IX Item "-v" .PD 0 .IP "\fB\-\-version\fR" 4 .IX Item "--version" .IP "\fB\-V\fR" 4 .IX Item "-V" .PD \&\fBld\fR のバージョン番号を表示します。 \&\fB\-V\fR オプションは、サポートしているエミュレータの一覧も表示します。 .IP "\fB\-x\fR" 4 .IX Item "-x" .PD 0 .IP "\fB\-\-discard\-all\fR" 4 .IX Item "--discard-all" .PD すべてのローカルシンボルを削除します。 .IP "\fB\-X\fR" 4 .IX Item "-X" .PD 0 .IP "\fB\-\-discard\-locals\fR" 4 .IX Item "--discard-locals" .PD すべての一時的なローカルシンボルを削除します。 ほとんどのターゲットにおいて、それは名前が \fBL\fR で始まる すべてのローカルシンボルです。 .IP "\fB\-y\fR \fIsymbol\fR" 4 .IX Item "-y symbol" .PD 0 .IP "\fB\-\-trace\-symbol=\fR\fIsymbol\fR" 4 .IX Item "--trace-symbol=symbol" .PD リンクされたファイルのうち、\fIsymbol\fR が現れるファイル名を表示します。 このオプションは何度でも指定できます。 多くのシステム上では、シンボル名の前にアンダスコアを つける必要があるでしょう。 .Sp このオプションは、リンク中に未定義シンボルが発見されたが、 それがどこから参照されているのかがわからない場合に役に立ちます。 .IP "\fB\-Y\fR \fIpath\fR" 4 .IX Item "-Y path" デフォルトのライブラリ検索パスに \fIpath\fR を追加します。 このオプションは、Solaris との互換性のために存在します。 .IP "\fB\-z\fR \fIkeyword\fR" 4 .IX Item "-z keyword" 認識されるキーワードは、\f(CW\*(C`initfirst\*(C'\fR, \&\f(CW\*(C`interpose\*(C'\fR, \f(CW\*(C`loadfltr\*(C'\fR, \&\f(CW\*(C`nodefaultlib\*(C'\fR, \f(CW\*(C`nodelete\*(C'\fR, \&\f(CW\*(C`nodlopen\*(C'\fR, \f(CW\*(C`nodump\*(C'\fR, \&\f(CW\*(C`now\*(C'\fR, \f(CW\*(C`origin\*(C'\fR, \&\f(CW\*(C`combreloc\*(C'\fR, \f(CW\*(C`nocombreloc\*(C'\fR, \&\f(CW\*(C`nocopyreloc\*(C'\fR です。 他のキーワードは、Solaris との互換性のために無視されます。 \&\f(CW\*(C`initfirst\*(C'\fR は、実行時にそのオブジェクトが 他のオブジェクトよりも先に初期化されるという印を付けます。 \&\f(CW\*(C`interpose\*(C'\fR は、主実行形式以外のすべてのシンボルの前に、 そのオブジェクトのシンボルテーブルを挿入するという印を付けます。 \&\f(CW\*(C`loadfltr\*(C'\fR は、実行時にそのオブジェクトのフィルタが 直ちに実行されるという印を付けます。 \&\f(CW\*(C`nodefaultlib\*(C'\fR は、このオブジェクトの依存関係を検索する際、 デフォルトのライブラリ検索パスを無視するという印を付けます。 \&\f(CW\*(C`nodelete\*(C'\fR は、そのオブジェクトが実行時に アンロードされないという印を付けます。 \&\f(CW\*(C`nodlopen\*(C'\fR は、そのオブジェクトに \&\f(CW\*(C`dlopen\*(C'\fR を適用できないという印を付けます。 \&\f(CW\*(C`nodump\*(C'\fR は、そのオブジェクトが \&\f(CW\*(C`dldump\*(C'\fR によってダンプできないという印を付けます。 \&\f(CW\*(C`now\*(C'\fR は、そのオブジェクトが 実行時遅延バインディングではないという印を付けます。 \&\f(CW\*(C`origin\*(C'\fR は、そのオブジェクトが \f(CW$ORIGIN\fR を 含んでいるかもしれないという印を付けます。 \&\f(CW\*(C`defs\*(C'\fR は、未定義シンボルを許可しません。 \&\f(CW\*(C`muldefs\*(C'\fR は複数回の定義を許可します。 \&\f(CW\*(C`combreloc\*(C'\fR は、複数の再配置可能セクションを結合し、 ソートして、動的シンボル検索のキャッシュを可能にします。 \&\f(CW\*(C`nocombreloc\*(C'\fR は、複数の再配置可能セクションの結合を 無効にします。 \&\f(CW\*(C`nocopyreloc\*(C'\fR は、再配置可能セクションの複製の生成を 無効にします。 .IP "\fB\-(\fR \fIarchives\fR \fB\-)\fR" 4 .IX Item "-( archives -)" .PD 0 .IP "\fB\-\-start\-group\fR \fIarchives\fR \fB\-\-end\-group\fR" 4 .IX Item "--start-group archives --end-group" .PD \&\fIarchives\fR は、アーカイブファイルのリストを指定します。 これらはファイル名そのものでも、\fB\-l\fR オプションでも構いません。 .Sp 指定されたアーカイブは、新たな未定義参照がなくなるまで繰返し検索されます。 通常、アーカイブは、コマンドラインで指定された順番で 1 回だけ検索されます。 そのアーカイブ中のシンボルが、コマンドライン上の後ろに現れた アーカイブ中のオブジェクトが参照する未定義シンボルを 解決するのに必要な場合、リンカはその参照を解決することができません。 アーカイブをグループ化すると、すべての可能な参照が解決されるまで、 それらのすべてのアーカイブは繰返し検索されます。 .Sp このオプションを使用すると、パフォーマンスが大きく落ちます。 これを使うのは、2 つ以上のアーカイブ中で、参照の循環が避けられない 場合のみに使用するのがよいでしょう。 .IP "\fB\-assert\fR \fIkeyword\fR" 4 .IX Item "-assert keyword" このオプションは、SunOS との互換性のために無視されます。 .IP "\fB\-Bdynamic\fR" 4 .IX Item "-Bdynamic" .PD 0 .IP "\fB\-dy\fR" 4 .IX Item "-dy" .IP "\fB\-call_shared\fR" 4 .IX Item "-call_shared" .PD 動的ライブラリとリンクします。 これは、共有ライブラリをサポートするプラットフォーム上でのみ 意味を持ちます。 このオプションは、そのようなプラットフォーム上では、 普通デフォルトとなっています。 このオプションに異なる形式があるのは、様々なシステムとの互換性のためです。 このオプションは、コマンド上で何度でも使用することができます。 これは後に続く \fB\-l\fR オプションのライブラリ検索に影響します。 .IP "\fB\-Bgroup\fR" 4 .IX Item "-Bgroup" 動的セクション中の \f(CW\*(C`DT_FLAGS_1\*(C'\fR エントリの \&\f(CW\*(C`DF_1_GROUP\*(C'\fR フラグを設定します。 これによって、動的リンカがこのオブジェクトとその依存関係の検索を グループ内でのみ実行するようになります。 \&\fB\-\-no\-undefined\fR が暗黙に指定されます。 このオプションは、共有ライブラリをサポートする \&\s-1ELF\s0 プラットホーム上でのみ意味を持ちます。 .IP "\fB\-Bstatic\fR" 4 .IX Item "-Bstatic" .PD 0 .IP "\fB\-dn\fR" 4 .IX Item "-dn" .IP "\fB\-non_shared\fR" 4 .IX Item "-non_shared" .IP "\fB\-static\fR" 4 .IX Item "-static" .PD 共有ライブラリをリンクしません。 これは、共有ライブラリをサポートするプラットフォーム上でのみ 意味を持ちます。 このオプションに異なる形式があるのは、様々なシステムとの互換性のためです。 このオプションは、コマンドライン上で何度でも使用することができます。 これは後に続く \fB\-l\fR オプションのライブラリ検索に影響します。 .IP "\fB\-Bsymbolic\fR" 4 .IX Item "-Bsymbolic" 共有ライブラリを生成する際に、その共有ライブラリ中に定義があれば、 グローバルシンボルへの参照をその定義に結びつけます。 通常、共有ライブラリをリンクしたプログラムは、 その共有ライブラリ中の定義を上書きできます。 このオプションは、共有ライブラリをサポートする \&\s-1ELF\s0 プラットホーム上でのみ意味を持ちます。 .IP "\fB\-\-check\-sections\fR" 4 .IX Item "--check-sections" .PD 0 .IP "\fB\-\-no\-check\-sections\fR" 4 .IX Item "--no-check-sections" .PD セクションアドレスが割り当てられた後、それらのアドレスが重なって いないかどうかのチェックをしないようリンカに指示します。 通常、リンカはチェックを行い、重なりを発見した時は 適切なエラーメッセージを出力します。 リンカは、オーバレイセクションのことを知っており、 それを生成することを許可します。 コマンドラインスイッチ \fB\-\-check\-sections\fR を使用することで、 デフォルトの動作に戻せます。 .IP "\fB\-\-cref\fR" 4 .IX Item "--cref" 相互参照テーブルを出力します。 リンカマップファイルが生成される場合、 相互参照テーブルはマップファイルに出力されます。 それ以外の場合、標準出力に出力されます。 .Sp テーブル形式は、意図的に簡単にしているので、 必要な場合はスクリプトで簡単に処理することができます。 シンボルは、名前でソートされて出力されます。 それぞれのシンボル毎に、ファイル名がリストされます。 シンボルが定義されている場合は、リストの最初のファイルに その定義が含まれています。 残りのファイルは、そのシンボルへの参照を含んでいます。 .IP "\fB\-\-no\-define\-common\fR" 4 .IX Item "--no-define-common" このオプションは、コモンシンボルへのアドレス割り当てを抑制します。 スクリプトコマンド \f(CW\*(C`INHIBIT_COMMON_ALLOCATION\*(C'\fR は、 同じ効果を持ちます。 .Sp \&\fB\-\-no\-define\-common\fR オプションは、コモンシンボルへアドレスを 割り当てる判断を、出力ファイルのタイプの選択から切り離します。 このオプションを指定しない場合は、再配置不可の出力タイプによって、 アドレスは強制的にコモンシンボルへ割り当てられます。 \&\fB\-\-no\-define\-common\fR を使用することにより、共有ライブラリから 参照されるコモンシンボルは、主プログラムのアドレスのみに割り当てられます。 このオプションは、共有ライブラリ中の重複した未使用領域を削除します。 また、動的シンボル解決するために特殊な検索パスを持つたくさんの 動的モジュールがある場合、間違った重複を解決する際に起こり得る混乱を 防ぎます。 .IP "\fB\-\-defsym\fR \fIsymbol\fR\fB=\fR\fIexpression\fR" 4 .IX Item "--defsym symbol=expression" \&\fIexpression\fR で指定される絶対アドレスを含んだ グローバルシンボルを、出力ファイルに生成します。 複数のシンボルを定義するために、コマンドライン上で必要な回数だけ このオプションを使用できます。 \&\fIexpression\fR には、限定された形式の算術演算がサポートされてます。 16 進定数や存在するシンボル名が使用でき、 16 進定数やシンボルの加減算に \f(CW\*(C`+\*(C'\fR や \f(CW\*(C`\-\*(C'\fR を 使用できます。 もっと複雑な式が必要であれば、スクリプトからリンカのコマンド言語を 使用することを検討してください。 \&\fI注意:\fR \fIsymbol\fR や等号 (``\fB=\fR'')、\fIexpression\fR の間に 空白を入れてはいけません。 .IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4 .IX Item "--demangle[=style]" .PD 0 .IP "\fB\-\-no\-demangle\fR" 4 .IX Item "--no-demangle" .PD これらのオプションは、エラーメッセージやその他の出力に含まれる シンボル名をデマングルするかどうかを制御します。 デマングルする場合、リンカはシンボル名を読みやすい形式で 表現しようと試みます。 つまりリンカは、先頭のアンダスコアがオブジェクトファイル形式で 使用されていた場合、それを取り除き、\*(C+ のマングルされたシンボル名を ユーザが読みやすい名前に変換します。 コンパイラによってマングル形式は異なります。 デマングル形式引数を指定することにより、使用しているコンパイラに対応した デマングル形式を選択できます。 リンカは、環境変数 \fB\s-1COLLECT_NO_DEMANGLE\s0\fR が設定されていない限り、 デフォルトでデマングルします。 これらのオプションによって、デフォルトを上書きできます。 .IP "\fB\-\-dynamic\-linker\fR \fIfile\fR" 4 .IX Item "--dynamic-linker file" 動的リンカの名前を設定します。 これは、動的にリンクされる \s-1ELF\s0 実行形式を生成する時のみ 意味があります。 通常は、デフォルトの動的リンカで正しいはずです。 自分が何をしようとしているのかがわかってる場合以外は、 使用しないでください。 .IP "\fB\-\-embedded\-relocs\fR" 4 .IX Item "--embedded-relocs" このオプションは、\s-1GNU\s0 コンパイラとアセンブラに \-membedded\-pic オプションを指定して生成した \s-1MIPS\s0 の埋め込み \s-1PIC\s0 コードを リンクする時のみ意味があります。 これを指定すると、リンカはあるテーブルを生成します。 このテーブルは、ポインタの値に静的に初期化されているすべてのデータを、 実行時に再配置するために使われます。 詳細は、testsuite/ld\-empic のコードを参照してください。 .IP "\fB\-\-fatal\-warnings\fR" 4 .IX Item "--fatal-warnings" すべての警告を、エラーとして扱います。 .IP "\fB\-\-force\-exe\-suffix\fR" 4 .IX Item "--force-exe-suffix" 出力ファイルのサフィックスが .exe となるようにします。 .Sp このオプションを指定すると、無事に生成され完全にリンクされた 出力ファイルに \f(CW\*(C`.exe\*(C'\fR や \f(CW\*(C`.dll\*(C'\fR という サフィックスがついていなかった場合、リンカは出力ファイルを、同じ名前に \&\f(CW\*(C`.exe\*(C'\fR サフィックスをつけたファイルにコピーします。 このオプションは、Microsoft Windows ホスト上で、 未修正の Unix 用の makefile を使用する場合に便利です。 というのも、Windows のいくつかのバージョンでは、 \&\f(CW\*(C`.exe\*(C'\fR サフィックスがついていないイメージを 実行できないからです。 .IP "\fB\-\-no\-gc\-sections\fR" 4 .IX Item "--no-gc-sections" .PD 0 .IP "\fB\-\-gc\-sections\fR" 4 .IX Item "--gc-sections" .PD 未使用の入力セクションのガーベージコレクションを有効にします。 このオプションをサポートしていないターゲット上では無視されます。 このオプションは、\fB\-r\fR とは互換性がありませんし、 動的リンクと一緒に使うべきでもありません。 デフォルトの動作 (ガーベージコレクションを実行しない) に戻すには、 コマンドラインで \fB\-\-no\-gc\-sections\fR を指定してください。 .IP "\fB\-\-help\fR" 4 .IX Item "--help" コマンドラインオプションの概要を標準出力に表示し、終了します。 .IP "\fB\-\-target\-help\fR" 4 .IX Item "--target-help" ターゲット固有のオプションの要約を標準出力に表示し、終了します。 .IP "\fB\-Map\fR \fImapfile\fR" 4 .IX Item "-Map mapfile" リンクマップをファイル \fImapfile\fR へ出力します。 前出の \fB\-M\fR オプションの記述を参照してください。 .IP "\fB\-\-no\-keep\-memory\fR" 4 .IX Item "--no-keep-memory" 通常 \fBld\fR は、入力ファイルのシンボルテーブルをメモリに キャッシュすることで、メモリ使用量よりも速度を優先します。 このオプションを指定すると、\fBld\fR は、必要に応じて シンボルテーブルを読むことで、メモリ使用量を最小にします。 これは、大きな実行形式をリンクする際に、\fBld\fR が メモリ空間を使い果たしてしまうような場合に必要となります。 .IP "\fB\-\-no\-undefined\fR" 4 .IX Item "--no-undefined" .PD 0 .IP "\fB\-z defs\fR" 4 .IX Item "-z defs" .PD 通常、非シンボル的共有ライブラリを作成する場合、 未定義シンボルはそのまま置いておかれ、実行時ローダによって解決されます。 これらのオプションは、そのような未定義シンボルを許しません。 .IP "\fB\-\-allow\-multiple\-definition\fR" 4 .IX Item "--allow-multiple-definition" .PD 0 .IP "\fB\-z muldefs\fR" 4 .IX Item "-z muldefs" .PD 通常、シンボルが複数回定義されると、リンカは致命的なエラーを報告します。 これらのオプションは複数回の定義を許し、最初の定義を使用するようになります。 .IP "\fB\-\-allow\-shlib\-undefined\fR" 4 .IX Item "--allow-shlib-undefined" \&\-\-no\-undefined が設定されていても、共有オブジェクト中の 未定義シンボルを許可します。 この実際の結果は、通常のオブジェクト中の未定義シンボルはエラーを 引き起こしますが、共有オブジェクト中の未定義シンボルは無視されます。 no_undefined の実装は、未定義シンボルによって動的リンカが 詰まってしまうことを想定しています。 しかし、共有ライブラリに未定義シンボルが含まれてるのが正常である システムが、少なくとも 1 つ (BeOS) あります。 このシステムでは、現在のアーキテクチャに最も適切な関数を選択するよう、 ロード時にカーネルがパッチを当てます。 つまり、最も適切な memset 関数を動的に選択するのです。 どうやら \s-1HPPA\s0 共有ライブラリに未定義シンボルが含まれるのも 普通のことのようです。 +.IP "\fB\-\-no\-undefined\-version\fR" 4 +.IX Item "--no-undefined-version" +通常は、シンボルが未定義バージョンを持つ場合、リンカはこれを無視します。 +このオプションは、未定義バージョンのシンボルを許さず、 +代りに致命的なエラーを報告します。 .IP "\fB\-\-no\-warn\-mismatch\fR" 4 .IX Item "--no-warn-mismatch" 通常 \fBld\fR は、不適当な入力ファイルをリンクしようとした場合、 エラーを発します。 例えば、異なるプロセッサ向け、もしくは異なるエンディアン向けに コンパイルされたものであるという場合です。 このオプションを指定すると、\fBld\fR は、このような起き得るエラーを だまって許可します。 このオプションは、リンカのエラーが適切でないと分かっている 特殊なことした時のみ使用し、使用の際には注意しなくてはなりません。 .IP "\fB\-\-no\-whole\-archive\fR" 4 .IX Item "--no-whole-archive" 以後に続くアーカイブファイルに対して、 \&\fB\-\-whole\-archive\fR オプションの効果を無効にします。 .IP "\fB\-\-noinhibit\-exec\fR" 4 .IX Item "--noinhibit-exec" 利用可能ならいつも、実行形式の出力ファイルを残しておきます。 普通リンカは、リンク処理中にエラーが発生した場合、 出力ファイルを生成しません。 どんなエラーが発生しても、出力ファイルを書かずに終了します。 .IP "\fB\-nostdlib\fR" 4 .IX Item "-nostdlib" コマンドライン上で明示的に指定されたライブラリディレクトリのみを検索します。 リンカスクリプト中で指定されたライブラリディレクトリは、 (コマンドライン上で指定されたリンカスクリプトであっても) 無視されます。 .IP "\fB\-\-oformat\fR \fIoutput-format\fR" 4 .IX Item "--oformat output-format" \&\fBld\fR は、2 種類以上のオブジェクトファイルをサポートするように 構成することができます。 \&\fBld\fR がそのように構成されていた場合、\fB\-\-oformat\fR オプションを 用いて、出力ファイルのバイナリ形式を指定することができます。 しかし \fBld\fR が別のオブジェクト形式をサポートするよう 構成されていたとしても、通常はこのオプションを指定する必要はありません。 というのも、\fBld\fR は、それぞれのマシン上で最もありふれた形式を デフォルトの出力形式とするよう構成されているはずだからです。 \&\fIoutput-format\fR はテキスト文字列で、\s-1BFD\s0 ライブラリによって サポートされている特定の形式の名前です (\fBobjdump \-i\fR を用いて、利用可能なバイナリ形式をリストできます)。 スクリプトコマンド \f(CW\*(C`OUTPUT_FORMAT\*(C'\fR でも、出力形式を 指定することができますが、このオプションによって上書きされます。 .IP "\fB\-qmagic\fR" 4 .IX Item "-qmagic" このオプションは、Linux 互換性のために無視されます。 .IP "\fB\-Qy\fR" 4 .IX Item "-Qy" このオプションは、\s-1SVR4\s0 互換性のために無視されます。 .IP "\fB\-\-relax\fR" 4 .IX Item "--relax" マシン依存の効果を持つオプションです。 このオプションをサポートしているターゲットは、少数です。 .Sp いくつかのプラットホームでは、\fB\-\-relax\fR オプションは、 リンカがプログラム中のアドレッシングを解決できる場合に可能となる 大域的な最適化を実行します。 これは、出力オブジェクトファイル中のアドレスモードの緩和や、 新規命令の合成などです。 .Sp いくつかのプラットホーム上では、このようなリンク時の大域的な最適化によって、 生成された実行形式のシンボリックデバッグが不可能となる場合があります。 不可能になることが知られているのは、松下の \s-1MN10200\s0 や \&\s-1MN10300\s0 プロセッサファミリです。 .Sp これがサポートされていないプラットホームでは、 \&\fB\-\-relax\fR は受け付けられますが、無視されます。 .IP "\fB\-\-retain\-symbols\-file\fR \fIfilename\fR" 4 .IX Item "--retain-symbols-file filename" ファイル \fIfilename\fR 中にリストされたシンボルのみを残し、 他のシンボルをすべて破棄します。 \&\fIfilename\fR は、1 行毎に 1 つのシンボル名が書いてある 単なる平坦なファイルです。 このオプションは特に、実行時のメモリを節約するために、 1 つの大きい大域的なシンボルテーブルが徐々に増えていく (VxWorks のような) 環境で役にたちます。 .Sp \&\fB\-\-retain\-symbols\-file\fR は、未定義シンボルや 再配置に必要なシンボルは廃棄しません。 .Sp \&\fB\-\-retain\-symbols\-file\fR は、 コマンドライン上で 1 回しか指定することができません。 これは、\fB\-s\fR や \fB\-S\fR を無効にします。 .IP "\fB\-rpath\fR \fIdir\fR" 4 .IX Item "-rpath dir" 実行時ライブラリ検索パスへディレクトリを追加します。 これは、\s-1ELF\s0 実行形式を共有オブジェクトとリンクする時に 使用されます。 すべての \fB\-rpath\fR の引数は結合され、動的リンカに渡されます。 動的リンカは、これらを用いて実行時に共有オブジェクトを検索します。 \&\fB\-rpath\fR オプションは、明示的にリンクされる共有オブジェクトによって 必要とされる共有オブジェクトを検索するのにも使用されます。 これについては、\fB\-rpath\-link\fR オプションの記述を参照してください。 \&\s-1ELF\s0 実行形式をリンクする時に \fB\-rpath\fR が使用されてない場合、 環境変数 \f(CW\*(C`LD_RUN_PATH\*(C'\fR の内容が定義されていれば、 それが使われます。 .Sp \&\fB\-rpath\fR オプションは、SunOS 上でも使用されます。 SunOS 上ではデフォルトで、リンカは指定されたすべての \&\fB\-L\fR オプションから実行時検索パスを作成します。 \&\fB\-rpath\fR オプションが指定された場合、実行時検索パスは \fB\-L\fR オプションを無視し、\fB\-rpath\fR オプションのみを用いて作成されます。 このオプションは、gcc を使用する時に役に立ちます。 というのは、gcc は沢山の \fB\-L\fR オプションを追加し、それは \&\s-1NFS\s0 マウントされたファイルシステム上にあるかもしれないからです。 .Sp 他の \s-1ELF\s0 リンカとの互換性のために、\fB\-R\fR オプションの後に ファイル名ではなくディレクトリ名が続いた場合、 \&\fB\-rpath\fR オプションとして扱われます。 .IP "\fB\-rpath\-link\fR \fI\s-1DIR\s0\fR" 4 .IX Item "-rpath-link DIR" \&\s-1ELF\s0 もしくは SunOS を使用した場合、ある共有ライブラリが もう 1 つ別の共有ライブラリを要求することがあります。 これは、\f(CW\*(C`ld \-shared\*(C'\fR としてリンクした時、 入力ファイルの 1 つに共有ライブラリが含まれている場合に起こります。 .Sp 非共有、再配置不可のリンクを行う時にリンカがそのような依存性に出合うと、 それが明示的にリンクされてない場合、リンカは要求された共有ライブラリを 自動的に探し、リンクに含めようとします。 そのような場合、\fB\-rpath\-link\fR オプションは、検索する最初の ディレクトリの組を指定します。 \&\fB\-rpath\-link\fR オプションで一連のディレクトリ名を指定するには、 コロン区切りの名前のリストで指定してもいいですし、 複数回オプションを指定しても構いません。 .Sp このオプションは注意深く使用しなければなりません。 というのも、これはコンパイル時に共有ライブラリに埋め込まれた 検索パスを上書きしてしまうからです。 そのような場合、動的リンカが使用するのとは違った検索パスが、 意図せずに使用されてしまうことがあります。 .Sp リンカは、要求された共有ライブラリを探す際に以下の検索パスを使用します。 .RS 4 .IP "1." 4 \&\fB\-rpath\-link\fR オプションによって指定されたすべてのディレクトリ。 .IP "2." 4 \&\fB\-rpath\fR オプションで指定されたすべてのディレクトリ。 \&\fB\-rpath\fR と \fB\-rpath\-link\fR の違いは、\fB\-rpath\fR オプションで 指定されたディレクトリは、実行形式に含められ実行時に使用されますが、 \&\fB\-rpath\-link\fR オプションは、リンク時にのみ影響します。 これは、ネイティブのリンカ専用です。 .IP "3." 4 \&\s-1ELF\s0 システム上で \fB\-rpath\fR もしくは \&\f(CW\*(C`rpath\-link\*(C'\fR オプションが使われなかった場合、 環境変数 \f(CW\*(C`LD_RUN_PATH\*(C'\fR の内容が検索されます。 これは、ネイティブのリンカ専用です。 .IP "4." 4 SunOS 上で \fB\-rpath\fR が使われなかった場合、 \&\fB\-L\fR オプションで指定されたすべてのディレクトリが検索されます。 .IP "5." 4 ネイティブのリンカの場合、環境変数 \f(CW\*(C`LD_LIBRARY_PATH\*(C'\fR の内容。 .IP "6." 4 ネイティブの \s-1ELF\s0 リンカの場合、共有ライブラリの \&\f(CW\*(C`DT_RUNPATH\*(C'\fR もしくは \f(CW\*(C`DT_RPATH\*(C'\fR 中の ディレクトリが、必要とされる共有ライブラリの検索に使用されます。 \&\f(CW\*(C`DT_RUNPATH\*(C'\fR エントリが存在した場合、 \&\f(CW\*(C`DT_RPATH\*(C'\fR エントリは無視されます。 .IP "7." 4 デフォルトのディレクトリ。 通常、\fI/lib\fR と \fI/usr/lib\fR です。 .IP "8." 4 \&\s-1ELF\s0 システム上のネイティブなリンカの場合、 ファイル \fI/etc/ld.so.conf\fR が存在していたら、 そのファイル中のディレクトリのリスト。 .RE .RS 4 .Sp 要求された共有ライブラリが見つからない場合、 リンカは警告を出しリンクを継続します。 .RE .IP "\fB\-shared\fR" 4 .IX Item "-shared" .PD 0 .IP "\fB\-Bshareable\fR" 4 .IX Item "-Bshareable" .PD 共有ライブラリを作成します。 現在これは、\s-1ELF\s0, \s-1XCOFF\s0, SunOS 上のみでサポートされています。 SunOS 上では、\fB\-e\fR オプションが使用されておらず、リンク時に 未定義シンボルが存在していれば、リンカは自動的に共有ライブラリを作成します。 .IP "\fB\-\-sort\-common\fR" 4 .IX Item "--sort-common" このオプションを指定すると、\fBld\fR は、コモンシンボルを 適切な出力セクションに配置する際にサイズでソートします。 最初にすべての 1 バイトのシンボルが配置され、次にすべての 2 バイトのシンボル、 そしてすべての 4 バイトのシンボル、そしてその他のシンボルが配置されます。 このようにするのは、アラインメントの制約によってシンボルの間に 隙間が生じるのを防ぐためです。 .IP "\fB\-\-split\-by\-file [\fR\fIsize\fR\fB]\fR" 4 .IX Item "--split-by-file [size]" \&\fB\-\-split\-by\-reloc\fR と同じですが、各々の入力ファイルに対し、 \&\fIsize\fR に達するたびに新しい出力セクションを作成します。 \&\fIsize\fR が指定されなかった場合、デフォルトのサイズは 1 です。 .IP "\fB\-\-split\-by\-reloc [\fR\fIcount\fR\fB]\fR" 4 .IX Item "--split-by-reloc [count]" ファイル中の 1 つの出力セクションが、\fIcount\fR より多い再配置情報を 含まないよう、出力ファイル中に余分なセクションを作成しようとします。 これは、\s-1COFF\s0 オブジェクト形式のリアルタイムカーネルに ダウンロードするための巨大な再配置可能ファイルを作成する時に役に立ちます。 というのも、\s-1COFF\s0 では 1 つのセクションは 65535 を越える 再配置情報を表現することができないからです。 このオプションは、任意のセクションをサポートしていない オブジェクトファイル形式では、うまくいかないことに注意してください。 リンカは、分配し直す際に個々の入力セクションを分割しないので、 1 つの入力セクションが \fIcount\fR を越える再配置情報を含んでいる場合、 1 つの出力セクションには、それだけの数の再配置情報を含むことになります。 \&\fIcount\fR のデフォルト値は 32768 です。 .IP "\fB\-\-stats\fR" 4 .IX Item "--stats" 実行時間やメモリ使用量などといったリンカの処理に関する統計情報を、 計算し出力します。 .IP "\fB\-\-traditional\-format\fR" 4 .IX Item "--traditional-format" ターゲットによっては、\fBld\fR の出力が既存のリンカの出力と いくつかの点で異なることがあります。 このスイッチを指定すると、 \fBld\fR は既存のリンカの形式を使います。 .Sp 例えば SunOS 上では、\fBld\fR はシンボル文字列テーブル内の 重複したエントリを 1 つにします。 これによって、完全なデバッグ情報を持つ出力ファイルのサイズが、 30% 以上も小さくなります。 残念なことに、SunOS の \f(CW\*(C`dbx\*(C'\fR プログラムは、 生成されたファイルを読み込むことができません (\f(CW\*(C`gdb\*(C'\fR では問題ありません)。 \&\fB\-\-traditional\-format\fR スイッチを指定すると、 重複したエントリを 1 つにまとめません。 .IP "\fB\-\-section\-start\fR \fIsectionname\fR\fB=\fR\fIorg\fR" 4 .IX Item "--section-start sectionname=org" 出力ファイル中のセクションを、\fIorg\fR で指定された絶対アドレスに 配置します。 複数のセクションを配置させる場合、このオプションは、 必要に応じてコマンドライン中に何度でも指定することができます。 \&\fIorg\fR は、単独の 16 進数でなければなりません。 他のリンカとの互換性のために、16 進数の先頭に通常つける \fB0x\fR を 省略することができます。 \&\fIsectionname\fR と等号 (``\fB=\fR'')、\fIorg\fR の間には 空白をはさむことができないことに注意してください。 .IP "\fB\-Tbss\fR \fIorg\fR" 4 .IX Item "-Tbss org" .PD 0 .IP "\fB\-Tdata\fR \fIorg\fR" 4 .IX Item "-Tdata org" .IP "\fB\-Ttext\fR \fIorg\fR" 4 .IX Item "-Ttext org" .PD \&\fIorg\fR を、出力ファイル中の \f(CW\*(C`bss\*(C'\fR、 \&\f(CW\*(C`data\*(C'\fR、 \f(CW\*(C`text\*(C'\fR セグメントの \&\-\-\- それぞれ \-\-\- の開始アドレスとします。 \&\fIorg\fR は、単独の 16 進数でなければなりません。 他のリンカとの互換性のために、16 進数の先頭に通常つける \fB0x\fR を 省略することができます。 .IP "\fB\-\-dll\-verbose\fR" 4 .IX Item "--dll-verbose" .PD 0 .IP "\fB\-\-verbose\fR" 4 .IX Item "--verbose" .PD \&\fBld\fR のバージョン番号と、サポートしているリンカエミュレーションの 一覧を表示します。 また、どの入力ファイルがオープンできて、 どの入力ファイルがオープンできないのかも表示します。 さらに、使用されるリンカスクリプトも表示します。 .IP "\fB\-\-version\-script=\fR\fIversion-scriptfile\fR" 4 .IX Item "--version-script=version-scriptfile" リンカに、バージョンスクリプト名を指定します。 これは通常、共有ライブラリを生成する際に使われ、生成するライブラリの バージョン階層についての付加的な情報を指定します。 このオプションは、共有ライブラリをサポートする \s-1ELF\s0 プラットフォーム上でのみ意味があります。 .IP "\fB\-\-warn\-common\fR" 4 .IX Item "--warn-common" コモンシンボルが、別の共有シンボルやシンボル定義と結びつけられた時に 警告を出します。 Unix のリンカは、このちょっといい加減な慣習を許していますが、 他のオペレーティングシステム上のリンカは、許していません。 このオプションを指定すると、グローバルシンボルが結びつけられることから来る 潜在的な問題を発見することができます。 残念なことに、C ライブラリの中にはこの慣習を使用しているものがあり、 プログラム中だけでなくライブラリ中のシンボルに対しても、 この警告が出されることがあります。 .Sp グローバルシンボルには 3 種類あります。 以下で C 言語の例を使って説明します。 .RS 4 .IP "\fBint i = 1;\fR" 4 .IX Item "int i = 1;" 定義です。 出力ファイル中の初期化済みデータセクションに置かれます。 .IP "\fBextern int i;\fR" 4 .IX Item "extern int i;" 未定義参照です。 メモリは割り当てられません。 この変数に対する定義かコモンシンボルが、どこかになくてはなりません。 .IP "\fBint i;\fR" 4 .IX Item "int i;" コモンシンボルです。 変数に対して、(1 つもしくは複数の) コモンシンボルしかない場合、 出力ファイルの非初期化データ領域に置かれます。 リンカは、同じ変数に対する複数のコモンシンボルを、1 つのコモンシンボルへと まとめます。 それらのサイズか異なっていた場合、最も大きなサイズの領域が取られます。 同じ変数に対して定義があった場合、リンカは共有シンボルを宣言に変換します。 .RE .RS 4 .Sp \&\fB\-\-warn\-common\fR オプションを指定すると、 リンカは 5 種類の警告を出します。 それぞれの警告は、2 行からなっています。 最初の行は、今出会ったシンボルを説明しており、 次の行は、以前に同じ名前で出会ったシンボルを説明します。 2 つのシンボルの片方、もしくは両方は、コモンシンボルです。 .IP "1." 4 シンボルに対する定義が既に存在するため、 コモンシンボルを参照に変換します。 .Sp .Vb 3 \& (
): warning: common of `' \& overridden by definition \& (
): warning: defined here .Ve .IP "2." 4 シンボルに対する定義が後から現れたため、 コモンシンボルを参照に変換します。 これは上記のケースと同様ですが、シンボルの現れた順番が違います。 .Sp .Vb 3 \& (
): warning: definition of `' \& overriding common \& (
): warning: common is here .Ve .IP "3." 4 コモンシンボルを、既出の同じサイズのコモンシンボルにマージします。 .Sp .Vb 3 \& (
): warning: multiple common \& of `' \& (
): warning: previous common is here .Ve .IP "4." 4 コモンシンボルを、既出の、より大きいコモンシンボルにマージします。 .Sp .Vb 3 \& (
): warning: common of `' \& overridden by larger common \& (
): warning: larger common is here .Ve .IP "5." 4 コモンシンボルを、既出の、より小さいコモンシンボルにマージします。 これは上記のケースと同様ですが、シンボルの現れた順番が違います。 .Sp .Vb 3 \& (
): warning: common of `' \& overriding smaller common \& (
): warning: smaller common is here .Ve .RE .RS 4 .RE .IP "\fB\-\-warn\-constructors\fR" 4 .IX Item "--warn-constructors" グローバルコンストラクタが 1 つでも使われていた場合、警告を出します。 これが役に立つファイル形式はわずかです。 \&\s-1COFF\s0 や \s-1ELF\s0 のような形式では、 リンカはグローバルコンストラクタが使用されていることを検知できません。 .IP "\fB\-\-warn\-multiple\-gp\fR" 4 .IX Item "--warn-multiple-gp" 複数のグローバルポインタ値が出力ファイル中で必要とされる場合、 警告を出します。 このオプションは、Alpha などの特定のプロセッサでのみ意味があります。 具体的に言うと、プロセッサの中には特別なセクション中に 大きな値の定数を置くものがあります。 ある特殊なレジスタ (グローバルポインタ) がこのセクションの中央を 指しており、ベースレジスタ相対のアドレッシングモードを使用して、 定数を効率的に読み込むことができます。 ベースレジスタ相対モードのオフセットが、固定で比較的小さい (例えば 16bit) ため、これによって定数領域の最大サイズが 制限されてしまいます。 従って、大きなプログラムでは、すべての定数を参照するために 複数のグローバルポインタ値を使うことがしばしば必要となります。 このオプションを指定すると、このようなケースが起きた時に警告を出します。 .IP "\fB\-\-warn\-once\fR" 4 .IX Item "--warn-once" それぞれの未定義シンボルに対して、それを参照しているモジュール毎に 警告を出すのではなく、ただ 1 度だけ警告を出します。 .IP "\fB\-\-warn\-section\-align\fR" 4 .IX Item "--warn-section-align" アラインメントによって出力セクションのアドレスが変更された場合、 警告を出します。 一般的には、アラインメントはインプットセクションにより設定されます。 アドレスが変更されるのは、それが明示的に指定されなかった場合だけです。 すなわち、\f(CW\*(C`SECTIONS\*(C'\fR コマンドが、そのセクションの 開始アドレスを指定しなかった場合です。 .IP "\fB\-\-whole\-archive\fR" 4 .IX Item "--whole-archive" コマンドライン上で \fB\-\-whole\-archive\fR オプションの後に 指定された各アーカイブに対して、そのアーカイブファイルの中の必要な オブジェクトファイルだけを検索するのではなく、アーカイブ中の すべてのオブジェクトをリンクに含めます。 これはアーカイブを共有ライブラリに変換する時に普通使用され、 生成する共有ライブラリ中にすべてのオブジェクトを強制的に取り込みます。 このオプションは、2 回以上使用しても構いません。 .Sp このオプションを gcc から使用する際に、2 つ注意することがあります。 1 つめは、gcc はこのオプションを知りません。 ですから、\fB\-Wl,\-whole\-archive\fR と指定しなければなりません。 2 つめは、アーカイブをリストした後 \fB\-Wl,\-no\-whole\-archive\fR を 使うことを忘れないようにしてください。 というのは、gcc は自分でアーカイブのリストをリンクに追加することが あるので、これによる影響を受けないようにする必要があるからです。 .IP "\fB\-\-wrap\fR \fIsymbol\fR" 4 .IX Item "--wrap symbol" \&\fIsymbol\fR に対して、ラッパ関数を使用します。 すべての \fIsymbol\fR への未定義参照は、 \&\f(CW\*(C`_\|_wrap_\f(CIsymbol\f(CW\*(C'\fR へと解決されます。 すべての \f(CW\*(C`_\|_real_\f(CIsymbol\f(CW\*(C'\fR への 未定義参照は、\fIsymbol\fR へと解決されます。 .Sp これによって、システム関数に対するラッパを用意できます。 ラッパ関数は、\f(CW\*(C`_\|_wrap_\f(CIsymbol\f(CW\*(C'\fR という 名前にする必要があります。 ラッパ関数がシステム関数を呼びたい時には、 \&\f(CW\*(C`_\|_real_\f(CIsymbol\f(CW\*(C'\fR を呼び出すようにします。 .Sp 以下に簡単な例を示します: .Sp .Vb 6 \& void * \& __wrap_malloc (int c) \& { \& printf ("malloc called with %ld\en", c); \& return __real_malloc (c); \& } .Ve +.Sp \&\fB\-\-wrap malloc\fR を使用して、このファイルと一緒に他のコードを リンクした場合、すべての \f(CW\*(C`malloc\*(C'\fR 呼び出しは、 関数 \f(CW\*(C`_\|_wrap_malloc\*(C'\fR を代わりに呼び出します。 \&\f(CW\*(C`_\|_wrap_malloc\*(C'\fR 中の \f(CW\*(C`_\|_real_malloc\*(C'\fR が、 本当の \f(CW\*(C`malloc\*(C'\fR 関数を呼び出します。 .Sp 同様にして \f(CW\*(C`_\|_real_malloc\*(C'\fR 関数も用意しておくと、 \&\fB\-\-wrap\fR オプションが指定されなかった場合にもリンクは成功します。 その場合には、\f(CW\*(C`_\|_real_malloc\*(C'\fR の定義を \&\f(CW\*(C`_\|_wrap_malloc\*(C'\fR と同じファイルにおいてはいけません。 このようにすると、リンカがそれを \f(CW\*(C`malloc\*(C'\fR へと ラップする前に、アセンブラがこの呼び出しを解決してしまうかもしれません。 .IP "\fB\-\-enable\-new\-dtags\fR" 4 .IX Item "--enable-new-dtags" .PD 0 .IP "\fB\-\-disable\-new\-dtags\fR" 4 .IX Item "--disable-new-dtags" .PD このリンカは、\s-1ELF\s0 システムの新しい動的タグを生成することができます。 しかし古い \s-1ELF\s0 システムは、それらを理解できない場合があります。 \&\fB\-\-enable\-new\-dtags\fR を指定した場合、 動的タグは必要に応じて作成されます。 \&\fB\-\-disable\-new\-dtags\fR を指定した場合は、 新しい動的タグは作成されません。 デフォルトでは、新しい動的タグは作成されません。 これらのオプションは、\s-1ELF\s0 システム上でのみ利用可能であることに 注意してください。 .PP i386 \s-1PE\s0 リンカは、\fB\-shared\fR オプションをサポートしています。 これを指定すると、通常の実行形式ではなく 動的リンクライブラリ (\s-1DLL\s0) を出力します。 このオプションを使用した時には、名前を \f(CW\*(C`*.dll\*(C'\fR と する必要があります。 それに加え、リンカは標準の \f(CW\*(C`*.def\*(C'\fR ファイルを完全に サポートしており、オブジェクトファイルと同様にリンカのコマンドライン上で 指定できます (実際、シンボルをエクスポートしているアーカイブの前に置いて、通常の オブジェクトファイルと同様にリンクされることを保証する必要があります)。 .PP すべてのターゲットに共通のオプションに加え、i386 \s-1PE\s0 のリンカは、 i386 \s-1PE\s0 ターゲットに固有のコマンドラインオプションを 追加でサポートしています。 値を取るオプションは、1 つの空白か等号で値との間を区切ります。 .IP "\fB\-\-add\-stdcall\-alias\fR" 4 .IX Item "--add-stdcall-alias" このオプションが指定された場合、stdcall サフィックス (@\fInn\fR) を持つ シンボルを、そのままサフィックスを取ってエクスポートします。 .IP "\fB\-\-base\-file\fR \fIfile\fR" 4 .IX Item "--base-file file" \&\fIdlltool\fR を使用して DLL を生成するのに必要なすべての再配置情報の ベースアドレスをセーブするファイル名を \fIfile\fR とします。 .IP "\fB\-\-dll\fR" 4 .IX Item "--dll" 通常の実行形式の代わりに \s-1DLL\s0 を生成します。 \&\fB\-shared\fR を使用することもできますし、指定した \&\f(CW\*(C`.def\*(C'\fR ファイル中で \f(CW\*(C`LIBRARY\*(C'\fR を 使用することもできます。 .IP "\fB\-\-enable\-stdcall\-fixup\fR" 4 .IX Item "--enable-stdcall-fixup" .PD 0 .IP "\fB\-\-disable\-stdcall\-fixup\fR" 4 .IX Item "--disable-stdcall-fixup" .PD 解決不能なシンボルを見つけると、リンカは「曖昧リンク」を試みます。 これは、シンボル名の形式 (cdecl 対 stdcall) だけが異なる別の定義済みの シンボルを探し、一致したものへとリンクすることでシンボルを解決します。 例えば、未定義シンボル \f(CW\*(C`_foo\*(C'\fR は、関数 \&\f(CW\*(C`_foo@12\*(C'\fR へとリンクされ、未定義シンボル \&\f(CW\*(C`_bar@16\*(C'\fR は、関数 \f(CW\*(C`_bar\*(C'\fR へと リンクされるかも知れません。 リンカがこれを行う際に、警告を表示します。 というのは、通常はリンクに失敗するべきであるからです。 しかし、サードパーティの DLL から生成されたインポートライブラリを 使用するのに、この機能が時々必要となることがあります。 \&\fB\-\-enable\-stdcall\-fixup\fR を指定した場合、この機能は 完全に有効化され、警告は出力されません。 \&\fB\-\-disable\-stdcall\-fixup\fR を指定した場合、この機能は 無効化され、そのような不一致はエラーとみなされます。 .IP "\fB\-\-export\-all\-symbols\fR" 4 .IX Item "--export-all-symbols" このオプションが指定されると、\s-1DLL\s0 を構築するのに使われる オブジェクト中のすべてのグローバルシンボルが、\s-1DLL\s0 によって エクスポートされます。 これは、こうしなければエクスポートされるシンボルが全くない場合、 デフォルトとなることに注意してください。 シンボルが \s-1DEF\s0 ファイルによって明示的にエクスポートされる場合や 関数属性によって暗黙にエクスポートされる場合は、このオプションが 指定されない限り、デフォルトでは他には何もエクスポートされません。 シンボル \f(CW\*(C`DllMain@12\*(C'\fR, \f(CW\*(C`DllEntryPoint@0\*(C'\fR, \&\f(CW\*(C`DllMainCRTStartup@12\*(C'\fR, \f(CW\*(C`impure_ptr\*(C'\fR は、 自動的にはエクスポートされません。 他の DLL からインポートされたシンボルも、再びエクスポートされませんし、 \&\f(CW\*(C`_head_\*(C'\fR で始まったり \f(CW\*(C`_iname\*(C'\fR で 終るような、DLL の内部レイアウトを指定するシンボルもエクスポートされません。 さらに、\f(CW\*(C`libgcc\*(C'\fR, \f(CW\*(C`libstd++\*(C'\fR, \&\f(CW\*(C`libmingw32\*(C'\fR, \f(CW\*(C`crtX.o\*(C'\fR からの シンボルもエクスポートされません。 \&\f(CW\*(C`_\|_rtti_\*(C'\fR や \f(CW\*(C`_\|_builtin_\*(C'\fR で 始まる名前のシンボルも、\*(C+ DLL のためにエクスポートされません。 最後に、エクスポートされない Cygwin の非公開シンボルの 拡張されたリストもあります (明らかに、これは Cygwin ターゲット用の DLL を構築する時に適用されます)。 これら Cygwin の除外されるシンボルは以下の通りです。 \&\f(CW\*(C`_cygwin_dll_entry@12\*(C'\fR, \&\f(CW\*(C`_cygwin_crt0_common@8\*(C'\fR, \&\f(CW\*(C`_cygwin_noncygwin_dll_entry@12\*(C'\fR, \&\f(CW\*(C`_fmode\*(C'\fR, \f(CW\*(C`_impure_ptr\*(C'\fR, \&\f(CW\*(C`cygwin_attach_dll\*(C'\fR, \f(CW\*(C`cygwin_premain0\*(C'\fR, \&\f(CW\*(C`cygwin_premain1\*(C'\fR, \f(CW\*(C`cygwin_premain2\*(C'\fR, \&\f(CW\*(C`cygwin_premain3\*(C'\fR そして \f(CW\*(C`environ\*(C'\fR です。 .IP "\fB\-\-exclude\-symbols\fR \fIsymbol\fR\fB,\fR\fIsymbol\fR\fB,...\fR" 4 .IX Item "--exclude-symbols symbol,symbol,..." 自動的にエクスポートすべきではないシンボルのリストを指定します。 それらのシンボル名は、コンマもしくはコロンで区切られます。 .IP "\fB\-\-exclude\-libs\fR \fIlib\fR\fB,\fR\fIlib\fR\fB,...\fR" 4 .IX Item "--exclude-libs lib,lib,..." シンボルを自動的にエクスポートしないアーカイブライブラリのリストを指定します。 ライブラリ名はコンマかコロンで区切ります。 \&\f(CW\*(C`\-\-exclude\-libs ALL\*(C'\fR と指定すると、 自動エクスポートのすべてのアーカイブライブラリからシンボルを除去します。 明示的に .def ファイルにリストされたシンボルは、本オプションにかかわらず、 依然としてエクスポートされます。 .IP "\fB\-\-file\-alignment\fR" 4 .IX Item "--file-alignment" ファイルのアラインメントを指定します。 ファイル中のセクションは、常にこの倍数のファイルオフセットから 始まります。 デフォルトは 512 です。 .IP "\fB\-\-heap\fR \fIreserve\fR" 4 .IX Item "--heap reserve" .PD 0 .IP "\fB\-\-heap\fR \fIreserve\fR\fB,\fR\fIcommit\fR" 4 .IX Item "--heap reserve,commit" .PD このプログラムのヒープ領域に使うために予約する (オプションでコミットする) メモリ量を指定します。 デフォルトでは 1Mb が予約され、4K がコミットされます。 .IP "\fB\-\-image\-base\fR \fIvalue\fR" 4 .IX Item "--image-base value" プログラムもしくは DLL のベースアドレスとして、\fIvalue\fR を使用します。 これは、プログラムもしくは DLL がロードされた時に使われる、 最も低位のメモリ位置となります。 再配置する必要性を軽減し、DLL の性能を向上させるため、各 DLL は 一意なベースアドレスを持ち、他の DLL と重ならないようにすべきです。 デフォルトでは、実行形式は 0x400000 で、DLL は 0x10000000 です。 .IP "\fB\-\-kill\-at\fR" 4 .IX Item "--kill-at" このオプションが指定されると、stdcall のサフィックス (@\fInn\fR) は、 エクスポートされる前にシンボルから取り除かれます。 .IP "\fB\-\-major\-image\-version\fR \fIvalue\fR" 4 .IX Item "--major-image-version value" 「イメージバージョン」のメジャーナンバを設定します。 デフォルトは 1 です。 .IP "\fB\-\-major\-os\-version\fR \fIvalue\fR" 4 .IX Item "--major-os-version value" 「OS バージョン」のメジャーナンバを設定します。 デフォルトは 4 です。 .IP "\fB\-\-major\-subsystem\-version\fR \fIvalue\fR" 4 .IX Item "--major-subsystem-version value" 「サブシステムバージョン」のメジャーナンバを設定します。 デフォルトは 4 です。 .IP "\fB\-\-minor\-image\-version\fR \fIvalue\fR" 4 .IX Item "--minor-image-version value" 「イメージバージョン」のマイナナンバを設定します。 デフォルトは 0 です。 .IP "\fB\-\-minor\-os\-version\fR \fIvalue\fR" 4 .IX Item "--minor-os-version value" 「OS バージョン」のマイナナンバを設定します。 デフォルトは 0 です。 .IP "\fB\-\-minor\-subsystem\-version\fR \fIvalue\fR" 4 .IX Item "--minor-subsystem-version value" 「サブシステムバージョン」のマイナナンバを設定します。 デフォルトは 0 です。 .IP "\fB\-\-output\-def\fR \fIfile\fR" 4 .IX Item "--output-def file" リンカは、生成する \s-1DLL\s0 に対応した \s-1DEF\s0 ファイルを含む ファイル \fIfile\fR を作成します。 この \s-1DEF\s0 ファイル (\f(CW\*(C`*.def\*(C'\fR と呼ばれます) は、 \&\f(CW\*(C`dlltool\*(C'\fR を使ってインポートライブラリの作成に 使用されたり、自動的にもしくは暗黙にエクスポートされるシンボルへの 参照として使用されたりします。 .IP "\fB\-\-out\-implib\fR \fIfile\fR" 4 .IX Item "--out-implib file" リンカは、生成する \s-1DLL\s0 に対応したインポートライブラリを含む ファイル \fIfile\fR を作成します。 このインポートライブラリ (\f(CW\*(C`*.dll.a\*(C'\fR もしくは \f(CW\*(C`*.a\*(C'\fR と呼ばれます) は、 生成された \s-1DLL\s0 をクライアントにリンクするのに使われます。 この動作によって、別に行う \f(CW\*(C`dlltool\*(C'\fR の インポートライブラリ作成ステップを飛ばすことができます。 .IP "\fB\-\-enable\-auto\-image\-base\fR" 4 .IX Item "--enable-auto-image-base" \&\f(CW\*(C`\-\-image\-base\*(C'\fR 引数によって指定されなかった DLL の イメージベースを自動的に選択します。 DLL 名から生成されるハッシュ値を使うことにより、各 \s-1DLL\s0 に対して 一意のイメージベースが作成され、プログラムの実行を遅延させる メモリ内での衝突と再配置を回避することができます。 .IP "\fB\-\-disable\-auto\-image\-base\fR" 4 .IX Item "--disable-auto-image-base" 一意なイメージベースを自動的に作成しません。 ユーザから指定されたイメージベース (\f(CW\*(C`\-\-image\-base\*(C'\fR) が ない場合、プラットフォームのデフォルトを使用します。 .IP "\fB\-\-dll\-search\-prefix\fR \fIstring\fR" 4 .IX Item "--dll-search-prefix string" インポートライブラリを使わずに DLL を動的にリンクする際に、 \&\f(CW\*(C`lib.dll\*(C'\fR よりも \&\f(CW\*(C`.dll\*(C'\fR を先に検索します。 この動作によって、様々な \*(L"subplatforms\*(R" 用に作られた native, cygwin, uwin, pw などの DLL を、容易に区別することができます。 例えば、一般的に Cygwin の DLL は、 \&\f(CW\*(C`\-\-dll\-search\-prefix=cyg\*(C'\fR を使用します。 .IP "\fB\-\-enable\-auto\-import\fR" 4 .IX Item "--enable-auto-import" DLL からインポートするデータに対して、\f(CW\*(C`_symbol\*(C'\fR を \&\f(CW\*(C`_\|_imp_\|_symbol\*(C'\fR へと手の込んだリンクをし、 それらの \s-1DATA\s0 をエクスポートする DLL の構築に際して、 必要に応じてサンク (thunk) したシンボルを作成します。 一般的にこれは、単にうまくいきます。 \&\*(-- しかし、以下のようなメッセージが出ることがあります。 .Sp "variable '' can't be auto\-imported. Please read the documentation for ld's \f(CW\*(C`\-\-enable\-auto\-import\*(C'\fR for details." .Sp このメッセージは、最終的に 2 つの定数の和によって指定されるアドレスに アクセスする(サブ)式がある場合に発生します (Win32 インポートテーブルは、1 つのみしか許していません)。 これが起こり得る場合というのは、\s-1DLL\s0 からインポートされた構造体変数の フィールドメンバへアクセスする場合や、 \s-1DLL\s0 からインポートされた 配列変数に対して定数のインデックスを使用する場合などがあります。 すべての複数ワードの変数 (配列、構造体、long long など) は、 このエラー条件を引き起こすことがあります。 しかし、このエクスポートされた目障りな変数が、実際どんなデータタイプで あっても、ld は 常にこれを検知し、警告を発し、停止します。 .Sp エクスポートされた変数のデータタイプが何であろうと、 この問題を解消する方法がいくつかあります。 .Sp 最初の解決策は、定数の 1 つを強制的に変数としてしまうことです。 \&\*(-- つまり、コンパイル時に不明で最適化不可とすることです。 配列に対しては、2 つの方法が考えられます。 a) インデックスされる側 (配列のアドレス) を変数とします。 もしくは、b) 定数インデックスを変数とします。 従って以下のようになります: .Sp .Vb 3 \& extern type extern_array[]; \& extern_array[1] --> \& { volatile type *t=extern_array; t[1] } .Ve +.Sp もしくは .Sp .Vb 3 \& extern type extern_array[]; \& extern_array[1] --> \& { volatile int t=1; extern_array[t] } .Ve +.Sp 構造体 (や、他のほとんどの複数ワードデータタイプ) に対しては、 構造体そのもの (もしくは long long など) を変数とするのが、 唯一の方法です。 .Sp .Vb 3 \& extern struct s extern_struct; \& extern_struct.field --> \& { volatile struct s *t=&extern_struct; t->field } .Ve +.Sp もしくは .Sp .Vb 3 \& extern long long extern_ll; \& extern_ll --> \& { volatile long long * local_ll=&extern_ll; *local_ll } .Ve +.Sp この問題を扱う 2 番目の方法は、目障りなシンボルを「自動インポート」するのを 止めて、\f(CW\*(C`_\|_declspec(dllimport)\*(C'\fR と印を付けることです。 しかし実際にこれをするには、コンパイル時に #define を使い、 \&\s-1DLL\s0 を構築しようとしているのか、もしくは \s-1DLL\s0 とリンクする クライアントコードを構築しようとしているのか、または単に静的ライブラリを 構築/リンクしようとしているのかを示さなければなりません。 「定数オフセットを用いた直接アドレス」問題を解決するいくつかの方法を 選択する際に、一般的な現実世界での使用方法を考えなければなりません: .Sp 元のコード: .Sp .Vb 7 \& --foo.h \& extern int arr[]; \& --foo.c \& #include "foo.h" \& void main(int argc, char **argv){ \& printf("%d\en",arr[1]); \& } .Ve +.Sp 解決策 1: .Sp .Vb 9 \& --foo.h \& extern int arr[]; \& --foo.c \& #include "foo.h" \& void main(int argc, char **argv){ \& /* This workaround is for win32 and cygwin; do not "optimize" */ \& volatile int *parr = arr; \& printf("%d\en",parr[1]); \& } .Ve +.Sp 解決策 2: .Sp .Vb 14 \& --foo.h \& /* Note: auto-export is assumed (no __declspec(dllexport)) */ \& #if (defined(_WIN32) || defined(__CYGWIN__)) && \e \& !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) \& #define FOO_IMPORT __declspec(dllimport) \& #else \& #define FOO_IMPORT \& #endif \& extern FOO_IMPORT int arr[]; \& --foo.c \& #include "foo.h" \& void main(int argc, char **argv){ \& printf("%d\en",arr[1]); \& } .Ve +.Sp この問題を回避する 3 番目の方法は、目障りな変数に対するアクセスを、 データを直接使うインタフェースではなく、関数のインタフェースを使うよう ライブラリを書き換えることです (例えば \fIset_foo()\fR と \fIget_foo()\fR アクセス関数を使います)。 .IP "\fB\-\-disable\-auto\-import\fR" 4 .IX Item "--disable-auto-import" DLL からインポートしたデータに対して、\f(CW\*(C`_symbol\*(C'\fR を \&\f(CW\*(C`_\|_imp_\|_symbol\*(C'\fR へと、手の込んだリンクを しないようにします。 .IP "\fB\-\-enable\-extra\-pe\-debug\fR" 4 .IX Item "--enable-extra-pe-debug" 自動インポートしたシンボルのサンクに関して、付加的なデバッグ情報を示します。 .IP "\fB\-\-section\-alignment\fR" 4 .IX Item "--section-alignment" セクションのアラインメントを設定します。 メモリ中のセクションは、常にこの倍数のアドレスから始まります。 デフォルトは 0x1000 です。 .IP "\fB\-\-stack\fR \fIreserve\fR" 4 .IX Item "--stack reserve" .PD 0 .IP "\fB\-\-stack\fR \fIreserve\fR\fB,\fR\fIcommit\fR" 4 .IX Item "--stack reserve,commit" .PD プログラムのスタックに使うために予約する (オプションでコミットする) メモリ量を指定します。 デフォルトでは 2Mb が予約され、4K がコミットされます。 .IP "\fB\-\-subsystem\fR \fIwhich\fR" 4 .IX Item "--subsystem which" .PD 0 .IP "\fB\-\-subsystem\fR \fIwhich\fR\fB:\fR\fImajor\fR" 4 .IX Item "--subsystem which:major" .IP "\fB\-\-subsystem\fR \fIwhich\fR\fB:\fR\fImajor\fR\fB.\fR\fIminor\fR" 4 .IX Item "--subsystem which:major.minor" .PD プログラムが実行されるサブシステムを指定します。 \&\fIwhich\fR の値で有効なのは、\f(CW\*(C`native\*(C'\fR, \&\f(CW\*(C`windows\*(C'\fR, \f(CW\*(C`console\*(C'\fR そして \&\f(CW\*(C`posix\*(C'\fR です。 オプションで、サブシステムのバージョンも指定することもできます。 .SH "環境変数" .IX Header "環境変数" 環境変数 \f(CW\*(C`GNUTARGET\*(C'\fR, \f(CW\*(C`LDEMULATION\*(C'\fR そして \f(CW\*(C`COLLECT_NO_DEMANGLE\*(C'\fR を用いて、\fBld\fR の 動作を変更することができます。 .PP \&\f(CW\*(C`GNUTARGET\*(C'\fR は、\fB\-b\fR (もしくはその別名の \fB\-\-format\fR) が指定されなかった場合、 入力ファイルのオブジェクト形式を決定するのに使用されます。 その値は、入力形式に対する \s-1BFD\s0 名の 1 つでなくてはなりません。 環境変数 \f(CW\*(C`GNUTARGET\*(C'\fR が定義されていない場合、 \&\fBld\fR は、そのターゲットに最も自然な形式を使用します。 \&\f(CW\*(C`GNUTARGET\*(C'\fR が \f(CW\*(C`default\*(C'\fR に 設定されていた場合、\s-1BFD\s0 は、バイナリ入力ファイルを検査して インプット形式を決定しようとします。 この方法は大抵の場合成功しますが、潜在的な曖昧さが残ります。 というのは、オブジェクトファイルの形式を指定するのに使われる マジックナンバが一意であることを保証する方法がないからです。 しかし、それぞれのシステム上での \s-1BFD\s0 の構成過程において、 そのシステムの慣習的なフォーマットが検索リストの先頭に置かれるので、 この曖昧さは慣習的なものに有利になるように解決されます。 .PP \&\f(CW\*(C`LDEMULATION\*(C'\fR は、\fB\-m\fR オプションが 指定されなかった場合、デフォルトのエミュレーションを決定するのに 使用されます。 エミュレーションは、リンカの動作の様々な面、特にデフォルトの リンカスクリプトに影響を与えます。 利用可能なエミュレーションの一覧は、\fB\-\-verbose\fR もしくは \&\fB\-V\fR オプションを指定することで表示できます。 \&\fB\-m\fR オプションが使用されず、\f(CW\*(C`LDEMULATION\*(C'\fR 環境変数も 定義されていなかった場合、デフォルトのエミュレーションは、リンカが どのように構成されたかに依存します。 .PP 通常、リンカはデフォルトでシンボルをデマングルします。 しかし、\f(CW\*(C`COLLECT_NO_DEMANGLE\*(C'\fR 環境変数が設定された場合は、 デフォルトでシンボルをデマングルしません。 この環境変数は、gcc のリンカラッパプログラムでも同様に使用されています。 デフォルトは、\fB\-\-demangle\fR と \fB\-\-no\-demangle\fR オプションで 上書きすることができます。 .SH "関連項目" .IX Header "関連項目" \&\fIar\fR\|(1), \fInm\fR\|(1), \fIobjcopy\fR\|(1), \fIobjdump\fR\|(1), \&\fIreadelf\fR\|(1) そして Info の \fIbinutils\fR と \fIld\fR 項。 .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc. .PP Permission is granted to copy, distribute and/or modify this document under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". .SH "謝辞" .IX Header "謝辞" この日本語訳の作成にあたり、SRA の矢吹氏 (yabuki@sra.co.jp) の訳を 参考にさせていただきました。 diff --git a/ja_JP.eucJP/man/man1/limits.1 b/ja_JP.eucJP/man/man1/limits.1 index 468bd8dd49..21647aede3 100644 --- a/ja_JP.eucJP/man/man1/limits.1 +++ b/ja_JP.eucJP/man/man1/limits.1 @@ -1,340 +1,372 @@ .\" Copyright (c) 1996 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %FreeBSD: src/usr.bin/limits/limits.1,v 1.25 2002/09/18 16:25:59 green Exp % +.\" %FreeBSD: src/usr.bin/limits/limits.1,v 1.27 2002/12/12 17:26:00 ru Exp % .\" .\" $FreeBSD$ -.Dd January 15, 1996 +.Dd September 18, 2002 .Dt LIMITS 1 .Os .Sh 名称 .Nm limits .Nd リソースの制限値の設定および表示 .Sh 書式 .Nm -.Op Fl C Ar class +.Op Fl C Ar class | Fl U Ar user .Op Fl SHB .Op Fl ea -.Op Fl bcdflmnstuv Op val +.Op Fl bcdflmnstuv Op Ar val .Nm -.Op Fl C Ar class +.Op Fl C Ar class | Fl U Ar user .Op Fl SHB -.Op Fl bcdflmnstuv Op val +.Op Fl bcdflmnstuv Op Ar val .Op Fl E +.Oo .Op Ar name Ns = Ns Ar value ... -.Op Ar command -.Nm -.Op Fl U Ar user -.Op Fl SHB -.Op Fl ea -.Op Fl bcdflmnstuv Op val -.Nm -.Op Fl U Ar user -.Op Fl SHB -.Op Fl bcdflmnstuv Op val -.Op Fl E -.Op Ar name Ns = Ns Ar value ... -.Op Ar command +.Ar command +.Oc .Sh 解説 .Nm ユーティリティはカーネルのリソース制限の表示および設定を行ないます。 また、 .Xr env 1 のように環境変数を設定して、プログラムを選択したリソースで動作させるこ ともできます。 .Nm -コマンドは以下の 3 通りの使い方ができます: +ユーティリティは以下の 3 通りの使い方ができます: .Pp .Bl -tag -width indent .It Xo .Nm .Op Ar limitflags -.Op Ar name Ns = Ns Ar value +.Op Ar name Ns = Ns Ar value ... .Ar command .Xc この使い方では .Ar limitflags にしたがって制限をセットし、オプションで .Ar name Ns = Ns Ar value -のペアで与えられた環境変数をセットし、指定されたコマンドを実行します。 -.It Xo -.Nm -.Op Ar limitflags -.Xc +のペアで与えられた環境変数をセットし、指定された +.Ar command +を実行します。 +.It Nm Op Ar limitflags この使い方ではリソースの設定の値は実際には設定せずに、設定値を .Ar limitflags にしたがって決定し、標準出力に出力します。 デフォルトでは、呼び出しプロセスにおいて有効な 現在のカーネルのリソースの設定値を出力します。 .Fl C Ar class や .Fl U Ar user -フラグを使うと、ログイン能力データベース +オプションを使うと、ログイン能力データベース .Xr login.conf 5 で設定されているログインクラスのリソース制限エントリによって変更された 現在のリソース設定を表示します。 -.It Xo -.Nm -.Fl e Op Ar limitflags -.Xc +.It Nm Fl e Op Ar limitflags この使い方では .Ar limitflags にしたがってリソースの設定値を決定しますが、実際には設定は行ないません。 前の使い方のように、これらの設定値を標準出力しますが、 シェルをコールするのに都合の良いように -.Em eval +.Ic eval の形式で出力します。 コールされるシェルは、親プロセスの .Pa /proc ファイルシステム中のエントリを調べて決定されます。 -もし、シェルが判明すると (すなわち sh, csh, bash, tcsh, ksh, pdksh, rc +もし、シェルが判明すると (すなわち +.Nm sh , csh , bash , tcsh , ksh , pdksh , rc のいずれか)、 .Nm -は 'limit' もしくは 'ulimit' コマンドをそのシェルが解釈できるフォーマットで +は +.Ic limit +もしくは +.Ic ulimit +コマンドをそのシェルが解釈できるフォーマットで 出力します。シェル名が決定できなかった場合は、 .Xr sh 1 -によって使われる 'ulimit' 形式で出力します。 +によって使われる +.Ic ulimit +形式で出力します。 .Pp これはスクリプトで制限を設定したり、 デーモンや他のバックグランドタスクを リソースを制限して起動したりする場合に非常に便利な機能です。 また、ログインクラスデータベースを設定し中央データベースを保守することにより、 最大使用リソースをグローバルに設定することができるという利点があります。 .Pp .Nm は通常 シェルスクリプト中では次のようにバッククォーテーションに囲み評価するよ うにして使われます。 .Pp -.Dl eval `limits -e -C daemon` +.Dl "eval `limits -e -C daemon`" .Pp これで .Nm の出力が評価され、現在のシェルで設定されます。 .El .Pp 上記の中で指定された .Ar limitflags の値には以下のオプションのうちの 1 つ以上のものが含まれます: -.Pp -.Bl -tag -width "-d [limit]" +.Bl -tag -width ".Fl C Ar class" .It Fl C Ar class -現在のリソースの値をもとに、ログインクラス "class" で適用される +現在のリソースの値をもとに、ログインクラス +.Ar class +で適用される リソースエントリによって変更したものを使います。 .It Fl U Ar user -現在のリソースの値をもとに、"user" が属するログインクラスに適用される +現在のリソースの値をもとに、 +.Ar user +が属するログインクラスに適用される リソースエントリによって変更したものを使います。 -user がどのクラスにも属していない場合、"default" クラスが存在すればそ +user がどのクラスにも属していない場合、 +.Dq Li default +クラスが存在すればそ のリソース能力が使用され、もしそのユーザがスーパユーザアカウントであれ -ば、"root" クラスが使用されます。 +ば、 +.Dq Li root +クラスが使用されます。 .It Fl S -リソースの "soft" (もしくは現在の) 制限を表示もしくは設定します。 +リソースの +.Dq soft +(もしくは現在の) 制限を表示もしくは設定します。 このスイッチに続いて指定される制限の設定は、 .Fl H や .Fl B -フラグでオーバライドしない限り、soft リミットに対する設定となります。 +オプションでオーバライドしない限り、soft リミットに対する設定となります。 .It Fl H -リソースの "hard" (もしくは最大の) 制限を表示もしくは設定します。 +リソースの +.Dq hard +(もしくは最大の) 制限を表示もしくは設定します。 このスイッチに続いて指定される制限の設定は、 .Fl S や .Fl B -フラグでオーバライドしない限り、hard リミットに対する設定となります。 +オプションでオーバライドしない限り、hard リミットに対する設定となります。 .It Fl B -リソースの "soft" (現在の) および "hard" (最大の) 制限を表示もしくは設 -定します。 +リソースの +.Dq soft +(現在の) および +.Dq hard +(最大の) 制限を表示もしくは設定します。 このスイッチに続いて指定される制限の設定は、 .Fl S や .Fl H -フラグでオーバライドしない限り、soft リミットおよび hard リミットの +オプションでオーバライドしない限り、soft リミットおよび hard リミットの 両者に対する設定となります。 .It Fl e -出力を "eval mode" (評価モード) の書式にします。 +出力を +.Dq "eval mode" +(評価モード) の書式にします。 これは表示モードでのみ有効であり、コマンドを実行するときには使えません。 出力に使用される正確なシンタックスは .Nm が起動されたシェルのタイプに依存します。 -.It Fl b Op Ar limit -.Em sbsize +.It Fl b Op Ar val +.Va sbsize 資源制限を選択または設定します。 -.It Fl c Op Ar limit +.It Fl c Op Ar val .Em coredumsize -のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。 +のリソースの制限を選択もしくは設定 +.Ar ( val +が指定された場合) します。 値に 0 を指定するとコアダンプしないようになります。 -.It Fl d Op Ar limit -.Em datasize -のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。 -.It Fl f Op Ar limit -.Em filesize +.It Fl d Op Ar val +.Va datasize +のリソースの制限を選択もしくは設定 +.Ar ( val +が指定された場合) します。 +.It Fl f Op Ar val +.Va filesize のリソースの制限を選択もしくは設定します。 -.It Fl l Op Ar limit -.Em memorylocked +.It Fl l Op Ar val +.Va memorylocked のリソースの制限を選択もしくは設定します。 -.It Fl m Op Ar limit -.Em memoryuse +.It Fl m Op Ar val +.Va memoryuse のサイズの制限を選択もしくは設定します。 -.It Fl n Op Ar limit -.Em openfiles +.It Fl n Op Ar val +.Va openfiles のリソースの制限を選択もしくは設定します。 プロセスごとの最大オープンファイル数のシステムワイドの制限は、 -\&'sysctl kern.maxfilesperproc' コマンドで表示できます。 +.Va kern.maxfilesperproc +.Xr sysctl 8 +変数を検査することで表示できます。 システム全体で同時にオープンできるファイルの総数は、 -\&'sysctl kern.maxfiles' コマンドで表示できる値に制限されます。 -.It Fl s Op Ar limit -.Em stacksize +.Va kern.maxfiles +.Xr sysctl 8 +変数が表示する値に制限されます。 +.It Fl s Op Ar val +.Va stacksize のリソースの制限を選択もしくは設定します。 -.It Fl t Op Ar limit -.Em cputime +.It Fl t Op Ar val +.Va cputime のリソースの制限を選択もしくは設定します。 -.It Fl u Op Ar limit -.Em maxproc +.It Fl u Op Ar val +.Va maxproc のリソースの制限を選択もしくは設定します。 UID ごとの最大プロセス数のシステムワイドの制限は、 -\&'sysctl kern.maxprocperuid' コマンドで表示できます。 +.Va kern.maxprocperuid +.Xr sysctl 8 +変数を検査することで表示できます。 システム全体で同時に走行できるプロセスの総数は、 -\&'sysctl kern.maxproc' コマンドで表示できる値に制限されます。 -.It Fl v Op Ar limit -.Em virtualmem +.Va kern.maxproc +.Xr sysctl 8 +変数の値に制限されます。 +.It Fl v Op Ar val +.Va virtualmem のリソースの制限を選択もしくは設定します。 当該ユーザプロセスが使用可能な VM 空間全体を制限し、 これには、テキスト、データ、BSS、スタック、 .Xr brk 2 , .Xr sbrk 2 .Xr mmap 2 される空間が含まれます。 .El .Pp -上記のフラグのセットにおける有効な -.Ar limit +上記のオプションのセットにおける有効な +.Ar val の値は、無限値 (もしくは カーネルにおいて定義されている最大値) を設定する場合は文字列 -.Em infinity -.Em inf -.Em unlimited -.Em unlimit +.Dq Li infinity , +.Dq Li inf , +.Dq Li unlimited , +.Dq Li unlimit のいずれかを指定し、それ以外の場合は接尾子つきの数字を指定します。 サイズに関する値はデフォルトではバイトでの値となります。また以下の 接尾子の 1 つを付けることによってその単位となります。 .Pp -.Bl -tag -offset indent -width "xxxx" -compact -.It b +.Bl -tag -offset indent -width 4n -compact +.It Li b 512 バイトブロック。 -.It k +.It Li k キロバイト (1024 バイト)。 -.It m +.It Li m メガバイト (1024*1024 バイト)。 -.It g +.It Li g ギガバイト。 -.It t +.It Li t テラバイト。 .El .Pp -.Em cputime +.Va cputime リソースについてはデフォルトでは秒による値となります。 また以下の接尾子を付加することにより、それぞれの単位で指定可能です。 有効な複数の単位指定を並べると、その和を指定したことになります: -.Bl -tag -offset indent -width "xxxx" -compact -.It s +.Pp +.Bl -tag -offset indent -width 4n -compact +.It Li s 秒。 -.It m +.It Li m 分。 -.It h +.It Li h 時間。 -.It d +.It Li d 日。 -.It w +.It Li w 週。 -.It y +.It Li y 年 (365 日)。 .El -.Bl -tag -width indent +.Bl -tag -width ".Fl C Ar class" .It Fl E -.Sq Fl E -オプションを使用すると .Nm は継承している環境を完全に無視します。 .It Fl a -このオプションは特定のリソースの設定が指定されていても、 +特定のリソースの設定が指定されていても、 全てのリソースの設定を表示させます。 例えば、USENET ニュースシステムの立ち上げ時にコアダンプを無効にしたい -が、'news' アカウントに適用されるその他の全てのリソースの設定を行ない +が、 +.Dq Li news +アカウントに適用されるその他の全てのリソースの設定を行ない たい場合は、次のように使います: .Pp -.Dl eval `limits -U news -aBec 0` +.Dl "eval `limits -U news -aBec 0`" .Pp .Xr setrlimit 2 -コールのように、スーパユーザのみが "hard" リソース制限を引き上げるこ +コールのように、スーパユーザのみが +.Dq hard +リソース制限を引き上げるこ とができます。 -root 以外のユーザはそれを引き下げるか、リソースの "soft" リミットを +root 以外のユーザはそれを引き下げるか、リソースの +.Dq soft +リミットを hard リミットの範囲で変更することができます。 プログラムを実行する場合、 .Nm が hard リミットを引き上げようとすると、それは致命的エラーとして扱われ ます。 .El .Sh 診断 .Nm ユーティリティは、 -ユーザが何らかの方法で誤使用をすると EXIT_FAILURE で終了します。 +ユーザが何らかの方法で誤使用をすると +.Dv EXIT_FAILURE +で終了します。 誤使用には不正なオプションを使用した場合や、同時に設定と表示のオプション を指定した場合、または .Fl e がプログラムを起動する時に使われた場合などが含まれます。 表示モードもしくは評価モードにて実行されたとき、 .Nm -は EXIT_SUCCESS の終了ステータスで終了します。 +は +.Dv EXIT_SUCCESS +の終了ステータスで終了します。 コマンドモードで実行されコマンドの実行が成功したときには、終了ステータスは 実行されたプログラムが返すものになります。 .Sh 関連項目 .Xr csh 1 , .Xr env 1 , .Xr limit 1 , .Xr sh 1 , .Xr getrlimit 2 , .Xr setrlimit 2 , .Xr login_cap 3 , .Xr login.conf 5 , .Xr sysctl 8 .Sh バグ 明らかな理由により、 .Nm ユーティリティは、 -等号 (``='') がその名称に含まれるコマンドを扱うことができません。 +等号 +.Pq Ql = +がその名称に含まれるコマンドを扱うことができません。 .Pp 評価用の出力が選択された場合、シェルを正しく認識し、そのシェルにとって 出力が正しいシンタックスとなるためには、 .Pa /proc ファイルシステムがインストールされマウントされていなければなりません。 デフォルトの出力は .Xr sh 1 にとって有効なものとなります。そのため、 .Pa /proc マウント前に .Nm を使用できるのは、標準の bourne シェルスクリプト中でのみとなります。 .Pp .Nm ユーティリティは、 出力や表示するリソースの設定が現在のユーザで有効であるかや、設定可能 であるかについては確認を行ないません。スーパユーザアカウントのみが hard リミットを引き上げることができます。与えられた値が大きすぎる場合は .Fx カーネルは何も出力せずにその制限値を指定された値より低く設定します。 diff --git a/ja_JP.eucJP/man/man1/lint.1 b/ja_JP.eucJP/man/man1/lint.1 index ca03118440..7e674930b1 100644 --- a/ja_JP.eucJP/man/man1/lint.1 +++ b/ja_JP.eucJP/man/man1/lint.1 @@ -1,598 +1,598 @@ .\" $NetBSD: lint.1,v 1.21 2002/01/03 04:25:18 thorpej Exp $ .\" .\" Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved. .\" Copyright (c) 1994, 1995 Jochen Pohl .\" All Rights Reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Jochen Pohl for .\" The NetBSD Project. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.bin/xlint/xlint/lint.1,v 1.25 2002/07/19 16:38:21 markm Exp % +.\" %FreeBSD: src/usr.bin/xlint/xlint/lint.1,v 1.26 2002/11/26 15:32:04 ru Exp % .\" .\" $FreeBSD$ .Dd May 24, 2001 .Dt LINT 1 .Os .Sh 名称 .Nm lint .Nd C プログラムの検証を行う .Sh 書式 .Bk -words .Nm .Op Fl abceghprvwxzHFV .Op Fl s | t .Op Fl i | nu .Op Fl D Ar name Ns Op = Ns Ar def .Op Fl U Ar name .Op Fl I Ar directory .Op Fl d Ar directory .Op Fl L Ar directory .Op Fl l Ar library .Op Fl o Ar outputfile .Op Fl B Ar directory .Op Fl X Ar id Ns Op , Ns Ar id ... .Ar .Nm .Op Fl abceghprvwzHFV .Op Fl s | t .Fl C Ar library .Op Fl D Ar name Ns Op = Ns Ar def .Op Fl U Ar name .Op Fl I Ar directory .Op Fl d Ar directory .Op Fl B Ar directory .Op Fl X Ar id Ns Op , Ns Ar id ... .Ar .Ek .Sh 解説 .Nm ユーティリティは、指定された C のプログラムファイルを解析し、 バグの可能性がある部分、 移植性がないと考えられる部分、 あるいは無駄なコードと考えられる部分 の検出を試みます。 加えて、 .Nm ユーティリティは、C コンパイラより厳密な型チェックを行います。 .Nm は最初のフェーズでシンボル .Dq Dv lint を定義して C プリプロセッサを起動します。 これにより、ある疑わしいコード部分を .Nm に変更あるいはスキップさせることができます。 それゆえ、 .Nm がチェックする全てのコードにおいては、シンボル .Sy lint は予約語とみなすべきです。 .Pp 現在 .Nm が指摘する問題点は以下のものです。 到達しない文、 先頭から入らないループ、 宣言したものの使用しない変数、 定数値となる論理式。 関数呼び出しに関しては以下のような矛盾点が指摘されます。 あるところでは値を返すが別の場所では値を返さない関数の呼び出し、 引数の個数が変化する関数の呼び出し、 関数側で想定していない型の引数を渡す関数呼び出し、 返値を使用しない関数呼び出し、 返値のない関数の存在しない返値を使用している関数呼び出し。 .Pp ファイル名引数のうち、末尾が .Pa .c で終わるものは C のソースファイルとみなされます。 ファイル名が .Pa .ln で終わるものは、以前 .Nm を .Fl i , .Fl o あるいは .Fl C オプション付きで起動した際の結果を格納したファイルとみなされます。 .Pa .ln ファイルは、 .Xr cc 1 が .Pa .c から生成するオブジェクトファイル .Pa .o に相当します。 .Nm ユーティリティはまた、 .Fl l オプションによって指定された特別なライブラリを受け付けます。 これは、ライブラリ関数と変数の定義を含むものです。 .Pp .Nm ユーティリティは、全ての .Pa .c , .ln ファイルと .Pa llib-l Ns Ar library Ns Pa .ln (lint ライブラリ) ファイルを受け取り、 それらをコマンドラインで指定した順に処理します。 デフォルトでは、 .Nm は標準 C lint ライブラリ .Pq Pa llib-lc.ln をファイルリストの最後に付け加えます。 .Fl i オプションが指定されていれば、 .Pa .ln ファイルは無視されます。 また、 .Fl o オプションあるいは .Fl i オプションが指定されていれば、 .Pa llib-l Ns Ar library Ns Pa .ln ファイルは無視されます。 .Fl i オプションが指定されて .Em いなければ、 .Nm の 2番目の パスでこのファイルリストが相互一貫性チェックに用いられます。 このとき、 もし問題箇所が与えられたソースファイルからではなく インクルードファイルのひとつに端を発するものならば、 表示されるソースファイル名の後ろに疑問符が付けられます。 .Pp 特別な入力ファイル名 .Dq Pa - は、 .Nm に (ファイルの終端まで) 標準入力から入力を取らせ、これを .Pa .c ファイルとして処理させます。 .Fl i フラグが指定され .Dq Pa - が入力ファイルの 1 個として指定された場合、出力ファイル名を指定するために .Fl o フラグもまた指定される必要があります。 オプションは次の通りです: .Bl -tag -width indent .It Fl a .Vt long 型以外の変数に対する .Vt long 値の代入を報告します。 .It Fl aa .Fl a に加え、 小さい型への暗黙の型変換を引き起こす .Em あらゆる 整数値代入を報告します。 .It Fl b 到達し得ない .Ic break 文を報告します。 このオプションはデフォルトでは有効ではありません。 なぜなら、ほとんどの .Xr lex 1 および多くの .Xr yacc 1 出力はこのような break を数多く含むからです。 .It Fl c 移植性に問題のあるキャストについて報告します。 .It Fl e .Vt enum 型に対する不正操作や .Vt enum 型と .Sy 整数 型間の組み合わせについて報告します。 .It Fl g .Xr gcc 1 が C 言語に対して行っているいくつかの拡張機能についての警告を抑制します。 現在のところ、これに該当するのは以下のものです。 自動変数の集合型初期化式に現れる非定数式、 void 型へのポインタに対する算術操作、 .Vt enum 宣言の最後のコンマ、 C++ スタイルの .Dq Li // コメント、 サイズが 0 の構造体、 左辺値でない配列の添字付け、 旧形式の関数宣言を無効化するプロトタイプ宣言、 long long 整数型。 .Fl g オプションはまた、キーワード .Ic asm および .Ic inline を有効にします ( .Ic asm および .Ic inline の先頭にアンダスコアを付けたキーワードは 常に利用可能です)。 .It Fl h いくつかの発見的テストを適用して バグを発見し、スタイルを洗練し、無駄を省くことを試みます。 .It Fl i コマンドラインの各 .Pa .c ファイルに対して .Pa .ln ファイルを生成します。 これらの .Pa .ln ファイルは .Nm の最初のパスの結果に過ぎず、 関数間の一貫性チェックは行われません。 .It Fl n 標準ライブラリに対する一貫性チェックを行いません。 .It Fl p 他の C 方言への移植性に関するチェックを試みます。 .It Fl r 重複した宣言が見つかった場合、前回の宣言の位置を報告します。 .It Fl s 厳密な ANSI C モードでチェックします。 ANSI C で必要とされる警告およびエラーを出力します。 従来の C と ANSI C とで異なる振る舞いをする構造に対しての警告は行いません。 .Fl s オプション指定時は、 プリプロセッサマクロとして .Dv __STRICT_ANSI__ が定義されます。 .It Fl t 従来の C モードでチェックします。 このモードでは .Dv __STDC__ は定義されません。 従来の C で許可されない構造に対して警告が出力されます。 従来の C と ANSI C とで異なる振る舞いをする構造に対しての警告は抑制されます。 マシンタイプ (例: -.Li sun3 -) およびマシンアーキテクチャ (例: -.Li m68k -) を記述したプリプロセッサマクロは、 +.Dv sun3 ) +およびマシンアーキテクチャ (例: +.Dv m68k ) +を記述したプリプロセッサマクロは、 先頭および末尾のアンダスコア無しで定義されます。 キーワード -.Sy const , volatile +.Ic const , volatile および -.Sy signed +.Ic signed は従来の C モードでは利用できません (しかし、先頭にアンダスコアを 付したもう一方のキーワードは依然利用可能です)。 .It Fl u 使用されているが定義されていない、あるいは定義されているが使用されていない 関数および外部変数についての報告を行いません (この機能は、大規模プログラムを構成する一部のファイルに対して .Nm を走らせる場合に向いています)。 .It Fl v 関数中の未使用引数に関する報告を抑制します。 .It Fl x .Ic extern 宣言で参照されているが一度も使用されていない変数について報告します。 .It Fl z 定義されていない構造体に関する報告を抑制します (例えば、中身を関知せずに構造体へのポインタを用いる場合など)。 .It Fl B Ar path バイナリ .Pa lint1 と .Pa lint2 を検索するために使用するパスです。 デフォルトは .Pa /usr/libexec です。 .It Fl C Ar library .Pa llib-l Ns Ar library Ns Pa .ln という名前の .Nm ライブラリを作成します。 このライブラリは、全ての入力ファイル .Pa .c および .Pa .ln から作られます。 これらのファイルに含まれる全ての大域関数および大域変数の宣言が 新しく作られるライブラリに書き出された後、 .Nm は .Fl l オプションで指定されたライブラリを含めた全ての入力ファイルに対して 相互一貫性のチェックを行います。 .It Fl D Ar name Ns Op = Ns Ar def .Xr cpp 1 のために .Ic #define ディレクティブと同様にしてマクロ .Ar name を定義します。 右辺値が指定されない場合、マクロ .Ar name は 1 と定義されます。 .It Fl I Ar directory インクルードファイルを検索するディレクトリリストに .Ar directory を追加します。 .It Fl d Ar directory インクルードファイルを検索するデフォルトの場所を .Pa /usr/include の代りに .Ar directory にします。 .It Fl l Ar library lint ライブラリ .Pa llib-l Ns Ar library Ns Pa .ln をインクルードします。 .It Fl L Ar directory lint ライブラリを標準の場所から探す前に、 .Ar directory および .Ar directory Ns Pa /lint の中を探します。 .It Fl F ファイルのパス名全体を表示します。 .Nm ユーティリティは通常、パスを除いたファイル名だけを表示します。 .It Fl H もし問題箇所がインクルードファイルに端を発するものならば、 .Nm はソースファイル名と それに続く疑問符に代えて インクルードファイル名を表示します。 .It Fl o Ar outputfile 出力ファイル名を .Ar outputfile とします。 出力ファイルは .Nm の2番目のパスの入力ファイルとなるものです。 .Fl o オプションは単に、このファイルを指定された名前でファイルに保存します。 同時に .Fl i オプションも指定されていれば、これらのファイルは一貫性をチェックされません。 .Pa llib-l Ns Ar library Ns Pa .ln ファイルを作成する際には、余分なメッセージを抑制するため、 .Fl u オプションの使用を推奨します。 lint ライブラリのソースファイルが単に外部インタフェースに過ぎない場合は、 .Fl v オプションを用いると便利です。 .It Fl U Ar name プリプロセッサが定義する全てのマクロ .Ar name を取り除きます。 .It Fl V 制御プログラムが C プリプロセッサおよび .Nm の第1 および第2 パスを実行する際のコマンドラインを表示します。 .It Fl w 警告をエラーとして扱います。 .It Fl X Ar id Ns Op , Ns Ar id ... id で指定されるエラーメッセージを抑制します。 メッセージと id のリストは .Xr lint 7 を参照してください。 .El .Ss 入力文法 .Nm の第 1 パスは標準的な C ソースファイルを読み込みます。 .Nm ユーティリティは以下のような C のコメントをコマンドとして認識します。 .Bl -tag -width indent .It Li /* ARGSUSED Ns Ar n Li */ 最初の .Ar n 個の引数に対してのみ使用チェックを行います。 .Ar n を省略すると 0 と解釈されます (このオプションは、次の関数に対して .Fl v オプションと同様の働きをします)。 .It Li /* BITFIELDTYPE */ 型が整数の場合、 不正なビットフィールド型に関するエラーメッセージを抑制します。 また、可搬性の無いビットフィールド型の警告を抑制します。 .It Xo .Li /* CONSTCOND */ 又は .Li /* CONSTANTCOND */ 又は .Li /* CONSTANTCONDITION */ .Xc 次の式に対する定数オペランドに関する報告を抑制します。 .It Xo .Li /* FALLTHRU */ 又は .Li /* FALLTHROUGH */ .Xc .Ic case あるいは .Ic default ラベルのついた文への fall through に関する報告を抑制します。 このディレクティブはそれらのラベルの直前に置く必要があります。 .It Li /* LINTLIBRARY */ ファイル先頭で、このファイル中で定義される全ての関数および変数が .Em 使用されている とマークします。 また、未使用の関数引数に関する報告も行いません。 .It Xo .Li /* LINTED Oo Ar comment Oc Li */ 又は .Li /* NOSTRICT Oo Ar comment Oc Li */ .Xc 未使用の変数あるいは関数に関するものを除き、 ファイル内に閉じた問題点に関する警告を抑制します。 このディレクティブは、 .Nm 警告が発生する場所の直前の行に置く必要があります。 .It Li /* LONGLONG */ long long 整数型の使用に関する報告を抑制します。 .It Li /* NOTREACHED */ しかるべき場所において、未到達コードに関する報告を抑制します (このコメントは通常、 .Xr exit 3 のような関数の呼び出しの直後に置きます)。 .It Li /* PRINTFLIKE Ns Ar n Li */ .Nm は最初の .Pq Ar n Ns -1 個の引数を普通にチェックします。 .Ar n 番目の引数は .Xr printf 3 のフォーマット文字列と同様に解釈され、 残りの引数をチェックするために用いられます。 .It Li /* PROTOLIB Ns Ar n Li */ もし .Ar n が 0 でなければ、 .Nm は関数宣言プロトタイプを関数宣言として取り扱います。 このディレクティブは .Li /* LINTLIBRARY */ と共にのみ用いることができます。 .Ar n が 0 の場合は、関数プロトタイプは通常通り取り扱われます。 .It Li /* SCANFLIKE Ns Ar n Li */ .Nm は最初の .Pq Ar n Ns -1 個の引数を普通にチェックします。 .Ar n 番目の引数は .Xr scanf 3 のフォーマット文字列と同様に解釈され、 残りの引数をチェックするために用いられます。 .It Li /* VARARGS Ns Ar n Li */ 後続する関数宣言において、引数個数に関する通常のチェックを抑制します。 最初の .Ar n 個の引数のデータ型がチェックされます。 .Ar n が指定されない場合は 0 と解釈されます。 .El .Pp .Fl i オプションおよび .Fl o オプションを用いると、ひと組の C ソースファイルに対して インクリメンタルに .Nm を適用することが可能です。 一般に、各ソースファイルに対して .Fl i オプション付きで .Nm を一度起動します。 このとき、 .Pa .c に対応して .Pa .ln ファイルが作成され、 それらのソースファイルに関する全てのメッセージが表示されます。 全てのソースファイルに対して個別の .Nm 処理が済んだ後、全ての .Pa .ln ファイルと必要な .Fl l Ar library オプションを付け、( .Fl i オプション無しで) もう一度 .Nm を起動します。 ここでファイル間の一貫性に関する問題点が表示されます。 この方式は .Xr make 1 を用いるとうまくいきます。 .Xr make 1 を用いると、 前回ソースファイルの組が .Nm された後、修正のあったファイルに対してのみ .Nm を起動することができます。 .Sh 環境変数 .Bl -tag -width LIBDIR .It Ev LIBDIR .Bk -words .Fl l Ar library .Ek オプションで指定されたライブラリが存在するディレクトリ。 この環境変数が定義されていない場合は、ライブラリ検索のために デフォルトパスとして .Pa /usr/libdata/lint が用いられます。 .It Ev TMPDIR 一時ファイル用のパスは通常、この環境変数をセットすることで変更できます。 .It Ev CC C コンパイラプログラムの場所。 デフォルトは .Pa /usr/bin/cc です。 .El .Sh 関連ファイル .Bl -tag -width /usr/libdata/lint/llib-lc.ln -compact .It Pa /usr/libexec/lint Ns Bq Pa 12 プログラム .It Pa /usr/libdata/lint/llib-l*.ln 前もって作成されている様々な lint ライブラリ .It Pa /tmp/lint* 一時ファイル .El .Sh 関連項目 .Xr cc 1 , .Xr cpp 1 , .Xr make 1 .Sh 作者 .An Jochen Pohl .Sh バグ .Bl -item .It .Xr exit 3 や .Xr longjmp 3 および戻って来ない他の関数は正しく理解されません。 これらは様々な不正診断の原因となります。 .It 最初の extern 宣言の前でのみ用いられる static 関数は、 未使用であると報告されます。 .It .Fl o オプションによって作られたライブラリは、のちの .Nm 実行で用いた場合、 ライブラリ作成時に報告されたある種のエラーが再度報告され、 ライブラリ作成時に用いたオリジナルのソースファイルの行番号およびファイル名が エラーメッセージ中に表示されることがあります。 そのため、lint ライブラリ作成には .Fl C オプションを用いることを推奨します。 .El diff --git a/ja_JP.eucJP/man/man1/ls.1 b/ja_JP.eucJP/man/man1/ls.1 index 94b36a4f49..67803f34a8 100644 --- a/ja_JP.eucJP/man/man1/ls.1 +++ b/ja_JP.eucJP/man/man1/ls.1 @@ -1,613 +1,616 @@ .\" Copyright (c) 1980, 1990, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 -.\" %FreeBSD: src/bin/ls/ls.1,v 1.71 2002/11/03 07:29:08 tjr Exp % +.\" %FreeBSD: src/bin/ls/ls.1,v 1.72 2002/11/25 13:52:57 ru Exp % .\" .\" $FreeBSD$ .Dd May 19, 2002 .Dt LS 1 .Os .Sh 名称 .Nm ls .Nd ディレクトリの内容のリストを表示する .Sh 書式 .Nm .Op Fl ABCFGHLPRTWZabcdfghiklmnopqrstuwx1 .Op Ar .Sh 解説 .Nm は .Ar file で指定されたファイル名およびオプションの指定にしたがって、 ファイルに関する各種の情報を表示します。なお、 .Ar file としてディレクトリが指定された場合は、そのディレクトリ配下のファイル に関する情報を表示します。 .Pp .Ar file が指定されなかった場合は、カレントディレクトリのファイルを表示します。 表示はファイル名のアルファベット順にソートされます。ただし、 .Ar file としてディレクトリファイルとそれ以外のファイルを混在して指定した 場合は、ディレクトリ以外のファイルが先に表示され、その後 ディレクトリ配下のファイルが表示されます。 .Pp オプションとしては、以下のものがあります。 .Bl -tag -width indent .It Fl A .Pa \&. と .Pa \&.. を除く全てのエントリを表示します。スーパユーザの場合は、通常 このオプションがセットされています。 .It Fl B ファイル名中の非印字可能文字 ( .Xr ctype 3 と現在のロケール設定で定義されます) を強制的に .Li \e Ns Va xxx の形式で表示します。 .Va xxx は文字の数値であり 8 進数です。 .It Fl C マルチカラム形式で出力します。端末への出力の場合は、 これがデフォルトになります。 .It Fl F それぞれのパス名の最後に、ディレクトリならばスラッシュ .Pq Ql / 、実行可能ファイルならばアスタリスク .Pq Ql * 、シンボリックリンクならばアットマーク .Pq Ql @ 、ソケットファイルならば等号 .Pq Ql = 、 .Tn FIFO ならば縦棒 .Pq Ql \&| をつけて表示します。 .It Fl G カラー化出力を有効にします。 本オプションは、環境変数 .Ev CLICOLOR を定義することと同等です (後述)。 .It Fl H コマンドラインのシンボリックリンクを追跡します。 .Fl F , .Fl d , .Fl l オプションのいずれも指定されなかった場合、 このオプションが仮定されます。 .It Fl L 引数がシンボリックリンクファイルの場合、リンクファイル自体ではなく、 リンク先のファイルやディレクトリを表示します。 このオプションは .Fl P オプションを打ち消します。 .It Fl P 引数がシンボリックリンクの場合、リンクが参照しているオブジェクトではなく リンク自身を表示します。 このオプションは .Fl H , .Fl L オプションを打ち消します。 .It Fl R サブディレクトリを再帰的に表示します。 .It Fl T .Fl l オプション (小文字の .Dq エル (L) ) と共に使用された場合、 ファイルの日付と時間に関する詳細情報 (月・日・時・分・秒・年) を表示します。 .It Fl W ディレクトリ走査時にホワイトアウトも表示します。 .It Fl Z 各ファイルの MAC ラベルを表示します。 .It Fl a ドット .Pq Pa \&. で始まるファイルも含めて表示します。 .It Fl b .Fl B と同様ですが、可能であれば .Tn C のエスケープコードを使用します。 .It Fl c ファイルソートや時刻出力の際、ファイルステータスの最終変更日付を使用します。 .It Fl d 引数がディレクトリの場合、ディレクトリそのものの情報について表示します (再帰的に表示しません)。 .It Fl f ソートせずに表示します .It Fl g このオプションは、 .Bx 4.3 との互換性のためにだけ利用すべきです。 これは、 ロングフォーマットオプション .Pq Fl l を使ってグループの名前を表示したい時に使います。 .It Fl h .Fl l オプションとともに使用した場合、次の単位サフィックスを使用します: バイト、キロバイト、メガバイト、ギガバイト、テラバイト、ペタバイト。 使用される大きさは基数 2 であり、数値の桁数が 3 以下になります。 .It Fl i 各ファイルについて、inode 番号を表示します。 .It Fl k .Fl s オプションとともに使用し、ファイルサイズを ブロック単位ではなく K バイト単位で表示します。 このオプションは環境変数 .Ev BLOCKSIZE に優先します。 .It Fl l ( .Dq エル (L) の小文字)。 ファイルの詳細情報をロングフォーマットで表示します (下記参照)。 端末に出力している場合、ロングフォーマットの前の行に、全ファイル のサイズの合計値を表示します。 .It Fl m ストリーム出力形式。 ファイルを、コンマで区切って、ページの横方向に表示します。 .It Fl n 長い .Pq Fl l 出力において、 ユーザとグループを名前に変換せずに、 ユーザとグループの ID を数値で表示します。 .It Fl o .Pq Fl l オプションによる詳細情報に、ファイルフラグも含めて表示します。 .It Fl p ファイルがディレクトリの場合、各ファイル名の後にスラッシュ .Pq Ql / を書きます。 .It Fl q ファイル名に表示できない文字が使われていたとき、 .Ql \&? として表示します。 端末に表示するときは、デフォルトでこの指定になります。 .It Fl r 辞書式順序で逆順または時刻の古い順にソートします。 .It Fl s 各ファイルがファイルシステム上で実際に占有している ブロック数 (512 バイト単位) を表示します。 ブロックの一部だけ占有しているものも整数値に切り上げられます。 端末に表示するときは、表示の先頭行に、全ファイルのサイズの合計値 を表示します。 環境変数 .Ev BLOCKSIZE は単位サイズ 512 バイトに優先します。 .It Fl t ファイルをアルファベット順に表示する前に、ファイルの最終修正日時の順 (新しいものほど先にくる) にソートします。 .It Fl u .Pq Fl t オプションや .Pq Fl l オプションで、ファイルの最終修正日時の代わりに、ファイルの最終アクセス日時を 使用します。 .It Fl w 非印字可能文字をそのまま表示するよう強制します。 出力先が端末でない場合、これがデフォルトです。 .It Fl x .Fl C と同じですが、下方向ではなく横方向にエントリをソートして、 マルチカラム出力します。 .It Fl 1 (数字の .Dq 1 )。 1 行につき 1 エントリの形式で表示します。 端末への出力でない場合には、これがデフォルトです。 .El .Pp .Fl 1 , .Fl C , .Fl x , .Fl l オプションは、互いに他を上書きします。最後に指定されたオプションが有効と なります。 .Pp .Fl c と .Fl u オプションは、互いに他を上書きします。最後に指定されたオプションが有効と なります。 .Pp .Fl B , .Fl b , .Fl w , .Fl q オプションは互いに優先し合う関係にあります。 最後に指定されたものが印字不可文字の書式を決定します。 .Pp .Fl H , .Fl L , .Fl P オプションは互いに優先し合う関係にあります(部分的もしくは全体的)。 指定された順序で適用されます。 .Pp デフォルトでは .Nm は標準出力に 1 行 1 エントリずつ表示します。 ただし、出力先が端末である場合および .Fl C または .Fl x のオプションが指定された場合は別です。 .Pp .Fl i , .Fl s , .Fl l オプションが指定された場合、関連するファイルの情報は 1 個以上の空白 をあけて表示されます。 .Ss ロングフォーマット .Fl l オプションがつけられた場合、それぞれのファイルに対して以下に示す情報が 表示されます: ファイルモード・ リンク数・所有者名・所有グループ名・ MAC ラベル・ ファイルのバイト数・月の短縮形・最終更新が行なわれた際の日付・時・分・ パス名。 さらに、各ディレクトリに対して、 ディレクトリ内のファイル情報が表示される直前に、 ファイルサイズの合計値が 512 バイトブロック単位で表示されます。 .Pp ファイルの修正修正時刻が 6 ヶ月以上過去もしくは未来の場合、 最終修正年が時間と分のフィールドに表示されます。 .Pp 所有者または所有グループ名が不明の場合、 または .Fl n オプション指定時には、 ID 番号で表示されます。 .Pp ファイルがキャラクタ型もしくはブロック型の特殊ファイルである場合、 ファイルサイズフィールドには ファイルのメジャー番号とマイナー番号が表示されます。 ファイルがシンボリックリンクファイルである場合、 リンク先ファイルのパス名が .Dq Li -> によって表示されます。 .Pp .Fl l オプションのもとで表示されるファイルモードは、エントリタイプ、 所有者アクセス許可、所有グループアクセス許可などで成り立っています。 エントリタイプの文字はファイルのタイプを表しており、 各文字の意味は次のとおりです: .Pp .Bl -tag -width 4n -offset indent -compact .It Sy b ブロック型特殊ファイル .It Sy c キャラクタ型特殊ファイル .It Sy d ディレクトリ .It Sy l シンボリックリンクファイル .It Sy s ソケットファイル .It Sy p .Tn FIFO .It Sy \- 通常ファイル .El .Pp 次の 3 つのフィールドは、それぞれ 3 つの文字からなっています: 所有者に対するアクセス許可・ グループに属するユーザに対するアクセス許可・ 他のユーザに対するアクセス許可。 これらのフィールドはそれぞれ 3 つの文字からなっています: .Bl -enum -offset indent .It もし .Sy r ならば読みだし可能。もし .Sy \- ならば読みだし不能。 .It もし .Sy w ならば書き込み可能。もし .Sy \- ならば書き込み不能。 .It その他の場合: 以下のうち最初に該当するものが用いられる。 .Bl -tag -width 4n -offset indent .It Sy S 所有者に対するアクセス許可において、ファイルが実行可能ではなく、かつ、 実効ユーザ ID (set-user-ID) モードがセットされている場合。 所有グループに対するアクセス許可において、ファイルが実行可能ではなく、 かつ、実効グループ ID (set-group-ID) モードがセットされている場合。 .It Sy s 所有者に対するアクセス許可において、ファイルが実行可能で、かつ、 実効ユーザ ID モードがセットされている場合。 所有グループに対するアクセス許可の中で、ファイルが実行可能で、 かつ、実効グループ ID モードがセットされている場合。 .It Sy x ファイルが実効可能またはディレクトリが検索可能である場合。 .It Sy \- ファイルは、読み出し、書き込み、実行のいずれも許可されておらず、 実効ユーザ ID も実効グループ ID もスティッキービットも設定されていない場合 (以下参照)。 .El .Pp 次の2つは他のユーザに対するアクセス許可の 3 番目の文字に使用されます。 .Bl -tag -width 4n -offset indent .It Sy T スティッキービットがセットされている (モード .Li 1000 ) が、 実行不能あるいは検索不能である場合 ( .Xr chmod 1 または .Xr sticky 8 参照)。 .It Sy t スティッキービットがセットされており (モード .Li 1000 ) 、 かつ、検索可能または実行可能である場合 ( .Xr chmod 1 または .Xr sticky 8 参照)。 .El .El .Pp ファイルに ACL がある場合は次のフィールドは -.Pq Sq Li + +.Pq Ql + になり、無い場合は空白 -.Pq Sq Li " " +.Pq Ql " " になります。 .Nm ユーティリティは、実際の ACL を表示しません。 .Xr getfacl 1 を使用してください。 .Sh 使用例 .Nm の出力を大きさ順に並べる方法を示します ( .Nm がこのコマンドの別オプションを必要としない理由をも示します)。 .Pp .Dl "ls -l | sort -n +4" .Pp さらに、 .Xr sort 1 への .Fl r フラグを使用することにより、結果を大から小へ (逆順に) 並べられます。 .Sh 診断 .Ex -std .Sh 環境変数 以下の環境変数は .Nm の動作に影響を与えます: .Bl -tag -width ".Ev CLICOLOR_FORCE" .It Ev BLOCKSIZE ブロック数の表示を行う際、1 ブロックのサイズとして環境変数 .Ev BLOCKSIZE で指定された値が使用されます ( .Fl s オプション参照)。 .It Ev CLICOLOR -\*[Ai] +.Tn ANSI カラーシーケンスを使用し、ファイルタイプを区別します。 後述の .Ev LSCOLORS を参照してください。 .Fl F で前述したもの加え、更なる属性 (setuid ビット設定等) もまた表示されます。 カラー化は、適切な .Xr termcap 5 ケーパビリティを持つ端末タイプに依存します。 デフォルトの .Dq Li cons25 コンソールは、適切なケーパビリティを持っていますが、例えば .Xr xterm 1 でカラー表示したい場合には .Ev TERM 変数を .Dq Li xterm-color に設定する必要があります。 他の端末タイプも同様の修正が必要かもしれません。 出力が端末に向けられていない場合、カラー化は黙って無効化されます。 ただし、 .Ev CLICOLOR_FORCE 変数が定義されている場合は例外です。 .It Ev CLICOLOR_FORCE 出力が端末に向けられていない場合、通常、カラーシーケンスは無効化されます。 本フラグを設定することで、この動作を変更可能です。 .Ev TERM 変数は、カラー出力可能な端末を参照することが必要です。 そうなっていない場合、どのカラーシーケンスを使用すべきか決定できません。 .It Ev COLUMNS ターミナルのカラム幅を指定します。マルチカラム表示の際、 1 行あたりいくつのファイル名を表示できるかを算出するために参照されます ( .Fl C および .Fl x 参照)。 .It Ev LANG 長い .Fl l フォーマット出力における、日と月の順序を決定するために使用するロケールです。 詳細は .Xr environ 7 を参照してください。 .It Ev LSCOLORS 本変数の値は、 .Ev CLICOLOR によってカラー出力が有効であるときに、 どの色をどの属性に使用するかを指定します。 この文字列は書式 .Ar f Ns Ar b の結合であり、ここで .Ar f は前景色であり、 .Ar b は背景色です。 .Pp 色の指示は次の通りです: .Pp .Bl -tag -width 4n -offset indent -compact .It Sy a 黒 .It Sy b 赤 .It Sy c 緑 .It Sy d 茶 .It Sy e 青 .It Sy f マゼンタ .It Sy g シアン .It Sy h 明い灰 .It Sy A 太字の黒で、通常暗い灰に見えます .It Sy B 太字の赤 .It Sy C 太字の緑 .It Sy D 太字の茶で、通常黄色に見えます .It Sy E 太字の青 .It Sy F 太字のマゼンタ .It Sy G 太字のシアン .It Sy H 太字の明い灰で、明い白に見えます .It Sy x デフォルトの前景色と背景色 .El .Pp 以上が標準 -\*[Ai] +.Tn ANSI カラーです。 実際の表示は、端末の色の扱いに依存して異なるでしょう。 .Pp 属性の順番は次の通りです: .Pp .Bl -enum -offset indent -compact .It ディレクトリ .It シンボリックリンク .It ソケット .It パイプ .It 実行形式 .It ブロックスペシャル .It キャラクタスペシャル .It setuid ビットが設定された実行形式 .It setgid ビットが設定された実行形式 .It 他者 (others) が書き込み可能なディレクトリであり、 スティッキービット付き。 .It 他者 (others) が書き込み可能なディレクトリであり、 スティッキービット無し。 .El .Pp デフォルトは .Qq "exfxcxdxbxegedabagacad" であり、 通常のディレクトリは前景色青でデフォルト背景色、 setuid 付き実行形式は前景色黒で背景色赤等です。 .It Ev LS_COLWIDTHS この変数が設定されている場合、 コロン区切りのリストで各フィールドの最小幅を指定しているものとみなされます。 適切でなかったり不十分だったりする幅は無視されます (よって 0 を指定すると、フィールド幅が動的に決まります)。 すべてのフィールドの幅を変えられるわけではありません。 フィールドの順序は次の通りです: inode・ブロック数・リンク数・ユーザ名・グループ名・フラグ・ファイルサイズ・ ファイル名。 .It Ev TERM .Ev CLICOLOR の機能は、端末タイプのカラーケーパビリティが必要です。 .It Ev TZ 日時を表示するときに使われるタイムゾーンを指定します。 詳細は .Xr environ 7 を参照してください。 .El .Sh 互換性 .St -p1003.2 互換とするため、 ロングフォーマット形式の出力には所有グループ名フィールドが自動的に 含められます。 .Sh 関連項目 .Xr chflags 1 , .Xr chmod 1 , .Xr getfacl 1 , .Xr sort 1 , .Xr xterm 1 , .Xr termcap 5 , .Xr symlink 7 , .Xr getfmac 8 , .Xr sticky 8 .Sh 規格 .Nm ユーティリティは .St -p1003.1-2001 に適合しています。 .Pp -.No ACL サポートは IEEE\ Std\ 1003.2c\ ( Ns Dq "POSIX.2c" Ns ) -Draft\ 17 +ACL サポートは +.Tn IEEE +Std\~1003.2c +.Pq Dq Tn POSIX Ns .2c +Draft\~17 (撤回されました) 互換です。 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 .Sh バグ 過去との互換性のために、多くのオプションの関係が複雑になっています。 diff --git a/ja_JP.eucJP/man/man1/lsvfs.1 b/ja_JP.eucJP/man/man1/lsvfs.1 index 856ecfccde..6136fcc453 100644 --- a/ja_JP.eucJP/man/man1/lsvfs.1 +++ b/ja_JP.eucJP/man/man1/lsvfs.1 @@ -1,53 +1,53 @@ -.\" %FreeBSD: src/usr.bin/lsvfs/lsvfs.1,v 1.10 2002/05/16 02:19:06 trhodes Exp % +.\" %FreeBSD: src/usr.bin/lsvfs/lsvfs.1,v 1.11 2002/12/12 17:26:00 ru Exp % .\" Garrett A. Wollman, September 1994 .\" This file is in the public domain. .\" .\" $FreeBSD$ .Dd March 16, 1995 .Dt LSVFS 1 .Os .Sh 名称 .Nm lsvfs .Nd インストール済の仮想ファイルシステム一覧を表示する .Sh 書式 .Nm .Op Ar vfsname Ar ... .Sh 解説 .Nm コマンドは現在ロードされている仮想ファイルシステムモジュールに 関する情報を表示します。 引数 .Ar vfsname が与えられると、 .Nm は指定された VFS モジュールに関する情報を表示します。 それ以外の場合、 .Nm は現在ロードされている全てのモジュールを表示します。 表示される情報は以下の通り: .Pp .Bl -tag -compact -width Filesystem .It Filesystem ファイルシステム名。 .Xr mount 2 の .Ar type パラメータに用いられるものと、 .Xr mount 8 の .Fl t オプションに用いられるものを使用可能です。 .It Refs この VFS への参照数。 つまり、このタイプのファイルシステムのうち現在マウントされているものの数。 .It Flags フラグビット。 .El .Sh 関連項目 .Xr mount 2 , .Xr mount 8 .Sh 歴史 .Nm コマンドは .Fx 2.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man1/minigzip.1 b/ja_JP.eucJP/man/man1/minigzip.1 index 7aba1b87fe..96b22724cc 100644 --- a/ja_JP.eucJP/man/man1/minigzip.1 +++ b/ja_JP.eucJP/man/man1/minigzip.1 @@ -1,75 +1,75 @@ .\" Copyright (c) 1997 .\" Michael Smith .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.bin/minigzip/minigzip.1,v 1.8 2002/10/03 19:30:22 johan Exp % +.\" %FreeBSD: src/usr.bin/minigzip/minigzip.1,v 1.9 2002/11/26 17:33:34 ru Exp % .\" .\" $FreeBSD$ .Dd October 3, 2002 .Dt MINIGZIP 1 .Os .Sh 名称 .Nm minigzip .Nd 'gzip' 圧縮ツールの最小限度の実装 .Sh 書式 .Nm .Op Fl cd .Op Ar .Sh 解説 .Nm ユーティリティは .Xr gzip 1 ユーティリティの最小限度の実装です。 標準入出力を通してのストリーム圧縮・伸長と、 個々のファイルの圧縮・伸長を提供します。 .Pp デフォルトの操作は圧縮で、伸長は .Fl d フラグをコマンドラインで与えることで選択されます。 .Pp もしも .Ar file 引数が与えられた場合、この操作は個々のファイルに別々に適用されます。 圧縮すると、オリジナルファイルを、 .Pa .gz サフィックスをつけたファイルと置き換えます。 伸長は .Pa .gz サフィックスが存在すればそれを取り除きます。 .Pp .Ar file 引数が与えられなかった場合、 .Nm は標準入力から読み込み、操作の結果を標準出力に書き出します。 .Pp .Fl c オプションが指定された場合、 .Nm は結果を標準出力へ書き出し、オリジナルファイルを変更しないようにします。 .Sh 関連項目 .Xr gzip 1 .Sh 作者 .Nm ユーティリティは、 .An Jean-loup Gailly によって書かれました。 diff --git a/ja_JP.eucJP/man/man1/mklocale.1 b/ja_JP.eucJP/man/man1/mklocale.1 index eb1d20df7f..8150250dad 100644 --- a/ja_JP.eucJP/man/man1/mklocale.1 +++ b/ja_JP.eucJP/man/man1/mklocale.1 @@ -1,299 +1,299 @@ .\" Copyright (c) 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Paul Borman at Krystal Technologies. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mklocale.1 8.2 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/mklocale/mklocale.1,v 1.13 2002/10/14 00:45:51 tjr Exp % +.\" %FreeBSD: src/usr.bin/mklocale/mklocale.1,v 1.14 2002/11/26 17:33:35 ru Exp % .\" .\" $FreeBSD$ .\" .Dd October 14, 2002 .Dt MKLOCALE 1 .Os .Sh 名称 .Nm mklocale .Nd LC_CTYPE locale ファイルの作成 .Sh 書式 .Nm .Op Fl d .Ar "< src-file" .Ar "> language/LC_CTYPE" .Nm .Op Fl d .Fl o .Ar language/LC_CTYPE .Ar src-file .Sh 解説 .Nm ユーティリティは標準入力から .Dv LC_CTYPE のソースファイルを読み込み、 .Pa /usr/share/locale/ Ns Ar language Ns Pa /LC_CTYPE に置くのに適した .Dv LC_CTYPE のバイナリファイルを標準出力へ書き出します。 .Pp .Ar src-file のフォーマットは非常に単純です。 キーワードから始まり、それに付随するデータが続く複数の行から構成されます。 ファイル中にコメントを書く場合は、 C のスタイルのコメントを使用することができます。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl d デバッグ用メッセージを有効にします。 .It Fl o 出力ファイルを指定します。 .El .Pp 後述するキーワードの他に、 .Ar src-file の中で有効なトークンとして以下のものがあります。 -.Bl -tag -width literal +.Bl -tag -width ".Ar literal" .It Dv RUNE .Dv RUNE は以下のいずれかです。 -.Bl -tag -width 0x[0-9a-z]* +.Bl -tag -width ".Ar 0x[0-9a-z]*" .It Ar 'x' ASCII 文字の .Ar x 。 .It Ar '\ex' ANSI 文字の .Ar \ex 。 ここで、 .Ar \ex は .Dv \ea , .Dv \eb , .Dv \ef , .Dv \en , .Dv \er , .Dv \et , .Dv \ev のいずれかになります。 .It Ar 0x[0-9a-z]* rune コードを表す16進数です。 .It Ar 0[0-7]* rune コードを表す8進数です。 .It Ar [1-9][0-9]* rune コードを表す10進数です。 .El .It Dv STRING ダブルクォーテーション (") で囲まれた文字列です。 .It Dv THRU .Dv ... か .Dv - のいずれかで、範囲を示すために使われます。 .It Ar literal 以下の文字は文字通りに解釈されます。 -.Bl -tag -width "<\|\|(\|\|[" +.Bl -tag -width ".Dv <\|\|(\|\|[" .It Dv "<\|(\|[" マッピングを開始します。これらは全て同じ意味を持ちます。 .It Dv ">\|\^)\|]" マッピングを終了します。これらは全て同じ意味を持ちます。 .It Dv : マッピング中の区切り文字として使用されます。 .El .El .Pp ソースファイル中に一度のみ現れるキーワードには以下のものがあります。 -.Bl -tag -width PHONOGRAM +.Bl -tag -width ".Dv PHONOGRAM" .It Dv ENCODING これに続く .Dv STRING トークンによって、 作成中の locale にて使われるエンコーディング機構を指定します。 現在指定できるエンコーディングとして以下のものがあります。 -.Bl -tag -width MSKanji +.Bl -tag -width ".Dv MSKanji" .It Dv BIG5 中国語の .Dq Big5 エンコーディングです。 .It Dv EUC いくつかの .Ux のベンダで使われている .Dv EUC エンコーディングです。 .It Dv MSKanji Microsoft が使用する日本語エンコーディング方法であり、 ゆるやかに JIS を基にしています。 .Dq "Shift JIS" や .Dq SJIS としても知られています。 .It Dv NONE 変換を行ないません。デフォルトのエンコーディングです。 .It Dv UTF2 (価値が低下しています) .Tn "Bell Labs の Plan 9" から移植された -.Dv "Universal character set Transformation Format" +.Dq "Universal character set Transformation Format" です。 .It Dv UTF-8 .Tn ISO 10646 の .Dv UTF-8 変換フォーマットであり、RFC 2279 で定義されています。 .El .It Dv VARIABLE 1 つのタブ文字もしくはスペース文字がこのキーワードに続き、 その後にエンコーディングに特有のデータが置かれます。 現在は .Dv "EUC" エンコーディングのみで、この可変データが必要となります。 詳しくは .Xr euc 4 を参照してください。 .It Dv INVALID 1 つの .Dv RUNE を続いて指定し、作成中の locale における不正な rune を指定します。 .El .Pp 以下のキーワードは複数回指定でき、次の形式を取ります。 -.Bl -tag -width "" -offset indent +.Bl -tag -width ".Dv " -offset indent .It Dv .Dv RUNE1 が .Dv RUNE2 にマップされます。 .It Dv .Dv RUNE1 から .Dv RUNEn の rune が .Dv RUNE2 から .Dv RUNE2 + n-1 にマップされます。 .El -.Bl -tag -width PHONOGRAM +.Bl -tag -width ".Dv PHONOGRAM" .It Dv MAPLOWER 小文字への変換マッピングを定義します。 .Dv RUNE2 は .Dv RUNE1 の小文字表現となります。 .It Dv MAPUPPER 大文字への変換マッピングを定義します。 .Dv RUNE2 は .Dv RUNE1 の大文字表現となります。 .It Dv TODIGIT rune からその数値へのマッピングを定義します。 .Dv RUNE2 は .Dv RUNE1 の整数値表現となります。 例えば、ASCII 文字の .Ql 0 は 10進数の 0 にマップされます。 255 以下の値のみが指定可能です。 .El .Pp 以下のキーワードは複数回指定でき、次の形式を取ります。 -.Bl -tag -width "RUNE1 THRU RUNEn" -offset indent +.Bl -tag -width ".Dv RUNE1 THRU RUNEn" -offset indent .It Dv RUNE この rune はキーワードによって定義された属性を持ちます。 .It Dv "RUNE1 THRU RUNEn" .Dv RUNE1 と .Dv RUNEn を含む、この間に指定された全ての rune はキーワードによって定義された属性を持ちます。 .El -.Bl -tag -width PHONOGRAM +.Bl -tag -width ".Dv PHONOGRAM" .It Dv ALPHA アルファベットで表示可能な文字である rune を定義します。 .It Dv CONTROL 制御文字である rune を定義します。 .It Dv DIGIT 10 進数字で表示可能な文字である rune を定義します。 .It Dv GRAPH 表示可能な文字である rune を定義します。 .It Dv LOWER 小文字で表示可能な文字である rune を定義します。 .It Dv PUNCT 句読点で表示可能文字な rune を定義します。 .It Dv SPACE スペース文字である rune を定義します。 .It Dv UPPER 大文字で表示可能な文字である rune を定義します。 .It Dv XDIGIT 16 進数字で表示可能な文字である rune を定義します。 .It Dv BLANK 空白文字である rune 定義します。 .It Dv PRINT 表示可能な rune を定義します。 .It Dv IDEOGRAM 表意記号 (訳註:7, = & などの記号) で表示可能な文字である rune を定義します。 .It Dv SPECIAL 特殊文字で印刷可能な文字である rune を定義します。 .It Dv PHONOGRAM 表音文字で表示可能な文字である rune を定義します。 .It Dv SWIDTH0 表示幅 0 の rune を定義します。 .It Dv SWIDTH1 表示幅 1 の rune を定義します。 .It Dv SWIDTH2 表示幅 2 の rune を定義します。 .It Dv SWIDTH3 表示幅 3 の rune を定義します。 .El .Pp 表示幅を明示的に定義しない場合、デフォルトでは、 表示可能 rune に対しては幅 1 が仮定されます。 .Sh 関連項目 .Xr colldef 1 , .Xr mbrune 3 , .Xr rune 3 , .Xr setlocale 3 , .Xr wcwidth 3 , .Xr euc 4 , .Xr utf2 4 , .Xr utf8 5 .Sh バグ .Nm mklocale ユーティリティはあまりに割り切り過ぎです。 .Sh 歴史 .Nm mklocale ユーティリティは .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/objformat.1 b/ja_JP.eucJP/man/man1/objformat.1 index 68f1405280..3a7c0c8979 100644 --- a/ja_JP.eucJP/man/man1/objformat.1 +++ b/ja_JP.eucJP/man/man1/objformat.1 @@ -1,65 +1,68 @@ .\" .\" Copyright (c) 1998 David E. O'Brien .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.bin/objformat/objformat.1,v 1.9 2002/09/17 01:49:00 peter Exp % +.\" %FreeBSD: src/usr.bin/objformat/objformat.1,v 1.10 2002/11/26 17:34:25 ru Exp % .\" .\" $FreeBSD$ .\" -.Dd October 25, 1998 +.Dd September 17, 2002 .Os .Dt OBJFORMAT 1 .Sh 名称 .Nm objformat .Nd デフォルトのバイナリ形式を報告 .Sh 書式 .Nm .Sh 解説 +.Bf -symbolic このプログラムは廃れたものであり、 現在は互換性のためだけのスタブとなっています。 +.Ef +.Pp オブジェクトファイル形式を -.Ar elf +.Dq Li elf として報告します。 .Sh 歴史 .Nm は .Fx 3.0 から登場しました。 .Pp .Nm は .Fx 4.0 で廃れたものとなり、 .Fx 5.0 では互換性のためのスタブに切り詰められました。 次のリリースまでに完全に削除される予定です。 .Sh 作者 .An -nosplit .Nm ユーティリティは、 .An Peter Wemm Aq peter@netplex.com.au によって書かれました。 このマニュアルページは、 .An David O'Brien Aq obrien@NUXI.com によって書かれました。 diff --git a/ja_JP.eucJP/man/man1/od.1 b/ja_JP.eucJP/man/man1/od.1 index 840de2a651..5a75f5f03c 100644 --- a/ja_JP.eucJP/man/man1/od.1 +++ b/ja_JP.eucJP/man/man1/od.1 @@ -1,258 +1,258 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)od.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/hexdump/od.1,v 1.14 2002/05/29 18:49:22 ru Exp % +.\" %FreeBSD: src/usr.bin/hexdump/od.1,v 1.15 2002/12/05 08:50:00 ru Exp % .\" $FreeBSD$ .\" .Dd May 27, 1994 .Os .Dt OD 1 .Sh 名称 .Nm od .Nd 8進, 10進, 16進, ASCIIでのダンプ .Sh 書式 .Nm .Op Fl aBbcDdeFfHhIiLlOosvXx .Op Fl A Ar base .Op Fl j Ar skip .Op Fl N Ar length .Op Fl t Ar type .Sm off .Oo .Op Cm \&+ .Li offset .Op Cm \&. .Op Cm Bb .Oc .Sm on .Op Ar .Sh 解説 .Nm ユーティリティは、ファイルが指定されていればそのファイル、 指定されていなければ標準入力を読み込み、ユーザの指定した フォーマットに従って表示するフィルタです。 .Pp オプションは次の通りです: .Bl -tag -width ".Fl I , L , l" .It Fl A Ar base 入力アドレスの基数を指定します。 .Ar base は .Cm d , .Cm o , .Cm x , .Cm n のいずれかであり、それぞれ 10 進数、8 進数、16 進数、アドレス無しを 意味します。 .It Fl a 文字名を出力します。 .Fl t Ar a と同じです。 .It Fl B , o 8 進数の short を出力します。 .Fl t Ar o2 と同じです。 .It Fl b 8 進数の byte を出力します。 .Fl t Ar o1 と同じです。 .It Fl c C スタイルのエスケープ文字を出力します。 .Fl t Ar c と同じです。 .It Fl D 符号無し 10 進数 int を出力します。 .Fl t Ar u4 と同じです。 .It Fl e , F 倍精度浮動小数点数を出力します。 .Fl t Ar fD と同じです。 .It Fl f 単精度浮動小数点数を出力します。 .Fl t Ar fF と同じです。 .It Fl H , X 16 進数 int を出力します。 .Fl t Ar x4 と同じです。 .It Fl h , x 16 進数 short を出力します。 .Fl t Ar x2 と同じです。 .It Fl I , L , l 符号付き 10 進数 long を出力します。 .Fl t Ar dL と同じです。 .It Fl i 符号付き 10 進数 int を出力します。 .Fl t Ar dI と同じです。 .It Fl j Ar skip 結合された入力の .Ar skip バイトをスキップしてから、ダンプを開始します。 数値の後には .Cm b , .Cm k , .Cm m のいずれかを付けることもでき、 数値の単位をブロック数 (512 バイト)、キロバイト、メガバイトで指定します。 .It Fl N Ar length 最大でも入力の .Ar length バイトだけダンプします。 .It Fl O 8 進数 int を出力します。 .Fl t Ar o4 と同じです。 .It Fl s 符号付き 10 進数 short を出力します。 .Fl t Ar d2 と同じです。 .It Fl t Ar type 出力書式を指定します。 .Ar type は、次の型指定子を 1 個以上含む文字列です: .Bl -tag -width indent .It Cm a 文字名 .Pq Tn ASCII 。 制御文字は次の名前で表示されます: -.Bl -column "000 nul" "001 soh" "002 stx" "003 etx" "004 eot" "005 enq" -.It "000 nul 001 soh 002 stx 003 etx 004 eot 005 enq" -.It "006 ack 007 bel 008 bs 009 ht 00A nl 00B vt" -.It "00C ff 00D cr 00E so 00F si 010 dle 011 dc1" -.It "012 dc2 013 dc3 014 dc4 015 nak 016 syn 017 etb" -.It "018 can 019 em 01A sub 01B esc 01C fs 01D gs" -.It "01E rs 01F us 020 sp 0FF del" +.Bl -column "000 NUL" "001 SOH" "002 STX" "003 ETX" "004 EOT" "005 ENQ" +.It "000 NUL 001 SOH 002 STX 003 ETX 004 EOT 005 ENQ" +.It "006 ACK 007 BEL 008 BS 009 HT 00a NL 00b VT" +.It "00c FF 00d CR 00e SO 00f SI 010 DLE 011 DC1" +.It "012 DC2 013 DC3 014 DC4 015 NAK 016 SYN 017 ETB" +.It "018 CAN 019 EM 01a SUB 01b ESC 01c FS 01d GS" +.It "01e RS 01f US 020 SP 0ff DEL" .El .It Cm c デフォルトの文字集合での文字。 表示できない文字は 3 桁の 8 進数文字コードで表現されます。 ただし、次の文字は C エスケープで表現されます: .Pp .Bl -tag -width carriage-return -compact .It NUL \e0 .It 警告 \ea .It バックスペース \eb .It 改行 \en .It 復改 \er .It タブ \et .It 垂直タブ \ev .El .It Xo .Sm off .Op Cm d | o | u | x .Op Cm C | S | I | L | Ar n .Sm on .Xc 符号付き 10 進数 .Pq Cm d 、8 進数 .Pq Cm o 、符号無し 10 進数 .Pq Cm u 、16 進数 .Pq Cm x 。 次のいずれかのオプションのサイズ指定子を後に付けることができます: .Cm C .Pq Vt char , .Cm S .Pq Vt short , .Cm I .Pq Vt int , .Cm L .Pq Vt long , または 10 進数整数でのバイト数。 .It Xo .Sm off .Cm f .Op Cm F | D | L | Ar n .Sm on .Xc 浮動小数点数。 次のいずれかのオプションのサイズ指定子を後に付けることができます: .Cm F .Pq Vt float , .Cm D .Pq Vt double , .Cm L .Pq Vt "long double" 。 .El .It Fl v すべての入力を書き出しますが、重複値は単一の .Ql * で置き換えられます。 .El .Pp 出力書式を指定するオプションを複数指定可能です。 この場合、出力には、書式毎に行が別になって表示されます。 .Pp 出力書式が指定されない場合、 .Fl t Ar oS が仮定されます。 .Sh 診断 .Ex -std .Sh 互換性 文字列定数を取り出すための伝統的な .Fl s オプションはサポートされていません。 代りに .Xr strings 1 を使用してください。 .Sh 関連項目 .Xr hexdump 1 , .Xr strings 1 .Sh 規格 .Nm ユーティリティは .St -p1003.1-2001 に適合しています。 .Sh 関連項目 .Xr hexdump 1 , .Xr strings 1 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/paste.1 b/ja_JP.eucJP/man/man1/paste.1 index 982242277e..1d794d4c9d 100644 --- a/ja_JP.eucJP/man/man1/paste.1 +++ b/ja_JP.eucJP/man/man1/paste.1 @@ -1,140 +1,141 @@ .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Adam S. Moskowitz and 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. .\" .\" @(#)paste.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/paste/paste.1,v 1.13 2002/08/11 13:05:28 schweikh Exp % +.\" %FreeBSD: src/usr.bin/paste/paste.1,v 1.14 2002/11/26 17:33:35 ru Exp % .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt PASTE 1 .Os .Sh 名称 .Nm paste .Nd ファイルの対応する行または引き続く行を併合する .Sh 書式 .Nm .Op Fl s .Op Fl d Ar list .Ar .Sh 解説 .Nm ユーティリティは、与えられた入力ファイルの対応する行の結合を、 最後のファイル以外の改行文字を一つのタブ文字に置き換えながら行い、 その結果の行を標準出力に書き出します。 入力ファイルの一つが EOF (ファイルの終り) に達した場合、 他のファイルの終了までそのファイルは空行が有るかのように 扱われます。 .Pp 以下のようなオプションがあります。 .Bl -tag -width Fl .It Fl d Ar list デフォルトのタブの代わりに改行文字を置換するための文字として使います。 .Ar list 中の文字は巡回するように使われます。つまり、 .Ar list の文字が終った時には最初の文字が再び使われます。 これは、(デフォルトの操作では) 最後の入力ファイルからの行まで、もしくは ( .Fl s オプション使用時には) 各ファイルの最後の行が表示されるまで続きます。 最後の行を表示したところで、 .Nm は、選択された文字の最初から操作を行います。 .Pp 以下の特殊文字を記述可能です。 .Pp .Bl -tag -width flag -compact .It Li \en 改行文字 .It Li \et タブ文字 .It Li \e\e バックスラッシュ文字 .It Li \e0 空文字列 (ヌル文字ではありません) .El .Pp 上記以外の文字は、バックスラッシュ付きの場合その文字自身を表現します。 .It Fl s 別個の入力ファイルの全行の結合を、コマンドラインに並んだ順に行います。 入力ファイル中の、最後の行以外の全ての行の改行文字は、 .Fl d オプションが 指定されていない場合は、タブ文字で置き換えられます。 .El .Pp .Ql Fl が、1 つ以上の入力ファイルに指定された場合、標準入力が使われます。 標準入力は、一度に一行読み込まれ、巡回的に .Ql Fl の各実体として使われます。 .Sh 使用例 カレントディレクトリのファイルを 3 コラムで表示します: .Pp .Dl "ls | paste - - -" .Pp ファイル中の行の組を単一行に組み合わせます。 .Pp .Dl "paste -s -d '\et\en' myfile" .Pp ファイル中の行に番号を付けます。 .Xr nl 1 と似ています: .Pp .Dl "sed = myfile | paste -s -d '\et\en' - -" .Pp -bin という名前のディレクトリをコロンで区切ってリストします。 +.Pa bin +という名前のディレクトリをコロンで区切ってリストします。 .Ev PATH 環境変数で使用するのに適しています: .Pp .Dl "find / -name bin -type d | paste -s -d : -" .Sh 診断 .Ex -std .Sh 関連項目 .Xr cut 1 , .Xr lam 1 .Sh 規格 .Nm ユーティリティは、 .St -p1003.2 互換であることが期待されています。 .Sh 歴史 .Nm コマンドは .At 32v から登場しました。 .Sh バグ マルチバイト文字のデリミタは .Fl d オプションで指定できません。 diff --git a/ja_JP.eucJP/man/man1/pkg_version.1 b/ja_JP.eucJP/man/man1/pkg_version.1 index d20cde37a8..9c7b379358 100644 --- a/ja_JP.eucJP/man/man1/pkg_version.1 +++ b/ja_JP.eucJP/man/man1/pkg_version.1 @@ -1,215 +1,215 @@ .\" .\" Copyright 1998 Bruce A. Mah .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/pkg_install/version/pkg_version.1,v 1.22 2002/06/24 16:03:24 markm Exp % +.\" %FreeBSD: src/usr.sbin/pkg_install/version/pkg_version.1,v 1.24 2002/12/12 17:26:03 ru Exp % .\" .\" $FreeBSD$ .Dd July 17, 1998 .Dt PKG_VERSION 1 .Os .Sh 名称 .Nm pkg_version .Nd インストールされた package のバージョンを要約表示 .Sh 書式 .Nm .Op Fl hv .Op Fl l Ar limchar .Op Fl L Ar limchar .Op Fl s Ar string .Op Ar index .Nm .Op Fl t Ar version1 version2 .Sh 解説 .Nm コマンドは、 .Xr pkg_add 1 コマンドを使ってインストールされた、基本ソフトウェア以外の ソフトウェア package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) に関するレポートを作成するために使います。 .Pp 各 package のバージョン番号は、2 個の情報源のうちの 1 つと照会され、 この package の更新が必要が否かが判断されます。 package 中に .Fx ports ツリーにおける起源情報を含み、port の .Pa Makefile からバージョン番号を判定可能な場合、 .Pa Makefile のバージョン番号を使用して、 インストール済の package が最新であるか更新要かを判定します。 .Pp package の起源が無い場合か、port の .Pa Makefile が見付からない場合、 .Nm は ports collection インデックスファイル (典型的には -.Pa /usr/ports/INDEX -) から package を探します。 +.Pa /usr/ports/INDEX-5 ) +から package を探します。 マッチするバージョン番号 (複数可) を使用して、 インストール済の package が最新であるか更新要かを判定します。 .Pp 一般的に、port の .Pa Makefile のバージョン番号を使用することにより、より正確な結果となります。 これは、インデックスファイルとは異なり、 現在のバージョン番号を厳密に提供するためであり、 これは複数のバージョンの port が ports collection 中にある場合でも成立します。 更に、ports collection インデックスファイルの更新は間隔が開きますので、 ports collection に含まれるソフトウェアのバージョン番号を 完全に反映している訳ではありません。 .Pp 各 package 名が、次に示す 1 文字のステータスフラグと一緒に表示されます: .Bl -tag -width indent .It Li = インストールされている package のバージョンは、最新です。 .It Li \&< インストールされている package のバージョンは、 最新バージョンより古いものです。 .It Li \&> インストールされている package のバージョンは、 最新バージョンよりも新しいものです。 この状況は、インデックスが古い場合か、新規 port をテスト中に発生します。 .It Li \&? インストールされた package がインデックス中に見付かりませんでした。 原因としては、インデックスが古いことか、 コミットされていない package を PR から取得したことがあり得ます。 .It Li * ある特定のソフトウェア package で 複数バージョンがインデックスに列挙されているものがあります。 .Fx port コレクションを例に取ると、 Tcl ツールキットや .Tn EMACS が該当します。 .It Li \&! インストールされた package がインデックス中にありますが、 なんらかの理由で、 インストールされた package のバージョン番号と インデックス中の対応するエントリとを .Nm が比較できませんでした。 .El .Sh オプション .Nm ユーティリティは、いくつかのコマンドライン引数をサポートしています: .Bl -tag -width indent .It Fl h ヘルプメッセージを表示します。 .It Fl l 出力する package を、ステータスフラグが文字 .Ar limchar にマッチするものに制限します。 マッチに使用する文字を、複数個 .Ar limchar に指定可能です。 ステータスフラグの文字にはシェルの特殊文字でもあるものが存在するため、 .Ar limchar をシングルクォートで括るのが最善手です。 .It Fl L 出力する package を、ステータスフラグが .Ar limchar にマッチしないものに制限します。 複数のマッチ対象の文字を .Ar limchar に指定可能です。 ステータスフラグの文字にはシェルの特殊文字でもあるものが存在するため、 .Ar limchar をシングルクォートで括るのが最善手です。 .It Fl s 出力する package を、指定された文字列 .Ar string に名前がマッチするものに制限します。 .It Fl t バージョン番号文字列の組をテストし、終了します。 次の単一文字のいずれかを標準出力へ出力します: .Li = (等しい), .Li \&< (右側の番号が大きい), .Li \&> (左側の番号が大きい)。 本フラグは、スクリプトやテストに有用です。 .It Fl v 冗長出力を有効にします。 冗長出力は 英文による、バージョン番号比較に関する若干の説明と、 各 package の比較に使われたバージョン番号の説明が含まれています。 スクリプトやプログラムで処理するには、 おそらく冗長でない出力の方が簡単でしょう。 .It Ar index 比較の基準として利用するインデックスを指定します。 インデックスとして、ファイル名 (ローカルなファイルシステム内) または URL を指定することができます。 .Xr fetch 1 が解釈可能な URL であれば、どのようなものでも指定することができます。 コマンドラインで .Ar index ファイルが指定されていない場合は .Pa /usr/ports/INDEX が利用されます。 .El .Sh 関連項目 .Xr fetch 1 , .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 .Sh 関連ファイル .Bl -tag -width /usr/ports/INDEX -compact .It Pa /usr/ports/INDEX デフォルトのインデックスファイル。 .El .Sh 使用例 以下は .Nm コマンドの典型的な起動方法です。 インストール済み package を ローカルの port インデックスファイルと照合します: .Pp .Dl % pkg_version -v .Pp 下のコマンドは、 オンラインの port コレクションにおける バージョン番号に対してレポートを生成します: .Pp .Dl % pkg_version ftp://ftp.FreeBSD.org/pub/FreeBSD/branches/-current/ports/INDEX .Pp 次のコマンドは、2 個の package バージョン文字列を比較します: .Pp .Dl % pkg_version -t 1.5 1.5.1 .Sh 作者 .Nm ユーティリティは、 .An Bruce A. Mah Aq bmah@FreeBSD.org が記述した Perl スクリプトを一部基にして、 .An Jeremy D. Lea Aq reg@FreeBSD.org が記述しました。 .Sh 寄贈者 .An Nik Clayton Aq nik@freebsd.org , .An Dominic Mitchell Aq dom@palmerharvey.co.uk , .An Mark Ovens Aq marko@FreeBSD.org , .An Doug Barton Aq DougB@gorean.org , .An Akinori MUSHA Aq knu@FreeBSD.org diff --git a/ja_JP.eucJP/man/man1/printenv.1 b/ja_JP.eucJP/man/man1/printenv.1 index d01130d915..1a43c516de 100644 --- a/ja_JP.eucJP/man/man1/printenv.1 +++ b/ja_JP.eucJP/man/man1/printenv.1 @@ -1,155 +1,155 @@ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)printenv.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/printenv/printenv.1,v 1.16 2002/06/28 09:31:03 tjr Exp % +.\" %FreeBSD: src/usr.bin/printenv/printenv.1,v 1.17 2002/11/26 17:33:35 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt PRINTENV 1 .Os .Sh 名称 .Nm printenv , env .Nd 環境変数を表示する、環境変数の値を設定、表示する .Sh 書式 .Nm .Op Ar name .Nm env .Op Fl i .Op Ar name Ns = Ns Ar value ... -.Op Ar utility Oo Ar argument ... Oc +.Op Ar utility Op Ar argument ... .Sh 解説 .Nm ユーティリティは、 環境変数の名前と値を、1 行あたりに 1 組の名前と値の形式で表示します。 .Ar name が指定されている場合は、その環境変数の値を表示します。 .Pp シェルによっては、本ユーティリティに似ているまたは同等の、組み込み .Nm コマンドを提供しています。 .Xr builtin 1 マニュアルページを参照してください。 .Pp .Nm env ユーティリティは、コマンドラインで指定された環境変数の値を変更してから .Ar utility を実行します。 引数で .Ar name Ns = Ns Ar value を指定することにより、環境変数 .Ar name の値を .Ar value にセットします。 .Pp オプションは次の通りです: .Bl -tag -width indent .It Fl i 指定された環境変数のみを使用して .Ar utility を実行します。 .Nm env から継承した環境変数は無視します。 .El .Pp .Ar command を指定しないで実行した場合、 .Nm env は すべての環境変数について ``name=value'' の形で環境変数の名前と値を表示 します。 .Pp .Nm env ユーティリティが有用なのは、 .Dq Li #! 構造とともに使用する場合です ( .Xr execve 2 を参照してください)。 .Dq Li #!/usr/local/bin/foo と .Dq Li "#!/usr/bin/env\ /usr/local/bin/foo" の唯一の違いは、 .Pa /usr/local/bin/foo 自身が解釈される場合でも後者は動作するという点です。 このように .Nm env を使用すると、望み通りに環境を設定できるだけでなく、 .Pa foo をパス無しで参照できます。 .Sh 環境変数 .Nm env ユーティリティは、名前に .Ql / が 1 個も含まれない場合、指定された .Ar utility を見付けるために .Ev PATH 環境変数を使用します。 .Sh 診断 .Ex -std printenv .Pp .Ex -std env 終了ステータス 126 は .Ar utility が見付かったものの実行不可だったことを示します。 終了ステータス 127 は .Ar utility が見付からなかったことを示します。 .Sh 互換性 .Nm env ユーティリティは、 .Fl i の同義語として、 .Fl オプションを受け付けます。 .Sh 関連項目 .Xr csh 1 , .Xr sh 1 , .Xr execvp 3 , .Xr environ 7 .Sh 規格 .Nm env ユーティリティは .St -p1003.1-2001 に適合しています。 .Sh 歴史 .Nm コマンドは .Bx 3.0 から登場しました。 .Sh バグ 理由は明白ですが、 .Nm env ユーティリティは、イコール (``='') 記号が入ったユーティリティを実行できません。 diff --git a/ja_JP.eucJP/man/man1/quota.1 b/ja_JP.eucJP/man/man1/quota.1 index a7006a20d5..663e864582 100644 --- a/ja_JP.eucJP/man/man1/quota.1 +++ b/ja_JP.eucJP/man/man1/quota.1 @@ -1,152 +1,152 @@ .\" Copyright (c) 1983, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Robert Elz at The University of Melbourne. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)quota.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/quota/quota.1,v 1.14 2002/08/09 00:53:00 iedowse Exp % +.\" %FreeBSD: src/usr.bin/quota/quota.1,v 1.15 2002/12/12 17:26:01 ru Exp % .\" $FreeBSD$ .\" .Dd August 8, 2002 .Dt QUOTA 1 .Os .Sh 名称 .Nm quota .Nd ディスクの使用状況と割り当て制限を表示する .Sh 書式 .Nm .Op Fl glu .Op Fl v | Fl q .Nm .Op Fl lu .Op Fl v | Fl q .Ar user ... .Nm .Fl g .Op Fl l .Op Fl v | Fl q .Ar group ... .Sh 解説 .Nm ユーティリティは、 ユーザのディスク使用量と割り当て制限を表示します。 デフォルトではユーザに対する割り当て制限に関する情報のみが表示されます。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl g ユーザが所属するグループに対するグループ割り当て制限を表示します。 .It Fl l .Tn NFS ファイルシステムの割り当て制限は表示しません。 .It Fl q 使用量が割り当てを越えたファイルシステムに関する情報だけが含まれる簡潔 なメッセージを表示します。 .It Fl u ユーザの割り当て制限を表示します。 .Fl g が指定されない限り、これがデフォルトです。 .It Fl v 使用していないファイルシステムについても割り当て制限を表示します。 .El .Pp .Fl g と .Fl u の両方を指定した場合は、(そのユーザの)ユーザ割り当て制限とグループ割 り当て制限の両方が表示されます。 .Pp スーパユーザに限り、 .Fl u オプションとユーザ名を引数に指定して 他のユーザの割り当て制限を見ることができます。 スーパユーザ以外でも自分が所属するグループについては、 .Fl g オプションと .Ar group 引数を指定することで、自分が属するグループの割り当て制限だけは 見ることができます。 .Pp .Fl q オプションは .Fl v オプションより優先されます。 .Pp .Nm ユーティリティは、 マウントされている全てのファイルシステムに関して報告しようとします。 ファイルシステムが .Tn NFS を介してマウントされている場合、 .Xr rpc.rquotad 8 .Tn NFS サーバのデーモンと連絡しようとします。 .Tn UFS ファイルシステムでは、 .Nm は .Pa /etc/fstab にて有効にされている必要が有ります。 .Nm が 0 以外の値を返して終了した場合、割り当て制限を越えているファイルシステムが あります。 .Pp .Fl l フラグが指定された場合、 .Nm は .Tn NFS ファイルシステムをチェックしません。 .Sh 関連ファイル .Bl -tag -width quota.group -compact .It Pa quota.user ファイルシステムのルートディレクトリに置かれたユーザの割り当て制限に関 するデータ .It Pa quota.group ファイルシステムのルートディレクトリに置かれたグループの割り当て制限に 関するデータ .It Pa /etc/fstab ファイルシステムの名前と位置 .El .Sh 歴史 .Nm コマンドは .Bx 4.2 で登場しました。 .Sh 関連項目 .Xr quotactl 2 , .Xr fstab 5 , .Xr edquota 8 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr repquota 8 , .Xr rpc.rquotad 8 diff --git a/ja_JP.eucJP/man/man1/rpcgen.1 b/ja_JP.eucJP/man/man1/rpcgen.1 index b22e461b07..50eba91aa3 100644 --- a/ja_JP.eucJP/man/man1/rpcgen.1 +++ b/ja_JP.eucJP/man/man1/rpcgen.1 @@ -1,514 +1,515 @@ .\" @(#)rpcgen.1 1.35 93/06/02 SMI -.\" %FreeBSD: src/usr.bin/rpcgen/rpcgen.1,v 1.19 2002/07/21 12:55:04 charnier Exp % +.\" %FreeBSD: src/usr.bin/rpcgen/rpcgen.1,v 1.20 2002/11/26 17:33:35 ru Exp % .\" Copyright 1985-1993 Sun Microsystems, Inc. .\" .\" $FreeBSD$ .Dd March 28, 1993 .Dt RPCGEN 1 .Os .Sh 名称 .Nm rpcgen .Nd RPC プロトコルコンパイラ .Sh 書式 .Nm .Ar infile .Nm .Op Fl a .Op Fl b .Op Fl C .Oo .Fl D Ns Ar name Ns Op Ar =value .Oc .Op Fl i Ar size .Op Fl I Fl P Op Fl K Ar seconds .Op Fl L .Op Fl M .Op Fl N .Op Fl T .Op Fl Y Ar pathname .Ar infile .Nm .Oo .Fl c | .Fl h | .Fl l | .Fl m | .Fl t | .Fl \&Sc | .Fl \&Ss | .Fl \&Sm .Oc .Op Fl o Ar outfile .Op Ar infile .Nm .Op Fl s Ar nettype .Op Fl o Ar outfile .Op Ar infile .Nm .Op Fl n Ar netid .Op Fl o Ar outfile .Op Ar infile .\" .SH AVAILABILITY .\" .LP .\" SUNWcsu .Sh 解説 .Nm ユーティリティは、ある .Tn RPC プロトコルを実現する C コードを生成するツールです。 .Nm への入力は、 .Tn RPC 言語 (遠隔手続き呼び出し言語; Remote Procedure Call Language) として知られる、 C 言語に類似した言語です。 .Pp .Nm ユーティリティは通常第 1 の書式で使用され、 1 つの入力ファイルから 4 つの出力ファイルを生成します。 .\" ↑原文では three output files となっているが、すぐ後ろで 4 つ列挙している。 .\" 原文の誤りと思われる。 97/06/08 J.Sakai 入力ファイル .Ar infile が .Pa proto.x であるとすると、 .Nm はヘッダファイル .Pa proto.h 、 XDR ルーチンファイル .Pa proto_xdr.c 、 サーバ側スタブ .Pa proto_svc.c 、 クライアント側スタブ .Pa proto_clnt.c を作成します。 .Fl T オプションを指定すると、上記に加え、 .Tn RPC ディスパッチテーブル .Pa proto_tbl.i も作成します。 .Pp .Nm ユーティリティはまた、特定アプリケーション向けにカスタマイズ可能な クライアントおよびサーバのサンプルファイルも生成できます。 オプション .Fl \&Sc , .Fl \&Ss , .Fl \&Sm によってそれぞれ、サンプルのクライアント、サーバ、makefile を生成します。 オプション .Fl a を指定するとサンプルを含め全てのファイルを生成します。 入力ファイル .Ar infile が .Pa proto.x の場合、 クライアント側サンプルファイルは .Pa proto_client.c に、 サーバ側サンプルファイルは .Pa proto_server.c に、 そしてサンプル makefile は .Pa makefile.proto に書き出されます。 .Pp オプション .Fl I が設定されている場合、 生成されたサーバは、ポートモニタ (例えば .Xr inetd 8 ) で起動することも、 それ自身で起動することもできます。 ポートモニタから起動される場合、 ファイル記述子 .Em 0 を引き渡すトランスポートのためだけの サーバを生成します。 トランスポートの名前は環境変数 .Ev NLSPROVIDER をセットすることで 指定可能です。 .Nm で作成されたサーバが実行されると、 サーバは環境変数 .Ev NETPATH で指定された全トランスポート用に サーバハンドルを作成します。 .Ev NETPATH が指定されていない場合は、ファイル .Pa /etc/netconfig に記述されている全ての可視トランスポート用にサーバハンドルを作成します。 注意: トランスポートはコンパイル時ではなく実行時に選択されます。 サーバが自分で開始すると、 デフォルトでは自動的にバックグラウンド実行に移ります。 .Em RPC_SVC_FG を定義することで、 サーバをフォアグラウンドで実行させることもできます。 .Pp 第二の書式は、更に洗練された .Tn RPC サーバを生成する特別な機能をもちます。 その特別な機能として、 ユーザが定義した .Em #define と .Tn RPC ディスパッチテーブル のサポートがあります。 .Tn RPC ディスパッチテーブルのエントリには以下のものがあります: .Bl -bullet -offset indent -compact .It その手続きに対応するサービスルーチンへのポインタ .It 入出力引数へのポインタ .It これらのルーチンのサイズ .El サーバはディスパッチテーブルを用いて認証チェックを行い、 それからサービスルーチンを実行することができます。 クライアントライブラリはそれを用いて、 記憶領域管理や XDR データ変換の詳細に対処することができます。 .Pp 上に示した他の 3 つの書式は、出力ファイルの全てではなく、 そのうちの特定のものだけを生成したい場合に用いられます。 .Nm の使用例については下の .Sx 使用例 のセクションを参照して下さい。 .Fl s オプション付きで実行されると、 .Nm は特定のトランスポートクラス用のサーバを生成します。 .Fl n オプション付きで実行されると、 .Nm は .Ar netid で指定されたトランスポート用サーバを生成します。 .Ar infile が指定されない場合、 .Nm は標準入力から入力を受け付けます。 .Pp 入力ファイルは、実際に .Nm に処理される前に、 C プリプロセッサ .Em cc -E で処理されます。 .Nm は、出力ファイルの各タイプ毎に .Nm プログラマ向けの特別なプリプロセッサシンボルを定義します: .Bl -tag -width indent .It RPC_HDR ヘッダをコンパイルする際に定義されます .It RPC_XDR XDR ルーチンをコンパイルする際に定義されます .It RPC_SVC サーバ側スタブをコンパイルする際に定義されます .It RPC_CLNT クライアント側スタブをコンパイルする際に定義されます .It RPC_TBL RPC ディスパッチテーブルをコンパイルする際に定義されます .El .Pp .Dq % で始まる行は全て、 .Nm に解釈されることなく、 出力ファイルに直接引き継がれます。 C プリプロセッサのパス名を指定するには .Fl Y フラグを使用して下さい。 .Pp .Ar infile で参照される全てのデータ型に対し、 .Nm は、そのデータ型名の前に .Em xdr_ を付与した名前の ルーチンが存在することを仮定します。 このルーチンが .Tn RPC/XDR ライブラリ中に存在しない場合は、 それを提供しなければなりません。 未定義データ型を提供することで .Xr xdr 3 ルーチンをカスタマイズすることが可能です。 .Sh オプション オプションは以下の通りです: .Bl -tag -width indent .It Fl a サンプルファイルを含め、全てのファイルを生成します。 .It Fl b 従来互換モード。 以前のバージョンの OS のために、トランスポート固有の .Tn RPC コードを生成します。 .It Fl c .Tn XDR ルーチンをコンパイル出力します。 .It Fl C .Tn ANSI C コンパイラで使用できるヘッダおよびスタブファイルを生成します。 このオプションで生成したヘッダファイルは C++ プログラムでも使用できます。 .It Fl D Ns Ar name .It Fl D Ns Ar name=value .\".It Fl D Ns Ar name Ns Op Ar =value シンボル .Ar name を定義します。 ソース中の .Em #define 指示行と等価です。 .Ar value が指定されない場合、 .Ar value は .Em 1 と定義されます。 このオプションは複数回の指定が可能です。 .It Fl h C のデータ定義 (ヘッダファイル) をコンパイル出力します。 同時に .Fl T オプションを指定することで、 .Tn RPC ディスパッチテーブルをサポートするヘッダファイルを生成できます。 .It Fl i Ar size インラインコードを生成し始めるサイズを指定します。 最適化を行う際に用いられます。デフォルト値は 5 です。 .Pp 注: .Fx プラットホームでの以前の .Nm と互換性を保つため、デフォルト値は実際には 0 (つまり、 デフォルトではインラインコードは生成しない) となっています。 このデフォルト値を上書きするには明示的に 0 以外の値を 指定しなければなりません。 .It Fl I サーバ側スタブにおける .Xr inetd 8 サポートコードを生成します。 このようにして生成したサーバは、単独で起動することも、 -.Nm inetd +.Xr inetd 8 から起動することもできます。 単独で起動した場合、デフォルトでは自らバックグラウンド動作に移ります。 特殊シンボル .Em RPC_SVC_FG を定義するか、 単に .Fl I オプションなしでコンパイルすると、 サーバプロセスはフォアグラウンドで動作します。 .Pp クライアントからの未処理リクエストがなければ、 -.Nm inetd +.Xr inetd 8 サーバは 120 秒 (デフォルト値) 経過の後、終了します。 このデフォルト値は .Fl K オプションにより変更できます。 -.Nm inetd +.Xr inetd 8 サーバの全エラーメッセージは常に .Xr syslog 3 によってログに残されます。 .Pp -注: ポートモニタと inetd から起動可能なサーバを作成するには、 +注: ポートモニタと +.Xr inetd 8 +から起動可能なサーバを作成するには、 他のシステムとは異なり、 .Fx では本オプションが必要です。 .Pp .It Fl K Ar seconds デフォルトでは、 .Nm を用いて作成され、ポートモニタから起動された サービスは、リクエストを処理した後 120 秒待って終了します。 この時間は .Fl K オプションを用いて変更できます。 リクエスト処理が済むと直ちに終了するようなサーバを生成するには、 .Fl K Ar 0 と指定します。また、決して終了しないサーバを生成するには、 .Fl K Ar -1 として下さい。 .Pp サーバをモニタする場合、 あるサービスリクエストに対して .Em 常に 新しいプロセスを生成するようなポートモニタがあります。 そのようなモニタを用いてサーバを使用することがわかっている場合は、 サーバは処理完了後直ちに終了すべきです。 そのようなサーバを生成するには、 .Nm は .Fl K Ar 0 オプションとともに使用すべきです。 .It Fl l クライアント側スタブをコンパイル出力します。 .It Fl L サーバがフォアグラウンドで起動された場合、 サーバのエラーを記録するのに、標準エラー出力に出力する代わりに .Xr syslog 3 を使用します。 .It Fl m サーバ側スタブをコンパイル出力しますが、 .Qq main ルーチンは生成しません。 コールバックルーチンのみを作成したり、初期化を行うために 独自の .Qq main ルーチンを必要とする場合に便利です。 .It Fl M rpcgen が生成したコードとユーザが書いたコードの間で 引数や結果を受渡しするために、 マルチスレッド対応の (MT-safe な) スタブを生成します。 ユーザプログラム中でスレッドを使用する場合に有用です。 しかし関数 .Xr rpc_svc_calls 3 はまだ MT-safe にはなっていません。 つまり rpcgen が生成したサーバ側コードは MT-safe ではありません。 .It Fl N 手続きが複数の引数を持てるようにします。 これはまた、C 言語に大変似たパラメータ渡し方法を用います。 ですから遠隔手続きにある引数を渡す場合、 その引数へのポインタを渡す必要はなく、引数そのものを渡せます。 この動作は .Nm が生成したコードの以前の振る舞いとは異なっています。 以前との互換性を保つため、このオプションはデフォルトでは有効ではありません。 .It Fl n Ar netid .Ar netid で指定したトランスポート用のサーバ側スタブをコンパイル出力します。 netconfig データベースには .Ar netid 用エントリが存在しなければなりません。 このオプションを複数回指定することで、 複数のトランスポートに対してサービスするサーバを作成することができます。 .It Fl o Ar outfile 出力ファイル名を指定します。 何も指定されなければ標準出力が用いられます ( .Fl c , .Fl h , .Fl l , .Fl m , .Fl n , .Fl s , .Fl \&Sc , .Fl \&Sm , .Fl \&Ss , .Fl t モード時のみ)。 .It Fl P サーバ側のスタブにポートモニタサポートを組み込みます。 .Pp 注: モニタ可能なサーバを作成するには、 他のシステムとは異なり、 .Fx では本オプションが必要です。 .Pp .Fl I オプションが指定された場合、 .Fl P は自動的にオフになります。 -.Pp .It Fl s Ar nettype クラス .Ar nettype に属する全てのトランスポート用の サーバ側スタブをコンパイル出力します。 サポートされているクラスは以下の通りです: .Em netpath , .Em visible , .Em circuit_n , .Em circuit_v , .Em datagram_n , .Em datagram_v , .Em tcp , .Em udp (これらのクラスの意味については .Xr rpc 3 を参照して下さい) このオプションは複数回指定できます。 注: トランスポートはコンパイル時ではなく実行時に選択されます。 .It Fl \&Sc 遠隔手続き呼び出しを用いるサンプルクライアントコードを生成します。 .It Fl \&Sm アプリケーションをコンパイルする際に用いるサンプル .Pa Makefile を生成します。 .It Fl \&Ss 遠隔手続き呼び出しを用いるサンプルサーバコードを生成します。 .It Fl t .Tn RPC ディスパッチテーブルをコンパイル出力します。 .It Fl T .Tn RPC ディスパッチテーブルをサポートするコードを生成します。 .Pp ある特定のタイプのファイルを生成するために、 以下のオプション .Fl c , .Fl h , .Fl l , .Fl m , .Fl s , .Fl \&Sc , .Fl \&Sm , .Fl \&Ss , .Fl t は排他的に使用されます。 他方、オプション .Fl D と .Fl T は大域的であり、他のオプションと組み合わせて使用できます。 .It Fl Y Ar pathname .Nm が C プリプロセッサを探し始めるディレクトリ名を指定します。 .El .Sh 使用例 以下の例: .Dl example% rpcgen -T prot.x .Pp は 5 種類のファイル: .Pa prot.h , .Pa prot_clnt.c , .Pa prot_svc.c , .Pa prot_xdr.c , .Pa prot_tbl.i の全てを生成します。 .Pp 次の例は C のデータ定義 (ヘッダ) を標準出力に出力します。 .Dl example% rpcgen -h prot.x .Pp .Fl D Ns Ar TEST のテストバージョンを作成するため、 クラス .Ar datagram_n に属する全トランスポート用サーバ側スタブを標準出力に出力するには次のよ うにします: .Dl example% rpcgen -s datagram_n -DTEST prot.x .Pp .Ar netid tcp で指定されたトランスポート用のサーバ側スタブを作成するには次のようにし ます: .Dl example% rpcgen -n tcp -o prot_svc.c prot.x .Sh 関連項目 .Xr cc 1 , .Xr rpc 3 , .Xr rpc_svc_calls 3 , .Xr syslog 3 , .Xr xdr 3 , .Xr inetd 8 .Rs .%T NETP マニュアルの rpcgen の章 .Re diff --git a/ja_JP.eucJP/man/man1/rtld.1 b/ja_JP.eucJP/man/man1/rtld.1 index 366d438638..b230a3a925 100644 --- a/ja_JP.eucJP/man/man1/rtld.1 +++ b/ja_JP.eucJP/man/man1/rtld.1 @@ -1,163 +1,163 @@ -.\" %FreeBSD: src/libexec/rtld-elf/rtld.1,v 1.29 2002/07/06 19:19:35 charnier Exp % +.\" %FreeBSD: src/libexec/rtld-elf/rtld.1,v 1.30 2002/12/12 17:25:54 ru Exp % .\" .\" Copyright (c) 1995 Paul Kranenburg .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by Paul Kranenburg. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ .Dd January 28, 2000 .Dt RTLD 1 .Os .Sh 名称 .Nm ld-elf.so.1 , .Nm rtld .Nd 実行時リンクエディタ .Sh 解説 .Nm ユーティリティは自己完結した共有オブジェクトで、 実行時にプロセスのアドレス空間に共有オブジェクトを読み込んで 編集する機能を提供します。 一般には動的リンカという名前でも知られています。 動的リンクされたプログラムに含まれるデータ構造を使って どの共有ライブラリが必要なのかを決定し、 .Xr mmap 2 システムコールを使ってそれらを読み込みます。 .Pp 全ての共有ライブラリを読み込むことに成功すると、次に .Nm はメインプログラムおよび読み込んだ 全てのオブジェクトからの外部参照を解決します。 プログラム本体の実行が始まる前になんらかの設定をする機会を 共有オブジェクトに与えるために、 オブジェクトごとに初期化ルーチンを呼ぶ機構があります。 これは静的コンストラクタを含むような C++ ライブラリにとって有用です。 .Pp 実行されるプログラムが動的にリンクされている場合には、そのプログラムと一緒に .Nm ユーティリティ自体がカーネルによって読み込まれます。 そしてカーネルは動的リンカに制御を移します。 動的リンカがプログラムとそれに必要な共有オブジェクトの 読み込み、再配置、初期化を終えると、 プログラムのエントリポイントに制御を移します。 .Pp ファイルシステム中にある必要な共有オブジェクトを探索するために、 .Nm は .Xr ldconfig 8 ユーティリティによって用意される .Dq hints ファイルを使います。 .Pp .Nm ユーティリティは以下に挙げるような、 自身の動作を変えるために使用されるいくつかの環境変数を認識します: .Pp .Bl -tag -width ".Ev LD_LIBRARY_PATH" .It Ev LD_LIBRARY_PATH コロンで区切られたディレクトリのリストで、 共有ライブラリのデフォルトサーチパスを上書きします。 この環境変数は、 set-user-ID 及び set-group-ID されたプログラムにおいては無視されます。 .It Ev LD_PRELOAD 他の共有ライブラリより前にリンクされるべき共有ライブラリのリストで、 コロンか空白で区切られています。 もしディレクトリが指定されていないならば、 最初に .Ev LD_LIBRARY_PATH で指定されるディレクトリから、 続いて組み込みの標準ディレクトリ群から検索されます。 この環境変数は、 set-user-ID 及び set-group-ID されたプログラムにおいては無視されます。 .It Ev LD_BIND_NOW 空ではない文字列が設定されている場合には、 .Nm は、全ての外部関数呼び出しをプログラムの実行を始める前に再配置します。 通常、関数呼び出しの結合は遅延方式 (lazy binding) で行われます。 すなわち、関数呼び出しはそれぞれの関数が最初に呼ばれる時に結合されます。 .Ev LD_BIND_NOW はプログラムの起動時間を増加させますが、 実行時に思いもかけず関数が定義されていなかったという事件は避けられます。 .It Ev LD_TRACE_LOADED_OBJECTS 空ではない文字列が設定されている場合には、 .Nm は共有オブジェクトを読み込んで、全てのオブジェクトの絶対パス名を含む 概要を標準出力に表示した後に終了します。 .It Ev LD_TRACE_LOADED_OBJECTS_ALL 空ではない文字列に設定されている場合には、 どのオブジェクトがどのオブジェクトのロードの原因となったのかという まとめを .Nm が展開するようにさせます。 .It Ev LD_TRACE_LOADED_OBJECTS_FMT1 .It Ev LD_TRACE_LOADED_OBJECTS_FMT2 設定されている場合には、 これらの変数は トレース出力をカスタマイズするための .Xr printf 3 流フォーマット文字列として解釈されます。 .Xr ldd 1 の .Fl f オプションがこれらを使用するので、 .Xr ldd 1 をより便利にフィルタとして使うことができます。 以下の変換を使うことができます: .Bl -tag -width 4n .It Li %a メインプログラムの名前 (またの名を .Dq __progname ) 。 .It Li \&%A .Ev LD_TRACE_LOADED_OBJECTS_PROGNAME 環境変数の値。 .It Li %o ライブラリの名前。 .It Li %m ライブラリのメジャーバージョン番号。 .It Li %p .Nm rtld のライブラリ検索ルールで決定されるフルパス名。 .It Li %x ライブラリのロードアドレス。 .El .Pp さらに、 .Ql \en と .Ql \et が認識され、通常の意味をもちます。 .El .Sh 関連ファイル .Bl -tag -width indent .It Pa /var/run/ld-elf.so.hints .El .Sh 関連項目 .Xr ld 1 , .Xr ldd 1 , .Xr elf 5 , .Xr ldconfig 8 diff --git a/ja_JP.eucJP/man/man1/sed.1 b/ja_JP.eucJP/man/man1/sed.1 index cd197db1b1..b104e7e8b9 100644 --- a/ja_JP.eucJP/man/man1/sed.1 +++ b/ja_JP.eucJP/man/man1/sed.1 @@ -1,518 +1,514 @@ .\" Copyright (c) 1992, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the 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. .\" .\" @(#)sed.1 8.2 (Berkeley) 12/30/93 -.\" %FreeBSD: src/usr.bin/sed/sed.1,v 1.28 2002/06/25 08:36:19 tjr Exp % +.\" %FreeBSD: src/usr.bin/sed/sed.1,v 1.29 2002/11/26 17:33:35 ru Exp % .\" $FreeBSD$ .\" .Dd May 7, 2002 .Dt SED 1 .Os .Sh 名称 .Nm sed .Nd ストリームエディタ .Sh 書式 .Nm .Op Fl Ean .Ar command .Op Ar .Nm .Op Fl Ean .Op Fl e Ar command .Op Fl f Ar command_file .Op Fl i Ar extension .Op Ar .Sh 解説 .Nm は、指定されたファイル、ファイルが指定されていないときは標準入力を読み込み、 指定されたコマンドリストに従って入力に変更を加え、変更結果を標準出力に書き 出します。 .Pp .Nm への第一引数として単一のコマンドを指定することができます。複数のコマンドを指定するときは、 .Fl e または .Fl f オプションで行います。どちらの場合でも、入力に対して指定されたコマンドを、 指定された順序で実行します。 .Pp オプションは以下のとおりです。 .Bl -tag -width indent .It Fl E 正規表現を、Basic Regular expression (BRE) ではなく、 拡張 (モダン) 正規表現として解釈します。 .Xr re_format 7 マニュアルページは、どちらの書式も完全に記述しています。 .It Fl a 通常、 .Dq w 関数の引数となるファイルは、処理に先立って空のファイルとして作成されます。 .Fl a オプションを指定することにより、 .Dq w 関数が入力に対して適用されるときまで、 ファイルの作成が遅延されます。 .It Fl e Ar command 編集コマンド .Ar command をコマンドリストに追加します。 .It Fl f Ar command_file ファイル .Ar command_file に記述されたコマンドをコマンドリストに追加します。 編集コマンドは 1 行ごとに記述します。 .It Fl i Ar extension ファイルをその場で編集し、指定した .Ar extension のバックアップを保存します。 長さ 0 の .Ar extension が指定された場合、バックアップは保存されません。 その場で編集するときに、長さ 0 の .Ar extension を指定することは勧められません。 ディスク空間が尽きてしまったときなどに、 ファイルが壊れたり内容が一部だけになってしまうことがあるからです。 .It Fl n デフォルトでは、入力行は、すべてのコマンドを適用した後に標準出力に書 き出されます。 .Fl n オプションはこの動作を禁止し、明示的な出力コマンド ( .Dq p 等)が適用された入力のみを出力します。 .El .Pp .Nm のコマンドは以下の形式です。 .Pp .Dl [address[,address]]function[arguments] .Pp 最初の address の前と function の前に空白を置くことができます。 .Pp 通常 .Nm は、入力ファイルの各行を改行コードを含めずに .Em "パターンスペース" にコピーし( .Dq D 関数の後でパターンスペースになにか残っている場合を除きます)、 順にコピーされた内容に適応する address 指定を持つコマンドを 適用し、パターンスペースの内容を改行を付与して標準出力へ書き出し、 パターンスペースを消去するという動作を繰り返します。 .Pp いくつかの関数は、パターンスペースの一部または全部を保持できる .Em "ホールドスペース" を利用します。ホールドスペースの内容は、以降の処理に用いることができ ます。 .Sh "sed の address 表記" address の指定は必須ではありません。address は行番号 (複数の入力ファイ ルに対しては通し番号を用います)、入力の最後の行を示すドル記号 .Pq Dq $ 、コンテキストアドレス (区切り記号にはさまれた正規表現) のいずれかです。 .Pp address 指定を持たないコマンドは、すべてのパターンスペースを選択します。 .Pp 1つの address 指定を持つコマンドは、その address 指定にマッチする すべてのパターンスペースを選択します。 .Pp 2 つの address 指定を持つコマンドは、address の両端を含んだ範囲を 選択します。 この範囲は、1 つめの address にマッチしたパターンスペースで始まり、 その後に続く 2 つめの address にマッチしたパターンスペースで終わります。 2 つめの address が、1 つめの address で選択された行番号以下の 番号である場合、1 つめの address が指定する行のみ選択されます。 2 つめの address がコンテキストアドレスである場合、sed は、 1 つめの address にマッチしたパターンスペースを 2 つめの address に再びマッチさせようとはしません。sed は、選択された範囲の 次の行から、1 つめの address にマッチする行の検索を 再開します。 .Pp エクスクラメーション関数 .Pq Dq \&! を用いることにより、address で選択されていない範囲に編集コマンドを適用させることもできます。 .Sh "sed の正規表現" .Nm で使われる正規表現は、デフォルトでは Basic Regular expression (BRE .Xr re_format 7 を参照) です。 .Nm は、 .Fl E フラグを指定されると、拡張 (モダン) 正規表現を使用可能です。 正規表現に加え、 .Nm では以下の拡張がなされています。 .Pp .Bl -enum -compact .It コンテキストアドレスにおいて、バックスラッシュ .Pq Dq \e と改行以外の文字を正規表現の区 切りとして用いることできます。区切り文字の直前にバックスラッシュを置く ことで、区切り文字をリテラルに解釈させることができます。たとえば、コンテキ ストアドレス \exabc\exdefx において、区切り文字は .Dq x で、2つめの .Dq x は .Dq x という文字を表します。よって、正規表現は .Dq abcxdef と解釈されま す。 .Pp .It エスケープシーケンス \en は、パターンスペースに埋め込まれた改行にマッチします。 しかし、address と置換コマンド中にリテラルな改行を含めること はできません。 .El .Pp .Nm の正規表現には、デフォルト値の機能があります。 もし、正規表現が空、すなわち、区切りのみが指定されたなら、直前に用いられた正規表 現が用いられます。直前の正規表現とは、最後に使われた address または置換 コマンド中の正規表現です。最後とは実行時の順番であり、指定さ れたコマンドの並びとは異なります。たとえば、 .Dq /abc/s//XXX/ はパターン .Dq abc を .Dq XXX で置換します。 .Sh "sed の関数" 以下のコマンドの一覧では、指定可能な最大 address 数を、[0addr]、 [1addr]、[2addrs] と表記しています。これらは、それぞれ最大 0、1、2 個 の address を指定することができることを意味します。 .Pp .Em text 引数のテキストは複数行に渡ることができます。改行の直前にバックスラッシュ を置くことで、テキストに改行を含めることができます。その他のバックスラッ シュは取り除かれ、直後の文字がリテラルに解釈されます。 .Pp .Dq r と .Dq w 関数は、オプショナルなファイル名引数をとります。ファイル名は、 関数名のあとに空白を置いてから指定する必要があります。引数として指定され たファイルは、入力ファイルの処理を開始する前に作成(または、内容を消去)し ます。 .Pp .Dq b , .Dq r , .Dq s , .Dq t , .Dq w , .Dq y , .Dq \&! , .Dq \&: 関数は、オプショナルな引数をとることが できます。以下の一覧に、どの引数が関数名のあとに空白を置いてから指定し なければならないかが記述してあります。 .Pp 2つの関数は引数として関数リストをとります。関数リストは、以下の形式の 改行で区切られた .Nm 関数の羅列です。 .Bd -literal -offset indent { function function ... function } .Ed .Pp .Dq { の前後に空白を置くことができます。関数の前に空白を置くことができま す。最後の .Dq } は、改行の直後に置く必要があります。 .Dq } の直前に空白を置 くこともできます。 .Pp .Bl -tag -width "XXXXXX" -compact .It [2addr] function-list 選択されたパターンスペースに関数リストを適用します。 .Pp .It [1addr]a\e .It text 次の入力行を読み込む直前に .Em text を標準出力に書き出します。 これは .Dq N 関数によって実行される場合でも新しい繰り返しの開始時であっても変わりません。 .Pp .It [2addr]b[label] 指定された label を持つ .Dq \&: 関数に分岐します。label が指定さ れていない場合は、スクリプトの最後に分岐します。 .Pp .It [2addr]c\e .It text パターンスペースを削除します。address が指定されていない場合と、1つだけ 指定された場合は .Em text が標準出力に書き出されます。2つの address が 指定された場合は、選択された範囲の最終行を処理した後に、text が標準出力に書き出されま す。 .Pp .It [2addr]d パターンスペースを削除し、次の繰り返しを開始します。 .Pp .It [2addr]D パターンスペースの最初の改行までの部分を削除し、次の繰り返しを開始します。 .Pp .It [2addr]g ホールドスペースの内容をパターンスペースにコピーします。 .Pp .It [2addr]G 改行文字とホールドスペースの内容をパターンスペースに追加します。 .Pp .It [2addr]h パターンスペースの内容をホールドスペースにコピーします。 .Pp .It [2addr]H 改行文字とパターンスペースの内容をホールドスペースに追加します。 .Pp .It [1addr]i\e .It text 標準出力に .Em text を書き出します。 .Pp .It [2addr]l パターンスペースの内容を読めるような以下の形式で出力します。 .Pp .Bl -tag -width "carriage-returnXX" -offset indent -compact .It backslash \e\e .It alert \ea .It form-feed \ef .It carriage-return \er .It tab \et .It vertical tab \ev .El .Pp 印字不可能な文字は、各バイトごとに .Dq \e に続いて 3 桁の 8 進数で出力されま す (Most Significant Byte が先頭です)。 長い行は折り返して表示されます。折り返した部分は .Dq \e に続く改行で 示されます。各行の最後には .Dq $ が出力されます。 .Pp .It [2addr]n もし、( .Fl n オプションによって)デフォルトの出力が停止されていないなら、 パターンスペースの内容を標準出力に書き出します。 また、パターンスペースを次の入力行 で置き換えます。 .Pp .It [2addr]N パターンスペースに、次の入力行を追加します。このとき、元の内容との 間に改行を埋め込みます。現在の行番号が変化することに注意してください。 .Pp .It [2addr]p パターンスペースの内容を標準出力に書き出します。 .Pp .It [2addr]P パターンスペースの最初の改行までの内容を標準出力に書き出します。 .Pp .It [1addr]q スクリプトの残りをスキップし、次の繰り返しを開始せずに終了します。 .Pp .It [1addr]r file 次の入力行を読み込む直前に、ファイル .Em file の内容を標準出力に書き出します。 .Pp .It [2addr]s/regular expression/replacement/flags パターンスペース内で、 regular expression に対応する最初の部分を replacement で 置換します。バックスラッシュと改行以外の文字をスラッシュのかわりに用 いることができます。regular expression と replacement の中に、リテラルな区切り文 字を置きたいときは、 .Dq \e に続けて区切り文字を置きます。 .Pp replacement 中のアンパサンド .Pq Dq & は、regular expression にマッチした文 字列に置換されます。 .Dq & の前に .Dq \e を置くことで、この特殊な .Dq & の解釈を禁止 することができます。 .Dq \e# ( .Dq # は数字)は、regular expression の 後方参照(back reference)表現にマッチするテキストに置換されます( .Xr re_format 7 参照)。 .Pp replacement に改行を含めることで、入力行を分割することができます。 改行の直前に .Dq \e を置くことで、replacement 中に改行を含めることができ ます。 .Pp s 関数の .Em flags には、以下のものを0個以上指定できます。 .Bl -tag -width "XXXXXX" -offset indent -.It Em N +.It Ar N パターンスペースで -.Em N +.Ar N 回目にマッチした regular expression のみを置換します。 .It g 先頭だけではなく、重なりあわない全てのマッチした内容を replacementで置換します。 .It p 置換が行われたら、パターンスペースの内容を標準出力に書き出します。 もし、置換後の内容が置換前のものと同一でも置換が行われたとみなします。 .It w Em file もし置換が行われたなら、パターンスペースの内容をファイル .Em file に追加します。 もし、置換後の内容が置換前のものと同一でも置換が行われたとみなします。 .El .Pp .It [2addr]t [label] 入力行が読み込まれてから、あるいは .Dq t 関数が実行されてから、置換が 行われていれば、指定した label を持つ .Dq \&: コマンドへ分岐します。label が指 定されていない場合は、スクリプトの最後に分岐します。 .Pp .It [2addr]w Em file パターンスペースの内容をファイル .Em file に追加します。 .Pp .It [2addr]x パターンスペースとホールドスペースの内容を交換します。 .Pp .It [2addr]y/string1/string2/ .Em string1 に現れるパターンスペース中の文字を .Em string2 の対応した 文字に置換します。たとえば、`y/abc/ABC/' はパターンスペース中の文字 a、b、c を大文字に置換します。 `\e' と改行以外のすべての文字を区切りとし て用いることができます。 .Em string1 、 .Em stirng2 中では、`\e' 直後に改行以外の文字が続く場合はリテラルに解釈され、 `\en' は改行と解釈されます。 .Pp .It [2addr]!function .It [2addr]!function-list 関数または関数リストを、 address で選択されていない行に適用します。 .Pp .It [0addr]:label この関数は何も行いません。 .Dq b 、 .Dq t で用いるラベルを生成します。 .Pp .It [1addr]= 行番号と改行を標準出力に書き出します。 .Pp .It [0addr] 空行は無視されます。 .Pp .It [0addr]# .Dq # とそれ以降の文字は無視されます(コメントとして扱われます)。 ただし、ファイルの行頭の 2 文字が `#n' の場合、デフォルトの出力が禁止されます。これは、コマンドライン に .Fl n オプションを指定した場合と等価です。 .El .Sh 環境変数 -.Ev COLUMNS , -.Ev LANG , -.Ev LC_ALL , -.Ev LC_CTYPE , -.Ev LC_COLLATE +.Ev COLUMNS , LANG , LC_ALL , LC_CTYPE , LC_COLLATE の環境変数が、 .Xr environ 7 の記述通りに、 .Nm の実行に影響します。 .Sh 診断 .Ex -std .Sh 関連項目 .Xr awk 1 , .Xr ed 1 , .Xr grep 1 , .Xr regex 3 , .Xr re_format 7 .Sh 規格 .Nm ユーティリティは .St -p1003.2 のスーパセットとなっているはずです。 .Pp .Fl i オプションは非標準の .Fx 拡張であり、他のオペレーティングシステムでは使用できないかもしれません。 .Sh 歴史 .Nm コマンドは .At v7 で登場しました。 diff --git a/ja_JP.eucJP/man/man1/sh.1 b/ja_JP.eucJP/man/man1/sh.1 index 0554b8c71e..f3f9509e31 100644 --- a/ja_JP.eucJP/man/man1/sh.1 +++ b/ja_JP.eucJP/man/man1/sh.1 @@ -1,1816 +1,1819 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Kenneth Almquist. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" %FreeBSD: src/bin/sh/sh.1,v 1.79 2002/08/24 12:41:23 tjr Exp % +.\" %FreeBSD: src/bin/sh/sh.1,v 1.79.2.1 2002/12/17 17:37:06 fanf Exp % .\" .\" $FreeBSD$ .\" Japanese Translation amended by Norihiro Kumagai, 3/29/96, .\" based on the version of NetBSD Japanese Man Project .\" This amended version is for the FreeBSD-jpman Project, convened .\" by Kazuo Horikawa. .\" .Dd May 5, 1995 .Dt SH 1 .Os .Sh 名称 .Nm sh .Nd コマンドインタプリタ (シェル) .Sh 書式 .Nm .Op Fl /+abCEefIimnPpsTuVvx .Op Fl /+o Ar longname .Op Fl c Ar string .Op Ar arg ... .Sh 解説 .Nm ユーティリティ はシステムの標準コマンドインタプリタです。 現在 .Nm は .St -p1003.2 のシェル規約に対応する途上にあります。 本バージョンのシェルは、見方によっては Korn shell と同様に 見える機能を多数持っていますが、 .Xr pdksh 1 のような Korn shell クローンではありません。 このシェルには、POSIX で規定された仕様といくつかの Berkeley 拡張のみが 取り入れられています。 本マニュアルは、shell のチュートリアルでは ありませんし、仕様を完全に記述するものでもありません。 .Ss 概要 シェルは、ファイルまたは端末から 1 行ずつ読み込み、それを解釈し、 コマンドを実行します。シェルはユーザがシステムにログインしたときに起動 されるプログラムです (ただし、ユーザは .Xr chsh 1 コマンドによって他のシェルを選択することもできます)。 シェルは、制御構文を持つ言語であり、 データ記憶をはじめとして多様な機能を提供するマクロ機能、 ヒストリ、行編集機能も内蔵しています。 このシェルは対話的に使うときに便利な機能を多くとり入れており、 対話的に用いるときも非対話的に (シェルスクリプトとして) 用いるときも、 共通のインタプリタ言語を用いることができる利点があります。 すなわち、コマンド名をシェルに直接タイプする ことも、コマンド名をファイルに書いておいてそのファイルをシェルに 直接実行させることもできます。 .Ss 起動 .\" .\" XXX This next sentence is incredibly confusing. .\" 引数が与えられず、かつシェルの標準入力が端末の場合 (または .Fl i フラグが指定 された場合)、シェルは対話的に動作します。対話的シェルは、通常、コマンド 入力時にプロンプトを表示し、文法的なエラーとコマンドエラーを 異なった方法で処理します (後述します)。 起動時に、シェルは 0 番目の引数を検査します。もしそれが マイナス記号 .Pq Li - で始まっているなら、シェルはログインシェルとして 動作します。ユーザがシステムにログインした場合は自動的にこの状況に なります。ログインシェルは、まず (以下の各ファイルが存在する場合)、 .Pa /etc/profile と次に .Pa .profile ファイルからコマンドを読み込みます。 シェル起動時に、もしくはログインシェルで .Pa .profile を実行中に環境変数 .Ev ENV が設定されているなら、シェルは、その次に環境変数 .Ev ENV で示されたファイルからコマンドを読み込みます。 つまり、ユーザはログイン時にのみ実行したいコマンドを .Pa .profile に書き、シェルが起動されるたびに実行したいコマンドを環境変数 .Ev ENV で示すファイルに書くことになります。 環境変数 .Ev ENV を設定するには、ホームディレクトリ下のファイル .Pa .profile に以下のように記述します。 ここで .Pa .shinit のかわりに好きな名前を指定することができます。 .Pp .Dl ENV=$HOME/.shinit; export ENV .Pp コマンドライン引数で指定されたオプション以外の最初のものを、シェルは コマンドを読み込むべきファイル (シェルスクリプト) の名前であると解釈し、 それ以後の引数はシェルの位置パラメータ ($1, $2, ...) に設定します。 それ以外の場合、シェルはコマンドを標準入力から読み込みます。 .Pp 古いバージョンの .Nm とは異なり、環境変数 .Ev ENV で指定したスクリプトが実行されるのは、対話的シェルの呼び出し時のみです。 これにより、いい加減に書かれた .Ev ENV スクリプトに起因する、簡単に食いものにされることが多い有名な セキュリティホールがふさがれたことになります。 .Ss 引数リスト処理 .Nm の 1 文字からなるオプションはそれぞれ対応する長い名前を持っています。 ただし .Fl c と .Fl /+o は例外です。 次の解説では、長い名前は単一文字オプションの隣に示されています。 あるオプションの長い名前は、 .Xr sh 1 の .Fl /+o オプションへの引数として指定可能です。 シェルが起動されてからは、 オプションの長い名前を .Ic set 組み込みコマンド (後述の .Sx 組み込みコマンド で説明) の .Fl /+o オプションへの引数として指定可能です。 マイナス記号 .Pq Li - でオプションを指定することは、そのオプションを有効にすることを意味し、 プラス記号 .Pq Li + でオプションを指定することは、そのオプションを無効にすることを意味します。 .Dq Li -- または、単なる .Dq Li - はオプション処理を終了させ、 コマンドラインの残りの語を引数として解釈することを強制します。 .Fl /+o と .Fl c のオプションは長い名前を持ちません。 .Bl -tag -width indent .It Fl a Li allexport 値が代入されたときに変数をエクスポートするよう、変数にフラグを付けます。 .It Fl b Li notify バックグラウンドジョブ実行の完了を、コマンドが実行中でも即座に報告しま す (未実装です)。 .It Fl C Li noclobber すでに存在するファイルを .Dq Li > リダイレクトで上書きしません。 .It Fl E Li emacs 組み込みの .Xr emacs 1 風のコマンド行編集機能を有効にします (それ以前に .Fl V オプションが指定されていた場合、それを無効にします)。 .It Fl e Li errexit 非対話モードで、テスト状態にないコマンドの実行に失敗した場合、 直ちにシェルを終了します。 コマンドは、if, elif, while, until 構文を 制御するのに用いられている場合に、テスト状態であるとみなされます。 また、 .Dq Li && や .Dq Li || の左辺値として用いられているコマンドも、テスト状態とみなされます。 .It Fl f Li noglob パス名展開を行いません。 .It Fl I Li ignoreeof 対話的シェルの場合、入力の .Dv EOF を無視します。 .It Fl i Li interactive シェルが対話的に動作するように強制します。 .It Fl m Li monitor ジョブ制御を可能にします (対話的シェルの場合は自動的に設定されます)。 .It Fl n Li noexec 非対話的シェルの場合、コマンドを読み込みますが、そのコマンドの実行は しません。シェルスクリプトの文法を検査する場合に便利です。 .It Fl P Li physical .Ic cd と .Ic pwd コマンドにおけるデフォルトを .Fl L (論理的なディレクトリレイアウト) から .Fl P (物理的なディレクトリレイアウト) へ変更します。 .It Fl p Li privileged 特権モードを有効にします。 起動時に実効ユーザ ID あるいは実効グループ ID が、実ユーザ ID や実グルー プ ID と一致していなければ、このモードが有効になります。このモードを無 効化すると、実効ユーザ ID および実効グループ ID は、実ユーザ ID および 実グループ ID に設定されます。 対話的シェルでこのモードが有効になっていると、 .Pa /etc/profile の後で .Pa ~/.profile に代わり、 .Pa /etc/suid_profile を読み込みます。一方、環境変数 .Ev ENV の内容は無視されます。 .It Fl s Li stdin コマンドを標準入力から読み込みます (引数でファイル名が指定されていない 場合には、このオプションが自動的に設定されます)。 シェルが実行されてから本オプションを ( .Ic set などによって) 設定しても効果はありません。 .It Fl T Li asynctraps 子を待つとき、即座にトラップを実行します。 本オプションが設定されていないと、 .St -p1003.2 で指定されているように、子が終了した後にトラップが実行されます。 この非標準オプションは、 シグナルをブロックする子の周囲に保護シェルを置くために有用です。 周囲のシェルは子を殺したり、 次のように、制御を tty に戻して子だけを残したりできます: .Bd -literal -offset indent sh -T -c "trap 'exit 1' 2 ; some-blocking-program" .Ed .Pp .It Fl u Li nounset 値が設定されていない変数を展開しようとした場合、 標準エラー出力にエラーメッセージを出力し、 さらに非対話的シェルならば、ただちにシェルを終了します。 .It Fl V Li vi 組み込みの .Xr vi 1 風の行編集機能を有効にします (それ以前に .Fl E オプションが指定されていた場合、それは無効になります)。 .It Fl v Li verbose 入力を読み込むごとに標準エラー出力に書き出します。デバッグのときに便利です。 .It Fl x Li xtrace 各コマンドを実行する前に、そのコマンドを標準エラー出力に (各コマンドの 前に .Dq Li +\ \& を付加して) 書き出します。デバッグのときに便利です。 .El .Pp .Fl c オプションは、シェルの入力として解釈させる文字列引数を渡すために使用可能です。 このオプションは引数として文字列を一つだけ受け取ることに注意して下さい。 ですから、複数の単語からなる文字列は引用符で囲う必要があります。 .Pp .Fl /+o オプションは、オプションの長い名前のみを引数としてとり、 オプションの有効化と無効化を行います。 例えば、次の 2 つの .Nm 起動方法では組み込みの .Xr emacs 1 コマンドラインエディタを有効化します: .Bd -literal -offset indent set -E set -o emacs .Ed .Pp .Fl o オプションが引数なしで使用された場合、 現在のオプション設定を人が読める形式で表示します。 .Cm +o が引数なしで使用された場合は、現在のオプション設定を シェルへ再入力するのに適した形式で出力します。 .Ss 構文構造 シェルは、ファイルを行単位で読み込み、空白文字 (ブランクおよびタブ) や シェルにとって特別な意味を持つ特定の文字列 ( .Dq 演算子 と呼ばれるものです) を区切りとして、複数の単語に分割します。演算子には、制御演算子とリ ダイレクト演算子の 2 種類があります (これらの意味については後述します)。 以下に、それらの一覧を示します。 .Bl -tag -width indent .It No 制御演算子: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Li & Ta Li && Ta Li ( Ta Li ) Ta Li \en .It Li ;; Ta Li ; Ta Li | Ta Li || .El .It No リダイレクト演算子: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Li < Ta Li > Ta Li << Ta Li >> Ta Li <> .It Li <& Ta Li >& Ta Li <<- Ta Li >| .El .El .Ss 引用 (クォート) 引用は、特殊な意味を持つ文字や単語 (演算子、空白、キーワードなど) の意味 を打ち消すために用います。引用には、シングルクォート文字のペアを使う方法、 ダブルクォート文字のペアを使う方法、バックスラッシュ文字を使う方法 の 3 種類があります。 .Bl -tag -width indent .It シングルクォート文字 シングルクォートのペアで囲まれた文字は、すべてその文字そのまま (リテラル) として扱われます (ただしシングルクォートは別です。シングルクォート で囲った文字列の中にシングルクォートを含めることはできません)。 .It ダブルクォート文字 ダブルクォートのペアで囲まれた文字は、ドル記号文字 .Pq Li $ 、バッククォート文字 .Pq Li ` 、バックスラッシュ文字 .Pq Li \e を除き、すべてリテラルとして扱われます。 ダブルクォート文字による引用の中にあるバックスラッシュ文字は、歴史 的経緯によりすこし変わった扱いを受けます。 次の文字の前にある場合はクォートになりますが、 それ以外ではリテラルのままとなります: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Li $ Ta Li ` Ta Li \&" Ta Li \e\ Ta Li \en .El .It バックスラッシュ バックスラッシュは、その後ろの 1 文字を、リテラルとして扱うように指示 します。ただし改行文字 .Pq Li \en は別です。改行文字の直前のバックスラッシュは、行 の継続であるとみなされます。 .El .Ss 予約語 予約語はシェルにとって特別な意味を持つ単語で、行の先頭または制御演算子 の直後でのみ予約語として認識されます。以下に予約語の一覧を挙げます。 .Bl -column "doneXX" "elifXX" "elseXX" "untilXX" "whileX" -offset center .It Li \&! Ta { Ta } Ta Ic case Ta Ic do .It Ic done Ta Ic elif Ta Ic else Ta Ic esac Ta Ic fi .It Ic for Ta Ic if Ta Ic then Ta Ic until Ta Ic while .El .Ss エイリアス エイリアスは、名前とそれと対応する値が対になったもので、 組み込みコマンド .Ic alias によって定義されます。 シェルは、予約語が現れる可能性がある場所 (上記を参照) で、 ある単語に対して、それが予約語かどうかの検査を済ませたのち、 それがエイリアスに一致するかどうかを検査します。 もし一致したならば、入力行の中で、その単語をエイリアスの値に置き換えます。 たとえば、 .Dq Li lf という名前で .Dq Li ls -F という値を持つエイリアスが 存在したとすると、次の入力行 .Bd -literal -offset indent lf foobar .Ed .Pp は、以下のように置換されます。 .Bd -literal -offset indent ls -F foobar .Ed .Pp エイリアスは、初心者に対し、引数付きの関数を生成する面倒を求めることなく、 短いコマンドを作り出す便利な方法を提供するものです。 しかし、構文的にあいまいなコードを作り出すことにもつながりかねません。 そのような使い方はお勧めできません。 .Ss コマンド シェルは、読み込んだ単語を、文法に従って解釈します。 本マニュアルでは文法については解説しません。 .St -p1003.2 の BNF 表記を参照してください。要するに、行を 1 行を読み込み、読み込んだ 行の最初の単語 (制御演算子がある場合は、そのあとの最初の単語) が予約語 でない場合、シェルはその行を単純コマンドとして解釈します。それ以外の場 合、複合コマンドあるいは特殊構造であると解釈します。 .Ss 単純コマンド 単純コマンドを解釈する場合、シェルは以下のような動作をします。 .Bl -enum .It 単語の前にある .Dq Li name=value の形式の単語を取り除き、 単純コマンドの環境に代入します。 リダイレクト演算子とその引数 (後述) を取り除き、 あとで処理できるように保存します。 .It 残った単語を、 .Sx 単語展開 の節で説明する方法で展開します。 展開後の最初の単語をコマンド名とみなし、コマンドの位置を探索します。 残りの単語はコマンドへの引数とみなされます。 処理の結果、コマンド名が残らなかった場合、手順 1) で 取り出した .Dq Li name=value の変数代入を、現在のシェルの環境に反映します。 .It 次節で説明する方法で、リダイレクトを行います。 .El .Ss リダイレクト リダイレクトは、コマンドがどこから入力するか、どこへ出力するかを 変更するときに用います。 一般には、リダイレクトでは、ファイルのオープン、クローズ、または ファイルへの参照の複製 (duplicate) を行います。 リダイレクトで用いられる全般的な形式は、以下のとおりです。 .Pp .Dl [n] redir-op file .Pp ここで、 .Ql redir-op は前述したリダイレクト演算子のいずれかです。 これらの演算子をどのように利用するかの例をいくつか以下に挙げます。 .Bl -tag -width "1234567890XX" -offset indent .It Li [n]> file 標準出力 (またはファイル記述子 n) を file にリダイレクトします .It Li [n]>| file 上と同様。ただし .Fl C オプションの効果を打ち消します。 .It Li [n]>> file 標準出力 (またはファイル記述子 n) を file に追加します。 .It Li [n]< file 標準入力 (またはファイル記述子 n) を file からリダイレクトします。 .It Li [n]<> file 標準入力 (またはファイル記述子 n) を file から/へ、リダイレクトします。 .It Li [n1]<&n2 ファイル記述子 n2 を標準入力 (またはファイル記述子 n1) に複製します。 .It Li [n]<&- 標準入力 (またはファイル記述子 n) をクローズします。 .It Li [n1]>&n2 標準出力 (またはファイル記述子 n1) をファイル記述子 n2 に複製します。 (訳注: 通常は「ファイル記述子 n2 を標準出力 (またはファイル記述子 n1) に 複製」と表現します。 結果は、標準出力 (または n1 への出力) の n2 へのリダイレクトです。) .\" [man-jp 1544], [man-jp 1827] 以降のスレッド参照。 .It Li [n]>&- 標準出力 (または n) をクローズします。 .El .Pp 以下のリダイレクトは、しばしば .Dq ヒア・ドキュメント (here-document) と 呼ばれます。 .Bd -literal -offset indent [n]<< delimiter here-doc-text ... delimiter .Ed .Pp シェルは、delimiter までの行を保存し、コマンドへの標準入力またはファイ ル記述子 n にリダイレクトします。最初の行の delimiter が引用 (クォート) されていた場合、here-doc-text の内容をリテラルとして扱います。 そうでない場合、パラメータ展開、コマンド置換、数値演算 ( .Sx 単語展開 の節で 説明します) を適用します。演算子が ( .Dq Li << でなく) .Dq Li <<- の場合は、 here-doc-text の各行の行頭のタブを取り除きます。 .Ss コマンド検索と実行 コマンドには、シェル関数、組み込みコマンド、通常プログラムの 3 種類があり、 コマンドを検索する際には、シェルは名前の検索をこの順序で行います。 3 種類のコマンドは異なる方法で実行されます。 .Pp シェル関数を実行するとき、$0 を除くすべての位置パラメータ ($1, $2,..) をシェル関数への引数として設定します。$0 は変更されません。シェル関数 の環境として指定された変数 (関数名の直前に .Dq name=value を置いて指定 されたもの) は、その関数に局所的な変数となり、指定された初期値が設定さ れます。そして、シェルは関数定義で与えられたコマンドを実行します。コマ ンドの実行が完了すると、位置パラメータを元の値に戻します。これは全て現 在のシェルの中で処理されます。 .Pp シェルの組み込みコマンドは、新たなプロセスを作成せずにシェル内部で実行されます。 .Pp コマンドが関数でも組み込みコマンドでもない場合は、通常のプログラムとみなし (次節で説明するとおり) ファイルシステムの中でそのコマンドを検索します。 通常のプログラムを実行する場合、シェルは引数と 環境をプログラムに渡して、そのプログラムを実行します。 プログラムが通常の実行ファイル形式ではない場合 (つまり、 .Tn ASCII 表現で .Qq #! となる .Qq マジックナンバ でファイルが始まっておらず、 .Xr execve 2 が .Er ENOEXEC を返す場合)、 サブシェルの中でそのプログラムを解釈実行します。この場合、あたかも新たに シェルが起動されたかのような効果を得るために、子シェルは自分自身を 再初期化します。ただし、子プロセスは、親シェル中のハッシュされたコマンド 位置情報を憶えており、これは再初期化されません。 .Pp 本ドキュメントの古いバージョンや古いソースコードでは、ときおり、 マジックナンバのないシェルスクリプトのことを .Qq シェル手続き と呼んでいて、 まぎらわしい場合がありますので注意して下さい。 .Ss パス検索 コマンドを検索するとき、シェルは、まず、その名前のシェル関数があるかどうかを 調べます。次に、その名前の組み込みコマンドがあるかどうかを調べます。 組み込みコマンドでもない場合、以下のいずれかの処理が行われます: .Bl -enum .It コマンド名にスラッシュが含まれていれば、検索は行わず、 単にそのコマンドが実行されます。 .It 変数 .Ev PATH に含まれる各エントリに対して、順にそのコマンドを検索します。 変数 .Ev PATH の値はコロンで区切られたエントリの列でなければなりません。 各エントリは、それぞれディレクトリ名一つに対応します。 カレントディレクトリは、 空のディレクトリ名を指定することで暗黙的に、 あるいは 1 個のピリオドを指定することで明示的に 指示することができます。 .El .Ss コマンドの終了ステータス 各コマンドは終了ステータスを持ち、それにより他のシェルコマンドの動作に 影響を与えることができます。基本的な考え方として、終了ステータス 0 は 通常の終了または成功を示します。0 以外の終了ステータスは失敗、エラーを 意味します。各コマンドのマニュアルにそれぞれの終了ステータスがどのよう な意味を持つかが記述されているはずです。組み込みコマンドと (実行された) 関数も終了ステータスを返します。 .Pp コマンドがシグナルにより終了 (terminate) させられた場合、 終了ステータスは 128 にシグナル番号を加えたものになります。 シグナル番号はヘッダファイル .Aq Pa sys/signal.h に定義されています。 .Ss 複合コマンド (Complex Commands) 複合コマンドは、単純コマンドの組み合わせで作ります。 制御演算子または予約語と組み合わせることで、より大きな複合コマンドを生 成します。一般に、コマンドは以下のうちのいずれかです。 .Bl -item -offset indent .It 単純コマンド .It パイプライン .It リストまたは合成リスト (compound-list) .It 合成コマンド (compound command) .It 関数定義 .El .Pp 特に指定のない場合、コマンドの終了ステータスは最後に実行された 単純コマンドの終了ステータスとなります。 .Ss パイプライン パイプラインは、複数のコマンドを制御演算子 `|' によってつないだものです。 最後のコマンドを除くすべてのコマンドの標準出力は、次のコマンドの標準入力に 接続されます。 最後のコマンドの標準出力は、通常通り、シェルから受け継がれます。 .Pp パイプラインの形式は次のとおりです。 .Pp .Dl [!] command1 [ | command2 ...] .Pp command1 の標準出力は command2 の標準入力に接続されます。コマンドの標 準入出力がパイプラインによって割り当てられるのは、各コマンドに属する リダイレクト演算子で指定されたリダイレクトを処理する前のことだと考えて 下さい。 .Pp パイプラインがバックグラウンド (後述) でなければ、シェルはすべての コマンドが終了するのを待ちます。 .Pp パイプラインの直前に予約語 `!' が置かれなかった場合、終了ステータスは パイプラインの最後のコマンドの終了ステータスとなります。 `!' が前置された場合、終了ステータスはパイプラインの最後のコマンドの 終了ステータスの論理否定を取った値となります。 すなわち、最後のコマンドが 0 を返した場合、パイプラインの 終了ステータスは 1 に、最後のコマンドが 0 より大きな値を返した場合、 終了ステータスは 0 になります。 .Pp パイプラインによる標準入出力の接続はリダイレクトに先立って行われるため、 パイプラインの接続をリダイレクトによって修正することができます。たとえば、 .Pp .Dl $ command1 2>&1 | command2 .Pp .Ql command1 の標準出力と標準エラー出力の両方を .Ql command2 の標準入力に 接続します。 .Pp .Dq Li \&; または改行文字を終端として用いることにより、直前の AND-OR リスト ( .Sx 短絡リスト演算子 で後述) を順次実行します。 .Dq Li & は、直前の AND-OR リストを非同期に実行します。 .Pp 注: 他のいくつかのシェルと異なり、 .Nm ではパイプラインの各プロセスは起動した .Nm の子プロセスとなります。シェルの組み込みコマンドである ときは別です。その場合は現在のシェルで実行されますが、 環境に対する操作は影響を与えません。 .Ss バックグラウンドコマンド (&) コマンドが制御演算子がアンパサンド .Pq Li & で終了している場合、シェルはそのコマンドを 非同期に実行します。すなわち、シェルはそのコマンドの終了を待たずに、 次のコマンドの実行を開始します。 .Pp コマンドをバックグラウンドで実行させるための形式は以下のとおりです。 .Bd -literal -offset indent command1 & [command2 & ...] .Ed .Pp シェルが対話的でない場合、非同期コマンドの標準入力には /dev/null が 接続されます。 .Ss リスト (一般的な話) リストは 0 個またはそれ以上のコマンドを改行文字、セミコロン文字、アン パサンド文字 (&) で区切った列です。リストは、これら 3 つの記号のいずれかで 終了させることもできます。リスト中のコマンドは並べられた順に実行 されます。もし、コマンドに続けてアンパサンド文字が置かれている場合、 シェルはそのコマンドを起動したあと、すぐに次のコマンドの処理を開始します。 その他の場合、そのコマンドの終了を待ってから次のコマンドの処理を開始します。 .Ss 短絡リスト演算子 (Short-Circuit List Operators) .Dq Li && と .Dq Li || は AND-OR リスト演算子です。 .Dq Li && は最初のコマンド を実行し、もし最初のコマンドの終了ステータスが 0 ならば次のコマンドを 実行します。 .Dq Li || も同様ですが、最初のコマンドの終了ステータスが 0 でない場合に、次のコマンドを実行します。 .Dq Li && と .Dq Li || の優先順位は 同じです。 .Ss 制御構造 (if, while, for, case) .Ic if コマンドの文法は以下のとおりです。 .\" .\" XXX Use .Dl to work around broken handling of .Ic inside .Bd and .Ed . .\" .Dl Ic if Ar list .Dl Ic then Ar list .Dl [ Ic elif Ar list .Dl Ic then Ar list ] ... .Dl [ Ic else Ar list ] .Dl Ic fi .Pp .Ic while コマンドの文法は以下のとおりです。 .Dl Ic while Ar list .Dl Ic do Ar list .Dl Ic done .Pp 最初のリストの終了ステータスが 0 であるかぎり、2 つのリストを繰り返し 実行します。 .Ic until コマンドも同様に実行しますが、 単語 .Ic while の代わりに単語 .Ic until を使うことと、 最初のリストの終了ステータスが 0 になるまで、 2 つのリストを繰り返し実行することが異なります。 .Pp .Ic for コマンドの文法は以下のとおりです。 .Dl Ic for Ar variable Ic in Ar word ... .Dl Ic do Ar list .Dl Ic done .Pp 各 word は展開され、変数 variable に word を順に設定しながらリストを 繰り返し実行します。 .Ic do と .Ic done は .Dq Li { と .Dq Li } で置き換えることができます。 .Pp .Ic break と .Ic continue コマンドの文法は以下のとおりです。 .Dl Ic break Op Ar num .Dl Ic continue Op Ar num .Pp .Ic break は内側から .Ar num 個の .Ic for ループまたは .Ic while ループを終了します。 .Ic continue は内側から .Ar num 個のループの次の繰り返しに制御を移します。 .\" 上の文、原文では以下のようになっているが、the *num* innermost loop が .\" 正しいと思われる。実際の sh の動作もそうなっているようだ。 .\" --- 97/05/31 sakai@jp.freebsd.org ↓ .\" Continue continues with the next iteration of the innermost loop. これらのコマンドは組み込みコマンドとして実装されています。 .Pp .Ic case コマンドの文法は以下のとおりです。 .Dl Ic case Ar word Ic in .Dl pattern) list ;; .Dl ... .Dl Ic esac .Pp pattern は、1 つあるいは複数のパターン (後述の .Sx シェルパターン を参照のこと) を .Dq Li \&| で接続したものです。 .Ss 複数のコマンドのグループ化 コマンドは、以下のいずれかの方法によりグループ化することができます。 .Bd -literal -offset indent (list) .Ed .Pp または、 .Bd -literal -offset indent { list; } .Ed .Pp 最初の形式では、コマンドはサブシェル上で実行されます。 この組み込みコマンドは現在のシェルには影響を与えないことに注意してください。 2 つめの形式では新たなシェルを fork しないので、やや効率が良くなります。 このようにして複数コマンドをグループ化することで、 あたかも単一プログラムであるかのように、それらの出力をまとめて リダイレクトすることができます。 .Bd -literal -offset indent { echo -n "hello"; echo " world"; } > greeting .Ed .Ss 関数 関数定義の構文は以下のとおりです。 .Bd -literal -offset indent name ( ) command .Ed .Pp 関数定義は実行可能文の一種です。実行されると、名前 name の関数 が定義され、終了ステータスとして 0 を返します。command は 通常、 .Dq Li { と .Dq Li } で囲まれたリストです。 .Pp .Ic local コマンドを用いて関数に局所的な変数を宣言することができます。 これは関数定義中の最初の文で行わなければなりません。構文は次のとおりです。 .Bd -ragged -offset indent .Ic local .Op Ar variable ... .Op Ar - .Ed .Pp .Ic local コマンドは、組み込みコマンドとして実装されています。 .Pp 変数を局所変数にする場合、関数を呼び出した環境に同じ名前の変数があれば、 新しい局所変数は値と export、readonly フラグを引き継ぎます。もし同じ名前の 変数がなければ、局所変数は初期値を持ちません。シェルは動的スコープ を用います。すなわち、関数 .Em f に局所的な変数 .Em x を作成し、関数 .Em f から関数 .Em g を呼び出した場合、関数 .Em g 内部での変数 .Em x に対する操作は大域変数 .Em x ではなく、関数 .Em f で宣言された変数 .Em x への操作となります。 .Pp 特殊パラメータのうち局所宣言できるのは .Dq Li - だけです。 .Dq Li - を 局所宣言すると、関数内で set コマンドを用いてシェルオプションを 変更しても、関数が終了するとそれらのオプションは元の値に戻ります。 .Pp .Ic return コマンドの文法は以下のとおりです。 .Bd -ragged -offset indent .Ic return .Op Ar exitstatus .Ed .Pp .Ic return は現在実行中の関数を終了させます。 .Ic return は組み込みコマンドとして実装されています。 .Ss 変数とパラメータ シェルはパラメータの集合を管理しています。名前を持つパラメータを 変数と呼びます。シェルは、起動時にすべての環境変数をシェル変数に取り込みます。 新たな変数は、次の形式によって設定できます。 .Bd -literal -offset indent name=value .Ed .Pp ユーザが設定する変数は、アルファベット、数字、アンダスコア (_) のみ からなる名前を持つ必要があります。また、最初の文字が数字であっては いけません。 パラメータは、以下に示す数字または特殊記号により参照することもできます。 .Ss 位置パラメータ 位置パラメータは、0 より大の数字によって参照されるパラメータです。シェルは 位置パラメータの初期値としてシェルスクリプト名に続く引数を設定します。 組み込みコマンド .Ic set により再設定や消去ができます。 .Ss 特殊パラメータ 特殊パラメータは、以下に挙げる特殊文字のいずれかにより参照される パラメータです。各パラメータの値の説明を各文字の後ろに示します。 .Bl -hang .It Li * 位置パラメータ 1,2,... に展開されます。ダブルクォート文字列内部で展開 される場合、展開結果は各位置パラメータの間を変数 .Ev IFS の先頭の文字 ( .Ev IFS が設定されていない場合は .Aq 空白文字 ) で区切った単一の文字列になります。 .It Li @ 位置パラメータ 1,2,... に展開されます。ダブルクォート引用の内部で展開 される場合、各位置パラメータは別々の引数となります。 もし、位置パラメータが設定されていない場合には、 .Li @ の展開結果は 0 個の引数となります (ダブルクォート引用の内部であっても)。 すなわち、$1 が .Dq abc 、$2 が .Dq def ghi であった場合、 .Qq Li $@ は 次の 2 つの引数に展開されます。 .Bd -literal -offset indent "abc" "def ghi" .Ed .It Li # 位置パラメータの数に展開されます。 .It Li \&? 最後に実行したパイプラインの終了ステータスに展開されます。 .It Li - (ハイフン) 現在のオプションフラグ (1 文字オプション名をつないだ文字列) に展開されます。起動時に指定されたもの、組み込みコマンド set で指定した もの、シェルが暗黙に設定したもののすべてを含みます。 .It Li $ 起動されたシェルのプロセス ID に展開されます。 サブシェルも親シェルと同じ値を持ちます。 .It Li \&! 現在のシェルが最後にバックグラウンドで実行したコマンドのプロセス ID に 展開されます。パイプラインの場合、パイプラインの最後のコマンドの プロセス ID になります。 .It Li 0 (ゼロ) シェルの名前またはシェルスクリプト名に展開されます。 .El .Ss 単語展開 本節では、単語に対して適用されるさまざまな展開について説明します。あとで 述べるように、すべての展開がすべての単語に対して適用されるわけではありません。 .Pp 単一の単語に対して適用されたチルダ展開、パラメータ展開、コマンド置換、 数式展開、クォート削除の結果は単一のフィールドになります。単一の単語が 複数のフィールドに分割される可能性があるのは、フィールド分割または パス名展開の場合だけです。この規則の唯一の例外は、ダブルクォート中の パラメータ .Li @ の展開です (前述)。 .Pp 単語展開の順序は以下のとおりです。 .Bl -enum .It チルダ展開、パラメータ展開、コマンド置換、数式展開 (これらはすべて 同時に行われます) .It 変数 .Ev IFS の値が空でなければ、(1) の結果の各フィールドに対して フィールド分割が行われる .It パス名展開 ( .Fl f オプションが無効の場合) .It クォート削除 .El .Pp 文字 .Dq Li $ はパラメータ展開、コマンド置換、数式評価を行うきっかけになります。 .Ss チルダ展開 (ユーザのホームディレクトリ名への置換) 引用されていないチルダ文字 .Pq Li ~ で始まる単語は、チルダ展開の対象になります。 チルダ文字からスラッシュ文字 .Pq Li / または単語の終端までのすべての文字がユーザ名 とみなされ、そのユーザのホームディレクトリに置換されます。もしユーザ名が 省略された場合 (たとえば ~/foobar)、チルダ文字は変数 HOME の値 (現在のユーザのホームディレクトリ) に置換されます。 .Ss パラメータ展開 パラメータ展開の形式は以下のとおりです。 .Bd -literal -offset indent ${expression} .Ed .Pp ここで、expression は対応した .Dq Li } までのすべての文字です。対応する .Dq Li } を調べる際に、バックスラッシュ文字によりエスケープされたり、クォート文字に 狭まれた .Dq } や、数式展開に埋め込まれている文字や、コマンド置換や変数展開中に ある文字は調べる対象になりません。 .Pp パラメータ展開の形式のうちもっとも単純なものは以下のとおりです。 .Bd -literal -offset indent ${parameter} .Ed .Pp そのパラメータに値が存在する場合、その値に置き換えられます。 .Pp パラメータ名やシンボルを中括弧 ({}) で囲んでも構いません。この中括弧は、 数字 2 文字以上からなる位置パラメータの場合や、パラメータ名の直後に パラメータ名の一部であるとみなし得る文字が続く場合を除き、 省略可能です。ダブルクォート引用中のパラメータ展開は以下 のようになります。 .Bl -enum .It パラメータ展開を行った結果の単語に対しては、パス名展開は適用されません。 .It パラメータが特殊パラメータ .Li @ の場合を除き、フィールド分割は適用されません。 .El .Pp さらに、以下の形式を用いることにより、パラメータ展開の結果に修正を加える ことができます。 .Bl -tag -width indent .It Li ${parameter:-word} デフォルト値への置換: パラメータ parameter が設定されていないか空の値 を持つ場合、word を展開した結果に置換されます。さもなければ、パラメー タ parameter の値に置換されます。 .It Li ${parameter:=word} デフォルト値の代入: パラメータ parameter が設定されていないか空の値を持つ場合、word を展開 した結果が parameter に代入されます。最終的にパラメータ parameter の値 に置換されます。位置パラメータや特殊パラメータは、この方法で代入すること はできません。 .It Li ${parameter:?[word]} 空か設定されていないときにエラーとする: パラメータ parameter が設定されていないか空の値を持つ場合、word を展開 した結果 (word が省略された場合にはパラメータが設定されていないことを表す デフォルトのメッセージ) が標準エラー出力に書き出され、 シェルは非 0 の終了ステータスで終了します。 それ以外の場合、パラメータ parameter の値に置換されます。対話的シェルの場合は 必ずしも終了しません。 .It Li ${parameter:+word} 代替値の使用: パラメータ parameter が設定されていないか空の値を持つ場合、空の値に 置換されます。さもなければ、word を展開した結果に置換されます。 .Pp 以上のパラメータ展開において、`:' を用いた場合はパラメータが設定されていない かまたは空の値であることが検査され、`:' を省略するとパラメータが 設定されていないことのみを検査します。 .It Li ${#parameter} 文字列の長さ: パラメータの値の (文字列としての) 長さに置換されます。 .El .Pp 以下の 4 通りのパラメータ展開は部分文字列切り出し処理を行います。各場合 において、パターンは正規表現ではなく、パターンマッチ記法 ( .Sx シェルパターン の項を参照) が用いられます。パラメータが .Li * または .Li @ の場合、展開の結果 がどうなるかは規定しません (unspecified)。 パラメータ展開全体をダブルクォートで囲んでも パターンは引用されません。中括弧のなかで引用することにより パターンを引用することができます。 .Bl -tag -width indent .It Li ${parameter%word} 最短後置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の右から、パターンに一致する最短の部分を削除した文字列に 置換されます。 .It Li ${parameter%%word} 最長後置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の右から、パターンに一致する最長の部分を削除した文字列に 置換されます。 .It Li ${parameter#word} 最短前置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の左から、パターンに一致する最短の部分を削除した文字列に 置換されます。 .It Li ${parameter##word} 最長前置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の左から、パターンに一致する最長の部分を削除した文字列に 置換されます。 .El .Ss コマンド置換 コマンド置換により、コマンド名自身をコマンドの出力で置き換えることができます。 コマンド置換は、以下のように、コマンド command を囲った場合、 .Bd -literal -offset indent $(command) .Ed .Pp またはバッククォートバージョン .Bd -literal -offset indent `command` .Ed .Pp とした場合に行われます。 シェルは、コマンド command をサブシェルの環境で実行し、command が標準出力 に出力したものから最後の改行文字を削除した結果で置換します。 最後以外の 改行は削除しません。ただし、フィールド分割の際に、 .Ev IFS の値や引用のされかたによっては、 ここで残った改行文字が結局は空白に置換されることもあります。 .Ss 数式展開 数式展開とは、数式を評価し、その値に置換する仕組みです。数式展開の形式は以下 のとおりです。 .Bd -literal -offset indent $((expression)) .Ed .Pp 数式 expression は、その中のダブルクォート文字が特別扱いを受けないという 点を除いては、ダブルクォート文字で囲まれている文字列と同様に扱われます。 シェルは expression 中のすべてのトークンにパラメータ展開、コマンド置換、 クォート削除を適用します。 .Pp 次にシェルはその結果を数式として扱い、その値に置換します。 .Ss 空白文字による分割 (フィールド分割) パラメータ展開、コマンド置換、数式展開のあと、シェルは展開結果を調べて、 ダブルクォートの外にある部分に対してフィールド分割を適用します。 その結果、複数のフィールドになる場合もあります。 .Pp シェルは、変数 .Ev IFS に設定されている文字それぞれ区切り文字とみなし、 パラメータ展開の結果、およびコマンド置換の結果をフィールドに分割します。 .Ss パス名展開 (ファイル名生成) .Fl f フラグが設定されていなければ、フィールド分割が行われたあと、ファイル名生成 が行われます。各単語は、スラッシュで区切られたパターンの列であるとみなさ れます。パス名展開処理において、単語は、条件を満たすファイル すべてのファイル名の列で置換されます。この各ファイル名は、単語の 各パターン部分を、そのパターンに一致する文字列に置換することで 生成されるものです。 これには 2 つの制限があります: まず、パターンはスラッシュを含む文字列には 一致しません。次に、パターンは、そのパターンがピリオドで始まらないかぎり、 ピリオドで始まる文字列に一致しません。 次節では、パス名展開と .Ic case コマンドで用いられるパターンについて説明します。 .Ss シェルパターン パターンは、通常の文字とメタキャラクタからなります。通常の文字は、 その文字そのものに一致します。 メタキャラクタは .Dq Li \&! , .Dq Li * , .Dq Li \&? , .Dq Li [ です。これらの文字を引用 すると、各々の特殊な意味を失います。コマンド置換や変数置換において、 ドル記号やバッククォート文字がダブルクォート文字の中にない場合には、 変数の値やコマンドの出力の中に、これらの特殊な文字が存在するかどうかが 調べられ、それらがあれば、メタキャラクタとして扱われます。 .Pp アスタリスク文字 .Pq Li * は、どのような文字列とも一致します。 クエスチョンマーク文字 .Pq Li \&? は、任意の文字 1 文字と一致します。 左大括弧 .Pq Li [ は文字クラスを開始します。 文字クラスの最後は右大括弧 .Pq Li \&] です。 .Dq Li \&] がない場合は、 .Dq Li [ は文字そのものに一致し、文字クラスの開始とは見なされません。文字 クラスは大括弧内に出現するすべての文字に一致します。 マイナス記号を用いれば、文字の範囲を指定することができます。 文字クラスの最初にエクスクラメーションマーク .Pq Li \&! を置くことで、 文字クラスの意味を反転させることができます。 .Pp 文字クラスに文字 .Dq Li \&] を含めるには、 .Dq Li \&] を文字クラスの最初 ( .Dq Li \&! を置く場合はそのあと) に置きます。 文字クラスに .Dq Li - を含めるときも同様で、 リストの最初もしくは最後に置きます。 .Ss シェル組み込みコマンド 本節では、別プロセスでは実行できない処理を行うために組み込まれている コマンドを列挙します。 さらに、組み込みバージョンの .Xr test 1 が効率を上げるために提供されています。 .Bl -tag -width indent .It Ic \&: 終了ステータス 0 (真) を返すヌルコマンドです。 .It Ic \&. Ar file 指定されたファイル file に記述されたコマンドがシェルに読み込まれ、 実行されます。 .Ar file に .Dq / 文字を含む場合、その通りに扱われます。 そうでなければ、シェルは .Ev PATH を使用して、ファイルを検索します。 .Ev PATH を使用しても見付からない場合、カレントディレクトリを検索します。 .It Ic alias Op Ar name ... .It Ic alias Op Ar name Ns = Ns Ar string ... .Ar name Ns = Ns Ar string が指定されている場合、シェルは名前 .Ar name を持つ値 .Ar string のエイリアスを定義します。単に .Dq name だけが指定された場合、 エイリアス .Dq name の値が表示されます。引数が指定されない場合、 .Ic alias は定義されているすべてのエイリアスの名前と値を表示します ( .Ic unalias も参照)。 エイリアスの値は適切にクォートされており、 シェルへ再入力するのに適しています。 .It Ic bg Op Ar job ... 指定されたジョブ (指定されなかった場合は現在のジョブ) を、 続けてバックグラウンドで実行させます。 .It Ic builtin Ar cmd Op Ar arg ... 指定された組み込みコマンド .Ar cmd を実行します。 シェル関数を同名の組み込みコマンドでオーバライドしたい場合に有用です。 .It Ic bind Oo Fl aeklrsv Oc Oo Ar key Oo Ar command Oc Oc 行編集機能のキーバインドを表示もしくは変更します。 このコマンドについては .Xr editrc 5 で説明されています。 .It Ic cd Oo Fl LP Oc Op Ar directory 指定されたディレクトリ .Ar directory に移動します。 .Ar directory 無指定時は .Ev HOME で指定されるディレクトリに移動します。 .Ar directory が .Pa / , \&. , .Pa .. のいずれでも開始しない場合、指定された .Ar directory を .Ev CDPATH 変数中のディレクトリリストから検索します。 .Ev CDPATH が設定されていない場合、カレントディレクトリを検索します。 .Ar CDPATH の形式は .Ev PATH と同様です。対話的シェルでは、ユーザ が指定したディレクトリと異なる場所に移動した場合、 .Ic cd は、移動先のディレクトリ名を表示します。 これは、 .Ev CDPATH の機構が動作した場合と、シンボリックリンクを辿った場合に発生します。 .Pp .Fl P オプションが指定された場合、 .Pa .. は物理的に扱われ、シンボリックリンクは .Pa .. 部分が処理される前に解決されます。 .Fl L オプションが指定された場合は、 .Pa .. は論理的に扱われます。 こちらがデフォルトになっています。 .It Ic chdir .Ic cd 組み込みコマンドの別名です。 .It Ic command Oo Fl p Oc Op Ar utility Op Ar argument ... 指定された .Ar utility を単純コマンドとして実行します ( .Sx 単純コマンド セクションを参照)。 .Pp .Fl p オプションが指定された場合、コマンド検索は、 .Ev PATH のデフォルト値を用いて行われます。 これにより全ての標準ユーティリティを見つけることが保証されます。 .It Ic echo Oo Fl e | n Oc Op Ar string .Ar string の後に改行文字を付けて、標準出力に表示します。 .Bl -tag -width indent .It Fl n 最後の改行文字を抑制します。 .It Fl e C 風のバックスラッシュエスケープシーケンスを処理します。 .Ic echo は次の文字エスケープを理解します: .Bl -tag -width indent .It \ea 警告 (端末ベルを鳴らす) .It \eb バックスペース .It \ec 最後の改行文字を抑制します (改行文字が最後の文字でない場合、行が縮んでしまうという副作用があります) .It \ee ESC 文字 (ASCII 0x1b) .It \ef フォームフィード .It \en 改行 .It \er 復改 .It \et 水平タブ .It \ev 垂直タブ .It \e\e バックスラッシュ文字 .It \e0nnn (この 0 はゼロです) 8 進数値が nnn である文字 .El .Pp .Ar string がクォートで括られていない場合、 シェルからエスケープするためには、 バックスラッシュ自身をバックスラッシュでエスケープする必要があります。 例えば次の通りです: .Bd -literal -offset indent $ echo -e "a\evb" a b $ echo -e a\e\evb a b $ echo -e "a\e\eb" a\eb $ echo -e a\e\e\e\eb a\eb .Ed .El .Pp .Fl e と .Fl n オプションのうち、どちらか片方のみを指定できます。 .It Ic eval Ar string ... 指定されたすべての引数を空白で結合し、その結果を解析し直してから コマンドとして実行します。 .It Ic exec Op command Op arg ... .Ar commmand が省略されない場合、そのシェルプロセスは指定されたプログラムに 置き換えられます ( .Ar command は、シェル組み込みコマンドや関数ではない、本物の プログラムでなければなりません)。 .Ic exec コマンドにおけるリダイレクトは、 永久性を持つと見なされ、 .Ic exec コマンド完了後にも引き続き効力を持ちます。 .It Ic exit Op exitstatus シェルを終了します。 .Ar exitstatus が指定された場合、これはシェルの終了ステータスになります。 そうでない場合、直前に実行したコマンドの 終了ステータスがシェルの終了ステータスとなります。 .It Ic export Oo Fl p Oc Op Ar name ... それ以後にシェルから実行されるコマンドの環境に、指定された名前の変数が 含まれるようにします (変数のエクスポート)。 変数のエクスポートを取り消す唯一の方法は、変数を .Ic unset することです。 以下のように記述することで、エクスポートすると 同時に変数の値を設定することができます。 .Bd -literal -offset indent export name=value .Ed .Pp 引数を指定しない場合、すべてのエクスポートされている名前と値が表示されます。 .Fl p オプションが指定された場合、エクスポートされている変数は、一行毎に .Dq Ic export Ar name Ns = Ns Ar value という形式で表示されます。 これはシェルへ再入力するのに適しています。 .It Ic fc Oo Fl e Ar editor Oc Op Ar first Op Ar last .It Ic fc Fl l Oo Fl nr Oc Op Ar first Op Ar last .It Ic fc Fl s Oo Ar old Ns = Ns Ar new Oc Op Ar first .Ic fc 組み込みコマンドは、対話的シェルにそれ以前に入力されたコマンドの内容を、 表示、編集、再実行します。 .Bl -tag -width indent .It Fl e Ar editor 編集に際し、指定されたエディタ .Ar editor を使用します。 .Ar editor は変数 .Ev PATH を通して検索できるコマンド名です。 .Fl e が指定されなかった場合は、変数 .Ev FCEDIT の値が用いられます。 .Ev FCEDIT が設定されていないか空に設定されている場合は .Ev EDITORの値が用いられ、それも設定されていないか空ならば .Xr ed 1 が用いられます。 .It Fl l No (ell) (小文字のエル) エディタを起動せずに、コマンド履歴の内容を一覧出力します。 パラメータ first と last で指定した範囲のコマンドが順に (出力の順番は .Fl r オプションの影響を受けます) 出力されます。 各コマンドの出力の際にはコマンド番号が付加されます。 .It Fl n .Fl l で一覧出力する際にコマンド番号を付加しません。 .It Fl r コマンド一覧時 ( .Fl l オプション指定時) や編集時 ( .Fl l も .Fl s も指定されなかった場合) の順序を反転します。 .It Fl s エディタを起動せずにコマンドを再実行します。 .It Ar first .It Ar last 一覧出力や編集の対象となるコマンドを選択します。アクセス可能なコマンド の数は変数 .Ev HISTSIZE の値で決まります。 .Ar first または .Ar last 、または両方の値は、以下のいずれかの形式で指定します。 .Bl -tag -width indent .It Ar [+]num 正の数で、コマンド番号を指定します。コマンド番号は .Fl l オプションで表示させて調べることができます。 .It Ar -num 負の数は、 .Ar num 個だけ現在から遡ったコマンドを指定します。たとえば、 -1 は直前に実行されたコマンドを指定します。 .It Ar string 文字列 string は、過去に実行されたコマンドのうち、 その文字列から始まる最新のものを指定します。 もし .Fl s オプションが指定されて .Ar old=new が指定されていなければ、 最初のオペランドにイコール記号 を含めることはできません。 .El .El .Pp .Ic fc コマンドの実行にあたり、以下の環境変数の影響を受けます。 .Bl -tag -width indent .It Ev FCEDIT 使用するエディタ名 .It Ev HISTSIZE アクセス可能なコマンド数 .El .It Ic fg Op job 指定されたジョブ .Ar job または現在のジョブをフォアグラウンドに移動します。 .It Ic getopts Ar optstring Ar var POSIX に準拠した .Ic getopts コマンドです。 この .Ic getopts コマンドにより、以前の .Xr getopt 1 コマンドの必要性は減少しました。 最初の引数は文字の列です。各文字の後ろにはコロンをつけることができ、 そのオプションが引数をとることを指示します。 指定された変数に、解析され見つかったオプションが設定されます。 見つかったオプションの次の引数のインデックスはシェル変数 .Ev OPTIND に格納されます。 あるオプションが引数をとる場合、その引数はシェル変数 .Ev OPTARG に置かれます。 有効でないオプションに出くわすと、変数 .Ev var には .Dq Li \&? がセットされます。 getopts はオプション群の末尾に到達すると偽の値 (1) を返します。 .It Ic hash Oo Fl rv Oc Op Ar command ... シェルは、コマンドの位置を保持するハッシュテーブルを維持管理しています。 .Ic hash コマンドに引数が指定されなかった場合、このテーブルの内容が出力されます。 最後に .Ic cd コマンドが実行されてから参照されていない項目には アスタリスク文字 が表示されます。 この項目は無効になっているかもしれません。 .Pp 引数を指定した場合、 .Ic hash コマンドは指定した .Ar command をハッシュテーブルから削除し ( .Ar command が関数ではない場合)、その後でそのコマンドを検索します。 .Fl v オプションを指定した場合、 .Ic hash は発見したコマンドの位置を表示します。 .Fl r オプションを指定した場合、 .Ic hash は関数以外のすべてのエントリをハッシュテーブルから削除します。 .It Ic jobid Op Ar job ジョブ .Ar job 中の各プロセスのプロセス ID を表示します。引数 .Ar job が 省略された場合、現在のジョブに対して処理を行います。 .It Ic jobs Oo Fl ls Oc Op Ar job ... 指定されたジョブの情報を表示します。 .Ar job 引数が指定されなかった場合は、全てのジョブの情報を表示します。 情報には、ジョブ ID、ステータス、コマンド名が含まれます。 .Pp .Fl l オプションが指定された場合、各々のジョブの PID も表示されます。 .Fl s オプションが指定された場合、一行毎にジョブの PID のみが表示されます。 .It Ic pwd Op Fl LP カレントディレクトリのパスを表示します。組み込みコマンド版は カレントディレクトリ名を覚えており、表示するときに再計算しないので、 組み込みコマンド版は同名のプログラムとは異なった表示をする場合があります。 このため処理は高速ですが、カレントディレクトリ の名前を変更した場合でも、組み込み版の .Xr pwd 1 は以前のディレクトリ名を表示し続けます。 .Pp .Fl P オプションが指定された場合、シンボリックリンクは解決されます。 .Fl L オプションが指定された場合、カレントディレクトリは シェルの表記で表示されます (シンボリックリンクは解決されません)。 こちらがデフォルトです。 .It Ic read Oo Fl p Ar prompt Oc Oo Fl t Ar timeout Oc Oo Fl er Oc Ar variable ... .Fl p オプションが指定され、かつ標準入力が端末の場合、 .Ar prompt をプロンプトとして表示します。 そして標準入力から 1 行入力します。行端の改行文字を削除し、行を前述の .Sx 空白文字による分割 (フィールド分割) の方法に従って分割し、各単語を、valiable... で指定する各変数に 順に代入します。 もし、指定された変数の数より分割された単語の数が多ければ、最後の変数に 残りの単語すべて ( .Ev IFS の文字を区切りにしてそれらも一緒に) が代入されます。 分割された単語の数より多くの変数が指定されていたなら、 余った変数には空文字列が設定されます。 .Pp .Fl r オプションが指定された場合を除き、バックスラッシュは特別に扱われます。 バックスラッシュ文字が改行文字の直前にある場合、 バックスラッシュ文字と改行文字は削除されます。 その他の文字の直前にバックスラッシュがある場合、バックスラッシュは削除され、 文字が .Ev IFS に含まれていても、 .Ev IFS の文字でないかのように扱われます。 .Pp .Fl t オプションが指定され、かつ入力がなされる前に .Ar timeout が経過すると、 .Ic read コマンドは値を割当てずに戻ります。 .Ar timeout 値の後にはオプションで .Dq s , .Dq m , .Dq h のいずれかの一文字 を付けることが出来、それぞれ秒・分・時間を陽に指定します。 どれも指定しない場合には .Dq s であるものとします。 .Pp .Fl e オプションは、古いスクリプトとの後方互換性のためだけにあります。 .It Ic readonly Oo Fl p Oc Op Ar name ... で指定された変数を読み出し専用とし、あとで値を変更したり unset した りすることができないようにします。以下のように記述することで、 変数を読み出し専用と宣言するのと同時に値を設定することも可能です。 .Bd -literal -offset indent readonly name=value .Ed .Pp 引数が指定されない場合、 .Ic readonly コマンドは、読み出し専用になっている変数の名前の一覧を表示します。 .Fl p オプションが指定された場合、読み出し専用になっている変数を、一行毎に .Dq Ic readonly Ar name Ns = Ns Ar value の形式で表示します。 これはシェルに再入力するのに適しています。 .It Ic set Oo Fl /+abCEefIimnpTuVvx Oc Oo Fl /+o Ar longname Oc Oo .Fl c Ar string Oc Op Fl - Ar arg ... .Ic set コマンドは 3 通りの異なった機能を持ちます。 .Bl -item .It 引数を指定しなかった場合、短かい形式でも長い .Dq Fl /+o Ar longname という形式であっても、 .Sx 引数リストの処理 の節で説明されているように、指定されたオプションの設定またはクリアを行います。 .It .Dq Fl - オプションが指定された場合、 .Ic set はシェルの位置パラメータを、引き続く引数で置き換えます。 .Dq Fl - オプションの後に引数が続かない場合、 すべての位置パラメータはクリアされ、 .Dq Li shift $# コマンドを実行するのと等価になります。 位置置換パラメータとして引数を指定するとき、 .Dq Fl - フラグは省略可能です。 これはお勧めできません。 なぜなら、最初の引数はマイナス記号 .Pq Li - またはプラス記号 .Pq Li + で開始するかもしれないからです。 これらは、 .Ic set コマンドが、オプションの有効化または無効化の要求であると解釈してしまいます。 .El .It Ic setvar Ar variable Ar value 変数 .Ar variable に値 .Ar value を代入します。( .Ic setvar は、関数内で、パラメータとして渡された名前を持つ 変数に値を代入するためのものです。 一般に、 .Ic setvar を使うよりも .Bd -literal -offset indent variable=value .Ed と書くほうが望ましいといえます。) .It Ic shift Op Ar n 位置パラメータを .Ar n 回シフトします。 .Ar n を指定しない場合 1 回シフトします。 1 回のシフトにより、$2 の値が $1 に、$3 の 値が $2 に代入されます (以下同様)。また、$# の値は 1 減少します。 位置パラメータがない場合、shift は何もしません。 .It Ic trap Oo Ar action Oc Ar signal ... シェルが指定されたシグナル .Ar signal を受けとったときに、 .Ar action を解析し実行するように設定します。 -シグナルはシグナル番号で指定します。 +シグナルはシグナルの名前か番号で指定します。 +さらに、シェル終了時に実行する動作を指定するために、擬似シグナル +.Ic EXIT +を使用可能です。 .Ar action は空文字列に したり、省略したりすることができます。空文字列の場合、指定されたシグナルは 無視され、省略した場合は、指定したシグナルを受けとったときデフォルトの処理を 行います。シェルがサブシェルを起動するとき、trap で指定された (が無視されていない) シグナルをデフォルトの動作に再設定します。 シェルが起動したときにすでに無視されるように設定されていたシグナルに対して .Ic trap コマンドを使用しても効果はありません。 .It Ic type Op Ar name ... 各 .Ar name をコマンドとして解釈し、コマンド検索の結果を出力します。出力さ れる結果は以下のものがあります。シェルのキーワード、エイリアス、シェル の組み込みコマンド、コマンド、痕跡つきエイリアス (tracked alias)、最後に not found (見つからず) があります。エイリアスについては、エイリアス展開 の結果が出力されます。コマンドと痕跡つきエイリアスについては、そのコマンドの 完全なパス名が印刷されます。 .It Ic ulimit Oo Fl HSabcdflmnstuv Oc Op Ar limit リソースのリミット値 (リミット値については .Xr getrlimit 2 参照) を設定あるいは表示します。 .Ar limit が指定されている場合、指定されたリソースが設定されます。 それ以外の場合、現在のリソース設定値が表示されます。 .Pp .Fl H が指定された場合、ハードリミットが設定ないし表示されます。 ハードリミット値を下げることは誰にでもできますが、 それを増やすことができるのはスーパユーザだけです。 オプション .Fl S を指定した場合はソフトリミットになります。 リミット値を表示する場合、 .Fl S か .Fl H のいずれか一方だけしか指定できません。 デフォルトでは、表示はソフトリミット、設定はハード/ソフトリミット両方です。 .Pp オプション .Fl a を指定すると .Ic ulimit コマンドは全リソースの設定値を表示します。 この場合、パラメータ .Ar limit は指定できません。 .Pp この他のオプションは、表示あるいは設定するリソースの種類を指定するものです。 これらは互いに排他的です。 .Bl -tag -width indent .It Fl b Ar sbsize ソケットバッファサイズの最大値。バイト単位。 .It Fl c Ar coredumpsize コアダンプファイルの最大サイズ。512 バイトのブロック単位。 .It Fl d Ar datasize プロセスのデータセグメントの最大サイズ。キロバイト単位。 .It Fl f Ar filesize ファイルの最大サイズ。512 バイトブロック単位。 .It Fl l Ar lockedmem プロセスがロックできるメモリサイズの最大値。キロバイト単位。 .It Fl m Ar memoryuse プロセスの常駐セットサイズの最大値。キロバイト単位。 .It Fl n Ar nofiles あるプロセスがオープンできるファイル記述子の最大数。 .It Fl s Ar stacksize スタックセグメントサイズの最大値。キロバイト単位。 .It Fl t Ar time 各プロセスで消費できる CPU 時間の最大値。秒単位。 .It Fl u Ar userproc このユーザ ID で同時に走らせうる最大プロセス数。 .It Fl v Ar virtualmem 1 個のプロセスの最大プロセスサイズ。キロバイト単位。 .El .It Ic umask Op Ar mask ファイル作成マスクの値 ( .Xr umask 2 を参照) を、 .Ar mask で指定された 8 進数の値に設定します。引数が 省略された場合、現在のマスクの値が表示されます。 .It Ic unalias Oo Fl a Oc Op Ar name .Ar name が指定された場合、指定された名前のエイリアスを削除します。 .Fl a オプションが指定された場合、すべてのエイリアスを削除します。 .It Ic unset Oo Fl fv Oc Ar name ... 指定された変数または関数を unset し、エクスポートされていない状態にします。 .Fl v オプションが指定されるか、オプションが何も指定されなかった場合、 .Ar name 引数は変数名として扱われます。 .Fl f オプションが指定された場合、 .Ar name 引数は関数名として扱われます。 .It Ic wait Op Ar job 指定されたジョブ .Ar job が終了するのを待ち、ジョブ内の最後のプロセスの 終了ステータスを返します。引数が省略された場合、すべてのジョブが終了する まで待ち、終了ステータス 0 を返します。 .El .Ss コマンド行編集 .Nm が端末から対話的に実行されている場合、現在入力中のコマンドおよび コマンド履歴 ( .Sx 組み込みコマンド の .Ic fc 参照) を vi モードのコマンド行編集機能 により編集することができます。 このモードでは、vi のマニュアルに示されているコマンドのサブセットを用います。 コマンド .Dq Li set -o vi (または .Dq Li set -V ) により vi モードが有効になり、 .Nm は vi の挿入モードに移行します。 vi モード中では、 挿入モードとコマンドモードの両方を自由に切り替えることが可能です。 vi モードは vi と同様であり、 .Aq ESC キー によりコマンドモードに移行し、コマンドモードで .Aq return キーを叩くことで、 行の内容がシェルに渡されます。 .Pp 同様に、コマンド .Dq Li set -o emacs により emacs 風のコマンド行編集機能の サブセットを使うことができるようになります。 .Sh 関連項目 .Xr builtin 1 , .Xr echo 1 , .Xr expr 1 , .Xr pwd 1 , .Xr test 1 .Sh 歴史 .Nm コマンドは、 .At v1 で登場しました。 .\" -Amended by N.Kumagai 97.12.30 diff --git a/ja_JP.eucJP/man/man1/sockstat.1 b/ja_JP.eucJP/man/man1/sockstat.1 index 64b877a569..ff39a79b59 100644 --- a/ja_JP.eucJP/man/man1/sockstat.1 +++ b/ja_JP.eucJP/man/man1/sockstat.1 @@ -1,132 +1,132 @@ .\"- .\" Copyright (c) 1999 Dag-Erling Co��an Smgrav .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer .\" in this position and unchanged. .\" 2. Redistributions in binary form must reproduce 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. .\" -.\" %FreeBSD: src/usr.bin/sockstat/sockstat.1,v 1.17 2002/07/31 12:32:03 des Exp % +.\" %FreeBSD: src/usr.bin/sockstat/sockstat.1,v 1.18 2002/11/26 17:33:35 ru Exp % .\" .\" $FreeBSD$ .\" .Dd August 7, 2001 .Dt SOCKSTAT 1 .Os .Sh 名称 .Nm sockstat .Nd 開いているソケットを列挙する .Sh 書式 .Nm .Op Fl 46clu .Op Fl p Ar ports .Sh 解説 .Nm コマンドは、インターネットドメインおよび .Ux ドメインの 開いているソケットを列挙します。 .Pp 次のオプションを使用可能です: .Bl -tag -width Fl .It Fl 4 .Dv AF_INET (IPv4) ソケットを表示します。 .It Fl 6 .Dv AF_INET6 (IPv6) ソケットを表示します。 .It Fl c connect しているソケット数を表示します。 .It Fl l listen しているソケット数を表示します。 .It Fl p Ar ports ローカルまたは外部のポート番号がリストで指定された場合、 インターネットソケットのみを表示します。 .Ar ports 引数はコンマで区切られたポート番号と範囲のリストであり、 範囲は開始と終了をダッシュで区切ったものです。 .It Fl u .Dv AF_LOCAL .Pq Ux ソケットを表示します。 .El .Pp .Fl 4 , 6 , u のいずれも指定しない場合、 .Nm は 3 ドメインすべてのソケットを表示します。 .Pp .Fl c , .Fl l のいずれも指定しない場合、 .Nm は、listen 中および connect 中の両方のソケットを列挙します。 .Pp 各ソケットに関して列挙される情報は次の通りです: .Bl -tag -width "FOREIGN_ADDRESS" .It Li USER ソケットを所有するユーザです。 .It Li COMMAND ソケットを保持するコマンドです。 .It Li PID ソケットを保持するコマンドの、プロセス ID です。 .It Li FD ソケットのファイル記述子番号です。 .It Li PROTO インターネットソケットに対しては、関連付けられている、転送プロトコルです。 .Ux ソケットに対しては、ソケットタイプ (ストリームまたはデータグラム) です。 .It Li LOCAL ADDRESS インターネットソケットに対しては、 ソケットのローカル側の終点が結合されているアドレスです ( .Xr getsockname 2 参照)。 bind された .Ux ソケットに対しては、これはソケットのファイル名です。 他の .Ux ソケットに対しては、右矢印に続く終端のファイル名か、 終端が分からない場合には .Dq Li ?? です。 .It Li FOREIGN ADDRESS (インターネットソケットのみ) ソケットの外界側の終点が結合されているアドレスです ( .Xr getpeername 2 参照)。 .El .Sh 関連項目 .Xr fstat 1 , .Xr netstat 1 , .Xr inet 4 , .Xr inet6 4 .Sh 歴史 .Nm コマンドは .Fx 3.1 に登場しました。 .Sh 作者 .Nm コマンドと本マニュアルページは .An Dag-Erling Sm\(/ograv Aq des@FreeBSD.org が記述しました。 diff --git a/ja_JP.eucJP/man/man1/su.1 b/ja_JP.eucJP/man/man1/su.1 index 0ea1e9ec3c..41cd1dcb57 100644 --- a/ja_JP.eucJP/man/man1/su.1 +++ b/ja_JP.eucJP/man/man1/su.1 @@ -1,226 +1,226 @@ .\" Copyright (c) 1988, 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)su.1 8.2 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/su/su.1,v 1.27 2002/10/23 03:19:33 rwatson Exp % +.\" %FreeBSD: src/usr.bin/su/su.1,v 1.28 2002/11/26 17:33:35 ru Exp % .\" $FreeBSD$ .\" .Dd April 18, 1994 .Dt SU 1 .Os .Sh 名称 .Nm su .Nd 一時的に他のユーザになりかわる .Sh 書式 .Nm .Op Fl .Op Fl flms .Op Fl c Ar class .Op Ar login Op Ar args .Sh 解説 .Nm ユーティリティは PAM 経由で適切なユーザ資格を要求し、 そのユーザ ID に切り替えます (デフォルトユーザはスーパユーザです)。 その後シェルが実行されます。 .Pp すべてのポリシの設定には PAM が使用されます。 .Pp デフォルトでは、 .Ev USER , .Ev HOME , .Ev SHELL 以外の環境変数は引き継がれます。 .Ev HOME と .Ev SHELL はターゲットとなるログインのデフォルト値になります。 .Ev USER は、ターゲットログインのユーザ ID が 0 以外であれば、ターゲットログイ ンのものがセットされます。0 の場合は変更されません。実行されるシェルは ターゲットログインのログインシェルです。これは .Nm の伝統的なふるまいです。 オリジナルユーザのログインクラス ( .Xr login.conf 5 参照) の資源制約とセッション優先度も通常保たれます。 例外はターゲットログインがユーザ ID 0 の場合です。 .Pp オプションとしては、以下のものがあります: .Bl -tag -width Ds .It Fl f シェルとして .Xr csh 1 が実行される場合、 .Dq Pa .cshrc ファイルを読み込みません。 .It Fl l 通常にログインした場合と同様になるように環境変数が設定されます。 すなわち、環境変数は .Ev HOME , .Ev SHELL , .Ev PATH , .Ev TERM , .Ev USER 以外は捨てられます。 .Ev HOME と .Ev SHELL は上記のように変更されます。 .Ev USER はターゲットログインの値になります。 .Ev PATH は .Dq Pa /bin:/usr/bin になります。 .Ev TERM は、あなたの現在の環境変数の値になります。 ターゲットログインのクラスにより、 ログインクラスケーパビリティデータベースに基づき、 環境変数が設定もしくは変更されることがあります。 実行されるシェルはターゲット ログインのログインシェルになり、 ターゲットログインのホームディレクトリに移動します。 資源制約とセッション優先度は、 ターゲットアカウントのログインクラスのものに変更されます。 .It Fl (文字無し) .Fl l と同じです。 .It Fl m 環境変数は変化しません。 実行されるシェルは自分のログインシェルで、ディレクトリの移動も行われません。 セキュリティの用心として、もしターゲットユーザのシェルが 非標準シェル ( .Xr getusershell 3 で定義される) であったり、呼出側の実ユーザ ID が 0 でなければ、 .Nm は失敗します。 .It Fl s ユーザの資格の設定の一環として、 MAC ラベルをユーザのデフォルトラベルへ設定します。 起動したプロセスの MAC ラベルが、 ユーザのデフォルト MAC ラベルへ遷移するには不十分である場合、 MAC ラベルの設定は失敗するかもしれません。 ラベルの設定ができない場合、 .Nm は失敗します。 .It Fl c Ar class 指定されたログインクラスの設定を使用します。 スーパユーザのみが使用を許されます。 .El .Pp .Fl l (または .Fl ) と .Fl m は、同時に指定することはできません。最後に指定したものが優先されます。 .Pp オプションの .Ar args がコマンドラインに指定されると、 それらはターゲットログインのログインシェルに引き渡されます。 .Pp デフォルトでは (設定がされていなければ) スーパユーザのプロンプトは .Dq Sy \&# に設定されます。 .Sh 関連ファイル .Bl -tag -width /etc/pam.conf -compact .It Pa /etc/pam.conf .Nm は PAM サポート付きで設定されています。 .Pa /etc/pam.conf エントリをサービス名 .Dq su で使用します。 .El .Sh 関連項目 .Xr csh 1 , .Xr sh 1 , .Xr group 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr environ 7 , .Xr pam 8 .Sh 環境変数 .Nm で利用される環境変数は以下の通りです: .Bl -tag -width HOME .It Ev HOME 上記で示した書き換えがない限り、 実ユーザ ID のデフォルトのホームディレクトリです。 .It Ev PATH 上記で示した書き換えがない限り、実ユーザ ID のデフォルトのサーチパスで す。 .It Ev TERM なり代わる人が所有している端末のターミナルタイプです。 .It Ev USER ユーザ ID が 0 (root) 以外の場合は、ユーザ ID は常に .Nm 後の effective ID (ターゲットとなるユーザ ID) です。 .El .Sh 使用例 .Bl -tag -width 5n -compact .It Li "su man -c catman" コマンド .Li catman をユーザ .Li man で実行します。 あなたの実 UID が 0 でない場合は、man のパスワードを尋ねられます。 .It Li "su man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'" 上と同様ですが、コマンドが複数の語から構成されています。 .Fl c オプションをシェルに渡すためにクォートしています (ほとんどのシェルでは .Fl c への引数が単一語であると期待します)。 .It Li "su -c staff man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'" 上と同様ですが、ログインクラス .Dq staff の資源制限にてターゲットコマンドを実行します。 注: この例では、最初の .Fl c オプションは .Nm に適用され、2 番目のものは起動されるシェルの引数となります。 .It Li "su -l foo" ユーザ foo のログインをシミュレートします。 .It Li "su - foo" 上と同じです。 .It Li "su - " rootのログインをシミュレートします。 .El .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/tar.1 b/ja_JP.eucJP/man/man1/tar.1 index 255047f5a9..b32139aec6 100644 --- a/ja_JP.eucJP/man/man1/tar.1 +++ b/ja_JP.eucJP/man/man1/tar.1 @@ -1,597 +1,597 @@ .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- .\" See /usr/src/gnu/COPYING for conditions of redistribution .\" .\" Written by John F. Woods .\" Updated by Robert Eckardt .\" -.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.42 2002/10/01 23:15:32 dd Exp % +.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.43 2002/12/12 17:25:52 ru Exp % .\" .\" $FreeBSD$ .Dd December 23, 2000 .Os .Dt TAR 1 .Sh 名称 .Nm tar .Nd "テープアーカイバ; ""tar"" アーカイブファイルの操作" .Sh 書式 .Nm .Op Oo Fl Oc Ns Ar bundled-options Ar Args .Op Ar gnu-style-flags .Op Ar filenames | Fl C Ar directory-name .Ar ... .Sh 解説 .Nm は、歴史的な理由により .Dq tape archiver を省略して名付けられました。 .Nm プログラムは、 .Ar tarfile と呼ばれる .Nm フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、 またアーカイブからファイルを抽出したりします。 .Ar tarfile は通常磁気テープを指しますが、フロッピディスケットや 通常のファイルでも構いません。 .Pp 通常、 .Nm コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、 その前に ダッシュ (-) を付けても付けなくてもいいようになっています。 単語には、次の機能文字のうち丁度 1 つを含んでいる必要があります: .Cm A , .Cm c , .Cm d , .Cm r , .Cm t , .Cm u , .Cm x , これらはそれぞれ、 .Em 追加 (append) 、 .Em 作成 (create) 、 .Em 差分 (difference) 、 .Em 置換 (replace) 、 .Em リスト表示 (table of contents) 、 .Em 更新 (update) 、 .Em 抽出 (extract) を意味しています (下記に詳細があります)。 これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に 含めることができます。それらのいくつかは、コマンド単語内と同じ順で コマンドライン引数を要求します ( .Sx 使用例 の節を参照)。 機能文字と機能変更文字は、GNU 形式の引数で指定することもできます (2 つのダッシュを最初に付け、1 つのコマンド単語ごとに機能文字か 機能変更文字を 1 つだけ指定する)。 アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために コマンドライン指定するファイル名には、 シェルのパターンマッチ文字列を使用することができます。 .Sh 機能 以下の機能のいずれか 1 つだけを必ず指定する必要があります。 .Pp .Bl -tag -width "--concatenate" -compact .It Fl A .It Fl -catenate .It Fl "-concatenate" 指定された ( .Nm アーカイブ形式の) ファイルを tar アーカイブの末尾 に追加します (追加する前の古い end-of-archive ブロックは削除さ れます)。 これは、指定されたファイルがアーカイブの中の 1 ファイルとなるので はなく、指定したファイルの中に含まれているファイルを、最初に指定 したアーカイブに追加するという効果を持ちます。 .Em 注 : このオプションは .Ar tarfile を再書き込みする必要があるため、1/4 インチカートリッジテープでは動作しません。 .It Fl c .It Fl -create 新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定 されたファイルをアーカイブに書き込みます。 .It Fl d .It Fl -diff .It Fl -compare アーカイブの中のファイルと、それに相当するファイルシステム内の ファイルとの違いを調査します。 .It Fl -delete 指定されたファイルをアーカイブから削除します (1/4 インチテープでは動作しません)。 .It Fl r .It Fl -append アーカイブの末尾にファイルを追加します (1/4 インチテープでは動作しません)。 .It Fl t .It Fl -list アーカイブ内容のリスト表示をします。もし引数として .Ar filename が指定されていれば、そのファイルだけがリスト表示されます。 そうでなければ、アーカイブに含まれるすべてのファイルリストが表示されます。 .It Fl u .It Fl -update 指定したファイルのうち、アーカイブ内のファイルよりもディスク上の ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ では動作しません。 .It Fl x .It Fl -extract .It Fl -get アーカイブからファイルを抽出します。可能ならば、所有者、 変更時刻、ファイル属性はリストアされます。もし .Ar file 引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。 もし .Ar filename 引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと ディレクトリ内のファイルが抽出されます (ディレクトリ内の すべてのディレクトリについても同様に抽出されます)。 もしアーカイブ内に、相当する同じファイルが複数含まれていれば (上記の .Fl -append コマンドを参照)、最後に含まれているものが他のすべてのファイルを 上書きする形で抽出されます。 .El .Sh オプション .Nm の他のオプションは、組み合わせて使用することができます。 1 文字オプションは、コマンド単語の中で指定することができます。 引数を与えるべきオプションの場合、オプションに続けて引数を指定し ます。1 文字オプションであれば、これに続くコマンドライン引数を 使用します (以下の .Sx 使用例 を参照してください)。 .Pp .Bl -tag -width "--preserve-permissions" -compact .It Fl -help .Nm のすべてのコマンドオプションについて一覧と解説を表示します。 .It Fl -atime-preserve テープに書かれている、ファイルのアクセス時刻をリストアします。 (inode の変更時刻が変更されることに注意してください!) .It Fl b .It Fl -block-size Ar number 読み書きするブロックサイズを .Ar number * 512-byte ブロック に設定します。 .It Fl B .It Fl -read-full-blocks 短い読みだしブロックを、完全なブロックに再組み立てします ( .Bx 4.2 パイプの読み込み用)。 .It Fl C Ar directory .It Fl -directory Ar directory 残りの引数を処理する前に .Ar directory へ移動します。 .It Fl -checkpoint アーカイブを読み書きする間に読み書きしたバッファの数を表示します。 .It Fl f Xo .Oo Ar hostname : Oc Ns Ar file .Xc .It Fl -file Xo .Oo Ar hostname : Oc Ns Ar file .Xc 指定された .Ar file (デフォルトは .Pa /dev/sa0 ) を読み書きします。 もし .Ar hostname が指定されていれば、 .Nm は .Xr rmt 8 を使って、リモートマシン上の .Ar file を読み書きします。 .Dq Ar - はファイル名として使用されることもありますが、 これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。 .It Fl -force-local コロンがある時でさえ、アーカイブファイルはローカルのものとします。 .It Fl F Ar file .It Fl -info-script Ar file .It Fl -new-volume-script Ar file それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の .Fl M 指定が行なわれます)。 .It Fl -fast-read ワイルドカードで指定されていないすべての抽出ターゲットが アーカイブ内に見つかったら、その時点で終了します。 .It Fl G .It Fl -incremental 古い GNU-format インクリメンタルバックアップファイルを作成/リスト/抽出します。 .It Fl g Ar file .It Fl -listed-incremental Ar file 新しい GNU-format インクリメンタルバックアップファイルを 作成/リスト/抽出します。 .It Fl h .It Fl -dereference シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが 指しているデータを書き込みます。 .It Fl i .It Fl -ignore-zeros アーカイブの中のゼロブロック (通常、End-Of-File を意味する) を無視します。 .It Fl -ignore-failed-read ファイルが読めなくても、非 0 のステータスで exit しません。 .It Fl j .It Fl y .It Fl -bzip .It Fl -bzip2 .It Fl -bunzip2 アーカイブを .Xr bzip2 1 でフィルタリングします。 .It Fl k .It Fl -keep-old-files ディスク上に既にあるファイルを保持します。つまり、アーカイブから 抽出するファイルは、ディスク上のファイルへ上書きしません。 .It Fl K Ar file .It Fl -starting-file Ar file アーカイブの中の .Ar file から (抽出、リストなどを) 始めます。 .It Fl l .It Fl -one-file-system あるファイルシステム内にあるファイルだけでアーカイブを作成します (他ファイルシステムへのマウントポイントを跨ぎません)。 .It Fl L Ar number .It Fl -tape-length Ar number .Ar number * 1024 バイト書き込んだ後でテープの交換を要求します。 .It Fl m .It Fl -modification-time ファイルの変更時刻を抽出しません。 .It Fl M .It Fl -multi-volume マルチボリュームアーカイブを作成/リスト/抽出します。 .It Fl n .It Fl -norecurse 作成時に再帰的にサブディレクトリを走査しません。 .It Fl -volno-file Ar file ボリューム番号付きのファイル名です。 .It Fl N Ar date .It Fl -after-date Ar date .It Fl -newer Ar date 作成時間が .Ar date より新しいファイルだけを抽出します。 .It Fl -newer-mtime Ar date 変更時間が .Ar date より新しいファイルだけを抽出します。 .It Fl o .It Fl -old-archive .It Fl -portability POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。 .It Fl O .It Fl -to-stdout ファイルを標準出力に抽出します。 .It Fl p .It Fl -same-permissions .It Fl -preserve-permissions 保護情報を完全に抽出します。 .It Fl -preserve .Fl p s の指定と同じ効果を持ちます。 .It Fl P .It Fl -absolute-paths ファイル名から先頭の .Ql / をとりません。 .It Fl R .It Fl -record-number メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。 .It Fl -remove-files アーカイブに追加したファイルを、追加後に削除します。 .It Fl s .It Fl -same-order .It Fl -preserve-order アーカイブ内から抽出するファイルを、指定された順のままにします。 .It Fl -show-omitted-dirs アーカイブ作成中に除外されたディレクトリを表示します。 .It Fl S .It Fl -sparse .Dq 疎な ファイルを効率的に扱うようにします。 .It Fl T Ar file .It Fl I Ar file .It Fl -files-from Ar file .Ar file から抽出もしくは作成するファイル名を得ます (1 行 1 ファイル名)。 .It Fl -null null で終わっている名前を考慮し、 .Fl T の振舞を変更します。 これは .Fl C 指定を無効にします。 .It Fl -totals .Fl -create によって書かれた総バイト数を表示します。 .It Fl U .It Fl -unlink .It Fl -unlink-first ファイルを作成する前に、いったん削除します。 .It Fl v .It Fl -verbose .Fl -create でアーカイブに書くファイルや .Fl -extract でアーカイブから 取り出すファイル名をリスト表示します。 ファイルの保護情報をファイル名とともに表示させるには、 .Fl -list を使います。 .It Fl V Ar volume-name .It Fl -label Ar volume-name 指定された .Ar volume-name を持ったアーカイブを作成します。 .It Fl -version .Nm プログラムのバージョン番号を表示します。 .It Fl w .It Fl -interactive .It Fl -confirmation すべての動作に対して、確認を求めるようになります。 .It Fl W .It Fl -verify アーカイブを書き込んだ後、ベリファイを試みます。 .It Fl -exclude Ar pattern .Ar pattern にマッチするファイルを除外します (抽出しません。追加しません。リスト表示しません)。 .It Fl X Ar file .It Fl -exclude-from Ar file .Ar file に一覧されているファイルを除外します。 .It Fl Z .It Fl -compress .It Fl -uncompress アーカイブを .Xr compress 1 でフィルタリングします。 .It Fl z .It Fl -gzip .It Fl -gunzip アーカイブを .Xr gzip 1 でフィルタリングします。 .It Fl -use-compress-program Ar program アーカイブを .Ar program でフィルタリングします (これは、 .Fl d が指定されたときは .Dq decompress を意味しなければなりません)。 .It Fl -block-compress テープもしくはフロッピのために、圧縮プログラムの出力をブロック 化します (そうしないと、ブロック長がおかしくなり、デバイスドライバは そのブロックを拒絶するでしょう)。 .It Fl Xo .Op Cm 0 Ns - Ns Cm 7 Ns .Op Cm lmh .Xc テープドライブと密度を指定します。 .El .Sh 環境 環境変数 .Ev TAR_OPTIONS に .Nm のデフォルトオプションを保持させることが可能です。 これらのオプションは最初に解釈されますので、 明示的なコマンドラインパラメータで上書き可能です。 .Sh 使用例 .Pa bert と .Pa ernie というファイルを含む、 ブロックサイズが 20 ブロックのアーカイブを、 テープドライブ .Pa /dev/sa0 に作るには、 .Dl "tar cfb /dev/sa0 20 bert ernie" もしくは .Dl "tar --create --file /dev/sa0 --block-size 20 bert ernie" と入力します。 .Fl f および .Fl b フラグは両方とも引数を必要としていることに注意してください。 この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから 取得されます。 .Pp .Pa /dev/sa0 はデフォルトのデバイスであり、20 はデフォルトのブロック サイズですので、上記の例は次のように単純化できます。 .Dl "tar c bert ernie" \&"backup.tar" というアーカイブから、すべての C ソース及びヘッダを 抽出するには、次のようにタイプします。 .Pp .Dl tar xf backup.tar '*.[ch]' .Pp シェルがカレントディレクトリ内のファイル名に展開しないよう、パターンを クォートしなければならないことに注意してください (当然、 シェルはアーカイブ内のファイル一覧にアクセスすることはできません)。 .Pp ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください: .Bd -literal tar cf - -C srcdir . | tar xpf - -C destdir .Ed .Pp ディスケットに、 .Xr gzip 1 を使った圧縮アーカイブを作成するには、次の ようなコマンドラインを使うといいでしょう。 .Dl "tar --block-compress -z -c -v -f /dev/fd1a -b 36 tar/" .Pp まとめ指定フラグと .Fl - スタイルのフラグを混在させることができない ことに注意してください。次のようにタイプしなければならないわけで はなく、上記のような書き方で 1 文字フラグを使うことができます。 .Dl "tar --block-compress --gzip --verbose --file /dev/fd1a --block-size 20 tar/" .Pp 上のようにして作成したディスクの内容は、次のようにすればリスト 表示できます。 .Pp .Dl "tar tvfbz /dev/fd1a 36" .Pp 2 つの .Nm アーカイブを 1 つのアーカイブにまとめるには、 .Dl "tar Af archive1.tar archive2.tar" を使います。こうすると、 .Pa archive2.tar に含まれているファイルが .Pa archive1.tar の末尾に追加されます (単純に .Dl "cat archive2.tar >> archive1.tar" とタイプしてもうまくいかないことに注意してください。なぜなら、 .Nm アーカイブの末尾には end-of-file ブロックがあるからです)。 .Pp .Pa srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた 全てのファイルをアーカイブするためには、以下の形式を使って下さい。 .Dl "tar -c -f backup.tar --newer-mtime 'Feb 9 13:15 1997' srcdir/" .Pp 他の時間指定形式としては、 .Sq "02/09/97 13:15" , .Sq "1997-02-09 13:15" , .Sq "13:15 9 Feb 1997" , .Sq "'9 Feb 1997 13:15" , .Sq "Feb. 9, 1997 1:15pm" , .Sq "09-Feb" , .Sq "3 weeks ago" , .Sq "May first Sunday" があります。 正しいタイムゾーンを指定するためには、 .Sq "13:15 CEST" や .Sq "13:15+200" を使用して下さい。 .Sh 環境変数 .Nm プログラムは、以下の環境変数を参照します。 .Bl -tag -width "POSIXLY_CORRECT" .It Ev POSIXLY_CORRECT 通常、 .Nm はファイル指定の中に混ざったフラグを処理します。 この環境変数を設定すると、 .Nm は最初のフラグ以外の引数を見つける とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様 に合わせた動作を行なうようになります。 .It Ev SHELL インタラクティブモードにおいて、サブシェルの起動が要求されたとき、 .Ev SHELL 変数が設定されていればそれが、設定されていなければ .Pa /bin/sh が使用されます。 .It Ev TAPE .Nm のデフォルトのテープドライブを変更します (これは、さらに .Fl f フラグによって変更することができます)。 .It TAR_RSH TAR_RSH 環境変数は、デフォルトシェルに優先して、 .Nm tar のデータ転送に使用されます。 .El .Sh 関連ファイル .Bl -tag -width "/dev/sa0" .It Pa /dev/sa0 デフォルトのテープドライブ .El .Sh 互換性 .Fl y は FreeBSD だけの機能です。 GNU .Nm メンテナは、 .Fl j を GNU .Nm 1.13.18 以降における公式な .Xr bzip2 1 圧縮オプションとして採用しました。 .Fl I オプションは、Solaris の .Nm との互換性のためにあります。 .Sh 関連項目 .Xr bzip2 1 , .Xr compress 1 , .Xr gzip 1 , .Xr pax 1 , .Xr rmt 8 .Sh 歴史 .Nm フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に 原点があります。 この .Nm の実装は GNU 実装であり、 .An John Gilmore によって書かれた パブリックドメイン .Nm が元になっています。 .Sh 作者 .An -nosplit 次の人を含む、大変多くの人々。[ソースの中の .Pa ChangeLog ファイルに記述されている人々] .An John Gilmore (オリジナルのパブリックドメイン版の作者), .An Jay Fenlason (最初の GNU 作者), .An Joy Kendall , .An Jim Kingdon , .An David J. MacKenzie , .An Michael I Bushnell , .An Noah Friedman そして バグフィックスや追加を貢献してくれた無数の人々。 .Pp このマニュアルページは .Nx 1.0 release から、 .Fx グループが 取り込んだものです。 .Sh バグ 特徴的な .Fl C オプションの動作は、伝統的な .Nm プログラムのそれとは異なるので、 あまり頼りにはできません。 .Pp .Fl A コマンドで任意の数の .Nm アーカイブを結合できればいいのですが、それはできません。 これをやろうとしても、2 つ目以降のアーカイブの end-of-archive ブロックが削除されずに残ってしまいます。 .Pp .Nm ファイルフォーマットは準固定幅フィールドフォーマットであり、 デバイス番号用のフィールドは 16 ビット用 (メジャー 8 ビットでマイナ 8 ビット) にデザインされており、我々の 32 ビット番号 (メジャー 8 ビットでマイナ 16+8 ビット) を吸収できません。 diff --git a/ja_JP.eucJP/man/man1/tftp.1 b/ja_JP.eucJP/man/man1/tftp.1 index cfea90f47d..66c0ce5d96 100644 --- a/ja_JP.eucJP/man/man1/tftp.1 +++ b/ja_JP.eucJP/man/man1/tftp.1 @@ -1,180 +1,180 @@ .\" Copyright (c) 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tftp.1 8.2 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/tftp/tftp.1,v 1.13 2002/05/30 06:18:53 ru Exp % +.\" %FreeBSD: src/usr.bin/tftp/tftp.1,v 1.14 2002/11/26 17:33:36 ru Exp % .\" $FreeBSD$ .\" .Dd April 18, 1994 .Dt TFTP 1 .Os .Sh 名称 .Nm tftp .Nd 簡単なファイル転送プログラム .Sh 書式 .Nm .Op Ar host .Sh 解説 .Nm ユーティリティは、インターネット .Tn TFTP (Trivial File Transfer Protocol) を用いて、リモートマシンとの間の ファイル転送を行なうためのユーザインタフェースです。 リモートマシン名 .Ar host は、 .Nm 起動時にコマンドラインで指定することが可能です。この場合、 .Ar host はファイル転送を行なう際のデフォルトのホストとして使われます。 (以下の .Cm connect コマンドを参照のこと)。 .Sh コマンド .Nm 起動後、コマンド入力を促すプロンプト .Dq Li tftp> が表示されます。この状態で使用できるコマン ドは以下の通りです。 .Pp .Bl -tag -width verbose -compact .It Cm \&? Ar command-name ... ヘルプメッセージを出力します。 .Pp .It Cm ascii ``mode ascii'' の略です。 .Pp .It Cm binary ``mode binary'' の略です。 .Pp .It Cm connect Ar host-name Op Ar port ファイル転送を行なう .Ar host を(必要あれば .Ar port 番号も同時に) 設定します。 なお、 .Tn TFTP プロトコルは、 .Tn FTP プロトコルと違い、無通信状態においてはホスト間の コネクションを保持しないことに注意してください。 つまり、 .Cm connect コマンドはホスト 間のコネクションを確立するのではなく、実際には転送を行なうホストを 記憶するのに使用されます。 使用者は .Cm connect コマンドを使用する必要はなく、 .Cm get もしくは .Cm put コマンドを使用する時にリモートホストを指定することができます。 .Pp .It Cm get Ar filename .It Cm get Ar remotename localname .It Cm get Ar file1 file2 ... fileN 指定された形式でファイルを取得します。転送元の指定方法には 2 通りあります。 .Ar host がすでに指定されている場合、リモートホスト上のファイル名を指定し ます。もしくは .Ar hosts Ns : Ns Ar filename のようにリモートマシンとファイル名の両者を指 定します。もし後者の形式が使用される場合、最後に指定されたリモートホスト名が 以後のファイル転送の対象ホストとなります。 .Pp .It Cm mode Ar transfer-mode 転送モードを設定します。転送モードは .Em ascii と .Em binary の 2 通りがあります。デフォルトは .Em ascii となります。 .Pp .It Cm put Ar file .It Cm put Ar localfile remotefile .It Cm put Ar file1 file2 ... fileN remote-directory 指定されたファイルまたはディレクトリをリモートホストに転送します。 転送先の指定方法は 2 通りあります。 .Ar host がすでに 指定されている場合、リモートホスト上に作成されるファイル名を指定します。もしく は .Ar hosts Ns : Ns Ar filename のようにリモートホストとファイル名の両者を指定します。後者 の形式が使用される場合、最後に指定されたリモートホスト名が以後のファイル転送の 対象ホストとなります。また、ディレクトリを指定してリモートへのファイル転送を行 なう場合、リモートホストは -.Tn UNIX +.Ux マシンとみなされます。 IPv6 数値アドレスを .Ar hosts に指定する必要がある場合、コロンの区別ができるように、 .Bo Ar hosts Bc Ns : Ns Ar filename のように角括弧で括ってください。 .Pp .It Cm quit .Nm を終了します。EOF (^D) を入力した場合も同様です。 .Pp .It Cm rexmt Ar retransmission-timeout パケット毎の再送タイムアウト時間を秒単位で設定します。 .Pp .It Cm status 現在の tftp の状態を表示します。 .Pp .It Cm timeout Ar total-transmission-timeout 全体の転送タイムアウト時間を、秒単位で設定します。 .Pp .It Cm trace トグル動作でパケットトレース機能の ON/OFF を設定します。 .Pp .It Cm verbose トグル動作でバーボーズモードの ON/OFF を設定します。 .El .Sh バグ .Tn TFTP プロトコルには、ユーザ認証機構がないために、リモートマシン上のファイルには 何らかの種類のアクセス制限が生じることがあります。それらに関してはいろいろな例 があるため、ここには記述しません。 .Pp 33488896 オクテット (65535 ブロック) を越えるファイルは、 クライアントとサーバがブロックサイズのネゴシエーション (RFC1783) を サポートしていなければ、転送不可能です。 .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/tip.1 b/ja_JP.eucJP/man/man1/tip.1 index bdecfc6d46..68796d3e2a 100644 --- a/ja_JP.eucJP/man/man1/tip.1 +++ b/ja_JP.eucJP/man/man1/tip.1 @@ -1,508 +1,618 @@ .\" $OpenBSD: tip.1,v 1.19 2001/09/23 06:15:30 pvalchev Exp $ .\" $NetBSD: tip.1,v 1.7 1994/12/08 09:31:05 jtc Exp $ .\" .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tip.1 8.4 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/tip/tip/tip.1,v 1.18 2002/07/19 14:10:35 markm Exp % +.\" %FreeBSD: src/usr.bin/tip/tip/tip.1,v 1.20 2002/12/12 17:26:01 ru Exp % .\" $FreeBSD$ .\" -.Dd April 18, 1994 +.Dd September 9, 2001 .Dt TIP 1 .Os .Sh 名称 -.Nm tip +.Nm tip , +.Nm cu .Nd リモートシステムとの接続を行なう .Sh 書式 .Nm -.Op Fl v -.Fl Ns Ns Ar speed -.Ar system\-name -.Nm -.Op Fl v -.Fl Ns Ns Ar speed -.Ar phone\-number +.Op Fl nv +.Op Fl Ar speed +.Op Ar system-name +.Nm cu +.Op Fl ehot +.Op Fl a Ar acu +.Op Fl l Ar line +.Op Fl s Ar speed +.Op Fl Ar # +.Op Ar phone-number .Sh 解説 .Nm -は、他のマシンとの間に全二重のコネクションを確立し、 +および +.Nm cu +のユーティリティは、他のマシンとの間に全二重のコネクションを確立し、 リモートマシンへ直接ログインしてみせます。 言うまでもないことですが、コネクションを張りたいマシンに対しては、 ログインアカウント (かそれに相当するもの) がなければなりません。 +好まれるインタフェースは +.Nm +です。 +.Nm cu +インタフェースは、 +.At v7 +の +.Dq call Ux +コマンドから離れられない方々のために含まれています。 +本マニュアルページは +.Nm +のみを記述します。 .Pp 以下のオプションが使用可能です: -.Bl -tag -width indent +.Bl -tag -width ".Fl s Ar speed" +.It Fl a Ar acu +acu を設定します。 +.It Fl l Ar line +.Nm cu +では、使用する回線を指定します。 +.Pa tty00 +や +.Pa /dev/tty00 +のどちらの形式も許されます。 +.It Fl n +エスケープ無し (チルダの無効化)。 +.It Fl s Ar speed +.Nm cu +では、接続速度を設定します。 +デフォルトは 9600 です。 .It Fl v 冗長モードを設定します。 .El .Pp +.Ar speed +が指定された場合、使用されるシステム記述で指定されたボーレートに優先します。 +.Pp +.Ar speed +も +.Ar system-name +も指定されない場合、 +.Ar system-name +は +.Ev HOST +環境変数の値に設定されます。 +.Pp +.Ar speed +が指定されたものの +.Ar system-name +が指定されない場合、 +.Dq Li tip +に +.Ar speed +を追加した値に +.Ar system-name +を設定します。 +例えば +.Nm Fl 1200 +は +.Ar system-name +を +.Dq Li tip1200 +に設定します。 +.Pp 入力された文字は通常は直接リモートマシンに転送されます (それは同様にエコーされます)。 -行頭にチルダ文字 (`~') が入力された場合には、これはエスケープ文字として +行頭にチルダ文字 +.Pq Ql ~ +が入力された場合には、これはエスケープ文字として 働きます; 以下の組み合わせが認識されます: -.Bl -tag -width flag -.It Ic \&~^D No または Ic \&~ . +.Bl -tag -width indent +.It Xo +.Ic ~^D +または +.Ic ~. +.Xc コネクションを切断し、プログラムを終了します (リモートマシンにはログインしたままでいることもできます)。 -.It Ic \&~c Op Ar name +.It Ic ~c Op Ar name ローカルのカレントディレクトリを .Ar name で指定したものに変更します (引数が指定されない場合には、ホームディレクトリに移動します)。 -.It Ic \&~! -シェルを起動します (シェルを終了すると、tip に戻ります)。 -.It Ic \&~> +.It Ic ~! +シェルを起動します (シェルを終了すると、 +.Nm +に戻ります)。 +.It Ic ~> ローカルマシンのファイルをリモートマシンにコピーします。 .Nm ユーティリティは、ローカルファイル名の入力プロンプトを出します。 -.It Ic \&~< +.It Ic ~< リモートシステムのファイルをローカルマシンに転送します。 .Nm ユーティリティは、まず転送されるファイル名の入力プロンプトを出し、 それからリモートマシンで実行するコマンドのプロンプトを出します。 -.It Ic \&~p Ar from Op Ar to +.It Ic ~p Ar from Op Ar to リモートの .Ux ホストにファイルを送ります。put コマンドは .Nm -が ``from'' ファイルを送っている間、リモートの +が +.Dq from +ファイルを送っている間、リモートの .Ux -システム上で ``cat > 'to''' コマンドを実行します。 -``to'' ファイル名が指定されない場合には、 -このファイル名には ``from'' ファイル名を使用します。 +システム上で +.Dq Nm cat Li \&> Ar to +コマンドを実行します。 +.Dq to +ファイル名が指定されない場合には、 +このファイル名には +.Dq from +ファイル名を使用します。 このコマンドは、実際には -``~>''コマンドを +.Ic ~> +コマンドを .Ux システムに特定して実装したバージョンです。 -.It Ic \&~t Ar from Op Ar to +.It Ic ~t Ar from Op Ar to リモートの .Ux -ホストからファイルを受信します。put コマンドと同じく、``to'' ファイル名 -が指定されない場合には、このファイル名は ``from'' ファイル名と同じになります。 +ホストからファイルを受信します。put コマンドと同じく、 +.Ar to +ファイル名 +が指定されない場合には、このファイル名は +.Ar from +ファイル名と同じになります。 リモートホストでは .Nm -にファイル転送を行なうために ``cat 'from';echo ^A'' を実行します。 -.It Ic \&~| +にファイル転送を行なうために +.Dq Nm cat Ar from ; Nm echo Li ^A +を実行します。 +.It Ic ~| リモートコマンドからの出力を、ローカル .Ux プロセスへパイプを用いてリダイレクトします。 ローカル .Ux システムに送られるコマンド文字列は、シェルで処理されます。 -.It Ic \&~$ +.It Ic ~$ ローカル .Ux プロセスからパイプを介してリモートホストへ出力します。 ローカル .Ux システムに送られるコマンド文字列は、シェルで処理されます。 -.It Ic \&~C -ローカルシステム上で \s-1XMODEM\s+1 などの特別なプロトコルを扱うための +.It Ic ~C +ローカルシステム上で +.Tn XMODEM +などの特別なプロトコルを扱うための 子プロセスを起動します。この子プロセスは特別に用意された、次のような ファイル記述子を用いて動作します。 .Bd -literal -offset indent 0 <-> 自側 tty 入力 1 <-> 自側 tty 出力 2 <-> 自側 tty 出力 3 <-> 相手側 tty 入力 4 <-> 相手側 tty 出力 .Ed -.It Ic \&~# +.It Ic ~# .Dv BREAK 信号をリモートホストに送信します。 必要な .Fn ioctl システムコールをサポートしていないシステムの場合には、回線速度の 変更と -DEL +.Dv DEL 文字の組み合わせでブレイクをシミュレートします。 -.It Ic \&~s +.It Ic ~s 変数をセットします (以下の記述を参照してください)。 -.It Ic \&~v +.It Ic ~v すべての変数とその値 (設定されてる場合) を表示します。 -.It Ic \&~^Z +.It Ic ~^Z .Nm を停止します (システムがジョブコントロールをサポートしている場合にのみ使用可能です)。 -.It Ic \&~^Y +.It Ic ~^Y .Dq ローカル側の .Nm のみ停止します (システムがジョブコントロールをサポートしている場合にのみ使用可能です); .Nm の .Dq リモート側 すなわちリモートホストの表示出力については引続き走行します。 -.It Ic \&~? +.It Ic ~? チルダエスケープで使用できるコマンド一覧を表示します。 .El .Pp システム記述、すなわち .Ar system-name の動作特性を見付けるために、 .Nm は名前が .Ar system-name と合致するシステム記述を検索します 検索順序は次の通りです: .Bl -enum -offset indent .It 環境変数 .Ev REMOTE が .Ql \&/ で開始しない場合、これはシステム記述と仮定され、最初に検討されます。 .It 環境変数 .Ev REMOTE が .Ql \&/ で開始する場合、これは .Xr remote 5 データベースのパスと仮定され、指定されたデータベースが検索されます。 -.It +.It デフォルトの .Xr remote 5 データベース .Pa /etc/remote が検索されます。 .El .Pp -.Nm -ユーティリティは、 -.Pa /etc/remote -ファイルを用いて特定システムへの接続方法を検索し、他システムと -接続する際のパラメータを特定します; -.Pa /etc/remote -ファイルの完全な記述は -.Xr remote 5 +システム記述に関する文書は +.Xr remote 5 を参照してください。 -各システムは、コネクションを確立する際にデフォルトの通信速度が決められて -います。この通信速度が適当でない場合には、コマンドラインにて通信速度を -指定することができます。例えば -.Ql "tip -300 mds" +.Pp +システム記述中で +.Va ba +ケーパビリティを使用することで、 +コネクションを確立するボーレートを指定可能です。 +指定された値が適当でない場合には、使用されるボーレートは +コマンドラインで指定されたものになり得ます。 +例えば +.Dq Li "tip -300 mds" です。 .Pp .Nm がコネクションを確立すると、使用されるシステム記述の -.Ar cm +.Va cm ケーパビリティで指定されているコネクションメッセージを、 リモートホストに送信します。 .Pp .Nm に引数の入力を促されている場合 (例えば、ファイル転送の設定の間) には、入力された行は標準の erase や kill 文字で編集することが許されています。 入力を促されている時に空行を入力したり操作を中断 した場合には、入力を促す画面から抜け出し、リモートマシンとの対話に戻ります。 .Pp .Nm ユーティリティは、モデムや回線の排他制御や .Xr uucico 8 で採用されているロックプロトコルを用いることで、複数のユーザが リモートシステムへ接続することを制限しています。 .Pp ファイル転送時には .Nm は転送した行数を表示します。 .Ic ~> や .Ic ~< コマンドを使用した場合には、 -.Dq eofread +.Va eofread 変数や -.Dq eofwrite +.Va eofwrite 変数は、ファイル読み込時の end-of-file 文字の認識や、ファイル書き込み時 の end-of-file 文字の指定に用いられます (後述)。ファイル転送時のフロー制御は、 通常は tandem モードで行なわれます。リモートシステムが tandem モードをサポートしない場合には、 -.Dq echocheck +.Va echocheck が設定され、 .Nm が相手に転送した文字のエコーを用いてリモートシステムと同期します。 .Pp .Nm が他システムとの接続のために電話をかける場合には、 動作を示すさまざまな表示を行ないます。 .Nm -ユーティリティは AT コマンドセットを使用するモデムをサポートします。 -.Nm -ユーティリティは特定のモデムを制御する方法を -.Pa /etc/modems -ファイルから見つけ出します; -完全な記述は -.Xr modems 5 -を参照してください。 +ユーティリティは、システム記述中の +.Va at +ケーパビリティにおいて、様々な自動呼び出し機器やモデムをサポートします。 +.Pp +Ventel 212+ (ventel), Hayes AT-style (hayes), +USRobotics Courier (courier), Telebit T3000 (t3000), +Racal-Vadic 831 (vadic) のサポートは、デフォルトで有効です。 +.Pp +Bizcomp 1031[fw] (biz31[fw]), Bizcomp 1022[fw] +(biz22[fw]), DEC DF0[23]-AC (df0[23]), DEC DN-11 (dn11), +Racal-Vadic 3451 (v3451) のサポートは、 +.Xr tip 1 +を適切な定義付きで再コンパイルすることで追加可能です。 +.Pp +Racal-Vadic 831 および 3451 のサポートを両方有効にすると、 +それぞれ v831 および v3451 と参照されます。 +どちらか一方のみサポートすると、それは vadic と参照されます。 .Ss 変数 .Nm ユーティリティは、自己を制御するために、 -.Ar 変数 +変数 を取り扱います。 いくつかの変数は、一般ユーザの権限では参照のみで変更することはできません (スーパユーザのみ、これらの変数の変更が許可されています)。変数は、 -.Sq s +.Ic ~s エスケープにて、参照および変更が可能です。変数設定の書式は、 .Xr vi 1 や .Xr Mail 1 での変数設定の書式と同様です。コマンドの引数に -.Dq all +.Dq Li all を指定することで、 ユーザが読み出し可能なすべての変数を表示することができます。また、ユーザは 特定の変数について、変数名の最後に -.Ql ? +.Ql \&? を付加することにより、 その値を表示することができます。 例えば -.Dq escape? +.Dq Li escape? とすることで、現在のエスケープ文字を表示します。 .Pp 変数値として採用されるものは、数値、文字列、文字、もしくは論理値です。 論理変数の設定については、単に変数名を設定するだけで設定されます; これらは、変数名の前に -.Ql ! +.Ql \&! 文字をつけることにより偽に設定 されます。他の変数型については、変数と値の間を .Ql = でつなぐことで設定 できます。すべての設定について、その指定中に空白を入れてはいけません。 単独の set コマンドは、変数の値を設定するだけでなく、変数の値を知るため にも用いられます。 変数は実行時に set コマンドを実行することで初期化されます ( ホームディレクトリの .Pa .tiprc ファイル中で、 -.Ql ~s +.Ic ~s プレフィックスがない場合です)。 .Fl v オプションを指定することで、 .Nm が初期化時に行なった設定を表示します。 確実に共通変数と思われるものについては、略号表記されます。 以下に共通変数およびその略号と、デフォルトの値の一覧を示します。 -.Bl -tag -width Ar -.It Ar beautify -(論理値) セッション確立時に受けとった表示不可の文字については無視します; -.Ar be +.Bl -tag -width indent +.It Va beautify +.Pq Vt 論理値 +セッション確立時に受けとった表示不可の文字については無視します; +.Va be と略号表記されます。 -.It Ar baudrate -(数値) コネクション確立時の通信速度を指定します; -.Ar ba +.It Va baudrate +.Pq Vt 数値 +コネクション確立時の通信速度を指定します; +.Va ba と略号表記されます。 -.It Ar dialtimeout -(数値) 相手先に電話をかける際に、コネクション確立までの待ち時間 (秒単位) を +.It Va dialtimeout +.Pq Vt 数値 +相手先に電話をかける際に、コネクション確立までの待ち時間 (秒単位) を 指定します; -.Ar dial +.Va dial と略号表記されます。 -.It Ar echocheck -(論理値) ファイル転送時のリモートホストとの同期を、 +.It Va echocheck +.Pq Vt 論理値 +ファイル転送時のリモートホストとの同期を、 送信された最後の文字のエコーを待つことで取ります; 本変数のデフォルト値は -.Ar off +.Cm off です。 -.It Ar eofread -(文字列) +.It Va eofread +.Pq Vt 文字列 .Ic ~< コマンドを用いてファイル転送した場合に、 転送終了を示す文字群です; -.Ar eofr +.Va eofr と略号表記されます。 -.It Ar eofwrite -(文字列) +.It Va eofwrite +.Pq Vt 文字列 .Ic ~> コマンドを用いてファイル転送した場合に、 転送終了を示すために送る文字列です; -.Ar eofw +.Va eofw と略号表記されます。 -.It Ar eol -(文字列) 行末を示す文字群です。 +.It Va eol +.Pq Vt 文字列 +行末を示す文字群です。 .Nm ユーティリティは、 行末文字の直後に現れたエスケープ文字のみ、エスケープ文字として認識します。 -.It Ar escape -(文字) コマンドプレフィックス (エスケープ) 文字です; -.Ar es +.It Va escape +.Pq Vt 文字 +コマンドプレフィックス (エスケープ) 文字です; +.Va es と略号表記されます; 本変数のデフォルト値は .Ql ~ です。 -.It Ar exceptions -(文字列) beautification の指定で無視されない文字群を指定します; -.Ar ex +.It Va exceptions +.Pq Vt 文字列 +beautification の指定で無視されない文字群を指定します; +.Va ex と略号表記されます; -本変数のデフォルト値は -.Dq \et\en\ef\eb +本変数のデフォルト値 +.Dq Li \et\en\ef\eb です。 -.It Ar force -(文字) リテラルデータ送信を強制する文字です; -.Ar fo +.It Va force +.Pq Vt 文字 +リテラルデータ送信を強制する文字です; +.Va fo と略号表記されます; 本変数のデフォルト値は .Ql ^P です。 -.It Ar framesize -(数値) ファイルを受信した場合に、ファイルシステムとの間にあるバッファに +.It Va framesize +.Pq Vt 数値 +ファイルを受信した場合に、ファイルシステムとの間にあるバッファに バッファリングするデータ量 (バイト単位) です; -.Ar fr +.Va fr と略号表記されます。 -.It Ar host -(文字列) 接続しているホスト名です; -.Ar ho +.It Va host +.Pq Vt 文字列 +接続しているホスト名です; +.Va ho と略号表記されます。 -.It Ar prompt -(文字) リモートホストの行末文字です; -.Ar pr +.It Va prompt +.Pq Vt 文字 +リモートホストの行末文字です; +.Va pr と略号表記されます; 本変数のデフォルト値は .Ql \en です。本変数は、データ転送時の同期を取るのに 用いられます。ファイル転送時に行なう転送行のカウントは、この文字を いくつ受けとったかということに基づきます。 -.It Ar raise -(論理値) 大文字に変換するモードです; -.Ar ra +.It Va raise +.Pq Vt 論理値 +大文字に変換するモードです; +.Va ra と略号表記されます; 本変数のデフォルト値は -.Ar off +.Cm off です。 本モードが有効になると、すべての小文字の文字列は、リモートホストへの転送時に .Nm によって大文字に変更されます。 -.It Ar raisechar -(文字) 大文字へ変換するモードの切り替えを行なう入力文字です; -.Ar rc +.It Va raisechar +.Pq Vt 文字 +大文字へ変換するモードの切り替えを行なう入力文字です; +.Va rc と略号表記されます; 本変数のデフォルト値は .Ql ^A です。 -.It Ar record -(文字列) セッションの記録を取るファイル名です; -.Ar rec +.It Va record +.Pq Vt 文字列 +セッションの記録を取るファイル名です; +.Va rec と略号表記されます; 本変数のデフォルト値は -.Dq tip.record +.Pa tip.record です。 -.It Ar script -(論理値) セッションの記録を取るモードです; -.Ar sc +.It Va script +.Pq Vt 論理値 +セッションの記録を取るモードです; +.Va sc と略号表記されます; 本変数のデフォルト値は -.Ar off +.Cm off です。 -.Ar script +.Va script が -.Li true +.Cm true の場合には、 .Nm はリモートホストから転送されたすべてのデータを -.Ar record +.Va record に指定されたファイルに記録します。 -.Ar beautify +.Va beautify スイッチが有効になっている場合には、表示可能な .Tn ASCII 文字 (文字コードに換算して 040 から 0177 までの間) についてのみ記録されます。 beautification 規則の例外を指定する -.Ar exceptions +.Va exceptions 変数による設定も有効となります。 -.It Ar tabexpand -(論理値) ファイル転送時にタブ文字を空白文字に展開するモードです; -.Ar tab +.It Va tabexpand +.Pq Vt 論理値 +ファイル転送時にタブ文字を空白文字に展開するモードです; +.Va tab と略号表記されます。 本変数のデフォルト値は -.Ar false +.Cm false です。 本モードが有効になっている場合には、タブ文字は空白文字 8 つに展開されます。 -.It Ar verbose -(論理値) 冗長モードです; -.Ar verb +.It Va verbose +.Pq Vt 論理値 +冗長モードです; +.Va verb と略号表記されます; 本変数のデフォルト値は -.Ar true +.Cm true です。 冗長モードが有効になっている場合には、 .Nm はダイヤル時にメッセージを出力したり、ファイル転送を行なっている際の 現在の転送行数を指定したりします。 .El .Sh 環境変数 -.Nm -ユーティリティは、以下の環境変数を参照します: -.Bl -tag -width Fl +.Bl -tag -width indent .It Ev SHELL .Ic ~! コマンド実行時に使用するシェルの名前です; デフォルト値は -.Dq /bin/sh +.Pa /bin/sh です。 .It Ev HOME .Ic ~c コマンド実行時に用いるホームディレクトリです。 .It Ev HOST コマンドラインで指定が無い場合の、デフォルトの -.Ar system-name +.Va system-name 値です。 .It Ev REMOTE システム記述であるか、 .Xr remote 5 システム記述データベースへの絶対パスです。 .It Ev PHONES .Xr phones 5 データベースへのパスです。 .El .Sh 関連ファイル -.Bl -tag -width "/var/spool/lock/LCK..*" -compact +.Bl -tag -width ".Pa /var/spool/lock/LCK..*" -compact .It Pa /etc/remote グローバル .Xr remote 5 データベース。 .It Pa /etc/phones デフォルト .Xr phones 5 ファイル。 .It Pa ~/.tiprc 初期化ファイル。 .It Pa tip.record 記録ファイル。 .It Pa /var/log/aculog 回線アクセス記録。 .It Pa /var/spool/lock/LCK..* .Xr uucp 1 との回線競合を避けるための回線排他制御ファイル。 .El .Sh 関連項目 .Xr remote 5 , .Xr phones 5 .Sh 歴史 .Nm -は +コマンドは .Bx 4.2 から登場しました。 .Sh バグ すべての変数が文書化されているわけではありません。文書化されていないものは おそらく削除されるでしょう。 diff --git a/ja_JP.eucJP/man/man1/tr.1 b/ja_JP.eucJP/man/man1/tr.1 index ca94ebb470..763d234fef 100644 --- a/ja_JP.eucJP/man/man1/tr.1 +++ b/ja_JP.eucJP/man/man1/tr.1 @@ -1,320 +1,318 @@ .\" 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. .\" .\" @(#)tr.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/tr/tr.1,v 1.18 2002/10/17 13:04:49 charnier Exp % +.\" %FreeBSD: src/usr.bin/tr/tr.1,v 1.19 2002/11/26 17:33:36 ru Exp % .\" .\" $FreeBSD$ .\" .Dd October 11, 1997 .Dt TR 1 .Os .Sh 名称 .Nm tr .Nd 文字の置換 .Sh 書式 .Nm .Op Fl Ccsu .Ar string1 string2 .br .Nm .Op Fl Ccu .Fl d .Ar string1 .br .Nm .Op Fl Ccu .Fl s .Ar string1 .br .Nm .Op Fl Ccu .Fl ds .Ar string1 string2 .Sh 解説 .Nm ユーティリティは、選択された文字を置き換え、または削除しながら 標準入力を標準出力にコピーします。 .Pp 以下のオプションが利用できます: .Bl -tag -width Ds .It Fl C .Ar string1 に含まれる文字の補集合を表します。 つまり -.Fl C Ar ab +.Dq Fl C Li ab は、 -.Ar a +.Ql a と -.Ar b +.Ql b を除く全ての文字を含みます。 .It Fl c .Fl C と同じですが、 .Ar string1 に含まれるバイト値の補集合となります。 .It Fl d 入力から、 .Ar string1 に含まれる文字を削除します。 .It Fl s 最後の引数 ( .Ar string1 か .Ar string2 のどちらか) に含まれている同一の文字が、入力の中に連続して現れるとき、 それを 1 つの文字に圧縮します。この圧縮は、全ての削除や変換が終わった 後に行われます。 .It Fl u 出力がバッファリングされないことを保証します。 .El .Pp 書式の最初の形式では、 .Ar string1 に含まれる文字は、 .Ar string1 の 1 文字目は .Ar string2 の 1 文字目と置き換え...というように .Ar string2 に置き換えられます。もし .Ar string1 が .Ar string2 よりも長い場合は、 .Ar string2 の最後の文字が、 .Ar string1 と対応させるのに足りない分だけ続いているものとみなされます。 .Pp 書式の 2 番目の形式では、 .Ar string1 に含まれる文字は、入力から削除されます。 .Pp 書式の 3 番目の形式では、 .Ar string1 に含まれる文字は、 .Fl s オプションの解説の通りに圧縮されます。 .Pp 書式の 4 番目の形式では、 .Ar string1 に含まれる文字は入力から削除され、 .Ar string2 に含まれる文字は .Fl s オプションの解説の通りに圧縮されます。 .Pp .Ar string1 , .Ar string2 の文字の集合を指定するのに、以下のような記述方法が利用できます: .Bl -tag -width [:equiv:] .It character 以下で示したものを除く、その文字自身を表す 通常の文字 (キャラクタ) です。 .It \eoctal バックスラッシュに続き、1〜3 桁の 8 進数が続いたものは、 その値を符号化した文字を表現します。この 8 進数の並びに続いて 数字を文字として指定したい場合には、8 進数の並びが 3 桁と なるように、8 進数の上位桁 (左) に 0 を埋めてください。 .It \echaracter バックスラッシュに続く、特定の特殊な文字は、特殊な値に対応しています。 .Pp .Bl -column "\ea" .It "\ea <ベル文字> .It "\eb <バックスペース> .It "\ef <フォームフィード> .It "\en <改行> .It "\er <復帰> .It "\et <水平タブ> .It "\ev <垂直タブ> .El .sp これら以外のバックスラッシュに続く文字は、その文字自身に対応します。 .It c-c 両端を指定することにより、文字の範囲を表します。両端を含みます。 .It [:class:] 定義された文字クラスに属する、全ての文字を表します。 クラス名は以下の通りです: .sp .Bl -column "xdigit" .It "alnum <英数字> .It "alpha <英字> .It "cntrl <コントロール文字> .It "digit <数字> .It "graph <グラフィック文字> .It "lower <英小文字> .It "print <表示可能文字> .It "punct <句読点> .It "space <空白文字> .It "upper <英大文字> .It "xdigit <16進数> .El .Pp .\" .Fl d .\" と .\" .Fl s .\" の両方のオプションが指定された場合には、 .\" すべてのクラスを .\" .Ar string1 .\" および .\" .Ar string2 .\" に使うことができます。 .\" そうでない場合には、 .\" .Ar string2 .\" には、``upper'' もしくは ``lower'' .\" しか指定できません。 .\" しかも、対応するクラス (``upper'' に対する ``lower''、逆も同様)が .\" .Ar string1 .\" に指定されているとき限ります。 .\" .Pp ``upper'' と ``lower'' を除いたクラスでは、クラスに含まれる文字の 順序は特定されていません。``upper'' と ``lower'' では、 文字は昇順に並んでいます。 .Pp どのような .Tn ASCII 文字が、これらのクラスに含まれているのかという情報を 調べたい場合には、 .Xr ctype 3 および関連マニュアルを参照してください。 .It [=equiv=] .Ar equiv と同じ同値関係クラスに属する全ての文字を表します。 これらはエンコード値の順序となります。 .It [#*n] .Ar # で指定された .Ar n 個の文字の繰り返しを表現します。この表現は、 .Ar string2 で指定されたときのみ有効です。 もし .Ar n が省略された場合、または 0 の場合は、 .Ar string2 が .Ar string1 の長さを満たすような、十分大きな値として解釈されます。 .Ar n は、0 で始まる場合には 8 進数として、そうでない場合には 10 進数として 解釈されます。 .El .Sh 環境変数 -.Ev LANG , -.Ev LC_ALL , -.Ev LC_CTYPE , +.Ev LANG , LC_ALL , LC_CTYPE , .Ev LC_COLLATE の環境変数が、 .Xr environ 7 の記述通りに、 .Nm の実行に影響します。 .Sh 使用例 以下の例は、シェルに対して与えられたものです: .sp file1 に含まれる単語 (文字の最大長の並び) のリストを、 各行につき 1 つずつ出力します。 .sp .D1 Li "tr -cs \*q[:alpha:]\*q \*q\en\*q < file1" .sp file1 の内容を大文字に変換します。 .sp .D1 Li "tr \*q[:lower:]\*q \*q[:upper:]\*q < file1" .sp 表示できない文字を file1 から削除します。 .sp .D1 Li "tr -cd \*q[:print:]\*q < file1" .Pp 発音区分記号を、 -.Sq e +.Ql e のアクセント付きバリアントすべてから削除します。 .Pp .Dl "tr \*q[=e=]\*q \*qe\*q" .Sh 診断 .Ex -std .Sh 互換性 古くからの .Bx の実装および POSIX 標準では、文字の 範囲指定には ``c-c'' という文法を用いますが、 古い System V の実装では ``[c-c]'' を用いています。 System V のシェルスクリプトは、文字の置換を行おうとする 場合にはうまく動作するはずです。つまり、``tr [a-z] [A-Z]'' と 指定した場合には、 .Ar string1 の ``['' が .Ar string2 の ``['' に変換されるため、うまく動作します。 しかし、シェルスクリプトが、``tr -d [a-z]'' というコマンドのように 文字の削除や圧縮を行う場合には、``['' と ``]'' の文字が 削除や圧縮の対象に含まれてしまいます。古い実装の System V では このようには動作しません。さらに、``a'', ``-'', ``z'' と いう 3 つの文字を表現するのに、``a-z'' と記述するような、 その並びに依存しているあらゆるスクリプトは、``a\e-z'' と書き 直す必要があります。 .Pp .Nm ユーティリティは昔から、入力における NUL バイトの操作を 禁止されていました。さらに、入力から NUL を取り除いていました。 この実装では、この振る舞いはバグとみなされ、削除されました。 .Pp .Nm ユーティリティは昔から、たとえば、2 つの文字列が指定されない限り .Fl c および .Fl s オプションを無視する、などの文法上の誤りを 極端なまでに許していました。この実装では、不正な文法は 許されなくなっているはずです。 .Sh 規格 .Nm ユーティリティは、 .St -p1003.1-2001 に適合しています。 .Pp .Ar string2 が .Ar string1 よりも短い場合に .Ar string2 の最後の文字が複製される機能は、 POSIX では許されていますが必須ではないことに注意して下さい。 他の POSIX システムへの可搬性のあるシェルスクリプトを 作ろうとするならば、この振る舞いを当てにせずに、``[#*]'' と いう表現を使うべきです。 .Fl u オプションは .St -p1003.1-2001 標準の拡張です。 diff --git a/ja_JP.eucJP/man/man1/truss.1 b/ja_JP.eucJP/man/man1/truss.1 index 5dc6a6a345..c98785d10d 100644 --- a/ja_JP.eucJP/man/man1/truss.1 +++ b/ja_JP.eucJP/man/man1/truss.1 @@ -1,88 +1,95 @@ -.\" %FreeBSD: src/usr.bin/truss/truss.1,v 1.14 2002/08/04 02:24:21 mdodd Exp % +.\" %FreeBSD: src/usr.bin/truss/truss.1,v 1.15 2002/11/26 17:33:36 ru Exp % .\" .\" $FreeBSD$ .Dd November 23, 1997 .\" .\" WORD: trace トレース(する)[ktrace.1, mtrace.8] .\" .Dt TRUSS 1 .Os .Sh 名称 .Nm truss .Nd システムコールをトレースする .Sh 書式 .Nm .Op Fl faedDS .Op Fl o Ar file .Fl p Ar pid .Nm .Op Fl faedDS .Op Fl o Ar file command .Op args .Sh 解説 .Nm ユーティリティは、指定したプロセスやプログラムが呼び出すシステムコールを トレースします。出力は指定した出力ファイルか、デフォルトでは 標準エラー出力へ送られます。処理は .Xr procfs 5 でプロセスを監視し、それを停止させたり再開させて行なわれます。 .Pp オプションは以下のとおりです : .Bl -tag -width indent .It Fl f -元々のトレース対象プロセスが fork(), vfork 等で作成した子孫プロセスを +元々のトレース対象プロセスが +.Xr fork 2 , +.Xr vfork 2 +等で作成した子孫プロセスを トレースします。 .It Fl a -各 execve() システムコールで渡された引数文字列を表示します。 +各 +.Xr execve 2 +システムコールで渡された引数文字列を表示します。 .It Fl e -各 execve() システムコールで渡された環境文字列を表示します。 +各 +.Xr execve 2 +システムコールで渡された環境文字列を表示します。 .It Fl d 出力中に、トレース開始からの経過時間を示す、 タイムスタンプを含めます。 .It Fl D 出力中に、最後に記録されたイベントからの経過時間を示す、 タイムスタンプを含めます。 .It Fl S プロセスが受信するシグナルについての情報は表示しません。 (通常、 .Nm はシステムコールイベントと同様、シグナル情報も表示します。) .It Fl o Ar file 出力を標準エラー出力ではなく、指定したファイル .Ar file へ送ります。 .It Fl p Ar pid 新しくコマンドを起動するのではなく、指定したプロセス ID .Ar pid のプロセスを追います。 .It Ar command Op args コマンド .Ar command を実行し、そのシステムコールをトレースします。 (オプション .Fl p と .Ar command は互いに排他的にしか使用できません。) .El .Sh 使用例 # "hello" を echo する際に使われるシステムコールを追います .Dl $ truss /bin/echo hello # 同じことをしますが、出力をファイルに書き込みます .Dl $ truss -o /tmp/truss.out /bin/echo hello # すでに動作しているプロセスを追います .Dl $ truss -p 1 .Sh 関連項目 .Xr kdump 1 , .Xr ktrace 1 , .Xr procfs 5 .Sh 歴史 .Nm コマンドは .An Sean Eric Fagan が .Fx 用に作成しました。 System V Release 4 や SunOS で利用可能な 類似のコマンドをモデルにしました。 diff --git a/ja_JP.eucJP/man/man1/unifdef.1 b/ja_JP.eucJP/man/man1/unifdef.1 index 36c435098c..4256d36222 100644 --- a/ja_JP.eucJP/man/man1/unifdef.1 +++ b/ja_JP.eucJP/man/man1/unifdef.1 @@ -1,255 +1,255 @@ .\" Copyright (c) 1985, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Dave Yost. Support for #if and #elif was added by Tony Finch. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)unifdef.1 8.2 (Berkeley) 4/1/94 .\" $dotat: things/unifdef.1,v 1.26 2002/09/24 19:44:12 fanf2 Exp % -.\" %FreeBSD: src/usr.bin/unifdef/unifdef.1,v 1.15 2002/09/24 19:48:39 fanf Exp % +.\" %FreeBSD: src/usr.bin/unifdef/unifdef.1,v 1.16 2002/12/04 14:42:49 ru Exp % .\" $FreeBSD$ .\" .Dd September 24, 2002 .Dt UNIFDEF 1 .Os .Sh 名称 .Nm unifdef , unifdefall .Nd プリプロセッサ条件行を取り除く .Sh 書式 .Nm .Op Fl cklst .Oo .Fl I Ns Ar path .Fl D Ns Ar sym Ns Op = Ns Ar val .Fl U Ns Ar sym .Fl iD Ns Ar sym Ns Op = Ns Ar val .Fl iU Ns Ar sym .Oc .Ar ... .Op Ar file .Nm unifdefall .Op Fl I Ns Ar path .Ar ... .Ar file .Sh 解説 .Nm ユーティリティは .Xr cpp 1 の条件ディレクティブ (前処理指令) を選択的に処理します。 ファイルから削除するように特定されたディレクティブとテキストの 両方を削除します。 そうでない場合はファイルをそのままにしておきます。 .Pp .Nm ユーティリティは .Ic #if , #ifdef , #ifndef , #elif , #else , #endif 行に働きますが、 .Ic #if と .Ic #elif 行の式文法のよく使われるサブセットしか理解しません。 コマンドラインで定義されたシンボルの整数値や .Fn defined オペレータがコマンドラインで define したり、undefine したシンボルや 演算子 .Ic \&! , < , > , <= , >= , == , != , && , || と括弧で囲まれた式を扱うことができます。 より複雑なものはそのまま無傷で通過させます。 .Ic #ifdef と .Ic #ifndef ディレクティブはシンボルがコマンドラインで指定された場合だけ 処理されます。その他の場合には変更されずに、素通りさせます。 デフォルトでは、定数式を持つ .Ic #if と .Ic #elif の行は無視しますが、コマンドラインに .Fl k フラグを指定することによりこれらを処理できます。 .Pp .Nm ユーティリティにはコメントやシングルクォートやダブルクォートで 囲まれた中で無効にされたディレクティブも理解することができます。 クォートの解析はたいへんシンプルです : 開きクォートが見つかったとき、閉じクォートが見つかるまで (エスケープされたクォートを除いて) すべて無視されます。 もし、バックスラッシュなしの改行が見つかっても 警告しません。 .Pp .Nm unifdefall シェルスクリプトはファイルから .Xr cpp 1 の条件処理ディレクティブをすべて削除することができます。 すべての制御シンボルとその定義 (または未定義) のリストを得るために、 .Nm Fl s と .Nm cpp Fl dM を使用します。 それからそのファイルを処理するのに適切な引数を付けて .Nm を呼び出します。 .Pp 利用可能なオプション : .Bl -tag -width indent -compact .It Fl D Ns Ar sym Ns Op = Ns Ar val 定義されるシンボルを指定します。 また、オプションで .Ic #if と .Ic #elif ディレクティブを操作するためにシンボルに与える値を指定します。 .Pp .It Fl U Ns Ar sym 未定義にするシンボルを指定します。 同じシンボルを複数指定した場合には、 最後に指定されたものが有効になります。 .Pp .It Fl c .Fl c フラグが指定された場合には、 .Nm の動作は逆にされます。 すなわち、削除されるか空白にされる行を残し、 逆に残すはずだった行を削除します。 .Pp .It Fl k 定数式を持つ .Ic #if と .Ic #elif の行を処理します。 デフォルトでは、このような行で制御される部分は変更されずに素通りされます。 なぜなら、これらは典型的には -.Li #if 0 +.Dq Li "#if 0" で始まり、未来または過去の開発の概要を記述するコメント的に使用されるからです。 通常のコメントを削除してしまうことが失礼かもしれないのと同様、 これらを削除してしまうのは失礼かもしれません。 .Pp .It Fl l 削除される行を削除する代わりに空行に置き換えます。 .Pp .It Fl s 通常の入力ファイルを処理する代わりに、 このオプションは .Nm に .Nm が理解する式に現れたシンボルのリストを生成させます。 それは、 .Xr cpp 1 の .Fl dM オプションと協力して .Nm のコマンドラインを生成するのに有用です。 .Pp .It Fl t C 言語のコメントとクォートの解釈を禁止します。 通常のテキストファイル等に .Nm を適用する場合に有用です。 .Pp .It Fl iD Ns Ar sym Ns Op = Ns Ar val .It Fl iU Ns Ar sym .Ic #ifdef を無視します。C 言語のコードで .Ic #ifdef をコメントや作りかけのコードのような C 言語でない部分を区切るために用いている場合は、 .Nm が .Ic #ifdef の中のクォートやコメントを解析しないように どのシンボルがその目的で使用されているかを指示する必要があります。 無視するシンボルを指示する方法は .Fl iD Ns Ar sym Ns Oo = Ns Ar val Oc や .Fl iU Ns Ar sym で、上記の .Fl D Ns Ar sym Ns Op = Ns Ar val や .Fl U Ns Ar sym と同様です。 .Pp .It Fl I Ns Ar path .Nm unifdefall に追加の場所にある .Ic #include ファイルを探すように指示します。 .Xr cpp 1 との互換性と .Nm unifdefall の実装を簡単にするために .Nm はこのオプションは無視します。 .El .Pp .Nm ユーティリティはその出力を .Em stdout にコピーします。 .Ar file 引数が指定されなかった場合は .Em stdin から読み込みます。 .Pp .Nm ユーティリティは .Xr diff 1 の .Fl D Ns Ar sym オプションとともに使用することができます。 .Sh 関連項目 .Xr cpp 1 , .Xr diff 1 .Sh 診断 .Bl -item .It 不適切な elif, else, endif を検出します。 .It .Ic #ifdef の終了前に .Tn EOF を検出した場合、その行番号を出力します。 .El .Nm ユーティリティは出力が入力と同じになる場合 0、 そうでなければ 1、エラー時には 2 を終了ステータスとして返します。 .Sh バグ 構文評価がたいへん限定的です。 .Pp ヌル文字を含む入力の場合には正しく動作しません。 .Sh 歴史 .Nm は .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/uniq.1 b/ja_JP.eucJP/man/man1/uniq.1 index 583fdbac5e..0898ef68bb 100644 --- a/ja_JP.eucJP/man/man1/uniq.1 +++ b/ja_JP.eucJP/man/man1/uniq.1 @@ -1,142 +1,142 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)uniq.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/uniq/uniq.1,v 1.13 2002/07/05 09:44:47 tjr Exp % +.\" %FreeBSD: src/usr.bin/uniq/uniq.1,v 1.14 2002/11/26 17:33:36 ru Exp % .\" .\" $FreeBSD$ .Dd June 6, 1993 .Dt UNIQ 1 .Os .Sh 名称 .Nm uniq .Nd ファイル内の重複行の報告または、フィルタ出力 .Sh 書式 .Nm .Op Fl c | Fl d | Fl u .Op Fl i .Op Fl f Ar num .Op Fl s Ar chars .Oo .Ar input_file .Op Ar output_file .Oc .Sh 解説 .Nm ユーティリティは、 .Ar input_file を読み込み、隣り合う行同士を比較し、 重複した行を取り除いて .Ar output_file へ書き込みます。 .Ar input_file が単一のダッシュ -.Pq Sq \&- +.Pq Sq Fl または無い場合、標準入力が読み込まれます。 .Ar output_file が無い場合、標準出力が出力として使用されます。 隣り合った行が同じ内容だったら 2 行目以降を出力しません。 同じ内容でも行が隣り合っていない場合は比較の対象になりませんので、 まずファイルをソートする事が必要になるかもしれません。 .Pp オプションとしては以下のものがあります: .Bl -tag -width Ds .It Fl c 各出力行の先頭に、行が入力中に続けて出現した回数を表示し、空白一つあけて その行の内容を表示します。 .It Fl d 重複した行のみを出力します。 .It Fl f Ar num 比較する時に、各入力行の先頭から .Ar num 個のフィールドを無視します。 フィールドとは、空白文字で区切られた、空白以外の文字からなる文字列です。 .Ar num を指定するときは、最初のフィールドを 1 として数えます。 .It Fl s Ar chars 比較する時に、各入力行の先頭から .Ar chars 文字を無視します。 本オプションを .Fl f オプションと一緒に指定した場合は、 .Ar num 個のフィールドに続く .Ar chars 文字が無視されます。 .Ar chars を指定するときは、最初の文字を 1 として数えます。 .It Fl u 入力の重複がなかった行のみを出力します。 .It Fl i 行の比較において大文字小文字を区別しません。 .\".It Fl Ns Ar n .\"(Deprecated; replaced by .\".Fl f ) . .\"Ignore the first n .\"fields on each input line when doing comparisons, .\"where n is a number. .\"A field is a string of non-blank .\"characters separated from adjacent fields .\"by blanks. .\".It Cm \&\(pl Ns Ar n .\"(Deprecated; replaced by .\".Fl s ) . .\"Ignore the first .\".Ar m .\"characters when doing comparisons, where .\".Ar m .\"is a .\"number. .El .Sh 診断 .Ex -std .Sh 互換性 古くからある .Cm \&\(pl Ns Ar number と .Fl Ns Ar number のオプションは時代遅れですが、この実装ではまだサポートしています。 .Sh 関連項目 .Xr sort 1 .Sh 規格 .Nm ユーティリティは、 .St -p1003.2 互換であるはずです。 .Sh 歴史 .Nm コマンドは .At v3 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/wc.1 b/ja_JP.eucJP/man/man1/wc.1 index 9f65df01ce..d069c57f60 100644 --- a/ja_JP.eucJP/man/man1/wc.1 +++ b/ja_JP.eucJP/man/man1/wc.1 @@ -1,138 +1,134 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)wc.1 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/usr.bin/wc/wc.1,v 1.15 2002/08/11 10:54:19 tjr Exp % +.\" %FreeBSD: src/usr.bin/wc/wc.1,v 1.16 2002/11/26 17:33:36 ru Exp % .\" $FreeBSD$ .\" .Dd June 13, 2002 .Dt WC 1 .Os .Sh 名称 .Nm wc .Nd 行数、単語数、文字数、バイト数を数える .Sh 書式 .Nm .Op Fl clmw .Op Ar .Sh 解説 .Nm は各入力ファイル .Ar file (デフォルトでは標準入力) に含まれる行数、単語数、バイト数を数えて標準出力に表示します。 行は改行文字で区切られた文字列、 単語は空白文字で区切られた文字列、と定義されます。 ここで空白文字とは .Xr iswspace 3 が真を返すような文字をいいます。 複数のファイルが指定された場合は、 最後に行数、単語数、バイト数の各項目別の合計も表示します。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width Ds .It Fl c 各入力ファイルのバイト数を標準出力に表示します。 .It Fl l 各入力ファイルの行数を標準出力に表示します。 .It Fl m 各入力ファイルの文字数を標準出力に表示します。 現在のロケールがマルチバイト文字をサポートしない場合、 .Fl c オプションと等価です。 .It Fl w 各入力ファイルの単語数を標準出力に表示します。 .El .Pp オプションが指定された場合、 .Nm は要求された情報のみを表示します。 デフォルトの動作は -.Fl c , -.Fl l , -.Fl w +.Fl c , l , w のオプションが指定された場合と同じです。 .Pp .Ar file が指定されなかった場合は、標準入力から読み込まれ、 ファイル名は出力されません。 .Sh 環境変数 -.Ev LANG , -.Ev LC_ALL , -.Ev LC_CTYPE +.Ev LANG , LC_ALL , LC_CTYPE の環境変数が、 .Xr environ 7 の記述通りに、 .Nm の実行に影響します。 .Sh 使用例 ファイル .Pa report1 と .Pa report2 のそれぞれの文字数、語数、行数を数え上げます。 また、両ファイルの合計も数え上げます。 .Pp .Dl "wc -mlw report1 report2" .Sh 診断 .Ex -std .Sh 関連項目 .Xr iswspace 3 .Sh 互換性 歴史的には、 .Nm では単語は「スペース、タブ、改行文字で区切られる最長の文字列」として 定義する、とドキュメントに記述されていました。 しかしこの実装は非表示文字を正しく扱いませんでした。 例えば ``foo^D^Ebar'' を 8 文字と数える一方、`` ^D^E '' を 6 つの空白と 数えたのでした。 .Bx 4.3 以降の .Bx 4 では ドキュメントと矛盾のないよう修正され、 .St -p1003.2 で要求されているように、 .Xr iswspace 3 を用いて「単語」を定義するよう実装し直されました。 .Sh 規格 .Nm は .St -p1003.1-2001 に適合しています。 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/what.1 b/ja_JP.eucJP/man/man1/what.1 index 406293cdcc..820c6d062c 100644 --- a/ja_JP.eucJP/man/man1/what.1 +++ b/ja_JP.eucJP/man/man1/what.1 @@ -1,86 +1,86 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)what.1 8.1 (Berkeley) 6/6/93 .\" -.\" %FreeBSD: src/usr.bin/what/what.1,v 1.14 2002/05/29 13:45:16 tjr Exp % +.\" %FreeBSD: src/usr.bin/what/what.1,v 1.15 2002/11/26 17:33:36 ru Exp % .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt WHAT 1 .Os .Sh 名称 .Nm what .Nd ファイルを構成するオブジェクトモジュールのバージョンを表示する .Sh 書式 .Nm .Op Fl s -.Op Ar file Ar ... +.Op Ar .Sh 解説 .Nm ユーティリティは、 指定された .Ar file を読み込み、SCCS (source code control system) が挿入した .Dq \&@(#) 形式のシーケンスを検索し、このマークのあと に挿入されている文字列を NUL 文字か、改行か、ダブルクォート (") か、 .Dq \&> 文字かバックスラッシュが現れるまで表示します。 .Pp 次のオプションを使用可能です: .Bl -tag -width Ds .It Fl s 最初にマッチしたときに検索を停止します。 .El .Sh 診断 なにかがマッチしたら終了値は 0 となり、そうでない場合は 1 となります。 .Sh 関連項目 .Xr ident 1 , .Xr strings 1 .Sh 規格 .Nm ユーティリティは .St -p1003.1-2001 に適合しています。 .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 .Sh バグ これは本来の .Tn SCCS のシステムに属する .Nm コマンドを書き直したものです。 このため、正確には同じ動作をしないかもしれません。 diff --git a/ja_JP.eucJP/man/man1/whereis.1 b/ja_JP.eucJP/man/man1/whereis.1 index b05fffa97d..5e05f42f6f 100644 --- a/ja_JP.eucJP/man/man1/whereis.1 +++ b/ja_JP.eucJP/man/man1/whereis.1 @@ -1,181 +1,181 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Copyright 2002 Joerg Wunsch .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)whereis.1 8.2 (Berkeley) 12/30/93 -.\" %FreeBSD: src/usr.bin/whereis/whereis.1,v 1.20 2002/08/22 01:54:18 johan Exp % +.\" %FreeBSD: src/usr.bin/whereis/whereis.1,v 1.21 2002/11/26 17:33:36 ru Exp % .\" .\" $FreeBSD$ .\" .Dd August 22, 2002 .Dt WHEREIS 1 .Os .Sh 名称 .Nm whereis .Nd プログラムのパスを表示します .Sh 書式 .Nm .Op Fl abmqsux -.Op Fl BMS Ar dir Ar ... Fl f +.Op Fl BMS Ar dir ... Fl f .Ar program ... .Sh 解説 .Nm は標準のバイナリディレクトリやマニュアルページそして、特定のプログラム のソースファイルディレクトリを検索し、指定されたプログラムのパスが 見つかれば表示します。 与えられたプログラム名は、はじめにパス名部分が取り除かれ、 .Xr gzip 1 .Xr compress 1 , .Xr bzip2 1 のいずれかによる拡張子をひとつ削除し、 ソースコード制御システムのためのファイル名のはじめの .Ql s.\& や最後の .Ql ,v を外し、パス名にされます。 .Pp 検索されるディレクトリは .Xr sysctl 8 に文字列 .Dq user.cs_path を与えた時に返される文字列と .Pa /usr/libexec , -.Pa /usr/games +.Pa /usr/games および現在のユーザの .Ev $PATH です。マニュアルは、デフォルトでは .Ev $MANPATH にしたがって検索されます。プログラムソースは、 .Pa /usr/src や .Pa /usr/ports の全てのサブディレクトリを含む、標準の場所のリストにあるものとされます。 .Pp 以下のようなオプションが利用可能です。 .Bl -tag -width indent .It Fl B バイナリを検索するためのディレクトリを指定します。 .Fl f オプションが必要です。 .It Fl M マニュアルページを検索するためのディレクトリを指定します。 .Fl f オプションが必要です。 .It Fl S プログラムソースを検索するためのディレクトリを指定します。 .Fl f オプションが必要です。 .It Fl a 要求された各タイプで最初に合致するものを報告する代りに、 合致するものすべてを報告します。 .It Fl b バイナリを検索します。 .It Fl f .Fl B , .Fl M , .Fl S オプションが指定された後で、ディレクトリのリストの境界を設定し、 .Ar program リストのはじめを指定します。 .It Fl m マニュアルページを検索します。 .It Fl q .Pq Dq 寡黙 。 通常の出力行の前に付くユーティリティ名の出力を抑制します。 シェルコマンド行のバッククォート置換で使うと便利かもしれません。 .Sx 使用例 を参照してください。 .It Fl s ソースディレクトリを検索します。 .It Fl u .Dq unusual エントリを検索します。 ファイルは、要求されたそれぞれのタイプのエントリが少なくとも 1 個もない場合に 普通でない (unusual) といわれます。 普通でないエントリの名前だけが表示されます。 .It Fl x ソースディレクトリを検索する際に、 .Dq 高価 なツールを使用しません。 通常は、ソースディレクトリリストのすべての第 1 階層のサブディレクトリを 検索しても見付からなかった場合、 .Nm は代りに .Xr locate 1 がエントリを見付けるように依頼します。 この処理はより長い時間を費しますので、 .Fl x で無効化できます。 .El .Sh 実行例 以下では、 .Pa /usr/bin 以下のドキュメントがない全てのユーティリティを見つけます。 .Dl whereis -m -u /usr/bin/* .Pp .Xr ls 1 のソースコードディレクトリに移動します。 .Pp .Dl cd `whereis -sq ls` .Pp .Sh 関連項目 .Xr find , .Xr locate 1 , .Xr man 1 , .Xr which 1 , .Xr sysctl 8 .Sh 歴史 .Nm ユーティリティは、 .Bx 3.0 で導入されました。この版は .Bx 4.4 で失われた歴史的な機能を再実装しました。 .Sh 作者 .Nm コマンドのこの実装は、 .An J\(:org Wunsch が記述しました。 .Sh バグ .Nm ユーティリティのこの再実装は、歴史的バージョンのバグとは互換性がありません。 しかしながら、 .Fx 2.2 から .Fx 4.5 の間に出荷されたバージョンとは互換であると信じられています。 .Pp .Nm ユーティリティは、 .Fl a オプション指定時には、無関係なソースエントリを表示する場合があります。 diff --git a/ja_JP.eucJP/man/man1/who.1 b/ja_JP.eucJP/man/man1/who.1 index a1e90d5afa..83e53862ec 100644 --- a/ja_JP.eucJP/man/man1/who.1 +++ b/ja_JP.eucJP/man/man1/who.1 @@ -1,155 +1,152 @@ .\" Copyright (c) 1986, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)who.1 8.2 (Berkeley) 12/30/93 -.\" %FreeBSD: src/usr.bin/who/who.1,v 1.14 2002/06/07 00:50:22 tjr Exp % +.\" %FreeBSD: src/usr.bin/who/who.1,v 1.15 2002/11/26 17:33:37 ru Exp % .\" .\" $FreeBSD$ .\" .Dd May 8, 2002 .Dt WHO 1 .Os .Sh 名称 .Nm who .Nd 誰がシステム上にいるかを表示する .Sh 書式 .Nm .Op Fl HmqsTu .Op Cm am I .Op Ar file .Sh 解説 .Nm ユーティリティは、現在ログインしている全ユーザについて情報を表示します。 デフォルトでは、ログイン名、端末名、ログインした日時、 ローカルでない場合はホスト名が含まれます。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl H コラムの見出しを出力の上に表示します。 .It Fl m 標準入力に接続された端末情報のみを表示します。 .It Fl q .Dq 高速モード : ログインユーザの名前と数をコラムに表示します。 他のコマンドラインオプションはすべて無視されます。 .It Fl s 名前、回線、時刻フィールドのみを表示します。 これがデフォルトです。 .It Fl T 各ユーザがメッセージを受け付けているかどうかを表示します。 次のいずれかの文字が表示されます: .Pp .Bl -tag -width 1n -compact .It Li + ユーザはメッセージを受け付けています。 .It Li \&- ユーザはメッセージを受け付けていません。 .It Li \&? エラーが発生しました。 .El .It Fl u 各ユーザに関して、アイドル時間を、時間と分の .Ar hh Ns : Ns Ar mm の形式、アイドル時間が 1 分未満の場合は .Ql \&. の形式、アイドル時間が 24 時間を越える場合は .Dq Li old の形式で表示します。 .It Cm am I .Fl m と同じです。 .El .Pp .Nm はデフォルトで .Pa /var/run/utmp を調べますが、 .Ar file が指定された場合、そのファイルからユーザ情報を得るようにします。 .Ar file には、普通、 .Pa /var/log/wtmp を指定します (あるいは、サイトの方針次第ですが、 .Pa /var/log/wtmp.[0-6] であるかもしれません。というのも、 .Pa wtmp ファイルは大変大きくなるかもしれないので、 .Xr ac 8 によって圧縮した後には、 日毎のファイルを保存していない場合もあるからです)。 .Pa wtmp には、最後に .Pa wtmp を作成するか、またはそのファイルサイズを 0 にして以来の 全てのログイン、ログアウト、クラッシュ、シャットダウン、および date コマンドでの日時の変更が記録されています。 .Pp .Pa /var/log/wtmp ファイルが記録ファイルとして使用されている場合には、 ユーザ名は空、あるいは特殊文字 '|', '}', '~' のうちの ひとつであるかもしれません。その際には、ログアウトすることで、ユーザ名 が記録されていない出力行を生成します。より詳しくは、 .Xr utmp 5 を参照してください。 .Sh 環境変数 -.Ev COLUMNS , -.Ev LANG , -.Ev LC_ALL , -.Ev LC_TIME +.Ev COLUMNS , LANG , LC_ALL , LC_TIME の環境変数が、 .Xr environ 7 の記述通りに、 .Nm の実行に影響します。 .Sh 関連ファイル .Bl -tag -width /var/log/wtmp.[0-6] -compact .It Pa /var/run/utmp .It Pa /var/log/wtmp .It Pa /var/log/wtmp.[0-6] .El .Sh 診断 .Ex -std .Sh 関連項目 .Xr last 1 , .Xr users 1 , .Xr w 1 , .Xr utmp 5 .Sh 規格 .Nm ユーティリティは .St -p1003.1-2001 に適合しています。 .Sh 歴史 .Nm ユーティリティは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/whois.1 b/ja_JP.eucJP/man/man1/whois.1 index a4dae59831..c13c8ea731 100644 --- a/ja_JP.eucJP/man/man1/whois.1 +++ b/ja_JP.eucJP/man/man1/whois.1 @@ -1,265 +1,267 @@ .\" Copyright (c) 1985, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)whois.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/whois/whois.1,v 1.27 2002/04/20 12:18:02 charnier Exp % +.\" %FreeBSD: src/usr.bin/whois/whois.1,v 1.29 2002/11/26 17:33:37 ru Exp % .\" .\" $FreeBSD$ .Dd December 15, 2001 .Dt WHOIS 1 .Os .Sh 名称 .Nm whois .Nd インターネットのドメイン名とネットワーク番号のディレクトリサービス .Sh 書式 .Nm -.Op Fl aAdgimQrR6 +.Op Fl aAdgilmQrR6 .Op Fl c Ar country-code | Fl h Ar host .Op Fl p Ar port .Ar name ... .Sh 解説 .Nm ユーティリティは、ネットワークインフォメーションセンタ .Pq Tn NIC のデータベースのレコード検索を行ないます。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width indent .It Fl A .It Fl p Asia/Pacific Network Information Center .Pq Tn APNIC データベースを使用します。 ここには、東アジア、オーストラリア、ニュージーランド、太平洋諸島の IP 番号があります。 .It Fl a American Registry for Internet Numbers .Pq Tn ARIN データベースを使用します。 ここには、 .Tn APNIC および .Tn RIPE 以外がカバーする全世界の IP 番号があります。 .Pp (ヒント: .Tn ARIN whois データベース内の連絡先ハンドルは、すべて、 .Qq Li -ARIN で終ります。) .Pp .It Fl c Ar country-code .Fl h オプションを .Qq Ar country-code Ns Li .whois-servers.net という引数と共に使用するのと同等です。 .It Fl d US Department of Defense データベースを使用します。 .Pa .MIL のサブドメインの連絡先があります。 .It Fl g US の軍以外の連邦政府データベースを使用します。 .Pa .GOV のサブドメインの連絡先があります。 .It Fl h Ar host デフォルトのバリアントに代えて、指定したホスト用います。 ホスト名もしくは IP 番号を指定可能です。 .Pp デフォルトでは、提供された (単一の) 引数のトップレベルドメイン .Pq Tn TLD に .Qq Li .whois-servers.net を追加することにより、 .Nm が使用する whois サーバ名を構築します。 この効果的な方法により、多くの .Tn TLD が適切な whois サーバを自動選択できます。 .Pp IP アドレスが指定された場合、whois サーバはデフォルトの American Registry for Internet Numbers .Pq Tn ARIN になります。 .Tn ARIN への問い合わせが -.Tn APNIC -または -.Tn RIPE -を参照する場合、 +.Tn APNIC , LACNIC , RIPE +のいずれかを参照する場合、 .Fl Q オプションが指定されていなければ、そのサーバに対しても問い合わせを行います。 .Pp 問い合わせがドメイン名でも IP アドレスでもない場合、見付からない場合には、 .Nm は .Pa whois.crsnic.net を使用します。 .It Fl i Network Solutions Registry for Internet Numbers .Pq Pa whois.networksolutions.com データベースを使用します。 ここにはほとんどの .Pa .COM , .NET , .ORG , .EDU ドメインのネットワーク番号とドメインの連絡先情報があります。 .Sy 注意! 現在これらのドメインの登録は、多くの独立した競合する登録会社が行っています。 本データベースには、Network Solutions, Inc. 以外の登録会社が登録した ドメインの情報はまったく含まれません。 また、 .Tn InterNIC データベース .Pq Pa whois.internic.net は既に Network Solutions, Inc. の取り扱いでないことに注意してください。 詳細は .Pa http://www.internic.net/ を参照してください。 .Pp (ヒント: 術語 .Em handle で識別される連絡先情報は、 .Tn NIC ハンドルの前に .Qq Li "handle " を付けることで検索可能です。) -.Pp +.It Fl l +Latin American and Caribbean IP address Regional Registry +.Pq Tn LACNIC +データベースを使用します。 +ここには、多くのラテンアメリカとカリブ海諸国のネットワーク番号があります。 .It Fl m Route Arbiter Database .Pq Tn RADB データベースを使用します。 ここには、多くのオペレータのネットワークのポリシ仕様があります。 .It Fl p Ar port .Ar port ポートの whois サーバに接続します。 本オプションが指定されないと .Nm はデフォルトのポート 43 を使用します。 .It Fl Q 高速検索します。 .Nm が、権威のある whois サーバ (が列挙されていた場合、これ) に名前を問いあわせようとしないことを意味します。 本オプションは、他のオプションと組み合わせると効果がありません。 .It Fl r R\(aaeseaux IP Europ\(aaeens .Pq Tn RIPE データベースを使用します。 ここには、ヨーロッパのネットワーク番号とドメインの連絡先情報があります。 .It Fl R Russia Network Information Center .Pq Tn RIPN データベースを使用します。 ここには、 .Pa .RU のネットワーク番号とドメインの連絡先情報があります。 本オプションは価値が低下しています。 代りに、 .Fl c オプションに引数 .Qq Li RU を付けて使用してください。 .It Fl 6 IPv6 Resource Center .Pq Tn 6bone データベースを使用します。 ここには、IPv6 のネットワーク名とアドレスがあります。 .El .Pp .Nm に指定されたオペランドは個別に取り扱われ、 別々の whois サーバへの問い合わせに使用されるかもしれません。 .Sh 使用例 ほとんどのタイプのデータ、例えばドメイン名や .Tn IP アドレスは、オプション無しで .Nm の引数とすることが可能であり、 .Nm は正しい検索先 whois サーバを選択します。 例外、すなわち .Nm が正しくデータを扱えないものについては、以下に詳細を示します。 .Pp ロシアの .Tn TLD ドメイン .Qq Li RU 中の管理者の連絡先情報を得るには、次の例のように .Fl c オプションを使用します。 ここで、 .Ar CONTACT-ID は実際の連絡先識別子で置き換えます。 .Pp .Dl "whois -c RU CONTACT-ID" .Pp (注: この例は .Tn TLD .Qq Li RU に固有ですが、他の .Tn TLD でも同様の書式で問い合わせ可能です。) .Pp 次の例は、 .Tn IPv6 アドレスまたはホスト名に関する情報を .Fl 6 を使用して取得する方法を示します。 これにより、問い合わせは .Tn 6bone に向けられます。 .Pp .Dl "whois -6 IPv6-IP-Address" .Pp 次の例は、非標準のポートを使って whois サーバへ問い合わせる 方法を示します。 .Dq Li query-data が、ポート .Dq Li rwhois (数値としては 4321 と表記されます) 上の .Dq Li whois.example.com へ送られる問い合わせです。 .Pp .Dl "whois -h whois.example.com -p rwhois query-data" .Sh 関連項目 .Rs .%A Ken Harrenstien .%A Vic White .%T NICNAME/WHOIS .%D 1 March 1982 .%O RFC 812 .Re .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/yyfix.1 b/ja_JP.eucJP/man/man1/yyfix.1 index 8b9d15d30f..ee1d1ab1ff 100644 --- a/ja_JP.eucJP/man/man1/yyfix.1 +++ b/ja_JP.eucJP/man/man1/yyfix.1 @@ -1,116 +1,116 @@ .\" Copyright (c) 1990, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)yyfix.1 5.4 (Berkeley) 3/23/93 -.\" %FreeBSD: src/usr.bin/yacc/yyfix.1,v 1.6 2002/10/16 15:46:43 charnier Exp % +.\" %FreeBSD: src/usr.bin/yacc/yyfix.1,v 1.7 2002/11/26 15:34:18 ru Exp % .\" $FreeBSD$ .\" .Dd March 23, 1993 .Dt YYFIX 1 .Os .Sh 名称 .Nm yyfix .Nd y.tab.c ファイルからテーブルを取り出す .Sh 書式 .Nm yyfix .Ar file .Op Ar tables .Sh 解説 歴史的には、 .Xr yacc 1 が生成したファイル .Pa y.tab.c からテーブルを取り出すために、 あるスクリプト (大抵は .Dq :yyfix という名前のもの) が用いられてきました。 現在のバージョンの .Xr yacc 1 が生成するテーブル名は、これまでのバージョンの .Xr yacc 1 が生成するものと異なるので、 この変換を簡単にするためにシェルスクリプト .Nm が提供されています。 .Pp .Nm の最初の (そして必須の) 引数は、 取り出したテーブルを格納するファイルの名前です。 .Pp コマンドライン引数が更に指定された場合、 それらは取り出すテーブルのリストと解釈されます。 それ以外の場合、 .Nm はファイル .Pa y.tab.c が新旧いずれの .Xr yacc 1 から生成されたものかを判定し、 適切なテーブルを取り出そうとします。 .Pp 以前の .Xr yacc 1 から取り出されるテーブルは次の通りです: .Dq yyexca , .Dq yyact , .Dq yypact , .Dq yypgo , .Dq yyr1 , .Dq yyr2 , .Dq yychk , .Dq yydef .Pp 現バージョンの .Xr yacc 1 から取り出されるテーブルは次の通りです: .Dq yylhs , .Dq yylen , .Dq yydefred , .Dq yydgoto , .Dq yysindex , .Dq yyrindex , .Dq yygindex , .Dq yytable , .Dq yyname , .Dq yyrule , .Dq yycheck .Sh 関連ファイル .Bl -tag -width y.tab.c .It Pa y.tab.c テーブルを取り出す元となるファイル .El .Sh 関連項目 .Xr yacc 1 .Sh 歴史 .Nm コマンドは .Bx 4.4 で初めて登場しました。 diff --git a/ja_JP.eucJP/man/man2/chmod.2 b/ja_JP.eucJP/man/man2/chmod.2 index b70b20fd9a..53a2065bef 100644 --- a/ja_JP.eucJP/man/man2/chmod.2 +++ b/ja_JP.eucJP/man/man2/chmod.2 @@ -1,227 +1,227 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)chmod.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/chmod.2,v 1.26 2002/07/15 20:59:12 keramida Exp % +.\" %FreeBSD: src/lib/libc/sys/chmod.2,v 1.27 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt CHMOD 2 .Os .Sh 名称 .Nm chmod , .Nm fchmod , .Nm lchmod .Nd ファイルのモードを変更する .Sh ライブラリ .Lb libc .Sh 書式 .In sys/stat.h .Ft int .Fn chmod "const char *path" "mode_t mode" .Ft int .Fn fchmod "int fd" "mode_t mode" .Ft int .Fn lchmod "const char *path" "mode_t mode" .Sh 解説 .Fa path で指定されるか、またはファイル記述子 .Fa fd で参照されるファイルの ファイル許可ビットを .Fa mode に変更します。 .Fn chmod 関数は、プロセス所有者 (ユーザ) が .Fa path (または .Fa fd ) で指定されたファイルを所有するか、またはスーパユーザで あるかのどちらかであることを確認します。 .Fn chmod 関数は、シンボリックリンクをたどり、 リンク自体ではなくリンクのターゲットに作用します。 .Pp .Fa lchmod 関数は .Fn chmod に類似していますが、シンボリックリンクをたどりません。 .Pp モードは .Aq Pa sys/stat.h で定義された許可ビットマスクの論理和 .Pf ( Em or ) から作成されます: .Pp .Bd -literal -offset indent -compact #define S_IRWXU 0000700 /* 所有者用の RWX マスク */ #define S_IRUSR 0000400 /* 所有者用の R */ #define S_IWUSR 0000200 /* 所有者用の W */ #define S_IXUSR 0000100 /* 所有者用の X */ #define S_IRWXG 0000070 /* グループ用の RWX マスク */ #define S_IRGRP 0000040 /* グループ用の R */ #define S_IWGRP 0000020 /* グループ用の W */ #define S_IXGRP 0000010 /* グループ用の X */ #define S_IRWXO 0000007 /* その他用の RWX マスク */ #define S_IROTH 0000004 /* その他用の R */ #define S_IWOTH 0000002 /* その他用の W */ #define S_IXOTH 0000001 /* その他用の X */ #define S_ISUID 0004000 /* 実行時にユーザ ID を設定 */ #define S_ISGID 0002000 /* 実行時にグループ ID を設定 */ #define S_ISVTX 0001000 /* スティッキービット */ #ifndef _POSIX_SOURCE #define S_ISTXT 0001000 #endif .Ed .Pp .Fx VM システムは、実行可能モジュールについてスティッキービット .Pq Dv ISVTX を完全に無視します。 UFS をベースとしたファイルシステム (FFS, LFS) では、 スティッキービットはディレクトリにだけ設定できます。 .Pp .Dv ISVTX (`スティッキービット') が設定されているディレクトリでは、 特権のないユーザは、そのディレクトリ内にある他ユーザのファイルの削除、 名前の変更ができません。 どのユーザでも、そのユーザが所有するか適切な許可のあるディレクトリについて スティッキービットを設定できます。 スティッキービットの性質の詳細については、 .Xr sticky 8 を参照してください。 .Pp あるディレクトリに ISUID (ユーザ ID 設定ビット) が設定されており、 かつファイルシステムをマウントする際に MNT_SUIDDIR オプションが 指定されていた場合、 このディレクトリ内に作成される新しいファイルとサブディレクトリの所有者は、 ディレクトリの所有者に設定されます。 この機能が有効であるとき、新しいディレクトリは親から ISUID ビットを継承します。 実行ビットはファイルから取り除かれ、ファイルは root の所有とはなりません。 この機能は、ファイルへの書込みがユーザに許可される条件を変更しません。 ファイルが作成された後の最終的な所有者の決定に影響するのみです。 グループは継承されません。 .Pp この機能は、ftp、SAMBA または netatalk 経由の PC ユーザへの ファイルサービスで使用されるよう設計されています。 これはシェルユーザにセキュリティホールを提供するので、 特に、ホームディレクトリでは使用してはなりません。 このオプションが機能するためには、 カーネル内に SUIDDIR オプションが必要です。 UFS ファイルシステムだけがこのオプションをサポートします。 suiddir マウントオプションの詳細については、 .Xr mount 8 を参照してください。 .Pp スーパユーザ以外のユーザによる、 ファイルの書込みまたはファイルの所有者の変更によってユーザ ID 設定ビットと グループ ID 設定ビットはオフに切り替えられます。 互換性は犠牲になりますが、 ユーザ ID 設定 (グループ ID 設定) ビットを残したまま ファイルが変更されるのを防ぐことで、 システムはいくらか安全になります。 .Sh 戻り値 .Rv -std .Sh エラー .Fn chmod 関数は、次の場合に処理に失敗しファイルモードは変更されません: .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたファイルが存在しません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EPERM 実効ユーザ ID がファイルの所有者と一致せず、 実効ユーザ ID がスーパユーザではありません。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .It Bq Er EFTYPE 実行可能モジュール上でスティッキービットを設定しようとしました。 .El .Pp .Fn fchmod 関数は、次の場合に処理を失敗します: .Bl -tag -width Er .It Bq Er EBADF 記述子が有効ではありません。 .It Bq Er EINVAL .Fa fd がファイルではなくソケットを参照しています。 .It Bq Er EROFS ファイルが読取り専用のファイルシステム上に置かれています。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .El .Sh 関連項目 .Xr chmod 1 , .Xr chown 2 , .Xr open 2 , .Xr stat 2 , .Xr sticky 8 .Sh 規格 .Fn chmod 関数は .Er EFTYPE が返されることと .Dv S_ISTXT の使用法を除けば .St -p1003.1-90 に適合しています。 .Sh 歴史 .Fn chmod 関数は .At v7 で登場しました。 .Fn fchmod 関数は .Bx 4.2 で登場しました。 .Fn lchmod 関数は .Fx 3.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/chroot.2 b/ja_JP.eucJP/man/man2/chroot.2 index 852abce152..75474af316 100644 --- a/ja_JP.eucJP/man/man2/chroot.2 +++ b/ja_JP.eucJP/man/man2/chroot.2 @@ -1,126 +1,126 @@ .\" 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. .\" .\" @(#)chroot.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/chroot.2,v 1.15 2002/07/15 20:59:12 keramida Exp % +.\" %FreeBSD: src/lib/libc/sys/chroot.2,v 1.16 2002/12/11 14:04:37 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt CHROOT 2 .Os .Sh 名称 .Nm chroot .Nd ルートディレクトリを変更する .Sh ライブラリ .Lb libc .Sh 書式 .In unistd.h .Ft int .Fn chroot "const char *dirname" .Sh 解説 .Fa dirname は、ASCII のヌル文字で終了するディレクトリのパス名のアドレスです。 .Fn chroot 関数は、 .Fa dirname をルートディレクトリ、すなわち、 .Ql / で開始するパス名のパス検索の 開始点にします。 .Pp ディレクトリがルートディレクトリになるためには、 プロセスにそのディレクトリへの実行 (検索) 許可がなければなりません。 .Pp .Fn chroot はプロセスの現在のディレクトリに影響しないことに注意する必要があります。 .Pp この関数を呼び出せるのはスーパユーザのみです。 .Pp ディレクトリを参照するオープンファイル記述子が存在する場合、 .Fn chroot 呼び出しは sysctl 変数 .Ql kern.chroot_allow_open_directories の設定に従い、次のように失敗します: .Pp .Ql kern.chroot_allow_open_directories が 0 に設定されている場合、ディレクトリがオープンされていれば .Fn chroot は常に .Er EPERM で失敗します。 .Pp .Ql kern.chroot_allow_open_directories が 1 に設定されている場合 (デフォルト)、 ディレクトリがオープンされていて、そのプロセスが .Fn chroot 呼び出しの影響を受ける時、 .Er EPERM で失敗します。 .Pp .Ql kern.chroot_allow_open_directories が他の値の場合、オープンディレクトリのチェックはされません。 .Pp 正常に完了すると、値 0 が返されます。 そうでない場合は、値 -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn chroot 関数は、次の場合処理に失敗し、ルートディレクトリは変更されません: .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er EPERM 実効ユーザ ID がスーパユーザではありません。 またはディレクトリが 1 つ以上のファイル記述子によってオープンされています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定のディレクトリが存在しません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EFAULT -.Fa path +.Fa dirname は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .El .Sh 関連項目 .Xr chdir 2 , .Xr jail 2 .Sh 歴史 .Fn chroot 関数は .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/getdirentries.2 b/ja_JP.eucJP/man/man2/getdirentries.2 index 46e68b8075..bdb1054bcf 100644 --- a/ja_JP.eucJP/man/man2/getdirentries.2 +++ b/ja_JP.eucJP/man/man2/getdirentries.2 @@ -1,179 +1,179 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)getdirentries.2 8.2 (Berkeley) 5/3/95 -.\" %FreeBSD: src/lib/libc/sys/getdirentries.2,v 1.19 2001/10/26 17:38:20 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/getdirentries.2,v 1.20 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd May 3, 1995 .Dt GETDIRENTRIES 2 .Os .Sh 名称 .Nm getdirentries , .Nm getdents .Nd "ファイルシステムに独立なフォーマットのディレクトリエントリを取得する" .Sh ライブラリ .Lb libc .Sh 書式 .In sys/types.h .In dirent.h .Ft int .Fn getdirentries "int fd" "char *buf" "int nbytes" "long *basep" .Ft int .Fn getdents "int fd" "char *buf" "int nbytes" .Sh 解説 .Fn getdirentries 関数と .Fn getdents 関数は、ファイル記述子 .Fa fd が参照するディレクトリから .Fa buf が指すバッファ内に、ファイルシステムに独立なフォーマットの ディレクトリエントリを読み取ります。 最高で .Fa nbytes までのデータが転送されます。 .Fa nbytes 引数は、ファイルに対応するブロックサイズ以上である必要があります。 .Xr stat 2 を参照してください。 このサイズより小さいバッファでは、 これらの関数をサポートしない可能性のあるファイルシステムがあります。 .Pp バッファ内のデータは .Em dirent 構造体の連続で、それぞれ次のエントリが入っています: .Bd -literal -offset indent u_int32_t d_fileno; u_int16_t d_reclen; u_int8_t d_type; u_int8_t d_namlen; char d_name[MAXNAMELEN + 1]; /* 下記を参照 */ .Ed .Pp .Fa d_fileno エントリは、ファイルシステム内の異なるファイル毎に一意の数値です。 ハードリンクでリンクされたファイル .Pf ( Xr link 2 を参照) は同じ .Fa d_fileno を持ちます。 .Fa d_reclen エントリは、ディレクトリレコードの長さ (バイト単位) です。 .Fa d_type エントリは、ディレクトリレコードが指すファイルのタイプです。 ファイルタイプの値は .Fa 内に定義されます。 .Fa d_name エントリにはヌル文字で終わるファイル名が入っています。 .Fa d_namlen エントリは、ヌルバイトを除いたファイル名の長さを示します。 それゆえ、 .Fa d_name の実際のサイズは 1 から .Dv MAXNAMELEN \&+ 1 の間のいずれかの値になります。 .Pp エントリは余分のスペースで分離されているかもしれません。 .Fa d_reclen エントリは、 .Fa dirent 構造体の開始点から次の構造体がある場合は その構造体へのオフセットとして使用されます。 .Pp 実際に転送されたバイト数が返されます。 .Fa fd に関連づけられた現在の位置を示すポインタは、 エントリの次のブロックに設定されます。 ポインタは .Fn getdirentries または .Fn getdents によって返されるバイト数分だけ進められるとは限りません。 ディレクトリの終わりに到達した場合は、値 0 が返されます。 .Pp .Fn getdirentries 関数は、読み取られたブロック位置を .Fa basep が指す場所に書き込みます。 代わりに .Xr lseek 2 によって現在の位置ポインタを設定、取得できます。 現在の位置ポインタは、 .Xr lseek 2 が返す値、 .Fa basep が指す場所に返される値 .Pf ( Fn getdirentries のみ)、または 0 のいずれかにのみ設定するべきです。 .Sh 戻り値 処理が正常に完了すると、実際に転送されたバイト数が返されます。 そうでない場合は -1 が返され、エラーを示すためにグローバル変数 .Va errno が設定されます。 .Sh エラー .Fn getdirentries は次の場合に失敗します: .Bl -tag -width Er .It Bq Er EBADF .Fa fd が読取り用に開かれた有効なファイル記述子ではありません。 .It Bq Er EFAULT .Fa buf または .Fa basep のどちらかが、割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINVAL .Fa fd によって参照されるファイルがディレクトリでないか、 .Fa nbytes がディレクトリエントリまたはエントリのブロックを返すのには小さすぎます。 あるいは、現在の位置ポインタが無効です。 .It Bq Er EIO ファイルシステムに読み書きしている間に .Tn I/O (入出力)エラーが発生しました。 .El .Sh 関連項目 .Xr lseek 2 , .Xr open 2 .Sh 歴史 .Fn getdirentries 関数は .Bx 4.4 ではじめて登場しました。 .Fn getdents 関数は .Fx 3.0 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/getfsstat.2 b/ja_JP.eucJP/man/man2/getfsstat.2 index 7cbeb4bf10..839bcde29c 100644 --- a/ja_JP.eucJP/man/man2/getfsstat.2 +++ b/ja_JP.eucJP/man/man2/getfsstat.2 @@ -1,178 +1,178 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)getfsstat.2 8.3 (Berkeley) 5/25/95 -.\" %FreeBSD: src/lib/libc/sys/getfsstat.2,v 1.11 2001/10/01 16:09:01 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/getfsstat.2,v 1.12 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd May 25, 1995 .Dt GETFSSTAT 2 .Os .Sh 名称 .Nm getfsstat .Nd マウントされたすべてのファイルシステムのリストを得る .Sh ライブラリ .Lb libc .Sh 書式 .In sys/param.h .In sys/ucred.h .In sys/mount.h .Ft int .Fn getfsstat "struct statfs *buf" "long bufsize" "int flags" .Sh 解説 .Fn getfsstat は、マウントされたすべてのファイルシステムに関する情報を返します。 .Fa buf は 次のように定義される .Xr statfs 構造体へのポインタです。 .Bd -literal typedef struct fsid { int32_t val[2]; } fsid_t; /* ファイルシステム ID タイプ */ /* * ファイルシステム統計 */ #define MFSNAMELEN 16 /* ファイルシステムのタイプ名長、ヌルを含む */ #define MNAMELEN 90 /* 返された名前についてのバッファの長さ */ struct statfs { long f_spare2; /* プレースホルダ */ long f_bsize; /* 基本的なファイルシステムのブロックサイズ */ long f_iosize; /* 最適な転送ブロックサイズ */ long f_blocks; /* ファイルシステム内の合計データブロック */ long f_bfree; /* ファイルシステム内の未使用のブロック */ long f_bavail; /* スーパユーザ以外のユーザが利用できる未使用のブロック */ long f_files; /* ファイルシステム内の合計ファイルノード */ long f_ffree; /* ファイルシステム内の未使用のファイルノード */ fsid_t f_fsid; /* ファイルシステム ID */ uid_t f_owner; /* ファイルシステムをマウントしたユーザ */ int f_type; /* ファイルシステムのタイプ (下記を参照) */ int f_flags; /* マウントフラグのコピー */ long f_spare[2]; /* 後のための余白 */ char f_fstypename[MFSNAMELEN];/* ファイルシステムのタイプ名 */ char f_mntonname[MNAMELEN];/* マウントされたディレクトリ */ char f_mntfromname[MNAMELEN];/* マウントされたファイルシステム */ }; .Ed .Pp 返される可能性のあるフラグには次のものが含まれます。 .Bl -tag -width MNT_ASYNCHRONOUS .It Dv MNT_RDONLY ファイルシステムは読取り専用としてマウントされています。 スーパユーザも書き込むことはできません。 .It Dv MNT_NOEXEC そのファイルシステム上のファイルを実行することはできません。 .It Dv MNT_NOSUID 実行されるときに、ファイルの setuid ビットと setgid ビットが 効果を持ちません。 .It Dv MNT_NODEV ファイルシステム内の特殊ファイルは開けません。 .It Dv MNT_SYNCHRONOUS ファイルシステムへのすべての入出力が同期的に実行されます。 .It Dv MNT_ASYNCHRONOUS ファイルシステム入出力が同期的に実行されません。 .It Dv MNT_LOCAL ローカルにあるファイルシステムです。 .It Dv MNT_QUOTA ファイルシステム上でクオータが有効になっています。 .It Dv MNT_ROOTFS ルートファイルシステムであることを示します。 .It Dv MNT_EXRDONLY ファイルシステムは読取り専用でエクスポートされています。 .It Dv MNT_EXPORTED ファイルシステムは読取りと書込みの両方についてエクスポートされています。 .It Dv MNT_DEFEXPORTED ファイルシステムはどのインターネットホストへも読取りと書込みの両方について エクスポートされています。 .It Dv MNT_EXPORTANON ファイルシステムはすべてのリモートアクセスを匿名ユーザへマップします。 .It Dv MNT_EXKERB ファイルシステムは Kerberos uid マッピングでエクスポートされています。 .El .Pp 特定のファイルシステムについて未定義となるフィールドは -1 に設定されます。 バッファは .Fa fsstat 構造体の配列で埋められます。 マウントされた各ファイルシステムについて 1 つずつ、最高 .Fa bufsize で指定されたサイズまでです。 .Pp .Fa buf として NULL が指定されている場合、 .Fn getfsstat はマウントされているファイルシステムの数のみを返します。 .Pp 通常、 .Fa flags には .Dv MNT_WAIT を指定するべきです。 .Fa flags として .Dv MNT_NOWAIT が指定されている場合、 .Fn getfsstat は各ファイルシステムからの更新を要求せずに利用できる情報を返します。 そのため、情報のうちには古くなっているものがあるでしょうが、 .Fn getfsstat は応答できないファイルシステムからの情報を 待機してブロックすることはありません。 .Sh 戻り値 正常に完了すると .Fa fsstat 構造体の数が返されます。 そうでない場合は -1 が返され、エラーを示すためにグローバル変数 .Va errno が設定されます。 .Sh エラー .Fn getfsstat は以下の 1 つでも真の場合、処理に失敗します: .Bl -tag -width Er .It Bq Er EFAULT .Fa buf が無効なアドレスを指しています。 .It Bq Er EIO ファイルシステムを読み書きしている間に .Tn I/O (入出力) エラーが発生しました。 .El .Sh 関連項目 .Xr statfs 2 , .Xr fstab 5 , .Xr mount 8 .Sh 歴史 .Fn getfsstat 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/gettimeofday.2 b/ja_JP.eucJP/man/man2/gettimeofday.2 index 7887d8ed9c..e36f7fe2de 100644 --- a/ja_JP.eucJP/man/man2/gettimeofday.2 +++ b/ja_JP.eucJP/man/man2/gettimeofday.2 @@ -1,130 +1,130 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)gettimeofday.2 8.2 (Berkeley) 5/26/95 -.\" %FreeBSD: src/lib/libc/sys/gettimeofday.2,v 1.19 2002/03/15 17:59:46 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/gettimeofday.2,v 1.20 2002/11/04 19:30:04 nsayer Exp % .\" .\" $FreeBSD$ .Dd May 26, 1995 .Dt GETTIMEOFDAY 2 .Os .Sh 名称 .Nm gettimeofday , .Nm settimeofday .Nd 日付と時刻の取得 / 設定 .Sh ライブラリ .Lb libc .Sh 書式 .In sys/time.h .Ft int .Fn gettimeofday "struct timeval *tp" "struct timezone *tzp" .Ft int .Fn settimeofday "const struct timeval *tp" "const struct timezone *tzp" .Sh 解説 .Bf -symbolic 注記: timezone はもはや使用されません。 この情報はカーネルの外側に保持されます。 .Ef .Pp システムが保持している現在のグリニッジ時刻と現在の時間帯は .Fn gettimeofday 呼び出しから得られ、 .Fn settimeofday 呼び出しで設定されます。 時刻は 1970 年 1 月 1 日の深夜 (0 時) からの秒数とマイクロ秒数で表現されます。 システムクロックの分解能はハードウェアで決まり、 時刻は継続的または .Dq チック 単位で更新されます。 .Fa tp または .Fa tzp が NULL の場合、対応する時刻情報は返されず、また設定されません。 .Pp .Fa tp と .Fa tzp の指す構造体は .Ao Pa sys/time.h Ac 内に次のように定義されています: .Pp .Bd -literal struct timeval { long tv_sec; /* 1970 年 1 月 1 日からの秒数 */ long tv_usec; /* およびマイクロ秒数 */ }; struct timezone { int tz_minuteswest; /* グリニッジから西方向への偏差 */ int tz_dsttime; /* 夏時間補正のタイプ */ }; .Ed .Pp .Fa timezone 構造体は、ローカル時間帯 (グリニッジから西向きに分単位で測定) と フラグを含みます。 フラグが 0 でない場合は、1 年の適切な時期に 夏時間がその地域に適用されることを示します。 .Pp スーパユーザだけが時刻または時間帯を設定できます。 -システムが安全モード +システムが securelevel >= 2 .Pf ( Xr init 8 を参照) で実行される場合は、時刻は進めることしかできません。 この制限が課されるのは、悪意のあるスーパユーザがファイルに任意の タイムスタンプを設定するのを防止するためです。 システム時刻は、システムが安全モードにあっても .Xr adjtime 2 システムコールを使用して後方に調整できます。 .Sh 戻り値 .Rv -std .Sh エラー 次のエラーコードが .Va errno に設定されます: .Bl -tag -width Er .It Bq Er EFAULT 引数アドレスが無効なメモリを参照しました。 .It Bq Er EPERM スーパユーザ以外のユーザが時刻を設定しようとしました。 .El .Sh 関連項目 .Xr date 1 , .Xr adjtime 2 , .Xr ctime 3 , .Xr timeradd 3 , .Xr clocks 7 , .Xr timed 8 .Sh 歴史 .Fn gettimeofday 関数は .Bx 4.2 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/intro.2 b/ja_JP.eucJP/man/man2/intro.2 index fefe06f334..8e248ea07f 100644 --- a/ja_JP.eucJP/man/man2/intro.2 +++ b/ja_JP.eucJP/man/man2/intro.2 @@ -1,776 +1,775 @@ .\" Copyright (c) 1980, 1983, 1986, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)intro.2 8.5 (Berkeley) 2/27/95 -.\" %FreeBSD: src/lib/libc/sys/intro.2,v 1.34 2002/10/02 00:09:24 dd Exp % +.\" %FreeBSD: src/lib/libc/sys/intro.2,v 1.36 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd February 27, 1995 .Dt INTRO 2 .Os .Sh 名称 .Nm intro .Nd システムコールとエラー番号の紹介 .Sh ライブラリ .Lb libc .Sh 書式 .In errno.h .Sh 解説 このセクションでは、システムコール、エラー戻り、 その他の共通な定義およびコンセプトの概要について説明します。 .\".Pp .\".Sy System call restart .\".Pp .\" .Sh 戻り値 ほとんどすべてのシステムコールが外部識別子 errno によって参照される エラー番号を備えています。 .Aq Pa sys/errno.h 内でこの識別子は次のように定義されています。 .Pp .Dl extern int * __error(); .Dl #define errno (* __error()) .Pp .Va __error() 関数は、初期スレッド以外のスレッドについては、スレッドに固有な構造体の フィールドを指すポインタを返します。 初期スレッドと非スレッドプロセスの場合、 .Va __error() は、以前の定義と互換性のあるグローバル変数 .Va errno を指すポインタを返します。 .Pp システムコールは、エラーを検出すると、障害を示す整数値 (通常は -1) を返し、 それに応じて変数 .Va errno を設定します。 <これにより、-1 を受け取ったときに障害を解釈し、 それに応じた行動をとることを可能にします。> 呼び出しが正常に完了した場合は .Va errno が設定されることはありません。 いったん設定されると、別のエラーが起きるまでそのままです。 これはエラーの後でだけ調べるべきです。 多くのシステムコールがこれらのエラー番号の意味を過重にしており、 意味は呼び出しのタイプと状況に従って解釈する必要があることに注意してください。 .Pp 以降に示すのはエラーの完全なリストであり、これらの名前は .Aq Pa sys/errno.h に記載されています。 .Bl -hang -width Ds .It Er 0 Em "Error 0" 未使用。 .It Er 1 EPERM Em "Operation not permitted" 「操作が許されません」 適切な特権をもつプロセスに限定された操作、 またはファイルその他のリソースの所有者に 限定された操作を実行しようとしました。 .It Er 2 ENOENT Em "No such file or directory" 「そのようなファイルまたはディレクトリはありません」 指定のパス名の構成要素が存在しないか、またはパス名が空の文字列でした。 .It Er 3 ESRCH Em "No such process" 「そのようなプロセスはありません」 指定のプロセス ID に対応するプロセスが見つかりませんでした。 .It Er 4 EINTR Em "Interrupted function call" 「関数呼び出しが割り込まれました」 割り込み可能な関数の実行中に、非同期シグナル (たとえば、 .Dv SIGINT または .Dv SIGQUIT ) がプロセスによって捕らえられました。 シグナルハンドラが正常に戻ると、 割り込みされた関数呼び出しがエラー状態を返したように見えます。 .It Er 5 EIO Em "Input/output error" 「入出力エラーです」 何らかの物理的な入力エラーまたは出力エラーが起きました。 このエラーは、同じファイル記述子に対する操作が次に行われるまで報告されず、 後続のエラーによって失われる (上書きされる) 可能性があります。 .It Er 6 ENXIO Em "\&No such device or address" 「そのようなデバイスまたはアドレスがありません」 存在しないデバイスを参照している特殊ファイルへの入出力が行われたか、 またはデバイスの制限を越えた要求が行われました。 このエラーは、テープドライブがオンラインでない場合や、 またはディスクパックがドライブにロードされていない場合などにも 発生する可能性があります。 .It Er 7 E2BIG Em "Arg list too long" 「引数のリストが長すぎます」 新しいプロセスの引数リストと環境変数リストに使用されるバイト数が、 現在の限界である 65536 バイト .Pf ( Aq Pa sys/param.h 内の .Dv NCARGS ) を越えました。 .It Er 8 ENOEXEC Em "Exec format error" 「実行形式エラーです」 実行を要求されたファイルのパーミッションは適切でしたが、 実行可能ファイルとして要求される形式ではありませんでした。 .It Er 9 EBADF Em "Bad file descripter" 「ファイル記述子が不良です」 ファイル記述子引数が範囲外であったか、 開いていないファイルを参照していたか、 または書込み (読取り) 専用に開かれたファイルに 読取り (書込み) 要求が行われました。 .It Er 10 ECHILD Em "\&No child processes" 「子プロセスがありません」 .Xr wait 2 または .Xr waitpid 2 関数が、子プロセスが存在しないか、待機されたことのない 子プロセスを持たないプロセスによって実行されました。 .It Er 11 EDEADLK Em "Resource deadlock avoided" 「リソースデッドロックを回避しました」 デッドロック状況になる可能性のあるシステムリソースをロックしようとしました。 .It Er 12 ENOMEM Em "Cannot allocate memory" 「メモリの割り当てができません」 新しいプロセスイメージが、ハードウェアまたはシステムが課する メモリ管理制約によって許容されるより多くのメモリを要求しました。 スワップ空間の不足は通常、一時的です。 しかし、コアの不足は一時的ではありません。 ソフト限界を対応するハード限界まで増加させることはできます。 .It Er 13 EACCES Em "Permission denied" 「パーミッションが拒絶されました」 ファイルアクセスパーミッションで禁止されている方法で ファイルにアクセスしようとしました。 .It Er 14 EFAULT Em "Bad address" 「不正なアドレスです」 呼び出しで渡された引数を使おうとしているときに、 システムが無効なアドレスを検出しました。 .It Er 15 ENOTBLK Em "Not a block device" 「ブロックデバイスではありません」 ブロックデバイス操作が、非ブロックデバイスまたはファイルについて 試みられました。 .It Er 16 EBUSY Em "Resource busy" 「リソースがビジー状態です」 その時点で使用されているシステムリソースを、 その要求と干渉するであろう方法で使おうとしました。 .It Er 17 EEXIST Em "File exists" 「ファイルが存在します」 すでに存在するファイルが不適切なコンテキストで指定されました。 たとえば、 .Xr link 2 関数における新しいリンク名としてです。 .It 18 Er EXDEV Em "Improper link" 「不適切なリンクです」 別のファイルシステム上のファイルへのハードリンクが 試みられました。 .It Er 19 ENODEV Em "Operation not supported" 「操作がデバイスによってサポートされていません」 あるデバイスに不適切な関数を適用しようしました。 たとえば、プリンタのような書込み専用デバイスを読み取ろうとしました。 .It Er 20 ENOTDIR Em "Not a directory" 「ディレクトリではありません」 指定のパス名の構成要素は確かに存在しましたが、 ディレクトリが求められているにもかかわらず、 それがディレクトリではありませんでした。 .It Er 21 EISDIR Em "Is a directory" 「ディレクトリです」 書込みモードを指定してディレクトリをオープンしようとしました。 .It Er 22 EINVAL Em "Invalid argument" 「無効な引数です」 無効な引数が指定されました (たとえば、 .Xr signal 3 関数または .Xr kill 2 関数に未定義のシグナルを指定する場合)。 .It Er 23 ENFILE Em "Too many open files in system" 「システム内でオープンされているファイルが多すぎます」 システムが許容するファイル記述子の数の最大数に到達しており、少なくとも 1 つがクローズされるまで、オープンしようとする要求は満たされません。 .It Er 24 EMFILE Em "Too many open files" 「オープンしているファイルが多すぎます」 <現在のリリースでは、 プロセス1個につきオープンできるファイル数の上限は 64 です。> .Xr getdtablesize 2 で現在の限界を取得できます。 .It Er 25 ENOTTY Em "Inappropriate ioctl for device" 「デバイスに不適切な ioctl です」 ファイルまたは特殊デバイスに不適切な操作を要求する制御関数 ( .Xr ioctl 2 を参照) を試みました。 .It Er 26 ETXTBSY Em "Text file busy" 「テキストファイルがビジーです」 別のプロセスによって書込み用にオープンされた 純粋プロシジャ (共有テキスト) ファイルから新しいプロセスを作ろうとしたか、 または純粋プロシジャファイルが実行されている間に、書込みアクセスを要求する .Xr open 2 呼び出しが実行されました。 .It Er 27 EFBIG Em "File too large" 「ファイルが大きすぎます」 ファイルのサイズが最大値を超過しました (約 .if t 2\u\s-231\s+2\d .if n 2.1E9 バイト)。 .It Er 28 ENOSPC Em "Device out of space" 「デバイスの空き領域不足です」 該当するファイルシステムで新たなディスクブロックが利用できないために、 通常ファイルへの .Xr write 2 処理、ディレクトリの作成、シンボリックリンクの作成、 ディレクトリエントリの作成が失敗しました。 または、該当するファイルシステムで新たな inode が利用できないために、 新しく作成するファイルに対する inode の割り当てが失敗しました。 .It Er 29 ESPIPE Em "Illegal seek" 「不正なシークです」 .Xr lseek 2 関数がソケット、パイプ、または .Tn FIFO に対して実行されました。 .It Er 30 EROFS Em "Read-only file system" 「読取り専用ファイルシステムです」 ファイルまたはディレクトリを変更しようとする試みが、 その時点で読取り専用であるファイルシステムに対して行われました。 .It Er 31 EMLINK Em "Too many links" 「リンクが多すぎます」 1 つのファイルについて許容されるハードリンクの最大数を超過しました (1 ファイルにつきハードリンク数の限界は 32767 です)。 .It Er 32 EPIPE Em "Broken pipe" 「パイプが破壊されてました」 データを読み取るプロセスのないパイプ、ソケット、または .Tn FIFO に対しての書込みです。 .It Er 33 EDOM Em "Numerical argument out of domain" 「数値引数が領域外です」 数値入力引数が、数学関数の定義域の外側にありました。 .It Er 34 ERANGE Em "Numerical result out of range" 「数値結果が範囲外です」 関数の数値結果が大きすぎて、利用できる場所に入りません (おそらく精度を超過したのでしょう)。 .It Er 35 EAGAIN Em "Resource temporary unavailable" 「リソースが一時的に利用できません」 これは一時的な状況であり、後で同じルーチンを呼び出した時に 正常に完了する可能性があります。 .It Er 36 EINPROGRESS Em "Operation now in progress" 「操作が現在進行中です」 完了するのに時間のかかる操作 ( .Xr connect 2 など) をノンブロッキングオブジェクトに対し試みました ( .Xr fcntl 2 を参照)。 .It Er 37 EALREADY Em "Operation already in progress" 「操作は既に進行中です」 既に操作が進行中のノンブロッキングオブジェクトに対してさらに操作を試みました。 .It Er 38 ENOTSOCK Em "Socket operation on non-socket" 「ソケットでないものについてソケット操作を行いました」 ここに書いてあるとおりです。 .It Er 39 EDESTADDRREQ Em "Destination address required" 「宛先アドレスが要求されています」 ソケットに関する操作に際し、必要なアドレスが抜けています。 .It Er 40 EMSGSIZE Em "Message too long" 「メッセージが長すぎます」 内部メッセージバッファ、または何らかのネットワーク上の制限より 大きなメッセージがソケットで送信されました。 .It Er 41 EPROTOTYPE Em "Protocol wrong type for socket" 「ソケットに対するプロトコルのタイプが間違っています」 要求されたソケットタイプではサポートされないプロトコルが指定されました。 たとえば、タイプ .Dv SOCK_STREAM では、 .Tn ARPA インターネット .Tn UDP プロトコルを使用できません。 .It Er 42 ENOPROTOOPT Em "Protocol not available" 「プロトコルが利用できません」 .Xr getsockopt 2 呼び出しまたは .Xr setsockopt 2 呼び出しで、間違ったオプションまたはレベルが指定されました。 .It Er 43 EPROTONOSUPPORT Em "Protocol not supported" 「プロトコルがサポートされていません」 指定したプロトコルがシステム内に組み込まれていないか、 またはそのプロトコルの実装が存在しません。 .It Er 44 ESOCKTNOSUPPORT Em "Socket type not supported" 「ソケットタイプがサポートされていません」 指定したソケットタイプがシステム内に組み込まれてないか、 またはそのソケットタイプの実装が存在しません。 .It Er 45 EOPNOTSUPP Em "Operation not supported" 「操作がサポートされていません」 引数が指すオブジェクトのタイプは、指定した操作をサポートしていません。 このエラーが起きるのは、通常は、ファイル記述子がこの操作を サポートできないファイルまたはソケットを参照しているときです。 たとえば、データグラムソケット上で接続を .Em accept しようしたときです。 .It Er 46 EPFNOSUPPORT Em "Protocol family not supported" 「プロトコルファミリがサポートされていません」 指定したプロトコルファミリがシステムに組み込まれていないか、 またはそのプロトコルファミリの実装が存在していません。 .It Er 47 EAFNOSUPPORT Em "Address family not supported by protocol family" 「アドレスファミリがプロトコルファミリによってサポートされていません」 要求したプロトコルと互換性のないアドレスが使用されました。 たとえば、 .Tn ARPA インターネットプロトコルで .Tn NS アドレスを使用できるとは必ずしも期待すべきではないでしょう。 .It Er 48 EADDRINUSE Em "Address already in use" 「アドレスが既に使用中です」 各アドレスごとに、一度に 1 つだけを利用できます。 .It Er 49 EADDRNOTAVAIL Em "Cannot assing requested address" 「要求されたアドレスを割り当てできません」 通常は、このマシン上にないアドレスでソケットを作成しようとした結果です。 .It Er 50 ENETDOWN Em "Network is down" 「ネットワークがダウンしています」 ソケット操作の結果、動作していないネットワークに遭遇しました。 .It Er 51 ENETUNREACH Em "Network is unreachable" 「ネットワークに到達できません」 到達できないネットワークに向けてソケット操作を試みました。 .It Er 52 ENETRESET Em "Network dropped connection on reset" 「リセットによりネットワークの接続が失われました」 接続していたホストがクラッシュして再起動されました。 .It Er 53 ECONNABORTED Em "Software caused connection abort" 「ソフトウェアによる接続中断が生じました」 自マシン側の原因により接続中断が発生しました。 .It Er 54 ECONNRESET Em "Connection reset by peer" 「接続が通信相手によってリセットされました」 接続が通信相手 (peer) によって強制的にクローズされました。 これはタイムアウトまたは再起動によって、 リモート側のソケットで接続が失われた結果であるのが普通です。 .It Er 55 ENOBUFS Em "\&No buffer space available" 「バッファの空きがありません」 システムに十分なバッファがないか、待ち行列が一杯になったために、 ソケットまたはパイプについての操作が行われませんでした。 .It Er 56 EISCONN Em "Socket is already connected" 「ソケットは既に接続されています」 既に接続されたソケットに対して .Xr connect 2 要求を行いました。 または、接続済みのソケットに対する .Xr sendto 2 や .Xr sendmsg 2 要求に際し、既に接続されているのに宛先を指定しました。 .It Er 57 ENOTCONN Em "Socket is not connected" 「ソケットは接続されていません」 ソケットが接続されておらず、しかも (データグラムソケットを送信するときに) アドレスが指定されていなかったために、データを送信または 受信する要求が許可されませんでした。 .It Er 58 ESHUTDOWN Em "Cannot send after socket shutdown" 「ソケットのシャットダウンの後で送信ができません」 以前に .Xr shutdown 2 を呼び出して既にシャットダウンさせてしまったために、 ソケットに対しデータを送信する要求が許可されませんでした。 .It Er 60 ETIMEDOUT Em "Operation timed out" 「操作がタイムアウトしました」 ある時間が経過するまでに接続相手が適切に応答しなかったために、 .Xr connect 2 要求または .Xr send 2 要求の処理に失敗しました (タイムアウトの期間は通信プロトコルに左右されます)。 .It Er 61 ECONNREFUSED Em "Connection refused" 「接続が拒絶されました」 接続相手のマシンが接続を自ら拒否したので、接続を確立できませんでした。 これは、通常、相手ホストで有効でないサービスに接続しようとした結果です。 .It Er 62 ELOOP Em "Too many levels of symbolic links" 「シンボリックリンクのレベルが多すぎます」 パス名の探索に、32 .Pq Dv MAXSYMLINKS を越えるシンボリックリンクが含まれていました。 .It Er 63 ENAMETOOLONG Em "File name too long" 「ファイル名が長すぎます」 パス名の構成要素が 255 .Pq Dv MAXNAMELEN 文字を越えているか、またはパス名全体が 1023 .Pq Dv MAXPATHLEN Ns -1 文字を越えています。 .It Er 64 EHOSTDOWN Em "Host is down" 「ホストがダウンしています」 宛先ホストがダウンしているためにソケット操作が失敗しました。 .It Er 65 EHOSTUNREACH Em "No route to host" 「ホストへの経路はありません」 到達不可能なホストにソケット操作をしようとしました。 .It Er 66 ENOTEMPTY Em "Directory not empty" 「ディレクトリが空ではありません」 ディレクトリ削除または名前変更の呼び出しに対し、 .Ql .\& と .Ql ..\& 以外のエントリを含むディレクトリが指定されました。 .It Er 67 EPROCLIM Em "Too many processes" 「プロセスが多すぎます」 .It Er 68 EUSERS Em "Too many users" 「ユーザが多すぎます」 クォータシステムがテーブルエントリを使い切りました。 .It Er 69 EDQUOT Em "Disc quota exceeded" 「ディスククォータが超過しました」 ユーザのディスクブロッククォータを使い尽くしたために、通常のファイルへの .Xr write 2 、ディレクトリの作成、シンボリックリンクの作成、 ディレクトリエントリの作成が失敗しました。 もしくは、ユーザの inode クォータを使い尽くしたために、 新しく作成されたファイルのための inode の割り当てに失敗しました。 .It Er 70 ESTALE Em "Stale NFS file handle" 「失効した NFS ファイルハンドルです」 オープンされている ( .Tn NFS ファイルシステム上の ) ファイルに対してアクセスしようとしましたが、 指定したファイル記述子が参照するファイルは現在利用できません。 これは .Tn NFS サーバ上でファイルが削除されたか、 または他の破滅的な何かが起きたことを示していると思われます。 .It Er 72 EBADRPC Em "RPC struct is bad" 「RPC 構造体が不良です」 .Tn RPC 情報の交換が不成功でした。 .It Er 73 ERPCMISMATCH Em "RPC varsion wrong" 「RPC バージョンが間違っています」 通信相手の .Tn RPC のバージョンが、こちらのバージョンと互換性がありません。 .It Er 74 EPROGUNAVAIL Em "RPC prog. not avail" 「RPC プログラムが利用できません」 要求したプログラムがリモートホストに登録されていません。 .It Er 75 EPROGMISMATCH Em "Program version wrong" 「プログラムバージョンが間違っています」 要求したバージョンのプログラムが、リモートホスト .Pq Tn RPC 上で利用できません。 .It Er 76 EPROCUNAVAIL Em "Bad procedure for program" 「プログラムにとって間違った手続きです」 リモートプログラム内に存在しない手続きに対し .Tn RPC 呼び出しが試みられました。 .It Er 77 ENOLCK Em "No locks available" 「ロックが利用できません」 システムが課した、同時ファイルロック数の制限に達しました。 .It Er 78 ENOSYS Em "Function not implemented" 「関数が実装されていません」 このシステムで利用できないシステムコールを実行しようとしました。 .It Er 79 EFTYPE Em "Inappropriate file type or format" 「ファイルの型または形式が不適切です」 操作が誤った型のファイルに行われたか、またはデータファイルの 形式が誤っています。 .It Er 80 EAUTH Em "Authentication error" 「認証エラーです」 .Tn NFS ファイルシステムをマウントするために不正な 認証チケットを使おうとしました。 .It Er 81 ENEEDAUTH Em "Need authenticator" 「認証物が必要です」 指定した .Tn NFS ファイルシステムをマウントするために認証チケットが必要です。 .It Er 82 EIDRM Em "Identifier removed" 「識別子は削除されました」 IPC の識別子は、現在のプロセスがそれで待っている間に削除されました。 .It Er 83 ENOMSG Em "No message of desired type" 「要求された型のメッセージがありません」 要求した型のメッセージが IPC メッセージキューにありません。 または、メッセージカタログは要求したメッセージを含んでいません。 .It Er 84 EOVERFLOW Em "Value too large to be stored in data type" 「データタイプに格納するには大きすぎる値です」 関数からの数値の戻り値が、呼び出し側で用意した場所に格納するには大きすぎます。 .It Er 85 ECANCELED Em "Operation canceled" 「処理はキャンセルされました」 予定されていた処理はキャンセルされました。 .It Er 86 EILSEQ Em "Illegal byte sequence" 「不正なバイト列です」 多バイト文字をデコードしている際に、関数は不正または不完全なバイト列 もしくは不正なワイド文字に遭遇しました。 .It Er 87 ENOATTR Em "Attribute not found" 指定された拡張属性は存在しません。 .It Er 88 EDOOFUS Em "Programming error" 関数や API を、実行時にしか検知されない方法で誤用しました。 - .El .Sh 定義 .Bl -tag -width Ds .It "プロセス ID (Process ID)" システム内のアクティブな各プロセスは、プロセス ID と呼ばれる 負でない整数によって一意に識別されます。 この ID の範囲は 0 から 99999 までです。 .It "親プロセス ID (Parent process ID)" 新しいプロセスは、現在のアクティブなプロセスから作成されます ( .Xr fork 2 を参照)。 プロセスの親プロセス ID は、 最初はそれを作成したプロセスのプロセス ID となっています。 そのプロセスを作成したプロセスが exit した場合、 それぞれの子プロセスの親プロセス ID は、システムプロセス .Xr init 8 の ID に設定されます。 .It "プロセスグループ (Process Group)" アクティブなプロセスはそれぞれがあるプロセスグループのメンバであり、 プロセスグループはプロセスグループ ID と呼ばれる 負でない整数によって識別されます。 プロセスグループ ID はそのグループのリーダのプロセス ID です。 このグループ化によって、 関連づけられたプロセスの集団にシグナルを送る ( .Xr termios 4 を参照) ことや、 .Xr csh 1 のジョブ制御機構を可能にします。 .It "セッション (Session)" セッションは 1 つ以上のプロセスグループの集合です。 セッションは .Xr setsid 2 の呼び出しが成功すると作成されます。 これによって、呼び出したプロセスは、新規のセッションが 1 つだけ持つプロセスグループの唯一のメンバになります。 .It "セッションリーダ (Session leader)" .Xr setsid 2 の呼び出しの成功によって、新しいセッションを作成したプロセスは、 セッションリーダとして知られます。 端末を自分が制御する端末 ( .Xr termios 4 を参照) として取得できるのは、セッションリーダだけです。 .It "制御プロセス (Controlling process)" 制御端末を持つセッションリーダが制御プロセスです。 .It "制御端末 (Controlling terminal)" セッションに関連づけられている端末は、そのセッションとそのメンバに対する 制御端末として知られます。 .It "端末プロセスグループ ID (Terminal Process Group ID)" 端末は、セッションリーダによって制御端末として取得されます。 ひとたび端末がセッションに関連づけられると、 端末プロセスグループ ID をプロセスグループの ID に設定することによって、 そのセッション内のどのプロセスグループでも、 フォアグラウンドに置くことができるようになります。 この機能は、同じ端末をめぐり競合している複数のジョブの間で 調停を行うために用いられます ( .Xr csh 1 と .Xr tty 4 を参照)。 .It "親のないプロセスグループ (Orphaned Process Group)" プロセスグループは、ジョブ制御を行うシェルの制御下にない場合、 .Em 親なしになった とみなされます。 より正確に言うと、そのプロセスグループのメンバはどれも、 そのグループと同じセッションに属す親プロセスを持たず、かつ、 親プロセスが別のプロセスグループに属す場合、 そのプロセスグループは親なしになります。 なお、プロセスが終了するとき、その子プロセスの親プロセスは .Xr init 8 となるように変更されます。 そしてこれは別個のセッションになります。 親のないプロセスグループのメンバの全てが、必ずしも 親のないプロセス (プロセスを作成したプロセスが終了した) というわけではありません。 この定義により、セッションリーダのプロセスグループは親なしになります。 .It "実ユーザ ID と実グループID (Real User ID and Real Group ID) " システム上の各ユーザは、実ユーザ ID と呼ばれる正の整数によって識別されます。 .Pp 各ユーザは、1 つまたは複数のグループのメンバでもあります。 これらのグループの 1 つは他のものから区別され、 アカウンティング機能を実現するのに使用されます。 この区別されたグループに対応する正の整数は、実グループ ID と呼ばれます。 .Pp すべてのプロセスは実ユーザ ID と実グループ ID を持っています。 これらは、そのプロセスを作成したプロセスと等価な属性値を 使って初期化されます。 .It "実効ユーザ ID、実効グループ ID、グループアクセスリスト (Effective User Id, Effective Group Id, and Group Access List)" システムリソースへのアクセスは、実効ユーザ ID とグループアクセスリストという 2 つの値を使って決定されます。 グループアクセスリストの最初のメンバは、実効グループ ID としても知られています (POSIX.1 では、グループアクセスリストは、補助グループ ID の セットとして知られ、実効グループ ID がリストのメンバで あるかどうかは未規定です)。 .Pp 実効ユーザ ID と実効グループ ID は、最初はそれぞれ、 プロセスの実ユーザ ID と実グループ ID です。 いずれも (おそらくその先祖のいずれかが) ユーザ ID 設定ファイルまたは グループ ID 設定ファイルを実行することにより変更することができます ( .Xr execve 2 を参照してください)。 慣習で、実効グループ ID (グループアクセスリストの最初のメンバ) は複製されるので、 グループ ID 設定プログラムの実行の結果、もともと持っていた (実) グループ ID が失われることはありません。 .Pp グループアクセスリストは、リソースへのアクセスが可能かどうかを 決定するためにだけ使用されるグループ ID の集合です。 アクセスチェックは、以降の ``ファイルアクセスパーミッション'' で説明するように行われます。 .It "保存されたセットユーザ ID と保存されたセットグループ ID (Saved Set User ID and Saved Set Group ID)" プロセスが新しいファイルを実行するとき、ファイルがユーザ ID 設定であれば、 実効ユーザ ID はそのファイルの所有者に設定され、 ファイルがグループ ID 設定であれば、 実効グループ ID (グループアクセスリストの最初の要素) は ファイルのグループに設定されます。 それからプロセスの実効ユーザ ID は退避ユーザ ID として記録され、 プロセスの実効ユーザ ID は退避グループ ID として記録されます。 これらの記録された値は、実 ID ( .Xr setuid 2 を参照) に戻った後で、実効ユーザ ID または実効グループ ID をこれらの 値に回復するために利用できます。 (POSIX.1 では、退避ユーザ ID と退避グループ ID はオプションであり、 setuid および setgid の内部で使用されますが、 これはスーパユーザについて意図どおりには機能しません)。 .It "スーパユーザ (super-user)" 実効ユーザ ID が 0 の場合、そのプロセスは .Em スーパユーザ プロセスとして認識され、特別な権利が認められます。 .It "記述子 (Descriptor)" .Xr open 2 , .Xr dup 2 によってファイルが参照されるとき、または .Xr pipe 2 , .Xr socket 2 , .Xr socketpair 2 によってソケットが作成されるときにシステムによって割り当てられる整数です。 この整数は、指定のプロセスやその子プロセスから、 そのファイルやソケットへのアクセスパスを一意に識別します。 .It "ファイル名 (File Name)" 最高 255 .Pq Dv MAXNAMELEN 文字からなる名前であって、通常ファイル、特殊ファイル、 ディレクトリに名前を付けるのに使用されます。 .Pp これらの文字は、0 (NUL) および .Ql \&/ (スラッシュ) の .Tn ASCII コードを除きすべての .Tn ASCII 文字の集合から選択できます。 .Pp なお、一般に、ファイル名の一部として .Ql \&* , .Ql \&? , .Ql \&[ , .Ql \&] を使用するのは賢明ではありません。 シェルによってこれらの文字には特殊な意味がつけられるからです。 .It "パス名 (Path Name)" パス名は、 .Tn NUL で終端された文字列です。 スラッシュ .Ql \&/ (省略可能) で始まり、スラッシュで区切られた 0 個以上のディレクトリ名が続き、 ファイル名 (省略可能) が続きます。 パス名の長さの合計は 1024 .Pq Dv MAXPATHLEN 文字未満である必要があります。 .Pp パス名がスラッシュで始まる場合、パス検索はルートディレクトリから 開始します。 そうでない場合、検索は現在の作業ディレクトリから開始します。 スラッシュだけの場合、ルートディレクトリを指定します。 空のパス名は現在のディレクトリを指します。 .It "ディレクトリ (Directory)" ディレクトリは特殊なタイプのファイルであり、他のファイルを参照する エントリを含んでいます。 ディレクトリエントリをリンクと呼びます。 伝統的に、ディレクトリには少なくとも 2 つのリンク、 .Ql .\& と .Ql \&.. を含みます。 これらはそれぞれ .Em ドット および .Em ドット-ドット と呼ばれます。 ドットは、そのディレクトリ自体を指し、 ドット-ドットはその親ディレクトリを指します。 .It "ルートディレクトリと現在の作業ディレクトリ (Root Directory and Current Working Directory)" 各プロセスは、ルートディレクトリと現在の作業ディレクトリという 概念を持つとされてきました。 これらの概念はパス名検索を解決する際に用いられます。 プロセスのルートディレクトリは、 ルートファイルシステムのルートディレクトリである必要はありません。 .It "ファイルアクセスパーミッション (File Access Permission)" ファイルシステム内の各ファイルはアクセスパーミッションの 集合を持っています。 これらのパーミッションは、プロセスがファイルについて要求された操作 (たとえば、書込み用にファイルをオープンする) を行ってもよいかどうかを 判定するのに使用されます。 アクセスパーミッションはファイルが作成されたときに設定されます。 アクセスパーミッションは .Xr chmod 2 呼び出しを用いて後から変更することもできます。 .Pp ファイルアクセスでは、ファイルが読取りが許されているかどうか、 書込みが許されているかどうか、実行が許されているかどうか、によって 分類されます。 ディレクトリファイルでは、ディレクトリを検索してもよいかどうかを 制御するのに実行パーミッションを使用します。 .Pp システムがファイルアクセスパーミッションを解釈するにあたり、 ユーザの 3 つの異なるクラス (ファイルの所有者、 ファイルのグループ内のユーザ、その他) のどれに適用するかによって解釈します。 各ファイルは、これらの各クラスについて、 独立したアクセスパーミッションの集合を持っています。 アクセスチェックが行われると、システムは、 呼び出し側に適用できるアクセス情報をチェックすることによって、 パーミッションが認可されるかどうかを判定します。 .Pp ファイルについての読取り、書込み、実行 / 検索の 各パーミッションは、次の場合にプロセスに認可されます。 .Pp プロセスの実効ユーザ ID がスーパユーザである場合 (注: スーパユーザであっても、実行可能でないファイルを実行する ことはできません)。 .Pp プロセスの実効ユーザ ID がファイルの所有者のユーザ ID に一致し、 所有者のパーミッションがアクセスを許可している場合。 .Pp プロセスの実効ユーザ ID がファイルの所有者のユーザ ID と一致せずに、 プロセスの実効グループ ID がファイルのグループ ID と一致するか またはファイルのグループ ID がプロセスのグループアクセスリスト内に あるかのどちらかであり、グループパーミッションがアクセスを許容している場合。 .Pp プロセスの実効ユーザ ID も実効グループ ID もグループアクセスリストも、 ファイルの対応するユーザ ID およびグループ ID と一致しないが、 ``その他のユーザ'' のパーミッションがアクセスを許容する場合。 .Pp 上記のいずれにも該当しない場合、パーミッションは拒絶されます。 .It "ソケットとアドレスファミリ (Sockets and Address Families)" ソケットはプロセス間の通信の端点です。 各ソケットには、データ送信用および受信用の待ち行列があります。 .Pp ソケットには、通信の性質によったタイプがあります。 これらの性質には、ソケットで送受信されるメッセージに 相手の名前が必要かどうか、通信に信頼性があるかどうか、 メッセージ受信者を名付ける際に使用される形式などが含まれます。 .Pp 実際のシステムはそれぞれ、いくつかのソケットタイプの集合をサポートしています。 利用できるタイプおよびそれらのプロパティの詳細については、 .Xr socket 2 を参照してください。 .Pp 実際のシステムはそれぞれ、いくつかの通信プロトコルの集合を サポートしています。 プロトコルの集合はそれぞれある特定の形式のアドレスをサポートします。 アドレスファミリは、あるプロトコルのグループに対応するアドレスの集合です。 ソケットはそれぞれ、ソケットが作成されたアドレス ファミリから選択したアドレスを持ちます。 .El .Sh 関連項目 .Xr intro 3 , .Xr perror 3 diff --git a/ja_JP.eucJP/man/man2/link.2 b/ja_JP.eucJP/man/man2/link.2 index 32605a99e7..7b878476e7 100644 --- a/ja_JP.eucJP/man/man2/link.2 +++ b/ja_JP.eucJP/man/man2/link.2 @@ -1,154 +1,154 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)link.2 8.3 (Berkeley) 1/12/94 -.\" %FreeBSD: src/lib/libc/sys/link.2,v 1.21 2001/10/23 00:54:58 dd Exp % +.\" %FreeBSD: src/lib/libc/sys/link.2,v 1.22 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd March 5, 1999 .Dt LINK 2 .Os .Sh 名称 .Nm link .Nd ハードファイルリンクを作成する .Sh ライブラリ .Lb libc .Sh 書式 .In unistd.h .Ft int .Fn link "const char *name1" "const char *name2" .Sh 解説 .Fn link 関数呼び出しは、 .Fa name1 が指す下層オブジェクトの属性を持つ、指定のディレクトリエントリ (ハードリンク) .Fa name2 を不可分に作成します。 リンクが正常に完了すると下層オブジェクトのリンクカウントが増加します。 .Fa name1 と .Fa name2 は、下層オブジェクトへのアクセスとアクセス権を等しく共有します。 .Pp .Fa name1 を削除してもファイル .Fa name2 は削除されず、下層オブジェクトのリンクカウントが減少します。 .Pp .Fa name1 はハードリンクが成功するために存在している必要があり、 .Fa name1 と .Fa name2 の両方が同じファイルシステム上に存在している必要があります。 .Fa name1 はディレクトリであってはなりません。 .Sh 戻り値 .Rv -std link .Sh エラー .Fn link は次の場合に処理に失敗し、リンクは作成されません: .Bl -tag -width Er .It Bq Er ENOTDIR いずれかの前置パス名の構成要素がディレクトリではありません。 .It Bq Er ENAMETOOLONG いずれかのパス名の構成要素が 255 文字を越えているか、 またはいずれかのパス名全体の長さが 1023 文字を越えています。 .It Bq Er ENOENT いずれかの前置パス名の構成要素が存在しません。 .It Bq Er EOPNOTSUPP .Fa name1 によって指定されたファイルが入っているファイルシステムが リンクをサポートしていません。 .It Bq Er EMLINK .Fa name1 で指定されたファイルのリンクカウントが 32767 を越えます。 .It Bq Er EACCES いずれかの前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er EACCES 要求されたリンクは、書込み許可を拒否するモードのディレクトリに 書き込むことを要求しています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er ENOENT .Fa name1 によって指定されたファイルが存在しません。 .It Bq Er EEXIST .Fa name2 によって指定されたリンクが存在します。 .It Bq Er EPERM .Fa name1 によって指定されたファイルはディレクトリであるか、 変更禁止もしくは追加のみ可能であるとフラグが付けられています ( .Xr chflags 2 参照)。 .It Bq Er EXDEV .Fa name2 によって指定されたリンクと .Fa name1 によって指定されたファイルが異なるファイルシステム上にあります。 .It Bq Er ENOSPC ディレクトリを格納しているファイルシステムに容量が残っていないため、 新しいリンクを入れるエントリを置くディレクトリを拡張できません。 .It Bq Er EDQUOT ディレクトリを格納しているファイルシステムでユーザのディスクブロックに 関するクォータが枯渇したため、 新しいリンクを入れるエントリを置くディレクトリを拡張できません。 .It Bq Er EIO ディレクトリエントリを作成するためファイルシステムに 読み書きしている間に入出力エラーが発生しました。 .It Bq Er EROFS 要求されたリンクは、読取り専用ファイルシステム上のディレクトリに 書込みすることを要求しています。 .It Bq Er EFAULT 指定されたパス名の 1 つが、プロセスに割り当てられた アドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr readlink 2 , .Xr symlink 2 , .Xr unlink 2 .Sh 規格 .Fn link 関数は .St -p1003.1-90 に適合しています。 .Sh 歴史 .Fn link 関数は .At v7 で登場しました。 .Pp 従来、スーパユーザは .Fn link システムコールによってディレクトリをリンクでき、 これはファイルシステムの一貫性を破壊するものでした。 この実装では、このような操作はもはや許されません。 diff --git a/ja_JP.eucJP/man/man2/madvise.2 b/ja_JP.eucJP/man/man2/madvise.2 index 8625f36d1b..3d4ffda3a4 100644 --- a/ja_JP.eucJP/man/man2/madvise.2 +++ b/ja_JP.eucJP/man/man2/madvise.2 @@ -1,168 +1,168 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)madvise.2 8.1 (Berkeley) 6/9/93 -.\" %FreeBSD: src/lib/libc/sys/madvise.2,v 1.24 2002/08/24 00:39:43 mike Exp % +.\" %FreeBSD: src/lib/libc/sys/madvise.2,v 1.25 2002/12/12 17:25:53 ru Exp % .\" .\" WORD: revert 書き戻す(dirty なページをファイルシステムに書き込む)[madvise.2] .\" WORD: physically backing store 物理的バッキングストア .\" (仮想記憶の裏にあるディスク領域、swap やファイルシステム?!) .\" .\" $FreeBSD$ .Dd July 19, 1996 .Dt MADVISE 2 .Os .Sh 名称 .Nm madvise .Nd メモリの使用法について助言を与える .Sh ライブラリ .Lb libc .Sh 書式 .In sys/mman.h .Ft int .Fn madvise "void *addr" "size_t len" "int behav" .Sh 解説 .Fn madvise システムコールによって、自身のメモリ利用の習性の知識があるプロセスは、それを システムに説明できます。 これまで知られている習性は、 .Aq Pa sys/mman.h で定義されており、次のとおりです: .\" 6 から訳追加 .Bd -literal #define MADV_NORMAL 0 /* これ以降、特殊な処理は必要ない */ #define MADV_RANDOM 1 /* ランダムなページ参照が予測される */ #define MADV_SEQUENTIAL 2 /* シーケンシャルな参照が予測される */ #define MADV_WILLNEED 3 /* これらのページを必要とする */ #define MADV_DONTNEED 4 /* これらのページを必要としない */ #define MADV_FREE 5 /* データは今や重要ではない */ #define MADV_NOSYNC 6 /* 明示的に物理的バッキングストアが コミットされない場合 */ #define MADV_AUTOSYNC 7 /* デフォルトは物理的バッキングストアに コミットされる */ #define MADV_NOCORE 8 /* コアファイルにページを含まないこと */ #define MADV_CORE 9 /* コアファイルにページを復帰させる */ .Ed .Pp .Bl -tag -width MADV_SEQUENTIAL .It Dv MADV_NORMAL デフォルトのページング動作に戻るようにシステムに指示します。 .It Dv MADV_RANDOM ページがランダムにアクセスされ、プリフェッチが有利ではないと考えられるという ヒントです。 .It Dv MADV_SEQUENTIAL 指定のページがフォルトで読み取られたとき、そのページの直前のページの 優先順位を VM システムが下げるようにします。 .It Dv MADV_WILLNEED 指定の仮想アドレス範囲内にあるページが一時的に高い優先順位を持つようにし、 それらがメモリ内にある場合、解放される可能性を減少させます。 さらに既にメモリ内にあるページはただちにプロセスにマップされ、 それによってプロセス全体にわたるフォルトによる読取りによる 不要なオーバヘッドを除去します。 これは、フォルトによるページのバッキングストアからの 読取りを生じさせるのではなく、 メモリ内に既にあるページを呼び出し側のプロセスに素早くマップさせます。 .It Dv MADV_DONTNEED VM システムに、指定の範囲内のページのメモリ内優先順位の減少を許可します。 今後、このアドレス範囲への参照はページフォルトを発生させるでしょう。 .It Dv MADV_FREE VM システムにページを解放する自由を与え、指定ページ範囲内の情報がもはや 重要でないことをシステムに通知します。 これは、アドレス空間を有効にしたままで .Xr malloc 3 がアドレス空間内の任意の位置のページを解放できるようにする効率的な方法です。 ページが次に参照される時には、そのページは要求時 0 クリアの対象に なっている可能性もありますし、または .Dv MADV_FREE 呼び出しの前にそこにあったデータが残っているかもしれません。 ページが再び修正されるまで、そのアドレス空間範囲に対する参照だけでは、 VM システムはバッキングストアから情報をページに読み取る動作を行わなくなります。 .\" 訳追加 .It Dv MADV_NOSYNC このマップに関連づけられているデータを 物理的バッキングストアにフラッシュしないようにシステムに要求します。 通常、これにより、ファイルシステムアップデートデーモンが VM システムが汚したページを特に理由もないのに 物理ディスクに書き込む不要な動作を防止します。 VM とファイルシステムの一貫性は常に維持されることに注意してください。 この機能は、マップされたデータが必要なときだけ、 (通常、システムページャにより) フラッシュされることを 保証しているに過ぎません。 .Pp この機能を使用する典型的な場合とは、 ファイルを裏に持つ共有メモリ領域をプロセス (IPC) 間通信で使いたいとき、 特に、その領域に格納されるデータを物理的ディスクに書き込む必要がない場合です。 この機能は、SysV 共有メモリ呼び出しで得られる mmap 性能と 同等の性能を与えてくれますし、かつ、SysV 共有メモリ呼び出しを使うより、 きめ細かい制御が可能でより制約が少ない方法でもあります。 しかしこの機能は UNIX プラットホーム間で移植性がないことに注意してください (いくつかのプラットホームではデフォルトで正しく振る舞うかも知れませんが)。 詳しい情報に関しては、 .Xr mmap 2 の MAP_NOSYNC セクションを参照してください。 .It Dv MADV_AUTOSYNC 将来、アドレス範囲内のページが汚された場合のために MADV_NOSYNC の効果を元に戻します。 既に汚されているページについての効果は不定です。 書き戻しするかもしれませんし、しないかもしれません。 書き戻しを確実に行うには、 .Xr msync 2 または .Xr fsync 2 システムコールを使用します。 .It Dv MADV_NOCORE 領域は、コアファイルに含まれません。 .It Dv MADV_CORE コアファイルの領域を含みます。 .El .Sh 戻り値 .Rv -std madvise .Sh エラー .Fn madvise 関数は次の場合に失敗します: .Bl -tag -width Er .It Bq Er EINVAL .Fa addr 引数と .Fa len 引数で指定された仮想アドレス範囲が有効ではありません。 .El .Sh 関連項目 .Xr mincore 2 , .Xr mprotect 2 , .Xr msync 2 , .Xr munmap 2 .Sh 歴史 .Fn madvise 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/mknod.2 b/ja_JP.eucJP/man/man2/mknod.2 index 622d75a445..3039f926f4 100644 --- a/ja_JP.eucJP/man/man2/mknod.2 +++ b/ja_JP.eucJP/man/man2/mknod.2 @@ -1,121 +1,121 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mknod.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/mknod.2,v 1.13 2001/10/01 16:09:02 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/mknod.2,v 1.14 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt MKNOD 2 .Os .Sh 名称 .Nm mknod .Nd 特殊なファイルノードを作成する .Sh ライブラリ .Lb libc .Sh 書式 .In unistd.h .Ft int .Fn mknod "const char *path" "mode_t mode" "dev_t dev" .Sh 解説 ファイルシステムノード .Fa path が、 .Fa mode で指定されたファイルタイプとアクセス許可で作成されます。 アクセス許可はプロセスの umask 値による修正を受けます。 .Pp .Fa mode がブロックまたはキャラクタ型特殊ファイルを示す場合、 .Fa dev はシステム上の特定のデバイスを示す構成に依存する指示です。 そうでない場合 .Fa dev は無視されます。 .Pp .Fn mknod にはスーパユーザ権限が必要です。 .Sh 戻り値 .Rv -std mknod .Sh エラー .Fn mknod は次の場合に処理に失敗し、ファイルは作成されません: .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT パスの構成要素が存在しません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EPERM プロセスの実効ユーザ ID がスーパユーザではありません。 .It Bq Er EIO ディレクトリエントリの作成中、あるいは inode を割り当て中に 入出力エラーが発生しました。 .It Bq Er ENOSPC 新しいノード用のエントリを配置するディレクトリが拡張できません。 ディレクトリが入っているファイルシステム上に空き容量が残っていません。 .It Bq Er ENOSPC ノードを作成するファイルシステム上に未使用の inode がありません。 .It Bq Er EDQUOT 新しいノードのエントリを配置するディレクトリが拡張できません。 ディレクトリが入っているファイルシステム上のディスクブロックのユーザの クォータが枯渇しました。 .It Bq Er EDQUOT ノードを作成中のファイルシステム上の inode のユーザのクォータが 枯渇しました。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er EEXIST 指定のファイルがすでに存在しています。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINVAL ブロックまたはキャラクタ型特殊ファイル (または .Em whiteout ) 以外の作成は行われません。 .El .Sh 関連項目 .Xr chmod 2 , .Xr mkfifo 2 , .Xr stat 2 , .Xr umask 2 .Sh 歴史 .Fn mknod 関数は .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/mmap.2 b/ja_JP.eucJP/man/man2/mmap.2 index 57bf57214a..230b911900 100644 --- a/ja_JP.eucJP/man/man2/mmap.2 +++ b/ja_JP.eucJP/man/man2/mmap.2 @@ -1,346 +1,346 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mmap.2 8.4 (Berkeley) 5/11/95 -.\" %FreeBSD: src/lib/libc/sys/mmap.2,v 1.44 2002/08/24 00:39:43 mike Exp % +.\" %FreeBSD: src/lib/libc/sys/mmap.2,v 1.45 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd May 11, 1995 .Dt MMAP 2 .Os .Sh 名称 .Nm mmap .Nd メモリの割り当て、またはファイルまたはデバイスのメモリへのマップ .Sh ライブラリ .Lb libc .Sh 書式 .In sys/mman.h .Ft void * .Fn mmap "void *addr" "size_t len" "int prot" "int flags" "int fd" "off_t offset" .Sh 解説 .Fn mmap 関数は、 .Fa addr を始点として最大で .Fa len バイトの連続するページに、 .Fa fd によって記述されるオブジェクトのバイトオフセット .Fa offset の位置から始まる部分をマップされるようにします。 .Fa len がページサイズの倍数でない場合、 マップされた領域は指定の範囲を越えて拡張されるかもしれません。 このような拡張によってマップされたオブジェクトの末端を越えた部分は 0 で埋められます。 .Pp .Fa addr が 0 でない場合、これはシステムへのヒントとして使用されます (システムの便宜のために、領域の実際のアドレスは 指定されたアドレスとは違う可能性があります)。 .Fa addr が 0 の場合、アドレスはシステムによって選択されます。 領域の実際の開始アドレスが返されます。 .Fa mmap が処理に成功すると、確保されたアドレス範囲の以前のマッピングは 削除されます。 .Pp 保護 (領域へのアクセス許可) は .Fa prot 引数で、以下の値の論理和 .\".Em or Ns 'ing .Em ( or ) を取った値で指定します: .Pp .Bl -tag -width PROT_WRITE -compact .It Dv PROT_NONE ページはアクセスできません。 .It Dv PROT_READ ページは読取りできます。 .It Dv PROT_WRITE ページは書込みできます。 .It Dv PROT_EXEC ページは実行可能です。 .El .Pp .Fa flags パラメータは、マップされたオブジェクトのタイプ、マッピングオプション、 およびマップされたページのコピーに対して行われた修正が、プロセスに 固有であるかまたは他からの参照と共有されるかを指定します。 共有、マッピングタイプ、およびオプションは、以下の値の論理和 .\".Em or Ns 'ing .Em ( or ) を取った値で .Fa flags 引数に指定します: .Bl -tag -width MAP_HASSEMAPHORE .It Dv MAP_ANON どの特定のファイルとも対応していない匿名メモリをマップします。 .Dv MAP_ANON を作成するのに使用されるファイル記述子は \-1 である必要があります。 .Fa offset パラメータは無視されます。 .\".It Dv MAP_FILE .\"Mapped from a regular file or character-special device memory. .It Dv MAP_FIXED システムが、指定されたアドレスと異なるアドレスを選択することを許容しません。 指定されたアドレスが使用できない場合、 .Fn mmap は処理に失敗します。 .Dv MAP_FIXED が指定されている場合、 .Fa addr はページサイズの倍数である必要があります。 このオプションの使用はお勧めできません。 .It Dv MAP_HASSEMAPHORE 領域にセマフォが含まれている可能性があること、特殊な処理が必要な可能性が あることをカーネルに通知します。 .It Dv MAP_INHERIT このフラグは正式に公表されたものとして扱われたことはなく、 もはやサポートされていません。 さらなる情報は .Xr minherit 2 を参照してください。 .It Dv MAP_NOCORE 領域はコアファイルに含まれません。 .It Dv MAP_NOSYNC はこの VM マップを経由して汚されたデータを、無闇にではなく (通常はページャによって) 必要な時のみ物理的なメディアに フラッシュするようにします。 普通、このオプションにより、更新デーモンはこのマップで 汚されたページをフラッシュしないようになります。 これにより、ファイルバックアップされた共有メモリのマッピングを使用して 無関係なプロセスの間でメモリアクセスを効率的に共有することが できるようになります。 このオプションがないと、汚された VM ページは頻繁 (通常 30-60 秒毎) に ディスクにフラッシュされるかも知れず、そのような動作を必要としない場合 (例えば IPC のためにファイルを用いた共有 mmap 領域を用いている場合) パフォーマンスに問題が出ることがあります。 .Dv MAP_NOSYNC を使っているかにかかわらず、 VM/ ファイルシステムの一貫性は保たれることに注意してください。 このオプションは .Ux プラットフォーム間で (まだ) 移植性はありませんが、 いくつかのプラットフォームではデフォルトで同じ動作をするように 実装されているかも知れません。 .Pp .Em 警告 ! .Xr ftruncate 2 を使いファイルを拡張してから、つまりファイルに大きな穴を空けてから、 その穴を共有 .Fn mmap を修正して埋める場合、深刻なファイル断片化が生じる可能性があります。 この断片化を避けるために、 .Fn mmap でその領域を修正する前に、新規に拡張した領域に 0 を .Fn write して、ファイルのバッキングストアを事前に割り当てておく必要があります。 ディスクへのフラッシュが全くランダムに生じるため、 断片化問題に特に敏感なのは、 .Dv MAP_NOSYNC ページです。 .Pp 同じことが、 .Dv MAP_NOSYNC を使いファイルベースの共有メモリストアを実装する場合にも言えます。 .Fn ftruncate してバッキングストアを作るのではなく、0 を .Fn write してバッキングストアを作ることを推奨します。 たとえば、 .Dq Li dd if=filename of=/dev/null bs=32k を使うなどして巨大なファイルをシーケンシャルに読み取りながら、 .Dq Li iostat 1 を呼び出すことで得られる KB/t (転送 1 回あたりのキロバイト数) を 観察することでファイル断片化のテストが可能です。 .Pp .Xr fsync 2 関数はすべての汚染されたデータとファイルに関連づけられたメタデータ (NOSYNC の汚れた VM データを含む) を物理的媒体にフラッシュします。 .Xr sync 8 コマンドと .Xr sync 2 システムコールは、汚染された NOSYNC VM のデータを通常フラッシュしません。 .Xr msync 2 システムコールは .Bx で整合性のあるファイルシステムのバッファキャッシュが実装されたので 廃止されました。 しかしながら、汚れた VM ページとファイルシステムを結びつけ、 物理的媒体にすぐに (後程ではなく) フラッシュさせる用途に 使われることもあります。 .It Dv MAP_PRIVATE 修正はプロセス固有に行われます。 .It Dv MAP_SHARED 修正は共有されます。 .It Dv MAP_STACK .Dv MAP_STACK は .Dv MAP_ANON および 0 の .Fa offset 指定を含みます。 .Fa fd は -1 でなければならず、 .Fa prot には少なくとも .Dv PROT_READ と .Dv PROT_WRITE が入っている必要があります。 このオプションは、スタックの先頭を開始点とし下方に伸びる、サイズが最大で .Fa len バイトまで伸びるメモリ領域を作成します。 スタックの先頭は、呼び出しから返された開始アドレスに .Fa len バイトを加えたものになります。 最も伸びた場合のスタックの下端は、 呼び出しによって返される開始アドレスになります。 .El .Pp .Xr close 2 関数はページをアンマップしません。 詳細については .Xr munmap 2 を参照してください。 .Pp 現在の設計ではプロセスはスワップ空間の位置を指定できません。 将来は、追加のマッピングタイプ .Dv MAP_SWAP を定義するかもしれません。 この場合、ファイル記述子引数には スワップを行うべきファイルまたはデバイスを指定します。 .Sh 戻り値 正常に完了すると、 .Fn mmap は、マップされた領域を指すポインタを返します。 そうでない場合は 値 .Dv MAP_FAILED が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn mmap は次の場合に失敗します: .Bl -tag -width Er .It Bq Er EACCES フラグ .Dv PROT_READ が .Fa prot パラメータの一部として指定されましたが、 .Fa fd が読取り用に開かれていませんでした。 フラグ .Dv MAP_SHARED と .Dv PROT_WRITE が .Fa flags と .Fa prot パラメータの一部として指定されましたが、 .Fa fd は書込み用に開かれていませんでした。 .It Bq Er EBADF .Fa fd が有効な開かれたファイルの記述子ではありません。 .It Bq Er EINVAL .Dv MAP_FIXED が指定されて .Fa addr パラメータがページ境界に整列されていないか、または指定の アドレスの一部がユーザプロセスの有効なアドレス空間の外になります。 .It Bq Er EINVAL .Fa len が負でした。 .It Bq Er EINVAL .Dv MAP_ANON が指定されて .Fa fd パラメータが -1 ではありませんでした。 .It Bq Er EINVAL .Dv MAP_ANON が指定されておらず、 .Fa fd が通常のファイルまたはキャラクタ型特殊ファイルを参照していませんでした。 .It Bq Er EINVAL .Fa offset がページ境界に整列していませんでした (後述する「 .Sx バグ の章」を参照)。 .It Bq Er ENOMEM .Dv MAP_FIXED が指定されていますが、 .Fa addr パラメータが与えられていません。 .Dv MAP_ANON が指定されて利用できるメモリが不充分でした。 sysctl 値 .Va vm.nax_proc_mmap で指定されたプロセス毎の mmap 限界に達しました。 .El .Sh 関連項目 .Xr madvise 2 , .Xr mincore 2 , .Xr minherit 2 , .Xr mlock 2 , .Xr mprotect 2 , .Xr msync 2 , .Xr munlock 2 , .Xr munmap 2 , .Xr getpagesize 3 , .Xr make.conf 5 .Sh バグ .Fa len は 2GB に限定されます。 2GB をわずかに上回るマッピングは機能しませんが、 2GB, 4GB, 6GB および 8GB よりわずかに少ないファイルサイズについて (ファイルサイズ % 2GB) のサイズのウィンドウをマップできます。 .Pp 制約は多彩な理由から生じています。 そのほとんどは、パフォーマンス上の著しいペナルティのため、 .Fx では VM システム内で 64 ビットのオフセットを使用したくないことと 関係しています。 したがって .Fx は 32 ビットのページインデックスを使用しており、これによって .Fx では最高で 8TB までのファイルサイズを利用できます。 実際にはさらに制約が課されて使用可能サイズは 1TB までですが、 これは、ファイルシステムコード内のバグによるものです (ブロック番号計算を行っているときの桁落ち)。 .Pp 2GB 制限のもうひとつの理由は、ファイルシステムメタデータが負のオフセットに 存在できるということです。 diff --git a/ja_JP.eucJP/man/man2/mount.2 b/ja_JP.eucJP/man/man2/mount.2 index c00df10311..bef576fa0d 100644 --- a/ja_JP.eucJP/man/man2/mount.2 +++ b/ja_JP.eucJP/man/man2/mount.2 @@ -1,285 +1,285 @@ .\" Copyright (c) 1980, 1989, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount.2 8.3 (Berkeley) 5/24/95 -.\" %FreeBSD: src/lib/libc/sys/mount.2,v 1.28 2001/10/01 16:09:02 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/mount.2,v 1.29 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd May 24, 1995 .Dt MOUNT 2 .Os .Sh 名称 .Nm mount , .Nm unmount .Nd ファイルシステムをマウントまたはマウント解除する .Sh ライブラリ .Lb libc .Sh 書式 .In sys/param.h .In sys/mount.h .Ft int .Fn mount "const char *type" "const char *dir" "int flags" "void *data" .Ft int .Fn unmount "const char *dir" "int flags" .Sh 解説 .Fn mount 関数は、ファイルシステムオブジェクトをシステムファイルツリーのマウントポイント .Ar dir に付けます。 引数 .Ar data はマウントされるファイルシステムオブジェクトを記述します。 引数 .Ar type は .Ar data をどのように解釈するかをカーネルに通知します (後述の .Ar type を参照)。 ファイルシステムの内容は、新しいマウントポイント .Ar dir を通して利用できるようになります。 マウントが成功すると .Ar dir にあるすべてのファイルが覆い隠された状態になり、 ファイルシステムがマウント解除されるまで利用できなくなります。 .Pp 次の .Ar flags は、ファイルシステムアクセスに影響のあるデフォルト値を抑制するように 指定できます。 .Bl -tag -width MNT_SYNCHRONOUS .It Dv MNT_RDONLY ファイルシステムを読取り専用として取り扱います。 スーパユーザでさえこれに書き込むことはできません。 このオプションなしに MNT_UPDATE を指定すると、 読取り専用ファイルシステムが読取り / 書込みにアップグレードされます。 .It Dv MNT_NOEXEC そのファイルシステムからファイルを実行できないようにします。 .It Dv MNT_NOSUID 実行するときに、ファイルについての setuid ビットまたは setgid ビットを 尊重しません。 .It Dv MNT_NOATIME ファイルアクセス時刻の更新を行いません。 .It Dv MNT_NODEV ファイルシステム上の特殊ファイルを解釈しません。 .It Dv MNT_SUIDDIR SUID ビットが設定されたディレクトリは、新しいファイルの所有者を ディレクトリと同じに設定します。 .It Dv MNT_SYNCHRONOUS ファイルシステムへの入出力はすべて同期的に行われます。 .It Dv MNT_ASYNC ファイルシステムへの入出力はすべて非同期的に行われます。 .It Dv MNT_FORCE ファイルシステムがクリーンでないように見えても、読み書き可でマウントを 強行します。 危険です。 .It Dv MNT_NOCLUSTERR クラスタ読取りを無効にします。 .It Dv MNT_NOCLUSTERW クラスタ書込みを無効にします。 .El .Pp フラグ .Dv MNT_UPDATE は、マウントコマンドがすでにマウントされたファイルシステムに 適用されていることを示します。 これによって、ファイルシステムをマウント解除および再マウントする必要なしに、 マウントフラグを変更できます。 ファイルシステムによっては、すべてのフラグの変更を許容しない場合もあります。 たとえば多くのファイルシステムが、 読み書き可から読取り専用への変更を許容しません。 .Pp vfs サブシステムは、フラグ .Dv MNT_RELOAD によってすでにマウントされているファイルシステムに 関係するデータ構造体を更新します。 .Pp .Fa type 引数でファイルシステムを指定します。 システム上で既知なファイルシステムのタイプは .Xr lsvfs 1 で得ることができます。 .Pp .Fa data は、マウントするタイプに固有の引数が入った構造体を指すポインタです。 これらの引数構造体についての形式は各ファイルシステムに ついてのマニュアルページに記載されています。 慣習によりファイルシステムのマニュアルページは、 .Xr lsvfs 1 によって返されたファイルシステム名に ``mount_'' の接頭辞を付けて 命名されます。 それゆえ、 .Nm NFS ファイルシステムは .Xr mount_nfs 8 マニュアルページに記述されています。 .Pp .Fn unmount 関数呼び出しは、ファイルシステムを指定のマウントポイント .Fa dir から対応付け解除します。 .Pp .Fa flags 引数で .Dv MNT_FORCE を指定することで、ファイルがアクティブであっても、 ファイルシステムが強制的にマウント解除または 読取り専用 (MNT_UPDATE と MNT_RDONLY も指定されている場合) に される必要があることを示します。 アクティブな特殊デバイスは機能し続けますが、 他のアクティブなファイルへのそれ以降のアクセスは、 たとえファイルシステムが後に再マウントされたとしてもエラーを引き起こします。 .Pp .Dv MNT_SUIDDIR オプションを機能させるためには、SUIDDIR オプションがカーネル内に 組み込まれていることが必要です。 詳細については .Xr mount 8 ページと .Xr chmod 2 ページを参照してください。 .Sh 戻り値 .Rv -std .Sh エラー .Fn mount 関数は、次のうちの 1 つでも起きたときには処理を失敗します: .Bl -tag -width Er .It Bq Er EPERM 呼び出し側がスーパユーザではありません。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er ENOENT .Fa dir の構成要素が存在しません。 .It Bq Er ENOTDIR .Ar name の構成要素がディレクトリでないか、または .Ar special のパスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er EBUSY 別のプロセスが現時点で .Fa dir への参照を保持しています。 .It Bq Er EFAULT .Fa dir はプロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Pp 次のエラーは、 .Em ufs ファイルシステムのマウントについて発生する可能性があります。 .Bl -tag -width Er .It Bq Er ENODEV ufs_args の構成要素 .Ar fspec が存在しません。 .It Bq Er ENOTBLK .Ar fspec はブロックデバイスではありません。 .It Bq Er ENXIO .Ar fspec のメジャーデバイス番号が範囲外です (これはハードウェアに 対応するデバイスドライバが存在しないことを示します)。 .It Bq Er EBUSY .Ar fspec は既にマウントされています。 .It Bq Er EMFILE マウントテーブル空間が枯渇しました。 .It Bq Er EINVAL ファイルシステムのスーパブロックに 不都合なマジック番号または範囲外のブロックサイズがありました。 .It Bq Er ENOMEM ファイルシステムについてのシリンダグループ情報を読み取るのに十分な メモリがありませんでした。 .It Bq Er EIO スーパブロックまたはシリンダグループの情報を読み取る間に 入出力エラーが発生しました。 .It Bq Er EFAULT .Ar fspec がプロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Pp 次のエラーは .Em nfs ファイルシステムマウントについて起きる可能性があります: .Bl -tag -width Er .It Bq Er ETIMEDOUT .Em nfs がサーバと接触しようとして時間切れになりました。 .It Bq Er EFAULT nfs_args によって記述された情報の一部が、 プロセスに割り当てられたアドレス空間の範囲外を指しています .El .Pp .Fn unmount 関数は、次のエラーの 1 つでも起きたときには処理を失敗します: .Bl -tag -width Er .It Bq Er EPERM 呼び出し側がスーパユーザではありません。 .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EINVAL 指定されたディレクトリがマウントテーブル内にありません。 .It Bq Er EBUSY プロセスがファイルシステム上にあるファイルへの参照を保持しています。 .It Bq Er EIO キャッシュされたファイルシステム情報を書き込んでいる間に 入出力エラーが起きました。 .It Bq Er EFAULT .Fa dir がプロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Pp .Em ufs マウントは、最大数のファイルシステムが現時点でマウントされている場合にも 処理を失敗します。 .Sh 関連項目 .Xr lsvfs 1 , .Xr mount 8 , .Xr umount 8 .Sh バグ エラーコードには、明瞭なメッセージにするために変更が必要なものがあります。 .Sh 歴史 .Fn mount 関数と .Fn unmount 関数は .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/msync.2 b/ja_JP.eucJP/man/man2/msync.2 index db177cf1c5..dbf3c08876 100644 --- a/ja_JP.eucJP/man/man2/msync.2 +++ b/ja_JP.eucJP/man/man2/msync.2 @@ -1,97 +1,97 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)msync.2 8.2 (Berkeley) 6/21/94 -.\" %FreeBSD: src/lib/libc/sys/msync.2,v 1.22 2002/08/24 00:39:43 mike Exp % +.\" %FreeBSD: src/lib/libc/sys/msync.2,v 1.23 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd June 21, 1994 .Dt MSYNC 2 .Os .Sh 名称 .Nm msync .Nd マップされた領域を同期化する .Sh ライブラリ .Lb libc .Sh 書式 .In sys/mman.h .Ft int .Fn msync "void *addr" "size_t len" "int flags" .Sh 解説 .Fn msync システムコールは、修正されたページをファイルシステムに書き込んで ファイル修正時刻を更新します。 .Fa len が 0 の場合、 .Fa addr を含むリージョン内のすべての修正済みページがフラッシュされます。 .Fa len が 0 でない場合、 .Fa addr から .Fa len-1 の範囲を含むページだけが調べられます。 .Fa flags 引数は次のように指定できます: .Bd -literal MS_ASYNC ただちに戻ります MS_SYNC 同期書込みを実行します MS_INVALIDATE キャッシュされたデータをすべて無効にします .Ed .Sh 戻り値 .Rv -std msync .Sh エラー .Fn msync は次の場合に失敗します: .Bl -tag -width Er .It Bq Er EINVAL .Fa addr はハードウェアページサイズの倍数ではありません。 .It Bq Er EINVAL .Fa len が大きすぎるか、または負です。 .It Bq Er EINVAL .Fa flags に MS_ASYNC と MS_INVALIDATE の両方が指定されました。 これらのフラグは同時に指定することはできません。 .It Bq Er EIO ファイルシステムに書き込む間に入出力エラーが発生しました。 .El .Sh 関連項目 .Xr madvise 2 , .Xr mincore 2 , .Xr mprotect 2 , .Xr munmap 2 .Sh 歴史 .Fn msync 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/open.2 b/ja_JP.eucJP/man/man2/open.2 index b3bfc23a75..4fcf13ad9e 100644 --- a/ja_JP.eucJP/man/man2/open.2 +++ b/ja_JP.eucJP/man/man2/open.2 @@ -1,298 +1,298 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)open.2 8.2 (Berkeley) 11/16/93 -.\" %FreeBSD: src/lib/libc/sys/open.2,v 1.22 2002/01/22 14:18:55 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/open.2,v 1.23 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd November 16, 1993 .Dt OPEN 2 .Os .Sh 名称 .Nm open .Nd 読取りまたは書込み用にファイルをオープンする、または作成する .Sh ライブラリ .Lb libc .Sh 書式 .In fcntl.h .Ft int .Fn open "const char *path" "int flags" "..." .Sh 解説 .Fa path によって指定されるファイルを、引数 .Fa flags によって指定されたように読取りまたは書込み (またはその両方) 用にオープンし、 そのファイル記述子を呼び出し元プロセスに返します。 ファイルが存在しない場合にはファイルを作成するように、 .Fa flags 引数で指示できます .Dv ( O_CREAT フラグを指定する)。 この場合、 .Nm には 3 番目の引数 .Fa "mode_t mode" が必要であり、ファイルは .Xr chmod 2 で説明されているようにモード .Fa mode で作成され、プロセスの umask 値によって修正されます .Pf ( Xr umask 2 を参照)。 .Pp 指定されたフラグは次の値の論理和 .\".Em or Ns 'ing .Em ( or ) で作成されます。 .Pp .Bd -literal -offset indent -compact O_RDONLY 読取り専用でオープン O_WRONLY 書込み専用でオープン O_RDWR 読取りと書込み用にオープン O_NONBLOCK オープンするときにブロックしない O_APPEND 書込みのたびに末尾に追加する O_CREAT ファイルが存在しない場合、作成する O_TRUNC サイズを 0 に切り捨てる O_EXCL 作成するファイルが既に存在した場合、エラーとする O_SHLOCK 共有ロックを自動的に取得する O_EXLOCK 排他的ロックを自動的に取得する O_DIRECT キャッシュの効果を無くすまたは減らす O_FSYNC 同期的に書き込む O_NOFOLLOW シンボリックリンクを辿らない .Ed .Pp .Dv O_APPEND を設定してファイルをオープンすると、 ファイルへの書込みはすべてファイルの末尾に追加されます。 .Dv O_TRUNC が指定されていてファイルが存在する場合、ファイルは長さ 0 に切り捨てられます。 .Dv O_EXCL が .Dv O_CREAT とともに設定されていてファイルが既に存在する場合、 .Fn open はエラーを返します。 これを使用して、簡単な排他的アクセスロッキングメカニズムを実現できます。 .Dv O_EXCL が設定されていてパス名の最後の構成要素がシンボリックリンクの場合、 たとえシンボリックリンクが存在しない名前を指していたとしても .Fn open は処理に失敗します。 .Dv O_NONBLOCK フラグが指定されていて .Fn open 呼び出しの結果、プロセスが何らかの理由でブロックされると (たとえば、 ダイアルアップ回線でキャリアを待っている場合)、 .Fn open は即座に戻ります。 記述子は、その後の操作のために非ブロッキングモードのままにされます。 .Pp .Dv O_FSYNC がマスクに使用された場合、すべての書込みは直ちにディスクに書き込まれ、 カーネルは書き込まれたデータをキャッシュせず、 書き込むべきすべてのデータが完了するまでは この記述子に対するすべての書込みは戻りません。 .Pp .Dv O_NOFOLLOW がマスクに使用された場合で .Fn open に渡された対象ファイルがシンボリックリンクの場合、 .Fn open は失敗します。 .Pp ファイルをオープンするときに、 .Xr flock 2 を使ったロックを得るには、共有ロックについては .Dv O_SHLOCK、 排他的ロックについては .Dv O_EXLOCK を設定します。 .Dv O_CREAT でファイルを作成する場合、ロック要求が失敗すること はありません (ただし、下層にあるファイルシステムが ロックをサポートしている場合に限ります)。 .Pp 読み書きにおけるキャッシュの効果を最小化もしくは無くすために .Dv O_DIRECT を使用可能です。 システムは、読み書きするデータのキャッシングを避けようとします。 データのキャッシングが避けられない場合、 データのキャッシュに対する影響を最小化します。 注意せずに使用すると、本フラグは劇的に性能を劣化させます。 .Pp 正常に完了すると、 .Fn open は、ファイル記述子を示す負でない整数を返します。 処理に失敗すると -1 を返します。 ファイル内の現在の位置をマークする ファイルポインタはファイルの先頭に設定されます。 .Pp 新しいファイルが作成される場合、そのグループは ファイルが含まれるディレクトリのグループに設定されます。 .Pp 新しい記述子は .Xr execve 2 システムコールを通じてオープンされたままであるように設定されます。 .Xr close 2 と .Xr fcntl 2 を参照してください。 .Pp システムには、1 つのプロセスによって同時にオープンできる ファイル記述子数に制限があります。 .Xr getdtablesize 2 は現在のシステム制限を返します。 .Sh 戻り値 正常に完了すると、 .Fn open はファイル記述子である負でない整数を返します。 処理に失敗すると -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー 指定のファイルは次の場合を除いてオープンされます: .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたファイルが存在せず、 .Dv O_CREAT も設定されていません。 .It Bq Er ENOENT 存在しなければならないパス名の構成要素が存在しません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er EACCES 要求されたパーミッション (読取りまたは書込み用、または両方) が 指定のフラグに拒否されています。 .It Bq Er EACCES .Dv O_CREAT が指定されていて、ファイルが存在せず、かつファイルを作成する ディレクトリに書込み許可がありません。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EISDIR 指定のファイルがディレクトリであり、これを書込み用に オープンするように引数が指定されています。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあり、 そのファイルを修正しようとしています。 .It Bq Er EMFILE プロセスは、すでにオープンできるファイル記述子に関する制限に達しています。 .It Bq Er ENFILE システムファイルテーブルが満杯です。 .It Bq Er EMLINK .Dv O_NOFOLLOW が指定され、対象がシンボリックリンクです。 .It Bq Er ENXIO 指定のファイルはキャラクタ型特殊ファイルまたはブロック型特殊ファイルであり、 この特殊ファイルに結び付けられたデバイスは存在していません。 .It Bq Er ENXIO 指定されたファイルは FIFO パイプで、どのプロセスからも 読取り用にオープンされていないにも関らず、 これを書込み用にオープンしようとしました。 .It Bq Er EINTR .Fn open 操作がシグナルによって割り込みされました。 .It Bq Er EOPNOTSUPP .Dv O_SHLOCK または .Dv O_EXLOCK が指定されましたが、下層となっているファイルシステムは ロックをサポートしていません。 .It Bq Er EWOULDBLOCK .Dv O_NONBLOCK と、 .Dv O_SHLOCK か .Dv O_EXLOCK のどちらかが指定されましたが、ファイルはロックされています。 .It Bq Er ENOSPC .Dv O_CREAT が指定されていて、ファイルが存在せず、新しいファイル用のエントリを 配置中のディレクトリは、そのディレクトリを含むファイルシステムに 空間が残っていないため拡張できません。 .It Bq Er ENOSPC .Dv O_CREAT が指定されていて、ファイルが存在せず、かつファイルが作成中の ファイルシステム上に未使用の inode がありません。 .It Bq Er EDQUOT .Dv O_CREAT が指定されていて、ファイルが存在せず、かつ新しいファイル用の エントリを配置中のディレクトリは、そのディレクトリを含む ファイルシステム上でディスクブロックの ユーザのクォータが枯渇したために拡張できません。 .It Bq Er EDQUOT .Dv O_CREAT が指定されていて、ファイルが存在せず、かつファイルを作成中の ファイルシステム上で inode のユーザのクォータが枯渇しています。 .It Bq Er EIO ディレクトリエントリを作成中、または .Dv O_CREAT 用の inode を割り当て中に入出力エラーが発生しました。 .It Bq Er ETXTBSY ファイルは純粋な手続き (共有テキスト) ファイルで、 .Fn open が書込みアクセスを要求しましたが、ファイルは実行中です。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EEXIST .Dv O_CREAT と .Dv O_EXCL が指定されていて、ファイルが存在します。 .It Bq Er EOPNOTSUPP ソケットをオープンしようとしました (現時点では実装されていません)。 .It Bq Er EINVAL .Dv O_RDONLY , .Dv O_WRONLY および .Dv O_RDWR の不正な組合わせで記述子をオープンしようとしました。 .El .Sh 関連項目 .Xr chmod 2 , .Xr close 2 , .Xr dup 2 , .Xr getdtablesize 2 , .Xr lseek 2 , .Xr read 2 , .Xr umask 2 , .Xr write 2 .Sh 歴史 .Fn open 関数は .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/pathconf.2 b/ja_JP.eucJP/man/man2/pathconf.2 index b2750a8779..8890e0eafa 100644 --- a/ja_JP.eucJP/man/man2/pathconf.2 +++ b/ja_JP.eucJP/man/man2/pathconf.2 @@ -1,201 +1,203 @@ .\" 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. .\" .\" @(#)pathconf.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/pathconf.2,v 1.11 2002/11/04 07:21:44 tjr Exp % +.\" %FreeBSD: src/lib/libc/sys/pathconf.2,v 1.12 2002/11/29 15:57:49 ru Exp % .\" .\" $FreeBSD$ .Dd November 4, 2002 .Dt PATHCONF 2 .Os .Sh 名称 .Nm pathconf , .Nm fpathconf .Nd 構成可能なパス名変数を取得する .Sh ライブラリ .Lb libc .Sh 書式 .In unistd.h .Ft long .Fn pathconf "const char *path" "int name" .Ft long .Fn fpathconf "int fd" "int name" .Sh 解説 .Fn pathconf 関数と .Fn fpathconf 関数は、構成可能なシステム限界の現在値、またはパス名や ファイル記述子に対応するオプション変数を アプリケーションが判定する方法を提供します。 .Pp .Fn pathconf の場合、 .Fa path 引数はファイルまたはディレクトリの名前です。 .Fn fpathconf の場合、 .Fa fd 引数はオープンファイルの記述子です。 .Fa name 引数は、照会するシステム変数を指定します。 それぞれの名前に関するシンボリック定数はインクルードファイル .Li にあります。 .Pp 利用可能な値は次のとおりです: .Pp .Bl -tag -width 6n .Pp .It Li _PC_LINK_MAX 最大のファイルリンクカウント。 .It Li _PC_MAX_CANON 端末の標準モード入力待ち行列の最大バイト数。 .It Li _PC_MAX_INPUT 端末入力待ち行列内空間で利用できる最大バイト数の最小値。 .It Li _PC_NAME_MAX ファイル名の最大バイト数。 .It Li _PC_PATH_MAX パス名の最大バイト数。 .It Li _PC_PIPE_BUF パイプに自動的に書き込まれる最大バイト数。 .It Li _PC_CHOWN_RESTRICTED .Xr chown 2 システムコールを実行するのに、適切な特権が必要な場合は 1 を返し、 そうでない場合は 0 を返します。 .It Li _PC_NO_TRUNC KERN_NAME_MAX より長いファイル名が切り捨てられる場合は 1 を返します。 .It Li _PC_VDISABLE 端末制御文字を無効にするための値を返します。 .It Li _PC_ASYNC_IO 非同期 I/O がサポートされている場合は 1 を返し、 そうでなければ 0 を返します。 .It Li _PC_PRIO_IO このファイルに対して優先 I/O がサポートされている場合は 1 を返し、 そうでなければ 0 を返します。 .It Li _PC_SYNC_IO このファイルに対して同期 I/O がサポートされている場合は 1 を返し、 そうでなければ 0 を返します。 .It Li _PC_ALLOC_SIZE_MIN -ファイルの一部を格納するために確保される領域の最小バイト数。 +ファイルの一部 +.Fa path +を格納するために確保される領域の最小バイト数。 .It Li _PC_FILESIZEBITS 最大ファイルサイズを表現するのに必要なビット数。 .It Li _PC_REC_INCR_XFER_SIZE ファイル転送サイズの、 .Dv _PC_REC_MIN_XFER_SIZE から .Dv _PC_REC_MAX_XFER_SIZE への推奨増加量。 .It Li _PC_REC_MAX_XFER_SIZE 推奨ファイル転送サイズの最大値。 .It Li _PC_REC_MIN_XFER_SIZE 推奨ファイル転送サイズの最小値。 .It Li _PC_REC_XFER_ALIGN ファイル転送バッファの推奨アラインメント。 .It Li _PC_SYMLINK_MAX シンボリックリンクに使われる最大バイト数。 .It Li _PC_ACL_EXTENDED 指定されたファイルに対してアクセス制御リスト (ACL) が 設定できる場合は 1 を返し、そうでなければ 0 を返します。 .It Li _PC_ACL_PATH_MAX ACL エントリのファイル毎の最大数。 .It Li _PC_CAP_PRESENT 指定されたファイルに対してケーパビリティ状態が 設定できる場合は 1 を返し、そうでなければ 0 を返します。 .It Li _PC_INF_PRESENT 指定されたファイルに対して情報ラベルが 設定できる場合は 1 を返し、そうでなければ 0 を返します。 .It Li _PC_MAC_PRESENT 指定されたファイルに対して強制アクセス制御 (MAC) ラベルが 設定できる場合は 1 を返し、そうでなければ 0 を返します。 .El .Sh 戻り値 .Fn pathconf または .Fn fpathconf の呼び出しが正常に完了しない場合は -1 が返され、 .Va errno が適切な値に設定されます。 変数に結び付けられた機能がシステム内に限界を持たないとき、-1 が返され、 .Va errno は修正されません。 それ以外の場合、現在の変数値が返されます。 .Sh エラー 次の条件のどれかが起きた場合、 .Fn pathconf 関数と .Fn fpathconf 関数は -1 を返し、 .Va errno に対応する値を設定します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa name 引数の値が無効です。 .It Bq Er EINVAL このファイルとこの変数との結び付きは、実装されていません。 .El .Pp .Fn pathconf は次の場合に失敗します: .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたファイルが存在しません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .El .Pp .Bl -tag -width Er .Fn fpathconf は次の場合に失敗します: .It Bq Er EBADF .Fa fd は有効なオープンファイル記述子ではありません。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .El .Sh 関連項目 .Xr sysctl 3 .Sh 歴史 .Fn pathconf 関数と .Fn fpathconf 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/quotactl.2 b/ja_JP.eucJP/man/man2/quotactl.2 index 23e160f8e7..606923b2ed 100644 --- a/ja_JP.eucJP/man/man2/quotactl.2 +++ b/ja_JP.eucJP/man/man2/quotactl.2 @@ -1,232 +1,232 @@ .\" Copyright (c) 1983, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Robert Elz at The University of Melbourne. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)quotactl.2 8.2 (Berkeley) 3/10/95 -.\" %FreeBSD: src/lib/libc/sys/quotactl.2,v 1.19 2002/05/17 16:39:21 roam Exp % +.\" %FreeBSD: src/lib/libc/sys/quotactl.2,v 1.20 2002/12/12 17:25:53 ru Exp % .\" .\" WORD: quota 割り当て制限 .\" WORD: quota file 割り当て制限情報ファイル .\" WORD: quota file 割り当て制限を記録したファイル .\" WORD: usage 使用状況 .\" .\" $FreeBSD$ .Dd March 5, 1999 .Dt QUOTACTL 2 .Os .Sh 名称 .Nm quotactl .Nd ファイルシステム割り当て制限を操作する .Sh ライブラリ .Lb libc .Sh 書式 .In sys/types.h .In ufs/ufs/quota.h .Ft int .Fn quotactl "const char *path" "int cmd" "int id" "void *addr" .Sh 解説 .Fn quotactl システムコールは、 ファイルシステムの割り当て制限を有効や無効にしたり、操作します。 .Fa cmd で与えられた割り当て制限制御コマンドは、 .Fa id で指定されたユーザと .Fa path で指定されたファイルに対して動作します (注: .Fa cmd の値を明確に表すために、 .Ao Pa ufs/ufs/quota.h Ac で定義されている QCMD マクロを使用すべきです)。 オプションとして各コマンド固有のデータ構造体のアドレスを .Fa addr に指定できます。 これがどう解釈されるかは各コマンド毎に後述します。 .Pp 現時点で、割り当て制限は .Dq ufs ファイルシステムについてのみサポートされています。 .Dq ufs の場合、コマンドは主たるコマンド (後述) および .Fa id 引数の解釈方法を指示するコマンドタイプで構成されます。 コマンドタイプは、 .Fa id をユーザ識別子として解釈する (USRQUOTA) と、 グループ識別子として解釈する (GRPQUOTA) がサポートされています。 .Dq ufs 固有のコマンドは次のとおりです: .Bl -tag -width Q_QUOTAOFFxx .It Dv Q_QUOTAON .Fa path で指定されるファイルシステム用のディスク割り当て制限を有効にします。 コマンドタイプには有効にする割り当て制限の種類を指定します。 .Fa addr 引数には、割り当て制限情報を取り出すファイルを指定します。 割り当て制限を記録したファイルが存在している必要があります。 このファイルは通常、 .Xr quotacheck 8 プログラムで作成されます。 .Fa id 引数は使用されません。 スーパユーザだけが割り当て制限をオンにできます。 .It Dv Q_QUOTAOFF .Fa path で指定されるファイルシステムに対する、ディスク割り当て制限を無効にします。 コマンドタイプには、無効にする割り当て制限の種類を指定します。 .Fa addr 引数と .Fa id 引数は使用されません。 スーパユーザだけが割り当て制限をオフにできます。 .It Dv Q_GETQUOTA 識別子 .Fa id で指定されるユーザまたはグループ (どちらであるかはコマンドタイプによって決定されます) の、ディスク割り当て制限と現在の使用状況を取得します。 .Fa addr は、 .Fa struct dqblk 構造体 .Pf ( Ao Pa ufs/ufs/quota.h Ac で定義されています) を指すポインタです。 .It Dv Q_SETQUOTA 識別子 .Fa id で指定されるユーザまたはグループ (どちらであるかはコマンドタイプによって決定されます) のディスク割り当て制限を設定します。 .Fa addr は、 .Fa struct dqblk 構造体 .Pf ( Ao Pa ufs/ufs/quota.h Ac で定義されています) を指すポインタです。 .Fa dqblk 構造体の使用状況を示すフィールドは無視されます。 この呼び出しはスーパユーザだけに制限されています。 .It Dv Q_SETUSE 識別子 .Fa id で指定されるユーザまたはグループ (どちらであるかはコマンドタイプによって決定されます) のディスク使用制限を設定します。 .Fa addr は、 .Fa struct dqblk 構造体 .Pf ( Ao Pa ufs/ufs/quota.h Ac で定義されています) を指すポインタで、 使用状況を示すフィールドだけが使われます。 この呼び出しはスーパユーザだけに制限されています。 .It Dv Q_SYNC 割り当て使用状況の、ディスク上のコピーを更新します。 コマンドタイプには、どのタイプの割り当て制限を更新するかを指定します。 .Fa id パラメータと .Fa addr パラメータは無視されます。 .El .Sh 戻り値 .Rv -std quotactl .Sh エラー .Fn quotactl 呼び出しは次の場合に失敗します: .Bl -tag -width Er .It Bq Er EOPNOTSUPP カーネルが .Dv QUOTA オプションを指定してコンパイルされていません。 .It Bq Er EUSERS 割り当て制限のテーブルを拡張できません。 .It Bq Er EINVAL .Fa cmd またはコマンドタイプが無効です。 .Dv Q_GETQUOTA および .Dv Q_SETQUOTA では、クォータはこのシステムに対して現在有効ではありません。 .It Bq Er EACCES .Dv Q_QUOTAON において、割り当て制限情報ファイルがプレーンファイルではありません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたファイルが存在しません。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EROFS .Dv Q_QUOTAON で、割り当て制限を記録したファイルが 読取り専用ファイルシステム上にあります。 .It Bq Er EIO 割り当て制限を記録したファイルに読み書きしている間に .Tn I/O (入出力) エラーが発生しました。 .It Bq Er EFAULT 無効な .Fa addr が指定されました。 対応する構造体をカーネルに、またはカーネルからコピーできませんでした。 .It Bq Er EFAULT .Fa path が、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EPERM 特権が必要な呼び出しであったにも関わらず、 スーパユーザ以外のユーザによって呼び出されました。 .El .Sh 関連項目 .Xr quota 1 , .Xr fstab 5 , .Xr edquota 8 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr repquota 8 .Sh バグ このシステムコールを .Xr setrlimit 2 および .Xr getrlimit 2 で提供されるリソース制限に関するインタフェースと統合する、 何らかの方法があるはずです。 .Sh 歴史 .Fn quotactl 関数は .Bx 4.3 Reno で登場しました。 diff --git a/ja_JP.eucJP/man/man2/select.2 b/ja_JP.eucJP/man/man2/select.2 index 18bceb3cad..1e6dcb22b2 100644 --- a/ja_JP.eucJP/man/man2/select.2 +++ b/ja_JP.eucJP/man/man2/select.2 @@ -1,192 +1,200 @@ .\" 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. .\" .\" @(#)select.2 8.2 (Berkeley) 3/25/94 -.\" %FreeBSD: src/lib/libc/sys/select.2,v 1.21 2001/10/01 16:09:02 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/select.2,v 1.22 2002/11/17 16:34:07 mike Exp % .\" .\" $FreeBSD$ -.Dd March 25, 1994 +.Dd November 17, 2002 .Dt SELECT 2 .Os .Sh 名称 .Nm select .Nd 同期的な入出力の多重化 .Sh ライブラリ .Lb libc .Sh 書式 -.In sys/types.h -.In sys/time.h -.In unistd.h +.In sys/select.h .Ft int .Fn select "int nfds" "fd_set *readfds" "fd_set *writefds" "fd_set *exceptfds" "struct timeval *timeout" .Fn FD_SET fd &fdset .Fn FD_CLR fd &fdset .Fn FD_ISSET fd &fdset .Fn FD_ZERO &fdset .Sh 解説 .Fn select は、 .Fa readfds , .Fa writefds および .Fa exceptfds でアドレスを渡された入出力記述子集合を調べ、 それらの記述子のいくつかがそれぞれ、読取り準備完了であるか、 書込み準備完了であるか、または保留されている例外条件があるかを調べます。 検出可能な唯一の例外条件は、ソケット上に受信した帯域外のデータです。 最初の .Fa nfds 個の記述子が各集合内でチェックされます。 すなわち、記述子集合中の 0 〜 .Fa nfds Ns No -1 の記述子が調べられます。 戻り時に .Fn select は指定の記述子集合を、要求された操作の準備ができている記述子で 構成される部分集合で置き換えます。 .Fn select は、すべての集合の中で準備ができた記述子の総数を返します。 .Pp 記述子の集合は、整数配列内のビットフィールドとして保存されます。 このような記述子集合を操作するために次のマクロが用意されています: .Fn FD_ZERO &fdset は記述子集合 .Fa fdset を空集合で初期化します。 .Fn FD_SET fd &fdset は特定の記述子 .Fa fd を .Fa fdset に含めます。 .Fn FD_CLR fd &fdset は .Fa fd を .Fa fdset から削除します。 .Fn FD_ISSET fd &fdset は .Fa fd が .Fa fdset のメンバである場合は非 0 の値を、そうでない場合は 0 を返します。 これらのマクロの動作は、記述子の値が 0 未満であるか、または .Dv FD_SETSIZE 以上である場合は未定義です。 .Dv FD_SETSIZE は通常、少なくとも、システムがサポートする記述子の最大数に等しくなります。 .Pp .Fa timeout が、NULL ポインタでない場合、それはセレクションの完了を 待つ最大間隔を指定します。 システムの活動性が、この間隔を不定時間延長することがあります。 .Pp .Fa timeout が NULL ポインタの場合、 .Fn select は無期限にブロックします。 .Pp ポーリングのためには、 .Fa timeout 引数は NULL でなく、値が 0 の timeval 構造体を指しているべきです。 .Pp .Fa readfds , .Fa writefds および .Fa exceptfds のどれについても、いずれの記述子も興味がない場合は NULL ポインタを指定できます。 .Sh 戻り値 .Fn select は記述子集合に含まれている準備のできた記述子の数を返し、 エラーが起きた場合は -1 を返します。 タイムリミットが来ると、 .Fn select は 0 を返します。 割り込みによるものも含めて .Fn select がエラーで戻る場合は、記述子集合は変更されません。 .Sh エラー .Fn select から戻るエラーは次のことを示します: .Bl -tag -width Er .It Bq Er EBADF 記述子集合のどれかが無効な記述子を指定していました。 .It Bq Er EINTR タイムリミットが切れる前あるいは選択したイベントのいずれかが起きる前に、 シグナルが配送されました。 .It Bq Er EINVAL 指定のタイムリミットは無効です。 どれかが負であるか、または大きすぎます。 .It Bq Er EINVAL .Fa nfds が無効でした。 .El .Sh 関連項目 .Xr accept 2 , .Xr connect 2 , .Xr getdtablesize 2 , .Xr gettimeofday 2 , .Xr read 2 , .Xr recv 2 , .Xr send 2 , .Xr write 2 , .Xr clocks 7 .Sh 注 .Dv FD_SETSIZE のデフォルトのサイズは現時点では 1024 です。 多数のオープンファイルを使用する可能性があるプログラムで .Fn select を実行するために、 .Aq Pa sys/types.h を取り込むヘッダを含める前にプログラムで .Dv FD_SETSIZE を定義することで、このサイズを増加できます。 .Pp .Fa nfds がオープンファイルの数より大きい場合、 .Fn select が未使用のファイル記述子を調査することは保証されていません。 歴史的な理由で、 .Fn select は最初の 256 個の記述子を必ず調査します。 .Sh バグ .St -susv2 では、システムが元の timeout を適当に更新することを許しています。 したがって、タイムアウトの値が .Fn select 呼び出しによって変更されないと想定するのは賢明ではありません。 +.Sh 標準 +.Fn select +関数および +.Fn FD_CLR , +.Fn FD_ISSET , +.Fn FD_SET , +.Fn FD_ZERO +マクロは +.St -p1003.1-2001 +に適合します。 .Sh 歴史 .Fn select 関数は .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/sigaction.2 b/ja_JP.eucJP/man/man2/sigaction.2 index 37146125fc..a4a02f2b0b 100644 --- a/ja_JP.eucJP/man/man2/sigaction.2 +++ b/ja_JP.eucJP/man/man2/sigaction.2 @@ -1,605 +1,608 @@ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)sigaction.2 8.2 (Berkeley) 4/3/94 -.\" %FreeBSD: src/lib/libc/sys/sigaction.2,v 1.42 2002/10/24 13:03:46 bde Exp % +.\" %FreeBSD: src/lib/libc/sys/sigaction.2,v 1.43 2002/11/29 15:57:49 ru Exp % .\" .\" 2001/01/01 horikawa@jp.FreeBSD.org .\" sigvec.2 を更新する場合は、共通部分の多い sigaction.2 も同時に更新 .\" してください。 .\" .\" $FreeBSD$ .Dd April 3, 1994 .Dt SIGACTION 2 .Os .Sh 名称 .Nm sigaction .Nd ソフトウェアシグナル機能 .Sh ライブラリ .Lb libc .Sh 書式 .In signal.h .Bd -literal struct sigaction { union { void (*__sa_handler)(int); void (*__sa_sigaction)(int, struct __siginfo *, void *); } __sigaction_u; /* シグナルハンドラ */ int sa_flags; /* 後述のシグナルオプション参照 */ sigset_t sa_mask; /* 適用するシグナルマスク */ }; #define sa_handler __sigaction_u.__sa_handler #define sa_sigaction __sigaction_u.__sa_sigaction .Ed .Ft int -.Fn sigaction "int sig" "const struct sigaction * restrict act" \ - "struct sigaction * restrict oact" +.Fo sigaction +.Fa "int sig" +.Fa "const struct sigaction * restrict act" +.Fa "struct sigaction * restrict oact" +.Fc .Sh 解説 システムではシグナルの集合を定義しており、 これらはプロセスに配信されることがあります。 シグナルの配信は、ハードウェア割込みの発生に似ています。 通常の場合、シグナルのさらなる発生はブロックされ、 現在のプロセスコンテキストは保存されて、新しいプロセスコンテキストが 作成されます。 プロセスは、シグナルの配信先 .Em handler を指定することもあれば、シグナルを .Em 無視 することを指定することもあります。 シグナルが発生した場合に、システムがデフォルトのアクションを取ることを 指定することも可能です。 シグナルが .Em ブロック されることもあり、その場合、シグナルの配信は、 .Em ブロックが解除 されるまで延期されます。 配信時に取るアクションは、配信時に決まります。 通常の場合は、シグナルハンドラが、プロセスの現行スタックで動作します。 これはハンドラごとに変更可能であり、変更すれば、シグナルは特殊な .Em シグナルスタック で実行可能です。 .Pp 通常の場合、シグナルルーチンは、呼び出しの原因となったシグナルが ブロックされた状態で動作しますが、その他のシグナルが発生する可能性は あります。 グローバルの .Em シグナルマスク には、プロセスへの配信が現在 ブロックされているシグナルの集合が定義されています。 プロセスのシグナルマスクは、親のシグナルマスクで初期化されます (通常は空)。 .Xr sigprocmask 2 が呼び出された場合、またはシグナルがプロセスに配信された場合に、 シグナルマスクは変更されます。 .Pp あるシグナルの生起条件がプロセスで発生すると、そのシグナルが、 プロセスで保留中のシグナルの集合に追加されます。 そのシグナルがプロセスで現在 .Em ブロック されていない場合は、プロセスに配信されます。 シグナルは、プロセスがオペレーティングシステムに入っている間に (システム呼び出し、ページエラーやトラップ、クロック割込み中などに) 配信されます。 複数のシグナルの配信準備が同時に整った場合は、トラップで生じたシグナルが 先に配信されます。 その他のシグナルは、それぞれが前のシグナルのハンドラに対し、 最初の命令の前に割り込んだ状態で同時に処理されます。 保留になっているシグナルの集合は、 .Xr sigpending 2 関数で返されます。 捕捉されたシグナルが配信されると、プロセスの現在の 状態が保存され、新しいシグナルマスクが以下で説明するように算出されて、 シグナルハンドラが呼び出されます。 ハンドラの呼び出しは、 シグナル処理ルーチンが正常に戻った場合に、プロセスがシグナル配信前の コンテキストで実行を再開するように設定されます。 プロセスが別のコンテキストでの再開を望む場合は、 前のコンテキストそのものを自分自身で回復するように設定する必要があります。 .Pp シグナルがプロセスに配信されると、プロセスの シグナルハンドラの実行が続く間 (または .Fn sigprocmask が呼び出されるまで)、新しいシグナルマスクが設置されます。 このマスクは、現在のシグナルマスク集合、配信されるシグナル、 呼び出されるハンドラに関連したシグナルマスクの和集合を取って形成されます。 .Pp .Fn sigaction は、 .Fa sig で指定したシグナルのアクションを割り当てます。 .Fa act が 0 でない場合は、アクション .Pf ( Dv SIG_DFL , .Dv SIG_IGN かハンドラルーチン)、および指定されたシグナルの配信時に 使用するマスクが指定されます。 .Fa oact が 0 でない場合は、そのシグナルのそれまでの処理情報がユーザに返されます。 .Pp シグナルハンドラが設置されると、通常の場合は .Fn sigaction を再度呼び出すか .Xr execve 2 を実行するまで、そのシグナルハンドラは設置されたままです。 .Fa sa_handler を .Dv SIG_DFL に設定することで、 シグナルごとに固有なデフォルトアクションにリセットすることができます。 デフォルトとは、プロセスの終了 (コアダンプが取られることもあります)、 アクションなし、プロセスの停止、プロセスの継続です。 それぞれのシグナルのデフォルトアクションについては、 下記のシグナルリストを参照してください。 .Fa sa_handler が .Dv SIG_DFL である場合、シグナルのデフォルトアクションはシグナルの破棄になります。 また、シグナルが保留になっている場合でも、シグナルがマスクされていても 保留中のシグナルは破棄されます。 .Fa sa_handler を .Dv SIG_IGN に設定すると、現在のシグナル実体と保留中のシグナル実体は無視されて 破棄されます。 .Pp オプションは、 .Ar sa_flags を設定することで指定できます。 それぞれのビットの意味は以下のとおりです: .Bl -tag -offset indent -width SA_RESETHANDXX .It Dv SA_NOCLDSTOP .Dv SIGCHLD シグナルの受信関数を設置する場合にこのビットを設定すると、 子プロセスが停止したときではなく、子プロセスが終了するときにのみ、 .Dv SIGCHLD シグナルが生成されます。 .It SA_NOCLDWAIT .Dv SIGCHLD シグナルで .Fn sigaction を呼び出す場合にこのビットを設定すると、システムは、呼び出し側プロセスの 子プロセスが終了したときにゾンビプロセスを作成しなくなります。 そのあと、呼び出し側プロセスが .Xr wait 2 かそれに相当する関数を実行すると、呼び出し側プロセスのすべて の子プロセスが終了するまでブロックし、次に .Va errno を .Er ECHILD に設定して -1 を返します。 .It Dv SA_ONSTACK このビットを設定すると、システムは、 .Xr sigaltstack 2 で指定された .Em シグナルスタック の上で、プロセスにシグナルを配信します。 .It Dv SA_NODEFER このビットを設定すると、配信済みシグナルのさらなる発生が、 ハンドラの実行中にマスクされなくなります。 .It Dv SA_RESETHAND このビットを設定すると、シグナルが配信された瞬間に、ハンドラが .Dv SIG_DFL にリセットされます。 .It Dv SA_RESTART 下の段落を参照してください。 .It Dv SA_SIGINFO このビットが設定されている場合、ハンドラ関数は、sigaction 構造体の .Dv sa_sigaction メンバが指すものと見なします。 ハンドラ関数は、先に示したプロトタイプもしくは後で示す .Sx 使用例 に一致しなくてはなりません。 このビットは、 .Dv SIG_DFL もしくは .Dv SIG_IGN を割り当てる時には設定してはいけません。 .El .Pp 次に挙げるシステムコールの実行中にシグナルが捕捉されると、 そのシステムコールの呼び出しは、 エラー .Er EINTR で強制終了されるか、要求より短いデータ転送で戻るか、または再開されます。 保留中のシステムコールの再開は、 .Ar sa_flags で .Dv SA_RESTART ビットを設定することで要求できます。 影響を受けるシステムコールは、 通信チャネルか遅いデバイス (端末など、通常ファイルではないもの) に対する .Xr open 2 , .Xr read 2 , .Xr write 2 , .Xr sendto 2 , .Xr recvfrom 2 , .Xr sendmsg 2 , .Xr recvmsg 2 と .Xr wait 2 , .Xr ioctl 2 です。 しかし、すでに実行されているシステムコールは再開されず、 部分的な処理成功の結果 (短い読取りカウントなど) を返します。 .Pp .Xr fork 2 か .Xr vfork 2 の後では、すべてのシグナル、シグナルマスク、シグナルスタック、 再開フラグ、割込みフラグが子プロセスに継承されます。 .Pp .Xr execve 2 は、捕捉されていたすべてのシグナルのデフォルトアクションを元に戻し、 すべてのシグナルをユーザスタックで受信されるようにリセットします。 無視されたシグナルは無視されたままです。 シグナルマスクは同じ状態のままです。 保留中のシステムコールを再開する設定のシグナルは、その再開の設定のままです。 .Pp 以下はすべてのシグナルのリストです。 名称は、インクルードファイル .Aq Pa signal.h にあるものと同じです: .Bl -column SIGVTALARMXX "create core imagexxx" .It Sy "名称 デフォルトアクション 説明" .It Dv SIGHUP No " プロセスの終了" " 端末ラインのハングアップ" .It Dv SIGINT No " プロセスの終了" " プログラムの割込み" .It Dv SIGQUIT No " コアイメージの作成" " プログラムの中断終了" .It Dv SIGILL No " コアイメージの作成" " 不正な命令" .It Dv SIGTRAP No " コアイメージの作成" " トラップのトレース" .It Dv SIGABRT No " コアイメージの作成" Ta Xr abort 3 の呼び出し (以前の .Dv SIGIOT ) .It Dv SIGEMT No " コアイメージの作成" " 命令実行のエミュレート" .It Dv SIGFPE No " コアイメージの作成" " 浮動小数例外" .It Dv SIGKILL No " プロセスの終了" " プログラムの強制終了" .It Dv SIGBUS No " コアイメージの作成" " バスエラー" .It Dv SIGSEGV No " コアイメージの作成" " セグメンテーション違反" .It Dv SIGSYS No " コアイメージの作成" " 存在しないシステムコールの呼び出し" .It Dv SIGPIPE No " プロセスの終了" " 読取り側がないパイプへの書込み" .It Dv SIGALRM No " プロセスの終了" " リアルタイムタイマの満了" .It Dv SIGTERM No " プロセスの終了" " ソフトウェア終了シグナル" .It Dv SIGURG No " シグナルの破棄" " 緊急状況がソケットに発生" .It Dv SIGSTOP No " プロセスの停止" " 停止 (捕捉も無視もできません)" .It Dv SIGTSTP No " プロセスの停止" " キーボードから生成された停止シグナル" .It Dv SIGCONT No " シグナルの破棄" " 停止後の継続" .It Dv SIGCHLD No " シグナルの破棄" " 子プロセスの状態変化" .It Dv SIGTTIN No " プロセスの停止" " バックグラウンドプロセスが制御端末から読み取ろうとした" .It Dv SIGTTOU No " プロセスの停止" " バックグラウンドプロセスが制御端末に書き込もうとした" .It Dv SIGIO No " シグナルの破棄" " 記述子への " .Tn I/O 可能 ( .Xr fcntl 2 参照) .It Dv SIGXCPU No " プロセスの終了" " cpu 制限時間の超過 (" .Xr setrlimit 2 参照) .It Dv SIGXFSZ No " プロセスの終了" " ファイルサイズ制限の超過 (" .Xr setrlimit 2 参照) .It Dv SIGVTALRM No " プロセスの終了" " 仮想時間アラーム (" .Xr setitimer 2 参照) .It Dv SIGPROF No " プロセスの終了" " プロファイリングタイマアラーム ( .Xr setitimer 2 参照) .It Dv SIGWINCH No " シグナルの破棄" " ウィンドウサイズの変化" .It Dv SIGINFO No " シグナルの破棄" " キーボードからのステータス要求" .It Dv SIGUSR1 No " プロセスの終了" " ユーザ定義シグナル 1" .It Dv SIGUSR2 No " プロセスの終了" " ユーザ定義シグナル 2" .El .Sh 注 .Fa act に指定する .Fa sa_mask フィールドでは、 .Dv SIGKILL や .Dv SIGSTOP をブロックできません。 ブロックしようとしても無視されます。 .Pp 以下の関数は、再入的であるかシグナルで割り込まれることがないかのどちらかで、 非同期シグナルでも安全です。 このため、アプリケーションは、シグナル受信関数から制限なく呼び出せます: .Pp ベースインタフェース .Pp .Fn _exit , .Fn access , .Fn alarm , .Fn cfgetispeed , .Fn cfgetospeed , .Fn cfsetispeed , .Fn cfsetospeed , .Fn chdir , .Fn chmod , .Fn chown , .Fn close , .Fn creat , .Fn dup , .Fn dup2 , .Fn execle , .Fn execve , .Fn fcntl , .Fn fork , .Fn fpathconf , .Fn fstat , .Fn fsync , .Fn getegid , .Fn geteuid , .Fn getgid , .Fn getgroups , .Fn getpgrp , .Fn getpid , .Fn getppid , .Fn getuid , .Fn kill , .Fn link , .Fn lseek , .Fn mkdir , .Fn mkfifo , .Fn open , .Fn pathconf , .Fn pause , .Fn pipe , .Fn raise , .Fn read , .Fn rename , .Fn rmdir , .Fn setgid , .Fn setpgid , .Fn setsid , .Fn setuid , .Fn sigaction , .Fn sigaddset , .Fn sigdelset , .Fn sigemptyset , .Fn sigfillset , .Fn sigismember , .Fn signal , .Fn sigpending , .Fn sigprocmask , .Fn sigsuspend , .Fn sleep , .Fn stat , .Fn sysconf , .Fn tcdrain , .Fn tcflow , .Fn tcflush , .Fn tcgetattr , .Fn tcgetpgrp , .Fn tcsendbreak , .Fn tcsetattr , .Fn tcsetpgrp , .Fn time , .Fn times , .Fn umask , .Fn uname , .Fn unlink , .Fn utime , .Fn wait , .Fn waitpid , .Fn write .Pp リアルタイムインタフェース .Pp .Fn aio_error , .Fn clock_gettime , .Fn sigpause , .Fn timer_getoverrun , .Fn aio_return , .Fn fdatasync , .Fn sigqueue , .Fn timer_gettime , .Fn aio_suspend , .Fn sem_post , .Fn sigset , .Fn timer_settime .Pp ANSI C インタフェース .Pp .Fn strcpy , .Fn strcat , .Fn strncpy , .Fn strncat そして多分他にもいくつか .Pp 拡張インタフェース .Pp .Fn strlcpy , .Fn strlcat .Pp 上のリストに記載されていないすべての関数は、シグナルに関して安全でない と考えられます。 つまり、そのような関数がシグナルハンドラから呼び出されるときの動作は、 未定義です。 しかし一般的に、シグナルハンドラはフラグを設定する以上のことは あまりするべきではなく、それ以外のアクションは安全ではありません。 .Pp また、大域変数 .Va errno のコピーを作成し、シグナルハンドラから戻る前にその値を戻すように するのはよいことです。 こうすることによって、シグナルハンドラの内部から呼ばれた関数によって .Va errno が設定されてしまうという副作用を防ぐことができます。 .Sh 戻り値 .Rv -std sigaction .Sh 使用例 ハンドラが一致する可能性のあるプロトタイプは 3 つあります: .Bl -tag -offset indent -width short .It ANSI C: .Ft void .Fn handler int ; .It 伝統的な BSD スタイル: .Ft void .Fn handler int "int code" "struct sigcontext *scp" ; .It POSIX の SA_SIGINFO: .Ft void .Fn handler int "siginfo_t *info" "ucontext_t *uap" ; .El .Pp フラグ中で SA_SIGINFO ビットが設定されている場合、 ハンドラ関数は SA_SIGINFO プロトタイプに一致しなくてはなりません。 その場合、 .Dv sigaction 構造体の .Dv sa_sigaction メンバがハンドラ関数を指していなければなりません。 この方法で SIG_DFL あるいは SIG_IGN を割り当ててはいけないことに 注意してください。 .Pp SA_SIGINFO フラグが設定されていない場合、ハンドラ関数は ANSI C もしくは伝統的な .Bx プロトタイプのどちらかに一致しなくてはならず、 .Dv sigaction 構造体の .Dv sa_handler メンバがハンドラ関数を指していなければなりません。 実際には、 .Fx は常に後者である .Bx プロトタイプの 3 つの引数を送りますし、ANSI C プロトタイプは そのサブセットになっていますので、どちらでも動作します。 .Fx インクルードファイルの .Dv sa_handler メンバ宣言は、(POSIX の要求に従い) ANSI C のものです。 そのため、 .Bx スタイルの関数のポインタの場合、警告メッセージを無くして コンパイルするにはキャストする必要があります。 伝統的な .Bx スタイルは移植性がなく、その機能性も SA_SIGINFO ハンドラの完全な部分集合になっていますので、 .Bx スタイルを使うことは推奨されていません。 .Pp .Fa sig 引数はシグナル番号で、 の .Dv SIG... 値のうちの 1 つです。 .Bx スタイルのハンドラの .Fa code 引数および SA_SIGINFO ハンドラへの .Dv info 引数の .Dv si_code メンバには、シグナルの発生理由を説明した数値コードが含まれています。 通常、この数値コードは にある .Dv SI_... 値の 1 つであるか、もしくはシグナルに特化したコード、すなわち SIGFPE に対する .Dv FPE_... 値です。 .Bx スタイルのハンドラの .Fa scp 引数は sigcontext 構造体のインスタンスを指しています。 .Pp POSIX SA_SIGINFO ハンドラの .Fa uap 引数は、ucontext_t のインスタンスを指しています。 .Sh エラー 以下のうち 1 つが発生すると、 .Fn sigaction はエラーになり、新しいシグナルハンドラは設置されません: .Bl -tag -width Er .It Bq Er EFAULT .Fa act か .Fa oact は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINVAL .Fa sig が、正しいシグナル番号になっていません。 .It Bq Er EINVAL .Dv SIGKILL か .Dv SIGSTOP のハンドラを無視するか提供しようとしました。 .El .Sh 規格 .Fn sigaction 関数呼び出しは、 .St -p1003.1-90 に適合しています。 .Dv SA_ONSTACK フラグと .Dv SA_RESTART フラグは、Berkeley の拡張機能です。 .Dv SIGTRAP , .Dv SIGEMT , .Dv SIGBUS , .Dv SIGSYS , .Dv SIGURG , .Dv SIGIO , .Dv SIGXCPU , .Dv SIGXFSZ , .Dv SIGVTALRM , .Dv SIGPROF , .Dv SIGWINCH , .Dv SIGINFO シグナルも同様です。 これらのシグナルは、 .Bx から派生したシステムのほとんどで使用できます。 .Dv SA_NODEFER フラグと .Dv SA_RESETHAND フラグは、その他のオペレーティングシステムとの下位互換性を保つためのものです。 .Dv SA_NOCLDSTOP フラグと .Dv SA_NOCLDWAIT フラグは、その他のオペレーティングシステムで一般的に見られるオプションです。 .Sh 関連項目 .Xr kill 1 , .Xr kill 2 , .Xr ptrace 2 , .Xr sigaltstack 2 , .Xr sigblock 2 , .Xr sigpause 2 , .Xr sigpending 2 , .Xr sigprocmask 2 , .Xr sigsetmask 2 , .Xr sigsuspend 2 , .Xr sigvec 2 , .Xr wait 2 , .Xr fpsetmask 3 , .Xr setjmp 3 , .Xr siginterrupt 3 , .Xr sigsetops 3 , .Xr ucontext 3 , .Xr tty 4 diff --git a/ja_JP.eucJP/man/man2/sigprocmask.2 b/ja_JP.eucJP/man/man2/sigprocmask.2 index 7947e2e788..10895ffb46 100644 --- a/ja_JP.eucJP/man/man2/sigprocmask.2 +++ b/ja_JP.eucJP/man/man2/sigprocmask.2 @@ -1,120 +1,123 @@ .\" 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. .\" .\" @(#)sigprocmask.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/sigprocmask.2,v 1.15 2002/10/04 11:31:00 robert Exp % +.\" %FreeBSD: src/lib/libc/sys/sigprocmask.2,v 1.16 2002/11/29 15:57:49 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt SIGPROCMASK 2 .Os .Sh 名称 .Nm sigprocmask .Nd 現在のシグナルマスクを操作する .Sh ライブラリ .Lb libc .Sh 書式 .In signal.h .Ft int -.Fn sigprocmask "int how" "const sigset_t * restrict set" \ - "sigset_t * restrict oset" +.Fo sigprocmask +.Fa "int how" +.Fa "const sigset_t * restrict set" +.Fa "sigset_t * restrict oset" +.Fc .Sh 解説 .Fn sigprocmask 関数は、現在のシグナルマスク (配信がブロックされているシグナル) の 調査や変更を行います。 シグナルは、現在のシグナルマスクセットに含まれる場合にブロックされます。 .Pp .Fa set が NULL ではない場合、 .Fn sigprocmask の操作は、パラメータ .Ar how の値によって決まります。 シグナルマスクは、指定した .Fa set と現在のマスクによって変更されます。 関数は、 .Aq Pa signal.h で定義される以下の値を使用して .Ar how で指定します。 .Bl -tag -width SIG_UNBLOCK .It Dv SIG_BLOCK 新しいマスクは、現在のマスクと指定した .Fa set の和集合になります。 .Pp .It Dv SIG_UNBLOCK 新しいマスクは、現在のマスクと指定した .Fa set の補集合の交わりになります。 .It Dv SIG_SETMASK 現在のマスクは、指定した .Fa set に置き換えられます。 .El .Pp .Fa oset が NULL でない場合、前のシグナルマスクの値に設定されます。 .Fa set が NULL である場合、 .Ar how の値が無効になり、マスクは未設定のまま残るので、 シグナルマスクを修正せずに検査できるようになります。 .Pp システムでは、 .Dv SIGKILL や .Dv SIGSTOP のブロックが許可されていません。 .Sh 戻り値 .Rv -std sigprocmask .Sh エラー 以下が発生すると、 .Fn sigprocmask 呼び出しはエラーになり、シグナルマスクは変更されません。 .Pp .Bl -tag -width Er .It Bq Er EINVAL .Fa how が、ここでリストに挙げた以外の値になっています。 .El .Sh 関連項目 .Xr kill 2 , .Xr sigaction 2 , .Xr sigsuspend 2 , .Xr fpsetmask 3 , .Xr sigsetops 3 .Sh 規格 .Fn sigprocmask 関数呼び出しは、 .St -p1003.1-90 に適合しています。 diff --git a/ja_JP.eucJP/man/man2/socketpair.2 b/ja_JP.eucJP/man/man2/socketpair.2 index 7099e21357..36d7e5b453 100644 --- a/ja_JP.eucJP/man/man2/socketpair.2 +++ b/ja_JP.eucJP/man/man2/socketpair.2 @@ -1,95 +1,95 @@ .\" 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. .\" .\" @(#)socketpair.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/socketpair.2,v 1.13 2001/10/01 16:09:03 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/socketpair.2,v 1.14 2002/11/29 15:57:49 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt SOCKETPAIR 2 .Os .Sh 名称 .Nm socketpair .Nd 接続されたソケットのペアの作成 .Sh ライブラリ .Lb libc .Sh 書式 .In sys/types.h .In sys/socket.h .Ft int .Fn socketpair "int d" "int type" "int protocol" "int *sv" .Sh 解説 .Fn socketpair 関数は、任意に指定された .Fa protocol を使用し、指定された .Fa type の、名前を持たない、接続されたソケットのペアを、指定されたドメイン .Fa d に作成します。 このとき、ペアは指定できません。 新しいソケットの参照に使用された記述子は、 .Fa sv Ns [0] と .Fa sv Ns [1] に戻されます。 2 つのソケットは区別できません。 .Sh 戻り値 .Rv -std socketpair .Sh エラー 以下のような場合、処理を失敗します: .Bl -tag -width Er .It Bq Er EMFILE プロセスで使用されている記述子が多すぎます。 .It Bq Er EAFNOSUPPORT 指定されたアドレスファミリが、この機械でサポートされていません。 .It Bq Er EPROTONOSUPPORT 指定したプロトコルが、この機械でサポートされていません。 .It Bq Er EOPNOTSUPP 指定したプロトコルでの、ソケットペアの作成がサポートされていません。 .It Bq Er EFAULT アドレス .Fa sv が、プロセスアドレス空間の有効な部分を指定していません。 .El .Sh 関連項目 .Xr pipe 2 , .Xr read 2 , .Xr write 2 .Sh バグ この呼び出しは、現在のところ -.Tn UNIX +.Ux ドメインのみで実装されています。 .Sh 歴史 .Fn socketpair 関数呼び出しは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/statfs.2 b/ja_JP.eucJP/man/man2/statfs.2 index bb9f1188f8..421ef4be97 100644 --- a/ja_JP.eucJP/man/man2/statfs.2 +++ b/ja_JP.eucJP/man/man2/statfs.2 @@ -1,181 +1,181 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)statfs.2 8.5 (Berkeley) 5/24/95 -.\" %FreeBSD: src/lib/libc/sys/statfs.2,v 1.18 2001/10/01 16:09:03 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/statfs.2,v 1.19 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd May 24, 1995 .Dt STATFS 2 .Os .Sh 名称 .Nm statfs .Nd ファイルシステムの統計を入手 .Sh ライブラリ .Lb libc .Sh 書式 .In sys/param.h .In sys/mount.h .Ft int .Fn statfs "const char *path" "struct statfs *buf" .Ft int .Fn fstatfs "int fd" "struct statfs *buf" .Sh 解説 .Fn statfs は、マウントされているファイルシステムの情報を戻します。 .Fa path は、マウントされているファイルシステム内の任意のファイルのパス名です。 .Fa buf は、以下のように定義されている .Fn statfs の構造体のポインタです: .Bd -literal typedef struct fsid { int32_t val[2]; } fsid_t; /* ファイルシステム ID 型 */ /* * ファイルシステム統計 */ #define MFSNAMELEN 16 /* ヌルを含むファイルシステム名の長さ */ #define MNAMELEN 90 /* 戻り値の用のバッファの長さ */ struct statfs { long f_bsize; /* ファイルシステムのブロックサイズ */ long f_iosize; /* 最適な転送ブロックサイズ */ long f_blocks; /* ファイルシステム上の合計ブロックサイズ */ long f_bfree; /* ファイルシステム上の利用可能なブロック */ long f_bavail; /* スーパユーザ以外が利用可能なブロック */ long f_files; /* ファイルシステム上の合計ノード数 */ long f_ffree; /* ファイルシステム上の利用可能なノード数 */ fsid_t f_fsid; /* ファイルシステム ID 番号 */ uid_t f_owner; /* ファイルシステムをマウントしたユーザ */ int f_type; /* ファイルシステムのタイプ */ int f_flags; /* マウントフラグのコピー */ long f_syncwrites; /* マウントしてからの同期書込み数 */ long f_asyncwrites; /* マウントしてからの非同期書込み数 */ char f_fstypename[MFSNAMELEN];/* ファイルシステムタイプ名 */ char f_mntonname[MNAMELEN]; /* マウントポイント */ long f_syncreads; /* マウント以降の同期読取り数 */ long f_asyncreads; /* マウント以降の非同期読取り数 */ char f_mntfromname[MNAMELEN]; /* マウントされたファイルシステム */ }; .Ed 戻される可能性があるフラグは以下のとおりです: .Bl -tag -width MNT_SYNCHRONOUS .It Dv MNT_RDONLY ファイルシステムが読取り専用でマウントされています。 スーパユーザでも書込めません。 .It Dv MNT_NOEXEC そのファイルシステムからファイルを実行できません。 .It Dv MNT_NOSUID ファイルの setuid ビットと setgid ビットが、 ファイルの実行時に受け入れられません。 .It Dv MNT_NODEV ファイルシステムの特殊ファイルを開けません。 .It Dv MNT_SYNCHRONOUS ファイルシステムへのすべての入出力が、同期を取って実行されます。 .It Dv MNT_ASYNC ファイルシステムの入出力が、同期を取って実行されません。 .It Dv MNT_LOCAL ファイルシステムがローカルに常駐しています。 .It Dv MNT_QUOTA ファイルシステムでクォータが有効になっています。 .It Dv MNT_ROOTFS ルートファイルシステムを確認します。 .It Dv MNT_EXRDONLY ファイルシステムが、読取り専用でエクスポートされます。 .It Dv MNT_EXPORTED ファイルシステムが、読み書きの両方でエクスポートされます。 .It Dv MNT_DEFEXPORTED ファイルシステムが、読み書きの両方で 任意のインターネットホストにエクスポートされます。 .It Dv MNT_EXPORTANON ファイルシステムが、すべてのリモートアクセスを匿名ユーザにマップします。 .It Dv MNT_EXKERB ファイルシステムが、Kerberos uid マッピングでエクスポートされます。 .El .Pp 特定のファイルシステムで定義されていないフィールドは、-1 に設定されます。 .Fn fstatfs は、記述子 .Fa fd で参照されるオープンファイルに対して同じ情報を戻します。 .Sh 戻り値 .Rv -std .Sh エラー .Fn statfs は、以下のうちの 1 つ以上が真である場合にエラーとなります: .Bl -tag -width Er .It Bq Er ENOTDIR .Fa path のパスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG .Fa path の構成要素が 255 文字を越えているか、または .Fa path 全体が 1023 文字を越えています。 .It Bq Er ENOENT .Fa path の参照するファイルが存在しません。 .It Bq Er EACCES .Fa path には、検索が許可されていないディレクトリが含まれています。 .It Bq Er ELOOP .Fa path を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EFAULT .Fa buf か .Fa path が、不正なアドレスを指しています。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .El .Pp .Fn fstatfs は、以下のうち 1 つ以上が真である場合にエラーとなります: .Bl -tag -width Er .It Bq Er EBADF .Fa fd が有効オープンファイル記述子ではありません。 .It Bq Er EFAULT .Fa buf が不正なアドレスを指しています。 .It Bq Er EIO ファイルシステムに読み書きしている間に .Tn I/O (入出力) エラーが発生しました。 .El .Sh 歴史 .Fn statfs 関数は、 .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/sync.2 b/ja_JP.eucJP/man/man2/sync.2 index 9433b0bea8..e518bc5b6d 100644 --- a/ja_JP.eucJP/man/man2/sync.2 +++ b/ja_JP.eucJP/man/man2/sync.2 @@ -1,75 +1,75 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)sync.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/sync.2,v 1.12 2001/10/01 16:09:03 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/sync.2,v 1.13 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt SYNC 2 .Os .Sh 名称 .Nm sync .Nd ファイルシステムの更新をスケジュールする .Sh ライブラリ .Lb libc .Sh 書式 .In unistd.h .Ft void .Fn sync void .Sh 解説 .Fn sync 関数は、ブロックバッファキャッシュのダーティな (更新された) バッファを ディスクに強制的に書き出します。 カーネルはこの情報をメモリ上に溜めこみ、システムが要求する ディスク I/O 転送の数を減らします。 システムがクラッシュするとキャッシュの情報が失われてしまうため、 ユーザプロセス .Xr syncer 4 は .Fn sync を頻繁に呼び出します (約 30 秒ごと)。 .Pp それぞれのファイル記述子属性の同期を取るには、関数 .Xr fsync 2 を使用します。 .Sh 関連項目 .Xr fsync 2 , .Xr syncer 4 , .Xr sync 8 .Sh バグ .Fn sync は、バッファが完全にフラッシュされる前に戻ることがあります。 .Sh 歴史 .Fn sync 関数呼び出しは、 .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/undelete.2 b/ja_JP.eucJP/man/man2/undelete.2 index 045a8e05ae..cf79423cb7 100644 --- a/ja_JP.eucJP/man/man2/undelete.2 +++ b/ja_JP.eucJP/man/man2/undelete.2 @@ -1,102 +1,102 @@ .\" Copyright (c) 1994 .\" Jan-Simon Pendry .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)undelete.2 8.4 (Berkeley) 10/18/94 -.\" %FreeBSD: src/lib/libc/sys/undelete.2,v 1.12 2001/10/01 16:09:03 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/undelete.2,v 1.13 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd October 18, 1994 .Dt UNDELETE 2 .Os .Sh 名称 .Nm undelete .Nd 削除したファイルの回復 .Sh ライブラリ .Lb libc .Sh 書式 .In unistd.h .Ft int .Fn undelete "const char *path" .Sh 解説 .Fn undelete 関数は、 .Fa path で指定された削除済みファイルを回復しようとします。 現在は、指定されたオブジェクトがユニオンファイルシステムの ホワイトアウトである場合に限って動作します。 このシステムコールはホワイトアウトを削除し、 ユニオンスタックの下層にあるオブジェクトが表示されるようにします。 .Pp 最終的に .Fn undelete 機能は、その他のログ構造ファイルシステムのような削除済みファイルを 回復できるファイルシステムに拡張されるでしょう。 .Sh 戻り値 .Rv -std undelete .Sh エラー .Fn undelete は、以下の場合にエラーとなります: .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er EEXIST パスがホワイトアウトを参照していません。 .It Bq Er ENOENT 指定されたホワイトアウトが存在しません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er EACCES 回復するファイルを含むディレクトリについて、書込み許可が拒否されています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EPERM ファイルを含むディレクトリがスティッキーとマークされ、 そのディレクトリが、有効なユーザ ID に所有されていません。 .It Bq Er EIO ディレクトリエントリの更新している間に入出力エラーが発生しました。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr unlink 2 , .Xr mount_unionfs 8 .Sh 歴史 .Fn undelete 関数呼び出しは、 .Bx 4.4 Lite ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/unlink.2 b/ja_JP.eucJP/man/man2/unlink.2 index 84cb451060..981fe509b1 100644 --- a/ja_JP.eucJP/man/man2/unlink.2 +++ b/ja_JP.eucJP/man/man2/unlink.2 @@ -1,113 +1,113 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)unlink.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/unlink.2,v 1.13 2001/10/01 16:09:03 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/unlink.2,v 1.14 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt UNLINK 2 .Os .Sh 名称 .Nm unlink .Nd ディレクトリエントリの削除 .Sh ライブラリ .Lb libc .Sh 書式 .In unistd.h .Ft int .Fn unlink "const char *path" .Sh 解説 .Fn unlink 関数は、 .Fa path で指定されたリンクをディレクトリから削除し、 そのリンクで参照されていたファイルのリンク数を減らします。 ファイルのリンク数が 0 になり、ファイルを開いているプロセスがなくなると、 ファイルに関連するすべてのリソースが再利用されます。 最後のリンクが削除されたときに、ファイルを開いているプロセスが 1 つ以上あると、リンクは削除されますが、ファイルの削除は、 そのファイルへのすべての参照が閉じられるまで延期されます。 .Fa path は、ディレクトリであってはなりません。 .Sh 戻り値 .Rv -std unlink .Sh エラー .Fn unlink は、以下の場合に処理を失敗します。 .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたファイルが存在しません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er EACCES 削除するリンクを含むディレクトリで、書込み許可が拒否されています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EPERM 指定されたファイルがディレクトリになっています。 .It Bq Er EPERM ファイルを含むディレクトリがスティッキーとマークされ、 削除するファイルを含むディレクトリまたはファイルが、 有効なユーザ ID に所有されていません。 .It Bq Er EBUSY リンクを削除するエントリが、 マウント済みファイルシステムのマウントポイントです。 .It Bq Er EIO ディレクトリエントリの削除中か、inode の割り当て解除中に 入出力エラーが発生しました。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr close 2 , .Xr link 2 , .Xr rmdir 2 , .Xr symlink 7 .Sh 歴史 .Fn unlink 関数呼出しは、 .At v6 で登場しました。 .Pp 従来の .Fn unlink システムコールでは、スーパユーザがディレクトリを削除できてしまい、 これによってファイルシステムの完全性が破壊されることがありました。 それを実行することは、すでに許可されなくなっています。 diff --git a/ja_JP.eucJP/man/man2/utimes.2 b/ja_JP.eucJP/man/man2/utimes.2 index fd9c7ac93d..4312bca247 100644 --- a/ja_JP.eucJP/man/man2/utimes.2 +++ b/ja_JP.eucJP/man/man2/utimes.2 @@ -1,184 +1,184 @@ .\" %NetBSD: utimes.2,v 1.13 1999/03/22 19:45:11 garbled Exp % .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)utimes.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/utimes.2,v 1.14 2002/08/09 11:36:48 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/utimes.2,v 1.15 2002/12/12 17:25:53 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt UTIMES 2 .Os .Sh 名称 .Nm utimes , .Nm lutimes , .Nm futimes .Nd ファイルアクセス時刻と更新時刻の設定 .Sh ライブラリ .Lb libc .Sh 書式 .In sys/time.h .Ft int .Fn utimes "const char *path" "const struct timeval *times" .Ft int .Fn lutimes "const char *path" "const struct timeval *times" .Ft int .Fn futimes "int fd" "const struct timeval *times" .Sh 解説 .Fa path で指定したファイルか .Fa fd が参照するファイルのアクセス時刻と更新時刻を、引数 .Fa times で指定されたように変更します。 .Pp .Fa times が .Dv NULL である場合、アクセス時刻と更新時刻は現在の時刻に設定されます。 呼び出し側はファイルの所有者でファイルの書込み権があるか、 スーパユーザである必要があります。 .Pp .Fa times が NULL 以外である場合、 .Fa times は 2 つの timeval 構造体の配列を指していることが前提となります。 アクセス時刻は最初の要素に、更新時刻は次の要素に 設定します。 ( .Dv UFS2 のように) ファイルの誕生 (生成) 時刻をサポートしている ファイルシステムでは、2 番目の要素が現在設定されている誕生時刻よりも 前であれば、誕生時刻は 2 番目の要素の値で設定されます。 誕生時刻と更新時刻の両方を設定する場合は、2 回の呼び出しが必要です。 最初に誕生時刻を設定し、次に (より新しいであろう) 更新時刻を設定します。 理想的には、一度に 3 つの時刻すべてを設定できるシステムコールが 追加されるでしょう。 呼び出し側はファイルの所有者であるかスーパユーザである必要があります。 .Pp どちらの場合でも、ファイルの inode 変更時刻は現在の時刻に設定されます。 .Pp .Fn lutimes は指定したファイルがシンボリックリンク以外では .Fn utimes と同じです。 シンボリックリンクの場合 .Fn lutimes はリンクのアクセス時刻と更新時刻を変更するのに対し、 .Fn utimes はリンクが参照するファイルの時刻を変更します。 .Sh 戻り値 .Rv -std .Sh エラー .Fn utimes と .Fn lutimes は、以下のような場合にエラーとなります: .Bl -tag -width Er .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 あるいは .Fa times 引数が NULL で、プロセスの実効ユーザ ID がファイルの所有者と一致せず、 しかもスーパユーザでもなく、書込みアクセスが拒否されました。 .It Bq Er EFAULT .Fa path または .Fa times は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EIO 変更される inode の読み書きの間に入出力エラーが発生しました。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er ENAMETOOLONG パス名の構成要素が .Dv NAME_MAX 文字を越えているか、またはパス名全体 .Dv PATH_MAX 文字を越えています。 .It Bq Er ENOENT 指定したファイルが存在しません。 .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er EPERM .Fa times 引数が NULL ではなく、呼び出し側プロセスの実効ユーザ ID が、 ファイルの所有者と一致せず、しかもスーパユーザではありません。 .It Bq Er EROFS そのファイルを含むファイルシステムが、 読取り専用でマウントされています。 .El .Pp .Fn futimes は、以下の場合にエラーとなります: .Bl -tag -width Er .It Bq Er EBADF .Fa fd が、有効な記述子を参照していません。 .El .Pp すべての関数は、以下の場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EACCES .Fa times 引数が .Dv NULL であり、プロセスの実効ユーザ ID がファイルの所有者と一致せず、 しかもスーパユーザでもなく、書込みアクセスが拒否されました。 .It Bq Er EFAULT .Fa times は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EIO 変更される inode の読み書き中に入出力エラーが発生しました。 .It Bq Er EPERM .Fa times 引数が .Dv NULL ではなく、呼び出し側プロセスの実効ユーザ ID が、 ファイルの所有者と一致せず、しかもスーパユーザでもありません。 .It Bq Er EROFS そのファイルを含むファイルシステムが読取り専用でマウントされています。 .El .Sh 関連項目 .Xr stat 2 , .Xr utime 3 .Sh 歴史 .Fn utimes 関数は .Bx 4.2 で登場しました。 .Fn futimes 関数と .Fn lutimes 関数は .Fx 3.0 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man5/amd.conf.5 b/ja_JP.eucJP/man/man5/amd.conf.5 index 9d1798d096..b8469eb3ec 100644 --- a/ja_JP.eucJP/man/man5/amd.conf.5 +++ b/ja_JP.eucJP/man/man5/amd.conf.5 @@ -1,801 +1,801 @@ .\" .\" Copyright (c) 1997-1999 Erez Zadok .\" Copyright (c) 1990 Jan-Simon Pendry .\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" .\" %Id: amd.conf.5,v 1.3 1999/03/30 17:23:08 ezk Exp % -.\" %FreeBSD: src/contrib/amd/scripts/amd.conf.5,v 1.12 2001/08/07 15:48:28 ru Exp % +.\" %FreeBSD: src/contrib/amd/scripts/amd.conf.5,v 1.13 2002/12/12 17:25:52 ru Exp % .\" .\" $FreeBSD$ .\" .Dd April 7, 1997 .Dt AMD.CONF 5 .Os .Sh 名称 .Nm amd.conf .Nd amd コンフィギュレーションファイル .Sh 書式 .Nm .Sh 解説 .Nm ファイルは amd のコンフィギュレーションファイルであり、 am-utils 一式に含まれます。 .Pp .Nm は、自動マウントプログラム .Xr amd 8 用の実行時コンフィギュレーション情報を含んでいます。 .Sh ファイルフォーマット このファイルはセクションとパラメータから成ります。 セクションは角括弧で囲んだセクション名で始まり、 次のセクションが開始するかファイルの終りに達するまで続きます。 セクションには .Sq name = value という形式のパラメータが含まれます。 .Pp このファイルは行指向です。すなわち、改行までの各行は、 1 つのコメント、セクション名あるいはパラメータを表します。 継続行を記述する方法はありません。 .Pp セクション名、パラメータ名及びその値は、大文字小文字を区別します。 .Pp パラメータ中の最初の等号のみ重要な意味を持ちます。 最初の等号の前後にある空白は取り除かれます。 セクション及びパラメータ名の中の先頭、末尾あるいは途中にある空白は 意味を持ちません。 パラメータ値の先頭や末尾にある空白は取り除かれます。 パラメータ値内部に空白を置くことはできません。 ただし、 .Sq name = Qq some\ value のように、パラメータ値全体を二重引用符でくくった場合を除きます。 .Pp 井桁記号 (#) で始まる行は無視されます。 空白文字のみ含む行も同じく無視されます。 .Pp パラメータ記述において等号に続く値は文字列ないしブール値です。 文字列の場合、空白を含まなければ引用符は不要です。 ブール値の場合は yes あるいは no と記述します。 すべての値において大文字小文字が区別されます。 キャッシュタイムアウトのような一部の項目は数値をとります。 .Sh セクション .Ss "[global] セクション) このセクションのパラメータは、 .Nm amd 全体に適用されるか、または、これに続くすべての通常マップに適用されます。 1 つのコンフィギュレーションファイルにはグローバルセクションをただ一つだけ 定義すべきです。 .Pp このセクションはコンフィギュレーションファイル中の最初に記述しておくことを 強く推奨します。 もしそうしなければ、グローバルセクションより先に記述された 通常マップセクションでは、後に定義されるグローバルな値を利用できません。 .Ss "通常 [/map] セクション) 通常の (グローバルでない) セクションのパラメータは、単一のマップエントリに 適用されます。例えば、マップセクション .Bq Pa /homes が定義されていると、それに続くすべてのパラメータは、 amd が管理しているマウントポイント .Pa /homes に適用されます。 .Sh パラメータ .Ss "すべてのセクションに共通のパラメータ) 以下のパラメータは、グローバルセクションと特定のマップセクションの いずれにおいても指定できます。 特定のマップセクションで指定されたエントリは、 デフォルト値あるいはグローバルセクションで定義された値を上書きします。 そのような共通のパラメータがグローバルセクション中でのみ指定されている場合は、 それに続くすべての通常マップセクションにその指定が適用されます。 .Bl -tag -width 4n .It Ic browsable_dirs Xo (文字列、デフォルト = no) .Xc .Qq yes にすると、amd のトップレベルのマウントポイントが .Xr readdir 3 呼び出しでブラウズ可能になります。 つまり、例えば .Xr ls 1 .\" ↑原文は ls 3 だったが ls 1 に直した sakai@jp.freebsd.org .\" revision 1.6 でも直ってます。 を実行することでそのディレクトリでどんなキーがマウント可能か 知ることができるようになります。 必ずしもすべてのエントリが .Xr readdir 3 に対して見えるようになるわけではありません。 .Qq Pa /default エントリやワイルドカードエントリ、さらに .Qq Pa / を含むエントリは見えるようになりません。 もしこのオプションに対して .Qq full を指定すれば、 .Qq Pa /default 以外はすべて見えるようになります。 注意: もし .Qq ls -l や .Qq ls -F のような .Xr stat 2 を行おうとするコマンドを走らせると、 .Nm amd はそのマップ中の .Em すべての エントリをマウントしようとします。 これはよく .Em mount storm と呼ばれます。 .It Ic map_options Xo (文字列、デフォルト = オプションなし) .Xc このオプションは、例えば .Ql cache\&:\&=all のように、 .Xr amd 8 のコマンドラインでマップオプションを指定するのと同じ働きをします。 .It Nm map_type Xo (文字列、デフォルト = 全マップタイプを検索) .Xc このオプションが指定されると、amd は指定されたタイプに対するマップのみ 初期化します。 amd のデフォルトのマップ検索は時間がかかるうえ、 使っていなくても NIS を初期化してしまうといった 望まない副作用をもつことがありますが、 そのような事態を避けるのにこのオプションが有効です。 指定可能な値は以下のものです。 .Pp .Bl -tag -width "nisplus" -compact .It Ic file 通常ファイル .It Ic hesiod MIT の hesiod ネームサービス .It Ic ldap 軽量ディレクトリアクセスプロトコル .It Ic ndbm (新しい) dbm 形式のハッシュファイル .It Ic nis ネットワークインフォメーションサービス (バージョン 2) .It Ic nisplus ネットワークインフォメーションサービス プラス (バージョン 3) .It Ic passwd ローカルのパスワードファイル .It Ic union ユニオンマップ .El .It Ic mount_type Xo (文字列、デフォルト = nfs) .Xc amd のすべてのマウントタイプで、デフォルトでは .Tn NFS です。つまり、実行しているローカルホストに対して、 .Xr amd 8 はマップのマウントポイントにおける .Tn NFS サーバとなります。 もし .Qq autofs を指定すると、amd はそのマウントポイントにおける autofs サーバになります。 .It Ic search_path Xo (文字列、デフォルト = サーチパスなし) .Xc ファイルマップに対するサーチパスを (コロンで区切った形式で) 指定します。 サーチパスを用いることで、 各サイトはローカルなマップのカスタマイズや上書きが可能になり、 必要に応じていくつかの場所にマップを分散配置させることができます。 .El .Ss "グローバルセクションにのみ適用されるパラメータ) .Bl -tag -width 4n .It Ic arch Xo (文字列、デフォルト = コンパイル時の値) .Xc .Nm amd の変数 .Va arch の値を上書きできます。 .It Ic auto_dir Xo (文字列、デフォルト = /a) .Xc .Nm amd の .Fl a オプションと同じです。 実際のマウントポイント用に amd がサブディレクトリを作成する プライベートディレクトリを設定します。 .It Ic cache_duration Xo (数値、デフォルト = 300) .Xc .Nm amd の .Fl c オプションと同じです。 検索されたマップエントリがキャッシュ中に残る秒数を設定します。 .It Ic cluster Xo (文字列、デフォルト = クラスタなし) .Xc .Nm amd の .Fl C オプションと同じです。使用する、別の .Tn HP-UX クラスタを指定します。 .It Ic debug_options Xo (文字列、デフォルト = デバッグオプションなし) .Xc .Nm amd の .Fl D オプションと同じです。 .Nm amd のデバッグオプションを指定します。 am-utils が .Fl -enable-debug option を用いてデバッグ機能付きで構築されている場合のみ有効です。 .Qq mem オプションだけは .Fl -enable-debug=mem によってオンにできます。 これら以外の場合、デバッグオプションは無視されます。 オプションはコンマで区切ります。 先頭に文字列 .Qq no を付けることでその意味を反転できます。 サポートされているデバッグオプション一覧を得るには .Nm amd Fl v を実行して下さい。 取りうる値は以下の通りです。 .Pp .Bl -tag -width "daemon" -compact .It Ic all 全オプション .It Ic amq .Xr amq 8 に登録する .It Ic daemon デーモンモードに移行する .It Ic fork サーバを fork する .It Ic full プログラムトレース .It Ic info info サービスに固有のデバッグ情報 (hesiod, nis など) .It mem メモリアロケーションをトレースする .It Ic mtab ローカルの .Pa ./mtab ファイルを用いる .It Ic str 文字列操作のデバッグ .It Ic test 完全なデバッグモードだがデーモンにしない .It Ic trace プロトコルのトレース .El .It Ic dismount_interval Xo (数値、デフォルト = 120) .Xc .Nm amd の .Fl w オプションと同じです。 キャッシュ期間を超えたファイルシステムのマウントを外そうとするまでの時間を 秒単位で指定します。 .It Ic fully_qualified_hosts Xo (文字列、デフォルト = no) .Xc .Qq yes に設定すると、 .Xr amd 8 は完全なホスト名 (fully-qualified host name) を用いて RPC 認証を行ないます。 システムによってはこの仕組みが必要です。 特にドメインにまたがるマウントを行う場合に必要となります。 この機能を有効にするため、 .Xr amd 8 の変数 .Va ${hostd} が用いられます。 .Va ${domain} は空であってはいけません。 .It Ic hesiod_base Xo (文字列、デフォルト = automount) .Xc hesiod マップのためのベース名を指定します。 .It Ic karch Xo (文字列、デフォルト = システムのカーネルアーキテクチャ) .Xc .Nm amd の .Fl k オプションと同じです。 システムのカーネルアーキテクチャを上書き指定できます。 例えば Sun (Sparc) マシンに便利です。 この場合、一つの .Xr amd 8 バイナリを作成し、それを複数のマシンで走らせますが、それぞれに 正しい .Va karch 変数 (例えば sun4c, sun4m, sun4u など) を設定したいと思うでしょう。 注意: もしこのオプションを指定しなければ、 .Xr amd 8 は .Xr uname 3 を用いてそのマシンのカーネルアーキテクチャを判別します。 .It Ic ldap_base Xo (文字列、デフォルト = 未設定) .Xc LDAP のためのベース名を指定します。 .It Ic ldap_cache_maxmem Xo (数値、デフォルト = 131072) .Xc LDAP エントリをキャッシュするために amd が使用する最大メモリ量を指定します。 .It Ic ldap_cache_seconds Xo (数値、デフォルト = 0) .Xc エントリをキャッシュに保持する秒数を指定します。 .It Nm ldap_hostports Xo (文字列、デフォルト = 未設定) .Xc 国名や組織名といった LDAP 固有の値を指定します。 .It Ic local_domain Xo (文字列、デフォルト = サブドメインなし) .Xc .Nm amd の .Fl d オプションと同じです。 ローカルのドメイン名を指定します。 このオプションが与えられない場合、 完全なホスト名から最初の要素を取り除くことでドメイン名を決定します。 .It Ic log_file Xo (文字列、デフォルト = /dev/stderr) .Xc .Nm amd の .Fl l オプションと同じです。 .Xr amd 8 のイベントログを記録するファイル名を指定します。 文字列 .Pa /dev/stderr を指定すると、 .Xr amd 8 はイベントを標準エラー出力ファイル記述子に送ります。 もし文字列 .Pa syslog を指定すると、 .Xr amd 8 はシステムログ記録機構 .Xr syslogd 8 を用いてイベントを記録します。 デフォルトで用いられる syslog ファシリティは .Ev LOG_DAEMON です。 これを変更するには、ログファイル名に続いて、単一のコロンで区切って ファシリティ名を記述します。例えば .Pa logfile として文字列 .Qq syslog:local7 を指定すると、 .Xr amd 8 は .Ev LOG_LOCAL7 ファシリティを用いて .Xr syslog 3 経由でメッセージを記録します (そのファシリティが当該システムに存在する場合)。 .It Ic log_options Xo (文字列、デフォルト = ロギングオプションなし) .Xc .Nm amd の .Fl x オプションと同じです。 .Xr amd 8 のロギングオプションを指定します。 複数のオプションはコンマで区切ります。 先頭に .Dq no をつけることで、その意味を反転させることができます。 ロギングオプション .Dq debug は、 am-utils が .Fl -enable-debug 付きで構築された場合のみ利用可能です。 .Nm amd Fl v を実行するとサポートされているデバッグオプションの一覧が得られます。 指定可能な値は以下の通りです。 .Pp .Bl -tag -width "warning" -compact .It Ic all すべてのメッセージ .It Ic debug デバッグメッセージ .It Ic error 重大ではないシステムエラー .It Ic fatal 重大なエラー .It Ic info 参考情報 .It Ic map マップエラー .It Ic stats より詳細な統計情報 .It Ic user 重大ではないユーザエラー .It Ic warn 警告 .It Ic warning 警告 .El .It Ic nfs_retransmit_counter Xo (数値、デフォルト = 110) .Xc .Xr amd 8 の .Fl t Ar interval.counter オプションの .Ic counter 部と同じです。 再送カウンタの値を 1/10 秒単位で指定します。 .It Ic nfs_retry_interval Xo (数値、デフォルト = 8) .Xc .Xr amd 8 の .Fl t Ar interval.counter オプションの .Ic interval 部と同じです。 NFS/RPC/UDP 再試行間隔を 1/10 秒単位で指定します。 .It Ic nis_domain Xo (文字列、デフォルト = ローカル NIS ドメイン名) .Xc .Nm amd の .Fl y オプションと同じです。 .Tn NIS マップを取得するために、別の .Tn NIS ドメインを指定します。 デフォルトはシステムのドメイン名です。 .Tn NIS サポートが利用可能でない場合、このオプションは無視されます。 .It Ic normalize_hostnames Xo (ブール値、デフォルト = no) .Xc .Nm amd の .Fl n オプションと同じです。 .Dq yes を指定すると、 .Va ${rhost} の参照先の名前は、前もってホストデータベースからの相対値に正規化されます。 別名 (エイリアス) を .Qq 公式な 名前に変換する効果があります。 .It Ic os Xo (文字列、デフォルト = コンパイル時の値) .Xc .Nm amd の .Fl O オプションと同じです。 コンパイル時に決まったオペレーティングシステム名を上書きできます。 以前との互換性を保つためには組み込み済みの名前はふさわしくない、 という場合に便利です。 例えば、もし組み込まれた名前が .Dq sunos5 の場合、これを上書きして .Dq sos5 とすることで、後者の OS 名を前提に書かれた以前のマップを利用できます。 .It Ic osver Xo (文字列、デフォルト = コンパイル時の値) .Xc .Nm amd の .Fl o オプションと同じです。 コンパイル時に決まったオペレーティングシステムのバージョン番号を 上書きします。 以前との互換性を保つためには組み込み済みのバージョンはふさわしくない、 という場合に便利です。 例えば、もし組み込まれたバージョン番号が .Dq 2.5.1 の場合、これを上書きして .Dq 5.5.1 とすることで、後者のバージョンを前提に書かれた以前のマップを利用できます。 .It Ic pid_file Xo (文字列、デフォルト = /dev/stdout) .Xc 実行しているデーモンのプロセス ID を格納するファイルを指定します。 これを指定しない場合、 .Xr amd 8 は自分のプロセス ID を標準出力にのみ書き出します。 実行後に .Xr amd 8 を kill する際に便利です。 注意: 実行中の .Xr amd 8 のプロセス ID は .Nm amq Fl p によっても得られます。 このファイルは .Ar print_pid オプションがオンの場合のみ使用されます。 .It Ic plock Xo (ブール値、デフォルト = yes) .Xc .Nm amd の .Fl S オプションと同じです。 .Dq yes を指定すると、実行中の .Xr amd 8 の実行可能ページをメモリ上にロックします。 .Xr plock 3 をサポートしているシステムでは、 .Xr amd 8 プロセスをメモリ上にロックすることで .Xr amd 8 の性能を向上させることができます。 このようにして、オペレーティングシステムが必要に応じて .Xr amd 8 プロセスをスケジュールしたり、ページアウトさせたり、スワップさせたりする 可能性を減らします。 これにより .Xr amd 8 の性能は向上しますが、その反面、 .Xr amd 8 プロセスが使用しているメモリが予約される (他のプロセスがそのメモリを使えなくなる) という代償もあります。 .It Ic portmap_program Xo (数値、デフォルト = 300019) .Xc 公式の番号とは別の、ポートマップ RPC プログラム番号を指定します。 これは複数の .Xr amd 8 プロセスを実行させる場合に便利です。 例えば、メインの .Xr amd 8 プロセスに全く影響を与えることなく、別の .Xr amd 8 を .Dq test モードで実行できます。 安全のため、指定する別のプログラム番号は 300019 から 300029 まで の範囲になければなりません。 .Nm amq は、接続するための別のプログラム番号を指定するのに用いる .Fl P オプションを持っています。 このように、 .Nm amq は同じホスト上で実行されている複数の .Xr amd 8 プロセスを完全に制御することが可能です。 .It Ic print_pid Xo (ブール値、デフォルト = no) .Xc .Nm amd の .Fl p オプションと同じです。 .Dq yes を指定すると、 .Xr amd 8 は起動時にそのプロセス ID を表示します。 .It Ic print_version Xo (ブール値、デフォルト = no) .Xc .Nm amd の .Fl v オプションと同じですが、バージョンを表示しても .Xr amd 8 は実行を続けます。 .Dq yes の場合、 .Xr amd 8 は、コンフィギュレーション設定やコンパイル時の値を含む バージョン情報文字列を表示します。 .It Ic restart_mounts Xo (ブール値、デフォルト = no) .Xc .Nm amd の .Fl r オプションと同じです。 .Dq yes とすると、 .Xr amd 8 はマウントテーブルを走査して、現在どのファイルシステムがマウントされて いるのか判断します。その中に自動マウントすべきファイルシステムがあれば、 .Xr amd 8 はそれを継承します。 .It Ic selectors_on_default Xo (ブール値、デフォルト = no) .Xc .Dq yes とすると、マップの .Pa /default エントリが検索され、そのマップ中の他のすべてのキーのデフォルト値を 設定する前に、すべてのセレクタを処理します。 あるパラメータに基づき、ある完全なマップに対して異なるオプションを 設定したい場合に有用です。 例えば、slip ベースの低速ネットワーク越しの .Tn NFS 性能を改善するためには、次のようにします。 .Pp .Bd -literal /defaults \\ wire==slip-net;opts:=intr,rsize=1024,wsize=1024 \\ wire!=slip-net;opts:=intr,rsize=8192,wsize=8192 .Ed .It Ic show_statfs_entries Xo (ブール値、デフォルト = no) .Xc .Dq yes とすると、ブラウズ可能なすべてのマップは、 .Qq df 実行時にエントリ数 (key 数) をあわせて表示します .Po この機能は、 .Xr statfs 2 呼び出しに対して非 0 値を返すことで実現されています .Pc。 .It Ic unmount_on_exit Xo (ブール値、デフォルト = no) .Xc .Dq yes とすると、 .Xr amd 8 は関知しているすべてのファイルシステムをアンマウントしようとします。 通常、 .Xr amd 8 はすべての (特に) .Tn NFS マウントされたファイルシステムをそのまま残します。 注意: .Ar restart_mounts オプションまたは .Fl r フラグが指定されていない限り、 .Xr amd 8 は起動時以前にマウントされていたファイルシステムのことを関知しません。 .El .Sy "通常のマップセクションに適用されるパラメータ) .Bl -tag -width 4n .It Ic map_name Xo (文字列、必須) .Xc キーが配置されるマップの名前です。 .It Ic tag Xo (文字列、デフォルト = タグなし) .Xc コンフィギュレーションファイルの各マップエントリにはタグをつけることが できます。タグが指定されない場合、そのマップセクションは常に .Xr amd 8 で処理されます。 タグが指定されている場合、 .Xr amd 8 に .Fl T オプションが指定され、そのコマンドラインオプションの値が マップセクションのタグ名と一致する場合のみ、 .Xr amd 8 はそのマップを処理します。 .El .Sh 使用例 以下に示すものは、私がいつも使っている実際の .Xr amd 8 コンフィギュレーションです。 .Bd -literal # グローバルオプションセクション [ global ] normalize_hostnames = no print_pid = no restart_mounts = yes auto_dir = /n log_file = /var/log/amd log_options = all #debug_options = all plock = no selectors_on_default = yes # config.guess は "sunos5" を選びました。 # 今のところこれを変えようとは思いません。 os = sos5 # "os" を設定後 print_version を有効にすると、バージョンが表示されます。 print_version = no map_type = file search_path = /etc/amdmaps:/usr/lib/amd:/usr/local/AMD/lib browsable_dirs = yes # マウントポイントの定義 [ /u ] map_name = amd.u [ /proj ] map_name = amd.proj [ /src ] map_name = amd.src [ /misc ] map_name = amd.misc [ /import ] map_name = amd.import [ /tftpboot/.amd ] tag = tftpboot map_name = amd.tftpboot .Ed .Sh 関連項目 .Xr amd 8 , .Xr amq 8 .Sh 作者 .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , Department of Computing, Imperial College, London, UK. .Pp am-utils の他の作者並びに貢献者のリストが、am-utils と共に配布されている .Nm AUTHORS ファイルにあります。 .Sh 歴史 .Xr amd 8 ユーティリティは .Bx 4.4 で初めて登場しました。 diff --git a/ja_JP.eucJP/man/man5/dir.5 b/ja_JP.eucJP/man/man5/dir.5 index b5a4a6b363..590edfc1fc 100644 --- a/ja_JP.eucJP/man/man5/dir.5 +++ b/ja_JP.eucJP/man/man5/dir.5 @@ -1,171 +1,171 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)dir.5 8.3 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man5/dir.5,v 1.12.2.5 2001/12/17 11:30:13 ru Exp % +.\" %FreeBSD: src/share/man/man5/dir.5,v 1.19 2002/12/12 17:25:57 ru Exp % .\" .\" $FreeBSD$ .\" .\" WORD: graft 接合 [mount.8] .Dd April 19, 1994 .Dt DIR 5 .Os .Sh 名称 .Nm dir , .Nm dirent .Nd ディレクトリファイルフォーマット .Sh 書式 .In dirent.h .Sh 解説 ディレクトリは、土台となる記憶媒体の詳細を隠蔽し、 ファイルをグループ分けする便利な階層手段を提供します。 ディレクトリファイルは、その .Xr inode 5 エントリ中のフラグによって、通常ファイルと区別されます。 ディレクトリファイルはレコード (ディレクトリエントリ) から構成され、 各レコードはファイルに関する情報とそのファイル自身へのポインタを 含んでいます。 ディレクトリエントリは、通常ファイルと同様に、 他のディレクトリを含むこともあります。 そのような入れ子になったディレクトリはサブディレクトリと呼ばれます。 このようにしてディレクトリとファイルの階層構造が形成され、 この構造はファイルシステムと呼ばれます (あるいはファイルシステムツリー と呼ばれます)。 .\" 以下の3行は英語版にコメントの形で含まれていたもの .\" An entry in this tree, .\" nested or not nested, .\" is a pathname. .Pp 各ディレクトリファイルには特別なディレクトリエントリが 2 つあります。 1 つはそのディレクトリ自身へのポインタで、ドット .Ql .\& と呼ばれます。 もう 1 つは自分の親ディレクトリへのポインタで、ドットドット .Ql \&..\& と呼ばれます。 ドットとドットドットは有効なパス名ですが、 システムのルートディレクトリ .Ql / には親ディレクトリがなく、ドットドットはドットと同じく自分自身を指します。 .Pp ファイルシステムノードは普通のディレクトリファイルであり、 その上に物理ディスクやそのディスク中の分割された領域といった ファイルシステムオブジェクトを接合します ( .Xr mount 2 および .Xr mount 8 参照)。 .Pp ディレクトリエントリの形式はファイル .Aq sys/dirent.h で定義されています (これは直接アプリケーションからはインクルードされません): .Bd -literal #ifndef _SYS_DIRENT_H_ #define _SYS_DIRENT_H_ #include /* * dirent 構造体は、getdirentries(2) システムコールで返される * ディレクトリエントリのフォーマットを定義します。 * * ディレクトリエントリはその先頭に dirent 構造体を持ちます。dirent * 構造体は inode 番号、そのエントリの長さ、そのエントリに含まれる * 名前の長さを保持します。その後に、ナルで 4 バイト境界までパディング * した名前が続きます。名前は全てナルで終端していることが保証されます。 * ディレクトリ中の名前の長さの最大値は MAXNAMLEN です。 */ struct dirent { __uint32_t d_fileno; /* エントリのファイル番号 */ __uint16_t d_reclen; /* このレコードの長さ */ __uint8_t d_type; /* ファイルタイプ、以下参照 */ __uint8_t d_namlen; /* d_name の文字列長 */ #ifdef _POSIX_SOURCE char d_name[255 + 1]; /* 名前はこの長さを越えてはならない */ #else #define MAXNAMLEN 255 char d_name[MAXNAMLEN + 1]; /* 名前はこの長さを越えてはならない */ #endif }; /* * ファイルタイプ */ #define DT_UNKNOWN 0 #define DT_FIFO 1 #define DT_CHR 2 #define DT_DIR 4 #define DT_BLK 6 #define DT_REG 8 #define DT_LNK 10 #define DT_SOCK 12 #define DT_WHT 14 /* * stat 構造体型とディレクトリ型との変換 */ #define IFTODT(mode) (((mode) & 0170000) >> 12) #define DTTOIF(dirtype) ((dirtype) << 12) /* * _GENERIC_DIRSIZ マクロはディレクトリエントリを保持する最小レコード長を * 与えます。これは d_name フィールド以外の dirent 構造体の空間に、ナル * バイトで終端される名前のために十分な空間 (dp->d_namlen+1) を加えたもの * を、4 バイト単位で繰り上げたものです。 */ #define _GENERIC_DIRSIZ(dp) \ ((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3)) #ifdef _KERNEL #define GENERIC_DIRSIZ(dp) _GENERIC_DIRSIZ(dp) #endif #endif /* !_SYS_DIRENT_H_ */ .Ed .Sh 関連項目 .Xr fs 5 , .Xr inode 5 .Sh バグ struct dirent のメンバ d_type は .Fx 固有であり、 使用はポータブルではありません。 また、特定のファイルシステム、例えば cd9660 ファイルシステムでは失敗します。 .Sh 歴史 ファイル形式 .Nm は .At v7 で登場しました。 diff --git a/ja_JP.eucJP/man/man5/disklabel.5 b/ja_JP.eucJP/man/man5/disklabel.5 index ec67440720..4c1a19c2f7 100644 --- a/ja_JP.eucJP/man/man5/disklabel.5 +++ b/ja_JP.eucJP/man/man5/disklabel.5 @@ -1,542 +1,542 @@ .\" Copyright (c) 1987, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Symmetric Computer Systems. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)disklabel.5.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/sbin/disklabel/disklabel.5,v 1.14 2002/08/21 18:09:53 trhodes Exp % +.\" %FreeBSD: src/sbin/disklabel/disklabel.5,v 1.15 2002/12/12 17:25:54 ru Exp % .\" .\" $FreeBSD$ .\" .\" WORD: initial bootstrap 初期ブートストラップ .\" WORD: initial label 初期ラベル .\" WORD: primary bootstrap 一次ブートストラップ .\" WORD: secondary bootstrap 二次ブートストラップ .\" WORD: ratio of physical sectors traversed per logical sector 論理セクタあたりの物理セクタ通過率 .\" .Dd June 5, 1993 .Dt DISKLABEL 5 .Os .Sh 名称 .Nm disklabel .Nd ディスクパックラベル .Sh 書式 .In sys/disklabel.h .Sh 解説 システム上のそれぞれのディスクやディスクパックは、ディスクのジオメトリ やディスクを分割しているパーティションについての詳細な情報を提供する ディスクラベルを持っています。 ディスクラベルはディスクがフォーマットされたときに 初期化されなければならず、 後から .Xr disklabel 8 プログラムによって変更することができます。 システムディクスドライバやブートストラッププログラムがこの情報を使って、 ドライブのプログラム方法や、ディスクパーティション上の ファイルシステムの見つけ方を決定します。 ファイルシステムは、付加的な情報を使ってディスクを最も効果的に使い、 重要なファイルシステム情報の位置を特定します。 各パーティションの記述は、パーティションタイプ(標準ファイル、スワップ 領域等)の識別子を含みます。 ラベルのメモリ内コピーにあるファイルシステム情報が不完全な場合には、 ファイルシステムはそれを更新します。 .Pp ラベルは、ドライブのセクタ番号 .Dv LABELSECTOR にあります。 通常は、ディスクジオメトリについての情報がなくても見つけられる、 セクタ 0 にあります。 ラベルは、初期ブートストラップの場所を確保するために、 セクタの先頭からオフセット .Dv LABELOFFSET にあります。 ラベルを含むディスクセクタは、通常読み込み専用になっています。 これは、 パックからパックへの複写やスワップ操作時に .Xr disklabel 8 プログラムによって必要に応じて行なわれる .Dv DIOCWLABEL .Xr ioctl 2 により不用意に上書きされないようにするためです。 .Pp ディスクのメモリ内ラベルコピーは .Dv DIOCGDINFO .Xr ioctl 2 で得られます。 この操作は、ディスクの任意のパーティションに対するブロックデバイスや キャラクタ (``raw'') デバイスへのファイル記述子に対して 行うことができます。 また、ディスクのメモリ内ラベルコピーは .Dv DIOCSDINFO .Xr ioctl 2 によりセットされます。 パーティションのオフセットは、一般にパーティションがオープンされている ときには変更したり小さくしたりはできません。 ただし例外として、ディスクにラベルが見つからず、ドライバが パーティション情報を含まない骨組みのラベルだけを構築できるときには、 どんな変更も許されます。 最後に、 .Dv DIOCWDINFO .Xr ioctl 2 操作がメモリ内のラベルをセットし、ディスク上のラベルを更新します。 この操作が成功するためにはディスク上にラベルが存在しなければなりません。 つまり、ディスクやディスクパックの初期ラベルは生の (raw) ディスクに 対して書き込むことでインストールされなければなりません。 これらの操作はすべて、普通 .Xr disklabel 8 コマンドを使って行なわれます。 .Pp .Pa で指定されるようにディスクラベルのフォーマットは以下のようになります。 .Bd -literal #ifndef _SYS_DISKLABEL_H_ #define _SYS_DISKLABEL_H_ #ifndef _KERNEL #include #endif #include /* * ディスク記述テーブル, disktab(5) を参照 */ #define _PATH_DISKTAB "/etc/disktab" #define DISKTAB "/etc/disktab" /* 非推奨 */ /* * 各ディスクはハードウェアディスクジオメトリ、ファイルシステムパーティション、 * ドライブ固有の情報についての情報を含むラベルを持っています。 * ラベルはブロック 0 か 1、つまりブートストラップ等のための場所を空けて * なるべく先頭のオフセットにあります。 */ /* * XXX これらの情報はコントローラ毎 (またはドライブ毎) にどこか別のところで * XXX 定義されるべきであり、ここで定義すべきではありません! */ #ifdef __i386__ #define LABELSECTOR 1 /* sector containing label */ #define LABELOFFSET 0 /* offset of label in sector */ #endif #ifdef __alpha__ #define LABELSECTOR 0 #define LABELOFFSET 64 #endif #ifndef LABELSECTOR #define LABELSECTOR 0 /* ラベルを含むセクタ */ #endif #ifndef LABELOFFSET #define LABELOFFSET 64 /* セクタ内のラベルのオフセット */ #endif #define DISKMAGIC ((u_long32_t)0x82564557) /* ディスクのマジックナンバ */ #ifndef MAXPARTITIONS #define MAXPARTITIONS 8 #endif #define LABEL_PART 2 /* パーティションはラベルを含む */ #define RAW_PART 2 /* パーティションはディスク全体を含む */ #define SWAP_PART 1 /* パーティションは通常はスワップを含む */ #ifndef LOCORE struct disklabel { u_int32_t d_magic; /* マジックナンバ */ u_int16_t d_type; /* ドライブタイプ */ u_int16_t d_subtype; /* コントローラ/d_type に固有 */ char d_typename[16]; /* タイプ名、たとえば "eagle" */ char d_packname[16]; /* パック識別子 */ /* ディスクジオメトリ */ u_int32_t d_secsize; /* セクタあたりのバイト数 */ u_int32_t d_nsectors; /* トラックあたりのデータセクタ数 */ u_int32_t d_ntracks; /* シリンダあたりのトラック数 */ u_int32_t d_ncylinders; /* ユニットあたりのデータシリンダ数 */ u_int32_t d_secpercyl; /* シリンダあたりのデータセクタ数 */ u_int32_t d_secperunit; /* ユニットあたりのデータセクタ数 */ /* * 以下の予備 (不良セクタ置換) は in d_nsectors や d_secpercyl * には数えられません。 * 予備セクタは、各トラックまたはシリンダの末尾の場所を占める * 物理セクタにあることにします。 */ u_int16_t d_sparespertrack; /* トラックあたりの予備セクタ */ u_int16_t d_sparespercyl; /* シリンダあたりの予備セクタ */ /* * メインテナンス、置換、コンフィギュレーション記述領域等を * 含む交替シリンダ */ u_int32_t d_acylinders; /* ユニットあたりの交替シリンダ */ /* ハードウェア特性 */ /* * d_interleave, d_trackskew, d_cylskew は、遅いコントローラの * 埋め合わせに使うための、メディアフォーマット中の * ぶれを記述します。 * interleave は、フォーマット時にフォーマッタやコントローラに * よって設定される物理セクタインタリーブです。 * インタリーブが使われているとき、論理的に隣り合ったセクタは * 物理的には連続ではなく、幾つかのセクタに分断されています。 * これは論理セクタあたりの物理セクタ通過率として指定されます。 * すなわち、1:1 のインタリーブは連続したレイアウトを意味し、 * 2:1 は論理セクタ 0 が論理セクタ 1 から 1 セクタ離れていること * を意味します。 * d_trackskew は、同一シリンダ上でトラック N-1 上のセクタ 0 から * トラック N のセクタ 0 の相対的なオフセットです。 * 最後の d_cylskew は、シリンダ N-1 上のセクタ 0 からシリンダ N * 上のセクタ 0 の相対的なオフセットです。 */ u_int16_t d_rpm; /* 回転スピード */ u_int16_t d_interleave; /* ハードウェアセクタインタリーブ */ u_int16_t d_trackskew; /* トラックあたりのセクタ 0 スキュー */ u_int16_t d_cylskew; /* シリンダあたりのセクタ 0 スキュー */ u_int32_t d_headswitch; /* ハードスイッチ時間 usec */ u_int32_t d_trkseek; /* トラック間シーク usec */ u_int32_t d_flags; /* 一般フラグ */ #define NDDATA 5 u_int32_t d_drivedata[NDDATA]; /* ドライブの型固有の情報 */ #define NSPARE 5 u_int32_t d_spare[NSPARE]; /* 将来使うための予備 */ u_int32_t d_magic2; /* マジックナンバ (再度) */ u_int16_t d_checksum; /* データを含むパーティションの xor */ /* ファイルシステムとパーティション情報 */ u_int16_t d_npartitions; /* 後に続くパーティション数 */ u_int32_t d_bbsize; /* sn0 のブート領域の大きさ(バイト単位) */ u_int32_t d_sbsize; /* fs スーパブロックの最大サイズ(バイト単位) */ struct partition { /* パーティションテーブル */ u_int32_t p_size; /* パーティション内のセクタ数 */ u_int32_t p_offset; /* 開始セクタ */ u_int32_t p_fsize; /* ファイルシステム規定フラグメントサイズ */ u_int8_t p_fstype; /* ファイルシステムタイプ、下記参照 */ u_int8_t p_frag; /* ブロックあたりのファイルシステムフラグメント */ union { u_int16_t cpg; /* UFS: FS グループあたりのシリンダ数 */ u_int16_t sgs; /* LFS: FS セグメントシフト */ } __partition_u1; #define p_cpg __partition_u1.cpg #define p_sgs __partition_u1.sgs } d_partitions[MAXPARTITIONS]; /* 実際にはもっとある */ }; #else /* LOCORE */ /* * asm ブートファイル用のオフセット */ .set d_secsize,40 .set d_nsectors,44 .set d_ntracks,48 .set d_ncylinders,52 .set d_secpercyl,56 .set d_secperunit,60 .set d_end_,276 /* ディスクラベルの大きさ */ #endif /* LOCORE */ /* d_type values: */ #define DTYPE_SMD 1 /* SMD, XSMD; VAX hp/up */ #define DTYPE_MSCP 2 /* MSCP */ #define DTYPE_DEC 3 /* その他の DEC (rk, rl) */ #define DTYPE_SCSI 4 /* SCSI */ #define DTYPE_ESDI 5 /* ESDI インタフェース */ #define DTYPE_ST506 6 /* ST506 他 */ #define DTYPE_HPIB 7 /* HP-IB 上の CS/80 */ #define DTYPE_HPFL 8 /* HP ファイバリンク */ #define DTYPE_FLOPPY 10 /* フロッピ */ #define DTYPE_CCD 11 /* コンカチネート化ディスク */ #define DTYPE_VINUM 12 /* vinum ボリューム */ #define DTYPE_DOC2K 13 /* Msys DiskOnChip */ #if defined(PC98) && !defined(PC98_ATCOMPAT) #define DSTYPE_SEC256 0x80 /* 物理セクタサイズは 256 */ #endif #ifdef DKTYPENAMES static char *dktypenames[] = { "unknown", "SMD", "MSCP", "old DEC", "SCSI", "ESDI", "ST506", "HP-IB", "HP-FL", "type 9", "floppy", "CCD", "Vinum", "DOC2K", NULL }; #define DKMAXTYPES (sizeof(dktypenames) / sizeof(dktypenames[0]) - 1) #endif /* * ファイルシステムタイプとバージョン * パーティションあたりの他のファイルシステム固有情報に使われます。 */ #define FS_UNUSED 0 /* 未使用 */ #define FS_SWAP 1 /* スワップ */ #define FS_V6 2 /* 第 6 版 */ #define FS_V7 3 /* 第 7 版 */ #define FS_SYSV 4 /* System V */ #define FS_V71K 5 /* 7 版 1K ブロック (4.1, 2.9) */ #define FS_V8 6 /* 8 版 4K ブロック */ #define FS_BSDFFS 7 /* 4.2BSD 高速ファイルシステム */ #define FS_MSDOS 8 /* MSDOS ファイルシステム */ #define FS_BSDLFS 9 /* 4.4BSD ログ構造ファイルシステム */ #define FS_OTHER 10 /* 使用中だが未知/未サポート */ #define FS_HPFS 11 /* OS/2 高性能ファイルシステム */ #define FS_ISO9660 12 /* ISO 9660, 通常は CD-ROM */ #define FS_BOOT 13 /* ブートストラップを含むパーティション */ #define FS_VINUM 14 /* Vinum ドライブ */ #ifdef DKTYPENAMES static char *fstypenames[] = { "unused", "swap", "Version 6", "Version 7", "System V", "4.1BSD", "Eighth Edition", "4.2BSD", "MSDOS", "4.4LFS", "unknown", "HPFS", "ISO9660", "boot", "vinum", NULL }; #define FSMAXTYPES (sizeof(fstypenames) / sizeof(fstypenames[0]) - 1) #endif /* * 多様なドライブが共有するフラグ */ #define D_REMOVABLE 0x01 /* リムーバブルメディア */ #define D_ECC 0x02 /* ECC サポート */ #define D_BADSECT 0x04 /* バッドセクタフォワードのサポート */ #define D_RAMDISK 0x08 /* ディスクエミュレータ */ #define D_CHAIN 0x10 /* 連続転送可能 */ /* * SMD のドライブデータ */ #define d_smdflags d_drivedata[0] #define D_SSE 0x1 /* セクタスキップのサポート */ #define d_mindist d_drivedata[1] #define d_maxdist d_drivedata[2] #define d_sdist d_drivedata[3] /* * ST506 のドライブデータ */ #define d_precompcyl d_drivedata[0] #define d_gap3 d_drivedata[1] /* フォーマット時にのみ使用 */ /* * SCSI のドライブデータ */ #define d_blind d_drivedata[0] #ifndef LOCORE /* * フォーマットや生の操作をする際に使われる * 構造体で、データやレジスタ値を返します。 * レジスタの識別とフォーマットは、 * デバイス依存、ドライバ依存です。 */ struct format_op { char *df_buf; int df_count; /* 値-結果 */ daddr_t df_startblk; int df_reg[8]; /* 結果 */ }; /* * ディスク上のパーティションに関する情報を * 引き出すために内部で使われる構造体 */ struct partinfo { struct disklabel *disklab; struct partition *part; }; /* DOS パーティションテーブル -- ブートブロックにあります */ #if defined(PC98) && !defined(PC98_ATCOMPAT) #define DOSBBSECTOR 0 /* DOS ブートブロックの相対セクタ番号 */ #define DOSLABELSECTOR 1 /* 0: 256b/s, 1: 512b/s */ #define DOSPARTOFF 0 #define NDOSPART 16 #define DOSPTYP_386BSD 0x94 /* 386BSD パーティションタイプ */ #define MBR_PTYPE_FreeBSD 0x94 /* FreeBSD パーティションタイプ */ struct dos_partition { unsigned char dp_mid; #define DOSMID_386BSD (0x14|0x80) /* 386bsd|bootable */ unsigned char dp_sid; #define DOSSID_386BSD (0x44|0x80) /* 386bsd|active */ unsigned char dp_dum1; unsigned char dp_dum2; unsigned char dp_ipl_sct; unsigned char dp_ipl_head; unsigned short dp_ipl_cyl; unsigned char dp_ssect; /* 先頭セクタ */ unsigned char dp_shd; /* 先頭ヘッド */ unsigned short dp_scyl; /* 先頭シリンダ */ unsigned char dp_esect; /* 終端セクタ */ unsigned char dp_ehd; /* 終端ヘッド */ unsigned short dp_ecyl; /* 終端シリンダ */ unsigned char dp_name[16]; }; #else /* IBMPC */ #define DOSBBSECTOR 0 /* DOS ブートブロックの相対セクタ番号 */ #define DOSPARTOFF 446 #define NDOSPART 4 #define DOSPTYP_386BSD 0xa5 /* 386BSD パーティションタイプ */ struct dos_partition { unsigned char dp_flag; /* ブートストラップフラグ */ unsigned char dp_shd; /* 先頭ヘッド */ unsigned char dp_ssect; /* 先頭セクタ */ unsigned char dp_scyl; /* 先頭シリンダ */ unsigned char dp_typ; /* パーティションタイプ */ unsigned char dp_ehd; /* 終端ヘッド */ unsigned char dp_esect; /* 終端セクタ */ unsigned char dp_ecyl; /* 終端シリンダ */ u_int32_t dp_start; /* 絶対的な先頭セクタ番号 */ u_int32_t dp_size; /* セクタ数でのパーティションサイズ */ }; #endif #define DPSECT(s) ((s) & 0x3f) /* セクタ用のビットの分離 */ #define DPCYL(c, s) ((c) + (((s) & 0xc0)<<2)) /* こちらはシリンダ用 */ /* * ディスク固有の ioctl */ /* ディスクラベルの取得と設定; 内部では DIOCGPART が使われる */ #define DIOCGDINFO _IOR('d', 101, struct disklabel)/* 取得 */ #define DIOCSDINFO _IOW('d', 102, struct disklabel)/* 設定 */ #define DIOCWDINFO _IOW('d', 103, struct disklabel)/* 設定、ディスク更新 */ #define DIOCGPART _IOW('d', 104, struct partinfo) /* パーティション取得 */ #define DIOCWLABEL _IOW('d', 109, int) /* ラベルの書き込み可/不可 */ #ifdef _KERNEL /* * XXX ディスクマイナ番号のエンコーディングは別のところにあるべきです。 * * より良い可能性のエンコーディングについては を参照ください。 * * "cpio -H newc" で大きなマイナ番号のデバイスファイル (しかし 2^31 未満) * をバックアップ可能です。古い cpio フォーマットと全 tar フォーマットでは * ビット数が不十分であり、また cpio と tar はビット喪失を報告しません。 * また、符号拡張にバグがあります。 */ /* 3 2 1 0 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 _________________________________________________________________ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ----------------------------------------------------------------- | TYPE |UNIT_2 | SLICE | MAJOR? | UNIT |PART | ----------------------------------------------------------------- */ #define dkmakeminor(unit, slice, part) \e (((slice) << 16) | (((unit) & 0x1e0) << 16) | \e (((unit) & 0x1f) << 3) | (part)) static __inline dev_t dkmodpart(dev_t dev, int part) { return (makedev(major(dev), (minor(dev) & ~7) | part)); } static __inline dev_t dkmodslice(dev_t dev, int slice) { return (makedev(major(dev), (minor(dev) & ~0x1f0000) | (slice << 16))); } #define dkpart(dev) (minor(dev) & 7) #define dkslice(dev) ((minor(dev) >> 16) & 0x1f) #define dktype(dev) ((minor(dev) >> 25) & 0x7f) static __inline u_int dkunit(dev_t dev) { return (((minor(dev) >> 16) & 0x1e0) | ((minor(dev) >> 3) & 0x1f)); } struct buf; struct buf_queue_head; int bounds_check_with_label(struct buf *bp, struct disklabel *lp, int wlabel); void diskerr(struct buf *bp, char *what, int pri, int blkdone, struct disklabel *lp); void disksort(struct buf *ap, struct buf *bp); u_int dkcksum struct disklabel *lp); char *readdisklabel(dev_t dev, struct disklabel *lp); void bufqdisksort(struct buf_queue_head *ap, struct buf *bp); int setdisklabel(struct disklabel *olp, struct disklabel *nlp, u_long openmask); int writedisklabel(dev_t dev, struct disklabel *lp); #ifdef __alpha__ void alpha_fix_srm_checksum((struct buf *bp)); #endif #endif /* _KERNEL */ #endif /* LOCORE */ #ifndef _KERNEL __BEGIN_DECLS struct disklabel *getdiskbyname((const char *)); __END_DECLS #endif #endif /* !_SYS_DISKLABEL_H_ */ .Ed .Sh 関連項目 .Xr disktab 5 , .Xr disklabel 8 diff --git a/ja_JP.eucJP/man/man5/disktab.5 b/ja_JP.eucJP/man/man5/disktab.5 index c9bd2a0a5a..888d8a7925 100644 --- a/ja_JP.eucJP/man/man5/disktab.5 +++ b/ja_JP.eucJP/man/man5/disktab.5 @@ -1,140 +1,140 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)disktab.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/disktab.5,v 1.10 2002/04/01 20:03:05 phk Exp % +.\" %FreeBSD: src/share/man/man5/disktab.5,v 1.11 2002/12/12 17:25:57 ru Exp % .\" $FreeBSD$ .\" .Dd June 5, 1993 .Dt DISKTAB 5 .Os .Sh 名称 .Nm disktab .Nd ディスク記述ファイル .Sh 書式 .In disklabel.h .Sh 解説 .Nm は、ディスクジオメトリとディスクパーティション特性を記述する 簡単なデータベースで、 .\"by the formatter(\c .\"IR.Xr format 8 ) .\"to determine how to format the disk, and ディスク上のディスクラベルを初期化する際に使われます。 フォーマットは .Xr termcap 5 端末データベースと同様のパターンです。 .Nm 内のエントリは、たくさんの `:' で区切られたフィールドからなります。 各ディスクの最初のエントリは `|' 文字で区切られていて、そのディスクの 既知の名前を与えます。最後の名前はディスクをディスクを識別する完全に 長い名前でなければなりません。 .Pp 以下のリストは、各ディスクエントリのための通常の値です。 .Bl -column "indent" "boolx" .It Sy "名前 型 解説 .It "\&ty str ディスクの種類 (例えば removable, winchester)" .It "\&dt str コントローラの種類 (例えば " .Tn SMD , ESDI , フロッピ) .It "\&ns num トラックあたりのセクタ数" .It "\&nt num シリンダあたりのトラック数" .It "\&nc num ディスク上の総シリンダ数" .It "\&sc num シリンダあたりのセクタ数、デフォルトは nc*nt" .It "\&su num ユニットあたりのセクタ数、デフォルトは sc*nc" .It "\&se num バイト単位のセクタサイズ" デフォルトは .Dv DEV_BSIZE .It "\&sf bool コントローラが bad144 スタイルのバッドセクタフォワードをサポートする" .It "\&rm num 回転スピード (rpm), デフォルトは 3600" .It "\&sk num トラックあたりのセクタスキュー、デフォルトは 0" .It "\&cs num シリンダあたりのセクタスキュー、デフォルトは 0" .It "\&hs num ヘッドスイッチ時間 (usec), デフォルトは 0" .It "\&ts num 1 シリンダシーク時間 (usec), デフォルト 0" .It "\&il num セクタインタリーブ (n:1), デフォルトは 1" .It "\&d[0-4] num ドライブタイプ依存パラメータ" .It "\&bs num ブートブロックサイズ、デフォルト" .Dv BBSIZE .It "\&sb num スーパブロックサイズ、デフォルト" .Dv SBSIZE .It "\&ba num パーティション `a' のブロックサイズ (bytes)" .It "\&bd num パーティション `d' のブロックサイズ (bytes)" .It "\&be num パーティション `e' のブロックサイズ (bytes)" .It "\&bf num パーティション `f' のブロックサイズ (bytes)" .It "\&bg num パーティション `g' のブロックサイズ (bytes)" .It "\&bh num パーティション `h' のブロックサイズ (bytes)" .It "\&fa num パーティション `a' のフラグメントサイズ (bytes)" .It "\&fd num パーティション `d' のフラグメントサイズ (bytes)" .It "\&fe num パーティション `e' のフラグメントサイズ (bytes)" .It "\&ff num パーティション `f' のフラグメントサイズ (bytes)" .It "\&fg num パーティション `g' のフラグメントサイズ (bytes)" .It "\&fh num パーティション `h' のフラグメントサイズ (bytes)" .It "\&oa num パーティション `a' のセクタ内オフセット" .It "\&ob num パーティション `b' のセクタ内オフセット" .It "\&oc num パーティション `c' のセクタ内オフセット" .It "\&od num パーティション `d' のセクタ内オフセット" .It "\&oe num パーティション `e' のセクタ内オフセット" .It "\&of num パーティション `f' のセクタ内オフセット" .It "\&og num パーティション `g' のセクタ内オフセット" .It "\&oh num パーティション `h' のセクタ内オフセット" .It "\&pa num パーティション `a' セクタサイズ" .It "\&pb num パーティション `b' セクタサイズ" .It "\&pc num パーティション `c' セクタサイズ" .It "\&pd num パーティション `d' セクタサイズ" .It "\&pe num パーティション `e' セクタサイズ" .It "\&pf num パーティション `f' セクタサイズ" .It "\&pg num パーティション `g' セクタサイズ" .It "\&ph num パーティション `h' セクタサイズ" .It "\&ta str パーティション `a' のパーティションタイプ" .Pf ( Bx 4.2 ファイルシステム, スワップ他) .It "\&tb str パーティション `b のパーティションタイプ" .It "\&tc str パーティション `c のパーティションタイプ" .It "\&td str パーティション `d のパーティションタイプ" .It "\&te str パーティション `e のパーティションタイプ" .It "\&tf str パーティション `f のパーティションタイプ" .It "\&tg str パーティション `g のパーティションタイプ" .It "\&th str パーティション `h のパーティションタイプ" .El .Sh 関連ファイル .Bl -tag -width /etc/disktab -compact .It Pa /etc/disktab .El .Sh 関連項目 .Xr getdiskbyname 3 , .Xr disklabel 5 , .Xr disklabel 8 , .Xr newfs 8 .Sh 歴史 .Nm この記述ファイルは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/drivers.conf.5 b/ja_JP.eucJP/man/man5/drivers.conf.5 index 2f0385a764..2bc5ce16f0 100644 --- a/ja_JP.eucJP/man/man5/drivers.conf.5 +++ b/ja_JP.eucJP/man/man5/drivers.conf.5 @@ -1,131 +1,158 @@ .\" Copyright (c) 2002 Murray Stokely .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/drivers.conf.5,v 1.6 2002/10/21 10:48:19 murray Exp % +.\" %FreeBSD: src/share/man/man5/drivers.conf.5,v 1.8 2002/12/12 23:11:43 murray Exp % .\" .\" $FreeBSD$ .\" .\"WORD:moving kernel module 移動カーネルモジュール .Dd March 23, 2002 .Dt DRIVERS.CONF 5 .Os .Sh 名称 .Nm drivers.conf .Nd "ブートフロッピのドライバ設定ファイル" .Sh 解説 .Nm はリリースの構築処理で使用されます。 .Fx -のリリースには 2 つのインストールフロッピがあります。 +のリリースには 3 つのインストールフロッピがあります。 1 つ目のフロッピイメージ .Pa kern.flp は静的にリンクされたカーネルを含んでいます。 2 つ目のフロッピイメージ .Pa mfsroot.flp には、 .Xr sysinstall 8 と、インストールに不可欠なコマンド群と、ブートカーネルを補うカーネルモジュール を含んでいます。 -一度システムがブートすると、msfroot フロッピの +3 つ目のフロッピイメージ +.Pa drivers.flp +には、インストールには要らないかもしれないオプションのデバイスドライバ +を含んでいます。 +最初にシステムブートに使用するのは +.Pa kern.flp +です。 +一度システムがブートすると、 +.Pa mfsroot.flp +を挿入するよう促されます。 +msfroot フロッピの .Pa /stand/modules ディレクトリにあるモジュールが自動的に .Xr sysinstall 8 によってロードされます。 +追加ドライバが必要な場合、 +.Pa drivers.flp +にあるドライバを sysinstall からインストール可能です。 .Pp .Pa /usr/src/release/${arch}/drivers.conf -ファイルにはブートカーネルからは省略され、msfroot フロッピ上の +ファイルにはブートカーネルからは省略され、msfroot フロッピ +またはドライバフロッピ上の カーネルモジュールとしてインストールされるドライバのリストが含まれています。 +これが必要なのは、FreeBSD のすべてのデバイスドライバを含む +静的カーネルは 1 枚のフロッピに収まらないくらい大きいからです。 それぞれのドライバは行ごとに区切られ、それぞれの行中の項目は タブまたはスペースで区切られています。 .Pp 1 番目の項目 .Ar driver はドライバの名前もしくは、カーネル設定ファイル中のオプション名です。 これは、ブートフロッピのカーネル設定ファイルから、 mfsroot フロッピ上のモジュールとして含まれる ドライバを取り除くために、 .Pa driver-remove.awk で使われます。 .Pp 2 番目の項目 .Ar filename は関連付けられたカーネルモジュール名です ( .Pa .ko 拡張子を除く)。 .Pp 3 番目の項目 .Ar floppy は、どのフロッピディスクがそのカーネルモジュールを含むのかを明示します。 -\&'2' という値は +2 という値は .Pa mfsroot.flp フロッピイメージであることを意味します。 -\&'3' という値は +3 という値は .Pa driver.flp フロッピイメージであることを意味します。 .Pp 4 番目の項目 .Ar type はドライバの種別をあらわします。 .Dq Li options が設定されている場合はこのモジュールがカーネルオプションの 機能を加えたように見られます。 そうでない場合は、このモジュールがデバイスドライバであることを 意味するように見られます。 .\" +If set to .\" +.Dq Li options , .\" +then this module is assumed to add the .\" +functionality of a kernel option. .\" +Otherwise, this module is assumed to represent a device driver. .Pp 5 番目の項目 .Ar description はそのデバイスドライバの簡単な説明です。 +これは、モジュールロード時に +.Xr sysinstall 8 +が表示する内容です。 +オプション +.Pa driver.flp +イメージ中のすべてのドライバ記述は、ファイル +.Pa DRIVERS.TXT +に記述され、これは +.Pa driver-desc.awk +によって作成され、FTP サイトやリリースメディアのフロッピイメージに随行します。 .Sh 関連ファイル .Bl -tag -compact .It Pa /usr/src/release/Makefile .It Pa /usr/src/release/${arch}/drivers.conf .It Pa /usr/src/release/scripts/driver-copy2.awk +.It Pa /usr/src/release/scripts/driver-desc.awk .It Pa /usr/src/release/scripts/driver-remove.awk .El .Sh 関連項目 .Xr release 7 , .Xr kldload 8 , .Xr sysinstall 8 .Rs .%T "FreeBSD リリースエンジニアリング" .%O http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/ .Re .Sh 歴史 .Nm ファイルは .Fx 4.5 で登場しました。 .Sh 作者 .An -nosplit .An 細川 達己 Aq hosokawa@FreeBSD.org が初めて mfsroot インストーラフロッピイメージに、 カーネルモジュールを移動させることを可能にしました。 このマニュアルページは .An Murray Stokely Aq murray@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man5/exports.5 b/ja_JP.eucJP/man/man5/exports.5 index fd6fded3f6..17b3bb2bc8 100644 --- a/ja_JP.eucJP/man/man5/exports.5 +++ b/ja_JP.eucJP/man/man5/exports.5 @@ -1,358 +1,358 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 -.\" %FreeBSD: src/sbin/mountd/exports.5,v 1.10.2.8 2002/09/28 16:31:45 markm Exp % +.\" %FreeBSD: src/usr.sbin/mountd/exports.5,v 1.22 2002/12/12 17:26:02 ru Exp % .\" .\" $FreeBSD$ .\" .Dd March 29, 1995 .Dt EXPORTS 5 .Os .Sh 名称 .Nm exports .Nd .Tn NFS マウント要求に対するリモートマウント点を定義する .Sh 書式 .Nm .Sh 解説 .Nm ファイルは .Tn NFS サーバの指定 1 つについて .Tn NFS マウントプロトコルに対するリモートマウント点を指定します。 .%T "Network File System Protocol Specification" , RFC1094, Appendix A および .%T "NFS: Network File System Version 3 Specification" , Appendix I を参照してください。 .Pp .Nm ファイルの各行 (# で始まる注釈行以外) は、1 つ以上のホスト向けに、 1 つのローカルサーバファイルシステム内の マウント点 (複数) とエクスポートフラグを指定します。 長い行は一番最後の行以外の行をバックスラッシュ .Pq Ql \e で終らせると複数の行に分割することができます。 あるホストは、 サーバの各ローカルファイルシステムに関して唯 1 度だけ指定可能です。 また他の全てのホストに適用されるデフォルトエントリは、 各サーバファイルシステムに関して唯 1 つだけ指定できます。 後者は ``世界'' に対しそのファイルシステムを公開することになるので、 そのファイルシステムが公の情報を含むときにのみ用いるべきです。 .Pp マウントエントリ内の最初の欄 (複数) には、 対応するクライアント (複数) がマウント可能である サーバファイルシステム内ディレクトリパス (複数) を指定します。 この指定には 2 つの形式があります。 最初の指定形式は、 全マウント点のリストであり、絶対ディレクトリパスを空白で区切ったものです。 次の指定形式は、そのファイルシステムのルートパス名に続いて .Fl alldirs フラグを指定するものです。この形式は、そのファイルシステム内の任意の点を ホスト (複数) がマウントすることを可能にします。 .Xr mountd 8 で .Fl r オプションを用いれば、任意の点には通常ファイルを含むことができます。 パス名中には、シンボリックリンクを含んではなりませんし、また "." または ".." を含んではなりません。 1 つのファイルシステムに対するマウント点を複数指定することが可能であり、 それぞれ異ったホストとエクスポートオプションの組を指定することができます。 .Pp 行の 2 番目の部分には、そのファイルシステムがホストの組にどのように エクスポートされているかを指定します。 オプションフラグは、 そのファイルシステムを読み取り専用でエクスポートしているのか それとも読み書き可でエクスポートしているのかを指定したり、 クライアントの UID がサーバ上のユーザ資格にどのように マップされているのかを指定します。 .Pp エクスポートオプションは以下のとおりです。 .Pp .Sm off .Fl maproot No = Sy user .Sm on 指定されたユーザの資格を、root によるリモートアクセスに対して使用します。 その資格には、ローカルマシン上でユーザが属する全てのグループを含みます ( .Xr id 1 参照)。ユーザは名前または数字です。 .Pp .Sm off .Fl maproot No = Sy user:group1:group2:... .Sm on コロンによって区切られたリストは、 root によるリモートアクセスに対して使用する正確な資格を指定するために 使用します。 リストの要素は名前または数字です。 グループを含まない資格をユーザに関する完全な資格と区別するためには、 user: を使用すべきであることに注意してください。 .Pp .Sm off .Fl mapall No = Sy user .Sm on または .Sm off .Fl mapall No = Sy user:group1:group2:... .Sm on .Fl maproot と同じ指定方法で、 (root を含む) 全てのクライアントの UID に対するマッピングを指定します。 .Pp .Fl r オプションは .Fl maproot と同じ意味です。 これは古い export ファイル形式と互換性を保つために用意されました。 .Pp .Fl maproot および .Fl mapall オプションのない場合には、 root によるリモートアクセスは -2:-2 という資格を用いることになります。 その他の全てのユーザはそれぞれのリモート資格にマップされます。 .Fl maproot オプションを指定すると、root によるリモートアクセスは -2:-2 の代りに 指定した資格にマップされます。 .Fl mapall オプションを指定すると、root を含む全てのユーザはそれら自身の資格の代りに 指定した資格にマップされます。 .Pp .Fl ro オプションは、ファイルシステムが読み取り専用としてエクスポートされることを 指定します (デフォルトは読み書き可)。 .Fl o オプションは .Fl ro と同じ意味です。 これは古い export ファイル形式と互換性を保つために用意されました。 .Pp 仕様 (RFC 2054 と RFC 2055) に厳密に従う .Tn WebNFS エクスポートは .Fl public フラグにて実現されます。 しかしながら、このフラグ自身は、ファイルシステム中の全ファイルに対して 読み書きアクセスを与えますが、予約ポートを必要としませんし、 uid のマッピングも行いません。 これは仕様を満すためだけに提供されており、通常は使用すべきではありません。 .Tn WebNFS エクスポートのためには、 .Fl webnfs フラグを使用します。これは .Fl public , .Sm off .Fl mapall No = Sy nobody , .Sm on .Fl ro を意味します。 .Pp .Sm off .Fl index No = Sy file .Sm on オプションを使用して、パブリックファイルハンドル .Pq Tn WebNFS を使用してディレクトリが検索された時にハンドルが返される ファイルを指定できます。 これは URL の動作のまねをします。 .Fl index オプションが指定されないと、通常通りディレクトリファイルハンドルが返されます。 .Fl index オプションは .Fl public または .Fl webnfs フラグと組み合わせたときのみ意味があります。 .Pp .Fl quiet オプションを指定すると、 .Pa /etc/exports 中の変な行に関する syslog への診断出力の一部を抑制します。 既知のあり得る問題による五月蝿いエラーメッセージを避けるのに有用です (後述の .Sx 使用例 参照)。 .Pp 行の 3 番目の部分には、その行が適用されるホストの組を指定します。 この組は 3 つの方法で指定できます。 最初の方法はホスト名 (複数) を空白で区切って並べる方法です。 (名前の代りに、標準的なインターネット ``ドット'' アドレスを用いることも できます)。2 番目の方法はネットグループファイル ( .Xr netgroup 5 参照) の中で定義した ``netgroup'' を指定する方法です。 3 番目の方法は、 1 つのネットワークとネットワークマスクを用いることにより、 1 つのインターネットサブネットワークを指定する方法です。 これは、 そのサブネットワーク内のアドレスを持つ全てのホストの組として定義されます。 この最後の方法はカーネルのオーバヘッドを低く押えられるため、 1 つの管理サブネット内の多くのクライアントを エクスポートの行が参照する場合に推奨されます。 .Pp 最初の 2 つの指定方法では、単に空白で区切られた名前 (複数) を並べて指定します。 全ての名前は、まずそれらが ``netgroup'' 名であるかチェックされ、 そうでなければホスト名であると仮定されます。 ホスト名に完全ドメイン指定をすれば、 ネットグループと同じ名前を持つホストの問題を通常避けることができます。 3 番目の指定方法は、 .Sm off .Fl network No = Sy netname .Sm on フラグとオプションの .Sm off .Fl mask No = Sy netmask .Sm on フラグによって指定します。マスクが指定されないと、そのネットワーククラス (A, B, C のどれかです。 .Xr inet 4 を参照してください) に対するマスクとなります。 後述の .Sx 使用例 参照。 .Pp .Xr mountd 8 ユーティリティに .Nm ファイルを再度読み取らせるためには、 ハングアップシグナルを次のように送ります: .Bd -literal -offset indent kill -s HUP `cat /var/run/mountd.pid` .Ed .Pp .Dv SIGHUP の送信後に .Xr syslogd 8 出力を確認して、 .Nm ファイル中の解析エラーを .Xr mountd 8 が記録したかどうか見てください。 .Sh 関連ファイル .Bl -tag -width /etc/exports -compact .It Pa /etc/exports デフォルトのリモートマウントポイントファイル .El .Sh 使用例 .Bd -literal -offset indent /usr /usr/local -maproot=0:10 friends /usr -maproot=daemon grumpy.cis.uoguelph.ca 131.104.48.16 /usr -ro -mapall=nobody /u -maproot=bin: -network 131.104.48 -mask 255.255.255.0 /u2 -maproot=root friends /u2 -alldirs -network cis-net -mask cis-mask /cdrom -alldirs,quiet,ro -network 192.168.33.0 -mask 255.255.255.0 .Ed .Pp .Sy /usr , .Sy /u , .Sy /u2 がローカルファイルシステムマウント点とすると、上の例は以下を指定します: .Sy /usr はネットグループファイルで指定されるホスト群 .Em friends にエクスポートされ、 この際ユーザはそれぞれのリモート資格にマップされ、 root は UID 0 およびグループ 10 にマップされます。 このファイルシステムは読み書き可でエクスポートされ、 ``friends'' 内のホストは /usr と /usr/local のどちらもマウントできます。 このファイルシステムは .Em 131.104.48.16 および .Em grumpy.cis.uoguelph.ca にエクスポートされ、 この際ユーザはそれぞれのリモート資格にマップされ、 root は ``daemon'' に結び付けられたユーザおよびグループにマップされます。 このファイルシステムは残りの世界へ読み出しのみでエクスポートされ、 この際全てのユーザは ``nobody'' に結び付けられたユーザおよびグループに マップされます。 .Pp .Sy /u はサブネットワーク .Em 131.104.48 上の全てのホストにエクスポートされ、 この際 root は ``bin'' の UID にマップされてグループアクセスを持ちません。 .Pp .Sy /u2 は ``friends'' 中のホストにエクスポートされ、 その際 root は ``root'' に結び付けられた UID とグループにマップされます。 このファイルシステムは ``cis-net'' ネットワーク上の全てのホストへ エクスポートされ、 この際 /u2 内のどんなディレクトリへもマウントを許します。 .Pp サブディレクトリを含む .Sy /cdrom を根とするファイルシステムが、 ネットワーク 192.168.33.0/24 へ読み取り専用でエクスポートされます。 .Sy /cdrom は CD-ROM デバイスの慣習的なマウント点ですので、 現在 CD-ROM メディアがマウントされていないとこのエクスポートは失敗します。 何故なら、この行には .Fl alldirs があるため、ルートファイルシステムのサブディレクトリがエクスポート されようとするのですが、これは許可されていないからです。 .Fl quiet オプションは、通常は syslog に記録されてしまう この条件のエラーメッセージを抑制します。 CD-ROM がマウントされると、 .Xr mount 8 は .Xr mountd 8 にこの状況を通知し、 .Sy /cdrom ファイルシステムが意図通りにエクスポートされます。 .Fl alldirs オプションを使用しないと、エクスポートは常に成功することに注意してください。 この場合、 .Sy /cdrom 下に CD-ROM メディアがマウントされていなくても、 ルートファイルシステム中の (通常は空の) ディレクトリ .Sy /cdrom をエクスポートします。 .Sh 関連ファイル .Bl -tag -width /etc/exports -compact .It Pa /etc/exports デフォルトリモートマウント点ファイル .El .Sh 関連項目 .Xr netgroup 5 , .Xr mountd 8 , .Xr nfsd 8 , .Xr showmount 8 .Sh バグ エクスポートオプションはカーネル内ではローカルマウント点に結び付けられます。 ローカルサーバマウント点のサブディレクトリでエクスポートされたものに、 エクスポートオプションの矛盾があってはいけません。 同じファイルシステム内の全てのエクスポートされたディレクトリは、 木を下る順に隣り合った行で指定されることが推奨されます。 ネットグループ名と同じ名前のホスト名は指定できません。 完全ドメイン指定でホスト名を指定すれば通常は問題ありません。 diff --git a/ja_JP.eucJP/man/man5/fdescfs.5 b/ja_JP.eucJP/man/man5/fdescfs.5 index 430b920428..c567d98f49 100644 --- a/ja_JP.eucJP/man/man5/fdescfs.5 +++ b/ja_JP.eucJP/man/man5/fdescfs.5 @@ -1,117 +1,117 @@ .\" Copyright (c) 1996 .\" Mike Pritchard . All rights reserved. .\" .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" Jan-Simon Pendry. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/fdescfs.5,v 1.12 2002/05/16 05:21:52 trhodes Exp % +.\" %FreeBSD: src/share/man/man5/fdescfs.5,v 1.13 2002/12/12 17:25:57 ru Exp % .\" .\" $FreeBSD$ .\" WORD: file descriptor ファイル記述子 .\" WORD: augment (union マウントによる)重ね合わせ .\" .Dd December 14, 1996 .Dt FDESCFS 5 .Os .Sh 名称 .Nm fdescfs .Nd ファイル記述子ファイルシステム .Sh 書式 fdescfs /dev/fd fdescfs rw 0 0 .Sh 解説 ファイル記述子ファイルシステム、別名 .Nm は、プロセス毎のファイル記述子の名前空間をグローバルなファイルシステムの 名前空間からアクセスする機能を提供します。 通常のマウントポイントは .Pa /dev/fd です。 .Pp .Pp ファイルシステムの中身は、番号で表したファイルのリストとして見えます。 これらのファイルは、ディレクトリを読むプロセスが現在オープンしている ファイルに対応しています。 .Pa /dev/fd/0 から .Pa /dev/fd/# までのファイルは記述子への参照であり、 ファイルシステムを通じてアクセスすることができます。 ファイル記述子がオープンされていて、ファイルをオープンしたときのモードが 既存の記述子のモードのサブセットである場合は、システムコール呼び出し .Bd -literal -offset indent fd = open("/dev/fd/0", mode); .Ed .Pp と、システムコール呼び出し .Bd -literal -offset indent fd = fcntl(0, F_DUPFD, 0); .Ed .Pp は等価です。 .Pp .Xr open 2 呼び出し時のフラグは .Dv O_RDONLY , .Dv O_WRONLY および .Dv O_RDWR 以外は無視されます。 .Sh 関連ファイル .Bl -tag -width /dev/stderr -compact .It Pa /dev/fd/# .El .Sh 関連項目 .Xr tty 4 , .Xr mount_devfs 8 , .Xr mount_fdescfs 8 , .Sh 歴史 .Nm ファイルシステムは .Bx 4.4 で最初に登場しました。 .Nm マニュアルページは .Fx 2.2 で最初に登場しました。 .Sh 作者 .An -nosplit .Nm マニュアルページは .An Mike Pritchard Aq mpp@FreeBSD.org によって書かれたもので、 .An Jan-Simon Pendry による .Xr mount_fdescfs 8 マニュアルページに基づいています。 diff --git a/ja_JP.eucJP/man/man5/fs.5 b/ja_JP.eucJP/man/man5/fs.5 index 8cc78f7ee2..e44740fa8d 100644 --- a/ja_JP.eucJP/man/man5/fs.5 +++ b/ja_JP.eucJP/man/man5/fs.5 @@ -1,371 +1,371 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)fs.5 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man5/fs.5,v 1.15 2002/05/16 05:21:52 trhodes Exp % +.\" %FreeBSD: src/share/man/man5/fs.5,v 1.17 2002/12/12 17:25:57 ru Exp % .\" .\" $FreeBSD$ .\" .Dd April 19, 1994 .Dt FS 5 .Os .Sh 名称 .Nm fs , .Nm inode .Nd ファイルシステムボリュームのフォーマット .Sh 書式 .In sys/param.h .In ufs/ffs/fs.h .Pp .In sys/types.h .In sys/lock.h .In ufs/ufs/quota.h .In ufs/ufs/inode.h .Sh 解説 ファイル .Aq Pa fs.h と .Aq Pa inode.h は、ランダムアクセスデバイス (ディスク) 上のファイルシステムオブジェクト の基本フォーマットを作成、管理する際に使われるいくつかの構造体、 定義済み変数、マクロを宣言します。 .Pp ファイルシステムはブロックサイズとブロック数から構成されており、 これらはファイルシステムのパラメータになります。 .Dv BBLOCK から始まり 大きさ .Dv BBSIZE だけ続くセクタは、 ディスクラベルといくつかの一次、二次ハードウェアブートストラッププログラム のために使われます。 .Pp 実際のファイルシステムは、 .Dv SBLOCK セクタから始まり、そこには 大きさが .Dv SBSIZE である .Em スーパブロック があります。 ファイル .Aq Pa ufs/ffs/fs.h にある以下の構造体は、スーパブロックを記述しています。 .Bd -literal /* * FFS ファイルシステムのスーパブロック */ struct fs { int32_t fs_firstfield; /* 内部スーパブロック用に使われる、歴史的な */ int32_t fs_unused_1; /* ファイルシステムのリンク済みリスト */ ufs_daddr_t fs_sblkno; /* ファイルシステム内のスーパブロックのアドレス */ ufs_daddr_t fs_cblkno; /* ファイルシステム内のシリンダブロックのオフセット */ ufs_daddr_t fs_iblkno; /* ファイルシステム内の inode ブロックのオフセット */ ufs_daddr_t fs_dblkno; /* cg 後の最初のデータのオフセット */ int32_t fs_cgoffset; /* シリンダ内のシリンダグループオフセット */ int32_t fs_cgmask; /* mod fs_ntrak の計算に使われる */ time_t fs_time; /* 最後に書き込まれた時刻 */ int32_t fs_size; /* fs 内のブロック数 */ int32_t fs_dsize; /* fs 内のデータブロック数 */ int32_t fs_ncg; /* シリンダグループの数 */ int32_t fs_bsize; /* fs 内の基本ブロックサイズ */ int32_t fs_fsize; /* fs 内のフラグメントブロックサイズ */ int32_t fs_frag; /* fs の 1 ブロック中のフラグメント数 */ /* 以下はコンフィギュレーションパラメータ */ int32_t fs_minfree; /* フリーブロックの最小パーセンテージ */ int32_t fs_rotdelay; /* 最適な次ブロックのための ms 数 */ int32_t fs_rps; /* 1 秒あたりのディスク回転 */ /* これらのフィールドは他のフィールドから計算できる */ int32_t fs_bmask; /* ``blkoff'' ブロックオフセットの計算 */ int32_t fs_fmask; /* ``fragoff'' フラグメントオフセットの計算 */ int32_t fs_bshift; /* ``lblkno'' 論理ブロック番号の計算 */ int32_t fs_fshift; /* ``numfrags'' フラグメント数の計算 */ /* 以下はコンフィギュレーションパラメータ */ int32_t fs_maxcontig; /* 連続したブロックの最大数 */ int32_t fs_maxbpg; /* シリンダグループあたりの最大ブロック数 */ /* これらのフィールドは他のフィールドから計算できる */ int32_t fs_fragshift; /* フラグメントシフトするブロック */ int32_t fs_fsbtodb; /* fsbtodb と dbtofsb シフト定数 */ int32_t fs_sbsize; /* スーパブロックの実際の大きさ */ int32_t fs_csmask; /* csum ブロックオフセット */ int32_t fs_csshift; /* csum ブロック数 */ int32_t fs_nindir; /* NINDIR の値 */ int32_t fs_inopb; /* INOPB の値 */ int32_t fs_nspf; /* NSPF の値 */ /* 別のコンフィギュレーションパラメータ */ int32_t fs_optim; /* 最適化の選択、以下を参照 */ /* これらのフィールドはハードウェアから引き出される */ int32_t fs_npsect; /* 予備を含むトラックあたりのセクタ数 */ int32_t fs_interleave; /* ハードウェアセクタインタリーブ */ int32_t fs_trackskew; /* トラックあたりのセクタ 0 ゆがみ */ /* fs_id は未使用の fs_headswitch と fs_trkseek のフィールドの空間を保持 */ int32_t fs_id[2]; /* ユニークなファイルシステム ID */ /* シリンダグループの数とサイズにより決められるサイズ */ ufs_daddr_t fs_csaddr; /* シリンダグループ総括領域のブロックアドレス */ int32_t fs_cssize; /* シリンダグループ総括領域のサイズ */ int32_t fs_cgsize; /* シリンダグループサイズ */ /* これらのフィールドはハードウェアから引き出される */ int32_t fs_ntrak; /* シリンダあたりのトラック数 */ int32_t fs_nsect; /* トラックあたりのセクタ数 */ int32_t fs_spc; /* シリンダあたりのセクタ数 */ /* これはディスクドライバパーティション作成時のもの */ int32_t fs_ncyl; /* ファイルシステムのシリンダ数 */ /* これらのフィールドは他のフィールドから計算できる */ int32_t fs_cpg; /* グループあたりのシリンダ数 */ int32_t fs_ipg; /* グループあたりの inode 数 */ int32_t fs_fpg; /* グループあたりのブロック数 * fs_frag */ /* このデータはクラッシュ後に再計算されなければならない */ struct csum fs_cstotal;/* シリンダ総括情報 */ /* 以下のフィールドはマウント時にクリアされる */ int8_t fs_fmod; /* スーパブロック変更フラグ */ int8_t fs_clean; /* ファイルシステムがクリーンであるフラグ */ int8_t fs_ronly; /* 読み込み専用でマウントされたフラグ */ int8_t fs_flags; /* 現在未使用のフラグ */ int8_t fs_fsmnt[MAXMNTLEN]; /* マウントされている名前 */ /* これらのフィールドは現在のブロックの配置情報を保持する */ int32_t fs_cgrotor; /* 最後に検索された cg */ struct csum *fs_csp[MAXCSBUFS]; /* fs_cs 情報バッファのリスト */ int32_t *fs_maxcluster;/* 各シリンダグループの最大クラスタ */ int32_t fs_cpc; /* postbl 内のサイクルあたりのシリンダ */ int16_t fs_opostbl[16][8]; /* 旧回転ブロックリストヘッド */ int32_t fs_sparecon[50]; /* 将来のために予約された定数 */ int32_t fs_contigsumsize; /* クラスタ総括配列の大きさ */ int32_t fs_maxsymlinklen; /* 内部シンボリックリンクの最大長 */ int32_t fs_inodefmt; /* ディスク上の inode のフォーマット */ u_int64_t fs_maxfilesize;/* 最大表示可能ファイルサイズ */ int64_t fs_qbmask; /* ~fs_bmask - 64 ビットサイズで使う */ int64_t fs_qfmask; /* ~fs_fmask - 64 ビットサイズで使う */ int32_t fs_state; /* fs_clean フィールドが有効であることを示す */ int32_t fs_postblformat;/* 位置レイアウトテーブルのフォーマット */ int32_t fs_nrpos; /* 回転位置の数 */ int32_t fs_postbloff; /* (u_int16) 回転ブロックリストヘッド */ int32_t fs_rotbloff; /* (u_int8) 各回転毎のブロック */ int32_t fs_magic; /* マジックナンバ */ u_int8_t fs_space[1]; /* 各回転毎のブロックのリスト */ /* 実際はもっと長い */ }; /* * ファイルシステム識別 */ #define FS_MAGIC 0x011954 /* fast ファイルシステムのマジックナンバ */ #define FS_OKAY 0x7c269d38 /* スーパブロックチェックサム */ #define FS_42INODEFMT -1 /* 4.2BSD inode フォーマット */ #define FS_44INODEFMT 2 /* 4.4BSD inode フォーット */ /* * 最適化のための選択 */ #define FS_OPTTIME 0 /* 最小アロケーション時間 */ #define FS_OPTSPACE 1 /* 最小ディスクフラグメンテーション */ /* * 回転レイアウトテーブルフォーマットタイプ */ #define FS_42POSTBLFMT -1 /* 4.2BSD 回転テーブルフォーマット */ #define FS_DYNAMICPOSTBLFMT 1 /* 動的回転テーブルフォーマット */ .Ed .Pp 各ディスクドライブはいくつかのファイルシステムを含んでいます。 1 つのファイルシステムは、いくつかのシリンダグループから成ります。 各シリンダグループには inode とデータがあります。 .Pp ファイルシステムは、シリンダグループを順番に記述するスーパブロックに よって記述されています。 スーパブロックは重要なデータであり、壊滅的な損失から守るために 各シリンダグループに複製されています。 これはファイルシステム作成時に行なわれ、重要なスーパブロックデータは 変更されないので、特に惨事がふりかからなければ、複製が参照される 必要はありません。 .Pp inode に保存されたアドレスによって、`ブロック' のフラグメントの 位置を決めることができます。 ファイルシステムブロックのほとんどは .Dv MAXBSIZE ですが、2, 4, 8 個に分けることが自由にでき、 それぞれを位置指定できます。 これらの断片は .Dv DEV_BSIZE または .Dv DEV_BSIZE 単位の倍数であれば良いのです。 .Pp 大きなファイルは、非常に大きなデータブロックからなります。 ディスクスペースの過度の浪費を避けるために、小さなファイルの 最後のデータブロックは、 大きなブロックのフラグメントが必要な数だけ配置されます。 ファイルシステムフォーマットは、そのようなフラグメント (大きなブロックを 分割した一片) の 1 つへのポインタだけを保持します。 そのようなフラグメントの大きさは、 inode にある情報から決定することができ、 .Fn blksize fs ip lbn マクロが使っています。 .Pp ファイルシステムは、提供可能な空きをフラグメントレベルで記録します。 つまり、ブロックの空きを決定するために、フラグメントを並べて調べます。 .Pp root inode は、ファイルシステムのおおもとです。 inode 0 は、通常の目的では使われず、歴史的に バッドブロックは inode 1 にリンクされます。 したがって root inode は、2 です (inode 1 は、もはやこの目的では使われませんが、 多くのダンプテープがこの仮定をしているので、それについては変更できません)。 .Pp .Fa fs_minfree 要素は、空いているファイルシステムブロックの最低許容割合を与えます。 空きリストがこのレベル以下になった場合、スーパユーザ だけがブロックの確保を続けることができます。 .Fa fs_minfree 要素は、空きブロックの予備が必要ないと思われたら 0 にセットしても かまいませんが、ファイルシステムが 90% 以上詰まった状態で動いているときには、 かなり性能が低下するでしょう。 そのためデフォルトの .Fa fs_minfree の値は 10% になっています。 .Pp 経験上、ブロックフラグメンテーションと 90% 使用中のディスク全体の利用 の兼ね合いが最も良いのは、フラグメンテーション 8 のときです。 そのためデフォルトのフラグメントサイズはブロックサイズの 8 倍になっています。 .Pp 要素 .Fa fs_optim はファイルシステムがブロックを確保するのに要する時間を最小に しようとするか、それともディスク上の領域のフラグメンテーションを最小に しようとするかを指定します。 fs_minfree (上記参照) の値が 10% より小さい場合は、ファイルシステム は空間の最適化をデフォルトとし、 完全な大きさのブロックがなくならないようにします。 minfree の値が 10% と等しいかそれ以上の場合には、フラグメンテーション が問題とはなりにくく、ファイルシステムは時間の最適化をデフォルトに します。 .Pp .Em シリンダグループに関連した制限 : 連続したブロックを最小の回転遅れで配置することができるよう、 各シリンダは異なる回転位置での利用可能なブロック数を保持し続けます。 デフォルトでは回転位置を 8 分割で表し、このときの総括情報の分解能は 典型的な 3600 rpm のドライブで 2ms になります。 .Pp 要素 .Fa fs_rotdelay は、同一シリンダ上で別のディスク転送を開始する 最小ミリ秒数を与えます。 これは、あるファイル中のディスクブロックの周回の中での最適な配置を 決定するのに使われます。 デフォルトの .Fa fs_rotdelay の値は 2ms です。 .Pp 各ファイルシステムは、静的に割り当てられた数の inode を持っています。 inode は、ディスク空間あたり .Dv NBPI バイト確保されます。 inode を配置する戦略は、極端に保守的です。 .Pp .Dv MINBSIZE が許される最小のブロックサイズです。 .Dv MINBSIZE が 4096 では、2 段までの(ブロック)間接参照を使って 2^32 の大きさのファイルを作ることができます。 .Dv MINBSIZE は、シリンダグループブロックを保持するのに十分な大きさでなければ なりません。 したがって .Pq Fa 構造体 cg への変更は大きさを .Dv MINBSIZE 以内にしておかなければなりません。 スーパブロックは決して .Dv SBSIZE の大きさ以上ではないということに注意して下さい。 .Pp ファイルシステムがマウントされているパス名は、 .Fa fs_fsmnt に保持されます。 .Dv MAXMNTLEN は、この名前のためにスーパブロックに割り当てられた領域の量を定義します。 ファイルシステム毎の総括情報の量の上限は、 .Dv MAXCSBUFS により定義されています。 4096 バイトブロックサイズの場合では、これは現在最大 200 万シリンダ分 用意されています。 .Pp それぞれのシリンダグループ情報は、先頭のシリンダグループ データブロックから確保されたブロックに要約されます。 これらのブロックはスーパブロックに加えて .Fa fs_csaddr ( .Fa fs_cssize の大きさ) から読み込まれます。 .Pp .Sy 注意: .Fn sizeof "struct csum" は .Fn fs_cs マクロを動かすために 2 のべき乗でなければなりません。 .Pp .Em "ファイルシステムのスーパブロック" : 周回レイアウトテーブルの大きさは、スーパブロックが .Dv SBSIZE の大きさを持つことにより制限されています。 これらのテーブルの大きさは、ファイルシステムのブロックサイズに .Em 逆比例 します。 セクタサイズが 2 のべき乗でないときには、周回パターンを .Pq Fa fs_cpc だけ繰り返すまでに含まれるシリンダ数が増加するので、 同様にテーブルの大きさも増加します。 周回レイアウトテーブルの大きさは、 .Pq Fa struct fs に残っているバイト数から割り出されます。 .Pp シリンダグループあたりのデータブロック数は、シリンダグループが たかだか 1 ブロックであるので、制限されています。 inode と空きブロックテーブルは、単一ブロックから シリンダグループ構造体 .Pq Fa struct cg のための領域を除いた残りにぴったり合っていなければなりません。 .Pp .Em Inode : inode は、 -.Tn UNIX +.Ux ファイルシステム内のすべてのファイルに関する動作の中心です。 各アクティブなファイル、カレントディレクトリ、マウントされたファイル、 テキストファイル、root には、それぞれユニークな inode が割り当てられます。 inode はそのデバイス / i 番号によって `名前付け' されています。 詳しくはインクルードファイル .Aq Pa ufs/ufs/inode.h を参照して下さい。 .Sh 歴史 filsys と名付けられたスーパブロック構造は .At v6 から登場しました。このマニュアルで記述されているファイルシステムは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/fstab.5 b/ja_JP.eucJP/man/man5/fstab.5 index a1d71f2f19..09d5351ca5 100644 --- a/ja_JP.eucJP/man/man5/fstab.5 +++ b/ja_JP.eucJP/man/man5/fstab.5 @@ -1,236 +1,236 @@ .\" Copyright (c) 1980, 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)fstab.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/fstab.5,v 1.24 2002/01/09 15:43:07 ru Exp % +.\" %FreeBSD: src/share/man/man5/fstab.5,v 1.25 2002/12/12 17:25:57 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 5, 1993 .Dt FSTAB 5 .Os .Sh 名称 .Nm fstab .Nd ファイルシステムに関する静的情報 .Sh 書式 .In fstab.h .Sh 解説 .Nm ファイルは、さまざまなファイルシステムについて記述した情報を格納します。 .Nm はプログラムによって読み出されるだけで、書き込みはされません。 このファイルを適切に作成、保守するのはシステム管理者の責務です。 各ファイルシステムは個別の行に記述されます。 各々の行のフィールドはタブまたはスペースによって区切られます。 .Xr fsck 8 , .Xr mount 8 , .Xr umount 8 が .Nm を通じて必要な処理を連続して繰り返すため、 .Nm のレコードの順序は重要な意味を持ちます。 .Pp 第 1 フィールド .Pq Fa fs_spec はマウントされるブロック型スペシャルデバイス、またはリモートのファイル システムを表します。 .Em ufs 形式のファイルシステムでは、特殊ファイル名はブロック型特殊ファイル名であり、 キャラクタ型特殊ファイル名ではありません。 プログラムがキャラクタ型特殊ファイル名を必要とする場合、そのプログラム が特殊ファイル名の中の最後の ``/'' の後ろに ``r'' を追加することで キャラクタ特殊ファイル名を作成する必要があります。 .Pp 第 2 フィールド .Pq Fa fs_file はファイルシステムのマウントポイントを表します。 スワップパーティションでは、このフィールドには ``none'' と記述すべきです。 .Pp 第 3 フィールド .Pq Fa fs_vfstype はファイルシステムの形式を表します。 システムはさまざまなファイルシステム形式をサポートできます。 ルート、 /usr および /tmp のファイルシステムだけはカーネルに静的に組み 込まれている必要があります。 他のすべてのファイルシステムはマウント時に自動的にロードされます (例外 : UFS 系 - FFS, LFS は現在のところデマンドロードは できません)。 いまだに他のファイルシステムも同様に静的に組み込むのを好む人もいるようです。 .Pp 第 4 フィールド .Pq Fa fs_mntops は、ファイルシステムに関連するマウントオプションを表します。 これはコンマで区切られたオプションのリストとして記述されます。 これは少なくともマウントの形式 (以下の .Fa fs_type 参照) を含み、加えてファイルシステム形式に特有のいくつかの追加の オプションを含みます。 指定可能なオプションフラグに関しては、 .Xr mount 8 ページおよび .Xr mount_nfs 8 等のファイルシステム固有のページの、オプションフラグ .Pq Fl o を参照してください。 .Pp ``userquota'' および ``groupquota'' オプションの双方、またはいずれかが 指定されている場合、ファイルシステムは自動的に .Xr quotacheck 8 コマンドによって処理され、ユーザおよびグループクォータが .Xr quotaon 8 で有効にされます。 デフォルトでは、ファイルシステムのクォータは関連するファイルシステムの ルートに置かれた .Pa quota.user および .Pa quota.group というファイルで管理されます。 これらのデフォルトは、クォータオプションの直後に等号とデフォルトに代わる 絶対パス名を置くことで変更することができます。 従って、 .Pa /tmp のユーザクォータファイルを .Pa /var/quotas/tmp.user に置く場合、そのファイルの場所は以下のように指定されます。 .Bd -literal -offset indent userquota=/var/quotas/tmp.user .Ed .Pp ``noauto'' オプションが指定されている場合、ファイルシステムはシステム 起動時に自動的にマウントされません。 サードパーティタイプのネットワークファイルシステム (ベースシステムに含まれない追加ソフトウェアがサポートするタイプ) がシステム起動時に自動的にマウントされるようにするには、 .Va extra_netfs_types .Xr rc.conf 5 変数を使用し、 .Xr rc 8 起動スクリプトのネットワークファイルシステムタイプのリストを 拡張する必要があります。 .Pp マウント形式は .Fa fs_mntops フィールドから取り出され、 .Fa fs_type フィールドに個別に保存されます ( .Fa fs_mntops フィールドからは削除されません)。 .Fa fs_type が ``rw'' または ``ro'' ならば、 .Fa fs_file フィールドで指定されたファイルシステムは、読み書き可能、または読み出し 専用で指定の特殊ファイルに正常にマウントされます。 .Fa fs_type が ``sw'' ならば、特殊ファイルはシステムのリブート処理の最後に .Xr swapon 8 コマンドによってスワップ領域の一部として使用されます。 .Fa fs_spec と .Fa fs_type 以外のフィールドは使用されません。 .Fa fs_type が ``xx'' と指定されている場合、このエントリは無視されます。 これは、現在使用されていないディスクパーティションを表すのに便利です。 .Pp 第 5 フィールド .Pq Fa fs_freq は、どのファイルシステムがダンプされる必要があるか決定するために .Xr dump 8 コマンドによって使用されます。 第5フィールドが与えられていない場合は 0 が返され、 .Nm dump コマンドはそのファイルシステムをダンプする必要がないと見なします。 .Pp 第 6 フィールド .Pq Fa fs_passno は、リブート時にファイルシステムのチェックが行われる順序を決定するために .Xr fsck 8 プログラムによって使用されます。 ルートファイルシステムは .Fa fs_passno に 1、他のファイルシステムは .Fa fs_passno に 2 が指定されているべきです。 1つのドライブ内のファイルシステムは逐次的にチェックされますが、 異なるドライブ上のファイルシステムは、ハードウェアの並列性を利用して 同時にチェックされます。 第6フィールドが与えられていないか 0 の場合、0 が返され、 .Xr fsck 8 コマンドはそのファイルシステムをチェックする必要がないと見なします。 .Bd -literal #define FSTAB_RW "rw" /* 読み書き可能デバイス */ #define FSTAB_RQ "rq" /* クォータ付き読み書き可能デバイス */ #define FSTAB_RO "ro" /* 読み出し専用デバイス */ #define FSTAB_SW "sw" /* スワップデバイス */ #define FSTAB_XX "xx" /* 完全に無視 */ struct fstab { char *fs_spec; /* ブロック型スペシャルデバイス名 */ char *fs_file; /* ファイルシステムのパスのプレフィックス */ char *fs_vfstype; /* ufs,nfs などのファイルシステム形式 */ char *fs_mntops; /* -o に準拠したマウントオプション */ char *fs_type; /* fs_mntops から FSTAB_* のコピー */ int fs_freq; /* ダンプ周期の日数 */ int fs_passno; /* 並列 fsck のパス番号 */ }; .Ed .Pp .Pa fstab のレコードを適切に読み出すには、 .Xr getfsent 3 , .Xr getfsspec 3 , .Xr getfstype 3 , .Xr getfsfile 3 ルーチンを使用します。 .Sh 関連ファイル .Bl -tag -width /etc/fstab -compact .It Pa /etc/fstab .Nm ファイルは .Pa /etc に存在します。 .El .Sh 関連項目 .Xr getfsent 3 , .Xr getvfsbyname 3 , .Xr dump 8 , .Xr fsck 8 , .Xr mount 8 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr swapon 8 , .Xr umount 8 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/isdnd.rc.5 b/ja_JP.eucJP/man/man5/isdnd.rc.5 index 48bf97d36e..5a9fa4efda 100644 --- a/ja_JP.eucJP/man/man5/isdnd.rc.5 +++ b/ja_JP.eucJP/man/man5/isdnd.rc.5 @@ -1,1066 +1,1066 @@ .\" .\" Copyright (c) 1997, 2002 Hellmuth Michaelis. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/i4b/isdnd/isdnd.rc.5,v 1.30 2002/08/12 07:52:39 hm Exp % +.\" %FreeBSD: src/usr.sbin/i4b/isdnd/isdnd.rc.5,v 1.31 2002/11/27 15:24:11 ru Exp % .\" .\" last edit-date: [Sun Aug 11 20:07:38 2002] .\" .\" $FreeBSD$ .\" .\" WORD: exchange 交換局 .\" WORD: subscribe (AOCD サービス等を) 申し込んでいる .Dd August 11, 2002 .Dt ISDND.RC 5 .Os .Sh 名称 .Nm isdnd.rc .Nd isdn4bsd ISDN 接続管理デーモンの設定ファイル書式 .Sh 解説 (コマンドラインで別のものを指定しない限り) ファイル .Pa /etc/isdn/isdnd.rc は、 .Xr isdnd 8 ISDN 接続管理デーモンの実行時設定を格納します。 本デーモンは、isdn4bsd パッケージの一部です。 .Pp 設定ファイルには、第 1 桁から始まるキーワードが複数含まれます。 キーワードの後には、1 個以上の空白・タブ、単一の等号、1 個以上の空白・タブ、 キーワード依存のパラメータ値と続きます。 .Pp 文字 '#' で開始する行はコメント行として扱われます。 .Pp ブール値指定を要求するキーワードに対しては、真を .Em yes または .Em on で与え、偽を .Em no または .Em off で与えます。 .Pp 設定ファイルには、単一の .Em システム セクションと 1 個以上の .Em コントローラ セクションと 1 個以上の .Em エントリ セクションが含まれます。 .Em システム セクションでは、デーモンの操作に関するパラメータや 単一のリモート接続に関連付けられないパラメータを設定可能です。 .Em コントローラ セクションでは、特定のコントローラに関するパラメータを設定可能です。 .Em エントリ セクションでは、 単一のリモート接続に直接関連付けられたパラメータを設定可能です。 .Pp 次のキーワードを .Nm isdnd は理解します: .Pp .Bl -tag -width system .It Li system 本キーワードにより、システム設定セクションが開始します。 パラメータを伴ってはなりませんし、1 度のみ使用可能です。 本キーワードは必須です。 次のキーワードは、システム設定セクション内で有効です: .Bl -tag -width useacctfile .It Li acctall 本パラメータを .Em on に設定すると、 ローカルサイトが課金されてない場合や、 課金情報が利用不能だったり課金情報を申し込んでいない場合でも、 アカウンティング情報が書き込まれます。(省略可能) .It Li acctfile キーワード .Em useacctfile (後述) が .Em on に設定されたときに使用されるアカウンティングファイルの名前を指定します。 システムキーワード .Em rotatesuffix を参照してください。 本キーワードを指定しないと、システムデフォルトが使用されます。(省略可能) .It Li add-prefix .Em on に設定されると、着呼番号に対して「番号の型」指示子が検索され、 後述の .Em prefix-national と .Em prefix-international キーワードに指定されるように番号が調整されます。 本キーワードを指定しないと、システムデフォルト (off) が使用されます。 (省略可能) .It Li aliasing 本パラメータが .Em on に設定されると、電話番号から名前へのエイリアス処理が有効にされます (後述の .Em aliasfile キーワードも参照)。デフォルトは off です。(省略可能) .It Li aliasfile .Em aliasing キーワードによりエイリアス処理が有効にされたときに .Xr isdntel 1 ユーティリティと共有される、 電話番号から名前へのエイリアスデータベースファイルの名前を指定します。 (省略可能) .It Li beepconnect 全画面モードにおいて、本パラメータが .Em on に設定されると、呼の接続または切断時にベルを鳴らします。 .It Li extcallattr 本パラメータが .Em on に設定されると、拡張の発呼者属性である「スクリーニング指示子」 と「プレゼンテーション指示子」がログファイルに書き込まれます。 デフォルトは off です。(省略可能) .It Li holidayfile 祭日の日付を含む、祭日ファイルの名前を指定します。 本ファイルは .Em valid キーワードと共に使用して、祭日の日付を検索に使用します。(省略可能) .It Li isdntime 本パラメータが .Em on に設定されると、(提供されるならば) 交換局から得られる日付/時刻情報を ログファイルに書き込みます。デフォルトは off です。(省略可能) .It Li mailer 本キーワードは、コマンドラインで "-s" フラグにてサブジェクトを指定可能な、 メールプログラムのパス/名前を指定するために使用します。 .Nm の致命的エラーによる終了の場合、キーワード .Em mailto で指定される管理者宛へのメール送信に、このプログラムが使用されます。 (省略可能) .It Li mailto 本キーワードは、 .Nm の致命的エラーによる終了の場合に通知を受ける人の電子メールアドレスを 指定するために使用します (キーワード .Em mailer も参照してください)。 (省略可能) .It Li monitor-allowed 本パラメータが .Em on または .Em yes に設定されると、 ローカルマシンまたはリモートマシンを介した監視が有効になります。 本パラメータは省略可能であり、デフォルトで .Em off に設定されます。 .It Li monitor-port リモート監視用の TCP ポート番号を設定します。 本整数パラメータは省略可能であり、デフォルトでポート 451 に設定されます。 .It Li monitor 本キーワードは、ローカルソケット名または、 リモート監視用にホストまたはネットワークを指定します。 .Em monitor の指定は次のいずれかです: .Pp .Bl -tag -width Ds -compact .It Ar ローカル (UNIX ドメイン) ソケット名 文字 "/" で開始する必要があります。例: /var/run/isdn-monitor .It Ar ドット付き 4 つ組のホスト指定 例: 192.168.1.2 .It Ar ドット付き 4 つ組のネットワークアドレスとネットマスク 例: 192.168.1.0/24 .It Ar 解決可能なホスト名 例: localhost .It Ar 解決可能なネットワーク名とネットマスク 例: up-vision-net/24 .El .It Li monitor-access 本キーワードは、以前使用した .Em monitor キーワードのアクセス権限を指定します。 サポートされているアクセス権限は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar fullcmd .It Ar restrictedcmd .It Ar channelstate .It Ar logevents .It Ar callin .It Ar callout .El .It Li prefix-international .Em add-prefix スイッチ (前述) と組み合わせることにより、 国際番号タグ付きの着呼番号に対するプレフィックス番号文字列を指定します。 エイリアスが使用された場合、それらも相応に調整されます。 (省略可能) .It Li prefix-national .Em add-prefix スイッチ (前述) と組み合わせることにより、 国内番号タグ付きの着呼番号に対するプレフィックス番号文字列を指定します。 エイリアスが使用された場合、それらも相応に調整されます。 (省略可能) .It Li ratesfile 料金ファイルの名前を指定します。 本キーワードが省略された場合、システムデフォルトが使用されます。(省略可能) .It Li regexpr 本キーワードは、正規表現を指定するために使用されます。 1 度以上、コンパイル時依存の回数 (現在、ソースにおける MAX_RE の定義では 5 回) まで指定することが可能です。 .Pp 指定した全正規表現は実行時にログ文字列と比較され、 マッチした場合には、ログテキストをパラメータとしてプログラムが実行されます (後述のキーワード .Em regprog も参照)。 .Pp 正規表現の指定方法については、 .Xr re_format 7 と .Xr regex 3 を参照してください。 .Em 拡張 正規表現の書式がサポートされています。 .Pp ヒント: 設定ファイルのパーザが不適切に解釈することを避けるために、 式を適切にクォートする必要があるかもしれません。 (省略可能) .It Li regprog 本キーワードは、対応する正規表現がログ文字列にマッチした場合に実行される、 プログラムの名前を指定するために使用されます。 .Nm isdnd は、パス .Pa /etc/isdn 以下でプログラムを見付けられるものと期待します。 このパスは、本キーワードのパラメータとして指定された文字列の前に付けられます。 (省略可能) .It Li rotatesuffix ログファイルおよびアカウンティングファイルの改名に使用するサフィックスを 指定します。 rotatesuffix が使用され USR1 シグナルが isdnd に送られた場合、 ログファイルとアカウンティングファイルは、 閉じられて再度開けられることに加え、 元の名前に rotatesuffix 文字列を後置した名前に改名されます。 本キーワードを省略すると、ログファイルは単に閉じられて再度開けられます。 これはまたデフォルト時の動作です。(省略可能) .It Li rtprio .Nm isdnd が実行されるリアルタイム優先度を、0 〜 31 の範囲の整数値で指定します。 0 は最高の優先度です。 本キーワードは省略可能です。 指定しない場合、 .Nm isdnd の処理優先度はまったく修正されません。( .Xr rtprio 1 も参照)。 本キーワードは、 .Nm を -DUSE_RTPRIO 付きでコンパイルした場合にのみ利用可能です。 .It Li useacctfile 本パラメータが .Em on に設定された場合、(利用可能な場合) 課金情報とアカウンティング情報が アカウンティングファイルに書き込まれます。(省略可能) .El .It Li controller 本キーワードは、コントローラ設定セクションを開始します。 パラメータを持ってはなりませんし、各コントローラに対して 1 回使用可能です。 本キーワードは省略可能です。 次のキーワードが、コントローラ設定セクションで有効です: .Bl -tag -width useacctfile .It Li protocol 本キーワードは、 コントローラが接続された S0 バスの D チャネルプロトコルの設定に使用されます。 次のパラメータが、現在サポートされています: .Pp .Bl -tag -width calledback .It Ar dss1 ITU 勧告 Q.921 および Q.931 に従う、 DSS1 または所謂 "Euro-ISDN" D チャネルプロトコル。 .It Ar d64s 単一 B チャネル付き ISDN リースライン (ドイツでは所謂 D64S)。 .El .It Li firmware 本キーワードは、 .Li firmware Ns = Ns Ar /path/to/file のように使用し、 .Em iavc ドライバがサポートする能動的なコントローラ (AVM B1, T1) に ファームウェアをダウンロードします。 本キーワードは全コントローラタイプでサポートされており、 指定したファイルを引数として .Dv I4B_CTRL_DOWNLOAD ioctl を起動します。 能動的および受動的な両方のアダプタを装備するシステムで、 受動的なカードが最初に検出されるものでは、 正しいファームウェアを正しいアダプタにダウンロードするために、 ダミーの .Ql controller エントリが受動的なカード用に必要です。 .El .It Li entry 本キーワードにより、単一の設定エントリが開始します。 パラメータを伴ってはなりません。 本キーワードは、少なくとも 1 度は使用する必要があります。 次のキーワードは、エントリセクション内で有効です: .Bl -tag -width unitlengthsrc .It Li answerprog 本キーワードは、着信電話接続が設定エントリにおいて .Em answer を指定した場合に実行される、プログラムの名前を指定するために使用されます。 デフォルト名は .Em answer です。 .Nm isdnd は、パス .Pa /etc/isdn 以下でプログラムを見付けられるものと期待します。 このパスは、本キーワードのパラメータとして指定された文字列の前に付けられます。 (省略可能) .It Li alert 呼 (call) を受け付ける前に待つ秒数を指定するために使用します。 本キーワードは、電話着呼 (dialin-reaction = answer) のためにのみ指定可能です。 留守番マシンが実行を開始する前に、 電話の着呼 (incoming call) を受け付ける機会を持つために使用します。 本パラメータの最小値は 5 秒であり、パラメータの最大値は 180 秒です。 (省略可能) .It Li b1protocol 本接続に使用される B チャネルのレイヤ 1 プロトコルです。 本キーワードは必須です。 現在設定可能な値は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar hdlc HDLC フレーミング。 .It Ar raw フレーミングを行わない (電話通信のために使用)。 .El .It Li bcap 本接続に対し、特殊な運搬 (bearer) ケーパビリティを使用します。 本キーワードは省略可能です。 .Pp .Em dov 以外の値は、 .Em b1protocol キーワード (上述) で設定された運搬ケーパビリティを設定することになります。 現在使用可能な設定値は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar dov この接続は .Em Dov (データオーバボイス) 接続です。 b1protocol キーワードは .Em hdlc に設定する必要があります。 この機能は試験的であり、発呼においてのみ動作します。 .El .It Li budget-calloutperiod 秒単位で時間を指定します。 この期間内は、 .Em budget-calloutncalls で指定された回数の呼が成功を許されますが、 これを越える発呼は残りの期間ブロックされます。 (省略可能) .It Li budget-calloutncalls .Em budget-calloutperiod の期間に許された発呼数。(省略可能) .It Li budget-calloutsfile 成功した発呼数が書き込まれるファイルのパスとファイル名。 isdnd の起動時にファイルが存在する場合、内容は保存されます。 ファイルの書式は、起動時刻、最後の更新時刻、呼の数です。 (省略可能) .It Li budget-calloutsfile-rotate .Em on に設定すると、毎晩次の日にファイルを更新しようとする機会に、 新規ファイルに budget-calloutsfile を回転します。 前日の統計情報が budget-calloutsfile で指定されるファイル名に ハイフンと新しい日付 (!) が付けられたファイルに書き込まれます。 (省略可能) .It Li budget-callbackperiod .It Li budget-callbackncalls .It Li budget-callbacksfile .It Li budget-calloutsfile-rotate 前述の .Em budget-calloutperiod , .Em budget-calloutncalls , .Em budget-calloutsfile , .Em budget-calloutsfile-rotate を見てください。 リモートサイトへのコールバックに使用される予算を指定します。 .It Li callbackwait リモートサイトからの呼を切ってから リモートサイトにコールバックするまでに待つ秒数です。(省略可能) .It Li calledbackwait ローカルサイトがリモートサイトを呼び出した後、 リモートサイトがローカルサイトにコールバックするまでに待つ秒数です。(省略可能) .It Li clone 指定した既存エントリの内容を現在のエントリへコピーします。 この機能を使う場合、新規エントリ固有の .Ql name と .Ql usrdeviceunit の値は最低限現在のエントリに指定してください。 .It Li connectprog 接続確立後でアドレスネゴシエーション完了後 (すなわち接続が使用可能時) に実行するプログラムを指定します。 .Nm はパス .Pa /etc/isdn 以下でプログラムを見付けられるとを期待し、 本キーワードに指定したパラメータの前にこのパスを付けます。 接続および切断で指定するプログラムは、次のコマンドライン引数を取ります: -d (デバイス) -f (フラグ) [ -a (アドレス) ] 場所 .Em デバイス はデバイス名であり、例えば "isp0"です。 .Em フラグ は接続アップ時には "up" であり、 インタフェースがダウン状態になった場合は "down" です。 .Em アドレス はインタフェースに割り当てられたアドレスであり、 ドット付き 4 つ組の IP アドレス (省略可能。isdnd が分かる場合のみ) です。 (省略可能) .It Li dialin-reaction 着信接続要求を受けた場合にどうするかを指定するために使用します。 本キーワードは必須です。 現在サポートされているパラメータは次の通りです: .Pp .Bl -tag -width calledback -compact .It Ar accept 着呼を受け付けます。 .It Ar reject 着呼を拒否します。 .It Ar ignore 着呼を無視します。 .It Ar answer 着信音声呼び出しに対して、留守番電話を開始します。 .It Ar callback リモートサイトが呼び出したとき、 その呼を切ってリモートサイトにコールバックします。 .El .It Li dialout-type 本キーワードは、どのタイプのダイヤルアウトモードが使用されるかを設定します。 本キーワードは必須です。 現在サポートされているパラメータは次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar normal 通常動作。呼を受け付けると思われるリモートサイトを呼び出します。 .It Ar calledback コールバック動作。 呼を拒否してから当方にコールバックするリモートサイトを呼び出します。 .El .It Li dialrandincr ダイヤル時または再ダイヤル時、本パラメータが .Em on に設定されていると、 ダイヤル再試行時間に乱数 (現在 0 〜 3 秒) が加えられます。 2 つのサイトが同期してダイヤルしてしまい、 他方もダイヤルしているために双方がダイヤルする度にビジーを検出するという機会を 最小化します。 .It Li dialretries ダイヤルをあきらめる前に再試行する回数です。(省略可能) .Em -1 に設定すると、再試行数は無限になります! .It Li direction 本キーワードは、発信着信・発信のみ・着信のみのいずれの接続が可能であるかを 設定するために使用します。 本キーワードは省略可能であり、デフォルトは .Em inout です。 .Pp 現在サポートされているパラメータは次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar inout 通常動作。接続の確立は、リモートからでもローカルからでも可能です。 .It Ar in 着信接続のみ可能です。 .It Ar out 発信接続のみ可能です。 .El .It Li disconnectprog 接続が閉じた後に実行するプログラム名です。 .Nm はパス .Pa /etc/isdn 以下でプログラムを見付けられるとを期待し、 本キーワードに指定したパラメータの前にこのパスを付けます。 (省略可能) .It Li downtries 失敗する試行回数を指定するために使用します。 試行 (=再試行サイクルです!) がこの回数だけ失敗すると、 インタフェースを ( .Em downtime 秒だけ) 無効にします。 (詳細はキーワード .Em usedown を参照)。本キーワードは省略可能です。 .It Li downtime .Em downtries の設定値の回数の後、 インタフェースが無効化される秒数を設定するために使用されます。 (詳細はキーワード .Em usedown を参照)。 本キーワードは省略可能であり、デフォルトで 60 秒に設定されます。 .It Li earlyhangup 次の課金単位となる前に接続を切るための (保険の) 秒数を指定します。 (省略可能) .It Li idle-algorithm-outgoing 発呼 (outgoing call) がアイドルであるとき、 何時接続を切るかを判定するのに使用するアルゴリズム。 現在使用可能なアルゴリズムは次の通りです: .Pp .Bl -tag -width calledback -compact .It Ar fix-unit-size 呼全体を通じて、固定長の課金単位を仮定する、アイドルアルゴリズムです。 .\" idle algorithm which assumes fixed sized changing units during the whole call. .\" の changing は charging であるはず。send-pr する .\" Nov 20 1999 .It Ar var-unit-size 最初の課金単位後は、時間ベースの課金を仮定する、アイドルアルゴリズムです。 .El .It Li idletime-outgoing 接続を切る前に発呼がアイドルとなる秒数。(省略可能) アイドルタイムアウトに 0 を指定すると、この機能を無効にします。 .It Li idletime-incoming 接続を切る前に着呼がアイドルとなる秒数。(省略可能) アイドルタイムアウトに 0 を指定すると、この機能を無効にします。 .It Li isdncontroller 本エントリの接続に使用される ISDN コントローラ番号。(必須) .It Li isdnchannel 本エントリの接続に対して使用される ISDN コントローラチャネル番号。 ここで明示的にチャネルを選択すると SETUP メッセージはそのチャネルを要求しますが、 リクエストに .Em 望ましい (preferred) (指定チャネルを望む) とマークするだけであって、 排他的 (指定チャネルのみ受け付ける) とマークするのではありません。 よって、交換局は要求されたチャネル以外を選択することが依然として可能です! (必須) .It Li isdntxdel-incoming .Xr timeout 9 カーネルサブルーチンに適合する遅延値であり、 .Em 着信 ISDN 接続に対して接続確立が成功した後に、 最初のパケットの送出をこの値だけ遅延させます。 指定単位は 1/100 秒です。 ゼロ (0) を指定すると本機能を無効化します。これがデフォルト値です。 本機能は .Xr i4bipr 4 IP over raw HDLC ISDN ドライバ用に実装されました (本ドライバに対してのみ意味を持ちます)。(省略可能) .It Li isdntxdel-outgoing .Xr timeout 9 カーネルサブルーチンに適合する遅延値であり、 .Em 発信 ISDN 接続に対して接続確立が成功した後に、 最初のパケットの送出をこの値だけ遅延させます。 指定単位は 1/100 秒です。 ゼロ (0) を指定すると本機能を無効化します。これがデフォルト値です。 本機能は .Xr i4bipr 4 IP over raw HDLC ISDN ドライバ用に実装されました (本ドライバに対してのみ意味を持ちます)。(省略可能) .It Li local-phone-dialout ローカルサイトからダイヤルアウトする場合に使用される、ローカルの電話番号。 リモートサイトに対してダイヤルアウトするとき、 ここで指定した番号が .Em "発番号情報要素 (Calling Party Number Information Element)" に埋め込まれます。 .Pp 本キーワードは、 .Em ipr ユーザランドインタフェースのために必須です。 .It Li local-subaddr-dialout ローカルサイトからダイヤルアウトする場合に使用される、ローカルのサブアドレス。 リモートサイトに対してダイヤルアウトするとき、 ここで指定したサブアドレスが .Em "発番号情報要素 (Calling Party Number Information Element)" に埋め混まれます。 .Pp 本キーワードは、 .Em ipr ユーザランドインタフェースのために必須です。 .It Li local-phone-incoming 着呼の宛先を確認するために使用する、ローカルの電話番号です。 リモートサイトがダイヤルインするとき、 リモートサイトの希望接続先がローカルサイトであることを確認するために、 本番号を使用します。 この値は、電話交換局から得られる .Em "着番号情報要素 (Called Party Number Information Element)" と比較されます。 .Pp 本キーワードは .Em ipr インタフェースのために必須です。 .It Li name その設定エントリにシンボルによる名前を定義します。 全画面表示においてこの名前を使用して リモートサイトへのリンクを識別しやすくすることと、 アカウンティングに使用することを目的としています。(必須) .It Li maxconnecttime 最大の接続時間を秒単位で指定します。 B チャネル上の接続が持続する絶対的な上限を定義するために使用してください。 .Em 注意: この機能は接続時間を制限するために使用され、 接続試行回数は制限し「ません」。 使用する場合、budget 機能も有効にし、接続試行回数も制限してください (さもないと、回線の接続そして再接続が永遠に繰り返され、 電話会社からの請求書に好ましくない影響を与えます)! .It Li ppp-auth-paranoid .Em no に設定すると、 ローカルサイトに起因する接続の信頼性を、 リモートサイトが証明する必要はありません。 デフォルトは .Em yes であり、リモートサイトは常に証明する必要があります。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-send-auth が pap または chap に設定されている場合のみ使用します。 (省略可能) .It Li ppp-auth-rechallenge 相手が chap の再挑戦をサポートしていない場合、 .Em no に設定します。 デフォルトは .Em yes であり、リモートサイトの証明確認をもう一度行います。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-expect-auth が chap に設定されている場合のみ使用します。 (省略可能) .It Li ppp-expect-auth ローカルサイトは、リモートサイトの証明確認を、 指定した方法で行うものと期待します。 サポートされている方法は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar none 相手の証明を要求しません。 典型的には ISP へのダイヤルアウト (多くの ISP がクライアントを認証しません) か ローカルサイトで匿名ダイヤルインを提供する場合に使用します .It Ar chap パスワードを素のテキストで送る必要のない、好ましい認証方法です。 .It Ar pap 誰でも伝線を見て名前をパスワードを取得できてしまう、 防護されていない認証方法です。 .El .Pp .Em ppp-auth-paranoid を .Em no に設定すると (デフォルトは .Em yes です)、外向き接続ではリモートサイトの自身の証明を要求しません。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対してのみ使用します。 (省略可能) .It Li ppp-expect-name リモートサイトの認証にあたり、提供されることが必要な名前。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-expect-auth が pap または chap に設定されている場合のみ使用します。 (省略可能) .It Li ppp-expect-password リモートサイトの認証にあたり、提供されることが必要な秘密情報。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-expect-auth が pap または chap に設定されている場合のみ使用します。 (省略可能) .It Li ppp-send-auth リモートサイトが要求する認証方法。 現在サポートされている方法は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar none リモートサイトは、認証を期待しないかサポートしません。 .It Ar chap パスワードを素のテキストで送る必要のない、好ましい認証方法です。 .It Ar pap 誰でも伝線を見て名前をパスワードを取得できてしまう、 防護されていない認証方法です。 .El .Pp 本キーワードは、 .Em isp PPP インタフェースに対してのみ使用します。 (省略可能) .It Li ppp-send-name リモートホストに送られる、認証用の名前。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-send-auth が pap または chap に設定されている場合のみ使用します。 (省略可能) .It Li ppp-send-password ローカルサイトの証明のためにリモートホストに送られる、認証用の秘密情報。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-send-auth が pap または chap に設定されている場合のみ使用します。 (省略可能) .It Li ratetype 料金ファイル中の、使用する料金エントリ。(省略可能) .Pp 例えば、 ratetype=0 は /etc/isdn/isdnd.rates 中で "ra0" で開始する行を選択します (典型的には ra0 行は、 各曜日および各時刻における、ローカルの呼び出し料金の表集合です。) .It Li recoverytime ダイヤル再試行とダイヤル再試行の間に待つ秒数。(省略可能) .It Li remdial-handling 複数個の発信番号が指定された場合のダイヤルアウト動作を指定するために 使用されます。 現在サポートされているパラメータは次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar first 新規 (非再試行) 呼設定 (call setup) の度に、最初の番号から開始します。 .It Ar last 新規 (非再試行) 呼設定の度に、 接続確立が成功した最後の番号から開始します。 .It Ar next 新規 (非再試行) 呼設定の度に、 最後に使用したものの次の番号から開始します。 .El .It Li remote-phone-dialout ローカルサイトからダイヤルアウトする場合に使用される、リモートの電話番号。 リモートサイトに対してダイヤルアウトするとき、 ここで指定した番号が .Em "着番号情報要素 (Called Party Number Information Element)" に埋め込まれます。 .Pp 本キーワードは、ipr インタフェースのために必須です。 .\" 原文の .em (Execute Macro) は、引数無しの場合効果が無いので削除 .\" horikawa@jp.freebsd.org 1999/01/19 複数回指定して、 どれかひとつが成功するまでいくつかの番号に対して試行させることもできます。 .It Li remote-subaddr-dialout ローカルサイトからダイヤルアウトする場合に使用される、リモートのサブアドレス。 リモートサイトに対してダイヤルアウトするとき、 ここで指定したサブアドレスが .Em "着番号情報要素 (Called Party Number Information Element)" に埋め込まれます。 .Pp 本キーワードは、 .Em ipr インタフェースのために必須です。 remote-phone-dialout 番号にリンクさせ、そのうちのどれかひとつが成功するまで、 複数回指定可能です。 .It Li remote-phone-incoming 着呼を確認するために使用する、リモートの電話番号です。 リモートサイトがダイヤルインするとき、 ローカルシステムに対して接続する権限がある 正しいリモートサイトであることを確認するために、 本番号を使用します。 この値は、電話交換局から得られる .Em "発番号情報要素 (Calling Party Number Information Element)" と比較されます。 .Pp 本キーワードは ipr インタフェースのために必須です。 .Pp 本キーワードにワイルドカードパラメータ '*' を渡して、 誰もがダイヤルイン可能とできます。 .It Li remote-subaddr-incoming 着呼を確認するために使用する、リモートのサブアドレスです。 リモートサイトがダイヤルインするとき、 ローカルシステムに対して接続する権限がある 正しいリモートサイトであることを確認するために、 本サブアドレスを使用します。 この値は、電話交換局から得られる .Em "発番号情報要素 (Calling Party Number Information Element)" と比較されます。 .Pp 本キーワードは ipr インタフェースのために必須です。 .Pp 本キーワードにワイルドカードパラメータ '*' を渡して、 誰もがダイヤルイン可能とできます。 .It Li unitlength 秒数による課金単位の長さ。 アイドル時間とともに使用して、いつ接続を切るのかを決定します。 (省略可能) .It Li unitlengthsrc 本キーワードは、ショートホールドモードにおいて .Xr isdnd 8 がどこから unitlength を取得するかを指定します。 現在設定可能な値は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar none unitlength は、どこにも指定されません。 .It Ar cmdl コマンドラインで指定される unitlength を使用します。 .It Ar conf 設定ファイルでキーワード .Em unitlength で指定される unitlength を使用します。 .It Ar rate 設定ファイルにおいてキーワード .Em ratetype で指定される料金ファイル中の unitlength を使用します。 .It Ar aocd ISDN 回線において AOCD を申し込んでいる場合、 動的に計算される unitlength を使用します。 (AOCD は ```Advice Of Charge During the call (呼の間の課金アドバイス)'' の頭文字で、遠距離通信 (すなわち電話) 業者が提供する、 課金単位を示すサービスです)。 .El .It Li usrdevicename ISDN B チャネルデータをユーザランドにインタフェースするために使用する、 ユーザランドインタフェースを指定します。 本キーワードは必須です。 本キーワードは次のパラメータを受け付けます: .Pp .Bl -tag -width Ds -compact .It Ar ipr 本パラメータは raw HDLC IP over ISDN インタフェースを設定します。 .It Ar isp 本パラメータは shyncronous PPP over ISDN インタフェースを設定します。 .It Ar rbch 本パラメータは Raw B CHannel アクセスインタフェースを設定します。 .It Ar tel ISDN 電話通信。 .El .It Li usrdeviceunit usrdevicename が指定するデバイスの、ユニット番号を指定します。 .It Li usedown エントリセクションにおいて、キーワード .Em downtries と .Em downtime を有効にするために使用します。 (回線ビジーの場合等) 遷移に失敗する場合に、 過度のダイヤル動作を避けるために、 .Nm isdnd が IP インタフェースの有効・無効を動的に切り替えるために使用します。 本パラメータは省略可能であり、デフォルトで .Em off に設定されます。 .It Li usesubaddr サブアドレスを有効にするために使用します。 本パラメータは省略可能であり、デフォルトで .Em off に設定されます。 .It Li valid .Em 注 : この機能は実験用です! このキーワードへのパラメータは、エントリの有効期間を表す文字列です。 時間の指定は、曜日や祭日指定 (システムセクションの .Em holidayfile キーワードを参照してください) と、コロンに続けて、 オプションの時間の範囲を hh:mm-hh:mm で指定したものです。 曜日は 0 から 6 の数字で指定され、番号 7 は祭日です: .Pp .Bl -tag -width Ds -compact .It Ar 0 日曜日 .It Ar 1 月曜日 .It Ar 2 火曜日 .It Ar 3 水曜日 .It Ar 4 木曜日 .It Ar 5 金曜日 .It Ar 6 土曜日 .It Ar 7 祭日 .El .Pp 次の例は、german Telekom の "T-ISDN xxl" 料金表です: .Bl -tag -width Ds -compact .It Ar 1,2,3,4,5,6,09:00-18:00 月曜日から土曜日までの昼間 9:00 から 18:00 .It Ar 1,2,3,4,5,6,18:00-9:00 月曜日から土曜日までの夜間 18:00 から 9:00 .It Ar 0,7 日曜日と祭日、全 24 時間 .El .Pp 本キーワードは省略可能です。 .El .El .Sh アイドル時間の計算とショートホールドモード .Bl -tag -width "incoming calls .It Li 着呼 呼び出し側が課金構造などのほとんどを知っているものと見なすので、キーワード .Em idletime-incoming のみが着呼に機能します。 .Pp 着呼に対しては回線は定常的に監視され、 .Em idletime-incoming で指定する秒数の期間トラフィックが無い場合には、呼は閉じられます。 .Pp 典型的には、 .Em idletime-incoming は最終手段として使用するため、課金単位時間よりもずっと大きな値を設定します。 典型的な値は 1 〜 5 分です。 .It Li 発呼 発呼の切断時間を、3 種類の方法のいずれかに設定可能です: .Bl -tag -width "shorthold mode .It Li 単純モード 単純なモードであり、 .Em idle-algorithm-outgoing は .Em fix-unit-size であることが必要で、 .Em unitlength の選択値は 0 (ゼロ) であり .Em idletime-outgoing は 0 より大きいことが必要です。 .Pp 送信のトラフィックは定常的に監視され、 .Em idletime-outgoing で指定された秒数だけトラフィックが無かった場合、呼は閉じられます。 .Pp 単純なモードの典型値は 10 〜 30 秒です。 .It Li 固定単位課金用ショートホールドモード このショートホールドモードでは、 .Em idle-algorithm-outgoing であることが必要で、 .Em unitlength と .Em idletime-outgoing の選択値は 0 (ゼロ) より大きいことが必要であり、 .Em earlyhangup は 0 (ゼロ) 以上であることが必要です 。 .Bd -literal |||| | | | | +------------------+-------------+--------------+ | | | | | |<-idle-time->|| |<--------------unitlength--------------------->| .Ed .Pp チェック対象外ウィンドウ (uncheked window) は、 (unitlength - (idle-time + earlyhangup)) の長さであり、 この間アイドルチェックはされません。 チェック対象外ウィンドウが終ると、idle-time の期間、 回線にトラフィックが無いかチェックされます。 チェックウィンドウ (check-window) の期間にトラフィックが検出された場合、 次の単位 (unit) の先頭から同じ手続きが再度開始されます。 チェックウィンドウの期間トラフィックが検出されない場合、 チェックウィンドウ終了時に回線が閉じられます、 .Pp 注: .Em unitlength は .Em idletime-outgoing と .Em earlyhangup の合計よりも大きいことが必要 (!) です! .It 可変単位課金用ショートホールドモード このショートホールドモードでは、 .Em idle-algorithm-outgoing は .Em var-unit-size であることが必要で、 .Em unitlength と .Em idletime-outgoing の選択値は 0 (ゼロ) より大きいことが必要です。 .Pp このショートホールドモードは、 呼の課金が、経過時間と固定の接続課金からなる場合に向いています。 例えば British Telecom の課金がこの方法です。 .Pp 各呼は、2 つの期間に分割されます。 1 番目は .Em チェック対象外 (unchecked) 期間であり、2 番目は .Em チェック対象 (checked) 期間です。 .Em チェック対象 期間は、最初の単位時間が終る 1 秒前に開始します。 .Pp .Em チェック対象 期間では、 .Em idle-time 秒の間にトラフィックが無い場合、呼が切断されます。 .Pp .Bd -literal |<---unchecked------------------>|<------checked------> +------------------+-------------+ | |<-idle-time->| |<--------------unitlength------->| .Ed .Pp 経験からは、有用な idle-time は 15 秒から 30 秒です。 .Pp idle-time が短か過ぎると、 ネットワーク処理をまだ終えていないアプリケーションが新たな呼を発生します。 .Pp .El .El .Sh 関連ファイル .Bl -tag -width /etc/isdn/isdnd.rc -compact .It Pa /etc/isdn/isdnd.rc .Nm isdnd ISDN デーモンのデフォルトの設定ファイル。 .El .Sh 関連項目 .Xr regex 3 , .Xr re_format 7 , .Xr isdnd 8 , .Xr isdnmonitor 8 , .Sh 作者 .An -nosplit .Xr isdnd 8 デーモンと本マニュアルページは .An Hellmuth Michaelis Aq hm@FreeBSD.org .An Hellmuth Michaelis が書きました。 .Pp 本マニュアルページへ .An Barry Scott Aq barry@scottb.demon.co.uk が追加しました。 diff --git a/ja_JP.eucJP/man/man5/link.5 b/ja_JP.eucJP/man/man5/link.5 index fa2f27fcb4..a864bfe021 100644 --- a/ja_JP.eucJP/man/man5/link.5 +++ b/ja_JP.eucJP/man/man5/link.5 @@ -1,610 +1,610 @@ .\" Copyright (c) 1993 Paul Kranenburg .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Paul Kranenburg. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/link.5,v 1.24 2001/10/01 16:09:23 ru Exp % +.\" %FreeBSD: src/share/man/man5/link.5,v 1.25 2002/12/12 17:25:57 ru Exp % .\" .\" $FreeBSD$ .\" .Dd October 23, 1993 .Dt LINK 5 .Os .Sh 名称 .Nm link .Nd ダイナミックローダとリンクエディタインタフェース .Sh 書式 .In sys/types.h .In nlist.h .In link.h .Sh 解説 インクルードファイル .Aq Pa link.h では、ダイナミックにリンクされたプログラムやライブラリに含まれる 数種の構造体が宣言されています。 その構造体は、リンクエディタとローダ機構のいくつかの構成要素間の インタフェースを定義します。 バイナリ中でのこれらの構造体のレイアウトは 多くの点で a.out 形式に類似しており、 シンボル定義 (付随する文字列テーブルを含む) や外部エンティティへの参照を 解決するのに必要なリロケーションレコードといった、 よく似た機能を提供します。 それに加え、ダイナミックロードとリンク処理に固有のいくつかのデータ構造も 記録しています。このようなデータ構造としては、 リンクエディット処理を完結するのに必要な他のオブジェクトへの参照や、 異なるプロセス間でコードページの共有を進めるための .Em 位置独立コード (Position Independent Code 略して PIC) を機能させるための 間接テーブルがあります。 ここで述べるデータ構造全体を .Em ランタイムリロケーションセクション (RRS) と呼び、ダイナミックにリンクされるプログラムや共有オブジェクトの 標準テキスト及びデータセグメントに埋め込まれます。 これは、既存の .Xr a.out 5 形式には RRS のための場所が他にないからです。 .Pp あるプログラムを実行可能とする処理が、 システムリソースの使用を最適化しつつ正しく完了するよう、 複数のユーティリティが協調して働きます。 コンパイラは PIC コードを出力し、 それから .Xr ld 1 によって共有ライブラリが作られます。 コンパイラはまた、初期化される各データアイテムのサイズ情報を アセンブラディレクティブ .size を用いて記録します。 PIC コードは、ある間接テーブルを通じてデータ変数にアクセスする点で 従来のコードと異なっています。 この表はグローバルオフセットテーブルと呼ばれ、 慣習によって、予約名 .Dv _GLOBAL_OFFSET_TABLE_ によってアクセス可能です。 ここで用いられるメカニズムの詳細は機種依存ですが、通常は そのマシンのレジスタ 1 本がこの用途に予約されます。 このような仕組みの背景にある合理性は、 実際のロードアドレスとは独立したコードを生成することです。 実行時には、アドレス空間において様々な共有オブジェクトがロードされるアドレス に応じて、グローバルオフセットテーブルに含まれる値のみ変更すればよいのです。 .Pp 同様に、大域的に定義された関数の呼び出しは、 コアイメージのデータセグメント中に置かれている プロシージャリンケージテーブル (PLT) を通じて間接的に行われます。 これもまた、実行時にテキストセグメントを修正せずに済ませるためのものです。 .Pp リンクエディタがグローバルオフセットテーブルとプロシージャリンケージテーブルを 配置するのは、 複数の PIC オブジェクトファイルを結合して プロセスのアドレス空間にマップするのに適した 1 つのイメージにする時です。 リンクエディタはまた、実行時のリンクエディタが必要とする全てのシンボルを集め、 それらをイメージのテキストとデータのビット列と共にストアします。 もう 1 つの予約シンボル .Em _DYNAMIC は、実行時のリンク構造が存在することを示すのに用いられます。 _DYNAMIC が 0 にリロケートされる場合は、実行時リンクエディタを起動する 必要はありません。 もし _DYNAMIC が非 0 なら、_DYNAMIC は、必要なリロケーション情報と シンボル情報の位置を引き出すことができるデータ構造を指しています。 これは特に、スタートアップモジュール .Em crt0 で利用されます。 慣習として、_DYNAMIC 構造体は、 それが属するイメージのデータセグメントの最初に置かれます。 .Sh データ構造 ダイナミックリンクと実行時リロケーションをサポートするデータ構造は、 それらの処理の適用対象イメージのテキスト及びデータセグメントの 両方の中にあります。 テキストセグメントにはシンボル記述や名前といった読み取り専用データが含まれ、 他方データセグメントにはリロケーション処理で更新する必要のあるテーブル類が 含まれます。 .Pp シンボル _DYNAMIC は .Fa _dynamic 構造体を参照します: .Bd -literal -offset indent struct _dynamic { int d_version; struct so_debug *d_debug; union { struct section_dispatch_table *d_sdt; } d_un; struct ld_entry *d_entry; }; .Ed .Bl -tag -width d_version .It Fa d_version このフィールドは異なったバージョンのダイナミックリンク実装用に 提供されています。 .Xr ld 1 及び .Xr ld.so 1 が理解する現在のバージョン番号は、 .Tn SunOS 4.x リリースで用いられている .Em LD_VERSION_SUN (3) と、 .Fx 1.1 以来使用されている .Em LD_VERSION_BSD (8) です。 .It Fa d_un .Em d_version に応じたデータ構造を参照します。 .It Fa so_debug このフィールドは、 共有オブジェクトのシンボルテーブルをアクセスするためのフックを デバッガに提供します。 この共有オブジェクトは、 実行時リンクエディタの処理の結果ロードされたものです。 .El .Pp .Fa section_dispatch_table 構造体がメインとなる .Dq ディスパッチャ テーブルであり、 イメージ内で様々なシンボル情報やリロケーション情報が置かれるセグメントへの オフセットを保持します。 .Bd -literal -offset indent struct section_dispatch_table { struct so_map *sdt_loaded; long sdt_sods; long sdt_filler1; long sdt_got; long sdt_plt; long sdt_rel; long sdt_hash; long sdt_nzlist; long sdt_filler2; long sdt_buckets; long sdt_strings; long sdt_str_sz; long sdt_text_sz; long sdt_plt_sz; }; .Ed .Pp .Bl -tag -width sdt_filler1 .It Fa sdt_loaded ロードされた最初のリンクマップ (後述) へのポインタ。 このフィールドは .Nm ld.so によって設定されます。 .It Fa sdt_sods .Em この オブジェクトが必要とする共有オブジェクト記述子の (リンク) リストの先頭。 .It Fa sdt_filler1 使用しないで下さい (SunOS では ライブラリの検索ルールを指定するのに使用されていました)。 .It Fa sdt_got このイメージ中でのグローバルオフセットテーブルの位置。 .It Fa sdt_plt このイメージ中でのプロシージャリンケージテーブルの位置。 .It Fa sdt_rel 実行時のリロケーションを指定する .Fa relocation_info 構造体 ( .Xr a.out 5 参照) の配列の位置。 .It Fa sdt_hash このオブジェクトのシンボルテーブルでシンボル検索を高速化するための ハッシュテーブルの位置。 .It Fa sdt_nzlist シンボルテーブルの位置。 .It Fa sdt_filler2 現在使用されていません。 .It Fa sdt_buckets .Fa sdt_hash 中のバケット数。 .It Fa sdt_strings .Fa sdt_nzlist に対応するシンボル文字列テーブルの位置。 .It Fa sdt_str_sz 文字列テーブルのサイズ。 .It Fa sdt_text_sz このオブジェクトのテキストセグメントのサイズ。 .It Fa sdt_plt_sz プロシージャリンケージテーブルのサイズ。 .El .Pp .Fa sod 構造体は、それを含むオブジェクトのリンクエディット処理を完了するのに 必要な共有オブジェクトを記述します。 そのようなオブジェクトのリスト ( .Fa sod_next で連結されます) は section_dispatch_table 構造体の .Fa sdt_sods によって指し示されます。 .Bd -literal -offset indent struct sod { long sod_name; u_int sod_library : 1, sod_reserved : 31; short sod_major; short sod_minor; long sod_next; }; .Ed .Pp .Bl -tag -width sod_library .It Fa sod_name このリンクオブジェクトを記述する文字列の、 テキストセグメントにおけるオフセット。 .It Fa sod_library もし設定されていれば、 .Fa sod_name は .Nm ld.so が検索することになるライブラリを指定します。 そのパス名は、あるディレクトリ群 ( .Xr ldconfig 8 参照) で .Em lib\&\&.so.n.m. にマッチする共有オブジェクトを検索することで得られます。 もし設定されていなければ、 .Fa sod_name は希望する共有オブジェクトに対するフルパス名を指し示す必要があります。 .It Fa sod_major ロードすべき共有オブジェクトのメジャーバージョン番号を指定します。 .It Fa sod_minor ロードすべき共有オブジェクトの希望するマイナーバージョン番号を指定します。 .El .Pp プロセスのアドレス空間にロードされる共有オブジェクト全てを追跡するために、 実行時リンクエディタは .Em リンクマップ と呼ばれる構造体のリストを管理しています。 これらの構造体は実行時にのみ用いられ、 実行可能ファイルや共有ライブラリのテキストあるいはデータセグメントには ありません。 .Bd -literal -offset indent struct so_map { caddr_t som_addr; char *som_path; struct so_map *som_next; struct sod *som_sod; caddr_t som_sodbase; u_int som_write : 1; struct _dynamic *som_dynamic; caddr_t som_spd; }; .Ed .Bl -tag -width som_dynamic .It Fa som_addr このリンクマップに対応する共有オブジェクトがロードされるアドレス。 .It Fa som_path ロードされるオブジェクトのフルパス名。 .It Fa som_next 次のリンクマップへのポインタ。 .It Fa som_sod この共有オブジェクトのロードをつかさどる .Fa sod 構造体。 .It Fa som_sodbase 将来のバージョンにおいては、実行時リンカに渡されます。 .It Fa som_write このオブジェクトのテキストセグメント (の一部分) が現在書き込み可能である 場合にセットされます。 .It Fa som_dynamic このオブジェクトの .Fa _dynamic 構造体へのポインタ。 .It Fa som_spd 実行時リンクエディタが管理するプライベートデータと連結するためのフック。 .El .Pp サイズ付きシンボル記述。 これは単に .Fa nlist 構造体にフィールド .Pq Fa nz_size を 1 つ追加したものです。 共有オブジェクトのデータセグメントにあるアイテムの サイズ情報を伝達するのに用いられます。 この構造体の配列は共有オブジェクトのテキストセグメントに存在し、 そのアドレスは .Fa section_dispatch_table の .Fa sdt_nzlist フィールドで指定されます。 .Bd -literal -offset indent struct nzlist { struct nlist nlist; u_long nz_size; #define nz_un nlist.n_un #define nz_strx nlist.n_un.n_strx #define nz_name nlist.n_un.n_name #define nz_type nlist.n_type #define nz_value nlist.n_value #define nz_desc nlist.n_desc #define nz_other nlist.n_other }; .Ed .Bl -tag -width nz_size .It Fa nlist ( .Xr nlist 3 参照)。 .It Fa nz_size このシンボルで表現されるデータのサイズ。 .El .Pp 実行時のリンクエディットで行われるシンボル検索を高速化するため、 共有オブジェクトのテキストセグメントにハッシュテーブルが含まれています。 .Fa section_dispatch_table の .Fa sdt_hash フィールドは .Fa rrs_hash 構造体を指し示します: .Bd -literal -offset indent struct rrs_hash { int rh_symbolnum; /* シンボル番号 */ int rh_next; /* 次のハッシュエントリ */ }; .Ed .Pp .Bl -tag -width rh_symbolnum .It Fa rh_symbolnum 共有オブジェクトのシンボルテーブル ( .Fa ld_symbols で与えられます) での当該シンボルのインデックス。 .It Fa rh_next 衝突が起きたとき、このフィールドはこのハッシュテーブルのバケットにおける 次のエントリのオフセットを保持します。 最終バケット要素の場合は 0 となります。 .El .Fa rt_symbol 構造体は、 実行時にアロケートされるコモン(commons)と 共有オブジェクトからコピーされるデータアイテムを 追跡するのに用いられます。 これらのアイテムはリンクリストで管理され、デバッガでの利用のために .Fa so_debug 構造体 (後述) 中の .Fa dd_cc フィールドによって公開されます。 .Bd -literal -offset indent struct rt_symbol { struct nzlist *rt_sp; struct rt_symbol *rt_next; struct rt_symbol *rt_link; caddr_t rt_srcaddr; struct so_map *rt_smp; }; .Ed .Pp .Bl -tag -width rt_scraddr .It Fa rt_sp シンボル記述。 .It Fa rt_next 次の rt_symbol の仮想アドレス。 .It Fa rt_link ハッシュバケットにおける次の要素。 .Nm ld.so の内部で用いられます。 .It Fa rt_srcaddr 共有オブジェクト中での初期化済データのソース位置。 .It Fa rt_smp この実行時シンボルが記述するデータの元のソースとなる共有オブジェクト。 .El .Pp .Fa so_debug 構造体は、 実行時リンクエディットの結果、当該プロセスのアドレス空間にロードされた あらゆる共有オブジェクトの情報を得るために、 デバッガによって利用されます。 実行時リンクエディタはプロセスの初期化処理の一部として実行されるため、 共有オブジェクトからシンボルにアクセスしようとするデバッガは、 crt0 からリンクエディタが呼ばれた後でのみそれが可能となります。 ダイナミックリンクされているバイナリは .Fa so_debug 構造体を持っています。この構造体の場所は .Fa _dynamic 中の .Fa d_debug フィールドで指示されます。 .Bd -literal -offset indent struct so_debug { int dd_version; int dd_in_debugger; int dd_sym_loaded; char *dd_bpt_addr; int dd_bpt_shadow; struct rt_symbol *dd_cc; }; .Ed .Pp .Bl -tag -width dd_in_debugger .It Fa dd_version このインタフェースのバージョン番号。 .It Fa dd_in_debugger 当該プログラムがデバッガの制御下にあることを実行時リンカに知らせるために デバッガによってセットされます。 .It Fa dd_sym_loaded 共有オブジェクトをロードすることで実行時リンカがシンボルを追加した場合、 実行時リンカによってセットされます。 .It Fa dd_bpt_addr デバッガに制御を移すために実行時リンカによってセットされる ブレークポイントアドレス。 このアドレスは、_main 呼び出しの前に、スタートアップモジュール .Em crt0.o によってある適切な場所に決定されます。 .It Fa dd_bpt_shadow アドレス .Fa dd_bpt_addr にあった元の機械命令を保持します。 デバッガは、プログラム実行を再開する前にこの機械命令を元に戻すことに なっています。 .It Fa dd_cc デバッガが必要とする可能性のある、実行時にアロケートしたシンボルの リンクリストへのポインタ。 .El .Pp .Em ld_entry 構造体は .Nm ld.so 中のサービスルーチン一式を定義します。 .\" See .\" .Xr libdl.a .\" for more information. .Bd -literal -offset indent struct ld_entry { void *(*dlopen)(char *, int); int (*dlclose)(void *); void *(*dlsym)(void *, char *); char *(*dlerror)(void); }; .Ed .Pp .Fa crt_ldso 構造体は、crt0 中のスタートアップコードと .Nm ld.so との間のインタフェースを定義します。 .Bd -literal -offset indent struct crt_ldso { int crt_ba; int crt_dzfd; int crt_ldfd; struct _dynamic *crt_dp; char **crt_ep; caddr_t crt_bp; char *crt_prog; char *crt_ldso; struct ld_entry *crt_ldentry; }; #define CRT_VERSION_SUN 1 #define CRT_VERSION_BSD_2 2 #define CRT_VERSION_BSD_3 3 #define CRT_VERSION_BSD_4 4 .Ed .Bl -tag -width crt_dzfd .It Fa crt_ba crt0 によって .Nm ld.so がロードされた仮想アドレス。 .It Fa crt_dzfd SunOS では、このフィールドは .Dq Pa /dev/zero へのオープンされたファイル記述子を保持し、 0 クリアされたデマンドページを得ます。 .Fx ではこのフィールドは -1 を保持します。 .It Fa crt_ldfd .Nm ld.so をロードするために crt0 が用いる、オープンされたファイル記述子 を保持します。 .It Fa crt_dp main の .Fa _dynamic 構造体へのポインタ。 .It Fa crt_ep 環境文字列へのポインタ。 .It Fa crt_bp メインプログラムがデバッガで実行される場合、 実行時リンカがブレークポイントを置くアドレス。 .Fa so_debug を参照してください。 .It Fa crt_prog crt0 で決定されるメインプログラムの名前 (CRT_VERSION_BSD3 のみ)。 .It Fa crt_ldso crt0 でマップされる実行時リンカのパス (CRT_VERSION_BSD4 のみ)。 .El .Pp .Fa hints_header 構造体及び .Fa hints_bucket 構造体は、通常 .Dq Pa /var/run/ld.so.hints に置かれるライブラリヒントのレイアウトを定義します。 ライブラリヒントは、ファイルシステム中で共有オブジェクトイメージの在処を すばやく見つけるために .Nm ld.so によって利用されます。 ヒントファイルの構成は .Dq a.out とそれほど異なりません。つまりヒントファイルは、 固定長ハッシュバケットのオフセットとサイズを決定するためのヘッダと、 共通の文字列プールを持っています。 .Bd -literal -offset indent struct hints_header { long hh_magic; #define HH_MAGIC 011421044151 long hh_version; #define LD_HINTS_VERSION_1 1 long hh_hashtab; long hh_nbucket; long hh_strtab; long hh_strtab_sz; long hh_ehints; }; .Ed .Bl -tag -width hh_strtab_sz .It Fa hh_magic ヒントファイルのマジックナンバ。 .It Fa hh_version インタフェースのバージョン番号。 .It Fa hh_hashtab ハッシュテーブルのオフセット。 .It Fa hh_strtab 文字列テーブルのオフセット。 .It Fa hh_strtab_sz 文字列テーブルのサイズ。 .It Fa hh_ehints ヒントファイルで利用可能な最大オフセット。 .El .Pp .Bd -literal -offset indent /* * ヒントファイルのハッシュテーブル要素 */ struct hints_bucket { int hi_namex; int hi_pathx; int hi_dewey[MAXDEWEY]; int hi_ndewey; #define hi_major hi_dewey[0] #define hi_minor hi_dewey[1] int hi_next; }; .Ed .Bl -tag -width hi_ndewey .It Fa hi_namex ライブラリを指定する文字列のインデックス。 .It Fa hi_pathx ライブラリのフルパス名を表す文字列のインデックス。 .It Fa hi_dewey 共通ライブラリのバージョン番号。 .It Fa hi_ndewey .Fa hi_dewey 中の有効エントリ数。 .It Fa hi_next ハッシュ衝突の際の次のバケット。 .El .Sh 警告 現在のところ、共有ライブラリ生成をサポートしているのは (GNU) C コンパイラ のみです。他のプログラミング言語では利用できません。 diff --git a/ja_JP.eucJP/man/man5/linprocfs.5 b/ja_JP.eucJP/man/man5/linprocfs.5 index 22cd00d821..d577601e3b 100644 --- a/ja_JP.eucJP/man/man5/linprocfs.5 +++ b/ja_JP.eucJP/man/man5/linprocfs.5 @@ -1,96 +1,96 @@ -.\" %FreeBSD: src/share/man/man5/linprocfs.5,v 1.10 2002/05/16 05:21:52 trhodes Exp % +.\" %FreeBSD: src/share/man/man5/linprocfs.5,v 1.11 2002/12/12 17:25:57 ru Exp % .\" Written by Garrett Wollman .\" This file is in the public domain. .\" .\" $FreeBSD$ .Dd August 10, 1994 .Dt LINPROCFS 5 .Os .Sh 名称 .Nm linprocfs .Nd Linux プロセスファイルシステム .Sh 書式 .Bd -literal linproc /compat/linux/proc linprocfs rw 0 0 .Ed .Sh 解説 Linux プロセスファイルシステム、すなわち .Nm は、Linux のプロセスファイルシステムのサブセットをエミュレートします。 いくつかの Linux バイナリが完全動作するために必要です。 .Pp .Nm はプロセス空間の 2 つのレベルのビューを提供します。 高いレベルでは、プロセスは、先頭に 0 の付かない 10 進数のプロセス ID に従って名前付けされます。 また、調査要求を行っているプロセスを常に参照する、 .Pa self と呼ばれる特別なノードも存在します。 .Pp 各ノードは以下の項目を含むディレクトリです: .Pp 各ディレクトリはいくつかのファイルを含んでいます: .Bl -tag -width status .It Pa exe プロセステキストが読まれた vnode への参照。 これはプロセスのシンボルテーブルへのアクセスを得るか、または プロセスのもう 1 つのコピーを始めるために使われます。 .It Pa mem プロセスの完全な仮想メモリイメージ。 プロセス中に存在するアドレスのみにアクセス可能です。 このファイルへ読み書きするとプロセスを修正します。 テキストセグメントへの書き込みは、そのプロセスのみに留まります。 .El .Pp 各ノードはプロセスのユーザによって所有され、 ユーザのプライマリグループに属します。 .Pa mem ノードは例外で、 .Li kmem グループに属します。 .Sh 関連ファイル .Bl -tag -width /compat/linux/proc/self/XXXXXXX -compact .It Pa /compat/linux/proc .Nm の標準マウントポイント。 .It Pa /compat/linux/proc/cpuinfo 人間が判読しやすい形式の、CPU のベンダとモデルに関する情報。 .It Pa /compat/linux/proc/meminfo 人間が判読しやすい形式の、システムのメモリ情報。 .It Pa /compat/linux/proc/pid プロセス .Pa pid のプロセス情報を含んだディレクトリ。 .It Pa /compat/linux/proc/self カレントプロセスのプロセス情報を含んだディレクトリ .It Pa /compat/linux/proc/self/exe 実行形式イメージ .It Pa /compat/linux/proc/self/mem プロセスの完全な仮想アドレス空間 .El .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr procfs 5 , .Xr mount_linprocfs 8 .Xr pseudofs 8 .Sh 作者 .An -nosplit .Nm は、 .An Pierre Beyssac によって .Nm procfs から作られました。 このマニュアルページは、 .An Garrett Wollman が書いた .Xr procfs 5 マニュアルページに基づいて、 .An Dag-Erling Sm\(/orgrav が書きました。 .Sh 歴史 .Nm は .Fx 4.0 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man5/login.conf.5 b/ja_JP.eucJP/man/man5/login.conf.5 index bba4403d5f..71238bde92 100644 --- a/ja_JP.eucJP/man/man5/login.conf.5 +++ b/ja_JP.eucJP/man/man5/login.conf.5 @@ -1,376 +1,379 @@ .\" Copyright (c) 1996 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %FreeBSD: src/lib/libutil/login.conf.5,v 1.43 2002/10/30 07:49:11 sheldonh Exp % +.\" %FreeBSD: src/lib/libutil/login.conf.5,v 1.44 2002/11/22 22:22:10 chris Exp % .\" .\" $FreeBSD$ .Dd November 22, 1996 .Dt LOGIN.CONF 5 .Os .Sh 名称 .Nm login.conf .Nd ログインクラス ケーパビリティ データベース .Sh 書式 .Pa /etc/login.conf , .Pa ~/.login_conf .Sh 解説 .Nm には、ログインクラスについてのさまざまな属性やケーパビリティが 含まれています。 ログインクラス (ユーザアカウントデータベースである .Pa /etc/master.passwd のそれぞれの行について自由に設定できる注釈) は、セッションの アカウンティングやリソース制限、ユーザ環境設定などを決定します。 ログインクラスはシステム内のさまざまなプログラムから利用され、 ユーザのログイン環境を設定するほか、 ポリシー、アカウンティング及び管理上の制限を設定します。 ログインクラスはまた、 システムや利用可能な種々の認証機構に対するユーザ認証手段を提供します。 .Pp システムのユーザクラスケーパビリティデータベースである .Pa /etc/login.conf の中の "default" という特別なレコードは、 .Pa /etc/master.passwd 内に有効なログインクラスを持たない root 以外のすべてのユーザに よって自動的に使われます。有効なログインクラスを持たない uid が 0 の ユーザは、"root" レコードが存在する場合はそのレコードが、 存在しない場合は "default" レコードがログインクラスとして使われます。 .Pp .Fx においては、個々のユーザは .Pa .login_conf というファイルをホームディレクトリに作成することができます。 このファイルは (/etc/login.conf と) 同じフォーマットで、 レコード id が "me" である 1 エントリのみで構成されます。 もし .login.conf が存在するならば、このファイルは .Xr login 1 によって使用され、システムのログインケーパビリティデータベースによって 指定されたユーザ環境設定を上書き設定します。 その際、ログインケーパビリティのサブセット、 典型的には承認やリソース制限そしてアカウンティングを含まないもの のみが上書きされます。 .Pp クラスケーパビリティデータベースのレコードは、コロンで区切られた いくつかのフィールドから構成されています。 各レコードの最初のフィールドは、レコードを特定するための 1 つまたは複数の名前で、それらは '|' 文字で区切られます。 その最初の名前が、最も一般化された短縮名称です。 最後の名前は、ログインケーパビリティエントリをより分かりやすく説明した 長い名前であるべきで、他の名前はその同義語です。 すべての名前は小文字かつ空白を含まないようにすべきですが、 最後の名前は可読性を考慮して、大文字やブランクを含んでいてもよいでしょう。 .Pp ケーパビリティデータベースのフォーマットについての詳細な説明は .Xr getcap 3 を参照してください。 .Sh ケーパビリティ データベース内のそれぞれの行に含まれるフィールドは、 .Xr getcap 3 の慣習に従い、ブール型、文字列型 .Ql \&= 数値型 .Ql \&# があります。 しかしながら数値データのところは、数値型が拒否され文字列型が 受け入れられることがあったり、両方の書式が受け入れられることもあります。 値は次のカテゴリに分類されます。 .Bl -tag -width "program" .It bool 名前が存在する場合、ブール値は真になります。 そうでない場合、偽になります。 .It file データファイルへのパス名 .It program 実行可能ファイルへのパス名 .It list コンマや空白で区切られた値のリスト (または値の組) .It path 普通の csh の慣習に従った、空白やコンマで区切られたパス名のリスト (先頭のユーザ名を伴う/伴わないチルダはホームディレクトリに展開される等) .It number 10 進数 (デフォルト)、16 進数 (0x で始まる)、または 8 進数 (0 で始まる) の 数値型の値。数値型の場合、設定できる値は 1 つだけです。 数値型は文字列型のフォーマットでも指定できる場合があります (ケーパビリティタグ '#' の代わりに '=' で値が区切られているなど)。 どの方法が使われた場合でも、データベース中のすべての行は修正したい行の値を 正確に上書きするために、同じ方法を用いなければなりません。 .It size サイズを表す文字。単位のデフォルトの解釈はバイトで、サフィックスに よって別の単位を指定できます。 .Bl -tag -offset indent -compact -width xxxx .It b 512 バイトブロックの明示的な指定 .It k キロバイトの指定 (1024 バイト) .It m 1 メガバイトの乗数の指定 (1048576 バイト) .It g ギガバイト単位の指定。そして .It t テラバイトの記述。 .El サイズの値は数値であり、サフィックスの大文字小文字は重要ではありません。 連続した値は足し込まれます。 .It time 時間の期間。デフォルトの単位は秒。 プレフィックスによって別の単位を指定できます。 .Bl -tag -offset indent -compact -width xxxx .It y 1 年を 365 日で数えた年数の指定 .It w 週の数の指定 .It d 日数 .It h 時間数 .It m 分数 .It s 秒数 .El 連続した値は足し込まれます。 たとえば 2 時間 40 分は 9600s、160m または 2h40m と 表現することができます。 .El .Pp 特別な .Em tc=value 表記を使用することにより、通常の約束事であるケーパビリティエントリの 補間が可能です。 .Sh リソース制限 .Bl -column coredumpsize indent indent .It Sy "名称 型 注 解説 .It "coredumpsize size コアダンプサイズの最大値制限 .It "cputime time CPU 使用制限 .It "datasize size データサイズの最大値制限 .It "filesize size ファイルサイズの最大値制限 .It "maxproc number プロセス数の最大値制限 .It "memorylocked size コアメモリロック可能量の最大値制限 .It "memoryuse size コアメモリ使用量の最大値制限 .It "openfiles number プロセスごとにオープンできるファイル数の最大値制限 .It "sbsize size 最大のソケットバッファサイズ .It "vmemoryuse size プロセスあたりの最大総 VM 使用量 .It "stacksize size スタックサイズの最大値制限 .El .Pp これらのリソース制限エントリは、実際には最大値と現在の 制限値の両方を指定します ( .Xr getrlimit 2 を参照してください)。 普通は現在の制限値 (ソフトリミット) が使われますが、 ユーザは現在の制限値を最大制限値 (ハードリミット) まで増やすことが 許されています。 最大制限値と現在の制限値はケーパビリティ名に各々 -max 及び -cur を 追加することによって指定できます。 .Sh 環境 .Bl -column ignorenologin indent xbinxxusrxbin .It Sy "名称 型 注 解説 .It "charset string $MM_CHARSET 環境変数の明示的な設定値 .It "hushlogin bool false ~/.hushlogin ファイルがある場合と同じ .It "ignorenologin bool false nologin によってログインを禁止されません +.It "label string MAC ポリシの定義。 +.Xr maclabel 7 +参照 .It "lang string $LANG 環境変数を指定した値に設定します .It "manpath path マニュアルページのデフォルト検索パス .It "nocheckmail bool false ログイン時にメールのステータスを表示します .It "nologin file このファイルが存在する場合、ファイルの内容が画面に表示され、そのログインセッションは終了されます .It "path path /bin /usr/bin デフォルトコマンド検索パス .It "priority number 優先度 (nice) レベルの初期値 .It "requirehome bool false ログインのために有効なホームディレクトリが必要 .It "setenv list コンマで区切られた環境変数とその設定値のリスト .It "shell prog パスワードファイルで指定されているシェルより優先して実行されるセッションシェル。SHELL 環境変数の値は、パスワードファイルで指定されているものになります。 .It "term string 他の手段によって決定できない場合のデフォルトの端末タイプ .It "timezone string $TZ 環境変数のデフォルト値 .It "umask number 022 umask の初期値。続く数字が 8 進数と解釈されるように、常に 0 から始めます .It "welcome file /etc/motd ウェルカムメッセージが入っているファイル .El .Sh 認証 .Bl -column minpasswordlen indent indent .It Sy "名称 型 注 解説 .\" .It "approve program Program to approve login. .It "copyright file 追加のコピーライト情報を含んだファイル .It "host.allow list クラス内のユーザがアクセス可能なリモートホストワイルドカードのリスト .It "host.deny list クラス内のユーザがアクセス不可なリモートホストワイルドカードのリスト .It "login_prompt string .Xr login 1 が与えるログインプロンプト .It "minpasswordlen number 6 ローカルパスワード文字列長の最小値 .It "mixpasswordcase bool true すべて小文字のパスワードが入力された場合、 .Xr passwd 1 がユーザに警告します .It "passwd_format string md5 新規パスワードが使用する 暗号フォーマット。 有効な値は "md5", "des", "blf" です。 NIS クライアントが、 .Fx ではない NIS サーバを使用する場合、 おそらく "des" を使用すべきでしょう。 .It "passwd_prompt string .Xr login 1 が表示するパスワードプロンプト .It "times.allow list ログインが許されている時間帯のリスト .It "times.deny list ログインが許されない時間帯のリスト .It "ttys.allow list クラス内のユーザがアクセスに使用できる端末と端末グループのリスト .It "ttys.deny list クラス内のユーザがアクセスに使用不可な端末と端末グループのリスト .\".It "widepasswords bool false Use the wide password format. The wide password .\" format allows up to 128 significant characters in the password. .El .Pp これらのフィールドは、ログイン認証システムの中で .Xr passwd 1 や、その他のプログラムから使用される予定です。 .Pp 環境変数を設定するケーパビリティは、その中の文字 .Ql \&~ と .Ql \&$ の両方がスキャンされ、これらはそれぞれ ユーザのホームディレクトリ及びユーザ名に置換されます。 環境変数中にこれらの文字をそのまま含める場合には、 その前にバックスラッシュ '\\' をつけてエスケープします。 .Pp .Em host.allow と .Em host.deny エントリはコンマで区切られたリストで、システムへのリモートアクセスの チェックに使われます。 これらはホスト名か IP アドレスまたはその両方を含むリストからなり、 それらに対してリモートログインのチェックが行われます。 このリストの各項目は、ワイルドカード一致用にシェルプログラムが使用しているのと 同じ書式のワイルドカードを含むことができます (実装の詳細は .Xr fnmatch 3 を参照してください)。 ホストのチェックは、リモートシステムのインターネットアドレス と (もし有効なら) ホスト名の両方をつきあわせて行われます。 両方のリストが空かもしくは指定されていない場合、あらゆるリモートホスト からのログインは許可されます。 host.allow が 1 つかそれ以上のホストを含む場合、リスト中の 各項目のどれかにマッチしたリモートシステムのみがログインを許されます。 host.deny が 1 つかそれ以上のホストを含む場合、そのリストのどれかに マッチしたホストからのログインが禁止されます。 .Pp .Em times.allow と .Em times.deny エントリはコンマで区切られた期間のリストであり、この期間はクラス内の ユーザがログインを許されます。 これらは 1 つ以上の日のコード指定と、これに続けて 24 時間表記の開始時刻と 終了時刻をハイフンまたはダッシュで区切ったものとして表現されます。 たとえば MoThSa0200-1300 は、月、木、土の 午前 2 時から午後 1 時と解釈されます。 これらの時間指定リストの両方が空だった場合、クラス内のユーザはいつでもアクセス 可能になります。 .Em times.allow が指定されている場合、ログインは指定された期間のみ許可されます。 もし .Em times.deny が指定されている場合、 .Em times.allow の中で期間が指定されているかどうかに関わらず、指定された期間は ログインできなくなります。 .Pp .Xr login 1 が強制することは、これらのエントリにより許可された期間内に実際の ログインが行なわれることのみである点に注意して下さい。 セッションの生存期間に関して更なる規制をかけるには、別のデーモンを用意し、 許可されている期間から許可されていない期間への 遷移を監視する必要があります。 .Pp .Em ttys.allow と .Em ttys.deny エントリは、クラス内のユーザがシステムにアクセスするために使う コンマで区切られた (/dev/ プレフィックスを除く) 端末デバイスと、 端末グループ (ttygroup) のリストです (ttygroup の詳細は .Xr getttyent 3 と .Xr ttys 5 を参照して下さい)。 どちらのエントリも存在しない場合、ユーザが使用するログインデバイスの選択には 制限はありません。 .Em ttys.allow のみ指定されている場合、ユーザの使えるデバイスは指定されたグループ またはデバイスリストのみに制限されます。 .Em ttys.deny のみ指定されている場合、ユーザは指定されたデバイスやデバイス グループを使用できません。 両方が与えられていてかつどちらも空でない場合、ユーザは ttys.allow で指定されていて、ttys.deny では指定されていないデバイス群のみ 使用できます。 .Sh アカウント制限 .Bl -column host.accounted indent indent .It Sy "名称 型 注 解説 .It "accounted bool false このクラス内の全ユーザの セッション時間アカウウンティングを有効化 .It "autodelete time アカウント失効後自動で削除されるまでの時間 .It "bootfull bool false セッション終了時の「ttygroup が一杯の場合にのみブート」戦略を 有効にする .It "daytime time 1 日あたりのログイン最大時間 .It "expireperiod time 期限切れまでの割り当て時間 .It "graceexpire time 失効したアカウントの猶予日数 .It "gracetime time 追加された、猶予ログイン許可時間 .It "host.accounted list ログインセッションがアカウントされる リモートホストワイルドカードのリスト .It "host.exempt list ログインセッションのアカウンティング を免除されたリモートホストワイルドカードのリスト .It "idletime time ログアウトまでの最大アイドル時間 .It "monthtime time 月毎の最大ログイン時間 .It "passwordtime time 次回パスワード無効日を指定するために .Xr passwd 1 が使用 .It "refreshtime time アカウントのリフレッシュ許可時間 .It "refreshperiod str リフレッシュが行なわれる頻度 .It "sessiontime time セッション毎の最大ログイン時間 .It "sessionlimit number すべてのグループに対する tty 上の 同時最大ログイン数 .It "ttys.accounted list ログインアカウントが有効な tty と ttygroup のリスト .It "ttys.exempt list ログインアカウントが無効な tty と ttygroup のリスト .It "warnexpire time 失効しそうなアカウントに対する事前の注意を 行なう時間 .It "warnpassword time 失効しそうなパスワードに対する事前の 注意を行なう時間 .It "warntime time 時間切れになりそうな場合に対する事前の注意を 行なう時間 .It "weektime time 1 週間毎の最大ログイン時間 .El .Pp これらのフィールドは、ユーザのログインアクセスを規制、コントロール、記録する タイムアカウンティングシステムによって使われます。 .Pp .Em ttys.accounted と .Em ttys.exempt フィールドは、先に述べた .Em ttys.allow と .Em ttys.deny と同じような方法で状態を操作します。 .Em host.accounted と .Em host.exempt のリストも同様です。 .Sh 関連項目 .Xr cap_mkdb 1 , .Xr login 1 , .Xr getcap 3 , .Xr getttyent 3 , .Xr login_cap 3 , .Xr login_class 3 , .Xr passwd 5 , .Xr ttys 5 diff --git a/ja_JP.eucJP/man/man5/make.conf.5 b/ja_JP.eucJP/man/man5/make.conf.5 index 9495f4a051..75965352a6 100644 --- a/ja_JP.eucJP/man/man5/make.conf.5 +++ b/ja_JP.eucJP/man/man5/make.conf.5 @@ -1,654 +1,733 @@ .\" Copyright (c) 2000 .\" Mike W. Meyer .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/make.conf.5,v 1.60 2002/11/04 03:23:56 alfred Exp % +.\" %FreeBSD: src/share/man/man5/make.conf.5,v 1.63 2002/11/29 11:39:19 ru Exp % .\" .\" $FreeBSD$ .\" .Dd November 3, 2000 .Dt MAKE.CONF 5 .Os .Sh 名称 .Nm make.conf .Nd システムビルド情報 .Sh 解説 .Nm ファイルには .Fx のソースや ports アプリケーションの制御に関する設定が含まれています。 通常 .Nm ファイルは、システム管理者が、 これらの値をデフォルトから変更したい場合に作成します。 .Pp .Nm の用途は、コマンド実行やコンパイル動作を直接行うことではなく、 .Pa /usr/src , .Pa /usr/ports , .Pa /usr/doc などにある様々な makefile にインクルードされることです。 そのような makefile では、内部の動作が .Nm の与える条件によって変化するようになっているのです。 .Pp .Pa /etc/make.conf ファイルはそれぞれ適切な .Pa Makefile からインクルードされます。 各々の Makefile の中では、 利用可能なすべてのオプションに対し、デフォルトの設定が与えられています。 .Pa /etc/make.conf で指定する必要があるオプションは、 システム管理者がデフォルトから変更したいと思ったものだけです。 .Pp ビルドの手続きは、大きく 4 つの領域に分けられます。 world、カーネル、ドキュメント、ports です。 .Nm で設定された変数はこれらの領域の 1 つ、2 つ、あるいは全てに適用されます。 変数は、特定のビルドに対して .Xr make 1 の .Fl D オプションを用いて指定することもできます。 .Pp 以下のリストでは、それぞれ指定したビルドの途中で用いることのできる 各変数の名前と簡単な説明を記述します。 .Vt bool と指定されている変数では、その値は意味を持ちません。 変数が設定されていれば (たとえ値が .Dq Li FALSE や .Dq Li NO でも)、変数が設定されているものとして扱われます。 .Pp 次のリストは、すべてのビルド (あるいはビルド以外の目的で使われる .Pa Makefile ) で用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va CFLAGS .Pq Vt str C のコードをコンパイルするときのコンパイラの設定を制御します。 .Fl O を越えた最適化レベル .Pq Fl O2 , No ... はサポートされていません。 .Va BDECFLAGS は、 .An "Bruce Evans" Aq bde@FreeBSD.org が開発や変更のテスト用に勧めている .Xr gcc 1 設定です。 これは、設定すれば、以下のように使用可能です。 .Pp .Bd -literal -offset indent CFLAGS+=${BDECFLAGS} .Ed +.It Va CPUTYPE +.Pq Vt str +生成コードが対象とするプロセッサを制御します。 +特別なコード (現在のところ OpenSSL のみ) に対する +プロセッサ固有の最適化を制御し、 +.Va CFLAGS +および +.Va COPTFLAGS +の値を変更して +.Xr gcc 1 +への適切な最適化ディレクティブを含むようにします。 +.Va CFLAGS +および +.Va COPTFLAGS +の自動設定は、それぞれ +.Va NO_CPU_CFLAGS +および +.Va NO_CPU_COPTFLAGS +で上書きできます。 +認識される +.Va CPUTYPE +オプションについては、 +.Pa /usr/share/examples/etc/make.conf +を参照してください。 .It Va CVS_UPDATE .Pq Vt bool .Dq Li "make update" で ports を更新するときに .Xr cvs 1 を用いる場合、設定します。 .It Va CXXFLAGS .Pq Vt str C++ のコードをコンパイルするときのコンパイラの設定を制御します。 .Va CXXFLAGS は最初は .Va CFLAGS の値に設定されます。 この .Va CXXFLAGS の値に追加を行いたい場合は、 .Dq Li = ではなく .Dq Li += を用いてください。 .It Va INSTALL .Pq Vt str デフォルトのインストールコマンドです。 インストールを行う前に比較を行いたい場合は、次の例を用いてください。 .Bd -literal -offset indent INSTALL="install -C" .Ed .It Va LOCAL_DIRS .Pq Vt str この変数には .Pa /usr/src で make を行うときに入るべきディレクトリをすべてリストします。 +.It Va MAKE_SHELL +.Pq Vt str +.Xr make 1 +が makefile 中のコマンドスクリプトを処理するために +内部的に使用するシェルを制御します。 +.Xr sh 1 , +.Xr ksh 1 , +.Xr csh 1 +すべてがサポートされています。 +.Pp +.Dl "MAKE_SHELL?=sh" .It Va MTREE_FOLLOWS_SYMLINKS .Pq Vt str .Xr mtree 8 にシンボリックリンクを追跡させたい場合は、これを .Dq Fl L に設定します。 .It Va NO_DOCUPDATE .Pq Vt bool .Dq Li "make update" で doc ツリーを更新させない場合これを設定します。 .It Va NO_PORTSUPDATE .Pq Vt bool .Dq Li "make update" で ports ツリーを更新させない場合これを設定します。 .It Va SUP_UPDATE .Pq Vt bool .Dq Li "make update" による ports の更新に .Xr cvsup 1 を使う場合これを設定します。 .It Va SUP .Pq Vt str .Dq Li "make update" で用いられる .Xr cvsup 1 コマンドの置き場所です。 .It Va SUPFLAGS .Pq Vt str .Dq Li "make update" を行うとき .Xr sup 1 に与えるフラグ。 デフォルトは .Op Fl g L Ar 2 です。 .It Va SUPHOST .Pq Vt str .Dq Li "make update" を行うときに用いる sup サーバのホスト名です。 .It Va SUPFILE .Pq Vt str .Dq Li "make update" を行うとき、最初に用いる .Ar supfile です。 デフォルトは .Pa /usr/share/examples/cvsup/standard\-supfile です。 .It Va SUPFILE1 .Pq Vt str .Dq Li "make update" を行うとき、二番目に用いる .Ar supfile です。 デフォルトは .Pa /usr/share/examples/cvsup/secure\-supfile です。 .It Va SUPFILE2 .Pq Vt str .Dq Li "make update" を行うとき、三番目に用いる .Ar supfile です。 デフォルトは .Pa /usr/share/examples/cvsup/secure\-supfile です。 .It Va PORTSSUPFILE .Pq Vt str .Dq Li "make update" を行うときの ports 用の .Ar supfile です。 デフォルトは .Pa /usr/share/examples/cvsup/ports\-supfile です。 .It Va DOCSUPFILE .Pq Vt str .Dq Li "make update" を行うときのドキュメント用の .Ar supfile です。 デフォルトは .Pa /usr/share/examples/cvsup/doc\-supfile です。 .El .Pp 次のリストは、カーネルのビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va BOOT_COMCONSOLE_PORT .Pq Vt str ブートブロックが、キーボード/ビデオカードの代わりにシリアルコンソールを 用いるよう設定された場合に、コンソールとして用いるポートアドレスです。 .It Va BOOT_COMCONSOLE_SPEED .Pq Vt int ブートブロックが、キーボード/ビデオカードの代わりにシリアルコンソールを 用いるよう設定された場合に、コンソールで用いるボーレートです。 .It Va BOOTWAIT .Pq Vt int カーネルがデフォルトカーネルのブートを開始する前に、 コンソールのキーが押されるのを待つ時間を制御します。 値はだいたいミリ秒単位となります。 ディスクからブートする前のキー入力の認識は BIOS が行うので、 これが 0 に設定されていた場合でも、 ユーザの選択したブートパラメータを与えることは可能です。 .It Va COPTFLAGS .Pq Vt str カーネルをコンパイルするときのコンパイラの設定を制御します。 .Op Fl O を越えた最適化レベル .Pq Op Fl O2 , No ...\& は、動作が保証されていません。 .It Va KERNCONF .Pq Vt str .Dq Li "${MAKE} buildkernel" によるビルドと .Dq Li "${MAKE} installkernel" によるインストールとで、どのカーネル設定を用いるかを制御します。 例えば .Bd -literal -offset indent KERNCONF=MINE DEBUG GENERIC OTHERMACHINE .Ed .Pp とすると、 .Pa MINE , DEBUG , GENERIC , OTHERMACHINE といった各設定ファイルに対応するカーネルをビルドし、 .Pa MINE に対応するカーネルをインストールします。 デフォルトは .Pa GENERIC です。 +.It Va LOADER_TFTP_SUPPORT +.Pq Vt bool +buildkernel が影響するオプションではありませんが、他に良い場所がありません。 +デフォルトでは +.Xr pxeboot 8 +ローダがカーネルを NFS 経由で取得します。 +これを定義して +.Pa /usr/src/sys/boot +を再コンパイルすると、カーネルを TFTP 経由で取得するようになります。 +これにより、 +.Xr pxeboot 8 +がカスタム BOOTP ディスクレスカーネルをロードし、サーバの +.Pa / +をマウントしますが、サーバのカーネルはロードしません。 +.It Va MODULES_OVERRIDE +.Pq Vt str +モジュールすべてではなく一部をビルドしたい場合、 +モジュールリストをここに設定します。 .It Va NO_KERNELCONFIG .Pq Vt bool .Dq Li "${MAKE} buildkernel" の際に .Xr config 8 を実行しない場合には、これを設定します。 .It Va NO_KERNELDEPEND .Pq Vt bool .Dq Li "${MAKE} buildkernel" の際に .Dq Li "${MAKE} depend" を実行しない場合には、これを設定します。 .It Va NO_MODULES .Pq Vt bool カーネルといっしょにモジュールをビルドしない場合に設定します。 -.It Va MODULES_OVERRIDE -.Pq Vt str -モジュールすべてではなく一部をビルドしたい場合、 -モジュールリストをここに設定します。 .El .Pp 次のリストは、world のビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va COMPAT1X .Pq Vt bool .Fx 1 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT20 .Pq Vt bool .Fx 2.0 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT21 .Pq Vt bool .Fx 2.1 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT22 .Pq Vt bool .Fx 2.2 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT3X .Pq Vt bool .Fx 3 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT4X .Pq Vt bool .Fx 4 互換ライブラリをインストールする場合に設定します。 .It Va FETCH_CMD .Pq Vt str ファイルの取得に用いるコマンドです。 通常は .Xr fetch 1 です。 +.It Va KRB5_HOME +.Pq Vt str +MIT Kerberos5 を +.Pa /usr/local +以外にインストールしたい場合、これを定義します。 +ssh1 に対しても Kerberos 要であることを伝えます。 .It Va MAKE_IDEA .Pq Vt bool IDEA 暗号化コードをビルドする場合に設定します。 このコードは米国やヨーロッパの多くの国々で特許が取得されています。 合法的に IDEA を使えるかどうか決めるのは .Em あなたの責任 です。 .It Va MAKE_KERBEROS4 .Pq Vt bool KerverosIV (KTH eBones) をビルドする場合に設定します。 .It Va MAKE_KERBEROS5 .Pq Vt bool Kerveros5 (KTH Heimdal) をビルドする場合に設定します。 .Em 注意! これはまだ実験的なコードです。 安定している Kerberos5 が必要ならば、ports を用いてください。 .It Va ENABLE_SUID_K5SU .Pq Vt bool k5su ユーティリティを使用したい場合に設定します。 設定しないと、本ユーティリティはユーザ ID 設定ビットが 設定されずにインストールされます。 .It Va ENABLE_SUID_NEWGRP .Pq Vt bool ユーザ ID 設定ビットを設定して .Xr newgrp 1 をインストールする場合に、これを設定します。 設定しないと、 .Xr newgrp 1 はユーザのグループを変更できません。 +.It Va ENABLE_SUID_SSH +.Pq Vt bool +.Xr ssh 1 +をセットユーザ ID ビットをオンにしてインストールする場合に、これを設定します。 .It Va MODULES_WITH_WORLD .Pq Vt bool カーネルと同時にではなく、 システムと同時にモジュールをビルドする場合に設定します。 .It Va NO_CVS .Pq Vt bool CVS をビルドしない場合に設定します。 +.It Va NO_CXX +.Pq Vt bool +.Xr g++ 1 +および関連ライブラリをビルドしない場合に設定します。 .It Va NO_BIND .Pq Vt bool BIND をビルドしない場合に設定します。 .It Va NO_FORTRAN .Pq Vt bool .Xr g77 1 と関連ライブラリをビルドしない場合に設定します。 +.It Va NO_GDB +.Pq Vt bool +.Xr gdb 1 +をビルドしない場合に設定します。 .It Va NO_I4B .Pq Vt bool isdn4bsd パッケージをビルドしない場合に設定します。 .It Va NO_IPFILTER .Pq Vt bool IP Filter パッケージをビルドしない場合に設定します。 .It Va NO_LPR .Pq Vt bool .Xr lpr 1 と関連プログラムをビルドしない場合に設定します。 .It Va NO_MAILWRAPPER .Pq Vt bool MTA セレクタである .Xr mailwrapper 8 をビルドしない場合に設定します。 .It Va MAKEDEV_INSTALL .Pq Vt bool .Pa /dev に .Pa MAKEDEV をインストールする場合に設定します。 .Va MAKEDEV_RUN 変数が効果を持つには、これが必要となります。 .It Va MAKEDEV_RUN .Pq Vt bool インストールの際に .Pa /dev で .Dq Li "MAKEDEV all" を実行する場合に設定します。 .It Va NO_OBJC .Pq Vt bool Objective C のサポートをビルドしない場合に設定します。 .It Va NO_OPENSSH .Pq Vt bool OpenSSH をビルドしない場合に設定します。 .It Va NO_OPENSSL .Pq Vt bool OpenSSL をビルドしない場合に設定します (同時に .Va NO_OPENSSH も設定されたことになります)。 -.It Va NO_PERL_WRAPPER -.Pq Vt bool -perl ラッパをビルドしない場合に設定します。 -設定しない場合、ラッパは -.Pa /usr/bin/perl -にインストールされます。 .It Va NO_SENDMAIL .Pq Vt bool .Xr sendmail 8 と関連プログラムをビルドしない場合に設定します。 .It Va NO_SHAREDOCS .Pq Vt bool .Bx 4.4 の古い文書をビルドしない場合に設定します。 .It Va NO_TCSH .Pq Vt bool .Pa /bin/csh (これは .Xr tcsh 1 です) をビルド・インストールしない場合に設定します。 .It Va NO_X .Pq Vt bool X\-Windows のサポート (例えば .Xr doscmd 1 など) をコンパイルしない場合に設定します。 .It Va NOCLEAN .Pq Vt bool .Dq Li "make buildworld" の途中で clean を行わない場合に設定します。 何をやっているかわからない人は設定すべきではありません。 .It Va NOCLEANDIR .Pq Vt bool .Dq Li "${MAKE} cleandir" の代わりに .Dq Li "${MAKE} clean" を実行する場合に設定します。 .It Va NOCRYPT .Pq Vt bool crypto コードを一切ビルドしない場合に設定します。 .It Va NOGAMES .Pq Vt bool ゲームをビルドしない場合に設定します。 .It Va NOINFO .Pq Vt bool .Xr info 5 各ファイルを作成・インストールしない場合に設定します。 .It Va NOLIBC_R .Pq Vt bool .Nm libc_r .Pf ( Nm libc のリエントラント版) をビルドしない場合に設定します。 .It Va NOMANCOMPRESS .Pq Vt bool man ページのインストールの際に圧縮を行わない場合に設定します。 .It Va NOPROFILE .Pq Vt bool profile 版ライブラリをコンパイルしない場合に設定します。 .It Va NOSECURE .Pq Vt bool .Pa secure サブディレクトリで crypto コードをビルドしない場合に設定します。 .It Va NOSHARE .Pq Vt bool .Pa share サブディレクトリをビルドしない場合に設定します。 .It Va PPP_NOSUID .Pq Vt bool .Xr ppp 8 を suid root プログラムとしてはインストールしない場合に設定します。 .It Va SENDMAIL_MC .Pq Vt str インストール時に用いるデフォルトの m4 設定ファイルです。 この値には .Pa .mc ファイルのフルパスを与えます。 例えば .Pa /etc/mail/myconfig.mc です。 make install すると、既存の .Pa /etc/mail/sendmail.cf を上書きしてしまうので、注意して使ってください。 .Va SENDMAIL_CF はもう推奨されなくなりました。 .Pa /etc/mail/sendmail.mc の値は使用しないでください。 buildworld によって .Pa /etc/mail/sendmail.cf が作成されるのは installworld によって更新された .Xr sendmail 8 バイナリがインストールされる前だからです。 .It Va SENDMAIL_SUBMIT_MC .Pq Vt str インストール時に用いるメール提出用デフォルト m4 設定ファイルです。 この値には .Pa .mc ファイルのフルパスを与えます。 例えば .Pa /etc/mail/mysubmit.mc です。 インストールによって既存の .Pa /etc/mail/submit.cf が上書きされてしまいますので、注意して使用してください。 .Pa /etc/mail/submit.mc の値は使用しないでください。 buildworld によって .Pa /etc/mail/submit.cf が作成されるのは installworld によって更新された .Xr sendmail 8 バイナリがインストールされる前だからです。 .It Va SENDMAIL_ADDITIONAL_MC .Pq Vt str ビルド時に .Pa .cf ファイルに変換される追加分の .Pa .mc ファイル (複数指定可) です。 値には、これらの .Pa .mc ファイルへのフルパスを与えます。 例えば .Pa /etc/mail/foo.mc .Pa /etc/mail/bar.mc など。 .Pa /etc/mail/sendmail.mc の値は使用しないでください。 buildworld によって .Pa /etc/mail/sendmail.cf が作成されるのは installworld によって更新された .Xr sendmail 8 バイナリがインストールされる前だからです。 .It Va SENDMAIL_M4_FLAGS .Pq Vt str .Pa .mc ファイルから .Pa .cf ファイルを作成するときに m4 に渡されるフラグ。 .It Va SENDMAIL_CFLAGS .Pq Vt str .Xr sendmail 8 をビルドするときにコンパイルコマンドに渡すフラグです。 .Va SENDMAIL_* 各フラグを用いれば、SASL サポートをその設定と共に指定できます。 例えば次のようにします。 .Bd -literal -offset indent SENDMAIL_CFLAGS=-I/usr/local/include -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl .Ed .It Va SENDMAIL_LDFLAGS .Pq Vt str .Xr sendmail 8 をビルドするときに .Xr ld 1 コマンドに渡すフラグです。 .It Va SENDMAIL_LDADD .Pq Vt str .Xr sendmail 8 をビルドするときに .Xr ld 1 コマンドの末尾に追加するフラグです。 .It Va SENDMAIL_DPADD .Pq Vt str .Xr sendmail 8 をビルドするときに追加する依存関係です。 .It Va SENDMAIL_SET_USER_ID .Pq Vt bool 設定すると、 .Xr sendmail 8 をグループ ID 設定ではなく、 root にユーザ ID 設定したバイナリとしてインストールし、 .Pa /etc/mail/submit.{cf,mc} をインストールしません。 このフラグの使用は推奨できません。 可能であれば、 .Pa /etc/mail/README に書かれている代りの方法を採用すべきです。 .It Va SENDMAIL_MAP_PERMS .Pq Vt str このモードのエイリアスおよびマップのデータベースファイルが、 .Pa /etc/mail/Makefile を使用して作成されます。 デフォルト値は 0640 です。 +.It Va TOP_TABLE_SIZE +.Pq Vt int +.Xr top 1 +は、ユーザ名用にハッシュ表を使用します。 +ハッシュの大きさはローカルユーザ数に合うように調整可能です。 +テーブルの大きさは、 +.Pa /etc/passwd +の行数の約 2 倍の素数であるべきです。 +デフォルト数は 20011 です。 .It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE .Pq Vt int 高い最適化レベルを強制的に低くするように、システムのコンパイラをビルドします。 .Xr gcc 1 .Fl O2 以上の高い最適化レベルは、しばしば既知の最適化バグを引き起こすことが 知られています \(em Alpha プラットフォームでは、さらにひどいです。 ここで割り当てられた値が、最も高い最適化レベルの値として使用されます。 +.It Va WANT_OPENSSL_MANPAGES +.Pq Vt bool +OpenSSL マニュアルページをビルドする場合に設定します。 +デフォルトではビルドされません。 +OpenSSL ツールキットの一部をなす +.Xr passwd 1 , +.Xr err 3 , +.Xr md5 3 +等のマニュアルページが、システムのマニュアルページを上書きしてしまうからです。 .El .Pp 次のリストは、ドキュメントのビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va DISTDIR .Pq Vt str distfiles が保存されている場所です。 通常これは .Va PORTSDIR の .Pa distfiles です。 .It Va DOC_LANG .Pq Vt str ビルド・インストール対象の言語とエンコーディングのリストです。 .It Va PRINTERDEVICE .Pq Vt str システム文書のデフォルトのフォーマットです。 これはプリンタに依存します。 単純なプリンタなら .Dq Li ascii を設定します。 PostScript プリンタやグラフィックスプリンタ + ghostscript フィルタなら .Dq Li ps を設定します。 両方設定することもできます。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact .It Pa /etc/make.conf .It Pa /usr/doc/Makefile .It Pa /usr/share/examples/etc/make.conf .It Pa /usr/src/Makefile .It Pa /usr/src/Makefile.inc1 .El .Sh 関連項目 .Xr gcc 1 , .Xr install 1 , .Xr make 1 , .Xr ports 7 , .Xr lpd 8 , .Xr sendmail 8 .Sh 歴史 .Nm ファイルは .Fx 4.0 以前のいつかに登場しました。 .Sh 作者 このマニュアルページは .An "Mike W. Meyer" Aq mwm@mired.org が書きました。 .Sh バグ このマニュアルページは現在の .Nm で利用できるオプションに比べると、古くなることが時々あるかもしれません。 現在利用できる最新のオプションについては、 .Pa /usr/share/examples/etc/make.conf ファイルを調べてください。 diff --git a/ja_JP.eucJP/man/man5/ntp.conf.5 b/ja_JP.eucJP/man/man5/ntp.conf.5 index b6e0b15fc7..ddeaa21833 100644 --- a/ja_JP.eucJP/man/man5/ntp.conf.5 +++ b/ja_JP.eucJP/man/man5/ntp.conf.5 @@ -1,1960 +1,1960 @@ .\" -.\" %FreeBSD: src/usr.sbin/ntp/doc/ntp.conf.5,v 1.8 2002/05/16 02:28:32 trhodes Exp % +.\" %FreeBSD: src/usr.sbin/ntp/doc/ntp.conf.5,v 1.10 2002/12/12 17:26:02 ru Exp % .\" $FreeBSD$ .\" .Dd January 13, 2000 .\" WORD: dotted-quad form ドットで 4 つの部分に区切られた形式 .\" WORD: association アソシエーション[NTP] .\" WORD: key identifier 鍵の識別子 .\" WORD: key cache 鍵のキャッシュ .\" WORD: key file 鍵ファイル .\" WORD: reference clock 参照クロック .\" WORD: time server タイムサーバ .\" WORD: symmetric active 対称的アクティブ .\" WORD: manycast メニーキャスト .\" WORD: mobilize (アソシエーションを)行使する[NTP] .Dt NTP.CONF 5 .Os .Sh 名称 .Nm ntp.conf .Nd ネットワークタイムプロトコル (NTP) デーモンの設定ファイル .Sh 書式 .Nm /etc/ntp.conf .Sh 解説 .Nm 設定ファイルは、 .Xr ntpd 8 デーモンの初期始動時に、同期用時刻供給源、モード、その他関連情報を 指定するために読み込みます。 通常は、この設定ファイルは .Pa /etc ディレクトリにインストールされますが、どのディレクトリにもインストール 可能です (デーモンの .Fl c コマンドラインオプションを参照)。 .Pp ファイルのフォーマットは、他の .Ux 設定ファイルと似ています。 コメントは、文字 .Ql # からはじまり、行末まで続きます。 また、空行は無視されます。 設定コマンドは、先頭のキーワードと、 その後に続く引数のリストからなります。 引数にはオプションのものもあります。 各引数は空白で区切られています。 コマンドは、複数の行にまたがることはできません。 引数として、ホスト名、 ドットで 4 つの部分に区切られた形式の数値で書かれたホストアドレス、 整数、浮動小数点で表現された数値 (秒で時間を指定した場合)、 テキスト文字列があります。 .Pp このマニュアルページの残りでは、設定と制御オプションについて述べます。 .Qq "NTP の設定と NTP サブネットの設定に関する注意" のページ ( .Pa /usr/share/doc/ntp にある HTML 文書の一部として入手可能です) では、これらオプションについて更に進んだ議論があります。 一般的な .Sx 設定オプション の議論に加えて、 サポートされている機能と、その機能を制御するためのオプションについて 述べた、次のようなセクションがあります: .Bl -bullet -offset indent .It .Sx 認証機能のサポート .It .Sx モニタ機能のサポート .It .Sx アクセス制御機能のサポート .It .Sx 参照クロック機能のサポート .El .Pp これらのセクションの後に .Sx その他のオプション について述べたセクションもあります。 利用可能なオプションは豊富にありますが、 必要なオプションは、 .Ic server , .Ic peer , .Ic broadcast , .Ic manycastclient コマンドだけです。 .Sh 設定オプション 次に述べるのは、NTPv4 の設定コマンドについてです。 これらのコマンドは、基本的な機能は NTPv3 のときと同じですが、 場合によっては、新たな機能や引数を持ったものがあります。 コマンドには、2種類のクラスがあります。 設定コマンドは、リモートサーバまたは通信相手または参照時計との 永続的なアソシエーションの設定を行ないます。 補助コマンドは、さまざまな関連操作を制御する環境変数を設定します。 .Ss 設定コマンド コマンドのキーワードおよび必要とされる IP アドレスの種類によって、 さまざまなモードが決定されます。 アドレスは次のような種類にクラス分けされます。 (s) リモートサーバあるいは通信相手 (IP クラス A, B, C のいずれか)、 (b) ローカルインタフェースのブロードキャストアドレス、 (m) マルチキャストアドレス (IP クラス D)、 あるいは、 (r) 参照時間アドレス (127.127.x.x) です。 以下では、各コマンドに適用可能なオプションだけを記載していることに 注意してください。 記載していないオプションを使用してもエラーにならないかもしれませんが、 その結果、妙なことをしたり、 破壊的なことをしでかしたりすることがあります。 .Bl -tag -width indent .It Xo Ic server Ar address .Op Cm key Ar key \&| Cm autokey .Op Cm burst .Op Cm iburst .Op Cm version Ar version .Op Cm prefer .Op Cm minpoll Ar minpoll .Op Cm maxpoll Ar maxpoll .Xc .It Xo Ic peer Ar address .Op Cm key Ar key \&| Cm autokey .Op Cm version Ar version .Op Cm prefer .Op Cm minpoll Ar minpoll .Op Cm maxpoll Ar maxpoll .Xc .It Xo Ic broadcast Ar address .Op Cm key Ar key \&| Cm autokey .Op Cm version Ar version .Op Cm prefer .Op Cm minpoll Ar minpoll .Op Cm ttl Ar ttl .Xc .It Xo Ic manycastclient Ar address .Op Cm key Ar key \&| Cm autokey .Op Cm version Ar version .Op Cm prefer .Op Cm minpoll Ar minpoll .Op Cm maxpoll Ar maxpoll .Op Cm ttl Ar ttl .Xc .El .Pp これら 4 つのコマンドは、使用するタイムサーバ名またはアドレスと、 動作を行うモードを指定するものです。 .Ar address は、DNS 名でも ドットで 4 つの部分に区切られた形式の IP アドレスでも良いです。 アソシエーションの振る舞いに関するさらなる情報は、 .Qq "アソシエーション管理" のページにあります。 .Bl -tag -width indent .It Ic server タイプ s および r のアドレス用です。 このコマンドは、リモートサーバまたはローカルのラジオ時計との 永続的クライアントモードの アソシエーションを行使します。 このモードでは、ローカル時計がリモートサーバに同期することは ありますが、 リモートサーバがローカル時計に同期することは決してありません。 このコマンドは、タイプ b または m のアドレスに対して 使用すべきでは .Em ありません。 .It Ic peer タイプ s のアドレス専用です。 このコマンドは、指定したリモートの通信相手との間で 永続的対称アクティブ (symmetric-active) モードの アソシエーションを行使します。 このモードでは、ローカル時計がリモートの通信相手に同期することが あります。 また、リモートの通信相手がローカル時計に同期することもあります。 この性質は、さまざまな故障の生じ方によっては、ローカル側と リモート側のどちらもがより良い時刻源になりえるような、 サーバのネットワークで有益です。 このコマンドは、タイプ b, m あるいは r のアドレスに対して 使用すべきでは .Em ありません。 .It Ic broadcast タイプ b および m のアドレス専用です。 このコマンドは、 永続的ブロードキャストモードのアソシエーションを行使します。 複数のローカルブロードキャストインタフェース (サブネット) および / あるいは、複数のマルチキャストグループを指定するため、 複数のコマンドを使用できます。 ローカルのブロードキャストメッセージは、指定されたサブネットに 関連づけられたインタフェースだけに到達するということに注意して ください。 ただし、マルチキャストメッセージは全てのインタフェースに到達します。 ブロードキャストモードでは、ローカルサーバは、指定したアドレスに 待機しているクライアント群に対して定期的にブロードキャストメッセージを 送信します。 このときのアドレスは、通常は、ローカルネットワーク (の 1 つ) の ブロードキャストアドレス、もしくは NTP に割り当てられた マルチキャストアドレスです。 IANA は、マルチキャストグループのアドレス 224.0.1.1 をNTP 専用に 割り当てています。 しかし、メッセージを収容するために、その他の競合しないアドレスも 管理境界内で使用できます。 もともと、この仕様は、ローカルサーバが送信側として動作する時のみ 適用されるものです。 ブロードキャストクライアントとして動作させたい場合は、後に説明する .Ic broadcastclient もしくは .Ic multicastclient コマンドの項を参照してください。 .It Ic manycastclient タイプ m のアドレス専用です。 このコマンドは、指定されたマルチキャストアドレスに対して メニーキャストクライアントモードのアソシエーションを行使します。 この場合、 使用するメニーキャストサーバで .Ic manycastserver コマンドで指定したアドレスと一致するアドレスを 指定することが必要です。 IANA が割り当てた 224.0.1.1 というマルチキャストアドレスは、 使用すべきではありません。 ただし、これらのメッセージがインターネット上の広大な領域に 撒き散らされ、それによって膨大な量のリプライが送り手に 集中しないように、何か特別な手段を講じている場合は別です。 .Ic manycastserver コマンドは、ローカルサーバがクライアントモードで動作することを指定します。 ローカルサーバは、ブロードキャスト / マルチキャストメッセージを送った結果 発見したリモートサーバとともに、クライアントモードで動作します。 クライアントは、指定した .Ar address に関連するグループアドレスへ、要求メッセージを送ります。 そして、特に有効にされたサーバがこの要求メッセージに応答します。 クライアントは、最も正確な時間を提供するサーバを選択し、以後は、 .Ic server コマンドを使用した場合と同様の動作を継続します。 それ以外のサーバは、まるで応答を受信しなかったかのように無視します。 .El .Pp オプション: .Bl -tag -width indent .It Cm autokey サーバもしくは通信相手との間で送受信したパケットの全てが、 .Sx 認証オプション の項で説明する autokey 方式を使用して暗号化された 認証フィールドを含むようになります。 .It Cm burst サーバが到達可能な場合、 ポーリング間隔ごとに、通常のパケット 1 個の代わりに、 パケット 8 個をバースト的に送信します。 最初のパケットと2 個目のパケットの間隔は約 16 秒としてあります。 これはモデムによる電話接続が完了するまでの時間を取るためです。 それ以後のパケットの間隔は約 2 秒です。 この動作は、 .Ic server コマンドと s アドレスを使った時刻管理を質的に改善するために 設計されました。 .It Cm iburst サーバに到達できない場合、ポーリング間隔ごとに、通常の パケット 1 個の代わりに、パケット 8 個をバースト的に送信します。 サーバに到達できない限り、モデムの電話接続が完了するように、 パケットの間隔は約 16 秒としてあります。 サーバが到達可能になると、パケットの間隔は約 2 秒になります。 この動作は、 .Xr ntpd 8 が .Fl q オプション付きで起動されたとき、 .Ic server コマンドと s アドレスによる初期同期確立を高速化するために設計されました。 .It Cm key Ar key サーバもしくは通信相手との間で送受信したパケットの全てが、 1から65534の間 (両端を含む) の値の 鍵識別子 .Ar key を使用して暗号化された認証フィールドを含むようになります。 デフォルトでは、暗号化されたフィールドは含まれません。 .It Cm minpoll Ar minpoll .It Cm maxpoll Ar maxpoll このオプションは、NTP メッセージに対する最小および最大のポーリング間隔 を、秒単位で 2 の指数の値で指定します。 最大ポーリング間隔のデフォルトは 10 (1024秒) ですが、 .Cm maxpoll オプションを使用することで、上限である 17 (36.4 時間) まで 増やすことができます。 最小ポーリング時間はのデフォルトは 6 (64 秒) ですが、 .Cm minpoll オプションを使用することで、下限である 4 (16 秒) まで 減らすことができます。 .It Cm prefer サーバに望ましいものとしての印をつけます。 他の条件で差がなければ、この印のついたサーバは、 正しく動作しているホストの中から同期用に選択されます。 さらなる情報が必要なら、 .Qq "緩和のルールと prefer キーワード" のページを参照してください。 .It Cm ttl Ar ttl このオプションは、ブロードキャストサーバモードと メニーキャストクライアントモードでのみ使用します。 このオプションは、ブロードキャストサーバとマルチキャストサーバの上で 使用する生存時間 .Cm ttl を指定し、リング検索をメニーキャストクライアントパケットに拡張する 最大 .Cm ttl を指定します。 デフォルトの値は 127 ですが、適切な値を選択するのはちょっとした 黒魔術のようなものですので、システム管理者との間の調整が必要です。 .It Cm version Ar version 送出する NTP パケットで使用するバージョン番号を指定します。 バージョン 1-4 から選択します。 バージョン 4 がデフォルトです。 .El .Ss 補助コマンド .Bl -tag -width indent .It Ic broadcastclient このコマンドは、任意のローカルインタフェース (タイプ b) に対する ブロードキャストサーバメッセージの受信を可能にします。 最初のメッセージを受信する際に、ブロードキャストクライアントは、 サーバとの間でクライアントサーバ間の短いやりとりを用いて、 名目上の (nominal) サーバ伝播遅延を測定します。 そのあと、ブロードキャストクライアントモードに入ります。 このモードで、その後に受信するブロードキャストメッセージに同期します。 偶然、あるいは故意にこのモードで両者決裂に至ることを避けるため、 サーバとクライアントはどちらも、 .Sx 認証オプション の項で説明する対称鍵認証または公開鍵認証を用いて 動作しなくてはならないことに注意してください。 .It Ic manycastserver Ar address ... このコマンドは、(1個または複数の) 指定した マルチキャストグループアドレス (タイプ m) に対するメニーキャストクライアントメッセージの受信を可能にします。 少なくとも 1 個のアドレスを必要とします。 しかし、リプライの伝播を制限し、最初の送信側に大量のメッセージが 殺到しないように、なんらかの方策を特別に用意しない限り、 IANA が割り当てた NTP マルチキャストアドレス 224.0.1.1 を使用してはいけません。 偶然、あるいは故意にこのモードで両者決裂に至ることを避けるため、 サーバとクライアントはどちらも、 .Sx 認証オプション の項で説明する対称鍵認証または公開鍵認証を用いて 動作しなくてはならないことに注意してください。 .It Ic multicastclient Ar address ... このコマンドは、(1個または複数の) 指定した マルチキャストグループアドレス (タイプ m) に対するマルチキャストサーバメッセージの受信を可能にします。 最初のメッセージを受信する際に、マルチキャストクライアントは、 サーバとの間でクライアントサーバ間の短いやりとりを用いて、 名目上の (nominal) サーバ伝播遅延を測定します。 そのあと、ブロードキャストクライアントモードに入ります。 このモードで、その後に受信するマルチキャストメッセージに同期します。 偶然、あるいは故意にこのモードで両者決裂に至ることを避けるため、 サーバとクライアントはどちらも、 .Sx 認証オプション の項で説明する対称鍵認証または公開鍵認証を用いて 動作しなくてはならないことに注意してください。 .El .Sh 認証機能のサポート 認証機能のサポートによって、NTP クライアントは、サーバが 本当に既知で信頼できるものであり、偶然であれ意図的であれ、 サーバのふりをしてクライアントをだまそうとする侵入者ではないことを 確認できます。 NTPv3 仕様 RFC-1305 は、受け取った NTP パケットを 暗号により認証するための方式を定義しています。 もともと、この機能は、Cipher Block Chaining (CBC) モードで機能する Data Encryption Standard (DES) アルゴリズムを使用して (一般的に、DES-CBC と 呼ばれる方式です) 実現されていました。 後に、秘密鍵を使用した RSA Message Digest 5 (MD5) アルゴリズムを用いて (一般的に、 keyed-MD5 と呼ばれています) 改良がなされました。 どちらのアルゴリズムもメッセージダイジェスト、つまり、 片方向ハッシュを計算します。 これは、サーバが正しい秘密鍵と鍵の識別子を持っているか否かを 検証するのに使用できます。 .Pp NTPv4 は、NTPv3 の方式を 保持しています。 この方式は、対称鍵暗号化と説明するのが適切でしょう。 それに加えて、公開鍵暗号化に基づく新しい Autokey 方式も 提供しています。 一般に、公開鍵暗号化は対称鍵暗号化よりも安全であると 考えられています。 この方式の安全性が、両サーバそれぞれで生成され外部に持ち出されない 秘密の値 1 個に基づくからです。 Autokey を使うことで、鍵配布/管理機能が含むものは全て公開値のみです。 値が公開されているので、鍵配布と保管が単純化されます。 .Pp 認証機能はアソシエーションそれぞれに対して個別に設定されます。 .Sx "設定オプション" の項で説明されるように、 認証機能は、 .Ic peer , .Ic server , .Ic broadcast , .Ic manycastclient コマンドの .Cm key サブコマンドまたは .Cm autokey サブコマンドを利用して設定されます。 以下で説明する認証機能オプションは、1 組の鍵を指定し、 設定するアソシエーションそれぞれに対する鍵を選択し、 設定操作を管理します。 .Pp .Cm auth フラグは、新しいアソシエーションまたはリモート設定コマンドが 暗号化認証を必要とするかどうかを制御します。 このフラグの有効/無効の設定は、 .Ic enable および .Ic disable 設定コマンドを使用して行なうことができます。 また、他のマシンで .Xr ntpdc 8 プログラムを動かして、リモートから設定コマンドを送り行なうことも できます。 このフラグが有効に設定されていれば (デフォルトは有効に設定されています)、 新規のブロードキャストクライアントアソシエーション、 新規の対称パッシブアソシエーション、 リモート設定コマンドは 対称鍵方式または、公開鍵方式のいずれかを用いて 暗号的に認証されなければなりません。 このフラグが無効に設定されていれば、暗号的に認証されていなくても これらの操作は有効です。 後者のモードで操作を行うと、悪者ハッカー (訳注: クラッカー) がクライアントの時刻管理処理に 重大な混乱をもたらすことが可能であるという、重大な脆弱性を招く ことは理解しておいてください。 .Pp ファイアウォールと多数のブロードキャストクライアントが存在する ネットワークでは、認証機能を無効にしておくことも許容できるかも しれません。 というのは、無効にすることで鍵の配布を行なわずにすみますし、 ネットワークの管理が単純になるからです。 しかし、設定ファイルがホスト名を含む場合、または、 サーバかクライアントがリモートから設定される場合、 DNS と、それとは別の名前解決プロセスを用いて ホスト名を解決します。 偽物のネームサーバメッセージから守るために、 内部で生成された鍵を使用して名前解決メッセージを認証しています。 この鍵は、通常、ユーザからは見えません。 しかし、暗号化機能のサポートが無効にされている場合、 この名前解決プロセスが失敗してしまいます。 この問題の解決策は、ホスト名の代わりに IP アドレスを指定する (こちらはあまりお勧めしません) か、または、 .Cm auth フラグを有効にして名前解決プロセスを行ない、 名前解決プロセスが完了してから .Cm auth フラグを無効にするかのどちらかです。 .Pp マルチキャストサポートが利用可能な場所での代替案として魅力的なもの は、メニーキャストモードです。 このモードでは、クライアントは定期的にサーバを流し釣りします。 このモードでの暗号化認証は、公開鍵方式を 以下に説明するように使用します。 このメニーキャストモードの主な利点は、クライアントはサーバを 通常の動作の間に発見するので、サーバになり得るマシンに 事前に設定する必要がないことと、クライアント全てで同じ 設定ファイルを利用できることです。 .Pp NTP 配布ソフトウエアの構築前に .Sy rsaref20 ソフトウエアをインストールしておいた場合、 デフォルトの対称鍵暗号化サポートに加えて、公開鍵暗号化のサポートも 利用可能です。 公開鍵暗号化は、正確性と安定性を犠牲にせずに、安全なサーバ認証を 提供します。 対称鍵暗号化、公開鍵暗号化両方に対するセキュリティモデルと プロトコル方式は、以下に説明します。 .Ss "対称鍵方式" RFC-1305 仕様では、本来、65,534 個の鍵の中の任意の 1 個を使い、 アソシエーションを認証することが可能です。 鍵それぞれは 32 ビットの鍵識別子により区別されます。 ここで使われるサーバとクライアントは、 メッセージを認証するための鍵および鍵識別子を合意しておく 必要があります。 鍵およびそれに関連する情報は、鍵ファイル中で指定します。 通常、このファイルは、 .Pa ntp.keys と呼ばれます。 このファイルは安全な手続きを用いて交換/格納する必要がありますが、 この手続きは、NTP プロトコル自体の範疇を超えています。 本来の NTP アソシエーションに使用される鍵に加えて、追加の鍵を .Xr ntpq 8 および .Xr ntpdc 8 ユーティリティプログラム用のパスワードとして使用できます。 .Pp .Xr ntpd 8 が初めて起動すると、 ntpd は、 .Ic keys コマンドで指定した鍵ファイルを読み込み、鍵キャッシュに鍵を 設置します。 一方、鍵は使用する前に .Ic trusted コマンドでアクティブにしておくことが必要です。 これにより、例えば、いくつかの鍵の束をインストールし、 .Xr ntpdc 8 を使用して鍵の束をリモートからアクティブにしたり、非アクティブに したりできます。 また、これにより、鍵の安全性が損なわれてしまった場合に使用できる 鍵の取消機能も提供されます。 .Ic requestkey コマンドは、 .Xr ntpdc 8 ユーティリティ用にパスワードとして使用される鍵を選択します。 それに対して、 .Ic controlkey コマンドは、 .Xr ntpq 8 ユーティリティ用にパスワードとして使用される鍵を選択します。 .Ss 公開鍵方式 RFC-1305 に記載されている、もとからある NTPv3 の認証方式は 継続してサポートされています。 しかしながら、NTPv4 では、 Autokey と呼ばれる認証方式が追加され、それを利用できます。 この認証機構は、MD5 メッセージダイジェスト、RSA 公開鍵署名、 Diffie-Hellman 鍵合意アルゴリズムを使用します。 これらは NTPv4 配布ソフトウエアには含まれていませんが、 いくつかのソースコードが存在します。 この機能を有効にするためには、 .Pa README.rsa ファイルに説明してあるように、 .Sy rsaref20 パッケージをインストールしておかねばなりません。 一度インストールすると、configure と構築プロセスがそれを 自動的に検出し、必要なルーチンをコンパイルします。 Autokey 方式は、サポートするさまざまな NTP モードに対応して いくつかの動作モードを持っています。 すべてのモードでタイムスタンプ付き RSA 署名を使用し、 暗号化の値の送信元を検証します。 すべてのモードで、クライアント、サーバそれぞれで独立に計算できる 特殊なクッキーを 1 個使用します。 対称モードでは、このクッキーは Diffie-Hellman 鍵合意アルゴリズムを 用いて組み立てられます。 それ以外のモードでは、このクッキーは IP アドレスとサーバのみが知っている秘密の値とで組み立てられます。 それに加えて、すべてのモードで S-KEY 方式と良く似た方式を使用します。 その方式では、疑似乱数鍵のリストを生成し、逆順で使用します。 これらの方式は、幹部向け要約、現状、要約スライド、文献リスト ともども、 .Qq "自主認証(Autonomos Authentication)" のページで説明します。 .Pp Autokey 方式で使用する暗号化の値は、 .Xr ntp-genkeys 8 プログラムで生成するファイルの中に組み込まれています。 それらは、対称秘密鍵、公開鍵/秘密鍵の組、合意パラメータです。 これらファイルの形式の説明は、 .Xr ntp.keys 5 マニュアルページを参照してください。 これらのファイルには、 .Sy rsaref20 パッケージのアルゴリズムにより生成された暗号化の値が 印字可能な ASCII 文字の形式で含まれています。 すべてのファイル名には NTP 秒のタイムスタンプと、その後ろに デフォルトの名前とが含まれます。 これらのデフォルトの名前は以下で与えます。 ファイルデータはシステムクロックを種とする乱数値に由来しており、 ファイル名にタイムスタンプが含まれているため、 これらのファイルを生成するごとに、 異なるファイル内容とファイル名で生成されます。 .Pp .Pa ntp.keys ファイルは DES/MD5 秘密鍵を含みます。 このファイルを同じセキュリティ区画に属する他のサーバやクライアントに 配布する際には、安全な手段で配布せねばなりません。 また、このファイルは root のみが見られるようにしなければなりません。 このファイルは Autokey 方式では使用しませんが、 .Xr ntpdc 8 , .Xr ntpq 8 ユーティリティが使用する いくつかのリモート設定コマンドを認証する際に必要です。 .Pa ntpkey ファイルは RSA 秘密鍵を保持します。 このファイルを生成したマシンでのみ利用できます。 他のデーモンやアプリケーションプログラムと共用することは 決してありません。 ですから、root のみが見られるようにしなければなりません。 .Pp .Pa ntp_dh ファイルは、合意パラメータを保持します。 このパラメータは対称 (アクティブ、パッシブ) モードでのみ使用します。 対称モードアソシエーションを開始する通信相手同士で同じパラメータを 共有することが必要ですが、どちらの .Pa ntp_dh ファイルから得られたパラメータかは問題になりません。 通信相手の一方がパラメータを保持する場合、他方は Autokey プロトコルを用いてそのパラメータを取得します。 通信相手が双方ともパラメータを保持している場合、双方は 最も新しいコピーを使用します。 通信相手がパラメータを持っていない場合、 設定されたアソシエーションまたは未設定のアソシエーション のいずれかについて、 全てのアソシエーションがパラメータを要求します。 しかし、どちらかの通信相手がパラメータを受信するまでは、 アソシエーションの処理を進めることはできません。 一度ロードされると、パラメータは要求に応じて他のクライアントや サーバに提供することができます。 .Pa ntp_dh ファイルのデータは公開値なので、このファイルは 安全でない手段を用いて配布することもできます。 .Pp .Pa ntpkey_ Ns Ar host ファイルは RSA 公開鍵を含みます。 ここで、 .Ar host はホストの名前です。 ホストはそれぞれ自分自身の .Pa ntpkey_ Ns Ar host ファイルを持っています。 通常、このファイルは、Autokey プロトコルを用い他のホストに提供されます。 .Ic server アソシエーション、または、 .Ic peer アソシエーションは、特定のサーバまたは通信相手に関連した 公開鍵を要求します。 この公開鍵は、ローカルファイルから直接ロードされるか、 Autokey プロトコルを用いてサーバから間接的にロードされます。 これらのファイルのデータは公開値であるため、 これらのファイルは安全でない手段を用いて幅広く配布/保管することが できます。 .Pp .Pa ntpkey_certif_ Ns Ar host ファイルはオプションで、そのホストに対する PKI 証明データを含みます。 これはホスト名と RSA 公開鍵の結び付きを提供します。 現在の実装では、この証明データが存在すれば、クライアントはそれを 取得しますが、その内容は無視されます。 .Pp インタフェースごとの名前付けが幅広く使用されているため、 設定され行使中のアソシエーションで使用されるホスト名は、 .Ux の .Xr gethostname 3 ライブラリ関数を使って決定されます。 .Xr ntp-genkeys 8 プログラムと Autokey プロトコルは、ともにこのルーチンが返す名前を 用いて公開鍵ファイルの名前を派生させます。 どのサーバもクライアントも固有の公開鍵と秘密鍵をロードする必要が ありますが、それぞれのクライアントアソシエーションまたは通信相手 アソシエーションに対する公開鍵は、Autokey プロトコルを用いて サーバまたは通信相手から取得することができます。 しかし、現在の開発段階では、 サーバまたは通信相手の認証の確実性と サーバ名、アドレス、公開鍵の暗号との結合は、 認証局 (certificate authority) や 信用の輪 (web of trust) により確立されたところにまで達していません。 .Ss "閏秒表" NIST は、1972 年以後、歴史的に全ての閏秒の挿入の発生を示す表を 提供しています。 この閏秒表は、挿入発生それぞれだけでなく、 協定世界時 (Coordinated Universal Time:UTC) に関する 国際原子時 (International Atomic time:TAI) のオフセットもあわせて 記載しています。 ちなみに、協定世界時は NTP により伝播されているものです。 この表は、NIST 国家時刻サーバから FTP を使い ASCII ファイル .Pa pub/leap-seconds として直接取得することができます。 .Pp 厳密にはセキュリティ機能ではありませんが、Autokey 方式は サーバまたは通信相手から安全に閏秒表を取り出す手段を提供しています。 サーバは、 .Ic crypto コマンドで指定したファイルから、閏秒表を直接ロードします。 クライアントは、サーバから Autokey プロトコルを使い間接的に 取得します。 一度ロードされると、閏秒表は要求に応じ他のクライアントやサーバに 提供できます。 .Ss 鍵の管理 デフォルトで、全ての鍵ファイルは、 .Pa /usr/local/etc に置かれます。 このディレクトリは通常、 ネットワークで NFS マウントされた共有ファイルシステムの中にあり、 個々のマシンに別々にインストールする手間を省くことができます。 このデフォルトは、 .Ic keysdir 設定コマンドを用いて上書きすることができます。 しかし、ここは秘密鍵ファイルを置く場所としては良いとはいえません。 マシンそれぞれが自分のファイルを必要とするからです。 このファイルをインストールするのに適当な場所は .Pa /etc です。 ここは、通常、共用ファイルシステムに存在しません。 .Pp 推奨するやり方は、 ファイルをインストールした時のタイムスタンプ拡張子を保持し、 (タイムスタンプ拡張子のない) デフォルト名から実ファイルへの リンクを作ることです。 これにより、新規ファイルの生成をリンクを張り変えることで有効に できます。 しかし、 .Xr ntpd 8 は、拡張値を取り出す瞬間にリンク名を解釈し、要求された時点で 公開鍵とホスト名とともにリンク名を送付します。 これにより、クライアントはファイルと生成時刻が常に現在であると 検証することができます。 しかし、各ファイルの実際の場所は .Ic crypto 設定コマンドにより上書きされる可能性があります。 .Pp 暗号化鍵と関連パラメータ全ては、例えば、1ヶ月に1回ぐらいの頻度で 定期的かつ自動的に再生成する必要があります。 .Xr ntp-genkeys 8 プログラムは、一度に生成するファイル全てに対し 同じタイムスタンプ拡張子を使います。 ですから、ファイル生成のそれぞれは区別され、データ監視の際に ファイル生成を認識できます。 公開鍵/秘密鍵の組は全てのサーバとクライアントにより 生成されねばなりませんが、公開鍵と合意パラメータを、 同じセキュリティ区画内の全てのマシンに対しわざわざ コピーする必要はありません。 これらは、Autokey プロトコルを使い自動的に取得できるからです。 しかし、プライマリサーバの全ては同じ合意パラメータファイルを持つ 必要があります。 これを達成するために推奨する方法は、プライマリサーバの 1 つに そのファイルを生成させ、その後で、同じセキュリティ区画内の 他のプライマリサーバに対し .Ux .Xr rdist 1 コマンドを用いてコピーすることです。 Autokey プロトコルの将来のバージョンでは、合意プロトコルが この処理を自動的に行なう機能の提供を含むことになります。 .Pp サーバとクライアントは新規のファイル世代の生成を 次のように行なうことができます。 全てのマシンは起動時に古いファイル世代をロードしており、 正常に動作しています。 指定した間隔で、各マシンは新規の公開鍵/秘密鍵の組を生成し、 デフォルトファイル名から新規ファイル名へのリンクを作成します。 その後で、 .Xr ntpd 8 は再起動され、新規の生成をロードします。 その結果、クライアントはもはや認証を正しく行なうことが できなくなります。 Autokey プロトコルがそう設計されているので、 数分後にクライアントはタイムアウトし、 プロトコルを最初から開始します。 その結果新規の世代をロードし、以前通り動作を続けることが できるようになっています。 同様の手続きが合意パラメータファイルに対しても使用できます。 しかし、この場合、このファイルを持つすべてのマシンが同じコピーを 持つように十分用心しておく必要があります。 .Ss "認証コマンド" .Bl -tag -width indent .It Ic autokey Op Ar logsec Autokey プロトコルで使用するセッション鍵のリストを 再生成する時間間隔を指定します。 各アソシエーション用の鍵リストのサイズは、この時間間隔と現在の ポーリング間隔に依るということに注意してください。 デフォルト値は 12 です (4096 秒、つまり、約 1.1 時間です)。 指定した時間間隔以上のポーリング間隔に対しては、 セッション鍵のリストは単一エントリを持ち、メッセージを 送るごとに再生成されます。 .It Ic controlkey Ar key .Xr ntpq 8 ユーティリティプログラムで使用する鍵の識別子を指定します。 このプログラムは、RFC-1305 で定義された標準プロトコルを使用します。 .Ar key 引数は、鍵のキャッシュ中の信頼された鍵に対する鍵識別子です。 値の範囲は、1 から 65534 で両端を含みます。 .It Xo Ic crypto .Op Cm flags Ar flags .Op Cm privatekey Ar file .Op Cm publickey Ar file .Op Cm dhparms Ar file .Op Cm leap Ar file .Xc このコマンドは NTP デーモンを構築する際に RSA ライブラリを含め設定することが必要です。 このコマンドは公開鍵暗号化を有効にし、必要な RSA 秘密鍵ファイルと 公開鍵ファイルをロードし、存在するなら Diffie-Hellman 合意パラメータ ファイルもロードします。 ファイルを指定しないでいた場合、デフォルトの名前は以下に説明するように 使われます。 次に示すのはサブコマンドです。 .Bl -tag -width indent .It Cm privatekey Ar file RSA 秘密鍵ファイルの場所を指定します。 指定がない場合のデフォルトは、 .Pa /usr/local/etc/ntpkey です。 .It Cm publickey Ar file RSA 公開鍵ファイルの場所を指定します。 指定がない場合のデフォルトは、 .Pa /usr/local/etc/ntpkey_ Ns Ar host です。 ここで、 .Ar host は鍵を生成したマシンの名前です。 .It Cm dhparms Ar file Diffie-Hellman パラメータファイルの場所を指定します。 指定がない場合のデフォルトは、 .Pa /usr/local/etc/ntpkey_dh です。 .It Cm leap Ar file 閏秒表ファイルの場所を指定します。 指定がない場合のデフォルトは、 .Pa /usr/local/etc/ntpkey_leap です。 .El .It Ic keys Ar keyfile DES/MD5 秘密鍵ファイルの場所を指定します。 このファイルは、対称鍵モードで動作しているときに .Xr ntpd 8 , .Xr ntpq 8 , .Xr ntpdc 8 が使用する鍵と鍵識別子を含みます。 .It Ic keysdir Ar path このコマンドは NTP デーモンを構築する際に RSA ライブラリを含め設定することが必要です。 秘密鍵ファイル、合意パラメータファイル、公開鍵ファイルに対する デフォルトのディレクトリパスを指定します。 設定ファイルにこのコマンドが出てこなかったとき、 このデフォルトは .Pa /usr/local/etc です。 .It Ic requestkey Ar key .Xr ntpdc 8 ユーティリティプログラムで使用する鍵の識別子を指定します。 このプログラムでは、 .Xr ntpd 8 の現在の実装に特有の専用プロトコルを使用します。 .Ar key 引数は、信頼された鍵に対する鍵の識別子です。 その値は 1 から 65534 の範囲です (両端を含む)。 .It Ic revoke Ar logsec Autokey 方式で使用するある暗号化値の再計算の間隔を、 秒数を 2 の指数で指定します。 この方式のアルゴリズムによる総当たり攻撃を そらすために、これらの値を頻繁に更新する必要があります。 しかし、いくつかの値の更新は比較的高価な処理です。 デフォルトの時間間隔は 16 です (65,536 秒、つまり約 18 時間です)。 指定した間隔以上のポーリング間隔に対して、 メッセージを送るごとに新しい値が再計算されます。 .It Ic trustedkey Ar key ... 通信相手を対称鍵暗号化を使い認証する目的で、信頼する 暗号化鍵の識別子を指定します。 また .Xr ntpq 8 および .Xr ntpdc 8 プログラムで使用される鍵も指定します。 認証手続きが要求することは、この目的のために、 ローカルとリモートのサーバとが同じ鍵および鍵の識別子を 共有していることですが、 異なったサーバには、異なった鍵を使用可能です。 .Ar key 引数は 32 ビット符号なし整数で、1から65,534までの範囲の値です。 .El .Sh モニタ機能のサポート .Xr ntpd 8 には、サーバおよびクライアントの時間計測のパフォーマンスを長時間 連続して記録するのに適した、包括的なモニタ機能が含まれています。 現在サポートされている統計の種類のリストと実行例については、 後で述べる .Ic statistics コマンドを参照してください。 統計ファイルは、ファイル世代集合と、配布物の中の .Pa ./scripts ディレクトリにあるスクリプトを使用して管理されています。 これらの機能と、 .Ux の .Xr cron 8 ジョブを使用して、 データが自動的に要約され、時間を遡った分析を行うときのために 保存されます。 .Ss モニタ機能のコマンド .Bl -tag -width indent .It Ic statistics Ar name ... 統計レコードの書き込みを有効にします。 現在のところ、4 種類の .Ar name の統計がサポートされています。 .Bl -tag -width indent .It Cm loopstats ループフィルタの統計情報の記録を有効にします。 ローカル時計の更新を行うたびに、 loopstats という名前のファイル世代集合に次の形式の行を出力します: .Bd -literal 50935 75440.031 0.000006019 13.778190 0.000351733 0.013380 6 .Ed .Pp 最初の 2 つのフィールドは、日付 (ユリウス暦に修正済) と 時刻 (UTC 午前 0 時からの秒数) です。 次の 5 つのフィールドは、 秒単位の時間オフセット、 100 万分の 1 (PPM) 単位の周波数オフセット、 秒単位の RMS ジッタ、100 万分の 1 (PPM) 単位の Allan 偏差、 時計学習アルゴリズムの時定数です。 .It Cm peerstats 通信相手に関する統計情報の記録を有効にします。 これには、設定されたものと現在有効なものとの両方について、 NTP サーバの通信相手の全て、特別な時刻信号の通信相手の全て に対する統計レコードが含まれます。 有効な更新が行われる度に、peerstats という名前のファイル世代集合の 現在の要素に次の形式の行を追加します: .Bd -literal 48773 10847.650 127.127.4.1 9714 -0.001605 0.00000 0.00142 .Ed 最初の 2 つのフィールドは、日付 (ユリウス暦に修正済)、 時刻 (UTC で午前 0 時からの秒数) です。 次の 2 つのフィールドは、それぞれドットで 4 つの部分に区切られた 形式の記法で書かれた通信相手のアドレスおよびステータスです。 ステータスフィールドは、RFC 1305 の NTP 仕様の追記 A で述べている フォーマットを用いて、16 進数で符号化されています。 最後の 3 つのフィールドは、オフセット、遅延、RMS ジッタで、 すべて秒単位です。 .It Cm clockstats 時計ドライバの統計情報の記録を有効にします。 時計ドライバからの更新を受ける度に、clockstats という名前の ファイル世代集合に、次の形式の行を追加出力します: .Bd -literal 49213 525.624 127.127.4.1 93 226 00:08:29.606 D .Ed 最初の 2 つのフィールドは、日付 (ユリウス暦に修正済) および時刻 (UTC で午前 0 時からの秒数) です。 次のフィールドは、ドットで 4 つの部分に区切られた形式の記法で書かれた 時計のアドレスを示しています。 最後のフィールドは、時計から受け取った最後のタイムコードを 意味のある ASCII フォーマットにデコードしたものです。 時計ドライバによっては、これ以外に追加でそこそこの情報を集め、 あわせて表示するものがあります。 さらなる情報については、各時計特有の情報を参照してください。 .It Cm rawstats そのままのタイムスタンプ (raw-timestamp) の統計情報を 記録できるようにします。 これには、設定されたものと現在有効なものとの両方について、 NTP サーバの通信相手の全て、特別な時刻信号の通信相手の全て に対する統計レコードが含まれます。 通信相手または時計ドライバから受け取った NTP メッセージは それぞれ、rawstats という名前のファイル世代集合に 次のような形式で 1 行付け足します: .Bd -literal 50928 2132.543 128.4.1.1 128.4.1.20 3102453281.584327000 3102453281.58622800031 02453332.540806000 3102453332.541458000 .Ed 最初の 2 つのフィールドは、日付 (ユリウス暦に修正済) および時刻 (UTC で午前 0 時からの秒数) です。 次の 2 つのフィールドは、 通信相手あるいは時計のアドレスと、 ローカルアドレスを示しています。 これらはドットで 4 つの部分に区切られた記法で書かれています。 最後の 4 つのフィールドは、 生起、受信、送信、最終の 4 種類の NTP タイムスタンプを 順に示したものです。 タイムスタンプの値は受け取ったままのものであり、さまざまな データ平滑化や緩和アルゴリズムが処理する前のものです。 .El .It Ic statsdir Ar directory_path 統計ファイルを作るディレクトリのフルパスを指定します (下記参照)。 このキーワードにより、ファイル世代集合のための .Ic filegen ファイル名のプレフィックスの変更 (これがなければ固定のままです) が可能となります。 これは、統計ログを扱うのに便利です。 .It Xo Ic filegen Ar name .Op Cm file Ar filename .Op Cm type Ar typename .Op Cm link \&| Cm nolink .Op Cm enable \&| Cm disable .Xc ファイル世代集合 .Ar name の設定を変更します。 ファイル世代集合は、サーバの活動期間を通じて 継続的に大きくなっていくファイルを扱う手段を提供します。 サーバの統計はこのようなファイルの典型例です。 ファイル世代集合は、実際のデータを格納するのに用いられる ファイル集合へのアクセスを提供します。 どんな時点でも、ファイル集合の高々 1 つの要素に対してだけ 書き込みが行われます。 指定した type は、ファイル集合の新しい要素に、データがいつ、 どのように出力されるのかを指定します。 この方法で、 .Xr ntpd 8 の動作を妨げる危険を冒すことなく、 現在使用されていないファイル集合の要素に格納されている情報を、 管理操作のために使用できます (最も重要な操作: 新たな出力データ用の空きを作るために、これら要素を削除できます)。 このコマンドは、リモートで動作している .Xr ntpdc 8 プログラムから送信可能であることに注意してください。 .Bl -tag -width indent .It Ar name これは、統計レコードのタイプです。 .Ic statistics コマンドの項で示すものと同じです。 .It Cm file Ar filename これは、統計レコード用のファイル名です。 集合のメンバのファイル名は、次の 3 つの要素の結合、 すなわちプレフィックス、ファイル名、サフィックスからできています。 .Bl -tag -width indent .It prefix ファイル名のパスであり、定数です。 これは、 .Ic filegen オプションを使っても変更されることはありません。 パスは、サーバが定義します。 通常は、コンパイル時に定数として指定します。 しかし、別のコマンドを使って、個々のファイル世代集合に対し 設定することも可能です。 例えば、 .Cm loopstats および .Cm peerstats 生成時に使われるプレフィックスは、 前に説明した .Ic statsdir オプションを使用して設定可能です。 .It filename この文字列は、そのまま先に述べたプレフィックスの後ろに結びつきます (間に .Ql / (スラッシュ) は入りません)。 これは、 .Ic filegen ステートメントの .Ar file 引数を使用することで変更できます。 この中身には、 .Ql \&.. という要素を使用することはできません。 それは、プレフィックスで示されたファイルシステムの階層外を filename が参照してしまうのを防ぐためです。 .It suffix この部分は、ファイル集合の要素ひとつひとつを反映しています。 これは、ファイル集合の種類に依存して生成されます。 .El .It Cm type Ar typename ファイル世代集合は、タイプによって特徴づけされます。 次のような種類がサポートされています: .Bl -tag -width indent .It none このファイル集合はごく普通のファイル 1 つです。 .It pid .Xr ntpd 8 サーバが生成されるごとに、ファイル集合の要素が 1 つ 使用されます。 このタイプは、動作中にファイル集合のメンバに何の変更も 施すことはありませんが、異なる .Xr ntpd 8 サーバの生成に属しているファイルを分けるのに簡単な方法を 提供します。 ファイル集合のメンバのファイル名は、プレフィックスと filename 文字列をつないだものに .Ql \&. (ドット) を付け加え、 .Xr ntpd 8 サーバのプロセスのプロセス ID を 10 進数で表現したものを 付け加えたものです。 .It day 1 日ごとにファイル世代集合の要素が 1 つ生成されます。 1 日とは、UTC 時刻で 0:00 から 24:00 までの期間と定義されています。 ファイル集合メンバのサフィックスには、 .Qq \&. (ドット) と日付を .Ar YYYYMMdd 形式で表したものが含まれています。 ここで、 .Ar YYYY は、4 桁で表した西暦年です (例えば、1992)。 .Ar MM は、2 桁の月です。 .Ar dd は、2 桁の日です。 つまり、1992 年 12 月 10 日に書かれた情報は全て、 .Sm off .Pa Ar prefix / Ar filename / 19921210 .Sm on という名前のファイルに書かれることになります。 .It week どの要素も 1 年のうちのある週に関連するデータを含みます。 ここで、週という用語は、年の始まりからの日数の 7 の商により 定義されます。 このようなファイル世代集合の要素は、ファイル集合の filename のベースに、次のようなサフィックスをつけることで区別されます: ドット、4 桁の西暦年、文字 .Ql W , 2 桁の週番号です。 例えば、1992 年 1 月 10 日からの情報は、サフィックス .Pa .1992W1 を持つファイルに出力されます。 .It month 1 月に 1 つのファイル世代集合の要素が作成されます。 ファイル名のサフィックスは、ドット、4 桁の西暦年、2 桁の月から なります。 .It year 1 年に 1 つのファイル世代集合の要素が作成されます。 ファイル名のサフィックスは、ドットと 4 桁の西暦年からなります。 .It age この型のファイル世代集合は、サーバが 24 時間活動するごとに新たな要素に 変わります。 ファイル名のサフィックスは、ドット、文字 .Ql a , 8 桁の数から なります。 この数は、対応する 24 時間の始めからサーバが実行されている 秒数であるようになります。 情報は、ファイル世代集合が .Ic enable に設定されているときのみ、その集合に 書き込まれます。 出力は、 .Ic disable に指定することで抑制されます。 .El .It Cm link \&| Cm nolink ファイル世代集合の現在の要素に、決まった名前でアクセスできると 便利です。 この機能は、 .Cm link を指定することで有効になり、 .Cm nolink を使用すると無効になります。 .Cm link が指定されると、現在のファイル集合の要素から、 サフィックスを持たないファイルへのハードリンクが作成されます。 すでにその名前を持つファイルが存在し、そのファイルへのリンク数が 1 であるとき、そのファイル名を、ドット、文字 .Ql C そして .Xr ntpd 8 サーバプロセスのプロセス ID を後ろに付け加えたものに変更します。 ファイルへのリンク数が 1 よりも大きい場合は、 ファイルはアンリンクされます。 これによって、現在のファイルは、一定の名前でアクセスできます。 .It Cm enable \&| Cm disable 情報記録機能を有効または無効にします。 .El .El .Sh アクセス制御機能のサポート .Xr ntpd 8 は、一般的な用途のアドレスおよびマスクベースの制限リストを 実装しています。 この制限リストは、アドレスおよびマスクでソートされており、 マッチするか否かをみるのに、この順序で探索が行われます。 この結果、最後にマッチしたものが、入力パケットと 関連付けられた制限フラグを定義します。 入力パケットの送り主のアドレスがマッチに使われます。 32 ビットのアドレスと、制限用のエントリに関連付けられた マスクとの AND をとり、それからエントリのアドレスと比較をして マッチが行われます (エントリのアドレスもマスクと AND が取られています)。 さらなる情報や例については、 .Qq "NTP の設定と NTP サブネットの設定に関する注意" のページにあります。 .Pp アクセス制限機能は、オリジナルの NSFnet バックボーン タイムサーバに対するアクセスポリシと一致するように実装されました。 この機能は、望まないものや落ちてしまったリモートのタイムサーバが 自分のタイムサーバに影響を与えないようにするには有効かも しれませんが、この機能を、標準の NTP 認証機能の代用になると 考えるべきではありません。 送り元アドレスに基づいた制限というのは、やる気十分のクラッカー には簡単に回避されてしまいます。 .Ss 死の接吻パケット もともと、サービスを拒否されたパケットは、単純に捨てられるだけで、 統計カウンタを増やす以外に一切の動作を生じさせることはありません。 クライアントに明示的に送信停止を要求し、またシステムオペレータに メッセージを残すサーバメッセージなどの、より前向きな応答が 必要となることがときどきあります。 この目的のために、特にパケット形式が作られました。 それを称して、死の接吻 (kiss-of-death) パケットと言います。 .Cm kod フラグが設定されており、サービスが拒否されるか、クライアントが 限界値を越えたとき、サーバはパケットを返し、leap ビットを 非同期に設定し、階層を 0 に設定し、ASCII 文字列 "DENY" を 参照ソース識別子フィールドに設定します。 .Cm kod フラグが設定されていない場合、サーバは単にパケットを捨てるだけです。 .Pp 死の接吻パケットを受信したクライアントまたは通信相手は、一連の 健全性チェックを行ない、セキュリティの露出 (exposure) を最小限に 押えます。 このパケットが、そのサーバから受信した最初のパケットである場合、 クライアントは、そのサーバの条件ではアクセスは拒否されたと想定します。 そのクライアントは階層と参照識別子の通信相手変数とを更新し、 通信相手フラッシュ変数のアクセス拒否 (テスト 4) ビットを設定します。 このビットが設定されている場合、クライアントはそのサーバに対し パケットを送信しません。 そのサーバから受信した最初のパケットでなかった場合、クライアントは サーバ側で限界値を越えたと想定します。 しかし、通信相手変数は更新しません。 いずれの場合でも、メッセージをシステムログに送出します。 .Ss アクセス制御コマンド .Bl -tag -width indent .It Xo Ic restrict numeric_address .Op Cm mask Ar numeric_mask .Op Ar flag ... .Xc .Ar numeric_address 引数は、ホストあるいはネットワークのアドレスです。 これは、ドットで 4 つの部分に区切られた形式で表現されます。 .Cm mask 引数も、ドットで 4 つの部分に区切られた形式で表現されます。 デフォルトは 255.255.255.255 です。 これは、 .Ar numeric_address が個別のホストのアドレスとして扱われるものであることを 意味しています。 デフォルトエントリ (アドレス 0.0.0.0, マスク 0.0.0.0) は常に含まれており、既定のソートアルゴリズムでは、 常にリストの先頭のエントリとなります。 .Ar numeric_address は、通常ドットで 4 つの部分に区切られた形式で与えられますが、 mask オプションを伴わないテキスト文字列 .Ql default は、 デフォルトエントリを示すために使用できることに注意して下さい。 現在の実装では、 .Cm flag は常にアクセスを制限します。 すなわち、フラグを持たないエントリは、サーバへの自由なアクセスが 与えられることを示すことになります。 フラグは直交的ではなく、より制限の強いフラグは、 より制限の弱いフラグを冗長にすることもしばしばです。 フラグは、一般に 2 つのカテゴリに分類されます。 時間サービスを制限するものと、情報問い合わせやサーバを 実行時に再設定しようとするのを制限するものです。 次のフラグのうち、1 つ以上を指定できます: .Bl -tag -width indent .It Cm kod アクセスが拒否された場合、死の接吻パケットを送信します。 .It Cm ignore このエントリにマッチするホストからのすべてのパケットを無視します。 このフラグが指定されると、問い合わせも時間サーバへのポーリングも 応答されなくなります。 .It Cm noquery NTP のモード 6 と 7 のすべてのパケット (つまり情報問い合わせと 設定要求) を無視します。 時間サービスは影響を受けません。 .It Cm nomodify サーバの状態を変えようとするモード 6 と 7 のすべてのパケット (つまり実行時再設定) を無視します。 情報を返す問い合わせは許されます。 .It Cm notrap マッチしたホストにモード 6 の制御メッセージのトラップサービスを提供 することを拒否します。 トラップサービスは、モード 6 の制御メッセージプロトコルの サブシステムで、リモートのイベントロギングプログラムによる 使用が意図されています。 .It Cm lowpriotrap マッチしたホストによるトラップセットを低い優先度として宣言します。 1 つのサーバが保持し得るトラップの数は制限されています (現在の制限値は 3 です)。 トラップは通常、先入れ先出しベースで割り当てられ、後から来た トラップ要求はサービスを拒否されます。 このフラグは、後から到着する要求のための通常優先度のトラップが 低い優先度のトラップを上書きできるようにすることで、 割り当てアルゴリズムを変更します。 .It Cm noserve モード 6 と 7 以外のすべての NTP パケットを無視します。 基本的には、時間サービスは拒否されますが、それでも 問い合わせは許されています。 .It Cm nopeer ポーリングしているホストに、状態を持たない (stateless) 時間サービス を与えますが、通信相手用のメモリ資源を割り当てません。 割り当てておけば、将来、同期の相手として有用になるかも しれないとしてもです。 .It Cm notrust これらのホストは同期源としては決して使用されませんが、その他の点では 普通に扱われます。 .It Cm limited これらのホストは、同一のネットからのクライアント数の制限の対象と なります。 ここで言うネットとは、 (class A, class B, class C 等の) ネットの IP 表記のことです。 サーバに見えるホストで、過去 .Va client_limit_period 秒の間アクティブであった、最初の .Va client_limit 個のホストのみが、受け付けられます。 同一のネットの他のクライアントからの要求は拒否されます。 時間要求パケットのみが考慮されます。 .Xr ntpq 8 および .Xr ntpdc 8 プログラムが送信した問い合わせパケットは、この制限の影響は 受けません。 クライアントの履歴は、 .Xr ntpd 8 のモニタリング機能を用いて保持されます。 そのため、 .Cm limited フラグのついたアクセス制限のエントリがあれば、 モニタリング機能は常にアクティブです。 .It Cm ntpport 実質的には、制限フラグと言うより、マッチのアルゴリズムを 変更するものです。 このフラグが存在すると、パケットのソースポートが標準の NTP の UDP ポート (123) である場合にのみ、制限エントリにマッチします。 .Cm ntpport と .Cm non-ntpport のどちらも指定できます。 .Cm ntpport の方が限定的なものであると考えられ、リストの後ろの方に ソートされます。 .El .Pp デフォルトの制限リストエントリは、フラグ .Cm ignore , .Cm interface , .Cm ntpport を持ち、ローカルホストの インタフェースアドレスそれぞれに対応するもので、 サーバが自分自身の時間に同期しないようにするために、 スタートアップ時にテーブルに挿入されます。 デフォルトエントリは常に存在しています。 さもなくば無設定になってしまう場合であってもです。 他で設定されていない場合は、どのフラグもデフォルトエントリに 関連づけられません (すなわち、あなた自身の NTP サーバ以外の すべてが無制限になります)。 .It Ic clientlimit Ar limit .Va client_limit 変数を設定します。 この変数は、同時にアクセス制御されるクライアント数を制限します。 この変数のデフォルト値は 3 です。 .It Ic clientperiod Ar period .Va client_limit_period 変数を設定します。 この変数は、クライアントが非アクティブであるとみなされ、 そのために、もはや制限されるクライアント数に数えられなくなるまでの秒数を 指定します。 この変数のデフォルト値は 3600 秒です。 .El .Sh 参照クロック機能のサポート NTP バージョン 4 デーモンは、40 種類ほどの、電波、衛星、 モデムを参照する 時計をサポートします。 さらに、バックアップ用およびクロック源が他に利用できなく なったときのために、特殊な疑似時計をサポートしています。 個別のデバイスドライバやオプションに関する詳細な説明は、 .Qq 参照クロックドライバ のページ (これは、 .Pa /usr/share/doc/ntp にある HTML 文書の一部として利用可能です) にあります。 さらなる情報は、 .Qq "参照クロックドライバのデバッグのヒント" や、 .Qq "参照クロックドライバの書き方" など、そこからリンクされたページにあります。 それに加え、 PPS 信号のサポートについては、 .Qq "1 秒間隔のパルス (PPS) 信号のインタフェース" のページの説明が利用できます。 ドライバの多くは、特殊な回線規約 / ストリームモジュールを サポートしています。 このモジュールを用いると、時刻の正確性が飛躍的に向上します。 これに関しては、 .Qq "回線規約とストリームドライバ" のページに説明があります。 .Pp 参照クロックは、一般に (常にではありませんが) 無線時刻コード受信機です。 この無線時刻コード受信機は、 カナダの NRC や合州国の NIST や USNO が提供しているサービスの ような、標準時刻の供給源に同期します。 コンピュータと時刻コード受信機との間のインタフェースは デバイス依存ですが、シリアルポートを使うのが普通です。 それぞれの参照クロックに特有のデバイスドライバを選択し、 そのディストリビューションでコンパイルする必要がありますが、 もっとも標準の無線、衛星、そしてモデム時計はデフォルトで 含まれています。 その時計用のドライバがコンパイルされていないか、 ハードウェアのポートが 適切に設定されていないときに参照クロックを設定しようとすると、 システムのログファイルに激しい警告がでますが、その他の障害が 起こることはありません。 .Pp 設定の観点から見ると、 .Xr ntpd 8 は、参照クロックを、普通の .Tn NTP の交信相手にするのとできる限り同じような方法で扱います。 参照クロックは、通常の NTP 通信相手と区別するため、 文法的には正しいが、無効な IP アドレスを使って認識されます。 参照クロックのアドレスは、 .Sm off .Li 127.127. Ar t . Ar u .Sm on の形式です。 ここで、 .Ar t は時計の種類を示した整数で、 .Ar u はユニット番号 (範囲は 0-3) を示しています。 これは、過剰に見えるかもしれませんが、 実のところ、同種類の参照クロックを複数設定するのには時として 便利です。 この場合、ユニット番号は一意のものであることが必要です。 .Pp .Ic server コマンドを使用して参照クロックを設定します。 ここで、このコマンドの .Ar address 引数は参照クロックのアドレスです。 .Cm key , .Cm version , .Cm ttl オプションは、参照クロックのサポートでは使用しません。 参照クロックをサポートするために、 .Cm mode オプションが追加されています。 このオプションについては後で述べます。 .Cm prefer オプションは、サーバに、他の参照クロックや通信相手よりも いくらか熱心に、ある参照クロックを大切に扱わせるように促すのに 有効です。 このオプションに関してのさらなる情報については、 .Qq "緩和ルールと prefer キーワード" のページにあります。 .Cm minpoll と .Cm maxpoll オプションは、選択されたクロックドライバに 対してのみ意味があります。 さらなる情報については、別個のクロックドライバのドキュメントページを 参照してください。 .Pp .Ic fudge コマンドは、クロックドライバ固有の追加情報を提供するのに使用します。 通常は、 .Ic server コマンドの直後に使用されます。 .Ar address 引数はクロックのアドレスを指定します。 .Cm refid と .Cm stratum は、そのデバイスのデフォルト値を上書きするために使用することが できます。 2 個のオプションのデバイス依存の時刻オフセットと 4 個のフラグがあり、 それらも同様に .Ic fudge コマンドに含めることが可能です。 .Pp 参照クロックの階層 (stratum) 番号は、デフォルトで 0 です。 .Xr ntpd 8 デーモンは各通信相手の階層に 1 を足すので、 プライマリサーバは、通常、外部階層 1 を示します。 バックアップを巧みに運用するため、 参照クロックの階層を 0 より大きい数に指定するのが有益な ことが多いです。 この目的のために、 .Cm stratum オプションを使用します。 参照クロックと、1 秒間隔パルス (PPS) 調整信号の両方を 含む場合、参照クロック識別子をデフォルト値以外の、ドライバに 依存したものに指定するのが有効です。 この目的のために、 .Cm refid オプションを使用します。 記述がない限り、これらのオプションは、すべての時計 ドライバに適用されます。 .Ss 参照クロックのコマンド .Bl -tag -width indent .It Xo Ic server .Sm off .Li 127.127. Ar t . Ar u .Sm on .Op Cm prefer .Op Cm mode Ar int .Op Cm minpoll Ar int .Op Cm maxpoll Ar int .Xc このコマンドは、参照クロックを特殊な方法で設定するのに 使用できます。 オプションは次のように解釈されます: .Bl -tag -width indent .It Cm prefer その参照クロックを優先的なものとして印をつけます。 その他の点では対等であれば、正しく動作しているホストの中から この参照クロックが同期をとる対象として選ばれます。 さらなる情報については、 .Qq "緩和ルールと prefer キーワード" のページを参照してください。 .It Cm mode Ar int モード番号を指定します。 この番号は、デバイス特有のやり方で解釈されます。 例えば、モード番号は、ACTS ドライバでは ダイヤル用のプロトコルを選択しますが、parse ドライバでは デバイスのサブタイプを指定します。 .It Cm minpoll Ar int .It Cm maxpoll Ar int これらのオプションは、参照クロックのメッセージに対するポーリングの 最小間隔および最大間隔を 2 の指数で表した秒数で指定します。 直接接続されている参照クロックの大部分では、 .Cm minpoll および .Cm maxpoll は デフォルトで 6 (64 秒) です。 モデムの参照クロックでは、 .Cm minpoll はデフォルトで 10 (17.1 秒) で、 .Cm maxpoll はデフォルトで 14 (4.5 時間) です。 とりうる範囲は、4 (16 秒) から 17 (36.4 時間) までです。 .El .It Xo Ic fudge .Sm off .Li 127.127. Ar t . Ar u .Sm on .Op Cm time1 Ar sec .Op Cm time2 Ar sec .Op Cm stratum Ar int .Op Cm refid Ar string .Op Cm mode Ar int .Op Cm flag1 Cm 0 \&| Cm 1 .Op Cm flag2 Cm 0 \&| Cm 1 .Op Cm flag3 Cm 0 \&| Cm 1 .Op Cm flag4 Cm 0 \&| Cm 1 .Xc このコマンドは、参照クロックを特殊な方法で設定するのに使用できます。 このコマンドは、 ドライバを設定するコマンドである .Ic server コマンドの直後に置かれる必要があります。 実行中に .Xr ntpdc 8 プログラムを使用して、これと同じことができるということに注意してください。 オプションは、次のように解釈されます: .Bl -tag -width indent .It Cm time1 Ar sec ドライバが生成する時間のオフセットに追加される、秒単位で、固定小数点の 10 進数の定数を指定します。 この定数は、例えば正確な PPS 信号のような外部の標準時間に 合わせるために、特定の時計のわずかの時間オフセットを調節する 補正用定数として使われます。 また、この定数は、シリアルポートの遅延、 オペレーティングシステムの遅延や、ケーブルの長さの違い、 受信機内部の遅延に起因する、システム的な誤差や バイアスを補正する方法も提供します。 指定されたオフセット値は、伝播遅延に加えて、 他の手段、例えば内部ディップスイッチで提供されるものです。 個別のシステムやドライバに対する補正は使用できますが、 大まかな補正に関しては、ドライバのドキュメントページに 記載されています。 注意: 2個以上のラジオ時計や PPS 信号がサポートされているときの 校正を円滑に行なうために、特別の校正機能が提供されています。 .Sx その他のオプション のページで説明している .Ic enable コマンドの引数の形式を取り、 .Qq "参照クロックドライバ" のページに記載されるように動作します。 .It Cm time2 Ar secs 秒単位の、固定小数点 10 進数を指定します。 これは、ドライバ依存の方法で解釈されます。 .Qo 参照クロック用ドライバ .Qc ページの各ドライバの説明を参照してください。 .It Cm stratum Ar int ドライバに割り当てられた階層番号を指定します。 この番号は、0 から 15 までの整数値です。 この番号は、最初にドライバ自身が割り当てていた 階層番号 (通常は 0) を上書きします。 .It Cm refid Ar string 1 文字から 4 文字までの ASCII 文字列を指定します。 この文字列は、ドライバが使用する参照識別子を定義しています。 この文字列は、最初にドライバ自身が割り当てていた、 デフォルトの識別子を上書きします。 .It Cm mode Ar int モード番号を指定します。 この番号は、デバイスごとに固有のやり方で解釈されます。 例えば、ACTS ドライバではダイヤル用プロトコルを選択しますが、 parse ドライバではデバイスのサブタイプを選択します。 .It Cm flag1 Cm 0 \&| Cm 1 .It Cm flag2 Cm 0 \&| Cm 1 .It Cm flag3 Cm 0 \&| Cm 1 .It Cm flag4 Cm 0 \&| Cm 1 これら 4 つのフラグは時計ドライバをカスタマイズするのに 使用されます。 これらの値の解釈や、すべてが使用されるか否かについては、 個々の時計ドライバに依存した機能です。 しかし慣習としては、 .Cm flag4 は、モニタ対象データを、 .Ic filegen コマンドで設定した .Cm clockstats ファイルへ記録 する機能を有効にするために使用します。 .Ic filegen コマンドに関するさらなる情報については、 .Sx モニタ機能のオプション セクションを参照してください。 .El .El .Sh その他のオプション .Bl -tag -width indent .It Ic broadcastdelay Ar seconds ブロードキャストおよびマルチキャストモードでは、ローカルサーバと リモートサーバとの間の遅延を決定するための特殊な補正が必要です。 通常、これは、クライアントサーバ間の最初の プロトコルのやりとりで自動的に行われています。 場合によっては、例えばネットワークやサーバのアクセス制御によって、 この補正の手続きが失敗してしまうこともあります。 このコマンドは、こうした状況の時に使用されるデフォルトの遅延を 指定します。 典型的には (イーサネットでは)、 0.003 から 0.007 秒までが適切です。 このコマンドを使用しない場合のデフォルト値は、0.004 秒です。 .It Ic driftfile Ar driftfile このコマンドは、ローカルの時計発振子の周波数オフセットを記録するため のファイル名を指定します。 このファイルが存在すると、起動時に読み込まれ、 初期周波数オフセットを指定するのに使用されます。 その後 1 時間に 1 度、 デーモンはその時点での周波数オフセットを計算し、 その値でファイルを更新します。 ファイルが存在しないか、このコマンドが与えられていない場合、 初期周波数オフセットは 0 と仮定されます。 この場合、周波数が安定し、 残留時間誤差が収まるのに数時間かかる場合があります。 .Pp ファイルのフォーマットは、浮動小数点数 1 個だけを含む 1 行から なります。 この浮動小数点数は、100 万分の 1 (PPM) 単位での周波数オフセット値を 記録しています。 このファイルの更新は、 最初に現在の変動値を一時ファイルに書き込み、それから ファイルの名前を変更して古いファイルと置換えることにより行ないます。 このことは、 .Xr ntpd 8 が、ドリフトファイルのあるディレクトリに対し書き込み権を持っている 必要があることと、シンボリックであろうとなかろうと、 ファイルシステムリンクは避けるべきことを意味しています。 .It Xo Ic enable .Oo .Cm auth | Cm bclient | .Cm calibrate | Cm kernel | .Cm monitor | Cm ntp | .Cm stats .Oc .Xc .It Xo Ic disable .Oo .Cm auth | Cm bclient | .Cm calibrate | Cm kernel | .Cm monitor | Cm ntp | .Cm stats .Oc .Xc さまざまなサーバオプションを有効にしたり無効にしたりする 手段を提供します。 指定されていないフラグには影響がありません。 これらのフラグは全て .Xr ntpdc 8 ユーティリティプログラムを使用してリモートに制御できるという ことに注意してください。 フラグの説明は次の通りです。 .Bl -tag -width indent .It Cm bclient 有効の場合、 .Cm broadcastclient コマンドと同一の効果があります。 デフォルトでは、このフラグは .Ic disable です。 .It Cm calibrate 校正機能を有効にします。 この機能は、クロックドライバそれぞれの .Ic time1 の値を補正し、現在選択している時刻源または、カーネル学習信号と 同じオフセットを示すようにします。 さらなる情報については、 .Qq "参照クロックドライバ" のページを参照してください。 このフラグのデフォルトは .Ic disable です。 .It Cm kernel .Xr adjtime 2 システムコールに対し、正確に計時できる カーネルサポートが実装されていれば、これを有効にします。 もともと、NTP デーモンが コンパイルされるときに、このルーチンがサポートされるかどうかは 自動的に検出されるので、ユーザがこのフラグのことを気にする 必要はありません。 このフラグは本来、カーネルの開発中にこのサポートを 無効にできるようにするために提供されていました。 このフラグのデフォルトは、 .Ic enable です。 .It Cm monitor モニタ用機能を有効にします。 さらなる情報が必要なら、 .Xr ntpdc 8 プログラムの .Ic monlist コマンドの項を参照してください。 このフラグのデフォルトは、 .Ic enable です。 .It Cm ntp サーバが、NTP を用いてローカル時計を調整できるようにします。 無効になっている場合は、 ローカル時計は、内蔵の時刻と周波数オフセットで 自分勝手に動きます。 このフラグが有用なのは、 ローカル時計が別のデバイスやプロトコルで制御され、 他のクライアント用に同期を提供するためだけに NTP を使う場合です。 この場合、ローカル時計のドライバをこの機能や、 さらに、誤差予測や閏秒表示子 (leap-indicators) を提供する ために使用できます。 さらなる情報が必要なら、 .Qq 参照時間ドライバ のページを参照してください。 このフラグのデフォルトは、 .Ic enable です。 .It Cm stats 統計機能を有効にします。 さらなる情報が必要なら、 .Qq モニタ用オプション のセクションを参照してください。 このフラグのデフォルトは、 .Ic enable です。 .El .It Ic logconfig Ar configkeyword このコマンドは、システムの .Xr syslog 3 機能や、その代用の .Ic logfile ログファイルに書かれる出力の量と種類を制御します。 デフォルトでは、すべての出力がオンです。 .Ar configkeyword キーワードはすべて、 .Ql = , .Ql + , .Ql - を先頭につけることが できます。 ここで、 .Ql = は、 .Xr syslog 3 の優先度マスクを設定し、 .Ql + はメッセージを追加し、 .Ql - はメッセージを削除します。 .Xr syslog 3 メッセージは、4 つのクラス .Po .Cm clock , .Cm peer , .Cm sys , .Cm sync .Pc で制御できます。 これらのクラスの内部で、 4 種のメッセージが制御できます。 情報メッセージ .Pq Cm info は設定情報を制御します。 イベントメッセージ .Pq Cm events はイベントのロギング (到達可能性、同期、アラーム状況) を制御します。 統計情報の出力は、 .Cm statistics キーワードを使用して制御されます。 最後のメッセージグループは、ステータスメッセージです。 これは主に、同期のステータスを表します。 設定キーワードはメッセージクラスとイベントクラスとを そのまま結びつけた形をしています。 プレフィックス .Cm all は、メッセージクラスの代わりに使用できます。 メッセージクラスの後ろに、キーワード .Cm all を続けることができ、 それによって、それぞれのメッセージクラスのメッセージをすべて 有効 / 無効にできます。 このため、最低限のログの設定は次のようになるでしょう: .Bd -literal logconfig=syncstatus +sysevents .Ed .Pp この設定では、単に .Xr ntpd 8 の同期のステータスと重要なシステムイベントをリストします。 単純な参照サーバに対しては、 次のような最低限のメッセージの設定を行うと有益でしょう: .Bd -literal logconfig=syncall +clockall .Ed .Pp この設定では、時計の情報すべてと同期情報をリストします。 他のイベントや通信相手に関するメッセージ、そしてシステムの イベントなどは抑止されます。 .It Ic logfile Ar logfile このコマンドは、デフォルトのシステムの .Xr syslog 3 機能の代わりに使用される、代用のログファイルの在処を指定します。 .It Ic setvar Ar variable Op Cm default このコマンドは、システム変数を追加します。 これらの変数は、アクセスポリシなどの情報を追加して 配布するために使用できます。 .Sm off .Va name = Ar value .Sm on の形式の変数に .Cm default キーワードが続いている場合、 その変数は、デフォルトのシステム変数の一部として リストされるようになります .Po .Xr ntpq 8 .Ic rv コマンドを参照。 .Pc こうした変数の追加は、情報を与える目的だけを果たします。 リストされるということ以外に、プロトコルに関係しません。 既知のプロトコル変数は常に、 .Ic setvar の機構により定義されたいかなる変数よりも優先されます。 同じグループのすべての変数名を含んだ 3 つの特別な変数があります。 .Va sys_var_list は、すべてのシステム変数名を保持しています。 .Va peer_var_list は、すべての通信相手の変数名を保持しています。 そして、 .Va clock_var_list は、参照クロックの変数名を保持しています。 .It Xo Ic tinker .Oo .Cm step Ar step | .Cm panic Ar panic | .Cm dispersion Ar dispersion | .Cm stepout Ar stepout | .Cm minpoll Ar minpoll | .Cm allan Ar allan | .Cm huffpuff Ar huffpuff .Oc .Xc このコマンドは、極めて例外的な状況下で、 いくつかのシステム変数を変更するために使用します。 設定ファイル中で、 このコマンドは、他の設定オプションのどれよりも前に置く必要があります。 これらの変数のデフォルト値は、 ネットワーク速度と信頼性の予測値について、 幅広い範囲で、注意深く最適化させてあります。 一般に、これら変数は簡単に予測できない込み入った方法で 相互作用を及ぼし合います。 また、変数の組合せによっては、とんでもない動作になってしまう 可能性があります。 ごくまれにですが、デフォルトの値を変更する必要がある場合が ありますが、いずれにしても、 つまみを回したいという誘惑に抵抗できない輩はいるもので、 このコマンドはそういう人達のためのものです。 特に強調しておきますが、このつまみを回すのは各自の勝手で やることで、サポートグループに一切の助けを求めることはできません。 .Pp 全ての引数は、浮動小数点数の秒、または秒分の秒です。 .Ar minpoll 引数は、秒を2のベキ整数で表したものです。 この変数は次のように動作します。 .Bl -tag -width indent .It Cm step Ar step この引数は、時刻設定の閾値 (通常 0.128秒) の 新しい値になります。 0 に設定した場合、時刻設定 (step) による補正は生じません。 一般には、時刻設定を避ける目的のためには、時刻設定閾値は 触らずに、 .Fl x コマンド行オプションを使うのが普通です。 .It Cm panic Ar panic この引数は、パニック閾値 (通常 1000 秒) の新しい値になります。 0 に設定した場合、パニック健全性チェックは無効にされ、 時刻オフセットとして全ての値が受理されます。 .It Cm dispersion Ar dispersion この引数は、分散値増加率 (通常、.000015) の新しい値になります。 .It Cm stepout Ar stepout この引数は、ワッチドッグタイムアウト (通常 900 秒) の新しい値になります。 .It Cm minpoll Ar minpoll この引数は、マルチキャストクライアントアソシエーション、 メニーキャストクライアントアソシエーション、 対称パッシブモードアソシエーションを設定するときに用いる 最小ポーリング間隔の新しい値になります。 デフォルトの値は 6 (64秒) で、下限は 4 (16秒) です。 .It Cm allan Ar allan この引数は、最小 Allan 遮断値の新しい値になります。 この値は PLL/FLL 時刻学習アルゴリズムのパラメータの 1 つです。 デフォルトは 1024 秒で、この値が下限でもあります。 .It Cm huffpuff Ar huffpuff この引数は現在実験的に提供される スーハーフィルタ (huff-n'-puff filter) のスパンの新しい値になります。 この値は、このアルゴリズムが最小遅延を求める時間間隔のうち 最も新しいものを決定します。 下限は 900 秒 (15分) ですが、よりまともな値は 7200 (2時間) です。 このコマンドが与えられるまでこのフィルタは有効になっていませんので、 デフォルトはありません。 .El .It Xo Ic trap Ar host_address .Op Cm port Ar port_number .Op Cm interface Ar interface_address .Xc このコマンドは、指定したホストアドレス、ポート番号に トラップ受信器を設定します。 このトラップ受信器は、指定したローカルインタフェースアドレスを 持つメッセージを送信します。 ポート番号を指定しない場合、値 18447 が使用されます。 インタフェースアドレスを指定しない場合、 そのメッセージが送信されたローカルインタフェースを ソースアドレスに持つメッセージが送信されます。 マルチホームを持つホストでは、経路情報の 変更にともない、時により使用するインタフェースが変わることに 注意してください。 .Pp トラップ受信器はイベントメッセージや、 サーバからのその他の情報を、ログファイルにログを取ります。 このような監視プログラムは、自分自身のトラップを動的に要求することも ありますが、トラップ受信器の設定により、サーバの起動後に 失われるメッセージはないことは保証されます。 .El .Sh 関連ファイル .Bl -tag -width /etc/ntp.drift -compact .It Pa /etc/ntp.conf デフォルトの設定ファイル名 .It Pa ntp.keys MD5 秘密鍵 .It Pa ntpkey RSA 秘密鍵 .It Pa ntpkey_ Ns Ar host RSA 公開鍵 .It Pa ntp_dh Diffie-Hellman 合意パラメータ .El .Sh 関連項目 .Xr ntpd 8 , .Xr ntpdc 8 , .Xr ntpq 8 .Pp 提供されているマニュアルページに加えて、理解しやすいドキュメントが world wide web 上で入手可能です。 .Li http://www.ntp.org/ から入手できます。 このドキュメントのスナップショットが HTML フォーマットで .Pa /usr/share/doc/ntp ディレクトリ内にあります。 .Rs .%A David L. Mills .%T Network Time Protocol (Version 3) .%O RFC1305 .Re .Sh バグ 構文チェックに好き嫌いはありません。 なんでも喜んで食べます。 オプションやモードの、ばかげた組合せやお笑いの組合せさえ 検出しないこともあります。 .Pp .Pa ntpkey_ Ns Ar host は実際にはデジタル認証です。 セキュリティディレクトリサービスが幅広く利用可能に なった際には、そこから取得すべきです。 diff --git a/ja_JP.eucJP/man/man5/periodic.conf.5 b/ja_JP.eucJP/man/man5/periodic.conf.5 index 3f01505420..ee9b82c9bc 100644 --- a/ja_JP.eucJP/man/man5/periodic.conf.5 +++ b/ja_JP.eucJP/man/man5/periodic.conf.5 @@ -1,716 +1,716 @@ .\"- .\" Copyright (c) 2000 Brian Somers .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/periodic.conf.5,v 1.43 2002/10/25 15:16:54 thomas Exp % +.\" %FreeBSD: src/share/man/man5/periodic.conf.5,v 1.44 2002/12/12 17:25:57 ru Exp % .\" .\" $FreeBSD$ .Dd June 22, 2000 .Dt PERIODIC.CONF 5 .Os .Sh 名称 .Nm periodic.conf .Nd 定期実行ジョブの設定情報 .Sh 解説 .Nm ファイルには、日次/週次/月次のシステムメンテナンスジョブを どのように実行するかが記述されています。 このファイルは .Pa /etc/defaults にあり、 .Pa /etc の下にある同名のファイルは部分的に優先されます。 そしてさらに .Pa /etc/periodic.conf.local が優先されます。 .Pp .Nm は実際にはそれぞれの定期実行スクリプトからシェルスクリプトとして 取り込まれ、単にデフォルトの設定変数を提供することを意図しています。 .Pp 以下の変数は .Xr periodic 8 自身によって使用されます: .Bl -tag -offset 4n -width 2n .It Va local_periodic .Pq Vt 文字列 定期実行スクリプトを検索するディレクトリのリスト。 このリストは .Xr periodic 8 の引数が絶対パスのディレクトリ名でなかった場合にのみ使用され、常に .Pa /etc/periodic が前置きされます。 .It Va dir Ns No _output .Pq Vt パス No または Vt リスト .Ar dir ディレクトリから起動されるスクリプトの出力をどうするか記述します。 この変数に絶対パスが指定された場合、出力はそのファイルに行われます。 絶対パスではなかった場合は、一つ以上のスペースで区切られた 複数のメールアドレスと解釈され、それらのユーザにメールで送られます。 この変数が設定されてない場合や変数が空であった場合は、 標準出力に出力されます。 .Pp それほど気にかけていないマシンでは .Va daily_output , .Va weekly_output , .Va monthly_output はそれぞれ .Dq /var/log/daily.log , .Dq /var/log/weekly.log , .Dq /var/log/monthly.log にしておくといいでしょう。すると .Xr newsyslog 8 が、(もしファイルがあれば) これらのファイルを適切な時に切替えます。 .It Va dir Ns No _show_success .It Va dir Ns No _show_info .It Va dir Ns No _show_badconfig .Pq Vt ブール値 これらの変数は 起動されたスクリプトの戻り値に従って、 .Xr periodic 8 が出力を抑制するかどうかを制御します (ここで .Ar dir はそれぞれのスクリプトが置かれてるディレクトリ名です)。 もしスクリプトの戻り値が .Sq 0 で、 .Va dir Ns No _show_success が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしスクリプトの戻り値が .Sq 1 で、 .Va dir Ns No _show_info が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしスクリプトの戻り値が .Sq 2 で、 .Va dir Ns No _show_badconfig が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしこれらの変数が .Dq YES にも .Dq NO にも設定されていなかった場合は、それぞれのデフォルト値は .Dq YES , .Dq YES そして .Dq NO です。 .Pp スクリプトの戻り値がどのように解釈されるかは .Xr periodic 8 のマニュアルページを参照して下さい。 .El .Pp 以下の変数は .Pa /etc/periodic/daily にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Va daily_clean_disks_enable .Pq Vt ブール値 .Va daily_clean_disks_files にマッチしたファイルを毎日削除したい場合 .Dq YES にします。 .It Va daily_clean_disks_files .Pq Vt 文字列 マッチさせるファイル名のリストを設定します。 ワイルドカードも使用できます。 .It Va daily_clean_disks_days .Pq Vt 整数 .Va daily_clean_disks_enable が .Dq YES の場合、何日間ファイルにアクセスや修正がなかったら 削除するかをこの変数に設定する必要もあります。 .It Va daily_clean_disks_verbose .Pq Vt ブール値 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_clean_tmps_enable .Pq Vt ブール値 毎日一時ディレクトリをきれいにしたい場合 .Dq YES に設定します。 .It Va daily_clean_tmps_dirs .Pq Vt 文字列 .Va daily_clean_tmps_enable が .Dq YES に設定されていた場合にきれいにするディレクトリ名のリストを指定します。 .It Va daily_clean_tmps_days .Pq Vt 整数 .Va daily_clean_tmps_enable が設定されていた場合、何日間ファイルにアクセスや修正がなかったら 削除するかをこの変数に設定する必要もあります。 .It Va daily_clean_tmps_ignore .Pq Vt 文字列 .Va daily_clean_tmps_enable が .Dq YES に設定されていた場合に削除させたくないファイルのリストを設定します。 ワイルドカードも使用可能です。 .It Va daily_clean_tmps_verbose .Pq Vt ブール値 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_clean_preserve_enable .Pq Vt ブール値 .Pa /var/preserve から古いファイルを削除したい場合 .Dq YES に設定します。 .It Va daily_clean_preserve_days .Pq Vt 整数 何日間ファイルに修正がなかったら削除するかを この変数に設定します。 .It Va daily_clean_preserve_verbose .Pq Vt ブール値 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_clean_msgs_enable .Pq Vt ブール値 古いシステムメッセージを削除する場合 .Dq YES に設定します。 .It Va daily_clean_msgs_days .Pq Vt 整数 何日間ファイルに修正がなかったら削除するかを設定します。 この変数が空白だった場合、 .Xr msgs 1 のデフォルト値が使われます。 .It Va daily_clean_rwho_enable .Pq Vt ブール値 .Pa /var/who の下の古いファイルを削除したい場合 .Dq YES に設定します。 .It Va daily_clean_rwho_days .Pq Vt 整数 何日間ファイルに修正がなかったら削除するかを設定します。 .It Va daily_clean_rwho_verbose .Pq Vt ブール値 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_clean_hoststat_enable .Pq Vt ブール値 .Pa /var/spool/.hoststat の下の古いファイルを削除したい場合 .Dq YES に設定します。 .It Va daily_clean_hoststat_days .Pq Vt 整数 何日間ファイルに修正がなかったら削除するかを設定します。 .It Va daily_clean_hoststat_verbose .Pq Vt ブール値 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_backup_passwd_enable .Pq Vt ブール値 .Pa /etc/master.passwd ファイルと .Pa /etc/group ファイルのバックアップをとりリポートを出力させたい場合 .Dq YES に設定します。 リポートは、両ファイルに対する修正点と .Pa group ファイルに .Xr chkgrp 8 をかけた結果を出力します。 .It Va daily_backup_aliases_enable .Pq Vt ブール値 .Pa /etc/mail/aliases ファイルのバックアップをとり修正点を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_backup_distfile_enable .Pq Vt ブール値 .Pa /etc/Distfile ファイルのバックアップをとり修正点を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_calendar_enable .Pq Vt ブール値 毎日 .Ic calendar -a を行いたい場合 .Dq YES に設定します。 .It Va daily_accounting_enable .Pq Vt ブール値 毎日アカウンティングファイルを 切り替えたい場合 .Dq YES にします。 .Xr rc.conf 5 の中の .Va accounting_enable が有効になっていない場合は切り替える必要はありません。 .It Va daily_accounting_compress .Pq Vt ブール値 日々のアカウンティングファイルを .Xr gzip 1 を使用して圧縮したい場合 .Dq YES に設定します。 .It Va daily_accounting_save .Pq Vt 数値 .Va daily_accounting_enable が設定されている場合、 保存すべき日々のアカウンティングファイル数を指定します。 デフォルトは .Dq 3 です。 .It Va daily_accounting_flags .Pq Vt 文字列 .Va daily_accounting_enable が .Dq YES に設定されていた場合に ( .Fl s に加えて) .Xr sa 8 ユーティリティに渡すフラグを指定します。 デフォルトは .Fl q です。 .It Va daily_distfile_enable .Pq Vt ブール値 毎日 .Xr rdist 1 を実行したい場合 .Dq YES に設定します。その場合 .Pa /etc/Distfile も存在していなければなりません。 .It Va daily_news_expire_enable .Pq Vt ブール値 .Pa /etc/news.expire を実行したい場合 .Dq YES に設定します。 .It Va daily_status_disks_enable .Pq Vt ブール値 ( .Va daily_status_disks_df_flags を引数に指定して) .Xr df 1 を実行し、また .Ic dump -W を実行したい場合 .Dq YES に設定します。 .It Va daily_status_disks_df_flags .Pq Vt 文字列 .Va daily_status_disks_enable が .Dq YES の場合、 .Xr df 1 ユーティリティに渡す引数を設定します。 .It Va daily_status_network_enable .Pq Vt ブール値 .Ic netstat -i を実行したい場合 .Dq YES に設定します。 .It Va daily_status_network_usedns .Pq Vt ブール値 .Xr netstat 1 を実行する時、(DNS を参照するための) .Fl n オプションをつけずに実行したい場合 .Dq YES に設定します。 .It Va daily_status_rwho_enable .Pq Vt ブール値 .Xr uptime 1 を実行したい場合 (もしくは .Pa /etc/rc.conf の中で .Va rwhod_enable を .Dq YES に設定していて .Xr ruptime 1 を実行したい場合) .Dq YES に設定します。 .It Va daily_status_mailq_enable .Pq Vt ブール値 .Xr mailq 1 を実行したい場合 .Dq YES に設定します。 .It Va daily_status_mailq_shorten .Pq Vt ブール値 .Va daily_status_mailq_enable を .Dq YES に設定していて .Nm mailq の出力を短くしたい場合 .Dq YES に設定します。 .It Va daily_status_include_submit_mailq .Pq Vt ブール値 .Va daily_status_mailq_enable を .Dq YES に設定した場合で、提出用メールキューに対しても .Xr mailq 1 を実行したい場合、 .Dq YES に設定します。 .It Va daily_status_security_enable .Pq Vt ブール値 セキュリティチェック を実行したい場合 .Dq YES に設定します。 セキュリティチェックは、別の .Xr periodic 8 スクリプト集合です。 システムデフォルトは .Pa /etc/periodic/security にあります。 ローカルスクリプトは .Pa /usr/local/etc/periodic/security に置きます。 更なる情報は、 .Xr periodic 8 マニュアルページを参照してください。 .It Va daily_status_security_inline .Pq Vt ブール値 セキュリティチェック出力をその場に含めたい場合 .\" inline -> その場 .Dq YES に設定します。 デフォルトでは、 .Va daily_status_security_output の値に従い、出力をメールするかログします。 .It Va daily_status_security_output .Pq Vt 文字列 .Va daily_status_security_inline が .Dq NO である場合の、 セキュリティチェック の送信先です。 この変数は、前述の .Va *_output 変数と同様に振舞います。 すなわち、1 個以上の email アドレスか、1 個の絶対パス指定のファイル名です。 .It Va daily_status_security_chksetuid_enable .Pq Vt ブール値 setuid 実行形式のモードと修正時刻を前日の値と比較したい場合、 .Dq YES に設定します。 .It Va daily_status_security_chkmounts_enable .Pq Vt ブール値 マウントされたファイルシステムが前日と違うかどうかを比較したい場合、 .Dq YES に設定します。 .It Va daily_status_security_noamd .Pq Vt ブール値 .Va daily_status_security_chkmounts_enable チェックにおいて、 前日のファイルシステムのマウント状況と比較する時に .Xr amd 8 によるマウントを無視したい場合 .Dq YES に設定します。 .It Va daily_status_security_chkuid0_enable .Pq Vt ブール値 .Pa /etc/master.passwd を UID 0 に関して調査したい場合 .Dq YES に設定します。 .It Va daily_status_security_passwdless_enable .Pq Vt ブール値 .Pa /etc/master.passwd の空のパスワードのアカウントを調査したい場合 .Dq YES に設定します。 .It Va daily_status_security_ipfwdenied_enable .Pq Vt ブール値 前日のチェック以来の .Xr ipfw 8 が拒否したパケットのログエントリを表示する場合、 .Dq YES に設定します。 .It Va daily_status_security_ipfdenied_enable .Pq Vt ブール値 前日のチェック以来の .Xr ipf 8 が拒否したパケットのログエントリを表示する場合、 .Dq YES に設定します。 .It Va daily_status_security_ipfwlimit_enable .Pq Vt ブール値 冗長限界に到達した .Xr ipfw 8 ルールを表示する場合、 .Dq YES に設定します。 .It Va daily_status_security_ip6fwdenied_enable .Pq Vt ブール値 前日のチェック以来の .Xr ip6fw 8 が拒否したパケットのログエントリを表示する場合、 .Dq YES に設定します。 .It Va daily_status_security_ip6fwlimit_enable .Pq Vt ブール値 冗長限界に到達した .Xr ip6fw 8 ルールを表示する場合、 .Dq YES に設定します。 .It Va daily_status_security_kernelmsg_enable .Pq Vt ブール値 前日のチェック以来の新規 .Xr dmesg 8 エントリを表示する場合、 .Dq YES に設定します。 .It Va daily_status_security_loginfail_enable .Pq Vt ブール値 .Pa /var/log/messages 中の前日のログイン失敗を表示する場合、 .Dq YES に設定します。 .It Va daily_status_security_tcpwrap_enable .Pq Vt ブール値 .Pa /var/log/messages 中の前日の tcpwrappers ( .Xr hosts_access 5 参照) が拒否した接続を表示する場合、 .Dq YES に設定します。 .It Va daily_status_mail_rejects_enable .Pq Vt ブール値 .Pa /var/log/maillog に記録された 前日分のメール拒否を要約したい場合 .Dq YES に設定します。 .It Va daily_status_named_enable .Pq Vt ブール値 前日文の拒否されたゾーン転送 (AXFR と IXFR) を要約したい場合 .Dq YES に設定します。 .It Va daily_status_named_usedns .Pq Vt ブール値 DNS の逆引き検索を有効にしたい場合 .Dq YES に設定します。 .It Va daily_status_mail_rejects_logs .Pq Vt 整数 前日分のメール拒否をチェックするべき maillog ファイルの数を設定します。 .It Va daily_queuerun_enable .Pq Vt ブール値 最低 1 日に 1 度はメールキューを手動で実行させたい場合、 .Dq YES に設定します。 .It Va daily_submit_queuerun .Pq Vt ブール値 .Va daily_queuerun_enable を .Dq YES に設定した場合で、提出用メールキューに対しても最低 1 日に 1 度は 手動で実行したい場合、 .Dq YES に設定します。 .It Va daily_local .Pq Vt 文字列 他のすべての日次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Pp 以下の変数は .Pa /etc/periodic/weekly にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Va weekly_clean_kvmdb_enable .Pq Vt ブール値 古い .Pa /var/db/kvm_*.db ファイルを削除したい場合 .Dq YES に設定します。 現在のカーネルが使っている kvm ファイルは削除されません。 .It Va weekly_clean_kvmdb_days .Pq Vt 整数 何日間ファイルにアクセスがなかったら 削除するかをこの変数に設定する必要があります。 .It Va weekly_clean_kvmdb_verbose .Pq Vt ブール値 削除したファイル名を週次の出力で報告させたい場合 .Dq YES に設定します。 .It Va weekly_locate_enable .Pq Vt ブール値 .Pa /usr/libexec/locate.updatedb を実行したい場合 .Dq YES に設定します。このスクリプトは .An nobody ユーザとして .Ic nice -5 を使用して実行され、 .Xr locate 1 コマンドによって使われるテーブルを生成します。 .It Va weekly_whatis_enable .Pq Vt ブール値 .Pa /usr/libexec/makewhatis.local を実行したい場合 .Dq YES に設定します。このスクリプトは .Xr apropos 1 コマンドによって使われるデータベースを再生成します。 .It Va weekly_catman_enable .Pq Vt ブール値 .Pa /usr/libexec/catman.local を実行したい場合 .Dq YES に設定します。 このスクリプトはすべての古くなったマニュアルページを処理して、 ディスク容量を消費する代わりに .Xr man 1 コマンドを速くします。 .It Va weekly_noid_enable .Pq Vt ブール値 システム上でみなしごになったファイルを 探したい場合 .Dq YES に設定します。 みなしごになったファイルとは、 無効なユーザやグループのものとなっているファイルです。 .It Va weekly_noid_dirs .Pq Vt 文字列 みなしごになったファイルを探したいディレクトリのリストを 指定します。これは通常 .Pa / に設定されます。 .It Va weekly_status_pkg_enable .Pq Vt ブール値 インストールされているパッケージの中で 古くなったものを .Xr pkg_version 1 を使用して一覧にしたい場合 .Dq YES に設定します。 .It Va pkg_version .Pq Vt 文字列 .Va weekly_status_pkg_enable が .Dq YES に設定されていた場合、 時代遅れとなった packages を判定するためのプログラムをこの変数が指定します。 未設定の場合、 .Xr pkg_version 1 プログラムが使用されます。 例えば、portupgrade port がインストールされている場合、この変数に .Dq portversion を設定可能です。 .It Va weekly_local .Pq Vt 文字列 他のすべての週次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Pp 以下の変数は .Pa /etc/periodic/monthly にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Va monthly_accounting_enable .Pq Vt ブール値 .Xr ac 8 コマンドによってログインのアカウンティング処理を行いたい場合 .Dq YES に設定します。 .It Va monthly_local .Pq Vt 文字列 他のすべての月次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Sh 関連ファイル .Bl -tag -width /etc/defaults/periodic.conf .It Pa /etc/defaults/periodic.conf デフォルト設定ファイルです。 このファイルはすべてのデフォルトの変数と設定値が記述されています。 .It Pa /etc/periodic.conf 通常、システム特有の変数を優先させるためのファイルです。 .It Pa /etc/periodic.conf.local さらに追加して優先させるためのファイルで、 .Pa /etc/periodic.conf を共有していたり、配布していたりする場合に役立ちます。 .El .Sh 関連項目 .Xr apropos 1 , .Xr calendar 1 , .Xr df 1 , .Xr gzip 1 , .Xr locate 1 , .Xr man 1 , .Xr msgs 1 , .Xr netstat 1 , .Xr nice 1 , .Xr pkg_version 1 , .Xr rdist 1 , .Xr rc.conf 5 , .Xr ac 8 , .Xr chkgrp 8 , .Xr dump 8 , .Xr newsyslog 8 , .Xr periodic 8 .Sh 歴史 .Nm ファイルは .Fx 4.1 で登場しました。 .Sh 作者 .An Brian Somers Aq brian@Awfulhak.org diff --git a/ja_JP.eucJP/man/man5/procfs.5 b/ja_JP.eucJP/man/man5/procfs.5 index ef1b4c10f0..cf2eda003d 100644 --- a/ja_JP.eucJP/man/man5/procfs.5 +++ b/ja_JP.eucJP/man/man5/procfs.5 @@ -1,243 +1,243 @@ -.\" %FreeBSD: src/share/man/man5/procfs.5,v 1.25 2002/05/16 05:21:52 trhodes Exp % +.\" %FreeBSD: src/share/man/man5/procfs.5,v 1.26 2002/12/12 17:25:57 ru Exp % .\" .\" $FreeBSD$ .\" Written by Garrett Wollman .\" This file is in the public domain. .\" .Dd December 4, 2001 .Dt PROCFS 5 .Os .Sh 名称 .Nm procfs .Nd プロセスファイルシステム .Sh 書式 .Bd -literal proc /proc procfs rw 0 0 .Ed .Sh 解説 プロセスファイルシステム、すなわち .Nm はファイルシステム中でシステムプロセステーブルの閲覧を可能にします。 .Nm は通常 .Pa /proc にマウントされ、 .Xr ps 1 や .Xr w 1 といったプログラムの完全な動作に必要なものです。 .Pp .Nm は以前の .Fx 1.1 .Nm での実装とは異なり、 プロセス空間に 2 つのレベルの視点を提供します。 高いレベルでは、プロセスはそれ自身が、10 進数による先頭に 0 の付かない 自分のプロセス ID によって、名前付けされます。また .Pa curproc と呼ばれる調査要求を行なったプロセスを参照する特別なノードが存在します。 .Pp それぞれのノードは以下の項目を含むディレクトリです: .Pp それぞれのディレクトリは数個のファイルを含んでいます: .Bl -tag -width status .It Pa ctl 多様な制御操作をサポートする書き込みのみのファイル。 制御コマンドは .Pa ctl ファイルに文字列として書き込まれます。 制御コマンドは: .Bl -tag -width detach -compact .It attach 対象プロセスを停止し、 送信プロセスに対してデバッグ制御プロセスとなるよう手配する。 .It detach 対象プロセスの実行を継続し、デバッグプロセスの制御下から離します (送信プロセスである必要はありません)。 .It run シグナルが届くか、ブレークポイントに達するか、または対象プロセスが 終了するまで対象プロセスを継続して動作させます。 .It step シグナルを届けずに対象プロセスをシングルステップさせます。 .It wait 対象プロセスがデバッグに適した平衡状態になるまで待ちます。 対象プロセスは他のどのコマンドが許可されるよりも前に この状態になる必要があります。 .El .Pp 文字列は、 .Dv SIG 接頭辞なしの小文字のシグナル名でも構いません。 この場合、指定したシグナルがプロセスに届けられます。 .Pf ( Xr (sigaction 2 参照)。 .It Pa dbregs .Pa 中の .Dv "struct dbregs" で定義されるデバッグレジスタ。現在 .Pa dbregs は i386 アーキテクチャでのみ実装されています。 .It Pa etype .Pa file 項目によって参照される実行形式のタイプ。 .It Pa file プロセステキストが読まれる file へのシンボリックリンク。 これはプロセスのシンボルテーブルへのアクセスを得る、 またはプロセスのもう 1 つのコピーを始めるために使われます。 ファイルが見つからなかった場合、そのリンクターゲットは .Ql unknown です。 .It Pa fpregs .Pa 中の .Dv "struct fpregs" で定義される浮動小数点レジスタ。 .Pa fpregs は、汎用レジスタセットと浮動小数点レジスタセットが明確に区別されたマシンにのみ 実装されています。 .It Pa map プロセスの仮想メモリのマップ。 .It Pa mem プロセスの完全な仮想メモリイメージ。 プロセス中に存在するアドレスのみがアクセスできます。 このファイルに対する読み書きはプロセスを修正します。 テキストセグメントに対する書き込みはそのプロセスのみに留まります。 .It Pa note プロセスへシグナルを送るために使われます。実装されていません。 .It Pa notepg プロセスグループへシグナルを送るために使われます。実装されていません。 .It Pa regs プロセスのレジスタセットへの読み書き手段を提供します。 このファイルは .Pa 中で定義されている .Dv "struct regs" バイナリデータ構造体を含んでいます。 .Pa regs はプロセスが停止しているときのみ書き込みできます。 .It Pa rlimit これは、プロセスの現在および最大の制限を含む、読み取り専用ファイルです。 各行の書式は .Ar rlimit current max であり、-1 は無限を意味します。 .It Pa status プロセスの状態。 このファイルは読み込みのみで、空白で分けられた以下の多数のフィールドを 含んだ 1 行を返します: .Pp .Bl -bullet -compact .It コマンド名 .It プロセス ID .It 親プロセス ID .It プロセスグループ ID .It セッション ID .It 制御端末の .Ar major , Ns Ar minor 、またはもし制御端末がない場合には .Dv -1,-1。 .It プロセスフラグのリスト: .Dv ctty 制御端末がある、 .Dv sldr プロセスがセッションリーダである、 .Dv noflags 他の 2 つのフラグがセットされていない。 .It コンマで区切った秒とマイクロ秒によるプロセス開始時刻 .It コンマで区切った秒とマイクロ秒によるユーザ時間 .It コンマで区切った秒とマイクロ秒によるシステム時間 .It ウェイトチャネルメッセージ .It 実効ユーザ ID と全てコンマで区切られた グループリスト(最初の項目は実効グループ ID) から成っている プロセスクリデンシャル .El .El .Pp 対象がデバッガによって fork/exec される通常のデバッギング環境では、 デバッガが fork し、子は自分自身で止まる(例えば自分で与えた .Dv SIGSTOP ) べきです。 親は適切な .Pa ctl ファイルを通じて .Dv wait そして .Dv attach コマンドを発行するべきです。 子プロセスは exec 呼び出しが終わった直後に .Dv SIGTRAP を受け取ります .Pf ( Xr execve 2 参照)。 .Pp それぞれのノードはプロセスのユーザに所持され、 ユーザのプライマリグループに属します。 .Pa mem ノードは例外的に .Li kmem グループに属します。 .Sh 関連ファイル .Bl -tag -width /proc/curproc/XXXXXXX -compact .It Pa /proc .Nm の通常のマウントポイント。 .It Pa /proc/pid プロセス .Pa pid のプロセス情報を含んだディレクトリ .It Pa /proc/curproc カレントプロセスのプロセス情報を含んだディレクトリ .It Pa /proc/curproc/cmdline プロセスの実行形式名 .It Pa /proc/curproc/ctl プロセスへの制御メッセージを送るために使われます .It Pa /proc/curproc/etype 実行形式タイプ .It Pa /proc/curproc/file 実行形式イメージ .It Pa /proc/curproc/fpregs プロセス浮動小数点レジスタセット .It Pa /proc/curproc/map プロセスの仮想メモリマップ .It Pa /proc/curproc/mem プロセスの完全な仮想アドレス空間 .It Pa /proc/curproc/note プロセスへのシグナル送信に使われます .It Pa /proc/curproc/notepg プロセスグループへのシグナル送信に使われます .It Pa /proc/curproc/regs プロセスのレジスタセット .It Pa /proc/curproc/rlimit プロセスの現在および最大の rlimit .It Pa /proc/curproc/status プロセスの現在の状態 .El .Sh 関連項目 .Xr mount 2 , .Xr sigaction 2 , .Xr unmount 2 , .Xr mount_procfs 8 , .Xr pseudofs 9 .Sh 作者 .An -nosplit このマニュアルページは .An Jan-Simon Pendry によって提供された記述に基づいて .An Garrett Wollman によって書かれ、 後に .An Mike Pritchard によって手直しされました。 diff --git a/ja_JP.eucJP/man/man5/remote.5 b/ja_JP.eucJP/man/man5/remote.5 index b7e114b14a..e98fe12455 100644 --- a/ja_JP.eucJP/man/man5/remote.5 +++ b/ja_JP.eucJP/man/man5/remote.5 @@ -1,194 +1,194 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)remote.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/remote.5,v 1.9 2001/07/14 19:41:09 schweikh Exp % +.\" %FreeBSD: src/share/man/man5/remote.5,v 1.10 2002/11/29 11:39:19 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 5, 1993 .Dt REMOTE 5 .Os .Sh 名称 .Nm remote .Nd リモートホスト記述ファイル .Sh 解説 .Xr tip 1 によって知られるシステムとその属性は、 .Xr termcap 5 ファイルのような構造の .Tn ASCII ファイルに記録されます。 ファイルの各行は、1 つの .Em システム についての記述を提供します。 フィールドはコロン (``:'') で分けられています。 \e 文字の直後に改行がある行末は、次の行へ継続されます。 .Pp 最初のエントリはホストシステムの (複数の) 名称です。 システムの名称が 1 つ以上ある場合、名称は縦棒で区切られます。 システムの名称の後に記述フィールドが続きます。 `=' 記号が続くフィールド名は、文字列型を示します。 `#' 記号が続くフィールド名は、数値を示します。 .Pp ``tip*'' と ``cu*'' という名前が付いたエントリは、 .Xr tip 1 や、以下で述べるように .Nm tip に対するインタフェース .Xr cu 1 でデフォルトのエントリとして使われます。 .Nm tip が電話番号だけをつけて呼び出された時、 ``tip300'' の形式のエントリを探 します。 ここで、 300 は接続が張られたボーレートです。 .Nm cu インタフェースが使われた時は、 ``cu300'' という形式のエントリが使わ れます。 .Sh ケーパビリティ ケーパビリティは、文字列 (str) ・数値 (num) ・ブーリアンフラグ (bool) のいずれかです。文字列ケーパビリティは .Em capability Ns Ar = Ns Em value のように指定されます。例えば、 ``dv=/dev/harris'' のように指定します。 数値ケーパビリティは .Em capability Ns Ar # Ns Em value のように指定されます。例えば、 ``xa#99'' のように指定します。 ブーリアンケーパビリティは単にケーパビリティを記述するだけで 指定されます。 .Bl -tag -width indent .It Cm \&at (str) 自動呼び出しユニットの形式です。 .It Cm \&br (num) リモートホストと接続を確立するために使われるボーレート。 これは、10 進の数値です。デフォルトのボーレートは 300 ボーです。 .It Cm \&cm (str) リモートホストに送られる初期接続メッセージです。 例えば、ホストにポート選択器を通して到達する場合、 ここにはホストに切り替えるために必要とされる適切なシーケンスが設定されて いるべきです。 .It Cm \&cu (str) 電話の呼び出しが行われる場合の呼び出しユニットです。 デフォルトは、 `dv' フィールドと同じです。 .It Cm \&di (str) ユーザによって切断が要求されている時にホストに送られる 切断メッセージです。 .It Cm \&du (bool) このホストはダイヤルアップ線上にあることを示します。 .It Cm \&dv (str) 接続を確立するためにオープンする (複数の) -.Tn UNIX +.Ux デバイスです。このファイルが端末線を参照している場合、 .Xr tip 1 は、1 度に 1 ユーザだけがポートにアクセスすることを保証するために、 デバイスを排他的にオープンします。 .It Cm \&el (str) 行末 (end-of-line) を示す文字です。 デフォルトでは .Dv NULL 文字です。`el' 中の 1 文字もしくは復帰文字 (carriage return) の後の `~' エスケープは .Nm tip だけで認識されます。 .It Cm \&fs (str) 転送のためのフレームサイズです。 デフォルトフレームサイズは .Dv BUFSIZ と同じです。 .It Cm \&hd (bool) ホストが半 2 重通信を使い、ローカルエコーが行われることを示します。 .It Cm \&ie (str) 入力のファイル終了 (end-of-file) マークです。 デフォルトは .Dv NULL です。 .It Cm \&oe (str) 出力のファイル終了 (end-of-file) 文字列です。 デフォルトは .Dv NULL です。 .Nm tip がファイルを転送している時、この文字列はファイル終了時に送られます。 .It Cm \&pa (str) データをホストに送っている時に使われるパリティの形式です。 これは ``even'', ``odd'', ``none'', ``zero'' (いつでも 8 ビット目を 0 に設定する), ``one'' (いつでも 8 ビット目を 1 に設定する)のいずれかです。 デフォルトではイーブンパリティです。 .It Cm \&pn (str) ホストに対する (複数の) 電話番号です。 電話番号フィールドが @ 符号を含んでいる場合、 .Nm tip は電話番号の一覧を .Pa /etc/phones ファイルから検索します ( .Xr phones 5 参照)。 .It Cm \&tc (str) ケーパビリティのリストが、名前で与えられた記述に継続されることを示し ます。これは主に共通のケーパビリティ情報を共有するために使われます。 .El .Pp ここで、ケーパビリティの継続機能の利用をしめす短い例をお見せしましょう: .Bd -literal UNIX-1200:\e :dv=/dev/cau0:el=^D^U^C^S^Q^O@:du:at=ventel:ie=#$%:oe=^D:br#1200: arpavax|ax:\e :pn=7654321%:tc=UNIX-1200 .Ed .Sh 関連ファイル .Bl -tag -width /etc/remote -compact .It Pa /etc/remote .Pa /etc に置かれた .Nm リモート ホスト記述ファイル。 .El .Sh 関連項目 .Xr tip 1 , .Xr phones 5 .Sh 歴史 .Nm ファイル書式は .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/syslog.conf.5 b/ja_JP.eucJP/man/man5/syslog.conf.5 index 10f5d6c95b..2d1f3fbe13 100644 --- a/ja_JP.eucJP/man/man5/syslog.conf.5 +++ b/ja_JP.eucJP/man/man5/syslog.conf.5 @@ -1,457 +1,457 @@ .\" 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. .\" .\" @(#)syslog.conf.5 8.1 (Berkeley) 6/9/93 -.\" %FreeBSD: src/usr.sbin/syslogd/syslog.conf.5,v 1.28 2002/09/23 11:59:19 dcs Exp % +.\" %FreeBSD: src/usr.sbin/syslogd/syslog.conf.5,v 1.30 2002/12/12 17:26:04 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 9, 1993 .Dt SYSLOG.CONF 5 .Os .Sh 名称 .Nm syslog.conf .Nd .Xr syslogd 8 設定ファイル .Sh 解説 .Nm ファイルは .Xr syslogd 8 プログラムの設定ファイルです。 このファイルは .Em program と .Em hostname の指定によって分けられた行ブロックから構成されています。 それぞれの行は 2つのフィールドを含みます。 その行が適用されるメッセージのタイプと優先度を指定する .Em selector フィールドと、 .Xr syslogd が選んだ基準とマッチしたメッセージを受けとった場合の動作を指定する .Em action フィールドです。 .Em selector フィールドと .Em action フィールドは 1 つ以上のタブ文字または空白で区切られています。 .Pp 区切りに空白を使用すると、 .Nm は他の Unix や Unix 的システムと互換性が無くなってしまうことに 注意してください。 この機能は、設定を容易にし (例えば .Nm にカットアンドペーストできるようにし)、 その際発生し得るミスを避けるため追加されました。 しかしながらこの変更は、古いスタイルの .Pa syslog.conf (すなわちタブ文字のみ) へのバックワードコンパチビリティを保っています。 .Pp .Em selector は、 .Em facility とピリオド .Pq Dq \&. とオプションの比較フラグ -.Pq Bo ! Bc Bq <=> +.Pq Oo \&! Oc Op <=> そして .Em level で符号化され、間に空白は含みません。 .Em facility と .Em level の双方とも、大文字小文字の区別はありません。 .Pp .Em facility はメッセージを生成したのがシステムのどの部分なのかを表します。 これは、次にあげるキーワード群の 1 つで表されます : auth, authpriv, console, cron, daemon, ftp, kern, lpr, mail, mark, news, ntp, security, syslog, user, uucp と local0 から local7。 これらのキーワード (mark を除く) は .Xr openlog 3 と .Xr syslog 3 ライブラリルーチンで指定される .Dq Dv LOG_ で始まる値と一致します。 .Em 比較フラグ を使用して、何を記録するのかを正確に指定できます。 比較フラグのデフォルト組は .Dq => (またはあなたが好むのなら .Dq >= ) であり、 指定した .Em facility リストからの .Em level 以上のレベルのメッセージを記録することを意味します。 -.Do ! Dc +.Dq Li \&! で開始する比較フラグは、その論理的意味を反転させます。 .Dq !=info は、info 以外の前レベルを意味し、 .Dq !notice は .Dq /\oo/\ .\" .\" $FreeBSD$ .\" 以下は Linux JM のクレジット .\" Japanese Version Copyright (c) 1997,1998 MAEHARA Kohichi .\" all rights reserved. .\" Translated Sat Feb 21 00:00:00 JST 1998 .\" by MAEHARA Kohichi .\" .\"WORD: 10 most wanted FBI の出す凶悪犯リスト .\" .\" -.Dd Oct 10, 2002 +.Dd October 10, 2002 .Dt FACTOR 6 .Os .Sh 名称 -.Nm factor , -.Nm primes +.Nm factor , primes .Nd factor は素因数分解を行なう, primes は素数を求める .Sh 書式 .Nm .Op Fl h .Op Ar number ... -.br .Nm primes .Op Fl h .Op Ar start Op Ar stop .Sh 解説 .Nm ユーティリティは正 の整数を素因数分解します。 素因数分解されると、元の整数の後ろに -.Dq \&: +.Ql \&: をつけて、 さらにその後ろに一行で因数のリストが表示されます。 因数は空白で区切りながら昇順に表示されます。 もし同じ因数で複数回割ることができる場合は、その因数は回数分表示されます。 .Pp .Nm に 1 つ以上の引数を与えて実行すると、 それぞれについて素因数分解を行います。 .Pp .Nm を引数無しで実行すると、 .Nm は一行につき一つの数値を、 ファイルの終了またはエラーとなるまで、標準入力から読み込みます。 先頭の空白ならびに空行は無視されます。 -数字の前に一つだけ + の記号がついているのはかまいません。 +数字の前に一つだけ +.Ql + +の記号がついているのはかまいません。 数字は非数字キャラクタ (たとえば改行) で終了します。 数字を一つ読む毎に、それは素因数分解されます。 .Pp .Nm primes ユーティリティは .Ar start 以上 .Ar stop 未満の素数を一行に一つ、昇順で表示します。 .Ar start は最低でも 0 以上で、 .Ar stop 未満であることが必要です。 .Ar stop は最大値よりも大きくてはなりません。 .Ar stop のデフォルトおよび最大値は、 32 ビットアーキテクチャでは 4294967295 であり、 64 ビットアーキテクチャでは 18446744073709551615 です。 .Pp 引数なしで .Nm primes ユーティリティを起動した場合、 .Ar start は標準入力から読み込まれます。 この場合 .Ar stop として最大値が用いられます。 .Ar start -の数字の頭に + 記号を付けるのはかまいません。 +の数字の頭に +.Ql + +記号を付けるのはかまいません。 .Ar start の数字は非数字のキャラクタ (例えば改行) で終了します。 .Sh 診断 -.Bl -item -.It -negative numbers aren't permitted -.It -illegal numeric format -.It -start value must be less than stop value -.It -Result too large +.Bl -diag +.It "negative numbers aren't permitted" +.It "illegal numeric format" +.It "start value must be less than stop value" +.It "Result too large" .El 範囲外あるいは不正な入力を与えると、 答として `ouch' を標準エラーに出力します。 .Sh バグ .Nm -は ``十大凶悪'' 因子のリストを処理するのには使えませんし、 +は +.Dq 十大凶悪 +因子のリストを処理するのには使えませんし、 .Nm primes で素数の世界記録を求めることはできません。 diff --git a/ja_JP.eucJP/man/man6/grdc.6 b/ja_JP.eucJP/man/man6/grdc.6 index f407d06757..b53592909d 100644 --- a/ja_JP.eucJP/man/man6/grdc.6 +++ b/ja_JP.eucJP/man/man6/grdc.6 @@ -1,29 +1,30 @@ -.\" %FreeBSD: src/games/grdc/grdc.6,v 1.3 2001/09/25 13:45:46 ru Exp % +.\" %FreeBSD: src/games/grdc/grdc.6,v 1.4 2002/12/11 15:55:28 ru Exp % .\" .\" $FreeBSD$ .Dd September 25, 2001 .Dt GRDC 6 +.Os .Sh 名称 .Nm grdc .Nd 立派なデジタル時計 (curses) .Sh 書式 .Nm .Op Fl s .Op Ar n .Sh 解説 .Nm は curses 互換な VDU 画面に反転表示された空白を使ってデジタル時計を 表示します。 省略可能な数値引き数 .Ar n を指定すると、 .Ar n 秒後に止まります (デフォルトでは止まりません)。省略可能な .Fl s フラグを指定すると数字が変わるときにスクロールするようになります。 この curses モードの実装では、遅れないようにスクロールするのは難しいです。 .Sh 作者 .An -nosplit .An Amos Shapir が作成し、 .An John Lupien が curses 用に修正しました。 diff --git a/ja_JP.eucJP/man/man7/ascii.7 b/ja_JP.eucJP/man/man7/ascii.7 index 64959b9fba..5e2304c1ae 100644 --- a/ja_JP.eucJP/man/man7/ascii.7 +++ b/ja_JP.eucJP/man/man7/ascii.7 @@ -1,116 +1,116 @@ .\" 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. .\" .\" @(#)ascii.7 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man7/ascii.7,v 1.5 2001/07/14 19:41:13 schweikh Exp % +.\" %FreeBSD: src/share/man/man7/ascii.7,v 1.6 2002/12/05 08:50:00 ru Exp % .\" .\" $FreeBSD$ .Dd June 5, 1993 .Dt ASCII 7 .Os .Sh 名称 .Nm ascii .Nd 8 進値、16 進値および 10 進値による .Tn ASCII 文字セット .Sh 解説 .Nm 8 進値 セット: .Bd -literal -offset left -000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel -010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si -020 dle 021 dc1 022 dc2 023 dc3 024 dc4 025 nak 026 syn 027 etb -030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us -040 sp 041 ! 042 " 043 # 044 $ 045 % 046 & 047 ' +000 NUL 001 SOH 002 STX 003 ETX 004 EOT 005 ENQ 006 ACK 007 BEL +010 BS 011 HT 012 NL 013 VT 014 NP 015 CR 016 SO 017 SI +020 DLE 021 DC1 022 DC2 023 DC3 024 DC4 025 NAK 026 SYN 027 ETB +030 CAN 031 EM 032 SUB 033 ESC 034 FS 035 GS 036 RS 037 US +040 SP 041 ! 042 " 043 # 044 $ 045 % 046 & 047 ' 050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057 / 060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7 070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ? 100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G 110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O 120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W 130 X 131 Y 132 Z 133 [ 134 \e\ 135 ] 136 ^ 137 _ 140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g 150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o 160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w -170 x 171 y 172 z 173 { 174 | 175 } 176 ~ 177 del +170 x 171 y 172 z 173 { 174 | 175 } 176 ~ 177 DEL .Ed .Pp .Nm 16 進値 セット: .Bd -literal -offset left -00 nul 01 soh 02 stx 03 etx 04 eot 05 enq 06 ack 07 bel -08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si -10 dle 11 dc1 12 dc2 13 dc3 14 dc4 15 nak 16 syn 17 etb -18 can 19 em 1a sub 1b esc 1c fs 1d gs 1e rs 1f us -20 sp 21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' +00 NUL 01 SOH 02 STX 03 ETX 04 EOT 05 ENQ 06 ACK 07 BEL +08 BS 09 HT 0A NL 0B VT 0C NP 0D CR 0E SO 0F SI +10 DLE 11 DC1 12 DC2 13 DC3 14 DC4 15 NAK 16 SYN 17 ETB +18 CAN 19 EM 1A SUB 1B ESC 1C FS 1D GS 1E RS 1F US +20 SP 21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' 28 ( 29 ) 2a * 2b + 2c , 2d - 2e . 2f / 30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 7 38 8 39 9 3a : 3b ; 3c < 3d = 3e > 3f ? 40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G 48 H 49 I 4a J 4b K 4c L 4d M 4e N 4f O 50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W 58 X 59 Y 5a Z 5b [ 5c \e\ 5d ] 5e ^ 5f _ 60 \` 61 a 62 b 63 c 64 d 65 e 66 f 67 g 68 h 69 i 6a j 6b k 6c l 6d m 6e n 6f o 70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w -78 x 79 y 7a z 7b { 7c | 7d } 7e ~ 7f del +78 x 79 y 7a z 7b { 7c | 7d } 7e ~ 7f DEL .Ed .Pp .Nm 10 進値 セット: .Bd -literal -offset left - 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel - 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si - 16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb - 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us - 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' + 0 NUL 1 SOH 2 STX 3 ETX 4 EOT 5 ENQ 6 ACK 7 BEL + 8 BS 9 HT 10 NL 11 VT 12 NP 13 CR 14 SO 15 SI + 16 DLE 17 DC1 18 DC2 19 DC3 20 DC4 21 NAK 22 SYN 23 ETB + 24 CAN 25 EM 26 SUB 27 ESC 28 FS 29 GS 30 RS 31 US + 32 SP 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \e\ 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w -120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 del +120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 DEL .Ed .Sh 関連ファイル .Bl -tag -width /usr/share/misc/ascii -compact .It Pa /usr/share/misc/ascii .El .Sh 歴史 .Nm マニュアルページは .At v7 から登場しました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1-21 diff --git a/ja_JP.eucJP/man/man7/clocks.7 b/ja_JP.eucJP/man/man7/clocks.7 index 99d651cc8e..8f72a28501 100644 --- a/ja_JP.eucJP/man/man7/clocks.7 +++ b/ja_JP.eucJP/man/man7/clocks.7 @@ -1,172 +1,176 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man7/clocks.7,v 1.20 2002/11/02 23:59:02 rwatson Exp % +.\" %FreeBSD: src/share/man/man7/clocks.7,v 1.22 2002/11/29 11:39:19 ru Exp % .\" .\" $FreeBSD$ .\" " .Dd April 1, 1996 .Os .Dt CLOCKS 7 .Sh 名称 .Nm clocks .Nd いろいろなシステムタイマ .Sh 書式 .In time.h .Sh 解説 .Dv HZ (ヘルツ) は .Bx におけるアプリケーションインタフェースの一部ではありません。 .Pp 周波数の異なるいろいろな実体をもつクロックおよび仮想的 (計時用) なクロック があります。 .Bl -bullet .It スケジューリングクロック。周波数 100 となるはずの実クロックです。 アプリケーションからは参照できません。 .It 統計クロック。周波数 128 となるはずの実クロックです。 アプリケーションから直接参照することはできません。 .It .Xr clock 3 によって報告されるクロック。 周波数が通常 128 の仮想クロックです。実際の周波数は .Dv CLOCKS_PER_SEC マクロによって与えられます。 .Dv CLOCKS_PER_SEC は浮動小数点値であるかもしれないことに注意してください。 .Xr clock 3 は .Fx での新しいプログラムには使用しないでください。 これは .Xr getrusage 2 -に比較して機能的に劣っていますが、\*[Ai] に適合するために +に比較して機能的に劣っていますが、 +.Tn ANSI +に適合するために 提供されています。 .Xr getrusage 2 をコールし、情報と結果を受け渡すことによって実装されています。 .It .Xr times 3 によって報告されるクロック。 周波数が通常 128 の仮想クロックです。実際の周波数は .Dv CLK_TCK マクロ (これは反対されています。使用しないでください。) と .Fn sysconf _SC_CLK_TCK と .Xr sysctl 3 によって与えられます。 この周波数は .Dv CLOCKS_PER_SEC とは異なりうることに注意してください。 .Xr times 3 は .Fx での新しいプログラムには使用しないでください。 これは .Xr getrusage 2 と組み合わせた .Xr gettimeofday 2 -に比較して機能的に劣っていますが、\*[Px] に適合するために +に比較して機能的に劣っていますが、 +.Tn POSIX +に適合するために 提供されています。 .Xr gettimeofday 2 と .Xr getrusage 2 をコールし、情報と結果を受け渡すことによって実装されています。 .It プロファイリングクロック。1024 の周波数をもつ実クロックです。 これは主に .Xr moncontrol 3 と .Xr kgmon 8 と .Xr gprof 1 で使用されます。 アプリケーションはこの実際の周波数を決定するためには .Xr sysctl 3 を使うか、プロファイリングデータファイルのヘッダを読んで 調べなければなりません。 .It mc14618a のクロック。32768 の公称周波数をもつ実クロックです。 分周されて統計クロックおよびプロファイリングクロックに使われます。 このクロックはアプリケーションからは参照できません。 .It マイクロ秒クロック。1000000 の周波数をもつ仮想クロックです。 これは .Bx ではほとんどの時間計測に使用され、アプリケーションに対して .Xr getrusage 2 や .Xr gettimeofday 2 や .Xr select 2 や .Xr getitimer 2 などでエクスポートされています。これが通常 .Bx のアプリケーションで 使用されるべきクロックです。 .It i8254 クロック。1193182 の公称周波数をもつ実クロック/タイマです。 3 個の独立したタイムカウンタを使用可能です。 分周されてスケジューリングクロックに使われます。 アプリケーションからは参照できません。 .It 第 5 世代以降の x86 システムでの、TSC クロック (64 ビットレジスタ)。 CPU の 1 秒あたりのサイクル数に等しい周波数の、実クロックです。 周波数は、使用可能ならば sysctl .Sy machdep.tsc_freq を使用して得られます。 これはスケジューリングクロックの値の間に挿入するために使用されます。 .Xr perfmon 4 の .Dv PMIOTSTAMP 要求でアクセス可能です。 .El .Pp まとめ: もし .Dv HZ (ヘルツ) が 1000000 でなければ、アプリケーションはおそらく間違った クロックを使用することになるでしょう。 .Sh 関連項目 -.Xr clock_gettime 2 , .Xr gprof 1 , +.Xr clock_gettime 2 , .Xr getitimer 2 , .Xr getrusage 2 , .Xr gettimeofday 2 , .Xr select 2 , .Xr clock 3 , .Xr moncontrol 3 , .Xr times 3 .Sh 作者 .An -nosplit この man ページは .An Bruce Evans によって投稿された説明にもとづいて、 .An J\(:org Wunsch によって書かれました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1-21 diff --git a/ja_JP.eucJP/man/man7/firewall.7 b/ja_JP.eucJP/man/man7/firewall.7 index cc836e77dc..6c91a5da03 100644 --- a/ja_JP.eucJP/man/man7/firewall.7 +++ b/ja_JP.eucJP/man/man7/firewall.7 @@ -1,373 +1,373 @@ .\" Copyright (c) 2001, Matthew Dillon. Terms and conditions are those of .\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in .\" the source tree. .\" -.\" %FreeBSD: src/share/man/man7/firewall.7,v 1.15 2002/10/22 22:52:24 keramida Exp % +.\" %FreeBSD: src/share/man/man7/firewall.7,v 1.17 2002/11/29 11:50:08 ru Exp % .\" $FreeBSD$ .Dd May 26, 2001 .Dt FIREWALL 7 .Os .Sh 名称 .Nm firewall .Nd FreeBSD で動作する簡単なファイアウォール .Sh ファイアウォールの基礎 ファイアウォールは一般に、外部から行われるネットワーク内部への不正なアクセス を防ぐために使われます。また、LAN 内だけでサービスされるべき NFS や SMBFS のようなサービスに対して、内部の IP アドレスを偽装して外部から行わ れる攻撃を防ぐためにも用いられます。 .Pp また、 .Fx のファイアウォール機構は、 -.Xr dummynet 4 +.Xr dummynet 4 を用いた帯域制限を行うこともできます。この機能は特に重要な目的のために 帯域幅を保証したい場合などに有効でしょう。たとえば、オフィスの T1 (1.5Mbps) を用いてビデオ会議を行う場合に、他の通信を 1Mbps までに押えて、 ビデオ会議用のコネクションに最低でも 0.5Mbps を確保することができます。 また同様に、共用機器で有名なウェブサイトや FTP サイトを運用している場合には、 プロバイダからの高額な帯域課金を避けるために使うこともできます。 .Pp それから、 .Fx -のファイアウォール機構はパケットが正しい到達先に行くようにパケットを +のファイアウォール機構はパケットが正しい到達先に行くようにパケットを divert したり、次のホップのアドレスを変更したりすることもできます。 パケットの divert は主に、プライベート IP アドレス空間から外部へのブラウズなど のアクセスを可能にする NAT (ネットワークアドレス変換) を実現するために 用いられます。 .Pp ファイアウォールを構築することは簡単なようですが、多くの人が間違いを犯し ています。最も多い間違いは、包括的なファイアウォールでなく、 排他的なファイアウォールを作ってしまうことです。排他的なファイアウォールは、 ルールセットに適合しなかったすべてのパケットを通過させるもので、 包括的なファイアウォールはルールセットにマッチしたパケットだけを通過させます。 包括的なファイアウォールのほうが、排他的なものよりもはるかに安全ですが、 正しく動くものを 作るのが難しくなります。次に多い間違いは、通過させたくないものすべてを 廃棄してしまうことです。TCP/IP が正常に動作するためには、 たとえば MTU ディスカバリの実装のように、 いくつかの ICMP エラーを必要とします。 同様に、多くのデーモンは、コネクションを要求するユーザを認証するために、 .Sy auth サービスに逆向きのコネクションを張ります。auth は危険ですが、正しい対応 はただパケットを廃棄するのでなく、TCP reset を返すようにすることです。 以下で示す、ファイアウォールのサンプルではこれらの事項を満たすように してあります。 .Sh IPFW を使うためのカーネルの設定 IP ファイアウォールの機能を使用するためには、 カスタムカーネルを作成する必要はありません。 -.Em /etc/rc.conf +.Em /etc/rc.conf (後述) でファイアウォールを有効にすれば、 ipfw カーネルモジュールが必要な時に自動的にロードされます。 あなたが偏執したいならば、 .Sy IPFIREWALL オプションを設定することで、IPFW を直接 .Fx カーネルに組み込むこともできます。 このファイアウォールは、何も設定しないとすべてのパケットを通過させないように なっています。 -.Em /etc/rc.conf +.Em /etc/rc.conf で、再起動時に適切なルールセットを読み込むようになっていないと、 コンソールに触ることができない場合、マシンにアクセスすらできなくなります。 また、新しいリリースのカーネルに更新する時に、 バイナリ (訳注: コマンドやライブラリのこと) を更新する前に リブートを実行してしまうことがよくあります。 この結果 .Xr ipfw 8 とカーネルが非互換になってしまい、ブートシーケンスで .Xr ipfw 8 が動作しないことにより、マシンにアクセスできなくなってしまいます。 このために、 .Sy IPFIREWALL_DEFAULT_TO_ACCEPT というカーネルオプションが用意されており、これによってファイアウォールの 初期状態をすべてのパケットを通過させる設定にすることができます。 しかし、 このオプションを設定することは、システムブート中の短期間、 ファイアウォールが全パケットを通すかもしれないことに注意してください。 それでも本オプションの使用は、 .Fx ファイアウォールに十分慣れるまでの期間には有用です。 どのように動作するかすべて分かったら、これを削除して、抜け穴を塞いてください。 第 3 のオプションとして、 .Sy IPDIVERT -があります。これは、ファイアウォールがパケットをユーザプログラムに +があります。これは、ファイアウォールがパケットをユーザプログラムに divert することができるようにするもので、 .Xr natd 8 によって、プライベートネットワークから外部へアクセスできるようにするとき に必要です。 トラフィックタイプによる帯域制限には、 .Em ipfw pipe ルールを有効にするために、 .Sy DUMMYNET オプションが必要です。 .Sh IPFW によるファイアウォールの例 ここに示すのは、3 つのインタフェースカードをもつマシンで動作している ipfw ベースのファイアウォールの例です。 fxp0 が「外側の」LAN に接続されています。 この LAN 上のマシンは、10. で始まる内部 IP アドレスと、 インターネットにルーティングされる IP アドレスを持ち、 デュアルホームとなっています。 たとえば、 192.100.5.x がインターネットにルーティングされる IP ブロックを指し、 10.x.x.x が内部ネットワークを指します。 例として適切ではないかもしれませんが、 10.0.1.x が fxp0 の接続されている LAN のアドレス、 10.0.2.x が fxp1 の接続されている LAN のアドレス、 そして 10.0.3.x が fxp2 のものであるとします。 .Pp この例では、3 つの LAN すべてをインターネットから隔離し、またそれぞれを も隔離したいものとします。同時に、すべての内部アドレスから、この マシンで走っている NAT ゲートウェイを経由してインターネットへアクセスが 可能であるようにします。NAT ゲートウェイを動作させるためには、fxp0 に 内部アドレスの 10. のほかに、インターネットから見えるアドレスを持たせる 必要があります。このアドレス (ここでは示していません) が、このマシンの 公式なアドレスであり、もうひとつの外部から見えるアドレス (この例では 192.100.5.5 です) が NAT ゲートウェイとしてのアドレスとなります。 この例は、外部から見える LAN のマシンにも内部アドレス 10.0.0.x を割り当てること によって、すこし複雑になっています。しかしこの方法によって、 内部サービスは内部アドレスにのみバインドし、インターネットから守れます。 外から見える IP アドレスにバインドする サービスは、インターネットに対して公開しようとするものだけにするのです。 .Pp この例では、ネットワーク 10.0.0.x はファイアウォールによって保護されてい ません。このネットワークを外部からのアドレス偽装から守るために、 インターネットルータによる保護を確認して下さい。 また例では、外部から見えるホストが 内部 IP アドレスを通じてサービスを操作する場合、 内部のネットワークに非常に自由にアクセス可能としています。 この方法にはいくらかのセキュリティ上の危険が伴っており、 外部から見えるホストに問題がある場合には何が起きるかわかりません。 この危険を回避するためには、ルール 01010 と 01011 を削除して、 LAN0 経由で入ってくるものすべてを firewall を経由するようにするべきです。 .Pp また、この例では内部アドレス空間を使うことがファイアウォールによる保護機構 の重要な点であることに着目してください。適切なアドレス偽装対策を行うこ とにより、外部から、内部 (LAN1 および LAN2) のホストに直接アクセスするこ とは不可能となります。 .Bd -literal # /etc/rc.conf # firewall_enable="YES" firewall_type="/etc/ipfw.conf" # ファイアウォールを通過する一時的なポート割り当ての範囲を設定 # # 注意 : ファイアウォールを通じて行われるサービスの負荷が高い場合には、 # より広いポート割当の範囲を必要とすることになります。そのような際には # 4000-10000 や 4000-30000 がより良い選択でしょう。 ip_portrange_first=4000 ip_portrange_last=5000 \&... .Ed .Pp .Bd -literal # /etc/ipfw.conf # # FIREWALL: ファイアウォール兼 NAT ゲートウェイ # LAN0 10.0.0.X と 192.100.5.X (デュアルホーム) -# LAN1 10.0.1.X +# LAN1 10.0.1.X # LAN2 10.0.2.X # sw: イーサネットスイッチ (管理対象外) # # 192.100.5.x は、インターネットから見える IP アドレス (インターネットから # ルーティングされる) を意味します。10.x.x.x は、内部 IP アドレス # (外からは見えない) を表します。 # # [LAN1] # ^ # | # FIREWALL -->[LAN2] # | # [LAN0] # | # +--> 外側のホスト A # +--> 外側のホスト B # +--> 外側のホスト C # | # インターネットルータ (2 番目のファイアウォール) # | # [インターネット] # # 注意! ここには書かれていませんが、インターネットルータは発信元アドレスが # 10. であるパケットを許可しないように設定される必要があります。 # これは、デュアルホームの 10.0.0.x ブロックを保護するためです。 # そうでなければ、外部から見えるホストは、この例では守られていません。 # これらのホストは、外部に見せるサービスのみを外部から見えるアドレスに # バインドすべきです。内部サービスは、安全に内部アドレスにバインド可能です。 -# +# # NAT ゲートウェイは、内部の IP アドレスから外部の IP アドレスへ # 向けて送られるパケットを、ポート 8668 で listen している natd に転送す # ることによって動作します。この動作はルール 00300 によって指定されています。 # 外界から natd に返ってくるパケットも同様に、ルール 00301 によって natd に # 送られます。この例で興味深いのは、外に見せているホストへの内部からの # リクエストは、natd (ルール 00290) を通す必要がないということです。 # これは、外部に見せているホストも内部の 10. ネットワークのことがわかるので # 可能であり、natd の負荷を軽減することができます。内部のトラフィックも # natd を通す必要がありません。これらのホストは、内部の 10. ネットワークの # ルーティングのことがわかるためです。 # /etc/rc.local からは、natd は以下のように起動されます。 # natd のカーネル組み込み型のバージョンである ipnat についても参照してく # ださい。 # # natd -s -u -a 208.161.114.67 # # add 00290 skipto 1000 ip from 10.0.0.0/8 to 192.100.5.0/24 add 00300 divert 8668 ip from 10.0.0.0/8 to not 10.0.0.0/8 add 00301 divert 8668 ip from not 10.0.0.0/8 to 192.100.5.5 # 高い帯域のアクセスがルールセット全体を通過していくのを防ぐためのショート # カットルールを設定します。すでに確立されている TCP コネクションはそのまま # 通し、また外へ出るパケットも同様にします。ファイアウォールを通す # のは入力パケットだけにします。 # # 確立された TCP コネクションをそのまま通してしまうことは小さなセキュリティ # ホールになりますが、ファイアウォールの過剰な負荷を避ける意味で必要 # になることもあります。もし心配ならばこのルールを、アドレス偽装チェック # のうしろに移動することもできます。 # add 01000 allow tcp from any to any established add 01001 allow all from any to any out via fxp0 add 01001 allow all from any to any out via fxp1 add 01001 allow all from any to any out via fxp2 # アドレス偽装防止のルールです。これは、内部ネットワークのパケットを # どれくらい信頼するかによって変わってきます。fxp1 を経由するパケットは必ず、 # 10.0.1.x からのものでなければなりません。fxp2 を経由するもの # は 10.0.2.x からです。fxp0 を経由するものが LAN1 や LAN2 ブロックから # のものであることもあり得ません。ここでは 10.0.0.x を保護することはでき # ないので、ルータを適切に設定する必要があります。 # add 01500 deny all from not 10.0.1.0/24 in via fxp1 add 01500 deny all from not 10.0.2.0/24 in via fxp2 add 01501 deny all from 10.0.1.0/24 in via fxp0 add 01501 deny all from 10.0.2.0/24 in via fxp0 # この例のルールセットでは、内部ホスト間には何の制約も設けていません。 # 外部から見える LAN 上のホストであっても、内部 IP アドレスを使用する # 限りにおいてはそうです。これはセキュリティホールになる可能性があります -# (外部から見えるホストに何かがあったらどうなるでしょうか ?)。これら +# (外部から見えるホストに何かがあったらどうなるでしょうか ?)。これら # 3 つの LAN の間の通信を完全に制限したいのであれば、以下のふたつのルール # を削除してください。 # # LAN1 と LAN2 を孤立させて、しかし外部から見えるホスト間の自由なアクセスを # 許したければ、ルール 01010 だけを削除して、01011 は残して下さい。 # # (コメントアウトしてありますが、より制約の少ないファイアウォールにする # 場合はこれらを有効にしてください) #add 01010 allow all from 10.0.0.0/8 to 10.0.0.0/8 #add 01011 allow all from 192.100.5.0/24 to 192.100.5.0/24 # # 特定の LAN からは特定のサービスへのアクセスを許可する場合 # # より制約の強いファイアウォールを使う場合には、特定の LAN からファイア # ウォール上で動作している特定のサービスにアクセスできるようにすることに # なります。この例では、LAN1 がファイアウォール上で動いているファイル共有 # を必要とすると仮定します。もし、ルール 01010 が有効になっているような、 # 制約の緩いファイアウォールであればこれらのルールは不要です。 # add 01012 allow tcp from 10.0.1.0/8 to 10.0.1.1 139 add 01012 allow udp from 10.0.1.0/8 to 10.0.1.1 137,138 # 内部と外部の LAN の横断を許可する一般的なサービス # # DNS 参照、ntalk, ntp といった特定の UDP サービスは通過させます。 # 内部サービスはアドレス偽装不可の内部アドレス (10. ネット) を持つことにより # 保護されているので、これらのルールは外部から見える IP アドレスにバインド # されているサービスに対してのみ意味を持ちます。また、UDP フラグメントは # 許可する必要があります。そうしないと、フラグメントされるような大きな # UDP パケットはファイアウォールを通過できません。 # # DNS 参照に対する応答など、大きなポート番号を用いた一時的なサービスを -# 行う必要があるかもしれません。この例ではそのようなポート番号を +# 行う必要があるかもしれません。この例ではそのようなポート番号を # 4000-65535 としています。外部から見える全マシンが一時ポートをこの # 外部から見えるポートにバインドするように、/etc/rc.conf の変数で設定 # しています (上の、rc.conf の例を参照してください)。 # add 02000 allow udp from any to any 4000-65535,domain,ntalk,ntp add 02500 allow udp from any to any frag # 同様のサービスを TCP についても許可します。ここでも、外部から見える # アドレスにバインドするサービスにのみ適用されます。また、この例では # 'auth' を通過させていますが、実際には外部から見えるポートでは identd # を動作させていません。これによって、auth 要求を受け取ったマシンは # TCP RESET を発行します。パケットを捨ててしまうと、ident 参照を行ってくる # サービスへの接続の遅延の原因となります。 # # TCP フラグメントを許可していないことに注意して下さい。UDP 以外では、 # 一般にフラグメントを許さないのです。TCP の、MTU ディスカバリプロトコル # が正しく動作して、TCP フラグメントが存在しないものと期待しています。 # add 03000 allow tcp from any to any http,https add 03000 allow tcp from any to any 4000-65535,ssh,smtp,domain,ntalk add 03000 allow tcp from any to any auth,pop3,ftp,ftp-data # いくつかのタイプの ICMP を通過させることは重要です。 # 一般形な ICMP タイプをここに列挙します。 # ICMP タイプ 3 を通過させることが重要であることに注意してください。 # # 0 エコーリプライ # 3 到達不能 # 4 始点抑制 (通常は許可されません) # 5 リダイレクト (通常は許可されません。危険です !) # 8 エコー # 11 時間超過 # 12 パラメータ問題 # 13 タイムスタンプ # 14 タイムスタンプリプライ # # 状況によってはタイプ 5 の ICMP リダイレクトパケットを許可しなければな # らない場合がありますが、そのような場合にはインターネットルータでそれが # 禁止されていることを確認して下さい。 # add 04000 allow icmp from any to any icmptypes 0,3,8,11,12,13,14 # ここまで通って残ったフラグメントのログをとります。役にたつかもしれ # ませんが、邪魔なだけかもしれません。最後の deny ルールは、カーネルの設定 # がどうであっても、ファイアウォールが包括的なものであることを保証する # ものです。 # add 05000 deny log ip from any to any frag add 06000 deny all from any to any .Ed .Sh 内部向け、外部向けサービスのポートバインディング マルチホームなホストで、サービスをどちらのアドレスにバインドするかという ことについて触れましたが、説明はしていません。複数の IP アドレスを持つホ ストでは、それぞれのサービスをすべての IP アドレスにバインドするのではな く、特定の IP アドレスやインタフェースにバインドすることが可能です。た とえばこの例のファイアウォールマシンには、インタフェースが 3 つあり、 -その 1 つには 2 つの外部から見える IP アドレスがあるので、このマシンには +その 1 つには 2 つの外部から見える IP アドレスがあるので、このマシンには 5 つの IP アドレス (10.0.0.1, 10.0.1.1, 10.0.2.1, 192.100.5.5, 192.100.5.1) があることになります。Windows の LAN セグメント (LAN1 とします) に対してファイル共有サービスを提供するのであれば、samba の 'bind interfaces' という設定項目で、LAN1 の IP アドレスにだけ samba をバインドできます。 こうすることで、他の LAN セグメントではこのファイル共有サービスを利用 できなくなります。また、LAN2 に UNIX エンジニアリングワークステーション があれば、nfsd を 10.0.2.1 にバインドするように設定することで NFS でも同様 のことができます。どのサービスをどのようにバインドするかはほとんどの場合 に指定できますし、またそれが指定できない場合には .Xr jail 8 を使うことによって、間接的にそれを行うこともできます。 .Sh 関連項目 .Xr ipnat 1 , .Xr dummynet 4 , .Xr ipnat 5 , .Xr rc.conf 5 , .Xr smb.conf 5 [ /usr/ports/net/samba ] , .Xr samba 7 [ /usr/ports/net/samba ] , .Xr config 8 , .Xr ipfw 8 , .Xr jail 8 , .Xr natd 8 , .Xr nfsd 8 .Sh 関連文書 .Xr ipf 5 , .Xr ipf 8 , .Xr ipfstat 8 .Sh 歴史 .Nm マニュアルページは最初、 .An Matthew Dillon によって書かれ、2001 年 5 月に -.Fx 4.3 +.Fx 4.3 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man7/hier.7 b/ja_JP.eucJP/man/man7/hier.7 index aaf36ddd99..fbb58cb097 100644 --- a/ja_JP.eucJP/man/man7/hier.7 +++ b/ja_JP.eucJP/man/man7/hier.7 @@ -1,813 +1,815 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man7/hier.7,v 1.77 2002/10/22 10:37:07 tmm Exp % +.\" %FreeBSD: src/share/man/man7/hier.7,v 1.79 2002/12/12 17:25:57 ru Exp % .\" .\" $FreeBSD$ .Dd June 5, 1993 .Dt HIER 7 .Os .Sh 名称 .Nm hier .Nd ファイルシステムのレイアウト .Sh 解説 ファイルシステムの階層構成についての概略です。 .Bl -tag -width "/stand/" .It Pa / ファイルシステムのルートディレクトリ。 .It Pa /bin/ ユーザ用ユーティリティの基本的なもの。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Pa /boot/ オペレーティングシステムのブートストラップ中に使用される プログラムと設定ファイル。 .Pp .Bl -tag -width defaults/ -compact .It Pa defaults/ デフォルトのブートストラップ用設定ファイル。 .Xr loader.conf 5 参照。 .It Pa kernel/ カーネルの pure な実行可能ファイル (ブート時にメモリに読み込まれる オペレーティングシステム)。 .It Pa modules/ サードパーティのロード可能なカーネルモジュール。 .Xr kldstat 8 参照。 .El .It Pa /cdrom/ CD-ROM ドライブのデフォルトマウントポイント .Xr ( sysinstall 8 が作成します)。 .It Pa /compat/ 通常は、 .Pa /usr/compat へのリンクです。 そうでない場合、 .Pa /usr/compat コメントがあてはまります。 .Xr ( sysinstall 8 が作成します)。 .It Pa /dev/ ブロックデバイスおよびキャラクタデバイスファイル。 .Pp .Bl -tag -width MAKEDEV -compact .It Pa MAKEDEV デバイスファイル作成用スクリプト。 .Xr MAKEDEV 8 参照。 .It Pa fd/ ファイル記述子ファイル。 .Xr \&fd 4 参照。 .El .It Pa /dist/ .Xr sysinstall 8 が使用するマウントポイント。 .It Pa /etc/ システムの設定ファイル、およびスクリプト。 .Pp .Bl -tag -width "disklabels/" -compact .It Pa defaults/ デフォルトのシステム設定ファイル。 .Xr rc 8 参照。 .It Pa gnats/ gnats 設定ファイル。 .Xr send-pr 1 参照。 .It Pa isdn/ isdn4bsd の設定ファイル。 .Xr isdnd 8 参照。 .It Pa kerberosIV/ kerberos バージョン IV の設定ファイル。 .Xr kerberos 1 参照。 .It Pa localtime ローカルタイムゾーン情報。 .Xr ctime 3 参照。 .It Pa mail/ sendmail の制御情報。 .It Pa mtree/ mtree 設定ファイル。 .Xr mtree 8 参照。 .It Pa namedb/ named 設定ファイル。 .Xr named 8 参照。 .It Pa pam.d/ プラグ可能認証モジュール (Pluggable Authentication Modules; PAM) ライブラリの設定ファイル。 .Xr pam 8 参照。 .It Pa periodic/ .Xr cron 8 により、毎日/毎週/毎月実行されるスクリプト。 .Xr periodic 8 参照。 .It Pa ppp/ .Xr ppp 8 ppp 設定ファイル。 .Xr ppp 8 参照。 .It Pa ssl/ OpenSSL 設定ファイル。 .El .It Pa /kernel カーネルの pure な実行可能ファイル (ブート時にメモリに読み込まれる オペレーティングシステム)。 .It Pa /modules/ ロード可能なカーネルモジュール。 .Xr kldstat 8 参照。 .It Pa /mnt/ 通常、システム管理者が一時的なマウントポイントとして使用する 空のディレクトリ。 .It Pa /proc/ プロセスファイルシステム。 .Xr procfs 5 , .Xr mount_procfs 8 参照。 .It Pa /root/ root のホームディレクトリ。 .It Pa /sbin/ システムプログラム、および基本的な管理者用ユーティリティ。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Pa /stand/ スタンドアロン環境で使用されるプログラム。 .It Pa /tmp/ システムリブートをまたがった永続性が保証されない、一時ファイル。 .It Pa /usr/ ユーザ用ユーティリティ、およびアプリケーションの大部分を含む。 .Pp .Bl -tag -width "libdata/" -compact .It Pa bin/ 一般的なユーティリティ、プログラミングツール、アプリケーション。 .It Pa compat/ Linux 等の他のオペレーティングシステムとのバイナリ互換性をサポートするために 必要なファイル .Xr ( sysinstall 8 が作成します)。 .It Pa games/ 有用でちょっとふざけたプログラム。 .It Pa heimdal/ Kerberos サーバデータベース。 .Xr kdc 8 参照。 .It Pa include/ 標準 C 言語インクルードファイル。 .Pp .Bl -tag -width "kerberosIV/" -compact .It Pa arpa/ インターネットサービスプロトコルのための C 言語インクルードファイル。 .It Pa cam/ Common Access Methods Layer 用 C インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It scsi/ CAM 上の SCSI デバイス。 .El .It Pa dev/ 様々な .Fx デバイスのプログラミング用の C インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Pa ic/ ドライバ/バス独立なハードウェア回路を記述する、様々なヘッダファイル。 .It Pa ofw/ OpenFirmware サポート。 .It Pa ppbus/ パラレルポートバス。 .Xr ppbus 4 参照。 .It usb/ USB サブシステム。 .It Pa wi/ .Xr wi 4 WaveLAN ドライバ。 .El .It Pa fs/ .Bl -tag -width "kerberosIV/" -compact .It Pa fdescfs/ プロセス毎のファイル記述子ファイルシステム。 .It Pa fifofs/ .St -p1003.1 FIFO ファイルシステム。 .It Pa msdosfs/ MS-DOS ファイルシステム。 .It Pa ntfs/ NTFS ファイルシステム。 .It Pa nullfs/ ループバックファイルシステム。 .It Pa nwfs/ NetWare ファイルシステム。 .It Pa portalfs/ ポータルファイルシステム。 .It Pa procfs/ プロセスファイルシステム。 .It Pa smbfs/ SMB/CIFS ファイルシステム。 .It Pa umapfs/ uid/gid マッピングを変えるファイルシステム .It Pa unionfs ユニオンファイルシステム。 .El .It Pa g++/ GNU C++ 言語インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Pa std/ GNU C++ 言語 libstdc++ インクルードファイル。 .El .It Pa isc/ ISC ユーティリティライブラリ libisc インクルードファイル。 .It Pa isofs/ .Bl -tag -width "kerberosIV/" -compact .It Pa cd9660/ iso9660 形式ファイルシステム。 .El .It Pa kerberosIV/ kerberos 認証パッケージ用 C 言語インクルードファイル。 .Xr kerberos 1 参照。 .It Pa libmilter/ libmilter 用の C インクルードファイルであり、 .Xr sendmail 8 メールフィルタ の API です。 .It Pa machine/ マシン固有機能の C 言語インクルードファイル。 .It Pa net/ その他のネットワーク機能用 C 言語インクルードファイル。 .It Pa netatalk/ Appletalk プロトコル。 .It Pa netatm/ ATM のインクルードファイル。 .Xr atm 8 参照。 .It Pa netinet/ インターネット標準プロトコル用 C 言語インクルードファイル。 .Xr inet 4 参照。 .It Pa netinet6/ インターネットプロトコルバージョン 6 用の C インクルードファイル。 .Xr inet6 4 参照。 .It Pa netipx/ IPX/SPX プロトコルスタック。 .It Pa netkey/ カーネルの鍵管理サービス。 .It Pa netns/ Xerox 社の NS プロトコル。 .It Pa netsmb/ SMB/CIFS リクエスタ。 .It Pa netnatm/ NATM インクルードファイル。 .Xr natm 4 参照。 .It Pa nfs/ NFS (Network File System) 用 C 言語インクルードファイル。 .It Pa objc/ Objective C のインクルードファイル。 .It Pa posix4/ POSIX リアルタイム拡張のインクルードファイル。 .Xr p1003_1b 9 参照。 .It Pa openssl/ OpenSSL (Cryptography/SSL ツールキットの) ヘッダ。 .It Pa pccard/ PC-CARD コントローラ。 .It Pa protocols/ Berkeley サービスプロトコル用 C 言語インクルードファイル。 .It Pa readline/ ユーザからの一行入力機能 (編集機能付き)。 .Xr readline 3 参照。 .It Pa rpc/ リモート手続き呼び出し。 .Xr rpc 3 参照。 .It Pa rpcsvc/ RPC サービス構造の定義。 .Xr rpc 3 参照。 .It Pa security/ PAM。 .Xr pam 8 参照。 .It Pa sys/ システム用 C 言語インクルードファイル (カーネルデータ構造)。 .\" .It Pa tcl/ .\" Tcl 言語。 .\" .Xr Tcl n .\" 参照。 .\" .Bl -tag -width "kerberosIV/" -compact .\" .It Pa generic/ .\" ??? .\" .It Pa unix/ .\" ??? .\" .El .It Pa ufs/ UFS (U-word File System) 用 C 言語インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Pa ffs/ Fast filesystem。 .It Pa ufs/ UFS ファイルシステム。 .El .It Pa vm/ 仮想記憶。 .Xr vmstat 8 参照。 .El .Pp .It Pa lib/ アーカイブライブラリ。 .Bl -tag -width Fl -compact .It Pa aout/ a.out アーカイブライブラリ。 .It Pa compat/ 互換性維持用の共有ライブラリ。 .Bl -tag -width Fl -compact .It Pa aout/ a.out 後方互換ライブラリ。 .El .El .Pp .It Pa libdata/ その他のユーティリティデータファイル。 .Bl -tag -width Fl -compact .It Pa doscmd/ doscmd が使用するファイル (ドライバ、フォント等)。 .Xr doscmd 1 参照。 .Bl -tag -width 6n -compact .It Pa fonts/ doscmd が使用するフォント。 .El .It Pa gcc/ ??? .It Pa ldscripts/ リンカスクリプト。 .Xr ld 1 参照。 .It Pa lint/ さまざまな lint 用ライブラリ (事前に構築されている)。 .Xr lint 1 参照。 .It Pa msdosfs/ 文字集合変換表。 .El .It Pa stallion/ Stallion シリアルコントローラ用ファームウェアイメージ。 .Xr stl 4 参照。 .El .Pp .It Pa libexec/ システムデーモンおよびシステムユーティリティ。 (他のプログラムから実行されるもの)。 .Bl -tag -width Fl -compact .It Pa aout/ a.out 実行形式を操作するユーティリティ。 .It Pa elf/ ELF 実行形式を操作するユーティリティ。 .It Pa lpr/ LP プリントシステムのユーティリティとフィルタ。 .Xr lpr 1 参照。 .It Pa sendmail/ .Xr sendmail 8 バイナリ。 .Xr mailwrapper 8 参照。 .It Pa sm.bin/ .Xr sendmail 8 用制限付きシェル。 .Xr smrsh 8 参照。 .Pp .It Pa local/ ローカルの実行可能ファイル、ライブラリなど。 .Fx ports フレームワークのデフォルトのインストール先としても使用されます。 local/以下では、 .Xr hier 7 で /usr に関して 記述された一般的な配置が使用されます。 例外は、man ディレクトリ (local/share/ の下ではなく local/ の直下に存在)、 ports のドキュメント (share/doc// に置かれます)、 /usr/local/etc (/etc の模倣) です。 .It Pa obj/ アーキテクチャ依存のターゲットツリー。 /usr/src ツリーを構築することで作成される。 .It Pa ports/ .Fx ports コレクション (オプション扱い)。 .It Pa sbin/ (ユーザによって実行される) システムデーモン、およびシステムユーティリティ。 .It Pa share/ アーキテクチャに依存しないファイル。 .Pp .Bl -tag -width "calendar/" -compact .It Pa calendar/ 事前に組み立てられた calendar ファイルいろいろ。 .Xr calendar 1 参照。 .It Pa dict/ 単語リスト。 .Xr look 1 参照。 .Pp .Bl -tag -width Fl -compact .It Pa freebsd .Fx 固有の術語、固有の名前、隠語。 .It Pa words 一般の単語 .It Pa web2 Webster's 2nd International からの単語 .It Pa papers/ リファレンスデータベース。 .Xr refer 1 参照。 .El .Pp .It Pa doc/ その他の文書。 ( .Tn USENIX association から入手できる) .Bx マニュアルのほとんどのソース。 .Bl -tag -width Fl -compact .It Pa FAQ/ しばしば行なわれる質問とその答え (Frequently Asked Questions)。 .It Pa IPv6/ IPv6 の実装に関する注。 .It Pa bind/ BIND (Berkeley Internet Name Domain) に属する文書。 .It Pa es/ /usr/share/doc 中の文書のスペイン語への翻訳。 .It Pa handbook/ .Fx ハンドブック .It Pa ja/ /usr/share/doc 中の文書の日本語への翻訳。 .It Pa ncurses/ ncurses に属する HTML 文書。 .Xr ncurses 3X 参照 .It Pa ntp/ Network Time Protocol に属する HTML 文書。 .It Pa papers/ UNIX 関連の論文 .It Pa psd/ UNIX プログラマ用補助文書 .It Pa ru/ /usr/share/doc 中の文書のロシア語への翻訳。 .It Pa smm/ UNIX システム管理者用マニュアル .It Pa tutorials/ .Fx チュートリアル。 .It Pa usd/ UNIX ユーザ用補助文書 .It Pa zh/ /usr/share/doc 中の文書の中国語への翻訳。 .El .Pp .It Pa examples/ 一般ユーザやプログラマ向けのさまざまな用例。 .It Pa games/ 各種のゲームで使用される ASCII テキストファイル。 .It Pa groff_font/ デバイス名ごとに用意されたデバイス記述ファイル。 .It Pa info/ GNU Info ハイパーテキストシステム。 .It Pa isdn/ ISDN。 .It Pa locale/ ローカル化関係のファイル。 .Xr setlocale 3 参照。 .It Pa man/ マニュアルページ。 .It Pa me/ me マクロパッケージで使用するマクロ。 .Xr me 7 参照。 .It Pa misc/ その他システム全体の ASCII テキストファイル。 .Bl -tag -width Fl -compact .It Pa fonts/ ??? .It Pa pcvtfonts/ pcvt フォント。 .Xr pcvt 4 参照。 .It Pa termcap 端末の特性を記述するデータベース。 .Xr termcap 5 参照。 .El .It Pa mk/ make 用テンプレート。 .Xr make 1 参照。 .It Pa nls/ 各国語サポート (National Lanuguage Support) ファイル。 .Xr mklocale 1 参照。 .It Pa pcvt/ pcvt の文書とその他の例。 .Xr pcvt 4 参照。 .It Pa sendmail/ .Xr sendmail 8 の設定ファイル。 .It Pa skel/ 新しいアカウントのための . (ドット) ファイルの例。 .It Pa syscons/ syscons が使用するファイル。 .Xr syscons 4 参照。 .Bl -tag -width "scrnmaps/xx" -compact .It Pa fonts/ コンソールフォント。 .Xr vidcontrol 1 と .Xr vidfont 1 参照。 .It Pa keymaps/ コンソールキーボードマップ。 .Xr kbdcontrol 1 と .Xr kbdmap 1 参照。 .It Pa scrnmaps/ コンソールスクリーンマップ。 .El .It Pa tabset/ 各種端末用タブ記述ファイル。termcap ファイルの中で使用される。 .Xr termcap 5 参照。 .It Pa tmac/ テキスト処理マクロ。 .Xr nroff 1 および .Xr troff 1 参照。 .It Pa vi/ .Xr vi 1 のローカライズサポートとユーティリティ。 .It Pa zoneinfo/ タイムゾーン設定情報。 .Xr tzfile 5 参照。 .El .It Pa src/ .Bx とサードバーティとローカルのソースファイル。 .Pp .Bl -tag -width "kerberosIV/" -compact .It Pa bin/ /bin 内のファイルのソース。 .It Pa contrib/ 寄贈されたソフトウェアのソース。 .It Pa crypto/ 寄贈された暗号化ソフトウェアのソース。 .It Pa etc/ /etc 内のファイルのソース。 .It Pa games/ /usr/games 内のファイルのソース。 .It Pa gnu/ GNU Public Licence で保護されたユーティリティ。 .It Pa include/ /usr/include 内のファイルのソース。 .It Pa kerberosIV/ Kerberos version IV のソース。 .It Pa lib/ /usr/lib 内のファイルのソース。 .It Pa libexec/ /usr/libexec 内のファイルのソース。 .It Pa release/ .Fx のリリースを生成するために必要なファイル。 .It Pa sbin/ /sbin 内のファイルのソース。 .It Pa secure/ /usr/src/crypto 中のファイル用のビルドディレクトリ。 .It Pa share/ /usr/share 内のファイルのソース。 .It Pa sys/ カーネルのソースファイル。 .It Pa tools/ .Fx のメンテナンスとテストに使用するツール。 .It Pa usr.bin/ /usr/bin 内のファイルのソース。 .It Pa usr.sbin/ /usr/sbin 内のファイルのソース。 .El .Pp .It Pa X11R6/ X11R6 配布パッケージの実行可能形式ファイル、ライブラリなど (オプション扱い)。 .Bl -tag -width "include/" -compact .It Pa bin/ X11R6 のバイナリ (サーバ、ユーティリティ、ローカルな packages/ports)。 .It Pa etc/ X11R6 の設定ファイルとスクリプト。 .It Pa include/ X11R6 のインクルードファイル。 .It Pa lib/ X11R6 のライブラリ。 .It Pa man/ X11R6 のマニュアルファイル。 .It Pa share/ アーキテクチャ独立なファイル。 .El .El .It Pa /var/ さまざまな用途のログファイル、一時ファイル、遷移的ファイル、 スプールファイル。 .Pp .Bl -tag -width "preserve/" -compact .It Pa account/ システムアカウンティングファイル。 .Pp .Bl -tag -width Fl -compact .It Pa acct 実行アカウントファイル。 .Xr acct 5 参照。 .El .Pp .It Pa at/ 指定した時間に動くコマンドのスケジュールファイル。 .Xr \&at 1 参照。 .Bl -tag -width "preserve/" -compact .It Pa jobs/ ジョブファイルを含むディレクトリ。 .It Pa spool/ 出力スプールファイルを含むディレクトリ。 .El .Pp .It Pa backups/ さまざまなバックアップファイル。 .It Pa crash/ カーネルクラッシュダンプを保存するデフォルトのディレクトリ。 .Xr crash 8 と .Xr savecore 8 参照。 .It Pa cron/ cron が使用するファイル。 .Xr cron 8 参照。 .Bl -tag -width "preserve/" -compact .It Pa tabs/ crontab ファイル。 .Xr crontab 5 参照。 .El .Pp .It Pa db/ システム固有のさまざまなデータベースファイル。自動生成される。 .It Pa empty/ -特権分離のために sshd(8) が使用する空のディレクトリ。 +特権分離のために +.Xr sshd 8 +が使用する空のディレクトリ。 .Xr sshd 8 参照 .It Pa games/ さまざまなゲームのステータスおよびスコアファイル。 .It Pa log/ さまざまなシステムログファイル。 .Pp .Bl -tag -width Fl -compact .It Pa wtmp login/logout ログ。 .Xr wtmp 5 参照。 .El .Pp .It Pa mail/ ユーザのメールボックスファイル。 .It Pa preserve/ エディタの不慮の死の際に保存されるファイルを一時的に安置するディレクトリ。 .Xr \&ex 1 参照。 .It Pa msgs/ システムメッセージのデータベース。 .Xr msgs 1 参照。 .It Pa quotas/ ファイルシステムのクォータ情報のファイル。 .It Pa run/ ブートされてからのシステムについての各種情報を記述した システム情報ファイル。 .Pp .Bl -tag -width Fl -compact .It Pa named/ .Dq bind ユーザが書き込み可能です。 .Xr named 8 参照。 .It Pa ppp/ コマンドの接続ソケット用に、 .Dq network グループが書き込み可能です。 .Xr ppp 8 参照。 .It Pa utmp 現在のユーザについてのデータベース。 .Xr utmp 5 参照。 .El .Pp .It Pa rwho/ rwho データファイル。 .Xr rwhod 8 , .Xr rwho 1 , .Xr ruptime 1 参照。 .It Pa spool/ さまざまなプリンタ、メールシステムのスプールディレクトリ。 .Pp .Bl -tag -width Fl -compact .It Pa ftp/ 一般に ~ftp となる部分。anonymous ftp のルートディレクトリ。 .It Pa mqueue/ 配送されていないメールのキュー。 .Xr sendmail 8 参照。 .It Pa output/ ラインプリンタ用スプールディレクトリ。 .El .Pp .It Pa tmp/ システムリブートをまたがって保持される、一時ファイル。 .Bl -tag -width Fl -compact .It Pa vi.recover/ vi のリカバリファイルを格納しておくディレクトリ。 .El .It Pa yp NIS マップ。 .El .El .Sh 注 このマニュアルページはデフォルトの .Fx ファイルシステムレイアウトを 記述しており、 各システムの実際の階層構造はシステム管理者の裁量に委ねられています。 よく維持管理されたインストールにおいては、 カスタマイズされた本ドキュメントが付属するでしょう。 .Sh 関連項目 .Xr apropos 1 , .Xr find 1 , .Xr finger 1 , .Xr grep 1 , .Xr ls 1 , .Xr whatis 1 , .Xr whereis 1 , .Xr which 1 , .Xr fsck 8 .Sh 歴史 .Nm マニュアルページは .At v7 で登場しました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 98-12-26 diff --git a/ja_JP.eucJP/man/man7/release.7 b/ja_JP.eucJP/man/man7/release.7 index 6f6104432c..746f9e0356 100644 --- a/ja_JP.eucJP/man/man7/release.7 +++ b/ja_JP.eucJP/man/man7/release.7 @@ -1,453 +1,469 @@ .\" Copyright (c) 2002 Murray Stokely .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man7/release.7,v 1.16 2002/10/22 23:36:10 keramida Exp % +.\" %FreeBSD: src/share/man/man7/release.7,v 1.20 2002/12/12 17:25:57 ru Exp % .\" $FreeBSD$ .\" .\" WORD: clean system まっさらのシステム[release.7] .\" .Dd March 12, 2002 .Dt RELEASE 7 .Os .Sh 名称 .Nm release .Nd "リリース構築基盤" .Sh 解説 .Fx は、ユーザが .Fx オペレーティングシステムのリリース全てを作成できるような完全な構築環境を 提供しています。 リリースを構築するために必要なツールの全ては、 CVS リポジトリ中の .Pa src/release に揃っています。 実のところ、 CD-ROM を焼く際に使える ISO イメージ、インストール用フロッピ、 FTP インストール用ディレクトリの生成をはじめとして、完全なリリースを コマンド一発で構築できます。 このコマンドは、 .Dq Li "make release" と、うまい名前が付けられています。 .Pp リリースを構築する前に、 .Xr build 7 の内容によく馴染んでおいてください。 また、 .Dq Li "make world" によるソースからのシステムアップグレードの経験も必須です。 リリース構築プロセスは、 .Dq Li "make buildworld" の結果を .Pa /usr/obj に置いておくことを要求します。 完全なシステムのためのオブジェクトファイルを、まっさらの .Xr chroot 8 環境にインストールできるようにするために、これが必要となります。 リリースを進めるには、 .Xr md 4 (メモリディスク) デバイスドライバがカーネルに存在する (コンパイル済み、またはモジュールとしてロードのいずれも可) ことも必要です。 .Pp この文書は、ソースコード管理、品質管理など、 リリースエンジニアリングプロセスに関するその他の側面は扱いません。 .Sh ターゲット リリース用 makefile .Pq Pa src/release/Makefile は、かなり難解です。 ほとんどの場合、 .Cm release ターゲットのことを考えるだけで済むと思います。 .\" XXX: Some sort of introduction to this list? All the others have one. .Bl -tag -width ".Cm rerelease" .It Cm release .Dq Li "make installworld" を用いて、ファイルシステムの .Xr chroot 8 環境にまっさらのシステムをインストールします。 指定したバージョンのソースコードをチェックアウトし、 .Dq Li "make world" を用いて、まっさらの環境に完全なシステムを再構築します。 そのあとに、ディストリビューション別のパッケージング(まとめ上げ)、 インストール用フロッピディスクの構築、リリース文書の構築などの 細かいステップが続きます。 .It Cm rerelease このターゲットは、リリース構築作業の結果を手で修正し、前の .Dq Li "make release" の中間結果を使い、最小のステップ数でリリースを再構築することを 想定したものです。 .It Cm floppies 新規のブートフロッピの組を作成します。 .Cm release.5 , .Cm release.9 , .Cm release.10 ターゲットを呼び、直前の .Dq Li "make release" のフロッピイメージを再作成します。 このターゲットは、カスタムブートフロッピの作成にもっとも良く使用されます。 .El .Pp .Dq Li "make release" により呼び出されるターゲットは次のとおりです。 .Bl -tag -width ".Cm release.10" .It Cm release.1 ディレクトリ .Pa ${CHROOTDIR}/R をまっさらにし、 .Xr mtree 8 を用いてシステム用のディレクトリ階層を構築します。 .It Cm release.2 システムをディストリビューション用ディレクトリにインストールします。 .It Cm release.3 .Dq crypto , .Dq krb4 , .Dq krb5 ディストリビューションをビルドおよびインストールします。 .It Cm release.4 .\" XXX: We build more than one kernel. We build a stripped down .\" kernel for the boot media in addition to a full GENERIC kernel. .Pa GENERIC カーネルを作り、インストールします。 .It Cm release.5 .Xr crunchgen 1 を用いて、インストール用フロッピに収容する .Dq crunched バイナリを構築します。 .It Cm release.6 合成ディストリビューションを構築し、 また、作成されたディストリビューションツリーを掃除しきれいにします。 .It Cm release.7 組み立てられたディストリビューションツリーの tarball を 生成します。 .It Cm release.8 ソースディストリビューションを作成します。 .It Cm release.9 boot フロッピ、MFS root フロッピを生成します。 .It Cm release.10 fixit フロッピを生成します。 .It Cm ftp.1 FTP インストールに適切な領域を .Pa ${CHROOTDIR}/R/ftp に整えます。 .It Cm cdrom.1 CD-ROM イメージ構築に適切な領域を .Pa ${CHROOTDIR}/R/cdrom に整えます。 .It Cm iso.1 CD-ROM リリース領域から ISO イメージを 2 つ構築します (インストール用と .Dq live ファイルシステムの 2 つ)。 デフォルトでは無効になっています。 以下の .Va MAKE_ISOS を参照してください。 .It Cm doc.1 .Fx ドキュメンテーションプロジェクトのソースドキュメント (SGML, XML) を リリースに含める HTML / テキストドキュメントに変換するために 必要なツール全てを構築します。 また、現在存在するユーザドキュメントも構築、インストールします。 これには、Handbook, FAQ, article などが含まれます。 .It Cm doc.2 リリースドキュメントを構築します。 これには、リリースノート、ハードウエアガイド、インストール作業説明書 (installation instructions) が含まれます。 .El .Sh 環境変数 指定しなければならない環境変数は以下のとおりです。 .Bl -tag -width ".Va BUILDNAME" .It Va BUILDNAME 構築するリリースの名前。 この名前は、 .Pa sys/conf/newvers.sh の中で .Va RELEASE の値を設定するのに使用します。 この値は .Xr uname 1 の出力を変更します。 .It Va CHROOTDIR .Xr chroot 8 環境として、全リリース構築に使用するディレクトリ。 .\" XXX: I recommend against hardcoding specific numbers like "2.3" here; .\" XXX: perhaps it should be replaced with something to the effect of .\" XXX: "we don't know how much space you'll need, but make sure you have .\" XXX: at least 3 GB to be safe" (I know i'm still hardcoding a number, .\" XXX: but at least it looks less like a decree and more like an estimate. i386 アーキテクチャの場合、これが存在するファイルシステムには 少なくとも 2.3GB の空き領域が必要です。 .It Va CVSROOT .Fx CVS リポジトリの位置です。 このパス名は、実システムルートから参照され、 .Xr chroot 8 されたディレクトリツリーのルートからの参照では .Em ありません。 .El .Pp オプションの変数は次のとおりです。 .Bl -tag -width ".Va PREFETCHDISTFILES" .It Va CVSCMDARGS .Xr cvs 1 のコマンド .Ic checkout と .Ic update への追加の引数です。 例えば、この変数を .Dq Li "-D '01/01/2002 00:00:00 GMT'" に設定して .Dq Li "make release" または .Dq Li "make rerelease" すると、 .Xr cvs 1 はそれぞれ 2002 年 1 月 1 日 00:00:00 GMT のソースを チェックアウトまたはアップデートするよう .Xr cvs 1 に指示します。 .It Va LOCAL_PATCHES .Pa /usr/src に対するパッチファイル。 このパッチは、リリース構築を開始する前に、 .Xr chroot 8 環境で適用されます。 .It Va PATCH_FLAGS パッチファイル .It Va DOC_LANG 構築すべき SGML ベースドキュメンテーションの、言語とコード。 設定されないと、使用可能なすべての言語に対し、 ドキュメンテーションが構築されます。 .It Va DOCRELEASETAG ドキュメンテーションツリーのチェックアウト時に使用する CVS タグ。 通常、デフォルトで、ドキュメンテーションツリーの先頭が使用されます。 .Va RELEASETAG がリリースタグを指定する場合、 関連付けられたリリースバージョンがデフォルトの代りに使用されます。 +.It Va EXTLOCALDIR +.Pa ${CHROOTDIR}/usr/local +にコピーされるディレクトリ。 .It Va KERNEL_FLAGS リリース構築中のカーネル構築時に、この変数の内容が .Xr make 1 に渡されます。 例えば、この変数を .Dq Li "-j 4" に設定すると、 .Xr make 1 に最大 4 プロセスまで同時に実行することを指示することになります。 +.It Va KERNELS +コンパイルして +.Dq ベース +配布にインストールする、追加のカーネル設定のリストを指定します。 +各カーネルは、 +.Pa /boot/ +にインストールされ、ローダから +.Dq Li "boot " +でブートできるようになります。 .Va LOCAL_PATCHES を適用する際に用いる .Xr patch 1 コマンドに渡す引数。 .It Va LOCAL_SCRIPT .Xr chroot 8 環境で、ローカルパッチ適用直後に実行されるスクリプト。 .It Va MAKE_ISOS これを定義した場合、CD-ROM ステージのディレクトリの内容から、 ブータブル ISO CD-ROM イメージを生成します。 +.It Va NOCDROM +定義した場合、CD-ROM ステージのディレクトリを生成しません。 .It Va NODOC .Dq Li YES と設定した場合、 .Fx ドキュメンテーションプロジェクトの SGML ベースのドキュメントを生成しません。 しかしながら、 .Pa src/share/doc にある最小のドキュメンテーションセットから .Dq doc ディストリビューションが依然として作成されます。 +.It Va NO_FLOPPIES +定義した場合、フロッピディスクイメージファイルを生成しません。 .It Va NOPORTS .Dq Li YES と設定した場合、Ports Collection はリリースから省略されます。 .It Va NOPORTREADMES これを定義した場合、 Ports Collection の各 port に対する readme ファイルを作成しません。 デフォルトの動作は、 .Dq Li "make release" が .Dq Li "make readmes" を .Pa ${CHROOTDIR}/usr/ports から実行するというものであり、莫大な時間を費すことになります。 .It Va PORTSRELEASETAG ports ツリーのチェックアウト時に使用する CVS タグ。 通常、デフォルトで、ports ツリーの先頭が使用されます。 .Va RELEASETAG がリリースタグを指定する場合、 関連付けられたリリースバージョンがデフォルトの代りに使用されます。 .It Va PREFETCHDISTFILES この変数が定義されている場合、 .Xr chroot 8 環境に入る前に、リリース構築に必要な distfile がダウンロードされます。 これが行われるのは、 .Va RELEASEDISTFILES から distfile を取得完了した後であることに注意してください。 .It Va RELEASEDISTFILES ports 用として、リリース構築に必要となる ディストリビューションファイルが存在するディレクトリです。 これにより、低速なリンク経由で distfiles をダウンロードする際に費やされる莫大な時間を 節約することができます。 .It Va RELEASENOUPDATE .Dq Li "make rerelease" の際にこの変数の値を設定した場合、 .Dq Li "cvs update" によるソースコード更新を行ないません。 .It Ev RELEASETAG 構築するリリースに相当する CVS タグ。 未定義の場合、CVS ツリーの .Dv HEAD .Dq ( "-CURRENT スナップショット" ) から構築されます。 .It Va TARGET_ARCH ターゲットとなるマシンプロセッサアーキテクチャ。 この環境変数は .Dq Nm uname Fl p の出力と同じものです。 異なるアーキテクチャ用にクロスビルドするにはこの環境変数を設定してください .It Va TARGET ターゲットとなるハードウェアプラットフォーム。 この環境変数は .Dq Nm uname Fl m の出力と同じものです。 ターゲットアーキテクチャをクロスビルドするのに必要な変数です。 例えば、PC98 マシン用にクロスビルドを行うには .Va TARGET_ARCH Ns = Ns Li i386 と .Va TARGET Ns = Ns Li pc98 が必要です。 .It Va WORLD_FLAGS リリース構築中の世界 (world) 構築時に、この変数の内容が .Xr make 1 に渡されます。 例えば、この変数を .Dq Li "-j 4" に設定すると、 .Xr make 1 に最大 4 プロセスまで同時に実行することを指示することになります。 .El .Sh 関連ファイル .Bl -tag -compact .It Pa /etc/make.conf .It Pa /usr/doc/Makefile .It Pa /usr/doc/share/mk/doc.project.mk .It Pa /usr/ports/Mk/bsd.port.mk .It Pa /usr/ports/Mk/bsd.sites.mk .It Pa /usr/share/examples/etc/make.conf .It Pa /usr/src/Makefile .It Pa /usr/src/Makefile.inc1 .It Pa /usr/src/release/Makefile .It Pa /usr/src/release/${arch}/drivers.conf .It Pa /usr/src/release/${arch}/boot_crunch.conf .It Pa /usr/src/release/${arch}/fixit_crunch.conf .El .Sh 使用例 以下のコマンド列は .Fx 4.5 release を構築する際に使用したものです。 .Bd -literal -offset indent cd /usr cvs co -rRELENG_4_5_0_RELEASE src cd src make buildworld cd release make release CHROOTDIR=/local3/release BUILDNAME=4.5-RELEASE \\ CVSROOT=/host/cvs/usr/home/ncvs RELEASETAG=RELENG_4_5_0_RELEASE .Ed .Pp これらのコマンドを実行すると、FTP ディストリビューション用と、 CD-ROM ディストリビューション用として使える完全なシステムが ディレクトリ .Pa /local3/release/R にできます。 .Pp 次のコマンド列は、ローカルで修正したソースツリーの .Dq "-CURRENT スナップショット" を構築するために使用できます。 .Bd -literal -offset indent cd /usr/src cvs diff -u > /path/to/local.patch make buildworld cd release make release CHROOTDIR=/local3/release BUILDNAME=5.0-CURRENT \\ CVSROOT=/host/cvs/usr/home/ncvs LOCAL_PATCHES=/path/to/local.patch .Ed .Sh 関連項目 .Xr cc 1 , .Xr crunchgen 1 , .Xr cvs 1 , .Xr install 1 , .Xr make 1 , .Xr patch 1 , .Xr uname 1 , .Xr md 4 , .Xr drivers.conf 5 , .Xr make.conf 5 , .Xr build 7 , .Xr ports 7 , .Xr chroot 8 , .Xr mtree 8 .Rs .%T "FreeBSD Release Engineering" .%O http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/ .Re .Rs .%T "FreeBSD Release Engineering of Third Party Packages" .%O http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng-packages/ .Re .Rs .%T "FreeBSD Developers' Handbook" .%O http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook/ .Re .Sh 歴史 .Fx 1.x では、チェックリストを手でチェックしながら、 .An Rod Grimes によりコンパイルされ、リリースが作成されました。 不完全さはさておくにしても、このチェックリストには、 ファイルシステムを使えるようにするためのこまごまとした要求が大量に 含まれており、その実行は拷問としかいいようがないものでした。 .Pp .Fx 2.0 リリースエンジニアリングを続ける中で、 .Pa src/release/Makefile を直して、隔離された無菌環境でリリースを構築する際の退屈な作業の ほとんどを自動的に行なえるようにすることに、顕著な努力が払われました。 .Pp 複数のブランチにまたがる 1000 回近くの改版を経て、 .Pa src/release/Makefile の .Xr cvs 1 ログには、リリースエンジニアたちが経験した苦難のいくばくかを示す 生々しい歴史の記録が刻み込まれています。 .Sh 作者 .Pa src/release/Makefile は、もともとは .An -nosplit .An Rod Grimes , .An Jordan Hubbard , .An Poul-Henning Kamp が書きました。 このマニュアルページは、 .An Murray Stokely Aq murray@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man7/security.7 b/ja_JP.eucJP/man/man7/security.7 index 72c5193bf2..82e3665727 100644 --- a/ja_JP.eucJP/man/man7/security.7 +++ b/ja_JP.eucJP/man/man7/security.7 @@ -1,757 +1,757 @@ .\" Copyright (c) 1998, Matthew Dillon. Terms and conditions are those of .\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in .\" the source tree. .\" -.\" %FreeBSD: src/share/man/man7/security.7,v 1.28 2002/02/28 22:44:15 keramida Exp % +.\" %FreeBSD: src/share/man/man7/security.7,v 1.29 2002/12/12 17:25:57 ru Exp % .\" .\" $FreeBSD$ .Dd September 18, 1999 .Dt SECURITY 7 .Os .Sh 名称 .Nm security .Nd FreeBSD におけるセキュリティ入門 .Sh 解説 セキュリティは、システム管理者とともに始まり、システム管理者と ともに終る機能です。 .Bx マルチユーザシステムは、昔ながらのセキュリティをいくらかは備えて いますが、さらなるセキュリティ機構を組み込んで維持していくことで、ユーザを .Sq 正直に し続ける仕事は、システム管理者の最も大きな責務の一つでしょう。マシンは、 管理者が設定しただけのセキュリティしか示しません。セキュリティに関する 問題は、むしろ、便利さを求める人間との競合問題です。一般に、 .Ux システムは莫大な数のプロセスを同時に実行させることができ、 それも、サーバとして動作するものが多いのです。つまり、外部の何者かが 接続してきて、サーバプロセスと会話することができるということなのです。 昨日まで使われていたミニコンピュータやメインフレームは、今日では デスクトップコンピュータが取って代わり、しかも、それらはネットワークで結ばれて インターネットと接続されるようになりました。これにより、セキュリティは 昔と比べてはるかに大きな問題となっています。 .Pp セキュリティは、タマネギの階層のようなアプローチを通すと最もよく実装できます。 手短に言って、やりたいことは、便利さを損ねない程度にできるだけ多くの 階層を作り、システムに侵入されていないかを注意深く監視することです。 セキュリティの階層を作りすぎたくはありません。作りすぎると、侵入の 検出が妨げられることになるでしょう。どんなセキュリティ機構でも、 侵入の検出をすることが唯一とても重要なことなのですから。 例えば、システムの各バイナリに .Pa schg フラグ ( .Xr chflags 1 参照) を設定するのは大して意味がありません。フラグを設定すると、一時的には バイナリを保護することができますが、侵入してきたクラッカーが、 マシンのセキュリティ機構がクラッカーの侵入を全く検知できなくなるような 変更ではあるが、管理者が容易に検出できるような変更をできなくしてしまう からです。 .Pp システムセキュリティには、さまざまな形での攻撃に対処することも ついて回ります。攻撃には、root を破ろうとはしないが、システムを クラッシュさせたり、さもなければ、システムを使用不能にしたり しようとするものも含まれています。 セキュリティに関する問題は、いくつかのカテゴリに分類することができます。 .Bl -enum -offset indent .It サービス不能攻撃 .It ユーザアカウントにかかる危険 .It アクセス可能なサーバを経由した root 権限にかかる危険 .It ユーザアカウントを通した root 権限にかかる危険 .It 裏口の作成 .El .Pp サービス不能攻撃とは、マシンから必要な資源を奪う行為です。 サービス不能攻撃は、普通は、そのマシンで実行されるサーバや ネットワークスタックを圧倒して、マシンをクラッシュさせたり、 さもなければマシンを使えなくしたりするような力任せの方法です。 サービス不能攻撃のいくつかは、 ネットワークスタックのバグを利用して、パケット一つでマシンを クラッシュさせようとします。後者は、 カーネルにバグ修正を施すことによってのみ修正することができます。 サーバプロセスに対する攻撃は、オプションを適切に指定して、 不利な状況にあるシステムにおいて、サーバプロセスが引き起こす負荷に限界を設けることで 修正することができます。これらに比べると、ネットワークへの力任せの攻撃への 対応はずっと難しくなります。たとえば、偽造パケットによる攻撃 .Pq spoof-packet attack は、インターネットからシステムを切り離す以外の方法で防ぐことは ほとんど不可能です。 それによって、マシンを落としてしまうことはできないかもしれませんが、 インターネット回線をいっぱいにしてしまうことはできます。 .Pp ユーザアカウントを危険に晒してしまう問題は、サービス不能攻撃よりもずっとよくある 問題です。このご時勢でも、自分たちのマシンで標準の telnetd, rlogind, rshd, ftpd サーバを実行させているシステム管理者は多いのです。これらの サーバは、デフォルトでは、暗号化されたコネクション上で動作していません。 その結果、抱えているユーザ数が標準くらいであれば、リモートログイン (そのシステムにログインするには最も普通で便利な方法です) しているユーザのうち一人以上は、パスワードを覗き見られて しまうでしょう。 システム管理者が注意深い人ならば、たとえログインが成功していたとしても、 リモートアクセスログを解析して、疑わしいソースアドレスを探すものです。 .Pp ひとたび攻撃者がユーザアカウントへのアクセス権を入手すると、攻撃者が root の権限を破る可能性があることを仮定するべきです。しかし、 セキュリティを十分維持し、手入れの行き届いたシステムにおいては、 あるユーザアカウントへのアクセスが可能となっても、攻撃者に必ずしも root へのアクセス権を与えるとは限らないのが現実です。この違いは重要です。 というのは、root へのアクセス権がなければ、一般的に、攻撃者は自分の 侵入の痕跡を隠蔽することができませんし、そのユーザのファイルを引っかき回したり、 マシンをクラッシュさせたりできるのがせいぜいです。 ユーザアカウントが危険に晒されるということは、たいへんよく起こることです。 なぜなら、ユーザは、システム管理者ほどには前もって注意を払わない 傾向があるからです。 .Pp システム管理者は、あるマシン上で root の権限を破る方法は、潜在的に 何通りもあるのだということを 心しておかねばなりません。攻撃者が root のパスワードを知ってしまうかも しれません。攻撃者が root の権限で実行されるサーバのバグを見つけ、 ネットワークからそのサーバへ接続して root の権限を破ることができるかも しれません。ひとたびユーザアカウントを破ると、ユーザアカウントから root の権限を破ることが可能であるというバグを持つ suid-root プログラムの 存在を、攻撃者は知っているかもしれません。 あるマシン上で、攻撃者が root の権限を破る方法を知ったとすると、 攻撃者は、裏口を作る必要などないかもしれません。 発見され、ふさがれた root の穴の多くには、クラッカーが侵入した跡を消そうとして たくさん仕事した結果が含まれています。 そのためにこそ、多くのクラッカーは裏口を作るのです。この裏口は、クラッカーの 検出をするのに便利なやり方です。クラッカーに裏口を作らせないようにする ということは、セキュリティにとっては実際には良くないことかもしれません。 なぜなら、そうすることで、クラッカーが最初に侵入してくるために発見した セキュリティホールがふさがるわけではないからです。 .Pp セキュリティを改善する方法は、常に、 .Sq タマネギの皮剥き のように 複数の層のアプローチで実装されるべきです。これらは次のように分類できます。 .Bl -enum -offset indent .It root とスタッフのアカウントの安全性を高める。 .It root の安全性を高める - root 権限のサーバと suid/sgid バイナリ。 .It ユーザアカウントの安全性を高める。 .It パスワードファイルの安全性を高める。 .It カーネルのコア、raw デバイス、ファイルシステムの安全性を高める。 .It システムに対して行なった、不適切な変更をすばやく検出する。 .It 偏執狂的方法。 .El .Sh root アカウントとスタッフアカウントの安全性を高める root のアカウントの安全性を確保しないうちからスタッフのアカウントの安全性を うんぬんしてもしかたがありません。ほとんどのシステムでは、root アカウントに 割り当てたパスワードが 1 つあります。まず最初にすべきことは、 このパスワードは .Sq いつでも 危険に晒されていると仮定することです。 ここでは、root のパスワードを消すべきだと言っているのではありません。 パスワードは、マシンにコンソールからアクセスするのには、ほとんどいつでも 必要なものです。ここで言いたいのは、コンソール以外からは、おそらくは、 .Xr su 1 コマンドを用いてすらパスワードを使えるようにするべきではないということです。 例えば、pty が、 .Sq Pa /etc/ttys ファイルで安全でないものと指定されているのかを確認してください。 そうすることで、telnet や rlogin 越しに root でログインできないようになります。 sshd のような、別のログインサービスを使っている場合でも同様に、 直接 root へログインすることを許していないかどうか確認してください。 アクセスする手段、例えば ftp のようなサービスが、たびたびクラックの手に落ちる ことを考えてみてください。root に直接ログインできるのは、システムコンソール を通したときのみにすべきです。 .Pp システム管理者として、自分は root になれるようにしておかねばならないの はもちろんですから、穴をいくつか空けておきます。しかし、それらの穴を 動作させるには、さらに追加のパスワード認証が必要であるようにして おきます。root でアクセス可能とする方法の一つとして、 適切なスタッフアカウントを ( .Pa /etc/group ) の wheel グループに加えることがあります。 wheel グループに置かれたスタッフメンバには、 .Sq su を使って root になることが許されます。パスワードエントリにおいて、 スタッフメンバを wheel グループを置くことで、スタッフメンバに wheel のアクセス権を与えてはいけません。スタッフメンバのアカウントは .Sq staff に置くべきです。そして .Sq Pa /etc/group ファイルを通して wheel グループに加えるべきです。 実際に root アクセスの必要な staff メンバのみ wheel グループに置くように すべきです。kerberos のような認証方法を使用する場合、root アカウントで .Sq Pa .k5login ファイルを使って、誰も wheel グループに置く必要なく root に .Xr ksu 1 を許すようにすることもできます。 このやり方はよりよい解決策なのかもしれません。なぜなら、wheel のメカニズム では、侵入者がパスワードファイルを手に入れ、staff アカウントのいずれか 1 つを破ることができると、root を破ることがまだできてしまうからです。 wheel のメカニズムを用いる方が、何もしないよりは良いのですが、必ずしも 最も安全な選択肢とは限りません。 .Pp root アカウントの安全性を高める間接的な方法として、別のログインアクセス の方法を用いて、スタッフのアカウントの暗号化パスワードを\ * にして おくことで、スタッフのアカウントの安全性を高めるものがあります。この方法 だと、侵入者がパスワードファイルを盗むことができるかもしれませんが、 スタッフアカウントを破ることはできないでしょう。また、たとえ root が暗号化 パスワードをパスワードファイルに付けていたとしても、間接的には root アカウントも破ることができないでしょう。 スタッフメンバがスタッフアカウントでログインする際には、 .Xr kerberos 1 や .Xr ssh 1 のような、公開鍵 / 秘密鍵の鍵の組を使う 安全性の高いログインの仕組みを使います。kerberos のような仕掛けを使う場合、 一般に、kerberos サーバを実行するマシンと自分のデスクトップ ワークステーションとの安全性を確保しなければなりません。ssh で 公開鍵 / 秘密鍵の組を使う場合、一般に、ログイン元マシン (通常は自分のワークステーション) の安全性を確保しなければなりません。ここで、 .Xr ssh-keygen 1 で公開鍵 / 秘密鍵の組を生成する際、鍵の組をパスワードで防御することにより、 鍵の組への防御層を追加することもできます。スタッフアカウントの パスワードを\ * で外すことができると、管理者自身が設定 した安全性の高い方法でしかスタッフメンバがログインできないことも保証 できます。こうして、多くの侵入者が使う重大なセキュリティの穴 (安全性の低い無関係なマシンからネットワークを覗き見る方法) を塞ぐようなセッションを提供する、安全性の高い暗号化されたコ ネクションを使うことを、スタッフメンバ全員に強制することができ るのです。 .Pp より間接的なセキュリティの仕組みでは、制限の強いサーバから制限の弱い サーバへログインすることを前提としています。例えば、メインマシンで、 様々な種類のサーバを実行させている場合、ワークステーションではそれらの サーバを実行させてはなりません。ワークステーションを十分に 安全にしておくためには、実行するサーバの数を、一つもサーバ が実行されていないというくらいにまでできる限り減らすべきです。 また、パスワードで保護されたスクリーンセーバを走らせておくべきです。 ワークステーションへの物理的アクセスが与えられたとすると、もちろん 言うまでもなく、攻撃者は管理者が設定したいかなる種類のセキュリティ をもうち破ることができるのです。これは、管理者として必ず考えておか ねばならない問題ですが、システム破りの大多数は、ネットワーク経由で リモートから、ワークステーションやサーバへの物理的アクセス手段を持 たない人々によって行われるという事実もまた、念頭に置いておく必要 があります。 .Pp kerberos のような方法を使うことで、スタッフアカウントのパスワードの変更 もしくは停止を一箇所で行なうことと、スタッフメンバがアカウントを持つ すべてのマシンに即時にその効果を及ぼすことが可能となります。スタッフメンバの アカウントが危険に晒されたときに、すべてのマシンでスタッフメンバのパスワードを 即座に変更する能力を過小評価してはいけません。パスワードが分散されている状況では、 N 台のマシンでパスワードを変更すると、てんやわんやの事態を招く可能性が あります。kerberos を使用すると、パスワードの再発行に制限 (re-passwording restriction) を課することもできます。この機能を使うことにより、 ある kerberos チケットをしばらく経つとタイムアウトにすることが できるだけでなく、一定期間 (例えば、1 ヶ月に 1 回) 経つと、ユーザに新しいパスワードを選ぶように要求することもできます。 .Sh root の安全性を高める - root 権限のサーバと suid/sgid バイナリ 用心深いシステム管理者は、自分に必要なサーバプロセスだけを過不足なく 実行させるものです。第三者製のサーバは、よくバグを持っていがちだと いうことに注意して下さい。例えば、古いバージョンの imapd や popper を実行させておくのは、全世界に共通の root の切符を与えてい るようなものです。 自分で注意深くチェックしていないサーバは、決して実行してはいけません。 root で実行させる必要のあるサーバはほとんどありません。例えば、ntalk, comsat, finger デーモンを、特別の「砂場 .Pq sandbox 」ユーザで実行させることができます。 .\"kuma hellofalot of trouble って何や? .\" hell of a lot of trouble みたいですね。;-) (金ん田 '99.02.11) 管理者が膨大な数の問題に直面していないのなら、この「砂場」は完璧では ありませんが、セキュリティに関するタマネギ的アプローチはここでも 成り立ちます。砂場で実行されているサーバプロセスを経由して侵入を 果たすことができたとしても、攻撃者はさらに砂場から外に脱出しなければ なりません。攻撃者が通過せねばならない層の数が増えれば増えるほど、 それだけ攻撃者が侵入に成功する確率が減ります。root の抜け穴は 歴史的に、基本システムサーバも含め、 root 権限で実行されるほとんどすべてのサーバプロセスで発見されています。 ユーザが sshd 経由でのみログインし、 telnetd, rshd, rlogind 経由でログインすること が決してないマシンを稼働させているのであれば、それらのサービスを停止させて下さい。 .Pp .Fx では、今では ntalkd, comsat, finger は砂場で実行させることが デフォルトになっています。次に砂場で実行させるべきプログラムの候補として、 .Xr named 8 があります。デフォルトの rc.conf ファイルには、named を砂場で実行する ために必要な引数がコメントアウトされた形式で含まれています。新しい システムをインストールしているか、それとも既存のシステムを アップグレードして使っているかに依存しますが、砂場として使用する 特別のユーザアカウントがインストールされていないかもしれません。 用心深いシステム管理者であれば、できるだけいつでも研究を怠らず、 サーバに砂場を仕込むものでしょう。 .Pp 通常、砂場で実行しないサーバが他にいくつかあります。sendmail, popper, imapd, ftpd などです。これらのうちいくつかのサーバには代わりとなるも のがありますが、 代わりのものをインストールするには、それだけ多くの仕事が必要になるので、 結局これらを喜んで入れてしまいます (便利さという要素がまたも勝利を収めるわけです)。 これらのサーバは、root 権限で実行せねばならいかもしれません。また、 これらのサーバ経由で生じる侵入 を検出するためには、他の仕組みに頼らなくてはならないかもしれません。 .Pp システムの root 権限の潜在的な穴で他に大きなものとして、システムに インストールされた suid-root/sgid バイナリがあります。 これらのバイナリは、rloginのように、 .Pa /bin , .Pa /sbin , .Pa /usr/bin , .Pa /usr/sbin に存在するものがほとんどです。 100% 安全なものは存在しないとはいえ、システムデフォルトの siud/sgid バイナリは比較的安全といえます。それでもなお、root の穴が これらのバイナリにときおり発見されています。1998 年に Xlib で見つかった root の穴は、xterm (普通、suid 設定されています) を攻撃可能にしていました。 安全である方がよいので、用心深いシステム管理者は残念に思いながらも、 スタッフのみが実行する必要がある suid バイナリは、スタッフのみが アクセス可能な特別なグループに含めるように制限を加え、 誰も使わない suid バイナリは .Pq Li chmod 000 を実行して 片付けてしまうでしょう。 ディスプレイを持たないサーバは、一般的に xterm のバイナリを必要としません。 sgid バイナリもほとんど同様の危険な存在になり得ます。 侵入者が kmem に sgid されたバイナリを破ることができた場合、 その侵入者は .Pa /dev/kmem を読み出すことができるようになります。 つまり、暗号化されたパスワードファイルを読み出すことができる ようになるので、パスワードを持つどのアカウントをも、 .Pq 潜在的な 危険に晒すことになります。 代わりに、kmem グループを破った侵入者が pty を通して送られたキーストロークを 監視できます。キーストロークには、安全な方法でログインするユーザが使っている pty も含まれます。tty グループを破った侵入者は、ほぼ任意のユーザの tty へ 書き込みができます。ユーザが端末プログラムやキーボードをシミュレーション する機能を持ったエミュレータを使っている場合、侵入者は潜在的に、 結局そのユーザとして実行されるコマンドをユーザの端末にエコーさせる データストリームを生成できる可能性があります。 .Sh ユーザアカウントの安全性を高める ユーザアカウントは、普通、安全性を高めることが最も困難です。 スタッフに対して、アテナイのドラコのような厳格なアクセス制限を課し、 スタッフのパスワードを\ * で外すことができるとはいえ、管理者が持ちうる 一般ユーザすべてのアカウントに対して同じことはできないかもしれません。 管理者が十分に統率をとることができるなら、管理者は勝利し、ユーザの アカウントの安全を適切に確保できるかもしれません。それが できないならば、よりいっそう気を配って一般ユーザのアカウントを 監視するよりほかありません。一般ユーザアカウントに対し ssh や kerberos を利用することには、システム管理がさらに増えたり テクニカルサポートが必要になるなどの問題があります。 それでも、暗号化パスワードファイルと比較するとはるかに良い解です。 .Sh パスワードファイルの安全性を高める できるだけ多くのパスワードを\ * で外し、それらのアカウントのアクセスには ssh や kerberos を使うようにすることが、唯一の確実な方法です。たとえ暗号化 パスワードファイル .Pq Pa /etc/spwd.db が root でのみ読み出し可能だとしても、 侵入者がそのファイルの読み出しアクセス権限を得ることは可能かもしれません。 たとえ root の書き込み権限が得られないにしてもです。 .Pp セキュリティスクリプトは常にパスワードファイルの変更をチェックし、報告 するようにすべきです (後述の「ファイルの完全性のチェック」を参照して下さい)。 .Sh カーネルのコア、raw デバイス、ファイルシステムの安全性を高める root の権限を破ると、攻撃者は何でもできますが、 もっと簡便なこともいくつかあります。例えば、最近のカーネルは、 組み込みのパケット覗き見デバイス .Pq packet sniffing device ドライバを備えているものがほとんどです。 .Fx では .Sq bpf デバイスと呼ばれています。侵入者は普通、危険に晒された マシンでパケット覗き見プログラムを実行させようと試みます。侵入者に わざわざそういう機能を提供する必要はないので、ほとんどのシステムで bpf デバイスを組み込むべきではありません。 .Pp bpf デバイスを外し、モジュールローダを無効にしても、 .Pa /dev/mem と .Pa /dev/kmem という悩みの種がまだ残っています。この問題に関しては、侵入者は raw デバイスに書き込むこともできます。 また、 .Xr kldload 8 という、別のカーネル機能があります。 やる気まんまんの侵入者は、KLD モジュールを使って 自分独自の bpf もしくはその他覗き見デバイスを動作中のカーネルに インストールすることができます。 この問題を避けるため、システム管理者は カーネルをより高い安全レベル .Pq securelevel 、少なくとも安全レベル 1 で実行させる必要があります。 sysctl を使って kern.securelevel 変数に安全レベルを設定することが できます。ひとたび安全レベルに 1 を設定すると、 raw デバイスに対する書き込みアクセスは拒否され、例えば .Sq schg のような 特別な chflags フラグが効果を発揮します。これに加えて、 起動時において重要なバイナリ・ディレクトリ・スクリプトファイルなど、 安全レベルが設定されるまでの間に実行されるものすべてに対しても .Sq schg フラグを確実に on にしておく必要があります。この設定をやり過ぎても 構いませんが、より高い安全レベルで動作している場合、システムの アップグレードがはるかに困難になります。システムをより高い安全レベルで 実行させるようにするが、お天道さまの下にあるすべてのシステムファイルと ディレクトリに schg フラグを設定しないという妥協をする方法もあります。 もう一つの可能性としては、単純に / および /usr を読み込み専用でマウント することです。ここで特筆すべきことは、システムを守ろうとしてアテナイのドラコ のように厳しくしすぎると、侵入を検出するという非常に重要なことが できなくなってしまうということです。 .Sh ファイルの完全性のチェック: バイナリ、設定ファイルなど ことこの問題に至ると、システム管理者にできることは、 便利さという要素がその醜い頭を上げない程度に、 コアシステムの設定 / 制御ファイルを防御することだけです。 例えば、/ および /usr にある大部分のファイルに schg ビットを 設定するために chflags を使用するのは、おそらく逆効果でしょう。 なぜなら、そうすることでファイルは保護できますが、侵入を検出 する窓を閉ざしてしまうことにもなるからです。 セキュリティのタマネギの最後の層はおそらく最も重要なもの、すなわち検出です。 セキュリティの残りのものは、突然の侵入を検出できなければ、全然有用では ありません( あるいは、もっと悪ければ、間違った安全性に対する感覚を 植え付けてしまいます )。 タマネギの仕事の半分は、均衡状態にあるとき、攻撃中に検出側に攻撃者を 捕まえるきっかけを与えるため、攻撃者を食い止めるのではなく 侵入を遅らせることなのです。 .Pp 侵入を検出する最も良い方法は、変更されていたり、消えていたり、入れた覚えが ないのに入っているファイルを探すことです。 変更されたファイルを探すのに最も良い方法は、もう一つの ( しばしば中央に集められた ) アクセスが制限されたシステムから行なうものです。 さらに安全でアクセス制限されたシステム上でセキュリティ用スクリプトを書けば、 スクリプトは潜在的なクラッカー達からはほぼ見えなくなります。 これは重要なことです。 最大限に優位に立つために、一般的にビジネスで使う他のマシンへの重要な アクセスは、アクセスの制限されたマシンにやらせなくてはいけません。 普通は、他のマシンからアクセス制限されたマシンへ読み込み専用で NFS エクスポートしたり、アクセス制限されたマシンから他のマシンへ ssh を行なうために、ssh 鍵のペアを作ったりすることで行います。 ネットワークのトラフィックを別にして、NFS は最も可視性のない方法です。 事実上検出されない各クライアント上のファイルシステムを監視できるようになります。 アクセス制限されたサーバがスイッチを通してクライアントに接続する場合、 たいてい NFS がより良い選択肢です。アクセス制限されたサーバがハブを通したり、 いくつかのルーティング層を通したりしてクライアントに接続する場合、 NFS はあまりにも危険な方法かもしれず ( ネットワークの面で )、ssh の方が 認証の道筋は跡となって残りますが、それでもより良い方法かもしれません。 .Pp アクセス制限されたマシンに、少なくとも監視することを前提とした クライアントシステムへの読み込みアクセスをひとたび与えると、 実際に監視するためのスクリプトを書かなくてはいけません。 NFS マウントをすれば、 .Xr find 1 や .Xr md5 1 などの単純なシステムユーティリティでスクリプトを書くことができます。 少なくとも 1 日 1 回、クライアントのファイルを直接 md5 にかけ、 さらにもっと頻繁に .Pa /etc および .Pa /usr/local/etc にあるようなコントロール用ファイルを試験するのが一番です。 試験ファイルは、アクセス制限されたマシンが適性であると知っている、基となる md5 情報と比べて違いが見つかった場合、システム管理者に調べて欲しいと 訴えるようにするべきです。 優れたセキュリティ用スクリプトは、 .Pa / および .Pa /usr などのシステムパーティション上で不適当に suid されたバイナリや、 新たに作成されたファイルや削除されたファイルもチェックするのでしょう。 .Pp NFS ではなく、ssh を使用する場合は、セキュリティ用スクリプトを書くのはずっと 難しいことです。スクリプトをクライアントから見えるようにし、 動かすためには、クライアントに対して .Pa scp を必ず行わなくてはいけません。 そして、安全のため、スクリプトが使うバイナリ ( find など ) を scp する必要も あります。クライアントの ssh デーモンはすでに危険に晒されているかもしれません。 以上のことから、安全でないリンク上の場合は ssh は必要かもしれませんが、 ssh を扱うのはとても大変なことです。 .Pp 優れたセキュリティ用スクリプトは、ユーザやスタッフメンバの アクセス設定ファイルもチェックするものです。 .Pa .rhosts , .Pa .shosts , .Pa .ssh/authorized_keys などがそれですが、MD5 のチェックの範囲外になってしまうかもしれません。 .Pp ユーザ用のディスク容量が非常に大きい場合は、パーティション上の各ファイルを 見て回るのに大変な時間がかかるかもしれません。この場合は、マウントフラグを 設定して、このパーティションに suid されたバイナリやデバイスを置けないように するのが良い考えです。 .Sq nodev および .Sq nosuid オプション ( .Xr mount 8 参照) が調べたいものでしょう。私なら、ともかくも週に 1 度はファイルシステムを スキャンするでしょう。なぜなら、この層での目的は、侵入が意味があるかどうかに 関わらず、侵入を検出することだからです。 .Pp プロセスアカウンティング ( .Xr accton 8 参照) は、比較的オーバヘッドの低いオペレーティングシステムの機能で、 マシンに侵入されてしまった後の評価の仕組みとして使用することをお勧め します。 侵入を受けた後でも当該ファイルが無傷である場合に、 侵入者が実際にどのようにしてシステムに侵入したかを 追跡するのに特に有益です。 .Pp 最後に、セキュリティスクリプトはログファイルを処理するようにし、 ログファイル自体もできるだけ安全性の高い方法で .Sq リモート syslog は極めて有益になり得ます 生成するようにすべきです。侵入者は自分の侵入の痕跡を覆い隠そう としますし、また、ログファイルはシステム管理者が最初の侵入の時 刻と方法を追跡してゆくために極めて重要です。 ログファイルを永久に残しておくための 1 つの方法は、システムコンソールを シリアルポートにつないで走らせ、コンソールを監視している安全なマシンを通して 絶えず情報を集めることです。 .Sh 偏執狂的方法 多少偏執狂的になっても決して悪いことにはなりません。原則的に、 システム管理者は、便利さに影響を与えない範囲でいくつでもセキュリティ 機能を追加することができます。また、いくらか考慮した結果、便利さに 影響を与えるセキュリティ機能を追加することもできます。 もっと重要なことには、セキュリティ管理者とは少し喧嘩になる はずなのですが、もしあなたが、このマニュアルページに書かれている 勧告をそのまま使用したりした場合は、 予想されるクラッカーはやはりこのマニュアルを読んでいるわけですから、 防御策を渡してしまうことになります。 .Sh サービス不能攻撃 (D.O.S. attack) についての特記事項 このセクションではサービス不能攻撃を扱います。サービス不能攻撃は、普通は、 パケット攻撃です。ネットワークを飽和させる最先端の偽造パケット .Pq spoofed packet 攻撃に対してシステム管理者が打てる手はそれほど多く ありませんが、一般的に、その種の攻撃によってサーバがダウン しないことを確実にすることで、被害をある限度に食い止める ことはできます。 .Bl -enum -offset indent .It サーバの fork の制限 .It 踏み台攻撃の制限 .Pq ICMP 応答攻撃、ping broadcast など .It カーネルの経路情報のキャッシュ .El .Pp 普通に見られるサービス不能攻撃に、fork するサーバプロセスに対する ものがあります。これは、サーバにプロセス・ファイル記述子・メモリを 食い尽くさせて、マシンを殺そうとするものです。 inetd ( .Xr inetd 8 参照) には、この種の攻撃を制限するオプションがいくつかあります。マシンが ダウンすることを防止することは可能ですが、この種の攻撃によりサービスが 崩壊することを防止することは一般的に言ってできないことに注意する必要が あります。inetd のマニュアルページを注意深く読んで下さい。特に、 .Fl c , .Fl C , .Fl R オプションに注意して下さい。IP 偽造攻撃 (spoofed-IP attack) は inetd の .Fl C オプションの裏をかけるので、一般にオプションを 組み合わせて使用するべきであることに注意して下さい。スタンドアロンサーバ の中には、自分自身で fork を制限するパラメータを持っているものがあります。 .Pp sendmail には、 .Fl OMaxDaemonChildren オプションがあります。負荷には遅れがあるので、 sendmail の負荷に限界を設けるオプションを使うよりも、 このオプションを使う方がまともに動作する可能性ははるかに高いです。 sendmail の実行を開始する際に、 .Cm MaxDaemonChildren パラメータを設定するべきです。その値は、 通常見込まれる負荷を扱える程度に十分高いが、 それだけの数の sendmail を操作しようとすると マシンが卒倒してしまうほどには高くないような値に設定するべきです。 sendmail をキュー処理モード .Pq Fl ODeliveryMode=queued で実行することや、 sendmail デーモン .Pq Cm sendmail -bd をキュー処理用プロセス .Pq Cm sendmail -q15m と別に実行することも、用心深いことと言えます。それでもなおリアルタイムでの 配送を望むのであれば、 .Fl q1m のようにすることで、キュー処理をはるかに短い時間間隔で 行うことができます。いずれにしても、 .Cm MaxDaemonChildren オプションに 合理的な値を確実に指定して、sendmail がなだれをうって失敗することが ないようにして下さい。 .Pp syslogd は直接攻撃される可能性があるので、可能ならばいつでも .Fl s オプションを用いることを強く推奨します。これができないなら、 .Fl a オプションを使って下さい。 .Pp tcpwrapper の逆 identd などの接続返し (connect-back) を行うサービスに ついては十分注意を払うようにするべきです。これらは直接攻撃を受ける可能性が あります。こういう事情があるので、tcpwrapper の逆 ident 機能を使おうとは 思わないのが一般的です。 .Pp 境界ルータのところでファイアウォールを設けて、外部からのアクセスに対して 内部サービスを防御するという考えは実によいものです。この考えは、LAN の外部 からの飽和攻撃を防ぐことにあり、root ネットワークベースの root 権限への攻撃から内部サービスを防御することには、あまり考慮を払って いません。ファイアウォールは常に排他的に設定して下さい。つまり、 「ポート A, B, C, D と M から Z まで .Eo * 以外 .Ec * のすべてに防火壁を設ける」というふうにです。 このようにすることで、named (ゾーンのプライマリである場合), ntalkd, sendmail など、インターネットにアクセスを提供するサービス として特に指定するもの以外の、小さい番号のポートすべてをファイアウォールで 防御することができます。ファイアウォールをこの他のやり方、つまり 包含的もしくは受容的なファイアウォールとして設定しようとする場合、 .Sq close することを忘れてしまうサービスがいくつか出てきたり、新しい内部サービスを 追加したのにファイアウォールの更新を忘れたりする可能性がよく出てきます。 ファイアウォール上の大きい番号のポートを開けておいて、小さい番号のポートを 危険に晒すことなく受容的な動作を許すことができます。 .Fx では、net.inet.ip.portrange への sysctl .Pq Li "sysctl -a | fgrep portrange" をいろいろ使用することで、 動的バインドに使用されるポート番号の範囲を制御できることを記憶にとどめて おいて下さい。これによりファイアウォールの設定の複雑性を緩和できます。 私は、ファイアウォールに通常のfirst/last の範囲として、 4000 から 5000 を、 高位ポートの範囲として、49152 から 65535 を使用しています。そして、 (いくつかのインターネットアクセス可能なポートを ブロックから除外するのはもちろんですが) 4000 より下のすべてをブロックしています。 .Pp また別のありふれたサービス不能攻撃として、踏み台攻撃 (springboard attack) と呼ばれるものがあります。これは、サーバが自分自身、ローカルネットワーク、 そして他のマシンを過負荷に追い込むような応答を生成させる方法でサーバを 攻撃します。この種の攻撃の中で最もありふれたものは、ICMP PING BROADCAST 攻撃があります。攻撃者は、実際に攻撃したいマシンのアドレスをソース アドレスに設定した ping パケットを偽造して、対象の LAN の ブロードキャストアドレスに向けてパケットを送信します。境界にあるルータが ブロードキャストアドレスに対する ping パケットを握り潰すように設定されていない 場合、LANは、詐称されたソースアドレスに向けて応答パケットを生成するはめになり、犠牲となるマシンが飽和するところまで行ってしまいます。攻撃者が同じトリックを 異なるネットワーク上のいくつものブロードキャスト アドレスに対して同時に使用した場合、とくにひどいことになります。 これまでに、120 メガビット以上のブロードキャスト攻撃が観測されています。 2 番目の踏み台攻撃は、ICMP エラー報告の仕掛けを狙うものです。ICMP エラー 応答を生成するパケットを生成することにより、攻撃者はサーバの 受信ネットワークを飽和させることができ、同時に、サーバが送信 ネットワークを ICMP 応答で飽和させるようにすることができます。 mbuf を消費し尽くさせることにより、この種の攻撃でサーバを クラッシュさせることも可能です。サーバの ICMP 応答生成が速過ぎて、 ICMP 応答の送信が追い付かない場合、とくにひどいことになります。 .Fx カーネルには、この種の攻撃の効果を抑制する ICMP_BANDLIM と 呼ばれる新しいコンパイルオプションがあります。 3つめの主要なクラスに属す踏み台攻撃は、udp echo サービスのような、 ある種の内部 inetd サービスに関連するものです。攻撃者は、単に ソースアドレスがサーバ A の echo ポートであり、ディスティネーション アドレスがサーバ B の echo ポートであるかのように UDP パケットを 偽造します。ここでサーバ A, B はともに自分の LAN に接続されています。 この 2 つのサーバは、この一つのパケットを両者の間で互いに相手に対して 打ち返しあいます。このようにしてパケットをいくつか注入するだけで、 攻撃者は両方のサーバと LAN を過負荷状態にすることができます。 同様の問題が内部 chargen ポートにも存在します。有能なシステム管理者は この手の inetd 内部テストサービスのすべてを無効にしておくものです。 .Pp 偽造パケット攻撃は、カーネルの経路情報キャッシュに過負荷を生じさせるために 用いられることもあります。net.inet.ip.rtexpire, rtminexpire, rtmaxcache の sysctl パラメータを参照して下さい。でたらめなソース IP を用いた この偽造パケット攻撃により、カーネルは、一時的なキャッシュ経路を 経路情報テーブルに生成します。これは .Sq netstat -rna \&| fgrep W3 で見ることができます。これらの経路は、普通は 1600 秒程度でタイムアウトに なります。カーネルがキャッシュ経路テーブルが大きくなり過ぎたことを 検知すると、カーネルは動的に rtexpire を減らしますが、rtminexpire より 小さくなるようには決して減らしません。ここに問題が 2 つあります。 (1) 負荷の軽いサーバが突然攻撃された場合、カーネルが十分素早く反応 できないこと。(2) カーネルが攻撃に耐え生き延びられるほど十分 rtminexpire が低く設定されていないこと。の2つです。 自分のサーバが T3 もしくはそれより 良質の回線でインターネットに接続されている場合、 .Xr sysctl 8 を用いて rtexpire と rtminexpire とを手動で上書きしておくことが思慮深いこと といえます。 (自分のマシンをクラッシュさせたくないのであれば :-)) どちらか一方でも 0 に は決してしないで下さい。両パラメータを 2 秒に設定すれば、 攻撃から経路情報テーブルを守るには十分でしょう。 .Sh kerberos および ssh を用いたアクセスの問題 もしあなたが、kerberos および ssh を使用したいのだとしたら、両者に関して 言っておく必要のある問題がいくつかあります。 kerberos V は大変優れた認証プロトコルですが、kerberos 処理された telnet や rlogin は、バイナリストリームを扱うのに不向きになってしまうようなバグがあります。 さらに、デフォルトでは、kerberos は .Fl x オプションを使わない限りセッションを暗号化してくれません。 ssh では、デフォルトですべてを暗号化してくれます。 .Pp ssh はあらゆる場面でとても良く働いてくれます。ただし、 暗号鍵を送ってしまう場合を除けばです。これはつまり、暗号鍵を持った安全な ワークステーションがあって、この暗号鍵で残りのシステムとアクセスできる ようになっている場合では、安全でないマシンへ ssh を行なう時に暗号鍵が 見えてしまうということです。実際の鍵そのものが見えてしまうわけでは ありませんが、ssh は、login を持続させるために配送用ポートを作ります。 クラッカーが安全でないマシンの root を破ると、クラッカーは、 このポートを使って暗号鍵を取得し、暗号鍵でロックの外れる他のマシンへの アクセスを得ます。 .Pp staff のログインには、kerberos を組み合せた ssh を使用することを勧めます。 ssh は、kerberos と一緒にコンパイルできます。こうすると、見えて しまうかもしれない ssh 鍵をあまりあてにしないで良いようになります。 また、それと同時に、kerberos 経由でパスワードを保護することもできます。 ssh 鍵は、安全なマシンからの自動化されたタスク (kerberos では不向きな ものなど ) 用のみに使用するべきです。また、ssh の設定で ssh 鍵を送らないようにするか、あるいは、 .Pa authorized_keys ファイル中で .Pa "from=IP/DOMAIN" オプションを使用して、特定のマシンからログインしてきたもののみに 有効になる鍵を ssh が生成できるようにすることも勧めます。 .Sh 関連項目 .Xr chflags 1 , .Xr find 1 , .Xr kerberos 1 , .Xr md5 1 , .Xr netstat 1 , .Xr openssl 1 , .Xr ssh 1 , .Xr xdm 1 , .Xr group 5 , .Xr ttys 5 , .Xr accton 8 , .Xr init 8 , .Xr sshd 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr vipw 8 .Sh 歴史 .Nm マニュアルページは、もともと .An Matthew Dillon によって書かれました。 最初に現れたのは、 .Fx 3.1 で 1998 年 12 月のことです。 .\" translated by Norihiro Kumagai, 98-12-29 diff --git a/ja_JP.eucJP/man/man7/tuning.7 b/ja_JP.eucJP/man/man7/tuning.7 index b3f5ec6375..8eab79315d 100644 --- a/ja_JP.eucJP/man/man7/tuning.7 +++ b/ja_JP.eucJP/man/man7/tuning.7 @@ -1,903 +1,909 @@ .\" Copyright (c) 2001, Matthew Dillon. Terms and conditions are those of .\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in .\" the source tree. .\" -.\" %FreeBSD: src/share/man/man7/tuning.7,v 1.53 2002/08/29 20:34:06 dillon Exp % +.\" %FreeBSD: src/share/man/man7/tuning.7,v 1.55 2002/12/12 17:25:57 ru Exp % .\" .\" $FreeBSD$ .Dd June 25, 2002 .Dt TUNING 7 .Os .Sh 名称 .Nm tuning .Nd FreeBSD における性能チューニング .Sh システム設定 - disklabel, newfs, tunefs, スワップ .Xr disklabel 8 または .Xr sysinstall 8 を使ってハードディスク上にファイルシステムをレイアウトする場合、 ディスクの内周トラックよりも外周トラックのほうがずっと速くデータを 転送できることを意識することが重要です。 この利点を生かすには、 小さいファイルシステムやスワップを外周トラックに近いほうから 詰めていくべきです。 より大きいファイルシステムは内周へ近いほうへ詰めていき、 最も大きいファイルシステムを最後にします。 後でマシンを増強した時にシステム標準のファイルシステムの大きさを 変更しなくて済むような大きさに決めることが重要です。 私は大抵、順番にルートパーティションに 128M、スワップに 1G、 .Pa /var に 128M、 .Pa /var/tmp に 128M、 .Pa /usr に 3G、 そして残りを .Pa /home に割り当てます。 .Pp 典型的にはメインメモリの約 2 倍のスワップスペースを用意すべきです。 RAM がそれほど多くない場合は、一般にもっとスワップが必要でしょう。 256M より小さいスワップを設定するのは奨められません。 スワップ パーティションの大きさを決めるときは将来のメモリ増設のことを 考えておくべきです。 カーネルの VM ページングアルゴリズムは、スワップの大きさが メインメモリの少なくとも 2 倍ある場合に最高の 性能が出るようにチューンされています。 スワップを小さくしすぎると、 VM ページ走査コードが効率的に動かなくなります。 メモリをさらに追加した時も同様です。 最後に、複数の SCSI ディスク (あるいは異なるコントローラ上にある 複数の IDE ディスク) を備えた大規模なシステムにおいては、 それぞれのドライブ (最大 4 ドライブ) にスワップを置くことを強く推奨します。 各ドライブ上のスワップパーティションがほぼ同じ大きさになる ようにしてください。 カーネルは任意の大きさを扱うことができますが、内部のデータ構造は 最大のスワップパーティションのものの 4 倍の大きさになってしまいます。 スワップパーティションをだいたい同じ大きさにすることで、 カーネルは最適な方法でスワップ空間を N 台のディスクに対し ストライピングします。 少々のやりすぎを気にする必要はありません。 スワップ空間は .Ux が優雅に動作するためのものです。 普段それほどスワップを使っていなくても、 プログラムの暴走で強制的にリブートしてしまう前に、 回復作業をするための時間稼ぎになります。 .Pp .Pa /var パーティションをどれだけの大きさにするかは、そのマシンを 何に使うかということに大きく依存します。 このパーティションは主にメールボックスやプリントスプール、 ログファイルの保存場所に使われます。 .Pa /var/log を別のパーティションにする人もいます (しかし、パーティション ID を 消費しないほうが良い極端な場合は例外です)。 メールサーバやプリントサーバ、あるいは 訪問数が非常に多い Web サーバとしてマシンが動作するなら、 極めて大きいパーティション \(en おそらく 1 ギガバイト以上 \(en を 作成することを考えるべきでしょう。 ログファイルの保存に必要な大きさは、小さく見積もられがちです。 .Pp .Pa /var/tmp の大きさは、テンポラリファイルの類が どれだけ使われる必要があるかで決まります。 最低でも 128M にすることを推奨します。 また sysinstall は .Pa /tmp ディレクトリも作成します。 テンポラリファイル領域専用に 1 つのパーティションを 割り当てることは重要で、2 つの理由があります: クラッシュ時のファイルシステムの破壊の可能性を 減らすのと、 .Oo Pa /var Oc Ns Pa /tmp を一杯にしてしまう ような暴走プロセスが、さらに重要なサブシステム (メールやログ等) に影響を与える可能性を減らすためです。 .Oo Pa /var Oc Ns Pa /tmp が一杯になってしまうのはよくある問題です。 .Pp かつては .Pa /tmp と .Pa /var/tmp の間には違いがありましたが、 .Pa /var (と .Pa /var/tmp ) の導入によってプログラマは大変混乱し、 今日では両方がでたらめに使われています。 つまりこの 2 つは実際には区別することができません。 したがって、1 つのテンポラリディレクトリだけにしてして、 -他の tmp ディレクトリからここへソフトリンクを張ることは意味があります。 +他の +.Pa tmp +ディレクトリからここへソフトリンクを張ることは意味があります。 どのように .Pa /tmp を扱ったとしても、 それがルートパーティションにあるのは好ましくないでしょう。 一杯になったり、クラッシュやリブートにより破壊される 可能性があるからです。 .Pp .Pa /usr パーティションはシステムをサポートするために 必要なファイルの大部分を持っており、そのサブディレクトリ .Pa /usr/local は .Xr ports 7 階層からインストールされるファイルの大部分が置かれます。 ports をあまり使わず、システムのソース .Pq Pa /usr/src を保持するつもりがなければ .Pa /usr は 1 ギガバイトで十分でしょう。 しかし、大量の ports (特にウィンドウマネージャや Linux エミュレーションされるバイナリ) をインストールする場合は、 少なくとも 2 ギガバイトの .Pa /usr を推奨します。 さらに、システムのソースを保持するつもりであれば、3 ギガバイトの .Pa /usr を推奨します。 このパーティションに対して必要な領域の大きさを過小評価 しないでください。 これは緩やかに成長し、驚かされることになります ! .Pp .Pa /home パーティションはユーザ固有のデータを保持するのに使われます。 私は大抵ディスクの残りを使います。 .Pp 何故 パーティションを切るのでしょう ? 1 つの大きな .Pa / パーティションを作るだけで良いのではないでしょうか ? そうすれば小さすぎないかどうか気にする必要はないのに ! はい、その考えが良くないのは、いくつか理由があります。 1 つめは、それぞれのパーティションは運用上の性格が 異なるのですが、それらを分離することでファイルシステムに対し その性格に適したチューンをすることが可能になるからです。 例えばルートパーティションや .Pa /usr パーティションはほとんど読み込みであり、ほとんど書き込みがありません。 一方で .Pa /var や .Pa /var/tmp に対しては大量の読み込みや書き込みがあるでしょう。 システムをうまく分割することで、書き込みが多いパーティションの破壊に よる被害が、ほとんど読み込みのみのパーティションに及ばないようします。 加えて、書き込みが多いパーティションをディスクの端 (すなわちパーティションテーブルにおいて、 本当に大きなパーティションの後ろではなく、前の方) の方に置くことで、そのパーティションについて性能が向上します。 より大きなパーティションについても入出力性能が必要なのも確かですが、 .Pa /var をディスクの端に置くと大きな改善が可能であるのに対し、 巨大なパーティションをディスクの端に置いてもそれほど性能の 改善にはつながりません。 最後は安全性に関わることです。 小さく、簡潔な、本質的に読み込みのみの ルートパーティションとすることで、クラッシュを生き延びるチャンスを 大きくすることができます。 .Pp システムを正しく分割することで、 .Xr newfs 8 や .Xr tunefs 8 に与えるパラメータをチューンすることも可能になります。 .Fn newfs のチューニングにはさらに経験が必要ですが、かなりの性能改善につながります。 比較的安全にチューンできる 3 つのパラメータがあります: .Em blocksize , .Em bytes/inode , .Em cylinders/group です。 .Pp .Fx は 8K または 16K のファイルシステムブロックサイズを使用した時に 最高の性能が得られます。 デフォルトは 16K であり、 ほとんどのアプリケーションで良い結果となりますが、 大きなファイルにランダムアクセスするアプリケーション (データベースサーバソフトウェア等) は例外です。 このようなアプリケーションでは、 小さなブロックサイズで良い結果となる傾向がありますが、 最近のディスクの特性においては、 小さなブロックサイズの使用は考慮に値しないでしょう。 16K より大きなブロックサイズを使用すると バッファキャッシュの断片化を招き、性能が低下します。 .Pp デフォルトは、 多大な inode を必要とするファイルシステムや、 多大な小ファイルを保持することを意図したファイルシステムには 向かないかもしれません。 このようなファイルシステムは、 8K または 4K のブロックサイズで作成されるべきです。 これはまた、小さなフラグメントサイズを指定する必要があります。 常にブロックサイズの 1/8 のフラグメントサイズにすることを推奨します (他のフラグメントサイズの割合ではあまりテストされていません)。 この場合の .Xr newfs 8 オプションは .Dq Li "newfs -f 1024 -b 8192 ..." となるでしょう。 .Pp 大きなパーティションに、データベースファイルのような 少数の大きなファイルを置くのであれば、 .Em bytes/inode の比率を増やすことができます。 これは、そのパーティションの inode の数 (ファイルやディレクトリの最大の数) を減らします。 inode の数を減らすことで、クラッシュ後の .Xr fsck 8 による修復時間を大幅に減らすことができます。 本当にこのパーティションに大きなファイルを置くのでない限り、 このオプションを使わないでください。 空き領域が大量にあるのにファイルを収容できなくなるかもしれません。 bytes/inode は、32768 か 65536 か 262144 とすることが推奨されます。 もっと大きな値にすることができますが、 .Xr fsck 8 による修復時間を増やすだけでしょう。 例えば、 .Dq Li "newfs -i 32768 ..." のようにして値を与えます。 .Pp .Xr tunefs 8 はファイルシステムをさらにチューンするのに使えます。 このコマンドは、シングルユーザモードで実行することができ、 ファイルシステムの再フォーマットは不要です。 しかし、おそらく最も誤って使用されているプログラムでしょう。 多くの人はファイルシステムの利用可能な空き領域を増やそうとして、 min-free 比率を 0 に設定します。 これはファイルシステムの猛烈な断片化につながるので、推奨されません。 ここで、唯一本当に価値がある .Xr tunefs 8 のオプションは、 .Dq Li "tunefs -n enable /filesystem" として .Em softupdates を有効にすることです (注意: .Fx 4.5 以降では .Xr newfs 8 に .Fl U オプションを与えることで softupdates を有効に することができます。 そして .Xr sysinstall 8 は、ルート以外のファイルシステムの softupdates を標準で 自動的に有効にします)。 softupdates はメタデータの性能、 主にファイルの作成と削除の性能を劇的に改善します。 大部分のファイルシステムで softupdates を有効にすることを推奨します。 しかしながら、ファイルシステムで softupdates を使うかどうか判断する際に 気をつけるべき 2 つの制限があります。 1 つめは、softupdates はクラッシュ時における ファイルシステムの一貫性は保証しますが、 未反映の物理ディスク書き込みより何秒か (1 分になることもあります!) おそらく遅れていることです。 クラッシュした場合、より多くの成果が消えてしまうかもしれません。 2 つめは、softupdates はファイルシステムブロックを解放するのを遅らせる ということです。 あるファイルシステム (例えばルートファイルシステム) が満杯近くの時に それに対する大規模な更新、たとえば .Dq Li "make installworld" をすると、空き領域を使い果たして更新が失敗してしまうことがあります。 そのため標準的なインストールではルートファイルシステムの softupdates を 有効にしません。 ルートファイルシステムは滅多に書き込まれませんので、性能上の損失はありません。 .Pp .Xr mount 8 実行時のいくつかのオプションはファイルシステムをチューンするのに役立ちます。 最も明らかで、しかも最も危険なのは .Cm async です。 これは決して使わないでください。 大変危険です。 比較的危険度が低く、より役に立つ .Xr mount 8 のオプションは .Cm noatime です。 通常 .Ux ファイルシステムは、ファイルやディレクトリにアクセスが あった場合は常に、その最終アクセス時刻を更新します。 .Fx では、この動作は遅延書き込みで行なわれ、 通常は大した負荷にはなりません。 しかし、大量のファイルが連続してアクセスされた場合、 バッファキャッシュがアクセス時刻の更新で汚染され 大きな負荷となります。 例えば、高負荷の web サイトや大量の読者を抱えるニューズサーバ では、この .Xr mount 8 のオプションで大きなパーティションにおける アクセス時刻の更新を停止することが考えられます。 根拠もなく、すべての場所でアクセス時刻の更新を停止しないでください。 例えば、 .Pa /var ファイルシステムは、慣習的にメールボックスを保持し、 新規メールのメールボックス中の有無判定に atime (および mtime) が使用されます。 読み込み専用パーティション、 .Pa / や .Pa /usr では、atime をオンにしておいた方が良いでしょう。 システムユーティリティには、atime フィールドを使用するものがあるので、 .Pa / では特に有用です。 .Sh ディスクのストライピング 大きなシステムでは、いくつかのドライブのパーティションを互いに ストライピングして、全体として巨大なパーティションを作ることもあります。 ストライピングは、入出力操作を複数のディスクに振り分けることで ファイルシステムの性能を向上させることができます。 .Xr vinum 8 および .Xr ccdconfig 8 ユーティリティは、シンプルなストライピングされたファイルシステムを 作るのに使われます。 一般に、ルートや .Pa /var/tmp のような小さなパーティション、 あるいは .Pa /usr のような本質的に読み込みのみのパーティションを ストライピングしても時間の無駄にしかなりません。 本当に入出力性能を必要とするパーティションのみをストライピングするべきです。 典型的には .Pa /var や .Pa /home あるいはデータベースや Web ページを 保持するカスタムパーティションです。 適切なストライプサイズを選ぶことも重要です。 ファイルシステムはメタデータを 2 の累乗の境界で格納する傾向にあり、 大抵はシークを増やすのではなく減らしたいでしょう。 これは、1152 セクタといったような、 シーケンシャルな I/O が両方のディスクをシークしないように、 かつメタデータが単一のディスクに集中するのではなく両方に分散するような、 中心を外れた (off-centered) 大きな ストライプサイズにしたい、ということを意味します。 本当に性能が必要なら、 .Fx がサポートする本物のハードウェア RAID コントローラを 使うことを勧めます。 .Sh sysctl によるチューニング .Xr sysctl 8 変数は、実行時に、システムの動作のモニタおよび制御を可能とします。 sysctl には、単にシステムの動作を報告するものもありますが、 システムの動作を変更するものもあります。 ブート時に .Xr rc.conf 5 を使用して設定可能なものもありますが、大部分は .Xr sysctl.conf 5 で設定可能です。 システムには数百の .Xr sysctl 8 変数が存在します。 そのなかには、チューニングの候補のように見えますが本当は そうでないものも多く含まれます。 この文書では システムに最も大きな影響を与えるものだけを扱います。 .Pp .Va kern.ipc.shm_use_phys sysctl は、デフォルトが 0 (オフ) であり、 0 (オフ) または 1 (オン) にセットすることができます。 このパラメータを 1 にセットすると、全ての System V 共有メモリセグメントが ページング不可の物理メモリにマップされます。 これは、(A) 大量 (数百) のプロセス間で少量の共有メモリを マッピングしているか、(B) 任意個のプロセス間で大量の共有メモリを マッピングしている、のいずれかの場合に効果があります。 この機能は、共有メモリをスワップ不可にすることで、 共有メモリをコアに結び付ける時に生じる、 カーネルにおける内部のメモリ管理によるページ追跡 オーバヘッドをかなり減らします。 .Pp .Va vfs.vmiodirenable sysctl は、デフォルトは 0 (オフ) であり (しかし近いうちにデフォルトが 1 に なるでしょう)、0 (オフ) または 1 (オン) にセットすることができます。 このパラメータは、ディレクトリがシステムによってどのように キャッシュされるかを制御します。 ほとんどのディレクトリは小さく、 ファイルシステムにおいては単一フラグメント (典型的には 1K) であり、バッファキャッシュではさらに小さくなっています (典型的には 512 バイト)。 しかし、デフォルトモードで動作している時は、 大量のメモリを搭載していても バッファキャッシュは固定数のディレクトリしかキャッシュしません。 この sysctl をオンにすると、バッファキャッシュが VM ページキャッシュを、ディレクトリをキャッシュするために使うことを可能に します。 これによる利点は、全てのメモリがディレクトリを キャッシュするのに使えるようになるということです。 欠点は、キャッシュに使われる最小のメモリの大きさが 512 バイトではなく 物理ページサイズ (大抵は 4K) になることです。 メモリに制約があるシステムでは、 このオプションをオフにすることを推奨します。 一方、オンにすると、多数のファイルを操作するサービスの性能が向上します。 そのようなサービスには、web キャッシュや、大規模なメールシステム、 ニューズシステムなどが含まれます。 このオプションは一般に メモリを消費しますが、性能を削減することはありません。 ただし実験して調べてみるべきでしょう。 .Pp .Va vfs.write_behind sysctl は、デフォルトで 1 (オン) です。 これによって、 ファイルシステムからメディアへの書き込みが、クラスタ分が集まった時に 発行されるようになります。 そのような状況は、典型的には、大きな シーケンシャルファイルへ書き込んでいる時に起こります。 これは、I/O パフォーマンスに寄与しないであろう場合に、 ダーティなバッファでバッファキャッシュが飽和するのを避けるという アイデアです。 しかしながら、これによってプロセスが止まるかも しれないので、状況によっては この機能を切りたいと望むかもしれません。 .Pp .Va vfs.hirunningspace sysctl は、任意の時点においてシステム全体で、 ディスクコントローラのキューに入れて未完了状態にして良い、 書き込み I/O の量を決定します。 通常、デフォルト値で十分ですが、 ディスクをたくさん持つマシンでは 4、5メガバイトに増やしたくなるかもしれません。 値を大きくしすぎる (バッファキャッシュの 書き込みの閾値を超えて) と、クラスタリングの効果が極端に悪くなる 可能性があるので注意してください。 この値を思いつきで大きくしては いけません! また書き込みのキュー値を大きくすると、同時に発生した 読みだしが待たされるかもしれません。 .Pp 他にもバッファキャッシュと VM ページキャッシュに関連した、様々な sysctl が 存在します。 これらを変更することは推奨されません。 .Fx 4.3 について言えば、VM システムは自分自身のチューニングに関して大変良い 仕事をしています。 .Pp .Va net.inet.tcp.sendspace sysctl と .Va net.inet.tcp.recvspace sysctl は、ネットワークに関連するアプリケーションを 稼動している場合は特に重要です。 これは、TCP コネクションの 送信および受信バッファ領域の大きさを調節します。 デフォルトでは、送信バッファは 32K で、受信バッファは 64K です。 このデフォルトを増やすことで 各コネクションについてカーネルメモリがさらに消費されますが、 帯域幅の利用率が改善することがあります。 同時に数百とか数千のコネクションを扱っている場合、 このデフォルトを増やすことは推奨されません。 失速してしまったコネクションが蓄積することで、 システムがメモリをすぐに使い果たしてしまうからです。 しかし、少ない数のコネクションについて広い帯域幅が必要ならば、 特にギガビットイーサネットの場合、このデフォルトを大幅に増やす ことができます。 入力データと出力データのバッファを個別に調整することができます。 たとえば、主に web サービスをしているマシンならば recvspace を 減らすことで、それほど大量にカーネルメモリを消費せずに sendspace を増やすことができます。 経路表 ( .Xr route 8 を参照 ) に対しては、経路に特化した送受信バッファを導入することが できるということに注意してください。 .Pp 付加的な管理ツールとして、ファイアウォールルールにおいて パイプ (pipe) を使うことで ( .Xr ipfw 8 を参照)、特定の IP ブロックやポートへ行く、あるいはそこから 来る帯域幅を制限することができます。 例えば T1 回線を持っている場合、 web トラフィックは回線の 70% に制限し、残りをメールと インタラクティブな用途に使いたいと思うでしょう。 通常高い負荷の web サーバは、ネットワーク回線が 使い切られていても、他のサービスに大きな遅延を与えることは ありませんが、制限をかけることは物事を円滑にし長期的な安定につながります。 また、多くの人が、帯域超過による課金をされないように 意図的な帯域制限をかけています。 .Pp .Va net.inet.tcp.rfc1323 sysctl で制御可能な TCP プロトコルのウィンドウスケーリング拡張を 両方のホストがサポートしない限り、 TCP の送信あるいは受信バッファサイズを 65535 を超えて指定しても ほとんど性能の改善はありません。 ある種のネットワークリンクから良い性能を引き出すために、 これらの拡張を有効にし、 TCP バッファサイズを 65536 より大きく設定すべきです。 特に、ギガビット WAN リンクや、高レイテンシの衛星リンクが対象となります。 RFC1323 サポートは、デフォルトでオンになっています。 .Pp .Va net.inet.tcp.always_keepalive sysctl は、TCP 実装が、コネクション上に断続的に .Dq keepalives を配送することで死んでしまった TCP コネクションの検出を試みるか どうかを決定します。 デフォルトで、これはすべてのアプリケーションについて許可されています。 この sysctl を 0 に設定すると、特に keepalives を要求した アプリケーションだけが検出機能を利用できます。 大抵の環境において、死んでしまった TCP コネクションを失効にすることで、 TCP keepalives はシステム状態の管理を改善します。 特にダイヤルアップのユーザにサービスを提供しているシステムでは 効果があります。 なぜならユーザがネットワークとのコネクションを切る前に いつも個々の TCP コネクションを終了するとは限らないからです。 しかしながら、ある種の環境では、一時的なネットワークの停止が 誤ってセッションの死と判断されるかもしれません。 結果として 予期しない TCP コネクションの終了となります。 その様な環境では、sysctl を 0 に設定することで、 TCP のセッション切断の発生を減らせるかもしれません。 .Pp .Va net.inet.tcp.delayed_ack TCP 機能は大きく誤解されています。 歴史的には、この機能は、転送されたデータに対する確認応答を、 応答と共に返せるようにするためにデザインされました。 例えば、リモートシェル上でキー入力しているとき、 あなたが送信した文字への確認応答は、文字のエコーを表すデータと共に返されます。 遅延確認応答をオフにすると、 リモートサービスが丁度受け取ったデータをエコーする機会を得る前に、 確認応答がそれだけを含むパケットで送られてしまうかもしれません。 この同じ考え方がすべての対話的プロトコル (例 SMTP, WWW, POP3) にあてはまり、 ネットワークの片一方を流れている小パケットを減らせるのです。 -FreeBSD の遅延確認応答の実装も、TCP プロトコルの規則に従っています。 +.Fx +の遅延確認応答の実装も、TCP プロトコルの規則に従っています。 すなわち、標準の 100ms のタイムアウトが経過しなくても、 2 パケットに 1 回は確認応答を行います。 通常、遅延確認応答が行う最悪のことは、コネクションの破壊を少々遅らせること、 スロースタート TCP コネクションの立ち上がりを少々遅らせることです。 確かなことは分かりませんが、 SAMBA や SQUID といった package に関連する FAQ が 遅延確認応答をオフにするように勧めているのは、 スロースタートの問題に言及しているのでしょう。 -FreeBSD では、スロースタートフライトサイズを +.Fx +では、スロースタートフライトサイズを .Va net.inet.tcp.slowstart_flightsize sysctl で増やすことの方が、遅延確認応答をオフにするより、利益があるでしょう。 .Pp .Va net.inet.tcp.inflight_enable sysctl は、すべての TCP コネクションに対し、 バンド幅と遅延の積による制限を適用します。 システムは、各コネクションに対してバンド幅と遅延の積を計算し、 ネットワークにキューされるデータ量を、 最適なスループットを確保するのに必要な量に限定しようとします。 この機能が有用なのは、モデムやギガビットイーサや高速 WAN リンク (といったバンド幅と遅延の積が大きなネットワーク) 経由でデータを 提供している場合であり、 特に有用なのは、ウィンドウスケーリングを併用している場合や 大きな送信ウィンドウを設定した場合です。 本オプションを有効にする場合、 .Va net.inet.tcp.inflight_debug を 0 (デバッグ無効) に設定することを忘れずに。 実運用では、 .Va net.inet.tcp.inflight_min を少なくとも 6144 に設定すると有用でしょう。 しかしながら、最低値を大きく設定すると、 リンクによってはバンド幅制限を無効にする結果となり得ることに注意してください。 本限定機能は、 中間ルータやスイッチのパケットキューに蓄積されるデータ量を減らし、 ローカルホストのインタフェースキューに蓄積されるデータ量をも減らします。 キューされるパケット数が少ないと、対話的コネクション、 特に低速モデム経由のものは、短い往復時間での動作が可能になります。 しかしながら、この機能はデータ送信 (アップロード / サービス側) にのみ影響することに注意してください。 データ受信 (ダウンロード) には影響しません。 .Pp .Va net.inet.ip.portrange.* sysctls は、 自動的に TCP や UDP ソケットに結合されるポート番号の範囲を制御します。 3 種類の範囲があります。 すなわち、下位の範囲、デフォルトの範囲、高位の範囲であり、 -IP_PORTRANGE setsockopt() 呼び出しで選択可能です。 +.Dv IP_PORTRANGE +.Xr setsockopt 2 +呼び出しで選択可能です。 ほとんどのネットワークプログラムが使用するのはデフォルトの範囲であり、 .Va net.inet.ip.portrange.first と .Va net.inet.ip.portrange.last で制御されます。 それぞれ 1024 と 5000 がデフォルトです。 範囲を限定されたポート範囲は外向きコネクションに使用され、 ある条件下ではシステムがポートを使い尽してしまう場合があります。 これは、高負荷のウェブプロキシを実行している場合に、よく発生します。 通常のウェブサーバ等の主に内向きコネクションを扱うサーバや、 メールリレー等の外向きコネクションが限られているサーバを実行している場合、 これは問題とはなりません。 ポートを使い果たしてしまう場合、適度に .Va net.inet.ip.portrange.last を増やしてみてください。 10000, 20000, 30000 といった値は大丈夫でしょう。 ポートの範囲を変えるときには、ファイアウォールの影響も考慮に入れるべきです。 ファイアウォールによっては、広い範囲のポート (通常は下位のポート) を遮蔽し、システムが高位のポートを外向きコネクションに 使用することを期待します。 このため、 .Va net.inet.ip.portrange.first を低下させることはお勧めできません。 .Pp .Va kern.ipc.somaxconn sysctl は、新しい TCP コネクションを受け付けるための listen キューの サイズを制限します。 高負荷の web サーバ環境では、 デフォルト値の 128 は新しいコネクションを余裕をもって扱うには低すぎます。 そのような環境では、この値を 1024 以上に増やすことが推奨されます。 サービスデーモン (例えば .Xr sendmail 8 や apache) は自分自身の listen キューのサイズを制限しているかもしれませんが、設定ファイルで キューのサイズを増やすディレクティブを持つようになるでしょう。 listen キューを大きくすることは、サービス拒否攻撃を防ぐのにも役立ちます。 .Pp .Va kern.maxfiles sysctl は、システムがどれだけの数のファイルをオープンできるかを 決めます。 デフォルトは典型的には数千ですが、データベースや記述子を 大量に使うデーモンを稼働している場合は 10000 や 20000 に引き上げる必要 があるかもしれません。 読み込み専用の .Va kern.openfiles sysctl を検査することで、システム上で開かれているファイル数を判定可能です。 .Pp .Va vm.swap_idle_enabled sysctl は、多数のユーザがシステムに出入りして大量のアイドルプロセスが ある大きなマルチユーザシステムで便利です。 そのようなシステムでは、フリーメモリの予約に対し、 継続して重大な負担をかける傾向にあります。 これをオンにして .Va vm.swap_idle_threshold1 sysctl と .Va vm.swap_idle_threshold2 sysctl でスワップアウトヒステリシス (アイドルの秒数) を調整することで アイドルプロセスに与えられているページの優先度を通常のページアウト アルゴリズムよりも速やかに下げることができます。 これはページアウトデーモンを手助けします。 必要がないかぎり、 このオプションはオンにしないでください。 これによって起こるトレードオフは、本質的に、 スワップとディスク帯域幅をより多く消費してメモリのプリページングを より早いうちに行うことだからです。 小さなシステムではこのオプションは有害となるでしょうが、 すでにある程度ページングが発生している大きなシステムでは、 このオプションによって、全体のプロセスがより容易にメモリへ入ったり 出たりするようにできるでしょう。 .Sh ローダのチューナブル システムの動作の一部は、 そのためのメモリ割り当てをブート処理の初期に行う必要があるために、 実行時には調整不可能です。 ローダのチューナブルを変更するには、これらの値を .Xr loader.conf 5 に設定し、システムをリブートする必要があります。 .Pp .Va kern.maxusers は、静的なシステムテーブルの大きさを制御します。 これには、 オープンファイルの最大数、ネットワークメモリ資源の大きさ等が含まれます。 .Fx 4.5 の時点では、 .Va kern.maxusers は、ブート時に、システムで利用可能なメモリ量に応じて、 大きさが自動的に決定されます。 また、実行時に、読み取り専用の .Va kern.maxusers sysctl 値を見て決定することも可能です。 サイトによっては、 .Va kern.maxusers を大きくしたり小さくしたりする必要があり、 これはローダチューナブルで設定可能です。 64, 128, 256 は、変な値ではありません。 膨大なファイル記述子が必要なのでない限り、 256 より大きくすることは勧められません。 .Va kern.maxusers によってデフォルト値が決定される多くのチューナブル値は、 本文書の別の場所に記述した方法で、 個々にブート時または実行時に上書き可能です。 .Fx 4.4 より古いシステムでは、 カーネルの .Xr config 8 オプションの .Cd maxusers を設定する必要があります。 .Pp .Va kern.ipc.nmbclusters を調整することで、システムが割り当てようとしている ネットワーク mbuf の数を増やすことができます。 それぞれのクラスタは約 2K のメモリに相当するので、 1024 は 2M のカーネルメモリをネットワークバッファに 予約することを示します。 簡単な計算でどれだけ必要なのかがわかります。 web サーバが同時に最大 1000 本のコネクションを扱い、 各コネクションが 16K の受信バッファと 16K の送信バッファを消費する場合、 約 32MB に相当するネットワークバッファを扱う必要があります。 経験から得た方法によると、2 倍すると良いとされています。 つまり 32MBx2 = 64MB/2K = 32768 です。 したがって、この場合は .Va kern.ipc.nmbclusters を 32768 に設定します。 中くらいの量のメモリが搭載されたマシンでは 1024 から 4096、 さらに大量のメモリが搭載されているなら 4096 から 32768 の値を 推奨します。 決して大きい値を指定すべきではありません。 ブート時にクラッシュを引き起こす可能性があります。 .Xr netstat 1 に .Fl m オプションを与えることで、ネットワーククラスタの使用状況が分かります。 古い .Fx ではこのチューナブルを持ちませんので、 代りにカーネルの .Xr config 8 オプションの .Dv NMBCLUSTERS を設定する必要があります。 .Pp ますます多くのプログラムが .Xr sendfile 2 システムコールを使ってネットワークを通じてファイルを 転送しています。 .Va kern.ipc.nsfbufs sysctl は .Xr sendfile 2 の実行時にファイルシステムバッファをどれだけの数だけ 使えるかを制御します。 通常このパラメータは .Va kern.maxusers に比例しているので、極端な場合を除いては このパラメータに手を出す必要はありません。 .Sh カーネル構成におけるチューニング 大規模なシステムでは、いくつかのカーネルオプションを操作しなければ ならないかもしれません。 これらのオプションを変更する場合、あなたは ソースから新しいカーネルをコンパイルできなければなりません。 .Xr config 8 マニュアルページやハンドブックが良い入門となるでしょう。 あなただけのカスタムカーネルを作るときに一般に最初にすることは、 使用しないドライバやサービスをすべて削ることです。 .Dv INET6 や使わないドライバを削除することで、カーネルのサイズを時に 1 メガバイト以上減らすことができ、アプリケーションにさらに メモリを与えることができます。 .Pp .Dv SCSI_DELAY と .Dv IDE_DELAY は、システムの起動時間を減らすために使うことができます。 このデフォルト値はかなり大きく、ブート処理の中で 15 秒以上を占めるでしょう。 .Dv SCSI_DELAY を 5 秒に減らしても大抵はうまく動きます (特に最近のドライブでは)。 .Dv IDE_DELAY を減らしてもうまくいきますが、少々慎重になる必要があります。 .Pp .Dv *_CPU オプションの多くはコメントアウトできます。 そのカーネルを Pentium クラスの CPU だけで動かすなら、 .Dv I386_CPU と .Dv I486_CPU は削除することができます。 ただし、 .Dv I586_CPU は、CPU が Pentium II 以上として認識されることを確認してから 削除してください。 Pentium や 486 としてさえ認識されるクローンが存在し、 その場合はこれらのオプションがないと起動することができません。 もし動いたらすごいことです ! オペレーティングシステムは、MMU や タスク切り替え、タイムベース、デバイス操作に至る、より高度な機能を より利用することができるようになります。 加えてより高度な CPU は、カーネルがカーネル自身をメモリにマップする 4MB の MMU ページをサポートします。 これは高いシステムコール負荷の 下での効率を上げます。 .Sh IDE ライトキャッシュ .Fx 4.3 では IDE のライトキャッシュがオフになりました。 これは IDE ディスクへの書き込み帯域幅を減らしてしまうことになりますが、 ハードドライブベンダに起因するデータの一貫性に関する重大な問題のために、 必要なことだと考えられました。 基本的には、書き込み完了時期について IDE ドライブが嘘をつくという問題です。 IDE ライトキャッシュがオンであると、 IDE ハードドライブはデータを順番に書きこまないばかりか、 ディスクの負荷が高い時にはいくつかのブロックの書き込みを 無期限に延期してしまいます。 クラッシュや電源故障の場合、ファイルシステムの重大な破壊を もたらします。したがって私たちはデフォルトを安全側に変更しました。 残念ながら、これは大変な性能の低下をもたらし、私たちはあきらめて このリリース後にオンに戻しました。 .Va hw.ata.wc sysctl 変数を見て、デフォルトをチェックしてみるべきです。 もし IDE ライトキャッシュがオフになっていたら、 .Va hw.ata.wc ローダチューナブルを 1 に設定することでオンに戻すことができます。 ATA ドライバシステムのチューニングに関する更なる情報は、 .Xr ata 4 を参照してください。 .Pp IDE ハードドライブの実験的な新機能として、 .Va hw.ata.tags と呼ばれるものがあり (これもブートローダで設定します)、 ライトキャッシュを安全にオンにすることができます。 これは SCSI のタギング機能を IDE ドライブに持ち込んだものです。 これを書いている時点では、IBM DPLA と DTLA ドライブだけがこの機能を サポートしています。 警告! これらのドライブは品質管理に問題 があるようなので、私は現時点ではこれらの製品を買うことはおすすめしません。 性能が必要なら SCSI を使いましょう。 .Sh CPU、メモリ、ディスク、ネットワーク 負荷が上がるとシステムのどの部分がボトルネックになりはじめているかによって、 チューニングの種類が違ってきます。 CPU を使い果たしている (アイドル時間が常に 0%) ならば、CPU を アップグレードしたり SMP マザーボード (CPU を複数にする) に移行 したり、あるいは負荷の原因となっているプログラムを見直して最適化する ことを考える必要があるでしょう。 スワップに対して大量のページングがあるなら メモリをもっと増やす必要があるでしょう。 ディスク性能が飽和している場合、CPU アイドル時間は高く、全般的に ディスクが飽和状態になっています。 .Xr systat 1 でこれらをモニタすることができます。 ディスク性能の飽和を解決するにはいろいろな方法があります: キャッシュのためのメモリを増やす、ディスクをミラーリングする、 複数のマシンに操作を分散させる等です。 ディスク性能が問題で、IDE ドライブを使っている場合、 SCSI に切り替えることでずいぶんよくなります。 生のシーケンシャルな帯域幅については、最近の IDE ドライブは SCSI のものに 匹敵していますが、調べると大抵 SCSI ドライブが勝っています。 .Pp 最後に、ネットワーク性能を使い果たしているかもしれません。 ネットワーク性能を改善するために最初に確認すべきことは、 ハブではなくスイッチを使っているか、ということです。 特に最近はスイッチは安くなっています。 ハブが高負荷になると、コリジョンバックオフのために深刻な問題が発生します。 また、1 台のホストに問題があると、LAN 全体の性能を大幅に低下させます。 次に、できるだけネットワーク経路を最適化することです。 例えば .Xr firewall 7 で説明した内部ホストを守るファイアウォールでは、 外部から見えるホストはファイアウォールを通さないトポロジです。 必要に応じて 10BaseT ではなく 100Base-T を、あるいは 100BaseT ではなく 1000BaseT を使いましょう。 最大のボトルネックは WAN 回線です (モデム、T1、DSL 等)。 回線を増強できないのであれば、 .Xr dummynet 4 機能を使ってピーク削減やその他のトラフィックシェイピングを 行い過負荷のサービス (web サービス等) が他のサービス (電子メール等) に影響を与えるのを防いでください。逆もまた同様です。 これは、家庭環境において、外部に公開しているサービス (web サービスや電子メール) よりも インタラクティブなトラフィック (ブラウザや .Xr ssh 1 ログイン) を 優先するために使うことができるでしょう。 .Sh 関連項目 .Xr netstat 1 , .Xr systat 1 , .Xr ata 4 , .Xr dummynet 4 , .Xr login.conf 5 , .Xr rc.conf 5 , .Xr sysctl.conf 5 , .Xr firewall 7 , .Xr hier 7 , .Xr ports 7 , .Xr boot 8 , .Xr ccdconfig 8 , .Xr config 8 , .Xr disklabel 8 , .Xr fsck 8 , .Xr ifconfig 8 , .Xr ipfw 8 , .Xr loader 8 , .Xr mount 8 , .Xr newfs 8 , .Xr route 8 , .Xr sysctl 8 , .Xr sysinstall 8 , .Xr tunefs 8 , .Xr vinum 8 .Sh 歴史 .Nm マニュアルページは、もともと .An Matthew Dillon によって書かれました。 最初に登場したのは .Fx 4.3 で、2001 年 5 月のことです。 diff --git a/ja_JP.eucJP/man/man8/adduser.8 b/ja_JP.eucJP/man/man8/adduser.8 index 72d9bd3751..e2426cd463 100644 --- a/ja_JP.eucJP/man/man8/adduser.8 +++ b/ja_JP.eucJP/man/man8/adduser.8 @@ -1,242 +1,417 @@ .\" Copyright (c) 1995-1996 Wolfram Schneider . Berlin. .\" All rights reserved. +.\" Copyright (c) 2002 Michael Telahun Makonnen +.\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/adduser/adduser.8,v 1.42 2002/07/14 14:42:12 charnier Exp % +.\" %FreeBSD: src/usr.sbin/adduser/adduser.8,v 1.46 2002/12/04 14:44:20 ru Exp % .\" $FreeBSD$ .\" -.Dd January 9, 1995 +.Dd August 14, 2002 .Dt ADDUSER 8 .Os .Sh 名称 .Nm adduser .Nd 新しいユーザを加えるためのコマンド .Sh 書式 .Nm -.Bk -words -.Op Fl check_only -.Op Fl class Ar login_class -.Op Fl config_create -.Op Fl dotdir Ar dotdir -.Op Fl group Ar login_group -.Op Fl h | help -.Op Fl home Ar home -.Op Fl message Ar message_file -.Op Fl noconfig -.Op Fl shell Ar shell -.Op Fl s | silent | q | quiet -.Op Fl uid Ar uid_start -.Op Fl v | verbose -.Ek +.Op Fl CENhq +.Op Fl G Ar groups +.Op Fl L Ar login_class +.Op Fl d Ar partition +.Op Fl f Ar file +.Op Fl k Ar dotdir +.Op Fl m Ar message_file +.Op Fl s Ar shell +.Op Fl u Ar uid_start +.Op Fl w Ar type .Sh 解説 .Nm -ユーティリティは新しいユーザを加えるための簡単なプログラムです。 +ユーティリティは新しいユーザを加えるための、 +.Xr pw 8 +コマンドを利用して実装されたシェルスクリプトです。 パスワード, グループ, シェル等のデータベースをチェックし、 passwd/group の登録を行い、 -.Ev HOME +ホーム ディレクトリとドットファイルを作成し、 新しいユーザに歓迎メッセージを送ります。 +2 つの動作モードをサポートします。 +すなわち、 +1 度に 1 人ずつのユーザを追加するコマンドラインでの対話モードと、 +新規ユーザのリストをファイルで与えてユーザの介在無しに +動作するバッチモードです。 .Sh 制限事項 -.Bl -tag -width Ds -compact -.It Sy username +.Bl -tag -width indent +.It username ログイン名です。 -英小文字と数字のみ使用可能です。 -長さは 16 文字までです ( -.Xr setlogin 2 -のバグの章を参照してください)。この制限の理由は、 ``歴史的な'' 物です。 +.Xr pw 8 +が受け付けるログイン名に制限されます。 +一般に、英小文字と数字のみ使用可能です。 +長さは 16 文字までです。 +この制限の理由は、歴史的な物です。 美的な理由からこの制限を破りたいとする人々はいつもいましたが、 -UNIX における基本的なパラメータを変更するほどの重要な理由ではありま +.Ux +における基本的なパラメータを変更するほどの重要な理由ではありま せんでした。 .Pa /usr/include/utmp.h ファイル内の .Dv UT_NAMESIZE パラメータを変更し、全てを再コンパイルすることで、変更できますが、 コンパイル済みのプログラムや名前の 8 文字制限を前提としたソースコード、 そして NIS については、問題が起こるでしょう。 NIS のプロトコルは、 ユーザ名を 8 文字と定めています。電子メールアドレスとして、もっと長い ログイン名を必要とする場合には、別名を .Pa /etc/mail/aliases ファイルに定義することができます。 -.It Sy fullname -名と姓です。 -.Ql Pa \&: +.It "full name" +典型的には gecos フィールドとして知られ、 +通常はユーザの完全な名前を格納します。 +さらに、コンマで区切った値のリスト、 +例えば職場の番号や職場と家の電話番号を格納可能です。 +名前にアンパサンドが含まれる場合、 +他のプログラムが表示するときに、 +これを先頭を大文字にしたログイン名で置き換えます。 +.Ql \&: (コロン) は、使えません。 -.It Sy shell -シェルデータベースに定義されている有効なシェル、もしくは、sliplogin -と pppd だけが有効です。 -.It Sy uid -自動生成されますが、自分で指定することもできます。ただし、32000 よ -りも小さい数字でなければなりません。 -.It Sy gid/login group -あなたが指定したものです。さもなければ、自動的に生成されます。 -.It Sy password -定義した時には、パスワードは +.It shell +シェルデータベースに定義されている有効なシェル +.Pq Pa /etc/shells +だけが有効です。 +さらに、シェルのベース名だけが必要であり、フルパスは必要ではありません。 +.It UID +自動生成されますが、自分で指定することもできます。 +ただし、32000 よりも小さい数字でなければなりません。 +.It "GID/login group" +自動生成されますが、自分で指定することもできます。 +ただし、32000 よりも小さい数字でなければなりません。 +.It password +空のパスワード、パスワード無効化、ランダム生成パスワード、 +素のテキストで指定するパスワードのいずれかを選択可能です。 +パスワードは .Xr crypt 3 を利用して暗号化されます。 .El .Sh 一意なグループ ひょっとして、あなたは、この方法ではできても他のほとんどの方法ではう まく行かないことがあるのを見逃しているかもしれません。個々のユーザを -そのユーザ独自のグループに入れることで、 umask を 002 としておいても +そのユーザ独自のグループに入れることで、 +通常の 022 の代りに umask を 002 としておいても 安全になり、ホームディレクトリにファイルを作っても、他の人にファイル を読まれる心配がなくなります。 .Pp 共有場所を作るためには、 (freefall における cvs や ncvs のように) -uid/gid を別に設けて、ユーザを個別にその新しいグループに入れることで、 +UID/GID を別に設けて、ユーザを個別にその新しいグループに入れることで、 その場所へのアクセスを可能とすべきです。 .Pp この uid/gid の管理モデルは、たくさんのユーザをグループにまとめるよ り柔軟性があり、共有場所で仕事をする時に umask をいじり回さずにすみ ます。 .Pp この方法をほぼ 10 年間使っていますが、ほとんどの場合に使えることがわ かり、じゃまになったことはありませんでした。 (Rod Grimes) .Sh 設定 -.Bl -enum -.It -内部変数を読込みます。 -.It -設定ファイル (/etc/adduser.conf) を読込みます。 -.It -コマンドラインオプションを解析します。 -.El +.Nm +ユーティリティは設定情報を +.Pa /etc/adduser.conf +から読み取ります。 +このファイルが存在しない場合、規定のデフォルトを使用します。 +このファイルは手で編集可能ですが、 +.Fl C +コマンドライン引数を使用する方が安全です。 +この引数を使用すると、 +.Nm +は対話的入力を開始し、問い合わせに対する回答を +.Pa /etc/adduser.conf +に保存し、ユーザデータベースを変更せずに確認しつつ終了します。 +コマンドラインで指定したオプションは、このファイルに保存したものに優先します。 .Sh オプション -.Bl -tag -width Ds -.It Fl check_only -/etc/passwd, /etc/group, /etc/shells をチェックし、終了します。 -.It Fl class Ar login_class -デフォルトのログインクラスを設定します。 -.It Fl config_create -新しい設定を設定ファイルに書込み、メッセージファイルを作成して、 -終了します。 -.It Fl dotdir Ar directory -ファイルを -.Ar directory -から、新しいユーザの -.Ev HOME -ディレクトリへコピーします。 -.Ql Pa dot.foo -というファイルは、 -.Ql Pa .foo -という名前に変更されます。 -.Ar directory -として -.Ar no -が指定された場合には、コピーを行いません。セキュリティ的な理由から全 -てのファイルは所有者に対して読み書き可能となり、グループや他の人達に -対しては書込み可能にはなりません。また、以下のファイルは、所有者に -対してのみ読み書き実行可能となります。 -.Pa .rhost , -.Pa .Xauthority , -.Pa .kermrc , -.Pa .netrc , -.Pa Mail , -.Pa prv , -.Pa iscreen , -.Pa term -.It Fl group Ar login_group -ログイングループの指定です。 -.Ar USER -はユーザ名がログイングループとして使用されることを意味します。 -.It Fl help , h , \&? +.Bl -tag -width indent +.It Fl C +新規設定ファイルを作成して終了します。 +このオプションは +.Fl f +と排他です。 +.It Fl d Ar partition +ホームパーティション。 +ユーザディレクトリを見付けるデフォルトパーティションです。 +.It Fl E +アカウントを無効化します。 +このオプションは、文字列 +.Dq Li *LOCKED* +をパスワードフィールドの前に付けることで、アカウントをロックします。 +アカウントのアンロックは、スーパユーザが次の +.Xr pw 8 +コマンドコマンドを使用して行います: +.Pp +.D1 Nm pw Cm unlock Op Ar name | uid +.It Fl f Ar file +生成するアカウントのリストを +.Ar file +から得ます。 +.Ar file +が +.Dq Fl +の場合、リストを標準入力から得ます。 +このオプションが指定された場合、 +.Nm +はバッチモードで動作し、ユーザ入力を求めません。 +あるアカウント処理中にエラーが発生した場合、 +メッセージを標準エラーに書き込み、次のアカウントに取り組みます。 +入力ファイルの書式は後述します。 +.It Fl G Ar groups +追加グループ。 +デフォルトでは、ユーザ名がログイングループとして使用されます。 +このオプションは、ユーザに付与する追加グループを指定します。 +.It Fl h オプションの要約を表示して、終了します。 -.It Fl home Ar partition -全てのユーザがホームディレクトリを持つデフォルトのディレクトリ (home -partition) を指定します。 -.It Fl message Ar file -新しいユーザに +.It Fl k Ar directory +.Ar directory +のファイルを新規ユーザのホームディレクトリへコピーします。 +.Pa dot.foo +は +.Pa .foo +にリネームされます。 +.It Fl L Ar login_class +デフォルトログインクラスを設定します。 +.It Fl m Ar file .Ar file の歓迎メッセージを送ります。 .Ar file -が -.Ar no -であった時にはメッセージは送りません。 -.It Fl noconfig -デフォルトの設定ファイルを読みません。 -.It Fl shell Ar shell -新しいユーザに対するデフォルトのシェルを指定します。 -.It Fl silent , s , quiet , q -警告や質問、バグの報告を少ししか行いません。 -.It Fl uid Ar uid -ユーザ id を +に +.Cm no +を指定すると、新規ユーザへメッセージを送りません。 +メッセージファイルが +.Nm +スクリプトの内部変数を参照可能であることに注意してください。 +.It Fl N +デフォルト設定ファイルを読み取りません。 +.It Fl q +最小のユーザフィードバック。 +特に、ランダムパスワードは標準出力にエコーされません。 +.It Fl s Ar shell +新規ユーザのデフォルトシェル。 +.Ar shell +引数は、シェルのベース名であることが必要であり、フルパスであっては +.Em なりません +。 +シェルが正当なシェルであるとみなされるためには、 +.Pa /etc/shells +に含まれることが必要です。 +.It Fl u Ar uid .Ar uid -かそれ以上にします。 -.It Fl verbose , v -警告と質問をたくさん行います。初心者ユーザにはおすすめです。 +から開始する UID を使用します。 +.It Fl w Ar type +パスワードタイプ。 +どのようなタイプのパスワードを生成するかを、 +.Nm +ユーティリティはユーザに許しています。 +.Ar type +引数は以下の値のうちのいずれかです: +.Bl -tag -width ".Cm random" +.It Cm no +パスワードの無効化。 +暗号化文字列の代りに、パスワードフィールドは単一の +.Ql * +文字になります。 +スーパユーザが手動でパスワードを有効化するまで、ユーザはログインできません。 +.It Cm none +空文字列をパスワードとして使用します。 +.It Cm yes +ユーザが提供した文字列をパスワードとして利用します。 +対話モードでは、ユーザはパスワード入力を求められます。 +バッチモードでは、最後 (10 番目) のフィールドがパスワードだとみなされます。 +.It Cm random +ランダム文字列を生成し、これをパスワードとします。 +パスワードは標準出力へエコーされます。 +さらに、 +.Va randompass +変数を介して、ファイルへ含めることが可能です。 +.El .El .Sh フォーマット -.Bl -tag -width Ds -compact -.Ql Pa # -はコメントです。 -.It Sy 設定ファイル -.Nm -ユーティリティはこのファイルを読み書きします。 -より詳しくは、 -.Pa /etc/adduser.conf -を見てください。 -.It Sy メッセージファイル -このファイル内では変数は評価されます。 -より詳しくは、 -.Pa /etc/adduser.message -を見てください。 +.Fl f +オプション使用時には、アカウント情報は特定の書式で格納する必要があります。 +空行または +.Ql # +で開始する行は無視されます。 +他のすべての行は、コロン +.Pq Ql \&: +で区切られた 10 個のフィールド (後述) から成ります。 +コマンドラインオプションは、これらの値に優先しません。 +パスワードフィールドのみが、 +.Ql \&: +文字を文字列の一部として持つことができます。 +.Pp +.Sm off +.D1 Ar name : uid : gid : class : change : expire : gecos : home_dir : shell : password +.Sm on +.Bl -tag -width ".Ar password" +.It Ar name +ログイン名。 +このフィールドは空であってはなりません。 +.It Ar uid +数値のログインユーザ ID。 +このフィールドが空の場合、自動生成されます。 +.It Ar gid +数値のプライマリグループ ID。 +このフィールドが空の場合、ユーザ名と同じ名前のグループが生成され、 +その GID が使用されます。 +.It Ar class +ログインクラス。 +このフィールドは空であっても構いません。 +.It Ar change +パスワードエージング。 +このアカウントのパスワードを変更する日付を表現します。 +このフィールドの書式は、 +.Xr pw 8 +への +.Fl p +引数のものと同じです。 +これは +.Ar dd Ns - Ns Ar mmm Ns - Ns Ar yy Ns Op Ar yy +であり、 +.Ar dd +は日、 +.Ar mmm +は数値またはアルファベットの月で +.Dq Li 10 +や +.Dq Li Oct +、 +.Ar yy Ns Op Ar yy +は 4 桁または 2 桁の年です。 +現在の日付からの相対で時を指定したい場合、次の書式を使用します: +.No + Ns Ar n Ns Op Ar mhdwoy +。 +ここで、 +.Ar n +は数値であり、この後に分・時間・日・週・月・年を続け、 +これらけの期間が経過したらパスワードが変更されねばならないことを示します。 +このフィールドを空にすることで、この機能をオフにできます。 +.It Ar expire +アカウントの満了。 +このフィールドは、アカウントの満了日を表現します。 +指定した日付より後にはアカウントは使用できません。 +このフィールドの書式は、パスワードエージングのものと同じです。 +このフィールドを空にすることで、この機能をオフにできます。 +.It Ar gecos +ユーザの完全な名前と追加情報。 +.It Ar home_dir +ホームディレクトリ。 +このフィールドが空の場合、 +ホームパーティションにユーザ名を追加することで自動生成されます。 +.It Ar shell +ログインシェル。 +このフィールドは、有効なログインシェルのフルパスを含むことが必要です。 +.It Ar password +ユーザパスワード。 +このフィールドは素のテキスト文字列を含み、 +ユーザデータベースに置かれる前に暗号化されます。 +パスワードタイプが +.Cm yes +であり、このフィールドが空の場合、 +このアカウントは空のパスワードになるものとみなされます。 +パスワードタイプが +.Cm random +でありこのフィールドが空では +.Em ない +場合、この内容がパスワードとして使用されます。 +.Fl p +オプションが引数 +.Cm no +または +.Cm none +と共に使用された場合、このフィールドは無視されます。 +このフィールドを +.Ql \&: +で終端させないように。 +これはパスワードの一部とみなされてしまいます。 .El .Sh 関連ファイル -.Bl -tag -width /etc/master.passwdxx -compact +.Bl -tag -width ".Pa /etc/adduser.message" -compact .It Pa /etc/master.passwd ユーザのデータベース .It Pa /etc/group グループのデータベース .It Pa /etc/shells シェルデータベース .It Pa /etc/login.conf ログインクラスデータベース .It Pa /etc/adduser.conf -adduser 用の設定ファイル +.Nm +用の設定ファイル .It Pa /etc/adduser.message -adduser 用のメッセージファイル +.Nm +用のメッセージファイル .It Pa /usr/share/skel ログインディレクトリの雛型 .It Pa /var/log/adduser -adduser の ログ記録ファイル +.Nm +のログ記録ファイル .El .Sh 関連項目 .Xr chpass 1 , -.Xr finger 1 , .Xr passwd 1 , -.Xr setlogin 2 , .Xr aliases 5 , .Xr group 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr shells 5 , .Xr pw 8 , .Xr pwd_mkdb 8 , .Xr rmuser 8 , .Xr vipw 8 , .Xr yp 8 -.\" .Sh バグ .Sh 歴史 .Nm ユーティリティは .Fx 2.1 から導入されました. +.Sh 作者 +.An -nosplit +マニュアルページと Perl による元のスクリプトは +.An Wolfram Schneider Aq wosch@FreeBSD.org +が書きました。 +追加機能を持つ、Bourne シェルスクリプトで書かれた置き換えスクリプトと、 +これに伴なうマニュアルページの更新を +.An Mike Makonnen Aq mtm@identd.net +が行いました。 +.Sh バグ +.Va $username +や +.Va $randompass +といった変数を新規ユーザへ送るメッセージ中で +.Nm +が正しく展開できるために、 +メッセージファイルの各行をシェルで評価する必要があります。 +これは、メッセージファイル中にシェルコマンドを格納可能であることを意味します。 +.Nm +ユーティリティは、攻撃者がこの機能を使用する可能性を柔らげるために、 +root ユーザ所有の root ユーザのみが書き込み可能なファイル以外を評価する +ことを拒否します。 +さらに、シェル特殊文字やオペレータは、 +メッセージファイルで使用する場合、エスケープする必要があります。 +.Pp +また、パスワードエージングとアカウント満了時は、 +現在のところバッチモードでのみ設定可能です。 +対話モードでもユーザが設定可能となるべきです。 diff --git a/ja_JP.eucJP/man/man8/amd.8 b/ja_JP.eucJP/man/man8/amd.8 index ab8308e23d..ac6e224bde 100644 --- a/ja_JP.eucJP/man/man8/amd.8 +++ b/ja_JP.eucJP/man/man8/amd.8 @@ -1,345 +1,345 @@ .\" .\" Copyright (c) 1997-1999 Erez Zadok .\" Copyright (c) 1989 Jan-Simon Pendry .\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1989 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" .\" %Id: amd.8,v 1.3 1999/09/30 21:01:29 ezk Exp % -.\" %FreeBSD: src/contrib/amd/amd/amd.8,v 1.16 2001/09/05 16:14:07 obrien Exp % +.\" %FreeBSD: src/contrib/amd/amd/amd.8,v 1.17 2002/12/12 17:25:52 ru Exp % .\" .\" $FreeBSD$ .\" .Dd April 19, 1994 .Dt AMD 8 .Os .Sh 名称 .Nm amd .Nd 自動マウントファイルシステム .Sh 書式 .Nm amd .Fl H .Nm amd .Op Fl F Ar conf_file .Nm amd .Op Fl nprvHS .Op Fl a Ar mount_point .Op Fl c Ar duration .Op Fl d Ar domain .Bk -words .Op Fl k Ar kernel-arch .Ek .Op Fl l Ar logfile .Op Fl o Ar op_sys_ver .Op Fl t Ar timeout.retransmit .Bk -words .Op Fl w Ar interval .Ek .Op Fl x Ar log-option .Op Fl y Ar YP-domain .Bk -words .Op Fl C Ar cluster-name .Ek .Op Fl D Ar option .Op Fl F Ar conf_file .Op Fl O Ar op_sys_name .Op Fl T Ar tag .Oo .Ar directory mapname .Op Fl map-options .Oc .Ar ... .Sh 解説 .Nm は、ファイルシステムがアクセスされたときに自動的にそのファイルシステムを マウントするデーモンです。マウントされたファイルシステムは、アクセスがな ければ自動的にアンマウントされます。 .Pp .Nm は、自分自身をNFSサーバとして、指定された .Ar directory に結び付けます。 その指定ディレクトリ内でのファイルアクセスは .Nm によって処理されます。 .Nm は、 .Ar mapname で定義されたマップを使って、あるディレクトリ にどのファイルシステムを割り当てるかを決定します。 一般に .Ar mapname は、ホスト名やファイルシステムの情報、 マウントオプションから構成されます。 .Pp 前述の最初の形式では、 .Nm は短いヘルプ文字列を表示します。 第 2 の形式では、オプションを指定しないか、 .Fl F が使用されると、 .Nm は設定パラメータをファイル .Ar conf_file から読み込みます。設定ファイルのデフォルトは .Pa /etc/amd.conf です。 最後の形式についてはここから記述します。 .Sh オプション .Bl -tag -width Ds .It Fl a Ar temporary-directory 実際にファイルシステムをマウントする位置を指定します。 デフォルトは .Pa /.amd_mnt です。 .It Fl c Ar duration ディレクトリが使われないときに、探索に使われた名前をキャッシュ して保持する秒数を指定します。デフォルトは5分です。 .It Fl d Ar domain ローカルドメイン名を指定します。もしこのオプションが与 えられなければ、ドメイン名はホスト名から決定されます。 .It Fl k Ar kernel-arch カーネルアーキテクチャを指定します。これは単に ${karch} セレクタ を指定するだけです。 .It Fl l Ar logfile マウントおよびアンマウントのイベントを記録するログファイル を指定します。 もし、 .Ar logfile が ``syslog'' という文字列なら、ログメッセージは .Xr syslog 3 によってシステムログデーモンに送られます。 デフォルトの syslog ファシリティは LOG_DAEMON です。 変更したい場合は、ログファイル名の後にコロンで区切って、 その名前を付けてください。 例えば、 .Ar logfile が文字列 .Dq Li syslog:local7 である場合、 .Nm は、 .Xr syslog 3 の LOG_LOCAL7 ファシリティを使用してログを取ります (ただしシステムに本ファシリティが存在する場合)。 .It Fl n ホスト名を正規化します。${rhost}で参照される名前は、使わ れる前にホストデータベースに関連づけて正規化されます。 これは、エイリアスを ``公式 (official)'' ホスト名に変換する効果があります。 .It Fl o Ar op_sys_ver 組み込まれているオペレーティングシステムバージョン番号を上書きします。 後方互換性のために、 組み込みのバージョン番号が望ましくない場合に有用です。 例えば、組み込みのバージョン番号が .Dq 2.5.1 の場合、 .Dq 5.5.1 で上書きして、後者を意識して書いた古いマップを使用することができます。 .It Fl p プロセスIDを表示します。 .Nm のプロセス ID を標準出力に出力して、ファイルに保存することができます。 .It Fl r 存在するマウントをリスタートします。 .Nm はマウントファイルテーブルをスキャンして、 現在マウントされているファイルシステムを判断します。 ファイルシステムが自動マウントされたものであれば、 .Nm は、その情報を継承します。 .It Fl t Ar timeout.retransmit NFS/RPC のリトライの間隔、すなわち NFS タイムアウト間隔を、 10 分の 1 秒単位で指定します (UDP のみ)。 デフォルト値は 0.8 秒です。2 番目の値は再送カウンタを変更します。 デフォルト値では 11 回の再送です。 カーネルは、両方の値を使用して amd と通信します。 どちらか一方か、両方の値が設定されていなければ、 適当なデフォルト値が設定されます。 .Pp amd は、 カーネルの RPC 再送機構がマウントリトライの引き金となることに依存しています。 これらのパラメータ値は、総合的なリトライ間隔を変更します。 間隔が長くなり過ぎると、対話応答が劣化します。 間隔が短くなり過ぎると、リトライが増え過ぎます。 .It Fl v バージョンを表示します。標準エラー出力に設定情報を表示します。 .It Fl w Ar interval キャッシュする時間を超えたファイルシステムのマウントを解除する時間を 秒単位で指定します。デフォルト値は2分です。 .It Fl x Ar options 実行時に何をログに記録するかを指定します。 .Ar options には次のものをコンマで区切って使用できます: fatal, error, user, warn, info, map, stats, all。 .It Fl y Ar domain NIS マップをとってくる際に用いる NIS ドメインを指定します。 デフォルトはシステムのドメイン名です。このオプションは、NIS を動かしていないときには無視されます。 .It Fl C Ar cluster-name 代わりの HP-UX クラスタ名を指定します。 .It Fl D Ar option デバッグオプションの種類を選択することができます。 .Ar option の頭に .Ar no をつけると、そのオプションの逆の影響を与えます。 オプションは並べて指定することができます。もっとも役に立つのは .Ar all です。 .Pp .Fl D はデバッグのときにだけ使うものであるため、ここでは他のオプションに ついては説明しません。サポートされているオプションは .Fl v オプションで表示されますが、詳細はソースコードに記述されています。 .It Fl F Ar conf_file 使用する .Nm 設定ファイルを指定します。 ファイル形式については .Xr amd.conf 5 を参照してください。 この設定ファイルの用途は、 コマンドラインにて多くのオプションをタイプする代りに、 これらのオプションを指定することです。 .Nm amd.conf ファイルは、 amd が持つすべてのコマンドラインオプションに対するディレクティブと、 設定ファイルによってのみ利用可能な多くの設定を含みます。 本オプションで指定された設定ファイルは、 他のオプションすべてが処理された後で処理されます。 本オプションがコマンドラインのどこに置かれていたかは無関係です。 .It Fl H ヘルプと使用方法の文字列を表示します。 .It Fl O Ar op_sys_name 組み込まれているオペレーティングシステム名を上書きします。 後方互換性のために、 組み込みの名前が望ましくない場合に有用です。 例えば、組み込みの名前が .Dq sunos5 の場合、 .Dq sos5 で上書きして、後者を意識して書いた古いマップを使用することができます。 .It Fl S .Nm の走行中の実行可能ページをメモリにロックしません。 .Nm の性能向上のために、 .Xr plock 3 コールをサポートするシステムでは .Nm プロセスをメモリにロック可能です。 この場合、オペレーティングシステムが必要に応じて .Nm プロセスをスケジュールしたり、ページアウトしたり、スワップする 機会が減ります。 .Nm の性能は向上する傾向がありますが、 .Nm プロセスが使用するメモリを (他のプロセスが使えないようにして) 予約してしまうというコストとなります。 この動作が望ましくない場合、 .Fl S を使用します。 .It Fl T Ar tag .Xr amd.conf 5 が使用するタグを指定します。 タグが付いている全マップエントリが処理されます。 タグが付いていないマップエントリは常に処理されます。 .Ar tag 以外のタグが付いているマップエントリは処理されません。 .El .Sh 関連ファイル .Bl -tag -width /axx .It Pa /.amd_mnt 動的にファイルシステムがマウントされるディレクトリ .It Pa /etc/amd.conf デフォルトの設定ファイル .El .Sh 警告 マウントマップを作成する場合には注意が必要です。 .Pp .Tn NFS ファイルシステム上のシンボリックリンクは、信じられないほど 非効率的です。 .Tn NFS を実装した多くのシステムでは、 シンボリックリンクの展開結果はカーネルがキャッシュせずに、 .Em lookuppn (パス名変換)時にシンボリックリンクに出会うたびに NFSサーバに対してRPCコールを行うようになっています。 キャッシュをどこかに加えることによって、かなり大きな性能の向上が 得られるはずです。 上手に実現したオートマウントシステムで .Xr symlink 2 を置き換えれば大きくスピードアップすることができますが、 同時に多くのコンテキストスイッチも起こします。 .Pp .Nm のすべての機能を駆使できれば非常に便利ですが、 それにはかなりの想像力が必要になります。 .Sh 関連項目 .Xr domainname 1 , .Xr hostname 1 , .Xr syslog 3 , .Xr amd.conf 5 , .Xr mtab 5 , .Xr amq 8 , .Xr mount 8 , .Xr umount 8 .Rs .%T Amd \- The 4.4 BSD Automounter. .Re .Pp .Pa http://www.cs.columbia.edu/~ezk/am-utils/ .Sh 作者 .An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , Department of Computing, Imperial College, London, UK. .Pp .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp am-utils の、他の作者および貢献者は、 am-utils とともに配布されている .Nm AUTHORS ファイルに記述されています。 .Sh 歴史 .Nm amd は .Bx 4.4 にはじめて導入されました。 diff --git a/ja_JP.eucJP/man/man8/amq.8 b/ja_JP.eucJP/man/man8/amq.8 index 718c259cfc..f4ffaba06e 100644 --- a/ja_JP.eucJP/man/man8/amq.8 +++ b/ja_JP.eucJP/man/man8/amq.8 @@ -1,225 +1,225 @@ .\" .\" Copyright (c) 1997-1999 Erez Zadok .\" Copyright (c) 1990 Jan-Simon Pendry .\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" .\" %Id: amq.8,v 1.2 1999/01/10 21:53:58 ezk Exp % -.\" %FreeBSD: src/contrib/amd/amq/amq.8,v 1.8 2001/08/14 10:01:44 ru Exp % +.\" %FreeBSD: src/contrib/amd/amq/amq.8,v 1.9 2002/12/12 17:25:52 ru Exp % .\" .\" $FreeBSD$ .\" .Dd March 16, 1991 .Dt AMQ 8 .Os .Sh 名称 .Nm amq .Nd 自動マウントシステムへの問い合わせツール .Sh 書式 .Nm amq .Op Fl fmpsuvTU .Op Fl h Ar hostname .Op Fl l Ar log_file .Op Fl x Ar log_options .Op Fl D Ar debug_options .Op Fl M Ar mountmap_entry .Op Fl P Ar program_number .Op Ar directory ... .Sh 解説 .Nm amq は、現在の .Xr amd 8 の動作状況を知るための簡単な手段を提供します。 .Nm amd との通信は .Tn RPC によって行われます。現在のプロトコルでは、 3 つのモード がサポートされています。デフォルトでは、マウントポイントと自動 マウントされたファイルシステムのリストが出力されます。 別のホストの状態を知るときは、 .Fl h オプションで .Ar hostname を指定します。 .Pp ディレクトリ名が与えられると、デフォルトの出力ではファイルシステム ごとの情報が表示されます。 .Sh オプション .Bl -tag -width flag .It Fl f 自動マウントシステムに内部キャッシュを破棄するように要求します。 .It Fl h Ar hostname .Ar hostname で指定されたホストに問い合わせを行います。デ フォルトでは、ローカルホストが使われます。 .Tn HP-UX クラスタでは、デフォルトでルートサーバに問い合わせが行わ れます。これは通常、自動マウントシステムがルートサーバで動 いているからです。 .It Fl l Ar log_file .Nm amd に対し、 .Ar log_file をログファイル名として使用するように指示します。 セキュリティのために、これは .Nm amd が起動したときと同じログファイルである必要があります。 それゆえ本オプションが有効なのは、 日々の cron ジョブによってログファイルがローテートおよび圧縮するために、 .Nm amd のファイルハンドルをリフレッシュするときに限られます。 .It Fl m マウントされたファイルシステムのリストを、 各ファイルシステムへの参照回数と マウント時に起きたエラーを含めて表示するように、自動マウント システムに要求します。 .It Fl p リモートもしくはローカルに実行されている .Nm amd のプロセス ID を返します。 ローカルの .Nm amd プロセスにシグナルを送る必要があるときに便利であり、 プロセステーブルを探さなくて済みます。 本オプションは .Pa ctl-amd スクリプトの中で使用されています。 .It Fl s 自動マウントシステムに、システムの統計情報を表示するように要求します。 .It Fl u 情報を表示する代わりに、 指定したファイルシステムをアンマウントするよう 自動マウントシステムに要求します。この要求によって、 必ずアンマウントが実行されるわけではありません。 単にそのファイルシステムのマウントが、 タイムアウトするにすぎません。 タイムアウトは .Nm amd のメインスケジューラに検出され、結果として 普通にタイムアウトしたときと同じことが行われます。 .It Fl v 自動マウントシステムに、バージョン情報を提供するように要求します。これは、 .Nm amd の .Fl v オプションで得られる情報の一部です。 .It Fl x Ar log_options 自動マウンタに対し、 .Ar log_options に指定されたロギングオプションを今から使用するように指示します。 .It Fl D Ar log_options 自動マウンタに対し、 .Ar debug_options に指定されたデバッギングオプションを今から使用するように指示します。 .It Fl M Ar mountmap_entry マウントマップエントリを .Nm amd に渡し、評価されるまで待ちます。これによりマウントが発生する可能性があります。 本オプションはセキュリティ面で非常に危険です。 デフォルトでは、 .Nm amd と .Nm amq は本オプションをサポートしていません。 本オプションを有効にするためには、 .Nm am-utils を .Ar --enable-amq-mount 付きで構築する必要があります。 .It Fl P Ar program_number 別の RPC プログラム番号 .Ar program_number で登録している .Nm amd に接続し、その自動マウンタのインスタンスに対して他のすべての操作を適用します。 複数コピーの .Nm amd を実行していて、それぞれを別個に管理する必要があるときに有用です。 指定しない場合には、 .Nm amq は .Nm amd のデフォルトのプログラム番号 300019 を使用します。 セキュリティのため、 .Nm amd が使用可能な別のプログラム番号は 300019 から 300029 まで (両端含む) に限定されています。 .It Fl T .Nm amd に対して TCP でのみ通信しようとします。 通常 .Nm amq は TCP を使用しようとし、失敗すると UDP を使用しようとします。 .It Fl U .Nm amd に対して UDP (コネクションレス) でのみ通信しようとします。 通常 .Nm amq は TCP を使用しようとし、失敗すると UDP を使用しようとします。 .El .Sh 関連ファイル .Bl -tag -width amq.x -compact .It Pa amq.x RPCのプロトコル記述 .El .Sh 警告 .Nm amq は、Sunが登録しているRPCプログラム番号(十進数で300019)を使っています。 これは通常、 .Pa /etc/rpc には含まれていません。 .Sh 関連項目 .Xr amd.conf 5 , .Xr amd 8 .Sh 作者 .An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , Department of Computing, Imperial College, London, UK. .Pp .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An am-utils の、他の作者および貢献者は、 am-utils とともに配布されている .Nm AUTHORS ファイルに記述されています。 .Sh 歴史 .Nm amq は、はじめに .Bx 4.4 で導入されました。 diff --git a/ja_JP.eucJP/man/man8/ancontrol.8 b/ja_JP.eucJP/man/man8/ancontrol.8 index 07cb46ea6b..2f60392ea3 100644 --- a/ja_JP.eucJP/man/man8/ancontrol.8 +++ b/ja_JP.eucJP/man/man8/ancontrol.8 @@ -1,490 +1,490 @@ .\" Copyright (c) 1997, 1998, 1999 .\" Bill Paul All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Bill Paul. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/ancontrol/ancontrol.8,v 1.23 2002/07/14 14:42:17 charnier Exp % +.\" %FreeBSD: src/usr.sbin/ancontrol/ancontrol.8,v 1.24 2002/11/04 22:44:41 dwmalone Exp % .\" .\" $FreeBSD$ .Dd September 10, 1999 .Dt ANCONTROL 8 .Os .Sh 名称 .Nm ancontrol .Nd Aironet 4500/4800 デバイスの設定 .Sh 書式 .Nm .Fl i Ar iface Fl A .Nm .Fl i Ar iface Fl N .Nm .Fl i Ar iface Fl S .Nm .Fl i Ar iface Fl I .Nm .Fl i Ar iface Fl T .Nm .Fl i Ar iface Fl C .Nm .Fl i Ar iface Fl t Cm 0 Ns - Ns Cm 4 .Nm .Fl i Ar iface Fl s Cm 0 Ns - Ns Cm 3 .Nm .Fl i Ar iface .Op Fl v Cm 1 Ns - Ns Cm 4 .Fl a Ar AP .Nm .Fl i Ar iface Fl b Ar beacon_period .Nm .Fl i Ar iface .Op Fl v Cm 0 | 1 .Fl d Cm 0 Ns - Ns Cm 3 .Nm .Fl i Ar iface Fl e Cm 0 Ns - Ns Cm 4 .Nm .Fl i Ar iface .Op Fl v Cm 0 Ns - Ns Cm 8 .Fl k Ar key .Nm .Fl i Ar iface .Fl K Cm 0 Ns - Ns Cm 2 .Nm .Fl i Ar iface .Fl W Cm 0 Ns - Ns Cm 2 .Nm .Fl i Ar iface .Fl L Ar user_name .Nm .Fl i Ar iface Fl j Ar netjoin_timeout .Nm .Fl i Ar iface Fl l Ar station_name .Nm .Fl i Ar iface Fl m Ar mac_address .Nm .Fl i Ar iface .Op Fl v Cm 1 Ns - Ns Cm 3 .Fl n Ar SSID .Nm .Fl i Ar iface Fl o Cm 0 | 1 .Nm .Fl i Ar iface Fl p Ar tx_power .Nm .Fl i Ar iface Fl c Ar frequency .Nm .Fl i Ar iface Fl f Ar fragmentation_threshold .Nm .Fl i Ar iface Fl r Ar RTS_threshold .Nm .Fl i Ar iface Fl M Cm 0 Ns - Ns Cm 15 .Nm .Fl h .Sh 解説 .Nm ユーティリティは、 .Xr an 4 ドライバを介し、Aironet ワイヤレスネットワークデバイスの動作を制御します。 変更可能なほとんどのパラメータは、 Aironet カードが実装している IEEE 802.11 プロトコルに関連するものです。 これに含まれるのは、 ステーション名、 動作がアドホックモード (ポイントツーポイント) と インフラストラクチャモードのどちらであるか、 加入するサービスセットのネットワーク名です。 .Nm ユーティリティを使用して、現在の NIC の状態や設定を閲覧できますし、 カードの統計カウンタの値をダンプできます。 .Pp .Nm に与えられる .Ar iface 引数は、Aironet デバイスに関連付けられる論理インタフェース名 .Li ( an0 , an1 等) であることが必要です。 指定しない場合には .Dq Li an0 がデフォルトとして使用されます。 .Pp .Nm ユーティリティは、異なった .Sx 書式 行の引数の組み合わせを単一の .Nm コマンドの起動でサポートするようにはデザインされていません。 そのような組み合わせはお勧めしません。 .Sh オプション オプションは次の通りです: .Bl -tag -width indent .It Fl i Ar iface Fl A 希望するアクセスポイントリストを表示します。 接続を希望するアクセスポイントの MAC アドレスを指定するために、 ステーションは AP リストを使用可能です。 AP リストを指定しないと (デフォルト)、 SSID リストで指定した SSID (複数可) にサービスするアクセスポイントで 最初に発見したものに、 ステーションは接続します。 AP リストは .Fl a オプションで変更可能です。 .It Fl i Ar iface Fl N SSID リストを表示します。 これは、サービス集合 ID (つまりネットワーク名) であり、 これに対してステーションは接続を希望します。 リスト中には最大 3 個の SSID まで存在可能です: ステーションはリストを昇順に見て、 最初にマッチを見付けた SSID に接続します。 .It Fl i Ar iface Fl S NIC の状態情報を表示します。 これには、現在の動作状態、現在の BSSID、SSID、チャネル、ビーコン周期、 現在接続中のアクセスポイントを含みます。 動作モードは、NIC の状態と、MAC の状態と、受信器の状態を含みます。 キーワード .Dq Li synced が表示されたときには、 NIC はアクセスポイントへの接続に成功したか、 アドホック .Dq マスタ ステーションへの接続に成功したか、 .Dq マスタ 自身 になったかを意味します。 ビーコン周期は 20 ミリ秒から 976 ミリ秒の範囲です。 デフォルトは 100 です。 .It Fl i Ar iface Fl I NIC のケーパビリティ情報を表示します。 デバイスタイプ、周波数、速度とパワーレベルケーパビリティ、 ファームウェアリビジョンレベルが表示されます。 .It Fl i Ar iface Fl T NIC 内部の統計カウンタを表示します。 .It Fl i Ar iface Fl C 現在の NIC の設定を表示します。 現在の動作モード、受信モード、MAC アドレス、パワーセーブ設定、 様々なタイミング設定、チャネル選択、ダイバシティ、送信パワー、 送信速度が表示されます。 .It Fl i Ar iface Fl t Cm 0 Ns - Ns Cm 4 送信速度を選択します。使用可能な設定は次の通りです: .Bl -column ".Em TX レート" -offset indent .Em "TX レート NIC 速度" .It Cm 0 Ta "自動 -- NIC が最適速度を選択" .It Cm 1 Ta "1Mbps 固定" .It Cm 2 Ta "2Mbps 固定" .It Cm 3 Ta "5.5Mbps 固定" .It Cm 4 Ta "11Mbps 固定" .El .Pp 5.5Mbps と 11Mbps の設定は、 4800 シリーズアダプタでのみサポートされていることに注意してください: 4500 シリーズアダプタの最大速度は 2Mbps です。 .It Fl i Ar iface Fl s Cm 0 Ns - Ns Cm 3 パワーセーブモードの設定をします。正当な選択肢は次の通りです: .Bl -column ".Em 選択肢" -offset indent .Em "選択肢 パワーセーブモード" .It Cm 0 Ta "無し - パワーセーブ無効" .It Cm 1 Ta "常にアウェイクモード (CAM)" .It Cm 2 Ta "パワーセーブポーリング (PSP)" .It Cm 3 Ta "高速パワーセーブポーリング (PSP-CAM)" .El .Pp IBSS (アドホック) モードでは、 PSP モードのみがサポートされることに注意してください。 しかも、ATIM ウィンドウが非 0 の場合に限ります。 .It Fl i Ar iface Oo Fl v Cm 1 Ns - Ns Cm 4 Oc Fl a Ar AP 希望するアクセスポイントを設定します。 .Ar AP は、コロンで区切った 6 個の 16 進数から成る MAC アドレスで指定します。 デフォルトでは、 .Fl a オプションは AP リストの最初のエントリのみを設定します。 .Fl v 修飾子を使用して、どの AP リストエントリを修正するかを正確に指定可能です。 .Fl v フラグを使用しないと、最初の AP リストエントリが変更されます。 .It Fl i Ar iface Fl b Ar beacon_period アドホックモードのビーコン周期を指定します。 .Ar beacon_period はミリ秒単位で指定します。 デフォルトは 100ms です。 .It Fl i Ar iface Oo Fl v Cm 0 | 1 Oc Fl d Cm 0 Ns - Ns Cm 3 アンテナダイバシティを選択します。 Aironet デバイスは、最大 2 個のアンテナで設定可能であり、 送受信それぞれに対してダイバシティを設定可能です。 有効な選択肢は次の通りです: .Bl -column ".Em 選択肢" -offset indent .Em "選択肢 ダイバシティ" .It Cm 0 Ta "工場出荷デフォルトのダイバシティの選択" .It Cm 1 Ta "アンテナ 1 のみ" .It Cm 2 Ta "アンテナ 2 のみ" .It Cm 3 Ta "アンテナ 1 と 2" .El .Pp 受信と送信のダイバシティは独立に設定可能です。 どちらのダイバシティ設定を修正するかを示す必要があり、 .Fl v オプションを使用します: 選択肢 .Cm 0 は受信ダイバシティを設定し、 .Cm 1 は送信ダイバシティを設定します。 .It Fl i Ar iface Fl e Cm 0 Ns - Ns Cm 4 使用する、送信 WEP 鍵を設定します。 このコマンドを発行するまでは、 最後にプログラムされた鍵をデバイスは使用します。 送信鍵は NVRAM に格納されます。 現在の送信鍵の設定は .Fl C オプションで確認可能です。 .Cm 4 を選択すると、カードを .Dq "ホームネットワークモード" に設定し、ホームキーを使用するようにします。 .It Fl i Ar iface Oo Fl v Cm 0 Ns - Ns Cm 8 Oc Fl k Ar key WEP 鍵を設定します。 40 ビット時には、10 桁の 16 進数の前に 0x を付けます。 128 ビット時には、26 桁の 16 進数の前に 0x を付けます。 鍵を削除するには .Qq を使用します。 4 個の鍵がサポートされています。 偶数は永続的な鍵であり、奇数は一時的な鍵です。 例えば、 .Fl v Cm 1 は最初の一時的な鍵を設定します .Dq ( 永続的な 鍵は NVRAM に格納されますが、 .Dq 一時的な 鍵は違います)。 デフォルトでは、 デバイスは最も最近にプログラムされた鍵を使用することに注意してください。 現在の送信鍵の設定は .Fl C オプションで確認可能であり、 鍵のサイズのみが返されます。 値 .Cm 8 はホームキー用です。 ホームキー用の値はファームウェアから読み取り可能であることに注意してください。 .It Fl i Ar iface Fl K Cm 0 Ns - Ns Cm 2 認証タイプを設定します。 .Cm 0 は無しを、 .Cm 1 は .Dq オープン を、 .Cm 2 は .Dq 共有鍵 を、それぞれ意味します。 .It Fl i Ar iface Fl W Cm 0 Ns - Ns Cm 2 WEP を有効化します。 .Cm 0 は WEP 無しを、 .Cm 1 は完全な WEP の有効化を、 .Cm 2 は混合セルを、それぞれ意味します。 .It Fl i Ar iface Fl L Ar user_name LEAP を有効にし、パスワードを問い合わせます。 認証されたかどうか最長 60 秒間まで確認します。 LEAP を無効にするには、WEP モードを有効にします。 .It Fl i Ar iface Fl j Ar netjoin_timeout アドホックネットワークへの加入タイムアウトを設定します。 ステーションが最初にアドホックモードで活動開始したときには、 ステーションは希望する SSID を持つ .Dq マスタ ステーションを探し、 これに接続します。 適切なタイムアウトが経過しても、 同じ SSID を持つ他のステーションを見付けられない場合、 ステーションは自己を .Dq マスタ として設定しますので、 他のステーションが接続できるようになります。 このタイムアウトのデフォルトは 10000 ミリ秒 (10 秒) ですが、 本オプションで変更可能です。 タイムアウトはミリ秒で設定します。 .It Fl i Ar iface Fl l Ar station_name NIC 内部で使用するステーション名を設定します。 .Ar station_name は 16 文字までの長さの任意のテキストです。 デフォルトの名前は、ドライバが .Dq Li FreeBSD に設定します。 .It Fl i Ar iface Fl m Ar mac_address 指定したインタフェースのステーションアドレスを設定します。 .Ar mac_address は、コロンで区切られた 6 個の連続する 16 進数で指定し、 例えば .Li 00:60:1d:12:34:56 です。 これにより、新しいアドレスをカードにプログラムし、 インタフェースもまた更新します。 .It Fl i Ar iface Oo Fl v Cm 1 Ns - Ns Cm 3 Oc Fl n Ar SSID 希望する SSID (ネットワーク名) を設定します。 SSID は 3 個ありますので、 設定を修正することなく様々な場所で NIC がアクセスポイントへ接続可能です。 マッチを探すとき、NIC は各 SSID を順番にチェックします。 変更する SSID は .Fl v 修正子オプションで指定します。 .Fl v フラグが使用されないと、リストの最初の SSID が設定されます。 .It Fl i Ar iface Fl o Cm 0 | 1 Aironet インタフェースの動作モードを設定します。 正当な選択肢は .Cm 0 がアドホックモードで、 .Cm 1 がインフラストラクチャモードです。 デフォルトのドライバ設定はインフラストラクチャモードです。 .It Fl i Ar iface Fl p Ar tx_power 送信パワーレベルをミリワット単位で設定します。 正当なパワー設定は実際の NIC に依存して変わり、 .Fl I フラグでデバイスケーパビリティをダンプすることで閲覧可能です。 典型的な値は 1, 5, 20, 50, 100mW です。 0 を選択すると、工場出荷デフォルトを選択します。 .It Fl i Ar iface Fl c Ar frequency 指定したインタフェースの電波周波数を設定します。 .Ar frequency は、下表に示すチャネル ID で指定します。 使用可能な周波数一覧は、地域当局が指定する電波規制に依存します。 既知の規制当局には、FCC (米国)、ETSI (欧州)、フランス、日本があります。 表中の周波数は MHz 単位です。 .Bl -column ".Em チャネル ID" ".Em FCC" ".Em ETSI" ".Em 仏" ".Em 日" -offset indent .Em "チャネル ID FCC ETSI 仏 日" .It Cm 1 Ta 2412 Ta 2412 Ta - Ta - .It Cm 2 Ta 2417 Ta 2417 Ta - Ta - .It Cm 3 Ta 2422 Ta 2422 Ta - Ta - .It Cm 4 Ta 2427 Ta 2427 Ta - Ta - .It Cm 5 Ta 2432 Ta 2432 Ta - Ta - .It Cm 6 Ta 2437 Ta 2437 Ta - Ta - .It Cm 7 Ta 2442 Ta 2442 Ta - Ta - .It Cm 8 Ta 2447 Ta 2447 Ta - Ta - .It Cm 9 Ta 2452 Ta 2452 Ta - Ta - .It Cm 10 Ta 2457 Ta 2457 Ta 2457 Ta - .It Cm 11 Ta 2462 Ta 2462 Ta 2462 Ta - .It Cm 12 Ta - Ta 2467 Ta 2467 Ta - .It Cm 13 Ta - Ta 2472 Ta 2472 Ta - .It Cm 14 Ta - Ta - Ta - Ta 2484 .El .Pp 不正なチャネルが指定された場合、NIC はデフォルトチャネルに戻します。 米国および欧州で販売されている NIC では、デフォルトチャネルは 3 です。 フランスで売られている NIC では、デフォルトチャネルは 11 です。 日本で売られている NIC では、使用可能なチャネルは 14 だけです。 通信するには、2 つのステーションを同じチャネルに設定する必要があることに 注意してください。 .It Fl i Ar iface Fl f Ar fragmentation_threshold 断片化の閾値をバイト単位で設定します。 この閾値は、出力パケットが複数の断片に分割される点を制御します。 単一の断片の送信に失敗した場合、 パケット全体ではなく、その断片のみの再送が必要です。 断片化の閾値は 64 から 2312 バイトの任意です。 デフォルト値は 2312 です。 .It Fl i Ar iface Fl r Ar RTS_threshold 指定したインタフェースの RTS/CTS 閾値を設定します。 これは、RTS/CTS ハンドシェイク境界に使用されるバイト数を制御します。 .Ar RTS_threshold は 0 から 2312 の任意の値です。デフォルト値は 2312 です。 .It Fl i Ar iface Fl M Cm 0 Ns - Ns Cm 15 モニタモードをビットマスクで指定します: .Pp .Bl -tag -width indent -offset indent -compact .It Em ビット .Em 意味 .It 0 802.11 パケットをダンプしません。 .It 1 802.11 モニタを有効にします。 .It 2 すべての SSID をモニタします。 .It 4 ビーコンをスキップしません。 ビーコンをモニタすると、システム負荷が高まります。 .It 8 BPF から返される完全な Aironet ヘッダを有効にします。 SSID もセットされる必要があるようです。 .El .It Fl h 使用可能なオプションと、サンプルの使用方法を表示します。 .El .Sh セキュリティに関する注 WEP .Pq Dq "wired equivalent privacy" は RC4 アルゴリズムに基いており、 24 ビットの初期化ベクタを使用します。 .Pp RC4 は、既知のプレインテキストによる攻撃に対して脆いとされており、 特に 40 ビット鍵においてはそうです。 よって、WEP のセキュリティは、 既知のプレインテキストがどれだけ転送されるかに幾分か依存します。 .Pp このために、WEP を有効にしたときには直観とは逆に、 (既知のプレインテキストの送信を含む) .Dq 共有鍵 認証を使用する方が .Dq オープン 認証を使用するよりも、安全ではありません。 .Pp デバイスは、パケット送信時に、 設定されたすべての WEP 鍵の間で使用する鍵を交換し得ます。 よって、すべての設定された鍵 (最大 4 個) が合致していることが必要です。 .Sh 使用例 .Bd -literal -offset indent ancontrol -i an0 -v 0 -k 0x12345678901234567890123456 ancontrol -i an0 -K 2 ancontrol -i an0 -W 1 ancontrol -i an0 -e 0 .Ed .Pp WEP 鍵 0 を設定し、 .Dq 共有鍵 認証を有効にし、 完全な WEP を有効にし、送信鍵 0 を使用します。 .Sh 関連項目 .Xr an 4 , .Xr ifconfig 8 .Sh 歴史 .Nm ユーティリティは .Fx 4.0 ではじめて登場しました。 .Sh バグ 統計カウンタは、送受信フレームの合計を、増加するように表示しないようです。 おそらく、 .Xr an 4 が、NIC 自身に 802.11/イーサネットカプセル化を行わせずに、 無修正パケットモードを使用しているためです。 .Pp チャネルの設定は効果が無いようです。 .Sh 作者 .Nm ユーティリティは .An Bill Paul Aq wpaul@ee.columbia.edu が記述しました。 diff --git a/ja_JP.eucJP/man/man8/atacontrol.8 b/ja_JP.eucJP/man/man8/atacontrol.8 index 45710358fe..67ef8f8851 100644 --- a/ja_JP.eucJP/man/man8/atacontrol.8 +++ b/ja_JP.eucJP/man/man8/atacontrol.8 @@ -1,205 +1,237 @@ .\" -.\" Copyright (c) 2000,2001,2002 S�ren Schmidt +.\" Copyright (c) 2000,2001,2002 S��en Schmidt .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sbin/atacontrol/atacontrol.8,v 1.20 2002/08/13 11:29:42 ru Exp % +.\" %FreeBSD: src/sbin/atacontrol/atacontrol.8,v 1.20.2.1 2002/12/18 22:43:57 trhodes Exp % .\" .\" $FreeBSD$ .Dd May 17, 2001 .Dt ATACONTROL 8 .Os .Sh 名称 .Nm atacontrol .Nd ATA デバイスドライバのコントロールプログラム .Sh 書式 .Nm .Aq Ar command .Ar args .Pp .Nm .Ic attach .Ar channel .Nm .Ic detach .Ar channel .Nm .Ic reinit .Ar channel .Nm .Ic create .Ar type Oo Ar interleave Oc Ar disk0 ... diskN .Nm .Ic delete .Ar raid .Nm .Ic rebuild .Ar raid .Nm .Ic status .Ar raid .Nm .Ic mode .Ar channel .Op Ar mastermode slavemode .Nm .Ic info .Ar channel .Nm .Ic cap .Ar channel device .Nm .Ic enclosure .Ar channel device .Nm .Ic list .Sh 解説 .Nm ユーティリティは .Fx .Xr ata 4 サブシステムへのアクセスとコントロールをユーザに提供する コントロールプログラムです。 .Pp .Nm ユーティリティは使い方を誤ると、 深刻なシステム障害やデータの損失を引き起こすことがあるので、 このコマンドは十分な注意の上に使用するようにして下さい! .Pp 引数 .Ar channel は、操作する ATA チャネルの番号です。 以下のコマンドがサポートされています: .Bl -tag -width "rebuild" .It Ic attach ATA .Ar channel に接続します。チャネル上のデバイスはブート時と同様に検出され、接続されます。 .It Ic detach ATA .Ar channel を切り離します。 チャネル上のデバイスはカーネルから取り除かれ、未処理の転送等は失敗として システムに返されます。 .It Ic reinit ATA .Ar channel を再初期化します。 チャネル上のデバイスはリセットされ、 ATA のドライバが内部で記憶しているパラメータに初期化されます。 故障もしくは検出に反応しなくなったデバイス、または物理的に取り外された デバイスはカーネルから取り除かれます。 そしてまた、リセット中にデバイスが検出・接続されることもあります。 .It Ic create .Ar type の ATA RAID を作成します。 タイプは .Cm RAID0 (ストライプ), .Cm RAID1 (ミラー), .Cm RAID0+1 , .Cm SPAN (JBOD) のいずれかです。 RAID に .Cm RAID0 の部分がある場合、 .Ar interleave をセクタ数の単位で指定することが必要です。 RAID は .Bk -words .Ar disk0 ... diskN .Ek という名前の独立したディスクから構成されます。 .Pp ATA ドライバはどんなコントローラのディスク上にでも ATA RAID を作成可能ですが、 制限があります。 アレイからブート可能なのは、Promise や Highpoint といった .Dq 本物 の ATA RAID コントローラにそのアレイが接続されている場合か、 RAID が .Cm RAID1 または .Cm SPAN と宣言されている場合です。 SPAN の場合には、ブートするパーティションが SPAN の最初の ディスクにある必要があります。 .It Ic delete RAID 対応 ATA コントローラの RAID アレイを削除します。 .It Ic rebuild RAID 対応 ATA コントローラの RAID1 アレイを再構成します。 .It Ic status ATA RAID の状態を取得します。 .It Ic mode 2つのモード引数がない場合、両方のデバイスの現在の転送モードが表示されます。 モード引数が与えられた場合、転送モードをそのモードに変更するように、 ATAドライバに要求します。ハードウェアがそれらのモードをサポートしていないときは ATAドライバは要求を拒否します。 モードは、 .Dq Li PIO3 , .Dq Li udma2 , .Dq Li udma100 のように指定します。文字の大小は関係ありません。 もし、デバイスモードの 1 つを変更しないときは、そのモードのところに .Dq Li 変更無し の意味、引数 .Dq Li XXX を使います。 +.Pp +現在サポートされているモードは、 +.Dq Li BIOSDMA , +.Dq Li PIO0 (alias BIOSPIO) , +.Dq Li PIO1 , +.Dq Li PIO2 , +.Dq Li PIO3 , +.Dq Li PIO4 , +.Dq Li WDMA2 , +.Dq Li UDMA2 (UDMA33 の別名) , +.Dq Li UDMA4 (UDMA66 の別名) , +.Dq Li UDMA5 (UDMA100 の別名) , +.Dq Li UDMA6 (UDMA133 の別名) +です。 .It Ic info .Ar channel に接続されたデバイスの情報を表示します。 デバイス名とメーカ/バージョンを表示します。 .It Ic cap .Ar channel device のデバイスの詳細を表示します。 デバイス 0 はマスタを、デバイス 1 はスレーブを意味します。 .It Ic enclosure .Ar channel device のエンクロージャの詳細を表示します。 デバイス 0 はマスタを、デバイス 1 はスレーブを意味します。 ファンの RPM 速度、エンクロージャ温度、5V と 12V のレベルを表示します。 .It Ic list すべての有効なコントローラ上の、すべての接続されているデバイスについて、 情報を表示します。 .El +.Sh 使用例 +デバイスの現在のアクセスモードを見るには、次のコマンドラインを使用します: +.Pp +.Dl atacontrol mode 0 +.Pp +この結果、デバイスのモードが次のような文字列で表示されます: +.Pp +.Dl Master = WDMA2 +.Dl Slave = PIO4 +.Pp +これは、ata0-master は DMA モード、 +ata0-slave は PIO モードであることなどを示します。 +上記のような文字列を使用することで、atacontrol でモード設定可能です。 +例えば次のようにします: +.Pp +.Dl atacontrol mode 0 PIO4 PIO4 +.Pp +atacontrol が戻るときには、新規モードが設定されています。 .Sh 関連項目 .Xr ata 4 .Sh 歴史 .Nm ユーティリティは、 .Fx 4.6 ではじめて登場しました。 .Sh 作者 .An -nosplit .Nm ユーティリティは、 .An S\(/oren Schmidt .Aq sos@FreeBSD.org が書きました。 .Pp このマニュアルページは、 .An S\(/oren Schmidt .Aq sos@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man8/burncd.8 b/ja_JP.eucJP/man/man8/burncd.8 index 2acaceb163..82c1f2047d 100644 --- a/ja_JP.eucJP/man/man8/burncd.8 +++ b/ja_JP.eucJP/man/man8/burncd.8 @@ -1,203 +1,205 @@ .\" -.\" Copyright (c) 2000,2001,2002 S�ren Schmidt +.\" Copyright (c) 2000,2001,2002 S��en Schmidt .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer, .\" without modification, immediately at the beginning of the file. .\" 2. Redistributions in binary form must reproduce 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. .\" -.\" %FreeBSD: src/usr.sbin/burncd/burncd.8,v 1.22 2002/10/18 22:03:39 njl Exp % +.\" %FreeBSD: src/usr.sbin/burncd/burncd.8,v 1.24 2002/12/12 17:26:01 ru Exp % .\" $FreeBSD$ -.\" -.Dd December 4, 2001 +.\". +.Dd October 18, 2002 .Os .Dt BURNCD 8 .Sh 名称 .Nm burncd .Nd ATAPI CD-R/RW ドライバの制御 .Sh 書式 .Nm .Op Fl delmnpqtv .Op Fl f Ar device .Op Fl s Ar speed .Op Ar command .Op Ar command Ar .Sh 解説 .Nm ユーティリティは ATAPI cd ドライバを用いて CD-R/RW メディアを 焼きつけるために使用されます。 .Pp 利用可能なオプションとオペランド: .Pp .Bl -tag -width XXXXXXXXXXXX .It Fl d DAO (ディスクアットワンス) モードで CD-R/RW を焼きます。 .It Fl e 終了時にメディアを排出します。 .It Fl f Ar device 焼きつけ過程において使用するデバイスを設定します。 -.It Fl F +.It Fl F 警告にかかわらず操作を強行します。 .It Fl l 指定したファイルから、イメージファイルの一覧を読み取ります。 .It Fl m マルチセッションモードのディスクを閉じます (指定しない場合には、シングルセッションとしてディスクを閉じます)。 .It Fl n DAO モードにおいて、データトラック間にギャップを書き込みません。 .It Fl p オーディオトラックに対して高域補正を行います。 .It Fl q 静かにします。進捗状況を出力しません。 .It Fl s Ar speed 焼きつけデバイスの速さを設定します。 デフォルトは 1 に設定されます。 -ドライブの最高速度を指定するために「最大値」を指定してください。 +ドライブの最高速度を指定するために +.Dq Li max +を指定してください。 .It Fl t 書き込みテストを行います。メディアに対して 実際に書き込みは行いません。 .It Fl v 冗長になり、追加の進捗メッセージを表示します。 .El .Pp .Ar command は以下のどれか一つになります。 .Pp .Bl -tag -width XXXXXXXXXXXX .It Cm msinfo メディア上の最後のトラックの最初の LBA と、 メディア上の次に書き込み可能なアドレスを表示します。 これは、 追加セッション付の ISO ファイルシステムに追加データを追記するときに、 .Xr mkisofs 8 の .Fl C スイッチで使用します。 .It Cm blank CD-RW メディアを消去します。 高速な消去方法を使用するため、データは物理的には上書きされず、 後で使う際にメディアが空である事を示す領域のみ上書きします。 .It Cm erase CD-RW メディアを消去します。 メディア全体を消去します。 完了までに 1 時間かかることもあります。 .It Cm format dwd+rw DVD+RW メディアを、デフォルトの最大サイズで 2048 バイトブロックで、 フォーマットします。 この操作は長時間を要し得ます。 処理中に進捗報告がなされます。 .It Cm fixate TOC が作成されメディアが普通の CD ドライブで使用できるように メディアを固定します。 ドライバはデフォルトではシングルセッションメディアを作成します ( .Fl m を参照してください)。 このコマンドが終了した時にプログラムが終了するように .Nm に渡される最後のコマンドとしてください。 DAO モードでは無視されます ( .Fl d オプションを参照してください)。 .It Cm raw | audio コマンドラインで続いて指定されるイメージファイルを オーディオ (raw mode) トラックとして処理するように 書き込みモードを設定します。 .It Cm data | mode1 コマンドラインで続いて指定されるイメージファイルを データ (mode1) トラックとして処理するように 書き込みモードを設定します。 .It Cm mode2 コマンドラインで後続するイメージファイルに対し、 書き込みモードがデータ (mode2) トラックを生成するようにします。 .It Cm XAmode1 コマンドラインで後続するイメージファイルに対し、 書き込みモードがデータ (XAmode1) トラックを生成するようにします。 .It Cm XAmode2 コマンドラインで後続するイメージファイルに対し、 書き込みモードがデータ (XAmode2) トラックを生成するようにします。 .It Cm vcd コマンドラインで後続するイメージファイルに対し、 書き込みモードが VCD/SVCD トラックを生成するようにします。 これは、自動的に DAO .Pq Fl d と .Dq ギャップ無し .Pq Fl n モードを設定します。 .It Cm dvdrw 後続するイメージから DVD+RW を書き込むモードに設定します。 DVD は単一トラックのみを持ちます。 .It Ar file 他の全ての引数はメディアに書き込むためのイメージファイルとして 扱われます。 .Fl l オプション指定時には、 イメージの一覧を含むファイルとして扱われます。 .El .Pp ファイルの長さが現在のメディアのブロックサイズの倍数でない場合 ブロックサイズの要求に合わせるために 0 が詰められます。 慣習的なファイル名 .Fl は標準入力を指し、1 度だけ使用可能です。 .Sh 使用例 データ CD-R を焼きつけるための典型的な使い方: .Pp .Dl "burncd -f /dev/acd0c data file1 fixate" .Pp オーディオ CD-R を焼きつけるための典型的な使い方: .Pp .Dl "burncd -f /dev/acd0c audio file1 file2 file3 fixate" .Pp オーディオ CD-R を DAO モードで焼きつけるための典型的な使い方: .Pp .Dl "burncd -f /dev/acd0c -d audio file1 file2 file3" .Pp ミックスモード CD-R を焼きつけるための典型的な使い方: .Pp .Dl "burncd -f /dev/acd0c data file1 audio file2 file3 fixate" .Pp 圧縮イメージファイルを標準入力から読んで焼きつけるための典型的な使い方: .Pp .Dl "gunzip -c file.iso.gz | burncd -f /dev/acd0c data - fixate" .Pp 前述の例では、データ CD-R に焼きつけられるファイルは ISO9660 ファイルシステムであることが仮定されています。 .Fx Ports Collection にて入手可能な .Xr mkisofs 8 は、指定されたディレクトリツリーから ISO9660 ファイルシステムイメージ を作成するために広く使用されています。 .Sh バグ 多分あります。みつけたら報告してください。 .Sh 歴史 .Nm ユーティリティは .Fx 4.0 で登場しました。 .Sh 作者 .Nm ユーティリティとこのマニュアルページは .An S\(/oren Schmidt , Denmark .Aq sos@FreeBSD.org により提供されました。 diff --git a/ja_JP.eucJP/man/man8/config.8 b/ja_JP.eucJP/man/man8/config.8 index 1d0f1d0bf6..dfe82c8715 100644 --- a/ja_JP.eucJP/man/man8/config.8 +++ b/ja_JP.eucJP/man/man8/config.8 @@ -1,239 +1,239 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)config.8 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/usr.sbin/config/config.8,v 1.36 2002/08/13 16:07:26 ru Exp % +.\" %FreeBSD: src/usr.sbin/config/config.8,v 1.37 2002/12/12 17:26:02 ru Exp % .\" .\" $FreeBSD$ .\" .Dd April 19, 1994 .Dt CONFIG 8 .Os .Sh 名称 .Nm config .Nd システムを構築するために必要なファイルの作成 .Sh 書式 .Nm .Op Fl gp .Op Fl d Ar destdir .Ar SYSTEM_NAME .Sh 解説 これは古いバージョンの .Nm ユーティリティです。 このプログラムは、古いオートコンフィギュレーションスキームを理解します。 このスキームは HP300, i386, DECstation やその派生プラットフォームにて 使用されます。 新しいバージョンの .Nm は SPARC プラットフォームで使用されます。 あなたが使用しているアーキテクチャに適合したバージョンの .Nm のみがあなたのマシンにインストールされているでしょう。 .Pp .Nm ユーティリティは、システムの構成を記述した設定ファイル .Ar SYSTEM_NAME にもとづいてシステムを構築するために必要なファイルを作成します。 別のファイルが、 .Nm に対し、 システム生成に必要なファイルと、 構成依存ファイルセットにより追加されるファイルとを指示します。 構成依存ファイルセットは、固有マシン用代替ファイルを指定します (以降に示す .Sx 関連ファイル を参照)。 .Pp オプションとオペランドしては以下のものがあります: .Bl -tag -width ".Ar SYSTEM_NAME" .It Fl d Ar destdir デフォルトの出力ディレクトリの代わりに、 .Ar destdir に出力します。 .Nm は与えられたディレクトリに .Ar SYSTEM_NAME を追加しないことに注意してください。 .It Fl g システムのデバッグのための設定をします。 .It Fl p プロファイリングを行うシステムを構築します。プロファイルを行うものは例えば .Xr kgmon 8 や .Xr gprof 1 などです。 .Fl p オプションを 2 度以上指定すると、 .Nm はより詳細なプロファイリングを行うシステムを構築します。 .It Ar SYSTEM_NAME .Ar SYSTEM_NAME はシステム設定ファイルの名前であり、システム設定ファイル にはデバイスの仕様、構築するシステムのオプション、 その他のシステムパラメータの記述をします。 .El .Pp .Nm ユーティリティはシステムソースの .Pa conf サブディレクトリで起動します (通常 .Pa /sys/ Ns Va ARCH Ns Pa /conf ) 。ただし .Va ARCH には .Fx がサポートしているアーキテクチャの一つが入ります。 .Nm ユーティリティは必要により .Pa ../compile/ Ns Ar SYSTEM_NAME か、または .Fl d オプションで指定されたディレクトリ を作成し、そこにすべての出力ファイルを置きます。 .Nm の出力は多くのファイルです; .Tn i386 の場合は次のようなファイルになります: .Pa ioconf.c はシステムに接続された I/O デバイスの記述です; .Pa Makefile は .Xr make 1 がシステム構築に使用するファイルです; ヘッダファイルはシステムに組み込まれる多くのデバイスに関する定義です。 .Pp .Nm の実行後は、 .Dq Li make depend を Makefile が作成されたディレクトリで実行する必要があります。 .Nm ユーティリティは正常終了すると、これを促すメッセージ表示を行います。 .Pp .Nm が、これとは異なるエラーメッセージ表示を行った場合には、 設定ファイルの記述の誤りを修正し、再度 .Nm を実行する必要があります。 コンフィギュレーションでエラーとなったシステムをコンパイルしようとしても、 おそらく失敗するでしょう。 .Pp 設定ファイル中に .Cd "options INCLUDE_CONFIG_FILE" を指定した場合、 該ファイル全体が作成されるカーネルに埋め込まれます。 これは、 .Xr strings 1 によって該ファイルをカーネルから引き出す事が出来ることを意味します: 構成情報を抽出するには以下のコマンドを使用してください: .Pp .Dl "strings kernel | grep ___" .Sh デバッグカーネル .Dq デバッグ カーネルをコンパイルすることはシステムにひどく負荷を掛けるため、 伝統的な .Bx カーネルはシンボルを除いてコンパイルされてきました。 デバッグカーネルは全てのソースファイルの完全なシンボルを持っているため、 経験を積んだカーネルプログラマが問題の原因を解析できるようになります。 .Bx 4.4 Lite 以前からあったデバッガは通常のカーネルからはあまり情報を 見つけられませんでした; .Xr gdb 1 は通常のカーネルからはほとんど情報を得ることはできず、 意義のある解析を行なうには、デバッグカーネルが必要です。 .Pp 歴史と時間、スペースの問題で、 .Fx はデフォルトではデバッグカーネルを 構築しません。デバッグカーネルは構築に 30% 近く長く掛かり、 デバッグ用でないカーネルでは約 6 MB で済むところを、 構築用ディレクトリに約 30 MB のディスク容量を必要とします。 デバッグカーネルはデバッグ用でないカーネルが約 2MB であるのに対して、 約 11 MB のサイズになります。このスペースはルートファイルシステムと 動作時のメモリの両方に効いてきます。 デバッグカーネルを作るには .Fl g オプションを使います。このオプションを用いると、 .Nm はカーネル構築ディレクトリに 2 つのファイルを構築します: .Bl -bullet .It .Pa kernel.debug が完全なデバッグカーネルです。 .It .Pa kernel はカーネルのデバッグシンボルを削除したコピーです。 このカーネルは通常のデバッグ用でないカーネルと同じ物です。 .El .Pp 現在はデバッグカーネルをインストールしてブートする意義はあまりありません。 なぜならシンボルを利用できるツールはオンラインでは動かないためです。 それゆえ、デバッグカーネルをインストールするには 2 つのオプションがあります。 .Bl -bullet .It .Dq Li "make install" .Pa kernel をルートファイルシステムにインストールします。 .It .Dq Li "make install.debug" .Pa kernel.debug をルートファイルシステムにインストールします。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /sys/ Ns Va ARCH Ns Pa /compile/ Ns Ar SYSTEM_NAME" -compact .It Pa /sys/conf/files システム生成に必要な共通のファイルのリスト .It Pa /sys/conf/Makefile. Ns Va ARCH .Va ARCH 用の一般的な makefile .It Pa /sys/conf/files. Ns Va ARCH .Va ARCH 特有のファイルのリスト .It Pa /sys/ Ns Va ARCH Ns Pa /compile/ Ns Ar SYSTEM_NAME .Va ARCH 上の .Ar SYSTEM_NAME システム固有のデフォルトカーネル構築ディレクトリ .El .Sh 関連項目 セクション 4 にある、デバイスのマニュアルの .Sx 書式 の部分。 .Rs .%T "Building 4.3 BSD UNIX System with Config" .Re .Sh バグ エラーメッセージにおいて報告される行番号は1行ずれます。 .Sh 歴史 .Nm ユーティリティは .Bx 4.1 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/crash.8 b/ja_JP.eucJP/man/man8/crash.8 index 953c078290..16ff249cef 100644 --- a/ja_JP.eucJP/man/man8/crash.8 +++ b/ja_JP.eucJP/man/man8/crash.8 @@ -1,230 +1,230 @@ .\" FreeBSD version Copyright (c) 1996 .\" Mike Pritchard . All rights reserved. .\" .\" Adapted from share/man/man8/man8.hp300/crash.8 .\" .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man8/crash.8,v 1.19 2002/05/16 05:21:56 trhodes Exp % +.\" %FreeBSD: src/share/man/man8/crash.8,v 1.20 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .\" .Dd February 2, 1996 .Dt CRASH 8 .Os .Sh 名称 .Nm crash .Nd FreeBSD システム障害 .Sh 解説 このセクションではシステムクラッシュについて少し説明し、 クラッシュダンプの解析方法についても (かなり簡潔ですが) 述べます。 .Pp システムが自らクラッシュする際には、 .Bl -diag -offset indent .It "panic: なぜ死んだのか" .El .Pp という形式でコンソールにメッセージを表示し、 もしダンプが有効になっていれば ( .Xr dumpon 8 参照) 大容量記憶装置にダンプをとり、 そして .Xr reboot 8 に述べられているように自動リブート手順を開始します。 ハードウェアあるいはソフトウェアの障害によって ファイルシステムの状態に予期せぬ矛盾点が見つかった場合を除き、 システムはマルチユーザモードでのオペレーションを再開します。 .Pp システムは数多くの内部一貫性チェックを行っています。 それらのチェックのうちひとつに引っかかると、 どのチェックに引っかかったかを示す簡潔なメッセージを表示して パニックします。 多くの場合、このメッセージはエラーを検知したルーチン名、 あるいは見つかった一貫性エラーを記述する 2 語のフレーズです。 ほとんどのパニックメッセージを完全に理解するには、 システムのソースコードを熟読する必要があります。 .Pp システム障害に共通するほとんどの原因はハードウェア障害であり、 それは様々なところに現れます。 ここでは発生する可能性の高いメッセージと、 原因に関する手掛かりを示します。 ハードウェアあるいはソフトウェアが予期せぬかたちで そのようなメッセージを出力する可能性については、全く述べていません。 .Pp .Bl -diag -compact .It "cannot mount root" このパニックメッセージは、ブートストラップ処理中に ルートファイルシステムをマウントできなかった場合に表示されます。 ルートファイルシステムが壊れているか、 システムが誤ったデバイスをルートファイルシステムとして使おうとしています。 通常、システムバイナリの別のコピーか 別のルートファイルシステムを用いてシステムを立ち上げ、調査します。 よく行われるのは、システムをインストールしたブートフロッピでブートし、 次に .Dq fixit フロッピを使用することです。 .Pp .It "init: not found" これはパニックメッセージではなく、リブートしても無駄でしょう。 ブートストラップ処理の最後の段階で、 システムが初期化プロセス .Xr init 8 の場所を探してそれを実行するのに失敗したのです。 ルートファイルシステムが不正あるいは壊れている、 .Pa /sbin/init が実行不能モードあるいはタイプになっている、 もしくは .Pa /sbin/init 自体がなくなっています。 .Pp .It "ffs_realloccg: bad optim" .It "ffs_valloc: dup alloc" .It "ffs_alloccgblk: cyl groups corrupted" .It "ffs_alloccg: map corrupted" .It "blkfree: freeing free block" .It "blkfree: freeing free frag" .It "ifree: freeing free inode" これらのパニックメッセージはファイルシステム内に矛盾点が見つかったときに 出力されるものです。 通常、この問題の原因は、 クラッシュ後の破損したファイルシステムの修復失敗、 ハードウェア障害、 あるいは通常発生しない他の条件にあります。 ファイルシステムのチェックを行えば、通常、問題は解決します。 .Pp .It "timeout table full" 実はこれはパニックではありませんが、 関係するデータ構造の拡張を行う前に、 エントリが不足するためにクラッシュしたのです。 この現象が発生したら、timeout table を大きくして下さい。 .Pp .\" .It "trap type %d, code = %x, v = %x" .\" An unexpected trap has occurred within the system; the trap types are: .\" .Bl -column xxxx -offset indent .\" 0 bus error .\" 1 address error .\" 2 illegal instruction .\" 3 divide by zero .\" .No 4\t Em chk No instruction .\" .No 5\t Em trapv No instruction .\" 6 privileged instruction .\" 7 trace trap .\" 8 MMU fault .\" 9 simulated software interrupt .\" 10 format error .\" 11 FP coprocessor fault .\" 12 coprocessor fault .\" 13 simulated AST .\" .El .\" .Pp .\" The favorite trap type in system crashes is trap type 8, .\" indicating a wild reference. .\" ``code'' (hex) is the concatenation of the .\" MMU .\" status register .\" (see ) .\" in the high 16 bits and the 68020 special status word .\" (see the 68020 manual, page 6-17) .\" in the low 16. .\" ``v'' (hex) is the virtual address which caused the fault. .\" Additionally, the kernel will dump about a screenful of semi-useful .\" information. .\" ``pid'' (decimal) is the process id of the process running at the .\" time of the exception. .\" Note that if we panic in an interrupt routine, .\" this process may not be related to the panic. .\" ``ps'' (hex) is the 68020 processor status register ``ps''. .\" ``pc'' (hex) is the value of the program counter saved .\" on the hardware exception frame. .\" It may .\" .Em not .\" be the PC of the instruction causing the fault. .\" ``sfc'' and ``dfc'' (hex) are the 68020 source/destination function codes. .\" They should always be one. .\" ``p0'' and ``p1'' are the .\" VAX-like .\" region registers. .\" They are of the form: .\" .Pp .\" .Bd -ragged -offset indent .\" '@' .\" .Ed .\" .Pp .\" where both are in hex. .\" Following these values are a dump of the processor registers (hex). .\" Finally, is a dump of the stack (user/kernel) at the time of the offense. .\" .Pp .It "init died (signal #, exit #)" システム初期化プロセスが、示されたとおりのシグナルおよび終了コードで 終了してしまいました。 これは良くない知らせです。もう誰もログインできません。 リブートするしか手はなく、従ってシステムはただちにリブートします。 .El .Pp 以上が遭遇する可能性のあるパニックの種類一覧です。 .Pp クラッシュダンプを取るようにシステムが設定されている場合 ( .Xr dumpon 8 参照)、 システムがクラッシュすると ダンプデバイス (通常は 1 つめのスワップ領域と同じ) の終わりに メモリイメージを書き込みます (少なくとも書き込もうとします)。 システムがリブートした後、プログラム .Xr savecore 8 が起動し、後の解析のために、 このコアイメージと現在のシステムのコピーを特定ディレクトリに保存します。 詳細は .Xr savecore 8 を参照して下さい。 .Pp ダンプを解析するには、システムのロードイメージとコアダンプに対して .Xr gdb 1 を .Fl k オプション付きで起動します。 コアイメージがパニックによって生成されたものならば、 そのパニックメッセージが表示されます。 より詳しい情報は、 .%B "FreeBSD 開発者用ハンドブック" .Pq Pa http://www.FreeBSD.org/ の カーネルデバッギングの章を参照して下さい。 .Sh 関連項目 .Xr gdb 1 , .Xr dumpon 8 , .Xr reboot 8 , .Xr savecore 8 .Sh 歴史 .Nm マニュアルページは .Fx 2.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/disklabel.8 b/ja_JP.eucJP/man/man8/disklabel.8 index 006c5001a2..79ef6f780e 100644 --- a/ja_JP.eucJP/man/man8/disklabel.8 +++ b/ja_JP.eucJP/man/man8/disklabel.8 @@ -1,979 +1,981 @@ .\" Copyright (c) 1987, 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Symmetric Computer Systems. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)disklabel.8 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/sbin/disklabel/disklabel.8,v 1.41 2002/10/10 19:16:10 schweikh Exp % +.\" %FreeBSD: src/sbin/disklabel/disklabel.8,v 1.42 2002/11/25 15:43:18 ru Exp % .\" .\" $FreeBSD$ .\" .Dd July 30, 1999 .Dt DISKLABEL 8 .Os .Sh 名称 .Nm disklabel .Nd ディスクラベルの読み書きを行う .Sh 書式 .Nm .Op Fl r .Ar disk .Nm .Fl w .Op Fl r .Op Fl n .Ar disk Ar disktype/auto .Oo Ar packid Oc .Nm .Fl e .Op Fl r .Op Fl n .Ar disk .Nm .Fl R .Op Fl r .Op Fl n .Ar disk Ar protofile .Nm .Op Fl NW .Ar disk .Pp .Nm .Fl B .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk .Oo Ar disktype/auto Oc .Nm .Fl w .Fl B .Op Fl n .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar disktype/auto .Oo Ar packid Oc .Nm .Fl R .Fl B .Op Fl n .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar protofile .Oo Ar disktype/auto Oc .Sh 解説 .Nm ユーティリティは、ディスクドライブやディスクパックにラベルを書き込んだり、 確認したり、修正したりするために使われます。 ラベルを書き込む際には、ドライブの識別子を変更したり、 ディスクのパーティションを変更したり、 異常のあるラベルを置き換えたりすることができます。 コマンドには、ディスク上のラベルを読んだり (表示したり)、書き込んだり、 編集したりするいくつかの書式があります。 また .Nm は同時にブートストラップコードを インストールすることもできます。 .Ss メモリ内のラベルとディスク上のラベル .Pp ディスクラベルは各ディスクパーティションの先頭、 もしくは先頭付近に存在します。 より速くアクセスするために、カーネルは 常にメモリ内にコピーを保持します。 デフォルトでは、 .Nm による操作のほとんどは メモリ内にあるラベルのコピーに対してアクセスします。 (ディスク上に存在する) ラベルにアクセスするためには .Fl r オプションを使用します。 このオプションにより、 カーネルのサポート無しでラベルをディスクにインストール することが可能になります。 例えばラベルがはじめてシステムにインストールされる時など、 ディスクにはじめてラベルを書き込む際に指定されなければなりません。 .Fl r オプションによる固有の効果は以下の 各コマンドの説明で示します。 .Pp .Ss ディスクデバイス名 .Pp 全ての .Nm の書式で、ディスクのデバイス名が必要です。 ディスクのデバイス名は、 ディスクまたはスライスを示すローデバイス名でなければなりません。 例えば .Pa da0 は DOS パーティションに無関係でディスク全体を表し、 .Pa da0s1 はスライスを表します。 デバイスによっては、特に .Ar ccd では、 .Dq ディスク全体を示す (または .Dq c ) パーティションを必要とします。 例えば .Pa ccd0c です。 デバイス指定時には、 .Pa /dev/ のパスプレフィックスを付ける必要はありません。 .Nm ユーティリティは自動的にこれを前に付けます。 .Ss ディスクラベルの読み込み .Pp ディスクドライブ上のラベルを確認するためには オプションを指定せずに .Nm を使用します。 .Pp .Nm .Op Fl r .Ar disk .Pp .Ar disk は対象とするローディスクを示します。 また .Pa da0 や .Pa /dev/da0c のような書式でも指定することができます。 これによってドライブに関するすべてのパラメータとパーティションのレイアウトを 表示します。 .Fl r フラグを指定しない場合には、カーネルのメモリ内にあるラベルのコピーが 表示されます。 もしディスクにラベルが書き込まれていなかったり、ディスクのパーティション形式が 正しくない場合には、カーネルが作り直したり、修正するかもしれません。 .Fl r フラグが与えられると、 ディスク上の実際のラベルが表示されます。 通常は、どちらでも同じ結果となりますが、 ラベルが未初期化の場合とまたは壊れている場合には、違う結果となります。 .Ss 標準的なラベルの書き込み .Pp 標準的なラベルを書き込むには、 以下の書式を使います。 .Pp .Nm .Fl w .Op Fl r .Op Fl n .Ar disk Ar disktype/auto .Oo Ar packid Oc .Pp .Nm .Fl w .Op Fl r .Op Fl n .Ar disk auto .Pp コマンドには引数として、ラベルを書き込むドライブ名および .Xr disktab 5 に書かれているドライブタイプが必要です。 ドライブのパラメータとパーティション情報は、このファイルから得られたもの が使われます。 もし、同じ型のディスクに異なるパーティション情報を持たせたい場合には、 disktab にそれぞれ別々のエントリを書いておくか、ラベルを書き込んだあとで 後述する方法でそれを編集する必要があります。 オプションの引数として、16 文字までのパック識別用文字列を指定します。 パック名に空白を含める場合にはそれをクォートする必要があります。 .Pp .Fl n フラグが与えられると、データはデバイスに書き込まれません。 代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 .Pp .Fl r フラグが与えられると、ディスクのラベルとブートストラップが 直接書き換えられます。 この副作用として、すでにあるブートストラップ用コードが上書きされてしまうため、 ディスクがブート不能にされてしまいます。 ラベルとブートストラップを同時に書き込む方法は 後述のブートオプションを参照してください。 .Fl r が指定されない場合には、ラベルはメモリ内のコピーを通して書き換えられる ため、ブートストラップコードは影響されません。 もしまだディスクがラベル付けされていなければ、 .Fl r フラグをつけなければなりません。 どちらの方法でも、カーネルのメモリ内コピーは変更されます。 .Pp .Xr disktab 5 に記載されていない未使用のディスクに対しては、 .Ar disktype として .Dq auto を指定できます。 この場合、ディスクの最初のラベルを生成するようにドライバに要求します。 これは成功するかも知れないし成功しないかも知れません。 これはディスクドライバがディスクを全く読む事無く 必要なデータを取得できるか否かに依存します。 全ての SCSI ディスクとほとんどの IDE ディスクと vnode デバイスにおいて 成功するでしょう。 ディスクに対するラベルの書き込みは唯一サポートされた操作であり、 .Ar disk 自身は標準の名前 (フルパス名であってはなりません) で提供される必要があります。 .Pp ほとんどのハードディスクでは、パーセントベースのラベル (および大きさに .Ql * を指定する単一のパーティション) で、妥当な設定を出力するでしょう。 .Pp PC ベースのシステムでは、 BIOS に正しく .Fx ディスクラベルを認識させるために、特別な要件があります。 古いシステムでは、 .Dq 危険な方法で専用化された ディスクラベルが必要かもしれません。 これは、偽の DOS パーティションを作成することにより、 最近のディスクのジオメトリに対して古い BIOS が引き起す問題を 回避するというものです。 新しいシステムでは、通常の DOS パーティションを .Ar fdisk で作成して、このスライス中に .Fx ディスクラベルを作成すれば良いでしょう。 本件についてはこのマニュアルで後述します。 .Pp 新規ディスクラベルをインストールするだけでは、 このラベルでシステムをブートさせることは出来ません。 ブートブロックもまたインストールする必要があります。 本件についてはこのマニュアルで後述します。 .Ss 既存のディスクラベルの編集 .Pp 既存のディスクラベルを編集するには、 以下の書式を使います。 .Pp .Nm .Fl e .Op Fl r .Op Fl n .Ar disk .Pp このコマンドはラベルを カーネルのメモリ内コピーから、または .Fl r フラグが与えられた場合には直接ディスクから 読み込みます。 ラベルは ASCII でファイルにかかれ、 編集するためのエディタへ渡されます。 .Ev EDITOR 環境変数によるエディタの指定がない場合には、このエディタには .Xr vi 1 が使用されます。 エディタを終了すると、ラベルファイルはディスクラベルを 再書き込みするために使われます。 .Fl r フラグの指定の有無にかかわらず、 すでにあるブートストラップコードは変更されません。 .Fl n フラグが与えられると、データはデバイスに書き込まれません。 代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 特定のディスクに対して、 パーティション方式がどのように動作するかを見るのに有用です。 .Ss ファイルからのディスクラベルの復元 .Pp ファイルからディスクラベルを復元するには、 以下の書式を使います。 .Pp .Nm .Fl R .Op Fl r .Op Fl n .Ar disk Ar protofile .Pp .Nm は以前の操作により ASCII ファイルとして保存されているディスクラベル をディスクへ書き戻します。 ラベルを作成するときに使われるプロトタイプファイルは、ラベルを読み込んだり 編集したりするときのものと同じフォーマットである必要があります。 コメントは .Ar \&# と改行で区切られます。 新しいラベルを書き込む際に .Fl r が指定されているとブートストラップコードは使えなくなってしまいますが、 指定されていない場合には影響ありません。 ラベルの復元とブートストラップの書き込みを同時に行う方法は 後述のブートオプションを参照してください。 .Fl n フラグが与えられると、データはデバイスに書き込まれません。 代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 特定のディスクに対して、 パーティション方式がどのように動作するかを見るのに有用です。 .Ss ディスクラベル領域への書き込みの有効化および無効化 .Pp デフォルトでは、 ディスクの先頭領域にあるディスクラベル領域への書き込みは不可能です。 ディスクドライバは、このような試みに対し、 .Xr write 2 -やこれに類するシステムコールが EROFS を返すようにします。 +やこれに類するシステムコールが +.Er EROFS +を返すようにします。 もし (例えばラベルを消去するなど) この領域への書き込みを行う必要があるならば、 以下の書式を使います。 .Pp .Nm .Fl W .Ar disk .Pp ラベルの書き込みを可能にした後に不可能にするには 以下のコマンドを使います。 .Pp .Nm .Fl N .Ar disk .Ss ブートストラップのインストール .Pp .Nm の最後の 3 つの書式は、ブートストラップコードを インストールするために使われます。 古い PC システムとの互換性のために .Dq 危険な方法で専用化された スライスを作成している場合、通常、 .Pa da0 等の生ディスクを指定したいでしょう。 既存の DOS スライス中にラベルを作成している場合、パーティション名 .Pa da0s1a 等を指定することでしょう。 スライスをブート可能にすることはトリッキーです。 通常の DOS スライスを使用している場合、典型的には、 ベースディスクに標準 MBR をインストールし (または残し)、 .Fx ブートブロックをスライス中にインストールします。 .Pp .Nm .Fl B .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk .Oo Ar disktype Oc .Pp この書式ではブートストラップのみインストールします。 ディスクラベルは変更しません。 .Dq 危険な方法で専用化された ディスクを作成しようとしているのではない限り、 .Ar da0 のようなベースディスクにこのコマンドを使ってはいけません。 このコマンドは典型的には .Ar da0s1 のようなスライスに対して実行します。 .Pp .Nm .Fl w .Fl B .Op Fl n .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar disktype .Oo Ar packid Oc .Pp この書式は前述の .Dq ラベルの書き込み コマンドと一致します。 新しいボリュームラベルを書き込むとともに ブートストラップのインストールもおこないます。 ベースディスクに対して本コマンドを実行すると、 .Dq 危険な方法で専用化された ラベルを作成します。 本コマンドは、通常、ベースディスクではなくスライスに対して実行します。 .Fl n フラグが与えられると、データはデバイスに書き込まれません。 代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 .Pp .Nm .Fl R .Fl B .Op Fl n .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar protofile .Oo Ar disktype Oc .Pp この書式は前述の .Dq ラベルの復元 コマンドと一致します。 ボリュームラベルを復元するとともに ブートストラップのインストールもおこないます。 ベースディスクに対して本コマンドを実行すると、 .Dq 危険な方法で専用化された ラベルを作成します。 本コマンドは、通常、ベースディスクではなくスライスに対して実行します。 .Pp ブートストラップコマンドは常にディスクに直接アクセスするため、 .Fl r フラグを指定する必要はありません。 .Fl n フラグが与えられると、データはデバイスに書き込まれません。 代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 .Pp ブートストラップコードは 2 つのブートプログラムより構成されます。 インストールされるブートプログラムの名前は 以下の 3 つの方法の中の 1 つより指定します。 .Bl -enum .It .Fl b フラグと .Fl s フラグを用いて明示的に名前を指定します。 .Fl b フラグで指定するのが最初のブートプログラムで、 .Fl s フラグで指定するのが 2 段階目のブートプログラムになります。 ブートプログラムは、 .Pa /boot に置かれます。 .It .Fl b フラグと .Fl s フラグが指定されておらず .Ar disktype が指定された場合、 disktab のエントリが存在しこれらのパラメータが含まれるならば プログラムの名前は このディスクに対する .Xr disktab 5 エントリの .Dq b0 および .Dq b1 パラメータより得られます。 .It そうでない場合、デフォルトのブートイメージ名は 標準のステージ 1 およびステージ 2 のブートイメージとして .Pa /boot/boot1 と .Pa /boot/boot2 になります (詳細はアーキテクチャによって異なり、 Alpha においては単一ステージのブートが使用されます)。 .El .Ss スクラッチからの、ブート可能ディスクの初期化/フォーマット .Pp ディスクをスクラッチから初期化するには、次の手順をお勧めします。 この手順は、 .Fx 以外のスライスを含む、 ディスク上のすべてを削除してしまうことに注意してください。 .Bl -enum .It .Xr fdisk 8 を使用してハードディスクを初期化し、 DOS からはパーティションテーブルとして参照されるスライステーブルを作成します。 あなたのシステム用のディスクスライスをここで定義します。 .It .Xr disklabel 8 を使用して、パーティションおよびマウントポイントの定義と書き込みを行います。 ここでマウントポイントを決める必要は無く、後で .Xr mount 8 を使用して定義可能です。 .It 最後に、 .Xr newfs 8 を使用して、新パーティション中にファイルシステムを作成します。 典型的なディスクラベルのパーティショニング方式では、 .Dq a パーティションは約 128MB でルートファイルシステムを、 .Dq b パーティションはスワップを、 .Dq d パーティションは /var を (通常 128MB)、 .Dq e パーティションは /var/tmp を (通常 128MB)、 .Dq f パーティションは /usr を (通常 2G くらい)、 .Dq g パーティションは /home を (通常、残り)、 それぞれ割り当てます。 これは、システムによって異なります。 .El .Pp .Nm fdisk Fl BI Ar da0 .Pp .Nm .Fl w .Fl B .Ar da0s1 auto .Pp .Pp .Nm .Fl e .Ar da0s1 .Sh 関連ファイル .Bl -tag -width Pa -compact .It Pa /etc/disktab .It Pa /boot/ .It Pa /boot/boot .El .Sh 保存されたファイルの書式 .Nm ユーティリティは、 ディスクラベルを確認、編集、または復元する際に ASCII 形式のラベルを使用します。 フォーマットは以下のとおりです。 .Bd -literal -offset 4n # /dev/da1c: type: SCSI disk: da0s1 label: flags: bytes/sector: 512 sectors/track: 51 tracks/cylinder: 19 sectors/cylinder: 969 cylinders: 1211 sectors/unit: 1173930 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 0 4.2BSD 1024 8192 16 # (Cyl. 0 - 84*) b: 160000 81920 swap # (Cyl. 84* - 218*) c: 1173930 0 unused 0 0 # (Cyl. 0 - 1211*) h: 962010 211920 vinum # (Cyl. 218*- 1211*) .Ed .Pp # で始まる行はコメントです。 他の項目のほとんども既に使われていません。 正しく設定されてなければならない項目は以下のとおりです: .Pp .Bl -hang -width 20n .It Nm label オプションのラベルです。 ラベルを書き込む際に .Ar packid オプションにより設定されます。 .It Nm flags flags は .Ar removable , .Ar ecc もしくは .Ar badsect が指定可能です。 .Ar removable はリムーバブルメディアドライブに対して設定されますが、 現在の .Fx のドライバはこのフラグを 評価しません。 .Ar ecc はサポートされていません。 .Ar badsect はドライブが不良セクタの代替を行える場合に 指定します。 .It Nm sectors/unit ディスクの全体の大きさを示します。 この値は正しくなければなりません。 .It Nm パーティションテーブル これは .Ux のパーティションテーブルであり、 .Xr fdisk 8 で述べられている Microsoft のパーティションテーブルではありません。 .El .Pp パーティションテーブルは 8 つまでエントリを持つことができ、 以下の情報を含みます: .Bl -hang -width 10n .It identifier パーティションの識別子は .Dq a から .Dq h の 1 文字です。 慣例的な理由により、 .Dq c パーティションは ディスク全体を表すために予約されています。 .It size セクタ単位でのパーティションの大きさです。 .Cm K (キロバイト - 1024), .Cm M (メガバイト - 1024*1024), .Cm G (ギガバイト - 1024*1024*1024), .Cm % ( .Dq c 以外の固定長のパーティションを取り除いた後の空間に対するパーセント)か、 .Cm * (固定長のパーティションとパーセント指定のパーティションを取り除いた後 の空間すべて)。 .Dq c に対して .Cm * を指定すると、ディスク全体を意味します 小文字の .Cm K , M , .Cm G も許されます。 大きさと型の間には空白を入れてはなりません。 .Pp 例: 2097152, 1g, 1024m, 1048576k はすべて同じ大きさです (512 バイトセクタを仮定)。 .It offset ドライブの先頭からのオフセットによるパーティションの開始位置を、 セクタ単位で指定します。 .Cm * は、使用すべき正しいオフセット (直前のパーティションの終端に 1 を加えたもの) を、 .Nm に計算させます。ただしパーティション .Dq c は無視します。 パーティション .Dq c に対しては、 .Cm * はオフセット 0 と解釈されます。 .It fstype パーティションの使用目的を表します。 例では現在使用されているパーティション型を示します。 UFS ファイルシステムおよび ccd では .Cm 4.2BSD が使われます。 Vinum ドライブでは .Cm vinum が使われます。 他の一般的な型は .Cm unused と .Cm swap です。 取り決めでは、パーティション .Dq c はスライス全体を表し、型 .Cm unused であるべきですが、 .Nm はこの取り決めを強制しません。 .Nm ユーティリティは多くの他のパーティション型を知っていますが、 それらは現在使用されていません。 詳細は、 .Pa /usr/include/sys/disklabel.h で .Dv FS_UNUSED で開始する定義を参照してください。 .It fsize .Cm 4.2BSD と LFS のファイルシステムに対してのみ有効です。 フラグメントの大きさを意味します。 1 GB 未満のパーティションに対するデフォルトは 1024 で、 1 GB 以上に対するデフォルトは 4096 です。 .It bsize .Cm 4.2BSD と LFS のファイルシステムに対してのみ有効です。 ブロックの大きさを意味します。 1 GB 未満のパーティションに対するデフォルトは 8192 で、 1 GB 以上に対するデフォルトは 16384 です。 .It bps/cpg .Cm 4.2BSD ファイルシステムに対しては、 シリンダグループ中のリシンダ数を意味します。 LFS ファイルシステムに対しては、 セグメントシフト値を意味します。 1 GB 未満のパーティションに対するデフォルトは 16 で、 1 GB 以上に対するデフォルトは 64 です。 .El .Pp 行の残りの部分はコメントで、 ドライブの 一般的には使われていない (しかし多分正確な) ジオメトリ情報に 基づいたシリンダの割り当て情報を示しています。 アスタリスク (*) はパーティションがシリンダ境界で 厳密にはじまっていない、もしくは終っていないことを意味します。 .Sh 使用例 .Dl disklabel da0 .Pp .Pa da0s1 のラベルとしてカーネル内のコピーを .Pa /dev/da0s1 から得られたものとして表示します。 ラベルを読み込み時には、ラベルがスライス上に存在する場合でも、 FreeBSD はベースディスク名を指定することを許しています。 しかしながら、厳密には、 ベースディスク名を指定するのは .Dq 危険な方法で専用化された ラベルを使用する場合に限定してください。 通常は、スライスを指定してください。 .Pp .Dl disklabel da0s1 > savedlabel .Pp .Pa da0s1 に対する カーネル内のコピーをファイルに .Pa savedlabel に保存します。 このファイルは後で .Fl R フラグを用いてラベルを復元する際に使用できます。 .Pp .Dl disklabel -w -r /dev/da0s1 da2212 foo .Pp .Pa /etc/disktab に書かれている .Dq da2212 の情報を .Pa da0s1 のラベルとして書き込みます。 存在したブートストラップコードは使えなくなります。 .Pp .Dl disklabel -e -r da0s1 .Pp .Pa da0s1 のディスク上のラベルを読み込み、編集し、再び書き込みます。 ディスク上のラベルとともにカーネル内コピーも書き換えられます。 存在したブートストラップコードは影響を受けません。 .Pp .Dl disklabel -e -r -n da0s1 .Pp .Pa da0s1 のディスク上のラベルを読み、編集し、新規ラベルがどのようになるかを (セクタ単位で) 表示します。 新規ラベルは、メモリにもディスクにもインストールしません。 .Pp .Dl disklabel -r -w da0s1 auto .Pp .Pa da0s1 から必要な情報を自動検出し、新しいラベルをディスクに書こうとします。 パーティションおよびファイルシステム情報を編集するために、 この後で disklabel -e コマンドを使って下さい。 .Pp .Dl disklabel -R da0s1 savedlabel .Pp .Pa savedlabel に書かれている情報を .Pa da0s1 のラベルとして書き込みます。 ディスク上のラベルとともにカーネル内コピーも書き換えられます。 存在したブートストラップコードは影響を受けません。 .Pp .Dl disklabel -R -n da0s1 label_layout .Pp パーティションレイアウト .Pa label_layout を使用すると、 .Pa da0s1 のラベルがどのようになるかを表示します。 .Cm % と .Cm * に基くパーティションの大きさ指定を使用するラベル方式を使用した場合に、 各パーティションにどれだけ割り当てられるかを判定するのに有用です。 .Pp .Dl disklabel -B da0s1 .Pp .Pa da0s1 に新たにブートストラップコードを書き込みます. ブートストラップコードは .Pa /boot/boot1 、およびもし必要ならば .Pa /boot/boot2 です。 ディスク上のラベルおよびカーネル内コピーは影響を受けません。 .Pp .Dl disklabel -w -B /dev/da0s1 -b newboot1 -s newboot2 da2212 .Pp 新たなラベルとブートストラップコードを書き込みます。 ラベルは disktab の .Dq da2212 の情報を使用し、 ディスク上のラベルとともにカーネル内コピーも書き換えられます。 ブートストラップコードは .Pa /boot/newboot1 と .Pa /boot/newboot2 です。 .Pp .Dl dd if=/dev/zero of=/dev/da0 bs=512 count=32 .Dl fdisk -BI da0 .Dl dd if=/dev/zero of=/dev/da0s1 bs=512 count=32 .Dl disklabel -w -B da0s1 auto .Dl disklabel -e da0s1 .Pp ディスク上の既存の情報を完全に削除し、 単一の .Dq ディスク全体 スライスを含む DOS パーティションテーブル付きの、 ブート可能ディスクを新規に作成します。 次にスライスを初期化し、編集します。 .Pa dd はオプションですが、 BIOS によっては正しくディスクを認識するために必要です。 .Pp これは、 .Cm % , M , G , .Cm * といった新規パーティションサイズ型を使用する、ディスクラベルの例です。 次のコマンドラインのソースファイルとして使用可能です: .Pp .Dl disklabel -R ad0s1c new_label_file .Bd -literal -offset 4n # /dev/ad0s1c: type: ESDI disk: ad0s1 label: flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 16 sectors/cylinder: 1008 cylinders: 40633 sectors/unit: 40959009 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 400M 0 4.2BSD 4096 16384 75 # (Cyl. 0 - 812*) b: 1G * swap c: * * unused e: 204800 * 4.2BSD f: 5g * 4.2BSD g: * * 4.2BSD .Ed .Sh 関連項目 .Xr ccd 4 , .Xr disklabel 5 , .Xr disktab 5 , .Xr boot0cfg 8 , .Xr fdisk 8 , .Xr vinum 8 .Sh 診断 デバイスドライバは、 オープンされているパーティションに関して、 サイズが小さくなることおよびオフセットが変化することを許しません。 デバイスドライバの中には、 ラベルを持たないディスクに対して 1 パーティションのみからなる ラベルを作成するものがあります。 そのため、 オープンされているディスクのラベルは .Dq a パーティションに書く必要があります。 このような理由で、 次の 2 ステップにより、 所望のラベルを作成する必要がある場合があります。 第 1 ステップは少なくとももう 1 つのパーティションを作成することであり、 第 2 ステップは .Dq a パーティションを小さくしながら 新たなパーティションのラベルを設定することです。 .Pp ファイルシステムによっては、 用意された領域にブートストラップコードが収まり切らないような マシンがあるかも知れません。 その結果として、 .Dq ブート可能な ディスクのパーティションに ファイルシステムを作成できない場合があります。 ブートストラップコードを書き込む時に、 .Nm はこのようなケースをチェックします。 FS_UNUSED タイプのパーティションに重なるように ブートストラップコードが書き込まれる場合には、 そのパーティションは FS_BOOT とマークされます。 .Xr newfs 8 ユーティリティは、 FS_BOOT パーティションにファイルシステムを作成することを禁止します。 また逆に、 パーティションのタイプが FS_UNUSED もしくは FS_BOOT では無い場合、 .Nm はそのパーティションに重なるようなブートストラップコードを書き込みません。 .Sh バグ ディスク名がフルパスで指定されない場合には、 デバイス名は .Dq c パーティションになります。 .Pp i386 アーキテクチャでは、プライマリブートストラップセクタに、 組み込みの .Em fdisk テーブルを持ちます。 .Nm ユーティリティは、 ブートストラップのみをインストールする時 .Pq Fl B もしくはラベルを編集する時 .Pq Fl e にこれを壊さないように気を付けます。 しかし、 .Fl w や .Fl R を指定した時には、 無条件でプライマリブートストラッププログラムをディスクに書き込みますので、 .Em fdisk テーブルをブートストラッププログラム内のダミーに置き換えます。 これはディスク全体を専用に使う場合、 すなわち .Bx ディスクラベルがディスクの絶対ブロック 0 から始まる場合 のみ関係あります。 .Pp .Nm ユーティリティはすべての実施可能なエラーチェックは行いません。 次の場合、警告が表示されます: パーティションが重なる場合、 絶対的なオフセットが期待したオフセットと異る場合、 .Dq c パーティションが 0 から開始しないかディスク全体を覆わない場合、 パーティションがデバイスの終端を越える場合、 その他のエラー。 ただし、未使用空間があっても警告は表示されません。 diff --git a/ja_JP.eucJP/man/man8/diskless.8 b/ja_JP.eucJP/man/man8/diskless.8 index 520c9e193a..2ed32aff1d 100644 --- a/ja_JP.eucJP/man/man8/diskless.8 +++ b/ja_JP.eucJP/man/man8/diskless.8 @@ -1,277 +1,277 @@ .\" %NetBSD: diskless.8,v 1.11 1997/06/16 07:50:35 mrg Exp % .\" .\" Copyright (c) 1994 Gordon W. Ross, Theo de Raadt .\" Updated by Luigi Rizzo .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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. .\" -.\" %FreeBSD: src/share/man/man8/diskless.8,v 1.16 2002/10/02 02:07:08 dd Exp % +.\" %FreeBSD: src/share/man/man8/diskless.8,v 1.17 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd April 18, 2001 .Dt DISKLESS 8 .Os .Sh 名称 .Nm diskless .Nd ネットワークを介してシステムをブートする .Sh 解説 ネットワークを介してマシンをブートする能力は、 .Em diskless もしくは .Em dataless マシンのためや、ローカルのファイルシステムの再インストールまたは 修復中に一時的に利用するために有用です。 このファイルは、クライアントがネットワークを介してブートする時に、 クライアントとサーバとの間で行われる通信の一般的な解説を提供します。 .Sh 操作 ネットワークを介してシステムをブートする時に、 クライアントとサーバの間で 3 フェーズのやりとりがあります: .Pp .Bl -enum -compact .It ステージ 1 のブートストラップがブートプログラムを 読み込みます。 .It ブートプログラムがカーネルを読み込みます。 .It カーネルがルートを NFS マウントします。 .El .Pp これらの各フェーズについて、以降で詳しく記述します。 .Pp フェーズ 1 では、ステージ 1 のブートストラップコードが ブートプログラムを読み込みます。このブートプログラムは、 普通ネットワークカードを制御できます。 ブートプログラムを、BIOS や、ネットワークカード上の BOOT ROM (PXE, etherboot, netboot) に格納することもできます。また、 ディスクユニット (etherboot, netboot 等) からロードさせることもできます。 .Pp フェーズ 2 では、ブートプログラムがカーネルを読み込みます。 このフェーズの操作はブートプログラムの設計に依存します。 普通、ブートプログラムは .Tn BOOTP プロトコルまたは .Tn DHCP プロトコルを用い、クライアントの IP アドレスと その他のブート情報を取得します。ブート情報は、 NFS サーバ、ルータ、ネームサーバの IP アドレス、 ロードするカーネル名を含みます (これに限らず他の情報が含まれる こともあります)。 その後、カーネルがロードされます。これには、 (etherboot や netboot の場合のように) NFS を使って直接ロードされる場合と、 pxeboot と呼ばれる中間ローダを通じて、TFTP や NFS を使ってロードされる 場合とがあります。 .Pp フェーズ 3 では、カーネルが DHCP や BOOTP を用いて設定情報を獲得し、 ルートファイルシステムのマウントに進み、動作を開始します。 ディスクレスシステムの開始処理中に行なわれるいくつかの動作は、 .Pa /etc/rc.diskless1 と .Pa /etc/rc.diskless2 とに列挙されています。 .Sh 設定 ディスクレスクライアントを実行させるためには、次に示すものが必要です。 .Bl -bullet .It NFS サーバ。これは、適切なパーミッションを付けて ルートパーティションと /usr パーティションをエクスポートします。 いくつかのシステムファイルにアクセスできるようにするために、 ルートパーティションが .Fl maproot Ns =0 でエクスポートされている限り、 スクリプト .Pa rc.diskless{1,2} は読み込み専用パーミッションで動作します。 例として .Pa /etc/exports は次に示す行を含みます。 .Bd -literal -offset indent -ro -maproot=0 -alldirs /usr -ro -alldirs .Ed .Pp ここで .Aq ROOT は、ルートパーティションのサーバ上でのマウントポイントです。 スクリプト .Pa /usr/share/examples/diskless/clone_root を使い、共用可能な読み込み専用ルートパーティションを 生成することができます。 しかし、同様に、サーバ自身が使用するルートディレクトリを (読み込み専用で) エクスポートさせると決めることもできます。 .It .Tn BOOTP または .Tn DHCP サーバ。 .Xr bootpd 8 は .Pa /etc/inetd.conf の .Em bootps 行のコメントを外すことで使用可能にすることができます。 .Pa /etc/bootptab の例は次のようになります。 .Bd -literal -offset indent .default:\\ hn:ht=1:vm=rfc1048:\\ :sm=255.255.255.0:\\ :sa=:\\ :gw=:\\ :rp=":": :ha=0123456789ab:tc=.default .Ed .Pp .Aq SERVER , .Aq GATEWAY , .Aq CLIENT , .Aq ROOT の意味は明らかでしょう。 .Pp .It ルートとしてエクスポートされるパーティション上にディレクトリ .Pa /conf/default/etc を作成し、ここに .Pa /etc の内容のコピーを置きます。 .Pa /conf/default/etc 中のファイルとサブディレクトリが、ディスクレス環境の .Pa /etc メモリファイルシステムのブートストラップとして使用されます。 上書き設定するものだけでなく、 .Pa /etc 全体をコピーしてください。 .It 更に、 .Pa /etc 中のファイルに対するネットワーク毎またはホスト毎の上書き設定は、 .Pa /conf/${i}/etc ディレクトリを作成することにより、可能となります。 ここで、 .Va i は、 クライアントの サブネットブロードキャストアドレス、またはクライアントの IP アドレスです。 .Pp .Pa /etc/rc の主要な部分の実行 (これには、 .Pa rc.conf の読み込みも含まれます) の前に、 .Pa /etc/rc.diskless.1 によって、ファイルが 上に記したディレクトリから .Pa /etc にコピーされ ( .Pa /etc にあったそれ以前の内容は上書きされます)、 最も汎用のものから開始されます。 .Pp 最低でも、 .Pa /conf/default/etc/fstab に次の内容を含める必要があります。 .Bd -literal -offset indent : / nfs ro 0 0 :/usr /usr nfs ro 0 0 proc /proc procfs rw 0 0 .Ed .Pp また、 .Pa /conf/default/etc/rc.conf を変更し、ディスクレスクライアント用のスタートアップオプションを 含むようにしたバージョンを用意する必要もあります。 .Pp スタートアップコードで既に設定されているため、 .Va hostname や .Va ifconfig_* を 指定する必要はまずないでしょう。 一方、サーバのローカルスタートアップファイルを使用しないようにするため、 .Va local_startup Ns = Ns Qq を設定する必要があるでしょう。 .Pp スタートアップスクリプトが .Xr md 4 のファイルシステムの .Pa /var をマウントしますが、サイトによっては .Pa /etc/defaults/rc.conf に .Va entropy_dir Ns = Ns Qq Li NO を設定することによりエントリピの保存を無効化したいかもしれません。 .Pp 最後になりますが、 複数のディスクレスクライアントで同じ設定ファイルを共有する場合、 .Li `hostname` の値をスイッチ変数に使う .Ic case 文を用いて、 マシン固有の設定を行なうようにすると良いかもしれません。 .Pp .It コンフィグファイル (例 .Pa /sys/i386/conf/DISKLESS ) に少なくとも以下が含まれるカーネルを構築します。 .Bd -literal -offset indent device md options BOOTP options BOOTP_NFSROOT options BOOTP_COMPAT .Ed .Pp ファイアウォールを使用する場合、デフォルトをオープンにしておかねば ならないことは覚えておいて下さい。オープンにしておかないと、 カーネルで bootp パケットの読み書きができなくなります。 .El .Sh セキュリティ上の問題 暗号化されない NFS を使用してルートパーティションと ユーザパーティションをマウントすると、暗号化キーなどの 情報が洩れるかもしれないことに注意して下さい。 .Sh バグ このマニュアルページはおそらく不完全です。 .Pp .Fx はときどきルートパーティションに書き込みを要求します。 ですから、スタートアップスクリプトでは、元の内容を保存する間、 .Xr md 4 のファイルシステムをいくつかの位置 ( .Pa /etc や .Pa /var など) に マウントします。この処理はすべての場合を扱えないかもしれません。 .Sh 関連項目 .Xr md 4 , .Xr ethers 5 , .Xr exports 5 , .Xr bootpd 8 , .Xr mountd 8 , .Xr nfsd 8 , .Xr pxeboot 8 , .Xr reboot 8 , .Xr tftpd 8 , .Xr ports/net/etherboot diff --git a/ja_JP.eucJP/man/man8/dump.8 b/ja_JP.eucJP/man/man8/dump.8 index d56ba0224e..fd8238e85f 100644 --- a/ja_JP.eucJP/man/man8/dump.8 +++ b/ja_JP.eucJP/man/man8/dump.8 @@ -1,429 +1,437 @@ .\" Copyright (c) 1980, 1991, 1993 .\" Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)dump.8 8.3 (Berkeley) 5/1/95 -.\" %FreeBSD: src/sbin/dump/dump.8,v 1.49 2002/08/27 00:49:16 trhodes Exp % +.\" %FreeBSD: src/sbin/dump/dump.8,v 1.51 2002/12/12 17:25:55 ru Exp % .\" .\" $FreeBSD$ .Dd March 1, 2002 .Dt DUMP 8 .Os .Sh 名称 .Nm dump , .Nm rdump .Nd ファイルシステムのバックアップ .Sh 書式 .Nm -.Op Fl 0123456789acknSu +.Op Fl 0123456789ackLnSu .Op Fl B Ar records .Op Fl b Ar blocksize .Op Fl D Ar dumpdates .Op Fl d Ar density .Op Fl f Ar file .Op Fl h Ar level .Op Fl s Ar feet .Op Fl T Ar date .Ar filesystem .Nm .Fl W | Fl w .Pp .Nm rdump は .Nm の別名です。 .Pp .in \" XXX ( .Bx 4.3 形式のオプションは後方互換性のために実装されていますが、 ここでは説明していません。) .Sh 解説 .Nm ユーティリティは、ファイルシステムを調べて バックアップする必要のあるファイルを決定します。 これらのファイルは、指定されたディスク、テープや、 その他の記憶メディアへ保存のためコピーされます (リモートバックアップについては、 .Fl f オプションを参照)。 ダンプの大きさが記録メディアの容量より大きい場合は、 複数ボリュームに分割します。 たいていのメディアの容量は、メディアの終りを通知されるまで 書き込んでみることで決定します。 この方法は、 .Fl a オプションにより強制的に使用することもできます。 .Pp メディアの終りを正しく通知できないメディア (一部の カートリッジ・テープドライブ等) の容量は、 テープ長と記録密度や .Fl B オプションから求め、 各ボリュームはすべて同じ容量を持つものとします。 デフォルトでは、 オペレータにメディア交換を要求した後の各ボリュームにも 同じ出力ファイル名を使用します。 .Pp ダンプ対象のファイルシステムは、引数 .Ar filesystem にて、デバイススペシャルファイルか . Pa ( /etc/fstab 中の標準エントリの場合) マウントポイントで指定します。 .Pp .Nm は、次のオプションをサポートしています。 .Bl -tag -width Ds .It Fl 0\-9 ダンプレベル。 レベル 0 はフルバックアップを意味し、ファイルシステム全体をコピー することを保証します (ただし以下の .Fl h オプションにも注意して下さい)。 0 より大きなレベル番号はインクリメンタルバックアップを意味し、 前回のダンプ (今回指定したものより低いレベルのダンプ) 以降に作られたか修正されたすべてのファイルをコピーします。 デフォルトのレベルは 0 です。 .It Fl a .Dq オートサイズ 全てのテープ長の考慮をせず、メディアの終了を通知されるまで、強制的に 書き込みを続けます。現在のほとんどのテープドライブでは、この方法により もっとも良い結果が得られます。特に、使いかけのテープに追加したり、 ハードウェア圧縮機能のあるテープドライブ(圧縮率がどの程度になるか不確かな もの)を使用したりする場合にこのオプションを使用することをお薦めします。 .It Fl B Ar records ボリュームあたりのキロバイト数です。 この値が出力ブロックサイズの整数倍でない場合、 コマンドはこの値より小さい整数倍値を使用します。 このオプションは、テープ長と記録密度を基にしたテープ容量より 優先されます。 .It Fl b Ar blocksize 出力ブロックあたりのキロバイト数です。 この値が 64 より大きい場合、コマンドは 64 を使用します (バグの節を参照してください)。 デフォルトのブロックサイズは 10 です。 .It Fl c カートリッジテープドライブ用に、記録密度とテープ長のデフォルトをそれぞれ 8000 bpi、1700 feet に変更します。 .It Fl D Ar dumpdates .Pa dumpdates ファイルの代替パスを指定します。 デフォルトは .Pa /etc/dumpdates です。 .It Fl d Ar density テープの記録密度を .Ar density に設定します。デフォルトは 1600BPI です。 .It Fl f Ar file バックアップの出力先ファイルを指定します。 出力先ファイルとしては、 .Pa /dev/sa0 (テープドライブ)や .Pa /dev/fd1 (フロッピディスクドライブ)のようなデバイスファイル、 通常ファイル、 .Ql Fl (標準出力)を指定することができます。 複数のファイル名を、コンマで区切って一つの引数として指定する ことができます。 各ファイルは、リストされた順に一つのダンプボリュームに使用されます。 指定した名前の数より多くのボリュームが必要な場合、 メディアの交換を要求した後、最後のファイル名を残りのすべての ボリュームに使用します。 ファイル名が、 .Dq host:file または、 .Dq user@host:file の形式である場合、 .Nm は、 .Xr rmt 8 を使用してリモートホスト上の指定されたファイルに書き込みます。 リモートの .Xr rmt 8 のデフォルトのパス名は .Pa /etc/rmt ですが、環境変数 .Ev RMT の値が優先されます。 .It Fl h Ar level ダンプレベルが .Ar level 以上の時に、ユーザが指定した .Dq nodump フラグ .Pq Dv UF_NODUMP に従います (h: honor the flag)。 デフォルトの honor レベルは 1 ですから、 そのようなファイルは、インクリメンタルダンプからは省かれますが、 フルバックアップには含まれます。 .It Fl k リモートのテープサーバとの通信でケルベロス認証を使います。 (このオプションが有効な状態で .Nm がコンパイルされた場合にのみ利用できます。) +.It Fl L +ライブファイルシステムをダンプ中であることを +.Nm +に通知します。 +一貫性のあるダンプイメージを得るために、 +.Nm +はファイルシステムのスナップショットを取り、スナップショットをダンプします。 +ダンプ完了時に、スナップショットは削除されます。 .It Fl n .Nm がオペレータに注意を促す時に、 .Xr wall 1 に似た方法で .Dq operator グループに属するすべてのユーザにメッセージを送ります。 .It Fl s Ar feet テープの容量を計算する時に記録密度とともに使います。 この容量を超えた場合に、 .Nm は新しいテープを要求します。 このオプションはやや控え目に指定することをお勧めします。 デフォルトのテープの長さは、2300 フィートです。 .It Fl S バックアップの大きさと必要なテープ数の見積もりを表示し、 実際のダンプを実行せずに終了します。 .It Fl T Ar date .Pa dumpdates ファイル から得られた日時の代わりに、指定された date をダンプの起点として 使います。date の形式は .Xr ctime 3 のそれと同じです。このオプションは期間を指定してバックアップを 取るダンプスクリプトで有用です。 .Fl T オプションは .Fl u オプションと同時には指定できません。 .It Fl u ダンプが成功した後で、 .Pa dumpdates ファイルを更新します。 .Pa dumpdates ファイル は人が読めるファイルであり、各行に以下のレコードが フリーフォーマットで記録されています : ファイルシステム名、インクリメントレベル、 .Xr ctime 3 形式のダンプ日付。 各レベルとファイルシステムごとにエントリが一つだけ存在します。 必要なら、 .Pa dumpdates ファイル の各フィールドを編集しても構いません。 .Pa dumpdates ファイルのデフォルトは .Pa /etc/dumpdates ですが、 .Fl D を使用してこれを変更可能です。 .It Fl W ダンプの必要があるファイルシステムをオペレータに表示します。 この情報は .Pa dumpdates ファイル と .Pa /etc/fstab ファイルから集められます。 .Nm は、 .Pa dumpdates ファイル の中の各ファイルシステム毎に最新のダンプ日付とレベルを示し、 ダンプするべきファイルシステムを明らかにします。 .Fl W オプションが指定された場合、その他のすべてのオプションは無視され、 .Nm は直ちに終了します。 .It Fl w W と同様ですが、ダンプの必要のあるファイルシステムのみを表示します。 .El .Pp .Dq nodump フラグ .Pq Dv UF_NODUMP が設定されたディレクトリおよび通常ファイルと、 そのようなディレクトリ配下のすべては、省略されます。 .Fl h オプションに従います。 .Pp .Nm ユーティリティは、以下に示す場合にオペレータの介入を要求します : テープの終了、 ダンプの終了、 テープ書き込みエラー、 テープオープンエラー、 ディスク読み込みエラー (32 回を越えた場合)。 処理を続けられない時や何か大変まずい事態になった場合には、 .Nm は、 .Fl n オプションがあればすべてのオペレータへ警告したうえで、 .Em dump の制御端末上でオペレータとやりとりします。 .Nm コマンドからのすべての質問には、 .Dq yes または .Dq no で適切に答えなければなりません。 .Pp フルダンプの実施には多くの時間と労力がかかるので、 .Nm は各テープボリュームの先頭にチェックポイントを設定します。 何らかの理由により、あるボリュームの書き込みを失敗した場合には、 テープの巻き戻し、排出、新しいテープのマウントの後で、 .Nm はオペレータの許可の下でチェックポイントから実行を再開します。 .Pp .Nm ユーティリティは、処理の進行を (5 分毎または .Dv SIGINFO 受信時に) 定期的にオペレータに報告します。 報告には、少なめに推定される書き込みブロック数、 必要なテープ数、完了までの時間、テープ交換までの時間、 を含みます。 .Nm に使っている端末が使用中であることが他人にも分かるように、 このメッセージは冗長になっています。 .Pp ディスクに壊滅的なトラブルが起きた時に、 バックアップテープやファイルからディスクを復元するために 必要な時間は、 インクリメンタルダンプを適当なシーケンスで実行する事によって 最小にする事ができます。 最小のテープ数でこれを行なう効果的な方法を示します。 .\" staggering .Bl -bullet -offset indent .It 常にレベル 0 のバックアップから開始します。例えば以下の通りです。 .Bd -literal -offset indent /sbin/dump -0u -f /dev/nsa0 /usr/src .Ed .Pp これを一ヵ月か二ヵ月毎に新しいテープに対して実施し、 ずっと保存します。 .It 0 レベルのダンプの後は、アクティブなファイルシステムのダンプを、 修正ハノイの塔アルゴリズムによる 次の様なダンプレベルシーケンスによって、毎日行います。 .Bd -literal -offset indent 3 2 5 4 7 6 9 8 9 9 ... .Ed .Pp 毎日のダンプには、一週間毎に繰り返し使われる事になる 一定の数のテープを使う事ができます。 週毎にレベル 1 ダンプを行ない、毎日のハノイ・シーケンスは レベル 3 から開始します。 週毎のダンプには、ダンプするファイルシステム毎に、これも繰り返し 使われる事になる一定数のテープを使います。 .El .Pp 何ヵ月かの後、毎日と毎週のテープはダンプサイクルから順に外し、 新品のテープを導入すべきです。 .Sh 環境変数 環境変数 .Ev RMT は、リモートの .Xr rmt 8 プログラムのパス名を決定するのに用いられます。 .Sh 関連ファイル .Bl -tag -width /etc/dumpdates -compact .It Pa /dev/sa0 デフォルトのダンプテープユニット .It Pa /etc/dumpdates ダンプの日付を記録するファイル (これは変更可能です。 .Fl D オプションを参照してください) .It Pa /etc/fstab ダンプテーブル : ファイルシステムと頻度を決めるファイル .It Pa /etc/group .Em operator グループを検索する .El .Sh 関連項目 .Xr chflags 1 , .Xr fstab 5 , .Xr restore 8 , .Xr rmt 8 .Sh 診断 詳しいメッセージがたくさん出ます。 .Pp 正常時は終了コード 0 で終了します。 開始時のエラーは終了コード 1 で、 異常終了は終了コード 3 で表されます。 .Sh バグ 32 個未満のファイルシステムからの読み取りエラーは無視されます。 .Pp 各リール (ボリューム) ごとに新たなプロセスが作られ、 リールを書き終った親プロセスは テープ全体の書き込みが終るまで待っています。 .Pp 現状では、 .Xr physio 9 スライスのリクエストは 64 KB の塊になります。したがって、それより大きな 出力ブロックサイズを使用することはできず、 .Nm はこれが発生するのを防ぎます。 .Pp .Nm ユーティリティの .Fl W や .Fl w オプションは、 .Pa /etc/fstab にリストされていても、 .Pa dumpdates ファイル に記録のないファイルシステムについては報告しません。 .Pp .Nm コマンドが、 ダンプシーケンスについて知っていて、 使い散らかしたテープの使用履歴を管理でき、 どのテープをマウントすれば良いかオペレータに教えてくれ、 .Xr restore を実行するオペレータをもっと助けてくれたら、 もっと使いやすいでしょうね。 .Pp セキュリティ的な歴史により、 .Nm ユーティリティは、 root 以外のユーザでリモートバックアップを行うことはできません。 これは、 .Fx の今後のバージョンでは修正されるでしょう。 現状では、(従来通り) setuid されていれば正常に動作しますが、 セキュリティ的なリスクを伴います。 .Sh 歴史 .Nm ユーティリティは、 .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/edquota.8 b/ja_JP.eucJP/man/man8/edquota.8 index dc1d8a9bfc..e159ba3304 100644 --- a/ja_JP.eucJP/man/man8/edquota.8 +++ b/ja_JP.eucJP/man/man8/edquota.8 @@ -1,243 +1,246 @@ .\" Copyright (c) 1983, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Robert Elz at The University of Melbourne. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)edquota.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/edquota/edquota.8,v 1.15 2002/09/07 12:26:07 sobomax Exp % +.\" %FreeBSD: src/usr.sbin/edquota/edquota.8,v 1.17 2002/12/12 17:26:02 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt EDQUOTA 8 .Os .Sh 名称 .Nm edquota .Nd ユーザの割り当て制限を変更する .Sh 書式 .Nm .Op Fl u .Op Fl f Ar fspath .Op Fl p Ar proto-username .Ar username ... .Nm .Op Fl u -.Fl e Ar fspath Ns Op : Ns Ar bslim Ns Op : Ns Ar bhlim Ns Op : Ns Ar islim Ns Op : Ns Ar ihlim +.Fl e +.Sm off +.Ar fspath Op : Ar bslim Op : Ar bhlim Op : Ar islim Op : Ar ihlim +.Sm on .Op Fl e Ar ... .Ar username ... .Nm .Fl g .Op Fl f Ar fspath .Op Fl p Ar proto-groupname .Ar groupname ... .Nm .Fl g -.Fl e Ar fspath Ns Op : Ns Ar bslim Ns Op : Ns Ar bhlim Ns Op : Ns Ar islim Ns Op : Ns Ar ihlim +.Fl e +.Sm off +.Ar fspath Op : Ar bslim Op : Ar bhlim Op : Ar islim Op : Ar ihlim +.Sm on .Op Fl e Ar ... .Ar groupname ... .Nm .Fl t .Op Fl u .Op Fl f Ar fspath .Nm .Fl t .Fl g .Op Fl f Ar fspath .Sh 解説 .Nm ユーティリティは割り当て制限を変更するエディタです。 デフォルトで(または .Fl u オプションが指定された場合)は、 コマンドラインから 1 人以上のユーザを指定できます。 それぞれのユーザの現在の割り当て制限を、 .Tn ASCII テキストで記述した一時ファイルが作成されます。 ユーザ割り当て制限が設定されているファイルシステムは .Pa /etc/fstab の記述から検索します。 次に、 作成された .Tn ASCII ファァイルを編集できるようにエディタが起動されます。 環境変数 .Ev EDITOR で指定されていなければ、 .Xr vi 1 が起動されます。 .Pp このエディタ上で、 割り当て制限を変更したり、 追加したりできます。 割り当て制限値を 0 に設定することは、 割り当て制限を行わないことを示します。 ハードリミット値を 1 に設定することは、 ファイルを作成できないようにすることを意味します。 ソフトリミット値を 1 に設定し、 ハードリミットを 0 に設定することは、 一時的な用途にのみ割り当てを許可することを意味します ( .Fl t の項を参照)。 現在使用量は参考のためにのみ出力され、 変更しても意味はありません。 .Pp エディタを終了すると、 .Nm は一時ファイルを読み込み、 変更を反映するよう割り当て制限用バイナリファイルを書き換えます。 .Pp .Fl p オプションが指定された場合、 .Nm は、指定されたユーザに proto-username に対する設定をコピーします。 これは、 複数のユーザに割り当て制限を設定する一般的な方法です。 制限を設定するユーザとして数字で uid の範囲 (例えば、1000-2000) が 指定されたとき、 .Nm は、指定された範囲の uid のユーザについて設定をコピーします。 これにより、まとめてユーザにデフォルトの制限を設定することが出来ます。 制限を設定する uid は、 .Pa /etc/passwd に書かれていない値でも構いません。 .Pp -.Fl e Ar fspath Ns Op : Ns Ar bslim Ns Op : Ns Ar bhlim Ns Op : Ns Ar islim Ns Op : Ns Ar ihlim +.Fl e +.Sm off +.Ar fspath Op : Ar bslim Op : Ar bhlim Op : Ar islim Op : Ar ihlim +.Sm on オプションのうち 1 個以上が指定された場合、 .Nm は、 .Ar fspath で示されるファイルシステムに対し -.Ar bslim , -.Ar bhlim , -.Ar islim , -.Ar ihlim +.Ar bslim , bhlim , islim , ihlim で定義される制限を非対話的に設定します。 ここで .Ar bslim はブロック数のソフト制限、 .Ar bslim はブロック数のハード制限、 .Ar islim はファイル数のソフト制限、 .Ar ihlim はファイル数のハード制限です。 -.Ar bslim , -.Ar bhlim , -.Ar islim , -.Ar ihlim +.Ar bslim , bhlim , islim , ihlim 値のいずれかが省略された場合、それは 0 と仮定され、 制限無しとなることを示します。 .Pp .Fl f オプションが指定された場合、 .Nm は .Ar fspath で指定されたファイルシステムのみの制限を読み取って変更します。 .Ar fspath 引数は、特殊デバイスでもファイルシステムマウントポイントでも構いません。 本オプションの第一義は、全ファイルシステムの制限レコードを書き換えてしまう .Fl p オプションの影響範囲を設定することです。 .Pp .Fl g オプションが指定された場合、 .Nm はコマンドラインで指定された 1 つ以上のグループに 対する割り当て制限を変更します。 .Fl p オプションを .Fl g オプションと いっしょに使用することにより、 .Fl p オプションで指定したグループの設定を 他のグループにコピーすることができます。 同様に、 .Fl e オプションを .Fl g オプションといっしょに使用することにより、 列挙したグループの集合の制限を非対話的に設定することができます。 .Pp ユーザはある一定の猶予期間だけ、 ソフトリミットを超えてファイルシステムを利用することができます。 猶予期間を過ぎるとソフトリミットは ハードリミットと同じ意味を持つようになり、 それ以上のファイルの割り当てができなくなります。 デフォルトの猶予期間は .Pa /usr/include/ufs/ufs/quota.h で定義されています。 .Fl t オプションにより猶予期間を変更することができます。 デフォルトで、 あるいは .Fl u オプションを 指定して起動した場合は、 .Pa /etc/fstab に指定してあるすべてのユーザ割り当て制限に対して猶予期間が設定されます。 .Fl g オプションを指定して 起動した場合は、 .Pa /etc/fstab に指定してあるすべてのグループ割り当て制限に対して猶予期間が設定されます。 猶予期間は、 日、 時、 分、 秒を指定して設定することができます。 猶予期間を 0 に設定することは、 デフォルトの猶予期間を指定したものとみなされます。 また、 猶予期間を 1 秒に設定することは、 猶予期間なしとみなされます。 .Pp スーパユーザのみが割り当て制限を変更することができます。 .Sh 関連ファイル .Bl -tag -width quota.group -compact .It Pa quota.user ファイルシステムのルートにあるユーザ割り当て制限に関するデータ .It Pa quota.group ファイルシステムのルートにあるグループ割り当て制限に関するデータ .It Pa /etc/fstab ファイルシステムの名前と位置を読み取る .El .Sh 関連項目 .Xr quota 1 , .Xr quotactl 2 , .Xr fstab 5 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr repquota 8 .Sh 診断 アクセス不可能なファイルに対して、様々なメッセージを出力します。 diff --git a/ja_JP.eucJP/man/man8/fixmount.8 b/ja_JP.eucJP/man/man8/fixmount.8 index b7b765988d..63f6ba9b85 100644 --- a/ja_JP.eucJP/man/man8/fixmount.8 +++ b/ja_JP.eucJP/man/man8/fixmount.8 @@ -1,195 +1,195 @@ .\" .\" Copyright (c) 1997-1999 Erez Zadok .\" Copyright (c) 1990 Jan-Simon Pendry .\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" .\" %Id: fixmount.8,v 1.2 1999/01/10 21:54:26 ezk Exp % -.\" %FreeBSD: src/contrib/amd/fixmount/fixmount.8,v 1.7 2001/02/01 17:12:39 ru Exp % +.\" %FreeBSD: src/contrib/amd/fixmount/fixmount.8,v 1.8 2002/12/12 17:25:52 ru Exp % .\" $FreeBSD$ .\" .Dd February 26, 1993 .Dt FIXMOUNT 8 .Os .Sh "名称" .Nm fixmount .Nd リモートマウントエントリを修正する .Sh "書式" .Nm .Op Fl adervq .Op Fl h Ar name .Ar host \&... .Sh "解説" .Nm は、 .Xr showmount 8 の一種で、 リモートの .Xr mountd 8 デーモンの中の腐ったマウントエントリを削除することができます。 オプションで指定するアクションは、 .Ar host それぞれに対して順次適用されます。 .Sh "オプション" .Bl -tag -width Ds .It Fl a Fl d Fl e このオプションは、ローカルホストに属すエントリのみが表示されるという 点を除けば、 .Xr showmount 8 のそれのように動作します。 .It Fl r .Ar host 上のリモートマウントエントリで現在のマウントと一致しないもの、 すなわちクラッシュにより残されてしまったエントリや、 不適切なマウントプロトコルの結果生じたエントリなどを削除します。 実際にマウントされているかどうかは、 .Pa /etc/mtab にあるエントリを用いて確認します。 .It Fl v リモートのマウントを確認します。 腐ったエントリひとつひとつについて通知メッセージが表示される 点を除けば、 .Fl r と同様です。 リモートマウントテーブルは変更されません。 .It Fl A リモートの mountd に対して、 .Em すべて のファイルシステムがアンマウントされてしまっていることを宣言する コマンドを発行します。このコマンドは十分注意して用いるべきです。 というのは、 ローカルで今なおマウントしているファイルシステムの有無に かかわらず、ローカルシステムに属すリモートマウントエントリの すべてを削除してしまうからです。 .It Fl v 静かにします。タイムアウトや、 .Dq Program not Registered すなわち、リモートホストが RPC をサポートしていないことや、 .Nm mountd を実行していないことによるエラーメッセージを抑止します。 .It Fl h Ar name ローカルホスト名が .Ar name であるかのように振舞います。 これは、ローカルホスト名が変更されたあとで、古い名前を使っている rmtab エントリがリモートマシン上に残っている場合に有用です。 残念ながら、mountd のほとんどは、このようなエントリの削除をうまく 扱うことができません。ですから、このオプションは、 .Fl v だけと組み合わせて使うと有用です。 .Pp このオプションは、リモートで記録されたホスト名とローカルのホスト名を アドレスで比較する際の時間を節約することにもなります。 .El .Sh "関連ファイル" .Bl -tag -width /axx .It Pa /etc/mtab 現在のマウントのリスト。 .It Pa /etc/rmtab .Tn NFS サーバ上にある、リモートマウントエントリのバックアップファイル。 .El .Sh "関連項目" .Xr mtab 5 , .Xr rmtab 5 , .Xr mountd 8 , .Xr showmount 8 .Sh "バグ" .Pa /etc/mtab それ自身の情報を確認しようとすることは一切しません。 .Pp スワップファイルのマウントは .Pa /etc/mtab に記録されないため、 そのようなマウントが実際に生じているかどうかを判断するために、 SunOS 固有の判断の工夫を用いています (文字列 .Ql swap を .Ql root と置換して、その結果のパスを確認しています)。 .Pp サーバ上のシンボリックリンクは、リモートエントリのパスと .Pa /etc/mtab の中のパスとが異なる原因になります。 このような事象の発生を捕まえるには、 .Em ローカルの マウントポイントがリモートエントリと同一の場合に、ファイルシステムが マウントされていると考えることです。 例えば、SunOS のディスクレスクライアント上の .Pa server:/export/share/sunos.4.1.1 は、実際は .Pa /usr/share です。 ローカルのマウントポイントが同様に .Pa /usr/share であるから、このマウントを正しく扱うことができるのです。 .Pp ローカルホスト名 (または名前の逆引きが返すもの) が変更された後で、 リモートの .Nm mountd の中の無効(stale)エントリをクリアする方法はありません。 このような場合の面倒を見るためには、リモートの .Pa /etc/rmtab を編集し、 .Nm mountd を再スタートさせる必要があります。 .Pp .Nm mountd 呼び出しの RPC タイムアウトの変更は、再コンパイルするしかありません。 クライアントハンドル生成のデフォルトは 2 秒で、RPC 呼び出しの デフォルトは 5 秒です。 .Sh "作者" .An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , Department of Computing, Imperial College, London, UK. .Pp .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An 他の作者 と .Nm am-utils に貢献した人のリストは、 .Nm am-utils とともに配布されるファイル .Nm AUTHORS の中にあります。 .Sh "歴史" .Nm ユーティリティは .Fx 3.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/fsinfo.8 b/ja_JP.eucJP/man/man8/fsinfo.8 index 2f0dc84a6a..9de7597bbe 100644 --- a/ja_JP.eucJP/man/man8/fsinfo.8 +++ b/ja_JP.eucJP/man/man8/fsinfo.8 @@ -1,185 +1,185 @@ .\" .\" Copyright (c) 1997-1999 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 1999/01/10 21:54:28 ezk Exp % -.\" %FreeBSD: src/contrib/amd/fsinfo/fsinfo.8,v 1.6 2001/02/01 17:12:45 ru Exp % +.\" %FreeBSD: src/contrib/amd/fsinfo/fsinfo.8,v 1.7 2002/12/12 17:25:52 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 26, 1999 .Dt FSINFO 8 .Os .Sh 名称 .Nm fsinfo .Nd サイト規模 (サイト単位) のファイルシステム情報の管理 .Sh 書式 .Nm .Op Fl qv .Op Fl a Ar autodir .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_prefix .Op Fl I Ar dir .Oo .Fl D .Ar name Ns Op = Ns Ar string .Oc .Op Fl U Ar name .Ar config ... .Sh 解説 .Nm は、システム設定ファイルを読み込んで、 .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 Xo .Ar name Ns Op = Ns Ar string .Xc 設定ファイルを読み込むときのプリプロセッサ用に、シンボル .Ar name を定義します。 .Em #define ディレクティブと等価です。 .It Fl I Ar dir このオプションは、設定ファイルのためにプリプロセッサに渡されます。 インクルードファイルを探すディレクトリを指定します。 .It Fl U Ar name シンボル .Ar name の初期定義を除去します。 .Fl D オプションの逆です。 .It Ar config 1 個以上の設定ファイルを .Nm fsinfo の入力として渡します。 .El .Pp .Nm コマンドの詳細は、Amd --- The 4.4BSD Automounter と .Xr info 1 の .Nm amd セクションに記述されています。 .Sh 関連項目 .Xr amd 8 , .Xr mount 8 , .Xr mountd 8 .Sh 歴史 .Nm は .Bx 4.4 で追加されました。 diff --git a/ja_JP.eucJP/man/man8/ftpd.8 b/ja_JP.eucJP/man/man8/ftpd.8 index 36332f8dd1..11a0096040 100644 --- a/ja_JP.eucJP/man/man8/ftpd.8 +++ b/ja_JP.eucJP/man/man8/ftpd.8 @@ -1,521 +1,521 @@ .\" 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 -.\" %FreeBSD: src/libexec/ftpd/ftpd.8,v 1.54 2002/08/23 09:06:27 yar Exp % +.\" %FreeBSD: src/libexec/ftpd/ftpd.8,v 1.55 2002/11/25 15:20:06 ru Exp % .\" .\" $FreeBSD$ .Dd January 27, 2000 .Dt FTPD 8 .Os .Sh 名称 .Nm ftpd .Nd インターネットファイル転送プロトコルサーバ .Sh 書式 .Nm -.Op Fl 46AdDEmMoOrRSUvW +.Op Fl 46ADdEMmOoRrSUvW .Op Fl l Op Fl l .Op Fl a Ar address .Op Fl p Ar file -.Op Fl t Ar timeout .Op Fl T Ar maxtimeout +.Op Fl t Ar timeout .Op Fl u Ar umask .Sh 解説 .Nm ユーティリティは、インターネットファイル転送プロトコルサーバプロセスです。 このサーバは .Tn TCP プロトコルを用いて、 .Dq ftp サービスに割り当てられたポートを listen() します。 .Dq ftp サービスについては、 .Xr services 5 を参照して下さい。 .Pp 利用可能なオプションは以下の通りです: .Bl -tag -width indent .It Fl 4 .Fl D が指定されている場合、IPv4 接続を受け付けます。 .Fl 6 もまた指定されている場合、IPv4 接続を AF_INET6 ソケット経由で受け付けます。 .Fl 6 が指定されていない場合、IPv4 接続を AF_INET ソケット経由で受け付けます。 .It Fl 6 .Fl D が指定されている場合、AF_INET6 ソケット経由の接続を受け付けます。 +.It Fl A +匿名 ftp アクセスのみ許可します。 .It Fl a .Fl D オプションが指定されている場合、 .Ar address で指定されたアドレスに対する接続のみを許可します。 -.It Fl A -匿名 ftp アクセスのみ許可します。 -.It Fl d -syslog の -.Dv LOG_FTP -のファシリティ (facility) を用いてデバッグ情報を出力します。 .It Fl D このオプションがセットされると、 .Nm は制御端末を切り離してデーモンとなり、 FTP ポートへの接続要求を待ち、 子プロセスを生成して接続要求に対応します。 この方式は .Nm を .Xr inetd 8 から起動するよりオーバヘッドが少ないため、 処理量の多いサーバで負荷を低減するのに役立ちます。 +.It Fl d +syslog の +.Dv LOG_FTP +のファシリティ (facility) を用いてデバッグ情報を出力します。 .It Fl E EPSV コマンドを無効化します。 古いファイアウォールの後ろにサーバがある場合に有用です。 .It Fl l .Xr ftp 1 セッションそれぞれの結果を、成功も失敗もともども syslog の .Dv LOG_FTP のファシリティを用いて ログに残します。 このオプションが 2 回指定されると、 retrieve (get), store (put), append, delete, make directory, remove directory, rename の各操作およびそれらの引数で指定された ファイル名も記録されます。 -注意: -.Dv LOG_FTP -メッセージはデフォルトでは +デフォルトでは、 .Xr syslogd 8 -によって表示されません。場合によっては -.Xr syslogd 8 -の設定ファイルでそれを有効にしなければなりません。 +はこれらを +.Pa /var/log/xferlog +に記録します。 +.It Fl M +匿名ユーザによるディレクトリ作成を禁止します。 .It Fl m ファイルシステムのパーミッションが許す限りにおいて、 匿名ユーザによる既存のファイルの上書きや修正を許します。 デフォルトでは、匿名ユーザは既存のファイルを修正できず、 特に、アップロードされるファイルは一意な名前で作成されます。 -.It Fl M -匿名ユーザによるディレクトリ作成を禁止します。 -.It Fl o -サーバを書き込み専用モードにします。 -RETR が無効化され、 -ダウンロードを禁止します。 .It Fl O 匿名ユーザのみに対し、サーバを書き込み専用モードにします。 匿名ユーザに対しては、RETR が無効化され、 匿名ダウンロードを禁止します。 本オプションは、 .Fl o も設定されている場合には、効果がありません。 +.It Fl o +サーバを書き込み専用モードにします。 +RETR が無効化され、 +ダウンロードを禁止します。 .It Fl p .Fl D オプションが指定されている場合、 デーモンのプロセス ID を .Ar file に書き出します。 -.It Fl r -サーバを、読み取り専用モードにします。 -ローカルファイルを修正し得る全コマンドは、無効化されます。 .It Fl R このオプションがセットされると、 .Nm は、ユーザ操作のセキュリティチェックや PORT 要求の制限に関して 古き良き時代の振る舞いに戻ります。 現在では、 .Nm はリモートユーザのホストの非特権ポートに向けられた PORT コマンド だけを用います (これは FTP プロトコルの仕様に違反していますが、 いくつかのセキュリティホールを閉じることができます)。 +.It Fl r +サーバを、読み取り専用モードにします。 +ローカルファイルを修正し得る全コマンドは、無効化されます。 .It Fl S このオプションがセットされると、 .Nm は匿名 (anonymous) によるファイルダウンロードの全てについてのログを、ファイル .Pa /var/log/ftpd が存在する場合に限り、このファイルに残します。 -.It Fl t -何も操作しないで放置した場合のタイムアウト時間を -.Ar timeout -秒に設定します (デフォルトは 15 分)。 .It Fl T クライアントは異なったタイムアウト秒数を要求することもできます。 .Fl T オプションにより、 .Ar タイムアウト までの最大待ち時間を設定できます。 デフォルトは 2 時間です。 -.It Fl u -デフォルトのファイル生成マスクを -.Ar umask -にします。 -この数値は 8 進数値であることを期待されます。 -詳細は -.Xr umask 2 -を参照してください。 +.It Fl t +何も操作しないで放置した場合のタイムアウト時間を +.Ar timeout +秒に設定します (デフォルトは 15 分)。 .It Fl U 以前のバージョンの .Nm では、パッシブモードのクライアントがサーバにデータ接続を要求すると、 サーバは 1024 〜 4999 の範囲のデータポートを使用していました。 現在のバージョンでは、サーバはデフォルトでは 49152 〜 65535 の範囲の データポートを使用しますが、 このオプションを指定することにより、以前の振る舞いに戻ります。 +.It Fl u +デフォルトのファイル生成マスクを +.Ar umask +にします。 +この数値は 8 進数値であることを期待されます。 +詳細は +.Xr umask 2 +を参照してください。 .It Fl v .Fl d と同じ意味です。 .It Fl W FTP セッションを .Pa /var/log/wtmp に記録しません。 .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 リクエストをサポートしています。 リクエストの文字の大文字小文字の区別は無視されます。 印 [RW] が付いているリクエストは、 .Fl r が指定されると無効化されます。 .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 [RW]" .It CDUP Ta "change to parent of current working directory" .It CWD Ta "change working directory" .It DELE Ta "delete a file [RW]" .It EPRT Ta "specify data connection port, multiprotocol" .It EPSV Ta "prepare for server-to-server transfer, multiprotocol" .It HELP Ta "give help information" .It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" .It LPRT Ta "specify data connection port, multiprotocol" .It LPSV Ta "prepare for server-to-server transfer, multiprotocol" .It MDTM Ta "show last modification time of file" .It MKD Ta "make a directory" .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 [RW]" .It RNFR Ta "specify rename-from file name [RW]" .It RNTO Ta "specify rename-to file name [RW]" .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 [RW]" .It STOU Ta "store a file with a unique name [RW]" .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) [RW]" .It XPWD Ta "print the current working directory (deprecated)" .It XRMD Ta "remove a directory (deprecated) [RW]" .El .Pp 以下に示した非標準コマンドあるいは -.Tn UNIX +.Ux に特有のコマンドが、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 [RW], e.g. ``SITE CHMOD 755 filename''" .It MD5 Ta "report the files MD5 checksum, e.g. ``SITE MD5 filename''" .It HELP Ta give help information. .El .Pp 注: 匿名ログインの場合、SITE リクエストは無効化されています。 .Pp Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のものは 解釈はされますがインプリメントされていません。 MDTM および SIZE は RFC 959 では規定されていませんが、次に改訂される FTP RFC には登場するでしょう。 サービス拒否攻撃の可能性を除去するために、 現在の転送タイプが ASCII の場合には、 10240 バイトより大きなファイルに対する SIZE リクエストは拒否されます。 .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 ユーティリティは、6 つのルールに従ってユーザの認証を行います。 .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/etc このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 .Xr ls 1 が所有者を数字でなく名前で表示できるようにするために、 ファイル pwd.db ( .Xr passwd 5 参照) 及び .Xr group 5 が必要です。 ファイル .Xr passwd 中のパスワードは使用されませんので、本当のパスワードを入れてはいけません。 ファイル .Pa ftpmotd が存在すると、ログイン成功後、その内容が表示されます。 このファイルのモードは 444 とすべきです。 .It Pa ~ftp/pub 本ディレクトリおよびそれ以下のサブディレクトリは、 ここにファイルを置くことに対して責任のあるユーザおよびグループにより 所有されるべきであり、彼等によってのみ書き込み可能であるべきです (モード 755 または 775)。 .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 .Nm ユーティリティは、 リモートからのファイル一覧表示要求に対応するための内部サポートを持ち、 chroot された環境でもそれ以外でも .Pa /bin/ls を実行しなくなります。 .Pa ~/bin/ls の実行形式ファイルは chroot されたディレクトリになくてよく、 .Pa ~/bin ディレクトリも存在する必要はありません。 .Sh 関連ファイル -.Bl -tag -width /etc/ftpwelcome -compact +.Bl -tag -width ".Pa /var/log/xferlog" -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 匿名による転送のログファイル。 +.It Pa /var/log/xferlog +セッションログのデフォルトの置場。 .El .Sh 関連項目 .Xr ftp 1 , .Xr key 1 , .Xr umask 2 , .Xr getusershell 3 , .Xr login.conf 5 , .Xr inetd 8 , .Xr syslogd 8 .Sh バグ 特権ポート番号を用いてソケットを作成するために、 ftpd はスーパユーザの権限で実行させて下さい。 サーバはログインユーザの実効ユーザ ID を保持しておき、 アドレスをソケットにバインドする場合にのみスーパユーザの権限を使います。 考えられるセキュリティホールについてはかなり詳細にわたって調べ込みをおこないましたが、 それでも不完全かもしれません。 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 から登場しました。 IPv6 サポートは WIDE Hydrangea IPv6 スタックキットで追加されました。 diff --git a/ja_JP.eucJP/man/man8/growfs.8 b/ja_JP.eucJP/man/man8/growfs.8 index 48f52b1ab8..05c1427606 100644 --- a/ja_JP.eucJP/man/man8/growfs.8 +++ b/ja_JP.eucJP/man/man8/growfs.8 @@ -1,190 +1,190 @@ .\" Copyright (c) 2000 Christoph Herrmann, Thomas-Henning von Kamptz .\" Copyright (c) 1980, 1989, 1993 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Christoph Herrmann and Thomas-Henning von Kamptz, Munich and Frankfurt. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors, as well as Christoph .\" Herrmann and Thomas-Henning von Kamptz. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $TSHeader: src/sbin/growfs/growfs.8,v 1.3 2000/12/12 19:31:00 tomsoft Exp $ -.\" %FreeBSD: src/sbin/growfs/growfs.8,v 1.16 2002/08/29 08:12:09 keramida Exp % +.\" %FreeBSD: src/sbin/growfs/growfs.8,v 1.18 2002/12/12 17:25:55 ru Exp % .\" .\" $FreeBSD$ .Dd September 8, 2000 .Dt GROWFS 8 .Os .Sh 名称 .Nm growfs .Nd 既存の UFS ファイルシステムのサイズを拡張する .Sh 書式 .Nm .Op Fl Ny .Op Fl s Ar size .Ar special .Sh 解説 .Nm ユーティリティは .Xr newfs 8 プログラムを拡張したものです。 .Nm を実行する前に、ディスクは .Xr disklabel 8 を用いて大きなサイズに設定されていなければなりません。 ファイルシステムが置かれたスライスの境界を越えて拡張したい場合、 .Nm の実行前に .Xr fdisk 8 を使用して、当該スライスの大きさを変えてください。 もしボリュームを使っている場合は、 .Xr vinum 8 を用いてディスクを大きくする必要があります。 .Nm は指定されたスペシャルファイル上のファイルシステムのサイズを拡張します。 現在 .Nm ユーティリティは、マウントされていないファイルシステムの拡張しかできません。 マウントされたファイルシステムを拡張しようとしないでください。 システムがパニックするかもしれませんし、 そうするとファイルシステムはもはや使えなくなるでしょう。 .Xr newfs 8 で使用したほとんどのオプションは変更できません。 実際、ファイルシステムのサイズを大きくすることしかできません。 その他の変更を行う場合は .Xr tunefs 8 を使用してください。 .Pp 以下のオプションが使用できます: .Bl -tag -width indent .It Fl N .Dq テストモード 実際にファイルシステムを大きくすることなく、新しいファイルシステムの パラメータを表示します。 .It Fl y .Dq エキスパートモード 通常 .Nm は、データのバックアップを取ったかを尋ねたり、 .Ar special が現在マウントされているかどうかや、指定されたファイルシステムに アクティブなスナップショットがあるかどうかのテストを行います。 しかし、このモードではこれらが抑制されます。 このオプションは最大の注意を払って使って下さい。 .It Fl s Ar size 拡張後のファイルシステムの、セクタ単位の .Ar size を指定します。 この値のデフォルトは .Ar special 内で指定されている raw パーティションのサイズです (言い換えれば .Nm はファイルシステムのサイズを、パーティション全体まで拡張します)。 .El .Sh 使用例 .Dl growfs -s 4194304 /dev/vinum/testvol .Pp は、 .Pa /dev/vinum/testvol に十分な領域がある場合、2GB に .Pa /dev/vinum/testvol を拡張します。 .Sh バグ .Nm ユーティリティは .Fx 3.x から動き始めました。 .Fx 3.x のみにおいて .Nm は、ファイルシステムがマウントされているかどうかを正しく認識できずに エラーメッセージを出して終了することがあります。 その場合は、ファイルシステムがマウントされていないことを確認して、 .Nm .Fl y をしてください。 (安全のため、) 拡張した後、 .Xr fsck 8 をすることもお勧めします。 .Pp ある一定の制限以上に拡張するには、最初のシリンダグループに いくらかの空きブロックがあることが必要です。 最初のシリンダグループに空きが無い場合、 新規に使用可能なシリンダグループに重要なデータ構造が移動されます。 .Fx 3.x では後で .Xr fsck 8 が問題となります。よって、 .Fx 3.x で .Nm を使用するには .Xr fsck 8 のパッチが必要となります。 .Fx 4.4 からはこのパッチは既に .Fx に組み込まれています。 この構造の再配置を避けるには、最初のシリンダグループに対して .Nm ffsinfo .Fl c Ar 0 を行って、CYLINDER GROUP の CYLINDER SUMMARY (内部 cs) 内の .Em nbfree に十分なブロックがあるかどうかを確認することを、現在ではお勧めします。 経験上、デフォルトのファイルシステムのパラメータに対して、 全ファイルシステムのサイズの 2GB 毎に 1 ブロック必要です。 .Pp 通常、 .Nm はこの重要な構造をディスクに書き込んでから後で再度読み取り、 更なる更新を行います。 .Fl N を使用すると、この読み取り操作は予期せぬデータを返してしまいます。 このような理由で、この部分は実際にはシミュレートできないので、 テストモードではスキップします。 .Sh 関連項目 .Xr disklabel 8 , .Xr dumpfs 8 , .Xr fdisk 8 , .Xr ffsinfo 8 , .Xr fsck 8 , .Xr newfs 8 , .Xr tunefs 8 , .Xr vinum 8 .Sh 作者 .An Christoph Herrmann Aq chm@FreeBSD.org .An Thomas-Henning von Kamptz Aq tomsoft@FreeBSD.org .An The GROWFS team Aq growfs@Tomsoft.COM .Sh 歴史 .Nm ユーティリティは .Fx 4.4 で初めて登場しました。 diff --git a/ja_JP.eucJP/man/man8/hlfsd.8 b/ja_JP.eucJP/man/man8/hlfsd.8 index b0fbb6980b..b5c918933a 100644 --- a/ja_JP.eucJP/man/man8/hlfsd.8 +++ b/ja_JP.eucJP/man/man8/hlfsd.8 @@ -1,329 +1,329 @@ .\" .\" Copyright (c) 1997-1999 Erez Zadok .\" Copyright (c) 1989 Jan-Simon Pendry .\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1989 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %Id: hlfsd.8,v 1.2 1999/01/10 21:54:32 ezk Exp % -.\" %FreeBSD: src/contrib/amd/hlfsd/hlfsd.8,v 1.10 2001/08/07 15:48:28 ru Exp % +.\" %FreeBSD: src/contrib/amd/hlfsd/hlfsd.8,v 1.11 2002/12/12 17:25:52 ru Exp % .\" .\" HLFSD was written at Columbia University Computer Science Department, by .\" Erez Zadok and Alexander Dupuy .\" It is distributed under the same terms and conditions as AMD. .\" .\" $FreeBSD$ .\" .Dd September 14, 1993 .Dt HLFSD 8 .Os .Sh 名称 .Nm hlfsd .Nd ホームリンクファイルシステムデーモン .Sh 書式 .Nm .Op Fl fhnpvC .Op Fl a Ar alt_dir .Bk -words .Op Fl c Ar cache-interval .Ek .Op Fl g Ar group .Bk -words .Op Fl i Ar reload-interval .Ek .Op Fl l Ar logfile .Bk -words .Op Fl o Ar mount-options .Op Fl x Ar log-options .Op Fl D Ar debug-options .Op Fl P Ar password-file .Ek .Op linkname Op subdir .Sh 解説 .Nm は、ユーザのホームディレクトリ内のサブディレクトリを指すシンボリックリンク を含むファイルシステムを実装したデーモンです。そのリンクはアクセスしたユーザに 応じて変化します。これは主に、到着したメールをユーザのホームディレクトリに リダイレクトし、どこからでも読めるようにするために設計されました。 .Pp .Nm は .Ar linkname を含むディレクトリ (デフォルトは .Pa /hlfs/home ) に対する .Tn NFS サーバとして自分自身をマウントして動作します。 このディレクトリに対する検索 (lookup) は .Nm が処理し、その検索をどのように解決するかを決定するために パスワードマップを使います。ディレクトリは、存在しなかった場合には作成 されます。シンボリックリンクは、それをアクセスしたユーザの ホームディレクトリに .Ar subdir をつけたものになります。 .Ar subdir が指定されなかった場合の、 .Ar subdir のデフォルトは .Pa .hlfsdir です。このディレクトリも、存在しなかった場合には作成されます。 .Pp .Er SIGHUP を送ると、内部キャッシュのフラッシュを行い、パスワードマップの再読み込みを 行います。また、ログファイルをクローズし、オープンしなおして、 以前のログファイルを消去したり交換します。 .Er SIGUSR1 を送ると、ユーザ ID とホームディレクトリの内部テーブルを .Pa /usr/tmp/hlfsd.dump.XXXXXX にダンプします。 .Sh オプション .Bl -tag -width Ds .It Fl a Ar alt_dir 代わりのディレクトリです。ユーザのホームディレクトリにアクセスできない場合に、 .Nm が返すシンボリックリンクが指すディレクトリの名前です。デフォルトは .Pa /var/hlfs です。このディレクトリは存在しなければ作成されます。ユーザがこのファイルを 読む、またはシステム管理者がこの .Dq lost mail をその所有者に送り直すスクリプトを走らせるということが期待されます。 .It Fl c Ar cache-interval キャッシュする間隔です。 .Nm はこの間隔 (秒単位) でホームディレクトリの有効性をキャッシュします。 .Ar cache-interval 秒以内に確認されたことのあるエントリは再確認されません。 それは、その操作のコストが高く、 そのエントリがまだ有効であることが十分に期待できるからです。 その間隔がたつと、 .Nm はユーザのホームディレクトリの有効性をふたたび確認し、キャッシュの タイムカウンタをリセットします。 デフォルトの .Ar cache-interval は 300 秒 (5 分) です。 .It Fl f 高速に起動させます。 .Nm マウントディレクトリ、代わりのスプールディレクトリ、マウントディレクトリ下に 隠れているシンボリックリンクが存在すること、そのパーミッション、そして その有効性といった起動時の一貫性チェックを、このオプションが与えられたとき にはスキップします。 .It Fl g Ar group 特殊グループ .Va HLFS_GID を .Ar group に設定します。 .Ic comsat (ほかのユーザのメールボックスにアクセスする) といったプログラムは正常に動作するためには .Va HLFS_GID に setgid しておかねばなりません。デフォルトのグループは .Dq hlfs です。グループが与えられなくて、 .Dq hlfs というグループが存在しないなら、この機能は無効になります。 .It Fl h ヘルプです。短いヘルプメッセージを表示し、終了します。 .It Fl i Ar reload-interval マップを再読み込みする間隔です。 .Ar reload-interval 秒ごとに .Nm はパスワードマップを再読み込みします。 .Nm はユーザ ID とホームディレクトリのパスを知るために、パスワードマップが必要です。 .Nm は .Va SIGALRM を用いてパスワードマップを再読み込みします。 .Va SIGHUP を送ると、 .Nm はマップをすぐに再読み込みします。 .Ar reload-interval のデフォルトは 900 秒 (15 分) です。 .It Fl l Ar logfile .Nm がイベントを記録するログファイルを指定します。 .Pa logfile が文字列 .Pa syslog であれば、 .Xr syslog 3 によって、システムログデーモンに .Va LOG_DAEMON ファシリティでログメッセージが送られます。 これはデフォルトです。 .It Fl n 確認しません。 .Nm は返すシンボリックリンクの有効性、またユーザのホームディレクトリに スプールするために十分なディスクスペースがあることを確認しません。 これによって、 .Nm は、現在アクセスできないか、容量がいっぱいであるホームディレクトリへの シンボリックリンクを返すかもしれないという犠牲を払って、スピードアップ します。 デフォルトで、 .Nm はバックグラウンドでシンボリックリンクを確認します。 キャッシュは必要ないので、 .Fl n オプションは .Fl c オプションの意味を無効にします。 .It Fl o Ar mount-options マウントオプションです。 .Nm が .Pa dirname のトップで、自分自身をマウントするために使われるマウントオプションです。 デフォルトで、 .Ar mount-options は .Qq ro に設定されています。 システムがシンボリックリンクのキャッシュをサポートしているのなら、 デフォルトオプションは .Qq ro,nocache に設定されます。 .It Fl p .Va プロセス ID を表示します。 ファイルに保存できるように、標準出力に .Nm のプロセス ID を出力します。 .It Fl v バージョンです。標準エラー出力にバージョン情報を出力します。 .It Fl x Ar log-options 実行時にログをとるためのオプションを指定します。このオプションは、 fatal, error, user, warn, info, map, stats, all から選ばれた コンマ区切りのリストです。 .It Fl C NFS attribute-cache を無効にできないシステムで .Nm を実行させます。メールが失われたり、誤配送されることになりかねないので、 そのようなシステムで、このオプションを用いることは推奨されていません。 attribute-cache を無効にできるシステムではこのオプションは無視されます。 .It Fl D Ar debug-options いろいろなデバッグオプションを選びます。オプションの接頭辞として .Qq no という文字列がついていると、そのオプションの効果を反転させます。 オプションは追加されます。 もっとも便利なオプションは .Em all です。このオプションはデバッグのためだけに使われるので、 そのほかのオプションはここには記しません。 より詳細な解説はプログラムのソースにあります。 .Va SIGUSR1 を送ると .Nm は、内部パスワードマップを .Pa /usr/tmp/hlfsd.dump.XXXXXX にダンプします。 .It Fl P Ar password-file .Ar password-file からユーザ名、ユーザ ID、ホームディレクトリの情報を読みます。 通常 .Nm は、 .Xr getpwent 3 でパスワードのデータベースを読みます。このオプションによりデフォルトの データベースを無効にすることができ、ホームディレクトリ以外にユーザの メールをマップしたいときに便利です。 .Ar password-file のユーザ名、ユーザ ID、ホームディレクトリのフィールドだけを読み、 チェックします。ほかのすべてのフィールドは無視されます。 .Ar password-file は .Ux System 7 のコロン区切りのフォーマット .Xr passwd 5 に従わなければなりません。 .El .Sh 関連ファイル .Bl -tag -width /axx .It Pa /hlfs .Nm が自分自身をマウントし、シンボリックリンク .Pa home を処理するディレクトリです。 .It Pa .hlfsdir ユーザのホームディレクトリ内のデフォルトのサブディレクトリで、 .Nm が返したシンボリックリンク .Pa home のリンク先です。 .It Pa /var/hlfs ユーザのホームディレクトリがアクセスできるかどうか確認できないときの、 .Nm が返したシンボリックリンク .Pa home のリンク先です。 .El .Sh 関連項目 .Xr mail 1 , .Xr getgrent 3 , .Xr getpwent 3 , .Xr mtab 5 , .Xr passwd 5 , .Xr amd 8 , .Xr cron 8 , .Xr mount 8 , .Xr sendmail 8 , .Xr umount 8 .Rs .%T HLFSD: Delivering Email to Your $HOME .%B Proc. LISA-VII, The 7th Usenix System Administration Conference .%D November 1993 .Re .Sh 作者 .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An Alexander Dupuy Aq dupuy@smarts.com , System Management ARTS, White Plains, New York, USA. .Sh 歴史 .Nm ユーティリティは .Fx 3.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/ifconfig.8 b/ja_JP.eucJP/man/man8/ifconfig.8 index ba44f2b601..09bc808f94 100644 --- a/ja_JP.eucJP/man/man8/ifconfig.8 +++ b/ja_JP.eucJP/man/man8/ifconfig.8 @@ -1,725 +1,722 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.64 2002/10/28 03:46:32 chris Exp % +.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.66 2002/11/25 16:01:28 ru Exp % .\" .\" $FreeBSD$ .\" .Dd July 2, 2001 .Dt IFCONFIG 8 .Os .Sh 名称 .Nm ifconfig .Nd ネットワークインタフェースのパラメータの設定を行なう .Sh 書式 .Nm .Op Fl L .Op Fl m .Ar interface .Op Cm create .Op Ar address_family .Oo .Ar address .Op Ar dest_address .Oc .Op Ar parameters .Nm .Ar interface .Cm destroy .Nm .Fl a .Op Fl L .Op Fl d .Op Fl m .Op Fl u .Op Ar address_family .Nm .Fl l .Op Fl d .Op Fl m .Op Fl u .Op Ar address_family .Nm .Op Fl L .Op Fl d .Op Fl u .Op Fl C .Sh 解説 .Nm ユーティリティは、ネットワークインタフェースに対してネットワークアドレス の割り当てを行ない、ネットワークインタフェースのパラメータの設定を行ないます。 .Nm ユーティリティは、システム立ち上げ 時に、マシンが備える各ネットワークインタフェースに対してネットワークアドレス を割り当てるように使用しなければなりません。また、一旦各ネットワークインタフェ ースに対し設定したネットワークアドレスを再定義したり、パラメータの設定を 変えたりすることも可能です。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Ar address .Tn DARPA Ns -Internet ファミリでは、アドレスはホスト名データベース .Xr hosts 5 に登録されているホスト名であるか、もしくは インターネット標準の .Dq ドット表記 です。 .Pp CIDR 表現 (スラッシュ表現としても知られています) もまた、 ネットマスクの表現に使用可能です。 つまり、 .Li 192.168.0.1/16 のようなアドレスを指定可能です。 .Pp .Dq inet6 ファミリでは、 .Li ::1/128 のようなスラッシュ表現を使用して、プレフィックス長も指定可能です。 更なる情報については、後述の .Cm prefixlen パラメータを参照してください。 .\" ゼロックスネットワークシステム(tm)ファミリでは、 .\" アドレスは .\" .Ar net:a.b.c.d.e.f .\" という形式です。 .\" ここで .\" .Ar net .\" は割り当てるネットワーク番号(10進数)、 .\" 残りの .\" .Ar a .\" から .\" .Ar f .\" までは .\" ホスト番号を表す 6 バイトであり 16 進数で指定します。 .\" ホスト番号は IEEE 802 プロトコル (Ethernet, FDDI, Token Ring) .\" インタフェースでは省略可能です。 .\" ホスト番号指定を省略した場合には、 .\" 一番目のインタフェースのハードウェア物理アドレスを .\" すべてのインタフェースにおいて使用します。 .\" .Tn ISO .\" ファミリでは、 .\" ゼロックスファミリと同じ長さのアドレスを、 .\" 長い 16 進数の文字列で指定します。 .\" 違いは、 .\" ドットが続いた場合にはそのバイトは 0 を表すことと、 .\" ドットはオプションであることです .\" (ドットはネットワークバイトオーダの長い数字列を .\" 注意深く扱うために使用します)。 .Pp リンクレベル .Pq Dq link アドレスが、コロン区切りの 16 進数の連続で指定されます。 例えばイーサネットインタフェースに新規 MAC アドレスを 設定するために使用可能ですが、 使用される機構はイーサネットインタフェースに限ったものではありません。 本オプション指定時にインタフェースが既に up である場合、 インタフェースを一時的に down にしてから再度 up にします。 本オプション使用時にインタフェースが既に これは、下位のイーサネットハードウェアの受信フィルタが 正しくプログラムされたことを保証するためです。 .It Ar address_family 他のパラメータの解釈に影響するネットワーク アドレスファミリ を指定します。 インタフェースが異なるプロトコルの送信を異なる名前付け体系で 受けることがあるので、アドレスファミリを指定しておくことをお勧めします。 本コマンドでサポートされるプロトコルファミリは、 .Dq inet , .Dq inet6 , .Dq atalk , .Dq ipx , .\".Dq iso , .Dq link .\" .Dq ns です。 デフォルトは .Dq inet です。 .Dq ether と .Dq lladdr は .Dq link の同義語です。 .It Ar dest_address ポイントツーポイントリンクにおける他端のアドレスを指定します。 .It Ar interface インタフェースパラメータは、 .Dq name unit の形式で表現されます。 例えば .Dq Li ed0 です。 .El .Pp .Nm では以下のパラメータが利用できます: .Bl -tag -width indent .It Cm add .Cm alias パラメータの別名です。 .Bsx との互換性のために導入されました。 .It Cm alias 指定したインタフェースに、ネットワークアドレスを追加して指定します。 これはネットワーク番号を変更した際に、以前のアドレスに送られるパケットを 受けとりたい場合などに便利です。 アドレスが、 本インタフェースの最初のネットワークアドレスと同じサブネット上の場合、 衝突しないネットマスクを指定する必要があります。 通常、 .Li 0xffffffff が最適です。 .It Fl alias 指定したネットワークアドレスを無効にします。本機能は、alias で不正なアドレスを 指定した場合や、すでに指定したアドレスが必要ない場合などに使用します。 誤った NS アドレスをホスト部分とともに指定した場合には、 NS アドレスを全て無効にすることにより再度ホスト部分を指定可能となります。 .It Cm anycast (inet6 のみ) 設定されるアドレスはエニーキャスト (anycast) アドレスであると指定します。 現在の仕様では、ルータのみがエニーキャストアドレスに設定可能です。 エニーキャストアドレスは、 出力 IPv6 パケットの送信元アドレスとしては使用されません。 .It Cm arp アドレス解決プロトコル .Pq Xr arp 4 を用いてネットワークレベルのアドレスとリンクレベル のアドレスの対応を取ることを可能にします (デフォルト)。この機能は、 .Tn DARPA インターネットアドレスと .Tn IEEE 802 の 48 ビット MAC アドレス (Ethernet, FDDI, Token Ring のアドレス) の間の対応を取るように作られています。 .It Fl arp アドレス解決プロトコル .Pq Xr arp 4 の使用を禁止します。 .It Cm broadcast ネットワークに対するブロードキャストアドレスを指定します。 ブロードキャストアドレスのデフォルト値は、 ホスト部のビットがすべて 1 になったアドレスです。 .It Cm debug ドライバ依存のデバッグモードを有効にします。 通常コンソールへのエラーログを有効にします。 .It Fl debug ドライバ依存のデバッグモードを無効にします。 .It Cm promisc インタフェースを、永続的な無差別モードにします。 .It Fl promisc インタフェースの永続的な無差別モードを、無効にします。 .It Cm delete .Fl alias パラメータの別名です。 .It Cm down 指定したネットワークインタフェースに .Dq down とマークします。 .Dq down と マークされたインタフェースに対しては、システムはメッセージの送信を行ない ません。可能であれば、そのインタフェースは受信も不可能となるように リセットされます。この動作は、そのインタフェースを用いる ルーティングを使用しないよう自動的に設定するものではありません。 .It Cm eui64 (inet6 のみ) インタフェースインデックス (IPv6 アドレスの下位 64 ビット) を自動的に埋めます。 .\" .It Cm ipdst .\" リモートネットワーク向け NS パケットをカプセル化している IP パケットを .\" 受信する、インターネットホストを指定するために使用します。 .\" 外見上 point to point リンクが構成され、 .\" 指定されたアドレスは、 .\" デスティネーションの NS アドレスとネットワークアドレスとされます。 .\" .Tn CLNP .\" パケットの IP カプセル化はこれとは異なった方法で実現されます。 .It Cm maclabel Ar label Mandatory Access Control サポートがカーネルで有効化されている場合、 MAC を .Ar label に設定します。 .\" (see .\" .Xr maclabel 7 ) . .It Cm media Ar type ドライバがメディア選択能力を持つ場合、 インタフェースのメディアタイプを .Ar type に設定します。 インタフェースによっては、 複数の異なった物理メディアコネクタのうちのいずれかを 排他的に使用することをサポートします。 例えば、10Mb/s Ethernet インタフェースには .Tn AUI とツイストペアコネクタをサポートするものがあります。 メディアタイプを .Dq 10base5/AUI に設定すると、AUI ポートを現在のアクティブなコネクタとします。 また .Dq 10baseT/UTP に設定すると、ツイストペアをアクティブにします。 使用可能なタイプの完全なリストは、 インタフェースドライバ固有の文書やマニュアルページを参照してください。 .It Cm mediaopt Ar opts ドライバがメディア選択能力を持つ場合、 インタフェースのメディアオプションを設定します。 .Ar opts 引数はコンマで区切ったオプションリストで、インタフェースに適用されます。 使用可能なオプションの完全なリストは、 インタフェースドライバ固有のマニュアルページを参照してください。 .It Fl mediaopt Ar opts インタフェースのメディアオプションを無効にします。 .It Cm tunnel Ar src_addr dest_addr (IP トンネルデバイスのみ) IP トンネルインタフェース .Pq Xr gif 4 用の、 物理的な始点アドレスと終点アドレスを設定します。 引数 .Ar src_addr と .Ar dest_addr は、カプセル化する IPv4/IPv6 ヘッダ用の、外部の始点/終点として解釈されます。 .It Cm deletetunnel 以前に .Cm tunnel で設定した IP トンネルインタフェースの、 物理的な始点アドレスと終点アドレスの設定を解除します。 .It Cm create 指定したネットワーク擬似デバイスを作成します。 ユニット番号無しでインタフェースが指定されると、 任意のユニット番号で新規デバイスを作成しようとします。 任意のデバイスの作成に成功すると、新規デバイス名を標準出力へ表示します。 .It Cm destroy 指定したネットワーク擬似デバイスを破壊します。 .It Cm plumb .Cm create パラメータの別名です。 .Tn Solaris との互換性のためにあります。 .It Cm unplumb .Cm destroy パラメータの別名です。 .Tn Solaris との互換性のためにあります。 .It Cm vlan Ar vlan_tag インタフェースが vlan 擬似インタフェースの場合、vlan タグ値を .Ar vlan_tag に設定します。 この値は 16 ビット数値であり、vlan インタフェースから送られるパケットの 802.1Q vlan ヘッダの作成に使用されます。 .Cm vlan と .Cm vlandev は同時に設定される必要があることに注意してください。 .It Cm vlandev Ar iface インタフェースが vlan 擬似デバイスの場合、物理インタフェース .Ar iface を関連付けます。 vlan インタフェースから送信されるパケットは、 802.1Q vlan カプセル化付きで、指定された物理インタフェース .Ar iface へ向けて転換 (divert) されます。 親インタフェースが受信した 802.1Q カプセル化付きのパケットに 正しい vlan タグが付いていた場合、 そのパケットは関連付けられた vlan 擬似インタフェースへ転換されます。 vlan インタフェースは、 親インタフェースのフラグと親のイーサネットアドレスが割り当てられます。 .Cm vlandev と .Cm vlan は同時に設定される必要があります。 vlan インタフェースが既に物理インタフェースと関連付けられている場合、 このコマンドは失敗します。 別の物理インタフェースへ関連付けを変更するには、 既存の関連付けをまずクリアする必要があります。 .Pp 注: vlan インタフェースで -.Cm link0 -フラグをセットした場合、vlan 擬似インタフェースの振舞いが変わります: +ハードウェアタグ機能を御にした場合、 +vlan 擬似インタフェースの振舞いが変わります: 親インタフェースが自身の vlan タグの挿入と取り出しをサポートすること、 vlan インタフェースが親に対して無修正でパケットを渡すべきことを、 -.Cm link0 -は vlan インタフェースに対して通知します。 +vlan インタフェースは認識します。 .It Fl vlandev Ar iface ドライバが vlan 擬似ドライバの場合、物理インタフェース .Ar iface とドライバとの関連付けを解除します。 これにより、vlan インタフェースとその親との間のリンクを破壊し、 vlan タグとフラグとリンクアドレスをクリアし、 インタフェースをシャットダウンします。 .It Cm metric Ar n インタフェースのルーティングメトリックを .Ar n で指定します。初期値は 0 です。 ルーティングメトリックは、ルーティングプロトコル .Pq Xr routed 8 で使用されます。 .It Cm mtu Ar n そのインタフェースの最大転送単位 (MTU) を .Ar n に設定します。デフォルト値はインタフェースに依存します。 MTU はインタフェースに送られるパケットの大きさを制限するのに用いられます。 MTU を設定できなかったり、設定出来る値の範囲に制限のある インタフェースがあります。 .It Cm netmask Ar mask .\" (inet と ISO) (inet のみ) ネットワークをサブネットワークに細分割する際に、ネットワークアドレスとして リザーブするアドレスを指定します。 mask が指定する部分は、 アドレスのネットワーク部とサブネット部です。 サブネット部はアドレスのホスト部の一部です。 mask は、 .Ql 0x ではじまる16進数、 ドット表記のインターネットアドレス形式、 ネットワークテーブル .Xr networks 5 に記述されている仮想ネットワーク名のいずれかで指定できます。 mask での 32 ビットアドレスにおける 1 であるビットの部分は、 ネットワーク部もしくはサブネット部として使用します。 0 であるビットの部分はホスト部として使用します。 mask は少なくともネットワーク部を含む必要があり、 サブネット部はネットワーク部に連続する必要があります。 .Pp ネットマスクはまた、CIDR 表現で、アドレスの後に指定可能です。 更なる情報については、前述の .Ar address オプションを参照してください。 .It Cm prefixlen Ar len (inet6 のみ) .Ar len ビットを、ネットワークからサブネットワークへの分割用に予約すると、 指定します。 .Ar len は整数であることが必要であり、 文法的な理由で 0 から 128 の間であることが必要です。 現在の IPv6 の割り当て規則では、ほぼ常に 64 です。 本パラメータを省略すると、64 が使用されます。 .Pp プレフィックスは、 アドレスの後に、スラッシュ表現を指定することでも指定可能です。 更なる情報については、前述の .Ar address オプションを参照してください。 .\" see .\" Xr eon 5 . .\" .It Cm nsellength Ar n .\" .Pf ( Tn ISO .\" のみ) .\" .Tn NSAP .\" に後続するローカル識別に使用するバイト数を指定します。 .\" この部分は .\" .Tn NET .\" (Network Entity Title) .\" として扱われます。 .\" バイト数のデフォルト値は 1 であり、US .\" .Tn GOSIP .\" 準拠です。 .\" ifconfig コマンドで設定するISO アドレスが、 .\" .Tn NSAP .\" です。 .\" 例えば .\" .Tn US GOSIP .\" では、20 文字の 16 進数を .\" .Tn ISO NSAP .\" において指定し、 .\" インタフェースに割り当てる必要があります。 .\" .Tn AFI .\" 37 タイプアドレスにおいて、数字が 1 とは異なると便利であるのは、 .\" それなりの理由があります。 .It Cm range Ar netrange Appletalk において .Ar netrange に返答するようにインタフェースを設定します。 書式は .Ar startnet Ns - Ns Ar endnet です。 Appletalk は netmask ではなくこの方法を使用しますが、 .Fx の内部においては netmask の集合として実装しています。 .It Cm remove .Fl alias パラメータの別名です。 BSD/OS との互換性のために導入されました。 .It Cm phase これに続く引数は、 インタフェースに接続された Appletalk ネットワークの バージョン (フェーズ) を指定します。 1 または 2 が許されています。 .Sm off .It Cm link Op Cm 0 No - Cm 2 .Sm on 指定したインタフェースのリンクレベルでの特殊な処理を有効にします。 3 つのオプション の実際の効果はインタフェース依存です。しかしながら、これらのオプションは、 一般的には特殊なオペレーションモードを選択するのに用いられます。この例として、 SLIP 使用時のデータ圧縮や、Ethernet カードのコネクタ選択を行います。 各ドライバごとのマニュアルページに 詳細が記してあるので、詳しくはそちらの方を参照して下さい。 .Sm off .It Fl link Op Cm 0 No - Cm 2 .Sm on 指定したインタフェースのリンクレベルでの特殊な処理を無効にします。 .It Cm monitor -.Sm on インタフェースをモニタモードにします。 パケットは送出されず、受信パケットは .Xr bpf 4 の処理の後に捨てられます。 -.Sm off .It Fl monitor -.Sm on インタフェースのモニタモードを解除します。 -.Sm off .It Cm up 指定したネットワークインタフェースに .Dq up とマークします。 本オプションは、 .Dq Nm Cm down を行なった後にインタフェースを有効にするのに用いられます。 最初にインタフェースにアドレスを設定した場合には、自動的に本指定はされたものと して扱います。もし、down とマークされていたインタフェースがリセットされた場合、 ハードウェアは再初期化されます。 .It Cm ssid Ar ssid IEEE 802.11 無線インタフェース用であり、 希望するサービスセット識別子 (SSID; 別名はネットワーク名) を設定します。 SSID は、32 文字までの文字列であり、 通常の文字列の形式か .Ql 0x を前に付けた 16 進数の形式で、指定可能です。 更に、SSID に .Ql - を設定することで、これを消去可能です。 .It Cm nwid Ar ssid .Cm ssid パラメータの別名。 .Nx との互換性のためにあります。 .It Cm stationname Ar name IEEE 802.11 無線インタフェース用であり、 このステーションの名前を設定します。 ステーション名は、本当は IEEE 802.11 プロトコルの一部ではないようですが、 すべてのインタフェースがこれをサポートしているようです。 そのようなものですから、 同じもしくは実際的に同じ機器にとってのみ有用であるようです。 .It Cm station Ar name .Cm stationname パラメータの別名。 .Bsx との互換性のためにあります。 .It Cm channel Ar number IEEE 802.11 無線インタフェース用であり、 希望するチャネルを設定します。 チャネルの範囲は 1 から 14 ですが、 アダプタがどの地域用に製造されたかに、利用可能な選択肢は依存します。 チャネルを 0 に設定すると、アダプタのデフォルト設定になります。 アドホックモード以外では、多くのアダプタがこの設定を無視します。 .It Cm authmode Ar mode IEEE 802.11 無線インタフェース用であり、 インフラストラクチャモードでの希望する認証モードを設定します。 すべてのアダプタがすべてのモードをサポートしているわけではありません。 正当なモードは .Dq none , .Dq open , .Dq shared です。 モードは、大文字小文字を区別しません。 .It Cm powersave IEEE 802.11 無線インタフェース用であり、省電力モードを有効にします。 .It Fl powersave IEEE 802.11 無線インタフェース用であり、省電力モードを無効にします。 .It Cm powersavesleep Ar sleep IEEE 802.11 無線インタフェース用であり、 希望する最大省電力スリープ時間をミリ秒で指定します。 .It Cm wepmode Ar mode IEEE 802.11 無線インタフェース用であり、希望する WEP モードを設定します。 すべてのアダプタがすべてのモードをサポートしているわけではありません。 正当なモードは .Dq off , .Dq on , .Dq mixed です。 .Dq mixed モードは、暗号化トラフィックと非暗号化トラフィックの両方を許す アクセスポイントとの関係を許すことを、アダプタに明示的に指定します。 両方を許すアダプタにおける .Dq on は、 アクセスポイントが暗号化接続のみを許可することが必要であることを意味します。 他のアダプタにおける .Dq on は、一般的に .Dq mixed の別名です。 モードは、大文字小文字を区別しません。 .It Cm weptxkey Ar index IEEE 802.11 無線インタフェース用であり、送信に使用する WEP 鍵を設定します。 .It Cm wepkey Ar key Ns | Ns Ar index : Ns Ar key IEEE 802.11 無線インタフェース用であり、選択された WEP 鍵を設定します。 .Ar index が指定されない場合、鍵 1 が設定されます。 WEP 鍵の長さは、5 文字または 13 文字 (40 ビットまたは 104 ビット) であり、 ローカルネットワークとアダプタの機能に依存します。 通常の文字列の形式か .Ql 0x を前に付けた 16 進数の形式で、指定可能です。 最大限の可搬性のためには、16 進数形式の鍵を推奨します。 テキスト鍵から WEP 暗号へのマッピングは、通常、ドライバ固有です。 -特に、Windows ドライバのマッピング方法は +特に、 +.Tn Windows +ドライバのマッピング方法は .Fx のものとは異なります。 鍵は、 .Ql - を設定することで、これを消去可能です。 WEP がサポートされていれば、最低 4 個の鍵があります。 アダプタによっては 4 個を越える鍵をサポートするものもあります。 そのような場合、最初の 4 個の鍵 (1-4) が標準の一時鍵となり、 他の鍵がアダプタ固有の鍵となります。 後者は、例えば、NVRAM に格納される永続鍵です。 .It Cm wep .Cm wepmode on の別の指定方法。 .Bsx との互換性のためにあります。 .It Fl wep .Cm wepmode off の別の指定方法。 .Bsx との互換性のためにあります。 .It Cm nwkey key 以下の、別の指定方法。 .Pp .Dq Li "wepmode on weptxkey 1 wepkey 1:key wepkey 2:- wepkey 3:- wepkey 4:-" .Pp .Nx との互換性のためにあります。 .It Cm nwkey Xo .Sm off .Ar n : k1 , k2 , k3 , k4 .Sm on .Xc 以下の、別の指定方法。 .Pp .Dq Li "wepmode on weptxkey n wepkey 1:k1 wepkey 2:k2 wepkey 3:k3 wepkey 4:k4" .Pp .Nx との互換性のためにあります。 .It Fl nwkey .Cm wepmode off の別の指定方法。 .Pp .Nx との互換性のためにあります。 .El .Pp .Nm ユーティリティは、 引数としてネットワークインタフェース以外に何のオプションも与えられない場合、 ネットワークインタフェースの現在の設定状態を表示します。 プロトコルファミリが指定されている場合、 .Nm はプロトコルファミリに特有の情報についてのみ表示します。 .Pp ドライバがメディア選択をサポートする場合、 サポートされているメディアのリストが出力に含まれます。 .Pp インタフェース名の前に .Fl m フラグが渡されると、 指定したインタフェースに対してサポートされているすべてのメディアを .Nm は表示します。 オプションとして、インタフェース名の代りに .Fl L フラグを指定すると、IPv6 用のアドレスの生存時間が、 時刻オフセット文字列として表示されます .Pp .Fl a フラグを指定できます。そうすると、 .Nm はシステム上の全インタフェースを表示します。 .Fl d フラグはこれを down したインタフェースに限定し、 .Fl u フラグはこれは up したインタフェースに限定します。 引数を指定しないと、 .Fl a が暗黙的に指定されます。 .Pp .Fl l フラグを使用するとシステム上の使用可能な全インタフェースのリストを、 その他の情報は付加せずに表示します。 このフラグは他のフラグとは排他的ですが、 .Fl d (down したインタフェースのみをリスト) と .Fl u (up したインタフェースのみをリスト) は例外です。 .Pp .Fl C フラグは、システム上で利用可能なインタフェース複製者をすべて列挙します。 他の情報は表示されません。 本フラグは、他のフラグおよびコマンドと共には使用できません。 .Pp スーパユーザのみがネットワークインタフェースの設定を変更できます。 .Sh 注 メディア選択システムは比較的新しく、いくつかのドライバのみサポートしています (必要があるものも限られています)。 .Sh 診断 指定したインタフェースが存在しない、 要求したアドレスが未知のものである、 ユーザがネットワークインタフェースの設定を変更する権限を持っていない、 といったメッセージを表示します。 .Sh バグ IPv6 ノード間のいくつかの基本的な通信用に、 IPv6 リンクローカルのアドレスが必要です。 これらを .Nm で手動で削除すると、カーネルが非常に奇妙な動作を示すことがあります。 よって、このような手動削除は、強く非推奨です。 .Sh 関連項目 .Xr netstat 1 , .Xr netintro 4 , .\" .Xr eon 5 , .Xr rc 8 , .Xr routed 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/intro.8 b/ja_JP.eucJP/man/man8/intro.8 index ba4e9d60e8..66ea2057eb 100644 --- a/ja_JP.eucJP/man/man8/intro.8 +++ b/ja_JP.eucJP/man/man8/intro.8 @@ -1,79 +1,79 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)intro.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/share/man/man8/intro.8,v 1.9 2002/10/21 01:27:41 keramida Exp % +.\" %FreeBSD: src/share/man/man8/intro.8,v 1.10 2002/12/12 17:25:58 ru Exp % .\" $FreeBSD$ .\" .Dd December 11, 1993 .Dt INTRO 8 .Os .Sh 名称 .Nm intro .Nd システムメンテナンスおよび操作コマンドの紹介 .Sh 解説 本セクションにはシステムの操作とメンテナンスに関連した情報が記載されています。 新しいファイルシステムを作成する時に使用する .Xr newfs 8 , ファイルシステムの整合性をチェックする .Xr fsck 8 , ディスクの使用を制限するための .Xr edquota 8 , システムのバックアップを行なう .Xr dump 8 , ディスクの内容が壊れた時にファイルをリカバーする .Xr restore 8 について解説されています。 ディスクやテープをフォーマットする場合には、 そのシステムが運用されている特定のアーキテクチャ用の .Xr format 8 のマニュアルを参照する必要があります。 .Xr inetd 8 や .Xr ftpd 8 のようなネットワークに関連したサービスについても解説されています。 システムのクラッシュダンプをどのように解析するかについて理解するには .Xr crash 8 のマニュアルページを参照する必要があります。 .Pp すべてのコマンドは終了ステータスを設定します。 別途記述 (まれです) が無い限り、 値 0 はコマンドが完全に成功したことを表し、>0 の値はエラーを表します。 コマンドによっては、 .Xr sysexits 3 で定義されたエラーコードを使用して失敗の種類を記述しようとしますが、 他のコマンドは好き勝手な >0 値 (典型的には 1) を単に設定します。 このような値の多くはマニュアルに記述されていません。 .Sh 歴史 .Nm セクションのマニュアルページは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/iostat.8 b/ja_JP.eucJP/man/man8/iostat.8 index 090bd165eb..4b424ce9a6 100644 --- a/ja_JP.eucJP/man/man8/iostat.8 +++ b/ja_JP.eucJP/man/man8/iostat.8 @@ -1,424 +1,424 @@ .\" .\" Copyright (c) 1997 Kenneth D. Merry. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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 AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/iostat/iostat.8,v 1.22 2002/07/14 14:43:38 charnier Exp % +.\" %FreeBSD: src/usr.sbin/iostat/iostat.8,v 1.23 2002/12/12 15:38:07 trhodes Exp % .\" .\" Copyright (c) 1985, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)iostat.8 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" .Dd December 22, 1997 .Dt IOSTAT 8 .Os .Sh 名称 .Nm iostat .Nd .Tn I/O の統計情報を表示する .Sh 書式 .Nm .Op Fl CdhKIoT?\& .Op Fl c Ar count .Op Fl M Ar core .Op Fl n Ar devs .Op Fl N Ar system .Oo .Fl t .Sm off .Ar type , if , pass .Sm on .Oc .Op Fl w Ar wait .Op Ar drives .Sh 解説 .Nm ユーティリティは、端末やデバイス、CPU操作のカーネル .Tn I/O 統計を表示します。 最初に表示される統計値は、システム稼働中の平均値です。 最近の活動情報を得るには、適切な待ち時間を指定すると、 引き続いて表示される統計値が指定された時間の平均値になります。 .Pp オプションは以下のとおりです: .Bl -tag -width flag .It Fl c Ar count I/O統計情報の表示を .Ar count 回繰り返します。 間隔 .Ar wait が指定されていときは、デフォルトの1秒が使われます。 .It Fl C CPU 統計情報を表示します。 .Fl d が指定されない限り、デフォルトでオンになっています .It Fl d デバイス統計情報のみを表示します。 このフラグをオンにすると、 .Fl C や .Fl T も指定して CPU や TTY の統計情報を有効にしない限り、 デバイス統計情報のみが表示されます。 .It Fl h .Nm を .Sq top モードにします。 このモードでは、 .Nm は、 計測サイクル毎の転送バイト数が高いデバイスから低いデバイスへ並べて表示します。 .It Fl I 指定された期間における秒あたりの平均統計情報ではなく、 指定された期間における合計の統計情報を表示します。 .It Fl K 転送ブロック数の表示 ( .Fl o ) において、 デバイスのネイティブブロックサイズではなく、 キロバイトでブロック数を表示します。 .It Fl M Ar core 名前リストから値を取り出す際に、デフォルトの .Dq Pa /dev/kmem のかわりに指定した .Ar core を使います。 .It Fl n .Ar devs までの数のデバイスのみを表示します。 .Ar devs 個よりもデバイス数が少ない場合には、 .Nm ユーティリティが表示するデバイス数は少なくなります。 .It Fl N 名前のリストを取り出す際に、デフォルトの .Dq Pa /boot/kernel/kernel のかわりに .Ar system を使います。 .It Fl o 古いスタイルの .Nm デバイス統計を表示します。 秒あたりのセクタ数、秒あたりの転送回数、シークあたりのミリ秒が表示されます。 .Fl I が指定されると、合計のブロック数/セクタ数、合計の転送回数、 シークあたりのミリ秒が表示されます。 .It Fl t どのタイプのデバイスを表示するのかを指定します。 デバイスには 3 種類のカテゴリがあります。 .Pp .Bl -tag -width indent -compact .It デバイスタイプ .Bl -tag -width 9n -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 9n -compact .It IDE Integrated Drive Electronics デバイス .It SCSI Small Computer System Interface デバイス .It other 他のデバイスインタフェース .El .Pp .It パススルー: .Bl -tag -width 9n -compact .It pass パススルーデバイス .El .El .Pp ユーザは少なくとも 1 つのデバイスタイプを指定する必要があり、 各カテゴリにおいては最大 1 つのデバイスタイプを指定可能です。 1 つのデバイスタイプ文に複数のデバイスタイプを指定するには、 コンマで区切ります。 .Pp コマンドライン上では、 .Fl t 引数をいくつ指定してもかまいません。 .Fl t 引数はすべて OR がとられ、 システム中の全デバイスが対象となる比較式が形成されます。 いずれかの .Fl t 引数に完全に合致するデバイスは、 .Nm の出力に含まれます。 ただし、80 桁もしくはユーザが指定した最大デバイス数の範囲に限られます。 .It Fl T TTY 統計情報を表示します。 .Fl d が指定されていない限り、デフォルトでオンになっています。 .It Fl w Ar wait 各表示の間隔を、 .Ar wait 秒とします。繰り返し回数 .Ar count が指定 されていなければ、デフォルトでは無限に表示を繰り返します。 .It Fl ?\& 使用方法を表示して終了します。 .El .Pp .Nm ユーティリティの、表示する情報のフォーマットは以下のとおりです: .Bl -tag -width flag .It tty .Bl -tag -width indent -compact .It tin 端末から読み込んだ文字数 .It tout 端末から書き出した文字数 .El .It devices デバイス操作。本フィールドのヘッダはデバイス名とユニット番号です。 .Nm ユーティリティは、 80 桁の範囲もしくはシステム内の最大デバイス数の小さい方の数だけ、 デバイスを表示します。 .Fl n がコマンドラインに指定されると、 .Nm は、要求された数のデバイスもしくはシステム内の最大デバイス数の小さい方の 数だけデバイスを表示します。 特定のドライブを表示するには、コマンドラインでドライブ の名前を指定します。 .Fl n 引数がコマンドラインに指定されて表示すべき最大デバイス数が指定されない限り、 .Nm ユーティリティは 80 桁に合致するよりも多くのデバイスを表示しません。 80 桁の画面に合致するよりも少ないデバイス数が指定された場合、 .Nm は指定された数のデバイスのみ表示します。 .Pp 標準の .Nm デバイス表示は、次の統計情報を表示します: .Pp .Bl -tag -width indent -compact .It KB/t 転送あたりのキロバイト数 .It tps 秒あたりの転送回数 .It MB/s 秒あたりのメガバイト数 .El .Pp 標準の .Nm デバイス表示は、 .Fl I フラグが指定されると、次の統計情報を表示します: .Pp .Bl -tag -width indent -compact .It KB/t 転送あたりのキロバイト数 .It xfrs 合計の転送回数 .It MB 合計の転送メガバイト数 .El .Pp 古いスタイルの .Nm 表示 ( .Fl o を使用) では、次の統計情報を表示します: .Pp .Bl -tag -width indent -compact .It sps 1秒間に転送されたセクタ数 .It tps 1秒間の転送回数 .It msps トランザクションあたりの平均ミリ秒。 .El 古いスタイルの .Nm 表示では、 .Fl I フラグを指定すると、次の統計情報を表示します: .Pp .Bl -tag -width indent -compact .It blk 転送した合計のブロック数/セクタ数。 .It xfr 合計の転送回数。 .It msps トランザクションあたりの平均ミリ秒数。 .El .It cpu .Bl -tag -width indent -compact .It \&us ユーザモードのCPU時間の % 表示 .It \&ni niceで優先順位づけられたプロセスを動作させるユーザモードのCPU時間 の % 表示 .It \&sy システムモードのCPU時間の % 表示 .It \&in インタラプトモードのCPU時間の % 表示 .It \&id アイドルモードのCPU時間の % 表示 .El .El .Sh 関連ファイル .Bl -tag -width /boot/kernel/kernel -compact .It Pa /boot/kernel/kernel デフォルトのカーネルの名前リスト .It Pa /dev/kmem デフォルトのメモリファイル .El .Sh 使用例 .Dl iostat -w 1 da0 da1 cd0 .Pp 最初の 2 つのダイレクトアクセスデバイスと、 最初の CDROM デバイスの統計情報を 1 秒毎に無限に表示します。 .Pp .Dl iostat -c 2 .Pp システム内の最初の 4 つのデバイスの統計情報を、 1 秒の表示間隔をおいて 2 度表示します。 .Pp .Dl iostat -t da -t cd -w 1 .Pp 全 CDROM とダイレクトアクセスデバイスの統計情報を 1 秒毎に無限に表示します。 .Pp .Dl iostat -t da,scsi,pass -t cd,scsi,pass .Pp ダイレクトアクセスデバイスおよび CDROM デバイスへのアクセスを提供する 全 SCSI パススルーデバイスに関して、統計情報を 1 度表示します。 .Pp .Dl iostat -h -n 8 -w 1 .Pp より多くの I/O を行う、最大 8 個のデバイスに関して、 統計情報を 1 秒毎に無限に表示します。 .Pp .Dl iostat -dh -t da -w 1 .Pp TTY と CPU の表示を省略し、 性能順にデバイスを表示し、ダイレクトアクセスデバイスのみを 1 秒毎に無限に表示します。 .Pp .Dl iostat -Iw 3 .Pp 合計の統計情報を 3 秒毎に無限に表示します。 .Pp .Dl iostat -odICTw 2 -c 9 .Pp 合計の統計情報を古いスタイルの出力形式で 9 回表示します。 各計測/表示の間隔は 2 秒です。 .Fl d フラグは一般に TTY と CPU の表示を抑制しますが、 .Fl T と .Fl C のフラグが指定されているので、TTY と CPU の表示もなされます。 .Sh 関連項目 .Xr fstat 1 , .Xr netstat 1 , .Xr nfsstat 1 , .Xr ps 1 , .Xr systat 1 , .Xr pstat 8 , .Xr vmstat 8 .Pp .%T "Installing and Operating 4.3BSD" の ``Interpreting system activity'' で始まる章 .Sh 歴史 本バージョンの .Nm は最初に .Fx 3.0 に登場しました。 .Sh バグ .Nm は、クラッシュダンプのデバッグツールとしては おそらく限定的にしか使えないでしょう。 なぜなら、現在のところクラッシュの直前の期間だけをカバーする 統計情報を取得する方法が無いからです。 .Sh 作者 .An Kenneth Merry Aq ken@FreeBSD.org diff --git a/ja_JP.eucJP/man/man8/ipfw.8 b/ja_JP.eucJP/man/man8/ipfw.8 index f9c1dcef29..14762c34ff 100644 --- a/ja_JP.eucJP/man/man8/ipfw.8 +++ b/ja_JP.eucJP/man/man8/ipfw.8 @@ -1,2159 +1,2162 @@ .\" -.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.115 2002/10/28 07:03:56 luigi Exp % +.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.116 2002/11/26 19:51:40 luigi Exp % .\" .\" $FreeBSD$ .\" .Dd August 13, 2002 .Dt IPFW 8 .Os .Sh 名称 .Nm ipfw .Nd IP ファイアウォールとトラフィックシェイパの制御プログラム .Sh 書式 .Nm .Op Fl cq .Cm add .Ar rule .Nm .Op Fl acdeftNS .Brq Cm list | show .Op Ar number ... .Nm .Op Fl f | q .Cm flush .Nm .Op Fl q .Brq Cm delete | zero | resetlog .Op Cm set .Op Ar number ... .Pp .Nm .Cm set Oo Cm disable Ar number ... Oc Op Cm enable Ar number ... .Nm .Cm set move .Op Cm rule .Ar number Cm to Ar number .Nm .Cm set swap Ar number number .Nm .Cm set show .Pp .Nm .Brq Cm pipe | queue .Ar number .Cm config .Ar config-options .Nm .Op Fl s Op Ar field .Brq Cm pipe | queue .Brq Cm delete | list | show .Op Ar number ... .Pp .Nm .Op Fl q .Oo .Fl p Ar preproc .Oo Fl D .Ar macro Ns Op = Ns Ar value .Oc .Op Fl U Ar macro .Oc .Ar pathname .Sh 解説 .Nm とそのユーティリティは .Fx の .Xr ipfw 4 ファイアウォールと .Xr dummynet 4 トラフィックシェイパを制御するユーザインタフェースです。 .Pp .Bd -ragged -offset XXXX .Em 注: このマニュアルページは 2002 年 7 月に .Fx CURRENT に導入され .Nm ipfw2 としても知られている .Nm の新バージョンについて説明しています。 .Nm ipfw2 は旧版のファイアウォール .Nm ipfw1 のスーパセットです。この 2 つの違いはセクション .Sx IPFW2 拡張 に列挙されています。古いルールセットを書き直し、より効率的にするために、 ここを読むことをお勧めします。 .Fx STABLE で .Nm ipfw2 を実行する手順については、セクション .Sx FreeBSD-STABLE で IPFW2 を使う を参照下さい。 .Ed .Pp .Nm の設定、もしくは .Em ルールセット は、1 から 65535 までの番号をつけられた .Em ルール のリストからなります。 パケットは プロトコルスタック中のいくつかの箇所から .Nm に渡されます (パケットの発信元と宛先によっては、 .Nm は同じパケットに対して複数回起動させられる可能性があります)。 ファイアウォールに渡されるパケットは ファイアウォールの .Em ルールセット 中のルールそれぞれに対して照合されます。 .Pp マッチした場合、マッチしたルールに対応するアクションが実行されます。 アクションと実際のシステムの設定によっては、 マッチしたルールの後のルールでさらに処理を行うために パケットがファイアウォールに再注入されることがあります。 .Pp .Nm ルールセットには常に .Em デフォルト ルール (番号 65535) が含まれます。 このルールは変更できず、 全パケットにマッチします。 .Em デフォルト ルールに関連付けられるアクションは .Cm deny か .Cm allow のどちらかになりますが、 これはどのようにカーネルを設定したかに依存します。 .Pp ルールセットが オプション .Cm keep-state または .Cm limit 付きのルールを含む場合、 .Nm は .Em ステートフル (状態依存型) で動作します。すなわち、あるマッチの結果、 マッチしたパケットのパラメータにちょうど一致するルールが 動的に生成されます。 .Pp これらの動的ルールの生存時間は有限で、 .Cm check-state または .Cm keep-state または .Cm limit ルールが最初に生じた場所でチェックされます。 動的ルールは、普通、正当なトラフィックをオンデマンドで ファイアウォールを通過させるために用います。 .Nm のステートフルな動作について更に情報が必要ならば、 以下の .Sx ステートフルファイアウォール セクションと .Sx 使用例 セクションを参照して下さい。 .Pp 全てのルール(動的ルールを含む)は、 関連するカウンタをいくつか持っています。それらは、 パケットカウント、バイトカウント、ログカウント、 最後にマッチした時刻を示すタイムスタンプです。 カウンタは、 .Nm コマンドによって表示することができ、またリセットすることができます。 .Pp ルールの追加は .Cm add コマンドにて可能です。 ルールひとつひとつ、またはまとめての削除は .Cm delete コマンドにて可能であり、すべてのルールの削除は .Cm flush コマンドにて可能です。 ルールの表示 (オプションでカウンタ内容を含めることができます) は、 .Cm show コマンドおよび .Cm list コマンドにて可能です。 最後に、カウンタのリセットは .Cm zero コマンドおよび .Cm resetlog コマンドにて可能です。 .Pp また、各ルールは 32 個の 異なる .Em セット の 1 つに所属し、 セットに対するアトミックな操作、例えば 有効化・無効化・セットの入れ換え・セット内の全ルールを別のセットへ移動・ セット内の全ルールの削除などを行うための .Nm コマンドがあります。 これらは一時的な設定をインストールしたり設定のテストを行ったりするときに 便利です。 .Em セット に関する詳細はセクション .Sx ルールセット を参照して下さい。 .Pp 次のオプションが利用可能です: .Bl -tag -width indent .It Fl a ルールのリストを表示する際に、 カウンタ値を示します。 .Cm show コマンドは、このオプションを暗黙的に指定しただけのものです。 .It Fl c ルールを入力したり参照したりするときに、 コンパクトな書式でルールを表示します。 つまり、ルールが何の追加情報も持たないときは、 オプショナルな文字列 "ip from any to any" を表示しません。 .It Fl d ルールのリストを表示する際に、 静的ルールに加えて動的ルールも表示します。 .It Fl e ルールのリストを表示する際に、 もし .Fl d オプションが指定されていれば、 期限切れの動的ルールも表示します。 .It Fl f 誤って使用すると問題を起す可能性のあるコマンド、 .No すなわち Cm flush に対して、実行の確認を行いません。 プロセスに関連付けられた tty が無い場合、このオプションが 暗黙のうちに指定されたとして処理されます。 .It Fl N 出力に含まれるアドレスとサービス名の名前解決を試みます。 .It Fl q .Cm add , .Cm zero , .Cm resetlog , .Cm flush を実行する際、動作について報告しません (暗黙のうちに .Fl f が指定されます)。 スクリプト (例えば .Ql sh\ /etc/rc.firewall ) の中で複数の .Nm コマンドを実行してルールを変更する場合や、 リモートログインセッション経由で多数の .Nm ルールを含むファイルを処理することによりルールを変更する場合に 有用です。 通常 (冗長) モードで (デフォルトカーネル設定で) flush を行った場合、 メッセージを表示します。 すべてのルールが捨てられますので、 メッセージはログインセッションへ渡せません。 つまり、リモートログインセッション経由の場合、セッションはクローズされ、 残りのルールセットは処理されません。 この状態から回復するためにはコンソールへのアクセスが必要になります。 .It Fl S ルールのリストを表示する際に、 各ルールが属する .Em セット を表示します。 このフラグが指定されていなければ、 無効化されているルールは表示されません。 .It Fl s Op Ar field パイプ経由でリスト出力している際に、4 つのカウンタの 1 つについて 整列させます (総パケット数/バイト数または現在のパケット数/バイト数)。 .It Fl t ルールのリストを表示する際に、 最後にマッチしたタイムスタンプを表示します。 .El .Pp 冒頭の書式の行で示したように、 設定を簡単にするため、 ルールを .Nm に処理させるファイルに記述することができます。 .Ar pathname には絶対パス名を使用する必要があります。 このファイルからは 1 行ずつ読み込まれ、 .Nm ユーティリティの引数として受け付けられます。 .Pp .Fl p Ar preproc を使用して、 .Ar pathname がパイプされるプリプロセッサを指定することもできます。 有用なプリプロセッサには、 .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュ .Pq Ql / から始まらない場合、 .Ev PATH を使用した通常の名前検索が行われます。 .Nm が実行されるときまでに全ファイルシステムが (まだ) マウントされないような環境 (例えば NFS 経由でマウントされる場合) では、このことに注意してください。 ひとたび .Fl p が指定されると、オプションとして .Fl D と .Fl U の指定を続けることが可能となり、これらがプリプロセッサに渡されます。 これにより、(ローカルホスト名により条件付けするなど) 柔軟性のある設定ファイルを作成可能となり、IP アドレスのように 頻繁に必要となる引数を集中管理するためのマクロを使用可能となります。 .Pp 後述の .Sx トラフィックシェイパ (DUMMYNET) 設定 セクションで示すように、 .Nm .Cm pipe および .Cm queue コマンドを使用して、トラフィックシェイパを構築可能です。 .Sh パケットフロー 1 個のパケットが、プロトコルスタックの複数の場所で、 有効なルールセットに対しチェックされます。このチェックは いくつかの sysctl 変数に基づきます。 これらの場所と変数を以下に示します。 ルールセットを正しく設計するためには、この図をよく理解する ことが大切です。 .Bd -literal -offset indent ^ to upper layers V | | +----------->-----------+ ^ V [ip_input] [ip_output] net.inet.ip.fw.enable=1 | | ^ V [ether_demux] [ether_output_frame] net.link.ether.ipfw=1 | | +-->--[bdg_forward]-->--+ net.link.ether.bridge_ipfw=1 ^ V | to devices | .Ed .Pp 上図に示されるように、 同一のパケットがファイアウォールを通過する回数は、 パケットの発信元や宛先、システムの設定により、 0 回から 4 回の範囲で変動します。 .Pp パケットがスタックを通過するにつれヘッダが削除 / 追加される 可能性があり、ヘッダがチェックに使えたり使えなかったりする ことに注意して下さい。 例えば、外から入ってくるパケットは .Cm ether_demux() から .Nm が実行されるときには MAC ヘッダを含んでいるはずですが、 その同じパケットが、 .Cm ip_input() から .Nm が実行されたときには MAC ヘッダは取り除かれているはずです。 .Pp また、各パケットは常にルールセット全体に対しチェックされることにも 注意してください。 これは、チェックが生じた場所、パケットのソースに関係ありません。 実行された箇所によっては無効となるような マッチパターンやアクション (例えば、 .Cm ip_input() 中で MAC ヘッダとマッチを試みるようなもの) をルールが含んでいるなら、そのパターンはマッチしないことになります。 とはいえ、そのようなパターンの前に .Cm not オペレータを記述すれば、このパターンは .Em 常に そのようなパケットにマッチすることになります。 したがって、必要に応じ、生じ得る場所の違いを理解して、 適切なルールセットを記述することはプログラマの責任です。 そこで .Cm skipto ルールが役に立つことでしょう。 例えば次のようにします。 .Bd -literal -offset indent # ether_demux または bdg_forward からのパケット ipfw add 10 skipto 1000 all from any to any layer2 in # ip_input からのパケット ipfw add 10 skipto 2000 all from any to any not layer2 in # ip_output からのパケット ipfw add 10 skipto 3000 all from any to any not layer2 out # ether_output_frame からのパケット ipfw add 10 skipto 4000 all from any to any layer2 out .Ed .Pp (そうです、今のところ ether_demux と bdg_forward とを 区別する方法はありません)。 .Sh ルール書式 .Nm ルールの書式は次の通りです。 .Bd -ragged -offset indent .Op Ar rule_number .Op Cm set Ar set_number .Op Cm prob Ar match_probability .br .Ar " " action .Op Cm log Op Cm logamount Ar number .Ar body .Ed .Pp この中で、ルールのボディ (body) は次の中からどの情報を使用して パケットをフィルタするかを指定します。 .Pp .Bl -tag -width "Source and dest. addresses and ports" -offset XXX -compact .It レイヤ 2 ヘッダフィールド 可能ならば .It IPv4 プロトコル TCP, UDP, ICMP など .It 送信元および宛先のアドレスとポート .It 方向 セクション .Sx パケットフロー を参照して下さい .It 送信および受信インタフェース 名前またはアドレス .It その他の IP ヘッダフィールド バージョン、サービスタイプ、データグラム長、識別子、 フラグメントフラグ (0 でない IP オフセット)、 生存時間 .It IP オプション .It その他の TCP ヘッダフィールド TCP フラグ (SYN, FIN, ACK, RST など)、 シーケンス番号、確認応答番号、ウィンドウ .It TCP オプション .It ICMP タイプ ICMP パケットの場合 .It ユーザ/グループ ID パケットをローカルソケットに関連づけることが可能な場合 .El .Pp 上記の情報のうち幾つか、 例えば、送信元 MAC アドレスまたは IP アドレスと TCP/UDP ポート は容易に詐称が可能であることに注意して下さい。 したがって、これらのフィールドのみでフィルタすることは 必ずしも望ましい結果を保証しません。 .Bl -tag -width indent .It Ar rule_number 各ルールは、1 から 65535 の範囲の .Ar rule_number に関連づけられており、 後者は .Em デフォルト ルールのために予約されています。 ルールはルール番号の順にチェックされます。 複数のルールが同一の番号を持つことが可能で、 その場合は追加された順序でチェックされます (表示する場合も同様です) 。 番号の指定なしでルールが入力された場合、 カーネルは、そのルールが .Em デフォルト ルールより前にあるルールの中で最後になるように割り当てます。 自動的につけられるルール番号は、 デフォルトを除いた中で最後となるルール番号を、 sysctl 変数 .Ar net.inet.ip.fw.autoinc_step の値だけ増加させて割り当てられます。 この変数のデフォルトは 100 です。 もし、この操作が (例えば許可された最大ルール番号を越えるといった理由で) 不可能であれば、 最後のデフォルトでない値が代わりに使用されます。 .It Cm set Ar set_number 各ルールは 0 から 31 の範囲の .Ar set_number に関連づけられており、 後者は .Em デフォルト ルールのために予約されています。 セットは個別に無効化したり有効化したりすることができます。 したがって、このパラメータはアトミックなルールセット操作を行うために 必要不可欠なものです。 このパラメータを使うことで、ルールをまとめて削除することを 単純にすることもできます。 セット番号を指定せずにルールを入力した場合、 セット 0 が使用されます。 .It Cm prob Ar match_probability 指定した確率 (0 から 1 までの浮動小数点数です) でしかマッチしないマッチを宣言します。 ランダムにパケットを落とす応用や、 ( .Xr dummynet 4 と共に使用して) パケット到達順序の乱れを引き起こす複数経路の効果をシミュレートする 応用など、多くの応用に有用です。 +.Pp +注: この条件は、他の条件の前にチェックされます。 +これには、keep-state や check-state といった副作用のあるものも含まれます。 .It Cm log Op Cm logamount Ar number パケットが .Cm log キーワードを持ったルールにマッチした場合、 メッセージが .Xr syslogd 8 に .Dv LOG_SECURITY ファシリティで記録されます。 sysctl 変数 .Em net.inet.ip.fw.verbose が 1 (カーネルが .Dv IPFIREWALL_VERBOSE でコンパイルされていればこれがデフォルトです) に設定されており、 そのルールについてこれまで記録されたパケットの数が その .Cm logamount パラメータを越えていなければ、記録が行われます。 .Cm logamount が指定されていなければ、制限は sysctl 変数 .Em net.inet.ip.fw.verbose_limit から参照されます。 両者の値が 0 であれば記録の制限は取り除かれます。 .Pp 一度制限に達したなら、 このエントリに対するロギングカウンタかパケットカウンタをクリアすれば 記録を再び有効にすることができます。 .Cm resetlog コマンドを参照して下さい。 .Pp +注: ログが実行されるのは、 +すべてのパケットマッチ条件が成功裏に確認された後であり、 +最後の動作 (受理や拒否等) をパケットに実施する前です。 .El .Ss ルールアクション ルールは次に示すアクションの 1 つと関連づけることができます。 これはパケットがルールのボディにマッチしたときに実行されます。 .Bl -tag -width indent .It Cm allow | accept | pass | permit ルールにマッチするパケットを受け付けます。 検索は終了します。 .It Cm check-state 動的ルールセットに対してパケットのチェックを行ないます。 マッチした場合、 その動的ルールを生成したルールに関連づけられたアクションを実行し、 マッチしなかった場合、次のルールに移ります。 .br .Cm check-state ルールはボディを持ちません。 .Cm check-state ルールが見つからないときは、 動的ルールセットは最初の .Cm keep-state ルール、もしくは .Cm limit ルールの場所でチェックされます。 .It Cm count ルールにマッチした全てのパケットのカウンタを更新します。 検索は次のルールへ続行します。 .It Cm deny | drop ルールにマッチした全てのパケットを破棄します。 検索は終了します。 .It Cm divert Ar port ルールにマッチするパケットを ポート .Ar port にバインドされている .Xr divert 4 ソケットに送出します。 検索は終了します。 .It Cm fwd | forward Ar ipaddr Ns Op , Ns Ar port マッチしたパケットの次のホップを .Ar ipaddr に変更します。 これには IP アドレスとして、数字 4 つ組形式 またはホスト名が使用できます。 このルールにマッチした場合、検索は終了します。 .Pp .Ar ipaddr がローカルアドレスの場合、マッチしたパケットはローカルマシンの .Ar port (または、ルールで指定されていない場合はそのパケットのポート番号) に転送されます。 .br .Ar ipaddr がローカルアドレスでない場合、 ポート番号は (指定されていても) 無視され、 パケットは ローカルな経路テーブルに存在するその IP に対する経路を使用して リモートアドレスに転送されます。 .br .Ar fwd ルールはレイヤ 2 パケット (それらは ether_input, ether_output, bridged で受信されます) にはマッチしません。 .br .Cm fwd アクションはパケットの内容をまったく変更しません。 実際、宛先アドレスが修正されずに残るので、 転送先システムがそのようなパケットを取り込むルールを持たない限り、 他のシステムに転送されたパケットは、通常転送先のシステムで拒否されます。 ローカルに転送されるパケットの場合、 ソケットのローカルアドレスはパケットが元々持っていた 宛先アドレスに設定されます。 このことによって .Xr netstat 1 が出力するエントリは若干奇妙な見え方になりますが、 これは透過プロキシサーバでの使用を意図しています。 .It Cm pipe Ar pipe_nr パケットを .Xr dummynet 4 .Dq パイプ (バンド幅制限、遅延などに使用されます) へ渡します。 詳しい情報については .Sx トラフィックシェイパ (DUMMYNET) 設定 セクションを参照してください。 検索は終了します。 しかし、パイプから抜けたときに .Xr sysctl 8 変数 .Em net.inet.ip.fw.one_pass がセットされていない場合、 パケットは、すぐ次のルールから始まるファイアウォールコードへ 再度渡されます。 .It Cm queue Ar queue_nr パケットを .Xr dummynet 4 .Dq キュー (WF2Q+ を使ったバンド幅制限に使用されます) へ渡します。 .It Cm reject (非推奨)。 .Cm unreach host と同義です。 .It Cm reset このルールにマッチしたパケットを破棄します。 さらに、そのパケットが TCP パケットであれば、 TCP リセット (RST) 通知を送出しようと試みます。 検索は終了します。 .It Cm skipto Ar number それ以降のルールのうち .Ar number より小さな番号のものすべてを飛び越して、 .Ar number 以上の番号のルールで最初に存在するものから、検索を継続します。 .It Cm tee Ar port このルールにマッチしたパケットの複製を、 ポート .Ar port にバインドされた .Xr divert 4 ソケットに送出します。 検索は終了し、元のパケットは受け付けられます (ただし、以下のセクション .Sx バグ を参照して下さい)。 .It Cm unreach Ar code このルールにマッチしたパケットを破棄し、 コード .Ar code の ICMP 到達不可通知を送出しようと試みます。 ここで .Ar code は 0 から 255 の数字、または次のエイリアスのいずれかです: .Cm net , host , protocol , port , .Cm needfrag , srcfail , net-unknown , host-unknown , .Cm isolated , net-prohib , host-prohib , tosnet , .Cm toshost , filter-prohib , host-precedence , .Cm precedence-cutoff 。 検索は終了します。 .El .Ss ルールボディ ルールのボディは 0 個以上のパターン (送信元と宛先アドレスやポートの指定、 プロトコルオプション、受信または送信インタフェースの指定など) を含みます。このパターンは パケットを識別するためにマッチしなければならないものです。 一般に、パターンは (暗黙的に) .Cm and オペレータで接続されます -- つまり、ルールがマッチするためには 全てがマッチしなければなりません。 個々のパターンには、マッチの結果を反転させるために .Cm not オペレータを前置することができます。 これは次のようになります。 .Pp .Dl "ipfw add 100 allow ip from not 1.2.3.4 to any" .Pp さらに、 次のように .Cm or オペレータを使用し、 丸括弧 () や ブレース {} で括られた内部にパターンを列挙することで、 新しいマッチパターンのセット ( .Em 論理和ブロック ) を構築することができます: .Pp .Dl "ipfw add 100 allow ip from { x or not y or z } to any" .Pp 括弧のレベルは 1 つのみが可能です。 ほとんどのシェルが丸括弧やブレースに特別な意味を持たせていることに 注意して下さい。 したがって、そのような解釈が起こらないようにバックスラッシュ \\ を その前に置くことを勧めます。 .Pp ルールのボディは、一般に送信元と宛先アドレスの指定を含まなければなりません。 キーワード .Ar any は必須フィールドの内容が重要でないことを指定するために 様々な箇所で使用することができます。 .Pp ルールボディは以下の書式で指定します。 .Bd -ragged -offset indent .Op Ar proto Cm from Ar src Cm to Ar dst .Op Ar options .Ed .Pp 最初の部分 (protocol from src to dst) は .Nm ipfw1 との後方互換のためにあります。 .Nm ipfw2 では、任意のマッチパターン (MAC ヘッダ、IPv4 プロトコル、アドレス、ポートを含む) が .Ar options セクションで指定できます。 .Pp ルールフィールドは以下の意味を持ちます。 .Bl -tag -width indent .It Ar proto : protocol | Cm { Ar protocol Cm or ... } IPv4 におけるプロトコル (または複数のプロトコルからなる .Em 論理和ブロック ) を、数字や名前で指定します (完全なリストは .Pa /etc/protocols を参照して下さい)。 .Cm ip または .Cm all のキーワードを使用すると、すべてのプロトコルがマッチします。 .It Ar src No および Ar dst : ip-address | Cm { Ar ip-address Cm or ... } Op Ar ports 単一の .Ar ip-address や、1 つ以上のアドレスを含む .Em 論理和ブロック を指定します。オプションとして、その後に .Ar ports 指示子を続けて置くことができます。 .It Ar ip-address : 次の方法 のいずれかでアドレス (またはアドレスの集合) を指定します (アドレスには、オプションとして .Cm not オペレータを前置することができます)。 .Bl -tag -width indent .It Cm any 任意の IP アドレスがマッチします。 .It Cm me システムのインタフェースに設定された任意の IP アドレスがマッチします。 アドレスのリストはパケットが解析されるときに評価されます。 .It Ar numeric-ip | hostname ドットで区切った数字 4 つ組またはホスト名で指定した、 1 つの IPv4 アドレスがマッチします。 ホスト名の名前解決は、そのルールがファイアウォールのリストに 追加されるときに行われます。 .It Ar addr Ns / Ns Ar masklen ベースとなる .Ar addr (ドットで区切った数字 4つ組またはホスト名で指定します) と .Cm masklen ビット幅のマスク に一致する全てのアドレスがマッチします。 例えば、1.2.3.4/25 は 1.2.3.0 から 1.2.3.127 までの 全ての IP アドレスがマッチすることになります。 .It Ar addr Ns / Ns Ar masklen Ns Cm { Ns Ar num,num,... Ns Cm } ベースアドレスが .Ar addr (ドットで区切った数字 4つ組またはホスト名で指定します) であり、最後のバイトがブレース {} の中に列挙されている 全てのアドレスがマッチします。 ブレース、コンマ、数字の間には空白を置いてはいけないことに注意して下さい。 .Ar masklen フィールドはアドレスのセットのサイズに制限をつけるために使用され、 24 から 32 の間の任意の値をとることができます。 .br 例えば、アドレスを 1.2.3.4/24{128,35,55,89} として指定した場合、 次のアドレスがマッチします: .br 1.2.3.128 1.2.3.35 1.2.3.55 1.2.3.89 .br この書式は 1 つのルールでまばらなアドレス群を取り扱うときに 特に便利です。 ビットマスクを使用してマッチを行うので、 定数時間で処理でき、ルールセットの複雑さが劇的に減少します。 .It Ar addr Ns : Ns Ar mask ベースアドレスが .Ar addr (ドットで区切った 4 つの数字またはホスト名で指定されます) であり、マスクが .Ar mask (ドットで区切った 4 つの数字で指定されます) である全てのアドレスにマッチします。 例えば、1.2.3.4/255.0.255.0 は、1.*.3.* にマッチします。 この形式は、連続でないマスクの場合にだけ使用することを推奨します。 連続なマスクの場合は、よりコンパクトでより間違いにくい、 .Ar addr Ns / Ns Ar masklen を使います。 .El .It Ar ports : Oo Cm not Oc Bro Ar port | port Ns \&- Ns Ar port Ns Brc Op , Ns Ar ... (TCP や UDP などのように) ポート番号をサポートしている プロトコルについて、オプションとして、 .Cm ports を指定することができます。 1 つ以上のポートまたはポートの範囲を空白なしのコンマ区切りで指定します。 さらにオプションとして、 .Cm not オペレータを付加して指定することができます。 記号 .Ql \&- による表現は、ポート範囲 (両端含む) を指定します。 .Pp ポート数値の代わりに (ファイル .Pa /etc/services から取った) サービス名を使用できます。 ポートリストの長さは 30 ポートまたはポート範囲に制限されていますが、 ルールの .Cm options セクションで .Em 論理和ブロック を使用することにより、より広い範囲を指定することができます。 .Pp バックスラッシュ .Pq Ql \e を使用することにより、サービス名中のダッシュ .Pq Ql - 文字をエスケープ可能です (シェルから入力するとき、 シェル自身がエスケープ文字として使用されないようにするために、 バックスラッシュを 2 回タイプしなければなりません)。 .Pp .Dl "ipfw add count tcp from any ftp\e\e-data-ftp to any" .Pp 断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではないもの) は、 1 つ以上のポート指定を持つルールにはマッチしません。 断片化されたパケットへのマッチングに関する詳細は .Cm frag オプションを参照してください。 .El .Ss ルールオプション (マッチパターン) ルール内で追加のマッチパターンを使用することができます。 これらはルール内に 0 個以上置けるので .Em オプション と呼ばれており、オプションで .Cm not オペランドを前置することができ、 .Em 論理和ブロック としてグループ化することが可能です。 .Pp 以下のマッチパターンが使用できます (アルファベット順に並べています)。 .Bl -tag -width indent .It Cm bridged ブリッジされるパケットにのみマッチします。 .It Cm dst-ip Ar ip address 宛先 IP アドレスが引数で指定したアドレスの 1 つである IP パケットにマッチします。 .It Cm dst-port Ar source ports 宛先ポートが引数で指定したポートの 1 つである IP パケットにマッチします。 .It Cm established RST か ACK ビットがセットされている TCP パケットにマッチします。 .It Cm frag IP データグラムのフラグメントであり、かつ、最初のフラグメントでない パケットにマッチします。 これらのパケットは次のプロトコルヘッダ (例えば TCP, UDP) を持たないので、 これらのヘッダを調べるオプションはマッチすることができないことに 注意して下さい。 .It Cm gid Ar group .Ar group によって送信された、またはそれに対して受信された 全ての TCP もしくは UDP パケットにマッチします。 .Ar group は名前か数値で指定することができます。 .It Cm icmptypes Ar types .Ar types で指定したリスト中に存在する ICMP タイプを持つ ICMP パケットにマッチします。 リストは範囲指定でも、タイプおのおのをコンマで区切ったものでも どちらの組み合わせでもかまいません。 サポートされている ICMP タイプは次の通りです。 .Pp エコー応答 .Pq Cm 0 , 宛先到達不可 .Pq Cm 3 , 発信元抑制 .Pq Cm 4 , リダイレクト .Pq Cm 5 , エコー要求 .Pq Cm 8 , ルータ広告 .Pq Cm 9 , ルータ要請 .Pq Cm 10 , 時間超過 .Pq Cm 11 , IP ヘッダ異常 .Pq Cm 12 , タイムスタンプ要求 .Pq Cm 13 , タイムスタンプ応答 .Pq Cm 14 , インフォメーション要求 .Pq Cm 15 , インフォメーション返答 .Pq Cm 16 , アドレスマスク要求 .Pq Cm 17 , アドレスマスク応答 .Pq Cm 18 .It Cm in | out それぞれ到着または送出パケットにマッチします。 .Cm in と .Cm out は互いに排他的です (実際、 .Cm out は .Cm not in Ns として実装されています)。 .It Cm ipid Ar id .Cm ip_id フィールドが値 .Ar id である IP パケットにマッチします。 .It Cm iplen Ar len ヘッダとデータを含んだ全体の長さが .Ar len バイトである IP パケットにマッチします。 .It Cm ipoptions Ar spec .Ar spec で指定したコンマ区切りリストオプションを含む IP ヘッダを持つ パケットにマッチします。 IP オプションは次のものがサポートされています: .Pp .Cm ssrr (ストリクトソースルーティング), .Cm lsrr (ルーズソースルーティング), .Cm rr (レコードルート), .Cm ts (タイムスタンプ)。 .Ql \&! を置くことで特定のオプションが存在しないという記述ができます。 .It Cm ipprecedence Ar precedence 先行フィールドが .Ar precedence に等しい IP パケットにマッチします。 .It Cm iptos Ar spec .Ar spec で指定したコンマ区切りリストのサービスタイプを含む .Cm tos フィールドを持つ IP パケットにマッチします。 サポートされているサービスの IP タイプは次の通りです。 .Pp .Cm lowdelay .Pq Dv IPTOS_LOWDELAY , .Cm throughput .Pq Dv IPTOS_THROUGHPUT , .Cm reliability .Pq Dv IPTOS_RELIABILITY , .Cm mincost .Pq Dv IPTOS_MINCOST , .Cm congestion .Pq Dv IPTOS_CE 。 .Ql \&! を置くことで特定のオプションが存在しないという記述ができます。 .It Cm ipttl Ar ttl 生存時間が .Ar ttl である IP パケットにマッチします。 .It Cm ipversion Ar ver IP バージョンフィールドが .Ar ver である IP パケットにマッチします。 .It Cm keep-state マッチする際に、ファイアウォールは動的ルールを作成します。 作成されるルールは、デフォルトでは、同じプロトコルを使用している 発信元と宛先 IP/ポート間での双方向のトラフィックにマッチするような 動作となります。 このルールには有限の生存時間 ( .Xr sysctl 8 変数の集合により制御されます) があり、 生存時間はマッチするパケットが見つかるたびにリフレッシュされます。 .It Cm layer2 レイヤ 2 のパケット、 つまり、 ether_demux() と ether_output_frame() から .Nm へ渡されるパケットのみにマッチします。 .It Cm limit Bro Cm src-addr | src-port | dst-addr | dst-port Brc Ar N ファイアウォールは、 このルールで指定したものと同じパラメータの集合を持つ接続を、 .Ar N 個だけ許可します。 1 つ以上の発信元と宛先アドレスおよびポートが指定できます。 .It Cm { MAC | mac } Ar dst-mac src-mac 与えられた .Ar dst-mac アドレスと .Ar src-mac アドレスを持つパケットにマッチします。 アドレスは、 .Cm any キーワード (任意の MAC アドレスにマッチします) または コロンで区切った 16 進数 6 個の組で指定します。 この 6 個組アドレスの後ろには、オプションとして、次に示すような (何ビットが重要かを表す) マスクをつけることができます。 .Pp .Dl "MAC 10:20:30:40:50:60/33 any" .Pp MAC アドレスの順序 (宛先が最初で 2 番目に発信元) は 物理的な線上のものと同じですが、 IP アドレスで使用されるものとは反対であることに注意して下さい。 .It Cm mac-type Ar mac-type イーサネットタイプフィールドが 引数で指定したものの 1 つと一致する パケットにマッチします。 .Ar mac-type は .Cm port numbers と同じ方法で指定します (つまり、単一の値または範囲が、1 個以上コンマで区切られたものです)。 .Em vlan , ipv4 , ipv6 のような既知の値に対しては、シンボル名称を使用することができます。 値は 10 進数か 16 進数 (0x が頭につく場合) で入力することができ、 常に 16 進数で出力されます (これは .Cm -N オプションが使用されていない場合です。 .Cm -N オプションが使用されるとシンボル名称の解決が試みられます)。 .It Cm proto Ar protocol 対応する IPv4 のプロトコルを持つパケットがマッチします。 .It Cm recv | xmit | via Brq Ar ifX | Ar if Ns Cm * | Ar ipno | Ar any 指定したインタフェースから 受信したパケット、送信したパケット、通過したパケットが それぞれマッチします。 インタフェースの指定は、正確な名前 .Ns No ( Ar ifX Ns No ) 、 またはデバイス名 .Ns No ( Ar if Ns Ar * Ns No ) 、 IP アドレスで行なうか、 もしくは何らかのインタフェースを通じて行ないます。 .Pp .Cm via キーワードにより、指定したインタフェースが常にチェックされる ことになります。 .Cm recv や .Cm xmit が .Cm via の代わりに使用された場合、 それぞれ、受信インタフェースのみ、または送信インタフェース のみがチェックされます。 両方とも指定した場合、 送信インタフェースと受信インタフェースの両方に基づく パケットのマッチが可能になります。 例えば次のようになります。 .Pp .Dl "ipfw add deny ip from any to any out recv ed0 xmit ed1" .Pp .Cm recv インタフェースは到着または送出パケットのどちらかについて 検査することができますが、 .Cm xmit インタフェースは送出パケットのみについて検査することができます。 したがって .Cm xmit を使用する場合には .Cm out は必須です (そして .Cm in は無効となります)。 .Pp パケットが受信インタフェースや送信インタフェースを持たないことがあります。 ローカルホストから発生したパケットは受信インタフェースを持ちませんし、 ローカルホストに到着する予定のパケットは送信インタフェースを持ちません。 .It Cm setup SYN ビットがセットされているが ACK ビットを持たない TCP パケットにマッチします。 これは .Dq Li tcpflags\ syn,!ack の短縮形です。 .It Cm src-ip Ar ip-address 引数で指定したアドレスの 1 個を発信元 IP として持つ IP パケットがマッチします。 .It Cm src-port Ar ports 引数で指定したポートの 1 個を発信元ポートとして持つ IP パケットがマッチします。 .It Cm tcpack Ar ack TCP パケットのみです。 TCP ヘッダの確認応答番号フィールドが .Ar ack に設定されていればマッチします。 .It Cm tcpflags Ar spec TCP パケットのみです。 TCP ヘッダが .Ar spec で指定したコンマ区切りのフラグのリストを含んでいればマッチします。 サポートされている TCP フラグは次の通りです。 .Pp .Cm fin , .Cm syn , .Cm rst , .Cm psh , .Cm ack , .Cm urg 。 .Ql \&! を置くことで特定のフラグが存在しないという記述ができます。 .Cm tcpflags の指定を含むルールは、0 でないオフセットを持つフラグメントパケットには 決してマッチすることはありえません。 フラグメントパケットのマッチについての詳細は .Cm frag オプションを参照して下さい。 .It Cm tcpseq Ar seq TCP パケットのみです。 TCP ヘッダのシーケンス番号フィールドが .Ar seq に設定されていればマッチします。 .It Cm tcpwin Ar win TCP パケットのみです。 TCP ヘッダのウィンドウフィールドが .Ar win に設定されていればマッチします。 .It Cm tcpoptions Ar spec TCP パケットのみです。 .Ar spec で指定したコンマ区切りのオプションのリストが TCP ヘッダに含まれていればマッチします。 サポートされている TCP オプションは次の通りです。 .Pp .Cm mss (最大セグメントサイズ), .Cm window (TCP ウィンドウ広告), .Cm sack (選択的 ACK), .Cm ts (RFC1323 タイムスタンプ), .Cm cc (RFC1644 T/TCP コネクションカウント)。 .Ql \&! を置くことで特定のオプションが存在しないという記述ができます。 .It Cm uid Ar user .Ar user が送信したまたは受信する、 すべての TCP パケットと UDP パケットにマッチします。 .Ar user は、名前でも ID 番号でもマッチします。 .El .Sh ルールのセット 各ルールは 32 個の異なる .Em セット のひとつに属しています。セットには 0 から 31 までの番号をつけられています。 セット 31 はデフォルトルールのために予約されています。 .Pp デフォルトでは、 新規のルールを入力する際に .Cm set N アトリビュートを使用しなければ、 ルールはセット 0 に置かれます。 セットは個別に、かつ、アトミックに有効化したり無効化したりできるので、 この機構によって、ファイアウォールの設定を複数個格納し、 それらを素早く (かつアトミックに) 切り替えるための方法が 簡単になります。 セットを有効化/無効化するコマンドは次の通りです。 .Bd -ragged -offset indent .Nm .Cm set Oo Cm disable Ar number ... Oc Op Cm enable Ar number ... .Ed .Pp ここでは複数の .Cm enable または .Cm disable セクションが指定可能です。 コマンドで指定したセット全てについて、 コマンドはアトミックに実行されます。 デフォルトでは全てのセットは有効化された状態です。 .Pp セットを無効化すると、ファイアウォールの設定中にそのルールが 存在しないかのように振る舞います。 ただし例外が 1 つだけあります。 .Bd -ragged -offset indent 無効化される以前にルールから生成された動的ルールは、 期限切れとなるまではまだ活動可能な状態です。 動的ルールを削除するためには、 そのルールを生成した親ルールを明示的に削除しなければなりません。 .Ed .Pp ルールのセット番号は次のコマンドで変更できます。 .Bd -ragged -offset indent .Nm .Cm set move .Brq Cm rule Ar rule-number | old-set .Cm to Ar new-set .Ed .Pp また、次のコマンドを使用して 2 つのルールセットを アトミックに入れ換えることができます。 .Bd -ragged -offset indent .Nm .Cm set swap Ar first-set second-set .Ed .Pp ルールのセットの使い方のいくつかは、 .Sx 使用例 セクションを参照して下さい。 .Sh ステートフルファイアウォール ステートフルオペレーションは、 与えられたパターンにマッチするパケットが検出されたときに、 ファイアウォールが特定のフローについてのルールを動的に 作成するための方法です。 ステートフルオペレーションに対するサポートは .Nm ルール の .Cm check-state , keep-state, limit オプションを通じて提供されます。 .Pp 動的ルールが生成されるのは、パケットが .Cm keep-state や .Cm limit ルールにマッチしたときで、その結果、 与えられた .Em protocol を持ち、 .Em src-ip/src-port dst-ip/dst-port のアドレスの組の間のパケット全てのみにマッチする .Em 動的 ルールが生成されます ( .Em src と .Em dst はここでは最初にマッチしたアドレスを区別するためにのみ 使用しています。その後、両者は完全に等価になります)。 動的ルールは最初に .Cm check-state, keep-state, limit が生じたところでチェックされ、 マッチした際に実行されるアクションは親ルールと同じものになります。 .Pp 動的ルールでは、プロトコル、IP アドレス、ポート以外の 属性がチェックされないことに注意して下さい。 .Pp 動的ルールの典型的な使い方は、 ファイアウォールの設定を閉じた状態にしておきつつ、 内部ネットワークからの最初の TCP SYN パケットに、 そのフローに対する動的ルールをインストールさせ、 そのセッションに属するパケットがファイアウォールを 通過できるようにするというものです。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add allow tcp from my-subnet to any setup" .Dl "ipfw add deny tcp from any to any" .Pp 同様なアプローチが UDP に対しても使えます。 内部から来た UDP パケットに動的ルールをインストールさせ、 その応答がファイアウォールを通過するようにします。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add allow udp from my-subnet to any" .Dl "ipfw add deny udp from any to any" .Pp 動的ルールは、ある時間の後、期限切れとなります。 その時間は、 フローの状態といくつかの .Cm sysctl 変数の設定に依存します。 詳細はセクション .Sx sysctl 変数 を参照して下さい。 TCP セッションでは、 動的ルールに対し、定期的にキープアライブパケットを送出させるように 指示し、期限切れになる頃にルールの状態をリフレッシュさせることが できます。 .Pp 動的ルールの使用方法に関する他の例は セクション .Sx 使用例 を参照して下さい。 .Sh トラフィックシェイパ (DUMMYNET) 設定 .Nm は、 .Xr dummynet 4 トラフィックシェイパへのユーザインタフェースも提供します。 .Pp .Nm dummynet の動作は、まずファイアウォールを用いてパケットをクラス分けし、 それらを .Em フロー(flow) に分割します。その際に、 .Nm ルールで使用できる如何なるマッチパターンをも使用できます。 ローカルポリシにより、フロー 1 個に TCP コネクション 1 個の パケットを含めることもできますし、指定したホストのパケットでも、 サブネット全体のパケットでも、あるプロトコルタイプのパケットでも 含めることができます。 .Pp 同一のフローに属するパケットは、その後、トラフィックへの制限を 実装する 2つのオブジェクトのいずれか一方に渡されます。 .Bl -hang -offset XXXX .It Em pipe パイプ (pipe) は、指定したバンド幅、伝搬遅延、キューサイズ、 パケット損失率を持つリンク 1 個をエミュレートします。 クラス分けを受けた後、パケットは、パイプに入る前にキューに蓄えられ、 パイプのパラメータに従いパイプ中を伝送されます。 .Pp .It Em queue キュー (queue) は、WF2Q+ (Worst-case Fair Weighed Fair Queueing: 最悪均等重み付け均等待ち行列) ポリシを実装するために用いる抽象化です。 このポリシは、WFQ ポリシの効率的な変種です。 .br キューは .Em 重み (weight) とパイプの参照を、個々のフローに対応付けます。 同じパイプに結合されバックログを持つ (キューにパケットがある) フロー全てで、それぞれの重みに比例してそのパイプのバンド幅を 山分けします。 重みは優先度ではないことに注意して下さい。大きい重みを持つフローが ずっとバックログを抱えていたとしても、それより軽い重みを持つ フローも、バンド幅を自分の割合の分は得ることは保証されます。 .Pp .El 実際の使い方として、 .Em pipe を使い、フローが取り得るバンド幅にハードリミットを設けることができます。 一方で、 .Em queue を使い、異なるフローがどのようにして利用可能なバンド幅を山分けするかを 決定することができます。 .Pp .Em pipe と .Em queue の設定コマンドは次の通りです。 .Bd -ragged -offset indent .Cm pipe Ar number Cm config Ar pipe-configuration .Pp .Cm queue Ar number Cm config Ar queue-configuration .Ed .Pp 次のパラメータをパイプに対して設定可能です。 .Pp .Bl -tag -width indent -compact .It Cm bw Ar bandwidth | device バンド幅で、単位は .Sm off .Op Cm K | M .Brq Cm bit/s | Byte/s .Sm on です。 .Pp 値 0 (デフォルト) は無限のバンド幅を意味します。 単位は、次の .Pp .Dl "ipfw pipe 1 config bw 300Kbit/s" .Pp のように、数値の直後に続けて書く必要があります。 次の .Pp .Dl "ipfw ipie 1 config bw tun0" .Pp のように、数値の代りにデバイス名を指定した場合、 送信クロックは指定したデバイスから与えられます。 現在のところ、 .Xr tun 4 デバイスのみがこの機能を提供しており、 .Xr ppp 8 と組み合わせて使用します。 .Pp .It Cm delay Ar ms-delay 伝達遅延時間であり、ミリ秒単位で指定します。 値は、クロックティックの倍数 (典型的には 10ms ですが、 カーネルを .Dq "options HZ=1000" で動作させて精度を 1ms かそれ以下にすると良い ことが経験的に知られています) に丸められます。 デフォルト値は 0 であり、遅延無しを意味します。 .El .Pp 次のパラメータをキューに対して設定できます。 .Pp .Bl -tag -width indent -compact .It Cm pipe Ar pipe_nr キューを指定したパイプに接続します。 複数のキュー (同じ重みの場合も異なる重みの場合もあります) を同一のパイプに接続することができます。 パイプはキューの集合に対する集約されたレートを指定します。 .Pp .It Cm weight Ar weight このキューにマッチするフローに適用する重みを指定します。 重みは 1 から 100 の範囲でなければならず、 デフォルトは 1 です。 .El .Pp 最後に、次のパラメータをパイプやキューに対して設定できます。 .Pp .Bl -tag -width XXXX -compact .Pp .It Cm buckets Ar hash-table-size 様々なキューを格納するハッシュ表のサイズを指定します。 デフォルトは 64 で、 .Xr sysctl 8 変数 .Em net.inet.ip.dummynet.hash_size によって制御されます。 指定可能な範囲は 16 から 65536 までです。 .Pp .It Cm mask Ar mask-specifier .Nm ルールにより 指定したパイプもしくはキューに対して送られたパケットを、さらに 複数のフローにクラス分けすることができます。その後、それぞれの パケットは、異なる .Em 動的な パイプもしくはキューに送られます。 フロー識別子は、パイプもしくはキューの設定中の .Cm mask オプションの指定に応じて IP アドレス、ポート、プロトコルタイプをマスクすることにより 構築されます。 異なるフロー識別子それぞれに対し、新しいパイプもしくはキューが 元となるオブジェクトと同一のパラメータとともに生成され、 マッチするパケットがそこに送られます。 .Pp このようにして、 .Em 動的パイプ を使用するとき、フローそれぞれはパイプで指定したものと 同じバンド幅を得ます。一方、 .Em 動的キュー を使用する時、フローそれぞれは、同じキューにより生成された 他のフローと、親パイプのバンド幅を均等に山分けします (異なる重みを 持つ他のキューが同じパイプに接続される場合があることに 注意して下さい)。 .br 使用可能なマスク指定子は、次を組み合わせたものです。 .Pp .Cm dst-ip Ar mask , .Cm src-ip Ar mask , .Cm dst-port Ar mask , .Cm src-port Ar mask , .Cm proto Ar mask , .Cm all .Pp 最後の指定子は、 すべてのフィールドのすべてのビットが検査されることを意味しています。 .Pp .It Cm noerror パケットが dummynet のキューやパイプによって落されたとき、 通常は、 デバイスキューが一杯になったときに生じるのと同様な形で、 エラーがカーネル内の呼び出し元ルーチンに報告されます。 このオプションを設定すると、 パケットの配送に成功したかのように報告されます。 これは、 遠隔地にあるルータでの損失や輻輳をシミュレートしたいという 一部の実験的な設定のために必要とされています。 .Pp .It Cm plr Ar packet-loss-rate パケットの損失率です。 引数 .Ar packet-loss-rate は 0 から 1 までの浮動小数点数で、 0 は損失がないことを、1 は 100% 失われることを意味します。 損失率は内部的には 31 ビットで表現されています。 .Pp .It Cm queue Brq Ar slots | size Ns Cm Kbytes スロット数 .Ar slots または .Cm KBytes で表したキューのサイズです。 デフォルトは 50 スロットで、 これはイーサネットデバイスにおける典型的なキューのサイズです。 低速リンクのためにキューのサイズを小さいままにしておくことが推奨されます。 そうしないとキューの遅延がトラフィックに及ぼす影響が 著しくなるかもしれません。 例えば、最大サイズのイーサネットパケット (1500 バイト) が 50 個のとき、 600Kbit、 つまり 30Kbit/秒 のパイプで 20 秒ということになります。 それよりもずっと大きな MTU を持ったインタフェース (例えばループバックインタフェースは 16KB パケットです) からパケットを受け取る場合、さらに悪い結果となることがあります。 .Pp .It Cm red | gred Ar w_q Ns / Ns Ar min_th Ns / Ns Ar max_th Ns / Ns Ar max_p RED (Random Early Detection) キュー管理アルゴリズムを使用します。 .Ar w_q と .Ar max_p は 0 から 1 (0 を含みません) の範囲の浮動小数点数であり、 .Ar min_th と .Ar max_th はキュー管理用の閾値を指定する整数です (キューがバイト数で指定された場合は閾値はバイトで計算され、 そうでない場合はスロット数で計算されます)。 .Xr dummynet 4 は、gentle RED という変型 (gred) もサポートします。 RED の動作を制御するために、3 個の .Xr sysctl 8 変数を使用可能です。 .Bl -tag -width indent .It Em net.inet.ip.dummynet.red_lookup_depth リンクがアイドルの時の、平均キューの計算精度を指定します (デフォルトは 256 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_avg_pkt_size パケットサイズの平均の期待値を指定します (デフォルトは 512 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_max_pkt_size パケットサイズの最大値の期待値を指定します。 キューの閾値がバイトの場合のみ使用されます (デフォルトは 1500 であり、0 より大きい必要があります) .El .El .Sh チェックリスト ルールを構成する際に考慮すべき重要な点をいくつか述べます。 .Bl -bullet .It かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。 ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。 .It テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる のがよいでしょう。 コンソールに近寄れない場合、 .Pa /usr/share/examples/ipfw/change_rules.sh にあるような自動回復スクリプトを使用してください。 .It ループバックインタフェースのことを忘れてはなりません。 .El .Sh 細かい事柄 .Bl -bullet .It フラグメント化されたデータグラムが無条件で破棄される状況があります。 TCP パケットは、最低 20 バイトの TCP ヘッダを含まない場合、破棄されます。 UDP パケットは、完全な 8 バイトの UDP ヘッダを含まない場合、破棄されます。 ICMP パケットは、4 バイトの ICMP ヘッダ、 すなわち ICMP タイプとコードとチェックサムを含まない場合、破棄されます。 これらのパケットは、単に .Dq pullup failed としてログされます。 何故なら、パケット中に有意なログエントリを生成するだけの有用なデータが 含まれないかもしれないためです。 .It 無条件で破棄されるもう 1 種類のパケットは、 フラグメントオフセットが 1 の TCP パケットフラグメントです。 これはパケットとしては有効なものですが、利用目的はファイアウォールを かいくぐることしかありません。 ログが有効な場合、 これらのパケットはルール -1 により破棄されたと報告されます。 .It ネットワーク越しにログインしている場合、 .Xr kld 4 バージョンの .Nm をロードすることはそれほど単純なことではありません。 以下のコマンドを奨めます。 .Bd -literal -offset indent kldload /modules/ipfw.ko && \e ipfw add 32000 allow ip from any to any .Ed .Pp これに引続き、同じような状況で .Bd -literal -offset indent ipfw flush .Ed .Pp とするのは良くありません。 .It システムセキュリティレベルが 3 以上に設定されている場合、 .Nm フィルタリストを変更できません (システムセキュリティレベルについては .Xr init 8 を参照してください)。 .El .Sh パケットの行き先変更 指定されたポートにバインドされた .Xr divert 4 ソケットは、 そのポートへ行き先変更されたパケットを、 全部受けとります。 宛先ポートにバインドされたソケットがない場合や、 カーネルがパケットの行き先変更ソケットをサポートするようには コンパイルされていない場合、 パケットは破棄されます。 .Sh SYSCTL 変数 .Xr sysctl 8 変数の集合は、ファイアウォールと 関連するモジュール ( .Nm dummynet, bridge ) の動作を制御します。 デフォルト値と意味と共に、これらを以下に列挙します (どの値が実際に使用されるかは .Xr sysctl 8 で確認してください)。 .Bl -tag -width indent .It Em net.inet.ip.dummynet.expire : No 1 未処理のトラフィックを持たない動的パイプ/キューを怠惰に削除します。 この変数を 0 に設定することでこの動作を無効にすることができます。 この場合、パイプ/キューは閾値に達した場合にのみ削除されることになります。 .It Em net.inet.ip.dummynet.hash_size : No 64 動的パイプ/キューに使用されるハッシュ表のデフォルトの大きさです。 この値はパイプ/キューを設定するときに .Cm buckets オプションが指定されなかった場合に使用されます。 .It Em net.inet.ip.dummynet.max_chain_len : No 16 ハッシュバケット (hash bucket) 内のパイプ/キューの最大個数の値です。 .Cm net.inet.ip.dummynet.expire=0 であっても、積 .Cm max_chain_len*hash_size が空のパイプ/キューが期限切れになったとする閾値を決定するのに使用されます。 .It Em net.inet.ip.dummynet.red_lookup_depth : No 256 .It Em net.inet.ip.dummynet.red_avg_pkt_size : No 512 .It Em net.inet.ip.dummynet.red_max_pkt_size : No 1500 RED アルゴリズムで使う損失確率の計算に使用されるパラメータです。 .It Em net.inet.ip.fw.autoinc_step : No 100 ルール番号を自動生成する際のルール番号間の増分です。 この値は 1 から 1000 の範囲でなければなりません。 .It Em net.inet.ip.fw.curr_dyn_buckets : Em net.inet.ip.fw.dyn_buckets 動的ルールのハッシュ表内の現在のバケットの個数です (読み出しのみ可能)。 .It Em net.inet.ip.fw.debug : No 1 .Nm が生成するデバッグメッセージを制御します。 .It Em net.inet.ip.fw.dyn_buckets : No 256 動的ルールで使用されるハッシュ表に含まれるバケットの個数です。 2 の累乗でなければならず、上限は 65536 です。 全ての動的ルールが期限切れとなったときにのみ効果が現れるので、 確実にハッシュ表のサイズが変更されるようにするには .Cm flush コマンドを使用するべきでしょう。 .It Em net.inet.ip.fw.dyn_count : No 3 現在の動的ルールの数です (読み込み専用)。 .It Em net.inet.ip.fw.dyn_keepalive : No 1 TCP セッションにおいて .Cm keep-state ルールのためのキープアライブパケットを生成するようにします。 キープアライブパケットは ルールの生存時間が残り 20 秒となったときに 接続の両端に向けて 5 秒毎に 生成されます。 .It Em net.inet.ip.fw.dyn_max : No 8192 動的ルールの最大値です。この限界にいきつくと、 古いルールが無効になるまでは、それ以上、動的ルールを 組み込むことはできません。 .It Em net.inet.ip.fw.dyn_ack_lifetime : No 300 .It Em net.inet.ip.fw.dyn_syn_lifetime : No 20 .It Em net.inet.ip.fw.dyn_fin_lifetime : No 1 .It Em net.inet.ip.fw.dyn_rst_lifetime : No 1 .It Em net.inet.ip.fw.dyn_udp_lifetime : No 5 .It Em net.inet.ip.fw.dyn_short_lifetime : No 30 これらの値は、動的ルールの生存時間を秒単位でコントロールします。 最初の SYN 交換の際には生存時間が短期 (short) になり、 その後互いの SYN が検出された後は増加させられ、 最後の FIN 交換の間、 または RST を受信した際に再び減らされます。 .Em dyn_fin_lifetime および .Em dyn_rst_lifetime は厳密に 5 秒 (キープアライブを繰り返す周期) より短くなければなりません。 ファイアウォールではこれが強制されます。 .It Em net.inet.ip.fw.enable : No 1 ファイアウォールを有効にします。 この変数を 0 に設定すると、 マシンがコンパイル時に有効の設定がされている場合であっても、 ファイアウォールがない状態で実行されます。 .It Em net.inet.ip.fw.one_pass : No 1 設定されている場合、 .Xr dummynet 4 パイプから出てくるパケットは 再度ファイアウォールを通過することはありません。 そうでない場合、 パイプアクションの後、 パケットは次のルールでファイアウォールに再注入されます。 -.Pp -注: パイプから生じるブリッジされたパケットやレイヤ 2 パケットは、 -この変数の値に関わらず、ファイアウォールに決して再注入されません。 .It Em net.inet.ip.fw.verbose : No 1 冗長メッセージを有効にします。 .It Em net.inet.ip.fw.verbose_limit : No 0 冗長出力を行うように設定されたファイアウォールが 生成するメッセージ数を制限します。 .It Em net.link.ether.ipfw : No 0 .Nm がレイヤ 2 パケットを通すかどうかを制御します。 デフォルトは no です。 .It Em net.link.ether.bridge_ipfw : No 0 .Nm がブリッジされたパケットを通すかどうかを制御します。 デフォルトは no です。 .El .Sh FreeBSD-STABLE で IPFW2 を使う .Nm ipfw2 は、 .Fx CURRENT で標準となっていますが、 .Fx STABLE では、 カーネルを .Cm options IPFW2 を付けてコンパイルし、 .Nm /sbin/ipfw と .Nm /usr/lib/libalias を .Cm -DIPFW2 を付け (buildworld の前に .Nm /etc/make.conf に .Cm IPFW2=TRUE を追加しておくことで同じ効果を得ることができます) 再コンパイル、再インストールしない限り、 今でも .Nm ipfw1 を使用します。 .Pp .Sh IPFW2 拡張 このセクションでは .Nm ipfw2 で導入され、 .Nm ipfw1 には存在しなかった機能の一覧を示します。 ここではルールセットを記述する際に影響が大きいと思われる順に示します。 より効果的なやり方でルールセットを記述するために これらの機能を使用したいと思うかもしれません。 .Bl -tag -width indent .It 非 IPv4 のパケットの取り扱い .Nm ipfw1 は全ての非 IPv4 パケットを黙って受け付けます ( .Nm ipfw1 は .Em net.link.ether.bridge_ipfw=1 Ns の場合にのみ非 IPv4 パケットを参照します)。 .Nm ipfw2 は 全てのパケット (非 IPv4 パケットを含む) を ルールセットにしたがってフィルタします。 .Nm ipfw1 と同じような動作をさせたい場合は ルールセットの先頭で次のようにします。 .Pp .Dl "ipfw add 1 allow layer2 not mac-type ip" .Pp .Cm layer2 オプションは冗長であるように見えますが、必要です。 レイヤ 3 からファイアウォールを通るパケットは MAC ヘッダを持たないので、 .Cm mac-type ip パターンはレイヤ3のパケットに対して常に失敗します。 つまり、 .Cm not オペレータをおくと全てを通過させるルールになってしまいます。 .It アドレスセット .Nm ipfw1 はアドレスセット ( .Ar addr/masklen{num,num,...} という形式のもの) をサポートしていません。 .Pp .It ポートの指定 .Nm ipfw1 では TCP と UDP のポートを指定する際に 指定できるポート範囲は 1 つだけでした。 また、 .Nm ipfw2 で 15 エントリ可能であるのに対し、10 エントリに制限されていました。 また、 .Nm ipfw1 では .Cm tcp または .Cm udp パケットを要求するルールの場合に限って ポートを指定することが可能です。 .Nm ipfw2 では全てのパケットにマッチさせるルールでポートの指定を行うことが可能で、 マッチはポート識別子を含んだプロトコルを運ぶパケットのみに適用されます。 .Pp 最後に、 .Nm ipfw1 では 最初のポートエントリを .Ar port:mask と指定することができました。 ここで .Ar mask は任意の 16 ビットマスクが使用可能です。 この文法が有用であるかどうかは疑問なので .Nm ipfw2 ではもはやサポートされていません。 .It 論理和ブロック .Nm ipfw1 は論理和ブロックをサポートしていません。 .It キープアライブ .Nm ipfw1 は状態依存セッションのためのキープアライブを生成しません。 結果として、 休止状態のセッションは 動的ルールの生存時間が期限切れとなるために 落されることがあります。 .It ルールセット .Nm ipfw1 はルールセットを実装していません。 .It MAC ヘッダによるフィルタとレイヤ 2 のファイアウォール .Nm ipfw1 は MAC ヘッダフィールドによるフィルタを実装していませんし、 .Cm ether_demux() と .Cm ether_output_frame() からのパケットによっても起動しません。 sysctl 変数 .Em net.link.ether.ipfw はここでは何の効果もありません。 .It オプション 次のオプションは .Nm ipfw1 ではサポートされていません。 .Pp .Cm dst-ip, dst-port, layer2, mac, mac-type, src-ip, src-port .Pp さらに、次のオプションは .Nm ipfw1 (RELENG_4) のルールではサポートされていません。 .Pp .Cm ipid, iplen, ipprecedence, iptos, ipttl, .Cm ipversion, tcpack, tcpseq, tcpwin .It dummynet オプション .Nm dummynet パイプ/キュー用の次のオプションはサポートされていません。 .Pp .Cm noerror .El .Sh 使用例 .Nm はあまりにも多くの使用方法があるので このセクションでは使用例のほんの一部を示すのみにしておきます。 .Pp .Ss 基本的なパケットフィルタリング 次のコマンドは .Em cracker.evil.org から .Em wolf.tambov.su の telnet ポートへ送られるすべての TCP パケットを拒否するルールを追加します。 .Pp .Dl "ipfw add deny tcp from cracker.evil.org to wolf.tambov.su telnet" .Pp 次のコマンドはクラッカーのネットワーク全体からホスト my への すべてのコネクションを拒否します。 .Pp .Dl "ipfw add deny ip from 123.45.67.0/24 to my.host.org" .Pp 最初に効率良く (動的ルールを用いずに) アクセスを制限する方法は、 次のルールを用いることです。 .Pp .Dl "ipfw add allow tcp from any to any established" .Dl "ipfw add allow tcp from net1 portlist1 to net2 portlist2 setup" .Dl "ipfw add allow tcp from net3 portlist3 to net3 portlist3 setup" .Dl "..." .Dl "ipfw add deny tcp from any to any" .Pp 最初のルールは通常の TCP パケットにすぐにマッチしますが、 最初の SYN パケットにはマッチしません。 指定した発信元/宛先の組の SYN パケットのみ、次の .Cm setup ルールにマッチします。これら以外の SYN パケットは、最後の .Cm deny ルールにより却下されます。 .Pp もし、1 つ以上のサブネットの管理者なら、 .Nm ipfw2 の文法の利点を活用して アドレスセットと論理和ブロックを指定することで、 次のように、 クライアントのブロックにサービスを選択的に利用可能とする 極めてコンパクトなルールセットを記述することができます。 .Pp .Dl "goodguys=\*q{ 10.1.2.0/24{20,35,66,18} or 10.2.3.0/28{6,3,11} }\*q" .Dl "badguys=\*q10.1.2.0/24{8,38,60}\*q" .Dl "" .Dl "ipfw add allow ip from ${goodguys} to any" .Dl "ipfw add deny ip from ${badguys} to any" .Dl "... normal policies ..." .Pp .Nm ipfw1 の文法では、 上の例では各 IP に別々のルールを用意する必要があります。 .Pp .Ss 動的ルール にせの TCP パケットを含む怒涛の攻撃 (flood attack) から サイトを保護するために、次の動的ルールを用いた方が安全です。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add deny tcp from any to any established" .Dl "ipfw add allow tcp from my-net to any setup keep-state" .Pp これらのルールにより、ファイアウォールは、自分たちのネットワークの 内側から到着する通常の SYN パケットで始まるコネクションに対して のみ動的ルールを組み込みます。動的ルールは、最初の .Cm check-state ルール、または、 .Cm keep-state ルールに遭遇した時点でチェックされます。 ルールセットのスキャン量を最小にするために、 .Cm check-state ルールは、ルールセットの最初のほうに置くことになるのが普通です。 実際の燃費は変動します。 .Pp ユーザが開ける接続数を制限するには、次のタイプのルールを使用可能です。 .Pp .Dl "ipfw add allow tcp from my-net/24 to any setup limit src-addr 10" .Dl "ipfw add allow tcp from any to me setup limit src-addr 4" .Pp 前者 (ゲートウェイ上で動作することを仮定) は、/24 ネット上の各ホストが 最大 10 個の TCP 接続を開くことを許します。 後者は、サーバ上に設定可能であり、 単一のクライアントが同時に 4 個を越える接続を使用できないようにします。 .Pp .Em 注意 : ステートフルなルールは、怒涛の SYN 攻撃により極めて大量の動的ルールを 作ってしまい、サービス不能攻撃を受けることになる可能性があります。 ファイアウォールの動作をコントロールする .Xr sysctl 8 変数に従いファイアウォールが動作することによって、 このような攻撃の影響を部分的にでも制限することはできます。 .Pp ここで、カウントされている情報とタイムスタンプ情報を見る .Cm list コマンドのよい例を示します。 .Pp .Dl ipfw -at list .Pp これはタイムスタンプを省略して次のように指定できます。 .Pp .Dl ipfw -a list .Pp これは次の指定と等価です。 .Pp .Dl ipfw show .Pp 次のルールは 192.168.2.0/24 からのすべての受信パケットを、5000 番のポートに 行き先変更するものです。 .Pp .Dl ipfw divert 5000 ip from 192.168.2.0/24 to any in .Pp .Ss トラフィックシェイパ 次のルールは、 .Nm と .Xr dummynet 4 をシミュレーションなどで使う際の使用方法を示しています。 .Pp このルールは 5% の確率でランダムにパケットを落します。 .Pp .Dl "ipfw add prob 0.05 deny ip from any to any in" .Pp 同様の効果は dummynet パイプで実現可能です。 .Pp .Dl "ipfw add pipe 10 ip from any to any" .Dl "ipfw pipe 10 config plr 0.05" .Pp 人工的にバンド幅を制限するためにパイプを使用可能です。 例えばルータとして動作するマシン上で、 192.168.2.0/24 上のローカルクライアントからのトラフィックを制限したい場合、 次のようにします。 .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes" .Pp .Cm out 指示子を使用して、ルールが 2 度使われないようにしていることに 注意してください。 .Nm ルールは、実際には、 入力パケットと出力パケットの両方に適用されることを覚えておいてください。 .Pp バンド幅に制限がある双方向リンクをシミュレートする場合、 正しい方法は次の通りです。 .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config bw 64Kbit/s queue 10Kbytes" .Dl "ipfw pipe 2 config bw 64Kbit/s queue 10Kbytes" .Pp 例えば、あなたの装飾的なウェブページが 低速リンクのみで接続されている在宅ユーザにどう見えているか 知りたい場合などに、 上述の方法は非常に有用かもしれません。 半二重メディア (例えば appletalk, Ethernet, IRDA) をシミュレートしたい 場合を除き、単一のパイプを両方の方向に使用すべきではありません。 両方のパイプが同じ設定である必要はないので、 非対称リンクもシミュレート可能です。 .Pp RED キュー管理アルゴリズムを使用してネットワーク性能を検証するには、 次のようにします。 .Pp .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config bw 500Kbit/s queue 100 red 0.002/30/80/0.1" .Pp トラフィックシェイパの他の典型的な応用は、 いくばくかの通信遅延を導入することです。 これは、バンド幅よりも接続のラウンドトリップ時間が制約要因となる ことがしばしばという状況下で、 遠隔手続き呼び出しを多用するアプリケーションに対し 非常に大きな影響を与えます。 .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config delay 250ms bw 1Mbit/s" .Dl "ipfw pipe 2 config delay 250ms bw 1Mbit/s" .Pp フローごとのキューはさまざまな用途に有用です。 非常に単純な用途は、トラフィックの集計です。 .Pp .Dl "ipfw add pipe 1 tcp from any to any" .Dl "ipfw add pipe 1 udp from any to any" .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config mask all" .Pp 上述のルールセットは、 すべてのトラフィックに対するキューを生成 (して統計情報を収集) します。 パイプには制限をつけていないので、統計情報を集める効果しかありません。 最後のルールだけでなく 3 個のルールが必要なことに注意してください。 .Nm が IP パケットのマッチを試みるときにポートを考慮しないため、 別々のポート上の接続が違うものとして見えません。 .Pp より洗練された例は、 ネットワークの出力トラフィックを、 ネットワーク毎に制約するのではなく、ホスト毎に制約するものです。 .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw add pipe 2 ip from any to 192.168.2.0/24 in" .Dl "ipfw pipe 1 config mask src-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Dl "ipfw pipe 2 config mask dst-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Ss ルールセット ルールセットをアトミックに追加するには、 例えばセット 18 なら、次のようにします。 .Pp .Dl "ipfw disable set 18" .Dl "ipfw add NN set 18 ... # 必要に応じて繰り返す" .Dl "ipfw enable set 18" .Pp ルールセットをアトミックに削除するには、単に次のコマンドでよいです。 .Pp .Dl "ipfw delete set 18" .Pp ルールセットのテストを行ったり、 何か間違いがあった場合にルールセットを削除して制御を回復するには、 次のようにします。 .Pp .Dl "ipfw disable set 18" .Dl "ipfw add NN set 18 ... # 必要に応じて繰り返す" .Dl "ipfw enable set 18 ; echo done; sleep 30 && ipfw disable set 18" .Pp ここで各設定がうまくいった場合、 \&"sleep" が終了する前に control-C を押すと、 ルールセットは活動状態のままとなります。 そうでない場合、 たとえ箱にアクセスすることができなかったとしても、 ルールセットは sleep が終了した後で無効な状態になるので 以前の状態が復元されます。 .Sh 関連項目 .Xr cpp 1 , .Xr m4 1 , .Xr bridge 4 , .Xr divert 4 , .Xr dummynet 4 , .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr init 8 , .Xr kldload 8 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ 年月とともに文法が大きくなり、ときどき訳がわからないところも あるかもしれません。 不幸にして、後方互換性のために昔しでかした文法定義の誤りを 訂正できないでいます。 .Pp .Em !!! 警告 !!! .Pp ファイアウォールを誤って設定するとコンピュータが 使用不能な状態になり、 ことによると、ネットワークサービスを停止させてしまい、 制御を回復するためにコンソールアクセスが必要となってしまう 可能性があります。 .Pp .Cm divert によって行き先を変更されるか .Cm tee された、入ってきたパケットの断片 (フラグメント) は、 ソケットに配送される前に再構成されます。 これらのパケットで使用されるアクションは パケットの最初のフラグメントにマッチしたルールのものです。 .Pp .Cm tee ルールにマッチするパケットは、 即時に受理されるべきではなく、ルールリストを更に通るべきです。 これは、以降のバージョンで修正されるかもしれません。 .Pp ユーザランドへ向けられ、 ユーザランドのプロセス (例えば .Xr natd 8 ) によって再投入されるパケットは、 パケットの発信元インタフェースを含む パケット属性のいろいろを失っています。 パケットがこの方法で再投入された場合、 後のルールは正しく適用されないかもしれません。 ルールの並びにおける .Cm divert ルールの順序は非常に重要なものとなります。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs , .An Luigi Rizzo . .Pp .An -nosplit API は .An Daniel Boulet が BSDI 用に記述したコードに基づいています。 .Pp .Xr dummynet 4 トラフィックシェイパは Akamba Corp. がサポートしました。 .Sh 歴史 .Nm は、 .Fx 2.0 で最初に現れました。 .Xr dummynet 4 は .Fx 2.2.8 から導入されました。 ステートフル拡張は、 .Fx 4.0 から導入されました。 .Nm ipfw2 は 2002 年夏に導入されました。 diff --git a/ja_JP.eucJP/man/man8/loader.8 b/ja_JP.eucJP/man/man8/loader.8 index d9c151a4f7..5d0552e986 100644 --- a/ja_JP.eucJP/man/man8/loader.8 +++ b/ja_JP.eucJP/man/man8/loader.8 @@ -1,877 +1,882 @@ .\" 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. .\" -.\" %FreeBSD: src/sys/boot/common/loader.8,v 1.47 2002/08/30 11:10:59 iwasaki Exp % +.\" %FreeBSD: src/sys/boot/common/loader.8,v 1.51 2002/12/12 17:25:59 ru Exp % .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. .\" .\" $FreeBSD$ .Dd March 14, 1999 .Dt LOADER 8 .Os .Sh 名称 .Nm loader .Nd カーネルブートストラップの最終段階 .Sh 解説 .Nm と呼ばれるプログラムは、 .Fx のカーネルブートストラップにおける、最終段です。 IA32 (i386) アーキテクチャでは、これは .Pa BTX クライアントです。 .Xr libstand 3 に静的にリンクされ、通常はディレクトリ .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 .It Va acpi_load ACPI モジュールの自動ロードを無効にするには、これをアンセットします。 .Xr device.hints 5 の .Va hint.acpi.0.disabled も参照してください。 .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 .Em 警告 : この組み込みコマンドの動作は、 .Xr loader.4th 8 がロードされると、変ります .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 .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 セミコロンで区切った検索パスのリストであり、 ここからブート可能なカーネルを探します。 デフォルトは .Dq Dq kernel;kernel.old です。 .It Va console 現在のコンソールを定義します。 .It Va currdev デフォルトデバイスを選択します。デバイスの文法は奇妙なものです。 .It Va init_path カーネルが初期プロセスとして実行しようとすべきバイナリのリストを指定します。 デフォルトは .Dq Li /sbin/init:/sbin/oinit:/sbin/init.bak:/stand/sysinstall です。 .It Va interpret Forth の現在の状態がインタプリタの場合、 .Dq Li ok という値を持ちます。 .It Va LINES 画面上の行数を定義します。ページャが使用します。 .It Va module_path モジュールを検索するディレクトリのリストを設定します。 モジュール名は、load コマンドまたは依存関係により暗黙的に指定されます。 この変数のデフォルト値は .Dq Li /;/boot;/modules です。 .It Va num_ide_disks IDE ディスクの数を設定します。 これは、ブート時にルートディスクを見つけることに関する問題への対処です。 .Va root_disk_unit により価値が低下しています。 .It Va prompt .Nm のプロンプトの値です。 デフォルトは .Dq Li "${currdev}>" です。 .It Va root_disk_unit ルートディスクのディスクユニット番号を検出するコードが混乱する場合、 この変数を設定することでユニット番号を強制可能です。 混乱するのは、例えば SCSI と IDE のディスクを両方持つ場合や、 IDE ディスクの並びに隙間がある場合 (プライマリスレーブが無い場合など) です。 .It Va rootdev デフォルトでは、カーネルブート時にルートファイルシステムの設定には .Va currdev が使用されます。 これは .Va rootdev を明示的に設定することによりオーバライド可能です。 .It Va dumpdev パニック時にカーネルがクラッシュダンプを保存可能なデバイスの名前です。 これは、自動的に .Va kern.dumpdev .Xr sysctl 3 MIB 変数を設定します。 .El .Pp 他の変数を使用することにより、 カーネルの調整可能なパラメータをオーバライド可能です。 次の調整可能な変数が使用可能です: .Bl -tag -width Va .It Va hw.physmem システムが使用する物理メモリ量を制限します。 デフォルトでは大きさはバイトで指定しますが、 .Cm k , K , m , M , g , .Cm G のサフィックスを使用し、 それぞれキロバイト、メガバイト、ギガバイトで指定可能です。 無効なサフィックスを使用すると、カーネルはこの変数を無視してしまいます。 +.It Va hw.pci.enable_io_modes +BIOS がオフのままとしたり、デバイスドライバが正しく有効化しなかった +PCI 資源を、有効化します。 +このチューナブルのデフォルト値は ON (1) ですが、 +ペリフェラルによっては問題となることがあります。 +.It Va hw.pci_allow_unsupported_io_range +BIOS に割り当てられた未サポートのメモリレンジを、 +PCI ブリッジが通過させることを許します。 +このチューナブルのデフォルト値は OFF (0) です。 .It Va kern.maxusers 多くの静的に割り当てられるシステムテーブルの大きさを設定します。 このチューナブルに対して適切な値をどのように選択するかについては、 .Xr tuning 7 を参照してください。 このチューナブルが設定されている場合、 カーネルがコンパイルされたときの設定ファイルで宣言された値は、 置き換えられます。 .It Va kern.ipc.nmbclusters 割り当てられる mbuf クラスタ数を設定します。 カーネルコンパイル時に決定されたデフォルト値より小さくは、設定できません。 .Va NMBCLUSTERS を変更します。 .It Va kern.vm.kmem.size カーネルメモリの大きさ (バイト) を設定します。 カーネルコンパイル時に決定された値に、完全に優先します。 .Va VM_KMEM_SIZE を変更します。 .It Va kern.maxswzone スワップメタ情報を保持するための KVM 量を制限します。 これは、システムがサポート可能なスワップ量に直接影響を与えます。 この値は、KVA 空間のバイト数で指定され、デフォルトは約 70MB です。 この値を減らし過ぎて、 実際に構成されるスワップが カーネルがサポートするスワップの 1/2 を越えてしまわぬよう、 注意してください。 デフォルトの 70MB は、 カーネルが最大 (約) 14 GB のスワップを構成可能とします。 バッファキャッシュや .Va NMBCLUSTERS といった 他の資源用の KVM 予約を大幅に増やす場合のみ、 本パラメータを調整してみてください。 .Va VM_SWZONE_SIZE_MAX を変更します。 .It Va kern.maxbcache バッファキャッシュ用に予約される KVM の量を制限します。 バイト数で指定します。 デフォルトの最大値は 200 MB です。 このパラメータは、大規模構成において、 バッファキャッシュが多くの KVM を消費してしまうことを避けるために使用します。 スワップゾーンや .Va NMBCLUSTERS といった 他の資源用の KVM 予約を大幅に増やす場合のみ、 本パラメータを調整してみてください。 NBUF パラメータがこの制限に優先することに注意してください。 .Va VM_BCACHE_SIZE_MAX を変更します。 -.It Va machdep.pccard.pcic_irq -通常時に PCCARD コントローラに割り当てられる IRQ をオーバライドします。 -典型的には、最初に利用可能な割り込みが割り当てられてしまい、 -他のハードウェアと衝突してしまうかもしれません。 -この値を 0 に設定すると、割り込みは割り当てられず、 -コントローラはポーリングモードのみで動作します。 +.It Va machdep.disable_mtrrs +i686 MTRR を無効化します (x86 のみ)。 .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 で扱われるように処理されます。 .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 ' または .Ic ['] を通して) 得られて、 .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 語、追加の .Fx 語、そして組み込みコマンドです。 最後のものは既に説明しました。 .Tn ANS Forth 標準語は、 .Sx 規格 の節に列挙しています。 別の 2 グループの語については、以降の小節において説明します。 .Ss FICL 追加語 .Bl -tag -width wid-set-super .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 XXXXXXXX .It Ic \&$ Pq -- 最初に入力バッファを表示した後、入力バッファの残りを評価します。 .It Ic \&% Pq -- .Ic catch 例外ガード下の、入力バッファの残りを評価します。 .It Ic .# .Ic . と同様に動作しますが、後続の空白を表示しません。 .It Ic fopen Pq Ar addr len mode Li -- Ar fd ファイルをオープンします。ファイル記述子を返します。 失敗時には \-1 を返します。 .Ar mode パラメータは、ファイルオープンの目的が読み込み用、書き込み用、 両用のいずれであるかを選択します。 定数 .Dv O_RDONLY , O_WRONLY , .Dv O_RDWR が .Pa /boot/support.4th で定義され、それぞれ読み込み専用、書き込み専用、読み書きを示します。 .It Ic fclose Pq Ar fd -- ファイルをクローズします。 .It Ic fkey Pq Ar fd -- char ファイルから 1 文字読み込みます。 .It Ic fload Pq Ar fd -- ファイル .Em fd を処理します。 .It Ic fopen Pq Ar addr len -- fd ファイルをオープンします。 ファイル記述子を返すか、失敗時には -1 を返します。 .It Xo .Ic fread .Pq Ar fd addr len -- len' .Xc ファイル .Em fd から .Em len バイトを、バッファ .Em addr へ読み込もうとします。 実際に読み込んだバイト数を返します。 エラー時またはファイルの終了の場合には -1 を返します。 .It Ic heap ディレクトリヒープ中に残された空間を、セル数の単位で返します。 これは、動的なメモリ割り当ての意味で使われるヒープとは無関係です。 .It Ic inb Pq Ar port -- char ポートからバイトを読み込みます。 .It Ic key Pq -- Ar char コンソールから 1 文字読み込みます。 .It Ic key? Pq -- Ar flag コンソールから読み込み可能な文字がある場合、 .Ic 真 を返します。 .It Ic ms Pq Ar u -- .Em u マイクロ秒待ちます。 .It Ic outb Pq Ar port char -- ポートへバイトを書き込みます。 .It Ic seconds Pq -- Ar u 深夜 0 時からの秒数を返します。 .It Ic tib> Pq -- Ar addr len 入力バッファの残りを、スタック上の文字列として返します。 .It Ic trace! Pq Ar flag -- トレースを有効または無効にします。 .Ic catch とともには動作しません。 .El .Ss FREEBSD で定義される環境問い合わせ .Bl -tag -width Ds .It arch-i386 アーキテクチャが IA32 の場合 .Ic 真 です。 .It arch-alpha アーキテクチャが AXP の場合 .Ic 真 です。 .It FreeBSD_version コンパイル時の .Fx バージョンです。 .It loader_version .Nm のバージョンです。 .El .Ss システム文書 .Sh 関連ファイル .Bl -tag -width /boot/defaults/loader.conf -compact .It Pa /boot/loader .Nm 自身。 .It Pa /boot/boot.4th 追加の .Tn FICL の初期化。 .It Pa /boot/boot.conf .Nm のブートストラップスクリプト。価値が低下しています。 .It Pa /boot/defaults/loader.conf .It Pa /boot/loader.conf .It Pa /boot/loader.conf.local .Nm 設定ファイル。 .Xr loader.conf 5 で解説されています。 .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 load kernel load -t userconfig_script /boot/kernel.conf .Ed .Pp カーネルと起動画面をロードし、5 秒以内に自動ブートします。 .Bd -literal -offset indent 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 tuning 7 , .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], .Li [then] .Ef .Bf Em を提供しています。 Search-Order 拡張語集合を提供しています。 .Ef .Sh 歴史 .Nm が最初に登場したのは .Fx 3.1 です。 .Sh 作者 .An -nosplit .Nm は .An Michael Smith Aq msmith@FreeBSD.org が記述しました。 .Pp .Tn FICL は .An John Sadler Aq john_sadler@alum.mit.edu が記述しました。 .Sh バグ .Ic expect と .Ic accept の語は、コンソールからではなく入力バッファから読み込みます。 後者については修正されますが、前者は修正されません。 diff --git a/ja_JP.eucJP/man/man8/lpc.8 b/ja_JP.eucJP/man/man8/lpc.8 index 6a2f97c595..2f269a740d 100644 --- a/ja_JP.eucJP/man/man8/lpc.8 +++ b/ja_JP.eucJP/man/man8/lpc.8 @@ -1,312 +1,307 @@ .\" 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. .\" .\" @(#)lpc.8 8.5 (Berkeley) 4/28/95 -.\" %FreeBSD: src/usr.sbin/lpr/lpc/lpc.8,v 1.20 2002/07/17 00:51:19 gad Exp % +.\" %FreeBSD: src/usr.sbin/lpr/lpc/lpc.8,v 1.21 2002/11/27 15:31:08 ru Exp % .\" .\" $FreeBSD$ .\" .Dd July 16, 2002 .Dt LPC 8 .Os .Sh 名称 .Nm lpc .Nd ラインプリンタの制御を行う .Sh 書式 .Nm .Op Ar command Op Ar argument ... .Sh 解説 .Nm ユーティリティは、 システム管理者がラインプリンタの動作を制御するために使われます。 各ラインプリンタの設定は .Pa /etc/printcap で行います。 .Nm は以下の目的で利用します。 .Bl -bullet -offset indent .It プリンタの利用可能/不可能の設定を行う .It スプールキューへのジョブ投入可能/不可能の設定を行う .It スプールキュー内のジョブの順番を並べ直す .It プリンタ、スプールのキュー、およびプリンタデーモンのステータスを調べる .It プリンタキューのステータスメッセージを変更する (ステータスメッセージは、 .Xr lpq 1 ユーティリティを使用してユーザが見ることができます) .El .Pp 引数なしの場合、 .Nm は標準入力からコマンドを読むためにプロンプトを出します。 引数をつけた場合、第 1 引数をコマンドとし、残りの引数を そのコマンドのパラメータと解釈します。 標準入力をリダイレクトして、 .Nm にファイルからコマンドを読み込ませることもできます。 コマンドは略して書くことができます。 利用可能なコマンドを以下に列挙します。 .Pp .Bl -tag -width indent -compact .It Ic \&? Op Ar command ... .It Ic help Op Ar command ... 引数で指定したコマンドの簡単な説明を表示します。引数がないときはコマンド の一覧を表示します。 .Pp .It Ic abort Brq Cm all | Ar printer ローカルホスト上の動作中のスプールデーモンをただちに終了させ、指定した プリンタをプリントアウトできないように ( .Xr lpr 1 が新しいデーモンをスタートさせないように) します。 .Pp -.It Ic bottomq Ar printer Xo -.Op Ar jobspec ... -.Xc +.It Ic bottomq Ar printer Op Ar jobspec ... 指定されたジョブを指定された順序で受け付け、 それらをプリンタキューの末尾に移動します。 各 .Ar jobspec は複数のプリントジョブにマッチし得ます。 .Ar jobspec の完全な記述については後述します。 .Pp .It Ic clean Brq Cm all | Ar printer ローカルマシン上の指定したプリンタのキューから、出力できない (すなわち、 完全なプリンタジョブの形になっていない) テンポラリファイル、データファイル、 コントロールファイルをすべて削除します。 本コマンドは、各プリンタキューに対し、 スプールディレクトリ中の .Pa core ファイルも探し、 発見されたものを列挙します。 本コマンドは .Pa core ファイルを削除しません。 .Ic tclean コマンドも参照してください。 .Pp .It Ic disable Brq Cm all | Ar printer 指定したプリンタのキューをオフにします。これにより、 .Xr lpr 1 によって新しいプリンタジョブがキューに入らないようになります。 .Pp .It Ic down Bro Cm all | Ar printer ... Brc Cm -msg Ar message ... .It Ic down Bro Cm all | Ar printer Brc Ar message ... 指定したプリンタのキューをオフにし、プリントアウトできないようにし、 プリンタのステータスファイルに .Ar message を書きます。 複数のプリンタキューを指定する場合、 新規ステータスメッセージとなるテキストとプリンタリストを分離するために、 .Ic -msg 引数が必要です。 メッセージは引用符で囲む必要はなく、残りの引数は .Xr echo 1 と同様に扱われます。通常、この コマンドはプリンタをダウンさせ、ユーザに対しそのダウンの理由を .Xr lpq 1 ユーティリティによって説明させるために使われます。 .Pp .It Ic enable Brq Cm all | Ar printer 指定したプリンタ用のキューのスプーリングを行うようにします。これは、 .Xr lpr 1 で新しいプリンタジョブをスプールキューに挿入することができるよ うにします。 .Pp .It Ic exit .It Ic quit .Nm を終了させます。 .Pp .It Ic restart Brq Cm all | Ar printer 新しいプリンタデーモンの再スタートを試みます。このコマンドは、異常な 状態になって突然デーモンが死に、キュー内にジョブが残ったままになった場合に 有効です。この状態が起きたときには、 .Xr lpq 1 は現在デーモンが動いていないことを報告します。 もしあなたがスーパユーザなら、現在動いているデーモンを先に殺してください (つまり、動かなくなったデーモンを殺してから再スタートさせるわけです)。 .Pp .It Ic setstatus Bro Cm all | Ar printer Brc Cm -msg Ar message ... 指定したプリンタのステータスメッセージを設定します。 新規ステータスメッセージとなるテキストとプリンタリストを分離するために、 .Ic -msg 引数が必要です。 印刷を無効化した後にプリンタキューがもはやアクティブではなく、 .Xr lpq 1 ユーティリティの出力中にユーザが見るメッセージを変更したい場合、 通常このコマンドを使用して、ステータスメッセージを変更します。 .Pp .It Ic start Brq Cm all | Ar printer 指定したプリンタを出力可能にしてスプールデーモンをスタートさせます。 .Pp .It Ic status Brq Cm all | Ar printer ローカルマシン上のデーモンとキューの状態を表示します。 .Pp .It Ic stop Brq Cm all | Ar printer 現行のジョブが終了したあとでデーモンのスプーリングをストップさせ、 プリントアウトできないようにします。 .Pp .It Ic tclean Brq Cm all | Ar printer 本コマンドは、 .Ic clean コマンドのテスト実行を行います。 同じチェックが行われますが、同様の .Ic clean コマンドが入力された場合に実行する事柄を、本コマンドは表示します。 本コマンドは、いかなるファイルも削除しません。 .Ic clean は特権コマンドですが、 .Ic tclean は制限がありません。 .Pp -.It Ic topq Ar printer Xo -.Op Ar jobspec ... -.Xc -.Pp +.It Ic topq Ar printer Op Ar jobspec ... 指定されたジョブを指定された順序で受け付け、 それらをプリンタキューの先頭に移動します。 各 .Ar jobspec は複数のプリントジョブにマッチし得ます。 .Ar jobspec の完全な記述については後述します。 .It Ic up Brq Cm all | Ar printer すべての状態を可能状態(enable)にし、新しいプリンタデーモンをスタートさせます。 .Ic down の逆です。 .El .Pp .Ic topq および .Ic bottomq のコマンドは、コマンドの操作対象のジョブを指定するために、1 個以上の .Ar jobspec を受け付けます。 .Ar jobspec は次のいずれかです: .Bl -bullet .It 単一のジョブ番号。 プリンタキュー中の、同一のジョブ番号を持つすべてのジョブにマッチします。 例えば .Ar 17 です。 .It ジョブ番号の範囲。 ジョブ番号が最初の番号と最期の番号の範囲に入る (両端を含む) ジョブが マッチします。 例えば .Ar 21-32 です。 .It 特定のユーザ ID。 そのユーザが送ったすべてのジョブにマッチします。 例えば .Ar jones です。 .It ホスト名。 前に `@ ' を付けると、キューの中の、 そのホストから送られたすべてのジョブにマッチします。 例えば .Ar @freebsd.org です。 .It ジョブ番号の範囲とユーザ ID を `:' で区切ったもの。 ジョブ番号の範囲と指定したユーザの両方がマッチする すべてのジョブにマッチします。 例えば .Ar jones:17 や .Ar 21-32:jones です。 .It ジョブ番号範囲やユーザ ID の後にホスト名を続けたもの。 指定したすべての条件にマッチするジョブがマッチします。 例えば .Ar jones@freebsd.org や .Ar 21-32@freebsd.org や .Ar jones:17@freebsd.org です。 .El .Pp ユーザ ID やホスト名の値には、パターンマッチ文字を使用可能です。 これは、 ほとんどのシェルでファイル名のマッチングに使用されるものと同様です。 .Nm コマンドの最初の命令として .Ic topq または .Ic bottomq を入力する場合、シェルが展開可能なパターンマッチ文字 (カレントディレクトリにあるファイルに依存します) は、 .Nm が命令を処理する前にシェルに展開されてしまいます。 このような場合、パターンマッチ文字を含むパラメータはクォートで括り、 シェルが展開しないようにしてください。 .Sh 関連ファイル .Bl -tag -width /var/spool/*/lockx -compact .It Pa /etc/printcap プリンタの設定を記述するファイル .It Pa /var/spool/* スプールディレクトリ .It Pa /var/spool/*/lock プリンタキューの制御を行うためのロックファイル .El .Sh 関連項目 .Xr lpq 1 , .Xr lpr 1 , .Xr lprm 1 , .Xr printcap 5 , .Xr chkprintcap 8 , .Xr lpd 8 .Sh 診断 .Bl -diag .It "?Ambiguous command" コマンド指定が省略し過ぎのため、複数のコマンドにマッチしています。 .It "?Invalid command" マッチするコマンドがありません。 .It "?Privileged command" "operator" グループのメンバか root でなければこのコマンドは 実行できません。 .El .Sh 歴史 .Nm ユーティリティは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/memcontrol.8 b/ja_JP.eucJP/man/man8/memcontrol.8 index d6370b33c2..5568153a1b 100644 --- a/ja_JP.eucJP/man/man8/memcontrol.8 +++ b/ja_JP.eucJP/man/man8/memcontrol.8 @@ -1,117 +1,111 @@ .\" Copyright (c) 1999 Chris Costello .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/memcontrol/memcontrol.8,v 1.9 2002/09/15 15:07:55 dwmalone Exp % +.\" %FreeBSD: src/usr.sbin/memcontrol/memcontrol.8,v 1.10 2002/11/27 15:31:08 ru Exp % .\" .\" $FreeBSD$ -.Dd September 28, 1999 +.Dd September 15, 2002 .Dt MEMCONTROL 8 .Os .Sh 名称 .Nm memcontrol .Nd "メモリに応じたシステムキャッシュの挙動の制御" .Sh 書式 .Nm -.Ar list +.Cm list .Op Fl a .Pp .Nm -.Ar set +.Cm set .Fl b Ar base .Fl l Ar length .Fl o Ar owner .Ar attribute -.Pp .Nm -.Ar clear +.Cm clear .Fl o Ar owner -.Pp .Nm -.Ar clear +.Cm clear .Fl b Ar base .Fl l Ar length .Sh 解説 サポートしている多くのシステムアーキテクチャは、 書き込まれるメモリ領域に応じて異なる振舞いをするように、 CPU キャッシュをプログラム可能です。 .Pp .Nm ユーティリティはこの機構に対するインタフェースを提供し、 システムの物理メモリの範囲ごとに、 CPU キャッシュの挙動を変更可能とします。 .Pp この範囲というのは、普通は大きさも境界も 2 のべき乗になっていますが、 その配置を決めるルールはアーキテクチャによって様々です。 .Nm ユーティリティはこのルールを強要しようとはしませんが、 間違った組合せを設定しようとすればシステムが拒絶するでしょう。 -.Bl -tag -width clear -.It Ar list +.Bl -tag -width ".Cm clear" +.It Cm list メモリ範囲を一覧します。 -.Bl -tag -width xxxxxx -.It Op Fl a -たとえ無効であっても、全てのメモリ範囲を一覧します +.Bl -tag -width indent +.It Fl a +たとえ無効であっても、全てのメモリ範囲を一覧します。 .El -.It Ar set +.It Cm set メモリ範囲の属性を設定します。 -.Bl -tag -width xxxxxx +.Bl -tag -width indent .It Fl b Ar base -メモリ範囲の開始アドレス +メモリ範囲の開始アドレス。 .It Fl l Ar length -メモリ範囲のバイト単位の長さ (2 のべき乗で) +メモリ範囲のバイト単位の長さ (2 のべき乗で)。 .It Fl o Ar owner -この設定を示す owner 識別テキスト (最大 7 文字) +この設定を示す owner 識別テキスト (最大 7 文字)。 .\" owner は原文にはない .It Ar attribute このメモリ範囲に適用する属性。 -.Ar force -.Ar uncacheable -.Ar write-combine -.Ar write-through -.Ar write-back -.Ar write-protect +.Cm force , uncacheable , write-combine , write-through , write-back , +.Cm write-protect の組み合わせ。 .El -.It Ar clear +.It Cm clear メモリ範囲の属性を消去します。 owner を指定するか、開始アドレス/長さの組合せを指定して消去します。 .Pp owner に基づいて消去する場合: -.Bl -tag -width xxxxxx +.Bl -tag -width indent .It Fl o Ar owner -この owner に所属する全てのメモリ範囲を消去 +この owner に所属する全てのメモリ範囲を消去。 .El .Pp 開始アドレス/長さの組によって消去する場合: .Bl -tag -width xxxxxx .It Fl b Ar base -メモリ範囲の開始アドレス +メモリ範囲の開始アドレス。 .It Fl l Ar length -メモリ範囲のバイト単位の長さ (2 のべき乗で) +メモリ範囲のバイト単位の長さ (2 のべき乗で)。 .El .Pp 開始アドレスと長さは今あるメモリ範囲と正確に合致しなければなりません。 .El .Sh 関連項目 .Xr mem 4 diff --git a/ja_JP.eucJP/man/man8/mount.8 b/ja_JP.eucJP/man/man8/mount.8 index db16e8da75..0102a56656 100644 --- a/ja_JP.eucJP/man/man8/mount.8 +++ b/ja_JP.eucJP/man/man8/mount.8 @@ -1,454 +1,449 @@ .\" Copyright (c) 1980, 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount.8 8.8 (Berkeley) 6/16/94 -.\" %FreeBSD: src/sbin/mount/mount.8,v 1.52 2002/08/21 18:10:52 trhodes Exp % +.\" %FreeBSD: src/sbin/mount/mount.8,v 1.52.2.1 2002/12/13 19:49:25 trhodes Exp % .\" .\" $FreeBSD$ .\" .Dd June 16, 1994 .Dt MOUNT 8 .Os .Sh 名称 .Nm mount .Nd ファイルシステムをマウントする .Sh 書式 .Nm .Op Fl adfpruvw .Op Fl t Ar ufs | external_type .Nm .Op Fl dfpruvw .Ar special | node .Nm .Op Fl dfpruvw .Op Fl o Ar options .Op Fl t Ar ufs | external_type .Ar special node .Sh 解説 .Nm ユーティリティは .Xr mount 2 システムコールを使用して、 .Ar "スペシャルデバイス" かリモートノード (rhost:path) を ファイルシステムツリーの .Ar node へ接合します。 もし .Ar special または .Ar node が指定されなかった場合には、 .Xr fstab 5 ファイルから適切な情報を取得します。 .Pp システムは、現在マウントしているファイルシステムのリストを管理しています。 .Nm コマンドを引数を与えずに実行すると、このリストが表示されます。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl a .Xr fstab 5 に記述されているファイルシステムを すべてマウントします。 例外は、 .Dq noauto が指定されているもの、 .Fl t フラグにて除外されているもの (後述)、 既にマウントされているもの (ルートファイルシステムは伝統的なシングルユーザモードの動作を保つ ために除外されます) です。 通常、これはシステムの起動時に実行されます。 .It Fl d システムコールの実行以外のすべてのことを行ないます。 このオプションを .Fl v とともに指定することで、 .Nm コマンドが何をしようとしているのかを確認することができます。 .It Fl f ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。 .It Fl o オプションは .Fl o の後にコンマで区切って指定します。 衝突するオプションが指定された場合、最も右側のオプションが効果があります。 以下のオプションが指定できます: .Bl -tag -width indent .It Cm async 指定したファイルシステムのすべての .Tn I/O を非同期に行います。 このフラグを指定することは非常に .Em 危険 ですので、 システムクラッシュ時にファイルシステムを 作り直す用意ができていないかぎりは使うべきではありません。 .It Cm current .Fl u フラグとともに使用された場合、 マウントされているファイルシステムに対する現在の効果を指定することと同じです。 .It Cm force .Fl f オプションと同じです。 ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。 .It Cm fstab .Fl u フラグとともに使用された場合、 ファイルシステムに対して .Xr fstab 5 に列挙されている全オプションを指定することと同じです。 .It Cm noasync メタデータ I/O を同期に行い、データ I/O を非同期に行います。 これがデフォルトです。 .It Cm noatime ファイル読み取り時に、ファイルアクセス時刻を更新しません。 このオプションが便利なのは、 多くのファイルを持ち、(ほとんどの場合重要ではない) ファイルアクセス時刻 を更新するよりも性能が重要であるファイルシステムです。 このオプションは現在ローカルファイルシステムでのみサポートされています。 .It Cm noauto .Nm が .Fl a フラグ付きで動作しているときに、このファイルシステムをスキップします。 .It Cm noclusterr リード時のクラスタリングを無効にします。 .It Cm noclusterw ライト時のクラスタリングを無効にします。 .It Cm nodev ファイルシステム上のキャラクタスペシャルデバイスや ブロックスペシャルデバイスを解釈しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の スペシャルデバイスを含むファイルシステムを持っている場合に有用です。 .It Cm noexec マウントしているファイルシステム上のバイナリの 実行を許可しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の バイナリを含むファイルシステムを持っている場合に有用です。 .It Cm nosuid 実効ユーザ ID (set-user-ID) セット、 実効グループ ID (set-group-ID) セットビットの 効果をなくします。 注意: .Xr suidperl 1 のような suid/sgid ラッパが 誰でも使えるようにシステムにインストールされている場合には、価値がありません。 .It Cm nosymfollow マウントされたファイルシステムにおいては、シンボリックリンクを追跡しません。 .It Cm rdonly .Fl r と同じく、マウントするファイルシステムを読み込み専用とします (スーパユーザでも書き込みできなくなります)。 .It Cm sync ファイルシステムのすべての .Tn I/O を同期的に行います。 .It Cm snapshot 本オプションにより、指定したファイルシステムのスナップショットを取得可能です。 .Fl u フラグは、本オプションに必須です。 スナップショットファイルは、 スナップショットが取られるファイルシステム上に作成される必要があります。 ファイルシステムごとに、最大 20 個のスナップショットを作成可能です。 アクティブスナップショットはスーパブロックに記録されますので、 アンマウントと再マウントを跨いだりシステムリブートを跨いても、 これらは永続します。 スナップショットがもう要らなくなったら、 .Xr rm 1 コマンドで削除可能です。 スナップショットの削除順序は任意ですが、 スナップショットに含まれていた空間すべてを取り返せないかもしれません。 なぜなら、解放されるブロックを他のスナップショットが必要としているかも しれないためです。 schg フラグはスナップショット上に設定されますので、 root ユーザでなくともこれらのファイルに書き込み可能です。 アンリンクコマンドはスナップショットファイルに対して例外であり、 schg フラグが設定されていても削除可能とすることで、 スナップショットファイル削除前に schg フラグをクリアしなくても 良いようになっています。 .Pp スナップショットの取得後、次の 3 つの事柄を実行可能です: .Pp .Bl -enum -compact .It スナップショットに .Xr fsck 8 を実行できます。 マウントされていたときのファイルシステムがクリーンな場合、 スナップショットに対する fsck はクリーン (かつ無変更の) 結果が 得られるはずです。 これが、本質的にはバックグラウンド fsck 処理の動作です。 .Pp .It スナップショットに .Xr dump 8 を実行できます。 スナップショットのタイムスタンプ時のファイルシステムと一致するダンプが 得られるでしょう。 -.Pa /etc/dumpdates -ファイルを正しく更新するように -.Xr dump 8 -が変更されていませんので、 -これが直るまで実運用システムでは使用しないでください。 .Pp .It ファイルシステムの凍結したイメージとして、スナップショットをマウントします。 スナップショット .Pa /var/snapshot/snap1 をマウントするには次のようにします。 .Bd -literal mdconfig -a -t vnode -f /var/snapshot/snap1 -u 4 mount -r /dev/md4 /mnt .Ed .Pp 凍結した .Pa /var ファイルシステムは .Pa /mnt にあり、検査可能となりました。 すべてが、スナップショットがとられた時期と同じ状況にあります。 例外は、以前のスナップショットが長さ 0 のファイルとして見えることです。 マウントしたスナップショットに関する処理が完了したら、次のようにします。 .Bd -literal umount /mnt mdconfig -d -u 4 .Ed .Pp Further details can be found in the file at .Pa /usr/src/sys/ufs/ffs/README.snapshot . .El .It Cm suiddir マウントされたファイルシステムにおけるディレクトリに SUID ビットがセットされると、 新規ファイルの所有者をディレクトリの所有者に設定します。 新規ディレクトリは親ディレクトリのビットを継承します。 実行ビットはファイルから取り除かれ、 ファイルは root の所有とはなりません。 .Pp この機能は PC ユーザに対して ftp, SAMBA, netatalk のサービスを行う ファイルサーバのためにデザインされました。 これはシェルユーザに対してセキュリティホールとなりますので、 特にホームディレクトリを持つシェルマシンでは使用すべきではありません。 このオプションが動作するためには、カーネルの SUIDDIR オプションが必要です。 UFS ファイルシステムのみがこのオプションをサポートします。 詳細は .Xr chmod 2 を参照してください。 .It Cm update .Fl u と同じく、すでにマウントされているファイルシステムの状態を変化させることを 指示します。 .It Cm union マウントポイント以下の名前空間に、マウントされたファイルシステムのルートと マウントポイントに元から存在するディレクトリの両方が見えるようにします。 名前を検索するときは、マウントしたファイルシステムが先に検索されます。 ファイルが存在しない ために検索が失敗した場合は、既存のディレクトリがアクセスされます。 ファイル等の作成は、すべて マウントしたファイルシステム上に対して行われます。 .El .Pp .Nm が内部で知っているファイルシステムタイプ .Pf ( Fl t オプションを参照) 以外の、ファイルシステムタイプに固有のオプションは、 コンマで区切って指定します。このオプションは、オプションの前に .Dq \&- (ダッシュ記号) をつけて区別します。値を持つオプションは、 -option=valueの形で指定します。 たとえば、 .Bd -literal -offset indent mount -t unionfs -o -b /sys $HOME/sys .Ed .Pp では、 .Nm コマンドは以下と同じものを実行します: .Bd -literal -offset indent /sbin/mount_unionfs -b /sys $HOME/sys .Ed .Pp ファイルシステムタイプに固有な追加オプションで、 内部的には分からないもの (下記 .Fl t オプションを参照してください) は、関連する .Pa /sbin/mount_ Ns Sy XXX ユーティリティのマニュアルページに記述されているかもしれません。 .It Fl p マウント情報を .Xr fstab 5 の形式で表示します。暗黙的に .Fl v オプションを指定します。 .It Fl r ファイルシステムをリードオンリーで マウントします (スーパユーザでも書き込みは行えません)。 これは、 .Fl o オプションで .Cm rdonly を指定するのと同じです。 .It Fl t Ar ufs | external_type .Fl t のあとの引数にはファイルシステムタイプを指定します。 デフォルトは、 .Ar ufs です。 .Fl t オプションによって、 .Nm コマンドの操作が、指定した特定のタイプのファイルシステムに対してのみ 行われるように指示することができます。 2つ以上のタイプを指定するにはコンマで区切ります。 ファイルシステムリスト の先頭に .Dq no という文字をつけることに よって、 .Nm コマンドの操作の対象と .Em しない ファイルシステムタイプを指定することができます。 以下に例を示します: .Bd -literal -offset indent mount -a -t nonfs,nullfs .Ed .Pp は、 .Tn NFS と .Tn NULLFS を除いた、すべてのファイルシステムをマウントします。 .Pp type を内部で解釈できない場合、 .Nm は .Pa /sbin/mount_ Ns Sy XXX というプログラムを実行しようとします。 .Sy XXX の部分が type になります。たとえば nfs ファイルシステムは、 .Pa /sbin/mount_nfs というプログラムによってマウント されます。 .Pp ほとんどのファイルシステムは、 まだ存在せず、カーネルモジュールが使用可能な場合、 カーネルが動的にロードします。 .It Fl u .Fl u フラグは、すでにマウントしているファイルシステム の状態の変更を指示します。 ファイルシステムを読み込み専用から読み書き可能へ、またその逆へも変更することを 含めて、すでに説明したすべてのオプション .Pf ( Fl o オプション) の内容を変更することができます。 読み書き可能なファイルシステムを読み出し専用に変更する場合、 書き込みのためにオープンしているファイルがあるときには、 .Fl f オプションを指定しなければ変更に失敗します。 どのオプションを適用するかを決定する際、最初に .Fl o オプションの引数を適用し、最後に .Fl r , .Fl w オプションが適用されます。 .It Fl v 詳細なメッセージを表示します。 .It Fl w ファイルシステムを読み書き可能とします。 .El .Sh 診断 多岐に渡りますが、ほぼ全てが自明です。 .Pp .Dl XXXXX filesystem is not available .Pp カーネルはそのファイルシステムタイプをサポートしていません。 ファイルシステムのサポートは、 静的 (カーネルコンパイル時) もしくは動的 ( .Xr kldload 8 によってカーネルモジュールとしてロードされる) です。 .Sh 関連ファイル .Bl -tag -width /etc/fstab -compact .It Pa /etc/fstab ファイルシステムテーブル .El .Sh 関連項目 .Xr mount 2 , .Xr fstab 5 , .Xr kldload 8 , .Xr mount_cd9660 8 , .Xr mount_devfs 8 , .Xr mount_ext2fs 8 , .Xr mount_fdescfs 8 , .Xr mount_hpfs 8 , .Xr mount_linprocfs 8 , .Xr mount_msdosfs 8 , .Xr mount_nfs 8 , .Xr mount_ntfs 8 , .Xr mount_nullfs 8 , .Xr mount_nwfs 8 , .Xr mount_portalfs 8 , .Xr mount_procfs 8 , .Xr mount_smbfs 8 , .Xr mount_std 8 , .Xr mount_udf 8 , .Xr mount_umapfs 8 , .Xr mount_unionfs 8 , .Xr umount 8 .Sh バグ 異常なファイルシステムをマウントすると、 システムクラッシュを引き起こすことがあります。 .Sh 警告 .Nm に成功した後にマウントされたファイルシステムから .Pa ..\& がアクセス可能かどうかは、 元のマウントポイントのパーミッションが決定します。 全ユーザが双方向にマウントポイントを行き来可能とするために最低限必要な パーミッションは 0111 (全員が実行可能) です。 .Sh 歴史 .Nm ユーティリティは .At v1 から登場しています。 diff --git a/ja_JP.eucJP/man/man8/mount_nullfs.8 b/ja_JP.eucJP/man/man8/mount_nullfs.8 index b5453086a2..6fd5c93f3e 100644 --- a/ja_JP.eucJP/man/man8/mount_nullfs.8 +++ b/ja_JP.eucJP/man/man8/mount_nullfs.8 @@ -1,236 +1,236 @@ .\" .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" John Heidemann of the UCLA Ficus project. .\" .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount_null.8 8.6 (Berkeley) 5/1/95 -.\" %FreeBSD: src/sbin/mount_nullfs/mount_nullfs.8,v 1.24 2002/08/21 18:11:05 trhodes Exp % +.\" %FreeBSD: src/sbin/mount_nullfs/mount_nullfs.8,v 1.25 2002/12/12 17:25:55 ru Exp % .\" .\" $FreeBSD$ .\" .Dd May 1, 1995 .Dt MOUNT_NULLFS 8 .Os .Sh 名称 .Nm mount_nullfs .Nd ループバックファイルシステムサブツリーをマウントする; 何もしない(null)ファイルシステム層の利用のデモ .Sh 書式 .Nm .Op Fl o Ar options .Ar target .Ar mount_point .Sh 解説 .Nm ユーティリティは、null 層を作ります。これは、 ファイルシステムの名前空間の部分木を、グローバルなファイルシステムの名前空間 の別の場所にエイリアスします。 これにより、既存のファイルとディレクトリが別のパス名にてアクセス可能 となります。 .Pp ファイルシステムの仮想的コピーとシンボリックリンクとの第 1 の違いは、 .Xr getcwd 3 関数が仮想コピーでは正しく動作する点と、 別のファイルシステムを仮想コピー上にマウントしてもオリジナルには影響がない点 です。 .Xr stat 2 は、仮想コピーに対して別のデバイス番号が返しますが、 別の側面においてはオリジナルとの区別はつきません。 .Pp 歴史的な ループバックファイルシステムと異なるのは、次の 2 つの点です: 1 つは、ファイル システムのスタック化可能層 (stackable layers) という技術を使って 実装されている点、もう1つはディレクトリの vnode だけでなく、 すべての下位層の vnode の上に .Dq null-node が積み重なっているという点です。 .Pp オプションは以下のものがあります: .Bl -tag -width indent .It Fl o .Fl o のあとに、オプション文字列をコンマで区切って指定すること ができます。指定可能なオプションとその意味は .Xr mount 8 を参照してください。 .El .Pp この null 層は 2 つの目的を持っています。1 つは、何もしない層 を提供することでファイルシステムの層の構築のデモを示すことです (実際には 何も行わないというわけではなく、 ループバックファイルシステムが提供することはすべて行います)。 もう 1 つはプロトタイプ層を提供することで す。層のフレームワークとして必要なことはすべて提供しているので、 ここから新しいファイルシステム層を簡単に作り出すことができます。 .Pp このマニュアルの以下の部分では、新しいファイルシステム層を構築するための 基礎として null 層を調べます。 .\" .\" .Sh 新しい null 層の例示 新しい null 層は .Nm で作られます。 .Nm ユーティリティは 2つの引数をとります。 1つは下位層の vfs のパス名 (target-pn) で、 もう1つは null 層が現れる名前空間内のパス名 (mount-point-pn) です。 null 層が適切な場所に置かれた後、 目的のディレクトリ階層 (target-pn) の中身が マウント先 (mount-point-pn) にエイリアスされます。 .\" .\" .Sh null 層の操作 null 層は最小のファイルシステム層であり、 すべての操作を下位層に処理させるためにバイパスするだけです。 ほとんどすべての vnode に対する操作はパスすることですが、 その動作のほとんどはバイパスルーチンに集中します。 .Pp バイパスルーチンは下位層における任意の vnode に対する操作を受け付けます。 まず、vnode に対する操作の引数を検査し、 null-node を下位層において等価となるものに置き換えることから始めます。 次に、下位層の操作を起動します。 最後に、引数中の null-node を置き換えます。 もしその操作によって vnode が返ってきたら、 その返ってきた vnode の上に null-node を積みます。 .Pp ほとんどの操作をバイパスしますが、 .Em vop_getattr , .Em vop_inactive , .Em vop_reclaim , .Em vop_print はバイパスしません。 .Em vop_getattr は戻り値の fsid を替えなければなりません。 .Em vop_inactive と .Em vop_reclaim は、null 層特有のデータを解放するためにバイパスしません。 .Em vop_print は過度のデバッグ情報を避けるためにバイパスしません。 .\" .\" .Sh vnodeスタックの概説 マウントは null 層を下位層に関連づけます。 その結果 2 つの VFS が積み重なります。 vnode スタックはファイルがアクセスされるたびに必要に応じて作成されます。 .Pp 最初のマウントでは新しい null 層の根として単一の vnode スタックを作ります。 他のすべての vnode スタックは根の vnode スタックや他の null vnode スタックの 操作の結果として作られます。 .Pp vnode を返す操作の結果として新しい vnode スタックが生まれます。 バイパスルーチンは、呼出し側に vnode を返す前に新しい vnode の上に null-node を積みます。 .Pp 例えば、null 層を以下のようにマウントする例を想像します。 .Bd -literal -offset indent mount_nullfs /usr/include /dev/layer/null .Ed .Pa /dev/layer/null にチェンジディレクトリすると、根の null-node (null 層をマウントした時 に作られたもの) が割り当てられます。 ここで .Pa sys をオープンすることを考えてみます。 vop_lookup は根の null-node で行なわれます。 この操作は下位層にバイパスされ、下位層が UFS の .Pa sys を表す vnode を返します。 それから null_bypass は UFS .Pa sys にエイリアスする null-node を構築し、呼出元にこれを返します。 null-node .Pa sys に対する以降の操作で他の vnode スタックを構築する時には この処理が繰り返されます。 .\" .\" .Sh 他のファイルシステム層の作成 新しいファイルシステム層を構築する一番簡単な方法は、 null 層のコピーを作り、すべてのファイル、変数の名前を付け直し、 そしてそのコピーを変更することです。 すべての変数の名前を変えるのには .Xr sed 1 が良く使われます。 .Pp umap 層は null 層の子孫の 1 例です。 .\" .\" .Sh 下位層の操作の起動 操作が完全にはバイパスできない時に 下位層にある操作を起動するための方法が 2 つあります。 それぞれの方法は違った状況に対して適切に使われます。 両方の場合とも、 その操作の引数を下位層のために正しく作るのはエイリアスする層の責任であり、 vnode 引数を下位層にマッピングします。 .Pp 最初の方法はエイリアスする層のバイパスルーチンを呼ぶことです。 この方法は、下位層で現在扱われている操作を起動したい時に最も適しています。 これはバイパスルーチンがすでにマッピングされているという利点があります。 この例として、 .Em null_getattrs が null 層にあります。 .Pp 2 つ目の方法は、 .Em VOP_OPERATIONNAME インタフェースを用いて下位層の vnode の操作を直接起動することです。 この方法の利点は、下位層の任意の操作を起動するのが簡単ということにあります。 欠点は、vnode 引数は手動でマッピングされなければならないことです。 .\" .\" .Sh 関連項目 .Xr mount 8 .Pp UCLA Technical Report CSD-910056, .Em "Stackable Layers: an Architecture for File System Development" . .Sh バグ 本ファイルシステムタイプは、まだ完全にはサポートされていません (注: 機能しないということです) し、 実際のところ使用するとシステム上のデータを破壊するかもしれません。 自己責任において使用してください。 猛犬注意。濡れていて滑ります。 .Pp 危険性を減らすためには、このコードもまた所有者を必要としています - 真面目なハッカーの方はメールを .Aq hackers@FreeBSD.org に送って 引き継ぎの意思を宣言してください。 .Sh 歴史 .Nm は、 .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/mount_umapfs.8 b/ja_JP.eucJP/man/man8/mount_umapfs.8 index 8fe614742b..a30801d4c9 100644 --- a/ja_JP.eucJP/man/man8/mount_umapfs.8 +++ b/ja_JP.eucJP/man/man8/mount_umapfs.8 @@ -1,137 +1,137 @@ .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" Jan-Simon Pendry and from John Heidemann of the UCLA Ficus project. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount_umap.8 8.4 (Berkeley) 5/1/95 -.\" %FreeBSD: src/sbin/mount_umapfs/mount_umapfs.8,v 1.18 2002/08/21 18:11:18 trhodes Exp % +.\" %FreeBSD: src/sbin/mount_umapfs/mount_umapfs.8,v 1.19 2002/12/12 17:25:55 ru Exp % .\" .\" $FreeBSD$ .\" .Dd May 1, 1995 .Dt MOUNT_UMAPFS 8 .Os .Sh 名称 .Nm mount_umapfs .Nd ファイルシステム層のサンプルファイルシステム .Sh 書式 .Nm .Op Fl o Ar options .Fl u Ar uid-mapfile .Fl g Ar gid-mapfile .Ar target .Ar mount-point .Sh 解説 .Nm ユーティリティは、 ローカルシステムとは異なる uid, gid を使用するファイルシステムの サブツリーをマウントするために使用します。 そのようなファイルシステムには、別のサイトの NFS や 別のパスワードを使用する場所から持って来たリムーバブルメディア上の ファイルシステムです。 .Pp .Nm ユーティリティはユーザが提供するファイルのセットを使用し、 サブツリーの元の環境とローカルの環境との uid, gid の対応を取ります。 元の環境では smith は uid 1000 を持ち、ローカル環境では uid 2000 を持ちます。 .Nm ユーティリティは、 smith のオリジナルの環境で持っているファイルを次のようにマップさせます: uid 1000 が所有するファイルを、実際には uid 2000 が所有者である かのように見せます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl o .Fl o のあとに、コンマで区切ってオプション文字列を指定することができます。 可能なオプションとその意味は .Xr mount 8 を参照してください。 .It Ar target ローカルシステムの名前空間において、サブツリーの現在位置。 .It Ar mount-point マップされたサブツリーが置かれるディレクトリ。 .It Fl u Ar uid-mapfile .It Fl g Ar gid-mapfile 識別子の対応が記述されます。 それぞれのファイルの1行目には、そのファイルがいくつの対応を持っている かを記述します。 2行目からは、各行に対応を記述します。 最初の項目はローカル環境での id で、次の項目がオリジナル環境での idで、 項目は空白で区切ります。 .Ar uid-mapfile にはすべての uid の対応を、 .Ar gid-mapfile にはすべての gid の対応を記述するべきです。 .Ar uid-mapfile に記載されない uid は NOBODY と、 .Ar gid-mapfile に記載されない gid は NULLGROUP と扱われます。 uid の対応は64個まで、gid の対応は16個まで記述することができます。 .El .Pp マップファイルはファイル階層のどこにでも置くことができますが、 ファイルの所有者はrootで、rootのみが書き込めるようにしておかなければ なりません。 .Nm ユーティリティは、もしこれらのファイルの所有者や権限が 不適切な場合はサブツリーをマップしません。 もしマップファイルの1行目の対応数と実際の対応数が異なる場合も、 実行を停止します。 .Pp .Nm ユーティリティで作られるファイルシステム層は、簡単なファイルシステム層の 例となっています。商品としての利用は考えられていません。 そのため、あまり洗練された実装ではありません。 .Sh 関連項目 .Xr mount 8 , .Xr mount_nullfs 8 .Sh バグ 本ファイルシステムタイプは、まだ完全にはサポートされていません (注: 機能しないということです) し、 実際のところ使用するとシステム上のデータを破壊するかもしれません。 自己責任において使用してください。 猛犬注意。濡れていて滑ります。 .Pp 危険性を減らすためには、このコードもまた所有者を必要としています - 真面目なハッカーの方はメールを .Aq hackers@freebsd.org に送って 引き継ぎの意思を宣言してください。 .Sh 歴史 .Nm は .Bx 4.4 から実装されました。 diff --git a/ja_JP.eucJP/man/man8/mount_unionfs.8 b/ja_JP.eucJP/man/man8/mount_unionfs.8 index bd74950bdd..9ebea4a517 100644 --- a/ja_JP.eucJP/man/man8/mount_unionfs.8 +++ b/ja_JP.eucJP/man/man8/mount_unionfs.8 @@ -1,212 +1,212 @@ .\" Copyright (c) 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" Jan-Simon Pendry. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount_union.8 8.6 (Berkeley) 3/27/94 -.\" %FreeBSD: src/sbin/mount_unionfs/mount_unionfs.8,v 1.14 2002/08/21 18:11:20 trhodes Exp % +.\" %FreeBSD: src/sbin/mount_unionfs/mount_unionfs.8,v 1.15 2002/12/12 17:25:55 ru Exp % .\" .\" $FreeBSD$ .\" .Dd March 27, 1994 .Dt MOUNT_UNIONFS 8 .Os .Sh 名称 .Nm mount_unionfs .Nd ユニオンファイルシステムをマウントする .Sh 書式 .Nm .Op Fl br .Op Fl o Ar options .Ar directory .Ar uniondir .Sh 解説 .Nm ユーティリティは .Ar directory を .Ar uniondir の上に接続し、そこから両方のディレクトリツリーの内容が見えるようにします。 デフォルトでは、 .Ar directory が .Em 上の 層に、 .Ar uniondir が .Em 下の 層になります。 .Pp オプションには以下のものがあります: .Bl -tag -width indent .It Fl b デフォルトの上下関係を反転します。つまり、 .Ar directory が下の層に、 .Ar uniondir が上の層になります。ただし、マウントポイントは .Ar uniondir のままになります。 .It Fl o .Fl o フラグの後には、オプション文字列をコンマで区切って指定します。 指定可能なオプションと、その意味については .Xr mount 8 を参照してください。 .It Fl r .Xr mount_nullfs 8 でマウントした場合と同様に、下の層を完全に隠すようになります。 .El .Pp ファイルシステムのセキュリティを維持するため、 ファイルシステムをマウントするユーザは、スーパユーザか、 マウントポイントのディレクトリに書き込み許可を持つ者でなければなりません。 .Pp ファイルの検索は、上の層、下の層の順におこなわれます。 上の層にはエントリのないディレクトリが、下の層で見つかった場合には、上の層に .Em シャドウ ディレクトリが作られます。 このディレクトリはユニオンマウントを実行したユーザの所有になり、モードは .Dq rwxrwxrwx (0777) をその時点で有効な umask で修正したものになります。 .Pp あるファイルが上の層に存在している場合、下の層にある 同じ名前のファイルをアクセスする方法はありません。 どうしても必要なら、ループバックマウントとユニオンマウントを 組み合せることで、別のパス名を使って下の層のファイルを アクセスできるようにしておくことができます。 .Pp オブジェクトへのアクセスは、それがディレクトリである場合を除き、 通常のファイルシステムのアクセス権チェックのあとで実行されます。 ディレクトリの場合には、アクセスをおこなうユーザは上の層と下の層の 両方のディレクトリのアクセス権を持っていなければなりません (両方のディレクトリが存在している必要があります)。 .Pp いくつかの特別な場合を除き、 .Ar uniondir 中のオブジェクトの作成や変更の要求は上の層に渡されます。 下の層に存在するファイルを書き込み用にオープンしようとすると、 そのファイルの .Em 完全な コピーが上の層に作成され、それから上の層のコピーがオープンされます。 同様に、下の層のファイルを切り詰めてサイズを 0 にしようとすると、 空のファイルが上の層に作成されることになります。 これ以外の、本当に下の層の変更が必要となる操作は失敗し、 .Er EROFS が返されます。 .Pp ユニオンファイルシステムは、個々のファイルシステムを扱うというよりも 名前空間を扱うものです。ユニオンマウントは .Ar uniondir 以下のディレクトリツリーに再帰的に影響します。 このため .Ar uniondir 以下にマウントされたファイルシステムは、すべて ユニオン効果を持つようになります。これが .Xr mount 8 の .Em union オプションとは異なる点です。 union オプションでは、ユニオン効果はマウントポイントだけに働き、 ファイル名の探索のみに使われます。 .Sh 使用例 コマンド .Bd -literal -offset indent mount -t cd9660 -o ro /dev/cd0a /usr/src mount -t unionfs /var/obj /usr/src .Ed .Pp は、CD-ROM ドライブ .Pa /dev/cd0a を .Pa /usr/src にマウントし、その上に .Pa /var/obj を重ねます。ほとんどの場合、これはソースツリーが実際には CD-ROM 上に あるにもかかわらず、書き込みが可能になるという効果を目的としています。 .Pp コマンド .Bd -literal -offset indent mount -t unionfs -o -b /sys $HOME/sys .Ed .Pp は、ユーザのホームディレクトリの下の .Pa sys ディレクトリに、システムのソースツリーを下の層として重ね合わせます。 これにより、個々のユーザがそのソースツリーに対して個人的な変更を加えて、 新しいカーネルを構築することができるようになります。 他のユーザはその変更に関知しません。 下の層のファイルは、そのまま .Pa /sys からアクセスできることに注意してください。 .Sh 関連項目 .Xr intro 2 , .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 , .Xr mount_nullfs 8 .Sh バグ 本ファイルシステムタイプは、まだ完全にはサポートされていません (注: 機能しないということです) し、 実際のところ使用するとシステム上のデータを破壊するかもしれません。 自己責任において使用してください。 猛犬注意。濡れていて滑ります。 .Pp 危険性を減らすためには、このコードもまた所有者を必要としています - 真面目なハッカーの方はメールを hackers@freebsd.org に送って 引き継ぎの意思を宣言してください。 .Pp 上の層を支えているファイルシステムで、ホワイトアウトが サポートされていないため、下の層のオブジェクトに対して 削除や名前変更の操作をおこなう方法はありません。 このような操作や、下の層を変更する操作、たとえば .Xr chmod 1 のような操作に対しては、 .Er EROFS が返されます。 .Pp ユニオンツリーの上で .Xr find 1 を実行すると、上の層にシャドウディレクトリのツリーが 作成されてしまうという副作用があります。 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 で初めて登場しました。 最初に動作したのは .Fx -(要記入) です (訳注: 原文 は FreeBSD-(fill this in))。 .\" 本訳注は horikawa@jp.freebsd.org が 19990115 に記載 diff --git a/ja_JP.eucJP/man/man8/mountd.8 b/ja_JP.eucJP/man/man8/mountd.8 index 3533117788..7e3c70603a 100644 --- a/ja_JP.eucJP/man/man8/mountd.8 +++ b/ja_JP.eucJP/man/man8/mountd.8 @@ -1,156 +1,156 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mountd.8 8.4 (Berkeley) 4/28/95 -.\" %FreeBSD: src/usr.sbin/mountd/mountd.8,v 1.23 2002/08/11 15:21:06 mux Exp % +.\" %FreeBSD: src/usr.sbin/mountd/mountd.8,v 1.24 2002/12/12 17:26:02 ru Exp % .\" .\" $FreeBSD$ .\" .Dd April 28, 1995 .Dt MOUNTD 8 .Os .Sh 名称 .Nm mountd .Nd リモートの .Tn NFS マウント要求に対するサービスを行うデーモン .Sh 書式 .Nm .Op Fl 2dlnr .Op Ar exportsfile .Sh 解説 .Nm ユーティリティは、他のクライアントマシンからの .Tn NFS マウント要求のためのサーバです。 .Nm は、 .Tn NFS サーバの仕様で示されているポート 番号でサービス要求を待ちます。詳細は RFC1094 .%T "Network File System Protocol Specification" の Appendix A と .%T "NFS: Network File System Version 3 Protocol Specification" の Appendix I を参照してください。 .Pp .Nm では、以下のオプションや引数を指定できます: .Bl -tag -width indent .It Fl 2 このサーバからファイルシステムをマウントするクライアントに対し、 管理者はバージョン 2 .Tn NFS プロトコルのみの使用を強制できます。 .It Fl d デバッグ情報を出力します。 .It Fl l 成功した .Nm 要求を記録します。 .It Fl n 非 root からのマウント要求を許可します。 このオプションは、 クライアントが PC であるなど、それがどうしても必要な 場合にのみ使うようにしてください。 その場合、自動的に vfs.nfsrv.nfs_privport sysctl フラグがクリアされます。 このフラグはカーネルが NFS 要求を受け付けるのが、 予約されたポートからのみか否かを制御します。 .It Fl r 通常ファイルに対するマウント RPC 要求を許可します。 これは、マウントプロトコルの仕様によると危険なようですが、 いくつかのディスクレスワークステーションは、スワップファイルをマウント しようとしますし、それが通常ファイルであることを期待しています。 通常ファイルは .Pa /etc/exports で指定できないので、スワップが置かれようとしているファイルシステム全体 が、 .Fl alldirs フラグとともに公開されていなければなりません。 .It Ar exportsfile exports ファイルの置き場所を指定します。 .El .Pp 起動されると、 .Nm は .Xr mount 2 システムコールによって、公開するホストアドレスとオプションを カーネル内にロードします。 公開設定ファイルを変更した場合は、 .Nm に対して回線切断シグナルを送って 公開設定情報を再ロードする必要があります。 .Dv SIGHUP を送ったあと(例: kill \-s HUP `cat /var/run/mountd.pid` )、exports ファイルにエラーがあるかどうか、 .Nm の出力をチェックしてください。 .Pp 動作中のカーネルは .Tn NFS を組み込んでいないものであると判明した場合、 .Nm は、 .Xr kldload 2 を使って、 .Tn NFS を含むローダブルカーネルモジュールのロードを試みます。 これが失敗するか、 .Tn NFS KLD が使用できない場合は、 .Nm はエラー終了します。 .Sh 関連ファイル .Bl -tag -width /var/run/mountd.pid -compact .It Pa /etc/exports 公開設定ファイル (エクスポートファイル) .It Pa /var/run/mountd.pid 現在実行中の .Nm のプロセス id .Tn ID .It Pa /var/db/mountdtab 現在マウントされているリモートファイルシステムのリスト .El .Sh 関連項目 .Xr nfsstat 1 , .Xr kldload 2 , .Xr exports 5 , .Xr nfsd 8 , .Xr rpcbind 8 , .Xr showmount 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 から登場しています。 diff --git a/ja_JP.eucJP/man/man8/mtree.8 b/ja_JP.eucJP/man/man8/mtree.8 index 122aa0973c..714dda6468 100644 --- a/ja_JP.eucJP/man/man8/mtree.8 +++ b/ja_JP.eucJP/man/man8/mtree.8 @@ -1,364 +1,364 @@ .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)mtree.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/usr.sbin/mtree/mtree.8,v 1.38 2002/07/14 14:44:30 charnier Exp % +.\" %FreeBSD: src/usr.sbin/mtree/mtree.8,v 1.39 2002/12/12 17:26:02 ru Exp % .\" $FreeBSD$ .\" .Dd February 26, 1999 .Dt MTREE 8 .Os .Sh 名称 .Nm mtree .Nd ディレクトリ階層をマップする .Sh 書式 .Nm .Op Fl LPUcdeinqrux .Bk -words .Op Fl f Ar spec .Ek .Bk -words .Op Fl K Ar keywords .Ek .Bk -words .Op Fl k Ar keywords .Ek .Bk -words .Op Fl p Ar path .Ek .Bk -words .Op Fl s Ar seed .Ek .Bk -words .Op Fl X Ar exclude-list .Ek .Sh 解説 .Nm ユーティリティは、カレントディレクトリをルートとするファイル階層を、 標準入力から読み込んだファイル階層記述と比較します。 .\" ↑原文では単に "specification" となっているが、日本語に訳すと .\" わかりにくいので、「ファイル階層記述」という語をあてている。 .\" 以下も同様。 -- jpman J.Sakai その記述とマッチしない特性をもつファイルや、 実際のファイル階層あるいはファイル階層記述のいずれかから欠落しているファイル に関するメッセージを標準出力に出力します。 .Pp 以下のオプションがあります: .Bl -tag -width flag .It Fl L ファイル階層のすべてのシンボリックリンクをたどります。 .It Fl P ファイル階層のシンボリックリンクをたどりません。 代りに、シンボリックリンク自身を比較対象にします。 これがデフォルトです。 .It Fl U 既存ファイルの所有者、グループおよびパーミッションを ファイル階層記述に合わせて修正し、欠落しているディレクトリを作成します。 欠落ディレクトリを作成するために、ユーザ、グループおよびパーミッションの 全てを指定しなければなりません。 成功するとステータス 0 で終了し、 何らかのエラーが発生すると 1 で終了します。 ミスマッチがあっても、それが訂正されればエラーとはみなされません。 .It Fl c ファイル階層の記述を標準出力に出力します。 .It Fl d ディレクトリ型以外のファイルは全て無視します。 .It Fl e ファイル階層には存在するが、ファイル階層記述に存在しないファイルが あっても警告しません。 .It Fl i .Fl c オプションでファイル階層記述を作成する際、 ディレクトリレベルを一つ下りる毎に空白 4 つ分ずつインデントして出力します。 各ディレクトリ前に出力される /set 文やコメントには影響を与えませんが、 各ディレクトリの最後に出力されるコメントには影響を及ぼします。 .It Fl n ファイル階層記述作成の際、パス名コメントを出力しません。 .Fl c オプション使用時は通常、各ディレクトリの前後にコメントが出力されます。 .It Fl q 静寂モード。 .Dq 存在しない ディレクトリが既に存在するという理由で作成できない場合、文句を言いません。 これは、ディレクトリがシンボリックリンクの場合に発生します。 .It Fl r ファイル階層記述に記載されていないファイル階層に含まれるファイルを 全て削除します。 .It Fl u オプション .Fl U と同様ですが、現ファイル階層がファイル階層記述とマッチしなければ ステータス 2 を返します。 .It Fl x ファイル階層中のマウントポイント以下に降下しません。 .It Fl f Ar file ファイル階層記述を、標準入力からではなく、ファイル .Ar file から読み込みます。 .It Fl K Ar keywords 指定した .Ar keywords (空白あるいはコンマで区切ったもの) を 現在のキーワード集合に追加します。 .It Fl k Ar keywords 現在のキーワード集合の代わりに、 ``type'' キーワードおよび 指定した .Ar keywords (空白あるいはコンマで区切ったもの) を使用します。 .It Fl p Ar path ファイル階層のルートディレクトリを、カレントディレクトリではなく .Ar path とします。 .It Fl s Ar seed キーワード .Cm cksum が指定されている全ファイルに対する単一のチェックサムを 標準エラー出力に出力します。 チェックサムのシードには指定された値が用いられます。 .It Fl X Ar exclude-list 指定されたファイルは .Xr fnmatch 3 パターンを含みます。 これにマッチするファイルはファイル階層記述から除外されます。 1 行に 1 個ずつ記述します。 パターンに .Ql \&/ 文字が含まれる場合、 (開始したディレクトリとの相対で) パス名全体に対してマッチが取られます。 そうでない場合、ベース名に対してのみマッチが取られます。 .Ar exclude-list ファイルにはコメントは許されません。 .El .Pp ファイル階層記述は多くの場合、「キーワード」つまり ファイルに関連した値を指定する文字列から構成されます。 どのキーワードにもデフォルト値はありません。 キーワードに値が設定されていない場合、 そのキーワードに基づいたチェックは行われません。 .Pp 現在サポートされているキーワードは以下の通りです: .Bl -tag -width Cm .It Cm cksum .Xr cksum 1 ユーティリティで規定されるデフォルトアルゴリズムを用いた ファイルのチェックサム。 .It Cm flags シンボル名のファイルフラグ。これらの名前についての情報は .Xr chflags 1 を参照してください。フラグ無しを設定するには、文字列 .Dq none を指定して、現在のデフォルトに優先できます。 .It Cm ignore このファイル以下のファイル階層を無視します。 .It Cm gid 数値で指定したファイルのグループ。 .It Cm gname シンボル名で指定したファイルのグループ。 .It Cm md5digest ファイルの MD5 メッセージダイジェスト。 .It Cm sha1digest .Tn FIPS ファイルの 160-1 .Pq Dq Tn SHA-1 メッセージダイジェスト。 .It Cm ripemd160digest ファイルの .Tn RIPEMD160 メッセージダイジェスト。 .It Cm mode 数値 (8 進数) あるいはシンボル値で指定した現ファイルのパーミッション。 .It Cm nlink ファイルが持っているはずのハードリンク数。 .It Cm nochange このファイルもしくはディレクトリが存在することのみ確認し、 他の属性は無視します。 .It Cm uid 数値で指定したファイルの所有者。 .It Cm uname シンボル名で指定したファイルの所有者。 .It Cm size ファイルサイズ (バイト数)。 .It Cm link シンボリックリンクが指し示しているはずのファイル。 .It Cm time ファイルの最終修正時刻。 .It Cm type ファイルタイプ。以下のいずれかを指定します: .Pp .Bl -tag -width Cm -compact .It Cm block ブロック型スペシャルデバイス .It Cm char 文字型スペシャルデバイス .It Cm dir ディレクトリ .It Cm fifo FIFO .It Cm file 通常ファイル .It Cm link シンボリックリンク .It Cm socket ソケット .El .El .Pp デフォルトのキーワード集合は .Cm flags , .Cm gid , .Cm mode , .Cm nlink , .Cm size , .Cm link , .Cm time , .Cm uid です。 .Pp ファイル階層記述には 4 つのタイプの行があります。 .Pp 1 つめのタイプの行はキーワードに大域的な値を設定するもので、 文字列 ``/set'' とそれに続く空白、そしてキーワードとその値のペアの集合を 空白で区切ったものから構成されます。 キーワードとその値のペアはキーワードとそれに続く等号 (``='')、 そして値から成り、空白は含みません。 一旦キーワードが設定されると、再設定あるいは設定解除されるまで その値は変化しません。 .Pp 2 つめのタイプの行はキーワードの設定を解除するもので、 文字列 ``/unset'' とそれに続く空白、そして 1 つ以上のキーワードを 空白で区切ったものから構成されます。 .Pp 3 つめのタイプの行はファイル記述を行うもので、 ファイル名とそれに続く空白、そして 0 個以上のキーワードと値のペアを 空白で区切ったものから構成されます。 ファイル名の先頭には空白があっても構いません。 ファイル名には 標準的なファイル名マッチング文字 (``['', ``]'', ``?'', ``*'') が含まれて いてもよく、その場合、そのファイル階層に存在するファイルは、 マッチする最初のパターンと関連づけられます。 .Pp 各キーワードと値のペアはキーワードと等号 (``='')、そして そのキーワードの値から構成され、空白は含みません。 これらの値は、対応するキーワードの大域的な値を変更しませんが、 大域的な値に優先します。 .Pp パスは全て相対指定です。 ディレクトリを指定すると、そのディレクトリ階層の中で 更にファイルが検索されます。 これがファイル階層記述における 4 つめのタイプの行です: 文字列 .Dq Pa ..\& だけが含まれる行は、カレントディレクトリパスを 1 レベル上に上げることを 意味します。 .Pp 空行および最初の非空白文字がハッシュ記号 (``#'') であるような行は無視されます。 .Pp .Nm は成功するとステータス 0 で終了し、何らかのエラーが生じると 1 で終了します。 また、ファイル階層がファイル階層記述とマッチしない場合はステータス 2 で 終了します。 ただしオプション .Fl U が指定されている場合は、ステータス 2 はステータス 0 に変換されます。 .Sh 使用例 「トロイの木馬」に感染したシステムバイナリを検出するには、 以下のように操作することを推奨します。 ファイルシステムに対して .Nm .Fl K .Cm sha1digest を実行し、その結果のコピーを別マシンか、少なくとも暗号化した形式で ストアします。 出力ファイル自身は .Xr md5 1 ユーティリティを用いてダイジェストを作成します。 そして定期的に .Nm と .Xr md5 1 をオンラインのファイル階層記述に対して走らせます。 クラッカーが手を加えたバイナリに合わせて オンラインのファイル階層記述を変更することは 可能ですが、オリジナルと同じ MD5 ダイジェストをもつ記述を作成するのは 非現実的だと考えらていれます。 .Pp .Fl d オプションおよび .Fl u オプションを組み合わせると、ソフトウェア配布やそれに類する処理のために ディレクトリ階層を作成するのに用いることができます。 .Pa /etc/mtree に置かれたファイル群は、この .Fx 配布のほとんど全てのディレクトリを作成するのに用いられました。 .Sh 関連ファイル .Bl -tag -width /etc/mtree -compact .It Pa /etc/mtree システムのファイル階層記述ディレクトリ .El .Sh 診断 .Ex -std .Sh 関連項目 .Xr chflags 1 , .Xr chgrp 1 , .Xr chmod 1 , .Xr cksum 1 , .Xr md5 1 , .Xr stat 2 , .Xr fts 3 , .Xr md5 3 , .Xr chown 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.3 Reno で登場しました。 .Tn MD5 ダイジェスト機能は、 .Xr cksum 1 をだますプログラムが広範囲に悪用されたのに対抗して .Fx 2.1 で追加されました。 新たな攻撃により .Tn MD5 の弱さが示されたため、 .Tn SHA-1 と .Tn RIPEMD160 のダイジェスト機能が .Fx 4.0 で追加されました。 ファイルフラグのサポートは .Fx 4.0 で追加されました。このほとんどは .Nx 由来です。 diff --git a/ja_JP.eucJP/man/man8/newsyslog.8 b/ja_JP.eucJP/man/man8/newsyslog.8 index f300edbc90..0a1031c3b1 100644 --- a/ja_JP.eucJP/man/man8/newsyslog.8 +++ b/ja_JP.eucJP/man/man8/newsyslog.8 @@ -1,382 +1,396 @@ .\" This file contains changes from the Open Software Foundation. .\" .\" from: @(#)newsyslog.8 -.\" %FreeBSD: src/usr.sbin/newsyslog/newsyslog.8,v 1.33 2002/07/14 14:44:35 charnier Exp % +.\" %FreeBSD: src/usr.sbin/newsyslog/newsyslog.8,v 1.36 2002/12/11 01:19:56 sobomax Exp % .\" .\" Copyright 1988, 1989 by the Massachusetts Institute of Technology .\" .\" Permission to use, copy, modify, and distribute this software .\" and its documentation for any purpose and without fee is .\" hereby granted, provided that the above copyright notice .\" appear in all copies and that both that copyright notice and .\" this permission notice appear in supporting documentation, .\" and that the names of M.I.T. and the M.I.T. S.I.P.B. not be .\" used in advertising or publicity pertaining to distribution .\" of the software without specific, written prior permission. .\" M.I.T. and the M.I.T. S.I.P.B. make no representations about .\" the suitability of this software for any purpose. It is .\" provided "as is" without express or implied warranty. .\" .\" $FreeBSD$ .\" .Dd April 4, 2000 .Dt NEWSYSLOG 8 .Os .Sh 名称 .Nm newsyslog .Nd システムのログファイルを保守し、適切なサイズに保つ .Sh 書式 .Nm .Op Fl Fnrv .Op Fl f Ar config_file .Op Fl a Ar directory .Op Ar .Sh 解説 .Nm ユーティリティは .Xr cron 8 から定期的に実行されるようにスケジュールされるべきプログラムです。 実行されると、 .Nm は必要に応じてログファイルを保存 (アーカイブ) します。 あるログファイルを保存する必要があると判断すると、 .Dq Va logfile が空になり、 .Dq Va logfile Ns Li \&.0 に前回のログファイルが入り、 .Dq Va logfile Ns Li \&.1 に前々回のログが入り‥‥ といった具合に、 ユーザが指定した数の保存ログが残るよう、 .Nm はファイルを再編します。 オプションにより、保存ログを圧縮してスペースを節約することもできます。 .Pp ログが保存されるのは次の 3 つの場合です: .Bl -enum -offset indent .It ログが設定サイズ (キロバイト単位で指定) より大きくなった。 .It 前回ログを保存してから指定した時間が経過した。 .It ログ入れ替えを行う指定時間になった。 .El .Pp .Nm の粒度は、このコマンドが .Xr cron 8 からどの程度の頻度で実行されるかに依存しています。 .Nm の実行は十分速いので、毎時間実行するようにスケジュールしても 悪影響はありませんし、 第 3 のモード (前述) はそうなっていることを仮定しています。 .Pp 起動されると、 .Nm は設定ファイルを読み込んで、 どのログファイルが潜在的に保存されうるかを決定します。 デフォルトでは、この設定ファイルは .Pa /etc/newsyslog.conf です。 設定ファイルの各行には、 .Nm が処理すべき特定のログファイルに関する情報を記述します。 各行は 5 つの必須フィールドと、4 つのオプションフィールドからなり、 それらは空白で区切られています。 空行や ``#'' で始まる行は無視されます。 +``#'' が行の途中にある場合、 +``#'' 文字とこの後の行の残りは無視されます。 +この特殊な意味を避けるために、``#'' を ``\\'' でエスケープ可能です。 +この場合、前の ``\\'' は削除され、``#'' は通常文字として扱われます。 設定ファイルの各フィールドは以下の通りです: .Pp .Bl -tag -width indent .It Ar logfile_name 保存するシステムログファイル名。 .It Ar owner : Ns Ar group このフィールドはオプションであり、 保存ファイルの所有者とグループ名を指定します。 .Ar owner あるいは .Ar group が空白のままである場合でも ":" は必須です。 指定は数値、あるいは .Pa /etc/passwd か .Pa /etc/group にある名前で行います。 .It Ar mode ログファイルと保存ログファイルのモードを指定します。 .It Ar count ログファイルそのものに加えて保存しておく保存ファイルの数を指定します。 .It Ar size ログファイルのサイズが .Ar size キロバイトに達すると、ログファイルは上記のように入れ換えられます。 このフィールドがアスタリスク .Pq Ql \&* で置き換えられると、ログファイル入れ換えに際して そのサイズは考慮されなくなります。 .It Ar when .Ar when フィールドは、インターバル、特定の時刻、もしくは両方です。 .Ar when フィールドがアスタリスク .Pq Ql \&* の場合、ログ入れ替えは .Ar size フィールドにのみ依存します。 そうでない場合、 .Ar when フィールドは、オプションの、時間単位のインターバルからなります。 これに続けて、単一の .So Li \&@ Sc 記号と制限された .Tn ISO 8601 フォーマットで時刻を指定することもできますし、単一の .So Li \&$ Sc 記号と時刻を指定し、日に 1 回か週に 1 回か月に 1 回の決まった時刻に ログファイルを入れ替えるように指定することもできます。 .Pp 時刻を指定すると、指定した時刻の 1 時間以内に .Nm が実行された場合のみ、ログファイルを入れ替えます。 インターバル時間が指定された場合、 最後の入れ替えからその時間数が経過した場合に、ログファイルを入れ替えます。 時刻とインターバルの両方が指定された場合、入れ替えが実行されるには、 両方の条件が満たされることが必要です。 .Pp タイムゾーンは指定できません。 現在の実装では、明確に分や秒の部分を指定することは、ほとんどできません。 「1 時間以内」であることのみ、比較するからです。 .Pp .Sy ISO 8601 制限付時刻フォーマット .Pp 制限付 .Tn ISO 8601 時刻の先行文字は .So Li \&@ Sc 記号です。制約付 .Tn ISO 8601 フォーマットでの特定の時刻の指定は次の通りです: .Sm off .Oo .Oo .Oo .Oo .Oo .Va \&cc .Oc .Va \&yy .Oc .Va \&mm .Oc .Va \&dd .Oc .Oo .Li \&T .Oo .Va \&hh .Oo .Va \&mm .Oo .Va \&ss .Oc .Oc .Oc .Oc .Oc です。 .Sm on 日付フィールドはオプションであり、デフォルトは現在の日付です。 時刻フィールドはオプションであり、デフォルトは午前 0 時です。 よって、今日が 1999 年 1 月 22 日の場合、次の日付指定はすべて同等です: .Pp .Bl -item -compact -offset indent .It .Sq Li 19990122T000000 .It .Sq Li 990122T000000 .It .Sq Li 0122T000000 .It .Sq Li 22T000000 .It .Sq Li T000000 .It .Sq Li T0000 .It .Sq Li T00 .It .Sq Li 22T .It .Sq Li \&T .It .Sq Li \& .El .Pp .Sy 日・週・月の時刻フォーマット .Pp 日・週・月の時刻フォーマットの先行文字は .So Li \&$ Sc 記号です。 日・週・月の指定の特定のフォーマットはそれぞれ次の通りです: .Op Va D\&hh , .Op Va W\&w Ns Op Va D\&hh , .Op Va M\&dd Ns Op Va D\&hh 。 オプションの時刻フィールドのデフォルトは、午前 0 時です。 日と時間の指定の範囲は次の通りです: .Pp .Bl -tag -width Ds -compact -offset indent .It Ar hh 時間であり、0 から 23 の範囲 .It Ar w 曜日であり、0 から 6 の範囲で、0 が日曜日 .It Ar dd 日であり、1 から 31 の範囲か、最終日を指定するための文字 .Em L または .Em l .El .Pp 以下に例を示します: .Pp .Bl -tag -width Ds -compact -offset indent .It Ar $D0 毎晩午前 0 時に入れ替えます .Ar ( @T00 と同じです) .It Ar $D23 毎晩 23:00 に入れ替えます .Ar ( @T23 と同じです) .It Ar $W0D23 毎週日曜日の 23:00 に入れ替えます .It Ar $W5D16 毎週金曜日の 16:00 に入れ替えます .It Ar $M1D0 毎月最初の日の午前 0 時に入れ替えます (その日の開始時点です; .Ar @01T00 と同じです) .It Ar $M5D6 毎月 5 日の 6:00 に入れ替えます .Ar ( @05T06 と同じです) .El .Pp .It Ar flags このフィールドはオプションであり、 保存に際してログファイルに特別な処理を行うかどうかを指定します。 .Ar Z フラグを指定すると、スペース節約のために 保存ファイルは .Xr gzip 1 で圧縮されます。 .Ar J フラグを指定すると、スペース節約のために 保存ファイルは .Xr bzip2 1 で圧縮されます。 .Ar B フラグはファイルがバイナリファイルであることを指示し、 ログファイルが入れ換わったという意味で .Nm が挿入する .Tn ASCII メッセージを含めないようにします。 .Ar - は何も意味しませんが、 .Ar path_to_pid_file フィールドが指定された場合には埋め草として使用可能です。 +.Ar G +フラグは、指定した +.Ar logfile_name +がシェルパターンであることを示し、 +このパターンにマッチする全ファイル名を +.Nm +がアーカイブすることを意味します。 +文法とマッチ規則についての詳細は、 +.Xr glob 3 +を参照してください。 .It Ar path_to_pid_file このオプションのフィールドは、 デーモンのプロセス ID を調べるために読むファイルを指定します。 このフィールドが存在する場合、 このファイルに書かれたプロセス ID に .Ar signal_number が送られます。 正しく認識するために、このフィールドは "/" から開始する必要があります。 .It Ar signal_number このオプションフィールドは、 デーモンプロセスに送られるシグナル番号を指定します。 デフォルトで SIGHUP が送られます。 .El .Sh オプション .Nm では以下のオプションが利用できます: .Bl -tag -width indent .It Fl f Ar config_file 設定ファイルとして .Pa /etc/newsyslog.conf に代えて .Ar config_file を使用します。 .It Fl a Ar directory アーカイブしたログファイルを書き込む .Ar directory を指定します。 相対パスを指定した場合、 これを各ログファイルのパスに後置したディレクトリに、 このログファイルのアーカイブログを書き込みます。 絶対パスを指定した場合、 すべてのアーカイブログは指定した .Ar directory に書き込まれます。 パス .Ar directory のコンポーネントが存在しない場合、 .Nm が実行されるときに生成されます。 .It Fl v .Nm を詳細情報出力モードにします。 このモードでは、ログを入れ換えるあるいはそれをスキップするたびに、 そのログファイル名と理由を表示します。 .It Fl n 実際にログの入れ換えは行わず、このオプションが指定されない場合に 本来行うはずの処理内容を表示します。 .It Fl r .Nm は root として動作しなければならない、という制約を取り除きます。 もちろん、 .Nm は .Xr syslogd 8 に HUP シグナルを送れなくなりますから、 このオプションはデバッグにのみ用いるべきです。 .It Fl F ログを入れ替える条件に合致しないとしても、強制的に .Nm にログを入れ替えさせます。 システムの問題を診断しているときには、 このオプションの使用により、 問題のみを含む新しいログを提供できるので有用です。 .El .Pp 追加のコマンド行引数を指定すると、 .Nm はこれらの引数にマッチするログファイルのみを検査します。 そうでない場合、設定ファイルに列挙された全ファイルを検査します。 .Sh 関連ファイル .Bl -tag -width /etc/newsyslog.confxxxx -compact .It Pa /etc/newsyslog.conf .Nm の設定ファイル .El .Sh バグ セキュリティ侵害を見つけるためにログを自動的に読むことは、 まだ行っていません。 .Sh 作者 .An Theodore Ts'o , MIT Project Athena .Pp Copyright 1987, Massachusetts Institute of Technology .Sh 互換性 以前のバージョンの .Nm ユーティリティは、グループ名の識別にドット (``.'') を使用していました。 .Fx 3.3 からは、これはコロン (``:'') 文字になりましたので、 ユーザ名とグループ名にドット文字を含めることが可能です。 後方互換性のために、ドット (``.'') 文字はまだ受け付けられます。 .Sh 関連項目 .Xr gzip 1 , .Xr syslog 3 , .Xr chown 8 , .Xr syslogd 8 diff --git a/ja_JP.eucJP/man/man8/ntp-genkeys.8 b/ja_JP.eucJP/man/man8/ntp-genkeys.8 index 667dcc1c23..b892583bbd 100644 --- a/ja_JP.eucJP/man/man8/ntp-genkeys.8 +++ b/ja_JP.eucJP/man/man8/ntp-genkeys.8 @@ -1,199 +1,199 @@ .\" -.\" %FreeBSD: src/usr.sbin/ntp/doc/ntp-genkeys.8,v 1.2 2002/07/14 14:44:40 charnier Exp % +.\" %FreeBSD: src/usr.sbin/ntp/doc/ntp-genkeys.8,v 1.3 2002/11/27 15:25:07 ru Exp % .\" .\" $FreeBSD$ .Dd August 2, 2001 .\" .\" WORD: private key 秘密鍵 .\" WORD: public key 公開鍵 .\" WORD: generator 原始根(Diffie-Hellman 鍵交換アルゴリズムの) .\" WORD: prime modulus 素数係数(Diffie-Hellman 鍵交換アルゴリズムの) .\" .Dt NTP_GENKEYS 8 .Os .Sh 名称 .Nm ntp-genkeys .Nd 公開鍵、秘密鍵を生成する .Sh 書式 .Nm .Op Fl dfhlnt .Op Fl c Ar conffile .Op Fl g Ar target .Op Fl k Ar keyfile .Sh 解説 .Nm ユーティリティは NTPv3/NTPv4 の対称鍵暗号化認証スキーム、または NTPv4 の公開鍵 (Autokey) 暗号化認証スキームで用いられるランダム鍵を 生成します。 .Pp 以下のオプションが利用可能です。 .Bl -tag -width indent .It Fl c Ar conffile .Xr ntp.conf 8 ファイルの位置を指定します。 .It Fl d デバッグメッセージ出力を有効にします (複数回指定可能です)。 .It Fl f 生成した鍵を強制的にインストールします。 .It Fl g target 文字列 .Ar target の文字で指定されたファイルを生成します。 .Bl -tag -width X -.It Li d +.It Li d D-H パラメータファイルを生成します。 .It Li m MD5 鍵ファイルを生成します。 .It Li r RSA 鍵を生成します。 .El .It Fl h 鍵をその場所 (現在のディレクトリ) に作成します。 これは、オプション .Fl l を暗黙的に含みます。 .It Fl k Ar keyfile 鍵ファイルの場所を指定します。 .It Fl l シンボリックリンクを作りません。 .It Fl n 実際には何もしません。 何をしようとするかだけを出力します。 .It Fl t シンボリックリンクの先の (古い) ファイルを抹消します。 .El .Pp デフォルトでは、このプログラムは、16 個のランダム対称鍵を含むファイル .Xr ntp.keys 5 を生成します。 加えて、ソフトウエアビルドの際に rsaref20 パッケージが組み込まれている 場合、このプログラムは、Autokey スキームで使用する暗号値を生成します。 これらの値は次の 3 個のファイルになります。 .Pa ntpkey は、RSA 秘密鍵を含みます。 .Pa ntpkey_ Ns Ar host は、RSA 公開鍵を含みます。 ここで .Ar host は、鍵を生成したマシンの DNS 名です。 .Pa ntpkey_dh は、Diffie-Hellman 鍵交換アルゴリズムで用いるパラメータを含みます。 すべてのファイルは印字可能な ASCII 形式です。 NTP 秒で示した タイムスタンプがそれぞれのファイルに追加されます。 このアルゴリズムはシステムクロックを乱数の種としますので、 このプログラムは、実行するごとに異なるファイルとファイル名を 生成します。 .Pp ファイル .Xr ntp.keys 5 は 16 個の MD5 鍵を含みます。 それぞれの鍵は、ASCII の印字可能部分集合 95 文字からランダムに選んだ 16 文字からなります。 デーモンは、 設定ファイルコマンド .Ic keys によって指定された位置からこのファイルを読み込みます。 また、このファイルは root だけが見ることができるようにします。 プログラム .Xr ntpq 8 や .Xr ntpdc 8 とともに使用するためには、簡単に思い出せるパスワードからなる 鍵を手で追加しなければなりません。 このファイルは同じセキュリティ区画を共有するサーバとクライアントに配布する 際には、安全な手段で配布しなければなりません。 一方、MD5 鍵と DES 鍵に 対する鍵の識別子は、1-65534 の (両端を含む) 範囲に含まれる必要が ありますが、プログラム .Nm ユーティリティは、1 から 16 の識別子のみを使用します。 各アソシエーションに対する 鍵の識別子は、設定ファイルコマンド .Ic server または .Ic peer の鍵引数として指定されます。 .Pp ファイル .Pa ntpkey は RSA 秘密鍵を含みます。 デーモンは、設定ファイルコマンド .Ic crypto の引数 .Ar privatekey で指定される位置からこのファイルを読み込みます。 このファイルは、 root のみが見ることができるようにします。 このファイルは、これを生成したマシンに対してだけ有効であり、 他のデーモンやアプリケーションプログラムと共有されることは 決してありません。 .Pp ファイル .Pa ntpkey_ Ns Ar host は RSA 公開鍵を含みます。 ここで、 .Ar host は、このファイルを生成したホストの DNS 名です。 デーモンは、 設定ファイルコマンド .Ic server または、 .Ic peer の引数 .Ar publickey で指定した位置からこのファイルを読み込みます。 このファイルに含まれるデータは公開値であるため、このファイルは 安全な手段によらずとも配布、格納することができます。 .Pp ファイル .Pa ntp_dh は、2 個の Diffie-Hellman パラメータ、 原始根 (generator) と素数係数 (prime modulus) を含みます。 デーモンは、設定ファイルコマンド .Ic crypto の引数 .Ar dhparams により指定された位置からこのファイルを読み込みます。 このファイルは、同じ鍵交換区画を共有する他のサーバ、クライアントに対し 安全な手段によらずとも配布することができます。 .Pp ファイル形式の最初の部分は 2 行からなります。 最初の行は、 ファイルを生成したシステムの DNS 名を含み、2 行目は日付スタンプを 含みます。 .Ql # から始まる行はコメントとみなされ、デーモンはこの行を無視します。 ファイル .Xr ntp.keys 5 の中で、次の 16 行は MD5 鍵を順序通り含みます。 必要があれば、通常のテキストエディタを用いてこのファイルをさらに 変更することができます。 次のセクションでこの形式を説明します。 ファイル .Pa ntpkey と、 .Pa ntpkey_ Ns Ar host では、 次の行は係数 (modulus) の長さ (ビット単位) と、鍵を PEM でコード化した文字列を含みます。 ファイル .Pa ntpkey_dh では、次の行は素数 (prime) の長さ (バイト単位) と、素数を PEM で コード化した文字列を含みます。 その次、すなわち最後行は、原始根 (generator) の長さ (バイト単位) と、原始根を PEM でコード化した文字列を含みます。 .Pp 注意: 必要があれば、戻り値の説明は、rsaref20 パッケージのファイル .Pa ./source/rsaref.h を参照して下さい。 .Sh 関連項目 .Xr ntp.keys 5 , .Xr ntpdc 8 , .Xr ntpq 8 .Sh バグ RSA 公開鍵/秘密鍵の組と Diffie-Hellman パラメータを生成する際に かなり時間がかかることがあります。 最新のワークステーションで数秒、 古いマシンなら数分の範囲です。 diff --git a/ja_JP.eucJP/man/man8/ntpdate.8 b/ja_JP.eucJP/man/man8/ntpdate.8 index e9787f79d8..1346e83c7c 100644 --- a/ja_JP.eucJP/man/man8/ntpdate.8 +++ b/ja_JP.eucJP/man/man8/ntpdate.8 @@ -1,234 +1,234 @@ .\" -.\" %FreeBSD: src/usr.sbin/ntp/doc/ntpdate.8,v 1.6 2002/07/14 14:44:40 charnier Exp % +.\" %FreeBSD: src/usr.sbin/ntp/doc/ntpdate.8,v 1.7 2002/11/27 15:25:07 ru Exp % .\" .\" $FreeBSD$ .Dd January 6, 2000 .\" WORD: key identifier 鍵の識別子 .\" WORD: key file 鍵ファイル .\" WORD: slew 微調整する (slue の過去・過去分詞形) .\" WORD: step 合わせる .\" WORD: clock 時計 .\" WORD: time 時刻 .\" WORD: seconds and fraction 秒数 (小数も可) .\" .Dd January 6, 2000 .Dt NTPDATE 8 .Os .Sh 名称 .Nm ntpdate .Nd NTP を介して日付と時刻を設定する .Sh 書式 .Nm .Op Fl bBdqosuv .Op Fl a Ar key .Op Fl e Ar authdelay .Op Fl k Ar keyfile .Op Fl o Ar version .Op Fl p Ar samples .Op Fl t Ar timeout .Ar server ... .Sh 解説 .Em 注意 : このプログラムの機能は、今では .Xr ntpd 8 プログラムの中で利用可能となっています。 .Xr ntpd 8 マニュアルページの .Fl q コマンドラインオプションの説明を参照して下さい。 適切な期間、喪に服した後で、 .Nm ユーティリティは本ディストリビューションから引退することになります。 .Pp .Nm ユーティリティは、正確な時刻を決めるために .Ar server 引数で与えられた ネットワークタイムプロトコル (Network Time Protocol; NTP) サーバ (複数可) を調べることによって、 ローカルな日付と時刻を設定します。 このコマンドは、ローカルホストの root として起動されなければなりません。 指定された各サーバからたくさんのサンプルを得て、 NTP 時計フィルタのサブセットと選択アルゴリズムを適用し、 その中から最良のものを選択します。 .Nm の正確さと信頼性は サーバの数、一実行あたりの調査数、そして実行間隔で決まることに 注意してください。 .Pp 以下のオプションが使用可能です: .Bl -tag -width indent .It Fl a Ar key 認証機能を有効にし、認証の鍵識別子を .Ar key 引数に指定します。 鍵と鍵の識別子はクライアントとサーバ双方の鍵ファイルで 合致する必要があります。 デフォルトでは認証機能は無効になっています。 .It Fl B 計測されたオフセットが± 128 ms より大きくても、 時刻を常に .Xr adjtime 2 システムコールを用いて微調整するよう、強制します。 デフォルトではオフセットが± 128 ms より大きい場合は、 .Xr settimeofday 2 を用いてずらします。 オフセットが± 128 ms より大きい場合は、 時計を正しい値に微調整で合わせるのに長い時間 (数時間) 掛かることがあることに 注意してください。 この間は、クライアントを同期するためにこのホストを使ってはいけません。 .It Fl b (デフォルトの) .Xr adjtime 2 システムコールを用いて時刻を微調整するのではなく、 .Xr settimeofday 2 システムコールを用いて時刻を合わせるよう、強制します。 このオプションはブート時に起動ファイルから呼び出すときには使用するべきです。 .It Fl d デバッグモードを有効にします。 .Nm は全てのステップを実行しますが、ローカル時計を合わせることはしません。 一般的なデバッグに役立つ情報も表示します。 .It Fl e Ar authdelay 認証機能の処理にかかる遅れを .Ar authdelay に値を秒数 (小数も可) で指定します (詳細は .Xr ntpd 8 を参照してください)。 この値は通常多くの用途では無視し得るほどわずかですが、 非常に遅い CPU ではこの数を指定することで、 時間の正確さが改善されるかもしれません。 .It Fl k Ar keyfile 認証鍵のファイルへのパスを文字列で .Ar keyfile に指定します。 デフォルトは .Pa /etc/ntp.keys です。 このファイルは .Xr ntpd 8 に記述されている形式で書く必要があります。 .It Fl o Ar version 外へ出すパケットの NTP バージョンを .Ar version に 1 か 2 の整数で指定します。 デフォルトは 3 です。 このオプションは .Nm を古いバージョンの NTP に対して使用できるようにします。 .It Fl p Ar samples 各サーバから得るサンプルの数を .Ar samples に 1 から 8 までの整数で指定します。 デフォルトは 4 です。 .It Fl q 問い合わせをするだけで、時計を設定しません。 .It Fl s (デフォルトの) 標準出力ではなく、 .Xr syslog 3 機能を使用してログ出力を行ないます。 この機能は主に .Xr cron 8 スクリプトでの利便性を考えて作られました。 .It Fl t Ar timeout サーバの応答を待つ最大時間を .Ar timeout に秒数 (小数も可) で指定します。 値は 0.2 秒の倍数に丸められます。 デフォルトは 1 秒で、これは LAN を通じて調べるのに適当な値です。 .It Fl u .Nm が外へ出すパケットを非特権ポートから出すように命令します。 この機能は、外から来た特権ポートへのトラフィックを ブロックする防火壁の内側にいる場合に、防火壁を越えた向こうのホストと同期する際に 最も便利です。 .Fl d オプションは常に非特権ポートを使用することに注意してください。 .It Fl v 冗長になります。 このオプションは .Nm のバージョン識別文字列を記録するようになります。 .El .Pp .Nm ユーティリティは、必要に応じてホストの時計を合わせるために手動で動かしたり、 ブート時に時計を設定するために起動スクリプト の中から動かすことができます。 このことは NTP デーモン .Xr ntpd 8 を起動する前に時計を初期設定する場合に便利です。 .Nm は .Xr cron 8 スクリプトから起動することも可能です。 しかし、 .Nm を用いた .Xr cron 8 スクリプトを工夫しても、 最小限のリソース消費で最大の正確さと信頼性を得る 洗練されたアルゴリズムを用いる NTP デーモンの代わりにはならないことに 注意することが重要です。 最後に、 .Nm は .Xr ntpd 8 がするようなホストのクロック周波数の学習をしないので、 .Nm を用いることによる正確さは限定されます。 .Pp .Nm は 2 つの方法のうちの 1 つで時刻の調整を行います。 .Nm は、時計が 0.5 秒以上ずれていると判断すると、システムの .Xr settimeofday 2 ルーチンを呼ぶことで単に時刻を合わせ直します。 しかし、 誤差が 0.5 秒以内のときは、システムの .Xr adjtime 2 ルーチンを呼ぶことで、時刻を微調整します。 後者のテクニックは、誤差が小さいときには、より滑らかな上に正確であり、 .Nm を .Xr cron 8 で 1 〜 2 時間に一回動かすときには、かなりうまく働きます。 .Pp .Nm ユーティリティは同じホストで NTP サーバデーモン (例えば .Xr ntpd 8 ) が動いている場合は、日付の設定を拒否します。 デーモンを実行する代わりに .Xr cron 8 から定期的に .Nm を呼び出す場合は、 1 〜 2 時間に一回行なうと時計のずれを抑止するのに十分な 正確な時刻を保持できます。 .Pp .Nm が NetInfo サポートを含む形でコンパイルされていた場合、 .Nm が .Xr ntpd 8 用の NetInfo の設定から時刻サーバを見つけられる場合は .Ic server 引数はオプションとなります。 .Sh 関連ファイル .Bl -tag -width /etc/ntp.keys -compact .It Pa /etc/ntp.keys .Nm で使われる暗号化鍵を含みます。 .El .Sh 関連項目 .Xr ntpd 8 .Sh バグ 微調整による調整は、実際には、計測されたずれよりも 50% 大きくなります。 これは、ひどくフラフラする時計をより正確に保持するのに役立つからです (と主張されています)。 このことは良い考えではないかもしれず、カーネル変数 .Va kern.clockrate.tick と .Va kern.clockrate.tickadj の値をおかしくするかもしれません。 diff --git a/ja_JP.eucJP/man/man8/ntpdc.8 b/ja_JP.eucJP/man/man8/ntpdc.8 index ecf24683b6..619c0d440a 100644 --- a/ja_JP.eucJP/man/man8/ntpdc.8 +++ b/ja_JP.eucJP/man/man8/ntpdc.8 @@ -1,621 +1,621 @@ .\" -.\" %FreeBSD: src/usr.sbin/ntp/doc/ntpdc.8,v 1.9 2002/07/14 14:44:40 charnier Exp % +.\" %FreeBSD: src/usr.sbin/ntp/doc/ntpdc.8,v 1.10 2002/11/27 15:25:07 ru Exp % .\" .\" $FreeBSD$ .Dd January 7, 2000 .\" WORD: dotted-quad form ドットで 4 つの部分に区切られた形式 .\" WORD: local clock ローカル時計 .\" WORD: request リクエスト (名詞の場合) .\" WORD: common key 共通鍵 .\" WORD: key identifier 鍵の識別子 .\" WORD: key number 鍵番号 .\" WORD: The following options are available: .\" WORD: 以下のオプションが使用可能です: .\" WORD: falsetick 偽時計 .\" WORD: the precision time kernel modifications are in use .\" WORD: カーネルに高精度な時刻保持のための変更がなされている .\" WORD: discipline 規律 .\" WORD: association .\" WORD: 無理に訳さなかった (ntp.conf.5, ntpq.8 とは不整合) .\" WORD: reference clock 参照クロック .\" WORD: symmetric active 対称的アクティブ .\" WORD: symmetric passive 対称的パッシブ .Dt NTPDC 8 .Os .Sh 名称 .Nm ntpdc .Nd NTP の特別な問い合わせプログラム .Sh 書式 .Nm .Op Fl ilnps .Op Fl c Ar command .Op Ar host ... .Sh 解説 .Nm ユーティリティは .Xr ntpd 8 デーモンの現在の状態について問い合わせたり、状態の変更を要求する際に使 われます。このプログラムは、対話的モードで実行させることも コマンドライン引数を使って制御することもできます。 広範囲にわたる状態や統計の情報が、 .Nm のインタフェースを通じて提供されています。 それに加えて、 .Xr ntpd 8 の設定ファイルを使って起動時に指定できるほとんどすべて の設定オプションが、 .Nm を使って、実行時にも指定できます。 .Pp 以下のオプションが使用可能です: .Bl -tag -width indent .It Fl c Ar command 次の引数が対話的なフォーマットのコマンドとして解釈され、 指定されたホスト (群) 上で実行すべきコマンドのリストに 付け加えられます。 複数の .Fl c オプションを与えることもできます。 .It Fl i .Nm を強制的に対話的モードで動作させます。標準出力にプロンプトが 表示され、標準入力からコマンドが読み込まれます。 .It Fl l サーバ (群) が知っている通信相手 (peer) のリストを取得します。 このスイッチは、 .Ql -c listpeers と同等です。 .It Fl n すべてのホストアドレスを、ドットで 4 つの部分に区切られた数値の形式で出力し、 正規のホスト名に変換しません。 .It Fl p サーバが知っている通信相手のリストと、それらの状態の概要を出力します。 これは、 .Ql -c peers と同等です。 .It Fl s サーバが知っている通信相手のリストと、それらの状態の概要を、 .Fl p スイッチとは少し異なるフォーマットで出力します。 これは .Ql -c dmpeers と同等です。 .El .Pp .Nm が実行されたとき、1 つ以上のリクエストオプションが コマンドラインに含まれる場合は、それぞれのリクエストは、コマンドライン 引数で与えられた各ホスト (デフォルトでは localhost ) で動いている NTP サーバに送られます。 リクエストオプションが与えられなかった場合、 .Nm は、コマンドを標準入力から読み込み、 コマンドラインで指定された最初のホストで動いている NTP サーバに対して実行しようとします。 このときも、 ホストが指定されていないときは、デフォルトで localhost になります。 .Nm ユーティリティは、 標準入力が端末である場合は、プロンプトを出してコマンドを受け付けます。 .Pp .Nm ユーティリティは、NTP サーバとの通信に NTP モード 7 パケットを使うため、 ネットワーク上でそれを許すような互換サーバへの問い合わせに使用できます。 NTP は UDP のプロトコルなので、特にネットワークトポロジ的に 遠くにある場合は、この通信はやや信頼性に欠けるということに注意して ください。 .Nm ユーティリティは、リクエストを再送する試みを行ないません。適当な制限時間の 範囲内でリモートホストから返事がなかったときは、時間切れとなります。 .Pp .Nm の動作は .Xr ntpd 8 の特定の実装に特化しており、このデーモンまたは、古いバージョンのものの いくつかに対してしか動かないでしょう。 リモートの .Nm ユーティリティからのリクエストがローカルサーバの状態を変更する場合は、 そのリクエストが認証される必要があります。その際に、 リモートプログラムとローカルサーバの両方が共通鍵と鍵の識別子を共有する ことが必要です。 .Fl i または .Fl n 以外のコマンドラインオプションを指定すると、指定したホスト (群) に、 指定した問い合わせ (または複数の問い合わせ) を直ちに送ることになります。 指定しなかった場合、 .Nm は標準入力から対話的なフォーマットのコマンドを読み込もうとします。 .Ss 対話的コマンド 対話的なフォーマットのコマンドは、キーワードとそれに続く 0 から 4 個の 引数から構成されます。キーワード全長のうち、他と区別できる文字数が タイプされれば、有効になります。 コマンドの出力は通常標準出力に送られますが、コマンドライン上で .\"kuma 英語版は .Ql \&; であった。訂正要求を send-pr 予定 .Ql \&> に続けてファイル名を指定することで、個々のコマンドの出力を ファイルに送ることができます。 .Pp いくつかの対話的フォーマットのコマンドは、 .Nm ユーティリティ自身の中で全体が実行され、サーバへの NTP モード 7 リクエストは 送られません。この種類のコマンドには以下のものがあります: .Bl -tag -width indent .It Ic \&? Ar command_keyword .It Ic help Ar command_keyword 単独の .Ic \&? は、 .Nm が知っているすべてのコマンドキーワードのリストを出力します。 .Ic \&? の後にコマンドキーワードが続くときは、コマンドの機能と用法を出力します。この コマンドは、 .Xr ntpq 8 に関して、多分このマニュアルよりも良い情報源となるでしょう。 .It Ic delay Ar milliseconds 認証を求めるリクエストに含まれるタイムスタンプに加えられる時間間隔を 指定します。これは、長い遅延のあるネットワーク経路や時計の同期していない マシン間で (信頼できない) サーバの再設定ができるようにするために 使われます。 実際にはもうサーバは認証リクエストにおいてタイムスタンプを要求しませんので、 このコマンドはもはや用いられないかもしれません。 .It Ic host Ar hostname 今後問い合わせを送るホストを指定します。 ホスト名 は、ホストの名前でも数値アドレスでもかまいません。 .It Ic hostnames Op Cm yes | Cm no .Cm yes が指定されると、情報の表示の際、ホスト名が使用されます。 .Cm no が与えられると、代わりに数値アドレスが使用されます。 コマンドラインの .Fl n スイッチによって変えられていなければ、 デフォルトは .Cm yes になります。 .It Ic keyid Ar keyid このコマンドで、認証設定リクエストに使われる鍵番号を指定できます。 この番号は、この目的で使うためにサーバに設定しておいた鍵番号に対応して いなければなりません。 .It Ic quit .Nm を終了します。 .It Ic passwd このコマンドは、認証設定リクエストに使われるパスワードの入力 (画面に表示されません) を求めるプロンプトを出します。 このリクエストが成功するためには、NTP サーバが認証のために使うよう 設定した鍵に、パスワードが対応していなければなりません。 .It Ic timeout Ar milliseconds サーバへの問い合わせに対する応答の制限時間を指定します。デフォルト は、約 8000 ミリ秒です。 .Nm はそれぞれの問い合わせに対して時間切れを待ったあと再試行するため、 合計の待ち時間は設定された制限時間の値の 2 倍になることに注意してください。 .\" XXX retry しないんじゃなかったの? .El .Ss 制御メッセージコマンド 問い合わせコマンドは、情報を要求する NTP モード 7 パケットをサーバに送ります。 これらは、サーバの設定状態を変更しない 読み込み専用 コマンドです。 .Bl -tag -width indent .It Ic listpeers サーバが状態を管理する通信相手の簡略なリストを得て、出力します。 これには、サーバが今後同期する可能性のある候補であるとみなす階層の 通信相手とのアソシエーションを含め、 設定された通信相手とのアソシエーションのすべてを含んでいるはずです。 .It Ic peers サーバが状態を管理する通信相手と、その状態の概要を出力します。 状態の概要は、以下のものを含みます。すなわち、リモートの通信相手のアドレス、 ローカルインタフェースアドレス (ローカルアドレスが決まっていないなら 0.0.0.0)、リモートの通信相手の階層 (階層 16 は、リモートの通信相手が同期し ていない事を示します)、秒で表すポーリング間隔、8 進で表す到達可能性レジスタ、 通信相手の遅れ、オフセット、ばらつきを秒で表した現在の推定値です。 .Pp 左端の文字は、この通信相手エントリが操作しているモードを 示します。 .Ql \&+ は対称的アクティブを、 .Ql \&- は対称的パッシブを表し、 .Ql \&= は、リモートサーバがクライアントモードでポーリングされていることを意味し、 .Ql \&^ は、サーバがこのアドレスにブロードキャストしていることを示し、 .Ql \&~ は、リモートの通信相手がブロードキャストを送っていることを示し、 .Ql \&* は、サーバが現在同期している通信相手であることを示します。 .Pp ホストフィールドの内容は、ホスト名、IP アドレス、 参照クロック実装名とパラメータ、あるいは、 .Fn REFCLK "implementation number" "parameter" の 4 つの形のうち 1 つです。 .Ic hostnames .Cm no の状態では、IP アドレスだけが表示されます。 .It Ic dmpeers 少々異なる通信相手概要リストです。 行の左端の文字以外は .Ic peers と同じ出力になります。 文字は、時計選択アルゴリズムの最後のステージに含まれる通信相手の隣にだけ 現れます。 .Ql \&. は、偽時計検出でこの通信相手が捨てられたことを、 .Ql \&+ は検出により同期対象として適切であると判断されたことを示します。 .Ql \&* は、通信相手であるサーバは現在同期しているサーバであることを示しています。 .It Ic showpeer Ar peer_address ... 1 つ以上の通信相手に対して、現在の通信相手の変数に関する詳細な内容を 表示します。 ほとんどの値に関しては、NTP バージョン 2 仕様書に詳しく述べられています。 .It Ic pstats Ar peer_address ... 指定した通信相手に関連する統計カウンタを通信相手毎に表示します。 .It Ic clockinfo Ar clock_peer_address ... 通信相手の時計に関する情報を得て、それを表示します。得られた値は、 設定上のあいまいな要因の情報と他の時計性能の情報を 提供してくれます。 .It Ic kerninfo カーネルのフェーズロックループ操作パラメータを得て、それを表示します。 この情報は、精度の高い時刻保持機能のために、カーネルが特に 修正されている場合にだけ得られます。 .It Ic loopinfo Op Cm oneline | Cm multiline 選択されたループフィルタ変数の値を表示します。ループフィルタとは、 ローカルシステム時計の調節を行なう NTP の一部です。 .Sq offset は、パケット処理コードによってループフィルタに与えられた最後のオフセットです。 .Sq frequency は、100 万分の 1 (ppm) で表わされるローカル時計の周波数誤差です。 .Sq time_const は、フェーズロックループの 堅固さ (stiffness)、 つまり発振器のゆらぎを調整する速度を制御します。 .Sq watchdog timer の値は、ループフィルタに最後のサンプルのオフセットが与えられてから 経過した秒数です。 .Cm oneline と .Cm multiline オプションはこの情報が 出力されるフォーマットの指定で、 .Cm multiline がデフォルトです。 .It Ic sysinfo システム状態変数、すなわち、ローカルサーバに関するさまざまな状態を 表示します。 最後の 4 行以外は、皆 NTP バージョン 3 仕様である RFC-1305 で 述べられています。 .Pp .Sq system flags は、いろいろなシステムフラグを表示し、一部は .Ic enable 及び .Ic disable 設定コマンドで、それぞれの設定やクリアができます。 それらのフラグは .Cm auth , .Cm bclient , .Cm monitor , .Cm pll , .Cm pps , .Cm stats です。 これらのフラグの意味については、 .Xr ntpd 8 の文書を参照して下さい。 その他に .Cm kernel_pll と .Cm kernel_pps という 読み込み専用のフラグが 2 つあります。 カーネルに高精度な時刻保持のための変更がなされている時に、 これらのフラグは同期状態を示します。 .Sq kernel_pll は kernel がローカル時計を学習されていることを示し、 .Sq kernel_pps は PPS 信号により kernel が学習していることを 示します。 .Pp .Sq stability は、システム周波数の修正がされた後に残る残留周波数誤差で、 保守やデバッグに使われます。 多くのアーキテクチャでは、この値は初期の 500 ppm 程度から、.01 から 0.1 ppm という低い範囲にまで減少します。 もしデーモンが起動後しばらくしてもこの値が高いままである場合は、 ローカルな時計がどこかおかしいか、カーネル変数 .Va kern.clockrate.tick が正しくないかもしれません。 .Pp .\"kuma .Ic -> .Sq, send-pr 提出予定 .Sq broadcastdelay は、 .Sq broadcastdelay 設定コマンドで設定されるデフォルトのブロードキャスト遅延時間を 表示します。 .Pp .Sq authdelay は、 .Ic authdelay 設定コマンドで設定されるデフォルトの認証遅延時間を表示します。 .It Ic sysstats プロトコルモジュールで管理される統計カウンタを表示します。 .It Ic memstats メモリ割り当てコードに関する統計カウンタを表示します。 .It Ic iostats 入出力モジュールで管理される統計カウンタを表示します。 .It Ic timerstats タイマ/イベントキューをサポートするコードで管理される統計カウンタを表示します。 .It Ic reslist サーバの制限リストを得て、表示します。このリストは、 (通常) ソートされた順で出力され、制限がどのように適用されるかを 理解する助けになるかもしれません。 .It Ic monlist Op Ar version モニタ機能により収集、管理されるトラフィックカウントの値を得て、表示します。 通常、バージョン番号は指定する必要がありません。 .\"kuma clock_peer_address に Ar 修飾子付加は send-pr 予定(2001-12-25) .It Ic clkbug Ar clock_peer_address ... 参照クロックドライバのデバッグ情報を得ます。この情報は、 一部の時計ドライバでのみ提供され、 ドライバのソースのコピーが手元に無い場合、ほとんどデコードできません。 .El .Ss 実行時設定リクエスト サーバ内で状態を変更するようなリクエストは、 設定された NTP 鍵を使って、サーバがすべてを認証します (この機能はサーバ側で鍵を設定しないことにより、無効にすることもできます)。 鍵番号とそれに対応する鍵を、 .Nm にも知らせておかねばなりません。 これは、 .Ic keyid と .Ic passwd コマンドを使えば可能で、後者では、暗号化鍵を使うために パスワードを求めるプロンプトを端末に出します。 サーバにより認証されるリクエストを送出するコマンドが最初に与えられた 時点にもまた、自動的に鍵番号とパスワード両方の入力が要求されます。 認証は、リクエスト送出側がそのような変更をする権限を持っているか どうかを検証するだけでなく、送信エラーに対するより一層の保護を 提供することになります。 .Pp 認証されるリクエストは、常にパケットデータの中にタイムスタンプを 含んでいます。これは認証コードの計算に含まれます。 このタイムスタンプは、サーバによって受信時刻と比較されます。 この差がある小さな値より大きければ、そのリクエストは拒否されます。 これには 2 つの理由があります。 1 つ目は、あなたの LAN のトラフィックを盗み聞きできる誰かが、サーバへ 単純な繰り返し攻撃 (replay attack) を行なうことをより困難にします。 2 つ目は、ネットワーク的に 離れたホストから、あなたのサーバへ設定変更リクエストを行なうことを より困難にします。 この再設定機能は、ローカルホストのサーバに対してはうまくいきますし、 同じ LAN 上にある時刻同期したホストでも普通に行なえますが、 より離れたホストでは非常にやりにくくなっています。 したがって、適当なパスワードを選択し、鍵の配布と防護に注意を払い、 適切な送信元アドレス制限が施されれば、実行時再設定の機能については 適切なセキュリティレベルにあることになります。 .Pp 以下のコマンドは皆、認証を必要とするリクエストです。 .Bl -tag -width indent .It Xo Ic addpeer Ar peer_address .Op Ar keyid .Op Ar version .Op Cm prefer .Xc 与えられたアドレスにある通信相手アソシエーションを設定に追加し、 そのアソシエーションを対称的アクティブモードで動作させます。 その通信相手とすでにアソシエーションが存在している場合、 そのアソシエーションは このコマンドが実行されたときに削除 されるか、単に新しい設定に従うよう適当に変更されることに注意してください。 オプションの .Ar keyid が 0 でない整数の場合、リモートサーバに 出ていくすべてのパケットは、この鍵により暗号化された 認証フィールドを付加されることになります。値が 0 の場合 (または指定されなかった場合)、認証は行なわれません。 .Ar version は、1, 2, 3 のどれでもよく、デフォルトでは 3 になります。 .Cm prefer キーワードは、優先する通信相手を示します (その結果、可能であれば主要な時計同期元として使用されます)。 優先する通信相手は、 PPS 信号の信頼性も決めます。優先する通信相手が同期に 適している場合、PPS 信号も同期に適していると判断されます。 .It Xo Ic addserver Ar peer_address .Op Ar keyid .Op Ar version .Op Cm prefer .Xc 操作モードがクライアントであること以外は、 addpeer コマンドと同等です。 .It Xo Ic broadcast .Ar peer_address .Op Ar keyid .Op Ar version .Op Cm prefer .Xc 操作モードがブロードキャストであること以外は、 .Ic addpeer コマンドと同等です。この場合、正当な鍵の識別子と鍵が必要になります。 .Ar peer_address パラメータは、ローカルネットワークのブロードキャストアドレスか、または NTP に割り当てられたマルチキャストグループアドレスにできます。 マルチキャストアドレスの場合、マルチキャストに対応したカーネルが 必要になります。 .It Ic unconfig Ar peer_address ... このコマンドは、指定した通信相手 (群) から設定済みを表すビットを除去します。 多くの場合、これによってその通信相手とのアソシエーションが 削除されることになります。 しかしながら、リモートの通信相手が未設定状態の継続を希望し、 それが適切である場合は、アソシエーションは未設定モードのまま 残る場合もあります。 .It Xo Ic fudge Ar peer_address .Op Cm time1 .Op Cm time2 .Op Ar stratum .Op Ar refid .Xc このコマンドは、あるデータを参照クロックとしてセットできるようにします。 詳細な情報は、ソースリストを参照してください。 .\"kuma 以下2つに Ic を追加、これも send-pr 予定(2001-12-25) .It Ic enable Ar flag ... .It Ic disable Ar flag ... これらのコマンドは .Xr ntpd 8 の設定ファイルにおける .Ic enable や .Ic disable と同じ方法で操作します。 以下はフラグの説明です。 .Cm auth , .Cm bclient , .Cm monitor , .Cm pll , .Cm pps , .Cm stats フラグのみが .Nm で設定でき、 .Cm pll_kernel , .Cm pps_kernel フラグは読み込み専用であることに 注意してください。 .Bl -tag -width indent .It Cm auth 通信相手が信頼できる鍵と 鍵の識別子を使って正しく認証されたときだけ、未設定の 通信相手にサーバを同期させるようにします。 デフォルトでは有効になっています。 .It Cm bclient デフォルトアドレス付きの .Ic mutlicastclient コマンドの場合と同様に、 ブロードキャストサーバやマルチキャストサーバからのメッセージを 聞く (listen) ようにします。 デフォルトでは無効になっています。 .It Cm monitor モニタ機能を有効にします。詳細な情報については、 .Ic monlist コマンドを参照して下さい。 デフォルトでは有効になっています。 .It Cm pll サーバが NTP を使ってローカル時計を合わせるようにします。 無効の場合は、ローカル時計は 内部の時間および周波数オフセットによって勝手に動作することになります。 このフラグは、ローカル時計が他のデバイスやプロトコルにより制御されていて、 NTP は他のクライアントが同期するためだけに使われるような場合に便利です。 この場合、ローカル時計ドライバが使用されます。 より詳細な情報は .Qq "参照クロックドライバ" のページを参照してください (より詳細な情報については、 .Pa /usr/share/doc/ntp ページにある HTML 文書の一部が利用可能です)。 デフォルトでは有効になっています。 .It Cm pps 高精度な時刻保持のための変更がなされたカーネルにより、 周波数と時刻が学習されている場合に、 1 秒ごとのパルス信号 (PPS) を有効にします。 より詳細な情報は .Qq "高精度な時刻保持のためのカーネルモデル" のページを参照してください。 デフォルトでは無効になっています。 .It Cm stats 統計機能を有効にします。 より詳細な情報は .Xr ntp.conf 5 マニュアルページの .Sx 監視機能のサポート 節を参照してください。 デフォルトでは有効になっています。 .It Cm pll_kernel 高精度な時刻保持のための変更がカーネルになされている場合、 カーネルが時計の学習を制御していることを示します。 そうでない場合はデーモンが時計の学習を制御しています。 .It Cm pps_kernel 高精度な時刻保持のための変更がカーネルになされており、 また1 秒ごとのパルス信号 (PPS) が存在している場合、 PPS 信号が時計の学習を制御していることを示します。 そうでない場合は .Cm pll_kernel フラグの示すとおり、 デーモンまたはカーネルが時計の学習を制御しています。 .El .It Xo Ic restrict Ar address Ar mask .Ar flag ... .Xc このコマンドは .Xr ntpd 8 の .Ic restrict 設定ファイルコマンドと同様に動作します。 .It Xo Ic unrestrict Ar address Ar mask .Ar flag ... .Xc 制限リストにおいて、マッチしたエントリの制限を解除します。 .It Xo Ic delrestrict Ar address Ar mask .Op Cm ntpport .Xc 制限リストから一致するエントリを削除します。 .It Ic readkeys 現在の認証鍵のセットを一掃し、鍵ファイル (これは .Xr ntpd 8 設定ファイルの中で指定されていなければなりません) の 再読み込みを行なって新しいセットにします。 こうすることで、サーバを再スタートさせずに暗号化鍵の変更ができます。 .It Ic trustedkey Ar keyid ... .It Ic untrustedkey Ar keyid ... これらのコマンドは .Xr ntpd 8 の .Ic trustedkey 設定ファイルコマンドや .Ic untrustedkey 設定ファイルコマンドと同様に動作します。 .It Ic authinfo 既知の鍵や実行した暗号化、復号化の数を含む、認証モジュールに関する 情報を返します。 .It Ic traps サーバに設定されているトラップを表示します。 詳細はソースリストを参照してください。 .It Xo Ic addtrap Ar address .Op Ar port .Op Ar interface .Xc 非同期メッセージに対するトラップをセットします。 詳細はソースリストを参照してください。 .It Xo Ic clrtrap Ar address .Op Ar port .Op Ar interface .Xc 非同期メッセージに対するトラップを解除します。 詳細はソースリストを参照してください。 .It Ic reset サーバのいろいろなモジュールのなかの統計カウンタをクリアします。 詳細はソースリストを参照してください。 .El .Sh 関連項目 .Xr ntp.conf 5 , .Xr ntpd 8 .Rs .%A David L. Mills .%T Network Time Protocol (Version 3) .%O RFC1305 .Re .Sh バグ .Nm ユーティリティは、未完成のハックです。 表示される情報の多くは死ぬほど退屈で、実装した 人間だけに気に入られるものです。このプログラムは、新しい (そして一時的な) 仕様を追加しやすいようデザインされており、使いやすくするしようとすると 無茶苦茶手間が かかります。それでも、このプログラムは、場合によっては有用です。 diff --git a/ja_JP.eucJP/man/man8/ntpq.8 b/ja_JP.eucJP/man/man8/ntpq.8 index 4e5a0f942b..2c11138448 100644 --- a/ja_JP.eucJP/man/man8/ntpq.8 +++ b/ja_JP.eucJP/man/man8/ntpq.8 @@ -1,706 +1,706 @@ .\" -.\" %FreeBSD: src/usr.sbin/ntp/doc/ntpq.8,v 1.12 2002/07/14 14:44:40 charnier Exp % +.\" %FreeBSD: src/usr.sbin/ntp/doc/ntpq.8,v 1.13 2002/11/27 15:25:07 ru Exp % .\" .\" $FreeBSD$ .\" 対訳覚え書き (seki@sysrap.cs.fujitsu.co.jp 作成) .\" WORD: dotted-quad form ドットで 4 つの部分に区切られた形式 .\" WORD: association アソシエーション[NTP] .\" WORD: association identifier アソシエーション識別子[NTP] .\" WORD: key identifier 鍵の識別子 .\" WORD: key number 鍵番号 .\" WORD: authentication 認証 .\" WORD: clock 時計 .\" WORD: reference clock 参照クロック .\" WORD: falsetick 偽時計 .\" WORD: dispersion ばらつき .\" WORD: fuzzball fuzzball (固有名詞; ntpd ベースでない NTP サーバ) .\" WORD: offset ずれ .\" WORD: poll ポーリングする .\" WORD: query 問い合わせ .\" WORD: status word 状態ワード .\" WORD: time out (名詞) 制限時間 .\" WORD: time out (動詞) 時間切れ .\" WORD: intersection algorithm 交差アルゴリズム .\" .Dd January 7, 2000 .Dt NTPQ 8 .Os .Sh 名称 .Nm ntpq .Nd NTP の標準問い合わせプログラム .Sh 書式 .Nm .Op Fl inp .Op Fl c Ar command .Op Ar host ... .Sh 解説 .Nm ユーティリティは、 推奨されている NTP モード 6 制御メッセージフォーマットを実装する NTP サーバに、 現在の状態について問い合わせを行なったり、 状態の変更を要求するために使います。 このプログラムは、対話的モードでもコマンドライン引数を 使った制御でも動作させることができます。 任意の変数を読み書きするリクエストを組み立てることができ、 生のまま、または綺麗に整形して出力するオプションがあります。 .Nm ユーティリティは、サーバに複数の問い合わせを送ることで 通信相手 (peer) のリストを得て、共通なフォーマットで出力することができます。 .Pp .Nm が実行されたとき、1 つ以上のリクエストオプションが、 コマンドラインに含まれる場合は、それぞれのリクエストは、コマンドライン 引数で与えられた各ホスト、またはデフォルトである localhost で動いている NTP サーバに送られます。 リクエストオプションが与えられなかった場合、 .Nm は、コマンドを標準入力から読み込み、 コマンドラインで指定された最初のホストで動いている NTP サーバに対して実行しようとします。 このときも、 ホストが指定されていないときは、デフォルトで localhost になります。 .Nm ユーティリティは標準入力が端末である場合は、 プロンプトを出してコマンドを受け付けます。 .Pp .Nm ユーティリティは NTP サーバとの通信に、NTP モード 6 パケットを使うため、 ネットワーク上でそれを許すような互換サーバへの問い合わせに使用できます。 NTP は UDP のプロトコルなので、特にネットワークトポロジ的に 遠くにある場合は、この通信はやや信頼性に欠けるということに注意して ください。 .Nm ユーティリティは、リクエストを再送する試みを一度行ない、 適当な制限時間の範囲内でリモートホストから返事がなかったときは、 そのリクエストは時間切れとなります。 .Pp 例と使用法については、 .Qq "NTP デバッグ技術" のページを参照してください ( .Pa /usr/share/doc/ntp に提供される HTML 文書の一部が利用可能です)。 .Pp 以下のオプションが使用可能です: .Bl -tag -width indent .\"X kuma 引数 Ar command が必要なはず。send-pr 予定(2001-12-25) .It Fl c Ar command 後に続く引数は、対話的なフォーマットのコマンドとして解釈され、 指定されたホスト (群) に対して実行すべきコマンドのリストに 付け加えられます。 複数の .Fl c オプションを与えることもできます。 .It Fl i .Nm を強制的に対話的モードで動作させます。標準出力にプロンプトが 表示され、標準入力からコマンドが読み込まれます。 .It Fl n すべてのホストアドレスを、ドットで 4 つの部分に区切られた数値の形式で出力し、 正規のホスト名に変換しません。 .It Fl p サーバに既知な通信相手のリストと、それらの状態の概要を出力します。 これは、対話コマンド .Ic peers と同等です。 .El .Pp .Fl i または .Fl n 以外のコマンド行オプションを指定することにより、指定されたホストに 指定された問い合わせ (群) が直ちに送信されます。それ以外の場合、 .Nm は標準入力から対話的フォーマットコマンドを読み込もうとします。 .Ss 内部コマンド 対話的なフォーマットのコマンドは、キーワードとそれに続く 0 から 4 個の 引数から構成されます。キーワード全長のうち、他と区別できる文字数が タイプされれば、有効になります。 コマンドの出力は通常標準出力に送られますが、コマンドライン上で .\"X kuma コマンドリダイレクトは '>' のはず。send-pr 予定(2001-12-25) .Ql \&> に続けてファイル名を指定することで、個々のコマンドの出力を ファイルに送ることができます。 いくつかの対話的フォーマットのコマンドは、 .Nm ユーティリティ自身の中で全体が実行され、サーバへの NTP モード 6 リクエストは 送られません。この種類のコマンドには以下のものがあります。 .Bl -tag -width indent .It Ic \&? Op Ar command_keyword .It Ic help Op Ar command_keyword 単独の .Ic \&? は、 .Nm が知っているすべてのコマンドキーワードのリストを出力します。 .Ic \&? の後にコマンドキーワードが続くときは、コマンドの機能と用法を出力します。この コマンドは、 .Nm に関して、多分このマニュアルよりも良い情報源となるでしょう。 .It Xo Ic addvars .Ar variable_name Ns Op = Ns Ar value ... .Xc .It Ic rmvars Ar variable_name ... .It Ic clearvars NTP モード 6 メッセージが運ぶデータは、次の形の 項目のリストから成ります。 .Ql variable_name=value ここで、サーバの変数を読み取るリクエストでは、この .Ql =value は無視されるので、省略することができます。 .Nm ユーティリティは、 制御メッセージに含まれるデータを組み立てるための内部リストを保持しており、 以下に述べる .Ic readlist や .Ic writelist コマンドを使って送ります。 .Ic addvars コマンドで、このリストに、変数と省略可能な値を追加することができます。 1 つより多くの変数を追加するときには、リストはコンマで区切り、 空白を含んではいけません。 .Ic rmvars コマンドは、個々の変数をリストから削除するために用い、 .Ic clearlist コマンドは、リストからすべての変数を削除します。 .It Ic authenticate Cm yes | Cm no 通常、 .Nm は、 書き込みリクエストでない限りリクエストを認証しません。 コマンド .Ql authenticate yes は、 .Nm が生成するすべてのリクエストに認証をつけて送るようにします。 認証されたリクエストの扱いはサーバによって少し異なります。 もしも .Ic 通信相手 の表示を行う前に認証をオンにすると、 fuzzball の CPU を溶かしてしまうことがあるかもしれません。 .It Ic cooked 問い合わせコマンドからの出力を、「加工済み (cooked)」 形式にします。その結果、 .Nm が認識した変数については、人間に使える形に再整形されます。 .Nm が、その変数は本来デコードできる値を持っていると判断したのに、 デコードされていないものには、その後に .Ql \&? が付けられます。 .It Xo Ic debug .Cm more | .Cm less | .Cm off .Xc 内部の問い合わせプログラムのデバッグをオンまたはオフにします。 .It Ic delay Ar milliseconds 認証を求めるリクエストに含まれるタイムスタンプに加えられる時間間隔を 指定します。これは、長い遅延のあるネットワーク経路や時計の同期していない マシン間で (信頼できない) サーバの再設定ができるようにするために 使われます。 実際にはもうサーバは認証リクエストにおいてタイムスタンプを要求しませんので、 このコマンドは今後廃止されるかもしれません。 .It Ic host Ar hostname 今後問い合わせを送るホストを指定します。 hostname は、ホスト名でも数値アドレスでもかまいません。 .It Ic hostnames Cm yes | Cm no .Cm yes が指定されると、情報の表示の際、ホスト名が使用されます。 .Cm no が与えられると、代わりに数値アドレスが使用されます。 コマンド行の .Fl n スイッチによって変えられていなければ、 デフォルトは .Cm yes になります。 .It Ic keyid Ar keyid このコマンドで、認証設定リクエストに使われる鍵番号を指定できます。 この番号は、サーバが認証のために使うよう設定した鍵番号に対応して いなければなりません。 .It Xo Ic ntpversion .Cm 1 | .Cm 2 | .Cm 3 | .Cm 4 .Xc .Nm がパケットの中で自称する NTP のバージョン番号をセットします。 デフォルトでは 3 になります。 モード 6 制御メッセージ (詳しく言うとモードも) は、 NTP バージョン 1 には存在しなかったことに注意してください。 バージョン 1 を必要とするサーバは残っていないようですが。 .It Ic quit .Nm を終了します。 .It Ic passwd このコマンドは、認証設定リクエストに使われるパスワードの入力 (画面に表示されません) を求めるプロンプトを出します。 このリクエストが成功するためには、NTP サーバが認証のために使うよう 設定した鍵に、パスワードが対応していなければなりません。 .It Ic raw 問い合わせコマンドに対するすべての出力を、リモートサーバから受け取った 通りに出力します。 データに対して行なわれる唯一の整形と解釈は、印字可能 (しかしめったに理解できない) 形式になるように、ASCII 文字でないデータを 変換することだけです。 .It Ic timeout Ar milliseconds サーバへの問い合わせに対する応答の制限時間を指定します。デフォルト は、約 5000 ミリ秒です。 .Nm はそれぞれの問い合わせに対して時間切れを待ったあと再試行するため、 合計の待ち時間は設定された制限時間の値の 2 倍になることに注意してください。 .El .Ss 制御メッセージコマンド ある NTP サーバが知っている各通信相手には、 アソシエーション識別子 (association identifier) という 16 ビット整数が割り当てられています。 通信相手変数 (peer variable) を使う NTP 制御メッセージは、 アソシエーション識別子を含めることによって、 その値が対応する通信相手を識別しなければなりません。 0 というアソシエーション識別子は特別で、 その変数がシステム変数であることを表します。 システム変数の名前は、独立した名前空間から取りだされます。 .Pp 制御メッセージコマンドは、 サーバに 1 つ以上の NTP モード 6 メッセージを送り、 戻ってきたデータを何らかの書式で出力します。 現在実装されているほとんどのコマンドは、 1 つのメッセージを送って、1 つの応答を受け取ります。 今のところ例外は、必要なデータを得るためにあらかじめプログラムされた一連の メッセージを送る peers コマンドと、 ある範囲のアソシエーションそれぞれに対し処理を繰り返す mreadlist と mreadvar コマンドです。 .Bl -tag -width indent .It Ic associations 問い合わせ対象のサーバの規格内 (in-spec) の通信相手についての、 アソシエーション識別子と通信相手の状態の一覧を得て出力します。 一覧は複数の欄から成っています。 最初の欄は、内部使用のために 1 から振ったアソシエーションの索引番号 (index)、 2 番目はサーバから返って来た実際のアソシエーション識別子、 3 番目は通信相手の状態ワードです。 その後に、状態ワードをデコードしたデータを含む欄がいくつか続きます。 .Sq condition フィールドのデコードについては、 peers コマンドを参照してください。 .Ic associations コマンドによって返されたデータは .\"X kuma .Xr ntpq 8 よりも .Nm の方が適切ではないか? .Nm の内部でキャッシュされるということに注意してください。 このため、索引番号は、 人間にはほとんど打ち込むことができないアソシエーション識別子を使う 愚かなサーバを相手にするときに役立ちます。 すなわち、 それ以降の任意のコマンドが引数としてアソシエーション識別子を 必要とするときに、 代わりに 索引番号の形式を使うことができます。 .It Xo Ic clockvar Op Ar assocID .Oo .Ar variable_name Ns Op = Ns Ar value ... .Oc .Ar ... .Xc .It Xo Ic cv Op Ar assocID .Oo .Ar variable_name Ns Op = Ns Ar value ... .Oc .Ar ... .Xc サーバの時計変数 (clock variable) の一覧を送るように要求します。 ラジオ時計や他の外部同期機構を持っているサーバは、 このコマンドに肯定的に応答します。 アソシエーション識別子が省略されるか 0 だと、 リクエストは .Sq システム時計 の変数に対するものとなり、 一般に、時計を持つすべてのサーバから肯定的な応答が得られるでしょう。 サーバが時計を擬似的な通信相手として扱い、 結果として一度に 2 つ以上の時計を接続することができるようになっていれば、 適切な通信相手のアソシエーション識別子を参照すれば 特定の時計の変数が表示されます。 変数のリストを省略すると、サーバはデフォルトの変数の表示を 返すことになります。 .\" assocation -> association (send-pr docs/17501) .It Ic lassociations サーバが状態を保持しているすべてのアソシエーションについて、 アソシエーション識別子と通信相手の状態の一覧を得て、出力します。 このコマンドと .Ic associations コマンドは、 規格外 (out-of-spec) のクライアントのアソシエーション の状態を保持するサーバ (つまり fuzzball) の場合にだけ異なります。 .Ic associations コマンドが使われたとき、通常そういうアソシエーションは 表示から省略されますが、 .Ic lassociations の出力には含まれます。 .It Ic lpassociations 規格外 (out-of-spec) のクライアントとのアソシエーションを含む 全てのアソシエーションに関するデータを、 内部にキャッシュされたアソシエーションの一覧から出力します。 このコマンドは、fuzzball を扱う場合だけ、 .Ic passociations と異なります。 .It Ic lpeers .\"X kuma ここも R peers でなく、.Ic peers の方が正しいはず。 .Ic peers と似ていますが、 サーバが状態を保持しているすべてのアソシエーションの概要を出力します。 これは fuzzball サーバの、より長い通信相手のリストを生成することがあります。 .It Ic mreadlist Ar assocID Ar assocID .It Ic mrl Ar assocID Ar assocID .Ic readlist コマンドと似ていますが、 問い合わせを (0 でない) アソシエーション識別子の範囲のそれぞれに 行ないます。 ここで言う範囲は、直前に実行された .Ic associations コマンドでキャッシュされたアソシエーションの一覧から決められます。 .It Xo Ic mreadvar Ar assocID Ar assocID .Oo .Ar variable_name Ns Op = Ns Ar value ... .Oc .Xc .It Xo Ic mrv Ar assocID Ar assocID .Oo .Ar variable_name Ns Op = Ns Ar value ... .Oc .Xc .Ic readvar コマンドと似ていますが、 問い合わせを (0でない) アソシエーション識別子の範囲のそれぞれに 行ないます。 ここで言う範囲は、直前に実行された .Ic associations コマンドでキャッシュされたアソシエーションの一覧から決められます。 .It Ic opeers 古い形式の .Ic peers コマンドで、 参照 ID の代わりにローカルのインタフェースアドレスを使用します。 .It Ic passociations 内部でキャッシュされたアソシエーションの一覧から、 規格内 (in-spec) の通信相手に関する アソシエーションのデータを出力します。 このコマンドは、新しい問い合わせをするのではなく 内部に蓄えられたデータを表示するということを除けば、 .Ic associations と同じに働きます。 .It Ic peers サーバの現在の通信相手の一覧を、各通信相手の状態の概要と共に得ます。 概要の情報には、リモートの通信相手のアドレス、 参照 ID (不明のときは 0.0.0.0)、 リモートの通信相手の階層 (stratum)、 通信相手の種類 (ローカル、ユニキャスト、マルチキャスト、ブロードキャストのいずれか)、 最後のパケットを受信した時間、 秒単位のポーリング間隔、 8 進数表記の到達可能性レジスタ、 そして、その通信相手の 現在の遅れ、オフセット、ばらつきをミリ秒単位で表した推定値を含んでいます。 左端の文字は、時計選択処理におけるこの通信相手の運命を示します。 以下はこれらの文字のリストと、 .Ic rv .\" pidgeon ← pidgin ? もともと誤用なので辞書に載ってない綴でもいいことに .\" する コマンドで使用される片言の英語、および 状態を示す短い説明文です。 .Bl -tag -width indent .It 空白 .Pq reject 通信相手は到達できないか、このサーバに同期しているか (同期ループ)、あるいは 無茶な同期距離のために捨てられました。 .It x .Pq falsetick 通信相手は交差アルゴリスムにより偽時計として捨てられました。 .It \&. .Pq excess 通信相手は同期距離によって並べ換えられたなかで、 最初の 10 個に入らなかったため捨てられました。 このためこれ以上検討するには不十分な候補です。 .It \&- .Pq outlyer 通信相手はクラスタリングアルゴリズムにより遠くにあるものとして捨てられました。 .It \&+ .Pq candidate 通信相手は生き残り、結合アルゴリズムへの候補となりました。 .It \&# .Pq selected 通信相手は生き残りましたが、 同期距離によって並べ換えられたなかで最初の 6 個に入りませんでした。 アソシエーションが短命だった場合、 リソースを節約するために解散させられるかもしれません。 .\" assocation -> association (send-pr docs/17501) .It \&* .Pq peer 通信相手はシステム通信相手として宣言されており、 その変数をシステム変数に与えています。 .It o .Pq (pps.peer) 通信相手はシステム通信相手として宣言されており、 その変数をシステム変数に与えています。 しかし、システムの実際の同期は 1 秒ごとのパルス (PPS) 参照クロックドライバより間接的に、 あるいはカーネルインタフェースより直接、 PPS 信号で得ています。 .El .El .Pp .Va flash 変数はデバッグを支援する貴重なものです。 NTP 仕様 RFC-1305 と NTP Version 4 で追加された仕様が 定義する本来の正常性チェックの結果を表示します。 .Sy TEST1 から .Sy TEST11 まで 11 個のテストが定義されています。 偶然の誤りからも故意の誤りからも自分を守りながら、 診断情報が最大限得られるある順序で、テストは実行されます。 .Va flash 変数は最初に 0 に初期化されます。テストのセット 1 つを終えたあと、 1 つまたは複数のビットが設定されると、そのパケットを破棄します。 .Pp テスト .Sy TEST4 と .Sy TEST5 はアクセス権限と暗号化メッセージダイジェストをチェックします。 このテストのあとどれかのビットが設定されると、そのパケットを 破棄します。 テスト .Sy TEST10 と .Sy TEST11 は .Xr ntp.conf 5 のセクション .Sx 認証オプション で説明されている、 Autokey 公開鍵暗号化を使った認証確認状態をチェックします。 どれかのビットが設定され、アソシエーションが事前に到達可能との 印が付けられていると、そのパケットを破棄します。それ以外の場合、 NTP プロトコルが要求する通り、 送信元のタイムスタンプと受信側のタイムスタンプを保存し、 処理を続けます。 .Pp テスト .Sy TEST1 から .Sy TEST3 までは、オフセットと遅延を計算するパケットのタイムスタンプを チェックします。 どれかのビットが設定されると、そのパケットを破棄します。それ以外の 場合、パケットヘッダ変数を保存します。 テスト .Sy TEST6 から .Sy TEST8 までは、サーバの健全性をチェックします。 どれかのビットがセットされると、そのパケットを破棄します。 それ以外の場合、サーバに対するオフセットと遅延を計算し、 保存します。 テスト .Sy TEST9 は、アソシエーションそのものの健全性をチェックします。 どれかのビットが設定されると、そのパケットを破棄します。それ以外の 場合、保存されている変数を時計フィルタと緩和アルゴリズムに 回します。 .Pp 各テストに対する .Va flash のビットは、最下位ビットから昇順で次のように定義されます。 .Bl -tag -width indent .It Sy TEST1 パケットが重複しています。 このパケットは、ひいき目で見ても偶然の再送によるものですし、 最悪の場合は、悪意を持って再送信されたものです。 .It Sy TEST2 間違ったパケットです。 以前に送ったメッセージに対する返答ではありません。 NTP デーモンが再起動されていて、通信相手以外の誰かが 気付く前だったときに起こります。 .It Sy TEST3 同期していません。 1 つ以上のタイムスタンプ・フィールドが不正です。 通常、通信相手からの最初のパケットを受信したときに起こります。 .It Sy TEST4 アクセスが拒否されました。 .Qq アクセス制御 のページを参照してください。 .It Sy TEST5 暗号化認証に失敗しました。 .Xr ntp.conf 5 マニュアルページの .Sx 認証機能オプション 節を参照してください。 .It Sy TEST6 サーバが同期していません。 サーバの時計のネジを先に巻いてください。 .It Sy TEST7 サーバの階層が最大で 15 より大きいです。 サーバはおそらく同期しておらず、サーバの時計のネジを 巻く必要があるでしょう。 .It Sy TEST8 root の遅延または root のばらつきが 1 秒よりも長いです。 通信相手が火星と同期していない限り、こういうことが起きそうには ないのですが。 .It Sy TEST9 通信相手の遅延または通信相手のばらつきが 1 秒よりも長いです。 通信相手が火星上にでもない限り、こういうことが起きそうには ないのですが。 .It Sy TEST10 autokey プロトコルが認証失敗を検出しました。 .Xr ntp.conf 5 マニュアルページの .Sx 認証オプション 節を参照してください。 .It Sy TEST11 サーバまたは通信相手の認証が大丈夫か、 正当な公開鍵証明書を保持しているかを、 autokey プロトコルが確認していません。 .Xr ntp.conf 5 マニュアルページの .Sx 認証オプション 節を参照してください。 .El .Pp NTP バージョン 4 の Autokey サポートで使用されるシステム変数の追加は 以下のものが含まれます。 .Bl -tag -width indent .It Ic certificate Ar filestamp 証明ファイルが生成された時の NTP 秒を示します。 .It Ic hostname Ar host Unix の .Xr gethostname 3 ライブラリ関数が返すホスト名を示します。 .It Ic flags Ar hex 現在のフラグビットを示します。ここで .Ar hex ビットは次に示すように解釈されます。 .Bl -tag -width indent .It 0x01 autokey が有効です。 .It 0x02 RSA 公開鍵/暗号鍵ファイルが存在します。 .It 0x04 PKI 確認ファイルが存在します。 .It 0x08 Deffie-Hellman のパラメータファイルが存在します。 .It 0x10 NIST 閏秒表ファイルが存在します。 .El .It Ic leapseconds Ar filestamp NIST 閏秒表ファイルが作成されたときの NTP 秒を表示します。 .It Ic params Ar filestamp Diffie-Hellman の協定パラメータファイルが生成されたときの NTP 秒を表示します。 .It Ic publickey Ar filestamp RSA 公開鍵/秘密鍵ファイルが生成されたときの NTP 秒を表示します。 .It Ic refresh Ar filestamp 公開暗号値が更新、署名されたときの NTP 秒を表示します。 .It Ic tay Ar offset NIST 閏秒表を入手したときの TAI-UTC オフセットを秒単位で表示します。 .El .Pp さらに、NTP バージョン 4 Autokey サポートで使用される 通信相手変数の追加には以下のものが含まれます。 .Bl -tag -width indent .It Ic certificate Ar filestamp 認証証明ファイルが生成されたときのNTP 秒を表示します。 .It Ic flags Ar hex 現在のフラグビットを表示します。ここで、 .Ar hex ビットは同名のシステム変数と同様に解釈します。 これらのビットはサーバから受信した最初の autokey メッセージの 中に設定され、次いで、サーバからそれに関連したデータを受信、 格納した際にリセットされます。 .It Ic hcookie Ar hex 鍵協定アルゴリズムで用いられるホストクッキーを表示します。 .It Ic initkey Ar key autokey プロトコルの鍵リスト生成器により使用される鍵の初期値を 表示します。 .It Ic initsequence Ar index autokey プロトコルの鍵リスト生成器により使用されるインデックスの 初期値を表示します。 .It Ic pcookie Ar hex 鍵リスト生成器により使用される通信相手のクッキーを指定します。 .It Ic timestamp Ar time 最新の autokey 鍵リストが生成され署名されたときの NTP 秒を表示します。 .It Ic pstatus Ar assocID 与えられたアソシエーションに対応するサーバに対し、 状態読み取りリクエストを送ります。 返された通信相手変数の名前と値を出力します。 変数の前に、ヘッダから得た状態ワードが 16 進数と片言の英語で 表示されることに注意してください。 .It Ic readlist Ar assocID .It Ic rl Ar assocID 内部変数リストの中の変数の値を返すようにサーバに要求します。 アソシエーション識別子が省略されるか 0 の場合、 変数はシステム変数であるとみなされます。 そうでなければ、 通信相手変数として扱われます。 内部変数リストが空の場合は、 リクエストはデータ無しで送られ、 リモートサーバはデフォルトの表示を返します。 .It Xo Ic readvar Ar assocID .Ar variable_name Ns Op = Ns Ar value .Ar ... .Xc .It Xo Ic rv Ar assocID .Ar variable_name Ns Op = Ns Ar value .Ar ... .Xc 変数読み取りリクエストを送ることで、 指定した変数の値を返すようにサーバに要求します。 アソシエーション識別子を省略するか 0 を指定した場合、 変数はシステム変数です。 そうでなければ通信相手変数であり、 返される値は対応する通信相手のものとなります。 変数のリストを省略すると、データ無しのリクエストを送り、 サーバはデフォルトの表示を返します。 .It Xo Ic writevar Ar assocID .Ar variable_name Ns Op = Ns Ar value .Ar ... .Xc readvar リクエストと似ていますが、 指定した変数を読み取る代わりに書き込みます。 .It Ic writelist Op Ar assocID readlist リクエストと似ていますが、 内部のリストの変数を読み取る代わりに書き込みます。 .El .Sh 関連項目 .Xr ntp.conf 5 , .Xr ntpd 8 , .Xr ntpdc 8 .Sh バグ .Ic peers コマンドは不可分 (atomic) ではないため、 不正なアソシエーションという誤ったエラーメッセージが発生し コマンドが終了することがあります。 時間切れまでの時間は固定された定数です。 これは、ある種の最悪の場合を考えてあるため、 時間切れになるまで長時間待たされることになります。 このプログラムは、 特定のホストへ何回も問い合わせを送る間に 制限時間の見積もりを改善すべきですが、 実際には行なっていません。 diff --git a/ja_JP.eucJP/man/man8/pam_radius.8 b/ja_JP.eucJP/man/man8/pam_radius.8 index 19a465aa02..a5db3fe275 100644 --- a/ja_JP.eucJP/man/man8/pam_radius.8 +++ b/ja_JP.eucJP/man/man8/pam_radius.8 @@ -1,134 +1,134 @@ .\" Copyright (c) 1999 .\" Andrzej Bialecki . All rights reserved. .\" .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" Jan-Simon Pendry. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libpam/modules/pam_radius/pam_radius.8,v 1.12 2002/10/28 10:28:46 des Exp % +.\" %FreeBSD: src/lib/libpam/modules/pam_radius/pam_radius.8,v 1.13 2002/11/29 15:57:50 ru Exp % .\" $FreeBSD$ .\" .Dd October 28, 2002 .Dt PAM_RADIUS 8 .Os .Sh 名称 .Nm pam_radius .Nd RADIUS 認証 PAM モジュール .Sh 書式 .Op Ar service-name .Ar module-type .Ar control-flag .Pa pam_radius .Op Ar options .Sh 解説 .Nm モジュールは RADIUS (Remote Authentication Dial In User Service) プロトコルに基づく認証サービスを提供する PAM (Pluggable Authentication Module) の枠組みのモジュールです。 .Pp .Nm モジュールは次のオプションパラメータを受け付けます: .Bl -tag -width Fl .It Cm use_first_pass を指定すると、 .Nm は新しいパスワードの入力を求めずに、以前に入力されたパスワードを 使います。パスワードが入力されていない場合には、認証は失敗します。 .It Cm try_first_pass を指定すると、 .Nm は以前に入力されたパスワードがあれば、それを使います。パスワードが 入力されていなければ、 .Nm は通常通り入力を求めます。 .It Cm echo_pass は、 .Nm パスワードの入力を求めるとき、エコーを有効のままにします。 -.It Cm conf Ns No = Ns Ar pathname +.It Cm conf Ns = Ns Ar pathname は RADIUS クライアント設定ファイルの標準以外の位置を指定します (通常は .Pa /etc/radius.conf です)。 .It Cm nas_id Ns No = Ns Ar identifier ホスト名の代りに送る NAS 識別子を指定します。 .It Cm template_user Ns No = Ns Ar username は、セッションの環境をつくるテンプレートとして使用する .Xr passwd 5 エントリをもつユーザ名を指定します。 このエントリは、提供されるユーザ名が、ローカルのパスワードデータベースに 存在しない場合に使用されます。 ユーザは提供されたユーザ名とパスワードで認証されますが、 システムでの資格は .Ar username に与えられたものとなります。すなわち、ログインクラス、ホームディレクトリ、 資源の制限などは、 .Ar username に指定されたものが適用されます。 .Pp このオプションが省略され、かつ与えられたユーザ名がシステムのデータベースに 存在しない ( .Xr getpwnam 3 を呼び出して決定されます) 場合には、認証に失敗します。 .El .Sh 関連ファイル .Bl -tag -width /etc/radius.conf -compact .It Pa /etc/radius.conf .Nm の標準 RADIUS クライアント設定ファイル。 .El .Sh 関連項目 .Xr passwd 5 , .Xr radius.conf 5 , .Xr pam 8 .Sh 歴史 .Nm モジュールは .Fx 3.1 から登場しました。 .Nm マニュアルページは .Fx 3.3 から登場しました。 .Sh 作者 .An -nosplit .Nm マニュアルページは .An Andrzej Bialecki Aq abial@FreeBSD.org が書きました。 .Pp .Nm モジュールは .An John D. Polstra Aq jdp@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man8/pccardd.8 b/ja_JP.eucJP/man/man8/pccardd.8 index 5c7f3f21c6..e689b56569 100644 --- a/ja_JP.eucJP/man/man8/pccardd.8 +++ b/ja_JP.eucJP/man/man8/pccardd.8 @@ -1,176 +1,176 @@ .\" .\" 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. .\" -.\" %FreeBSD: src/usr.sbin/pccard/pccardd/pccardd.8,v 1.28 2002/09/29 23:56:33 imp Exp % +.\" %FreeBSD: src/usr.sbin/pccard/pccardd/pccardd.8,v 1.29 2002/12/12 17:26:02 ru Exp % .\" .\" $FreeBSD$ .\" .Dd November 1, 1994 .Dt PCCARDD 8 .Os .Sh 名称 .Nm pccardd .Nd PC-CARD (PCMCIA) 管理デーモン .Sh 書式 .Nm .Op Fl d .Op Fl v .Op Fl x .Op Fl z .Op Fl i Ar IRQ .Op Fl I .Op Fl f Ar configfile .Sh 解説 .Nm ユーティリティは、 普通ブート時に始動され、PC-CARD カードの抜き差しを管理します。 .Pp 実行されると、 .Nm は設定ファイル (デフォルト名は .Pa /etc/defaults/pccard.conf であり、これがユーザ設定ファイル .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 ひとたびカード/ドライバ実体が設定されると、 その実体に割り当てた資源を憶えておきます。 そして、カードが取り外され再び挿入された場合、 同じドライバを割り当てます。 理由のほとんどは、歴史的なものです。 .Pp SIGHUP は、 .Nm に設定ファイルを再読み込みさせます。 .Pp .Nm が理解する実行時オプションは以下の通りです。 .Bl -tag -width Ds .It Fl d デーモンとして実行せず、フォアグランドジョブとして実行し、 エラーメッセージを表示します。 .It Fl v 設定ファイルを読み込んだ後で、そのまとめを出力します。 .It Fl x カードがプローブされアタッチされるとすぐに終了します。 組み込みアプリケーションにおいて、PC-CARD デバイスの起動に .Nm を使用し、 .Nm プロセスがメモリに残らないようにするのに有用です。 .It Fl z デーモンとして実行することを、 カードがプローブされてアタッチされる後まで遅らせます。 .It Fl I 空き IRQ リストをカーネルから取得しません。 .It Fl i Ar IRQ 利用可能な IRQ を設定します。 .Pa /etc/defaults/pccard.conf および .Pa /etc/pccard.conf の "irq" 行に優先します。 .It Fl f Ar configfile デフォルト設定ファイル .Pa /etc/defaults/pccard.conf とは異なった設定ファイルを指定します。 ファイルの形式は、 .Xr pccard.conf 5 に詳細に記述されていますし、 .Nm によって認識される PC-CARD カードがリストされています。 また、カードへのインタフェースとして使われるカーネルドライバと デバイスについても詳細に書かれています。 .El .Sh 関連ファイル .Bl -tag -width /etc/defaults/pccard.conf -compact .It Pa /etc/defaults/pccard.conf デフォルトの設定ファイル .It Pa /etc/pccard.conf ユーザの設定ファイル .It Pa /var/run/pccardd.pid 現在実行中の .Nm のプロセス ID .El .Sh 関連項目 .Xr pccard.conf 5 , .Xr ifconfig 8 .Sh 作者 .An Andrew McRae Aq andrew@mega.com.au によって開発されました。 .Sh バグ .Nm ユーティリティはカードのパラメータを設定することができますが、 特定のドライバがカードと動作することを保証しません。 .Pp システム資源 (例えばネットワークマウントされているファイルシステム) が カードに関連している場合は、カードを取り外すと問題が起こるかも知れません。 diff --git a/ja_JP.eucJP/man/man8/picobsd.8 b/ja_JP.eucJP/man/man8/picobsd.8 index 107fb357a6..a225cf53ba 100644 --- a/ja_JP.eucJP/man/man8/picobsd.8 +++ b/ja_JP.eucJP/man/man8/picobsd.8 @@ -1,708 +1,707 @@ .\" -*- nroff-fill -*- -.\" %FreeBSD: src/share/man/man8/picobsd.8,v 1.22 2002/08/13 14:42:24 ru Exp % +.\" %FreeBSD: src/share/man/man8/picobsd.8,v 1.23 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd March 9, 2002 .Os .Dt PICOBSD 8 .Sh 名称 .Nm picobsd .Nd フロッピディスクベースの FreeBSD システム .Sh 書式 .Nm .Op Ar options .Op Ar floppy-type Op Ar site-name .Sh 解説 .Nm ユーティリティは、最小実装の .Fx (歴史的に .Nm PicoBSD と呼ばれます) の生成に使用可能なスクリプトです。 生成物は、典型的には 1 枚のフロッピディスクに収まるか、 CDROM やフラッシュメモリといったメディア、あるいは .Xr etherboot 経由から単一のイメージファイルとしてダウンロード可能な ものとなります。 .Pp .Nm ユーティリティは、もともとファイアウォールやブリッジのような単純な スタンドアロンシステムを構築するために作られたものですが、 サーバに存在するものとは違うソースツリーを使用してイメージを クロスビルドできるため、開発者にとってはシステムを 再インストールせずに自分の書いたコードをテストできるので 大変便利でしょう。 .Pp ブートメディア (典型的にはフロッピディスク) は、 ブートローダと、メモリファイルシステムを含む圧縮カーネルを含みます。 メディアに依存しますが、追加ファイルをいくつか含むかもしれません。 これらは、実行時に更新可能であり、 メモリファイルシステム中のファイルの書き換え/更新に使用されます。 .Pp システムは、カーネルを通常の方法でロードし、 メモリファイルシステムを伸長し、これをルートとしてマウントします。 その後、メモリファイルシステムを、ブートメディアからのファイルで更新し (存在する場合のみ)、特別なバージョンの .Pa /etc/rc を実行します。 ブートメディア (フロッピ等) は、ロードのためだけに必要であり、 一般には読み取り専用で使用されます。 ブートフェーズ後は、システムは完全に RAM で実行されます。 .Pp 次のオプションが使用可能です (詳細は .Nm も参照してください): .Pp .Bl -tag -width indent .It Fl -src Ar SRC_PATH .Pa /usr/src にあるものではなく .Ar SRC_PATH にあるソースツリーを使用します。 このオプションは、フロッピイメージをクロスビルドする際に 便利でしょう。 このオプションを使用する際には、 .Ao Ar SRC_PATH Ac Ns Pa /../usr にサブツリーを作成し、クロスビルドに必要な 正しいヘッダファイルやライブラリ、そしてツール ( .Xr config 8 のような) を置いてツリーを初期化しておく必要があります (後述の .Fl -init オプションを参照してください)。 ソースファイルは .Nm スクリプトによっては変更されません。しかし、 ソースツリーは完全に読み込み専用であるというわけではありません。 なぜなら、 .Xr config 8 はカーネル設定ファイルがソースツリーのサブディレクトリにある ものとしていますし、また .Pa usr サブツリーを初期化する過程でソースツリーのいくつかの部分に 触れてしまうからです (この動作はリリースビルド用スクリプトの バグであり、時間がたてばこのバグは取り払われるでしょう)。 .It Fl -init .Fl -src オプションと一緒に使用した場合、後で .Nm イメージを構築するのに必要となる .Ao Ar SRC_PATH Ac Ns Pa /../usr サブツリーを初期化します。 .It Fl -modules カーネルモジュールも構築します。 カーネルモジュールはフロッピイメージには入りませんが、 構築用ディレクトリには利用可能なまま残っています。 .It Fl n スクリプトを、非対話的にします。 最初のメニューを表示せず、ユーザの入力を要せずに構築処理に進みます。 .It Fl v スクリプトを冗長表示にし、実行するコマンドを表示し、 それらの実行前にユーザの入力を待ちます。 デバッグ時に有用です。 .It Fl -all_in_mfs カーネル内に含まれているメモリファイルシステムイメージにある ファイルシステムの内容をすべて置きます。 これはデフォルトの動作であり、 .Xr etherboot もしくは .Xr pxeboot 8 を使用して、完全に機能するシステムとしてカーネルそのものを ロードできるため大変便利です。 .It Fl -no_all_in_mfs .Pa floppy.tree に含まれているファイルをフロッピイメージに残します。これにより、 ファイルをカーネルとは別にロードすることができます (そして、個別にファイルを更新してフロッピイメージを カスタマイズできます)。 .It Fl -floppy_size Ar size フロッピイメージのサイズを設定します。 CDROM に焼くイメージ用に、1440 以外の値を使用可能です。 .It Fl c, clean 前回の構築時にできた生成物を消します。 .El .Sh 環境 サイズ制限が極めて厳しいため、 .Nm の環境は通常の .Fx といくつかの点で異なっています: .Bl -bullet .It ダイナミックライブラリは存在せず、 .Pa /usr/lib ディレクトリもありません。 そのため、スタティックリンクした実行体のみ実行可能です。 .It 実行体のサイズを減らすため、特定のフロッピ内のすべての実行体は、 .Xr crunchgen 1 を利用して単一の実行体にまとめられています。 .It プログラムによっては最小限のバージョンが提供されています。 .Nm ns は .Xr netstat 1 の機能限定版であり、 .Nm vm は .Xr vmstat 8 の機能限定版です。 .El .Sh PicoBSD の構築 .Nm のソースはディレクトリ .Pa /usr/src/release/picobsd の下の階層にあります。 以下では、相対パス名はすべてこのディレクトリからの相対位置です。 .Nm の構築過程は、時とともに少し変化しました。 コード量がやむなく増加していることに対応するため、 なるべく多くのものをフロッピに詰め込むための からくりがだんだんと多く必要となったからです。 .Fx 4.3 以降では、サポートされている構築スクリプトは .Pa /usr/src/release/picobsd/build/picobsd であり、どこからでも実行可能です。 対話的モードで実行した場合 ( .Fl -n オプションをつけなければこれがデフォルトです)、 スクリプトによってフロッピイメージを構築するのに使用される さまざまなパラメータを設定可能です。 認識するフロッピイメージは次の種類があります。私達は、このイメージを 機能するものに維持し、カーネルおよびアプリケーションのサイズが やむを得ず大きくなっていますがそれでも 1.44MB フロッピに収まる ように努めています。 .Bl -hang -width ".Pa bridge" .It Pa bridge ブリッジ、ルータおよびファイアウォールに適した設定です。 .El .Pp 次の設定も存在はしますが、参照するにとどめてください。 これらの設定の多くはもう直せないほど古いものになっていますし、 体裁を整える努力はなんら払われていません。 .\" kageyama: irrimediably => irremediably (回復できない)では? .Bl -hang -width ".Pa bridge" .It Pa dial ダイヤルアウト .Pq Xr ppp 8 ネットワークに適した設定です。 .It Pa isp ダイヤルイン .Pq Xr ppp 8 ネットワークに適した設定です。 .It Pa net 一般的なネットワークに適した設定です。 .It Pa router ルータとして使用する場合に適した設定です。 この特別な設定は、最低限のハードウェアで動作することを 目標としています。 .El .Pp これらの設定は、 あなたが独自の変更を行うときに参考にするためだけにあります。 すべてがテストされたわけではありませんし、 動かすため、もしくはコード量増加時に空きディスク空間に納めるために、 設定ファイルにちょっとした修正が必要となるかもしれません。 .Pp あなた独自のフロッピタイプを定義可能です。それには、 何か好きな名前 (例えば .Pa FOO ) を選んでディレクトリを作成し、その中に次のファイル およびディレクトリのいくつかを含めれば良いのです。 これらのファイルを作成するための詳細情報については、 標準の .Nm の設定のどれか 1 つを参考資料として見てください。 .Bl -tag -width indent .It Pa PICOBSD カーネル設定ファイル (必須)。 これは、大抵の場合標準のカーネル設定ファイルですが、 場合によってはカーネルサイズを小さくするために 必要のないドライバやオプションを削っているためファイルが小さく なっていることがあります。 .Pp .Nm カーネル設定ファイルとして認識されるためには、 次に示すように .Dq Li #PicoBSD で始まる行も含め、対応する .Dv MD_ROOT_SIZE オプションも含める必要があります: .Bd -literal -offset indent #marker def_sz init MFS_inodes floppy_inodes #PicoBSD 4200 init 8192 32768 options MD_ROOT_SIZE=4200 # def_sz と同じ .Ed .Pp この設定でメモリファイルシステムのサイズをスクリプトに教え、 イメージを構築する方法に関する他の詳細をいくつか与えます。 .It Pa crunch.conf .Xr crunchgen 1 設定ファイル (必須)。 この設定にはプログラムソースを含んだ ディレクトリのリスト、構築されるバイナリのリスト、および これらのバイナリプログラムが使用するライブラリのリストが 含まれています。 このファイルの文法に関する正確な詳細は .Xr crunchgen 1 マニュアルページを参照してください。 .Pp .Nm の設定を扱う際には次の点がとりわけ重要です: .Bl -bullet .It makefile のオプションに、makefile が理解できる構築用オプションを 渡すことができます。プログラムのサイズを減らすためです。 次の形式の行を用いて実現されます。 .Pp .Dl "buildopts -DNOPAM -DRELEASE_CRUNCH ..." -.Ed .It ソースファイルのあるディレクトリのリストを与えるときは、 次のエントリを最初にリストしておくと便利です: .Pp .Dl "srcdirs /usr/src/release/picobsd/tinyware" .Pp こうすると、 .Nm 特有のバージョンのプログラムがこのディレクトリで見つけられる ようになります。 .It 文字列 .Dq Li @__CWD__@ は、 .Nm 設定ファイルが入っているディレクトリ (すなわち、 .Pa PICOBSD, crunch.conf などが見つかるディレクトリ) のフルパス名に置き換わります。 設定ファイルのあるディレクトリの中に 存在するソースコードを参照するのに便利でしょう。例えば、次の ようにです。 .Pp .Dl "srcdirs @__CWD__@/src" .El .It Pa config .Nm スクリプトが読み取るシェル変数 (省略可能)。 ここで最も重要な変数は次のものです: .Bl -tag -width ".Va MY_DEVS" .It Va MY_DEVS .Fx ( 5.0 では .Xr devfs 5 がありますので使用されていません) イメージの .Pa /dev ディレクトリに作成されるべきデバイスのリストを設定すべきです (これは、 .Xr MAKEDEV 8 に渡される引数そのものですから、デバイスの名称については .Xr MAKEDEV 8 のマニュアルページを参照してください)。 .It Va fd_size .Nm イメージのサイズ (キロバイト単位) です。 デフォルトでは .Va fd_size は 1440 に設定されます。この値では、標準のフロッピディスクに 適したイメージを生成します。 .Pp CDROM にイメージを保存するつもりなら (例えば、 .Dq "El Torito" フロッピエミュレーションを用いて)、 .Va fd_size を 2880 に設定できます。 ハードディスク (パーティション内もしくはディスク全体) に イメージをダンプするつもりなら、標準のフロッピサイズに 制限されることはありません。 それ自体がサイズの大きなイメージを使用しても実行時に RAM が 浪費されることはありません。なぜなら、実際にイメージから ロードされるファイルしかメモリ使用量には関わってこないからです。 .It Va import_files フロッピツリー内に取り込まれるファイルのリストを含みます。 絶対パス名の場合標準ファイルシステムを、相対パス名の場合 使用しているソースツリー (すなわち .Va SRC_PATH/.. ) .Va SRC_PATH/.. のルートディレクトリを表します。 通常、共有ライブラリやデータベースなどのファイルを 取り込みたい場合に、 .Pa floppy.tree/ ディレクトリ配下の設定内でそれらのファイルの 複製を最初に作らなくても良いように、このオプションを使用できます。 .El .It Pa floppy.tree.exclude 標準フロッピツリーから得る、コピーしたくないファイルのリスト (省略可能)。 .It Pa floppy.tree/ 標準フロッピツリーへの、ローカルな追加 (省略可能)。 このサブツリーの内容はフロッピイメージにそのままコピーされます。 .It Pa floppy.tree. Ns Aq Ar site-name 上と同じですが、サイト固有です (省略可能)。 .El .Pp 構築過程に関する更なる情報は、 .Nm スクリプトのコメントに記述されています。 サンプルの設定ファイルは .Pa /usr/src/release/picobsd/ Ns Ao Ar floppy-type Ac Ns Pa / にあります。 .Sh 別のソースツリーの使用 構築スクリプトは、別のソースツリーを使用するよう、 .Fl -src Ar SRC_PATH オプションで指示可能です。 指定するツリーは、カーネルおよびイメージに含める全プログラムの ソースすべてを含む必要があります。 例として、RELENG_4 ソースツリーを使って .Pa bridge フロッピをクロスビルドするには、次のようにしてできます: .Bd -literal -offset indent cd mkdir FOO (cd FOO; cvs -d co -rRELENG_4 src) picobsd --src FOO/src --init # これは 1 回だけ必要です picobsd --src FOO/src -n -v bridge .Ed .Pp 構築に成功すると、ディレクトリ .Pa build_dir-bridge/ には .Xr etherboot でダウンロード可能な .Pa kernel 、 .Pa picobsd.bin という名前のフロッピイメージ、さらに 他のディレクトリでコンパイルされた生成物が入ります。 .Pa FOO/src 内のソースツリーを変更したい場合は、 新しいイメージは単に .Pp .Dl "picobsd --src FOO/src -n -v bridge" を実行すれば得られます。 .Pp これに対し、変更によって、インクルードファイルや ライブラリに影響がでる場合は、最初にそれらを更新する 必要があります。例えば、まず最初に .Pp .Dl "picobsd --src FOO/src --init # これは 1 回だけ必要です" .Pp を実行するのです。 このような変更があれば通常はいつでも実行するでしょう。 .Sh PicoBSD のインストール .Ss フロッピへのインストール 歴史的には、 .Nm はフロッピディスクから起動されます。この場合、単に .Pp .Dl "dd if=picobsd.bin of=/dev/rfd0" .Pp を実行してインストールできます。そうすれば、フロッピで ブートできます。 .Ss ハードディスクへのインストール イメージをハードディスク (ボリューム全体もしくはスライスの 1 つ) に置くのにも同じプロセスが使用できます。 .Bd -literal -offset indent dd if=picobsd.bin of=/dev/ad2 dd if=picobsd.bin of=/dev/ad2s3 dd if=picobsd.bin of=/dev/ad2 oseek=NN .Ed .Pp 1 番目の形式では、イメージをディスク全体にインストールします。 このときには、イメージはフロッピに対するときと同じ方法で動作します。 .Pp 2 番目の形式では、イメージをスライス番号 3 にインストールします (このスライスがイメージの内容を保存するのに充分な大きさを 持っている必要があります)。 しかし、このやり方は、指定したパーティションに正しいディスク ラベルが入っていない場合にしか成功せず、正しいディスクラベルを 持っている場合には、カーネルはラベルを上書きされないようにする でしょう。 この場合、3 番目の形式を使うことができます。 .Ar NN のところは実際のパーティションの開始位置で置き換えてください (開始位置は .Xr fdisk 8 を使用すると決定できます)。 スライスにイメージを保存した後でも、まだ認識はされないという ことに注意してください。 ラベルを正しく初期化するには .Xr disklabel 8 コマンドを使用しなくてはなりません (どうしてかは聞かないでください!)。 初期化を行う 1 つの方法としては、 .Bd -literal -offset indent disklabel -w ad0s2 auto disklabel -e ad0s2 .Ed .Pp とし、エディタから実際のパーティションに対応する行を入力します。 例えば、イメージが 2.88MB (5760 セクタ) である場合、パーティションに 対して次の行を入力する必要があります: .Pp .Dl "a:5760 0 4.2BSD 512 4096" .Pp この時点で、このパーティションはブート可能になります。 イメージサイズはスライスサイズ (パーティション .Dq Li c: として示されます) よりも小さい可能性があることに注意してください。 .Ss CDROM へのインストール もう 1 つのオプションに、イメージを CDROM に置くというものが あります。 ディスクタイプ .Pa foo に対するイメージがディレクトリ .Pa build_dir-foo にあると仮定します。そうすると、次のコマンドでブート可能な .Pq "El Torito" イメージを生成する (さらに、焼く) ことができます: .Bd -literal -offset indent mkisofs -b picobsd.bin -c boot.catalog -d -N -D -R -T \\ -o cd.img build_dir-foo burncd -f /dev/acd0c -s 4 data cd.img fixate .Ed .Pp イメージサイズは 1.44MB もしくは 2.88MB に制限される ことに注意してください。その他のサイズではまず動作しない でしょう。 .Ss ネットワークからのブート .Nm を用いたさらにもう 1 つの方法は、ネットワークから イメージをブートすることです。 これを実現するためには、コンパイルによる副産物として 入手できる非圧縮カーネルを使用する必要があります。 さらなる詳細については、ネットワークブートに関する ドキュメントを参照してください。 .Nm カーネルは、標準 .Fx kernel としてブート可能です。 .Sh PicoBSD のブート .Nm をブートするには、フロッピを挿入してマシンをリセットします。 ブート手順は標準の .Fx ブートと似ています。 フロッピからのブートは普通は非常にゆっくりと進みます (1 〜 2 分というオーダです)。イメージをハードディスクや コンパクトフラッシュ、あるいは CDROM に保存している場合、 事はずっと速く進みます。 .Pp .Xr etherboot を使用して、ロード済みで非圧縮のカーネルイメージを ロードすることもできます。 このイメージは、 .Nm 構築過程で生成される副産物です。 この場合、10Mbit/s イーサネットでさえ、ロード時間は数秒になります、 .Pp ブート後は、 .Nm は、メモリファイルシステムからルートファイルシステムをロードし、 .Pa /sbin/init を起動します。そして制御を 1 番目のスタートアップスクリプト .Pa /etc/rc に渡します。後者は .Pa /etc および .Pa /root ディレクトリにデフォルトファイル群と一緒に入っています。 そして、ブートデバイスを同定し (フロッピやハードディスクの パーティション)、そして場合によってはルートファイルシステムの 内容をブートデバイスから読み込んだファイルで上書きします。 これによって、同一メディアにローカルの設定を 保存することが可能です。 このフェーズの後では、ユーザが明確に使用しようとしない限り ブートデバイスはもう使用されません。 .Pp この後、制御は 2 番目のスクリプト .Pa /etc/rc1 に渡ります (このスクリプトはブートデバイスから上書き可能です)。 このスクリプトは、 1 番最初にくるイーサネットインタフェースの MAC アドレスをキーに、そして .Pa /etc/hosts ファイルをルックアップテーブルに 使用してホスト名とシステムとを関連づけようとします。 そして、制御はメインのユーザ設定スクリプト .Pa /etc/rc.conf に渡されます。このファイルは、 .Pa /etc/rc.conf.defaults で事前に設定されたいくつかの設定用変数の値を 上書きするためにあります。 .Va hostname 変数を用いて、同一ファイルから違った設定を 作成することができます。 制御が戻ってきたら、 .Pa /etc/rc1 は初期化を完了し、このスクリプトの一部として ネットワークインタフェースを設定し、オプションで ファイアウォール設定スクリプト .Pa /etc/rc.firewall を呼び出します。 このスクリプトには、独自のファイアウォール設定を保存できます。 .Pp デフォルトでは、 .Nm は、すべてメインメモリから実行し、明示的に要求しなければ スワップ領域は持たないのだということに注意してください。 .Pa /etc/rc1 が制御を受け取った後では、ブートデバイスももう使用されません。 何度も言いますが、明示的に要求しなければです。 .Sh PicoBSD システムの設定 .Nm システムの運用については、ブート時に読み込まれるいくつかの ファイルを通して設定可能であり、標準の .Fx システムと大変良く似ています。しかしながら、保存しておくべき ファイルおよび / もしくはカスタマイズすべきファイル数を 減らし、それによってスペースを節約するために 多少小さな違いがあります。 設定ファイルの中では、違いがあるものには次のものがあります: .Bl -tag -width indent .It Pa /etc/hosts 伝統的に、このファイルには IP とホスト名とのマッピングが 入っています。 このマッピングに加えて、 .Nm バージョンのものにはイーサネット (MAC) アドレスとホスト名との マッピングも次のように含まれています: .Bd -literal -offset indent #ethertable start of the ethernet->hostname mapping #mac_address hostname # 00:12:34:56:78:9a pinco # 12:34:56:* pallino # * this-matches-all .Ed .Pp ここで、 .Dq Li #ethertable を含んだ行はテーブルの始まりを表しています。 .Pp MAC アドレスが見つからなかった場合、このスクリプトは システム用のホスト名と IP アドレスを入力するよう促します。 そしてこの情報を (メモリ上の) .Pa /etc/hosts ファイルに保存し、後で簡単にディスク上に保存できるように します。 .Pp アドレス部にはワイルドカードを使用できますので、例の 最後の行のようにすると任意の MAC アドレスにマッチし、 システムに入力要求をさせないようにできるということに 注意してください。 .It Pa /etc/rc.conf このファイルにはシステムの運用状況を制御する変数が いくつか含まれています。例えば、インタフェース設定、 ルータ設定、ネットワークサービスの起動などです。 これらの変数の正確なリストおよびその意味については、 .Pa /etc/rc.conf.defaults を参照してください。 .Pp これらの変数の中には、 .Pa /etc 中のファイルの内容をいくつか上書きできるようにするものが あるということに触れておく価値はあります。 このオプションは、さしあたり .Pa /etc/host.conf および .Pa /etc/resolv.conf 用に利用可能です。これらのファイルの内容は一般的にとても 小さく、この種の更新を行うには向いています。 これらの変数を使用する場合、改行を適切に使うことを忘れないで ください。例えば、次のようにです。 .Bd -literal -offset indent host_conf="# この行は /etc/host.conf に入ります hosts bind" .Ed .Pp 必須というわけではありませんが、このファイル中では、 .Pa /etc/rc.conf.defaults で示される変数しか設定してはいけません。そして、 ネットワークが起動しているかどうかに依ってしまうサービスは 起動させずにおくべきです。 ネットワークの起動は後からでも行えます。 .Va firewall_enable Ns = Ns Qq Li YES に設定した場合、 .Pa /etc/rc.firewall スクリプトがネットワークインタフェースの設定後に起動されますので、 ファイアウォールを設定し、安全にネットワークサービスを起動したり、 ルーティングやブリッジなどを有効にしたりできます。 .It Pa /etc/rc.firewall このスクリプトは .Xr ipfw 4 ファイアウォールを設定するために使用することができます。 エントリ時に、 .Va fwcmd 変数はファイアウォール用コマンドのパス名に設定されます。 .Va firewall_type には .Pa /etc/rc.conf ファイル中で設定された値が入っており、 .Va hostname にはホストに割り当てられた名前が入っています。 .El .Pp .Nm update という名前の小さなスクリプトがあり、これを用いてブート後に変更した ファイルを編集したり、ディスクに保存したりできます。 このスクリプトは 1 つまたはそれより多い絶対パス名を取り、 引数として渡されたファイルに対してエディタを実行し、そして ファイルを圧縮したコピーをディスクに保存します (この操作の前後でディスクをマウント / アンマウントします)。 .Pp 引数無しでこのスクリプトを起動した場合、 .Nm update は .Pa rc.conf , rc.firewall および .Pa master.passwd ファイルを編集し、保存します。 .Pp 引数の 1 つが .Pa /etc (ディレクトリ名だけ) である場合、このコマンドは、/etc ディレクトリにあり、 (例えば、前回の updateの結果) すでにコピーがディスク上にあるファイルを みなディスクに (編集せずに) 保存します。 .Sh 関連項目 .Xr crunchgen 1 , .Xr mdconfig 8 , .Xr swapon 8 , .Xr vnconfig 8 .Sh 作者 .An -nosplit .An Andrzej Bialecki Aq abial@FreeBSD.org です。 スクリプト関連の仕事を .An Luigi Rizzo Aq luigi@iet.unipi.it 等が引き継ぎました。 マニュアルページと .Pa Makefile の作成は .An Greg Lehey Aq grog@lemis.com が行いました。 .Sh バグ .Nm を構築する際、 構築作業を行うシステムのカーネルには .Xr vn 4 ドライバがインストールされていなければなりません。 .Pp 構築の過程は .Dq root で実行しなければなりません。 .Xr mdconfig 8 Ns / Ns Xr vnconfig 8 と .Xr mount 8 を実行する必要があるためです。 .Pp .Nm の構築には、依然、中身の見えにくいところがあります。 最大の問題は、 どういうふうにすればフロッピにぴったり詰め込むことができるかを 判断することです。 現実的な方法は試行錯誤しかありません。 diff --git a/ja_JP.eucJP/man/man8/pw.8 b/ja_JP.eucJP/man/man8/pw.8 index 8edf1de032..38143684b5 100644 --- a/ja_JP.eucJP/man/man8/pw.8 +++ b/ja_JP.eucJP/man/man8/pw.8 @@ -1,944 +1,944 @@ .\" Copyright (C) 1996 .\" David L. Nugent. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY DAVID L. NUGENT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL DAVID L. NUGENT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/pw/pw.8,v 1.31 2002/07/14 14:45:10 charnier Exp % +.\" %FreeBSD: src/usr.sbin/pw/pw.8,v 1.32 2002/12/12 17:26:03 ru Exp % .\" .\" $FreeBSD$ .\" .\" WORD: primary group プライマリグループ(/etc/passwd のグループIDで決まるグループ) .\" .Dd December 9, 1996 .Dt PW 8 .Os .Sh 名称 .Nm pw .Nd システムユーザ、グループの作成、削除、変更、表示 .Sh 書式 .Nm .Op Fl V Ar etcdir .Ar useradd .Op name|uid .Op Fl C Ar config .Op Fl q .Op Fl n Ar name .Op Fl u Ar uid .Op Fl c Ar comment .Op Fl d Ar dir .Op Fl e Ar date .Op Fl p Ar date .Op Fl g Ar group .Op Fl G Ar grouplist .Op Fl m .Op Fl k Ar dir .Op Fl w Ar method .Op Fl s Ar shell .Op Fl o .Op Fl L Ar class .Op Fl h Ar fd .Op Fl N .Op Fl P .Op Fl 7 .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar useradd .Op name|uid .\" -D オプションは省略可能の通常のオプションではないのでこれでよい .Fl D .Op Fl C Ar config .Op Fl q .Op Fl b Ar dir .Op Fl e Ar days .Op Fl p Ar days .Op Fl g Ar group .Op Fl G Ar grouplist .Op Fl k Ar dir .Op Fl u Ar min , Ns Ar max .Op Fl i Ar min , Ns Ar max .Op Fl w Ar method .Op Fl s Ar shell .Op Fl y Ar path .Nm .Op Fl V Ar etcdir .Ar userdel .Op name|uid .Op Fl n Ar name .Op Fl u Ar uid .Op Fl r .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar usermod .Op name|uid .Op Fl C Ar config .Op Fl q .Op Fl n Ar name .Op Fl u Ar uid .Op Fl c Ar comment .Op Fl d Ar dir .Op Fl e Ar date .Op Fl p Ar date .Op Fl g Ar group .Op Fl G Ar grouplist .Op Fl l Ar name .Op Fl m .Op Fl k Ar dir .Op Fl w Ar method .Op Fl s Ar shell .Op Fl L Ar class .Op Fl h Ar fd .Op Fl N .Op Fl P .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar usershow .Op name|uid .Op Fl n Ar name .Op Fl u Ar uid .Op Fl F .Op Fl P .Op Fl a .Nm .Op Fl V Ar etcdir .Ar usernext .Op Fl C Ar config .Op Fl q .Nm .Op Fl V Ar etcdir .Ar groupadd .Op group|gid .Op Fl C Ar config .Op Fl q .Op Fl n Ar group .Op Fl g Ar gid .Op Fl M Ar members .Op Fl o .Op Fl h Ar fd .Op Fl N .Op Fl P .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar groupdel .Op group|gid .Op Fl n Ar name .Op Fl g Ar gid .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar groupmod .Op group|gid .Op Fl C Ar config .Op Fl q .Op Fl F .Op Fl n Ar name .Op Fl g Ar gid .Op Fl l Ar name .Op Fl M Ar members .Op Fl m Ar newmembers .Op Fl h Ar fd .Op Fl N .Op Fl P .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar groupshow .Op group|gid .Op Fl n Ar name .Op Fl g Ar gid .Op Fl F .Op Fl P .Op Fl a .Nm .Op Fl V Ar etcdir .Ar groupnext .Op Fl C Ar config .Op Fl q .Nm .Op Fl V Ar etcdir .Ar lock .Op name|uid .Op Fl C Ar config .Op Fl q .Nm .Op Fl V Ar etcdir .Ar unlock .Op name|uid .Op Fl C Ar config .Op Fl q .Sh 解説 .Nm ユーティリティは、システムの .Ar user 、 .Ar group ファイルのユーザ、グループを簡単に、標準的な方法で追加、変更、削除 することができるようにするコマンドライン版のエディタです。 .Nm は、ローカルな user ファイルと group ファイルを操作することができるだ けだということに注意して下さい。 .Tn NIS のユーザ、グループは .Tn NIS サーバ上で管理しなければなりません。 .Nm ユーティリティは .Pa passwd , .Pa master.passwd , .Pa group ファイルや、安全なまたは安全でないパスワードデータベースファイル の更新作業を行いますので、 root で実行されなければなりません。 .Pp .Nm のコマンドラインにかかれている最初の一つか二つのキーワードは、引数の残り を解釈する際の文脈を指定します。 .Ar user と .Ar group のキーワードはどちらも、 .Ar add , .Ar del , .Ar mod , .Ar show , .Ar next と組み合わせて用いることができ、どのような順序 (例えば .Ar showuser , .Ar usershow , .Ar show user , .Ar user show はすべて同じこととみなされます) で指定してもかまいません。 この柔軟性は、ユーザ、グループデータベース操作のために .Nm を呼び出す対話的なスクリプトには便利です。 .Fl n Ar name , .Fl u Ar uid , .Fl g Ar gid オプションを使う代わりに、 これらのキーワードに続けてユーザ名、グループ名、数字の ID のうち一つ を指定することができます。 .Pp 以下のフラグは操作のほとんどまたは全てのモードで共通です。 .Pp .Bl -tag -width "-G grouplist" .It Fl V Ar etcdir 本フラグは、 パスワードファイル・グループファイル・設定ファイルを探すための、 通常とは別の場所をセットします。 また、 通常とは別の場所でユーザ/グループデータベースを管理するために使用可能です。 本スイッチを指定すると、システムの .Pa /etc/pw.conf をデフォルト設定データをしては使用せず、代りに、 指定したディレクトリ中のファイル pw.conf を使用します (存在しない場合には使用しません)。 .Fl C フラグは、この動作に優先します。 一般規則では、オプションは操作タイプに後続する必要があるのですが、 .Fl V フラグは例外であり、コマンドライン上で操作キーワードの前で使用可能です。 .It Fl C Ar config .Nm は新しいユーザアカウントとグループはどのように作られるべきかという 方針の情報を得るために、デフォルトではファイル .Pa /etc/pw.conf を読み込みます。 .Fl C オプションで異なる設定ファイルを指定できます。 設定ファイルのほとんどの内容は、コマンドライン オプションにより上書きされますが、新しいアカウントを追加するための標準 的な情報を設定ファイルに設定しておいた方が 便利かもしれません。 .It Fl q このオプションを使うと .Nm はエラーメッセージを抑制します。 これは、注意深くフォーマットされたディスプレイへのメッセージ表示よりも、 .Nm から返された戻り値を解釈する方が好まれるような対話的な環境では 便利かもしれません。 .It Fl N このオプションは .Ar add と .Ar modify 操作で使います。 .Nm は、ユーザ/グループデータベースを更新せずに、操作の結果だけを出力します。 .Fl P オプションを使うと、標準 passwd フォーマットと可読なフォーマットの 切り替えができます。 .It Fl Y 更新モードのいずれかと、このオプションとをいっしょに使うことで、 .Nm は、 .Pa /var/yp にカレントディレクトリを移動させてから .Xr make 1 を実行します。これは、 .Tn NIS データベースファイルの自動更新を可能とする ためのものです。 .Tn NIS が別のパスワードファイル、グループファイルを 使っている場合、 .Fl y Ar path オプションを使い、 .Tn NIS パスワードデータベースの位置を指定すると よいでしょう。これにより、 .Nm は、システムパスワードデータベースと並行してこれらのデータベースも 同時に更新します。 .El .Sh ユーザオプション 以下のオプションは .Ar useradd と .Ar usermod コマンドに付けます: .Pp .Bl -tag -width "-G grouplist" .It Fl n Ar name ユーザ名/アカウント名を指定します。 .It Fl u Ar uid ユーザ ID / アカウント ID を数字で指定します。 .Pp アカウント名は uid を含み、逆も同様であるため、通常これらのオプション のどちらか片方しか必要ではありません。 しかし、両方を指定しなければならないこともしばしばあります。 例えば、すでに存在するユーザの uid を .Ar usermod で変えたり、新しいアカウントを作るときにデフォルトの uid を上書きした りするときです。 .Nm で .Ar useradd を使って新しいユーザに uid を自動的に割り当てたい場合は、 .Fl u オプションを使っては .Em いけません 。 コマンドライン上で .Ar useradd , .Ar userdel , .Ar usermod , .Ar usershow キーワードの直後なら、アカウントとユーザIDのどちらかを .Fl n や .Fl u を使わずにそのまま続けて書くことができます。 .El .Pp .Bl -tag -width "-G grouplist" .It Fl c Ar comment このオプションは passwd の GECOS フィールドの内容をセットします。 このフィールドは、コンマで区切られた 4 つのサブフィールドで、一般的には ユーザの姓名、勤務先または地区、職場と自宅の電話番号を含みます。 これらのサブフィールドは慣習的に使われるだけであり、省略可能です。 このフィールドが空白を含む場合、コメント自身をダブルクォート .Ql \&" でくくらなければなりません。 コンマはサブフィールドの区切りとして使われるので、フィールド内での使用は 避けて下さい。そして、コロン .Ql \&: キャラクタも passwd ファイルのフィールド区切りであるため使えません。 .It Fl d Ar dir このオプションは、アカウントのホームディレクトリを設定します。 通常、これはホームディレクトリが .Pa /etc/pw.conf から決まるデフォルト (ふつうは .Pa /home の下でアカウント名をサブディレクトリとしたもの) と異なる場合にだけ使うことになるでしょう。 .It Fl e Ar date アカウントが破棄される日付をセットします。 この日付のフォーマットは、 10 進の UNIX 時間か .Ql dd-mmm-yy[yy] フォーマットの日付のどちらかになり、後者は dd が日、mmmが月で、数字と アルファベット('Jan', 'Feb' 等)のどちらでもよく、年は 2 または 4 桁の 数字からなります。 このオプションは、 .Ql \&+n[mhdwoy] の形の相対的な日付も受け付けます。 .Ql \&n は 10 進数、 8 進数 (0 から始まる)、 16 進数 (0x で始まる) の数字で、 その後に現在の日付時刻から破棄される日までの分(m)、時(h)、日(d)、 曜日(w)、月(o)、年(y)の数がセットされます。 .It Fl p Ar date アカウントのパスワードが破棄される日付をセットします。 このフィールドは、パスワードの強制的な変更に対して適用されることを除けば、 アカウント破棄日付指定オプションと似ています。 これは、 .Fl e オプションと同様にしてセットされます。 .It Fl g Ar group 与えられた group をアカウントのプライマリグループにセットします。 .Ar group は、グループ名またはグループ ID 番号で定義されます。 .It Fl G Ar grouplist そのアカウントの追加グループをセットします。 .Ar grouplist は、コンマで区切られた、グループ名またはグループ ID 番号のリストです。 .Pa /etc/group の、グループリストで指定されたグループにそのユーザ名が追加され、 グループリストで指定されないグループからそのユーザ名が削除されます。 注意: ユーザは .Pa /etc/group のプライマリグループには加えられるべきではありません。 また、グループのメンバの変更は現在のログインにはすぐには影響されず、変 更後のログインにだけ影響します。 .It Fl L Ar class このオプションは生成されたユーザのログインクラスをセットします。 ユーザログインクラスに関する情報は .Xr login.conf 5 と .Xr passwd 5 を参照して下さい。 .It Fl m このオプションは、ユーザのホームディレクトリの作成を試みるように .Nm に指示します。 もちろんこれは .Ar useradd で新しいアカウントを加えるときにも役に立ちますが、 すでに存在するユーザのホームディレクトリを、ファイルシステムの別の場所に 移動するという使い方もできます。 新しいホームディレクトリには、 .Ar 雛型(skeleton) ディレクトリの内容が置かれます。 ここには、普通、ユーザが個人的に使うシェルの設定ファイル一式 が含まれています。 .Ar usermod にアカウントを指定して .Fl m を用いる際には、そのユーザのホームディレクトリにある 設定ファイルは、雛型ディレクトリのファイルで .Em 上書きされません 。 .Pp ユーザのホームディレクトリが作成されるとき、デフォルトでは、 .Fl b Ar dir オプション (下記参照) で指定された .Ar basehome ディレクトリのサブディレクトリとして作られ、アカウント名と同じ名前が付 けられます。 コマンドラインに .Fl d Ar dir オプションを付けると、上書きするようにすることもできます。 .It Fl k Ar dir このオプションは、 .Ar 雛型 ディレクトリをセットします。ユーザのホームディレクトリが作成 されるとき、そこから基本の起動時ファイル、設定ファイル がコピーされます。 このオプションは、 .Fl d (下記参照) や .Fl m とともに使ったときにのみ意味があります。 .It Fl s Ar shell ユーザのログインシェルを .Ar shell にセットまたは変更します。 シェルプログラムへのパスが省略されると、 .Nm は .Pa /etc/pw.conf で指定された .Ar shellpath を探し、それを適切に補います。 パスを指定するのは、特別な理由があるのでなければ、避けるべきだ ということを覚えておきましょう。 指定しないことで、プログラムが存在し、かつ実行可能であることを .Nm に確認させることができるからです。 フルパスを指定する (または空のままの "" シェルにしておく) と このチェックをせず、対話的なログインをさせないアカウントを 設定しなければならないときに設定される .Pa /nonexistent のようなエントリを作ることができます。 .It Fl h Ar fd このオプションは、 .Nm が対話的なスクリプトを使ってアカウントパスワードを 設定できるような特別のインタフェースを用意します。 コマンドラインと環境は、プログラムが情報を受け取るしくみとしては 基本的に安全ではないため、 .Nm はファイル記述子 (通常対話的スクリプトとプログラム間のパイプ) を通してのみ、アカウントとグループのパスワードの設定を許可します。 .Ar sh , .Ar bash , .Ar ksh , .Ar perl は皆、これができるしくみを持っています。 .Fl h Ar 0 が指定されると、代わりに .Nm はユーザのパスワード入力を求めるプロンプトを出し、 .Em stdin をパスワードを読み込むファイル記述子とします。 パスワードは一度しか入力されません。対話的な使用よりも スクリプト向きにできていることに注意して下さい。 .Xr passwd 1 の行に合わせて新しいパスワードの確認をしたい場合、この機能は、 .Nm を呼び出す対話的なスクリプトの一部として実装する必要があります。 .Pp 引数 .Ar fd として .Ql \&- が与えられると、パスワードとして .Ql \&* がセットされ、そのアカウントにはパスワードを使ってログインすることが できないようになります。 .El .Pp .Ar useradd を使うことで、存在するユーザ ID と重複する新しいアカウントを作成するこ とができるようになります。 これは普通エラーになって拒否されますが、 .Fl o オプションにより、重複チェックを上書きしユーザ ID の重複を 許すことになります。 これは、同一のユーザが異なるコンテキスト(異なるグループ割り当てや 異なるホームディレクトリ、異なるシェル)でログインするのを許可する 場合に、各アカウントに基本的に同一のアクセス権を与える場合に 使用できます。 .Pp .Ar useradd コマンドは .Fl D オプションを使うことで新しいユーザとグループのデフォルトも設定できます。 新しいユーザを付け加える代わりに、 .Nm は設定ファイル .Pa /etc/pw.conf に新しいデフォルトのセットを書き込みます。 .Fl D オプションを使う場合、 .Fl n Ar name や .Fl u Ar uid を使ってはいけません。そうでないとエラーになります。 .Fl D を使うと、 .Ar useradd コマンドのいくつかのコマンドラインスイッチの意味が変わります。 それは: .Bl -tag -width "-G grouplist" .It Fl D 設定ファイル .Pa /etc/pw.conf ( もしくは .Fl C Ar config オプションが使われたときは異なる名前の設定ファイル ) の中でのデフォルトの値をセットします。 .It Fl b Ar dir ユーザホームディレクトリが作成されるルートディレクトリをセットします。 このオプションのデフォルトの値は .Pa /home ですが、他の好きなディレクトリにセットできます。 .It Fl e Ar days デフォルトのアカウントの有効期間を日数でセットします。 .Fl D を付けずに使われる場合と異なり、引数はアカウントが作成されてから無効に なるまでの日数を指定する数字でなければなりません。 0 という値は、破棄する日付の自動算出を抑制します。 .It Fl p Ar days デフォルトのパスワードの有効期間を日数でセットします。 .It Fl g Ar group 新しいユーザのデフォルトのグループをセットします。 .Fl g Ar \&"" を使って空のグループを指定すると、新しいユーザは自分自身の私的なプライマリ グループ (ログイン名と同じ名前の新しいグループが作成されます) に 割り当てられます。 グループの指定には、名前または uid を引数として与えることができます。 .It Fl G Ar grouplist 新しいユーザが所属するデフォルトのグループ群を指定します。 これはプライマリグループとは別のグループの集合で、一つの グループをプライマリグループとこの別グループ群の両方に指定することは 避けなければなりません。 言い替えると、これらの別グループ群ではプライマリグループ .Em 以外の グループの構成メンバが決められます。 .Ar grouplist はコンマ区切りのグループ名もしくは ID で、 .Pa /etc/pw.conf の中にシンボル名で保存されます。 .It Fl L Ar class このオプションは、新しいユーザのためのデフォルトのログインクラスを セットします。 .It Fl k Ar dir デフォルトの .Em 雛型 ディレクトリをセットし、 .Nm がユーザのホームディレクトリを作成するときに、 そこからシェルなどの初期化ファイルのプロトタイプがコピーされます。 .It Xo .Fl u Ar min , Ns Ar max , .Fl i Ar min , Ns Ar max .Xc これらのオプションは、 .Nm により作成された新しいアカウントとグループのために割り当てるユーザと グループの最小の ID と最大の ID をセットします。 デフォルト値はどちらも最小 1000 で最大 32000 です。 .Ar min と .Ar max はどちらも数字で、 max は min より大きく、両方とも 0 から 32767 の範囲 内でなければなりません。 一般に 100 未満のユーザ ID とグループ ID はシステムに予約されており、 32000 より大きな数も (システム daemon が使う) 特殊な目的に 予約されています。 .It Fl w Ar method .Fl w オプションは新しく作成されたユーザアカウントのパスワードをセットするの に使われるデフォルトの方法を指定します。 .Ar method は以下のうちの一つです: .Pp .Bl -tag -width random -offset indent -compact .It no 新しく作成されたアカウントでのログインを不可とします。 .It yes アカウント名をパスワードにします。 .It none パスワードを空欄にします。 .It random ランダムパスワードを生成します。 .El .Pp .Ql \&random や .Ql \&no method は、最も安全です。前者の場合、 .Nm はパスワードを生成し、標準出力に出力します。 このパスワードは、ユーザがそのアカウントにアクセスするパスワードとして あなたが発行しますが、ユーザ自身が自分のパスワードを指定 (多分ひどい選択です) するものより適切です。 .Ql \&no method にした場合、パスワードでアクセスできるアカウントを与えるために スーパユーザが .Xr passwd 1 を使わなければなりません。 .It Fl y Ar path .Pa /etc/master.passwd からの情報を直接 .Tn NIS と共有しない場合、 このオプションは、 .Tn NIS が使うデータベースのパス名を設定します。 .Tn NIS サーバに対してのみこのオプションを指定するべきでしょう。 .El .Pp .Ar userdel コマンドには指定可能なオプションは 3 つしかありません。 .Fl n Ar name と .Fl u Ar uid オプションは、既に説明したとおりです。 追加のオプションは以下のものです。 .Bl -tag -width "-G grouplist" .It Fl r このオプションで、 .Nm はユーザのホームディレクトリとその内容のすべてを削除します。 .Nm ユーティリティはシステムからファイルを削除するとき、 慎重すぎるやり方をとります。 まず、削除されるアカウントの uid がシステムの別のアカウントでも使われ ていて、パスワードファイルの 'ホーム' ディレクトリが文字 .Ql \&/ で始まる正しいパスであった場合にはファイルは削除されません。 次に、ファイルやディレクトリが実際にそのユーザのものであるか、 誰かの所有であるシンボリックリンクがユーザのホームディレクトリ下にある 場合にだけ削除されます。 最後に、そのユーザの所有であるすべての中身を削除した後、 空のディレクトリだけが削除されます。 更に別の一掃が必要なときは、管理者に任されます。 .El .Pp メールスプールファイルと crontab は、ユーザ名に無条件に付属しているもの なので、アカウントが削除されたとき常に削除されます。 .Ar at コマンドによって処理待ちのキューに入っているジョブも、ユーザの uid がユニークであり、かつ、そのシステムの別のアカウントに使われていない場合は 削除されます。 .Pp .Ar usershow コマンドは、二種類のフォーマットでアカウントを閲覧できます。 フォーマットは、デフォルトで .Pa /etc/master.passwd で使われているものと同じで、パスワードフィールドは .Ql \&* に置き換えられています。 .Fl P オプションが使われると、 .Nm はより人間に読みやすい形でアカウントの詳細を出力します。 .Fl 7 オプションが使われると、アカウントの詳細が v7 フォーマットで表示されます。 .Fl a オプションは、現在ファイルにあるすべてのユーザをリストします。 .Fl F を使用すると、 存在しないアカウントであってもその詳細を表示するよう、 .Nm に強制します。 .Pp .Ar usernext コマンドは、利用可能な次のユーザ ID とグループ ID を コロン区切りで返します。 これは、通常 .Nm を使う対話的なスクリプトやフロントエンド用です。 .Sh グループオプション グループを操作するコマンドには、 .Fl と .Fl q オプション (前セクションの始めに説明があります) が使えます。 他のグループ関係のコマンド: .Bl -tag -width "-m newmembers" .It Fl n Ar name グループ名を指定します。 .It Fl g Ar gid グループの ID を数字で指定します。 .Pp グループ名は uid を意味し、逆も同様なので、アカウント名 と ID フィールドとして、普通どちらか一つを付ければよいのです。 両方を指定する必要があるのは、新しいグループに指定したグループ ID を 設定するとき、または存在するグループの uid を変えたいときだけです。 .It Fl M Ar memberlist このオプションは、存在するユーザを新しいグループに (groupaddで) 加えたり、存在するメンバリストを (groupmodで) 新しいものに取り換える もうひとつの方法です。 .Ar memberlist は正当で、存在するユーザ名または uid のコンマ区切りのリストです。 .It Fl m Ar newmembers .Fl M オプションと同様、このオプションは最初に存在するメンバのリストを 入れ換えることなく、グループに存在するユーザを .Em 追加 します。 ログイン名またはユーザ ID を使うことができ、重複するユーザは警告無く 削除されます。 .El .Pp .Ar groupadd にも、存在するグループ ID を新しいグループに割り当てる .Fl o オプションがあります。 デフォルトの動作は、グループ追加の試みを拒否することになっており、この オプションはグループ ID の重複チェックを上書きします。 グループ ID を重複させる必要は滅多にありません。 .Pp .Ar groupmod コマンドには、一つの追加オプションがあります: .Pp .Bl -tag -width "-m newmembers" .It Fl l Ar name このオプションで、存在するグループ名を .Ql \&name に変更することができます。 新しい名前は存在しないものでなければならず、存在するグループ名と 重複させようとすると拒否されます。 .El .Pp .Ar groupshow へのオプションは .Fl u Ar uid の代わりにグループ ID を指定する .Fl g Ar gid を付けた .Ar usershow と同じです。 .Fl 7 オプションは、 .Ar groupshow コマンドには適用されません。 .Pp .Ar groupnext コマンドは、次に使用できるグループ ID を標準出力に返します。 .Sh ユーザのロック .Nm ユーティリティは、ユーザに対する簡単なパスワードロック機構を持ちます。 これは、文字列 .Ql *LOCKED* を .Pa master.passwd のパスワードフィールドに前置し、認証を失敗させることにより機能します。 .Pp .Ar lock と .Ar unlock のコマンドはユーザ名または UID を取り、 それぞれ当該アカウントをロック/アンロックします。 これらのコマンドは、前述の .Fl V , .Fl C , .Fl q オプションを受け付けます。 .Sh 診断 .Nm ユーティリティは、操作に成功すると EXIT_SUCCESS を返し、そうでなければ .Xr sysexits 3 により定義された以下の戻り値のうちどれかひとつを返します: .Bl -tag -width xxxx .It EX_USAGE .Bl -bullet -compact .It コマンドラインのシンタックスエラー (不適切なキーワード、未定義オプション)。 .El .It EX_NOPERM .Bl -bullet -compact .It root でないユーザとして、何らかの更新を実行しようとした。 .El .It EX_OSERR .Bl -bullet -compact .It メモリアロケーションエラー。 .It パスワードファイル記述子の読み出しエラー .El .It EX_DATAERR .Bl -bullet -compact .It コマンドライン上やパスワードファイル記述子の、間違った、または正しくな いデータや欠落データ。 .It root アカウントの名前や uid の変更、削除をしようとした。 .El .It EX_OSFILE .Bl -bullet -compact .It 雛型ディレクトリが適切でない、または存在しない。 .It 基本ホームディレクトリが適切でない、または存在しない。 .It 指定したシェルが適切でない、または存在しない。 .El .It EX_NOUSER .Bl -bullet -compact .It 指定されたユーザ、ユーザ ID、グループ、グループ ID が存在しない。 .It 記録、追加、または更新されたユーザ、グループが予期せず無くなった。 .El .It EX_SOFTWARE .Bl -bullet -compact .It 指定した範囲には未使用グループ ID、ユーザ ID が残っていない。 .El .It EX_IOERR .Bl -bullet -compact .It 設定ファイルの書き換えができない。 .It グループやユーザデータベースファイルの更新時エラー。 .It パスワードまたはグループデータベースファイルの更新時エラー。 .El .It EX_CONFIG .Bl -bullet -compact .It 基本ホームディレクトリが設定されていない。 .El .El .Sh 注 各コマンドに使用可能なオプションの要約として、 .Dl pw [command] help が使えます。例えば、 .Dl pw useradd help は useradd 操作に使用できるすべてのオプションをリストします。 .Pp .Nm ユーティリティは、passwd ファイルの GECOS フィールド (ユーザの姓名、オフィス、業務用 電話番号、自宅電話番号のサブフィールドがあります) に 8 ビット文字を 使うことができます。しかし、8 ビット文字をユーザログイン名やグループ 名に使うことはできません。8 ビット文字の使用に際して、以下の点に注意して ください。 インターネットとの接続に際しては、メール配送プログラムが 8BITMIME を サポートしていることが要求されており、8 ビット文字を含むヘッダは 7 ビットの quoted-printable フォーマットに変換されてしまいます。 .Xr sendmail 8 はこの機能をサポートしています。 GECOS フィールドに 8 ビット文字を 置く際は、ユーザのデフォルトロケールとデフォルト文字集合といっしょに 使用するべきで、これらを使用せずに実装してはいけません。 8 ビット文字の使用は、 .Xr fingerd 8 のように、インターネット経由で GECOS フィールドの内容を やりとりする他のプログラムにも影響を及ぼす可能性があります。 TCP/IP クライアントの中には、IRC のように、少数ながらもパスワード ファイルに指定されたフルネームをデフォルトで使用するものも あります。 .Sh 関連ファイル .Bl -tag -width /etc/master.passwd.new -compact .It Pa /etc/master.passwd ユーザデータベース .It Pa /etc/passwd Version 7 フォーマットのパスワードファイル .It Pa /etc/login.conf ユーザケーパビリティデータベース (user capability database) .It Pa /etc/group グループデータベース .It Pa /etc/master.passwd.new マスタパスワードファイルの一時コピー .It Pa /etc/passwd.new Version 7 パスワードファイルの一時コピー .It Pa /etc/group.new グループファイルの一時コピー .It Pa /etc/pw.conf pw コマンドのデフォルトオプションファイル .El .Sh 関連項目 .Xr chpass 1 , .Xr passwd 1 , .Xr group 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr pw.conf 5 , .Xr pwd_mkdb 8 , .Xr vipw 8 .Sh 歴史 .Nm ユーティリティは、SYSV の .Em shadow サポートで使われていた多くのオプションを模倣して書かれましたが、 .Bx 4.4 オペレーティングシステムに特有のパスワードフィールド、 グループフィールドに合わせて変更されています。また、ほとんどの要素が 一つのコマンドにまとめられています。 diff --git a/ja_JP.eucJP/man/man8/pwd_mkdb.8 b/ja_JP.eucJP/man/man8/pwd_mkdb.8 index 3c4d3ba92e..29f67f9018 100644 --- a/ja_JP.eucJP/man/man8/pwd_mkdb.8 +++ b/ja_JP.eucJP/man/man8/pwd_mkdb.8 @@ -1,174 +1,174 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)pwd_mkdb.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/pwd_mkdb/pwd_mkdb.8,v 1.20 2002/07/14 14:45:13 charnier Exp % +.\" %FreeBSD: src/usr.sbin/pwd_mkdb/pwd_mkdb.8,v 1.21 2002/12/12 17:26:03 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt PWD_MKDB 8 .Os .Sh 名称 .Nm pwd_mkdb .Nd パスワードデータベースを構築する .Sh 書式 .Nm .Op Fl C .Op Fl N .Op Fl p .Op Fl d Ar directory .Op Fl s Ar cachesize .Op Fl u Ar username .Ar file .Sh 解説 .Nm ユーティリティは、指定されたファイルから .Xr db 3 スタイルの、セキュリティのしっかりしたデータベースと そうでないデータベースの 2 つを構築します。 そして、これらのデータベースは、それぞれ .Pa /etc/spwd.db と .Pa /etc/pwd.db にインストールされます。 このファイルは、 .Pa /etc/master.passwd にインストールされます。このファイルは 正しいフォーマットでなければなりません ( .Xr passwd 5 を参照)。このシステムで使われるフォーマットは、旧来の バージョン 7 スタイルのフォーマットとは異なるので注意を要します。 .Pp オプションは以下の通りです。 .Bl -tag -width flag .It Fl C パスワードファイルが正しいフォーマットかどうかをチェックします。 どのファイルも変更、追加、削除を行ないません。 .It Fl N ファイルに対するロックを取得できない場合にはエラー状態で終了するように、 .Nm に指示します。 デフォルトでは、ソースファイルに対するロックを、ブロックして待ちます。 データベースの再構築中、このロックは保持されます。 .It Fl p バージョン 7 スタイルのパスワードファイルを作成し、 .Pa /etc/passwd にインストールします。 .It Fl d Ar directory .Pa /etc の代わりに、指定された先のディレクトリにデータベースを保存します。 .It Fl u Ar username 指定したユーザのレコードだけ更新します。 単一ユーザに対してのみ作用するユーティリティは、このオプションを使用し、 データベース全体を再構築するオーバヘッドを避けることが出来ます。 .It Fl s Ar cachesize ハッシングライブラリが使用するメモリキャッシュの大きさを、 メガバイト単位で指定します。 ユーザ数が多いシステムでキャッシュを小さくすると、 データベースファイルの再構築に耐えがたいほどの長時間を要します、 おおざっぱな目安では、 .Nm の使用メモリ量はここで指定した大きさの 2 倍をちょっと越えたものになります。 デフォルト値は 2 メガバイトです。 .El .Pp 2 つのデータベースの違いは、安全なバージョンでは、ユーザのパスワードが 暗号化されて入っており、安全でないバージョンでは、パスワードが ``*'' と なっていることです。 .Pp このデータベースは、 C ライブラリパスワードルーチンに使われます ( .Xr getpwent 3 を参照)。 .Pp .Nm ユーティリティは成功したときは 0 を返し、失敗したときは 0 以外を返します。 .Sh 環境変数 .Ev PW_SCAN_BIG_IDS 環境変数が設定されると、 大きなユーザ ID およびグループ ID に対して通常生成される警告メッセージを、 .Nm は抑制します。 ID 値を仮定するプログラムでこのような ID を使用すると、 深刻な問題の原因となります。 .Sh 関連ファイル .Bl -tag -width Pa -compact .It Pa /etc/pwd.db セキュリティのないパスワードデータベースファイル .It Pa /etc/pwd.db.tmp 一時ファイル。 .It Pa /etc/spwd.db セキュリティのあるパスワードデータベースファイル。 .It Pa /etc/spwd.db.tmp 一時ファイル。 .It Pa /etc/master.passwd 現在のパスワードファイル。 .It Pa /etc/passwd バージョン 7 フォーマットのパスワードファイル。 .El .Sh バグ パスワードファイルのアトミック (atomic; 不可分) な更新が必要なので、 .Nm は、インストールに .Xr rename 2 を使います。 しかし、コマンドラインで指定されたファイルが .Pa /etc ディレクトリと同じファイルシステム上に存在しなければなりません。 .Pp 複数の人が、 .Nm を同時に異なるパスワードファイルに対して走らせると、 明らかにレース (race; 競合) になってしまいます。 .Nm のフロントエンドである .Xr chpass 1 , .Xr passwd 1 , .Xr vipw 8 では、この問題を避けるために必要なロック操作を行います。 .Sh 可搬性 以前のバージョンのシステムは、 .Nm 同様のプログラムである .Xr mkpasswd 8 を持っており、それはパスワードファイルに対して .Xr dbm 3 スタイルのデータベースを構築しましたが、 これをインストールするために呼ぶプログラムに依存していました。 このプログラムは、以前のプログラムのユーザが機能の変化で 驚かないように名前が変えられました。 .Sh 関連項目 .Xr chpass 1 , .Xr passwd 1 , .Xr db 3 , .Xr getpwent 3 , .Xr passwd 5 , .Xr vipw 8 diff --git a/ja_JP.eucJP/man/man8/pxeboot.8 b/ja_JP.eucJP/man/man8/pxeboot.8 index 3a7815d7e4..2ab48c27d1 100644 --- a/ja_JP.eucJP/man/man8/pxeboot.8 +++ b/ja_JP.eucJP/man/man8/pxeboot.8 @@ -1,127 +1,127 @@ .\" Copyright (c) 1999 Doug White .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sys/boot/i386/pxeldr/pxeboot.8,v 1.6 2002/07/14 15:22:49 charnier Exp % +.\" %FreeBSD: src/sys/boot/i386/pxeldr/pxeboot.8,v 1.7 2002/12/12 17:25:59 ru Exp % .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. .\" $FreeBSD$ .Dd May 1, 2000 .Dt PXEBOOT 8 .Os .Sh 名称 .Nm pxeboot .Nd プリブート実行環境 (PXE) ブートローダ .Sh 解説 .Nm ブートローダは、システムの第 3 段階ブートストラップ .Xr loader 8 の修正バージョンであり、 Intel のプリブート実行環境 (Preboot Execution Environment, PXE) システムで 動作するように構築されたものです。 PXE は、スマートなブート ROM の形態をとり、 Intel EtherExpress Pro/100 や 3Com 3c905c イーサネットカード、 それにイーサネットを装備した Intel マザーボードに組み込まれています。 PXE は、DHCP コンフィギュレーションをサポートし、 低レベルの NIC アクセスサービスを提供します。 .Nm は、カーネルやモジュールそれに他のファイル群を、 UDP 上の NFS または TFTP 経由で (これはコンパイル時オプションで選択します) 取り出します。 .Nm とメモリファイルシステムイメージ あるいは NFS マウントしたルートファイルシステムと組み合わせることで、 ディスクレスマシンを容易に、EEPROM 焼き器なしで構築することができます。 .Pp .Nm バイナリは、DHCP サーバのコンフィギュレーションファイル中に指定することで、 他のブートファイルと同様にロードされます。 .\" 1.1.2.3 対応にともない削除 .\" しかし、PXE がサーバ応答を認識するには特別な DHCP オプションが必要です。 ISC DHCP v2 サーバ向けのコンフィギュレーションのサンプルを以下に示します: .Bd -literal -offset indent option domain-name "example.com"; option routers 10.0.0.1; option subnet-mask 255.255.255.0; option broadcast-address 10.0.0.255; option domain-name-servers 10.0.0.1; server-name "DHCPserver"; server-identifier 10.0.0.1; default-lease-time 120; max-lease-time 120; subnet 10.0.0.0 netmask 255.255.255.0 { filename "pxeboot"; range 10.0.0.10 10.0.0.254; } .Ed .Nm は、ディレクティブ .Va next-server および .Va option root-path を、サーバおよびファイル要求の NFS マウントパスとしてそれぞれ認識するか、 あるいは TFTP 要求を送るサーバとして認識します。 .Nm は、他のファイルをロードする前に、指定したサーバから .Pa /boot/loader.rc を読み込むことを想定していることに注意してください。 .Pp その他の点では、 .Nm は .Xr loader 8 と同じように振舞います。 .Pp PXE はまだ成熟したものではないため、ファームウェアのバージョンによっては 正常に動作しない可能性があります。 .Nm ブートローダは Intel ファームウェア version 0.99 上で綿密にテストされましたが、 より新しい 2.0 ファームウェアのプレリリースバージョンでは 問題があることが判明しています。 デバイス製造者の最新の安定リリースをチェックしてください。 .Pp Intel の PXE 仕様および Wired for Management (WfM) システムに関する 更に詳細な情報については、 .Li http://developer.intel.com/ial/wfm/ を参照してください。 .Sh 関連項目 .Xr loader 8 .Sh 歴史 .Nm ブートローダは .Fx 4.1 に初めて登場しました。 .Sh 作者 .An -nosplit .Nm ブートローダの作者は .An John Baldwin Aq jhb@FreeBSD.org および .An Paul Saab Aq ps@FreeBSD.org です。このマニュアルページの著者は .An Doug White Aq dwhite@FreeBSD.org です。 diff --git a/ja_JP.eucJP/man/man8/quot.8 b/ja_JP.eucJP/man/man8/quot.8 index 0d3c33cf06..4b14659480 100644 --- a/ja_JP.eucJP/man/man8/quot.8 +++ b/ja_JP.eucJP/man/man8/quot.8 @@ -1,110 +1,110 @@ .\" Copyright (C) 1994 Wolfgang Solfrank. .\" Copyright (C) 1994 TooLs GmbH. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by TooLs GmbH. .\" 4. The name of TooLs GmbH may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, .\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; .\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/quot/quot.8,v 1.18 2002/09/24 20:15:11 ache Exp % +.\" %FreeBSD: src/usr.sbin/quot/quot.8,v 1.19 2002/12/12 17:26:03 ru Exp % .\" .\" $FreeBSD$ .\" .Dd February 8, 1994 .Dt QUOT 8 .Os .Sh 名称 .Nm quot .Nd 各ユーザの利用しているディスク領域を表示する .Sh 書式 .Nm .Op Fl acfhknv .Op Ar filesystem ... .Sh 解説 .Nm ユーティリティは、 各ローカルユーザのディスク利用に関する統計情報を集めるために使われます。 .Pp 以下のオプションが利用可能です。 .Bl -tag -width indent .It Fl a 全てのマウントされたファイルシステムに関する統計情報を与えます。 .It Fl c 一行毎に 3 つのカラムを使って、ファイルあたりのブロック数と、 この分類に含まれるファイルの数と、このサイズ以下の ファイルのブロック総数を集計します。 .It Fl f 個々のユーザに対して、ファイル数と利用されているスペースを表示します。 .It Fl h 個々のファイルのサイズに基づいて、ブロック数を推定します。 これは、 ( ファイル中の穴を計算しないので ) 正しい結果を与えないうえ、 高速でもないので、お勧めしません。 .It Fl k 報告する数値をキロバイト数にします。 デフォルトでは、全てのサイズは 512 バイト / ブロックで報告されます。 .It Fl n 標準入力から inode の一覧を (いくつかのオプションデータを加えて 1 行で) 与えることで、個々のファイルに対して持ち主を ( 入力行で与えられた残りの情報と共に ) 表示します。 これは歴史的にはパイプ中で以下のように使われました。 .Bd -literal -offset indent .\" ncheck filesystem | sort +0n | quot -n filesystem ls -i | sed -e 's,^ *,,' | sort -k 1n | quot -n filesystem .Ed .Pp ファイルの報告とその持ち主を手に入れます。 .It Fl v デフォルトの出力に加えて、30, 60, 90 日間アクセスされていないファイルの数 を報告します。 .El .Sh 環境変数 .Bl -tag -width BLOCKSIZE .It Ev BLOCKSIZE 環境変数 .Ev BLOCKSIZE が設定されており、 .Fl k オプションが指定されていない時、ブロックカウントはこのブロックサイズの単位 で表示されます。 .El .Sh バグ .Xr ncheck (前記の例の .Nm ls Fl i よりはるかに使える) は .Fx には存在しません :-) .Sh 関連項目 .Xr df 1 , .Xr quota 1 , .Xr getmntinfo 3 , .Xr fstab 5 , .Xr mount 8 .Sh 歴史 この .Nm の実装は、 .An Wolfgang Solfrank / TooLs GmbH によって行われました。 diff --git a/ja_JP.eucJP/man/man8/quotaon.8 b/ja_JP.eucJP/man/man8/quotaon.8 index 2e831d41cf..9235480079 100644 --- a/ja_JP.eucJP/man/man8/quotaon.8 +++ b/ja_JP.eucJP/man/man8/quotaon.8 @@ -1,138 +1,138 @@ .\" Copyright (c) 1983, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Robert Elz at The University of Melbourne. .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)quotaon.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/usr.sbin/quotaon/quotaon.8,v 1.9 2002/07/14 14:45:17 charnier Exp % +.\" %FreeBSD: src/usr.sbin/quotaon/quotaon.8,v 1.10 2002/12/12 17:26:03 ru Exp % .\" .\" $FreeBSD$ .\" .Dd December 11, 1993 .Dt QUOTAON 8 .Os .Sh 名称 .Nm quotaon , .Nm quotaoff .Nd ファイルシステム割り当て制限のオンとオフ .Sh 書式 .Nm .Op Fl g .Op Fl u .Op Fl v .Ar filesystem Ar ... .Nm .Op Fl g .Op Fl u .Op Fl v .Fl a .Nm quotaoff .Op Fl g .Op Fl u .Op Fl v .Ar filesystem Ar ... .Nm quotaoff .Op Fl g .Op Fl u .Op Fl v .Fl a .Sh 解説 .Nm ユーティリティは、 システムにファイルシステムの割り当て制限をオンにするように通告します。 .Nm quotaoff ユーティリティは、システムに指定されたファイルシステムの すべての割り当て制限をオフにするように通告します。 指定されるファイルシステムは .Pa /etc/fstab にエントリがあり、かつ、マウントされていなければいけません。 .Nm ユーティリティは、 指定されたファイルシステムのルートディレクトリに割り当て制限を書いた ファイル .Pa quota.user と .Pa quota.group があるものとして動作します。このデフォルトのファイル名は .Pa /etc/fstab により変更することができます。デフォルトでユーザ とグループの両方に対する割り当て制限が開始されます。 .Pp オプションは以下のとおりです: .Bl -tag -width indent .It Fl a ファイルシステム名のかわりに指定されると、 .Nm Ns / Ns Nm quotaoff は .Pa /etc/fstab に読み書き可能で割り当て制限が指定されているファイルシステム をすべてオン/オフします。デフォルトでは、 .Pa /etc/fstab で指定されている制限のみがオンになります。 .It Fl g .Pa /etc/fstab にグループ割り当て制限が指定してあるもののみオン/オフします。 .It Fl u .Pa /etc/fstab にユーザ割り当て制限が指定してあるもののみオン/オフします。 .It Fl v .Nm と .Nm quotaoff が各ファイルシステムの割り当て制限をオン/オフす るときにメッセージを表示します。 .El .Pp .Fl g と .Fl u の両方を指定すると、デフォルトの動作と同じになります。 .Sh 関連ファイル .Bl -tag -width quota.group -compact .It Pa quota.user ファイルシステムのルートにあるユーザ割り当て制限に関するデータ .It Pa quota.group ファイルシステムのルートにあるグループ割り当て制限に関するデータ .It Pa /etc/fstab ファイルシステムの名前と位置を読み取る .El .Sh 関連項目 .Xr quota 1 , .Xr quotactl 2 , .Xr fstab 5 , .Xr edquota 8 , .Xr quotacheck 8 , .Xr repquota 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 で追加されました。 diff --git a/ja_JP.eucJP/man/man8/rc.8 b/ja_JP.eucJP/man/man8/rc.8 index 4a00420635..083f40770c 100644 --- a/ja_JP.eucJP/man/man8/rc.8 +++ b/ja_JP.eucJP/man/man8/rc.8 @@ -1,276 +1,569 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" Portions of this manual page are Copyrighted by +.\" The NetBSD Foundation. +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)rc.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/share/man/man8/rc.8,v 1.19 2002/08/20 14:43:10 schweikh Exp % +.\" %FreeBSD: src/share/man/man8/rc.8,v 1.22 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .\" .Dd December 11, 1993 .Dt RC 8 .Os BSD 4 .Sh 名称 .Nm rc .Nd 自動リブート処理とデーモン起動のためのコマンドスクリプト .Sh 書式 .Nm .Nm rc.conf .Nm rc.conf.local -.Nm rc.early -.Nm rc.d -.Nm rc.serial -.Nm rc.pccard -.Nm rc.network +.Nm rc.d/ .Nm rc.firewall -.Nm rc.atm -.Nm rc. .Nm rc.local .Nm rc.shutdown +.Nm rc.subr .Sh 解説 .Nm ユーティリティは、 -自動リブート処理を制御するコマンドスクリプト (他のスクリプトを呼びます) で、 +自動ブート処理を制御するコマンドスクリプトで、 +.Xr init 8 +に呼ばれます。 .Nm rc.local は特定サイトに特化したコマンドを記述するスクリプトです。 -今日では、 -典型的には /usr/local/etc/rc.d の機構が rc.local の代りに使用されます。 +今日では、典型的には +.Pa /usr/local/etc/rc.d/ +の機構が +.Nm rc.local +の代りに使用されます。 しかしながら、 -rc.local を使用したいのであれば /etc/rc は未だこれをサポートしています。 -この場合、rc.local が /etc/rc.conf を読み取るようにしてから、 +.Nm rc.local +を使用したいのであればこれはまだサポートされています。 +この場合、 +.Nm rc.local +が +.Pa /etc/rc.conf +を読み取るようにしてから、 あなたのシステム特有の更なるカスタムスタートアップコードを -rc.local に追加してください。 +.Nm rc.local +に追加してください。 +.Nm rc.local +を扱う最良の方法は、これを +.Nm rc.d/ +スタイルのスクリプトとして分割して、これらを +.Pa /usr/local/etc/rc.d/ +に置くことです。 .Nm rc.conf -ファイルは rc ファイル群から参照されるグローバルなシステム構成情報を持ち、 +ファイルはスタートアップスクリプト群から +参照されるグローバルなシステム構成情報を持ち、 .Nm rc.conf.local はローカルなシステム構成情報を持ちます。 +更なる情報については .Xr rc.conf 5 を参照してください。 .Pp -.Nm rc.d +.Nm rc.d/ ディレクトリは、ブート時およびシャットダウン時に 自動的に実行されるスクリプトを保持します。 -ブート時には、指定されたディレクトリは、 -.Nm rc.local -の実行直後に処理されます -(処理対象ディレクトリの指定方法の詳細は後述します)。 -シャットダウン時には、ディレクトリは -.Nm rc.shutdown -が処理します。 -各ディレクトリ内のスクリプトには、次の重要事項が適用されます: +.Ss Nm No の動作 +.Bl -enum +.It +.Pa /etc/rc.subr +をソースし、様々な +.Xr rc.subr 8 +シェル関数を使えるようにロードします。 +.It +自動ブート時には、 +.Va autoboot Ns = Ns Li yes +を設定し、フラグ +.Pq Va rc_fast Ns = Ns Li yes +を有効にすることで +.Nm rc.d/ +スクリプトが既に動作中のプロセスのチェックをしないようにします +(これによりブート処理を高速化します)。 +この +.Va rc_fast Ns = Ns Li yes +による高速化は、シングルユーザシェルから抜けた後で +.Nm +が起動されるときには使用されません。 +.It +.Xr rcorder 8 +を起動し、 +.Pa /etc/rc.d/ +中のファイルで +.Dq Li nostart +キーワード +.Xr ( rcorder 8 +の +.Fl s +フラグを参照) を持たないものを並び換え、結果をある変数に代入します。 +.It +.Xr ( rc.subr 8 +の) +.Fn run_rc_script +を使用し、各スクリプトを順番に呼び出します。 +この関数は +.Va $1 +を +.Dq Li start +に設定し、サブシェルにてスクリプトをソースします。 +スクリプトに +.Pa .sh +サフィックスがある場合、スクリプトは現在のシェルに直接ソースされます。 +.El +.Ss Nm rc.shutdown の動作 +.Bl -enum +.It +.Pa /etc/rc.subr +をソースし、様々な +.Xr rc.subr 8 +シェル関数を使えるようにロードします。 +.It +.Xr rcorder 8 +を起動し、 +.Pa /etc/rc.d/ +中のファイルで +.Dq Li shutdown +キーワード +.Xr ( rcorder 8 +の +.Fl k +フラグを参照) を持つものを逆順に並び換え、結果をある変数に代入します。 +.It +.Xr ( rc.subr 8 +の) +.Fn run_rc_script +を使用し、各スクリプトを順番に呼び出します。 +この関数は +.Va $1 +を +.Dq Li stop +に設定し、サブシェルにてスクリプトをソースします。 +スクリプトに +.Pa .sh +サフィックスがある場合、スクリプトは現在のシェルに直接ソースされます。 +.El +.Ss Nm rc.d/ の内容 +.Nm rc.d/ +は +.Pa /etc/rc.d/ +にあります。 +次のファイル命名規則が現在 +.Nm rc.d/ +で使用されています: +.Bl -tag -width ".Pa ALLUPPERCASE" -offset indent +.It Pa ALLUPPERCASE +.Dq プレースホルダ +スクリプトであり、ある動作が他の動作の前に実行されることを保証します。 +起動での順番では次のものがあります: +.Bl -tag -width ".Pa NETWORKING" +.It Pa NETWORKING +基本的なネットワークサービスが起動することを保証します。 +一般的なネットワーク設定 +.Pq Pa network1 , network2 , network3 +が含まれます。 +.It Pa SERVERS +基本的なサービス +.Pa ( NETWORKING , ppp-user , syslogd , isdnd +等) が起動することを保証します。 +これらは、早期に開始する +.Pa ( named +などの) サービスのために存在します。 +これらは後述の +.Pa DAEMON +に要求されています。 +.It Pa DAEMON +.Pa lpd +や +.Pa ntpd +といったすべての汎用デーモンの前のチェックポイントです。 +.It Pa LOGIN +ユーザログインサービス +.Pa ( inetd +や +.Pa sshd ) +およびユーザとしてコマンドを実行しうるサービス +.Pa ( cron +や +.Pa sendmail ) +の前のチェックポイントです。 +.El +.It Pa foo.sh +サブシェルではなく現在のシェルにソースされるスクリプトは +.Pa .sh +サフィックスを持ちます。 +この使用には非常に注意してください。 +スクリプトが停止してしまうと、起動シーケンスも停止してしまいますので。 +.It Pa bar +サブシェル内でソースされるスクリプト。 +これらのスクリプトは必要ならば次のシェルコマンドで、ブートを停止できます: +.Bd -literal -offset indent +if [ "$autoboot" = yes ]; then + kill -TERM $$ +fi +exit 1 +.Ed .Pp -.Bl -bullet -compact +これを使用することはかなり控えてください! +.El +.Pp +各スクリプトは +.Xr rcorder 8 +キーワード、特に適切な +.Dq Li PROVIDE +エントリと必要に応じた +.Dq Li REQUIRE +および +.Dq Li BEFORE +のキーワードを含むべきです。 +さらに、すべてのスクリプトは +.Dq Li "# KEYWORD: FreeBSD" +行を持つ必要があります。 +.Pp +各スクリプトは少なくとも下記の引数を扱えることを期待されます。 +これらは、 +.Fn run_rc_command +関数を使用する場合には自動的にサポートされます: +.Bl -tag -width ".Cm restart" -offset indent +.It Cm start +サービスを開始します。 +サービスが開始するよう +.Xr rc.conf 5 +で指定されるか確認すべきです。 +また、サービスが既に実行中かどうか確認し、 +その場合にはサービス開始を拒否すべきです。 +システムが直接マルチユーザモードを起動する場合、ブート処理を高速するために、 +標準の +.Fx +スクリプトは、後者の確認を行いません。 +.Cm forcestart +が指定された場合、 +.Xr rc.conf 5 +のチェックは無視し、強制的に開始します。 +.It Cm stop +.Xr rc.conf 5 +でサービス開始が指定されている場合、サービスを停止します。 +サービスが実際に動作していることを確認し、 +そうでない場合には文句を言うべきです。 +.Cm forcestop +が指定された場合、 +.Xr rc.conf 5 +のチェックは無視し、停止を試みます。 +.It Cm restart +.Cm stop +を実行し、 +.Cm start +を実行します。 +.It Cm status +スクリプトが (1 度限りの動作ではなく) プロセスを起動する場合、 +プロセスの状態を表示します。 +そうでない場合、この引数をサポートする必要はありません。 +デフォルトは、(実行中のものがあれば) プログラムのプロセス ID を表示します。 +.It Cm poll +スクリプトが (1 度限りの動作ではなく) プロセスを起動する場合、 +コマンドの終了を待ちます。 +そうでない場合、この引数をサポートする必要はありません。 +.It Cm rcvar +サービスの起動にどの +.Xr rc.conf 5 +変数が使用されたかを表示します (もしあれば)。 +.El +.Pp +スクリプトが追加コマンドを実装する必要がある場合、 +.Va extra_commands +変数にそれらを列挙し、 +コマンド名からなる変数にその動作を定義可能です +.Sx ( 使用例 +節を参照してください)。 +.Pp +.Pa /usr/local/etc/rc.d/ +ディレクトリ内の古いスクリプトには、次の重要事項が適用されます: +.Pp +.Bl -bullet .It スクリプトは、 .Xr basename 1 がシェルグロブパターン .Pa *.sh にマッチし、実行可能である場合のみ、実行されます。 このディレクトリ中の他のファイルやディレクトリは、黙って無視されます。 .It ブート時にスクリプトを実行するとき、文字列 -.Dq start +.Dq Li start が、最初かつ唯一の引数として渡されます。 シャットダウン時には、文字列 -.Dq stop +.Dq Li stop が、最初かつ唯一の引数として渡されます。 すべての -.Nm rc.d +.Nm rc.d/ スクリプトは、これら引数を適切に扱えるものであると期待されます。 指定時に動作不要の場合 (ブート時にもシャットダウン時にも)、 スクリプトは成功裏に終了し、エラーメッセージを出力してはなりません。 .It 各ディレクトリ内のスクリプトは、辞書順に処理されます。 特定の順序が必要な場合には、 既存のファイル名の前に番号を付けると良いかもしれません。 例えば、 .Pa 100.foo は .Pa 200.bar の前に実行されますが、番号を前に付けないと逆の順番になります。 -.El -.Pp +.It 典型的な各スクリプトの出力は、1 個の空白文字の後に、 起動または終了されたソフトウェアパッケージ名が続き、 最後には改行文字は .Em 付きません ( .Sx 使用例 の節を見てください)。 -.Pp -複数の -.Nm rc.d -ディレクトリから、システム起動スクリプトを実行可能です。 -デフォルトの位置は -.Pa /usr/local/etc/rc.d -と -.Pa /usr/X11R6/etc/rc.d -ですが、 -.Va local_startup -.Xr rc.conf 5 -変数で変更可能です。 -.Pp -.Nm rc.shutdown -は、システムシャットダウンにおいて実行されることが必要なコマンドを持つ -スクリプトです。 -.Pp +.El +.Sh 興味深いスクリプト 自動リブート処理の進行中、 .Nm は -.Em autoboot +.Cm autoboot を引数として起動されます。 -.Nm -はその最初の部分で +.Pa /etc/rc.d/ +から起動されるスクリプトのひとつが +.Pa /etc/rc.d/fsck +です。 +このスクリプトは .Xr fsck 8 を .Fl p +および +.Fl F オプション付きで実行し、 -前回のシステムシャットダウンによる些細なディスク不整合を全て「修繕」し、 +前回のシステムシャットダウンによる些細なディスク不整合を全て +.Dq 修繕 +し、 ハードウェアあるいはソフトウェアの障害から生じた 重大なディスク不整合を調べます。 -この自動チェックと修繕がうまくいくと、 -.Nm -の第二部が開始します。 -.Pp -.Nm -の第二部は -自動リブート処理が成功した後および -シングルユーザモードのシェルが終了して -.Nm -が起動された場合( -.Xr init 8 -参照)に実行されます。 -この第二部はシステムの全てのデーモンを起動し、 -エディタファイルを保存し、 -一時ディレクトリ -.Pa /tmp -をクリアします。 +これが失敗すると、 +ハードウェアもしくはソフトウェアの失敗により発生した重大な矛盾の確認/修復は、 +ブート処理の最後にバックグラウンドで実行されます。 +.Cm autoboot +が設定されていない場合、 +例えばシングルユーザモードからマルチユーザモードへ以降するとき、 +このスクリプトは何もしません。 .Pp .Nm rc.early スクリプトは、起動処理の非常に早い段階、 すなわちファイルシステムチェックの直前に実行されます。 +.Nm rc.early +スクリプトは価値が低下しています。 +このファイルの中のコマンドは、 +.Nm rc.d/ +スタイルスクリプトへ分割し、 +.Nm +システムに組み込むべきです。 +.Pp +.Pa /etc/rc.d/local +スクリプトは複数の +.Nm rc.d/ +ディレクトリ中のスクリプトを実行可能です。 +デフォルト位置は +.Pa /usr/local/etc/rc.d/ +と +.Pa /usr/X11R6/etc/rc.d/ +ですが、 +.Va local_startup +.Xr rc.conf 5 +変数で上書き可能です。 .Pp -.Nm rc.serial +.Pa /etc/rc.d/serial スクリプトは、 シリアルデバイスの特殊な構成があればそれを設定するために使用します。 .Pp -.Nm rc.pccard +.Pa /etc/rc.d/pccard スクリプトは、PC カードを有効にするために使用します。 .Pp -.Nm rc.network +.Pa /etc/rc.d/network* スクリプトは、ネットワークを起動するために使用します。 -ネットワークの起動は 3 パスで行われます。 -最初のパスは、ホスト名とドメイン名を設定し、 -ネットワークインタフェースを構成し、 -IP ファイアウォール規則があれば有効にし、ルーティングを有効にします。 -第 2 パスは、ほとんどのネットワーク関連デーモンの起動を行います。 -第 3 パスは、NFS, amd, rwhod, Kerberos, マルチキャストルーティングデーモンの -起動を行います。 +ネットワークの起動は複数パスで行われます。 +最初のパス +.Pa /etc/rc.d/network1 +は、ホスト名とドメイン名を設定し、 +ネットワークインタフェースを構成します。 +.Pa /etc/rc.d/network2 +スクリプトは、ルーティング開始し、ルーティングオプションを設定します。 +.Pa /etc/rc.d/network3 +スクリプトは、追加のネットワークオプションを設定します。 +最後に +.Pa /etc/rc.d/network_ipv6 +スクリプトは、IPv6 インタフェースとオプションを設定します。 .Pp .Nm rc.firewall スクリプトは、 カーネルベースのファイアウォールサービスの規則の設定に使用されます。 .Pp -.Bl -tag -width "fBfilename" -compact -offset indent -.It open +.Bl -tag -width ".Ar filename" -compact -offset indent +.It Cm open 全入力を許可します。 -.It client +.It Cm client このマシンのみを保護しようとします。 -.It simple +.It Cm simple 全ネットワークを保護しようとします。 -.It closed +.It Cm closed lo0 以外の全 IP サービスを無効にします。 -.It UNKNOWN +.It Cm UNKNOWN ファイアウォール規則のロードを無効にします。 -.It filename +.It Cm filename 指定したファイル名の規則をロードします (フルパス指定が必要)。 .El .Pp -.Nm rc.atm +.Pa /etc/rc.d/atm* スクリプトは、ATM ネットワークインタフェースを設定するために使用されます。 インタフェースは 3 つのパスで設定されます。 第 1 のパスでは、インタフェースの初期設定をおこないます。 第 2 のパスでは、インタフェースの設定が終り、 PVC および永続的な ATMARP エントリを定義します。 第 3 のパスでは、任意の ATM デーモンを起動します。 .Pp -.Nm rc. -スクリプトは、アーキテクチャ依存のプログラムを起動します。 +ネットワーク関連デーモンを含むほとんどのデーモンは、 +起動・停止・サービスの状態確認のために使用可能な自身のスクリプトを +.Pa /etc/rc.d/ +に持ちます。 .Pp -.Nm rc.local -スクリプトが起動されるのは、上記スクリプトの後ですが、残りの -.Nm -ファイルが完了する前です。 -デフォルトインストールでは、 -.Nm rc.local -は存在しませんが、システム管理者がこのファイルを生成すれば、 -その内容が実行されます。 +例えば +.Pa /etc/rc.d/apm +等のアーキテクチャ固有スクリプトは、デーモンの起動前に、 +特に該当アーキテクチャ上であるのかを確認します。 .Pp -伝統に従い、スタートアップファイルは +伝統に従い、すべてのスタートアップファイルは .Pa /etc ディレクトリに置かれます。 .Sh 使用例 +以下は最小の +.Nm rc.d/ +スタイルスクリプトです。 +ほとんどのスクリプトではこれになんらかの追加が必要でしょう。 +.Bd -literal -offset indent +#!/bin/sh +# + +# PROVIDE: foo +# REQUIRE: bar_service_required_to_precede_foo +# BEFORE: baz_service_requiring_foo_to_precede_it +# KEYWORD: FreeBSD + +\&. /etc/rc.subr + +name="foo" +rcvar=`set_rcvar` +command="/usr/local/bin/foo" + +load_rc_config $name +run_rc_command "$1" +.Ed +.Pp +スクリプトによっては追加機能を提供したいでしょう。 +追加コマンドを介することで、この機能にアクセス可能です。 +スクリプトは、コマンドを必要なだけ列挙し定義可能です。 +.Bd -literal -offset indent +#!/bin/sh +# + +# PROVIDE: foo +# REQUIRE: bar_service_required_to_precede_foo +# BEFORE: baz_service_requiring_foo_to_precede_it +# KEYWORD: FreeBSD + +\&. /etc/rc.subr + +name="foo" +rcvar=`set_rcvar` +command="/usr/local/bin/foo" +extra_commands="nop hello" +hello_cmd="echo Hello World." +nop_cmd="do_nop" + +do_nop() +{ + echo "I do nothing." +} + +load_rc_config $name +run_rc_command "$1" +.Ed +.Pp ブート時にデーモンを起動し、シャットダウン時にこれを終了する、 -.Nm rc.d +古いスタイルの +.Pa /usr/local/etc/rc.d/ スクリプトの仮想的な例を示します。 .Bd -literal -offset indent #!/bin/sh - # # foobar パッケージの初期化/シャットダウンスクリプト case "$1" in start) /usr/local/sbin/foo -d && echo -n ' foo' ;; stop) kill `cat /var/run/foo.pid` && echo -n ' foo' ;; *) echo "unknown option: $1 - should be 'start' or 'stop'" >&2 ;; esac .Ed .Pp シャットダウン時には .Xr init 8 が全プロセスを終了させるので、明示的な .Xr kill 1 は不要ですが、これが含まれることが多いです。 +.Sh 関連ファイル +.Bl -tag -compact +.It Pa /etc/rc +.It Pa /etc/rc.conf +.It Pa /etc/rc.conf.local +.It Pa /etc/rc.d/ +.It Pa /etc/rc.firewall +.It Pa /etc/rc.local +.It Pa /etc/rc.shutdown +.It Pa /etc/rc.subr +.El .Sh 関連項目 .Xr kill 1 , .Xr rc.conf 5 , .Xr init 8 , +.Xr rc.subr 8 , +.Xr rcorder 8 , .Xr reboot 8 , .Xr savecore 8 .Sh 歴史 .Nm スクリプトは .Bx 4.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/rc.sendmail.8 b/ja_JP.eucJP/man/man8/rc.sendmail.8 index b5113c7354..4ecebf5e91 100644 --- a/ja_JP.eucJP/man/man8/rc.sendmail.8 +++ b/ja_JP.eucJP/man/man8/rc.sendmail.8 @@ -1,238 +1,256 @@ .\" Copyright (c) 1995 .\" Jordan K. Hubbard .\" Copyright (c) 2002 The FreeBSD Project .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man8/rc.sendmail.8,v 1.1.2.2 2002/05/22 17:01:33 gshapiro Exp % +.\" %FreeBSD: src/share/man/man8/rc.sendmail.8,v 1.6 2002/11/29 11:39:20 ru Exp % .\" .\" $FreeBSD$ .Dd March 30, 2002 .Dt RC.SENDMAIL 8 .Os .Sh 名称 .Nm rc.sendmail .Nd .Xr sendmail 8 起動スクリプト .Sh 解説 .Nm スクリプトは、 .Xr sendmail 8 を起動するために、ブート時に .Pa /etc/rc が使用します。 本スクリプトは .Xr sendmail 8 固有であることを意図しており、すべての MTA に汎用ではありません。 .Xr rc.conf 5 の .Va mta_start_script 変数が .Pa /etc/rc.sendmail に設定されている場合のみ、本スクリプトが .Pa /etc/rc から呼ばれます。 .Pp .Nm は、実行すべき処理を指定する、省略可能な引数を取り得ます。 利用可能な処理は次の通りです: .Bl -tag -width ".Cm restart-mspq" .It Cm start MTA と MSP キューランナを開始します。 .It Cm stop MTA と MSP キューランナを停止します。 .It Cm restart MTA と MSP キューランナを再開始します。 .It Cm start-mta MTA だけを開始します。 .It Cm stop-mta MTA だけを停止します。 .It Cm restart-mta MTA だけを再開始します。 .It Cm start-mspq MSP キューランナだけを開始します。 .It Cm stop-mspq MSP キューランナだけを停止します。 .It Cm restart-mspq MSP キューランナだけを再開始します。 .El .Pp 処理を指定しない場合、 .Cm start が仮定されます。 .Pp .Nm スクリプトは、 .Pa Makefile のターゲット .Cm start , stop , .Cm restart を実現するために、 .Pa /etc/mail/Makefile でも使用されます。 .Sh RC.CONF 変数 次の変数が、 .Nm の動作に影響します。 これらは .Pa /etc/defaults/rc.conf で定義され、 .Pa /etc/rc.conf で変更可能です。 .Bl -tag -width indent .It Va sendmail_enable .Pq Vt 文字列 -.Dq YES +.Dq Li YES に設定すると、システムブート時に .Xr sendmail 8 デーモンを起動します。 -.Dq NONE -に設定すると、システムブート時にいかなる +.Dq Li NO +に設定すると、到着メール監視用に .Xr sendmail 8 -デーモンも起動しません。 +デーモンを起動しません。 +これは、 +.Xr sendmail 8 +デーモンがループバックインタフェースの SMTP ポートを監視することを止めません。 +.Dq Li NONE +オプションは価値が低下しており、使用すべきではありません。 +将来のリリースでは削除されます。 .It Va sendmail_flags .Pq Vt 文字列 .Va sendmail_enable が -.Dq YES +.Dq Li YES の場合、これらは .Xr sendmail 8 デーモンに渡すフラグとなります。 .It Va sendmail_submit_enable .Pq Vt ブール値 -.Dq YES +.Dq Li YES に設定し .Va sendmail_enable を .Dq NO に設定すると、 .Va sendmail_flags の代りに .Va sendmail_submit_flags を使用して .Xr sendmail 8 を実行します。 ローカルホストのみに対して待機する SMTP サービスを介した ローカルからのメール送信を許可することを意図しています。 これは、 .Xr sendmail 8 をセットユーザ ID バイナリとしないために必要です。 .Xr jail 2 システムの中では動作しません。 jail がローカルホストインタフェースへのバインドを許さないからです。 .It Va sendmail_submit_flags .Pq Vt 文字列 .Va sendmail_enable が .Dq Li NO に設定され、 .Va sendmail_submit_enable が .Dq Li YES に設定された場合、これらは .Xr sendmail 8 デーモンに渡されるフラグになります。 .It Va sendmail_outbound_enable .Pq Vt ブール値 -.Dq YES +.Dq Li YES に設定し .Va sendmail_enable と .Va sendmail_submit_enable の両方を -.Dq NO +.Dq Li NO に設定すると、 .Va sendmail_flags の代りに .Va sendmail_outbound_flags を使用して .Xr sendmail 8 を実行します。 SMTP サービスを待ち受けずに、ローカルのメールキュー管理が 出来るようにすることを意図しています。 .It Va sendmail_outbound_flags .Pq Vt 文字列 .Va sendmail_enable と .Va sendmail_submit_enable の両方を -.Dq NO +.Dq Li NO に設定し、 .Va sendmail_outbound_enable を -.Dq YES +.Dq Li YES に設定すると、これらは .Xr sendmail 8 デーモンに渡されるフラグになります。 .It Va sendmail_msp_queue_enable .Pq Vt ブール値 -.Dq YES +.Dq Li YES に設定すると、システムブート時に、クライアント (MSP) キューランナ .Xr sendmail 8 デーモンを、起動します。 sendmail 8.12 では、コマンドラインからの送信には別のキューが使用されます。 クライアントキューランナは、 送信キューに何も置き忘れられないことを保証します。 .It Va sendmail_msp_queue_flags .Pq Vt 文字列 .Va sendmail_msp_queue_enable を -.Dq YES +.Dq Li YES に設定すると、これらは .Xr sendmail 8 デーモンに渡されるフラグになります。 .El .Pp これらの変数は、 .Xr sendmail 8 の起動方法を次のように決定します: .Pp .Bd -literal -offset indent # MTA if (${sendmail_enable} == NONE) # Do nothing else if (${sendmail_enable} == YES) start sendmail with ${sendmail_flags} else if (${sendmail_submit_enable} == YES) start sendmail with ${sendmail_submit_flags} else if (${sendmail_outbound_enable} == YES) start sendmail with ${sendmail_outbound_flags} endif # MSP Queue Runner if (${sendmail_enable} != NONE && [ -r /etc/mail/submit.cf] && ${sendmail_msp_queue_enable} == YES) start sendmail with ${sendmail_msp_queue_flags} endif .Ed +.Pp +いかなる +.Xr sendmail 8 +デーモンも起動しないようにするには、 +.Pa /etc/rc.conf +で次の変数を設定します: +.Bd -literal -offset indent +sendmail_enable="NO" +sendmail_submit_enable="NO" +sendmail_outbound_enable="NO" +sendmail_msp_queue_enable="NO" +.Ed .Sh 関連項目 .Xr rc.conf 5 , .Xr rc 8 , .Xr sendmail 8 .Sh 歴史 .Nm ファイルは、 .Fx 4.6 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/reboot.8 b/ja_JP.eucJP/man/man8/reboot.8 index e3df06f804..da37f5b705 100644 --- a/ja_JP.eucJP/man/man8/reboot.8 +++ b/ja_JP.eucJP/man/man8/reboot.8 @@ -1,158 +1,158 @@ .\" 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 -.\" %FreeBSD: src/sbin/reboot/reboot.8,v 1.19 2002/10/07 21:18:20 thomas Exp % +.\" %FreeBSD: src/sbin/reboot/reboot.8,v 1.20 2002/11/26 09:05:06 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 9, 1993 .Dt REBOOT 8 .Os .Sh 名称 .Nm reboot , .Nm halt , .Nm fastboot , .Nm fasthalt .Nd システムを停止し、再起動する .Sh 書式 .Nm halt .Op Fl lnqp .Op Fl k Ar kernel .Nm .Op Fl dlnqp .Op Fl k Ar kernel .Nm fasthalt .Op Fl lnqp .Op Fl k Ar kernel .Nm fastboot .Op Fl dlnqp .Op Fl k Ar kernel .Sh 解説 .Nm halt と .Nm は、ファイルシステムのキャッシュをディスクへ書き出し、 すべての実行中のプロセスに .Dv SIGTERM を (そして、それに続いて .Dv SIGKILL を) 送ります。 そして、システムを停止 ( .Nm halt ) したり、再起動 ( .Nm ) したりします。 その動作は .Xr wtmp 5 ファイルに記入されます。 それはログインのアカウンティングファイルへのシャットダウン記録の書き出し を含んでいます。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width indent .It Fl d システムへクラッシュダンプ作成を要求します。 本オプションはリブート時のみにサポートされています。 その前に .Xr dumpon 8 によりダンプデバイスが指定されているのでない限り、無効です。 .It Fl k Ar kernel 次回ブート時に、指定された .Ar kernel をブートします。 カーネルブートに成功すると、次回は .Em デフォルト カーネルがブートされます。 つまりこれは、1 度切り有効なオプションです。 ブートに失敗すると、 ブート処理が割り込まれて正当なカーネルがブートされるまで、 システムは .Ar kernel をブートしようとします。 この動作は将来変わるかもしれません。 .It Fl l 停止または再起動は、システムログに記録され .Em ません 。 本オプションは、 .Nm や .Nm halt を呼んで自身で記録をとる、 .Xr shutdown 8 のようなアプリケーション用です。 .It Fl n システムのキャッシュがディスクへ書き出されません。 このオプションは使用すべきではありません。 .It Fl q システムは、とにかく速く停止されたり、 再起動されたりします。そしてシステムのキャッシュの破棄だけが行われます ( .Fl n -フラグが指定されなかった場合)。 +オプションが指定されなかった場合)。 このオプションは使用すべきではありません。 .It Fl p システムは可能であれば電源を切ります。 電源切断に失敗すると、 .Nm halt と -.Nm reboot +.Nm のいずれが呼ばれたかに依存し、通常通りシステム停止またはリブートします。 .El .Pp .Nm fasthalt と .Nm fastboot は、それぞれ .Nm halt と .Nm の単なる別名にすぎません。 .Pp 通常、システムの停止や再起動を要する場合には、 ユーザに事前警告を与えて特定のプログラムを綺麗に停止する .Xr shutdown 8 を使用します。 .Xr shutdown 8 は、ログインしているユーザにシステム停止の警告を与えます。 .Sh 関連項目 .Xr wtmp 5 , .Xr boot 8 , .Xr dumpon 8 , .Xr savecore 8 , .Xr shutdown 8 , .Xr sync 8 .Sh 歴史 .Nm ユーティリティは .At v6 で追加されました。 diff --git a/ja_JP.eucJP/man/man8/repquota.8 b/ja_JP.eucJP/man/man8/repquota.8 index c263d0acc9..1d2112b179 100644 --- a/ja_JP.eucJP/man/man8/repquota.8 +++ b/ja_JP.eucJP/man/man8/repquota.8 @@ -1,110 +1,110 @@ .\" Copyright (c) 1983, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Robert Elz at The University of Melbourne. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)repquota.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/repquota/repquota.8,v 1.8 2002/07/14 14:45:24 charnier Exp % +.\" %FreeBSD: src/usr.sbin/repquota/repquota.8,v 1.9 2002/12/12 17:26:03 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt REPQUOTA 8 .Os .Sh 名称 .Nm repquota .Nd ファイルシステムの割り当て制限状況を表示する .Sh 書式 .Nm .Op Fl g .Op Fl u .Op Fl v .Ar filesystem Ar ... .Nm .Op Fl g .Op Fl u .Op Fl v .Fl a .Sh 解説 .Nm ユーティリティは、指定されたファイルシステムのディスク使用状況と、 割り当て制限状況を表示します。 .Pp オプションは以下のとおりです: .Bl -tag -width indent .It Fl a .Pa /etc/fstab に記述された全ファイルシステムに関する情報を表示します。 .It Fl g グループ割り当て制限のみを表示します (デフォルトでは、グループ、ユーザ両方の割り当て制限を表示します)。 .It Fl u ユーザ割り当て制限のみを表示します (デフォルトでは、グループ、ユーザ 両方の割り当て制限を表示します)。 .It Fl v 個々のファイルシステムの割り当て (クォータ) を表示する前に、ヘッダ行を出 力します。 .El .Pp 各ユーザやグループに関する現在の、ファイル数、サイズ (キロバイト単位)、 および割り当て制限 ( .Xr edquota 8 により設定される)が表示されます。 .Pp operator グループに所属するユーザかスーパユーザのみが、このコマンドを 実行できます。 .Sh 関連ファイル .Bl -tag -width quota.group -compact .It Pa quota.user ユーザの割り当て制限に関するデータ (ファイルシステムのルートディレクトリに配置される) .It Pa quota.group グループの割り当て制限に関するデータ (ファイルシステムのルートディレクトリに配置される) .It Pa /etc/fstab ファイルシステムの名前と位置を読み取る .El .Sh 関連項目 .Xr quota 1 , .Xr quotactl 2 , .Xr fstab 5 , .Xr edquota 8 , .Xr quotacheck 8 , .Xr quotaon 8 .Sh 診断 アクセス不可能なファイルに関する様々なメッセージが出力されます。 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 で追加されました。 diff --git a/ja_JP.eucJP/man/man8/rmuser.8 b/ja_JP.eucJP/man/man8/rmuser.8 index 205214f1d2..5e4fd12762 100644 --- a/ja_JP.eucJP/man/man8/rmuser.8 +++ b/ja_JP.eucJP/man/man8/rmuser.8 @@ -1,176 +1,197 @@ .\" Copyright 1995, 1996, 1997 .\" Guy Helmer, Ames, Iowa 50014. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer as .\" the first lines of this file unmodified. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY GUY HELMER ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL GUY HELMER BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/adduser/rmuser.8,v 1.16 2002/07/14 14:42:12 charnier Exp % +.\" %FreeBSD: src/usr.sbin/adduser/rmuser.8,v 1.19 2002/12/12 17:26:01 ru Exp % .\" $FreeBSD$ .\" -.Dd February 23, 1997 +.Dd May 10, 2002 .Dt RMUSER 8 .Os .Sh 名称 .Nm rmuser .Nd システムからユーザを削除する .Sh 書式 .Nm .Op Fl y -.Op Ar username +.Op Fl f Ar file +.Op Ar username ... .Sh 解説 .Nm -ユーティリティ -は以下を行います。 +ユーティリティは、コマンドラインまたはファイルから提供される、 +ひとり以上のユーザの削除を行います。 +システムからユーザを削除するときにこのユーティリティは以下を行います: .Bl -enum .It ユーザの .Xr crontab 1 エントリ (存在すれば) を削除します。 .It ユーザの .Xr at 1 ジョブを削除します。 .It -ユーザが所有する全プロセスに SIGKILL を送ります。 +ユーザが所有する全プロセスに +.Dv SIGKILL +を送ります。 .It システムのローカルパスワードファイルからユーザのエントリを削除します。 .It ホームディレクトリがユーザ所有であれば削除します。 この際、実際のホームディレクトリまでのパスに存在するシンボリックリンク も削除します。 .It .Pa /var/mail より、 -存在すれば入力メールと pop デーモンのメールファイルを削除します。 +存在すれば入力メールと POP デーモンのメールファイルを削除します。 .It ユーザが所有する全ファイルを -.Pa /tmp , -.Pa /var/tmp , -.Pa /var/tmp/vi.recover , +.Pa /tmp , /var/tmp , /var/tmp/vi.recover から削除します。 .It ユーザ名を .Pa /etc/group の全てのグループから削除します。 (グループが空になりかつグループ名とユーザ名が等しければ、 グループも削除されます。これは、 .Xr adduser 8 がユーザ 1 人に対して唯一のグループを与えているためです)。 .El .Pp .Nm ユーティリティは、 -ユーザ id が 0 であるユーザ (典型的には root です) の削除は丁寧に拒否します。 +ユーザ id が 0 であるユーザ (典型的には root です) の削除は拒否します。 この仕様は、ある動作 (つまり、ユーザの全プロセスを殺したり ユーザのホームディレクトリを削除すること) が実行システムにダメージを 与えうることを考慮しています。 -ユーザ id が 0 であるユーザを削除することが必要な場合は、 +UID が 0 であるユーザを削除することが必要な場合は、 .Xr vipw 8 を参照し、パスワードファイルを直接編集する方法を調べてください。 -これにより、望みのユーザの -.Xr passwd 5 -エントリを手動で削除可能です。 .Pp -「断言的」に実行されていない場合 (つまり .Fl y -オプションが指定されていない場合) は、 +オプションと共に .Nm -は、選択されたユーザのパスワードファイルエントリを表示し、 -本当に消したいユーザであるのか尋ねます。ユーザのホームディレクトリが -ユーザ所有であれば、 -.Nm -はユーザのホームディレクトリ以下の全てを消してもいいのかどうか -訊いてきます。 +が起動されていない場合、 +選択されたユーザのパスワードファイルエントリを表示し、 +本当に消したいユーザであるのか尋ねます。 +その後、ユーザのホームディレクトリを消しても良いのかどうか確認します。 +答が肯定であった場合、 +ホームディレクトリと配下のすべてのファイルとサブディレクトリは、 +それらがユーザ所有であった場合にのみ削除されます。 +更なる詳細は +.Xr pw 8 +を参照してください。 .Pp .Nm の動作中、現在なにをやっているかをユーザに知らせます。 エラーが発生すると、標準エラー出力にそれを表示し、 .Nm が動作継続可能であれば動作を継続します。 .Pp 以下のオプションが利用可能です。 .Pp -.Bl -tag -width username +.Bl -tag -width ".Ar username" +.It Fl f Ar file +.Nm +ユーティリティは、削除対象のユーザリストを +.Ar file +から得ます。 +このファイルは 1 行に 1 ユーザを含みます。 +ハッシュ記号 +.Pq Ql # +を含むこれ以降はコメントとみなされ、処理されません。 +ファイルの所有者が UID 0 のユーザ以外の場合か、 +所有者以外から書き込み可能である場合、 +.Nm +は継続を拒否します。 .It Fl y -断言します - 問われる質問は全て断言 (すなわち肯定) します。 -このオプションを指定する場合にはユーザ名も指定する必要があります。 -.It Ar \&username +すべての問い合わせに暗黙的に +.Dq Li yes +と答えます。 +現在のところ、指定したユーザを削除するかどうかの確認と、 +ホームディレクトリを削除するかどうかの確認が含まれます。 +本オプションを使うには、 +.Fl f +オプションを使うか、 +コマンドライン引数として 1 人以上のユーザを指定する必要があります。 +.It Ar username 消去するユーザを指定します。 指定されていなければ、 .Nm は、対話的に消去するユーザを尋ねます。 .El .Sh 関連ファイル -.Bl -tag -width /etc/master.passwd -compact +.Bl -tag -compact .It Pa /etc/master.passwd .It Pa /etc/passwd .It Pa /etc/group .It Pa /etc/spwd.db .It Pa /etc/pwd.db .El .Sh 関連項目 .Xr at 1 , .Xr chpass 1 , .Xr crontab 1 , .Xr finger 1 , .Xr passwd 1 , .Xr group 5 , .Xr passwd 5 , .Xr adduser 8 , +.Xr pw 8 , .Xr pwd_mkdb 8 , .Xr vipw 8 .Sh 歴史 .Nm ユーティリティは、 .Fx 2.2 から導入されました。 -.\" .Sh 作者 -.\" Guy Helmer, Ames, Iowa .Sh バグ .Nm ユーティリティは、包括的にファイルシステムを検索して 削除されたユーザの全ファイルを消すわけではありません; あらゆる規模のシステムにおいてもこのようなことをしてしまうと、 法外なほど遅くなり I/O 負荷がかかります。また、 .Nm ユーティリティは、ユーザが .Pa /tmp や .Pa /var/tmp に作成したシンボリックリンクを削除できません。 なぜなら、 .Bx 4.4 ファイルシステムではシンボリクリンクを誰が作成したかの情報 を持たないからです。 さらに、 .Pa /var/mail には、 -.Pa /var/mail/username +.Pa /var/mail/ Ns Ar username でも -.Pa /var/mail/.pop.username +.Pa /var/mail/.pop. Ns Ar username でもないファイルで、削除されたユーザ所有ではないものの、 削除すべきファイルが有るかもしれません。 .Pp .Nm -ユーティリティは NIS (Yellow Pages) については何も知りませんので、 +ユーティリティは YP/NIS については何も知りませんので、 ローカルパスワードファイルに対してのみ動作します。 diff --git a/ja_JP.eucJP/man/man8/rpc.rquotad.8 b/ja_JP.eucJP/man/man8/rpc.rquotad.8 index 7ccd5023d0..500db7e173 100644 --- a/ja_JP.eucJP/man/man8/rpc.rquotad.8 +++ b/ja_JP.eucJP/man/man8/rpc.rquotad.8 @@ -1,70 +1,70 @@ .\" .\" Copyright (c) 1994 Theo de Raadt .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Theo de Raadt. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/libexec/rpc.rquotad/rpc.rquotad.8,v 1.10 2002/07/06 19:19:21 charnier Exp % +.\" %FreeBSD: src/libexec/rpc.rquotad/rpc.rquotad.8,v 1.11 2002/12/12 17:25:54 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 22, 1994 .Dt RPC.RQUOTAD 8 .Os .Sh 名称 .Nm rpc.rquotad .Nd リモートの quota (割り当て制限) サーバ .Sh 書式 .Nm /usr/libexec/rpc.rquotad .Sh 解説 .Nm ユーティリティは、 リモートマシンへ NFS マウントされているファイルシステムについて ユーザに対するローカルマシンでの割り当て制限値を返す .Xr rpc 3 サーバです。 .Xr quota 1 ユーティリティは、リモートファイルシステムの割り 当て制限値を表示するために本サーバを用います。 .Nm ユーティリティは通常 .Xr inetd 8 から起動されます。 .Pp .Nm ユーティリティは .Pa /usr/include/rpcsvc/rquota.x で定義される .Tn RPC プロトコルを使用します。 .Sh バグ .Bx 4.4 と .Fx はグループに対する割り当て制限をサポートしていますが、 rqutoa プロトコルはこれをサポートしていません。 .Sh 関連項目 .Xr quota 1 diff --git a/ja_JP.eucJP/man/man8/rpc.umntall.8 b/ja_JP.eucJP/man/man8/rpc.umntall.8 index 81d907d856..7ad1cc953c 100644 --- a/ja_JP.eucJP/man/man8/rpc.umntall.8 +++ b/ja_JP.eucJP/man/man8/rpc.umntall.8 @@ -1,122 +1,122 @@ .\" .\" Copyright (c) 1999 Martin Blapp .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/rpc.umntall/rpc.umntall.8,v 1.9 2002/07/14 14:45:41 charnier Exp % +.\" %FreeBSD: src/usr.sbin/rpc.umntall/rpc.umntall.8,v 1.10 2002/12/12 17:26:03 ru Exp % .\" .\" $FreeBSD$ .Dd November 17, 1999 .Dt RPC.UMNTALL 8 .Os .Sh 名称 .Nm rpc.umntall .Nd アンマウントされた NFS ファイルシステムを NFS サーバに通知する .Sh 書式 .Nm .Op Fl e Ar expire .Op Fl h Ar host .Op Fl k .Op Fl p Ar remotepath .Op Fl v .Sh 解説 .Nm ユーティリティは .Tn NFS RPC 仕様で提案されているコマンドです。 .Rs .%T "NFS Version 3 Protocol Specification" .%O "RFC 1813, Appendix I" .Re を参照してください。 本コマンドは、遠隔手続き呼び出しを使用し、 リモート NFS サーバ上の .Pa /var/db/mountdtab からマウントエントリを削除します。 本コマンドは、システムの起動時とシャットダウン時に、 パラメータ無しに自動的に呼び出されます。 これにより、古くて無効になったエントリを .Xr showmount 8 が表示しないよう保証します。 .Nm ユーティリティはクライアント側にのみ必要です。 クライアント側では、 .Xr mount_nfs 8 がマウントエントリを現在の日付と共に .Pa /var/db/mounttab に追加し、 .Xr umount 8 が今度はエントリを削除します。 .Nm ユーティリティは、クラッシュや不適切なシャットダウンによって この表に残ってしまった全エントリの面倒を見ます。 .Pp オプションは次の通りです: .Bl -tag -width indentxxx .It Fl e Ar expire 実際にはマウントされていないエントリまたは .Ar expire (秒) よりも古いエントリを、 .Pa /var/db/mounttab からすべて削除します。 DNS が変更された場合、 または長期間サービスが提供されなかった場合、これにあてはまります。 デフォルトの無効化時間は 86400 秒 (1 日) です。 .It Fl h Ar host 特定のホスト名のみ削除します。 UMNTALL RPC を NFS サーバへ送ります。 .It Fl k 既存の NFS ファイルシステム用のエントリを保持します。 mounttab からの NFS ファイルシステムとカーネルのマウントリストを比較し、 既存のマウントエントリへは RPC を送信しません。 これはシステム起動時に有用です。 既にマウント済の NFS ファイルシステムが存在する可能性がありますので、 RPC UMOUNT の呼び出しは良くありません。 ユーザが「シングルユーザモード」へリブートしてから、 システムを再起動する場合、これにあてはまります。 .It Fl p Ar path 特定のマウントパスのみ削除します。 UMOUNT RPC を NFS サーバへ送ります。 本コマンドは .Fl host オプションを暗黙的に指定します。 .It Fl v 冗長になり、 mounttab の各エントリの処理毎に、追加情報が表示されます。 .El .Sh 関連ファイル .Bl -tag -width /var/db/mounttab -compact .It Pa /var/db/mounttab マウント済みの NFS ファイルシステム .El .Sh 歴史 .Nm ユーティリティは .Fx 4.0 ではじめて登場しました。 .Sh 関連項目 .Xr mountd 8 , .Xr mount_nfs 8 , .Xr umount 8 .Sh 作者 .An Martin Blapp Aq mb@imp.ch diff --git a/ja_JP.eucJP/man/man8/showmount.8 b/ja_JP.eucJP/man/man8/showmount.8 index 29676e4a06..e29767720b 100644 --- a/ja_JP.eucJP/man/man8/showmount.8 +++ b/ja_JP.eucJP/man/man8/showmount.8 @@ -1,103 +1,100 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Rick Macklem at The University of Guelph. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)showmount.8 8.3 (Berkeley) 3/29/95 -.\" %FreeBSD: src/usr.bin/showmount/showmount.8,v 1.15 2002/10/12 05:45:01 jmallett Exp % +.\" %FreeBSD: src/usr.bin/showmount/showmount.8,v 1.17 2002/12/12 17:26:01 ru Exp % .\" $FreeBSD$ .\" .Dd March 29, 1995 .Dt SHOWMOUNT 8 .Os .Sh 名称 .Nm showmount .Nd NFS サーバに対する現在のリモート NFS マウントを表示する .Sh 書式 .Nm -.Oo -.Fl a | -.Fl d -.Oc +.Op Fl a | d .Op Fl e3 .Op Ar host .Sh 解説 .Nm ユーティリティは、ホスト .Ar host 上の .Tn NFS サーバの情報を表示します。 デフォルトでは、そのホストの .Tn NFS ファイルシステムをマウントしているすべての クライアントのホスト名を表示します。プロトコルの詳細については、RFC1094, .%T "NFS: Network File System Protocol Specification" の Appendix A と、 .%T "NFS: Network File System Version 3 Protocol Specification" の Appendix I を参照してください。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl a 以下のような形ですべてのマウントポイントを表示します: .Bd -ragged -offset indent -compact .Ar host : Ns Ar dirpath .Ed .It Fl d クライアントのホスト名のかわりに、 マウントポイントのディレクトリパスを表示します。 .It Fl e 指定した .Ar host の公開設定 (NFS エクスポート) しているファイルシステムを表示します。 .It Fl 3 .Tn NFS バージョン 3 と互換性のある、マウントプロトコルバージョン 3 を使用します。 .El .Sh 関連項目 .Xr mount 8 , .Xr mountd 8 , .Xr mount_nfs 8 .Sh バグ .Tn NFS サーバはステートレス (クライアントの状態を持たない) なので、 サーバ上で実行しているマウントデーモンが分かるのは、 実際にマウントされているものだけです。 .Nm ユーティリティは、マウントデーモンが報告するのと同じ程度の正確さでしか 情報を表示しません。 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/sicontrol.8 b/ja_JP.eucJP/man/man8/sicontrol.8 index 7fb7b02fda..3fa06315cf 100644 --- a/ja_JP.eucJP/man/man8/sicontrol.8 +++ b/ja_JP.eucJP/man/man8/sicontrol.8 @@ -1,107 +1,107 @@ -.\" %FreeBSD: src/usr.sbin/sicontrol/sicontrol.8,v 1.17 2002/07/14 14:46:11 charnier Exp % +.\" %FreeBSD: src/usr.sbin/sicontrol/sicontrol.8,v 1.18 2002/11/04 22:44:41 dwmalone Exp % .\" .\" $FreeBSD$ .Dd September 26, 1995 .Dt SICONTROL 8 .Os .Sh 名称 .Nm sicontrol .Nd Specialix 社 SI/XIO ドライバの設定とデバッグ .Sh 書式 .Nm device .Ar command Op Ar param ... .Sh 解説 .Nm ユーティリティは、 SI/XIO デバイスドライバの設定やモニタリングをおこなうために使用します。 .Pp .Nm は .Ar device で指定されたポートを操作します。 .Pp ドライバ全体の設定をおこなう際には、特別なデバイス名 `-' を .Ar device に指定します。 .Pp 必要であれば、デバイス名には .Pa /dev/ が補完されます。 .Pp 以下のコマンドはドライバ全体の設定をおこなうので、 デバイス名に '-' を指定する必要があります。 .Bl -tag -width 4n .It Cm int_throttle Op Cm value 「総合割り込みスロットル値」を設定します。 ホストアダプタ割り込みの 1 秒あたりの最大値は次のようにして求められます: .Pp .Ar "controller CPU clock / (8 * int_throttle)" .Pp ブート時のデフォルト値は 25000 で、ホストアダプタの CPU クロックは 25MHz ですから、この場合の最大割り込みレートは約 125 回/秒になります。 .Pp この値を下げると、ホストアダプタがオペレーティングシステムに 処理を要求するための割り込みのレートを増加させることができます。 .\" .It Cm rxint_throttle Op Cm value 受信割り込みスロットル値を設定します。 ブート時のデフォルト値は 4 で、割り込みレートは約 25 回/秒になります。 .Pp この値を下げると、ホストアダプタがオペレーティングシステムに受信 FIFO を 空にするよう要求する割り込みのレートを増加させることができます。 .\" .It Cm nport そのデバイスドライバの制御下にあるシリアルポートの数を返します。 .El .Pp 以下のコマンドは個々のシリアルポートに対して実行されるため、 .Pa /dev 以下のデバイス名を指定する必要があります。 .Bl -tag -width 4n .It Cm mstate モデムが駆動する制御信号の、現在の状態を表示します。 .It Cm ccbstat 指定されたシリアルポートの "ccb" 構造体の、現在の内容を表示します。 これはドライバのデバッグや、シリアルポートが反応しない原因の調査以外には、 あまり使い道がありません。 .It Cm ttystat 指定されたシリアルポートに関するカーネル内部の "tty" 構造体の現在の内容を 表示します。これはドライバのデバッグ以外には、あまり使い道がありません。 .El .Sh 関連ファイル .Bl -tag -width /dev/si_control -compact .It Pa /dev/si_control .Xr sicontrol 8 で使用される、ドライバ全体の制御ファイル .It Pa /dev/ttyA* 端末制御ポート .It Pa /dev/ttyiA* .Xr stty 1 で使用される、初期 termios ステートデバイス .It Pa /dev/ttylA* .Xr stty 1 で使用される、ロックされた termios ステートデバイス .El .Sh 診断 一般に自明です..... .Sh 関連項目 .Xr stty 1 , .Xr si 4 , .Xr termios 4 , .Xr tty 4 , .Xr comcontrol 8 .Sh 歴史 .Nm ユーティリティは .An Andy Rutter Aq andy@acronym.co.uk によって書かれた .Nm siconfig ユーティリティを基にしている部分が多少あります。 .Pp Specialix International 社は、このデバイスドライバに関して、 いかなる形のサポートもおこないません。 .Sh 作者 .An Peter Wemm Aq peter@FreeBSD.org .Sh バグ たくさんあるでしょう... :-) diff --git a/ja_JP.eucJP/man/man8/sysinstall.8 b/ja_JP.eucJP/man/man8/sysinstall.8 index 14e2d21d22..56e8e27eb7 100644 --- a/ja_JP.eucJP/man/man8/sysinstall.8 +++ b/ja_JP.eucJP/man/man8/sysinstall.8 @@ -1,993 +1,998 @@ .\" Copyright (c) 1997 .\" Jordan Hubbard . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must 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 Jordan Hubbard AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Jordan Hubbard OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/sysinstall/sysinstall.8,v 1.53 2002/07/14 14:46:26 charnier Exp % +.\" %FreeBSD: src/usr.sbin/sysinstall/sysinstall.8,v 1.54 2002/11/26 23:23:42 keramida Exp % .\" .\" $FreeBSD$ .\" .Dd August 9, 1997 .Dt SYSINSTALL 8 .Os .Sh 名称 .Nm sysinstall .Nd システムのインストール及び設定のためのツール .Sh 書式 .Nm .Op Ar var=value .Op Ar function .Op Ar ... .Sh 解説 .Nm ユーティリティは、 .Fx システムのインストールと設定のためのユーティリティです。 これは .Fx インストーラのブートフロッピが最初に起動するプログラムであり、 新規に .Fx システムがインストールされた時には .Pa /stand/sysinstall に、後のシステム設定で使用するためにコピーされます。 .Pp この .Nm ユーティリティは、引数なしで起動された場合には既定のモードで動作します。 このモードでは、インストール及び設定のためのメニューが存在します。 .Pp しかし sysinstall のサブシステムを直接起動する必要がある場合には、 コマンドラインからそれを指定することもできます。インストールスクリプトを 実行することとコマンドラインからの指定はまったく同じことなので、 スクリプトの作成に関するセクションに目を通しておくと良いでしょう。 .Sh 注 .Nm ユーティリティは、 .Xr libdisk 3 の機能を用いて MBR やディスクラベルを書くことと、新規および既存の .Fx システムに、配布ファイルや package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) をインストールすることができるモノリシックな C プログラムに過ぎません。 また、このプログラムは .Fx インストールのための起動処理の中で実行されたときのために、 .Xr init 8 の代用として動作するための機能も併せ持っています。 これは自分以外のユーティリティのサポートがほとんどないと仮定し、 ファイルシステム操作のほとんどを、(たとえば .Xr mount 2 のような) ユーティリティに相当するシステムコールを 直接呼び出すことによって行ないます。 .Pp .Nm ユーティリティは現在のところ、 システムコンソールや、カラー表示をサポートした端末 エミュレータで起動した場合に単純な ANSI ライングラフィックスや色を 使った操作を実現するために .Xr dialog 3 を使用しています (xterm の新しいバージョンでは、temcap の .Dq xterm-color エントリを使用することでカラー表示をサポートします)。 .Pp このプログラムはそろそろライフサイクルの終わりに来ており、新しい ものによって置き換えられるかもしれません。 .Sh スクリプトの実行 .Nm ユーティリティは、 そのさまざまなメニューを通じ対話的に操作することもできますし、外部の スクリプトによってバッチモードで動作させることもできます。このような スクリプトを読み込んで実行する方法には以下の 3 通りがあります: .Bl -tag -width Ds .It Sy "LOAD_CONFIG_FILE" もし .Nm が、環境変数 (または Makefile 中に) LOAD_CONFIG_FILE に何らかの値が セットされた状態でコンパイルされていれば、 .Nm が非対話的なモードで起動された際に自動的に探して読み込むファイル名として その値が用いられます。このオプションは、大きなサイトにおいて、 ほぼ同じ設定とインストールオプションで、ひとつの雛型に基づき 多数のマシンにインストールしたい場合のためのものです。 .It Sy "メインメニュー" .Nm が対話的に起動された場合、すなわち既定の方法で起動された場合、オプション "load config file" を含むメインメニューを表示します。このオプションを 選択すると、スクリプトファイル名を尋ねるプロンプトが出され、続いてその ファイルを DOS または UFS 形式のフロッピディスクから読み込みます。 .It Sy "コマンド行" .Nm がマルチユーザモードで動作している場合はコマンドライン引数のそれぞれが スクリプトの指示であるとして扱われます。実行終了のリクエスト (たとえば .Ar shutdown 指示など)、引数列の終わり、エラー発生のいずれかにより実行は終了します。 .Pp たとえば、 .Bd -literal /stand/sysinstall _ftpPath=ftp://ziggy/pub/ mediaSetFTP configPackages .Ed .Pp は、 .Nm を、インストールメディア FTP (サーバは `ziggy') で初期化し、続いて package インストールエディタを起動し、それが終わると終了します。 .El .Sh スクリプトの文法 スクリプトはひとつ以上の指示のリストです。それぞれの指示は以下の形をとります。 .Pp .Ar var=value .Pp .Ar function .Pp .Ar #somecomment .Pp .Ar var=value は、たとえば "ftpPass=FuNkYChiKn" のような、 .Nm の内部変数の設定です。また、 .Ar function は、"mediaSetFTP" のような .Nm の内部関数の名称であり、 .Ar #comment はドキュメンテーションのために挿入する一行のコメントです (sysinstall はこれを無視します)。 それぞれの指示は一行にひとつずつ書かれなければなりません。 関数は、既知の変数名を調べることで、その引数を得ます。 したがって、ある変数を必要とする関数を呼び出す前には、 関連する変数を予め設定しておく必要があります。 .Pp 各ディレクティブの前に .Ar noError 変数を設定しておくことが可能です。 これにより、ディレクティブ自身は無視されるような場合においても、 エラーを検知可能とします。 .Ar noError の値は、ディレクティブが処理されるたび自動的に、 デフォルトの "未設定" に戻ります。 .Pp いつどの関数が、どの変数に依存するかを、 下の表に示します。 .Pp .Sy "関数一覧" : .Pp .\"===kuma=========================================== .Bl -tag -width indent .It configAnonFTP 匿名 FTP の設定メニューを起動します。 .Pp .Sy 変数: 無し .It configRouter 使用したいルーティングデーモンを選択します。必要ならサードパーティの ものを使用することもできます。 .Pp .Sy 変数: .Bl -tag -width indent .It router これには、たとえば .Dq routed や .Dq gated のように、希望するルーティングデーモンの名前を設定します。 設定されていなければ入力を求められます。 .El .It configNFSServer ホストを NFS サーバとして設定します。 .Pp .Sy 変数: なし .It configNTP ホストをネットワークタイムプロトコルのユーザとして設定します。 .Pp .Sy 変数: .Bl -tag -width indent .It ntpdate_flags これには、 .Xr ntpdate 8 のオプションを設定します。同期をとるために使用するサーバの名前は ここに設定してください。 .El .It configPCNFSD ホストを PC NFS をサポートするように設定します。 .Pp .Sy 変数: .Bl -tag -width indent .It pcnfsd_pkg 必要ならば PCNFSD の package 名を設定します (既定値としてハードコード されたものが使用されます)。 .El .It configPackages 対話的な package 管理画面を起動します。 .Pp .Sy 変数: なし .It configUsers システムにユーザやグループを追加します。 .Pp .Sy 変数: なし -.It configXEnvironment +.It configXSetup X ウィンドウシステムの設定を行います。 .Pp .Sy 変数: なし +.It configXDesktop +X デスクトップの設定を行います。 +.Pp +.Sy 変数: +なし .It diskPartitionEditor ディスクパーティション (MBR) エディタを起動します。 .Pp .Sy 変数: .Bl -tag -width findx .It geometry シリンダ数/ヘッド数/セクタ数の形式で書かれたディスクジオメトリを 設定します。 既定値: ジオメトリを変更しません。 .It partition ディスクパーティションのタイプやサイズを設定します。この値が .Ar free であれば、 .Fx のために使用可能な空き領域のみを使用します。 .Ar all であれば、ディスク全体を .Fx に割り当てますが、正しいパーティションテーブルを作成します。 .Ar existing であれば、既存の .Fx パーティションのうち、最初に見つかったものを使用します。 .Ar exclusive であれば、ディスクを、 .Dq 危険な方法で専用化された モードで使用します。 最後に、 .Ar somenumber であれば、空き領域のうちの .Ar somenumber ブロックを新規の .Fx パーティションのために使用します。 既定値: 対話モードで起動します。 .It bootManager は、次のどれかから選択する必要があります。 .Ar boot は、ブートマネージャのインストールを指示します。 .Ar standard は、ブートマネージャでない「標準の」DOS MBRのインストールを指示します。 .Ar none は、ブートマネージャに対して何の操作も行わないことを指示します。 既定値: none です。 .It diskInteractive 設定すると、対話的なディスクパーティションエディタを起動します。 .El .Pp 注意: この関数では実際のディスクへの書き込みは行われません。実際に 書き込みを行うためには、 .Ar diskPartitionWrite 操作を行う必要があります。 .It diskPartitionWrite は、MBR に対する、待ち状態にあるすべての変更を行います (一般には .Ar diskPartitionEditor によって呼び出されます)。 .Pp .Sy 変数: 無し .It diskLabelEditor ディスクラベルエディタを起動します。 スクリプトから動かすのはちょっと手品のようになります。 というのも、 .Ar diskPartitionEditor 関数で作成された各 .Fx (タイプ 0xA5) パーティション中のすべてに対してラベルする必要が 本質的にあるためであり、 これはどのようにレイアウトされるかについての少数のルールを知る 必要があるためです。 スクリプトを作成して、 自動的にディスク空間の割り当てとパーティションを行う場合、 少なくとも一度はまず対話的にインストールを実行し、 スライス名がどうなるかを見てから、 これをスクリプトに埋め込むことをお勧めします。 .Pp 例えば、SCSI ディスクがあり、そのスライス 2 に .Fx を作成したとします (DOS パーティションはスライス 1 にあるとします)。 .Fx 全体のスライス名は .Ar da0s2 になります (DOS プライマリパーティションは .Ar da0s1 となります)。 更に、このパーティションに 500MB あり、 この空間をルートとスワップと var と usr のファイルシステムに 更に分割すると仮定します。 .Ar diskLabelEditor 関数呼び出しには、次の変数設定が伴うでしょう: .Bl -tag -width findx .It Li "da0s2-1=ufs 40960 /" 20MB ルートファイルシステム (すべての大きさは 512 バイトブロック数)。 .It Li "da0s2-2=swap 131072 /" 64MB スワップパーティション。 .It Li "da0s2-3=ufs 204800 /var" 100MB /var ファイルシステム。 .It Li "da0s2-4=ufs 0 /usr 1" 空き空間の残り (約 316MB) が /usr ファイルシステムで ソフトアップデートを有効にします (マウントポイント後の非 0 引数は、ソフトアップデートフラグ設定を意味します)。 .El .Pp 新規パーティションを作成するのと同様に、 既存のパーティションのマウントや消去に、 .Ar diskLabelEditor を使用可能です。 前の例の、DOS パーティションをマウントし、これに対応する .Pa /etc/fstab エントリを、新規インストールにおいて作成したいとします。 .Ar diskLabelEditor 関数の呼び出し前に、次の追加行を単に足せば良いです: .Pp .Dl "da0s1=/dos_c N" .Pp これは、最初のスライスを .Pa /dos_c にマウントしてこれを newfs しないよう、ラベルエディタに指示します ( .Nm は DOS パーティションに対しては如何なる場合でも newfs を実行しません。 既存の UFS パーティションに対しても、ここに名前を書くことで実行できます。 2 番目のフィールドは省略不可です)。 .\" なんだかよくわかりません horikawa 2001/03/25 .\" 原文は .\" not that sysinstall would attempt this for a DOS partition in .\" any case, but it could just as easily be an existing UFS partition .\" being named here and the 2nd field is non-optional .Pp .Ar diskInteractive 変数を設定することにより、 前述のように変数を使用した明示的なレイアウトを行う代りに、 ディスクラベルエディタが対話的なダイアログを使用してディスクを分割するよう、 要求できます。 .Pp 注: .Ar diskLabelCommit が呼び出される前は、 ファイルシステムデータは実際にディスクに書き込まれません。 .It diskLabelCommit 設定した、待ち状態であるディスクラベル情報をすべて書き込み、 .Ar diskLabelEditor でマウントを設定したすべてのファイルシステムをマウントします。 .Pp .Sy 変数: なし .It distReset 選択した配布ファイルのセットをリセットして、何も選択していない状態にします。 .Pp .Sy 変数: なし .It distSetCustom 配布ファイルセットの選択を、予め用意されたセットからの選択でなく、 非対話モードでも「カスタム」で行うようにします。 .Pp .Sy 変数: .Bl -tag -width indent .It dists 読み込む配布ファイルのセットのリストを設定します。 値として使用できるのは以下の通りです。 .Bl -tag -width indentxx .It Li bin 基本バイナリファイルのセット .It Li doc 様々な文書 .It Li games ゲーム .It Li manpages フォーマット前のマニュアルページ .It Li catpages フォーマット済のマニュアルページ .It Li proflibs 開発者のためのプロファイルされたライブラリ .It Li dict スペルチェックなどのツールのための辞書情報 .It Li info GNU info ファイルとその他の追加文書 .It Li crypto 暗号化のためのバイナリとライブラリ .It Li compat1x .Fx 1.x との互換性 .It Li compat20 .Fx 2.0 との互換性 .It Li compat21 .Fx 2.1 との互換性 .It Li compat22 .Fx 2.2 及び .Fx 3.0 の a.out バイナリ互換性 .It Li compat3x .Fx 3.x との互換性 ( .Fx 4.0 でのみ利用可能) .It Li compat4x .Fx 4.x との互換性 .Fx ( 5.0 システムでのみ利用可能) .It Li ports ports コレクション .It Li krb4 KerberosIV バイナリ .It Li krb5 Kerberos5 バイナリ .It Li ssecure /usr/src/secure .It Li sbase /usr/src/(トップレベルファイル) .It Li scontrib /usr/src/contrib .It Li sgnu /usr/src/gnu .It Li setc /usr/src/etc .It Li sgames /usr/src/games .It Li sinclude /usr/src/include .It Li slib /usr/src/lib .It Li slibexec /usr/src/libexec .It Li srelease /usr/src/release .It Li sbin /usr/src/bin .It Li ssbin /usr/src/sbin .It Li sshare /usr/src/share .It Li ssys /usr/src/sys .It Li subin /usr/src/usr.bin .It Li susbin /usr/src/usr.sbin .It Li ssmailcf /usr/src/usr.sbin/sendmail/cf .It Li XF86-xc XFree86 の公式なソース .It Li XF86-co XFree86 に寄贈されたソース .It Li Xbin XFree86 バイナリ .It Li Xcfg XFree86 設定ファイル .It Li Xdoc XFree86 に関する文書 .It Li Xhtml XFree86 に関する HTML 文書 .It Li Xlib XFree86 ライブラリ .It Li Xlk98 XFree86 PC98 向けサーバリンクキット .It Li Xlkit XFree86 一般向けサーバリンクキット .It Li Xman XFree86 マニュアルページ .It Li Xprog XFree86 開発者向け配布物 .It Li Xps XFree86 に関する postscript 文書 .It Li Xset XFree86 グラフィカルセットアップツール .It Li PC98-Servers/X9480 XFree86 PC98 8-bit (256 色) PEGC-480 サーバ .It Li PC98-Servers/X9EGC XFree86 PC98 4-bit (16 色) EGC サーバ .It Li PC98-Servers/X9GA9 XFree86 PC98 GA-968V4/PCI (S3 968) サーバ .It Li PC98-Servers/X9GAN XFree86 PC98 GANB-WAP (cirrus) サーバ .It Li PC98-Servers/X9LPW XFree86 PC98 PowerWindowLB (S3) サーバ .It Li PC98-Servers/X9MGA [記述無し] .It Li PC98-Servers/X9NKV XFree86 PC98 NKV-NEC (cirrus) サーバ .It Li PC98-Servers/X9NS3 XFree86 PC98 NEC (S3) サーバ .It Li PC98-Servers/X9SPW XFree86 PC98 SKB-PowerWindow (S3) サーバ .It Li PC98-Servers/X9SVG [記述無し] .It Li PC98-Servers/X9SVG XFree86 PC98 Cyber9320, TGUI9680 サーバ .It Li PC98-Servers/X9WEP XFree86 PC98 WAB-EP (cirrus) サーバ .It Li PC98-Servers/X9WS XFree86 PC98 WABS (cirrus) サーバ .It Li PC98-Servers/X9WSN XFree86 PC98 WSN-A2F (cirrus) サーバ .It Li Servers/X3DL XFree86 3D Labs サーバ .It Li Servers/X8514 XFree86 8514 サーバ .It Li Servers/XAGX XFree86 8 ビット AGX サーバ .It Li Servers/XI128 XFree86 #9 Imagine I128 サーバ .It Li Servers/XMa8 XFree86 ATI Mach8 サーバ .It Li Servers/XMa32 XFree86 ATI Mach32 サーバ .It Li Servers/XMa64 XFree86 ATI Mach64 サーバ .It Li Servers/XMono XFree86 monochrome サーバ .It Li Servers/XP9K XFree86 P9000 サーバ .It Li Servers/XS3 XFree86 S3 サーバ .It Li Servers/XS3V XFree86 S3 Virge サーバ .It Li Servers/XSVGA XFree86 SVGA サーバ .It Li Servers/XVG16 XFree86 VGA16 サーバ .It Li Servers/XW32 XFree86 ET4000/W32, /W32i, /W32p サーバ .It Li Servers/XTGA TGA カード用サーバ (alpha アーキテクチャのみ) .It Li Servers/Xnest XFree86 ネスト X サーバ。 .It Li Servers/Xvfb XFree86 仮想フレームバッファ X サーバ。 .It Li Xfnts XFree86 基本フォントセット。 .It Li Xf100 XFree86 100DPI フォントセット。 .It Li Xfcyr XFree86 キリル語フォントセット。 .It Li Xfscl XFree86 スケーラブルフォントセット。 .It Li Xfnon XFree86 非英語フォントセット。 .It Li Xfsrv XFree86 フォントサーバ。 .El .El .It distSetDeveloper 標準開発者配布セットを選択します。 .Pp .Sy 変数: 無し .It distSetXDeveloper 標準 X 開発者配布セットを選択します。 .Pp .Sy 変数: 無し .It distSetKernDeveloper 標準カーネル開発者配布セットを選択します。 .Pp .Sy 変数: 無し .It distSetUser 標準ユーザ配布セットを選択します。 .Pp .Sy 変数: 無し .It distSetXUser 標準 X ユーザ配布セットを選択します。 .Pp .Sy 変数: 無し .It distSetMinimum 最小配布セットを選択します。 .Pp .Sy 変数: 無し .It distSetEverything 全部、つまり利用可能な配布すべてを選択します。 .Pp .Sy 変数: 無し .It distSetCRYPTO 暗号化のパーツ群を、対話的に選択します。 .Pp .Sy 変数: 無し .It distSetSrc ソースのパーツ群を、対話的に選択します。 .Pp .Sy 変数: 無し .It distSetXF86 XFree86 のパーツ群を、対話的に選択します。 .Pp .Sy 変数: 無し .It distExtractAll 現在選択されている配布すべてをインストールします (メディアデバイスが既に選択されていることが必要です)。 .Pp .Sy 変数: 無し .It docBrowser (必要であれば) HTML 文書ブラウザをインストールし、 HTML 文書サブメニューに行きます。 .Pp .Sy 変数: .Bl -tag -width indent .It browserPackage 必要に応じてインストールを試みる、ブラウザの package 名です。 デフォルトは最新の links package です。 .It browserBinary ブラウザバイナリ自身の名前です ( .Ar browserPackage 変数に優先させる場合)。デフォルトは links です。 .El .It installCommit ディスクに対する待ち状態の変更を、すべて実施します。 この関数は、本質的に、細粒度の "実施" 関数をまとめたものです。 .Pp .Sy 変数: 無し .It installExpress 「高速」インストールを開始します。 ユーザへの質問は少数です。 .Pp .Sy 変数: 無し .It installStandard 「標準」インストールを開始します。 利用可能なインストールタイプ中で、最もユーザフレンドリです。 .Pp .Sy 変数: 無し .It installUpgrade アップグレードインストールを開始します。 .Pp .Sy 変数: 無し .It installFixitHoloShell init として起動している場合、 「緊急ホログラフィックシェル」を VTY4 で起動します。 .Ar noHoloShell を設定しない限りにおいては、 これはインストール処理の一部として自動的に実施されます。 .Pp .Sy 変数: 無し .It installFixitCDROM "fixit" モードに入ります。 ライブファイルシステム CDROM がドライブにあるものと仮定します。 .Pp .Sy 変数: 無し .It installFixitFloppy "fixit" モードに入ります。 fixit フロッピディスクが利用可能と仮定します (ユーザは問い合わせを受けます)。 .Pp .Sy 変数: 無し .It installFilesystems インストールのファイルシステム初期化部分のみを実行します。 .Pp .Sy 変数: 無し .It installVarDefaults 全変数をデフォルトに初期化し、以前の設定を上書きします。 .Pp .Sy 変数: 無し .It loadConfig #include 文のようなものであり、他の設定ファイルをロードできます。 .Pp .Sy 変数: .Bl -tag -width indent .It configFile ロードするファイルの完全な形でのパス名です。 .El .It mediaClose メディアデバイスが開いている場合、閉じます。 .Pp .Sy 変数 : 無し .It mediaSetCDROM インストールメディアとして .Fx CDROM を選択します。 .Pp .Sy 変数: 無し .It mediaSetFloppy インストールメディアとして 作成済フロッピインストールセットを選択します。 .Pp .Sy 変数: 無し .It mediaSetDOS インストールメディアとして 既存の DOS プライマリパーティションを選択します。 最初に見付かるプライマリパーティション (例 C:) を使用します。 .Pp .Sy 変数: 無し .It mediaSetTape インストールメディアとしてテープデバイスを使用します。 .Pp .Sy 変数: 無し .It mediaSetFTP インストールメディアとして FTP サイトを使用します。 .Pp .Sy 変数: .Bl -tag -width indent .It hostname インストールされるホストの名前 (省略不可)。 .It domainname インストールされるホストのドメイン名 (省略不可)。 .It defaultrouter このホストのデフォルトルータ (省略不可)。 .It netDev どのホストインタフェースを使用するか (例えば .Ar ed0 や .Ar ep0 です。省略不可)。 .It netInteractive 設定すると、関連するすべての設定変数を陶に設定していても、 対話的なネットワーク設定フォームを起動します (省略可)。 .It ipaddr 選択したホストインタフェースの IP アドレス (省略不可)。 .It netmask 選択したホストインタフェースのネットマスク (省略不可)。 .It _ftpPath 対象となる .Fx 配布を保持する FTP サイトの完全な形での URL。例えば .Ar ftp://ftp.FreeBSD.org/pub/FreeBSD/ 。 .El .It mediaSetFTPActive .Ar mediaSetFTP と同様ですが、「能動的」な FTP 転送モードを使用します。 .Pp .Sy 変数: .Ar mediaSetFTP と同様です。 .It mediaSetFTPPassive .Ar mediaSetFTP と同様ですが、「受動的」な FTP 転送モードを使用します。 .Pp .Sy 変数: .Ar mediaSetFTP と同様です。 .It mediaSetHTTP .Ar mediaSetFTP と同様ですが、HTTP プロキシを使用します。 .Pp .Sy 変数: .Ar mediaSetFTP を参照してください。更に以下も使用します。 .Bl -tag -width indent .It _httpPath 使用するプロキシ (host:port) (省略不可)。 .El .It mediaSetUFS インストールメディアとして、 (ラベルエディタでマウントされている) 既存の UFS パーティション を選択します。 .Pp .Sy 変数: .Bl -tag -width indent .It ufs 対象となる .Fx 配布を保持する、完全な /path 指定。 .El .It mediaSetNFS .Pp .Sy 変数: .Bl -tag -width indent .It hostname インストールされるホストの名前 (省略不可)。 .It domainname インストールされるホストのドメイン名 (省略不可)。 .It defaultrouter このホストのデフォルト経路 (省略不可)。 .It netDev どのホストインタフェースを使用するか (例えば .Ar ed0 や .Ar ep0 です。省略不可)。 .It netInteractive 設定すると、関連するすべての設定変数を陶に設定していても、 対話的なネットワーク設定フォームを起動します (省略可)。 .It ipaddr 選択したホストインタフェースの IP アドレス (省略不可)。 .It netmask 選択したホストインタフェースのネットマスク (省略不可)。 .It nfs 対象となる .Fx 配布を保持する、完全な hostname:/path 指定。 .El .It mediaSetFTPUserPass .Pp .Sy 変数: .Bl -tag -width indent .It ftpUser FTP サーバに接続する場合のユーザ名を設定します。 既定値: ftp .It ftpPass FTP サーバに接続する場合のパスワードを設定します。 既定値: user@host .El .It mediaSetCPIOVerbosity .Pp .Sy 変数: .Bl -tag -width indent .It cpioVerbose cpio で展開を行う際のメッセージの冗長度を low, medium, high から選択します。 .El .It mediaGetType 対話的にユーザにメディアタイプの指定を求めます。 .Pp .Sy 変数: 無し .It optionsEditor オプション編集画面を起動します。 .Pp .Sy 変数: なし .It packageAdd package を取得してインストールしようと試みます (メディアが設定されている 必要があります)。 .Pp .Sy 変数: .Bl -tag -width indent .It package bash-1.14.7 や ncftp-2.4.2 のようにインストールする package の名前 を指定します。 .El .It addGroup 対話的なグループエディタを起動します。 .Pp .Sy 変数: なし .It addUser 対話的なユーザエディタを起動します。 .Pp .Sy 変数: なし .It shutdown スクリプトの実行を停止して sysinstall を終了します。 .Pp .Sy 変数: なし .It system .Xr system 3 を用いて外部コマンドを実行します。 .Pp .Sy 変数: .Bl -tag -width indent .It command 実行するコマンドの名前。ブートフロッピから起動されている場合は、 システム全体がインストールされている場合と比較して使用できるものが 大幅に限定されていることに注意してください。 .El .It tcpMenuSelect ネットワークデバイスを設定します。 .Pp .Sy 変数 : .Ar mediaSetFTP と同様ですが、 .Ar _ftpPath が使用されないことが違います。 .El .Sh 配布メディア 次のファイルを使用して、初期システムインストール時の .Nm の動作を変更可能です。 .Bl -tag -width ".Pa packages/INDEX" .It Pa cdrom.inf プロパティを 1 行に 1 個ずつ記述するテキストファイルであり、 使用するメディアの内容を記述します。 各行の文法は、単に .Dq Ar property No = Ar value というものです。 現在のところ、次のプロバティだけが認識されます。 .Bl -tag -width ".Va CD_MACHINE_ARCH" .It Va CD_VERSION このプロパティは、このメディアボリュームの .Fx バージョンに設定すべきです。 例えば .Dq Li "CD_VERSION = 4.6" です。 .It Va CD_MACHINE_ARCH このプロバティは、このボリューム上の内容のアーキテクチャに設定すべきです。 このプロバティは、通常、複数のアーキテクチャを含む .Fx 製品でのみ使用され、 ユーザが Alpha package を i386 マシンにインストールしようとしたときに より良いエラーメッセージを提供するようになります。 例えば .Dq Li "CD_MACHINE_ARCH = alpha" です。 .It Va VOLUME マルチボリュームコレクション (例えば .Fx 4-CD セット) では、各ディスクの .Pa ports/INDEX ファイルは、セットの完全な package インデックスを含むべきです。 .Pa INDEX ファイルの最後のフィールドは、 どのボリュームにその package が含まれるのかを示し、この .Va VOLUME プロパティは現在のディスクのボリューム ID を定義します。 .El .It Pa packages/INDEX package インデックスファイルです。 各 package が、必要な依存関係等の追加メタデータと共に各行に列挙されます。 このインデックスは .Xr ports 7 コレクションで .Dq Li "make index" を実行することにより生成されます。 複数ボリュームサポートが有効な場合、 どの package がどのメディアボリュームに含まれるのかを示す 追加フィールドが各行に追加されます。 .El .Pp .Fx の完全なリリースの構築方法については、 .Xr release 7 を参照してください。 .Sh 関連ファイル このユーティリティは .Pa /etc/rc.conf , .Pa /etc/hosts , .Pa /etc/resolv.conf の内容を、ネットワーク等の設定変更に応じて変更します。 .Sh 関連項目 十分に完全なソースツリーがオンライン上にあれば、 サンプルのインストールスクリプトについて .Pa /usr/src/usr.sbin/sysinstall/install.cfg を参照してください。 .Sh バグ 本ユーティリティは雛型であり、 期限切後も数年を生き延びており、大いに死すべきです。 .Sh 作者 .An Jordan K. Hubbard Aq jkh@FreeBSD.org .Sh 歴史 このバージョンの .Nm は、 .Fx 2.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/syslogd.8 b/ja_JP.eucJP/man/man8/syslogd.8 index b8b344c598..79ed760d56 100644 --- a/ja_JP.eucJP/man/man8/syslogd.8 +++ b/ja_JP.eucJP/man/man8/syslogd.8 @@ -1,333 +1,333 @@ .\" Copyright (c) 1983, 1986, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)syslogd.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/syslogd/syslogd.8,v 1.47 2002/10/18 11:42:21 tjr Exp % +.\" %FreeBSD: src/usr.sbin/syslogd/syslogd.8,v 1.49 2002/12/12 17:26:04 ru Exp % .\" .\" $FreeBSD$ .\" .Dd November 24, 2001 .Dt SYSLOGD 8 .Os .Sh 名称 .Nm syslogd .Nd システムメッセージの記録をとる .Sh 書式 .Nm .Op Fl 46Acdknosuv .Op Fl a Ar allowed_peer .Op Fl b Ar bind_address .Op Fl f Ar config_file .Op Fl l Ar path .Op Fl m Ar mark_interval .Op Fl P Ar pid_file .Op Fl l Ar path .Op Fl p Ar log_socket .Sh 解説 .Nm ユーティリティは設定ファイルに指定された通りに、システムコンソール、 ログファイル、他のマシンやユーザへのメッセージを読み込み、記録します。 .Pp オプションには以下のものがあります。 .Bl -tag -width indent .It Fl 4 .Nm が IPv4 アドレスのみを使用するよう、強制します。 .It Fl 6 .Nm が IPv6 アドレスのみを使用するよう、強制します。 .It Fl A ホストが複数の A または AAAA レコードを持っている場合でも、 通常 .Nm はメッセージを単一のアドレスにのみ送信しようとします。 本オプションが指定されると、 .Nm はメッセージをすべてのアドレスに送信しようとします。 .It Fl a Ar allowed_peer .Ar allowed_peer がこの .Nm に UDP データグラムを使用してログすることを許します。複数の .Fl a オプションを指定可能です。 .Pp .Ar allowed_peer は以下のいずれかです: .Bl -tag -width "ipaddr/masklen[:service]XX" .It Xo .Sm off .Ar ipaddr .No / Ar masklen .Op : Ar service .Sm on .Xc .Ar ipaddr (通常のドット表記の 4 つ組) からのデータグラムを受け付けます。 アドレス比較の際、 .Ar masklen ビットを考慮します。 アドレスを .Ql \&[ と .Ql \&] で括ることで、 .Ar ipaddr に IPv6 アドレスを指定可能です。 .Ar service が指定された場合、パケット送出元が属すべき UDP service の名前もしくは番号となります ( .Xr services 5 参照)。 .Ar service に .Ql \&* を指定すると、全ての UDP ポートから送信されたパケットを受け付けます。 デフォルトの .Ar service は .Ql syslog です。 .Ar ipaddr が IPv4 アドレスの場合で .Ar masklen を指定しないと、 .Ar ipaddr がクラス A もしくは B のアドレス範囲に属す場合にはそれぞれ 歴史的なクラス A もしくは B のネットマスクが使用され、 そうでない場合には 24 が使用されます。 .Ar ipaddr が IPv6 アドレスの場合で .Ar masklen を指定しないと、 .Ar masklen は 128 が用いられます。 .It Xo .Sm off .Ar domainname Op : Ar service .Sm on .Xc 送信アドレスのアドレス逆引きにおいて .Ar domainname が得られたデータグラムを受け付けます。 .Ar service の意味は前述の通りです。 .It Xo .Sm off .No * Ar domainname Op : Ar service .Sm on .Xc 上述の通りですが、送信ホスト名が .Ar domainname で .Em 終る 全てのホストから受け付けます。 .El .Pp .Fl s が指定された場合には、 .Fl a オプションは無視されます。 .It Fl b Ar bind_address バインド対象となる IP アドレスまたはホスト名を、1 個指定します。 ホスト名が指定された場合、これに対応する IPv4 または IPv6 のアドレスが使用されます。 .It Fl c 出力が他のプログラムへのパイプの場合、同じ行の繰り返しを .Dq Li "last message repeated N times" という形式の単一行に圧縮することを無効化します。 2 回指定すると、すべての場合においてこの圧縮を無効化します。 .It Fl d .Nm をデバッグモードで実行します。これは恐らく、 .Nm の開発者にのみ役立ちます。 .It Fl f 代りの設定ファイルのパス名を指定します。 デフォルトは .Pa /etc/syslog.conf です。 .It Fl k ファシリティ .Dq kern で受信したメッセージをファシリティ .Dq user へ変換することを、止めます。 通常は、 .Dq kern ファシリティは、直接 .Pa /dev/klog から読み込むメッセージ用に予約されています。 .It Fl m .Dq mark されたメッセージの間隔を分単位で指定します。 デフォルトは 20 分です。 .It Fl n すべての要求に対し、DNS への問い合わせを抑止します。 .It Fl o カーネルメッセージの前に、 .Xr getbootfile 3 で判定される完全なカーネルブートファイルを付けます。 これを指定しないと、カーネルメッセージのプレフィックスは常に .Dq Li kernel: になります。 .It Fl p 代りに使用するログ用ソケットのパス名を指定します。 デフォルトは .Pa /var/run/log です。 .It Fl P プロセス ID を格納するための別のファイルを指定します。 デフォルトは .Pa /var/run/syslog.pid です。 .It Fl l .Nm が追加のログ用ソケットを置く場所を指定します。 19 個まで追加のログ用ソケットを指定可能です。 主な用法は、 様々に chroot したファイル空間において追加のログ用ソケットを .Pa /var/run/log に置くというものです。 .It Fl s セキュアモードで操作します。リモートマシンからのログメッセージをログしません。 2 度指定すると、ネットワークソケットを全くオープンせず、 またリモートマシンへのログ動作も無効にします。 .It Fl u ただ 1 つの優先度のログのみ行います。 指定した優先度のメッセージのみログします。 このオプションを指定しないと、指定した優先度以上のメッセージがログされます。 このオプションにより、デフォルトの比較を .Dq => から .Dq = に変更します。 .It Fl v 冗長なログを行います。1 度指定すると、ローカルに書き込まれたメッセージと共に、 ファシリティと優先度が数値でログされます。 複数回指定すると、ローカルに書き込まれたメッセージと共に、 ファシリティと優先度が名前でログされます。 .El .Pp .Nm ユーティリティは 起動時と hangup シグナルを受けとった時はいつでも設定ファイルを 読み込みます。 設定ファイルのフォーマットに関する情報は、 .Xr syslog.conf 5 参照して下さい。 .Pp .Nm ユーティリティは -.Tn UNIX +.Ux ドメインソケット .Pa /var/run/log、 .Pa /etc/services で指定されるインターネットドメインソケット および特殊デバイス .Pa /dev/klog (カーネルメッセージを読むため) からメッセージを読み込みます。 .Pp .Nm ユーティリティはプロセス ID ファイル、デフォルトでは .Pa /var/run/syslog.pid を作成し、ここにプロセス ID を記録します。 これは .Nm を kill や、設定ファイルを読み込ませるために使えます。 .Pp .Nm に送られるメッセージは単一の行で構成されます。このメッセージは先頭に 優先順位コードを含んでいます。このコードは .Sq Aq 5 のように括弧でくくられた 10 進数から構成されており、インクルードファイル .Aq Pa sys/syslog.h で定義されている優先順位に対応します。 .Pp セキュリティ上の理由から、 .Nm は存在しないログファイルへ追加書き込みしません。 .Nm の起動前に手動で作成する必要があります。 .Sh 関連ファイル .Bl -tag -width /var/run/syslog.pid -compact .It Pa /etc/syslog.conf コンフィギュレーションファイル .It Pa /var/run/syslog.pid デフォルトのプロセス ID ファイル .It Pa /var/run/log -.Tn UNIX +.Ux ドメインデータグラムのログ用ソケットの名前 .It Pa /dev/klog カーネルログ用のデバイス .El .Sh 関連項目 .Xr logger 1 , .Xr syslog 3 , .Xr services 5 , .Xr syslog.conf 5 .Sh 歴史 .Nm ユーティリティは .Bx 4.3 から登場しました。 .Pp .Fl a , .Fl s , .Fl u , .Fl v のオプションは .Fx 2.2 における拡張です。 .Sh バグ UDP パケットで受けとったメッセージを記録する能力は認証されていない ディスクを溢れさせるリモートサービスと等価であり、恐らくデフォルトで無効に されるべきです。ある種の .Nm 間の認証メカニズムが用意されるべきでしょう。 最悪の無駄遣いを避けるために、 .Fl a オプションの使用を強く勧めます。 .Pp .Fl a のマッチングアルゴリズムは非常に効率的には見えません; ドメイン名比較より、数値による IP アドレスを使用する方が高速です。 許可されたピアのリストの検索は線型に行なわれるため、 多くのメッセージを受け付けると予測されるピアグループは .Fl a リストの最初の方に置くべきです。 .Pp ログ用ソケットは読み込み専用のルートファイルシステムの扱いを容易にする ために .Pa /dev から移されました。このことは古いバイナリを混乱させるかもしれないので、 過渡期の間はシンボリックリンクが役に立つでしょう。 diff --git a/ja_JP.eucJP/man/man8/wicontrol.8 b/ja_JP.eucJP/man/man8/wicontrol.8 index 13e8fbd921..54084d941f 100644 --- a/ja_JP.eucJP/man/man8/wicontrol.8 +++ b/ja_JP.eucJP/man/man8/wicontrol.8 @@ -1,450 +1,452 @@ .\" Copyright (c) 1997, 1998, 1999 .\" Bill Paul All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Bill Paul. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/wicontrol/wicontrol.8,v 1.31 2002/08/12 06:59:04 imp Exp % +.\" %FreeBSD: src/usr.sbin/wicontrol/wicontrol.8,v 1.33 2002/11/27 15:31:08 ru Exp % .\" .\" $FreeBSD$ .\" .Dd April 21, 1999 .Dt WICONTROL 8 .Os .Sh 名称 .Nm wicontrol .Nd WaveLAN/IEEE デバイスの設定 .Sh 書式 .Nm .Op Fl i .Ar iface Op Fl o .Nm .Op Fl i .Ar iface Fl t Ar tx_rate .Nm .Op Fl i .Ar iface Fl n Ar network_name .Nm .Op Fl i .Ar iface Fl s Ar station_name .Nm .Op Fl i .Ar iface Fl c Cm 0 | 1 .Nm .Op Fl i .Ar iface Fl q Ar SSID .Nm .Op Fl i .Ar iface Fl p Ar port_type .Nm .Op Fl i .Ar iface Fl a Ar access_point_density .Nm .Op Fl i .Ar iface Fl m Ar mac_address .Nm .Op Fl i .Ar iface Fl d Ar max_data_length .Nm .Op Fl i .Ar iface Fl e Cm 0 | 1 .Nm .Op Fl i .Ar iface Fl k Ar key .Op Fl v Cm 1 | 2 | 3 | 4 .Nm .Op Fl i .Ar iface Fl T Cm 1 | 2 | 3 | 4 .Nm .Op Fl i .Ar iface Fl r Ar RTS_threshold .Nm .Op Fl i .Ar iface Fl f Ar frequency .Nm .Op Fl i .Ar iface Fl P Cm 0 | 1 .Nm .Op Fl i .Ar iface Fl S Ar max_sleep_duration .Nm .Op Fl i .Ar iface Fl Z (zero signal cache) .Nm .Op Fl i .Ar iface Fl C (display signal cache) .Nm .Op Fl i .Ar iface Fl L (list avail access points) .Nm .Op Fl i .Ar iface Fl l (dump associated stations) .Sh 解説 .Nm ユーティリティは、 .Xr wi 4 ドライバを介し、 WaveLAN/IEEE ワイヤレスネットワークデバイスの動作を制御します。 変更可能なほとんどのパラメータは、 WaveLAN が実装している IEEE 802.11 プロトコルに関連するものです。 これに含まれるのは、 ステーション名、 ステーションの動作がアドホック (ポイントツーポイント) と BSS (サービスセット) のどちらであるか、 BSS モードが有効な場合には加入するサービスセットのネットワーク名 (IBSS) です。 .Nm ユーティリティを使用して、 これらのパラメータの現在の設定を見ることができますし、 カードの統計情報カウンタの値をダンプできます。 .Pp .Nm に与えられる .Ar iface 引数は、 WaveLAN/IEEE デバイスに関連付けられる論理インタフェース名であることが必要です .Li ( wi0 , wi1 等)。 指定しない場合には .Dq Li wi0 が仮定されます。 .Sh オプション オプションを示します: .Bl -tag -width indent .It Oo Fl i Oc Ar iface Op Fl o 指定した WaveLAN/IEEE インタフェースの現在の設定を表示します。 現在のカードの設定をドライバから取り出し、表示します。 追加の .Fl o フラグを使用すると、 .Nm は、カードの設定の代りに統計情報カウンタを表示します。 暗号化キーは、 .Nm が root で実行された場合のみ表示されます。 .It Oo Fl i Oc Ar iface Fl t Ar tx_rate 指定したインタフェースの転送レートを設定します。 転送レートとしての正当な値は、 インタフェースが標準の WaveLAN/IEEE であるか WaveLAN/IEEE Turbo アダプタ かによって変わります。 標準の NIC でサポートする最大転送レートは 2Mbps ですが、 ターボ版の NIC では最大速度 6Mbps をサポートします。 次の表は、正当な転送レートの設定と対応する転送速度を示します: .\" Bl -column "TX レート " "NIC 速度 " -offset indent .Bl -column ".Em TX\ レート " ".Em NIC\ 速度 " -offset indent .Em "TX レート NIC 速度" .It Cm 1 Ta 固定低速 (1Mbps) .It Cm 2 Ta 固定標準速 (2Mbps) .It Cm 3 Ta 自動レート選択 (高速) .It Cm 4 Ta 固定中速 (4Mbps) .It Cm 5 Ta 固定高速 (6Mbps) .It Cm 6 Ta 自動レート選択 (標準) .It Cm 7 Ta 自動レート選択 (中速) .El .Pp 標準の NIC は .Cm 1 から .Cm 3 までの設定のみサポートします。 ターボ版の NIC は前述の設定すべてをサポートします。 デフォルトのドライバの設定は .Cm 3 (自動レート選択) です。 .It Oo Fl i Oc Ar iface Fl n Ar network_name このステーションが加入を望んでいるサービスセット (IBSS) の名前を設定します。 .Ar network_name は、30 文字までの長さの任意のテキスト文字列です。 デフォルトの名前は文字列 .Dq Li ANY であり、 最初に利用可能となったアクセスポイントにステーションが接続することを 許します。 このオプション設定が動作するためには、 .Fl p フラグを使用して、インタフェースを BSS モードにすることが必要です。 .Pp 注: WaveLAN のマニュアルによると、 空文字列を指定すると ホストがすべてのアクセスポイントへ接続可能となるとあります。 一方、別のドライバを見たところ、文字列 .Dq Li ANY も同様に動作するとありました。 .It Oo Fl i Oc Ar iface Fl s Ar station_name 指定したインタフェースの ステーション名 を設定します。 .Ar station_name は診断のために使用されます。 .Tn "Lucent WaveMANAGER" ソフトウェアは、リモートホストの名前を調査可能です。 .It Oo Fl i Oc Ar iface Fl c Cm 0 | 1 ステーションがサービスセット (IBSS) を作成することを許します。 許される値は、 .Cm 0 (IBSS を作成しません) と .Cm 1 (IBSS の作成を有効にします) です。 デフォルトは .Cm 0 です。 .Pp 注: このオプションは実験的な目的でのみ提供されています: ホストシステム上で IBSS の作成を有効にしても、 実際には動作していないようです。 .It Oo Fl i Oc Ar iface Fl q Ar SSID 指定したインタフェース上に作成する IBSS の名前 (SSID) を指定します。 .Ar SSID は、30 文字までの長さの任意のテキスト文字列です。 .Pp 注: このオプションは実験的な目的でのみ提供されています: ホストシステム上で IBSS の作成を有効にしても、 実際には動作していないようです。 .It Oo Fl i Oc Ar iface Fl p Ar port_type 指定したインタフェースの ポートタイプ を設定します。 .Ar port type の正当な値は、 .Cm 1 (BSS モード) と .Cm 3 (アドホック) モードです。 アドホックモードでは、 あるステーションは直接電波が届く範囲の他のステーション (これらもアドホックモードで動作していることが必要です) と直接通信可能です。 BSS モードでは、 アクセスポイントが制御するサービスセットとホストとが関連付けられることが 必要です。 アクセスポイントは、エンドステーション間のトラフィックを中継します。 デフォルトの設定は .Cm 3 (アドホックモード) です。 .It Oo Fl i Oc Ar iface Fl a Ar access_point_density 指定したインタフェースの アクセスポイント密度 を指定します。 正当な値は、 .Cm 1 (低)、 .Cm 2 (中)、 .Cm 3 (高) です。 この設定は、電波モデムの閾値の設定に影響します。 .It Oo Fl i Oc Ar iface Fl m Ar mac_address 指定したインタフェースのステーションアドレスを設定します。 .Ar mac_address は、コロンで区切られる 6 個の 16 進数の連続として指定されます。 例えば .Dq Li 00:60:1d:12:34:56 となります。 これにより、新規アドレスがカード上にプログラムされ、 インタフェースも更新されます。 .It Oo Fl i Oc Ar iface Fl d Ar max_data_length 指定したインタフェースの、送受信フレームサイズの最大を指定します。 .Ar max_data_length は、350 から 2304 までの任意の数値です。デフォルトは 2304 です。 .It Oo Fl i Oc Ar iface Fl e Cm 0 | 1 WEP 暗号化を有効化または無効化します。 使用可能な値は .Cm 0 (暗号化無効) または .Cm 1 (暗号化有効) です。 暗号化はデフォルトでは無効です。 .Pp 128 ビットおよび 64 ビットの WEP ともに破られています。 詳細は .Sx バグ の節を見てください。 .It Oo Fl i Oc Ar iface Fl k Ar key Op Fl v Cm 1 | 2 | 3 | 4 WEP 暗号化キーを設定します。 プログラム可能な暗号化キーは、デフォルトで 4 個あります。 個々のキーは .Fl v フラグで設定可能です。 .Fl v フラグが指定されないと、最初のキーが設定されます。 暗号化キーは、通常テキスト (すなわち .Dq Li hello ) または一連の 16 進数 (すなわち .Dq Li 0x1234512345 ) のどちらかです。 WaveLAN Turbo Silver カードでは、キーは 40 ビットに制限されていますので、 キーは 5 文字までのテキスト文字列か 10 桁の 16 進数です。 WaveLAN Turbo Gold カードでは、キーは 104 ビットまでですので、 Silver カードでサポートされている書式に加え、 キーは 13 文字までのテキスト文字列か 26 桁の 16 進数がサポートされます。 最大限の可搬性のためには、16 進数形式の鍵を推奨します。 テキスト鍵から WEP 暗号へのマッピングは、通常、ドライバ固有です。 -特に、Windows ドライバのマッピング方法は -FreeBSD +特に、 +.Tn Windows +ドライバのマッピング方法は +.Fx のものとは異なります。 .Pp 128 ビットおよび 64 ビットの WEP 暗号ともに破られています。 詳細は .Sx バグ の節を見てください。 .It Oo Fl i Oc Ar iface Fl T Cm 1 | 2 | 3 | 4 .It Fl i Ar iface Fl T Cm 1 | 2 | 3 | 4 4 個の WEP 暗号化キーのどれを使用して転送パケットを暗号化するかを指定します。 .Pp 128 ビットおよび 64 ビットの WEP ともに破られています。 詳細は .Sx バグ の節を見てください。 .It Oo Fl i Oc Ar iface Fl r Ar RTS_threshold 指定したインタフェースの RTS/CTS 閾値を設定します。 これは、RTS/CTS ハンドシェーク境界に使用するバイト数を制御します。 .Ar RTS_threshold は 0 から 2347 までの任意の数値です。デフォルトは 2347 です。 .It Oo Fl i Oc Ar iface Fl f Ar frequency 指定したインタフェースの電波の周波数を設定します。 .Ar frequency は次の表に示すチャネル ID で指定することが必要です。 利用可能な周波数は、各地の当局によって指定される電波規制に依存します。 既知の規制元としては、 FCC (米国)、ETSI (欧州)、フランス、日本があります。 -表中の周波数は Mhz です。 +表中の周波数は MHz です。 .Bl -column ".Em チャネル ID " ".Em FCC " ".Em ETSI " ".Em 仏 " ".Em 日 " -offset indent .Em "チャネル ID FCC ETSI 仏 日" .It Cm 1 Ta 2412 2412 - 2412 .It Cm 2 Ta 2417 2417 - 2417 .It Cm 3 Ta 2422 2422 - 2422 .It Cm 4 Ta 2427 2427 - 2427 .It Cm 5 Ta 2432 2432 - 2432 .It Cm 6 Ta 2437 2437 - 2437 .It Cm 7 Ta 2442 2442 - 2442 .It Cm 8 Ta 2447 2447 - 2447 .It Cm 9 Ta 2452 2452 - 2452 .It Cm 10 Ta 2457 2457 2457 2457 .It Cm 11 Ta 2462 2462 2462 2462 .It Cm 12 Ta - 2467 2467 2467 .It Cm 13 Ta - 2472 2472 2472 .It Cm 14 Ta - - - 2484 .El .Pp 不正なチャネルを指定すると、NIC はデフォルトチャネルに戻ります。 米国および欧州で販売されている NIC では、デフォルトチャネルは .Cm 3 です。 フランスで販売されている NIC では、デフォルトチャネルは .Cm 11 です。 日本で販売されている NIC では、デフォルトチャネルは .Cm 14 です。 これは、11Mbps 以前の NIC においては唯一利用可能なチャネルです。 2 つのステーションが通信するためには、 同一のチャネルに設定されていることが必要であることに注意してください。 .It Oo Fl i Oc Ar iface Fl P Cm 0 | 1 指定したインタフェースの電源管理を有効または無効にします。 電源管理を有効にすると、 交互にスリープ/ウェイクプロトコルを使用することにより、 モバイルステーションの省電力を助けます。 このために受信遅延がいくぶん増加します。 デフォルトでは、電源管理はオフです。 電源管理が機能するためには、 アクセスポイントとの協調が必要なことに注意してください。 アドホックモードでは動作しません。 また電源管理がサポートされているのは、 Lucent WavePOINT のバージョン 2.03 以降のファームウェア、 WaveLAN PCMCIA アダプタのバージョン 2.00 以降のファームウェアのみです。 古いリビジョンでは、電源管理の設定は黙って無視されます。 このパラメータにとって正当な値は、 .Cm 0 (オフ) と .Cm 1 (オン) です。 .It Oo Fl i Oc Ar iface Fl S Ar max_sleep_interval 電源管理が有効なときに使用するスリープ間隔を指定します。 .Ar max sleep interval はミリ秒で指定します。デフォルトは 100 です。 .It Oo Fl i Oc Ar iface Fl Z .Xr wi 4 ドライバ内部で管理される信号強度キャッシュをクリアします。 .It Oo Fl i Oc Ar iface Fl C .Xr wi 4 ドライバ内部で管理されるキャッシュされた信号強度情報を表示します。 ドライバは、他のホストから受信するパケットに関し、 信号強度とノイズレベルに関する情報を維持します。 信号強度とノイズレベルの値は dBms の単位で表示されます。 信号品質値は、信号強度からノイズレベルを減じたものです (すなわち、低ノイズで良い信号の場合、信号品質が向上します)。 .El .Sh 関連項目 .Xr ipsec 4 , .Xr wi 4 , .Xr ifconfig 8 .Sh バグ WEP 暗号法は破られています。 使用中のキーを、 多くの人が驚くような距離にいるような第三者が回復できてしまいます。 最も基本的で補助的なセキュリティ以外のことには WEP を信用しないでください。 IPSEC がより高度なセキュリティを提供しますので、 可能な限りそちらを使用してください。 アクセスポイントやアクセスポイントを通じて繋がるワイヤレスマシンを 信用しないでください。 なぜなら、これらを通じたトラフィックが妥当であることを、保証できないからです。 MAC アドレスは簡単に偽造できますので、 唯一のアクセス制限には使用しないでください。 .Pp WEP への攻撃は受動的な攻撃であり、 これにはネットワーク上のパケットを覗き見できることだけが必要です。 受動的な攻撃は思ったよりも遠くからでも可能であり、 ポイントツーポイントアプリケーションで使用される特殊アンテナを使用すれば、 数マイル彼方からでも可能です。 5,000,000 から 6,000,000 のパケットだけで、 攻撃者は 128 ビット WEP ネットワークのキーを回復できてしまいます。 これは非常に多くのパケットのように聞こえますが、経験的には、 部分的に不可がかかったネットワークにおいて、 この量のトラフィックが数時間で生成されてしまいます。 あるキーが損なわれてしまったならば、 唯一の治療手段はこのキーの使用を止め、新しいキーを使用することだけです。 .Pp この攻撃の詳細は .Pa http://www.cs.rice.edu/~astubble/wep/wep_attack.html を見てください。 .Pp WEP を使わざるを得ない場合、 ランダムのキーバイトを使うべきであり、ASCII 文字に限定すべきではありません。 .Sh 歴史 .Nm ユーティリティが最初に登場したのは .Fx 3.0 です。 .Sh 作者 .Nm ユーティリティは .An Bill Paul Aq wpaul@ctr.columbia.edu が記述しました。 diff --git a/ja_JP.eucJP/man/man8/ypserv.8 b/ja_JP.eucJP/man/man8/ypserv.8 index 867cfd884b..eb22330e5c 100644 --- a/ja_JP.eucJP/man/man8/ypserv.8 +++ b/ja_JP.eucJP/man/man8/ypserv.8 @@ -1,415 +1,415 @@ .\" Copyright (c) 1995 .\" Bill Paul . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Bill Paul. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/ypserv/ypserv.8,v 1.34 2002/08/13 16:07:28 ru Exp % +.\" %FreeBSD: src/usr.sbin/ypserv/ypserv.8,v 1.35 2002/12/12 17:26:04 ru Exp % .\" .\" $FreeBSD$ .\" .Dd February 4, 1995 .Dt YPSERV 8 .Os .Sh 名称 .Nm ypserv .Nd NIS データベースサーバ .Sh 書式 .Nm .Op Fl n .Op Fl d .Op Fl p Ar path .Sh 解説 .Tn NIS は複数の UNIX ベースのマシン間で 共通の設定ファイルの集合を共有するための RPC ベースのサービスです。 .Tn NIS では、 .Pa /etc/hosts , .Pa /etc/passwd , .Pa /etc/group といった、ほとんどの環境で頻繁に更新されるファイルの複数のコピーを システム管理者が更新する必要は無く、 計算機のグループで一箇所で更新可能な 1 組のデータを共有することができます。 .Pp .Nm ユーティリティは .Tn NIS .Em ドメイン 内のクライアントシステムに .Tn NIS データベースを配布するサーバです。 .Tn NIS ドメイン内のクライアントは .Xr domainname 1 コマンドを使用し、 .Nm がサービスしているドメイン名を設定しなければなりません。 また、単一 .Tn NIS ドメイン中に複数のサーバが存在しうるため、 クライアントは、 .Xr ypbind 8 を実行させ、特定のサーバに接続する必要もあります。 .Pp .Nm によって配布されるデータベースは .Pa /var/yp/[domainname] に格納されます。 ここで .Pa domainname はサービスを受けるドメイン名です。 この様なディレクトリは様々なドメイン名にて複数存在可能ですが、 単一の .Nm デーモンにて全て処理可能です。 .Pp データベース (もしくはしばしば .Pa マップ と呼ばれます)は、様々なシステムファイルをソースとして .Pa /var/yp/Makefile によって作成されます。 データベースファイルは .Xr db 3 フォーマットであり、レコード数が多くとも高速に検索可能です。 .Fx では、セキュリティのため、マップの読み書きは root のみ可能です。 技術的には、このような制限はパスワードマップにのみ必要ですが、 他のマップの内容は誰もが読める他のファイルに書いてありますので、 この様な制約は害ではなく、現実的であると考えられています。 .Pp .Nm ユーティリティは .Pa /etc/rc.conf にて有効にされている場合に .Pa /etc/rc.network から起動されます。 .Sh 特別な仕様 .Fx のパスワードデータベースを .Tn NIS によって配布する場合にいくつかの問題があります。 .Fx は通常、暗号化したパスワードを、root のみ読み書き可能な .Pa /etc/master.passwd にのみ格納します。 このファイルを .Tn NIS マップにすると、セキュリティが完全に破れてしまいます。 .Pp これに対処するために、 .Fx の .Nm は .Pa master.passwd.byname と .Pa master.passwd.byuid のマップを特別な方法で扱います。 サーバがこれら 2 つのマップへのアクセス要求を受け付けると、 要求元の TCP ポートをチェックし、ポート番号が 1023 より大きい場合には エラーを返します。 スーパユーザのみ 1024 より小さい TCP ポートにバインドする事を許されているため、 サーバはこれを利用して特権ユーザからの要求か否かを判定できます。 非特権ユーザからの全ての要求は拒否されます。 .Pp また、 .Fx の標準 C ライブラリ中の .Xr getpwent 3 ルーチンは、スーパユーザが使用した場合には .Pa master.passwd.byname と .Pa master.passwd.byuid のマップからデータを取得します。 通常のユーザがこれらのルーチンをコールした場合には、標準の .Pa passwd.byname と .Pa passwd.byuid のマップにアクセスします。後者の 2 つのマップは .Pa /var/yp/Makefile により、 .Pa master.passwd ファイルをパースし、パスワードフィールドを削除する事により作成されますので、 非特権ユーザに渡しても安全です。 このように .Pa master.passwd データベースのシャドウパスワード機構は .Tn NIS においても守られます。 .Sh 注 .Ss マスタサーバとスレーブサーバの設定 .Xr ypinit 8 は便利なスクリプトであり、 .Tn NIS のマスタサーバおよびスレーブサーバの設定の助けになります。 .Ss 制限 .Tn NIS 環境にてシャドウパスワードを使用することに起因する問題が 2 つあります。 ユーザは次のことに気をつけねばなりません。 .Pp .Bl -enum -offset indent .It .Sq TCP ポートが 1024 より小さい というテストは非常に簡単であるため、 同一ネットワーク上の、無制限のアクセスが可能なマシンを持つユーザは これを破る事が可能です (UNIX ベースではないオペレーティングシステムを実行するマシンでも可能です)。 .It .Fx システムを、シャドウパスワードをサポートしない非 .Fx クライアント (ほとんどがそうです) に対するサーバにしようとしている場合には、 .Pa /var/yp/Makefile の .Em UNSECURE=True エントリのコメントを外し、 シャドウパスワードを無効にする必要があります。 これにより、 .Pa passwd.byname と .Pa passwd.byuid のマップに、非 .Fx クライアントが .Tn NIS を通じてユーザ認証を 行うために必要とする、 有効な暗号化されたパスワードフィールドが含まれるようになります。 .El .Pp .Ss セキュリティ 一般的に、リモートユーザは、ドメイン名を知ってさえいれば、RPC を .Nm に発行し、 .Tn NIS マップの内容を取得可能です。 このような権限の無いトランザクションを防ぐために、 .Nm には .Pa securenets と呼ばれる、あるホストの集合にのみアクセスを制限する機能があります。 起動時に、 .Nm は securenets 情報をファイル .Pa /var/yp/securenets から読み込みます。 (後述するように、このパスは、 .Fl p オプションによって指定するパスによって変化することに注意して下さい。) このファイルは、空白によって区切られるネットワークとネットワークマスクからなる エントリを複数含みます。 .Dq \&# から始まる行はコメントと見なされます。 securenets ファイルの例を以下に示します: .Bd -unfilled -offset indent # allow connections from local host -- mandatory 127.0.0.1 255.255.255.255 # allow connections from any host # on the 129.168.128.0 network 192.168.128.0 255.255.255.0 # allow connections from any host # between 10.0.0.0 to 10.0.15.255 10.0.0.0 255.255.240.0 .Ed .Pp .Nm がこれらのルールに適合するアドレスからの要求を受け取った場合には、 通常通り要求を処理します。 アドレスがルールに適合しない場合には、要求は無視され、警告がログされます。 .Pa /var/yp/securenets ファイルが存在しない場合には、 .Nm は全てのホストからの接続を許します。 .Pp .Nm ユーティリティは、Wietse Venema の .Em tcpwrapper パッケージをサポートします。 これにより、アクセス管理のために、 システム管理者は tcpwrapper の設定ファイル .Pa ( /etc/hosts.allow と .Pa /etc/hosts.deny ) を .Pa /var/yp/securenets の代わりに使用できます。 .Pp 注: どちらのアクセス制御もそれなりのセキュリティを提供しますが、 特権ポートテストと同様に .Dq IP 詐称 (spoofing) 攻撃には無力であることに 注意して下さい。 .Pp .Ss NIS v1 互換性 このバージョンの .Nm は .Tn NIS v1 クライアントに対してある程度サービス可能です。 .Fx の .Tn NIS 実装は .Tn NIS v2 プロトコルのみを使用しますが、 他の実装では古いシステムとのバックワードコンパチビリティのために v1 プロトコルもサポートしています。 そのようなシステムで提供されている .Xr ypbind 8 デーモンは、実際にはおそらく不要なのですが、 .Tn NIS v1 サーバにバインドしようとします。 (そして、v2 サーバから返答を受け取ったとしてもサーバを探すために ブロードキャストし続けます。) このバージョンの .Nm では通常のクライアントの呼び出しはサポートされていますが、 v1 マップ転送要求は扱いません。 すなわち、古い .Tn NIS サーバとともに、マスタもしくはスレーブとして使用することはできません。 好運なことに、今日ではこの様なサーバは存在しないでしょう。 .Ss NIS クライアントでもある NIS サーバ 複数のサーバが存在するドメインにおいて、 サーバが .Tn NIS クライアントでもある場合には、 .Nm の実行に注意を払う必要があります。 バインド要求をブロードキャストさせてサーバ間でバインドさせるのではなく、 サーバを自分自身にバインドすることは一般的には良い考えです。 あるサーバがダウンし、他のサーバがそのサーバに依存していた場合には、 奇妙な障害が生じ得ます。(結果として全てのクライアントがタイムアウトし、 他のサーバにバインドしようとしますが、遅延は無視できず、 サーバはまだ互いにバインドしようとしますので、障害は残ります。) .Pp 特定のサーバに強制的にバインドさせるための詳細は .Xr ypbind 8 マニュアルページを参照して下さい。 .Sh オプション 以下のオプションが .Nm にてサポートされています。 .Bl -tag -width flag .It Fl n このオプションは .Nm が .Pa hosts.byname と .Pa hosts.byaddress のマップに対する yp_match 要求を扱う方法を操作します。 デフォルトでは、 .Nm が与えられたホストのエントリをホストマップ中に見付けられなかった場合には、 エラーを返しそれ以上の処理を行いません。 .Fl n フラグを指定すると、 .Nm はさらなる処理を行います。 すぐにあきらめずに、ホスト名もしくはアドレスを DNS ネームサーバに問い合わせて 解決しようとします。 問い合わせが成功すると、 .Nm は偽のデータベースレコードを作成し、それをクライアントに返しますので、 クライアントの yp_match 要求は成功したように見えます。 .Pp この仕様は SunOS 4.1.x との互換性のために用意されています。 そのシステムの標準 C ライブラリではリゾルバが腐っており、 ホスト名とアドレスの解決のために .Tn NIS に依存していました。 .Fx のリゾルバは DNS への問い合わせを直接行えますので、 .Fx である .Tn NIS クライアントに対してのみサービスする場合は、 このオプションを有効にする必要はありません。 .It Fl d サーバをデバッグモードで実行します。 通常 .Nm は異常時のエラー (アクセス違反、ファイルアクセス失敗) のみを .Xr syslog 3 機能を使用して報告します。 デバッグモードでは、サーバは自身をバックグラウンドでは実行せず、 リクエストを受けるたびに、 状態を表す追加のメッセージを標準エラー出力に表示します。 また、デバッグモードで実行している間は、通常とは異なり、 yp_all 要求処理時や DNS 検索処理時に .Nm ypserv サブプロセスを生成しません。 (これらの処理は多くの場合完了までに時間がかかるために サブプロセスにより処理され、 親であるサーバは別の要求を処理できるようになっています。) これによりデバッグツールによるサーバのトレースが容易になります。 .It Fl p Ar path 通常 .Nm は .Tn NIS マップは .Pa /var/yp 以下にあるものと想定します。 .Fl p フラグを使用し、別の .Tn NIS ルートパスを指定できますので、 システム管理者はファイルシステム中の別の場所にマップファイルを移動できます。 .El .Sh 関連ファイル .Bl -tag -width Pa -compact .It Pa /var/yp/[domainname]/[maps] .Tn NIS マップ .It Pa /etc/nsswitch.conf 名前切り替え設定ファイル .It Pa /var/yp/securenets ホストアクセス制御ファイル .El .Sh 関連項目 .Xr ypcat 1 , .Xr db 3 , .Xr hosts_access 5 , .Xr rpc.yppasswdd 8 , .Xr yp 8 , .Xr ypbind 8 , .Xr ypinit 8 , .Xr yppush 8 , .Xr ypxfr 8 .Sh 作者 .An Bill Paul Aq wpaul@ctr.columbia.edu .Sh 歴史 このバージョンの .Nm が最初に登場したのは .Fx 2.2 です。 diff --git a/ja_JP.eucJP/man/man8/ypxfr.8 b/ja_JP.eucJP/man/man8/ypxfr.8 index 2f57223048..27cbd3e837 100644 --- a/ja_JP.eucJP/man/man8/ypxfr.8 +++ b/ja_JP.eucJP/man/man8/ypxfr.8 @@ -1,297 +1,297 @@ .\" Copyright (c) 1995 .\" Bill Paul . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Bill Paul. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/libexec/ypxfr/ypxfr.8,v 1.15 2002/07/06 19:19:48 charnier Exp % +.\" %FreeBSD: src/libexec/ypxfr/ypxfr.8,v 1.16 2002/12/12 17:25:54 ru Exp % .\" .\" $FreeBSD$ .\" .Dd February 5, 1995 .Dt YPXFR 8 .Os .Sh 名称 .Nm ypxfr .Nd "リモートのサーバからローカルホストへ NIS データベースを転送する" .Sh 書式 .Nm /usr/libexec/ypxfr .Op Fl f .Op Fl c .Op Fl d Ar target domain .Op Fl h Ar source host .Op Fl s Ar source domain .Op Fl p Ar path .Op Fl C Ar taskid program-number ipaddr port .Ar mapname .Sh 解説 .Nm ypxfr ユーティリティは .Tn NIS データベース(または .Pa マップ ) を .Tn NIS サービスを使用し、ある .Tn NIS サーバから別のサーバにコピーします。 .Fx では一般に、 .Nm は .Xr yppush 8 からマップ転送要求を受け取った .Xr ypserv 8 から 起動されます。 基本的に、 .Nm ユーティリティを使用するのは、単一ドメイン内で複数の .Tn NIS サーバが使用される環境です。 一台のサーバ( .Tn NIS マスタ)は全ての .Tn NIS マップの基準となるコピーを管理します。 その他のサーバ( .Tn NIS スレーブ)は、マップに更新があったとき (例えば、ユーザが .Xr yppasswd 1 を用いてパスワードを更新したとき)に、 新しいバージョンのマップをマスタからコピーします。 .Pp 実行時、 .Nm は一時データベースファイルを .Pa /var/yp/[domainmame] に作成し、 指定された .Ar source host により提供される .Ar mapname の内容で埋めます。 マップ全体の転送が完了すると、 .Nm は .Ar mapname の古いコピーを消去し、代わりに一時ファイルを置きます。 転送完了時に、 .Nm は `現在のマップのクリア' 要求を、 ローカルの .Xr ypserv 8 プロセス宛に送信し、 古いマップを参照している場合にはクリアさせようとします。 .Pp .Nm が作成した全てのファイルが所有者のみ読み書き可能なのは、 セキュリティのためである事に注意して下さい。 .Tn NIS マップとそれを格納するディレクトリは通常 root が所有しますので、 非特権ユーザによる権限の無い変更を防ぎます。 .Pp 全ての .Tn NIS サーバ間で一貫性を保持するために .Nm を .Xr cron 8 ジョブとして定期的に実行する事が出来ます。 ほとんど変更されないマップは 1 日 1 度 (システム使用率が一番低い深夜が望ましいでしょう)更新すれば良いですが、 頻繁に変更されるマップ(例えば .Pa passwd.byname や .Pa passwd.byuid ) はおそらく 1 時間に 1 度更新すべきでしょう。 .Xr cron 8 を使用し NIS マップを自動的に更新する事は厳密には必須ではありません。 なぜなら、全ての更新は .Tn NIS マスタサーバ上で .Pa /var/yp/Makefile が実行された時に .Xr yppush 8 にて伝搬されているはずだからです。 ただし、通信不能となって .Tn NIS サーバ間で同期が取れなくなる事があるような 大きなネットワークでは、良い実現方式です。 .Pp .Nm が制御端末無しで起動された場合、例えば .Xr ypserv 8 内部から起動された場合には、 .Xr syslog 3 機構を使用して、全ての出力のログを取ります。 .Sh 注 .Fx バージョンの .Nm は .Fx の .Xr rpc.ypxfrd 8 サーバと連動する特別なマップ転送プロトコルをサポートします。 このプロトコルは、 生のマップデータベースファイルを .Tn NIS マスタサーバから転送する事を許しますので、 特に大きな .Tn NIS マップの場合は、標準の転送方法よりも数倍高速です。 .Nm ユーティリティは .Tn NIS マスタサーバ上に .Xr rpc.ypxfrd 8 が登録されているかをチェックし、存在する場合にはこれを使用しようとします。 存在しない場合には、標準プロトコルを使用し、 .Xr ypserv 8 からマップの内容をコピーし、新たなマップを作成します。 .Pp 概念的には .Fx の ypxfrd プロトコルは SunOS の ypxfrd プロトコルと同じですが、 .Fx のプロトコルは SunOS のプロトコルとは互換ではないため、 Sun の ypxfrd サーバとともに使用する事は出来ない事に注意して下さい。 .Fx のスレーブは、非 .Fx の .Tn NIS サーバから マップを転送する事が出来ますが、 高速プロトコルを使用できるのは、マスタサーバも .Fx の場合だけです。 .Sh オプション .Nm がサポートするオプションは以下の通りです: .Bl -tag -width indent .It Fl f マップ転送を強制します。通常、 .Tn NIS マスタ上のコピーがローカルホスト上にあるコピーよりも新しくない場合には、 .Nm はマップを転送しません: .Fl f フラグにより、サーバ上のバージョンが新しいか否かにかにかかわらず、 転送します。 .It Fl c ローカルホスト上で実行されている .Xr ypserv 8 プロセス宛に `現在のマップのクリア' 要求を送信しません。 このフラグは通常 .Xr ypserv 8 を実行していないマシン上で .Nm を手動で起動する時に使用します。 このフラグを指定しないと、ローカルの .Tn NIS サーバと通信できないために、 .Nm は転送を中止します。 .It Fl d Ar target domain 現在の .Tn NIS ドメインではない別のドメイン名を指定します。 .It Fl h Ar source host .Tn NIS マップのコピー元のホスト名を指定します。 このオプションにより .Nm が .Tn NIS マスタサーバからのみマップをコピーする事を保証できます。 .It Fl s Ar source domain マップの転送元のドメインを指定します。 これは 2 つの .Tn NIS ドメイン間で転送を行う時に有用です。 .It Fl p Ar path .Tn NIS マップを保持する最上位ディレクトリを指定します。 デフォルトではこのパスは .Pa /var/yp です。 .Fl p フラグにより別のパスを指定し、 .Tn NIS マップを別の場所に格納する場合に対処できます。 .Tn NIS サーバ .Xr ypserv 8 が別のパスを使用するように指示された場合にも、このフラグを .Nm に渡します。 .It Fl C Ar taskid program-number ipaddr port .Xr yppush 8 によるマップ転送要求への応答として、 .Nm が .Xr ypserv 8 から起動された場合にのみ、このオプションは使用されます。 この場合、 .Nm は .Xr yppush 8 を `コールバック' して通信する必要がありますので、 .Xr yppush 8 は IP アドレス .Ar ipaddr 、ポート番号 .Ar port 、登録プログラム番号(registered program number) .Ar program-number 、トランザクション ID .Ar taskid を渡し、 マスタサーバ上で待っている .Xr yppush 8 プロセスと通信出来るようにします。 .It Ar mapname 転送するマップを指定します。 .El .Sh 関連ファイル .Bl -tag -width Pa -compact .It Pa /var/yp/[domainname]/[maps] ある .Tn NIS ドメインの .Tn NIS マップ。 .El .Sh 関連項目 .Xr yp 8 , .Xr ypserv 8 , .Xr yppush 8 .Sh 作者 .An Bill Paul Aq wpaul@ctr.columbia.edu diff --git a/ja_JP.eucJP/man/man9/VFS.9 b/ja_JP.eucJP/man/man9/VFS.9 index 98c4283b21..d8f8d2a96f 100644 --- a/ja_JP.eucJP/man/man9/VFS.9 +++ b/ja_JP.eucJP/man/man9/VFS.9 @@ -1,66 +1,66 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS.9,v 1.8 2002/03/16 17:26:07 schweikh Exp % +.\" %FreeBSD: src/share/man/man9/VFS.9,v 1.9 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS 9 .Sh 名称 .Nm VFS .Nd ファイルシステムへのカーネルインタフェース .Sh 解説 ファイルシステムの設定や情報を、 設定したり問い合わせたりするために使用される呼び出しです。 .Pp ある VFS 操作を実装しないファイルシステムは、 空の関数の実装したり、 .Fa eopnotsupp にキャストしたりするよりも、 .Pa src/sys/kern/vfs_default.c にある適切な .Fa vfs_std 関数を使用するべきです。 .Sh 関連項目 .Xr VFS_CHECKEXP 9 , .Xr VFS_FHTOVP 9 , .Xr VFS_INIT 9 , .Xr VFS_MOUNT 9 , .Xr VFS_QUOTACTL 9 , .Xr VFS_START 9 , .Xr VFS_STATFS 9 , .Xr VFS_SYNC 9 , .Xr VFS_UNMOUNT 9 , .Xr VFS_VGET 9 , .Xr VFS_VPTOFH 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 b/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 index de339993fb..835c9280d9 100644 --- a/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 +++ b/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 @@ -1,89 +1,89 @@ .\" .\" Copyright (c) 1999 Alfred Perlstein .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following condition .\" is met: .\" Redistributions of source code must retain the above copyright .\" notice, this condition and the following disclaimer. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_CHECKEXP.9,v 1.8 2002/05/16 05:21:57 trhodes Exp % +.\" %FreeBSD: src/share/man/man9/VFS_CHECKEXP.9,v 1.9 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd September 10, 1999 .Os .Dt VFS_CHECKEXP 9 .Sh 名称 .Nm VFS_CHECKEXP .Nd ファイルシステムがクライアントにエクスポートされているかどうかのチェック .Sh 書式 .In sys/param.h .In sys/mount.h .Ft int .Fn VFS_CHECKEXP "struct mount *mp" "struct sockaddr *nam" "int *exflagsp" "struct ucred **credanonp" .Sh 解説 これは、クライアントにマウントポイントがエクスポート されているかどうかをチェックするために、NFS サーバが使用します。 .Pp 引数は以下の通りです。 .Bl -tag -width credanonp .It Ar mp チェック対象のマウントポイント。 .It Ar nam クライアントのネットワークアドレスを含む mbuf。 .It Ar exflagsp このクライアントに対する、エクスポートフラグの戻り値。 .It Ar credanonp このクライアントに対する、匿名の証明の戻り値。 .El .Pp ファイルシステムのマウント構造に対して呼び出して、 .Fa nam にアドレスが含まれるクライアントに対してそのファイルシステムが エクスポートされているかどうかを決定できます。 .Pp 一般的には、 クライアントがファイルシステムにアクセス可能かを確認するために、 .Xr VFS_FHTOVP 9 の前に呼び出されます。 .Pp ファイルシステムは、 クライアントがファイルシステムをアクセスできるかを実証するために、 .Dv netexport 構造体の適切なアドレス、クライアントのアドレス、および .Fa nam を伴って、 .Xr vfs_export_lookup 9 を呼び出すべきです。 .Sh 戻り値 そのクライアントに対するエクスポートフラグと ( .Xr vfs_export_lookup 9 から返される) 匿名の証明が .Fa *exflagsp と .Fa *credanonp に返されるでしょう。 .Sh 関連項目 .Xr VFS 9 , .Xr VFS_FHTOVP 9 , .Xr VFS_VPTOFH 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Alfred Perlstein が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 b/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 index 48c2c30ab3..1b1b29d0dd 100644 --- a/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 +++ b/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 @@ -1,82 +1,82 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_FHTOVP.9,v 1.12 2001/10/01 16:09:24 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_FHTOVP.9,v 1.13 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_FHTOVP 9 .Sh 名称 .Nm VFS_FHTOVP .Nd NFS ファイルハンドルから vnode への変換 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_FHTOVP "struct mount *mp" "struct fid *fhp" "struct vnode **vpp" .Sh 解説 これは NFS ファイルハンドルから vnode へ 変換するために NFS サーバによって使用されます。 .Pp 引数は以下の通りです。 .Bl -tag -width vpp .It Ar mp ファイルシステム。 .It Ar fhp 変換されるファイルハンドル。 .It Ar vpp 新しい、ロックされた vnode の戻り値。 .El .Pp ファイルハンドルの内容は、ファイルシステムによって定義されていて、 システムの他の部分によって検査されません。 ファイルが削除された時や新しいファイルのためにファイルシステムの資源が 再利用された時の通知と同じ程度に、ファイルシステムの中のファイルを 独自に識別するための十分な情報を含んでいるべきです。 例えば、UFS ファイルシステムは、ファイルハンドルの中に inode 番号 および inode 世代カウンタを格納します。 .Pp 一般的にはこの関数への呼び出し前は、そのファイルがクライアントにとって アクセス可能であるかどうかを検査するために .Xr VFS_CHECKEXP 9 呼び出しが行われます。 .Sh 戻り値 そのファイルのロックされた vnode が .Fa *vpp に返されます。 .Sh 関連項目 .Xr VFS 9 , .Xr VFS_CHECKEXP 9 , .Xr VFS_VPTOFH 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_INIT.9 b/ja_JP.eucJP/man/man9/VFS_INIT.9 index f2956b67a4..8fa6075669 100644 --- a/ja_JP.eucJP/man/man9/VFS_INIT.9 +++ b/ja_JP.eucJP/man/man9/VFS_INIT.9 @@ -1,56 +1,56 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_INIT.9,v 1.7 2001/10/01 16:09:24 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_INIT.9,v 1.8 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_INIT 9 .Sh 名称 .Nm VFS_INIT .Nd ファイルシステムの初期化 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_INIT .Sh 解説 この関数は、ファイルシステムが保持可能な 全ての大域データ構造体を初期化するために、一度だけ呼び出されます。 オペレーティングシステムの起動時または、 動的に読み込まれたファイルシステムでは ファイルシステムを含むカーネルモジュールが読み込まれた時に、呼び出されます。 .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_MOUNT.9 b/ja_JP.eucJP/man/man9/VFS_MOUNT.9 index 133af4eb59..812cdae189 100644 --- a/ja_JP.eucJP/man/man9/VFS_MOUNT.9 +++ b/ja_JP.eucJP/man/man9/VFS_MOUNT.9 @@ -1,92 +1,92 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_MOUNT.9,v 1.9 2001/12/26 23:14:04 davidc Exp % +.\" %FreeBSD: src/share/man/man9/VFS_MOUNT.9,v 1.10 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_MOUNT 9 .Sh 名称 .Nm VFS_MOUNT .Nd ファイルシステムのマウント .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_MOUNT "struct mount *mp" "char *path" "caddr_t data" "struct nameidata *ndp" "struct thread *td" .Sh 解説 システムの名前空間にファイルシステムをマウントします。 .Pp 引数は以下の通りです。 .Bl -tag -width data .It Ar mp ファイルシステムを表現する構造体。 .It Ar path そのファイルシステムがマウントされるパス名。 .It Ar data ファイルシステム固有データ。これはカーネルに .Xr copyin 9 を使用して読み込まれるべきです。 .It Ar ndp マウントポイントのパス名での .Xr namei 9 の呼び出しの結果。 .It Ar td ファイルシステムをマウントしようとしているスレッド。 .El .Pp これは、新しいファイルシステムをマウントする目的と、 既存のファイルシステムの属性変更の目的の、両方の用途で呼び出されます。 .Fa mp->mnt_flag に .Dv MNT_UPDATE フラグが設定されている場合には、ファイルシステムは .Fa mp->mnt_flag の値により内部状態を更新するべきです。 例えば、読み取り専用ファイルシステムから読み書き可能への変換に 使用されることが可能です。 また、 .Xr mountd 8 によってファイルシステムの NFS エクスポート情報の更新にも使用されています。 .Pp .Dv MNT_UPDATE フラグが設定されていない場合には、 これは新規にマウントされたファイルシステムです。 ファイルシステムのコードは、ファイルシステムの表現に必要な私的データの 割り当てと初期化を行なうべきです (この情報を格納するために .Fa mp->mnt_data フィールドを使用可能です)。 .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 b/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 index 65da1ffd14..76a676a70c 100644 --- a/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 +++ b/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 @@ -1,55 +1,55 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_QUOTACTL.9,v 1.7 2001/12/26 23:14:04 davidc Exp % +.\" %FreeBSD: src/share/man/man9/VFS_QUOTACTL.9,v 1.8 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_QUOTACTL 9 .Sh 名称 .Nm VFS_QUOTACTL .Nd ファイルシステムクォータの操作 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_QUOTACTL "struct mount *mp" "int cmds" "uid_t uid" "caddr_t arg" "struct thread *td" .Sh 解説 ファイルシステムのクォータを実装します。 引数についての解説は .Xr quotactl 2 を参照してください。 .Sh 関連項目 .Xr quotactl 2 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_ROOT.9 b/ja_JP.eucJP/man/man9/VFS_ROOT.9 index dafc2e0f0d..0c8b8ef413 100644 --- a/ja_JP.eucJP/man/man9/VFS_ROOT.9 +++ b/ja_JP.eucJP/man/man9/VFS_ROOT.9 @@ -1,60 +1,60 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_ROOT.9,v 1.6 2001/10/01 16:09:24 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_ROOT.9,v 1.7 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_ROOT 9 .Sh 名称 .Nm VFS_ROOT .Nd ファイルシステムのルート vnode の取得 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_ROOT "struct mount *mp" "struct vnode **vpp" .Sh 解説 ファイルシステムのルートディレクトリに対する、ロックされた vnode を返します。 .Pp 引数は以下の通りです。 .Bl -tag -width vpp .It Ar mp ファイルシステム。 .It Ar vpp ルート vnode の引数の戻り値。 .El .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_START.9 b/ja_JP.eucJP/man/man9/VFS_START.9 index 2999e94d9a..d277e76643 100644 --- a/ja_JP.eucJP/man/man9/VFS_START.9 +++ b/ja_JP.eucJP/man/man9/VFS_START.9 @@ -1,63 +1,63 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_START.9,v 1.7 2001/12/26 23:14:04 davidc Exp % +.\" %FreeBSD: src/share/man/man9/VFS_START.9,v 1.8 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_START 9 .Sh 名称 .Nm VFS_START .Nd ファイルシステムを操作可能にする .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_START "struct mount *mp" "int flags" "struct thread *td" .Sh 解説 これは .Xr VFS_MOUNT 9 の後且つファイルシステムへの最初のアクセスの前に呼び出されます。 引数は以下の通りです。 .Bl -tag -width flags .It Ar mp ファイルシステム。 .It Ar flags ?? .It Ar td ファイルシステムを起動しているスレッド。 .El .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_STATFS.9 b/ja_JP.eucJP/man/man9/VFS_STATFS.9 index 8b32137623..fd8a3b648c 100644 --- a/ja_JP.eucJP/man/man9/VFS_STATFS.9 +++ b/ja_JP.eucJP/man/man9/VFS_STATFS.9 @@ -1,63 +1,63 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_STATFS.9,v 1.7 2001/12/26 23:14:04 davidc Exp % +.\" %FreeBSD: src/share/man/man9/VFS_STATFS.9,v 1.8 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_STATFS 9 .Sh 名称 .Nm VFS_STATFS .Nd ファイルシステムの状態の取得 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_STATFS "struct mount *mp" "struct statfs *sbp" "struct thread *td" .Sh 解説 この呼び出しは、ファイルシステムについての様々な情報を返します。 この情報には、推奨されている入出力サイズ、空き領域、空き inode 等があります。 .Pp 引数は以下の通りです。 .Bl -tag -width sbp .It Ar mp ファイルシステム。 .It Ar sbp ファイルシステムの状態のための戻り値。 .It Ar td ファイルシステムに問い合わせているスレッド。 .El .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_SYNC.9 b/ja_JP.eucJP/man/man9/VFS_SYNC.9 index 3dbca16a62..fcc70b9576 100644 --- a/ja_JP.eucJP/man/man9/VFS_SYNC.9 +++ b/ja_JP.eucJP/man/man9/VFS_SYNC.9 @@ -1,80 +1,80 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_SYNC.9,v 1.9 2001/12/26 23:14:04 davidc Exp % +.\" %FreeBSD: src/share/man/man9/VFS_SYNC.9,v 1.10 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_SYNC 9 .Sh 名称 .Nm VFS_SYNC .Nd 未書き込みデータの吐き出し .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_SYNC "struct mount *mp" "int waitfor" "struct ucred *cred" "struct thread *td" .Sh 解説 これはファイルシステムの全ての未書き込みのデータを書き出します。 .Pp 引数は以下の通りです。 .Bl -tag -width waitfor .It Ar mp ファイルシステム。 .It Ar waitfor 関数が入出力の完了まで待つべきかどうか。 指定可能な値は以下のとおりです。 .Bl -tag -width MNT_NOWAIT .It Dv MNT_WAIT 入出力の完了を同期的に待ちます。 .It Dv MNT_NOWAIT 全ての入出力を開始しますが、それを待ちません。 .It Dv MNT_LAZY ファイルシステムの syncer によって書込まれていないデータを出力します。 .El .It Ar cred 呼び出し元の証明。 .It Ar td 呼び出しているスレッド。 .El .Pp これは、通常、ファイルシステム中の全ての vnode のために .Xr VOP_FSYNC 9 を呼び出します。 .Sh 関連項目 .Xr fsync 2 , .Xr sync 2 , .Xr VFS 9 , .Xr vnode 9 , .Xr VOP_FSYNC 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 b/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 index 58c86af807..5f905f9c25 100644 --- a/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 +++ b/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 @@ -1,66 +1,66 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_UNMOUNT.9,v 1.7 2001/12/26 23:14:04 davidc Exp % +.\" %FreeBSD: src/share/man/man9/VFS_UNMOUNT.9,v 1.8 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_UNMOUNT 9 .Sh 名称 .Nm VFS_UNMOUNT .Nd ファイルシステムのアンマウント .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_UNMOUNT "struct mount *mp" "int mntflags" "struct thread *td" .Sh 解説 ファイルシステムをアンマウントします。 .Pp 引数は以下の通りです。 .Bl -tag -width mntflags .It Ar mp ファイルシステム。 .It Ar mntflags いろいろなフラグ。 .It Ar td ファイルシステムをアンマウントしているスレッド。 .El .Pp .Dv MNT_FORCE フラグが指定された場合には、開いているファイルは強制的に閉じられるべきです。 .Sh 関連項目 .Xr vflush 9 , .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_VGET.9 b/ja_JP.eucJP/man/man9/VFS_VGET.9 index 261d3bf7ca..4f426adbea 100644 --- a/ja_JP.eucJP/man/man9/VFS_VGET.9 +++ b/ja_JP.eucJP/man/man9/VFS_VGET.9 @@ -1,77 +1,77 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_VGET.9,v 1.9 2002/04/12 04:23:22 davidc Exp % +.\" %FreeBSD: src/share/man/man9/VFS_VGET.9,v 1.10 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_VGET 9 .Sh 名称 .Nm VFS_VGET .Nd inode 番号から vnode への変換 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_VGET "struct mount *mp" "ino_t ino" "int flags" "struct vnode **vpp" .Sh 解説 これは inode 番号を、ロックされた vnode へ変換します。 .Pp 引数は以下の通りです。 .Bl -tag -width ".Ar flags" .It Ar mp ファイルシステム。 .It Ar ino そのファイルを表現する inode。 .It Ar flags パススルーのための追加のロックフラグ。 .It Ar vpp vnode の戻り値。 .El .Pp これは、ファイルシステム中の各ファイルに対して 一意の識別番号を持つファイルシステムのための、 オプションのファイルシステムエントリポイントです。 UFS ファイルシステムはこれを内部的に使用していますし、 また NFSv3 サーバは .Dv READDIRPLUS NFS 呼び出しを実装するために使用しています。 .Pp ファイルシステムがこの呼び出しをサポートしていない場合には、 .Er EOPNOTSUPP を返すべきです。 .Sh 関連項目 .Xr VFS 9 , .Xr vget 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ACCESS.9 b/ja_JP.eucJP/man/man9/VOP_ACCESS.9 index 7c7efef0ef..6c41ee9c8b 100644 --- a/ja_JP.eucJP/man/man9/VOP_ACCESS.9 +++ b/ja_JP.eucJP/man/man9/VOP_ACCESS.9 @@ -1,153 +1,153 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_ACCESS.9,v 1.17 2002/09/18 22:12:42 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_ACCESS.9,v 1.18 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_ACCESS 9 .Sh 名称 .Nm VOP_ACCESS .Nd ファイルまたは UNIX ドメインソケットのアクセス許可の調査 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_ACCESS "struct vnode *vp" "int mode" "struct ucred *cred" "struct thread *td" .Sh 解説 このエントリポイントは、与えられた証明に対する、ファイルの アクセス許可を調査します。 .Pp 引数は以下の通りです。 .Bl -tag -width mode .It Ar vp 調査対象ファイルの vnode。 .It Ar mode 要求されたアクセスのタイプ。 .It Ar cred 調査対象のユーザ証明。 .It Ar td 調査しているスレッド。 .El .Pp .Fa mode は .Dv VREAD , .Dv VWRITE または .Dv VEXEC を含むマスクです。 .Sh ロック vnode は、入る時にロックされ、戻る時にもロックされ続けます。 .Sh 戻り値 ファイルが指定された方法でアクセス可能な場合には、0 が返されます。 そうでない場合には、適切なエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_access(struct vnode *vp, int mode, struct ucred *cred, struct thread *td) { int error; /* * ファイルがソケット、FIFO、またはファイルシステムに存在する * ブロック型または文字型デバイスでない場合には、読み込み専用 * ファイルシステムへの書き込みは認められません。 */ if (mode & VWRITE) { switch (vp->v_type) { case VDIR: case VLNK: case VREG: if (vp->v_mount->mnt_flag & MNT_RDONLY) return EROFS; break; } } /* 不変ビットが設定されていれば、誰も書き込めません。 */ if ((mode & VWRITE) && vp has immutable bit set) return EPERM; /* そうでなければ、uid が 0 ならば常に許可。 */ if (cred->cr_uid == 0) return 0; mask = 0; /* そうでなければ、所有者を調べます。 */ if (cred->cr_uid == owner of vp) { if (mode & VEXEC) mask |= S_IXUSR; if (mode & VREAD) mask |= S_IRUSR; if (mode & VWRITE) mask |= S_IWUSR; return (((mode of vp) & mask) == mask ? 0 : EACCES); } /* そうでなければ、グループを調べます。 */ for (i = 0, gp = cred->cr_groups; i < cred->cr_ngroups; i++, gp++) if (group of vp == *gp) { if (mode & VEXEC) mask |= S_IXGRP; if (mode & VREAD) mask |= S_IRGRP; if (mode & VWRITE) mask |= S_IWGRP; return (((mode of vp) & mask) == mask ? 0 : EACCES); } /* そうでなければ、その他を調べます。 */ if (mode & VEXEC) mask |= S_IXOTH; if (mode & VREAD) mask |= S_IROTH; if (mode & VWRITE) mask |= S_IWOTH; return (((mode of vp) & mask) == mask ? 0 : EACCES); } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EPERM 不変ファイルを変更しようとしました。 .It Bq Er EACCES パーミッションビットのファイルモードまたは ACL が要求されたアクセスを 許可しませんでした。 .El .Sh 関連項目 .Xr vaccess 9 , .Xr vaccess_acl_posix1e 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 b/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 index 9d0666583d..55e2711e39 100644 --- a/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 +++ b/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 @@ -1,102 +1,102 @@ .\"- .\" Copyright (c) 1999 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_ACLCHECK.9,v 1.8 2002/09/18 22:12:42 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_ACLCHECK.9,v 1.9 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd December 23, 1999 .Os .Dt VOP_ACLCHECK 9 .Sh 名称 .Nm VOP_ACLCHECK .Nd vnode のアクセス制御リストの調査 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/acl.h .Ft int .Fn VOP_ACLCHECK "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct thread *td" .Sh 解説 この vnode 呼び出しは、特定のファイルまたはディレクトリに対する 特定のアクセス制御リスト (ACL) の妥当性を決定するために、使用可能です。 .Pp 引数は以下の通りです。 .Bl -tag -width type .It Ar vp ファイルまたはディレクトリの vnode。 .It Ar type 調査対象の ACL の型。 .It Ar aclp ACL データの取り出し元の ACL 構造体を指しているポインタ。 .It Ar cred 要求の認証のために使用されるユーザ証明。 .It Ar td ACL を調査しているスレッド。 .El .Pp .Fa cred ポインタは、NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない ACL 証明を、 カーネルが正当化することを認めるために使用可能です。 .Pp vnode ACL インタフェースは、ファイルまたはディレクトリの ACL インタフェースの セマンティクスではなく文法を定義します。 カーネル内の ACL 管理についての詳細な情報は .Xr acl 9 を参照してください。 .Sh ロック この vnode メソッドの呼び出しのためにロックは不要で、 入る時に保持していた全てのロックは戻る時まで保持されます。 .Sh 戻り値 .Fa vp オブジェクトのための .Fa type 型の有効な ACL を .Fa aclp ポインタが指している場合には 0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL 渡された vnode の ACL 型が無効または ACL データが無効です。 .It Bq Er EACCES ファイルまたはディレクトリの ACL がアクセスを許可しませんでした。 .It Bq Er ENOMEM 要求を実行するための十分なメモリが利用可能ではありません。 .It Bq Er EOPNOTSUPP ファイルシステムが .Fn VOP_ACLCHECK をサポートしていません。 .El .Sh 関連項目 .Xr acl 9 , .Xr vnode 9 , .Xr VOP_GETACL 9 , .Xr VOP_SETACL 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 b/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 index 1f6c1c9980..fa7d572dfc 100644 --- a/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 +++ b/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 @@ -1,85 +1,85 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_ADVLOCK.9,v 1.9 2001/10/01 16:09:24 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_ADVLOCK.9,v 1.10 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd June 30, 1999 .Os .Dt VOP_ADVLOCK 9 .Sh 名称 .Nm VOP_ADVLOCK .Nd 問合せ型レコードロック .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/fcntl.h .In sys/lockf.h .Ft int .Fn VOP_ADVLOCK "struct vnode *vp" "caddr_t id" "int op" "struct flock *fl" "int flags" .Sh 解説 引数は以下の通りです。 .Bl -tag -width flags .It Ar vp 操作されている vnode。 .It Ar id ロックを変更している識別トークン。 .It Ar op 実行するべき操作 ( .Xr fcntl 2 を参照してください)。 .It Ar fl ロックの記述。 .It Ar flags 以下の値のひとつ以上。 .Bl -column F_UNLCK -offset indent .It Dv F_RDLCK Ta 共有または読み込みロック .It Dv F_UNLCK Ta ロック解除 .It Dv F_WRLCK Ta 排他的または書き込みロック .It Dv F_WAIT Ta ロックが承認されるまで待機 .It Dv F_FLOCK Ta ロックのために .Xr flock 2 のセマンティクス使用 .It Dv F_POSIX Ta ロックのために POSIX のセマンティクスを使用 .El .El .Pp このエントリポイントは、ファイルの問合せ型レコードロックを操作します。 ほとんどのファイルシステムは、この呼び出しのための作業を .Fn lf_advlock に委任します。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 関連項目 .Xr fcntl 2 , .Xr flock 2 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 b/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 index f2ca209799..25611fcbad 100644 --- a/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 +++ b/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 @@ -1,169 +1,169 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_ATTRIB.9,v 1.21 2002/09/18 22:12:42 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_ATTRIB.9,v 1.22 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_ATTRIB 9 .Sh 名称 .Nm VOP_GETATTR , .Nm VOP_SETATTR .Nd ファイルまたはディレクトリの属性の取得または設定 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_GETATTR "struct vnode *vp" "struct vattr *vap" "struct ucred *cred" "struct thread *td" .Ft int .Fn VOP_SETATTR "struct vnode *vp" "struct vattr *vap" "struct ucred *cred" "struct thread *td" .Sh 解説 これらのエントリポイントは、 ファイルまたはディレクトリの様々な属性を操作します。 操作対象には、ファイルパーミッション、所有者、グループ、 大きさ、アクセス時刻、更新時刻を含みます。 .Pp 引数は以下の通りです。 .Bl -tag -width cred .It Fa vp ファイルの vnode。 .It Fa vap ファイルの属性。 .It Fa cred 呼び出したプロセスのユーザ証明。 .It Fa td スレッド。 .El .Pp .Xr VOP_SETATTR 9 によって更新されようとしていない属性は .Dv VNOVAL が設定されているべきです。 .Fn VATTR_NULL は全ての値をクリアするために使用することができ、一般的には .Fa *vap の値の明示の前にその内容をリセットするために使用されるべきです。 .Sh ロック .Xr VOP_GETATTR 9 は、入る時に vnode がロックされていて、戻り時まで vnode がロックされたままで あることを期待します。 そのロックの型は共有または排他が可能です。 .Pp .Xr VOP_SETATTR 9 は、入る時に vnode がロックされていて、戻り時まで vnode がロックされたままで あることを期待します。 そのロックの型は排他でなければなりません。 .Sh 戻り値 .Xr VOP_GETATTR 9 は .Fa *vap を介して属性データを取り出すことができた場合には 0 を返し、 そうでない場合には適切なエラーが返されます。 .Xr VOP_SETATTR 9 は属性がうまく変更された場合には 0 を返し、 そうでない場合には適切なエラーが返されます。 .Sh 疑似コード .Bd -literal int vop_getattr(struct vnode *vp, struct vattr *vap, struct ucred *cred, struct thread *td) { /* * *vap をファイルシステムからの情報で埋めます。 */ ...; return 0; } int vop_setattr(struct vnode *vp, struct vattr *vap, struct ucred *cred, struct thread *td) { /* * 設定できない属性をチェックします。 */ if ((vap->va_type != VNON) || (vap->va_nlink != VNOVAL) || (vap->va_fsid != VNOVAL) || (vap->va_fileid != VNOVAL) || (vap->va_blocksize != VNOVAL) || (vap->va_rdev != VNOVAL) || ((int)vap->va_bytes != VNOVAL) || (vap->va_gen != VNOVAL)) { return (EINVAL); } if (vap->va_flags != VNOVAL) { /* * ファイルの変更不能と追加フラグを設定します。 */ } if (vap->va_uid != (uid_t)VNOVAL || vap->va_gid != (gid_t)VNOVAL) { /* * ファイルの所有者および/またはグループを変更します。 */ } if (vap->va_size != VNOVAL) { /* * ファイルを指定された大きさに切り詰めます。 */ } if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) { /* * ファイルのアクセスおよび/または更新時刻を変更します。 */ } if (vap->va_mode != (mode_t)VNOVAL) { /* * ファイルのパーミッションを変更します。 */ } return 0; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EPERM ファイルは変更不可能です。 .It Bq Er EACCES 呼び出し側がそのファイルまたはディレクトリの属性を修正するパーミッションを 持っていません。 .It Bq Er EROFS ファイルシステムが読み込み専用です。 .El .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 , .Xr VOP_ACCESS 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_BWRITE.9 b/ja_JP.eucJP/man/man9/VOP_BWRITE.9 index d8fae972ca..bc09ae2fd6 100644 --- a/ja_JP.eucJP/man/man9/VOP_BWRITE.9 +++ b/ja_JP.eucJP/man/man9/VOP_BWRITE.9 @@ -1,58 +1,58 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_BWRITE.9,v 1.8 2001/10/01 16:09:24 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_BWRITE.9,v 1.9 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_BWRITE 9 .Sh 名称 .Nm VOP_BWRITE .Nd ファイルシステムバッファの書き込み .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_BWRITE "struct vnode *vp" "struct buf *bp" .Sh 解説 引数は以下の通りです。 .Bl -tag -width 2n .It Ar vp 書き込まれているファイルの vnode。 .It Ar bp 書き込まれるべきバッファ。 .El .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_CREATE.9 b/ja_JP.eucJP/man/man9/VOP_CREATE.9 index 3acbcf8a4f..8a92c8d8c5 100644 --- a/ja_JP.eucJP/man/man9/VOP_CREATE.9 +++ b/ja_JP.eucJP/man/man9/VOP_CREATE.9 @@ -1,189 +1,189 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_CREATE.9,v 1.11 2002/09/18 22:12:42 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_CREATE.9,v 1.12 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_CREATE 9 .Sh 名称 .Nm VOP_CREATE , .Nm VOP_MKNOD , .Nm VOP_MKDIR , .Nm VOP_SYMLINK .Nd ファイル、ソケット、FIFO、デバイス、ディレクトリまたはシンボリックリンクの作成 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/namei.h .Ft int .Fn VOP_CREATE "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" .Ft int .Fn VOP_MKNOD "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" .Ft int .Fn VOP_MKDIR "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" .Ft int .Fn VOP_SYMLINK "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" "char *target" .Sh 解説 これらのエントリポイントは、新しいファイル、ソケット、FIFO、デバイス、 ディレクトリまたはシンボリックリンクを、 指定されたディレクトリの中に作成します。 .Pp 引数は以下の通りです。 .Bl -tag -width target .It Ar dvp ディレクトリのロックされた vnode。 .It Ar vpp 作成結果のロックされた vnode が格納されるべき、変数のアドレス。 .It Ar cnp 生成された要素のパス名。 .It Ar vap 新しいオブジェクトの作成時に使用されるべき属性。 .It Ar target シンボリックリンクの対象のパス名。 .El .Pp これらのエントリポイントは、オブジェクトの生成中に .Xr VOP_LOOKUP 9 の後に呼び出されます。 通常、 .Xr VOP_LOOKUP 9 は .Dv SAVENAME フラグを .Fa cnp->cn_flags 中に設定して、 .Fa cnp->cn_pnbuf で指されるメモリを正当なままに保ちます。 ファイルの作成時にエラーが検出された場合には、このメモリは解放されます。 ファイルがうまく作成された場合には、 .Fa cnp に .Dv SAVESTART フラグが指定されていなければ、解放されます。 .Sh ロック ディレクトリ .Fa dvp は入る時にロックされ、戻る時にもロックされ続けてなければなりません。 呼び出しが成功の場合には、新しいオブジェクトがロックされて返されます。 .Sh 戻り値 成功時には、新しいオブジェクトの vnode が .Fa *vpp に置かれ、0 が返されます。 そうでない場合には、適切なエラーが返されます。 .Sh 疑似コード .Bd -literal int vop_create(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp struct vattr *vap) { int mode = MAKEIMODE(vap->va_type, vap->va_mode); struct vnode *vp; int error; *vpp = NULL; if ((mode & IFMT) == 0) mode |= IFREG; error = SOMEFS_VALLOC(dvp, mode, cnp->cn_cred, &vp); if (error) { free(cnp->cn_pnbuf, M_NAMEI); vput(dvp); return error; } /* * 新しい vnode のパーミッションを更新します。 * これには、ディレクトリからのグループのコピーを含みます。 */ ...; #ifdef QUOTA /* * できる限りクォータ情報をチェックします。 */ ...; #endif /* * ディレクトリに新しい vnode を入れ、ディレクトリ内容が変更される * 前に vnode がディスクをアクセスしない様に注意します。 */ error = ...; if (error) goto bad; if ((cnp->cn_flags & SAVESTART) == 0) free(cnp->cn_pnbuf, M_NAMEI); vput(dvp); *vpp = vp; return 0; bad: /* * inode またはディレクトリの更新の試みで書き込みエラーが * 発生したため inode の割り当てを解放しなければなりません。 */ free(cnp->cn_pnbuf, M_NAMEI); vput(vp); /* * vp のためのファイルシステム資源を解放。 */ ...; vput(dvp); return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er ENOSPC ファイルシステムが一杯です。 .It Bq Er EDQUOT そのユーザのファイルシステム空間または inode のクォータを超過しました。 .El .Sh 関連項目 .Xr VOP_LOOKUP 9, .Xr vnode 9 .Sh 歴史 関数 .Nm は .Bx 4.3 で登場しました。 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_FSYNC.9 b/ja_JP.eucJP/man/man9/VOP_FSYNC.9 index 01f656a066..cd7d236f8a 100644 --- a/ja_JP.eucJP/man/man9/VOP_FSYNC.9 +++ b/ja_JP.eucJP/man/man9/VOP_FSYNC.9 @@ -1,149 +1,149 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_FSYNC.9,v 1.11 2002/03/28 12:57:48 dd Exp % +.\" %FreeBSD: src/share/man/man9/VOP_FSYNC.9,v 1.12 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_FSYNC 9 .Sh 名称 .Nm VOP_FSYNC .Nd ファイルシステムバッファのファイルへの吐き出し .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_FSYNC "struct vnode *vp" "struct ucred *cred" "int waitfor" "struct thread *td" .Sh 解説 この呼び出しはファイルの全ての汚れたバッファを吐き出します。 .Xr sync 2 および .Xr fsync 2 システムコールを実装するために使用されます。 .Pp 引数は以下の通りです。 .Bl -tag -width waitfor .It Ar vp ファイルの vnode。 .It Ar cred 呼び出し側の証明。 .It Ar waitfor 入出力の完了を関数が待つべきかどうか。 .Bl -tag -width MNT_NOWAIT .It Dv MNT_WAIT 入出力の完了を同期的に待ちます。 .It Dv MNT_NOWAIT 全ての入出力を開始しますが、それを待ちません。 .It Dv MNT_LAZY ファイルシステムの syncer によって書込まれていないデータを出力します。 .El .It Ar td 呼び出しているスレッド。 .El .Pp 引数 .Fa waitfor は .Dv MNT_WAIT または .Dv MNT_NOWAIT のどちらかで、関数が戻る前に書き込みの終了を待つべきかどうかを指定します。 .Sh ロック ファイルはエントリ時にロックされるべきです。 .Sh 戻り値 呼び出しが成功した場合には 0 が返され、 そうでない場合には適切なエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_fsync(struct vnode *vp, struct ucred *cred, int waitfor, struct thread *td) { struct buf *bp; struct buf *nbp; struct timeval tv; int s; loop: s = splbio(); for (bp = vp->v_dirtyblkhd.lh_first; bp; bp = nbp) { nbp = bp->b_vnbufs.le_next; /* * 既に書き込み中のバッファを無視します。 */ if (bp->b_flags & B_BUSY) continue; /* * バッファが汚れているか確認します。 */ if ((bp->b_flags & B_DELWRI) == 0) panic("vop_fsync: not dirty"); vfs_bio_awrite(bp); splx(s); goto loop; } splx(s); if (waitfor == MNT_WAIT) { s = splbio(); while (vp->v_numoutput) { vp->v_flag |= VBWAIT; tsleep((caddr_t)&vp->v_numoutput, PRIBIO + 1, "vopfsn"); } splx(s); #ifdef DIAGNOSTIC if (vp->v_dirtyblkhd.lh_first) { vprint("vop_fsync: dirty", vp); goto loop; } #endif } /* * ディスク上の vnode を書き出します。 */ tv = time; return VOP_UPDATE(vp, &tv, &tv, waitfor == MNT_WAIT); } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er ENOSPC ファイルシステムが一杯です。 .It Bq Er EDQUOT クォータを超過しました。 .El .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_GETACL.9 b/ja_JP.eucJP/man/man9/VOP_GETACL.9 index 10a6dd8926..16c84c9356 100644 --- a/ja_JP.eucJP/man/man9/VOP_GETACL.9 +++ b/ja_JP.eucJP/man/man9/VOP_GETACL.9 @@ -1,100 +1,100 @@ .\"- .\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_GETACL.9,v 1.11 2002/09/18 22:12:42 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_GETACL.9,v 1.12 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd December 23, 1999 .Os .Dt VOP_GETACL 9 .Sh 名称 .Nm VOP_GETACL .Nd vnode のアクセス制御リストの取り出し .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/acl.h .Ft int .Fn VOP_GETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct thread *td" .Sh 解説 この vnode 呼び出しは、 ファイルまたはディレクトリからアクセス制御リスト (ACL) を 取り出すために使用可能です。 .Pp 引数は以下の通りです。 .Bl -tag -width type .It Fa vp ファイルまたはディレクトリの vnode。 .It Fa type 取り出す ACL の型。 .It Fa aclp ACL データを受け取る ACL 構造体へのポインタ。 .It Fa cred 要求の認証で使用されるユーザ証明。 .It Fa td ACL を要求しているスレッド。 .El .Pp .Fa cred ポインタは、 .Dv NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない ACL の取り出しを、 カーネルが正当化することを認めるために使用可能です。 .Pp vnode ACL インタフェースはファイルまたはディレクトリの ACL インタフェースの セマンティクスではなく文法を定義します。 カーネル内の ACL 管理についての詳細な情報は .Xr acl 9 を参照してください。 .Sh ロック この vnode は入る時にロックされ、戻るときまでロックされ続けるべきです。 .Sh 戻り値 .Fa aclp ポインタが有効な ACL を指している場合には、0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL 渡された ACL 型はこの vnode には無効です。 .It Bq Er EACCES 呼び出し側が適切な特権を持っていません。 .It Bq Er ENOMEM その要求を処理するために十分なメモリが利用可能ではありません。 .It Bq Er EOPNOTSUPP ファイルシステムは .Fn VOP_GETACL をサポートしていません。 .El .Sh 関連項目 .Xr acl 9 , .Xr vnode 9 , .Xr VOP_ACLCHECK 9 , .Xr VOP_SETACL 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 b/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 index 04c03a7786..9712977c68 100644 --- a/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 +++ b/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 @@ -1,127 +1,127 @@ .\"- .\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_GETEXTATTR.9,v 1.14 2002/09/18 22:12:42 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_GETEXTATTR.9,v 1.15 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd December 23, 1999 .Os .Dt VOP_GETEXTATTR 9 .Sh 名称 .Nm VOP_GETEXTATTR .Nd vnode からの名前付き拡張属性の取り出し .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/extattr.h .Ft int .Fo VOP_GETEXTATTR .Fa "struct vnode *vp" .Fa "int attrnamespace" .Fa "const char *name" .Fa "struct uio *uio" .Fa "size_t *size" .Fa "struct ucred *cred" .Fa "struct thread *td" .Fc .Sh 解説 この vnode 呼び出しは、ファイルまたはディレクトリから、 指定した名前付き拡張属性を取り出すために使用することができます。 .Pp 引数は以下の通りです。 .Bl -tag -width ".Fa attrnamespace" .It Fa vp ファイルまたはディレクトリの vnode。 .It Fa attrnamespace どの拡張属性の名前空間に、その属性の名前が存在するのかを示す整数定数。 .It Fa name 属性名が入った null で終端された文字列へのポインタ。 .It Fa uio 読み込むべきデータの位置。 .It Fa size .Dv NULL でない場合には、戻る時に全ての属性データを読込むために要求される バイト数が含まれます。 殆んどの場合、 .Fa size が .Dv NULL ではない時には .Fa uio が .Dv NULL にされます。 またはその逆です。 .It Fa cred 要求の認証で使用するためのユーザ証明。 .It Fa td 拡張属性を要求しているスレッド。 .El .Pp .Fa cred ポインタは、 .Dv NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この .Fa cred の設定は、アクティブプロセスに許されていない拡張属性の取り出しを カーネルが正当化することを認めるために使用可能です。 .Pp 拡張属性のセマンティクスはファイルシステムの呼び出しの実装によって 異なるでしょう。拡張属性のより多くの情報は .Xr extattr 9 を参照してください。 .Sh LOCKS この vnode は入る時にロックされ、戻る時までロックされ続けるべきです。 .Sh 戻り値 成功時には 0 が返され、読み込んだデータを反映して uio 構造体が更新されます。 そうでなければ適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er ENOENT この vnode のための属性名が定義されていません。 .It Bq Er EACCES 呼び出し側が適切な特権を持っていません。 .It Bq Er ENXIO 指定された vnode および属性名に対する要求は、このファイルシステムでは無効です。 .It Bq Er ENOMEM その要求を実行するための十分なメモリが利用可能ではありません。 .It Bq Er EFAULT uio 構造体が無効なユーザ空間アドレスを参照しています。 .It Bq Er EINVAL .Fa name または .Fa uio 引数が無効です。 .It Bq Er EOPNOTSUPP ファイルシステムが .Fn VOP_GETEXTATTR をサポートしていません。 .El .Sh 関連項目 .Xr extattr 9 , .Xr vnode 9 , .Xr VOP_SETEXTATTR 9 diff --git a/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 b/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 index a5cbbfa733..32f62b2b9b 100644 --- a/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 +++ b/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 @@ -1,106 +1,106 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_INACTIVE.9,v 1.9 2001/11/20 18:19:19 arr Exp % +.\" %FreeBSD: src/share/man/man9/VOP_INACTIVE.9,v 1.10 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_INACTIVE 9 .Sh 名称 .Nm VOP_INACTIVE , .Nm VOP_RECLAIM .Nd vnode のためのファイルシステム資源の回収 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_INACTIVE "struct vnode *vp" "struct thread *td" .Ft int .Fn VOP_RECLAIM "struct vnode *vp" "struct thread *td" .Sh 解説 引数は以下の通りです。 .Bl -tag -width 2n .It Ar vp 回収されている vnode。 .El .Pp .Xr VOP_INACTIVE 9 は、カーネルがもはやその vnode を使用しなくなった時に呼び出されます。 これは、参照カウントが 0 になった時、 またはオープンされているファイルがあるファイルシステムが 強制的にアンマウントされた時に起こります。 「オープンされているが削除された」ファイルのための領域を回収するために、 使用可能です。 .Xr VOP_RECLAIM 9 は、異なるファイルシステムのために vnode が再利用される時に呼び出されます。 vnode に関連しているあらゆるファイルシステム固有の資源は、解放されるべきです。 .Sh ロック VOP_INACTIVE では、入る時に vp がロックされます。 VOP_INACTIVE コードは、戻る前に vp をアンロックしなければなりません。 .Pp VOP_RECLAIM では、入る時に vp はロックされず、 戻り時もロックされないままでいるべきです。 .Sh 疑似コード .Bd -literal int vop_inactive(struct vnode *vp, struct thread *td) { if (link count of vp == 0) { /* * vp のためのファイルシステム内の領域を回収します。 */ ...; } VOP_UNLOCK(vp, 0, td); return 0; } int vop_reclaim(struct vnode *vp) { /* * 名前キャッシュを一掃します。 */ cache_purge(vp); /* * ファイルシステムに関連したデータを解放します。 */ ...; return 0; } .Ed .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_IOCTL.9 b/ja_JP.eucJP/man/man9/VOP_IOCTL.9 index f7a1c66be8..950e4c683e 100644 --- a/ja_JP.eucJP/man/man9/VOP_IOCTL.9 +++ b/ja_JP.eucJP/man/man9/VOP_IOCTL.9 @@ -1,85 +1,86 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_IOCTL.9,v 1.9 2002/09/26 14:10:21 phk Exp % +.\" %FreeBSD: src/share/man/man9/VOP_IOCTL.9,v 1.11 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_IOCTL 9 .Sh 名称 .Nm VOP_IOCTL .Nd デバイス固有の制御 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_IOCTL "struct vnode *vp" "u_long command" "caddr_t data" "int fflag" "struct ucred *cred" "struct thread *td" .Sh 解説 デバイス依存の方法でのファイルを操作します。 .Pp 引数は以下の通りです。 .Bl -tag -width command .It Ar vp ファイル (通常はデバイスを表現する) の vnode。 .It Ar command 実行すべきデバイス固有の操作。 .It Ar cnp 指定された操作のための拡張データ。 .It Ar fflag 幾つかのフラグ ??? .It Ar cred 呼び出し側の証明。 .It Ar td 呼び出したスレッド。 .El .Pp ほとんどのファイルシステムはこのエントリポイントを実装しません。 .Sh ロック 入る時、ファイルはロックされているべきではありません。 .Sh 戻り値 成功時には 0 が返され、そうでない場合には適切なエラーが返されます。 .Pp ioctl が認識されないまたはハンドルされない場合には、 -ENOTTY が返されるべきです。 +.Er ENOTTY +が返されるべきです。 .Sh 疑似コード .Bd -literal int vop_ioctl(struct vnode *vp, int command, caddr_t data, int fflag, struct ucred *cred, struct thread *td) { return ENOTTY; } .Ed .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LINK.9 b/ja_JP.eucJP/man/man9/VOP_LINK.9 index 6ef9928ece..3e43b767b1 100644 --- a/ja_JP.eucJP/man/man9/VOP_LINK.9 +++ b/ja_JP.eucJP/man/man9/VOP_LINK.9 @@ -1,117 +1,117 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_LINK.9,v 1.17 2002/09/19 13:34:50 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LINK.9,v 1.18 2002/11/29 11:39:20 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_LINK 9 .Sh 名称 .Nm VOP_LINK .Nd ファイルの新しい名前の作成 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_LINK "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" .Sh 解説 これは、既存のファイルに対し、 指定したディレクトリ中の新しい名前をリンクします。 .Pp 引数は以下の通りです。 .Bl -tag -width 8n .It Ar dvp ディレクトリの vnode。 .It Ar vp リンクされるファイルの vnode。 .It Ar cnp ファイルについてのパス名情報。 .El .Pp -パス名情報は戻り時に開放されるべきではありません。 +パス名情報は戻り時に開放されるべきでは +.Em ありません +。 なぜならば、それは呼び出し側によって行なわれるからです。 -ディレクトリとファイルの vnode は戻り時に解放されるべきではありません。 +ディレクトリとファイルの vnode は戻り時に解放されるべきでは +.Em ありません +。 .Sh ロック .Xr VOP_LINK 9 はディレクトリおよびファイルの vnode は入る時にロックされ、戻る時まで ロックされ続けていることを期待します。 .Sh 戻り値 ファイルが成功裏にリンクされた場合には 0 が返され、 そうでない場合にはエラーが返されます。 .Sh 疑似コード .Bd -literal int vop_link(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) { int error = 0; if (vp->v_mount != dvp->v_mount) return (EXDEV); if (vp would have too many links) return (EMLINK); if (vp is immutable) return (EPERM); /* * vp のリンクカウントをインクリメントし、ディスクに書き戻します。 */ ...; if (!error) { /* * ディレクトリの新しい名前を追加します。 */ ...; } return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EMLINK ファイルのリンクの数が多すぎます。 -.El -.Bl -tag -width Er .It Bq Er EPERM ファィルが変更不可能です。 -.El -.Bl -tag -width Er .It Bq Er EXDEV 異なるファイルシステム間ではハードリンクは利用できません。 .El .Sh 関連項目 .Xr vnode 9 , .Xr vn_lock 9 .Sh 作者 このマニュアルページは .An Doug Rabson が初めて書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LOCK.9 b/ja_JP.eucJP/man/man9/VOP_LOCK.9 index 9a94795917..828af1f5a3 100644 --- a/ja_JP.eucJP/man/man9/VOP_LOCK.9 +++ b/ja_JP.eucJP/man/man9/VOP_LOCK.9 @@ -1,177 +1,177 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_LOCK.9,v 1.12 2001/10/10 10:17:02 bde Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LOCK.9,v 1.13 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_LOCK 9 .Sh 名称 .Nm VOP_LOCK , .Nm VOP_UNLOCK , .Nm VOP_ISLOCKED , .Nm vn_lock .Nd vnode アクセスの直列化 .Sh 書式 .In sys/param.h .In sys/lock.h .In sys/vnode.h .Ft int .Fn VOP_LOCK "struct vnode *vp" "int flags" "struct thread *td" .Ft int .Fn VOP_UNLOCK "struct vnode *vp" "int flags" "struct thread *td" .Ft int .Fn VOP_ISLOCKED "struct vnode *vp" "struct thread *td" .Ft int .Fn vn_lock "struct vnode *vp" "int flags" "struct thread *td" .Sh 解説 これらの呼び出しは、 ファイルシステムへのアクセスを直列化するために使用されます。 例えば、同一ファイルに対する 2 つの書き込みが同時に発生することを 避けるために使用します。 .Pp 引数は以下の通りです。 .Bl -tag -width flags .It Ar vp ロックまたはロック解除される vnode。 .It Ar flags 以下のロック要求タイプのひとつ。 .Bl -column LK_EXCLUPGRADE -offset indent .It Dv LK_SHARED Ta 共有ロック .It Dv LK_EXCLUSIVE Ta 排他的ロック .It Dv LK_UPGRADE Ta 共有から排他的へのアップグレード .It Dv LK_EXCLUPGRADE Ta 最初の共有から排他的へのアップグレード .It Dv LK_DOWNGRADE Ta 排他的から共有へのダウングレード .It Dv LK_RELEASE Ta 全てのロックタイプの解除 .It Dv LK_DRAIN Ta ロック状態終了までの待機 .El .Pp ロックタイプは、以下のロックフラグと .Em OR されているかもしれません。 .Bl -column LK_CANRECURSE -offset indent .It Dv LK_NOWAIT Ta ロックを待つために sleep しない .It Dv LK_SLEEPFAIL Ta sleep して、失敗を返す .It Dv LK_CANRECURSE Ta 再帰的排他的ロックを認める .It Dv LK_REENABLE Ta ロック消失後再有効化されるべき .It Dv LK_NOPAUSE Ta 空回りしない .El .Pp ロックタイプは、以下の制御フラグと .Em OR されているかもしれません。 .Bl -column LK_INTERLOCK -offset indent .It Dv LK_INTERLOCK Ta 呼び出し側が既に簡易ロックを保持している時に指定 (VOP_LOCK はロックを取得した後で簡易ロックを解除します) .It Dv LK_RETRY Ta ロックされるまでリトライ .It Dv LK_NOOBJ Ta オブジェクトを作成しない .El .It Ar td ロックを使用するためのスレッドコンテキスト。 .El .Pp カーネルコードは vnode をロックするために .Fn VOP_LOCK を直接呼び出さずに、 .Fn vn_lock を使用するべきです。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 疑似コード .Bd -literal struct vopnode { int von_flag; /* * 他のファイルシステム固有データ */ ...; }; #define VON_LOCKED 1 #define VON_WANTED 2 #define VTOVON(vp) ((struct vopnode *) (vp)->v_data) int vop_lock(struct vnode *vp) { struct vopnode* vop; start: while (vp->v_flag & VXLOCK) { vp->v_flag |= VXWANT; tsleep((caddr_t)vp, PINOD, "voplk1", 0); } if (vp->v_tag == VT_NON) return ENOENT; vop = VTOVON(vp); if (vop->von_flag & VON_LOCKED) { vop->von_flag |= VON_WANTED; tsleep((caddr_t) vop, PINOD, "voplk2", 0); goto start; } vop->von_flag |= VON_LOCKED; return 0; } int vop_unlock(struct vnode *vp) { struct vopnode *vop = VTOVON(vp); if ((vop->von_flag & VON_LOCKED) == 0) { panic("vop_unlock not locked"); } vop->von_flag &= ~VON_LOCKED; if (vop->von_flag & VON_WANTED) { vop->von_flag &= ~VON_WANTED; wakeup((caddr_t) vop); } return 0; } int vop_islocked(struct vnode *vp) { struct vopnode *vop = VTOVON(vp); if (vop->von_flag & VON_LOCKED) return 1; else return 0; } .Ed .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 b/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 index 8882c8786d..429c7efea7 100644 --- a/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 +++ b/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 @@ -1,454 +1,454 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_LOOKUP.9,v 1.17 2002/09/18 09:34:00 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LOOKUP.9,v 1.18 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd November 24, 1997 .Os .Dt VOP_LOOKUP 9 .Sh 名称 .Nm VOP_LOOKUP .Nd パス名の構成要素の調査 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/namei.h .Ft int .Fn VOP_LOOKUP "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" .Sh 解説 このエントリポイントは与えられたディレクトリ内の単一のパス名要素を調べます。 .Pp 引数は以下のとおりです。 .Bl -tag -width vpp .It Ar dvp 検索するディレクトリのロックされた vnode です。 .It Ar vpp 結果のロックされた vnode が格納されるべき変数のアドレスです。 .It Ar cnp 検索されるためのパス名要素です。 .El .Pp .Fa cnp は以下で定義されている componentname 構造体へのポインタです。 .Bd -literal struct componentname { /* * lookup への引数です。 */ u_long cn_nameiop; /* namei 操作 */ u_long cn_flags; /* namei へのフラグ */ struct proc *cn_proc; /* lookup を要求しているプロセス */ struct ucred *cn_cred; /* 証明 */ /* * 検索ルーチンおよびコミットルーチンで共有されます。 */ char *cn_pnbuf; /* パス名バッファ */ char *cn_nameptr; /* 検索された名前へのポインタ */ long cn_namelen; /* 検索された要素の長さ */ u_long cn_hash; /* 検索された名前のハッシュ値 */ long cn_consume; /* lookup() で消費する文字数 */ }; .Ed .Pp パス名の要素をロックされた vnode へのポインタに変換します。 これが正に中心であり、より複雑なルーチンです。 ファイルシステムが厳密なツリー階層に保たれていない場合には、 デッドロック状態に陥ることがあります。 .Pp .Fa cnp->cn_nameiop 引数は、オブジェクトの用途目的に依存し、 .Dv LOOKUP , .Dv CREATE , .Dv RENAME , または .Dv DELETE です。 .Dv CREATE , .Dv RENAME , または .Dv DELETE が明示されたときには、ディレクトリエントリの作成、名前変更、削除に 使用する情報が計算できます。 .Pp VOP_LOOKUP の全体の概要です。 .Bd -ragged -offset indent ディレクトリのアクセス権をチェックします。 キャッシュの中の名前を検索し、もし見つかれば、その名前を返します。 ディレクトリの中の名前を検索し、found または notfound に適切に進みます。 .Ed .Pp notfound: .Bd -ragged -offset indent 作成または名前変更でパス名の最後の場合には、 .Er EJUSTRETURN を返し、利用可能な位置に情報を残します。そうでなければ .Er ENOENT を返します。 .Ed .Pp found: .Bd -ragged -offset indent パス名の最後で削除の場合には、削除を可能にする情報を返します。 パス名の最後で名前変更の場合には、変更先の inode をロックして 名前変更を可能にする情報を返します。 最後でない場合には、名前をキャッシュに追加します。 最後で作成でも削除でもない場合には、名前をキャッシュに追加します。 .Ed .Sh ロック ディレクトリ .Fa dvp はエントリ時にロックされているべきです。 エラー (注: 戻り値 .Er EJUSTRETURN はエラーとはみなされません) が検出された場合には、ロックされたまま戻ります。 しかしながら、 .Fa cnp->cn_flags に .Dv LOCKPARENT および .Dv ISLASTCN の両方が明示されていない場合には、アンロックされません。 エントリがそのディレクトリの中で見つかった場合には、ロックされて返されます。 .Sh 戻り値 要素が見つかった場合には、 .Fa *vpp にそのファイルのロックされた vnode が設定されて、0 が返されます。 検索されている要素が "." の場合、その vnode は .Xr vref 9 を使用して追加された余分な参照を得ます。 この場合は、呼び出し側が適切にロックを解放することに注意しなければなりません。 .Pp 要素が見つからず操作が .Dv CREATE または .Dv RENAME である場合には、フラグ .Dv ISLASTCN が明示されて操作は成功し、特別な戻り値 .Er EJUSTRETURN が返されます。 そうでない場合には、適切なエラーコードが返されます。 .Sh 擬似コード .Bd -literal int vop_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp) { int error; int nameiop = cnp->cn_nameiop; int flags = cnp->cn_flags; int lockparent = flags & LOCKPARENT; int islastcn = flags & ISLASTCN; struct vnode *vp = NULL; /* * ディレクトリのアクセス権をチェックします。 */ if (dvp->v_type != VDIR) return ENOTDIR; error = VOP_ACCESS(dvp, VEXEC, cred, cnp->cn_proc); if (error) return (error); if (islastcn && (dvp->v_mount->mnt_flag & MNT_RDONLY) && (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) return (EROFS); /* * ディレクトリ/名前のペアのための名前キャッシュをチェックします。 * これは、存在していない名前の場合には ENOENT を、名前が見つかった * 場合には -1 を、そうでない場合には 0 を返します。 */ error = cache_lookup(dvp, vpp, cnp); if (error) { int vpid; if (error = ENOENT) return error; vp = *vpp; if (dvp == vp) { /* "." 上を探します */ VREF(vp); error = 0; } else if (flags & ISDOTDOT) { /* * デッドロックを避けるため、".." のロックされた vnode を * 取得する前に、そのディレクトリをアンロックする必要が * あります。 */ VOP_UNLOCK(dvp); error = vget(vp, 1); if (!error) { if (lockparent && islastcn) error = VOP_LOCK(dvp); } } else { error = vget(vp, 1); if (error || !(lockparent && islastcn)) { VOP_UNLOCK(dvp); } } /* * ロックを待っている間に特性の数が変化していないことを * チェックします。 */ if (!error) { if (vpid == vp->v_id) { /* * lockparent && islastcn の場合には dvp がロック * されます。vp がロックされます。 */ return (0); } vput(vp); if (dvp != vp && lockparent && islastcn) VOP_UNLOCK(pdp); } /* * 以下のディレクトリ検索のために dvp を再度ロックします。 */ error = VOP_LOCK(dvp); if (error) { return (error); } *vpp = NULL; } /* * 要素 cnp->cn_nameptr のために dvp を検索します。 */ ...; if (!found) { if ((nameiop == CREATE || nameiop == RENAME) && islastcn && directory dvp has not been removed) { /* * ディレクトリの書込み権をチェックします。 */ /* * できる限り、ディレクトリの中の新しい要素の名前のために * 十分に大きい場所の位置を記録します。これは dvp のための * vnode の私的データの中に記録されることが可能です。 * VOP_CREATE または VOP_RENAME で後で使用するために、 * パス名に保持するために SAVENAME フラグを設定します。 */ cnp->cn_flags |= SAVENAME; if (!lockparent) /* * 上記で記録された追加のデータは lockparent が明示 * された時にのみ有用であることに注意してください。 */ VOP_UNLOCK(dvp); return EJUSTRETURN; } /* * キャッシュに名前を挿入することを考慮します。 */ if ((cnp->cn_flags & MAKEENTRY) && nameiop != CREATE) cache_enter(dvp, NULL, cnp); return ENOENT; } else { /* * 削除でパス名の最後の場合には、ファイルの削除に使用できる * パラメータを返します。wantparent フラグが設定されていない * 場合にはそのディレクトリのみを返し、そうでない場合には * 続けてその inode をロックし、"." に注意します。 */ if (nameiop == DELETE && islastcn) { /* * ディレクトリの書込み権をチェックします。 */ error = VOP_ACCESS(dvp, VWRITE, cred, cnp->cn_proc); if (error) return (error); if (found entry is same as dvp) { VREF(dvp); *vpp = dvp; return 0; } error = VFS_VGET(dvp->v_mount, ..., &vp); if (error) return error; if (directory is sticky && cred->cr_uid != 0 && cred->cr_uid != owner of dvp && owner of vp != cred->cr_uid) { vput(vp); return EPERM; } *vpp = vp; if (!lockparent) VOP_UNLOCK(dvp); return 0; } /* * 再書込み (RENAME) の場合には、その inode および現在の * ディレクトリを再書込みするために要求される情報を返します。 * 通常ファイルまたは空のディレクトリであることを確認するために、 * ディレクトリエントリの inode を取得しなければなりません。 */ if (nameiop == RENAME && wantparent && islastcn) { error = VOP_ACCESS(dvp, VWRITE, cred, cnp->cn_proc); if (error) return (error); /* * "." をチェックします。 */ if (found entry is same as dvp) return EISDIR; error = VFS_VGET(dvp->v_mount, ..., &vp); if (error) return error; *vpp = vp; /* * 後で VOP_RENAME で使用するために名前を保存します。 */ cnp->cn_flags |= SAVENAME; if (!lockparent) VOP_UNLOCK(dvp); return 0; } /* * 名前の変換のステップの全容です。シンボリックリンクが現在の * ディレクトリからの相対である場合には、再度必要になるので、 * ディレクトリを 'vput' しません。代わりに "pdp" として * アンロックされたディレクトリを保存します。取得する前にその * inode が削除されないことを保証するために、そのディレクトリを * アンロックする前に目的の inode を取得しなければなりません。 * ルートからディレクトリツリーを下る方向で inode を取得する * ことで、デッドロックを常に予防します。従がって、逆向きの * ポインタ ".." を辿るときには、要求されたディレクトリを取得する * 前に親ディレクトリをアンロックしなければなりません。".." に * 関連付けられた inode のための VFS_VGET が戻る前に、現在の * および親ディレクトリの両方が削除された場合には、ここに潜在的な * 競合状態があります。きわめて複雑なデッドロック検出アルゴリズム * の実装なしにこの競合状態を避けることができないので、この * 競合状態の発生が稀であることを期待しています。ファイルシステムが、 * ".." 以外に、ディレクトリ構造の中に遡りを指すハードリンクを * 持つ場合、この簡単なデッドロック検出機構が働かないことにも注意 * してください。 */ if (flags & ISDOTDOT) { VOP_UNLOCK(dvp); /* inode を取得するための競合です */ error = VFS_VGET(dvp->v_mount, ..., &vp); if (error) { VOP_LOCK(dvp); return (error); } if (lockparent && islastcn) { error = VOP_LOCK(dvp); if (error) { vput(vp); return error; } } *vpp = vp; } else if (found entry is same as dvp) { VREF(dvp); /* 例えば "." など、自分自身が必要です */ *vpp = dvp; } else { error = VFS_VGET(dvp->v_mount, ..., &vp); if (error) return (error); if (!lockparent || !islastcn) VOP_UNLOCK(dvp); *vpp = vp; } /* * 適切であれば名前をキャッシュに挿入します。 */ if (cnp->cn_flags & MAKEENTRY) cache_enter(dvp, *vpp, cnp); return (0); } } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er ENOTDIR vnode .Fa dvp がディレクトリを表わしていません。 .It Bq Er ENOENT 要素 .Fa dvp がそのディレクトリには見つかりません。 .It Bq Er EACCES 明示された操作のためのアクセスが拒否されました。 .It Bq Er EJUSTRETURN .Dv CREATE または .Dv RENAME の操作は成功です。 .El .Sh 関連項目 .Xr VOP_ACCESS 9 , .Xr VOP_CREATE 9 , .Xr VOP_MKDIR 9 , .Xr VOP_MKNOD 9 , .Xr VOP_RENAME 9 , .Xr VOP_SYMLINK 9 , .\" 下の関連項目をマージ by A.Ikeuchi。 .Xr vnode 9 .Sh 歴史 関数 .Nm は .Bx 4.3 で登場しました。 .\" 上の関連項目にマージ by A.Ikeuchi。 .\" .Sh 関連項目 .\" .Xr vnode 9 .Sh 作者 このマニュアルページは .Pa ufs_lookup.c の中のコメントからのテキストを使って、 .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 b/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 index 5f953b8343..0b488d9436 100644 --- a/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 +++ b/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 @@ -1,102 +1,102 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_OPENCLOSE.9,v 1.9 2001/11/20 18:19:19 arr Exp % +.\" %FreeBSD: src/share/man/man9/VOP_OPENCLOSE.9,v 1.10 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_OPEN 9 .Sh 名称 .Nm VOP_OPEN , .Nm VOP_CLOSE .Nd ファイルのオープンまたはクローズ .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_OPEN "struct vnode *vp" "int mode" "struct ucred *cred" "struct thread *td" .Ft int .Fn VOP_CLOSE "struct vnode *vp" "int mode" "struct ucred *cred" "struct thread *td" .Sh 解説 .Xr VOP_OPEN 9 エントリポイントは、 ファイルがプロセスによってアクセスされる前に呼び出され、 .Xr VOP_CLOSE 9 エントリポイントは、 ファイルに対するプロセスの仕事の完了後に呼び出されます。 .Pp 引数は以下の通りです。 .Bl -tag -width mode .It Ar vp ファイルの vnode。 .It Ar mode 呼び出しプロセスによって要求されたアクセスモード。 .It Ar td ファイルにアクセスしているスレッド。 .El .Pp アクセスモードは、 .Dv FREAD , .Dv FWRITE , .Dv O_NONBLOCK , .Dv O_APPEND を含むフラグの組です。 .Sh ロック .Xr VOP_OPEN 9 は、入る時に .Fa vp がロックされていることを期待し、戻り時までロックされたままにします。 .Pp .Xr VOP_CLOSE 9 は、vnode に結びつけられた参照が少なくとも 1 個は存在することを期待し、 vnode がロックされているかどうかは気にしません。 ロックおよび参照状態は、戻る時に変更されずにそのままになります。 .Fa vn_close は、ロックされていない参照された vnode を期待し、 戻る前に参照を手繰ることに注意してください。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_open(struct vnode *vp, int mode, struct ucred *cred, struct thread *td) { /* * ほとんどのファイルシステムは、ここでは大したことはしません。 */ return 0; } .Ed .Sh 関連項目 .Xr vnode 9 , .Xr VOP_LOOKUP 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_RDWR.9 b/ja_JP.eucJP/man/man9/VOP_RDWR.9 index 7f51275633..00910e6077 100644 --- a/ja_JP.eucJP/man/man9/VOP_RDWR.9 +++ b/ja_JP.eucJP/man/man9/VOP_RDWR.9 @@ -1,239 +1,239 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_RDWR.9,v 1.12 2001/10/01 16:09:24 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_RDWR.9,v 1.13 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_RDWR 9 .Sh 名称 .Nm VOP_READ , .Nm VOP_WRITE .Nd ファイルの読み込みまたは書き込み .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/uio.h .Ft int .Fn VOP_READ "struct vnode *vp" "struct uio *uio" "int ioflag" "struct ucred *cred" .Ft int .Fn VOP_WRITE "struct vnode *vp" "struct uio *uio" "int ioflag" "struct ucred *cred" .Sh 解説 これらのエントリポイントは、ファイルの内容を読み込みまたは書き込みます。 .Pp 引数は以下の通りです。 .Bl -tag -width ioflag .It Ar vp ファイルの vnode。 .It Ar uio 読み込みまたは書き込み対象のデータの位置。 .It Ar ioflag 様々なフラグ。 .It Ar cnp 呼び出し側の証明。 .El .Pp .Fa ioflag 引数は、ファイルシステムに対する命令およびヒントを与えるために使用されます。 読み込みを試みる時には、上位の 16 ビットは、 ファイルシステムが試みるべき先読みのヒントを (ファイルシステムブロック単位で) 提供するために使用されます。 下位の 16 ビットは、以下のフラグを含むことができるビットマスクです。 .Bl -tag -width IO_NODELOCKED .It Dv IO_UNIT 不可分に入出力を行ないます。 .It Dv IO_APPEND 末尾に追加書き込みを行ないます。 .It Dv IO_SYNC 同期的に入出力を行ないます。 .It Dv IO_NODELOCKED 下位層のノードは既にロックされています。 .It Dv IO_NDELAY ファイルテーブルに .Dv FNDELAY フラグを設定します。 .It Dv IO_VMIO 仮想メモリ入出力 (VMIO) 領域にデータが既にあります。 .El .Sh ロック 入る時に、ファイルはロックされているべきで、終了時までロックされ続けます。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_read(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred) { struct buf *bp; off_t bytesinfile; daddr_t lbn, nextlbn; long size, xfersize, blkoffset; int error; - size = block size of filesystem; + size = block size of file system; for (error = 0, bp = NULL; uio->uio_resid > 0; bp = NULL) { bytesinfile = size of file - uio->uio_offset; if (bytesinfile <= 0) break; lbn = uio->uio_offset / size; blkoffset = uio->uio_offset - lbn * size; xfersize = size - blkoffset; if (uio->uio_resid < xfersize) xfersize = uio->uio_resid; if (bytesinfile < xfersize) xfersize = bytesinfile; error = bread(vp, lbn, size, NOCRED, &bp); if (error) { brelse(bp); bp = NULL; break; } /* * 入出力エラーが起こった時には 0 でない b_resid のみ * を得ます。これは上で break を引き起こすべきです。 * しかしながら、短い読み込みがエラーを起こさなかった * 場合には、間違ったまたは初期化されていないデータの * uiomove を行なわないことを保証したい。 */ size -= bp->b_resid; if (size < xfersize) { if (size == 0) break; xfersize = size; } error = uiomove((char *)bp->b_data + blkoffset, (int)xfersize, uio); if (error) break; bqrelse(bp); } if (bp != NULL) bqrelse(bp); return error; } int vop_write(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred) { struct buf *bp; off_t bytesinfile; daddr_t lbn, nextlbn; off_t osize; long size, resid, xfersize, blkoffset; int flags; int error; osize = size of file; - size = block size of filesystem; + size = block size of file system; resid = uio->uio_resid; if (ioflag & IO_SYNC) flags = B_SYNC; else flags = 0; for (error = 0; uio->uio_resid > 0;) { lbn = uio->uio_offset / size; blkoffset = uio->uio_offset - lbn * size; xfersize = size - blkoffset; if (uio->uio_resid < xfersize) xfersize = uio->uio_resid; if (uio->uio_offset + xfersize > size of file) vnode_pager_setsize(vp, uio->uio_offset + xfersize); if (size > xfersize) flags |= B_CLRBUF; else flags &= ~B_CLRBUF; error = find_block_in_file(vp, lbn, blkoffset + xfersize, cred, &bp, flags); if (error) break; if (uio->uio_offset + xfersize > size of file) set size of file to uio->uio_offset + xfersize; error = uiomove((char *)bp->b_data + blkoffset, (int) xfersize, uio); /* XXX ufs はここでエラーチェックをしていません。何故? */ if (ioflag & IO_VMIO) bp->b_flags |= B_RELBUF; /* ??? */ if (ioflag & IO_SYNC) bwrite(bp); else if (xfersize + blkoffset == size) bawrite(bp); else bdwrite(bp); if (error || xfersize == 0) break; } if (error) { if (ioflag & IO_UNIT) { VOP_TRUNCATE(vp, osize, ioflag & IO_SYNC, cred, uio->uio_procp); uio->uio_offset -= resid - uio->uio_resid; uio->uio_resid = resid; } } else if (resid > uio->uio_resid && (ioflag & IO_SYNC)) { struct timeval tv; error = VOP_UPDATE(vp, &tv, &tv, 1); /* XXX これは何をしているの? */ } return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EFBIG プロセスのファイルサイズリミットまたは最大ファイルサイズを超える ファイルを書込もうとしました。 .It Bq Er ENOSPC ファイルシステムが一杯です。 .It Bq Er EPERM 追加のみのフラグがファイルに設定されていますが、呼び出し側が現在の ファイル終了位置より前に書込もうとしました。 .El .Sh 関連項目 .Xr uiomove 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_RENAME.9 b/ja_JP.eucJP/man/man9/VOP_RENAME.9 index 8645de8700..3663a7d3e6 100644 --- a/ja_JP.eucJP/man/man9/VOP_RENAME.9 +++ b/ja_JP.eucJP/man/man9/VOP_RENAME.9 @@ -1,319 +1,319 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_RENAME.9,v 1.15 2002/09/18 22:12:43 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_RENAME.9,v 1.16 2002/11/29 11:39:20 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_RENAME 9 .Sh 名称 .Nm VOP_RENAME .Nd ファイルの名前変更 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_RENAME "struct vnode *fdvp" "struct vnode *fvp" "struct componentname *fcnp" "struct vnode *tdvp" "struct vnode *tvp" "struct componentname *tcnp" .Sh 解説 これはファイルの名前変更をし、 もしかすると親ディレクトリを変更するかもしれません。 変更先のオブジェクトが存在する場合には、最初に削除されます。 .Pp 引数は以下のとおりです。 .Bl -tag -width fdvp .It Ar fdvp 古い親ディレクトリの vnode です。 .It Ar fvp 名前変更されるべきファイルの vnode です。 .It Ar fcnp ファイルの現在の名前についてのパス名情報です。 .It Ar tdvp 新しい親ディレクトリの vnode です。 .It Ar tvp (もし存在するならば) 変更先のファイルの vnode です。 .It Ar tcnp ファイルの新しい名前についてのパス名情報です。 .El .Sh ロック エントリ時には、変更元のディレクトリおよびファイルはロックされておらず、 それらの参照カウントは増やされています。 この VOP ルーチンは戻る前に両方に対して .Fn vrele を呼び出すはずです。 .Pp 変更先のディレクトリおよびファイルは、それらの参照カウントが増やされるのは もちろん、ロックされています。 この VOP ルーチンは戻る前に両方に対して .Fn vput を呼び出すはずです。 .Sh 疑似コード .Bd -literal int vop_rename(struct vnode *fdvp, struct vnode *fvp, struct componentname *fcnp, struct vnode *tdvp, struct vnode *tvp, struct componentname *tcnp) { int doingdirectory = 0; int error = 0; /* * デバイスをまたがる名前変更のためのチェックです。 */ if (fvp->v_mount != tdvp->v_mount) { error = EXDEV; abortit: if (tdvp == tvp) vrele(tdvp); else vput(tdvp); if (tvp) vput(tvp); vrele(fdvp); vrele(fvp); return error; } if (tvp exists and is immutable) { error = EPERM; goto abortit; } /* * リンク名を消そうとしているかどうかのチェックです。 */ if (fvp == tvp) { if (fvp->v_type == VDIR) { error = EINVAL; goto abortit; } /* * 変更先を解放します。 */ vput(tdvp); vput(tvp); /* * 変更元を削除します。少し異様な要素です。 */ vrele(fdvp); vrele(fvp); fcnp->cn_flags &= ~MODMASK; fcnp->cn_flags |= LOCKPARENT | LOCKLEAF; fcnp->cn_nameiop = DELETE; VREF(fdvp); error = relookup(fdvp, &fvp, fcnp); if (error == 0) vrele(fdvp); return VOP_REMOVE(fdvp, fvp, fcnp); } if (fvp is immutable) { error = EPERM; goto abortit; } error = VOP_LOCK(fvp); if (error) goto abortit; if (vp is a directory) { /* * 明白な理由のため、".", ".." と "." の別名を避けます。 */ if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') || fdvp == fvp || ((fcnp->cn_flags | tcnp->cn_flags) & ISDOTDOT)) { VOP_UNLOCK(fvp); error = EINVAL; goto abortit; } doingdirectory = 1; } vrele(fdvp); /* * 移動要素の活動中の間は、fvp のリンクカウントを増やします。 * 作業完了の前にクラッシュした場合には、リンクカウントは間違って * いるでしょうが、修正可能です。 */ ...; /* * それから (例えばディレクトリが新しい親を得るなど) ".." が変更 * されなければならない場合には、変更元のディレクトリは変更先よりも * 上位のディレクトリ階層に在ってはなりません。これは変更元の * ディレクトリ以下の全てが孤児となるからです。また、ユーザは * 変更元で ".." を変更できるように書込みパーミッションを持って * いなければなりません。 */ error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, tcnp->cn_proc); VOP_UNLOCK(fvp); if (doingdirectory && fdvp != tdvp) { /* * パス名の衝突をチェックします。 */ ...; } /* * 変更先が存在しない場合、変更先を変更元にリンクして、変更元を * アンリンクします。そうでない場合、変更先ディレクトリを書き換えて * 変更元を参照するようにし、元のエントリを削除します。 */ if (tvp == NULL) { /* * 新しいディレクトリの ".." のアカウント。 */ if (doingdirectory && fdvp != tdvp) { /* * tdvp のリンクカウントを増やします。 */ ...; } /* * 新しいディレクトリで名前を追加します。 */ ...; if (error) { if (doingdirectory && fdvp != tdvp) { /* * tdvp であればリンクカウントを減らします。 */ ...; } goto bad; } vput(tdvp); } else { /* * 変更先がディレクトリの場合、これは空でなければならず、これへの * リンクがあってはなりません。また、変更元と変更先は一致する * (両方ともディレクトリ、または両方ともディレクトリではない) * ことを保証してください。 */ if (tvp is a directory) { if (tvp is not empty) { error = ENOTEMPTY; goto bad; } if (!doingdirectory) { error = ENOTDIR; goto bad; } /* * ディレクトリが消え去ったため、名前キャッシュを更新します。 */ cache_purge(tdvp); } else if (doingdirectory) { error = ENOTDIR; goto bad; } /* * fvp が指す tdvp の名前 tcnp を変更します。 */ ...; /* * 変更先ディレクトリが変更元と同じディレクトリにある場合には、 * 変更先のディレクトリの親のリンクカウントを減らします。 * ".." により、その親に対する戻り方向のリンクとなる事実を、 * 説明するものです。 */ if (doingdirectory && fdvp == tdvp) { /* * tdvp のリンクカウントを減らします。 */ ...; } vput(tdvp); /* * ディレクトリがもはやそれを指さないので、tvp のリンクカウントを * 減らします。 */ ...; if (doingdirectory) { /* * 古いディレクトリ tvp をきれいにします。 */ ...; } vput(tvp); } /* * 変更元をアンリンクします。ディレクトリが新しい親に移動される場合 * には、その ".." エントリを更新します。ここで、たくさんの厄介な * UFS のコードが省かれました。 */ ...; bad: if (tvp) vput(tvp); vput(tdvp); out: if (VOP_LOCK(fvp) == 0) { /* * fvp のリンクカウントをデクリメント */ ...; vput(fvp); } else vrele(fvp); return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EPERM ファイルが変更可能ではありません。 .It Bq Er EXDEV 異なるファイルシステム間の名前変更はできません。 .It Bq Er EINVAL -.Ql .\& +.Pa \&. または -.Ql ..\& +.Pa .. の名前変更、またはディレクトリツリーを破壊するような操作の実行を 行なおうとしました。 .It Bq Er ENOTDIR ディレクトリからファイルにまたはその逆に名前変更しようとしました。 .It Bq Er ENOTEMPTY 空ではないディレクトリを削除しようとしました。 .El .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_SETACL.9 b/ja_JP.eucJP/man/man9/VOP_SETACL.9 index 8374fe18a2..954b23477c 100644 --- a/ja_JP.eucJP/man/man9/VOP_SETACL.9 +++ b/ja_JP.eucJP/man/man9/VOP_SETACL.9 @@ -1,108 +1,108 @@ .\"- .\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_SETACL.9,v 1.9 2002/09/18 22:12:43 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_SETACL.9,v 1.10 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd December 23, 1999 .Os .Dt VOP_SETACL 9 .Sh 名称 .Nm VOP_SETACL .Nd vnode のアクセス制御リストの設定 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/acl.h .Ft int .Fn VOP_SETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct thread *td" .Sh 解説 この vnode 呼び出しは、ファイルまたはディレクトリの アクセス制御リスト (ACL) を設定するために使用可能です。 .Pp 引数は以下の通りです。 .Bl -tag -width type .It Fa vp ファイルまたはディレクトリの vnode。 .It Fa type 設定される ACL の型。 .It Fa aclp ACL データの取り出し元の ACL 構造体へのポインタ。 .It Fa cred 要求の認証時に使用されるユーザ証明。 .It Fa td ACL を設定しているスレッド。 .El .Pp .Fa aclp ポインタは、 .Dv NULL を指定可能であり、 指定した ACL が削除されるべきであることを示します。 .Pp .Fa cred ポインタは、NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない ACL 証明を、 カーネルが正当化することを認めるために使用可能です。 この cred の設定は、アクティブプロセスに許されていない拡張属性の変更を カーネルが正当化することを認めるために使用可能です。 .Pp vnode ACL インタフェースは、ファイルまたはディレクトリの ACL インタフェースの セマンティクスではなく文法を定義します。 カーネル内の ACL 管理についての詳細な情報は .Xr acl 9 を参照してください。 .Sh ロック 入る時に vnode はロックされ、戻り時にもロックされ続けているべきです。 .Sh 戻り値 ACL が成功裏に設定された場合には 0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL 渡された ACL 型はこの vnode には無効です。または、ACL データが無効です。 .It Bq Er EACCES 呼び出し側が適切な特権を持っていません。 .It Bq Er ENOMEM 要求を実行するための十分なメモリが利用可能ではありません。 .It Bq Er EOPNOTSUPP ファイルシステムが .Fn VOP_SETACL をサポートしていません。 .It Bq Er ENOSPC ファイルシステムの領域不足です。 .It Bq Er EROFS ファイルシステムが読み取り専用です。 .El .Sh 関連項目 .Xr acl 9 , .Xr vnode 9 , .Xr VOP_ACLCHECK 9 , .Xr VOP_GETACL 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 b/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 index 8a08e89fd7..4ac8797dae 100644 --- a/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 +++ b/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 @@ -1,121 +1,121 @@ .\"- .\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_SETEXTATTR.9,v 1.13 2002/09/18 22:12:43 truckman Exp % +.\" %FreeBSD: src/share/man/man9/VOP_SETEXTATTR.9,v 1.14 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd December 23, 1999 .Os .Dt VOP_SETEXTATTR 9 .Sh 名称 .Nm VOP_SETEXTATTR .Nd vnode への名前つき拡張属性の設定 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/extattr.h .Ft int .Fn VOP_SETEXTATTR "struct vnode *vp" "int attrnamespace" "char *name" "struct uio *uio" "struct ucred *cred" "struct thread *td" .Sh 解説 この vnode 呼び出しは、ファイルまたはディレクトリに対し、 特定の名前付き拡張属性を設定するために使用可能です。 .Pp 引数は以下の通りです。 .Bl -tag -width ".Fa attrnamespace" .It Fa vp ファイルまたはディレクトリの vnode。 .It Fa attrnamespace どの拡張属性の名前空間に、その属性の名前が存在するのかを示す整数定数。 .It Fa name 属性の名前が入った、ヌル文字で終端された文字列へのポインタ。 .It Fa uio 読み込みまたは書き込みされるデータの位置。 .It Fa cred 要求の認証で使用するユーザ証明。 .It Fa td 拡張属性を設定しているスレッド。 .El .Pp uio 構造体は、 .Xr VOP_WRITE での同じ名前の引数と同様に使用されます。しかしながら、 拡張属性が厳密な "name=value" のセマンティクスを規定しているので、 0 でないオフセットは却下されるでしょう。 .Pp .Fa uio ポインタは、 .Dv NULL であることが可能であり、 指定された拡張属性が削除されるべきであることを指示します。 .Pp .Fa cred ポインタは、 .Dv NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この .Fa cred の設定は、アクティブプロセスに許されていない拡張属性の変更を、 カーネルが正当化することを認めるために使用可能です。 .Pp 拡張属性のセマンティクスは、 呼び出しを実装しているファイルシステムに依存して異なり得ます。 拡張属性についてのより多くの情報は .Xr extattr 9 を参照してください。 .Sh ロック vnode は、入る時にロックされ、戻り時にもロックされ続けているべきです。 .Sh 戻り値 拡張属性が成功裏に設定された場合には 0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EACCES 呼び出し側が適切な特権を持っていません。 .It Bq Er ENXIO 指定された vnode および属性名に対する要求は、このファイルシステムでは無効です。 .It Bq Er ENOMEM 要求を実行するための十分なメモリがありません。 .It Bq Er EFAULT uio 構造体が無効なユーザ空間アドレスを参照しています。 .It Bq Er EINVAL 名前または uio 引数が無効です。 .It Bq Er EOPNOTSUPP ファイルシステムが .Fn VOP_GETEXTATTR をサポートしていません。 .It Bq Er ENOSPC ファイルシステムに空き領域がありません。 .It Bq Er EROFS ファイルシステムが読み取り専用です。 .El .Sh 関連項目 .Xr extattr 9 , .Xr vnode 9 , .Xr VOP_GETEXTATTR 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 b/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 index e42735b2e3..26cb03de48 100644 --- a/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 +++ b/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 @@ -1,65 +1,65 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_STRATEGY.9,v 1.13 2001/10/01 16:09:24 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_STRATEGY.9,v 1.14 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_STRATEGY 9 .Sh 名称 .Nm VOP_STRATEGY .Nd ファイルシステムバッファの読み書き .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_STRATEGY "struct vnode *vp" "struct buf *bp" .Sh 解説 引数は以下の通りです。 .Bl -tag -width 2n .It Ar vp バッファが対象にする vnode。 .It Ar bp 読み書きされるべきバッファ。 .El .Pp この呼び出しは、 .Fa bp->b_io.bio_cmd の値に依存して、ファイルの読み込みまたは書き込みを行ないます。 .Pp この呼び出しはブロックされることができます。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 関連項目 .\" .Xr buf 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/inittodr.9 b/ja_JP.eucJP/man/man9/inittodr.9 index 3659a27131..ee1b04c646 100644 --- a/ja_JP.eucJP/man/man9/inittodr.9 +++ b/ja_JP.eucJP/man/man9/inittodr.9 @@ -1,117 +1,117 @@ .\" %NetBSD: inittodr.9,v 1.2 1996/03/27 21:16:06 jtc Exp % .\" .\" Copyright (c) 1994 Christopher G. Demetriou .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Christopher G. Demetriou .\" for the NetBSD Project. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/inittodr.9,v 1.9 2002/05/16 05:21:58 trhodes Exp % +.\" %FreeBSD: src/share/man/man9/inittodr.9,v 1.10 2002/12/12 17:25:58 ru Exp % .\" $FreeBSD$ .\" .Dd March 22, 1997 .Dt INITTODR 9 .Os .Sh 名称 .Nm inittodr .Nd システムタイムの初期化 .Sh 書式 .In sys/types.h .In sys/systm.h .Ft void .Fn inittodr "time_t base" .Sh 解説 .Fn inittodr 関数は時刻を決定しシステムクロックの設定を行います。 システムのバッテリバックアップクロックおよび .Fa base で与えられるルートファイルシステムから得られる時刻 を検査する発見方法を使用して正しい時刻の取得を試みます。 .Fa base の値を得る方法は、ルートファイルシステムのタイプに依存して変化するでしょう。 下記の発見方法が使用されます。 .Bl -bullet .It バッテリバックアップクロックが妥当な時刻であれば、これが使用されます。 .\" .It .\" If the battery-backed clock does not have a valid time, and .\" the time provided in .\" .Fa base .\" is within reason, .\" .Fa base .\" is used as the current time. .\" .It .\" If the battery-backed clock appears invalid, and .\" .Fa base .\" appears non-sensical or was not provided (was given as zero), .\" a arbitrary base (typically some time in the late 1970s) .\" will be used. .It バッテリバックアップクロックが妥当な時刻でなければ、 .Fa base で与えられた時刻が使用されます。 .El .Pp 一度システムタイムが決定されると、これが .Va time 変数に格納されます。 .Sh 診断 システムタイムの計算に問題があった場合は、 .Fn inittodr 関数は診断メッセージを出力します。 出力される診断メッセージには下記の状態が含まれます。 .Bl -bullet .It バッテリバックアップクロックが無意味のようである。 .\" .It .\" The .\" .Fa base .\" time appears nonsensical. .\" .It .\" The .\" .Fa base .\" time and the battery-backed clock's time differ by a large amount. .El .Sh 関連項目 .Xr resettodr 9 , .Xr time 9 .Sh バグ 多くのシステムで .Fn inittodr は、 年、月、日、時、分、秒で表現される時刻から、秒で表現される .Va time に変換しなければなりません。 多くの実装ではコードの共有が可能ですが、共有していません。 .Pp それぞれのシステムの正確な時刻取得のための発見方法は、わずかに異なります。 .Pp .Fx の実装は、 バッテリバックアップクロックを使用できない場合は、 .Fa base で与えられた時刻をもっとうまく検証するべきでしょう。 現在は無条件にシステムタイムをこの値に設定します。 diff --git a/ja_JP.eucJP/man/man9/vfs_unmountall.9 b/ja_JP.eucJP/man/man9/vfs_unmountall.9 index 03a51787ba..d564a7ba36 100644 --- a/ja_JP.eucJP/man/man9/vfs_unmountall.9 +++ b/ja_JP.eucJP/man/man9/vfs_unmountall.9 @@ -1,44 +1,44 @@ .\" Copyright (c) 2001 Chris Costello .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/vfs_unmountall.9,v 1.1.2.2 2001/08/17 13:08:54 ru Exp % +.\" %FreeBSD: src/share/man/man9/vfs_unmountall.9,v 1.6 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd July 26, 2001 .Dt VFS_UNMOUNTALL 9 .Os .Sh 名称 .Nm vfs_unmountall .Nd 全てのファイルシステムのアンマウント .Sh 書式 .In sys/mount.h .Ft void .Fn vfs_unmountall "void" .Sh 解説 .Nm 関数は、システムシャットダウン時にのみ実行され、操作の依存性を避けるため、 最新のものから古いものの順で、 マウントした全てのファイルシステムをアンマウントします。 .Sh 関連項目 .Xr boot 9 diff --git a/ja_JP.eucJP/man/man9/vnode.9 b/ja_JP.eucJP/man/man9/vnode.9 index 74a1c0ab78..c2a6ca768a 100644 --- a/ja_JP.eucJP/man/man9/vnode.9 +++ b/ja_JP.eucJP/man/man9/vnode.9 @@ -1,274 +1,274 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/vnode.9,v 1.20 2002/10/10 00:29:22 alfred Exp % +.\" %FreeBSD: src/share/man/man9/vnode.9,v 1.21 2002/12/12 17:25:58 ru Exp % .\" .\" $FreeBSD$ .Dd June 30, 1999 .Os .Dt VNODE 9 .Sh 名称 .Nm vnode .Nd ファイルまたはディレクトリの内部表現 .Sh 書式 .In sys/param.h .In sys/vnode.h .Pp .Bd -literal /* * vnode の型です。VNON は型が無いことを意味します。 */ enum vtype { VNON, VREG, VDIR, VBLK, VCHR, VLNK, VSOCK, VFIFO, VBAD }; /* * vnode のタグ型です。 * 外部プログラム (例えば、pstat) のためだけにあり、決してカーネル * によって検査されるべきではありません。 */ enum vtagtype { VT_NON, VT_UFS, VT_NFS, VT_UNUSED, VT_PC, VT_LFS, VT_LOFS, VT_FDESC, VT_PORTAL, VT_NULL, VT_UMAP, VT_KERNFS, VT_PROCFS, VT_AFS, VT_ISOFS, VT_UNION, VT_MSDOSFS, VT_DEVFS, VT_TFS, VT_VFS, VT_CODA, VT_NTFS, VT_HPFS, VTNWFS, VT_PSEUDOFS }; /* * 個々の下位ファイルシステムはその私的な領域を割り当て、それを * v_data から吊るします。ヌルでないならば、この領域は getnewvnode() で * 解放されます。 */ TAILQ_HEAD(buflists, buf); typedef int vop_t((void *)); struct namecache; /* * これらの項目の読込みまたは書込みは適切なロックの保持を要求します。 * v_freelist はグローバル vnode_free_list 単純ロックでロックされます。 * v_mntvnodes はグローバル mntvnodes 単純ロックでロックされます。 * v_flag, v_usecount, v_holdcount および v_writecount は vinterlock * 単純ロックでロックされます。 * v_pollinfo はその中に含まれているロックでロックされます。 */ struct vnode { u_long v_flag; /* vnode フラグ (以下参照) */ int v_usecount; /* ユーザの参照カウント */ int v_writecount; /* 書込み者の参照カウント */ int v_holdcnt; /* ページ & バッファの参照 */ u_long v_id; /* ケーパビリティ識別子 */ struct mount *v_mount; /* 今いる VFS へのポインタ */ vop_t **v_op; /* vnode 操作ベクタ */ TAILQ_ENTRY(vnode) v_freelist; /* vnode フリーリスト */ LIST_ENTRY(vnode) v_mntvnodes; /* マウントポイントの vnode */ struct buflists v_cleanblkhd; /* 綺麗なブロックリスト先頭 */ struct buflists v_dirtyblkhd; /* 汚れたブロックリスト先頭 */ LIST_ENTRY(vnode) v_synclist; /* 汚れたバッファ付き vnode */ long v_numoutput; /* 書き込み中の数 */ enum vtype v_type; /* vnode の型 */ union { struct mount *vu_mountedhere;/* マウントされた VFS へのポインタ (VDIR) */ struct socket *vu_socket; /* UNIX IPC (VSOCK) */ struct { struct specinfo *vu_specinfo; /* デバイス (VCHR, VBLK) */ SLIST_ENTRY(vnode) vu_specnext; } vu_spec; struct fifoinfo *vu_fifoinfo; /* FIFO (VFIFO) */ } v_un; struct nqlease *v_lease; /* 貸出しのソフト参照 */ daddr_t v_lastw; /* 最後の書込み (クラスタ) */ daddr_t v_cstart; /* クラスタの開始ブロック */ daddr_t v_lasta; /* 最後の割当て */ int v_clen; /* 現在のクラスタ長 */ struct vm_object *v_object; /* VM オブジェクトの保存場所 */ struct simplelock v_interlock; /* 使用カウントとフラグのロック */ struct lock *v_vnlock; /* 非ロックファイルシステム用 */ enum vtagtype v_tag; /* 下位データの型 */ void *v_data; /* ファイルシステムの私的データ */ LIST_HEAD(, namecache) v_cache_src; /* 我々からのキャッシュエントリ */ TAILQ_HEAD(, namecache) v_cache_dst; /* 我々へのキャッシュエントリ */ struct vnode *v_dd; /* .. の vnode */ u_long v_ddid; /* .. のケーパビリティ識別子 */ struct { struct simplelock vpi_lock; /* 以下を保護するロック */ struct selinfo vpi_selinfo; /* ポーリング側の識別 */ short vpi_events; /* 何を探しているのか */ short vpi_revents; /* 何が起こったのか */ } v_pollinfo; }; #define v_mountedhere v_un.vu_mountedhere #define v_socket v_un.vu_socket #define v_rdev v_un.vu_spec.vu_specinfo #define v_specnext v_un.vu_spec.vu_specnext #define v_fifoinfo v_un.vu_fifoinfo /* * vnode フラグです。 */ #define VROOT 0x00001 /* ファイルシステムのルート */ #define VTEXT 0x00002 /* vnode は純粋なテキストプロトタイプ */ #define VSYSTEM 0x00004 /* vnode はカーネルが使用中 */ #define VISTTY 0x00008 /* vnode は tty を表現 */ #define VXLOCK 0x00100 /* vnode は下位の型の変更のためロック中 */ #define VXWANT 0x00200 /* プロセスが vnode を待っています */ #define VBWAIT 0x00400 /* 出力の完了を待っています */ #define VOBJBUF 0x02000 /* VM オブジェクトにバッファを割当て */ #define VAGE 0x08000 /* フリーリストの先頭に vnode を挿入 */ #define VOLOCK 0x10000 /* オブジェクトを待つために vnode がロック */ #define VOWANT 0x20000 /* プロセスが VOLOCK を待っています */ #define VDOOMED 0x40000 /* この vnode は再利用中 */ #define VFREE 0x80000 /* この vnode はフリーリスト上 */ #define VTBFREE 0x100000 /* この vnode はフリーリスト行き */ #define VONWORKLST 0x200000 /* syncer 作業リスト上 */ #define VMOUNT 0x400000 /* マウント処理中 */ .Ed .Sh 解説 vnode は .Ux でのファイル活動の中心です。 個々の活動中のファイル、 個々の現在のディレクトリ、個々のマウントされたファイル、 テキストファイル、およびルートのために割当てられた一意的な vnode があります。 .Pp 個々の vnode は 3 つの参照カウント、 .Dv v_usecount , .Dv v_holdcnt および .Dv v_writecount を持っています。 最初のものはカーネル内でこの vnode を使用しているクライアントの数です。 このカウントは .Xr vref 9 , .Xr vrele 9 および .Xr vput 9 によって管理されます。 2 番目のものはカーネル内でこの vnode の再利用を拒否しているクライアントの 数です。 このカウントは .Xr vhold 9 および .Xr vdrop 9 によって管理されます。 vnode の .Dv v_usecount および .Dv v_holdcnt の両方が 0 に達すると、それからその vnode はフリーリスト上に置かれ、 ことによっては別のファイルシステムで、 別のファイルのために再利用されるかもしれません。 フリーリストへのおよびフリーリストからの移行は、 .Xr getnewvnode 9 , .Xr vfree 9 および .Xr vbusy 9 によって取り扱われます。 3 番目のものはファイルに書込み中のクライアントの数のカウントです。 これは .Xr open 2 および .Xr close 2 システムコールによって管理されます。 .Pp vnode を返すあらゆる呼び出し (例えば .Xr VFS_GET 9 , .Xr VOP_LOOKUP 9 など) は vnode の .Dv v_usecount を 1 ずつ増やします。 呼び出し側が vnode の利用を完了したときには、この参照は .Xr vrele 9 (または vnode がロックされていれば .Xr vput 9 ) の呼び出しによって解放されるべきです。 .Pp その他の共通に使用される vnode 構造体のメンバは、 名前キャッシュでの一貫性を管理するために使用される .Dv v_id と、その vnode を所有しているファイルシステムを指す .Dv v_mount と、その vnode が表現するオブジェクトの型を含む .Dv v_type と、その vnode のファイルシステム特有のデータを保存するために ファイルシステムによって使用される .Dv v_data があります。 .Dv v_op フィールドは vnode の機能を実装するファイルシステム内の関数を呼び出すための .Dv VOP_* マクロによって使用されます。 .Sh VNODE の型 .Bl -tag -width VSOCK .It Dv VNON 型なしです。 .It Dv VREG 通常ファイルです。 VM オブジェクトの支持が有るかもしれませんし無いかもしれません。 必ず支持オブジェクトを取得したい場合には、 .Xr vfs_object_create 9 を呼び出します。 .It Dv VDIR ディレクトリです。 .It Dv VBLK ブロック型デバイスです。 VM オブジェクトの支持が有るかもしれませんし無いかもしれません。 必ず支持オブジェクトを取得したい場合には、 .Xr vfs_object_create 9 を呼び出します。 .It Dv VCHR 文字型デバイスです。 .It Dv VLNK シンボリックリンクです。 .It Dv VSOCK ソケットです。 通知ロックは動作しないでしょう。 .It Dv VFIFO FIFO (名前付きパイプ) です。 通知ロックは動作しないでしょう。 .It Dv VBAD 古い形式のバッドセクタマップです。 .El .Sh 注 VFIFO は .Pa /sys/kern/sys_pipe.c の "struct fileops" を使用します。 VSOCK は .Pa /sys/kern/sys_socket.c の "struct fileops" を使用します。 その他の全ては .Pa /sys/kern/vfs_vnops.c の "struct fileops" を使用します。 .Pp VFIFO/VSOCK のコードになぜか "struct fileops" が使用されている理由は、 カーネルへの VFS コードの不完全な統合の文化遺産です。 .Sh 関連項目 .Xr VFS 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。