mirror of
https://git.proxmox.com/git/systemd
synced 2025-05-29 11:51:49 +00:00
369 lines
41 KiB
HTML
369 lines
41 KiB
HTML
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>machinectl</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
|
||
a.headerlink {
|
||
color: #c60f0f;
|
||
font-size: 0.8em;
|
||
padding: 0 4px 0 4px;
|
||
text-decoration: none;
|
||
visibility: hidden;
|
||
}
|
||
|
||
a.headerlink:hover {
|
||
background-color: #c60f0f;
|
||
color: white;
|
||
}
|
||
|
||
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
|
||
visibility: visible;
|
||
}
|
||
</style><a href="index.html">Index </a>·
|
||
<a href="systemd.directives.html">Directives </a>·
|
||
<a href="../python-systemd/index.html">Python </a>·
|
||
<a href="../libudev/index.html">libudev </a>·
|
||
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 219</span><hr><div class="refentry"><a name="machinectl"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>machinectl — Control the systemd machine manager</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">machinectl</code> [OPTIONS...] {COMMAND} [NAME...]</p></div></div><div class="refsect1"><a name="idm140317735547456"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p><span class="command"><strong>machinectl</strong></span> may be used to introspect and
|
||
control the state of the
|
||
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
|
||
virtual machine and container registration manager
|
||
<a href="systemd-machined.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined.service</span>(8)</span></a>.</p></div><div class="refsect1"><a name="idm140317735544096"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options">¶</a></h2><p>The following options are understood:</p><div class="variablelist"><dl class="variablelist"><dt id="-p"><span class="term"><code class="option">-p</code>, </span><span class="term"><code class="option">--property=</code></span><a class="headerlink" title="Permalink to this term" href="#-p">¶</a></dt><dd><p>When showing machine or image properties,
|
||
limit the output to certain properties as specified by the
|
||
argument. If not specified, all set properties are shown. The
|
||
argument should be a property name, such as
|
||
"<code class="literal">Name</code>". If specified more than once, all
|
||
properties with the specified names are
|
||
shown.</p></dd><dt id="-a"><span class="term"><code class="option">-a</code>, </span><span class="term"><code class="option">--all</code></span><a class="headerlink" title="Permalink to this term" href="#-a">¶</a></dt><dd><p>When showing machine or image properties, show
|
||
all properties regardless of whether they are set or
|
||
not.</p><p>When listing VM or container images, do not suppress
|
||
images beginning in a dot character
|
||
("<code class="literal">.</code>").</p></dd><dt id="-l"><span class="term"><code class="option">-l</code>, </span><span class="term"><code class="option">--full</code></span><a class="headerlink" title="Permalink to this term" href="#-l">¶</a></dt><dd><p>Do not ellipsize process tree entries.</p></dd><dt id="--no-ask-password"><span class="term"><code class="option">--no-ask-password</code></span><a class="headerlink" title="Permalink to this term" href="#--no-ask-password">¶</a></dt><dd><p>Do not query the user for authentication for
|
||
privileged operations.</p></dd><dt id="--kill-who="><span class="term"><code class="option">--kill-who=</code></span><a class="headerlink" title="Permalink to this term" href="#--kill-who=">¶</a></dt><dd><p>When used with <span class="command"><strong>kill</strong></span>, choose
|
||
which processes to kill. Must be one of
|
||
<code class="option">leader</code>, or <code class="option">all</code> to select
|
||
whether to kill only the leader process of the machine or all
|
||
processes of the machine. If omitted, defaults to
|
||
<code class="option">all</code>.</p></dd><dt id="-s"><span class="term"><code class="option">-s</code>, </span><span class="term"><code class="option">--signal=</code></span><a class="headerlink" title="Permalink to this term" href="#-s">¶</a></dt><dd><p>When used with <span class="command"><strong>kill</strong></span>, choose
|
||
which signal to send to selected processes. Must be one of the
|
||
well-known signal specifiers, such as
|
||
<code class="constant">SIGTERM</code>, <code class="constant">SIGINT</code> or
|
||
<code class="constant">SIGSTOP</code>. If omitted, defaults to
|
||
<code class="constant">SIGTERM</code>.</p></dd><dt id="--mkdir"><span class="term"><code class="option">--mkdir</code></span><a class="headerlink" title="Permalink to this term" href="#--mkdir">¶</a></dt><dd><p>When used with <span class="command"><strong>bind</strong></span> creates
|
||
the destination directory before applying the bind
|
||
mount.</p></dd><dt id="--read-only"><span class="term"><code class="option">--read-only</code></span><a class="headerlink" title="Permalink to this term" href="#--read-only">¶</a></dt><dd><p>When used with <span class="command"><strong>bind</strong></span> applies
|
||
a read-only bind mount.</p></dd><dt id="-n"><span class="term"><code class="option">-n</code>, </span><span class="term"><code class="option">--lines=</code></span><a class="headerlink" title="Permalink to this term" href="#-n">¶</a></dt><dd><p>When used with <span class="command"><strong>status</strong></span>,
|
||
controls the number of journal lines to show, counting from
|
||
the most recent ones. Takes a positive integer argument.
|
||
Defaults to 10.</p></dd><dt id="-o"><span class="term"><code class="option">-o</code>, </span><span class="term"><code class="option">--output=</code></span><a class="headerlink" title="Permalink to this term" href="#-o">¶</a></dt><dd><p>When used with <span class="command"><strong>status</strong></span>,
|
||
controls the formatting of the journal entries that are shown.
|
||
For the available choices, see
|
||
<a href="journalctl.html"><span class="citerefentry"><span class="refentrytitle">journalctl</span>(1)</span></a>.
|
||
Defaults to "<code class="literal">short</code>".</p></dd><dt id="--verify="><span class="term"><code class="option">--verify=</code></span><a class="headerlink" title="Permalink to this term" href="#--verify=">¶</a></dt><dd><p>When downloading a container or VM image,
|
||
specify whether the image shall be verified before it is made
|
||
available. Takes one of "<code class="literal">no</code>",
|
||
"<code class="literal">checksum</code>" and "<code class="literal">signature</code>".
|
||
If "<code class="literal">no</code>" no verification is done. If
|
||
"<code class="literal">checksum</code>" is specified the download is
|
||
checked for integrity after transfer is complete, but no
|
||
signatures are verified. If "<code class="literal">signature</code>" is
|
||
specified, the checksum is verified and the images's signature
|
||
is checked against a local keyring of trustable vendors. It is
|
||
strongly recommended to set this option to
|
||
"<code class="literal">signature</code>" if the server and protocol
|
||
support this. Defaults to
|
||
"<code class="literal">signature</code>".</p></dd><dt id="--force"><span class="term"><code class="option">--force</code></span><a class="headerlink" title="Permalink to this term" href="#--force">¶</a></dt><dd><p>When downloading a container or VM image, and
|
||
a local copy by the specified local machine name already
|
||
exists, delete it first and replace it by the newly downloaded
|
||
image.</p></dd><dt id="--dkr-index-url"><span class="term"><code class="option">--dkr-index-url</code></span><a class="headerlink" title="Permalink to this term" href="#--dkr-index-url">¶</a></dt><dd><p>Specifies the index server to use for
|
||
downloading "<code class="literal">dkr</code>" images with the
|
||
<span class="command"><strong>pull-dkr</strong></span>. Takes a
|
||
"<code class="literal">http://</code>", "<code class="literal">https://</code>"
|
||
URL.</p></dd><dt id="-H"><span class="term"><code class="option">-H</code>, </span><span class="term"><code class="option">--host=</code></span><a class="headerlink" title="Permalink to this term" href="#-H">¶</a></dt><dd><p><a name="host-text"></a>Execute the operation remotely. Specify a hostname, or a
|
||
username and hostname separated by "<code class="literal">@</code>", to
|
||
connect to. The hostname may optionally be suffixed by a
|
||
container name, separated by "<code class="literal">:</code>", which
|
||
connects directly to a specific container on the specified
|
||
host. This will use SSH to talk to the remote machine manager
|
||
instance. Container names may be enumerated with
|
||
<span class="command"><strong>machinectl -H
|
||
<em class="replaceable"><code>HOST</code></em></strong></span>.</p></dd><dt id="-M"><span class="term"><code class="option">-M</code>, </span><span class="term"><code class="option">--machine=</code></span><a class="headerlink" title="Permalink to this term" href="#-M">¶</a></dt><dd><p><a name="machine-text"></a>Execute operation on a local container. Specify a
|
||
container name to connect to.</p></dd><dt id="--no-pager"><span class="term"><code class="option">--no-pager</code></span><a class="headerlink" title="Permalink to this term" href="#--no-pager">¶</a></dt><dd><p>Do not pipe output into a pager.</p></dd><dt id="--no-legend"><span class="term"><code class="option">--no-legend</code></span><a class="headerlink" title="Permalink to this term" href="#--no-legend">¶</a></dt><dd><p>Do not print the legend, i.e. column headers and the
|
||
footer with hints.</p></dd><dt id="-h"><span class="term"><code class="option">-h</code>, </span><span class="term"><code class="option">--help</code></span><a class="headerlink" title="Permalink to this term" href="#-h">¶</a></dt><dd><p><a name="help-text"></a>Print a short help text and exit.
|
||
</p></dd><dt id="--version"><span class="term"><code class="option">--version</code></span><a class="headerlink" title="Permalink to this term" href="#--version">¶</a></dt><dd><p><a name="version-text"></a>Print a short version string and exit.</p></dd></dl></div></div><div class="refsect1"><a name="idm140317734475984"></a><h2 id="Commands">Commands<a class="headerlink" title="Permalink to this headline" href="#Commands">¶</a></h2><p>The following commands are understood:</p><div class="refsect2"><a name="idm140317734474960"></a><h3 id="Machine Commands">Machine Commands<a class="headerlink" title="Permalink to this headline" href="#Machine%20Commands">¶</a></h3><div class="variablelist"><dl class="variablelist"><dt id="list"><span class="term"><span class="command"><strong>list</strong></span></span><a class="headerlink" title="Permalink to this term" href="#list">¶</a></dt><dd><p>List currently running (online) virtual
|
||
machines and containers. To enumerate container images that
|
||
can be started, use <span class="command"><strong>list-images</strong></span> (see
|
||
below).</p></dd><dt id="status NAME..."><span class="term"><span class="command"><strong>status</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#status%20NAME...">¶</a></dt><dd><p>Show terse runtime status information about
|
||
one or more virtual machines and containers, followed by the
|
||
most recent log data from the journal. This function is
|
||
intended to generate human-readable output. If you are looking
|
||
for computer-parsable output, use <span class="command"><strong>show</strong></span>
|
||
instead. Note that the log data shown is reported by the
|
||
virtual machine or container manager, and frequently contains
|
||
console output of the machine, but not necessarily journal
|
||
contents of the machine itself.</p></dd><dt id="show NAME..."><span class="term"><span class="command"><strong>show</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#show%20NAME...">¶</a></dt><dd><p>Show properties of one or more registered
|
||
virtual machines or containers or the manager itself. If no
|
||
argument is specified, properties of the manager will be
|
||
shown. If an NAME is specified, properties of this virtual
|
||
machine or container are shown. By default, empty properties
|
||
are suppressed. Use <code class="option">--all</code> to show those too.
|
||
To select specific properties to show, use
|
||
<code class="option">--property=</code>. This command is intended to be
|
||
used whenever computer-parsable output is required. Use
|
||
<span class="command"><strong>status</strong></span> if you are looking for formatted
|
||
human-readable output.</p></dd><dt id="start NAME..."><span class="term"><span class="command"><strong>start</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#start%20NAME...">¶</a></dt><dd><p>Start a container as a system service, using
|
||
<a href="systemd-nspawn.html"><span class="citerefentry"><span class="refentrytitle">systemd-nspawn</span>(1)</span></a>.
|
||
This starts <code class="filename">systemd-nspawn@.service</code>,
|
||
instantiated for the specified machine name, similar to the
|
||
effect of <span class="command"><strong>systemctl start</strong></span> on the service
|
||
name. <span class="command"><strong>systemd-nspawn</strong></span> looks for a container
|
||
image by the specified name in
|
||
<code class="filename">/var/lib/machines/</code> (and other search
|
||
paths, see below) and runs it. Use
|
||
<span class="command"><strong>list-images</strong></span> (see below), for listing
|
||
available container images to start.</p><p>Note that
|
||
<a href="systemd-machined.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined.service</span>(8)</span></a>
|
||
also interfaces with a variety of other container and VM
|
||
managers, <span class="command"><strong>systemd-nspawn</strong></span> is just one
|
||
implementation of it. Most of the commands available in
|
||
<span class="command"><strong>machinectl</strong></span> may be used on containers or VMs
|
||
controlled by other managers, not just
|
||
<span class="command"><strong>systemd-nspawn</strong></span>. Starting VMs and container
|
||
images on those managers requires manager-specific
|
||
tools.</p><p>To interactively start a container on the command line
|
||
with full access to the container's console, please invoke
|
||
<span class="command"><strong>systemd-nspawn</strong></span> directly. To stop a running
|
||
container use <span class="command"><strong>machinectl poweroff</strong></span>, see
|
||
below.</p></dd><dt id="login NAME"><span class="term"><span class="command"><strong>login</strong></span> <em class="replaceable"><code>NAME</code></em></span><a class="headerlink" title="Permalink to this term" href="#login%20NAME">¶</a></dt><dd><p>Open an interactive terminal login session to
|
||
a container. This will create a TTY connection to a specific
|
||
container and asks for the execution of a getty on it. Note
|
||
that this is only supported for containers running
|
||
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
|
||
as init system.</p><p>This command will open a full login prompt on the
|
||
container, which then asks for username and password. Use
|
||
<a href="systemd-run.html"><span class="citerefentry"><span class="refentrytitle">systemd-run</span>(1)</span></a>
|
||
with the <code class="option">--machine=</code> switch to invoke a single
|
||
command, either interactively or in the background within a
|
||
local container.</p></dd><dt id="enable NAME..."><span class="term"><span class="command"><strong>enable</strong></span> <em class="replaceable"><code>NAME</code></em>..., </span><span class="term"><span class="command"><strong>disable</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#enable%20NAME...">¶</a></dt><dd><p>Enable or disable a container as a system
|
||
service to start at system boot, using
|
||
<a href="systemd-nspawn.html"><span class="citerefentry"><span class="refentrytitle">systemd-nspawn</span>(1)</span></a>.
|
||
This enables or disables
|
||
<code class="filename">systemd-nspawn@.service</code>, instantiated for
|
||
the specified machine name, similar to the effect of
|
||
<span class="command"><strong>systemctl enable</strong></span> or <span class="command"><strong>systemctl
|
||
disable</strong></span> on the service name.</p></dd><dt id="poweroff NAME..."><span class="term"><span class="command"><strong>poweroff</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#poweroff%20NAME...">¶</a></dt><dd><p>Power off one or more containers. This will
|
||
trigger a reboot by sending SIGRTMIN+4 to the container's init
|
||
process, which causes systemd-compatible init systems to shut
|
||
down cleanly. This operation does not work on containers that
|
||
do not run a
|
||
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>-compatible
|
||
init system, such as sysvinit. Use
|
||
<span class="command"><strong>terminate</strong></span> (see below) to immediately
|
||
terminate a container or VM, without cleanly shutting it
|
||
down.</p></dd><dt id="reboot NAME..."><span class="term"><span class="command"><strong>reboot</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#reboot%20NAME...">¶</a></dt><dd><p>Reboot one or more containers. This will
|
||
trigger a reboot by sending SIGINT to the container's init
|
||
process, which is roughly equivalent to pressing Ctrl+Alt+Del
|
||
on a non-containerized system, and is compatible with
|
||
containers running any system manager.</p></dd><dt id="terminate NAME..."><span class="term"><span class="command"><strong>terminate</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#terminate%20NAME...">¶</a></dt><dd><p>Immediately terminates a virtual machine or
|
||
container, without cleanly shutting it down. This kills all
|
||
processes of the virtual machine or container and deallocates
|
||
all resources attached to that instance. Use
|
||
<span class="command"><strong>poweroff</strong></span> to issue a clean shutdown
|
||
request.</p></dd><dt id="kill NAME..."><span class="term"><span class="command"><strong>kill</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#kill%20NAME...">¶</a></dt><dd><p>Send a signal to one or more processes of the
|
||
virtual machine or container. This means processes as seen by
|
||
the host, not the processes inside the virtual machine or
|
||
container. Use <code class="option">--kill-who=</code> to select which
|
||
process to kill. Use <code class="option">--signal=</code> to select the
|
||
signal to send.</p></dd><dt id="bind NAME PATH [PATH]"><span class="term"><span class="command"><strong>bind</strong></span> <em class="replaceable"><code>NAME</code></em> <em class="replaceable"><code>PATH</code></em> [<em class="replaceable"><code>PATH</code></em>]</span><a class="headerlink" title="Permalink to this term" href="#bind%20NAME%20PATH%20%5BPATH%5D">¶</a></dt><dd><p>Bind mounts a directory from the host into the
|
||
specified container. The first directory argument is the
|
||
source directory on the host, the second directory argument
|
||
the source directory on the host. When the latter is omitted
|
||
the destination path in the container is the same as the
|
||
source path on the host. When combined with the
|
||
<code class="option">--read-only</code> switch a ready-only bind mount is
|
||
created. When combined with the <code class="option">--mkdir</code>
|
||
switch the destination path is first created before the mount
|
||
is applied. Note that this option is currently only supported
|
||
for
|
||
<a href="systemd-nspawn.html"><span class="citerefentry"><span class="refentrytitle">systemd-nspawn</span>(1)</span></a>
|
||
containers.</p></dd><dt id="copy-to NAME PATH [PATH]"><span class="term"><span class="command"><strong>copy-to</strong></span> <em class="replaceable"><code>NAME</code></em> <em class="replaceable"><code>PATH</code></em> [<em class="replaceable"><code>PATH</code></em>]</span><a class="headerlink" title="Permalink to this term" href="#copy-to%20NAME%20PATH%20%5BPATH%5D">¶</a></dt><dd><p>Copies files or directories from the host
|
||
system into a running container. Takes a container name,
|
||
followed by the source path on the host and the destination
|
||
path in the container. If the destination path is omitted the
|
||
same as the source path is used.</p></dd><dt id="copy-from NAME PATH [PATH]"><span class="term"><span class="command"><strong>copy-from</strong></span> <em class="replaceable"><code>NAME</code></em> <em class="replaceable"><code>PATH</code></em> [<em class="replaceable"><code>PATH</code></em>]</span><a class="headerlink" title="Permalink to this term" href="#copy-from%20NAME%20PATH%20%5BPATH%5D">¶</a></dt><dd><p>Copies files or directories from a container
|
||
into the host system. Takes a container name, followed by the
|
||
source path in the container the destination path on the host.
|
||
If the destination path is omitted the same as the source path
|
||
is used.</p></dd></dl></div></div><div class="refsect2"><a name="idm140317734417536"></a><h3 id="Image Commands">Image Commands<a class="headerlink" title="Permalink to this headline" href="#Image%20Commands">¶</a></h3><div class="variablelist"><dl class="variablelist"><dt id="list-images"><span class="term"><span class="command"><strong>list-images</strong></span></span><a class="headerlink" title="Permalink to this term" href="#list-images">¶</a></dt><dd><p>Show a list of locally installed container and
|
||
VM images. This enumerates all raw disk images and container
|
||
directories and subvolumes in
|
||
<code class="filename">/var/lib/machines/</code> (and other search
|
||
paths, see below). Use <span class="command"><strong>start</strong></span> (see above) to
|
||
run a container off one of the listed images. Note that by
|
||
default containers whose name begins with a dot
|
||
("<code class="literal">.</code>") are not shown. To show these too,
|
||
specify <code class="option">--all</code>. Note that a special image
|
||
"<code class="literal">.host</code>" always implicitly exists and refers
|
||
to the image the host itself is booted from.</p></dd><dt id="image-status NAME..."><span class="term"><span class="command"><strong>image-status</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#image-status%20NAME...">¶</a></dt><dd><p>Show terse status information about one or
|
||
more container or VM images. This function is intended to
|
||
generate human-readable output. Use
|
||
<span class="command"><strong>show-image</strong></span> (see below) to generate
|
||
computer-parsable output instead.</p></dd><dt id="show-image NAME..."><span class="term"><span class="command"><strong>show-image</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#show-image%20NAME...">¶</a></dt><dd><p>Show properties of one or more registered
|
||
virtual machine or container images, or the manager itself. If
|
||
no argument is specified, properties of the manager will be
|
||
shown. If an NAME is specified, properties of this virtual
|
||
machine or container image are shown. By default, empty
|
||
properties are suppressed. Use <code class="option">--all</code> to show
|
||
those too. To select specific properties to show, use
|
||
<code class="option">--property=</code>. This command is intended to be
|
||
used whenever computer-parsable output is required. Use
|
||
<span class="command"><strong>image-status</strong></span> if you are looking for
|
||
formatted human-readable output.</p></dd><dt id="clone NAME NAME"><span class="term"><span class="command"><strong>clone</strong></span> <em class="replaceable"><code>NAME</code></em> <em class="replaceable"><code>NAME</code></em></span><a class="headerlink" title="Permalink to this term" href="#clone%20NAME%20NAME">¶</a></dt><dd><p>Clones a container or disk image. The
|
||
arguments specify the name of the image to clone and the name
|
||
of the newly cloned image. Note that plain directory container
|
||
images are cloned into subvolume images with this command.
|
||
Note that cloning a container or VM image is optimized for
|
||
btrfs file systems, and might not be efficient on others, due
|
||
to file system limitations.</p></dd><dt id="rename NAME NAME"><span class="term"><span class="command"><strong>rename</strong></span> <em class="replaceable"><code>NAME</code></em> <em class="replaceable"><code>NAME</code></em></span><a class="headerlink" title="Permalink to this term" href="#rename%20NAME%20NAME">¶</a></dt><dd><p>Renames a container or disk image. The
|
||
arguments specify the name of the image to rename and the new
|
||
name of the image.</p></dd><dt id="read-only NAME [BOOL]"><span class="term"><span class="command"><strong>read-only</strong></span> <em class="replaceable"><code>NAME</code></em> [<em class="replaceable"><code>BOOL</code></em>]</span><a class="headerlink" title="Permalink to this term" href="#read-only%20NAME%20%5BBOOL%5D">¶</a></dt><dd><p>Marks or (unmarks) a container or disk image
|
||
read-only. Takes a VM or container image name, followed by a
|
||
boolean as arguments. If the boolean is omitted, positive is
|
||
implied, i.e. the image is marked read-only.</p></dd><dt id="remove NAME..."><span class="term"><span class="command"><strong>remove</strong></span> <em class="replaceable"><code>NAME</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#remove%20NAME...">¶</a></dt><dd><p>Removes one or more container or disk images.
|
||
The special image "<code class="literal">.host</code>", which refers to
|
||
the host's own directory tree may not be
|
||
removed.</p></dd></dl></div></div><div class="refsect2"><a name="idm140317734393344"></a><h3 id="Image Transfer Commands">Image Transfer Commands<a class="headerlink" title="Permalink to this headline" href="#Image%20Transfer%20Commands">¶</a></h3><div class="variablelist"><dl class="variablelist"><dt id="pull-tar URL [NAME]"><span class="term"><span class="command"><strong>pull-tar</strong></span> <em class="replaceable"><code>URL</code></em> [<em class="replaceable"><code>NAME</code></em>]</span><a class="headerlink" title="Permalink to this term" href="#pull-tar%20URL%20%5BNAME%5D">¶</a></dt><dd><p>Downloads a <code class="filename">.tar</code>
|
||
container image from the specified URL, and makes it available
|
||
under the specified local machine name. The URL must be of
|
||
type "<code class="literal">http://</code>" or
|
||
"<code class="literal">https://</code>", and must refer to a
|
||
<code class="filename">.tar</code>, <code class="filename">.tar.gz</code>,
|
||
<code class="filename">.tar.xz</code> or <code class="filename">.tar.bz2</code>
|
||
archive file. If the local machine name is omitted the name it
|
||
is automatically derived from the last component of the URL,
|
||
with its suffix removed.</p><p>The image is verified before it is made available,
|
||
unless <code class="option">--verify=no</code> is specified. Verification
|
||
is done via SHA256SUMS and SHA256SUMS.gpg files, that need to
|
||
be made available on the same web server, under the same URL
|
||
as the <code class="filename">.tar</code> file, but with the last
|
||
component (the filename) of the URL replaced. With
|
||
<code class="option">--verify=checksum</code> only the SHA256 checksum
|
||
for the file is verified, based on the
|
||
<code class="filename">SHA256SUMS</code> file. With
|
||
<code class="option">--verify=signature</code> the SHA256SUMS file is
|
||
first verified with detached GPG signature file
|
||
<code class="filename">SHA256SUMS.gpg</code>. The public key for this
|
||
verification step needs to be available in
|
||
<code class="filename">/usr/lib/systemd/import-pubring.gpg</code> or
|
||
<code class="filename">/etc/systemd/import-pubring.gpg</code>.</p><p>The container image will be downloaded and stored in a
|
||
read-only subvolume in
|
||
<code class="filename">/var/lib/machines/</code>, that is named after
|
||
the specified URL and its HTTP etag. A writable snapshot is
|
||
then taken from this subvolume, and named after the specified
|
||
local name. This behaviour ensures that creating multiple
|
||
container instances of the same URL is efficient, as multiple
|
||
downloads are not necessary. In order to create only the
|
||
read-only image, and avoid creating its writable snapshot,
|
||
specify "<code class="literal">-</code>" as local machine name.</p><p>Note that the read-only subvolume is prefixed with
|
||
<code class="filename">.tar-</code>, and is thus now shown by
|
||
<span class="command"><strong>list-images</strong></span>, unless <code class="option">--all</code>
|
||
is passed.</p><p>Note that pressing C-c during execution of this command
|
||
will not abort the download. Use
|
||
<span class="command"><strong>cancel-transfer</strong></span>, described
|
||
below.</p></dd><dt id="pull-raw URL [NAME]"><span class="term"><span class="command"><strong>pull-raw</strong></span> <em class="replaceable"><code>URL</code></em> [<em class="replaceable"><code>NAME</code></em>]</span><a class="headerlink" title="Permalink to this term" href="#pull-raw%20URL%20%5BNAME%5D">¶</a></dt><dd><p>Downloads a <code class="filename">.raw</code>
|
||
container or VM disk image from the specified URL, and makes
|
||
it available under the specified local machine name. The URL
|
||
must be of type "<code class="literal">http://</code>" or
|
||
"<code class="literal">https://</code>". The container image must either
|
||
be a <code class="filename">.qcow2</code> or raw disk image, optionally
|
||
compressed as <code class="filename">.gz</code>,
|
||
<code class="filename">.xz</code>, or <code class="filename">.bz2</code>. If the
|
||
local machine name is omitted the name it is automatically
|
||
derived from the last component of the URL, with its suffix
|
||
removed.</p><p>Image verification is identical for raw and tar images
|
||
(see above).</p><p>If the the downloaded image is in
|
||
<code class="filename">.qcow2</code> format it es converted into a raw
|
||
image file before it is made available.</p><p>Downloaded images of this type will be placed as
|
||
read-only <code class="filename">.raw</code> file in
|
||
<code class="filename">/var/lib/machines/</code>. A local, writable
|
||
(reflinked) copy is then made under the specified local
|
||
machine name. To omit creation of the local, writable copy
|
||
pass "<code class="literal">-</code>" as local machine name.</p><p>Similar to the behaviour of <span class="command"><strong>pull-tar</strong></span>,
|
||
the read-only image is prefixed with
|
||
<code class="filename">.raw-</code>, and thus now shown by
|
||
<span class="command"><strong>list-images</strong></span>, unless <code class="option">--all</code>
|
||
is passed.</p><p>Note that pressing C-c during execution of this command
|
||
will not abort the download. Use
|
||
<span class="command"><strong>cancel-transfer</strong></span>, described
|
||
below.</p></dd><dt id="pull-dkr REMOTE [NAME]"><span class="term"><span class="command"><strong>pull-dkr</strong></span> <em class="replaceable"><code>REMOTE</code></em> [<em class="replaceable"><code>NAME</code></em>]</span><a class="headerlink" title="Permalink to this term" href="#pull-dkr%20REMOTE%20%5BNAME%5D">¶</a></dt><dd><p>Downloads a "<code class="literal">dkr</code>" container
|
||
image and makes it available locally. The remote name refers
|
||
to a "<code class="literal">dkr</code>" container name. If omitted, the
|
||
local machine name is derived from the "<code class="literal">dkr</code>"
|
||
container name.</p><p>Image verification is not available for
|
||
"<code class="literal">dkr</code>" containers, and thus
|
||
<code class="option">--verify=no</code> must always be specified with
|
||
this command.</p><p>This command downloads all (missing) layers for the
|
||
specified container and places them in read-only subvolumes in
|
||
<code class="filename">/var/lib/machines/</code>. A writable snapshot
|
||
of the newest layer is then created under the specified local
|
||
machine name. To omit creation of this writable snapshot, pass
|
||
"<code class="literal">-</code>" as local machine name.</p><p>The read-only layer subvolumes are prefixed with
|
||
<code class="filename">.dkr-</code>, and thus now shown by
|
||
<span class="command"><strong>list-images</strong></span>, unless <code class="option">--all</code>
|
||
is passed.</p><p>To specify the "<code class="literal">dkr</code>" index server to
|
||
use for looking up the specified container, use
|
||
<code class="option">--dkr-index-url=</code>.</p><p>Note that pressing C-c during execution of this command
|
||
will not abort the download. Use
|
||
<span class="command"><strong>cancel-transfer</strong></span>, described
|
||
below.</p></dd><dt id="list-transfers"><span class="term"><span class="command"><strong>list-transfers</strong></span></span><a class="headerlink" title="Permalink to this term" href="#list-transfers">¶</a></dt><dd><p>Shows a list of container or VM image
|
||
downloads that are currently in progress.</p></dd><dt id="cancel-transfers ID..."><span class="term"><span class="command"><strong>cancel-transfers</strong></span> <em class="replaceable"><code>ID</code></em>...</span><a class="headerlink" title="Permalink to this term" href="#cancel-transfers%20ID...">¶</a></dt><dd><p>Aborts download of the container or VM image
|
||
with the specified ID. To list ongoing transfers and their
|
||
IDs, use <span class="command"><strong>list-transfers</strong></span>. </p></dd></dl></div></div></div><div class="refsect1"><a name="idm140317734341424"></a><h2 id="Files and Directories">Files and Directories<a class="headerlink" title="Permalink to this headline" href="#Files%20and%20Directories">¶</a></h2><p>Machine images are preferably stored in
|
||
<code class="filename">/var/lib/machines/</code>, but are also searched for
|
||
in <code class="filename">/usr/local/lib/machines/</code> and
|
||
<code class="filename">/usr/lib/machines/</code>. For compatibility reasons
|
||
the directory <code class="filename">/var/lib/container/</code> is
|
||
searched, too. Note that images stored below
|
||
<code class="filename">/usr</code> are always considered read-only. It is
|
||
possible to symlink machines images from other directories into
|
||
<code class="filename">/var/lib/machines/</code> to make them available for
|
||
control with <span class="command"><strong>machinectl</strong></span>.</p><p>Disk images are understood by
|
||
<a href="systemd-nspawn.html"><span class="citerefentry"><span class="refentrytitle">systemd-nspawn</span>(1)</span></a>
|
||
and <span class="command"><strong>machinectl</strong></span> in three formats:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>A simple directory tree, containing the files
|
||
and directories of the container to boot.</p></li><li class="listitem"><p>A subvolume (on btrfs file systems), which are
|
||
similar to the simple directories, described above. However,
|
||
they have additional benefits, such as efficient cloning and
|
||
quota reporting.</p></li><li class="listitem"><p>"Raw" disk images, i.e. binary images of disks
|
||
with a GPT or MBR partition table. Images of this type are
|
||
regular files with the suffix
|
||
"<code class="literal">.raw</code>".</p></li></ul></div><p>See
|
||
<a href="systemd-nspawn.html"><span class="citerefentry"><span class="refentrytitle">systemd-nspawn</span>(1)</span></a>
|
||
for more information on image formats, in particular it's
|
||
<code class="option">--directory=</code> and <code class="option">--image=</code>
|
||
options.</p></div><div class="refsect1"><a name="idm140317734328864"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples">¶</a></h2><div class="example"><a name="idm140317734328224"></a><p class="title"><b>Example 1. Download an Ubuntu image and open a shell in it</b></p><div class="example-contents"><pre class="programlisting"># machinectl pull-tar https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-root.tar.gz
|
||
# systemd-nspawn -M trusty-server-cloudimg-amd64-root</pre><p>This downloads and verifies the specified
|
||
<code class="filename">.tar</code> image, and then uses
|
||
<a href="systemd-nspawn.html"><span class="citerefentry"><span class="refentrytitle">systemd-nspawn</span>(1)</span></a>
|
||
to open a shell in it.</p></div></div><br class="example-break"><div class="example"><a name="idm140317734324880"></a><p class="title"><b>Example 2. Download a Fedora image, set a root password in it, start
|
||
it as service</b></p><div class="example-contents"><pre class="programlisting"># machinectl pull-raw --verify=no
|
||
http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/21/Cloud/Images/x86_64/Fedora-Cloud-Base-20141203-21.x86_64.raw.xz
|
||
# systemd-nspawn -M Fedora-Cloud-Base-20141203-21 # passwd #
|
||
exit # machinectl start Fedora-Cloud-Base-20141203-21 #
|
||
machinectl login Fedora-Cloud-Base-20141203-21</pre><p>This downloads the specified <code class="filename">.raw</code>
|
||
image with verification disabled. Then a shell is opened in it
|
||
and a root password is set. Afterwards the shell is left, and
|
||
the machine started as system service. With the last command a
|
||
login prompt into the container is requested.</p></div></div><br class="example-break"><div class="example"><a name="idm140317739501408"></a><p class="title"><b>Example 3. Download a Fedora "<code class="literal">dkr</code>" image</b></p><div class="example-contents"><pre class="programlisting"># machinectl pull-dkr --verify=no mattdm/fedora
|
||
# systemd-nspawn -M fedora</pre><p>Downloads a "<code class="literal">dkr</code>" image and opens a shell
|
||
in it. Note that the specified download command might require an
|
||
index server to be specified with the
|
||
"<code class="literal">--dkr-index-url=</code>".</p></div></div><br class="example-break"></div><div class="refsect1"><a name="idm140317739497120"></a><h2 id="Exit status">Exit status<a class="headerlink" title="Permalink to this headline" href="#Exit%20status">¶</a></h2><p>On success, 0 is returned, a non-zero failure code
|
||
otherwise.</p></div><div class="refsect1"><a name="idm140317721004464"></a><h2 id="Environment">Environment<a class="headerlink" title="Permalink to this headline" href="#Environment">¶</a></h2><div class="variablelist"><dl class="variablelist"><dt id="$SYSTEMD_PAGER"><span class="term"><code class="varname">$SYSTEMD_PAGER</code></span><a class="headerlink" title="Permalink to this term" href="#%24SYSTEMD_PAGER">¶</a></dt><dd><p>Pager to use when
|
||
<code class="option">--no-pager</code> is not given;
|
||
overrides <code class="varname">$PAGER</code>. Setting
|
||
this to an empty string or the value
|
||
"<code class="literal">cat</code>" is equivalent to passing
|
||
<code class="option">--no-pager</code>.</p></dd><dt id="$SYSTEMD_LESS"><span class="term"><code class="varname">$SYSTEMD_LESS</code></span><a class="headerlink" title="Permalink to this term" href="#%24SYSTEMD_LESS">¶</a></dt><dd><p>Override the default
|
||
options passed to
|
||
<span class="command"><strong>less</strong></span>
|
||
("<code class="literal">FRSXMK</code>").</p></dd></dl></div></div><div class="refsect1"><a name="idm140317739495328"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also">¶</a></h2><p>
|
||
<a href="systemd-machined.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined.service</span>(8)</span></a>,
|
||
<a href="systemd-nspawn.html"><span class="citerefentry"><span class="refentrytitle">systemd-nspawn</span>(1)</span></a>,
|
||
<a href="systemd.special.html"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a>
|
||
</p></div></div></body></html>
|