3 ms·
sysvinit is simple, and I didn't have any major issues with it. On the other hand, systemd is too big, takes on too much responsibility (really I need a system
by krzyk 7y ago
sysvinit is simple, and I didn't have any major issues with it.
On the other hand, systemd is too big, takes on too much responsibility (really I need a system to retrieve logs in it? or a way to run local dns?).
Since last update on my ubuntu desktop I can't get dns to work from DHCP, I need to overwrite /etc/resolv.conf with correct nameservers after each restart (BTW. Why would anyone think that running local DNS is a good default option - I see `nameserver 127.0.0.1` in the overwritten file).
And the second one on Debian on my laptop, when I run VPN (openconnect) name resolution fails, and I need again - ovewrite resolv.conf.
I didn't have such problems with sysvinit.
systemd is so controversial that I'm astonished why it is used in any distro.
- ernst_klim 7y ago> sysvinit is simple, and I didn't have any major issues with it. How do you encode service dependencies? If a service dies, what happens to services relying on it on your system?
- csande17 7y agoAt least on my desktop machine, there aren't a whole lot of services that directly depend on other services. Usually, a service will provide some functionality (e.g. sound) used by applications I launch. As far as I know, systemd doesn't help with that, and I don't really want it to--imagine if systemd suddenly killed and restarted your browser! Also, maybe I'm just lucky (or using popular hardware, or something), but services on my machine don't just randomly die for no reason. NetworkManager, sshd, etc all seem pretty well-written and stable.
- ernst_klim 7y ago>As far as I know, systemd doesn't help with that It depends on the service in use and how is it defined. I have an embedded system in production, which have quite a complex graph of dependencies, some of which should be restarted on sudden death of others, some of which should persist anyways. Needless to say that systemd provides an incredible, robust and easy way of solving that, I had to write just a few 10-line long unit files for in-house software and use standard units provided by standard daemons. >imagine if systemd suddenly killed and restarted your browser Because your browsed doesn't rely on them. But my web interface definitely depends on NetworkManager, because it speaks to it via d-bus.
- csande17 7y agoTo clarify, by "systemd doesn't help with that", I meant "systemd does not attempt to manage, track service dependencies of, or restart applications I launch through my desktop's Applications menu or in a Terminal window". Which is a good thing! Even though my browser uses/"depends on" audio, I still don't want systemd to restart it without warning if PulseAudio dies.
- zaarn 7y agoYour browser can encode that it doesn't have to restart if pulse dies. Wants= will try to ensure Pulse is started but if Pulse cannot start or crashes, that's fine. Requires= will ensure pulse is started but doesn't do anything if it crashes. Only BindsTo= will stop the browser if pulse crashes.
- dbrgn 7y agoCheck out systemd socket activation. It's an awesome system that starts services on demand when they're needed by applications.
- shawnz 7y agoSystemd obviously isn't identical to sysvinit and can't be managed with the identical procedures. How is that an "issue" with the product?
- cthalupa 7y ago>BTW. Why would anyone think that running local DNS is a good default option It generally is, really. Resolving DNS servers are, for some reason, apparently much more difficult to run properly than authoritative ones. It's been a trend in many consulting gigs, where there are periodic outages due to reliance on some resolving DNS server somewhere that is overloaded, having a gray failure, or just generally down. It's also been a trend in basically every consumer ISP I've used over the past several decades - running my own resolving DNS servers has cut out on the outages I have experienced quite a lot. I could probably achieve the same affect by just pointing everything at 4.2.2.1 or 8.8.8.8 or whatever, but I keep more control over my browsing habits by caching most results locally, have lower latency on lookups, etc. In large environments the gains can be even larger. I prefer running more centralized resolving nameservers on the LAN for clients, but if you don't have that, then you're still gaining quite a bit running it on the local machine. (and by no means am I a fan of systemd - I just think that this is a fairly sane default)
- brimstedt 7y agoRegarding VPN, you probably have your VPN config wrong. Either you want it to use a DNS server on the remote network (connecting to a LAN at the office for example) or not. Check your VPN config, it should update systemd settings automatically when connecting/disconnecting.