4 ms·
My day job is to build a custom operating system with systemd. Here are my thoughts about this: - The amount of stuff systemd is doing for you is insane. For e
by Walkman 8y ago
My day job is to build a custom operating system with systemd. Here are my thoughts about this:
- The amount of stuff systemd is doing for you is insane. For example, I just learned the other day how the systemctl stop command works; first you can send any signal you want to the process from a script (ExecStop=), then if that fails and the process is still running, systemd takes over, sends SIGTERM, waits for a bit (TimeoutStopSec=) then sends a SIGKILL, optionally handling child processes. I wonder if every single of your shell "init script" handle shutdown that nicely...
- I hear this complaint over and over, but systemd is NOT a monolith, you don't need to use every component. I have a system only with systemd as init, systemd-timesyncd (because I prefer it over ntpd) and that's it.
- It has bugs, yes, every software has bugs. We even hit multiple of them, and some of them was fairly unpleasant and hard to find, but it can be known after a bit of digging, because development is on GitHub. Also I'm fairly sure your shell scripts don't have any bugs in them...
- Shared knowledge. I never heard this argument, but you can jump to any other system and understand what's going on immediately if everyone uses the same init system. This is a huge advantage. Fragmenting the landscape with programs which inherently do the same thing just a bit differently is just a bad idea. I also hate split of talent and split of energy. Also, why on earth would you change to another init system ever? Or why would you ever change to an init system you don't know?
- Boot time is way better with systemd. With sysvinit, there is no parallelization. You have runlevels and that's it. I never used more than three, but I use multiple targets (own custom target also) with systemd, because it's easy and you can finally name them and debug them and see the dependency chain for every target.
- Sometimes we need to dig in to old sysvinit scripts and it is a terrible experience. It has still a lot of stanza-like parameters IN COMMENTS (LSB headers). Great idea...
- Systemd DOES NOT break backward compatibility. It can use existing sysvinit scripts. Actually it even default to those if there is both a .service file and init script.
- "One of the critical reasons against systemd concerns the lack of portability to other Unices, and the associated risk to see Linux-based systems detach from the UNIX world."
Anyone seeing the irony here? :D
- Man pages of systemd are quite nice! It's easy to learn from them. You don't even have to google, just check out the relevant man page.
I never understood systemd hate, but I guess it comes from ignorance and lack of willingness to learn about modern system design. The people who made the fork are just a bunch of hissy kids or stuck in stone age who are lazy to learn a new system IMO.
- cosmojg 8y agoOut of curiosity, are you working on a publicly available distribution? If so, what is it?
- Walkman 8y agoNo, sorry. We are building our appliance. We are using Ubuntu as a base.
- craigsmansion 8y ago> Also, why on earth would you change to another init system ever? Or why would you ever change to an init system you don't know? My sentiment exactly, but weren't you building up an argument in favour of SystemD? > - Systemd DOES NOT break backward compatibility. No, sometimes it just breaks and leaves you staring at a black screen. If the magical fix appears to be chrooting into you installation from a liveCD and reverting to sysvinit every time, at some point you are going to want to do that upfront. I don't blame SystemD for existing, or people for using it and being happy with it, but I do blame Debian for defaulting to it when there was no reason to do so at that time other than "mainstream appeal". >- The amount of stuff systemd is doing for you is insane. Yes.
- Walkman 8y ago> My sentiment exactly, but weren't you building up an argument in favour of SystemD? Fair point LOL :D > >- The amount of stuff systemd is doing for you is insane. > Yes. The emphasis is on FOR YOU, so you don't have to do it, which is a good thing IMO.
- JdeBP 8y ago> your shell "init script" You make the foolish error, called out by the Uselessd Guy long since, of creating a false division into solely van Smoorenburg rc and systemd. Five times over. * http://uselessd.darknedgy.net/ProSystemdAntiSystemd/ http://uselessd.darknedgy.net/ProSystemdAntiSystemd/ In fact, the world has never been divided into just two. * https://blog.darknedgy.net/technology/2015/09/05/0/ https://blog.darknedgy.net/technology/2015/09/05/0/ * http://jdebp.eu./FGA/run-scripts-and-service-units-side-by-side.html http://jdebp.eu./FGA/run-scripts-and-service-units-side-by-s... You make at least three other errors also, but they are symptomatic of arguing based upon not knowing the subject (ironically, not knowing systemd in one case), which dividing the world into twain is the major egregious case of.