aboutsummaryrefslogtreecommitdiff
path: root/nl_NL.ISO8859-1/articles/solid-state/article.xml
blob: 1f338e277f42476ff7297df538c00bbf4d6afe33 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
	"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
<!-- Copyright (c) 2001 The FreeBSD Documentation Project

     Redistribution and use in source (SGML DocBook) and 'compiled' forms
     (SGML, HTML, PDF, PostScript, RTF and so forth) with or without
     modification, are permitted provided that the following conditions
     are met:

      1. Redistributions of source code (SGML DocBook) must retain the above
         copyright notice, this list of conditions and the following
         disclaimer as the first lines of this file unmodified.

      2. Redistributions in compiled form (transformed to other DTDs,
         converted to PDF, PostScript, RTF and other formats) must reproduce
         the above copyright notice, this list of conditions and the
         following disclaimer in the documentation and/or other materials
         provided with the distribution.

     THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS
     IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NIK CLAYTON BE LIABLE FOR ANY
     DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
     POSSIBILITY OF SUCH DAMAGE.

     $FreeBSD$

     %SOURCE%	en_US.ISO8859-1/articles/solid-state/article.xml
     %SRCID%	41645
-->
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="nl">
  <info><title>&os; en Solid State Apparaten</title>
    

    <authorgroup>
      <author><personname><firstname>John</firstname><surname>Kozubik</surname></personname><affiliation>
	  <address><email>john@kozubik.com</email></address>
	</affiliation></author>
    </authorgroup>

    <copyright>
      <year>2001</year>
      <year>2009</year>
      <holder>The &os; Documentation Project</holder>
    </copyright>

    <pubdate>$FreeBSD$</pubdate>

    <releaseinfo>$FreeBSD$</releaseinfo>

    <legalnotice xml:id="trademarks" role="trademarks">
      &tm-attrib.freebsd;
      &tm-attrib.general;
    </legalnotice>

    &legalnotice;

    <abstract>
      <para>Dit artikel behandelt het gebruik van solid state
	disk-apparaten in &os; voor het maken van embedded
	systemen.</para>

      <para>Embedded systemen hebben het voordeel van verhoogde
	stabiliteit wegens het ontbreken van bewegende delen (harde
	schijven).  Er moet echter rekening worden gehouden met de over
	het algemeen weinig beschikbare schijfruimte in het systeem en
	de duurzaamheid van het opslagmedium.</para>

      <para>Specifieke onderwerpen die aan bod komen omvatten de typen
	en attributen van solid state-media die geschikt zijn om in &os;
	als schijf te gebruiken, kernelopties die interessant zijn in
	zo'n omgeving, de mechanismen van
	<filename>rc.initdiskless</filename> die de initialisatie van zulke
	systemen automatiseren en de noodzaak voor alleen-lezen
	bestandssystemen, en het van voor af aan bouwen van
	bestandssystemen.  Het artikel zal afsluiten met wat algemene
	strategiën voor kleine en alleen-lezen
	&os;-omgevingen.</para>

      <para><emphasis>Vertaald door René Ladan</emphasis>.</para>
    </abstract>
  </info>

  <sect1 xml:id="intro">
    <title>Solid State Disk-apparaten</title>

    <para>Het bereik van dit artikel zal beperkt zijn tot solid state
      disk-apparaten die gemaakt zijn met flash-geheugen.
      Flash-geheugen is een solid state-geheugen (geen bewegende
      onderdelen) dat niet-vluchtig is (het geheugen blijft gegevens
      behouden zelf nadat alle stroombronnen zijn ontkoppeld).
      Flash-geheugen kan enorme fysieke schokken weerstaan en is
      redelijk snel (de oplossingen met flash-geheugens die in dit
      artikel worden behandeld zijn iets langzamer dan een EIDE-harde
      schijf voor schrijfbewerkingen, en veel sneller voor
      leesbewerkingen).  Een heel belangrijk aspect van flash-geheugen,
      waarvan de ramnificaties later in dit artikel besproken zullen
      worden, is dat elke sector een beperkte herschrijfcapaciteit heeft.
      Een sector flash-geheugen kan maar een bepaald aantal keren
      beschreven, gewist, en herschreven worden voordat de sector
      permanent onbruikbaar wordt.  Hoewel veel flash-geheugenproducten
      automatisch slechte blokken in kaart brengen, en hoewel sommigen
      zelfs schrijfoperaties gelijkmatig over de eenheid distribueren,
      blijft het een feit dat er een limiet bestaat aan de hoeveelheid
      waarmee het apparaat kan worden beschreven.  Concurrerende
      apparaten hebben tussen de 1.000.000 en 10.000.000
      schrijfbewerkingen per sector in hun specificaties staan.  Dit
      getal varieert vanwege de omgevingstemperatuur.</para>

    <para>In het bijzonder worden ATA-compatibele compact-flash-eenheden
      besproken, welke vrij populair zijn als opslagmedium voor digitale
      camera's.  Bijzonder interessant is het feit dat de pinnen ervan
      precies met die van de IDE-bus overeenkomen en dat ze compatibel
      zijn met de ATA-commandoverzameling.  Daarom kunnen deze apparaten
      direct aan een IDE-bus in een computer gekoppeld worden met een
      zeer eenvoudige en goedkope adapter.  Eenmaal op deze wijze
      geïmplementeerd zien besturingssystemen zoals &os; het
      apparaat als een normale harde schijf (doch klein).</para>

    <para>Er bestaan nog andere solid state disk-oplossingen, maar hun
      kosten, zeldzaamheid, en relatieve gebruiksongemak plaatst ze
      buiten het bereik van dit artikel.</para>
  </sect1>

  <sect1 xml:id="kernel">
    <title>Kernelopties</title>

    <para>Enkele kernelopties zijn specifiek interessant voor degenen
      die een embedded &os;-systeem creëren.</para>

    <para>Alle embedded &os;-systemen die flash-geheugen als
      systeemschijf gebruiken zullen geïntereseerd zijn
      in geheugenschijven en geheugenbestandssystemen.  Vanwege het
      beperkt aantal keren dat het flash-geheugen kan worden beschreven,
      is het het waarschijnlijkst dat de schijf en de bestandssystemen
      op de schijf als alleen-lezen worden aangekoppeld.  In deze
      omgeving zullen bestandssystemen zoals <filename>/tmp</filename>
      en <filename>/var</filename> als geheugenbestandssystemen worden
      aangekoppeld zodat het systeem logs kan creëren en tellers en
      tijdelijke bestanden kan bijwerken.  Geheugenbestandssystemen zijn
      een kritiek station naar een succesvolle implementatie van solid
      state &os;.</para>

    <para>De volgende regels dienen in uw kernelinstellingenbestand te
      staan:</para>

    <programlisting>options         MFS             # Geheugenbestandssysteem
options         MD_ROOT         # md-apparaat bruikbaar als een potentieel root-apparaat
pseudo-device   md              # geheugenschijf</programlisting>
  </sect1>

  <sect1 xml:id="ro-fs">
    <title>Het <literal>rc</literal>-deelsysteem en alleen-lezen
      bestandssystemen</title>

    <para>De post-boot-initialisatie van een embedded &os;-systeem wordt
      beheerd door <filename>/etc/rc.initdiskless</filename>.</para>

    <para><filename>/etc/rc.d/var</filename> koppelt
      <filename>/var</filename> als een geheugenbestandssysteem aan,
      maakt een instelbare lijst van mappen in <filename>/var</filename>
      aan met het commando &man.mkdir.1;, en verandert de modus van sommige
      van deze mappen.  Tijdens het uitvoeren van
      <filename>/etc/rc.d/var</filename> is er nog een
      <filename>rc.conf</filename>-variabele in het spel &ndash;
      <literal>varsize</literal>.  Het bestand
      <filename>/etc/rc.d/var</filename> maakt een partitie
      <filename>/var</filename> aan gebaseerd op de waarde van deze
      variabele in <filename>rc.conf</filename>:</para>

    <programlisting>varsize=8192</programlisting>

    <para>Onthoud dat deze waarde standaard in sectoren is.</para>

    <para>Het feit dat <filename>/var</filename> een bestandssysteem is
      dat zowel gelezen als geschreven wordt is
      een belangrijk verschil, aangezien de partitie
      <filename>/</filename> (en alle andere partities die op uw
      flash-medium kunnen staan) als alleen-lezen aangekoppeld dienen te
      worden.  In <xref linkend="intro"/> 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 regel <literal>swap</literal>
      uit het bestand <filename>/etc/fstab</filename>, ook de Options
      van elk bestandssysteem als volgt op <literal>ro</literal> te
      zetten:</para>

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

    <para>Op een gemiddeld systeem zullen enkele applicaties het
      onmiddellijk niet meer doen als gevolg van deze verandering.
      cron zal niet correct draaien vanwege ontbrekende cron-tabellen in
      het <filename>/var</filename> dat door
      <filename>/etc/rc.d/var</filename> is aangemaakt, en syslog en
      DHCP zullen problemen ondervinden als gevolg van het alleen-lezen
      bestandssysteem en ontbrekende items in het
      <filename>/var</filename> dat
      <filename>/etc/rc.d/var</filename> heeft aangemaakt.  Dit zijn
      slechts tijdelijke problemen, en worden tezamen met oplossingen
      voor het uitvoeren van andere veelgebruikte softwarepakketten
      behandeld in <xref linkend="strategies"/>.</para>

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

    <screen>&prompt.root; <userinput>/sbin/mount -uw partitie</userinput></screen>

    <para>en kan op alleen-lezen worden teruggezet met het
      commando:</para>

    <screen>&prompt.root; <userinput>/sbin/mount -ur partitie</userinput></screen>
  </sect1>

  <sect1>
    <title>Een bestandssysteem uit het niets opbouwen</title>

    <para>Omdat ATA-compatibele compact-flash-kaarten door &os; als
      normale IDE harde schijven worden gezien, kunt u theoretisch &os;
      vanaf het netwerk installeren door de floppies kern en mfsroot of
      een CD te gebruiken.</para>

    <para>Zelfs een kleine installatie van &os; die normale
      installatieprocedures gebruikt kan echter een systeem produceren
      met een omvang van meer dan 200 MB.  Omdat de meeste mensen
      kleinere flash-geheugenapparaten zullen gebruiken (128 MB wordt als
      redelijk groot gezien - 32 of zelfs 16 MB is gebruikelijk) is een
      installatie dat de normale mechanismen gebruikt niet
      mogelijk&nbsp;er is simpelweg niet genoeg schijfruimte voor zelfs
      de kleinste van de conventionele installaties.</para>

    <para>De gemakkelijkste manier om over deze beperking heen te komen
      is om &os; met conventionele middelen naar een normale harde
      schijf te installeren.  Kleedt, nadat de installatie voltooid is,
      het besturingssysteem uit tot een grootte die op uw flash-medium
      past, en pak vervolgens het gehele bestandssysteem in.  De volgende
      stappen leiden u door het proces heen van een normaal flash-geheugen
      voorbereiden op uw ingepakte bestandssysteem.  Omdat er geen normale
      installatie wordt uitgevoerd, moeten bewerkingen zoals partitioneren,
      labelen, het aanmaken van bestandssystemen, etcetera met de hand
      uitgevoerd worden.  Naast de floppies kern en mfsroot heeft u ook
      de floppy fixit nodig.</para>

    <procedure>
      <step>
	<title>Het flash-media-apparaat partitioneren</title>

	<para>Kies nadat er met de floppies kern en mfsroot is opgestart
	  <literal>custom</literal> uit het installatiemenu.  Kies
	  <literal>partition</literal> in het aangepaste
	  installatiemenu.  In het partitiemenu dient u alle bestaande
	  partities te wissen met de toets <keycap>d</keycap>.  Maak
	  nadat alle bestaande partities gewist zijn een partitie aan
	  met de toets <keycap>c</keycap> en accepteer de
	  standaardwaarde voor de grootte van de partitie.  Zorg ervoor
	  dat het type van de partitie op <literal>165</literal> is
	  ingesteld wanneer daar naar wordt gevraagd.  Schrijf nu deze
	  partitietabel naar schijf door op de toets <keycap>w</keycap>
	  te drukken (dit is een verborgen optie op dit scherm).  Wanneer
	  u een ATA-compatibele flash-kaart gebruikt, dient u de
	  opstartbeheerder van &os; te gebruiken.  Druk nu op de toets
	  <keycap>q</keycap> om het partitiemenu te verlaten.  Het menu
	  van de opstartbeheerder wordt nog een keer aan u getoond -
	  herhaal de keuze die u eerder heeft gemaakt.</para>
      </step>

      <step>
	<title>De bestandssystemen op uw flash-geheugenapparaat
	  aanmaken</title>

	<para>Verlaat het aangepaste installatiemenu, en kies van het
	  hoofdinstallatiemenu de optie <literal>fixit</literal>.  Geef
	  na het binnengaan van de fixit-omgeving het volgende
	  commando:</para>

	<screen>&prompt.root; <userinput>disklabel -e /dev/ad0c</userinput></screen>

	<para>Op dit punt bent u de tekstverwerker vi binnengegaan onder
	  toezien van het commando disklabel.  Vervolgens dient u een
	  regel met <literal>a:</literal> aan het einde van het
	  bestand toe te voegen.  Deze regel dient er als volgt uit te
	  zien:</para>

	<programlisting>a:      <replaceable>123456</replaceable>  0       4.2BSD  0       0</programlisting>

	<para>Hierbij is <replaceable>123456</replaceable> een getal dat
	  exact gelijk is aan het getal in de bestaande regel met
	  <literal>c:</literal> voor de grootte.  In feite dupliceert u
	  de bestaande regel met <literal>c:</literal> als een regel met
	  <literal>a:</literal>, met daarbij <literal>4.2BSD</literal>
	  als type van het bestandssysteem.  Sla het bestand op en
	  verlaat de tekstverwerker.</para>

	<screen>&prompt.root; <userinput>disklabel -B -r /dev/ad0c</userinput>
&prompt.root; <userinput>newfs /dev/ad0a</userinput></screen>
      </step>

      <step>
	<title>Uw bestandssysteem op het flash-medium plaatsen</title>

	<para>Koppel het nieuw voorbereide flash-medium aan:</para>

	<screen>&prompt.root; <userinput>mount /dev/ad0a /flash</userinput></screen>

	<para>Activeer deze machine in het netwerk zodat we ons
	  tar-bestand kunnen overzenden en het op het bestandssysteem
	  van het flash-medium kunnen uitpakken.  Een manier om dit te
	  doen is:</para>

	<screen>&prompt.root; <userinput>ifconfig xl0 192.168.0.10 netmask 255.255.255.0</userinput>
&prompt.root; <userinput>route add default 192.168.0.1</userinput></screen>

	<para>Nu de machine op het netwerk is, kan het tar-bestand
	  worden overgezonden.  U kunt nu tegen een dilemma aanlopen -
	  als bijvoorbeeld uw flash-geheugen 128 MB groot is, en uw
	  tar-bestand groter is dan 64 MB, kan uw tar-bestand niet op
	  het zelfde moment op het flash-medium staan als dan wanneer u
	  het uitpakt - u zult schijfruimte tekort komen.  Een oplossing
	  voor dit probleem is, wanneer u FTP gebruikt, om het bestand
	  uitpakt terwijl u het over FTP verzendt.  Als u de overdracht
	  op deze manier aanpakt, zult u nooit het tar-bestand en de
	  inhoud ervan op hetzelfde moment op uw schijf hebben:</para>

	<screen><prompt>ftp&gt;</prompt> <userinput>get tar-bestand.tar "| tar xvf -"</userinput></screen>

	<para>Als uw tar-bestand met gzip is ingepakt, kunt u dit ook
	  voor elkaar krijgen:</para>

	<screen><prompt>ftp&gt;</prompt> <userinput>get tar-bestand.tar "| zcat | tar xvf -"</userinput></screen>

	<para>Nadat de inhoud van uw ge-tar-de bestandssysteem op het
	  bestandssysteem van uw flash-geheugen staan, kunt u het
	  flash-geheugen afkoppelen en opnieuw opstarten:</para>

	<screen>&prompt.root; <userinput>cd /</userinput>
&prompt.root; <userinput>umount /flash</userinput>
&prompt.root; <userinput>exit</userinput></screen>

	<para>Aangenomen dat u uw bestandssysteem correct heeft
	  geconfigureerd toen het gebouwd werd op de normale harde
	  schijf (met uw bestandssystemen als alleen-lezen aangekoppeld
	  en met de nodige opties in de kernel gecompileerd) zou u nu
	  succesvol uw embedded &os;-systeem moeten kunnen
	  opstarten.</para>
      </step>
    </procedure>
  </sect1>

  <sect1 xml:id="strategies">
    <title>Systeemstragiën voor kleine en alleen-lezen
      omgevingen.</title>

    <para>In <xref linkend="ro-fs"/> werd erop gewezen dat het
      bestandssysteem <filename>/var</filename> zoals geconstrueerd
      door <filename>/etc/rc.d/var</filename> en de aanwezigheid van
      een hoofdbestandssysteem dat alleen gelezen kan worden problemen
      veroorzaakt met veel alledaagse softwarepakketten die door &os;
      gebruikt worden.  In dit artikel zullen suggesties voor het
      succesvol draaien van cron, syslog, ports-installaties en de
      webserver Apache worden gegeven.</para>

    <sect2>
      <title>cron</title>

      <para>Tijdens het opstarten wordt <filename>/var</filename> bevolkt door
	<filename>/etc/rc.d/var</filename> dat de lijst van
	<filename>/etc/mtree/BSD.var.dist</filename> gebruikt, dus
	<filename>cron</filename>, <filename>cron/tabs</filename>, <filename>at</filename>, en nog wat andere
	standaardmappen worden aangemaakt.</para>

      <para>Dit lost echter nog niet het probleem van het
	behouden van cron-tabellen na het opnieuw opstarten op.  Wanneer
	het systeem opnieuw opstart, zal het bestandssysteem
	<filename>/var</filename> dat in het geheugen staat verdwijnen
	en zullen alle cron-tabellen die er in stonden ook verdwijnen.
	Daarom is een oplossing hiervoor het aanmaken van cron-tabellen
	voor de gebruikers die ze nodig hebben, uw bestandssysteem
	<filename>/</filename> als lezen-schrijven aan te koppelen en
	die cron-tabellen naar een veilige plaats zoals
	<filename>/etc/tabs</filename> te kopiëren en een regel aan
	het einde van <filename>/etc/rc.initdiskless</filename> toe te
	voegen die deze cron-tabellen naar
	<filename>/var/cron/tabs</filename> kopieert nadat die map is
	aangemaakt tijdens de syseeminitialisatie.  U moet misschien ook
	een regel toevoegen die de modi en toestemmingen van de mappen
	die u aanmaakt en de bestanden die u met
	<filename>etc/rc.initdiskless</filename> kopieert verandert.</para>
    </sect2>

    <sect2>
      <title>syslog</title>

      <para><filename>syslog.conf</filename> specificeert de plaats van
	bepaalde logbestanden die in <filename>/var/log</filename>
	bestaan.  Deze bestanden worden niet door
	<filename>/etc/rc.d/var</filename> tijdens de
	systeeminitialisatie aangemaakt.  Daarom dient u ergens na de
	sectie die de mappen in <filename>/var</filename> aanmaakt in
	<filename>/etc/rc.d/var</filename> iets als het volgende
	toevoegen:</para>

      <screen>&prompt.root; <userinput>touch /var/log/security /var/log/maillog /var/log/cron /var/log/messages</userinput>
&prompt.root; <userinput>chmod 0644 /var/log/*</userinput></screen>
    </sect2>

    <sect2>
      <title>Ports installeren</title>

      <para>Voordat de veranderingen die nodig zijn om succesvol de
	portsboom te gebruiken besproken worden, is een herinnering ten
	aanzien van de alleen-lezen-natuur van uw bestandssystemen op
	het flash-medium op zijn plaats.  Aangezien ze alleen-lezen zijn,
	dient u ze tijdelijk als lezen-schrijven aan te koppelen waarbij
	de koppelsyntaxis zoals getoond in <xref linkend="ro-fs"/> wordt
	gebruikt.  U dient deze bestandssystemen altijd als alleen-lezen
	te herkoppelen als u klaar bent met enig onderhoud - onnodige
	schrijfacties naar het flash-medium kunnen de levensduur ervan
	aanzienlijk verkorten.</para>

      <para>Om het mogelijk te maken om een portsmap binnen te gaan en
	succesvol <command>make</command> <buildtarget>install</buildtarget>
	uit te voeren, moeten we een pakketmap op een bestandssysteem
	aanmaken dat niet geheugengebaseerd is en dat onze pakketten
	tussen herstarts bijhoudt.  Omdat het toch nodig is om uw
	bestandssystemen als lezen-schrijven te koppelen voor het
	installeren van een pakket, is het zinnig om aan te nemen dat
	een gebied op het flash-medium ook gebruikt kan worden om
	pakketinformatie naar te schrijven.</para>

      <para>Maak als eerste een map aan voor de pakketdatabase.  Dit is
	normaliter <filename>/var/db/pkg</filename>, maar we kunnen het
	daar niet plaatsen aangezien het telkens als het systeem wordt
	opgestart zal verdwijnen.</para>

      <screen>&prompt.root; <userinput>mkdir /etc/pkg</userinput></screen>

      <para>Voeg nu een regel aan <filename>/etc/rc.d/var</filename>
	toe die de map <filename>/etc/pkg</filename> aan
	<filename>/var/db/pkg</filename> koppelt.  Een voorbeeld:</para>

      <screen>&prompt.root; <userinput>ln -s /etc/pkg /var/db/pkg</userinput></screen>

      <para>Nu zal telkens wanneer u uw bestandssystemen als
	lezen-schrijven aankoppelt en een pakket installeert,
	<command>make</command> <buildtarget>install</buildtarget> werken,
	en zal de pakketinformatie succesvol naar
	<filename>/etc/pkg</filename> worden geschreven (omdat het
	bestandssysteem op dat moment als lezen-schrijven is aangekoppeld)
	wat altijd als <filename>/var/db/pkg</filename> beschikbaar is
	voor het besturingssysteem.</para>
    </sect2>

    <sect2>
      <title>Apache Web Server</title>

      <note>
	<para>De stappen in deze sectie zijn alleen nodig indien Apache
	  is ingesteld om de pid- of loginformatie buiten <filename>/var</filename> te schrijven.  Standaard
	  houdt Apache het pid-bestand in <filename>/var/run/httpd.pid</filename> en de
	  logbestanden in <filename>/var/log</filename>.</para>
      </note>

      <para>Er wordt nu aangenomen dat Apache de logbestanden in een map
	<filename>apache_log_map</filename>
	buiten <filename>/var</filename> bewaart.
	Wanneer deze map op een alleen-lezen bestandssysteem staat, zal
	Apache geen logbestanden kunnen opslaan, en kan het werkproblemen
	hebben.  Indien dit zo is, is het noodzakelijk om een nieuwe map
	aan de lijst met mappen in <filename>/etc/rc.d/var</filename> die
	in <filename>/var</filename> worden aangemaakt toe te voegen, en om
	<filename>apache_log_map</filename>
	aan <filename>/var/log/apache</filename> te koppelen.  Het is
	ook nodig om de toestemmingen en eigenaarschappen van deze
	nieuwe map in te stellen.</para>

      <para>Voeg eerst de map <literal>log/apache</literal> toe aan de
	lijst van mappen die in <filename>/etc/rc.d/var</filename>
	aangemaakt moeten worden.</para>

      <para>Voeg ten tweede deze commando's toe aan
	<filename>/etc/rc.d/var</filename> na de sectie die mappen
	aanmaakt:</para>

      <screen>&prompt.root; <userinput>chmod 0774 /var/log/apache</userinput>
&prompt.root; <userinput>chown nobody:nobody /var/log/apache</userinput></screen>

      <para>Verwijder als laatste de bestaande map
	<filename>apache_log_map</filename>
	en vervang het door een koppeling:</para>

      <screen>&prompt.root; <userinput>rm -rf apache_log_map</userinput>
&prompt.root; <userinput>ln -s /var/log/apache apache_log_map</userinput></screen>
    </sect2>
  </sect1>
</article>