iX 8/2017
S. 64
Review
Linux-Distributionen
Aufmacherbild

Debian 9 mit und Devuan 1.0 ohne das Init-System systemd

Wahlverwandtschaft

Das recht konservative Debian-Linux enthält in Version 9 aktuelle Software inklusive Kernel. Wer dem umstrittenen Init-Framework systemd aus dem Weg gehen will, findet in der ersten Major Release des Debian-Fork Devuan eine Alternative.

Seit jeher gilt Debian GNU/Linux als ausgereifte und stabile Distribution, die den Spagat zwischen Neu und Alt schafft: nicht so veraltet wie ein langlebiges Enterprise-Linux, aber auch nicht voller „Cutting-Edge“-Software wie Ubuntu, Fedora oder Arch Linux. Wer Linux nicht als Experimentier- und Entertainment-Plattform sieht, ist vor allem im Unternehmen und zum Arbeiten mit Debian GNU/Linux auf dem Desktop und dem Server gut bedient.

Der Umstieg vom alten SysV-Init auf systemd 2015 spaltete die Debian-Entwickler bei der letzten Release 8 (Projektname Jessie) und zog den Fork Devuan nach sich, der im Mai 2017 in Version 1.0 erschienen ist. Positiv anzumerken bleibt, dass die Debian-Entwickler den systemd-Ausweg noch immer offen halten und systemd mittlerweile gut in Debian integriert wurde. Wer damit leben kann und mag, bekommt mit Stretch ein modernes Debian-System, das verlässlicher und stabiler ist als viele andere Distributionen.

Debian 9

Die Grundlage für Debian 9 alias „Stretch“ bildet Kernel 4.9, der für Debian-Verhältnisse leidlich aktuell ist und Langzeitsupport (LTS) bis Januar 2019 erhält. Das ist ein großer Sprung vom Kernel 3.16 in der Vorgängerversion Jessie, da erst ab Kernel 3.18 wichtige Funktionen etwa für Linux-Container (LXC) enthalten sind. Gestartet wird ein Debian-System nun per systemd 232 vom November 2016. Die glibc 2.24 stammt vom August 2016, und das System wurde mit dem GNU-C-Compiler (GCC) 6.3 vom Dezember 2016 übersetzt. Dass auch die übrige Software zum Release-Zeitpunkt mindestens sieben Monate alt ist, liegt an der langen Freeze-Phase des Projekts (ab 5. Februar 2017). Alle Binaries übersetzt GCC 6 in Stretch als Position Independent Executables (PIE), was Exploits verhindern soll.

Eine weitere Neuerung für mehr Sicherheit sind Reproducible Builds: Übersetzt man den Quellcode eines Debian-Pakets selbst, unterscheiden sich wegen der anderen Build-Umgebung die eigenen Binaries von den offiziell ausgelieferten. Um dennoch überprüfen zu können, ob die angebotenen Binaries tatsächlich aus dem Quellcode entstehen, müssen Parameter wie Zeitstempel, lokale Einstellungen oder Pfade normalisiert werden – diese „deterministische Compiler-Umgebung“ schafft Reproducible Builds.

Handarbeit beim Datenbank-Upgrade

Beim LAMP-Stack (Linux, Apache, MySQL/MariaDB, Perl/PHP) arbeitet ein Apache 2.4.25 mit PHP 7.0 und MariaDB 10.2.23 zusammen – MySQL ist aus der Standardinstallation von Debian entfernt worden. Das erfordert allerdings Eingriffe des Systemverwalters beim Upgrade: Der Umstieg von MySQL auf MariaDB kann nicht mehr direkt erfolgen, da sich Binärdateiformate und Features der beiden Datenbanksysteme mittlerweile zu stark unterscheiden. Zusätzlich stellt die Distribution nginx 1.10, PostgreSQL 9.6 und OpenJDK 8 zur Verfügung. Das Ökosystem rund um die Webbibliotheken libv8 und node.js gilt bekanntermaßen als sehr dynamisch; leider hat sich niemand gefunden, der die Plattform unter Debian 9 pflegen will – es wird also keine Sicherheitsupdates für node.js geben.

Die Bezeichnung der Netzschnittstellen unterscheidet sich bei einer Neuinstallation und einem Upgrade. Ein Upgrade von Jessie behält die alten Namenskonventionen wie eth0 oder wlan0 bei, während sich bei einer Neuinstallation die Namen an der BIOS-/UEFI-Firmware orientieren und stattdessen etwa enp1s1 und wlp2s0 heißen – Skripte und Konfigurationen müssen in diesem Fall angepasst werden. Bei der Gelegenheit sollten Administratoren auch die Firewall aktualisieren, denn dem bewährten Werkzeug iptables steht nun das neue nftables zur Seite.