source: networking/netutils/networkmanager.xml@ fcd0a649

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 fcd0a649 was fcd0a649, checked in by Douglas R. Reno <renodr@…>, 6 years ago

Update md5sum for NetworkManager

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

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