FreeBSD en Solid State Apparaten
Terug |  | Volgende

# 3. `rc.diskless` en alleen-lezen bestandssystemen

De post-boot-initialisatie van een embedded FreeBSD-systeem wordt beheerd door `/etc/rc.diskless2` (`/etc/rc.diskless1` is voor BOOTP-schijfloos opstarten). Dit initialisatiescript wordt aangeroepen door de volgende regel in `/etc/rc.conf` te plaatsen:

    diskless_mount=/etc/rc.diskless2

`rc.diskless2` koppelt `/var` als een geheugenbestandssysteem aan, maakt een instelbare lijst van mappen in `/var` aan met het commando mkdir(1), verandert de modus van sommige van deze mappen, en pakt een lijst van apparaatingangen uit naar een schrijfbare (weer als een geheugenbestandssysteem) partitie `/dev`. Tijdens het uitvoeren van `/etc/rc.diskless2` is er nog een `rc.conf`-variabele in het spel - `varsize`. Het bestand `/etc/rc.diskless2` maakt een partitie `/var` aan gebaseerd op de waarde van deze variabele in `rc.conf`:

    varsize=8192

Onthoud dat deze waarde in sectoren is. De creatie van de partitie `/dev` door `/etc/rc.diskless2`, wordt echter geregeerd door een harde waarde van 4096 sectoren. Het is triviaal om deze waarde in het bestand `/etc/rc.diskless2` zelf te wijzigen, alhoewel er niet meer ruimte voor `/dev` dan dat nodig zou zijn.

Het is belangrijk om te herinneren dat het script `/etc/rc.diskless2` aanneemt dat de conventionele partitie `/tmp` reeds door een symbolische koppeling naar `/var/tmp` is vervangen. Omdat `tmp` een van de mappen is die in `/var` door het script `/etc/rc.diskless2` wordt aangemaakt, en omdat `/var` een geheugenbestandssysteem is (dat als lezen-schrijven is aangekoppeld), zal `/tmp` nu ook een lees-schrijf map zijn.

Het feit dat `/var` en `/dev` lees-schrijf bestandssystemen zijn is een belangrijk verschil, aangezien de partitie `/` (en alle andere partities die op uw flash-medium kunnen staan) als alleen-lezen aangekoppeld dienen te worden. In Paragraaf 1 hebben we de beperkingen van flash-geheugen uiteen gelegd - in bijzonder de beperkte herschrijfcapaciteit. Het belang van het niet als lezen-schrijven aankoppelen van flash-media en het belang van het niet gebruiken van een wisselbestand kunnen niet genoeg benadrukt worden. Een wisselbestand op een druk systeem kan binnen een jaar een flash-medium opmaken. Het uitgebreid loggen of aanmaken en vernietigen van tijdelijke bestanden kan hetzelfde doen. Daarom dient u, naast het verwijderen van de regels `swap` en `/proc` uit het bestand `/etc/fstab`, dient u ook de Options van elk bestandssysteem als volgt op `ro` te zetten:

    # Device                Mountpoint      FStype  Options         Dump    Pass#
    /dev/ad0s1a             /               ufs     ro              1       1

Op een gemiddeld systeem zullen enkele applicaties het onmiddellijk niet meer doen als gevolg van deze verandering. Ports bijvoorbeeld zullen niet installeren vanuit de portsboom omdat `/var/db/port.mkversion` niet bestaat. cron zal niet correct draaien vanwege ontbrekende crontabellen in het `/var` dat door `/etc/rc.diskless2` is aangemaakt, en syslog en DHCP zullen problemen ondervinden als gevolg van het alleen-lezen bestandssysteem en ontbrekende items in het `/var` dat `/etc/rc.diskless2` heeft aangemaakt. Dit zijn slechts tijdelijke problemen, en worden tezamen met oplossingen voor het uitvoeren van andere veelgebruikte softwarepakketten behandeld in Paragraaf 5.

Een belangrijk ding om te onthouden is dat een bestandssysteem dat met `/etc/fstab` als alleen-lezen was aangekoppeld ten alle tijden lezen-schrijven kan worden gemaakt door dit commando te geven:

    # /sbin/mount -uw partitie

en kan op alleen-lezen worden teruggezet met het commando:

    # /sbin/mount -ur partitie

Terug | Begin | Volgende
Kernelopties |  | Een bestandssysteem uit het niets opbouwen

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>.