4 ms·
Yeah, I agree. Systemd is incredibly controversial among a niche group of people who have strong opinions about how init & core system functionality should wor
by dietrichepp 3y ago
Yeah, I agree.
Systemd is incredibly controversial among a niche group of people who have strong opinions about how init & core system functionality should work, and then there’s an outer ring of people who focus on one or two problems with some relatively minor problems that Systemd caused for which there are viable workarounds. Like how Systemd terminates processes that belong to your session when you log out.
I remember writing SysV style init scripts or rc.d / BSD style init scripts. It was awful. You had all these copy-pasted shell scripts with various gaps in functionality depending on who wrote them. Getting a service to run in Systemd feels like heaven by comparison. I don’t even care about, like, Docker.
I think the reports of problems (like background processes getting termed on logout, how any security problems in Systemd tends to be severe by nature) were just so numerous compared to the reports of the benefits (like the boot time improvements and the massive improvements running daemons). It was some bad decisions and a lot of bad PR, but the overall impact IMO is very positive.
- SoftTalker 3y agoHave you looked at OpenBSD? Here's the /etc/rc.d/sshd: #!/bin/ksh # # $OpenBSD: sshd,v 1.7 2022/08/29 19:14:25 ajacoutot Exp $ daemon="/usr/sbin/sshd" . /etc/rc.d/rc.subr pexp="sshd: ${daemon}${daemon_flags:+ ${daemon_flags}} \[listener\].*" rc_configtest() { ${daemon} ${daemon_flags} -t } rc_cmd $1 Pretty much any service/daemon is similar. You define a few things and you're done.
- abenga 3y agoA declarative unit file is still more readable for me.
- unixhero 3y agoWhy in the world korn shell? I stumbled upon an auditor with programming skills, who did all his scripting in Korn shell. To me it was like he was from another planet.
- SoftTalker 3y agoIt's the standard shell on OpenBSD.
- Aeolos 3y agoHere is the systemd unit for comparison: [Unit] Description=OpenBSD Secure Shell server per-connection daemon After=auditd.service [Service] EnvironmentFile=/etc/default/ssh ExecStart=/usr/sbin/sshd -i $SSHD_OPTS StandardInput=socket I leave it to the reader to decide which of those two is easier to understand and maintain.
- SoftTalker 3y agoDebatable, but I was mainly reacting to "... rc.d / BSD style init scripts. It was awful. You had all these copy-pasted shell scripts with various gaps in functionality depending on who wrote them." Simply not true in (modern) BSDs, well at least OpenBSD; I'm not familiar with the others.
- dietrichepp 3y agoYeah, maybe it’s not inconsistent any more. But meanwhile, systemd has gotten really nice, even a good version of rc.d seems awful by comparison. I had the same feeling when Apple came out with launchd in 2005. It felt like such a massive improvement over the existing state of things. Systemd also feels like a massive improvement.