25.5Systemstart bei Debian, Raspbian und Ubuntu
Debian verwendet seit Version 8 Systemd zum Systemstart, Ubuntu seit Version 15.04 (siehe Abbildung 25.2). Allerdings spielt die Init-V-Kompatibilität von Systemd unter Debian bzw. unter Ubuntu noch eine viel größere Rolle als z.B. unter Fedora: Für den Start der meisten Netzwerk- und Systemdienste sind weiterhin fast ausschließlich traditionelle Init-V-Scripts im Verzeichnis /etc/init.d zuständig (siehe Tabelle 25.6).
Funktion |
Konfigurationsdateien |
---|---|
Systemd |
/etc/systemd/*, /lib/systemd/* |
Systemd-Default-Target (Link) |
/etc/systemd/system/default.target |
Systeminitialisierung |
/lib/systemd/system/sysinit.target*, |
/etc/init.d/rcS, /etc/rcS.d/* |
|
Herkömmliche Init-Scripts |
/etc/init.d/* |
Runlevel-Links |
/etc/rcn.d/rcn.d/* |
Konfigurationsdateien |
/etc/default/* |
Tabelle 25.6Konfiguration des Systemstarts bei Debian und Ubuntu
Debian und Ubuntu unterscheiden sich in noch einem Punkt fundamental von der Welt von Fedora und RHEL: Neu installierte (Netzwerk-)Dienste werden sofort gestartet. Damit entfallen die sonst üblichen Kommandos systemctl start und systemctl enable. Das ist einerseits bequem, andererseits aber auch riskant. Achten Sie darauf, dass die Defaultkonfiguration Ihren Vorstellungen entspricht!
Bei Debian ist für den Start des Grafiksystems die Konfigurationsdatei /lib/systemd/system/gdm3.service verantwortlich. Beim Start wird die Datei /etc/X11/default-display-manager ausgewertet, die den Dateinamen des gewünschten Display-Managers enthält.
Auch bei aktuellen Ubuntu-Versionen startet Systemd das Grafiksystem. Die erforderlichen Einstellung enthält /lib/systemd/system/lightdm.conf.
Das Script /etc/rc.local wird ausgeführt, nachdem das multi-user- oder das graphical.target erreicht wurde. Das Script eignet sich damit gut, um einmalig eigene Konfigurationsarbeiten durchzuführen.
Debian 7 und damit auch Raspbian-Distributionen der ersten Generation (bis September 2015) verwenden das traditionelle Init-V-System.
Raspbian Jessie
Raspbian basiert seit Oktober 2015 auf Debian 8 »Jessie« und somit auch auf Systemd. Aktuelle Raspbian-Installationen verwenden daher ebenfalls Systemd als Init-System. Auf älteren Raspberry-Pi-Geräten ist allerdings vielfach noch die erste Raspbian-Generation auf der Basis von Debian 7 mit dem Init-V-System im Einsatz.
In der Praxis ist der Unterschied zwischen der ersten und der aktuellen Raspbian-Version freilich recht klein: Wie Debian 8 verlässt sich auch Raspbian Jessie auf die Init-V-Kompatibilität von Systemd. Für den Start nahezu aller Netzwerkprozesse sind unverändert Init-V-Scripts zuständig, die nun aber nicht durch das Init-V-System sondern durch Systemd ausgeführt werden. Somit gelten die in Tabelle 25.6 zusammengestellten Konfigurationsverzeichnisse auch für Raspbian.
Große Unterschiede im Vergleich zu Debian und Ubuntu gibt es aber beim Boot-Prozess. Für diesen ist nicht GRUB zuständig. Vielmehr ist der Boot-Prozess durch den Grafikteil (die GPU) des Chips BCM2835/-36 vorgegeben. Die GPU lädt die Bootloader-Dateien von der ersten Partition der SD-Karte des Raspberry Pi (siehe Abbildung 25.4 sowie Abschnitt 10.5, »Interna und Backups«).
Abbildung 25.4Raspbian starten und beenden
Ubuntu bis Version 14.10
Ältere Ubuntu-Versionen inklusive der LTS-Version 14.04 verwenden noch Upstart als Init-System. Abbildung 25.5 zeigt, welche Dateien und Scripts für den Start bzw. das Herunterfahren von Ubuntu verantwortlich sind. Der Standard-Runlevel lautet 2. Tabelle 25.7 fasst den Ort der wichtigsten Konfigurationsdateien zusammen.
Das Grafiksystem X wird durch Upstart gestartet (Konfigurationsdatei /etc/init/lightdm.conf). Als Voraussetzungen für den Start von X gelten lediglich die Initialisierung des Dateisystems und der Start des DBUS-Systems. Der Display Manager wird also bereits wenige Sekunden nach Beginn des Boot-Prozesses gestartet.
Abbildung 25.5Ubuntu mit Upstart starten und beenden (bis Version 14.10)
Funktion |
Konfigurationsdateien |
---|---|
Upstart |
/etc/init/*.conf |
Default-Runlevel |
/etc/init/rc-sysinit.conf |
Systeminitialisierung |
/etc/init.d/rcS, /etc/rcS.d/* |
Init-Scripts |
/etc/init.d/* |
Runlevel-Links |
/etc/rcn.d/rcn.d/* |
Konfigurationsdateien |
/etc/default/* |
Tabelle 25.7Konfiguration des Ubuntu-Systemstarts (bis Version 14.10)