Thursday, 18 June 2015

Looking for Alternatives to Systemd

The introduction and acceptance, often without much debate or end user involvement, of the systemd daemon into most Linux distributions over the last 1 1/2 years or so is a reality, and I'm not planning to take sides here or rehash any flame wars. As far as I'm concerned, the battle has been fought and the choices are clear. Why is that important to you and me? If you have even only one computer and are responsible for maintaining it then you're a System Administrator.

If you do more than just boot up your machine and do typical consumer stuff like watching or even editing videos, surfing or writing emails and letters then you will at some point have a need to start and stop services, write a script to reset permissions at startup for a piece of software that won't play ball etc.

Apart from philosophical and security concerns, I have over time amassed quite a collection of startup and shutdown scripts on my Slackware boxen. I prefer to be able to have full control over what my machines do and hand crafted and edited scripts have never let me down so far. If it's written correctly, it works and does exactly as it says on the tin. That's the beauty of an old-fashioned operating system like Slackware. You may be running a VPN server, offer VNC or ssh login and whatnot. The most reliable way to control them is via your own scripts - and you will know where you put them, thereby learning more about the system you're using. I'm afraid systemd is more of an abstraction layer that will separate users from understanding what us actually being called, what is actually going on under the hood. It may be fine for professional admins who, once they have learned the new commands, will know what they're doing as they know their Linux, but for a lot of private users this will just be a step towards another 'walled garden' operating system that they don't understand. Of course, many don't want to and only want to use an appliance that does the job, and that is fine. It is dumbing down nevertheless and potentially dangerous, in a time when everyone needs to understand the implications of the technology they're using, not the least to safeguard themselves and their families.

Anyway, if you're reading this you most likely care about what init system you're using and what it does. You will also know the reservations that have been expressed against introducing the systemd kraken into distributions too rapidly. This exercise is merely to try and take stock of what's left to run for those of us who do not wish to have an init system foisted upon us, for whatever reason. You may know most or all of these distributions already, certainly if you're an avid DWW reader, but a listing may be helpful to some nonetheless. So here we go, in alphabetical order and without attaching any value judgement:

AntiX

This distribution is based on Debian Testing but with a difference. The developer announced antiX would not be following Debian with the implementation of systemd and that sysvinit will continue to be the default init system in antiX. The current testing images of antiX 15 can be found here on Sourceforge and are rock solid. I have tested both previous beta releases as well as the 14 RV (full) images and in fact they appeared to be even smoother than the previous release. Don't ask me, it's a while ago, but lots of small things made the difference in my opinion, such as the inclusion of Wicd for network connections. I have reviewed antiX twice on this blog and may have been a little hard on it. Antix is definitely recommended.

The full version comes equipped with very nicely done JWM and Fluxbox window managers, but all other desktop environments available in the corresponding Debian repositories can be installed. The usual caveats about dependencies apply. Depending on what you install you may end up with systemd anyway, but nobody would install GNOME 3 on antiX, right?


CRUX

CRUX is definitely for the more advanced among us. It gives users a minimal system with compilers and all the necessary system libraries and tools by default install, with Openbox for window manager. As part of the install you compile the kernel. As this is a source based system it will get replaced by more optimised code as updates come out - if you choose to set the correct compiler flags. I think of it as somewhere between Gentoo and Slackware. The ports system has something going for it but precompiled packages are also available from the community. CRUX is x64 only but several alternative architectures as well as CRUX ports for OpenBSD are offered and maintained, again, by the community.

The website offers a comprehensive install guide and a wiki section. You can read my more in-depth review here.


Devuan

This is an interesting one. It's not so much a distribution per se yet than the goal to be able to offer a base that allows users to run Debian 8 "Jessie" without systemd. "We are working towards a stable, production ready fork of Debian Jessie, free from the entangling web of dependencies imposed by systemd.
One can just migrate to Devuan by installing devuan-baseconf.deb which will re-configure the system with our source repository".

If you like Debian but would like another alternative to run it without the intrusion of a new application that is spreading its tentacles throughout the system you could make a difference by supporting this project with a small donation, as yours truly has.


Funtoo

Funtoo is a variant of Gentoo Linux that offers utmost customizability and optimization at compile time. It uses a ports tree system inspired by the BSD's and more importantly for us, it does not force systemd on its users in any default install. The developers have managed to make GNOME work without relying on the daemon so users will have the option of running the Shell as well. You can have your cake and eat it if  GNOME 3 is your preferred environment.


LinuxConsole

The LinuxConsole is another independent Linux system, just like CRUX, that is not based on anything else. It comes with LXDE as default environment and offers an extensive choice of software installable as modules. No need to compile anything so the entry barrier should be lower than with CRUX. It's a fairly basic system that does not need systemd but which seems strangely modern and good-looking in its simplicity. The LinuxConsole offers media to be run as liveCD, liveDVD or liveusb or can be installed. It's first and foremost intended as a desktop and gaming platform or for educational use for kids but is so light weight it can run on a Pentium 2 which should make it interesting for all sorts of user groups.

Interestingly it also includes kdelibs by default so you can run those favorite KDE applications of yours like ktorrent.


Linux Mint Debian Edition (LMDE)

LMDE 2 offers a Debian install without systemd as the developers at Linux Mint decided to stick with the old init system for the Debian edition - for now. This was great news at the time as it basically offers an easy point of entry into a fresh install of "Jessie" without having to end up with systemd by default which would have entailed some major surgery right after the install to replace it.

Images are available with the Cinnamon and MATE desktops for both 32 and 64-bit architectures which may suit particularly beginners better than starting out with a more barren window manager. LMDE 2 will be tracking the current Debian stable for life as opposed to its predecessor which was a rolling distribution based on the Testing branch.


Manjaro

Manjaro is based on Arch Linux which was among the first to adopt systemd. They're usually drawing heavily on the Arch repositories and are sticking quite close to it but apparently a community maintained Openbox edition provides openrc as an alternative startup management/ init system.


PCLinuxOS

PCLOS has been around for quite a while by now and could almost start to qualify as one of the oldtimer distributions, not counting Slackware and Debian of course! Anyway, the distro is remarkably easy to use and has been popular with beginners and users of all skill levels over the years but really seems more aimed at the consumer. That is fine, we like PCLOS very much here and had a good few years with it. Actually, there aren't many distributions I have run longer.

They have also decided to stick to the old fashioned way and not jump on the systemd bandwaggon. This distribution is a solid alternative and offers images with KDE, LXDE and MATE desktops (and sometimes other community spins). You can read a rather old review of mine of the Openbox edition here.

Pisi Linux

This one is a new distribution from Turkey that is developed independently, i.e. an original effort not based on anything else. It's a continuation of the Pardus Linux distribution which was well received in its time. Unfortunately I don't know enough about this little gem except that Pisi is using KDE as default user interface, has its own package manager (called Pisi) and is squarely aimed at the desktop. So far it is still systemd-free.


Slackware

There's a reason why Slackware is seen as conservative and that means it's not jumping head first into uncharted territories, or unproven technology, because someone else said so. Pam for example has still not made it into the distribution, same as Pulseaudio, although there are builds to fool the system into thinking it's installed to satisfy dependencies and software like Skype. Perhaps due to all the changes around the move to Qt5 and KDE Plasma 5, the linux kernel and systemd there hasn't been a release in 19 months but tracking the current branch works fine together with a few choice packages from alienBOB and Slackbuilds. Read a review of 13.37 here.

No systemd here, and this of course also goes for all derivatives like Slackel. Vectorlinux and Zenwalk releases based on Slackware 14.1 are quite old now but Zenwalk has testing images from this year for the (for them) new x64 architecture based on Current and Xfce 4.12 has recently arrived in the repos.

SMS deserves a mention for a Slackware based server that is set up for many tasks out of the box and comes with an eFax service. Easy to control via scripts that can be edited through the webmin GUI.


Void

Void Linux is a relatively new arrival that uses runit as the default init system. It is an independent, rolling release distribution and they've managed to package GNOME 3.16 without requiring systemd, obviously. May have something to do with Funtoo. Same tricks? It just goes to show that it can be done and all the dependencies between GNOME, network manager and systemd in other distributions were really made out of choice, not necessity.


So far it seems it is mostly the more advanced distributions that are offering init-freedom. However, Manjaro, PCLOS, LMDE and even antiX should offer a good start and be manageable for even relative newbies to Linux, or simply people who do not want to learn the ins and outs of compiling software and installing their own kernels.

There are a few other options:

Debian: I did not include this in the list as the default install will always land you with systemd and they could have made alternative install images with the old sysvinit available but didn't. Nevertheless, it is possible to  replace it with a different init system and run Debian without it. Read How to remove systemd from a Debian jessie/sid installation.
The fact that this hasn't been made part of the official documentation speaks volumes. On top of that, you may not be able to install certain software like network-manager and policykit without ending up with broken dependencies as the Debian devs, unnecessarily, opted for implementing an intricate web of dependencies rather than making them recommended or optional. So, although it is possible to upgrade from "Wheezy" with sysvinit, you would have to change to Wicd (for example) to manage network connections graphically, but due to the different capabilities like VPN support that is not an option for many. The only way would be recompiling the affected packages without the requirement for systemd, which is where Devuan comes in.

BSD: PC-BSD seems to be the most desktop and beginner friendly system and also comes with its own new desktop environment called Lumina on top of offering all the other window managers and desktops people are used to from Linux in an easily accessible fashion.
All BSD types are an option as systemd has not cross-pollinated here. Here's a search result. And who knows, you might get to like some of the unique technological offerings like file system snapshotting better and find it more advanced than your previous Linux distribution.

Feel free to let me know of any others and I'll add them to the list.

The Kraken image is courtesy of openclipart.org.

Updated 20/07/2015 to add Pisi Linux to the list. A more complete list can be found here: http://without-systemd.org/wiki/index.php/Main_Page

5 comments:

  1. https://wiki.debian.org/systemd - Installing without systemd
    You can install debian without systemd or choice to remove it later.

    ReplyDelete
    Replies
    1. I completely remove systemd from debian 8 installation, and install sysvinit instead, without any problem.
      I use apt pinning to prevent systemd and related softwares to install again, and system works like my old debian 7 without any problem.
      Personally I find all this fear of systemd unfounded, and the reasons I read everywhere are, It not adheres to "unix philosophy", and it a bit unstable (or presumably it)
      But if you see, a lot of software were unstable on linux, or not adhering to "unix philosophy", It's only a matter of time they will be usable or more stable, and they have to be used to reach this state imo...
      Sorry for my bad english, I hope to gave my concept about clear :]

      Delete
  2. Thanks for your article. :-)

    I have to say that knowing *exactly* how your system is starting up, which scripts are going to run, and the ability to chmod certain scripts to disable them is elegance all in itself. If it were not for the inconvenience of installing packages and some other Linux-related issues, I'd still be using Slackware. Slackbuilds is a great resource, but I'm lazy and like my dependencies figured out for me (to a point). I now use FreeBSD, and lately it's worked so well, it's almost boring. ;-)

    I'm also looking forward to installing Void Linux on bare metal to check out the fixes to issues I (and others) reported. The Void Linux folks are pretty responsive and patient.

    I was using Arch Linux when they made systemd default, and I have to say I didn't like it. I liked the previous way of editing /etc/rc.conf, but I guess the Arch folks thought that was too easy for the users and decided to let 'em have it. hahaha

    Again, thanks for the article and the listing of systemd-free distros. :-)

    ReplyDelete
  3. Thanks for your article
    one more link

    www.obarun.org

    Archlinux under runit without systemd. Complete graphical environment is available, repository for pacman containing packages rebuilded without systemd, rolling release without particular problems, runit service maintaining by pacman etc etc.....

    ReplyDelete
  4. Dragora
    http://dragora.org

    It not use systemd and It no plans to use in the future.

    ReplyDelete

Please leave your comment here. Spam will be deleted.

Note: only a member of this blog may post a comment.

12.04 LTS (1) 1280x1024 (2) 14.1 (1) absolute (6) accessibility (6) ad-blocking (2) administration (2) afterstep (1) android (3) announcements (15) anonymity (5) anonymous (1) anonymous browsing (1) anti-malware (1) anti-virus (1) antiX (4) applications (1) arch (11) archbang (11) archone (1) artix (2) authentication (1) backports (1) base (1) bash (2) bittorrent (2) block-this (1) bluestar (1) bodhi (1) books (1) brave (1) brave-browser (1) browsers (8) browsing (1) bsd (4) bug (2) bugs (3) calculate (1) centos (1) certification (1) chakra (2) changelog (22) chat (1) chatzilla (1) chromebook (1) chromium (2) click (1) commodore 64 (1) ControlD (1) critique (1) crunchbang (5) crux (1) ctkarch (1) cyber war (1) debian (29) desktop (62) devuan (6) digital certificates (1) digital memories (1) distributions (75) DNS (1) documentaries (1) documentation (2) dr. web (1) drivers (1) duo (1) e17 (1) email (1) encryption (3) enlightenment (1) events (1) exit nodes (1) ext4 (1) fake (1) fallout (1) fallout 4 (1) fedora (6) file server (2) file systems (1) firefox (3) flash (1) flush (1) fluxbox (7) fluxflux (1) FPS (2) free software (3) frugalware (1) FSF (1) ftp (2) furybsd (1) fusion (1) fvwm (1) fvwm-crystal (1) games (11) gaming (10) gentoo (3) gnome (9) gnome shell (4) gnu/linux (4) google (2) google-chrome (3) graphics (1) grml (1) gtk+ (1) hangouts (1) hardcore punk (1) hardware (3) how-to (23) humor (2) i3 (1) icewm (6) init (3) init freedom (5) interview (1) introduction (1) jibbed (1) jwm (2) kanotix (4) kde (21) KDE neon (1) kde3 (2) kernel (6) knoppix (1) kodi (2) kongoni (2) kubuntu (3) LAS (1) libtorrent-rasterbar (1) linux (20) linux light (16) Linux Mint (6) live (50) live medium (28) live system (13) liveslak (3) LMDE 4 (3) localisation (1) LTS (1) lxde (12) lxqt (1) mageia (1) mandriva (2) manjaro (1) marine life (1) mate (1) media center (6) mepis (2) mint (5) mobile (2) mobile security (1) movies (6) mozilla (3) music (1) MX Linux (1) netbook (2) netrunner (1) networking (5) news (3) nvidia (1) open source (1) openbox (15) openSUSE (4) opinion (13) other (5) overclockix (1) packages (1) pclinuxos (4) perl (1) plasma (5) poll (2) porteus (3) privacy (5) privoxy (1) programming (1) proxy (2) puppy (3) qbittorrent (1) qt (1) quick look (10) ratpoison (1) red hat (7) redcore linux (1) relax (1) release (2) rescue (3) reviews (57) rhythmbox (1) rolling (1) RPG (2) rpm (1) sabayon (5) salix (15) scientific (7) screenshots (2) scripts (3) seamonkey (1) security (4) semplice (1) server (5) shell (1) shooter (4) siduction (1) slackel (1) slackware (68) slackware 14.2 (2) slackware 15.0 (8) slackware-current (34) slax (7) slitaz (1) smart phones (2) sms (1) south africa (2) specialist (1) spoof (1) ssh (1) surfing (1) systemd (2) table mountain (1) TDE (1) tegra k1 (1) The Walking Dead (1) themes (1) tinyme (2) tips (1) tor (3) torrenting (1) torrents (1) traffic analysis (2) trinity (2) trisquel (1) TV shows (2) TWD (1) ubuntu (6) unity (2) unity linux (4) unix (1) upgrade (6) vector (2) video (4) vinux (2) virtualbsd (1) visual impairment (5) voip (1) vpn (5) VSIDO (1) wallpapers (3) window maker (4) window managers (1) windscribe (1) wireless (10) xfce (16) youtube (1) zenwalk (3) zombies (1) zoo (1)