1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
.\" This man page is a part of util-linux.
.\"
.\" Japanese Version Copyright (c) 2000 NAKANO Takeo all rights reserved.
.\" Translated Wed Jun 14 2000 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
.\"
.TH PIVOT_ROOT 8 "Feb 23, 2000" "Linux" "Maintenance Commands"
.SH 名前
pivot_root \- root ファイルシステムを変更する
.SH 書式
.B pivot_root
.RB \fInew_root\fP
.RB \fIput_old\fP
.SH 説明
.B pivot_root
はカレントプロセスの root ファイルシステムを
.I put_old
ディレクトリに移動し、
.I new_root
を新しい root ファイルシステムにする。
.BR pivot_root (8)
は
.BR pivot_root (2)
を呼び出しているだけなので、詳細は後者の man ページにあたって欲しい。
呼び出しプロセスの root とカレントワーキングディレクトリ (cwd) は
.B pivot_root
の実装に依存して変わったり変わらなかったりする。
以下はどちらの場合にも動作する
.B pivot_root
の起動方法だが、
.BR pivot_root " と " chroot " の両方が現在の " PATH
に入っている必要がある。
.sp
cd \fInew_root\fP
.br
pivot_root . \fIput_old\fP
.br
exec chroot . \fIcommand\fP
.sp
.B chroot
は古い root と新しい root の両方で使えなければならない。
なぜなら
.B pivot_root
がシェルの root ディレクトリを暗黙のうちに変更するかどうかは
わからないからである。
.B exec chroot
は動作している実行ファイルを変更する。
これは後で古い root ディレクトリがアンマウントされるために必要なのである。
また標準入力・標準出力・標準エラー出力が古い root ファイルシステムの
デバイスを指していて、 root ファイルシステムを
busy 状態にするかもしれない。
これらは
.B chroot
を実行するときに簡単に変更できる (以下を参照。
先頭のスラッシュがないので (相対パスで指定しているので)、
.B pivot_root
がシェルの root を変更する場合でもしない場合でも動作することに注目。)
.SH 例
対話シェルから root ファイルシステムを /dev/hda1 に変更する:
.sp
.nf
mount /dev/hda1 /new-root
cd /new-root
pivot_root . old-root
exec chroot . sh <dev/console >dev/console 2>&1
umount /old-root
.fi
.sp
新しい root ファイルシステムを 10.0.0.1:/my_root から
NFS でマウントし、
.B init
を起動する:
.sp
.nf
ifconfig lo 127.0.0.1 up # for portmap
# configure Ethernet or such
portmap # for lockd (implicitly started by mount)
mount -o ro 10.0.0.1:/my_root /mnt
killall portmap # portmap keeps old root busy
cd /mnt
pivot_root . old_root
exec chroot . sh -c 'umount /old_root; exec /sbin/init' \\
<dev/console >dev/console 2>&1
.fi
.SH 関連項目
.BR chroot (1),
.BR mount (8),
.BR pivot_root (2),
.BR umount (8)
|