source: networking/netutils/networkmanager.xml@ eccacf7

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.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 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 eccacf7 was eccacf7, checked in by DJ Lucas <dj@…>, 6 years ago

Update to Network Manager and network-manager-applet-1.8.4. Fixes #9796.
Add Tracker-2.0.1.
Update to Nautilus-3.26.0.

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

  • Property mode set to 100644
File size: 18.0 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.8/NetworkManager-&NetworkManager-version;.tar.xz">
9 <!ENTITY NetworkManager-download-ftp
10 "&gnome-download-ftp;/NetworkManager/1.8/NetworkManager-&NetworkManager-version;.tar.xz">
11 <!ENTITY NetworkManager-md5sum "fefd157d884f7fd50384268704c5aa5d">
12 <!ENTITY NetworkManager-size "3.7 MB">
13 <!ENTITY NetworkManager-buildsize "626 MB (an additional 2 MB for tests)">
14 <!ENTITY NetworkManager-time "3.0 SBU (an additonal 0.2 SBU for 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 &lfs81_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/jpirko/libteam">libteam</ulink>,
124 <ulink url="https://www.samba.org/ftp/ppp/">PPP</ulink>, and
125 <ulink url="https://www.roaringpenguin.com/products/pppoe">RP-PPPoE</ulink>
126 </para>
127
128 <para condition="html" role="usernotes">User Notes:
129 <ulink url="&blfs-wiki;/NetworkManager"/>
130 </para>
131 </sect2>
132
133 <sect2 role="installation">
134 <title>Installation of NetworkManager</title>
135
136 <para>If <xref linkend="qt5"/> is installed and the Qt based
137 examples are desired, fix the configure script:</para>
138
139<screen><userinput>sed -e '/Qt[CDN]/s/Qt/Qt5/g' \
140 -e 's/moc_location/host_bins/' \
141 -i configure</userinput></screen>
142
143 <para>
144 Install <application>NetworkManager</application> by running the
145 following commands:
146 </para>
147
148<screen revision="sysv"><userinput>CXXFLAGS="-O2 -fPIC" \
149./configure --prefix=/usr \
150 --sysconfdir=/etc \
151 --localstatedir=/var \
152 --with-nmtui \
153 --disable-ppp \
154 --disable-json-validation \
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 --disable-json-validation \
166 --with-session-tracking=systemd \
167 --with-systemdsystemunitdir=/lib/systemd/system \
168 --docdir=/usr/share/doc/network-manager-&NetworkManager-version; &amp;&amp;
169make</userinput></screen>
170
171 <para>
172 An already active graphical session with bus address is necessary to run
173 the tests. To test the results, issue: <command>make check</command>.
174 </para>
175
176 <para>
177 Now, as the <systemitem class="username">root</systemitem> user:
178 </para>
179
180<screen role="root"><userinput>make install</userinput></screen>
181
182 </sect2>
183
184 <sect2 role="commands">
185 <title>Command Explanations</title>
186
187 <para>
188 <envar>CXXFLAGS="-O2 -fPIC"</envar>: These compiler options are
189 necessary to build the Qt5 based examples.
190 </para>
191
192 <para>
193 <parameter>--with-nmtui</parameter>: This parameter enables build of
194 <command>nmtui</command>.
195 </para>
196
197 <para revision="systemd">
198 <parameter>--with-session-tracking=systemd</parameter>: This switch
199 is used to set <command>systemd-logind</command> as the default
200 program for session tracking.
201 </para>
202
203 <para revision="sysv">
204 <parameter>--with-systemdsystemunitdir=no</parameter>: systemd is not
205 used for sysv init systems.
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
216 <application>PPP</application> support in
217 <application>NetworkManager</application>.
218 </para>
219
220 <para>
221 <parameter>--disable-json-validation</parameter>: This parameter allows
222 building without <application>Jansson</application>, which is needed
223 for <quote>team</quote> configuration validation (team is one way
224 of bonding network interfaces for increased throughput).
225 </para>
226
227 <para>
228 <option>--enable-gtk-doc</option>: Use this switch if you have installed
229 <xref linkend="gtk-doc"/> and wish to build the API manuals.
230 </para>
231
232 <para>
233 <option>--without-iptables</option>: Use this switch if you don't have
234 <application>Iptables</application> installed.
235 </para>
236
237 <para>
238 <option>--disable-introspection</option>: Use this switch if <xref
239 linkend="gobject-introspection"/> is installed and you want to build
240 without introspection support. This also removes the need for <xref
241 linkend="pygobject3"/>.
242 </para>
243
244 </sect2>
245
246 <sect2 role="configuration">
247 <title>Configuring NetworkManager</title>
248
249 <sect3 id="NetworkManager-config">
250 <title>Config Files</title>
251 <para>
252 <filename>/etc/NetworkManager/NetworkManager.conf</filename>
253 </para>
254
255 <indexterm zone="NetworkManager NetworkManager-config">
256 <primary
257 sortas="e-etc-NetworkManager-NetworkManager.conf">
258 /etc/NetworkManager/NetworkManager.conf</primary>
259 </indexterm>
260
261 </sect3>
262
263 <sect3><title>Configuration Information</title>
264
265 <para>
266 For <application>NetworkManager</application> to work, at least
267 a minimal configuration file must be present. Such file is not
268 installed with <command>make install</command>. Issue the following
269 command as the <systemitem class="username">root</systemitem> user to
270 create minimal <filename>NetworkManager.conf</filename> file:
271 </para>
272
273<screen role="root"><userinput>cat &gt;&gt; /etc/NetworkManager/NetworkManager.conf &lt;&lt; "EOF"
274<literal>[main]
275plugins=keyfile</literal>
276EOF</userinput></screen>
277
278 <para>
279 You can add <option>dns=none</option> to suppress changes to
280 <filename>/etc/resolv.conf</filename>. See
281 <command>man 5 NetworkManager.conf</command>
282 for any additional options.
283 </para>
284
285 <para>
286 To allow regular users permission to configure network connections,
287 you should add them to the
288 <systemitem class="groupname">netdev</systemitem>
289 group, and create a <application>polkit</application> rule that grants
290 access. Run the following commands as the
291 <systemitem class="username">root</systemitem> user:
292 </para>
293
294<screen role="root"><userinput>groupadd -fg 86 netdev &amp;&amp;
295/usr/sbin/usermod -a -G netdev <replaceable>&lt;username&gt;</replaceable>
296
297cat &gt; /usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules &lt;&lt; "EOF"
298<literal>polkit.addRule(function(action, subject) {
299 if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 &amp;&amp; subject.isInGroup("netdev")) {
300 return polkit.Result.YES;
301 }
302});</literal>
303EOF</userinput></screen>
304
305 </sect3>
306
307 <sect3 id="NetworkManager-init">
308 <title><phrase revision="sysv">Boot Script</phrase>
309 <phrase revision="systemd">Systemd Unit</phrase></title>
310
311 <para revision="sysv">
312 To automatically start the <command>NetworkManager</command> daemon
313 when the system is rebooted, install the
314 <filename>/etc/rc.d/init.d/networkmanager</filename>bootscript from the
315 <xref linkend="bootscripts"/> package.
316 </para>
317
318 <para revision="systemd">
319 To start the <command>NetworkManager</command> daemon at boot, enable
320 the previously installed systemd unit by running the following command
321 as the <systemitem class="username">root</systemitem> user:
322 </para>
323
324 <note>
325 <para>
326 If using <application>Network Manager</application> to manage
327 an interface, any previous configuration for that interface should be
328 removed, and the interface brought down prior to starting
329 <application>Network Manager</application>.
330 </para>
331 </note>
332
333 <indexterm zone="NetworkManager NetworkManager-init">
334 <primary sortas="f-NetworkManager">NetworkManager</primary>
335 </indexterm>
336
337<screen role="root" revision="sysv"><userinput>make install-networkmanager</userinput></screen>
338
339<screen role="root" revision="systemd"><userinput>systemctl enable NetworkManager</userinput></screen>
340
341 <para revision="systemd">
342 <application>NetworkManager</application> also ships a systemd unit
343 called <filename>NetworkManager-wait-online.service</filename> which
344 can be used to prevent services that require network connectivity
345 from starting until <application>NetworkManager</application> has
346 established the connection. To enable it, run the following command
347 as the <systemitem class="username">root</systemitem> user:
348 </para>
349
350<screen role="root" revision="systemd"><userinput>systemctl enable NetworkManager-wait-online</userinput></screen>
351
352 </sect3>
353
354 </sect2>
355
356 <sect2 role="content">
357 <title>Contents</title>
358
359 <segmentedlist>
360 <segtitle>Installed Programs</segtitle>
361 <segtitle>Installed Libraries</segtitle>
362 <segtitle>Installed Directories</segtitle>
363
364 <seglistitem>
365 <seg>
366 NetworkManager, nmcli, nm-online, nmtui, and, symlinked to nmtui:
367 nmtui-connect, nmtui-edit, and nmtui-hostname
368 </seg>
369 <seg>
370 libnm-glib.so, libnm-glib-vpn.so, libnm.so, libnm-util.so, and
371 modules under /usr/lib/NetworkManager
372 </seg>
373 <seg>
374 /etc/NetworkManager,
375 /usr/include/{libnm,libnm-glib,NetworkManager},
376 /usr/lib/NetworkManager,
377 /usr/share/doc/NetworkManager-&NetworkManager-version;,
378 /usr/share/gtk-doc/html/{libnm,libnm-glib,libnm-util,NetworkManager}
379 (if the documentation is built),
380 and
381 /var/{lib,run}/NetworkManager
382 </seg>
383 </seglistitem>
384 </segmentedlist>
385
386 <variablelist>
387 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
388 <?dbfo list-presentation="list"?>
389 <?dbhtml list-presentation="table"?>
390
391 <varlistentry id="nmcli">
392 <term><command>nmcli</command></term>
393 <listitem>
394 <para>
395 is a command-line tool for controlling
396 <application>NetworkManager</application>
397 and getting its status.
398 </para>
399 <indexterm zone="NetworkManager nmcli">
400 <primary sortas="b-nmcli">nmcli</primary>
401 </indexterm>
402 </listitem>
403 </varlistentry>
404
405 <varlistentry id="nm-online">
406 <term><command>nm-online</command></term>
407 <listitem>
408 <para>
409 is a utility to find out whether you are online.
410 </para>
411 <indexterm zone="NetworkManager nm-online">
412 <primary sortas="b-nm-online">nm-online</primary>
413 </indexterm>
414 </listitem>
415 </varlistentry>
416
417 <varlistentry id="nmtui">
418 <term><command>nmtui</command></term>
419 <listitem>
420 <para>
421 is an interactive ncurses based interface for
422 <application>nmcli</application>.
423 </para>
424 <indexterm zone="NetworkManager nmtui">
425 <primary sortas="b-nmtui">nmtui</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry id="nmtui-connect">
431 <term><command>nmtui-connect</command></term>
432 <listitem>
433 <para>
434 is an interactive ncurses based interface connection to
435 activate/deactivate connections.
436 </para>
437 <indexterm zone="NetworkManager nmtui-connect">
438 <primary sortas="b-nmtui-connect">nmtui-connect</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="nmtui-edit">
444 <term><command>nmtui-edit</command></term>
445 <listitem>
446 <para>
447 is an interactive ncurses based interface connection editor.
448 </para>
449 <indexterm zone="NetworkManager nmtui-edit">
450 <primary sortas="b-nmtui-edit">nmtui-edit</primary>
451 </indexterm>
452 </listitem>
453 </varlistentry>
454
455 <varlistentry id="nmtui-hostname">
456 <term><command>nmtui-hostname</command></term>
457 <listitem>
458 <para>
459 is an interactive ncurses based interface hostname editor.
460 </para>
461 <indexterm zone="NetworkManager nmtui-hostname">
462 <primary sortas="b-nmtui-hostname">nmtui-hostname</primary>
463 </indexterm>
464 </listitem>
465 </varlistentry>
466
467 <varlistentry id="NetworkManager-prog">
468 <term><command>NetworkManager</command></term>
469 <listitem>
470 <para>
471 is the network management daemon.
472 </para>
473 <indexterm zone="NetworkManager NetworkManager-prog">
474 <primary sortas="b-NetworkManager">NetworkManager</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
479 <varlistentry id="libnm-glib">
480 <term><filename class="libraryfile">libnm-glib.so</filename></term>
481 <listitem>
482 <para>
483 contains functions used by <application>NetworkManager</application>.
484 </para>
485 <indexterm zone="NetworkManager libnm-glib">
486 <primary sortas="c-libnm-glib">libnm-glib.so</primary>
487 </indexterm>
488 </listitem>
489 </varlistentry>
490
491 <varlistentry id="libnm-glib-vpn">
492 <term><filename class="libraryfile">libnm-glib-vpn.so</filename></term>
493 <listitem>
494 <para>
495 contains functions used by <application>NetworkManager</application>
496 VPN plugins.
497 </para>
498 <indexterm zone="NetworkManager libnm-glib-vpn">
499 <primary sortas="c-libnm-glib-vpn">libnm-glib-vpn.so</primary>
500 </indexterm>
501 </listitem>
502 </varlistentry>
503
504 <varlistentry id="libnm-util">
505 <term><filename class="libraryfile">libnm-util.so</filename></term>
506 <listitem>
507 <para>
508 contains functions used by <application>NetworkManager</application>
509 utils.
510 </para>
511 <indexterm zone="NetworkManager libnm-util">
512 <primary sortas="c-libnm-util">libnm-util.so</primary>
513 </indexterm>
514 </listitem>
515 </varlistentry>
516
517 </variablelist>
518
519 </sect2>
520
521</sect1>
Note: See TracBrowser for help on using the repository browser.