diff options
Diffstat (limited to 'de_DE.ISO8859-1/articles/solid-state/article.xml')
-rw-r--r-- | de_DE.ISO8859-1/articles/solid-state/article.xml | 522 |
1 files changed, 522 insertions, 0 deletions
diff --git a/de_DE.ISO8859-1/articles/solid-state/article.xml b/de_DE.ISO8859-1/articles/solid-state/article.xml new file mode 100644 index 0000000000..5986fb79d3 --- /dev/null +++ b/de_DE.ISO8859-1/articles/solid-state/article.xml @@ -0,0 +1,522 @@ +<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" + "../../../share/sgml/freebsd42.dtd" [ +<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE" "../../share/sgml/entities.ent"> +%entities; +]> + +<!-- 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$ + $FreeBSDde: de-docproj/articles/solid-state/article.xml,v 1.2 2010/09/18 21:55:49 jkois Exp $ + basiert auf: 1.18 +--> + +<article lang="de"> + <articleinfo> + <title>&os; und Solid State-Geräte</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 FreeBSD Documentation Project</holder> + </copyright> + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.general; + </legalnotice> + + &legalnotice; + + <pubdate>$FreeBSD$</pubdate> + + <releaseinfo>$FreeBSD$</releaseinfo> + + <abstract> + <para>Dieser Artikel behandelt die Verwendung von Solid State Festplatten + in &os;, um eingebettete Systeme zu erstellen.</para> + + <para>Eingebettete Systeme haben den Vorteil, dass sie eine höhere + Stabilität aufgrund des fehlens von beweglichen Bauteilen + (Festplatten) besitzen. Es muss jedoch beachtet werden, dass generell + weniger Speicherplatz zur Verfügung steht und die Lebensdauer des + Speichermediums geringer ist.</para> + + <para>Spezielle Themen die behandelt werden beinhalten die Typen und + Attribute von Solid State Datenträgern, die in &os; verwendet + werden, Kernel-Optionen die in solch einer Umgebung von Interesse sind, + der <filename>rc.initdiskless</filename>-Mechanismus, welcher die + Initalisierung solcher Systeme automatisiert, sowie die Notwendigkeit + von Nur-Lese-Dateisystemen und das Erstellen von Dateisystemen von + Grund auf. Der Artikel schliesst mit ein paar generellen Strategien + für kleine und Nur-Lese-&os; Umgebungen.</para> + + <para><emphasis>Übersetzt von Benedict Reuschling</emphasis>.</para> + </abstract> + </articleinfo> + + <sect1 id="intro"> + <title>Solid State Festplattengeräte</title> + + <para>Der Umfang des Artikels ist auf Solid State Geräte + beschränkt, die auf Flash-Speicher basieren. Flash-Speicher ist ein + Solid State Speicher (keine beweglichen Teile), der nicht flüchtig + ist (der Speicher behält die Daten sogar nachdem alle Energiequellen + ausgeschaltet wurden). Flash-Speicher kann grossen physischen Schock + aushalten und ist vergleichsweise schnell (die Flash-Speicher + Lösungen, die in diesem Artikel behandelt werden, sind nur wenig + langsamer als eine EIDE-Festplatte in der Schreibgeschwindigkeit und viel + schneller bei Lese-Operationen). Ein sehr wichtiger Aspekt von + Flash-Speichern, dessen Auswirkungen später in diesem Artikel + diskutiert werden, ist, dass jeder Sektor eine begrenzte Kapazität + zur Wiederbeschreibung besitzt. Man kann nur eine bestimmte Anzahl von + Schreib-, Lösch- und Wiederbeschreibungsvorgängen + durchführen, bevor der Sektor permanent unbrauchbar wird. Obwohl + viele Flash-Speicher Produkte automatisch schlechte Blöcke markieren + und manche Geräte Schreiboperationen gleichmässig verteilen, + bleibt weiterhin die Anzahl der durchführbaren Schreibvorgänge + begrenzt. Verschiedene Geräteeinheiten besitzen zwischen 1,000,000 + und 10,000,000 Schreibzyklen pro Sektor in ihren Spezifikationen. Diese + Zahlen variieren aufgrund der Umgebungstemperatur.</para> + + <para>Im Speziellen werden wir ATA-kompatible Compact-Flash-Karten + betrachten, welche als Speichermedien für Digitalkameras ziemlich + populär sind. Von besonderem Interesse ist der Umstand, dass diese + direkt an den IDE-Bus angeschlossen werden und kompatibel zu den + ATA-Befehlen sind. Aus diesem Grund können diese Geräte mit + einem einfachen und billigen Adapter direkt an den IDE-Bus eines + Computers angeschlossen werden. Auf diese Weise sehen Betriebssysteme + wie &os; diese Geräte dann als normale (wenn auch sehr kleine) + Festplatten an.</para> + + <para>Andere Solid State Plattenlösungen existieren, jedoch platzieren + deren Kosten, Obskurität und ihre Unhandlichkeit sie aussserhalb + des Umfangs dieses Artikels.</para> + </sect1> + + <sect1 id="kernel"> + <title>Kerneloptionen</title> + + <para>Ein paar Kerneloptionen sind von besonderem Interesse für + diejenigen, welche diese eingebetteten &os;-Systeme erstellen + möchten.</para> + + <para>Alle eingebetteten &os;-Systeme, die Flash-Speicher als Systemplatte + verwenden, sind interessant für Dateisysteme im Hauptspeicher und + RAM-Disks. Wegen der begrenzten Anzahl von Schreibzyklen, die auf + Flash-Speicher durchgeführt werden können, werden die Platte + und die Dateisysteme darauf mit grosser Wahrscheinlichkeit nur lesend + eingehängt werden. In dieser Umgebung werden Dateisysteme wie + <filename>/tmp</filename> und <filename>/var</filename> als RAM-Disks + eingebunden, um dem System zu erlauben, Logdateien anzulegen und + Zähler sowie temporäre Dateien zu aktualisieren. RAM-Disks + sind eine kritische Komponente für eine erfolgreiche Solid State + Umsetzung in &os;.</para> + + <para>Sie sollten dafür sorgen, dass die folgenden Zeilen in Ihrer + Kernelkonfigurationsdatei vorhanden sind:</para> + + <programlisting>options MFS # Memory Filesystem +options MD_ROOT # md device usable as a potential root device +pseudo-device md # memory disk</programlisting> + </sect1> + + <sect1 id="ro-fs"> + <title>Die <literal>rc</literal>-Subsysteme und nur-Lese + Dateisysteme</title> + + <para>Die Initialisierung nach dem Bootvorgang eines eingebetteten + &os;-Systems wird von <filename>/etc/rc.initdiskless</filename> + kontrolliert.</para> + + <para><filename>/etc/rc.d/var</filename> hängt + <filename>/var</filename> als RAM-Disk ein, erstellt eine konfigurierbare + Liste von Verzeichnissen in <filename>/var</filename> mittels des + &man.mkdir.1;-Kommandos und ändert die Attribute von ein paar dieser + Verzeichnisse. Bei der Ausführung von + <filename>/etc/rc.d/var</filename> kommt eine andere + <filename>rc.conf</filename>-Variable ins Spiel: + <literal>varsize</literal>. Die Datei <filename>/etc/rc.d/var</filename> + erstellt eine <filename>/var</filename>-Partition basierend auf dem Wert + dieser Variable in <filename>rc.conf</filename>:</para> + + <programlisting>varsize=8192</programlisting> + + <para>Standardmässig wird dieser Wert in Sektoren angegeben.</para> + + <para>Der Fakt, dass es sich bei <filename>/var</filename> um ein nur-Lese + Dateisystem handelt, ist eine wichtige Unterscheidung, da die + <filename>/</filename>-Partition (und jede andere Partition, die Sie auf + Ihrem Flash-Medium haben) nur lesend eingehängt wird. Erinnern Sie + sich, dass in <xref linkend="intro"/> die Beschränkungen von + Flash-Speichern erläutert wurden, speziell deren begrenzte + Kapazität zum Schreiben. Die Notwendigkeit, Dateisysteme auf + Flash-Speichern nur lesend einzubinden und keine Swap-Dateien zu + verwenden, kann nicht oft genug erwähnt werden. Eine Swap-Datei auf + einem ausgelasteten System kann in weniger als einem Jahr den gesamten + Flash-Speicher aufbrauchen. Häufige Protokollierung oder das + Erstellen und Löschen von temporären Dateien kann das gleiche + verursachen. Aus diesem Grund sollten Sie zusätzlich zum entfernen + des <literal>swap</literal>-Eintrags aus ihrer + <filename>/etc/fstab</filename>-Datei auch noch die Optionsfelder + für jedes Dateisystem auf <literal>ro</literal> wie folgt + stellen:</para> + + <programlisting># Device Mountpoint FStype Options Dump Pass# +/dev/ad0s1a / ufs ro 1 1</programlisting> + + <para>Ein paar Anwendungen im normalen System werden sofort nach dieser + Änderung ausfallen. Beispielsweise wird Cron nicht richtig + funktionieren, aufgrund von fehlenden Cron-Tabellen in + <filename>/var</filename> die von + <filename>/etc/rc.d/var</filename> erstellt wurden. Syslog und DHCP + werden ebenfalls Probleme durch das nur-Lese Dateisystem + und fehlende Elemente im Verzeichnis <filename>/var</filename> + verursachen, die <filename>/etc/rc.d/var</filename> erstellt hat. Diese + Probleme sind jedoch nur vorübergehend und werden zusammen mit + Lösungen zur Ausführung von anderen gebräuchlichen + Softwarepaketen in <xref linkend="strategies"/> angesprochen.</para> + + <para>Eine wichtige Sache, an die man sich erinnern sollte, ist, dass + ein Dateisystem, welches als nur lesend in + <filename>/etc/fstab</filename> eingebunden wurde, jederzeit als + schreibend durch das folgende Kommando eingehängt werden + kann:</para> + + <screen>&prompt.root; <userinput>/sbin/mount -uw <replaceable>partition</replaceable></userinput></screen> + + <para>und auch wieder zurück auf nur lesend durch den Befehl:</para> + + <screen>&prompt.root; <userinput>/sbin/mount -ur <replaceable>partition</replaceable></userinput></screen> + </sect1> + + <sect1> + <title>Ein Dateisystem von Grund auf neu erstellen</title> + + <para>Wenn ATA-kompatible Compact-Flash-Karten von &os; als normale + IDE-Festplatten erkannt werden, könnten Sie theoretisch &os; aus dem + Netzwerk mittels der Kern- und mfsroot-Floppies oder einer CD + installieren.</para> + + <para>Jedoch kann selbst eine kleine Installation von &os; durch die + normale Installationsprozedur ein System erzeugen, dass grösser als + 200 MB ist. Da die meisten Leute kleinere Flash-Speichermedien + einsetzen (128 MB wird hier als gross angesehen - 32 oder sogar + 16 MB sind gebräuchlich) ist eine gewöhnliche Installation + mit normalen Methoden nicht möglich, da es einfach nicht genug + freien Plattenplatz gibt, selbst für die kleinste + Installationsart.</para> + + <para>Der einfachste Weg, diese Speicherlimitierung zu umgehen, ist, &os; + auf konventionelle Weise auf eine normale Festplatte zu installieren. + Nachdem die Installation abgeschlossen wurde, kürzen Sie das + Betriebssystem auf das nötigste, bis Sie eine Grösse erreicht + hat, die auf das Flash-Medium passt und benutzen Sie dann tar auf dem + gesamten Dateisystem. Die folgenden Schritte werden Sie durch den + Prozess der Vorbereitung eines Flash-Mediums für ihr getartes + Dateisystem führen. Beachten Sie, dass Operationen wie + Partitionierung, Benennung, Erstellung von Dateisystemen, etc. von Hand + durchgeführt werden müssen, da eine normale Installation nicht + möglich ist. Zusätzlich zu den Kern- und mfsroot-Disketten + benötigen Sie auch die fixit-Floppy.</para> + + <procedure> + <step> + <title>Partitionierung Ihrer Flash-Medien</title> + + <para>Wählen Sie nach dem Starten der Kern- und mfsroot-Disketten, + <literal>custom</literal> aus dem Installationsmenü. In diesem + Menü wählen Sie dann <literal>partition</literal> aus. + Dort sollten Sie alle bestehenden Partitionen mit Hilfe der Taste + <keycap>d</keycap> löschen. Nachdem alle bestehenden + Partitionen gelöscht wurden, erstellen Sie mittels der Taste + <keycap>c</keycap> eine Partition und akzeptieren Sie den + Standardwert für die Grösse der Partition. Wenn Sie nach + dem Typ der Partition gefragt werden, stellen Sie sicher, dass der + Wert auf <literal>165</literal> eingestellt ist. Schreiben Sie jetzt + diese Partitionstabelle auf die Platte durch betätigen der Taste + <keycap>w</keycap> (dies ist die versteckte Option auf diesem + Bildschirm). Wenn Sie eine ATA-kompatible Compact Flash-Karte + verwenden, sollten Sie den &os; Bootmanager auswählen. + Drücken Sie nun die Taste <keycap>q</keycap>, um das + Partitionsmenü zu verlassen. Sie werden das Menü des + Bootmanagers noch ein weiteres Mal gezeigt bekommt. In diesem Fall + wiederholen Sie die Auswahl von vorher.</para> + </step> + + <step> + <title>Anlegen von Dateisystemen auf Ihrem + Flashspeicher-Gerät</title> + + <para>Verlassen Sie das Installationsmenü und wählen Sie aus + dem Hauptinstallationsmenü die Option <literal>fixit</literal>. + In der fixit-Umgebung angelangt, geben Sie den folgenden Befehl + ein:</para> + + <screen>&prompt.root; <userinput>disklabel -e /dev/ad0c</userinput></screen> + + <para>Zu diesem Zeitpunkt sollten Sie sich im vi-Editor unter der + Herrschaft des disklabel-Kommandos befinden. Als nächstes + müssen Sie die eine <literal>a:</literal>-Zeile an das Ende der + Datei hinzufügen. Diese + <literal>a:</literal>-Zeile sollte wie folgt aussehen:</para> + + <programlisting>a: <replaceable>123456</replaceable> 0 4.2BSD 0 0</programlisting> + + <para>Wobei <replaceable>123456</replaceable> eine Zahl darstellt, die + exakt der gleichen Zahl in der bestehenden Zeile mit dem + <literal>c:</literal>-Eintrag entspricht. Sie kopieren quasi + die bestehende Zeile <literal>c:</literal> als eine neue Zeile + <literal>a:</literal> und stellen sicher, dass fstype + <literal>4.2BSD</literal> entspricht. Speichern Sie die Datei und + verlassen Sie den Editor.</para> + + <screen>&prompt.root; <userinput>disklabel -B -r /dev/ad0c</userinput> +&prompt.root; <userinput>newfs /dev/ad0a</userinput></screen> + </step> + + <step> + <title>Schreiben des Dateisystems auf Ihr Flash-Medium</title> + + <para>Hängen Sie das neu erstellte Flash-Medium ein:</para> + + <screen>&prompt.root; <userinput>mount /dev/ad0a /flash</userinput></screen> + + <para>Verbinden Sie diese Maschine mit dem Netzwerk, um die tar-Datei + zu übertragen und extrahieren Sie es auf das Dateisystem des + Flash-Mediums. Ein Beispiel dazu wäre folgendes:</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>Jetzt da die Maschine ans Netzwerk angeschlossen ist, kopieren + Sie die tar-Datei. An diesem Punkt werden Sie möglicherweise + mit einem Dilemma konfrontiert - sollte Ihr Flash-Speicher + beispielsweise 128 MB gross sein und Ihre tar-Datei grösser + als 64 MB, können Sie ihre tar-Datei auf dem Flash-Speicher + nicht entpacken - Ihnen wird vorher der Speicherplatz ausgehen. Eine + Lösung für dieses Problem, sofern Sie FTP verwenden, ist, + dass Sie die Datei entpacken können, während es von FTP + übertragen wird. Wenn Sie die Übertragung auf diese Weise + durchführen, haben Sie niemals die tar-Datei und deren Inhalt + zur gleichen Zeit auf Ihrem Medium:</para> + + <screen><prompt>ftp></prompt> <userinput>get tarfile.tar "| tar xvf -"</userinput></screen> + + <para>Sollte Ihre tar-Datei gezippt sein, können Sie dies + ebenso bewerkstelligen:</para> + + <screen><prompt>ftp></prompt> <userinput>get tarfile.tar "| zcat | tar xvf -"</userinput></screen> + + <para>Nachdem der Inhalt Ihrer tar-Datei auf dem Dateisystem des + Flash-Mediums abgelegt wurden, können Sie den Flash-Speicher + aushängen und neu starten:</para> + + <screen>&prompt.root; <userinput>cd /</userinput> +&prompt.root; <userinput>umount /flash</userinput> +&prompt.root; <userinput>exit</userinput></screen> + + <para>In der Annahme, dass Sie Ihr Dateisystem richtig konfiguriert + haben, als es noch auf der gewöhnlichen Festplatte gebaut wurde + (mit Ihren Nur-Lese-Dateisystemen und den nötigen Optionen im + Kernel), sollten Sie nun erfolgreich von Ihrem &os; Embedded-System + starten können.</para> + </step> + </procedure> + </sect1> + + <sect1 id="strategies"> + <title>Systemstrategien für kleine und Nur-Lese-Umgebungen</title> + + <para>In <xref linkend="ro-fs"/> wurde darauf hingewiesen, dass das + <filename>/var</filename>-Dateisystem von + <filename>/etc/rc.d/var</filename> konstruiert wurde und die Präsenz + eines Nur-Lese-Wurzeldateisystems Probleme mit vielen in &os; + gebrächlichen Softwarepaketen verursacht. In diesem Artikel werden + Vorschläge für das erfolgreiche Betreiben von cron, syslog, + Installationen von Ports und dem Apache-Webserver unterbreitet.</para> + + <sect2> + <title>cron</title> + + <para>Während des Bootvorgangs wird <filename + class="directory">/var</filename> von + <filename>/etc/rc.d/var</filename> anhand der Liste aus + <filename>/etc/mtree/BSD.var.dist</filename> gefüllt, damit + <filename class="directory">cron</filename>, <filename + class="directory">cron/tabs</filename>, <filename + class="directory">at</filename> und ein paar weitere + Standardverzeichnisse erstellt werden.</para> + + <para>Jedoch löst das noch nicht das Problem, Crontabs über + Neustarts des Systems hinaus zu erhalten. Wenn das System neu + gestartet wird, verschwindet das <filename>/var</filename>-Dateiystem, + welches sich im Hauptspeicher befunden hat und jegliche Crontabs, die + Sie hatten werden ebenfalls verschwinden. Aus diesem Grund besteht eine + Lösung darin, Crontabs für diejenigen Benutzer zu erstellen, + die diese auch benötigen. Dazu sollte das + <filename>/</filename>-Dateisystem lesend und schreibend + eingehängt und diese Crontabs an einen sicheren Ort kopiert + werden, wie beispielsweise <filename>/etc/tabs</filename>. Fügen + Sie dann eine Zeile an das Ende der Datei + <filename>/etc/rc.initdiskless</filename> hinzu, die diese Crontabs in + <filename>/var/cron/tabs</filename> kopiert, nachdem dieses Verzeichnis + während der Systeminitialisierung erstellt wurde. Sie werden auch + eine Zeile hinzufügen mössen, welche die Besitzer und + Berechtigungen auf diesen Verzeichnissen, die Sie erstellen und den + dazugehörigen Dateien, die Sie mittels + <filename>/etc/rc.initdiskless</filename> kopieren, setzen.</para> + </sect2> + + <sect2> + <title>syslog</title> + + <para>Die Datei <filename>syslog.conf</filename> spezifiziert den Ort von + bestimmten Logdateien, welche in <filename>/var/log</filename> + existieren. Diese Dateien werden nicht von + <filename>/etc/rc.d/var</filename> während der + Systeminitialisierung erstellt. Aus diesem Grund müssen Sie + irgendwo in <filename>/etc/rc.d/var</filename> nach dem Abschnitt, der + die Verzeichnisse in <filename>/var</filename> erstellt, eine Zeile + ähnlich der folgenden hinzufügen:</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>Installation von Ports</title> + + <para>Bevor die notwendigen Änderungen erkärt werden, einen + Ports-Baum zu verwenden, ist es notwendig, Sie an die + Nur-Lese-Besonderheit Ihres Dateisystems auf dem Flash-Medium zu + erinnern. Da dieses nur lesend verfügbar ist, müssen Sie es + vorübergehend mit Schreibrechten ausstatten, indem Sie die + mount-Syntax, wie in <xref linkend="ro-fs"/> dargestellt wird, + verwenden. Sie sollten immer diese Dateisysteme erneut mit + nur-Lese-Rechten einhängen wenn Sie damit fertig sind - + unnötige Schreibvorgänge auf dem Flash-Medium kann dessen + Lebenszeit erheblich verkürzen.</para> + + <para>Um es zu ermöglichen, in das Ports-Verzeichnis zu wechseln + und erfolgreich + <command>make</command> <maketarget>install</maketarget> + auszuführen, müssen wir ein Paketverzeichnis auf einem + Nicht-Hauptspeicherdateisystem erstellen, welches die Pakete über + Neustarts hinweg im Auge behält. Weil es sowieso nötig ist, + Ihre Dateisysteme mit Lese-Schreibrechten für die Installation + eines Pakets einzuhängen, ist es sinnvoll anzunehmen, dass ein + Bereich Ihres Flash-Mediums ebenfalls für Paketinformationen, die + darauf abgespeichert werden, verwendet wird.</para> + + <para>Erstellen Sie zuerst ein Verzeichnis für die Paketdatenbank. + Normalerweise ist dies <filename>/var/db/pkg</filename>, jedoch + können wir es dort nicht unterbringen, da es jedesmal verschwinden + wird, wenn das System neu gestartet wird.</para> + + <screen>&prompt.root; <userinput>mkdir /etc/pkg</userinput></screen> + + <para>Fügen Sie nun eine Zeile in <filename>/etc/rc.d/var</filename> + hinzu, welche das <filename>/etc/pkg</filename>-Verzeichnis mit + <filename>/var/db/pkg</filename> verknüpft. Ein Beispiel:</para> + + <screen>&prompt.root; <userinput>ln -s /etc/pkg /var/db/pkg</userinput></screen> + + <para>Nun wird jedes Mal, wenn Sie Ihre Dateisysteme mit + Lese-Schreibrechten einbinden und ein Paket installieren, der Befehl + <command>make</command> <maketarget>install</maketarget> funktionieren + und Paketinformationen werden erfolgreich nach + <filename>/etc/pkg</filename> geschrieben (da zu diesem Zeitpunkt das + Dateisystem mit Lese-Schreibrechten eingebunden ist), welche dann stets + dem Betriebssystem als <filename>/var/db/pkg</filename> zur + Verfügung stehen.</para> + </sect2> + + <sect2> + <title>Apache Webserver</title> + + <note> + <para>Die Anweisungen in diesem Abschnitt sind nur notwendig, wenn + Apache so eingerichtet ist, dass dieser seine PID oder + Protokollierungsinformationen ausserhalb von <filename + class="directory">/var</filename> ablegt. Standardmässig + bewahrt Apache seine PID-Datei in <filename + class="directory">/var/run/httpd.pid</filename> und seine + Protokolldateien in <filename + class="directory">/var/log</filename> auf.</para> + </note> + + <para>Es wird nun davon ausgegangen, dass Apache seine Protokolldateien + in einem Verzeichnis namens <filename + class="directory"><replaceable>apache_log_dir</replaceable></filename> + ausserhalb von <filename class="directory">/var</filename> speichert. + Wenn dieses Verzeichnis auf einem nur-Lese-Dateisystem existiert, wird + Apache nicht in der Lage sein, Protokolldateien zu speichern und wird + vermutlich nicht richtig funktionieren. Wenn dies der Fall ist, muss + ein neues Verzeichnis zu der Liste der Verzeichnisse in + <filename>/etc/rc.d/var</filename> hinzugefügt werden, um dieses + in <filename>/var</filename> zu erstellen und um <filename + class="directory"><replaceable>apache_log_dir</replaceable></filename> + nach <filename>/var/log/apache</filename> zu verknüpfen. Es ist + auch nötig, Berechtigungen und Besitzer auf diesem neuen + Verzeichnis zu setzen.</para> + + <para>Fügen Sie zuerst das Verzeichnis <literal>log/apache</literal> + zu der Liste von Verzeichnissen hinzu, die in + <filename>/etc/rc.d/var</filename> angelegt werden sollen.</para> + + <para>Danach tragen Sie die folgenden Befehle in + <filename>/etc/rc.d/var</filename> nach dem Abschnitt zum Erstellen der + Verzeichnisse ein:</para> + + <screen>&prompt.root; <userinput>chmod 0774 /var/log/apache</userinput> +&prompt.root; <userinput>chown nobody:nobody /var/log/apache</userinput></screen> + + <para>Schliesslich löschen Sie das bestehende <filename + class="directory"><replaceable>apache_log_dir</replaceable></filename> + Verzeichnis und ersetzen es mit einer Verknüpfung:</para> + + <screen>&prompt.root; <userinput>rm -rf <filename class="directory"><replaceable>apache_log_dir</replaceable></filename></userinput> +&prompt.root; <userinput>ln -s /var/log/apache <filename class="directory"><replaceable>apache_log_dir</replaceable></filename></userinput></screen> + </sect2> + </sect1> +</article> |