augustin wrote:
Hello,
Thank you Mattias, Emanuele and Bruce for your answers and discussion on this
topic.
Meanwhile, I have also read a lot more on the internet on the heated debates
regarding sysvinit vs. upstart vs. systemd (see list of links at the bottom).
Some of my original concerns have not yet been addressed, as far as LFS and
BLFS are concerned. And now that I understand the underlying debate a bit
better, here is an update:
The LFS project is educative in nature. The LFS "vi. Prerequisites" section
does not stipulate that the LFS reader be aware of the whole architecture,
including the init framework. Au contraire, it is the stated purpose of the
project to educate the reader of such technical choices. Thus, the books and
the web site shouldn't assume that the visitor knows what systemd is. I
didn't.
First, don't top post!
Second, LFS can't possibly cover every possible void in knowledge of
every user. When in doubt, take the first choice.
This was my very first concern: we are given the choice between "BLFS" and
"BLFS systemd" without being explained what this choice entails.
http://www.linuxfromscratch.org/blfs/read.html
This concern has not been addressed in the discussion so far.
The second major concern is the books' layout. Why two BLFS books?
As Emanuele pointed out, systemd belongs more to LFS than to BLFS.
Because systemd is incompatible with LFS. Hence
http://www.linuxfromscratch.org/lfs/view/stable-systemd/
I finally figured out that Sysvinit is installed in LFS:
6.57. Sysvinit-2.88dsf
http://www.linuxfromscratch.org/lfs/view/stable/chapter06/sysvinit.html
while its replacement systemd is installed in its own version of BLFS.
This is inconsistent. The choice of init framework should logically be
discussed in a single place, probably a dedicated chapter in LFS, which
incidentally should reduce the overhead of maintaining two whole only
partially different BLFS books (a current choice that I still don't
understand).
We tried that about 6 months ago and gave up. systemd is a cancer that
infiltrates everything.
Besides, from all the reading I have just made, it is now obvious to me that
sysvinit is on its way out, being replaced (and often having been replaced a
long time ago) by either upstart and systemd, either of which are way better
for modern computing than sysvinit. The debate was not whether or not to keep
sysvinit but by what to replace it with. And it seems that systemd has won all
the most recent battles, if not the war. Debian is adopting systemd, and
Ubuntu follows suit by abandoning its own child, upstart, in favour of
systemd, to comply with upstream.
Systemd is not a part of the Linux Standards Base. System V is.
Note that systemd is much more complex than System V. sysvinit is about
10K lines of code. The user has complete control. The LFS
instantiation has about 2K lines of bash scripts to support it.
systemd is, the last time I looked, about 150K lines of code, requires
packages like dbus that are not needed on most servers, and does not
allow the user to remove unneeded facilities. Many people call that
bloat.
LFS 7.6 having just been released, I think it would be worthwhile to consider
addressing all of the above in the 7.7 version.
We should:
What do you mean "we"?
- discontinue "BLFS systemd" but keep a single, unified BLFS book (easier
maintenance of the book).
- dedicate a whole section within LFS to introduce and discuss the choice of
init frameworks.
You are welcome to write a hint.
-- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page