1 |
On Thu, Dec 27, 2012 at 10:29 AM, Kevin Chadwick <ma1l1ists@××××××××.uk> wrote: |
2 |
>> * Finally, and what I think is the most fundamental difference between |
3 |
>> systemd and almost any other init system: The service unit files in |
4 |
>> systemd are *declarative*; you tell the daemon *what* to do, not *how* |
5 |
>> to do it. If the service files are shell scripts (like in |
6 |
>> OpenRC/SysV), everything can spiral out of control really easily. And |
7 |
>> it usually does (again, look at sshd; and that one is actully nicely |
8 |
>> written, there are all kind of monsters out there abusing the power |
9 |
>> that shell gives you). |
10 |
>> |
11 |
> |
12 |
>> Then Kevin started to suggest that I know nothing about init systems, |
13 |
>> and I responded in kind. |
14 |
> |
15 |
> I did not and apologise if you took offense. |
16 |
|
17 |
Apology accepted, and I also apologise if my response was out of |
18 |
line/with bad tone. |
19 |
|
20 |
> I said perhaps badly that |
21 |
> based on this posting, you don't have a great deal of experience in |
22 |
> init systems. |
23 |
|
24 |
Well, I haven't wrote any, but I used the ones in OpenBSD, Solaris, |
25 |
Linux SysV, OpenRC systemd, and Windows NT. Used as in administering |
26 |
several machines with them. So, I have some experience. |
27 |
|
28 |
> To me, your comment demonstrated that you don't on the |
29 |
> vast plethora of init systems which all actually accomplish the same |
30 |
> thing daemon wise just with varying reliability and functionality |
31 |
> surrounding the process of doing so. No init system can tell a daemon |
32 |
> how to do anything. |
33 |
|
34 |
You are wrong. In SysV, I can *write* the daemon in the init script. |
35 |
In *that* sense, the init system tells the daemon how to do things, |
36 |
and to a lesser degree, it happens when you use a shell to launch |
37 |
daemons. |
38 |
|
39 |
> So your comment. |
40 |
> |
41 |
> What to do, how to do actually has nothing to do with systemd. |
42 |
> |
43 |
> What does is having to learn a new more restrictive non |
44 |
> intuitive and non externally useful or non universal *declarative* |
45 |
> language. Like polkit/pkexecs javascript vs sudo. I will take sudoers |
46 |
> every time and for good reason. |
47 |
|
48 |
I'm not 100% happy with Polkit use of JS, but having finally |
49 |
understood how it works, I think is kind of nice. I believe role |
50 |
verification and authentication is one of the tasks where a |
51 |
Turing-complete language actually be justified. |
52 |
|
53 |
> "Shell scripts usually spiral out of control" is just utter FUD. I |
54 |
> do realise you didn't originate this FUD, but it shouldn't be |
55 |
> spread. Yes some corner case wants in init that some thought |
56 |
> impossible in shell can get complex by scripting them but a small c |
57 |
> tool following the unix philosophy simply becomes a shell command |
58 |
> potentially useful in even unforeseeable cases. |
59 |
|
60 |
Funny that you said that; if you are really interested, take a look at |
61 |
/usr/lib/systemd in a systemd machine. Almost all of those are really |
62 |
simple C programs that do one thing, and one thing only. Most of them |
63 |
don't reach the 100 lines of C code. |
64 |
|
65 |
To me, a Turing-complete language for starting and stoping services is |
66 |
overkill. And also there is the Halting Problem; you simply cannot |
67 |
workaround that. |
68 |
|
69 |
> We are dealing with simple options meant for admins here. As I said |
70 |
> OpenBSDs scripts are usually rediculously simple and should often |
71 |
> really be called commands. As others have said the argument of function |
72 |
> being in the scripts rather than the daemon is an irrelevance to using |
73 |
> systemd. Systemd may try to become the whole OS but I'm fairly sure it |
74 |
> hasn't plagiarised the c code to check and deal with ssh keys yet. That |
75 |
> is rightly the job of the aptly named ssh-keygen and IMO some very |
76 |
> simple shell code. |
77 |
|
78 |
Yeah, running from the install |
79 |
script/Makefile/post-inst-hook/whatever. Not the init system. IMO. |
80 |
|
81 |
> The arch sshd script is only 44 lines and includes more than that to |
82 |
> make the output colourful. The gentoo sshd script is actually simple |
83 |
> too and doesn't do anything most of the time and is easily modifiable |
84 |
> in absolutely predictable ways. |
85 |
|
86 |
I'm not arguing that; I'm arguing that it can be done even more |
87 |
simple, and even more easily modifiable. |
88 |
|
89 |
But like a said to Pandou; let's just agree to disagree. |
90 |
|
91 |
Regards. |
92 |
-- |
93 |
Canek Peláez Valdés |
94 |
Posgrado en Ciencia e Ingeniería de la Computación |
95 |
Universidad Nacional Autónoma de México |