chiark / gitweb /
bus-proxy: rename synthetic_reply_return_strv() to synthetic_reply_method_return_strv()
[elogind.git] / man / systemd-detect-virt.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5 <!--
6   This file is part of systemd.
7
8   Copyright 2010 Lennart Poettering
9
10   systemd is free software; you can redistribute it and/or modify it
11   under the terms of the GNU Lesser General Public License as published by
12   the Free Software Foundation; either version 2.1 of the License, or
13   (at your option) any later version.
14
15   systemd is distributed in the hope that it will be useful, but
16   WITHOUT ANY WARRANTY; without even the implied warranty of
17   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18   Lesser General Public License for more details.
19
20   You should have received a copy of the GNU Lesser General Public License
21   along with systemd; If not, see <http://www.gnu.org/licenses/>.
22 -->
23
24 <refentry id="systemd-detect-virt"
25     xmlns:xi="http://www.w3.org/2001/XInclude">
26
27   <refentryinfo>
28     <title>systemd-detect-virt</title>
29     <productname>systemd</productname>
30
31     <authorgroup>
32       <author>
33         <contrib>Developer</contrib>
34         <firstname>Lennart</firstname>
35         <surname>Poettering</surname>
36         <email>lennart@poettering.net</email>
37       </author>
38     </authorgroup>
39   </refentryinfo>
40
41   <refmeta>
42     <refentrytitle>systemd-detect-virt</refentrytitle>
43     <manvolnum>1</manvolnum>
44   </refmeta>
45
46   <refnamediv>
47     <refname>systemd-detect-virt</refname>
48     <refpurpose>Detect execution in a virtualized environment</refpurpose>
49   </refnamediv>
50
51   <refsynopsisdiv>
52     <cmdsynopsis>
53       <command>systemd-detect-virt <arg choice="opt" rep="repeat">OPTIONS</arg></command>
54     </cmdsynopsis>
55   </refsynopsisdiv>
56
57   <refsect1>
58     <title>Description</title>
59
60     <para><command>systemd-detect-virt</command> detects execution in
61     a virtualized environment. It identifies the virtualization
62     technology and can distinguish full VM virtualization from
63     container virtualization. <filename>systemd-detect-virt</filename>
64     exits with a return value of 0 (success) if a virtualization
65     technology is detected, and non-zero (error) otherwise. By default
66     any type of virtualization is detected, and the options
67     <option>--container</option> and <option>--vm</option> can be used
68     to limit what types of virtualization are detected.</para>
69
70     <para>When executed without <option>--quiet</option> will print a
71     short identifier for the detected virtualization technology. The
72     following technologies are currently identified:</para>
73
74     <table>
75       <title>Known virtualization technologies (both
76       VM, i.e. full hardware virtualization,
77       and container, i.e. shared kernel virtualization)</title>
78       <tgroup cols='3' align='left' colsep='1' rowsep='1'>
79         <colspec colname="type" />
80         <colspec colname="id" />
81         <colspec colname="product" />
82         <thead>
83           <row>
84       <entry>Type</entry>
85       <entry>ID</entry>
86       <entry>Product</entry>
87           </row>
88         </thead>
89         <tbody>
90           <row>
91       <entry morerows="8">VM</entry>
92       <entry><varname>qemu</varname></entry>
93       <entry>QEMU software virtualization</entry>
94           </row>
95
96           <row>
97       <entry><varname>kvm</varname></entry>
98       <entry>Linux KVM kernel virtual machine</entry>
99           </row>
100
101           <row>
102       <entry><varname>zvm</varname></entry>
103       <entry>s390 z/VM</entry>
104           </row>
105
106           <row>
107       <entry><varname>vmware</varname></entry>
108       <entry>VMware Workstation or Server, and related products</entry>
109           </row>
110
111           <row>
112       <entry><varname>microsoft</varname></entry>
113       <entry>Hyper-V, also known as Viridian or Windows Server Virtualization</entry>
114           </row>
115
116           <row>
117       <entry><varname>oracle</varname></entry>
118       <entry>Oracle VM VirtualBox (historically marketed by innotek and Sun Microsystems)</entry>
119           </row>
120
121           <row>
122       <entry><varname>xen</varname></entry>
123       <entry>Xen hypervisor (only domU, not dom0)</entry>
124           </row>
125
126           <row>
127       <entry><varname>bochs</varname></entry>
128       <entry>Bochs Emulator</entry>
129           </row>
130
131           <row>
132       <entry><varname>uml</varname></entry>
133       <entry>User-mode Linux</entry>
134           </row>
135
136           <row>
137       <entry morerows="5">container</entry>
138       <entry><varname>openvz</varname></entry>
139       <entry>OpenVZ/Virtuozzo</entry>
140           </row>
141
142           <row>
143       <entry><varname>lxc</varname></entry>
144       <entry>Linux container implementation by LXC</entry>
145           </row>
146
147           <row>
148       <entry><varname>lxc-libvirt</varname></entry>
149       <entry>Linux container implementation by libvirt</entry>
150           </row>
151
152           <row>
153        <entry><varname>systemd-nspawn</varname></entry>
154        <entry>systemd's minimal container implementation, see <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry></entry>
155           </row>
156
157           <row>
158       <entry><varname>docker</varname></entry>
159       <entry>Docker container manager</entry>
160           </row>
161         </tbody>
162       </tgroup>
163     </table>
164
165     <para>If multiple virtualization solutions are used, only the
166     "innermost" is detected and identified. That means if both VM
167     virtualization and container virtualization are used in
168     conjunction, only the latter will be identified (unless
169     <option>--vm</option> is passed).</para>
170   </refsect1>
171
172   <refsect1>
173     <title>Options</title>
174
175     <para>The following options are understood:</para>
176
177     <variablelist>
178       <varlistentry>
179         <term><option>-c</option></term>
180         <term><option>--container</option></term>
181
182         <listitem><para>Only detects container virtualization (i.e.
183         shared kernel virtualization).</para></listitem>
184       </varlistentry>
185
186       <varlistentry>
187         <term><option>-v</option></term>
188         <term><option>--vm</option></term>
189
190         <listitem><para>Only detects VM virtualization (i.e. full
191         hardware virtualization).</para></listitem>
192       </varlistentry>
193
194       <varlistentry>
195         <term><option>-q</option></term>
196         <term><option>--quiet</option></term>
197
198         <listitem><para>Suppress output of the virtualization
199         technology identifier.</para></listitem>
200       </varlistentry>
201
202       <xi:include href="standard-options.xml" xpointer="help" />
203       <xi:include href="standard-options.xml" xpointer="version" />
204     </variablelist>
205
206   </refsect1>
207
208   <refsect1>
209     <title>Exit status</title>
210
211     <para>If a virtualization technology is detected, 0 is returned, a
212     non-zero code otherwise.</para>
213   </refsect1>
214
215   <refsect1>
216     <title>See Also</title>
217     <para>
218       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
219       <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>
220     </para>
221   </refsect1>
222
223 </refentry>