mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-06-13 12:09:43 +00:00
Add manpage for lxc-copy
(A trivial fix for lxc-copy is included.) Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
This commit is contained in:
parent
43cea62db9
commit
2b47bac3f8
@ -680,6 +680,7 @@ AC_CONFIG_FILES([
|
||||
doc/lxc-clone.sgml
|
||||
doc/lxc-config.sgml
|
||||
doc/lxc-console.sgml
|
||||
doc/lxc-copy.sgml
|
||||
doc/lxc-create.sgml
|
||||
doc/lxc-destroy.sgml
|
||||
doc/lxc-device.sgml
|
||||
|
@ -24,6 +24,7 @@ man_MANS = \
|
||||
lxc-clone.1 \
|
||||
lxc-config.1 \
|
||||
lxc-console.1 \
|
||||
lxc-copy.1 \
|
||||
lxc-create.1 \
|
||||
lxc-destroy.1 \
|
||||
lxc-execute.1 \
|
||||
|
291
doc/lxc-copy.sgml.in
Normal file
291
doc/lxc-copy.sgml.in
Normal file
@ -0,0 +1,291 @@
|
||||
<!--
|
||||
|
||||
lxc: linux Container library
|
||||
|
||||
(C) Copyright Canonical Inc. 2007, 2008
|
||||
|
||||
Authors:
|
||||
Christian Brauner <christian.brauner at mailbox.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
-->
|
||||
|
||||
<!DOCTYPE refentry PUBLIC @docdtd@ [
|
||||
|
||||
<!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
|
||||
<!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
|
||||
]>
|
||||
|
||||
<refentry>
|
||||
|
||||
<docinfo><date>@LXC_GENERATE_DATE@</date></docinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>lxc-copy</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>lxc-copy</refname>
|
||||
|
||||
<refpurpose>
|
||||
copy an existing container.
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>lxc-copy</command>
|
||||
<arg choice="req">-n, --name <replaceable>name</replaceable></arg>
|
||||
<arg choice="opt">-P, --lxcpath <replaceable>path</replaceable></arg>
|
||||
<arg choice="req">-N, --newname <replaceable>newname</replaceable></arg>
|
||||
<arg choice="opt">-p, --newpath <replaceable>newpath</replaceable></arg>
|
||||
<arg choice="opt">-B, --backingstorage <replaceable>backingstorage</replaceable></arg>
|
||||
<arg choice="opt">-s, --snapshot</arg>
|
||||
<arg choice="opt">-K, --keepdata</arg>
|
||||
<arg choice="opt">-M, --keepmac</arg>
|
||||
<arg choice="opt">-L, --fssize <replaceable>size [unit]</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>lxc-copy</command>
|
||||
<arg choice="req">-n, --name <replaceable>name</replaceable></arg>
|
||||
<arg choice="opt">-P, --lxcpath <replaceable>path</replaceable></arg>
|
||||
<arg choice="opt">-N, --newname <replaceable>newname</replaceable></arg>
|
||||
<arg choice="opt">-p, --newpath <replaceable>newpath</replaceable></arg>
|
||||
<arg choice="req">-e, --ephemeral</arg>
|
||||
<arg choice="opt">-B, --backingstorage <replaceable>backingstorage</replaceable></arg>
|
||||
<arg choice="opt">-s, --snapshot</arg>
|
||||
<arg choice="opt">-K, --keepdata</arg>
|
||||
<arg choice="opt">-M, --keepmac</arg>
|
||||
<arg choice="opt">-L, --fssize <replaceable>size [unit]</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>lxc-copy</command>
|
||||
<arg choice="req">-n, --name <replaceable>name</replaceable></arg>
|
||||
<arg choice="opt">-P, --lxcpath <replaceable>path</replaceable></arg>
|
||||
<arg choice="req">-N, --newname <replaceable>newname</replaceable></arg>
|
||||
<arg choice="opt">-p, --newpath <replaceable>newpath</replaceable></arg>
|
||||
<arg choice="req">-R, --rename</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
<command>lxc-copy</command> creates and optionally starts (ephemeral or
|
||||
non-ephemeral) copies of existing containers. It replaces
|
||||
<command>lxc-clone</command> and <command>lxc-start-ephemeral</command>.
|
||||
</para>
|
||||
<para>
|
||||
<command>lxc-copy</command> creates copies of existing containers. Copies
|
||||
can be complete clones of the original container. In this case the whole
|
||||
root filesystem of the container is simply copied to the new container. Or
|
||||
they can be snapshots, i.e. small copy-on-write copies of the original
|
||||
container. In this case the specified backing storage for the copy must
|
||||
support snapshots. This currently includes aufs, btrfs, lvm (lvm devices
|
||||
do not support snapshots of snapshots.), overlay, and zfs.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The copy's backing storage will be of the same type as the original
|
||||
container. aufs or overlayfs snapshots of directory backed containers are
|
||||
exempted from this rule.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When the <replaceable>-e</replaceable> flag is specified an ephemeral
|
||||
snapshot of the original container is created and started. Ephemeral
|
||||
containers will have <command>lxc.ephemeral = 1</command> set in their
|
||||
config file and will be destroyed on shutdown. When
|
||||
<replaceable>-e</replaceable> is used in combination with
|
||||
<replaceable>-D</replaceable> a non-ephemeral snapshot of the original
|
||||
container is created and started.</para>
|
||||
|
||||
<para>
|
||||
When <replaceable>-e</replaceable> is specified and no newname is given via
|
||||
<replaceable>-N</replaceable> a random name for the snapshot will be chosen.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Containers created and started with <replaceable>-e</replaceable> can have
|
||||
custom mounts. These are specified with the <replaceable>-m</replaceable>
|
||||
flag. Currently three types of mounts are supported:
|
||||
<replaceable>aufs</replaceable>, <replaceable>bind</replaceable>, and
|
||||
<replaceable>overlay</replaceable>. Mount types are specified as suboptions
|
||||
to the <replaceable>-m</replaceable> flag and can be specified multiple
|
||||
times separated by commas. <replaceable>aufs</replaceable> and
|
||||
<replaceable>overlay</replaceable> mounts are currently specified in the
|
||||
format <replaceable>-m overlay=/src:/dest</replaceable>. When no
|
||||
destination <replaceable>dest</replaceable> is specified
|
||||
<replaceable>dest</replaceable> will be identical to
|
||||
<replaceable>src</replaceable>. Read-only <replaceable>bind</replaceable>
|
||||
mounts are specified <replaceable>-m bind=/src:/dest:ro</replaceable> and
|
||||
read-write <replaceable>bind</replaceable> mounts <replaceable>-m
|
||||
bind=/src:/dest:rw</replaceable>. Read-write <replaceable>bind</replaceable>
|
||||
mounts are the default and <replaceable>rw</replaceable> can be missing when
|
||||
a read-write mount is wanted. When <replaceable>dest</replaceable> is
|
||||
missing <replaceable>dest</replaceable> will be identical to
|
||||
<replaceable>src</replaceable>. An example for multiple mounts would be
|
||||
<replaceable>-m
|
||||
bind=/src1:/dest1:ro,bind=/src2:ro,overlay=/src3:/dest3</replaceable>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The mounts, their options, and formats supported via the
|
||||
<replaceable>-m</replaceable> flag are subject to change.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
||||
<title>Options</title>
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-N,--newname <replaceable>newname</replaceable></option> </term>
|
||||
<listitem>
|
||||
<para>The name for the copy.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-p,--newpath <replaceable>newpath</replaceable></option> </term>
|
||||
<listitem>
|
||||
<para>The path for the copy.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-R,--rename </option> </term>
|
||||
<listitem>
|
||||
<para>Rename the original container. </para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-s,--snapshot </option> </term>
|
||||
<listitem>
|
||||
<para> Create a snapshot of the orginal container. The backing
|
||||
storage for the copy must support snapshots. This currently includes
|
||||
aufs, btrfs, lvm, overlay, and zfs. </para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-F,--foreground</option> </term>
|
||||
<listitem>
|
||||
<para>Run the snapshot in the foreground. The snapshots console will
|
||||
be attached to the current tty. (This option can only be specified
|
||||
in conjunction with <replaceable>-e</replaceable>.)
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-d, --daemon</option> </term>
|
||||
<listitem>
|
||||
<para> Run the snapshot as a daemon (This is the default mode for
|
||||
ephemeral containers.). As the container has no more tty, if an
|
||||
error occurs nothing will be displayed, the log file can
|
||||
be used to check the error. (This option can only be specified in
|
||||
conjunction with <replaceable>-e</replaceable>.)
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-m, --mount <replaceable>mounttype</replaceable></option> </term>
|
||||
<listitem>
|
||||
<para> Specify a mount for a snapshot The
|
||||
<replaceable>opts</replaceable> argument for the mount type can by
|
||||
of type {aufs, bind, overlay}. For example <option>-m
|
||||
bind=/src:/dest:ro,overlay=/src:/dest</option> (This option can
|
||||
currently only be specified in conjunction with
|
||||
<replaceable>-e</replaceable>.).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-B, --backingstorage <replaceable>backingstorage</replaceable></option></term>
|
||||
<listitem>
|
||||
<para>Specify the backing storage type to be used for the copy
|
||||
where 'backingstorage' is of type 'aufs', 'btrfs', 'dir', 'lvm', 'loop',
|
||||
'overlay', or 'zfs'. </para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-L, --fssize <replaceable>size [unit]</replaceable></option></term>
|
||||
<listitem>
|
||||
<para>Specify the size for an 'lvm' filesystem. </para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-D, --keepdata </option></term>
|
||||
<listitem>
|
||||
<para>When this option is specified with
|
||||
<replaceable>-e</replaceable> a non-ephemeral container is created
|
||||
and started. </para> </listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-K, --keepname </option></term>
|
||||
<listitem>
|
||||
<para> When this option is specified the hostname of the original
|
||||
container will be kept for the copy.</para> </listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term> <option>-M, --keepmac </option></term>
|
||||
<listitem>
|
||||
<para> When this option is specified the MAC address of the original
|
||||
container will be kept for the copy.</para> </listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</refsect1>
|
||||
|
||||
&commonoptions;
|
||||
|
||||
&seealso;
|
||||
|
||||
<refsect1>
|
||||
<title>Author</title>
|
||||
<para>Christian Brauner <email>christian.brauner@mailbox.org</email></para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:2
|
||||
sgml-indent-data:t
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:nil
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
-->
|
@ -94,7 +94,7 @@ static char *const keys[] = {
|
||||
|
||||
static struct lxc_arguments my_args = {
|
||||
.progname = "lxc-copy",
|
||||
.help = "\
|
||||
.help = "\n\
|
||||
--name=NAME [-P lxcpath] -N newname [-p newpath] [-B backingstorage] [-s] [-K] [-M] [-L size [unit]]\n\
|
||||
--name=NAME [-P lxcpath] [-N newname] [-p newpath] [-B backingstorage] -e [-d] [-D] [-K] [-M] [-m {bind,aufs,overlay}=/src:/dest]\n\
|
||||
--name=NAME [-P lxcpath] -N newname -R\n\
|
||||
|
Loading…
Reference in New Issue
Block a user