| FreeBSD Handbuch | ||
|---|---|---|
| Zurück | Kapitel 6. Konfiguration und Tuning | Nach vorne |
Es ist üblich, dass ein System mehrere Dienste zur Verfügung stellt. Diese können auf verschiedene Weisen, die jeweils andere Vorteile haben, gestartet werden.
Software, die von einem Port oder einem Paket installiert wurde, wird oft ein Skript in /usr/local/etc/rc.d stellen. Dieses wird beim Hochfahren des Systems mit dem Argument start und beim Herunterfahren mit dem Argument stop aufgerufen. Das ist der empfohlene Weg, systemweite Dienste, die unter root laufen oder unter root gestartet werden, zu starten. Die Skripten werden bei der Installation des Paketes registriert und entfernt, wenn das Paket entfernt wird.
Ein typisches Skript in /usr/local/etc/rc.d sieht wie folgt aus:
#!/bin/sh
echo -n ' FooBar'
case "$1" in
start)
/usr/local/bin/foobar
;;
stop)
kill -9 `cat /var/run/foobar.pid`
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
Die Startskripten von FreeBSD suchen in /usr/local/etc/rc.d nach Dateien mit dem Suffix .sh, die von root ausgeführt werden können. Die gefundenen Skripten werden beim Hochfahren des Systems mit der Option start und beim Herunterfahren mit der Option stop aufgerufen, damit sie die passenden Aktionen ausführen können. Wenn Sie das vorige Beispiel beim Systemstart verwenden wollen, sollten Sie es also als FooBar.sh in /usr/local/etc/rc.d speichern und sicherstellen, das das Skript ausführbar ist. Benutzen Sie chmod(1), um das Skript ausführbar zu machen:
# chmod 755 FooBar.sh
Manche Dienste werden von inetd(8) aufgerufen, wenn eine Verbindung auf dem passenden Port aufgebaut wird. Üblich ist das für Server von Mail-Clients (POP, IMAP, usw.). Diese Dienste werden durch das Editieren von /etc/inetd.conf aktiviert. Details dazu finden sich in inetd(8).
Weitere Systemdienste werden vielleicht nicht von /etc/rc.conf abgedeckt. Diese werden traditionell durch Kommandos in /etc/rc.local aktiviert. Seit FreeBSD 3.1 existiert keine Vorgabe für /etc/rc.local mehr. Wenn die Datei allerdings von einem Administrator angelegt wird, so wird sie auch ausgeführt. Beachten Sie bitte, dass /etc/rc.local als der letzte Weg, einen Dienst zu starten, angesehen wird. Wenn es eine andere Möglichkeit gibt, den Dienst zu starten, nehmen Sie diese bitte wahr.
Anmerkung: Fügen Sie bitte keine Kommandos in /etc/rc.conf ein. Starten Sie stattdessen Dæmons oder Kommandos beim Hochfahren mit Skripten in /usr/local/etc/rc.d.
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 nicht-root Benutzern gestartet und gepflegt werden können.
Dies nutzt eine Eigenschaft von cron(8): Für die Zeitangabe kann @reboot eingesetzt werden. Damit wird das Kommando gestartet, wenn cron(8) kurz nach dem Systemboot gestartet wird.
| Zurück | Zum Anfang | Nach vorne |
| Konfiguration von Anwendungen | Nach oben | Einrichten von Netzwerkkarten |
Wenn Sie Fragen zu FreeBSD haben,
schicken Sie eine EMail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie
eine Email an <de-bsd-translators@de.FreeBSD.org>.