Dieser Artikel widmet sich verschiedenen Problemstellungen, die im Rahmen der Nutzung von systemd aufgetreten sind und vermittelt – soweit möglich – Lösungsvorschläge.
Die Datei /etc/modules wird zwar noch von systemd ausgewertet, nimmt aber keine Optionen für die aufgeführten Kernelmodule mehr entgegen. Stattdessen müssen Optionen modulspezifisch in einer Datei /etc/modprobe.d/MODULNAME.conf eingetragen werden. Beispiel /etc/modprobe.d/iwlwifi.conf:
options iwlwifi 11n_disable=1 fw_restart=1
Die System-Unit /lib/systemd/system/rc-local.service dient zum Aufruf der Datei /etc/rc.local. Jedoch wird diese in der Grundkonfiguration nur von anderen Prozessen angestoßen, was für eigene Zwecke nicht optimal sein kann (unkontrolliertes Timing). Dies kann durch ein "target" gelöst werden, z.B. durch "multi-user.target".
Anzeigen der aktuellen Unit[1]:
systemctl cat rc-local
Falls hier am Ende ein Install-Abschnitt mit einem entsprechenden "target" fehlt, kann dieses ergänzt werden[1][2]:
sudo systemctl edit --full rc-local
öffnet einen Texteditor im Terminal. Dann ergänzt man am Ende der Datei die folgenden Zeilen:
[Install] WantedBy=multi-user.target
Die geänderte Unit wird nun noch aktiviert:
sudo systemctl reenable rc-local
Die angepasste Unit liegt nun unter /etc/systemd/system/rc-local.service und hat z.B. folgenden Inhalt:
... [Unit] Description=/etc/rc.local Compatibility ConditionFileIsExecutable=/etc/rc.local After=network.target [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 RemainAfterExit=yes [Install] WantedBy=multi-user.target
Sollte systemd selber abstürzen, lässt sich der Rechner nicht mehr über den normalen Befehl systemctl reboot
neu starten. Man kann den Neustart aber erzwingen, wenn 2x die Option --force
mit angegeben wird:
systemctl reboot --force --force
systemd Übersichtsartikel
systemctl - Kommandozeilenwerkzeug zum Steuern von systemd, Units etc.
Service Units erstellen
Diese Revision wurde am 7. Dezember 2016 19:49 von noisefloor erstellt.