aboutsummaryrefslogtreecommitdiff
path: root/de_DE.ISO8859-1/books/handbook/config/chapter.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/config/chapter.sgml')
-rw-r--r--de_DE.ISO8859-1/books/handbook/config/chapter.sgml249
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 &uuml;blich, dass ein System mehrere Dienste
- zur Verf&uuml;gung stellt. Diese k&ouml;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&auml;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&uuml;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&auml;ngig von der &os;- oder
+ Hersteller-Version. Allerdings kann ein Dienst mit
+ einfachen Skripten gestartet werden.</para>
+
+ <para>Fr&uuml;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&uuml;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&auml;hnten Verzeichnis
+ ben&ouml;tigen.
+ <!-- XXX Im Original absolut unverstaendlich --> </para>
+
+ <para>Die Startskripten m&uuml;ssen das Suffix
+ <filename>.sh</filename> tragen und ausf&uuml;hrbar sein.
+ Sie machen ein Skript ausf&uuml;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}" &gt;&amp;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&uuml;hrt werden k&ouml;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&uuml;hren k&ouml;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&uuml;hrbar ist. Benutzen Sie &man.chmod.1;, um
- das Skript ausf&uuml;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. &Uuml;blich
- ist das f&uuml;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;&nbsp;3.1 existiert keine Vorgabe f&uuml;r
- <filename>/etc/rc.local</filename> mehr. Wenn die Datei allerdings
- von einem Administrator angelegt wird, so wird sie auch
- ausgef&uuml;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&ouml;glichkeit gibt, den Dienst zu starten, nehmen Sie diese
- bitte wahr.</para>
-
- <note><para>F&uuml;gen Sie bitte <emphasis>keine</emphasis> Kommandos
- in <filename>/etc/rc.conf</filename> ein. Starten Sie stattdessen
- D&aelig;mons oder Kommandos beim Hochfahren mit Skripten in
- <filename>/usr/local/etc/rc.d</filename>.</para></note>
-
- <para>Systemdienste k&ouml;nnen auch mit &man.cron.8; gestartet
- werden. Dieser Ansatz hat einige Vorteile; nicht zuletzt, weil
- &man.cron.8; die Prozesse unter dem Eigent&uuml;mer der
- <command>crontab</command> startet, ist es m&ouml;glich, dass
- Dienste von nicht-<username>root</username> Benutzern gestartet
- und gepflegt werden k&ouml;nnen.</para>
-
- <para>Dies nutzt eine Eigenschaft von &man.cron.8;:
- F&uuml;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&ouml;nnte
+ f&uuml;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&ouml;tigt, akzeptieren
+ immer mehr Ports diese Konfiguration. Pr&uuml;fen Sie
+ die Ausgaben w&auml;hrend der Installation einer
+ Anwendung, um herauszufinden, wie die Anwendung
+ gestartet wird. Einige Anwendungen stellen Startskripten
+ bereit, die zusammen rcNG (wird im n&auml;chsten
+ Abschnitt besprochen) benutzt werden.</para>
+
+ <sect2>
+ <title>Dienste mit rcNG starten</title>
+
+ <para>Mit rcNG l&auml;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&uuml;sselw&ouml;rtern k&ouml;nnen
+ Anwendungen in einer bestimmten Reihenfolge (zum Beispiel
+ nach <acronym>DNS</acronym>) gestartet werden und
+ Optionen k&ouml;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&auml;sst sich
+ &uuml;ber <filename>rc.conf</filename> leichter
+ konfigurieren. Sie k&ouml;nnten dieses Skript auch
+ im Verzeichnis <filename role="directory">/etc/rc.d</filename>
+ ablegen, das w&uuml;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&ouml;nnen &uuml;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&uuml;gt oder
+ aktiviert werden. Der Abschnitt
+ <xref linkend="network-inetd"> beschreibt den
+ <command>inetd</command> und dessen Konfiguration.</para>
+
+ <para>Systemdienste k&ouml;nnen auch mit &man.cron.8; gestartet
+ werden. Dieser Ansatz hat einige Vorteile; nicht zuletzt, weil
+ &man.cron.8; die Prozesse unter dem Eigent&uuml;mer der
+ <command>crontab</command> startet, ist es m&ouml;glich, dass
+ Dienste von nicht-<username>root</username> Benutzern gestartet
+ und gepflegt werden k&ouml;nnen.</para>
+
+ <para>Dies nutzt eine Eigenschaft von &man.cron.8;:
+ F&uuml;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&ouml;nnen eine Datei festgelegter Gr&ouml;&szlig;e als
Swap-Bereich nutzen. Im folgenden Beispiel werden wir eine 64&nbsp;MB
- gro&szlig;e Datei mit dem Namen <filename>/usr/swap0</filename>
+ gro&szlig;e Datei mit Namen <filename>/usr/swap0</filename>
benutzen, Sie k&ouml;nnen nat&uuml;rlich einen beliebigen Namen
f&uuml;r den Swap-Bereich benutzen.</para>