NetworkManager-1.10.4
Introduction to NetworkManager
NetworkManager 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.
This package is known to build and work properly using an LFS-8.2
platform.
Note
Make sure that you disable the systemd-networkd service or
configure it not to manage the interfaces you want to manage with
NetworkManager.
Package Information
NetworkManager Dependencies
Required
dbus-glib-0.110, libndp-1.6, libnl-3.4.0, and
NSS-3.35
Recommended
cURL-7.58.0, dhcpcd-7.0.1 or DHCP-4.4.0 (client only),
gobject-introspection-1.54.1,
Iptables-1.6.2, newt-0.52.20 (for
nmtui), Polkit-0.113+git_2919920+js38,
PyGObject-3.26.1, Systemd-237, UPower-0.99.7,
Vala-0.38.8, and wpa_supplicant-2.6 (built with D-Bus
support),
Optional
BlueZ-5.48, GTK-Doc-1.27,
Qt-5.10.1 (for examples), ModemManager-1.6.12, Valgrind-3.13.0, dnsmasq,
Jansson,
libteam, libpsl, PPP, and
RP-PPPoE
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/NetworkManager
Installation of NetworkManager
If Qt-5.10.1 is installed and the Qt based examples
are desired, fix the configure script:
sed -e '/Qt[CDN]/s/Qt/Qt5/g' \
-e 's/moc_location/host_bins/' \
-i configure
Install NetworkManager by running
the following commands:
CXXFLAGS="-O2 -fPIC" \
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--with-nmtui \
--disable-ppp \
--disable-json-validation \
--disable-ovs \
--with-udev-dir=/lib/udev \
--with-session-tracking=systemd \
--with-systemdsystemunitdir=/lib/systemd/system \
--docdir=/usr/share/doc/network-manager-1.10.4 &&
make
An already active graphical session with bus address is necessary
to run the tests. To test the results, issue: make check.
Now, as the root
user:
make install
Command Explanations
CXXFLAGS="-O2 -fPIC"
: These compiler
options are necessary to build the Qt5 based examples.
--with-nmtui
: This
parameter enables build of nmtui.
--with-session-tracking=systemd
: This
switch is used to set systemd-logind as the default
program for session tracking.
--with-systemdsystemunitdir=/lib/systemd/system
:
This switch is used to set the correct installation directory for
systemd units.
--disable-ppp
: This
parameter disables PPP support in
NetworkManager.
--disable-json-validation
:
This parameter allows building without Jansson, which is needed for
“team” configuration
validation (team is one way of bonding network interfaces for
increased throughput).
--disable-ovs
: This
paramenter disables Open Virtual
Switch support because it requires Jansson which is not available in BLFS.
--enable-gtk-doc
: Use this switch if
you have installed GTK-Doc-1.27 and wish to build the API
manuals.
--without-iptables
: Use this switch if
you don't have Iptables installed.
--disable-introspection
: Use this
switch if gobject-introspection-1.54.1 is
installed and you want to build without introspection support. This
also removes the need for PyGObject-3.26.1.
Configuring NetworkManager
Config Files
/etc/NetworkManager/NetworkManager.conf
Configuration Information
For NetworkManager to work, at
least a minimal configuration file must be present. Such file is
not installed with make
install. Issue the following command as the
root
user to create minimal
NetworkManager.conf
file:
cat >> /etc/NetworkManager/NetworkManager.conf << "EOF"
[main]
plugins=keyfile
EOF
You can add dns=none
to suppress
changes to /etc/resolv.conf
. See
man 5
NetworkManager.conf for any additional options.
To allow regular users permission to configure network
connections, you should add them to the netdev
group, and create a polkit rule that grants access. Run the
following commands as the root
user:
groupadd -fg 86 netdev &&
/usr/sbin/usermod -a -G netdev <username>
cat > /usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules << "EOF"
polkit.addRule(function(action, subject) {
if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) {
return polkit.Result.YES;
}
});
EOF
Systemd Unit
To start the NetworkManager daemon at boot,
enable the previously installed systemd unit by running the
following command as the root
user:
Note
If using Network Manager to
manage an interface, any previous configuration for that
interface should be removed, and the interface brought down
prior to starting Network
Manager.
systemctl enable NetworkManager
NetworkManager also ships a
systemd unit called NetworkManager-wait-online.service
which can be
used to prevent services that require network connectivity from
starting until NetworkManager
has established the connection. To enable it, run the following
command as the root
user:
systemctl enable NetworkManager-wait-online
Contents
Installed Programs:
NetworkManager, nmcli, nm-online, nmtui,
and, symlinked to nmtui: nmtui-connect, nmtui-edit, and
nmtui-hostname
Installed Libraries:
libnm-glib.so, libnm-glib-vpn.so,
libnm.so, libnm-util.so, and modules under
/usr/lib/NetworkManager
Installed Directories:
/etc/NetworkManager,
/usr/include/{libnm,libnm-glib,NetworkManager},
/usr/lib/NetworkManager, /usr/share/doc/NetworkManager-1.10.4,
/usr/share/gtk-doc/html/{libnm,libnm-glib,libnm-util,NetworkManager}
(if the documentation is built), and
/var/{lib,run}/NetworkManager
Short Descriptions
nmcli
|
is a command-line tool for controlling NetworkManager and getting its
status.
|
nm-online
|
is a utility to find out whether you are online.
|
nmtui
|
is an interactive ncurses based interface for
nmcli.
|
nmtui-connect
|
is an interactive ncurses based interface connection to
activate/deactivate connections.
|
nmtui-edit
|
is an interactive ncurses based interface connection
editor.
|
nmtui-hostname
|
is an interactive ncurses based interface hostname
editor.
|
NetworkManager
|
is the network management daemon.
|
libnm-glib.so
|
contains functions used by NetworkManager.
|
libnm-glib-vpn.so
|
contains functions used by NetworkManager VPN plugins.
|
libnm-util.so
|
contains functions used by NetworkManager utilities.
|
Last updated on 2018-02-24 20:27:10 -0800