other versions
other sections
PIVOT_ROOT(2) | Linux Programmer's Manual | PIVOT_ROOT(2) |
名前¶
pivot_root - root ファイルシステムを変更する書式¶
int pivot_root(const char *new_root, const char *put_old );説明¶
pivot_root() は呼び出し元のプロセスの root ファイルシステムを put_old ディレクトリに移動し、 new_root を呼び出し元のプロセスの新しい root ファイルシステムにする。- -
- ディレクトリでなければならない。
- -
- new_root と put_old は現在の root と同じファイルシステムにあってはならない。
- -
- put_old は new_root 以下になければならない。すなわち put_old を差す文字列に 1 個以上の ../ を付けることによって new_root と同じディレクトリが得られなければならない。
- -
- 他のファイルシステムが put_old にマウントされていてはならない。
返り値¶
成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。エラー¶
pivot_root() は stat(2) の返すあらゆるエラーを ( errno に) 返す可能性がある。さらに以下を返すことがある:- EBUSY
- new_root または put_old が、現在の root ファイルシステム上にあるか、既に put_old になんらかのファイルシステムがマウントされている。
- EINVAL
- put_old が new_root の下層にない。
- ENOTDIR
- new_root または put_old がディレクトリでない。
- EPERM
- 呼び出し元のプロセスが CAP_SYS_ADMIN ケーパビリティを持っていない。
バージョン¶
pivot_root() は Linux 2.3.41 で導入された。準拠¶
pivot_root() は Linux に固有のものなので、移植性はない。注意¶
glibc はこのシステムコールに対するラッパー関数を提供していない。 syscall(2) を使って呼び出すこと。バグ¶
pivot_root() はシステムの他のプロセス全ての root と カレントワーキングディレクトリとを変更しなくてもよいはずである。関連項目¶
chdir(2), chroot(2), stat(2), initrd(4), pivot_root(8)この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 3.41 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2007-06-01 | Linux |