57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumilxc: linux Container library
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi(C) Copyright IBM Corp. 2007, 2008
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiDaniel Lezcano <daniel.lezcano at free.fr>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiSerge Hallyn <serge.hallyn at ubuntu.com>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiThis library is free software; you can redistribute it and/or
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumimodify it under the terms of the GNU Lesser General Public
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiLicense as published by the Free Software Foundation; either
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumiversion 2.1 of the License, or (at your option) any later version.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiThis library is distributed in the hope that it will be useful,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumibut WITHOUT ANY WARRANTY; without even the implied warranty of
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiLesser General Public License for more details.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiYou should have received a copy of the GNU Lesser General Public
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiLicense along with this library; if not, write to the Free Software
a5ba96715d4ef264c43d4f187251de491ba198c0KATOH YasufumiFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
8900b9eb2514c07047541833286428572493a9fdStéphane GraberTranslated into Japanese
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumiby KATOH Yasufumi <karma at jazz.email.ne.jp>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <docinfo><date>@LXC_GENERATE_DATE@</date></docinfo>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Run a task in a new set of namespaces.
6127da6b3f5815028bee187ac98840cd94313841KATOH Yasufumi タスクの新しい名前空間の組の中ので実行
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refpurpose>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refnamediv>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsynopsisdiv>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <cmdsynopsis>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <arg choice="req">-s <replaceable>namespaces</replaceable></arg>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <arg choice="opt">-u <replaceable>user</replaceable></arg>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <arg choice="opt">-H <replaceable>hostname</replaceable></arg>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <arg choice="opt">-i <replaceable>ifname</replaceable></arg>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </cmdsynopsis>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsynopsisdiv>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-unshare</command> can be used to run a task in a cloned set
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi of namespaces. This command is mainly provided for testing purposes.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Despite its name, it always uses clone rather than unshare to create
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the new task with fresh namespaces. Apart from testing kernel
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi regressions this should make no difference.
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi <command>lxc-unshare</command> はクローンされた名前空間の組の中でタスクを実行するのに使います。
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi このコマンドは主にテスト目的で使います。
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi このような名前であるにもかかわらず、このコマンドは常に、新しい名前空間で新しいタスクを作成するために unshare ではなく clone を使います。
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi テスト中のカーネルの退行は別として、これで違いは生じないはずです。
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <variablelist>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <varlistentry>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <option>-s <replaceable>namespaces</replaceable></option>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Specify the namespaces to attach to, as a pipe-separated list,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi e.g. <replaceable>NETWORK|IPC</replaceable>. Allowed values are
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <replaceable>MOUNT</replaceable>, <replaceable>PID</replaceable>,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <replaceable>UTSNAME</replaceable>, <replaceable>IPC</replaceable>,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <replaceable>USER </replaceable> and
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <replaceable>NETWORK</replaceable>. This allows one to change
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the context of the process to e.g. the network namespace of the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi container while retaining the other namespaces as those of the
b922759db982d12afc1f48c8f4bc165e92561e84Sungbae Yoo host. (The pipe symbol needs to be escaped, e.g.
b922759db982d12afc1f48c8f4bc165e92561e84Sungbae Yoo <replaceable>MOUNT\|PID</replaceable> or quoted, e.g.
b922759db982d12afc1f48c8f4bc165e92561e84Sungbae Yoo <replaceable>"MOUNT|PID"</replaceable>.)
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi アタッチする名前空間を、パイプでつなげたリストで指定します。
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi 例えば <replaceable>NETWORK|IPC</replaceable> のようにです。
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi 指定できる値は <replaceable>MOUNT</replaceable>、<replaceable>PID</replaceable>、<replaceable>UTSNAME</replaceable>、<replaceable>IPC</replaceable>、<replaceable>USER </replaceable>、<replaceable>NETWORK</replaceable> です。
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi これにより、プロセスのコンテキストを変更することができます。
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi 例えば、コンテナのネットワーク名前空間だけを変更し、他の名前空間をホストのものと同じものに保ったままにするというようなことです。
b922759db982d12afc1f48c8f4bc165e92561e84Sungbae Yoo (パイプ記号を <replaceable>MOUNT\|PID</replaceable> のようにエスケー
b922759db982d12afc1f48c8f4bc165e92561e84Sungbae Yooプするか、<replaceable>"MOUNT|PID"</replaceable> のように引用符号を付ける必要が>あります。)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </varlistentry>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <varlistentry>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <option>-u <replaceable>user</replaceable></option>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi Specify a user which the new task should become.
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi 新しいタスクを実行するユーザを指定します。
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi </varlistentry>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <varlistentry>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <option>-H <replaceable>hostname</replaceable></option>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi Set the hostname in the new container. Only allowed if
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi the UTSNAME namespace is set.
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi 新しいコンテナ内でのホスト名を設定します。UTSNAME 名前空間を指定している時のみ有効です。
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi </varlistentry>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <varlistentry>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <option>-i <replaceable>interfacename</replaceable></option>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi Move the named interface into the container. Only allowed
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi if the NETWORK namespace is set. You may specify this
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi argument multiple times to move multiple interfaces into
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi 指定したインターフェースをコンテナ内に移動させます。ネットワーク (NETWORK) 名前空間を指定している時のみ有効です。複数のインターフェースをコンテナに移動させるために複数回指定することも可能です。
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi </varlistentry>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <varlistentry>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi Daemonize (do not wait for the container to exit before exiting)
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi デーモンにします (コマンドはコンテナの終了を待ちません)。
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi </varlistentry>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <varlistentry>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi Mount default filesystems (/proc /dev/shm and /dev/mqueue)
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi in the container. Only allowed if MOUNT namespace is set.
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi コンテナ内でデフォルトのファイルシステム (/proc, /dev/shm, /dev/mqueue) をマウントします。マウント (MOUNT) 名前空間を指定している時のみ有効です。
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </varlistentry>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </variablelist>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi To spawn a new shell with its own UTS (hostname) namespace,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
a5ba96715d4ef264c43d4f187251de491ba198c0KATOH Yasufumi lxc-unshare -s UTSNAME /bin/bash
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi If the hostname is changed in that shell, the change will not be
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi reflected on the host.
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi 自身の UTS(hostname)名前空間でシェルを起動するには以下のように実行します。
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi もし、そのシェル上でホスト名を変更しても、その変更はホストには反映されません。
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi To spawn a shell in a new network, pid, and mount namespace,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
a5ba96715d4ef264c43d4f187251de491ba198c0KATOH Yasufumi lxc-unshare -s "NETWORK|PID|MOUNT" /bin/bash
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The resulting shell will have pid 1 and will see no network interfaces.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi After re-mounting /proc in that shell,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi mount -t proc proc /proc
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ps output will show there are no other processes in the namespace.
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi 新しいネットワーク、pid、マウント名前空間でシェルを起動するには以下のように実行します。
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi その結果起動するシェルは pid が 1 となり、ネットワークインターフェースがないでしょう。
9a97d4e4bdf331bb2c2b8ed14bcefa53358c288fKATOH Yasufumi そのシェル上で /proc を再マウントした後
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi mount -t proc proc /proc
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi ps の出力は、その名前空間内には他のプロセスが存在しない事を表示するでしょう。
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi To spawn a shell in a new network, pid, mount, and hostname
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <programlisting>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi lxc-unshare -s "NETWORK|PID|MOUNT|UTSNAME" -M -H slave -i veth1 /bin/bash
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi </programlisting>
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi 新しいネットワーク、PID、マウント、ホスト名 (UTS) 名前空間でシェルを起動するには、
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi <programlisting>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi lxc-unshare -s "NETWORK|PID|MOUNT|UTSNAME" -M -H slave -i veth1 /bin/bash
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi </programlisting>
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi The resulting shell will have pid 1 and will see two network
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi interfaces (lo and veth1). The hostname will be "slave" and
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi /proc will have been remounted. ps output will show there are
3dcb8ff3dd8384ad844b8e5027b16f81a2c3a751KATOH Yasufumi no other processes in the namespace.
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi 起動したシェルは PID 1 を持ち、2 つのネットワークインターフェース (lo と veth1) を持ちます。
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi ホスト名は "slave" となり、/proc は再マウントされます。ps コマンドは、名前空間内には他のプロセスがない状態を表示するでしょう。
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>Daniel Lezcano <email>daniel.lezcano@free.fr</email></para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<!-- Keep this comment at the end of the file
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiLocal variables:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-omittag:t
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-shorttag:t
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-minimize-attributes:nil
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-always-quote-attributes:t
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-indent-step:2
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-indent-data:t
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-parent-document:nil
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-default-dtd-file:nil
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-exposed-tags:nil
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-local-catalogs:nil
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-local-ecat-files:nil