source: networking/netutils/networkmanager.xml@ 61f68ffe

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 61f68ffe was 1ad3510e, checked in by Douglas R. Reno <renodr@…>, 6 years ago

Add libpsl
Update to libsoup-2.64.0
Update to glib-networking-2.58.0
Add text to cURL regarding test issues with valgrind
Add GNOME-3.30 entity
Typo fix in template

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

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