Date: Sun, 14 Aug 2016 07:22:32 +0000 (UTC) From: Bjoern Heidotting <bhd@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r49277 - head/de_DE.ISO8859-1/books/handbook/cutting-edge Message-ID: <201608140722.u7E7MWaJ085180@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201608140722.u7E7MWaJ085180>