NAME
lxc-unshare - 새로운 네임스페이스 내에서 태스크 실행SYNOPSIS
lxc-unshare
{-s, --namespaces namespaces} [-u, --user user] [-H, --hostname hostname] [-i, --ifname ifname] [-d, --daemon] [-M, --remount] {command}
설명
lxc-unshare는 복제된 네임스페이스 내에서 태스크를 실행한다. 이 명령어는 주로 테스트 목적으로 사용된다. 이러한 이름에도 불구하고, 새 네임스페이스에 새로운 태스크를 생성하기 위해 unshare 대신 clone을 사용한다. 테스트 중인 커널 버전이 낮아지지 않는다면, 별 차이는 없다.옵션
- -s, --namespaces namespaces
- 붙일 네임스페이스를 지정한다. NETWORK|IPC와 같이 파이프(|)로 구분된 리스트를 사용할 수 있다. 허용되는 값은 MOUNT, PID, UTSNAME, IPC, USER , NETWORK이다. 이를 사용하여, 컨테이너의 네트워크 네임스페이스를 사용하면서도 다른 네임스페이스는 호스트의 것을 그대로 사용하는 등의 조작이 가능하다. (파이프 기호는 MOUNT\|PID처럼 \로 처리를 해주거나, "MOUNT|PID"처럼 따옴표를 붙여야 한다.)
- -u, --user user
- 새로운 태스크를 실행할 사용자를 지정한다.
- -H, --hostname hostname
- 새로운 컨테이너의 호스트이름을 지정한다. UTS 네임스페이스가 설정되었을 때만 가능하다.
- -i, --ifname interfacename
- 지정한 이름의 네트워크 인터페이스를 컨테이너 내부로 옮긴다. NETWORK 네임스페이스가 설정되었을 때만 가능하다. 여러개의 인터페이스를 옮기기 위해 여러번 이 인수를 지정하는 것도 가능하다.
- -d, --daemon
- 데몬화 한다. (컨테이너가 종료되기 전까지 기다리지 않는다)
- -M, --remount
- 컨테이너 내부에 (/proc /dev/shm and /dev/mqueue)같은 기본 파일 시스템들을 마운트 한다. MOUNT 네임스페이스가 설정되었을 때만 가능하다.
예제
자신만의 UTS(hostname) 네임스페이스를 갖는 새로운 쉘을 실행하려면 아래처럼 하면 된다.lxc-unshare -s UTSNAME /bin/bash
lxc-unshare -s "NETWORK|PID|MOUNT" /bin/bash
mount -t proc proc /proc
lxc-unshare -s "NETWORK|PID|MOUNT|UTSNAME" -M -H myhostname -i veth1 /bin/bash
참조
lxc(7), lxc-create(1), lxc-copy(1), lxc-destroy(1), lxc-start(1), lxc-stop(1), lxc-execute(1), lxc-console(1), lxc-monitor(1), lxc-wait(1), lxc-cgroup(1), lxc-ls(1), lxc-info(1), lxc-freeze(1), lxc-unfreeze(1), lxc-attach(1), lxc.conf(5)저자
Daniel Lezcano <[email protected]>2023-11-30 |