Systemd takes a reliable, known, thoroughly debugged process (init, or various of its tweaks, including Ubuntu's <i>upstart</i> and Debian's <i>insserv</i>), and converts booting from a deterministic, predictable process to one that's inherently <i>unpredictable</i>.<p>And the stated objective? "To reduce boot times".<p>The best way to reduce boot times is to <i>not boot</i>. The <i>reason</i> I reboot systems is <i>to return them to a known good state</i> (or, very rarely, to perform a kernel upgrade).<p>On server hardware, I perform boots infrequently, and really, really, really want them to work right.<p>On end-user hardware, I perform boots infrequently, preferring to use suspend/restore to quiesce my systems (suspend to RAM, occasionally suspend to disk). <i>That</i> is a process which I'd like to have very thoroughly debugged and not give me any unhappy surprises (say: crash my video, e.g.: interactive session, lose track of drivers/hardware, especially wireless).<p>Systemd is the wrong answer to the wrong problem.<p>Much written better than I can:
<a href="http://blog.mywarwithentropy.com/2010/10/upstart-better-init-or-more-painful-one.html" rel="nofollow">http://blog.mywarwithentropy.com/2010/10/upstart-better-init...</a><p>Systemd loses the huge transitivity of shell scripting, and puts you in the position of needing to acquire a novel skill at the one time you least need to be <i>learning</i> and most need to be <i>applying</i>: when your systems won't boot straight:
<a href="https://lwn.net/Articles/494711/" rel="nofollow">https://lwn.net/Articles/494711/</a><p>I'm also not much surprised that Red Hat, who've had such a historic problem with consistency and reliable dependency management within their packaging system (as compared to Debian/Ubuntu) are proponents of this technology (hint: it's not the package format, it's the policy, or lack thereof). And now Arch.