On Tue, 09 Jul 2024 at 10:57:39 +0200, Matthias Urlichs wrote: > Agreed: either it's drop-in compatible or we may as well switch the > default to NM and/or systemd-networkd. > > Well, here's a heretical thought: why don't we do that anyway, at least for > new > installations?
To some extent, we are already there: for new laptop/desktop installations, NM is already the default (certainly true for GNOME, and hopefully for most/all of the other tasksel-supported desktops). For new server/embedded installations, I think networkd would be a better default than ifupdown (I switched my servers from ifupdown to networkd sometime between Debian 9 and 10, according to the etckeeper logs). See my recent mail about how we should probably not be inventing Debian-specific container frameworks that will end up with one overworked maintainer being a single point of failure for the distribution, but replace "container framework" with "network management tool" and the same ideas are equally valid. Like Podman in the containers space, NM and systemd-networkd both have the advantage of being used outside the Debian bubble, sharing the responsibility for their continued existence among *considerably* more people. networkd seems like an entirely reasonable implementation of "make the easy things easy" (/lib/systemd/network/80-ethernet.network.example shows how to bring up DHCPv4 and DHCPv6 on every Ethernet device in 4 non-comment lines, without having to hard-code the name of any specific device), which is the main thing we want from a default - I continue to believe that defaults should be chosen to be appropriate for new users without specialized requirements, because experienced users already know how to apply different configuration if they want to, and users with specialized requirements will have to apply special configuration to achieve what they require whatever we do. At the same time, networkd also has "make the hard things possible" available in its configuration language (see man pages for details). I'm sure that when ifupdown was written, having our own network management tool was seen as a necessary part of providing an OS distribution (in the same way that the Red Hat family historically had its own framework based on /etc/sysconfig, and so on), but thankfully things have changed since then, and we now have non-distro-specific network management components that can do just as good a job (if not better). It used to be the case that ifupdown could bring up many network interfaces "statically" with no extraneous background processes, but available RAM has grown by several orders of magnitude, and DHCP and modern wifi both require long-running processes to supervise them *anyway*, making that much less of an advantage. Of course, there is nothing to stop anyone who is interested in it from keeping non-default frameworks available, either Debian-specific or not - if nothing else, users of non-systemd init systems are going to want an alternative to networkd - but if those frameworks aren't load-bearing for the distribution as a whole, then that will give their maintainers less support burden and more freedom to experiment. smcv