[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#727708: On diversity



Uoti Urpala wrote:
> Even the upstart proponents do not seem to have significant arguments
> about upstart having better functionality, and there don't seem to be
> all that many people who would have a reasonably informed opinion that
> upstart would be technically better even for just their particular use.

I followed the discussion from the beginning and I'd like to comment on that.
My own comparison of systemd vs. upstart (Fedora 20 vs. Ubuntu 13.10) is still
fresh in my memory.

Though I do not have strong personal preference for one or another, the Ubuntu
(as an OS based on upstart) left much much better impression than the Fedora (as
an OS based on systemd). Looking at the both of them over period of two days
showed several cardinal differences. I'll narrow it down to three, first one
addressing "what's better in upstart?".

1. "upstart" is a highly configurable init system, while "systemd" hardcodes
most of the nuts and bolts in the 32 shipped executables. I spent one days
going through the upstart's setup on Ubuntu: lots of stuff, lots of non-trivial
inter-connections. I needed only two hours to review systemd setup. Because
every interesting and important bit was just a call of the special systemd
binary. Most (but not all) of the special binaries have man pages, but only few
of the helper binaries actually provide any customization capability.
Again: systemd on Fedora 10 is compromised of more than *30* binaries
(not counting: systemd binary itself, the generators and the admin utilities).


So here you go. The advantage of the upstart, is that if you need to tweak the
boot of your system, you can do it right there, with the text editor, by
changing the .conf files or the shell scripts. While with the systemd, you have
to patch the sources, recompile and reinstall. Because literally everything
is hardcoded in some special systemd binary.
(Coming from the embedded systems, to me personally that is a biggie.)

2. "upstart" was not designed or intended to be a SMF (service management
facility), while "systemd" was.

I think it is insincere of upstart proponents to even advertise it as such. On
Ubuntu, upstart effectively ends its work by calling the
`/etc/init.d/rc $RUNLEVEL`. (What IMO means it might make sense to look into
integration of upstart with OpenRC. Orthogonality of the two should mean few
conflicts.)

On the other side of the fence. As I see it, it is only a coincidence that
"systemd" is also an init system. To me it was clearly designed from ground up
as SMF: boot and initialization were only afterthought. That's why the magic
binaries, because the initialization, an event driven process, simply doesn't
fit into the systemd "everything is a service" model.


3. Boot times. Though systemd was supposed to improve the boot time, Fedora 20
VM on my rig needs 1m5s-1m15s to start - while Ubuntu 13.10 VM always timed
flat 0m35s. That was pretty dumbfounding realization, especially after finding
that Fedora has only few sysvinit scripts - and Ubuntu has almost all services
started by the sysvinit shell scripts.


Summary. Since the discussion about the init system choice IMO went on for too
long, I can only recommend to repeat my experiment: create two VMs - VirtualBox
is available right from the Debian repos ;-) - and install Fedora 20 and Ubuntu
13.10. See the differences for yourself. Experience the differences for
yourself.

Regards,
and good luck reaching the decision.


P.S. bugs.debian.org doesn't seem to let my e-mails through.
Two attempts to subscribe to the bug went nowhere.
Let's see if this message is luckier.


Reply to: