Rechercher une page de manuel
pivot_root
Langue: ko
Version: Feb 23, 2000 (fedora - 25/11/07)
Section: 2 (Appels système)
이름
pivot_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는 디렉토리 put_old로 현재 프로세스의 루트 파일시스템을 옮기고, 현재 프로세스의 새로운 파일시스템 new_root를 만든다. 의 전형적인 사용은 시스템이 임시 루트 파일시스템을 마운트할 때인 시스템 부팅동안이다. 그리고나서 실제 루트 파일 시스템을 마운트하고, 결국 모든 관련된 프로세스들과 쓰레드의 현재 루트안에 후자로 바꾼다. pivot_root는 현재 루트와 모든 프로세스나 쓰레드의 현재 작업중인 디렉토리(cwd)를 변화시키나 그렇지 않을 수도 있다. pivot_root의 caller는 루트나 cwd의 프로세스를 확인해야만 한다. 확인의 쉬운 방법은 pivot_root 이 실행되기 전에 new_root로 루트, cwd를 바꾸는 것이다. 이것은 또한 현재 프로세스에 적용한다는 것을 주지한다:pivot_root는 cwd에 영향을 받을 수도 있고 그렇지 않을 수도 있다. 그러므로 그것은 pivot_root후에 즉시 chdir("/") 호출을 명령한다. 다음의 제한은 new_root와 put_old를 적용한다:- -
- 디렉토리여만 한다.
- -
- new_root 와 put_old는 현재 루트와 같은 파일 시스템이 아니어야한다.
- -
- put_old는 new_root 아래이어야만 한다.
- -
- 어떠한 다른 파일 시스템도 put_old에 마운트되지 않았을 런지 모른댜.
추가 사용예제를 위해 pivot_root(8)를 본다.
주의
new_root는 마운트 포인트가 되지않아야 한다.반환값
성공시, 0이 반환된다. 실패시,-1이 반환되고 errno는 적절히 설정된다.에러
pivot_root는 stat(2)에 의해 반환된 에러의 대부분을 반환할런지 모른다. 추가적으로, 아 래의 사항이 반환될런지도 모른다:- EBUSY
- new_root 나put_old는 현재 루트파일시스템에 있거나 파일 시스템이 이미 put_old에 마운트 되었다.
- EINVAL
- put_old가 new_root밑에 없다.
- ENOTDIR
- new_root 나 put_old가 디렉토리가 아니다.
- EPERM
- 현재 프로세스가 관리자 기능이 없다.
버그
pivot_root는 시스템의 모든 다른 프로세스들의 루트와 cwd를 바꾸지 않아야만 했다.호환
pivot_root는 리눅스에서만 쓰이므로 이식될 수 없다.역사
pivot_root는 리눅스 2.3.41에서 소개 되었다.관련 항목
chdir(2), chroot(2), initrd(4), pivot_root(8), stat(2)역자
ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 26Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre