svn commit: r49277 - head/de_DE.ISO8859-1/books/handbook/cutting-edge
Bjoern Heidotting
bhd at FreeBSD.org
Sun Aug 14 07:22:33 UTC 2016
Author: bhd
Date: Sun Aug 14 07:22:31 2016
New Revision: 49277
URL: https://svnweb.freebsd.org/changeset/doc/49277
Log:
Update to r44734:
Editorial review of Variables and Targets section.
Move note on scripting the process to above the process.
Modified:
head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml
Modified: head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml
==============================================================================
--- head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml Sat Aug 13 20:29:11 2016 (r49276)
+++ head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml Sun Aug 14 07:22:31 2016 (r49277)
@@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde$
- basiert auf: r44733
+ basiert auf: r44734
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="updating-upgrading">
<info><title>&os; aktualisieren</title>
@@ -1427,6 +1427,26 @@ before running "/usr/sbin/freebsd-update
Reihenfolge bei der Aktualisierung geführt, die im folgenden
Prozess beschrieben wird.</para>
+ <note>
+ <para>Es ist ratsam, die Ausgaben von <command>make</command>
+ in einer Datei zu sichern. Wenn etwas schief geht, kann
+ eine Kopie der Fehlermeldung zu einer der &os;-Mailinglisten
+ gesendet werden.</para>
+
+ <para>Dazu können Sie einfach <command>script</command>
+ benutzen, dem Sie beim Aufruf als Parameter den Dateinamen
+ für die Ausgaben mitgeben. Sichern Sie die Ausgaben nicht
+ nach <filename>/tmp</filename>, da dessen Inhalt beim
+ nächsten Neustart vielleicht verloren geht. Ein besserer
+ Platz ist <filename>/var/tmp</filename>. Setzen Sie dieses
+ Kommando unmittelbar vor dem Neubau ab und geben Sie
+ <userinput>exit</userinput> ein, wenn der Bau abgeschlossen
+ ist:</para>
+
+ <screen>&prompt.root; <userinput>script <replaceable>/var/tmp/mw.out</replaceable></userinput>
+Script started, output file is /var/tmp/mw.out</screen>
+ </note>
+
<procedure>
<title>Zusammenfassung des Aktualisierungsprozesses</title>
@@ -1448,60 +1468,60 @@ before running "/usr/sbin/freebsd-update
</step>
<step>
- <para>Übersetzen Sie zuerst den neuen Compiler und
- ein paar damit zusammenhängende Werkzeuge. Verwenden Sie
- dann den neuen Compiler, um den Rest des Basissystems zu
- erstellen. Das Ergebnis wird in
- <filename>/usr/obj</filename> abgelegt.</para>
+ <para>Übersetzen Sie zuerst den neuen Compiler und
+ ein paar damit zusammenhängende Werkzeuge. Verwenden Sie
+ dann den neuen Compiler, um den Rest des Basissystems zu
+ erstellen. Das Ergebnis wird in
+ <filename>/usr/obj</filename> abgelegt.</para>
- <screen>&prompt.root; <userinput>cd /usr/src</userinput>
+ <screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildworld</userinput></screen>
- </step>
+ </step>
- <step>
- <para>Benutzen Sie den neuen Compiler aus
- <filename>/usr/obj</filename>, um sich vor falschen
- Compiler-Kernel-Kombinationen abzusichern. Dies ist
- notwendig, da sich einige Datenstrukturen geändert haben
- könnten und Programme wie &man.ps.1; und &man.top.1; nur
- mit einem Kernel zusammen arbeiten, der auch zu dem
- entsprechenden Quellcode passt.</para>
+ <step>
+ <para>Benutzen Sie den neuen Compiler aus
+ <filename>/usr/obj</filename>, um sich vor falschen
+ Compiler-Kernel-Kombinationen abzusichern. Dies ist
+ notwendig, da sich einige Datenstrukturen geändert haben
+ könnten und Programme wie &man.ps.1; und &man.top.1; nur
+ mit einem Kernel zusammen arbeiten, der auch zu dem
+ entsprechenden Quellcode passt.</para>
- <screen>&prompt.root; <userinput>make buildkernel</userinput></screen>
- </step>
+ <screen>&prompt.root; <userinput>make buildkernel</userinput></screen>
+ </step>
- <step>
- <para>Installieren Sie den neuen Kernel und die Kernelmodule,
- damit Sie den frisch aktualisierten Kernel starten
- können. Wenn <varname>kern.securelevel</varname> einen
- Wert größer als <literal>1</literal> besitzt
- <emphasis>und</emphasis> der Kernel mit
- <literal>noschg</literal> oder ähnlichen Optionen geschützt
- ist, müssen Sie zuerst in den Single-User-Modus wechseln.
- Andernfalls läuft dieses Kommando problemlos im
- Mehrbenutzermodus. Weitere Informationen über
- <varname>kern.securelevel</varname> finden Sie in
- &man.init.8;. Optionen, die auf Dateien gesetzt werden
- können, werden in &man.chflags.1; detailliert
- erläutert.</para>
+ <step>
+ <para>Installieren Sie den neuen Kernel und die Kernelmodule,
+ damit Sie den frisch aktualisierten Kernel starten
+ können. Wenn <varname>kern.securelevel</varname> einen
+ Wert größer als <literal>1</literal> besitzt
+ <emphasis>und</emphasis> der Kernel mit
+ <literal>noschg</literal> oder ähnlichen Optionen geschützt
+ ist, müssen Sie zuerst in den Single-User-Modus wechseln.
+ Andernfalls läuft dieses Kommando problemlos im
+ Mehrbenutzermodus. Weitere Informationen über
+ <varname>kern.securelevel</varname> finden Sie in
+ &man.init.8;. Optionen, die auf Dateien gesetzt werden
+ können, werden in &man.chflags.1; detailliert
+ erläutert.</para>
- <screen>&prompt.root; <userinput>make installkernel</userinput></screen>
- </step>
+ <screen>&prompt.root; <userinput>make installkernel</userinput></screen>
+ </step>
- <step>
- <para>Starten Sie das System in den Single-User-Modus, damit
- Probleme mit der Aktualisierung von Programmen, die bereits
- gestartet sind, minimiert werden. Ebenso minimiert dieser
- Modus Probleme, die mit der Verwendung des alten
- Basissystems und des neuen Kernels zu tun haben.</para>
-
- <screen>&prompt.root; <userinput>shutdown now</userinput></screen>
-
- <para>Führen Sie folgende Befehle im Single-User-Modus aus,
- wenn das System mit einem
- <acronym>UFS</acronym>-Dateisystem formatiert ist:</para>
+ <step>
+ <para>Starten Sie das System in den Single-User-Modus, damit
+ Probleme mit der Aktualisierung von Programmen, die bereits
+ gestartet sind, minimiert werden. Ebenso minimiert dieser
+ Modus Probleme, die mit der Verwendung des alten
+ Basissystems und des neuen Kernels zu tun haben.</para>
+
+ <screen>&prompt.root; <userinput>shutdown now</userinput></screen>
+
+ <para>Führen Sie folgende Befehle im Single-User-Modus aus,
+ wenn das System mit einem
+ <acronym>UFS</acronym>-Dateisystem formatiert ist:</para>
- <screen>&prompt.root; <userinput>mount -u /</userinput>
+ <screen>&prompt.root; <userinput>mount -u /</userinput>
&prompt.root; <userinput>mount -a -t ufs</userinput>
&prompt.root; <userinput>swapon -a</userinput></screen>
@@ -1512,10 +1532,10 @@ before running "/usr/sbin/freebsd-update
<screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput>
&prompt.root; <userinput>zfs mount -a</userinput></screen>
- </step>
+ </step>
- <step>
- <para>Optional: Wenn eine andere Tastaturbelegung als
+ <step>
+ <para>Optional: Wenn eine andere Tastaturbelegung als
US-Englisch gewünscht wird, kann diese mit &man.kbdmap.1;
angepasst werden:</para>
@@ -1614,6 +1634,11 @@ before running "/usr/sbin/freebsd-update
<para>Der Bauprozess verwendet verschiedene
Konfigurationsdateien.</para>
+ <para>Das <filename>Makefile</filename> in
+ <filename>/usr/src</filename> legt fest, wie die Programme,
+ aus denen &os; besteht, zu bauen sind und in welcher
+ Reihenfolge diese zu bauen sind.</para>
+
<para>Die verfügbaren Optionen für <command>make</command>
werden in &man.make.conf.5; und
<filename>/usr/share/examples/etc/make.conf</filename>
@@ -1646,68 +1671,28 @@ before running "/usr/sbin/freebsd-update
</sect2>
<sect2 xml:id="make-buildworld">
- <title>Übersetzen der Quellen des Basissystems</title>
+ <title>Variablen und Ziele</title>
- <para>Es ist ratsam, die Ausgaben von &man.make.1; in einer
- Datei zu sichern. Wenn etwas schief geht, kann eine Kopie
- der Fehlermeldung zu einer der &os;-Mailinglisten gesendet
- werden.</para>
-
- <para>Dazu können Sie einfach das Kommando &man.script.1;
- benutzen, dem Sie beim Aufruf als Parameter den Dateinamen
- für die Ausgaben mitgeben. Setzen Sie das Kommando
- unmittelbar vor dem Neubau ab und geben Sie
- <userinput>exit</userinput> ein, wenn der Bau abgeschlossen
- ist:</para>
-
- <screen>&prompt.root; <userinput>script /var/tmp/mw.out</userinput>
-Script started, output file is /var/tmp/mw.out
-&prompt.root; <userinput>make TARGET</userinput>
-<emphasis>… Ausgaben des Kommandos …</emphasis>
-&prompt.root; <userinput>exit</userinput>
-Script done, …</screen>
-
- <para>Sichern Sie die Ausgaben <emphasis>nicht</emphasis> in
- <filename>/tmp</filename>, da dieses Verzeichnis beim
- nächsten Reboot aufgeräumt werden kann. Ein geeigneteres
- Verzeichnis ist <filename>/var/tmp</filename>, oder das
- Heimatverzeichnis von <systemitem
- class="username">root</systemitem>.</para>
-
- <para>Wechseln Sie in das Verzeichnis, in dem die Quellen liegen
- (in der Voreinstellung ist das
- <filename>/usr/src</filename>):</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
-
- <indexterm><primary><command>make</command></primary></indexterm>
-
- <para>Benutzen Sie &man.make.1;, um das Basissystem neu zu
- bauen. Dieses Kommando liest Anweisungen aus einem
- <filename>Makefile</filename>, wechles beschreibt, wie die
- Programme, aus denen &os; besteht, zu bauen sind und in
- welcher Reihenfolge diese zu bauen sind.</para>
-
- <para>Ein typischer Aufruf von <command>make</command> sieht wie
- folgt aus:</para>
+ <para>Ein typischer Aufruf von <command>make</command> sieht
+ wie folgt aus:</para>
<screen>&prompt.root; <userinput>make -<replaceable>x</replaceable> -D<replaceable>VARIABLE</replaceable> <replaceable>target</replaceable></userinput></screen>
<para>In diesem Beispiel ist
<option>-<replaceable>x</replaceable></option> eine Option,
- die an &man.make.1; weitergegeben wird. Eine Liste gültiger
+ die an <command>make</command> übergeben wird. Eine Liste gültiger
Optionen finden Sie in &man.make.1;.</para>
- <para>Das Verhalten eines <filename>Makefile</filename>s wird von
- Variablen bestimmt. Mit
- <option>-D<replaceable>VARIABLE</replaceable></option> setzen Sie
- eine Variable. Diese Variablen sind dieselben, die auch in
- <filename>/etc/make.conf</filename> gesetzt werden, dies ist nur
- ein alternativer Weg, Variablen zu setzen.</para>
-
- <para>Um zu verhindern, dass die <quote>profiled</quote>
- Bibliotheken gebaut werden, rufen Sie <command>make</command> wie
- folgt auf:</para>
+ <para>Mit
+ <option>-D<replaceable>VARIABLE</replaceable></option>
+ setzen Sie eine Variable. Das Verhalten der
+ <filename>Makefile</filename> wird von Variablen bestimmt.
+ Diese sind etweder in <filename>/etc/make.conf</filename>
+ eingetragen, oder können an
+ <command>make</command> übergeben werden. Das folgende
+ Beispiel setzt eine Variable, die verhindert, dass die
+ <quote>profiled</quote> Bibliotheken gebaut werden:</para>
+
<screen>&prompt.root; <userinput>make -DNO_PROFILE <replaceable>target</replaceable></userinput></screen>
<para>Dieser Aufruf entspricht dem folgenden Eintrag in
@@ -1715,99 +1700,56 @@ Script done, …</screen>
<programlisting>NO_PROFILE= true # Avoid compiling profiled libraries</programlisting>
- <para>Jedes <filename>Makefile</filename> definiert einige
- <quote>Ziele</quote>, die festlegen, was genau zu tun ist. Mit
- <replaceable>target</replaceable> wählen Sie eins dieser
- Ziele aus.</para>
-
- <para>Einige Ziele im <filename>Makefile</filename> werden
+ <para>Das <quote>Ziel</quote> sagt <command>make</command>
+ was zu tun ist und das <filename>Makefile</filename>
+ definiert die verfügbaren Ziele. Einige Ziele werden
verwendet, um den Bauprozess in eine Reihe von
Einzelschritten zu unterteilen.</para>
- <para>Im Regelfall müssen &man.make.1; keine Parameter
- mitgegeben werden, so dass die Kommandozeile wie folgt
- aussehen wird:</para>
-
- <screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
-
- <para><replaceable>target</replaceable> steht dabei für
- die verschiedenen Ziele. Das erste Ziel sollte immer
- <buildtarget>buildworld</buildtarget> sein.</para>
-
- <para>Mit <buildtarget>buildworld</buildtarget> wird ein
- kompletter Baum unterhalb von <filename>/usr/obj</filename>
- gebaut, der mit <buildtarget>installworld</buildtarget> auf
- dem System installiert werden kann.</para>
-
<para>Über separate Optionen zu verfügen, ist aus mehreren
- Gründen nützlich. Erstens können Sie das System gefahrlos
- auf einem laufenden System bauen, da die Bauprozedur vom
- Rest des Systems isoliert ist. Das System lässt sich im
- Mehrbenutzermodus ohne negative Seiteneffekte bauen. Die
- Installation mit <buildtarget>installworld</buildtarget>
- sollte aber immer noch im Single-User-Modus erfolgen.</para>
-
- <para>Zweitens kann NFS benutzt werden, um mehrere Maschinen
- in einem Netzwerk zu aktualisieren. Um die Maschinen
- <systemitem>A</systemitem>, <systemitem>B</systemitem> und
- <systemitem>C</systemitem> zu aktualisieren, lassen Sie
- <command>make buildworld</command> und
- <command>make installworld</command> auf
- <systemitem>A</systemitem> laufen. Auf den Maschinen
- <systemitem>B</systemitem> und <systemitem>C</systemitem>
- können Sie die Verzeichnisse <filename>/usr/src</filename>
- und <filename>/usr/obj</filename> von
- <systemitem>A</systemitem> einhängen und brauchen dort nur
- noch <command>make installworld</command> auszuführen, um
- die Bauresultate zu installieren.</para>
-
- <para>Obwohl das Ziel <buildtarget>world</buildtarget> noch
- existiert, sollte es wirklich nicht mehr benutzt
- werden.</para>
-
- <para>Benutzen Sie stattdessen:</para>
-
- <screen>&prompt.root; <userinput>make buildworld</userinput></screen>
+ Gründen nützlich. Erstens erlaubt dies einen Bauprozess,
+ der die Komponenten des laufenden Systems nicht
+ beeinträchtigt. Deswegen können Sie
+ <command>buildworld</command> gefahrlos im Mehrbenutzermodus
+ laufen lassen. Die Installation mit
+ <buildtarget>installworld</buildtarget> sollte aber immer
+ noch im Single-User-Modus erfolgen.</para>
+
+ <para>Zweitens kann, wie in <xref linkend="small-lan"/>
+ beschrieben, <acronym>NFS</acronym> benutzt werden, um
+ mehrere Maschinen in einem Netzwerk zu aktualisieren.</para>
<para>Mit <option>-j</option> können Sie
<command>make</command> anweisen, mehrere Prozesse zu
- starten. Besonders effektiv ist das auf
- Mehrprozessor-Systemen. Da aber der Übersetzungsprozess
- hauptsächlich von I/O statt der CPU bestimmt wird, ist diese
- Option auch auf Einprozessor-Systemen nützlich.</para>
+ starten. Da der Übersetzungsprozess
+ hauptsächlich von <acronym>I/O</acronym> statt der
+ <acronym>CPU</acronym> bestimmt wird, ist diese Option für
+ Einprozessor- und Mehrprozessor-Systeme nützlich.</para>
<para>Auf einem typischen Einprozessor-System können Sie den
- folgenden Befehl eingeben:</para>
+ folgenden Befehl eingeben, um bis zu vier Prozesse
+ gleichzeitig laufen zu lassen. Erfahrungsberichte aus den
+ Mailinglisten zeigen, dass dieser Aufruf typischerweise den
+ besten Geschwindigkeitsgewinn bringt:</para>
<screen>&prompt.root; <userinput>make -j4 buildworld</userinput></screen>
- <para>&man.make.1; wird dann bis zu vier Prozesse gleichzeitig
- laufen lassen. Erfahrungsberichte aus den Mailinglisten zeigen,
- dass dieser Aufruf typischerweise den besten
- Geschwindigkeitsgewinn bringt.</para>
-
- <para>Wenn Sie ein Mehrprozessor-System besitzen und SMP im
- Kernel konfiguriert ist, probieren Sie Werte zwischen 6 und
- 10 aus.</para>
+ <para>Wenn Sie ein Mehrprozessor-System besitzen, probieren
+ Sie Werte zwischen <literal>6</literal> und
+ <literal>10</literal> aus.</para>
<indexterm>
<primary>Bau des Basissystems</primary>
<secondary>Laufzeiten</secondary>
</indexterm>
- <para>Die Laufzeit eines Baus wird von vielen Faktoren
- beeinflusst, ein aktuelles System benötigt aber etwa
- zwei Stunden um &os.stable; zu bauen. Der Bau von
- &os.current; dauert etwas länger.</para>
-
<note>
<para>Wenn mit <command>make buildworld</command> Variablen
verwendet werden, müssen dieselben Variablen auch bei
- <command>make installworld</command> angegeben werden. Auf
- die anderen Optionen trifft das nur bedingt zu:
- <option>-j</option> darf mit
- <buildtarget>installworld</buildtarget> nicht benutzt
- werden.</para>
+ <command>make installworld</command> angegeben werden.
+ Allerdings darf <option>-j</option> zusammen mit
+ <buildtarget>installworld</buildtarget>
+ <emphasis>nicht</emphasis> benutzt werden.</para>
<para>Haben Sie zum Bauen die folgende Kommandozeile
verwendet:</para>
More information about the svn-doc-head
mailing list