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@gmail.com>
.\"
.\" 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 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 );
.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 ȥȥǥ쥯ȥ
.BR pivot_root ()
ѹ뤫ɤϤ狼ʤ
.BR pivot_root ()
θƤӤץϡŤ root 䥫ȥǥ쥯ȥȤäƤ
ץξǤư뤳ȤݾڤʤФʤʤ
ñ˹ԤˤϡΥץ root
ȥǥ쥯ȥ
.BR pivot_root ()
ƤӽФ
.I new_root
ѹƤȤǤ롣
嵭ϡ
.BR pivot_root ()
ѹ뤫ΤʤȤդߤơ虜ۣ˽Ƥ롣
ܥڡҤƤǤϡ
.BR pivot_root ()
ϸŤ root ǥ쥯ȥѤƤƤΥץåɤ root
ȥǥ쥯ȥ
.I new_root
ѹ롣ϥͥΥåɤŤ root ǥ쥯ȥ
busy ֤ˤʤɬפǤ롣Υåɤ
Ťǥ쥯ȥ root 䥫ȥǥ쥯ȥȤƤȡ
ե륷ƥ˰ڥʤǤ
Ť root busy ˤʤäƤޤǤ롣
.\"nakano: ȾĹ...
ϡͥ륹åɤե륷ƥؤΥ
Ūᥫ˥बǤΤǤФʵǽ
.BR pivot_root ()
뤫⤷ʤ
ϸƤӽФΥץˤĤƤƤϤޤ뤳Ȥա
.BR pivot_root ()
ȥץΥȥǥ쥯ȥ˱ƶ뤫ɤ
ʬʤä
.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
˥ޥȤ롣
.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 ()
Linux 2.3.41 Ƴ줿
.SH
.BR pivot_root ()
Linux ˸ͭΤΤʤΤǡܿϤʤ
.SH
glibc ϤΥƥॳФåѡؿƤʤ
.BR syscall (2)
ȤäƸƤӽФȡ
.SH Х
.BR pivot_root ()
ϥƥ¾ΥץƤ root
ȥǥ쥯ȥȤѹʤƤ褤ϤǤ롣
.BR pivot_root ()
λȤ⤦äۣˤʤȡ
äȤ֤ˤ櫓Τ狼ʤ֤ˤʤäƤޤ
.SH Ϣ
.BR chdir (2),
.BR chroot (2),
.BR stat (2),
.BR initrd (4),
.BR pivot_root (8)
|