Entangled monolith? [was: Re: GR proposed re: choice of init systems]

Andrei POPESCU andreimpopescu at gmail.com
Wed Oct 22 07:29:45 UTC 2014


On Mi, 22 oct 14, 10:15:00, Joel Rees wrote:
> On Tue, Oct 21, 2014 at 5:56 PM, Andrei POPESCU
> >
> > Sysvrc is anything but transparent to me. It consists of a bunch of
> > shell scripts that are beyond my understanding.
> 
> Why?
 
Because I'm not that good with shell scripting.

> > And don't tell me shell
> > scripting is easy,
> 
> It takes getting used to, sure. I'm not all that used to it, but
> writing a few scripts of my own tells me the strange conditional
> syntax is not a barrier to recognizing conditionals as conditionals.
> (Well, it was for a couple of years, early on. I'll grant that.)

I'm not even familiar enough with it to present you with a few nasty 
examples :)

> BTW, what languages do you program in?

Mmm, shell? But I'm not sure the small scripts I've written count as 
programming.

> perl got mentioned several times in that thread, do you understand the
> reasons I would have been trolling if I had (as I was tempted) posted
> a simple
> 
>     #! /usr/local/perl -T
> 
> as a response to one of the early posts?
 
As shebang for initscripts? Yes, I can think of a few reasons. Would 
have been funny though.

> > and just about anyone agrees that beyond a
> > certain size it's much better to rewrite the thing in a real programming
> > language.
> 
> Well, size is not the first criterion I'd use, but, yeah. I'm not sure
> if your reasons are the same as mine, however. Not ceding your
> assertion that *sh is not a real programming language, just that the
> primary init processes are mostly not things you want being
> interpreted by a large and not-well-defined shell language.

I don't understand what you mean here.

> On the other hand, as I'm trying to point out here, I wouldn't want
> Python, perl, Ruby, Haskell, etc. being the execution environment for
> my pid 1, if I were going to have an interpreter executing init as a
> script. Even bash would be preferable.

I don't follow. How can an interpreter be the execution environment for 
pid 1? That would mean the interpreter is pid 0 :p
Even if one boots with init=/bin/bash, that means bash is pid 1 (the 
classic root password recovery technique).

> > Systemd unit configuration files are much more understandable for me.
> 
> You think they are. The primate looking at the monolith thought it was
> understandable, no?
> 
> (Big. Black. Doesn't move. Ignore it. Oh. Nice bone.)

Mmm, I'm not sure how to respond to this... I'll just ignore it.

> > I've found everything I needed in the manpages
> 
> So far.

FUD?

> > and if the behaviour is
> > not as documented I know how to file bugs. In comparison initscripts are
> > not documented at all except for code comments ("look at the source"?
> > when was this ever considered good documentation).
> 
> There are still people around who think that "Code should be self
> documenting." has little to do with being able to strip the comments
> from before a function header and put them in a man page. (I am one of
> those.)
 
I prefer real documentation ;)

> > Systemd *is* FLOSS
> 
> In whose opinion?
> 
> Can you restrict the interpretation of free/libre/open-source software
> to a single meaning and it still be either free or libre, or even
> open?

I have no ideea what you mean here.

> > and I'm quite sure that being such a central piece in
> > so many distributions has already attracted many eyeballs.
> 
> Have you looked at the code?
> 
> Do you understand it?

Nope, I don't know much about C.

> > Many more
> > than your average initscript.
> 
> Your average initscript does significantly less than systemd.
> 
> Hmm. Are you implying that you are under the impression that
> /sbin/init is a script?

No.

> > Is systemd (the project) tightly integrated?
> 
> And when you started jesting about how could something monolithic be
> entangled with itself, I thought you were arguing that it couldn't be
> tightly integrated with itself.
> 
> > Yes, nobody is disputing
> > this. Is it *too* tightly integrated? Many have argued "yes" and that a
> > loosely integrated design would have been better. I'm not even
> > disagreeing with this view. However, so far there's no real contender
> > for systemd:
> 
> Well, I'm just saying that, as a principle of engineering, if I were
> presented with the option between systemd and not using computers, I'd
> say, what option?
 
We'll see.

> Did upstart need sysvinit code to be present, or was that as a
> safety-net? (Not that it seems relevant to me. It doesn't.)

No, it just installs itself as /sbin/init, which means it has to 
conflict with sysvinit. Systemd installs itself as /lib/systemd/systemd 
and one can either boot with init=/lib/systemd/systemd or replace 
/sbin/init with a symlink.

> Two or so years ago, Andrei, you helped me get started with debian.
> Thanks. Even though I'm arguing these points with you, I do appreciate
> your help.

This argument *on the right mailing list* is very interesting for me.

Kind regards,
Andrei
-- 
http://wiki.debian.org/FAQsFromDebianUser
Offtopic discussions among Debian users and developers:
http://lists.alioth.debian.org/mailman/listinfo/d-community-offtopic
http://nuvreauspam.ro/gpg-transition.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/d-community-offtopic/attachments/20141022/0f8a6995/attachment.sig>


More information about the D-community-offtopic mailing list