Wednesday, November 19, 2014

 

Thoughts on Systemd


First a short description of systemd:

Systemd is a collection of system management daemons, libraries, and utilities designed for Linux.

One of the main reasons why some folks don't like systemd is it stores logs in a binary format. This goes against the Unix philosophy of storing data in flat text files. The old method was sysvinit which is described here:

http://en.wikipedia.org/wiki/Init#SysV-style

Of course we can go further back, all the way back to Research Unix v5 from 1974:

http://www.maxhost.org/other/text/original-unix-v5-init.c.txt

BSD init was, prior to 4.3BSD, the same as Research UNIX's init and after that things
diverged so there was a BSD and AT&T SysV way of running init. In the ancient days
of Unix v5 there were no runlevels. Unix v5 simply ran /etc/rc in the Thompson shell and
then launched getty.

Some folks say that systemd is the svchost.exe of Linux, saying it is essentially making
Linux more like Microsoft Windows. It is a monolithic entity that hides what's happening
behind the scenes. It stomps on the Unix Philosophy (again) of doing one thing and
doing it well. With systemd we have one large Swiss army knife of a tool that isn't
very good at anything in particular.

For people who want a modern distro that stays much closer to the original Unix Philosophy
we have the BSDs: NetBSD, FreeBSD and OpenBSD. Another solution would be to fork an
existing Linux distro into sysintv and systemd versions but that is hardly ideal.
I'm not sure which Linux distros will avoid systemd in the future as it seems many
of them are jumping on the systemd bandwagon. Slackware appears to be resisting the
systemd tide and "Patrick has stated he intends to stick to the BSD-stylized SysVInit design."

Another solution to this problem is to do what I do, i.e. to use an older Linux distro
that still uses sysvinit and upgrade it as necessary. This method isn't very popular but
there are many retro-computing specialists who use older versions of Linux and Research
Unix. Some distros we use include FC1, 2.11BSD and Unix v5,v6 and v7. Of course I do
expect there to be more forks of distros appearing in the future. There's just too many
different opinions on how things should be done in the Linux community.

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]