summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-12-12 03:50:59 +0100
committerLennart Poettering <lennart@poettering.net>2014-12-12 13:35:32 +0100
commitec16945ebfe64d5cd5403ae1a1b16bc05a779a16 (patch)
tree7e842851cfc82b9a0ce7db7a16562f17508f8d64 /man
parent0254b455e9730691e9f90d53afe860a0f3229f6d (diff)
nspawn: beef up nspawn with some btrfs magic
This adds --template= to duplicate an OS tree as btrfs snpashot and run it This also adds --ephemeral or -x to create a snapshot of an OS tree and boot that, removing it after exit.
Diffstat (limited to 'man')
-rw-r--r--man/systemd-nspawn.xml98
1 files changed, 82 insertions, 16 deletions
diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
index 75db65eac0..b66c34df01 100644
--- a/man/systemd-nspawn.xml
+++ b/man/systemd-nspawn.xml
@@ -165,15 +165,79 @@
<term><option>--directory=</option></term>
<listitem><para>Directory to use as
- file system root for the container. If
- neither <option>--directory=</option>
- nor <option>--image=</option> are
+ file system root for the container.</para>
+
+ <para>If neither
+ <option>--directory=</option>, nor
+ <option>--image=</option> is specified
+ the directory is determined as
+ <filename>/var/lib/container/</filename>
+ suffixed by the machine name as
+ specified with
+ <option>--machine=</option>. If
+ neither <option>--directory=</option>,
+ <option>--image=</option>, nor
+ <option>--machine=</option> are
specified, the current directory will
- be used. May not be specified together with
+ be used. May not be specified together
+ with
<option>--image=</option>.</para></listitem>
</varlistentry>
<varlistentry>
+ <term><option>--template=</option></term>
+
+ <listitem><para>Directory or
+ <literal>btrfs</literal> subvolume to
+ use as template for the container's
+ root directory. If this is specified
+ and the container's root directory (as
+ configured by
+ <option>--directory=</option>) does
+ not yet exist it is created as
+ <literal>btrfs</literal> subvolume and
+ populated from this template
+ tree. Ideally, the specified template
+ path refers to the root of a
+ <literal>btrfs</literal> subvolume, in
+ which case a simple copy-on-write
+ snapshot is taken, and populating the
+ root directory is instant. If the
+ specified template path does not refer
+ to the root of a
+ <literal>btrfs</literal> subvolume (or
+ not even to a <literal>btrfs</literal>
+ file system at all), the tree is
+ copied, which can be substantially
+ more time-consuming. Note that if this
+ option is used the container's root
+ directory (in contrast to the template
+ directory!) must be located on a
+ <literal>btrfs</literal> file system,
+ so that the <literal>btrfs</literal>
+ subvolume may be created. May not be
+ specified together with
+ <option>--image=</option> or
+ <option>--ephemeral</option>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-x</option></term>
+ <term><option>--ephemeral</option></term>
+
+ <listitem><para>If specified, the
+ container is run with a temporary
+ <literal>btrfs</literal> snapshot of
+ its root directory (as configured with
+ <option>--directory=</option>), that
+ is removed immediately when the
+ container terminates. May not be
+ specified together with
+ <option>--image=</option> or
+ <option>--template=</option>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>-i</option></term>
<term><option>--image=</option></term>
@@ -197,7 +261,9 @@
partitions, swap partitions or EFI
system partitions are not mounted. May
not be specified together with
- <option>--directory=</option>.</para></listitem>
+ <option>--directory=</option>,
+ <option>--template=</option> or
+ <option>--ephemeral</option>.</para></listitem>
</varlistentry>
<varlistentry>
@@ -653,13 +719,13 @@
<term><option>--volatile</option><replaceable>=MODE</replaceable></term>
<listitem><para>Boots the container in
- volatile (ephemeral) mode. When no
- mode parameter is passed or when mode
- is specified as <literal>yes</literal>
- full volatile mode is enabled. This
- means the root directory is mounted as
- mostly unpopulated
- <literal>tmpfs</literal> instance, and
+ volatile mode. When no mode parameter
+ is passed or when mode is specified as
+ <literal>yes</literal> full volatile
+ mode is enabled. This means the root
+ directory is mounted as mostly
+ unpopulated <literal>tmpfs</literal>
+ instance, and
<filename>/usr</filename> from the OS
tree is mounted into it, read-only
(the system thus starts up with
@@ -677,8 +743,8 @@
changes to the latter are lost on
shutdown). When the mode parameter is
specified as <literal>no</literal>
- (the default) the whole OS tree is made
- available writable.</para>
+ (the default) the whole OS tree is
+ made available writable.</para>
<para>Note that setting this to
<literal>yes</literal> or
@@ -748,13 +814,13 @@
</example>
<example>
- <title>Boot into a btrfs snapshot of the host system</title>
+ <title>Boot into a <literal>btrfs</literal> snapshot of the host system</title>
<programlisting># btrfs subvolume snapshot / /.tmp
# systemd-nspawn --private-network -D /.tmp -b</programlisting>
<para>This runs a copy of the host system in a
- btrfs snapshot.</para>
+ <literal>btrfs</literal> snapshot.</para>
</example>
<example>