This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.
FreeBSD gebruikt inmiddels het NetBSD rc.d systeem bij het
opstarten van het systeem. Veel van de bestanden in /etc/rc.d
zijn scripts voor basisdiensten die werken met de opties start
, stop
en restart
, analoog aan hoe diensten die via een port of package zijn
geïnstalleerd gestart worden met de scripts in /usr/local/etc/rc.d. sshd(8) kan
bijvoorbeeld als volgt herstart worden:
# /etc/rc.d/sshd restart
Deze procedure is vrijwel gelijk voor andere diensten. Uiteraard worden diensten meestal automatisch gestart zoals in rc.conf(5) staat. Om de Network Address Translation daemon bij het opstarten te laten starten is de volgende regel in /etc/rc.conf bijvoorbeeld voldoende:
natd_enable="YES"
Als er reeds een natd_enable="NO" regel is, kan NO gewoon in YES veranderd worden. De rc scripts starten, voor zover nodig, automatisch andere afhankelijke diensten.
Omdat het rc.d systeem in eerste instantie bedoeld is om
diensten te starten en stoppen bij het opstarten en afsluiten van het systeem, werken de
standaardopties start
, stop
en
restart
alleen als de juiste variabelen in /etc/rc.conf zijn ingesteld. Het commando sshd
restart alleen dan als sshd_enable
de waarde YES heeft in /etc/rc.conf. Als er een
service gestart, gestopt of herstart moet worden, ongeacht de definities in /etc/rc.conf, moet het commando voorafgegaan worden door
“force”. Dus om sshd te herstarten ongeacht /etc/rc.conf setting, voldoet het volgende commando:
# /etc/rc.d/sshd forcerestart
Het is eenvoudig te controleren of een dienst is ingeschakeld is in /etc/rc.conf door het bijpassende rc.d
script uit te voeren met de optie rcvar
. Voor sshd:
# /etc/rc.d/sshd rcvar # sshd $sshd_enable=YES
Opmerking: De tweede regel (# sshd) is de uitvoer van sshd, geen root console.
De optie status
wordt gebruikt om vast te stellen of een
dienst gestart is. Om bijvoorbeeld te controleren of sshd
gestart is:
# /etc/rc.d/sshd status sshd is running as pid 433.
Het is ook mogelijk om een dienst te herladen met de optie reload
. Dan wordt er getracht een signaal te sturen aan een
individuele dienst, waarbij de dienst de bestanden met instellingen opnieuw in moet
lezen. Meestal komt dit neer op het verzenden van het signaal SIGHUP signaal.
Het rc.d-systeem wordt niet alleen gebruikt voor netwerkdiensten, maar ook voor het merendeel van de systeemstart. In dit kader is bijvoorbeeld het bestand bgfsck interessant. Als dit script wordt uitgevoerd, wordt de volgende boodschap getoond:
Starting background file system checks in 60 seconds.
Dit script wordt dus gebruikt voor bestandssysteemcontrole in de achtergrond, hetgeen alleen tijdens de systeemstart gebeurt.
Veel systeemdiensten zijn afhankelijk van andere diensten om correct te kunnen functioneren. Zo starten NIS en andere RPC-gebaseerde diensten niet als de rpcbind (portmapper) dienst nog niet draait. Om dit te stroomlijnen wordt informatie over afhankelijkheden en andere meta-data ingevoegd in het commentaar bovenaan het opstartscript. Deze commentaarregels worden vervolgens tijdens de systeemstart met rcorder(8) verwerkt om zo vast te stellen in welke volgorde de systeemdiensten gestart moeten worden. De volgende sleutelwoorden kunnen worden opgenomen aan het begin van elk opstartscript:
PROVIDE: geeft aan in welke diensten dit bestand voorziet.
REQUIRE: geeft aan welke andere diensten vereist zijn voor deze dienst. Dit script wordt uitgevoerd na de aangegeven diensten.
BEFORE: geeft diensten aan die afhankelijk zijn van deze dienst. Dit bestand wordt uitgevoerd vóór de aangegeven diensten.
KEYWORD: FreeBSD of NetBSD. Dit wordt gebruikt voor speciale eigenschappen van één van de *BSD's.
Met deze methode kan een systeembeheerder gemakkelijk systeemdiensten besturen, zonder gedoe met “runlevels” zoals bij sommige andere UNIX® systemen.
Meer informatie over het rc.d-systeem staat in rc(8) en rc.subr(8).
Deze en andere documenten kunnen worden gedownload van ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Lees voor vragen over FreeBSD de documentatie alvorens contact te zoeken
<questions@FreeBSD.org>.
Vragen over deze documentatie kunnen per e-mail naar <doc@FreeBSD.org>.