aboutsummaryrefslogtreecommitdiff
blob: de154020d6a29572cf1ff9c2211e0b8b0d302a04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<!--
  This file is part of systemd.

  Copyright 2012 Lennart Poettering

  systemd 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.

  systemd 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 systemd; If not, see <http://www.gnu.org/licenses/>.
-->

<refentry id="hostnamectl" conditional='ENABLE_HOSTNAMED'
          xmlns:xi="http://www.w3.org/2001/XInclude">

        <refentryinfo>
                <title>hostnamectl</title>
                <productname>systemd</productname>

                <authorgroup>
                        <author>
                                <contrib>Developer</contrib>
                                <firstname>Lennart</firstname>
                                <surname>Poettering</surname>
                                <email>lennart@poettering.net</email>
                        </author>
                </authorgroup>
        </refentryinfo>

        <refmeta>
                <refentrytitle>hostnamectl</refentrytitle>
                <manvolnum>1</manvolnum>
        </refmeta>

        <refnamediv>
                <refname>hostnamectl</refname>
                <refpurpose>Control the system hostname</refpurpose>
        </refnamediv>

        <refsynopsisdiv>
                <cmdsynopsis>
                        <command>hostnamectl</command>
                        <arg choice="opt" rep="repeat">OPTIONS</arg>
                        <arg choice="req">COMMAND</arg>
                </cmdsynopsis>
        </refsynopsisdiv>

        <refsect1>
                <title>Description</title>

                <para><command>hostnamectl</command> may be used to
                query and change the system hostname and related
                settings.</para>

                <para>This tool distinguishes three different
                hostnames: the high-level "pretty" hostname which
                might include all kinds of special characters
                (e.g. "Lennart's Laptop"), the static hostname which
                is used to initialize the kernel hostname at boot
                (e.g. "lennarts-laptop"), and the transient hostname
                which is a default received from network configuration.
                If a static hostname is set, and is valid (something other
                than localhost), then the transient hostname is not used.</para>

                <para>Note that the pretty hostname has little
                restrictions on the characters used, while the static
                and transient hostnames are limited to the usually
                accepted characters of Internet domain names.</para>

                <para>The static hostname is stored in
                <filename>/etc/hostname</filename>, see
                <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                for more information. The pretty hostname, chassis
                type, and icon name are stored in
                <filename>/etc/machine-info</filename>, see
                <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>

                <para>Use
                <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                to initialize the system host name for mounted (but
                not booted) system images.</para>
        </refsect1>

        <refsect1>
                <title>Options</title>

                <para>The following options are understood:</para>

                <variablelist>
                        <varlistentry>
                                <term><option>--no-ask-password</option></term>

                                <listitem><para>Do not query the user
                                for authentication for privileged
                                operations.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><option>--static</option></term>
                                <term><option>--transient</option></term>
                                <term><option>--pretty</option></term>

                                <listitem><para>If
                                <command>status</command> is used (or
                                no explicit command is given) and one
                                of those fields is given,
                                <command>hostnamectl</command> will
                                print out just this selected
                                hostname.</para>

                                <para>If used with
                                <command>set-hostname</command>, only
                                the selected hostname(s) will be
                                updated. When more than one of those
                                options is used, all the specified
                                hostnames will be updated.
                                </para></listitem>
                        </varlistentry>

                        <xi:include href="user-system-options.xml" xpointer="host" />
                        <xi:include href="user-system-options.xml" xpointer="machine" />

                        <xi:include href="standard-options.xml" xpointer="help" />
                        <xi:include href="standard-options.xml" xpointer="version" />
                </variablelist>

                <para>The following commands are understood:</para>

                <variablelist>
                        <varlistentry>
                                <term><command>status</command></term>

                                <listitem><para>Show current system
                                hostname and related
                                information.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><command>set-hostname <replaceable>NAME</replaceable></command></term>

                                <listitem><para>Set the system
                                hostname to
                                <replaceable>NAME</replaceable>. By
                                default, this will alter the pretty,
                                the static, and the transient hostname
                                alike; however, if one or more of
                                <option>--static</option>,
                                <option>--transient</option>,
                                <option>--pretty</option> are used,
                                only the selected hostnames are
                                changed. If the pretty hostname is
                                being set, and static or transient are
                                being set as well, the specified
                                hostname will be simplified in regards
                                to the character set used before the
                                latter are updated. This is done by
                                replacing spaces with
                                <literal>-</literal> and removing
                                special characters. This ensures that
                                the pretty and the static hostname are
                                always closely related while still
                                following the validity rules of the
                                specific name. This simplification of
                                the hostname string is not done if
                                only the transient and/or static host
                                names are set, and the pretty host
                                name is left untouched.</para>

                                <para>Pass the empty string
                                <literal></literal> as the hostname to
                                reset the selected hostnames to their
                                default (usually
                                <literal>localhost</literal>).</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><command>set-icon-name <replaceable>NAME</replaceable></command></term>

                                <listitem><para>Set the system icon
                                name to
                                <replaceable>NAME</replaceable>. The
                                icon name is used by some graphical
                                applications to visualize this host.
                                The icon name should follow the <ulink
                                url="http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html">Icon
                                Naming Specification</ulink>.</para>

                                <para>Pass an empty string to reset
                                the icon name to the default value,
                                which is determined from chassis type
                                (see below) and possibly other
                                parameters.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><command>set-chassis <replaceable>TYPE</replaceable></command></term>

                                <listitem><para>Set the chassis type
                                to <replaceable>TYPE</replaceable>.
                                The chassis type is used by some
                                graphical applications to visualize
                                the host or alter user interaction.
                                Currently, the following chassis types
                                are defined:
                                <literal>desktop</literal>,
                                <literal>laptop</literal>,
                                <literal>server</literal>,
                                <literal>tablet</literal>,
                                <literal>handset</literal>,
                                <literal>watch</literal>,
                                <literal>embedded</literal> as well as
                                the special chassis types
                                <literal>vm</literal> and
                                <literal>container</literal> for
                                virtualized systems that lack an
                                immediate physical chassis.</para>

                                <para>Pass an empty string to reset
                                the chassis type to the default value
                                which is determined from the firmware
                                and possibly other parameters.</para>
                                </listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><command>set-deployment <replaceable>ENVIRONMENT</replaceable></command></term>

                                <listitem><para>Set the deployment
                                environment
                                description. <replaceable>ENVIRONMENT</replaceable>
                                must be a single word without any
                                control characters. One of the
                                following is suggested:
                                <literal>development</literal>,
                                <literal>integration</literal>,
                                <literal>staging</literal>,
                                <literal>production</literal>.
                                </para>

                                <para>Pass an empty string to reset to
                                the default empty value.</para>
                                </listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><command>set-location <replaceable>LOCATION</replaceable></command></term>

                                <listitem><para>Set the location
                                string for the system, if it is
                                known. <replaceable>LOCATION</replaceable>
                                should be a human-friendly, free-form
                                string describing the physical
                                location of the system, if it is known
                                and applicable. This may be as generic
                                as <literal>Berlin, Germany</literal>
                                or as specific as <literal>Left Rack,
                                2nd Shelf</literal>.</para>

                                <para>Pass an empty string to reset to
                                the default empty value.</para>
                                </listitem>
                        </varlistentry>
                </variablelist>
        </refsect1>

        <refsect1>
                <title>Exit status</title>

                <para>On success, 0 is returned, a non-zero failure
                code otherwise.</para>
        </refsect1>

        <refsect1>
                <title>See Also</title>
                <para>
                        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd-hostnamed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                </para>
        </refsect1>

</refentry>