4 ms·
Thanks for the info; I'll fix that on my machines. Though I don't know why they would "break userspace" like that.
by Faaak 8y ago
Thanks for the info; I'll fix that on my machines.
Though I don't know why they would "break userspace" like that.
- Izkata 8y agoProbably because the main dev "knows better". Looking from the outside at common complaints across systemd, there seem to be plenty of weird defaults that hurt power users, with that being the primary reason behind not changing it to something more standard.
- LukeShu 8y agoIt's a situation where you can't do the right thing in all places. Some programs, like statically linked Go programs, don't use the system APIs because they don't want to link against external libraries. So, if the system is configured to use mDNS for .local hostnames (either via systemd-resolved or via nss_mdns), those programs will mysteriously do the wrong thing, because they _only_ speak plain DNS. You can hack around that, and get them to do the right thing, by having a stub DNS server that they talk to, and have that stub server fire off mDNS requests instead of DNS requests as appropriate. Similar story for things like DNSSEC or DNS-over-TLS. That's what modes (1) and (2) do, they make statically-linked-programs that would otherwise use the system APIs do the right thing. Other programs, like `dig`, don't use the system APIs because the really do care about speaking DNS directly. They just need the list of DNS servers to talk to and search suffixes to use. Giving them that is what modes (3) and (4) do. It's literally impossible to keep both sets of programs "doing the right thing" at the same time. So the question is: which group of programs do you want to do the right thing? The systemd devs don't know (much less "know better"), so they made it configurable. Which one is default is up to the distro, not systemd.