NetworkManager-1.12.2

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.3 platform.

Package Information

NetworkManager Dependencies

Required

dbus-glib-0.110, libndp-1.7, libnl-3.4.0, and NSS-3.38

Recommended

Optional

BlueZ-5.50, GTK-Doc-1.28, Qt-5.11.1 (for examples), ModemManager-1.8.0, Valgrind-3.13.0, dnsmasq, Jansson, libaudit, libteam, libpsl, PPP, and RP-PPPoE

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/NetworkManager

Installation of NetworkManager

If Qt-5.11.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:

sed -i 's/1,12,2/1,12.2/' libnm-core/nm-version.h &&
CXXFLAGS="-O2 -fPIC"                       \
./configure --prefix=/usr                  \
            --sysconfdir=/etc              \
            --localstatedir=/var           \
            --with-nmtui                   \
            --with-libnm-glib              \
            --disable-ppp                  \
            --disable-json-validation      \
            --disable-ovs                  \
            --with-udev-dir=/lib/udev      \
            --with-systemdsystemunitdir=no \
            --docdir=/usr/share/doc/network-manager-1.12.2 &&
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 building nmtui.

--with-systemdsystemunitdir=no: systemd is not used for sysv init systems.

--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.28 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.56.1 is installed and you want to build without introspection support. This also removes the need for PyGObject-3.28.3.

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

Boot Script

To automatically start the NetworkManager daemon when the system is rebooted, install the /etc/rc.d/init.d/networkmanagerbootscript from the blfs-bootscripts-20180105 package.

[Note]

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.

make install-networkmanager

Contents

Installed Programs: NetworkManager, nmcli, nm-online, nmtui, and, symlinked to nmtui: nmtui-connect, nmtui-edit, and nmtui-hostname
Installed Libraries: libnm.so and several modules under /usr/lib/NetworkManager
Installed Directories: /etc/NetworkManager, /usr/include/libnm, /usr/lib/NetworkManager, /usr/share/doc/NetworkManager-1.12.2, /usr/share/gtk-doc/html/{libnm,NetworkManager} (if the documentation is built), and /var/lib/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.so

contains functions used by NetworkManager.

Last updated on 2018-08-30 16:17:00 -0700