Devuan – Debian without systemd

New Planet

© Lead Image © Passakorn-Vejchayacha, 123RF.com

© Lead Image © Passakorn-Vejchayacha, 123RF.com

Author(s): , Author(s):

In 2014, the Debian project decided to replace the old init system with systemd, but a small group of developers resisted, forking Debian to start the systemd-free Devuan. We decided to take a look at Devuan 1.0.0, the first stable release.

Init has a crucial role on any Unix or Linux computer: The init service, which is often referred to as a "daemon-starting daemon," handles the process of launching, managing, and terminating other services running on the system. Linux has depended on the venerable SysVinit for most of its history, but a few years ago, many Linux developers began to grow restless with System V. The basic argument was that SysVinit, which had served the community well for many years, was inefficient and out of step with contemporary hardware and programming practice.

A pair of competing alternatives eventually emerged: Upstart, which was backed by Canonical, and systemd, which began as a Red Hat project. The two new inits competed for market share and public awareness for a few years, but gradually, Linux distros began to express a preference for systemd. In 2014, Canonical founder Mark Shuttleworth announced that even Ubuntu would migrate to systemd instead of Upstart, which left systemd as the last alternative to System V.

In recent years, most major Linux distros have adopted systemd as their init system, including Red Hat, Fedora, SUSE, Arch, and Ubuntu. The discussion of whether to replace System V with systemd was particularly intense and polarizing at Debian. The Debian project, which is the largest community-driven Linux distribution, is particularly influential because it serves as a basis for several other Linux distros.

Many developers approved of the new features introduced with systemd, including parallel processing and a versatile system of interfaces. Proponents argued that systemd would bring better performance and reduce compatibility issues among different Linux distros. Another group of developers argued that, regardless of whether systemd was actually better than the old SysVinit, the task of keeping the old System V compatible alone, without the help of the rest of the Linux community, would require too much overhead.

In spite of these advertised benefits, a large number of developers at Debian (and elsewhere in the Linux community) were not happy with the change to systemd. In fact, many were quite angry.

The main argument against systemd was that it was way too big and complex, and it was therefore a violation of the time-honored Unix principle of simplicity. These coders saw no benefit in replacing a simple and well tested system component with a massive and many-layered alternative. In addition to the aesthetic issues with abandoning the principle of simplicity, these developers argued that a bigger and more complex init system posed some very practical problems, including a higher probability of bugs and a bigger attack surface for cyber intruders. (See without-systemd.org for a summary of the arguments against adopting systemd init [1].)

In November 2014, a group of developers who objected to Debian's systemd migration forked Debian and started a new project, which they dubbed Devuan [2]. Devuan Linux was envisioned as a Linux that would keep the System V system alive for developers and users who rejected the code bloat and mission creep of systemd. (The Debian wiki contains instructions [3] on successfully installing Jessie without systemd using preseeding, but this procedure only works on servers without graphical working environments.)

Since 2014, a group called the Veteran Unix Admins has maintained Devuan. May 2017 marked the first stable release of the systemd-free Devuan fork. Devuan 1.0.0 carries the LTS seal of approval – the developers say its long-term support will be at least as long as the support for Debian Jessie.

With the arrival of the first stable release, we decided it was time to boot up Devuan 1.0 and have a look around.

Introducing Devuan

The first major release of Devuan uses the nickname "Jessie," signifying its compatibility with the Debian 8.0 series. Later releases, however, will be named for minor planets, as classified by the International Astronomical Union [4]. The current testing branch is called ASCII (which, in addition to its meaning within the computer industry, is also the name of a minor planet). For the next release, the developers will choose a minor planet starting with the letter B, and subsequent releases will progress through the alphabet. The Unstable branch is always named Ceres. To remain compatible with Debian, the developers have set up an alias for Unstable, named Sid.

Various Devuan images are available in the download area [5], including hybrid DVD images for Live operations, ARM images for embedded devices, as well as images for Vagrant, Qemu, and VirtualBox. If you wish to install Devuan, you will find CD and DVD images (32- and 64-bit). In our lab, we used the 64-bit DVD image for a fresh Devuan installation. We also transformed an existing Debian Jessie into a Devuan Jessie via an online update. Finally, we looked at what happens when you upgrade Debian Wheezy to Devuan Jessie.

First Look

At first glance, a fresh Devuan installation hardly differs from Debian. After booting (Figure 1), select the language and wait for the hardware detection and network setup. After creating the user account and choosing the time zone, partition the hard disk. Then install the basic system on your disk. When setting up the online sources for the package manager, you will notice that the mirrors list is significantly shorter than the Debian list. Two servers are available for each listed country: one with the country code and auto.mirror.devuan.org.

Figure 1: The Devuan installer looks very similar to its Debian counterpart.

You start to notice some divergence from Debian when you select a software package. If you opt for a graphical environment, you can choose between Xfce (standard), LXDE, and Mate – no trace of KDE or Gnome. In the announcement for the second release candidate [6], the developers reported that they have removed the major desktop environments from the installer for stability reasons. You can add KDE or Gnome manually, but some components still cause problems. If you stumble across an error, report it in the bug tracker [7].

We couldn't get the Gnome desktop to work on our lab computer, but we managed a retroactive installation of KDE Plasma using the task-kde-desktop package without any problems. When importing from KDE, the post-installation routine proposes the KDM login manager as the default. We recommend you decline the KDM option and stay with SLiM.

Quick-Change Artist

Even after Debian 9 "Stretch" is released, and Jessie is thus the Old Stable, converting from Jessie to Jessie will still be the best way to move to Devuan. The developers explicitly advise against upgrading to Devuan Testing or Unstable.

As with a Debian distribution upgrade, the Devuan documentation [8] recommends disabling third-party sources and removing the packages from them. Adjust the list of repositories, enter the Devuan mirror (Figure 2), and use apt-get update to update the package list. Then install the GPG keyring of the Devuan project to allow a non-authenticated package:

Figure 2: First adjust the list of sources and enter the Devuan mirror.
apt-get install devuan-keyring -y --allow-unauthenticated

Then update the packages and perform the upgrade:

apt-get update
apt-get dist-upgrade

The package manager removes systemd-sysv. Contrary to the description in the documentation, Xfce and SLiM installed automatically on our lab machine and did not require manual installation. If the post-installation routine asks for the default display manager (Figure 3), choose SLiM.

Figure 3: Opt for SLiM, the lean login manager, rather than GDM or KDM.

For the last step, end the current X session and continue to work at the console. After the upgrade, check to see if any remnants of systemd are still present. The systemd-shim package was still installed on the lab computer. If you remove it using apt-get purge, you will see some packages disappear, including gdm3, gnome, and the Wicd Network Manager.

Challenging

If you are still running Debian Wheezy and want to convert to Devuan Jessie, you'll experience some of the same problems that occur when upgrading from Debian Wheezy to Debian Jessie. After adjusting the repositories, install the Devuan keyring and run the apt-get dist-upgrade command. The package manager will ask you the usual questions about receiving the configuration files and then proceed to install the updates and additional required software.

On our lab machine, we had an unpleasant surprise with the KDE desktop. The new KMail version, which relies on the Akonadi data management service, did not install properly. If you follow the program's prompt and start the conversion wizard, you may be waiting for some time, depending on the volume of messages and folders. All the filters were missing on the test system. The following commands gave us the right results:

akonadictl stop
rm -rf ~/.local/share/akonadi/
rm -rf ~/.config/akonadi/
rm ~/.kde/share/config/akonadi*
akonadictl start

We then relaunched the migration. We initially did not enter the passwords for the accounts and imported all the filter rules; this time the migration was successful. After several hours, KMail was still unusable – it was impossible to read or delete messages.

On the second computer, we found two packages with configuration files that had not been removed (libsystemd-daemon0 and libsystemd-login0). The libsystemd0 package was marked as automatically installed, and it remained as a dependency of xsane, libsane, and sane-utils – support for the scanner does not seem to be fully developed.

The init metapackage in Devuan ensures that one of the available init system (systemd, sysvinit, or upstart) is installed if a program requires it. Because many applications from graphical environments depend on D-Bus, and the standard D-Bus component requires systemd on Debian, the Devuan team built their own D-Bus from the upstream sources.

Reach for the Stars

We noticed a few minor issues with setting up Devuan. The auto-mount feature caused a couple of hiccups on both lab computers. One system required us to mount the removable disk manually; the other asked for the root password before mounting.

Overall, Devuan is a success. The fact that switching from Debian Wheezy to Devuan Jessie caused such problems appeared to be an issue with KMail and not the distribution, as Debian users have also reported difficulties in forums. The change to the SLiM login manager does not pose a problem. If you cannot get along with Xfce, install KDE, LXDE, or Mate.

Only Gnome fans are left out in the cold – and that will not change in the future, as we learned from the developers, who are more interested in pushing forward with the next release than integrating the huge Gnome codebase. If everything runs smoothly, the first images for the upcoming ASCII release will soon be available on the Devuan servers.

It is not just long-serving Unix veterans who are interested in a systemd-free distribution. The project page shows more than ten distributions based on Devuan. And things are also happening in the enterprise field: Centurion Computer Technology (New Zealand) and Dyne Solutions (Netherlands) are in the starting blocks to provide customized Devuan derivatives and support [9] to their customers.