lxc-unshare(1) | lxc-unshare(1) |
lxc-unshare - タスクの新しい名前空間の組の中ので実行
lxc-unshare
{-s, --namespaces namespaces} [-u, --user user] [-H, --hostname
hostname] [-i, --ifname ifname] [-d, --daemon] [-M, --remount]
{command}
lxc-unshare はクローンされた名前空間の組の中でタスクを実行するのに使います。 このコマンドは主にテスト目的で使います。 このような名前であるにもかかわらず、このコマンドは常に、新しい名前空間で新しいタスクを作成するために unshare ではなく clone を使います。 テスト中のカーネルの退行は別として、これで違いは生じないはずです。
自身の UTS(hostname)名前空間でシェルを起動するには以下のように実行します。
lxc-unshare -s UTSNAME /bin/bash
もし、そのシェル上でホスト名を変更しても、その変更はホストには反映されません。
新しいネットワーク、pid、マウント名前空間でシェルを起動するには以下のように実行します。
lxc-unshare -s "NETWORK|PID|MOUNT" /bin/bash
その結果起動するシェルは pid が 1 となり、ネットワークインターフェースがないでしょう。 そのシェル上で /proc を再マウントした後
mount -t proc proc /proc
ps の出力は、その名前空間内には他のプロセスが存在しない事を表示するでしょう。
新しいネットワーク、PID、マウント、ホスト名 (UTS) 名前空間でシェルを起動するには、
lxc-unshare -s "NETWORK|PID|MOUNT|UTSNAME" -M -H myhostname -i veth1 /bin/bash
起動したシェルは PID 1 を持ち、2 つのネットワークインターフェース (lo と veth1) を持ちます。 ホスト名は "myhostname" となり、/proc は再マウントされます。ps コマンドは、名前空間内には他のプロセスがない状態を表示するでしょう。
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 <daniel.lezcano@free.fr>
2023-11-30 |