From owner-svn-doc-head@freebsd.org Sun Aug 14 07:22:32 2016 Return-Path: Delivered-To: svn-doc-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC94FBB985D; Sun, 14 Aug 2016 07:22:32 +0000 (UTC) (envelope-from bhd@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BE97E1DA1; Sun, 14 Aug 2016 07:22:32 +0000 (UTC) (envelope-from bhd@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u7E7MWBh085181; Sun, 14 Aug 2016 07:22:32 GMT (envelope-from bhd@FreeBSD.org) Received: (from bhd@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u7E7MWaJ085180; Sun, 14 Aug 2016 07:22:32 GMT (envelope-from bhd@FreeBSD.org) Message-Id: <201608140722.u7E7MWaJ085180@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bhd set sender to bhd@FreeBSD.org using -f From: Bjoern Heidotting Date: Sun, 14 Aug 2016 07:22:32 +0000 (UTC) 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 X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Aug 2016 07:22:33 -0000 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 --> &os; aktualisieren @@ -1427,6 +1427,26 @@ before running "/usr/sbin/freebsd-update Reihenfolge bei der Aktualisierung geführt, die im folgenden Prozess beschrieben wird. + + Es ist ratsam, die Ausgaben von make + in einer Datei zu sichern. Wenn etwas schief geht, kann + eine Kopie der Fehlermeldung zu einer der &os;-Mailinglisten + gesendet werden. + + Dazu können Sie einfach script + benutzen, dem Sie beim Aufruf als Parameter den Dateinamen + für die Ausgaben mitgeben. Sichern Sie die Ausgaben nicht + nach /tmp, da dessen Inhalt beim + nächsten Neustart vielleicht verloren geht. Ein besserer + Platz ist /var/tmp. Setzen Sie dieses + Kommando unmittelbar vor dem Neubau ab und geben Sie + exit ein, wenn der Bau abgeschlossen + ist: + + &prompt.root; script /var/tmp/mw.out +Script started, output file is /var/tmp/mw.out + + Zusammenfassung des Aktualisierungsprozesses @@ -1448,60 +1468,60 @@ before running "/usr/sbin/freebsd-update - Ü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 - /usr/obj abgelegt. + Ü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 + /usr/obj abgelegt. - &prompt.root; cd /usr/src + &prompt.root; cd /usr/src &prompt.root; make buildworld - + - - Benutzen Sie den neuen Compiler aus - /usr/obj, 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. + + Benutzen Sie den neuen Compiler aus + /usr/obj, 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. - &prompt.root; make buildkernel - + &prompt.root; make buildkernel + - - Installieren Sie den neuen Kernel und die Kernelmodule, - damit Sie den frisch aktualisierten Kernel starten - können. Wenn kern.securelevel einen - Wert größer als 1 besitzt - und der Kernel mit - noschg 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 - kern.securelevel finden Sie in - &man.init.8;. Optionen, die auf Dateien gesetzt werden - können, werden in &man.chflags.1; detailliert - erläutert. + + Installieren Sie den neuen Kernel und die Kernelmodule, + damit Sie den frisch aktualisierten Kernel starten + können. Wenn kern.securelevel einen + Wert größer als 1 besitzt + und der Kernel mit + noschg 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 + kern.securelevel finden Sie in + &man.init.8;. Optionen, die auf Dateien gesetzt werden + können, werden in &man.chflags.1; detailliert + erläutert. - &prompt.root; make installkernel - + &prompt.root; make installkernel + - - 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. - - &prompt.root; shutdown now - - Führen Sie folgende Befehle im Single-User-Modus aus, - wenn das System mit einem - UFS-Dateisystem formatiert ist: + + 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. + + &prompt.root; shutdown now + + Führen Sie folgende Befehle im Single-User-Modus aus, + wenn das System mit einem + UFS-Dateisystem formatiert ist: - &prompt.root; mount -u / + &prompt.root; mount -u / &prompt.root; mount -a -t ufs &prompt.root; swapon -a @@ -1512,10 +1532,10 @@ before running "/usr/sbin/freebsd-update &prompt.root; zfs set readonly=off zroot &prompt.root; zfs mount -a - + - - Optional: Wenn eine andere Tastaturbelegung als + + Optional: Wenn eine andere Tastaturbelegung als US-Englisch gewünscht wird, kann diese mit &man.kbdmap.1; angepasst werden: @@ -1614,6 +1634,11 @@ before running "/usr/sbin/freebsd-update Der Bauprozess verwendet verschiedene Konfigurationsdateien. + Das Makefile in + /usr/src legt fest, wie die Programme, + aus denen &os; besteht, zu bauen sind und in welcher + Reihenfolge diese zu bauen sind. + Die verfügbaren Optionen für make werden in &man.make.conf.5; und /usr/share/examples/etc/make.conf @@ -1646,68 +1671,28 @@ before running "/usr/sbin/freebsd-update - Übersetzen der Quellen des Basissystems + Variablen und Ziele - 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. - - 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 - exit ein, wenn der Bau abgeschlossen - ist: - - &prompt.root; script /var/tmp/mw.out -Script started, output file is /var/tmp/mw.out -&prompt.root; make TARGET -… Ausgaben des Kommandos … -&prompt.root; exit -Script done, … - - Sichern Sie die Ausgaben nicht in - /tmp, da dieses Verzeichnis beim - nächsten Reboot aufgeräumt werden kann. Ein geeigneteres - Verzeichnis ist /var/tmp, oder das - Heimatverzeichnis von root. - - Wechseln Sie in das Verzeichnis, in dem die Quellen liegen - (in der Voreinstellung ist das - /usr/src): - - &prompt.root; cd /usr/src - - make - - Benutzen Sie &man.make.1;, um das Basissystem neu zu - bauen. Dieses Kommando liest Anweisungen aus einem - Makefile, wechles beschreibt, wie die - Programme, aus denen &os; besteht, zu bauen sind und in - welcher Reihenfolge diese zu bauen sind. - - Ein typischer Aufruf von make sieht wie - folgt aus: + Ein typischer Aufruf von make sieht + wie folgt aus: &prompt.root; make -x -DVARIABLE target In diesem Beispiel ist eine Option, - die an &man.make.1; weitergegeben wird. Eine Liste gültiger + die an make übergeben wird. Eine Liste gültiger Optionen finden Sie in &man.make.1;. - Das Verhalten eines Makefiles wird von - Variablen bestimmt. Mit - setzen Sie - eine Variable. Diese Variablen sind dieselben, die auch in - /etc/make.conf gesetzt werden, dies ist nur - ein alternativer Weg, Variablen zu setzen. - - Um zu verhindern, dass die profiled - Bibliotheken gebaut werden, rufen Sie make wie - folgt auf: + Mit + + setzen Sie eine Variable. Das Verhalten der + Makefile wird von Variablen bestimmt. + Diese sind etweder in /etc/make.conf + eingetragen, oder können an + make übergeben werden. Das folgende + Beispiel setzt eine Variable, die verhindert, dass die + profiled Bibliotheken gebaut werden: + &prompt.root; make -DNO_PROFILE target Dieser Aufruf entspricht dem folgenden Eintrag in @@ -1715,99 +1700,56 @@ Script done, … NO_PROFILE= true # Avoid compiling profiled libraries - Jedes Makefile definiert einige - Ziele, die festlegen, was genau zu tun ist. Mit - target wählen Sie eins dieser - Ziele aus. - - Einige Ziele im Makefile werden + Das Ziel sagt make + was zu tun ist und das Makefile + definiert die verfügbaren Ziele. Einige Ziele werden verwendet, um den Bauprozess in eine Reihe von Einzelschritten zu unterteilen. - Im Regelfall müssen &man.make.1; keine Parameter - mitgegeben werden, so dass die Kommandozeile wie folgt - aussehen wird: - - &prompt.root; make target - - target steht dabei für - die verschiedenen Ziele. Das erste Ziel sollte immer - buildworld sein. - - Mit buildworld wird ein - kompletter Baum unterhalb von /usr/obj - gebaut, der mit installworld auf - dem System installiert werden kann. - Ü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 installworld - sollte aber immer noch im Single-User-Modus erfolgen. - - Zweitens kann NFS benutzt werden, um mehrere Maschinen - in einem Netzwerk zu aktualisieren. Um die Maschinen - A, B und - C zu aktualisieren, lassen Sie - make buildworld und - make installworld auf - A laufen. Auf den Maschinen - B und C - können Sie die Verzeichnisse /usr/src - und /usr/obj von - A einhängen und brauchen dort nur - noch make installworld auszuführen, um - die Bauresultate zu installieren. - - Obwohl das Ziel world noch - existiert, sollte es wirklich nicht mehr benutzt - werden. - - Benutzen Sie stattdessen: - - &prompt.root; make buildworld + Gründen nützlich. Erstens erlaubt dies einen Bauprozess, + der die Komponenten des laufenden Systems nicht + beeinträchtigt. Deswegen können Sie + buildworld gefahrlos im Mehrbenutzermodus + laufen lassen. Die Installation mit + installworld sollte aber immer + noch im Single-User-Modus erfolgen. + + Zweitens kann, wie in + beschrieben, NFS benutzt werden, um + mehrere Maschinen in einem Netzwerk zu aktualisieren. Mit können Sie make 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. + starten. Da der Übersetzungsprozess + hauptsächlich von I/O statt der + CPU bestimmt wird, ist diese Option für + Einprozessor- und Mehrprozessor-Systeme nützlich. Auf einem typischen Einprozessor-System können Sie den - folgenden Befehl eingeben: + 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: &prompt.root; make -j4 buildworld - &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. - - Wenn Sie ein Mehrprozessor-System besitzen und SMP im - Kernel konfiguriert ist, probieren Sie Werte zwischen 6 und - 10 aus. + Wenn Sie ein Mehrprozessor-System besitzen, probieren + Sie Werte zwischen 6 und + 10 aus. Bau des Basissystems Laufzeiten - 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. - Wenn mit make buildworld Variablen verwendet werden, müssen dieselben Variablen auch bei - make installworld angegeben werden. Auf - die anderen Optionen trifft das nur bedingt zu: - darf mit - installworld nicht benutzt - werden. + make installworld angegeben werden. + Allerdings darf zusammen mit + installworld + nicht benutzt werden. Haben Sie zum Bauen die folgende Kommandozeile verwendet: