Viele Benutzer installieren Software Dritter auf FreeBSD mithilfe der Ports-Sammlung. Häufig soll die Software bei einem Systemstart mitgestartet werden. Beispielsweise sollen die Dienste mail/postfix oder www/apache22 nach einem Systemstart laufen. Dieser Abschnitt stellt die Startprozeduren für Software Dritter vor.
Unter FreeBSD werden die meisten der im System enthaltenen Dienste wie cron(8) mithilfe von Systemskripten gestartet.
Mit rc.d
lässt sich der Start
von Anwendungen besser steuern und es sind mehr Funktionen
verfügbar. Mit den in Abschnitt 11.4, „Dienste unter FreeBSD verwalten“
besprochenen Schlüsselwörtern können
Anwendungen in einer bestimmten Reihenfolge gestartet werden
und Optionen können in rc.conf
statt fest
im Startskript der Anwendung festgelegt werden. Ein einfaches
Startskript sieht wie folgt aus:
#!/bin/sh # # PROVIDE: utility # REQUIRE: DAEMON # KEYWORD: shutdown . /etc/rc.subr name=utility rcvar=utility_enable command="/usr/local/sbin/utility" load_rc_config $name # # DO NOT CHANGE THESE DEFAULT VALUES HERE # SET THEM IN THE /etc/rc.conf FILE # utility_enable=${utility_enable-"NO"} pidfile=${utility_pidfile-"/var/run/utility.pid"} run_rc_command "$1"
Dieses Skript stellt sicher, dass
utility
nach den
DAEMON
-Pseudodiensten gestartet wird.
Es stellt auch eine Methode bereit, die
Prozess-ID (PID)
der Anwendung in einer Datei zu speichern.
In /etc/rc.conf
könnte für diese
Anwendung die folgende Zeile stehen:
utility_enable="YES"
Die Methode erleichtert den Umgang mit
Kommandozeilenargumenten, bindet Funktionen aus
/etc/rc.subr
ein, ist kompatibel
zu rcorder(8) und lässt sich über
rc.conf
leichter konfigurieren.
Andere Dienste können über inetd(8) gestartet werden. Die Konfiguration von inetd(8) wird in Abschnitt 29.2, „Der inetd „Super-Server““ ausführlich beschrieben.
Systemdienste können auch mit cron(8) gestartet
werden. Dieser Ansatz hat einige Vorteile; nicht zuletzt,
weil cron(8) die Prozesse unter dem Eigentümer der
crontab
startet, ist es möglich, dass
Dienste von normalen Benutzern gestartet und gepflegt werden
können.
Für die Zeitangabe in cron(8) kann
@reboot
eingesetzt werden. Damit wird das
Kommando gestartet, wenn cron(8) kurz nach dem Systemboot
gestartet wird.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.