source: networking/netutils/networkmanager.xml@ 56e6032

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 56e6032 was 56e6032, checked in by Bruce Dubbs <bdubbs@…>, 6 years ago

Update to network-manager-applet-1.8.10.
Update to NetworkManager-1.10.2.
Update to libwacom-0.27.

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

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