Add a translation of the solid-state article (based on cvs 1.16)
Connect it to the build.
This commit is contained in:
parent
1e20488c3f
commit
0c6088eac2
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=34080
3 changed files with 566 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
|||
# $FreeBSD$
|
||||
# $FreeBSD: doc/nl_NL.ISO8859-1/articles/Makefile,v 1.4 2008/12/27 20:34:02 rene Exp $
|
||||
|
||||
# %SOURCE% en_US.ISO8859-1/articles/Makefile
|
||||
# %SRCID% 1.60
|
||||
|
@ -8,6 +8,7 @@ SUBDIR+= contributing
|
|||
SUBDIR+= contributing-ports
|
||||
SUBDIR+= explaining-bsd
|
||||
SUBDIR+= problem-reports
|
||||
SUBDIR+= solid-state
|
||||
|
||||
DOC_PREFIX?= ${.CURDIR}/../..
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
|
|
20
nl_NL.ISO8859-1/articles/solid-state/Makefile
Normal file
20
nl_NL.ISO8859-1/articles/solid-state/Makefile
Normal file
|
@ -0,0 +1,20 @@
|
|||
#
|
||||
# $FreeBSD: $
|
||||
#
|
||||
# %SOURCE% en_US.ISO8859-1/articles/solid-state/Makefile
|
||||
# %SRCID% 1.5
|
||||
#
|
||||
# Article: FreeBSD and Solid State Devices
|
||||
|
||||
DOC?= article
|
||||
|
||||
FORMATS?= html
|
||||
WITH_ARTICLE_TOC?= YES
|
||||
|
||||
INSTALL_COMPRESSED?= gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
SRCS= article.sgml
|
||||
|
||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
544
nl_NL.ISO8859-1/articles/solid-state/article.sgml
Normal file
544
nl_NL.ISO8859-1/articles/solid-state/article.sgml
Normal file
|
@ -0,0 +1,544 @@
|
|||
<!-- 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.sgml
|
||||
%SRCID% 1.16
|
||||
-->
|
||||
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
||||
<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//NL">
|
||||
%articles.ent;
|
||||
<!ENTITY legalnotice SYSTEM "../../../en_US.ISO8859-1/share/sgml/legalnotice.sgml">
|
||||
]>
|
||||
|
||||
<article lang="nl">
|
||||
<articleinfo>
|
||||
<title>&os; en Solid State Apparaten</title>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>John</firstname>
|
||||
<surname>Kozubik</surname>
|
||||
|
||||
<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>
|
||||
|
||||
<legalnotice 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.diskless</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>
|
||||
</articleinfo>
|
||||
|
||||
<sect1 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 id="kernel">
|
||||
<title>Kernelopties</title>
|
||||
|
||||
<para>Enkele kernelopties zijn specifiek interessant voor degenen
|
||||
die een embedded &os;-systeem creëren.</para>
|
||||
|
||||
<para>Ten eerste zullen alle embedded &os;-systemen die
|
||||
flash-geheugen als systeemschijf gebruiken 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 id="ro-fs">
|
||||
<title><filename>rc.diskless</filename> en alleen-lezen
|
||||
bestandssystemen</title>
|
||||
|
||||
<para>De post-boot-initialisatie van een embedded &os;-systeem wordt
|
||||
beheerd door <filename>/etc/rc.diskless2</filename>
|
||||
(<filename>/etc/rc.diskless1</filename> is voor BOOTP-schijfloos
|
||||
opstarten). Dit initialisatiescript wordt aangeroepen door de
|
||||
volgende regel in <filename>/etc/rc.conf</filename> te
|
||||
plaatsen:</para>
|
||||
|
||||
<programlisting>diskless_mount=/etc/rc.diskless2</programlisting>
|
||||
|
||||
<para><filename>rc.diskless2</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;, verandert de modus van sommige
|
||||
van deze mappen, en pakt een lijst van apparaatingangen uit naar
|
||||
een schrijfbare (weer als een geheugenbestandssysteem) partitie
|
||||
<filename>/dev</filename>. Tijdens het uitvoeren van
|
||||
<filename>/etc/rc.diskless2</filename> is er nog een
|
||||
<filename>rc.conf</filename>-variabele in het spel -
|
||||
<literal>varsize</literal>. Het bestand
|
||||
<filename>/etc/rc.diskless2</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 in sectoren is. De creatie van de
|
||||
partitie <filename>/dev</filename> door
|
||||
<filename>/etc/rc.diskless2</filename>, wordt echter geregeerd
|
||||
door een harde waarde van 4096 sectoren. Het is triviaal om deze
|
||||
waarde in het bestand <filename>/etc/rc.diskless2</filename> zelf
|
||||
te wijzigen, alhoewel er niet meer ruimte voor
|
||||
<filename>/dev</filename> dan dat nodig zou zijn.</para>
|
||||
|
||||
<para>Het is belangrijk om te herinneren dat het script
|
||||
<filename>/etc/rc.diskless2</filename> aanneemt dat de
|
||||
conventionele partitie <filename>/tmp</filename> reeds door een
|
||||
symbolische koppeling naar <filename>/var/tmp</filename> is
|
||||
vervangen. Omdat <filename>tmp</filename> een van de mappen is
|
||||
die in <filename>/var</filename> door het script
|
||||
<filename>/etc/rc.diskless2</filename> wordt aangemaakt, en omdat
|
||||
<filename>/var</filename> een geheugenbestandssysteem is (dat als
|
||||
lezen-schrijven is aangekoppeld), zal <filename>/tmp</filename> nu
|
||||
ook een lees-schrijf map zijn.</para>
|
||||
|
||||
<para>Het feit dat <filename>/var</filename> en
|
||||
<filename>/dev</filename> lees-schrijf bestandssystemen zijn 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 regels
|
||||
<literal>swap</literal> en <literal>/proc</literal> uit het
|
||||
bestand <filename>/etc/fstab</filename>, dient u 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.
|
||||
Ports bijvoorbeeld zullen niet installeren vanuit de portsboom
|
||||
omdat <filename>/var/db/port.mkversion</filename> niet bestaat.
|
||||
cron zal niet correct draaien vanwege ontbrekende crontabellen in
|
||||
het <filename>/var</filename> dat door
|
||||
<filename>/etc/rc.diskless2</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.diskless2</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 <replaceable>partitie</replaceable></userinput></screen>
|
||||
|
||||
<para>en kan op alleen-lezen worden teruggezet met het
|
||||
commando:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>/sbin/mount -ur <replaceable>partitie</replaceable></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 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, etc. 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></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></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 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.diskless2</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>In <filename>/etc/rc.diskless2</filename> staat een
|
||||
variabele genaamd <literal>var_dirs</literal>. Deze variabele
|
||||
bestaat uit een met spaties afgebakende lijst van mappen die
|
||||
binnen <filename>/var</filename> aangemaakt zullen worden nadat
|
||||
het als een geheugenbestandssysteem is aangekoppeld.
|
||||
<filename>cron</filename> en <filename>cron/tabs</filename>
|
||||
staan niet in deze lijst, en zonder deze mappen zal cron klagen.
|
||||
Door <literal>cron</literal>, <literal>cron/tabs</literal>, en
|
||||
misschien zelfs <literal>at</literal> en
|
||||
<literal>at/jobs</literal> als elementen van deze variabele toe
|
||||
te voegen, wordt het makkelijker om de daemons &man.cron.8; en
|
||||
&man.at.1; te draaien.</para>
|
||||
|
||||
<para>Dit lost echter nog steeds 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.diskless2</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.diskless2</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.diskless2</filename> tijdens de
|
||||
systeeminitialisatie aangemaakt. Daarom dient u ergens na de
|
||||
sectie die de mappen in <filename>/var</filename> aanmaakt in
|
||||
<filename>/etc/rc.diskless2</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>
|
||||
|
||||
<para>U moet ook de logmap toevoegen aan de lijst van mappen die
|
||||
<filename>/etc/rc.diskless2</filename> aanmaakt.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>ports-installatie</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> <maketarget>install</maketarget>
|
||||
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.diskless2</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> <maketarget>install</maketarget> 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>
|
||||
|
||||
<para>Apache houdt pid-bestanden en logs in
|
||||
<filename><replaceable>apache_install</replaceable>/logs</filename>.
|
||||
Aangezien deze map ongetwijfeld op een bestandssysteem staat dat
|
||||
alleen gelezen kan worden, zal dit niet werken. Het is nodig om
|
||||
een nieuwe map aan de lijst van mappen die in
|
||||
<filename>/var</filename> aangemaakt moeten worden toe te voegen
|
||||
in <filename>/etc/rc.diskless2</filename> en om
|
||||
<filename><replaceable>apache_install</replaceable>/logs</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.diskless2</filename>
|
||||
aangemaakt moeten worden.</para>
|
||||
|
||||
<para>Voeg ten tweede deze commando's toe aan
|
||||
<filename>/etc/rc.diskless2</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><replaceable>apache_install</replaceable>/logs</filename>
|
||||
en vervang het door een koppeling:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>rm -rf (apache_installatie)/logs</userinput>
|
||||
&prompt.root; <userinput>ln -s /var/log/apache (apache_installatie)/logs</userinput></screen>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</article>
|
Loading…
Reference in a new issue