diff options
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/config/chapter.sgml')
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/config/chapter.sgml | 249 |
1 files changed, 170 insertions, 79 deletions
diff --git a/de_DE.ISO8859-1/books/handbook/config/chapter.sgml b/de_DE.ISO8859-1/books/handbook/config/chapter.sgml index 073e000c4f..85dda2e957 100644 --- a/de_DE.ISO8859-1/books/handbook/config/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/config/chapter.sgml @@ -3,8 +3,8 @@ The FreeBSD German Documentation Project $FreeBSD$ - $FreeBSDde: de-docproj/books/handbook/config/chapter.sgml,v 1.98 2004/08/30 22:40:55 mheinen Exp $ - basiert auf: 1.169 + $FreeBSDde: de-docproj/books/handbook/config/chapter.sgml,v 1.100 2004/09/24 00:24:05 mheinen Exp $ + basiert auf: 1.174 --> <chapter id="config-tuning"> @@ -333,98 +333,189 @@ </sect1> <sect1 id="configtuning-starting-services"> + <sect1info> + <authorgroup> + <author> + <firstname>Tom</firstname> + <surname>Rhodes</surname> + <contrib>Beigetragen von </contrib> + </author> + </authorgroup> + </sect1info> <title>Start von Diensten</title> - <indexterm><primary>Dienste</primary></indexterm> - - <para>Es ist üblich, dass ein System mehrere Dienste - zur Verfügung stellt. Diese können auf verschiedene - Weisen, die jeweils andere Vorteile haben, gestartet werden.</para> - - <indexterm><primary>/usr/local/etc/rc.d</primary></indexterm> - - <para>Software, die von einem Port oder einem Paket installiert - wurde, wird oft ein Skript in <filename>/usr/local/etc/rc.d</filename> - stellen. Dieses wird beim Hochfahren des Systems mit dem - Argument <option>start</option> und beim Herunterfahren mit - dem Argument <option>stop</option> aufgerufen. Das ist der empfohlene - Weg, systemweite Dienste, die unter <username>root</username> laufen - oder unter <username>root</username> gestartet werden, zu starten. - Die Skripten werden bei der Installation des Paketes registriert - und entfernt, wenn das Paket entfernt wird.</para> + <indexterm> + <primary>Dienste</primary> + </indexterm> - <para>Ein typisches Skript in <filename>/usr/local/etc/rc.d</filename> - sieht wie folgt aus:</para> + <para>Viele Benutzer installieren Software Dritter auf &os; + mithilfe der Ports-Collection. Häufig soll die + Software bei einem Systemstart mitgestartet werden. + Beispielsweise sollen die Dienste + <filename role="package">mail/postfix</filename> oder + <filename role="package">www/apache13</filename> nach + einem Systemstart laufen. Dieser Abschnitt stellt + die Startprozeduren für Software Dritter vor.</para> + + <para>Unter &os; werden die meisten der im System enthaltenen + Dienste wie &man.cron.8; mithilfe von Systemskripten gestartet. + Diese Skripten sind abhängig von der &os;- oder + Hersteller-Version. Allerdings kann ein Dienst mit + einfachen Skripten gestartet werden.</para> + + <para>Früher legten Anwendungen einfach ein + Startskript im Verzeichnis + <filename role="directory">/usr/local/etc/rc.d</filename> + ab. Das Startskript wurde von den Systemskripten in + den letzten Phasen des Systemstarts ausgeführt.</para> + + <para>Mit dem Aufkommen von + <link linkend="configtuning-rcNG">rcNG</link> wurde + klar, dass der Start von Anwendungen Dritter vereinfacht + werden konnte. Obwohl viele Startskripten auf das + neue System umgestellt wurden, gibt es noch Anwendungen, + die ein Startskript im eben erwähnten Verzeichnis + benötigen. + <!-- XXX Im Original absolut unverstaendlich --> </para> + + <para>Die Startskripten müssen das Suffix + <filename>.sh</filename> tragen und ausführbar sein. + Sie machen ein Skript ausführbar, indem Sie mit + <command>chmod</command> die Rechte <literal>755</literal> + vergeben. Das Skript sollte die Optionen <option>start</option> + und <option>stop</option> akzeptieren, um die Anwendung + zu starten und zu stoppen.</para> + + <para>Ein einfaches Startskript sieht wie folgt aus:</para> <programlisting>#!/bin/sh -echo -n ' FooBar' +echo -n ' utility' case "$1" in start) - /usr/local/bin/foobar + /usr/local/bin/utility ;; stop) - kill -9 `cat /var/run/foobar.pid` + kill -9 `cat /var/run/utility.pid` ;; *) - echo "Usage: `basename $0` {start|stop}" >&2 + echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ;; esac -exit 0 - </programlisting> - - <para>Die Startskripten von &os; suchen in - <filename>/usr/local/etc/rc.d</filename> nach Dateien mit dem Suffix - <literal>.sh</literal>, die von <username>root</username> - ausgeführt werden können. Die gefundenen Skripten werden - beim Hochfahren des Systems mit der Option <option>start</option> und - beim Herunterfahren mit der Option <option>stop</option> aufgerufen, - damit sie die passenden Aktionen ausführen können. Wenn - Sie das vorige Beispiel beim Systemstart verwenden wollen, sollten - Sie es also als <filename>FooBar.sh</filename> in - <filename>/usr/local/etc/rc.d</filename> speichern und sicherstellen, - das das Skript ausführbar ist. Benutzen Sie &man.chmod.1;, um - das Skript ausführbar zu machen:</para> - - <screen>&prompt.root; <userinput>chmod 755 <replaceable>FooBar.sh</replaceable></userinput></screen> - - <para>Manche Dienste werden von &man.inetd.8; aufgerufen, wenn - eine Verbindung auf dem passenden Port aufgebaut wird. Üblich - ist das für Server von Mail-Clients (POP, IMAP, usw.). Diese - Dienste werden durch das Editieren von - <filename>/etc/inetd.conf</filename> aktiviert. Details dazu - finden sich in &man.inetd.8;.</para> - - <para>Weitere Systemdienste werden vielleicht nicht von - <filename>/etc/rc.conf</filename> abgedeckt. Diese werden - traditionell durch Kommandos in <filename>/etc/rc.local</filename> - aktiviert. Seit &os; 3.1 existiert keine Vorgabe für - <filename>/etc/rc.local</filename> mehr. Wenn die Datei allerdings - von einem Administrator angelegt wird, so wird sie auch - ausgeführt. Beachten Sie bitte, dass - <filename>/etc/rc.local</filename> als der letzte Weg, einen - Dienst zu starten, angesehen wird. Wenn es eine andere - Möglichkeit gibt, den Dienst zu starten, nehmen Sie diese - bitte wahr.</para> - - <note><para>Fügen Sie bitte <emphasis>keine</emphasis> Kommandos - in <filename>/etc/rc.conf</filename> ein. Starten Sie stattdessen - Dæmons oder Kommandos beim Hochfahren mit Skripten in - <filename>/usr/local/etc/rc.d</filename>.</para></note> - - <para>Systemdienste können auch mit &man.cron.8; gestartet - werden. Dieser Ansatz hat einige Vorteile; nicht zuletzt, weil - &man.cron.8; die Prozesse unter dem Eigentümer der - <command>crontab</command> startet, ist es möglich, dass - Dienste von nicht-<username>root</username> Benutzern gestartet - und gepflegt werden können.</para> - - <para>Dies nutzt eine Eigenschaft von &man.cron.8;: - Für die Zeitangabe kann <literal>@reboot</literal> - eingesetzt werden. Damit wird das Kommando gestartet, wenn - &man.cron.8; kurz nach dem Systemboot gestartet wird.</para> +exit 0</programlisting> + + <para>Das Skript akzeptiert die Optionen <literal>start</literal> + und <literal>stop</literal> zum Starten und Stoppen + einer Anwendung mit Namen <literal>utility</literal>. + In <filename>/etc/rc.conf</filename> könnte + für diese Anwendung die folgende Zeile stehen:</para> + + <programlisting>utility_enable="YES"</programlisting> + + <para>Manuell wird die Anwendung mit dem nachstehenden + Kommando gestartet:</para> + + <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/utility.sh start</userinput></screen> + + <para>Obwohl nicht jede Anwendung die Zeile in + <filename>rc.conf</filename> benötigt, akzeptieren + immer mehr Ports diese Konfiguration. Prüfen Sie + die Ausgaben während der Installation einer + Anwendung, um herauszufinden, wie die Anwendung + gestartet wird. Einige Anwendungen stellen Startskripten + bereit, die zusammen rcNG (wird im nächsten + Abschnitt besprochen) benutzt werden.</para> + + <sect2> + <title>Dienste mit rcNG starten</title> + + <para>Mit rcNG lässt sich der Start von Anwendungen + besser steuern als mit den vorher besprochenen + Startskripten. Mit den im Abschnitt + <link linkend="configtuning-rcNG">rcNG</link> + besprochenen Schlüsselwörtern können + Anwendungen in einer bestimmten Reihenfolge (zum Beispiel + nach <acronym>DNS</acronym>) gestartet werden und + Optionen können in <filename>rc.conf</filename> + statt fest im Startskript der Anwendung festgelegt werden. + Ein einfaches Startskript sieht wie folgt aus:</para> + + <programlisting>#!/bin/sh +# +# PROVIDE: utility +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD shutdown + +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +# SET THEM IN THE /etc/rc.conf FILE +# +utility_enable=${utility_enable-"NO"} +utility_flags=${utility_flags-""} +utility_pidfile=${utility_pidfile-"/var/run/utility.pid"} + +. /etc/rc.subr + +name="utility" +rcvar=`set_rcvar` +command="/usr/local/sbin/utility" + +load_rc_config $name + +pidfile="${utility_pidfile}" + +start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args}" + +run_rc_command "$1"</programlisting> + + <para>Dieses Skript stellt sicher, dass + <application>utility</application> vor den + <literal>login</literal>-Diensten und nach den + <literal>daemon</literal>-Diensten gestartet wird. + Es stellt auch eine Methode bereit, die + Prozess-<acronym>ID</acronym> (<acronym>PID</acronym>) + der Anwendung in einer Datei zu speichern.</para> + + <para>Die neue Methode erleichtert den Umgang mit + Kommandozeilenargumenten, bindet Funktionen aus + <filename>/etc/rc.subr</filename> ein, ist kompatibel + zum Werkzeug &man.rcorder.8; und lässt sich + über <filename>rc.conf</filename> leichter + konfigurieren. Sie könnten dieses Skript auch + im Verzeichnis <filename role="directory">/etc/rc.d</filename> + ablegen, das würde aber wahrscheinlich bei + Aktualisierungen Probleme mit &man.mergemaster.8; + verursachen.</para> + </sect2> + + <sect2> + <title>Andere Arten, um Dienste zu starten</title> + + <para>Dienste wie <acronym>POP</acronym>3 oder + <acronym>IMAP</acronym> können über den + &man.inetd.8; gestartet werden. Nach der Installation + der Anwendung aus der Ports-Collection muss eine + Konfigurationszeile in der Datei + <filename>/etc/inetd.conf</filename> hinzugefügt oder + aktiviert werden. Der Abschnitt + <xref linkend="network-inetd"> beschreibt den + <command>inetd</command> und dessen Konfiguration.</para> + + <para>Systemdienste können auch mit &man.cron.8; gestartet + werden. Dieser Ansatz hat einige Vorteile; nicht zuletzt, weil + &man.cron.8; die Prozesse unter dem Eigentümer der + <command>crontab</command> startet, ist es möglich, dass + Dienste von nicht-<username>root</username> Benutzern gestartet + und gepflegt werden können.</para> + + <para>Dies nutzt eine Eigenschaft von &man.cron.8;: + Für die Zeitangabe kann <literal>@reboot</literal> + eingesetzt werden. Damit wird das Kommando gestartet, wenn + &man.cron.8; kurz nach dem Systemboot gestartet wird.</para> + </sect2> </sect1> <sect1 id="configtuning-cron"> @@ -2279,7 +2370,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen> <para>Sie können eine Datei festgelegter Größe als Swap-Bereich nutzen. Im folgenden Beispiel werden wir eine 64 MB - große Datei mit dem Namen <filename>/usr/swap0</filename> + große Datei mit Namen <filename>/usr/swap0</filename> benutzen, Sie können natürlich einen beliebigen Namen für den Swap-Bereich benutzen.</para> |