MFen 1.16 -> 1.17
This commit is contained in:
parent
dd644541df
commit
839e7d35c5
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=34229
1 changed files with 60 additions and 85 deletions
|
@ -27,10 +27,10 @@
|
|||
ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
$FreeBSD: $
|
||||
$FreeBSD$
|
||||
|
||||
%SOURCE% en_US.ISO8859-1/articles/solid-state/article.sgml
|
||||
%SRCID% 1.16
|
||||
%SRCID% 1.17
|
||||
-->
|
||||
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
||||
|
@ -82,7 +82,7 @@
|
|||
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
|
||||
<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
|
||||
|
@ -140,8 +140,8 @@
|
|||
<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
|
||||
<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
|
||||
|
@ -162,55 +162,30 @@ pseudo-device md # geheugenschijf</programlisting>
|
|||
</sect1>
|
||||
|
||||
<sect1 id="ro-fs">
|
||||
<title><filename>rc.diskless</filename> en alleen-lezen
|
||||
<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.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>
|
||||
beheerd door <filename>/etc/rc.initdiskless</filename>.</para>
|
||||
|
||||
<programlisting>diskless_mount=/etc/rc.diskless2</programlisting>
|
||||
|
||||
<para><filename>rc.diskless2</filename> koppelt
|
||||
<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;, 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 -
|
||||
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 –
|
||||
<literal>varsize</literal>. Het bestand
|
||||
<filename>/etc/rc.diskless2</filename> maakt een partitie
|
||||
<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 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>Onthoud dat deze waarde standaard in sectoren is.</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
|
||||
<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
|
||||
|
@ -222,9 +197,8 @@ pseudo-device md # geheugenschijf</programlisting>
|
|||
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
|
||||
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>
|
||||
|
||||
|
@ -233,15 +207,13 @@ pseudo-device md # geheugenschijf</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
|
||||
cron zal niet correct draaien vanwege ontbrekende cron-tabellen in
|
||||
het <filename>/var</filename> dat door
|
||||
<filename>/etc/rc.diskless2</filename> is aangemaakt, en syslog en
|
||||
<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.diskless2</filename> heeft aangemaakt. Dit zijn
|
||||
<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>
|
||||
|
@ -399,7 +371,7 @@ pseudo-device md # geheugenschijf</programlisting>
|
|||
|
||||
<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
|
||||
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
|
||||
|
@ -409,20 +381,16 @@ pseudo-device md # geheugenschijf</programlisting>
|
|||
<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>Tijdens het opstarten wordt <filename
|
||||
class="directory">/var</filename> bevolkt door
|
||||
<filename>/etc/rc.d/var</filename> dat de lijst van
|
||||
<filename>/etc/mtree/BSD.var.dist</filename> gebruikt, dus
|
||||
<filename class="directory">cron</filename>, <filename
|
||||
class="directory">cron/tabs</filename>, <filename
|
||||
class="directory">at</filename>, en nog wat andere
|
||||
standaardmappen worden aangemaakt.</para>
|
||||
|
||||
<para>Dit lost echter nog steeds niet het probleem van het
|
||||
<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
|
||||
|
@ -432,13 +400,13 @@ pseudo-device md # geheugenschijf</programlisting>
|
|||
<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
|
||||
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.diskless2</filename> kopieert verandert.</para>
|
||||
<filename>etc/rc.initdiskless</filename> kopieert verandert.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
|
@ -447,21 +415,18 @@ pseudo-device md # geheugenschijf</programlisting>
|
|||
<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
|
||||
<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.diskless2</filename> iets als het volgende
|
||||
<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>
|
||||
|
||||
<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>
|
||||
<title>Ports installeren</title>
|
||||
|
||||
<para>Voordat de veranderingen die nodig zijn om succesvol de
|
||||
portsboom te gebruiken besproken worden, is een herinnering ten
|
||||
|
@ -491,7 +456,7 @@ pseudo-device md # geheugenschijf</programlisting>
|
|||
|
||||
<screen>&prompt.root; <userinput>mkdir /etc/pkg</userinput></screen>
|
||||
|
||||
<para>Voeg nu een regel aan <filename>/etc/rc.diskless2</filename>
|
||||
<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>
|
||||
|
||||
|
@ -510,35 +475,45 @@ pseudo-device md # geheugenschijf</programlisting>
|
|||
<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>
|
||||
<note>
|
||||
<para>De stappen in deze sectie zijn alleen nodig indien Apache
|
||||
is ingesteld om de pid- of loginformatie buiten <filename
|
||||
class="directory">/var</filename> te schrijven. Standaard
|
||||
houdt Apache het pid-bestand in <filename
|
||||
class="directory">/var/run/httpd.pid</filename> en de
|
||||
logbestanden in <filename class="directory">/var/log</filename>.</para>
|
||||
</note>
|
||||
|
||||
<para>Er wordt nu aangenomen dat Apache de logbestanden in een map
|
||||
<filename class="directory"><replaceable>apache_log_map</replaceable></filename>
|
||||
buiten <filename class="directory">/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 class="directory"><replaceable>apache_log_map</replaceable></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>
|
||||
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.diskless2</filename> na de sectie die mappen
|
||||
<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><replaceable>apache_install</replaceable>/logs</filename>
|
||||
<filename class="directory"><replaceable>apache_log_map</replaceable></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>
|
||||
<screen>&prompt.root; <userinput>rm -rf <filename class="directory"><replaceable>apache_log_map</replaceable></filename></userinput>
|
||||
&prompt.root; <userinput>ln -s /var/log/apache <filename class="directory"><replaceable>apache_log_map</replaceable></filename></userinput></screen>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</article>
|
||||
|
|
Loading…
Reference in a new issue