source: networking/netutils/networkmanager.xml@ a1e15c4

10.0 10.1 11.0 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus perl-modules qt5new trunk upgradedb xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since a1e15c4 was a1e15c4, checked in by Douglas R. Reno <renodr@…>, 3 years ago

Fix a typo in the changelog
Fix NetworkManager for building libnm-glib and add a sed to fix a build issue with nm-applet
Update to network-manager-applet-1.8.16
Update to gnome-control-center-3.28.2
Update to gnome-settings-daemon-3.28.1
Update to ibus-1.5.19

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

  • Property mode set to 100644
File size: 17.7 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.12/NetworkManager-&NetworkManager-version;.tar.xz">
9 <!ENTITY NetworkManager-download-ftp
10 "&gnome-download-ftp;/NetworkManager/1.12/NetworkManager-&NetworkManager-version;.tar.xz">
11 <!ENTITY NetworkManager-md5sum "94d02b80b120f166927e6ef242b29a9b">
12 <!ENTITY NetworkManager-size "4.0 MB">
13 <!ENTITY NetworkManager-buildsize "648 MB (with tests)">
14 <!ENTITY NetworkManager-time "2.2 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,
37 wired, 3G, or Bluetooth, NetworkManager allows you to quickly move from
38 one network to another: Once a network has been configured and joined
39 once, it can be detected and re-joined automatically the next time it's
40 available.
41 </para>
42
43 &lfs83_checked;
44
45 <note revision="systemd">
46 <para>
47 Make sure that you disable the <command>systemd-networkd</command>
48 service or configure it not to manage the interfaces you want to manage
49 with <application>NetworkManager</application>.
50 </para>
51 </note>
52
53 <bridgehead renderas="sect3">Package Information</bridgehead>
54 <itemizedlist spacing="compact">
55 <listitem>
56 <para>
57 Download (HTTP): <ulink url="&NetworkManager-download-http;"/>
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download (FTP): <ulink url="&NetworkManager-download-ftp;"/>
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Download MD5 sum: &NetworkManager-md5sum;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Download size: &NetworkManager-size;
73 </para>
74 </listitem>
75 <listitem>
76 <para>
77 Estimated disk space required: &NetworkManager-buildsize;
78 </para>
79 </listitem>
80 <listitem>
81 <para>
82 Estimated build time: &NetworkManager-time;
83 </para>
84 </listitem>
85 </itemizedlist>
86
87 <bridgehead renderas="sect3">NetworkManager Dependencies</bridgehead>
88
89 <bridgehead renderas="sect4">Required</bridgehead>
90 <para role="required">
91 <xref linkend="dbus-glib"/>,
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="curl"/>,
101 <xref linkend="dhcpcd"/> or
102 <xref linkend="dhcp"/> (client only),
103 <xref linkend="gobject-introspection"/>,
104 <xref linkend="iptables"/>,
105 <xref linkend="newt"/> (for <command>nmtui</command>),
106 <xref linkend="polkit"/>,
107 <xref linkend="pygobject3"/>,
108 <phrase revision="systemd"><xref linkend="systemd"/>,</phrase>
109 <xref linkend="upower"/>,
110 <xref linkend="vala"/>, and
111 <xref linkend="wpa_supplicant"/> (built with D-Bus support),
112 </para>
113
114 <bridgehead renderas="sect4">Optional</bridgehead>
115 <para role="optional">
116 <xref linkend="bluez"/>,
117 <xref linkend="gtk-doc"/>,
118 <xref linkend="qt5"/> (for examples),
119 <xref linkend="ModemManager"/>,
120 <xref linkend="valgrind"/>,
121 <ulink url="http://www.thekelleys.org.uk/dnsmasq/doc.html">dnsmasq</ulink>,
122 <ulink url="http://www.digip.org/jansson/">Jansson</ulink>,
123 <ulink url="https://github.com/Distrotech/libaudit">libaudit</ulink>,
124 <ulink url="https://github.com/jpirko/libteam">libteam</ulink>,
125 <ulink url="https://github.com/rockdaboot/libpsl">libpsl</ulink>,
126 <ulink url="https://www.samba.org/ftp/ppp/">PPP</ulink>, and
127 <ulink url="https://www.roaringpenguin.com/products/pppoe">RP-PPPoE</ulink>
128 </para>
129
130 <para condition="html" role="usernotes">User Notes:
131 <ulink url="&blfs-wiki;/NetworkManager"/>
132 </para>
133 </sect2>
134
135 <sect2 role="installation">
136 <title>Installation of NetworkManager</title>
137
138 <para>If <xref linkend="qt5"/> is installed and the Qt based
139 examples are desired, fix the configure script:</para>
140
141<screen><userinput>sed -e '/Qt[CDN]/s/Qt/Qt5/g' \
142 -e 's/moc_location/host_bins/' \
143 -i configure</userinput></screen>
144
145 <para>
146 Install <application>NetworkManager</application> by running the
147 following commands:
148 </para>
149
150<screen revision="sysv"><userinput>sed -i 's/1,12,2/1,12.2/' libnm-core/nm-version.h &amp;&amp;
151CXXFLAGS="-O2 -fPIC" \
152./configure --prefix=/usr \
153 --sysconfdir=/etc \
154 --localstatedir=/var \
155 --with-nmtui \
156 --with-libnm-glib \
157 --disable-ppp \
158 --disable-json-validation \
159 --disable-ovs \
160 --with-udev-dir=/lib/udev \
161 --with-systemdsystemunitdir=no \
162 --docdir=/usr/share/doc/network-manager-&NetworkManager-version; &amp;&amp;
163make</userinput></screen>
164
165<screen revision="systemd"><userinput>CXXFLAGS="-O2 -fPIC" \
166./configure --prefix=/usr \
167 --sysconfdir=/etc \
168 --localstatedir=/var \
169 --with-nmtui \
170 --disable-ppp \
171 --disable-json-validation \
172 --disable-ovs \
173 --with-udev-dir=/lib/udev \
174 --with-session-tracking=systemd \
175 --with-systemdsystemunitdir=/lib/systemd/system \
176 --docdir=/usr/share/doc/network-manager-&NetworkManager-version; &amp;&amp;
177make</userinput></screen>
178
179 <para>
180 An already active graphical session with bus address is necessary to run
181 the tests. To test the results, issue: <command>make check</command>.
182 </para>
183
184 <para>
185 Now, as the <systemitem class="username">root</systemitem> user:
186 </para>
187
188<screen role="root"><userinput>make install</userinput></screen>
189
190 </sect2>
191
192 <sect2 role="commands">
193 <title>Command Explanations</title>
194
195 <para>
196 <envar>CXXFLAGS="-O2 -fPIC"</envar>: These compiler options are
197 necessary to build the Qt5 based examples.
198 </para>
199
200 <para>
201 <parameter>--with-nmtui</parameter>: This parameter enables building
202 <command>nmtui</command>.
203 </para>
204
205 <para revision="systemd">
206 <parameter>--with-session-tracking=systemd</parameter>: This switch
207 is used to set <command>systemd-logind</command> as the default
208 program for session tracking.
209 </para>
210
211 <para revision="sysv">
212 <parameter>--with-systemdsystemunitdir=no</parameter>: systemd is not
213 used for sysv init systems.
214 </para>
215
216 <para revision="systemd">
217 <parameter>--with-systemdsystemunitdir=/lib/systemd/system</parameter>:
218 This switch is used to set the correct installation directory for
219 systemd units.
220 </para>
221
222 <para>
223 <parameter>--disable-ppp</parameter>: This parameter disables
224 <application>PPP</application> support in
225 <application>NetworkManager</application>.
226 </para>
227
228 <para>
229 <parameter>--disable-json-validation</parameter>: This parameter allows
230 building without <application>Jansson</application>, which is needed
231 for <quote>team</quote> configuration validation (team is one way
232 of bonding network interfaces for increased throughput).
233 </para>
234
235 <para>
236 <parameter>--disable-ovs</parameter>: This paramenter disables
237 <application>Open Virtual Switch</application> support because it
238 requires <application>Jansson</application> which is not available in
239 BLFS.
240 </para>
241
242 <para>
243 <option>--enable-gtk-doc</option>: Use this switch if you have installed
244 <xref linkend="gtk-doc"/> and wish to build the API manuals.
245 </para>
246
247 <para>
248 <option>--without-iptables</option>: Use this switch if you don't have
249 <application>Iptables</application> installed.
250 </para>
251
252 <para>
253 <option>--disable-introspection</option>: Use this switch if <xref
254 linkend="gobject-introspection"/> is installed and you want to build
255 without introspection support. This also removes the need for <xref
256 linkend="pygobject3"/>.
257 </para>
258
259 </sect2>
260
261 <sect2 role="configuration">
262 <title>Configuring NetworkManager</title>
263
264 <sect3 id="NetworkManager-config">
265 <title>Config Files</title>
266 <para>
267 <filename>/etc/NetworkManager/NetworkManager.conf</filename>
268 </para>
269
270 <indexterm zone="NetworkManager NetworkManager-config">
271 <primary
272 sortas="e-etc-NetworkManager-NetworkManager.conf">
273 /etc/NetworkManager/NetworkManager.conf</primary>
274 </indexterm>
275
276 </sect3>
277
278 <sect3><title>Configuration Information</title>
279
280 <para>
281 For <application>NetworkManager</application> to work, at least
282 a minimal configuration file must be present. Such file is not
283 installed with <command>make install</command>. Issue the following
284 command as the <systemitem class="username">root</systemitem> user to
285 create minimal <filename>NetworkManager.conf</filename> file:
286 </para>
287
288<screen role="root"><userinput>cat &gt;&gt; /etc/NetworkManager/NetworkManager.conf &lt;&lt; "EOF"
289<literal>[main]
290plugins=keyfile</literal>
291EOF</userinput></screen>
292
293 <para>
294 You can add <option>dns=none</option> to suppress changes to
295 <filename>/etc/resolv.conf</filename>. See
296 <command>man 5 NetworkManager.conf</command>
297 for any additional options.
298 </para>
299
300 <para>
301 To allow regular users permission to configure network connections,
302 you should add them to the
303 <systemitem class="groupname">netdev</systemitem>
304 group, and create a <application>polkit</application> rule that grants
305 access. Run the following commands as the
306 <systemitem class="username">root</systemitem> user:
307 </para>
308
309<screen role="root"><userinput>groupadd -fg 86 netdev &amp;&amp;
310/usr/sbin/usermod -a -G netdev <replaceable>&lt;username&gt;</replaceable>
311
312cat &gt; /usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules &lt;&lt; "EOF"
313<literal>polkit.addRule(function(action, subject) {
314 if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 &amp;&amp; subject.isInGroup("netdev")) {
315 return polkit.Result.YES;
316 }
317});</literal>
318EOF</userinput></screen>
319
320 </sect3>
321
322 <sect3 id="NetworkManager-init">
323 <title><phrase revision="sysv">Boot Script</phrase>
324 <phrase revision="systemd">Systemd Unit</phrase></title>
325
326 <para revision="sysv">
327 To automatically start the <command>NetworkManager</command> daemon
328 when the system is rebooted, install the
329 <filename>/etc/rc.d/init.d/networkmanager</filename>bootscript from the
330 <xref linkend="bootscripts"/> package.
331 </para>
332
333 <para revision="systemd">
334 To start the <command>NetworkManager</command> daemon at boot, enable
335 the previously installed systemd unit by running the following command
336 as the <systemitem class="username">root</systemitem> user:
337 </para>
338
339 <note>
340 <para>
341 If using <application>Network Manager</application> to manage
342 an interface, any previous configuration for that interface should be
343 removed, and the interface brought down prior to starting
344 <application>Network Manager</application>.
345 </para>
346 </note>
347
348 <indexterm zone="NetworkManager NetworkManager-init">
349 <primary sortas="f-NetworkManager">NetworkManager</primary>
350 </indexterm>
351
352<screen role="root" revision="sysv"><userinput>make install-networkmanager</userinput></screen>
353
354<screen role="root" revision="systemd"><userinput>systemctl enable NetworkManager</userinput></screen>
355
356 <para revision="systemd">
357 <application>NetworkManager</application> also ships a systemd unit
358 called <filename>NetworkManager-wait-online.service</filename> which
359 can be used to prevent services that require network connectivity
360 from starting until <application>NetworkManager</application> has
361 established the connection. To enable it, run the following command
362 as the <systemitem class="username">root</systemitem> user:
363 </para>
364
365<screen role="root" revision="systemd"><userinput>systemctl enable NetworkManager-wait-online</userinput></screen>
366
367 </sect3>
368
369 </sect2>
370
371 <sect2 role="content">
372 <title>Contents</title>
373
374 <segmentedlist>
375 <segtitle>Installed Programs</segtitle>
376 <segtitle>Installed Libraries</segtitle>
377 <segtitle>Installed Directories</segtitle>
378
379 <seglistitem>
380 <seg>
381 NetworkManager, nmcli, nm-online, nmtui, and, symlinked to nmtui:
382 nmtui-connect, nmtui-edit, and nmtui-hostname
383 </seg>
384 <seg>
385 libnm.so and several modules under /usr/lib/NetworkManager
386 </seg>
387 <seg>
388 /etc/NetworkManager,
389 /usr/include/libnm,
390 /usr/lib/NetworkManager,
391 /usr/share/doc/NetworkManager-&NetworkManager-version;,
392 /usr/share/gtk-doc/html/{libnm,NetworkManager}
393 (if the documentation is built),
394 and
395 /var/lib/NetworkManager
396 </seg>
397 <!-- A lot of libraries were removed here. We should verify compatibilty. -->
398 </seglistitem>
399 </segmentedlist>
400
401 <variablelist>
402 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
403 <?dbfo list-presentation="list"?>
404 <?dbhtml list-presentation="table"?>
405
406 <varlistentry id="nmcli">
407 <term><command>nmcli</command></term>
408 <listitem>
409 <para>
410 is a command-line tool for controlling
411 <application>NetworkManager</application>
412 and getting its status.
413 </para>
414 <indexterm zone="NetworkManager nmcli">
415 <primary sortas="b-nmcli">nmcli</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
420 <varlistentry id="nm-online">
421 <term><command>nm-online</command></term>
422 <listitem>
423 <para>
424 is a utility to find out whether you are online.
425 </para>
426 <indexterm zone="NetworkManager nm-online">
427 <primary sortas="b-nm-online">nm-online</primary>
428 </indexterm>
429 </listitem>
430 </varlistentry>
431
432 <varlistentry id="nmtui">
433 <term><command>nmtui</command></term>
434 <listitem>
435 <para>
436 is an interactive ncurses based interface for
437 <application>nmcli</application>.
438 </para>
439 <indexterm zone="NetworkManager nmtui">
440 <primary sortas="b-nmtui">nmtui</primary>
441 </indexterm>
442 </listitem>
443 </varlistentry>
444
445 <varlistentry id="nmtui-connect">
446 <term><command>nmtui-connect</command></term>
447 <listitem>
448 <para>
449 is an interactive ncurses based interface connection to
450 activate/deactivate connections.
451 </para>
452 <indexterm zone="NetworkManager nmtui-connect">
453 <primary sortas="b-nmtui-connect">nmtui-connect</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="nmtui-edit">
459 <term><command>nmtui-edit</command></term>
460 <listitem>
461 <para>
462 is an interactive ncurses based interface connection editor.
463 </para>
464 <indexterm zone="NetworkManager nmtui-edit">
465 <primary sortas="b-nmtui-edit">nmtui-edit</primary>
466 </indexterm>
467 </listitem>
468 </varlistentry>
469
470 <varlistentry id="nmtui-hostname">
471 <term><command>nmtui-hostname</command></term>
472 <listitem>
473 <para>
474 is an interactive ncurses based interface hostname editor.
475 </para>
476 <indexterm zone="NetworkManager nmtui-hostname">
477 <primary sortas="b-nmtui-hostname">nmtui-hostname</primary>
478 </indexterm>
479 </listitem>
480 </varlistentry>
481
482 <varlistentry id="NetworkManager-prog">
483 <term><command>NetworkManager</command></term>
484 <listitem>
485 <para>
486 is the network management daemon.
487 </para>
488 <indexterm zone="NetworkManager NetworkManager-prog">
489 <primary sortas="b-NetworkManager">NetworkManager</primary>
490 </indexterm>
491 </listitem>
492 </varlistentry>
493
494 <varlistentry id="libnm">
495 <term><filename class="libraryfile">libnm.so</filename></term>
496 <listitem>
497 <para>
498 contains functions used by <application>NetworkManager</application>.
499 </para>
500 <indexterm zone="NetworkManager libnm">
501 <primary sortas="c-libnm">libnm.so</primary>
502 </indexterm>
503 </listitem>
504 </varlistentry>
505
506 </variablelist>
507
508 </sect2>
509
510</sect1>
Note: See TracBrowser for help on using the repository browser.