Hacker News new | ask | show | jobs
by chasil 895 days ago
I use much functionality in systemd that was not present in SysV init, and I really appreciate it. It has never crashed any OS that I have run.

However, there are a few aspects of it that are inconvenient.

Automount units use an unintuitive naming scheme, and you are not free to name them as you wish (as you might for a socket unit). If you are mounting an NFS volume immediately below the root directory, you don't see the problem, but if the mount is several directories deep and/or uses ASCII symbols (non-alphanumeric), it is not pretty.

Socket units require two files per port. When I am moving complex inetd.conf setups to Linux, it's far easier to implement them with busybox inetd than convert dozens/hundreds of services to unit files, despite the increased functionality. Somebody has probably written some scripting to do this.

I am not aware of any include directive for my own directories, so I don't have to place everything in /etc/systemd/system. There probably is a way to do this, and I am betraying my ignorance.

And my, things can get messy in a hurry in /etc/systemd/system.

I don't know how to configure users to be able to maintain their own (personal) units.

And lastly, it's so seductive that I have no idea how to do many things in other operating systems that I easily do in Linux. I wish this itself was not a walled garden (but I'm not leaving).

2 comments

> I am not aware of any include directive for my own directories, so I don't have to place everything in /etc/systemd/system. There probably is a way to do this, and I am betraying my ignorance.

Systemd by default looks at a bunch of directories depending on the context.

$ systemd-analyze unit-paths (or --user / --global)

https://www.freedesktop.org/software/systemd/man/latest/syst...

> I don't know how to configure users to be able to maintain their own (personal) units.

This is something I use all the time! Just put unit files in ~/.config/systemd/user and use systemctl --user to start/enable them

https://wiki.archlinux.org/title/systemd/User

Just a note that this requires the admin to enable linger if the units need to be started before the user logs in and run after they logout.