Archiv/rc.local

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.


Anmerkung: Die Datei rc.local ist obsolet und wurde durch Systemd-Units ersetzt.

Hinweis:

Die Datei 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 Systemd; 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
### Dieses Gerüst bedarf der individuellen Anpassung !!!

[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.

Nach Fertigstellung muss die eigene Systemd-Unit Ersatz-rc-local.service mit dem Dienstprogramm systemctl aktiviert werden:

systemctl enable Ersatz-rc-local