Tech: Systemd and NetworkManager

Lars Poulsen - 2024-10-12

Most Linux distributions use a module called "systemd" to control the startup of the many programs that together make up the environment in which the system provides its services. While the general concept is reasonably well understood, /systemd/ is a large subsystem, and finding documentation for the one detail you need to tinker with can be a challenge. A discussion on /comp.os.linux.misc/ (in USEnet) brought out a caouple of links that I did not know about, and I hurried to memorialize them here so I can find them the next time I am inspired to read about some details.

The original reference for systemd is https://systemd.io/ .

Another ubiquitous component (with many sub-components) is NetworkManager, which controls many, many settings in the networking parts of Linux. Over time, it has taken over most of the tings that you used to control with separate configuration files.

And many of the original coinfiguration commands have also moved. There is a package called iproute2 that replaces some of the things we used to do with the ifconfig and route commands.

systemd

systemd-networkd

Someone on USEnet said:
systemd-networkd is an optional alternative to NetworkManager. It does that job very well for the server and it is very nice to configuration management. It can do VLANs and Bonding which is important in the datacenter, but it doesn't do Wifi, which is important for the desktop case, and it - as far as I know - doesn't do 802.1x which is important for Wifi and also some corporate networks.

systemd-resolved

journalctl

NetworkManager

In the old days, the information about the network interfaces was in /etc/sysconfig/network-scripts. That is now deprecated. Instead, you will find this information in /etc/NetworkManager/system-connections/???.nmconnection.

Man pages: https://www.networkmanager.dev/docs/man-pages/


More pages

(End of page)