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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
|
.\" Copyright (C) 2000 by Werner Almesberger
.\" May be distributed under GPL
.\"
.\" Written 2000-02-23 by Werner Almesberger
.\" Modified 2004-06-17 Michael Kerrisk <mtk-manpages@gmx.net>
.\"
.\" 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 2 2004-06-17 "Linux 2.6.7" "Linux Programmer's Manual"
.SH ̾
pivot_root \- root ե륷ƥѹ
.SH
.B #include <linux/unistd.h>
.br
.B #include <errno.h>
.sp
.B _syscall2(int,pivot_root,const char *,new_root,const char *,put_old)
/* Using \fBsyscall\fP(2) may be preferable; see \fBintro\fP(2) */
.sp
.BI "int pivot_root(const char *" new_root ", const char *" put_old );
.SH
.BR pivot_root ()
ϥȥץ root ե륷ƥ
.I put_old
ǥ쥯ȥ˰ư
.I new_root
ȥץο root ե륷ƥˤ롣
.\"
.\" .B CAP_SYS_ADMIN
.\" ѥӥƥɬפǤ롣
.BR pivot_root ()
ŵŪˡϡƥεư˥ƥबŪ
root ե륷ƥ (㤨
.BR initrd )
ޥȤ³ root ե륷ƥޥȤ
ԤɬפƤΥץåɤ
root ѹ褦ʾǤ롣
Ť root ǥ쥯ȥȤäƤƤΥץ䥹åɤ
root ȥȥǥ쥯ȥ (cwd)
.BR pivot_root ()
ѹ뤫ɤϤ狼ʤ
.BR pivot_root ()
θƤӤץϡŤ root / cwd ȤäƤץ
ξǤư뤳ȤݾڤʤФʤʤ
ñ˹ԤˤϡΥץ root cwd
.BR pivot_root ()
ƤӽФ
.I new_root
ѹƤȤǤ롣
嵭ϡ
.BR pivot_root ()
ѹ뤫ΤʤȤդߤơ虜ۣ˽Ƥ롣
ܥڡҤƤǤϡ
.BR pivot_root ()
ϸŤ root ǥ쥯ȥѤƤƤΥץåɤ root cwd
.I new_root
ѹ롣ϥͥΥåɤŤ root ǥ쥯ȥ
busy ֤ˤʤɬפǤ롣Υåɤ
Ťǥ쥯ȥ root / cwd ȤƤȡե륷ƥ
ڥʤǤŤ root busy ˤʤäƤޤǤ롣
.\"nakano: ȾĹ...
ϡͥ륹åɤե륷ƥؤΥ
Ūᥫ˥बǤΤǤФʵǽ
.BR pivot_root ()
뤫⤷ʤ
ϥȥץˤĤƤƤϤޤ뤳Ȥա
.BR pivot_root ()
ȥץ cwd ˱ƶ뤫ɤϤ狼ʤ
ä
.BR pivot_root ()
ľ
.B chdir("/")
ƤӽФȤ褤
.IR new_root " " put_old
ˤϰʲ¤:
.IP \- 3
ǥ쥯ȥǤʤФʤʤ
.IP \- 3
.IR new_root " " put_old
ϸߤ root Ʊե륷ƥˤäƤϤʤʤ
.IP \- 3
.IR put_old " " new_root
ʲˤʤФʤʤʤ
.I put_old
ʸ 1 İʾ
.I ../
դ뤳Ȥˤä
.I new_root
Ʊǥ쥯ȥ꤬ʤФʤʤ
.IP \- 3
¾Υե륷ƥब
.I put_old
˥ޥȤƤƤϤʤʤ
.PP
ˤĤƤ
.BR pivot_root (8)
ȤΤȡ
ߤ root ޥȥݥȤǤϤʤ
.RB ( chroot (2)
.BR pivot_root ()
θʤɡʲ⻲) 硢
Ť root ǥ쥯ȥǤϤʤ
Υե륷ƥΥޥȥݥȤ
.I put_old
˥ޥȤ롣
.SH
.I new_root
ϥޥȥݥȤǤʤƤ褤
ξ
.I /proc/mounts
ϡ
.I new_root
root
.RI ( / )
Ȥե륷ƥΥޥȥݥȤɽ롣
.SH ֤
0 ֤顼 \-1 ֤
.I errno
Ŭڤͤꤵ롣
.SH 顼
.BR pivot_root ()
.BR stat (2)
֤륨顼
.RI ( errno
) ֤ǽ롣˰ʲ֤Ȥ:
.TP
.B EBUSY
.IR new_root " ޤ " put_old
ߤ root ե륷ƥˤ뤫
.I put_old
ˤʤ餫Υե륷ƥबޥȤƤ롣
.TP
.B EINVAL
.IR put_old " " new_root
βؤˤʤ
.TP
.B ENOTDIR
.IR new_root " ޤ " put_old
ǥ쥯ȥǤʤ
.TP
.B EPERM
ȥץ
.B CAP_SYS_ADMIN
ѥӥƥäƤʤ
.SH Х
.BR pivot_root ()
ϥƥ¾ΥץƤ root
cwd ȤѹʤƤ褤ϤǤ롣
.BR pivot_root ()
λȤ⤦äۣˤʤȡ
äȤ֤ˤ櫓Τ狼ʤ֤ˤʤäƤޤ
.SH
.BR pivot_root ()
Linux ˸ͭΤΤʤΤǡܿϤʤ
.SH
.BR pivot_root ()
Linux 2.3.41 Ƴ줿
.SH Ϣ
.BR chdir (2),
.BR chroot (2),
.BR stat (2),
.BR initrd (4),
.BR pivot_root (8)
|