Page MenuHomeFreeBSD

D5972.diff
No OneTemporary

D5972.diff

Index: head/de_DE.ISO8859-1/books/handbook/jails/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/jails/chapter.xml
+++ head/de_DE.ISO8859-1/books/handbook/jails/chapter.xml
@@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/jails/chapter.xml,v 1.23 2011/05/25 20:42:25 jkois Exp $
- basiert auf: r44513
+ basiert auf: r44517
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="jails">
<info><title>Jails</title>
@@ -504,64 +504,55 @@
</sect1>
<sect1 xml:id="jails-application">
- <title>Anwendung von Jails</title>
+ <info>
+ <title>Mehrere Jails aktualisieren</title>
- <sect2 xml:id="jails-service-jails">
- <info><title>Service-Jails</title>
<authorgroup>
<author><personname><firstname>Daniel</firstname><surname>Gerzo</surname></personname><contrib>Beigetragen von </contrib></author>
</authorgroup>
+ <authorgroup>
+ <author>
+ <personname>
+ <firstname>Simon</firstname>
+ <surname>L. B. Nielsen</surname>
+ </personname>
+ <contrib>Basierend auf einer Idee von </contrib>
+ </author>
+ </authorgroup>
+ <authorgroup>
+ <author>
+ <personname>
+ <firstname>Ken</firstname>
+ <surname>Tom</surname>
+ </personname>
+ <contrib>Artikel geschrieben von </contrib>
+ </author>
+ </authorgroup>
</info>
-
-
- <para>Dieser Abschnitt basiert auf einer von &a.simon.email; auf <uri xlink:href="http://simon.nitro.dk/service-jails.html">http://simon.nitro.dk/service-jails.html</uri>
- präsentierten Idee und einem aktualisierten
- Artikel von Ken Tom (<email>locals@gmail.com</email>). Er
- beschreibt, wie ein &os;-System durch Benutzung der
- &man.jail.8;-Funktion mit zusätzlichen
- Sicherheitsebenen ausgestattet werden kann. Es wird dabei
- angenommen, dass auf Ihrem &os;-System RELENG_6_0 oder neuer
- installiert ist und dass Sie die Informationen aus den
- vorangehenden Abschnitten gelesen und verstanden haben.</para>
-
- <sect3 xml:id="jails-service-jails-design">
- <title>Design</title>
-
- <para>Eines der Hauptprobleme bei Jails ist das Management
- ihres Upgrade-Prozesses. Dieser neigt dazu, problematisch zu
+ <para>Die Verwaltung von mehreren Jails kann problematisch
sein, da jede Jail bei jedem Upgrade komplett neu gebaut
- werden muss. Das stellt normalerweise kein Problem dar, wenn
- es sich um eine einzelne Jail handelt, da der Upgrade-Prozess
- recht einfach ist. Verwenden Sie aber eine größere
- Anzahl von Jails, kann dieser Prozess sehr zeitaufwendig
- werden.</para>
-
- <warning>
- <para>Diese Konfiguration erfordert fortgeschrittene
- Kenntnisse im Umgang mit &os; sowie der Benutzung seiner
- Funktionen. Sollten die unten vorgestellten Schritte zu
- kompliziert wirken, wird empfohlen, sich einfachere Verfahren
- wie <package>sysutils/ezjail</package>
- anzusehen, da diese einfachere Methoden zur Administration
- von Jails verwenden und daher nicht so anspruchsvoll sind
- wie der hier beschriebene Aufbau.</para>
- </warning>
-
- <para>Diese Konfiguration basiert darauf, Jails so weit als
- möglich gemeinsam zu verwalten. Dies passiert auf sichere
- Art und Weise durch den Einsatz von &man.mount.nullfs.8;-Mounts
- (read-only). Dadurch werden Aktualisierungen erleichtert und
- das Verteilen von verschiedenen Diensten auf verschiedene
- Jails wird attraktiver. Außerdem bietet dieses Verfahren
- einen einfachen Weg, Jails hinzuzufügen, zu entfernen und
- zu aktualisieren.</para>
+ werden muss. Dieser Prozess kann sehr zeitaufwändig sein,
+ wenn eine große Anzahl von Jails erstellt oder manuell
+ aktualisiert werden müssen.</para>
+
+ <para>Dieser Abschnitt beschreibt eine Methode zur Lösung
+ dieses Problems, indem so viel wie möglich zwischen Jails,
+ auf sichere Art und Weise, durch den Einsatz von
+ &man.mount.nullfs.8;-Mounts geteilt wird. Dadurch werden
+ Aktualisierungen erleichtert und das Verteilen von
+ verschiedenen Diensten, wie <acronym>HTTP</acronym>,
+ <acronym>DNS</acronym> und <acronym>SMTP</acronym>, auf
+ verschiedene Jails wird attraktiver. Außerdem bietet dieses
+ Verfahren einen einfachen Weg, Jails zu erstellen, zu
+ entfernen und zu aktualisieren.</para>
<note>
- <para>Beispiele für Dienste sind in diesem
- Zusammenhang: Ein <acronym>HTTP</acronym>-Server, ein
- <acronym>DNS</acronym>-Server, ein
- <acronym>SMTP</acronym>-Server und so weiter.</para>
+ <para>Es existieren auch einfachere Lösungen, wie zum
+ Beispiel <package>sysutils/ezjail</package>, das
+ einfachere Methoden zur Administration von Jails verwendet
+ und daher nicht so anspruchsvoll ist, wie der hier
+ beschriebene Aufbau.</para>
</note>
<para>Die Ziele des in diesem Abschnitt beschriebenen Aufbaus
@@ -570,10 +561,9 @@
<itemizedlist>
<listitem>
<para>Das Erstellen einer einfachen und gut
- verständlichen Struktur von Jails. Dies beinhaltet,
- <emphasis>nicht</emphasis> für jede Jail ein
- vollständiges installworld laufen lassen zu
- müssen.</para>
+ verständlichen Jail Struktur, die es nicht
+ erfordert für jede Jail ein vollständiges installworld
+ laufen lassen zu müssen.</para>
</listitem>
<listitem>
@@ -602,22 +592,23 @@
</listitem>
</itemizedlist>
- <para>Wie bereits erwähnt, ist dieses Design stark darauf
- angewiesen, dass eine read-only-Hauptvorlage in jede Jail
- hinein gemountet wird (bekannt als
- <application>nullfs</application>), und dass jede Jail
- über wenigstens ein beschreibbares Gerät
- verfügt. Das Gerät kann hierbei eine separate
- physikalische Platte oder ein vnode unterstütztes
- &man.md.4;-Gerät sein. Im folgenden Beispiel wird ein
- <application>nullfs</application>-Mount genutzt, auf den
- nur Lesezugriff erlaubt ist.</para>
+ <para>Dieses Design ist darauf angewiesen, dass eine
+ read-only-Hauptvorlage in jede Jail hinein gemountet wird
+ und dass jede Jail über wenigstens ein beschreibbares Gerät
+ verfügt. Das Gerät kann hierbei eine separate physikalische
+ Platte oder ein vnode unterstütztes Speichergerät sein. Im
+ folgenden Beispiel wird ein read/write
+ <application>nullfs</application>-Mount genutzt.</para>
- <para>Das Layout des Dateisystems wird in der folgenden Liste
- beschrieben:</para>
+ <para>Das Layout des Dateisystems ist wie folgt:</para>
<itemizedlist>
<listitem>
+ <para>Die Jails befinden sich unterhalb der
+ <filename>/home</filename> Partition.</para>
+ </listitem>
+
+ <listitem>
<para>Jede Jail wird unterhalb des <filename>/home/j</filename>-Verzeichnisses
gemountet.</para>
</listitem>
@@ -644,49 +635,31 @@
</listitem>
<listitem>
- <para>Jeder Jailbereich (genauer der read/write-Teilbereich
- jeder Jail) wird in <filename>/home/js</filename> erstellt.</para>
+ <para>Der read/write-Teilbereich jeder Jail wird in
+ <filename>/home/js</filename> erstellt.</para>
</listitem>
</itemizedlist>
- <note>
- <para>Es wird angenommen, dass die Jails sich unterhalb des
- <filename>/home</filename> Verzeichnisses
- befinden. Dieser Ort kann von Ihnen natürlich
- geändert werden. Allerdings müssen die Pfade
- in den folgenden Beispielen dann entsprechend angepasst
- werden.</para>
- </note>
<!-- Insert an image or drawing here to illustrate the example. -->
- </sect3>
- <sect3 xml:id="jails-service-jails-template">
+ <sect2 xml:id="jails-service-jails-template">
<title>Erstellen der Vorlage</title>
<para>Dieser Abschnitt beschreibt die Schritte, die zum
- Erstellen der Hauptvorlage (die den nur lesbaren Bereich
- für alle weiteren Jails darstellt) notwendig sind.</para>
+ Erstellen der Hauptvorlage notwendig sind.</para>
- <para>Es ist immer eine gute Idee, &os; auf den aktuellen
- -RELEASE-Zweig zu aktualisieren. Lesen Sie das entsprechende
- <link xlink:href="&url.books.handbook;/makeworld.html">Kapitel</link> des
- Handbuchs für Informationen zu diesem Thema. Selbst wenn
- Sie auf eine Aktualisierung des Betriebssystems verzichten,
- müssen Sie dennoch ein buildworld durchführen, um
- fortfahren zu können. Außerdem müssen Sie
- das Paket <package>sysutils/cpdup</package>
- installiert sein. In diesem Beispiel wird &man.portsnap.8;
- verwendet, um die aktuelle &os; Ports-Sammlung herunterzuladen.
- Der Abschnitt <link
- xlink:href="&url.books.handbook;/ports-using.html">Portsnap</link>
- des Handbuchs beschreibt, wie Sie dieses Werkzeug effektiv
- einsetzen.</para>
+ <para>Es wird empfohlen, zunächst das &os; Host-System nach
+ den Anweisungen in <xref linkend="makeworld"/> auf den
+ aktuellen -RELEASE-Zweig zu aktualisieren. Darüber hinaus
+ verwendet diese Vorlage <package>sysutils/cpdup</package>,
+ sowie <application>portsnap</application> zum herunterladen
+ der &os; Ports-Sammlung.</para>
<procedure>
<step>
<para>Zuerst erstellen wir eine Verzeichnissstruktur
für das read-only-Dateisystem, das die
- &os;-Binärdateien für unsere Jails enthalten
+ &os;-Binärdateien für die Jails enthalten
wird. Anschließend wechseln wir in den
&os;-Quellcodebaum und installieren das
read-only-Dateisystem in die (Vorlage-)Jail.</para>
@@ -734,12 +707,12 @@
<step>
<para>Nun wird das read/write-Dateisystem mit dem
- read-only-Dateisystem verlinkt. Bitte vergewissern Sie
+ read-only-Dateisystem verlinkt. Vergewissern Sie
sich, dass die symbolischen Links an den korrekten
- <filename>s/</filename> Positionen
- erstellt werden. Echte Verzeichnisse oder an falschen
- Positionen erstellte Verzeichnisse lassen die Installation
- fehlschlagen.</para>
+ <filename>s/</filename> Positionen erstellt werden, weil
+ echte Verzeichnisse oder an falschen Positionen
+ erstellte Verzeichnisse die Installation fehlschlagen
+ lassen.</para>
<screen>&prompt.root; <userinput>cd /home/j/mroot</userinput>
&prompt.root; <userinput>mkdir s</userinput>
@@ -760,8 +733,7 @@
<programlisting>WRKDIRPREFIX?= /s/portbuild</programlisting>
- <para>Ein gesetztes <literal>WRKDIRPREFIX</literal>
- erlaubt es, die &os;-Ports innerhalb jeder Jail
+ <para>Dies erlaubt es, die &os;-Ports innerhalb jeder Jail
zu kompilieren. Das Ports-Verzeichnis ist Teil des
read-only System. Der angepasste Pfad des
<literal>WRKDIRPREFIX</literal> macht es möglich,
@@ -769,17 +741,16 @@
bauen.</para>
</step>
</procedure>
- </sect3>
+ </sect2>
- <sect3 xml:id="jails-service-jails-creating">
+ <sect2 xml:id="jails-service-jails-creating">
<title>Jails erstellen</title>
- <para>Da nun eine komplette &os;-Jailvorlage vorliegt, sind wir
- nun in der Lage, Jails einrichten und in
- <filename>/etc/rc.conf</filename> zu konfigurieren. Dieses
- Beispiel zeigt das Erstellen von drei Jails:
- <quote>NS</quote>, <quote>MAIL</quote> und
- <quote>WWW</quote>.</para>
+ <para>Die Jailvorlage kann nun verwendet werden, um die Jails
+ einzurichten und in <filename>/etc/rc.conf</filename> zu
+ konfigurieren. In diesem Beispiel werden drei Jails
+ erstellt: <literal>NS</literal>, <literal>MAIL</literal>
+ und <literal>WWW</literal>.</para>
<procedure>
<step>
@@ -795,19 +766,13 @@
/home/js/mail /home/j/mail/s nullfs rw 0 0
/home/js/www /home/j/www/s nullfs rw 0 0</programlisting>
- <note>
- <para>Mit der Pass-Nummer 0 markierte Partitionen werden
- beim Booten des Systems nicht von &man.fsck.8;
- geprüft, mit 0 als Dump-Nummer markierte Partitonen
- werden von &man.dump.8; nicht gesichert. Wir wollen
- nicht, dass <application>fsck</application> unsere
- <application>nullfs</application>-Mounts prüft oder
- dass <application>dump</application> die nur lesbaren
- nullfs-Mounts unserer Jails sichert. Deshalb werden
- diese Bereiche in den letzten beiden Spalten der
- obenstehenden <filename>fstab</filename> mit
- <quote>0&nbsp;0</quote> markiert.</para>
- </note>
+ <para>Um zu verhindern, dass
+ <application>fsck</application> die
+ <application>nullfs</application>-Mounts während des
+ Bootens überprüft oder dass
+ <application>dump</application> die Mounts sichert,
+ müssen die letzten beiden Spalten auf
+ <literal>0</literal> gesetzt werden.</para>
</step>
<step>
@@ -830,23 +795,17 @@
jail_www_rootdir="/usr/home/j/www"
jail_www_devfs_enable="YES"</programlisting>
- <warning>
- <para>Der Grund dafür, dass die Variablen
+ <para>Die Variable
<varname>jail_<replaceable>name</replaceable>_rootdir</varname>
- nach <filename>/usr/home</filename>
- statt nach <filename>/home</filename>
- zeigen, liegt darin, dass der physikalische Pfad des
- <filename>/home</filename>-Verzeichnisses unter
- &os; <filename>/usr/home</filename>
- lautet. Die Variable
+ zeigt nach <filename>/usr/home</filename> statt nach
+ <filename>/home</filename>, da der physikalische Pfad
+ von <filename>/home</filename> unter &os;
+ <filename>/usr/home</filename> lautet. Die Variable
<varname>jail_<replaceable>name</replaceable>_rootdir</varname>
- darf im Pfad aber <emphasis>keinen symbolischen
- Link</emphasis> enthalten, weil das Jail ansonsten
- nicht gestartet werden kann. Verwenden Sie
- &man.realpath.1;, um den korrekten Wert für diese
- Variable zu bestimmen. Weitere Informationen finden
- Sie im Security Advisory &os;-SA-07:01.jail.</para>
- </warning>
+ darf im Pfad aber
+ <emphasis>keinen symbolischen Link</emphasis>
+ enthalten, weil das Jail ansonsten nicht gestartet
+ werden kann.</para>
</step>
<step>
@@ -857,10 +816,9 @@
</step>
<step>
- <para>Installieren Sie die read/write-Vorlage in jede
- Jail. Benutzen Sie hierfür <package>sysutils/cpdup</package>, welches es
- erleichtert, eine korrekte Kopie jedes Verzeichnisses
- zu erstellen:</para>
+ <para>Installieren Sie mit
+ <package>sysutils/cpdup</package> die read/write-Vorlage
+ in jede Jail:</para>
<!-- keramida: Why is cpdup required here? Doesn't cpio(1)
already include adequate functionality for performing this
@@ -875,9 +833,9 @@
<step>
<para>An dieser Stelle werden die Jails erstellt und
- fü den Betrieb vorbereitet. Zuerst mounten Sie die
- notwendigen Dateisysteme für jede Jail und starten
- diese dann mit dem jail rc-Skript.</para>
+ fü den Betrieb vorbereitet. Mounten Sie zuerst die
+ notwendigen Dateisysteme für jede Jail. Danach starten
+ Sie die Jails:</para>
<screen>&prompt.root; <userinput>mount -a</userinput>
&prompt.root; <userinput>service jail start</userinput></screen>
@@ -885,9 +843,9 @@
</procedure>
<para>Die Jails sollten nun laufen. Um zu prüfen, ob sie
- korrekt gestartet wurden, verwenden Sie &man.jls.8;. Nach
- dem Aufruf dieses Befehls sollten Sie eine Ausgabe
- ähnlich der folgenden erhalten:</para>
+ korrekt gestartet wurden, verwenden Sie
+ <command>jls</command>. Die Ausgabe sollte ähnlich der
+ folgenden sein:</para>
<screen>&prompt.root; <userinput>jls</userinput>
JID IP Address Hostname Path
@@ -900,30 +858,26 @@
konfigurieren. Die Spalte <literal>JID</literal> gibt die
Jail-Identifikationsnummer jeder laufenden Jail an. Nutzen Sie
den folgenden Befehl, um administrative Aufgaben in der Jail
- mit der <literal>JID</literal> 3 durchzuführen:</para>
+ mit der <literal>JID</literal> <literal>3</literal>
+ durchzuführen:</para>
<screen>&prompt.root; <userinput>jexec 3 tcsh</userinput></screen>
- </sect3>
+ </sect2>
- <sect3 xml:id="jails-service-jails-upgrading">
+ <sect2 xml:id="jails-service-jails-upgrading">
<title>Jails aktualisieren</title>
- <para>Mit der Zeit wird es notwendig sein, das System auf
- eine neuere Version von &os; zu aktualisieren. Zum einen aus
- Sicherheitsgründen, zum anderen, um neu eingeführte
- Funktionen nutzen zu können, die für die bestehenden
- Jails sinnvoll sind. Das Design dieses Aufbaus bietet einen
- einfachen Weg, bestehende Jails zu aktualisieren. Zudem
- reduziert es die Downtime, da die Jails erst im allerletzten
- Schritt gestoppt werden müssen. Außerdem bietet
- es die Möglichkeit, zu älteren Versionen
- zurückzukehren, falls irgendwelche Probleme auftreten.</para>
+ <para>Das Design dieses Aufbaus bietet einen einfachen Weg,
+ bestehende Jails zu aktualisieren, während die Ausfallzeiten
+ minimiert werden. Außerdem bietet es die Möglichkeit, zu
+ älteren Versionen zurückzukehren, falls irgendwelche
+ Probleme auftreten.</para>
<procedure>
<step>
<para>Im ersten Schritt wird das Host-System aktualisiert.
- Anschließend wird eine temporäre neue
- read-only Vorlage <filename>/home/j/mroot2</filename> erstellt.</para>
+ Anschließend wird eine temporäre neue read-only Vorlage
+ <filename>/home/j/mroot2</filename> erstellt.</para>
<screen>&prompt.root; <userinput>mkdir /home/j/mroot2</userinput>
&prompt.root; <userinput>cd /usr/src</userinput>
@@ -932,9 +886,9 @@
&prompt.root; <userinput>cpdup /usr/src usr/src</userinput>
&prompt.root; <userinput>mkdir s</userinput></screen>
- <para>Der <buildtarget>installworld</buildtarget>-Durchlauf
- erzeugt einige unnötige Verzeichnisse, die nun entfernt
- werden sollten:</para>
+ <para><buildtarget>installworld</buildtarget> erzeugt
+ einige unnötige Verzeichnisse, die nun entfernt werden
+ sollten:</para>
<screen>&prompt.root; <userinput>chflags -R 0 var</userinput>
&prompt.root; <userinput>rm -R etc var root usr/local tmp</userinput></screen>
@@ -954,13 +908,15 @@
</step>
<step>
- <para>Nun ist es an der Zeit, die Jails zu stoppen:</para>
+ <para>Nun können die Jails gestoppt werden:</para>
<screen>&prompt.root; <userinput>service jail stop</userinput></screen>
</step>
<step>
- <para>Unmounten des originalen Dateisystems:</para>
+ <para>Hängen Sie die originalen Dateisysteme aus, da die
+ read/write-Systeme an das read-only System
+ (<filename>/s</filename>) angeschlossen sind:</para>
<!-- keramida: Shouldn't we suggest a short script-based
loop here, instead of tediously copying the same commands
@@ -972,12 +928,6 @@
&prompt.root; <userinput>umount /home/j/mail</userinput>
&prompt.root; <userinput>umount /home/j/www/s</userinput>
&prompt.root; <userinput>umount /home/j/www</userinput></screen>
-
- <note>
- <para>Die read/write-Systeme sind an das read-only
- System angehängt (<filename>/s</filename>), das daher zuerst
- ausgehängt werden muss.</para>
- </note>
</step>
<step>
@@ -1005,12 +955,10 @@
</step>
</procedure>
- <para>Nutzen Sie &man.jls.8; um zu prüfen, ob die Jails
- korrekt gestartet wurden. Vergessen Sie nicht, innerhalb jeder
- Jail <command>mergemaster</command> laufen zu lassen. Die
- Konfigurationsdateien müssen (ebenso wie die
- rc.d-Skripten) aktualisiert werden.</para>
- </sect3>
+ <para>Nutzen Sie <command>jls</command> um zu prüfen, ob die
+ Jails korrekt gestartet wurden. Führen Sie innerhalb jeder
+ Jail <command>mergemaster</command> aus, damit die
+ Konfigurationsdateien aktualisiert werden.</para>
</sect2>
</sect1>
</chapter>

File Metadata

Mime Type
text/plain
Expires
Thu, Feb 6, 9:27 PM (18 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16501735
Default Alt Text
D5972.diff (19 KB)

Event Timeline