C Anthony Risinger (2011-01-20 11:45):
i shot of a couple emails to drum up some comments regarding this proposal. to recap, here are some observations/pros/cons, feel free to add/remove/review/dispute because try as i might, i'm biased; let me be the first to say it :-)
sysvinit [ PROS ] ) familiarity ) zero dependencies ) already works ) bash (is this even a pro?) ) ... i'm having a hard time here ....
sysvinit [ CONS ] ) provides no information about boot ) relies on mountains of external bash scripts ) zero reliability or control over process once they start ) no real functionality at all tbh (is this biased? ... no :-)
systemd [PROS] ) lightweight dependencies (DBUS) ) internal/fast handling of menial startup/teardown duties ) handling of complexities like RAID and LVM consistently? (verify?) ) will soon (or already) unify automatic process launch in general (cron/etc) ) verifiable boot (systemadm) ) introspective via DBUS ) accurate and precise kill/reload/restart (first time ever on linux!) ) resource limiting and monitoring of whole process groups! (via the cgroups, another first!) ) service rules for how to handle OOM and other nasties ) socket/bus/FS activation (implicit dependencies) ) boot tracing/stepping (interactive boot, once service at a time) ) significant peerstream (fedora/etc) support and force behind the project ) very complete Arch integrations! yay!
sysvinit [ CONS ] ) non-zero dependencies ) newer, less production experience ) some missing unit/service files (which?) ) rc.conf either needs to go, or we find a way to update systemd when it changes...
systemd requires newest releases of Linux kernel, dbus, udev and util-linux-ng. An optional GUI (the systemadm you mentioned) even requires GTK-3. Hopefully this will not be a problem by the time it gets stable. Otherwise you will have to forget about servers. One more CON: systemd uses ~25 small binaries instead of a couple of shell scripts like /etc/rc.sysinit. The source of these binaries is lacking comments. Consequently, you have to be very good with C to improve anything. Read: the boot process becomes opaque. Enterprise scale administration becomes easier at the cost of system simplicity. There can be no KISS in an environment running systemd, dbus, policykit etc. -- -- Rogutės Sparnuotos