Inhoudsopgave
Sinds NetBSD versie 1.5 zijn de initialisatiescripts van het systeem aangepast, zodat het mogelijk werd controle te krijgen over diensten met rc scripts. Dit hoofdstuk is biedt overzicht van de rc configuratie op NetBSD en nieuwere versies.
De rc bestanden voor het systeem zijn opgeslagen in
/etc
, dit zijn:
/etc/rc
/etc/rc.conf
/etc/rc.d/*
/etc/rc.lkm
/etc/rc.local
/etc/rc.shutdown
/etc/rc.subr
/etc/defaults/*
/etc/rc.conf.d/*
Laten we eerst kijken naar de scripts die de controle over de initialisatie hebben en scripts die hier ondersteuning bij geven:
/etc/rc
start de scripts in
/etc/rc.d
/etc/rc.subr
bevat een aantal functies die veel door rc scripts gebruikt
worden.
/etc/shutdown
roept de scripts in
/etc/rc.d
in omgekeerde volgorde aan.
Andere scripts buiten de rc.d
directory:
/etc/rc.lkm
laadt Loadable Kernel
Modules in het geheugen of verwijdert ze.
/etc/rc.local
is bijna het laatste script
dat aangeroepen wordt tijdens het opstarten, lokale daemons
kunnen hier toegevoegd worden.
Dit is een voorbeeld van een systeem waarop de apache webserver
toegevoegd is aan /etc/rc.local
:
if [ -f /usr/pkg/etc/rc.d/apache ]; then /usr/pkg/etc/rc.d/apache start fi
De /etc/defaults
directory bevat de
standaardinstellingen voor NetBSD, de inhoud hiervan moet
niet veranderd worden. In de rc context is alleen
rc.conf
interessant, dit is het
standaard rc configuratiebestand van NetBSD. Om de
standaardinstellingen aan te passen kunt u een optie aan
/etc/rc.config
toevoegen, die de
standaardinnstelling overschrijft.
Als u bijvoorbeeld de Secure Shell Daemon aan
wilt zetten:
#
cd /etc; grep ssh defaults/rc.conf
sshd=NO sshd_flags=""#
echo "sshd=YES" >> rc.conf
Of bewerk dit bestand met uw favoriete editor. Hetzelfde kan gedaan worden met elke standaardinstelling die veranderd moet worden.
Een andere manier om rc.conf
gemakkelijk
aan te passen is het volgende te doen:
#
cd /etc/defaults
#
cat rc.conf >> ../rc.conf
Pas vervolgens rc.conf
aan op uw
wensen.
Tenslotte, kan de /etc/rc.conf.d/
directory
voor scripts gebruikt worden die afkomstig zijn van derde partijen.
De eigenlijke scripts die de diensten bedienen staan in
/etc/rc.d
. Als een dienst geactiveerd
of gedeactiveerd is in /etc/rc.conf
kan
de staat van de dienst ook veranderd worden vanaf de commandoregel.
De systeembeheerder kan bijvoorbeeld de secure shell deamon starten
met:
#
/etc/rc.d/sshd start
Starting sshd.
De rc scripts moeten één van de volgende argumenten ontvangen:
start
stop
restart
kill
Stel dat er een nieuw domein is toegevoegd aan de named database, dan kan named herstart worden:
#
/etc/rc.d/named restart
Stopping named. Starting named.
Het wordt complexer wanneer er een serie van instellingen veranderd zijn, bijvoorbeeld als de ipfilter regels van de firewall en de ipnat configuratie zijn aangepast, en de secure shell server een andere vorm van encryptie moet gebruiken:
#
cd /etc/rc.d
#
./ipfilter restart; ./ipnat restart; ./sshd restart
Zoals in de System Manager's Manual is beschreven, wordt rcorder gebruikt om de afhankelijkheidsordening van onafhankelijke bestanden te tonen. Op sommige Unix systemen wordt dit gedaan door bestanden te nummeren en/of ze in aparte runlevel directories te zetten. Dit kan erg onoverzichtelijk worden. Op NetBSD wordt dit gedaan door de controlescripts die aan het begin van dit hoofdstuk zijn genoemd en de inhoud van elke rc script.
In de rc scripts staan een aantal regels die één van de volgende woorden bevatten:
REQUIRE
PROVIDE
BEFORE
KEYWORD
Deze woorden bepalen de afhankelijkheden van een bepaald rc script en daardoor kan de rcorder naar “boven” of naar “beneden” afgewerkt worden, afhankelijk van de situatie. Dit is een voorbeeld uit het nfsd script:
... PROVIDE: nfsd REQUIRE: mountd . /etc/rc.subr ...
Hier zien we dat dit script de nfsd dienst biedt, maar dat het vereist dat mountd gestart is.
Er zijn andere informatiebronnen beschikbaar met betrekking tot het rc.d systeem:
Eén van de ontwerpers van rc.d, Luke Mewburn, heeft een presentatie van het systeem gegeven op USENIX 2001. Het is beschikbaar in PDF formaat.
Will Andrews heeft een Daemonnews artikel geschreven met de naam The NetBSD rc.d System.