Entgegen einiger "Ratschläge" die man immer wieder liest, werden die Dienste und Daemonen unter OpenBSD nicht durch editieren der /etc/rc.conf verwaltet, sondern ausnahmslos mit rcctl(8)!
Start von rcctl(8)
Die Dienste werden seit OpenBSD 5.7 mit rcctl(8) verwaltet. Das ist ein Shellscript für die KSH, mit dem man die Dienste starten, stoppen, neustarten, .. kann. Der Aufruf ist denkbar einfach:
$ rcctl start httpd
würde z. B. den hauseigenen HTTP-Server von OpenBSD starten, jedoch ist das noch lange nicht alles.
Optionen und Parameter
Man kann rcctl(8) noch diverse Optionen und Parameter übergeben:
-d
|
Ermöglicht debugging und gibt ggf. Fehlermeldungen auf STDOUT aus |
-f
|
Ist vergleichbar mit --force; hier wird der Dienst gestartet, auch wenn in der /etc/rc.conf die Flag für den Dienst auf NO gesetzt ist. |
disable service
|
Ist ein Alias für "set daemon status off" |
enable service
|
Ist ein Alias für "set daemon status on" |
get service [variable]
|
Zeigt die Parameter an, mit der der Dienst gestartet wurde |
getdef service [variable]
|
Wie get, jedoch werden hier die Defaultwerte angezeigt |
ls lsarg
|
Hiermit kann man sich einen Überblick über die Dienste verschaffen, wobei hier mehrere Parameter zur Verfügung stehen:
|
order daemon..
|
Hier kann man die Reihenfolge angeben |
set service | daemon variable [optionen]
|
Bei Daemons wird die Variable auf einen bestimmten Wert gesetzt bzw. geändert, wobei die Variable status auf on oder off gesetzt werden muss. Variablen können folgende sein: flags, status, timeout und user |
Parameter
|
Es stehen folgende Parameter zur Verfügung:
|
Beispiele
Hier einige Beispiele. # ist ein Kommentar und hat nichts mit der Eingabe zu tun und $ steht für den Prompt der Shell:
# nginx starten $ rcctl start nginx # nginx beim Booten starten $ rcctl enable nginx # Prüfen ob ngnix läuft $ rcctl check nginx nginx(ok) # Prüfen mit welchen Standardeinstellungen ngnix gestartet wurde $ rcctl getdef nginx # Jetzt die aktuellen Einstellungen anzeigen $ rcctl get nginx # Den "nginx_timeout" auf 60 Sekunden erhöhen $ rcctl set nginx timeout 60 # Die Startreihenfolge der Dienste anzeigen: $ rcctl order nginx php70_fpm # Die Startreihenfolge ändern; in dem Fall zuerst php70_fpm und dann ngnix $ rcctl order php70_fpm nginx $ rcctl order php70_fpm nginx # ntpd beim Booten starten $ rcctl enable ntpd # ntpd die Option "-s" beim Start übergeben $ rcctl set ntpd flags -s # Und das jetzt noch prüfen $ rcctl get ntpd flags -s # Alle Dienste anzeigen, die gestartet wurden $ rcctl ls on