I also want to just quickly summarize my position here, since some very long posts were written on this and linked into the thread by someone.

I have only three issues with SystemD in order of diminishing importance:

1) it is very hard to get up to speed with systemd, you run up against walls where you don't know how to proceed 2) the lack of flexibility mentioned by Russ and Simon. It is very hard to schedule something for shutdown alone, for instance. 3) the bad command environment; journalctl, systemctl, all of the -ctl names are hard to use. It is not user friendly, you get confused, you type the wrong things; apt (and its verbs) is like the opposite of that; easy, fast, quick to learn, quick to remember.

For me all of that points to a bad design and I haven't read the criticism that was also linked in this thread (by Jonathan de Boyne Pollard, on 01-09 (september)).

Personally I would not have made the choice to go with SystemD (site wide, so to speak) because I think SysV init can be improved and I disagree with the notion that it could not be used as the basis for something that would provide more standardized services, but of course I never went there as a person. Precisely because it is based on scripts (while also having descriptive elements) it can be evolved into something into something that does a better job than it does now until it would get to the point where you started replacing scripts with something more solid after you got the model for that right, but of course I never did any of that.

The main issue I have with it personally is that once you have a higher level functionality built on a bad model it will be impossible to change it. As long as you stick to the lesser-high level functionality based on a good model, you are still free to go in whatever you like.

The SystemD integration has cut off development paths and trackts and makes it virtually impossible to go back after the fact and take another path still. It's a consolidation but it means the interest for an alternative path will become less and less while all the while having a system built on a very bad model with deep issues relating to the many failure cases SystemD can have and that I witness quite often.

Just today someone ran into the problem of trying to mount some local filesystems on top of NFS but it couldn't be done because SystemD orders remote mounts after local mounts. The unaware person will not have a single clue as to why it is not working. There are more directives that get conveniently broken by SystemD when it messes or interferes with its ordering mechanics. People continually run into things that do not work as expected and this "breach of contract" is the biggest issue.

Most of the time you will simply not know how to do something until you ask the developers or someone with experience.

And then they will mention caveat #2311. But it was impossible to know beforehand and that turns it into an oblique system. And troubleshooting boot failures is rather expensive...

So for me personally it is a very independable system with a high risk of breaking the moment you change something, anything, whteher it is custom encryption, or some mount, or anything else. Shutdown can take very long for reasons you don't know and have almost no way to troubleshoot. And this is just my personal impression, my personal experience that I have to deal with, nothing else.

Just stating what it is for me without any comparison to any other system. I mean the things I run into with Systemd.

These things stand on their own and are just true, for me, they have happened, all of them. That's all, I just think I am worse off because a /bad/ high level feature had closed off development paths to alternatives since pretty much no one is going to be interested in it, or that there would be developers interested in it, nor that it becomes easier to run these systems, and have them available for yourself to work with.

So if I am at any time vehemently arguing for the non-throwing-away of some script, it is also because I see opportunities for myself grow dimmer by the minute... That's all. And I can't fight that because I'm not "there" and I am not in that position to actually do something with it.

But the chances of /getting/ to that position become worse. So personally, for me, not only as a user, but also as a developer, I see conditions worsen. I like SysV-init better because it has more potential, you can do more with it, you can go directions with it. It is an open-ended story, but SystemD is not.

I can't take SystemD and turn it into something else. That's practically impossible. I could have taken SysV and turned it into something else, easily. I wasn't there yet, but I could have gotten there in time.

But the chances of that ever taking place (within reasonable time) are now probably 20% of what they were before. I like systems in their early stages of development because it is an unwritten book and you can still write it. The moment it is written, and it is written as a very very bad story, what can you still do with it? Primitive systems, primitive building blocks, is one thing.

Advanced systems that have developed into the wrong direction, is quite another. You now stand before the task of first dismantling the machine. It is more work to get back to where you were before.

And I find myself constantly confronted with the development of advanced but malformed system that I will need to dismantle before I can do anything with it. I am constantly confronted with the need to bring systems back to their basics but I cannot do it alone because the people creating the malformed system are with 100s and they are getting paid for it as well and have enough to eat as well... and I don't, really.

For me it is just a runaway race, a system out of control, cajeering into all kinds of bad directions, and pretty much every new development is terrible to me because I disagree with its fundamentals, and now I will first need to spend terrible amounts of time learning the ropes of the new system with energy I do not have.

And pretty much every new development is a set-back to me because they are all just terribly designed systems but they are higher level than what existed before and therefore harder to use for your own projects. And it is just hopeless.

That's all. And I don't really need any 'advice' here so please refrain from giving any, I just lost my words while writing this so it feels a bit weird this.

Reply via email to