I don't know. I've never had to install anything special.
is the only package with "*networkd*" in the name.Code:$ dpkg -l '*networkd*' Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===================-============-============-=====================================> ii networkd-dispatcher 2.0.1-1 all Dispatcher service for systemd-networ
From example on https://netplan.io/examples/ :
Code:renderer: networkdIs it necessary to use renderer ?Code:Netplan supports both networkd and Network Manager as backends. You can specify which network backend should be used to configure particular devices by using the renderer key.
Are you running systemd-networkd ?
Code:# systemctl status systemd-networkd ● systemd-networkd.service - Network Service Loaded: loaded (/lib/systemd/system/systemd-networkd.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:systemd-networkd.service(8)
is required as part of the netplan.io config file.Code:renderer:
If NetworkManager is listed, then networkd won't be used and all the issues that NetworkManager has come to the system.
But a simple netplan config file for static IPs removes the need for NetworkManager and all those issues:
Here's an example from a 20.04 system:
I've colored the parts you should insert different values for in blue.Code:$ more /etc/netplan/01-ens3-static.yaml network: version: 2 renderer: networkd ethernets: ens3: addresses: - 172.22.22.3/24 dhcp4: false dhcp6: false gateway4: 172.22.22.1 nameservers: addresses: [ 172.22.22.80, 172.22.22.81 ]
After changing those parts, run these commands:
That's it. No more network-manager problems.Code:sudo netplan generate sudo netplan apply --debug
Watch the spacing. YAML is picky. Some you have to TAB, some are SPACES.
The YAML spec doesn't mandate either, just be consistent. I've never used tabs in a yaml file. There is a requirement that at least 2 spaces are needed for an indentation level, but as long as there are 2 or more spaces, the number doesn't matter, provided all entries of the same level have the same number of spaces. Different levels can use different numbers of spaces. I suppose at least 1 tab could be used to create an indentation level. Just not my style.
Be consistent in spaces, that's the rule for YAML.
Some people may have their editor setup to swap
spaces for tabs
Or
tabs for spaces
automatically. This will always cause problems, IME.
Now, gmake and other versions of Makefiles **do** have a tab character mandate, but that isn't YAML.
I believe that yaml disallows tabs. Ref: section 6.1 here: https://yaml.org/spec/1.2/spec.html#id2777534 :
I just tried python yaml module and it allows tabs equal to 4 spaces.To maintain portability, tab characters must not be used in indentation, since different systems treat tabs differently.
Last edited by The Cog; April 15th, 2021 at 05:47 PM.
https://yaml.org/spec/1.2/spec.html#id2775170
There is an example with both spaces and tabs used for indentation. It is important to make things complicated, whenever possible to increase confusion, no doubt.Section 5.5:
YAML recognizes two white space characters: space and tab.
Bookmarks