| ▲ | razighter777 3 hours ago | ||||||||||||||||||||||||||||||||||
What practical problems do you run into with systemd? All the compliants I see tend to be philisophical criticism of systemd being "not unixy" or "monolithic". But there's a reason it's being adopted: it does it's job well. It's a pleasure being able to manage timers, socket activations, sandboxing, and resource slices, all of which suck to configure on script based init systems. People complain in website comment sections how "bloated" systemd is, while typing into reddit webpage that loads megabytes of JS crap. Meanwhile a default systemd build with libraries is about 1.8MB. That's peanuts. Systemd is leaps and bounds in front of other init systems, with robust tooling and documentation, and despite misconceptions it actually quite modular, with almost all features gated with options. It gives a consistent interface for linux across distributions, and provides a familar predictible tools for administators. | |||||||||||||||||||||||||||||||||||
| ▲ | cyberax 3 hours ago | parent [-] | ||||||||||||||||||||||||||||||||||
Ohh... I have sooooo many issues with systemd. The core systemd is fine, and the ideas behind it are sound. But it lacks any consistency. It's not a cohesive project with a vision, it's a collection of tools without any overarching idea. This is reflected in its documentation, it's an OK reference manual, but go on and try to build a full picture of system startup. To give you concrete examples: 1. Systemd has mount units, that you would expect to behave like regular units but for mounts. Except that they don't. You can specify the service retry/restart policy for regular units, including start/stop timeouts, but not for mounts. 2. Except that you can, but only if you use the /etc/fstab compat. 3. Except that you can not, if systemd thinks that your mounts are "local". How does it determine if mounts are local? By checking its mount device. 4. Systemd has separate behaviors for network and local filesystems. 5. One fun example of above, there's a unit that fires up after each system update. It inserts itself _before_ the network startup. Except that in my case, the /dev/sda is actually an iSCSI device and so it's remote. So systemd deadlocks, but only after a system update. FUN!!! 6. How does systemd recognize network filesystems? Why, it has a pre-configured list of them: https://github.com/systemd/systemd/blob/4c6afaab193fcdcb1f5a... Yes, you read it correctly. A low-level mount code has special case for sshfs, that it detects by string-matching. 7. But you can override it, right? Nope. This list is complete and authoritative. Nobody would ever need fuse.s3fs . And if you do, see figure 1. I can go on for a looooong time. | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||