Carlos E. R. said the following on 05/05/2013 11:15 AM:
On Sunday, 2013-05-05 at 16:51 +0200, David Haller wrote:
Hello,
I think it is a reaally bad idea to let systemd handle ANYTHING more than the _ONE_ task of basic startup and starting services. And it's already far beyond that "one task" (gobbling up udev??? WTF?).
Absolutely.
It breaks the Unix principle of using small programs to do small tasks with perfection Instead, we have this behemoth, handling system and services starting, and taking over cron, at, syslog... :-/
I'm not sure that's a fair criticism. If we're talking monolithic programs that do a lot of stuff then look to things like the Mail Transfer Agents, Postfix and Sendmail before it. No, systemd is more like inetd or xinetd. Before we had inetd we had lots of individuals long lived servers that did all their own multiplexing (monolithic on a PDP-11). After inetd we had a table driven dispatcher which set up the environment for individual services. Yes, you now have lots of telnet daemons, one for each client, rather than one big one with its own internal multiplexing. Oh, wait! On some mainframes they do that for every IP service, one big, humongous server for *ALL* IP services, TCP and UDP, that is incredibly multi-threaded and complex and difficult to understand. Systemd is a dispatcher. It is a table driven dispatcher so you could call it an interpreter. That is has 'taken over' so much is more a reflection of how Linux has grown, the facilities that it has which the old K&R UNIX of the 1970s, heck even the Vaxen BSD of the early to mid 80s with VM and networking, never had. Virtual computing has demanded better resource management and allocation, so we get cgroup mechanisms. You aren't using those? Well don't bitch that that systemd lets people who manage them. Systemd is a dispatcher; it still uses other programs to do things. Are those programs small? Perhaps, like Postfix, they are not, but that's the nature of what they are doing, not the fault of systemd. Postfix was there before systemd. If anything, by breaking up the mailing process into subtasks, smaller programs, and being table driven, Postfix is an improvement, more "UNIX like" than sendmail. If you ignore all the stuff about cgroups, about sockets, then the mapping from sysvinit where there was a lot of code and all the function was in to code, we can look at systemd as abstracting all the commonality and embedding the intelligence in tables (.service files). It is an interpreter for those tables In that, it holds with a good and long standing UNIX tradition, making things table driven. Perhaps you have a problem with a 'table' being a collection of files or lines in files; perhaps you have a problem with a flat file like /etc/passwd being a 'database". But those are all good UNIX traditions. A lot of what you are complaining about is how systemd sets up 'context'. Again, I'd point you to the way xinetd sets up context for, as an example, the telnetd server. q.v. the xinetd has to set up a lot of context. -- May the itch of a thousand crabs affect the one who ruins your day and may their arms be too short to scratch. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org