SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
View Poll Results: I want the next Slackware init system to be:
Service supervision is where a daemon takes charge of a service, and should the service stop without user provocation, the service is restarted along with any logging of that service if configured for the service. If the user does stop the service then the service stays "down" until the user bring it "up" again, or the system is restarted. However, if the service script is not available or executable, the service is not started.
However, even by that definition, it's a fickle argument that we need service supervision that badly.
With all due respect I think you are missing something here; to wit, that the reason for much of the opposition to systemd is precisely because being 'featureful' is NOT a good thing in an init system.
To the degree the features provided are good they can be implemented outside of the init system.
Well, yes, that is precisely my point. I did not imply that every feature of systemd needs to be in the init system, far from it, and I do not plan to reimplement everything in the same package.
It stands nonetheless that the features of systemd are the reason why it got adopted so widely, and similar features, albeit organized differently (and correctly implemented this time), need to be provided if we are to compete; and I need to know what is important for distributions.
I have struggled a little with the scope of this term. I see it used frequently and it seems to be one of those terms that everyone "just knows what it means"...
But in reading docs (runit for example) and searching for a concrete definition, I come up somewhat empty. Some uses seem to limit to the obvious function of monitoring and restarting daemons automatically, other d's imply or include much more.
The word "service" itself, correctly or not, I have tended to think of as both a Microsoft-ism and a RedHat-ism, a marketing term that blurs the historical uses of daemon, process, etc... Admittedly, that may be simply an artifact of my particular experience-path, but it seems pretty well founded.
So, please pardon my own ignorance if necessary, but if the term service supervision is to be a talking point in this discussion, could someone put an unambiguous scope and definition on it?
It is indeed somewhat complicated, because there are two close notions and it is easy to confuse them. I would say that service supervision is an overloaded term, and refrain from using it.
At the very basic level, there is process supervision. It is a framework for starting, stopping, and monitoring daemons; that is what daemontools, runit, s6 and perp do.
Up a layer, there is service management. It is a global view of all services running on a machine, and a framework to handle them. A service can be represented by a running daemon, in which case managing the service amounts to supervising the daemon process; but it is not always the case. A network interface being up, for instance, can be a service - the service is down when the interface is unavailable - even though it doesn't have any process attached to it. systemd has that notion of "unit" which can be basically anything - it takes service management to a whole new level.
Process supervision is essential; everything that people hate about System V scripts comes from the lack of process supervision.
Service management is not essential, but, as far as I understand it, it is nice to have, and it is one of the most obvious advantages of systemd over its competitors. Again, I am not sure how important it is, and I would like to hear word from distribution maintainers: in order to switch from systemd to a new framework, do you need that framework to provide service management ?
Things brought in by systemd could be easily forked as modular projects working off a static library dependency rather than shared library to make it portable.
Why can't we have just a libsystemd static library to link from?
logind shouldn't have to require PAM, but it should be portable enough to use it's own internal dependency library without requiring the underlying shared systemd dependency library at all.
That's like compiling a program to work off zlib's static library to where it can be portable between systems, rather than the shared library locked to a single system.
My question is why should there be a global system of "service supervision". Why doesn't every service implement their own service supervision as needed ? It sounds very naiive to think that a global system of service supervision can manage to bring up services if they have crashed. I mean it doesn't investigate into the cause of the stopped service, and I'd say it is unlikely to succeed in bringing it back up unless it knows what is wrong. How can it know what could go wrong with every service that it manages. It doesn't make sense.
The supervisor tracks the execution state of the service. Like a parent-child process, it uses the execution state as a way to track the service. If the execution state stops and exits, closing the parent-child process, the service supervisor re-executes the service.
I do not wish to engage in pointless debate, but I do not think that either of those propositions are without dispute.
I can appreciate that they are drivers of your own project, but they are not universally accepted truths.
Well, if there is one debate about systemd that is not pointless, it is exactly this one - what should an alternative provide in order to be a serious competitor ?
I'm not talking about individual preferences here. I'm using s6 as is, with no service management, no PAM, no graphical interface, no glibc, almost no shell, and am very happy with it. I'm talking about something generic, something that a distribution needs. I am willing to take the time to correctly design the parts that are needed, and write them. It's not about my project as it is today: it's much bigger than that.
If you disagree with what I said in my previous message, then please enlighten me. What, in your opinion, should be done in order to provide an alternative to systemd, that systemd opponents would be happy with ?
Eudev is being done to avoid extras. It's more of a minimalistic port rather than a full udev implementation, but it works as a full implementation. The only thing it lacks, or will lack in future developments is kdbus, but that has yet to even be considered as Linus warned them specifically about breaking the userspace would bring severe consequences.
kdbus is a major concern as
Quote:
A Phoronix reader pointed out a mailing list post made by Lennart Poettering that we missed out on at the end of May. The discussion is about a patch for dropping the udev firmware loader. In there it's mentioned that the systemd developers are planning to move udev onto KDBUS as transport, the kernel-based implementation of D-Bus. In moving this, the developers will get rid of userspace-to-userspace Netlink-based transport udev currently utilizes. Lennart wrote, "Unless the systemd-haters prepare another kdbus userspace until then this will effectively also mean that we will not support non-systemd systems with udev anymore starting at that point. Gentoo folks, this is your wakeup call." So using upstream udev will not be supported without using systemd. Lennart called out the Gentoo developers due to their eudev fork of udev.
This means that if kdbus is merged into the kernel then systemd would be the only option even with eudev unless a workaround is found. I suppose if this happens we will have to assume that a workaround can and will be found, and that this workaround will allow init and the rest of the alternatives to work.
It also means that unless you use systemd, or get a working kdbus API handler for non-systemd systems, the userspace will be completely broken.
However, unless kdbus doesn't get added, then it's a fruitless effort meaning, we have time to counterattack the advance of systemd, but we're on borrowed time. Once, and if, kdbus is ever added, it's over unless Gentoo's Eudev team commits to a complete fork.
Well, if there is one debate about systemd that is not pointless, it is exactly this one - what should an alternative provide in order to be a serious competitor ?
...
If you disagree with what I said in my previous message, then please enlighten me. What, in your opinion, should be done in order to provide an alternative to systemd, that systemd opponents would be happy with ?
To restate the points I disagreed with:
Quote:
Originally Posted by skarnet
It stands nonetheless that
...the features of systemd are the reason why it got adopted so widely
...similar features... need to be provided if we are to compete
With regard to the first point, I think that systemd was swept into "acceptance" as quickly and to the degree that it has been primarily by politics and money, egos, allegiances and alliances and whatever other orchestrated pressures could be applied by those with the self-interest and resources to do it. I think that technical excellence and/or features were very low on that list, if on the list at all.
Given that I believe there to be some good measure of truth in that first assessment, I think that tryng to compete with it on the basis of features is one of those exercises that involves noxious liquids sprayed into a moving air mass!
I think genuine technical excellence and usefulness can withstand the systemd onslaught in the identical way that other wonderful and useful Unix ideas (including SysV init) withstood the Microsoft onslaught of the 80's and 90's, to re-emerge as what we have known as the GNU/Linux/BSD ecosystem.
Competition based on "features" is actually a small player in that scheme of things.
There's a choice missing - 'Almost anything *but* systemd' (I don't want to check 'other' for this because from my little understanding of these things, there's only 4 +/- that may be any good to go to *IF* Slackware actually has to at all).
Otherwise, I'm also of the camp *use what's working! - if it ain't broke, don't fix it!*. And if that fails, and systemd is used, then I too will somehow figure out how to move to one of the BSD's or LFS.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.