summaryrefslogtreecommitdiff
path: root/man/hostnamectl.xml
blob: b39fb5502bdd90bcbbe73c6c73502acce1a4f251 (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
<?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'>

        <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 might be assigned temporarily due to network
                configuration and might revert back to the static
                hostname if network connectivity is lost and is only
                temporarily written to the kernel hostname
                (e.g. "dhcp-47-11").</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-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
        </refsect1>

        <refsect1>
                <title>Options</title>

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

                <variablelist>
                        <varlistentry>
                                <term><option>-h</option></term>
                                <term><option>--help</option></term>

                                <listitem><para>Prints a short help
                                text and exits.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><option>--version</option></term>

                                <listitem><para>Prints a short version
                                string and exits.</para></listitem>
                        </varlistentry>

                        <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>-P</option></term>
                                <term><option>--privileged</option></term>

                                <listitem><para>Acquire privileges via PolicyKit
                                before executing the operation.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><option>-H</option></term>
                                <term><option>--host</option></term>

                                <listitem><para>Execute the operation
                                remotely. Specify a hostname, or
                                username and hostname separated by <literal>@</literal>,
                                to connect to. This will use SSH to
                                talk to a remote
                                system.</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>
                </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 [NAME]</command></term>

                                <listitem><para>Set the system
                                hostname. 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. 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 [NAME]</command></term>

                                <listitem><para>Set the system icon
                                name. 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>. Pass an
                                empty string to this operation 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 [TYPE]</command></term>

                                <listitem><para>Set the chassis
                                type. 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>, as well as
                                the special chassis types
                                <literal>vm</literal> and
                                <literal>container</literal> for
                                virtualized systems that lack an
                                immediate physical chassis. Pass an
                                empty string to this operation to
                                reset the chassis type to the default
                                value which is determined from the
                                firmware and possibly other
                                parameters.</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>
                </para>
        </refsect1>

</refentry>