lxc-unshare(1)

NAME
lxc-unshare - タスクの新しい名前空間の組の中ので実行

SYNOPSIS
lxc-unshare
{-s namespaces} [-u user] [-H hostname] [-i ifname] [-d] [-M] {command}

説明
lxc-unshare はクローンされた名前空間の組の中でタスクを実行するのに使います。 このコマンドは主にテスト目的で使います。 このような名前であるにもかかわらず、このコマンドは常に、新しい名前空間で新しいタスクを作成するために unshare ではなく clone を使います。 テスト中のカーネルの退行は別として、これで違いは生じないはずです。

オプション

\FC-s \F[]namespaces
    アタッチする名前空間を、パイプでつなげたリストで指定します。 例えば NETWORK|IPC のようにです。 指定できる値は MOUNT、PID、UTSNAME、IPC、USER 、NETWORK です。 これにより、プロセスのコンテキストを変更することができます。 例えば、コンテナのネットワーク名前空間だけを変更し、他の名前空間をホストのものと同じものに保ったままにするというようなことです。 (パイプ記号を MOUNT\|PID のようにエスケー プするか、"MOUNT|PID" のように引用符号を付ける必要が>あります。)

\FC-u \F[]user
    新しいタスクを実行するユーザを指定します。

\FC-H \F[]hostname
    新しいコンテナ内でのホスト名を設定します。UTSNAME 名前空間を指定している時のみ有効です。

\FC-i \F[]interfacename
    指定したインターフェースをコンテナ内に移動させます。ネットワーク (NETWORK) 名前空間を指定している時のみ有効です。複数のインターフェースをコンテナに移動させるために複数回指定することも可能です。

\FC-d\F[]
    デーモンにします (コマンドはコンテナの終了を待ちません)。

\FC-M\F[]
    コンテナ内でデフォルトのファイルシステム (/proc, /dev/shm, /dev/mqueue) をマウントします。マウント (MOUNT) 名前空間を指定している時のみ有効です。

例
自身の UTS(hostname)名前空間でシェルを起動するには以下のように実行します。
\FC
          lxc-unshare -s UTSNAME /bin/bash
        \F[]
もし、そのシェル上でホスト名を変更しても、その変更はホストには反映されません。

新しいネットワーク、pid、マウント名前空間でシェルを起動するには以下のように実行します。
\FC
          lxc-unshare -s "NETWORK|PID|MOUNT" /bin/bash
        \F[]
その結果起動するシェルは pid が 1 となり、ネットワークインターフェースがないでしょう。 そのシェル上で /proc を再マウントした後
\FC
          mount -t proc proc /proc
        \F[]
ps の出力は、その名前空間内には他のプロセスが存在しない事を表示するでしょう。

新しいネットワーク、PID、マウント、ホスト名 (UTS) 名前空間でシェルを起動するには、
\FC
          lxc-unshare -s "NETWORK|PID|MOUNT|UTSNAME" -M -H slave -i veth1 /bin/bash
        \F[]
起動したシェルは PID 1 を持ち、2 つのネットワークインターフェース (lo と veth1) を持ちます。 ホスト名は "slave" となり、/proc は再マウントされます。ps コマンドは、名前空間内には他のプロセスがない状態を表示するでしょう。

SEE ALSO
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 <\FCdaniel.lezcano@free.fr\F[]>