source: networking/netutils/networkmanager.xml@ cec6657e

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since cec6657e was cec6657e, checked in by DJ Lucas <dj@…>, 8 years ago

[Systemd merge] - Chapter 16

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@17479 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 16.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY NetworkManager-download-http
8 "&gnome-download-http;/NetworkManager/1.2/NetworkManager-&NetworkManager-version;.tar.xz">
9 <!ENTITY NetworkManager-download-ftp
10 "&gnome-download-ftp;/NetworkManager/1.2/NetworkManager-&NetworkManager-version;.tar.xz">
11 <!ENTITY NetworkManager-md5sum "d431bad77b68326282249bdb53ade6b4">
12 <!ENTITY NetworkManager-size "3.6 MB">
13 <!ENTITY NetworkManager-buildsize "422 MB (with tests)">
14 <!ENTITY NetworkManager-time "3.4 SBU (with tests)">
15]>
16
17<sect1 id="NetworkManager" xreflabel="NetworkManager-&NetworkManager-version;">
18 <?dbhtml filename="networkmanager.html"?>
19
20 <sect1info>
21 <othername>$LastChangedBy$</othername>
22 <date>$Date$</date>
23 </sect1info>
24
25 <title>NetworkManager-&NetworkManager-version;</title>
26
27 <indexterm zone="NetworkManager">
28 <primary sortas="a-NetworkManager">NetworkManager</primary>
29 </indexterm>
30
31 <sect2 role="package">
32 <title>Introduction to NetworkManager</title>
33
34 <para>
35 <application>NetworkManager</application> is a set of co-operative
36 tools that make networking simple and straightforward. Whether WiFi, wired,
37 3G, or Bluetooth, NetworkManager allows you to quickly move from one network
38 to another: Once a network has been configured and joined once, it can be
39 detected and re-joined automatically the next time it's available.
40 </para>
41
42 &lfs79_checked;&gcc6_checked;
43
44 <note revision="systemd">
45 <para>
46 Make sure that you disable the <command>systemd-networkd</command>
47 service or configure it not to manage the interfaces you want to manage
48 with <application>NetworkManager</application>.
49 </para>
50 </note>
51
52 <bridgehead renderas="sect3">Package Information</bridgehead>
53 <itemizedlist spacing="compact">
54 <listitem>
55 <para>
56 Download (HTTP): <ulink url="&NetworkManager-download-http;"/>
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download (FTP): <ulink url="&NetworkManager-download-ftp;"/>
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Download MD5 sum: &NetworkManager-md5sum;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Download size: &NetworkManager-size;
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Estimated disk space required: &NetworkManager-buildsize;
77 </para>
78 </listitem>
79 <listitem>
80 <para>
81 Estimated build time: &NetworkManager-time;
82 </para>
83 </listitem>
84 </itemizedlist>
85
86 <bridgehead renderas="sect3">NetworkManager Dependencies</bridgehead>
87
88 <bridgehead renderas="sect4">Required</bridgehead>
89 <para role="required">
90 <xref linkend="dbus-glib"/>,
91 <xref linkend="libgudev"/>,
92 <xref linkend="libndp"/>,
93 <xref linkend="libnl"/>, and
94 <xref linkend="nss"/>
95 </para>
96
97 <bridgehead renderas="sect4">Recommended</bridgehead>
98 <para role="recommended">
99 <phrase revision="sysv"><xref linkend="consolekit"/>,</phrase>
100 <xref linkend="dhcpcd"/> or
101 <xref linkend="dhcp"/> (client only),
102 <xref linkend="gobject-introspection"/>,
103 <xref linkend="iptables"/>,
104 <xref linkend="libsoup"/>,
105 <xref linkend="newt"/> (for <command>nmtui</command>),
106 <xref linkend="polkit"/>,
107 <phrase revision="systemd"><xref linkend="systemd"/>,</phrase>
108 <xref linkend="upower"/>,
109 <xref linkend="vala"/>, and
110 <xref linkend="wpa_supplicant"/> (built with D-Bus support),
111 </para>
112
113 <bridgehead renderas="sect4">Optional</bridgehead>
114 <para role="optional">
115 <xref linkend="bluez"/>,
116 <xref linkend="gtk-doc"/>,
117 <xref linkend="qt5"/> (for examples),
118 <phrase revision="systemd"><xref linkend="ModemManager"/>,</phrase>
119 <phrase revision="systemd"><xref linkend="pygobject3"/>,</phrase>
120 <xref linkend="valgrind"/>,
121 <ulink url="http://libteam.org/">libteam</ulink>,
122 <phrase revision="sysv"><ulink
123 url="http://www.freedesktop.org/software/ModemManager/">
124 ModemManager</ulink>,</phrase>
125 <ulink url="https://www.samba.org/ftp/ppp/">PPP</ulink>, and
126 <ulink url="https://www.roaringpenguin.com/products/pppoe">RP-PPPoE</ulink>
127 </para>
128
129 <para condition="html" role="usernotes">User Notes:
130 <ulink url="&blfs-wiki;/NetworkManager"/>
131 </para>
132 </sect2>
133
134 <sect2 role="installation">
135 <title>Installation of NetworkManager</title>
136
137 <para>If <xref linkend="qt5"/> is installed and the Qt based
138 examples are desired, fix the configure script:</para>
139
140<screen><userinput>sed -e '/Qt[CDN]/s/Qt/Qt5/g' \
141 -e 's/moc_location/host_bins/' \
142 -i configure</userinput></screen>
143
144 <para>
145 Install <application>NetworkManager</application> by running the
146 following commands:
147 </para>
148
149<screen revision="sysv"><userinput>CXXFLAGS="-O2 -fPIC" \
150./configure --prefix=/usr \
151 --sysconfdir=/etc \
152 --localstatedir=/var \
153 --with-nmtui \
154 --disable-ppp \
155 --with-systemdsystemunitdir=no \
156 --docdir=/usr/share/doc/network-manager-&NetworkManager-version; &amp;&amp;
157make</userinput></screen>
158
159<screen revision="systemd"><userinput>CXXFLAGS="-O2 -fPIC" \
160./configure --prefix=/usr \
161 --sysconfdir=/etc \
162 --localstatedir=/var \
163 --with-nmtui \
164 --disable-ppp \
165 --with-session-tracking=systemd \
166 --with-systemdsystemunitdir=/lib/systemd/system \
167 --docdir=/usr/share/doc/network-manager-&NetworkManager-version; &amp;&amp;
168make</userinput></screen>
169
170 <para>
171 An already active graphical session with bus address is necessary to run
172 the tests. To test the results, issue: <command>make check</command>.
173 </para>
174
175 <para>
176 Now, as the <systemitem class="username">root</systemitem> user:
177 </para>
178
179<screen role="root"><userinput>make install</userinput></screen>
180
181 </sect2>
182
183 <sect2 role="commands">
184 <title>Command Explanations</title>
185
186 <para>
187 <envar>CXXFLAGS="-O2 -fPIC"</envar>: These compiler options are
188 necessary to build the Qt5 based examples.
189 </para>
190
191 <para>
192 <parameter>--with-nmtui</parameter>: This parameter enables build of
193 <command>nmtui</command>.
194 </para>
195
196 <para revision="systemd">
197 <parameter>--with-session-tracking=systemd</parameter>: This switch
198 is used to set <command>systemd-logind</command> as the default
199 program for session tracking.
200 </para>
201
202 <para revision="sysv">
203 <parameter>--with-systemdsystemunitdir=no</parameter>: This parameter is
204 used for sysv init systems. If you use systemd, replace "no" by the
205 proper directory.
206 </para>
207
208 <para revision="systemd">
209 <parameter>--with-systemdsystemunitdir=/lib/systemd/system</parameter>:
210 This switch is used to set the correct installation directory for
211 systemd units.
212 </para>
213
214 <para>
215 <parameter>--disable-ppp</parameter>: This parameter disables parameteral
216 <application>PPP</application> support in
217 <application>NetworkManager</application>.
218 </para>
219
220 <para>
221 <option>--enable-gtk-doc</option>: Use this switch if you have installed
222 <xref linkend="gtk-doc"/> and wish to build the API manuals.
223 </para>
224
225 <para>
226 <option>--without-iptables</option>: Use this switch if you don't have
227 <application>Iptables</application> installed.
228 </para>
229
230 </sect2>
231
232 <sect2 role="configuration">
233 <title>Configuring NetworkManager</title>
234
235 <sect3 id="NetworkManager-config">
236 <title>Config Files</title>
237 <para>
238 <filename>/etc/NetworkManager/NetworkManager.conf</filename>
239 </para>
240
241 <indexterm zone="NetworkManager NetworkManager-config">
242 <primary
243 sortas="e-etc-NetworkManager-NetworkManager.conf">
244 /etc/NetworkManager/NetworkManager.conf</primary>
245 </indexterm>
246
247 </sect3>
248
249 <sect3><title>Configuration Information</title>
250
251 <para>
252 For <application>NetworkManager</application> to work, at least
253 minimal configuration file must be present. Such file is not
254 installed with <command>make install</command>. Issue following
255 command as the
256 <systemitem class="username">root</systemitem> user to create
257 minimal <filename>NetworkManager.conf</filename> file:
258 </para>
259
260<screen role="root"><userinput>cat &gt;&gt; /etc/NetworkManager/NetworkManager.conf &lt;&lt; "EOF"
261<literal>[main]
262plugins=keyfile</literal>
263EOF</userinput></screen>
264
265 <para>
266 You can add <option>dns=none</option> to suppress changes to
267 <filename>/etc/resolv.conf</filename>. See
268 <command>man 5 NetworkManager.conf</command>
269 for any additional options.
270 </para>
271
272 </sect3>
273
274 <sect3 id="NetworkManager-init">
275 <title><phrase revision="sysv">Boot Script</phrase>
276 <phrase revision="systemd">Systemd Unit</phrase></title>
277
278 <para revision="sysv">
279 To automatically start the <command>NetworkManager</command> daemon
280 when the system is rebooted, install the
281 <filename>/etc/rc.d/init.d/networkmanager</filename>bootscript from the
282 <xref linkend="bootscripts"/> package.
283 </para>
284
285 <para revision="systemd">
286 To start the <command>NetworkManager</command> daemon at boot, enable
287 the previously installed systemd unit by running the following command
288 as the <systemitem class="username">root</systemitem> user:
289 </para>
290
291 <indexterm zone="NetworkManager NetworkManager-init">
292 <primary sortas="f-NetworkManager">NetworkManager</primary>
293 </indexterm>
294
295<screen role="root" revision="sysv"><userinput>make install-networkmanager</userinput></screen>
296
297<screen role="root" revision="systemd"><userinput>systemctl enable NetworkManager</userinput></screen>
298
299 <para revision="systemd">
300 <application>NetworkManager</application> also ships a systemd unit
301 called <filename>NetworkManager-wait-online.service</filename> which
302 can be used to prevent services that require network connectivity
303 from starting until <application>NetworkManager</application> has
304 established the connection. To enable it, run the following command
305 as the <systemitem class="username">root</systemitem> user:
306 </para>
307
308<screen role="root" revision="systemd"><userinput>systemctl enable NetworkManager-wait-online</userinput></screen>
309
310 </sect3>
311
312 </sect2>
313
314 <sect2 role="content">
315 <title>Contents</title>
316
317 <segmentedlist>
318 <segtitle>Installed Programs</segtitle>
319 <segtitle>Installed Libraries</segtitle>
320 <segtitle>Installed Directories</segtitle>
321
322 <seglistitem>
323 <seg>
324 NetworkManager, nmcli, nm-online, and, hardlinked to each other:
325 nmtui, nmtui-connect, nmtui-edit, and nmtui-hostname
326 </seg>
327 <seg>
328 libnm-glib.so, libnm-glib-vpn.so, libnm.so, libnm-util.so, and
329 modules under /usr/lib/NetworkManager
330 </seg>
331 <seg>
332 /etc/NetworkManager,
333 /usr/include/{libnm,libnm-glib,NetworkManager},
334 /usr/lib/NetworkManager,
335 /usr/share/doc/NetworkManager-&NetworkManager-version;,
336 /usr/share/gtk-doc/html/{libnm,libnm-glib,libnm-util,NetworkManager},
337 and
338 /var/{lib,run}/NetworkManager
339 </seg>
340 </seglistitem>
341 </segmentedlist>
342
343 <variablelist>
344 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
345 <?dbfo list-presentation="list"?>
346 <?dbhtml list-presentation="table"?>
347
348 <varlistentry id="nmcli">
349 <term><command>nmcli</command></term>
350 <listitem>
351 <para>
352 is a command-line tool for controlling
353 <application>NetworkManager</application>
354 and getting its status.
355 </para>
356 <indexterm zone="NetworkManager nmcli">
357 <primary sortas="b-nmcli">nmcli</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
361
362 <varlistentry id="nm-online">
363 <term><command>nm-online</command></term>
364 <listitem>
365 <para>
366 is a utility to find out whether you are online.
367 </para>
368 <indexterm zone="NetworkManager nm-online">
369 <primary sortas="b-nm-online">nm-online</primary>
370 </indexterm>
371 </listitem>
372 </varlistentry>
373
374 <varlistentry id="nmtui">
375 <term><command>nmtui</command></term>
376 <listitem>
377 <para>
378 interactive ncurses based interface for
379 <application>nmcli</application>.
380 </para>
381 <indexterm zone="NetworkManager nmtui">
382 <primary sortas="b-nmtui">nmtui</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry id="nmtui-connect">
388 <term><command>nmtui-connect</command></term>
389 <listitem>
390 <para>
391 interactive ncurses based interface connection activate/deactivate.
392 </para>
393 <indexterm zone="NetworkManager nmtui-connect">
394 <primary sortas="b-nmtui-connect">nmtui-connect</primary>
395 </indexterm>
396 </listitem>
397 </varlistentry>
398
399 <varlistentry id="nmtui-edit">
400 <term><command>nmtui-edit</command></term>
401 <listitem>
402 <para>
403 interactive ncurses based interface connection editor.
404 </para>
405 <indexterm zone="NetworkManager nmtui-edit">
406 <primary sortas="b-nmtui-edit">nmtui-edit</primary>
407 </indexterm>
408 </listitem>
409 </varlistentry>
410
411 <varlistentry id="nmtui-hostname">
412 <term><command>nmtui-hostname</command></term>
413 <listitem>
414 <para>
415 interactive ncurses based interface hostname editor.
416 </para>
417 <indexterm zone="NetworkManager nmtui-hostname">
418 <primary sortas="b-nmtui-hostname">nmtui-hostname</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423 <varlistentry id="NetworkManager-prog">
424 <term><command>NetworkManager</command></term>
425 <listitem>
426 <para>
427 is the network management daemon.
428 </para>
429 <indexterm zone="NetworkManager NetworkManager-prog">
430 <primary sortas="b-NetworkManager">NetworkManager</primary>
431 </indexterm>
432 </listitem>
433 </varlistentry>
434
435 <varlistentry id="libnm-glib">
436 <term><filename class="libraryfile">libnm-glib.so</filename></term>
437 <listitem>
438 <para>
439 contains functions used by <application>NetworkManager</application>.
440 </para>
441 <indexterm zone="NetworkManager libnm-glib">
442 <primary sortas="c-libnm-glib">libnm-glib.so</primary>
443 </indexterm>
444 </listitem>
445 </varlistentry>
446
447 <varlistentry id="libnm-glib-vpn">
448 <term><filename class="libraryfile">libnm-glib-vpn.so</filename></term>
449 <listitem>
450 <para>
451 contains functions used by <application>NetworkManager</application>
452 VPN plugins.
453 </para>
454 <indexterm zone="NetworkManager libnm-glib-vpn">
455 <primary sortas="c-libnm-glib-vpn">libnm-glib-vpn.so</primary>
456 </indexterm>
457 </listitem>
458 </varlistentry>
459
460 <varlistentry id="libnm-util">
461 <term><filename class="libraryfile">libnm-util.so</filename></term>
462 <listitem>
463 <para>
464 contains functions used by <application>NetworkManager</application>
465 utils.
466 </para>
467 <indexterm zone="NetworkManager libnm-util">
468 <primary sortas="c-libnm-util">libnm-util.so</primary>
469 </indexterm>
470 </listitem>
471 </varlistentry>
472
473 </variablelist>
474
475 </sect2>
476
477</sect1>
Note: See TracBrowser for help on using the repository browser.