diff --git a/ja/man/man1/pkg_add.1 b/ja/man/man1/pkg_add.1 index 39f7c8f28f..7ecb07530d 100644 --- a/ja/man/man1/pkg_add.1 +++ b/ja/man/man1/pkg_add.1 @@ -1,379 +1,423 @@ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_add.1 .\" jpman %Id: pkg_add.1,v 1.3 1997/06/09 04:19:05 jsakai Stab % +.\" jpman: based on the version on releng22:2.2-980710-SNAP .\" .Dd November 25, 1994 .Dt pkg_add 1 .Os FreeBSD .Sh 名称 .Nm pkg_add .Nd ソフトウェア配布パッケージをインストールするプログラム .Sh 書式 .Nm .Op Fl vInfRMS .Op Fl t Ar template .Op Fl p Ar prefix .Ar pkg-name [pkg-name ...] .Sh 解説 .Nm コマンドは、 .Xr pkg_create 1 コマンドにより作成されたパッケージを展開するのに用いられます。 .Sh 警告 .Bf -emphasis .Nm コマンドはパッケージファイルに含まれるスクリプトやプログラムを 実行することがあるので、あなたのシステムは、危険な配布ファイルを 作る極悪人からの「トロイの木馬」や他の巧妙な攻撃などを受ける 可能性があります。 .Pp パッケージファイルを提供する人物の能力と身元を確認するとよいでしょう。 より進んだ安全のためには、パッケージを展開するのに .Fl M フラグを用い、その内容と、スクリプトがシステムに害をおよぼさないかを 確認します。 +INSTALL 、 +DEINSTALL 、 +REQUIRE 、 +MTREE_DIRS の各ファイルには 特に注意を払い、+CONTENTS ファイルの .Cm @cwd 、 .Cm @mode (setuid をチェック)、 .Cm @dirrm 、 .Cm @exec 、 .Cm @unexec ディレクティブを調べてください。 パッケージファイルを調べるのには .Xr pkg_info 1 コマンドも使えます。 .Ef .Sh オプション 以下のコマンドラインオプションが提供されています: .Bl -tag -width indent .It Ar pkg-name [... pkg-name] 指定されたパッケージがインストールされます。 - という名前が指定されると、 .Nm は stdin から読み込みます。 パッケージがカレントディレクトリに見つからないと、 .Nm は .Ev PKG_PATH で指定された各ディレクトリを探します。 .It Fl v 饒舌な出力に切り替えます。 .It Fl I パッケージにインストール用スクリプトが存在しても、それを実行しません。 .It Fl n 実際にはインストールを行わず、インストールした場合に実行されるであろう ステップを表示します。 .It Fl R パッケージのインストール結果を記録しません。 このオプションは、後でアンインストールすることを不可能にするため、 自分が何をしているかを理解している人のみ使ってください。 .It Fl f あらかじめ必要なパッケージがインストールされていなかったり、 requirements スクリプトが失敗した場合にも強制的にインストールします。 これは .Nm が見つからない必要なパッケージを探して自動的にインストールすることを 止めるわけではなく、見つからない場合でも中断しないようにします。 .It Fl p Ar prefix パッケージからファイルを展開するディレクトリの前に .Ar prefix を付けます。 パッケージがデフォルトディレクトリを保持している場合には、 このオプションで変更できます。 .Nm はディレクトリ設定が相対的に行われているか、絶対的に行われているか を知る術がないので、最初の .Cm @cwd ディレクティブのみが変更されることに注意してください。 複数回のディレクトリ変更が行われることはまれですが、 実際にあった場合、すべてのディレクトリ変更を制御したくなる でしょう。この場合、 .Cm MASTER モード、 .Cm SLAVE モードの使用を検討してみてください (オプション .Fl M と .Fl S を参照)。 .It Fl t Ar template ``作業領域'' を作成する際に、 .Xr mktemp 3 への入力として .Ar template を用います。 これはデフォルトでは .Pa /var/tmp/instmp.XXXXXX という文字列ですが、 .Pa /var/tmp ディレクトリの容量が制限されているような状況では 変更する必要があるかもしれません。 .Xr mktemp 3 が一意の ID を用いるために必要な `X' の文字をいくつか残しておく ことを忘れないでください。 .Pp 作業領域 .Ar template をパッケージファイルがインストールされるディレクトリと同じディスク パーティションに設定することによって、パフォーマンスを高めることが 可能です (大抵は .Pa /usr )。 .It Fl M .Cm MASTER モードで実行します。これは .Nm のとても特殊な実行モードであり、 .Cm SLAVE モードと共に実行しなければなりません。 このモードで実行されると、 .Nm は一時的な作業領域 ( .Fl t オプションを参照) へパッケージを展開する以上のことはせず、 現在の作業領域ディレクトリ名を頭に付加した packing list を標準出力に 出力します(標準出力は .Xr sed 1 のようなプログラムにフィルタされているかもしれません)。 .Cm SLAVE モードと共に用いると、中身を処理する前にパッケージ構造に 大きな変更を加えることが可能になります。 .It Fl S .Cm SLAVE モードで実行します。これは .Nm のとても特殊な実行モードであり、 .Cm MASTER モードと共に実行しなければなりません。 このモードで実行されると、 .Nm はパッケージの内容がすでに作業領域に展開され、その場所が 標準入力から文字列として入力されることを想定します。 完全な packing list も stdin から読み込まれ、その後中身が 通常どおり処理されます。 .El .Pp 一つ以上の .Ar pkg-name 引数を指定することが可能で、それらはパッケージを含むファイル名(通常 拡張子 ``.tgz'' で終わります)か、ftp サイトにあるファイルを 示す URL のどちらかになります。 したがって、anonymous ftp から直接ファイルを展開することが 可能です (例えば .Nm ftp://ftp.freebsd.org/pub/FreeBSD/packages/shells/bash-1.14.4.tgz )。 注意: もし上記のような転送で用いる ftp で .Bf -emphasis passive mode .Ef を利用したいなら、環境変数 .Bf -emphasis FTP_PASSIVE_MODE .Ef に何らかの値を設定する必要があります。 そうでなければ、より一般的な ACTIVE モードが利用されます。 もしうまく動作していることがわかっているサイトからパッケージを 得ようとして .Nm が常に失敗する場合、あなたが .Bf -emphasis passive mode .Ef の ftp を使う必要のあるファイアウォールの中にいるのが原因である場合が あります。 .Sh 技術詳細 .Nm -はきわめて単純です。各パッケージの "packing list" を /tmp 内 -($PKG_TMPDIR が設定されていればそこ)の特別な作業ディレクトリに展開し、 +はきわめて単純です。各パッケージの "packing list" を +特別な作業ディレクトリに展開し、 中身を解析し、内容を完全に展開するために 以下の手順を実行します: .Bl -enum -indent indent .It パッケージがすでにインストールされている、と記録されているかどうかを チェックします。もしそうならインストールを中断します。 .It .Cm @pkgdep ディレクティブ ( .Xr pkg_create 1 を参照) による パッケージのすべての依存関係をチェックし、各々が存在するかどうかを 確認します。もし存在しなければ、足りないパッケージを見つけて自動的に インストールしようとします。もし見つからなければ、 インストールを中断します。 .It パッケージがどのようにシステムに追加されるかを制御する .Cm @option ディレクティブを検索します。このマニュアルページを書いている時点では、 実装されているオプションは .Cm @option extract-in-place のみであり、これは .Pa /tmp 内の作業領域を経由しないで、 パッケージを最終的なディレクトリに直接展開するようにします。 .It .Cm @option extract-in-place が指定されていれば、パッケージは最終的な場所に直接展開され、 そうでなければ作業領域内に展開されます。 .It パッケージが .Ar require ファイル ( .Xr pkg_create 1 を参照) を含んでいる場合、そのファイルを以下の引数を付けて実行します: .Bd -filled -offset indent -compact .Ar pkg-name .Ar INSTALL .Ed ここで .Ar pkg-name は問題としているパッケージの名前であり、 .Ar INSTALL キーワードはインストールの requirements チェックであることを 示しています (これは複数の機能を提供するひとつのスクリプトを 用いようとする場合に有用です)。 .It パッケージに .Ar install スクリプトが存在する場合、以下の引数を付けて実行されます: .Bd -filled -offset indent -compact .Ar pkg-name .Ar PRE-INSTALL .Ed ここで .Ar pkg-name は問題としているパッケージの名前であり、 .Ar PRE-INSTALL はこれがインストール前のステップであることを示すキーワードです。 .It .Cm @option extract-in-place が指定されていない場合、packing list ( .Pa +CONTENTS ファイル) が作業領域から最終的な場所に ファイルを移動 (必要ならコピー) するために参照されます。 .It パッケージが .Ar mtreefile ファイル ( .Xr pkg_create 1 を参照) を含む場合、mtree が以下の引数を付けて実行されます: .Bd -filled -offset indent -compact .Cm mtree .Fl u .Fl f .Ar mtreefile .Fl d .Fl e .Fl p .Pa prefix .Ed ここで .Pa prefix は .Fl p フラグが指定されていればその prefix、 .Fl p フラグが指定されていない場合にはこのパッケージの最初の .Cm @cwd ディレクティブのディレクトリ名が prefix になります。 .It パッケージに .Ar install スクリプトが含まれる場合、 .Bd -filled -offset indent -compact .Cm script .Ar pkg-name .Ar POST-INSTALL .Ed として実行されます。これによりインストール前とインストール後の 両方の手続きをこなす一つの .Ar install スクリプトを用いることが可能になります。 .It インストールが終了すると、後で .Xr pkg_delete 1 で使うために packing list 、 .Ar deinstall スクリプト、 description 、 display の各ファイルが .Pa /var/db/pkg/ にコピーされます。 パッケージの依存関係は、他のパッケージの .Pa /var/db/pkg//+REQUIRED_BY ファイル (PKG_DBDIR 環境変数が設定してある場合、上記の .Pa /var/db/pkg/ が置き換えられます) に記録されます。 .It 最後に、作業領域が削除されプログラムは終了します。 .El .Pp すべてのスクリプトは環境変数 .Ev PKG_PREFIX にインストール時の prefix ( 前述の .Fl p オプションを参照) が設定された状態で実行されます。 このことにより、パッケージの作者は .Cm pkg_add の .Fl p フラグによりパッケージがインストールされるディレクトリが 変更されても、きちんとふるまうスクリプトを書くことが可能になります。 .Sh 環境変数 .Ev PKG_PATH の値は、指定されたパッケージが見つからない時に用いられます。 環境変数はコロンで区切られた一連のエントリです。 各エントリはディレクトリ名からなります。 カレントディレクトリは空欄のディレクトリ名で暗黙のうちに指定されるか、 一つのピリオドで明示的に指定します。 +.Pp +環境変数 +.Ev PKG_DBDIR +は、インストールされたパッケージについてのデータベースの位置を指定します。 +.Pp +.Nm +が作業領域の生成を試みる作業用ディレクトリの名前は、環境変数 +.Ev PKG_TMPDIR +と +.Ev TMPDIR +とから(この順で)取られます。 +これらの変数が存在しないか、指定されたディレクトリに十分な空き容量が +ない場合、 +.Nm +は、 +.Pa /var/tmp +、 +.Pa /tmp +、 +.Pa /usr/tmp +のうちで、十分な空き容量を持つ最初のディレクトリを使います。 +.Sh ファイル +.Bl -tag -width /var/db/pkg -compact +.It Pa /var/tmp +環境変数 +.Ev PKG_TMPDIR +と +.Ev TMPDIR +のどちらも適切なディレクトリを指定しない場合に、作業領域を作成するため +に用いる作業用ディレクトリ。 +.It Pa /tmp +.Pa /var/tmp +が存在しないか、十分な空き容量を持たない場合、その次に選ばれる +ディレクトリ。 +.It Pa /usr/tmp +.Pa /var/tmp +と +.Pa /tmp +のどちらも作業領域を作成するには適切でない場合、最後に選ばれる +ディレクトリ。 +.It Pa /var/db/pkg +インストールされたパッケージについてのデータベースのデフォルトの位置。 +.El .Sh 関連項目 .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr mktemp 3 , .Xr sysconf 3 , .Xr mtree 8 .Sh 作者 .Bl -tag -width indent -compact .It "Jordan Hubbard" 最初の仕事およびそれに続く開発。 .It "John Kohl" NetBSD 向け改良。 .El .Sh バグ 配布物のファイル間のハードリンクは、 (1) 作業領域が、ファイルへのすべてのリンクの最終的な ディレクトリと同じファイルシステムの場合もしくは、 (2) ファイルへのすべてのリンクが contents ファイル内で .Cm @cwd ディレクティブで括られている場合にのみ保存されます。 .Em さらに その上、リンク名は単一の .Cm tar コマンド ( .Fn sysconf _SC_ARG_MAX により返される値に依存する実行時の引数の長さの制限により、複数の 実行には分割できません) で展開されなければなりません。 .Pp バグは他にもあるはずです。 diff --git a/ja/man/man1/pkg_create.1 b/ja/man/man1/pkg_create.1 index a1e9ca8b08..902096b320 100644 --- a/ja/man/man1/pkg_create.1 +++ b/ja/man/man1/pkg_create.1 @@ -1,411 +1,440 @@ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_create.1 .\" jpman %Id: pkg_create.1,v 1.3 1997/06/09 10:11:56 jsakai Stab % -.\" %Id: pkg_create.1,v 1.16.2.8 1998/05/24 03:13:00 steve Exp % +.\" %Id: pkg_create.1,v 1.16.2.9 1998/07/06 12:15:21 jkoshy Exp % .\" .\" hacked up by John Kohl for NetBSD--fixed a few bugs, extended keywords, .\" added dependency tracking, etc. .\" .\" [jkh] Took John's changes back and made some additional extensions for .\" better integration with FreeBSD's new ports collection. .\" .Dd April 21, 1995 .Dt pkg_create 1 .Os FreeBSD .Sh 名称 .Nm pkg_create .Nd ソフトウェア配布パッケージを作成するプログラム .Sh 書式 .Nm .Op Fl YNOhv .Op Fl P Ar pkgs .Op Fl p Ar prefix .Op Fl f Ar contents .Op Fl i Ar iscript .Op Fl k Ar dscript .Op Fl r Ar rscript .Op Fl s Ar rscript .Op Fl t Ar template .Op Fl X Ar excludefile .Op Fl D Ar displayfile .Op Fl m Ar mtreefile .Fl c Ar comment .Fl d Ar description .Fl f Ar packlist .Ar pkg-name .Sh 解説 この .Nm コマンドは、パッケージ展開/情報プログラムに渡されるパッケージを 作成します。 パッケージ作成のために入力する説明とコマンドライン引数 は本来人間が生成することを意図していませんが、 そうすることも簡単にできます。 自力でどうにかすることも可能ですが、作成にはフロントエンドツールを 用いた方がいいでしょう。 とはいうものの、入力書式の概略はこの文書に含まれています。 .Sh オプション 以下のコマンドラインオプションが提供されています: .Bl -tag -width indent .It Fl f Ar packinglist ファイル .Ar packinglist から、もしくは .Ar packinglist が .Cm - (ダッシュ)であれば .Cm stdin から、パッケージ用の ``packing list'' を取得します。 .It Fl c Ar [-]desc ファイル .Ar desc から、もしくは先頭が .Cm - で始まっていれば引数自身から、パッケージの ``一行説明'' を取得します。 この文字列は、パッケージが提供するもののバージョンを知る 手がかりとなるべきです。 .It Fl d Ar [-]desc ファイル .Ar desc から、もしくは先頭が .Cm - で始まっていれば引数自身から、パッケージの長い説明を取得します。 .It Fl Y 質問に対してのデフォルトの解答を `Yes' とします。 .It Fl N 質問に対してのデフォルトの解答を `No' とします。 .It Fl O `packing list Only' モードに移行します。 これは .Em "FreeBSD Ports Collection" のための特別な修正であり、port がインストールされる時の `fake pkg_add' を行うために用いられます。 このような場合には、調整された最終的な packing list が どのようなものになるかを知る必要があるのです。 .It Fl v 饒舌な出力に切り替えます。 .It Fl h tar がシンボリックリンクをたどるようにします。 この結果、リンク自身ではなくリンク先のファイルが出力されます。 .It Fl i Ar iscript パッケージのインストール手続きとして .Ar iscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これはパッケージがインストールされる時に自動的に起動されます。 .It Fl P Ar pkgs 初期のパッケージ依存リストとして .Ar pkgs を用います。 これはホワイトスペースで区切られたパッケージの名前となります。 また、packing list (後述の「PACKING LIST 詳細」セクションを参照) 内の複数の .Cm @pkgdep ディレクティブを指定する手っ取り早い方法でもあります。 .It Fl p Ar prefix パッケージのファイルを選択する際に基準となる初期ディレクトリとして .Ar prefix を用います。 .It Fl k Ar dscript パッケージのアンインストール手続きとして .Ar dscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これはパッケージがアンインストールされる時に自動的に起動されます。 .It Fl r Ar rscript パッケージの ``requirements'' 手続きとして .Ar rscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これはインストール時、アンインストール時に自動的に起動され、 インストール、アンインストールを継続するべきかどうかを決定するのに 用いられます。 .It Fl s Ar srcdir パッケージ作成中に .Ar srcdir は、 .Cm @cwd の値に優先します。 .It Fl t Ar template .Xr mktemp 3 への入力として .Ar template を用います。 これはデフォルトでは .Pa /tmp/instmp.XXXXXX という文字列ですが、 .Pa /tmp ディレクトリの容量が制限されているような状況では 変更する必要があるかもしれません。 .Xr mktemp 3 が一意の ID を用いるために必要な `X' の文字をいくつか残しておく ことを忘れないでください。 .It Fl X Ar excludefile 最終的にパッケージを作成する際に、 .Ar excludefile を .Cm tar に .Fl exclude-from 引数として渡します。 このオプションを使うにあたっての詳しい情報は、 .Cm tar のマニュアルページ (もしくは .Fl -help 引数を付けて .Cm tar を実行) を参照してください。 .It Fl D Ar displayfile パッケージをインストールした後にファイルを ( .Xr more 1 を用いて) 表示します。 「ほとんど free なソフトウェア」などにおいて、 法的な通知のようなものなどに便利でしょう。 .It Fl m Ar mtreefile パッケージがインストールされる前に、mtreefile を入力として .Xr mtree 8 を実行します。mtree は .Cm mtree .Fl u .Fl f .Ar mtreefile .Fl d .Fl e .Fl p .Pa prefix として起動されます (ただし .Pa prefix は .Cm @cwd ディレクティブにより名付けられた最初のディレクトリの名前)。 .El .Pp .Sh PACKING LIST 詳細 ``packing list'' の書式 ( .Fl f を参照) は単純で、パッケージに含めるファイル名を一行につきひとつずつ 並べたものにすぎません。 どこにインストールされるかわからないパッケージに対して絶対パスを 用いるのは一般的に悪い方法なので、 どこにインストールされることを想定しているのか、 そしてどんな ownership と mode を伴ってインストールされるべきなのか (こちらはオプション) を指定する方法が用意されています。 これは packing list 内に一連の特殊コマンドを 埋め込むことで実現されています。以下に簡単に示します: .Bl -tag -width indent -compact .It Cm @cwd Ar directory 内部のディレクトリポインタが .Ar directory を指すようにします。以降のファイル名はこのディレクトリへの相対パス であるとみなされます。 .Cm @cd はこのコマンドの別名です。 .It Cm @srcdir Ar directory 「作成時のみ」の内部ディレクトリポインタを .Ar directory に設定します。 パッケージ作成時に .Cm @cwd に優先すると言えますが、展開時にはこれはあてはまりません。 .It Cm @exec Ar command 展開処理の一環として .Ar command を実行します。 .Ar command が以下の文字列を含んでいた場合、その場で置換されます。 以下の例では .Cm @cwd が .Pa /usr/local と設定されていて、最後に展開されたファイルが .Pa bin/emacs だったとしています。 .Bl -tag -width indent -compact .It Cm "%F" 最後に展開されたファイル名に置換されます。この例では .Pa bin/emacs となります。 .It Cm "%D" .Cm @cwd で設定されたカレントディレクトリプレフィックスに置換されます。 この例では .Pa /usr/local になります。 .It Cm "%B" 完全な(フルパスの)ファイル名の ``basename'' へ置換されます。 これはカレントディレクトリプレフィックスに最後の filespec を 加え、末尾のファイル名部分を除いたものです。 この例では、 .Pa /usr/local/bin になります。 .It Cm "%f" 完全な (フルパスを含む) ファイル名の ``filename'' 部分へ置換されます。 .Cm %B と対応していて、この例では .Pa emacs となります。 .El .It Cm @unexec Ar command アンインストール処理の一環として .Ar command を実行します。特別な .Cm % 文字列の置換は .Cm @exec と同様です。 このコマンドは .Cm @exec のようにパッケージを加える際に実行されるのではなく、パッケージが 削除されるときに実行されます。 これは、パッケージを加えるときに作られたリンクや他の 付随ファイル (パッケージの内容一覧に記されているファイルは自動的に 削除されるので除く) を削除するのに便利です。 アンインストールスクリプトよりも .Cm @unexec を用いる方が有利な点は、どこにインストールされているかわからない ( .Fl p を参照) ファイルの場所を得るのに ``特殊文字列置換'' を用いることが 可能なことです。 .It Cm @mode Ar mode この後で展開されるすべてのファイルのデフォルトの許可属性を .Ar mode に設定します。 書式は .Cm chmod コマンドで用いられているものと同じです (というよりも、そのまま 渡されています)。 引数無しで用いると、デフォルトの(展開)許可属性に戻します。 .It Cm @option Ar option 内部用パッケージオプションを設定します。 現在二つのオプションのみがサポートされています。 ひとつは .Ar extract-in-place で、これは pkg_add コマンドにパッケージの tarball を staging area に展開せずに、目的の階層に直接展開するよう指示します (これは主に配布物や他の特殊なパッケージなどに用いられます)。 もうひとつは .Ar preserve で、存在するファイルを別の所に保存しておくよう pkg_add に指示します (これらは pkg_delete の時に復活しますが、自分の責任で行ってください)。 .It Cm @owner Ar user この後で展開されるすべてのファイルのデフォルトの ownership を .Ar user に設定します。 引数無しで用いると、デフォルトの(展開) ownership に戻します。 .It Cm @group Ar group この後で展開されるすべてのファイルのデフォルトの group ownership を .Ar group に設定します。 引数無しで用いると、デフォルトの(展開) group ownership に戻します。 .It Cm @comment Ar string packing list 内にコメントを埋め込みます。 誰かが後で間違えてしまうかもしれない特に厄介な部分を説明しようとする 場合に便利です。 .It Cm @ignore 特殊な目的に使われるファイルなどのため、展開時に次のファイルを 無視する (どこにもコピーしない) ように、内部で用いられます。 .It Cm @ignore_inst .Cm @ignore と同様ですが、次のファイルを無視するのは一評価サイクルだけ 遅らせられます。 このおかげでこのディレクティブを .Ar packinglist ファイル内で用いることが可能になるので、インストーラが 無視するような、インストールスクリプトなどのための特殊な データファイルを、配布物内に入れることができるようになります。 .It Cm @name Ar name パッケージの名前を設定します。 これは必須項目であり、通常先頭に置かれます。 この名前はパッケージが提供するファイルの名前とは異なる可能性があり、 後でアンインストールする時のために パッケージの記録を残しておくのに使われます。 名前が指定されなかった場合には、 .Nm はパッケージ名から推定し、自動的に設定することに注意してください。 .It Cm @dirrm Ar name ディレクトリ .Pa name がアンインストール時に削除されるよう宣言します。デフォルトでは、 パッケージのインストール時に作成されたディレクトリは アンインストール時には削除されませんが、このディレクティブは明示的な ディレクトリ削除方法を提供します。 このディレクティブはパッケージリストの最後で用いるようにしてください。 一つ以上の .Cm @dirrm ディレクティブが指定された場合、指定された順番に削除されます。 .Pa name は空きディレクトリでなければ削除されません。 .It Cm @mtree Ar name .Pa name を、インストール時に用いられる .Xr mtree 8 への入力ファイルとして宣言します (上述の .Fl m を参照)。最初にひとつだけ .Cm @mtree ディレクティブを指定することが推奨されます。 .It Cm @display Ar name .Pa name を、インストール時に表示されるファイルとして宣言します (上述の .Fl D を参照)。 .It Cm @pkgdep Ar pkgname パッケージ .Ar pkgname に依存することを宣言します。 パッケージ .Ar pkgname はこのパッケージがインストールされる前にインストールされていなければ ならず、またこのパッケージはパッケージ .Ar pkgname がアンインストールされる前にアンインストールされなければなりません。 パッケージが複数のパッケージに依存する場合には、複数の .Cm @pkgdep ディレクティブが用いられます。 +.Sh 環境変数 +環境変数 +.Ev PKG_TMPDIR +で、 +.Nm +が作業用ファイルの生成を試みるディレクトリの名前を指定します。 +.Ev PKG_TMPDIR +が設定されていない場合、 +.Ev TMPDIR +で指定されたディレクトリが使用されます。 +.Ev PKG_TMPDIR +、 +.Ev TMPDIR +ともに設定されていない場合は、組み込みのデフォルトディレクトリが +使用されます。 +.Sh ファイル +.Bl -tag -width /usr/tmp -compact +.It Pa /var/tmp +環境変数 +.Ev PKG_TMPDIR +、 +.Ev TMPDIR +がともに設定されていない場合の作業用ディレクトリ。 +.It Pa /tmp +.Pa /var/tmp +が存在しない場合の、その次の選択肢。 +.It Pa /usr/tmp +.Pa /tmp +が適切でない場合の、最後の選択肢。 .El .Sh 関連項目 .Xr pkg_add 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr sysconf 3 . .Sh 歴史 .Nm コマンドは FreeBSD で最初に登場しました。 .Sh 作者 .Bl -tag -width indent -compact .It "Jordan Hubbard" ほとんどの仕事 .It "John Kohl" NetBSD 向け修正 .El .Sh バグ パッケージが展開される際にハードリンクを保存しておくために、 配布物のファイル間でのハードリンクは .Cm @cwd ディレクティブで括られていなければなりません。 その上、実行時の引数の長さの制限 (これは .Fn sysconf _SC_ARG_MAX により返される値に依存します) のために、それらのハードリンクは単一の .Cm tar 実行内で行われなければなりません。 .Pp バグは他にもあるはずです。 diff --git a/ja/man/man1/pkg_info.1 b/ja/man/man1/pkg_info.1 index 309a844856..3f822f156e 100644 --- a/ja/man/man1/pkg_info.1 +++ b/ja/man/man1/pkg_info.1 @@ -1,135 +1,174 @@ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_info.1 .\" jpman %Id: pkg_info.1,v 1.3 1997/06/08 14:11:48 jsakai Stab % +.\" jpman: based on the version of releng22:2.2-980710-SNAP .\" .Dd November 25, 1994 .Dt pkg_info 1 .Os FreeBSD .Sh 名称 .Nm pkg_info .Nd ソフトウェア配布パッケージの情報を表示するプログラム .Sh 書式 .Nm pkg_info .Op Fl cdDikrRpLqImv .Op Fl e Ar package .Op Fl l Ar prefix .Ar pkg-name [pkg-name ...] .Nm pkg_info .Fl a .Op Ar flags .Sh 解説 .Nm コマンドはファイル中に納められたパッケージや .Xr pkg_create 1 によりすでにシステムにインストールされたパッケージの情報を表示するために 用いられます。 .Sh オプション 以下のコマンドラインオプションが提供されています。 .Bl -tag -width indent .It Ar pkg-name ... 指定されたパッケージが表示されます。指定されるのはイントール済みの パッケージの名前か、パッケージ配布ファイルへのパス、ftp 可能な パッケージへの URL のいずれかになります。 .It Fl a 現在インストールされているすべてのパッケージを表示します。 .It Fl v 饒舌な出力に切り替えます。 .It Fl p 各パッケージのインストール用 prefix を表示します。 .It Fl q レポートヘッダのような情報を出力する際に余分な出力を省略し、 生の情報のみ出力します (基本的に人が読みやすいものではありません)。 .It Fl c 各パッケージの (一行) コメントフィールドを表示します。 .It Fl d 各パッケージの長い説明フィールドを表示します。 .It Fl D 各パッケージのインストールメッセージファイルを表示します。 .It Fl f 各パッケージの packing list instructions を表示します。 .It Fl i もしあれば、各パッケージのインストールスクリプトを表示します。 +.It Fl I +各パッケージのインデックス行を表示します。このオプションは他のパッケージ +書式整形オプションの全てに優先します。 .It Fl k もしあれば、各パッケージのアンインストールスクリプト を表示します。 .It Fl r もしあれば、各パッケージの requirements スクリプトを表示します。 +.It Fl R +(指定した)各パッケージを必要とするパッケージのうちで、インストールされて +いるもののリストを表示します。 .It Fl m もしあれば、各パッケージの mtree ファイルを表示します。 .It Fl L 各パッケージに含まれるファイルを表示します。 これは packing list をただ見るのとは異なり、 生成されるすべてのフルパス名が表示されます。 .It Fl e Ar pkg-name .Ar pkg-name で示されるパッケージが現在インストールされている場合には 0 を 返し、そうでなければ 1 を返します。 このオプションにより、スクリプトから (おそらく必要不可欠な) 他のパッケージの存在を簡単に確認することが可能になります。 .It Fl l Ar str 各 information category header ( .Fl q を参照) の前に .Ar str を付加します。 これは本来、パッケージに関する多くの information fields を一度に 得たいが、そのごっちゃになった出力で混乱したくない、という フロントエンドプログラムのためにあります。 このオプションで各 field の先頭に特別な文字列を付け加えることが できます。 .It Fl t Ar template 「作業場所」を作成する際に、 .Xr mktemp 3 への入力として .Ar template を用います。 これはデフォルトでは .Pa /tmp/instmp.XXXXXX という文字列ですが、 .Pa /tmp ディレクトリの容量が制限されているような状況では 変更する必要があるかもしれません。 .Xr mktemp 3 が一意の ID を用いるために必要な `X' の文字をいくつか残しておく ことを忘れないでください。 .Bd -filled -offset indent -compact Note: pkg_info は各パッケージからとても小さな情報しか 抽出しないので、実際にはこのオプションは必要ありません。 溢れさせるには非常に小さな .Pa /tmp でなければならないでしょう。 .Ed .Sh 技術詳細 パッケージの情報は、コマンドラインから指定されたパッケージのファイル名か、 .Pa /var/db/pkg/ にあるすでにインストールされたパッケージの情報から抽出されます。 +.Sh 環境変数 +.Ev PKG_TMPDIR +で、 +.Nm +が作業用ファイルを生成するディレクトリを指定します。 +この変数が設定されていない場合、 +.Ev TMPDIR +が用いられます。両方とも設定されていない場合、 +組み込みのデフォルトディレクトリが用いられます。 +.Pp +.Ev PKG_DBDIR +で、インストールされたパッケージについてのデータベースの位置を指定します。 +.Sh ファイル +.Bl -tag -width /var/db/pkg -compact +.It Pa /var/tmp +環境変数 +.Ev PKG_TMPDIR +、 +.Ev TMPDIR +がともに設定されていない場合、もしくはこれらのディレクトリの空き領域が +十分でない場合に用いられます。 +.It Pa /tmp +.Pa /var/tmp +が存在しないか、十分な空き領域を持たない場合に、次の選択肢として +用いられます。 +.It Pa /usr/tmp +.Pa /tmp +が適切でない場合の最後の選択肢です。 +.It Pa /var/db/pkg +インストールされたパッケージについてのデータベースのデフォルトの +位置です。 +.El .Sh 関連項目 .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr mktemp 3 , .Xr mtree 8 . .Sh 作者 .Bl -tag -width indent -compact .It "Jordan Hubbard" ほとんどの仕事 .It "John Kohl" NetBSD 向け修正 .El .Sh バグ まだあるはずです。 diff --git a/ja/man/man8/atrun.8 b/ja/man/man8/atrun.8 index 985cff6459..5647647c4b 100644 --- a/ja/man/man8/atrun.8 +++ b/ja/man/man8/atrun.8 @@ -1,75 +1,84 @@ -.\" %Id: atrun.man,v 1.1.6.1 1997/12/12 07:15:35 charnier Exp % +.\" %Id: atrun.man,v 1.1.6.2 1998/07/07 04:49:55 jkoshy Exp % .\" jpman %Id: atrun.8,v 1.2 1997/04/23 02:43:41 yugawa Stab % .Dd April 12, 1995 .Dt ATRUN 8 .Os "FreeBSD 2.1" .Sh 名称 .Nm atrun .Nd ジョブキューのなかから予定時刻になったものを実行 .Sh 書式 .Nm atrun .Op Fl l Ar load_avg .Op Fl d .Sh 解説 .Nm コマンドは .Xr at 1 でキューに入れたジョブを実行するコマンドです。 -ルートの +.Pp +.Xr atrun 8 +が5分毎に起動されるようにするために、 +root の .Xr crontab 5 ファイル .Pa /etc/crontab に、 .nf */5 * * * * root /usr/libexec/atrun .fi -という設定が含まれていたならば、5分毎に起動される事になります。 +という設定を含めておく必要があります。 .Pp +呼び出しが起きるたびに .Nm -が起動する度に、小文字のキューの中の実行時間が来た各ジョブがスタートします。 -.Nm -が起動する度に、(大文字のキューで表される)バッチジョブのうち -優先順位が最も高い物からひとつずつスタートします。 +は、小文字のキューの中のジョブのうち、 +実行開始時間を過ぎたものすべてを開始します。 +さらに、直前の1分間の負荷平均値(load avarage)が指定した限界値より小さい場合、 +優先順位が最も高いバッチジョブ(大文字のキューで表されます)ひとつを +開始します。 .\" 上記の記述はオリジナルの英語版では、"A maximum of one batch jobs (denoted .\" by uppercase queues) are started each time atrun is invoded." となっている。 .\" この記述だけでは非常にわかりにくいが、at(1) を見ると、バッチジョブには .\" A 〜 Z のキューがあり、A 〜 Z の順番で nice 値が高くなる(優先度が低くなる) .\" と書かれている。そこで、実際に試して見ると、同一のキューに登録されたジョブ .\" は登録された順番に実行されるが、異なるキューに登録されたジョブは登録された .\" 順番とは関係なく、より nice 値が低い(優先度の高い)ジョブから実行される .\" ので、上記の記述とした。 .\" 2.2.1-RELEASE 対象 .\" By yugawa@orleans.rim.or.jp (Apr 23 1997) +.\" RELENG22-980710-SNAP(2.2.7 直前)でこの部分の記述は変更されたが、 +.\" "A maximum of one batch jobs" の句は依然として残っているので、 +.\" この句の訳はそのままにしてある。 +.\" By kuma@jp.freebsd.org (Jul 10 1998) .Sh オプション .Bl -tag -width indent .It Fl l Ar load_avg 負荷の上限を指定する。負荷がこの上限を越えている場合、バッチジョブは実行さ れない。デフォルトの値は 1.5。 .It Fl d デバッグ用。 .Xr syslog 3 を使う代わりに標準エラー出力にエラーメッセージを吐き出す。 .El .Sh 警告 .Nm を動かすためには .Xr cron 8 デーモンを起動しておかねばなりません。 .Sh 関連ファイル .Bl -tag -width /var/at/spool -compact .It Pa /var/at/spool 出力ファイルを保管しておくディレクトリ .It Pa /var/at/jobs ジョブファイルを保管しておくディレクトリ .El .Sh 関連項目 .Xr at 1 , .Xr crontab 1 , .Xr syslog 3 , .Xr crontab 5 , .Xr cron 8 .Sh バグ .Nm の機能は .Xr cron 8 に統合されるべきです。 diff --git a/ja/man/man8/init.8 b/ja/man/man8/init.8 index 4ab1b2e881..af7b02ca56 100644 --- a/ja/man/man8/init.8 +++ b/ja/man/man8/init.8 @@ -1,303 +1,316 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Donn Seeley at Berkeley Software Design, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)init.8 8.3 (Berkeley) 4/18/94 -.\" %Id: init.8,v 1.4.2.3 1997/08/18 03:30:04 davidn Exp % +.\" %Id: init.8,v 1.4.2.4 1998/07/06 12:01:34 jkoshy Exp % .\" jpman %Id: init.8,v 1.2 1997/05/27 08:12:44 yugawa Stab % .\" .Dd April 18, 1994 .Dt INIT 8 .Os BSD 4 .Sh 名称 .Nm init .Nd プロセス制御の初期化を行う .Sh 書式 .Nm init .Sh 解説 .Nm init はブート処理の最後に起動されます。 .Nm init は通常、 .Xr reboot 8 で説明されている自動リブートシーケンスを実行します。それが成功すると、 システムはマルチユーザモードになります。 リブートスクリプトの実行に失敗すると、 .Nm init はスーパユーザが使うシェルを起動してシングルユーザモードを 開始させます。 .Nm init プログラムは、ブートプログラムからのパラメータの指示を受けて、マルチユー ザモードに移行せず、一般のデーモンを起動することなくシングルユーザモードの シェルを起動させることができます。 その場合、システムはメンテナンスのためのモードになり、 シェルを抜ける (^D を入力する)ことで シングルユーザモードからマルチユーザモードになります。 これによって、 .Nm init は .Pa /etc/rc をファストブートモード(ディスクチェック省略)で実行します。 .Pp もし .Xr ttys 5 ファイルの .Nm console のエントリが ``insecure'' にマークされていた場合には、 .Nm init はシングルユーザモードのシェルを起動する前に、スーパユーザのパスワードを 要求します。 パスワードチェックは、 .Nm console が ``secure'' にマークされていればスキップされます。 .Pp カーネルは 4 種類のセキュリティレベルで走行します。どのスーパーユーザ プロセスもセキュリティレベルを上げることができますが、レベルを下げることが できるのは .Nm init だけです。セキュリティレベルは以下のように定義されます: .Bl -tag -width flag .It Ic -1 常に危険なモード \- システムは常にレベル 0 モードで走行します。 +これは初期値のデフォルトです。 .It Ic 0 危険なモード \- 変更不可(immutable)フラグや追加のみ(append-only)フラグは 無効にされます。 全てのデバイスは、そのパーミッションに従って読み書きされます。 .It Ic 1 安全なモード \- 変更不可フラグや追加のみのフラグは変更されません。 マウントされたファイルシステムのディスクおよび .Pa /dev/mem や .Pa /dev/kmem は read-only となります。 .It Ic 2 安全度の高いモード \- レベル 1 のモードの効果に加え、ディスクは マウントさていようといまいと、( .Xr mount 2 を除き) 常に read-only となります。 このレベルは、ファイルシステムをアンマウントして変更を加えることを不可能に します。また、システムがマルチユーザで走行中に .Xr newfs 8 を実行することも出来なくなります。 .El .Pp 初期のセキュリティレベルが -1 だった場合、 .Nm init はセキュリティレベルを変更しません。 それ以外の場合、シングルユーザモードではレベル 0 で、マルチユーザモードでは レベル 1 で、システムは動作します。マルチユーザモードにおいてレベル 2 で システムを走らせたい場合は、シングルユーザの状態の間に、つまり、 .Pa /etc/rc の中で .Xr sysctl 8 -を使って設定します。 +を使って、変数 +.Dq kern.securelevel +に望みのセキュリティレベルの値を設定します。 .Pp マルチユーザモードの場合、 .Nm init は .Xr ttys 5 ファイルで指示された端末ポートのためのプロセスを管理します。 .Nm init はこのファイルを読み込み、2 番目のフィールドに指示されたコマンドを 実行します。 そのコマンドは通常、 .Xr getty 8 で、 .Nm getty はtty をオープン、初期化し、 .Xr login 1 プログラムを実行します。 .Nm login プログラムは、ユーザがログインするとシェルを起動します。ユーザが ログアウトするか異常終了するなどして、そのシェルが終了すると、 .Nm init プログラムが起こされ、 .Xr utmp 5 ファイルからユーザを消し、 .Xr wtmp 5 ファイルにログアウトを記録します。 このサイクルは、 .Nm init プログラムがその端末に新しい .Nm getty を実行することで繰り返されます。 .Pp ラインの状態 (on, off, secure, getty, ウインドウの情報) は、 .Xr ttys 5 ファイルを書き換えて .Dq Li "kill -HUP 1" によってシグナル .Dv SIGHUP を .Nm init に送ることで、リブートせずに変更できます。 このシグナルを受け取ると .Nm init は .Xr ttys 5 ファイルを再度読み込みます。 .Xr ttys 5 でラインがオフにされると、 .Nm init はそのラインに関係するセッションの制御プロセスに SIGHUP シグナルを送ります。 オフであったラインが .Xr ttys 5 ファイルでオンにされると、 .Nm init は新しい .Nm getty を起動して、新しいログインを可能にします。 ラインの getty やウインドウフィールドが変更された場合、その変更は現在 のログインセッションが終了するまで有効にはなりません。 (例えば、 .Nm init によって新しいプロセスが起動されるまで有効にならない。) .Xr ttys 5 中のあるラインをコメントアウトあるいは削除した場合は、 .Nm init はそのラインに関しては何も実行しません。 しかしこの場合、 .Xr ttys 5 ファイルと .Xr utmp 5 ファイル内の記録情報が一致しなくなるため、試すことはお勧めしません。 .Pp .Dq Li "kill \-TERM 1" などによって terminate シグナル .Pq Dv TERM を受けると、 .Nm init はマルチユーザモードを終了し、シングルユーザモードに復帰します。 ハードウェアまたはソフトウェアの問題でデッドロックしたプロセスがある場合、 .Xr init はすべてのプロセスの終了を待たず(これは無限に終らないかも知れません)、 30 秒間でタイムアウトして警告のメッセージを出力します。 .Pp terminal stop シグナル .Pq Dv TSTP を送ると( .Dq Li "kill \-TSTP 1" )、 .Nm init は新しい .Xr getty を起動するのをやめ、徐々にシステム停止可能な状態にします。 その後、hangup シグナルで完全なマルチユーザモードに戻り、terminate シグナル でシングルユーザモードに移ります。 この hook は .Xr reboot 8 と .Xr halt 8 で使われています。 .Pp interrupt シグナル .Pq Dv INT を送ると( .Dq Li "kill \-INT 1" )、 .Nm init はすべてのプロセスを(デッドロックプロセスを待たずに)終了させ、 リブートを実行します。 この操作は、マシンがハングした時に、カーネルの中から、あるいは、X から、 システムを安全にシャットダウンするのに便利です。 .Pp マシンをシャットダウンする時、 .Nm init は .Pa /etc/rc.shutdown スクリプトを実行しようとします。 このスクリプトは .Nm innd (インターネットニュースサーバ) のような特定のプログラムを綺麗に終了させるために使用可能です。 .Pp .Nm init の役割は非常に重要で、もし .Nm init が死ぬとシステムが自動的にリブートされます。 もしブート時に .Nm init プログラムを見つけられなければ、システムは以下のようなメッセージを出力 して panic で終了します。 ``panic: init died (signal %d, exit %d)'' .Sh 診断 .Bl -diag .It "getty repeating too quickly on port %s, sleeping" ラインにサービスを提供するプロセスが、起動されるたびにすぐ終了してしまう。 これは、端末ラインに着信があるかノイズが大きい場合にしばしば起こります。 .Em "init は 10 秒間スリープし、" .Em "その後、プロセスを開始させようとし続けます。" .Pp .It "some processes would not die; ps axl advised." シャットダウンの際、ハングしていて終了させられないプロセスがあります。 この状態は、通常、デバイスに異常があるときにデバイスドライバではり付い てしまうことにより起こります。 .El .Sh 関連ファイル .Bl -tag -width /var/log/wtmp -compact .It Pa /dev/console システムのコンソールデバイス .It Pa /dev/tty* .Xr ttys 5 内にある端末ポート .It Pa /var/run/utmp 現在ログインしているのユーザの情報 .It Pa /var/log/wtmp すべてのログイン・ログアウトの情報 .It Pa /etc/ttys 端末の初期化情報が書かれたファイル .It Pa /etc/rc システム立ち上げ用スクリプト .It Pa /etc/rc.shutdown システムシャットダウン用スクリプト .El .Sh 関連項目 .Xr kill 1 , .Xr login 1 , .Xr sh 1 , .Xr ttys 5 , .Xr crash 8 , .Xr getty 8 , .Xr halt 8 , .Xr rc 8 , .Xr reboot 8 , -.Xr shutdown 8 +.Xr shutdown 8, +.Xr sysctl 8 .Sh 歴史 .Nm コマンドは .At v6 から登場しました。 -.Sh バグ +.Sh 注意 .Xr sysctl を持たないシステムは、セキュリティレベル \-1 で動作します。 +.Pp +ブートシーケンスにおいて、セキュリティレベルを 2 に設定するのがあまり +にも早すぎると、 +.Xr fsck 8 +が一貫性のないファイルシステムを補修することを妨げてしまう可能性が +あります。セキュリティレベル設定を行う場所として適切なところは、 +全てのマルチユーザ立ち上げ処理が完了した後である、 +.Pa /etc/rc +の末尾です。 diff --git a/ja/man/man8/mount_nfs.8 b/ja/man/man8/mount_nfs.8 index d2c1417051..2e3bc6ee33 100644 --- a/ja/man/man8/mount_nfs.8 +++ b/ja/man/man8/mount_nfs.8 @@ -1,298 +1,298 @@ .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount_nfs.8 8.2 (Berkeley) 3/27/94 .\" -.\" %Id: mount_nfs.8,v 1.5.2.1 1997/05/14 08:19:19 dfr Exp % +.\" %Id: mount_nfs.8,v 1.5.2.2 1998/07/07 04:52:54 jkoshy Exp % .\" jpman %Id: mount_nfs.8,v 1.3 1997/05/19 17:04:14 horikawa Stab % .\"" .Dd March 27, 1994 .Dt MOUNT_NFS 8 .Os BSD 4.4 .Sh 名称 .Nm mount_nfs .Nd NFS(ネットワークファイルシステム)をマウントする .Pp .Sh 書式 .Nm mount_nfs .Op Fl 23KPTUbcdilqs .Op Fl D Ar deadthresh .Op Fl I Ar readdirsize .Op Fl L Ar leaseterm .Op Fl R Ar retrycnt .Op Fl a Ar maxreadahead .Op Fl g Ar maxgroups .Op Fl m Ar realm .Op Fl o Ar options .Op Fl r Ar readsize .Op Fl t Ar timeout .Op Fl w Ar writesize .Op Fl x Ar retrans .Ar rhost:path node .Sh 解説 .Nm mount_nfs は、ファイルシステムツリー上の指定された .Ar node にリモートの NFS ファイルシステム (rhost:path) をマウントするために、 .Xr mount 2 システムコールを呼び出します。このコマンドは通常、 .Xr mount 8 によって実行されます。このプログラムは、RFC 1094 の Appendix. A および .%T "NFS: Network File System Version 3 Protocol Specification" , Appendix I. に記述されているマウントプロトコルを実装しています。 .Pp オプションを以下に示します: .Bl -tag -width indent .It Fl 2 NFS バージョン 2 プロトコルを使用します (デフォルトはバージョン 3 をまず試した後にバージョン 2 を用います)。 .It Fl 3 NFS バージョン 3 プロトコルを使用します。 .It Fl D NQNFSにおいて .Dq "停止サーバ閾 (dead server threshold)" をタイムアウト (round trip timeout) 回数で指定します。 再送タイムアウト回数が .Dq 停止サーバ閾 に達した後は、無応答なサーバに関するキャッシュデータをいまだ有効な ものと見倣します。 値は 1 から 9 までで、9 は .Dq "無限停止閾 (infinite dead threshold)" です (キャッシュデータを有効と見倣す事はありません)。 このオプションは一般に薦められるものではなく実験的なものです。 .It Fl I readdir での読み取りサイズを指定した値にします。 値は通常 BIRBLKSIZ の倍数であり、マウントの読み取りサイズ以下です。 .It Fl K クライアント - サーバ間のユーザ認証用に Kerberos 認証書をサーバへ渡します。 カーネルが NFSKERB オプションにて構築されている必要があります インターネットドラフト .%T "Authentication Mechanisms for ONC RPC" を御覧下さい。) .It Fl L NQNFS において、リース期間を指定した秒数にします。 応答遅延 (round trip delay) が大きな場合だけ使って下さい。 値は通常、10 秒から 30 秒の間です。 .It Fl P 予約されたソケットポート番号を使います。 NFS がより安全になるとの考え方 (これは誤りです) に基づいて クライアントが予約ポートを使用しないとマウントさせないサーバ をマウントするのに役立ちます。 (クライアントの root が信頼でき、ネットワークケーブルも安全な場所にあ るが、クライアントのユーザは信頼できないという、まれな場合には 役に立つでしょうが、通常のデスクトップクライアントには当てはまりません。) .It Fl R マウントする際のリトライ回数を、指定された値にします。 .It Fl T UDP の代わりに TCP を使います。これは、サーバがクライアントと 同じ LAN ケーブル上にない場合に使うことをお勧めします (注意: この機能は大抵の非 BSD サーバではサポートされていません)。 .It Fl U TCP NFS マウントであっても、マウントプロトコルに UDP を強制します。 (古い BSD サーバにて必要です。) .It Fl a 先読みブロック数を指定した値に設定します。値は 0 から 4 までの範囲で、 サイズの大きなファイルをシーケンシャルに読む場合、 何ブロック先読みするかを決定します。 帯域幅×遅延が大きな状況でマウントする場合に 1 より大きな値をお勧めします。 .It Fl b 最初にサーバの接続に失敗した場合、子プロセスを起動して、 バックグラウンドでマウントを続けようとします。 マルチユーザモードで起動する際、重要でないファイルシステムを .Xr fstab 5 に書いておく場合に役に立ちます。 .It Fl c .Tn UDP マウントポイントに対しては、 .Xr connect 2 を使いません。 これは、標準のポート番号 2049 からのリクエストに答えないサーバ に対しては使う必要があります。 .It Fl d 再送タイムアウト時間を動的に予測しません。これは、 動的に予測される再送タイムアウト時間が非常に短いために、 UDP マウントが高いリトライレートを示しているような場合に有効です。 .It Fl g 認証用のグループリストの最大サイズを、指定した値に設定します。 RFC 1057 ではグループリストのサイズは 16 と記述されていますが、これを 扱えない古いサーバをマウントするときに使うべきです。 多くのグループに属しているユーザに対してマウントポイントから 応答がない場合は、8 を指定してみて下さい。 .It Fl i マウントを割り込み可能とします。これは、応答しないサーバがあるために ファイル関連のシステムコールが遅れるような場合、 プロセスに終了シグナルが送られると、EINTR で システムコールが失敗することを意味します。 .It Fl l NQNFS と NFSV3 において、\fBReaddir_and_Lookup\fR RPCを使うことを 指定します。 このオプションは .Dq "ls -l" するようなときに RPC のトラフィックを減らしますが、 属性と名前のキャッシュをプリフェッチエントリで溢れさせる傾向があります。 このオプションを指定して性能が良くなるのか悪くなるのかを確認して下さい。 バンド幅と遅延の積が大きなネットワークにて最も有用でしょう。 .It Fl m Kerberos の管理領域を文字列で指定します。 他の管理領域にマウントする場合に .Fl K オプションと共に使います。 .It Fl o .Fl o フラグの後に、オプションをコンマで区切って並べ指定します。 指定可能なオプションとその意味は .Xr mount 8 を参照してください。 以下の NFS 固有のオプションを使用可能です: .Bl -tag -width indent .It port= 指定したポート番号を NFS 要求に使用します。 デフォルトでは portmapper に問い合わせます。 .El .Pp .Bl -tag -width "dumbtimerXX" \fB歴史的な \&-o オプション\fR .Pp これらのオプションを使用する事は勧められません。 歴史的な .Nm mount_nfs との互換性のためにここに記述してあります。 .It bg .Fl b と同じ。 .It conn .Fl c -と同じ。 +を指定しない場合と同じ。 .It dumbtimer .Fl d と同じ。 .It intr .Fl i と同じ。 .It kerb .Fl K と同じ。 .It nfsv2 .Fl 2 と同じ。 .It nfsv3 .Fl 3 と同じ。 .It rdirplus .Fl l と同じ。 .It mntudp .Fl U と同じ。 .It resvport .Fl P と同じ。 .It seqpacket .Fl p と同じ。 .It nqnfs .Fl q と同じ。 .It soft .Fl s と同じ。 .It tcp .Fl T と同じ。 .El .It Fl q キャッシュの一貫性を保つためにプロトコルのリース拡張を NFS バージョン 3 プロトコルにて使います。 このプロトコルのバージョン 2 は Not Quite Nfs (NQNFS) と呼ばれ、 最新の NFS コードでのみサポートされています。 (4.4BSD-Lite における NQNFS のリリースとは互換性がありません。 4.4BSD-Lite NFS システムを混在させて使用する場合には、 4.4BSD-Lite ベースシステムの NFS コードをアップグレードするまで、 このオプションを使用してはなりません。) .It Fl r データのリードサイズを指定した値にします。この値は通常 1024 以上の 2 のべき乗でなければなりません。これはマウントポイント を頻繁に使っている間に、 .Dq タイムアウトで消失したフラグメント数 が大きくなっていくときに、UDP マウントに対して使います .Pf ( Xr netstat 1 を .Fl s オプション付きで使う ことで、 .Dq タイムアウトで消失したフラグメント数 の値を見ることができます)。 .Fl w オプションも参照 してください。 .It Fl s ソフトマウントを行います。これは、 タイムアウトが決められた\fBリトライ\fR回数に達すると、 システムコールが失敗することを意味します。 .It Fl t 指定した値に初期再送タイムアウト時間を設定します。パケット の消失レートの高いネットワークや負荷の高いサーバで行う UDP マウントを チューニングするときに役立ちます。 ファイルシステムがアクティブなときに .Xr nfsstat 1 が高い再送レートを示す場合には、この値を増やしてみて下さい。 一方、再送レートは低いが、応答遅延が長い場合はこの値を減らします。 (通常、-d オプションをこのオプションとともに使い、 手動でタイムアウトインターバルを調整します。) .It Fl w 指定した値にライトデータサイズを設定します。解説は .Fl r オプションと同様ですが、 .Dq タイムアウトで消失したフラグメント数 は、クライアントのかわりにサーバの値を使います。 .Fl r や .Fl w のオプションは、マウントするサーバが TCP マウントをサポートしていない場合にパフォーマンスを向上させる 最後の手段であることに注意してください。 .It Fl x ソフトマウントの再送タイムアウト回数を設定します。 .El .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 .Sh バグ Sun RPCは UDP (信頼性のないデータグラム) トランスポート層上に 実装されているため、マウントの性能をチューニングしても 限界があります。サーバが同じ LAN ケーブル上にない場合や、 サーバの負荷が高い場合には、 .Tn TCP トランスポートを使うことを強くすすめますが、 残念なことに、ほぼ 4.4BSD サーバに限られています。 diff --git a/ja/man/man8/natd.8 b/ja/man/man8/natd.8 index 390554fc43..dfab167286 100644 --- a/ja/man/man8/natd.8 +++ b/ja/man/man8/natd.8 @@ -1,426 +1,427 @@ .\" manual page [] for natd 1.4 +.\" jpman %Id% .Dd 15 April 1997 .Os FreeBSD .Dt NATD 8 .Sh 名称 .Nm natd .Nd ネットワークアドレス変換デーモン .Sh 書式 .Nm .Op Fl ldsmvu .Op Fl permanent_link .Op Fl dynamic .Op Fl i Ar inport .Op Fl o Ar outport .Op Fl p Ar port .Op Fl a Ar address .Op Fl n Ar interface .Op Fl f Ar configfile .Nm .Op Fl log .Op Fl deny_incoming .Op Fl use_sockets .Op Fl same_ports .Op Fl verbose .Op Fl unregistered_only .Op Fl permanent_link .Op Fl dynamic .Op Fl inport Ar inport .Op Fl outport Ar outport .Op Fl port Ar port .Op Fl alias_address Ar address .Op Fl interface Ar interface .Op Fl config Ar configfile .Op Fl redirect_port Ar linkspec .Op Fl redirect_address Ar localIP publicIP .Sh 解説 このプログラムは、FreeBSD における .Xr divert 4 ソケットと共に用いることによって、ネットワークアドレスの変換を 行います。 コマンドラインオプションのほとんどは、1 文字の短縮形か、長い表記が 利用できます。 見る人がはっきりと理解しやすいように、長い表記を使うことが 推奨されています。 .Pp .Nm natd は通常、デーモンとしてバックグラウンドで実行します。 .Nm はマシンに入ってくるパケット、またはマシンから出て行くパケットを 生(raw)のまま扱い、場合により IP パケットストリームに 再び送り出す前に手を加えます。 .Pp .Nm natd は他のホストへ向かうすべてのパケットについて、発信元 IP アドレスを 現在のマシンのものにする、という変換を行います。 このように変換された各パケットについて、変換内容を記録するために 内部テーブルエントリが作成されます。 発信元ポート番号も、パケットに適用したテーブルエントリを示すように 変更されます。 現在のホストの、対象となる IP アドレスを使ったパケットが受信されると、 この内部テーブルがチェックされます。 エントリが見つかると、パケットに正しい対象 IP アドレスとポート番号を 入れるのに利用されます。 .Pp 以下のコマンドラインオプションが利用できます。 .Bl -tag -width Fl .It Fl log | l 様々な alias の統計や情報をファイル .Pa /var/log/alias.log に記録します。このファイルは natd が起動されるたびに切りつめられます。 .It Fl deny_incoming | d 現在の IP アドレスへ向かうパケットのうち、内部変換テーブルに エントリの無いものを拒否します。 .It Fl use_sockets | s FTP data コネクションや IRC DCC send コネクションを確立するのに .Xr socket 2 を割り当てます。このオプションはよりシステムリソースを消費しますが、 ポート番号が衝突する場合でもコネクションが成功することを保証します。 .It Fl same_ports | m 出て行くパケットを変換する時に、できるだけポート番号を同じまま 保つようにします。このオプションにより、RPC のようなプロトコルが うまく働く可能性があがります。ポート番号を維持することができない時には、 暗黙のうちに通常と同じ方法で変換されます。 .It Fl verbose | v 起動時に .Xr fork 2 や .Xr daemon 3 を呼び出しません。よって、制御端末から切り離されずに、標準出力に すべてのパケット変換を表示します。このオプションはデバッグの目的に のみ用いるべきです。 .It Fl unregistered_only | u 登録されていない発信元アドレスを伴う出て行くパケットのみを変換します。 rfc 1918 によれば、登録されていない発信元アドレスは 10.0.0.0/8 と 172.16.0.0/12 と 192.168.0.0/16 となっています。 .It Fl redirect_port Ar linkspec 指定されたポートに入ってくるコネクションを別のホストとポートに リダイレクトします。linkspec の書式は proto targetIP:targetPORT [aliasIP:]aliasPORT [remoteIP[:remotePORT]] のようになります。proto は tcp もしくは udp 、 targetIP は希望する ( リダイレクト先 ) 対象 IP アドレス、targetPORT は希望する対象ポート番号、 aliasPORT は ( クライアントが ) 要求するポート番号、aliasIP は alias を 行うアドレスです。 remoteIP と remotePORT は、必要な場合により正確なコネクションを 指定するのに利用できます。 例えば、 .Ar tcp inside1:telnet 6666 という引数は、このマシンのポート 6666 に向けられた tcp パケットが マシン inside1 の telnet ポートに送られることを示しています。 .It Fl redirect_address Ar localIP publicIP 公式な IP アドレスへのパケットの流れを、ローカルネットワーク内の マシンにリダイレクトします。この機能は "静的 NAT (static NAT)" と 呼ばれています。 静的 NAT はあなたの ISP が IP アドレスの小さなブロックをあなたに 割り当てた時に、単一のアドレスとして用いるのにも利用できます: redirect_address 10.0.0.8 0.0.0.0 上記のコマンドは入ってくすべてのパケットをマシン 10.0.0.8 に リダイレクトします。 下記のように、いくつかのアドレス alias が同一の公式アドレスを 示すように指定すると、 redirect_address 192.168.0.2 public_addr redirect_address 192.168.0.3 public_addr redirect_address 192.168.0.4 public_addr 入ってくるパケットの流れは最後に変換されたローカルアドレス (192.168.0.4) に向けられますが、最初の二つのアドレスの出て行く パケットの流れは指定された公式アドレスへの alias のままになります。 .It Fl permanent_link Ar linkspec 内部 alias テーブルに恒久的なエントリを作成します。linkspec の書式は proto targetIP:targetPORT sourceIP:sourcePORT aliasPORT のようになります。proto は tcp もしくは udp 、 targetIP は希望する ( リダイレクト先 ) 対象 IP アドレス、 targetPORT は希望する対象 ポート番号、 sourceIP と sourcePORT は入ってくるパケットにマッチする もの、aliasPORT は ( クライアントが ) 要求するポート番号、となります。 値 0 はワイルドカードとして扱われます。例えば、 .Ar tcp inside1:telnet outside1:0 6666 はマシン outside1 ( の任意のポート ) からこのマシンのポート 6666 に 向けられた tcp パケットが、マシン inside1 の telnet ポートに送られる ことを示します。 新規に導入する場合は、代わりに redirect_port を使うようにしてください。 .It Fl dynamic .Fl n オプションや .Fl interface オプションが用いられると、 .Nm は 指定された .Ar interface へルーティングする変換ソケットを監視します。 .\" (訳注) kuriyama@opt.phys.waseda.ac.jp (Nov 29 1997) .\" 上の訳はどうも意味が通らない。原文は以下の通り。誰か直して。 .\" .Nm .\" will monitor the routing socket for alterations to the .\" .Ar interface .\" passed. .\" (訳注2) kuriyama@opt.phys.waseda.ac.jp (Jan 4 1998) .\" ちょっと直してみたけどまだ不満。 インタフェースの IP アドレスが変化すると、 .Nm は alias アドレスを動的に変更します。 .It Fl i | inport Ar inport すべてのパケットをマシンに入ってくるものとして扱い、 .Ar inport から読み込み、 .Ar inport へ書き出します。 .It Fl o | outport Ar outport すべてのパケットをマシンから出て行くものとして扱い、 .Ar outport から読み込み、 .Ar outport へ書き出します。 .It Fl p | port Ar port .Xr divert 4 によって指定されたルールを用いてパケットを識別し、入ってくるパケットを .Ar port から読み、出て行くパケットを .Ar port へ書き出します。 .Ar port が数字でない場合、関数 .Xr getservbyname 3 を用いて .Pa /etc/services データベースが検索されます。 このフラグが指定されない時には、デフォルトとして natd という名前の divert ポートが用いられます。 .Pa /etc/services データベースのエントリの例としては以下のようになります: - natd 6668/divert # Network Address Translation socket + natd 8668/divert # Network Address Translation socket より詳しい説明は、 .Xr services 5 を参照してください。 .It Fl a | alias_address Ar address alias アドレスとして .Ar address を用います。このオプションが指定されない場合は、 .Fl n オプションか .Fl interface オプションが指定されなければなりません。 指定されたアドレスは、 公開されたネットワークインタフェースに割当てられたアドレスである 必要があります。 .Pp このアドレスのインタフェースを通って出る全データのソースアドレスは .Ar address に書換えられます。 外部からこのインタフェースに到着する全データは、 既に alias された外向け接続にマッチするかどうかチェックされます。 マッチする場合、パケットはそれぞれ変換されます。 マッチしない場合、 .Fl redirect_port と .Fl redirect_address の割り当てをチェックしそれぞれの動作を行います。 他の動作が行えない場合かつ .Fl deny_incoming が指定されていない場合、 パケットに指定された通りに パケットはローカルのマシンのポートに配送されます。 .It Fl n | interface Ar interface alias アドレスを決めるのに、 .Ar interface を用います。 .Ar interface に関連づけられた IP アドレスが変化する可能性がある場合には、 .Fl dynamic フラグも指定されるべきです。 .Pp 指定された .Ar interface は公開されたネットワークインタフェースである必要があります。 .It Fl f | config Ar configfile .Ar configfile から設定を読み込みます。 .Ar configfile はオプションのリストを含み、上記のコマンドラインフラグの長い表記と 同じ物が 1 行ずつ入ります。例えば、 alias_address 158.152.17.1 という行は alias アドレスに 158.152.17.1 を指定します。 設定ファイル内では、引数を持たないオプションは .Ar yes か .Ar no を伴って指定されます。例えば、 log yes は .Fl log と同じ意味になります。空行と '#' で始まる行は無視されます。 .El .Sh NATD の実行 .Nm natd を走らせようとする前には以下の手順が必要となります: .Bl -enum .It バージョン 2.2 かそれ以上の FreeBSD を手に入れる。これより前の バージョンは .Xr divert 4 ソケットをサポートしていません。 .It 自分のカーネルを以下のオプションを付けて構築します: options IPFIREWALL options IPDIVERT 自分のカーネルを構築する方法については、ハンドブックに詳しい説明が あるのでそちらを参照してください。 .It あなたのマシンがゲートウェイとして働くようにします。これは .Pa /etc/rc.conf に gateway_enable=YES と指定するか、 sysctl -w net.inet.ip.forwarding=1 というコマンドを用いることで機能するようになります。 .It .Fl n フラグや .Fl interface フラグを使いたい場合は、そのインタフェースがすでに設定済みとなるように します。例えば、 .Ar interface として tun0 を指定しようとし、そのインタフェースで .Xr ppp 8 を使っている場合には、 .Nm natd を起動する前に .Nm ppp を起動するようにしなければなりません。 .It .Pa /etc/services にエントリ: - natd 6668/divert # Network Address Translation socket + natd 8668/divert # Network Address Translation socket を作成します。これは .Fl p フラグや .Fl port フラグのデフォルトの値となります。 .El .Pp .Nm の実行は至って簡単です。 natd -interface ed0 という行でほとんどの場合充分です(正しいインタフェース名に置き換えて ください)。 .Nm が起動されたら、パケットの流れの方向が natd の方に変わる (divert される) ようにしなければなりません: .Bl -enum .It .Pa /etc/rc.firewall スクリプトをうまく調整する必要があります。防火壁 (firewall) に 興味が無ければ、以下のようにすれば良いでしょう: /sbin/ipfw -f flush /sbin/ipfw add divert natd all from any to any via ed0 /sbin/ipfw add pass all from any to any 2 番目の行はあなたのインタフェースに依ります (ed0 を適切に 変更してください)。 また、前項のように .Pa /etc/services に natd のエントリが入るように更新されていると仮定します。 本物の防火壁ルールを指定する場合、スクリプトの先頭で上記の 2 行目を 指定すると良いでしょう。 そうすることによって、防火壁により排除されてしまう前に、 .Nm がすべてのパケットを見ることができるようになります。 すべての divert ルールを除き、 .Nm により変換された各パケットには再び防火壁のルールが適用されます。 .It .Pa /etc/rc.conf で firewall_enable=YES と設定し、防火壁を作動させます。これはシステムの起動時のスクリプトに .Pa /etc/rc.firewall スクリプトを実行するように伝えます。 今すぐ再起動したくない場合には、コンソールから手で実行してください。 バックグラウンドで実行させるのでない限り、これは決して仮想セッションから 行ってはいけません。もし実行させてしまうと、flush が行われた後に あなたは締め出されてしまい、すべてのアクセスを永久に遮断するために この地点で .Pa /etc/rc.firewall の実行は止まってしまいます。スクリプトをバックグラウンドで実行すれば、 この災害を避けることができます。 .El .Sh 関連項目 .Xr getservbyname 2 , .Xr socket 2 , .Xr divert 4 , .Xr services 5 , .Xr ipfw 8 .Sh 作者 このプログラムは、多くの人々の細切れの努力の結果です: Divert ソケット: Archie Cobbs パケット alias: Charles Mott IRC サポート & その他の追加: Eivind Eklund Natd: Ari Suutari まとめ役: Brian Somers diff --git a/ja/man/man8/pppstats.8 b/ja/man/man8/pppstats.8 index 678ac96a3e..e2d0ddefdf 100644 --- a/ja/man/man8/pppstats.8 +++ b/ja/man/man8/pppstats.8 @@ -1,46 +1,207 @@ -.\" @(#) %Id: pppstats.8,v 1.3.2.2 1997/03/15 21:23:40 bde Exp % +.\" %Id: pppstats.8,v 1.3.2.3 1998/06/23 21:48:49 peter Exp % .\" jpman %Id: pppstats.8,v 1.2 1997/05/23 09:03:43 mitchy Stab % -.Dd May 2, 1995 -.Dt PPPSTATS 8 -.Sh 名称 -.Nm pppstats -.Nd PPP の利用統計を表示する -.Sh 書式 -.Nm -.Op Fl v -.Op Fl r -.Op Fl c -.Op Fl i Ar secs -.Op Ar unit# -.Sh 解説 -.Nm pppstats -は、PPP に関連した統計情報を表示します。 -.Pp -.Fl v -オプションを指定すると -.Nm -は、通常の情報に加え、追加情報を表示します。 -たとえば、エラーのために発信元に戻ったパケット数です -(VJ TCP ヘッダ圧縮で伸長に失敗した数です)。 -.Pp -.Fl r -オプションを指定すると -.Nm -は、全体のパケットの圧縮率を表示します。圧縮率は、 -0 から 1 の値で表され、 0 はデータが圧縮できないことを意味します。 -.Pp -.Fl c -オプションは、パケット圧縮の統計の別の表示法を指定します: -圧縮、伸長されたパケットの数およびバイト数 (すなわち圧縮前と圧縮後の値)、 -圧縮できなかった (圧縮で小さくならないため無圧縮で送られた) -パケットの数およびバイト数、最近の圧縮率が表示されます。 -圧縮率は、圧縮が許可されてから以降の平均の値ではなく、最近の圧縮率を -反映したものです。 -.Pp -.Fl i -オプションは、統計情報の表示の間隔を指定します。無指定時は 5 秒です。 -.Pp -.Ar unit# -は、統計情報を表示するインターフェースを指定します。 -.Sh 関連項目 -.Xr pppd 8 +.\" +.TH PPPSTATS 8 "26 June 1995" +.SH 名称 +pppstats \- PPP の利用統計を表示する +.SH 書式 +.B pppstats +[ +.B -a +] [ +.B -v +] [ +.B -r +] [ +.B -z +] [ +.B -c +.I +] [ +.B -w +.I +] [ +.I interface +] +.ti 12 +.SH 解説 +.B pppstats +は、指定した PPP インタフェースについて、 +PPP に関連した統計情報を一定間隔で表示します。 +インタフェースは無指定の場合は ppp0 になります。 +表示は入力と出力のセクションに横方向に分割され、 +それぞれのセクションで、 +そのインタフェースで入出力されたパケットの属性と大きさの統計値を示します。 +.PP +オプションには以下のものがあります: +.TP +.B -a +差分ではなく絶対値を表示するようにします。 +このオプションを指定すると、 +すべてのレポートは +リンクが成立してからの統計値を表示するようになります。 +このオプションが未指定なら、 +2 回目とそれ以降のレポートが、 +前回のレポートからの統計を表示するようになります。 +.TP +.B -c \fIcount +表示を +.I count +回繰り返します。 +このオプションが指定されない場合、 +.B -w +オプションが指定されていれば無限に繰り返し、 +さもなくば 1 回だけ表示されます。 +.TP +.B -r +使用中のパケット圧縮アルゴリズムによる圧縮率の統計値を要約して +追加表示します。 +.TP +.B -v +Van Jacobson TCP ヘッダ圧縮アルゴリズムのパフォーマンスに関する +統計値を追加表示します。 +.TP +.B -w \fIwait +繰り返して表示する際の間隔を +.B -w \fIwait +秒にします。 +無指定時は 5 秒です。 +.TP +.B -z +通常の表示に替えて、 +使用中のパケット圧縮アルゴリズムの性能の統計値を表示します。 +.PP +.B -z +オプションが指定されない場合、入力側には以下の項目が表示されます: +.TP +.B IN +このインタフェースで受信した総バイト数。 +.TP +.B PACK +このインタフェースで受信したパケットの総数。 +.TP +.B VJCOMP +このインタフェースで受信した、ヘッダ圧縮された TCP パケットの数。 +.TP +.B VJUNC +このインタフェースで受信した、ヘッダの圧縮されていない TCP パケットの数。 +.B -r +オプションが指定されたときは表示されません。 +.TP +.B VJERR +このインタフェースで受信した、 +破損した、あるいは不正にヘッダが圧縮された TCP パケットの数。 +.B -r +オプションが指定されたときは表示されません。 +.TP +.B VJTOSS +先行するエラーで受理されずに落された、 +VJ ヘッダ圧縮された TCP パケットの数。 +.B -v +オプションが指定されたときだけ表示されます。 +.TP +.B NON-VJ +このインタフェースで受信した非 TCP パケットの総数。 +.B -v +オプションが指定されたときだけ表示されます。 +.TP +.B RATIO +使用中のパケット圧縮方法で達成された、 +受信パケットの、圧縮時に対する非圧縮時の大きさの比率で表した圧縮率。 +.B -r +オプションが指定されたときだけ表示されます。 +.TP +.B UBYTE +受信した圧縮パケットの展開後のバイト総数。 +.B -r +オプションが指定されたときだけ表示されます。 +.PP +出力側には以下の項目が表示されます: +.TP +.B OUT +このインタフェースから送信された総バイト数。 +.TP +.B PACK +このインタフェースから送信した総パケット数。 +.TP +.B VJCOMP +このインタフェースから送信された、 +TCP ヘッダを VJ 圧縮した TCP パケットの数。 +.TP +.B VJUNC +このインタフェースから送信された、 +TCP ヘッダを VJ 圧縮していない TCP パケットの数。 +.B -r +オプションが指定されたときは表示されません。 +.TP +.B NON-VJ +このインタフェースから送信された非 TCP パケットの総数。 +.B -r +オプションが指定されたときは表示されません。 +.TP +.B VJSRCH +VJ ヘッダ圧縮パケットのヘッダエントリをキャッシュで探索した回数。 +.B -v +オプションが指定されているときだけ表示されます。 +.TP +.B VJMISS +VJ ヘッダ圧縮パケットのヘッダエントリをキャッシュで探索して失敗した回数。 +.B -v +オプションが指定されているときだけ表示されます。 +.TP +.B RATIO +使用中のパケット圧縮方法で達成された、送信パケットの、 +圧縮後に対する圧縮前の大きさの比率で表した圧縮率。 +.B -r +オプションが指定されているときだけ表示されます。 +.TP +.B UBYTE +送信した圧縮パケットの圧縮前のバイト総数。 +.B -r +オプションが指定されているときだけ表示されます。 +.PP +.B -z +オプションが指定されている場合は、 +.B pppstats +は上記のものに替えて、 +現在使用中のパケット圧縮アルゴリズムについて以下の項目を表示します。 +パケット圧縮が使用されていない場合は、これらの項目はすべて 0 になります。 +入力側で表示される項目は: +.TP +.B COMPRESSED BYTE +受信した圧縮パケットのバイト数。 +.TP +.B COMPRESSED PACK +受信した圧縮パケットの数。 +.TP +.B INCOMPRESSIBLE BYTE +受信した圧縮不可能な (非圧縮形式で送られた) パケットのバイト数。 +.TP +.B INCOMPRESSIBLE PACK +受信した非圧縮パケットの数。 +.TP +.B COMP RATIO +(圧縮可能なものと不可能なものの両方を含めた) +圧縮後に対する圧縮前の大きさの比率で表した、 +受信パケットの目下の圧縮率。 +.PP +出力側で表示される項目は: +.TP +.B COMPRESSED BYTE +送信された圧縮パケットのバイト数。 +.TP +.B COMPRESSED PACK +送信された圧縮パケットの数。 +.TP +.B INCOMPRESSIBLE BYTE +送信された +(非圧縮の形式で送信された) +圧縮不可能なパケットのバイト数。 +.TP +.B INCOMPRESSIBLE PACK +送信された圧縮不可能なパケットの数。 +.TP +.B COMP RATIO +外へ出て行くパケットの目下の圧縮率。 +.SH 関連項目 +pppd(8) diff --git a/ja_JP.eucJP/man/man1/pkg_add.1 b/ja_JP.eucJP/man/man1/pkg_add.1 index 39f7c8f28f..7ecb07530d 100644 --- a/ja_JP.eucJP/man/man1/pkg_add.1 +++ b/ja_JP.eucJP/man/man1/pkg_add.1 @@ -1,379 +1,423 @@ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_add.1 .\" jpman %Id: pkg_add.1,v 1.3 1997/06/09 04:19:05 jsakai Stab % +.\" jpman: based on the version on releng22:2.2-980710-SNAP .\" .Dd November 25, 1994 .Dt pkg_add 1 .Os FreeBSD .Sh 名称 .Nm pkg_add .Nd ソフトウェア配布パッケージをインストールするプログラム .Sh 書式 .Nm .Op Fl vInfRMS .Op Fl t Ar template .Op Fl p Ar prefix .Ar pkg-name [pkg-name ...] .Sh 解説 .Nm コマンドは、 .Xr pkg_create 1 コマンドにより作成されたパッケージを展開するのに用いられます。 .Sh 警告 .Bf -emphasis .Nm コマンドはパッケージファイルに含まれるスクリプトやプログラムを 実行することがあるので、あなたのシステムは、危険な配布ファイルを 作る極悪人からの「トロイの木馬」や他の巧妙な攻撃などを受ける 可能性があります。 .Pp パッケージファイルを提供する人物の能力と身元を確認するとよいでしょう。 より進んだ安全のためには、パッケージを展開するのに .Fl M フラグを用い、その内容と、スクリプトがシステムに害をおよぼさないかを 確認します。 +INSTALL 、 +DEINSTALL 、 +REQUIRE 、 +MTREE_DIRS の各ファイルには 特に注意を払い、+CONTENTS ファイルの .Cm @cwd 、 .Cm @mode (setuid をチェック)、 .Cm @dirrm 、 .Cm @exec 、 .Cm @unexec ディレクティブを調べてください。 パッケージファイルを調べるのには .Xr pkg_info 1 コマンドも使えます。 .Ef .Sh オプション 以下のコマンドラインオプションが提供されています: .Bl -tag -width indent .It Ar pkg-name [... pkg-name] 指定されたパッケージがインストールされます。 - という名前が指定されると、 .Nm は stdin から読み込みます。 パッケージがカレントディレクトリに見つからないと、 .Nm は .Ev PKG_PATH で指定された各ディレクトリを探します。 .It Fl v 饒舌な出力に切り替えます。 .It Fl I パッケージにインストール用スクリプトが存在しても、それを実行しません。 .It Fl n 実際にはインストールを行わず、インストールした場合に実行されるであろう ステップを表示します。 .It Fl R パッケージのインストール結果を記録しません。 このオプションは、後でアンインストールすることを不可能にするため、 自分が何をしているかを理解している人のみ使ってください。 .It Fl f あらかじめ必要なパッケージがインストールされていなかったり、 requirements スクリプトが失敗した場合にも強制的にインストールします。 これは .Nm が見つからない必要なパッケージを探して自動的にインストールすることを 止めるわけではなく、見つからない場合でも中断しないようにします。 .It Fl p Ar prefix パッケージからファイルを展開するディレクトリの前に .Ar prefix を付けます。 パッケージがデフォルトディレクトリを保持している場合には、 このオプションで変更できます。 .Nm はディレクトリ設定が相対的に行われているか、絶対的に行われているか を知る術がないので、最初の .Cm @cwd ディレクティブのみが変更されることに注意してください。 複数回のディレクトリ変更が行われることはまれですが、 実際にあった場合、すべてのディレクトリ変更を制御したくなる でしょう。この場合、 .Cm MASTER モード、 .Cm SLAVE モードの使用を検討してみてください (オプション .Fl M と .Fl S を参照)。 .It Fl t Ar template ``作業領域'' を作成する際に、 .Xr mktemp 3 への入力として .Ar template を用います。 これはデフォルトでは .Pa /var/tmp/instmp.XXXXXX という文字列ですが、 .Pa /var/tmp ディレクトリの容量が制限されているような状況では 変更する必要があるかもしれません。 .Xr mktemp 3 が一意の ID を用いるために必要な `X' の文字をいくつか残しておく ことを忘れないでください。 .Pp 作業領域 .Ar template をパッケージファイルがインストールされるディレクトリと同じディスク パーティションに設定することによって、パフォーマンスを高めることが 可能です (大抵は .Pa /usr )。 .It Fl M .Cm MASTER モードで実行します。これは .Nm のとても特殊な実行モードであり、 .Cm SLAVE モードと共に実行しなければなりません。 このモードで実行されると、 .Nm は一時的な作業領域 ( .Fl t オプションを参照) へパッケージを展開する以上のことはせず、 現在の作業領域ディレクトリ名を頭に付加した packing list を標準出力に 出力します(標準出力は .Xr sed 1 のようなプログラムにフィルタされているかもしれません)。 .Cm SLAVE モードと共に用いると、中身を処理する前にパッケージ構造に 大きな変更を加えることが可能になります。 .It Fl S .Cm SLAVE モードで実行します。これは .Nm のとても特殊な実行モードであり、 .Cm MASTER モードと共に実行しなければなりません。 このモードで実行されると、 .Nm はパッケージの内容がすでに作業領域に展開され、その場所が 標準入力から文字列として入力されることを想定します。 完全な packing list も stdin から読み込まれ、その後中身が 通常どおり処理されます。 .El .Pp 一つ以上の .Ar pkg-name 引数を指定することが可能で、それらはパッケージを含むファイル名(通常 拡張子 ``.tgz'' で終わります)か、ftp サイトにあるファイルを 示す URL のどちらかになります。 したがって、anonymous ftp から直接ファイルを展開することが 可能です (例えば .Nm ftp://ftp.freebsd.org/pub/FreeBSD/packages/shells/bash-1.14.4.tgz )。 注意: もし上記のような転送で用いる ftp で .Bf -emphasis passive mode .Ef を利用したいなら、環境変数 .Bf -emphasis FTP_PASSIVE_MODE .Ef に何らかの値を設定する必要があります。 そうでなければ、より一般的な ACTIVE モードが利用されます。 もしうまく動作していることがわかっているサイトからパッケージを 得ようとして .Nm が常に失敗する場合、あなたが .Bf -emphasis passive mode .Ef の ftp を使う必要のあるファイアウォールの中にいるのが原因である場合が あります。 .Sh 技術詳細 .Nm -はきわめて単純です。各パッケージの "packing list" を /tmp 内 -($PKG_TMPDIR が設定されていればそこ)の特別な作業ディレクトリに展開し、 +はきわめて単純です。各パッケージの "packing list" を +特別な作業ディレクトリに展開し、 中身を解析し、内容を完全に展開するために 以下の手順を実行します: .Bl -enum -indent indent .It パッケージがすでにインストールされている、と記録されているかどうかを チェックします。もしそうならインストールを中断します。 .It .Cm @pkgdep ディレクティブ ( .Xr pkg_create 1 を参照) による パッケージのすべての依存関係をチェックし、各々が存在するかどうかを 確認します。もし存在しなければ、足りないパッケージを見つけて自動的に インストールしようとします。もし見つからなければ、 インストールを中断します。 .It パッケージがどのようにシステムに追加されるかを制御する .Cm @option ディレクティブを検索します。このマニュアルページを書いている時点では、 実装されているオプションは .Cm @option extract-in-place のみであり、これは .Pa /tmp 内の作業領域を経由しないで、 パッケージを最終的なディレクトリに直接展開するようにします。 .It .Cm @option extract-in-place が指定されていれば、パッケージは最終的な場所に直接展開され、 そうでなければ作業領域内に展開されます。 .It パッケージが .Ar require ファイル ( .Xr pkg_create 1 を参照) を含んでいる場合、そのファイルを以下の引数を付けて実行します: .Bd -filled -offset indent -compact .Ar pkg-name .Ar INSTALL .Ed ここで .Ar pkg-name は問題としているパッケージの名前であり、 .Ar INSTALL キーワードはインストールの requirements チェックであることを 示しています (これは複数の機能を提供するひとつのスクリプトを 用いようとする場合に有用です)。 .It パッケージに .Ar install スクリプトが存在する場合、以下の引数を付けて実行されます: .Bd -filled -offset indent -compact .Ar pkg-name .Ar PRE-INSTALL .Ed ここで .Ar pkg-name は問題としているパッケージの名前であり、 .Ar PRE-INSTALL はこれがインストール前のステップであることを示すキーワードです。 .It .Cm @option extract-in-place が指定されていない場合、packing list ( .Pa +CONTENTS ファイル) が作業領域から最終的な場所に ファイルを移動 (必要ならコピー) するために参照されます。 .It パッケージが .Ar mtreefile ファイル ( .Xr pkg_create 1 を参照) を含む場合、mtree が以下の引数を付けて実行されます: .Bd -filled -offset indent -compact .Cm mtree .Fl u .Fl f .Ar mtreefile .Fl d .Fl e .Fl p .Pa prefix .Ed ここで .Pa prefix は .Fl p フラグが指定されていればその prefix、 .Fl p フラグが指定されていない場合にはこのパッケージの最初の .Cm @cwd ディレクティブのディレクトリ名が prefix になります。 .It パッケージに .Ar install スクリプトが含まれる場合、 .Bd -filled -offset indent -compact .Cm script .Ar pkg-name .Ar POST-INSTALL .Ed として実行されます。これによりインストール前とインストール後の 両方の手続きをこなす一つの .Ar install スクリプトを用いることが可能になります。 .It インストールが終了すると、後で .Xr pkg_delete 1 で使うために packing list 、 .Ar deinstall スクリプト、 description 、 display の各ファイルが .Pa /var/db/pkg/ にコピーされます。 パッケージの依存関係は、他のパッケージの .Pa /var/db/pkg//+REQUIRED_BY ファイル (PKG_DBDIR 環境変数が設定してある場合、上記の .Pa /var/db/pkg/ が置き換えられます) に記録されます。 .It 最後に、作業領域が削除されプログラムは終了します。 .El .Pp すべてのスクリプトは環境変数 .Ev PKG_PREFIX にインストール時の prefix ( 前述の .Fl p オプションを参照) が設定された状態で実行されます。 このことにより、パッケージの作者は .Cm pkg_add の .Fl p フラグによりパッケージがインストールされるディレクトリが 変更されても、きちんとふるまうスクリプトを書くことが可能になります。 .Sh 環境変数 .Ev PKG_PATH の値は、指定されたパッケージが見つからない時に用いられます。 環境変数はコロンで区切られた一連のエントリです。 各エントリはディレクトリ名からなります。 カレントディレクトリは空欄のディレクトリ名で暗黙のうちに指定されるか、 一つのピリオドで明示的に指定します。 +.Pp +環境変数 +.Ev PKG_DBDIR +は、インストールされたパッケージについてのデータベースの位置を指定します。 +.Pp +.Nm +が作業領域の生成を試みる作業用ディレクトリの名前は、環境変数 +.Ev PKG_TMPDIR +と +.Ev TMPDIR +とから(この順で)取られます。 +これらの変数が存在しないか、指定されたディレクトリに十分な空き容量が +ない場合、 +.Nm +は、 +.Pa /var/tmp +、 +.Pa /tmp +、 +.Pa /usr/tmp +のうちで、十分な空き容量を持つ最初のディレクトリを使います。 +.Sh ファイル +.Bl -tag -width /var/db/pkg -compact +.It Pa /var/tmp +環境変数 +.Ev PKG_TMPDIR +と +.Ev TMPDIR +のどちらも適切なディレクトリを指定しない場合に、作業領域を作成するため +に用いる作業用ディレクトリ。 +.It Pa /tmp +.Pa /var/tmp +が存在しないか、十分な空き容量を持たない場合、その次に選ばれる +ディレクトリ。 +.It Pa /usr/tmp +.Pa /var/tmp +と +.Pa /tmp +のどちらも作業領域を作成するには適切でない場合、最後に選ばれる +ディレクトリ。 +.It Pa /var/db/pkg +インストールされたパッケージについてのデータベースのデフォルトの位置。 +.El .Sh 関連項目 .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr mktemp 3 , .Xr sysconf 3 , .Xr mtree 8 .Sh 作者 .Bl -tag -width indent -compact .It "Jordan Hubbard" 最初の仕事およびそれに続く開発。 .It "John Kohl" NetBSD 向け改良。 .El .Sh バグ 配布物のファイル間のハードリンクは、 (1) 作業領域が、ファイルへのすべてのリンクの最終的な ディレクトリと同じファイルシステムの場合もしくは、 (2) ファイルへのすべてのリンクが contents ファイル内で .Cm @cwd ディレクティブで括られている場合にのみ保存されます。 .Em さらに その上、リンク名は単一の .Cm tar コマンド ( .Fn sysconf _SC_ARG_MAX により返される値に依存する実行時の引数の長さの制限により、複数の 実行には分割できません) で展開されなければなりません。 .Pp バグは他にもあるはずです。 diff --git a/ja_JP.eucJP/man/man1/pkg_create.1 b/ja_JP.eucJP/man/man1/pkg_create.1 index a1e9ca8b08..902096b320 100644 --- a/ja_JP.eucJP/man/man1/pkg_create.1 +++ b/ja_JP.eucJP/man/man1/pkg_create.1 @@ -1,411 +1,440 @@ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_create.1 .\" jpman %Id: pkg_create.1,v 1.3 1997/06/09 10:11:56 jsakai Stab % -.\" %Id: pkg_create.1,v 1.16.2.8 1998/05/24 03:13:00 steve Exp % +.\" %Id: pkg_create.1,v 1.16.2.9 1998/07/06 12:15:21 jkoshy Exp % .\" .\" hacked up by John Kohl for NetBSD--fixed a few bugs, extended keywords, .\" added dependency tracking, etc. .\" .\" [jkh] Took John's changes back and made some additional extensions for .\" better integration with FreeBSD's new ports collection. .\" .Dd April 21, 1995 .Dt pkg_create 1 .Os FreeBSD .Sh 名称 .Nm pkg_create .Nd ソフトウェア配布パッケージを作成するプログラム .Sh 書式 .Nm .Op Fl YNOhv .Op Fl P Ar pkgs .Op Fl p Ar prefix .Op Fl f Ar contents .Op Fl i Ar iscript .Op Fl k Ar dscript .Op Fl r Ar rscript .Op Fl s Ar rscript .Op Fl t Ar template .Op Fl X Ar excludefile .Op Fl D Ar displayfile .Op Fl m Ar mtreefile .Fl c Ar comment .Fl d Ar description .Fl f Ar packlist .Ar pkg-name .Sh 解説 この .Nm コマンドは、パッケージ展開/情報プログラムに渡されるパッケージを 作成します。 パッケージ作成のために入力する説明とコマンドライン引数 は本来人間が生成することを意図していませんが、 そうすることも簡単にできます。 自力でどうにかすることも可能ですが、作成にはフロントエンドツールを 用いた方がいいでしょう。 とはいうものの、入力書式の概略はこの文書に含まれています。 .Sh オプション 以下のコマンドラインオプションが提供されています: .Bl -tag -width indent .It Fl f Ar packinglist ファイル .Ar packinglist から、もしくは .Ar packinglist が .Cm - (ダッシュ)であれば .Cm stdin から、パッケージ用の ``packing list'' を取得します。 .It Fl c Ar [-]desc ファイル .Ar desc から、もしくは先頭が .Cm - で始まっていれば引数自身から、パッケージの ``一行説明'' を取得します。 この文字列は、パッケージが提供するもののバージョンを知る 手がかりとなるべきです。 .It Fl d Ar [-]desc ファイル .Ar desc から、もしくは先頭が .Cm - で始まっていれば引数自身から、パッケージの長い説明を取得します。 .It Fl Y 質問に対してのデフォルトの解答を `Yes' とします。 .It Fl N 質問に対してのデフォルトの解答を `No' とします。 .It Fl O `packing list Only' モードに移行します。 これは .Em "FreeBSD Ports Collection" のための特別な修正であり、port がインストールされる時の `fake pkg_add' を行うために用いられます。 このような場合には、調整された最終的な packing list が どのようなものになるかを知る必要があるのです。 .It Fl v 饒舌な出力に切り替えます。 .It Fl h tar がシンボリックリンクをたどるようにします。 この結果、リンク自身ではなくリンク先のファイルが出力されます。 .It Fl i Ar iscript パッケージのインストール手続きとして .Ar iscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これはパッケージがインストールされる時に自動的に起動されます。 .It Fl P Ar pkgs 初期のパッケージ依存リストとして .Ar pkgs を用います。 これはホワイトスペースで区切られたパッケージの名前となります。 また、packing list (後述の「PACKING LIST 詳細」セクションを参照) 内の複数の .Cm @pkgdep ディレクティブを指定する手っ取り早い方法でもあります。 .It Fl p Ar prefix パッケージのファイルを選択する際に基準となる初期ディレクトリとして .Ar prefix を用います。 .It Fl k Ar dscript パッケージのアンインストール手続きとして .Ar dscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これはパッケージがアンインストールされる時に自動的に起動されます。 .It Fl r Ar rscript パッケージの ``requirements'' 手続きとして .Ar rscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これはインストール時、アンインストール時に自動的に起動され、 インストール、アンインストールを継続するべきかどうかを決定するのに 用いられます。 .It Fl s Ar srcdir パッケージ作成中に .Ar srcdir は、 .Cm @cwd の値に優先します。 .It Fl t Ar template .Xr mktemp 3 への入力として .Ar template を用います。 これはデフォルトでは .Pa /tmp/instmp.XXXXXX という文字列ですが、 .Pa /tmp ディレクトリの容量が制限されているような状況では 変更する必要があるかもしれません。 .Xr mktemp 3 が一意の ID を用いるために必要な `X' の文字をいくつか残しておく ことを忘れないでください。 .It Fl X Ar excludefile 最終的にパッケージを作成する際に、 .Ar excludefile を .Cm tar に .Fl exclude-from 引数として渡します。 このオプションを使うにあたっての詳しい情報は、 .Cm tar のマニュアルページ (もしくは .Fl -help 引数を付けて .Cm tar を実行) を参照してください。 .It Fl D Ar displayfile パッケージをインストールした後にファイルを ( .Xr more 1 を用いて) 表示します。 「ほとんど free なソフトウェア」などにおいて、 法的な通知のようなものなどに便利でしょう。 .It Fl m Ar mtreefile パッケージがインストールされる前に、mtreefile を入力として .Xr mtree 8 を実行します。mtree は .Cm mtree .Fl u .Fl f .Ar mtreefile .Fl d .Fl e .Fl p .Pa prefix として起動されます (ただし .Pa prefix は .Cm @cwd ディレクティブにより名付けられた最初のディレクトリの名前)。 .El .Pp .Sh PACKING LIST 詳細 ``packing list'' の書式 ( .Fl f を参照) は単純で、パッケージに含めるファイル名を一行につきひとつずつ 並べたものにすぎません。 どこにインストールされるかわからないパッケージに対して絶対パスを 用いるのは一般的に悪い方法なので、 どこにインストールされることを想定しているのか、 そしてどんな ownership と mode を伴ってインストールされるべきなのか (こちらはオプション) を指定する方法が用意されています。 これは packing list 内に一連の特殊コマンドを 埋め込むことで実現されています。以下に簡単に示します: .Bl -tag -width indent -compact .It Cm @cwd Ar directory 内部のディレクトリポインタが .Ar directory を指すようにします。以降のファイル名はこのディレクトリへの相対パス であるとみなされます。 .Cm @cd はこのコマンドの別名です。 .It Cm @srcdir Ar directory 「作成時のみ」の内部ディレクトリポインタを .Ar directory に設定します。 パッケージ作成時に .Cm @cwd に優先すると言えますが、展開時にはこれはあてはまりません。 .It Cm @exec Ar command 展開処理の一環として .Ar command を実行します。 .Ar command が以下の文字列を含んでいた場合、その場で置換されます。 以下の例では .Cm @cwd が .Pa /usr/local と設定されていて、最後に展開されたファイルが .Pa bin/emacs だったとしています。 .Bl -tag -width indent -compact .It Cm "%F" 最後に展開されたファイル名に置換されます。この例では .Pa bin/emacs となります。 .It Cm "%D" .Cm @cwd で設定されたカレントディレクトリプレフィックスに置換されます。 この例では .Pa /usr/local になります。 .It Cm "%B" 完全な(フルパスの)ファイル名の ``basename'' へ置換されます。 これはカレントディレクトリプレフィックスに最後の filespec を 加え、末尾のファイル名部分を除いたものです。 この例では、 .Pa /usr/local/bin になります。 .It Cm "%f" 完全な (フルパスを含む) ファイル名の ``filename'' 部分へ置換されます。 .Cm %B と対応していて、この例では .Pa emacs となります。 .El .It Cm @unexec Ar command アンインストール処理の一環として .Ar command を実行します。特別な .Cm % 文字列の置換は .Cm @exec と同様です。 このコマンドは .Cm @exec のようにパッケージを加える際に実行されるのではなく、パッケージが 削除されるときに実行されます。 これは、パッケージを加えるときに作られたリンクや他の 付随ファイル (パッケージの内容一覧に記されているファイルは自動的に 削除されるので除く) を削除するのに便利です。 アンインストールスクリプトよりも .Cm @unexec を用いる方が有利な点は、どこにインストールされているかわからない ( .Fl p を参照) ファイルの場所を得るのに ``特殊文字列置換'' を用いることが 可能なことです。 .It Cm @mode Ar mode この後で展開されるすべてのファイルのデフォルトの許可属性を .Ar mode に設定します。 書式は .Cm chmod コマンドで用いられているものと同じです (というよりも、そのまま 渡されています)。 引数無しで用いると、デフォルトの(展開)許可属性に戻します。 .It Cm @option Ar option 内部用パッケージオプションを設定します。 現在二つのオプションのみがサポートされています。 ひとつは .Ar extract-in-place で、これは pkg_add コマンドにパッケージの tarball を staging area に展開せずに、目的の階層に直接展開するよう指示します (これは主に配布物や他の特殊なパッケージなどに用いられます)。 もうひとつは .Ar preserve で、存在するファイルを別の所に保存しておくよう pkg_add に指示します (これらは pkg_delete の時に復活しますが、自分の責任で行ってください)。 .It Cm @owner Ar user この後で展開されるすべてのファイルのデフォルトの ownership を .Ar user に設定します。 引数無しで用いると、デフォルトの(展開) ownership に戻します。 .It Cm @group Ar group この後で展開されるすべてのファイルのデフォルトの group ownership を .Ar group に設定します。 引数無しで用いると、デフォルトの(展開) group ownership に戻します。 .It Cm @comment Ar string packing list 内にコメントを埋め込みます。 誰かが後で間違えてしまうかもしれない特に厄介な部分を説明しようとする 場合に便利です。 .It Cm @ignore 特殊な目的に使われるファイルなどのため、展開時に次のファイルを 無視する (どこにもコピーしない) ように、内部で用いられます。 .It Cm @ignore_inst .Cm @ignore と同様ですが、次のファイルを無視するのは一評価サイクルだけ 遅らせられます。 このおかげでこのディレクティブを .Ar packinglist ファイル内で用いることが可能になるので、インストーラが 無視するような、インストールスクリプトなどのための特殊な データファイルを、配布物内に入れることができるようになります。 .It Cm @name Ar name パッケージの名前を設定します。 これは必須項目であり、通常先頭に置かれます。 この名前はパッケージが提供するファイルの名前とは異なる可能性があり、 後でアンインストールする時のために パッケージの記録を残しておくのに使われます。 名前が指定されなかった場合には、 .Nm はパッケージ名から推定し、自動的に設定することに注意してください。 .It Cm @dirrm Ar name ディレクトリ .Pa name がアンインストール時に削除されるよう宣言します。デフォルトでは、 パッケージのインストール時に作成されたディレクトリは アンインストール時には削除されませんが、このディレクティブは明示的な ディレクトリ削除方法を提供します。 このディレクティブはパッケージリストの最後で用いるようにしてください。 一つ以上の .Cm @dirrm ディレクティブが指定された場合、指定された順番に削除されます。 .Pa name は空きディレクトリでなければ削除されません。 .It Cm @mtree Ar name .Pa name を、インストール時に用いられる .Xr mtree 8 への入力ファイルとして宣言します (上述の .Fl m を参照)。最初にひとつだけ .Cm @mtree ディレクティブを指定することが推奨されます。 .It Cm @display Ar name .Pa name を、インストール時に表示されるファイルとして宣言します (上述の .Fl D を参照)。 .It Cm @pkgdep Ar pkgname パッケージ .Ar pkgname に依存することを宣言します。 パッケージ .Ar pkgname はこのパッケージがインストールされる前にインストールされていなければ ならず、またこのパッケージはパッケージ .Ar pkgname がアンインストールされる前にアンインストールされなければなりません。 パッケージが複数のパッケージに依存する場合には、複数の .Cm @pkgdep ディレクティブが用いられます。 +.Sh 環境変数 +環境変数 +.Ev PKG_TMPDIR +で、 +.Nm +が作業用ファイルの生成を試みるディレクトリの名前を指定します。 +.Ev PKG_TMPDIR +が設定されていない場合、 +.Ev TMPDIR +で指定されたディレクトリが使用されます。 +.Ev PKG_TMPDIR +、 +.Ev TMPDIR +ともに設定されていない場合は、組み込みのデフォルトディレクトリが +使用されます。 +.Sh ファイル +.Bl -tag -width /usr/tmp -compact +.It Pa /var/tmp +環境変数 +.Ev PKG_TMPDIR +、 +.Ev TMPDIR +がともに設定されていない場合の作業用ディレクトリ。 +.It Pa /tmp +.Pa /var/tmp +が存在しない場合の、その次の選択肢。 +.It Pa /usr/tmp +.Pa /tmp +が適切でない場合の、最後の選択肢。 .El .Sh 関連項目 .Xr pkg_add 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr sysconf 3 . .Sh 歴史 .Nm コマンドは FreeBSD で最初に登場しました。 .Sh 作者 .Bl -tag -width indent -compact .It "Jordan Hubbard" ほとんどの仕事 .It "John Kohl" NetBSD 向け修正 .El .Sh バグ パッケージが展開される際にハードリンクを保存しておくために、 配布物のファイル間でのハードリンクは .Cm @cwd ディレクティブで括られていなければなりません。 その上、実行時の引数の長さの制限 (これは .Fn sysconf _SC_ARG_MAX により返される値に依存します) のために、それらのハードリンクは単一の .Cm tar 実行内で行われなければなりません。 .Pp バグは他にもあるはずです。 diff --git a/ja_JP.eucJP/man/man1/pkg_info.1 b/ja_JP.eucJP/man/man1/pkg_info.1 index 309a844856..3f822f156e 100644 --- a/ja_JP.eucJP/man/man1/pkg_info.1 +++ b/ja_JP.eucJP/man/man1/pkg_info.1 @@ -1,135 +1,174 @@ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_info.1 .\" jpman %Id: pkg_info.1,v 1.3 1997/06/08 14:11:48 jsakai Stab % +.\" jpman: based on the version of releng22:2.2-980710-SNAP .\" .Dd November 25, 1994 .Dt pkg_info 1 .Os FreeBSD .Sh 名称 .Nm pkg_info .Nd ソフトウェア配布パッケージの情報を表示するプログラム .Sh 書式 .Nm pkg_info .Op Fl cdDikrRpLqImv .Op Fl e Ar package .Op Fl l Ar prefix .Ar pkg-name [pkg-name ...] .Nm pkg_info .Fl a .Op Ar flags .Sh 解説 .Nm コマンドはファイル中に納められたパッケージや .Xr pkg_create 1 によりすでにシステムにインストールされたパッケージの情報を表示するために 用いられます。 .Sh オプション 以下のコマンドラインオプションが提供されています。 .Bl -tag -width indent .It Ar pkg-name ... 指定されたパッケージが表示されます。指定されるのはイントール済みの パッケージの名前か、パッケージ配布ファイルへのパス、ftp 可能な パッケージへの URL のいずれかになります。 .It Fl a 現在インストールされているすべてのパッケージを表示します。 .It Fl v 饒舌な出力に切り替えます。 .It Fl p 各パッケージのインストール用 prefix を表示します。 .It Fl q レポートヘッダのような情報を出力する際に余分な出力を省略し、 生の情報のみ出力します (基本的に人が読みやすいものではありません)。 .It Fl c 各パッケージの (一行) コメントフィールドを表示します。 .It Fl d 各パッケージの長い説明フィールドを表示します。 .It Fl D 各パッケージのインストールメッセージファイルを表示します。 .It Fl f 各パッケージの packing list instructions を表示します。 .It Fl i もしあれば、各パッケージのインストールスクリプトを表示します。 +.It Fl I +各パッケージのインデックス行を表示します。このオプションは他のパッケージ +書式整形オプションの全てに優先します。 .It Fl k もしあれば、各パッケージのアンインストールスクリプト を表示します。 .It Fl r もしあれば、各パッケージの requirements スクリプトを表示します。 +.It Fl R +(指定した)各パッケージを必要とするパッケージのうちで、インストールされて +いるもののリストを表示します。 .It Fl m もしあれば、各パッケージの mtree ファイルを表示します。 .It Fl L 各パッケージに含まれるファイルを表示します。 これは packing list をただ見るのとは異なり、 生成されるすべてのフルパス名が表示されます。 .It Fl e Ar pkg-name .Ar pkg-name で示されるパッケージが現在インストールされている場合には 0 を 返し、そうでなければ 1 を返します。 このオプションにより、スクリプトから (おそらく必要不可欠な) 他のパッケージの存在を簡単に確認することが可能になります。 .It Fl l Ar str 各 information category header ( .Fl q を参照) の前に .Ar str を付加します。 これは本来、パッケージに関する多くの information fields を一度に 得たいが、そのごっちゃになった出力で混乱したくない、という フロントエンドプログラムのためにあります。 このオプションで各 field の先頭に特別な文字列を付け加えることが できます。 .It Fl t Ar template 「作業場所」を作成する際に、 .Xr mktemp 3 への入力として .Ar template を用います。 これはデフォルトでは .Pa /tmp/instmp.XXXXXX という文字列ですが、 .Pa /tmp ディレクトリの容量が制限されているような状況では 変更する必要があるかもしれません。 .Xr mktemp 3 が一意の ID を用いるために必要な `X' の文字をいくつか残しておく ことを忘れないでください。 .Bd -filled -offset indent -compact Note: pkg_info は各パッケージからとても小さな情報しか 抽出しないので、実際にはこのオプションは必要ありません。 溢れさせるには非常に小さな .Pa /tmp でなければならないでしょう。 .Ed .Sh 技術詳細 パッケージの情報は、コマンドラインから指定されたパッケージのファイル名か、 .Pa /var/db/pkg/ にあるすでにインストールされたパッケージの情報から抽出されます。 +.Sh 環境変数 +.Ev PKG_TMPDIR +で、 +.Nm +が作業用ファイルを生成するディレクトリを指定します。 +この変数が設定されていない場合、 +.Ev TMPDIR +が用いられます。両方とも設定されていない場合、 +組み込みのデフォルトディレクトリが用いられます。 +.Pp +.Ev PKG_DBDIR +で、インストールされたパッケージについてのデータベースの位置を指定します。 +.Sh ファイル +.Bl -tag -width /var/db/pkg -compact +.It Pa /var/tmp +環境変数 +.Ev PKG_TMPDIR +、 +.Ev TMPDIR +がともに設定されていない場合、もしくはこれらのディレクトリの空き領域が +十分でない場合に用いられます。 +.It Pa /tmp +.Pa /var/tmp +が存在しないか、十分な空き領域を持たない場合に、次の選択肢として +用いられます。 +.It Pa /usr/tmp +.Pa /tmp +が適切でない場合の最後の選択肢です。 +.It Pa /var/db/pkg +インストールされたパッケージについてのデータベースのデフォルトの +位置です。 +.El .Sh 関連項目 .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr mktemp 3 , .Xr mtree 8 . .Sh 作者 .Bl -tag -width indent -compact .It "Jordan Hubbard" ほとんどの仕事 .It "John Kohl" NetBSD 向け修正 .El .Sh バグ まだあるはずです。 diff --git a/ja_JP.eucJP/man/man8/atrun.8 b/ja_JP.eucJP/man/man8/atrun.8 index 985cff6459..5647647c4b 100644 --- a/ja_JP.eucJP/man/man8/atrun.8 +++ b/ja_JP.eucJP/man/man8/atrun.8 @@ -1,75 +1,84 @@ -.\" %Id: atrun.man,v 1.1.6.1 1997/12/12 07:15:35 charnier Exp % +.\" %Id: atrun.man,v 1.1.6.2 1998/07/07 04:49:55 jkoshy Exp % .\" jpman %Id: atrun.8,v 1.2 1997/04/23 02:43:41 yugawa Stab % .Dd April 12, 1995 .Dt ATRUN 8 .Os "FreeBSD 2.1" .Sh 名称 .Nm atrun .Nd ジョブキューのなかから予定時刻になったものを実行 .Sh 書式 .Nm atrun .Op Fl l Ar load_avg .Op Fl d .Sh 解説 .Nm コマンドは .Xr at 1 でキューに入れたジョブを実行するコマンドです。 -ルートの +.Pp +.Xr atrun 8 +が5分毎に起動されるようにするために、 +root の .Xr crontab 5 ファイル .Pa /etc/crontab に、 .nf */5 * * * * root /usr/libexec/atrun .fi -という設定が含まれていたならば、5分毎に起動される事になります。 +という設定を含めておく必要があります。 .Pp +呼び出しが起きるたびに .Nm -が起動する度に、小文字のキューの中の実行時間が来た各ジョブがスタートします。 -.Nm -が起動する度に、(大文字のキューで表される)バッチジョブのうち -優先順位が最も高い物からひとつずつスタートします。 +は、小文字のキューの中のジョブのうち、 +実行開始時間を過ぎたものすべてを開始します。 +さらに、直前の1分間の負荷平均値(load avarage)が指定した限界値より小さい場合、 +優先順位が最も高いバッチジョブ(大文字のキューで表されます)ひとつを +開始します。 .\" 上記の記述はオリジナルの英語版では、"A maximum of one batch jobs (denoted .\" by uppercase queues) are started each time atrun is invoded." となっている。 .\" この記述だけでは非常にわかりにくいが、at(1) を見ると、バッチジョブには .\" A 〜 Z のキューがあり、A 〜 Z の順番で nice 値が高くなる(優先度が低くなる) .\" と書かれている。そこで、実際に試して見ると、同一のキューに登録されたジョブ .\" は登録された順番に実行されるが、異なるキューに登録されたジョブは登録された .\" 順番とは関係なく、より nice 値が低い(優先度の高い)ジョブから実行される .\" ので、上記の記述とした。 .\" 2.2.1-RELEASE 対象 .\" By yugawa@orleans.rim.or.jp (Apr 23 1997) +.\" RELENG22-980710-SNAP(2.2.7 直前)でこの部分の記述は変更されたが、 +.\" "A maximum of one batch jobs" の句は依然として残っているので、 +.\" この句の訳はそのままにしてある。 +.\" By kuma@jp.freebsd.org (Jul 10 1998) .Sh オプション .Bl -tag -width indent .It Fl l Ar load_avg 負荷の上限を指定する。負荷がこの上限を越えている場合、バッチジョブは実行さ れない。デフォルトの値は 1.5。 .It Fl d デバッグ用。 .Xr syslog 3 を使う代わりに標準エラー出力にエラーメッセージを吐き出す。 .El .Sh 警告 .Nm を動かすためには .Xr cron 8 デーモンを起動しておかねばなりません。 .Sh 関連ファイル .Bl -tag -width /var/at/spool -compact .It Pa /var/at/spool 出力ファイルを保管しておくディレクトリ .It Pa /var/at/jobs ジョブファイルを保管しておくディレクトリ .El .Sh 関連項目 .Xr at 1 , .Xr crontab 1 , .Xr syslog 3 , .Xr crontab 5 , .Xr cron 8 .Sh バグ .Nm の機能は .Xr cron 8 に統合されるべきです。 diff --git a/ja_JP.eucJP/man/man8/init.8 b/ja_JP.eucJP/man/man8/init.8 index 4ab1b2e881..af7b02ca56 100644 --- a/ja_JP.eucJP/man/man8/init.8 +++ b/ja_JP.eucJP/man/man8/init.8 @@ -1,303 +1,316 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Donn Seeley at Berkeley Software Design, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)init.8 8.3 (Berkeley) 4/18/94 -.\" %Id: init.8,v 1.4.2.3 1997/08/18 03:30:04 davidn Exp % +.\" %Id: init.8,v 1.4.2.4 1998/07/06 12:01:34 jkoshy Exp % .\" jpman %Id: init.8,v 1.2 1997/05/27 08:12:44 yugawa Stab % .\" .Dd April 18, 1994 .Dt INIT 8 .Os BSD 4 .Sh 名称 .Nm init .Nd プロセス制御の初期化を行う .Sh 書式 .Nm init .Sh 解説 .Nm init はブート処理の最後に起動されます。 .Nm init は通常、 .Xr reboot 8 で説明されている自動リブートシーケンスを実行します。それが成功すると、 システムはマルチユーザモードになります。 リブートスクリプトの実行に失敗すると、 .Nm init はスーパユーザが使うシェルを起動してシングルユーザモードを 開始させます。 .Nm init プログラムは、ブートプログラムからのパラメータの指示を受けて、マルチユー ザモードに移行せず、一般のデーモンを起動することなくシングルユーザモードの シェルを起動させることができます。 その場合、システムはメンテナンスのためのモードになり、 シェルを抜ける (^D を入力する)ことで シングルユーザモードからマルチユーザモードになります。 これによって、 .Nm init は .Pa /etc/rc をファストブートモード(ディスクチェック省略)で実行します。 .Pp もし .Xr ttys 5 ファイルの .Nm console のエントリが ``insecure'' にマークされていた場合には、 .Nm init はシングルユーザモードのシェルを起動する前に、スーパユーザのパスワードを 要求します。 パスワードチェックは、 .Nm console が ``secure'' にマークされていればスキップされます。 .Pp カーネルは 4 種類のセキュリティレベルで走行します。どのスーパーユーザ プロセスもセキュリティレベルを上げることができますが、レベルを下げることが できるのは .Nm init だけです。セキュリティレベルは以下のように定義されます: .Bl -tag -width flag .It Ic -1 常に危険なモード \- システムは常にレベル 0 モードで走行します。 +これは初期値のデフォルトです。 .It Ic 0 危険なモード \- 変更不可(immutable)フラグや追加のみ(append-only)フラグは 無効にされます。 全てのデバイスは、そのパーミッションに従って読み書きされます。 .It Ic 1 安全なモード \- 変更不可フラグや追加のみのフラグは変更されません。 マウントされたファイルシステムのディスクおよび .Pa /dev/mem や .Pa /dev/kmem は read-only となります。 .It Ic 2 安全度の高いモード \- レベル 1 のモードの効果に加え、ディスクは マウントさていようといまいと、( .Xr mount 2 を除き) 常に read-only となります。 このレベルは、ファイルシステムをアンマウントして変更を加えることを不可能に します。また、システムがマルチユーザで走行中に .Xr newfs 8 を実行することも出来なくなります。 .El .Pp 初期のセキュリティレベルが -1 だった場合、 .Nm init はセキュリティレベルを変更しません。 それ以外の場合、シングルユーザモードではレベル 0 で、マルチユーザモードでは レベル 1 で、システムは動作します。マルチユーザモードにおいてレベル 2 で システムを走らせたい場合は、シングルユーザの状態の間に、つまり、 .Pa /etc/rc の中で .Xr sysctl 8 -を使って設定します。 +を使って、変数 +.Dq kern.securelevel +に望みのセキュリティレベルの値を設定します。 .Pp マルチユーザモードの場合、 .Nm init は .Xr ttys 5 ファイルで指示された端末ポートのためのプロセスを管理します。 .Nm init はこのファイルを読み込み、2 番目のフィールドに指示されたコマンドを 実行します。 そのコマンドは通常、 .Xr getty 8 で、 .Nm getty はtty をオープン、初期化し、 .Xr login 1 プログラムを実行します。 .Nm login プログラムは、ユーザがログインするとシェルを起動します。ユーザが ログアウトするか異常終了するなどして、そのシェルが終了すると、 .Nm init プログラムが起こされ、 .Xr utmp 5 ファイルからユーザを消し、 .Xr wtmp 5 ファイルにログアウトを記録します。 このサイクルは、 .Nm init プログラムがその端末に新しい .Nm getty を実行することで繰り返されます。 .Pp ラインの状態 (on, off, secure, getty, ウインドウの情報) は、 .Xr ttys 5 ファイルを書き換えて .Dq Li "kill -HUP 1" によってシグナル .Dv SIGHUP を .Nm init に送ることで、リブートせずに変更できます。 このシグナルを受け取ると .Nm init は .Xr ttys 5 ファイルを再度読み込みます。 .Xr ttys 5 でラインがオフにされると、 .Nm init はそのラインに関係するセッションの制御プロセスに SIGHUP シグナルを送ります。 オフであったラインが .Xr ttys 5 ファイルでオンにされると、 .Nm init は新しい .Nm getty を起動して、新しいログインを可能にします。 ラインの getty やウインドウフィールドが変更された場合、その変更は現在 のログインセッションが終了するまで有効にはなりません。 (例えば、 .Nm init によって新しいプロセスが起動されるまで有効にならない。) .Xr ttys 5 中のあるラインをコメントアウトあるいは削除した場合は、 .Nm init はそのラインに関しては何も実行しません。 しかしこの場合、 .Xr ttys 5 ファイルと .Xr utmp 5 ファイル内の記録情報が一致しなくなるため、試すことはお勧めしません。 .Pp .Dq Li "kill \-TERM 1" などによって terminate シグナル .Pq Dv TERM を受けると、 .Nm init はマルチユーザモードを終了し、シングルユーザモードに復帰します。 ハードウェアまたはソフトウェアの問題でデッドロックしたプロセスがある場合、 .Xr init はすべてのプロセスの終了を待たず(これは無限に終らないかも知れません)、 30 秒間でタイムアウトして警告のメッセージを出力します。 .Pp terminal stop シグナル .Pq Dv TSTP を送ると( .Dq Li "kill \-TSTP 1" )、 .Nm init は新しい .Xr getty を起動するのをやめ、徐々にシステム停止可能な状態にします。 その後、hangup シグナルで完全なマルチユーザモードに戻り、terminate シグナル でシングルユーザモードに移ります。 この hook は .Xr reboot 8 と .Xr halt 8 で使われています。 .Pp interrupt シグナル .Pq Dv INT を送ると( .Dq Li "kill \-INT 1" )、 .Nm init はすべてのプロセスを(デッドロックプロセスを待たずに)終了させ、 リブートを実行します。 この操作は、マシンがハングした時に、カーネルの中から、あるいは、X から、 システムを安全にシャットダウンするのに便利です。 .Pp マシンをシャットダウンする時、 .Nm init は .Pa /etc/rc.shutdown スクリプトを実行しようとします。 このスクリプトは .Nm innd (インターネットニュースサーバ) のような特定のプログラムを綺麗に終了させるために使用可能です。 .Pp .Nm init の役割は非常に重要で、もし .Nm init が死ぬとシステムが自動的にリブートされます。 もしブート時に .Nm init プログラムを見つけられなければ、システムは以下のようなメッセージを出力 して panic で終了します。 ``panic: init died (signal %d, exit %d)'' .Sh 診断 .Bl -diag .It "getty repeating too quickly on port %s, sleeping" ラインにサービスを提供するプロセスが、起動されるたびにすぐ終了してしまう。 これは、端末ラインに着信があるかノイズが大きい場合にしばしば起こります。 .Em "init は 10 秒間スリープし、" .Em "その後、プロセスを開始させようとし続けます。" .Pp .It "some processes would not die; ps axl advised." シャットダウンの際、ハングしていて終了させられないプロセスがあります。 この状態は、通常、デバイスに異常があるときにデバイスドライバではり付い てしまうことにより起こります。 .El .Sh 関連ファイル .Bl -tag -width /var/log/wtmp -compact .It Pa /dev/console システムのコンソールデバイス .It Pa /dev/tty* .Xr ttys 5 内にある端末ポート .It Pa /var/run/utmp 現在ログインしているのユーザの情報 .It Pa /var/log/wtmp すべてのログイン・ログアウトの情報 .It Pa /etc/ttys 端末の初期化情報が書かれたファイル .It Pa /etc/rc システム立ち上げ用スクリプト .It Pa /etc/rc.shutdown システムシャットダウン用スクリプト .El .Sh 関連項目 .Xr kill 1 , .Xr login 1 , .Xr sh 1 , .Xr ttys 5 , .Xr crash 8 , .Xr getty 8 , .Xr halt 8 , .Xr rc 8 , .Xr reboot 8 , -.Xr shutdown 8 +.Xr shutdown 8, +.Xr sysctl 8 .Sh 歴史 .Nm コマンドは .At v6 から登場しました。 -.Sh バグ +.Sh 注意 .Xr sysctl を持たないシステムは、セキュリティレベル \-1 で動作します。 +.Pp +ブートシーケンスにおいて、セキュリティレベルを 2 に設定するのがあまり +にも早すぎると、 +.Xr fsck 8 +が一貫性のないファイルシステムを補修することを妨げてしまう可能性が +あります。セキュリティレベル設定を行う場所として適切なところは、 +全てのマルチユーザ立ち上げ処理が完了した後である、 +.Pa /etc/rc +の末尾です。 diff --git a/ja_JP.eucJP/man/man8/mount_nfs.8 b/ja_JP.eucJP/man/man8/mount_nfs.8 index d2c1417051..2e3bc6ee33 100644 --- a/ja_JP.eucJP/man/man8/mount_nfs.8 +++ b/ja_JP.eucJP/man/man8/mount_nfs.8 @@ -1,298 +1,298 @@ .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount_nfs.8 8.2 (Berkeley) 3/27/94 .\" -.\" %Id: mount_nfs.8,v 1.5.2.1 1997/05/14 08:19:19 dfr Exp % +.\" %Id: mount_nfs.8,v 1.5.2.2 1998/07/07 04:52:54 jkoshy Exp % .\" jpman %Id: mount_nfs.8,v 1.3 1997/05/19 17:04:14 horikawa Stab % .\"" .Dd March 27, 1994 .Dt MOUNT_NFS 8 .Os BSD 4.4 .Sh 名称 .Nm mount_nfs .Nd NFS(ネットワークファイルシステム)をマウントする .Pp .Sh 書式 .Nm mount_nfs .Op Fl 23KPTUbcdilqs .Op Fl D Ar deadthresh .Op Fl I Ar readdirsize .Op Fl L Ar leaseterm .Op Fl R Ar retrycnt .Op Fl a Ar maxreadahead .Op Fl g Ar maxgroups .Op Fl m Ar realm .Op Fl o Ar options .Op Fl r Ar readsize .Op Fl t Ar timeout .Op Fl w Ar writesize .Op Fl x Ar retrans .Ar rhost:path node .Sh 解説 .Nm mount_nfs は、ファイルシステムツリー上の指定された .Ar node にリモートの NFS ファイルシステム (rhost:path) をマウントするために、 .Xr mount 2 システムコールを呼び出します。このコマンドは通常、 .Xr mount 8 によって実行されます。このプログラムは、RFC 1094 の Appendix. A および .%T "NFS: Network File System Version 3 Protocol Specification" , Appendix I. に記述されているマウントプロトコルを実装しています。 .Pp オプションを以下に示します: .Bl -tag -width indent .It Fl 2 NFS バージョン 2 プロトコルを使用します (デフォルトはバージョン 3 をまず試した後にバージョン 2 を用います)。 .It Fl 3 NFS バージョン 3 プロトコルを使用します。 .It Fl D NQNFSにおいて .Dq "停止サーバ閾 (dead server threshold)" をタイムアウト (round trip timeout) 回数で指定します。 再送タイムアウト回数が .Dq 停止サーバ閾 に達した後は、無応答なサーバに関するキャッシュデータをいまだ有効な ものと見倣します。 値は 1 から 9 までで、9 は .Dq "無限停止閾 (infinite dead threshold)" です (キャッシュデータを有効と見倣す事はありません)。 このオプションは一般に薦められるものではなく実験的なものです。 .It Fl I readdir での読み取りサイズを指定した値にします。 値は通常 BIRBLKSIZ の倍数であり、マウントの読み取りサイズ以下です。 .It Fl K クライアント - サーバ間のユーザ認証用に Kerberos 認証書をサーバへ渡します。 カーネルが NFSKERB オプションにて構築されている必要があります インターネットドラフト .%T "Authentication Mechanisms for ONC RPC" を御覧下さい。) .It Fl L NQNFS において、リース期間を指定した秒数にします。 応答遅延 (round trip delay) が大きな場合だけ使って下さい。 値は通常、10 秒から 30 秒の間です。 .It Fl P 予約されたソケットポート番号を使います。 NFS がより安全になるとの考え方 (これは誤りです) に基づいて クライアントが予約ポートを使用しないとマウントさせないサーバ をマウントするのに役立ちます。 (クライアントの root が信頼でき、ネットワークケーブルも安全な場所にあ るが、クライアントのユーザは信頼できないという、まれな場合には 役に立つでしょうが、通常のデスクトップクライアントには当てはまりません。) .It Fl R マウントする際のリトライ回数を、指定された値にします。 .It Fl T UDP の代わりに TCP を使います。これは、サーバがクライアントと 同じ LAN ケーブル上にない場合に使うことをお勧めします (注意: この機能は大抵の非 BSD サーバではサポートされていません)。 .It Fl U TCP NFS マウントであっても、マウントプロトコルに UDP を強制します。 (古い BSD サーバにて必要です。) .It Fl a 先読みブロック数を指定した値に設定します。値は 0 から 4 までの範囲で、 サイズの大きなファイルをシーケンシャルに読む場合、 何ブロック先読みするかを決定します。 帯域幅×遅延が大きな状況でマウントする場合に 1 より大きな値をお勧めします。 .It Fl b 最初にサーバの接続に失敗した場合、子プロセスを起動して、 バックグラウンドでマウントを続けようとします。 マルチユーザモードで起動する際、重要でないファイルシステムを .Xr fstab 5 に書いておく場合に役に立ちます。 .It Fl c .Tn UDP マウントポイントに対しては、 .Xr connect 2 を使いません。 これは、標準のポート番号 2049 からのリクエストに答えないサーバ に対しては使う必要があります。 .It Fl d 再送タイムアウト時間を動的に予測しません。これは、 動的に予測される再送タイムアウト時間が非常に短いために、 UDP マウントが高いリトライレートを示しているような場合に有効です。 .It Fl g 認証用のグループリストの最大サイズを、指定した値に設定します。 RFC 1057 ではグループリストのサイズは 16 と記述されていますが、これを 扱えない古いサーバをマウントするときに使うべきです。 多くのグループに属しているユーザに対してマウントポイントから 応答がない場合は、8 を指定してみて下さい。 .It Fl i マウントを割り込み可能とします。これは、応答しないサーバがあるために ファイル関連のシステムコールが遅れるような場合、 プロセスに終了シグナルが送られると、EINTR で システムコールが失敗することを意味します。 .It Fl l NQNFS と NFSV3 において、\fBReaddir_and_Lookup\fR RPCを使うことを 指定します。 このオプションは .Dq "ls -l" するようなときに RPC のトラフィックを減らしますが、 属性と名前のキャッシュをプリフェッチエントリで溢れさせる傾向があります。 このオプションを指定して性能が良くなるのか悪くなるのかを確認して下さい。 バンド幅と遅延の積が大きなネットワークにて最も有用でしょう。 .It Fl m Kerberos の管理領域を文字列で指定します。 他の管理領域にマウントする場合に .Fl K オプションと共に使います。 .It Fl o .Fl o フラグの後に、オプションをコンマで区切って並べ指定します。 指定可能なオプションとその意味は .Xr mount 8 を参照してください。 以下の NFS 固有のオプションを使用可能です: .Bl -tag -width indent .It port= 指定したポート番号を NFS 要求に使用します。 デフォルトでは portmapper に問い合わせます。 .El .Pp .Bl -tag -width "dumbtimerXX" \fB歴史的な \&-o オプション\fR .Pp これらのオプションを使用する事は勧められません。 歴史的な .Nm mount_nfs との互換性のためにここに記述してあります。 .It bg .Fl b と同じ。 .It conn .Fl c -と同じ。 +を指定しない場合と同じ。 .It dumbtimer .Fl d と同じ。 .It intr .Fl i と同じ。 .It kerb .Fl K と同じ。 .It nfsv2 .Fl 2 と同じ。 .It nfsv3 .Fl 3 と同じ。 .It rdirplus .Fl l と同じ。 .It mntudp .Fl U と同じ。 .It resvport .Fl P と同じ。 .It seqpacket .Fl p と同じ。 .It nqnfs .Fl q と同じ。 .It soft .Fl s と同じ。 .It tcp .Fl T と同じ。 .El .It Fl q キャッシュの一貫性を保つためにプロトコルのリース拡張を NFS バージョン 3 プロトコルにて使います。 このプロトコルのバージョン 2 は Not Quite Nfs (NQNFS) と呼ばれ、 最新の NFS コードでのみサポートされています。 (4.4BSD-Lite における NQNFS のリリースとは互換性がありません。 4.4BSD-Lite NFS システムを混在させて使用する場合には、 4.4BSD-Lite ベースシステムの NFS コードをアップグレードするまで、 このオプションを使用してはなりません。) .It Fl r データのリードサイズを指定した値にします。この値は通常 1024 以上の 2 のべき乗でなければなりません。これはマウントポイント を頻繁に使っている間に、 .Dq タイムアウトで消失したフラグメント数 が大きくなっていくときに、UDP マウントに対して使います .Pf ( Xr netstat 1 を .Fl s オプション付きで使う ことで、 .Dq タイムアウトで消失したフラグメント数 の値を見ることができます)。 .Fl w オプションも参照 してください。 .It Fl s ソフトマウントを行います。これは、 タイムアウトが決められた\fBリトライ\fR回数に達すると、 システムコールが失敗することを意味します。 .It Fl t 指定した値に初期再送タイムアウト時間を設定します。パケット の消失レートの高いネットワークや負荷の高いサーバで行う UDP マウントを チューニングするときに役立ちます。 ファイルシステムがアクティブなときに .Xr nfsstat 1 が高い再送レートを示す場合には、この値を増やしてみて下さい。 一方、再送レートは低いが、応答遅延が長い場合はこの値を減らします。 (通常、-d オプションをこのオプションとともに使い、 手動でタイムアウトインターバルを調整します。) .It Fl w 指定した値にライトデータサイズを設定します。解説は .Fl r オプションと同様ですが、 .Dq タイムアウトで消失したフラグメント数 は、クライアントのかわりにサーバの値を使います。 .Fl r や .Fl w のオプションは、マウントするサーバが TCP マウントをサポートしていない場合にパフォーマンスを向上させる 最後の手段であることに注意してください。 .It Fl x ソフトマウントの再送タイムアウト回数を設定します。 .El .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 .Sh バグ Sun RPCは UDP (信頼性のないデータグラム) トランスポート層上に 実装されているため、マウントの性能をチューニングしても 限界があります。サーバが同じ LAN ケーブル上にない場合や、 サーバの負荷が高い場合には、 .Tn TCP トランスポートを使うことを強くすすめますが、 残念なことに、ほぼ 4.4BSD サーバに限られています。 diff --git a/ja_JP.eucJP/man/man8/natd.8 b/ja_JP.eucJP/man/man8/natd.8 index 390554fc43..dfab167286 100644 --- a/ja_JP.eucJP/man/man8/natd.8 +++ b/ja_JP.eucJP/man/man8/natd.8 @@ -1,426 +1,427 @@ .\" manual page [] for natd 1.4 +.\" jpman %Id% .Dd 15 April 1997 .Os FreeBSD .Dt NATD 8 .Sh 名称 .Nm natd .Nd ネットワークアドレス変換デーモン .Sh 書式 .Nm .Op Fl ldsmvu .Op Fl permanent_link .Op Fl dynamic .Op Fl i Ar inport .Op Fl o Ar outport .Op Fl p Ar port .Op Fl a Ar address .Op Fl n Ar interface .Op Fl f Ar configfile .Nm .Op Fl log .Op Fl deny_incoming .Op Fl use_sockets .Op Fl same_ports .Op Fl verbose .Op Fl unregistered_only .Op Fl permanent_link .Op Fl dynamic .Op Fl inport Ar inport .Op Fl outport Ar outport .Op Fl port Ar port .Op Fl alias_address Ar address .Op Fl interface Ar interface .Op Fl config Ar configfile .Op Fl redirect_port Ar linkspec .Op Fl redirect_address Ar localIP publicIP .Sh 解説 このプログラムは、FreeBSD における .Xr divert 4 ソケットと共に用いることによって、ネットワークアドレスの変換を 行います。 コマンドラインオプションのほとんどは、1 文字の短縮形か、長い表記が 利用できます。 見る人がはっきりと理解しやすいように、長い表記を使うことが 推奨されています。 .Pp .Nm natd は通常、デーモンとしてバックグラウンドで実行します。 .Nm はマシンに入ってくるパケット、またはマシンから出て行くパケットを 生(raw)のまま扱い、場合により IP パケットストリームに 再び送り出す前に手を加えます。 .Pp .Nm natd は他のホストへ向かうすべてのパケットについて、発信元 IP アドレスを 現在のマシンのものにする、という変換を行います。 このように変換された各パケットについて、変換内容を記録するために 内部テーブルエントリが作成されます。 発信元ポート番号も、パケットに適用したテーブルエントリを示すように 変更されます。 現在のホストの、対象となる IP アドレスを使ったパケットが受信されると、 この内部テーブルがチェックされます。 エントリが見つかると、パケットに正しい対象 IP アドレスとポート番号を 入れるのに利用されます。 .Pp 以下のコマンドラインオプションが利用できます。 .Bl -tag -width Fl .It Fl log | l 様々な alias の統計や情報をファイル .Pa /var/log/alias.log に記録します。このファイルは natd が起動されるたびに切りつめられます。 .It Fl deny_incoming | d 現在の IP アドレスへ向かうパケットのうち、内部変換テーブルに エントリの無いものを拒否します。 .It Fl use_sockets | s FTP data コネクションや IRC DCC send コネクションを確立するのに .Xr socket 2 を割り当てます。このオプションはよりシステムリソースを消費しますが、 ポート番号が衝突する場合でもコネクションが成功することを保証します。 .It Fl same_ports | m 出て行くパケットを変換する時に、できるだけポート番号を同じまま 保つようにします。このオプションにより、RPC のようなプロトコルが うまく働く可能性があがります。ポート番号を維持することができない時には、 暗黙のうちに通常と同じ方法で変換されます。 .It Fl verbose | v 起動時に .Xr fork 2 や .Xr daemon 3 を呼び出しません。よって、制御端末から切り離されずに、標準出力に すべてのパケット変換を表示します。このオプションはデバッグの目的に のみ用いるべきです。 .It Fl unregistered_only | u 登録されていない発信元アドレスを伴う出て行くパケットのみを変換します。 rfc 1918 によれば、登録されていない発信元アドレスは 10.0.0.0/8 と 172.16.0.0/12 と 192.168.0.0/16 となっています。 .It Fl redirect_port Ar linkspec 指定されたポートに入ってくるコネクションを別のホストとポートに リダイレクトします。linkspec の書式は proto targetIP:targetPORT [aliasIP:]aliasPORT [remoteIP[:remotePORT]] のようになります。proto は tcp もしくは udp 、 targetIP は希望する ( リダイレクト先 ) 対象 IP アドレス、targetPORT は希望する対象ポート番号、 aliasPORT は ( クライアントが ) 要求するポート番号、aliasIP は alias を 行うアドレスです。 remoteIP と remotePORT は、必要な場合により正確なコネクションを 指定するのに利用できます。 例えば、 .Ar tcp inside1:telnet 6666 という引数は、このマシンのポート 6666 に向けられた tcp パケットが マシン inside1 の telnet ポートに送られることを示しています。 .It Fl redirect_address Ar localIP publicIP 公式な IP アドレスへのパケットの流れを、ローカルネットワーク内の マシンにリダイレクトします。この機能は "静的 NAT (static NAT)" と 呼ばれています。 静的 NAT はあなたの ISP が IP アドレスの小さなブロックをあなたに 割り当てた時に、単一のアドレスとして用いるのにも利用できます: redirect_address 10.0.0.8 0.0.0.0 上記のコマンドは入ってくすべてのパケットをマシン 10.0.0.8 に リダイレクトします。 下記のように、いくつかのアドレス alias が同一の公式アドレスを 示すように指定すると、 redirect_address 192.168.0.2 public_addr redirect_address 192.168.0.3 public_addr redirect_address 192.168.0.4 public_addr 入ってくるパケットの流れは最後に変換されたローカルアドレス (192.168.0.4) に向けられますが、最初の二つのアドレスの出て行く パケットの流れは指定された公式アドレスへの alias のままになります。 .It Fl permanent_link Ar linkspec 内部 alias テーブルに恒久的なエントリを作成します。linkspec の書式は proto targetIP:targetPORT sourceIP:sourcePORT aliasPORT のようになります。proto は tcp もしくは udp 、 targetIP は希望する ( リダイレクト先 ) 対象 IP アドレス、 targetPORT は希望する対象 ポート番号、 sourceIP と sourcePORT は入ってくるパケットにマッチする もの、aliasPORT は ( クライアントが ) 要求するポート番号、となります。 値 0 はワイルドカードとして扱われます。例えば、 .Ar tcp inside1:telnet outside1:0 6666 はマシン outside1 ( の任意のポート ) からこのマシンのポート 6666 に 向けられた tcp パケットが、マシン inside1 の telnet ポートに送られる ことを示します。 新規に導入する場合は、代わりに redirect_port を使うようにしてください。 .It Fl dynamic .Fl n オプションや .Fl interface オプションが用いられると、 .Nm は 指定された .Ar interface へルーティングする変換ソケットを監視します。 .\" (訳注) kuriyama@opt.phys.waseda.ac.jp (Nov 29 1997) .\" 上の訳はどうも意味が通らない。原文は以下の通り。誰か直して。 .\" .Nm .\" will monitor the routing socket for alterations to the .\" .Ar interface .\" passed. .\" (訳注2) kuriyama@opt.phys.waseda.ac.jp (Jan 4 1998) .\" ちょっと直してみたけどまだ不満。 インタフェースの IP アドレスが変化すると、 .Nm は alias アドレスを動的に変更します。 .It Fl i | inport Ar inport すべてのパケットをマシンに入ってくるものとして扱い、 .Ar inport から読み込み、 .Ar inport へ書き出します。 .It Fl o | outport Ar outport すべてのパケットをマシンから出て行くものとして扱い、 .Ar outport から読み込み、 .Ar outport へ書き出します。 .It Fl p | port Ar port .Xr divert 4 によって指定されたルールを用いてパケットを識別し、入ってくるパケットを .Ar port から読み、出て行くパケットを .Ar port へ書き出します。 .Ar port が数字でない場合、関数 .Xr getservbyname 3 を用いて .Pa /etc/services データベースが検索されます。 このフラグが指定されない時には、デフォルトとして natd という名前の divert ポートが用いられます。 .Pa /etc/services データベースのエントリの例としては以下のようになります: - natd 6668/divert # Network Address Translation socket + natd 8668/divert # Network Address Translation socket より詳しい説明は、 .Xr services 5 を参照してください。 .It Fl a | alias_address Ar address alias アドレスとして .Ar address を用います。このオプションが指定されない場合は、 .Fl n オプションか .Fl interface オプションが指定されなければなりません。 指定されたアドレスは、 公開されたネットワークインタフェースに割当てられたアドレスである 必要があります。 .Pp このアドレスのインタフェースを通って出る全データのソースアドレスは .Ar address に書換えられます。 外部からこのインタフェースに到着する全データは、 既に alias された外向け接続にマッチするかどうかチェックされます。 マッチする場合、パケットはそれぞれ変換されます。 マッチしない場合、 .Fl redirect_port と .Fl redirect_address の割り当てをチェックしそれぞれの動作を行います。 他の動作が行えない場合かつ .Fl deny_incoming が指定されていない場合、 パケットに指定された通りに パケットはローカルのマシンのポートに配送されます。 .It Fl n | interface Ar interface alias アドレスを決めるのに、 .Ar interface を用います。 .Ar interface に関連づけられた IP アドレスが変化する可能性がある場合には、 .Fl dynamic フラグも指定されるべきです。 .Pp 指定された .Ar interface は公開されたネットワークインタフェースである必要があります。 .It Fl f | config Ar configfile .Ar configfile から設定を読み込みます。 .Ar configfile はオプションのリストを含み、上記のコマンドラインフラグの長い表記と 同じ物が 1 行ずつ入ります。例えば、 alias_address 158.152.17.1 という行は alias アドレスに 158.152.17.1 を指定します。 設定ファイル内では、引数を持たないオプションは .Ar yes か .Ar no を伴って指定されます。例えば、 log yes は .Fl log と同じ意味になります。空行と '#' で始まる行は無視されます。 .El .Sh NATD の実行 .Nm natd を走らせようとする前には以下の手順が必要となります: .Bl -enum .It バージョン 2.2 かそれ以上の FreeBSD を手に入れる。これより前の バージョンは .Xr divert 4 ソケットをサポートしていません。 .It 自分のカーネルを以下のオプションを付けて構築します: options IPFIREWALL options IPDIVERT 自分のカーネルを構築する方法については、ハンドブックに詳しい説明が あるのでそちらを参照してください。 .It あなたのマシンがゲートウェイとして働くようにします。これは .Pa /etc/rc.conf に gateway_enable=YES と指定するか、 sysctl -w net.inet.ip.forwarding=1 というコマンドを用いることで機能するようになります。 .It .Fl n フラグや .Fl interface フラグを使いたい場合は、そのインタフェースがすでに設定済みとなるように します。例えば、 .Ar interface として tun0 を指定しようとし、そのインタフェースで .Xr ppp 8 を使っている場合には、 .Nm natd を起動する前に .Nm ppp を起動するようにしなければなりません。 .It .Pa /etc/services にエントリ: - natd 6668/divert # Network Address Translation socket + natd 8668/divert # Network Address Translation socket を作成します。これは .Fl p フラグや .Fl port フラグのデフォルトの値となります。 .El .Pp .Nm の実行は至って簡単です。 natd -interface ed0 という行でほとんどの場合充分です(正しいインタフェース名に置き換えて ください)。 .Nm が起動されたら、パケットの流れの方向が natd の方に変わる (divert される) ようにしなければなりません: .Bl -enum .It .Pa /etc/rc.firewall スクリプトをうまく調整する必要があります。防火壁 (firewall) に 興味が無ければ、以下のようにすれば良いでしょう: /sbin/ipfw -f flush /sbin/ipfw add divert natd all from any to any via ed0 /sbin/ipfw add pass all from any to any 2 番目の行はあなたのインタフェースに依ります (ed0 を適切に 変更してください)。 また、前項のように .Pa /etc/services に natd のエントリが入るように更新されていると仮定します。 本物の防火壁ルールを指定する場合、スクリプトの先頭で上記の 2 行目を 指定すると良いでしょう。 そうすることによって、防火壁により排除されてしまう前に、 .Nm がすべてのパケットを見ることができるようになります。 すべての divert ルールを除き、 .Nm により変換された各パケットには再び防火壁のルールが適用されます。 .It .Pa /etc/rc.conf で firewall_enable=YES と設定し、防火壁を作動させます。これはシステムの起動時のスクリプトに .Pa /etc/rc.firewall スクリプトを実行するように伝えます。 今すぐ再起動したくない場合には、コンソールから手で実行してください。 バックグラウンドで実行させるのでない限り、これは決して仮想セッションから 行ってはいけません。もし実行させてしまうと、flush が行われた後に あなたは締め出されてしまい、すべてのアクセスを永久に遮断するために この地点で .Pa /etc/rc.firewall の実行は止まってしまいます。スクリプトをバックグラウンドで実行すれば、 この災害を避けることができます。 .El .Sh 関連項目 .Xr getservbyname 2 , .Xr socket 2 , .Xr divert 4 , .Xr services 5 , .Xr ipfw 8 .Sh 作者 このプログラムは、多くの人々の細切れの努力の結果です: Divert ソケット: Archie Cobbs パケット alias: Charles Mott IRC サポート & その他の追加: Eivind Eklund Natd: Ari Suutari まとめ役: Brian Somers diff --git a/ja_JP.eucJP/man/man8/pppstats.8 b/ja_JP.eucJP/man/man8/pppstats.8 index 678ac96a3e..e2d0ddefdf 100644 --- a/ja_JP.eucJP/man/man8/pppstats.8 +++ b/ja_JP.eucJP/man/man8/pppstats.8 @@ -1,46 +1,207 @@ -.\" @(#) %Id: pppstats.8,v 1.3.2.2 1997/03/15 21:23:40 bde Exp % +.\" %Id: pppstats.8,v 1.3.2.3 1998/06/23 21:48:49 peter Exp % .\" jpman %Id: pppstats.8,v 1.2 1997/05/23 09:03:43 mitchy Stab % -.Dd May 2, 1995 -.Dt PPPSTATS 8 -.Sh 名称 -.Nm pppstats -.Nd PPP の利用統計を表示する -.Sh 書式 -.Nm -.Op Fl v -.Op Fl r -.Op Fl c -.Op Fl i Ar secs -.Op Ar unit# -.Sh 解説 -.Nm pppstats -は、PPP に関連した統計情報を表示します。 -.Pp -.Fl v -オプションを指定すると -.Nm -は、通常の情報に加え、追加情報を表示します。 -たとえば、エラーのために発信元に戻ったパケット数です -(VJ TCP ヘッダ圧縮で伸長に失敗した数です)。 -.Pp -.Fl r -オプションを指定すると -.Nm -は、全体のパケットの圧縮率を表示します。圧縮率は、 -0 から 1 の値で表され、 0 はデータが圧縮できないことを意味します。 -.Pp -.Fl c -オプションは、パケット圧縮の統計の別の表示法を指定します: -圧縮、伸長されたパケットの数およびバイト数 (すなわち圧縮前と圧縮後の値)、 -圧縮できなかった (圧縮で小さくならないため無圧縮で送られた) -パケットの数およびバイト数、最近の圧縮率が表示されます。 -圧縮率は、圧縮が許可されてから以降の平均の値ではなく、最近の圧縮率を -反映したものです。 -.Pp -.Fl i -オプションは、統計情報の表示の間隔を指定します。無指定時は 5 秒です。 -.Pp -.Ar unit# -は、統計情報を表示するインターフェースを指定します。 -.Sh 関連項目 -.Xr pppd 8 +.\" +.TH PPPSTATS 8 "26 June 1995" +.SH 名称 +pppstats \- PPP の利用統計を表示する +.SH 書式 +.B pppstats +[ +.B -a +] [ +.B -v +] [ +.B -r +] [ +.B -z +] [ +.B -c +.I +] [ +.B -w +.I +] [ +.I interface +] +.ti 12 +.SH 解説 +.B pppstats +は、指定した PPP インタフェースについて、 +PPP に関連した統計情報を一定間隔で表示します。 +インタフェースは無指定の場合は ppp0 になります。 +表示は入力と出力のセクションに横方向に分割され、 +それぞれのセクションで、 +そのインタフェースで入出力されたパケットの属性と大きさの統計値を示します。 +.PP +オプションには以下のものがあります: +.TP +.B -a +差分ではなく絶対値を表示するようにします。 +このオプションを指定すると、 +すべてのレポートは +リンクが成立してからの統計値を表示するようになります。 +このオプションが未指定なら、 +2 回目とそれ以降のレポートが、 +前回のレポートからの統計を表示するようになります。 +.TP +.B -c \fIcount +表示を +.I count +回繰り返します。 +このオプションが指定されない場合、 +.B -w +オプションが指定されていれば無限に繰り返し、 +さもなくば 1 回だけ表示されます。 +.TP +.B -r +使用中のパケット圧縮アルゴリズムによる圧縮率の統計値を要約して +追加表示します。 +.TP +.B -v +Van Jacobson TCP ヘッダ圧縮アルゴリズムのパフォーマンスに関する +統計値を追加表示します。 +.TP +.B -w \fIwait +繰り返して表示する際の間隔を +.B -w \fIwait +秒にします。 +無指定時は 5 秒です。 +.TP +.B -z +通常の表示に替えて、 +使用中のパケット圧縮アルゴリズムの性能の統計値を表示します。 +.PP +.B -z +オプションが指定されない場合、入力側には以下の項目が表示されます: +.TP +.B IN +このインタフェースで受信した総バイト数。 +.TP +.B PACK +このインタフェースで受信したパケットの総数。 +.TP +.B VJCOMP +このインタフェースで受信した、ヘッダ圧縮された TCP パケットの数。 +.TP +.B VJUNC +このインタフェースで受信した、ヘッダの圧縮されていない TCP パケットの数。 +.B -r +オプションが指定されたときは表示されません。 +.TP +.B VJERR +このインタフェースで受信した、 +破損した、あるいは不正にヘッダが圧縮された TCP パケットの数。 +.B -r +オプションが指定されたときは表示されません。 +.TP +.B VJTOSS +先行するエラーで受理されずに落された、 +VJ ヘッダ圧縮された TCP パケットの数。 +.B -v +オプションが指定されたときだけ表示されます。 +.TP +.B NON-VJ +このインタフェースで受信した非 TCP パケットの総数。 +.B -v +オプションが指定されたときだけ表示されます。 +.TP +.B RATIO +使用中のパケット圧縮方法で達成された、 +受信パケットの、圧縮時に対する非圧縮時の大きさの比率で表した圧縮率。 +.B -r +オプションが指定されたときだけ表示されます。 +.TP +.B UBYTE +受信した圧縮パケットの展開後のバイト総数。 +.B -r +オプションが指定されたときだけ表示されます。 +.PP +出力側には以下の項目が表示されます: +.TP +.B OUT +このインタフェースから送信された総バイト数。 +.TP +.B PACK +このインタフェースから送信した総パケット数。 +.TP +.B VJCOMP +このインタフェースから送信された、 +TCP ヘッダを VJ 圧縮した TCP パケットの数。 +.TP +.B VJUNC +このインタフェースから送信された、 +TCP ヘッダを VJ 圧縮していない TCP パケットの数。 +.B -r +オプションが指定されたときは表示されません。 +.TP +.B NON-VJ +このインタフェースから送信された非 TCP パケットの総数。 +.B -r +オプションが指定されたときは表示されません。 +.TP +.B VJSRCH +VJ ヘッダ圧縮パケットのヘッダエントリをキャッシュで探索した回数。 +.B -v +オプションが指定されているときだけ表示されます。 +.TP +.B VJMISS +VJ ヘッダ圧縮パケットのヘッダエントリをキャッシュで探索して失敗した回数。 +.B -v +オプションが指定されているときだけ表示されます。 +.TP +.B RATIO +使用中のパケット圧縮方法で達成された、送信パケットの、 +圧縮後に対する圧縮前の大きさの比率で表した圧縮率。 +.B -r +オプションが指定されているときだけ表示されます。 +.TP +.B UBYTE +送信した圧縮パケットの圧縮前のバイト総数。 +.B -r +オプションが指定されているときだけ表示されます。 +.PP +.B -z +オプションが指定されている場合は、 +.B pppstats +は上記のものに替えて、 +現在使用中のパケット圧縮アルゴリズムについて以下の項目を表示します。 +パケット圧縮が使用されていない場合は、これらの項目はすべて 0 になります。 +入力側で表示される項目は: +.TP +.B COMPRESSED BYTE +受信した圧縮パケットのバイト数。 +.TP +.B COMPRESSED PACK +受信した圧縮パケットの数。 +.TP +.B INCOMPRESSIBLE BYTE +受信した圧縮不可能な (非圧縮形式で送られた) パケットのバイト数。 +.TP +.B INCOMPRESSIBLE PACK +受信した非圧縮パケットの数。 +.TP +.B COMP RATIO +(圧縮可能なものと不可能なものの両方を含めた) +圧縮後に対する圧縮前の大きさの比率で表した、 +受信パケットの目下の圧縮率。 +.PP +出力側で表示される項目は: +.TP +.B COMPRESSED BYTE +送信された圧縮パケットのバイト数。 +.TP +.B COMPRESSED PACK +送信された圧縮パケットの数。 +.TP +.B INCOMPRESSIBLE BYTE +送信された +(非圧縮の形式で送信された) +圧縮不可能なパケットのバイト数。 +.TP +.B INCOMPRESSIBLE PACK +送信された圧縮不可能なパケットの数。 +.TP +.B COMP RATIO +外へ出て行くパケットの目下の圧縮率。 +.SH 関連項目 +pppd(8)