rc.local
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Hinweis:
rc.local ist seit dem Jahre 1983 obsolet. Es diente bei der Einführung des damals neuen, heute veralteten SysV-Init-Systems als Workaround für die Beibehaltung noch älterer Methoden zur Systeminitialisierung. Der unten zitierte Beitrag "Forget about rc.local" von JdeBP auf Stack Exchange enthält Hintergründe und Details mit vielen Links dazu.
Dienste und Skripte werden seit Version Ubuntu 15.04 über Service Units gestartet.
Ab Ubuntu 18.04 LTS ist standardmäßig keine Datei /etc/rc.local mehr vorhanden. Es wird auch nicht empfohlen, eine solche von Hand einzurichten. Eine alternative Möglichkeit kann ein Eintrag unter @reboot
in /etc/crontab sein.
Die zu bevorzugende Vorgehensweise ist jedoch eine sachgerechte Konfiguration des Init-Systems; bei Ubuntu muss dafür eine systemd-Unit für die jeweilige Aufgabe erstellt werden. Diese Datei kann dafür als Gerüst dienen:
# /etc/systemd/system/Ersatz-rc-local.service [Unit] After = network-online.target Wants = network-online.target [Service] Type = oneshot RemainAfterExit = yes ExecStart = STARTBEFEHL ExecStart = NOCH-EIN-BEFEHL # ... [Install] WantedBy = multi-user.target
Die Angaben im Abschnitt [Unit] bestimmen die Position dieser Unit in der Reihenfolge aller zu startenden Units.
Danach muss die Unit noch aktiviert werden:
systemctl enable Ersatz-rc-local
Links¶
What is the correct substitute for rc.local in systemd instead of re-creating rc.local 🇬🇧 - stackexchange.com