3 ms·
Runit – a Unix init scheme with service supervision
- nine_k 5y agoI run Void Linux, and it uses runit as the init system. It's way, way simple. It's pretty bulletproof. To add a completely new service, you have to write 1-2 lines of strictly linear shell script, maybe a few more lines in an options file if you want options to be configurable separately. With very little effort, you can make it run your own, non-root daemons, requiring no sudo or similar. That said, it's very simple. It has no idea of declarative dependencies; you can only explicitly ask other services to start or stop, and your init script will be retried when the dependencies (hopefully) meet your desired state. No means to start in a container / cgroup (use podman for that), no network activation (use the old inetd if you need it for some reason). Despite that, it works pretty well, parallelizes itself naturally, and my laptop's startup time is dominated by disk decryption and loading the image to RAM. For more sophistication, there is S6.
- tsujp 5y agoI remember last time I mentioned runit here as an alternative to systemd — specifically within the context of dead simple unit files — I got downvoted; definitely not a touchy topic at all. Runit is great, and while there is the service dependency problem (viewpoint specific of course) it is generally assumed at this level that ordering of service dependencies is the responsibility of the user. A classic example from recent years are audio daemons starting after a bar (say in sway or dwm) and ordering the daemon start beforehand so the icons etc show properly.
- deknos 5y agodoes the endless line of dots in ps aux not bother you? This unnerves me every time. and i have to admit i do not see the value of that happening