How is it better than using NetworkManager or systemd-networkd directly?
Why is it worth the extra complexity?
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
How is it better than using NetworkManager or systemd-networkd directly?
Why is it worth the extra complexity?
It has a structured yaml with a test command for potentially destructive config changes over ssh. Other than that: none. It was a real pain upgrading some servers, as always with Ubuntu.
I just moved to Ubuntu from Fedora Silverblue, for some $reasons. I regret it already.
You know what can also test destructive changes?
Cockpit's networkmanager interface.
It literally has no benefits, and is only a pain to use.
Actually, it does have one benefit: it integrates with Canonical's other tech. For example, MAAS uses ot for networking, and I bet lxc uses it somehow.
I like yaml generally but netplan was a huge unnecessary pain in the ass.
It's not really worth it, honestly. All netplan does is generate a config for systemd-networkd. It's better to just configure systemd-networkd directly and have a portable configuration, rather than use Canonical's proprietary stuff. The documentation is quite good for systemd in general, and with more people using it directly for network config it's easier to find examples when you need help.
What is even the value of Netplan on... desktop? Most people just pick their WiFi in the menu in Gnome. That sounds like a lot of unnecessary complexity.
For servers, sure, it's fairly nice. But, desktop? Why?
24.04 LTS is a distribution intended primarily for servers, desktop is not the priority environment.
Netplan's been the default since 20.04 on the server side and the article says it's coming to the desktop release with 24.04.
For Ubuntu 24.04 LTS, Canonical plans to polish the Netplan codebase and deliver a Netplan 1.0 release with API/ABI stability. They are also hoping other Linux distributions begin adopting Netplan. Debian so far has decided to go with Netplan for their nework stack on Debian Cloud images.
That’s probably the reason for pushing it to desktop builds.
Netplan makes more sense for the desktop then it does for a server because yaml is UI friendly. For the server it just adds an unnecessary level of complexity.
If you use a GUI configuration tool for NetworkManger like virtually every user I don't know how that works. Odds are not well.
This is the best summary I could come up with:
The Canonical-developed Netplan has served for Linux network configuration on Ubuntu Server and Cloud versions for years.
Canonical is committing to fully leveraging Netplan for network configuration with the upcoming Ubuntu 24.04 LTS release and in turn also marking the Netplan 1.0 release.
Netplan considers itself as a "network configuration abstraction renderer" that in turn interfaces with NetworkManager or systemd-networkd.
Netplan finally made its way to the Ubuntu 23.10 desktop by default with having better integration for knowing when connections are created/modified through NetworkManager.
Netplan can be used transparently to control a workstation’s network configuration and plays hand-in-hand with many desktop environments through its tight integration with NetworkManager.
It allows for easy network monitoring, using common graphical interfaces and provides a “single source of truth” to network administrators, allowing for configuration of Ubuntu Desktop fleets in a streamlined and declarative way.
The original article contains 227 words, the summary contains 141 words. Saved 38%. I'm a bot and I'm open source!