Linux without systemd: what to choose?

15 points by nine_k ↗ HN
After 16 years of being a Debian user, I plan to jump ship as the next release introduces systemd.

I run a few desktops and small servers. What are my choices? What is your experience?

I'm looking for something mature and reliable, as opposed to bleeding-edge. I prefer binary distributions for their speed.

8 comments

[ 3.5 ms ] story [ 29.7 ms ] thread
Slackware might be something to look into. While everything you might want isn't going to be a binary, there's some pretty good third party sources that regularly package things up for each release and the recommended full install is quite complete.

I used it as a desktop for a while and it was as rock solid as any good distribution can be.

Gentoo, I moved in the last two weeks. Being sure never to look back. Installation needs more time as every thing is compiled for you...
But Gentoo does not meet nine_k's criteria since it supports systemd as an alternative init system.

http://wiki.gentoo.org/wiki/Systemd

Someone just pointed this out to me today. https://devuan.org/

Apparently they are forking debian and going to go on without systemd.

Good luck and let us know what other options you find!

EDIT: Found a list for you here:

http://without-systemd.org/wiki/index.php/Main_Page

Operating systems without systemd in the default installation

Alpine Linux

Crux

Dragora GNU/Linux Libre

Funtoo

Gentoo

Linux from Scratch

PCLinuxOS

Slackware

TTYLinux

Void Linux

The upcoming GNU Guix is a shaping up to be an interesting alternative to more normal Linux distributions. It uses dmd [1], an init system written and scripted in Scheme (GNU Guile), and Scheme for system configuration in general. It is a fork of NixOS [2], which uses systemd. What's interesting about NixOS and GNU Guix is that they implement declarative configuration management and a purely functional package manager, meaning that you should be able to reproduce your system configuration from a single configuration file like the following:

  ;; This is an operating system configuration template.

  (use-modules (gnu))

  (operating-system
    (host-name "antelope")
    (timezone "Europe/Paris")
    (locale "en_US.UTF-8")

    ;; Assuming /dev/sdX is the target hard disk, and "root" is
    ;; the label of the target root file system.
    (bootloader (grub-configuration (device "/dev/sdX")))
    (file-systems (cons (file-system
                          (device "root")
                          (title 'label)
                          (mount-point "/")
                          (type "ext4"))
                        %base-file-systems))

    ;; This is where user accounts are specified.  The "root"
    ;; account is implicit, and is initially created with the
    ;; empty password.
    (users (list (user-account
                  (name "alice")
                  (comment "Bob's sister")
                  (group "users")

                  ;; Adding the account to the "wheel" group
                  ;; makes it a sudoer.  Adding it to "audio"
                  ;; and "video" allows the user to play sound
                  ;; and access the webcam.
                  (supplementary-groups '("wheel"
                                          "audio" "video"))
                  (home-directory "/home/alice")))))

This approach pretty much removes the need for external configuration management tools like CFEngine, Puppet or Ansible.

I don't really mind systemd myself but I am looking forward to Guix as a more Lisp-flavored Unix. Should it succeed perhaps it could eventually become a kind of a Lisp Machine-light if enough of its userland got rewritten in Scheme.

Guix does not meet your requirement of being mature and reliable yet but you may want to keep an eye out for its stable release.

[1] https://www.gnu.org/software/dmd/

[2] http://nixos.org/

Before you do it, please ask and answer the question 'why'? what is it about systemd that makes you think that you can't use it?