mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-29 10:52:14 +08:00
c4ae27abf9
Update to network-manager-applet-1.8.0 (Fixes CVE-2017-6950) Update to NetworkManager-1.8.0 Update to gnome-desktop-3.24.2 Update to evolution-data-server-3.24.2 Minor dependency fix in libchamplain git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@18764 af4574ff-66df-0310-9fd7-8a98e5e911e0
522 lines
18 KiB
XML
522 lines
18 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY NetworkManager-download-http
|
|
"&gnome-download-http;/NetworkManager/1.8/NetworkManager-&NetworkManager-version;.tar.xz">
|
|
<!ENTITY NetworkManager-download-ftp
|
|
"&gnome-download-ftp;/NetworkManager/1.8/NetworkManager-&NetworkManager-version;.tar.xz">
|
|
<!ENTITY NetworkManager-md5sum "de0e70933a17ee6a682e8440015c9b1e">
|
|
<!ENTITY NetworkManager-size "3.6 MB">
|
|
<!ENTITY NetworkManager-buildsize "612 MB (with tests)">
|
|
<!ENTITY NetworkManager-time "2.8 SBU (with tests)">
|
|
]>
|
|
|
|
<sect1 id="NetworkManager" xreflabel="NetworkManager-&NetworkManager-version;">
|
|
<?dbhtml filename="networkmanager.html"?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date>$Date$</date>
|
|
</sect1info>
|
|
|
|
<title>NetworkManager-&NetworkManager-version;</title>
|
|
|
|
<indexterm zone="NetworkManager">
|
|
<primary sortas="a-NetworkManager">NetworkManager</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to NetworkManager</title>
|
|
|
|
<para>
|
|
<application>NetworkManager</application> is a set of co-operative
|
|
tools that make networking simple and straightforward. Whether WiFi,
|
|
wired, 3G, or Bluetooth, NetworkManager allows you to quickly move from
|
|
one network to another: Once a network has been configured and joined
|
|
once, it can be detected and re-joined automatically the next time it's
|
|
available.
|
|
</para>
|
|
|
|
&lfs80_checked;
|
|
|
|
<note revision="systemd">
|
|
<para>
|
|
Make sure that you disable the <command>systemd-networkd</command>
|
|
service or configure it not to manage the interfaces you want to manage
|
|
with <application>NetworkManager</application>.
|
|
</para>
|
|
</note>
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&NetworkManager-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&NetworkManager-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &NetworkManager-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &NetworkManager-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &NetworkManager-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &NetworkManager-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">NetworkManager Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required">
|
|
<xref linkend="dbus-glib"/>,
|
|
<xref linkend="libndp"/>,
|
|
<xref linkend="libnl"/>, and
|
|
<xref linkend="nss"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended">
|
|
<phrase revision="sysv"><xref linkend="consolekit"/>,</phrase>
|
|
<xref linkend="curl"/>,
|
|
<xref linkend="dhcpcd"/> or
|
|
<xref linkend="dhcp"/> (client only),
|
|
<xref linkend="gobject-introspection"/>,
|
|
<xref linkend="iptables"/>,
|
|
<xref linkend="newt"/> (for <command>nmtui</command>),
|
|
<xref linkend="polkit"/>,
|
|
<xref linkend="pygobject3"/>,
|
|
<phrase revision="systemd"><xref linkend="systemd"/>,</phrase>
|
|
<xref linkend="upower"/>,
|
|
<xref linkend="vala"/>, and
|
|
<xref linkend="wpa_supplicant"/> (built with D-Bus support),
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<xref linkend="bluez"/>,
|
|
<xref linkend="gtk-doc"/>,
|
|
<xref linkend="qt5"/> (for examples),
|
|
<xref linkend="ModemManager"/>,
|
|
<xref linkend="valgrind"/>,
|
|
<ulink url="http://www.thekelleys.org.uk/dnsmasq/doc.html">dnsmasq</ulink>,
|
|
<ulink url="http://www.digip.org/jansson/">Jansson</ulink>,
|
|
<ulink url="https://github.com/jpirko/libteam">libteam</ulink>,
|
|
<ulink url="https://www.samba.org/ftp/ppp/">PPP</ulink>, and
|
|
<ulink url="https://www.roaringpenguin.com/products/pppoe">RP-PPPoE</ulink>
|
|
</para>
|
|
|
|
<para condition="html" role="usernotes">User Notes:
|
|
<ulink url="&blfs-wiki;/NetworkManager"/>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of NetworkManager</title>
|
|
|
|
<para>If <xref linkend="qt5"/> is installed and the Qt based
|
|
examples are desired, fix the configure script:</para>
|
|
|
|
<screen><userinput>sed -e '/Qt[CDN]/s/Qt/Qt5/g' \
|
|
-e 's/moc_location/host_bins/' \
|
|
-i configure</userinput></screen>
|
|
|
|
<para>
|
|
Install <application>NetworkManager</application> by running the
|
|
following commands:
|
|
</para>
|
|
|
|
<screen revision="sysv"><userinput>CXXFLAGS="-O2 -fPIC" \
|
|
./configure --prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--localstatedir=/var \
|
|
--with-nmtui \
|
|
--disable-ppp \
|
|
--disable-json-validation \
|
|
--with-systemdsystemunitdir=no \
|
|
--docdir=/usr/share/doc/network-manager-&NetworkManager-version; &&
|
|
make</userinput></screen>
|
|
|
|
<screen revision="systemd"><userinput>CXXFLAGS="-O2 -fPIC" \
|
|
./configure --prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--localstatedir=/var \
|
|
--with-nmtui \
|
|
--disable-ppp \
|
|
--disable-json-validation \
|
|
--with-session-tracking=systemd \
|
|
--with-systemdsystemunitdir=/lib/systemd/system \
|
|
--docdir=/usr/share/doc/network-manager-&NetworkManager-version; &&
|
|
make</userinput></screen>
|
|
|
|
<para>
|
|
An already active graphical session with bus address is necessary to run
|
|
the tests. To test the results, issue: <command>make check</command>.
|
|
</para>
|
|
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>make install</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para>
|
|
<envar>CXXFLAGS="-O2 -fPIC"</envar>: These compiler options are
|
|
necessary to build the Qt5 based examples.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--with-nmtui</parameter>: This parameter enables build of
|
|
<command>nmtui</command>.
|
|
</para>
|
|
|
|
<para revision="systemd">
|
|
<parameter>--with-session-tracking=systemd</parameter>: This switch
|
|
is used to set <command>systemd-logind</command> as the default
|
|
program for session tracking.
|
|
</para>
|
|
|
|
<para revision="sysv">
|
|
<parameter>--with-systemdsystemunitdir=no</parameter>: systemd is not
|
|
used for sysv init systems.
|
|
</para>
|
|
|
|
<para revision="systemd">
|
|
<parameter>--with-systemdsystemunitdir=/lib/systemd/system</parameter>:
|
|
This switch is used to set the correct installation directory for
|
|
systemd units.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--disable-ppp</parameter>: This parameter disables
|
|
<application>PPP</application> support in
|
|
<application>NetworkManager</application>.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--disable-json-validation</parameter>: This parameter allows
|
|
building without <application>Jansson</application>, which is needed
|
|
for <quote>team</quote> configuration validation (team is one way
|
|
of bonding network interfaces for increased throughput).
|
|
</para>
|
|
|
|
<para>
|
|
<option>--enable-gtk-doc</option>: Use this switch if you have installed
|
|
<xref linkend="gtk-doc"/> and wish to build the API manuals.
|
|
</para>
|
|
|
|
<para>
|
|
<option>--without-iptables</option>: Use this switch if you don't have
|
|
<application>Iptables</application> installed.
|
|
</para>
|
|
|
|
<para>
|
|
<option>--disable-introspection</option>: Use this switch if <xref
|
|
linkend="gobject-introspection"/> is installed and you want to build
|
|
without introspection support. This also removes the need for <xref
|
|
linkend="pygobject3"/>.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="configuration">
|
|
<title>Configuring NetworkManager</title>
|
|
|
|
<sect3 id="NetworkManager-config">
|
|
<title>Config Files</title>
|
|
<para>
|
|
<filename>/etc/NetworkManager/NetworkManager.conf</filename>
|
|
</para>
|
|
|
|
<indexterm zone="NetworkManager NetworkManager-config">
|
|
<primary
|
|
sortas="e-etc-NetworkManager-NetworkManager.conf">
|
|
/etc/NetworkManager/NetworkManager.conf</primary>
|
|
</indexterm>
|
|
|
|
</sect3>
|
|
|
|
<sect3><title>Configuration Information</title>
|
|
|
|
<para>
|
|
For <application>NetworkManager</application> to work, at least
|
|
a minimal configuration file must be present. Such file is not
|
|
installed with <command>make install</command>. Issue the following
|
|
command as the <systemitem class="username">root</systemitem> user to
|
|
create minimal <filename>NetworkManager.conf</filename> file:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>cat >> /etc/NetworkManager/NetworkManager.conf << "EOF"
|
|
<literal>[main]
|
|
plugins=keyfile</literal>
|
|
EOF</userinput></screen>
|
|
|
|
<para>
|
|
You can add <option>dns=none</option> to suppress changes to
|
|
<filename>/etc/resolv.conf</filename>. See
|
|
<command>man 5 NetworkManager.conf</command>
|
|
for any additional options.
|
|
</para>
|
|
|
|
<para>
|
|
To allow regular users permission to configure network connections,
|
|
you should add them to the
|
|
<systemitem class="groupname">netdev</systemitem>
|
|
group, and create a <application>polkit</application> rule that grants
|
|
access. Run the following commands as the
|
|
<systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>groupadd -fg 86 netdev &&
|
|
/usr/sbin/usermod -a -G netdev <replaceable><username></replaceable>
|
|
|
|
cat > /usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules << "EOF"
|
|
<literal>polkit.addRule(function(action, subject) {
|
|
if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) {
|
|
return polkit.Result.YES;
|
|
}
|
|
});</literal>
|
|
EOF</userinput></screen>
|
|
|
|
</sect3>
|
|
|
|
<sect3 id="NetworkManager-init">
|
|
<title><phrase revision="sysv">Boot Script</phrase>
|
|
<phrase revision="systemd">Systemd Unit</phrase></title>
|
|
|
|
<para revision="sysv">
|
|
To automatically start the <command>NetworkManager</command> daemon
|
|
when the system is rebooted, install the
|
|
<filename>/etc/rc.d/init.d/networkmanager</filename>bootscript from the
|
|
<xref linkend="bootscripts"/> package.
|
|
</para>
|
|
|
|
<para revision="systemd">
|
|
To start the <command>NetworkManager</command> daemon at boot, enable
|
|
the previously installed systemd unit by running the following command
|
|
as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
If using <application>Network Manager</application> to manage
|
|
an interface, any previous configuration for that interface should be
|
|
removed, and the interface brought down prior to starting
|
|
<application>Network Manager</application>.
|
|
</para>
|
|
</note>
|
|
|
|
<indexterm zone="NetworkManager NetworkManager-init">
|
|
<primary sortas="f-NetworkManager">NetworkManager</primary>
|
|
</indexterm>
|
|
|
|
<screen role="root" revision="sysv"><userinput>make install-networkmanager</userinput></screen>
|
|
|
|
<screen role="root" revision="systemd"><userinput>systemctl enable NetworkManager</userinput></screen>
|
|
|
|
<para revision="systemd">
|
|
<application>NetworkManager</application> also ships a systemd unit
|
|
called <filename>NetworkManager-wait-online.service</filename> which
|
|
can be used to prevent services that require network connectivity
|
|
from starting until <application>NetworkManager</application> has
|
|
established the connection. To enable it, run the following command
|
|
as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root" revision="systemd"><userinput>systemctl enable NetworkManager-wait-online</userinput></screen>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>
|
|
NetworkManager, nmcli, nm-online, nmtui, and, symlinked to nmtui:
|
|
nmtui-connect, nmtui-edit, and nmtui-hostname
|
|
</seg>
|
|
<seg>
|
|
libnm-glib.so, libnm-glib-vpn.so, libnm.so, libnm-util.so, and
|
|
modules under /usr/lib/NetworkManager
|
|
</seg>
|
|
<seg>
|
|
/etc/NetworkManager,
|
|
/usr/include/{libnm,libnm-glib,NetworkManager},
|
|
/usr/lib/NetworkManager,
|
|
/usr/share/doc/NetworkManager-&NetworkManager-version;,
|
|
/usr/share/gtk-doc/html/{libnm,libnm-glib,libnm-util,NetworkManager}
|
|
(if the documentation is built),
|
|
and
|
|
/var/{lib,run}/NetworkManager
|
|
</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="nmcli">
|
|
<term><command>nmcli</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a command-line tool for controlling
|
|
<application>NetworkManager</application>
|
|
and getting its status.
|
|
</para>
|
|
<indexterm zone="NetworkManager nmcli">
|
|
<primary sortas="b-nmcli">nmcli</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="nm-online">
|
|
<term><command>nm-online</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a utility to find out whether you are online.
|
|
</para>
|
|
<indexterm zone="NetworkManager nm-online">
|
|
<primary sortas="b-nm-online">nm-online</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="nmtui">
|
|
<term><command>nmtui</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an interactive ncurses based interface for
|
|
<application>nmcli</application>.
|
|
</para>
|
|
<indexterm zone="NetworkManager nmtui">
|
|
<primary sortas="b-nmtui">nmtui</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="nmtui-connect">
|
|
<term><command>nmtui-connect</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an interactive ncurses based interface connection to
|
|
activate/deactivate connections.
|
|
</para>
|
|
<indexterm zone="NetworkManager nmtui-connect">
|
|
<primary sortas="b-nmtui-connect">nmtui-connect</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="nmtui-edit">
|
|
<term><command>nmtui-edit</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an interactive ncurses based interface connection editor.
|
|
</para>
|
|
<indexterm zone="NetworkManager nmtui-edit">
|
|
<primary sortas="b-nmtui-edit">nmtui-edit</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="nmtui-hostname">
|
|
<term><command>nmtui-hostname</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an interactive ncurses based interface hostname editor.
|
|
</para>
|
|
<indexterm zone="NetworkManager nmtui-hostname">
|
|
<primary sortas="b-nmtui-hostname">nmtui-hostname</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="NetworkManager-prog">
|
|
<term><command>NetworkManager</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the network management daemon.
|
|
</para>
|
|
<indexterm zone="NetworkManager NetworkManager-prog">
|
|
<primary sortas="b-NetworkManager">NetworkManager</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libnm-glib">
|
|
<term><filename class="libraryfile">libnm-glib.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains functions used by <application>NetworkManager</application>.
|
|
</para>
|
|
<indexterm zone="NetworkManager libnm-glib">
|
|
<primary sortas="c-libnm-glib">libnm-glib.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libnm-glib-vpn">
|
|
<term><filename class="libraryfile">libnm-glib-vpn.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains functions used by <application>NetworkManager</application>
|
|
VPN plugins.
|
|
</para>
|
|
<indexterm zone="NetworkManager libnm-glib-vpn">
|
|
<primary sortas="c-libnm-glib-vpn">libnm-glib-vpn.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libnm-util">
|
|
<term><filename class="libraryfile">libnm-util.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains functions used by <application>NetworkManager</application>
|
|
utils.
|
|
</para>
|
|
<indexterm zone="NetworkManager libnm-util">
|
|
<primary sortas="c-libnm-util">libnm-util.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|