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 |