X-Git-Url: http://git.osdn.net/view?p=linuxjm%2FLDP_man-pages.git;a=blobdiff_plain;f=release%2Fman2%2Fpivot_root.2;h=3ab5e49396ded49c14d44b87e83aebbbc42fad2e;hp=6e2b1da993cbf8f7e2cd10ab52e70c9ce3f196b2;hb=4fa3e54b837e5814a4598ec901d77446bf5cb9b3;hpb=f8a251df75590049b7aa6f3cd698b6ce733b1ea5 diff --git a/release/man2/pivot_root.2 b/release/man2/pivot_root.2 index 6e2b1da9..3ab5e493 100644 --- a/release/man2/pivot_root.2 +++ b/release/man2/pivot_root.2 @@ -4,170 +4,90 @@ .\" Written 2000-02-23 by Werner Almesberger .\" Modified 2004-06-17 Michael Kerrisk .\" -.\" Japanese Version Copyright (c) 2000 NAKANO Takeo all rights reserved. -.\" Translated Wed Jun 14 2000 by NAKANO Takeo +.\"******************************************************************* .\" -.TH PIVOT_ROOT 2 2007-06-01 "Linux" "Linux Programmer's Manual" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH PIVOT_ROOT 2 2007\-06\-01 Linux "Linux Programmer's Manual" .SH 名前 pivot_root \- root ファイルシステムを変更する .SH 書式 -.BI "int pivot_root(const char *" new_root ", const char *" put_old ); +\fBint pivot_root(const char *\fP\fInew_root\fP\fB, const char *\fP\fIput_old\fP\fB);\fP .SH 説明 -.BR pivot_root () -は呼び出し元のプロセスの root ファイルシステムを -.I put_old -ディレクトリに移動し、 -.I new_root -を呼び出し元のプロセスの新しい root ファイルシステムにする。 .\" +.\" The .\" .B CAP_SYS_ADMIN -.\" ケーパビリティが必要である。 +.\" capability is required. +\fBpivot_root\fP() は呼び出し元のプロセスの root ファイルシステムを \fIput_old\fP ディレクトリに移動し、 +\fInew_root\fP を呼び出し元のプロセスの新しい root ファイルシステムにする。 -.BR pivot_root () -の典型的な利用法は、システムの起動中にシステムが一時的な -root ファイルシステム (例えば -.BR initrd ) -をマウントし、これに続いて本当の root ファイルシステムをマウントし、 -後者を必要な全てのプロセス・スレッドの -カレント root に変更するような場合である。 +\fBpivot_root\fP() の典型的な利用法は、システムの起動中にシステムが一時的な root ファイルシステム (例えば \fBinitrd\fP) +をマウントし、これに続いて本当の root ファイルシステムをマウントし、 後者を必要な全てのプロセス・スレッドの カレント root +に変更するような場合である。 -古い root ディレクトリを使っていた全てのプロセスやスレッドの -カレント root とカレントワーキングディレクトリを、 -.BR pivot_root () -が変更するかどうかはわからない。 -.BR pivot_root () -の呼びだしプロセスは、古い root やカレントワーキングディレクトリを使っていた -プロセスが、いずれの場合でも正しく動作することを保証しなければならない。 -これを簡単に行うには、それらのプロセスの root と -カレントワーキングディレクトリを -.BR pivot_root () -を呼び出す前に -.I new_root -に変更しておくことである。 +古い root ディレクトリを使っていた全てのプロセスやスレッドの カレント root とカレントワーキングディレクトリを、 +\fBpivot_root\fP() が変更するかどうかはわからない。 \fBpivot_root\fP() の呼びだしプロセスは、古い root +やカレントワーキングディレクトリを使っていた プロセスが、いずれの場合でも正しく動作することを保証しなければならない。 +これを簡単に行うには、それらのプロセスの root と カレントワーキングディレクトリを \fBpivot_root\fP() を呼び出す前に +\fInew_root\fP に変更しておくことである。 -上記の段落は、将来 -.BR pivot_root () -が変更されるかも知れないことを鑑みて、わざと曖昧に書いてある。 -本ページを記述している時点では、 -.BR pivot_root () -は古い root ディレクトリを用いている全てのプロセス・スレッドの root と -カレントワーキングディレクトリを -.I new_root -に変更する。これはカーネルのスレッドが古い root ディレクトリを -busy 状態にしないために必要である。これらのスレッドが -古いディレクトリを root やカレントワーキングディレクトリとしていると、 -ファイルシステムに一切アクセスしない場合でも -古い root が busy になってしまうからである。 -.\"nakano: ちと冗長... -将来は、カーネルスレッドがあらゆるファイルシステムへのアクセスを -明示的に放棄するメカニズムができ、このでしゃばりな機能は -.BR pivot_root () -から削除されるかもしれない。 +上記の段落は、将来 \fBpivot_root\fP() が変更されるかも知れないことを鑑みて、わざと曖昧に書いてある。 本ページを記述している時点では、 +\fBpivot_root\fP() は古い root ディレクトリを用いている全てのプロセス・スレッドの root と カレントワーキングディレクトリを +\fInew_root\fP に変更する。これはカーネルのスレッドが古い root ディレクトリを busy 状態にしないために必要である。これらのスレッドが +古いディレクトリを root やカレントワーキングディレクトリとしていると、 ファイルシステムに一切アクセスしない場合でも 古い root が busy +になってしまうからである。 将来は、カーネルスレッドがあらゆるファイルシステムへのアクセスを 明示的に放棄するメカニズムができ、このでしゃばりな機能は +\fBpivot_root\fP() から削除されるかもしれない。 -これは呼び出し元のプロセスについても当てはまることに注意。 -.BR pivot_root () -がカレントプロセスのカレントワーキングディレクトリに影響するかどうかは -分からない。したがって -.BR pivot_root () -の直後に -.B chdir("/") -を呼び出すとよい。 +これは呼び出し元のプロセスについても当てはまることに注意。 \fBpivot_root\fP() +がカレントプロセスのカレントワーキングディレクトリに影響するかどうかは 分からない。したがって \fBpivot_root\fP() の直後に +\fBchdir("/")\fP を呼び出すとよい。 -.IR new_root " および " put_old -には以下の制限がある: +\fInew_root\fP および \fIput_old\fP には以下の制限がある: .IP \- 3 ディレクトリでなければならない。 .IP \- 3 -.IR new_root " と " put_old -は現在の root と同じファイルシステムにあってはならない。 +\fInew_root\fP と \fIput_old\fP は現在の root と同じファイルシステムにあってはならない。 .IP \- 3 -.IR put_old " は " new_root -以下になければならない。すなわち -.I put_old -を差す文字列に 1 個以上の -.I ../ -を付けることによって -.I new_root -と同じディレクトリが得られなければならない。 +\fIput_old\fP は \fInew_root\fP 以下になければならない。すなわち \fIput_old\fP を差す文字列に 1 個以上の \fI../\fP +を付けることによって \fInew_root\fP と同じディレクトリが得られなければならない。 .IP \- 3 -他のファイルシステムが -.I put_old -にマウントされていてはならない。 +他のファイルシステムが \fIput_old\fP にマウントされていてはならない。 .PP -利用例については -.BR pivot_root (8) -を参照のこと。 +利用例については \fBpivot_root\fP(8) を参照のこと。 -現在の root がマウントポイントではない -.RB ( chroot (2) -や -.BR pivot_root () -の後など。以下も参照) 場合、 -古い root ディレクトリではなく、 -そのファイルシステムのマウントポイントが -.I put_old -にマウントされる。 +現在の root がマウントポイントではない (\fBchroot\fP(2) や \fBpivot_root\fP() の後など。以下も参照) 場合、 古い +root ディレクトリではなく、 そのファイルシステムのマウントポイントが \fIput_old\fP にマウントされる。 -.I new_root -はマウントポイントでなくてもよい。 -この場合 -.I /proc/mounts -は、 -.I new_root -を root -.RI ( / ) -とするファイルシステムのマウントポイントを表示する。 +\fInew_root\fP はマウントポイントでなくてもよい。 この場合 \fI/proc/mounts\fP は、 \fInew_root\fP を root +(\fI/\fP) とするファイルシステムのマウントポイントを表示する。 .SH 返り値 -成功すると 0 を返す。エラーが起ると \-1 を返し、 -.I errno -が適切な値に設定される。 +成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 .SH エラー -.BR pivot_root () -は -.BR stat (2) -の返すあらゆるエラーを -.RI ( errno -に) 返す可能性がある。さらに以下を返すことがある: -.TP -.B EBUSY -.IR new_root " または " put_old -が、現在の root ファイルシステム上にあるか、既に -.I put_old +\fBpivot_root\fP() は \fBstat\fP(2) の返すあらゆるエラーを (\fIerrno\fP に) +返す可能性がある。さらに以下を返すことがある: +.TP +\fBEBUSY\fP +\fInew_root\fP または \fIput_old\fP が、現在の root ファイルシステム上にあるか、既に \fIput_old\fP になんらかのファイルシステムがマウントされている。 -.TP -.B EINVAL -.IR put_old " が " new_root -の下層にない。 -.TP -.B ENOTDIR -.IR new_root " または " put_old -がディレクトリでない。 -.TP -.B EPERM -呼び出し元のプロセスが -.B CAP_SYS_ADMIN -ケーパビリティを持っていない。 +.TP +\fBEINVAL\fP +\fIput_old\fP が \fInew_root\fP の下層にない。 +.TP +\fBENOTDIR\fP +\fInew_root\fP または \fIput_old\fP がディレクトリでない。 +.TP +\fBEPERM\fP +呼び出し元のプロセスが \fBCAP_SYS_ADMIN\fP ケーパビリティを持っていない。 .SH バージョン -.BR pivot_root () -は Linux 2.3.41 で導入された。 +\fBpivot_root\fP() は Linux 2.3.41 で導入された。 .SH 準拠 -.BR pivot_root () -は Linux に固有のものなので、移植性はない。 +\fBpivot_root\fP() は Linux に固有のものなので、移植性はない。 .SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していない。 -.BR syscall (2) -を使って呼び出すこと。 +glibc はこのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。 .SH バグ -.BR pivot_root () -はシステムの他のプロセス全ての root と -カレントワーキングディレクトリとを変更しなくてもよいはずである。 +\fBpivot_root\fP() はシステムの他のプロセス全ての root と カレントワーキングディレクトリとを変更しなくてもよいはずである。 -.BR pivot_root () -の使い方がもうちょっと曖昧になると、 -あっという間にわけのわからない状態になってしまうだろう +\fBpivot_root\fP() の使い方がもうちょっと曖昧になると、 あっという間にわけのわからない状態になってしまうだろう .SH 関連項目 -.BR chdir (2), -.BR chroot (2), -.BR stat (2), -.BR initrd (4), -.BR pivot_root (8) +\fBchdir\fP(2), \fBchroot\fP(2), \fBstat\fP(2), \fBinitrd\fP(4), \fBpivot_root\fP(8)