Hacker News new | ask | show | jobs
by sp332 4286 days ago
Why do you "have to" build it on those distros? Why not use a server distro that doesn't even have X let alone GDM?
2 comments

The problem is that in many server environments, particularly at scale, the speed of the bootstrap processes of the OS doesn't matter. One of the goals of systemd is to make the bootstrap process faster, which is irrelevant for those (non-desktop) use cases. So you see, systemd is solving problems, and making trade-offs to do it, that just don't matter for the non-desktop use case. I can of course choose not to install gdm, but that doesn't change the fact that systemd was designed (you might say over-designed) with the desktop use case in mind. Because of that, I have to live with those trade offs, even though my use case does not benefit. Since all major Linux distros are deciding to adopt systemd, it will be very difficult to "roll your own" and use something else, especially since the rest of the userland will assume that everyone is doing things the systemd way, this making it even harder to go against the flow.
What tradeoffs is it making for faster boot times that you feel aren't suited to the server?
If you're spinning up a lot of VMs, or paying by the hour or watt, you might care about how fast a server boots. Anyway lots of other init systems do parallel boot, not just systemd. So you don't have to use systemd just to get a fast boot time.
> Since all major Linux distros are deciding to adopt systemd...

Slackware is a major distro. So I expect everyone who opposes systemd to migrate to Slackware, and I'll get even more slackbuilds to browse through on SBO, right?

The idea that you should artificially separate OS into server and desktop, solely so you can charge more for the license for server OS, is a false dichotomy that needs to go away and only exists in proprietary commercial OS. It exists solely in the marketing sphere, and only intersects with the technical sphere WRT including artificial limits to ruin performance on a system that has a workload marketing doesn't approve of.

I do not want parallel non-deterministic booting on a server. If it works I don't care because I don't reboot daily/hourly/for fun. Its a linux box not Windows. If it doesn't work then non-deterministic behavior makes race conditions and error messages very confusing.

There is an inherent architectural / philosophical violation where flexibility is considered "unix"ish yet it is forbidden under systemd domination. If you disagree with the above paragraph for init system on a server, thats OK, I think someone with that has the wrong opinion but I respect an honest disagreement. Under a unix-ish philosophy there have been about ten alt-inits over the past couple decades that'll parallel / non-deterministic init, so go ahead friend, more power to you, give one a try until your fingers get burnt. Sysvinit (or BSDs init) will be waiting for you when you return. This flexibility, this compatibility, is philosophically forbidden under systemd.

You will do it the systemd way, because we won the political battle, not for technical reasons (god knows systemd is not the first attempt at this architecture). Or you will be forced to leave. Well OK then. The future is looking very freebsd to me. So long and thanks for all the fish!