Sysv init and rc-files are two different things. You can use whatever configuration system you like with sysv init, e.g openrc.
What systemd "solved" was already solved.
When you know this you understand that the motivation of the people behind systemd was not technical.
One of the top contributor of systemd is banned from the linux kernel because of bad coding. The other top contributor gave us the fiasco of pulseaudio. Both work at the same major company. Draw your own conclusions.
This is only a tiny piece of the experience though. What about journalctl? systemctl? etc? That stuff is alien vs tail -f or ./just/run/some.sh which works with everything _except_ systemd.
> You can google how to do the equivalent to `tail -f /var/log/foo.log` in a minute.
Doesn't the fact that I have to google an alternative workflow for something that behaves consistently across pretty much all other software make its UI worse, at least in that regard? I get that maybe it's a justified trade-off, but that doesn't make the UI any better.
> What do you mean by ./just/run/some.sh?
I suppose just dumping an exec command into an executable file and call it a service.
You can use syslog in conjunction with the systemd journal. Some distributions come set up that way by default, and for the others you can just `apt-get install rsyslog` or whatever. When you have a syslog daemon installed, `tail -f` and everything else you're used to works exactly the same as before, you can pretend the journal doesn't even exist if you want. And if you don't have a syslog daemon installed... well, i don't know if that's really journalctl's fault, is it?
Sure, just throw in several extra steps, huge numbers of syscalls and make any admin add complexity to their systems. For a busy service, this is a performance issue that the systemd devs simply reject out of hand as "doing it wrong".
That doesn't seem like an especially compelling argument. There are components of every ready-made operating system that you 'don't need or want'. I don't need or want an IPv6 stack, or debugfs, or half of the other features that come with most distributions' Linux kernels, and i don't need or want legacy bull shit like (d)ash and cpio and Python 2. But there they always are anyway, and i don't lose much sleep over that fact.
journald by default doesn't keep logs from the previous boot, which is extremely annoying. What's the point of having a logging system where you have to keep the old one around to read old logs? I've also had it seemingly not have any loglines for queried units when it should have; not sure what happened there.
In one configuration, journald logs to an in-memory filesystem; in another, it logs to an on-disc filesystem; in a third, it tries on-disc and falls back to in-memory; in a fourth it does not save the log either in memory or on disc. Different distributions configure this differently.
This falsehood keeps popping up, and not only can't it be shown to be true, it's illogical.
Init scripts are static. They don't change, they aren't ad-hoc, they aren't fragile. All modern Sysv init script systems have static scripts which 'include' a basic key=value pairs of environment variables from a config file. Nobody modifies scripts, or at least, they should not be doing it, and don't need to.
Many init scripts on my system have timestamps from the year 2002, and this system was just installed. They don't change because they don't need to change.
OTOH, Declarative unit files are configuration management taken away from the configuration management system, adding complexity.
until everyone starts working around flaws and missing features in the core. then the declarative files will be just a pile of hacks that in the end are just obfuscated ad-hoc script files.
and the scary part: we are not even fully there yet and it already reeks.
In theory, a perfect bugless system that enforces a certain DSL upon sysadmins who won't have to maintain startup scripts is a good thing. A thing which systemd is not.
What systemd "solved" was already solved.
When you know this you understand that the motivation of the people behind systemd was not technical.
One of the top contributor of systemd is banned from the linux kernel because of bad coding. The other top contributor gave us the fiasco of pulseaudio. Both work at the same major company. Draw your own conclusions.