Devuan – Debian without systemd
New Planet
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
.
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:
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.
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.
Buy this article as PDF
(incl. VAT)