'\" -*- coding: UTF-8 -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH lxc-unshare 1 2024-03-30 "" "" .SH NAME lxc-unshare \- 새로운 네임스페이스 내에서 태스크 실행 .SH SYNOPSIS 'nh .fi .ad l \*(T<\fBlxc\-unshare\fR\*(T> \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu {-s, --namespaces \fInamespaces\fR} [-u, --user \fIuser\fR] [-H, --hostname \fIhostname\fR] [-i, --ifname \fIifname\fR] [-d, --daemon] [-M, --remount] {command} 'in \n(.iu-\nxu .ad b 'hy .SH 설명 \fBlxc-unshare\fR는 복제된 네임스페이스 내에서 태스크를 실행한다. 이 명령어는 주로 테스트 목적으로 사용된다. 이러한 이름에도 불구하고, 새 네임스페이스에 새로운 태스크를 생성하기 위해 unshare 대신 clone을 사용한다. 테스트 중인 커널 버전이 낮아지지 않는다면, 별 차이는 없다. .SH 옵션 .TP \*(T<\fB\-s, \-\-namespaces \fR\*(T>\fInamespaces\fR 붙일 네임스페이스를 지정한다. \fINETWORK|IPC\fR와 같이 파이프(|)로 구분된 리스트를 사용할 수 있다. 허용되는 값은 \fIMOUNT\fR, \fIPID\fR, \fIUTSNAME\fR, \fIIPC\fR, \fIUSER \fR, \fINETWORK\fR이다. 이를 사용하여, 컨테이너의 네트워크 네임스페이스를 사용하면서도 다른 네임스페이스는 호스트의 것을 그대로 사용하는 등의 조작이 가능하다. (파이프 기호는 \fIMOUNT\e|PID\fR처럼 \e로 처리를 해주거나, \fI"MOUNT|PID"\fR처럼 따옴표를 붙여야 한다.) .TP \*(T<\fB\-u, \-\-user \fR\*(T>\fIuser\fR 새로운 태스크를 실행할 사용자를 지정한다. .TP \*(T<\fB\-H, \-\-hostname \fR\*(T>\fIhostname\fR 새로운 컨테이너의 호스트이름을 지정한다. UTS 네임스페이스가 설정되었을 때만 가능하다. .TP \*(T<\fB\-i, \-\-ifname \fR\*(T>\fIinterfacename\fR 지정한 이름의 네트워크 인터페이스를 컨테이너 내부로 옮긴다. NETWORK 네임스페이스가 설정되었을 때만 가능하다. 여러개의 인터페이스를 옮기기 위해 여러번 이 인수를 지정하는 것도 가능하다. .TP \*(T<\fB\-d, \-\-daemon\fR\*(T> 데몬화 한다. (컨테이너가 종료되기 전까지 기다리지 않는다) .TP \*(T<\fB\-M, \-\-remount\fR\*(T> 컨테이너 내부에 (/proc /dev/shm and /dev/mqueue)같은 기본 파일 시스템들을 마운트 한다. MOUNT 네임스페이스가 설정되었을 때만 가능하다. .SH 예제 자신만의 UTS(hostname) 네임스페이스를 갖는 새로운 쉘을 실행하려면 아래처럼 하면 된다. .nf \*(T< lxc\-unshare \-s UTSNAME /bin/bash \*(T> .fi 만약, 그 쉘에서 호스트이름이 변경되어도 호스트에는 영향을 끼치지 않는다. .PP 새로운 네트워크, PID, 마운트 네임스페이스 내에 쉘을 실행하려면, 아래처럼 하면 된다. .nf \*(T< lxc\-unshare \-s "NETWORK|PID|MOUNT" /bin/bash \*(T> .fi 그 결과 생긴 쉘은 1번 pid를 갖는다. 그리고 네트워크 인터페이스는 없다. 이 쉘에서 아래처럼 /proc을 다시 마운트하고 .nf \*(T< mount \-t proc proc /proc \*(T> .fi ps 명령어를 입력하면, 네임스페이스 내에서 다른 프로세스들은 보이지 않을 것이다. .PP 새로운 네트워크, PID, 마운트 그리고 호스트 이름(UTS) 네임스페이스 내에 쉘을 실행하려면, 아래처럼 하면 된다. .nf \*(T< lxc\-unshare \-s "NETWORK|PID|MOUNT|UTSNAME" \-M \-H myhostname \-i veth1 /bin/bash \*(T> .fi 그 결과 생긴 쉘은 1번 pid를 갖는다. 그리고 2개의 네트워크 인터페이스(lo와 veth1)를 갖는다. 호스트 이름은 "myhostname"이고, /proc은 다시 마운트 된다. ps 명령어를 입력하면, 네임스페이스 내에서 다른 프로세스들은 보이지 않을 것이다. .SH 참조 \fBlxc\fR(7), \fBlxc-create\fR(1), \fBlxc-copy\fR(1), \fBlxc-destroy\fR(1), \fBlxc-start\fR(1), \fBlxc-stop\fR(1), \fBlxc-execute\fR(1), \fBlxc-console\fR(1), \fBlxc-monitor\fR(1), \fBlxc-wait\fR(1), \fBlxc-cgroup\fR(1), \fBlxc-ls\fR(1), \fBlxc-info\fR(1), \fBlxc-freeze\fR(1), \fBlxc-unfreeze\fR(1), \fBlxc-attach\fR(1), \fBlxc.conf\fR(5) .SH 저자 Daniel Lezcano <\*(T>