|
|||||||
|
|
PIVOT_ROOTSection: System Calls (2)Updated: Feb 23, 2000 Index Return to Main Contents ̾Á°pivot_root - root ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÊѹ¹¤¹¤ë½ñ¼°#include <linux/unistd.h>_syscall2(int,pivot_root,const char *,new_root,const char *,put_old) int pivot_root(const char *new_root, const char *put_old); ÀâÌÀpivot_root ¤Ï¥«¥ì¥ó¥È¥×¥í¥»¥¹¤Î root ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò put_old ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢ new_root ¤ò¥«¥ì¥ó¥È¥×¥í¥»¥¹¤Î¿·¤·¤¤ root ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤¹¤ë¡£pivot_root ¤Îŵ·¿Åª¤ÊÍøÍÑË¡¤Ï¡¢¥·¥¹¥Æ¥à¤Îµ¯Æ°Ãæ¤Ë¥·¥¹¥Æ¥à¤¬°ì»þŪ¤Ê root ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à (Î㤨¤Ð initrd) ¤ò¥Þ¥¦¥ó¥È¤·¡¢¤³¤ì¤Ë³¤¤¤ÆËÜÅö¤Î root ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤·¡¢ ¸å¼Ô¤òɬÍפÊÁ´¤Æ¤Î¥×¥í¥»¥¹¡¦¥¹¥ì¥Ã¥É¤Î ¥«¥ì¥ó¥È root ¤ËÊѹ¹¤¹¤ë¤è¤¦¤Ê¾ì¹ç¤Ç¤¢¤ë¡£ ¸Å¤¤ root ¥Ç¥£¥ì¥¯¥È¥ê¤ò»È¤Ã¤Æ¤¤¤¿Á´¤Æ¤Î¥×¥í¥»¥¹¤ä¥¹¥ì¥Ã¥É¤Î ¥«¥ì¥ó¥È root ¤È¥«¥ì¥ó¥È¥ï¡¼¥¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê (cwd) ¤ò¡¢ pivot_root ¤¬Êѹ¹¤¹¤ë¤«¤É¤¦¤«¤Ï¤ï¤«¤é¤Ê¤¤¡£ pivot_root ¤Î¸Æ¤Ó¤À¤·¥×¥í¥»¥¹¤Ï¡¢¸Å¤¤ root / cwd ¤ò»È¤Ã¤Æ¤¤¤¿¥×¥í¥»¥¹¤¬¡¢ ¤¤¤º¤ì¤Î¾ì¹ç¤Ç¤âÀµ¤·¤¯Æ°ºî¤¹¤ë¤³¤È¤òÊݾڤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤³¤ì¤ò´Êñ¤Ë¹Ô¤¦¤Ë¤Ï¡¢¤½¤ì¤é¤Î¥×¥í¥»¥¹¤Î root ¤È cwd ¤ò pivot_root ¤ò¸Æ¤Ó½Ð¤¹Á°¤Ë new_root ¤ËÊѹ¹¤·¤Æ¤ª¤¯¤³¤È¤Ç¤¢¤ë¡£ ¾åµ¤ÎÃÊÍî¤Ï¡¢¾Íè pivot_root ¤¬Êѹ¹¤µ¤ì¤ë¤«¤âÃΤì¤Ê¤¤¤³¤È¤ò´Õ¤ß¤Æ¡¢¤ï¤¶¤ÈÛ£Ëæ¤Ë½ñ¤¤¤Æ¤¢¤ë¡£ ËÜ¥Ú¡¼¥¸¤òµ½Ò¤·¤Æ¤¤¤ë»þÅÀ¤Ç¤Ï¡¢ pivot_root ¤Ï¸Å¤¤ root ¥Ç¥£¥ì¥¯¥È¥ê¤òÍѤ¤¤Æ¤¤¤ëÁ´¤Æ¤Î¥×¥í¥»¥¹¡¦¥¹¥ì¥Ã¥É¤Î root ¤È cwd ¤ò new_root ¤ËÊѹ¹¤¹¤ë¡£¤³¤ì¤Ï¥«¡¼¥Í¥ë¤Î¥¹¥ì¥Ã¥É¤¬¸Å¤¤ root ¥Ç¥£¥ì¥¯¥È¥ê¤ò busy ¾õÂ֤ˤ·¤Ê¤¤¤¿¤á¤ËɬÍפǤ¢¤ë¡£¤³¤ì¤é¤Î¥¹¥ì¥Ã¥É¤¬ ¸Å¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ò root / cwd ¤È¤·¤Æ¤¤¤ë¤È¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë °ìÀÚ¥¢¥¯¥»¥¹¤·¤Ê¤¤¾ì¹ç¤Ç¤â¸Å¤¤ root ¤¬ busy ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¢¤ë¡£ ¾Íè¤Ï¡¢¥«¡¼¥Í¥ë¥¹¥ì¥Ã¥É¤¬¤¢¤é¤æ¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹¤ò ÌÀ¼¨Åª¤ËÊü´þ¤¹¤ë¥á¥«¥Ë¥º¥à¤¬¤Ç¤¡¢¤³¤Î¤Ç¤·¤ã¤Ð¤ê¤Êµ¡Ç½¤Ï pivot_root ¤«¤éºï½ü¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£ ¤³¤ì¤Ï¥«¥ì¥ó¥È¥×¥í¥»¥¹¤Ë¤Ä¤¤¤Æ¤âÅö¤Æ¤Ï¤Þ¤ë¤³¤È¤ËÃí°Õ¡£ pivot_root ¤¬¥«¥ì¥ó¥È¥×¥í¥»¥¹¤Î cwd ¤Ë±Æ¶Á¤¹¤ë¤«¤É¤¦¤«¤Ï¤ï¤«¤é¤Ê¤¤¡£ ¤·¤¿¤¬¤Ã¤Æ pivot_root ¤Îľ¸å¤Ë chdir(/) ¤ò¸Æ¤Ó½Ð¤¹¤È¤è¤¤¡£ new_root ¤ª¤è¤Ó put_old ¤Ë¤Ï°Ê²¼¤ÎÀ©¸Â¤¬¤¢¤ë:
ÍøÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï pivot_root(8) ¤ò»²¾È¤Î¤³¤È¡£ ¸½ºß¤Î root ¤¬¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Ç¤Ï¤Ê¤¤ (chroot(2) ¤ä pivot_root ¤Î¸å¤Ê¤É¡£°Ê²¼¤â»²¾È) ¾ì¹ç¡¢ ¸Å¤¤ root ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯¡¢ ¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤¬ put_old ¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤ë¡£ Ãí°Õnew_root ¤Ï¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Ç¤Ê¤¯¤Æ¤â¤è¤¤¡£ ¤³¤Î¾ì¹ç /proc/mounts ¤Ï¡¢ new_root ¤ò root (/) ¤È¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤òɽ¼¨¤¹¤ë¡£ÊÖ¤êÃÍÀ®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤¬µ¯¤ë¤È -1 ¤òÊÖ¤·¡¢ errno ¤¬Å¬ÀÚ¤ÊÃͤËÀßÄꤵ¤ì¤ë¡£¥¨¥é¡¼pivot_root ¤Ï stat(2) ¤ÎÊÖ¤¹¤¢¤é¤æ¤ë¥¨¥é¡¼¤ò (errno ¤Ë) ÊÖ¤¹²ÄǽÀ¤¬¤¢¤ë¡£¤µ¤é¤Ë°Ê²¼¤òÊÖ¤¹¤³¤È¤¬¤¢¤ë:
¥Ð¥°pivot_root ¤Ï¥·¥¹¥Æ¥à¤Î¾¤Î¥×¥í¥»¥¹Á´¤Æ¤Î root ¤È cwd ¤È¤òÊѹ¹¤·¤Ê¤¯¤Æ¤â¤è¤¤¤Ï¤º¤Ç¤¢¤ë¡£pivot_root ¤Î»È¤¤Êý¤¬¤â¤¦¤Á¤ç¤Ã¤ÈÛ£Ëæ¤Ë¤Ê¤ë¤È¡¢ ¤¢¤Ã¤È¤¤¤¦´Ö¤Ë¤ï¤±¤Î¤ï¤«¤é¤Ê¤¤¾õÂ֤ˤʤäƤ·¤Þ¤¦¤À¤í¤¦ ½àµòpivot_root ¤Ï Linux ¤Ë¸ÇͤΤâ¤Î¤Ê¤Î¤Ç¡¢°Ü¿¢À¤Ï¤Ê¤¤¡£ÍúÎòpivot_root ¤Ï Linux 2.3.41 ¤ÇƳÆþ¤µ¤ì¤¿¡£´ØÏ¢¹àÌÜchdir(2), chroot(2), initrd(4), pivot_root(8), stat(2)
Index | ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright. 1999-2008 Linuxinfor.com. No rights reserved. |