Gentoo Archives: gentoo-user

From: "Canek Peláez Valdés" <caneko@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Anyone switched to eudev yet? -> what was wron with SysVInit?
Date: Sat, 29 Dec 2012 01:08:35
Message-Id: CADPrc80R8BDWPBRzpwjm_wCG=f-xfVtKOmT-Yd8B4Vg9M8CFgQ@mail.gmail.com
In Reply to: Re: [gentoo-user] Re: Anyone switched to eudev yet? -> what was wron with SysVInit? by Kevin Chadwick
1 On Fri, Dec 28, 2012 at 5:23 PM, Kevin Chadwick <ma1l1ists@××××××××.uk> wrote:
2 > On Fri, 28 Dec 2012 13:14:46 -0600
3 > Canek Peláez Valdés <caneko@×××××.com> wrote:
4 >
5 >> On Fri, Dec 28, 2012 at 12:53 PM, Kevin Chadwick
6 >> <ma1l1ists@××××××××.uk> wrote:
7 >> > On Thu, 27 Dec 2012 17:38:15 -0600
8 >> > Canek Peláez Valdés <caneko@×××××.com> wrote:
9 >> >
10 >> >> In SysV, I can *write* the daemon in the init script.
11 >> >> In *that* sense, the init system tells the daemon how to do things,
12 >> >
13 >> > Please explain, sure there is the environment that tells a daemon
14 >> > what to do. No shell can tell a c daemon like sshd how to drop
15 >> > priviledges or use systrace but it could do these things for it in
16 >> > a more fine grained manner before it tries and fails itself or if
17 >> > the daemon wishes it to like monit. It's still not telling how but
18 >> > duplicating or removing the need. That's just a bonus that applies
19 >> > to all init systems because shell is so powerful on unix.
20 >>
21 >> Stop thinking in sshd. I can write the *whole* daemon in shell, not in
22 >> another script file, but inside /etc/init.d/mystupiddaemon (or
23 >> /etc/rc.whatever); shell is Turing-complete, I can write in it
24 >> anything I can write in C (or in assembler, or machine code). In that
25 >> sense, the init system (which uses shell for launching daemons) can be
26 >> used to determine *how* the daemon behaves (because it uses shell for
27 >> launching daemons).
28 >>
29 >
30 > That's what you meant, how disappointing. Yeah I've knocked up a few
31 > very useful ones myself but call them scripts (Such as grepping logs or
32 > dns servers and feeding real daemons with info).
33 >
34 >> You can't do that with systemd; there is a clear and unavoidable
35 >
36 > You can't is better is it? Yet you can exec a daemon written in shell
37 > with systemd.
38 >
39 >> separation between the starting/stoping/monitoring of daemons, and the
40 >> daemons themselves.
41 >
42 >> Such distinction doesn't really exists in SysV nor
43 >> OpenRC (since they use shell, a Turing-complete language, for
44 >
45 > With regular expressions to get the exact pid but
46 >
47 > /usr/sbin/sshd -f /etc/ssh/sshd_config = start
48 > /usr/bin/pkill sshd = stop or many other incantations
49 >
50 > There are many tools that do this job just fine. If systemd just did
51 > this and was there by default I would consider replacing monit with it.
52 > Like a reliable root filesystem I want a reliable pid 1.
53 >
54 >> launching daemons), and therefore you can mixup everything. I agree,
55 >> it doesn't necessarily means that it *will* happen; but even the
56 >> possibility is frigthning for a system administrator in a production
57 >> server. With systemd, that possibility *doesn't exist* (because it
58 >> doesn't uses a Turing-complete language to start/stop/monitor
59 >> daemons).
60 >
61 > Doesn't frighten me one bit. I know the startup almost inside out of my
62 > servers, doesn't take long on OpenBSD. On Linux it would take longer but
63 > nowhere near reviewing systemd and knowing C has nothing to do with the
64 > immediate control shell can provide under any init system including
65 > systemd but the Turing complete argument is simply propaganda as well
66 > as all the features to distract from the fundamental flaws in the
67 > design of systemd.
68 >
69 >>
70 >> Like the clear separation between content and presentation in webapps,
71 >> or between the model and the view in the MVC design patter, having a
72 >> clear separation between how you start/stop/monitor your daemon, and
73 >> what the daemon does, is a good thing. If you don't agree with that,
74 >> well, we must agree to disagree.
75 >
76 > There is nothing else, you exec or parse a script or daemon just as
77 > systemd does. The only difference is systemd tracking double forked
78 > processes with cgroups and I have already provided a link that refutes
79 > any point to do so. There are corner cases that are easily manageable
80 > and it certainly isn't worth the sacrifice of POSIX compatibility and
81 > so Linux applicability. Linus has said cgroups are a horrible
82 > but necessary evil, which in my opinion means avoid them unless you have
83 > no choice. There is a perfectly good and in my opinion superior
84 > choice, but I love simplicity, it has served me well.
85
86 I don't doub it. As I said, the only thing to do is to agree to disagree.
87
88 Regards.
89 --
90 Canek Peláez Valdés
91 Posgrado en Ciencia e Ingeniería de la Computación
92 Universidad Nacional Autónoma de México