Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How are Systemd's unit files any worse than unconstrained init scripts written in a Turing complete language with even basic stuff - like PID files - managed manually?


Because they are opaquely translated into an imperative sequence but you never get to see it.

Also who are these people who have complicated sysv scripts? I've heard this for years and never really understood it. One script per service with a stop and start command (and maybe a status if you want to get fancy) and runlevel definitions that start and stop them. It's not rocket surgery, and it's a hell or a lot easier to debug than a declarative system definition.


> Because they are opaquely translated into an imperative sequence but you never get to see it

Into correct imperative sequence. That’s the whole point of declarative things.

You can’t feasibly write it correctly otherwise. You are writing programming languages over assembly for largely this same reason.


Ah, the wonders of sysv scripts in commercial UNIX systems doing all kinds of interesting stuff from corporate IT.


The reality is that it wasn't corporate scripts hidden away from the public eye. There were some nightmare van Smoorenberg rc scripts in the likes of Debian.

FreeBSD has Mewburn rc not van Smoorenberg rc and was thus inherently better in this regard until the middle of 2014 (https://unix.stackexchange.com/a/480897/5132). But even FreeBSD has some large rc scripts, particularly in the networking and the HID parts such as Bluetooth and configuring all attached keyboards; albeit that the FreeBSD style guidelines mean that they are more legible than the nightmare Debian (et al.) ones.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: