Übersicht

Motivation

Was alles bedeutet "Debian mit/ohne Systemd"?

Es gibt viele Abstufungen:

Paket-Abhängigkeiten (vereinfacht)

package-graph-clt.png

Wie leicht ist es, die einzelnen Stufen weg zu bekommen? (1)

Der einfache Teil:

Wie leicht ist es, die einzelnen Stufen weg zu bekommen? (2)

Der schwierige Teil:

Init-System dynamisch wechseln

Via Kernel-Bootparameter

init=/bin/systemd (aus dem Paket systemd) oder init=/lib/sysvinit/init (aus dem Paket sysvinit) als Kernel-Bootparameter angeben:

  • Manuell im Bootloader, um einmalig das Init-System zu wechseln. Gilt nur für den aktuellen Bootvorgang.
  • In der Konfiguration des Bootloaders z.B. in unterschiedlichen Menüeinträgen.

Init-Select

Das Paket init-select ermöglicht Wechseln des Default-Init-Systems beim nächsten Reboot. (Braucht systemd-shim und eine Plattform mit Grub 2.)

Init-System im Grub-2-Menü auswählen

Das Paket grub-pc (Grub 2) bietet seit Januar 2015 verschiedene Init-Systeme im Menü an (siehe Debian Bug-Reports #736678, #757298 und #773173):

menuentry 'Debian GNU/Linux, with Linux 3.19.0-trunk-amd64' … {
        …
        linux   /vmlinuz-3.19.0-trunk-amd64 root=/dev/mapper/vgcc-root ro …
        …
}
menuentry 'Debian GNU/Linux, with Linux 3.19.0-trunk-amd64 (sysvinit)' … {
        …
        linux   /vmlinuz-3.19.0-trunk-amd64 root=/dev/mapper/vgcc-root ro … init=/lib/sysvinit/init
        …
}

Braucht mindestens die Pakete systemd, sysvinit und grub-pc.

Auf Nicht-x86-Architekturen, auf denen ein Grub 2 verfügbar ist (z.B. PowerPC, Sparc, ARM mit UEFI), sollte dies mit den dort verfügbaren grub-*-Paketen analog funktionieren.

3rd-Party-Repositories mit weniger Systemd-Abhängigkeiten

Installation von Debian 8 Jessie ohne Systemd als Init-System

Installer booten mit Parameter

preseed/late_command="in-target apt-get install -y sysvinit-core"

booten oder diesen per Preseeding setzen.

Dist-Upgrade von Wheezy nach Jessie ohne Systemd

Offizieller und sauberer Weg

Vor dem Dist-Upgrade die Installation von systemd-sysv per APT Pinning verhindern, z.B. speichern unter /etc/apt/preferences.d/nosystemd:

Package: systemd-sysv
Pin: release o=Debian
Pin-Priority: -1

Andere Wege

  • Bei Nutzung von aptitude interaktiv explizit sysvinit-core auswählen und systemd-sysv abwählen (lassen).
  • Bei Nutzung von aptitude auf der Kommandozeile aptitude full-upgrade '~U sysvinit-core+'

Fazit

Links und Referenzen

Danke